@anker-in/headless-ui 1.3.36 → 1.3.37

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.
@@ -10,6 +10,7 @@ export interface ModalRegisterSubscribeProps {
10
10
  open: boolean;
11
11
  onOpenChange: (open: boolean) => void;
12
12
  heroImage?: HeroImage;
13
+ heroImageMobile?: HeroImage;
13
14
  heroTitle?: string;
14
15
  rightsDetailsLabel?: string;
15
16
  onRightsDetails?: () => void;
@@ -25,7 +26,7 @@ export interface ModalRegisterSubscribeProps {
25
26
  onPasswordLogin?: () => void;
26
27
  }
27
28
  declare const ModalRegisterSubscribe: {
28
- ({ open, onOpenChange, heroImage, heroTitle, rightsDetailsLabel, onRightsDetails, benefitsSectionLabel, benefits, formTitle, copy, termsDefaultChecked, newsletterDefaultChecked, registerLabel, passwordLoginLabel, socialLogins, onRegister, onPasswordLogin, }: ModalRegisterSubscribeProps & {
29
+ ({ open, onOpenChange, heroImage, heroImageMobile, heroTitle, rightsDetailsLabel, onRightsDetails, benefitsSectionLabel, benefits, formTitle, copy, termsDefaultChecked, newsletterDefaultChecked, registerLabel, passwordLoginLabel, socialLogins, onRegister, onPasswordLogin, }: ModalRegisterSubscribeProps & {
29
30
  copy?: Record<string, any>;
30
31
  }): import("react/jsx-runtime").JSX.Element;
31
32
  displayName: string;
@@ -1,2 +1,2 @@
1
- "use strict";"use client";var $=Object.create;var x=Object.defineProperty;var J=Object.getOwnPropertyDescriptor;var K=Object.getOwnPropertyNames;var Q=Object.getPrototypeOf,U=Object.prototype.hasOwnProperty;var X=(s,i)=>{for(var a in i)x(s,a,{get:i[a],enumerable:!0})},D=(s,i,a,r)=>{if(i&&typeof i=="object"||typeof i=="function")for(let o of K(i))!U.call(s,o)&&o!==a&&x(s,o,{get:()=>i[o],enumerable:!(r=J(i,o))||r.enumerable});return s};var Y=(s,i,a)=>(a=s!=null?$(Q(s)):{},D(i||!s||!s.__esModule?x(a,"default",{value:s,enumerable:!0}):a,s)),ee=s=>D(x({},"__esModule",{value:!0}),s);var ne={};X(ne,{default:()=>oe});module.exports=ee(ne);var e=require("react/jsx-runtime"),c=Y(require("react")),t=require("../../components/index.js");const M=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,te=()=>(0,e.jsx)("svg",{width:"1",height:"16",viewBox:"0 0 1 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,e.jsx)("line",{x1:"0.5",y1:"0",x2:"0.5",y2:"16",stroke:"#DADCE0"})}),le=()=>(0,e.jsxs)("svg",{viewBox:"0 0 24 24",width:"20",height:"20",xmlns:"http://www.w3.org/2000/svg",children:[(0,e.jsx)("path",{fill:"#4285F4",d:"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92a5.06 5.06 0 0 1-2.2 3.32v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.1z"}),(0,e.jsx)("path",{fill:"#34A853",d:"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z"}),(0,e.jsx)("path",{fill:"#FBBC05",d:"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z"}),(0,e.jsx)("path",{fill:"#EA4335",d:"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z"})]}),se=()=>(0,e.jsx)("svg",{viewBox:"0 0 24 24",width:"20",height:"20",xmlns:"http://www.w3.org/2000/svg",fill:"none",children:(0,e.jsx)("path",{fill:"currentColor",d:"M16.365 12.408c.023 2.468 2.161 3.29 2.185 3.301-.018.058-.341 1.17-1.122 2.32-.675.993-1.375 1.982-2.478 2.002-1.084.02-1.433-.644-2.674-.644-1.24 0-1.629.624-2.654.664-1.067.04-1.88-1.07-2.56-2.059-1.39-2.01-2.452-5.68-1.027-8.155.707-1.23 1.973-2.01 3.347-2.03 1.045-.02 2.032.704 2.674.704.641 0 1.846-.87 3.112-.742.53.022 2.018.214 2.974 1.613-.077.048-1.776 1.035-1.757 3.026ZM14.972 4.858c.566-.686.947-1.64.843-2.59-.815.033-1.8.543-2.384 1.229-.525.606-.986 1.576-.862 2.507.908.07 1.838-.462 2.403-1.146Z"})}),ae=()=>(0,e.jsx)("svg",{viewBox:"0 0 24 24",width:"20",height:"20",xmlns:"http://www.w3.org/2000/svg",children:(0,e.jsx)("path",{d:"M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z",fill:"#1877F2"})}),ie={google:{label:"Google",icon:(0,e.jsx)(le,{})},apple:{label:"Apple",icon:(0,e.jsx)(se,{})},facebook:{label:"Facebook",icon:(0,e.jsx)(ae,{})}},re=({open:s,onOpenChange:i,title:a,benefits:r})=>(0,e.jsx)(t.Dialog,{open:s,onOpenChange:i,children:(0,e.jsx)(t.DialogContent,{className:"modal-rights-details-root tablet:max-w-[358px] !z-[1002] flex max-h-[80vh] w-full max-w-[calc(100vw_-_32px)] flex-col !gap-0 overflow-hidden rounded-[12px] !border-none bg-white !p-0 drop-shadow-[0px_2px_4px_rgba(0,0,0,0.12)]",overlayClassName:"!z-[1002] bg-black/60",children:(0,e.jsxs)("div",{className:"rounded-[8px] px-[16px] pb-[24px] pt-[16px] backdrop-blur-sm",children:[a&&(0,e.jsx)(t.Text,{as:"p",size:3,html:a,className:"text-info-primary mb-2"}),r&&r.length>0&&(0,e.jsx)("ul",{className:"flex flex-col gap-[4px]",children:r.map((o,g)=>(0,e.jsx)("li",{className:"ml-[21px] list-disc",children:(0,e.jsx)(t.Text,{as:"span",size:3,html:o,className:"text-info-tertiary"})},g))})]})})}),_=({open:s,onOpenChange:i,heroImage:a,heroTitle:r,rightsDetailsLabel:o,onRightsDetails:g,benefitsSectionLabel:f,benefits:m,formTitle:w,copy:n,termsDefaultChecked:I,newsletterDefaultChecked:T,registerLabel:N,passwordLoginLabel:k,socialLogins:B,onRegister:F,onPasswordLogin:H})=>{const C=n?.emailLabel,O=n?.emailPlaceholder,P=n?.emailEmptyErrorLabel,j=n?.emailInvalidErrorLabel,d=n?.termsLabel,y=n?.termsRequiredErrorLabel,z=n?.newsletterLabel,[L,G]=c.useState(""),[E,b]=c.useState(""),[p,V]=c.useState(!!I),[R,q]=c.useState(!!T),[Z,h]=c.useState(!1),[W,S]=c.useState(!1),u=B?.map(l=>({id:l,...ie[l]})),A=(0,e.jsxs)("div",{className:"modal-register-subscribe-form tablet:p-8 tablet:pt-12 flex h-full flex-col justify-between gap-6 p-6 pt-8",children:[(0,e.jsxs)("div",{className:"tablet:gap-8 flex flex-col gap-6",children:[w&&(0,e.jsx)(t.Heading,{as:"h3",size:2,html:w,className:"modal-register-subscribe-form-title text-info-primary tablet:text-[24px] text-[20px]"}),(0,e.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,e.jsxs)("div",{className:"flex flex-col gap-2",children:[C&&(0,e.jsx)(t.Text,{as:"label",size:3,html:C,className:"modal-register-subscribe-email-label text-info-primary tablet:text-[16px] text-[14px] [&_a]:underline"}),(0,e.jsx)(t.Input,{type:"email",placeholder:O,value:L,onChange:l=>{G(l.target.value),b("")},className:"modal-register-subscribe-email-input tablet:h-[52px] border-lines-1 tablet:rounded-box-small tablet:px-4 h-[48px] bg-white px-3 font-[700] placeholder:font-[700]"}),E&&(0,e.jsx)(t.Text,{as:"p",size:3,className:"text-error-0",children:E})]}),(0,e.jsxs)("div",{className:"flex flex-col gap-2",children:[d&&(0,e.jsxs)("div",{className:"flex items-start gap-2",children:[(0,e.jsx)(t.Checkbox,{id:"modal-register-terms",checked:p,onCheckedChange:l=>{V(!!l),h(!1)},size:"base",className:"mt-0.5 shrink-0"}),(0,e.jsx)(t.Text,{as:"label",htmlFor:"modal-register-terms",size:3,html:d,className:"modal-register-subscribe-terms-label text-info-tertiary tablet:text-[16px] cursor-pointer text-[14px] [&_a]:underline"})]}),Z&&y&&(0,e.jsx)(t.Text,{as:"p",size:3,className:"text-error-0",children:y}),z&&(0,e.jsxs)("div",{className:"flex items-start gap-2",children:[(0,e.jsx)(t.Checkbox,{id:"modal-register-newsletter",checked:R,onCheckedChange:l=>q(!!l),size:"base",className:"mt-0.5 shrink-0"}),(0,e.jsx)(t.Text,{as:"label",htmlFor:"modal-register-newsletter",size:3,html:z,className:"modal-register-subscribe-newsletter-label text-info-tertiary tablet:text-[16px] cursor-pointer text-[14px] [&_a]:underline"})]})]})]})]}),(0,e.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,e.jsxs)("div",{className:"flex flex-col items-center gap-4",children:[N&&(0,e.jsx)(t.Button,{onClick:()=>{const l=L.trim();l?M.test(l)?b(""):b(j||""):b(P||""),h(!!(d&&!p)),!(!l||!M.test(l)||d&&!p)&&F?.(l,p,R)},className:"modal-register-subscribe-register-btn tablet:text-[16px] w-full text-[14px]",children:N}),k&&(0,e.jsx)(t.Link,{onClick:H,className:"modal-register-subscribe-password-login tablet:text-[16px] text-[14px]",children:k})]}),u&&u.length>0&&(0,e.jsx)("div",{className:"modal-register-subscribe-social flex items-center justify-center gap-4",children:u.map((l,v)=>(0,e.jsxs)(c.Fragment,{children:[v>0&&(0,e.jsx)(te,{}),(0,e.jsxs)("div",{className:"modal-register-subscribe-social-btn rounded-box-small flex items-center gap-2",children:[(0,e.jsx)("span",{className:"desktop:size-6 size-5 shrink-0",children:l.icon}),(0,e.jsx)(t.Text,{as:"span",size:3,html:l.label,className:"text-info-primary desktop::text-[16px] text-[14px] [&_a]:underline"})]})]},l.id))})]})]});return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(t.Dialog,{open:s,onOpenChange:i,children:(0,e.jsxs)(t.DialogContent,{className:"modal-register-subscribe-root tablet:!rounded-box tablet:!top-1/2 tablet:!left-1/2 tablet:!bottom-auto tablet:!right-auto tablet:!-translate-x-1/2 tablet:!-translate-y-1/2 rounded-t-box !inset-x-0 !bottom-0 !top-auto flex max-h-[90vh] w-full !translate-x-0 !translate-y-0 flex-col !gap-0 overflow-hidden rounded-b-none !border-none !p-0",style:{maxWidth:896},overlayClassName:"bg-black/60",children:[(0,e.jsxs)("div",{className:"modal-register-subscribe-inner tablet:hidden flex size-full min-h-0 flex-col bg-white",children:[(0,e.jsxs)("div",{className:"modal-register-subscribe-hero relative h-[310px] w-full shrink-0 overflow-hidden bg-[rgba(200,215,240,0.4)]",children:[a?.url&&(0,e.jsxs)("div",{className:"pointer-events-none absolute inset-0",children:[(0,e.jsx)(t.Picture,{source:a.url,alt:a.alt||"",className:"absolute w-[99%]",imgClassName:"w-full h-full object-cover"}),(0,e.jsx)("div",{className:"absolute inset-0 bg-[rgba(121,160,223,0.2)]"})]}),(0,e.jsxs)("div",{className:"relative z-10 flex flex-col gap-1 px-[24px] pb-[16px] pr-[44px] pt-[44px]",children:[r&&(0,e.jsx)(t.Heading,{as:"h2",size:2,html:r,className:"modal-register-subscribe-hero-heading text-info-primary text-[20px]"}),o&&(0,e.jsx)(t.Link,{onClick:()=>{g?.(),S(!0)},className:"modal-register-subscribe-rights-details text-info-primary w-fit text-[14px] underline",children:o})]})]}),(0,e.jsx)("div",{className:"flex-1 overflow-y-auto",children:A})]}),(0,e.jsxs)("div",{className:"modal-register-subscribe-inner tablet:flex hidden h-[640px] min-h-0 w-full flex-row bg-white",children:[(0,e.jsxs)("div",{className:"modal-register-subscribe-left tablet:w-[448px] relative flex shrink-0 flex-col justify-between overflow-hidden px-4 pb-4 pt-12",children:[a?.url&&(0,e.jsxs)("div",{className:"pointer-events-none absolute inset-0",children:[(0,e.jsx)(t.Picture,{source:a.url,alt:a.alt||"",className:"absolute left-0 size-full",imgClassName:"w-full h-full object-cover"}),(0,e.jsx)("div",{className:"absolute inset-0 bg-[rgba(121,160,223,0.2)]"})]}),(0,e.jsx)("div",{className:"modal-register-subscribe-hero-title relative px-4",children:r&&(0,e.jsx)(t.Heading,{as:"h2",size:2,html:r,className:"modal-register-subscribe-hero-heading text-info-primary desktop:text-[24px]"})}),(0,e.jsxs)("div",{className:"modal-register-subscribe-benefits rounded-box-small relative flex flex-col gap-2 bg-white/90 p-6 backdrop-blur-sm",children:[f&&(0,e.jsx)(t.Text,{as:"p",size:3,html:f,className:"modal-register-subscribe-benefits-label text-info-primary [&_a]:underline"}),m&&m.length>0&&(0,e.jsx)("ul",{className:"flex flex-col gap-1",children:m.map((l,v)=>(0,e.jsx)("li",{className:"modal-register-subscribe-benefit-item ml-6 list-disc",children:(0,e.jsx)(t.Text,{as:"span",size:3,html:l.text,className:"text-info-tertiary [&_a]:underline"})},v))})]})]}),(0,e.jsx)("div",{className:"modal-register-subscribe-right flex min-w-0 flex-1 flex-col overflow-y-auto",children:A})]})]})}),(0,e.jsx)(re,{open:W,onOpenChange:S,title:f,benefits:m?.map(l=>l.text)})]})};_.displayName="ModalRegisterSubscribe";var oe=_;
1
+ "use strict";"use client";var K=Object.create;var x=Object.defineProperty;var Q=Object.getOwnPropertyDescriptor;var U=Object.getOwnPropertyNames;var X=Object.getPrototypeOf,Y=Object.prototype.hasOwnProperty;var ee=(a,i)=>{for(var s in i)x(a,s,{get:i[s],enumerable:!0})},A=(a,i,s,o)=>{if(i&&typeof i=="object"||typeof i=="function")for(let r of U(i))!Y.call(a,r)&&r!==s&&x(a,r,{get:()=>i[r],enumerable:!(o=Q(i,r))||o.enumerable});return a};var te=(a,i,s)=>(s=a!=null?K(X(a)):{},A(i||!a||!a.__esModule?x(s,"default",{value:a,enumerable:!0}):s,a)),le=a=>A(x({},"__esModule",{value:!0}),a);var me={};ee(me,{default:()=>ce});module.exports=le(me);var e=require("react/jsx-runtime"),c=te(require("react")),t=require("../../components/index.js");const D=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,ae=()=>(0,e.jsx)("svg",{width:"1",height:"16",viewBox:"0 0 1 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,e.jsx)("line",{x1:"0.5",y1:"0",x2:"0.5",y2:"16",stroke:"#DADCE0"})}),se=()=>(0,e.jsxs)("svg",{viewBox:"0 0 24 24",width:"20",height:"20",xmlns:"http://www.w3.org/2000/svg",children:[(0,e.jsx)("path",{fill:"#4285F4",d:"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92a5.06 5.06 0 0 1-2.2 3.32v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.1z"}),(0,e.jsx)("path",{fill:"#34A853",d:"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z"}),(0,e.jsx)("path",{fill:"#FBBC05",d:"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z"}),(0,e.jsx)("path",{fill:"#EA4335",d:"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z"})]}),ie=()=>(0,e.jsx)("svg",{viewBox:"0 0 24 24",width:"20",height:"20",xmlns:"http://www.w3.org/2000/svg",fill:"none",children:(0,e.jsx)("path",{fill:"currentColor",d:"M16.365 12.408c.023 2.468 2.161 3.29 2.185 3.301-.018.058-.341 1.17-1.122 2.32-.675.993-1.375 1.982-2.478 2.002-1.084.02-1.433-.644-2.674-.644-1.24 0-1.629.624-2.654.664-1.067.04-1.88-1.07-2.56-2.059-1.39-2.01-2.452-5.68-1.027-8.155.707-1.23 1.973-2.01 3.347-2.03 1.045-.02 2.032.704 2.674.704.641 0 1.846-.87 3.112-.742.53.022 2.018.214 2.974 1.613-.077.048-1.776 1.035-1.757 3.026ZM14.972 4.858c.566-.686.947-1.64.843-2.59-.815.033-1.8.543-2.384 1.229-.525.606-.986 1.576-.862 2.507.908.07 1.838-.462 2.403-1.146Z"})}),re=()=>(0,e.jsx)("svg",{viewBox:"0 0 24 24",width:"20",height:"20",xmlns:"http://www.w3.org/2000/svg",children:(0,e.jsx)("path",{d:"M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z",fill:"#1877F2"})}),oe={google:{label:"Google",icon:(0,e.jsx)(se,{})},apple:{label:"Apple",icon:(0,e.jsx)(ie,{})},facebook:{label:"Facebook",icon:(0,e.jsx)(re,{})}},ne=({open:a,onOpenChange:i,title:s,benefits:o})=>(0,e.jsx)(t.Dialog,{open:a,onOpenChange:i,children:(0,e.jsx)(t.DialogContent,{className:"modal-rights-details-root tablet:max-w-[358px] !z-[1002] flex max-h-[80vh] w-full max-w-[calc(100vw_-_32px)] flex-col !gap-0 overflow-hidden rounded-[12px] !border-none bg-white !p-0 drop-shadow-[0px_2px_4px_rgba(0,0,0,0.12)]",overlayClassName:"!z-[1002] bg-black/60",children:(0,e.jsxs)("div",{className:"rounded-[8px] px-[16px] pb-[24px] pt-[16px] backdrop-blur-sm",children:[s&&(0,e.jsx)(t.Text,{as:"p",size:3,html:s,className:"text-info-primary mb-2"}),o&&o.length>0&&(0,e.jsx)("ul",{className:"flex flex-col gap-[4px]",children:o.map((r,m)=>(0,e.jsx)("li",{className:"ml-[21px] list-disc",children:(0,e.jsx)(t.Text,{as:"span",size:3,html:r,className:"text-info-tertiary"})},m))})]})})}),_=({open:a,onOpenChange:i,heroImage:s,heroImageMobile:o,heroTitle:r,rightsDetailsLabel:m,onRightsDetails:H,benefitsSectionLabel:h,benefits:d,formTitle:N,copy:n,termsDefaultChecked:T,newsletterDefaultChecked:B,registerLabel:k,passwordLoginLabel:C,socialLogins:F,onRegister:O,onPasswordLogin:P})=>{const y=n?.emailLabel,j=n?.emailPlaceholder,G=n?.emailEmptyErrorLabel,V=n?.emailInvalidErrorLabel,b=n?.termsLabel,z=n?.termsRequiredErrorLabel,L=n?.newsletterLabel,[E,q]=c.useState(""),[R,p]=c.useState(""),[g,Z]=c.useState(!!T),[M,W]=c.useState(!!B),[$,f]=c.useState(!1),[J,I]=c.useState(!1),u=F?.map(l=>({id:l,...oe[l]})),S=(0,e.jsxs)("div",{className:"modal-register-subscribe-form tablet:p-8 tablet:pt-12 flex h-full flex-col justify-between gap-6 p-6 pt-8",children:[(0,e.jsxs)("div",{className:"tablet:gap-8 flex flex-col gap-6",children:[N&&(0,e.jsx)(t.Heading,{as:"h3",size:2,html:N,className:"modal-register-subscribe-form-title text-info-primary tablet:text-[24px] text-[20px]"}),(0,e.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,e.jsxs)("div",{className:"flex flex-col gap-2",children:[y&&(0,e.jsx)(t.Text,{as:"label",size:3,html:y,className:"modal-register-subscribe-email-label text-info-primary tablet:text-[16px] text-[14px] [&_a]:underline"}),(0,e.jsx)(t.Input,{type:"email",placeholder:j,value:E,onChange:l=>{q(l.target.value),p("")},className:"modal-register-subscribe-email-input tablet:h-[52px] border-lines-1 tablet:rounded-box-small tablet:px-4 h-[48px] bg-white px-3 font-[700] placeholder:font-[700]"}),R&&(0,e.jsx)(t.Text,{as:"p",size:3,className:"text-error-0",children:R})]}),(0,e.jsxs)("div",{className:"flex flex-col gap-2",children:[b&&(0,e.jsxs)("div",{className:"flex items-start gap-2",children:[(0,e.jsx)(t.Checkbox,{id:"modal-register-terms",checked:g,onCheckedChange:l=>{Z(!!l),f(!1)},size:"base",className:"mt-0.5 shrink-0"}),(0,e.jsx)(t.Text,{as:"label",htmlFor:"modal-register-terms",size:3,html:b,className:"modal-register-subscribe-terms-label text-info-tertiary tablet:text-[16px] cursor-pointer text-[14px] [&_a]:underline"})]}),$&&z&&(0,e.jsx)(t.Text,{as:"p",size:3,className:"text-error-0",children:z}),L&&(0,e.jsxs)("div",{className:"flex items-start gap-2",children:[(0,e.jsx)(t.Checkbox,{id:"modal-register-newsletter",checked:M,onCheckedChange:l=>W(!!l),size:"base",className:"mt-0.5 shrink-0"}),(0,e.jsx)(t.Text,{as:"label",htmlFor:"modal-register-newsletter",size:3,html:L,className:"modal-register-subscribe-newsletter-label text-info-tertiary tablet:text-[16px] cursor-pointer text-[14px] [&_a]:underline"})]})]})]})]}),(0,e.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,e.jsxs)("div",{className:"flex flex-col items-center gap-4",children:[k&&(0,e.jsx)(t.Button,{onClick:()=>{const l=E.trim();l?D.test(l)?p(""):p(V||""):p(G||""),f(!!(b&&!g)),!(!l||!D.test(l)||b&&!g)&&O?.(l,g,M)},className:"modal-register-subscribe-register-btn tablet:text-[16px] w-full text-[14px]",children:k}),C&&(0,e.jsx)(t.Link,{onClick:P,className:"modal-register-subscribe-password-login tablet:text-[16px] text-[14px]",children:C})]}),u&&u.length>0&&(0,e.jsx)("div",{className:"modal-register-subscribe-social flex items-center justify-center gap-4",children:u.map((l,w)=>(0,e.jsxs)(c.Fragment,{children:[w>0&&(0,e.jsx)(ae,{}),(0,e.jsxs)("div",{className:"modal-register-subscribe-social-btn rounded-box-small flex items-center gap-2",children:[(0,e.jsx)("span",{className:"desktop:size-6 size-5 shrink-0",children:l.icon}),(0,e.jsx)(t.Text,{as:"span",size:3,html:l.label,className:"text-info-primary desktop::text-[16px] text-[14px] [&_a]:underline"})]})]},l.id))})]})]}),v=o??s;return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(t.Dialog,{open:a,onOpenChange:i,children:(0,e.jsxs)(t.DialogContent,{className:"modal-register-subscribe-root tablet:!rounded-box tablet:!top-1/2 tablet:!left-1/2 tablet:!bottom-auto tablet:!right-auto tablet:!-translate-x-1/2 tablet:!-translate-y-1/2 rounded-t-box !inset-x-0 !bottom-0 !top-auto flex max-h-[90vh] w-full !translate-x-0 !translate-y-0 flex-col !gap-0 overflow-hidden rounded-b-none !border-none !p-0",style:{maxWidth:896},overlayClassName:"bg-black/60",children:[(0,e.jsxs)("div",{className:"modal-register-subscribe-inner tablet:hidden flex size-full min-h-0 flex-col bg-white",children:[(0,e.jsxs)("div",{className:"modal-register-subscribe-hero relative h-[310px] w-full shrink-0 overflow-hidden bg-[rgba(200,215,240,0.4)]",children:[v?.url&&(0,e.jsxs)("div",{className:"pointer-events-none absolute inset-0",children:[(0,e.jsx)(t.Picture,{source:v.url,alt:v.alt||"",className:"absolute w-[99%]",imgClassName:"w-full h-full object-cover"}),(0,e.jsx)("div",{className:"absolute inset-0 bg-[rgba(121,160,223,0.2)]"})]}),(0,e.jsxs)("div",{className:"relative z-10 flex flex-col gap-1 px-[24px] pb-[16px] pr-[44px] pt-[44px]",children:[r&&(0,e.jsx)(t.Heading,{as:"h2",size:2,html:r,className:"modal-register-subscribe-hero-heading text-info-primary text-[20px]"}),m&&(0,e.jsx)(t.Link,{onClick:()=>{H?.(),I(!0)},className:"modal-register-subscribe-rights-details text-info-primary w-fit text-[14px] underline",children:m})]})]}),(0,e.jsx)("div",{className:"flex-1 overflow-y-auto",children:S})]}),(0,e.jsxs)("div",{className:"modal-register-subscribe-inner tablet:flex hidden h-[640px] min-h-0 w-full flex-row bg-white",children:[(0,e.jsxs)("div",{className:"modal-register-subscribe-left tablet:w-[448px] relative flex shrink-0 flex-col justify-between overflow-hidden px-4 pb-4 pt-12",children:[s?.url&&(0,e.jsxs)("div",{className:"pointer-events-none absolute inset-0",children:[(0,e.jsx)(t.Picture,{source:s.url,alt:s.alt||"",className:"absolute left-0 size-full",imgClassName:"w-full h-full object-cover"}),(0,e.jsx)("div",{className:"absolute inset-0 bg-[rgba(121,160,223,0.2)]"})]}),(0,e.jsx)("div",{className:"modal-register-subscribe-hero-title relative px-4",children:r&&(0,e.jsx)(t.Heading,{as:"h2",size:2,html:r,className:"modal-register-subscribe-hero-heading text-info-primary desktop:text-[24px]"})}),(0,e.jsxs)("div",{className:"modal-register-subscribe-benefits rounded-box-small relative flex flex-col gap-2 bg-white/90 p-6 backdrop-blur-sm",children:[h&&(0,e.jsx)(t.Text,{as:"p",size:3,html:h,className:"modal-register-subscribe-benefits-label text-info-primary [&_a]:underline"}),d&&d.length>0&&(0,e.jsx)("ul",{className:"flex flex-col gap-1",children:d.map((l,w)=>(0,e.jsx)("li",{className:"modal-register-subscribe-benefit-item ml-6 list-disc",children:(0,e.jsx)(t.Text,{as:"span",size:3,html:l.text,className:"text-info-tertiary [&_a]:underline"})},w))})]})]}),(0,e.jsx)("div",{className:"modal-register-subscribe-right flex min-w-0 flex-1 flex-col overflow-y-auto",children:S})]})]})}),(0,e.jsx)(ne,{open:J,onOpenChange:I,title:h,benefits:d?.map(l=>l.text)})]})};_.displayName="ModalRegisterSubscribe";var ce=_;
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/ModalRegisterSubscribe/index.tsx"],
4
- "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { Dialog, DialogContent, Button, Input, Checkbox, Heading, Text, Picture, Link } from '../../components/index.js'\n\nexport interface HeroImage {\n url: string\n alt?: string\n}\n\nexport interface BenefitItem {\n text: string\n}\n\nexport type SocialLoginType = 'google' | 'apple' | 'facebook'\n\nconst EMAIL_PATTERN = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/\n\nexport interface ModalRegisterSubscribeProps {\n open: boolean\n onOpenChange: (open: boolean) => void\n heroImage?: HeroImage\n heroTitle?: string\n rightsDetailsLabel?: string\n onRightsDetails?: () => void\n benefitsSectionLabel?: string\n benefits?: BenefitItem[]\n formTitle?: string\n termsDefaultChecked?: boolean\n newsletterDefaultChecked?: boolean\n registerLabel?: string\n passwordLoginLabel?: string\n socialLogins?: SocialLoginType[]\n onRegister?: (email: string, termsAccepted: boolean, newsletterAccepted: boolean) => void\n onPasswordLogin?: () => void\n}\n\nconst VerticalDivider = () => (\n <svg width=\"1\" height=\"16\" viewBox=\"0 0 1 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <line x1=\"0.5\" y1=\"0\" x2=\"0.5\" y2=\"16\" stroke=\"#DADCE0\" />\n </svg>\n)\n\nconst GoogleIcon = () => (\n <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill=\"#4285F4\"\n d=\"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92a5.06 5.06 0 0 1-2.2 3.32v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.1z\"\n />\n <path\n fill=\"#34A853\"\n d=\"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z\"\n />\n <path\n fill=\"#FBBC05\"\n d=\"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z\"\n />\n <path\n fill=\"#EA4335\"\n d=\"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z\"\n />\n </svg>\n)\n\nconst AppleIcon = () => (\n <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\">\n <path\n fill=\"currentColor\"\n d=\"M16.365 12.408c.023 2.468 2.161 3.29 2.185 3.301-.018.058-.341 1.17-1.122 2.32-.675.993-1.375 1.982-2.478 2.002-1.084.02-1.433-.644-2.674-.644-1.24 0-1.629.624-2.654.664-1.067.04-1.88-1.07-2.56-2.059-1.39-2.01-2.452-5.68-1.027-8.155.707-1.23 1.973-2.01 3.347-2.03 1.045-.02 2.032.704 2.674.704.641 0 1.846-.87 3.112-.742.53.022 2.018.214 2.974 1.613-.077.048-1.776 1.035-1.757 3.026ZM14.972 4.858c.566-.686.947-1.64.843-2.59-.815.033-1.8.543-2.384 1.229-.525.606-.986 1.576-.862 2.507.908.07 1.838-.462 2.403-1.146Z\"\n />\n </svg>\n)\n\nconst FacebookIcon = () => (\n <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z\"\n fill=\"#1877F2\"\n />\n </svg>\n)\n\nconst SOCIAL_LOGIN_META: Record<SocialLoginType, { label: string; icon: React.ReactNode }> = {\n google: {\n label: 'Google',\n icon: <GoogleIcon />,\n },\n apple: {\n label: 'Apple',\n icon: <AppleIcon />,\n },\n facebook: {\n label: 'Facebook',\n icon: <FacebookIcon />,\n },\n}\n\nconst ModalRightsDetails = ({\n open,\n onOpenChange,\n title,\n benefits,\n}: {\n open: boolean\n onOpenChange: (open: boolean) => void\n title?: string\n benefits?: string[]\n}) => (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent\n className=\"modal-rights-details-root tablet:max-w-[358px] !z-[1002] flex max-h-[80vh] w-full max-w-[calc(100vw_-_32px)] flex-col !gap-0 overflow-hidden rounded-[12px] !border-none bg-white !p-0 drop-shadow-[0px_2px_4px_rgba(0,0,0,0.12)]\"\n overlayClassName=\"!z-[1002] bg-black/60\"\n >\n <div className=\"rounded-[8px] px-[16px] pb-[24px] pt-[16px] backdrop-blur-sm\">\n {title && <Text as=\"p\" size={3} html={title} className=\"text-info-primary mb-2\" />}\n {benefits && benefits.length > 0 && (\n <ul className=\"flex flex-col gap-[4px]\">\n {benefits.map((b, i) => (\n <li key={i} className=\"ml-[21px] list-disc\">\n <Text as=\"span\" size={3} html={b} className=\"text-info-tertiary\" />\n </li>\n ))}\n </ul>\n )}\n </div>\n </DialogContent>\n </Dialog>\n)\n\nconst ModalRegisterSubscribe = ({\n open,\n onOpenChange,\n heroImage,\n heroTitle,\n rightsDetailsLabel,\n onRightsDetails,\n benefitsSectionLabel,\n benefits,\n formTitle,\n copy,\n termsDefaultChecked,\n newsletterDefaultChecked,\n registerLabel,\n passwordLoginLabel,\n socialLogins,\n onRegister,\n onPasswordLogin,\n}: ModalRegisterSubscribeProps & { copy?: Record<string, any> }) => {\n const emailLabel = copy?.emailLabel\n const emailPlaceholder = copy?.emailPlaceholder\n const emailEmptyErrorLabel = copy?.emailEmptyErrorLabel\n const emailInvalidErrorLabel = copy?.emailInvalidErrorLabel\n const termsLabel = copy?.termsLabel\n const termsRequiredErrorLabel = copy?.termsRequiredErrorLabel\n const newsletterLabel = copy?.newsletterLabel\n const [email, setEmail] = React.useState('')\n const [emailError, setEmailError] = React.useState('')\n const [termsAccepted, setTermsAccepted] = React.useState(!!termsDefaultChecked)\n const [newsletterAccepted, setNewsletterAccepted] = React.useState(!!newsletterDefaultChecked)\n const [showTermsError, setShowTermsError] = React.useState(false)\n const [showRightsDetails, setShowRightsDetails] = React.useState(false)\n const socialLoginItems = socialLogins?.map(type => ({\n id: type,\n ...SOCIAL_LOGIN_META[type],\n }))\n\n const formSection = (\n <div className=\"modal-register-subscribe-form tablet:p-8 tablet:pt-12 flex h-full flex-col justify-between gap-6 p-6 pt-8\">\n <div className=\"tablet:gap-8 flex flex-col gap-6\">\n {formTitle && (\n <Heading\n as=\"h3\"\n size={2}\n html={formTitle}\n className=\"modal-register-subscribe-form-title text-info-primary tablet:text-[24px] text-[20px]\"\n />\n )}\n\n <div className=\"flex flex-col gap-4\">\n <div className=\"flex flex-col gap-2\">\n {emailLabel && (\n <Text\n as=\"label\"\n size={3}\n html={emailLabel}\n className=\"modal-register-subscribe-email-label text-info-primary tablet:text-[16px] text-[14px] [&_a]:underline\"\n />\n )}\n <Input\n type=\"email\"\n placeholder={emailPlaceholder}\n value={email}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => {\n setEmail(e.target.value)\n setEmailError('')\n }}\n className=\"modal-register-subscribe-email-input tablet:h-[52px] border-lines-1 tablet:rounded-box-small tablet:px-4 h-[48px] bg-white px-3 font-[700] placeholder:font-[700]\"\n />\n {emailError && (\n <Text as=\"p\" size={3} className=\"text-error-0\">\n {emailError}\n </Text>\n )}\n </div>\n\n <div className=\"flex flex-col gap-2\">\n {termsLabel && (\n <div className=\"flex items-start gap-2\">\n <Checkbox\n id=\"modal-register-terms\"\n checked={termsAccepted}\n onCheckedChange={(v: boolean | 'indeterminate') => {\n setTermsAccepted(!!v)\n setShowTermsError(false)\n }}\n size=\"base\"\n className=\"mt-0.5 shrink-0\"\n />\n <Text\n as=\"label\"\n htmlFor=\"modal-register-terms\"\n size={3}\n html={termsLabel}\n className=\"modal-register-subscribe-terms-label text-info-tertiary tablet:text-[16px] cursor-pointer text-[14px] [&_a]:underline\"\n />\n </div>\n )}\n {showTermsError && termsRequiredErrorLabel && (\n <Text as=\"p\" size={3} className=\"text-error-0\">\n {termsRequiredErrorLabel}\n </Text>\n )}\n {newsletterLabel && (\n <div className=\"flex items-start gap-2\">\n <Checkbox\n id=\"modal-register-newsletter\"\n checked={newsletterAccepted}\n onCheckedChange={(v: boolean | 'indeterminate') => setNewsletterAccepted(!!v)}\n size=\"base\"\n className=\"mt-0.5 shrink-0\"\n />\n <Text\n as=\"label\"\n htmlFor=\"modal-register-newsletter\"\n size={3}\n html={newsletterLabel}\n className=\"modal-register-subscribe-newsletter-label text-info-tertiary tablet:text-[16px] cursor-pointer text-[14px] [&_a]:underline\"\n />\n </div>\n )}\n </div>\n </div>\n </div>\n\n <div className=\"flex flex-col gap-4\">\n <div className=\"flex flex-col items-center gap-4\">\n {registerLabel && (\n <Button\n onClick={() => {\n const trimmedEmail = email.trim()\n\n if (!trimmedEmail) {\n setEmailError(emailEmptyErrorLabel || '')\n } else if (!EMAIL_PATTERN.test(trimmedEmail)) {\n setEmailError(emailInvalidErrorLabel || '')\n } else {\n setEmailError('')\n }\n\n if (!!termsLabel && !termsAccepted) {\n setShowTermsError(true)\n } else {\n setShowTermsError(false)\n }\n\n if (!trimmedEmail || !EMAIL_PATTERN.test(trimmedEmail) || (!!termsLabel && !termsAccepted)) {\n return\n }\n\n onRegister?.(trimmedEmail, termsAccepted, newsletterAccepted)\n }}\n className=\"modal-register-subscribe-register-btn tablet:text-[16px] w-full text-[14px]\"\n >\n {registerLabel}\n </Button>\n )}\n\n {passwordLoginLabel && (\n <Link\n onClick={onPasswordLogin}\n className=\"modal-register-subscribe-password-login tablet:text-[16px] text-[14px]\"\n >\n {passwordLoginLabel}\n </Link>\n )}\n </div>\n\n {socialLoginItems && socialLoginItems.length > 0 && (\n <div className=\"modal-register-subscribe-social flex items-center justify-center gap-4\">\n {socialLoginItems.map((social, idx) => (\n <React.Fragment key={social.id}>\n {idx > 0 && <VerticalDivider />}\n <div className=\"modal-register-subscribe-social-btn rounded-box-small flex items-center gap-2\">\n <span className=\"desktop:size-6 size-5 shrink-0\">{social.icon}</span>\n <Text\n as=\"span\"\n size={3}\n html={social.label}\n className=\"text-info-primary desktop::text-[16px] text-[14px] [&_a]:underline\"\n />\n </div>\n </React.Fragment>\n ))}\n </div>\n )}\n </div>\n </div>\n )\n\n return (\n <>\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent\n className=\"modal-register-subscribe-root tablet:!rounded-box tablet:!top-1/2 tablet:!left-1/2 tablet:!bottom-auto tablet:!right-auto tablet:!-translate-x-1/2 tablet:!-translate-y-1/2 rounded-t-box !inset-x-0 !bottom-0 !top-auto flex max-h-[90vh] w-full !translate-x-0 !translate-y-0 flex-col !gap-0 overflow-hidden rounded-b-none !border-none !p-0\"\n style={{ maxWidth: 896 }}\n overlayClassName=\"bg-black/60\"\n >\n {/* \u624B\u673A\u7AEF */}\n <div className=\"modal-register-subscribe-inner tablet:hidden flex size-full min-h-0 flex-col bg-white\">\n <div className=\"modal-register-subscribe-hero relative h-[310px] w-full shrink-0 overflow-hidden bg-[rgba(200,215,240,0.4)]\">\n {heroImage?.url && (\n <div className=\"pointer-events-none absolute inset-0\">\n <Picture\n source={heroImage.url}\n alt={heroImage.alt || ''}\n className=\"absolute w-[99%]\"\n imgClassName=\"w-full h-full object-cover\"\n />\n <div className=\"absolute inset-0 bg-[rgba(121,160,223,0.2)]\" />\n </div>\n )}\n\n <div className=\"relative z-10 flex flex-col gap-1 px-[24px] pb-[16px] pr-[44px] pt-[44px]\">\n {heroTitle && (\n <Heading\n as=\"h2\"\n size={2}\n html={heroTitle}\n className=\"modal-register-subscribe-hero-heading text-info-primary text-[20px]\"\n />\n )}\n {rightsDetailsLabel && (\n <Link\n onClick={() => {\n onRightsDetails?.()\n setShowRightsDetails(true)\n }}\n className=\"modal-register-subscribe-rights-details text-info-primary w-fit text-[14px] underline\"\n >\n {rightsDetailsLabel}\n </Link>\n )}\n </div>\n </div>\n\n <div className=\"flex-1 overflow-y-auto\">{formSection}</div>\n </div>\n {/* pc \u7AEF */}\n <div className=\"modal-register-subscribe-inner tablet:flex hidden h-[640px] min-h-0 w-full flex-row bg-white\">\n <div className=\"modal-register-subscribe-left tablet:w-[448px] relative flex shrink-0 flex-col justify-between overflow-hidden px-4 pb-4 pt-12\">\n {heroImage?.url && (\n <div className=\"pointer-events-none absolute inset-0\">\n <Picture\n source={heroImage.url}\n alt={heroImage.alt || ''}\n className=\"absolute left-0 size-full\"\n imgClassName=\"w-full h-full object-cover\"\n />\n <div className=\"absolute inset-0 bg-[rgba(121,160,223,0.2)]\" />\n </div>\n )}\n\n <div className=\"modal-register-subscribe-hero-title relative px-4\">\n {heroTitle && (\n <Heading\n as=\"h2\"\n size={2}\n html={heroTitle}\n className=\"modal-register-subscribe-hero-heading text-info-primary desktop:text-[24px]\"\n />\n )}\n </div>\n\n <div className=\"modal-register-subscribe-benefits rounded-box-small relative flex flex-col gap-2 bg-white/90 p-6 backdrop-blur-sm\">\n {benefitsSectionLabel && (\n <Text\n as=\"p\"\n size={3}\n html={benefitsSectionLabel}\n className=\"modal-register-subscribe-benefits-label text-info-primary [&_a]:underline\"\n />\n )}\n {benefits && benefits.length > 0 && (\n <ul className=\"flex flex-col gap-1\">\n {benefits.map((item, idx) => (\n <li key={idx} className=\"modal-register-subscribe-benefit-item ml-6 list-disc\">\n <Text as=\"span\" size={3} html={item.text} className=\"text-info-tertiary [&_a]:underline\" />\n </li>\n ))}\n </ul>\n )}\n </div>\n </div>\n\n <div className=\"modal-register-subscribe-right flex min-w-0 flex-1 flex-col overflow-y-auto\">\n {formSection}\n </div>\n </div>\n </DialogContent>\n </Dialog>\n\n <ModalRightsDetails\n open={showRightsDetails}\n onOpenChange={setShowRightsDetails}\n title={benefitsSectionLabel}\n benefits={benefits?.map(b => b.text)}\n />\n </>\n )\n}\n\nModalRegisterSubscribe.displayName = 'ModalRegisterSubscribe'\nexport default ModalRegisterSubscribe\n"],
5
- "mappings": "wkBAAA,IAAAA,GAAA,GAAAC,EAAAD,GAAA,aAAAE,KAAA,eAAAC,GAAAH,IAuCI,IAAAI,EAAA,6BArCJC,EAAuB,oBACvBC,EAA6F,qCAa7F,MAAMC,EAAgB,6BAqBhBC,GAAkB,OACtB,OAAC,OAAI,MAAM,IAAI,OAAO,KAAK,QAAQ,WAAW,KAAK,OAAO,MAAM,6BAC9D,mBAAC,QAAK,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,KAAK,OAAO,UAAU,EAC1D,EAGIC,GAAa,OACjB,QAAC,OAAI,QAAQ,YAAY,MAAM,KAAK,OAAO,KAAK,MAAM,6BACpD,oBAAC,QACC,KAAK,UACL,EAAE,oHACJ,KACA,OAAC,QACC,KAAK,UACL,EAAE,wIACJ,KACA,OAAC,QACC,KAAK,UACL,EAAE,gIACJ,KACA,OAAC,QACC,KAAK,UACL,EAAE,sIACJ,GACF,EAGIC,GAAY,OAChB,OAAC,OAAI,QAAQ,YAAY,MAAM,KAAK,OAAO,KAAK,MAAM,6BAA6B,KAAK,OACtF,mBAAC,QACC,KAAK,eACL,EAAE,sgBACJ,EACF,EAGIC,GAAe,OACnB,OAAC,OAAI,QAAQ,YAAY,MAAM,KAAK,OAAO,KAAK,MAAM,6BACpD,mBAAC,QACC,EAAE,iSACF,KAAK,UACP,EACF,EAGIC,GAAuF,CAC3F,OAAQ,CACN,MAAO,SACP,QAAM,OAACH,GAAA,EAAW,CACpB,EACA,MAAO,CACL,MAAO,QACP,QAAM,OAACC,GAAA,EAAU,CACnB,EACA,SAAU,CACR,MAAO,WACP,QAAM,OAACC,GAAA,EAAa,CACtB,CACF,EAEME,GAAqB,CAAC,CAC1B,KAAAC,EACA,aAAAC,EACA,MAAAC,EACA,SAAAC,CACF,OAME,OAAC,UAAO,KAAMH,EAAM,aAAcC,EAChC,mBAAC,iBACC,UAAU,oOACV,iBAAiB,wBAEjB,oBAAC,OAAI,UAAU,+DACZ,UAAAC,MAAS,OAAC,QAAK,GAAG,IAAI,KAAM,EAAG,KAAMA,EAAO,UAAU,yBAAyB,EAC/EC,GAAYA,EAAS,OAAS,MAC7B,OAAC,MAAG,UAAU,0BACX,SAAAA,EAAS,IAAI,CAACC,EAAGC,OAChB,OAAC,MAAW,UAAU,sBACpB,mBAAC,QAAK,GAAG,OAAO,KAAM,EAAG,KAAMD,EAAG,UAAU,qBAAqB,GAD1DC,CAET,CACD,EACH,GAEJ,EACF,EACF,EAGIC,EAAyB,CAAC,CAC9B,KAAAN,EACA,aAAAC,EACA,UAAAM,EACA,UAAAC,EACA,mBAAAC,EACA,gBAAAC,EACA,qBAAAC,EACA,SAAAR,EACA,UAAAS,EACA,KAAAC,EACA,oBAAAC,EACA,yBAAAC,EACA,cAAAC,EACA,mBAAAC,EACA,aAAAC,EACA,WAAAC,EACA,gBAAAC,CACF,IAAoE,CAClE,MAAMC,EAAaR,GAAM,WACnBS,EAAmBT,GAAM,iBACzBU,EAAuBV,GAAM,qBAC7BW,EAAyBX,GAAM,uBAC/BY,EAAaZ,GAAM,WACnBa,EAA0Bb,GAAM,wBAChCc,EAAkBd,GAAM,gBACxB,CAACe,EAAOC,CAAQ,EAAItC,EAAM,SAAS,EAAE,EACrC,CAACuC,EAAYC,CAAa,EAAIxC,EAAM,SAAS,EAAE,EAC/C,CAACyC,EAAeC,CAAgB,EAAI1C,EAAM,SAAS,CAAC,CAACuB,CAAmB,EACxE,CAACoB,EAAoBC,CAAqB,EAAI5C,EAAM,SAAS,CAAC,CAACwB,CAAwB,EACvF,CAACqB,EAAgBC,CAAiB,EAAI9C,EAAM,SAAS,EAAK,EAC1D,CAAC+C,EAAmBC,CAAoB,EAAIhD,EAAM,SAAS,EAAK,EAChEiD,EAAmBtB,GAAc,IAAIuB,IAAS,CAClD,GAAIA,EACJ,GAAG3C,GAAkB2C,CAAI,CAC3B,EAAE,EAEIC,KACJ,QAAC,OAAI,UAAU,4GACb,qBAAC,OAAI,UAAU,mCACZ,UAAA9B,MACC,OAAC,WACC,GAAG,KACH,KAAM,EACN,KAAMA,EACN,UAAU,uFACZ,KAGF,QAAC,OAAI,UAAU,sBACb,qBAAC,OAAI,UAAU,sBACZ,UAAAS,MACC,OAAC,QACC,GAAG,QACH,KAAM,EACN,KAAMA,EACN,UAAU,wGACZ,KAEF,OAAC,SACC,KAAK,QACL,YAAaC,EACb,MAAOM,EACP,SAAWe,GAA2C,CACpDd,EAASc,EAAE,OAAO,KAAK,EACvBZ,EAAc,EAAE,CAClB,EACA,UAAU,oKACZ,EACCD,MACC,OAAC,QAAK,GAAG,IAAI,KAAM,EAAG,UAAU,eAC7B,SAAAA,EACH,GAEJ,KAEA,QAAC,OAAI,UAAU,sBACZ,UAAAL,MACC,QAAC,OAAI,UAAU,yBACb,oBAAC,YACC,GAAG,uBACH,QAASO,EACT,gBAAkBY,GAAiC,CACjDX,EAAiB,CAAC,CAACW,CAAC,EACpBP,EAAkB,EAAK,CACzB,EACA,KAAK,OACL,UAAU,kBACZ,KACA,OAAC,QACC,GAAG,QACH,QAAQ,uBACR,KAAM,EACN,KAAMZ,EACN,UAAU,wHACZ,GACF,EAEDW,GAAkBV,MACjB,OAAC,QAAK,GAAG,IAAI,KAAM,EAAG,UAAU,eAC7B,SAAAA,EACH,EAEDC,MACC,QAAC,OAAI,UAAU,yBACb,oBAAC,YACC,GAAG,4BACH,QAASO,EACT,gBAAkBU,GAAiCT,EAAsB,CAAC,CAACS,CAAC,EAC5E,KAAK,OACL,UAAU,kBACZ,KACA,OAAC,QACC,GAAG,QACH,QAAQ,4BACR,KAAM,EACN,KAAMjB,EACN,UAAU,6HACZ,GACF,GAEJ,GACF,GACF,KAEA,QAAC,OAAI,UAAU,sBACb,qBAAC,OAAI,UAAU,mCACZ,UAAAX,MACC,OAAC,UACC,QAAS,IAAM,CACb,MAAM6B,EAAejB,EAAM,KAAK,EAE3BiB,EAEOpD,EAAc,KAAKoD,CAAY,EAGzCd,EAAc,EAAE,EAFhBA,EAAcP,GAA0B,EAAE,EAF1CO,EAAcR,GAAwB,EAAE,EAQxCc,EADE,GAAEZ,GAAc,CAACO,EACG,EAKpB,GAACa,GAAgB,CAACpD,EAAc,KAAKoD,CAAY,GAAQpB,GAAc,CAACO,IAI5Eb,IAAa0B,EAAcb,EAAeE,CAAkB,CAC9D,EACA,UAAU,8EAET,SAAAlB,EACH,EAGDC,MACC,OAAC,QACC,QAASG,EACT,UAAU,yEAET,SAAAH,EACH,GAEJ,EAECuB,GAAoBA,EAAiB,OAAS,MAC7C,OAAC,OAAI,UAAU,yEACZ,SAAAA,EAAiB,IAAI,CAACM,EAAQC,OAC7B,QAACxD,EAAM,SAAN,CACE,UAAAwD,EAAM,MAAK,OAACrD,GAAA,EAAgB,KAC7B,QAAC,OAAI,UAAU,gFACb,oBAAC,QAAK,UAAU,iCAAkC,SAAAoD,EAAO,KAAK,KAC9D,OAAC,QACC,GAAG,OACH,KAAM,EACN,KAAMA,EAAO,MACb,UAAU,qEACZ,GACF,IAVmBA,EAAO,EAW5B,CACD,EACH,GAEJ,GACF,EAGF,SACE,oBACE,oBAAC,UAAO,KAAM9C,EAAM,aAAcC,EAChC,oBAAC,iBACC,UAAU,mVACV,MAAO,CAAE,SAAU,GAAI,EACvB,iBAAiB,cAGjB,qBAAC,OAAI,UAAU,wFACb,qBAAC,OAAI,UAAU,8GACZ,UAAAM,GAAW,QACV,QAAC,OAAI,UAAU,uCACb,oBAAC,WACC,OAAQA,EAAU,IAClB,IAAKA,EAAU,KAAO,GACtB,UAAU,mBACV,aAAa,6BACf,KACA,OAAC,OAAI,UAAU,8CAA8C,GAC/D,KAGF,QAAC,OAAI,UAAU,4EACZ,UAAAC,MACC,OAAC,WACC,GAAG,KACH,KAAM,EACN,KAAMA,EACN,UAAU,sEACZ,EAEDC,MACC,OAAC,QACC,QAAS,IAAM,CACbC,IAAkB,EAClB6B,EAAqB,EAAI,CAC3B,EACA,UAAU,wFAET,SAAA9B,EACH,GAEJ,GACF,KAEA,OAAC,OAAI,UAAU,yBAA0B,SAAAiC,EAAY,GACvD,KAEA,QAAC,OAAI,UAAU,+FACb,qBAAC,OAAI,UAAU,iIACZ,UAAAnC,GAAW,QACV,QAAC,OAAI,UAAU,uCACb,oBAAC,WACC,OAAQA,EAAU,IAClB,IAAKA,EAAU,KAAO,GACtB,UAAU,4BACV,aAAa,6BACf,KACA,OAAC,OAAI,UAAU,8CAA8C,GAC/D,KAGF,OAAC,OAAI,UAAU,oDACZ,SAAAC,MACC,OAAC,WACC,GAAG,KACH,KAAM,EACN,KAAMA,EACN,UAAU,8EACZ,EAEJ,KAEA,QAAC,OAAI,UAAU,oHACZ,UAAAG,MACC,OAAC,QACC,GAAG,IACH,KAAM,EACN,KAAMA,EACN,UAAU,4EACZ,EAEDR,GAAYA,EAAS,OAAS,MAC7B,OAAC,MAAG,UAAU,sBACX,SAAAA,EAAS,IAAI,CAAC6C,EAAMD,OACnB,OAAC,MAAa,UAAU,uDACtB,mBAAC,QAAK,GAAG,OAAO,KAAM,EAAG,KAAMC,EAAK,KAAM,UAAU,qCAAqC,GADlFD,CAET,CACD,EACH,GAEJ,GACF,KAEA,OAAC,OAAI,UAAU,8EACZ,SAAAL,EACH,GACF,GACF,EACF,KAEA,OAAC3C,GAAA,CACC,KAAMuC,EACN,aAAcC,EACd,MAAO5B,EACP,SAAUR,GAAU,IAAIC,GAAKA,EAAE,IAAI,EACrC,GACF,CAEJ,EAEAE,EAAuB,YAAc,yBACrC,IAAOlB,GAAQkB",
6
- "names": ["ModalRegisterSubscribe_exports", "__export", "ModalRegisterSubscribe_default", "__toCommonJS", "import_jsx_runtime", "React", "import_components", "EMAIL_PATTERN", "VerticalDivider", "GoogleIcon", "AppleIcon", "FacebookIcon", "SOCIAL_LOGIN_META", "ModalRightsDetails", "open", "onOpenChange", "title", "benefits", "b", "i", "ModalRegisterSubscribe", "heroImage", "heroTitle", "rightsDetailsLabel", "onRightsDetails", "benefitsSectionLabel", "formTitle", "copy", "termsDefaultChecked", "newsletterDefaultChecked", "registerLabel", "passwordLoginLabel", "socialLogins", "onRegister", "onPasswordLogin", "emailLabel", "emailPlaceholder", "emailEmptyErrorLabel", "emailInvalidErrorLabel", "termsLabel", "termsRequiredErrorLabel", "newsletterLabel", "email", "setEmail", "emailError", "setEmailError", "termsAccepted", "setTermsAccepted", "newsletterAccepted", "setNewsletterAccepted", "showTermsError", "setShowTermsError", "showRightsDetails", "setShowRightsDetails", "socialLoginItems", "type", "formSection", "e", "v", "trimmedEmail", "social", "idx", "item"]
4
+ "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { Dialog, DialogContent, Button, Input, Checkbox, Heading, Text, Picture, Link } from '../../components/index.js'\n\nexport interface HeroImage {\n url: string\n alt?: string\n}\n\nexport interface BenefitItem {\n text: string\n}\n\nexport type SocialLoginType = 'google' | 'apple' | 'facebook'\n\nconst EMAIL_PATTERN = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/\n\nexport interface ModalRegisterSubscribeProps {\n open: boolean\n onOpenChange: (open: boolean) => void\n heroImage?: HeroImage\n heroImageMobile?: HeroImage\n heroTitle?: string\n rightsDetailsLabel?: string\n onRightsDetails?: () => void\n benefitsSectionLabel?: string\n benefits?: BenefitItem[]\n formTitle?: string\n termsDefaultChecked?: boolean\n newsletterDefaultChecked?: boolean\n registerLabel?: string\n passwordLoginLabel?: string\n socialLogins?: SocialLoginType[]\n onRegister?: (email: string, termsAccepted: boolean, newsletterAccepted: boolean) => void\n onPasswordLogin?: () => void\n}\n\nconst VerticalDivider = () => (\n <svg width=\"1\" height=\"16\" viewBox=\"0 0 1 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <line x1=\"0.5\" y1=\"0\" x2=\"0.5\" y2=\"16\" stroke=\"#DADCE0\" />\n </svg>\n)\n\nconst GoogleIcon = () => (\n <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill=\"#4285F4\"\n d=\"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92a5.06 5.06 0 0 1-2.2 3.32v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.1z\"\n />\n <path\n fill=\"#34A853\"\n d=\"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z\"\n />\n <path\n fill=\"#FBBC05\"\n d=\"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z\"\n />\n <path\n fill=\"#EA4335\"\n d=\"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z\"\n />\n </svg>\n)\n\nconst AppleIcon = () => (\n <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\">\n <path\n fill=\"currentColor\"\n d=\"M16.365 12.408c.023 2.468 2.161 3.29 2.185 3.301-.018.058-.341 1.17-1.122 2.32-.675.993-1.375 1.982-2.478 2.002-1.084.02-1.433-.644-2.674-.644-1.24 0-1.629.624-2.654.664-1.067.04-1.88-1.07-2.56-2.059-1.39-2.01-2.452-5.68-1.027-8.155.707-1.23 1.973-2.01 3.347-2.03 1.045-.02 2.032.704 2.674.704.641 0 1.846-.87 3.112-.742.53.022 2.018.214 2.974 1.613-.077.048-1.776 1.035-1.757 3.026ZM14.972 4.858c.566-.686.947-1.64.843-2.59-.815.033-1.8.543-2.384 1.229-.525.606-.986 1.576-.862 2.507.908.07 1.838-.462 2.403-1.146Z\"\n />\n </svg>\n)\n\nconst FacebookIcon = () => (\n <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z\"\n fill=\"#1877F2\"\n />\n </svg>\n)\n\nconst SOCIAL_LOGIN_META: Record<SocialLoginType, { label: string; icon: React.ReactNode }> = {\n google: {\n label: 'Google',\n icon: <GoogleIcon />,\n },\n apple: {\n label: 'Apple',\n icon: <AppleIcon />,\n },\n facebook: {\n label: 'Facebook',\n icon: <FacebookIcon />,\n },\n}\n\nconst ModalRightsDetails = ({\n open,\n onOpenChange,\n title,\n benefits,\n}: {\n open: boolean\n onOpenChange: (open: boolean) => void\n title?: string\n benefits?: string[]\n}) => (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent\n className=\"modal-rights-details-root tablet:max-w-[358px] !z-[1002] flex max-h-[80vh] w-full max-w-[calc(100vw_-_32px)] flex-col !gap-0 overflow-hidden rounded-[12px] !border-none bg-white !p-0 drop-shadow-[0px_2px_4px_rgba(0,0,0,0.12)]\"\n overlayClassName=\"!z-[1002] bg-black/60\"\n >\n <div className=\"rounded-[8px] px-[16px] pb-[24px] pt-[16px] backdrop-blur-sm\">\n {title && <Text as=\"p\" size={3} html={title} className=\"text-info-primary mb-2\" />}\n {benefits && benefits.length > 0 && (\n <ul className=\"flex flex-col gap-[4px]\">\n {benefits.map((b, i) => (\n <li key={i} className=\"ml-[21px] list-disc\">\n <Text as=\"span\" size={3} html={b} className=\"text-info-tertiary\" />\n </li>\n ))}\n </ul>\n )}\n </div>\n </DialogContent>\n </Dialog>\n)\n\nconst ModalRegisterSubscribe = ({\n open,\n onOpenChange,\n heroImage,\n heroImageMobile,\n heroTitle,\n rightsDetailsLabel,\n onRightsDetails,\n benefitsSectionLabel,\n benefits,\n formTitle,\n copy,\n termsDefaultChecked,\n newsletterDefaultChecked,\n registerLabel,\n passwordLoginLabel,\n socialLogins,\n onRegister,\n onPasswordLogin,\n}: ModalRegisterSubscribeProps & { copy?: Record<string, any> }) => {\n const emailLabel = copy?.emailLabel\n const emailPlaceholder = copy?.emailPlaceholder\n const emailEmptyErrorLabel = copy?.emailEmptyErrorLabel\n const emailInvalidErrorLabel = copy?.emailInvalidErrorLabel\n const termsLabel = copy?.termsLabel\n const termsRequiredErrorLabel = copy?.termsRequiredErrorLabel\n const newsletterLabel = copy?.newsletterLabel\n const [email, setEmail] = React.useState('')\n const [emailError, setEmailError] = React.useState('')\n const [termsAccepted, setTermsAccepted] = React.useState(!!termsDefaultChecked)\n const [newsletterAccepted, setNewsletterAccepted] = React.useState(!!newsletterDefaultChecked)\n const [showTermsError, setShowTermsError] = React.useState(false)\n const [showRightsDetails, setShowRightsDetails] = React.useState(false)\n const socialLoginItems = socialLogins?.map(type => ({\n id: type,\n ...SOCIAL_LOGIN_META[type],\n }))\n\n const formSection = (\n <div className=\"modal-register-subscribe-form tablet:p-8 tablet:pt-12 flex h-full flex-col justify-between gap-6 p-6 pt-8\">\n <div className=\"tablet:gap-8 flex flex-col gap-6\">\n {formTitle && (\n <Heading\n as=\"h3\"\n size={2}\n html={formTitle}\n className=\"modal-register-subscribe-form-title text-info-primary tablet:text-[24px] text-[20px]\"\n />\n )}\n\n <div className=\"flex flex-col gap-4\">\n <div className=\"flex flex-col gap-2\">\n {emailLabel && (\n <Text\n as=\"label\"\n size={3}\n html={emailLabel}\n className=\"modal-register-subscribe-email-label text-info-primary tablet:text-[16px] text-[14px] [&_a]:underline\"\n />\n )}\n <Input\n type=\"email\"\n placeholder={emailPlaceholder}\n value={email}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => {\n setEmail(e.target.value)\n setEmailError('')\n }}\n className=\"modal-register-subscribe-email-input tablet:h-[52px] border-lines-1 tablet:rounded-box-small tablet:px-4 h-[48px] bg-white px-3 font-[700] placeholder:font-[700]\"\n />\n {emailError && (\n <Text as=\"p\" size={3} className=\"text-error-0\">\n {emailError}\n </Text>\n )}\n </div>\n\n <div className=\"flex flex-col gap-2\">\n {termsLabel && (\n <div className=\"flex items-start gap-2\">\n <Checkbox\n id=\"modal-register-terms\"\n checked={termsAccepted}\n onCheckedChange={(v: boolean | 'indeterminate') => {\n setTermsAccepted(!!v)\n setShowTermsError(false)\n }}\n size=\"base\"\n className=\"mt-0.5 shrink-0\"\n />\n <Text\n as=\"label\"\n htmlFor=\"modal-register-terms\"\n size={3}\n html={termsLabel}\n className=\"modal-register-subscribe-terms-label text-info-tertiary tablet:text-[16px] cursor-pointer text-[14px] [&_a]:underline\"\n />\n </div>\n )}\n {showTermsError && termsRequiredErrorLabel && (\n <Text as=\"p\" size={3} className=\"text-error-0\">\n {termsRequiredErrorLabel}\n </Text>\n )}\n {newsletterLabel && (\n <div className=\"flex items-start gap-2\">\n <Checkbox\n id=\"modal-register-newsletter\"\n checked={newsletterAccepted}\n onCheckedChange={(v: boolean | 'indeterminate') => setNewsletterAccepted(!!v)}\n size=\"base\"\n className=\"mt-0.5 shrink-0\"\n />\n <Text\n as=\"label\"\n htmlFor=\"modal-register-newsletter\"\n size={3}\n html={newsletterLabel}\n className=\"modal-register-subscribe-newsletter-label text-info-tertiary tablet:text-[16px] cursor-pointer text-[14px] [&_a]:underline\"\n />\n </div>\n )}\n </div>\n </div>\n </div>\n\n <div className=\"flex flex-col gap-4\">\n <div className=\"flex flex-col items-center gap-4\">\n {registerLabel && (\n <Button\n onClick={() => {\n const trimmedEmail = email.trim()\n\n if (!trimmedEmail) {\n setEmailError(emailEmptyErrorLabel || '')\n } else if (!EMAIL_PATTERN.test(trimmedEmail)) {\n setEmailError(emailInvalidErrorLabel || '')\n } else {\n setEmailError('')\n }\n\n if (!!termsLabel && !termsAccepted) {\n setShowTermsError(true)\n } else {\n setShowTermsError(false)\n }\n\n if (!trimmedEmail || !EMAIL_PATTERN.test(trimmedEmail) || (!!termsLabel && !termsAccepted)) {\n return\n }\n\n onRegister?.(trimmedEmail, termsAccepted, newsletterAccepted)\n }}\n className=\"modal-register-subscribe-register-btn tablet:text-[16px] w-full text-[14px]\"\n >\n {registerLabel}\n </Button>\n )}\n\n {passwordLoginLabel && (\n <Link\n onClick={onPasswordLogin}\n className=\"modal-register-subscribe-password-login tablet:text-[16px] text-[14px]\"\n >\n {passwordLoginLabel}\n </Link>\n )}\n </div>\n\n {socialLoginItems && socialLoginItems.length > 0 && (\n <div className=\"modal-register-subscribe-social flex items-center justify-center gap-4\">\n {socialLoginItems.map((social, idx) => (\n <React.Fragment key={social.id}>\n {idx > 0 && <VerticalDivider />}\n <div className=\"modal-register-subscribe-social-btn rounded-box-small flex items-center gap-2\">\n <span className=\"desktop:size-6 size-5 shrink-0\">{social.icon}</span>\n <Text\n as=\"span\"\n size={3}\n html={social.label}\n className=\"text-info-primary desktop::text-[16px] text-[14px] [&_a]:underline\"\n />\n </div>\n </React.Fragment>\n ))}\n </div>\n )}\n </div>\n </div>\n )\n\n const finalHeroImageMobile = heroImageMobile ?? heroImage\n\n return (\n <>\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent\n className=\"modal-register-subscribe-root tablet:!rounded-box tablet:!top-1/2 tablet:!left-1/2 tablet:!bottom-auto tablet:!right-auto tablet:!-translate-x-1/2 tablet:!-translate-y-1/2 rounded-t-box !inset-x-0 !bottom-0 !top-auto flex max-h-[90vh] w-full !translate-x-0 !translate-y-0 flex-col !gap-0 overflow-hidden rounded-b-none !border-none !p-0\"\n style={{ maxWidth: 896 }}\n overlayClassName=\"bg-black/60\"\n >\n {/* \u624B\u673A\u7AEF */}\n <div className=\"modal-register-subscribe-inner tablet:hidden flex size-full min-h-0 flex-col bg-white\">\n <div className=\"modal-register-subscribe-hero relative h-[310px] w-full shrink-0 overflow-hidden bg-[rgba(200,215,240,0.4)]\">\n {finalHeroImageMobile?.url && (\n <div className=\"pointer-events-none absolute inset-0\">\n <Picture\n source={finalHeroImageMobile.url}\n alt={finalHeroImageMobile.alt || ''}\n className=\"absolute w-[99%]\"\n imgClassName=\"w-full h-full object-cover\"\n />\n <div className=\"absolute inset-0 bg-[rgba(121,160,223,0.2)]\" />\n </div>\n )}\n\n <div className=\"relative z-10 flex flex-col gap-1 px-[24px] pb-[16px] pr-[44px] pt-[44px]\">\n {heroTitle && (\n <Heading\n as=\"h2\"\n size={2}\n html={heroTitle}\n className=\"modal-register-subscribe-hero-heading text-info-primary text-[20px]\"\n />\n )}\n {rightsDetailsLabel && (\n <Link\n onClick={() => {\n onRightsDetails?.()\n setShowRightsDetails(true)\n }}\n className=\"modal-register-subscribe-rights-details text-info-primary w-fit text-[14px] underline\"\n >\n {rightsDetailsLabel}\n </Link>\n )}\n </div>\n </div>\n\n <div className=\"flex-1 overflow-y-auto\">{formSection}</div>\n </div>\n {/* pc \u7AEF */}\n <div className=\"modal-register-subscribe-inner tablet:flex hidden h-[640px] min-h-0 w-full flex-row bg-white\">\n <div className=\"modal-register-subscribe-left tablet:w-[448px] relative flex shrink-0 flex-col justify-between overflow-hidden px-4 pb-4 pt-12\">\n {heroImage?.url && (\n <div className=\"pointer-events-none absolute inset-0\">\n <Picture\n source={heroImage.url}\n alt={heroImage.alt || ''}\n className=\"absolute left-0 size-full\"\n imgClassName=\"w-full h-full object-cover\"\n />\n <div className=\"absolute inset-0 bg-[rgba(121,160,223,0.2)]\" />\n </div>\n )}\n\n <div className=\"modal-register-subscribe-hero-title relative px-4\">\n {heroTitle && (\n <Heading\n as=\"h2\"\n size={2}\n html={heroTitle}\n className=\"modal-register-subscribe-hero-heading text-info-primary desktop:text-[24px]\"\n />\n )}\n </div>\n\n <div className=\"modal-register-subscribe-benefits rounded-box-small relative flex flex-col gap-2 bg-white/90 p-6 backdrop-blur-sm\">\n {benefitsSectionLabel && (\n <Text\n as=\"p\"\n size={3}\n html={benefitsSectionLabel}\n className=\"modal-register-subscribe-benefits-label text-info-primary [&_a]:underline\"\n />\n )}\n {benefits && benefits.length > 0 && (\n <ul className=\"flex flex-col gap-1\">\n {benefits.map((item, idx) => (\n <li key={idx} className=\"modal-register-subscribe-benefit-item ml-6 list-disc\">\n <Text as=\"span\" size={3} html={item.text} className=\"text-info-tertiary [&_a]:underline\" />\n </li>\n ))}\n </ul>\n )}\n </div>\n </div>\n\n <div className=\"modal-register-subscribe-right flex min-w-0 flex-1 flex-col overflow-y-auto\">\n {formSection}\n </div>\n </div>\n </DialogContent>\n </Dialog>\n\n <ModalRightsDetails\n open={showRightsDetails}\n onOpenChange={setShowRightsDetails}\n title={benefitsSectionLabel}\n benefits={benefits?.map(b => b.text)}\n />\n </>\n )\n}\n\nModalRegisterSubscribe.displayName = 'ModalRegisterSubscribe'\nexport default ModalRegisterSubscribe\n"],
5
+ "mappings": "0kBAAA,IAAAA,GAAA,GAAAC,GAAAD,GAAA,aAAAE,KAAA,eAAAC,GAAAH,IAwCI,IAAAI,EAAA,6BAtCJC,EAAuB,qBACvBC,EAA6F,qCAa7F,MAAMC,EAAgB,6BAsBhBC,GAAkB,OACtB,OAAC,OAAI,MAAM,IAAI,OAAO,KAAK,QAAQ,WAAW,KAAK,OAAO,MAAM,6BAC9D,mBAAC,QAAK,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,KAAK,OAAO,UAAU,EAC1D,EAGIC,GAAa,OACjB,QAAC,OAAI,QAAQ,YAAY,MAAM,KAAK,OAAO,KAAK,MAAM,6BACpD,oBAAC,QACC,KAAK,UACL,EAAE,oHACJ,KACA,OAAC,QACC,KAAK,UACL,EAAE,wIACJ,KACA,OAAC,QACC,KAAK,UACL,EAAE,gIACJ,KACA,OAAC,QACC,KAAK,UACL,EAAE,sIACJ,GACF,EAGIC,GAAY,OAChB,OAAC,OAAI,QAAQ,YAAY,MAAM,KAAK,OAAO,KAAK,MAAM,6BAA6B,KAAK,OACtF,mBAAC,QACC,KAAK,eACL,EAAE,sgBACJ,EACF,EAGIC,GAAe,OACnB,OAAC,OAAI,QAAQ,YAAY,MAAM,KAAK,OAAO,KAAK,MAAM,6BACpD,mBAAC,QACC,EAAE,iSACF,KAAK,UACP,EACF,EAGIC,GAAuF,CAC3F,OAAQ,CACN,MAAO,SACP,QAAM,OAACH,GAAA,EAAW,CACpB,EACA,MAAO,CACL,MAAO,QACP,QAAM,OAACC,GAAA,EAAU,CACnB,EACA,SAAU,CACR,MAAO,WACP,QAAM,OAACC,GAAA,EAAa,CACtB,CACF,EAEME,GAAqB,CAAC,CAC1B,KAAAC,EACA,aAAAC,EACA,MAAAC,EACA,SAAAC,CACF,OAME,OAAC,UAAO,KAAMH,EAAM,aAAcC,EAChC,mBAAC,iBACC,UAAU,oOACV,iBAAiB,wBAEjB,oBAAC,OAAI,UAAU,+DACZ,UAAAC,MAAS,OAAC,QAAK,GAAG,IAAI,KAAM,EAAG,KAAMA,EAAO,UAAU,yBAAyB,EAC/EC,GAAYA,EAAS,OAAS,MAC7B,OAAC,MAAG,UAAU,0BACX,SAAAA,EAAS,IAAI,CAACC,EAAGC,OAChB,OAAC,MAAW,UAAU,sBACpB,mBAAC,QAAK,GAAG,OAAO,KAAM,EAAG,KAAMD,EAAG,UAAU,qBAAqB,GAD1DC,CAET,CACD,EACH,GAEJ,EACF,EACF,EAGIC,EAAyB,CAAC,CAC9B,KAAAN,EACA,aAAAC,EACA,UAAAM,EACA,gBAAAC,EACA,UAAAC,EACA,mBAAAC,EACA,gBAAAC,EACA,qBAAAC,EACA,SAAAT,EACA,UAAAU,EACA,KAAAC,EACA,oBAAAC,EACA,yBAAAC,EACA,cAAAC,EACA,mBAAAC,EACA,aAAAC,EACA,WAAAC,EACA,gBAAAC,CACF,IAAoE,CAClE,MAAMC,EAAaR,GAAM,WACnBS,EAAmBT,GAAM,iBACzBU,EAAuBV,GAAM,qBAC7BW,EAAyBX,GAAM,uBAC/BY,EAAaZ,GAAM,WACnBa,EAA0Bb,GAAM,wBAChCc,EAAkBd,GAAM,gBACxB,CAACe,EAAOC,CAAQ,EAAIvC,EAAM,SAAS,EAAE,EACrC,CAACwC,EAAYC,CAAa,EAAIzC,EAAM,SAAS,EAAE,EAC/C,CAAC0C,EAAeC,CAAgB,EAAI3C,EAAM,SAAS,CAAC,CAACwB,CAAmB,EACxE,CAACoB,EAAoBC,CAAqB,EAAI7C,EAAM,SAAS,CAAC,CAACyB,CAAwB,EACvF,CAACqB,EAAgBC,CAAiB,EAAI/C,EAAM,SAAS,EAAK,EAC1D,CAACgD,EAAmBC,CAAoB,EAAIjD,EAAM,SAAS,EAAK,EAChEkD,EAAmBtB,GAAc,IAAIuB,IAAS,CAClD,GAAIA,EACJ,GAAG5C,GAAkB4C,CAAI,CAC3B,EAAE,EAEIC,KACJ,QAAC,OAAI,UAAU,4GACb,qBAAC,OAAI,UAAU,mCACZ,UAAA9B,MACC,OAAC,WACC,GAAG,KACH,KAAM,EACN,KAAMA,EACN,UAAU,uFACZ,KAGF,QAAC,OAAI,UAAU,sBACb,qBAAC,OAAI,UAAU,sBACZ,UAAAS,MACC,OAAC,QACC,GAAG,QACH,KAAM,EACN,KAAMA,EACN,UAAU,wGACZ,KAEF,OAAC,SACC,KAAK,QACL,YAAaC,EACb,MAAOM,EACP,SAAWe,GAA2C,CACpDd,EAASc,EAAE,OAAO,KAAK,EACvBZ,EAAc,EAAE,CAClB,EACA,UAAU,oKACZ,EACCD,MACC,OAAC,QAAK,GAAG,IAAI,KAAM,EAAG,UAAU,eAC7B,SAAAA,EACH,GAEJ,KAEA,QAAC,OAAI,UAAU,sBACZ,UAAAL,MACC,QAAC,OAAI,UAAU,yBACb,oBAAC,YACC,GAAG,uBACH,QAASO,EACT,gBAAkBY,GAAiC,CACjDX,EAAiB,CAAC,CAACW,CAAC,EACpBP,EAAkB,EAAK,CACzB,EACA,KAAK,OACL,UAAU,kBACZ,KACA,OAAC,QACC,GAAG,QACH,QAAQ,uBACR,KAAM,EACN,KAAMZ,EACN,UAAU,wHACZ,GACF,EAEDW,GAAkBV,MACjB,OAAC,QAAK,GAAG,IAAI,KAAM,EAAG,UAAU,eAC7B,SAAAA,EACH,EAEDC,MACC,QAAC,OAAI,UAAU,yBACb,oBAAC,YACC,GAAG,4BACH,QAASO,EACT,gBAAkBU,GAAiCT,EAAsB,CAAC,CAACS,CAAC,EAC5E,KAAK,OACL,UAAU,kBACZ,KACA,OAAC,QACC,GAAG,QACH,QAAQ,4BACR,KAAM,EACN,KAAMjB,EACN,UAAU,6HACZ,GACF,GAEJ,GACF,GACF,KAEA,QAAC,OAAI,UAAU,sBACb,qBAAC,OAAI,UAAU,mCACZ,UAAAX,MACC,OAAC,UACC,QAAS,IAAM,CACb,MAAM6B,EAAejB,EAAM,KAAK,EAE3BiB,EAEOrD,EAAc,KAAKqD,CAAY,EAGzCd,EAAc,EAAE,EAFhBA,EAAcP,GAA0B,EAAE,EAF1CO,EAAcR,GAAwB,EAAE,EAQxCc,EADE,GAAEZ,GAAc,CAACO,EACG,EAKpB,GAACa,GAAgB,CAACrD,EAAc,KAAKqD,CAAY,GAAQpB,GAAc,CAACO,IAI5Eb,IAAa0B,EAAcb,EAAeE,CAAkB,CAC9D,EACA,UAAU,8EAET,SAAAlB,EACH,EAGDC,MACC,OAAC,QACC,QAASG,EACT,UAAU,yEAET,SAAAH,EACH,GAEJ,EAECuB,GAAoBA,EAAiB,OAAS,MAC7C,OAAC,OAAI,UAAU,yEACZ,SAAAA,EAAiB,IAAI,CAACM,EAAQC,OAC7B,QAACzD,EAAM,SAAN,CACE,UAAAyD,EAAM,MAAK,OAACtD,GAAA,EAAgB,KAC7B,QAAC,OAAI,UAAU,gFACb,oBAAC,QAAK,UAAU,iCAAkC,SAAAqD,EAAO,KAAK,KAC9D,OAAC,QACC,GAAG,OACH,KAAM,EACN,KAAMA,EAAO,MACb,UAAU,qEACZ,GACF,IAVmBA,EAAO,EAW5B,CACD,EACH,GAEJ,GACF,EAGIE,EAAuBzC,GAAmBD,EAEhD,SACE,oBACE,oBAAC,UAAO,KAAMP,EAAM,aAAcC,EAChC,oBAAC,iBACC,UAAU,mVACV,MAAO,CAAE,SAAU,GAAI,EACvB,iBAAiB,cAGjB,qBAAC,OAAI,UAAU,wFACb,qBAAC,OAAI,UAAU,8GACZ,UAAAgD,GAAsB,QACrB,QAAC,OAAI,UAAU,uCACb,oBAAC,WACC,OAAQA,EAAqB,IAC7B,IAAKA,EAAqB,KAAO,GACjC,UAAU,mBACV,aAAa,6BACf,KACA,OAAC,OAAI,UAAU,8CAA8C,GAC/D,KAGF,QAAC,OAAI,UAAU,4EACZ,UAAAxC,MACC,OAAC,WACC,GAAG,KACH,KAAM,EACN,KAAMA,EACN,UAAU,sEACZ,EAEDC,MACC,OAAC,QACC,QAAS,IAAM,CACbC,IAAkB,EAClB6B,EAAqB,EAAI,CAC3B,EACA,UAAU,wFAET,SAAA9B,EACH,GAEJ,GACF,KAEA,OAAC,OAAI,UAAU,yBAA0B,SAAAiC,EAAY,GACvD,KAEA,QAAC,OAAI,UAAU,+FACb,qBAAC,OAAI,UAAU,iIACZ,UAAApC,GAAW,QACV,QAAC,OAAI,UAAU,uCACb,oBAAC,WACC,OAAQA,EAAU,IAClB,IAAKA,EAAU,KAAO,GACtB,UAAU,4BACV,aAAa,6BACf,KACA,OAAC,OAAI,UAAU,8CAA8C,GAC/D,KAGF,OAAC,OAAI,UAAU,oDACZ,SAAAE,MACC,OAAC,WACC,GAAG,KACH,KAAM,EACN,KAAMA,EACN,UAAU,8EACZ,EAEJ,KAEA,QAAC,OAAI,UAAU,oHACZ,UAAAG,MACC,OAAC,QACC,GAAG,IACH,KAAM,EACN,KAAMA,EACN,UAAU,4EACZ,EAEDT,GAAYA,EAAS,OAAS,MAC7B,OAAC,MAAG,UAAU,sBACX,SAAAA,EAAS,IAAI,CAAC+C,EAAMF,OACnB,OAAC,MAAa,UAAU,uDACtB,mBAAC,QAAK,GAAG,OAAO,KAAM,EAAG,KAAME,EAAK,KAAM,UAAU,qCAAqC,GADlFF,CAET,CACD,EACH,GAEJ,GACF,KAEA,OAAC,OAAI,UAAU,8EACZ,SAAAL,EACH,GACF,GACF,EACF,KAEA,OAAC5C,GAAA,CACC,KAAMwC,EACN,aAAcC,EACd,MAAO5B,EACP,SAAUT,GAAU,IAAIC,GAAKA,EAAE,IAAI,EACrC,GACF,CAEJ,EAEAE,EAAuB,YAAc,yBACrC,IAAOlB,GAAQkB",
6
+ "names": ["ModalRegisterSubscribe_exports", "__export", "ModalRegisterSubscribe_default", "__toCommonJS", "import_jsx_runtime", "React", "import_components", "EMAIL_PATTERN", "VerticalDivider", "GoogleIcon", "AppleIcon", "FacebookIcon", "SOCIAL_LOGIN_META", "ModalRightsDetails", "open", "onOpenChange", "title", "benefits", "b", "i", "ModalRegisterSubscribe", "heroImage", "heroImageMobile", "heroTitle", "rightsDetailsLabel", "onRightsDetails", "benefitsSectionLabel", "formTitle", "copy", "termsDefaultChecked", "newsletterDefaultChecked", "registerLabel", "passwordLoginLabel", "socialLogins", "onRegister", "onPasswordLogin", "emailLabel", "emailPlaceholder", "emailEmptyErrorLabel", "emailInvalidErrorLabel", "termsLabel", "termsRequiredErrorLabel", "newsletterLabel", "email", "setEmail", "emailError", "setEmailError", "termsAccepted", "setTermsAccepted", "newsletterAccepted", "setNewsletterAccepted", "showTermsError", "setShowTermsError", "showRightsDetails", "setShowRightsDetails", "socialLoginItems", "type", "formSection", "e", "v", "trimmedEmail", "social", "idx", "finalHeroImageMobile", "item"]
7
7
  }
@@ -10,6 +10,7 @@ export interface ModalRegisterSubscribeProps {
10
10
  open: boolean;
11
11
  onOpenChange: (open: boolean) => void;
12
12
  heroImage?: HeroImage;
13
+ heroImageMobile?: HeroImage;
13
14
  heroTitle?: string;
14
15
  rightsDetailsLabel?: string;
15
16
  onRightsDetails?: () => void;
@@ -25,7 +26,7 @@ export interface ModalRegisterSubscribeProps {
25
26
  onPasswordLogin?: () => void;
26
27
  }
27
28
  declare const ModalRegisterSubscribe: {
28
- ({ open, onOpenChange, heroImage, heroTitle, rightsDetailsLabel, onRightsDetails, benefitsSectionLabel, benefits, formTitle, copy, termsDefaultChecked, newsletterDefaultChecked, registerLabel, passwordLoginLabel, socialLogins, onRegister, onPasswordLogin, }: ModalRegisterSubscribeProps & {
29
+ ({ open, onOpenChange, heroImage, heroImageMobile, heroTitle, rightsDetailsLabel, onRightsDetails, benefitsSectionLabel, benefits, formTitle, copy, termsDefaultChecked, newsletterDefaultChecked, registerLabel, passwordLoginLabel, socialLogins, onRegister, onPasswordLogin, }: ModalRegisterSubscribeProps & {
29
30
  copy?: Record<string, any>;
30
31
  }): import("react/jsx-runtime").JSX.Element;
31
32
  displayName: string;
@@ -1,2 +1,2 @@
1
- "use client";import{Fragment as re,jsx as e,jsxs as t}from"react/jsx-runtime";import*as o from"react";import{Dialog as M,DialogContent as _,Button as X,Input as Y,Checkbox as I,Heading as w,Text as s,Picture as T,Link as B}from"../../components/index.js";const F=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,ee=()=>e("svg",{width:"1",height:"16",viewBox:"0 0 1 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:e("line",{x1:"0.5",y1:"0",x2:"0.5",y2:"16",stroke:"#DADCE0"})}),te=()=>t("svg",{viewBox:"0 0 24 24",width:"20",height:"20",xmlns:"http://www.w3.org/2000/svg",children:[e("path",{fill:"#4285F4",d:"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92a5.06 5.06 0 0 1-2.2 3.32v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.1z"}),e("path",{fill:"#34A853",d:"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z"}),e("path",{fill:"#FBBC05",d:"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z"}),e("path",{fill:"#EA4335",d:"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z"})]}),le=()=>e("svg",{viewBox:"0 0 24 24",width:"20",height:"20",xmlns:"http://www.w3.org/2000/svg",fill:"none",children:e("path",{fill:"currentColor",d:"M16.365 12.408c.023 2.468 2.161 3.29 2.185 3.301-.018.058-.341 1.17-1.122 2.32-.675.993-1.375 1.982-2.478 2.002-1.084.02-1.433-.644-2.674-.644-1.24 0-1.629.624-2.654.664-1.067.04-1.88-1.07-2.56-2.059-1.39-2.01-2.452-5.68-1.027-8.155.707-1.23 1.973-2.01 3.347-2.03 1.045-.02 2.032.704 2.674.704.641 0 1.846-.87 3.112-.742.53.022 2.018.214 2.974 1.613-.077.048-1.776 1.035-1.757 3.026ZM14.972 4.858c.566-.686.947-1.64.843-2.59-.815.033-1.8.543-2.384 1.229-.525.606-.986 1.576-.862 2.507.908.07 1.838-.462 2.403-1.146Z"})}),se=()=>e("svg",{viewBox:"0 0 24 24",width:"20",height:"20",xmlns:"http://www.w3.org/2000/svg",children:e("path",{d:"M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z",fill:"#1877F2"})}),ae={google:{label:"Google",icon:e(te,{})},apple:{label:"Apple",icon:e(le,{})},facebook:{label:"Facebook",icon:e(se,{})}},ie=({open:p,onOpenChange:x,title:a,benefits:i})=>e(M,{open:p,onOpenChange:x,children:e(_,{className:"modal-rights-details-root tablet:max-w-[358px] !z-[1002] flex max-h-[80vh] w-full max-w-[calc(100vw_-_32px)] flex-col !gap-0 overflow-hidden rounded-[12px] !border-none bg-white !p-0 drop-shadow-[0px_2px_4px_rgba(0,0,0,0.12)]",overlayClassName:"!z-[1002] bg-black/60",children:t("div",{className:"rounded-[8px] px-[16px] pb-[24px] pt-[16px] backdrop-blur-sm",children:[a&&e(s,{as:"p",size:3,html:a,className:"text-info-primary mb-2"}),i&&i.length>0&&e("ul",{className:"flex flex-col gap-[4px]",children:i.map((n,g)=>e("li",{className:"ml-[21px] list-disc",children:e(s,{as:"span",size:3,html:n,className:"text-info-tertiary"})},g))})]})})}),H=({open:p,onOpenChange:x,heroImage:a,heroTitle:i,rightsDetailsLabel:n,onRightsDetails:g,benefitsSectionLabel:f,benefits:c,formTitle:N,copy:r,termsDefaultChecked:O,newsletterDefaultChecked:P,registerLabel:k,passwordLoginLabel:C,socialLogins:j,onRegister:G,onPasswordLogin:V})=>{const y=r?.emailLabel,q=r?.emailPlaceholder,Z=r?.emailEmptyErrorLabel,W=r?.emailInvalidErrorLabel,m=r?.termsLabel,z=r?.termsRequiredErrorLabel,L=r?.newsletterLabel,[E,$]=o.useState(""),[R,d]=o.useState(""),[b,J]=o.useState(!!O),[S,K]=o.useState(!!P),[Q,h]=o.useState(!1),[U,A]=o.useState(!1),u=j?.map(l=>({id:l,...ae[l]})),D=t("div",{className:"modal-register-subscribe-form tablet:p-8 tablet:pt-12 flex h-full flex-col justify-between gap-6 p-6 pt-8",children:[t("div",{className:"tablet:gap-8 flex flex-col gap-6",children:[N&&e(w,{as:"h3",size:2,html:N,className:"modal-register-subscribe-form-title text-info-primary tablet:text-[24px] text-[20px]"}),t("div",{className:"flex flex-col gap-4",children:[t("div",{className:"flex flex-col gap-2",children:[y&&e(s,{as:"label",size:3,html:y,className:"modal-register-subscribe-email-label text-info-primary tablet:text-[16px] text-[14px] [&_a]:underline"}),e(Y,{type:"email",placeholder:q,value:E,onChange:l=>{$(l.target.value),d("")},className:"modal-register-subscribe-email-input tablet:h-[52px] border-lines-1 tablet:rounded-box-small tablet:px-4 h-[48px] bg-white px-3 font-[700] placeholder:font-[700]"}),R&&e(s,{as:"p",size:3,className:"text-error-0",children:R})]}),t("div",{className:"flex flex-col gap-2",children:[m&&t("div",{className:"flex items-start gap-2",children:[e(I,{id:"modal-register-terms",checked:b,onCheckedChange:l=>{J(!!l),h(!1)},size:"base",className:"mt-0.5 shrink-0"}),e(s,{as:"label",htmlFor:"modal-register-terms",size:3,html:m,className:"modal-register-subscribe-terms-label text-info-tertiary tablet:text-[16px] cursor-pointer text-[14px] [&_a]:underline"})]}),Q&&z&&e(s,{as:"p",size:3,className:"text-error-0",children:z}),L&&t("div",{className:"flex items-start gap-2",children:[e(I,{id:"modal-register-newsletter",checked:S,onCheckedChange:l=>K(!!l),size:"base",className:"mt-0.5 shrink-0"}),e(s,{as:"label",htmlFor:"modal-register-newsletter",size:3,html:L,className:"modal-register-subscribe-newsletter-label text-info-tertiary tablet:text-[16px] cursor-pointer text-[14px] [&_a]:underline"})]})]})]})]}),t("div",{className:"flex flex-col gap-4",children:[t("div",{className:"flex flex-col items-center gap-4",children:[k&&e(X,{onClick:()=>{const l=E.trim();l?F.test(l)?d(""):d(W||""):d(Z||""),h(!!(m&&!b)),!(!l||!F.test(l)||m&&!b)&&G?.(l,b,S)},className:"modal-register-subscribe-register-btn tablet:text-[16px] w-full text-[14px]",children:k}),C&&e(B,{onClick:V,className:"modal-register-subscribe-password-login tablet:text-[16px] text-[14px]",children:C})]}),u&&u.length>0&&e("div",{className:"modal-register-subscribe-social flex items-center justify-center gap-4",children:u.map((l,v)=>t(o.Fragment,{children:[v>0&&e(ee,{}),t("div",{className:"modal-register-subscribe-social-btn rounded-box-small flex items-center gap-2",children:[e("span",{className:"desktop:size-6 size-5 shrink-0",children:l.icon}),e(s,{as:"span",size:3,html:l.label,className:"text-info-primary desktop::text-[16px] text-[14px] [&_a]:underline"})]})]},l.id))})]})]});return t(re,{children:[e(M,{open:p,onOpenChange:x,children:t(_,{className:"modal-register-subscribe-root tablet:!rounded-box tablet:!top-1/2 tablet:!left-1/2 tablet:!bottom-auto tablet:!right-auto tablet:!-translate-x-1/2 tablet:!-translate-y-1/2 rounded-t-box !inset-x-0 !bottom-0 !top-auto flex max-h-[90vh] w-full !translate-x-0 !translate-y-0 flex-col !gap-0 overflow-hidden rounded-b-none !border-none !p-0",style:{maxWidth:896},overlayClassName:"bg-black/60",children:[t("div",{className:"modal-register-subscribe-inner tablet:hidden flex size-full min-h-0 flex-col bg-white",children:[t("div",{className:"modal-register-subscribe-hero relative h-[310px] w-full shrink-0 overflow-hidden bg-[rgba(200,215,240,0.4)]",children:[a?.url&&t("div",{className:"pointer-events-none absolute inset-0",children:[e(T,{source:a.url,alt:a.alt||"",className:"absolute w-[99%]",imgClassName:"w-full h-full object-cover"}),e("div",{className:"absolute inset-0 bg-[rgba(121,160,223,0.2)]"})]}),t("div",{className:"relative z-10 flex flex-col gap-1 px-[24px] pb-[16px] pr-[44px] pt-[44px]",children:[i&&e(w,{as:"h2",size:2,html:i,className:"modal-register-subscribe-hero-heading text-info-primary text-[20px]"}),n&&e(B,{onClick:()=>{g?.(),A(!0)},className:"modal-register-subscribe-rights-details text-info-primary w-fit text-[14px] underline",children:n})]})]}),e("div",{className:"flex-1 overflow-y-auto",children:D})]}),t("div",{className:"modal-register-subscribe-inner tablet:flex hidden h-[640px] min-h-0 w-full flex-row bg-white",children:[t("div",{className:"modal-register-subscribe-left tablet:w-[448px] relative flex shrink-0 flex-col justify-between overflow-hidden px-4 pb-4 pt-12",children:[a?.url&&t("div",{className:"pointer-events-none absolute inset-0",children:[e(T,{source:a.url,alt:a.alt||"",className:"absolute left-0 size-full",imgClassName:"w-full h-full object-cover"}),e("div",{className:"absolute inset-0 bg-[rgba(121,160,223,0.2)]"})]}),e("div",{className:"modal-register-subscribe-hero-title relative px-4",children:i&&e(w,{as:"h2",size:2,html:i,className:"modal-register-subscribe-hero-heading text-info-primary desktop:text-[24px]"})}),t("div",{className:"modal-register-subscribe-benefits rounded-box-small relative flex flex-col gap-2 bg-white/90 p-6 backdrop-blur-sm",children:[f&&e(s,{as:"p",size:3,html:f,className:"modal-register-subscribe-benefits-label text-info-primary [&_a]:underline"}),c&&c.length>0&&e("ul",{className:"flex flex-col gap-1",children:c.map((l,v)=>e("li",{className:"modal-register-subscribe-benefit-item ml-6 list-disc",children:e(s,{as:"span",size:3,html:l.text,className:"text-info-tertiary [&_a]:underline"})},v))})]})]}),e("div",{className:"modal-register-subscribe-right flex min-w-0 flex-1 flex-col overflow-y-auto",children:D})]})]})}),e(ie,{open:U,onOpenChange:A,title:f,benefits:c?.map(l=>l.text)})]})};H.displayName="ModalRegisterSubscribe";var ne=H;export{ne as default};
1
+ "use client";import{Fragment as ne,jsx as e,jsxs as t}from"react/jsx-runtime";import*as r from"react";import{Dialog as D,DialogContent as _,Button as ee,Input as te,Checkbox as H,Heading as N,Text as a,Picture as T,Link as B}from"../../components/index.js";const F=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,le=()=>e("svg",{width:"1",height:"16",viewBox:"0 0 1 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:e("line",{x1:"0.5",y1:"0",x2:"0.5",y2:"16",stroke:"#DADCE0"})}),ae=()=>t("svg",{viewBox:"0 0 24 24",width:"20",height:"20",xmlns:"http://www.w3.org/2000/svg",children:[e("path",{fill:"#4285F4",d:"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92a5.06 5.06 0 0 1-2.2 3.32v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.1z"}),e("path",{fill:"#34A853",d:"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z"}),e("path",{fill:"#FBBC05",d:"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z"}),e("path",{fill:"#EA4335",d:"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z"})]}),se=()=>e("svg",{viewBox:"0 0 24 24",width:"20",height:"20",xmlns:"http://www.w3.org/2000/svg",fill:"none",children:e("path",{fill:"currentColor",d:"M16.365 12.408c.023 2.468 2.161 3.29 2.185 3.301-.018.058-.341 1.17-1.122 2.32-.675.993-1.375 1.982-2.478 2.002-1.084.02-1.433-.644-2.674-.644-1.24 0-1.629.624-2.654.664-1.067.04-1.88-1.07-2.56-2.059-1.39-2.01-2.452-5.68-1.027-8.155.707-1.23 1.973-2.01 3.347-2.03 1.045-.02 2.032.704 2.674.704.641 0 1.846-.87 3.112-.742.53.022 2.018.214 2.974 1.613-.077.048-1.776 1.035-1.757 3.026ZM14.972 4.858c.566-.686.947-1.64.843-2.59-.815.033-1.8.543-2.384 1.229-.525.606-.986 1.576-.862 2.507.908.07 1.838-.462 2.403-1.146Z"})}),ie=()=>e("svg",{viewBox:"0 0 24 24",width:"20",height:"20",xmlns:"http://www.w3.org/2000/svg",children:e("path",{d:"M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z",fill:"#1877F2"})}),re={google:{label:"Google",icon:e(ae,{})},apple:{label:"Apple",icon:e(se,{})},facebook:{label:"Facebook",icon:e(ie,{})}},oe=({open:g,onOpenChange:x,title:s,benefits:n})=>e(D,{open:g,onOpenChange:x,children:e(_,{className:"modal-rights-details-root tablet:max-w-[358px] !z-[1002] flex max-h-[80vh] w-full max-w-[calc(100vw_-_32px)] flex-col !gap-0 overflow-hidden rounded-[12px] !border-none bg-white !p-0 drop-shadow-[0px_2px_4px_rgba(0,0,0,0.12)]",overlayClassName:"!z-[1002] bg-black/60",children:t("div",{className:"rounded-[8px] px-[16px] pb-[24px] pt-[16px] backdrop-blur-sm",children:[s&&e(a,{as:"p",size:3,html:s,className:"text-info-primary mb-2"}),n&&n.length>0&&e("ul",{className:"flex flex-col gap-[4px]",children:n.map((o,c)=>e("li",{className:"ml-[21px] list-disc",children:e(a,{as:"span",size:3,html:o,className:"text-info-tertiary"})},c))})]})})}),O=({open:g,onOpenChange:x,heroImage:s,heroImageMobile:n,heroTitle:o,rightsDetailsLabel:c,onRightsDetails:P,benefitsSectionLabel:h,benefits:m,formTitle:k,copy:i,termsDefaultChecked:j,newsletterDefaultChecked:G,registerLabel:C,passwordLoginLabel:y,socialLogins:V,onRegister:q,onPasswordLogin:Z})=>{const z=i?.emailLabel,W=i?.emailPlaceholder,$=i?.emailEmptyErrorLabel,J=i?.emailInvalidErrorLabel,d=i?.termsLabel,L=i?.termsRequiredErrorLabel,E=i?.newsletterLabel,[R,K]=r.useState(""),[M,b]=r.useState(""),[p,Q]=r.useState(!!j),[I,U]=r.useState(!!G),[X,f]=r.useState(!1),[Y,S]=r.useState(!1),u=V?.map(l=>({id:l,...re[l]})),A=t("div",{className:"modal-register-subscribe-form tablet:p-8 tablet:pt-12 flex h-full flex-col justify-between gap-6 p-6 pt-8",children:[t("div",{className:"tablet:gap-8 flex flex-col gap-6",children:[k&&e(N,{as:"h3",size:2,html:k,className:"modal-register-subscribe-form-title text-info-primary tablet:text-[24px] text-[20px]"}),t("div",{className:"flex flex-col gap-4",children:[t("div",{className:"flex flex-col gap-2",children:[z&&e(a,{as:"label",size:3,html:z,className:"modal-register-subscribe-email-label text-info-primary tablet:text-[16px] text-[14px] [&_a]:underline"}),e(te,{type:"email",placeholder:W,value:R,onChange:l=>{K(l.target.value),b("")},className:"modal-register-subscribe-email-input tablet:h-[52px] border-lines-1 tablet:rounded-box-small tablet:px-4 h-[48px] bg-white px-3 font-[700] placeholder:font-[700]"}),M&&e(a,{as:"p",size:3,className:"text-error-0",children:M})]}),t("div",{className:"flex flex-col gap-2",children:[d&&t("div",{className:"flex items-start gap-2",children:[e(H,{id:"modal-register-terms",checked:p,onCheckedChange:l=>{Q(!!l),f(!1)},size:"base",className:"mt-0.5 shrink-0"}),e(a,{as:"label",htmlFor:"modal-register-terms",size:3,html:d,className:"modal-register-subscribe-terms-label text-info-tertiary tablet:text-[16px] cursor-pointer text-[14px] [&_a]:underline"})]}),X&&L&&e(a,{as:"p",size:3,className:"text-error-0",children:L}),E&&t("div",{className:"flex items-start gap-2",children:[e(H,{id:"modal-register-newsletter",checked:I,onCheckedChange:l=>U(!!l),size:"base",className:"mt-0.5 shrink-0"}),e(a,{as:"label",htmlFor:"modal-register-newsletter",size:3,html:E,className:"modal-register-subscribe-newsletter-label text-info-tertiary tablet:text-[16px] cursor-pointer text-[14px] [&_a]:underline"})]})]})]})]}),t("div",{className:"flex flex-col gap-4",children:[t("div",{className:"flex flex-col items-center gap-4",children:[C&&e(ee,{onClick:()=>{const l=R.trim();l?F.test(l)?b(""):b(J||""):b($||""),f(!!(d&&!p)),!(!l||!F.test(l)||d&&!p)&&q?.(l,p,I)},className:"modal-register-subscribe-register-btn tablet:text-[16px] w-full text-[14px]",children:C}),y&&e(B,{onClick:Z,className:"modal-register-subscribe-password-login tablet:text-[16px] text-[14px]",children:y})]}),u&&u.length>0&&e("div",{className:"modal-register-subscribe-social flex items-center justify-center gap-4",children:u.map((l,w)=>t(r.Fragment,{children:[w>0&&e(le,{}),t("div",{className:"modal-register-subscribe-social-btn rounded-box-small flex items-center gap-2",children:[e("span",{className:"desktop:size-6 size-5 shrink-0",children:l.icon}),e(a,{as:"span",size:3,html:l.label,className:"text-info-primary desktop::text-[16px] text-[14px] [&_a]:underline"})]})]},l.id))})]})]}),v=n??s;return t(ne,{children:[e(D,{open:g,onOpenChange:x,children:t(_,{className:"modal-register-subscribe-root tablet:!rounded-box tablet:!top-1/2 tablet:!left-1/2 tablet:!bottom-auto tablet:!right-auto tablet:!-translate-x-1/2 tablet:!-translate-y-1/2 rounded-t-box !inset-x-0 !bottom-0 !top-auto flex max-h-[90vh] w-full !translate-x-0 !translate-y-0 flex-col !gap-0 overflow-hidden rounded-b-none !border-none !p-0",style:{maxWidth:896},overlayClassName:"bg-black/60",children:[t("div",{className:"modal-register-subscribe-inner tablet:hidden flex size-full min-h-0 flex-col bg-white",children:[t("div",{className:"modal-register-subscribe-hero relative h-[310px] w-full shrink-0 overflow-hidden bg-[rgba(200,215,240,0.4)]",children:[v?.url&&t("div",{className:"pointer-events-none absolute inset-0",children:[e(T,{source:v.url,alt:v.alt||"",className:"absolute w-[99%]",imgClassName:"w-full h-full object-cover"}),e("div",{className:"absolute inset-0 bg-[rgba(121,160,223,0.2)]"})]}),t("div",{className:"relative z-10 flex flex-col gap-1 px-[24px] pb-[16px] pr-[44px] pt-[44px]",children:[o&&e(N,{as:"h2",size:2,html:o,className:"modal-register-subscribe-hero-heading text-info-primary text-[20px]"}),c&&e(B,{onClick:()=>{P?.(),S(!0)},className:"modal-register-subscribe-rights-details text-info-primary w-fit text-[14px] underline",children:c})]})]}),e("div",{className:"flex-1 overflow-y-auto",children:A})]}),t("div",{className:"modal-register-subscribe-inner tablet:flex hidden h-[640px] min-h-0 w-full flex-row bg-white",children:[t("div",{className:"modal-register-subscribe-left tablet:w-[448px] relative flex shrink-0 flex-col justify-between overflow-hidden px-4 pb-4 pt-12",children:[s?.url&&t("div",{className:"pointer-events-none absolute inset-0",children:[e(T,{source:s.url,alt:s.alt||"",className:"absolute left-0 size-full",imgClassName:"w-full h-full object-cover"}),e("div",{className:"absolute inset-0 bg-[rgba(121,160,223,0.2)]"})]}),e("div",{className:"modal-register-subscribe-hero-title relative px-4",children:o&&e(N,{as:"h2",size:2,html:o,className:"modal-register-subscribe-hero-heading text-info-primary desktop:text-[24px]"})}),t("div",{className:"modal-register-subscribe-benefits rounded-box-small relative flex flex-col gap-2 bg-white/90 p-6 backdrop-blur-sm",children:[h&&e(a,{as:"p",size:3,html:h,className:"modal-register-subscribe-benefits-label text-info-primary [&_a]:underline"}),m&&m.length>0&&e("ul",{className:"flex flex-col gap-1",children:m.map((l,w)=>e("li",{className:"modal-register-subscribe-benefit-item ml-6 list-disc",children:e(a,{as:"span",size:3,html:l.text,className:"text-info-tertiary [&_a]:underline"})},w))})]})]}),e("div",{className:"modal-register-subscribe-right flex min-w-0 flex-1 flex-col overflow-y-auto",children:A})]})]})}),e(oe,{open:Y,onOpenChange:S,title:h,benefits:m?.map(l=>l.text)})]})};O.displayName="ModalRegisterSubscribe";var me=O;export{me as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/ModalRegisterSubscribe/index.tsx"],
4
- "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { Dialog, DialogContent, Button, Input, Checkbox, Heading, Text, Picture, Link } from '../../components/index.js'\n\nexport interface HeroImage {\n url: string\n alt?: string\n}\n\nexport interface BenefitItem {\n text: string\n}\n\nexport type SocialLoginType = 'google' | 'apple' | 'facebook'\n\nconst EMAIL_PATTERN = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/\n\nexport interface ModalRegisterSubscribeProps {\n open: boolean\n onOpenChange: (open: boolean) => void\n heroImage?: HeroImage\n heroTitle?: string\n rightsDetailsLabel?: string\n onRightsDetails?: () => void\n benefitsSectionLabel?: string\n benefits?: BenefitItem[]\n formTitle?: string\n termsDefaultChecked?: boolean\n newsletterDefaultChecked?: boolean\n registerLabel?: string\n passwordLoginLabel?: string\n socialLogins?: SocialLoginType[]\n onRegister?: (email: string, termsAccepted: boolean, newsletterAccepted: boolean) => void\n onPasswordLogin?: () => void\n}\n\nconst VerticalDivider = () => (\n <svg width=\"1\" height=\"16\" viewBox=\"0 0 1 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <line x1=\"0.5\" y1=\"0\" x2=\"0.5\" y2=\"16\" stroke=\"#DADCE0\" />\n </svg>\n)\n\nconst GoogleIcon = () => (\n <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill=\"#4285F4\"\n d=\"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92a5.06 5.06 0 0 1-2.2 3.32v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.1z\"\n />\n <path\n fill=\"#34A853\"\n d=\"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z\"\n />\n <path\n fill=\"#FBBC05\"\n d=\"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z\"\n />\n <path\n fill=\"#EA4335\"\n d=\"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z\"\n />\n </svg>\n)\n\nconst AppleIcon = () => (\n <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\">\n <path\n fill=\"currentColor\"\n d=\"M16.365 12.408c.023 2.468 2.161 3.29 2.185 3.301-.018.058-.341 1.17-1.122 2.32-.675.993-1.375 1.982-2.478 2.002-1.084.02-1.433-.644-2.674-.644-1.24 0-1.629.624-2.654.664-1.067.04-1.88-1.07-2.56-2.059-1.39-2.01-2.452-5.68-1.027-8.155.707-1.23 1.973-2.01 3.347-2.03 1.045-.02 2.032.704 2.674.704.641 0 1.846-.87 3.112-.742.53.022 2.018.214 2.974 1.613-.077.048-1.776 1.035-1.757 3.026ZM14.972 4.858c.566-.686.947-1.64.843-2.59-.815.033-1.8.543-2.384 1.229-.525.606-.986 1.576-.862 2.507.908.07 1.838-.462 2.403-1.146Z\"\n />\n </svg>\n)\n\nconst FacebookIcon = () => (\n <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z\"\n fill=\"#1877F2\"\n />\n </svg>\n)\n\nconst SOCIAL_LOGIN_META: Record<SocialLoginType, { label: string; icon: React.ReactNode }> = {\n google: {\n label: 'Google',\n icon: <GoogleIcon />,\n },\n apple: {\n label: 'Apple',\n icon: <AppleIcon />,\n },\n facebook: {\n label: 'Facebook',\n icon: <FacebookIcon />,\n },\n}\n\nconst ModalRightsDetails = ({\n open,\n onOpenChange,\n title,\n benefits,\n}: {\n open: boolean\n onOpenChange: (open: boolean) => void\n title?: string\n benefits?: string[]\n}) => (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent\n className=\"modal-rights-details-root tablet:max-w-[358px] !z-[1002] flex max-h-[80vh] w-full max-w-[calc(100vw_-_32px)] flex-col !gap-0 overflow-hidden rounded-[12px] !border-none bg-white !p-0 drop-shadow-[0px_2px_4px_rgba(0,0,0,0.12)]\"\n overlayClassName=\"!z-[1002] bg-black/60\"\n >\n <div className=\"rounded-[8px] px-[16px] pb-[24px] pt-[16px] backdrop-blur-sm\">\n {title && <Text as=\"p\" size={3} html={title} className=\"text-info-primary mb-2\" />}\n {benefits && benefits.length > 0 && (\n <ul className=\"flex flex-col gap-[4px]\">\n {benefits.map((b, i) => (\n <li key={i} className=\"ml-[21px] list-disc\">\n <Text as=\"span\" size={3} html={b} className=\"text-info-tertiary\" />\n </li>\n ))}\n </ul>\n )}\n </div>\n </DialogContent>\n </Dialog>\n)\n\nconst ModalRegisterSubscribe = ({\n open,\n onOpenChange,\n heroImage,\n heroTitle,\n rightsDetailsLabel,\n onRightsDetails,\n benefitsSectionLabel,\n benefits,\n formTitle,\n copy,\n termsDefaultChecked,\n newsletterDefaultChecked,\n registerLabel,\n passwordLoginLabel,\n socialLogins,\n onRegister,\n onPasswordLogin,\n}: ModalRegisterSubscribeProps & { copy?: Record<string, any> }) => {\n const emailLabel = copy?.emailLabel\n const emailPlaceholder = copy?.emailPlaceholder\n const emailEmptyErrorLabel = copy?.emailEmptyErrorLabel\n const emailInvalidErrorLabel = copy?.emailInvalidErrorLabel\n const termsLabel = copy?.termsLabel\n const termsRequiredErrorLabel = copy?.termsRequiredErrorLabel\n const newsletterLabel = copy?.newsletterLabel\n const [email, setEmail] = React.useState('')\n const [emailError, setEmailError] = React.useState('')\n const [termsAccepted, setTermsAccepted] = React.useState(!!termsDefaultChecked)\n const [newsletterAccepted, setNewsletterAccepted] = React.useState(!!newsletterDefaultChecked)\n const [showTermsError, setShowTermsError] = React.useState(false)\n const [showRightsDetails, setShowRightsDetails] = React.useState(false)\n const socialLoginItems = socialLogins?.map(type => ({\n id: type,\n ...SOCIAL_LOGIN_META[type],\n }))\n\n const formSection = (\n <div className=\"modal-register-subscribe-form tablet:p-8 tablet:pt-12 flex h-full flex-col justify-between gap-6 p-6 pt-8\">\n <div className=\"tablet:gap-8 flex flex-col gap-6\">\n {formTitle && (\n <Heading\n as=\"h3\"\n size={2}\n html={formTitle}\n className=\"modal-register-subscribe-form-title text-info-primary tablet:text-[24px] text-[20px]\"\n />\n )}\n\n <div className=\"flex flex-col gap-4\">\n <div className=\"flex flex-col gap-2\">\n {emailLabel && (\n <Text\n as=\"label\"\n size={3}\n html={emailLabel}\n className=\"modal-register-subscribe-email-label text-info-primary tablet:text-[16px] text-[14px] [&_a]:underline\"\n />\n )}\n <Input\n type=\"email\"\n placeholder={emailPlaceholder}\n value={email}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => {\n setEmail(e.target.value)\n setEmailError('')\n }}\n className=\"modal-register-subscribe-email-input tablet:h-[52px] border-lines-1 tablet:rounded-box-small tablet:px-4 h-[48px] bg-white px-3 font-[700] placeholder:font-[700]\"\n />\n {emailError && (\n <Text as=\"p\" size={3} className=\"text-error-0\">\n {emailError}\n </Text>\n )}\n </div>\n\n <div className=\"flex flex-col gap-2\">\n {termsLabel && (\n <div className=\"flex items-start gap-2\">\n <Checkbox\n id=\"modal-register-terms\"\n checked={termsAccepted}\n onCheckedChange={(v: boolean | 'indeterminate') => {\n setTermsAccepted(!!v)\n setShowTermsError(false)\n }}\n size=\"base\"\n className=\"mt-0.5 shrink-0\"\n />\n <Text\n as=\"label\"\n htmlFor=\"modal-register-terms\"\n size={3}\n html={termsLabel}\n className=\"modal-register-subscribe-terms-label text-info-tertiary tablet:text-[16px] cursor-pointer text-[14px] [&_a]:underline\"\n />\n </div>\n )}\n {showTermsError && termsRequiredErrorLabel && (\n <Text as=\"p\" size={3} className=\"text-error-0\">\n {termsRequiredErrorLabel}\n </Text>\n )}\n {newsletterLabel && (\n <div className=\"flex items-start gap-2\">\n <Checkbox\n id=\"modal-register-newsletter\"\n checked={newsletterAccepted}\n onCheckedChange={(v: boolean | 'indeterminate') => setNewsletterAccepted(!!v)}\n size=\"base\"\n className=\"mt-0.5 shrink-0\"\n />\n <Text\n as=\"label\"\n htmlFor=\"modal-register-newsletter\"\n size={3}\n html={newsletterLabel}\n className=\"modal-register-subscribe-newsletter-label text-info-tertiary tablet:text-[16px] cursor-pointer text-[14px] [&_a]:underline\"\n />\n </div>\n )}\n </div>\n </div>\n </div>\n\n <div className=\"flex flex-col gap-4\">\n <div className=\"flex flex-col items-center gap-4\">\n {registerLabel && (\n <Button\n onClick={() => {\n const trimmedEmail = email.trim()\n\n if (!trimmedEmail) {\n setEmailError(emailEmptyErrorLabel || '')\n } else if (!EMAIL_PATTERN.test(trimmedEmail)) {\n setEmailError(emailInvalidErrorLabel || '')\n } else {\n setEmailError('')\n }\n\n if (!!termsLabel && !termsAccepted) {\n setShowTermsError(true)\n } else {\n setShowTermsError(false)\n }\n\n if (!trimmedEmail || !EMAIL_PATTERN.test(trimmedEmail) || (!!termsLabel && !termsAccepted)) {\n return\n }\n\n onRegister?.(trimmedEmail, termsAccepted, newsletterAccepted)\n }}\n className=\"modal-register-subscribe-register-btn tablet:text-[16px] w-full text-[14px]\"\n >\n {registerLabel}\n </Button>\n )}\n\n {passwordLoginLabel && (\n <Link\n onClick={onPasswordLogin}\n className=\"modal-register-subscribe-password-login tablet:text-[16px] text-[14px]\"\n >\n {passwordLoginLabel}\n </Link>\n )}\n </div>\n\n {socialLoginItems && socialLoginItems.length > 0 && (\n <div className=\"modal-register-subscribe-social flex items-center justify-center gap-4\">\n {socialLoginItems.map((social, idx) => (\n <React.Fragment key={social.id}>\n {idx > 0 && <VerticalDivider />}\n <div className=\"modal-register-subscribe-social-btn rounded-box-small flex items-center gap-2\">\n <span className=\"desktop:size-6 size-5 shrink-0\">{social.icon}</span>\n <Text\n as=\"span\"\n size={3}\n html={social.label}\n className=\"text-info-primary desktop::text-[16px] text-[14px] [&_a]:underline\"\n />\n </div>\n </React.Fragment>\n ))}\n </div>\n )}\n </div>\n </div>\n )\n\n return (\n <>\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent\n className=\"modal-register-subscribe-root tablet:!rounded-box tablet:!top-1/2 tablet:!left-1/2 tablet:!bottom-auto tablet:!right-auto tablet:!-translate-x-1/2 tablet:!-translate-y-1/2 rounded-t-box !inset-x-0 !bottom-0 !top-auto flex max-h-[90vh] w-full !translate-x-0 !translate-y-0 flex-col !gap-0 overflow-hidden rounded-b-none !border-none !p-0\"\n style={{ maxWidth: 896 }}\n overlayClassName=\"bg-black/60\"\n >\n {/* \u624B\u673A\u7AEF */}\n <div className=\"modal-register-subscribe-inner tablet:hidden flex size-full min-h-0 flex-col bg-white\">\n <div className=\"modal-register-subscribe-hero relative h-[310px] w-full shrink-0 overflow-hidden bg-[rgba(200,215,240,0.4)]\">\n {heroImage?.url && (\n <div className=\"pointer-events-none absolute inset-0\">\n <Picture\n source={heroImage.url}\n alt={heroImage.alt || ''}\n className=\"absolute w-[99%]\"\n imgClassName=\"w-full h-full object-cover\"\n />\n <div className=\"absolute inset-0 bg-[rgba(121,160,223,0.2)]\" />\n </div>\n )}\n\n <div className=\"relative z-10 flex flex-col gap-1 px-[24px] pb-[16px] pr-[44px] pt-[44px]\">\n {heroTitle && (\n <Heading\n as=\"h2\"\n size={2}\n html={heroTitle}\n className=\"modal-register-subscribe-hero-heading text-info-primary text-[20px]\"\n />\n )}\n {rightsDetailsLabel && (\n <Link\n onClick={() => {\n onRightsDetails?.()\n setShowRightsDetails(true)\n }}\n className=\"modal-register-subscribe-rights-details text-info-primary w-fit text-[14px] underline\"\n >\n {rightsDetailsLabel}\n </Link>\n )}\n </div>\n </div>\n\n <div className=\"flex-1 overflow-y-auto\">{formSection}</div>\n </div>\n {/* pc \u7AEF */}\n <div className=\"modal-register-subscribe-inner tablet:flex hidden h-[640px] min-h-0 w-full flex-row bg-white\">\n <div className=\"modal-register-subscribe-left tablet:w-[448px] relative flex shrink-0 flex-col justify-between overflow-hidden px-4 pb-4 pt-12\">\n {heroImage?.url && (\n <div className=\"pointer-events-none absolute inset-0\">\n <Picture\n source={heroImage.url}\n alt={heroImage.alt || ''}\n className=\"absolute left-0 size-full\"\n imgClassName=\"w-full h-full object-cover\"\n />\n <div className=\"absolute inset-0 bg-[rgba(121,160,223,0.2)]\" />\n </div>\n )}\n\n <div className=\"modal-register-subscribe-hero-title relative px-4\">\n {heroTitle && (\n <Heading\n as=\"h2\"\n size={2}\n html={heroTitle}\n className=\"modal-register-subscribe-hero-heading text-info-primary desktop:text-[24px]\"\n />\n )}\n </div>\n\n <div className=\"modal-register-subscribe-benefits rounded-box-small relative flex flex-col gap-2 bg-white/90 p-6 backdrop-blur-sm\">\n {benefitsSectionLabel && (\n <Text\n as=\"p\"\n size={3}\n html={benefitsSectionLabel}\n className=\"modal-register-subscribe-benefits-label text-info-primary [&_a]:underline\"\n />\n )}\n {benefits && benefits.length > 0 && (\n <ul className=\"flex flex-col gap-1\">\n {benefits.map((item, idx) => (\n <li key={idx} className=\"modal-register-subscribe-benefit-item ml-6 list-disc\">\n <Text as=\"span\" size={3} html={item.text} className=\"text-info-tertiary [&_a]:underline\" />\n </li>\n ))}\n </ul>\n )}\n </div>\n </div>\n\n <div className=\"modal-register-subscribe-right flex min-w-0 flex-1 flex-col overflow-y-auto\">\n {formSection}\n </div>\n </div>\n </DialogContent>\n </Dialog>\n\n <ModalRightsDetails\n open={showRightsDetails}\n onOpenChange={setShowRightsDetails}\n title={benefitsSectionLabel}\n benefits={benefits?.map(b => b.text)}\n />\n </>\n )\n}\n\nModalRegisterSubscribe.displayName = 'ModalRegisterSubscribe'\nexport default ModalRegisterSubscribe\n"],
5
- "mappings": "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",
6
- "names": ["Fragment", "jsx", "jsxs", "React", "Dialog", "DialogContent", "Button", "Input", "Checkbox", "Heading", "Text", "Picture", "Link", "EMAIL_PATTERN", "VerticalDivider", "GoogleIcon", "AppleIcon", "FacebookIcon", "SOCIAL_LOGIN_META", "ModalRightsDetails", "open", "onOpenChange", "title", "benefits", "b", "i", "ModalRegisterSubscribe", "heroImage", "heroTitle", "rightsDetailsLabel", "onRightsDetails", "benefitsSectionLabel", "formTitle", "copy", "termsDefaultChecked", "newsletterDefaultChecked", "registerLabel", "passwordLoginLabel", "socialLogins", "onRegister", "onPasswordLogin", "emailLabel", "emailPlaceholder", "emailEmptyErrorLabel", "emailInvalidErrorLabel", "termsLabel", "termsRequiredErrorLabel", "newsletterLabel", "email", "setEmail", "emailError", "setEmailError", "termsAccepted", "setTermsAccepted", "newsletterAccepted", "setNewsletterAccepted", "showTermsError", "setShowTermsError", "showRightsDetails", "setShowRightsDetails", "socialLoginItems", "type", "formSection", "e", "v", "trimmedEmail", "social", "idx", "item", "ModalRegisterSubscribe_default"]
4
+ "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { Dialog, DialogContent, Button, Input, Checkbox, Heading, Text, Picture, Link } from '../../components/index.js'\n\nexport interface HeroImage {\n url: string\n alt?: string\n}\n\nexport interface BenefitItem {\n text: string\n}\n\nexport type SocialLoginType = 'google' | 'apple' | 'facebook'\n\nconst EMAIL_PATTERN = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/\n\nexport interface ModalRegisterSubscribeProps {\n open: boolean\n onOpenChange: (open: boolean) => void\n heroImage?: HeroImage\n heroImageMobile?: HeroImage\n heroTitle?: string\n rightsDetailsLabel?: string\n onRightsDetails?: () => void\n benefitsSectionLabel?: string\n benefits?: BenefitItem[]\n formTitle?: string\n termsDefaultChecked?: boolean\n newsletterDefaultChecked?: boolean\n registerLabel?: string\n passwordLoginLabel?: string\n socialLogins?: SocialLoginType[]\n onRegister?: (email: string, termsAccepted: boolean, newsletterAccepted: boolean) => void\n onPasswordLogin?: () => void\n}\n\nconst VerticalDivider = () => (\n <svg width=\"1\" height=\"16\" viewBox=\"0 0 1 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <line x1=\"0.5\" y1=\"0\" x2=\"0.5\" y2=\"16\" stroke=\"#DADCE0\" />\n </svg>\n)\n\nconst GoogleIcon = () => (\n <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill=\"#4285F4\"\n d=\"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92a5.06 5.06 0 0 1-2.2 3.32v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.1z\"\n />\n <path\n fill=\"#34A853\"\n d=\"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z\"\n />\n <path\n fill=\"#FBBC05\"\n d=\"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z\"\n />\n <path\n fill=\"#EA4335\"\n d=\"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z\"\n />\n </svg>\n)\n\nconst AppleIcon = () => (\n <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\">\n <path\n fill=\"currentColor\"\n d=\"M16.365 12.408c.023 2.468 2.161 3.29 2.185 3.301-.018.058-.341 1.17-1.122 2.32-.675.993-1.375 1.982-2.478 2.002-1.084.02-1.433-.644-2.674-.644-1.24 0-1.629.624-2.654.664-1.067.04-1.88-1.07-2.56-2.059-1.39-2.01-2.452-5.68-1.027-8.155.707-1.23 1.973-2.01 3.347-2.03 1.045-.02 2.032.704 2.674.704.641 0 1.846-.87 3.112-.742.53.022 2.018.214 2.974 1.613-.077.048-1.776 1.035-1.757 3.026ZM14.972 4.858c.566-.686.947-1.64.843-2.59-.815.033-1.8.543-2.384 1.229-.525.606-.986 1.576-.862 2.507.908.07 1.838-.462 2.403-1.146Z\"\n />\n </svg>\n)\n\nconst FacebookIcon = () => (\n <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z\"\n fill=\"#1877F2\"\n />\n </svg>\n)\n\nconst SOCIAL_LOGIN_META: Record<SocialLoginType, { label: string; icon: React.ReactNode }> = {\n google: {\n label: 'Google',\n icon: <GoogleIcon />,\n },\n apple: {\n label: 'Apple',\n icon: <AppleIcon />,\n },\n facebook: {\n label: 'Facebook',\n icon: <FacebookIcon />,\n },\n}\n\nconst ModalRightsDetails = ({\n open,\n onOpenChange,\n title,\n benefits,\n}: {\n open: boolean\n onOpenChange: (open: boolean) => void\n title?: string\n benefits?: string[]\n}) => (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent\n className=\"modal-rights-details-root tablet:max-w-[358px] !z-[1002] flex max-h-[80vh] w-full max-w-[calc(100vw_-_32px)] flex-col !gap-0 overflow-hidden rounded-[12px] !border-none bg-white !p-0 drop-shadow-[0px_2px_4px_rgba(0,0,0,0.12)]\"\n overlayClassName=\"!z-[1002] bg-black/60\"\n >\n <div className=\"rounded-[8px] px-[16px] pb-[24px] pt-[16px] backdrop-blur-sm\">\n {title && <Text as=\"p\" size={3} html={title} className=\"text-info-primary mb-2\" />}\n {benefits && benefits.length > 0 && (\n <ul className=\"flex flex-col gap-[4px]\">\n {benefits.map((b, i) => (\n <li key={i} className=\"ml-[21px] list-disc\">\n <Text as=\"span\" size={3} html={b} className=\"text-info-tertiary\" />\n </li>\n ))}\n </ul>\n )}\n </div>\n </DialogContent>\n </Dialog>\n)\n\nconst ModalRegisterSubscribe = ({\n open,\n onOpenChange,\n heroImage,\n heroImageMobile,\n heroTitle,\n rightsDetailsLabel,\n onRightsDetails,\n benefitsSectionLabel,\n benefits,\n formTitle,\n copy,\n termsDefaultChecked,\n newsletterDefaultChecked,\n registerLabel,\n passwordLoginLabel,\n socialLogins,\n onRegister,\n onPasswordLogin,\n}: ModalRegisterSubscribeProps & { copy?: Record<string, any> }) => {\n const emailLabel = copy?.emailLabel\n const emailPlaceholder = copy?.emailPlaceholder\n const emailEmptyErrorLabel = copy?.emailEmptyErrorLabel\n const emailInvalidErrorLabel = copy?.emailInvalidErrorLabel\n const termsLabel = copy?.termsLabel\n const termsRequiredErrorLabel = copy?.termsRequiredErrorLabel\n const newsletterLabel = copy?.newsletterLabel\n const [email, setEmail] = React.useState('')\n const [emailError, setEmailError] = React.useState('')\n const [termsAccepted, setTermsAccepted] = React.useState(!!termsDefaultChecked)\n const [newsletterAccepted, setNewsletterAccepted] = React.useState(!!newsletterDefaultChecked)\n const [showTermsError, setShowTermsError] = React.useState(false)\n const [showRightsDetails, setShowRightsDetails] = React.useState(false)\n const socialLoginItems = socialLogins?.map(type => ({\n id: type,\n ...SOCIAL_LOGIN_META[type],\n }))\n\n const formSection = (\n <div className=\"modal-register-subscribe-form tablet:p-8 tablet:pt-12 flex h-full flex-col justify-between gap-6 p-6 pt-8\">\n <div className=\"tablet:gap-8 flex flex-col gap-6\">\n {formTitle && (\n <Heading\n as=\"h3\"\n size={2}\n html={formTitle}\n className=\"modal-register-subscribe-form-title text-info-primary tablet:text-[24px] text-[20px]\"\n />\n )}\n\n <div className=\"flex flex-col gap-4\">\n <div className=\"flex flex-col gap-2\">\n {emailLabel && (\n <Text\n as=\"label\"\n size={3}\n html={emailLabel}\n className=\"modal-register-subscribe-email-label text-info-primary tablet:text-[16px] text-[14px] [&_a]:underline\"\n />\n )}\n <Input\n type=\"email\"\n placeholder={emailPlaceholder}\n value={email}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => {\n setEmail(e.target.value)\n setEmailError('')\n }}\n className=\"modal-register-subscribe-email-input tablet:h-[52px] border-lines-1 tablet:rounded-box-small tablet:px-4 h-[48px] bg-white px-3 font-[700] placeholder:font-[700]\"\n />\n {emailError && (\n <Text as=\"p\" size={3} className=\"text-error-0\">\n {emailError}\n </Text>\n )}\n </div>\n\n <div className=\"flex flex-col gap-2\">\n {termsLabel && (\n <div className=\"flex items-start gap-2\">\n <Checkbox\n id=\"modal-register-terms\"\n checked={termsAccepted}\n onCheckedChange={(v: boolean | 'indeterminate') => {\n setTermsAccepted(!!v)\n setShowTermsError(false)\n }}\n size=\"base\"\n className=\"mt-0.5 shrink-0\"\n />\n <Text\n as=\"label\"\n htmlFor=\"modal-register-terms\"\n size={3}\n html={termsLabel}\n className=\"modal-register-subscribe-terms-label text-info-tertiary tablet:text-[16px] cursor-pointer text-[14px] [&_a]:underline\"\n />\n </div>\n )}\n {showTermsError && termsRequiredErrorLabel && (\n <Text as=\"p\" size={3} className=\"text-error-0\">\n {termsRequiredErrorLabel}\n </Text>\n )}\n {newsletterLabel && (\n <div className=\"flex items-start gap-2\">\n <Checkbox\n id=\"modal-register-newsletter\"\n checked={newsletterAccepted}\n onCheckedChange={(v: boolean | 'indeterminate') => setNewsletterAccepted(!!v)}\n size=\"base\"\n className=\"mt-0.5 shrink-0\"\n />\n <Text\n as=\"label\"\n htmlFor=\"modal-register-newsletter\"\n size={3}\n html={newsletterLabel}\n className=\"modal-register-subscribe-newsletter-label text-info-tertiary tablet:text-[16px] cursor-pointer text-[14px] [&_a]:underline\"\n />\n </div>\n )}\n </div>\n </div>\n </div>\n\n <div className=\"flex flex-col gap-4\">\n <div className=\"flex flex-col items-center gap-4\">\n {registerLabel && (\n <Button\n onClick={() => {\n const trimmedEmail = email.trim()\n\n if (!trimmedEmail) {\n setEmailError(emailEmptyErrorLabel || '')\n } else if (!EMAIL_PATTERN.test(trimmedEmail)) {\n setEmailError(emailInvalidErrorLabel || '')\n } else {\n setEmailError('')\n }\n\n if (!!termsLabel && !termsAccepted) {\n setShowTermsError(true)\n } else {\n setShowTermsError(false)\n }\n\n if (!trimmedEmail || !EMAIL_PATTERN.test(trimmedEmail) || (!!termsLabel && !termsAccepted)) {\n return\n }\n\n onRegister?.(trimmedEmail, termsAccepted, newsletterAccepted)\n }}\n className=\"modal-register-subscribe-register-btn tablet:text-[16px] w-full text-[14px]\"\n >\n {registerLabel}\n </Button>\n )}\n\n {passwordLoginLabel && (\n <Link\n onClick={onPasswordLogin}\n className=\"modal-register-subscribe-password-login tablet:text-[16px] text-[14px]\"\n >\n {passwordLoginLabel}\n </Link>\n )}\n </div>\n\n {socialLoginItems && socialLoginItems.length > 0 && (\n <div className=\"modal-register-subscribe-social flex items-center justify-center gap-4\">\n {socialLoginItems.map((social, idx) => (\n <React.Fragment key={social.id}>\n {idx > 0 && <VerticalDivider />}\n <div className=\"modal-register-subscribe-social-btn rounded-box-small flex items-center gap-2\">\n <span className=\"desktop:size-6 size-5 shrink-0\">{social.icon}</span>\n <Text\n as=\"span\"\n size={3}\n html={social.label}\n className=\"text-info-primary desktop::text-[16px] text-[14px] [&_a]:underline\"\n />\n </div>\n </React.Fragment>\n ))}\n </div>\n )}\n </div>\n </div>\n )\n\n const finalHeroImageMobile = heroImageMobile ?? heroImage\n\n return (\n <>\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent\n className=\"modal-register-subscribe-root tablet:!rounded-box tablet:!top-1/2 tablet:!left-1/2 tablet:!bottom-auto tablet:!right-auto tablet:!-translate-x-1/2 tablet:!-translate-y-1/2 rounded-t-box !inset-x-0 !bottom-0 !top-auto flex max-h-[90vh] w-full !translate-x-0 !translate-y-0 flex-col !gap-0 overflow-hidden rounded-b-none !border-none !p-0\"\n style={{ maxWidth: 896 }}\n overlayClassName=\"bg-black/60\"\n >\n {/* \u624B\u673A\u7AEF */}\n <div className=\"modal-register-subscribe-inner tablet:hidden flex size-full min-h-0 flex-col bg-white\">\n <div className=\"modal-register-subscribe-hero relative h-[310px] w-full shrink-0 overflow-hidden bg-[rgba(200,215,240,0.4)]\">\n {finalHeroImageMobile?.url && (\n <div className=\"pointer-events-none absolute inset-0\">\n <Picture\n source={finalHeroImageMobile.url}\n alt={finalHeroImageMobile.alt || ''}\n className=\"absolute w-[99%]\"\n imgClassName=\"w-full h-full object-cover\"\n />\n <div className=\"absolute inset-0 bg-[rgba(121,160,223,0.2)]\" />\n </div>\n )}\n\n <div className=\"relative z-10 flex flex-col gap-1 px-[24px] pb-[16px] pr-[44px] pt-[44px]\">\n {heroTitle && (\n <Heading\n as=\"h2\"\n size={2}\n html={heroTitle}\n className=\"modal-register-subscribe-hero-heading text-info-primary text-[20px]\"\n />\n )}\n {rightsDetailsLabel && (\n <Link\n onClick={() => {\n onRightsDetails?.()\n setShowRightsDetails(true)\n }}\n className=\"modal-register-subscribe-rights-details text-info-primary w-fit text-[14px] underline\"\n >\n {rightsDetailsLabel}\n </Link>\n )}\n </div>\n </div>\n\n <div className=\"flex-1 overflow-y-auto\">{formSection}</div>\n </div>\n {/* pc \u7AEF */}\n <div className=\"modal-register-subscribe-inner tablet:flex hidden h-[640px] min-h-0 w-full flex-row bg-white\">\n <div className=\"modal-register-subscribe-left tablet:w-[448px] relative flex shrink-0 flex-col justify-between overflow-hidden px-4 pb-4 pt-12\">\n {heroImage?.url && (\n <div className=\"pointer-events-none absolute inset-0\">\n <Picture\n source={heroImage.url}\n alt={heroImage.alt || ''}\n className=\"absolute left-0 size-full\"\n imgClassName=\"w-full h-full object-cover\"\n />\n <div className=\"absolute inset-0 bg-[rgba(121,160,223,0.2)]\" />\n </div>\n )}\n\n <div className=\"modal-register-subscribe-hero-title relative px-4\">\n {heroTitle && (\n <Heading\n as=\"h2\"\n size={2}\n html={heroTitle}\n className=\"modal-register-subscribe-hero-heading text-info-primary desktop:text-[24px]\"\n />\n )}\n </div>\n\n <div className=\"modal-register-subscribe-benefits rounded-box-small relative flex flex-col gap-2 bg-white/90 p-6 backdrop-blur-sm\">\n {benefitsSectionLabel && (\n <Text\n as=\"p\"\n size={3}\n html={benefitsSectionLabel}\n className=\"modal-register-subscribe-benefits-label text-info-primary [&_a]:underline\"\n />\n )}\n {benefits && benefits.length > 0 && (\n <ul className=\"flex flex-col gap-1\">\n {benefits.map((item, idx) => (\n <li key={idx} className=\"modal-register-subscribe-benefit-item ml-6 list-disc\">\n <Text as=\"span\" size={3} html={item.text} className=\"text-info-tertiary [&_a]:underline\" />\n </li>\n ))}\n </ul>\n )}\n </div>\n </div>\n\n <div className=\"modal-register-subscribe-right flex min-w-0 flex-1 flex-col overflow-y-auto\">\n {formSection}\n </div>\n </div>\n </DialogContent>\n </Dialog>\n\n <ModalRightsDetails\n open={showRightsDetails}\n onOpenChange={setShowRightsDetails}\n title={benefitsSectionLabel}\n benefits={benefits?.map(b => b.text)}\n />\n </>\n )\n}\n\nModalRegisterSubscribe.displayName = 'ModalRegisterSubscribe'\nexport default ModalRegisterSubscribe\n"],
5
+ "mappings": "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",
6
+ "names": ["Fragment", "jsx", "jsxs", "React", "Dialog", "DialogContent", "Button", "Input", "Checkbox", "Heading", "Text", "Picture", "Link", "EMAIL_PATTERN", "VerticalDivider", "GoogleIcon", "AppleIcon", "FacebookIcon", "SOCIAL_LOGIN_META", "ModalRightsDetails", "open", "onOpenChange", "title", "benefits", "b", "i", "ModalRegisterSubscribe", "heroImage", "heroImageMobile", "heroTitle", "rightsDetailsLabel", "onRightsDetails", "benefitsSectionLabel", "formTitle", "copy", "termsDefaultChecked", "newsletterDefaultChecked", "registerLabel", "passwordLoginLabel", "socialLogins", "onRegister", "onPasswordLogin", "emailLabel", "emailPlaceholder", "emailEmptyErrorLabel", "emailInvalidErrorLabel", "termsLabel", "termsRequiredErrorLabel", "newsletterLabel", "email", "setEmail", "emailError", "setEmailError", "termsAccepted", "setTermsAccepted", "newsletterAccepted", "setNewsletterAccepted", "showTermsError", "setShowTermsError", "showRightsDetails", "setShowRightsDetails", "socialLoginItems", "type", "formSection", "e", "v", "trimmedEmail", "social", "idx", "finalHeroImageMobile", "item", "ModalRegisterSubscribe_default"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anker-in/headless-ui",
3
- "version": "1.3.36",
3
+ "version": "1.3.37",
4
4
  "type": "commonjs",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "types": "./dist/cjs/index.d.ts",