PageSourceSearch

https://cessna.org/_next/static/chunks/6794-4b30bb23a7980ea0.js

js cessna.org collected 2026-10-02 11:41:40 UTC 45,042 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6794],{13507:(e,n,a)=>{"use strict";a.d(n,{A:()=>u});var l=a(14232),t=a(69145),i=a(18970),s=a(629),r=a(8258),o=a(18304),d=a(37876);let c=e=>{let{id:n,generateChildId:a,onSelect:o,activeKey:c,defaultActiveKey:u,transition:m,mountOnEnter:v,unmountOnExit:h,children:p}=e,[x,b]=(0,t.iC)(c,u,o),f=(0,i.Cc)(n),j=(0,l.useMemo)(()=>a||((e,n)=>f?`${f}-${n}-${e}`:null),[f,a]),g=(0,l.useMemo)(()=>({onSelect:b,activeKey:x,transition:m,mountOnEnter:v||!1,unmountOnExit:h||!1,getControlledId:e=>j(e,"tabpane"),getControllerId:e=>j(e,"tab")}),[b,x,m,v,h,j]);return(0,d.jsx)(s.A.Provider,{value:g,children:(0,d.jsx)(r.A.Provider,{value:b||null,children:p})})};c.Panel=o.A;let u=c},18304:(e,n,a)=>{"use strict";a.d(n,{A:()=>h,J:()=>m});var l=a(14232),t=a(629),i=a(8258),s=a(99856),r=a(37876);let o=["active","eventKey","mountOnEnter","transition","unmountOnExit","role","onEnter","onEntering","onEntered","onExit","onExiting","onExited"],d=["activeKey","getControlledId","getControllerId"],c=["as"];function u(e,n){if(null==e)return{};var a={};for(var l in e)if(({}).hasOwnProperty.call(e,l)){if(n.indexOf(l)>=0)continue;a[l]=e[l]}return a}function m(e){let{active:n,eventKey:a,mountOnEnter:s,transition:r,unmountOnExit:c,role:m="tabpanel",onEnter:v,onEntering:h,onEntered:p,onExit:x,onExiting:b,onExited:f}=e,j=u(e,o),g=(0,l.useContext)(t.A);if(!g)return[Object.assign({},j,{role:m}),{eventKey:a,isActive:n,mountOnEnter:s,transition:r,unmountOnExit:c,onEnter:v,onEntering:h,onEntered:p,onExit:x,onExiting:b,onExited:f}];let{activeKey:y,getControlledId:N,getControllerId:A}=g,w=u(g,d),_=(0,i.u)(a);return[Object.assign({},j,{role:m,id:N(a),"aria-labelledby":A(a)}),{eventKey:a,isActive:null==n&&null!=_?(0,i.u)(y)===_:n,transition:r||w.transition,mountOnEnter:null!=s?s:w.mountOnEnter,unmountOnExit:null!=c?c:w.unmountOnExit,onEnter:v,onEntering:h,onEntered:p,onExit:x,onExiting:b,onExited:f}]}let v=l.forwardRef((e,n)=>{let{as:a="div"}=e,[l,{isActive:o,onEnter:d,onEntering:v,onEntered:h,onExit:p,onExiting:x,onExited:b,mountOnEnter:f,unmountOnExit:j,transition:g=s.A}]=m(u(e,c));return(0,r.jsx)(t.A.Provider,{value:null,children:(0,r.jsx)(i.A.Provider,{value:null,children:(0,r.jsx)(g,{in:o,onEnter:d,onEntering:v,onEntered:h,onExit:p,onExiting:x,onExited:b,mountOnEnter:f,unmountOnExit:j,children:(0,r.jsx)(a,Object.assign({},l,{ref:n,hidden:!o,"aria-hidden":!o}))})})})});v.displayName="TabPanel";let h=v},26794:(e,n,a)=>{"use strict";a.d(n,{A:()=>ei});var l=a(37876),t=a(40876),i=a(97719),s=a(60929),r=a(29706),o=a(17419),d=a(19104),c=a(14232),u=a(89099),m=a(31777),v=a(2282),h=a(38947),p=a(89848),x=a(40525),b=a(25412),f=a(87530),j=a(54164),g=a.n(j);function y(e){var n;let{isCourse:a,isSubscription:t,book:i,subscriptionTitle:s,type:r,router:o}=e,d="shop"===o.query.from;return(0,l.jsxs)(f.A,{className:"mb-3 ".concat(g().breadcrumbCustom),children:[(0,l.jsx)(f.A.Item,{href:d?"/shop":a?"/courses":"/shop",children:d?"Shop":a?"Courses":"Shop"}),t?(0,l.jsx)(f.A.Item,{href:"/subscriptions",children:"Subscriptions"}):a&&(null==i||null==(n=i.category)?void 0:n.name)&&(d||"courses"!==i.category.name.toLowerCase())?(0,l.jsx)(f.A.Item,{href:"/courses",children:i.category.name}):!a&&(null==i?void 0:i.category)?(0,l.jsx)(f.A.Item,{href:"/category/".concat(i.category.id),onClick:e=>{e.preventDefault(),o.push({pathname:"/category/[id]",query:{id:i.category.id,type:r}})},children:i.category.name}):null,(0,l.jsx)(f.A.Item,{active:!0,children:s||(null==i?void 0:i.title)||(null==i?void 0:i.name)||"Detail"})]})}var N=a(17063);function A(e){var n;let{book:a,isCourse:t=!1}=e,i=(null==a?void 0:a.name)||(null==a?void 0:a.title)||"Book Image",s=(null==a||null==(n=a.image)?void 0:n.includes("uploads"))?"".concat("https://api.cessna.org","/").concat(a.image):"".concat("https://api.cessna.org","/uploads/2022/01/1979-R182-new-cropped.jpg");return t?(0,l.jsx)("div",{className:"h-100 d-flex align-items-start justify-content-center",children:(0,l.jsx)("div",{style:{backgroundImage:"url(".concat(s,")"),backgroundSize:"contain",backgroundPosition:"top",backgroundRepeat:"no-repeat",width:"100%",height:"100%"},role:"img","aria-label":i})}):(0,l.jsx)("div",{className:"h-100 d-flex align-items-start justify-content-center",children:(0,l.jsx)(N.A,{src:s,alt:i,width:600,unoptimized:!0,height:600,className:"w-100 object-contain ".concat(g().bookImage)})})}var w=a(10841),_=a.n(w);let C=e=>
1e?e.replace(/\\n/g,"<br />"):e;function I(e){let{book:n,bookTitle:a,priceText:t,showDiscountedPrice:i,regularPriceTotal:s}=e;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("h2",{className:"fw-bold raleway",children:a}),(0,l.jsxs)("h4",{className:"".concat((null==n?void 0:n.duration)?"text-dark":"text-danger"," Open_Sans"),children:[i?(0,l.jsxs)("div",{className:"d-flex align-items-center gap-3",children:[(0,l.jsxs)("span",{className:"text-muted text-decoration-line-through fs-5",children:["$",s.toFixed(2)]}),(0,l.jsx)("span",{className:"fw-bold fs-4",style:{color:"#16477e"},children:t})]}):t,(null==n?void 0:n.duration)&&(0,l.jsxs)("span",{children:[" ","/ ",(null==n?void 0:n.duration)==="year"?"year":null==n?void 0:n.duration]})]}),(null==n?void 0:n.shortDescription)&&(0,l.jsx)("div",{className:"Open_Sans",dangerouslySetInnerHTML:{__html:C(null==n?void 0:n.shortDescription)}})]})}var S=a(7001);function k(e){var n,a,t;let{book:r,selectedVariant:o,onVariantChange:d}=e;return Array.isArray(null==r?void 0:r.variants)&&0!==r.variants.length?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(i.A,{className:"mb-3 align-items-center",children:[(0,l.jsx)(s.A,{md:2,children:(0,l.jsx)(S.A.Label,{className:"Open-Sans-Bold fw-semibold",children:"Version"})}),(0,l.jsx)(s.A,{md:10,children:(0,l.jsxs)(S.A.Select,{value:null!=(t=null!=(a=null==o?void 0:o.variantName)?a:null==o||null==(n=o.variantNameRef)?void 0:n.name)?t:"",onChange:d,className:g().noFocusShadow,children:[(0,l.jsx)("option",{value:"",children:"Choose an option"}),r.variants.map((e,n)=>{var a,t,i,s;let r=null!=(i=null!=(t=null==e?void 0:e.variantName)?t:null==e||null==(a=e.variantNameRef)?void 0:a.name)?i:"option-".concat(n);return(0,l.jsx)("option",{value:r,children:r},null!=(s=e.id)?s:n)})]})})]}),o&&(0,l.jsxs)("div",{className:"mb-3 p-3",children:[(null==o?void 0:o.description)&&(0,l.jsx)("p",{className:"Open_Sans",dangerouslySetInnerHTML:{__html:C(null==o?void 0:o.description)}}),(0,l.jsx)("p",{className:"mb-0 text-danger fw-semibold",children:(null==o?void 0:o.price)?"$".concat(o.price):"No price"})]})]}):null}var M=a(41321);function R(e){let{value:n,onDecrease:a,onIncrease:t,decreaseDisabled:i,increaseDisabled:s}=e;return(0,l.jsxs)("div",{className:g().quantityContainer,children:[(0,l.jsx)("button",{type:"button",className:g().qtyBtn,onClick:a,disabled:i,children:"-"}),(0,l.jsx)("span",{className:g().qtyDisplay,children:n}),(0,l.jsx)("button",{type:"button",className:g().qtyBtn,onClick:t,disabled:s,children:"+"})]})}function E(e){let{isCourse:n,isSubscription:a,courseType:t,queryMode:i,quantity:s,setQuantity:r,showParticipantModal:o,onlineCartItem:d,cartItem:c,isOutOfStock:u,hasNoPrice:m,alreadyPurchasedOnline:v,userHasActiveSubscription:h,onAddToCart:p,onOpenParticipants:x,onSubscribe:b,onOnlineDecrease:f,onOnlineIncrease:j,onProductDecrease:y,onProductIncrease:N}=e;return(0,l.jsxs)("div",{className:"d-flex flex-column gap-2 align-items-start",children:[n&&("online"===t||"both"===t&&"online"===i)&&(0,l.jsx)("div",{className:"d-flex align-items-center gap-3 mb-3",children:v?(0,l.jsx)("div",{className:"text-danger fw-semibold small",children:"This course is already in your profile."}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(R,{value:d?d.qty:s,onDecrease:f,onIncrease:j,decreaseDisabled:d?d.qty<=1:s<=1}),(0,l.jsx)(M.A,{variant:"primary",className:g().actionButton,onClick:()=>p(null,{mode:"online"}),children:"Add to Cart"})]})}),n&&("in_person"===t||"both"===t&&"online"!==i)&&(0,l.jsxs)("div",{className:"d-flex align-items-center gap-3 mb-3",children:[(0,l.jsx)(R,{value:s,onDecrease:()=>r(e=>Math.max(1,e-1)),onIncrease:()=>{r(e=>e+1)},decreaseDisabled:s<=1}),(0,l.jsx)(M.A,{variant:"primary",className:g().actionButton,onClick:x,children:"Add Participants"})]}),!n&&!a&&(0,l.jsxs)("div",{className:"d-flex align-items-center gap-3 mb-1",children:[(0,l.jsx)(R,{value:c?c.qty:s,onDecrease:y,onIncrease:N,decreaseDisabled:u||(c?c.qty<=1:s<=1),increaseDisabled:u}),(0,l.jsx)(M.A,{variant:"primary",className:g().actionButton,onClick:()=>p(),disabled:u||m,children:u||m?"Out of Stock":"Add to Cart"})]}),a&&(0,l.jsx)(M.A,{variant:"primary",className:g().actionButton,onClick:b,children:h?"Upgrade":"Sign Up"})]})}function P(e){var n;let{book:a,isSubscription:t,isCourse:r,selectedVariant:o,router:d}=e;return(0,l.jsxs)("div",{className:"mt-5",children:[(0,l.jsx)("h6",{className:"fw-bold text-uppercase mb-2",style:{fontSize:"12px",letterSpacing:"0.5px",color:"#122B46"},children:"Specs"}),(0,l.jsx)("div",{className:"mb-3",style:{borderTop:"1px solid #eaeaea"}}),(null==a?void 0:a.hasVariant)&&(0,l.jsxs)(i.A,{className:"mb-2",children:[(0,l.jsx)(s.A,{xs:4,className:"text-muted",style:{fontSize:"14px"},children:"SKU:"}),(0,l.jsx)(s.A,{xs:8,children:(0,l.jsx)("span",{style:{fontSize:"14px"},children:(null==o?void 0:o.sku)||"N/A"})})]}),(0,l.jsxs)(i.A,{className:"mb-2",children:[(0,l.jsx)(s.A,{xs:4,className:"text-muted",style:{fontSize:"14px"},children:"Categories:"}),(0,l.jsx)(s.A,{xs:8,children:(0,l.jsx)("span",{style:{color:"#74C0FC",fontSize:"14px",cursor:"pointer"},onClick:()=>{t?d.push("/subscriptions"):(null==a?void 0:a.category)&&d.push("/category/".concat(a.category.id))},children:t?"Subscriptions":(null==a||null==(n=a.category)?void 0:n.name)||"Courses"})})]}),(r||(null==a?void 0:a.hasVariant))&&(0,l.jsxs)(i.A,{children:[(0,l.jsx)(s.A,{xs:4,className:"text-muted",style:{fontSize:"14px"},children:"Availability:"}),(0,l.jsx)(s.A,{xs:8,children:(0,l.jsxs)("span",{style:{color:"#BCA346",fontSize:"14px",fontWeight:"500"},children:["Available!",(null==a?void 0:a.hasVariant)?" (can be backordered)":""]})})]})]})}var D=a(95625),T=a(76820),B=a(38074),O=a.n(B),F=a(49038),Y=a(22329),q=a(97388),L=a(70294);a(54587);var z=a(20453),V=a(64838),K=a(18242),U=a(74613),$=a(56720),H=a(2491),G=a.n(H),J=a(75076),W=a(48230),Q=a.n(W);let X=e=>{let{book:n,readOnly:a}=e,{token:t,user:i}=(0,m.d4)(e=>e.auth),[s,r]=(0,c.useState)([]),[o,d]=(0,c.useState)(0),[v,h]=(0,c.useState)(0),[b,f]=(0,c.useState)(""),[j,g]=(0,c.useState)(!1),[y,N]=(0,c.useState)(!1),[A,w]=(0,c.useState)(1),[C,I]=(0,c.useState)(1),[S,k]=(0,c.useState)(null),{subscriptionTitle:M,subscription:R}=(0,u.useRouter)().query,E=(0,c.useCallback)(async()=>
1{if(null==n?void 0:n.id)try{g(!0);let e=await x.A.get("/product-review/product/".concat(n.id));e.data&&(r(e.data.data||[]),e.data.pagination&&I(e.data.pagination.totalPages||1))}catch(e){console.error("Error fetching reviews:",e)}finally{g(!1)}},[null==n?void 0:n.id]),P=(0,c.useCallback)(async()=>{if((null==n?void 0:n.id)&&t)try{var e;let a=await x.A.get("/product-review/product/".concat(n.id,"/user"));if(null==(e=a.data)?void 0:e.data){let e=a.data.data;d(e.rating),f(e.review),k(e.id)}}catch(e){console.log("No user review found or error:",e)}},[null==n?void 0:n.id,t]);(0,c.useEffect)(()=>{E(),t&&P()},[E,P,t]);let D=async e=>{var a,l,i,s,r,c;if(e.preventDefault(),!t)return void p.oR.error("Please login to write a review");if(0===o)return void p.oR.error("Please select a rating");if(!b.trim())return void p.oR.error("Please enter your review");try{if(N(!0),S){let e=await x.A.patch("/product-review/".concat(S),{rating:o,review:b},{headers:{Authorization:"Bearer ".concat(t)}});(200===e.status||(null==(a=e.data)?void 0:a.success)||(null==(l=e.data)?void 0:l.msg))&&(p.oR.success("Review updated successfully!"),k(null))}else{let e=await x.A.post("/product-review",{productId:n.id,rating:o,review:b},{headers:{Authorization:"Bearer ".concat(t)}});(200===e.status||(null==(i=e.data)?void 0:i.success)||(null==(s=e.data)?void 0:s.msg))&&p.oR.success("Review submitted successfully!")}d(0),f(""),E()}catch(e){console.error("Error submitting review:",e),p.oR.error((null==e||null==(c=e.response)||null==(r=c.data)?void 0:r.message)||"Failed to submit review")}finally{N(!1)}},T=()=>{d(0),f(""),k(null)},B=async e=>{if((await G().fire({title:"Are you sure?",text:"You won't be able to revert this!",icon:"warning",showCancelButton:!0,confirmButtonColor:"#3085d6",cancelButtonColor:"#d33",confirmButtonText:"Yes, delete it!"})).isConfirmed){var n,a,l;try{let a=await x.A.delete("/product-review/".concat(e),{headers:{Authorization:"Bearer ".concat(t)}});(200===a.status||(null==(n=a.data)?void 0:n.msg)||(null==a?void 0:a.msg))&&(G().fire("Deleted!","Your review has been deleted.","success"),r(n=>n.filter(n=>n.id!=e)),S===e&&T())}catch(e){console.error("Error deleting review:",e),G().fire("Error!",(null==e||null==(l=e.response)||null==(a=l.data)?void 0:a.message)||"Failed to delete review","error")}}},H=c.forwardRef((e,n)=>{let{children:a,onClick:t}=e;return(0,l.jsx)("button",{ref:n,onClick:e=>{e.preventDefault(),t(e)},className:"btn btn-link btn-sm text-decoration-none p-0 text-secondary",style:{border:"none",background:"none"},children:a})});return H.displayName="CustomToggle",(0,l.jsxs)("div",{className:O().reviewsContainer,children:[(0,l.jsxs)("h3",{className:O().reviewsTitle,children:[s.length," reviews for ",(null==n?void 0:n.name)||(null==n?void 0:n.title)]}),j?(0,l.jsx)("div",{className:"text-center py-4",children:(0,l.jsx)(V.A,{animation:"border",role:"status",variant:"primary",children:(0,l.jsx)("span",{className:"visually-hidden",children:"Loading..."})})}):s.length>0?(0,l.jsxs)("div",{className:"mb-5",children:[s.map(e=>{var n,a,t,s,r;return(0,l.jsxs)("div",{className:"d-flex gap-3 mb-4 border-bottom pb-4",children:[(0,l.jsx)("div",{className:"flex-shrink-0",children:(0,l.jsx)(z.A,{src:null==e||null==(n=e.user)?void 0:n.image,alt:(null==e||null==(a=e.user)?void 0:a.firstName)||"User",width:50,height:50,className:"rounded-circle object-fit-cover"})}),(0,l.jsxs)("div",{className:"flex-grow-1",children:[(0,l.jsxs)("div",{className:"d-flex justify-content-between align-items-start mb-2",children:[(0,l.jsxs)("div",{children:[(0,l.jsxs)("span",{className:"fw-bold",style:{color:"#666",fontSize:"15px"},children:[null==e||null==(t=e.user)?void 0:t.firstName," ",null==e||null==(s=e.user)?void 0:s.lastName]}),(0,l.jsx)("span",{className:"mx-2 text-muted",children:"–"}),(0,l.jsx)("span",{className:"text-muted",style:{fontSize:"14px"},children:_()(e.created_at).format("MM/DD/YYYY")})]}),(0,l.jsxs)("div",{className:"d-flex align-items-center gap-2",children:[(0,l.jsx)("div",{className:"d-flex",style:{color:"#fbbc04"},children:[void 0,void 0,void 0,void 0,void 0].map((n,a)=>(0,l.jsx)(F.gt3,{className:a<e.rating?"":"text-muted opacity-25",size:14,color:a<e.rating?"#fbbc04":"#e4e5e9"},a))}),((null==i||null==(r=i.data)?void 0:r.id)==(null==e?void 0:e.userId)||(null==i?void 0:i.id)==(null==e?void 0:e.userId)
1)&&(0,l.jsxs)(K.A,{children:[(0,l.jsx)(U.A,{placement:"top",overlay:(0,l.jsx)($.A,{children:"More Options"}),children:(0,l.jsx)(K.A.Toggle,{as:H,children:(0,l.jsx)(q.mqA,{size:20})})}),(0,l.jsxs)(K.A.Menu,{align:"end",children:[(0,l.jsxs)(K.A.Item,{onClick:()=>(e=>{d(e.rating),f(e.review),k(e.id);let n=document.getElementById("review-form");n&&n.scrollIntoView({behavior:"smooth"})})(e),children:[(0,l.jsx)(Y.d4M,{className:"me-2",size:18})," Edit"]}),(0,l.jsxs)(K.A.Item,{onClick:()=>B(e.id),className:"text-danger",children:[(0,l.jsx)(L.IXo,{className:"me-2",size:18})," Delete"]})]})]})]})]}),(0,l.jsx)("p",{className:"mb-0 text-secondary",style:{fontSize:"15px"},children:e.review})]})]},e.id)}),(0,l.jsx)(J.A,{page:A,totalPages:C,onPageChange:w,styles:O()})]}):"subscriptions"==R?(0,l.jsxs)("div",{className:"text-start py-2",children:[(0,l.jsx)("p",{className:O().noReviewsText,children:"There are no reviews yet."}),(0,l.jsxs)("strong",{children:["Be the first to review “",M,"”"]}),(0,l.jsxs)("span",{className:"d-flex",children:["You must be"," ",(0,l.jsx)(Q(),{href:"/auth/login",className:"ms-1 me-1 text-decoration-none",style:{color:"#7cc4ff"},children:"logged in"})," ","to post a review."]})]}):(0,l.jsx)("div",{className:"text-start py-4",children:(0,l.jsx)("p",{className:O().noReviewsText,children:"There are no reviews yet."})}),!a&&(0,l.jsxs)("div",{className:"mt-4",id:"review-form",children:[(0,l.jsx)("h4",{className:O().formTitle,children:S?"EDIT YOUR REVIEW":"BE THE FIRST TO REVIEW “".concat((null==n?void 0:n.name)||(null==n?void 0:n.title)||"THIS BOOK","”")}),(0,l.jsxs)("form",{onSubmit:D,children:[(0,l.jsxs)("div",{className:"mb-3",children:[(0,l.jsx)("label",{className:O().label,children:"Your rating *"}),(0,l.jsx)("div",{className:O().starRating,children:[void 0,void 0,void 0,void 0,void 0].map((e,n)=>{let a=n+1;return(0,l.jsx)(F.gt3,{className:a<=(v||o)?"".concat(O().star," ").concat(O().active):O().star,onClick:()=>d(a),onMouseEnter:()=>h(a),onMouseLeave:()=>h(0)},n)})})]}),(0,l.jsxs)("div",{className:"mb-3",children:[(0,l.jsx)("label",{className:O().label,children:"Your review *"}),(0,l.jsx)("textarea",{className:O().textArea,value:b,onChange:e=>f(e.target.value),rows:4})]}),(0,l.jsxs)("div",{className:"d-flex justify-content-end gap-2",children:[S&&(0,l.jsx)("button",{type:"button",className:"btn btn-outline-secondary",onClick:T,children:"Cancel"}),(0,l.jsx)("button",{type:"submit",className:O().submitBtn,disabled:y,children:y?"Submitting...":S?"Update":"Submit"})]})]})]})]})};function Z(e){let{book:n,isCourse:a,isSubscription:t}=e;return(0,l.jsx)(i.A,{className:"mt-5",children:(0,l.jsx)(s.A,{children:(0,l.jsxs)(D.A,{defaultActiveKey:"description",className:"mb-3 ".concat(g().tabNav),children:[(0,l.jsx)(T.A,{eventKey:"description",title:"Description",children:(0,l.jsxs)("div",{className:"bg-white p-4 border rounded shadow-sm",children:[(0,l.jsx)("h2",{className:"fw-bold raleway mb-4",children:"Description"}),(0,l.jsx)("div",{className:"Open_Sans",dangerouslySetInnerHTML:{__html:C(null==n?void 0:n.description)}})]})}),!t&&(0,l.jsx)(T.A,{eventKey:"additional",title:"Additional Information",children:(0,l.jsxs)("div",{className:"bg-white p-4 border rounded shadow-sm",children:[(0,l.jsx)("h2",{className:"fw-bold raleway mb-4",children:"Additional Information"}),(null==n?void 0:n.additionalInformation)||(null==n?void 0:n.additionalDescription)?(0,l.jsx)("p",{className:"Open_Sans",dangerouslySetInnerHTML:{__html:C(null==n?void 0:n.additionalInformation)||C(null==n?void 0:n.additionalDescription)}}):(0,l.jsx)("p",{className:"text-muted",children:"No additional info provided."})]})}),!a&&(0,l.jsx)(T.A,{eventKey:"reviews",title:"Reviews",children:(0,l.jsx)("div",{className:"bg-white p-4 border rounded shadow-sm",children:(0,l.jsx)(X,{book:n,readOnly:t})})})]})})})}var ee=a(3572);function en(e){let{items:n,isCourse:a,isSubscription:t,isLoggedIn:r,userHasActiveSubscription:o,onAddToCart:d,router:c}=e,u=n.filter(e=>(null==e?void 0:e.status)==="active");if(0===u.length)return null;let m=t?o?"Upgrade":"Sign Up":"ADD TO CART";return(0,l.jsx)(i.A,{className:"mt-5",children:(0,l.jsxs)(s.A,{children:[(0,l.jsx)("h4",{className:"fw-bold mb-4 raleway",style:{color:"#0E2B5C"},children:"Related Products"}),(0,l.jsx)(i.A,{children:u.map(e=>(0,l.jsx)(s.A,{xs:12,md:6,lg:4,xl:4,xxl:3,className:"mb-4",children:(0,l.jsx)(ee.A,{product:e,isLoggedIn:r,onReadMore:()=>{t?c.push((0,b.F)({...e,category:"Subscriptions"}
1)):a?c.push("/shop/courses/".concat(e.id,"?type=course&mode=in_person")):c.push((0,b.F)(e))},onAddToCart:()=>d(e),readMoreLabel:(null==e?void 0:e.hasVariant)?"Select Options":"Read More",addToCartLabel:m,isCourse:a,isCpaCourse:!1,showReadMore:!t,isSubscription:t})},e.id))})]})})}var ea=a(91858),el=a(38651);function et(e){var n,a;let{show:t,onClose:i,participants:s,participantErrors:r,onUpdateParticipant:o,selectedLocation:d,onLocationChange:c,locations:u,modalUnitPrice:m,modalTotal:v,onSubmit:h}=e,p=(null==d||null==(a=d.address)||null==(n=a.split(",")[1])?void 0:n.trim())||"Jackson";return(0,l.jsxs)(el.A,{show:t,handleClose:i,title:"Participant Details",hideFooter:!0,size:"md",children:[(0,l.jsxs)("div",{className:g().modalScrollArea,children:[s.map((e,n)=>{var a,t,i,s;return(0,l.jsxs)("div",{className:g().modalSection,children:[(0,l.jsxs)("span",{className:g().participantLabel,children:["Participant # ",n+1]}),(0,l.jsxs)(S.A.Group,{className:"mb-3",children:[(0,l.jsxs)(S.A.Label,{children:["First Name: ",(0,l.jsx)("span",{className:"text-danger",children:"*"})]}),(0,l.jsx)(S.A.Control,{type:"text",value:e.firstName,onChange:e=>o(n,"firstName",e.target.value),className:g().noFocusShadow,isInvalid:!!(null==(a=r[n])?void 0:a.firstName)}),(null==(t=r[n])?void 0:t.firstName)&&(0,l.jsx)(S.A.Control.Feedback,{type:"invalid",children:r[n].firstName})]}),(0,l.jsxs)(S.A.Group,{className:"mb-3",children:[(0,l.jsx)(S.A.Label,{children:"Last Name:"}),(0,l.jsx)(S.A.Control,{type:"text",value:e.lastName,onChange:e=>o(n,"lastName",e.target.value),className:g().noFocusShadow})]}),(0,l.jsxs)(S.A.Group,{className:"mb-3",children:[(0,l.jsxs)(S.A.Label,{children:["Email: ",(0,l.jsx)("span",{className:"text-danger",children:"*"})]}),(0,l.jsx)(S.A.Control,{type:"email",value:e.email,onChange:e=>o(n,"email",e.target.value),className:g().noFocusShadow,isInvalid:!!(null==(i=r[n])?void 0:i.email)}),(null==(s=r[n])?void 0:s.email)&&(0,l.jsx)(S.A.Control.Feedback,{type:"invalid",children:r[n].email})]}),(0,l.jsxs)(S.A.Group,{className:"mb-3",children:[(0,l.jsx)(S.A.Label,{children:"What model and year is your Cessna?"}),(0,l.jsx)(S.A.Control,{type:"text",value:e.cessnaModelYear,onChange:e=>o(n,"cessnaModelYear",e.target.value),className:g().noFocusShadow})]}),(0,l.jsxs)(S.A.Group,{className:"mb-3",children:[(0,l.jsxs)(S.A.Label,{children:["Are you flying your Cessna to ",p,"?"]}),(0,l.jsxs)(S.A.Select,{value:e.flyingCessna,onChange:e=>o(n,"flyingCessna",e.target.value),className:g().noFocusShadow,children:[(0,l.jsx)("option",{value:"yes",children:"Yes"}),(0,l.jsx)("option",{value:"no",children:"No"})]})]}),(0,l.jsxs)(S.A.Group,{className:"mb-3",children:[(0,l.jsx)(S.A.Label,{children:"If flying over Cessna, what is your N#:"}),(0,l.jsx)(S.A.Control,{type:"text",value:e.cessnaNumber,onChange:e=>o(n,"cessnaNumber",e.target.value),className:g().noFocusShadow})]})]},n)}),(0,l.jsx)("div",{className:"mt-2",children:(0,l.jsxs)(S.A.Group,{className:"mb-4",children:[(0,l.jsxs)(S.A.Label,{className:"fw-bold",children:[(0,l.jsx)(ea.GP0,{size:20})," Select Location"]}),(0,l.jsxs)(S.A.Select,{value:(null==d?void 0:d.placeId)||"",onChange:e=>c(e.target.value),className:g().noFocusShadow,required:!0,children:[(0,l.jsx)("option",{value:"",children:"Choose a location..."}),null==u?void 0:u.map(e=>(0,l.jsx)("option",{value:e.placeId,children:e.address},e.placeId))]})]})})]}),(0,l.jsxs)("div",{className:g().modalFooter,children:[m>0&&(0,l.jsxs)("div",{className:"mb-3 w-100 d-flex justify-content-between align-items-center px-2",style:{fontSize:"1.1rem",fontWeight:"bold",color:"#0E2B5C",borderBottom:"1px solid #eee",paddingBottom:"10px"},children:[(0,l.jsx)("span",{children:"Total Price:"}),(0,l.jsxs)("span",{children:["$",v]})]}),(0,l.jsx)(M.A,{className:g().actionButton,onClick:h,style:{width:"100%",marginTop:0},children:"Add to cart"})]})]})}function ei(e){let{book:n,loading:a}=e,{router:f,subscriptionTitle:j,type:g,isCourse:N,isSubscription:w,courseType:C,isLoggedIn:S,userHasActiveSubscription:M,selectedVariant:R,relatedItems:D,quantity:T,setQuantity:B,showParticipantModal:O,selectedLocation:F,setSelectedLocation:Y,participants:q,participantErrors:L,alreadyPurchasedOnline:z,cartItem:V,onlineCartItem:K,handleVariantChange:U,handleAddToCart:$,handleRelatedAddToCart:H,handleSubscribe:G,handleOnlineDecrease:J,handleOnlineIncrease:W,handleProductDecrease:Q,handleProductIncrease:X,handleOpenParticipants:ee,handleCloseModal:ea,updateParticipant:el,validateParticipants:ei}=function(e){var n,a,l,t,i;let s=(0,m.wA)(),{token:r,user:o}=(0,m.d4)(e=>e.auth),{hasSubscription:d}=(0,m.d4)(e=>{var n;return null!=(n=null==e?void 0:e.subscriptions)?n:{}}),f=(0,m.d4)(e=>e.cart.items),j=!!((null==o||null==(n=o.data)?void 0:n.subscription)||d),g=(0,u.useRouter)(),{subscriptionTitle:y,subscription:N,type:A,isUpgrade:w,mode:_}=g.query,C=(null==A?void 0:A.toLowerCase())==="course",I="subscription"===N,S=null==e||null==(a=e.courseType)?void 0:a.toLowerCase(),k=(null==e?void 0:e.id)||(null==e?void 0:e.documentId),[M,R]=(0,c.useState)(!!r),[E,P]=(0,c.useState)(null!=(i=null==e||null==(l=e.variants)?void 0:l[0])?i:null),[D,T]=(0,c.useState)([]),[B,O]=(0,c.useState)(1),[F,Y]=(0,c.useState)(!1),[q,L]=(0,c.useState)(null),[z,V]=(0,c.useState)([]),[K,U]=(0,c.useState)([]),[$,H]=(0,c.useState)(!1),G=f.find(n=>{var a;return(n.id==k||n.documentId==(null==e?void 0:e.documentId)||n.originalId==k)&&!n.courseMode&&n.variantId==(null!=(a=null==E?void 0:E.id)?a:null)}),J=f.find(n=>(n.id==k||n.documentId==(null==e?void 0:e.documentId))&&"online"===n.courseMode);return(0,c.useEffect)(()=>{R(!!r)},[r]),(0,c.useEffect)(()=>{V(e=>Array.from({length:B},(n,a)=>a<e.length?e[a]:{firstName:"",lastName:"",email:"",cessnaModelYear:"",flyingCessna:"yes",cessnaNumber:"",locationId:(null==q?void 0:q.placeId)||""}))},[B,F,null==q?void 0:q.placeId]),(0,c.useEffect)(()=>{V(e=>e.map(e=>({...e,locationId:(null==q?void 0:q.placeId)||""})))},[null==q?void 0:q.placeId]),(0,c.useEffect)(()=>{var n;if(!F||!C||"in_person"!==S&&"in_person"!==g.query.mode)return;let a=null==e||null==(n=e.locations)?void 0:n[0];(null==a?void 0:a.placeId)&&L(a)},[F,C,S,g.query.mode,null==e?void 0:e.locations]),(0,c.useEffect)(()=>{(async()=>
1{if(C&&r&&k&&("online"===S||"both"===S||"online"===g.query.mode))try{var n;let a=await x.A.get("user/myCourses?page=1&limit=100");if((null==(n=a.data)?void 0:n.success)&&Array.isArray(a.data.data)){let n=a.data.data,l=[];n.length>0&&(l=n[0].purchases&&Array.isArray(n[0].purchases)?n.flatMap(e=>(e.purchases||[]).filter(e=>"course"===e.type&&e.course)):"course"===n[0].type&&n[0].course?n.filter(e=>"course"===e.type&&e.course):n.filter(e=>{var n;return e.name||(null==(n=e.course)?void 0:n.name)}).map(e=>e.course?e:{course:e}));let t=!!k&&l.some(n=>n.course&&"in_person"!==n.courseMode&&(String(n.course.id)===String(k)||(null==e?void 0:e.documentId)&&n.course.documentId===e.documentId));H(t)}}catch(e){console.error("Error checking purchased courses:",e)}})()},[C,r,k,S,g.query.mode,null==e?void 0:e.documentId]),(0,c.useEffect)(()=>{(async()=>{try{if(C){var n,a,l;let{data:t}=await x.A.get("/product/cpa-courses?status=active"),i=null!=(n=null==t?void 0:t.data)?n:{},s=[...null!=(a=i.online)?a:[],...null!=(l=i["in-person"])?l:[]];T(s.filter(n=>n.id!==(null==e?void 0:e.id)).slice(0,4))}else if(I){let{data:n}=await x.A.get("subscription/"),a=Array.isArray(n)?n:(null==n?void 0:n.data)||[];T(a.filter(n=>n.id!==(null==e?void 0:e.id)&&n.documentId!==(null==e?void 0:e.id)))}else{let{data:n}=await x.A.get("/product/"),a=Array.isArray(null==n?void 0:n.data)?n.data:[];T(a.filter(n=>{var a,l,t;return n.id!==(null==e?void 0:e.id)&&(null==(a=n.status)?void 0:a.toLowerCase())==="active"&&(null==n||null==(l=n.category)?void 0:l.id)===(null==e||null==(t=e.category)?void 0:t.id)}).slice(0,4))}}catch(e){console.error("Error fetching related items:",e)}})()},[I,C,null==e?void 0:e.id,null==e||null==(t=e.category)?void 0:t.id]),{router:g,subscriptionTitle:y,subscription:N,type:A,isUpgrade:w,mode:_,isCourse:C,isSubscription:I,courseType:S,bookId:k,isLoggedIn:M,userHasActiveSubscription:j,selectedVariant:E,relatedItems:D,quantity:B,setQuantity:O,showParticipantModal:F,selectedLocation:q,setSelectedLocation:L,participants:z,participantErrors:K,alreadyPurchasedOnline:$,cartItem:G,onlineCartItem:J,handleVariantChange:n=>{try{var a;let l=n.target.value,t=null==e||null==(a=e.variants)?void 0:a.find(e=>{var n;return(null==e?void 0:e.variantName)===l||(null==e||null==(n=e.variantNameRef)?void 0:n.name)===l});P(null!=t?t:null)}catch(e){console.error("Error selecting variant:",e),P(null)}},handleAddToCart:function(n){var a,l,t,i;let r,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!M)return void g.push("/auth/login");if($&&"online"===o.mode)return void p.oR.error("This course is already in your profile.");if((null==e?void 0:e.hasVariant)&&!E&&(null==e||null==(a=e.variants)?void 0:a.length)>0)return void p.oR.error("Please select an option");let d="online"===o.mode;if(!d&&C&&F&&!q)return void p.oR.error("Please select a location");if(null==(r=d?(null==e?void 0:e.price)-(null==e?void 0:e.discount)||0:C&&q?Number(null==q?void 0:q.price)-(Number(null==e?void 0:e.discount)||0):(null==e?void 0:e.hasVariant)&&E?E.price:(null==e?void 0:e.discount)?Number(null==e?void 0:e.price)-Number(null==e?void 0:e.discount)||0:Number(null==e?void 0:e.price)||0)||"number"==typeof r&&isNaN(r))return void p.oR.error("Price not available");s((0,h.Os)()),s((0,v.ID)());let c=d?"online":C&&q?"in_person":C?"online":null;s((0,v.bE)({id:e.id||e.documentId,documentId:e.documentId||null,variantId:(null==E?void 0:E.id)||null,originalId:e.id||e.documentId,title:e.hasVariant&&E?"".concat(e.name," - ").concat(null!=(i=null!=(t=E.variantName)?t:null==(l=E.variantNameRef)?void 0:l.name)?i:""):e.name,price:r,image:e.image||null,qty:B,type:C?"course":"product",location:!d&&C&&q?q:null,courseMode:c,participants:!d&&C&&q?z.map(e=>({...e,locationId:q.placeId})):null,courseType:c})),p.oR.success("Successfully added to cart"),F&&(Y(!1),O(1),V([]),U([]))},handleRelatedAddToCart:e=>I?void g.push((0,b.F)({...e,category:"Subscriptions"})):e.hasVariant?void g.push((0,b.F)(e)):M?void(s((0,h.Os)()),s((0,v.ID)()),s((0,v.bE)({id:e.id,title:e.title||e.name,price:e.discount?Number(e.price)-Number(e.discount)||0:Number(e.price)||0,image:e.image||null})),p.oR.success("Successfully added to cart")):void g.push("/auth/login"),handleSubscribe:()=>{let n=E?{...e,...E,id:e.id,title:E.variantName?"".concat(e.title," - ").concat(E.variantName):e.title,price:E.price,duration:E.duration||e.duration,variantId:E.id}:e;
1s((0,h.hO)(n)),s((0,v.m4)(!1)),g.push("/checkout?PlanId=".concat(null==e?void 0:e.id).concat("true"===w?"&isUpgrade=true":""))},handleOnlineDecrease:()=>{if(J){var e;J.qty>1&&s((0,v.Jp)(null!=(e=J.id)?e:J.documentId))}else O(e=>Math.max(1,e-1))},handleOnlineIncrease:()=>{if(J){var e;s((0,v.fs)(null!=(e=J.id)?e:J.documentId))}else O(e=>e+1)},handleProductDecrease:()=>{if(G){var e,n;G.qty>1&&s((0,v.Jp)({originalId:G.originalId||G.id,variantId:null!=(e=G.variantId)?e:null,courseMode:null!=(n=G.courseMode)?n:null}))}else O(e=>Math.max(1,e-1))},handleProductIncrease:()=>{if(G){var e,n;s((0,v.fs)({originalId:G.originalId||G.id,variantId:null!=(e=G.variantId)?e:null,courseMode:null!=(n=G.courseMode)?n:null}))}else O(e=>e+1)},handleOpenParticipants:()=>{Y(!0)},handleCloseModal:()=>{Y(!1),U([])},updateParticipant:(e,n,a)=>{V(l=>{let t=[...l];return t[e]={...t[e],[n]:a},t}),("firstName"===n||"email"===n)&&U(a=>{let l=[...a];return l[e]&&(l[e]={...l[e],[n]:""}),l})},validateParticipants:()=>{let e=z.map(e=>({firstName:e.firstName.trim()?"":"Name is required",email:e.email.trim()?/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e.email.trim())?"":"Enter a valid email":"Email is required"}));return U(e),e.every(e=>!e.firstName&&!e.email)}}}(n);if(a)return(0,l.jsx)("div",{className:"d-flex justify-content-end justify-content-md-center align-items-center",style:{minHeight:"100vh"},children:(0,l.jsx)(r.A,{animationData:o,loop:!0})});let es=f.query.mode,er="in_person"===C||"in_person"===es,eo="online"===es||("both"===C||"online"===C)&&"in_person"!==es,ed=(null==n?void 0:n.name)||(null==n?void 0:n.title)||"",ec=((e,n)=>{var a;let{isCourse:l,isInPerson:t,selectedLocation:i}=n,s=(null==e?void 0:e.name)||(null==e?void 0:e.title)||"";if(!l)return s;if(!t)return"Online Course: ".concat(s);let r=i||(null==e||null==(a=e.locations)?void 0:a[0]),o=[s];(null==r?void 0:r.address)&&o.push(r.address);let d=((e,n)=>{if(!e)return null;let a=_()(e);if(!a.isValid())return null;if(!n)return a.format("MMMM D, YYYY");let l=_()(n);return l.isValid()?a.year()!==l.year()?"".concat(a.format("MMMM D, YYYY")," – ").concat(l.format("MMMM D, YYYY")):a.month()!==l.month()?"".concat(a.format("MMMM D")," – ").concat(l.format("MMMM D, YYYY")):"".concat(a.format("MMMM D"),"–").concat(l.format("D, YYYY")):a.format("MMMM D, YYYY")})(null==e?void 0:e.startDate,null==e?void 0:e.endDate);return d&&o.push(d),o.join(" — ")})(n,{isCourse:N,isInPerson:er,selectedLocation:F}),eu=((e,n)=>{var a,l,t,i,s;let{isCourse:r,isCourseOnline:o,courseType:d,queryMode:c,selectedLocation:u}=n;if(r&&o)return(null==e?void 0:e.price)&&Number(e.price)>0?"$".concat(Number(e.price-e.discount).toFixed(2)):"Price not available";if(r&&"in_person"===c&&!u&&(null==e||null==(a=e.locations)?void 0:a.length)>0){let n=Number(e.locations[0].price),a=Number(null==e?void 0:e.discount)||0;return"$".concat((n-a).toFixed(2))}if(r&&("both"===d||"online"===d)&&!u)return(null==e?void 0:e.price)&&Number(e.price)>0?"$".concat(Number(e.price).toFixed(2)):"0";if(r){let n=Number(null==e?void 0:e.discount)||0;return u?"$".concat((Number(u.price)-n).toFixed(2)):"in_person"===d&&(null==e||null==(l=e.locations)?void 0:l.length)>0?"$".concat((Number(e.locations[0].price)-n).toFixed(2)):(null==e?void 0:e.price)&&Number(e.price)>0?"$".concat(Number(e.price).toFixed(2)):"Select a location for price"}return(null==e?void 0:e.hasVariant)?(null==e?void 0:e.minPrice)===(null==e?void 0:e.maxPrice)?"$".concat(null!=(t=null==e?void 0:e.minPrice)?t:0):"$".concat(null!=(i=null==e?void 0:e.minPrice)?i:0," - $").concat(null!=(s=null==e?void 0:e.maxPrice)?s:0):"$".concat((null==e?void 0:e.discount)?Number((null==e?void 0:e.price)-(null==e?void 0:e.discount)).toFixed(2):null==e?void 0:e.price)})(n,{isCourse:N,isCourseOnline:eo,courseType:C,queryMode:es,selectedLocation:F}),em=Number(null==n?void 0:n.discount)||0,ev=parseFloat(eu.replace(/[^0-9.]/g,"")),eh=em>0&&ev&&!(null==n?void 0:n.hasVariant),ep=!(null==n?void 0:n.stock)||(null==n?void 0:n.stock)<=0||(null==n?void 0:n.availability)==="out_of_stock",ex=(null==n?void 0:n.price)==null&&(null==n?void 0:n.minPrice)==null&&(null==n?void 0:n.maxPrice)==null,eb=((e,n,a)=>{var l;let t=Number(null==a?void 0:a.discount)||0;return e?Number(e.price)-t:"in_person"===n&&(null==a||null==(l=a.locations)?void 0:l.length)>0?Number(a.locations[0].price)-t:(null==a?void 0:a.price)&&Number(a.price)>0?Number(a.price)-t:0})(F,C,n),ef=(eb*T).toFixed(2);return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(d.A,{title:"".concat(ed,"-Detail - Cessna Pilots Association"),description:"Cessna Pilots Association Leading the industry for over 30 years Join / Renew CPA Forums CPA Forums have been active for over 20 years, with…",url:"".concat("https://api.cessna.org","/").concat(null==n?void 0:n.image),image:"https://flyingmag1.b-cdn.net/wp-content/uploads/sites/2/2012/02/399113-_BP20765-6c1cfd-original-1629145877-scaled-1.jpg?width=1024&height=683",keywords:["Cessna books","aviation literature","flight manuals","Cessna Pilots","In-Person Courses","Books","Online Courses","Magazines"]}),(0,l.jsxs)(t.A,{className:"my-5",children:[(0,l.jsx)(y,{isCourse:N,isSubscription:w,book:n,subscriptionTitle:j,type:g,router:f}),(0,l.jsx)("div",{className:"bg-white p-4 border rounded shadow-sm",children:(0,l.jsxs)(i.A,{children:[(0,l.jsx)(s.A,{md:6,className:"text-center",children:(0,l.jsx)(A,{book:n,isCourse:N})}),(0,l.jsx)(s.A,{md:6,className:"mt-3 mt-md-0",children:(0,l.jsxs)("div",{className:"h-100",children:[(0,l.jsx)(I,{book:n,bookTitle:ec,priceText:eu,showDiscountedPrice:eh,regularPriceTotal:eh?ev+em:null}),(0,l.jsx)(k,{book:n,selectedVariant:R,onVariantChange:U}),(0,l.jsx)(E,{isCourse:N,isSubscription:w,courseType:C,queryMode:es,quantity:T,setQuantity:B,showParticipantModal:O,onlineCartItem:K,cartItem:V,isOutOfStock:ep,hasNoPrice:ex,alreadyPurchasedOnline:z,userHasActiveSubscription:M,onAddToCart:$,onOpenParticipants:ee,onSubscribe:G,onOnlineDecrease:J,onOnlineIncrease:W,onProductDecrease:Q,onProductIncrease:X}),(0,l.jsx)(P,{book:n,isSubscription:w,isCourse:N,selectedVariant:R,router:f})]})})]})}),(0,l.jsx)(Z,{book:n,isCourse:N,isSubscription:w}),D.length>0&&(0,l.jsx)(en,{items:D,isCourse:N,isSubscription:w,isLoggedIn:S,userHasActiveSubscription:M,onAddToCart:H,router:f})]}),(0,l.jsx)(et,{show:O,onClose:ea,participants:q,participantErrors:L,onUpdateParticipant:el,selectedLocation:F,onLocationChange:e=>{var a;Y(null==n||null==(a=n.locations)?void 0:a.find(n=>n.placeId===e))},locations:null==n?void 0:n.locations,modalUnitPrice:eb,modalTotal:ef,onSubmit:()=>{ei()&&$()}})]})}},38074:e=>{e.exports={reviewsContainer:"BookReviews_reviewsContainer__RzDn2",reviewsTitle:"BookReviews_reviewsTitle__oq4sr",noReviewsText:"BookReviews_noReviewsText__jvAKH",formTitle:"BookReviews_formTitle__4ozVv",label:"BookReviews_label__pu24L",starRating:"BookReviews_starRating__ju2p0",star:"BookReviews_star__mP21_",active:"BookReviews_active__oMpb4",textArea:"BookReviews_textArea__QW5vx",submitBtn:"BookReviews_submitBtn__sVJrZ"}},38651:(e,n,a)=>{"use strict";a.d(n,{A:()=>r});var l=a(37876);a(14232);var t=a(47807),i=a(64514),s=a.n(i);let r=e=>{let{show:n,onClose:a,handleClose:i,title:r,children:o,onPrimary:d,onSecondary:c,primaryText:u="Save",secondaryText:m="Cancel",hideFooter:v=!1,size:h="lg",centered:p=!0,showCloseIcon:x=!0,padding:b="24px",className:f}=e;return(0,l.jsx)(t.A,{show:n,onHide:a||i,centered:p,size:h,dialogClassName:f,children:(0,l.jsx)("div",{className:s().modalBody,children:(0,l.jsx)("div",{className:s().modalContent,style:{padding:b},children:o})})})}},47048:(e,n,a)=>{"use strict";a.d(n,{A:()=>i});var l=a(99856),t=a(60267);function i(e){return"boolean"==typeof e?e?t.A:l.A:e}},51217:(e,n,a)=>{"use strict";a.d(n,{A:()=>d});var l=a(14232),t=a(15039),i=a.n(t),s=a(44935),r=a(37876);
1let o=l.forwardRef((e,n)=>{let{className:a,bsPrefix:l,as:t="div",...o}=e;return l=(0,s.oU)(l,"tab-content"),(0,r.jsx)(t,{ref:n,className:i()(a,l),...o})});o.displayName="TabContent";let d=o},53882:(e,n,a)=>{"use strict";a.d(n,{A:()=>h});var l=a(15039),t=a.n(l),i=a(14232),s=a(8258),r=a(629),o=a(18304),d=a(44935),c=a(60267),u=a(47048),m=a(37876);let v=i.forwardRef((e,n)=>{let{bsPrefix:a,transition:l,...i}=e,[{className:v,as:h="div",...p},{isActive:x,onEnter:b,onEntering:f,onEntered:j,onExit:g,onExiting:y,onExited:N,mountOnEnter:A,unmountOnExit:w,transition:_=c.A}]=(0,o.J)({...i,transition:(0,u.A)(l)}),C=(0,d.oU)(a,"tab-pane");return(0,m.jsx)(r.A.Provider,{value:null,children:(0,m.jsx)(s.A.Provider,{value:null,children:(0,m.jsx)(_,{in:x,onEnter:b,onEntering:f,onEntered:j,onExit:g,onExiting:y,onExited:N,mountOnEnter:A,unmountOnExit:w,children:(0,m.jsx)(h,{...p,ref:n,className:t()(v,C,x&&"active")})})})})});v.displayName="TabPane";let h=v},54164:e=>{e.exports={tabNav:"bookDetail_tabNav__02R61",noFocusShadow:"bookDetail_noFocusShadow__Dl_Gh",wrapper:"bookDetail_wrapper__rpbV6",thumbnail:"bookDetail_thumbnail__wXM1f",thumbnailBox:"bookDetail_thumbnailBox__rNG6M",active:"bookDetail_active__H5Oww",mainImage:"bookDetail_mainImage__pKP0G",bookImage:"bookDetail_bookImage__rmQKG",actionButton:"bookDetail_actionButton__eeVAg",breadcrumbCustom:"bookDetail_breadcrumbCustom__w_iAC",quantityContainer:"bookDetail_quantityContainer__v3chY",qtyBtn:"bookDetail_qtyBtn__qfqvj",qtyDisplay:"bookDetail_qtyDisplay__jKHXT",participantLabel:"bookDetail_participantLabel__U_AnH",modalSection:"bookDetail_modalSection__9xlfZ",modalScrollArea:"bookDetail_modalScrollArea__S4h_X",modalFooter:"bookDetail_modalFooter__66Tx7"}},64514:e=>{e.exports={modalBody:"ReusableModal_modalBody__G2B_h",modalHeader:"ReusableModal_modalHeader__8eBhp",modalTitle:"ReusableModal_modalTitle__rLNPP",closeIcon:"ReusableModal_closeIcon__K9h2c",modalFooter:"ReusableModal_modalFooter__2nETV",primaryBtn:"ReusableModal_primaryBtn__hcmQV",secondaryBtn:"ReusableModal_secondaryBtn__439jO"}},64838:(e,n,a)=>{"use strict";a.d(n,{A:()=>d});var l=a(15039),t=a.n(l),i=a(14232),s=a(44935),r=a(37876);let o=i.forwardRef((e,n)=>{let{bsPrefix:a,variant:l,animation:i="border",size:o,as:d="div",className:c,...u}=e;a=(0,s.oU)(a,"spinner");let m="".concat(a,"-").concat(i);return(0,r.jsx)(d,{ref:n,...u,className:t()(c,m,o&&"".concat(m,"-").concat(o),l&&"text-".concat(l))})});o.displayName="Spinner";let d=o},75076:(e,n,a)=>{"use strict";a.d(n,{A:()=>j});var l=a(37876),t=a(14232),i=a(15039),s=a.n(i),r=a(44935),o=a(10401);let d=t.forwardRef((e,n)=>{let{active:a=!1,disabled:t=!1,className:i,style:r,activeLabel:d="(current)",children:c,linkStyle:u,linkClassName:m,as:v=o.A,...h}=e,p=a||t?"span":v;return(0,l.jsx)("li",{ref:n,style:r,className:s()(i,"page-item",{active:a,disabled:t}),children:(0,l.jsxs)(p,{className:s()("page-link",m),style:u,...h,children:[c,a&&d&&(0,l.jsx)("span",{className:"visually-hidden",children:d})]})})});function c(e,n){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,i=t.forwardRef((e,t)=>{let{children:i,...s}=e;return(0,l.jsxs)(d,{...s,ref:t,children:[(0,l.jsx)("span",{"aria-hidden":"true",children:i||n}),(0,l.jsx)("span",{className:"visually-hidden",children:a})]})});return i.displayName=e,i}d.displayName="PageItem";let u=c("First","\xab"),m=c("Prev","‹","Previous"),v=c("Ellipsis","…","More"),h=c("Next","›"),p=c("Last","\xbb"),x=t.forwardRef((e,n)=>{let{bsPrefix:a,className:t,size:i,...o}=e,d=(0,r.oU)(a,"pagination");return(0,l.jsx)("ul",{ref:n,...o,className:s()(t,d,i&&"".concat(d,"-").concat(i))})});x.displayName="Pagination";let b=Object.assign(x,{First:u,Prev:m,Ellipsis:v,Item:d,Next:h,Last:p});var f=a(75501);let j=e=>{let{page:n,totalPages:a,onPageChange:t,styles:i={}}=e;if(!a||1===a)return null;let s=[];s.push(1),n>3&&s.push("start-ellipsis");for(let e=n-1;e<=n+1;e++)e>1&&e<a&&s.push(e);return n<a-2&&s.push("end-ellipsis"),a>1&&s.push(a),(0,l.jsx)("div",{className:"d-flex justify-content-end mt-3 mb-4",children:(0,l.jsxs)(b,{className:"custom-pagination ".concat(i.pagination),children:[n>1&&(0,l.jsx)(b.Item,{onClick:()=>t(n-1),className:i.arrowBtn,children:(0,l.jsx)(f.m6W,{})}),s.map((e,a)=>"start-ellipsis"===e||"end-ellipsis"===e?(0,l.jsx)(b.Ellipsis,{disabled:!0},a):(0,l.jsx)(b.Item,{active:e===n,onClick:()=>t(e),className:i.paginationItem,children:e},a)),n<a&&(0,l.jsx)(b.Item,{onClick:()=>t(n+1),className:i.arrowBtn,children:(0,l.jsx)(f.OQo,{})})]})})}},76820:(e,n,a)=>{"use strict";a.d(n,{A:()=>v});var l=a(95062),t=a.n(l),i=a(13507),s=a(47048),r=a(37876);let o=e=>{let{transition:n,...a}=e;return(0,r.jsx)(i.A,{...a,transition:(0,s.A)(n)})};o.displayName="TabContainer";var d=a(51217),c=a(53882);
1let u={eventKey:t().oneOfType([t().string,t().number]),title:t().node.isRequired,disabled:t().bool,tabClassName:t().string,tabAttrs:t().object},m=()=>{throw Error("ReactBootstrap: The `Tab` component is not meant to be rendered! It's an abstract component that is only valid as a direct Child of the `Tabs` Component. For custom tabs components use TabPane and TabsContainer directly")};m.propTypes=u;let v=Object.assign(m,{Container:o,Content:d.A,Pane:c.A})},87530:(e,n,a)=>{"use strict";a.d(n,{A:()=>u});var l=a(15039),t=a.n(l),i=a(14232),s=a(44935),r=a(10401),o=a(37876);let d=i.forwardRef((e,n)=>{let{bsPrefix:a,active:l=!1,children:i,className:d,as:c="li",linkAs:u=r.A,linkProps:m={},href:v,title:h,target:p,...x}=e,b=(0,s.oU)(a,"breadcrumb-item");return(0,o.jsx)(c,{ref:n,...x,className:t()(b,d,{active:l}),"aria-current":l?"page":void 0,children:l?i:(0,o.jsx)(u,{...m,href:v,title:h,target:p,children:i})})});d.displayName="BreadcrumbItem";let c=i.forwardRef((e,n)=>{let{bsPrefix:a,className:l,listProps:i={},children:r,label:d="breadcrumb",as:c="nav",...u}=e,m=(0,s.oU)(a,"breadcrumb");return(0,o.jsx)(c,{"aria-label":d,className:l,ref:n,...u,children:(0,o.jsx)("ol",{...i,className:t()(m,null==i?void 0:i.className),children:r})})});c.displayName="Breadcrumb";let u=Object.assign(c,{Item:d})},95625:(e,n,a)=>{"use strict";a.d(n,{A:()=>p}),a(14232);var l=a(22631),t=a(13507),i=a(10226),s=a(52546),r=a(7873),o=a(51217),d=a(53882),c=a(55440),u=a(47048),m=a(37876);function v(e){let{title:n,eventKey:a,disabled:l,tabClassName:t,tabAttrs:i,id:o}=e.props;return null==n?null:(0,m.jsx)(r.A,{as:"li",role:"presentation",children:(0,m.jsx)(s.A,{as:"button",type:"button",eventKey:a,disabled:l,id:o,className:t,...i,children:n})})}let h=e=>{let{id:n,onSelect:a,transition:s,mountOnEnter:r=!1,unmountOnExit:h=!1,variant:p="tabs",children:x,activeKey:b=function(e){let n;return(0,c.jJ)(e,e=>{null==n&&(n=e.props.eventKey)}),n}(x),...f}=(0,l.Zw)(e,{activeKey:"onSelect"});return(0,m.jsxs)(t.A,{id:n,activeKey:b,onSelect:a,transition:(0,u.A)(s),mountOnEnter:r,unmountOnExit:h,children:[(0,m.jsx)(i.A,{id:n,...f,role:"tablist",as:"ul",variant:p,children:(0,c.Tj)(x,v)}),(0,m.jsx)(o.A,{children:(0,c.Tj)(x,e=>{let n={...e.props};return delete n.title,delete n.disabled,delete n.tabClassName,delete n.tabAttrs,(0,m.jsx)(d.A,{...n})})})]})};h.displayName="Tabs";let p=h}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.