@aaravpos/appointment-barber-booking 2.0.1 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -12,7 +12,7 @@ Take a look at the logic that dispatched this action: `,p,`
12
12
  (See https://redux.js.org/faq/actions#why-should-type-be-a-string-or-at-least-serializable-why-should-my-action-types-be-constants)`,`
13
13
  (To allow non-serializable values see: https://redux-toolkit.js.org/usage/usage-guide#working-with-non-serializable-data)`)}}),s||(v.measureTime(()=>{const y=xr(f.getState(),"",t,r,i,c);if(y){const{keyPath:$,value:S}=y;console.error(`A non-serializable value was detected in the state, in the path: \`${$}\`. Value:`,S,`
14
14
  Take a look at the reducer(s) handling this action type: ${p.type}.
15
- (See https://redux.js.org/faq/organizing-state#can-i-put-functions-promises-or-other-non-serializable-items-in-my-store-state)`)}}),v.warnIfExceeded()),h}}}function Jt(e){return typeof e=="boolean"}var du=()=>function(t){const{thunk:r=!0,immutableCheck:n=!0,serializableCheck:a=!0,actionCreatorCheck:i=!0}=t??{};let o=new la;if(r&&(Jt(r)?o.push(ru):o.push(nu(r.extraArgument))),process.env.NODE_ENV!=="production"){if(n){let s={};Jt(n)||(s=n),o.unshift(ls(s))}if(a){let s={};Jt(a)||(s=a),o.push(cs(s))}if(i){let s={};Jt(i)||(s=i),o.unshift(as(s))}}return o},ca="RTK_autoBatch",lu=()=>e=>({payload:e,meta:{[ca]:!0}}),si=e=>t=>{setTimeout(t,e)},fs=(e={type:"raf"})=>t=>(...r)=>{const n=t(...r);let a=!0,i=!1,o=!1;const s=new Set,l=e.type==="tick"?queueMicrotask:e.type==="raf"?typeof window<"u"&&window.requestAnimationFrame?window.requestAnimationFrame:si(10):e.type==="callback"?e.queueNotification:si(e.timeout),u=()=>{o=!1,i&&(i=!1,s.forEach(c=>c()))};return Object.assign({},n,{subscribe(c){const f=()=>a&&c(),m=n.subscribe(f);return s.add(c),()=>{m(),s.delete(c)}},dispatch(c){try{return a=!c?.meta?.[ca],i=!a,i&&(o||(o=!0,l(u))),n.dispatch(c)}finally{a=!0}}})},uu=e=>function(r){const{autoBatch:n=!0}=r??{};let a=new la(e);return n&&a.push(fs(typeof n=="object"?n:void 0)),a};function ps(e){const t=du(),{reducer:r=void 0,middleware:n,devTools:a=!0,duplicateMiddlewareCheck:i=!0,preloadedState:o=void 0,enhancers:s=void 0}=e||{};let l;if(typeof r=="function")l=r;else if((0,Ne.isPlainObject)(r))l=(0,Ne.combineReducers)(r);else throw new Error(process.env.NODE_ENV==="production"?Y(1):"`reducer` is a required argument, and must be a function or an object of functions that can be passed to combineReducers");if(process.env.NODE_ENV!=="production"&&n&&typeof n!="function")throw new Error(process.env.NODE_ENV==="production"?Y(2):"`middleware` field must be a callback");let u;if(typeof n=="function"){if(u=n(t),process.env.NODE_ENV!=="production"&&!Array.isArray(u))throw new Error(process.env.NODE_ENV==="production"?Y(3):"when using a middleware builder function, an array of middleware must be returned")}else u=t();if(process.env.NODE_ENV!=="production"&&u.some(v=>typeof v!="function"))throw new Error(process.env.NODE_ENV==="production"?Y(4):"each middleware provided to configureStore must be a function");if(process.env.NODE_ENV!=="production"&&i){let v=new Set;u.forEach(y=>{if(v.has(y))throw new Error(process.env.NODE_ENV==="production"?Y(42):"Duplicate middleware references found when creating the store. Ensure that each middleware is only included once.");v.add(y)})}let c=Ne.compose;a&&(c=au({trace:process.env.NODE_ENV!=="production",...typeof a=="object"&&a}));const f=(0,Ne.applyMiddleware)(...u),m=uu(f);if(process.env.NODE_ENV!=="production"&&s&&typeof s!="function")throw new Error(process.env.NODE_ENV==="production"?Y(5):"`enhancers` field must be a callback");let p=typeof s=="function"?s(m):m();if(process.env.NODE_ENV!=="production"&&!Array.isArray(p))throw new Error(process.env.NODE_ENV==="production"?Y(6):"`enhancers` callback must return an array");if(process.env.NODE_ENV!=="production"&&p.some(v=>typeof v!="function"))throw new Error(process.env.NODE_ENV==="production"?Y(7):"each enhancer provided to configureStore must be a function");process.env.NODE_ENV!=="production"&&u.length&&!p.includes(f)&&console.error("middlewares were provided, but middleware enhancer was not included in final enhancers - make sure to call `getDefaultEnhancers`");const h=c(...p);return(0,Ne.createStore)(l,o,h)}function ms(e){const t={},r=[];let n;const a={addCase(i,o){if(process.env.NODE_ENV!=="production"){if(r.length>0)throw new Error(process.env.NODE_ENV==="production"?Y(26):"`builder.addCase` should only be called before calling `builder.addMatcher`");if(n)throw new Error(process.env.NODE_ENV==="production"?Y(27):"`builder.addCase` should only be called before calling `builder.addDefaultCase`")}const s=typeof i=="string"?i:i.type;if(!s)throw new Error(process.env.NODE_ENV==="production"?Y(28):"`builder.addCase` cannot be called with an empty action type");if(s in t)throw new Error(process.env.NODE_ENV==="production"?Y(29):`\`builder.addCase\` cannot be called with two reducers for the same action type '${s}'`);return t[s]=o,a},addAsyncThunk(i,o){if(process.env.NODE_ENV!=="production"&&n)throw new Error(process.env.NODE_ENV==="production"?Y(43):"`builder.addAsyncThunk` should only be called before calling `builder.addDefaultCase`");return o.pending&&(t[i.pending.type]=o.pending),o.rejected&&(t[i.rejected.type]=o.rejected),o.fulfilled&&(t[i.fulfilled.type]=o.fulfilled),o.settled&&r.push({matcher:i.settled,reducer:o.settled}),a},addMatcher(i,o){if(process.env.NODE_ENV!=="production"&&n)throw new Error(process.env.NODE_ENV==="production"?Y(30):"`builder.addMatcher` should only be called before calling `builder.addDefaultCase`");return r.push({matcher:i,reducer:o}),a},addDefaultCase(i){if(process.env.NODE_ENV!=="production"&&n)throw new Error(process.env.NODE_ENV==="production"?Y(31):"`builder.addDefaultCase` can only be called once");return n=i,a}};return e(a),[t,r,n]}function cu(e){return typeof e=="function"}function hs(e,t){if(process.env.NODE_ENV!=="production"&&typeof t=="object")throw new Error(process.env.NODE_ENV==="production"?Y(8):"The object notation for `createReducer` has been removed. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createReducer");let[r,n,a]=ms(t),i;if(cu(e))i=()=>oi(e());else{const s=oi(e);i=()=>s}function o(s=i(),l){let u=[r[l.type],...n.filter(({matcher:c})=>c(l)).map(({reducer:c})=>c)];return u.filter(c=>!!c).length===0&&(u=[a]),u.reduce((c,f)=>{if(f)if(Se(c)){const m=f(c,l);return m===void 0?c:m}else{if(Te(c))return Kr(c,m=>f(m,l));{const m=f(c,l);if(m===void 0){if(c===null)return c;throw Error("A case reducer on a non-draftable value must not return undefined")}return m}}return c},s)}return o.getInitialState=i,o}var ys=(e,t)=>ts(e)?e.match(t):e(t);function ht(...e){return t=>e.some(r=>ys(r,t))}function Pr(...e){return t=>e.every(r=>ys(r,t))}function Zr(e,t){if(!e||!e.meta)return!1;const r=typeof e.meta.requestId=="string",n=t.indexOf(e.meta.requestStatus)>-1;return r&&n}function Vt(e){return typeof e[0]=="function"&&"pending"in e[0]&&"fulfilled"in e[0]&&"rejected"in e[0]}function vs(...e){return e.length===0?t=>Zr(t,["pending"]):Vt(e)?ht(...e.map(t=>t.pending)):vs()(e[0])}function wr(...e){return e.length===0?t=>Zr(t,["rejected"]):Vt(e)?ht(...e.map(t=>t.rejected)):wr()(e[0])}function bs(...e){const t=r=>r&&r.meta&&r.meta.rejectedWithValue;return e.length===0?Pr(wr(...e),t):Vt(e)?Pr(wr(...e),t):bs()(e[0])}function $s(...e){return e.length===0?t=>Zr(t,["fulfilled"]):Vt(e)?ht(...e.map(t=>t.fulfilled)):$s()(e[0])}function gs(...e){return e.length===0?t=>Zr(t,["pending","fulfilled","rejected"]):Vt(e)?ht(...e.flatMap(t=>[t.pending,t.rejected,t.fulfilled])):gs()(e[0])}var fu="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",Gt=(e=21)=>{let t="",r=e;for(;r--;)t+=fu[Math.random()*64|0];return t},pu=["name","message","stack","code"],bn=class{constructor(e,t){this.payload=e,this.meta=t}_type},di=class{constructor(e,t){this.payload=e,this.meta=t}_type},Ns=e=>{if(typeof e=="object"&&e!==null){const t={};for(const r of pu)typeof e[r]=="string"&&(t[r]=e[r]);return t}return{message:String(e)}},li="External signal was aborted",Xr=(()=>{function e(t,r,n){const a=je(t+"/fulfilled",(l,u,c,f)=>({payload:l,meta:{...f||{},arg:c,requestId:u,requestStatus:"fulfilled"}})),i=je(t+"/pending",(l,u,c)=>({payload:void 0,meta:{...c||{},arg:u,requestId:l,requestStatus:"pending"}})),o=je(t+"/rejected",(l,u,c,f,m)=>({payload:f,error:(n&&n.serializeError||Ns)(l||"Rejected"),meta:{...m||{},arg:c,requestId:u,rejectedWithValue:!!f,requestStatus:"rejected",aborted:l?.name==="AbortError",condition:l?.name==="ConditionError"}}));function s(l,{signal:u}={}){return(c,f,m)=>{const p=n?.idGenerator?n.idGenerator(l):Gt(),h=new AbortController;let v,y;function $(b){y=b,h.abort()}u&&(u.aborted?$(li):u.addEventListener("abort",()=>$(li),{once:!0}));const S=(async function(){let b;try{let x=n?.condition?.(l,{getState:f,extra:m});if(mu(x)&&(x=await x),x===!1||h.signal.aborted)throw{name:"ConditionError",message:"Aborted due to condition callback returning false."};const w=new Promise((g,j)=>{v=()=>{j({name:"AbortError",message:y||"Aborted"})},h.signal.addEventListener("abort",v,{once:!0})});c(i(p,l,n?.getPendingMeta?.({requestId:p,arg:l},{getState:f,extra:m}))),b=await Promise.race([w,Promise.resolve(r(l,{dispatch:c,getState:f,extra:m,requestId:p,signal:h.signal,abort:$,rejectWithValue:(g,j)=>new bn(g,j),fulfillWithValue:(g,j)=>new di(g,j)})).then(g=>{if(g instanceof bn)throw g;return g instanceof di?a(g.payload,p,l,g.meta):a(g,p,l)})])}catch(x){b=x instanceof bn?o(null,p,l,x.payload,x.meta):o(x,p,l)}finally{v&&h.signal.removeEventListener("abort",v)}return n&&!n.dispatchConditionRejection&&o.match(b)&&b.meta.condition||c(b),b})();return Object.assign(S,{abort:$,requestId:p,arg:l,unwrap(){return S.then(Cs)}})}}return Object.assign(s,{pending:i,rejected:o,fulfilled:a,settled:ht(o,a),typePrefix:t})}return e.withTypes=()=>e,e})();function Cs(e){if(e.meta&&e.meta.rejectedWithValue)throw e.payload;if(e.error)throw e.error;return e.payload}function mu(e){return e!==null&&typeof e=="object"&&typeof e.then=="function"}var Ss=Symbol.for("rtk-slice-createasyncthunk"),hu={[Ss]:Xr},xs=(e=>(e.reducer="reducer",e.reducerWithPrepare="reducerWithPrepare",e.asyncThunk="asyncThunk",e))(xs||{});function yu(e,t){return`${e}/${t}`}function Ps({creators:e}={}){const t=e?.asyncThunk?.[Ss];return function(n){const{name:a,reducerPath:i=a}=n;if(!a)throw new Error(process.env.NODE_ENV==="production"?Y(11):"`name` is a required option for createSlice");typeof process<"u"&&process.env.NODE_ENV==="development"&&n.initialState===void 0&&console.error("You must provide an `initialState` value that is not `undefined`. You may have misspelled `initialState`");const o=(typeof n.reducers=="function"?n.reducers(bu()):n.reducers)||{},s=Object.keys(o),l={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},u={addCase(b,x){const w=typeof b=="string"?b:b.type;if(!w)throw new Error(process.env.NODE_ENV==="production"?Y(12):"`context.addCase` cannot be called with an empty action type");if(w in l.sliceCaseReducersByType)throw new Error(process.env.NODE_ENV==="production"?Y(13):"`context.addCase` cannot be called with two reducers for the same action type: "+w);return l.sliceCaseReducersByType[w]=x,u},addMatcher(b,x){return l.sliceMatchers.push({matcher:b,reducer:x}),u},exposeAction(b,x){return l.actionCreators[b]=x,u},exposeCaseReducer(b,x){return l.sliceCaseReducersByName[b]=x,u}};s.forEach(b=>{const x=o[b],w={reducerName:b,type:yu(a,b),createNotation:typeof n.reducers=="function"};gu(x)?Cu(w,x,u,t):$u(w,x,u)});function c(){if(process.env.NODE_ENV!=="production"&&typeof n.extraReducers=="object")throw new Error(process.env.NODE_ENV==="production"?Y(14):"The object notation for `createSlice.extraReducers` has been removed. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createSlice");const[b={},x=[],w=void 0]=typeof n.extraReducers=="function"?ms(n.extraReducers):[n.extraReducers],g={...b,...l.sliceCaseReducersByType};return hs(n.initialState,j=>{for(let M in g)j.addCase(M,g[M]);for(let M of l.sliceMatchers)j.addMatcher(M.matcher,M.reducer);for(let M of x)j.addMatcher(M.matcher,M.reducer);w&&j.addDefaultCase(w)})}const f=b=>b,m=new Map,p=new WeakMap;let h;function v(b,x){return h||(h=c()),h(b,x)}function y(){return h||(h=c()),h.getInitialState()}function $(b,x=!1){function w(j){let M=j[b];if(typeof M>"u"){if(x)M=Ze(p,w,y);else if(process.env.NODE_ENV!=="production")throw new Error(process.env.NODE_ENV==="production"?Y(15):"selectSlice returned undefined for an uninjected slice reducer")}return M}function g(j=f){return Ze(Ze(m,x,()=>new WeakMap),j,()=>{const M={};for(const[q,Z]of Object.entries(n.selectors??{}))M[q]=vu(Z,j,()=>Ze(p,j,y),x);return M})}return{reducerPath:b,getSelectors:g,get selectors(){return g(w)},selectSlice:w}}const S={name:a,reducer:v,actions:l.actionCreators,caseReducers:l.sliceCaseReducersByName,getInitialState:y,...$(i),injectInto(b,{reducerPath:x,...w}={}){const g=x??i;return b.inject({reducerPath:g,reducer:v},w),{...S,...$(g,!0)}}};return S}}function vu(e,t,r,n){function a(i,...o){let s=t(i);if(typeof s>"u"){if(n)s=r();else if(process.env.NODE_ENV!=="production")throw new Error(process.env.NODE_ENV==="production"?Y(16):"selectState returned undefined for an uninjected slice reducer")}return e(s,...o)}return a.unwrapped=e,a}var ze=Ps();function bu(){function e(t,r){return{_reducerDefinitionType:"asyncThunk",payloadCreator:t,...r}}return e.withTypes=()=>e,{reducer(t){return Object.assign({[t.name](...r){return t(...r)}}[t.name],{_reducerDefinitionType:"reducer"})},preparedReducer(t,r){return{_reducerDefinitionType:"reducerWithPrepare",prepare:t,reducer:r}},asyncThunk:e}}function $u({type:e,reducerName:t,createNotation:r},n,a){let i,o;if("reducer"in n){if(r&&!Nu(n))throw new Error(process.env.NODE_ENV==="production"?Y(17):"Please use the `create.preparedReducer` notation for prepared action creators with the `create` notation.");i=n.reducer,o=n.prepare}else i=n;a.addCase(e,i).exposeCaseReducer(t,i).exposeAction(t,o?je(e,o):je(e))}function gu(e){return e._reducerDefinitionType==="asyncThunk"}function Nu(e){return e._reducerDefinitionType==="reducerWithPrepare"}function Cu({type:e,reducerName:t},r,n,a){if(!a)throw new Error(process.env.NODE_ENV==="production"?Y(18):"Cannot use `create.asyncThunk` in the built-in `createSlice`. Use `buildCreateSlice({ creators: { asyncThunk: asyncThunkCreator } })` to create a customised version of `createSlice`.");const{payloadCreator:i,fulfilled:o,pending:s,rejected:l,settled:u,options:c}=r,f=a(e,i,c);n.exposeAction(t,f),o&&n.addCase(f.fulfilled,o),s&&n.addCase(f.pending,s),l&&n.addCase(f.rejected,l),u&&n.addMatcher(f.settled,u),n.exposeCaseReducer(t,{fulfilled:o||Qt,pending:s||Qt,rejected:l||Qt,settled:u||Qt})}function Qt(){}function Su(){return{ids:[],entities:{}}}function xu(e){function t(r={},n){const a=Object.assign(Su(),r);return n?e.setAll(a,n):a}return{getInitialState:t}}function Pu(){function e(t,r={}){const{createSelector:n=es}=r,a=f=>f.ids,i=f=>f.entities,o=n(a,i,(f,m)=>f.map(p=>m[p])),s=(f,m)=>m,l=(f,m)=>f[m],u=n(a,f=>f.length);if(!t)return{selectIds:a,selectEntities:i,selectAll:o,selectTotal:u,selectById:n(i,s,l)};const c=n(t,i);return{selectIds:n(t,a),selectEntities:c,selectAll:n(t,o),selectTotal:n(t,u),selectById:n(c,s,l)}}return{getSelectors:e}}var wu=Se;function _u(e){const t=oe((r,n)=>e(n));return function(n){return t(n,void 0)}}function oe(e){return function(r,n){function a(o){return ns(o)}const i=o=>{a(n)?e(n.payload,o):e(n,o)};return wu(r)?(i(r),r):Kr(r,i)}}function it(e,t){const r=t(e);return process.env.NODE_ENV!=="production"&&r===void 0&&console.warn("The entity passed to the `selectId` implementation returned undefined.","You should probably provide your own `selectId` implementation.","The entity that was passed:",e,"The `selectId` implementation:",t.toString()),r}function We(e){return Array.isArray(e)||(e=Object.values(e)),e}function ur(e){return Se(e)?Hr(e):e}function ws(e,t,r){e=We(e);const n=ur(r.ids),a=new Set(n),i=[],o=new Set([]),s=[];for(const l of e){const u=it(l,t);a.has(u)||o.has(u)?s.push({id:u,changes:l}):(o.add(u),i.push(l))}return[i,s,n]}function _s(e){function t(h,v){const y=it(h,e);y in v.entities||(v.ids.push(y),v.entities[y]=h)}function r(h,v){h=We(h);for(const y of h)t(y,v)}function n(h,v){const y=it(h,e);y in v.entities||v.ids.push(y),v.entities[y]=h}function a(h,v){h=We(h);for(const y of h)n(y,v)}function i(h,v){h=We(h),v.ids=[],v.entities={},r(h,v)}function o(h,v){return s([h],v)}function s(h,v){let y=!1;h.forEach($=>{$ in v.entities&&(delete v.entities[$],y=!0)}),y&&(v.ids=v.ids.filter($=>$ in v.entities))}function l(h){Object.assign(h,{ids:[],entities:{}})}function u(h,v,y){const $=y.entities[v.id];if($===void 0)return!1;const S=Object.assign({},$,v.changes),b=it(S,e),x=b!==v.id;return x&&(h[v.id]=b,delete y.entities[v.id]),y.entities[b]=S,x}function c(h,v){return f([h],v)}function f(h,v){const y={},$={};h.forEach(S=>{S.id in v.entities&&($[S.id]={id:S.id,changes:{...$[S.id]?.changes,...S.changes}})}),h=Object.values($),h.length>0&&h.filter(S=>u(y,S,v)).length>0&&(v.ids=Object.values(v.entities).map(S=>it(S,e)))}function m(h,v){return p([h],v)}function p(h,v){const[y,$]=ws(h,e,v);r(y,v),f($,v)}return{removeAll:_u(l),addOne:oe(t),addMany:oe(r),setOne:oe(n),setMany:oe(a),setAll:oe(i),updateOne:oe(c),updateMany:oe(f),upsertOne:oe(m),upsertMany:oe(p),removeOne:oe(o),removeMany:oe(s)}}function Ou(e,t,r){let n=0,a=e.length;for(;n<a;){let i=n+a>>>1;const o=e[i];r(t,o)>=0?n=i+1:a=i}return n}function Eu(e,t,r){const n=Ou(e,t,r);return e.splice(n,0,t),e}function ju(e,t){const{removeOne:r,removeMany:n,removeAll:a}=_s(e);function i(y,$){return o([y],$)}function o(y,$,S){y=We(y);const b=new Set(S??ur($.ids)),x=new Set,w=y.filter(g=>{const j=it(g,e),M=!x.has(j);return M&&x.add(j),!b.has(j)&&M});w.length!==0&&v($,w)}function s(y,$){return l([y],$)}function l(y,$){let S={};if(y=We(y),y.length!==0){for(const b of y){const x=e(b);S[x]=b,delete $.entities[x]}y=We(S),v($,y)}}function u(y,$){y=We(y),$.entities={},$.ids=[],o(y,$,[])}function c(y,$){return f([y],$)}function f(y,$){let S=!1,b=!1;for(let x of y){const w=$.entities[x.id];if(!w)continue;S=!0,Object.assign(w,x.changes);const g=e(w);if(x.id!==g){b=!0,delete $.entities[x.id];const j=$.ids.indexOf(x.id);$.ids[j]=g,$.entities[g]=w}}S&&v($,[],S,b)}function m(y,$){return p([y],$)}function p(y,$){const[S,b,x]=ws(y,e,$);S.length&&o(S,$,x),b.length&&f(b,$)}function h(y,$){if(y.length!==$.length)return!1;for(let S=0;S<y.length;S++)if(y[S]!==$[S])return!1;return!0}const v=(y,$,S,b)=>{const x=ur(y.entities),w=ur(y.ids),g=y.entities;let j=w;b&&(j=new Set(w));let M=[];for(const te of j){const le=x[te];le&&M.push(le)}const q=M.length===0;for(const te of $)g[e(te)]=te,q||Eu(M,te,t);q?M=$.slice().sort(t):S&&M.sort(t);const Z=M.map(e);h(w,Z)||(y.ids=Z)};return{removeOne:r,removeMany:n,removeAll:a,addOne:oe(i),updateOne:oe(c),upsertOne:oe(m),setOne:oe(s),setMany:oe(l),setAll:oe(u),addMany:oe(o),updateMany:oe(f),upsertMany:oe(p)}}function Iu(e={}){const{selectId:t,sortComparer:r}={sortComparer:!1,selectId:o=>o.id,...e},n=r?ju(t,r):_s(t),a=xu(n),i=Pu();return{selectId:t,sortComparer:r,...a,...i,...n}}var Tu="task",Os="listener",Es="completed",fa="cancelled",Au=`task-${fa}`,Mu=`task-${Es}`,Ln=`${Os}-${fa}`,Du=`${Os}-${Es}`,Wt=class{constructor(e){this.code=e,this.message=`${Tu} ${fa} (reason: ${e})`}name="TaskAbortError";message},pa=(e,t)=>{if(typeof e!="function")throw new TypeError(process.env.NODE_ENV==="production"?Y(32):`${t} is not a function`)},_r=()=>{},js=(e,t=_r)=>(e.catch(t),e),Is=(e,t)=>(e.addEventListener("abort",t,{once:!0}),()=>e.removeEventListener("abort",t)),Xe=e=>{if(e.aborted)throw new Wt(e.reason)};function Ts(e,t){let r=_r;return new Promise((n,a)=>{const i=()=>a(new Wt(e.reason));if(e.aborted){i();return}r=Is(e,i),t.finally(()=>r()).then(n,a)}).finally(()=>{r=_r})}var ku=async(e,t)=>{try{return await Promise.resolve(),{status:"ok",value:await e()}}catch(r){return{status:r instanceof Wt?"cancelled":"rejected",error:r}}finally{t?.()}},Or=e=>t=>js(Ts(e,t).then(r=>(Xe(e),r))),As=e=>{const t=Or(e);return r=>t(new Promise(n=>setTimeout(n,r)))},{assign:st}=Object,ui={},zt="listenerMiddleware",Ru=(e,t)=>{const r=n=>Is(e,()=>n.abort(e.reason));return(n,a)=>{pa(n,"taskExecutor");const i=new AbortController;r(i);const o=ku(async()=>{Xe(e),Xe(i.signal);const s=await n({pause:Or(i.signal),delay:As(i.signal),signal:i.signal});return Xe(i.signal),s},()=>i.abort(Mu));return a?.autoJoin&&t.push(o.catch(_r)),{result:Or(e)(o),cancel(){i.abort(Au)}}}},Fu=(e,t)=>{const r=async(n,a)=>{Xe(t);let i=()=>{};const o=[new Promise((s,l)=>{let u=e({predicate:n,effect:(c,f)=>{f.unsubscribe(),s([c,f.getState(),f.getOriginalState()])}});i=()=>{u(),l()}})];a!=null&&o.push(new Promise(s=>setTimeout(s,a,null)));try{const s=await Ts(t,Promise.race(o));return Xe(t),s}finally{i()}};return(n,a)=>js(r(n,a))},Ms=e=>{let{type:t,actionCreator:r,matcher:n,predicate:a,effect:i}=e;if(t)a=je(t).match;else if(r)t=r.type,a=r.match;else if(n)a=n;else if(!a)throw new Error(process.env.NODE_ENV==="production"?Y(21):"Creating or removing a listener requires one of the known fields for matching an action");return pa(i,"options.listener"),{predicate:a,type:t,effect:i}},Ds=st(e=>{const{type:t,predicate:r,effect:n}=Ms(e);return{id:Gt(),effect:n,type:t,predicate:r,pending:new Set,unsubscribe:()=>{throw new Error(process.env.NODE_ENV==="production"?Y(22):"Unsubscribe not initialized")}}},{withTypes:()=>Ds}),ci=(e,t)=>{const{type:r,effect:n,predicate:a}=Ms(t);return Array.from(e.values()).find(i=>(typeof r=="string"?i.type===r:i.predicate===a)&&i.effect===n)},Bn=e=>{e.pending.forEach(t=>{t.abort(Ln)})},Lu=(e,t)=>()=>{for(const r of t.keys())Bn(r);e.clear()},fi=(e,t,r)=>{try{e(t,r)}catch(n){setTimeout(()=>{throw n},0)}},ma=st(je(`${zt}/add`),{withTypes:()=>ma}),ks=je(`${zt}/removeAll`),ha=st(je(`${zt}/remove`),{withTypes:()=>ha}),Bu=(...e)=>{console.error(`${zt}/error`,...e)},Uu=(e={})=>{const t=new Map,r=new Map,n=p=>{const h=r.get(p)??0;r.set(p,h+1)},a=p=>{const h=r.get(p)??1;h===1?r.delete(p):r.set(p,h-1)},{extra:i,onError:o=Bu}=e;pa(o,"onError");const s=p=>(p.unsubscribe=()=>t.delete(p.id),t.set(p.id,p),h=>{p.unsubscribe(),h?.cancelActive&&Bn(p)}),l=p=>s(ci(t,p)??Ds(p));st(l,{withTypes:()=>l});const u=p=>{const h=ci(t,p);return h&&(h.unsubscribe(),p.cancelActive&&Bn(h)),!!h};st(u,{withTypes:()=>u});const c=async(p,h,v,y)=>{const $=new AbortController,S=Fu(l,$.signal),b=[];try{p.pending.add($),n(p),await Promise.resolve(p.effect(h,st({},v,{getOriginalState:y,condition:(x,w)=>S(x,w).then(Boolean),take:S,delay:As($.signal),pause:Or($.signal),extra:i,signal:$.signal,fork:Ru($.signal,b),unsubscribe:p.unsubscribe,subscribe:()=>{t.set(p.id,p)},cancelActiveListeners:()=>{p.pending.forEach((x,w,g)=>{x!==$&&(x.abort(Ln),g.delete(x))})},cancel:()=>{$.abort(Ln),p.pending.delete($)},throwIfCancelled:()=>{Xe($.signal)}})))}catch(x){x instanceof Wt||fi(o,x,{raisedBy:"effect"})}finally{await Promise.all(b),$.abort(Du),a(p),p.pending.delete($)}},f=Lu(t,r);return{middleware:p=>h=>v=>{if(!(0,Ne.isAction)(v))return h(v);if(ma.match(v))return l(v.payload);if(ks.match(v)){f();return}if(ha.match(v))return u(v.payload);let y=p.getState();const $=()=>{if(y===ui)throw new Error(process.env.NODE_ENV==="production"?Y(23):`${zt}: getOriginalState can only be called synchronously`);return y};let S;try{if(S=h(v),t.size>0){const b=p.getState(),x=Array.from(t.values());for(const w of x){let g=!1;try{g=w.predicate(v,b,y)}catch(j){g=!1,fi(o,j,{raisedBy:"predicate"})}g&&c(w,v,p,$)}}}finally{y=ui}return S},startListening:l,stopListening:u,clearListeners:f}},Vu=e=>({middleware:e,applied:new Map}),Gu=e=>t=>t?.meta?.instanceId===e,Wu=()=>{const e=Gt(),t=new Map,r=Object.assign(je("dynamicMiddleware/add",(...s)=>({payload:s,meta:{instanceId:e}})),{withTypes:()=>r}),n=Object.assign(function(...l){l.forEach(u=>{Ze(t,u,Vu)})},{withTypes:()=>n}),a=s=>(0,Ne.compose)(...Array.from(t.values()).map(l=>Ze(l.applied,s,l.middleware))),i=Pr(r,Gu(e));return{middleware:s=>l=>u=>i(u)?(n(...u.payload),s.dispatch):a(s)(l)(u),addMiddleware:n,withMiddleware:r,instanceId:e}},zu=e=>"reducerPath"in e&&typeof e.reducerPath=="string",qu=e=>e.flatMap(t=>zu(t)?[[t.reducerPath,t.reducer]]:Object.entries(t)),ya=Symbol.for("rtk-state-proxy-original"),Hu=e=>!!e&&!!e[ya],Ku=new WeakMap,Yu=(e,t,r)=>Ze(Ku,e,()=>new Proxy(e,{get:(n,a,i)=>{if(a===ya)return n;const o=Reflect.get(n,a,i);if(typeof o>"u"){const s=r[a];if(typeof s<"u")return s;const l=t[a];if(l){const u=l(void 0,{type:Gt()});if(typeof u>"u")throw new Error(process.env.NODE_ENV==="production"?Y(24):`The slice reducer for key "${a.toString()}" returned undefined when called for selector(). If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined. If you don't want to set a value for this reducer, you can use null instead of undefined.`);return r[a]=u,u}}return o}})),Zu=e=>{if(!Hu(e))throw new Error(process.env.NODE_ENV==="production"?Y(25):"original must be used on state Proxy");return e[ya]},Xu={},Ju=(e=Xu)=>e;function Qu(...e){const t=Object.fromEntries(qu(e)),r=()=>Object.keys(t).length?(0,Ne.combineReducers)(t):Ju;let n=r();function a(l,u){return n(l,u)}a.withLazyLoadedSlices=()=>a;const i={},o=(l,u={})=>{const{reducerPath:c,reducer:f}=l,m=t[c];return!u.overrideExisting&&m&&m!==f?(typeof process<"u"&&process.env.NODE_ENV==="development"&&console.error(`called \`inject\` to override already-existing reducer ${c} without specifying \`overrideExisting: true\``),a):(u.overrideExisting&&m!==f&&delete i[c],t[c]=f,n=r(),a)},s=Object.assign(function(u,c){return function(m,...p){return u(Yu(c?c(m,...p):m,t,i),...p)}},{original:Zu});return Object.assign(a,{inject:o,selector:s})}function Y(e){return`Minified Redux Toolkit error #${e}; visit https://redux-toolkit.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var De=["professionals","services","time","confirm","success"],ec={currentStep:"professionals",completedSteps:["professionals"]},Rs=ze({name:"breadcrumbs",initialState:ec,reducers:{goToStep:(e,t)=>{const r=t.payload,n=De.indexOf(e.currentStep),a=De.indexOf(r);if(a<=n){e.currentStep=r;return}const i=De[a-1];e.completedSteps.includes(i)&&(e.currentStep=r)},completeStep:(e,t)=>{const r=t.payload;e.completedSteps.includes(r)||e.completedSteps.push(r)},nextStep:e=>{const t=De[De.indexOf(e.currentStep)+1];t&&(e.completedSteps.includes(e.currentStep)||e.completedSteps.push(e.currentStep),e.currentStep=t)},prevStep:e=>{const t=De[De.indexOf(e.currentStep)-1];t&&(e.currentStep=t)},clearSteps:e=>{e.currentStep="professionals",e.completedSteps=["professionals"]},resetStepsAfter:(e,t)=>{const r=t.payload,n=De.indexOf(r);e.completedSteps=e.completedSteps.filter(a=>De.indexOf(a)<=n)}}}),{goToStep:tc,completeStep:zh,nextStep:Le,prevStep:qh,clearSteps:Hh,resetStepsAfter:rc}=Rs.actions,nc=Rs.reducer,pi={id:"",outletName:"",timeZone:"",image:"",tenantId:"",address:"",isOpen:!1,outletTimeZoneDate:"",outletTimeZoneYear:"",createdAt:"",isService:!0,currency:"",token:""},Fs=ze({name:"outletDetails",initialState:pi,reducers:{clearBooking:()=>pi,setOutletData:(e,t)=>({...e,...t.payload}),setOutletToken:(e,t)=>{e.token=t.payload}}}),{clearBooking:ac,setOutletData:ic,setOutletToken:oc}=Fs.actions,sc=Fs.reducer,mi={superCategories:[],staff:[],selectedCategory:null,selectedServices:[],selectedProfessional:null},Ls=ze({name:"service",initialState:mi,reducers:{setServicePayload:(e,t)=>{e.staff=t.payload.staff},setCategory:(e,t)=>{e.selectedCategory=t.payload},toggleService:(e,t)=>{const r=e.selectedServices.find(n=>n.id===t.payload.id);r?r.qty<5&&(r.qty+=1):e.selectedServices.push({...t.payload,qty:1})},incrementService:(e,t)=>{const r=e.selectedServices.find(n=>n.id===t.payload);r&&r.qty<5&&(r.qty+=1)},decrementService:(e,t)=>{const r=e.selectedServices.find(n=>n.id===t.payload);r&&(r.qty===1?e.selectedServices=e.selectedServices.filter(n=>n.id!==t.payload):r.qty-=1)},toggleProfessional:(e,t)=>{e.selectedProfessional=t.payload,e.superCategories=t.payload.superCategories||[],e.selectedServices=[],e.selectedCategory=null},clearServices:()=>mi}}),{setServicePayload:dc,setCategory:Kh,toggleService:hi,clearServices:Yh,incrementService:lc,decrementService:yi,toggleProfessional:uc}=Ls.actions,cc=Ls.reducer,Ve="https://prod.aaravpos.com/api/v1",qe=()=>({"Content-Type":"application/json",Authorization:`Bearer ${Jr.getState()?.barber?.outletDetails?.token}`}),fc=async(e,t,r)=>{const n=new URLSearchParams({available_online:"true",is_available_online_category:"true"});t&&n.append("tenantId",t),r&&n.append("outletId",r);const a=`${Ve}/integration/service/provider/code/${e}?${n}`,i=await fetch(a,{method:"GET",headers:{"Content-Type":"application/json"}});if(!i.ok)throw new Error("Failed to fetch services");return await i.json()},pc=async(e,t,r)=>{const n=await fetch(`${Ve}/integration/slot/tenant/${e}/staff/${t}/online?date=${r}`,{method:"GET",headers:qe()});if(!n.ok)throw new Error("Failed to fetch services");return await n.json()},mc=async e=>{const t=await fetch(`${Ve}/integration/appointment/create`,{method:"POST",headers:qe(),body:JSON.stringify(e)});if(!t.ok)throw new Error("Failed to fetch services");return await t.json()},hc=async(e,t)=>{const r=await fetch(`${Ve}/integration/appointment/details?tenantId=${t}&appointmentId=${e}`,{method:"GET",headers:qe()});if(!r.ok)throw new Error("Failed to fetch appointment details");return await r.json()},yc=async({search:e,tenantId:t})=>{const r=await fetch(`${Ve}/integration/customer/drop-down/list?tenantId=${t}&search=${encodeURIComponent(e||"")}`,{method:"GET",headers:qe()});if(!r.ok)throw new Error("Failed to fetch customers");return await r.json()},vc=async e=>{try{const t=await fetch(`${Ve}/payment/pay/customer/direct`,{method:"POST",headers:qe(),body:JSON.stringify(e)}),r=await t.json();if(!t.ok)throw r;return r}catch(t){throw t}},bc=async e=>{try{const t=await fetch(`${Ve}/payment/orders/${e}/invoicing/finalize`,{method:"POST",headers:qe()}),r=await t.json();if(!t.ok)throw r;return r}catch(t){throw t}},vi=e=>{const t=e?.consent_rule?.frequency??e?.consentFrequency??e?.frequency??"EVERY_VISIT";return t==="EVERY_X_DAYS"||t==="ONCE_PER_CUSTOMER"||t==="EVERY_VISIT"?t:"EVERY_VISIT"},Bs=e=>{const t=!!(e?.requires_consent??e?.requiresConsent),r=String(e?.consent_form_id??e?.consentFormId??"").trim();return t&&!!r},bi=e=>{const t=e?.consent_rule?.channelRules||e?.consent_rule?.channel_rules||[],r=(Array.isArray(t)?t.find(n=>String(n?.channel||"").toUpperCase()==="ONLINE_BOOKING"):null)?.method||e?.enforcement?.ONLINE_BOOKING||e?.enforcement?.online_booking;return r==="DRAW_SIGNATURE"||r==="TYPED_NAME"||r==="CHECKBOX_ONLY"?r:null},$i=async(e,t,r)=>{const n=await fetch(`${Ve}/concent/check/${e}/${t}?serviceId=${r}`,{method:"GET",headers:qe()});if(!n.ok)throw new Error("Failed to check consent requirement");return n.json()},$c=async e=>{const{tenantId:t,outletId:r,appointmentId:n,customerId:a,serviceId:i,formId:o,staffId:s,signatureType:l,isChecked:u,typedName:c,imageUrl:f}=e,m={tenantId:t,appointmentId:n,customerId:a,serviceIds:[i],outletId:r,concentFormId:o,signatureType:l,channel:"Online_Web",staffId:s};l==="CHECKBOX_ONLY"&&(m.isChecked=u??!0),c&&(m.typedName=c),f&&(m.imageUrl=f);const p=await fetch(`${Ve}/concent/customer-sign`,{method:"POST",headers:qe(),body:JSON.stringify(m)}),h=await p.json();if(!p.ok)throw h;return h},cr=Xr("slots/getStaffSlots",async({tenantId:e,staffId:t,date:r})=>await pc(e,t,r)),Us=ze({name:"slots",initialState:{selectedSlotIndexes:[],selectedSlotIds:[],selectedDate:null,selectedTime:null,slots:{morning:[],afternoon:[],evening:[]},loading:!1},reducers:{clearSlots:e=>{e.slots={morning:[],afternoon:[],evening:[]},e.selectedSlotIndexes=[],e.selectedSlotIds=[],e.selectedDate=null,e.selectedTime=null},setSelectedSlots:(e,t)=>{e.selectedSlotIndexes=t.payload.indexes,e.selectedSlotIds=t.payload.ids},setSelectedDate:(e,t)=>{e.selectedDate=t.payload},setSelectedTime:(e,t)=>{e.selectedTime=t.payload}},extraReducers:e=>{e.addCase(cr.pending,t=>{t.loading=!0}).addCase(cr.fulfilled,(t,r)=>{t.loading=!1,t.slots=r.payload?.data?.groups||{morning:[],afternoon:[],evening:[]}}).addCase(cr.rejected,t=>{t.loading=!1})}}),{setSelectedSlots:gi,clearSlots:gc,setSelectedDate:Nt,setSelectedTime:Ni}=Us.actions,Nc=Us.reducer,fr=Xr("appointment/create",async(e,{rejectWithValue:t})=>{try{return await mc(e)}catch(r){return t(r?.message||r?.error||r?.data?.message||r?.response?.data?.message||"Failed to create appointment")}}),Ci={loading:!1,success:!1,error:null,data:null,appointmentId:null,customerId:null,userDetails:null,tipPct:0,bookingMode:"booking"},Vs=ze({name:"appointment",initialState:Ci,reducers:{resetAppointment:()=>Ci,setBookingMode:(e,t)=>{e.bookingMode=t.payload},setUserDetails:(e,t)=>{e.userDetails=t.payload},setTips:(e,t)=>{e.tipPct=t.payload},setAppointmentId:(e,t)=>{e.appointmentId=t.payload},clearUserDetails:e=>{e.userDetails=null}},extraReducers:e=>{e.addCase(fr.pending,t=>{t.loading=!0,t.error=null}).addCase(fr.fulfilled,(t,r)=>{t.loading=!1,t.success=!0,t.data=r.payload;const n=r.payload;t.appointmentId=n?.id||null,t.customerId=n?.customerId||n?.customer?.id||null}).addCase(fr.rejected,(t,r)=>{t.loading=!1,t.error=r.payload||"Appointment failed"})}}),{resetAppointment:Zh,setBookingMode:Xh,setUserDetails:Si,setTips:Cc,setAppointmentId:er,clearUserDetails:Gs}=Vs.actions,Sc=Vs.reducer,Ws=ze({name:"outletList",initialState:{outlets:[]},reducers:{setOutletList:(e,t)=>{e.outlets=t.payload},clearOutletList:e=>{e.outlets=[]}}}),{setOutletList:xc,clearOutletList:Jh}=Ws.actions,Pc=Ws.reducer,zs=ze({name:"theme",initialState:{button:{bg:"#d7263d",text:"#ffffff",bgHover:"#1f2937",textHover:"#ffffff"},colors:{bg:"#fafaf8",link:"#385b5a",text:"#e09898",bgHover:"#4c6f6e",textHover:"#ffffff"},isOpenSidebar:!1},reducers:{setTheme:(e,t)=>{e.button=t.payload?.button,e.colors=t.payload?.colors},setSidebarOpen:(e,t)=>{e&&(e.isOpenSidebar=t.payload)}}}),{setTheme:wc,setSidebarOpen:qt}=zs.actions,_c=zs.reducer;function pr(e){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?pr=function(r){return typeof r}:pr=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},pr(e)}function $n(){}var Oc={getItem:$n,setItem:$n,removeItem:$n};function Ec(e){if((typeof self>"u"?"undefined":pr(self))!=="object"||!(e in self))return!1;try{var t=self[e],r="redux-persist ".concat(e," test");t.setItem(r,"test"),t.getItem(r),t.removeItem(r)}catch{return process.env.NODE_ENV!=="production"&&console.warn("redux-persist ".concat(e," test failed, persistence will be disabled.")),!1}return!0}function jc(e){var t="".concat(e,"Storage");return Ec(t)?self[t]:(process.env.NODE_ENV!=="production"&&console.error("redux-persist failed to create sync storage. falling back to noop storage."),Oc)}function Ic(e){var t=jc(e);return{getItem:function(n){return new Promise(function(a,i){a(t.getItem(n))})},setItem:function(n,a){return new Promise(function(i,o){i(t.setItem(n,a))})},removeItem:function(n){return new Promise(function(a,i){a(t.removeItem(n))})}}}var Tc=(0,Fn.combineReducers)({barber:(0,Fn.combineReducers)({breadcrumbs:nc,outletDetails:sc,service:cc,slots:Nc,appointment:Sc,outletList:Pc,theme:_c})}),Ac=(e,t)=>(t.type==="RESET_ALL"&&(e=void 0),Tc(e,t)),Mc=()=>({getItem(){return Promise.resolve(null)},setItem(e,t){return Promise.resolve(t)},removeItem(){return Promise.resolve()}}),Dc=(0,Ge.persistReducer)({key:"barber-booking",storage:typeof window<"u"?Ic("session"):Mc()},Ac),Jr=ps({reducer:Dc,devTools:process.env.NODE_ENV!=="production",middleware:e=>e({serializableCheck:{ignoredActions:[Ge.FLUSH,Ge.REHYDRATE,Ge.PAUSE,Ge.PERSIST,Ge.PURGE,Ge.REGISTER]}})}),va=(0,Ge.persistStore)(Jr),Qh=Jr.getState;function kc({children:e}){return(0,d.jsx)(z.Provider,{store:Jr,children:(0,d.jsx)(Uo,{loading:null,persistor:va,children:e})})}var Rc=e=>{if(!e)return;const t=document.documentElement;e?.button?.bg&&t.style.setProperty("--btn-bg",e.button.bg),e.button?.text&&t.style.setProperty("--btn-text",e.button.text),e.button?.bgHover&&t.style.setProperty("--btn-bg-hover",e.button.bgHover),e.button?.textHover&&t.style.setProperty("--btn-text-hover",e.button.textHover),e.colors?.bg&&t.style.setProperty("--app-bg",e.colors.bg),e.colors?.link&&t.style.setProperty("--app-link",e.colors.link),e.colors?.text&&t.style.setProperty("--app-text",e.colors.text),e.colors?.bgHover&&t.style.setProperty("--app-bg-hover",e.colors.bgHover),e.colors?.textHover&&t.style.setProperty("--app-text-hover",e.colors.textHover)},qs=(...e)=>e.filter((t,r,n)=>!!t&&t.trim()!==""&&n.indexOf(t)===r).join(" ").trim(),Fc=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Lc=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,r,n)=>n?n.toUpperCase():r.toLowerCase()),xi=e=>{const t=Lc(e);return t.charAt(0).toUpperCase()+t.slice(1)},gn={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"},Bc=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1},Uc=(0,N.createContext)({}),Vc=()=>(0,N.useContext)(Uc),Gc=(0,N.forwardRef)(({color:e,size:t,strokeWidth:r,absoluteStrokeWidth:n,className:a="",children:i,iconNode:o,...s},l)=>{const{size:u=24,strokeWidth:c=2,absoluteStrokeWidth:f=!1,color:m="currentColor",className:p=""}=Vc()??{},h=n??f?Number(r??c)*24/Number(t??u):r??c;return(0,N.createElement)("svg",{ref:l,...gn,width:t??u??gn.width,height:t??u??gn.height,stroke:e??m,strokeWidth:h,className:qs("lucide",p,a),...!i&&!Bc(s)&&{"aria-hidden":"true"},...s},[...o.map(([v,y])=>(0,N.createElement)(v,y)),...Array.isArray(i)?i:[i]])}),Q=(e,t)=>{const r=(0,N.forwardRef)(({className:n,...a},i)=>(0,N.createElement)(Gc,{ref:i,iconNode:t,className:qs(`lucide-${Fc(xi(e))}`,`lucide-${e}`,n),...a}));return r.displayName=xi(e),r},Wc=[["path",{d:"M11 14h1v4",key:"fy54vd"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 2v4",key:"1cmpym"}],["rect",{x:"3",y:"4",width:"18",height:"18",rx:"2",key:"12vinp"}]],zc=Q("calendar-1",Wc),qc=[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 14h.01",key:"6423bh"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M16 14h.01",key:"1gbofw"}],["path",{d:"M8 18h.01",key:"lrp35t"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M16 18h.01",key:"kzsmim"}]],Hc=Q("calendar-days",qc),Kc=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],ba=Q("check",Kc),Yc=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Hs=Q("chevron-down",Yc),Zc=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],Er=Q("chevron-left",Zc),Xc=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],Qr=Q("chevron-right",Xc),Jc=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],Qc=Q("circle-check",Jc),ef=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6h4",key:"135r8i"}]],Ks=Q("clock-3",ef),tf=[["rect",{width:"20",height:"14",x:"2",y:"5",rx:"2",key:"ynyp8z"}],["line",{x1:"2",x2:"22",y1:"10",y2:"10",key:"1b3vmo"}]],rf=Q("credit-card",tf),nf=[["line",{x1:"12",x2:"12",y1:"2",y2:"22",key:"7eqyqh"}],["path",{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6",key:"1b0p4s"}]],Ys=Q("dollar-sign",nf),af=[["path",{d:"M4 10h12",key:"1y6xl8"}],["path",{d:"M4 14h9",key:"1loblj"}],["path",{d:"M19 6a7.7 7.7 0 0 0-5.2-2A7.9 7.9 0 0 0 6 12c0 4.4 3.5 8 7.8 8 2 0 3.8-.8 5.2-2",key:"1j6lzo"}]],of=Q("euro",af),sf=[["path",{d:"M6 3h12",key:"ggurg9"}],["path",{d:"M6 8h12",key:"6g4wlu"}],["path",{d:"m6 13 8.5 8",key:"u1kupk"}],["path",{d:"M6 13h3",key:"wdp6ag"}],["path",{d:"M9 13c6.667 0 6.667-10 0-10",key:"1nkvk2"}]],df=Q("indian-rupee",sf),lf=[["path",{d:"M5 12h14",key:"1ays0h"}]],uf=Q("minus",lf),cf=[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]],ff=Q("moon",cf),pf=[["path",{d:"M6 8L2 12L6 16",key:"kyvwex"}],["path",{d:"M2 12H22",key:"1m8cig"}]],Pi=Q("move-left",pf),mf=[["path",{d:"M18 8L22 12L18 16",key:"1r0oui"}],["path",{d:"M2 12H22",key:"1m8cig"}]],hf=Q("move-right",mf),yf=[["path",{d:"M12 3v6",key:"1holv5"}],["path",{d:"M16.76 3a2 2 0 0 1 1.8 1.1l2.23 4.479a2 2 0 0 1 .21.891V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V9.472a2 2 0 0 1 .211-.894L5.45 4.1A2 2 0 0 1 7.24 3z",key:"187q7i"}],["path",{d:"M3.054 9.013h17.893",key:"grwhos"}]],vf=Q("package-2",yf),bf=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],Zs=Q("plus",bf),$f=[["path",{d:"M18 7c0-5.333-8-5.333-8 0",key:"1prm2n"}],["path",{d:"M10 7v14",key:"18tmcs"}],["path",{d:"M6 21h12",key:"4dkmi1"}],["path",{d:"M6 13h10",key:"ybwr4a"}]],gf=Q("pound-sterling",$f),Nf=[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]],Cf=Q("rotate-cw",Nf),Sf=[["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M8.12 8.12 12 12",key:"1alkpv"}],["path",{d:"M20 4 8.12 15.88",key:"xgtan2"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M14.8 14.8 20 20",key:"ptml3r"}]],xf=Q("scissors",Sf),Pf=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],wf=Q("search",Pf),_f=[["circle",{cx:"8",cy:"21",r:"1",key:"jimo8o"}],["circle",{cx:"19",cy:"21",r:"1",key:"13723u"}],["path",{d:"M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12",key:"9zh506"}]],Of=Q("shopping-cart",_f),Ef=[["path",{d:"M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5",key:"slp6dd"}],["path",{d:"M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244",key:"o0xfot"}],["path",{d:"M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05",key:"wn3emo"}]],jf=Q("store",Ef),If=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]],Tf=Q("sun",If),Af=[["path",{d:"M12 2v8",key:"1q4o3n"}],["path",{d:"m4.93 10.93 1.41 1.41",key:"2a7f42"}],["path",{d:"M2 18h2",key:"j10viu"}],["path",{d:"M20 18h2",key:"wocana"}],["path",{d:"m19.07 10.93-1.41 1.41",key:"15zs5n"}],["path",{d:"M22 22H2",key:"19qnx5"}],["path",{d:"m8 6 4-4 4 4",key:"ybng9g"}],["path",{d:"M16 18a4 4 0 0 0-8 0",key:"1lzouq"}]],Mf=Q("sunrise",Af),Df=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],en=Q("x",Df),kf={USD:Ys,INR:df,EUR:of,GBP:gf},be=({size:e=20})=>{const t=(0,z.useSelector)(r=>r.barber.outletDetails?.currency);return(0,d.jsx)(t?kf[t]:Ys,{size:e})},tn=(e="")=>{const t=e.trim().split(" ").filter(Boolean);return t.length===0?"":((t[0]?.[0]??"")+(t.length>1?t[t.length-1]?.[0]??"":"")).toUpperCase()},Rf=e=>Number(e.price||e.min_price||0),wi=(e,{perUnit:t=!1}={})=>{const r=Rf(e),n=t?1:e.qty||1;return!e.taxRows||!e.taxRows.length?0:e.taxRows.reduce((a,i)=>i.isActive?i.taxType==="FIXED"?a+(i.taxRate||0)*n:i.taxType==="PERCENTAGE"?a+r*n*(i.taxRate||0)/100:a:a,0)};function Ff(){const e=(0,z.useDispatch)(),{staff:t,selectedProfessional:r}=(0,z.useSelector)(o=>o.barber.service),n=!t||t.length===0,a=o=>{if(!o?.futureLeaveDates?.length)return{isOnLeave:!1,availableFrom:null};const s=new Date,l=o.futureLeaveDates.find(u=>{if(u.status!=="APPROVED"||u.leaveType!=="FULL_DAY")return!1;const c=new Date(u.startDate),f=new Date(u.endDate);return s>=c&&s<=f});return l?.returnDate?.date?{isOnLeave:!0,availableFrom:new Date(l.returnDate.date).toLocaleDateString("en-GB",{day:"2-digit",month:"short",year:"numeric"})}:{isOnLeave:!1,availableFrom:null}},i=o=>{e(uc(o)),e(Nt(null)),e(Le())};return(0,d.jsxs)("div",{className:"aaravpos-barber-main-content",children:[n&&(0,d.jsx)("p",{className:"aaravpos-barber-no-staff",children:"No staff available"}),(0,d.jsx)("div",{className:"aaravpos-barber-professional-wrapper",children:(0,d.jsx)("div",{className:"aaravpos-barber-professional-grid",children:t?.map((o,s)=>{const{isOnLeave:l,availableFrom:u}=a(o);return(0,d.jsxs)("div",{className:`aaravpos-barber-professional-card ${r?.id===o.id?"active":""}`,onClick:()=>i(o),children:[(0,d.jsxs)("div",{className:"aaravpos-barber-professional-image-wrapper",children:[o.imageUrl?(0,d.jsx)("img",{src:o.imageUrl,alt:o.name,className:"aaravpos-barber-professional-image"}):(0,d.jsx)("div",{className:"aaravpos-barber-professional-avatar",style:{background:o.color||"#111"},children:tn(o.name)}),(0,d.jsx)("div",{className:"aaravpos-barber-professional-rating",children:"★ 4.8"}),(0,d.jsxs)("div",{className:"aaravpos-barber-professional-overlay",children:[(0,d.jsx)("h3",{className:"aaravpos-barber-professional-name",children:o.name}),(0,d.jsx)("p",{className:"aaravpos-barber-professional-role",children:o.staff_type||"Senior Specialist"})]})]}),l&&u&&(0,d.jsxs)("div",{className:"aaravpos-barber-available-badge",children:[(0,d.jsx)("span",{className:"aaravpos-barber-available-dot"}),(0,d.jsxs)("p",{className:"aaravpos-barber-available-text",children:["Available from ",u]})]}),(0,d.jsx)("button",{className:"aaravpos-barber-professional-btn",children:"BOOK"})]},s)})})})]})}function Lf(){const[e,t]=(0,N.useState)({width:0,height:0});return(0,N.useEffect)(()=>{const r=()=>{t({width:window.innerWidth,height:window.innerHeight})};return r(),window.addEventListener("resize",r),()=>{window.removeEventListener("resize",r)}},[]),e}var rt=[{label:"Service",page:"services",icon:(0,d.jsx)(xf,{size:16})},{label:"Time",page:"time",icon:(0,d.jsx)(Ks,{size:16})},{label:"Done",page:"confirm",icon:(0,d.jsx)(Qc,{size:16})}],_i={services:0,time:1,confirm:2};function $a(){const e=(0,z.useDispatch)(),{width:t}=Lf(),{currentStep:r,completedSteps:n}=(0,z.useSelector)(p=>p.barber.breadcrumbs),a=rt.findIndex(p=>p.page===r),{selectedServices:i}=(0,z.useSelector)(p=>p.barber.service),{isOpenSidebar:o}=(0,z.useSelector)(p=>p.barber.theme),s=()=>{va.purge(),e({type:"RESET_ALL"})},l=p=>{const h=rt.findIndex(y=>y.page===r),v=rt.findIndex(y=>y.page===p);v<h&&(e(rc(p)),v<=_i.time&&e(gc()),v<=_i.confirm&&e(Gs())),e(tc(p))},u=()=>{if(a===0){s(),e(ac());return}const p=rt[a-1];p&&l(p.page)},c=rt[a],f=t<991,m=i?.reduce((p,h)=>p+h.qty,0);return(0,d.jsx)(d.Fragment,{children:f?(0,d.jsxs)("div",{className:"aaravpos-barber-mobile-stepper",children:[(0,d.jsx)("button",{onClick:u,className:"aaravpos-barber-mobile-back-btn",children:(0,d.jsx)(Er,{size:20})}),(0,d.jsx)("span",{className:"aaravpos-barber-mobile-step-label",children:c?.label})]}):(0,d.jsxs)("div",{className:"aaravpos-barber-desktop-stepper",children:[(0,d.jsx)("button",{onClick:u,className:"aaravpos-barber-desktop-back-btn",children:(0,d.jsx)(Er,{size:20})}),(0,d.jsx)("nav",{className:"aaravpos-barber-step-nav",children:rt.map(p=>{const h=r===p.page,v=n?.includes(p.page)||r===p.page;return(0,d.jsxs)("button",{onClick:()=>{v&&l(p.page)},className:`aaravpos-barber-step-btn
15
+ (See https://redux.js.org/faq/organizing-state#can-i-put-functions-promises-or-other-non-serializable-items-in-my-store-state)`)}}),v.warnIfExceeded()),h}}}function Jt(e){return typeof e=="boolean"}var du=()=>function(t){const{thunk:r=!0,immutableCheck:n=!0,serializableCheck:a=!0,actionCreatorCheck:i=!0}=t??{};let o=new la;if(r&&(Jt(r)?o.push(ru):o.push(nu(r.extraArgument))),process.env.NODE_ENV!=="production"){if(n){let s={};Jt(n)||(s=n),o.unshift(ls(s))}if(a){let s={};Jt(a)||(s=a),o.push(cs(s))}if(i){let s={};Jt(i)||(s=i),o.unshift(as(s))}}return o},ca="RTK_autoBatch",lu=()=>e=>({payload:e,meta:{[ca]:!0}}),si=e=>t=>{setTimeout(t,e)},fs=(e={type:"raf"})=>t=>(...r)=>{const n=t(...r);let a=!0,i=!1,o=!1;const s=new Set,l=e.type==="tick"?queueMicrotask:e.type==="raf"?typeof window<"u"&&window.requestAnimationFrame?window.requestAnimationFrame:si(10):e.type==="callback"?e.queueNotification:si(e.timeout),u=()=>{o=!1,i&&(i=!1,s.forEach(c=>c()))};return Object.assign({},n,{subscribe(c){const f=()=>a&&c(),m=n.subscribe(f);return s.add(c),()=>{m(),s.delete(c)}},dispatch(c){try{return a=!c?.meta?.[ca],i=!a,i&&(o||(o=!0,l(u))),n.dispatch(c)}finally{a=!0}}})},uu=e=>function(r){const{autoBatch:n=!0}=r??{};let a=new la(e);return n&&a.push(fs(typeof n=="object"?n:void 0)),a};function ps(e){const t=du(),{reducer:r=void 0,middleware:n,devTools:a=!0,duplicateMiddlewareCheck:i=!0,preloadedState:o=void 0,enhancers:s=void 0}=e||{};let l;if(typeof r=="function")l=r;else if((0,Ne.isPlainObject)(r))l=(0,Ne.combineReducers)(r);else throw new Error(process.env.NODE_ENV==="production"?Y(1):"`reducer` is a required argument, and must be a function or an object of functions that can be passed to combineReducers");if(process.env.NODE_ENV!=="production"&&n&&typeof n!="function")throw new Error(process.env.NODE_ENV==="production"?Y(2):"`middleware` field must be a callback");let u;if(typeof n=="function"){if(u=n(t),process.env.NODE_ENV!=="production"&&!Array.isArray(u))throw new Error(process.env.NODE_ENV==="production"?Y(3):"when using a middleware builder function, an array of middleware must be returned")}else u=t();if(process.env.NODE_ENV!=="production"&&u.some(v=>typeof v!="function"))throw new Error(process.env.NODE_ENV==="production"?Y(4):"each middleware provided to configureStore must be a function");if(process.env.NODE_ENV!=="production"&&i){let v=new Set;u.forEach(y=>{if(v.has(y))throw new Error(process.env.NODE_ENV==="production"?Y(42):"Duplicate middleware references found when creating the store. Ensure that each middleware is only included once.");v.add(y)})}let c=Ne.compose;a&&(c=au({trace:process.env.NODE_ENV!=="production",...typeof a=="object"&&a}));const f=(0,Ne.applyMiddleware)(...u),m=uu(f);if(process.env.NODE_ENV!=="production"&&s&&typeof s!="function")throw new Error(process.env.NODE_ENV==="production"?Y(5):"`enhancers` field must be a callback");let p=typeof s=="function"?s(m):m();if(process.env.NODE_ENV!=="production"&&!Array.isArray(p))throw new Error(process.env.NODE_ENV==="production"?Y(6):"`enhancers` callback must return an array");if(process.env.NODE_ENV!=="production"&&p.some(v=>typeof v!="function"))throw new Error(process.env.NODE_ENV==="production"?Y(7):"each enhancer provided to configureStore must be a function");process.env.NODE_ENV!=="production"&&u.length&&!p.includes(f)&&console.error("middlewares were provided, but middleware enhancer was not included in final enhancers - make sure to call `getDefaultEnhancers`");const h=c(...p);return(0,Ne.createStore)(l,o,h)}function ms(e){const t={},r=[];let n;const a={addCase(i,o){if(process.env.NODE_ENV!=="production"){if(r.length>0)throw new Error(process.env.NODE_ENV==="production"?Y(26):"`builder.addCase` should only be called before calling `builder.addMatcher`");if(n)throw new Error(process.env.NODE_ENV==="production"?Y(27):"`builder.addCase` should only be called before calling `builder.addDefaultCase`")}const s=typeof i=="string"?i:i.type;if(!s)throw new Error(process.env.NODE_ENV==="production"?Y(28):"`builder.addCase` cannot be called with an empty action type");if(s in t)throw new Error(process.env.NODE_ENV==="production"?Y(29):`\`builder.addCase\` cannot be called with two reducers for the same action type '${s}'`);return t[s]=o,a},addAsyncThunk(i,o){if(process.env.NODE_ENV!=="production"&&n)throw new Error(process.env.NODE_ENV==="production"?Y(43):"`builder.addAsyncThunk` should only be called before calling `builder.addDefaultCase`");return o.pending&&(t[i.pending.type]=o.pending),o.rejected&&(t[i.rejected.type]=o.rejected),o.fulfilled&&(t[i.fulfilled.type]=o.fulfilled),o.settled&&r.push({matcher:i.settled,reducer:o.settled}),a},addMatcher(i,o){if(process.env.NODE_ENV!=="production"&&n)throw new Error(process.env.NODE_ENV==="production"?Y(30):"`builder.addMatcher` should only be called before calling `builder.addDefaultCase`");return r.push({matcher:i,reducer:o}),a},addDefaultCase(i){if(process.env.NODE_ENV!=="production"&&n)throw new Error(process.env.NODE_ENV==="production"?Y(31):"`builder.addDefaultCase` can only be called once");return n=i,a}};return e(a),[t,r,n]}function cu(e){return typeof e=="function"}function hs(e,t){if(process.env.NODE_ENV!=="production"&&typeof t=="object")throw new Error(process.env.NODE_ENV==="production"?Y(8):"The object notation for `createReducer` has been removed. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createReducer");let[r,n,a]=ms(t),i;if(cu(e))i=()=>oi(e());else{const s=oi(e);i=()=>s}function o(s=i(),l){let u=[r[l.type],...n.filter(({matcher:c})=>c(l)).map(({reducer:c})=>c)];return u.filter(c=>!!c).length===0&&(u=[a]),u.reduce((c,f)=>{if(f)if(Se(c)){const m=f(c,l);return m===void 0?c:m}else{if(Te(c))return Kr(c,m=>f(m,l));{const m=f(c,l);if(m===void 0){if(c===null)return c;throw Error("A case reducer on a non-draftable value must not return undefined")}return m}}return c},s)}return o.getInitialState=i,o}var ys=(e,t)=>ts(e)?e.match(t):e(t);function ht(...e){return t=>e.some(r=>ys(r,t))}function Pr(...e){return t=>e.every(r=>ys(r,t))}function Zr(e,t){if(!e||!e.meta)return!1;const r=typeof e.meta.requestId=="string",n=t.indexOf(e.meta.requestStatus)>-1;return r&&n}function Vt(e){return typeof e[0]=="function"&&"pending"in e[0]&&"fulfilled"in e[0]&&"rejected"in e[0]}function vs(...e){return e.length===0?t=>Zr(t,["pending"]):Vt(e)?ht(...e.map(t=>t.pending)):vs()(e[0])}function wr(...e){return e.length===0?t=>Zr(t,["rejected"]):Vt(e)?ht(...e.map(t=>t.rejected)):wr()(e[0])}function bs(...e){const t=r=>r&&r.meta&&r.meta.rejectedWithValue;return e.length===0?Pr(wr(...e),t):Vt(e)?Pr(wr(...e),t):bs()(e[0])}function $s(...e){return e.length===0?t=>Zr(t,["fulfilled"]):Vt(e)?ht(...e.map(t=>t.fulfilled)):$s()(e[0])}function gs(...e){return e.length===0?t=>Zr(t,["pending","fulfilled","rejected"]):Vt(e)?ht(...e.flatMap(t=>[t.pending,t.rejected,t.fulfilled])):gs()(e[0])}var fu="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",Gt=(e=21)=>{let t="",r=e;for(;r--;)t+=fu[Math.random()*64|0];return t},pu=["name","message","stack","code"],bn=class{constructor(e,t){this.payload=e,this.meta=t}_type},di=class{constructor(e,t){this.payload=e,this.meta=t}_type},Ns=e=>{if(typeof e=="object"&&e!==null){const t={};for(const r of pu)typeof e[r]=="string"&&(t[r]=e[r]);return t}return{message:String(e)}},li="External signal was aborted",Xr=(()=>{function e(t,r,n){const a=je(t+"/fulfilled",(l,u,c,f)=>({payload:l,meta:{...f||{},arg:c,requestId:u,requestStatus:"fulfilled"}})),i=je(t+"/pending",(l,u,c)=>({payload:void 0,meta:{...c||{},arg:u,requestId:l,requestStatus:"pending"}})),o=je(t+"/rejected",(l,u,c,f,m)=>({payload:f,error:(n&&n.serializeError||Ns)(l||"Rejected"),meta:{...m||{},arg:c,requestId:u,rejectedWithValue:!!f,requestStatus:"rejected",aborted:l?.name==="AbortError",condition:l?.name==="ConditionError"}}));function s(l,{signal:u}={}){return(c,f,m)=>{const p=n?.idGenerator?n.idGenerator(l):Gt(),h=new AbortController;let v,y;function $(b){y=b,h.abort()}u&&(u.aborted?$(li):u.addEventListener("abort",()=>$(li),{once:!0}));const S=(async function(){let b;try{let x=n?.condition?.(l,{getState:f,extra:m});if(mu(x)&&(x=await x),x===!1||h.signal.aborted)throw{name:"ConditionError",message:"Aborted due to condition callback returning false."};const w=new Promise((g,j)=>{v=()=>{j({name:"AbortError",message:y||"Aborted"})},h.signal.addEventListener("abort",v,{once:!0})});c(i(p,l,n?.getPendingMeta?.({requestId:p,arg:l},{getState:f,extra:m}))),b=await Promise.race([w,Promise.resolve(r(l,{dispatch:c,getState:f,extra:m,requestId:p,signal:h.signal,abort:$,rejectWithValue:(g,j)=>new bn(g,j),fulfillWithValue:(g,j)=>new di(g,j)})).then(g=>{if(g instanceof bn)throw g;return g instanceof di?a(g.payload,p,l,g.meta):a(g,p,l)})])}catch(x){b=x instanceof bn?o(null,p,l,x.payload,x.meta):o(x,p,l)}finally{v&&h.signal.removeEventListener("abort",v)}return n&&!n.dispatchConditionRejection&&o.match(b)&&b.meta.condition||c(b),b})();return Object.assign(S,{abort:$,requestId:p,arg:l,unwrap(){return S.then(Cs)}})}}return Object.assign(s,{pending:i,rejected:o,fulfilled:a,settled:ht(o,a),typePrefix:t})}return e.withTypes=()=>e,e})();function Cs(e){if(e.meta&&e.meta.rejectedWithValue)throw e.payload;if(e.error)throw e.error;return e.payload}function mu(e){return e!==null&&typeof e=="object"&&typeof e.then=="function"}var Ss=Symbol.for("rtk-slice-createasyncthunk"),hu={[Ss]:Xr},xs=(e=>(e.reducer="reducer",e.reducerWithPrepare="reducerWithPrepare",e.asyncThunk="asyncThunk",e))(xs||{});function yu(e,t){return`${e}/${t}`}function Ps({creators:e}={}){const t=e?.asyncThunk?.[Ss];return function(n){const{name:a,reducerPath:i=a}=n;if(!a)throw new Error(process.env.NODE_ENV==="production"?Y(11):"`name` is a required option for createSlice");typeof process<"u"&&process.env.NODE_ENV==="development"&&n.initialState===void 0&&console.error("You must provide an `initialState` value that is not `undefined`. You may have misspelled `initialState`");const o=(typeof n.reducers=="function"?n.reducers(bu()):n.reducers)||{},s=Object.keys(o),l={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},u={addCase(b,x){const w=typeof b=="string"?b:b.type;if(!w)throw new Error(process.env.NODE_ENV==="production"?Y(12):"`context.addCase` cannot be called with an empty action type");if(w in l.sliceCaseReducersByType)throw new Error(process.env.NODE_ENV==="production"?Y(13):"`context.addCase` cannot be called with two reducers for the same action type: "+w);return l.sliceCaseReducersByType[w]=x,u},addMatcher(b,x){return l.sliceMatchers.push({matcher:b,reducer:x}),u},exposeAction(b,x){return l.actionCreators[b]=x,u},exposeCaseReducer(b,x){return l.sliceCaseReducersByName[b]=x,u}};s.forEach(b=>{const x=o[b],w={reducerName:b,type:yu(a,b),createNotation:typeof n.reducers=="function"};gu(x)?Cu(w,x,u,t):$u(w,x,u)});function c(){if(process.env.NODE_ENV!=="production"&&typeof n.extraReducers=="object")throw new Error(process.env.NODE_ENV==="production"?Y(14):"The object notation for `createSlice.extraReducers` has been removed. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createSlice");const[b={},x=[],w=void 0]=typeof n.extraReducers=="function"?ms(n.extraReducers):[n.extraReducers],g={...b,...l.sliceCaseReducersByType};return hs(n.initialState,j=>{for(let M in g)j.addCase(M,g[M]);for(let M of l.sliceMatchers)j.addMatcher(M.matcher,M.reducer);for(let M of x)j.addMatcher(M.matcher,M.reducer);w&&j.addDefaultCase(w)})}const f=b=>b,m=new Map,p=new WeakMap;let h;function v(b,x){return h||(h=c()),h(b,x)}function y(){return h||(h=c()),h.getInitialState()}function $(b,x=!1){function w(j){let M=j[b];if(typeof M>"u"){if(x)M=Ze(p,w,y);else if(process.env.NODE_ENV!=="production")throw new Error(process.env.NODE_ENV==="production"?Y(15):"selectSlice returned undefined for an uninjected slice reducer")}return M}function g(j=f){return Ze(Ze(m,x,()=>new WeakMap),j,()=>{const M={};for(const[q,Z]of Object.entries(n.selectors??{}))M[q]=vu(Z,j,()=>Ze(p,j,y),x);return M})}return{reducerPath:b,getSelectors:g,get selectors(){return g(w)},selectSlice:w}}const S={name:a,reducer:v,actions:l.actionCreators,caseReducers:l.sliceCaseReducersByName,getInitialState:y,...$(i),injectInto(b,{reducerPath:x,...w}={}){const g=x??i;return b.inject({reducerPath:g,reducer:v},w),{...S,...$(g,!0)}}};return S}}function vu(e,t,r,n){function a(i,...o){let s=t(i);if(typeof s>"u"){if(n)s=r();else if(process.env.NODE_ENV!=="production")throw new Error(process.env.NODE_ENV==="production"?Y(16):"selectState returned undefined for an uninjected slice reducer")}return e(s,...o)}return a.unwrapped=e,a}var ze=Ps();function bu(){function e(t,r){return{_reducerDefinitionType:"asyncThunk",payloadCreator:t,...r}}return e.withTypes=()=>e,{reducer(t){return Object.assign({[t.name](...r){return t(...r)}}[t.name],{_reducerDefinitionType:"reducer"})},preparedReducer(t,r){return{_reducerDefinitionType:"reducerWithPrepare",prepare:t,reducer:r}},asyncThunk:e}}function $u({type:e,reducerName:t,createNotation:r},n,a){let i,o;if("reducer"in n){if(r&&!Nu(n))throw new Error(process.env.NODE_ENV==="production"?Y(17):"Please use the `create.preparedReducer` notation for prepared action creators with the `create` notation.");i=n.reducer,o=n.prepare}else i=n;a.addCase(e,i).exposeCaseReducer(t,i).exposeAction(t,o?je(e,o):je(e))}function gu(e){return e._reducerDefinitionType==="asyncThunk"}function Nu(e){return e._reducerDefinitionType==="reducerWithPrepare"}function Cu({type:e,reducerName:t},r,n,a){if(!a)throw new Error(process.env.NODE_ENV==="production"?Y(18):"Cannot use `create.asyncThunk` in the built-in `createSlice`. Use `buildCreateSlice({ creators: { asyncThunk: asyncThunkCreator } })` to create a customised version of `createSlice`.");const{payloadCreator:i,fulfilled:o,pending:s,rejected:l,settled:u,options:c}=r,f=a(e,i,c);n.exposeAction(t,f),o&&n.addCase(f.fulfilled,o),s&&n.addCase(f.pending,s),l&&n.addCase(f.rejected,l),u&&n.addMatcher(f.settled,u),n.exposeCaseReducer(t,{fulfilled:o||Qt,pending:s||Qt,rejected:l||Qt,settled:u||Qt})}function Qt(){}function Su(){return{ids:[],entities:{}}}function xu(e){function t(r={},n){const a=Object.assign(Su(),r);return n?e.setAll(a,n):a}return{getInitialState:t}}function Pu(){function e(t,r={}){const{createSelector:n=es}=r,a=f=>f.ids,i=f=>f.entities,o=n(a,i,(f,m)=>f.map(p=>m[p])),s=(f,m)=>m,l=(f,m)=>f[m],u=n(a,f=>f.length);if(!t)return{selectIds:a,selectEntities:i,selectAll:o,selectTotal:u,selectById:n(i,s,l)};const c=n(t,i);return{selectIds:n(t,a),selectEntities:c,selectAll:n(t,o),selectTotal:n(t,u),selectById:n(c,s,l)}}return{getSelectors:e}}var wu=Se;function _u(e){const t=oe((r,n)=>e(n));return function(n){return t(n,void 0)}}function oe(e){return function(r,n){function a(o){return ns(o)}const i=o=>{a(n)?e(n.payload,o):e(n,o)};return wu(r)?(i(r),r):Kr(r,i)}}function it(e,t){const r=t(e);return process.env.NODE_ENV!=="production"&&r===void 0&&console.warn("The entity passed to the `selectId` implementation returned undefined.","You should probably provide your own `selectId` implementation.","The entity that was passed:",e,"The `selectId` implementation:",t.toString()),r}function We(e){return Array.isArray(e)||(e=Object.values(e)),e}function ur(e){return Se(e)?Hr(e):e}function ws(e,t,r){e=We(e);const n=ur(r.ids),a=new Set(n),i=[],o=new Set([]),s=[];for(const l of e){const u=it(l,t);a.has(u)||o.has(u)?s.push({id:u,changes:l}):(o.add(u),i.push(l))}return[i,s,n]}function _s(e){function t(h,v){const y=it(h,e);y in v.entities||(v.ids.push(y),v.entities[y]=h)}function r(h,v){h=We(h);for(const y of h)t(y,v)}function n(h,v){const y=it(h,e);y in v.entities||v.ids.push(y),v.entities[y]=h}function a(h,v){h=We(h);for(const y of h)n(y,v)}function i(h,v){h=We(h),v.ids=[],v.entities={},r(h,v)}function o(h,v){return s([h],v)}function s(h,v){let y=!1;h.forEach($=>{$ in v.entities&&(delete v.entities[$],y=!0)}),y&&(v.ids=v.ids.filter($=>$ in v.entities))}function l(h){Object.assign(h,{ids:[],entities:{}})}function u(h,v,y){const $=y.entities[v.id];if($===void 0)return!1;const S=Object.assign({},$,v.changes),b=it(S,e),x=b!==v.id;return x&&(h[v.id]=b,delete y.entities[v.id]),y.entities[b]=S,x}function c(h,v){return f([h],v)}function f(h,v){const y={},$={};h.forEach(S=>{S.id in v.entities&&($[S.id]={id:S.id,changes:{...$[S.id]?.changes,...S.changes}})}),h=Object.values($),h.length>0&&h.filter(S=>u(y,S,v)).length>0&&(v.ids=Object.values(v.entities).map(S=>it(S,e)))}function m(h,v){return p([h],v)}function p(h,v){const[y,$]=ws(h,e,v);r(y,v),f($,v)}return{removeAll:_u(l),addOne:oe(t),addMany:oe(r),setOne:oe(n),setMany:oe(a),setAll:oe(i),updateOne:oe(c),updateMany:oe(f),upsertOne:oe(m),upsertMany:oe(p),removeOne:oe(o),removeMany:oe(s)}}function Ou(e,t,r){let n=0,a=e.length;for(;n<a;){let i=n+a>>>1;const o=e[i];r(t,o)>=0?n=i+1:a=i}return n}function Eu(e,t,r){const n=Ou(e,t,r);return e.splice(n,0,t),e}function ju(e,t){const{removeOne:r,removeMany:n,removeAll:a}=_s(e);function i(y,$){return o([y],$)}function o(y,$,S){y=We(y);const b=new Set(S??ur($.ids)),x=new Set,w=y.filter(g=>{const j=it(g,e),M=!x.has(j);return M&&x.add(j),!b.has(j)&&M});w.length!==0&&v($,w)}function s(y,$){return l([y],$)}function l(y,$){let S={};if(y=We(y),y.length!==0){for(const b of y){const x=e(b);S[x]=b,delete $.entities[x]}y=We(S),v($,y)}}function u(y,$){y=We(y),$.entities={},$.ids=[],o(y,$,[])}function c(y,$){return f([y],$)}function f(y,$){let S=!1,b=!1;for(let x of y){const w=$.entities[x.id];if(!w)continue;S=!0,Object.assign(w,x.changes);const g=e(w);if(x.id!==g){b=!0,delete $.entities[x.id];const j=$.ids.indexOf(x.id);$.ids[j]=g,$.entities[g]=w}}S&&v($,[],S,b)}function m(y,$){return p([y],$)}function p(y,$){const[S,b,x]=ws(y,e,$);S.length&&o(S,$,x),b.length&&f(b,$)}function h(y,$){if(y.length!==$.length)return!1;for(let S=0;S<y.length;S++)if(y[S]!==$[S])return!1;return!0}const v=(y,$,S,b)=>{const x=ur(y.entities),w=ur(y.ids),g=y.entities;let j=w;b&&(j=new Set(w));let M=[];for(const te of j){const le=x[te];le&&M.push(le)}const q=M.length===0;for(const te of $)g[e(te)]=te,q||Eu(M,te,t);q?M=$.slice().sort(t):S&&M.sort(t);const Z=M.map(e);h(w,Z)||(y.ids=Z)};return{removeOne:r,removeMany:n,removeAll:a,addOne:oe(i),updateOne:oe(c),upsertOne:oe(m),setOne:oe(s),setMany:oe(l),setAll:oe(u),addMany:oe(o),updateMany:oe(f),upsertMany:oe(p)}}function Iu(e={}){const{selectId:t,sortComparer:r}={sortComparer:!1,selectId:o=>o.id,...e},n=r?ju(t,r):_s(t),a=xu(n),i=Pu();return{selectId:t,sortComparer:r,...a,...i,...n}}var Tu="task",Os="listener",Es="completed",fa="cancelled",Au=`task-${fa}`,Mu=`task-${Es}`,Ln=`${Os}-${fa}`,Du=`${Os}-${Es}`,Wt=class{constructor(e){this.code=e,this.message=`${Tu} ${fa} (reason: ${e})`}name="TaskAbortError";message},pa=(e,t)=>{if(typeof e!="function")throw new TypeError(process.env.NODE_ENV==="production"?Y(32):`${t} is not a function`)},_r=()=>{},js=(e,t=_r)=>(e.catch(t),e),Is=(e,t)=>(e.addEventListener("abort",t,{once:!0}),()=>e.removeEventListener("abort",t)),Xe=e=>{if(e.aborted)throw new Wt(e.reason)};function Ts(e,t){let r=_r;return new Promise((n,a)=>{const i=()=>a(new Wt(e.reason));if(e.aborted){i();return}r=Is(e,i),t.finally(()=>r()).then(n,a)}).finally(()=>{r=_r})}var ku=async(e,t)=>{try{return await Promise.resolve(),{status:"ok",value:await e()}}catch(r){return{status:r instanceof Wt?"cancelled":"rejected",error:r}}finally{t?.()}},Or=e=>t=>js(Ts(e,t).then(r=>(Xe(e),r))),As=e=>{const t=Or(e);return r=>t(new Promise(n=>setTimeout(n,r)))},{assign:st}=Object,ui={},zt="listenerMiddleware",Ru=(e,t)=>{const r=n=>Is(e,()=>n.abort(e.reason));return(n,a)=>{pa(n,"taskExecutor");const i=new AbortController;r(i);const o=ku(async()=>{Xe(e),Xe(i.signal);const s=await n({pause:Or(i.signal),delay:As(i.signal),signal:i.signal});return Xe(i.signal),s},()=>i.abort(Mu));return a?.autoJoin&&t.push(o.catch(_r)),{result:Or(e)(o),cancel(){i.abort(Au)}}}},Fu=(e,t)=>{const r=async(n,a)=>{Xe(t);let i=()=>{};const o=[new Promise((s,l)=>{let u=e({predicate:n,effect:(c,f)=>{f.unsubscribe(),s([c,f.getState(),f.getOriginalState()])}});i=()=>{u(),l()}})];a!=null&&o.push(new Promise(s=>setTimeout(s,a,null)));try{const s=await Ts(t,Promise.race(o));return Xe(t),s}finally{i()}};return(n,a)=>js(r(n,a))},Ms=e=>{let{type:t,actionCreator:r,matcher:n,predicate:a,effect:i}=e;if(t)a=je(t).match;else if(r)t=r.type,a=r.match;else if(n)a=n;else if(!a)throw new Error(process.env.NODE_ENV==="production"?Y(21):"Creating or removing a listener requires one of the known fields for matching an action");return pa(i,"options.listener"),{predicate:a,type:t,effect:i}},Ds=st(e=>{const{type:t,predicate:r,effect:n}=Ms(e);return{id:Gt(),effect:n,type:t,predicate:r,pending:new Set,unsubscribe:()=>{throw new Error(process.env.NODE_ENV==="production"?Y(22):"Unsubscribe not initialized")}}},{withTypes:()=>Ds}),ci=(e,t)=>{const{type:r,effect:n,predicate:a}=Ms(t);return Array.from(e.values()).find(i=>(typeof r=="string"?i.type===r:i.predicate===a)&&i.effect===n)},Bn=e=>{e.pending.forEach(t=>{t.abort(Ln)})},Lu=(e,t)=>()=>{for(const r of t.keys())Bn(r);e.clear()},fi=(e,t,r)=>{try{e(t,r)}catch(n){setTimeout(()=>{throw n},0)}},ma=st(je(`${zt}/add`),{withTypes:()=>ma}),ks=je(`${zt}/removeAll`),ha=st(je(`${zt}/remove`),{withTypes:()=>ha}),Bu=(...e)=>{console.error(`${zt}/error`,...e)},Uu=(e={})=>{const t=new Map,r=new Map,n=p=>{const h=r.get(p)??0;r.set(p,h+1)},a=p=>{const h=r.get(p)??1;h===1?r.delete(p):r.set(p,h-1)},{extra:i,onError:o=Bu}=e;pa(o,"onError");const s=p=>(p.unsubscribe=()=>t.delete(p.id),t.set(p.id,p),h=>{p.unsubscribe(),h?.cancelActive&&Bn(p)}),l=p=>s(ci(t,p)??Ds(p));st(l,{withTypes:()=>l});const u=p=>{const h=ci(t,p);return h&&(h.unsubscribe(),p.cancelActive&&Bn(h)),!!h};st(u,{withTypes:()=>u});const c=async(p,h,v,y)=>{const $=new AbortController,S=Fu(l,$.signal),b=[];try{p.pending.add($),n(p),await Promise.resolve(p.effect(h,st({},v,{getOriginalState:y,condition:(x,w)=>S(x,w).then(Boolean),take:S,delay:As($.signal),pause:Or($.signal),extra:i,signal:$.signal,fork:Ru($.signal,b),unsubscribe:p.unsubscribe,subscribe:()=>{t.set(p.id,p)},cancelActiveListeners:()=>{p.pending.forEach((x,w,g)=>{x!==$&&(x.abort(Ln),g.delete(x))})},cancel:()=>{$.abort(Ln),p.pending.delete($)},throwIfCancelled:()=>{Xe($.signal)}})))}catch(x){x instanceof Wt||fi(o,x,{raisedBy:"effect"})}finally{await Promise.all(b),$.abort(Du),a(p),p.pending.delete($)}},f=Lu(t,r);return{middleware:p=>h=>v=>{if(!(0,Ne.isAction)(v))return h(v);if(ma.match(v))return l(v.payload);if(ks.match(v)){f();return}if(ha.match(v))return u(v.payload);let y=p.getState();const $=()=>{if(y===ui)throw new Error(process.env.NODE_ENV==="production"?Y(23):`${zt}: getOriginalState can only be called synchronously`);return y};let S;try{if(S=h(v),t.size>0){const b=p.getState(),x=Array.from(t.values());for(const w of x){let g=!1;try{g=w.predicate(v,b,y)}catch(j){g=!1,fi(o,j,{raisedBy:"predicate"})}g&&c(w,v,p,$)}}}finally{y=ui}return S},startListening:l,stopListening:u,clearListeners:f}},Vu=e=>({middleware:e,applied:new Map}),Gu=e=>t=>t?.meta?.instanceId===e,Wu=()=>{const e=Gt(),t=new Map,r=Object.assign(je("dynamicMiddleware/add",(...s)=>({payload:s,meta:{instanceId:e}})),{withTypes:()=>r}),n=Object.assign(function(...l){l.forEach(u=>{Ze(t,u,Vu)})},{withTypes:()=>n}),a=s=>(0,Ne.compose)(...Array.from(t.values()).map(l=>Ze(l.applied,s,l.middleware))),i=Pr(r,Gu(e));return{middleware:s=>l=>u=>i(u)?(n(...u.payload),s.dispatch):a(s)(l)(u),addMiddleware:n,withMiddleware:r,instanceId:e}},zu=e=>"reducerPath"in e&&typeof e.reducerPath=="string",qu=e=>e.flatMap(t=>zu(t)?[[t.reducerPath,t.reducer]]:Object.entries(t)),ya=Symbol.for("rtk-state-proxy-original"),Hu=e=>!!e&&!!e[ya],Ku=new WeakMap,Yu=(e,t,r)=>Ze(Ku,e,()=>new Proxy(e,{get:(n,a,i)=>{if(a===ya)return n;const o=Reflect.get(n,a,i);if(typeof o>"u"){const s=r[a];if(typeof s<"u")return s;const l=t[a];if(l){const u=l(void 0,{type:Gt()});if(typeof u>"u")throw new Error(process.env.NODE_ENV==="production"?Y(24):`The slice reducer for key "${a.toString()}" returned undefined when called for selector(). If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined. If you don't want to set a value for this reducer, you can use null instead of undefined.`);return r[a]=u,u}}return o}})),Zu=e=>{if(!Hu(e))throw new Error(process.env.NODE_ENV==="production"?Y(25):"original must be used on state Proxy");return e[ya]},Xu={},Ju=(e=Xu)=>e;function Qu(...e){const t=Object.fromEntries(qu(e)),r=()=>Object.keys(t).length?(0,Ne.combineReducers)(t):Ju;let n=r();function a(l,u){return n(l,u)}a.withLazyLoadedSlices=()=>a;const i={},o=(l,u={})=>{const{reducerPath:c,reducer:f}=l,m=t[c];return!u.overrideExisting&&m&&m!==f?(typeof process<"u"&&process.env.NODE_ENV==="development"&&console.error(`called \`inject\` to override already-existing reducer ${c} without specifying \`overrideExisting: true\``),a):(u.overrideExisting&&m!==f&&delete i[c],t[c]=f,n=r(),a)},s=Object.assign(function(u,c){return function(m,...p){return u(Yu(c?c(m,...p):m,t,i),...p)}},{original:Zu});return Object.assign(a,{inject:o,selector:s})}function Y(e){return`Minified Redux Toolkit error #${e}; visit https://redux-toolkit.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var De=["professionals","services","time","confirm","success"],ec={currentStep:"professionals",completedSteps:["professionals"]},Rs=ze({name:"breadcrumbs",initialState:ec,reducers:{goToStep:(e,t)=>{const r=t.payload,n=De.indexOf(e.currentStep),a=De.indexOf(r);if(a<=n){e.currentStep=r;return}const i=De[a-1];e.completedSteps.includes(i)&&(e.currentStep=r)},completeStep:(e,t)=>{const r=t.payload;e.completedSteps.includes(r)||e.completedSteps.push(r)},nextStep:e=>{const t=De[De.indexOf(e.currentStep)+1];t&&(e.completedSteps.includes(e.currentStep)||e.completedSteps.push(e.currentStep),e.currentStep=t)},prevStep:e=>{const t=De[De.indexOf(e.currentStep)-1];t&&(e.currentStep=t)},clearSteps:e=>{e.currentStep="professionals",e.completedSteps=["professionals"]},resetStepsAfter:(e,t)=>{const r=t.payload,n=De.indexOf(r);e.completedSteps=e.completedSteps.filter(a=>De.indexOf(a)<=n)}}}),{goToStep:tc,completeStep:zh,nextStep:Le,prevStep:qh,clearSteps:Hh,resetStepsAfter:rc}=Rs.actions,nc=Rs.reducer,pi={id:"",outletName:"",timeZone:"",image:"",tenantId:"",address:"",isOpen:!1,outletTimeZoneDate:"",outletTimeZoneYear:"",createdAt:"",isService:!0,currency:"",token:""},Fs=ze({name:"outletDetails",initialState:pi,reducers:{clearBooking:()=>pi,setOutletData:(e,t)=>({...e,...t.payload}),setOutletToken:(e,t)=>{e.token=t.payload}}}),{clearBooking:ac,setOutletData:ic,setOutletToken:oc}=Fs.actions,sc=Fs.reducer,mi={superCategories:[],staff:[],selectedCategory:null,selectedServices:[],selectedProfessional:null},Ls=ze({name:"service",initialState:mi,reducers:{setServicePayload:(e,t)=>{e.staff=t.payload.staff},setCategory:(e,t)=>{e.selectedCategory=t.payload},toggleService:(e,t)=>{const r=e.selectedServices.find(n=>n.id===t.payload.id);r?r.qty<5&&(r.qty+=1):e.selectedServices.push({...t.payload,qty:1})},incrementService:(e,t)=>{const r=e.selectedServices.find(n=>n.id===t.payload);r&&r.qty<5&&(r.qty+=1)},decrementService:(e,t)=>{const r=e.selectedServices.find(n=>n.id===t.payload);r&&(r.qty===1?e.selectedServices=e.selectedServices.filter(n=>n.id!==t.payload):r.qty-=1)},toggleProfessional:(e,t)=>{e.selectedProfessional=t.payload,e.superCategories=t.payload.superCategories||[],e.selectedServices=[],e.selectedCategory=null},clearServices:()=>mi}}),{setServicePayload:dc,setCategory:Kh,toggleService:hi,clearServices:Yh,incrementService:lc,decrementService:yi,toggleProfessional:uc}=Ls.actions,cc=Ls.reducer,Ve="https://prod.aaravpos.com/api/v1",qe=()=>({"Content-Type":"application/json",Authorization:`Bearer ${Jr.getState()?.barber?.outletDetails?.token}`}),fc=async(e,t,r)=>{const n=new URLSearchParams({available_online:"true",is_available_online_category:"true"});t&&n.append("tenantId",t),r&&n.append("outletId",r);const a=`${Ve}/integration/service/provider/code/${e}?${n}`,i=await fetch(a,{method:"GET",headers:{"Content-Type":"application/json"}});if(!i.ok)throw new Error("Failed to fetch services");return await i.json()},pc=async(e,t,r)=>{const n=await fetch(`${Ve}/integration/slot/tenant/${e}/staff/${t}/online?date=${r}`,{method:"GET",headers:qe()});if(!n.ok)throw new Error("Failed to fetch services");return await n.json()},mc=async e=>{const t=await fetch(`${Ve}/integration/appointment/create`,{method:"POST",headers:qe(),body:JSON.stringify(e)});if(!t.ok)throw new Error("Failed to fetch services");return await t.json()},hc=async(e,t)=>{const r=await fetch(`${Ve}/integration/appointment/details?tenantId=${t}&appointmentId=${e}`,{method:"GET",headers:qe()});if(!r.ok)throw new Error("Failed to fetch appointment details");return await r.json()},yc=async({search:e,tenantId:t})=>{const r=await fetch(`${Ve}/integration/customer/drop-down/list?tenantId=${t}&search=${encodeURIComponent(e||"")}`,{method:"GET",headers:qe()});if(!r.ok)throw new Error("Failed to fetch customers");return await r.json()},vc=async e=>{try{const t=await fetch(`${Ve}/payment/pay/customer/direct`,{method:"POST",headers:qe(),body:JSON.stringify(e)}),r=await t.json();if(!t.ok)throw r;return r}catch(t){throw t}},bc=async e=>{try{const t=await fetch(`${Ve}/payment/orders/${e}/invoicing/finalize`,{method:"POST",headers:qe()}),r=await t.json();if(!t.ok)throw r;return r}catch(t){throw t}},vi=e=>{const t=e?.consent_rule?.frequency??e?.consentFrequency??e?.frequency??"EVERY_VISIT";return t==="EVERY_X_DAYS"||t==="ONCE_PER_CUSTOMER"||t==="EVERY_VISIT"?t:"EVERY_VISIT"},Bs=e=>{const t=!!(e?.requires_consent??e?.requiresConsent),r=String(e?.consent_form_id??e?.consentFormId??"").trim();return t&&!!r},bi=e=>{const t=e?.consent_rule?.channelRules||e?.consent_rule?.channel_rules||[],r=(Array.isArray(t)?t.find(n=>String(n?.channel||"").toUpperCase()==="ONLINE_BOOKING"):null)?.method||e?.enforcement?.ONLINE_BOOKING||e?.enforcement?.online_booking;return r==="DRAW_SIGNATURE"||r==="TYPED_NAME"||r==="CHECKBOX_ONLY"?r:null},$i=async(e,t,r)=>{const n=await fetch(`${Ve}/concent/check/${e}/${t}?serviceId=${r}`,{method:"GET",headers:qe()});if(!n.ok)throw new Error("Failed to check consent requirement");return n.json()},$c=async e=>{const{tenantId:t,outletId:r,appointmentId:n,customerId:a,serviceId:i,formId:o,staffId:s,signatureType:l,isChecked:u,typedName:c,imageUrl:f}=e,m={tenantId:t,appointmentId:n,customerId:a,serviceIds:[i],outletId:r,concentFormId:o,signatureType:l,channel:"Online_Web",staffId:s};l==="CHECKBOX_ONLY"&&(m.isChecked=u??!0),c&&(m.typedName=c),f&&(m.imageUrl=f);const p=await fetch(`${Ve}/concent/customer-sign`,{method:"POST",headers:qe(),body:JSON.stringify(m)}),h=await p.json();if(!p.ok)throw h;return h},cr=Xr("slots/getStaffSlots",async({tenantId:e,staffId:t,date:r})=>await pc(e,t,r)),Us=ze({name:"slots",initialState:{selectedSlotIndexes:[],selectedSlotIds:[],selectedDate:null,selectedTime:null,slots:{morning:[],afternoon:[],evening:[]},loading:!1},reducers:{clearSlots:e=>{e.slots={morning:[],afternoon:[],evening:[]},e.selectedSlotIndexes=[],e.selectedSlotIds=[],e.selectedDate=null,e.selectedTime=null},setSelectedSlots:(e,t)=>{e.selectedSlotIndexes=t.payload.indexes,e.selectedSlotIds=t.payload.ids},setSelectedDate:(e,t)=>{e.selectedDate=t.payload},setSelectedTime:(e,t)=>{e.selectedTime=t.payload}},extraReducers:e=>{e.addCase(cr.pending,t=>{t.loading=!0}).addCase(cr.fulfilled,(t,r)=>{t.loading=!1,t.slots=r.payload?.data?.groups||{morning:[],afternoon:[],evening:[]}}).addCase(cr.rejected,t=>{t.loading=!1})}}),{setSelectedSlots:gi,clearSlots:gc,setSelectedDate:Nt,setSelectedTime:Ni}=Us.actions,Nc=Us.reducer,fr=Xr("appointment/create",async(e,{rejectWithValue:t})=>{try{return await mc(e)}catch(r){return t(r?.message||r?.error||r?.data?.message||r?.response?.data?.message||"Failed to create appointment")}}),Ci={loading:!1,success:!1,error:null,data:null,appointmentId:null,customerId:null,userDetails:null,tipPct:0,bookingMode:"booking"},Vs=ze({name:"appointment",initialState:Ci,reducers:{resetAppointment:()=>Ci,setBookingMode:(e,t)=>{e.bookingMode=t.payload},setUserDetails:(e,t)=>{e.userDetails=t.payload},setTips:(e,t)=>{e.tipPct=t.payload},setAppointmentId:(e,t)=>{e.appointmentId=t.payload},clearUserDetails:e=>{e.userDetails=null}},extraReducers:e=>{e.addCase(fr.pending,t=>{t.loading=!0,t.error=null}).addCase(fr.fulfilled,(t,r)=>{t.loading=!1,t.success=!0,t.data=r.payload;const n=r.payload;t.appointmentId=n?.id||null,t.customerId=n?.customerId||n?.customer?.id||null}).addCase(fr.rejected,(t,r)=>{t.loading=!1,t.error=r.payload||"Appointment failed"})}}),{resetAppointment:Zh,setBookingMode:Xh,setUserDetails:Si,setTips:Cc,setAppointmentId:er,clearUserDetails:Gs}=Vs.actions,Sc=Vs.reducer,Ws=ze({name:"outletList",initialState:{outlets:[]},reducers:{setOutletList:(e,t)=>{e.outlets=t.payload},clearOutletList:e=>{e.outlets=[]}}}),{setOutletList:xc,clearOutletList:Jh}=Ws.actions,Pc=Ws.reducer,zs=ze({name:"theme",initialState:{button:{bg:"#d7263d",text:"#ffffff",bgHover:"#1f2937",textHover:"#ffffff"},colors:{bg:"#fafaf8",link:"#385b5a",text:"#e09898",bgHover:"#4c6f6e",textHover:"#ffffff"},isOpenSidebar:!1},reducers:{setTheme:(e,t)=>{e.button=t.payload?.button,e.colors=t.payload?.colors},setSidebarOpen:(e,t)=>{e&&(e.isOpenSidebar=t.payload)}}}),{setTheme:wc,setSidebarOpen:qt}=zs.actions,_c=zs.reducer;function pr(e){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?pr=function(r){return typeof r}:pr=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},pr(e)}function $n(){}var Oc={getItem:$n,setItem:$n,removeItem:$n};function Ec(e){if((typeof self>"u"?"undefined":pr(self))!=="object"||!(e in self))return!1;try{var t=self[e],r="redux-persist ".concat(e," test");t.setItem(r,"test"),t.getItem(r),t.removeItem(r)}catch{return process.env.NODE_ENV!=="production"&&console.warn("redux-persist ".concat(e," test failed, persistence will be disabled.")),!1}return!0}function jc(e){var t="".concat(e,"Storage");return Ec(t)?self[t]:(process.env.NODE_ENV!=="production"&&console.error("redux-persist failed to create sync storage. falling back to noop storage."),Oc)}function Ic(e){var t=jc(e);return{getItem:function(n){return new Promise(function(a,i){a(t.getItem(n))})},setItem:function(n,a){return new Promise(function(i,o){i(t.setItem(n,a))})},removeItem:function(n){return new Promise(function(a,i){a(t.removeItem(n))})}}}var Tc=(0,Fn.combineReducers)({barber:(0,Fn.combineReducers)({breadcrumbs:nc,outletDetails:sc,service:cc,slots:Nc,appointment:Sc,outletList:Pc,theme:_c})}),Ac=(e,t)=>(t.type==="RESET_ALL"&&(e=void 0),Tc(e,t)),Mc=()=>({getItem(){return Promise.resolve(null)},setItem(e,t){return Promise.resolve(t)},removeItem(){return Promise.resolve()}}),Dc=(0,Ge.persistReducer)({key:"barber-booking",storage:typeof window<"u"?Ic("session"):Mc()},Ac),Jr=ps({reducer:Dc,devTools:process.env.NODE_ENV!=="production",middleware:e=>e({serializableCheck:{ignoredActions:[Ge.FLUSH,Ge.REHYDRATE,Ge.PAUSE,Ge.PERSIST,Ge.PURGE,Ge.REGISTER]}})}),va=(0,Ge.persistStore)(Jr),Qh=Jr.getState;function kc({children:e}){return(0,d.jsx)(z.Provider,{store:Jr,children:(0,d.jsx)(Uo,{loading:null,persistor:va,children:e})})}var Rc=e=>{if(!e)return;const t=document.documentElement;e?.button?.bg&&t.style.setProperty("--btn-bg",e.button.bg),e.button?.text&&t.style.setProperty("--btn-text",e.button.text),e.button?.bgHover&&t.style.setProperty("--btn-bg-hover",e.button.bgHover),e.button?.textHover&&t.style.setProperty("--btn-text-hover",e.button.textHover),e.colors?.bg&&t.style.setProperty("--app-bg",e.colors.bg),e.colors?.link&&t.style.setProperty("--app-link",e.colors.link),e.colors?.text&&t.style.setProperty("--app-text",e.colors.text),e.colors?.bgHover&&t.style.setProperty("--app-bg-hover",e.colors.bgHover),e.colors?.textHover&&t.style.setProperty("--app-text-hover",e.colors.textHover)},qs=(...e)=>e.filter((t,r,n)=>!!t&&t.trim()!==""&&n.indexOf(t)===r).join(" ").trim(),Fc=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Lc=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,r,n)=>n?n.toUpperCase():r.toLowerCase()),xi=e=>{const t=Lc(e);return t.charAt(0).toUpperCase()+t.slice(1)},gn={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"},Bc=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1},Uc=(0,N.createContext)({}),Vc=()=>(0,N.useContext)(Uc),Gc=(0,N.forwardRef)(({color:e,size:t,strokeWidth:r,absoluteStrokeWidth:n,className:a="",children:i,iconNode:o,...s},l)=>{const{size:u=24,strokeWidth:c=2,absoluteStrokeWidth:f=!1,color:m="currentColor",className:p=""}=Vc()??{},h=n??f?Number(r??c)*24/Number(t??u):r??c;return(0,N.createElement)("svg",{ref:l,...gn,width:t??u??gn.width,height:t??u??gn.height,stroke:e??m,strokeWidth:h,className:qs("lucide",p,a),...!i&&!Bc(s)&&{"aria-hidden":"true"},...s},[...o.map(([v,y])=>(0,N.createElement)(v,y)),...Array.isArray(i)?i:[i]])}),Q=(e,t)=>{const r=(0,N.forwardRef)(({className:n,...a},i)=>(0,N.createElement)(Gc,{ref:i,iconNode:t,className:qs(`lucide-${Fc(xi(e))}`,`lucide-${e}`,n),...a}));return r.displayName=xi(e),r},Wc=[["path",{d:"M11 14h1v4",key:"fy54vd"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 2v4",key:"1cmpym"}],["rect",{x:"3",y:"4",width:"18",height:"18",rx:"2",key:"12vinp"}]],zc=Q("calendar-1",Wc),qc=[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 14h.01",key:"6423bh"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M16 14h.01",key:"1gbofw"}],["path",{d:"M8 18h.01",key:"lrp35t"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M16 18h.01",key:"kzsmim"}]],Hc=Q("calendar-days",qc),Kc=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],ba=Q("check",Kc),Yc=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Hs=Q("chevron-down",Yc),Zc=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],Er=Q("chevron-left",Zc),Xc=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],Qr=Q("chevron-right",Xc),Jc=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],Qc=Q("circle-check",Jc),ef=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6h4",key:"135r8i"}]],Ks=Q("clock-3",ef),tf=[["rect",{width:"20",height:"14",x:"2",y:"5",rx:"2",key:"ynyp8z"}],["line",{x1:"2",x2:"22",y1:"10",y2:"10",key:"1b3vmo"}]],rf=Q("credit-card",tf),nf=[["line",{x1:"12",x2:"12",y1:"2",y2:"22",key:"7eqyqh"}],["path",{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6",key:"1b0p4s"}]],Ys=Q("dollar-sign",nf),af=[["path",{d:"M4 10h12",key:"1y6xl8"}],["path",{d:"M4 14h9",key:"1loblj"}],["path",{d:"M19 6a7.7 7.7 0 0 0-5.2-2A7.9 7.9 0 0 0 6 12c0 4.4 3.5 8 7.8 8 2 0 3.8-.8 5.2-2",key:"1j6lzo"}]],of=Q("euro",af),sf=[["path",{d:"M6 3h12",key:"ggurg9"}],["path",{d:"M6 8h12",key:"6g4wlu"}],["path",{d:"m6 13 8.5 8",key:"u1kupk"}],["path",{d:"M6 13h3",key:"wdp6ag"}],["path",{d:"M9 13c6.667 0 6.667-10 0-10",key:"1nkvk2"}]],df=Q("indian-rupee",sf),lf=[["path",{d:"M5 12h14",key:"1ays0h"}]],uf=Q("minus",lf),cf=[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]],ff=Q("moon",cf),pf=[["path",{d:"M6 8L2 12L6 16",key:"kyvwex"}],["path",{d:"M2 12H22",key:"1m8cig"}]],Pi=Q("move-left",pf),mf=[["path",{d:"M18 8L22 12L18 16",key:"1r0oui"}],["path",{d:"M2 12H22",key:"1m8cig"}]],hf=Q("move-right",mf),yf=[["path",{d:"M12 3v6",key:"1holv5"}],["path",{d:"M16.76 3a2 2 0 0 1 1.8 1.1l2.23 4.479a2 2 0 0 1 .21.891V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V9.472a2 2 0 0 1 .211-.894L5.45 4.1A2 2 0 0 1 7.24 3z",key:"187q7i"}],["path",{d:"M3.054 9.013h17.893",key:"grwhos"}]],vf=Q("package-2",yf),bf=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],Zs=Q("plus",bf),$f=[["path",{d:"M18 7c0-5.333-8-5.333-8 0",key:"1prm2n"}],["path",{d:"M10 7v14",key:"18tmcs"}],["path",{d:"M6 21h12",key:"4dkmi1"}],["path",{d:"M6 13h10",key:"ybwr4a"}]],gf=Q("pound-sterling",$f),Nf=[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]],Cf=Q("rotate-cw",Nf),Sf=[["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M8.12 8.12 12 12",key:"1alkpv"}],["path",{d:"M20 4 8.12 15.88",key:"xgtan2"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M14.8 14.8 20 20",key:"ptml3r"}]],xf=Q("scissors",Sf),Pf=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],wf=Q("search",Pf),_f=[["circle",{cx:"8",cy:"21",r:"1",key:"jimo8o"}],["circle",{cx:"19",cy:"21",r:"1",key:"13723u"}],["path",{d:"M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12",key:"9zh506"}]],Of=Q("shopping-cart",_f),Ef=[["path",{d:"M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5",key:"slp6dd"}],["path",{d:"M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244",key:"o0xfot"}],["path",{d:"M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05",key:"wn3emo"}]],jf=Q("store",Ef),If=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]],Tf=Q("sun",If),Af=[["path",{d:"M12 2v8",key:"1q4o3n"}],["path",{d:"m4.93 10.93 1.41 1.41",key:"2a7f42"}],["path",{d:"M2 18h2",key:"j10viu"}],["path",{d:"M20 18h2",key:"wocana"}],["path",{d:"m19.07 10.93-1.41 1.41",key:"15zs5n"}],["path",{d:"M22 22H2",key:"19qnx5"}],["path",{d:"m8 6 4-4 4 4",key:"ybng9g"}],["path",{d:"M16 18a4 4 0 0 0-8 0",key:"1lzouq"}]],Mf=Q("sunrise",Af),Df=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],en=Q("x",Df),kf={USD:Ys,INR:df,EUR:of,GBP:gf},be=({size:e=20})=>{const t=(0,z.useSelector)(r=>r.barber.outletDetails?.currency);return(0,d.jsx)(t?kf[t]:Ys,{size:e})},tn=(e="")=>{const t=e.trim().split(" ").filter(Boolean);return t.length===0?"":((t[0]?.[0]??"")+(t.length>1?t[t.length-1]?.[0]??"":"")).toUpperCase()},Rf=e=>Number(e.price||e.min_price||0),wi=(e,{perUnit:t=!1}={})=>{const r=Rf(e),n=t?1:e.qty||1;return!e.taxRows||!e.taxRows.length?0:e.taxRows.reduce((a,i)=>i.isActive?i.taxType==="FIXED"?a+(i.taxRate||0)*n:i.taxType==="PERCENTAGE"?a+r*n*(i.taxRate||0)/100:a:a,0)};function Ff(){const e=(0,z.useDispatch)(),{staff:t,selectedProfessional:r}=(0,z.useSelector)(o=>o.barber.service),n=!t||t.length===0,a=o=>{if(!o?.futureLeaveDates?.length)return{isOnLeave:!1,availableFrom:null};const s=new Date,l=o.futureLeaveDates.find(u=>{if(u.status!=="APPROVED"||u.leaveType!=="FULL_DAY")return!1;const c=new Date(u.startDate),f=new Date(u.endDate);return s>=c&&s<=f});return l?.returnDate?.date?{isOnLeave:!0,availableFrom:new Date(l.returnDate.date).toLocaleDateString("en-GB",{day:"2-digit",month:"short",year:"numeric"})}:{isOnLeave:!1,availableFrom:null}},i=o=>{e(uc(o)),e(Nt(null)),e(Le())};return(0,d.jsxs)("div",{className:"aaravpos-barber-main-content",children:[n&&(0,d.jsx)("p",{className:"aaravpos-barber-no-staff",children:"No staff available"}),(0,d.jsx)("div",{className:"aaravpos-barber-professional-wrapper",children:(0,d.jsx)("div",{className:"aaravpos-barber-professional-grid",children:t?.map((o,s)=>{const{isOnLeave:l,availableFrom:u}=a(o);return(0,d.jsxs)("div",{className:`aaravpos-barber-professional-card ${r?.id===o.id?"active":""}`,onClick:()=>i(o),children:[(0,d.jsxs)("div",{className:"aaravpos-barber-professional-image-wrapper",children:[o.imageUrl?(0,d.jsx)("img",{src:o.imageUrl,alt:o.name,className:"aaravpos-barber-professional-image"}):(0,d.jsx)("div",{className:"aaravpos-barber-professional-avatar",style:{background:o.color||"#111"},children:tn(o.name)}),(0,d.jsx)("div",{className:"aaravpos-barber-professional-rating",children:"★ 4.8"}),(0,d.jsxs)("div",{className:"aaravpos-barber-professional-overlay",children:[(0,d.jsx)("h3",{className:"aaravpos-barber-professional-name",children:o.name}),(0,d.jsx)("p",{className:"aaravpos-barber-professional-role",children:o.staff_type||"Senior Specialist"})]})]}),l&&u&&(0,d.jsxs)("div",{className:"aaravpos-barber-available-badge",children:[(0,d.jsx)("span",{className:"aaravpos-barber-available-dot"}),(0,d.jsxs)("p",{className:"aaravpos-barber-available-text",children:["Available from ",u]})]}),(0,d.jsx)("button",{className:"aaravpos-barber-professional-btn",children:"BOOK"})]},s)})})})]})}function Lf(){const[e,t]=(0,N.useState)({width:0,height:0});return(0,N.useEffect)(()=>{const r=()=>{t({width:window.innerWidth,height:window.innerHeight})};return r(),window.addEventListener("resize",r),()=>{window.removeEventListener("resize",r)}},[]),e}var rt=[{label:"Service",page:"services",icon:(0,d.jsx)(xf,{size:16})},{label:"Time",page:"time",icon:(0,d.jsx)(Ks,{size:16})},{label:"Confirm",page:"confirm",icon:(0,d.jsx)(Qc,{size:16})}],_i={services:0,time:1,confirm:2};function $a(){const e=(0,z.useDispatch)(),{width:t}=Lf(),{currentStep:r,completedSteps:n}=(0,z.useSelector)(p=>p.barber.breadcrumbs),a=rt.findIndex(p=>p.page===r),{selectedServices:i}=(0,z.useSelector)(p=>p.barber.service),{isOpenSidebar:o}=(0,z.useSelector)(p=>p.barber.theme),s=()=>{va.purge(),e({type:"RESET_ALL"})},l=p=>{const h=rt.findIndex(y=>y.page===r),v=rt.findIndex(y=>y.page===p);v<h&&(e(rc(p)),v<=_i.time&&e(gc()),v<=_i.confirm&&e(Gs())),e(tc(p))},u=()=>{if(a===0){s(),e(ac());return}const p=rt[a-1];p&&l(p.page)},c=rt[a],f=t<991,m=i?.reduce((p,h)=>p+h.qty,0);return(0,d.jsx)(d.Fragment,{children:f?(0,d.jsxs)("div",{className:"aaravpos-barber-mobile-stepper",children:[(0,d.jsx)("button",{onClick:u,className:"aaravpos-barber-mobile-back-btn",children:(0,d.jsx)(Er,{size:20})}),(0,d.jsx)("span",{className:"aaravpos-barber-mobile-step-label",children:c?.label})]}):(0,d.jsxs)("div",{className:"aaravpos-barber-desktop-stepper",children:[(0,d.jsx)("button",{onClick:u,className:"aaravpos-barber-desktop-back-btn",children:(0,d.jsx)(Er,{size:20})}),(0,d.jsx)("nav",{className:"aaravpos-barber-step-nav",children:rt.map(p=>{const h=r===p.page,v=n?.includes(p.page)||r===p.page;return(0,d.jsxs)("button",{onClick:()=>{v&&l(p.page)},className:`aaravpos-barber-step-btn
16
16
  ${v?"clickable":"disabled"}
17
17
  ${h?"active":"inactive"}
18
18
  `,children:[(0,d.jsx)("span",{className:`aaravpos-barber-step-icon ${h?"active":"inactive"}`,children:p.icon}),(0,d.jsx)("span",{children:p.label})]},p.page)})}),!o&&(0,d.jsxs)("button",{className:"aaravpos-barber-cart-btn",onClick:()=>e(qt(!0)),children:[(0,d.jsx)("span",{className:"aaravpos-barber-count",children:m}),(0,d.jsx)(Of,{size:18})]})]})})}function ga({children:e,sidebar:t,renderButton:r}){const{isOpenSidebar:n}=(0,z.useSelector)(a=>a.barber.theme);return(0,d.jsxs)("div",{className:"aaravpos-barber-main-layout",children:[(0,d.jsxs)("div",{className:n?"aaravpos-barber-layout-wrapper":"",children:[(0,d.jsxs)("main",{className:"aaravpos-barber-main-content",children:[e,r]}),(0,d.jsx)("aside",{className:`aaravpos-barber-sidebar ${n?"open":""}`,children:t})]}),n&&(0,d.jsx)("div",{className:"aaravpos-barber-sidebar-mobile",children:(0,d.jsx)("div",{className:"aaravpos-barber-sidebar-mobile-content",children:t})})]})}function Bf(){return(0,d.jsx)("div",{className:"aaravpos-barber-skeleton-card",children:(0,d.jsx)("div",{className:"aaravpos-barber-skeleton-shimmer",style:{background:"linear-gradient(90deg, transparent, rgba(255,255,255,0.5), transparent)",animation:"shimmer 1.2s infinite"}})})}var Uf=e=>Number(e.price||e.min_price||0),tr=(e,{perUnit:t=!1}={})=>{const r=Uf(e),n=t?1:e.qty||1;return!e.taxRows||!e.taxRows.length?0:e.taxRows.reduce((a,i)=>i.isActive?i.taxType==="FIXED"?a+i.taxRate*n:i.taxType==="PERCENTAGE"?a+r*n*i.taxRate/100:a:a,0)},Vf=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function Na({goToStep:e,buttonText:t,onButtonClick:r,showTaxesOnlyIfTime:n=!1,showTip:a=!1,tipPct:i=0,onTipChange:o,consentRequired:s=!1,consentCompleted:l=0,totalConsents:u=0,checkingConsent:c=!1,loading:f=!1,isBookingDisabled:m=!1,showFooterButton:p=!1,showBookingSection:h=!0}){const v=(0,z.useDispatch)(),{outletName:y,timeZone:$}=(0,z.useSelector)(L=>L.barber.outletDetails),{selectedSlotIndexes:S,slots:b,selectedDate:x}=(0,z.useSelector)(L=>L.barber.slots),{staff:w,selectedServices:g,selectedProfessional:j}=(0,z.useSelector)(L=>L.barber.service),M=he.DateTime.now().setZone($??"UTC"),[q,Z]=(0,N.useState)(""),[te,le]=(0,N.useState)(!1),re=(0,N.useRef)(null),ie=(0,N.useRef)(null),[ue,fe]=(0,N.useState)(0),pe=[0,5,10,15,20],X=(0,N.useMemo)(()=>[...b?.morning||[],...b?.afternoon||[],...b?.evening||[]],[b]),ne=15,ve=(0,N.useMemo)(()=>{if(!j?.id)return g.map(G=>({...G,tax:tr(G),unitTax:tr(G,{perUnit:!0})}));const L=w?.find(G=>G.id===j.id);return L?g.map(G=>{const ge=L.assignments?.find(Ke=>Ke.id===G.id),Ae={...G,price:ge?.price||G.price||G.min_price||0,duration:ge?.duration||G.estimated_time||G.min_time||0};return{...Ae,tax:tr(Ae),unitTax:tr(Ae,{perUnit:!0})}}):[]},[j,w,g]),I=ve.reduce((L,G)=>L+Number(G.price||G.min_price||0)*(G.qty||1),0),C=ve.reduce((L,G)=>L+Number(G.duration||G.min_time||G.estimated_time||0)*(G.qty||1),0),O=Math.ceil(C/ne),A=L=>{if(!X.length)return"";const G=X[L]?.start_time,ge=X[L+O-1];return!G||!ge?"":`${G} - ${ge.end_time||ge.start_time}`},D=x||{day:M.day,month:M.month,year:M.year},R=S?.[0],F=R!==void 0?A(R):null,B=D.month??0,U=F?`${Vf[B-1]} ${D.day} at ${F}`:null,H=ve.reduce((L,G)=>L+G.tax,0),V=Number(i)||0,K=a?I*V/100:0,T=I+H+K;(0,N.useEffect)(()=>{a&&i==null&&o?.(0)},[a,i,o]);const ae=(0,N.useMemo)(()=>f?"Processing...":c?"Checking consents...":s&&l<u?`Sign Consents (${l}/${u})`:(0,d.jsxs)(d.Fragment,{children:[t||"Book Appointment",(0,d.jsx)(hf,{})]}),[f,c,s,l,u,t]),me=m||f||c||!F;return(0,N.useEffect)(()=>{const L=()=>{const ge=(re.current?.offsetHeight||0)+(ie.current?.offsetHeight||0)+(window.innerWidth<=991?195:70);fe(window.innerHeight-ge)};L();const G=new ResizeObserver(()=>{L()});return ie.current&&G.observe(ie.current),re.current&&G.observe(re.current),window.addEventListener("resize",L),()=>{G.disconnect(),window.removeEventListener("resize",L)}},[ve,a,l,u,te]),(0,d.jsxs)("div",{className:"aaravpos-barber-order-sidebar",children:[(0,d.jsxs)("div",{ref:re,children:[(0,d.jsxs)("div",{className:"aaravpos-barber-order-header",children:[(0,d.jsxs)("p",{className:"aaravpos-barber-order-title",children:["Your Order",(0,d.jsx)("button",{className:"aaravpos-barber-sidebar-close-btn",onClick:()=>v(qt(!1)),children:(0,d.jsx)(en,{size:18})})]}),(0,d.jsxs)("p",{className:"aaravpos-barber-order-subtitle",children:[y||"-"," Outlet"]})]}),(0,d.jsxs)("div",{className:"aaravpos-barber-order-header",children:[j?.id&&(0,d.jsxs)("div",{className:"aaravpos-barber-pro-card aaravpos-barber-display-flex aaravpos-barber-tp-10",children:[j.imageUrl?(0,d.jsx)("img",{src:j.imageUrl,alt:j.name,className:"aaravpos-barber-pro-image"}):(0,d.jsx)("div",{className:"aaravpos-barber-pro-avatar",style:{background:j.color||"#111"},children:tn(j.name)}),(0,d.jsxs)("div",{className:"aaravpos-barber-pro-info",children:[(0,d.jsx)("p",{className:"aaravpos-barber-pro-name",children:j.name}),(0,d.jsx)("p",{className:"aaravpos-barber-pro-type",children:j.staff_type})]})]}),h&&(0,d.jsxs)("div",{className:"aaravpos-barber-date-time aaravpos-barber-tp-10",children:[(0,d.jsx)("span",{className:"aaravpos-barber-date-time-label",children:"Date & Time:"}),U?(0,d.jsx)("span",{className:"aaravpos-barber-date-time-value",children:U}):(0,d.jsx)("span",{className:"aaravpos-barber-date-time-empty",children:"No time selected"})]})]})]}),(0,d.jsx)("ul",{className:"aaravpos-barber-order-list",style:{height:`${ue}px`},children:ve?.length>0&&ve.map(L=>(0,d.jsxs)("li",{className:"aaravpos-barber-order-item",children:[(0,d.jsx)("div",{className:"aaravpos-barber-main-text",children:(0,d.jsx)("p",{className:"aaravpos-barber-order-service-name",children:L.name})}),(0,d.jsxs)("div",{className:"aaravpos-barber-order-details",children:[(0,d.jsxs)("div",{className:"aaravpos-barber-order-detail",children:[(0,d.jsx)(vf,{size:13}),(0,d.jsx)("span",{children:L.qty})]}),(0,d.jsxs)("div",{className:"aaravpos-barber-order-detail center",children:[(0,d.jsx)(Ks,{size:13}),(0,d.jsxs)("span",{children:[L.min_time||L.estimated_time," min"]})]}),(0,d.jsxs)("p",{className:"aaravpos-barber-order-detail right",children:[(0,d.jsx)(be,{size:12}),L.price||L.min_price]})]})]},L.id))}),(0,d.jsxs)("div",{className:"third",ref:ie,children:[p&&e&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"aaravpos-barber-divider"}),(0,d.jsxs)("div",{className:"aaravpos-barber-order-footer",children:[(0,d.jsxs)("div",{className:"aaravpos-barber-order-subtotal",children:[(0,d.jsx)("span",{className:"aaravpos-barber-order-subtotal-label",children:"Subtotal"}),(0,d.jsxs)("span",{className:"aaravpos-barber-order-subtotal-price",children:[(0,d.jsx)(be,{size:16}),I.toFixed(2)]})]}),(0,d.jsx)("button",{onClick:()=>e("professionals"),disabled:!g.length,className:"aaravpos-barber-common-btn",children:(0,d.jsxs)("span",{className:"aaravpos-barber-common-btn-content",children:["Choose Time",(0,d.jsx)(Qr,{size:16})]})})]})]}),a&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("p",{className:"aaravpos-barber-tip-title",children:"Add Tip"}),(0,d.jsx)("div",{className:"aaravpos-barber-tip-options",children:[...pe,"custom"].map((L,G)=>{const ge=L==="custom",Ae=ge?te:V===L,Ke=G===0,Ht=G===[...pe,"custom"].length-1;return(0,d.jsx)("button",{onClick:()=>{ge?(le(!0),o?.(Number(q)||0)):(le(!1),Z(""),o?.(Number(L)))},className:`aaravpos-barber-tip-btn
package/dist/index.js CHANGED
@@ -3149,7 +3149,7 @@ var st = [
3149
3149
  icon: /* @__PURE__ */ u(od, { size: 16 })
3150
3150
  },
3151
3151
  {
3152
- label: "Done",
3152
+ label: "Confirm",
3153
3153
  page: "confirm",
3154
3154
  icon: /* @__PURE__ */ u(If, { size: 16 })
3155
3155
  }
package/dist/styles.css CHANGED
@@ -1243,7 +1243,7 @@
1243
1243
  }
1244
1244
  .aaravpos-barber-step-nav {
1245
1245
  display: grid;
1246
- grid-template-columns: repeat(4, 1fr);
1246
+ grid-template-columns: repeat(3, 1fr);
1247
1247
  width: 100%;
1248
1248
  overflow: hidden;
1249
1249
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aaravpos/appointment-barber-booking",
3
- "version": "2.0.1",
3
+ "version": "2.0.2",
4
4
  "description": "A React component library built with Tailwind CSS v4 and TypeScript",
5
5
  "type": "module",
6
6
  "packageManager": "pnpm@10.33.0",