Changeset 3469925
- Timestamp:
- 02/26/2026 06:23:34 AM (5 weeks ago)
- Location:
- whols
- Files:
-
- 6 edited
- 1 copied
-
tags/2.4.8 (copied) (copied from whols/trunk)
-
tags/2.4.8/build/vue-settings/main.js (modified) (1 diff)
-
tags/2.4.8/includes/Admin/Diagnostic_Data.php (modified) (6 diffs)
-
tags/2.4.8/whols.php (modified) (2 diffs)
-
trunk/build/vue-settings/main.js (modified) (1 diff)
-
trunk/includes/Admin/Diagnostic_Data.php (modified) (6 diffs)
-
trunk/whols.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
whols/tags/2.4.8/build/vue-settings/main.js
r3369403 r3469925 40 40 `:`; 41 41 `)+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 83 83 $this->project_type = 'wordpress-plugin'; 84 84 $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'; 86 86 $this->privacy_policy = 'https://wpwhols.com/privacy-policy/'; 87 87 … … 91 91 $this->project_pro_version = $this->get_pro_version(); 92 92 93 if ( get_option( 'whols_diagnostic_data_agreed' ) === 'yes' || get_option( 'whols_diagnostic_data_notice' ) === 'no' ) { 94 return; 95 } 96 93 97 add_action( 'admin_notices', function () { 94 98 $this->show_notices(); … … 99 103 } ); 100 104 101 add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) , 20);105 add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) ); 102 106 } 103 107 … … 106 110 */ 107 111 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' ); 109 114 wp_localize_script( 110 'whols- admin',115 'whols-diagnostic', 111 116 'wholsDiagnosticData', 112 117 array( … … 534 539 * Show notices. 535 540 */ 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 536 623 private function show_notices() { 624 if ( ! $this->should_show_notice() ) { 625 return; 626 } 627 537 628 $action = isset($_GET['action'] ) ? sanitize_text_field($_GET['action'] ) : ''; 538 629 … … 550 641 */ 551 642 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 565 643 $message_l2 = sprintf( 566 /* translators: %1$s: Learn more link, %2$s: Learn morelink */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$s Learn 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>' ); 568 646 569 647 $button_text_1 = esc_html__( 'Count Me In', 'whols' ); 570 648 $button_link_1 = add_query_arg( array( 'woolentor-diagnostic-data-agreed' => 1 ) ); 571 649 572 $button_text_2 = esc_html__( 'No , Thanks', 'whols' );650 $button_text_2 = esc_html__( 'No thanks', 'whols' ); 573 651 $button_link_2 = add_query_arg( array( 'woolentor-diagnostic-data-agreed' => 0 ) ); 574 652 ?> 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> 579 656 <p class="woolentor-diagnostic-data-list"><?php echo wp_kses_post( $message_l2 ); ?></p> 580 657 <p class="woolentor-diagnostic-data-buttons"> -
whols/tags/2.4.8/whols.php
r3469025 r3469925 4 4 * Plugin URI: https://wpwhols.com/ 5 5 * 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. 76 * Version: 2.4.8 7 7 * Author: HasThemes 8 8 * Author URI: https://hasthemes.com … … 36 36 * @since 1.0.0 37 37 */ 38 public $version = '2.4. 6';38 public $version = '2.4.8'; 39 39 40 40 /** -
whols/trunk/build/vue-settings/main.js
r3369403 r3469925 40 40 `:`; 41 41 `)+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 83 83 $this->project_type = 'wordpress-plugin'; 84 84 $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'; 86 86 $this->privacy_policy = 'https://wpwhols.com/privacy-policy/'; 87 87 … … 91 91 $this->project_pro_version = $this->get_pro_version(); 92 92 93 if ( get_option( 'whols_diagnostic_data_agreed' ) === 'yes' || get_option( 'whols_diagnostic_data_notice' ) === 'no' ) { 94 return; 95 } 96 93 97 add_action( 'admin_notices', function () { 94 98 $this->show_notices(); … … 99 103 } ); 100 104 101 add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) , 20);105 add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) ); 102 106 } 103 107 … … 106 110 */ 107 111 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' ); 109 114 wp_localize_script( 110 'whols- admin',115 'whols-diagnostic', 111 116 'wholsDiagnosticData', 112 117 array( … … 534 539 * Show notices. 535 540 */ 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 536 623 private function show_notices() { 624 if ( ! $this->should_show_notice() ) { 625 return; 626 } 627 537 628 $action = isset($_GET['action'] ) ? sanitize_text_field($_GET['action'] ) : ''; 538 629 … … 550 641 */ 551 642 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 565 643 $message_l2 = sprintf( 566 /* translators: %1$s: Learn more link, %2$s: Learn morelink */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$s Learn 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>' ); 568 646 569 647 $button_text_1 = esc_html__( 'Count Me In', 'whols' ); 570 648 $button_link_1 = add_query_arg( array( 'woolentor-diagnostic-data-agreed' => 1 ) ); 571 649 572 $button_text_2 = esc_html__( 'No , Thanks', 'whols' );650 $button_text_2 = esc_html__( 'No thanks', 'whols' ); 573 651 $button_link_2 = add_query_arg( array( 'woolentor-diagnostic-data-agreed' => 0 ) ); 574 652 ?> 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> 579 656 <p class="woolentor-diagnostic-data-list"><?php echo wp_kses_post( $message_l2 ); ?></p> 580 657 <p class="woolentor-diagnostic-data-buttons"> -
whols/trunk/whols.php
r3469025 r3469925 4 4 * Plugin URI: https://wpwhols.com/ 5 5 * 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. 76 * Version: 2.4.8 7 7 * Author: HasThemes 8 8 * Author URI: https://hasthemes.com … … 36 36 * @since 1.0.0 37 37 */ 38 public $version = '2.4. 6';38 public $version = '2.4.8'; 39 39 40 40 /**
Note: See TracChangeset
for help on using the changeset viewer.