Plugin Directory

Changeset 3469925


Ignore:
Timestamp:
02/26/2026 06:23:34 AM (5 weeks ago)
Author:
htplugins
Message:

Update to version 2.4.8 from GitHub

Location:
whols
Files:
6 edited
1 copied

Legend:

Unmodified
Added
Removed
  • whols/tags/2.4.8/build/vue-settings/main.js

    r3369403 r3469925  
    4040`:`;
    4141`)+G+`return __p
    42 }`;var Ve=$c(function(){return Be(g,ue+"return "+G).apply(r,S)});if(Ve.source=G,ai(Ve))throw Ve;return Ve}function V1(e){return qe(e).toLowerCase()}function R1(e){return qe(e).toUpperCase()}function A1(e,t,l){if(e=qe(e),e&&(l||t===r))return Hs(e);if(!e||!(t=Lt(t)))return e;var i=nn(e),p=nn(t),g=Gs(i,p),S=zs(i,p)+1;return Wn(i,g,S).join("")}function O1(e,t,l){if(e=qe(e),e&&(l||t===r))return e.slice(0,Ks(e)+1);if(!e||!(t=Lt(t)))return e;var i=nn(e),p=zs(i,nn(t))+1;return Wn(i,0,p).join("")}function P1(e,t,l){if(e=qe(e),e&&(l||t===r))return e.replace(aa,"");if(!e||!(t=Lt(t)))return e;var i=nn(e),p=Gs(i,nn(t));return Wn(i,p).join("")}function T1(e,t){var l=Z,i=Le;if(nt(t)){var p="separator"in t?t.separator:p;l="length"in t?Ee(t.length):l,i="omission"in t?Lt(t.omission):i}e=qe(e);var g=e.length;if(vr(e)){var S=nn(e);g=S.length}if(l>=g)return e;var A=l-wr(i);if(A<1)return i;var k=S?Wn(S,0,A).join(""):e.slice(0,A);if(p===r)return k+i;if(S&&(A+=k.length-A),ii(p)){if(e.slice(A).search(p)){var F,B=k;for(p.global||(p=xa(p.source,qe(fs.exec(p))+"g")),p.lastIndex=0;F=p.exec(B);)var G=F.index;k=k.slice(0,G===r?A:G)}}else if(e.indexOf(Lt(p),A)!=A){var ne=k.lastIndexOf(p);ne>-1&&(k=k.slice(0,ne))}return k+i}function k1(e){return e=qe(e),e&&qf.test(e)?e.replace(us,ip):e}var D1=Vr(function(e,t,l){return e+(l?" ":"")+t.toUpperCase()}),ci=Lu("toUpperCase");function Ic(e,t,l){return e=qe(e),t=l?r:t,t===r?np(e)?cp(e):Yh(e):e.match(t)||[]}var $c=Oe(function(e,t){try{return It(e,r,t)}catch(l){return ai(l)?l:new we(l)}}),I1=Cn(function(e,t){return Ht(t,function(l){l=mn(l),Sn(e,l,oi(e[l],e))}),e});function $1(e){var t=e==null?0:e.length,l=de();return e=t?Je(e,function(i){if(typeof i[1]!="function")throw new Gt(d);return[l(i[0]),i[1]]}):[],Oe(function(i){for(var p=-1;++p<t;){var g=e[p];if(It(g[0],this,i))return It(g[1],this,i)}})}function L1(e){return im(Yt(e,w))}function di(e){return function(){return e}}function M1(e,t){return e==null||e!==e?t:e}var U1=Uu(),N1=Uu(!0);function Ot(e){return e}function fi(e){return pu(typeof e=="function"?e:Yt(e,w))}function F1(e){return _u(Yt(e,w))}function B1(e,t){return gu(e,Yt(t,w))}var W1=Oe(function(e,t){return function(l){return so(l,e,t)}}),q1=Oe(function(e,t){return function(l){return so(e,l,t)}});function hi(e,t,l){var i=pt(t),p=al(t,i);l==null&&!(nt(t)&&(p.length||!i.length))&&(l=t,t=e,e=this,p=al(t,pt(t)));var g=!(nt(l)&&"chain"in l)||!!l.chain,S=Vn(e);return Ht(p,function(A){var k=t[A];e[A]=k,S&&(e.prototype[A]=function(){var F=this.__chain__;if(g||F){var B=e(this.__wrapped__),G=B.__actions__=Vt(this.__actions__);return G.push({func:k,args:arguments,thisArg:e}),B.__chain__=F,B}return k.apply(e,Ln([this.value()],arguments))})}),e}function H1(){return mt._===this&&(mt._=_p),this}function pi(){}function G1(e){return e=Ee(e),Oe(function(t){return vu(t,e)})}var z1=Ga(Je),Y1=Ga(Ns),K1=Ga(_a);function Lc(e){return Qa(e)?ga(mn(e)):Cm(e)}function j1(e){return function(t){return e==null?r:or(e,t)}}var X1=Fu(),Z1=Fu(!0);function mi(){return[]}function _i(){return!1}function Q1(){return{}}function J1(){return""}function ew(){return!0}function tw(e,t){if(e=Ee(e),e<1||e>vt)return[];var l=Dt,i=wt(e,Dt);t=de(t),e-=Dt;for(var p=ya(i,t);++l<e;)t(l);return p}function nw(e){return Se(e)?Je(e,mn):Mt(e)?[e]:Vt(nc(qe(e)))}function rw(e){var t=++pp;return qe(e)+t}var ow=fl(function(e,t){return e+t},0),lw=za("ceil"),aw=fl(function(e,t){return e/t},1),iw=za("floor");function sw(e){return e&&e.length?ll(e,Ot,Ta):r}function uw(e,t){return e&&e.length?ll(e,de(t,2),Ta):r}function cw(e){return Ws(e,Ot)}function dw(e,t){return Ws(e,de(t,2))}function fw(e){return e&&e.length?ll(e,Ot,$a):r}function hw(e,t){return e&&e.length?ll(e,de(t,2),$a):r}var pw=fl(function(e,t){return e*t},1),mw=za("round"),_w=fl(function(e,t){return e-t},0);function gw(e){return e&&e.length?wa(e,Ot):0}function vw(e,t){return e&&e.length?wa(e,de(t,2)):0}return _.after=Fg,_.ary=hc,_.assign=Rv,_.assignIn=Rc,_.assignInWith=El,_.assignWith=Av,_.at=Ov,_.before=pc,_.bind=oi,_.bindAll=I1,_.bindKey=mc,_.castArray=Qg,_.chain=cc,_.chunk=i_,_.compact=s_,_.concat=u_,_.cond=$1,_.conforms=L1,_.constant=di,_.countBy=gg,_.create=Pv,_.curry=_c,_.curryRight=gc,_.debounce=vc,_.defaults=Tv,_.defaultsDeep=kv,_.defer=Bg,_.delay=Wg,_.difference=c_,_.differenceBy=d_,_.differenceWith=f_,_.drop=h_,_.dropRight=p_,_.dropRightWhile=m_,_.dropWhile=__,_.fill=g_,_.filter=wg,_.flatMap=Sg,_.flatMapDeep=xg,_.flatMapDepth=Cg,_.flatten=ac,_.flattenDeep=v_,_.flattenDepth=w_,_.flip=qg,_.flow=U1,_.flowRight=N1,_.fromPairs=y_,_.functions=Nv,_.functionsIn=Fv,_.groupBy=Eg,_.initial=S_,_.intersection=x_,_.intersectionBy=C_,_.intersectionWith=E_,_.invert=Wv,_.invertBy=qv,_.invokeMap=Rg,_.iteratee=fi,_.keyBy=Ag,_.keys=pt,_.keysIn=At,_.map=wl,_.mapKeys=Gv,_.mapValues=zv,_.matches=F1,_.matchesProperty=B1,_.memoize=bl,_.merge=Yv,_.mergeWith=Ac,_.method=W1,_.methodOf=q1,_.mixin=hi,_.negate=Sl,_.nthArg=G1,_.omit=Kv,_.omitBy=jv,_.once=Hg,_.orderBy=Og,_.over=z1,_.overArgs=Gg,_.overEvery=Y1,_.overSome=K1,_.partial=li,_.partialRight=wc,_.partition=Pg,_.pick=Xv,_.pickBy=Oc,_.property=Lc,_.propertyOf=j1,_.pull=O_,_.pullAll=sc,_.pullAllBy=P_,_.pullAllWith=T_,_.pullAt=k_,_.range=X1,_.rangeRight=Z1,_.rearg=zg,_.reject=Dg,_.remove=D_,_.rest=Yg,_.reverse=ni,_.sampleSize=$g,_.set=Qv,_.setWith=Jv,_.shuffle=Lg,_.slice=I_,_.sortBy=Ng,_.sortedUniq=B_,_.sortedUniqBy=W_,_.split=S1,_.spread=Kg,_.tail=q_,_.take=H_,_.takeRight=G_,_.takeRightWhile=z_,_.takeWhile=Y_,_.tap=sg,_.throttle=jg,_.thru=vl,_.toArray=Cc,_.toPairs=Pc,_.toPairsIn=Tc,_.toPath=nw,_.toPlainObject=Vc,_.transform=e1,_.unary=Xg,_.union=K_,_.unionBy=j_,_.unionWith=X_,_.uniq=Z_,_.uniqBy=Q_,_.uniqWith=J_,_.unset=t1,_.unzip=ri,_.unzipWith=uc,_.update=n1,_.updateWith=r1,_.values=Or,_.valuesIn=o1,_.without=eg,_.words=Ic,_.wrap=Zg,_.xor=tg,_.xorBy=ng,_.xorWith=rg,_.zip=og,_.zipObject=lg,_.zipObjectDeep=ag,_.zipWith=ig,_.entries=Pc,_.entriesIn=Tc,_.extend=Rc,_.extendWith=El,hi(_,_),_.add=ow,_.attempt=$c,_.camelCase=s1,_.capitalize=kc,_.ceil=lw,_.clamp=l1,_.clone=Jg,_.cloneDeep=tv,_.cloneDeepWith=nv,_.cloneWith=ev,_.conformsTo=rv,_.deburr=Dc,_.defaultTo=M1,_.divide=aw,_.endsWith=u1,_.eq=on,_.escape=c1,_.escapeRegExp=d1,_.every=vg,_.find=yg,_.findIndex=oc,_.findKey=Dv,_.findLast=bg,_.findLastIndex=lc,_.findLastKey=Iv,_.floor=iw,_.forEach=dc,_.forEachRight=fc,_.forIn=$v,_.forInRight=Lv,_.forOwn=Mv,_.forOwnRight=Uv,_.get=si,_.gt=ov,_.gte=lv,_.has=Bv,_.hasIn=ui,_.head=ic,_.identity=Ot,_.includes=Vg,_.indexOf=b_,_.inRange=a1,_.invoke=Hv,_.isArguments=ir,_.isArray=Se,_.isArrayBuffer=av,_.isArrayLike=Rt,_.isArrayLikeObject=at,_.isBoolean=iv,_.isBuffer=qn,_.isDate=sv,_.isElement=uv,_.isEmpty=cv,_.isEqual=dv,_.isEqualWith=fv,_.isError=ai,_.isFinite=hv,_.isFunction=Vn,_.isInteger=yc,_.isLength=xl,_.isMap=bc,_.isMatch=pv,_.isMatchWith=mv,_.isNaN=_v,_.isNative=gv,_.isNil=wv,_.isNull=vv,_.isNumber=Sc,_.isObject=nt,_.isObjectLike=ot,_.isPlainObject=mo,_.isRegExp=ii,_.isSafeInteger=yv,_.isSet=xc,_.isString=Cl,_.isSymbol=Mt,_.isTypedArray=Ar,_.isUndefined=bv,_.isWeakMap=Sv,_.isWeakSet=xv,_.join=V_,_.kebabCase=f1,_.last=jt,_.lastIndexOf=R_,_.lowerCase=h1,_.lowerFirst=p1,_.lt=Cv,_.lte=Ev,_.max=sw,_.maxBy=uw,_.mean=cw,_.meanBy=dw,_.min=fw,_.minBy=hw,_.stubArray=mi,_.stubFalse=_i,_.stubObject=Q1,_.stubString=J1,_.stubTrue=ew,_.multiply=pw,_.nth=A_,_.noConflict=H1,_.noop=pi,_.now=yl,_.pad=m1,_.padEnd=_1,_.padStart=g1,_.parseInt=v1,_.random=i1,_.reduce=Tg,_.reduceRight=kg,_.repeat=w1,_.replace=y1,_.result=Zv,_.round=mw,_.runInContext=T,_.sample=Ig,_.size=Mg,_.snakeCase=b1,_.some=Ug,_.sortedIndex=$_,_.sortedIndexBy=L_,_.sortedIndexOf=M_,_.sortedLastIndex=U_,_.sortedLastIndexBy=N_,_.sortedLastIndexOf=F_,_.startCase=x1,_.startsWith=C1,_.subtract=_w,_.sum=gw,_.sumBy=vw,_.template=E1,_.times=tw,_.toFinite=Rn,_.toInteger=Ee,_.toLength=Ec,_.toLower=V1,_.toNumber=Xt,_.toSafeInteger=Vv,_.toString=qe,_.toUpper=R1,_.trim=A1,_.trimEnd=O1,_.trimStart=P1,_.truncate=T1,_.unescape=k1,_.uniqueId=rw,_.upperCase=D1,_.upperFirst=ci,_.each=dc,_.eachRight=fc,_.first=ic,hi(_,function(){var e={};return hn(_,function(t,l){Ge.call(_.prototype,l)||(e[l]=t)}),e}(),{chain:!1}),_.VERSION=a,Ht(["bind","bindKey","curry","curryRight","partial","partialRight"],function(e){_[e].placeholder=_}),Ht(["drop","take"],function(e,t){Ie.prototype[e]=function(l){l=l===r?1:ft(Ee(l),0);var i=this.__filtered__&&!t?new Ie(this):this.clone();return i.__filtered__?i.__takeCount__=wt(l,i.__takeCount__):i.__views__.push({size:wt(l,Dt),type:e+(i.__dir__<0?"Right":"")}),i},Ie.prototype[e+"Right"]=function(l){return this.reverse()[e](l).reverse()}}),Ht(["filter","map","takeWhile"],function(e,t){var l=t+1,i=l==ve||l==Ae;Ie.prototype[e]=function(p){var g=this.clone();return g.__iteratees__.push({iteratee:de(p,3),type:l}),g.__filtered__=g.__filtered__||i,g}}),Ht(["head","last"],function(e,t){var l="take"+(t?"Right":"");Ie.prototype[e]=function(){return this[l](1).value()[0]}}),Ht(["initial","tail"],function(e,t){var l="drop"+(t?"":"Right");Ie.prototype[e]=function(){return this.__filtered__?new Ie(this):this[l](1)}}),Ie.prototype.compact=function(){return this.filter(Ot)},Ie.prototype.find=function(e){return this.filter(e).head()},Ie.prototype.findLast=function(e){return this.reverse().find(e)},Ie.prototype.invokeMap=Oe(function(e,t){return typeof e=="function"?new Ie(this):this.map(function(l){return so(l,e,t)})}),Ie.prototype.reject=function(e){return this.filter(Sl(de(e)))},Ie.prototype.slice=function(e,t){e=Ee(e);var l=this;return l.__filtered__&&(e>0||t<0)?new Ie(l):(e<0?l=l.takeRight(-e):e&&(l=l.drop(e)),t!==r&&(t=Ee(t),l=t<0?l.dropRight(-t):l.take(t-e)),l)},Ie.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Ie.prototype.toArray=function(){return this.take(Dt)},hn(Ie.prototype,function(e,t){var l=/^(?:filter|find|map|reject)|While$/.test(t),i=/^(?:head|last)$/.test(t),p=_[i?"take"+(t=="last"?"Right":""):t],g=i||/^find/.test(t);p&&(_.prototype[t]=function(){var S=this.__wrapped__,A=i?[1]:arguments,k=S instanceof Ie,F=A[0],B=k||Se(S),G=function(De){var $e=p.apply(_,Ln([De],A));return i&&ne?$e[0]:$e};B&&l&&typeof F=="function"&&F.length!=1&&(k=B=!1);var ne=this.__chain__,ue=!!this.__actions__.length,he=g&&!ne,Ve=k&&!ue;if(!g&&B){S=Ve?S:new Ie(this);var pe=e.apply(S,A);return pe.__actions__.push({func:vl,args:[G],thisArg:r}),new zt(pe,ne)}return he&&Ve?e.apply(this,A):(pe=this.thru(G),he?i?pe.value()[0]:pe.value():pe)})}),Ht(["pop","push","shift","sort","splice","unshift"],function(e){var t=Ho[e],l=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",i=/^(?:pop|shift)$/.test(e);_.prototype[e]=function(){var p=arguments;if(i&&!this.__chain__){var g=this.value();return t.apply(Se(g)?g:[],p)}return this[l](function(S){return t.apply(Se(S)?S:[],p)})}}),hn(Ie.prototype,function(e,t){var l=_[t];if(l){var i=l.name+"";Ge.call(xr,i)||(xr[i]=[]),xr[i].push({name:t,func:l})}}),xr[dl(r,D).name]=[{name:"wrapper",func:r}],Ie.prototype.clone=kp,Ie.prototype.reverse=Dp,Ie.prototype.value=Ip,_.prototype.at=ug,_.prototype.chain=cg,_.prototype.commit=dg,_.prototype.next=fg,_.prototype.plant=pg,_.prototype.reverse=mg,_.prototype.toJSON=_.prototype.valueOf=_.prototype.value=_g,_.prototype.first=_.prototype.head,to&&(_.prototype[to]=hg),_},yr=dp();Jn?((Jn.exports=yr)._=yr,fa._=yr):mt._=yr}).call(_o)})(Hl,Hl.exports);var Qx=Hl.exports;const Jx=`${wholsSettings.apiBaseURL}whols/v1`,eC=()=>{var n;return{"Content-Type":"application/json","X-WP-Nonce":(n=window.wholsSettings)==null?void 0:n.nonce}},Jt=async(n,o={})=>{try{const r=await fetch(`${Jx}${n}`,{...o,headers:{...eC(),...o.headers}});if(!r.ok)throw new Error(`API request failed: ${r.statusText}`);return await r.json()}catch(r){throw console.error("API request error:",r),r}},tC={getSettings:()=>Jt("/settings"),updateSettings:n=>Jt("/settings",{method:"POST",body:JSON.stringify(n)}),resetSection:n=>Jt("/reset-section",{method:"POST",body:JSON.stringify({fields:n})})},nC={getRoles:()=>Jt("/wholesaler-roles")},rC={getPages:()=>Jt("/pages")},oC={getProducts:()=>Jt("/products"),getCategories:()=>Jt("/product-categories")},lC={getUsers:()=>Jt("/users")},aC={getCountries:()=>Jt("/countries")},iC={getPaymentGateways:()=>Jt("/payment-gateways")},LE={updateOption:(n,o)=>Jt("/wp_option",{method:"POST",body:JSON.stringify({option_name:n,value:o})})},sC={getDashboardData:(n=null,o=!1)=>{const r=new URLSearchParams;n&&n.length===2&&(r.append("date_from",Id(n[0])),r.append("date_to",Id(n[1]))),o&&r.append("force_refresh","1");let a="/dashboard-data";return r.toString()&&(a=`${a}?${r.toString()}`),Jt(a)}},Id=n=>n?(typeof n=="string"?new Date(n):n).toISOString().split("T")[0]:"",sn={settings:tC,roles:nC,pages:rC,products:oC,users:lC,countries:aC,paymentGateways:iC,dashboard:sC};function uC(){const n=xe(!1),o=xe(null),r=xe({}),a=xe({}),s=xe([]),u=xe([]),d=xe({timeSeriesData:[],totalRevenue:0,totalOrders:0}),m=xe([]),c="whols_performance_overview_cache",f=60*60*1e3,h=2,w=O=>{let I="all_time";if(O&&O.length===2&&O[0]&&O[1])try{const H=new Date(O[0]),K=new Date(O[1]),re=ee=>ee.getFullYear()+"-"+String(ee.getMonth()+1).padStart(2,"0")+"-"+String(ee.getDate()).padStart(2,"0");I=`${re(H)}_${re(K)}`}catch(H){console.warn("Error formatting dates for cache key:",H),I="all_time"}return`${c}_${I}`},x=(O,I)=>{try{const H={data:I,timestamp:Date.now()};localStorage.setItem(O,JSON.stringify(H))}catch(H){console.warn("Failed to cache dashboard data:",H)}},y=O=>{try{const I=localStorage.getItem(O);if(!I)return null;const{data:H,timestamp:K}=JSON.parse(I);return Date.now()-K>f?(localStorage.removeItem(O),null):H}catch(I){return console.warn("Failed to retrieve cached dashboard data:",I),null}},C=()=>{try{const I=Object.keys(localStorage).filter(re=>re.startsWith(c));if(I.length===0)return;const H=[],K=Date.now();if(I.forEach(re=>{try{const ee=localStorage.getItem(re);if(!ee)return;const{timestamp:oe}=JSON.parse(ee);K-oe>f?(localStorage.removeItem(re),console.log(`Removed expired cache: ${re}`)):H.push({key:re,timestamp:oe})}catch{localStorage.removeItem(re)}}),H.length>h){H.sort((ee,oe)=>oe.timestamp-ee.timestamp);const re=H.slice(h);re.forEach(ee=>{localStorage.removeItem(ee.key),console.log(`Removed excess cache: ${ee.key}`)}),console.log(`Removed ${re.length} excess cache entries`)}}catch(O){console.warn("Error during cache cleanup:",O)}},V=O=>{r.value=O.metrics||{},s.value=O.topProducts||[],u.value=O.topCategories||[],d.value=O.chartData||{timeSeriesData:[],totalRevenue:0,totalOrders:0},a.value=O.actionItems||{},m.value=O.proFeatures||[]},L=async(O=null,I=!1)=>{var H,K;n.value=!0,o.value=null;try{C();const re=w(O);if(((K=(H=window.wholsSettings)==null?void 0:H.globalSettings)==null?void 0:K.show_wholesale_price_for)==="administrator"&&(I=!0),!I){const oe=y(re);if(oe){console.log("Using cached dashboard data"),V(oe),n.value=!1;return}}const ee=await sn.dashboard.getDashboardData(O,I);V(ee),x(re,ee),console.log("Dashboard data loaded successfully from API")}catch(re){console.error("Error loading dashboard data:",re),o.value=re.message||"Failed to load dashboard data"}finally{n.value=!1}},D=z(()=>{const{totalRevenue:O,totalOrders:I}=d.value;return I?Math.round(O/I*100)/100:0});return{isLoading:n,error:o,metrics:r,actionItems:a,topProducts:s,topCategories:u,chartData:d,proFeatures:m,averageOrderValue:D,fetchDashboardData:L,cleanupCache:C}}function cC(){const n=xe(!1),o=xe("last30days"),r=xe([]),a=xe([]),s=xe("last30days"),u=z(()=>{if(r.value&&r.value.length===2){const C=new Date(r.value[0]),V=new Date(r.value[1]);return`${C.toLocaleDateString()} - ${V.toLocaleDateString()}`}return"Select date range"}),d=z(()=>{switch(o.value){case"today":return"Today";case"yesterday":return"Yesterday";case"last7days":return"Last 7 days";case"last30days":return"Last 30 days";case"last90days":return"Last 90 days";case"last365days":return"Last 365 days";case"lastMonth":return"Last month";case"last12months":return"Last 12 months";case"lastYear":return"Last year";case"custom":return"Custom Range";default:return"Custom Range"}}),m=C=>{if(!C||!C.length||!C[0]||!C[1])return"All time";try{const V=new Date(C[0]),L=new Date(C[1]),D={month:"short",day:"numeric"};return`${V.toLocaleDateString("en-US",D)} - ${L.toLocaleDateString("en-US",D)}`}catch(V){return console.error("Error formatting date range:",V),"All time"}},c=C=>C>new Date,f=C=>{o.value=C;const V=new Date;let L=new Date(V),D;switch(C){case"today":D=new Date(V);break;case"yesterday":D=new Date(V),D.setDate(V.getDate()-1),L.setDate(V.getDate()-1);break;case"last7days":D=new Date(V),D.setDate(V.getDate()-6);break;case"last30days":D=new Date(V),D.setDate(V.getDate()-29);break;case"last90days":D=new Date(V),D.setDate(V.getDate()-89);break;case"last365days":D=new Date(V),D.setDate(V.getDate()-364);break;case"lastMonth":D=new Date(V.getFullYear(),V.getMonth()-1,1),L=new Date(V.getFullYear(),V.getMonth(),0);break;case"last12months":D=new Date(V),D.setMonth(V.getMonth()-11),D.setDate(1),L.setDate(V.getDate());break;case"lastYear":D=new Date(V.getFullYear()-1,0,1),L=new Date(V.getFullYear()-1,11,31);break;default:D=new Date(V),D.setDate(V.getDate()-29)}r.value=[D,L]},h=()=>{a.value=[...r.value],s.value=o.value,n.value=!0},w=()=>{r.value=[...a.value],o.value=s.value,n.value=!1},x=()=>{n.value=!1,a.value=[...r.value],s.value=o.value},y=(C,V)=>{C=new Date(C),V=new Date(V),C.setHours(0,0,0,0),V.setHours(0,0,0,0);const L=new Date;if(L.setHours(0,0,0,0),C.getTime()===L.getTime()&&V.getTime()===L.getTime())return o.value="today",!0;const D=new Date(L);if(D.setDate(L.getDate()-1),C.getTime()===D.getTime()&&V.getTime()===D.getTime())return o.value="yesterday",!0;const O=new Date(L);if(O.setDate(L.getDate()-6),C.getTime()===O.getTime()&&V.getTime()===L.getTime())return o.value="last7days",!0;const I=new Date(L);if(I.setDate(L.getDate()-29),C.getTime()===I.getTime()&&V.getTime()===L.getTime())return o.value="last30days",!0;const H=new Date(L);if(H.setDate(L.getDate()-89),C.getTime()===H.getTime()&&V.getTime()===L.getTime())return o.value="last90days",!0;const K=new Date(L);if(K.setDate(L.getDate()-364),C.getTime()===K.getTime()&&V.getTime()===L.getTime())return o.value="last365days",!0;const re=new Date(L.getFullYear(),L.getMonth()-1,1),ee=new Date(L.getFullYear(),L.getMonth(),0);if(C.getTime()===re.getTime()&&V.getTime()===ee.getTime())return o.value="lastMonth",!0;const oe=new Date(L);if(oe.setMonth(L.getMonth()-11),oe.setDate(1),C.getTime()===oe.getTime()&&V.getTime()===L.getTime())return o.value="last12months",!0;const ie=new Date(L.getFullYear()-1,0,1),Z=new Date(L.getFullYear()-1,11,31);return C.getTime()===ie.getTime()&&V.getTime()===Z.getTime()?(o.value="lastYear",!0):!1};return f("last30days"),{dateRange:r,datePreset:o,datePopoverVisible:n,selectedDateRangeText:u,datePresetName:d,selectPreset:f,openDatePopover:h,cancelDateSelection:w,applyDateFilter:x,checkIfDateRangeMatchesPreset:y,formatDateRangeLabel:m,disableFutureDates:c}}function dC(){const n=xe({revenue:null,orders:null,aov:null}),o={revenue:xe(null),orders:xe(null),aov:xe(null)},r=h=>new Intl.NumberFormat("en-US").format(Math.round(h*100)/100),a=(h,w,x,y,C=!1)=>({type:"line",data:{labels:h,datasets:[{label:y,data:w,borderColor:x,backgroundColor:x+"15",borderWidth:2.5,pointBackgroundColor:"#ffffff",pointBorderColor:x,pointBorderWidth:2,pointRadius:3,pointHoverRadius:5,fill:!0,tension:.4}]},options:{responsive:!0,maintainAspectRatio:!1,animation:{duration:1e3,easing:"easeOutQuart"},plugins:{legend:{display:!1},tooltip:{mode:"index",intersect:!1,callbacks:{label:function(V){let L=V.dataset.label||"";return L&&(L+=": "),V.parsed.y!==null&&(C?L+="$"+r(V.parsed.y):L+=V.parsed.y),L}}}},scales:{x:{grid:{display:!1},ticks:{maxRotation:0,font:{size:10}}},y:{beginAtZero:!0,grid:{color:"#f5f7fa",borderDash:[3,3]},ticks:{callback:function(V){return C?"$"+r(V):V},font:{size:10}}}}}}),s=h=>!h||!h.length?[]:h.map(w=>{const x=new Date(w.date);return`${x.getMonth()+1}/${x.getDate()}`}),u=h=>{var V;if(!o.revenue.value||!window.Chart)return;const w=o.revenue.value.getContext("2d"),x=s(h.timeSeriesData),y=((V=h.timeSeriesData)==null?void 0:V.map(L=>L.revenue))||[],C=a(x,y,"#67C23A","Revenue ($)",!0);n.value.revenue&&n.value.revenue.destroy(),n.value.revenue=new window.Chart(w,C)},d=h=>{var V;if(!o.orders.value||!window.Chart)return;const w=o.orders.value.getContext("2d"),x=s(h.timeSeriesData),y=((V=h.timeSeriesData)==null?void 0:V.map(L=>L.orders))||[],C=a(x,y,"#409EFF","Orders",!1);n.value.orders&&n.value.orders.destroy(),n.value.orders=new window.Chart(w,C)},m=h=>{var V;if(!o.aov.value||!window.Chart)return;const w=o.aov.value.getContext("2d"),x=s(h.timeSeriesData),y=((V=h.timeSeriesData)==null?void 0:V.map(L=>L.aov))||[],C=a(x,y,"#E6A23C","Average Order Value ($)",!0);n.value.aov&&n.value.aov.destroy(),n.value.aov=new window.Chart(w,C)},c=h=>{u(h),d(h),m(h)},f=()=>new Promise((h,w)=>{if(window.Chart){h(window.Chart);return}const x=document.createElement("script");x.src="https://cdn.jsdelivr.net/npm/chart.js",x.onload=()=>h(window.Chart),x.onerror=()=>w(new Error("Failed to load Chart.js")),document.head.appendChild(x)});return Ud(()=>{Object.values(n.value).forEach(h=>{h&&h.destroy()})}),{chartRefs:o,renderCharts:c,loadChartLibrary:f,formatNumber:r}}const fC={class:"whols-action-items__content"},hC={class:"whols-action-items__item whols-action-items__item--registration"},pC={class:"whols-action-items__details"},mC={class:"whols-action-items__number"},_C={class:"whols-action-items__item whols-action-items__item--order"},gC={class:"whols-action-items__details"},vC={class:"whols-action-items__number"},wC={class:"whols-action-items__item whols-action-items__item--conversation"},yC={class:"whols-action-items__details"},bC={class:"whols-action-items__number"},SC={__name:"ActionItems",props:{actionItems:{type:Object,default:()=>({pendingRegistrations:0,conversationsNeedingReply:0,pendingOrders:0})}},setup(n){const o=tt(),r=z(()=>Number(o.state.settings.enable_conversation)),a=()=>{var d;window.location.href=((d=window.wholsSettings)==null?void 0:d.adminUrl)+"edit.php?post_type=whols_user_request"},s=()=>{var d;window.location.href=((d=window.wholsSettings)==null?void 0:d.adminUrl)+"edit.php?post_type=whols_conversation"},u=()=>{var d;window.location.href=((d=window.wholsSettings)==null?void 0:d.adminUrl)+"edit.php?post_type=shop_order"};return(d,m)=>{const c=M("el-button"),f=M("el-col"),h=M("el-row"),w=M("el-card");return P(),q(w,{class:"whols-action-items"},{header:b(()=>m[0]||(m[0]=[E("div",{class:"whols-action-items__header"},[E("h3",null,"Action Items")],-1)])),default:b(()=>[E("div",fC,[v(h,{gutter:20},{default:b(()=>[v(f,{xs:24,sm:8},{default:b(()=>[E("div",hC,[E("div",pC,[m[1]||(m[1]=E("div",{class:"whols-action-items__title"},"Pending Registrations",-1)),E("div",mC,le(n.actionItems.pendingRegistrations||0),1)]),v(c,{type:"primary",size:"small",onClick:a},{default:b(()=>m[2]||(m[2]=[J("View")])),_:1})])]),_:1}),v(f,{xs:24,sm:8},{default:b(()=>[E("div",_C,[E("div",gC,[m[3]||(m[3]=E("div",{class:"whols-action-items__title"},"Pending Orders",-1)),E("div",vC,le(n.actionItems.pendingOrders||0),1)]),v(c,{type:"warning",size:"small",onClick:u},{default:b(()=>m[4]||(m[4]=[J("View")])),_:1})])]),_:1}),r.value?(P(),q(f,{key:0,xs:24,sm:8},{default:b(()=>[E("div",wC,[E("div",yC,[m[5]||(m[5]=E("div",{class:"whols-action-items__title"},"Conversations Needing Reply",-1)),E("div",bC,le(n.actionItems.conversationsNeedingReply||0),1)]),v(c,{type:"danger",size:"small",onClick:s},{default:b(()=>m[6]||(m[6]=[J("View")])),_:1})])]),_:1})):Pe("",!0)]),_:1})])]),_:1})}}},xC=ze(SC,[["__scopeId","data-v-28d35d19"]]),CC={class:"whols-date-picker"},EC={class:"whols-date-picker__preset-name"},VC={class:"whols-date-picker__range-text"},RC={class:"whols-date-picker__content"},AC={class:"whols-date-picker__calendar"},OC={class:"whols-date-picker__presets"},PC={class:"whols-date-picker__footer"},TC={__name:"DateRangePicker",props:{dateRange:{type:Array,default:()=>[]},datePreset:{type:String,default:"last30days"},datePopoverVisible:{type:Boolean,default:!1},selectedDateRangeText:{type:String,default:""},datePresetName:{type:String,default:"Last 30 days"}},emits:["update:dateRange","update:datePreset","update:datePopoverVisible","openDatePopover","cancelDateSelection","applyDateFilter","selectPreset"],setup(n,{emit:o}){const r=n,a=o,s=z({get:()=>r.dateRange,set:y=>a("update:dateRange",y)}),u=z({get:()=>r.datePreset,set:y=>a("update:datePreset",y)}),d=()=>{a("openDatePopover")},m=()=>{a("cancelDateSelection"),setTimeout(()=>{var y;(y=document.querySelector(".whols-date-picker__button"))==null||y.focus()},50)},c=()=>{a("applyDateFilter"),setTimeout(()=>{var y;(y=document.querySelector(".whols-date-picker__button"))==null||y.focus()},50)},f=y=>{u.value=y,a("selectPreset",y)},h=y=>y>new Date,w=()=>{setTimeout(()=>{var y;(y=document.querySelector(".whols-date-picker__button"))==null||y.focus()},50)},x=y=>{if(r.datePopoverVisible){const C=document.querySelector(".whols-date-picker__popover"),V=document.querySelector(".whols-date-picker__button");C&&V&&!C.contains(y.target)&&!V.contains(y.target)&&!y.target.closest(".el-picker-panel")&&a("cancelDateSelection")}};return fr(()=>{document.addEventListener("click",x)}),Fd(()=>{document.removeEventListener("click",x)}),(y,C)=>{const V=M("el-icon"),L=M("el-date-picker"),D=M("el-col"),O=M("el-row"),I=M("el-button"),H=M("el-popover");return P(),X("div",CC,[v(H,{placement:"bottom",width:430,trigger:"manual","hide-after":0,teleported:!0,visible:n.datePopoverVisible,onClick:C[12]||(C[12]=Ur(()=>{},["stop"])),onHide:w},{reference:b(()=>[E("div",{class:"whols-date-picker__button",onClick:Ur(d,["stop"]),tabindex:"0",role:"button","aria-haspopup":"true","aria-expanded":"datePopoverVisible"},[v(V,{class:"whols-date-picker__calendar-icon"},{default:b(()=>[v(R(Ww))]),_:1}),C[13]||(C[13]=E("div",{class:"whols-date-picker__separator"},null,-1)),E("div",EC,le(n.datePresetName),1),C[14]||(C[14]=E("div",{class:"whols-date-picker__separator"},null,-1)),E("code",VC,le(n.selectedDateRangeText),1),v(V,{class:"whols-date-picker__dropdown-icon"},{default:b(()=>[v(R(Bd))]),_:1})])]),default:b(()=>[E("div",{class:"whols-date-picker__popover",onClick:C[11]||(C[11]=Ur(()=>{},["stop"]))},[E("div",RC,[E("div",AC,[v(L,{modelValue:s.value,"onUpdate:modelValue":C[0]||(C[0]=K=>s.value=K),type:"daterange","range-separator":"To","start-placeholder":"Start date","end-placeholder":"End date","disabled-date":h,onClick:C[1]||(C[1]=Ur(()=>{},["stop"])),"popper-options":{modifiers:[{name:"preventOverflow",options:{boundary:"viewport"}}]}},null,8,["modelValue"])]),E("div",OC,[C[15]||(C[15]=E("h3",null,"Presets",-1)),v(O,{gutter:20},{default:b(()=>[v(D,{span:12},{default:b(()=>[E("div",{class:Me(["whols-date-picker__preset-item",{"whols-date-picker__preset-item--active":u.value==="today"}]),onClick:C[2]||(C[2]=K=>f("today"))}," Today ",2),E("div",{class:Me(["whols-date-picker__preset-item",{"whols-date-picker__preset-item--active":u.value==="yesterday"}]),onClick:C[3]||(C[3]=K=>f("yesterday"))}," Yesterday ",2),E("div",{class:Me(["whols-date-picker__preset-item",{"whols-date-picker__preset-item--active":u.value==="lastMonth"}]),onClick:C[4]||(C[4]=K=>f("lastMonth"))}," Last month ",2),E("div",{class:Me(["whols-date-picker__preset-item",{"whols-date-picker__preset-item--active":u.value==="last12months"}]),onClick:C[5]||(C[5]=K=>f("last12months"))}," Last 12 months ",2),E("div",{class:Me(["whols-date-picker__preset-item",{"whols-date-picker__preset-item--active":u.value==="lastYear"}]),onClick:C[6]||(C[6]=K=>f("lastYear"))}," Last year ",2)]),_:1}),v(D,{span:12},{default:b(()=>[E("div",{class:Me(["whols-date-picker__preset-item",{"whols-date-picker__preset-item--active":u.value==="last7days"}]),onClick:C[7]||(C[7]=K=>f("last7days"))}," Last 7 days ",2),E("div",{class:Me(["whols-date-picker__preset-item",{"whols-date-picker__preset-item--active":u.value==="last30days"}]),onClick:C[8]||(C[8]=K=>f("last30days"))}," Last 30 days ",2),E("div",{class:Me(["whols-date-picker__preset-item",{"whols-date-picker__preset-item--active":u.value==="last90days"}]),onClick:C[9]||(C[9]=K=>f("last90days"))}," Last 90 days ",2),E("div",{class:Me(["whols-date-picker__preset-item",{"whols-date-picker__preset-item--active":u.value==="last365days"}]),onClick:C[10]||(C[10]=K=>f("last365days"))}," Last 365 days ",2)]),_:1})]),_:1})]),E("div",PC,[v(I,{onClick:m},{default:b(()=>C[16]||(C[16]=[J("Cancel")])),_:1}),v(I,{type:"primary",onClick:c},{default:b(()=>C[17]||(C[17]=[J("Update")])),_:1})])])])]),_:1},8,["visible"])])}}},kC=ze(TC,[["__scopeId","data-v-fb8b89ec"]]),DC={class:"whols-metrics"},IC={class:"whols-metrics__card",style:{"background-color":"rgb(245, 247, 250)",border:"1px solid #dcdfe6"}},$C={class:"whols-metrics__body"},LC={class:"whols-metrics__value"},MC={class:"whols-metrics__card",style:{"background-color":"rgb(245, 247, 250)",border:"1px solid #dcdfe6"}},UC={class:"whols-metrics__body"},NC={class:"whols-metrics__value"},FC=["innerHTML"],BC={class:"whols-metrics__card",style:{"background-color":"rgb(245, 247, 250)",border:"1px solid #dcdfe6"}},WC={class:"whols-metrics__body"},qC={class:"whols-metrics__value"},HC=["innerHTML"],GC={class:"whols-metrics__card",style:{"background-color":"rgb(245, 247, 250)",border:"1px solid #dcdfe6"}},zC={class:"whols-metrics__body"},YC={class:"whols-metrics__value"},KC={class:"whols-metrics__card",style:{"background-color":"rgb(245, 247, 250)",border:"1px solid #dcdfe6"}},jC={class:"whols-metrics__body"},XC={class:"whols-metrics__value"},ZC={class:"whols-metrics__card",style:{"background-color":"rgb(245, 247, 250)",border:"1px solid #dcdfe6"}},QC={class:"whols-metrics__body"},JC={class:"whols-metrics__value"},e2={__name:"MetricsGrid",props:{metrics:{type:Object,default:()=>({})}},setup(n){const o=z(()=>Kl()),r=a=>new Intl.NumberFormat("en-US").format(Math.round(a*100)/100);return(a,s)=>{const u=M("el-icon"),d=M("el-col"),m=M("el-row");return P(),X("div",DC,[v(m,{gutter:20,class:"whols-metrics__row"},{default:b(()=>[v(d,{xs:24,sm:12,md:8,class:"whols-metrics__col"},{default:b(()=>{var c,f,h,w;return[E("div",IC,[E("div",$C,[s[1]||(s[1]=E("h3",{class:"whols-metrics__title"},"Orders",-1)),E("div",LC,le(((c=n.metrics.orders)==null?void 0:c.total)||0),1),E("div",{class:Me(["whols-metrics__trend",(((f=n.metrics.orders)==null?void 0:f.trend)||0)>0?"whols-metrics__trend--up":"whols-metrics__trend--down"])},[(((h=n.metrics.orders)==null?void 0:h.trend)||0)>0?(P(),q(u,{key:0},{default:b(()=>[v(R(Pr))]),_:1})):(P(),q(u,{key:1},{default:b(()=>[v(R(Tr))]),_:1})),J(" "+le(Math.abs(((w=n.metrics.orders)==null?void 0:w.trend)||0))+"% ",1),s[0]||(s[0]=E("span",{class:"whols-metrics__period"},"vs Previous Period",-1))],2)])])]}),_:1}),v(d,{xs:24,sm:12,md:8,class:"whols-metrics__col"},{default:b(()=>{var c,f,h,w;return[E("div",MC,[E("div",UC,[s[3]||(s[3]=E("h3",{class:"whols-metrics__title"},"Revenue",-1)),E("div",NC,[E("span",{innerHTML:o.value},null,8,FC),J(le(r(((c=n.metrics.sales)==null?void 0:c.total)||0)),1)]),E("div",{class:Me(["whols-metrics__trend",(((f=n.metrics.sales)==null?void 0:f.trend)||0)>0?"whols-metrics__trend--up":"whols-metrics__trend--down"])},[(((h=n.metrics.sales)==null?void 0:h.trend)||0)>0?(P(),q(u,{key:0},{default:b(()=>[v(R(Pr))]),_:1})):(P(),q(u,{key:1},{default:b(()=>[v(R(Tr))]),_:1})),J(" "+le(Math.abs(((w=n.metrics.sales)==null?void 0:w.trend)||0))+"% ",1),s[2]||(s[2]=E("span",{class:"whols-metrics__period"},"vs Previous Period",-1))],2)])])]}),_:1}),v(d,{xs:24,sm:12,md:8,class:"whols-metrics__col"},{default:b(()=>{var c,f,h,w;return[E("div",BC,[E("div",WC,[s[5]||(s[5]=E("h3",{class:"whols-metrics__title"},"Avg. Order Value",-1)),E("div",qC,[E("span",{innerHTML:o.value},null,8,HC),J(le(r(((c=n.metrics.aov)==null?void 0:c.total)||0)),1)]),E("div",{class:Me(["whols-metrics__trend",(((f=n.metrics.aov)==null?void 0:f.trend)||0)>0?"whols-metrics__trend--up":"whols-metrics__trend--down"])},[(((h=n.metrics.aov)==null?void 0:h.trend)||0)>0?(P(),q(u,{key:0},{default:b(()=>[v(R(Pr))]),_:1})):(P(),q(u,{key:1},{default:b(()=>[v(R(Tr))]),_:1})),J(" "+le(Math.abs(((w=n.metrics.aov)==null?void 0:w.trend)||0))+"% ",1),s[4]||(s[4]=E("span",{class:"whols-metrics__period"},"vs Previous Period",-1))],2)])])]}),_:1})]),_:1}),v(m,{gutter:20,class:"whols-metrics__row"},{default:b(()=>[v(d,{xs:24,sm:12,md:8,class:"whols-metrics__col"},{default:b(()=>{var c,f,h,w;return[E("div",GC,[E("div",zC,[s[7]||(s[7]=E("h3",{class:"whols-metrics__title"},"Customers",-1)),E("div",YC,le(((c=n.metrics.customers)==null?void 0:c.total)||0),1),E("div",{class:Me(["whols-metrics__trend",(((f=n.metrics.customers)==null?void 0:f.trend)||0)>0?"whols-metrics__trend--up":"whols-metrics__trend--down"])},[(((h=n.metrics.customers)==null?void 0:h.trend)||0)>0?(P(),q(u,{key:0},{default:b(()=>[v(R(Pr))]),_:1})):(P(),q(u,{key:1},{default:b(()=>[v(R(Tr))]),_:1})),J(" "+le(Math.abs(((w=n.metrics.customers)==null?void 0:w.trend)||0))+"% ",1),s[6]||(s[6]=E("span",{class:"whols-metrics__period"},"vs Previous Period",-1))],2)])])]}),_:1}),v(d,{xs:24,sm:12,md:8,class:"whols-metrics__col"},{default:b(()=>{var c,f,h,w;return[E("div",KC,[E("div",jC,[s[9]||(s[9]=E("h3",{class:"whols-metrics__title"},"Products Sold (Qty)",-1)),E("div",XC,le(((c=n.metrics.productsSold)==null?void 0:c.total)||0),1),E("div",{class:Me(["whols-metrics__trend",(((f=n.metrics.productsSold)==null?void 0:f.trend)||0)>0?"whols-metrics__trend--up":"whols-metrics__trend--down"])},[(((h=n.metrics.productsSold)==null?void 0:h.trend)||0)>0?(P(),q(u,{key:0},{default:b(()=>[v(R(Pr))]),_:1})):(P(),q(u,{key:1},{default:b(()=>[v(R(Tr))]),_:1})),J(" "+le(Math.abs(((w=n.metrics.productsSold)==null?void 0:w.trend)||0))+"% ",1),s[8]||(s[8]=E("span",{class:"whols-metrics__period"},"vs Previous Period",-1))],2)])])]}),_:1}),v(d,{xs:24,sm:12,md:8,class:"whols-metrics__col"},{default:b(()=>{var c,f,h,w;return[E("div",ZC,[E("div",QC,[s[11]||(s[11]=E("h3",{class:"whols-metrics__title"},"Items Per Order",-1)),E("div",JC,le(((c=n.metrics.itemsPerOrder)==null?void 0:c.total)||0),1),E("div",{class:Me(["whols-metrics__trend",(((f=n.metrics.itemsPerOrder)==null?void 0:f.trend)||0)>0?"whols-metrics__trend--up":"whols-metrics__trend--down"])},[(((h=n.metrics.itemsPerOrder)==null?void 0:h.trend)||0)>0?(P(),q(u,{key:0},{default:b(()=>[v(R(Pr))]),_:1})):(P(),q(u,{key:1},{default:b(()=>[v(R(Tr))]),_:1})),J(" "+le(Math.abs(((w=n.metrics.itemsPerOrder)==null?void 0:w.trend)||0))+"% ",1),s[10]||(s[10]=E("span",{class:"whols-metrics__period"},"vs Previous Period",-1))],2)])])]}),_:1})]),_:1})])}}},t2=ze(e2,[["__scopeId","data-v-cf84b528"]]),n2={class:"whols-charts__header"},r2={class:"whols-charts__header-left"},o2={class:"whols-charts__subtitle"},l2={class:"whols-charts__header-right"},a2={class:"whols-charts__layout-controls"},i2={class:"whols-charts__card"},s2={class:"whols-charts__card-header whols-charts__card-header--orders"},u2={class:"whols-charts__title-container"},c2={class:"whols-charts__value"},d2=["innerHTML"],f2={class:"whols-charts__container"},h2={class:"whols-charts__card"},p2={class:"whols-charts__card-header whols-charts__card-header--revenue"},m2={class:"whols-charts__title-container"},_2={class:"whols-charts__value"},g2=["innerHTML"],v2={class:"whols-charts__container"},w2={class:"whols-charts__card"},y2={class:"whols-charts__card-header whols-charts__card-header--aov"},b2={class:"whols-charts__title-container"},S2={class:"whols-charts__value"},x2=["innerHTML"],C2={class:"whols-charts__container"},E2={__name:"ChartsSection",props:{chartData:{type:Object,default:()=>({timeSeriesData:[],totalRevenue:0,totalOrders:0})},dateRange:{type:Array,default:()=>[]},layout:{type:String,default:"third"}},emits:["update:layout"],setup(n,{expose:o,emit:r}){const a=z(()=>Kl()),s=n,u=r,d=xe(null),m=xe(null),c=xe(null),f=z({get:()=>s.layout,set:y=>u("update:layout",y)}),h=z(()=>{const{totalRevenue:y,totalOrders:C}=s.chartData;return C?Math.round(y/C*100)/100:0}),w=z(()=>{if(!s.dateRange||!s.dateRange.length||!s.dateRange[0]||!s.dateRange[1])return"All time";try{const y=new Date(s.dateRange[0]),C=new Date(s.dateRange[1]),V={month:"short",day:"numeric"};return`${y.toLocaleDateString("en-US",V)} - ${C.toLocaleDateString("en-US",V)}`}catch(y){return console.error("Error formatting date range:",y),"All time"}}),x=y=>new Intl.NumberFormat("en-US").format(Math.round(y*100)/100);return o({revenueChartRef:d,ordersChartRef:m,aovChartRef:c}),(y,C)=>{const V=M("el-radio-button"),L=M("el-radio-group"),D=M("el-card");return P(),q(D,{class:"whols-charts"},{header:b(()=>[E("div",n2,[E("div",r2,[C[1]||(C[1]=E("h3",null,"Charts",-1)),E("span",o2,le(w.value),1)]),E("div",l2,[E("div",a2,[C[5]||(C[5]=E("span",{class:"whols-charts__layout-label"},"Layout:",-1)),v(L,{modelValue:f.value,"onUpdate:modelValue":C[0]||(C[0]=O=>f.value=O),size:"small"},{default:b(()=>[v(V,{label:"full"},{default:b(()=>C[2]||(C[2]=[J("Full Width")])),_:1}),v(V,{label:"half"},{default:b(()=>C[3]||(C[3]=[J("2 Columns")])),_:1}),v(V,{label:"third"},{default:b(()=>C[4]||(C[4]=[J("3 Columns")])),_:1})]),_:1},8,["modelValue"])])])])]),default:b(()=>[E("div",{class:Me(["whols-charts__grid","whols-charts__grid--"+n.layout])},[E("div",i2,[E("div",s2,[E("div",u2,[E("h4",null,[C[6]||(C[6]=J("Orders - ")),E("span",c2,[E("span",{innerHTML:a.value},null,8,d2),J(le(x(n.chartData.totalOrders)),1)])])])]),E("div",f2,[E("canvas",{ref_key:"ordersChartRef",ref:m,height:"180"},null,512)])]),E("div",h2,[E("div",p2,[E("div",m2,[E("h4",null,[C[7]||(C[7]=J("Revenue - ")),E("span",_2,[E("span",{innerHTML:a.value},null,8,g2),J(le(x(n.chartData.totalRevenue)),1)])])])]),E("div",v2,[E("canvas",{ref_key:"revenueChartRef",ref:d,height:"180"},null,512)])]),E("div",w2,[E("div",y2,[E("div",b2,[E("h4",null,[C[8]||(C[8]=J("Average Order Value - ")),E("span",S2,[E("span",{innerHTML:a.value},null,8,x2),J(le(x(h.value)),1)])])])]),E("div",C2,[E("canvas",{ref_key:"aovChartRef",ref:c,height:"180"},null,512)])])],2)]),_:1})}}},V2=ze(E2,[["__scopeId","data-v-cc323c70"]]),R2={class:"whols-top-products__header"},A2={class:"whols-top-products__header-content"},O2={class:"whols-top-products__subtitle"},P2=["innerHTML"],T2={__name:"TopProductsTable",props:{products:{type:Array,default:()=>[]},dateRange:{type:Array,default:()=>[]},loading:{type:Boolean,default:!1}},setup(n){const o=z(()=>Kl()),r=n,a=z(()=>{if(!r.dateRange||!r.dateRange.length||!r.dateRange[0]||!r.dateRange[1])return"All time";try{const u=new Date(r.dateRange[0]),d=new Date(r.dateRange[1]),m={month:"short",day:"numeric"};return`${u.toLocaleDateString("en-US",m)} - ${d.toLocaleDateString("en-US",m)}`}catch(u){return console.error("Error formatting date range:",u),"All time"}}),s=u=>new Intl.NumberFormat("en-US").format(Math.round(u*100)/100);return(u,d)=>{const m=M("el-table-column"),c=M("el-table"),f=M("el-card"),h=Qi("loading");return P(),q(f,{class:"whols-top-products"},{header:b(()=>[E("div",R2,[E("div",A2,[d[0]||(d[0]=E("h3",null,"Top Products",-1)),E("span",O2,le(a.value),1)])])]),default:b(()=>[Qt((P(),q(c,{data:n.products,style:{width:"100%"},"show-header":!0,size:"default"},{default:b(()=>[v(m,{prop:"name",label:"Product","min-width":"120"}),v(m,{prop:"itemsSold",label:"Items Sold",width:"100",align:"right"}),v(m,{prop:"netSales",label:"Net Sales",width:"120",align:"right"},{default:b(w=>[E("span",{innerHTML:o.value},null,8,P2),J(le(s(w.row.netSales)),1)]),_:1})]),_:1},8,["data"])),[[h,n.loading]])]),_:1})}}},k2=ze(T2,[["__scopeId","data-v-682970c2"]]),D2={class:"whols-top-categories__header"},I2={class:"whols-top-categories__header-content"},$2={class:"whols-top-categories__subtitle"},L2=["innerHTML"],M2={__name:"TopCategoriesTable",props:{categories:{type:Array,default:()=>[]},dateRange:{type:Array,default:()=>[]},loading:{type:Boolean,default:!1}},setup(n){const o=z(()=>Kl()),r=n,a=z(()=>{if(!r.dateRange||!r.dateRange.length||!r.dateRange[0]||!r.dateRange[1])return"All time";try{const u=new Date(r.dateRange[0]),d=new Date(r.dateRange[1]),m={month:"short",day:"numeric"};return`${u.toLocaleDateString("en-US",m)} - ${d.toLocaleDateString("en-US",m)}`}catch(u){return console.error("Error formatting date range:",u),"All time"}}),s=u=>new Intl.NumberFormat("en-US").format(Math.round(u*100)/100);return(u,d)=>{const m=M("el-table-column"),c=M("el-table"),f=M("el-card"),h=Qi("loading");return P(),q(f,{class:"whols-top-categories"},{header:b(()=>[E("div",D2,[E("div",I2,[d[0]||(d[0]=E("h3",null,"Top Categories",-1)),E("span",$2,le(a.value),1)])])]),default:b(()=>[Qt((P(),q(c,{data:n.categories,style:{width:"100%"},"show-header":!0,size:"default"},{default:b(()=>[v(m,{prop:"name",label:"Category","min-width":"120"}),v(m,{prop:"itemsSold",label:"Items Sold",width:"100",align:"right"}),v(m,{prop:"netSales",label:"Net Sales",width:"120",align:"right"},{default:b(w=>[E("span",{innerHTML:o.value},null,8,L2),J(le(s(w.row.netSales)),1)]),_:1})]),_:1},8,["data"])),[[h,n.loading]])]),_:1})}}},U2=ze(M2,[["__scopeId","data-v-c5a83d67"]]),N2={class:"card-header"},F2={class:"card-header-controls"},B2={__name:"Dashboard",setup(n){const{isLoading:o,metrics:r,actionItems:a,topProducts:s,topCategories:u,chartData:d,fetchDashboardData:m}=uC(),c=xe(!1),{dateRange:f,datePreset:h,datePopoverVisible:w,selectedDateRangeText:x,datePresetName:y,selectPreset:C,openDatePopover:V,cancelDateSelection:L,applyDateFilter:D,checkIfDateRangeMatchesPreset:O}=cC(),{chartRefs:I,renderCharts:H,loadChartLibrary:K}=dC(),re=xe(null),ee=xe(f0("whols-chart-layout")||"third");cn(ee,N=>{d0("whols-chart-layout",N,365)}),cn(f,N=>{N&&N.length===2?O(N[0],N[1])||(h.value="custom"):(!N||N.length===0)&&C("last30days")});const oe=()=>{D(),ie()},ie=async(N=!1)=>{await m(f.value,N),Le()},Z=async()=>{try{c.value=!0,await ie(!0),Ii({message:"Data refreshed successfully",type:"success",offset:40})}catch(N){Ii({message:"Failed to refresh data",type:"error",offset:40}),console.error("Sync error:",N)}finally{c.value=!1}};Qx.debounce(()=>{ie()},500);const Le=async()=>{window.Chart||await K();const N=be();N&&d.value&&(I.revenue.value=N.revenueChartRef,I.orders.value=N.ordersChartRef,I.aov.value=N.aovChartRef,H(d.value))},be=()=>re.value?{revenueChartRef:re.value.revenueChartRef,ordersChartRef:re.value.ordersChartRef,aovChartRef:re.value.aovChartRef}:null;return fr(async()=>{C("last30days"),await ie()}),fr(()=>{const N=new Event("hashchange",{bubbles:!0});window.dispatchEvent(N)}),(N,ve)=>{const Te=M("el-button"),Ae=M("el-col"),Ue=M("el-row"),vt=M("el-card"),In=Qi("loading");return P(),X(ge,null,[v(xC,{"action-items":R(a)},null,8,["action-items"]),Qt((P(),q(vt,{class:"analytics-section"},{header:b(()=>[E("div",N2,[ve[5]||(ve[5]=E("h3",null,"Performance Overview (B2B)",-1)),E("div",F2,[v(ff,{content:"* Force refresh data (clears cache) <br>* Data is cached for 1 hour <br>* When Test mode is enabled, data is not cached",placement:"top"},{default:b(()=>[v(Te,{class:"sync-button",icon:R(qw),type:"primary",plain:"",size:"medium",loading:c.value,onClick:Z},{default:b(()=>ve[4]||(ve[4]=[J(" Refresh ")])),_:1},8,["icon","loading"])]),_:1}),v(kC,{"date-range":R(f),"onUpdate:dateRange":ve[0]||(ve[0]=ht=>Wr(f)?f.value=ht:null),"date-preset":R(h),"onUpdate:datePreset":ve[1]||(ve[1]=ht=>Wr(h)?h.value=ht:null),"date-popover-visible":R(w),"onUpdate:datePopoverVisible":ve[2]||(ve[2]=ht=>Wr(w)?w.value=ht:null),"selected-date-range-text":R(x),"date-preset-name":R(y),onOpenDatePopover:R(V),onCancelDateSelection:R(L),onApplyDateFilter:oe,onSelectPreset:R(C)},null,8,["date-range","date-preset","date-popover-visible","selected-date-range-text","date-preset-name","onOpenDatePopover","onCancelDateSelection","onSelectPreset"])])])]),default:b(()=>[v(t2,{metrics:R(r)},null,8,["metrics"]),v(V2,{layout:ee.value,"onUpdate:layout":ve[3]||(ve[3]=ht=>ee.value=ht),"chart-data":R(d),"date-range":R(f),ref_key:"chartsRef",ref:re},null,8,["layout","chart-data","date-range"]),v(Ue,{gutter:20,class:"leaderboards-row"},{default:b(()=>[v(Ae,{xs:24,sm:12},{default:b(()=>[v(k2,{products:R(s),"date-range":R(f),loading:R(o)},null,8,["products","date-range","loading"])]),_:1}),v(Ae,{xs:24,sm:12},{default:b(()=>[v(U2,{categories:R(u),"date-range":R(f),loading:R(o)},null,8,["categories","date-range","loading"])]),_:1})]),_:1})]),_:1})),[[In,R(o)]])],64)}}},If=ze(B2,[["__scopeId","data-v-cdab2d13"]]),W2={class:"dashboard-content"},q2={__name:"DashboardContent",setup(n){return(o,r)=>(P(),X("div",W2,[v(If)]))}},H2=ze(q2,[["__scopeId","data-v-2443efa9"]]),G2=[{path:"/onboarding",name:"onboarding",component:()=>Qw(()=>import("./Onboarding.Dis6SB7l.js"),__vite__mapDeps([0,1])),meta:{layout:"blank"}},{path:"/dashboard",component:If,meta:{layout:"default"},children:[{path:"",name:"dashboard",component:H2}]},{path:"/settings",component:Zx,meta:{layout:"default"},children:[{path:"",redirect:"/settings/general"},{path:"general",name:"general",component:p0},{path:"registration",name:"registration",component:_0},{path:"fields-manager",name:"fields-manager",component:wS},{path:"product-visibility",name:"product-visibility",component:bS},{path:"wholesaler-only-categories",name:"wholesaler-only-categories",component:TS},{path:"guest-access",name:"guest-access",component:DS},{path:"request-a-quote",name:"request-a-quote",component:$S},{path:"conversation",name:"conversation",component:MS},{path:"wallet",name:"wallet",component:NS},{path:"save-order-list",name:"save-order-list",component:BS},{path:"others",name:"others",component:qS},{path:"email-notifications",name:"email-notifications",component:tx},{path:"thank-you-message",name:"thank-you-message",component:nx},{path:"design",name:"design",component:ux},{path:"dynamic-rules",name:"dynamic-rules",component:Dx},{path:"bulk-order-form",name:"bulk-order-form",component:$x}]},{path:"/",redirect:"/settings/general"}],$d=ub({history:Uy(),routes:G2}),z2=()=>({settings:{},users:[],pages:[],products:[],productCategories:[],countries:[],wholsRoles:{},paymentGateways:{},isLoading:!1,isSaving:!1,isResetting:!1,error:null,validationErrors:{},activeMenu:"general",formConfig:{labelPosition:"left"},displayProModal:!1}),Y2={setSettings(n,o){n.settings=o},updateSetting(n,{key:o,value:r}){n.settings={...n.settings,[o]:r}},updateFormConfig(n,o){n.formConfig={...n.formConfig,...o}},setActiveMenu(n,o){n.activeMenu=o},setWholsRoles(n,o){n.wholsRoles=o},setUsers(n,o){n.users=o},setPages(n,o){n.pages=o},setProducts(n,o){n.products=o},setProductCategories(n,o){n.productCategories=o},setCountries(n,o){n.countries=o},setPaymentGateways(n,o){n.paymentGateways=o},setLoading(n,o){n.isLoading=o},setSaving(n,o){n.isSaving=o},setResetting(n,o){n.isResetting=o},setError(n,o){n.error=o},setValidationErrors(n,o){n.validationErrors=o},setDisplayProModal(n,o){n.displayProModal=o}};let vo=null;const K2={updateActiveMenu({commit:n},o){n("setActiveMenu",o)},fetchSettings({commit:n,state:o}){var r;if(!Object.values(o.pages).length)return n("setLoading",!0),n("setError",null),n("setSettings",(r=window.wholsSettings)==null?void 0:r.defaultSettings),sn.settings.getSettings().then(a=>{var u;const s=Hw({},(u=window.wholsSettings)==null?void 0:u.defaultSettings,a);n("setSettings",s)}).catch(a=>{throw console.error("Error fetching settings:",a),n("setError",a.message),a}).finally(()=>{n("setLoading",!1)})},async saveSettings({commit:n,state:o}){n("setSaving",!0),n("setError",null),n("setValidationErrors",{});try{const r=await sn.settings.updateSettings(o.settings);n("setSettings",r)}catch(r){throw console.error("Error saving settings:",r),n("setError",r.message),r}finally{n("setSaving",!1)}},async fetchWholsRoles({commit:n,state:o}){if(!Object.values(o.wholsRoles).length){n("setError",null);try{const r=await sn.roles.getRoles();n("setWholsRoles",r)}catch(r){throw console.error("Error fetching roles:",r),n("setError",r.message),r}finally{n("setLoading",!1)}}},async fetchUsers({commit:n,state:o}){if(!Object.values(o.users).length){n("setError",null);try{const r=await sn.users.getUsers();n("setUsers",r)}catch(r){throw console.error("Error fetching users:",r),n("setError",r.message),r}finally{n("setLoading",!1)}}},async fetchPages({commit:n,state:o}){if(!Object.values(o.pages).length){n("setError",null);try{const a=(await sn.pages.getPages()).map(s=>({id:s.id,title:s.title}));n("setPages",a)}catch(r){throw console.error("Error fetching pages:",r),n("setError",r.message),r}finally{n("setLoading",!1)}}},async fetchProducts({commit:n,state:o}){if(!Object.values(o.products).length){if(vo)return vo;n("setError",null);try{vo=sn.products.getProducts();const r=await vo;return n("setProducts",r),r}catch(r){throw console.error("Error fetching products:",r),n("setError",r.message),r}finally{n("setLoading",!1),vo=null}}},async fetchProductCategories({commit:n,state:o}){if(!Object.values(o.productCategories).length){n("setError",null);try{const r=await sn.products.getCategories();n("setProductCategories",r)}catch(r){throw console.error("Error fetching product categories:",r),n("setError",r.message),r}finally{n("setLoading",!1)}}},async fetchCountries({commit:n,state:o}){if(!Object.values(o.countries).length){n("setError",null);try{const r=await sn.countries.getCountries();n("setCountries",r)}catch(r){throw console.error("Error fetching countries:",r),n("setError",r.message),r}finally{n("setLoading",!1)}}},async fetchPaymentGateways({commit:n,state:o}){if(!Object.values(o.paymentGateways).length){n("setError",null);try{const r=await sn.paymentGateways.getPaymentGateways();n("setPaymentGateways",r)}catch(r){throw console.error("Error fetching payment gateways:",r),n("setError",r.message),r}finally{n("setLoading",!1)}}},async resetSettings({commit:n,state:o,dispatch:r},{router:a}){a.currentRoute.value.name,n("setSaving",!1),n("setError",null);try{const s=Object.keys(Nx(a.currentRoute.value)),u=await sn.settings.resetSection(s);return n("setSettings",u),u}catch(s){throw console.error("Error resetting settings:",s),n("setError",s.message),s}finally{n("setSaving",!1)}}},j2={getSettingValue:n=>o=>n.settings[o],getValidationError:n=>o=>n.validationErrors[o],activeMenu:n=>n.activeMenu,isSaving:n=>n.isSaving,getPages:n=>n.pages,getProducts:n=>n.products,getProductCategories:n=>n.productCategories,getUsers:n=>n.users,getWholsRoles:n=>n.wholsRoles,getCountries:n=>n.countries,getPaymentGateways:n=>n.paymentGateways,isLoading:n=>n.isLoading,getLabelPosition:n=>n.labelPosition},Ld=Ab({state:z2,mutations:Y2,actions:K2,getters:j2}),X2={class:"whols-advertiser-content"},Z2={class:"whols-advertiser-message"},Q2={__name:"ProModal",setup(n){const o=tt(),r=z(()=>o.state.displayProModal),a=z(()=>wholsSettings.proAdvInfo),s=()=>{o.commit("setDisplayProModal",!1)};return(u,d)=>{const m=M("el-icon"),c=M("el-button"),f=M("el-dialog");return P(),q(f,{modelValue:r.value,"onUpdate:modelValue":d[0]||(d[0]=h=>r.value=h),width:"500","show-close":!0,onClose:s,center:"","align-center":""},{default:b(()=>[E("div",X2,[v(m,null,{default:b(()=>[v(R(Gw))]),_:1}),d[2]||(d[2]=E("div",{class:"whols-advertiser-title"},"Unlock Premium Features",-1)),E("div",Z2,le(a.value.message),1),v(c,{type:"primary",size:"large",tag:"a",href:a.value.purchaseURL,target:"_blank",rel:"noopener noreferrer",onClick:s},{default:b(()=>d[1]||(d[1]=[J(" Purchase Pro ")])),_:1},8,["href"])])]),_:1},8,["modelValue"])}}},J2=ze(Q2,[["__scopeId","data-v-f9c4e521"]]),eE={class:"whols-header-left"},tE={class:"whols-logo-box"},nE={class:"whols-version"},rE={class:"whols-header-right"},oE=["href"],lE={__name:"AppHeader",setup(n){const o=window.wholsSettings.docsUrl,r=window.wholsSettings.pluginVersion,a=Io(),s=z(()=>a.path.search("/settings")>-1),u=z(()=>a.path==="/dashboard");return(d,m)=>{const c=M("el-text"),f=M("router-link");return P(),X(ge,null,[E("div",eE,[E("div",tE,[m[0]||(m[0]=E("span",{class:"whols-brand-name"},"Whols",-1)),E("span",nE,"v"+le(R(r)),1)])]),E("div",rE,[v(f,{to:"/dashboard",class:Me(["whols-nav-link",{active:u.value}])},{default:b(()=>[v(c,null,{default:b(()=>m[1]||(m[1]=[J("Dashboard")])),_:1})]),_:1},8,["class"]),v(f,{to:"/settings/general",class:Me(["whols-nav-link",{active:s.value}])},{default:b(()=>[v(c,null,{default:b(()=>m[2]||(m[2]=[J("Settings")])),_:1})]),_:1},8,["class"]),E("a",{href:R(o),target:"_blank",rel:"noopener noreferrer",class:"whols-nav-link whols-external-link"},[v(c,null,{default:b(()=>m[3]||(m[3]=[J("Docs")])),_:1})],8,oE)])],64)}}},aE={class:"whols-support"},iE={class:"whols-support__icon-box"},sE={__name:"GetSupport",setup(n){const o=()=>{window.open(window.wholsSettings.supportUrl,"_blank")};return(r,a)=>{const s=M("el-icon"),u=M("el-button"),d=M("el-card");return P(),q(d,{class:"whols-card whols-card--support"},{header:b(()=>a[0]||(a[0]=[E("div",{class:"whols-card__header"},[E("h3",null,"Support And Feedback")],-1)])),default:b(()=>[E("div",aE,[E("div",iE,[v(s,{class:"whols-support__icon"},{default:b(()=>[v(R(zw))]),_:1})]),a[3]||(a[3]=E("p",{class:"whols-support__text"},"If you have any questions, concerns, or feedback, please don't hesitate to contact us. Our team is always available to assist with your needs. Thank you for choosing our products and services—we look forward to hearing from you soon!",-1)),v(u,{type:"primary",class:"whols-button whols-button--support hidden-lg-and-down",onClick:o},{default:b(()=>a[1]||(a[1]=[J("Get Support")])),_:1}),v(u,{type:"primary",size:"large",class:"whols-button whols-button--support hidden-xl-only",onClick:o},{default:b(()=>a[2]||(a[2]=[J("Get Support")])),_:1})])]),_:1})}}},$f=ze(sE,[["__scopeId","data-v-ab7f8be1"]]),uE={class:"whols-features__icon-box"},cE={class:"whols-features__text"},dE={__name:"ProFeatures",props:{columns:{type:Number,default:1,validator:n=>[1,2].includes(n)}},setup(n){const o=["Multi-tier pricing","Tiered quantity-based pricing","Purchase restrictions by user role","Wholesaler only categories","Saved order lists","Custom registration fields","Request a quote","Customer-owner conversations","Dynamic Rules","Wallet system","And more..."],r=()=>{window.open(window.wholsSettings.proUrl,"_blank")};return(a,s)=>{const u=M("el-icon"),d=M("el-button"),m=M("el-card");return P(),q(m,{class:"whols-card whols-card--features"},{header:b(()=>s[0]||(s[0]=[E("div",{class:"whols-card__header"},[E("h3",null,"Pro Features")],-1)])),default:b(()=>[E("ul",{class:Me(["whols-features",{"whols-features--two-columns":n.columns===2}])},[(P(),X(ge,null,Ce(o,(c,f)=>E("li",{key:f,class:"whols-features__item"},[E("div",uE,[v(u,{class:"whols-features__icon"},{default:b(()=>[v(R(Md))]),_:1})]),E("span",cE,le(c),1)])),64))],2),E("div",{class:Me(["whols-banner",{"whols-banner--two-columns":n.columns===2}])},[s[2]||(s[2]=E("p",{class:"whols-banner__text"},"Unlock all features to boost your wholesale business",-1)),v(d,{type:"primary",size:"large",class:"whols-banner__button",onClick:r},{default:b(()=>s[1]||(s[1]=[J("Upgrade to Pro")])),_:1})],2)]),_:1})}}},fE=ze(dE,[["__scopeId","data-v-0ba56eba"]]),hE={class:"whols-knowledge"},pE={class:"whols-knowledge__icon-box"},mE={__name:"KnowledgeBase",setup(n){const o=()=>{window.open(window.wholsSettings.docsUrl||"https://wpwhols.com/","_blank")};return(r,a)=>{const s=M("el-icon"),u=M("el-button"),d=M("el-card");return P(),q(d,{class:"whols-card whols-card--knowledge"},{header:b(()=>a[0]||(a[0]=[E("div",{class:"whols-card__header"},[E("h3",null,"Knowledge Base")],-1)])),default:b(()=>[E("div",hE,[E("div",pE,[v(s,{class:"whols-knowledge__icon"},{default:b(()=>[v(R(Yw))]),_:1})]),a[3]||(a[3]=E("p",{class:"whols-knowledge__text"},"Discover how to set up and customize your wholesale store with step-by-step Whols documentation.",-1)),v(u,{type:"primary",class:"whols-button whols-button--knowledge hidden-lg-and-down",onClick:o},{default:b(()=>a[1]||(a[1]=[J("Read Documentation")])),_:1}),v(u,{type:"primary",size:"large",class:"whols-button whols-button--knowledge hidden-xl-only",onClick:o},{default:b(()=>a[2]||(a[2]=[J("Read Documentation")])),_:1})])]),_:1})}}},Lf=ze(mE,[["__scopeId","data-v-057e0299"]]),_E={class:"whols-sidebar"},gE={__name:"ProFeaturesSidebar",setup(n){return(o,r)=>(P(),X("div",_E,[v(fE),r[0]||(r[0]=E("div",{class:"whols-sidebar__spacer"},null,-1)),v($f),r[1]||(r[1]=E("div",{class:"whols-sidebar__spacer"},null,-1)),v(Lf)]))}},vE=ze(gE,[["__scopeId","data-v-f7a68764"]]),wE={class:"whols-app-content"},yE={__name:"DefaultLayout",setup(n){return(o,r)=>{const a=M("el-header"),s=M("el-col"),u=M("el-row"),d=M("el-container");return P(),q(d,{class:"whols-app-container"},{default:b(()=>[v(a,{class:"whols-app-header"},{default:b(()=>[v(lE)]),_:1}),E("div",wE,[v(u,{gutter:20},{default:b(()=>[v(s,{class:"whols-app-left-content",xs:24,sm:24,md:24,lg:24,xl:19},{default:b(()=>[Do(o.$slots,"default",{},void 0,!0)]),_:3}),v(s,{class:"whols-app-right-sidebar hidden-lg-and-down",xs:24,sm:24,md:6,lg:6,xl:5},{default:b(()=>[v(vE)]),_:1})]),_:3}),r[0]||(r[0]=E("div",{style:{height:"var(--whols-spacing-2xl)"}},null,-1)),v(u,{gutter:20,class:"hidden-xl-only"},{default:b(()=>[v(s,{span:8},{default:b(()=>[v($f)]),_:1}),v(s,{span:8},{default:b(()=>[v(Lf)]),_:1})]),_:1})])]),_:3})}}},bE=ze(yE,[["__scopeId","data-v-7d95c5b4"]]),SE={class:"whols-blank-layout"},xE={__name:"BlankLayout",setup(n){return(o,r)=>(P(),X("div",SE,[Do(o.$slots,"default",{},void 0,!0)]))}},CE=ze(xE,[["__scopeId","data-v-7ab95cfc"]]),EE={__name:"App",setup(n){const o=tt(),r=Io();z(()=>o.state.isLoading);const a=z(()=>{if(r.meta.layout==="blank")return CE;if(r.meta.layout==="default")return bE});return fr(async()=>{try{await o.dispatch("fetchSettings")}catch{Ii.error("Failed to load settings")}}),(s,u)=>{const d=M("router-view"),m=M("el-config-provider");return P(),q(m,null,{default:b(()=>[R(o).state.displayProModal?(P(),q(J2,{key:0})):Pe("",!0),(P(),q(Di(a.value),null,{default:b(()=>[v(d)]),_:1}))]),_:1})}}},VE=ze(EE,[["__scopeId","data-v-97c93e67"]]),Br=[{id:"welcome",label:"Welcome"},{id:"features",label:"Features"},{id:"config",label:"Configuration"},{id:"complete",label:"Complete"}],RE={currentStep:"welcome",completedSteps:[],config:{enable_request_a_quote:"0",bof_enabled:"0",enable_conversation:"0",enable_wallet_payment:"0",enable_save_order_list:"0",registration_page:"",show_wholesale_price_for:"administrator",hide_price_for_guest_users:"1"},dataConsent:!1},AE={setCurrentStep(n,o){n.currentStep=o},completeStep(n,o){n.completedSteps.includes(o)||n.completedSteps.push(o)},removeCompletedStep(n,o){n.completedSteps=n.completedSteps.filter(r=>r!==o)},setDataConsent(n,o){n.dataConsent=o}},OE={setCurrentStep({commit:n},o){n("setCurrentStep",o)},completeStep({commit:n},o){n("completeStep",o)},goBack({commit:n,state:o}){const r=Br.findIndex(a=>a.id===o.currentStep);if(r>0){const a=Br[r-1].id;n("removeCompletedStep",o.currentStep),n("setCurrentStep",a)}}},PE={isStepCompleted:n=>o=>n.completedSteps.includes(o),currentStepIndex:n=>Br.findIndex(o=>o.id===n.currentStep),totalSteps:()=>Br.length,progressPercentage:(n,o)=>{const r=o.currentStepIndex;return Math.round(r/(Br.length-1)*100)},getSteps:()=>Br},TE={namespaced:!0,state:RE,mutations:AE,actions:OE,getters:PE},kE=n=>{n.hasModule("onboarding")||n.registerModule("onboarding",TE)},DE=(n,o,r)=>{kE(o),r||console.error("Router not provided to onboarding module")},IE={install:(n,o={})=>{const{store:r,router:a}=o;r?DE(n,r,a):console.warn("Whols Onboarding: Vuex store is required for proper functionality")}};document.addEventListener("DOMContentLoaded",()=>{const n=Kw(VE);n.use(Ld),n.use($d),n.use(jw),n.use(IE,{store:Ld,router:$d}),n.mount("#whols-vue-settings-app")});export{ff as H,Tb as S,ze as _,db as a,tC as s,tt as u,LE as w};
     42}`;var Ve=$c(function(){return Be(g,ue+"return "+G).apply(r,S)});if(Ve.source=G,ai(Ve))throw Ve;return Ve}function V1(e){return qe(e).toLowerCase()}function R1(e){return qe(e).toUpperCase()}function A1(e,t,l){if(e=qe(e),e&&(l||t===r))return Hs(e);if(!e||!(t=Lt(t)))return e;var i=nn(e),p=nn(t),g=Gs(i,p),S=zs(i,p)+1;return Wn(i,g,S).join("")}function O1(e,t,l){if(e=qe(e),e&&(l||t===r))return e.slice(0,Ks(e)+1);if(!e||!(t=Lt(t)))return e;var i=nn(e),p=zs(i,nn(t))+1;return Wn(i,0,p).join("")}function P1(e,t,l){if(e=qe(e),e&&(l||t===r))return e.replace(aa,"");if(!e||!(t=Lt(t)))return e;var i=nn(e),p=Gs(i,nn(t));return Wn(i,p).join("")}function T1(e,t){var l=Z,i=Le;if(nt(t)){var p="separator"in t?t.separator:p;l="length"in t?Ee(t.length):l,i="omission"in t?Lt(t.omission):i}e=qe(e);var g=e.length;if(vr(e)){var S=nn(e);g=S.length}if(l>=g)return e;var A=l-wr(i);if(A<1)return i;var k=S?Wn(S,0,A).join(""):e.slice(0,A);if(p===r)return k+i;if(S&&(A+=k.length-A),ii(p)){if(e.slice(A).search(p)){var F,B=k;for(p.global||(p=xa(p.source,qe(fs.exec(p))+"g")),p.lastIndex=0;F=p.exec(B);)var G=F.index;k=k.slice(0,G===r?A:G)}}else if(e.indexOf(Lt(p),A)!=A){var ne=k.lastIndexOf(p);ne>-1&&(k=k.slice(0,ne))}return k+i}function k1(e){return e=qe(e),e&&qf.test(e)?e.replace(us,ip):e}var D1=Vr(function(e,t,l){return e+(l?" ":"")+t.toUpperCase()}),ci=Lu("toUpperCase");function Ic(e,t,l){return e=qe(e),t=l?r:t,t===r?np(e)?cp(e):Yh(e):e.match(t)||[]}var $c=Oe(function(e,t){try{return It(e,r,t)}catch(l){return ai(l)?l:new we(l)}}),I1=Cn(function(e,t){return Ht(t,function(l){l=mn(l),Sn(e,l,oi(e[l],e))}),e});function $1(e){var t=e==null?0:e.length,l=de();return e=t?Je(e,function(i){if(typeof i[1]!="function")throw new Gt(d);return[l(i[0]),i[1]]}):[],Oe(function(i){for(var p=-1;++p<t;){var g=e[p];if(It(g[0],this,i))return It(g[1],this,i)}})}function L1(e){return im(Yt(e,w))}function di(e){return function(){return e}}function M1(e,t){return e==null||e!==e?t:e}var U1=Uu(),N1=Uu(!0);function Ot(e){return e}function fi(e){return pu(typeof e=="function"?e:Yt(e,w))}function F1(e){return _u(Yt(e,w))}function B1(e,t){return gu(e,Yt(t,w))}var W1=Oe(function(e,t){return function(l){return so(l,e,t)}}),q1=Oe(function(e,t){return function(l){return so(e,l,t)}});function hi(e,t,l){var i=pt(t),p=al(t,i);l==null&&!(nt(t)&&(p.length||!i.length))&&(l=t,t=e,e=this,p=al(t,pt(t)));var g=!(nt(l)&&"chain"in l)||!!l.chain,S=Vn(e);return Ht(p,function(A){var k=t[A];e[A]=k,S&&(e.prototype[A]=function(){var F=this.__chain__;if(g||F){var B=e(this.__wrapped__),G=B.__actions__=Vt(this.__actions__);return G.push({func:k,args:arguments,thisArg:e}),B.__chain__=F,B}return k.apply(e,Ln([this.value()],arguments))})}),e}function H1(){return mt._===this&&(mt._=_p),this}function pi(){}function G1(e){return e=Ee(e),Oe(function(t){return vu(t,e)})}var z1=Ga(Je),Y1=Ga(Ns),K1=Ga(_a);function Lc(e){return Qa(e)?ga(mn(e)):Cm(e)}function j1(e){return function(t){return e==null?r:or(e,t)}}var X1=Fu(),Z1=Fu(!0);function mi(){return[]}function _i(){return!1}function Q1(){return{}}function J1(){return""}function ew(){return!0}function tw(e,t){if(e=Ee(e),e<1||e>vt)return[];var l=Dt,i=wt(e,Dt);t=de(t),e-=Dt;for(var p=ya(i,t);++l<e;)t(l);return p}function nw(e){return Se(e)?Je(e,mn):Mt(e)?[e]:Vt(nc(qe(e)))}function rw(e){var t=++pp;return qe(e)+t}var ow=fl(function(e,t){return e+t},0),lw=za("ceil"),aw=fl(function(e,t){return e/t},1),iw=za("floor");function sw(e){return e&&e.length?ll(e,Ot,Ta):r}function uw(e,t){return e&&e.length?ll(e,de(t,2),Ta):r}function cw(e){return Ws(e,Ot)}function dw(e,t){return Ws(e,de(t,2))}function fw(e){return e&&e.length?ll(e,Ot,$a):r}function hw(e,t){return e&&e.length?ll(e,de(t,2),$a):r}var pw=fl(function(e,t){return e*t},1),mw=za("round"),_w=fl(function(e,t){return e-t},0);function gw(e){return e&&e.length?wa(e,Ot):0}function vw(e,t){return e&&e.length?wa(e,de(t,2)):0}return _.after=Fg,_.ary=hc,_.assign=Rv,_.assignIn=Rc,_.assignInWith=El,_.assignWith=Av,_.at=Ov,_.before=pc,_.bind=oi,_.bindAll=I1,_.bindKey=mc,_.castArray=Qg,_.chain=cc,_.chunk=i_,_.compact=s_,_.concat=u_,_.cond=$1,_.conforms=L1,_.constant=di,_.countBy=gg,_.create=Pv,_.curry=_c,_.curryRight=gc,_.debounce=vc,_.defaults=Tv,_.defaultsDeep=kv,_.defer=Bg,_.delay=Wg,_.difference=c_,_.differenceBy=d_,_.differenceWith=f_,_.drop=h_,_.dropRight=p_,_.dropRightWhile=m_,_.dropWhile=__,_.fill=g_,_.filter=wg,_.flatMap=Sg,_.flatMapDeep=xg,_.flatMapDepth=Cg,_.flatten=ac,_.flattenDeep=v_,_.flattenDepth=w_,_.flip=qg,_.flow=U1,_.flowRight=N1,_.fromPairs=y_,_.functions=Nv,_.functionsIn=Fv,_.groupBy=Eg,_.initial=S_,_.intersection=x_,_.intersectionBy=C_,_.intersectionWith=E_,_.invert=Wv,_.invertBy=qv,_.invokeMap=Rg,_.iteratee=fi,_.keyBy=Ag,_.keys=pt,_.keysIn=At,_.map=wl,_.mapKeys=Gv,_.mapValues=zv,_.matches=F1,_.matchesProperty=B1,_.memoize=bl,_.merge=Yv,_.mergeWith=Ac,_.method=W1,_.methodOf=q1,_.mixin=hi,_.negate=Sl,_.nthArg=G1,_.omit=Kv,_.omitBy=jv,_.once=Hg,_.orderBy=Og,_.over=z1,_.overArgs=Gg,_.overEvery=Y1,_.overSome=K1,_.partial=li,_.partialRight=wc,_.partition=Pg,_.pick=Xv,_.pickBy=Oc,_.property=Lc,_.propertyOf=j1,_.pull=O_,_.pullAll=sc,_.pullAllBy=P_,_.pullAllWith=T_,_.pullAt=k_,_.range=X1,_.rangeRight=Z1,_.rearg=zg,_.reject=Dg,_.remove=D_,_.rest=Yg,_.reverse=ni,_.sampleSize=$g,_.set=Qv,_.setWith=Jv,_.shuffle=Lg,_.slice=I_,_.sortBy=Ng,_.sortedUniq=B_,_.sortedUniqBy=W_,_.split=S1,_.spread=Kg,_.tail=q_,_.take=H_,_.takeRight=G_,_.takeRightWhile=z_,_.takeWhile=Y_,_.tap=sg,_.throttle=jg,_.thru=vl,_.toArray=Cc,_.toPairs=Pc,_.toPairsIn=Tc,_.toPath=nw,_.toPlainObject=Vc,_.transform=e1,_.unary=Xg,_.union=K_,_.unionBy=j_,_.unionWith=X_,_.uniq=Z_,_.uniqBy=Q_,_.uniqWith=J_,_.unset=t1,_.unzip=ri,_.unzipWith=uc,_.update=n1,_.updateWith=r1,_.values=Or,_.valuesIn=o1,_.without=eg,_.words=Ic,_.wrap=Zg,_.xor=tg,_.xorBy=ng,_.xorWith=rg,_.zip=og,_.zipObject=lg,_.zipObjectDeep=ag,_.zipWith=ig,_.entries=Pc,_.entriesIn=Tc,_.extend=Rc,_.extendWith=El,hi(_,_),_.add=ow,_.attempt=$c,_.camelCase=s1,_.capitalize=kc,_.ceil=lw,_.clamp=l1,_.clone=Jg,_.cloneDeep=tv,_.cloneDeepWith=nv,_.cloneWith=ev,_.conformsTo=rv,_.deburr=Dc,_.defaultTo=M1,_.divide=aw,_.endsWith=u1,_.eq=on,_.escape=c1,_.escapeRegExp=d1,_.every=vg,_.find=yg,_.findIndex=oc,_.findKey=Dv,_.findLast=bg,_.findLastIndex=lc,_.findLastKey=Iv,_.floor=iw,_.forEach=dc,_.forEachRight=fc,_.forIn=$v,_.forInRight=Lv,_.forOwn=Mv,_.forOwnRight=Uv,_.get=si,_.gt=ov,_.gte=lv,_.has=Bv,_.hasIn=ui,_.head=ic,_.identity=Ot,_.includes=Vg,_.indexOf=b_,_.inRange=a1,_.invoke=Hv,_.isArguments=ir,_.isArray=Se,_.isArrayBuffer=av,_.isArrayLike=Rt,_.isArrayLikeObject=at,_.isBoolean=iv,_.isBuffer=qn,_.isDate=sv,_.isElement=uv,_.isEmpty=cv,_.isEqual=dv,_.isEqualWith=fv,_.isError=ai,_.isFinite=hv,_.isFunction=Vn,_.isInteger=yc,_.isLength=xl,_.isMap=bc,_.isMatch=pv,_.isMatchWith=mv,_.isNaN=_v,_.isNative=gv,_.isNil=wv,_.isNull=vv,_.isNumber=Sc,_.isObject=nt,_.isObjectLike=ot,_.isPlainObject=mo,_.isRegExp=ii,_.isSafeInteger=yv,_.isSet=xc,_.isString=Cl,_.isSymbol=Mt,_.isTypedArray=Ar,_.isUndefined=bv,_.isWeakMap=Sv,_.isWeakSet=xv,_.join=V_,_.kebabCase=f1,_.last=jt,_.lastIndexOf=R_,_.lowerCase=h1,_.lowerFirst=p1,_.lt=Cv,_.lte=Ev,_.max=sw,_.maxBy=uw,_.mean=cw,_.meanBy=dw,_.min=fw,_.minBy=hw,_.stubArray=mi,_.stubFalse=_i,_.stubObject=Q1,_.stubString=J1,_.stubTrue=ew,_.multiply=pw,_.nth=A_,_.noConflict=H1,_.noop=pi,_.now=yl,_.pad=m1,_.padEnd=_1,_.padStart=g1,_.parseInt=v1,_.random=i1,_.reduce=Tg,_.reduceRight=kg,_.repeat=w1,_.replace=y1,_.result=Zv,_.round=mw,_.runInContext=T,_.sample=Ig,_.size=Mg,_.snakeCase=b1,_.some=Ug,_.sortedIndex=$_,_.sortedIndexBy=L_,_.sortedIndexOf=M_,_.sortedLastIndex=U_,_.sortedLastIndexBy=N_,_.sortedLastIndexOf=F_,_.startCase=x1,_.startsWith=C1,_.subtract=_w,_.sum=gw,_.sumBy=vw,_.template=E1,_.times=tw,_.toFinite=Rn,_.toInteger=Ee,_.toLength=Ec,_.toLower=V1,_.toNumber=Xt,_.toSafeInteger=Vv,_.toString=qe,_.toUpper=R1,_.trim=A1,_.trimEnd=O1,_.trimStart=P1,_.truncate=T1,_.unescape=k1,_.uniqueId=rw,_.upperCase=D1,_.upperFirst=ci,_.each=dc,_.eachRight=fc,_.first=ic,hi(_,function(){var e={};return hn(_,function(t,l){Ge.call(_.prototype,l)||(e[l]=t)}),e}(),{chain:!1}),_.VERSION=a,Ht(["bind","bindKey","curry","curryRight","partial","partialRight"],function(e){_[e].placeholder=_}),Ht(["drop","take"],function(e,t){Ie.prototype[e]=function(l){l=l===r?1:ft(Ee(l),0);var i=this.__filtered__&&!t?new Ie(this):this.clone();return i.__filtered__?i.__takeCount__=wt(l,i.__takeCount__):i.__views__.push({size:wt(l,Dt),type:e+(i.__dir__<0?"Right":"")}),i},Ie.prototype[e+"Right"]=function(l){return this.reverse()[e](l).reverse()}}),Ht(["filter","map","takeWhile"],function(e,t){var l=t+1,i=l==ve||l==Ae;Ie.prototype[e]=function(p){var g=this.clone();return g.__iteratees__.push({iteratee:de(p,3),type:l}),g.__filtered__=g.__filtered__||i,g}}),Ht(["head","last"],function(e,t){var l="take"+(t?"Right":"");Ie.prototype[e]=function(){return this[l](1).value()[0]}}),Ht(["initial","tail"],function(e,t){var l="drop"+(t?"":"Right");Ie.prototype[e]=function(){return this.__filtered__?new Ie(this):this[l](1)}}),Ie.prototype.compact=function(){return this.filter(Ot)},Ie.prototype.find=function(e){return this.filter(e).head()},Ie.prototype.findLast=function(e){return this.reverse().find(e)},Ie.prototype.invokeMap=Oe(function(e,t){return typeof e=="function"?new Ie(this):this.map(function(l){return so(l,e,t)})}),Ie.prototype.reject=function(e){return this.filter(Sl(de(e)))},Ie.prototype.slice=function(e,t){e=Ee(e);var l=this;return l.__filtered__&&(e>0||t<0)?new Ie(l):(e<0?l=l.takeRight(-e):e&&(l=l.drop(e)),t!==r&&(t=Ee(t),l=t<0?l.dropRight(-t):l.take(t-e)),l)},Ie.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Ie.prototype.toArray=function(){return this.take(Dt)},hn(Ie.prototype,function(e,t){var l=/^(?:filter|find|map|reject)|While$/.test(t),i=/^(?:head|last)$/.test(t),p=_[i?"take"+(t=="last"?"Right":""):t],g=i||/^find/.test(t);p&&(_.prototype[t]=function(){var S=this.__wrapped__,A=i?[1]:arguments,k=S instanceof Ie,F=A[0],B=k||Se(S),G=function(De){var $e=p.apply(_,Ln([De],A));return i&&ne?$e[0]:$e};B&&l&&typeof F=="function"&&F.length!=1&&(k=B=!1);var ne=this.__chain__,ue=!!this.__actions__.length,he=g&&!ne,Ve=k&&!ue;if(!g&&B){S=Ve?S:new Ie(this);var pe=e.apply(S,A);return pe.__actions__.push({func:vl,args:[G],thisArg:r}),new zt(pe,ne)}return he&&Ve?e.apply(this,A):(pe=this.thru(G),he?i?pe.value()[0]:pe.value():pe)})}),Ht(["pop","push","shift","sort","splice","unshift"],function(e){var t=Ho[e],l=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",i=/^(?:pop|shift)$/.test(e);_.prototype[e]=function(){var p=arguments;if(i&&!this.__chain__){var g=this.value();return t.apply(Se(g)?g:[],p)}return this[l](function(S){return t.apply(Se(S)?S:[],p)})}}),hn(Ie.prototype,function(e,t){var l=_[t];if(l){var i=l.name+"";Ge.call(xr,i)||(xr[i]=[]),xr[i].push({name:t,func:l})}}),xr[dl(r,D).name]=[{name:"wrapper",func:r}],Ie.prototype.clone=kp,Ie.prototype.reverse=Dp,Ie.prototype.value=Ip,_.prototype.at=ug,_.prototype.chain=cg,_.prototype.commit=dg,_.prototype.next=fg,_.prototype.plant=pg,_.prototype.reverse=mg,_.prototype.toJSON=_.prototype.valueOf=_.prototype.value=_g,_.prototype.first=_.prototype.head,to&&(_.prototype[to]=hg),_},yr=dp();Jn?((Jn.exports=yr)._=yr,fa._=yr):mt._=yr}).call(_o)})(Hl,Hl.exports);var Qx=Hl.exports;const Jx=`${wholsSettings.apiBaseURL}whols/v1`,eC=()=>{var n;return{"Content-Type":"application/json","X-WP-Nonce":(n=window.wholsSettings)==null?void 0:n.nonce}},Jt=async(n,o={})=>{try{const r=await fetch(`${Jx}${n}`,{...o,headers:{...eC(),...o.headers}});if(!r.ok)throw new Error(`API request failed: ${r.statusText}`);return await r.json()}catch(r){throw console.error("API request error:",r),r}},tC={getSettings:()=>Jt("/settings"),updateSettings:n=>Jt("/settings",{method:"POST",body:JSON.stringify(n)}),resetSection:n=>Jt("/reset-section",{method:"POST",body:JSON.stringify({fields:n})})},nC={getRoles:()=>Jt("/wholesaler-roles")},rC={getPages:()=>Jt("/pages")},oC={getProducts:()=>Jt("/products"),getCategories:()=>Jt("/product-categories")},lC={getUsers:()=>Jt("/users")},aC={getCountries:()=>Jt("/countries")},iC={getPaymentGateways:()=>Jt("/payment-gateways")},LE={updateOption:(n,o)=>Jt("/wp_option",{method:"POST",body:JSON.stringify({option_name:n,value:o})})},sC={getDashboardData:(n=null,o=!1)=>{const r=new URLSearchParams;n&&n.length===2&&(r.append("date_from",Id(n[0])),r.append("date_to",Id(n[1]))),o&&r.append("force_refresh","1");let a="/dashboard-data";return r.toString()&&(a=`${a}?${r.toString()}`),Jt(a)}},Id=n=>n?(typeof n=="string"?new Date(n):n).toISOString().split("T")[0]:"",sn={settings:tC,roles:nC,pages:rC,products:oC,users:lC,countries:aC,paymentGateways:iC,dashboard:sC};function uC(){const n=xe(!1),o=xe(null),r=xe({}),a=xe({}),s=xe([]),u=xe([]),d=xe({timeSeriesData:[],totalRevenue:0,totalOrders:0}),m=xe([]),c="whols_performance_overview_cache",f=60*60*1e3,h=2,w=O=>{let I="all_time";if(O&&O.length===2&&O[0]&&O[1])try{const H=new Date(O[0]),K=new Date(O[1]),re=ee=>ee.getFullYear()+"-"+String(ee.getMonth()+1).padStart(2,"0")+"-"+String(ee.getDate()).padStart(2,"0");I=`${re(H)}_${re(K)}`}catch(H){console.warn("Error formatting dates for cache key:",H),I="all_time"}return`${c}_${I}`},x=(O,I)=>{try{const H={data:I,timestamp:Date.now()};localStorage.setItem(O,JSON.stringify(H))}catch(H){console.warn("Failed to cache dashboard data:",H)}},y=O=>{try{const I=localStorage.getItem(O);if(!I)return null;const{data:H,timestamp:K}=JSON.parse(I);return Date.now()-K>f?(localStorage.removeItem(O),null):H}catch(I){return console.warn("Failed to retrieve cached dashboard data:",I),null}},C=()=>{try{const I=Object.keys(localStorage).filter(re=>re.startsWith(c));if(I.length===0)return;const H=[],K=Date.now();if(I.forEach(re=>{try{const ee=localStorage.getItem(re);if(!ee)return;const{timestamp:oe}=JSON.parse(ee);K-oe>f?(localStorage.removeItem(re),console.log(`Removed expired cache: ${re}`)):H.push({key:re,timestamp:oe})}catch{localStorage.removeItem(re)}}),H.length>h){H.sort((ee,oe)=>oe.timestamp-ee.timestamp);const re=H.slice(h);re.forEach(ee=>{localStorage.removeItem(ee.key),console.log(`Removed excess cache: ${ee.key}`)}),console.log(`Removed ${re.length} excess cache entries`)}}catch(O){console.warn("Error during cache cleanup:",O)}},V=O=>{r.value=O.metrics||{},s.value=O.topProducts||[],u.value=O.topCategories||[],d.value=O.chartData||{timeSeriesData:[],totalRevenue:0,totalOrders:0},a.value=O.actionItems||{},m.value=O.proFeatures||[]},L=async(O=null,I=!1)=>{var H,K;n.value=!0,o.value=null;try{C();const re=w(O);if(((K=(H=window.wholsSettings)==null?void 0:H.globalSettings)==null?void 0:K.show_wholesale_price_for)==="administrator"&&(I=!0),!I){const oe=y(re);if(oe){console.log("Using cached dashboard data"),V(oe),n.value=!1;return}}const ee=await sn.dashboard.getDashboardData(O,I);V(ee),x(re,ee),console.log("Dashboard data loaded successfully from API")}catch(re){console.error("Error loading dashboard data:",re),o.value=re.message||"Failed to load dashboard data"}finally{n.value=!1}},D=z(()=>{const{totalRevenue:O,totalOrders:I}=d.value;return I?Math.round(O/I*100)/100:0});return{isLoading:n,error:o,metrics:r,actionItems:a,topProducts:s,topCategories:u,chartData:d,proFeatures:m,averageOrderValue:D,fetchDashboardData:L,cleanupCache:C}}function cC(){const n=xe(!1),o=xe("last30days"),r=xe([]),a=xe([]),s=xe("last30days"),u=z(()=>{if(r.value&&r.value.length===2){const C=new Date(r.value[0]),V=new Date(r.value[1]);return`${C.toLocaleDateString()} - ${V.toLocaleDateString()}`}return"Select date range"}),d=z(()=>{switch(o.value){case"today":return"Today";case"yesterday":return"Yesterday";case"last7days":return"Last 7 days";case"last30days":return"Last 30 days";case"last90days":return"Last 90 days";case"last365days":return"Last 365 days";case"lastMonth":return"Last month";case"last12months":return"Last 12 months";case"lastYear":return"Last year";case"custom":return"Custom Range";default:return"Custom Range"}}),m=C=>{if(!C||!C.length||!C[0]||!C[1])return"All time";try{const V=new Date(C[0]),L=new Date(C[1]),D={month:"short",day:"numeric"};return`${V.toLocaleDateString("en-US",D)} - ${L.toLocaleDateString("en-US",D)}`}catch(V){return console.error("Error formatting date range:",V),"All time"}},c=C=>C>new Date,f=C=>{o.value=C;const V=new Date;let L=new Date(V),D;switch(C){case"today":D=new Date(V);break;case"yesterday":D=new Date(V),D.setDate(V.getDate()-1),L.setDate(V.getDate()-1);break;case"last7days":D=new Date(V),D.setDate(V.getDate()-6);break;case"last30days":D=new Date(V),D.setDate(V.getDate()-29);break;case"last90days":D=new Date(V),D.setDate(V.getDate()-89);break;case"last365days":D=new Date(V),D.setDate(V.getDate()-364);break;case"lastMonth":D=new Date(V.getFullYear(),V.getMonth()-1,1),L=new Date(V.getFullYear(),V.getMonth(),0);break;case"last12months":D=new Date(V),D.setMonth(V.getMonth()-11),D.setDate(1),L.setDate(V.getDate());break;case"lastYear":D=new Date(V.getFullYear()-1,0,1),L=new Date(V.getFullYear()-1,11,31);break;default:D=new Date(V),D.setDate(V.getDate()-29)}r.value=[D,L]},h=()=>{a.value=[...r.value],s.value=o.value,n.value=!0},w=()=>{r.value=[...a.value],o.value=s.value,n.value=!1},x=()=>{n.value=!1,a.value=[...r.value],s.value=o.value},y=(C,V)=>{C=new Date(C),V=new Date(V),C.setHours(0,0,0,0),V.setHours(0,0,0,0);const L=new Date;if(L.setHours(0,0,0,0),C.getTime()===L.getTime()&&V.getTime()===L.getTime())return o.value="today",!0;const D=new Date(L);if(D.setDate(L.getDate()-1),C.getTime()===D.getTime()&&V.getTime()===D.getTime())return o.value="yesterday",!0;const O=new Date(L);if(O.setDate(L.getDate()-6),C.getTime()===O.getTime()&&V.getTime()===L.getTime())return o.value="last7days",!0;const I=new Date(L);if(I.setDate(L.getDate()-29),C.getTime()===I.getTime()&&V.getTime()===L.getTime())return o.value="last30days",!0;const H=new Date(L);if(H.setDate(L.getDate()-89),C.getTime()===H.getTime()&&V.getTime()===L.getTime())return o.value="last90days",!0;const K=new Date(L);if(K.setDate(L.getDate()-364),C.getTime()===K.getTime()&&V.getTime()===L.getTime())return o.value="last365days",!0;const re=new Date(L.getFullYear(),L.getMonth()-1,1),ee=new Date(L.getFullYear(),L.getMonth(),0);if(C.getTime()===re.getTime()&&V.getTime()===ee.getTime())return o.value="lastMonth",!0;const oe=new Date(L);if(oe.setMonth(L.getMonth()-11),oe.setDate(1),C.getTime()===oe.getTime()&&V.getTime()===L.getTime())return o.value="last12months",!0;const ie=new Date(L.getFullYear()-1,0,1),Z=new Date(L.getFullYear()-1,11,31);return C.getTime()===ie.getTime()&&V.getTime()===Z.getTime()?(o.value="lastYear",!0):!1};return f("last30days"),{dateRange:r,datePreset:o,datePopoverVisible:n,selectedDateRangeText:u,datePresetName:d,selectPreset:f,openDatePopover:h,cancelDateSelection:w,applyDateFilter:x,checkIfDateRangeMatchesPreset:y,formatDateRangeLabel:m,disableFutureDates:c}}function dC(){const n=xe({revenue:null,orders:null,aov:null}),o={revenue:xe(null),orders:xe(null),aov:xe(null)},r=h=>new Intl.NumberFormat("en-US").format(Math.round(h*100)/100),a=(h,w,x,y,C=!1)=>({type:"line",data:{labels:h,datasets:[{label:y,data:w,borderColor:x,backgroundColor:x+"15",borderWidth:2.5,pointBackgroundColor:"#ffffff",pointBorderColor:x,pointBorderWidth:2,pointRadius:3,pointHoverRadius:5,fill:!0,tension:.4}]},options:{responsive:!0,maintainAspectRatio:!1,animation:{duration:1e3,easing:"easeOutQuart"},plugins:{legend:{display:!1},tooltip:{mode:"index",intersect:!1,callbacks:{label:function(V){let L=V.dataset.label||"";return L&&(L+=": "),V.parsed.y!==null&&(C?L+="$"+r(V.parsed.y):L+=V.parsed.y),L}}}},scales:{x:{grid:{display:!1},ticks:{maxRotation:0,font:{size:10}}},y:{beginAtZero:!0,grid:{color:"#f5f7fa",borderDash:[3,3]},ticks:{callback:function(V){return C?"$"+r(V):V},font:{size:10}}}}}}),s=h=>!h||!h.length?[]:h.map(w=>{const x=new Date(w.date);return`${x.getMonth()+1}/${x.getDate()}`}),u=h=>{var V;if(!o.revenue.value||!window.Chart)return;const w=o.revenue.value.getContext("2d"),x=s(h.timeSeriesData),y=((V=h.timeSeriesData)==null?void 0:V.map(L=>L.revenue))||[],C=a(x,y,"#67C23A","Revenue ($)",!0);n.value.revenue&&n.value.revenue.destroy(),n.value.revenue=new window.Chart(w,C)},d=h=>{var V;if(!o.orders.value||!window.Chart)return;const w=o.orders.value.getContext("2d"),x=s(h.timeSeriesData),y=((V=h.timeSeriesData)==null?void 0:V.map(L=>L.orders))||[],C=a(x,y,"#409EFF","Orders",!1);n.value.orders&&n.value.orders.destroy(),n.value.orders=new window.Chart(w,C)},m=h=>{var V;if(!o.aov.value||!window.Chart)return;const w=o.aov.value.getContext("2d"),x=s(h.timeSeriesData),y=((V=h.timeSeriesData)==null?void 0:V.map(L=>L.aov))||[],C=a(x,y,"#E6A23C","Average Order Value ($)",!0);n.value.aov&&n.value.aov.destroy(),n.value.aov=new window.Chart(w,C)},c=h=>{u(h),d(h),m(h)},f=()=>new Promise((h,w)=>{if(window.Chart){h(window.Chart);return}const x=document.createElement("script");x.src="https://cdn.jsdelivr.net/npm/chart.js",x.onload=()=>h(window.Chart),x.onerror=()=>w(new Error("Failed to load Chart.js")),document.head.appendChild(x)});return Ud(()=>{Object.values(n.value).forEach(h=>{h&&h.destroy()})}),{chartRefs:o,renderCharts:c,loadChartLibrary:f,formatNumber:r}}const fC={class:"whols-action-items__content"},hC={class:"whols-action-items__item whols-action-items__item--registration"},pC={class:"whols-action-items__details"},mC={class:"whols-action-items__number"},_C={class:"whols-action-items__item whols-action-items__item--order"},gC={class:"whols-action-items__details"},vC={class:"whols-action-items__number"},wC={class:"whols-action-items__item whols-action-items__item--conversation"},yC={class:"whols-action-items__details"},bC={class:"whols-action-items__number"},SC={__name:"ActionItems",props:{actionItems:{type:Object,default:()=>({pendingRegistrations:0,conversationsNeedingReply:0,pendingOrders:0})}},setup(n){const o=tt(),r=z(()=>Number(o.state.settings.enable_conversation)),a=()=>{var d;window.location.href=((d=window.wholsSettings)==null?void 0:d.adminUrl)+"edit.php?post_type=whols_user_request"},s=()=>{var d;window.location.href=((d=window.wholsSettings)==null?void 0:d.adminUrl)+"edit.php?post_type=whols_conversation"},u=()=>{var d;window.location.href=((d=window.wholsSettings)==null?void 0:d.adminUrl)+"edit.php?post_type=shop_order"};return(d,m)=>{const c=M("el-button"),f=M("el-col"),h=M("el-row"),w=M("el-card");return P(),q(w,{class:"whols-action-items"},{header:b(()=>m[0]||(m[0]=[E("div",{class:"whols-action-items__header"},[E("h3",null,"Action Items")],-1)])),default:b(()=>[E("div",fC,[v(h,{gutter:20},{default:b(()=>[v(f,{xs:24,sm:8},{default:b(()=>[E("div",hC,[E("div",pC,[m[1]||(m[1]=E("div",{class:"whols-action-items__title"},"Pending Registrations",-1)),E("div",mC,le(n.actionItems.pendingRegistrations||0),1)]),v(c,{type:"primary",size:"small",onClick:a},{default:b(()=>m[2]||(m[2]=[J("View")])),_:1})])]),_:1}),v(f,{xs:24,sm:8},{default:b(()=>[E("div",_C,[E("div",gC,[m[3]||(m[3]=E("div",{class:"whols-action-items__title"},"Pending Orders",-1)),E("div",vC,le(n.actionItems.pendingOrders||0),1)]),v(c,{type:"warning",size:"small",onClick:u},{default:b(()=>m[4]||(m[4]=[J("View")])),_:1})])]),_:1}),r.value?(P(),q(f,{key:0,xs:24,sm:8},{default:b(()=>[E("div",wC,[E("div",yC,[m[5]||(m[5]=E("div",{class:"whols-action-items__title"},"Conversations Needing Reply",-1)),E("div",bC,le(n.actionItems.conversationsNeedingReply||0),1)]),v(c,{type:"danger",size:"small",onClick:s},{default:b(()=>m[6]||(m[6]=[J("View")])),_:1})])]),_:1})):Pe("",!0)]),_:1})])]),_:1})}}},xC=ze(SC,[["__scopeId","data-v-28d35d19"]]),CC={class:"whols-date-picker"},EC={class:"whols-date-picker__preset-name"},VC={class:"whols-date-picker__range-text"},RC={class:"whols-date-picker__content"},AC={class:"whols-date-picker__calendar"},OC={class:"whols-date-picker__presets"},PC={class:"whols-date-picker__footer"},TC={__name:"DateRangePicker",props:{dateRange:{type:Array,default:()=>[]},datePreset:{type:String,default:"last30days"},datePopoverVisible:{type:Boolean,default:!1},selectedDateRangeText:{type:String,default:""},datePresetName:{type:String,default:"Last 30 days"}},emits:["update:dateRange","update:datePreset","update:datePopoverVisible","openDatePopover","cancelDateSelection","applyDateFilter","selectPreset"],setup(n,{emit:o}){const r=n,a=o,s=z({get:()=>r.dateRange,set:y=>a("update:dateRange",y)}),u=z({get:()=>r.datePreset,set:y=>a("update:datePreset",y)}),d=()=>{a("openDatePopover")},m=()=>{a("cancelDateSelection"),setTimeout(()=>{var y;(y=document.querySelector(".whols-date-picker__button"))==null||y.focus()},50)},c=()=>{a("applyDateFilter"),setTimeout(()=>{var y;(y=document.querySelector(".whols-date-picker__button"))==null||y.focus()},50)},f=y=>{u.value=y,a("selectPreset",y)},h=y=>y>new Date,w=()=>{setTimeout(()=>{var y;(y=document.querySelector(".whols-date-picker__button"))==null||y.focus()},50)},x=y=>{if(r.datePopoverVisible){const C=document.querySelector(".whols-date-picker__popover"),V=document.querySelector(".whols-date-picker__button");C&&V&&!C.contains(y.target)&&!V.contains(y.target)&&!y.target.closest(".el-picker-panel")&&a("cancelDateSelection")}};return fr(()=>{document.addEventListener("click",x)}),Fd(()=>{document.removeEventListener("click",x)}),(y,C)=>{const V=M("el-icon"),L=M("el-date-picker"),D=M("el-col"),O=M("el-row"),I=M("el-button"),H=M("el-popover");return P(),X("div",CC,[v(H,{placement:"bottom",width:430,trigger:"manual","hide-after":0,teleported:!0,visible:n.datePopoverVisible,onClick:C[12]||(C[12]=Ur(()=>{},["stop"])),onHide:w},{reference:b(()=>[E("div",{class:"whols-date-picker__button",onClick:Ur(d,["stop"]),tabindex:"0",role:"button","aria-haspopup":"true","aria-expanded":"datePopoverVisible"},[v(V,{class:"whols-date-picker__calendar-icon"},{default:b(()=>[v(R(Ww))]),_:1}),C[13]||(C[13]=E("div",{class:"whols-date-picker__separator"},null,-1)),E("div",EC,le(n.datePresetName),1),C[14]||(C[14]=E("div",{class:"whols-date-picker__separator"},null,-1)),E("code",VC,le(n.selectedDateRangeText),1),v(V,{class:"whols-date-picker__dropdown-icon"},{default:b(()=>[v(R(Bd))]),_:1})])]),default:b(()=>[E("div",{class:"whols-date-picker__popover",onClick:C[11]||(C[11]=Ur(()=>{},["stop"]))},[E("div",RC,[E("div",AC,[v(L,{modelValue:s.value,"onUpdate:modelValue":C[0]||(C[0]=K=>s.value=K),type:"daterange","range-separator":"To","start-placeholder":"Start date","end-placeholder":"End date","disabled-date":h,onClick:C[1]||(C[1]=Ur(()=>{},["stop"])),"popper-options":{modifiers:[{name:"preventOverflow",options:{boundary:"viewport"}}]}},null,8,["modelValue"])]),E("div",OC,[C[15]||(C[15]=E("h3",null,"Presets",-1)),v(O,{gutter:20},{default:b(()=>[v(D,{span:12},{default:b(()=>[E("div",{class:Me(["whols-date-picker__preset-item",{"whols-date-picker__preset-item--active":u.value==="today"}]),onClick:C[2]||(C[2]=K=>f("today"))}," Today ",2),E("div",{class:Me(["whols-date-picker__preset-item",{"whols-date-picker__preset-item--active":u.value==="yesterday"}]),onClick:C[3]||(C[3]=K=>f("yesterday"))}," Yesterday ",2),E("div",{class:Me(["whols-date-picker__preset-item",{"whols-date-picker__preset-item--active":u.value==="lastMonth"}]),onClick:C[4]||(C[4]=K=>f("lastMonth"))}," Last month ",2),E("div",{class:Me(["whols-date-picker__preset-item",{"whols-date-picker__preset-item--active":u.value==="last12months"}]),onClick:C[5]||(C[5]=K=>f("last12months"))}," Last 12 months ",2),E("div",{class:Me(["whols-date-picker__preset-item",{"whols-date-picker__preset-item--active":u.value==="lastYear"}]),onClick:C[6]||(C[6]=K=>f("lastYear"))}," Last year ",2)]),_:1}),v(D,{span:12},{default:b(()=>[E("div",{class:Me(["whols-date-picker__preset-item",{"whols-date-picker__preset-item--active":u.value==="last7days"}]),onClick:C[7]||(C[7]=K=>f("last7days"))}," Last 7 days ",2),E("div",{class:Me(["whols-date-picker__preset-item",{"whols-date-picker__preset-item--active":u.value==="last30days"}]),onClick:C[8]||(C[8]=K=>f("last30days"))}," Last 30 days ",2),E("div",{class:Me(["whols-date-picker__preset-item",{"whols-date-picker__preset-item--active":u.value==="last90days"}]),onClick:C[9]||(C[9]=K=>f("last90days"))}," Last 90 days ",2),E("div",{class:Me(["whols-date-picker__preset-item",{"whols-date-picker__preset-item--active":u.value==="last365days"}]),onClick:C[10]||(C[10]=K=>f("last365days"))}," Last 365 days ",2)]),_:1})]),_:1})]),E("div",PC,[v(I,{onClick:m},{default:b(()=>C[16]||(C[16]=[J("Cancel")])),_:1}),v(I,{type:"primary",onClick:c},{default:b(()=>C[17]||(C[17]=[J("Update")])),_:1})])])])]),_:1},8,["visible"])])}}},kC=ze(TC,[["__scopeId","data-v-fb8b89ec"]]),DC={class:"whols-metrics"},IC={class:"whols-metrics__card",style:{"background-color":"rgb(245, 247, 250)",border:"1px solid #dcdfe6"}},$C={class:"whols-metrics__body"},LC={class:"whols-metrics__value"},MC={class:"whols-metrics__card",style:{"background-color":"rgb(245, 247, 250)",border:"1px solid #dcdfe6"}},UC={class:"whols-metrics__body"},NC={class:"whols-metrics__value"},FC=["innerHTML"],BC={class:"whols-metrics__card",style:{"background-color":"rgb(245, 247, 250)",border:"1px solid #dcdfe6"}},WC={class:"whols-metrics__body"},qC={class:"whols-metrics__value"},HC=["innerHTML"],GC={class:"whols-metrics__card",style:{"background-color":"rgb(245, 247, 250)",border:"1px solid #dcdfe6"}},zC={class:"whols-metrics__body"},YC={class:"whols-metrics__value"},KC={class:"whols-metrics__card",style:{"background-color":"rgb(245, 247, 250)",border:"1px solid #dcdfe6"}},jC={class:"whols-metrics__body"},XC={class:"whols-metrics__value"},ZC={class:"whols-metrics__card",style:{"background-color":"rgb(245, 247, 250)",border:"1px solid #dcdfe6"}},QC={class:"whols-metrics__body"},JC={class:"whols-metrics__value"},e2={__name:"MetricsGrid",props:{metrics:{type:Object,default:()=>({})}},setup(n){const o=z(()=>Kl()),r=a=>new Intl.NumberFormat("en-US").format(Math.round(a*100)/100);return(a,s)=>{const u=M("el-icon"),d=M("el-col"),m=M("el-row");return P(),X("div",DC,[v(m,{gutter:20,class:"whols-metrics__row"},{default:b(()=>[v(d,{xs:24,sm:12,md:8,class:"whols-metrics__col"},{default:b(()=>{var c,f,h,w;return[E("div",IC,[E("div",$C,[s[1]||(s[1]=E("h3",{class:"whols-metrics__title"},"Orders",-1)),E("div",LC,le(((c=n.metrics.orders)==null?void 0:c.total)||0),1),E("div",{class:Me(["whols-metrics__trend",(((f=n.metrics.orders)==null?void 0:f.trend)||0)>0?"whols-metrics__trend--up":"whols-metrics__trend--down"])},[(((h=n.metrics.orders)==null?void 0:h.trend)||0)>0?(P(),q(u,{key:0},{default:b(()=>[v(R(Pr))]),_:1})):(P(),q(u,{key:1},{default:b(()=>[v(R(Tr))]),_:1})),J(" "+le(Math.abs(((w=n.metrics.orders)==null?void 0:w.trend)||0))+"% ",1),s[0]||(s[0]=E("span",{class:"whols-metrics__period"},"vs Previous Period",-1))],2)])])]}),_:1}),v(d,{xs:24,sm:12,md:8,class:"whols-metrics__col"},{default:b(()=>{var c,f,h,w;return[E("div",MC,[E("div",UC,[s[3]||(s[3]=E("h3",{class:"whols-metrics__title"},"Revenue",-1)),E("div",NC,[E("span",{innerHTML:o.value},null,8,FC),J(le(r(((c=n.metrics.sales)==null?void 0:c.total)||0)),1)]),E("div",{class:Me(["whols-metrics__trend",(((f=n.metrics.sales)==null?void 0:f.trend)||0)>0?"whols-metrics__trend--up":"whols-metrics__trend--down"])},[(((h=n.metrics.sales)==null?void 0:h.trend)||0)>0?(P(),q(u,{key:0},{default:b(()=>[v(R(Pr))]),_:1})):(P(),q(u,{key:1},{default:b(()=>[v(R(Tr))]),_:1})),J(" "+le(Math.abs(((w=n.metrics.sales)==null?void 0:w.trend)||0))+"% ",1),s[2]||(s[2]=E("span",{class:"whols-metrics__period"},"vs Previous Period",-1))],2)])])]}),_:1}),v(d,{xs:24,sm:12,md:8,class:"whols-metrics__col"},{default:b(()=>{var c,f,h,w;return[E("div",BC,[E("div",WC,[s[5]||(s[5]=E("h3",{class:"whols-metrics__title"},"Avg. Order Value",-1)),E("div",qC,[E("span",{innerHTML:o.value},null,8,HC),J(le(r(((c=n.metrics.aov)==null?void 0:c.total)||0)),1)]),E("div",{class:Me(["whols-metrics__trend",(((f=n.metrics.aov)==null?void 0:f.trend)||0)>0?"whols-metrics__trend--up":"whols-metrics__trend--down"])},[(((h=n.metrics.aov)==null?void 0:h.trend)||0)>0?(P(),q(u,{key:0},{default:b(()=>[v(R(Pr))]),_:1})):(P(),q(u,{key:1},{default:b(()=>[v(R(Tr))]),_:1})),J(" "+le(Math.abs(((w=n.metrics.aov)==null?void 0:w.trend)||0))+"% ",1),s[4]||(s[4]=E("span",{class:"whols-metrics__period"},"vs Previous Period",-1))],2)])])]}),_:1})]),_:1}),v(m,{gutter:20,class:"whols-metrics__row"},{default:b(()=>[v(d,{xs:24,sm:12,md:8,class:"whols-metrics__col"},{default:b(()=>{var c,f,h,w;return[E("div",GC,[E("div",zC,[s[7]||(s[7]=E("h3",{class:"whols-metrics__title"},"Customers",-1)),E("div",YC,le(((c=n.metrics.customers)==null?void 0:c.total)||0),1),E("div",{class:Me(["whols-metrics__trend",(((f=n.metrics.customers)==null?void 0:f.trend)||0)>0?"whols-metrics__trend--up":"whols-metrics__trend--down"])},[(((h=n.metrics.customers)==null?void 0:h.trend)||0)>0?(P(),q(u,{key:0},{default:b(()=>[v(R(Pr))]),_:1})):(P(),q(u,{key:1},{default:b(()=>[v(R(Tr))]),_:1})),J(" "+le(Math.abs(((w=n.metrics.customers)==null?void 0:w.trend)||0))+"% ",1),s[6]||(s[6]=E("span",{class:"whols-metrics__period"},"vs Previous Period",-1))],2)])])]}),_:1}),v(d,{xs:24,sm:12,md:8,class:"whols-metrics__col"},{default:b(()=>{var c,f,h,w;return[E("div",KC,[E("div",jC,[s[9]||(s[9]=E("h3",{class:"whols-metrics__title"},"Products Sold (Qty)",-1)),E("div",XC,le(((c=n.metrics.productsSold)==null?void 0:c.total)||0),1),E("div",{class:Me(["whols-metrics__trend",(((f=n.metrics.productsSold)==null?void 0:f.trend)||0)>0?"whols-metrics__trend--up":"whols-metrics__trend--down"])},[(((h=n.metrics.productsSold)==null?void 0:h.trend)||0)>0?(P(),q(u,{key:0},{default:b(()=>[v(R(Pr))]),_:1})):(P(),q(u,{key:1},{default:b(()=>[v(R(Tr))]),_:1})),J(" "+le(Math.abs(((w=n.metrics.productsSold)==null?void 0:w.trend)||0))+"% ",1),s[8]||(s[8]=E("span",{class:"whols-metrics__period"},"vs Previous Period",-1))],2)])])]}),_:1}),v(d,{xs:24,sm:12,md:8,class:"whols-metrics__col"},{default:b(()=>{var c,f,h,w;return[E("div",ZC,[E("div",QC,[s[11]||(s[11]=E("h3",{class:"whols-metrics__title"},"Items Per Order",-1)),E("div",JC,le(((c=n.metrics.itemsPerOrder)==null?void 0:c.total)||0),1),E("div",{class:Me(["whols-metrics__trend",(((f=n.metrics.itemsPerOrder)==null?void 0:f.trend)||0)>0?"whols-metrics__trend--up":"whols-metrics__trend--down"])},[(((h=n.metrics.itemsPerOrder)==null?void 0:h.trend)||0)>0?(P(),q(u,{key:0},{default:b(()=>[v(R(Pr))]),_:1})):(P(),q(u,{key:1},{default:b(()=>[v(R(Tr))]),_:1})),J(" "+le(Math.abs(((w=n.metrics.itemsPerOrder)==null?void 0:w.trend)||0))+"% ",1),s[10]||(s[10]=E("span",{class:"whols-metrics__period"},"vs Previous Period",-1))],2)])])]}),_:1})]),_:1})])}}},t2=ze(e2,[["__scopeId","data-v-cf84b528"]]),n2={class:"whols-charts__header"},r2={class:"whols-charts__header-left"},o2={class:"whols-charts__subtitle"},l2={class:"whols-charts__header-right"},a2={class:"whols-charts__layout-controls"},i2={class:"whols-charts__card"},s2={class:"whols-charts__card-header whols-charts__card-header--orders"},u2={class:"whols-charts__title-container"},c2={class:"whols-charts__value"},d2=["innerHTML"],f2={class:"whols-charts__container"},h2={class:"whols-charts__card"},p2={class:"whols-charts__card-header whols-charts__card-header--revenue"},m2={class:"whols-charts__title-container"},_2={class:"whols-charts__value"},g2=["innerHTML"],v2={class:"whols-charts__container"},w2={class:"whols-charts__card"},y2={class:"whols-charts__card-header whols-charts__card-header--aov"},b2={class:"whols-charts__title-container"},S2={class:"whols-charts__value"},x2=["innerHTML"],C2={class:"whols-charts__container"},E2={__name:"ChartsSection",props:{chartData:{type:Object,default:()=>({timeSeriesData:[],totalRevenue:0,totalOrders:0})},dateRange:{type:Array,default:()=>[]},layout:{type:String,default:"third"}},emits:["update:layout"],setup(n,{expose:o,emit:r}){const a=z(()=>Kl()),s=n,u=r,d=xe(null),m=xe(null),c=xe(null),f=z({get:()=>s.layout,set:y=>u("update:layout",y)}),h=z(()=>{const{totalRevenue:y,totalOrders:C}=s.chartData;return C?Math.round(y/C*100)/100:0}),w=z(()=>{if(!s.dateRange||!s.dateRange.length||!s.dateRange[0]||!s.dateRange[1])return"All time";try{const y=new Date(s.dateRange[0]),C=new Date(s.dateRange[1]),V={month:"short",day:"numeric"};return`${y.toLocaleDateString("en-US",V)} - ${C.toLocaleDateString("en-US",V)}`}catch(y){return console.error("Error formatting date range:",y),"All time"}}),x=y=>new Intl.NumberFormat("en-US").format(Math.round(y*100)/100);return o({revenueChartRef:d,ordersChartRef:m,aovChartRef:c}),(y,C)=>{const V=M("el-radio-button"),L=M("el-radio-group"),D=M("el-card");return P(),q(D,{class:"whols-charts"},{header:b(()=>[E("div",n2,[E("div",r2,[C[1]||(C[1]=E("h3",null,"Charts",-1)),E("span",o2,le(w.value),1)]),E("div",l2,[E("div",a2,[C[5]||(C[5]=E("span",{class:"whols-charts__layout-label"},"Layout:",-1)),v(L,{modelValue:f.value,"onUpdate:modelValue":C[0]||(C[0]=O=>f.value=O),size:"small"},{default:b(()=>[v(V,{label:"full"},{default:b(()=>C[2]||(C[2]=[J("Full Width")])),_:1}),v(V,{label:"half"},{default:b(()=>C[3]||(C[3]=[J("2 Columns")])),_:1}),v(V,{label:"third"},{default:b(()=>C[4]||(C[4]=[J("3 Columns")])),_:1})]),_:1},8,["modelValue"])])])])]),default:b(()=>[E("div",{class:Me(["whols-charts__grid","whols-charts__grid--"+n.layout])},[E("div",i2,[E("div",s2,[E("div",u2,[E("h4",null,[C[6]||(C[6]=J("Orders - ")),E("span",c2,[E("span",{innerHTML:a.value},null,8,d2),J(le(x(n.chartData.totalOrders)),1)])])])]),E("div",f2,[E("canvas",{ref_key:"ordersChartRef",ref:m,height:"180"},null,512)])]),E("div",h2,[E("div",p2,[E("div",m2,[E("h4",null,[C[7]||(C[7]=J("Revenue - ")),E("span",_2,[E("span",{innerHTML:a.value},null,8,g2),J(le(x(n.chartData.totalRevenue)),1)])])])]),E("div",v2,[E("canvas",{ref_key:"revenueChartRef",ref:d,height:"180"},null,512)])]),E("div",w2,[E("div",y2,[E("div",b2,[E("h4",null,[C[8]||(C[8]=J("Average Order Value - ")),E("span",S2,[E("span",{innerHTML:a.value},null,8,x2),J(le(x(h.value)),1)])])])]),E("div",C2,[E("canvas",{ref_key:"aovChartRef",ref:c,height:"180"},null,512)])])],2)]),_:1})}}},V2=ze(E2,[["__scopeId","data-v-cc323c70"]]),R2={class:"whols-top-products__header"},A2={class:"whols-top-products__header-content"},O2={class:"whols-top-products__subtitle"},P2=["innerHTML"],T2={__name:"TopProductsTable",props:{products:{type:Array,default:()=>[]},dateRange:{type:Array,default:()=>[]},loading:{type:Boolean,default:!1}},setup(n){const o=z(()=>Kl()),r=n,a=z(()=>{if(!r.dateRange||!r.dateRange.length||!r.dateRange[0]||!r.dateRange[1])return"All time";try{const u=new Date(r.dateRange[0]),d=new Date(r.dateRange[1]),m={month:"short",day:"numeric"};return`${u.toLocaleDateString("en-US",m)} - ${d.toLocaleDateString("en-US",m)}`}catch(u){return console.error("Error formatting date range:",u),"All time"}}),s=u=>new Intl.NumberFormat("en-US").format(Math.round(u*100)/100);return(u,d)=>{const m=M("el-table-column"),c=M("el-table"),f=M("el-card"),h=Qi("loading");return P(),q(f,{class:"whols-top-products"},{header:b(()=>[E("div",R2,[E("div",A2,[d[0]||(d[0]=E("h3",null,"Top Products",-1)),E("span",O2,le(a.value),1)])])]),default:b(()=>[Qt((P(),q(c,{data:n.products,style:{width:"100%"},"show-header":!0,size:"default"},{default:b(()=>[v(m,{prop:"name",label:"Product","min-width":"120"}),v(m,{prop:"itemsSold",label:"Items Sold",width:"100",align:"right"}),v(m,{prop:"netSales",label:"Net Sales",width:"120",align:"right"},{default:b(w=>[E("span",{innerHTML:o.value},null,8,P2),J(le(s(w.row.netSales)),1)]),_:1})]),_:1},8,["data"])),[[h,n.loading]])]),_:1})}}},k2=ze(T2,[["__scopeId","data-v-682970c2"]]),D2={class:"whols-top-categories__header"},I2={class:"whols-top-categories__header-content"},$2={class:"whols-top-categories__subtitle"},L2=["innerHTML"],M2={__name:"TopCategoriesTable",props:{categories:{type:Array,default:()=>[]},dateRange:{type:Array,default:()=>[]},loading:{type:Boolean,default:!1}},setup(n){const o=z(()=>Kl()),r=n,a=z(()=>{if(!r.dateRange||!r.dateRange.length||!r.dateRange[0]||!r.dateRange[1])return"All time";try{const u=new Date(r.dateRange[0]),d=new Date(r.dateRange[1]),m={month:"short",day:"numeric"};return`${u.toLocaleDateString("en-US",m)} - ${d.toLocaleDateString("en-US",m)}`}catch(u){return console.error("Error formatting date range:",u),"All time"}}),s=u=>new Intl.NumberFormat("en-US").format(Math.round(u*100)/100);return(u,d)=>{const m=M("el-table-column"),c=M("el-table"),f=M("el-card"),h=Qi("loading");return P(),q(f,{class:"whols-top-categories"},{header:b(()=>[E("div",D2,[E("div",I2,[d[0]||(d[0]=E("h3",null,"Top Categories",-1)),E("span",$2,le(a.value),1)])])]),default:b(()=>[Qt((P(),q(c,{data:n.categories,style:{width:"100%"},"show-header":!0,size:"default"},{default:b(()=>[v(m,{prop:"name",label:"Category","min-width":"120"}),v(m,{prop:"itemsSold",label:"Items Sold",width:"100",align:"right"}),v(m,{prop:"netSales",label:"Net Sales",width:"120",align:"right"},{default:b(w=>[E("span",{innerHTML:o.value},null,8,L2),J(le(s(w.row.netSales)),1)]),_:1})]),_:1},8,["data"])),[[h,n.loading]])]),_:1})}}},U2=ze(M2,[["__scopeId","data-v-c5a83d67"]]),N2={class:"card-header"},F2={class:"card-header-controls"},B2={__name:"Dashboard",setup(n){const{isLoading:o,metrics:r,actionItems:a,topProducts:s,topCategories:u,chartData:d,fetchDashboardData:m}=uC(),c=xe(!1),{dateRange:f,datePreset:h,datePopoverVisible:w,selectedDateRangeText:x,datePresetName:y,selectPreset:C,openDatePopover:V,cancelDateSelection:L,applyDateFilter:D,checkIfDateRangeMatchesPreset:O}=cC(),{chartRefs:I,renderCharts:H,loadChartLibrary:K}=dC(),re=xe(null),ee=xe(f0("whols-chart-layout")||"third");cn(ee,N=>{d0("whols-chart-layout",N,365)}),cn(f,N=>{N&&N.length===2?O(N[0],N[1])||(h.value="custom"):(!N||N.length===0)&&C("last30days")});const oe=()=>{D(),ie()},ie=async(N=!1)=>{await m(f.value,N),Le()},Z=async()=>{try{c.value=!0,await ie(!0),Ii({message:"Data refreshed successfully",type:"success",offset:40})}catch(N){Ii({message:"Failed to refresh data",type:"error",offset:40}),console.error("Sync error:",N)}finally{c.value=!1}};Qx.debounce(()=>{ie()},500);const Le=async()=>{window.Chart||await K();const N=be();N&&d.value&&(I.revenue.value=N.revenueChartRef,I.orders.value=N.ordersChartRef,I.aov.value=N.aovChartRef,H(d.value))},be=()=>re.value?{revenueChartRef:re.value.revenueChartRef,ordersChartRef:re.value.ordersChartRef,aovChartRef:re.value.aovChartRef}:null;return fr(async()=>{C("last30days"),await ie()}),fr(()=>{const N=new Event("hashchange",{bubbles:!0});window.dispatchEvent(N)}),(N,ve)=>{const Te=M("el-button"),Ae=M("el-col"),Ue=M("el-row"),vt=M("el-card"),In=Qi("loading");return P(),X(ge,null,[v(xC,{"action-items":R(a)},null,8,["action-items"]),Qt((P(),q(vt,{class:"analytics-section"},{header:b(()=>[E("div",N2,[ve[5]||(ve[5]=E("h3",null,"Performance Overview (B2B)",-1)),E("div",F2,[v(ff,{content:"* Force refresh data (clears cache) <br>* Data is cached for 1 hour <br>* When Test mode is enabled, data is not cached",placement:"top"},{default:b(()=>[v(Te,{class:"sync-button",icon:R(qw),type:"primary",plain:"",size:"medium",loading:c.value,onClick:Z},{default:b(()=>ve[4]||(ve[4]=[J(" Refresh ")])),_:1},8,["icon","loading"])]),_:1}),v(kC,{"date-range":R(f),"onUpdate:dateRange":ve[0]||(ve[0]=ht=>Wr(f)?f.value=ht:null),"date-preset":R(h),"onUpdate:datePreset":ve[1]||(ve[1]=ht=>Wr(h)?h.value=ht:null),"date-popover-visible":R(w),"onUpdate:datePopoverVisible":ve[2]||(ve[2]=ht=>Wr(w)?w.value=ht:null),"selected-date-range-text":R(x),"date-preset-name":R(y),onOpenDatePopover:R(V),onCancelDateSelection:R(L),onApplyDateFilter:oe,onSelectPreset:R(C)},null,8,["date-range","date-preset","date-popover-visible","selected-date-range-text","date-preset-name","onOpenDatePopover","onCancelDateSelection","onSelectPreset"])])])]),default:b(()=>[v(t2,{metrics:R(r)},null,8,["metrics"]),v(V2,{layout:ee.value,"onUpdate:layout":ve[3]||(ve[3]=ht=>ee.value=ht),"chart-data":R(d),"date-range":R(f),ref_key:"chartsRef",ref:re},null,8,["layout","chart-data","date-range"]),v(Ue,{gutter:20,class:"leaderboards-row"},{default:b(()=>[v(Ae,{xs:24,sm:12},{default:b(()=>[v(k2,{products:R(s),"date-range":R(f),loading:R(o)},null,8,["products","date-range","loading"])]),_:1}),v(Ae,{xs:24,sm:12},{default:b(()=>[v(U2,{categories:R(u),"date-range":R(f),loading:R(o)},null,8,["categories","date-range","loading"])]),_:1})]),_:1})]),_:1})),[[In,R(o)]])],64)}}},If=ze(B2,[["__scopeId","data-v-cdab2d13"]]),W2={class:"dashboard-content"},q2={__name:"DashboardContent",setup(n){return(o,r)=>(P(),X("div",W2,[v(If)]))}},H2=ze(q2,[["__scopeId","data-v-2443efa9"]]),G2=[{path:"/onboarding",name:"onboarding",component:()=>Qw(()=>import("./Onboarding.Dis6SB7l.js"),__vite__mapDeps([0,1])),meta:{layout:"blank"}},{path:"/dashboard",component:If,meta:{layout:"default"},children:[{path:"",name:"dashboard",component:H2}]},{path:"/settings",component:Zx,meta:{layout:"default"},children:[{path:"",redirect:"/settings/general"},{path:"general",name:"general",component:p0},{path:"registration",name:"registration",component:_0},{path:"fields-manager",name:"fields-manager",component:wS},{path:"product-visibility",name:"product-visibility",component:bS},{path:"wholesaler-only-categories",name:"wholesaler-only-categories",component:TS},{path:"guest-access",name:"guest-access",component:DS},{path:"request-a-quote",name:"request-a-quote",component:$S},{path:"conversation",name:"conversation",component:MS},{path:"wallet",name:"wallet",component:NS},{path:"save-order-list",name:"save-order-list",component:BS},{path:"others",name:"others",component:qS},{path:"email-notifications",name:"email-notifications",component:tx},{path:"thank-you-message",name:"thank-you-message",component:nx},{path:"design",name:"design",component:ux},{path:"dynamic-rules",name:"dynamic-rules",component:Dx},{path:"bulk-order-form",name:"bulk-order-form",component:$x}]},{path:"/",redirect:"/settings/general"},{path:"/:pathMatch(.*)*",redirect:"/settings/general"}],$d=ub({history:Uy(),routes:G2}),z2=()=>({settings:{},users:[],pages:[],products:[],productCategories:[],countries:[],wholsRoles:{},paymentGateways:{},isLoading:!1,isSaving:!1,isResetting:!1,error:null,validationErrors:{},activeMenu:"general",formConfig:{labelPosition:"left"},displayProModal:!1}),Y2={setSettings(n,o){n.settings=o},updateSetting(n,{key:o,value:r}){n.settings={...n.settings,[o]:r}},updateFormConfig(n,o){n.formConfig={...n.formConfig,...o}},setActiveMenu(n,o){n.activeMenu=o},setWholsRoles(n,o){n.wholsRoles=o},setUsers(n,o){n.users=o},setPages(n,o){n.pages=o},setProducts(n,o){n.products=o},setProductCategories(n,o){n.productCategories=o},setCountries(n,o){n.countries=o},setPaymentGateways(n,o){n.paymentGateways=o},setLoading(n,o){n.isLoading=o},setSaving(n,o){n.isSaving=o},setResetting(n,o){n.isResetting=o},setError(n,o){n.error=o},setValidationErrors(n,o){n.validationErrors=o},setDisplayProModal(n,o){n.displayProModal=o}};let vo=null;const K2={updateActiveMenu({commit:n},o){n("setActiveMenu",o)},fetchSettings({commit:n,state:o}){var r;if(!Object.values(o.pages).length)return n("setLoading",!0),n("setError",null),n("setSettings",(r=window.wholsSettings)==null?void 0:r.defaultSettings),sn.settings.getSettings().then(a=>{var u;const s=Hw({},(u=window.wholsSettings)==null?void 0:u.defaultSettings,a);n("setSettings",s)}).catch(a=>{throw console.error("Error fetching settings:",a),n("setError",a.message),a}).finally(()=>{n("setLoading",!1)})},async saveSettings({commit:n,state:o}){n("setSaving",!0),n("setError",null),n("setValidationErrors",{});try{const r=await sn.settings.updateSettings(o.settings);n("setSettings",r)}catch(r){throw console.error("Error saving settings:",r),n("setError",r.message),r}finally{n("setSaving",!1)}},async fetchWholsRoles({commit:n,state:o}){if(!Object.values(o.wholsRoles).length){n("setError",null);try{const r=await sn.roles.getRoles();n("setWholsRoles",r)}catch(r){throw console.error("Error fetching roles:",r),n("setError",r.message),r}finally{n("setLoading",!1)}}},async fetchUsers({commit:n,state:o}){if(!Object.values(o.users).length){n("setError",null);try{const r=await sn.users.getUsers();n("setUsers",r)}catch(r){throw console.error("Error fetching users:",r),n("setError",r.message),r}finally{n("setLoading",!1)}}},async fetchPages({commit:n,state:o}){if(!Object.values(o.pages).length){n("setError",null);try{const a=(await sn.pages.getPages()).map(s=>({id:s.id,title:s.title}));n("setPages",a)}catch(r){throw console.error("Error fetching pages:",r),n("setError",r.message),r}finally{n("setLoading",!1)}}},async fetchProducts({commit:n,state:o}){if(!Object.values(o.products).length){if(vo)return vo;n("setError",null);try{vo=sn.products.getProducts();const r=await vo;return n("setProducts",r),r}catch(r){throw console.error("Error fetching products:",r),n("setError",r.message),r}finally{n("setLoading",!1),vo=null}}},async fetchProductCategories({commit:n,state:o}){if(!Object.values(o.productCategories).length){n("setError",null);try{const r=await sn.products.getCategories();n("setProductCategories",r)}catch(r){throw console.error("Error fetching product categories:",r),n("setError",r.message),r}finally{n("setLoading",!1)}}},async fetchCountries({commit:n,state:o}){if(!Object.values(o.countries).length){n("setError",null);try{const r=await sn.countries.getCountries();n("setCountries",r)}catch(r){throw console.error("Error fetching countries:",r),n("setError",r.message),r}finally{n("setLoading",!1)}}},async fetchPaymentGateways({commit:n,state:o}){if(!Object.values(o.paymentGateways).length){n("setError",null);try{const r=await sn.paymentGateways.getPaymentGateways();n("setPaymentGateways",r)}catch(r){throw console.error("Error fetching payment gateways:",r),n("setError",r.message),r}finally{n("setLoading",!1)}}},async resetSettings({commit:n,state:o,dispatch:r},{router:a}){a.currentRoute.value.name,n("setSaving",!1),n("setError",null);try{const s=Object.keys(Nx(a.currentRoute.value)),u=await sn.settings.resetSection(s);return n("setSettings",u),u}catch(s){throw console.error("Error resetting settings:",s),n("setError",s.message),s}finally{n("setSaving",!1)}}},j2={getSettingValue:n=>o=>n.settings[o],getValidationError:n=>o=>n.validationErrors[o],activeMenu:n=>n.activeMenu,isSaving:n=>n.isSaving,getPages:n=>n.pages,getProducts:n=>n.products,getProductCategories:n=>n.productCategories,getUsers:n=>n.users,getWholsRoles:n=>n.wholsRoles,getCountries:n=>n.countries,getPaymentGateways:n=>n.paymentGateways,isLoading:n=>n.isLoading,getLabelPosition:n=>n.labelPosition},Ld=Ab({state:z2,mutations:Y2,actions:K2,getters:j2}),X2={class:"whols-advertiser-content"},Z2={class:"whols-advertiser-message"},Q2={__name:"ProModal",setup(n){const o=tt(),r=z(()=>o.state.displayProModal),a=z(()=>wholsSettings.proAdvInfo),s=()=>{o.commit("setDisplayProModal",!1)};return(u,d)=>{const m=M("el-icon"),c=M("el-button"),f=M("el-dialog");return P(),q(f,{modelValue:r.value,"onUpdate:modelValue":d[0]||(d[0]=h=>r.value=h),width:"500","show-close":!0,onClose:s,center:"","align-center":""},{default:b(()=>[E("div",X2,[v(m,null,{default:b(()=>[v(R(Gw))]),_:1}),d[2]||(d[2]=E("div",{class:"whols-advertiser-title"},"Unlock Premium Features",-1)),E("div",Z2,le(a.value.message),1),v(c,{type:"primary",size:"large",tag:"a",href:a.value.purchaseURL,target:"_blank",rel:"noopener noreferrer",onClick:s},{default:b(()=>d[1]||(d[1]=[J(" Purchase Pro ")])),_:1},8,["href"])])]),_:1},8,["modelValue"])}}},J2=ze(Q2,[["__scopeId","data-v-f9c4e521"]]),eE={class:"whols-header-left"},tE={class:"whols-logo-box"},nE={class:"whols-version"},rE={class:"whols-header-right"},oE=["href"],lE={__name:"AppHeader",setup(n){const o=window.wholsSettings.docsUrl,r=window.wholsSettings.pluginVersion,a=Io(),s=z(()=>a.path.search("/settings")>-1),u=z(()=>a.path==="/dashboard");return(d,m)=>{const c=M("el-text"),f=M("router-link");return P(),X(ge,null,[E("div",eE,[E("div",tE,[m[0]||(m[0]=E("span",{class:"whols-brand-name"},"Whols",-1)),E("span",nE,"v"+le(R(r)),1)])]),E("div",rE,[v(f,{to:"/dashboard",class:Me(["whols-nav-link",{active:u.value}])},{default:b(()=>[v(c,null,{default:b(()=>m[1]||(m[1]=[J("Dashboard")])),_:1})]),_:1},8,["class"]),v(f,{to:"/settings/general",class:Me(["whols-nav-link",{active:s.value}])},{default:b(()=>[v(c,null,{default:b(()=>m[2]||(m[2]=[J("Settings")])),_:1})]),_:1},8,["class"]),E("a",{href:R(o),target:"_blank",rel:"noopener noreferrer",class:"whols-nav-link whols-external-link"},[v(c,null,{default:b(()=>m[3]||(m[3]=[J("Docs")])),_:1})],8,oE)])],64)}}},aE={class:"whols-support"},iE={class:"whols-support__icon-box"},sE={__name:"GetSupport",setup(n){const o=()=>{window.open(window.wholsSettings.supportUrl,"_blank")};return(r,a)=>{const s=M("el-icon"),u=M("el-button"),d=M("el-card");return P(),q(d,{class:"whols-card whols-card--support"},{header:b(()=>a[0]||(a[0]=[E("div",{class:"whols-card__header"},[E("h3",null,"Support And Feedback")],-1)])),default:b(()=>[E("div",aE,[E("div",iE,[v(s,{class:"whols-support__icon"},{default:b(()=>[v(R(zw))]),_:1})]),a[3]||(a[3]=E("p",{class:"whols-support__text"},"If you have any questions, concerns, or feedback, please don't hesitate to contact us. Our team is always available to assist with your needs. Thank you for choosing our products and services—we look forward to hearing from you soon!",-1)),v(u,{type:"primary",class:"whols-button whols-button--support hidden-lg-and-down",onClick:o},{default:b(()=>a[1]||(a[1]=[J("Get Support")])),_:1}),v(u,{type:"primary",size:"large",class:"whols-button whols-button--support hidden-xl-only",onClick:o},{default:b(()=>a[2]||(a[2]=[J("Get Support")])),_:1})])]),_:1})}}},$f=ze(sE,[["__scopeId","data-v-ab7f8be1"]]),uE={class:"whols-features__icon-box"},cE={class:"whols-features__text"},dE={__name:"ProFeatures",props:{columns:{type:Number,default:1,validator:n=>[1,2].includes(n)}},setup(n){const o=["Multi-tier pricing","Tiered quantity-based pricing","Purchase restrictions by user role","Wholesaler only categories","Saved order lists","Custom registration fields","Request a quote","Customer-owner conversations","Dynamic Rules","Wallet system","And more..."],r=()=>{window.open(window.wholsSettings.proUrl,"_blank")};return(a,s)=>{const u=M("el-icon"),d=M("el-button"),m=M("el-card");return P(),q(m,{class:"whols-card whols-card--features"},{header:b(()=>s[0]||(s[0]=[E("div",{class:"whols-card__header"},[E("h3",null,"Pro Features")],-1)])),default:b(()=>[E("ul",{class:Me(["whols-features",{"whols-features--two-columns":n.columns===2}])},[(P(),X(ge,null,Ce(o,(c,f)=>E("li",{key:f,class:"whols-features__item"},[E("div",uE,[v(u,{class:"whols-features__icon"},{default:b(()=>[v(R(Md))]),_:1})]),E("span",cE,le(c),1)])),64))],2),E("div",{class:Me(["whols-banner",{"whols-banner--two-columns":n.columns===2}])},[s[2]||(s[2]=E("p",{class:"whols-banner__text"},"Unlock all features to boost your wholesale business",-1)),v(d,{type:"primary",size:"large",class:"whols-banner__button",onClick:r},{default:b(()=>s[1]||(s[1]=[J("Upgrade to Pro")])),_:1})],2)]),_:1})}}},fE=ze(dE,[["__scopeId","data-v-0ba56eba"]]),hE={class:"whols-knowledge"},pE={class:"whols-knowledge__icon-box"},mE={__name:"KnowledgeBase",setup(n){const o=()=>{window.open(window.wholsSettings.docsUrl||"https://wpwhols.com/","_blank")};return(r,a)=>{const s=M("el-icon"),u=M("el-button"),d=M("el-card");return P(),q(d,{class:"whols-card whols-card--knowledge"},{header:b(()=>a[0]||(a[0]=[E("div",{class:"whols-card__header"},[E("h3",null,"Knowledge Base")],-1)])),default:b(()=>[E("div",hE,[E("div",pE,[v(s,{class:"whols-knowledge__icon"},{default:b(()=>[v(R(Yw))]),_:1})]),a[3]||(a[3]=E("p",{class:"whols-knowledge__text"},"Discover how to set up and customize your wholesale store with step-by-step Whols documentation.",-1)),v(u,{type:"primary",class:"whols-button whols-button--knowledge hidden-lg-and-down",onClick:o},{default:b(()=>a[1]||(a[1]=[J("Read Documentation")])),_:1}),v(u,{type:"primary",size:"large",class:"whols-button whols-button--knowledge hidden-xl-only",onClick:o},{default:b(()=>a[2]||(a[2]=[J("Read Documentation")])),_:1})])]),_:1})}}},Lf=ze(mE,[["__scopeId","data-v-057e0299"]]),_E={class:"whols-sidebar"},gE={__name:"ProFeaturesSidebar",setup(n){return(o,r)=>(P(),X("div",_E,[v(fE),r[0]||(r[0]=E("div",{class:"whols-sidebar__spacer"},null,-1)),v($f),r[1]||(r[1]=E("div",{class:"whols-sidebar__spacer"},null,-1)),v(Lf)]))}},vE=ze(gE,[["__scopeId","data-v-f7a68764"]]),wE={class:"whols-app-content"},yE={__name:"DefaultLayout",setup(n){return(o,r)=>{const a=M("el-header"),s=M("el-col"),u=M("el-row"),d=M("el-container");return P(),q(d,{class:"whols-app-container"},{default:b(()=>[v(a,{class:"whols-app-header"},{default:b(()=>[v(lE)]),_:1}),E("div",wE,[v(u,{gutter:20},{default:b(()=>[v(s,{class:"whols-app-left-content",xs:24,sm:24,md:24,lg:24,xl:19},{default:b(()=>[Do(o.$slots,"default",{},void 0,!0)]),_:3}),v(s,{class:"whols-app-right-sidebar hidden-lg-and-down",xs:24,sm:24,md:6,lg:6,xl:5},{default:b(()=>[v(vE)]),_:1})]),_:3}),r[0]||(r[0]=E("div",{style:{height:"var(--whols-spacing-2xl)"}},null,-1)),v(u,{gutter:20,class:"hidden-xl-only"},{default:b(()=>[v(s,{span:8},{default:b(()=>[v($f)]),_:1}),v(s,{span:8},{default:b(()=>[v(Lf)]),_:1})]),_:1})])]),_:3})}}},bE=ze(yE,[["__scopeId","data-v-7d95c5b4"]]),SE={class:"whols-blank-layout"},xE={__name:"BlankLayout",setup(n){return(o,r)=>(P(),X("div",SE,[Do(o.$slots,"default",{},void 0,!0)]))}},CE=ze(xE,[["__scopeId","data-v-7ab95cfc"]]),EE={__name:"App",setup(n){const o=tt(),r=Io();z(()=>o.state.isLoading);const a=z(()=>{if(r.meta.layout==="blank")return CE;if(r.meta.layout==="default")return bE});return fr(async()=>{try{await o.dispatch("fetchSettings")}catch{Ii.error("Failed to load settings")}}),(s,u)=>{const d=M("router-view"),m=M("el-config-provider");return P(),q(m,null,{default:b(()=>[R(o).state.displayProModal?(P(),q(J2,{key:0})):Pe("",!0),(P(),q(Di(a.value),null,{default:b(()=>[v(d)]),_:1}))]),_:1})}}},VE=ze(EE,[["__scopeId","data-v-97c93e67"]]),Br=[{id:"welcome",label:"Welcome"},{id:"features",label:"Features"},{id:"config",label:"Configuration"},{id:"complete",label:"Complete"}],RE={currentStep:"welcome",completedSteps:[],config:{enable_request_a_quote:"0",bof_enabled:"0",enable_conversation:"0",enable_wallet_payment:"0",enable_save_order_list:"0",registration_page:"",show_wholesale_price_for:"administrator",hide_price_for_guest_users:"1"},dataConsent:!1},AE={setCurrentStep(n,o){n.currentStep=o},completeStep(n,o){n.completedSteps.includes(o)||n.completedSteps.push(o)},removeCompletedStep(n,o){n.completedSteps=n.completedSteps.filter(r=>r!==o)},setDataConsent(n,o){n.dataConsent=o}},OE={setCurrentStep({commit:n},o){n("setCurrentStep",o)},completeStep({commit:n},o){n("completeStep",o)},goBack({commit:n,state:o}){const r=Br.findIndex(a=>a.id===o.currentStep);if(r>0){const a=Br[r-1].id;n("removeCompletedStep",o.currentStep),n("setCurrentStep",a)}}},PE={isStepCompleted:n=>o=>n.completedSteps.includes(o),currentStepIndex:n=>Br.findIndex(o=>o.id===n.currentStep),totalSteps:()=>Br.length,progressPercentage:(n,o)=>{const r=o.currentStepIndex;return Math.round(r/(Br.length-1)*100)},getSteps:()=>Br},TE={namespaced:!0,state:RE,mutations:AE,actions:OE,getters:PE},kE=n=>{n.hasModule("onboarding")||n.registerModule("onboarding",TE)},DE=(n,o,r)=>{kE(o),r||console.error("Router not provided to onboarding module")},IE={install:(n,o={})=>{const{store:r,router:a}=o;r?DE(n,r,a):console.warn("Whols Onboarding: Vuex store is required for proper functionality")}};document.addEventListener("DOMContentLoaded",()=>{const n=Kw(VE);n.use(Ld),n.use($d),n.use(jw),n.use(IE,{store:Ld,router:$d}),n.mount("#whols-vue-settings-app")});export{ff as H,Tb as S,ze as _,db as a,tC as s,tt as u,LE as w};
  • whols/tags/2.4.8/includes/Admin/Diagnostic_Data.php

    r3345806 r3469925  
    8383            $this->project_type = 'wordpress-plugin';
    8484            $this->project_version = WHOLS_VERSION;
    85             $this->data_center = 'https://connect.pabbly.com/workflow/sendwebhookdata/IjU3NjAwNTY1MDYzZTA0MzM1MjY1NTUzNyI_3D_pc';
     85            $this->data_center = 'https://n8n.aslamhasib.com/webhook/484fe1ab-9cdf-4318-8b6f-2b218ac47009';
    8686            $this->privacy_policy = 'https://wpwhols.com/privacy-policy/';
    8787
     
    9191            $this->project_pro_version = $this->get_pro_version();
    9292
     93            if ( get_option( 'whols_diagnostic_data_agreed' ) === 'yes' || get_option( 'whols_diagnostic_data_notice' ) === 'no' ) {
     94                return;
     95            }
     96
    9397            add_action( 'admin_notices', function () {
    9498                $this->show_notices();
     
    99103            } );
    100104
    101             add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 20 );
     105            add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
    102106        }
    103107
     
    106110         */
    107111        public function enqueue_scripts() {
    108             // Only localize the nonce, assuming 'whols-admin' script is already registered elsewhere
     112            wp_register_script( 'whols-diagnostic', '', array(), false, true );
     113            wp_enqueue_script( 'whols-diagnostic' );
    109114            wp_localize_script(
    110                 'whols-admin',
     115                'whols-diagnostic',
    111116                'wholsDiagnosticData',
    112117                array(
     
    534539         * Show notices.
    535540         */
     541        /**
     542         * Check if this plugin should show the diagnostic data notice.
     543         * Returns false if already agreed, dismissed, or another HT plugin takes priority.
     544         */
     545        public function should_show_notice() {
     546            if ( get_option( 'whols_diagnostic_data_agreed' ) === 'yes' || get_option( 'whols_diagnostic_data_notice' ) === 'no' ) {
     547                return false;
     548            }
     549
     550            $sibling_plugins = array(
     551                'woolentor-addons/woolentor_addons_elementor.php' => array(
     552                    'agreed' => 'woolentor_diagnostic_data_agreed',
     553                    'notice' => 'woolentor_diagnostic_data_notice',
     554                ),
     555                'ht-mega-for-elementor/htmega_addons_elementor.php' => array(
     556                    'agreed' => 'htmega_diagnostic_data_agreed',
     557                    'notice' => 'htmega_diagnostic_data_notice',
     558                ),
     559                'ht-easy-google-analytics/ht-easy-google-analytics.php' => array(
     560                    'agreed' => 'htga4_diagnostic_data_agreed',
     561                    'notice' => 'htga4_diagnostic_data_notice',
     562                ),
     563                'ht-contactform/contact-form-widget-elementor.php' => array(
     564                    'agreed' => 'ht_contactform_diagnostic_data_agreed',
     565                    'notice' => 'ht_contactform_diagnostic_data_notice',
     566                ),
     567                'hashbar-wp-notification-bar/init.php' => array(
     568                    'agreed' => 'hashbar_diagnostic_data_agreed',
     569                    'notice' => 'hashbar_diagnostic_data_notice',
     570                ),
     571                'support-genix-lite/support-genix-lite.php' => array(
     572                    'agreed' => 'support_genix_lite_diagnostic_data_agreed',
     573                    'notice' => 'support_genix_lite_diagnostic_data_notice',
     574                ),
     575                'pixelavo/pixelavo.php' => array(
     576                    'agreed' => 'pixelavo_diagnostic_data_agreed',
     577                    'notice' => 'pixelavo_diagnostic_data_notice',
     578                ),
     579                'swatchly/swatchly.php' => array(
     580                    'agreed' => 'swatchly_diagnostic_data_agreed',
     581                    'notice' => 'swatchly_diagnostic_data_notice',
     582                ),
     583                'extensions-for-cf7/extensions-for-cf7.php' => array(
     584                    'agreed' => 'ht_cf7extensions_diagnostic_data_agreed',
     585                    'notice' => 'ht_cf7extensions_diagnostic_data_notice',
     586                ),
     587                'wp-plugin-manager/plugin-main.php' => array(
     588                    'agreed' => 'htpm_diagnostic_data_agreed',
     589                    'notice' => 'htpm_diagnostic_data_notice',
     590                ),
     591                'just-tables/just-tables.php' => array(
     592                    'agreed' => 'justtables_diagnostic_data_agreed',
     593                    'notice' => 'justtables_diagnostic_data_notice',
     594                ),
     595                'really-simple-google-tag-manager/really-simple-google-tag-manager.php' => array(
     596                    'agreed' => 'simple_googletag_diagnostic_data_agreed',
     597                    'notice' => 'simple_googletag_diagnostic_data_notice',
     598                ),
     599                'insert-headers-and-footers-script/init.php' => array(
     600                    'agreed' => 'ihafs_diagnostic_data_agreed',
     601                    'notice' => 'ihafs_diagnostic_data_notice',
     602                ),
     603            );
     604
     605            foreach ( $sibling_plugins as $plugin_slug => $options ) {
     606                if ( get_option( $options['agreed'] ) === 'yes' ) {
     607                    update_option( 'whols_diagnostic_data_agreed', 'yes' );
     608                    update_option( 'whols_diagnostic_data_notice', 'no' );
     609                    return false;
     610                }
     611            }
     612
     613            // Ensure only one HT plugin shows the diagnostic notice per request.
     614            global $ht_diagnostic_notice_owner;
     615            if ( isset( $ht_diagnostic_notice_owner ) && $ht_diagnostic_notice_owner !== 'whols' ) {
     616                return false;
     617            }
     618            $ht_diagnostic_notice_owner = 'whols';
     619
     620            return true;
     621        }
     622
    536623        private function show_notices() {
     624            if ( ! $this->should_show_notice() ) {
     625                return;
     626            }
     627
    537628            $action = isset($_GET['action'] ) ? sanitize_text_field($_GET['action'] ) : '';
    538629
     
    550641         */
    551642        private function show_core_notice() {
    552             return;
    553            
    554             $message_l1 = sprintf(
    555                 /* translators: %1$s: Project name, %2$s: Strong tag, %3$s: Strong tag, %4$s: Privacy Policy link, %5$s: Privacy Policy link */
    556                 esc_html__( 'At %2$s%1$s%3$s, we prioritize continuous improvement and compatibility. To achieve this, we gather non-sensitive diagnostic information and details about plugin usage. This includes your site\'s URL, the versions of WordPress and PHP you\'re using, and a list of your installed plugins and themes. We also require your email address to provide you with exclusive discount coupons and updates. This data collection is crucial for ensuring that %2$s%1$s%3$s remains up-to-date and compatible with the most widely-used plugins and themes. Rest assured, your privacy is our priority – no spam, guaranteed. %4$sPrivacy Policy%5$s', 'whols' ), esc_html( $this->project_name ),
    557                 '<strong>',
    558                 '</strong>',
    559                 '<a target="_blank" href="' . esc_url( $this->privacy_policy ) . '">',
    560                 '</a>',
    561                 '<h4 class="woolentor-diagnostic-data-title">',
    562                 '</h4>'
    563             );
    564 
    565643            $message_l2 = sprintf(
    566                 /* translators: %1$s: Learn more link, %2$s: Learn more link */
    567                 esc_html__( 'Server information (Web server, PHP version, MySQL version), WordPress information, site name, site URL, number of plugins, number of users, your name, and email address. You can rest assured that no sensitive data will be collected or tracked. %1$sLearn more%2$s.', 'whols' ), '<a target="_blank" href="' . esc_url( $this->privacy_policy ) . '">', '</a>' );
     644                /* translators: %1$s: Privacy Policy link, %2$s: Privacy Policy link */
     645                esc_html__( 'Server information (Web server, PHP version, MySQL version), WordPress information, site name, site URL, number of plugins, number of users, your name, and email address. You can rest assured that no sensitive data will be collected or tracked. %1$sPrivacy Policy%2$s', 'whols' ), '<a target="_blank" href="' . esc_url( $this->privacy_policy ) . '">', '</a>' );
    568646
    569647            $button_text_1 = esc_html__( 'Count Me In', 'whols' );
    570648            $button_link_1 = add_query_arg( array( 'woolentor-diagnostic-data-agreed' => 1 ) );
    571649
    572             $button_text_2 = esc_html__( 'No, Thanks', 'whols' );
     650            $button_text_2 = esc_html__( 'No thanks', 'whols' );
    573651            $button_link_2 = add_query_arg( array( 'woolentor-diagnostic-data-agreed' => 0 ) );
    574652            ?>
    575             <div class="woolentor-diagnostic-data-style"><style>.woolentor-diagnostic-data-notice,.woocommerce-embed-page .woolentor-diagnostic-data-notice{padding-top:.75em;padding-bottom:.75em;}.woolentor-diagnostic-data-notice .woolentor-diagnostic-data-buttons,.woolentor-diagnostic-data-notice .woolentor-diagnostic-data-list,.woolentor-diagnostic-data-notice .woolentor-diagnostic-data-message{padding:.25em 2px;margin:0;}.woolentor-diagnostic-data-notice .woolentor-diagnostic-data-list{display:none;color:#646970;}.woolentor-diagnostic-data-notice .woolentor-diagnostic-data-buttons{padding-top:.75em;}.woolentor-diagnostic-data-notice .woolentor-diagnostic-data-buttons .button{margin-right:5px;box-shadow:none;}.woolentor-diagnostic-data-loading{position:relative;}.woolentor-diagnostic-data-loading::before{position:absolute;content:"";width:100%;height:100%;top:0;left:0;background-color:rgba(255,255,255,.5);z-index:999;}.woolentor-diagnostic-data-disagree{border-width:0px !important;background-color: transparent!important; padding: 0!important;}h4.woolentor-diagnostic-data-title {margin: 0 0 10px 0;font-size: 1.04em;font-weight: 600;}</style></div>
    576             <div class="woolentor-diagnostic-data-notice notice notice-success">
    577                 <h4 class="woolentor-diagnostic-data-title"><?php echo sprintf( /* translators: %1$s: Project name */ esc_html__('🌟 Enhance Your %1$s Experience as a Valued Contributor!','whols'), esc_html( $this->project_name )); ?></h4>
    578                 <p class="woolentor-diagnostic-data-message"><?php echo wp_kses_post( $message_l1 ); ?></p>
     653            <div class="woolentor-diagnostic-data-style"><style>.woolentor-diagnostic-data-notice,.woocommerce-embed-page .woolentor-diagnostic-data-notice{padding-top:.75em;padding-bottom:.75em;}.woolentor-diagnostic-data-notice .woolentor-diagnostic-data-buttons,.woolentor-diagnostic-data-notice .woolentor-diagnostic-data-list,.woolentor-diagnostic-data-notice .woolentor-diagnostic-data-message{padding:.25em 2px;margin:0;}.woolentor-diagnostic-data-notice .woolentor-diagnostic-data-list{display:none;color:#646970;}.woolentor-diagnostic-data-notice .woolentor-diagnostic-data-buttons{padding-top:.75em;}.woolentor-diagnostic-data-notice .woolentor-diagnostic-data-buttons .button{margin-right:5px;box-shadow:none;}.woolentor-diagnostic-data-loading{position:relative;}.woolentor-diagnostic-data-loading::before{position:absolute;content:"";width:100%;height:100%;top:0;left:0;background-color:rgba(255,255,255,.5);z-index:999;}.woolentor-diagnostic-data-disagree{border-width:0px !important;background-color: transparent!important; padding: 0!important;}.woolentor-diagnostic-data-list-toogle{cursor:pointer;color:#2271b1;text-decoration:none;}</style></div>
     654            <div class="woolentor-diagnostic-data-notice notice notice-info">
     655                <p class="woolentor-diagnostic-data-message"><?php echo wp_kses_post( sprintf( esc_html__( 'Want to help make %2$s%1$s%3$s even more awesome? Allow %1$s to collect diagnostic data and usage information. (%4$swhat we collect%5$s)', 'whols' ), esc_html( $this->project_name ), '<strong>', '</strong>', '<a href="#" class="woolentor-diagnostic-data-list-toogle">', '</a>' ) ); ?></p>
    579656                <p class="woolentor-diagnostic-data-list"><?php echo wp_kses_post( $message_l2 ); ?></p>
    580657                <p class="woolentor-diagnostic-data-buttons">
  • whols/tags/2.4.8/whols.php

    r3469025 r3469925  
    44 * Plugin URI:  https://wpwhols.com/
    55 * Description: This plugin provides all the necessary features that you will ever need to sell wholesale products from your WooCommerce online store.
    6  * Version:     2.4.7
     6 * Version:     2.4.8
    77 * Author:      HasThemes
    88 * Author URI:  https://hasthemes.com
     
    3636     * @since 1.0.0
    3737     */
    38     public $version = '2.4.6';
     38    public $version = '2.4.8';
    3939
    4040    /**
  • whols/trunk/build/vue-settings/main.js

    r3369403 r3469925  
    4040`:`;
    4141`)+G+`return __p
    42 }`;var Ve=$c(function(){return Be(g,ue+"return "+G).apply(r,S)});if(Ve.source=G,ai(Ve))throw Ve;return Ve}function V1(e){return qe(e).toLowerCase()}function R1(e){return qe(e).toUpperCase()}function A1(e,t,l){if(e=qe(e),e&&(l||t===r))return Hs(e);if(!e||!(t=Lt(t)))return e;var i=nn(e),p=nn(t),g=Gs(i,p),S=zs(i,p)+1;return Wn(i,g,S).join("")}function O1(e,t,l){if(e=qe(e),e&&(l||t===r))return e.slice(0,Ks(e)+1);if(!e||!(t=Lt(t)))return e;var i=nn(e),p=zs(i,nn(t))+1;return Wn(i,0,p).join("")}function P1(e,t,l){if(e=qe(e),e&&(l||t===r))return e.replace(aa,"");if(!e||!(t=Lt(t)))return e;var i=nn(e),p=Gs(i,nn(t));return Wn(i,p).join("")}function T1(e,t){var l=Z,i=Le;if(nt(t)){var p="separator"in t?t.separator:p;l="length"in t?Ee(t.length):l,i="omission"in t?Lt(t.omission):i}e=qe(e);var g=e.length;if(vr(e)){var S=nn(e);g=S.length}if(l>=g)return e;var A=l-wr(i);if(A<1)return i;var k=S?Wn(S,0,A).join(""):e.slice(0,A);if(p===r)return k+i;if(S&&(A+=k.length-A),ii(p)){if(e.slice(A).search(p)){var F,B=k;for(p.global||(p=xa(p.source,qe(fs.exec(p))+"g")),p.lastIndex=0;F=p.exec(B);)var G=F.index;k=k.slice(0,G===r?A:G)}}else if(e.indexOf(Lt(p),A)!=A){var ne=k.lastIndexOf(p);ne>-1&&(k=k.slice(0,ne))}return k+i}function k1(e){return e=qe(e),e&&qf.test(e)?e.replace(us,ip):e}var D1=Vr(function(e,t,l){return e+(l?" ":"")+t.toUpperCase()}),ci=Lu("toUpperCase");function Ic(e,t,l){return e=qe(e),t=l?r:t,t===r?np(e)?cp(e):Yh(e):e.match(t)||[]}var $c=Oe(function(e,t){try{return It(e,r,t)}catch(l){return ai(l)?l:new we(l)}}),I1=Cn(function(e,t){return Ht(t,function(l){l=mn(l),Sn(e,l,oi(e[l],e))}),e});function $1(e){var t=e==null?0:e.length,l=de();return e=t?Je(e,function(i){if(typeof i[1]!="function")throw new Gt(d);return[l(i[0]),i[1]]}):[],Oe(function(i){for(var p=-1;++p<t;){var g=e[p];if(It(g[0],this,i))return It(g[1],this,i)}})}function L1(e){return im(Yt(e,w))}function di(e){return function(){return e}}function M1(e,t){return e==null||e!==e?t:e}var U1=Uu(),N1=Uu(!0);function Ot(e){return e}function fi(e){return pu(typeof e=="function"?e:Yt(e,w))}function F1(e){return _u(Yt(e,w))}function B1(e,t){return gu(e,Yt(t,w))}var W1=Oe(function(e,t){return function(l){return so(l,e,t)}}),q1=Oe(function(e,t){return function(l){return so(e,l,t)}});function hi(e,t,l){var i=pt(t),p=al(t,i);l==null&&!(nt(t)&&(p.length||!i.length))&&(l=t,t=e,e=this,p=al(t,pt(t)));var g=!(nt(l)&&"chain"in l)||!!l.chain,S=Vn(e);return Ht(p,function(A){var k=t[A];e[A]=k,S&&(e.prototype[A]=function(){var F=this.__chain__;if(g||F){var B=e(this.__wrapped__),G=B.__actions__=Vt(this.__actions__);return G.push({func:k,args:arguments,thisArg:e}),B.__chain__=F,B}return k.apply(e,Ln([this.value()],arguments))})}),e}function H1(){return mt._===this&&(mt._=_p),this}function pi(){}function G1(e){return e=Ee(e),Oe(function(t){return vu(t,e)})}var z1=Ga(Je),Y1=Ga(Ns),K1=Ga(_a);function Lc(e){return Qa(e)?ga(mn(e)):Cm(e)}function j1(e){return function(t){return e==null?r:or(e,t)}}var X1=Fu(),Z1=Fu(!0);function mi(){return[]}function _i(){return!1}function Q1(){return{}}function J1(){return""}function ew(){return!0}function tw(e,t){if(e=Ee(e),e<1||e>vt)return[];var l=Dt,i=wt(e,Dt);t=de(t),e-=Dt;for(var p=ya(i,t);++l<e;)t(l);return p}function nw(e){return Se(e)?Je(e,mn):Mt(e)?[e]:Vt(nc(qe(e)))}function rw(e){var t=++pp;return qe(e)+t}var ow=fl(function(e,t){return e+t},0),lw=za("ceil"),aw=fl(function(e,t){return e/t},1),iw=za("floor");function sw(e){return e&&e.length?ll(e,Ot,Ta):r}function uw(e,t){return e&&e.length?ll(e,de(t,2),Ta):r}function cw(e){return Ws(e,Ot)}function dw(e,t){return Ws(e,de(t,2))}function fw(e){return e&&e.length?ll(e,Ot,$a):r}function hw(e,t){return e&&e.length?ll(e,de(t,2),$a):r}var pw=fl(function(e,t){return e*t},1),mw=za("round"),_w=fl(function(e,t){return e-t},0);function gw(e){return e&&e.length?wa(e,Ot):0}function vw(e,t){return e&&e.length?wa(e,de(t,2)):0}return _.after=Fg,_.ary=hc,_.assign=Rv,_.assignIn=Rc,_.assignInWith=El,_.assignWith=Av,_.at=Ov,_.before=pc,_.bind=oi,_.bindAll=I1,_.bindKey=mc,_.castArray=Qg,_.chain=cc,_.chunk=i_,_.compact=s_,_.concat=u_,_.cond=$1,_.conforms=L1,_.constant=di,_.countBy=gg,_.create=Pv,_.curry=_c,_.curryRight=gc,_.debounce=vc,_.defaults=Tv,_.defaultsDeep=kv,_.defer=Bg,_.delay=Wg,_.difference=c_,_.differenceBy=d_,_.differenceWith=f_,_.drop=h_,_.dropRight=p_,_.dropRightWhile=m_,_.dropWhile=__,_.fill=g_,_.filter=wg,_.flatMap=Sg,_.flatMapDeep=xg,_.flatMapDepth=Cg,_.flatten=ac,_.flattenDeep=v_,_.flattenDepth=w_,_.flip=qg,_.flow=U1,_.flowRight=N1,_.fromPairs=y_,_.functions=Nv,_.functionsIn=Fv,_.groupBy=Eg,_.initial=S_,_.intersection=x_,_.intersectionBy=C_,_.intersectionWith=E_,_.invert=Wv,_.invertBy=qv,_.invokeMap=Rg,_.iteratee=fi,_.keyBy=Ag,_.keys=pt,_.keysIn=At,_.map=wl,_.mapKeys=Gv,_.mapValues=zv,_.matches=F1,_.matchesProperty=B1,_.memoize=bl,_.merge=Yv,_.mergeWith=Ac,_.method=W1,_.methodOf=q1,_.mixin=hi,_.negate=Sl,_.nthArg=G1,_.omit=Kv,_.omitBy=jv,_.once=Hg,_.orderBy=Og,_.over=z1,_.overArgs=Gg,_.overEvery=Y1,_.overSome=K1,_.partial=li,_.partialRight=wc,_.partition=Pg,_.pick=Xv,_.pickBy=Oc,_.property=Lc,_.propertyOf=j1,_.pull=O_,_.pullAll=sc,_.pullAllBy=P_,_.pullAllWith=T_,_.pullAt=k_,_.range=X1,_.rangeRight=Z1,_.rearg=zg,_.reject=Dg,_.remove=D_,_.rest=Yg,_.reverse=ni,_.sampleSize=$g,_.set=Qv,_.setWith=Jv,_.shuffle=Lg,_.slice=I_,_.sortBy=Ng,_.sortedUniq=B_,_.sortedUniqBy=W_,_.split=S1,_.spread=Kg,_.tail=q_,_.take=H_,_.takeRight=G_,_.takeRightWhile=z_,_.takeWhile=Y_,_.tap=sg,_.throttle=jg,_.thru=vl,_.toArray=Cc,_.toPairs=Pc,_.toPairsIn=Tc,_.toPath=nw,_.toPlainObject=Vc,_.transform=e1,_.unary=Xg,_.union=K_,_.unionBy=j_,_.unionWith=X_,_.uniq=Z_,_.uniqBy=Q_,_.uniqWith=J_,_.unset=t1,_.unzip=ri,_.unzipWith=uc,_.update=n1,_.updateWith=r1,_.values=Or,_.valuesIn=o1,_.without=eg,_.words=Ic,_.wrap=Zg,_.xor=tg,_.xorBy=ng,_.xorWith=rg,_.zip=og,_.zipObject=lg,_.zipObjectDeep=ag,_.zipWith=ig,_.entries=Pc,_.entriesIn=Tc,_.extend=Rc,_.extendWith=El,hi(_,_),_.add=ow,_.attempt=$c,_.camelCase=s1,_.capitalize=kc,_.ceil=lw,_.clamp=l1,_.clone=Jg,_.cloneDeep=tv,_.cloneDeepWith=nv,_.cloneWith=ev,_.conformsTo=rv,_.deburr=Dc,_.defaultTo=M1,_.divide=aw,_.endsWith=u1,_.eq=on,_.escape=c1,_.escapeRegExp=d1,_.every=vg,_.find=yg,_.findIndex=oc,_.findKey=Dv,_.findLast=bg,_.findLastIndex=lc,_.findLastKey=Iv,_.floor=iw,_.forEach=dc,_.forEachRight=fc,_.forIn=$v,_.forInRight=Lv,_.forOwn=Mv,_.forOwnRight=Uv,_.get=si,_.gt=ov,_.gte=lv,_.has=Bv,_.hasIn=ui,_.head=ic,_.identity=Ot,_.includes=Vg,_.indexOf=b_,_.inRange=a1,_.invoke=Hv,_.isArguments=ir,_.isArray=Se,_.isArrayBuffer=av,_.isArrayLike=Rt,_.isArrayLikeObject=at,_.isBoolean=iv,_.isBuffer=qn,_.isDate=sv,_.isElement=uv,_.isEmpty=cv,_.isEqual=dv,_.isEqualWith=fv,_.isError=ai,_.isFinite=hv,_.isFunction=Vn,_.isInteger=yc,_.isLength=xl,_.isMap=bc,_.isMatch=pv,_.isMatchWith=mv,_.isNaN=_v,_.isNative=gv,_.isNil=wv,_.isNull=vv,_.isNumber=Sc,_.isObject=nt,_.isObjectLike=ot,_.isPlainObject=mo,_.isRegExp=ii,_.isSafeInteger=yv,_.isSet=xc,_.isString=Cl,_.isSymbol=Mt,_.isTypedArray=Ar,_.isUndefined=bv,_.isWeakMap=Sv,_.isWeakSet=xv,_.join=V_,_.kebabCase=f1,_.last=jt,_.lastIndexOf=R_,_.lowerCase=h1,_.lowerFirst=p1,_.lt=Cv,_.lte=Ev,_.max=sw,_.maxBy=uw,_.mean=cw,_.meanBy=dw,_.min=fw,_.minBy=hw,_.stubArray=mi,_.stubFalse=_i,_.stubObject=Q1,_.stubString=J1,_.stubTrue=ew,_.multiply=pw,_.nth=A_,_.noConflict=H1,_.noop=pi,_.now=yl,_.pad=m1,_.padEnd=_1,_.padStart=g1,_.parseInt=v1,_.random=i1,_.reduce=Tg,_.reduceRight=kg,_.repeat=w1,_.replace=y1,_.result=Zv,_.round=mw,_.runInContext=T,_.sample=Ig,_.size=Mg,_.snakeCase=b1,_.some=Ug,_.sortedIndex=$_,_.sortedIndexBy=L_,_.sortedIndexOf=M_,_.sortedLastIndex=U_,_.sortedLastIndexBy=N_,_.sortedLastIndexOf=F_,_.startCase=x1,_.startsWith=C1,_.subtract=_w,_.sum=gw,_.sumBy=vw,_.template=E1,_.times=tw,_.toFinite=Rn,_.toInteger=Ee,_.toLength=Ec,_.toLower=V1,_.toNumber=Xt,_.toSafeInteger=Vv,_.toString=qe,_.toUpper=R1,_.trim=A1,_.trimEnd=O1,_.trimStart=P1,_.truncate=T1,_.unescape=k1,_.uniqueId=rw,_.upperCase=D1,_.upperFirst=ci,_.each=dc,_.eachRight=fc,_.first=ic,hi(_,function(){var e={};return hn(_,function(t,l){Ge.call(_.prototype,l)||(e[l]=t)}),e}(),{chain:!1}),_.VERSION=a,Ht(["bind","bindKey","curry","curryRight","partial","partialRight"],function(e){_[e].placeholder=_}),Ht(["drop","take"],function(e,t){Ie.prototype[e]=function(l){l=l===r?1:ft(Ee(l),0);var i=this.__filtered__&&!t?new Ie(this):this.clone();return i.__filtered__?i.__takeCount__=wt(l,i.__takeCount__):i.__views__.push({size:wt(l,Dt),type:e+(i.__dir__<0?"Right":"")}),i},Ie.prototype[e+"Right"]=function(l){return this.reverse()[e](l).reverse()}}),Ht(["filter","map","takeWhile"],function(e,t){var l=t+1,i=l==ve||l==Ae;Ie.prototype[e]=function(p){var g=this.clone();return g.__iteratees__.push({iteratee:de(p,3),type:l}),g.__filtered__=g.__filtered__||i,g}}),Ht(["head","last"],function(e,t){var l="take"+(t?"Right":"");Ie.prototype[e]=function(){return this[l](1).value()[0]}}),Ht(["initial","tail"],function(e,t){var l="drop"+(t?"":"Right");Ie.prototype[e]=function(){return this.__filtered__?new Ie(this):this[l](1)}}),Ie.prototype.compact=function(){return this.filter(Ot)},Ie.prototype.find=function(e){return this.filter(e).head()},Ie.prototype.findLast=function(e){return this.reverse().find(e)},Ie.prototype.invokeMap=Oe(function(e,t){return typeof e=="function"?new Ie(this):this.map(function(l){return so(l,e,t)})}),Ie.prototype.reject=function(e){return this.filter(Sl(de(e)))},Ie.prototype.slice=function(e,t){e=Ee(e);var l=this;return l.__filtered__&&(e>0||t<0)?new Ie(l):(e<0?l=l.takeRight(-e):e&&(l=l.drop(e)),t!==r&&(t=Ee(t),l=t<0?l.dropRight(-t):l.take(t-e)),l)},Ie.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Ie.prototype.toArray=function(){return this.take(Dt)},hn(Ie.prototype,function(e,t){var l=/^(?:filter|find|map|reject)|While$/.test(t),i=/^(?:head|last)$/.test(t),p=_[i?"take"+(t=="last"?"Right":""):t],g=i||/^find/.test(t);p&&(_.prototype[t]=function(){var S=this.__wrapped__,A=i?[1]:arguments,k=S instanceof Ie,F=A[0],B=k||Se(S),G=function(De){var $e=p.apply(_,Ln([De],A));return i&&ne?$e[0]:$e};B&&l&&typeof F=="function"&&F.length!=1&&(k=B=!1);var ne=this.__chain__,ue=!!this.__actions__.length,he=g&&!ne,Ve=k&&!ue;if(!g&&B){S=Ve?S:new Ie(this);var pe=e.apply(S,A);return pe.__actions__.push({func:vl,args:[G],thisArg:r}),new zt(pe,ne)}return he&&Ve?e.apply(this,A):(pe=this.thru(G),he?i?pe.value()[0]:pe.value():pe)})}),Ht(["pop","push","shift","sort","splice","unshift"],function(e){var t=Ho[e],l=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",i=/^(?:pop|shift)$/.test(e);_.prototype[e]=function(){var p=arguments;if(i&&!this.__chain__){var g=this.value();return t.apply(Se(g)?g:[],p)}return this[l](function(S){return t.apply(Se(S)?S:[],p)})}}),hn(Ie.prototype,function(e,t){var l=_[t];if(l){var i=l.name+"";Ge.call(xr,i)||(xr[i]=[]),xr[i].push({name:t,func:l})}}),xr[dl(r,D).name]=[{name:"wrapper",func:r}],Ie.prototype.clone=kp,Ie.prototype.reverse=Dp,Ie.prototype.value=Ip,_.prototype.at=ug,_.prototype.chain=cg,_.prototype.commit=dg,_.prototype.next=fg,_.prototype.plant=pg,_.prototype.reverse=mg,_.prototype.toJSON=_.prototype.valueOf=_.prototype.value=_g,_.prototype.first=_.prototype.head,to&&(_.prototype[to]=hg),_},yr=dp();Jn?((Jn.exports=yr)._=yr,fa._=yr):mt._=yr}).call(_o)})(Hl,Hl.exports);var Qx=Hl.exports;const Jx=`${wholsSettings.apiBaseURL}whols/v1`,eC=()=>{var n;return{"Content-Type":"application/json","X-WP-Nonce":(n=window.wholsSettings)==null?void 0:n.nonce}},Jt=async(n,o={})=>{try{const r=await fetch(`${Jx}${n}`,{...o,headers:{...eC(),...o.headers}});if(!r.ok)throw new Error(`API request failed: ${r.statusText}`);return await r.json()}catch(r){throw console.error("API request error:",r),r}},tC={getSettings:()=>Jt("/settings"),updateSettings:n=>Jt("/settings",{method:"POST",body:JSON.stringify(n)}),resetSection:n=>Jt("/reset-section",{method:"POST",body:JSON.stringify({fields:n})})},nC={getRoles:()=>Jt("/wholesaler-roles")},rC={getPages:()=>Jt("/pages")},oC={getProducts:()=>Jt("/products"),getCategories:()=>Jt("/product-categories")},lC={getUsers:()=>Jt("/users")},aC={getCountries:()=>Jt("/countries")},iC={getPaymentGateways:()=>Jt("/payment-gateways")},LE={updateOption:(n,o)=>Jt("/wp_option",{method:"POST",body:JSON.stringify({option_name:n,value:o})})},sC={getDashboardData:(n=null,o=!1)=>{const r=new URLSearchParams;n&&n.length===2&&(r.append("date_from",Id(n[0])),r.append("date_to",Id(n[1]))),o&&r.append("force_refresh","1");let a="/dashboard-data";return r.toString()&&(a=`${a}?${r.toString()}`),Jt(a)}},Id=n=>n?(typeof n=="string"?new Date(n):n).toISOString().split("T")[0]:"",sn={settings:tC,roles:nC,pages:rC,products:oC,users:lC,countries:aC,paymentGateways:iC,dashboard:sC};function uC(){const n=xe(!1),o=xe(null),r=xe({}),a=xe({}),s=xe([]),u=xe([]),d=xe({timeSeriesData:[],totalRevenue:0,totalOrders:0}),m=xe([]),c="whols_performance_overview_cache",f=60*60*1e3,h=2,w=O=>{let I="all_time";if(O&&O.length===2&&O[0]&&O[1])try{const H=new Date(O[0]),K=new Date(O[1]),re=ee=>ee.getFullYear()+"-"+String(ee.getMonth()+1).padStart(2,"0")+"-"+String(ee.getDate()).padStart(2,"0");I=`${re(H)}_${re(K)}`}catch(H){console.warn("Error formatting dates for cache key:",H),I="all_time"}return`${c}_${I}`},x=(O,I)=>{try{const H={data:I,timestamp:Date.now()};localStorage.setItem(O,JSON.stringify(H))}catch(H){console.warn("Failed to cache dashboard data:",H)}},y=O=>{try{const I=localStorage.getItem(O);if(!I)return null;const{data:H,timestamp:K}=JSON.parse(I);return Date.now()-K>f?(localStorage.removeItem(O),null):H}catch(I){return console.warn("Failed to retrieve cached dashboard data:",I),null}},C=()=>{try{const I=Object.keys(localStorage).filter(re=>re.startsWith(c));if(I.length===0)return;const H=[],K=Date.now();if(I.forEach(re=>{try{const ee=localStorage.getItem(re);if(!ee)return;const{timestamp:oe}=JSON.parse(ee);K-oe>f?(localStorage.removeItem(re),console.log(`Removed expired cache: ${re}`)):H.push({key:re,timestamp:oe})}catch{localStorage.removeItem(re)}}),H.length>h){H.sort((ee,oe)=>oe.timestamp-ee.timestamp);const re=H.slice(h);re.forEach(ee=>{localStorage.removeItem(ee.key),console.log(`Removed excess cache: ${ee.key}`)}),console.log(`Removed ${re.length} excess cache entries`)}}catch(O){console.warn("Error during cache cleanup:",O)}},V=O=>{r.value=O.metrics||{},s.value=O.topProducts||[],u.value=O.topCategories||[],d.value=O.chartData||{timeSeriesData:[],totalRevenue:0,totalOrders:0},a.value=O.actionItems||{},m.value=O.proFeatures||[]},L=async(O=null,I=!1)=>{var H,K;n.value=!0,o.value=null;try{C();const re=w(O);if(((K=(H=window.wholsSettings)==null?void 0:H.globalSettings)==null?void 0:K.show_wholesale_price_for)==="administrator"&&(I=!0),!I){const oe=y(re);if(oe){console.log("Using cached dashboard data"),V(oe),n.value=!1;return}}const ee=await sn.dashboard.getDashboardData(O,I);V(ee),x(re,ee),console.log("Dashboard data loaded successfully from API")}catch(re){console.error("Error loading dashboard data:",re),o.value=re.message||"Failed to load dashboard data"}finally{n.value=!1}},D=z(()=>{const{totalRevenue:O,totalOrders:I}=d.value;return I?Math.round(O/I*100)/100:0});return{isLoading:n,error:o,metrics:r,actionItems:a,topProducts:s,topCategories:u,chartData:d,proFeatures:m,averageOrderValue:D,fetchDashboardData:L,cleanupCache:C}}function cC(){const n=xe(!1),o=xe("last30days"),r=xe([]),a=xe([]),s=xe("last30days"),u=z(()=>{if(r.value&&r.value.length===2){const C=new Date(r.value[0]),V=new Date(r.value[1]);return`${C.toLocaleDateString()} - ${V.toLocaleDateString()}`}return"Select date range"}),d=z(()=>{switch(o.value){case"today":return"Today";case"yesterday":return"Yesterday";case"last7days":return"Last 7 days";case"last30days":return"Last 30 days";case"last90days":return"Last 90 days";case"last365days":return"Last 365 days";case"lastMonth":return"Last month";case"last12months":return"Last 12 months";case"lastYear":return"Last year";case"custom":return"Custom Range";default:return"Custom Range"}}),m=C=>{if(!C||!C.length||!C[0]||!C[1])return"All time";try{const V=new Date(C[0]),L=new Date(C[1]),D={month:"short",day:"numeric"};return`${V.toLocaleDateString("en-US",D)} - ${L.toLocaleDateString("en-US",D)}`}catch(V){return console.error("Error formatting date range:",V),"All time"}},c=C=>C>new Date,f=C=>{o.value=C;const V=new Date;let L=new Date(V),D;switch(C){case"today":D=new Date(V);break;case"yesterday":D=new Date(V),D.setDate(V.getDate()-1),L.setDate(V.getDate()-1);break;case"last7days":D=new Date(V),D.setDate(V.getDate()-6);break;case"last30days":D=new Date(V),D.setDate(V.getDate()-29);break;case"last90days":D=new Date(V),D.setDate(V.getDate()-89);break;case"last365days":D=new Date(V),D.setDate(V.getDate()-364);break;case"lastMonth":D=new Date(V.getFullYear(),V.getMonth()-1,1),L=new Date(V.getFullYear(),V.getMonth(),0);break;case"last12months":D=new Date(V),D.setMonth(V.getMonth()-11),D.setDate(1),L.setDate(V.getDate());break;case"lastYear":D=new Date(V.getFullYear()-1,0,1),L=new Date(V.getFullYear()-1,11,31);break;default:D=new Date(V),D.setDate(V.getDate()-29)}r.value=[D,L]},h=()=>{a.value=[...r.value],s.value=o.value,n.value=!0},w=()=>{r.value=[...a.value],o.value=s.value,n.value=!1},x=()=>{n.value=!1,a.value=[...r.value],s.value=o.value},y=(C,V)=>{C=new Date(C),V=new Date(V),C.setHours(0,0,0,0),V.setHours(0,0,0,0);const L=new Date;if(L.setHours(0,0,0,0),C.getTime()===L.getTime()&&V.getTime()===L.getTime())return o.value="today",!0;const D=new Date(L);if(D.setDate(L.getDate()-1),C.getTime()===D.getTime()&&V.getTime()===D.getTime())return o.value="yesterday",!0;const O=new Date(L);if(O.setDate(L.getDate()-6),C.getTime()===O.getTime()&&V.getTime()===L.getTime())return o.value="last7days",!0;const I=new Date(L);if(I.setDate(L.getDate()-29),C.getTime()===I.getTime()&&V.getTime()===L.getTime())return o.value="last30days",!0;const H=new Date(L);if(H.setDate(L.getDate()-89),C.getTime()===H.getTime()&&V.getTime()===L.getTime())return o.value="last90days",!0;const K=new Date(L);if(K.setDate(L.getDate()-364),C.getTime()===K.getTime()&&V.getTime()===L.getTime())return o.value="last365days",!0;const re=new Date(L.getFullYear(),L.getMonth()-1,1),ee=new Date(L.getFullYear(),L.getMonth(),0);if(C.getTime()===re.getTime()&&V.getTime()===ee.getTime())return o.value="lastMonth",!0;const oe=new Date(L);if(oe.setMonth(L.getMonth()-11),oe.setDate(1),C.getTime()===oe.getTime()&&V.getTime()===L.getTime())return o.value="last12months",!0;const ie=new Date(L.getFullYear()-1,0,1),Z=new Date(L.getFullYear()-1,11,31);return C.getTime()===ie.getTime()&&V.getTime()===Z.getTime()?(o.value="lastYear",!0):!1};return f("last30days"),{dateRange:r,datePreset:o,datePopoverVisible:n,selectedDateRangeText:u,datePresetName:d,selectPreset:f,openDatePopover:h,cancelDateSelection:w,applyDateFilter:x,checkIfDateRangeMatchesPreset:y,formatDateRangeLabel:m,disableFutureDates:c}}function dC(){const n=xe({revenue:null,orders:null,aov:null}),o={revenue:xe(null),orders:xe(null),aov:xe(null)},r=h=>new Intl.NumberFormat("en-US").format(Math.round(h*100)/100),a=(h,w,x,y,C=!1)=>({type:"line",data:{labels:h,datasets:[{label:y,data:w,borderColor:x,backgroundColor:x+"15",borderWidth:2.5,pointBackgroundColor:"#ffffff",pointBorderColor:x,pointBorderWidth:2,pointRadius:3,pointHoverRadius:5,fill:!0,tension:.4}]},options:{responsive:!0,maintainAspectRatio:!1,animation:{duration:1e3,easing:"easeOutQuart"},plugins:{legend:{display:!1},tooltip:{mode:"index",intersect:!1,callbacks:{label:function(V){let L=V.dataset.label||"";return L&&(L+=": "),V.parsed.y!==null&&(C?L+="$"+r(V.parsed.y):L+=V.parsed.y),L}}}},scales:{x:{grid:{display:!1},ticks:{maxRotation:0,font:{size:10}}},y:{beginAtZero:!0,grid:{color:"#f5f7fa",borderDash:[3,3]},ticks:{callback:function(V){return C?"$"+r(V):V},font:{size:10}}}}}}),s=h=>!h||!h.length?[]:h.map(w=>{const x=new Date(w.date);return`${x.getMonth()+1}/${x.getDate()}`}),u=h=>{var V;if(!o.revenue.value||!window.Chart)return;const w=o.revenue.value.getContext("2d"),x=s(h.timeSeriesData),y=((V=h.timeSeriesData)==null?void 0:V.map(L=>L.revenue))||[],C=a(x,y,"#67C23A","Revenue ($)",!0);n.value.revenue&&n.value.revenue.destroy(),n.value.revenue=new window.Chart(w,C)},d=h=>{var V;if(!o.orders.value||!window.Chart)return;const w=o.orders.value.getContext("2d"),x=s(h.timeSeriesData),y=((V=h.timeSeriesData)==null?void 0:V.map(L=>L.orders))||[],C=a(x,y,"#409EFF","Orders",!1);n.value.orders&&n.value.orders.destroy(),n.value.orders=new window.Chart(w,C)},m=h=>{var V;if(!o.aov.value||!window.Chart)return;const w=o.aov.value.getContext("2d"),x=s(h.timeSeriesData),y=((V=h.timeSeriesData)==null?void 0:V.map(L=>L.aov))||[],C=a(x,y,"#E6A23C","Average Order Value ($)",!0);n.value.aov&&n.value.aov.destroy(),n.value.aov=new window.Chart(w,C)},c=h=>{u(h),d(h),m(h)},f=()=>new Promise((h,w)=>{if(window.Chart){h(window.Chart);return}const x=document.createElement("script");x.src="https://cdn.jsdelivr.net/npm/chart.js",x.onload=()=>h(window.Chart),x.onerror=()=>w(new Error("Failed to load Chart.js")),document.head.appendChild(x)});return Ud(()=>{Object.values(n.value).forEach(h=>{h&&h.destroy()})}),{chartRefs:o,renderCharts:c,loadChartLibrary:f,formatNumber:r}}const fC={class:"whols-action-items__content"},hC={class:"whols-action-items__item whols-action-items__item--registration"},pC={class:"whols-action-items__details"},mC={class:"whols-action-items__number"},_C={class:"whols-action-items__item whols-action-items__item--order"},gC={class:"whols-action-items__details"},vC={class:"whols-action-items__number"},wC={class:"whols-action-items__item whols-action-items__item--conversation"},yC={class:"whols-action-items__details"},bC={class:"whols-action-items__number"},SC={__name:"ActionItems",props:{actionItems:{type:Object,default:()=>({pendingRegistrations:0,conversationsNeedingReply:0,pendingOrders:0})}},setup(n){const o=tt(),r=z(()=>Number(o.state.settings.enable_conversation)),a=()=>{var d;window.location.href=((d=window.wholsSettings)==null?void 0:d.adminUrl)+"edit.php?post_type=whols_user_request"},s=()=>{var d;window.location.href=((d=window.wholsSettings)==null?void 0:d.adminUrl)+"edit.php?post_type=whols_conversation"},u=()=>{var d;window.location.href=((d=window.wholsSettings)==null?void 0:d.adminUrl)+"edit.php?post_type=shop_order"};return(d,m)=>{const c=M("el-button"),f=M("el-col"),h=M("el-row"),w=M("el-card");return P(),q(w,{class:"whols-action-items"},{header:b(()=>m[0]||(m[0]=[E("div",{class:"whols-action-items__header"},[E("h3",null,"Action Items")],-1)])),default:b(()=>[E("div",fC,[v(h,{gutter:20},{default:b(()=>[v(f,{xs:24,sm:8},{default:b(()=>[E("div",hC,[E("div",pC,[m[1]||(m[1]=E("div",{class:"whols-action-items__title"},"Pending Registrations",-1)),E("div",mC,le(n.actionItems.pendingRegistrations||0),1)]),v(c,{type:"primary",size:"small",onClick:a},{default:b(()=>m[2]||(m[2]=[J("View")])),_:1})])]),_:1}),v(f,{xs:24,sm:8},{default:b(()=>[E("div",_C,[E("div",gC,[m[3]||(m[3]=E("div",{class:"whols-action-items__title"},"Pending Orders",-1)),E("div",vC,le(n.actionItems.pendingOrders||0),1)]),v(c,{type:"warning",size:"small",onClick:u},{default:b(()=>m[4]||(m[4]=[J("View")])),_:1})])]),_:1}),r.value?(P(),q(f,{key:0,xs:24,sm:8},{default:b(()=>[E("div",wC,[E("div",yC,[m[5]||(m[5]=E("div",{class:"whols-action-items__title"},"Conversations Needing Reply",-1)),E("div",bC,le(n.actionItems.conversationsNeedingReply||0),1)]),v(c,{type:"danger",size:"small",onClick:s},{default:b(()=>m[6]||(m[6]=[J("View")])),_:1})])]),_:1})):Pe("",!0)]),_:1})])]),_:1})}}},xC=ze(SC,[["__scopeId","data-v-28d35d19"]]),CC={class:"whols-date-picker"},EC={class:"whols-date-picker__preset-name"},VC={class:"whols-date-picker__range-text"},RC={class:"whols-date-picker__content"},AC={class:"whols-date-picker__calendar"},OC={class:"whols-date-picker__presets"},PC={class:"whols-date-picker__footer"},TC={__name:"DateRangePicker",props:{dateRange:{type:Array,default:()=>[]},datePreset:{type:String,default:"last30days"},datePopoverVisible:{type:Boolean,default:!1},selectedDateRangeText:{type:String,default:""},datePresetName:{type:String,default:"Last 30 days"}},emits:["update:dateRange","update:datePreset","update:datePopoverVisible","openDatePopover","cancelDateSelection","applyDateFilter","selectPreset"],setup(n,{emit:o}){const r=n,a=o,s=z({get:()=>r.dateRange,set:y=>a("update:dateRange",y)}),u=z({get:()=>r.datePreset,set:y=>a("update:datePreset",y)}),d=()=>{a("openDatePopover")},m=()=>{a("cancelDateSelection"),setTimeout(()=>{var y;(y=document.querySelector(".whols-date-picker__button"))==null||y.focus()},50)},c=()=>{a("applyDateFilter"),setTimeout(()=>{var y;(y=document.querySelector(".whols-date-picker__button"))==null||y.focus()},50)},f=y=>{u.value=y,a("selectPreset",y)},h=y=>y>new Date,w=()=>{setTimeout(()=>{var y;(y=document.querySelector(".whols-date-picker__button"))==null||y.focus()},50)},x=y=>{if(r.datePopoverVisible){const C=document.querySelector(".whols-date-picker__popover"),V=document.querySelector(".whols-date-picker__button");C&&V&&!C.contains(y.target)&&!V.contains(y.target)&&!y.target.closest(".el-picker-panel")&&a("cancelDateSelection")}};return fr(()=>{document.addEventListener("click",x)}),Fd(()=>{document.removeEventListener("click",x)}),(y,C)=>{const V=M("el-icon"),L=M("el-date-picker"),D=M("el-col"),O=M("el-row"),I=M("el-button"),H=M("el-popover");return P(),X("div",CC,[v(H,{placement:"bottom",width:430,trigger:"manual","hide-after":0,teleported:!0,visible:n.datePopoverVisible,onClick:C[12]||(C[12]=Ur(()=>{},["stop"])),onHide:w},{reference:b(()=>[E("div",{class:"whols-date-picker__button",onClick:Ur(d,["stop"]),tabindex:"0",role:"button","aria-haspopup":"true","aria-expanded":"datePopoverVisible"},[v(V,{class:"whols-date-picker__calendar-icon"},{default:b(()=>[v(R(Ww))]),_:1}),C[13]||(C[13]=E("div",{class:"whols-date-picker__separator"},null,-1)),E("div",EC,le(n.datePresetName),1),C[14]||(C[14]=E("div",{class:"whols-date-picker__separator"},null,-1)),E("code",VC,le(n.selectedDateRangeText),1),v(V,{class:"whols-date-picker__dropdown-icon"},{default:b(()=>[v(R(Bd))]),_:1})])]),default:b(()=>[E("div",{class:"whols-date-picker__popover",onClick:C[11]||(C[11]=Ur(()=>{},["stop"]))},[E("div",RC,[E("div",AC,[v(L,{modelValue:s.value,"onUpdate:modelValue":C[0]||(C[0]=K=>s.value=K),type:"daterange","range-separator":"To","start-placeholder":"Start date","end-placeholder":"End date","disabled-date":h,onClick:C[1]||(C[1]=Ur(()=>{},["stop"])),"popper-options":{modifiers:[{name:"preventOverflow",options:{boundary:"viewport"}}]}},null,8,["modelValue"])]),E("div",OC,[C[15]||(C[15]=E("h3",null,"Presets",-1)),v(O,{gutter:20},{default:b(()=>[v(D,{span:12},{default:b(()=>[E("div",{class:Me(["whols-date-picker__preset-item",{"whols-date-picker__preset-item--active":u.value==="today"}]),onClick:C[2]||(C[2]=K=>f("today"))}," Today ",2),E("div",{class:Me(["whols-date-picker__preset-item",{"whols-date-picker__preset-item--active":u.value==="yesterday"}]),onClick:C[3]||(C[3]=K=>f("yesterday"))}," Yesterday ",2),E("div",{class:Me(["whols-date-picker__preset-item",{"whols-date-picker__preset-item--active":u.value==="lastMonth"}]),onClick:C[4]||(C[4]=K=>f("lastMonth"))}," Last month ",2),E("div",{class:Me(["whols-date-picker__preset-item",{"whols-date-picker__preset-item--active":u.value==="last12months"}]),onClick:C[5]||(C[5]=K=>f("last12months"))}," Last 12 months ",2),E("div",{class:Me(["whols-date-picker__preset-item",{"whols-date-picker__preset-item--active":u.value==="lastYear"}]),onClick:C[6]||(C[6]=K=>f("lastYear"))}," Last year ",2)]),_:1}),v(D,{span:12},{default:b(()=>[E("div",{class:Me(["whols-date-picker__preset-item",{"whols-date-picker__preset-item--active":u.value==="last7days"}]),onClick:C[7]||(C[7]=K=>f("last7days"))}," Last 7 days ",2),E("div",{class:Me(["whols-date-picker__preset-item",{"whols-date-picker__preset-item--active":u.value==="last30days"}]),onClick:C[8]||(C[8]=K=>f("last30days"))}," Last 30 days ",2),E("div",{class:Me(["whols-date-picker__preset-item",{"whols-date-picker__preset-item--active":u.value==="last90days"}]),onClick:C[9]||(C[9]=K=>f("last90days"))}," Last 90 days ",2),E("div",{class:Me(["whols-date-picker__preset-item",{"whols-date-picker__preset-item--active":u.value==="last365days"}]),onClick:C[10]||(C[10]=K=>f("last365days"))}," Last 365 days ",2)]),_:1})]),_:1})]),E("div",PC,[v(I,{onClick:m},{default:b(()=>C[16]||(C[16]=[J("Cancel")])),_:1}),v(I,{type:"primary",onClick:c},{default:b(()=>C[17]||(C[17]=[J("Update")])),_:1})])])])]),_:1},8,["visible"])])}}},kC=ze(TC,[["__scopeId","data-v-fb8b89ec"]]),DC={class:"whols-metrics"},IC={class:"whols-metrics__card",style:{"background-color":"rgb(245, 247, 250)",border:"1px solid #dcdfe6"}},$C={class:"whols-metrics__body"},LC={class:"whols-metrics__value"},MC={class:"whols-metrics__card",style:{"background-color":"rgb(245, 247, 250)",border:"1px solid #dcdfe6"}},UC={class:"whols-metrics__body"},NC={class:"whols-metrics__value"},FC=["innerHTML"],BC={class:"whols-metrics__card",style:{"background-color":"rgb(245, 247, 250)",border:"1px solid #dcdfe6"}},WC={class:"whols-metrics__body"},qC={class:"whols-metrics__value"},HC=["innerHTML"],GC={class:"whols-metrics__card",style:{"background-color":"rgb(245, 247, 250)",border:"1px solid #dcdfe6"}},zC={class:"whols-metrics__body"},YC={class:"whols-metrics__value"},KC={class:"whols-metrics__card",style:{"background-color":"rgb(245, 247, 250)",border:"1px solid #dcdfe6"}},jC={class:"whols-metrics__body"},XC={class:"whols-metrics__value"},ZC={class:"whols-metrics__card",style:{"background-color":"rgb(245, 247, 250)",border:"1px solid #dcdfe6"}},QC={class:"whols-metrics__body"},JC={class:"whols-metrics__value"},e2={__name:"MetricsGrid",props:{metrics:{type:Object,default:()=>({})}},setup(n){const o=z(()=>Kl()),r=a=>new Intl.NumberFormat("en-US").format(Math.round(a*100)/100);return(a,s)=>{const u=M("el-icon"),d=M("el-col"),m=M("el-row");return P(),X("div",DC,[v(m,{gutter:20,class:"whols-metrics__row"},{default:b(()=>[v(d,{xs:24,sm:12,md:8,class:"whols-metrics__col"},{default:b(()=>{var c,f,h,w;return[E("div",IC,[E("div",$C,[s[1]||(s[1]=E("h3",{class:"whols-metrics__title"},"Orders",-1)),E("div",LC,le(((c=n.metrics.orders)==null?void 0:c.total)||0),1),E("div",{class:Me(["whols-metrics__trend",(((f=n.metrics.orders)==null?void 0:f.trend)||0)>0?"whols-metrics__trend--up":"whols-metrics__trend--down"])},[(((h=n.metrics.orders)==null?void 0:h.trend)||0)>0?(P(),q(u,{key:0},{default:b(()=>[v(R(Pr))]),_:1})):(P(),q(u,{key:1},{default:b(()=>[v(R(Tr))]),_:1})),J(" "+le(Math.abs(((w=n.metrics.orders)==null?void 0:w.trend)||0))+"% ",1),s[0]||(s[0]=E("span",{class:"whols-metrics__period"},"vs Previous Period",-1))],2)])])]}),_:1}),v(d,{xs:24,sm:12,md:8,class:"whols-metrics__col"},{default:b(()=>{var c,f,h,w;return[E("div",MC,[E("div",UC,[s[3]||(s[3]=E("h3",{class:"whols-metrics__title"},"Revenue",-1)),E("div",NC,[E("span",{innerHTML:o.value},null,8,FC),J(le(r(((c=n.metrics.sales)==null?void 0:c.total)||0)),1)]),E("div",{class:Me(["whols-metrics__trend",(((f=n.metrics.sales)==null?void 0:f.trend)||0)>0?"whols-metrics__trend--up":"whols-metrics__trend--down"])},[(((h=n.metrics.sales)==null?void 0:h.trend)||0)>0?(P(),q(u,{key:0},{default:b(()=>[v(R(Pr))]),_:1})):(P(),q(u,{key:1},{default:b(()=>[v(R(Tr))]),_:1})),J(" "+le(Math.abs(((w=n.metrics.sales)==null?void 0:w.trend)||0))+"% ",1),s[2]||(s[2]=E("span",{class:"whols-metrics__period"},"vs Previous Period",-1))],2)])])]}),_:1}),v(d,{xs:24,sm:12,md:8,class:"whols-metrics__col"},{default:b(()=>{var c,f,h,w;return[E("div",BC,[E("div",WC,[s[5]||(s[5]=E("h3",{class:"whols-metrics__title"},"Avg. Order Value",-1)),E("div",qC,[E("span",{innerHTML:o.value},null,8,HC),J(le(r(((c=n.metrics.aov)==null?void 0:c.total)||0)),1)]),E("div",{class:Me(["whols-metrics__trend",(((f=n.metrics.aov)==null?void 0:f.trend)||0)>0?"whols-metrics__trend--up":"whols-metrics__trend--down"])},[(((h=n.metrics.aov)==null?void 0:h.trend)||0)>0?(P(),q(u,{key:0},{default:b(()=>[v(R(Pr))]),_:1})):(P(),q(u,{key:1},{default:b(()=>[v(R(Tr))]),_:1})),J(" "+le(Math.abs(((w=n.metrics.aov)==null?void 0:w.trend)||0))+"% ",1),s[4]||(s[4]=E("span",{class:"whols-metrics__period"},"vs Previous Period",-1))],2)])])]}),_:1})]),_:1}),v(m,{gutter:20,class:"whols-metrics__row"},{default:b(()=>[v(d,{xs:24,sm:12,md:8,class:"whols-metrics__col"},{default:b(()=>{var c,f,h,w;return[E("div",GC,[E("div",zC,[s[7]||(s[7]=E("h3",{class:"whols-metrics__title"},"Customers",-1)),E("div",YC,le(((c=n.metrics.customers)==null?void 0:c.total)||0),1),E("div",{class:Me(["whols-metrics__trend",(((f=n.metrics.customers)==null?void 0:f.trend)||0)>0?"whols-metrics__trend--up":"whols-metrics__trend--down"])},[(((h=n.metrics.customers)==null?void 0:h.trend)||0)>0?(P(),q(u,{key:0},{default:b(()=>[v(R(Pr))]),_:1})):(P(),q(u,{key:1},{default:b(()=>[v(R(Tr))]),_:1})),J(" "+le(Math.abs(((w=n.metrics.customers)==null?void 0:w.trend)||0))+"% ",1),s[6]||(s[6]=E("span",{class:"whols-metrics__period"},"vs Previous Period",-1))],2)])])]}),_:1}),v(d,{xs:24,sm:12,md:8,class:"whols-metrics__col"},{default:b(()=>{var c,f,h,w;return[E("div",KC,[E("div",jC,[s[9]||(s[9]=E("h3",{class:"whols-metrics__title"},"Products Sold (Qty)",-1)),E("div",XC,le(((c=n.metrics.productsSold)==null?void 0:c.total)||0),1),E("div",{class:Me(["whols-metrics__trend",(((f=n.metrics.productsSold)==null?void 0:f.trend)||0)>0?"whols-metrics__trend--up":"whols-metrics__trend--down"])},[(((h=n.metrics.productsSold)==null?void 0:h.trend)||0)>0?(P(),q(u,{key:0},{default:b(()=>[v(R(Pr))]),_:1})):(P(),q(u,{key:1},{default:b(()=>[v(R(Tr))]),_:1})),J(" "+le(Math.abs(((w=n.metrics.productsSold)==null?void 0:w.trend)||0))+"% ",1),s[8]||(s[8]=E("span",{class:"whols-metrics__period"},"vs Previous Period",-1))],2)])])]}),_:1}),v(d,{xs:24,sm:12,md:8,class:"whols-metrics__col"},{default:b(()=>{var c,f,h,w;return[E("div",ZC,[E("div",QC,[s[11]||(s[11]=E("h3",{class:"whols-metrics__title"},"Items Per Order",-1)),E("div",JC,le(((c=n.metrics.itemsPerOrder)==null?void 0:c.total)||0),1),E("div",{class:Me(["whols-metrics__trend",(((f=n.metrics.itemsPerOrder)==null?void 0:f.trend)||0)>0?"whols-metrics__trend--up":"whols-metrics__trend--down"])},[(((h=n.metrics.itemsPerOrder)==null?void 0:h.trend)||0)>0?(P(),q(u,{key:0},{default:b(()=>[v(R(Pr))]),_:1})):(P(),q(u,{key:1},{default:b(()=>[v(R(Tr))]),_:1})),J(" "+le(Math.abs(((w=n.metrics.itemsPerOrder)==null?void 0:w.trend)||0))+"% ",1),s[10]||(s[10]=E("span",{class:"whols-metrics__period"},"vs Previous Period",-1))],2)])])]}),_:1})]),_:1})])}}},t2=ze(e2,[["__scopeId","data-v-cf84b528"]]),n2={class:"whols-charts__header"},r2={class:"whols-charts__header-left"},o2={class:"whols-charts__subtitle"},l2={class:"whols-charts__header-right"},a2={class:"whols-charts__layout-controls"},i2={class:"whols-charts__card"},s2={class:"whols-charts__card-header whols-charts__card-header--orders"},u2={class:"whols-charts__title-container"},c2={class:"whols-charts__value"},d2=["innerHTML"],f2={class:"whols-charts__container"},h2={class:"whols-charts__card"},p2={class:"whols-charts__card-header whols-charts__card-header--revenue"},m2={class:"whols-charts__title-container"},_2={class:"whols-charts__value"},g2=["innerHTML"],v2={class:"whols-charts__container"},w2={class:"whols-charts__card"},y2={class:"whols-charts__card-header whols-charts__card-header--aov"},b2={class:"whols-charts__title-container"},S2={class:"whols-charts__value"},x2=["innerHTML"],C2={class:"whols-charts__container"},E2={__name:"ChartsSection",props:{chartData:{type:Object,default:()=>({timeSeriesData:[],totalRevenue:0,totalOrders:0})},dateRange:{type:Array,default:()=>[]},layout:{type:String,default:"third"}},emits:["update:layout"],setup(n,{expose:o,emit:r}){const a=z(()=>Kl()),s=n,u=r,d=xe(null),m=xe(null),c=xe(null),f=z({get:()=>s.layout,set:y=>u("update:layout",y)}),h=z(()=>{const{totalRevenue:y,totalOrders:C}=s.chartData;return C?Math.round(y/C*100)/100:0}),w=z(()=>{if(!s.dateRange||!s.dateRange.length||!s.dateRange[0]||!s.dateRange[1])return"All time";try{const y=new Date(s.dateRange[0]),C=new Date(s.dateRange[1]),V={month:"short",day:"numeric"};return`${y.toLocaleDateString("en-US",V)} - ${C.toLocaleDateString("en-US",V)}`}catch(y){return console.error("Error formatting date range:",y),"All time"}}),x=y=>new Intl.NumberFormat("en-US").format(Math.round(y*100)/100);return o({revenueChartRef:d,ordersChartRef:m,aovChartRef:c}),(y,C)=>{const V=M("el-radio-button"),L=M("el-radio-group"),D=M("el-card");return P(),q(D,{class:"whols-charts"},{header:b(()=>[E("div",n2,[E("div",r2,[C[1]||(C[1]=E("h3",null,"Charts",-1)),E("span",o2,le(w.value),1)]),E("div",l2,[E("div",a2,[C[5]||(C[5]=E("span",{class:"whols-charts__layout-label"},"Layout:",-1)),v(L,{modelValue:f.value,"onUpdate:modelValue":C[0]||(C[0]=O=>f.value=O),size:"small"},{default:b(()=>[v(V,{label:"full"},{default:b(()=>C[2]||(C[2]=[J("Full Width")])),_:1}),v(V,{label:"half"},{default:b(()=>C[3]||(C[3]=[J("2 Columns")])),_:1}),v(V,{label:"third"},{default:b(()=>C[4]||(C[4]=[J("3 Columns")])),_:1})]),_:1},8,["modelValue"])])])])]),default:b(()=>[E("div",{class:Me(["whols-charts__grid","whols-charts__grid--"+n.layout])},[E("div",i2,[E("div",s2,[E("div",u2,[E("h4",null,[C[6]||(C[6]=J("Orders - ")),E("span",c2,[E("span",{innerHTML:a.value},null,8,d2),J(le(x(n.chartData.totalOrders)),1)])])])]),E("div",f2,[E("canvas",{ref_key:"ordersChartRef",ref:m,height:"180"},null,512)])]),E("div",h2,[E("div",p2,[E("div",m2,[E("h4",null,[C[7]||(C[7]=J("Revenue - ")),E("span",_2,[E("span",{innerHTML:a.value},null,8,g2),J(le(x(n.chartData.totalRevenue)),1)])])])]),E("div",v2,[E("canvas",{ref_key:"revenueChartRef",ref:d,height:"180"},null,512)])]),E("div",w2,[E("div",y2,[E("div",b2,[E("h4",null,[C[8]||(C[8]=J("Average Order Value - ")),E("span",S2,[E("span",{innerHTML:a.value},null,8,x2),J(le(x(h.value)),1)])])])]),E("div",C2,[E("canvas",{ref_key:"aovChartRef",ref:c,height:"180"},null,512)])])],2)]),_:1})}}},V2=ze(E2,[["__scopeId","data-v-cc323c70"]]),R2={class:"whols-top-products__header"},A2={class:"whols-top-products__header-content"},O2={class:"whols-top-products__subtitle"},P2=["innerHTML"],T2={__name:"TopProductsTable",props:{products:{type:Array,default:()=>[]},dateRange:{type:Array,default:()=>[]},loading:{type:Boolean,default:!1}},setup(n){const o=z(()=>Kl()),r=n,a=z(()=>{if(!r.dateRange||!r.dateRange.length||!r.dateRange[0]||!r.dateRange[1])return"All time";try{const u=new Date(r.dateRange[0]),d=new Date(r.dateRange[1]),m={month:"short",day:"numeric"};return`${u.toLocaleDateString("en-US",m)} - ${d.toLocaleDateString("en-US",m)}`}catch(u){return console.error("Error formatting date range:",u),"All time"}}),s=u=>new Intl.NumberFormat("en-US").format(Math.round(u*100)/100);return(u,d)=>{const m=M("el-table-column"),c=M("el-table"),f=M("el-card"),h=Qi("loading");return P(),q(f,{class:"whols-top-products"},{header:b(()=>[E("div",R2,[E("div",A2,[d[0]||(d[0]=E("h3",null,"Top Products",-1)),E("span",O2,le(a.value),1)])])]),default:b(()=>[Qt((P(),q(c,{data:n.products,style:{width:"100%"},"show-header":!0,size:"default"},{default:b(()=>[v(m,{prop:"name",label:"Product","min-width":"120"}),v(m,{prop:"itemsSold",label:"Items Sold",width:"100",align:"right"}),v(m,{prop:"netSales",label:"Net Sales",width:"120",align:"right"},{default:b(w=>[E("span",{innerHTML:o.value},null,8,P2),J(le(s(w.row.netSales)),1)]),_:1})]),_:1},8,["data"])),[[h,n.loading]])]),_:1})}}},k2=ze(T2,[["__scopeId","data-v-682970c2"]]),D2={class:"whols-top-categories__header"},I2={class:"whols-top-categories__header-content"},$2={class:"whols-top-categories__subtitle"},L2=["innerHTML"],M2={__name:"TopCategoriesTable",props:{categories:{type:Array,default:()=>[]},dateRange:{type:Array,default:()=>[]},loading:{type:Boolean,default:!1}},setup(n){const o=z(()=>Kl()),r=n,a=z(()=>{if(!r.dateRange||!r.dateRange.length||!r.dateRange[0]||!r.dateRange[1])return"All time";try{const u=new Date(r.dateRange[0]),d=new Date(r.dateRange[1]),m={month:"short",day:"numeric"};return`${u.toLocaleDateString("en-US",m)} - ${d.toLocaleDateString("en-US",m)}`}catch(u){return console.error("Error formatting date range:",u),"All time"}}),s=u=>new Intl.NumberFormat("en-US").format(Math.round(u*100)/100);return(u,d)=>{const m=M("el-table-column"),c=M("el-table"),f=M("el-card"),h=Qi("loading");return P(),q(f,{class:"whols-top-categories"},{header:b(()=>[E("div",D2,[E("div",I2,[d[0]||(d[0]=E("h3",null,"Top Categories",-1)),E("span",$2,le(a.value),1)])])]),default:b(()=>[Qt((P(),q(c,{data:n.categories,style:{width:"100%"},"show-header":!0,size:"default"},{default:b(()=>[v(m,{prop:"name",label:"Category","min-width":"120"}),v(m,{prop:"itemsSold",label:"Items Sold",width:"100",align:"right"}),v(m,{prop:"netSales",label:"Net Sales",width:"120",align:"right"},{default:b(w=>[E("span",{innerHTML:o.value},null,8,L2),J(le(s(w.row.netSales)),1)]),_:1})]),_:1},8,["data"])),[[h,n.loading]])]),_:1})}}},U2=ze(M2,[["__scopeId","data-v-c5a83d67"]]),N2={class:"card-header"},F2={class:"card-header-controls"},B2={__name:"Dashboard",setup(n){const{isLoading:o,metrics:r,actionItems:a,topProducts:s,topCategories:u,chartData:d,fetchDashboardData:m}=uC(),c=xe(!1),{dateRange:f,datePreset:h,datePopoverVisible:w,selectedDateRangeText:x,datePresetName:y,selectPreset:C,openDatePopover:V,cancelDateSelection:L,applyDateFilter:D,checkIfDateRangeMatchesPreset:O}=cC(),{chartRefs:I,renderCharts:H,loadChartLibrary:K}=dC(),re=xe(null),ee=xe(f0("whols-chart-layout")||"third");cn(ee,N=>{d0("whols-chart-layout",N,365)}),cn(f,N=>{N&&N.length===2?O(N[0],N[1])||(h.value="custom"):(!N||N.length===0)&&C("last30days")});const oe=()=>{D(),ie()},ie=async(N=!1)=>{await m(f.value,N),Le()},Z=async()=>{try{c.value=!0,await ie(!0),Ii({message:"Data refreshed successfully",type:"success",offset:40})}catch(N){Ii({message:"Failed to refresh data",type:"error",offset:40}),console.error("Sync error:",N)}finally{c.value=!1}};Qx.debounce(()=>{ie()},500);const Le=async()=>{window.Chart||await K();const N=be();N&&d.value&&(I.revenue.value=N.revenueChartRef,I.orders.value=N.ordersChartRef,I.aov.value=N.aovChartRef,H(d.value))},be=()=>re.value?{revenueChartRef:re.value.revenueChartRef,ordersChartRef:re.value.ordersChartRef,aovChartRef:re.value.aovChartRef}:null;return fr(async()=>{C("last30days"),await ie()}),fr(()=>{const N=new Event("hashchange",{bubbles:!0});window.dispatchEvent(N)}),(N,ve)=>{const Te=M("el-button"),Ae=M("el-col"),Ue=M("el-row"),vt=M("el-card"),In=Qi("loading");return P(),X(ge,null,[v(xC,{"action-items":R(a)},null,8,["action-items"]),Qt((P(),q(vt,{class:"analytics-section"},{header:b(()=>[E("div",N2,[ve[5]||(ve[5]=E("h3",null,"Performance Overview (B2B)",-1)),E("div",F2,[v(ff,{content:"* Force refresh data (clears cache) <br>* Data is cached for 1 hour <br>* When Test mode is enabled, data is not cached",placement:"top"},{default:b(()=>[v(Te,{class:"sync-button",icon:R(qw),type:"primary",plain:"",size:"medium",loading:c.value,onClick:Z},{default:b(()=>ve[4]||(ve[4]=[J(" Refresh ")])),_:1},8,["icon","loading"])]),_:1}),v(kC,{"date-range":R(f),"onUpdate:dateRange":ve[0]||(ve[0]=ht=>Wr(f)?f.value=ht:null),"date-preset":R(h),"onUpdate:datePreset":ve[1]||(ve[1]=ht=>Wr(h)?h.value=ht:null),"date-popover-visible":R(w),"onUpdate:datePopoverVisible":ve[2]||(ve[2]=ht=>Wr(w)?w.value=ht:null),"selected-date-range-text":R(x),"date-preset-name":R(y),onOpenDatePopover:R(V),onCancelDateSelection:R(L),onApplyDateFilter:oe,onSelectPreset:R(C)},null,8,["date-range","date-preset","date-popover-visible","selected-date-range-text","date-preset-name","onOpenDatePopover","onCancelDateSelection","onSelectPreset"])])])]),default:b(()=>[v(t2,{metrics:R(r)},null,8,["metrics"]),v(V2,{layout:ee.value,"onUpdate:layout":ve[3]||(ve[3]=ht=>ee.value=ht),"chart-data":R(d),"date-range":R(f),ref_key:"chartsRef",ref:re},null,8,["layout","chart-data","date-range"]),v(Ue,{gutter:20,class:"leaderboards-row"},{default:b(()=>[v(Ae,{xs:24,sm:12},{default:b(()=>[v(k2,{products:R(s),"date-range":R(f),loading:R(o)},null,8,["products","date-range","loading"])]),_:1}),v(Ae,{xs:24,sm:12},{default:b(()=>[v(U2,{categories:R(u),"date-range":R(f),loading:R(o)},null,8,["categories","date-range","loading"])]),_:1})]),_:1})]),_:1})),[[In,R(o)]])],64)}}},If=ze(B2,[["__scopeId","data-v-cdab2d13"]]),W2={class:"dashboard-content"},q2={__name:"DashboardContent",setup(n){return(o,r)=>(P(),X("div",W2,[v(If)]))}},H2=ze(q2,[["__scopeId","data-v-2443efa9"]]),G2=[{path:"/onboarding",name:"onboarding",component:()=>Qw(()=>import("./Onboarding.Dis6SB7l.js"),__vite__mapDeps([0,1])),meta:{layout:"blank"}},{path:"/dashboard",component:If,meta:{layout:"default"},children:[{path:"",name:"dashboard",component:H2}]},{path:"/settings",component:Zx,meta:{layout:"default"},children:[{path:"",redirect:"/settings/general"},{path:"general",name:"general",component:p0},{path:"registration",name:"registration",component:_0},{path:"fields-manager",name:"fields-manager",component:wS},{path:"product-visibility",name:"product-visibility",component:bS},{path:"wholesaler-only-categories",name:"wholesaler-only-categories",component:TS},{path:"guest-access",name:"guest-access",component:DS},{path:"request-a-quote",name:"request-a-quote",component:$S},{path:"conversation",name:"conversation",component:MS},{path:"wallet",name:"wallet",component:NS},{path:"save-order-list",name:"save-order-list",component:BS},{path:"others",name:"others",component:qS},{path:"email-notifications",name:"email-notifications",component:tx},{path:"thank-you-message",name:"thank-you-message",component:nx},{path:"design",name:"design",component:ux},{path:"dynamic-rules",name:"dynamic-rules",component:Dx},{path:"bulk-order-form",name:"bulk-order-form",component:$x}]},{path:"/",redirect:"/settings/general"}],$d=ub({history:Uy(),routes:G2}),z2=()=>({settings:{},users:[],pages:[],products:[],productCategories:[],countries:[],wholsRoles:{},paymentGateways:{},isLoading:!1,isSaving:!1,isResetting:!1,error:null,validationErrors:{},activeMenu:"general",formConfig:{labelPosition:"left"},displayProModal:!1}),Y2={setSettings(n,o){n.settings=o},updateSetting(n,{key:o,value:r}){n.settings={...n.settings,[o]:r}},updateFormConfig(n,o){n.formConfig={...n.formConfig,...o}},setActiveMenu(n,o){n.activeMenu=o},setWholsRoles(n,o){n.wholsRoles=o},setUsers(n,o){n.users=o},setPages(n,o){n.pages=o},setProducts(n,o){n.products=o},setProductCategories(n,o){n.productCategories=o},setCountries(n,o){n.countries=o},setPaymentGateways(n,o){n.paymentGateways=o},setLoading(n,o){n.isLoading=o},setSaving(n,o){n.isSaving=o},setResetting(n,o){n.isResetting=o},setError(n,o){n.error=o},setValidationErrors(n,o){n.validationErrors=o},setDisplayProModal(n,o){n.displayProModal=o}};let vo=null;const K2={updateActiveMenu({commit:n},o){n("setActiveMenu",o)},fetchSettings({commit:n,state:o}){var r;if(!Object.values(o.pages).length)return n("setLoading",!0),n("setError",null),n("setSettings",(r=window.wholsSettings)==null?void 0:r.defaultSettings),sn.settings.getSettings().then(a=>{var u;const s=Hw({},(u=window.wholsSettings)==null?void 0:u.defaultSettings,a);n("setSettings",s)}).catch(a=>{throw console.error("Error fetching settings:",a),n("setError",a.message),a}).finally(()=>{n("setLoading",!1)})},async saveSettings({commit:n,state:o}){n("setSaving",!0),n("setError",null),n("setValidationErrors",{});try{const r=await sn.settings.updateSettings(o.settings);n("setSettings",r)}catch(r){throw console.error("Error saving settings:",r),n("setError",r.message),r}finally{n("setSaving",!1)}},async fetchWholsRoles({commit:n,state:o}){if(!Object.values(o.wholsRoles).length){n("setError",null);try{const r=await sn.roles.getRoles();n("setWholsRoles",r)}catch(r){throw console.error("Error fetching roles:",r),n("setError",r.message),r}finally{n("setLoading",!1)}}},async fetchUsers({commit:n,state:o}){if(!Object.values(o.users).length){n("setError",null);try{const r=await sn.users.getUsers();n("setUsers",r)}catch(r){throw console.error("Error fetching users:",r),n("setError",r.message),r}finally{n("setLoading",!1)}}},async fetchPages({commit:n,state:o}){if(!Object.values(o.pages).length){n("setError",null);try{const a=(await sn.pages.getPages()).map(s=>({id:s.id,title:s.title}));n("setPages",a)}catch(r){throw console.error("Error fetching pages:",r),n("setError",r.message),r}finally{n("setLoading",!1)}}},async fetchProducts({commit:n,state:o}){if(!Object.values(o.products).length){if(vo)return vo;n("setError",null);try{vo=sn.products.getProducts();const r=await vo;return n("setProducts",r),r}catch(r){throw console.error("Error fetching products:",r),n("setError",r.message),r}finally{n("setLoading",!1),vo=null}}},async fetchProductCategories({commit:n,state:o}){if(!Object.values(o.productCategories).length){n("setError",null);try{const r=await sn.products.getCategories();n("setProductCategories",r)}catch(r){throw console.error("Error fetching product categories:",r),n("setError",r.message),r}finally{n("setLoading",!1)}}},async fetchCountries({commit:n,state:o}){if(!Object.values(o.countries).length){n("setError",null);try{const r=await sn.countries.getCountries();n("setCountries",r)}catch(r){throw console.error("Error fetching countries:",r),n("setError",r.message),r}finally{n("setLoading",!1)}}},async fetchPaymentGateways({commit:n,state:o}){if(!Object.values(o.paymentGateways).length){n("setError",null);try{const r=await sn.paymentGateways.getPaymentGateways();n("setPaymentGateways",r)}catch(r){throw console.error("Error fetching payment gateways:",r),n("setError",r.message),r}finally{n("setLoading",!1)}}},async resetSettings({commit:n,state:o,dispatch:r},{router:a}){a.currentRoute.value.name,n("setSaving",!1),n("setError",null);try{const s=Object.keys(Nx(a.currentRoute.value)),u=await sn.settings.resetSection(s);return n("setSettings",u),u}catch(s){throw console.error("Error resetting settings:",s),n("setError",s.message),s}finally{n("setSaving",!1)}}},j2={getSettingValue:n=>o=>n.settings[o],getValidationError:n=>o=>n.validationErrors[o],activeMenu:n=>n.activeMenu,isSaving:n=>n.isSaving,getPages:n=>n.pages,getProducts:n=>n.products,getProductCategories:n=>n.productCategories,getUsers:n=>n.users,getWholsRoles:n=>n.wholsRoles,getCountries:n=>n.countries,getPaymentGateways:n=>n.paymentGateways,isLoading:n=>n.isLoading,getLabelPosition:n=>n.labelPosition},Ld=Ab({state:z2,mutations:Y2,actions:K2,getters:j2}),X2={class:"whols-advertiser-content"},Z2={class:"whols-advertiser-message"},Q2={__name:"ProModal",setup(n){const o=tt(),r=z(()=>o.state.displayProModal),a=z(()=>wholsSettings.proAdvInfo),s=()=>{o.commit("setDisplayProModal",!1)};return(u,d)=>{const m=M("el-icon"),c=M("el-button"),f=M("el-dialog");return P(),q(f,{modelValue:r.value,"onUpdate:modelValue":d[0]||(d[0]=h=>r.value=h),width:"500","show-close":!0,onClose:s,center:"","align-center":""},{default:b(()=>[E("div",X2,[v(m,null,{default:b(()=>[v(R(Gw))]),_:1}),d[2]||(d[2]=E("div",{class:"whols-advertiser-title"},"Unlock Premium Features",-1)),E("div",Z2,le(a.value.message),1),v(c,{type:"primary",size:"large",tag:"a",href:a.value.purchaseURL,target:"_blank",rel:"noopener noreferrer",onClick:s},{default:b(()=>d[1]||(d[1]=[J(" Purchase Pro ")])),_:1},8,["href"])])]),_:1},8,["modelValue"])}}},J2=ze(Q2,[["__scopeId","data-v-f9c4e521"]]),eE={class:"whols-header-left"},tE={class:"whols-logo-box"},nE={class:"whols-version"},rE={class:"whols-header-right"},oE=["href"],lE={__name:"AppHeader",setup(n){const o=window.wholsSettings.docsUrl,r=window.wholsSettings.pluginVersion,a=Io(),s=z(()=>a.path.search("/settings")>-1),u=z(()=>a.path==="/dashboard");return(d,m)=>{const c=M("el-text"),f=M("router-link");return P(),X(ge,null,[E("div",eE,[E("div",tE,[m[0]||(m[0]=E("span",{class:"whols-brand-name"},"Whols",-1)),E("span",nE,"v"+le(R(r)),1)])]),E("div",rE,[v(f,{to:"/dashboard",class:Me(["whols-nav-link",{active:u.value}])},{default:b(()=>[v(c,null,{default:b(()=>m[1]||(m[1]=[J("Dashboard")])),_:1})]),_:1},8,["class"]),v(f,{to:"/settings/general",class:Me(["whols-nav-link",{active:s.value}])},{default:b(()=>[v(c,null,{default:b(()=>m[2]||(m[2]=[J("Settings")])),_:1})]),_:1},8,["class"]),E("a",{href:R(o),target:"_blank",rel:"noopener noreferrer",class:"whols-nav-link whols-external-link"},[v(c,null,{default:b(()=>m[3]||(m[3]=[J("Docs")])),_:1})],8,oE)])],64)}}},aE={class:"whols-support"},iE={class:"whols-support__icon-box"},sE={__name:"GetSupport",setup(n){const o=()=>{window.open(window.wholsSettings.supportUrl,"_blank")};return(r,a)=>{const s=M("el-icon"),u=M("el-button"),d=M("el-card");return P(),q(d,{class:"whols-card whols-card--support"},{header:b(()=>a[0]||(a[0]=[E("div",{class:"whols-card__header"},[E("h3",null,"Support And Feedback")],-1)])),default:b(()=>[E("div",aE,[E("div",iE,[v(s,{class:"whols-support__icon"},{default:b(()=>[v(R(zw))]),_:1})]),a[3]||(a[3]=E("p",{class:"whols-support__text"},"If you have any questions, concerns, or feedback, please don't hesitate to contact us. Our team is always available to assist with your needs. Thank you for choosing our products and services—we look forward to hearing from you soon!",-1)),v(u,{type:"primary",class:"whols-button whols-button--support hidden-lg-and-down",onClick:o},{default:b(()=>a[1]||(a[1]=[J("Get Support")])),_:1}),v(u,{type:"primary",size:"large",class:"whols-button whols-button--support hidden-xl-only",onClick:o},{default:b(()=>a[2]||(a[2]=[J("Get Support")])),_:1})])]),_:1})}}},$f=ze(sE,[["__scopeId","data-v-ab7f8be1"]]),uE={class:"whols-features__icon-box"},cE={class:"whols-features__text"},dE={__name:"ProFeatures",props:{columns:{type:Number,default:1,validator:n=>[1,2].includes(n)}},setup(n){const o=["Multi-tier pricing","Tiered quantity-based pricing","Purchase restrictions by user role","Wholesaler only categories","Saved order lists","Custom registration fields","Request a quote","Customer-owner conversations","Dynamic Rules","Wallet system","And more..."],r=()=>{window.open(window.wholsSettings.proUrl,"_blank")};return(a,s)=>{const u=M("el-icon"),d=M("el-button"),m=M("el-card");return P(),q(m,{class:"whols-card whols-card--features"},{header:b(()=>s[0]||(s[0]=[E("div",{class:"whols-card__header"},[E("h3",null,"Pro Features")],-1)])),default:b(()=>[E("ul",{class:Me(["whols-features",{"whols-features--two-columns":n.columns===2}])},[(P(),X(ge,null,Ce(o,(c,f)=>E("li",{key:f,class:"whols-features__item"},[E("div",uE,[v(u,{class:"whols-features__icon"},{default:b(()=>[v(R(Md))]),_:1})]),E("span",cE,le(c),1)])),64))],2),E("div",{class:Me(["whols-banner",{"whols-banner--two-columns":n.columns===2}])},[s[2]||(s[2]=E("p",{class:"whols-banner__text"},"Unlock all features to boost your wholesale business",-1)),v(d,{type:"primary",size:"large",class:"whols-banner__button",onClick:r},{default:b(()=>s[1]||(s[1]=[J("Upgrade to Pro")])),_:1})],2)]),_:1})}}},fE=ze(dE,[["__scopeId","data-v-0ba56eba"]]),hE={class:"whols-knowledge"},pE={class:"whols-knowledge__icon-box"},mE={__name:"KnowledgeBase",setup(n){const o=()=>{window.open(window.wholsSettings.docsUrl||"https://wpwhols.com/","_blank")};return(r,a)=>{const s=M("el-icon"),u=M("el-button"),d=M("el-card");return P(),q(d,{class:"whols-card whols-card--knowledge"},{header:b(()=>a[0]||(a[0]=[E("div",{class:"whols-card__header"},[E("h3",null,"Knowledge Base")],-1)])),default:b(()=>[E("div",hE,[E("div",pE,[v(s,{class:"whols-knowledge__icon"},{default:b(()=>[v(R(Yw))]),_:1})]),a[3]||(a[3]=E("p",{class:"whols-knowledge__text"},"Discover how to set up and customize your wholesale store with step-by-step Whols documentation.",-1)),v(u,{type:"primary",class:"whols-button whols-button--knowledge hidden-lg-and-down",onClick:o},{default:b(()=>a[1]||(a[1]=[J("Read Documentation")])),_:1}),v(u,{type:"primary",size:"large",class:"whols-button whols-button--knowledge hidden-xl-only",onClick:o},{default:b(()=>a[2]||(a[2]=[J("Read Documentation")])),_:1})])]),_:1})}}},Lf=ze(mE,[["__scopeId","data-v-057e0299"]]),_E={class:"whols-sidebar"},gE={__name:"ProFeaturesSidebar",setup(n){return(o,r)=>(P(),X("div",_E,[v(fE),r[0]||(r[0]=E("div",{class:"whols-sidebar__spacer"},null,-1)),v($f),r[1]||(r[1]=E("div",{class:"whols-sidebar__spacer"},null,-1)),v(Lf)]))}},vE=ze(gE,[["__scopeId","data-v-f7a68764"]]),wE={class:"whols-app-content"},yE={__name:"DefaultLayout",setup(n){return(o,r)=>{const a=M("el-header"),s=M("el-col"),u=M("el-row"),d=M("el-container");return P(),q(d,{class:"whols-app-container"},{default:b(()=>[v(a,{class:"whols-app-header"},{default:b(()=>[v(lE)]),_:1}),E("div",wE,[v(u,{gutter:20},{default:b(()=>[v(s,{class:"whols-app-left-content",xs:24,sm:24,md:24,lg:24,xl:19},{default:b(()=>[Do(o.$slots,"default",{},void 0,!0)]),_:3}),v(s,{class:"whols-app-right-sidebar hidden-lg-and-down",xs:24,sm:24,md:6,lg:6,xl:5},{default:b(()=>[v(vE)]),_:1})]),_:3}),r[0]||(r[0]=E("div",{style:{height:"var(--whols-spacing-2xl)"}},null,-1)),v(u,{gutter:20,class:"hidden-xl-only"},{default:b(()=>[v(s,{span:8},{default:b(()=>[v($f)]),_:1}),v(s,{span:8},{default:b(()=>[v(Lf)]),_:1})]),_:1})])]),_:3})}}},bE=ze(yE,[["__scopeId","data-v-7d95c5b4"]]),SE={class:"whols-blank-layout"},xE={__name:"BlankLayout",setup(n){return(o,r)=>(P(),X("div",SE,[Do(o.$slots,"default",{},void 0,!0)]))}},CE=ze(xE,[["__scopeId","data-v-7ab95cfc"]]),EE={__name:"App",setup(n){const o=tt(),r=Io();z(()=>o.state.isLoading);const a=z(()=>{if(r.meta.layout==="blank")return CE;if(r.meta.layout==="default")return bE});return fr(async()=>{try{await o.dispatch("fetchSettings")}catch{Ii.error("Failed to load settings")}}),(s,u)=>{const d=M("router-view"),m=M("el-config-provider");return P(),q(m,null,{default:b(()=>[R(o).state.displayProModal?(P(),q(J2,{key:0})):Pe("",!0),(P(),q(Di(a.value),null,{default:b(()=>[v(d)]),_:1}))]),_:1})}}},VE=ze(EE,[["__scopeId","data-v-97c93e67"]]),Br=[{id:"welcome",label:"Welcome"},{id:"features",label:"Features"},{id:"config",label:"Configuration"},{id:"complete",label:"Complete"}],RE={currentStep:"welcome",completedSteps:[],config:{enable_request_a_quote:"0",bof_enabled:"0",enable_conversation:"0",enable_wallet_payment:"0",enable_save_order_list:"0",registration_page:"",show_wholesale_price_for:"administrator",hide_price_for_guest_users:"1"},dataConsent:!1},AE={setCurrentStep(n,o){n.currentStep=o},completeStep(n,o){n.completedSteps.includes(o)||n.completedSteps.push(o)},removeCompletedStep(n,o){n.completedSteps=n.completedSteps.filter(r=>r!==o)},setDataConsent(n,o){n.dataConsent=o}},OE={setCurrentStep({commit:n},o){n("setCurrentStep",o)},completeStep({commit:n},o){n("completeStep",o)},goBack({commit:n,state:o}){const r=Br.findIndex(a=>a.id===o.currentStep);if(r>0){const a=Br[r-1].id;n("removeCompletedStep",o.currentStep),n("setCurrentStep",a)}}},PE={isStepCompleted:n=>o=>n.completedSteps.includes(o),currentStepIndex:n=>Br.findIndex(o=>o.id===n.currentStep),totalSteps:()=>Br.length,progressPercentage:(n,o)=>{const r=o.currentStepIndex;return Math.round(r/(Br.length-1)*100)},getSteps:()=>Br},TE={namespaced:!0,state:RE,mutations:AE,actions:OE,getters:PE},kE=n=>{n.hasModule("onboarding")||n.registerModule("onboarding",TE)},DE=(n,o,r)=>{kE(o),r||console.error("Router not provided to onboarding module")},IE={install:(n,o={})=>{const{store:r,router:a}=o;r?DE(n,r,a):console.warn("Whols Onboarding: Vuex store is required for proper functionality")}};document.addEventListener("DOMContentLoaded",()=>{const n=Kw(VE);n.use(Ld),n.use($d),n.use(jw),n.use(IE,{store:Ld,router:$d}),n.mount("#whols-vue-settings-app")});export{ff as H,Tb as S,ze as _,db as a,tC as s,tt as u,LE as w};
     42}`;var Ve=$c(function(){return Be(g,ue+"return "+G).apply(r,S)});if(Ve.source=G,ai(Ve))throw Ve;return Ve}function V1(e){return qe(e).toLowerCase()}function R1(e){return qe(e).toUpperCase()}function A1(e,t,l){if(e=qe(e),e&&(l||t===r))return Hs(e);if(!e||!(t=Lt(t)))return e;var i=nn(e),p=nn(t),g=Gs(i,p),S=zs(i,p)+1;return Wn(i,g,S).join("")}function O1(e,t,l){if(e=qe(e),e&&(l||t===r))return e.slice(0,Ks(e)+1);if(!e||!(t=Lt(t)))return e;var i=nn(e),p=zs(i,nn(t))+1;return Wn(i,0,p).join("")}function P1(e,t,l){if(e=qe(e),e&&(l||t===r))return e.replace(aa,"");if(!e||!(t=Lt(t)))return e;var i=nn(e),p=Gs(i,nn(t));return Wn(i,p).join("")}function T1(e,t){var l=Z,i=Le;if(nt(t)){var p="separator"in t?t.separator:p;l="length"in t?Ee(t.length):l,i="omission"in t?Lt(t.omission):i}e=qe(e);var g=e.length;if(vr(e)){var S=nn(e);g=S.length}if(l>=g)return e;var A=l-wr(i);if(A<1)return i;var k=S?Wn(S,0,A).join(""):e.slice(0,A);if(p===r)return k+i;if(S&&(A+=k.length-A),ii(p)){if(e.slice(A).search(p)){var F,B=k;for(p.global||(p=xa(p.source,qe(fs.exec(p))+"g")),p.lastIndex=0;F=p.exec(B);)var G=F.index;k=k.slice(0,G===r?A:G)}}else if(e.indexOf(Lt(p),A)!=A){var ne=k.lastIndexOf(p);ne>-1&&(k=k.slice(0,ne))}return k+i}function k1(e){return e=qe(e),e&&qf.test(e)?e.replace(us,ip):e}var D1=Vr(function(e,t,l){return e+(l?" ":"")+t.toUpperCase()}),ci=Lu("toUpperCase");function Ic(e,t,l){return e=qe(e),t=l?r:t,t===r?np(e)?cp(e):Yh(e):e.match(t)||[]}var $c=Oe(function(e,t){try{return It(e,r,t)}catch(l){return ai(l)?l:new we(l)}}),I1=Cn(function(e,t){return Ht(t,function(l){l=mn(l),Sn(e,l,oi(e[l],e))}),e});function $1(e){var t=e==null?0:e.length,l=de();return e=t?Je(e,function(i){if(typeof i[1]!="function")throw new Gt(d);return[l(i[0]),i[1]]}):[],Oe(function(i){for(var p=-1;++p<t;){var g=e[p];if(It(g[0],this,i))return It(g[1],this,i)}})}function L1(e){return im(Yt(e,w))}function di(e){return function(){return e}}function M1(e,t){return e==null||e!==e?t:e}var U1=Uu(),N1=Uu(!0);function Ot(e){return e}function fi(e){return pu(typeof e=="function"?e:Yt(e,w))}function F1(e){return _u(Yt(e,w))}function B1(e,t){return gu(e,Yt(t,w))}var W1=Oe(function(e,t){return function(l){return so(l,e,t)}}),q1=Oe(function(e,t){return function(l){return so(e,l,t)}});function hi(e,t,l){var i=pt(t),p=al(t,i);l==null&&!(nt(t)&&(p.length||!i.length))&&(l=t,t=e,e=this,p=al(t,pt(t)));var g=!(nt(l)&&"chain"in l)||!!l.chain,S=Vn(e);return Ht(p,function(A){var k=t[A];e[A]=k,S&&(e.prototype[A]=function(){var F=this.__chain__;if(g||F){var B=e(this.__wrapped__),G=B.__actions__=Vt(this.__actions__);return G.push({func:k,args:arguments,thisArg:e}),B.__chain__=F,B}return k.apply(e,Ln([this.value()],arguments))})}),e}function H1(){return mt._===this&&(mt._=_p),this}function pi(){}function G1(e){return e=Ee(e),Oe(function(t){return vu(t,e)})}var z1=Ga(Je),Y1=Ga(Ns),K1=Ga(_a);function Lc(e){return Qa(e)?ga(mn(e)):Cm(e)}function j1(e){return function(t){return e==null?r:or(e,t)}}var X1=Fu(),Z1=Fu(!0);function mi(){return[]}function _i(){return!1}function Q1(){return{}}function J1(){return""}function ew(){return!0}function tw(e,t){if(e=Ee(e),e<1||e>vt)return[];var l=Dt,i=wt(e,Dt);t=de(t),e-=Dt;for(var p=ya(i,t);++l<e;)t(l);return p}function nw(e){return Se(e)?Je(e,mn):Mt(e)?[e]:Vt(nc(qe(e)))}function rw(e){var t=++pp;return qe(e)+t}var ow=fl(function(e,t){return e+t},0),lw=za("ceil"),aw=fl(function(e,t){return e/t},1),iw=za("floor");function sw(e){return e&&e.length?ll(e,Ot,Ta):r}function uw(e,t){return e&&e.length?ll(e,de(t,2),Ta):r}function cw(e){return Ws(e,Ot)}function dw(e,t){return Ws(e,de(t,2))}function fw(e){return e&&e.length?ll(e,Ot,$a):r}function hw(e,t){return e&&e.length?ll(e,de(t,2),$a):r}var pw=fl(function(e,t){return e*t},1),mw=za("round"),_w=fl(function(e,t){return e-t},0);function gw(e){return e&&e.length?wa(e,Ot):0}function vw(e,t){return e&&e.length?wa(e,de(t,2)):0}return _.after=Fg,_.ary=hc,_.assign=Rv,_.assignIn=Rc,_.assignInWith=El,_.assignWith=Av,_.at=Ov,_.before=pc,_.bind=oi,_.bindAll=I1,_.bindKey=mc,_.castArray=Qg,_.chain=cc,_.chunk=i_,_.compact=s_,_.concat=u_,_.cond=$1,_.conforms=L1,_.constant=di,_.countBy=gg,_.create=Pv,_.curry=_c,_.curryRight=gc,_.debounce=vc,_.defaults=Tv,_.defaultsDeep=kv,_.defer=Bg,_.delay=Wg,_.difference=c_,_.differenceBy=d_,_.differenceWith=f_,_.drop=h_,_.dropRight=p_,_.dropRightWhile=m_,_.dropWhile=__,_.fill=g_,_.filter=wg,_.flatMap=Sg,_.flatMapDeep=xg,_.flatMapDepth=Cg,_.flatten=ac,_.flattenDeep=v_,_.flattenDepth=w_,_.flip=qg,_.flow=U1,_.flowRight=N1,_.fromPairs=y_,_.functions=Nv,_.functionsIn=Fv,_.groupBy=Eg,_.initial=S_,_.intersection=x_,_.intersectionBy=C_,_.intersectionWith=E_,_.invert=Wv,_.invertBy=qv,_.invokeMap=Rg,_.iteratee=fi,_.keyBy=Ag,_.keys=pt,_.keysIn=At,_.map=wl,_.mapKeys=Gv,_.mapValues=zv,_.matches=F1,_.matchesProperty=B1,_.memoize=bl,_.merge=Yv,_.mergeWith=Ac,_.method=W1,_.methodOf=q1,_.mixin=hi,_.negate=Sl,_.nthArg=G1,_.omit=Kv,_.omitBy=jv,_.once=Hg,_.orderBy=Og,_.over=z1,_.overArgs=Gg,_.overEvery=Y1,_.overSome=K1,_.partial=li,_.partialRight=wc,_.partition=Pg,_.pick=Xv,_.pickBy=Oc,_.property=Lc,_.propertyOf=j1,_.pull=O_,_.pullAll=sc,_.pullAllBy=P_,_.pullAllWith=T_,_.pullAt=k_,_.range=X1,_.rangeRight=Z1,_.rearg=zg,_.reject=Dg,_.remove=D_,_.rest=Yg,_.reverse=ni,_.sampleSize=$g,_.set=Qv,_.setWith=Jv,_.shuffle=Lg,_.slice=I_,_.sortBy=Ng,_.sortedUniq=B_,_.sortedUniqBy=W_,_.split=S1,_.spread=Kg,_.tail=q_,_.take=H_,_.takeRight=G_,_.takeRightWhile=z_,_.takeWhile=Y_,_.tap=sg,_.throttle=jg,_.thru=vl,_.toArray=Cc,_.toPairs=Pc,_.toPairsIn=Tc,_.toPath=nw,_.toPlainObject=Vc,_.transform=e1,_.unary=Xg,_.union=K_,_.unionBy=j_,_.unionWith=X_,_.uniq=Z_,_.uniqBy=Q_,_.uniqWith=J_,_.unset=t1,_.unzip=ri,_.unzipWith=uc,_.update=n1,_.updateWith=r1,_.values=Or,_.valuesIn=o1,_.without=eg,_.words=Ic,_.wrap=Zg,_.xor=tg,_.xorBy=ng,_.xorWith=rg,_.zip=og,_.zipObject=lg,_.zipObjectDeep=ag,_.zipWith=ig,_.entries=Pc,_.entriesIn=Tc,_.extend=Rc,_.extendWith=El,hi(_,_),_.add=ow,_.attempt=$c,_.camelCase=s1,_.capitalize=kc,_.ceil=lw,_.clamp=l1,_.clone=Jg,_.cloneDeep=tv,_.cloneDeepWith=nv,_.cloneWith=ev,_.conformsTo=rv,_.deburr=Dc,_.defaultTo=M1,_.divide=aw,_.endsWith=u1,_.eq=on,_.escape=c1,_.escapeRegExp=d1,_.every=vg,_.find=yg,_.findIndex=oc,_.findKey=Dv,_.findLast=bg,_.findLastIndex=lc,_.findLastKey=Iv,_.floor=iw,_.forEach=dc,_.forEachRight=fc,_.forIn=$v,_.forInRight=Lv,_.forOwn=Mv,_.forOwnRight=Uv,_.get=si,_.gt=ov,_.gte=lv,_.has=Bv,_.hasIn=ui,_.head=ic,_.identity=Ot,_.includes=Vg,_.indexOf=b_,_.inRange=a1,_.invoke=Hv,_.isArguments=ir,_.isArray=Se,_.isArrayBuffer=av,_.isArrayLike=Rt,_.isArrayLikeObject=at,_.isBoolean=iv,_.isBuffer=qn,_.isDate=sv,_.isElement=uv,_.isEmpty=cv,_.isEqual=dv,_.isEqualWith=fv,_.isError=ai,_.isFinite=hv,_.isFunction=Vn,_.isInteger=yc,_.isLength=xl,_.isMap=bc,_.isMatch=pv,_.isMatchWith=mv,_.isNaN=_v,_.isNative=gv,_.isNil=wv,_.isNull=vv,_.isNumber=Sc,_.isObject=nt,_.isObjectLike=ot,_.isPlainObject=mo,_.isRegExp=ii,_.isSafeInteger=yv,_.isSet=xc,_.isString=Cl,_.isSymbol=Mt,_.isTypedArray=Ar,_.isUndefined=bv,_.isWeakMap=Sv,_.isWeakSet=xv,_.join=V_,_.kebabCase=f1,_.last=jt,_.lastIndexOf=R_,_.lowerCase=h1,_.lowerFirst=p1,_.lt=Cv,_.lte=Ev,_.max=sw,_.maxBy=uw,_.mean=cw,_.meanBy=dw,_.min=fw,_.minBy=hw,_.stubArray=mi,_.stubFalse=_i,_.stubObject=Q1,_.stubString=J1,_.stubTrue=ew,_.multiply=pw,_.nth=A_,_.noConflict=H1,_.noop=pi,_.now=yl,_.pad=m1,_.padEnd=_1,_.padStart=g1,_.parseInt=v1,_.random=i1,_.reduce=Tg,_.reduceRight=kg,_.repeat=w1,_.replace=y1,_.result=Zv,_.round=mw,_.runInContext=T,_.sample=Ig,_.size=Mg,_.snakeCase=b1,_.some=Ug,_.sortedIndex=$_,_.sortedIndexBy=L_,_.sortedIndexOf=M_,_.sortedLastIndex=U_,_.sortedLastIndexBy=N_,_.sortedLastIndexOf=F_,_.startCase=x1,_.startsWith=C1,_.subtract=_w,_.sum=gw,_.sumBy=vw,_.template=E1,_.times=tw,_.toFinite=Rn,_.toInteger=Ee,_.toLength=Ec,_.toLower=V1,_.toNumber=Xt,_.toSafeInteger=Vv,_.toString=qe,_.toUpper=R1,_.trim=A1,_.trimEnd=O1,_.trimStart=P1,_.truncate=T1,_.unescape=k1,_.uniqueId=rw,_.upperCase=D1,_.upperFirst=ci,_.each=dc,_.eachRight=fc,_.first=ic,hi(_,function(){var e={};return hn(_,function(t,l){Ge.call(_.prototype,l)||(e[l]=t)}),e}(),{chain:!1}),_.VERSION=a,Ht(["bind","bindKey","curry","curryRight","partial","partialRight"],function(e){_[e].placeholder=_}),Ht(["drop","take"],function(e,t){Ie.prototype[e]=function(l){l=l===r?1:ft(Ee(l),0);var i=this.__filtered__&&!t?new Ie(this):this.clone();return i.__filtered__?i.__takeCount__=wt(l,i.__takeCount__):i.__views__.push({size:wt(l,Dt),type:e+(i.__dir__<0?"Right":"")}),i},Ie.prototype[e+"Right"]=function(l){return this.reverse()[e](l).reverse()}}),Ht(["filter","map","takeWhile"],function(e,t){var l=t+1,i=l==ve||l==Ae;Ie.prototype[e]=function(p){var g=this.clone();return g.__iteratees__.push({iteratee:de(p,3),type:l}),g.__filtered__=g.__filtered__||i,g}}),Ht(["head","last"],function(e,t){var l="take"+(t?"Right":"");Ie.prototype[e]=function(){return this[l](1).value()[0]}}),Ht(["initial","tail"],function(e,t){var l="drop"+(t?"":"Right");Ie.prototype[e]=function(){return this.__filtered__?new Ie(this):this[l](1)}}),Ie.prototype.compact=function(){return this.filter(Ot)},Ie.prototype.find=function(e){return this.filter(e).head()},Ie.prototype.findLast=function(e){return this.reverse().find(e)},Ie.prototype.invokeMap=Oe(function(e,t){return typeof e=="function"?new Ie(this):this.map(function(l){return so(l,e,t)})}),Ie.prototype.reject=function(e){return this.filter(Sl(de(e)))},Ie.prototype.slice=function(e,t){e=Ee(e);var l=this;return l.__filtered__&&(e>0||t<0)?new Ie(l):(e<0?l=l.takeRight(-e):e&&(l=l.drop(e)),t!==r&&(t=Ee(t),l=t<0?l.dropRight(-t):l.take(t-e)),l)},Ie.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Ie.prototype.toArray=function(){return this.take(Dt)},hn(Ie.prototype,function(e,t){var l=/^(?:filter|find|map|reject)|While$/.test(t),i=/^(?:head|last)$/.test(t),p=_[i?"take"+(t=="last"?"Right":""):t],g=i||/^find/.test(t);p&&(_.prototype[t]=function(){var S=this.__wrapped__,A=i?[1]:arguments,k=S instanceof Ie,F=A[0],B=k||Se(S),G=function(De){var $e=p.apply(_,Ln([De],A));return i&&ne?$e[0]:$e};B&&l&&typeof F=="function"&&F.length!=1&&(k=B=!1);var ne=this.__chain__,ue=!!this.__actions__.length,he=g&&!ne,Ve=k&&!ue;if(!g&&B){S=Ve?S:new Ie(this);var pe=e.apply(S,A);return pe.__actions__.push({func:vl,args:[G],thisArg:r}),new zt(pe,ne)}return he&&Ve?e.apply(this,A):(pe=this.thru(G),he?i?pe.value()[0]:pe.value():pe)})}),Ht(["pop","push","shift","sort","splice","unshift"],function(e){var t=Ho[e],l=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",i=/^(?:pop|shift)$/.test(e);_.prototype[e]=function(){var p=arguments;if(i&&!this.__chain__){var g=this.value();return t.apply(Se(g)?g:[],p)}return this[l](function(S){return t.apply(Se(S)?S:[],p)})}}),hn(Ie.prototype,function(e,t){var l=_[t];if(l){var i=l.name+"";Ge.call(xr,i)||(xr[i]=[]),xr[i].push({name:t,func:l})}}),xr[dl(r,D).name]=[{name:"wrapper",func:r}],Ie.prototype.clone=kp,Ie.prototype.reverse=Dp,Ie.prototype.value=Ip,_.prototype.at=ug,_.prototype.chain=cg,_.prototype.commit=dg,_.prototype.next=fg,_.prototype.plant=pg,_.prototype.reverse=mg,_.prototype.toJSON=_.prototype.valueOf=_.prototype.value=_g,_.prototype.first=_.prototype.head,to&&(_.prototype[to]=hg),_},yr=dp();Jn?((Jn.exports=yr)._=yr,fa._=yr):mt._=yr}).call(_o)})(Hl,Hl.exports);var Qx=Hl.exports;const Jx=`${wholsSettings.apiBaseURL}whols/v1`,eC=()=>{var n;return{"Content-Type":"application/json","X-WP-Nonce":(n=window.wholsSettings)==null?void 0:n.nonce}},Jt=async(n,o={})=>{try{const r=await fetch(`${Jx}${n}`,{...o,headers:{...eC(),...o.headers}});if(!r.ok)throw new Error(`API request failed: ${r.statusText}`);return await r.json()}catch(r){throw console.error("API request error:",r),r}},tC={getSettings:()=>Jt("/settings"),updateSettings:n=>Jt("/settings",{method:"POST",body:JSON.stringify(n)}),resetSection:n=>Jt("/reset-section",{method:"POST",body:JSON.stringify({fields:n})})},nC={getRoles:()=>Jt("/wholesaler-roles")},rC={getPages:()=>Jt("/pages")},oC={getProducts:()=>Jt("/products"),getCategories:()=>Jt("/product-categories")},lC={getUsers:()=>Jt("/users")},aC={getCountries:()=>Jt("/countries")},iC={getPaymentGateways:()=>Jt("/payment-gateways")},LE={updateOption:(n,o)=>Jt("/wp_option",{method:"POST",body:JSON.stringify({option_name:n,value:o})})},sC={getDashboardData:(n=null,o=!1)=>{const r=new URLSearchParams;n&&n.length===2&&(r.append("date_from",Id(n[0])),r.append("date_to",Id(n[1]))),o&&r.append("force_refresh","1");let a="/dashboard-data";return r.toString()&&(a=`${a}?${r.toString()}`),Jt(a)}},Id=n=>n?(typeof n=="string"?new Date(n):n).toISOString().split("T")[0]:"",sn={settings:tC,roles:nC,pages:rC,products:oC,users:lC,countries:aC,paymentGateways:iC,dashboard:sC};function uC(){const n=xe(!1),o=xe(null),r=xe({}),a=xe({}),s=xe([]),u=xe([]),d=xe({timeSeriesData:[],totalRevenue:0,totalOrders:0}),m=xe([]),c="whols_performance_overview_cache",f=60*60*1e3,h=2,w=O=>{let I="all_time";if(O&&O.length===2&&O[0]&&O[1])try{const H=new Date(O[0]),K=new Date(O[1]),re=ee=>ee.getFullYear()+"-"+String(ee.getMonth()+1).padStart(2,"0")+"-"+String(ee.getDate()).padStart(2,"0");I=`${re(H)}_${re(K)}`}catch(H){console.warn("Error formatting dates for cache key:",H),I="all_time"}return`${c}_${I}`},x=(O,I)=>{try{const H={data:I,timestamp:Date.now()};localStorage.setItem(O,JSON.stringify(H))}catch(H){console.warn("Failed to cache dashboard data:",H)}},y=O=>{try{const I=localStorage.getItem(O);if(!I)return null;const{data:H,timestamp:K}=JSON.parse(I);return Date.now()-K>f?(localStorage.removeItem(O),null):H}catch(I){return console.warn("Failed to retrieve cached dashboard data:",I),null}},C=()=>{try{const I=Object.keys(localStorage).filter(re=>re.startsWith(c));if(I.length===0)return;const H=[],K=Date.now();if(I.forEach(re=>{try{const ee=localStorage.getItem(re);if(!ee)return;const{timestamp:oe}=JSON.parse(ee);K-oe>f?(localStorage.removeItem(re),console.log(`Removed expired cache: ${re}`)):H.push({key:re,timestamp:oe})}catch{localStorage.removeItem(re)}}),H.length>h){H.sort((ee,oe)=>oe.timestamp-ee.timestamp);const re=H.slice(h);re.forEach(ee=>{localStorage.removeItem(ee.key),console.log(`Removed excess cache: ${ee.key}`)}),console.log(`Removed ${re.length} excess cache entries`)}}catch(O){console.warn("Error during cache cleanup:",O)}},V=O=>{r.value=O.metrics||{},s.value=O.topProducts||[],u.value=O.topCategories||[],d.value=O.chartData||{timeSeriesData:[],totalRevenue:0,totalOrders:0},a.value=O.actionItems||{},m.value=O.proFeatures||[]},L=async(O=null,I=!1)=>{var H,K;n.value=!0,o.value=null;try{C();const re=w(O);if(((K=(H=window.wholsSettings)==null?void 0:H.globalSettings)==null?void 0:K.show_wholesale_price_for)==="administrator"&&(I=!0),!I){const oe=y(re);if(oe){console.log("Using cached dashboard data"),V(oe),n.value=!1;return}}const ee=await sn.dashboard.getDashboardData(O,I);V(ee),x(re,ee),console.log("Dashboard data loaded successfully from API")}catch(re){console.error("Error loading dashboard data:",re),o.value=re.message||"Failed to load dashboard data"}finally{n.value=!1}},D=z(()=>{const{totalRevenue:O,totalOrders:I}=d.value;return I?Math.round(O/I*100)/100:0});return{isLoading:n,error:o,metrics:r,actionItems:a,topProducts:s,topCategories:u,chartData:d,proFeatures:m,averageOrderValue:D,fetchDashboardData:L,cleanupCache:C}}function cC(){const n=xe(!1),o=xe("last30days"),r=xe([]),a=xe([]),s=xe("last30days"),u=z(()=>{if(r.value&&r.value.length===2){const C=new Date(r.value[0]),V=new Date(r.value[1]);return`${C.toLocaleDateString()} - ${V.toLocaleDateString()}`}return"Select date range"}),d=z(()=>{switch(o.value){case"today":return"Today";case"yesterday":return"Yesterday";case"last7days":return"Last 7 days";case"last30days":return"Last 30 days";case"last90days":return"Last 90 days";case"last365days":return"Last 365 days";case"lastMonth":return"Last month";case"last12months":return"Last 12 months";case"lastYear":return"Last year";case"custom":return"Custom Range";default:return"Custom Range"}}),m=C=>{if(!C||!C.length||!C[0]||!C[1])return"All time";try{const V=new Date(C[0]),L=new Date(C[1]),D={month:"short",day:"numeric"};return`${V.toLocaleDateString("en-US",D)} - ${L.toLocaleDateString("en-US",D)}`}catch(V){return console.error("Error formatting date range:",V),"All time"}},c=C=>C>new Date,f=C=>{o.value=C;const V=new Date;let L=new Date(V),D;switch(C){case"today":D=new Date(V);break;case"yesterday":D=new Date(V),D.setDate(V.getDate()-1),L.setDate(V.getDate()-1);break;case"last7days":D=new Date(V),D.setDate(V.getDate()-6);break;case"last30days":D=new Date(V),D.setDate(V.getDate()-29);break;case"last90days":D=new Date(V),D.setDate(V.getDate()-89);break;case"last365days":D=new Date(V),D.setDate(V.getDate()-364);break;case"lastMonth":D=new Date(V.getFullYear(),V.getMonth()-1,1),L=new Date(V.getFullYear(),V.getMonth(),0);break;case"last12months":D=new Date(V),D.setMonth(V.getMonth()-11),D.setDate(1),L.setDate(V.getDate());break;case"lastYear":D=new Date(V.getFullYear()-1,0,1),L=new Date(V.getFullYear()-1,11,31);break;default:D=new Date(V),D.setDate(V.getDate()-29)}r.value=[D,L]},h=()=>{a.value=[...r.value],s.value=o.value,n.value=!0},w=()=>{r.value=[...a.value],o.value=s.value,n.value=!1},x=()=>{n.value=!1,a.value=[...r.value],s.value=o.value},y=(C,V)=>{C=new Date(C),V=new Date(V),C.setHours(0,0,0,0),V.setHours(0,0,0,0);const L=new Date;if(L.setHours(0,0,0,0),C.getTime()===L.getTime()&&V.getTime()===L.getTime())return o.value="today",!0;const D=new Date(L);if(D.setDate(L.getDate()-1),C.getTime()===D.getTime()&&V.getTime()===D.getTime())return o.value="yesterday",!0;const O=new Date(L);if(O.setDate(L.getDate()-6),C.getTime()===O.getTime()&&V.getTime()===L.getTime())return o.value="last7days",!0;const I=new Date(L);if(I.setDate(L.getDate()-29),C.getTime()===I.getTime()&&V.getTime()===L.getTime())return o.value="last30days",!0;const H=new Date(L);if(H.setDate(L.getDate()-89),C.getTime()===H.getTime()&&V.getTime()===L.getTime())return o.value="last90days",!0;const K=new Date(L);if(K.setDate(L.getDate()-364),C.getTime()===K.getTime()&&V.getTime()===L.getTime())return o.value="last365days",!0;const re=new Date(L.getFullYear(),L.getMonth()-1,1),ee=new Date(L.getFullYear(),L.getMonth(),0);if(C.getTime()===re.getTime()&&V.getTime()===ee.getTime())return o.value="lastMonth",!0;const oe=new Date(L);if(oe.setMonth(L.getMonth()-11),oe.setDate(1),C.getTime()===oe.getTime()&&V.getTime()===L.getTime())return o.value="last12months",!0;const ie=new Date(L.getFullYear()-1,0,1),Z=new Date(L.getFullYear()-1,11,31);return C.getTime()===ie.getTime()&&V.getTime()===Z.getTime()?(o.value="lastYear",!0):!1};return f("last30days"),{dateRange:r,datePreset:o,datePopoverVisible:n,selectedDateRangeText:u,datePresetName:d,selectPreset:f,openDatePopover:h,cancelDateSelection:w,applyDateFilter:x,checkIfDateRangeMatchesPreset:y,formatDateRangeLabel:m,disableFutureDates:c}}function dC(){const n=xe({revenue:null,orders:null,aov:null}),o={revenue:xe(null),orders:xe(null),aov:xe(null)},r=h=>new Intl.NumberFormat("en-US").format(Math.round(h*100)/100),a=(h,w,x,y,C=!1)=>({type:"line",data:{labels:h,datasets:[{label:y,data:w,borderColor:x,backgroundColor:x+"15",borderWidth:2.5,pointBackgroundColor:"#ffffff",pointBorderColor:x,pointBorderWidth:2,pointRadius:3,pointHoverRadius:5,fill:!0,tension:.4}]},options:{responsive:!0,maintainAspectRatio:!1,animation:{duration:1e3,easing:"easeOutQuart"},plugins:{legend:{display:!1},tooltip:{mode:"index",intersect:!1,callbacks:{label:function(V){let L=V.dataset.label||"";return L&&(L+=": "),V.parsed.y!==null&&(C?L+="$"+r(V.parsed.y):L+=V.parsed.y),L}}}},scales:{x:{grid:{display:!1},ticks:{maxRotation:0,font:{size:10}}},y:{beginAtZero:!0,grid:{color:"#f5f7fa",borderDash:[3,3]},ticks:{callback:function(V){return C?"$"+r(V):V},font:{size:10}}}}}}),s=h=>!h||!h.length?[]:h.map(w=>{const x=new Date(w.date);return`${x.getMonth()+1}/${x.getDate()}`}),u=h=>{var V;if(!o.revenue.value||!window.Chart)return;const w=o.revenue.value.getContext("2d"),x=s(h.timeSeriesData),y=((V=h.timeSeriesData)==null?void 0:V.map(L=>L.revenue))||[],C=a(x,y,"#67C23A","Revenue ($)",!0);n.value.revenue&&n.value.revenue.destroy(),n.value.revenue=new window.Chart(w,C)},d=h=>{var V;if(!o.orders.value||!window.Chart)return;const w=o.orders.value.getContext("2d"),x=s(h.timeSeriesData),y=((V=h.timeSeriesData)==null?void 0:V.map(L=>L.orders))||[],C=a(x,y,"#409EFF","Orders",!1);n.value.orders&&n.value.orders.destroy(),n.value.orders=new window.Chart(w,C)},m=h=>{var V;if(!o.aov.value||!window.Chart)return;const w=o.aov.value.getContext("2d"),x=s(h.timeSeriesData),y=((V=h.timeSeriesData)==null?void 0:V.map(L=>L.aov))||[],C=a(x,y,"#E6A23C","Average Order Value ($)",!0);n.value.aov&&n.value.aov.destroy(),n.value.aov=new window.Chart(w,C)},c=h=>{u(h),d(h),m(h)},f=()=>new Promise((h,w)=>{if(window.Chart){h(window.Chart);return}const x=document.createElement("script");x.src="https://cdn.jsdelivr.net/npm/chart.js",x.onload=()=>h(window.Chart),x.onerror=()=>w(new Error("Failed to load Chart.js")),document.head.appendChild(x)});return Ud(()=>{Object.values(n.value).forEach(h=>{h&&h.destroy()})}),{chartRefs:o,renderCharts:c,loadChartLibrary:f,formatNumber:r}}const fC={class:"whols-action-items__content"},hC={class:"whols-action-items__item whols-action-items__item--registration"},pC={class:"whols-action-items__details"},mC={class:"whols-action-items__number"},_C={class:"whols-action-items__item whols-action-items__item--order"},gC={class:"whols-action-items__details"},vC={class:"whols-action-items__number"},wC={class:"whols-action-items__item whols-action-items__item--conversation"},yC={class:"whols-action-items__details"},bC={class:"whols-action-items__number"},SC={__name:"ActionItems",props:{actionItems:{type:Object,default:()=>({pendingRegistrations:0,conversationsNeedingReply:0,pendingOrders:0})}},setup(n){const o=tt(),r=z(()=>Number(o.state.settings.enable_conversation)),a=()=>{var d;window.location.href=((d=window.wholsSettings)==null?void 0:d.adminUrl)+"edit.php?post_type=whols_user_request"},s=()=>{var d;window.location.href=((d=window.wholsSettings)==null?void 0:d.adminUrl)+"edit.php?post_type=whols_conversation"},u=()=>{var d;window.location.href=((d=window.wholsSettings)==null?void 0:d.adminUrl)+"edit.php?post_type=shop_order"};return(d,m)=>{const c=M("el-button"),f=M("el-col"),h=M("el-row"),w=M("el-card");return P(),q(w,{class:"whols-action-items"},{header:b(()=>m[0]||(m[0]=[E("div",{class:"whols-action-items__header"},[E("h3",null,"Action Items")],-1)])),default:b(()=>[E("div",fC,[v(h,{gutter:20},{default:b(()=>[v(f,{xs:24,sm:8},{default:b(()=>[E("div",hC,[E("div",pC,[m[1]||(m[1]=E("div",{class:"whols-action-items__title"},"Pending Registrations",-1)),E("div",mC,le(n.actionItems.pendingRegistrations||0),1)]),v(c,{type:"primary",size:"small",onClick:a},{default:b(()=>m[2]||(m[2]=[J("View")])),_:1})])]),_:1}),v(f,{xs:24,sm:8},{default:b(()=>[E("div",_C,[E("div",gC,[m[3]||(m[3]=E("div",{class:"whols-action-items__title"},"Pending Orders",-1)),E("div",vC,le(n.actionItems.pendingOrders||0),1)]),v(c,{type:"warning",size:"small",onClick:u},{default:b(()=>m[4]||(m[4]=[J("View")])),_:1})])]),_:1}),r.value?(P(),q(f,{key:0,xs:24,sm:8},{default:b(()=>[E("div",wC,[E("div",yC,[m[5]||(m[5]=E("div",{class:"whols-action-items__title"},"Conversations Needing Reply",-1)),E("div",bC,le(n.actionItems.conversationsNeedingReply||0),1)]),v(c,{type:"danger",size:"small",onClick:s},{default:b(()=>m[6]||(m[6]=[J("View")])),_:1})])]),_:1})):Pe("",!0)]),_:1})])]),_:1})}}},xC=ze(SC,[["__scopeId","data-v-28d35d19"]]),CC={class:"whols-date-picker"},EC={class:"whols-date-picker__preset-name"},VC={class:"whols-date-picker__range-text"},RC={class:"whols-date-picker__content"},AC={class:"whols-date-picker__calendar"},OC={class:"whols-date-picker__presets"},PC={class:"whols-date-picker__footer"},TC={__name:"DateRangePicker",props:{dateRange:{type:Array,default:()=>[]},datePreset:{type:String,default:"last30days"},datePopoverVisible:{type:Boolean,default:!1},selectedDateRangeText:{type:String,default:""},datePresetName:{type:String,default:"Last 30 days"}},emits:["update:dateRange","update:datePreset","update:datePopoverVisible","openDatePopover","cancelDateSelection","applyDateFilter","selectPreset"],setup(n,{emit:o}){const r=n,a=o,s=z({get:()=>r.dateRange,set:y=>a("update:dateRange",y)}),u=z({get:()=>r.datePreset,set:y=>a("update:datePreset",y)}),d=()=>{a("openDatePopover")},m=()=>{a("cancelDateSelection"),setTimeout(()=>{var y;(y=document.querySelector(".whols-date-picker__button"))==null||y.focus()},50)},c=()=>{a("applyDateFilter"),setTimeout(()=>{var y;(y=document.querySelector(".whols-date-picker__button"))==null||y.focus()},50)},f=y=>{u.value=y,a("selectPreset",y)},h=y=>y>new Date,w=()=>{setTimeout(()=>{var y;(y=document.querySelector(".whols-date-picker__button"))==null||y.focus()},50)},x=y=>{if(r.datePopoverVisible){const C=document.querySelector(".whols-date-picker__popover"),V=document.querySelector(".whols-date-picker__button");C&&V&&!C.contains(y.target)&&!V.contains(y.target)&&!y.target.closest(".el-picker-panel")&&a("cancelDateSelection")}};return fr(()=>{document.addEventListener("click",x)}),Fd(()=>{document.removeEventListener("click",x)}),(y,C)=>{const V=M("el-icon"),L=M("el-date-picker"),D=M("el-col"),O=M("el-row"),I=M("el-button"),H=M("el-popover");return P(),X("div",CC,[v(H,{placement:"bottom",width:430,trigger:"manual","hide-after":0,teleported:!0,visible:n.datePopoverVisible,onClick:C[12]||(C[12]=Ur(()=>{},["stop"])),onHide:w},{reference:b(()=>[E("div",{class:"whols-date-picker__button",onClick:Ur(d,["stop"]),tabindex:"0",role:"button","aria-haspopup":"true","aria-expanded":"datePopoverVisible"},[v(V,{class:"whols-date-picker__calendar-icon"},{default:b(()=>[v(R(Ww))]),_:1}),C[13]||(C[13]=E("div",{class:"whols-date-picker__separator"},null,-1)),E("div",EC,le(n.datePresetName),1),C[14]||(C[14]=E("div",{class:"whols-date-picker__separator"},null,-1)),E("code",VC,le(n.selectedDateRangeText),1),v(V,{class:"whols-date-picker__dropdown-icon"},{default:b(()=>[v(R(Bd))]),_:1})])]),default:b(()=>[E("div",{class:"whols-date-picker__popover",onClick:C[11]||(C[11]=Ur(()=>{},["stop"]))},[E("div",RC,[E("div",AC,[v(L,{modelValue:s.value,"onUpdate:modelValue":C[0]||(C[0]=K=>s.value=K),type:"daterange","range-separator":"To","start-placeholder":"Start date","end-placeholder":"End date","disabled-date":h,onClick:C[1]||(C[1]=Ur(()=>{},["stop"])),"popper-options":{modifiers:[{name:"preventOverflow",options:{boundary:"viewport"}}]}},null,8,["modelValue"])]),E("div",OC,[C[15]||(C[15]=E("h3",null,"Presets",-1)),v(O,{gutter:20},{default:b(()=>[v(D,{span:12},{default:b(()=>[E("div",{class:Me(["whols-date-picker__preset-item",{"whols-date-picker__preset-item--active":u.value==="today"}]),onClick:C[2]||(C[2]=K=>f("today"))}," Today ",2),E("div",{class:Me(["whols-date-picker__preset-item",{"whols-date-picker__preset-item--active":u.value==="yesterday"}]),onClick:C[3]||(C[3]=K=>f("yesterday"))}," Yesterday ",2),E("div",{class:Me(["whols-date-picker__preset-item",{"whols-date-picker__preset-item--active":u.value==="lastMonth"}]),onClick:C[4]||(C[4]=K=>f("lastMonth"))}," Last month ",2),E("div",{class:Me(["whols-date-picker__preset-item",{"whols-date-picker__preset-item--active":u.value==="last12months"}]),onClick:C[5]||(C[5]=K=>f("last12months"))}," Last 12 months ",2),E("div",{class:Me(["whols-date-picker__preset-item",{"whols-date-picker__preset-item--active":u.value==="lastYear"}]),onClick:C[6]||(C[6]=K=>f("lastYear"))}," Last year ",2)]),_:1}),v(D,{span:12},{default:b(()=>[E("div",{class:Me(["whols-date-picker__preset-item",{"whols-date-picker__preset-item--active":u.value==="last7days"}]),onClick:C[7]||(C[7]=K=>f("last7days"))}," Last 7 days ",2),E("div",{class:Me(["whols-date-picker__preset-item",{"whols-date-picker__preset-item--active":u.value==="last30days"}]),onClick:C[8]||(C[8]=K=>f("last30days"))}," Last 30 days ",2),E("div",{class:Me(["whols-date-picker__preset-item",{"whols-date-picker__preset-item--active":u.value==="last90days"}]),onClick:C[9]||(C[9]=K=>f("last90days"))}," Last 90 days ",2),E("div",{class:Me(["whols-date-picker__preset-item",{"whols-date-picker__preset-item--active":u.value==="last365days"}]),onClick:C[10]||(C[10]=K=>f("last365days"))}," Last 365 days ",2)]),_:1})]),_:1})]),E("div",PC,[v(I,{onClick:m},{default:b(()=>C[16]||(C[16]=[J("Cancel")])),_:1}),v(I,{type:"primary",onClick:c},{default:b(()=>C[17]||(C[17]=[J("Update")])),_:1})])])])]),_:1},8,["visible"])])}}},kC=ze(TC,[["__scopeId","data-v-fb8b89ec"]]),DC={class:"whols-metrics"},IC={class:"whols-metrics__card",style:{"background-color":"rgb(245, 247, 250)",border:"1px solid #dcdfe6"}},$C={class:"whols-metrics__body"},LC={class:"whols-metrics__value"},MC={class:"whols-metrics__card",style:{"background-color":"rgb(245, 247, 250)",border:"1px solid #dcdfe6"}},UC={class:"whols-metrics__body"},NC={class:"whols-metrics__value"},FC=["innerHTML"],BC={class:"whols-metrics__card",style:{"background-color":"rgb(245, 247, 250)",border:"1px solid #dcdfe6"}},WC={class:"whols-metrics__body"},qC={class:"whols-metrics__value"},HC=["innerHTML"],GC={class:"whols-metrics__card",style:{"background-color":"rgb(245, 247, 250)",border:"1px solid #dcdfe6"}},zC={class:"whols-metrics__body"},YC={class:"whols-metrics__value"},KC={class:"whols-metrics__card",style:{"background-color":"rgb(245, 247, 250)",border:"1px solid #dcdfe6"}},jC={class:"whols-metrics__body"},XC={class:"whols-metrics__value"},ZC={class:"whols-metrics__card",style:{"background-color":"rgb(245, 247, 250)",border:"1px solid #dcdfe6"}},QC={class:"whols-metrics__body"},JC={class:"whols-metrics__value"},e2={__name:"MetricsGrid",props:{metrics:{type:Object,default:()=>({})}},setup(n){const o=z(()=>Kl()),r=a=>new Intl.NumberFormat("en-US").format(Math.round(a*100)/100);return(a,s)=>{const u=M("el-icon"),d=M("el-col"),m=M("el-row");return P(),X("div",DC,[v(m,{gutter:20,class:"whols-metrics__row"},{default:b(()=>[v(d,{xs:24,sm:12,md:8,class:"whols-metrics__col"},{default:b(()=>{var c,f,h,w;return[E("div",IC,[E("div",$C,[s[1]||(s[1]=E("h3",{class:"whols-metrics__title"},"Orders",-1)),E("div",LC,le(((c=n.metrics.orders)==null?void 0:c.total)||0),1),E("div",{class:Me(["whols-metrics__trend",(((f=n.metrics.orders)==null?void 0:f.trend)||0)>0?"whols-metrics__trend--up":"whols-metrics__trend--down"])},[(((h=n.metrics.orders)==null?void 0:h.trend)||0)>0?(P(),q(u,{key:0},{default:b(()=>[v(R(Pr))]),_:1})):(P(),q(u,{key:1},{default:b(()=>[v(R(Tr))]),_:1})),J(" "+le(Math.abs(((w=n.metrics.orders)==null?void 0:w.trend)||0))+"% ",1),s[0]||(s[0]=E("span",{class:"whols-metrics__period"},"vs Previous Period",-1))],2)])])]}),_:1}),v(d,{xs:24,sm:12,md:8,class:"whols-metrics__col"},{default:b(()=>{var c,f,h,w;return[E("div",MC,[E("div",UC,[s[3]||(s[3]=E("h3",{class:"whols-metrics__title"},"Revenue",-1)),E("div",NC,[E("span",{innerHTML:o.value},null,8,FC),J(le(r(((c=n.metrics.sales)==null?void 0:c.total)||0)),1)]),E("div",{class:Me(["whols-metrics__trend",(((f=n.metrics.sales)==null?void 0:f.trend)||0)>0?"whols-metrics__trend--up":"whols-metrics__trend--down"])},[(((h=n.metrics.sales)==null?void 0:h.trend)||0)>0?(P(),q(u,{key:0},{default:b(()=>[v(R(Pr))]),_:1})):(P(),q(u,{key:1},{default:b(()=>[v(R(Tr))]),_:1})),J(" "+le(Math.abs(((w=n.metrics.sales)==null?void 0:w.trend)||0))+"% ",1),s[2]||(s[2]=E("span",{class:"whols-metrics__period"},"vs Previous Period",-1))],2)])])]}),_:1}),v(d,{xs:24,sm:12,md:8,class:"whols-metrics__col"},{default:b(()=>{var c,f,h,w;return[E("div",BC,[E("div",WC,[s[5]||(s[5]=E("h3",{class:"whols-metrics__title"},"Avg. Order Value",-1)),E("div",qC,[E("span",{innerHTML:o.value},null,8,HC),J(le(r(((c=n.metrics.aov)==null?void 0:c.total)||0)),1)]),E("div",{class:Me(["whols-metrics__trend",(((f=n.metrics.aov)==null?void 0:f.trend)||0)>0?"whols-metrics__trend--up":"whols-metrics__trend--down"])},[(((h=n.metrics.aov)==null?void 0:h.trend)||0)>0?(P(),q(u,{key:0},{default:b(()=>[v(R(Pr))]),_:1})):(P(),q(u,{key:1},{default:b(()=>[v(R(Tr))]),_:1})),J(" "+le(Math.abs(((w=n.metrics.aov)==null?void 0:w.trend)||0))+"% ",1),s[4]||(s[4]=E("span",{class:"whols-metrics__period"},"vs Previous Period",-1))],2)])])]}),_:1})]),_:1}),v(m,{gutter:20,class:"whols-metrics__row"},{default:b(()=>[v(d,{xs:24,sm:12,md:8,class:"whols-metrics__col"},{default:b(()=>{var c,f,h,w;return[E("div",GC,[E("div",zC,[s[7]||(s[7]=E("h3",{class:"whols-metrics__title"},"Customers",-1)),E("div",YC,le(((c=n.metrics.customers)==null?void 0:c.total)||0),1),E("div",{class:Me(["whols-metrics__trend",(((f=n.metrics.customers)==null?void 0:f.trend)||0)>0?"whols-metrics__trend--up":"whols-metrics__trend--down"])},[(((h=n.metrics.customers)==null?void 0:h.trend)||0)>0?(P(),q(u,{key:0},{default:b(()=>[v(R(Pr))]),_:1})):(P(),q(u,{key:1},{default:b(()=>[v(R(Tr))]),_:1})),J(" "+le(Math.abs(((w=n.metrics.customers)==null?void 0:w.trend)||0))+"% ",1),s[6]||(s[6]=E("span",{class:"whols-metrics__period"},"vs Previous Period",-1))],2)])])]}),_:1}),v(d,{xs:24,sm:12,md:8,class:"whols-metrics__col"},{default:b(()=>{var c,f,h,w;return[E("div",KC,[E("div",jC,[s[9]||(s[9]=E("h3",{class:"whols-metrics__title"},"Products Sold (Qty)",-1)),E("div",XC,le(((c=n.metrics.productsSold)==null?void 0:c.total)||0),1),E("div",{class:Me(["whols-metrics__trend",(((f=n.metrics.productsSold)==null?void 0:f.trend)||0)>0?"whols-metrics__trend--up":"whols-metrics__trend--down"])},[(((h=n.metrics.productsSold)==null?void 0:h.trend)||0)>0?(P(),q(u,{key:0},{default:b(()=>[v(R(Pr))]),_:1})):(P(),q(u,{key:1},{default:b(()=>[v(R(Tr))]),_:1})),J(" "+le(Math.abs(((w=n.metrics.productsSold)==null?void 0:w.trend)||0))+"% ",1),s[8]||(s[8]=E("span",{class:"whols-metrics__period"},"vs Previous Period",-1))],2)])])]}),_:1}),v(d,{xs:24,sm:12,md:8,class:"whols-metrics__col"},{default:b(()=>{var c,f,h,w;return[E("div",ZC,[E("div",QC,[s[11]||(s[11]=E("h3",{class:"whols-metrics__title"},"Items Per Order",-1)),E("div",JC,le(((c=n.metrics.itemsPerOrder)==null?void 0:c.total)||0),1),E("div",{class:Me(["whols-metrics__trend",(((f=n.metrics.itemsPerOrder)==null?void 0:f.trend)||0)>0?"whols-metrics__trend--up":"whols-metrics__trend--down"])},[(((h=n.metrics.itemsPerOrder)==null?void 0:h.trend)||0)>0?(P(),q(u,{key:0},{default:b(()=>[v(R(Pr))]),_:1})):(P(),q(u,{key:1},{default:b(()=>[v(R(Tr))]),_:1})),J(" "+le(Math.abs(((w=n.metrics.itemsPerOrder)==null?void 0:w.trend)||0))+"% ",1),s[10]||(s[10]=E("span",{class:"whols-metrics__period"},"vs Previous Period",-1))],2)])])]}),_:1})]),_:1})])}}},t2=ze(e2,[["__scopeId","data-v-cf84b528"]]),n2={class:"whols-charts__header"},r2={class:"whols-charts__header-left"},o2={class:"whols-charts__subtitle"},l2={class:"whols-charts__header-right"},a2={class:"whols-charts__layout-controls"},i2={class:"whols-charts__card"},s2={class:"whols-charts__card-header whols-charts__card-header--orders"},u2={class:"whols-charts__title-container"},c2={class:"whols-charts__value"},d2=["innerHTML"],f2={class:"whols-charts__container"},h2={class:"whols-charts__card"},p2={class:"whols-charts__card-header whols-charts__card-header--revenue"},m2={class:"whols-charts__title-container"},_2={class:"whols-charts__value"},g2=["innerHTML"],v2={class:"whols-charts__container"},w2={class:"whols-charts__card"},y2={class:"whols-charts__card-header whols-charts__card-header--aov"},b2={class:"whols-charts__title-container"},S2={class:"whols-charts__value"},x2=["innerHTML"],C2={class:"whols-charts__container"},E2={__name:"ChartsSection",props:{chartData:{type:Object,default:()=>({timeSeriesData:[],totalRevenue:0,totalOrders:0})},dateRange:{type:Array,default:()=>[]},layout:{type:String,default:"third"}},emits:["update:layout"],setup(n,{expose:o,emit:r}){const a=z(()=>Kl()),s=n,u=r,d=xe(null),m=xe(null),c=xe(null),f=z({get:()=>s.layout,set:y=>u("update:layout",y)}),h=z(()=>{const{totalRevenue:y,totalOrders:C}=s.chartData;return C?Math.round(y/C*100)/100:0}),w=z(()=>{if(!s.dateRange||!s.dateRange.length||!s.dateRange[0]||!s.dateRange[1])return"All time";try{const y=new Date(s.dateRange[0]),C=new Date(s.dateRange[1]),V={month:"short",day:"numeric"};return`${y.toLocaleDateString("en-US",V)} - ${C.toLocaleDateString("en-US",V)}`}catch(y){return console.error("Error formatting date range:",y),"All time"}}),x=y=>new Intl.NumberFormat("en-US").format(Math.round(y*100)/100);return o({revenueChartRef:d,ordersChartRef:m,aovChartRef:c}),(y,C)=>{const V=M("el-radio-button"),L=M("el-radio-group"),D=M("el-card");return P(),q(D,{class:"whols-charts"},{header:b(()=>[E("div",n2,[E("div",r2,[C[1]||(C[1]=E("h3",null,"Charts",-1)),E("span",o2,le(w.value),1)]),E("div",l2,[E("div",a2,[C[5]||(C[5]=E("span",{class:"whols-charts__layout-label"},"Layout:",-1)),v(L,{modelValue:f.value,"onUpdate:modelValue":C[0]||(C[0]=O=>f.value=O),size:"small"},{default:b(()=>[v(V,{label:"full"},{default:b(()=>C[2]||(C[2]=[J("Full Width")])),_:1}),v(V,{label:"half"},{default:b(()=>C[3]||(C[3]=[J("2 Columns")])),_:1}),v(V,{label:"third"},{default:b(()=>C[4]||(C[4]=[J("3 Columns")])),_:1})]),_:1},8,["modelValue"])])])])]),default:b(()=>[E("div",{class:Me(["whols-charts__grid","whols-charts__grid--"+n.layout])},[E("div",i2,[E("div",s2,[E("div",u2,[E("h4",null,[C[6]||(C[6]=J("Orders - ")),E("span",c2,[E("span",{innerHTML:a.value},null,8,d2),J(le(x(n.chartData.totalOrders)),1)])])])]),E("div",f2,[E("canvas",{ref_key:"ordersChartRef",ref:m,height:"180"},null,512)])]),E("div",h2,[E("div",p2,[E("div",m2,[E("h4",null,[C[7]||(C[7]=J("Revenue - ")),E("span",_2,[E("span",{innerHTML:a.value},null,8,g2),J(le(x(n.chartData.totalRevenue)),1)])])])]),E("div",v2,[E("canvas",{ref_key:"revenueChartRef",ref:d,height:"180"},null,512)])]),E("div",w2,[E("div",y2,[E("div",b2,[E("h4",null,[C[8]||(C[8]=J("Average Order Value - ")),E("span",S2,[E("span",{innerHTML:a.value},null,8,x2),J(le(x(h.value)),1)])])])]),E("div",C2,[E("canvas",{ref_key:"aovChartRef",ref:c,height:"180"},null,512)])])],2)]),_:1})}}},V2=ze(E2,[["__scopeId","data-v-cc323c70"]]),R2={class:"whols-top-products__header"},A2={class:"whols-top-products__header-content"},O2={class:"whols-top-products__subtitle"},P2=["innerHTML"],T2={__name:"TopProductsTable",props:{products:{type:Array,default:()=>[]},dateRange:{type:Array,default:()=>[]},loading:{type:Boolean,default:!1}},setup(n){const o=z(()=>Kl()),r=n,a=z(()=>{if(!r.dateRange||!r.dateRange.length||!r.dateRange[0]||!r.dateRange[1])return"All time";try{const u=new Date(r.dateRange[0]),d=new Date(r.dateRange[1]),m={month:"short",day:"numeric"};return`${u.toLocaleDateString("en-US",m)} - ${d.toLocaleDateString("en-US",m)}`}catch(u){return console.error("Error formatting date range:",u),"All time"}}),s=u=>new Intl.NumberFormat("en-US").format(Math.round(u*100)/100);return(u,d)=>{const m=M("el-table-column"),c=M("el-table"),f=M("el-card"),h=Qi("loading");return P(),q(f,{class:"whols-top-products"},{header:b(()=>[E("div",R2,[E("div",A2,[d[0]||(d[0]=E("h3",null,"Top Products",-1)),E("span",O2,le(a.value),1)])])]),default:b(()=>[Qt((P(),q(c,{data:n.products,style:{width:"100%"},"show-header":!0,size:"default"},{default:b(()=>[v(m,{prop:"name",label:"Product","min-width":"120"}),v(m,{prop:"itemsSold",label:"Items Sold",width:"100",align:"right"}),v(m,{prop:"netSales",label:"Net Sales",width:"120",align:"right"},{default:b(w=>[E("span",{innerHTML:o.value},null,8,P2),J(le(s(w.row.netSales)),1)]),_:1})]),_:1},8,["data"])),[[h,n.loading]])]),_:1})}}},k2=ze(T2,[["__scopeId","data-v-682970c2"]]),D2={class:"whols-top-categories__header"},I2={class:"whols-top-categories__header-content"},$2={class:"whols-top-categories__subtitle"},L2=["innerHTML"],M2={__name:"TopCategoriesTable",props:{categories:{type:Array,default:()=>[]},dateRange:{type:Array,default:()=>[]},loading:{type:Boolean,default:!1}},setup(n){const o=z(()=>Kl()),r=n,a=z(()=>{if(!r.dateRange||!r.dateRange.length||!r.dateRange[0]||!r.dateRange[1])return"All time";try{const u=new Date(r.dateRange[0]),d=new Date(r.dateRange[1]),m={month:"short",day:"numeric"};return`${u.toLocaleDateString("en-US",m)} - ${d.toLocaleDateString("en-US",m)}`}catch(u){return console.error("Error formatting date range:",u),"All time"}}),s=u=>new Intl.NumberFormat("en-US").format(Math.round(u*100)/100);return(u,d)=>{const m=M("el-table-column"),c=M("el-table"),f=M("el-card"),h=Qi("loading");return P(),q(f,{class:"whols-top-categories"},{header:b(()=>[E("div",D2,[E("div",I2,[d[0]||(d[0]=E("h3",null,"Top Categories",-1)),E("span",$2,le(a.value),1)])])]),default:b(()=>[Qt((P(),q(c,{data:n.categories,style:{width:"100%"},"show-header":!0,size:"default"},{default:b(()=>[v(m,{prop:"name",label:"Category","min-width":"120"}),v(m,{prop:"itemsSold",label:"Items Sold",width:"100",align:"right"}),v(m,{prop:"netSales",label:"Net Sales",width:"120",align:"right"},{default:b(w=>[E("span",{innerHTML:o.value},null,8,L2),J(le(s(w.row.netSales)),1)]),_:1})]),_:1},8,["data"])),[[h,n.loading]])]),_:1})}}},U2=ze(M2,[["__scopeId","data-v-c5a83d67"]]),N2={class:"card-header"},F2={class:"card-header-controls"},B2={__name:"Dashboard",setup(n){const{isLoading:o,metrics:r,actionItems:a,topProducts:s,topCategories:u,chartData:d,fetchDashboardData:m}=uC(),c=xe(!1),{dateRange:f,datePreset:h,datePopoverVisible:w,selectedDateRangeText:x,datePresetName:y,selectPreset:C,openDatePopover:V,cancelDateSelection:L,applyDateFilter:D,checkIfDateRangeMatchesPreset:O}=cC(),{chartRefs:I,renderCharts:H,loadChartLibrary:K}=dC(),re=xe(null),ee=xe(f0("whols-chart-layout")||"third");cn(ee,N=>{d0("whols-chart-layout",N,365)}),cn(f,N=>{N&&N.length===2?O(N[0],N[1])||(h.value="custom"):(!N||N.length===0)&&C("last30days")});const oe=()=>{D(),ie()},ie=async(N=!1)=>{await m(f.value,N),Le()},Z=async()=>{try{c.value=!0,await ie(!0),Ii({message:"Data refreshed successfully",type:"success",offset:40})}catch(N){Ii({message:"Failed to refresh data",type:"error",offset:40}),console.error("Sync error:",N)}finally{c.value=!1}};Qx.debounce(()=>{ie()},500);const Le=async()=>{window.Chart||await K();const N=be();N&&d.value&&(I.revenue.value=N.revenueChartRef,I.orders.value=N.ordersChartRef,I.aov.value=N.aovChartRef,H(d.value))},be=()=>re.value?{revenueChartRef:re.value.revenueChartRef,ordersChartRef:re.value.ordersChartRef,aovChartRef:re.value.aovChartRef}:null;return fr(async()=>{C("last30days"),await ie()}),fr(()=>{const N=new Event("hashchange",{bubbles:!0});window.dispatchEvent(N)}),(N,ve)=>{const Te=M("el-button"),Ae=M("el-col"),Ue=M("el-row"),vt=M("el-card"),In=Qi("loading");return P(),X(ge,null,[v(xC,{"action-items":R(a)},null,8,["action-items"]),Qt((P(),q(vt,{class:"analytics-section"},{header:b(()=>[E("div",N2,[ve[5]||(ve[5]=E("h3",null,"Performance Overview (B2B)",-1)),E("div",F2,[v(ff,{content:"* Force refresh data (clears cache) <br>* Data is cached for 1 hour <br>* When Test mode is enabled, data is not cached",placement:"top"},{default:b(()=>[v(Te,{class:"sync-button",icon:R(qw),type:"primary",plain:"",size:"medium",loading:c.value,onClick:Z},{default:b(()=>ve[4]||(ve[4]=[J(" Refresh ")])),_:1},8,["icon","loading"])]),_:1}),v(kC,{"date-range":R(f),"onUpdate:dateRange":ve[0]||(ve[0]=ht=>Wr(f)?f.value=ht:null),"date-preset":R(h),"onUpdate:datePreset":ve[1]||(ve[1]=ht=>Wr(h)?h.value=ht:null),"date-popover-visible":R(w),"onUpdate:datePopoverVisible":ve[2]||(ve[2]=ht=>Wr(w)?w.value=ht:null),"selected-date-range-text":R(x),"date-preset-name":R(y),onOpenDatePopover:R(V),onCancelDateSelection:R(L),onApplyDateFilter:oe,onSelectPreset:R(C)},null,8,["date-range","date-preset","date-popover-visible","selected-date-range-text","date-preset-name","onOpenDatePopover","onCancelDateSelection","onSelectPreset"])])])]),default:b(()=>[v(t2,{metrics:R(r)},null,8,["metrics"]),v(V2,{layout:ee.value,"onUpdate:layout":ve[3]||(ve[3]=ht=>ee.value=ht),"chart-data":R(d),"date-range":R(f),ref_key:"chartsRef",ref:re},null,8,["layout","chart-data","date-range"]),v(Ue,{gutter:20,class:"leaderboards-row"},{default:b(()=>[v(Ae,{xs:24,sm:12},{default:b(()=>[v(k2,{products:R(s),"date-range":R(f),loading:R(o)},null,8,["products","date-range","loading"])]),_:1}),v(Ae,{xs:24,sm:12},{default:b(()=>[v(U2,{categories:R(u),"date-range":R(f),loading:R(o)},null,8,["categories","date-range","loading"])]),_:1})]),_:1})]),_:1})),[[In,R(o)]])],64)}}},If=ze(B2,[["__scopeId","data-v-cdab2d13"]]),W2={class:"dashboard-content"},q2={__name:"DashboardContent",setup(n){return(o,r)=>(P(),X("div",W2,[v(If)]))}},H2=ze(q2,[["__scopeId","data-v-2443efa9"]]),G2=[{path:"/onboarding",name:"onboarding",component:()=>Qw(()=>import("./Onboarding.Dis6SB7l.js"),__vite__mapDeps([0,1])),meta:{layout:"blank"}},{path:"/dashboard",component:If,meta:{layout:"default"},children:[{path:"",name:"dashboard",component:H2}]},{path:"/settings",component:Zx,meta:{layout:"default"},children:[{path:"",redirect:"/settings/general"},{path:"general",name:"general",component:p0},{path:"registration",name:"registration",component:_0},{path:"fields-manager",name:"fields-manager",component:wS},{path:"product-visibility",name:"product-visibility",component:bS},{path:"wholesaler-only-categories",name:"wholesaler-only-categories",component:TS},{path:"guest-access",name:"guest-access",component:DS},{path:"request-a-quote",name:"request-a-quote",component:$S},{path:"conversation",name:"conversation",component:MS},{path:"wallet",name:"wallet",component:NS},{path:"save-order-list",name:"save-order-list",component:BS},{path:"others",name:"others",component:qS},{path:"email-notifications",name:"email-notifications",component:tx},{path:"thank-you-message",name:"thank-you-message",component:nx},{path:"design",name:"design",component:ux},{path:"dynamic-rules",name:"dynamic-rules",component:Dx},{path:"bulk-order-form",name:"bulk-order-form",component:$x}]},{path:"/",redirect:"/settings/general"},{path:"/:pathMatch(.*)*",redirect:"/settings/general"}],$d=ub({history:Uy(),routes:G2}),z2=()=>({settings:{},users:[],pages:[],products:[],productCategories:[],countries:[],wholsRoles:{},paymentGateways:{},isLoading:!1,isSaving:!1,isResetting:!1,error:null,validationErrors:{},activeMenu:"general",formConfig:{labelPosition:"left"},displayProModal:!1}),Y2={setSettings(n,o){n.settings=o},updateSetting(n,{key:o,value:r}){n.settings={...n.settings,[o]:r}},updateFormConfig(n,o){n.formConfig={...n.formConfig,...o}},setActiveMenu(n,o){n.activeMenu=o},setWholsRoles(n,o){n.wholsRoles=o},setUsers(n,o){n.users=o},setPages(n,o){n.pages=o},setProducts(n,o){n.products=o},setProductCategories(n,o){n.productCategories=o},setCountries(n,o){n.countries=o},setPaymentGateways(n,o){n.paymentGateways=o},setLoading(n,o){n.isLoading=o},setSaving(n,o){n.isSaving=o},setResetting(n,o){n.isResetting=o},setError(n,o){n.error=o},setValidationErrors(n,o){n.validationErrors=o},setDisplayProModal(n,o){n.displayProModal=o}};let vo=null;const K2={updateActiveMenu({commit:n},o){n("setActiveMenu",o)},fetchSettings({commit:n,state:o}){var r;if(!Object.values(o.pages).length)return n("setLoading",!0),n("setError",null),n("setSettings",(r=window.wholsSettings)==null?void 0:r.defaultSettings),sn.settings.getSettings().then(a=>{var u;const s=Hw({},(u=window.wholsSettings)==null?void 0:u.defaultSettings,a);n("setSettings",s)}).catch(a=>{throw console.error("Error fetching settings:",a),n("setError",a.message),a}).finally(()=>{n("setLoading",!1)})},async saveSettings({commit:n,state:o}){n("setSaving",!0),n("setError",null),n("setValidationErrors",{});try{const r=await sn.settings.updateSettings(o.settings);n("setSettings",r)}catch(r){throw console.error("Error saving settings:",r),n("setError",r.message),r}finally{n("setSaving",!1)}},async fetchWholsRoles({commit:n,state:o}){if(!Object.values(o.wholsRoles).length){n("setError",null);try{const r=await sn.roles.getRoles();n("setWholsRoles",r)}catch(r){throw console.error("Error fetching roles:",r),n("setError",r.message),r}finally{n("setLoading",!1)}}},async fetchUsers({commit:n,state:o}){if(!Object.values(o.users).length){n("setError",null);try{const r=await sn.users.getUsers();n("setUsers",r)}catch(r){throw console.error("Error fetching users:",r),n("setError",r.message),r}finally{n("setLoading",!1)}}},async fetchPages({commit:n,state:o}){if(!Object.values(o.pages).length){n("setError",null);try{const a=(await sn.pages.getPages()).map(s=>({id:s.id,title:s.title}));n("setPages",a)}catch(r){throw console.error("Error fetching pages:",r),n("setError",r.message),r}finally{n("setLoading",!1)}}},async fetchProducts({commit:n,state:o}){if(!Object.values(o.products).length){if(vo)return vo;n("setError",null);try{vo=sn.products.getProducts();const r=await vo;return n("setProducts",r),r}catch(r){throw console.error("Error fetching products:",r),n("setError",r.message),r}finally{n("setLoading",!1),vo=null}}},async fetchProductCategories({commit:n,state:o}){if(!Object.values(o.productCategories).length){n("setError",null);try{const r=await sn.products.getCategories();n("setProductCategories",r)}catch(r){throw console.error("Error fetching product categories:",r),n("setError",r.message),r}finally{n("setLoading",!1)}}},async fetchCountries({commit:n,state:o}){if(!Object.values(o.countries).length){n("setError",null);try{const r=await sn.countries.getCountries();n("setCountries",r)}catch(r){throw console.error("Error fetching countries:",r),n("setError",r.message),r}finally{n("setLoading",!1)}}},async fetchPaymentGateways({commit:n,state:o}){if(!Object.values(o.paymentGateways).length){n("setError",null);try{const r=await sn.paymentGateways.getPaymentGateways();n("setPaymentGateways",r)}catch(r){throw console.error("Error fetching payment gateways:",r),n("setError",r.message),r}finally{n("setLoading",!1)}}},async resetSettings({commit:n,state:o,dispatch:r},{router:a}){a.currentRoute.value.name,n("setSaving",!1),n("setError",null);try{const s=Object.keys(Nx(a.currentRoute.value)),u=await sn.settings.resetSection(s);return n("setSettings",u),u}catch(s){throw console.error("Error resetting settings:",s),n("setError",s.message),s}finally{n("setSaving",!1)}}},j2={getSettingValue:n=>o=>n.settings[o],getValidationError:n=>o=>n.validationErrors[o],activeMenu:n=>n.activeMenu,isSaving:n=>n.isSaving,getPages:n=>n.pages,getProducts:n=>n.products,getProductCategories:n=>n.productCategories,getUsers:n=>n.users,getWholsRoles:n=>n.wholsRoles,getCountries:n=>n.countries,getPaymentGateways:n=>n.paymentGateways,isLoading:n=>n.isLoading,getLabelPosition:n=>n.labelPosition},Ld=Ab({state:z2,mutations:Y2,actions:K2,getters:j2}),X2={class:"whols-advertiser-content"},Z2={class:"whols-advertiser-message"},Q2={__name:"ProModal",setup(n){const o=tt(),r=z(()=>o.state.displayProModal),a=z(()=>wholsSettings.proAdvInfo),s=()=>{o.commit("setDisplayProModal",!1)};return(u,d)=>{const m=M("el-icon"),c=M("el-button"),f=M("el-dialog");return P(),q(f,{modelValue:r.value,"onUpdate:modelValue":d[0]||(d[0]=h=>r.value=h),width:"500","show-close":!0,onClose:s,center:"","align-center":""},{default:b(()=>[E("div",X2,[v(m,null,{default:b(()=>[v(R(Gw))]),_:1}),d[2]||(d[2]=E("div",{class:"whols-advertiser-title"},"Unlock Premium Features",-1)),E("div",Z2,le(a.value.message),1),v(c,{type:"primary",size:"large",tag:"a",href:a.value.purchaseURL,target:"_blank",rel:"noopener noreferrer",onClick:s},{default:b(()=>d[1]||(d[1]=[J(" Purchase Pro ")])),_:1},8,["href"])])]),_:1},8,["modelValue"])}}},J2=ze(Q2,[["__scopeId","data-v-f9c4e521"]]),eE={class:"whols-header-left"},tE={class:"whols-logo-box"},nE={class:"whols-version"},rE={class:"whols-header-right"},oE=["href"],lE={__name:"AppHeader",setup(n){const o=window.wholsSettings.docsUrl,r=window.wholsSettings.pluginVersion,a=Io(),s=z(()=>a.path.search("/settings")>-1),u=z(()=>a.path==="/dashboard");return(d,m)=>{const c=M("el-text"),f=M("router-link");return P(),X(ge,null,[E("div",eE,[E("div",tE,[m[0]||(m[0]=E("span",{class:"whols-brand-name"},"Whols",-1)),E("span",nE,"v"+le(R(r)),1)])]),E("div",rE,[v(f,{to:"/dashboard",class:Me(["whols-nav-link",{active:u.value}])},{default:b(()=>[v(c,null,{default:b(()=>m[1]||(m[1]=[J("Dashboard")])),_:1})]),_:1},8,["class"]),v(f,{to:"/settings/general",class:Me(["whols-nav-link",{active:s.value}])},{default:b(()=>[v(c,null,{default:b(()=>m[2]||(m[2]=[J("Settings")])),_:1})]),_:1},8,["class"]),E("a",{href:R(o),target:"_blank",rel:"noopener noreferrer",class:"whols-nav-link whols-external-link"},[v(c,null,{default:b(()=>m[3]||(m[3]=[J("Docs")])),_:1})],8,oE)])],64)}}},aE={class:"whols-support"},iE={class:"whols-support__icon-box"},sE={__name:"GetSupport",setup(n){const o=()=>{window.open(window.wholsSettings.supportUrl,"_blank")};return(r,a)=>{const s=M("el-icon"),u=M("el-button"),d=M("el-card");return P(),q(d,{class:"whols-card whols-card--support"},{header:b(()=>a[0]||(a[0]=[E("div",{class:"whols-card__header"},[E("h3",null,"Support And Feedback")],-1)])),default:b(()=>[E("div",aE,[E("div",iE,[v(s,{class:"whols-support__icon"},{default:b(()=>[v(R(zw))]),_:1})]),a[3]||(a[3]=E("p",{class:"whols-support__text"},"If you have any questions, concerns, or feedback, please don't hesitate to contact us. Our team is always available to assist with your needs. Thank you for choosing our products and services—we look forward to hearing from you soon!",-1)),v(u,{type:"primary",class:"whols-button whols-button--support hidden-lg-and-down",onClick:o},{default:b(()=>a[1]||(a[1]=[J("Get Support")])),_:1}),v(u,{type:"primary",size:"large",class:"whols-button whols-button--support hidden-xl-only",onClick:o},{default:b(()=>a[2]||(a[2]=[J("Get Support")])),_:1})])]),_:1})}}},$f=ze(sE,[["__scopeId","data-v-ab7f8be1"]]),uE={class:"whols-features__icon-box"},cE={class:"whols-features__text"},dE={__name:"ProFeatures",props:{columns:{type:Number,default:1,validator:n=>[1,2].includes(n)}},setup(n){const o=["Multi-tier pricing","Tiered quantity-based pricing","Purchase restrictions by user role","Wholesaler only categories","Saved order lists","Custom registration fields","Request a quote","Customer-owner conversations","Dynamic Rules","Wallet system","And more..."],r=()=>{window.open(window.wholsSettings.proUrl,"_blank")};return(a,s)=>{const u=M("el-icon"),d=M("el-button"),m=M("el-card");return P(),q(m,{class:"whols-card whols-card--features"},{header:b(()=>s[0]||(s[0]=[E("div",{class:"whols-card__header"},[E("h3",null,"Pro Features")],-1)])),default:b(()=>[E("ul",{class:Me(["whols-features",{"whols-features--two-columns":n.columns===2}])},[(P(),X(ge,null,Ce(o,(c,f)=>E("li",{key:f,class:"whols-features__item"},[E("div",uE,[v(u,{class:"whols-features__icon"},{default:b(()=>[v(R(Md))]),_:1})]),E("span",cE,le(c),1)])),64))],2),E("div",{class:Me(["whols-banner",{"whols-banner--two-columns":n.columns===2}])},[s[2]||(s[2]=E("p",{class:"whols-banner__text"},"Unlock all features to boost your wholesale business",-1)),v(d,{type:"primary",size:"large",class:"whols-banner__button",onClick:r},{default:b(()=>s[1]||(s[1]=[J("Upgrade to Pro")])),_:1})],2)]),_:1})}}},fE=ze(dE,[["__scopeId","data-v-0ba56eba"]]),hE={class:"whols-knowledge"},pE={class:"whols-knowledge__icon-box"},mE={__name:"KnowledgeBase",setup(n){const o=()=>{window.open(window.wholsSettings.docsUrl||"https://wpwhols.com/","_blank")};return(r,a)=>{const s=M("el-icon"),u=M("el-button"),d=M("el-card");return P(),q(d,{class:"whols-card whols-card--knowledge"},{header:b(()=>a[0]||(a[0]=[E("div",{class:"whols-card__header"},[E("h3",null,"Knowledge Base")],-1)])),default:b(()=>[E("div",hE,[E("div",pE,[v(s,{class:"whols-knowledge__icon"},{default:b(()=>[v(R(Yw))]),_:1})]),a[3]||(a[3]=E("p",{class:"whols-knowledge__text"},"Discover how to set up and customize your wholesale store with step-by-step Whols documentation.",-1)),v(u,{type:"primary",class:"whols-button whols-button--knowledge hidden-lg-and-down",onClick:o},{default:b(()=>a[1]||(a[1]=[J("Read Documentation")])),_:1}),v(u,{type:"primary",size:"large",class:"whols-button whols-button--knowledge hidden-xl-only",onClick:o},{default:b(()=>a[2]||(a[2]=[J("Read Documentation")])),_:1})])]),_:1})}}},Lf=ze(mE,[["__scopeId","data-v-057e0299"]]),_E={class:"whols-sidebar"},gE={__name:"ProFeaturesSidebar",setup(n){return(o,r)=>(P(),X("div",_E,[v(fE),r[0]||(r[0]=E("div",{class:"whols-sidebar__spacer"},null,-1)),v($f),r[1]||(r[1]=E("div",{class:"whols-sidebar__spacer"},null,-1)),v(Lf)]))}},vE=ze(gE,[["__scopeId","data-v-f7a68764"]]),wE={class:"whols-app-content"},yE={__name:"DefaultLayout",setup(n){return(o,r)=>{const a=M("el-header"),s=M("el-col"),u=M("el-row"),d=M("el-container");return P(),q(d,{class:"whols-app-container"},{default:b(()=>[v(a,{class:"whols-app-header"},{default:b(()=>[v(lE)]),_:1}),E("div",wE,[v(u,{gutter:20},{default:b(()=>[v(s,{class:"whols-app-left-content",xs:24,sm:24,md:24,lg:24,xl:19},{default:b(()=>[Do(o.$slots,"default",{},void 0,!0)]),_:3}),v(s,{class:"whols-app-right-sidebar hidden-lg-and-down",xs:24,sm:24,md:6,lg:6,xl:5},{default:b(()=>[v(vE)]),_:1})]),_:3}),r[0]||(r[0]=E("div",{style:{height:"var(--whols-spacing-2xl)"}},null,-1)),v(u,{gutter:20,class:"hidden-xl-only"},{default:b(()=>[v(s,{span:8},{default:b(()=>[v($f)]),_:1}),v(s,{span:8},{default:b(()=>[v(Lf)]),_:1})]),_:1})])]),_:3})}}},bE=ze(yE,[["__scopeId","data-v-7d95c5b4"]]),SE={class:"whols-blank-layout"},xE={__name:"BlankLayout",setup(n){return(o,r)=>(P(),X("div",SE,[Do(o.$slots,"default",{},void 0,!0)]))}},CE=ze(xE,[["__scopeId","data-v-7ab95cfc"]]),EE={__name:"App",setup(n){const o=tt(),r=Io();z(()=>o.state.isLoading);const a=z(()=>{if(r.meta.layout==="blank")return CE;if(r.meta.layout==="default")return bE});return fr(async()=>{try{await o.dispatch("fetchSettings")}catch{Ii.error("Failed to load settings")}}),(s,u)=>{const d=M("router-view"),m=M("el-config-provider");return P(),q(m,null,{default:b(()=>[R(o).state.displayProModal?(P(),q(J2,{key:0})):Pe("",!0),(P(),q(Di(a.value),null,{default:b(()=>[v(d)]),_:1}))]),_:1})}}},VE=ze(EE,[["__scopeId","data-v-97c93e67"]]),Br=[{id:"welcome",label:"Welcome"},{id:"features",label:"Features"},{id:"config",label:"Configuration"},{id:"complete",label:"Complete"}],RE={currentStep:"welcome",completedSteps:[],config:{enable_request_a_quote:"0",bof_enabled:"0",enable_conversation:"0",enable_wallet_payment:"0",enable_save_order_list:"0",registration_page:"",show_wholesale_price_for:"administrator",hide_price_for_guest_users:"1"},dataConsent:!1},AE={setCurrentStep(n,o){n.currentStep=o},completeStep(n,o){n.completedSteps.includes(o)||n.completedSteps.push(o)},removeCompletedStep(n,o){n.completedSteps=n.completedSteps.filter(r=>r!==o)},setDataConsent(n,o){n.dataConsent=o}},OE={setCurrentStep({commit:n},o){n("setCurrentStep",o)},completeStep({commit:n},o){n("completeStep",o)},goBack({commit:n,state:o}){const r=Br.findIndex(a=>a.id===o.currentStep);if(r>0){const a=Br[r-1].id;n("removeCompletedStep",o.currentStep),n("setCurrentStep",a)}}},PE={isStepCompleted:n=>o=>n.completedSteps.includes(o),currentStepIndex:n=>Br.findIndex(o=>o.id===n.currentStep),totalSteps:()=>Br.length,progressPercentage:(n,o)=>{const r=o.currentStepIndex;return Math.round(r/(Br.length-1)*100)},getSteps:()=>Br},TE={namespaced:!0,state:RE,mutations:AE,actions:OE,getters:PE},kE=n=>{n.hasModule("onboarding")||n.registerModule("onboarding",TE)},DE=(n,o,r)=>{kE(o),r||console.error("Router not provided to onboarding module")},IE={install:(n,o={})=>{const{store:r,router:a}=o;r?DE(n,r,a):console.warn("Whols Onboarding: Vuex store is required for proper functionality")}};document.addEventListener("DOMContentLoaded",()=>{const n=Kw(VE);n.use(Ld),n.use($d),n.use(jw),n.use(IE,{store:Ld,router:$d}),n.mount("#whols-vue-settings-app")});export{ff as H,Tb as S,ze as _,db as a,tC as s,tt as u,LE as w};
  • whols/trunk/includes/Admin/Diagnostic_Data.php

    r3345806 r3469925  
    8383            $this->project_type = 'wordpress-plugin';
    8484            $this->project_version = WHOLS_VERSION;
    85             $this->data_center = 'https://connect.pabbly.com/workflow/sendwebhookdata/IjU3NjAwNTY1MDYzZTA0MzM1MjY1NTUzNyI_3D_pc';
     85            $this->data_center = 'https://n8n.aslamhasib.com/webhook/484fe1ab-9cdf-4318-8b6f-2b218ac47009';
    8686            $this->privacy_policy = 'https://wpwhols.com/privacy-policy/';
    8787
     
    9191            $this->project_pro_version = $this->get_pro_version();
    9292
     93            if ( get_option( 'whols_diagnostic_data_agreed' ) === 'yes' || get_option( 'whols_diagnostic_data_notice' ) === 'no' ) {
     94                return;
     95            }
     96
    9397            add_action( 'admin_notices', function () {
    9498                $this->show_notices();
     
    99103            } );
    100104
    101             add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 20 );
     105            add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
    102106        }
    103107
     
    106110         */
    107111        public function enqueue_scripts() {
    108             // Only localize the nonce, assuming 'whols-admin' script is already registered elsewhere
     112            wp_register_script( 'whols-diagnostic', '', array(), false, true );
     113            wp_enqueue_script( 'whols-diagnostic' );
    109114            wp_localize_script(
    110                 'whols-admin',
     115                'whols-diagnostic',
    111116                'wholsDiagnosticData',
    112117                array(
     
    534539         * Show notices.
    535540         */
     541        /**
     542         * Check if this plugin should show the diagnostic data notice.
     543         * Returns false if already agreed, dismissed, or another HT plugin takes priority.
     544         */
     545        public function should_show_notice() {
     546            if ( get_option( 'whols_diagnostic_data_agreed' ) === 'yes' || get_option( 'whols_diagnostic_data_notice' ) === 'no' ) {
     547                return false;
     548            }
     549
     550            $sibling_plugins = array(
     551                'woolentor-addons/woolentor_addons_elementor.php' => array(
     552                    'agreed' => 'woolentor_diagnostic_data_agreed',
     553                    'notice' => 'woolentor_diagnostic_data_notice',
     554                ),
     555                'ht-mega-for-elementor/htmega_addons_elementor.php' => array(
     556                    'agreed' => 'htmega_diagnostic_data_agreed',
     557                    'notice' => 'htmega_diagnostic_data_notice',
     558                ),
     559                'ht-easy-google-analytics/ht-easy-google-analytics.php' => array(
     560                    'agreed' => 'htga4_diagnostic_data_agreed',
     561                    'notice' => 'htga4_diagnostic_data_notice',
     562                ),
     563                'ht-contactform/contact-form-widget-elementor.php' => array(
     564                    'agreed' => 'ht_contactform_diagnostic_data_agreed',
     565                    'notice' => 'ht_contactform_diagnostic_data_notice',
     566                ),
     567                'hashbar-wp-notification-bar/init.php' => array(
     568                    'agreed' => 'hashbar_diagnostic_data_agreed',
     569                    'notice' => 'hashbar_diagnostic_data_notice',
     570                ),
     571                'support-genix-lite/support-genix-lite.php' => array(
     572                    'agreed' => 'support_genix_lite_diagnostic_data_agreed',
     573                    'notice' => 'support_genix_lite_diagnostic_data_notice',
     574                ),
     575                'pixelavo/pixelavo.php' => array(
     576                    'agreed' => 'pixelavo_diagnostic_data_agreed',
     577                    'notice' => 'pixelavo_diagnostic_data_notice',
     578                ),
     579                'swatchly/swatchly.php' => array(
     580                    'agreed' => 'swatchly_diagnostic_data_agreed',
     581                    'notice' => 'swatchly_diagnostic_data_notice',
     582                ),
     583                'extensions-for-cf7/extensions-for-cf7.php' => array(
     584                    'agreed' => 'ht_cf7extensions_diagnostic_data_agreed',
     585                    'notice' => 'ht_cf7extensions_diagnostic_data_notice',
     586                ),
     587                'wp-plugin-manager/plugin-main.php' => array(
     588                    'agreed' => 'htpm_diagnostic_data_agreed',
     589                    'notice' => 'htpm_diagnostic_data_notice',
     590                ),
     591                'just-tables/just-tables.php' => array(
     592                    'agreed' => 'justtables_diagnostic_data_agreed',
     593                    'notice' => 'justtables_diagnostic_data_notice',
     594                ),
     595                'really-simple-google-tag-manager/really-simple-google-tag-manager.php' => array(
     596                    'agreed' => 'simple_googletag_diagnostic_data_agreed',
     597                    'notice' => 'simple_googletag_diagnostic_data_notice',
     598                ),
     599                'insert-headers-and-footers-script/init.php' => array(
     600                    'agreed' => 'ihafs_diagnostic_data_agreed',
     601                    'notice' => 'ihafs_diagnostic_data_notice',
     602                ),
     603            );
     604
     605            foreach ( $sibling_plugins as $plugin_slug => $options ) {
     606                if ( get_option( $options['agreed'] ) === 'yes' ) {
     607                    update_option( 'whols_diagnostic_data_agreed', 'yes' );
     608                    update_option( 'whols_diagnostic_data_notice', 'no' );
     609                    return false;
     610                }
     611            }
     612
     613            // Ensure only one HT plugin shows the diagnostic notice per request.
     614            global $ht_diagnostic_notice_owner;
     615            if ( isset( $ht_diagnostic_notice_owner ) && $ht_diagnostic_notice_owner !== 'whols' ) {
     616                return false;
     617            }
     618            $ht_diagnostic_notice_owner = 'whols';
     619
     620            return true;
     621        }
     622
    536623        private function show_notices() {
     624            if ( ! $this->should_show_notice() ) {
     625                return;
     626            }
     627
    537628            $action = isset($_GET['action'] ) ? sanitize_text_field($_GET['action'] ) : '';
    538629
     
    550641         */
    551642        private function show_core_notice() {
    552             return;
    553            
    554             $message_l1 = sprintf(
    555                 /* translators: %1$s: Project name, %2$s: Strong tag, %3$s: Strong tag, %4$s: Privacy Policy link, %5$s: Privacy Policy link */
    556                 esc_html__( 'At %2$s%1$s%3$s, we prioritize continuous improvement and compatibility. To achieve this, we gather non-sensitive diagnostic information and details about plugin usage. This includes your site\'s URL, the versions of WordPress and PHP you\'re using, and a list of your installed plugins and themes. We also require your email address to provide you with exclusive discount coupons and updates. This data collection is crucial for ensuring that %2$s%1$s%3$s remains up-to-date and compatible with the most widely-used plugins and themes. Rest assured, your privacy is our priority – no spam, guaranteed. %4$sPrivacy Policy%5$s', 'whols' ), esc_html( $this->project_name ),
    557                 '<strong>',
    558                 '</strong>',
    559                 '<a target="_blank" href="' . esc_url( $this->privacy_policy ) . '">',
    560                 '</a>',
    561                 '<h4 class="woolentor-diagnostic-data-title">',
    562                 '</h4>'
    563             );
    564 
    565643            $message_l2 = sprintf(
    566                 /* translators: %1$s: Learn more link, %2$s: Learn more link */
    567                 esc_html__( 'Server information (Web server, PHP version, MySQL version), WordPress information, site name, site URL, number of plugins, number of users, your name, and email address. You can rest assured that no sensitive data will be collected or tracked. %1$sLearn more%2$s.', 'whols' ), '<a target="_blank" href="' . esc_url( $this->privacy_policy ) . '">', '</a>' );
     644                /* translators: %1$s: Privacy Policy link, %2$s: Privacy Policy link */
     645                esc_html__( 'Server information (Web server, PHP version, MySQL version), WordPress information, site name, site URL, number of plugins, number of users, your name, and email address. You can rest assured that no sensitive data will be collected or tracked. %1$sPrivacy Policy%2$s', 'whols' ), '<a target="_blank" href="' . esc_url( $this->privacy_policy ) . '">', '</a>' );
    568646
    569647            $button_text_1 = esc_html__( 'Count Me In', 'whols' );
    570648            $button_link_1 = add_query_arg( array( 'woolentor-diagnostic-data-agreed' => 1 ) );
    571649
    572             $button_text_2 = esc_html__( 'No, Thanks', 'whols' );
     650            $button_text_2 = esc_html__( 'No thanks', 'whols' );
    573651            $button_link_2 = add_query_arg( array( 'woolentor-diagnostic-data-agreed' => 0 ) );
    574652            ?>
    575             <div class="woolentor-diagnostic-data-style"><style>.woolentor-diagnostic-data-notice,.woocommerce-embed-page .woolentor-diagnostic-data-notice{padding-top:.75em;padding-bottom:.75em;}.woolentor-diagnostic-data-notice .woolentor-diagnostic-data-buttons,.woolentor-diagnostic-data-notice .woolentor-diagnostic-data-list,.woolentor-diagnostic-data-notice .woolentor-diagnostic-data-message{padding:.25em 2px;margin:0;}.woolentor-diagnostic-data-notice .woolentor-diagnostic-data-list{display:none;color:#646970;}.woolentor-diagnostic-data-notice .woolentor-diagnostic-data-buttons{padding-top:.75em;}.woolentor-diagnostic-data-notice .woolentor-diagnostic-data-buttons .button{margin-right:5px;box-shadow:none;}.woolentor-diagnostic-data-loading{position:relative;}.woolentor-diagnostic-data-loading::before{position:absolute;content:"";width:100%;height:100%;top:0;left:0;background-color:rgba(255,255,255,.5);z-index:999;}.woolentor-diagnostic-data-disagree{border-width:0px !important;background-color: transparent!important; padding: 0!important;}h4.woolentor-diagnostic-data-title {margin: 0 0 10px 0;font-size: 1.04em;font-weight: 600;}</style></div>
    576             <div class="woolentor-diagnostic-data-notice notice notice-success">
    577                 <h4 class="woolentor-diagnostic-data-title"><?php echo sprintf( /* translators: %1$s: Project name */ esc_html__('🌟 Enhance Your %1$s Experience as a Valued Contributor!','whols'), esc_html( $this->project_name )); ?></h4>
    578                 <p class="woolentor-diagnostic-data-message"><?php echo wp_kses_post( $message_l1 ); ?></p>
     653            <div class="woolentor-diagnostic-data-style"><style>.woolentor-diagnostic-data-notice,.woocommerce-embed-page .woolentor-diagnostic-data-notice{padding-top:.75em;padding-bottom:.75em;}.woolentor-diagnostic-data-notice .woolentor-diagnostic-data-buttons,.woolentor-diagnostic-data-notice .woolentor-diagnostic-data-list,.woolentor-diagnostic-data-notice .woolentor-diagnostic-data-message{padding:.25em 2px;margin:0;}.woolentor-diagnostic-data-notice .woolentor-diagnostic-data-list{display:none;color:#646970;}.woolentor-diagnostic-data-notice .woolentor-diagnostic-data-buttons{padding-top:.75em;}.woolentor-diagnostic-data-notice .woolentor-diagnostic-data-buttons .button{margin-right:5px;box-shadow:none;}.woolentor-diagnostic-data-loading{position:relative;}.woolentor-diagnostic-data-loading::before{position:absolute;content:"";width:100%;height:100%;top:0;left:0;background-color:rgba(255,255,255,.5);z-index:999;}.woolentor-diagnostic-data-disagree{border-width:0px !important;background-color: transparent!important; padding: 0!important;}.woolentor-diagnostic-data-list-toogle{cursor:pointer;color:#2271b1;text-decoration:none;}</style></div>
     654            <div class="woolentor-diagnostic-data-notice notice notice-info">
     655                <p class="woolentor-diagnostic-data-message"><?php echo wp_kses_post( sprintf( esc_html__( 'Want to help make %2$s%1$s%3$s even more awesome? Allow %1$s to collect diagnostic data and usage information. (%4$swhat we collect%5$s)', 'whols' ), esc_html( $this->project_name ), '<strong>', '</strong>', '<a href="#" class="woolentor-diagnostic-data-list-toogle">', '</a>' ) ); ?></p>
    579656                <p class="woolentor-diagnostic-data-list"><?php echo wp_kses_post( $message_l2 ); ?></p>
    580657                <p class="woolentor-diagnostic-data-buttons">
  • whols/trunk/whols.php

    r3469025 r3469925  
    44 * Plugin URI:  https://wpwhols.com/
    55 * Description: This plugin provides all the necessary features that you will ever need to sell wholesale products from your WooCommerce online store.
    6  * Version:     2.4.7
     6 * Version:     2.4.8
    77 * Author:      HasThemes
    88 * Author URI:  https://hasthemes.com
     
    3636     * @since 1.0.0
    3737     */
    38     public $version = '2.4.6';
     38    public $version = '2.4.8';
    3939
    4040    /**
Note: See TracChangeset for help on using the changeset viewer.