@nextblock-cms/ecom 0.15.8 → 0.15.10
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/index.cjs.js +1 -1
- package/index.d.ts +1 -0
- package/index.es.js +94 -90
- package/lib/PaymentReadinessProvider.cjs.js +1 -0
- package/lib/PaymentReadinessProvider.d.ts +26 -0
- package/lib/PaymentReadinessProvider.es.js +34 -0
- package/lib/components/AddToCartButton.cjs.js +1 -1
- package/lib/components/AddToCartButton.es.js +51 -31
- package/lib/components/Checkout.cjs.js +1 -1
- package/lib/components/Checkout.es.js +369 -360
- package/lib/components/ProductDetailsLayout.cjs.js +1 -1
- package/lib/components/ProductDetailsLayout.d.ts +8 -0
- package/lib/components/ProductDetailsLayout.es.js +196 -194
- package/lib/pages/cms/payments/actions.cjs.js +1 -1
- package/lib/pages/cms/payments/actions.es.js +16 -16
- package/lib/pages/cms/payments/queries.cjs.js +1 -1
- package/lib/pages/cms/payments/queries.d.ts +32 -1
- package/lib/pages/cms/payments/queries.es.js +50 -13
- package/lib/pages/cms/products/components/ProductForm.cjs.js +1 -1
- package/lib/pages/cms/products/components/ProductForm.es.js +271 -267
- package/lib/payment-config.es.js +5 -5
- package/lib/providers/freemius.cjs.js +2 -2
- package/lib/providers/freemius.es.js +176 -169
- package/lib/providers/stripe.cjs.js +1 -1
- package/lib/providers/stripe.es.js +60 -51
- package/lib/stripe/client.cjs.js +1 -1
- package/lib/stripe/client.d.ts +9 -0
- package/lib/stripe/client.es.js +17 -7
- package/package.json +4 -4
- package/server.cjs.js +1 -1
- package/server.d.ts +1 -1
- package/server.es.js +184 -180
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-dev-runtime"),m=require("react"),B=require("lucide-react"),H=require("@nextblock-cms/ui/badge"),W=require("@nextblock-cms/ui/button"),Q=require("@nextblock-cms/ui/label"),Y=require("@nextblock-cms/ui/separator"),E=require("@nextblock-cms/utils"),Z=require("../product-context.cjs.js"),ee=require("./ProductGallery.cjs.js"),se=require("./AddToCartButton.cjs.js"),te=require("./SubscriptionSelector.cjs.js"),O=require("./SimpleTiptapRenderer.cjs.js"),x=require("../variation-utils.cjs.js"),re=require("../CurrencyProvider.cjs.js"),$=require("../currency.cjs.js"),ie=require("../types.cjs.js"),oe=require("../trials.cjs.js");function w(a,f,y,s){const n={kind:"product-field",field:f,input:y,label:s},L=typeof window<"u"?window.location.origin:process.env.NEXT_PUBLIC_URL||process.env.TARGET_URL||(process.env.VERCEL_URL?`https://${process.env.VERCEL_URL}`:"")||"http://localhost:3000";let u=(typeof window<"u"?window.location.origin:process.env.NEXT_PUBLIC_URL||process.env.TARGET_URL||(process.env.VERCEL_URL?`https://${process.env.VERCEL_URL}`:"")||"http://localhost:3000").replace(/\/+$/,"");try{(u.startsWith("http://")||u.startsWith("https://"))&&(u=new URL(u).hostname)}catch{}const P=process.env.NEXTBLOCK_VERCEL_PROJECT_ID||process.env.VERCEL_PROJECT_ID,_=process.env.NEXTBLOCK_VERCEL_WORKSPACE_ID||process.env.VERCEL_ORG_ID,v={origin:u,editUrl:`${L}/cms/products/${a.id}/edit`,data:{parentType:"product",parentId:a.id,slug:a.slug,languageId:a.language_id,draftId:null,target:n}};return P&&(v.projectId=P),_&&(v.workspaceId=_),{"data-vercel-edit-info":JSON.stringify(v),"data-vercel-edit-target":JSON.stringify(n),"data-nextblock-visual-edit":`product:${f}`}}const ne=({visualEditingEnabled:a=!1,descriptionNode:f,reviewsNode:y})=>{const s=Z.useProduct(),{t:n,lang:L}=E.useTranslations(),{activeCurrencyCode:N,currencies:u}=re.useCurrency(),P=a?w(s,"title","plain-text","Product title"):void 0,_=a?w(s,"short_description","plain-text","Short description"):void 0,v=a?w(s,"description_json","tiptap","Product description"):void 0,D=(r,c,o)=>{const I=n(r,o);return I===r?c:I},R=s.images&&s.images.length>0?s.images:s.image_url?[{url:s.image_url,alt:s.title}]:[],k=s.custom_props?.provider==="freemius"||ie.isDigitalProduct(s),S=oe.getTrialSummary(s),i=!k&&!!(s.has_variants&&s.attributes?.length&&s.variants?.length),b=s.attributes||[],d=s.variants||[],[j,V]=m.useState(()=>x.chooseInitialVariantSelections(b,d)),[C,U]=m.useState(1);m.useEffect(()=>{U(1)},[s.id]),m.useEffect(()=>{i&&V(x.chooseInitialVariantSelections(b,d))},[b,i,s.id,d]);const p=m.useMemo(()=>i?x.normalizeSelectionsToAvailableVariants(b,d,j):j,[b,i,j,d]);m.useEffect(()=>{JSON.stringify(p)!==JSON.stringify(j)&&V(p)},[p,j]);const t=m.useMemo(()=>i?x.findMatchingVariant(d,p):null,[i,p,d]),T=$.resolveEffectivePriceForCurrency({prices:s.prices,salePrices:s.sale_prices,fallbackPrice:s.price,fallbackSalePrice:s.sale_price,saleStartAt:s.sale_start_at,saleEndAt:s.sale_end_at,scheduledPrice:s.scheduled_price,scheduledPrices:s.scheduled_prices,scheduledPriceAt:s.scheduled_price_at,currencyCode:N,currencies:u}),q=i&&t?$.resolveEffectivePriceForCurrency({prices:t.prices,salePrices:t.sale_prices,fallbackPrice:t.price,fallbackSalePrice:t.sale_price,saleStartAt:t.sale_start_at,saleEndAt:t.sale_end_at,scheduledPrice:t.scheduled_price,scheduledPrices:t.scheduled_prices,scheduledPriceAt:t.scheduled_price_at,currencyCode:N,currencies:u}):null,g=q?.price??T.price,h=q?.sale_price??T.sale_price,l=i?t?.stock_quantity??0:s.stock??0,M=m.useMemo(()=>{if(!t?.image_url)return R;const r={url:t.image_url,alt:`${s.title} ${t.label}`},c=R.filter(o=>o.url!==t.image_url);return[r,...c]},[R,s.title,t]),F=typeof h=="number"&&g>0?Math.round((g-h)/g*100):0,J=i&&t?{...s,sku:t.sku,price:t.price,prices:t.prices,sale_price:typeof t.sale_price=="number"?t.sale_price:null,sale_prices:t.sale_prices,image_url:t.image_url||s.image_url,stock:t.stock_quantity,variant_id:t.id,variant_label:t.label,selected_options:t.selected_options,currency_code:N}:{...s,currency_code:N},G=(r,c)=>{V(o=>x.normalizeSelectionsToAvailableVariants(b,d,{...o,[r]:c}))},z=D("ecommerce.in_stock",`${l} in stock`,{count:String(l)}),A=D("ecommerce.out_of_stock","Out of stock"),K=D("ecommerce.select_options","Select Options"),X=D("ecommerce.variant_selection_required","Select one term from every dropdown to resolve a variation.");return e.jsxDEV("div",{className:"w-full animate-in fade-in slide-in-from-bottom-4 duration-700 ease-out",children:[e.jsxDEV("div",{className:"container mx-auto px-4 md:px-6 py-12",children:e.jsxDEV("div",{className:"grid gap-12 lg:grid-cols-[2fr_3fr] items-start",children:[e.jsxDEV("div",{className:"w-full max-w-2xl mx-auto lg:max-w-none",children:e.jsxDEV(ee.ProductGallery,{images:M,className:"w-full"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:333,columnNumber:13},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:332,columnNumber:11},void 0),e.jsxDEV("div",{className:"flex flex-col gap-4 pb-2 max-w-xl mx-auto lg:mx-0 lg:max-w-none",children:[e.jsxDEV("div",{className:"space-y-6",children:e.jsxDEV("div",{className:"space-y-4",children:[e.jsxDEV("h1",{className:"text-3xl sm:text-4xl lg:text-5xl font-extrabold tracking-tight text-foreground leading-[1.1] lg:mt-0",...P,children:s.title},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:341,columnNumber:17},void 0),e.jsxDEV("div",{className:"flex items-center gap-2 mt-2",children:e.jsxDEV("a",{href:"#reviews-section",className:"flex items-center gap-1.5 group hover:opacity-85 transition-opacity",children:[e.jsxDEV("div",{className:"flex items-center text-amber-500",children:Array.from({length:5}).map((r,c)=>e.jsxDEV("svg",{className:E.cn("h-4 w-4 fill-current",c<Math.round(s.average_rating||0)?"text-amber-500":"text-slate-300 dark:text-slate-700"),viewBox:"0 0 20 20",fill:"currentColor",children:e.jsxDEV("path",{d:"M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:367,columnNumber:27},void 0)},c,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:356,columnNumber:25},void 0))},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:354,columnNumber:21},void 0),s.total_reviews&&s.total_reviews>0?e.jsxDEV(e.Fragment,{children:[e.jsxDEV("span",{className:"text-sm font-semibold text-slate-700 dark:text-slate-300",children:s.average_rating?.toFixed(1)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:373,columnNumber:25},void 0),e.jsxDEV("span",{className:"text-sm text-muted-foreground underline decoration-dotted group-hover:text-primary",children:["(",s.total_reviews===1?n("reviews.review_count_one",{count:s.total_reviews}):n("reviews.review_count_other",{count:s.total_reviews}),")"]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:376,columnNumber:25},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:372,columnNumber:23},void 0):e.jsxDEV("span",{className:"text-xs text-muted-foreground group-hover:text-primary underline decoration-dotted",children:n("reviews.be_the_first")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:383,columnNumber:23},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:350,columnNumber:19},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:349,columnNumber:17},void 0),s.categories&&s.categories.length>0&&e.jsxDEV("div",{className:"flex flex-wrap items-center gap-1.5 text-xs font-bold uppercase tracking-widest text-amber-600 dark:text-amber-400",children:s.categories.map((r,c)=>{const o=x.resolveTranslatedText(r.name,r.name_translations,L);return e.jsxDEV(m.Fragment,{children:[c>0&&e.jsxDEV("span",{className:"text-muted-foreground/30",children:"•"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:401,columnNumber:29},void 0),e.jsxDEV("span",{children:o},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:403,columnNumber:27},void 0)]},r.id,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:399,columnNumber:25},void 0)})},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:391,columnNumber:19},void 0),e.jsxDEV("div",{className:"prose prose-neutral dark:prose-invert max-w-none text-muted-foreground leading-relaxed text-left",..._,children:s.short_description?e.jsxDEV("div",{className:"text-lg mb-4 leading-relaxed",dangerouslySetInnerHTML:{__html:O.toNoCookieEmbedSrc(s.short_description)??s.short_description}},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:415,columnNumber:21},void 0):a?e.jsxDEV("p",{className:"text-lg mb-4 italic text-muted-foreground",children:"Add a short product description."},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:424,columnNumber:21},void 0):null},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:410,columnNumber:17},void 0),e.jsxDEV("div",{className:"flex items-center gap-3",children:[typeof h=="number"&&e.jsxDEV(H.Badge,{variant:"destructive",className:"px-2.5 py-1 text-xs font-bold uppercase tracking-wide animate-pulse shadow-sm",children:n("ecommerce.sale_badge",{percent:String(F)})},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:432,columnNumber:21},void 0),!k&&l>0&&l<10&&e.jsxDEV(H.Badge,{variant:"outline",className:"text-amber-600 border-amber-200 bg-amber-50",children:n("ecommerce.low_stock",{count:String(l)})},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:442,columnNumber:21},void 0),S&&e.jsxDEV(H.Badge,{variant:"secondary",className:"border border-emerald-200 bg-emerald-50 text-emerald-800",children:S.label},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:452,columnNumber:21},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:430,columnNumber:17},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:338,columnNumber:15},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:337,columnNumber:13},void 0),e.jsxDEV("div",{className:"p-5 rounded-2xl bg-card/60 border border-border/80 shadow-md backdrop-blur-md space-y-4",children:[k?e.jsxDEV(te.SubscriptionSelector,{product:s},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:466,columnNumber:17},void 0):e.jsxDEV("div",{className:"space-y-3.5",children:[e.jsxDEV("div",{className:"flex items-center justify-between gap-4",children:[e.jsxDEV("div",{className:"space-y-1",children:[e.jsxDEV("span",{className:"text-[10px] font-bold text-muted-foreground uppercase tracking-widest",children:D("ecommerce.price","Price")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:472,columnNumber:23},void 0),e.jsxDEV("div",{className:"flex items-baseline gap-2.5",children:[e.jsxDEV("span",{className:"text-3xl font-extrabold text-foreground",children:E.formatPrice(h??g,N)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:476,columnNumber:25},void 0),typeof h=="number"&&e.jsxDEV("span",{className:"text-lg text-muted-foreground line-through decoration-destructive/20 decoration-1",children:E.formatPrice(g,N)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:483,columnNumber:27},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:475,columnNumber:23},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:471,columnNumber:21},void 0),!k&&(t||!i)&&e.jsxDEV("div",{className:"text-right space-y-1",children:[e.jsxDEV("span",{className:"text-[10px] font-bold text-muted-foreground uppercase tracking-widest block",children:[!i&&s.sku&&e.jsxDEV("span",{className:"mr-2 font-normal lowercase normal-case text-muted-foreground/70",children:["SKU: ",s.sku]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:494,columnNumber:29},void 0),D("ecommerce.status","Status")]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:492,columnNumber:25},void 0),e.jsxDEV("div",{className:(l??0)>0?"text-emerald-600 dark:text-emerald-400 font-semibold text-sm":"text-destructive font-semibold text-sm",children:(l??0)>0?z:A},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:500,columnNumber:25},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:491,columnNumber:23},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:470,columnNumber:19},void 0),i&&e.jsxDEV("div",{className:"space-y-3",children:e.jsxDEV("div",{className:"grid gap-3 sm:grid-cols-2",children:b.map(r=>{const c=x.getAvailableTermIdsForAttribute(d,r.id,p);return e.jsxDEV("div",{className:"space-y-1",children:[e.jsxDEV("div",{className:"flex items-center justify-between",children:[e.jsxDEV(Q.Label,{htmlFor:`attribute-${r.id}`,className:"text-[11px] font-semibold text-muted-foreground uppercase tracking-wider",children:r.name},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:522,columnNumber:33},void 0),t?.sku&&e.jsxDEV("span",{className:"text-[10px] text-muted-foreground font-mono",children:t.sku},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:529,columnNumber:35},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:521,columnNumber:31},void 0),e.jsxDEV("select",{id:`attribute-${r.id}`,className:"flex h-9 w-full rounded-md border border-input bg-background px-3 py-1 text-sm focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",value:p[r.id]||"",onChange:o=>G(r.id,o.target.value),children:r.terms.map(o=>e.jsxDEV("option",{value:o.id,disabled:!c.has(o.id),children:o.value},o.id,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:546,columnNumber:35},void 0))},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:534,columnNumber:31},void 0)]},r.id,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:520,columnNumber:29},void 0)})},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:510,columnNumber:23},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:509,columnNumber:21},void 0),i&&!t&&e.jsxDEV("p",{className:"text-xs text-muted-foreground italic pt-1",children:X},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:563,columnNumber:21},void 0),e.jsxDEV("div",{className:"flex items-center gap-3 pt-1",children:[!k&&(l??0)>0&&e.jsxDEV("div",{className:"flex items-center border rounded-lg h-12 bg-background border-input select-none",children:[e.jsxDEV("button",{type:"button",onClick:()=>U(r=>Math.max(1,r-1)),className:"px-3 h-full flex items-center justify-center text-muted-foreground hover:text-foreground active:scale-95 transition-all text-lg font-medium",disabled:C<=1,children:"-"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:572,columnNumber:25},void 0),e.jsxDEV("span",{className:"w-8 text-center text-sm font-semibold",children:C},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:580,columnNumber:25},void 0),e.jsxDEV("button",{type:"button",onClick:()=>U(r=>l!==null&&r>=l?r:r+1),className:"px-3 h-full flex items-center justify-center text-muted-foreground hover:text-foreground active:scale-95 transition-all text-lg font-medium",disabled:l!==null&&C>=l,children:"+"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:583,columnNumber:25},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:571,columnNumber:23},void 0),i&&(!t||(l??0)<=0)?e.jsxDEV(W.Button,{disabled:!0,className:"flex-1 h-12 text-md font-bold shadow-md",children:t?A:K},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:604,columnNumber:23},void 0):e.jsxDEV(se.AddToCartButton,{product:J,quantity:C,className:"flex-1 h-12 text-md font-bold shadow-md transition-all hover:shadow-lg active:scale-[0.98]"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:611,columnNumber:23},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:569,columnNumber:19},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:468,columnNumber:17},void 0),e.jsxDEV(Y.Separator,{className:"opacity-60 my-0.5"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:621,columnNumber:15},void 0),e.jsxDEV("div",{className:"grid grid-cols-2 gap-4 text-center text-[11px] font-medium text-muted-foreground pt-1",children:[e.jsxDEV("div",{className:"flex items-center justify-center gap-2",children:k?e.jsxDEV("span",{className:"inline-flex items-center gap-1.5",children:[e.jsxDEV(B.Download,{className:"h-3.5 w-3.5"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:627,columnNumber:23},void 0),n("ecommerce.instant_digital_delivery")]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:626,columnNumber:21},void 0):e.jsxDEV("span",{className:"inline-flex items-center gap-1.5",children:[e.jsxDEV(B.Package,{className:"h-3.5 w-3.5"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:632,columnNumber:23},void 0),n("ecommerce.free_shipping")]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:631,columnNumber:21},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:624,columnNumber:17},void 0),e.jsxDEV("div",{className:"flex items-center justify-center gap-2",children:e.jsxDEV("span",{className:"inline-flex items-center gap-1.5",children:[e.jsxDEV(B.ShieldCheck,{className:"h-3.5 w-3.5"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:639,columnNumber:21},void 0),n("ecommerce.secure_checkout")]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:638,columnNumber:19},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:637,columnNumber:17},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:623,columnNumber:15},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:464,columnNumber:13},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:336,columnNumber:11},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:331,columnNumber:9},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:330,columnNumber:7},void 0),e.jsxDEV("div",{className:"min-w-0 w-full",...f?void 0:v,children:f||(s.description_json?e.jsxDEV("div",{className:"container mx-auto px-4 md:px-6 pb-12 prose prose-neutral dark:prose-invert max-w-none leading-relaxed",children:e.jsxDEV(O.SimpleTiptapRenderer,{content:s.description_json},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:654,columnNumber:13},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:653,columnNumber:11},void 0):e.jsxDEV("div",{className:"container mx-auto px-4 md:px-6 pb-12",children:e.jsxDEV("p",{className:"italic text-sm text-muted-foreground",children:n("ecommerce.no_description")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:658,columnNumber:13},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:657,columnNumber:11},void 0))},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:649,columnNumber:7},void 0),y&&e.jsxDEV("div",{id:"reviews-section",className:"border-t border-border mt-12 pt-12",children:y},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:667,columnNumber:9},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:329,columnNumber:5},void 0)};exports.ProductDetailsLayout=ne;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-dev-runtime"),u=require("react"),B=require("lucide-react"),H=require("@nextblock-cms/ui/badge"),Y=require("@nextblock-cms/ui/button"),Z=require("@nextblock-cms/ui/label"),ee=require("@nextblock-cms/ui/separator"),E=require("@nextblock-cms/utils"),se=require("../product-context.cjs.js"),te=require("./ProductGallery.cjs.js"),re=require("./AddToCartButton.cjs.js"),ie=require("./SubscriptionSelector.cjs.js"),O=require("./SimpleTiptapRenderer.cjs.js"),x=require("../variation-utils.cjs.js"),oe=require("../CurrencyProvider.cjs.js"),$=require("../currency.cjs.js"),ne=require("../types.cjs.js"),le=require("../trials.cjs.js");function w(a,f,P,L){const _={kind:"product-field",field:f,input:P,label:L},s=typeof window<"u"?window.location.origin:process.env.NEXT_PUBLIC_URL||process.env.TARGET_URL||(process.env.VERCEL_URL?`https://${process.env.VERCEL_URL}`:"")||"http://localhost:3000";let N=(typeof window<"u"?window.location.origin:process.env.NEXT_PUBLIC_URL||process.env.TARGET_URL||(process.env.VERCEL_URL?`https://${process.env.VERCEL_URL}`:"")||"http://localhost:3000").replace(/\/+$/,"");try{(N.startsWith("http://")||N.startsWith("https://"))&&(N=new URL(N).hostname)}catch{}const d=process.env.NEXTBLOCK_VERCEL_PROJECT_ID||process.env.VERCEL_PROJECT_ID,v=process.env.NEXTBLOCK_VERCEL_WORKSPACE_ID||process.env.VERCEL_ORG_ID,j={origin:N,editUrl:`${s}/cms/products/${a.id}/edit`,data:{parentType:"product",parentId:a.id,slug:a.slug,languageId:a.language_id,draftId:null,target:_}};return d&&(j.projectId=d),v&&(j.workspaceId=v),{"data-vercel-edit-info":JSON.stringify(j),"data-vercel-edit-target":JSON.stringify(_),"data-nextblock-visual-edit":`product:${f}`}}const ce=({visualEditingEnabled:a=!1,descriptionNode:f,reviewsNode:P,canPurchase:L=!0,purchaseFallbackNode:_})=>{const s=se.useProduct(),{t:c,lang:N}=E.useTranslations(),{activeCurrencyCode:d,currencies:v}=oe.useCurrency(),j=a?w(s,"title","plain-text","Product title"):void 0,M=a?w(s,"short_description","plain-text","Short description"):void 0,F=a?w(s,"description_json","tiptap","Product description"):void 0,D=(r,l,o)=>{const I=c(r,o);return I===r?l:I},R=s.images&&s.images.length>0?s.images:s.image_url?[{url:s.image_url,alt:s.title}]:[],k=s.custom_props?.provider==="freemius"||ne.isDigitalProduct(s),S=le.getTrialSummary(s),i=!k&&!!(s.has_variants&&s.attributes?.length&&s.variants?.length),b=s.attributes||[],m=s.variants||[],[g,V]=u.useState(()=>x.chooseInitialVariantSelections(b,m)),[C,U]=u.useState(1);u.useEffect(()=>{U(1)},[s.id]),u.useEffect(()=>{i&&V(x.chooseInitialVariantSelections(b,m))},[b,i,s.id,m]);const p=u.useMemo(()=>i?x.normalizeSelectionsToAvailableVariants(b,m,g):g,[b,i,g,m]);u.useEffect(()=>{JSON.stringify(p)!==JSON.stringify(g)&&V(p)},[p,g]);const t=u.useMemo(()=>i?x.findMatchingVariant(m,p):null,[i,p,m]),T=$.resolveEffectivePriceForCurrency({prices:s.prices,salePrices:s.sale_prices,fallbackPrice:s.price,fallbackSalePrice:s.sale_price,saleStartAt:s.sale_start_at,saleEndAt:s.sale_end_at,scheduledPrice:s.scheduled_price,scheduledPrices:s.scheduled_prices,scheduledPriceAt:s.scheduled_price_at,currencyCode:d,currencies:v}),q=i&&t?$.resolveEffectivePriceForCurrency({prices:t.prices,salePrices:t.sale_prices,fallbackPrice:t.price,fallbackSalePrice:t.sale_price,saleStartAt:t.sale_start_at,saleEndAt:t.sale_end_at,scheduledPrice:t.scheduled_price,scheduledPrices:t.scheduled_prices,scheduledPriceAt:t.scheduled_price_at,currencyCode:d,currencies:v}):null,h=q?.price??T.price,y=q?.sale_price??T.sale_price,n=i?t?.stock_quantity??0:s.stock??0,J=u.useMemo(()=>{if(!t?.image_url)return R;const r={url:t.image_url,alt:`${s.title} ${t.label}`},l=R.filter(o=>o.url!==t.image_url);return[r,...l]},[R,s.title,t]),G=typeof y=="number"&&h>0?Math.round((h-y)/h*100):0,z=i&&t?{...s,sku:t.sku,price:t.price,prices:t.prices,sale_price:typeof t.sale_price=="number"?t.sale_price:null,sale_prices:t.sale_prices,image_url:t.image_url||s.image_url,stock:t.stock_quantity,variant_id:t.id,variant_label:t.label,selected_options:t.selected_options,currency_code:d}:{...s,currency_code:d},K=(r,l)=>{V(o=>x.normalizeSelectionsToAvailableVariants(b,m,{...o,[r]:l}))},X=D("ecommerce.in_stock",`${n} in stock`,{count:String(n)}),A=D("ecommerce.out_of_stock","Out of stock"),W=D("ecommerce.select_options","Select Options"),Q=D("ecommerce.variant_selection_required","Select one term from every dropdown to resolve a variation.");return e.jsxDEV("div",{className:"w-full animate-in fade-in slide-in-from-bottom-4 duration-700 ease-out",children:[e.jsxDEV("div",{className:"container mx-auto px-4 md:px-6 py-12",children:e.jsxDEV("div",{className:"grid gap-12 lg:grid-cols-[2fr_3fr] items-start",children:[e.jsxDEV("div",{className:"w-full max-w-2xl mx-auto lg:max-w-none",children:e.jsxDEV(te.ProductGallery,{images:J,className:"w-full"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:343,columnNumber:13},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:342,columnNumber:11},void 0),e.jsxDEV("div",{className:"flex flex-col gap-4 pb-2 max-w-xl mx-auto lg:mx-0 lg:max-w-none",children:[e.jsxDEV("div",{className:"space-y-6",children:e.jsxDEV("div",{className:"space-y-4",children:[e.jsxDEV("h1",{className:"text-3xl sm:text-4xl lg:text-5xl font-extrabold tracking-tight text-foreground leading-[1.1] lg:mt-0",...j,children:s.title},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:351,columnNumber:17},void 0),e.jsxDEV("div",{className:"flex items-center gap-2 mt-2",children:e.jsxDEV("a",{href:"#reviews-section",className:"flex items-center gap-1.5 group hover:opacity-85 transition-opacity",children:[e.jsxDEV("div",{className:"flex items-center text-amber-500",children:Array.from({length:5}).map((r,l)=>e.jsxDEV("svg",{className:E.cn("h-4 w-4 fill-current",l<Math.round(s.average_rating||0)?"text-amber-500":"text-slate-300 dark:text-slate-700"),viewBox:"0 0 20 20",fill:"currentColor",children:e.jsxDEV("path",{d:"M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:377,columnNumber:27},void 0)},l,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:366,columnNumber:25},void 0))},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:364,columnNumber:21},void 0),s.total_reviews&&s.total_reviews>0?e.jsxDEV(e.Fragment,{children:[e.jsxDEV("span",{className:"text-sm font-semibold text-slate-700 dark:text-slate-300",children:s.average_rating?.toFixed(1)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:383,columnNumber:25},void 0),e.jsxDEV("span",{className:"text-sm text-muted-foreground underline decoration-dotted group-hover:text-primary",children:["(",s.total_reviews===1?c("reviews.review_count_one",{count:s.total_reviews}):c("reviews.review_count_other",{count:s.total_reviews}),")"]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:386,columnNumber:25},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:382,columnNumber:23},void 0):e.jsxDEV("span",{className:"text-xs text-muted-foreground group-hover:text-primary underline decoration-dotted",children:c("reviews.be_the_first")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:393,columnNumber:23},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:360,columnNumber:19},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:359,columnNumber:17},void 0),s.categories&&s.categories.length>0&&e.jsxDEV("div",{className:"flex flex-wrap items-center gap-1.5 text-xs font-bold uppercase tracking-widest text-amber-600 dark:text-amber-400",children:s.categories.map((r,l)=>{const o=x.resolveTranslatedText(r.name,r.name_translations,N);return e.jsxDEV(u.Fragment,{children:[l>0&&e.jsxDEV("span",{className:"text-muted-foreground/30",children:"•"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:411,columnNumber:29},void 0),e.jsxDEV("span",{children:o},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:413,columnNumber:27},void 0)]},r.id,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:409,columnNumber:25},void 0)})},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:401,columnNumber:19},void 0),e.jsxDEV("div",{className:"prose prose-neutral dark:prose-invert max-w-none text-muted-foreground leading-relaxed text-left",...M,children:s.short_description?e.jsxDEV("div",{className:"text-lg mb-4 leading-relaxed",dangerouslySetInnerHTML:{__html:O.toNoCookieEmbedSrc(s.short_description)??s.short_description}},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:425,columnNumber:21},void 0):a?e.jsxDEV("p",{className:"text-lg mb-4 italic text-muted-foreground",children:"Add a short product description."},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:434,columnNumber:21},void 0):null},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:420,columnNumber:17},void 0),e.jsxDEV("div",{className:"flex items-center gap-3",children:[typeof y=="number"&&e.jsxDEV(H.Badge,{variant:"destructive",className:"px-2.5 py-1 text-xs font-bold uppercase tracking-wide animate-pulse shadow-sm",children:c("ecommerce.sale_badge",{percent:String(G)})},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:442,columnNumber:21},void 0),!k&&n>0&&n<10&&e.jsxDEV(H.Badge,{variant:"outline",className:"text-amber-600 border-amber-200 bg-amber-50",children:c("ecommerce.low_stock",{count:String(n)})},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:452,columnNumber:21},void 0),S&&e.jsxDEV(H.Badge,{variant:"secondary",className:"border border-emerald-200 bg-emerald-50 text-emerald-800",children:S.label},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:462,columnNumber:21},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:440,columnNumber:17},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:348,columnNumber:15},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:347,columnNumber:13},void 0),e.jsxDEV("div",{className:"p-5 rounded-2xl bg-card/60 border border-border/80 shadow-md backdrop-blur-md space-y-4",children:[L?k?e.jsxDEV(ie.SubscriptionSelector,{product:s},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:478,columnNumber:17},void 0):e.jsxDEV("div",{className:"space-y-3.5",children:[e.jsxDEV("div",{className:"flex items-center justify-between gap-4",children:[e.jsxDEV("div",{className:"space-y-1",children:[e.jsxDEV("span",{className:"text-[10px] font-bold text-muted-foreground uppercase tracking-widest",children:D("ecommerce.price","Price")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:484,columnNumber:23},void 0),e.jsxDEV("div",{className:"flex items-baseline gap-2.5",children:[e.jsxDEV("span",{className:"text-3xl font-extrabold text-foreground",children:E.formatPrice(y??h,d)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:488,columnNumber:25},void 0),typeof y=="number"&&e.jsxDEV("span",{className:"text-lg text-muted-foreground line-through decoration-destructive/20 decoration-1",children:E.formatPrice(h,d)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:495,columnNumber:27},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:487,columnNumber:23},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:483,columnNumber:21},void 0),!k&&(t||!i)&&e.jsxDEV("div",{className:"text-right space-y-1",children:[e.jsxDEV("span",{className:"text-[10px] font-bold text-muted-foreground uppercase tracking-widest block",children:[!i&&s.sku&&e.jsxDEV("span",{className:"mr-2 font-normal lowercase normal-case text-muted-foreground/70",children:["SKU: ",s.sku]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:506,columnNumber:29},void 0),D("ecommerce.status","Status")]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:504,columnNumber:25},void 0),e.jsxDEV("div",{className:(n??0)>0?"text-emerald-600 dark:text-emerald-400 font-semibold text-sm":"text-destructive font-semibold text-sm",children:(n??0)>0?X:A},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:512,columnNumber:25},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:503,columnNumber:23},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:482,columnNumber:19},void 0),i&&e.jsxDEV("div",{className:"space-y-3",children:e.jsxDEV("div",{className:"grid gap-3 sm:grid-cols-2",children:b.map(r=>{const l=x.getAvailableTermIdsForAttribute(m,r.id,p);return e.jsxDEV("div",{className:"space-y-1",children:[e.jsxDEV("div",{className:"flex items-center justify-between",children:[e.jsxDEV(Z.Label,{htmlFor:`attribute-${r.id}`,className:"text-[11px] font-semibold text-muted-foreground uppercase tracking-wider",children:r.name},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:534,columnNumber:33},void 0),t?.sku&&e.jsxDEV("span",{className:"text-[10px] text-muted-foreground font-mono",children:t.sku},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:541,columnNumber:35},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:533,columnNumber:31},void 0),e.jsxDEV("select",{id:`attribute-${r.id}`,className:"flex h-9 w-full rounded-md border border-input bg-background px-3 py-1 text-sm focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",value:p[r.id]||"",onChange:o=>K(r.id,o.target.value),children:r.terms.map(o=>e.jsxDEV("option",{value:o.id,disabled:!l.has(o.id),children:o.value},o.id,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:558,columnNumber:35},void 0))},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:546,columnNumber:31},void 0)]},r.id,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:532,columnNumber:29},void 0)})},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:522,columnNumber:23},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:521,columnNumber:21},void 0),i&&!t&&e.jsxDEV("p",{className:"text-xs text-muted-foreground italic pt-1",children:Q},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:575,columnNumber:21},void 0),e.jsxDEV("div",{className:"flex items-center gap-3 pt-1",children:[!k&&(n??0)>0&&e.jsxDEV("div",{className:"flex items-center border rounded-lg h-12 bg-background border-input select-none",children:[e.jsxDEV("button",{type:"button",onClick:()=>U(r=>Math.max(1,r-1)),className:"px-3 h-full flex items-center justify-center text-muted-foreground hover:text-foreground active:scale-95 transition-all text-lg font-medium",disabled:C<=1,children:"-"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:584,columnNumber:25},void 0),e.jsxDEV("span",{className:"w-8 text-center text-sm font-semibold",children:C},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:592,columnNumber:25},void 0),e.jsxDEV("button",{type:"button",onClick:()=>U(r=>n!==null&&r>=n?r:r+1),className:"px-3 h-full flex items-center justify-center text-muted-foreground hover:text-foreground active:scale-95 transition-all text-lg font-medium",disabled:n!==null&&C>=n,children:"+"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:595,columnNumber:25},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:583,columnNumber:23},void 0),i&&(!t||(n??0)<=0)?e.jsxDEV(Y.Button,{disabled:!0,className:"flex-1 h-12 text-md font-bold shadow-md",children:t?A:W},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:616,columnNumber:23},void 0):e.jsxDEV(re.AddToCartButton,{product:z,quantity:C,className:"flex-1 h-12 text-md font-bold shadow-md transition-all hover:shadow-lg active:scale-[0.98]"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:623,columnNumber:23},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:581,columnNumber:19},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:480,columnNumber:17},void 0):_,e.jsxDEV(ee.Separator,{className:"opacity-60 my-0.5"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:633,columnNumber:15},void 0),e.jsxDEV("div",{className:"grid grid-cols-2 gap-4 text-center text-[11px] font-medium text-muted-foreground pt-1",children:[e.jsxDEV("div",{className:"flex items-center justify-center gap-2",children:k?e.jsxDEV("span",{className:"inline-flex items-center gap-1.5",children:[e.jsxDEV(B.Download,{className:"h-3.5 w-3.5"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:639,columnNumber:23},void 0),c("ecommerce.instant_digital_delivery")]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:638,columnNumber:21},void 0):e.jsxDEV("span",{className:"inline-flex items-center gap-1.5",children:[e.jsxDEV(B.Package,{className:"h-3.5 w-3.5"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:644,columnNumber:23},void 0),c("ecommerce.free_shipping")]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:643,columnNumber:21},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:636,columnNumber:17},void 0),e.jsxDEV("div",{className:"flex items-center justify-center gap-2",children:e.jsxDEV("span",{className:"inline-flex items-center gap-1.5",children:[e.jsxDEV(B.ShieldCheck,{className:"h-3.5 w-3.5"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:651,columnNumber:21},void 0),c("ecommerce.secure_checkout")]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:650,columnNumber:19},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:649,columnNumber:17},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:635,columnNumber:15},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:474,columnNumber:13},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:346,columnNumber:11},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:341,columnNumber:9},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:340,columnNumber:7},void 0),e.jsxDEV("div",{className:"min-w-0 w-full",...f?void 0:F,children:f||(s.description_json?e.jsxDEV("div",{className:"container mx-auto px-4 md:px-6 pb-12 prose prose-neutral dark:prose-invert max-w-none leading-relaxed",children:e.jsxDEV(O.SimpleTiptapRenderer,{content:s.description_json},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:666,columnNumber:13},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:665,columnNumber:11},void 0):e.jsxDEV("div",{className:"container mx-auto px-4 md:px-6 pb-12",children:e.jsxDEV("p",{className:"italic text-sm text-muted-foreground",children:c("ecommerce.no_description")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:670,columnNumber:13},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:669,columnNumber:11},void 0))},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:661,columnNumber:7},void 0),P&&e.jsxDEV("div",{id:"reviews-section",className:"border-t border-border mt-12 pt-12",children:P},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:679,columnNumber:9},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductDetailsLayout.tsx",lineNumber:339,columnNumber:5},void 0)};exports.ProductDetailsLayout=ce;
|
|
@@ -3,6 +3,14 @@ interface ProductDetailsLayoutProps {
|
|
|
3
3
|
visualEditingEnabled?: boolean;
|
|
4
4
|
descriptionNode?: React.ReactNode;
|
|
5
5
|
reviewsNode?: React.ReactNode;
|
|
6
|
+
/**
|
|
7
|
+
* False when the store cannot take payment for this product's provider. The whole
|
|
8
|
+
* purchase control — physical or digital — is then replaced by `purchaseFallbackNode`.
|
|
9
|
+
* Defaults to true so every existing caller is unaffected.
|
|
10
|
+
*/
|
|
11
|
+
canPurchase?: boolean;
|
|
12
|
+
/** Rendered in place of the buy controls when `canPurchase` is false. */
|
|
13
|
+
purchaseFallbackNode?: React.ReactNode;
|
|
6
14
|
}
|
|
7
15
|
export declare const ProductDetailsLayout: React.FC<ProductDetailsLayoutProps>;
|
|
8
16
|
export {};
|