try{let e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},r=(new e.Error).stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="9276e0fe-faed-4605-9d80-3c736ed26147",e._sentryDebugIdIdentifier="sentry-dbid-9276e0fe-faed-4605-9d80-3c736ed26147")}catch(e){}(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4899],{20551:(e,r,t)=>{"use strict";t.d(r,{BooksGrid:()=>d});var i=t(48958),n=t(83982),o=t(62467),a=t(72807),s=t.n(a),l=t(68030);let u=(0,n.memo)(function(e){let{book:r,isPriority:t}=e,a=(0,n.useCallback)(e=>{e.preventDefault();let t=document.getElementById(r.slug);t&&t.scrollIntoView({behavior:"smooth"})},[r.slug]);return(0,i.jsx)(s(),{href:"#".concat(r.slug),onClick:a,className:"inline-block","aria-label":"View ".concat(r.title),children:(0,i.jsx)(o.default,{src:r.coverSrc,alt:r.title,width:100,height:150,sizes:"(max-width: 768px) 100px, 100px",quality:85,className:"border border-black rounded-xs shadow-md transition-transform hover:scale-105",priority:t,loading:t?"eager":"lazy"})})}),d=(0,n.memo)(function(){let e=l.b.slice(0,10);return(0,i.jsx)("div",{className:"mx-auto max-w-2xl flex flex-wrap gap-4 md:gap-8 justify-center",children:e.map((e,r)=>(0,i.jsx)(u,{book:e,isPriority:r<3},e.slug))})})},32866:(e,r,t)=>{"use strict";t.d(r,{BookImage:()=>o});var i=t(83982),n=t(62467);let o=(0,i.memo)(e=>{let{maxRetries:r=3,retryDelay:t=1e3,priority:o=!1,sizes:a="(max-width: 768px) 100vw, (max-width: 1200px) 50vw, 33vw",placeholder:s="empty",blurDataURL:l,...u}=e,[d,c]=(0,i.useState)(0),m=d{if(!m||0===d)return;let e=setTimeout(()=>c(0),t);return()=>clearTimeout(e)},[d,t,m]);let h=(0,i.useCallback)(()=>{m&&c(e=>e+1)},[m]);return(0,i.createElement)(n.default,{...u,key:d,onError:h,priority:o,sizes:a,placeholder:s,blurDataURL:l,alt:u.alt||"Book cover image",quality:85})});o.displayName="BookImage"},37914:(e,r,t)=>{"use strict";t.d(r,{ErrorBoundary:()=>a});var i=t(83982);let n=(0,i.createContext)(null),o={didCatch:!1,error:null};class a extends i.Component{static getDerivedStateFromError(e){return{didCatch:!0,error:e}}resetErrorBoundary(){let{error:e}=this.state;if(null!==e){for(var r,t,i=arguments.length,n=Array(i),a=0;a0&&void 0!==arguments[0]?arguments[0]:[],r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return e.length!==r.length||e.some((e,t)=>!Object.is(e,r[t]))}(e.resetKeys,i)){var n,a;null==(n=(a=this.props).onReset)||n.call(a,{next:i,prev:e.resetKeys,reason:"keys"}),this.setState(o)}}render(){let{children:e,fallbackRender:r,FallbackComponent:t,fallback:o}=this.props,{didCatch:a,error:s}=this.state,l=e;if(a){let e={error:s,resetErrorBoundary:this.resetErrorBoundary};if("function"==typeof r)l=r(e);else if(t)l=(0,i.createElement)(t,e);else if(void 0!==o)l=o;else throw s}return(0,i.createElement)(n.Provider,{value:{didCatch:a,error:s,resetErrorBoundary:this.resetErrorBoundary}},l)}constructor(e){super(e),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=o}}},38025:(e,r,t)=>{"use strict";t.d(r,{A:()=>l});var i=t(83982);let n=e=>{let r=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,r,t)=>t?t.toUpperCase():r.toLowerCase());return r.charAt(0).toUpperCase()+r.slice(1)},o=function(){for(var e=arguments.length,r=Array(e),t=0;t!!e&&""!==e.trim()&&t.indexOf(e)===r).join(" ").trim()};var a={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"};let s=(0,i.forwardRef)((e,r)=>{let{color:t="currentColor",size:n=24,strokeWidth:s=2,absoluteStrokeWidth:l,className:u="",children:d,iconNode:c,...m}=e;return(0,i.createElement)("svg",{ref:r,...a,width:n,height:n,stroke:t,strokeWidth:l?24*Number(s)/Number(n):s,className:o("lucide",u),...!d&&!(e=>{for(let r in e)if(r.startsWith("aria-")||"role"===r||"title"===r)return!0})(m)&&{"aria-hidden":"true"},...m},[...c.map(e=>{let[r,t]=e;return(0,i.createElement)(r,t)}),...Array.isArray(d)?d:[d]])}),l=(e,r)=>{let t=(0,i.forwardRef)((t,a)=>{let{className:l,...u}=t;return(0,i.createElement)(s,{ref:a,iconNode:r,className:o("lucide-".concat(n(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()),"lucide-".concat(e),l),...u})});return t.displayName=n(e),t}},41192:(e,r,t)=>{"use strict";t.d(r,{A:()=>c,Qk:()=>m,UL:()=>s,go:()=>d,ic:()=>u,tS:()=>l});class i extends Error{constructor(e,r){super(e),this.code="VALIDATION_ERROR",this.isUserFriendly=!0,this.name="ValidationError",this.context=r}}class n extends Error{constructor(e,r){super(e),this.code="NETWORK_ERROR",this.isUserFriendly=!0,this.name="NetworkError",this.context=r}}class o extends Error{constructor(e,r){super(e),this.code="SERVER_ERROR",this.isUserFriendly=!1,this.name="ServerError",this.context=r}}class a extends Error{constructor(e,r){super(e),this.code="USER_ACTION_ERROR",this.isUserFriendly=!0,this.name="UserActionError",this.context=r}}let s=(e,r)=>new i(e,r),l=(e,r)=>new n(e,r),u=(e,r)=>new o(e,r),d=(e,r)=>new a(e,r),c=e=>e instanceof Error&&"code"in e&&"isUserFriendly"in e,m=e=>c(e)&&e.isUserFriendly?e.message:e instanceof Error?"Something went wrong. Please try again.":"An unexpected error occurred. Please try again."},42997:(e,r,t)=>{"use strict";t.d(r,{ReviewCard:()=>m});var i=t(48958),n=t(62467),o=t(83982);let a=(0,o.memo)(function(e){var r;let{author:t}=e;if(!t)return null;let o=null==(r=t.image)?void 0:r.trim(),a=(null==o?void 0:o.startsWith("/"))?o:o?"/".concat(o):void 0;return(0,i.jsxs)("div",{className:"flex mx-auto items-center",children:[a&&(0,i.jsx)("div",{className:"w-8 h-8 rounded-full border border-slate-400 overflow-hidden shrink-0",children:(0,i.jsx)(n.default,{src:a,alt:"Avatar of ".concat(t.name),width:30,height:30,sizes:"32px",quality:85,className:"w-full h-full object-cover"})}),(0,i.jsxs)("div",{className:"".concat(a?"ml-2":""),children:[(0,i.jsx)("p",{className:"my-0 text-xs",children:t.name}),t.description&&(0,i.jsx)("p",{className:"my-0 text-[10px] leading-3 text-slate-500",children:t.description})]})]})});var s=t(90048);let l={active:"text-yellow-400 fill-yellow-400",inactive:"text-gray-300",base:"w-5 h-5"},u=(0,o.memo)(function(e){let{rating:r,maxStars:t=5}=e;return(0,i.jsx)("div",{className:"flex mx-auto mb-2",role:"img","aria-label":"".concat(r," out of ").concat(t," stars"),children:Array.from({length:t},(e,t)=>(0,i.jsx)(s.A,{className:"".concat(l.base," ").concat(t{if("carousel"!==o)return"text-xs";let r=e.length;return r>200?"text-[10px]":r>150?"text-[11px]":"text-xs"})(h);return(0,i.jsx)("div",{className:m,children:(0,i.jsxs)("div",{className:"flex flex-col gap-4 justify-center h-full",children:[t&&"number"==typeof r.rating&&(0,i.jsx)("div",{className:"mx-auto justify-center",role:"complementary","aria-label":"Review rating: ".concat(r.rating," stars"),children:(0,i.jsx)(u,{rating:r.rating})}),(0,i.jsx)("blockquote",{className:"text-center ".concat(p," font-bold m-0 leading-tight"),children:h?'"'.concat(h,'"'):""}),r.author&&(0,i.jsx)(a,{author:r.author})]})})})},59496:(e,r,t)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,r){for(var t in r)Object.defineProperty(e,t,{enumerable:!0,get:r[t]})}(r,{default:function(){return l},getImageProps:function(){return s}});let i=t(8007),n=t(45868),o=t(44320),a=i._(t(25480));function s(e){let{props:r}=(0,n.getImgProps)(e,{defaultLoader:a.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,t]of Object.entries(r))void 0===t&&delete r[e];return{props:r}}let l=o.Image},62467:(e,r,t)=>{"use strict";t.d(r,{default:()=>n.a});var i=t(59496),n=t.n(i)},64319:(e,r,t)=>{Promise.resolve().then(t.t.bind(t,72807,23)),Promise.resolve().then(t.t.bind(t,44320,23)),Promise.resolve().then(t.bind(t,20551)),Promise.resolve().then(t.bind(t,32866)),Promise.resolve().then(t.bind(t,45984)),Promise.resolve().then(t.bind(t,35982)),Promise.resolve().then(t.bind(t,81481))},77459:(e,r,t)=>{"use strict";t.d(r,{U:()=>n});var i=t(83982),n=(null==globalThis?void 0:globalThis.document)?i.useLayoutEffect:i.useEffect},81481:(e,r,t)=>{"use strict";t.d(r,{default:()=>u});var i=t(48958),n=t(57370),o=t(41192),a=t(37914),s=t(83982);let l=(0,s.memo)(function(e){let{error:r,resetErrorBoundary:t,componentName:a}=e,s=(0,o.Qk)(r);return(0,o.A)(r)&&r.isUserFriendly||n.Cp(r,{extra:{componentName:a||"unknown",errorType:r.name,errorMessage:r.message,errorStack:r.stack},tags:{location:a||"unknown",errorType:r.name}}),(0,i.jsxs)("div",{role:"alert",className:"p-4 border border-red-500 rounded-lg bg-red-50 max-w-xl mx-auto my-8",children:[(0,i.jsx)("h2",{className:"text-lg font-semibold text-red-800 mb-2",children:"Oops! Something went wrong"}),(0,i.jsx)("p",{className:"text-red-700 mb-4",children:s}),!1,(0,i.jsx)("button",{onClick:t,className:"px-4 py-2 bg-red-600 text-white rounded-sm hover:bg-red-700 transition-colors",children:"Try again"})]})}),u=(0,s.memo)(function(e){let{children:r,componentName:t,fallback:n=l,onError:o}=e,u=(0,s.useCallback)(e=>(0,i.jsx)(n,{...e,componentName:t}),[n,t]);return(0,i.jsx)(a.ErrorBoundary,{FallbackComponent:u,onError:(e,r)=>{o&&o(e,r),console.error("Error in ".concat(t||"component",":"),e,r)},children:r})})},86290:(e,r,t)=>{"use strict";t.d(r,{j:()=>s});var i=t(59127),n=t(52538),o=t(86745),a=t(83982);function s(e={}){let{id:r,defaultOpen:t,isOpen:l,onClose:u,onOpen:d,onChange:c=()=>{}}=e,m=(0,o.c)(d),h=(0,o.c)(u),[p,f]=(0,n.P)(l,t||!1,c),g=(0,a.useId)(),b=r||g,v=void 0!==l,x=(0,a.useCallback)(()=>{v||f(!1),null==h||h()},[v,h]),j=(0,a.useCallback)(()=>{v||f(!0),null==m||m()},[v,m]),w=(0,a.useCallback)(()=>{(p?x:j)()},[p,j,x]);return{isOpen:!!p,onOpen:j,onClose:x,onOpenChange:w,isControlled:v,getButtonProps:(e={})=>({...e,"aria-expanded":p,"aria-controls":b,onClick:(0,i.c)(e.onClick,w)}),getDisclosureProps:(e={})=>({...e,hidden:!p,id:b})}}},86745:(e,r,t)=>{"use strict";t.d(r,{c:()=>o});var i=t(83982),n=t(77459);function o(e,r=[]){let t=(0,i.useRef)(e);return(0,n.U)(()=>{t.current=e}),(0,i.useCallback)((...e)=>{var r;return null==(r=t.current)?void 0:r.call(t,...e)},r)}},90048:(e,r,t)=>{"use strict";t.d(r,{A:()=>i});let i=(0,t(38025).A)("star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]])},95246:(e,r,t)=>{"use strict";t.d(r,{xj:()=>j,$J:()=>y,u6:()=>k,sD:()=>w});var i=t(56014);let n=i.Ik({name:i.Yj().min(1,"Author name is required"),description:i.Yj().optional(),image:i.Yj().optional()}),o=i.Ik({name:i.Yj().min(1,"Link name is required"),url:i.Yj().url("Must be a valid URL")}),a=i.Ik({strong:i.Yj().min(1,"Strong text is required"),text:i.Yj().optional()}),s=i.Ik({title:i.Yj().min(1,"Title is required"),description:i.Yj().min(1,"Description is required"),date:i.Yj().regex(/^\d{4}-\d{2}-\d{2}$/,"Date must be in YYYY-MM-DD format"),tags:i.YO(i.Yj()).min(1,"At least one tag is required"),stars:i.ai().min(0).max(5,"Stars must be between 0 and 5")}),l=i.Ik({title:i.Yj().min(1,"Book title is required"),slug:i.Yj().min(1,"Book slug is required"),edition:i.Yj().nullable(),shortDescription:i.Yj().min(1,"Short description is required"),aboutText:i.bz().nullable(),whatsInsideText:i.YO(a).nullable(),laurels:i.YO(i.Yj()),coverSrc:i.Yj().min(1,"Cover source is required"),cover3dSrc:i.Yj().nullable(),page1src:i.Yj().nullable(),page2src:i.Yj().nullable(),amazonLink:i.Yj().url("Amazon link must be a valid URL"),myStoreLink:i.Yj().url("Store link must be a valid URL"),price:i.ai().positive("Price must be positive"),isbn:i.Yj().min(1,"ISBN is required"),publishDate:i.Yj().regex(/^\d{4}-\d{2}-\d{2}$/,"Publish date must be in YYYY-MM-DD format"),pageCount:i.ai().positive("Page count must be positive"),bookFormat:i.Yj().min(1,"Book format is required"),hasAudiobook:i.zM(),hasAudible:i.zM(),charts:i.Yj().optional(),averageRating:i.ai().min(0).max(5,"Average rating must be between 0 and 5"),numberOfRatings:i.ai().min(0,"Number of ratings must be non-negative"),excerptUrl:i.Yj().url("Excerpt URL must be a valid URL").optional()}),u=i.Ik({object:i.YO(i.Yj()).min(1,"At least one object is required"),content:i.Yj().min(1,"Review content is required"),rating:i.ai().min(1).max(5,"Rating must be between 1 and 5").optional(),author:n}),d=s.extend({links:i.YO(o).min(1,"At least one link is required")}),c=i.Ik({id:i.ai().positive("ID must be positive"),content:i.Yj().min(1,"Testimonial content is required"),author:n.extend({image:i.Yj().min(1,"Author image is required")})}),m=i.Ik({src:i.Yj().min(1,"Logo source is required"),alt:i.Yj().min(1,"Logo alt text is required")}),h=i.Ik({tag:i.Yj().min(1,"Tag is required"),count:i.ai().min(0,"Count must be non-negative")}),p=s.extend({slug:i.Yj().min(1,"Post slug is required"),content:i.Yj().min(1,"Post content is required"),contentType:i.Yj().min(1,"Content type is required")}),f=i.YO(l),g=i.YO(u);i.YO(d),i.YO(c);let b=i.YO(m);i.YO(h),i.YO(p);let v=i.Ik({href:i.Yj().min(1,"Href is required"),name:i.Yj().min(1,"Name is required"),links:i.YO(i.RZ(()=>v)).optional(),isBold:i.zM().optional()}),x=i.YO(v);function j(e){try{return f.parse(e)}catch(e){if(e instanceof Error)throw Error("Books validation failed: ".concat(e.message));throw Error("Books validation failed: Unknown error")}}function w(e){try{return g.parse(e)}catch(e){if(e instanceof Error)throw Error("Reviews validation failed: ".concat(e.message));throw Error("Reviews validation failed: Unknown error")}}function y(e){try{return b.parse(e)}catch(e){if(e instanceof Error)throw Error("Logos validation failed: ".concat(e.message));throw Error("Logos validation failed: Unknown error")}}function k(e){try{return x.parse(e)}catch(e){if(e instanceof Error)throw Error("Menu items validation failed: ".concat(e.message));throw Error("Menu items validation failed: Unknown error")}}i.Ik({"@context":i.Yj().url("Context must be a valid URL"),"@type":i.eu("Person"),name:i.Yj().min(1,"Name is required"),url:i.Yj().url("URL must be valid"),image:i.Yj().url("Image must be a valid URL"),sameAs:i.YO(i.Yj().url("SameAs URLs must be valid")),twitter:i.Yj().url("Twitter URL must be valid"),linkedin:i.Yj().url("LinkedIn URL must be valid"),hasOccupation:i.YO(i.Ik({"@type":i.eu("Occupation"),name:i.Yj().min(1,"Occupation name is required"),occupationCategory:i.Yj().url("Occupation category must be a valid URL")})),jobTitle:i.Yj().min(1,"Job title is required"),knowsLanguage:i.YO(i.Yj().length(2,"Language codes must be 2 characters")),nationality:i.Ik({"@type":i.eu("Country"),name:i.Yj().min(1,"Country name is required")}),author:i.YO(i.Ik({"@type":i.eu("Book"),name:i.Yj().min(1,"Book name is required"),url:i.Yj().url("Book URL must be valid")}))})}},e=>{e.O(0,[4320,1675,3022,6014,5785,9718,8865,9597,8030,7942,6293,7358],()=>e(e.s=64319)),_N_E=e.O()}]);