ouisys-component-library 3.0.84 → 3.0.89
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{Button-648c3979.js → Button-bf099e23.js} +1 -1
- package/dist/{Button-648c3979.js.map → Button-bf099e23.js.map} +1 -1
- package/dist/{Button-82321ddc.js → Button-c7344930.js} +1 -1
- package/dist/{Button-82321ddc.js.map → Button-c7344930.js.map} +1 -1
- package/dist/Button.js +1 -1
- package/dist/{ChainRedirect-861217d9.js → ChainRedirect-6073ce54.js} +1 -1
- package/dist/{ChainRedirect-861217d9.js.map → ChainRedirect-6073ce54.js.map} +1 -1
- package/dist/{ChainRedirect-bdfaf0f1.js → ChainRedirect-ae398d35.js} +1 -1
- package/dist/{ChainRedirect-bdfaf0f1.js.map → ChainRedirect-ae398d35.js.map} +1 -1
- package/dist/ChainRedirect.js +1 -1
- package/dist/{CookieConsent-24982ac1.js → CookieConsent-aca767b5.js} +1 -1
- package/dist/{CookieConsent-24982ac1.js.map → CookieConsent-aca767b5.js.map} +1 -1
- package/dist/{CookieConsent-fa131473.js → CookieConsent-e80ea84e.js} +1 -1
- package/dist/{CookieConsent-fa131473.js.map → CookieConsent-e80ea84e.js.map} +1 -1
- package/dist/CookieConsent.js +1 -1
- package/dist/DynamicLegals.js +1 -1
- package/dist/DynamicLegals.js.map +1 -1
- package/dist/DynamicPricePoint-93657c75.js +2 -0
- package/dist/DynamicPricePoint-93657c75.js.map +1 -0
- package/dist/DynamicPricePoint-be141ba1.js +2 -0
- package/dist/DynamicPricePoint-be141ba1.js.map +1 -0
- package/dist/DynamicPricePoint.js +2 -0
- package/dist/DynamicPricePoint.js.map +1 -0
- package/dist/{ExtraDisclaimers-19869352.js → ExtraDisclaimers-15c362b7.js} +1 -1
- package/dist/{ExtraDisclaimers-19869352.js.map → ExtraDisclaimers-15c362b7.js.map} +1 -1
- package/dist/{ExtraDisclaimers-88bc7421.js → ExtraDisclaimers-90e1ea2e.js} +1 -1
- package/dist/{ExtraDisclaimers-88bc7421.js.map → ExtraDisclaimers-90e1ea2e.js.map} +1 -1
- package/dist/ExtraDisclaimers.js +1 -1
- package/dist/{Features-3f053616.js → Features-6b7fd9f0.js} +1 -1
- package/dist/{Features-3f053616.js.map → Features-6b7fd9f0.js.map} +1 -1
- package/dist/{Features-8abfc22d.js → Features-7f168a82.js} +1 -1
- package/dist/{Features-8abfc22d.js.map → Features-7f168a82.js.map} +1 -1
- package/dist/Features.js +1 -1
- package/dist/{Footer-629300fa.js → Footer-03769ef7.js} +2 -2
- package/dist/{Footer-c33fd40d.js.map → Footer-03769ef7.js.map} +1 -1
- package/dist/{Footer-c33fd40d.js → Footer-867163c6.js} +2 -2
- package/dist/{Footer-629300fa.js.map → Footer-867163c6.js.map} +1 -1
- package/dist/Footer.js +1 -1
- package/dist/Header.js +1 -1
- package/dist/{Intl-6137cb4d.js → Intl-729b1c72.js} +1 -1
- package/dist/{Intl-6137cb4d.js.map → Intl-729b1c72.js.map} +1 -1
- package/dist/{Intl-9fbf5997.js → Intl-9cf7bee8.js} +1 -1
- package/dist/{Intl-9fbf5997.js.map → Intl-9cf7bee8.js.map} +1 -1
- package/dist/IntlProvider.js +1 -1
- package/dist/{LanguageSwitcher-3fcc76f9.js → LanguageSwitcher-c9eb98f1.js} +1 -1
- package/dist/{LanguageSwitcher-3fcc76f9.js.map → LanguageSwitcher-c9eb98f1.js.map} +1 -1
- package/dist/{LanguageSwitcher-88f456a7.js → LanguageSwitcher-cabe1222.js} +1 -1
- package/dist/{LanguageSwitcher-88f456a7.js.map → LanguageSwitcher-cabe1222.js.map} +1 -1
- package/dist/LanguageSwitcher.js +1 -1
- package/dist/{Link-18b2bda8.js → Link-45659a99.js} +1 -1
- package/dist/{Link-18b2bda8.js.map → Link-45659a99.js.map} +1 -1
- package/dist/{Link-1dbf60a0.js → Link-c3ee0a09.js} +1 -1
- package/dist/{Link-1dbf60a0.js.map → Link-c3ee0a09.js.map} +1 -1
- package/dist/Link.js +1 -1
- package/dist/MOForm.js +2 -0
- package/dist/MOForm.js.map +1 -0
- package/dist/{MOLink-38866206.js → MOLink-9ac01d51.js} +1 -1
- package/dist/{MOLink-38866206.js.map → MOLink-9ac01d51.js.map} +1 -1
- package/dist/{MOLink-f70cf766.js → MOLink-f1980ed4.js} +1 -1
- package/dist/{MOLink-f70cf766.js.map → MOLink-f1980ed4.js.map} +1 -1
- package/dist/MOLink.js +1 -1
- package/dist/{Menu-c2a95843.js → Menu-6e6db270.js} +2 -2
- package/dist/{Menu-86638001.js.map → Menu-6e6db270.js.map} +1 -1
- package/dist/{Menu-86638001.js → Menu-9089fd16.js} +2 -2
- package/dist/{Menu-c2a95843.js.map → Menu-9089fd16.js.map} +1 -1
- package/dist/Menu.js +1 -1
- package/dist/{PageConfig-f5c95246.js → PageConfig-6b4829bb.js} +1 -1
- package/dist/{PageConfig-f5c95246.js.map → PageConfig-6b4829bb.js.map} +1 -1
- package/dist/{PageConfig-f97a6447.js → PageConfig-93098d5d.js} +1 -1
- package/dist/{PageConfig-f97a6447.js.map → PageConfig-93098d5d.js.map} +1 -1
- package/dist/PageConfig.js +1 -1
- package/dist/PageContent.js +1 -1
- package/dist/PhoneEntry.js.map +1 -1
- package/dist/PhoneEntryForm.js +1 -1
- package/dist/PhoneEntryForm.js.map +1 -1
- package/dist/{PhoneInput-12ba6f3f.js → PhoneInput-92e4554a.js} +1 -1
- package/dist/{PhoneInput-12ba6f3f.js.map → PhoneInput-92e4554a.js.map} +1 -1
- package/dist/{PhoneInput-9552b894.js → PhoneInput-be528d0c.js} +1 -1
- package/dist/{PhoneInput-9552b894.js.map → PhoneInput-be528d0c.js.map} +1 -1
- package/dist/PhoneInput.js +1 -1
- package/dist/PinEntryForm.js +1 -1
- package/dist/PinEntryForm.js.map +1 -1
- package/dist/{PricingPolicy-797ec6db.js → PricingPolicy-5669c313.js} +1 -1
- package/dist/{PricingPolicy-797ec6db.js.map → PricingPolicy-5669c313.js.map} +1 -1
- package/dist/{PricingPolicy-d258378c.js → PricingPolicy-ad384783.js} +1 -1
- package/dist/{PricingPolicy-d258378c.js.map → PricingPolicy-ad384783.js.map} +1 -1
- package/dist/PricingPolicy.js +1 -1
- package/dist/ProductArea.js +1 -1
- package/dist/{RefundPolicy-0508ff45.js → RefundPolicy-1e5fb435.js} +2 -2
- package/dist/{RefundPolicy-0508ff45.js.map → RefundPolicy-1e5fb435.js.map} +1 -1
- package/dist/{RefundPolicy-bd455ed2.js → RefundPolicy-66abb7fc.js} +2 -2
- package/dist/{RefundPolicy-bd455ed2.js.map → RefundPolicy-66abb7fc.js.map} +1 -1
- package/dist/RefundPolicy.js +1 -1
- package/dist/RootWrapper.js +1 -1
- package/dist/{Showcase-22729ef9.js → Showcase-516b9886.js} +1 -1
- package/dist/{Showcase-22729ef9.js.map → Showcase-516b9886.js.map} +1 -1
- package/dist/{Showcase-46d9bb18.js → Showcase-5b2edc20.js} +1 -1
- package/dist/{Showcase-46d9bb18.js.map → Showcase-5b2edc20.js.map} +1 -1
- package/dist/Showcase.js +1 -1
- package/dist/{TermsAcceptanceCheck-132c261a.js → TermsAcceptanceCheck-b6030685.js} +2 -2
- package/dist/{TermsAcceptanceCheck-132c261a.js.map → TermsAcceptanceCheck-b6030685.js.map} +1 -1
- package/dist/{TermsAcceptanceCheck-e52046ca.js → TermsAcceptanceCheck-c2d7119e.js} +2 -2
- package/dist/{TermsAcceptanceCheck-e52046ca.js.map → TermsAcceptanceCheck-c2d7119e.js.map} +1 -1
- package/dist/TermsAcceptanceCheck.js +1 -1
- package/dist/{Testimonials-7eb123c7.js → Testimonials-354ff184.js} +1 -1
- package/dist/{Testimonials-7eb123c7.js.map → Testimonials-354ff184.js.map} +1 -1
- package/dist/{Testimonials-a1350e43.js → Testimonials-49000713.js} +1 -1
- package/dist/{Testimonials-a1350e43.js.map → Testimonials-49000713.js.map} +1 -1
- package/dist/Testimonials.js +1 -1
- package/dist/ThankYou.js +1 -1
- package/dist/ThankYou.js.map +1 -1
- package/dist/Translate.js +1 -1
- package/dist/{Unsubscription-394e976d.js → Unsubscription-2906921d.js} +2 -2
- package/dist/{Unsubscription-1bba6b4b.js.map → Unsubscription-2906921d.js.map} +1 -1
- package/dist/{Unsubscription-1bba6b4b.js → Unsubscription-e36cf588.js} +2 -2
- package/dist/{Unsubscription-394e976d.js.map → Unsubscription-e36cf588.js.map} +1 -1
- package/dist/Unsubscription.js +1 -1
- package/dist/defineMessages.js +1 -1
- package/dist/{focus-7a61a7c4.js → focus-0ea35e02.js} +1 -1
- package/dist/{focus-7a61a7c4.js.map → focus-0ea35e02.js.map} +1 -1
- package/dist/{focus-fb143c30.js → focus-aacd749e.js} +1 -1
- package/dist/{focus-fb143c30.js.map → focus-aacd749e.js.map} +1 -1
- package/dist/formatSMSLink.js +1 -1
- package/dist/injectIntl.js +1 -1
- package/dist/{routes-0f3298d8.js → routes-4ab9fffc.js} +1 -1
- package/dist/{routes-0f3298d8.js.map → routes-4ab9fffc.js.map} +1 -1
- package/dist/{routes-a2667dca.js → routes-9e2cc868.js} +1 -1
- package/dist/{routes-a2667dca.js.map → routes-9e2cc868.js.map} +1 -1
- package/dist/styles.css +1 -1
- package/dist/styles.css.map +1 -1
- package/dist/types/DynamicLegals/DynamicLegals.types.d.ts +2 -7
- package/dist/types/DynamicLegals/DynamicLegals.utils.d.ts +8 -0
- package/dist/types/DynamicPricePoint/DynamicPricePoint.d.ts +6 -0
- package/dist/types/DynamicPricePoint/DynamicPricePoint.types.d.ts +7 -0
- package/dist/types/MOForm/MOForm.d.ts +5 -0
- package/dist/types/MOForm/MOForm.types.d.ts +10 -0
- package/dist/types/ThankYou/ThankYou.types.d.ts +2 -7
- package/dist/types/component-exports/DynamicLegals/DynamicLegals.d.ts +1 -1
- package/dist/types/component-exports/DynamicPricePoint/DynamicPricePoint.d.ts +2 -0
- package/dist/types/component-exports/MOForm/MOForm.d.ts +2 -0
- package/dist/types/custom-types.d.ts +3 -2
- package/package.json +10 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MOLink-
|
|
1
|
+
{"version":3,"file":"MOLink-f1980ed4.js","sources":["../src/MOLink/MOLink.tsx"],"sourcesContent":["import * as React from 'react';\nimport { IKeywordShortcode, MOLinkProps } from './MOLink.types';\n\nexport const formatSMSLink = (keywordAndShortcode: IKeywordShortcode, useOpenAddresses?: boolean): string => {\n const xRequestedWith = (window?.pac_analytics?.visitor as any)?.['x-requested-with'];\n if (\n typeof navigator !== 'undefined' &&\n (/iPhone/i.test(navigator.userAgent) || /Mac OS/i.test(navigator.userAgent))\n ) {\n // iOS\n return useOpenAddresses\n ? `sms:/open?addresses=${keywordAndShortcode.shortcode}&body=${keywordAndShortcode.keyword}`\n : `sms:${keywordAndShortcode.shortcode}&body=${keywordAndShortcode.keyword}`;\n }\n if (\n ['com.facebook.orca', 'com.facebook.katana', 'com.instagram.android'].some((x) =>\n new RegExp(x, 'ig').test(xRequestedWith)\n )\n ) {\n // FB Browser (requested by Berkay in GR)\n return `/mo-redirect-util/${keywordAndShortcode.shortcode}/${keywordAndShortcode.keyword}`;\n }\n if (!!xRequestedWith && xRequestedWith !== null && xRequestedWith.indexOf('com.facebook') !== -1) {\n // Old FB\n return `sms://${keywordAndShortcode.shortcode}?body=${keywordAndShortcode.keyword}`;\n }\n // Everything else\n return `sms:${keywordAndShortcode.shortcode}?body=${keywordAndShortcode.keyword}`;\n};\n\nexport const MOLink: React.ComponentType<MOLinkProps> = ({\n keywordAndShortcode,\n className,\n dataQaId = 'mo-link',\n children,\n ...props\n}) => (\n // eslint-disable-next-line react/jsx-props-no-spreading\n <a href={formatSMSLink(keywordAndShortcode)} className={className} data-qa-id={dataQaId} {...props}>\n {children}\n </a>\n);\n"],"names":["formatSMSLink","keywordAndShortcode","useOpenAddresses","xRequestedWith","_b","_a","window","pac_analytics","visitor","navigator","test","userAgent","shortcode","concat","keyword","some","x","RegExp","indexOf","MOLink","className","dataQaId","children","props","__rest","React","createElement","__assign","href"],"mappings":"qEAGa,IAAAA,EAAgB,SAACC,EAAwCC,WAC9DC,EAA2D,QAA1CC,EAAwB,QAAvBC,SAAAC,aAAM,IAANA,YAAM,EAANA,OAAQC,qBAAe,IAAAF,OAAA,EAAAA,EAAAG,eAAkB,IAAAJ,OAAA,EAAAA,EAAA,oBACjE,MACuB,oBAAdK,YACN,UAAUC,KAAKD,UAAUE,YAAc,UAAUD,KAAKD,UAAUE,YAG1DT,EACH,8BAAuBD,EAAoBW,UAAkB,UAAAC,OAAAZ,EAAoBa,SACjF,OAAOD,OAAAZ,EAAoBW,2BAAkBX,EAAoBa,SAGrE,CAAC,oBAAqB,sBAAuB,yBAAyBC,MAAK,SAACC,GAC1E,OAAA,IAAIC,OAAOD,EAAG,MAAMN,KAAKP,EAAzB,IAIK,qBAAAU,OAAqBZ,EAAoBW,sBAAaX,EAAoBa,SAE7EX,GAAqC,OAAnBA,IAAuE,IAA5CA,EAAee,QAAQ,gBAEjE,SAAAL,OAASZ,EAAoBW,2BAAkBX,EAAoBa,SAGrE,OAAAD,OAAOZ,EAAoBW,2BAAkBX,EAAoBa,QAC1E,EAEaK,EAA2C,SAACd,GACvD,IAAAJ,EAAmBI,EAAAJ,oBACnBmB,EAASf,EAAAe,UACThB,aAAAiB,aAAW,UAASjB,EACpBkB,EAAQjB,EAAAiB,SACLC,EAAKC,EAAAnB,EAL+C,2DAMnD,OAEJoB,EAAAC,cAAA,IAAAC,EAAA,CAAGC,KAAM5B,EAAcC,GAAsBmB,UAAWA,EAAS,aAAcC,GAAcE,GAC1FD"}
|
package/dist/MOLink.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{M as MOLink}from"./MOLink-
|
|
1
|
+
export{M as MOLink}from"./MOLink-f1980ed4.js";import"tslib";import"react";
|
|
2
2
|
//# sourceMappingURL=MOLink.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__read as e}from"tslib";import n from"classnames";import l,{useState as _}from"react";import{l as u,r as m}from"./routes-
|
|
2
|
-
//# sourceMappingURL=Menu-
|
|
1
|
+
import{__read as e}from"tslib";import n from"classnames";import l,{useState as _}from"react";import{l as u,r as m}from"./routes-4ab9fffc.js";var t="Menu-module_menu__-1EdZ",a="Menu-module_menu__button__81SFo",o="Menu-module_menu__item__HiaJ9",c="Menu-module_menu__icon__5eQF7",i="Menu-module_menu__icon_hamburger__TcIuU",r="Menu-module_menu__icon_active__Nt5aS",d="Menu-module_menu__list__2RJNB",s="Menu-module_menu__list_open__ylNek",v="Menu-module_menu__list_closed__6SpmJ",M="Menu-module_menu__logo__cYLVU",f="Menu-module_menuOverlay__tS5Ft",E="Menu-module_menuOverlay_open__TcdJR",p="Menu-module_menuOverlay_closed__ABmM3",N=function(N){var b,g,y,O,k,F=N.locale,J=N.className,S=void 0===J?"":J;N.labels,N.isOpen,N.setIsOpen;var h=N.dataQaId,q=void 0===h?"qa-menu":h,C=N.logoUrl,I=e(_(!1),2),U=I[0],j=I[1],B=null==u?void 0:u[F],Q=function(){j(!U)};return l.createElement(l.Fragment,null,l.createElement("div",{className:n(f,"menuOverlay",(b={},b[E]=U,b[p]=!U,b),S),"data-qa-id":q,onClick:Q}),l.createElement("div",{className:n(t,"menu",S),"data-qa-id":q},l.createElement("button",{className:n(a,"menu__button","menu__button_".concat(U?"active":"inactive")),type:"button",onClick:Q},l.createElement("div",{className:n(c,"menu__icon",(g={},g["".concat(r," menu__icon_active")]=U,g))},l.createElement("div",{className:n(i,"menu__icon_hamburger")}))),l.createElement("div",{className:n(d,"menu__list",(y={},y[s]=U,y[v]=!U,y)),onClick:Q},l.createElement("div",{className:n(M,"menu__logo")},l.createElement("img",{src:C,alt:"logo"})),l.createElement("ul",null,(null==B?void 0:B.Menu)?null===(k=null===(O=Object.keys(null==B?void 0:B.Menu))||void 0===O?void 0:O.filter((function(e){var n;return null===(n=null==u?void 0:u[F])||void 0===n?void 0:n.Menu[e]})))||void 0===k?void 0:k.map((function(e,_){return l.createElement("li",{key:_,className:n(o,"menu__item")},l.createElement("a",{href:"/".concat(F).concat(m[e])},B.Menu[e]))})):null))))};export{N as M};
|
|
2
|
+
//# sourceMappingURL=Menu-6e6db270.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu-
|
|
1
|
+
{"version":3,"file":"Menu-6e6db270.js","sources":["../src/Menu/Menu.tsx"],"sourcesContent":["import cn from 'classnames';\nimport React, { useState } from 'react';\nimport lng from '../utilities/navigation/locale';\nimport { routes } from '../utilities/navigation/routes';\nimport styles from './Menu.module.scss';\nimport { InterfaceFeatures } from './Menu.types';\n\nexport const Menu = ({\n locale,\n className = '',\n labels,\n isOpen,\n setIsOpen,\n dataQaId = 'qa-menu',\n logoUrl\n}: InterfaceFeatures) => {\n const [isMenuOpen, setIsMenuOpen] = useState(false);\n const localeData = lng?.[locale as keyof typeof lng];\n const handleMenuClick = () => {\n setIsMenuOpen(!isMenuOpen);\n };\n\n return (\n <>\n <div\n className={cn(\n styles.menuOverlay,\n 'menuOverlay',\n { [styles.menuOverlay_open]: isMenuOpen, [styles.menuOverlay_closed]: !isMenuOpen },\n className\n )}\n data-qa-id={dataQaId}\n onClick={handleMenuClick}\n />\n <div className={cn(styles.menu, 'menu', className)} data-qa-id={dataQaId}>\n <button\n className={cn(styles.menu__button, 'menu__button', `menu__button_${isMenuOpen ? 'active' : 'inactive'}`)}\n type=\"button\"\n onClick={handleMenuClick}\n >\n <div\n className={cn(styles.menu__icon, 'menu__icon', {\n [`${styles.menu__icon_active} menu__icon_active`]: isMenuOpen\n })}\n >\n <div className={cn(styles.menu__icon_hamburger, 'menu__icon_hamburger')} />\n </div>\n </button>\n <div\n className={cn(styles.menu__list, 'menu__list', {\n [styles.menu__list_open]: isMenuOpen,\n [styles.menu__list_closed]: !isMenuOpen\n })}\n onClick={handleMenuClick}\n >\n <div className={cn(styles.menu__logo, 'menu__logo')}>\n <img src={logoUrl} alt=\"logo\" />\n </div>\n\n <ul>\n {localeData?.Menu\n ? Object.keys(localeData?.Menu)\n ?.filter((key) => lng?.[locale as keyof typeof lng]?.Menu[key as keyof typeof localeData.Menu])\n ?.map((key, index) => (\n <li key={index} className={cn(styles.menu__item, 'menu__item')}>\n <a href={`/${locale}${routes[key as keyof typeof routes]}`}>\n {localeData.Menu[key as keyof typeof localeData.Menu]}\n </a>\n </li>\n ))\n : null}\n </ul>\n </div>\n </div>\n </>\n );\n};\n"],"names":["Menu","_a","locale","_g","className","labels","setIsOpen","_h","dataQaId","logoUrl","_j","__read","useState","isMenuOpen","setIsMenuOpen","localeData","lng","handleMenuClick","React","createElement","Fragment","cn","styles","_b","onClick","concat","type","_c","_d","src","alt","_f","_e","Object","keys","filter","key","map","index","href","routes"],"mappings":"mnBAOaA,EAAO,SAACC,iBACnBC,EAAMD,EAAAC,OACNC,EAAAF,EAAAG,UAAAA,OAAY,IAAAD,EAAA,GAAEA,EACRF,EAAAI,gBAEGJ,EAAAK,UAAA,IACTC,EAAoBN,EAAAO,SAApBA,OAAQ,IAAAD,EAAG,UAASA,EACpBE,EAAOR,EAAAQ,QAEDC,EAAAC,EAA8BC,GAAS,GAAM,GAA5CC,EAAUH,EAAA,GAAEI,OACbC,EAAaC,eAAAA,EAAMd,GACnBe,EAAkB,WACtBH,GAAeD,EACjB,EAEA,OACEK,EAAAC,cAAAD,EAAAE,SAAA,KACEF,EAAAC,cAAA,MAAA,CACEf,UAAWiB,EACTC,EACA,eACEC,EAAA,GAAAA,EAACD,GAA0BT,EAAYU,EAACD,IAA6BT,EAAUU,GACjFnB,gBAEUI,EACZgB,QAASP,IAEXC,EAAAC,cAAA,MAAA,CAAKf,UAAWiB,EAAGC,EAAa,OAAQlB,gBAAwBI,GAC9DU,EAAAC,cAAA,SAAA,CACEf,UAAWiB,EAAGC,EAAqB,eAAgB,gBAAgBG,OAAAZ,EAAa,SAAW,aAC3Fa,KAAK,SACLF,QAASP,GAETC,EACEC,cAAA,MAAA,CAAAf,UAAWiB,EAAGC,EAAmB,cAAYK,EAAA,CAAA,EAC3CA,EAAC,UAAGL,EAAwB,uBAAuBT,EACnDc,KAEFT,EAAAC,cAAA,MAAA,CAAKf,UAAWiB,EAAGC,EAA6B,4BAGpDJ,EACEC,cAAA,MAAA,CAAAf,UAAWiB,EAAGC,EAAmB,cAAYM,EAAA,CAAA,EAC3CA,EAACN,GAAyBT,EAC1Be,EAACN,IAA4BT,MAE/BW,QAASP,GAETC,EAAKC,cAAA,MAAA,CAAAf,UAAWiB,EAAGC,EAAmB,eACpCJ,EAAKC,cAAA,MAAA,CAAAU,IAAKpB,EAASqB,IAAI,UAGzBZ,EAAAC,cAAA,KAAA,MACGJ,aAAA,EAAAA,EAAYf,MAGL,QAFJ+B,EAA6B,QAA7BC,EAAAC,OAAOC,KAAKnB,aAAA,EAAAA,EAAYf,aAAK,IAAAgC,OAAA,EAAAA,EACzBG,QAAO,SAACC,GAAQ,IAAAnC,EAAA,OAAmC,QAAnCA,EAAAe,aAAA,EAAAA,EAAMd,UAA6B,IAAAD,OAAA,EAAAA,EAAAD,KAAKoC,EAAoC,WAC5F,IAAAL,OAAA,EAAAA,EAAAM,KAAI,SAACD,EAAKE,GAAU,OACpBpB,EAAAC,cAAA,KAAA,CAAIiB,IAAKE,EAAOlC,UAAWiB,EAAGC,EAAmB,eAC/CJ,EAAGC,cAAA,IAAA,CAAAoB,KAAM,IAAId,OAAAvB,UAASsC,EAAOJ,KAC1BrB,EAAWf,KAAKoC,QAIzB,QAMhB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__read as e}from"tslib";import n from"classnames";import l,{useState as _}from"react";import{l as u,r as m}from"./routes-
|
|
2
|
-
//# sourceMappingURL=Menu-
|
|
1
|
+
import{__read as e}from"tslib";import n from"classnames";import l,{useState as _}from"react";import{l as u,r as m}from"./routes-9e2cc868.js";var t="Menu-module_menu__-1EdZ",a="Menu-module_menu__button__81SFo",o="Menu-module_menu__item__HiaJ9",c="Menu-module_menu__icon__5eQF7",i="Menu-module_menu__icon_hamburger__TcIuU",r="Menu-module_menu__icon_active__Nt5aS",d="Menu-module_menu__list__2RJNB",s="Menu-module_menu__list_open__ylNek",v="Menu-module_menu__list_closed__6SpmJ",M="Menu-module_menu__logo__cYLVU",E="Menu-module_menuOverlay__tS5Ft",p="Menu-module_menuOverlay_open__TcdJR",N="Menu-module_menuOverlay_closed__ABmM3",b=function(b){var f,g,y,O,k,F=b.locale,J=b.className,S=void 0===J?"":J;b.labels,b.isOpen,b.setIsOpen;var h=b.dataQaId,q=void 0===h?"qa-menu":h,C=b.logoUrl,I=e(_(!1),2),U=I[0],j=I[1],B=null==u?void 0:u[F],Q=function(){j(!U)};return l.createElement(l.Fragment,null,l.createElement("div",{className:n(E,"menuOverlay",(f={},f[p]=U,f[N]=!U,f),S),"data-qa-id":q,onClick:Q}),l.createElement("div",{className:n(t,"menu",S),"data-qa-id":q},l.createElement("button",{className:n(a,"menu__button","menu__button_".concat(U?"active":"inactive")),type:"button",onClick:Q},l.createElement("div",{className:n(c,"menu__icon",(g={},g["".concat(r," menu__icon_active")]=U,g))},l.createElement("div",{className:n(i,"menu__icon_hamburger")}))),l.createElement("div",{className:n(d,"menu__list",(y={},y[s]=U,y[v]=!U,y)),onClick:Q},l.createElement("div",{className:n(M,"menu__logo")},l.createElement("img",{src:C,alt:"logo"})),l.createElement("ul",null,(null==B?void 0:B.Menu)?null===(k=null===(O=Object.keys(null==B?void 0:B.Menu))||void 0===O?void 0:O.filter((function(e){var n;return null===(n=null==u?void 0:u[F])||void 0===n?void 0:n.Menu[e]})))||void 0===k?void 0:k.map((function(e,_){return l.createElement("li",{key:_,className:n(o,"menu__item")},l.createElement("a",{href:"/".concat(F).concat(m[e])},B.Menu[e]))})):null))))};export{b as M};
|
|
2
|
+
//# sourceMappingURL=Menu-9089fd16.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu-
|
|
1
|
+
{"version":3,"file":"Menu-9089fd16.js","sources":["../src/Menu/Menu.tsx"],"sourcesContent":["import cn from 'classnames';\nimport React, { useState } from 'react';\nimport lng from '../utilities/navigation/locale';\nimport { routes } from '../utilities/navigation/routes';\nimport styles from './Menu.module.scss';\nimport { InterfaceFeatures } from './Menu.types';\n\nexport const Menu = ({\n locale,\n className = '',\n labels,\n isOpen,\n setIsOpen,\n dataQaId = 'qa-menu',\n logoUrl\n}: InterfaceFeatures) => {\n const [isMenuOpen, setIsMenuOpen] = useState(false);\n const localeData = lng?.[locale as keyof typeof lng];\n const handleMenuClick = () => {\n setIsMenuOpen(!isMenuOpen);\n };\n\n return (\n <>\n <div\n className={cn(\n styles.menuOverlay,\n 'menuOverlay',\n { [styles.menuOverlay_open]: isMenuOpen, [styles.menuOverlay_closed]: !isMenuOpen },\n className\n )}\n data-qa-id={dataQaId}\n onClick={handleMenuClick}\n />\n <div className={cn(styles.menu, 'menu', className)} data-qa-id={dataQaId}>\n <button\n className={cn(styles.menu__button, 'menu__button', `menu__button_${isMenuOpen ? 'active' : 'inactive'}`)}\n type=\"button\"\n onClick={handleMenuClick}\n >\n <div\n className={cn(styles.menu__icon, 'menu__icon', {\n [`${styles.menu__icon_active} menu__icon_active`]: isMenuOpen\n })}\n >\n <div className={cn(styles.menu__icon_hamburger, 'menu__icon_hamburger')} />\n </div>\n </button>\n <div\n className={cn(styles.menu__list, 'menu__list', {\n [styles.menu__list_open]: isMenuOpen,\n [styles.menu__list_closed]: !isMenuOpen\n })}\n onClick={handleMenuClick}\n >\n <div className={cn(styles.menu__logo, 'menu__logo')}>\n <img src={logoUrl} alt=\"logo\" />\n </div>\n\n <ul>\n {localeData?.Menu\n ? Object.keys(localeData?.Menu)\n ?.filter((key) => lng?.[locale as keyof typeof lng]?.Menu[key as keyof typeof localeData.Menu])\n ?.map((key, index) => (\n <li key={index} className={cn(styles.menu__item, 'menu__item')}>\n <a href={`/${locale}${routes[key as keyof typeof routes]}`}>\n {localeData.Menu[key as keyof typeof localeData.Menu]}\n </a>\n </li>\n ))\n : null}\n </ul>\n </div>\n </div>\n </>\n );\n};\n"],"names":["Menu","_a","locale","_g","className","labels","setIsOpen","_h","dataQaId","logoUrl","_j","__read","useState","isMenuOpen","setIsMenuOpen","localeData","lng","handleMenuClick","React","createElement","Fragment","cn","styles","_b","onClick","concat","type","_c","_d","src","alt","_f","_e","Object","keys","filter","key","map","index","href","routes"],"mappings":"mnBAOaA,EAAO,SAACC,iBACnBC,EAAMD,EAAAC,OACNC,EAAAF,EAAAG,UAAAA,OAAY,IAAAD,EAAA,GAAEA,EACRF,EAAAI,gBAEGJ,EAAAK,UAAA,IACTC,EAAoBN,EAAAO,SAApBA,OAAQ,IAAAD,EAAG,UAASA,EACpBE,EAAOR,EAAAQ,QAEDC,EAAAC,EAA8BC,GAAS,GAAM,GAA5CC,EAAUH,EAAA,GAAEI,OACbC,EAAaC,eAAAA,EAAMd,GACnBe,EAAkB,WACtBH,GAAeD,EACjB,EAEA,OACEK,EAAAC,cAAAD,EAAAE,SAAA,KACEF,EAAAC,cAAA,MAAA,CACEf,UAAWiB,EACTC,EACA,eACEC,EAAA,GAAAA,EAACD,GAA0BT,EAAYU,EAACD,IAA6BT,EAAUU,GACjFnB,gBAEUI,EACZgB,QAASP,IAEXC,EAAAC,cAAA,MAAA,CAAKf,UAAWiB,EAAGC,EAAa,OAAQlB,gBAAwBI,GAC9DU,EAAAC,cAAA,SAAA,CACEf,UAAWiB,EAAGC,EAAqB,eAAgB,gBAAgBG,OAAAZ,EAAa,SAAW,aAC3Fa,KAAK,SACLF,QAASP,GAETC,EACEC,cAAA,MAAA,CAAAf,UAAWiB,EAAGC,EAAmB,cAAYK,EAAA,CAAA,EAC3CA,EAAC,UAAGL,EAAwB,uBAAuBT,EACnDc,KAEFT,EAAAC,cAAA,MAAA,CAAKf,UAAWiB,EAAGC,EAA6B,4BAGpDJ,EACEC,cAAA,MAAA,CAAAf,UAAWiB,EAAGC,EAAmB,cAAYM,EAAA,CAAA,EAC3CA,EAACN,GAAyBT,EAC1Be,EAACN,IAA4BT,MAE/BW,QAASP,GAETC,EAAKC,cAAA,MAAA,CAAAf,UAAWiB,EAAGC,EAAmB,eACpCJ,EAAKC,cAAA,MAAA,CAAAU,IAAKpB,EAASqB,IAAI,UAGzBZ,EAAAC,cAAA,KAAA,MACGJ,aAAA,EAAAA,EAAYf,MAGL,QAFJ+B,EAA6B,QAA7BC,EAAAC,OAAOC,KAAKnB,aAAA,EAAAA,EAAYf,aAAK,IAAAgC,OAAA,EAAAA,EACzBG,QAAO,SAACC,GAAQ,IAAAnC,EAAA,OAAmC,QAAnCA,EAAAe,aAAA,EAAAA,EAAMd,UAA6B,IAAAD,OAAA,EAAAA,EAAAD,KAAKoC,EAAoC,WAC5F,IAAAL,OAAA,EAAAA,EAAAM,KAAI,SAACD,EAAKE,GAAU,OACpBpB,EAAAC,cAAA,KAAA,CAAIiB,IAAKE,EAAOlC,UAAWiB,EAAGC,EAAmB,eAC/CJ,EAAGC,cAAA,IAAA,CAAAoB,KAAM,IAAId,OAAAvB,UAASsC,EAAOJ,KAC1BrB,EAAWf,KAAKoC,QAIzB,QAMhB"}
|
package/dist/Menu.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{M as Menu}from"./Menu-
|
|
1
|
+
export{M as Menu}from"./Menu-9089fd16.js";import"tslib";import"classnames";import"react";import"./routes-9e2cc868.js";
|
|
2
2
|
//# sourceMappingURL=Menu.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import{__read as e,__assign as t}from"tslib";import n from"react";var o=function(o){var r=o.pageConfigs,a=o.setPageConfigs;return n.createElement("div",{style:{backgroundColor:"rgba(240, 240, 240, 0.8)",width:"20%",padding:"10px",overflowY:"scroll",height:"fit-content",position:"sticky",right:0,top:0,display:window.innerWidth>=1024?"block":"none"}},Object.entries(r).map((function(o){var i=e(o,2),l=i[0],c=i[1];return"boolean"==typeof c||"string"==typeof c||"number"==typeof c?n.createElement("div",{key:l,style:{marginBottom:"10px",display:"flex",flexDirection:"row",justifyContent:"space-between"}},n.createElement("span",null,null==l?void 0:l.toUpperCase()),function(e){var o=e.key,i=e.value,l="boolean"==typeof i;return n.createElement("input",{checked:l?!0===i:void 0,type:l?"checkbox":"text",value:l?i?"true":"false":i,onChange:function(e){var n,i=l?e.target.checked:e.target.value;a(t(t({},r),((n={})[o]=i,n)))}})}({key:l,value:c})):null})))};export{o as P};
|
|
2
|
-
//# sourceMappingURL=PageConfig-
|
|
2
|
+
//# sourceMappingURL=PageConfig-6b4829bb.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageConfig-
|
|
1
|
+
{"version":3,"file":"PageConfig-6b4829bb.js","sources":["../src/PageConfig/PageConfig.tsx"],"sourcesContent":["import React from 'react';\nimport { IPageConfigProps } from './PageConfig.types';\n\nexport const PageConfig: React.FC<IPageConfigProps> = ({ pageConfigs, setPageConfigs }) => {\n const renderInput = ({ key, value }: { key: string; value: any }) => {\n const isBoolean = typeof value === 'boolean';\n const isString = typeof value === 'string';\n switch (typeof value) {\n default:\n return (\n <input\n checked={isBoolean ? value === true : undefined}\n type={isBoolean ? 'checkbox' : isString ? 'text' : 'text'}\n value={(isBoolean ? (value ? 'true' : 'false') : value) as any}\n onChange={(e) => {\n const newValue = isBoolean ? e.target.checked : e.target.value;\n setPageConfigs({ ...pageConfigs, [key]: newValue });\n }}\n />\n );\n }\n };\n\n return (\n <div\n style={{\n backgroundColor: 'rgba(240, 240, 240, 0.8)',\n width: '20%',\n padding: '10px',\n overflowY: 'scroll',\n height: 'fit-content',\n position: 'sticky',\n right: 0,\n top: 0,\n display: window.innerWidth >= 1024 ? 'block' : 'none'\n }}\n >\n {Object.entries(pageConfigs).map(([key, value]) => {\n const isboolean = typeof value === 'boolean';\n const isString = typeof value === 'string';\n\n if (!isboolean && !isString && typeof value !== 'number') {\n return null; // Skip non-boolean and non-string values\n }\n\n return (\n <div\n key={key}\n style={{ marginBottom: '10px', display: 'flex', flexDirection: 'row', justifyContent: 'space-between' }}\n >\n <span>{key?.toUpperCase()}</span>\n {renderInput({ key, value })}\n </div>\n );\n })}\n </div>\n );\n};\n"],"names":["PageConfig","_a","pageConfigs","setPageConfigs","React","createElement","style","backgroundColor","width","padding","overflowY","height","position","right","top","display","window","innerWidth","Object","entries","map","_b","__read","key","value","marginBottom","flexDirection","justifyContent","toUpperCase","isBoolean","checked","undefined","type","onChange","e","newValue","target","renderInput"],"mappings":"kEAGO,IAAMA,EAAyC,SAACC,OAAEC,EAAWD,EAAAC,YAAEC,EAAcF,EAAAE,eAoBlF,OACEC,EACEC,cAAA,MAAA,CAAAC,MAAO,CACLC,gBAAiB,2BACjBC,MAAO,MACPC,QAAS,OACTC,UAAW,SACXC,OAAQ,cACRC,SAAU,SACVC,MAAO,EACPC,IAAK,EACLC,QAASC,OAAOC,YAAc,KAAO,QAAU,SAGhDC,OAAOC,QAAQjB,GAAakB,KAAI,SAACnB,GAAA,IAAAoB,EAAAC,OAACC,EAAGF,EAAA,GAAEG,EAAKH,EAAA,GAI3C,MAHmC,kBAAVG,GACS,iBAAVA,GAEwB,iBAAVA,EAKpCpB,EACEC,cAAA,MAAA,CAAAkB,IAAKA,EACLjB,MAAO,CAAEmB,aAAc,OAAQV,QAAS,OAAQW,cAAe,MAAOC,eAAgB,kBAEtFvB,EAAOC,cAAA,OAAA,KAAAkB,aAAG,EAAHA,EAAKK,eA9CF,SAAC3B,OAAEsB,EAAGtB,EAAAsB,IAAEC,EAAKvB,EAAAuB,MACzBK,EAA6B,kBAAVL,EAIrB,OACEpB,EAAAC,cAAA,QAAA,CACEyB,QAASD,GAAsB,IAAVL,OAAiBO,EACtCC,KAAMH,EAAY,WAAwB,OAC1CL,MAAQK,EAAaL,EAAQ,OAAS,QAAWA,EACjDS,SAAU,SAACC,SACHC,EAAWN,EAAYK,EAAEE,OAAON,QAAUI,EAAEE,OAAOZ,MACzDrB,SAAoBD,KAAWD,EAAA,CAAA,GAAGsB,GAAMY,MACzC,GAIX,CA8BWE,CAAY,CAAEd,IAAGA,EAAEC,MAAKA,KATpB,IAYV,IAGP"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import{__read as e,__assign as t}from"tslib";import n from"react";var o=function(o){var r=o.pageConfigs,a=o.setPageConfigs;return n.createElement("div",{style:{backgroundColor:"rgba(240, 240, 240, 0.8)",width:"20%",padding:"10px",overflowY:"scroll",height:"fit-content",position:"sticky",right:0,top:0,display:window.innerWidth>=1024?"block":"none"}},Object.entries(r).map((function(o){var i=e(o,2),l=i[0],c=i[1];return"boolean"==typeof c||"string"==typeof c||"number"==typeof c?n.createElement("div",{key:l,style:{marginBottom:"10px",display:"flex",flexDirection:"row",justifyContent:"space-between"}},n.createElement("span",null,null==l?void 0:l.toUpperCase()),function(e){var o=e.key,i=e.value,l="boolean"==typeof i;return n.createElement("input",{checked:l?!0===i:void 0,type:l?"checkbox":"text",value:l?i?"true":"false":i,onChange:function(e){var n,i=l?e.target.checked:e.target.value;a(t(t({},r),((n={})[o]=i,n)))}})}({key:l,value:c})):null})))};export{o as P};
|
|
2
|
-
//# sourceMappingURL=PageConfig-
|
|
2
|
+
//# sourceMappingURL=PageConfig-93098d5d.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageConfig-
|
|
1
|
+
{"version":3,"file":"PageConfig-93098d5d.js","sources":["../src/PageConfig/PageConfig.tsx"],"sourcesContent":["import React from 'react';\nimport { IPageConfigProps } from './PageConfig.types';\n\nexport const PageConfig: React.FC<IPageConfigProps> = ({ pageConfigs, setPageConfigs }) => {\n const renderInput = ({ key, value }: { key: string; value: any }) => {\n const isBoolean = typeof value === 'boolean';\n const isString = typeof value === 'string';\n switch (typeof value) {\n default:\n return (\n <input\n checked={isBoolean ? value === true : undefined}\n type={isBoolean ? 'checkbox' : isString ? 'text' : 'text'}\n value={(isBoolean ? (value ? 'true' : 'false') : value) as any}\n onChange={(e) => {\n const newValue = isBoolean ? e.target.checked : e.target.value;\n setPageConfigs({ ...pageConfigs, [key]: newValue });\n }}\n />\n );\n }\n };\n\n return (\n <div\n style={{\n backgroundColor: 'rgba(240, 240, 240, 0.8)',\n width: '20%',\n padding: '10px',\n overflowY: 'scroll',\n height: 'fit-content',\n position: 'sticky',\n right: 0,\n top: 0,\n display: window.innerWidth >= 1024 ? 'block' : 'none'\n }}\n >\n {Object.entries(pageConfigs).map(([key, value]) => {\n const isboolean = typeof value === 'boolean';\n const isString = typeof value === 'string';\n\n if (!isboolean && !isString && typeof value !== 'number') {\n return null; // Skip non-boolean and non-string values\n }\n\n return (\n <div\n key={key}\n style={{ marginBottom: '10px', display: 'flex', flexDirection: 'row', justifyContent: 'space-between' }}\n >\n <span>{key?.toUpperCase()}</span>\n {renderInput({ key, value })}\n </div>\n );\n })}\n </div>\n );\n};\n"],"names":["PageConfig","_a","pageConfigs","setPageConfigs","React","createElement","style","backgroundColor","width","padding","overflowY","height","position","right","top","display","window","innerWidth","Object","entries","map","_b","__read","key","value","marginBottom","flexDirection","justifyContent","toUpperCase","isBoolean","checked","undefined","type","onChange","e","newValue","target","renderInput"],"mappings":"kEAGO,IAAMA,EAAyC,SAACC,OAAEC,EAAWD,EAAAC,YAAEC,EAAcF,EAAAE,eAoBlF,OACEC,EACEC,cAAA,MAAA,CAAAC,MAAO,CACLC,gBAAiB,2BACjBC,MAAO,MACPC,QAAS,OACTC,UAAW,SACXC,OAAQ,cACRC,SAAU,SACVC,MAAO,EACPC,IAAK,EACLC,QAASC,OAAOC,YAAc,KAAO,QAAU,SAGhDC,OAAOC,QAAQjB,GAAakB,KAAI,SAACnB,GAAA,IAAAoB,EAAAC,OAACC,EAAGF,EAAA,GAAEG,EAAKH,EAAA,GAI3C,MAHmC,kBAAVG,GACS,iBAAVA,GAEwB,iBAAVA,EAKpCpB,EACEC,cAAA,MAAA,CAAAkB,IAAKA,EACLjB,MAAO,CAAEmB,aAAc,OAAQV,QAAS,OAAQW,cAAe,MAAOC,eAAgB,kBAEtFvB,EAAOC,cAAA,OAAA,KAAAkB,aAAG,EAAHA,EAAKK,eA9CF,SAAC3B,OAAEsB,EAAGtB,EAAAsB,IAAEC,EAAKvB,EAAAuB,MACzBK,EAA6B,kBAAVL,EAIrB,OACEpB,EAAAC,cAAA,QAAA,CACEyB,QAASD,GAAsB,IAAVL,OAAiBO,EACtCC,KAAMH,EAAY,WAAwB,OAC1CL,MAAQK,EAAaL,EAAQ,OAAS,QAAWA,EACjDS,SAAU,SAACC,SACHC,EAAWN,EAAYK,EAAEE,OAAON,QAAUI,EAAEE,OAAOZ,MACzDrB,SAAoBD,KAAWD,EAAA,CAAA,GAAGsB,GAAMY,MACzC,GAIX,CA8BWE,CAAY,CAAEd,IAAGA,EAAEC,MAAKA,KATpB,IAYV,IAGP"}
|
package/dist/PageConfig.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{P as PageConfig}from"./PageConfig-
|
|
1
|
+
export{P as PageConfig}from"./PageConfig-93098d5d.js";import"tslib";import"react";
|
|
2
2
|
//# sourceMappingURL=PageConfig.js.map
|
package/dist/PageContent.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import o from"react";import{C as e}from"./CookieConsent-
|
|
1
|
+
import o from"react";import{C as e}from"./CookieConsent-e80ea84e.js";import{F as i}from"./Features-7f168a82.js";import{F as l}from"./Footer-03769ef7.js";import{P as n}from"./PricingPolicy-5669c313.js";import{R as t}from"./RefundPolicy-1e5fb435.js";import{S as c}from"./Showcase-516b9886.js";import{T as a}from"./Testimonials-49000713.js";import{U as r}from"./Unsubscription-e36cf588.js";import"tslib";import"classnames";import"./Intl-729b1c72.js";import"./routes-9e2cc868.js";var s=function(s){var m,d,u,v,p,f,w=s.email,h=s.pageConfigs,g=s.locale,C=s.legals,S=s.tracker,E=s.onConsentUpdate,b=(null===(m=null==h?void 0:h.logo)||void 0===m?void 0:m.url)||"";return o.createElement("div",{className:"page-content",onClick:function(){}},o.createElement("div",{className:"scroll-up",onClick:function(){window.scrollTo({top:0,behavior:"smooth"}),null==S||S.customEvent("image-cards","click","scroll-to-top")}},(null==h?void 0:h.isShowWhyChooseUs)&&o.createElement(i,{type:null==h?void 0:h.contentCategory,locale:g,tracker:S,domain:(null===(d=null===window||void 0===window?void 0:window.location)||void 0===d?void 0:d.origin)||"",headline:""}),(null==h?void 0:h.isShowShowCase)&&o.createElement(c,{tracker:S,locale:g,type:null==h?void 0:h.contentCategory,domain:(null===(u=null===window||void 0===window?void 0:window.location)||void 0===u?void 0:u.origin)||""}),(null==h?void 0:h.isShowPricingTable)&&o.createElement(n,{hideSections:!0,priceUnit:null==C?void 0:C.price_unit,priceValue:null==C?void 0:C.price_point,locale:g}),(null==h?void 0:h.isShowRefundPolicy)&&o.createElement(t,{locale:g,serviceName:null==h?void 0:h.serviceName}),(null==h?void 0:h.isShowUnsubscription)&&o.createElement(r,{locale:g}),(null==h?void 0:h.isShowTestimonials)&&o.createElement(a,{locale:g})),(null==h?void 0:h.isShowAboutUs)&&o.createElement(l,{locale:g,mccName:null===(v=null==h?void 0:h.mccInformation)||void 0===v?void 0:v.mcc,address:null===(p=null==h?void 0:h.mccInformation)||void 0===p?void 0:p.address,email:w,phone:null===(f=null==h?void 0:h.mccInformation)||void 0===f?void 0:f.mcc_phone_number,logoUrl:b,className:"footer"}),(null==h?void 0:h.isShowConsentCookie)&&o.createElement(e,{hasMoreOptions:!0,onUpdate:function(o){E&&E(o)},locale:g}))};export{s as PageContent};
|
|
2
2
|
//# sourceMappingURL=PageContent.js.map
|
package/dist/PhoneEntry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PhoneEntry.js","sources":["../src/utils/parsePhoneNumber.ts","../src/PhoneEntry/PhoneEntry.tsx"],"sourcesContent":["/* eslint-disable no-nested-ternary */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable no-underscore-dangle */\n/* eslint-disable no-restricted-syntax */\n\n/**\n * These mappings map a character (key) to a specific digit that should\n * replace it for normalization purposes. Non-European digits that\n * may be used in phone numbers are mapped to a European equivalent.\n *\n * E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\n *\n */\n\nexport const DIGITS = {\n '0': '0',\n '1': '1',\n '2': '2',\n '3': '3',\n '4': '4',\n '5': '5',\n '6': '6',\n '7': '7',\n '8': '8',\n '9': '9',\n '\\uFF10': '0', // Fullwidth digit 0\n '\\uFF11': '1', // Fullwidth digit 1\n '\\uFF12': '2', // Fullwidth digit 2\n '\\uFF13': '3', // Fullwidth digit 3\n '\\uFF14': '4', // Fullwidth digit 4\n '\\uFF15': '5', // Fullwidth digit 5\n '\\uFF16': '6', // Fullwidth digit 6\n '\\uFF17': '7', // Fullwidth digit 7\n '\\uFF18': '8', // Fullwidth digit 8\n '\\uFF19': '9', // Fullwidth digit 9\n '\\u0660': '0', // Arabic-indic digit 0\n '\\u0661': '1', // Arabic-indic digit 1\n '\\u0662': '2', // Arabic-indic digit 2\n '\\u0663': '3', // Arabic-indic digit 3\n '\\u0664': '4', // Arabic-indic digit 4\n '\\u0665': '5', // Arabic-indic digit 5\n '\\u0666': '6', // Arabic-indic digit 6\n '\\u0667': '7', // Arabic-indic digit 7\n '\\u0668': '8', // Arabic-indic digit 8\n '\\u0669': '9', // Arabic-indic digit 9\n '\\u06F0': '0', // Eastern-Arabic digit 0\n '\\u06F1': '1', // Eastern-Arabic digit 1\n '\\u06F2': '2', // Eastern-Arabic digit 2\n '\\u06F3': '3', // Eastern-Arabic digit 3\n '\\u06F4': '4', // Eastern-Arabic digit 4\n '\\u06F5': '5', // Eastern-Arabic digit 5\n '\\u06F6': '6', // Eastern-Arabic digit 6\n '\\u06F7': '7', // Eastern-Arabic digit 7\n '\\u06F8': '8', // Eastern-Arabic digit 8\n '\\u06F9': '9' // Eastern-Arabic digit 9\n};\n\nexport const parseDigit = (character: string) =>\n character in DIGITS ? DIGITS[character as keyof typeof DIGITS] : undefined;\n\n/**\n * Parses phone number digits from a string.\n * Drops all punctuation leaving only digits.\n * Also converts wide-ascii and arabic-indic numerals to conventional numerals.\n *\n * E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\n * parseDigits('8 (800) 555')\n * Outputs '8800555'.\n *\n */\n\nexport const parseDigits = (string: string) => {\n let result = '';\n\n /**\n * Using `.split('')` here instead of normal `for ... of`\n * because the importing application doesn't neccessarily include an ES6 polyfill.\n * The `.split('')` approach discards \"exotic\" UTF-8 characters\n * (the ones consisting of four bytes) but digits\n * (including non-European ones) don't fall into that range\n * so such \"exotic\" characters would be discarded anyway.\n */\n\n for (const character of string.split('')) {\n const digit = parseDigit(character);\n if (digit) {\n result += digit;\n }\n }\n return result;\n};\n\n/**\n * Parses phone number characters from a string.\n * Drops all punctuation leaving only digits and the leading `+` sign (if any).\n * Also converts wide-ascii and arabic-indic numerals to conventional numerals.\n *\n * E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\n * Outputs '8800555'.\n * parseIncompletePhoneNumber('8 (800) 555')\n * Outputs '+7800555'.\n * parseIncompletePhoneNumber('+7 800 555')\n *\n */\n\nexport const parseIncompletePhoneNumber = (string: string) => {\n let result = '';\n let _iterator: any;\n let _isArray: boolean;\n let _i: any;\n\n /**\n * Using `.split('')` here instead of normal `for ... of`\n * because the importing application doesn't neccessarily include an ES6 polyfill.\n * The `.split('')` approach discards \"exotic\" UTF-8 characters\n * (the ones consisting of four bytes) but digits\n * (including non-European ones) don't fall into that range\n * so such \"exotic\" characters would be discarded anyway.\n */\n\n for (\n _iterator = string.split(''),\n _isArray = Array.isArray(_iterator),\n _i = 0,\n _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();\n ;\n\n ) {\n let _ref;\n\n if (_isArray) {\n if (_i >= _iterator.length) break;\n _ref = _iterator[(_i += 1)];\n } else {\n _i = _iterator.next();\n if (_i.done) break;\n _ref = _i.value;\n }\n\n const character = _ref;\n result += parsePhoneNumberCharacter(character, result) || '';\n }\n\n return result;\n};\n\n/**\n * Parses next character while parsing phone number digits (including a `+`)\n * from text: discards everything except `+` and digits, and `+` is only allowed\n * at the start of a phone number.\n */\n\nexport const parsePhoneNumberCharacter = (character: string, prevParsedCharacters: string) =>\n character === '+' ? (prevParsedCharacters ? '' : '+') : parseDigit(character);\n\n/**\n * Check if nationalNumber is a valid number by removing `+` if exist\n */\n\nexport const getBupperNumber = (nationalNumber: string) => {\n if (!nationalNumber) {\n return nationalNumber;\n }\n\n const match = nationalNumber.match(/\\d+/g);\n return match ? match.join('') : nationalNumber;\n};\n\n/**\n * Verify string contains a number\n */\n\nexport const hasNumber = (stringToCheck: string) => /\\d/.test(stringToCheck);\n\n/**\n * Used for providing prefix for specific country\n */\n\nconst generateConfig = (countryCode: string, commonPrefix: string, maxLength: number) => ({\n countryCode,\n commonPrefix,\n maxLength\n});\n\nconst configs: any = {\n mx: generateConfig('52', '01', 10),\n my: generateConfig('60', '01', 9),\n za: generateConfig('27', '0', 9),\n ae: generateConfig('971', '05', 10),\n a2: generateConfig('971', '05', 10),\n gr: generateConfig('30', '69', 9),\n g2: generateConfig('30', '69', 9),\n ee: generateConfig('372', '', 10),\n lt: generateConfig('370', '6', 9),\n ps: generateConfig('972', '0', 10),\n kk: generateConfig('7', '0', 10),\n kw: generateConfig('965', '0', 10),\n xx: generateConfig('', '', 10)\n};\n\nexport const getMsisdnPrefix = (countryCode: string) => configs[countryCode] || configs.xx;\n","import { getAsYouType, parsePhoneNumber } from 'awesome-phonenumber';\nimport cn from 'classnames';\nimport React, { useState } from 'react';\nimport { getBupperNumber, hasNumber, parseIncompletePhoneNumber } from '../utils/parsePhoneNumber';\nimport styles from './PhoneEntry.module.scss';\nimport { interfacePhoneEntry } from './PhoneEntry.types';\n\nconst specialCountryCodes: Record<string, string> = {\n s2: 'sa',\n o2: 'om',\n a2: 'ae',\n k2: 'kw',\n c2: 'ch',\n r2: 'rs',\n l2: 'lv',\n s3: 'se',\n b2: 'bh',\n g2: 'gr',\n a3: 'at'\n};\n\nexport const PhoneEntry = ({\n tracker,\n country,\n msisdn,\n setMsisdn,\n internationalNumber,\n setInternationalNumber,\n isMsisdnFilled,\n setIsMsisdnFilled,\n inputElementRef,\n id,\n className = '',\n dataQaId = 'qa-phone-entry',\n minLength = 7,\n placeholder,\n isValid,\n setIsValid,\n userInteract,\n setUserInteract,\n showIconInput = true,\n showIconValid = true,\n showIconInvalid = true,\n onChange,\n onKeyPress,\n onPaste,\n onBlur,\n onFocus,\n isFocused = false,\n msisdnLabel = 'Enter your mobile number to start download now:',\n msisdnLabelToolTip = 'Please insert your mobile number here',\n focusAnimation = ''\n}: interfacePhoneEntry) => {\n const userCountry = hasNumber(country) ? specialCountryCodes[country] : country;\n const [isTooltipVisible, setIsTooltipVisible] = useState(false);\n const [isLabelVisible, setIsLabelVisible] = useState(true);\n function handleKeyPress(whichKey: React.KeyboardEvent<HTMLInputElement>) {\n const regex = /[0-9]/;\n if (!regex.test(whichKey.key)) {\n whichKey.preventDefault();\n }\n }\n\n function formatMsisdn(unformatMsisdn: string) {\n const asUserType = getAsYouType(userCountry);\n asUserType.addChar(unformatMsisdn);\n return asUserType.number();\n }\n\n function parseMsisdn(_msisdn: string) {\n const currentMsisdn = _msisdn.startsWith('0') ? parseInt(_msisdn, 10).toString() : _msisdn;\n try {\n const parsedPhoneNumber = parsePhoneNumber(currentMsisdn, { regionCode: userCountry.toUpperCase() });\n const nationalPhoneNumber = parsedPhoneNumber.number?.national || '';\n const internationalPhoneNumber = parsedPhoneNumber.number?.international || '';\n const bupperPhoneNumber = getBupperNumber(nationalPhoneNumber);\n const parsedPhoneNumberIsValid =\n userCountry.toLowerCase() === 'ci'\n ? parsedPhoneNumber.possible ||\n parsedPhoneNumber.typeIsMobile ||\n nationalPhoneNumber.length === 8 ||\n nationalPhoneNumber.length === 9\n : parsedPhoneNumber.valid;\n\n return {\n bupperPhoneNumber,\n nationalPhoneNumber,\n internationalPhoneNumber,\n isPhoneNumberValid: parsedPhoneNumberIsValid\n };\n } catch (error) {\n console.warn(error);\n return {\n bupperPhoneNumber: '',\n nationalPhoneNumber: '',\n internationalPhoneNumber: '',\n isPhoneNumberValid: false\n };\n }\n }\n\n const handleTooltipVisibility = () => {\n setIsTooltipVisible(!isTooltipVisible);\n setIsLabelVisible(!isLabelVisible);\n };\n\n return (\n <div\n className={`msisdn-wrapper ${isFocused ? focusAnimation : ''}`}\n data-attr=\"has-subscription-box\"\n onClick={handleTooltipVisibility}\n >\n {isTooltipVisible ? (\n <div className=\"label-msisdn tooltip\">\n {/* <FormattedMessage\n id=\"msisdnLabelToolTip\"\n defaultMessage=\"Please insert your mobile number here\"\n /> */}\n {msisdnLabelToolTip}\n </div>\n ) : (\n <></>\n )}\n\n <div id=\"label-msisdn\" className=\"label-msisdn\">\n {/* <FormattedMessage\n id=\"msisdnLabel\"\n defaultMessage=\"Enter your mobile number to start download now:\"\n /> */}\n {msisdnLabel}\n </div>\n\n <div\n className={cn(styles.phoneInputWrap, 'phone-input-wrap', {\n [styles.phoneInputWrapIconInput]: showIconInput,\n [styles.phoneInputWrapIconValid]: showIconValid && isValid && userInteract,\n [styles.phoneInputWrapIconInvalid]: showIconInvalid && !isValid && userInteract,\n // for custom css\n 'is-valid': isValid && userInteract,\n 'is-invalid': !isValid && userInteract\n })}\n data-msisdn={msisdn.replace(' ', '')}\n data-international-number={internationalNumber.replace('+', '').replace(' ', '')}\n >\n <input\n autoFocus\n required\n ref={inputElementRef}\n id={id || 'phone-input'}\n className={cn(styles.phoneInput, className, 'phone-input')}\n data-qa-id={dataQaId}\n type=\"tel\"\n placeholder={placeholder || 'Phone number'}\n value={formatMsisdn(msisdn)}\n pattern=\"[0-9]*\"\n inputMode=\"numeric\"\n minLength={minLength}\n autoComplete=\"tel\"\n onChange={(_ev: React.ChangeEvent<HTMLInputElement>) => {\n setUserInteract?.(true);\n\n const inputTargetValue = _ev.target.value;\n let newTargetValue = parseIncompletePhoneNumber(inputTargetValue);\n\n // Workaround for handling the Samsung Galaxy smart caret positioning bug\n if (newTargetValue === inputTargetValue && formatMsisdn(newTargetValue).startsWith(inputTargetValue)) {\n newTargetValue = newTargetValue.slice(0, -1);\n }\n\n // Requested by Aadam and partner for testing Luxembourg\n if (newTargetValue.includes('3522100000012340') && onChange) {\n onChange({\n isValid: true,\n msisdn: newTargetValue,\n nationalNumber: msisdn,\n internationalNumber: msisdn,\n bupperNumber: msisdn\n });\n setIsValid?.(true);\n return;\n }\n\n const { bupperPhoneNumber, internationalPhoneNumber, nationalPhoneNumber, isPhoneNumberValid } =\n parseMsisdn(newTargetValue);\n\n tracker?.customEvent('MSISDN-State', 'valid', 'MsisdnValid', { msisdn });\n setIsValid?.(isPhoneNumberValid);\n setMsisdn?.(_ev.currentTarget.value);\n setInternationalNumber?.(internationalPhoneNumber);\n\n if (onChange) {\n onChange({\n isValid: isPhoneNumberValid,\n msisdn: newTargetValue,\n bupperNumber: bupperPhoneNumber,\n nationalNumber: nationalPhoneNumber,\n internationalNumber: internationalPhoneNumber\n });\n }\n }}\n onKeyPress={(_ev: React.KeyboardEvent<HTMLInputElement>) => {\n handleKeyPress(_ev);\n\n if (!isMsisdnFilled && _ev.currentTarget.value.length >= minLength) {\n tracker?.customEvent('MSISDN-State', 'type', 'MsisdnType');\n setIsMsisdnFilled?.(true);\n }\n\n if (onKeyPress) {\n onKeyPress(_ev);\n }\n }}\n onPaste={(_ev: React.ClipboardEvent<HTMLInputElement>) => {\n if (!isMsisdnFilled && _ev.currentTarget.value.length >= minLength) {\n tracker?.customEvent('MSISDN-State', 'copypaste', 'MsisdnPasted');\n setIsMsisdnFilled?.(true);\n }\n\n if (onPaste) {\n onPaste(_ev);\n }\n }}\n onBlur={(_ev: React.FocusEvent<HTMLInputElement>) => {\n if (!isMsisdnFilled && _ev.currentTarget.value.length >= minLength) {\n tracker?.customEvent('MSISDN-State', 'autofill', 'AutoFill', { msisdn: _ev.target.value });\n setIsMsisdnFilled?.(true);\n }\n\n if (onBlur) {\n onBlur(_ev);\n }\n }}\n onFocus={(_ev: React.FocusEvent<HTMLInputElement>) => {\n if (onFocus) {\n onFocus(_ev);\n }\n }}\n />\n </div>\n </div>\n );\n};\n"],"names":["DIGITS","parsePhoneNumberCharacter","character","prevParsedCharacters","undefined","parseDigit","specialCountryCodes","s2","o2","a2","k2","c2","r2","l2","s3","b2","g2","a3","PhoneEntry","_a","tracker","country","msisdn","setMsisdn","internationalNumber","setInternationalNumber","isMsisdnFilled","setIsMsisdnFilled","inputElementRef","id","_c","className","_d","dataQaId","_e","minLength","placeholder","isValid","setIsValid","userInteract","setUserInteract","_f","showIconInput","_g","showIconValid","_h","showIconInvalid","onChange","onKeyPress","onPaste","onBlur","onFocus","_j","isFocused","_k","msisdnLabel","_l","msisdnLabelToolTip","_m","focusAnimation","userCountry","test","_o","__read","useState","isTooltipVisible","setIsTooltipVisible","_p","isLabelVisible","setIsLabelVisible","formatMsisdn","unformatMsisdn","asUserType","getAsYouType","addChar","number","React","onClick","createElement","cn","styles","_b","replace","autoFocus","required","ref","type","value","pattern","inputMode","autoComplete","_ev","inputTargetValue","target","newTargetValue","string","_iterator","_isArray","_i","result","split","Array","isArray","Symbol","iterator","_ref","length","next","done","parseIncompletePhoneNumber","startsWith","slice","includes","nationalNumber","bupperNumber","_msisdn","currentMsisdn","parseInt","toString","parsedPhoneNumber","parsePhoneNumber","regionCode","toUpperCase","nationalPhoneNumber","national","internationalPhoneNumber","international","bupperPhoneNumber","match","join","getBupperNumber","isPhoneNumberValid","toLowerCase","possible","typeIsMobile","valid","error","console","warn","parseMsisdn","customEvent","currentTarget","whichKey","key","preventDefault"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PhoneEntry.js","sources":["../src/utils/parsePhoneNumber.ts","../src/PhoneEntry/PhoneEntry.tsx"],"sourcesContent":["/* eslint-disable no-nested-ternary */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable no-underscore-dangle */\n/* eslint-disable no-restricted-syntax */\n\n/**\n * These mappings map a character (key) to a specific digit that should\n * replace it for normalization purposes. Non-European digits that\n * may be used in phone numbers are mapped to a European equivalent.\n *\n * E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\n *\n */\n\nexport const DIGITS = {\n '0': '0',\n '1': '1',\n '2': '2',\n '3': '3',\n '4': '4',\n '5': '5',\n '6': '6',\n '7': '7',\n '8': '8',\n '9': '9',\n '\\uFF10': '0', // Fullwidth digit 0\n '\\uFF11': '1', // Fullwidth digit 1\n '\\uFF12': '2', // Fullwidth digit 2\n '\\uFF13': '3', // Fullwidth digit 3\n '\\uFF14': '4', // Fullwidth digit 4\n '\\uFF15': '5', // Fullwidth digit 5\n '\\uFF16': '6', // Fullwidth digit 6\n '\\uFF17': '7', // Fullwidth digit 7\n '\\uFF18': '8', // Fullwidth digit 8\n '\\uFF19': '9', // Fullwidth digit 9\n '\\u0660': '0', // Arabic-indic digit 0\n '\\u0661': '1', // Arabic-indic digit 1\n '\\u0662': '2', // Arabic-indic digit 2\n '\\u0663': '3', // Arabic-indic digit 3\n '\\u0664': '4', // Arabic-indic digit 4\n '\\u0665': '5', // Arabic-indic digit 5\n '\\u0666': '6', // Arabic-indic digit 6\n '\\u0667': '7', // Arabic-indic digit 7\n '\\u0668': '8', // Arabic-indic digit 8\n '\\u0669': '9', // Arabic-indic digit 9\n '\\u06F0': '0', // Eastern-Arabic digit 0\n '\\u06F1': '1', // Eastern-Arabic digit 1\n '\\u06F2': '2', // Eastern-Arabic digit 2\n '\\u06F3': '3', // Eastern-Arabic digit 3\n '\\u06F4': '4', // Eastern-Arabic digit 4\n '\\u06F5': '5', // Eastern-Arabic digit 5\n '\\u06F6': '6', // Eastern-Arabic digit 6\n '\\u06F7': '7', // Eastern-Arabic digit 7\n '\\u06F8': '8', // Eastern-Arabic digit 8\n '\\u06F9': '9' // Eastern-Arabic digit 9\n};\n\nexport const parseDigit = (character: string) =>\n character in DIGITS ? DIGITS[character as keyof typeof DIGITS] : undefined;\n\n/**\n * Parses phone number digits from a string.\n * Drops all punctuation leaving only digits.\n * Also converts wide-ascii and arabic-indic numerals to conventional numerals.\n *\n * E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\n * parseDigits('8 (800) 555')\n * Outputs '8800555'.\n *\n */\n\nexport const parseDigits = (string: string) => {\n let result = '';\n\n /**\n * Using `.split('')` here instead of normal `for ... of`\n * because the importing application doesn't neccessarily include an ES6 polyfill.\n * The `.split('')` approach discards \"exotic\" UTF-8 characters\n * (the ones consisting of four bytes) but digits\n * (including non-European ones) don't fall into that range\n * so such \"exotic\" characters would be discarded anyway.\n */\n\n for (const character of string.split('')) {\n const digit = parseDigit(character);\n if (digit) {\n result += digit;\n }\n }\n return result;\n};\n\n/**\n * Parses phone number characters from a string.\n * Drops all punctuation leaving only digits and the leading `+` sign (if any).\n * Also converts wide-ascii and arabic-indic numerals to conventional numerals.\n *\n * E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\n * Outputs '8800555'.\n * parseIncompletePhoneNumber('8 (800) 555')\n * Outputs '+7800555'.\n * parseIncompletePhoneNumber('+7 800 555')\n *\n */\n\nexport const parseIncompletePhoneNumber = (string: string) => {\n let result = '';\n let _iterator: any;\n let _isArray: boolean;\n let _i: any;\n\n /**\n * Using `.split('')` here instead of normal `for ... of`\n * because the importing application doesn't neccessarily include an ES6 polyfill.\n * The `.split('')` approach discards \"exotic\" UTF-8 characters\n * (the ones consisting of four bytes) but digits\n * (including non-European ones) don't fall into that range\n * so such \"exotic\" characters would be discarded anyway.\n */\n\n for (\n _iterator = string.split(''),\n _isArray = Array.isArray(_iterator),\n _i = 0,\n _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();\n ;\n\n ) {\n let _ref;\n\n if (_isArray) {\n if (_i >= _iterator.length) break;\n _ref = _iterator[(_i += 1)];\n } else {\n _i = _iterator.next();\n if (_i.done) break;\n _ref = _i.value;\n }\n\n const character = _ref;\n result += parsePhoneNumberCharacter(character, result) || '';\n }\n\n return result;\n};\n\n/**\n * Parses next character while parsing phone number digits (including a `+`)\n * from text: discards everything except `+` and digits, and `+` is only allowed\n * at the start of a phone number.\n */\n\nexport const parsePhoneNumberCharacter = (character: string, prevParsedCharacters: string) =>\n character === '+' ? (prevParsedCharacters ? '' : '+') : parseDigit(character);\n\n/**\n * Check if nationalNumber is a valid number by removing `+` if exist\n */\n\nexport const getBupperNumber = (nationalNumber: string) => {\n if (!nationalNumber) {\n return nationalNumber;\n }\n\n const match = nationalNumber.match(/\\d+/g);\n return match ? match.join('') : nationalNumber;\n};\n\n/**\n * Verify string contains a number\n */\n\nexport const hasNumber = (stringToCheck: string) => /\\d/.test(stringToCheck);\n\n/**\n * Used for providing prefix for specific country\n */\n\nconst generateConfig = (countryCode: string, commonPrefix: string, maxLength: number) => ({\n countryCode,\n commonPrefix,\n maxLength\n});\n\nconst configs: any = {\n mx: generateConfig('52', '01', 10),\n my: generateConfig('60', '01', 9),\n za: generateConfig('27', '0', 9),\n ae: generateConfig('971', '05', 10),\n a2: generateConfig('971', '05', 10),\n gr: generateConfig('30', '69', 9),\n g2: generateConfig('30', '69', 9),\n ee: generateConfig('372', '', 10),\n lt: generateConfig('370', '6', 9),\n ps: generateConfig('972', '0', 10),\n kk: generateConfig('7', '0', 10),\n kw: generateConfig('965', '0', 10),\n xx: generateConfig('', '', 10)\n};\n\nexport const getMsisdnPrefix = (countryCode: string) => configs[countryCode] || configs.xx;\n","import { getAsYouType, parsePhoneNumber } from 'awesome-phonenumber';\nimport cn from 'classnames';\nimport React, { useState } from 'react';\nimport { getBupperNumber, hasNumber, parseIncompletePhoneNumber } from '../utils/parsePhoneNumber';\nimport styles from './PhoneEntry.module.scss';\nimport { interfacePhoneEntry } from './PhoneEntry.types';\n\nconst specialCountryCodes: Record<string, string> = {\n s2: 'sa',\n o2: 'om',\n a2: 'ae',\n k2: 'kw',\n c2: 'ch',\n r2: 'rs',\n l2: 'lv',\n s3: 'se',\n b2: 'bh',\n g2: 'gr',\n a3: 'at'\n};\n\nexport const PhoneEntry = ({\n tracker,\n country,\n msisdn,\n setMsisdn,\n internationalNumber,\n setInternationalNumber,\n isMsisdnFilled,\n setIsMsisdnFilled,\n inputElementRef,\n id,\n className = '',\n dataQaId = 'qa-phone-entry',\n minLength = 7,\n placeholder,\n isValid,\n setIsValid,\n userInteract,\n setUserInteract,\n showIconInput = true,\n showIconValid = true,\n showIconInvalid = true,\n onChange,\n onKeyPress,\n onPaste,\n onBlur,\n onFocus,\n isFocused = false,\n msisdnLabel = 'Enter your mobile number to start download now:',\n msisdnLabelToolTip = 'Please insert your mobile number here',\n focusAnimation = ''\n}: interfacePhoneEntry) => {\n const userCountry = hasNumber(country) ? specialCountryCodes[country] : country;\n const [isTooltipVisible, setIsTooltipVisible] = useState(false);\n const [isLabelVisible, setIsLabelVisible] = useState(true);\n function handleKeyPress(whichKey: React.KeyboardEvent<HTMLInputElement>) {\n const regex = /[0-9]/;\n if (!regex.test(whichKey.key)) {\n whichKey.preventDefault();\n }\n }\n\n function formatMsisdn(unformatMsisdn: string) {\n const asUserType = getAsYouType(userCountry);\n asUserType.addChar(unformatMsisdn);\n return asUserType.number();\n }\n\n function parseMsisdn(_msisdn: string) {\n const currentMsisdn = _msisdn.startsWith('0') ? parseInt(_msisdn, 10).toString() : _msisdn;\n try {\n const parsedPhoneNumber = parsePhoneNumber(currentMsisdn, { regionCode: userCountry.toUpperCase() });\n const nationalPhoneNumber = parsedPhoneNumber.number?.national || '';\n const internationalPhoneNumber = parsedPhoneNumber.number?.international || '';\n const bupperPhoneNumber = getBupperNumber(nationalPhoneNumber);\n const parsedPhoneNumberIsValid =\n userCountry.toLowerCase() === 'ci'\n ? parsedPhoneNumber.possible ||\n parsedPhoneNumber.typeIsMobile ||\n nationalPhoneNumber.length === 8 ||\n nationalPhoneNumber.length === 9\n : parsedPhoneNumber.valid;\n\n return {\n bupperPhoneNumber,\n nationalPhoneNumber,\n internationalPhoneNumber,\n isPhoneNumberValid: parsedPhoneNumberIsValid\n };\n } catch (error) {\n console.warn(error);\n return {\n bupperPhoneNumber: '',\n nationalPhoneNumber: '',\n internationalPhoneNumber: '',\n isPhoneNumberValid: false\n };\n }\n }\n\n const handleTooltipVisibility = () => {\n setIsTooltipVisible(!isTooltipVisible);\n setIsLabelVisible(!isLabelVisible);\n };\n\n return (\n <div\n className={`msisdn-wrapper ${isFocused ? focusAnimation : ''}`}\n data-attr=\"has-subscription-box\"\n onClick={handleTooltipVisibility}\n >\n {isTooltipVisible ? (\n <div className=\"label-msisdn tooltip\">\n {/* <formattedMessage\n id=\"msisdnLabelToolTip\"\n defaultMessage=\"Please insert your mobile number here\"\n /> */}\n {msisdnLabelToolTip}\n </div>\n ) : (\n <></>\n )}\n\n <div id=\"label-msisdn\" className=\"label-msisdn\">\n {/* <formattedMessage\n id=\"msisdnLabel\"\n defaultMessage=\"Enter your mobile number to start download now:\"\n /> */}\n {msisdnLabel}\n </div>\n\n <div\n className={cn(styles.phoneInputWrap, 'phone-input-wrap', {\n [styles.phoneInputWrapIconInput]: showIconInput,\n [styles.phoneInputWrapIconValid]: showIconValid && isValid && userInteract,\n [styles.phoneInputWrapIconInvalid]: showIconInvalid && !isValid && userInteract,\n // for custom css\n 'is-valid': isValid && userInteract,\n 'is-invalid': !isValid && userInteract\n })}\n data-msisdn={msisdn.replace(' ', '')}\n data-international-number={internationalNumber.replace('+', '').replace(' ', '')}\n >\n <input\n autoFocus\n required\n ref={inputElementRef}\n id={id || 'phone-input'}\n className={cn(styles.phoneInput, className, 'phone-input')}\n data-qa-id={dataQaId}\n type=\"tel\"\n placeholder={placeholder || 'Phone number'}\n value={formatMsisdn(msisdn)}\n pattern=\"[0-9]*\"\n inputMode=\"numeric\"\n minLength={minLength}\n autoComplete=\"tel\"\n onChange={(_ev: React.ChangeEvent<HTMLInputElement>) => {\n setUserInteract?.(true);\n\n const inputTargetValue = _ev.target.value;\n let newTargetValue = parseIncompletePhoneNumber(inputTargetValue);\n\n // Workaround for handling the Samsung Galaxy smart caret positioning bug\n if (newTargetValue === inputTargetValue && formatMsisdn(newTargetValue).startsWith(inputTargetValue)) {\n newTargetValue = newTargetValue.slice(0, -1);\n }\n\n // Requested by Aadam and partner for testing Luxembourg\n if (newTargetValue.includes('3522100000012340') && onChange) {\n onChange({\n isValid: true,\n msisdn: newTargetValue,\n nationalNumber: msisdn,\n internationalNumber: msisdn,\n bupperNumber: msisdn\n });\n setIsValid?.(true);\n return;\n }\n\n const { bupperPhoneNumber, internationalPhoneNumber, nationalPhoneNumber, isPhoneNumberValid } =\n parseMsisdn(newTargetValue);\n\n tracker?.customEvent('MSISDN-State', 'valid', 'MsisdnValid', { msisdn });\n setIsValid?.(isPhoneNumberValid);\n setMsisdn?.(_ev.currentTarget.value);\n setInternationalNumber?.(internationalPhoneNumber);\n\n if (onChange) {\n onChange({\n isValid: isPhoneNumberValid,\n msisdn: newTargetValue,\n bupperNumber: bupperPhoneNumber,\n nationalNumber: nationalPhoneNumber,\n internationalNumber: internationalPhoneNumber\n });\n }\n }}\n onKeyPress={(_ev: React.KeyboardEvent<HTMLInputElement>) => {\n handleKeyPress(_ev);\n\n if (!isMsisdnFilled && _ev.currentTarget.value.length >= minLength) {\n tracker?.customEvent('MSISDN-State', 'type', 'MsisdnType');\n setIsMsisdnFilled?.(true);\n }\n\n if (onKeyPress) {\n onKeyPress(_ev);\n }\n }}\n onPaste={(_ev: React.ClipboardEvent<HTMLInputElement>) => {\n if (!isMsisdnFilled && _ev.currentTarget.value.length >= minLength) {\n tracker?.customEvent('MSISDN-State', 'copypaste', 'MsisdnPasted');\n setIsMsisdnFilled?.(true);\n }\n\n if (onPaste) {\n onPaste(_ev);\n }\n }}\n onBlur={(_ev: React.FocusEvent<HTMLInputElement>) => {\n if (!isMsisdnFilled && _ev.currentTarget.value.length >= minLength) {\n tracker?.customEvent('MSISDN-State', 'autofill', 'AutoFill', { msisdn: _ev.target.value });\n setIsMsisdnFilled?.(true);\n }\n\n if (onBlur) {\n onBlur(_ev);\n }\n }}\n onFocus={(_ev: React.FocusEvent<HTMLInputElement>) => {\n if (onFocus) {\n onFocus(_ev);\n }\n }}\n />\n </div>\n </div>\n );\n};\n"],"names":["DIGITS","parsePhoneNumberCharacter","character","prevParsedCharacters","undefined","parseDigit","specialCountryCodes","s2","o2","a2","k2","c2","r2","l2","s3","b2","g2","a3","PhoneEntry","_a","tracker","country","msisdn","setMsisdn","internationalNumber","setInternationalNumber","isMsisdnFilled","setIsMsisdnFilled","inputElementRef","id","_c","className","_d","dataQaId","_e","minLength","placeholder","isValid","setIsValid","userInteract","setUserInteract","_f","showIconInput","_g","showIconValid","_h","showIconInvalid","onChange","onKeyPress","onPaste","onBlur","onFocus","_j","isFocused","_k","msisdnLabel","_l","msisdnLabelToolTip","_m","focusAnimation","userCountry","test","_o","__read","useState","isTooltipVisible","setIsTooltipVisible","_p","isLabelVisible","setIsLabelVisible","formatMsisdn","unformatMsisdn","asUserType","getAsYouType","addChar","number","React","onClick","createElement","cn","styles","_b","replace","autoFocus","required","ref","type","value","pattern","inputMode","autoComplete","_ev","inputTargetValue","target","newTargetValue","string","_iterator","_isArray","_i","result","split","Array","isArray","Symbol","iterator","_ref","length","next","done","parseIncompletePhoneNumber","startsWith","slice","includes","nationalNumber","bupperNumber","_msisdn","currentMsisdn","parseInt","toString","parsedPhoneNumber","parsePhoneNumber","regionCode","toUpperCase","nationalPhoneNumber","national","internationalPhoneNumber","international","bupperPhoneNumber","match","join","getBupperNumber","isPhoneNumberValid","toLowerCase","possible","typeIsMobile","valid","error","console","warn","parseMsisdn","customEvent","currentTarget","whichKey","key","preventDefault"],"mappings":"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"}
|
package/dist/PhoneEntryForm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__read as
|
|
1
|
+
import{__read as e}from"tslib";import n,{useState as t,useRef as o,useEffect as i}from"react";import{B as s}from"./Button-c7344930.js";import{D as l}from"./DynamicPricePoint-93657c75.js";import{M as a}from"./PhoneInput-be528d0c.js";import{T as c}from"./TermsAcceptanceCheck-c2d7119e.js";import"classnames";import"awesome-phonenumber";import"./ExtraDisclaimers-90e1ea2e.js";var r=function(r){var m=r.phoneInputRef,u=r.countryCode,d=r.msisdnPrefix,p=r.msisdn,f=r.locale,h=r.legals,b=r.setMsisdn,C=r.onChange,k=r.tracker,v=r.formattedMessage,g=r.toolTipLabel,E=r.renderTopContent,M=r.msisdnLabel,w=r.placeholder,S=r.buttonLabel,B=r.buttonLabel2,x=r.renderBottomContent,D=r.buttonDisabled,N=r.pageConfigs,T=r.msisdnLengthToValidate,y=void 0===T?5:T,I=r.onButtonClick,P=e(t(!1),2),F=P[0],j=P[1],L=e(n.useState(!1),2),V=L[0],A=L[1],Y=e(t(!1),2),R=Y[0],K=Y[1],O=e(t(!0),2),W=O[0],q=O[1],z=e(t(!1),2),G=z[0],H=z[1],J=e(t(p),2);J[0];var Q=J[1],U=o(null),X=e(t(!1),2),Z=X[0],$=X[1],_=e(t(!1),2),ee=_[0],ne=_[1];i((function(){p||b(d||""),p&&p.length>=y&&(j(!0),H(!0),K(!R))}),[d]);return n.createElement("label",{htmlFor:"phone-input"},E,R&&!F?n.createElement("div",{className:"label-msisdn tooltip"},g):n.createElement(n.Fragment,null),W?n.createElement("div",{id:"label-msisdn",className:"label-msisdn"},M):null,n.createElement("div",{className:"msisdn-wrapper ".concat(V&&!F?null==N?void 0:N.inputFocusAnimation:""),"data-attr":"has-subscription-box",onClick:function(){window.innerWidth<=640&&(null==N?void 0:N.hasTooltip)&&(K(!0),q(!1))}},n.createElement(a,{showFlag:!0,showMobileIcon:!0,showError:!1,tracker:k,inputElementRef:m||U,placeholder:w||"",msisdn:p,countryCode:u||"MY",onChange:function(e){b(e.msisdn),j(e.isValid),Q(e.internationalNumber),null==C||C(e),e.isValid&&(null==N?void 0:N.isCheckConsentCheckBoxOnValid)&&ne(!0)},onKeyPress:function(){!G&&p.length>=y&&H(!0)},onPaste:function(){G||H(!0),setTimeout((function(){null==k||k.customEvent("MSISDN-State","copypaste","MsisdnPasted",{msisdn:p})}),0)},onBlur:function(){!G&&p.length>=y&&(H(!0),null==k||k.customEvent("MSISDN-State","autofill","AutoFill",{msisdn:p}))},onFocus:function(){},onClickCheckMark:function(){},onClickErrorCheckMark:function(){}})),n.createElement(s,{id:"msisdn-submit-button",type:"submit",className:"btn",disabled:D||(null==N?void 0:N.isDisableButtonIfInvalid)&&!F,onClick:function(e){!function(e){if(!ee&&(null==N?void 0:N.isShowConsentCheckBox))return e.preventDefault(),void $(!0);$(!1),A((function(e){return!e})),I&&F&&I(e)}(e)}},S,B&&n.createElement("p",{className:"msisdn-secondary-label"},B)),n.createElement(l,{pageConfigs:N,formattedMessage:v}),(null==N?void 0:N.isShowConsentCheckBox)&&n.createElement(c,{checked:ee,locale:f||"en",legals:h,confirmText:"YES",showModal:Z,onCheckedChange:function(){ne(!ee)},onClickYes:function(e){ne(!0),$(!1),I(e)}}),x)};export{r as PhoneEntryForm};
|
|
2
2
|
//# sourceMappingURL=PhoneEntryForm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PhoneEntryForm.js","sources":["../src/PhoneEntryForm/PhoneEntryForm.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { Button } from '../Button/Button';\nimport PhoneInput from '../PhoneInput';\nimport { TermsAcceptanceCheck } from '../TermsAcceptanceCheck/TermsAcceptanceCheck';\nimport { IPhoneEntryFormProps } from './PhoneEntryForm.types';\n\nexport const PhoneEntryForm = (props: IPhoneEntryFormProps) => {\n const {\n phoneInputRef,\n countryCode,\n msisdnPrefix,\n msisdn,\n locale,\n legals,\n setMsisdn,\n onChange,\n tracker,\n
|
|
1
|
+
{"version":3,"file":"PhoneEntryForm.js","sources":["../src/PhoneEntryForm/PhoneEntryForm.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { Button } from '../Button/Button';\nimport { DynamicPricePoint } from '../DynamicPricePoint/DynamicPricePoint';\nimport PhoneInput from '../PhoneInput';\nimport { TermsAcceptanceCheck } from '../TermsAcceptanceCheck/TermsAcceptanceCheck';\nimport { IPhoneEntryFormProps } from './PhoneEntryForm.types';\n\nexport const PhoneEntryForm = (props: IPhoneEntryFormProps) => {\n const {\n phoneInputRef,\n countryCode,\n msisdnPrefix,\n msisdn,\n locale,\n legals,\n setMsisdn,\n onChange,\n tracker,\n formattedMessage,\n toolTipLabel,\n renderTopContent,\n msisdnLabel,\n placeholder,\n buttonLabel,\n buttonLabel2,\n renderBottomContent,\n buttonDisabled,\n pageConfigs,\n msisdnLengthToValidate = 5,\n onButtonClick\n } = props;\n\n const [isValid, setIsValid] = useState(false);\n const [isFocused, setIsFocused] = React.useState(false);\n const [isTooltipVisible, setIsTooltipVisible] = useState(false);\n const [isLabelVisible, setIsLabelVisible] = useState(true);\n const [isMsisdnFilled, setIsMsisdnFilled] = useState(false);\n const [internationalNumber, setInternationalNumber] = useState<string>(msisdn);\n const defaultInputRef = useRef<HTMLInputElement>(null);\n const [showModal, setShowModal] = useState<boolean>(false);\n const [checked, setChecked] = useState<boolean>(false);\n\n useEffect(() => {\n if (!msisdn) {\n setMsisdn(msisdnPrefix || '');\n }\n if (msisdn && msisdn.length >= msisdnLengthToValidate) {\n setIsValid(true);\n setIsMsisdnFilled(true);\n setIsTooltipVisible(!isTooltipVisible);\n }\n }, [msisdnPrefix]);\n\n const handleButtonClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n if (!checked && pageConfigs?.isShowConsentCheckBox) {\n e.preventDefault();\n setShowModal(true);\n return;\n }\n setShowModal(false);\n\n setIsFocused((prevState) => !prevState);\n if (onButtonClick && isValid) {\n onButtonClick(e);\n }\n };\n\n const handleTooltipVisibility = () => {\n if (window.innerWidth <= 640 && pageConfigs?.hasTooltip) {\n setIsTooltipVisible(true);\n setIsLabelVisible(false);\n }\n };\n\n return (\n <label htmlFor=\"phone-input\">\n {renderTopContent}\n {isTooltipVisible && !isValid ? <div className=\"label-msisdn tooltip\">{toolTipLabel}</div> : <></>}\n {isLabelVisible ? (\n <div id=\"label-msisdn\" className=\"label-msisdn\">\n {msisdnLabel}\n </div>\n ) : null}\n <div\n className={`msisdn-wrapper ${isFocused && !isValid ? pageConfigs?.inputFocusAnimation : ''}`}\n data-attr=\"has-subscription-box\"\n onClick={handleTooltipVisibility}\n >\n <PhoneInput\n showFlag\n showMobileIcon\n showError={false}\n tracker={tracker}\n inputElementRef={phoneInputRef || defaultInputRef}\n placeholder={placeholder || ''}\n msisdn={msisdn}\n countryCode={countryCode || 'MY'} // Assuming default country code is MY, can be made dynamic\n onChange={(ev: any) => {\n setMsisdn(ev.msisdn);\n setIsValid(ev.isValid);\n setInternationalNumber(ev.internationalNumber);\n onChange?.(ev);\n\n if (ev.isValid && pageConfigs?.isCheckConsentCheckBoxOnValid) {\n setChecked(true);\n }\n }}\n onKeyPress={() => {\n if (!isMsisdnFilled && msisdn.length >= msisdnLengthToValidate) {\n setIsMsisdnFilled(true);\n }\n }}\n onPaste={() => {\n if (!isMsisdnFilled) {\n setIsMsisdnFilled(true);\n }\n setTimeout(() => {\n tracker?.customEvent('MSISDN-State', 'copypaste', 'MsisdnPasted', {\n msisdn\n });\n }, 0);\n }}\n onBlur={() => {\n if (!isMsisdnFilled && msisdn.length >= msisdnLengthToValidate) {\n setIsMsisdnFilled(true);\n tracker?.customEvent('MSISDN-State', 'autofill', 'AutoFill', {\n msisdn\n });\n }\n }}\n onFocus={() => {\n // Handle focus event\n }}\n onClickCheckMark={() => {\n // Handle check mark click\n }}\n onClickErrorCheckMark={() => {\n // Handle error check mark click\n }}\n />\n </div>\n <Button\n id=\"msisdn-submit-button\"\n type=\"submit\"\n className=\"btn\"\n disabled={buttonDisabled || (pageConfigs?.isDisableButtonIfInvalid && !isValid)}\n onClick={(ev) => {\n handleButtonClick(ev);\n }}\n >\n {buttonLabel}\n {buttonLabel2 && <p className=\"msisdn-secondary-label\">{buttonLabel2}</p>}\n </Button>\n <DynamicPricePoint pageConfigs={pageConfigs} formattedMessage={formattedMessage} />\n {pageConfigs?.isShowConsentCheckBox && (\n <TermsAcceptanceCheck\n checked={checked}\n locale={locale || 'en'}\n legals={legals}\n confirmText=\"YES\"\n showModal={showModal}\n onCheckedChange={() => {\n setChecked(!checked);\n }}\n onClickYes={(e) => {\n setChecked(true);\n setShowModal(false);\n onButtonClick(e);\n }}\n />\n )}\n {renderBottomContent}\n </label>\n );\n};\n"],"names":["PhoneEntryForm","props","phoneInputRef","countryCode","msisdnPrefix","msisdn","locale","legals","setMsisdn","onChange","tracker","formattedMessage","toolTipLabel","renderTopContent","msisdnLabel","placeholder","buttonLabel","buttonLabel2","renderBottomContent","buttonDisabled","pageConfigs","_a","msisdnLengthToValidate","onButtonClick","_b","__read","useState","isValid","setIsValid","_c","React","isFocused","setIsFocused","_d","isTooltipVisible","setIsTooltipVisible","_e","isLabelVisible","setIsLabelVisible","_f","isMsisdnFilled","setIsMsisdnFilled","_g","setInternationalNumber","defaultInputRef","useRef","_h","showModal","setShowModal","_j","checked","setChecked","useEffect","length","createElement","htmlFor","className","Fragment","id","concat","inputFocusAnimation","onClick","window","innerWidth","hasTooltip","PhoneInput","showFlag","showMobileIcon","showError","inputElementRef","ev","internationalNumber","isCheckConsentCheckBoxOnValid","onKeyPress","onPaste","setTimeout","customEvent","onBlur","onFocus","onClickCheckMark","onClickErrorCheckMark","Button","type","disabled","isDisableButtonIfInvalid","e","isShowConsentCheckBox","preventDefault","prevState","handleButtonClick","DynamicPricePoint","TermsAcceptanceCheck","confirmText","onCheckedChange","onClickYes"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import{__rest as e,__read as n,__assign as o,__awaiter as t,__generator as r}from"tslib";import{getAsYouType as a,parsePhoneNumber as i}from"awesome-phonenumber";import*as l from"react";import u,{memo as c,useState as s,useRef as d,useEffect as m,useCallback as v}from"react";var f={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9","0":"0","1":"1","2":"2","3":"3","4":"4","5":"5","6":"6","7":"7","8":"8","9":"9","٠":"0","١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","۰":"0","۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9"};function p(e){return e.split("").reduce((function(e,n){var o=function(e,n){if("+"===e){if(n)return;return"+"}return function(e){return f[e]}(e)}(n,e);return o?e+o:e}),"")}var h=c((function(t){var r=t.value,i=t.onChange,l=t.onFocus,c=t.onBlur,f=t.country,h=t.inputComponent,g=void 0===h?"input":h,k=e(t,["value","onChange","onFocus","onBlur","country","inputComponent"]),b=n(s(r),2),w=b[0],C=b[1],y=d(null);m((function(){C(r)}),[r]);var N=v((function(e){var n=a(f);return n.addChar(e),n.number()}),[f]),E=v((function(e){var n=p(e.target.value);n===w&&N(n).startsWith(e.target.value)&&(n=n.slice(0,-1)),C(n),i(n)}),[w,N,i]),x=v((function(e){if(c){var n=o(o({},e),{target:o(o({},e.target),{value:w}),stopPropagation:e.stopPropagation,preventDefault:e.preventDefault});c(n)}}),[c,w]);return v((function(){var e;null===(e=y.current)||void 0===e||e.focus()}),[]),u.createElement(g,o({type:"tel",autoComplete:"tel"},k,{ref:y,value:N(w),onChange:E,onFocus:l,onBlur:x}))}));h.displayName="InputBasic";var g="checkmark-module_checkmarkCircle__eLYXC",k="checkmark-module_checkmarkIcon__MB66m",b="checkmark-module_checkmarkCheck__PU1bl";function w(e){var n=e.onClickCheckMark;return l.createElement("svg",{id:"success-check-mark",onClick:function(){return n()},className:k,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 52 52"},l.createElement("circle",{className:g,cx:"26",cy:"26",r:"25",fill:"none"}),l.createElement("path",{className:b,fill:"none",d:"M14.1 27.2l7.1 7.2 16.7-16.8"}))}function C(e,n,o){return{countryCode:e,commonPrefix:n,maxLength:o}}var y={mx:C("52","01",10),my:C("60","01",9),za:C("27","0",9),ae:C("971","05",10),a2:C("971","05",10),gr:C("30","69",9),g2:C("30","69",9),ee:C("372","",10),lt:C("370","6",9),ps:C("972","0",10),xx:C("","",10)};function N(e){var n=e.onClickErrorCheckMark;return l.createElement("svg",{id:"error-check-mark",onClick:function(){return n()},xmlns:"http://www.w3.org/2000/svg",className:"errormark__icon",viewBox:"0 0 90.27 90.27"},l.createElement("defs",null,l.createElement("style",{dangerouslySetInnerHTML:{__html:"\n svg {\n fill: red;\n }\n .circle-2 {\n fill: #bcbec4;\n }\n .x {\n opacity: 0.5;\n }\n .x-single {\n fill: #fff;\n }\n "}})),l.createElement("title",null,"icon-error"),l.createElement("circle",{className:"circle-2",cx:"45.14",cy:"45.14",r:"45.14"}),l.createElement("g",{className:"x"},l.createElement("rect",{className:"x-single",x:"21.77",y:"43.49",width:"46.74",height:"3.36",transform:"translate(-18.72 45.15) rotate(-45)"}),l.createElement("rect",{className:"x-single",x:"43.47",y:"21.81",width:"3.36",height:"46.74",transform:"translate(-18.72 45.16) rotate(-45)"})))}function E(e,n){var o,t,r=n.startsWith("0")?parseInt(n,10).toString():n;try{var a=i(r,{regionCode:e.toUpperCase()}),l=(null===(o=a.number)||void 0===o?void 0:o.national)||"",u=(null===(t=a.number)||void 0===t?void 0:t.international)||"",c=function(e){if(!e)return e;var n=e.match(/\d+/g);return n?n.join(""):e}(l),s=a.valid;return"ci"===e.toLowerCase()&&(s=a.possible||a.typeIsMobile||8===l.length||9===l.length),{nationalNumber:l,internationalNumber:u,bupperNumber:c,isValid:s,internationalPrefix:a.countryCode}}catch(e){return console.warn(e),{nationalNumber:"",internationalNumber:"",bupperNumber:"",isValid:!1}}}function x(e){return/\d/.test(e)}var _={s2:"sa",o2:"om",a2:"ae",k2:"kw",c2:"ch",r2:"rs",l2:"lv",s3:"se",b2:"bh",g2:"gr",a3:"at"};var M=function(e){var o,a,i,l,c=n(s(!1),2),d=c[0],v=c[1],f=n(s(!1),2),p=f[0],g=f[1],k=function(){var n=e.id,o=e.inputElementRef,t="#".concat(n||"phone-input"),r=document.querySelector(t);"undefined"!=typeof window&&r&&!r.hasAttribute("autofocus")&&r.setAttribute("autofocus",""),o.current&&setTimeout((function(){var e;null===(e=o.current)||void 0===e||e.focus()}),123)};m((function(){k();t(void 0,void 0,void 0,(function(){var n,o,t,a,i,l,u,c,s,d,m,f,p,h,g,k,b,w;return r(this,(function(r){switch(r.label){case 0:if("undefined"==typeof window||!(null==e?void 0:e.useNumberFromCookie)||!window.msisdnCookieUrl)return[3,6];C="_uuid",y=document.cookie.match("(^|;)\\s*".concat(C,"\\s*=\\s*([^;]+)")),n=y?decodeURIComponent(y.pop()||""):"",o=localStorage.getItem("_uuid"),t="",r.label=1;case 1:return r.trys.push([1,4,,5]),[4,fetch(window.msisdnCookieUrl,{mode:"cors",method:"GET",credentials:"include"})];case 2:return[4,r.sent().json()];case 3:return a=r.sent(),(null===(g=null==a?void 0:a.data)||void 0===g?void 0:g.success)&&(null===(k=null==a?void 0:a.data)||void 0===k?void 0:k._uuid)&&(t=null===(b=null==a?void 0:a.data)||void 0===b?void 0:b._uuid),[3,5];case 4:return i=r.sent(),console.error(null==i?void 0:i.message),[3,5];case 5:l=t||o||n||"",u=window.atob(l),(null==e?void 0:e.tracker)&&(c=t?"msisdnCookieUrl":o?"localStorage":n?"cookie":"none",null===(w=null==e?void 0:e.tracker)||void 0===w||w.customEvent("Flow","advance-auto","msisdn-retrieve-".concat(c),{source:c,msisdn:u})),u&&(s=x(null==e?void 0:e.countryCode)?_[null==e?void 0:e.countryCode]:null==e?void 0:e.countryCode,d=E(s,u),m=d.nationalNumber,f=d.internationalNumber,p=d.bupperNumber,h=d.isValid,null==e||e.onChange({msisdn:u,isValid:h,nationalNumber:m,internationalNumber:f,bupperNumber:p}),v(h),window.msisdn=u),r.label=6;case 6:return[2]}var C,y}))}))}),[]),m((function(){g(null==e?void 0:e.showError)}),[null==e?void 0:e.showError]);var b=h,C=x(null==e?void 0:e.countryCode)?_[null==e?void 0:e.countryCode]:null==e?void 0:e.countryCode,M=function(e){return y[e]||y.xx}(C),S=M.countryCode;M.commonPrefix,M.maxLength;var I=null!==(o=null==e?void 0:e.showCountryCode)&&void 0!==o&&o,P=null===(a=null==e?void 0:e.showFlag)||void 0===a||a,U=null===(i=null==e?void 0:e.showMobileIcon)||void 0===i||i,B=null!==(l=null==e?void 0:e.saveValidNumber)&&void 0!==l&&l;return u.createElement("div",{className:"phone-input"},U&&u.createElement("div",{className:"phone",onMouseDown:k,onTouchStart:k}),P&&u.createElement("div",{className:"flag",onMouseDown:k,onTouchStart:k,style:{backgroundImage:"url('https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.2.1/flags/4x3/".concat(C,".svg')")}}),I&&u.createElement("div",{className:"country-code",onMouseDown:k},"(",S,")"),u.createElement(b,{id:(null==e?void 0:e.id)||"phone-input",name:(null==e?void 0:e.name)||"phone-input-name",smartcaret:"undefined"==typeof navigator?"true":/SamsungBrowser/gi.test(navigator.userAgent)?"false":"true",ref:null==e?void 0:e.inputElementRef,placeholder:(null==e?void 0:e.placeholder)||"Enter phone number",country:C.toUpperCase(),className:"text-input",value:(null==e?void 0:e.msisdn)||"",onChange:function(n){if(g(!1),n.includes("3522100000012340"))return null==e||e.onChange({msisdn:n,isValid:!0,nationalNumber:n,internationalNumber:n,bupperNumber:n}),void v(!0);var o=E(C,n),a=o.nationalNumber,i=o.internationalNumber,l=o.bupperNumber,u=o.isValid;if(null==e||e.onChange({msisdn:n,isValid:u,nationalNumber:a,internationalNumber:i,bupperNumber:l}),v(u),"undefined"!=typeof window&&(window.msisdn=n,B&&u&&window.msisdnCookieUrl)){var c=window.btoa(n);!function(e,n,o,t){void 0===t&&(t="/");var r="".concat(e,"=").concat(encodeURIComponent(n));if(o){var a=new Date;a.setTime(a.getTime()+24*o*60*60*1e3),r+="; expires=".concat(a.toUTCString())}r+="; path=".concat(t),document.cookie=r}("_uuid",c,30,"/"),localStorage.setItem("_uuid",c),t(void 0,void 0,void 0,(function(){var n,o,t,a;return r(this,(function(r){switch(r.label){case 0:return r.trys.push([0,3,,4]),[4,fetch(window.msisdnCookieUrl,{mode:"cors",method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({_uuid:c})})];case 1:return[4,r.sent().json()];case 2:return n=r.sent(),(null==e?void 0:e.tracker)&&(o=(null===(a=null==n?void 0:n.data)||void 0===a?void 0:a.success)?"msisdn-stored-success":"msisdn-stored-failed",null==e||e.tracker.customEvent("Flow","advance-auto",o)),[3,4];case 3:return t=r.sent(),null==e||e.tracker.customEvent("Flow","advance-auto","msisdn-stored-error",t),[3,4];case 4:return[2]}}))}))}},onPaste:null==e?void 0:e.onPaste,onBlur:null==e?void 0:e.onBlur,onFocus:null==e?void 0:e.onFocus,onKeyPress:null==e?void 0:e.onKeyPress,maxLength:null==e?void 0:e.maxLength}),u.createElement("div",{className:"checkmark-container","data-checkmark-container":"true"},p?u.createElement(N,{onClickErrorCheckMark:null==e?void 0:e.onClickErrorCheckMark}):d?u.createElement(w,{onClickCheckMark:null==e?void 0:e.onClickCheckMark}):null))};export{M};
|
|
2
|
-
//# sourceMappingURL=PhoneInput-
|
|
2
|
+
//# sourceMappingURL=PhoneInput-92e4554a.js.map
|