ouisys-component-library 3.4.18 → 3.4.19

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.
Files changed (138) hide show
  1. package/dist/AcceptanceCheckbox.js +1 -1
  2. package/dist/AcceptanceCheckbox.js.map +1 -1
  3. package/dist/{Button-e78746b1.js → Button-0fd3000e.js} +1 -1
  4. package/dist/{Button-e78746b1.js.map → Button-0fd3000e.js.map} +1 -1
  5. package/dist/Button.js +1 -1
  6. package/dist/{ChainRedirect-1c0f3d81.js → ChainRedirect-a185bf92.js} +1 -1
  7. package/dist/{ChainRedirect-1c0f3d81.js.map → ChainRedirect-a185bf92.js.map} +1 -1
  8. package/dist/ChainRedirect.js +1 -1
  9. package/dist/{ConsentAcceptanceCheck-6182f262.js → ConsentAcceptanceCheck-ec1176a8.js} +2 -2
  10. package/dist/{ConsentAcceptanceCheck-6182f262.js.map → ConsentAcceptanceCheck-ec1176a8.js.map} +1 -1
  11. package/dist/ConsentAcceptanceCheck.js +1 -1
  12. package/dist/{CookieConsent-ead7bbc7.js → CookieConsent-a40c1ce5.js} +1 -1
  13. package/dist/{CookieConsent-ead7bbc7.js.map → CookieConsent-a40c1ce5.js.map} +1 -1
  14. package/dist/CookieConsent.js +1 -1
  15. package/dist/{DynamicPricePoint-fca58da7.js → DynamicPricePoint-034b9633.js} +1 -1
  16. package/dist/{DynamicPricePoint-fca58da7.js.map → DynamicPricePoint-034b9633.js.map} +1 -1
  17. package/dist/DynamicPricePoint.js +1 -1
  18. package/dist/Email.js +1 -1
  19. package/dist/{ExtraDisclaimers-f606555c.js → ExtraDisclaimers-cdf5a1da.js} +1 -1
  20. package/dist/{ExtraDisclaimers-f606555c.js.map → ExtraDisclaimers-cdf5a1da.js.map} +1 -1
  21. package/dist/ExtraDisclaimers.js +1 -1
  22. package/dist/{Features-ab4a66b3.js → Features-02940857.js} +2 -2
  23. package/dist/Features-02940857.js.map +1 -0
  24. package/dist/Features.js +1 -1
  25. package/dist/{Footer-d2996899.js → Footer-15cc2cb4.js} +2 -2
  26. package/dist/{Footer-d2996899.js.map → Footer-15cc2cb4.js.map} +1 -1
  27. package/dist/Footer.js +1 -1
  28. package/dist/Header.js +1 -1
  29. package/dist/{Intl-7eff2da6.js → Intl-8f8a52a2.js} +1 -1
  30. package/dist/{Intl-7eff2da6.js.map → Intl-8f8a52a2.js.map} +1 -1
  31. package/dist/IntlProvider.js +1 -1
  32. package/dist/{LanguageSwitcher-3332ee39.js → LanguageSwitcher-7d4bd554.js} +1 -1
  33. package/dist/{LanguageSwitcher-3332ee39.js.map → LanguageSwitcher-7d4bd554.js.map} +1 -1
  34. package/dist/LanguageSwitcher.js +1 -1
  35. package/dist/{Link-388c53bc.js → Link-7068aeb7.js} +1 -1
  36. package/dist/{Link-388c53bc.js.map → Link-7068aeb7.js.map} +1 -1
  37. package/dist/Link.js +1 -1
  38. package/dist/MOForm.js +1 -1
  39. package/dist/{MOLink-987e4c22.js → MOLink-907f27a7.js} +1 -1
  40. package/dist/{MOLink-987e4c22.js.map → MOLink-907f27a7.js.map} +1 -1
  41. package/dist/MOLink.js +1 -1
  42. package/dist/{Menu-b7e89cba.js → Menu-930d3684.js} +2 -2
  43. package/dist/{Menu-b7e89cba.js.map → Menu-930d3684.js.map} +1 -1
  44. package/dist/Menu.js +1 -1
  45. package/dist/{PageConfig-34d6e86f.js → PageConfig-ed95264a.js} +1 -1
  46. package/dist/{PageConfig-34d6e86f.js.map → PageConfig-ed95264a.js.map} +1 -1
  47. package/dist/PageConfig.js +1 -1
  48. package/dist/PageContent.js +1 -1
  49. package/dist/PhoneEntryForm.js +1 -1
  50. package/dist/PhoneEntryForm.js.map +1 -1
  51. package/dist/{PhoneInput-858051b8.js → PhoneInput-b014cba1.js} +1 -1
  52. package/dist/{PhoneInput-858051b8.js.map → PhoneInput-b014cba1.js.map} +1 -1
  53. package/dist/PhoneInput.js +1 -1
  54. package/dist/PinEntryForm.js +1 -1
  55. package/dist/{PricePoint-1cb79580.js → PricePoint-ebe1e6a0.js} +1 -1
  56. package/dist/{PricePoint-1cb79580.js.map → PricePoint-ebe1e6a0.js.map} +1 -1
  57. package/dist/PricePoint.js +1 -1
  58. package/dist/{PricingPolicy-5c8da35c.js → PricingPolicy-6ed0306f.js} +2 -2
  59. package/dist/PricingPolicy-6ed0306f.js.map +1 -0
  60. package/dist/PricingPolicy.js +1 -1
  61. package/dist/ProductArea.js +1 -1
  62. package/dist/{RefundPolicy-c968ed19.js → RefundPolicy-e2f40ddf.js} +2 -2
  63. package/dist/RefundPolicy-e2f40ddf.js.map +1 -0
  64. package/dist/RefundPolicy.js +1 -1
  65. package/dist/RootWrapper.js +1 -1
  66. package/dist/Showcase-3835fcd2.js +2 -0
  67. package/dist/Showcase-3835fcd2.js.map +1 -0
  68. package/dist/Showcase.js +1 -1
  69. package/dist/{Testimonials-39f76800.js → Testimonials-c9769e39.js} +1 -1
  70. package/dist/{Testimonials-39f76800.js.map → Testimonials-c9769e39.js.map} +1 -1
  71. package/dist/Testimonials.js +1 -1
  72. package/dist/ThankYou.js +1 -1
  73. package/dist/Translate.js +1 -1
  74. package/dist/{Unsubscription-c84203dd.js → Unsubscription-9797b1f9.js} +2 -2
  75. package/dist/Unsubscription-9797b1f9.js.map +1 -0
  76. package/dist/Unsubscription.js +1 -1
  77. package/dist/VideoPrelander.js +1 -1
  78. package/dist/defineMessages.js +1 -1
  79. package/dist/{focus-30944274.js → focus-4d02ec48.js} +1 -1
  80. package/dist/{focus-30944274.js.map → focus-4d02ec48.js.map} +1 -1
  81. package/dist/formatSMSLink.js +1 -1
  82. package/dist/injectIntl.js +1 -1
  83. package/dist/{routes-a99f287f.js → routes-06fe9f32.js} +2 -2
  84. package/dist/routes-06fe9f32.js.map +1 -0
  85. package/dist/styles.css +1 -1
  86. package/dist/styles.css.map +1 -1
  87. package/dist/types/AcceptanceCheckbox/AcceptanceCheckbox.d.ts +2 -1
  88. package/dist/types/Button/Button.d.ts +2 -1
  89. package/dist/types/ChainRedirect/ChainRedirect.d.ts +2 -1
  90. package/dist/types/CookieConsent/CookieConsent.d.ts +2 -1
  91. package/dist/types/Disclaimers/Disclaimers.d.ts +2 -1
  92. package/dist/types/Email/Email.d.ts +3 -1
  93. package/dist/types/Error/Error.d.ts +2 -1
  94. package/dist/types/ExtraDisclaimers/ExtraDisclaimers.d.ts +2 -1
  95. package/dist/types/Features/Features.d.ts +2 -1
  96. package/dist/types/Footer/Footer.d.ts +3 -1
  97. package/dist/types/Footer/locale/index.d.ts +0 -7
  98. package/dist/types/Header/Header.d.ts +2 -1
  99. package/dist/types/Input/Input.d.ts +2 -1
  100. package/dist/types/Intl/Intl.d.ts +2 -2
  101. package/dist/types/LanguageSwitcher/LanguageSwitcher.d.ts +2 -1
  102. package/dist/types/Link/Link.d.ts +2 -1
  103. package/dist/types/Loader/Loader.d.ts +2 -1
  104. package/dist/types/MOForm/MOForm.d.ts +2 -1
  105. package/dist/types/Menu/Menu.d.ts +2 -1
  106. package/dist/types/PINEntry/PINEntry.d.ts +2 -1
  107. package/dist/types/PageContent/PageContent.d.ts +2 -1
  108. package/dist/types/Persuasive/Persuasive.d.ts +2 -1
  109. package/dist/types/PhoneEntry/PhoneEntry.d.ts +2 -1
  110. package/dist/types/PhoneEntryForm/PhoneEntryForm.d.ts +2 -1
  111. package/dist/types/PhoneEntryForm/PhoneEntryForm.types.d.ts +1 -0
  112. package/dist/types/PinEntryForm/PinEntryForm.d.ts +2 -1
  113. package/dist/types/Prelanders/LoadingPrelander/LoadingPrelander.d.ts +2 -1
  114. package/dist/types/Prelanders/LovePrelander/LovePrelander.d.ts +2 -1
  115. package/dist/types/Prelanders/Prelander/Prelander.d.ts +2 -1
  116. package/dist/types/PricePoint/PricePoint.d.ts +2 -1
  117. package/dist/types/PricingPolicy/PricingPolicy.d.ts +2 -1
  118. package/dist/types/ProductArea/ProductArea.d.ts +2 -1
  119. package/dist/types/RefundPolicy/RefundPolicy.d.ts +3 -1
  120. package/dist/types/RefundPolicy/locale/index.d.ts +0 -13
  121. package/dist/types/RootWrapper/RootWrapper.d.ts +2 -1
  122. package/dist/types/Select/Select.d.ts +2 -1
  123. package/dist/types/Showcase/Showcase.d.ts +2 -1
  124. package/dist/types/Steps/Steps.d.ts +2 -1
  125. package/dist/types/SubscriptionArea/SubscriptionArea.d.ts +2 -1
  126. package/dist/types/SuspenseLoader/SuspenseLoader.d.ts +2 -1
  127. package/dist/types/Testimonials/Testimonials.d.ts +2 -1
  128. package/dist/types/ThankYou/ThankYou.d.ts +2 -1
  129. package/dist/types/TopLegals/TopLegals.d.ts +2 -1
  130. package/dist/types/Unsubscription/Unsubscription.d.ts +3 -1
  131. package/package.json +2 -2
  132. package/dist/Features-ab4a66b3.js.map +0 -1
  133. package/dist/PricingPolicy-5c8da35c.js.map +0 -1
  134. package/dist/RefundPolicy-c968ed19.js.map +0 -1
  135. package/dist/Showcase-7decf0e3.js +0 -2
  136. package/dist/Showcase-7decf0e3.js.map +0 -1
  137. package/dist/Unsubscription-c84203dd.js.map +0 -1
  138. package/dist/routes-a99f287f.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"PageConfig-34d6e86f.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
+ {"version":3,"file":"PageConfig-ed95264a.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
- export{P as PageConfig}from"./PageConfig-34d6e86f.js";import"tslib";import"react";
1
+ export{P as PageConfig}from"./PageConfig-ed95264a.js";import"tslib";import"react";
2
2
  //# sourceMappingURL=PageConfig.js.map
@@ -1,2 +1,2 @@
1
- import o from"react";import{C as e}from"./CookieConsent-ead7bbc7.js";import{F as l}from"./Features-ab4a66b3.js";import{F as i}from"./Footer-d2996899.js";import{P as n}from"./PricingPolicy-5c8da35c.js";import{R as a}from"./RefundPolicy-c968ed19.js";import{S as t}from"./Showcase-7decf0e3.js";import{T as r}from"./Testimonials-39f76800.js";import{U as s}from"./Unsubscription-c84203dd.js";import"tslib";import"classnames";import"./Intl-7eff2da6.js";import"./routes-a99f287f.js";var d=function(d){var c,v,u,m,p,f,w,g,h,b,C,S=d.pageConfigs,j=d.locale,y=void 0===j?"en":j,E=d.legals,U=d.tracker,k=d.onConsentUpdate;return(S||{}).scrollToSub,o.createElement("div",{className:"page-content"},o.createElement("div",null,(null==S?void 0:S.isShowWhyChooseUs)&&o.createElement(l,{type:null==S?void 0:S.contentCategory,locale:y,tracker:U,domain:null===(c=null===window||void 0===window?void 0:window.location)||void 0===c?void 0:c.origin,headline:""}),(null==S?void 0:S.isShowShowCase)&&o.createElement(t,{tracker:U,locale:y,type:null==S?void 0:S.contentCategory,domain:null===(v=null===window||void 0===window?void 0:window.location)||void 0===v?void 0:v.origin}),(null==S?void 0:S.isShowPricingTable)&&o.createElement(n,{hideSections:!0,priceUnit:(null==S?void 0:S.isNewLegal)?null===(p=null===(m=null===(u=null==S?void 0:S.legalVariables)||void 0===u?void 0:u.operators)||void 0===m?void 0:m[0])||void 0===p?void 0:p.frequency:null==E?void 0:E.price_point,priceValue:(null==S?void 0:S.isNewLegal)?"".concat(null===(g=null===(w=null===(f=null==S?void 0:S.legalVariables)||void 0===f?void 0:f.operators)||void 0===w?void 0:w[0])||void 0===g?void 0:g.currency," ").concat(null===(C=null===(b=null===(h=null==S?void 0:S.legalVariables)||void 0===h?void 0:h.operators)||void 0===b?void 0:b[0])||void 0===C?void 0:C.amount):"",locale:y}),(null==S?void 0:S.isShowRefundPolicy)&&o.createElement(a,{locale:y,pageConfigs:S}),(null==S?void 0:S.isShowUnsubscription)&&o.createElement(s,{locale:y}),(null==S?void 0:S.isShowTestimonials)&&o.createElement(r,{locale:y})),(null==S?void 0:S.isShowAboutUs)&&o.createElement(i,{tracker:U,locale:y,pageConfigs:S,className:"footer"}),(null==S?void 0:S.isShowConsentCookie)&&o.createElement(e,{tracker:U,hasMoreOptions:!0,onUpdate:function(o){k&&k(o)},locale:y}))};export{d as PageContent};
1
+ import o from"react";import{C as e}from"./CookieConsent-a40c1ce5.js";import{F as l}from"./Features-02940857.js";import{F as i}from"./Footer-15cc2cb4.js";import{P as n}from"./PricingPolicy-6ed0306f.js";import{R as a}from"./RefundPolicy-e2f40ddf.js";import{S as t}from"./Showcase-3835fcd2.js";import{T as r}from"./Testimonials-c9769e39.js";import{U as s}from"./Unsubscription-9797b1f9.js";import"tslib";import"classnames";import"./Intl-8f8a52a2.js";import"./routes-06fe9f32.js";var d=function(d){var c,v,u,m,p,f,w,g,h,C,S,b=d.pageConfigs,j=d.locale,y=void 0===j?"en":j,E=d.legals,U=d.tracker,k=d.onConsentUpdate;return(b||{}).scrollToSub,o.createElement("div",{className:"page-content"},o.createElement("div",null,(null==b?void 0:b.isShowWhyChooseUs)&&o.createElement(l,{type:null==b?void 0:b.contentCategory,locale:y,tracker:U,domain:null===(c=null===window||void 0===window?void 0:window.location)||void 0===c?void 0:c.origin,headline:""}),(null==b?void 0:b.isShowShowCase)&&o.createElement(t,{tracker:U,locale:y,type:null==b?void 0:b.contentCategory,domain:null===(v=null===window||void 0===window?void 0:window.location)||void 0===v?void 0:v.origin}),(null==b?void 0:b.isShowPricingTable)&&o.createElement(n,{hideSections:!0,priceUnit:(null==b?void 0:b.isNewLegal)?null===(p=null===(m=null===(u=null==b?void 0:b.legalVariables)||void 0===u?void 0:u.operators)||void 0===m?void 0:m[0])||void 0===p?void 0:p.frequency:null==E?void 0:E.price_point,priceValue:(null==b?void 0:b.isNewLegal)?"".concat(null===(g=null===(w=null===(f=null==b?void 0:b.legalVariables)||void 0===f?void 0:f.operators)||void 0===w?void 0:w[0])||void 0===g?void 0:g.currency," ").concat(null===(S=null===(C=null===(h=null==b?void 0:b.legalVariables)||void 0===h?void 0:h.operators)||void 0===C?void 0:C[0])||void 0===S?void 0:S.amount):"",locale:y}),(null==b?void 0:b.isShowRefundPolicy)&&o.createElement(a,{locale:y,pageConfigs:b}),(null==b?void 0:b.isShowUnsubscription)&&o.createElement(s,{locale:y}),(null==b?void 0:b.isShowTestimonials)&&o.createElement(r,{locale:y})),(null==b?void 0:b.isShowAboutUs)&&o.createElement(i,{tracker:U,locale:y,pageConfigs:b,className:"footer"}),(null==b?void 0:b.isShowConsentCookie)&&o.createElement(e,{tracker:U,hasMoreOptions:!0,onUpdate:function(o){k&&k(o)},locale:y}))};export{d as PageContent};
2
2
  //# sourceMappingURL=PageContent.js.map
@@ -1,2 +1,2 @@
1
- import{__read as n,__awaiter as e,__generator as t}from"tslib";import o,{useState as i,useRef as s,useEffect as l}from"react";import{B as a}from"./Button-e78746b1.js";import{C as r}from"./ConsentAcceptanceCheck-6182f262.js";import{D as c}from"./DynamicPricePoint-fca58da7.js";import{M as u}from"./PhoneInput-858051b8.js";import{P as d}from"./PricePoint-1cb79580.js";import"classnames";import"./ExtraDisclaimers-f606555c.js";import"awesome-phonenumber";var m=function(m){var f=m.rds,C=m.phoneInputRef,h=m.countryCode,p=m.msisdnPrefix,v=m.msisdn,b=m.locale,g=m.legals,k=m.buttonId,E=m.setMsisdn,w=m.onChange,M=m.tracker,S=m.formattedMessage,N=m.toolTipLabel,B=m.renderTopContent,D=m.msisdnLabel,y=m.placeholder,P=m.buttonLabel,x=m.buttonLabel2,F=m.buttonTopComponent,I=m.buttonBottomComponent,T=m.renderBottomContent,j=m.buttonDisabled,A=m.pageConfigs,L=m.customConsentMessage,R=m.msisdnLengthToValidate,V=void 0===R?5:R,Y=m.onButtonClick,O=m.buttonAreaId,W=void 0===O?"button-area":O,K=m.buttonAreaClassName,q=void 0===K?"dcbp":K,z=m.consentChecked,G=m.onConsentCheckedChange,H=n(i(!1),2),J=H[0],Q=H[1],U=n(o.useState(!1),2),X=U[0],Z=U[1],$=n(i(!1),2),_=$[0],nn=$[1],en=n(i(!0),2),tn=en[0],on=en[1],sn=n(i(!1),2),ln=sn[0],an=sn[1],rn=n(i(v),2);rn[0];var cn=rn[1],un=s(null),dn=n(i(!1),2),mn=dn[0],fn=dn[1],Cn=n(i((null==A?void 0:A.isConsentCheckByDefault)||!1),2),hn=Cn[0],pn=Cn[1],vn=void 0!==z?z:hn,bn=function(n){pn(n),null==G||G(n)},gn=n(i(!1),2),kn=gn[0],En=gn[1];l((function(){v||(null==A?void 0:A.hasCountryCode)||E(p||""),v&&v.length>=V&&(Q(!0),an(!0),nn(!0))}),[p,null==A?void 0:A.hasCountryCode,V]),l((function(){vn&&En(!1)}),[vn]),l((function(){(null==f?void 0:f.RDS)&&(null==f?void 0:f.rds)&&f.RDS.WhenFailure(null,(function(){vn&&bn(!vn)}))(f.rds)}),[f]),l((function(){if(null==A?void 0:A.isMsisdnPx){var n=!1;return setTimeout((function(){return e(void 0,void 0,void 0,(function(){var e,o;return t(this,(function(t){switch(t.label){case 0:return[4,null===(o=null===window||void 0===window?void 0:window.OuisysStorage)||void 0===o?void 0:o.get("msisdn")];case 1:return e=t.sent()||"",n||!e?[2]:(E(e),cn(e),an(!0),Q(!0),null==M||M.customEvent("MSISDN-State","filled","MsisdnAutoFilled",{msisdn:e}),[2])}}))}))}),500),function(){n=!0}}}),[]);var wn=function(n,e){if(!vn&&!e&&(null==A?void 0:A.isShowConsentCheckBox))return n.preventDefault(),fn(!0),void En(!0);(null==A?void 0:A.isShowConsentCheckBox)&&(null==M||M.customEvent("Flow","advance","consentForm-accepted"),En(!1),fn(!1)),Z((function(n){return!n})),Y&&J&&Y(n)};return o.createElement("label",{htmlFor:"phone-input"},B,_&&!J?o.createElement("div",{className:"label-msisdn tooltip"},N):o.createElement(o.Fragment,null),tn?o.createElement("div",{id:"label-msisdn",className:"label-msisdn"},D):null,o.createElement("div",{className:"msisdn-wrapper ".concat(X&&!J?null==A?void 0:A.inputFocusAnimation:""),"data-attr":"has-subscription-box",onClick:function(){window.innerWidth<=640&&(null==A?void 0:A.hasTooltip)&&(nn(!0),on(!1))}},o.createElement(u,{showFlag:!0,showMobileIcon:!0,showError:!1,tracker:M,inputElementRef:C||un,placeholder:y||"",msisdn:v,countryCode:h||"MY",onChange:function(n){E(n.msisdn),Q(n.isValid),cn(n.internationalNumber),null==w||w(n),n.isValid&&(null==A?void 0:A.isCheckConsentCheckBoxOnValid)&&bn(!0)},onKeyPress:function(){!ln&&v&&v.length>=V&&an(!0)},onPaste:function(){ln||an(!0),setTimeout((function(){null==M||M.customEvent("MSISDN-State","copypaste","MsisdnPasted",{msisdn:v})}),0)},onBlur:function(){!ln&&v&&v.length>=V&&(an(!0),null==M||M.customEvent("MSISDN-State","autofill","AutoFill",{msisdn:v}))},onFocus:function(){},onClickCheckMark:function(){},onClickErrorCheckMark:function(){}})),F,o.createElement("div",{id:W,className:q},o.createElement(a,{type:"submit",className:"btn",id:k||"msisdn-submit-button",disabled:j||(null==A?void 0:A.isDisableButtonIfInvalid)&&!J,onClick:function(n){wn(n)}},P,x&&o.createElement("p",{className:"msisdn-secondary-label"},x))),I,(null==A?void 0:A.isNewLegal)?o.createElement(c,{pageConfigs:A,formattedMessage:S}):o.createElement(d,{className:"price-point",legals:g||[],locale:b||"en"}),(null==A?void 0:A.isShowConsentCheckBox)&&o.createElement(r,{tracker:M,checked:vn,locale:b||"en",legals:g,confirmText:"YES",pageConfigs:A,showErrorMessage:kn,customConsentMessage:L,showModal:mn,formattedMessage:S,onCheckedChange:function(){bn(!vn)},onClickYes:function(n){bn(!0),wn(n,!0)}}),T)};export{m as PhoneEntryForm};
1
+ import{__read as e,__awaiter as n,__generator as t}from"tslib";import o,{useState as i,useRef as s,useEffect as l}from"react";import{B as a}from"./Button-0fd3000e.js";import{C as r}from"./ConsentAcceptanceCheck-ec1176a8.js";import{D as c}from"./DynamicPricePoint-034b9633.js";import{M as u}from"./PhoneInput-b014cba1.js";import{P as d}from"./PricePoint-ebe1e6a0.js";import"classnames";import"./ExtraDisclaimers-cdf5a1da.js";import"awesome-phonenumber";var m=function(m){var f=m.rds,C=m.phoneInputRef,h=m.countryCode,p=m.msisdnPrefix,v=m.msisdn,b=m.locale,g=m.legals,k=m.buttonId,E=m.setMsisdn,w=m.onChange,M=m.tracker,S=m.formattedMessage,N=m.toolTipLabel,B=m.renderTopContent,D=m.msisdnLabel,y=m.placeholder,F=m.buttonLabel,P=m.buttonLabel2,x=m.buttonTopComponent,I=m.buttonBottomComponent,T=m.renderBottomContent,j=m.buttonDisabled,A=m.pageConfigs,L=m.customConsentMessage,R=m.msisdnLengthToValidate,V=void 0===R?5:R,Y=m.onButtonClick,O=m.buttonAreaId,W=void 0===O?"button-area":O,H=m.buttonAreaClassName,K=void 0===H?"dcbp":H,q=m.consentChecked,z=m.onConsentCheckedChange,G=m.isHeaderEnrichmentSuccess,J=e(i(!1),2),Q=J[0],U=J[1],X=e(o.useState(!1),2),Z=X[0],$=X[1],_=e(i(!1),2),ee=_[0],ne=_[1],te=e(i(!0),2),oe=te[0],ie=te[1],se=e(i(!1),2),le=se[0],ae=se[1],re=e(i(v),2);re[0];var ce=re[1],ue=s(null),de=e(i(!1),2),me=de[0],fe=de[1],Ce=e(i((null==A?void 0:A.isConsentCheckByDefault)||!1),2),he=Ce[0],pe=Ce[1],ve=void 0!==q?q:he,be=function(e){pe(e),null==z||z(e)},ge=e(i(!1),2),ke=ge[0],Ee=ge[1];l((function(){v||(null==A?void 0:A.hasCountryCode)||E(p||""),v&&v.length>=V&&(U(!0),ae(!0),ne(!0))}),[p,null==A?void 0:A.hasCountryCode,V]),l((function(){ve&&Ee(!1)}),[ve]),l((function(){(null==f?void 0:f.RDS)&&(null==f?void 0:f.rds)&&f.RDS.WhenFailure(null,(function(){ve&&be(!ve)}))(f.rds)}),[f]),l((function(){if(null==A?void 0:A.isMsisdnPx){var e=!1;return setTimeout((function(){return n(void 0,void 0,void 0,(function(){var n,o;return t(this,(function(t){switch(t.label){case 0:return[4,null===(o=null===window||void 0===window?void 0:window.OuisysStorage)||void 0===o?void 0:o.get("msisdn")];case 1:return n=t.sent()||"",e||!n?[2]:(E(n),ce(n),ae(!0),U(!0),null==M||M.customEvent("MSISDN-State","filled","MsisdnAutoFilled",{msisdn:n}),[2])}}))}))}),500),function(){e=!0}}}),[]);var we=function(e,n){if(!ve&&!n&&(null==A?void 0:A.isShowConsentCheckBox))return e.preventDefault(),fe(!0),void Ee(!0);(null==A?void 0:A.isShowConsentCheckBox)&&(null==M||M.customEvent("Flow","advance","consentForm-accepted"),Ee(!1),fe(!1)),$((function(e){return!e})),Y&&(Q||G)&&Y(e)};return o.createElement("label",{htmlFor:"phone-input"},B,!G&&o.createElement(o.Fragment,null,ee&&!Q?o.createElement("div",{className:"label-msisdn tooltip"},N):o.createElement(o.Fragment,null),oe?o.createElement("div",{id:"label-msisdn",className:"label-msisdn"},D):null,o.createElement("div",{className:"msisdn-wrapper ".concat(Z&&!Q?null==A?void 0:A.inputFocusAnimation:""),"data-attr":"has-subscription-box",onClick:function(){window.innerWidth<=640&&(null==A?void 0:A.hasTooltip)&&(ne(!0),ie(!1))}},o.createElement(u,{showFlag:!0,showMobileIcon:!0,showError:!1,tracker:M,inputElementRef:C||ue,placeholder:y||"",msisdn:v,countryCode:h||"MY",onChange:function(e){E(e.msisdn),U(e.isValid),ce(e.internationalNumber),null==w||w(e),e.isValid&&(null==A?void 0:A.isCheckConsentCheckBoxOnValid)&&be(!0)},onKeyPress:function(){!le&&v&&v.length>=V&&ae(!0)},onPaste:function(){le||ae(!0),setTimeout((function(){null==M||M.customEvent("MSISDN-State","copypaste","MsisdnPasted",{msisdn:v})}),0)},onBlur:function(){!le&&v&&v.length>=V&&(ae(!0),null==M||M.customEvent("MSISDN-State","autofill","AutoFill",{msisdn:v}))},onFocus:function(){},onClickCheckMark:function(){},onClickErrorCheckMark:function(){}}))),x,o.createElement("div",{id:W,className:K},o.createElement(a,{type:"submit",className:"btn",id:k||"msisdn-submit-button",disabled:j||(null==A?void 0:A.isDisableButtonIfInvalid)&&!Q&&!G,onClick:function(e){we(e)}},F,P&&o.createElement("p",{className:"msisdn-secondary-label"},P))),I,(null==A?void 0:A.isNewLegal)?o.createElement(c,{pageConfigs:A,formattedMessage:S}):o.createElement(d,{className:"price-point",legals:g||[],locale:b||"en"}),(null==A?void 0:A.isShowConsentCheckBox)&&o.createElement(r,{tracker:M,checked:ve,locale:b||"en",legals:g,confirmText:"YES",pageConfigs:A,showErrorMessage:ke,customConsentMessage:L,showModal:me,formattedMessage:S,onCheckedChange:function(){be(!ve)},onClickYes:function(e){be(!0),we(e,!0)}}),T)};export{m 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 { ConsentAcceptanceCheck } from '../ConsentAcceptanceCheck/ConsentAcceptanceCheck';\nimport { DynamicPricePoint } from '../DynamicPricePoint/DynamicPricePoint';\nimport PhoneInput from '../PhoneInput';\nimport { PricePoint } from '../PricePoint/PricePoint';\nimport { IPhoneEntryFormProps } from './PhoneEntryForm.types';\n\nexport const PhoneEntryForm = (props: IPhoneEntryFormProps) => {\n const {\n rds,\n phoneInputRef,\n countryCode,\n msisdnPrefix,\n msisdn,\n locale,\n legals,\n buttonId,\n setMsisdn,\n onChange,\n tracker,\n formattedMessage,\n toolTipLabel,\n renderTopContent,\n msisdnLabel,\n placeholder,\n buttonLabel,\n buttonLabel2,\n buttonTopComponent,\n buttonBottomComponent,\n renderBottomContent,\n buttonDisabled,\n pageConfigs,\n customConsentMessage,\n msisdnLengthToValidate = 5,\n onButtonClick,\n buttonAreaId = 'button-area',\n buttonAreaClassName = 'dcbp',\n consentChecked,\n onConsentCheckedChange\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 [internalChecked, setInternalChecked] = useState<boolean>(pageConfigs?.isConsentCheckByDefault || false);\n const checked = consentChecked !== undefined ? consentChecked : internalChecked;\n const setChecked = (val: boolean) => { setInternalChecked(val); onConsentCheckedChange?.(val); };\n const [showMessage, setShowMessage] = useState<boolean>(false);\n\n useEffect(() => {\n if (!msisdn && !pageConfigs?.hasCountryCode) {\n setMsisdn(msisdnPrefix || '');\n }\n\n if (msisdn && msisdn.length >= msisdnLengthToValidate) {\n setIsValid(true);\n setIsMsisdnFilled(true);\n setIsTooltipVisible(true);\n }\n }, [msisdnPrefix, pageConfigs?.hasCountryCode, msisdnLengthToValidate]);\n\n useEffect(() => {\n if (checked) {\n setShowMessage(false);\n }\n }, [checked]);\n\n useEffect(() => {\n if (rds?.RDS && rds?.rds) {\n rds.RDS.WhenFailure(null, () => {\n if (checked) {\n setChecked(!checked);\n }\n })(rds.rds);\n }\n }, [rds]);\n\n useEffect(() => {\n if (!pageConfigs?.isMsisdnPx) return;\n\n let cancelled = false;\n setTimeout(async () => {\n const stored = (await window?.OuisysStorage?.get('msisdn')) || '';\n if (cancelled || !stored) return;\n setMsisdn(stored);\n setInternationalNumber(stored);\n setIsMsisdnFilled(true);\n setIsValid(true);\n tracker?.customEvent('MSISDN-State', 'filled', 'MsisdnAutoFilled', { msisdn: stored });\n }, 500);\n return () => {\n cancelled = true;\n };\n }, []);\n\n const handleButtonClick = (e: React.MouseEvent<HTMLButtonElement>, isChecked?: boolean) => {\n if (!(checked || isChecked) && pageConfigs?.isShowConsentCheckBox) {\n e.preventDefault();\n setShowModal(true);\n setShowMessage(true);\n return;\n }\n\n if (pageConfigs?.isShowConsentCheckBox) {\n tracker?.customEvent('Flow', 'advance', 'consentForm-accepted');\n setShowMessage(false);\n setShowModal(false);\n }\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 && 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 && 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 {buttonTopComponent}\n <div id={buttonAreaId} className={buttonAreaClassName}>\n <Button\n type=\"submit\"\n className=\"btn\"\n id={buttonId || 'msisdn-submit-button'}\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 </div>\n {buttonBottomComponent}\n\n {pageConfigs?.isNewLegal ? (\n <DynamicPricePoint pageConfigs={pageConfigs} formattedMessage={formattedMessage} />\n ) : (\n <PricePoint className=\"price-point\" legals={legals || []} locale={locale || 'en'} />\n )}\n\n {pageConfigs?.isShowConsentCheckBox && (\n <ConsentAcceptanceCheck\n tracker={tracker}\n checked={checked}\n locale={locale || 'en'}\n legals={legals}\n confirmText=\"YES\"\n pageConfigs={pageConfigs}\n showErrorMessage={showMessage}\n customConsentMessage={customConsentMessage}\n showModal={showModal}\n formattedMessage={formattedMessage}\n onCheckedChange={() => {\n setChecked(!checked);\n }}\n onClickYes={(e) => {\n setChecked(true);\n handleButtonClick(e, true);\n }}\n />\n )}\n {renderBottomContent}\n </label>\n );\n};\n"],"names":["PhoneEntryForm","props","rds","phoneInputRef","countryCode","msisdnPrefix","msisdn","locale","legals","buttonId","setMsisdn","onChange","tracker","formattedMessage","toolTipLabel","renderTopContent","msisdnLabel","placeholder","buttonLabel","buttonLabel2","buttonTopComponent","buttonBottomComponent","renderBottomContent","buttonDisabled","pageConfigs","customConsentMessage","_a","msisdnLengthToValidate","onButtonClick","_b","buttonAreaId","_c","buttonAreaClassName","consentChecked","onConsentCheckedChange","_d","__read","useState","isValid","setIsValid","_e","React","isFocused","setIsFocused","_f","isTooltipVisible","setIsTooltipVisible","_g","isLabelVisible","setIsLabelVisible","_h","isMsisdnFilled","setIsMsisdnFilled","_j","setInternationalNumber","defaultInputRef","useRef","_k","showModal","setShowModal","_l","isConsentCheckByDefault","internalChecked","setInternalChecked","checked","undefined","setChecked","val","_m","showMessage","setShowMessage","useEffect","hasCountryCode","length","RDS","WhenFailure","isMsisdnPx","cancelled","setTimeout","__awaiter","window","OuisysStorage","get","stored","sent","customEvent","handleButtonClick","e","isChecked","isShowConsentCheckBox","preventDefault","prevState","createElement","htmlFor","className","Fragment","id","concat","inputFocusAnimation","onClick","innerWidth","hasTooltip","PhoneInput","showFlag","showMobileIcon","showError","inputElementRef","ev","internationalNumber","isCheckConsentCheckBoxOnValid","onKeyPress","onPaste","onBlur","onFocus","onClickCheckMark","onClickErrorCheckMark","Button","type","disabled","isDisableButtonIfInvalid","isNewLegal","DynamicPricePoint","PricePoint","ConsentAcceptanceCheck","confirmText","showErrorMessage","onCheckedChange","onClickYes"],"mappings":"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"}
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 { ConsentAcceptanceCheck } from '../ConsentAcceptanceCheck/ConsentAcceptanceCheck';\nimport { DynamicPricePoint } from '../DynamicPricePoint/DynamicPricePoint';\nimport PhoneInput from '../PhoneInput';\nimport { PricePoint } from '../PricePoint/PricePoint';\nimport { IPhoneEntryFormProps } from './PhoneEntryForm.types';\n\nexport const PhoneEntryForm = (props: IPhoneEntryFormProps) => {\n const {\n rds,\n phoneInputRef,\n countryCode,\n msisdnPrefix,\n msisdn,\n locale,\n legals,\n buttonId,\n setMsisdn,\n onChange,\n tracker,\n formattedMessage,\n toolTipLabel,\n renderTopContent,\n msisdnLabel,\n placeholder,\n buttonLabel,\n buttonLabel2,\n buttonTopComponent,\n buttonBottomComponent,\n renderBottomContent,\n buttonDisabled,\n pageConfigs,\n customConsentMessage,\n msisdnLengthToValidate = 5,\n onButtonClick,\n buttonAreaId = 'button-area',\n buttonAreaClassName = 'dcbp',\n consentChecked,\n onConsentCheckedChange,\n isHeaderEnrichmentSuccess\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 [internalChecked, setInternalChecked] = useState<boolean>(pageConfigs?.isConsentCheckByDefault || false);\n const checked = consentChecked !== undefined ? consentChecked : internalChecked;\n const setChecked = (val: boolean) => { setInternalChecked(val); onConsentCheckedChange?.(val); };\n const [showMessage, setShowMessage] = useState<boolean>(false);\n\n useEffect(() => {\n if (!msisdn && !pageConfigs?.hasCountryCode) {\n setMsisdn(msisdnPrefix || '');\n }\n\n if (msisdn && msisdn.length >= msisdnLengthToValidate) {\n setIsValid(true);\n setIsMsisdnFilled(true);\n setIsTooltipVisible(true);\n }\n }, [msisdnPrefix, pageConfigs?.hasCountryCode, msisdnLengthToValidate]);\n\n useEffect(() => {\n if (checked) {\n setShowMessage(false);\n }\n }, [checked]);\n\n useEffect(() => {\n if (rds?.RDS && rds?.rds) {\n rds.RDS.WhenFailure(null, () => {\n if (checked) {\n setChecked(!checked);\n }\n })(rds.rds);\n }\n }, [rds]);\n\n useEffect(() => {\n if (!pageConfigs?.isMsisdnPx) return;\n\n let cancelled = false;\n setTimeout(async () => {\n const stored = (await window?.OuisysStorage?.get('msisdn')) || '';\n if (cancelled || !stored) return;\n setMsisdn(stored);\n setInternationalNumber(stored);\n setIsMsisdnFilled(true);\n setIsValid(true);\n tracker?.customEvent('MSISDN-State', 'filled', 'MsisdnAutoFilled', { msisdn: stored });\n }, 500);\n return () => {\n cancelled = true;\n };\n }, []);\n\n const handleButtonClick = (e: React.MouseEvent<HTMLButtonElement>, isChecked?: boolean) => {\n if (!(checked || isChecked) && pageConfigs?.isShowConsentCheckBox) {\n e.preventDefault();\n setShowModal(true);\n setShowMessage(true);\n return;\n }\n\n if (pageConfigs?.isShowConsentCheckBox) {\n tracker?.customEvent('Flow', 'advance', 'consentForm-accepted');\n setShowMessage(false);\n setShowModal(false);\n }\n\n setIsFocused((prevState) => !prevState);\n // In HE mode there is no input to validate, so the button submits the\n // already-detected msisdn unconditionally.\n if (onButtonClick && (isValid || isHeaderEnrichmentSuccess)) {\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 {!isHeaderEnrichmentSuccess && (\n <>\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 && 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 && 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 </>\n )}\n {buttonTopComponent}\n <div id={buttonAreaId} className={buttonAreaClassName}>\n <Button\n type=\"submit\"\n className=\"btn\"\n id={buttonId || 'msisdn-submit-button'}\n disabled={\n buttonDisabled ||\n (pageConfigs?.isDisableButtonIfInvalid && !isValid && !isHeaderEnrichmentSuccess)\n }\n onClick={(ev) => {\n handleButtonClick(ev);\n }}\n >\n {buttonLabel}\n {buttonLabel2 && <p className=\"msisdn-secondary-label\">{buttonLabel2}</p>}\n </Button>\n </div>\n {buttonBottomComponent}\n\n {pageConfigs?.isNewLegal ? (\n <DynamicPricePoint pageConfigs={pageConfigs} formattedMessage={formattedMessage} />\n ) : (\n <PricePoint className=\"price-point\" legals={legals || []} locale={locale || 'en'} />\n )}\n\n {pageConfigs?.isShowConsentCheckBox && (\n <ConsentAcceptanceCheck\n tracker={tracker}\n checked={checked}\n locale={locale || 'en'}\n legals={legals}\n confirmText=\"YES\"\n pageConfigs={pageConfigs}\n showErrorMessage={showMessage}\n customConsentMessage={customConsentMessage}\n showModal={showModal}\n formattedMessage={formattedMessage}\n onCheckedChange={() => {\n setChecked(!checked);\n }}\n onClickYes={(e) => {\n setChecked(true);\n handleButtonClick(e, true);\n }}\n />\n )}\n {renderBottomContent}\n </label>\n );\n};\n"],"names":["PhoneEntryForm","props","rds","phoneInputRef","countryCode","msisdnPrefix","msisdn","locale","legals","buttonId","setMsisdn","onChange","tracker","formattedMessage","toolTipLabel","renderTopContent","msisdnLabel","placeholder","buttonLabel","buttonLabel2","buttonTopComponent","buttonBottomComponent","renderBottomContent","buttonDisabled","pageConfigs","customConsentMessage","_a","msisdnLengthToValidate","onButtonClick","_b","buttonAreaId","_c","buttonAreaClassName","consentChecked","onConsentCheckedChange","isHeaderEnrichmentSuccess","_d","__read","useState","isValid","setIsValid","_e","React","isFocused","setIsFocused","_f","isTooltipVisible","setIsTooltipVisible","_g","isLabelVisible","setIsLabelVisible","_h","isMsisdnFilled","setIsMsisdnFilled","_j","setInternationalNumber","defaultInputRef","useRef","_k","showModal","setShowModal","_l","isConsentCheckByDefault","internalChecked","setInternalChecked","checked","undefined","setChecked","val","_m","showMessage","setShowMessage","useEffect","hasCountryCode","length","RDS","WhenFailure","isMsisdnPx","cancelled","setTimeout","__awaiter","window","OuisysStorage","get","stored","sent","customEvent","handleButtonClick","e","isChecked","isShowConsentCheckBox","preventDefault","prevState","createElement","htmlFor","Fragment","className","id","concat","inputFocusAnimation","onClick","innerWidth","hasTooltip","PhoneInput","showFlag","showMobileIcon","showError","inputElementRef","ev","internationalNumber","isCheckConsentCheckBoxOnValid","onKeyPress","onPaste","onBlur","onFocus","onClickCheckMark","onClickErrorCheckMark","Button","type","disabled","isDisableButtonIfInvalid","isNewLegal","DynamicPricePoint","PricePoint","ConsentAcceptanceCheck","confirmText","showErrorMessage","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),lu:C("352","0",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]),m((function(){(null==e?void 0:e.msisdn)&&F(null==e?void 0:e.msisdn)}),[null==e?void 0:e.msisdn]);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,F=function(n){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]}}))}))}};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);F(n)},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-858051b8.js.map
2
+ //# sourceMappingURL=PhoneInput-b014cba1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PhoneInput-858051b8.js","sources":["../src/PhoneInput/BasicInput/parseDigits.ts","../src/PhoneInput/BasicInput/parseIncompletePhoneNumber.ts","../src/PhoneInput/BasicInput/index.tsx","../src/PhoneInput/Checkmark.tsx","../src/PhoneInput/config.ts","../src/PhoneInput/Errormark.tsx","../src/PhoneInput/PhoneInput.tsx"],"sourcesContent":["// 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//\nexport const DIGITS: { [key: string]: string } = {\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 function parseDigit(character: string): string | undefined {\n return DIGITS[character];\n}\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 * E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\n *\n * ```\n * parseDigits('8 (800) 555')\n * // Outputs '8800555'.\n * ```\n */\nexport default function parseDigits(string: string): string {\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 return string.split('').reduce((result, character) => {\n const digit = parseDigit(character);\n return digit ? result + digit : result;\n }, '');\n}\n","import { parseDigit } from './parseDigits';\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 * E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\n *\n * ```\n * // Outputs '8800555'.\n * parseIncompletePhoneNumber('8 (800) 555')\n * // Outputs '+7800555'.\n * parseIncompletePhoneNumber('+7 800 555')\n * ```\n */\n\nexport default function parseIncompletePhoneNumber(string: string): string {\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 return string.split('').reduce((result, character) => {\n const parsedChar = parsePhoneNumberCharacter(character, result);\n return parsedChar ? result + parsedChar : 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 */\nexport function parsePhoneNumberCharacter(character: string, prevParsedCharacters: string): string | undefined {\n // Only allow a leading `+`.\n if (character === '+') {\n // If this `+` is not the first parsed character\n // then discard it.\n if (prevParsedCharacters) {\n return;\n }\n\n return '+';\n }\n // Allow digits.\n return parseDigit(character);\n}\n","import { getAsYouType } from 'awesome-phonenumber';\nimport React, { ChangeEvent, ComponentType, FocusEvent, memo, useCallback, useEffect, useRef, useState } from 'react';\nimport parseIncompletePhoneNumber from './parseIncompletePhoneNumber';\n\n// Define props interface (removed state interface as it's not needed for functional component)\ninterface InputBasicProps {\n id?: string;\n name?: string;\n value: string;\n onChange: (value: string) => void;\n onFocus?: () => void;\n onBlur?: (event: FocusEvent<HTMLInputElement>) => void;\n country?: string;\n metadata?: Record<string, unknown>; // Specify the type if metadata structure is known\n inputComponent?: ComponentType<any>;\n smartcaret?: string;\n}\n\nconst InputBasic = memo<InputBasicProps>(\n ({ value: propValue, onChange, onFocus, onBlur, country, inputComponent: Input = 'input', ...rest }) => {\n // State to manage internal value\n const [value, setValue] = useState<string>(propValue);\n\n // Create a ref for the input element\n const inputRef = useRef<HTMLInputElement>(null);\n\n // Update internal value when prop value changes (replaces getDerivedStateFromProps)\n useEffect(() => {\n setValue(propValue);\n }, [propValue]);\n\n // Format function\n const format = useCallback(\n (inputValue: string): string => {\n const ayt = getAsYouType(country as string);\n ayt.addChar(inputValue);\n return ayt.number();\n },\n [country]\n );\n\n const handleChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n let newValue = parseIncompletePhoneNumber(event.target.value);\n\n // Workaround for handling the Samsung Galaxy smart caret positioning bug\n if (newValue === value) {\n if (format(newValue).startsWith(event.target.value)) {\n newValue = newValue.slice(0, -1); // Trim the last digit (or plus sign)\n }\n }\n\n setValue(newValue);\n onChange(newValue);\n },\n [value, format, onChange]\n );\n\n const handleBlur = useCallback(\n (event: FocusEvent<HTMLInputElement>) => {\n if (onBlur) {\n // Clone the event to prevent React's SyntheticEvent from being read-only\n const clonedEvent = {\n ...event,\n target: {\n ...event.target,\n value\n },\n stopPropagation: event.stopPropagation,\n preventDefault: event.preventDefault\n };\n onBlur(clonedEvent as FocusEvent<HTMLInputElement>);\n }\n },\n [onBlur, value]\n );\n\n // Focus function (can be called via ref)\n const focus = useCallback(() => {\n inputRef.current?.focus();\n }, []);\n\n // Expose focus method via useImperativeHandle if needed\n // React.useImperativeHandle(ref, () => ({ focus }), [focus]);\n\n return (\n <Input\n type=\"tel\"\n autoComplete=\"tel\"\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...rest}\n ref={inputRef}\n value={format(value)}\n onChange={handleChange}\n onFocus={onFocus}\n onBlur={handleBlur}\n />\n );\n }\n);\n\n// Set display name for debugging\nInputBasic.displayName = 'InputBasic';\n\nexport function createInput() {\n return InputBasic;\n}\n","import * as React from 'react';\nimport styles from './checkmark.module.scss';\n\nexport default function Checkmark({ onClickCheckMark }: { onClickCheckMark: () => void }): JSX.Element {\n return (\n <svg\n id=\"success-check-mark\"\n onClick={() => onClickCheckMark()}\n className={styles.checkmarkIcon}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle className={styles.checkmarkCircle} cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\n <path className={styles.checkmarkCheck} fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\n </svg>\n );\n}\n","function mkConfig(countryCode: string, commonPrefix: string, maxLength: number) {\n return { countryCode, commonPrefix, maxLength };\n}\n\nconst configs: { [key: string]: ReturnType<typeof mkConfig> } = {\n mx: mkConfig('52', '01', 10),\n my: mkConfig('60', '01', 9),\n za: mkConfig('27', '0', 9),\n ae: mkConfig('971', '05', 10),\n a2: mkConfig('971', '05', 10),\n gr: mkConfig('30', '69', 9),\n g2: mkConfig('30', '69', 9),\n ee: mkConfig('372', '', 10),\n lt: mkConfig('370', '6', 9),\n ps: mkConfig('972', '0', 10),\n xx: mkConfig('', '', 10),\n lu: mkConfig('352', '0', 10),\n};\n\nexport default (countryCode: string) => configs[countryCode] || configs.xx;\n","import * as React from 'react';\n\nexport default function Checkmark({\n onClickErrorCheckMark\n}: {\n onClickErrorCheckMark: () => void;\n}): React.ReactElement {\n return (\n <svg\n id=\"error-check-mark\"\n onClick={() => onClickErrorCheckMark()}\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"errormark__icon\"\n viewBox=\"0 0 90.27 90.27\"\n >\n <defs>\n <style\n dangerouslySetInnerHTML={{\n __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 `\n }}\n />\n </defs>\n <title>icon-error</title>\n <circle className=\"circle-2\" cx=\"45.14\" cy=\"45.14\" r=\"45.14\" />\n <g className=\"x\">\n <rect\n className=\"x-single\"\n x=\"21.77\"\n y=\"43.49\"\n width=\"46.74\"\n height=\"3.36\"\n transform=\"translate(-18.72 45.15) rotate(-45)\"\n />\n <rect\n className=\"x-single\"\n x=\"43.47\"\n y=\"21.81\"\n width=\"3.36\"\n height=\"46.74\"\n transform=\"translate(-18.72 45.16) rotate(-45)\"\n />\n </g>\n </svg>\n );\n}\n","/* eslint-disable no-underscore-dangle */\nimport { parsePhoneNumber } from 'awesome-phonenumber';\nimport React, { RefObject, useEffect, useState } from 'react';\nimport { createInput } from './BasicInput';\nimport Checkmark from './Checkmark';\nimport getConfig from './config';\nimport Errormark from './Errormark';\n// import styles from './PhoneInput.module.scss';\n\ninterface IPropsChange {\n msisdn: string;\n isValid: boolean;\n nationalNumber: string;\n internationalNumber: string;\n bupperNumber: string;\n}\n\ninterface IProps {\n countryCode: string;\n msisdn?: string;\n placeholder: string;\n onChange: (args: IPropsChange) => void;\n showCountryCode?: boolean;\n showFlag?: boolean;\n showMobileIcon?: boolean;\n showError: boolean;\n inputElementRef: RefObject<HTMLInputElement>;\n onClickCheckMark: () => void;\n onClickErrorCheckMark: () => void;\n onBlur: () => void;\n onFocus: () => void;\n onPaste: () => void;\n onKeyPress: () => void;\n id?: string;\n name?: string;\n maxLength?: string | number;\n saveValidNumber?: boolean;\n useNumberFromCookie?: boolean;\n tracker?: any;\n}\n\nexport function parseMSISDN(country: string, msisdnOriginal: string) {\n const msisdn = msisdnOriginal.startsWith('0') ? parseInt(msisdnOriginal, 10).toString() : msisdnOriginal;\n try {\n const parsedPhoneNumber = parsePhoneNumber(msisdn, { regionCode: country.toUpperCase() });\n const nationalNumber = parsedPhoneNumber.number?.national || '';\n const internationalNumber = parsedPhoneNumber.number?.international || '';\n const bupperNumber = getBupperNumber(nationalNumber);\n let isValid = parsedPhoneNumber.valid;\n if (country.toLowerCase() === 'ci') {\n isValid =\n parsedPhoneNumber.possible ||\n parsedPhoneNumber.typeIsMobile ||\n nationalNumber.length === 8 ||\n nationalNumber.length === 9;\n }\n\n return {\n nationalNumber,\n internationalNumber,\n bupperNumber,\n isValid,\n internationalPrefix: parsedPhoneNumber.countryCode\n };\n } catch (ex) {\n console.warn(ex);\n return {\n nationalNumber: '',\n internationalNumber: '',\n bupperNumber: '',\n isValid: false\n };\n }\n}\n\nfunction getBupperNumber(nationalNumber: string) {\n if (!nationalNumber) {\n return nationalNumber;\n }\n const match = nationalNumber.match(/\\d+/g);\n return match ? match.join('') : nationalNumber;\n}\n\nfunction hasNumber(myString: string) {\n return /\\d/.test(myString);\n}\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\nfunction setCookie(name: string, value: string, daysToExpire?: number, path = '/') {\n let cookieString = `${name}=${encodeURIComponent(value)}`;\n if (daysToExpire) {\n const date = new Date();\n date.setTime(date.getTime() + daysToExpire * 24 * 60 * 60 * 1000);\n cookieString += `; expires=${date.toUTCString()}`;\n }\n cookieString += `; path=${path}`;\n document.cookie = cookieString;\n}\n\nfunction getCookie(name: string) {\n const cookieValue = document.cookie.match(`(^|;)\\\\s*${name}\\\\s*=\\\\s*([^;]+)`);\n return cookieValue ? decodeURIComponent(cookieValue.pop() || '') : '';\n}\n\nconst MsisdnComponent: React.FC<IProps> = (props) => {\n const [isValid, setIsValid] = useState(false);\n const [showError, setShowError] = useState(false);\n\n const focusOnInputElement = () => {\n const { id, inputElementRef } = props;\n const phoneInputId = `#${id || 'phone-input'}`;\n const phoneInput = document.querySelector<HTMLInputElement>(phoneInputId);\n if (typeof window !== 'undefined' && phoneInput && !phoneInput.hasAttribute('autofocus')) {\n phoneInput.setAttribute('autofocus', '');\n }\n\n if (inputElementRef.current) {\n setTimeout(() => {\n inputElementRef.current?.focus();\n }, 123);\n }\n };\n\n useEffect(() => {\n focusOnInputElement();\n\n const fetchMsisdnFromStorage = async () => {\n if (typeof window !== 'undefined' && props?.useNumberFromCookie && (window as any).msisdnCookieUrl) {\n const msisdnFromCookie = getCookie('_uuid');\n const msisdnFromLocalStorage = localStorage.getItem('_uuid');\n let msisdnFromZurch = '';\n try {\n const response = await fetch((window as any).msisdnCookieUrl, {\n mode: 'cors',\n method: 'GET',\n credentials: 'include'\n });\n const data: any = await response.json();\n if (data?.data?.success && data?.data?._uuid) {\n msisdnFromZurch = data?.data?._uuid;\n }\n } catch (error: any) {\n console.error(error?.message);\n }\n\n const msisdnFromAnyStorage = msisdnFromZurch || msisdnFromLocalStorage || msisdnFromCookie || '';\n const decryptedMsisdn = window.atob(msisdnFromAnyStorage);\n\n if (props?.tracker) {\n const source = msisdnFromZurch\n ? 'msisdnCookieUrl'\n : msisdnFromLocalStorage\n ? 'localStorage'\n : msisdnFromCookie\n ? 'cookie'\n : 'none';\n props?.tracker?.customEvent('Flow', 'advance-auto', `msisdn-retrieve-${source}`, {\n source,\n msisdn: decryptedMsisdn\n });\n }\n\n if (decryptedMsisdn) {\n const country = hasNumber(props?.countryCode) ? specialCountryCodes[props?.countryCode] : props?.countryCode;\n const {\n nationalNumber,\n internationalNumber,\n bupperNumber,\n isValid: validNumber\n } = parseMSISDN(country, decryptedMsisdn);\n props?.onChange({\n msisdn: decryptedMsisdn,\n isValid: validNumber,\n nationalNumber,\n internationalNumber,\n bupperNumber\n });\n setIsValid(validNumber);\n (window as any).msisdn = decryptedMsisdn;\n }\n }\n };\n\n fetchMsisdnFromStorage();\n }, []);\n\n useEffect(() => {\n setShowError(props?.showError);\n }, [props?.showError]);\n\n useEffect(() => {\n if (props?.msisdn) {\n handleChange(props?.msisdn);\n }\n }, [props?.msisdn]);\n\n const BasicInput = createInput();\n\n const country = hasNumber(props?.countryCode) ? specialCountryCodes[props?.countryCode] : props?.countryCode;\n const { countryCode, commonPrefix, maxLength } = getConfig(country);\n const showCountryCode = props?.showCountryCode ?? false;\n const showFlag = props?.showFlag ?? true;\n const showMobileIcon = props?.showMobileIcon ?? true;\n const saveValidNumber = props?.saveValidNumber ?? false;\n\n const handleChange = (msisdn: string) => {\n const {\n nationalNumber,\n internationalNumber,\n bupperNumber,\n isValid: validNumber\n } = parseMSISDN(country, msisdn);\n props?.onChange({ msisdn, isValid: validNumber, nationalNumber, internationalNumber, bupperNumber });\n setIsValid(validNumber);\n\n if (typeof window !== 'undefined') {\n (window as any).msisdn = msisdn;\n if (saveValidNumber && validNumber && (window as any).msisdnCookieUrl) {\n const encryptedMsisdn = window.btoa(msisdn);\n setCookie('_uuid', encryptedMsisdn, 30, '/');\n localStorage.setItem('_uuid', encryptedMsisdn);\n\n (async () => {\n try {\n const response = await fetch((window as any).msisdnCookieUrl, {\n mode: 'cors',\n method: 'POST',\n credentials: 'include',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ _uuid: encryptedMsisdn })\n });\n const responseData: any = await response.json();\n\n if (props?.tracker) {\n const eventType = responseData?.data?.success ? 'msisdn-stored-success' : 'msisdn-stored-failed';\n props?.tracker.customEvent('Flow', 'advance-auto', eventType);\n }\n } catch (error) {\n props?.tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-error', error);\n }\n })();\n }\n }\n\n }\n\n return (\n <div className=\"phone-input\">\n {showMobileIcon && <div className=\"phone\" onMouseDown={focusOnInputElement} onTouchStart={focusOnInputElement} />}\n\n {showFlag && (\n <div\n className=\"flag\"\n onMouseDown={focusOnInputElement}\n onTouchStart={focusOnInputElement}\n style={{\n backgroundImage: `url('https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.2.1/flags/4x3/${country}.svg')`\n }}\n />\n )}\n\n {showCountryCode && (\n <div className=\"country-code\" onMouseDown={focusOnInputElement}>\n ({countryCode})\n </div>\n )}\n\n <BasicInput\n id={props?.id || 'phone-input'}\n name={props?.name || 'phone-input-name'}\n smartcaret={\n typeof navigator === 'undefined' ? 'true' : /SamsungBrowser/gi.test(navigator.userAgent) ? 'false' : 'true'\n }\n // @ts-ignore\n ref={props?.inputElementRef}\n placeholder={props?.placeholder || 'Enter phone number'}\n country={country.toUpperCase()}\n className=\"text-input\"\n value={props?.msisdn || ''}\n onChange={(msisdn: string) => {\n setShowError(false);\n if (msisdn.includes('3522100000012340')) {\n props?.onChange({\n msisdn,\n isValid: true,\n nationalNumber: msisdn,\n internationalNumber: msisdn,\n bupperNumber: msisdn\n });\n setIsValid(true);\n return;\n }\n\n handleChange(msisdn);\n\n\n }}\n onPaste={props?.onPaste}\n onBlur={props?.onBlur}\n onFocus={props?.onFocus}\n onKeyPress={props?.onKeyPress}\n maxLength={props?.maxLength}\n />\n\n <div className=\"checkmark-container\" data-checkmark-container=\"true\">\n {showError ? (\n <Errormark onClickErrorCheckMark={props?.onClickErrorCheckMark} />\n ) : isValid ? (\n <Checkmark onClickCheckMark={props?.onClickCheckMark} />\n ) : null}\n </div>\n </div>\n );\n};\n\nexport default MsisdnComponent;\n"],"names":["DIGITS","parseIncompletePhoneNumber","string","split","reduce","result","character","parsedChar","prevParsedCharacters","parseDigit","parsePhoneNumberCharacter","InputBasic","memo","_a","propValue","value","onChange","onFocus","onBlur","country","_b","inputComponent","Input","rest","__rest","_c","__read","useState","setValue","inputRef","useRef","useEffect","format","useCallback","inputValue","ayt","getAsYouType","addChar","number","handleChange","event","newValue","target","startsWith","slice","handleBlur","clonedEvent","__assign","stopPropagation","preventDefault","current","focus","React","createElement","type","autoComplete","ref","displayName","Checkmark","onClickCheckMark","id","onClick","className","styles","xmlns","viewBox","cx","cy","r","fill","d","mkConfig","countryCode","commonPrefix","maxLength","configs","mx","my","za","ae","a2","gr","g2","ee","lt","ps","xx","lu","onClickErrorCheckMark","dangerouslySetInnerHTML","__html","x","y","width","height","transform","parseMSISDN","msisdnOriginal","msisdn","parseInt","toString","parsedPhoneNumber","parsePhoneNumber","regionCode","toUpperCase","nationalNumber","national","internationalNumber","international","bupperNumber","match","join","getBupperNumber","isValid","valid","toLowerCase","possible","typeIsMobile","length","internationalPrefix","ex","console","warn","hasNumber","myString","test","specialCountryCodes","s2","o2","k2","c2","r2","l2","s3","b2","a3","MsisdnComponent","props","_e","setIsValid","_f","showError","setShowError","focusOnInputElement","inputElementRef","phoneInputId","concat","phoneInput","document","querySelector","window","hasAttribute","setAttribute","setTimeout","__awaiter","useNumberFromCookie","msisdnCookieUrl","name","cookieValue","cookie","msisdnFromCookie","decodeURIComponent","pop","msisdnFromLocalStorage","localStorage","getItem","msisdnFromZurch","fetch","mode","method","credentials","sent","json","data","success","_uuid","_d","error","error_1","message","msisdnFromAnyStorage","decryptedMsisdn","atob","tracker","source","customEvent","country_1","validNumber","BasicInput","_g","getConfig","showCountryCode","showFlag","showMobileIcon","saveValidNumber","encryptedMsisdn_1","btoa","daysToExpire","path","cookieString","encodeURIComponent","date","Date","setTime","getTime","toUTCString","setCookie","setItem","headers","body","JSON","stringify","responseData","eventType","error_2","onMouseDown","onTouchStart","style","backgroundImage","smartcaret","navigator","userAgent","placeholder","includes","onPaste","onKeyPress","Errormark"],"mappings":"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"}
1
+ {"version":3,"file":"PhoneInput-b014cba1.js","sources":["../src/PhoneInput/BasicInput/parseDigits.ts","../src/PhoneInput/BasicInput/parseIncompletePhoneNumber.ts","../src/PhoneInput/BasicInput/index.tsx","../src/PhoneInput/Checkmark.tsx","../src/PhoneInput/config.ts","../src/PhoneInput/Errormark.tsx","../src/PhoneInput/PhoneInput.tsx"],"sourcesContent":["// 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//\nexport const DIGITS: { [key: string]: string } = {\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 function parseDigit(character: string): string | undefined {\n return DIGITS[character];\n}\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 * E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\n *\n * ```\n * parseDigits('8 (800) 555')\n * // Outputs '8800555'.\n * ```\n */\nexport default function parseDigits(string: string): string {\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 return string.split('').reduce((result, character) => {\n const digit = parseDigit(character);\n return digit ? result + digit : result;\n }, '');\n}\n","import { parseDigit } from './parseDigits';\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 * E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\n *\n * ```\n * // Outputs '8800555'.\n * parseIncompletePhoneNumber('8 (800) 555')\n * // Outputs '+7800555'.\n * parseIncompletePhoneNumber('+7 800 555')\n * ```\n */\n\nexport default function parseIncompletePhoneNumber(string: string): string {\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 return string.split('').reduce((result, character) => {\n const parsedChar = parsePhoneNumberCharacter(character, result);\n return parsedChar ? result + parsedChar : 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 */\nexport function parsePhoneNumberCharacter(character: string, prevParsedCharacters: string): string | undefined {\n // Only allow a leading `+`.\n if (character === '+') {\n // If this `+` is not the first parsed character\n // then discard it.\n if (prevParsedCharacters) {\n return;\n }\n\n return '+';\n }\n // Allow digits.\n return parseDigit(character);\n}\n","import { getAsYouType } from 'awesome-phonenumber';\nimport React, { ChangeEvent, ComponentType, FocusEvent, memo, useCallback, useEffect, useRef, useState } from 'react';\nimport parseIncompletePhoneNumber from './parseIncompletePhoneNumber';\n\n// Define props interface (removed state interface as it's not needed for functional component)\ninterface InputBasicProps {\n id?: string;\n name?: string;\n value: string;\n onChange: (value: string) => void;\n onFocus?: () => void;\n onBlur?: (event: FocusEvent<HTMLInputElement>) => void;\n country?: string;\n metadata?: Record<string, unknown>; // Specify the type if metadata structure is known\n inputComponent?: ComponentType<any>;\n smartcaret?: string;\n}\n\nconst InputBasic = memo<InputBasicProps>(\n ({ value: propValue, onChange, onFocus, onBlur, country, inputComponent: Input = 'input', ...rest }) => {\n // State to manage internal value\n const [value, setValue] = useState<string>(propValue);\n\n // Create a ref for the input element\n const inputRef = useRef<HTMLInputElement>(null);\n\n // Update internal value when prop value changes (replaces getDerivedStateFromProps)\n useEffect(() => {\n setValue(propValue);\n }, [propValue]);\n\n // Format function\n const format = useCallback(\n (inputValue: string): string => {\n const ayt = getAsYouType(country as string);\n ayt.addChar(inputValue);\n return ayt.number();\n },\n [country]\n );\n\n const handleChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n let newValue = parseIncompletePhoneNumber(event.target.value);\n\n // Workaround for handling the Samsung Galaxy smart caret positioning bug\n if (newValue === value) {\n if (format(newValue).startsWith(event.target.value)) {\n newValue = newValue.slice(0, -1); // Trim the last digit (or plus sign)\n }\n }\n\n setValue(newValue);\n onChange(newValue);\n },\n [value, format, onChange]\n );\n\n const handleBlur = useCallback(\n (event: FocusEvent<HTMLInputElement>) => {\n if (onBlur) {\n // Clone the event to prevent React's SyntheticEvent from being read-only\n const clonedEvent = {\n ...event,\n target: {\n ...event.target,\n value\n },\n stopPropagation: event.stopPropagation,\n preventDefault: event.preventDefault\n };\n onBlur(clonedEvent as FocusEvent<HTMLInputElement>);\n }\n },\n [onBlur, value]\n );\n\n // Focus function (can be called via ref)\n const focus = useCallback(() => {\n inputRef.current?.focus();\n }, []);\n\n // Expose focus method via useImperativeHandle if needed\n // React.useImperativeHandle(ref, () => ({ focus }), [focus]);\n\n return (\n <Input\n type=\"tel\"\n autoComplete=\"tel\"\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...rest}\n ref={inputRef}\n value={format(value)}\n onChange={handleChange}\n onFocus={onFocus}\n onBlur={handleBlur}\n />\n );\n }\n);\n\n// Set display name for debugging\nInputBasic.displayName = 'InputBasic';\n\nexport function createInput() {\n return InputBasic;\n}\n","import * as React from 'react';\nimport styles from './checkmark.module.scss';\n\nexport default function Checkmark({ onClickCheckMark }: { onClickCheckMark: () => void }): JSX.Element {\n return (\n <svg\n id=\"success-check-mark\"\n onClick={() => onClickCheckMark()}\n className={styles.checkmarkIcon}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle className={styles.checkmarkCircle} cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\n <path className={styles.checkmarkCheck} fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\n </svg>\n );\n}\n","function mkConfig(countryCode: string, commonPrefix: string, maxLength: number) {\n return { countryCode, commonPrefix, maxLength };\n}\n\nconst configs: { [key: string]: ReturnType<typeof mkConfig> } = {\n mx: mkConfig('52', '01', 10),\n my: mkConfig('60', '01', 9),\n za: mkConfig('27', '0', 9),\n ae: mkConfig('971', '05', 10),\n a2: mkConfig('971', '05', 10),\n gr: mkConfig('30', '69', 9),\n g2: mkConfig('30', '69', 9),\n ee: mkConfig('372', '', 10),\n lt: mkConfig('370', '6', 9),\n ps: mkConfig('972', '0', 10),\n xx: mkConfig('', '', 10),\n lu: mkConfig('352', '0', 10),\n};\n\nexport default (countryCode: string) => configs[countryCode] || configs.xx;\n","import * as React from 'react';\n\nexport default function Checkmark({\n onClickErrorCheckMark\n}: {\n onClickErrorCheckMark: () => void;\n}): React.ReactElement {\n return (\n <svg\n id=\"error-check-mark\"\n onClick={() => onClickErrorCheckMark()}\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"errormark__icon\"\n viewBox=\"0 0 90.27 90.27\"\n >\n <defs>\n <style\n dangerouslySetInnerHTML={{\n __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 `\n }}\n />\n </defs>\n <title>icon-error</title>\n <circle className=\"circle-2\" cx=\"45.14\" cy=\"45.14\" r=\"45.14\" />\n <g className=\"x\">\n <rect\n className=\"x-single\"\n x=\"21.77\"\n y=\"43.49\"\n width=\"46.74\"\n height=\"3.36\"\n transform=\"translate(-18.72 45.15) rotate(-45)\"\n />\n <rect\n className=\"x-single\"\n x=\"43.47\"\n y=\"21.81\"\n width=\"3.36\"\n height=\"46.74\"\n transform=\"translate(-18.72 45.16) rotate(-45)\"\n />\n </g>\n </svg>\n );\n}\n","/* eslint-disable no-underscore-dangle */\nimport { parsePhoneNumber } from 'awesome-phonenumber';\nimport React, { RefObject, useEffect, useState } from 'react';\nimport { createInput } from './BasicInput';\nimport Checkmark from './Checkmark';\nimport getConfig from './config';\nimport Errormark from './Errormark';\n// import styles from './PhoneInput.module.scss';\n\ninterface IPropsChange {\n msisdn: string;\n isValid: boolean;\n nationalNumber: string;\n internationalNumber: string;\n bupperNumber: string;\n}\n\ninterface IProps {\n countryCode: string;\n msisdn?: string;\n placeholder: string;\n onChange: (args: IPropsChange) => void;\n showCountryCode?: boolean;\n showFlag?: boolean;\n showMobileIcon?: boolean;\n showError: boolean;\n inputElementRef: RefObject<HTMLInputElement>;\n onClickCheckMark: () => void;\n onClickErrorCheckMark: () => void;\n onBlur: () => void;\n onFocus: () => void;\n onPaste: () => void;\n onKeyPress: () => void;\n id?: string;\n name?: string;\n maxLength?: string | number;\n saveValidNumber?: boolean;\n useNumberFromCookie?: boolean;\n tracker?: any;\n}\n\nexport function parseMSISDN(country: string, msisdnOriginal: string) {\n const msisdn = msisdnOriginal.startsWith('0') ? parseInt(msisdnOriginal, 10).toString() : msisdnOriginal;\n try {\n const parsedPhoneNumber = parsePhoneNumber(msisdn, { regionCode: country.toUpperCase() });\n const nationalNumber = parsedPhoneNumber.number?.national || '';\n const internationalNumber = parsedPhoneNumber.number?.international || '';\n const bupperNumber = getBupperNumber(nationalNumber);\n let isValid = parsedPhoneNumber.valid;\n if (country.toLowerCase() === 'ci') {\n isValid =\n parsedPhoneNumber.possible ||\n parsedPhoneNumber.typeIsMobile ||\n nationalNumber.length === 8 ||\n nationalNumber.length === 9;\n }\n\n return {\n nationalNumber,\n internationalNumber,\n bupperNumber,\n isValid,\n internationalPrefix: parsedPhoneNumber.countryCode\n };\n } catch (ex) {\n console.warn(ex);\n return {\n nationalNumber: '',\n internationalNumber: '',\n bupperNumber: '',\n isValid: false\n };\n }\n}\n\nfunction getBupperNumber(nationalNumber: string) {\n if (!nationalNumber) {\n return nationalNumber;\n }\n const match = nationalNumber.match(/\\d+/g);\n return match ? match.join('') : nationalNumber;\n}\n\nfunction hasNumber(myString: string) {\n return /\\d/.test(myString);\n}\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\nfunction setCookie(name: string, value: string, daysToExpire?: number, path = '/') {\n let cookieString = `${name}=${encodeURIComponent(value)}`;\n if (daysToExpire) {\n const date = new Date();\n date.setTime(date.getTime() + daysToExpire * 24 * 60 * 60 * 1000);\n cookieString += `; expires=${date.toUTCString()}`;\n }\n cookieString += `; path=${path}`;\n document.cookie = cookieString;\n}\n\nfunction getCookie(name: string) {\n const cookieValue = document.cookie.match(`(^|;)\\\\s*${name}\\\\s*=\\\\s*([^;]+)`);\n return cookieValue ? decodeURIComponent(cookieValue.pop() || '') : '';\n}\n\nconst MsisdnComponent: React.FC<IProps> = (props) => {\n const [isValid, setIsValid] = useState(false);\n const [showError, setShowError] = useState(false);\n\n const focusOnInputElement = () => {\n const { id, inputElementRef } = props;\n const phoneInputId = `#${id || 'phone-input'}`;\n const phoneInput = document.querySelector<HTMLInputElement>(phoneInputId);\n if (typeof window !== 'undefined' && phoneInput && !phoneInput.hasAttribute('autofocus')) {\n phoneInput.setAttribute('autofocus', '');\n }\n\n if (inputElementRef.current) {\n setTimeout(() => {\n inputElementRef.current?.focus();\n }, 123);\n }\n };\n\n useEffect(() => {\n focusOnInputElement();\n\n const fetchMsisdnFromStorage = async () => {\n if (typeof window !== 'undefined' && props?.useNumberFromCookie && (window as any).msisdnCookieUrl) {\n const msisdnFromCookie = getCookie('_uuid');\n const msisdnFromLocalStorage = localStorage.getItem('_uuid');\n let msisdnFromZurch = '';\n try {\n const response = await fetch((window as any).msisdnCookieUrl, {\n mode: 'cors',\n method: 'GET',\n credentials: 'include'\n });\n const data: any = await response.json();\n if (data?.data?.success && data?.data?._uuid) {\n msisdnFromZurch = data?.data?._uuid;\n }\n } catch (error: any) {\n console.error(error?.message);\n }\n\n const msisdnFromAnyStorage = msisdnFromZurch || msisdnFromLocalStorage || msisdnFromCookie || '';\n const decryptedMsisdn = window.atob(msisdnFromAnyStorage);\n\n if (props?.tracker) {\n const source = msisdnFromZurch\n ? 'msisdnCookieUrl'\n : msisdnFromLocalStorage\n ? 'localStorage'\n : msisdnFromCookie\n ? 'cookie'\n : 'none';\n props?.tracker?.customEvent('Flow', 'advance-auto', `msisdn-retrieve-${source}`, {\n source,\n msisdn: decryptedMsisdn\n });\n }\n\n if (decryptedMsisdn) {\n const country = hasNumber(props?.countryCode) ? specialCountryCodes[props?.countryCode] : props?.countryCode;\n const {\n nationalNumber,\n internationalNumber,\n bupperNumber,\n isValid: validNumber\n } = parseMSISDN(country, decryptedMsisdn);\n props?.onChange({\n msisdn: decryptedMsisdn,\n isValid: validNumber,\n nationalNumber,\n internationalNumber,\n bupperNumber\n });\n setIsValid(validNumber);\n (window as any).msisdn = decryptedMsisdn;\n }\n }\n };\n\n fetchMsisdnFromStorage();\n }, []);\n\n useEffect(() => {\n setShowError(props?.showError);\n }, [props?.showError]);\n\n useEffect(() => {\n if (props?.msisdn) {\n handleChange(props?.msisdn);\n }\n }, [props?.msisdn]);\n\n const BasicInput = createInput();\n\n const country = hasNumber(props?.countryCode) ? specialCountryCodes[props?.countryCode] : props?.countryCode;\n const { countryCode, commonPrefix, maxLength } = getConfig(country);\n const showCountryCode = props?.showCountryCode ?? false;\n const showFlag = props?.showFlag ?? true;\n const showMobileIcon = props?.showMobileIcon ?? true;\n const saveValidNumber = props?.saveValidNumber ?? false;\n\n const handleChange = (msisdn: string) => {\n const {\n nationalNumber,\n internationalNumber,\n bupperNumber,\n isValid: validNumber\n } = parseMSISDN(country, msisdn);\n props?.onChange({ msisdn, isValid: validNumber, nationalNumber, internationalNumber, bupperNumber });\n setIsValid(validNumber);\n\n if (typeof window !== 'undefined') {\n (window as any).msisdn = msisdn;\n if (saveValidNumber && validNumber && (window as any).msisdnCookieUrl) {\n const encryptedMsisdn = window.btoa(msisdn);\n setCookie('_uuid', encryptedMsisdn, 30, '/');\n localStorage.setItem('_uuid', encryptedMsisdn);\n\n (async () => {\n try {\n const response = await fetch((window as any).msisdnCookieUrl, {\n mode: 'cors',\n method: 'POST',\n credentials: 'include',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ _uuid: encryptedMsisdn })\n });\n const responseData: any = await response.json();\n\n if (props?.tracker) {\n const eventType = responseData?.data?.success ? 'msisdn-stored-success' : 'msisdn-stored-failed';\n props?.tracker.customEvent('Flow', 'advance-auto', eventType);\n }\n } catch (error) {\n props?.tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-error', error);\n }\n })();\n }\n }\n\n }\n\n return (\n <div className=\"phone-input\">\n {showMobileIcon && <div className=\"phone\" onMouseDown={focusOnInputElement} onTouchStart={focusOnInputElement} />}\n\n {showFlag && (\n <div\n className=\"flag\"\n onMouseDown={focusOnInputElement}\n onTouchStart={focusOnInputElement}\n style={{\n backgroundImage: `url('https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.2.1/flags/4x3/${country}.svg')`\n }}\n />\n )}\n\n {showCountryCode && (\n <div className=\"country-code\" onMouseDown={focusOnInputElement}>\n ({countryCode})\n </div>\n )}\n\n <BasicInput\n id={props?.id || 'phone-input'}\n name={props?.name || 'phone-input-name'}\n smartcaret={\n typeof navigator === 'undefined' ? 'true' : /SamsungBrowser/gi.test(navigator.userAgent) ? 'false' : 'true'\n }\n // @ts-ignore\n ref={props?.inputElementRef}\n placeholder={props?.placeholder || 'Enter phone number'}\n country={country.toUpperCase()}\n className=\"text-input\"\n value={props?.msisdn || ''}\n onChange={(msisdn: string) => {\n setShowError(false);\n if (msisdn.includes('3522100000012340')) {\n props?.onChange({\n msisdn,\n isValid: true,\n nationalNumber: msisdn,\n internationalNumber: msisdn,\n bupperNumber: msisdn\n });\n setIsValid(true);\n return;\n }\n\n handleChange(msisdn);\n\n\n }}\n onPaste={props?.onPaste}\n onBlur={props?.onBlur}\n onFocus={props?.onFocus}\n onKeyPress={props?.onKeyPress}\n maxLength={props?.maxLength}\n />\n\n <div className=\"checkmark-container\" data-checkmark-container=\"true\">\n {showError ? (\n <Errormark onClickErrorCheckMark={props?.onClickErrorCheckMark} />\n ) : isValid ? (\n <Checkmark onClickCheckMark={props?.onClickCheckMark} />\n ) : null}\n </div>\n </div>\n );\n};\n\nexport default MsisdnComponent;\n"],"names":["DIGITS","parseIncompletePhoneNumber","string","split","reduce","result","character","parsedChar","prevParsedCharacters","parseDigit","parsePhoneNumberCharacter","InputBasic","memo","_a","propValue","value","onChange","onFocus","onBlur","country","_b","inputComponent","Input","rest","__rest","_c","__read","useState","setValue","inputRef","useRef","useEffect","format","useCallback","inputValue","ayt","getAsYouType","addChar","number","handleChange","event","newValue","target","startsWith","slice","handleBlur","clonedEvent","__assign","stopPropagation","preventDefault","current","focus","React","createElement","type","autoComplete","ref","displayName","Checkmark","onClickCheckMark","id","onClick","className","styles","xmlns","viewBox","cx","cy","r","fill","d","mkConfig","countryCode","commonPrefix","maxLength","configs","mx","my","za","ae","a2","gr","g2","ee","lt","ps","xx","lu","onClickErrorCheckMark","dangerouslySetInnerHTML","__html","x","y","width","height","transform","parseMSISDN","msisdnOriginal","msisdn","parseInt","toString","parsedPhoneNumber","parsePhoneNumber","regionCode","toUpperCase","nationalNumber","national","internationalNumber","international","bupperNumber","match","join","getBupperNumber","isValid","valid","toLowerCase","possible","typeIsMobile","length","internationalPrefix","ex","console","warn","hasNumber","myString","test","specialCountryCodes","s2","o2","k2","c2","r2","l2","s3","b2","a3","MsisdnComponent","props","_e","setIsValid","_f","showError","setShowError","focusOnInputElement","inputElementRef","phoneInputId","concat","phoneInput","document","querySelector","window","hasAttribute","setAttribute","setTimeout","__awaiter","useNumberFromCookie","msisdnCookieUrl","name","cookieValue","cookie","msisdnFromCookie","decodeURIComponent","pop","msisdnFromLocalStorage","localStorage","getItem","msisdnFromZurch","fetch","mode","method","credentials","sent","json","data","success","_uuid","_d","error","error_1","message","msisdnFromAnyStorage","decryptedMsisdn","atob","tracker","source","customEvent","country_1","validNumber","BasicInput","_g","getConfig","showCountryCode","showFlag","showMobileIcon","saveValidNumber","encryptedMsisdn_1","btoa","daysToExpire","path","cookieString","encodeURIComponent","date","Date","setTime","getTime","toUTCString","setCookie","setItem","headers","body","JSON","stringify","responseData","eventType","error_2","onMouseDown","onTouchStart","style","backgroundImage","smartcaret","navigator","userAgent","placeholder","includes","onPaste","onKeyPress","Errormark"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export{M as PhoneInput}from"./PhoneInput-858051b8.js";import"tslib";import"awesome-phonenumber";import"react";
1
+ export{M as PhoneInput}from"./PhoneInput-b014cba1.js";import"tslib";import"awesome-phonenumber";import"react";
2
2
  //# sourceMappingURL=PhoneInput.js.map
@@ -1,2 +1,2 @@
1
- import{__read as e}from"tslib";import t,{useEffect as n}from"react";import{B as o}from"./Button-e78746b1.js";import{D as i}from"./DynamicPricePoint-fca58da7.js";import{P as l}from"./PricePoint-1cb79580.js";import{F as a}from"./focus-30944274.js";import"classnames";var r=new(function(){function e(){if(this.storage=null,"undefined"!=typeof window)try{window.localStorage.setItem("test","test"),window.localStorage.removeItem("test"),this.storage=window.localStorage}catch(t){console.warn("localStorage is not available, falling back to in-memory storage:",t),this.storage=e.createFallbackStorage()}}return e.createFallbackStorage=function(){var e={};return{setItem:function(t,n){e[t]=n},getItem:function(t){return e[t]||null},removeItem:function(t){delete e[t]},clear:function(){Object.keys(e).forEach((function(t){return delete e[t]}))}}},e.prototype.setItem=function(e,t){var n;null===(n=this.storage)||void 0===n||n.setItem(e,t)},e.prototype.getItem=function(e){var t;return(null===(t=this.storage)||void 0===t?void 0:t.getItem(e))||null},e.prototype.removeItem=function(e){var t;null===(t=this.storage)||void 0===t||t.removeItem(e)},e.prototype.updatePinList=function(e){var t=this.getItem("pinList")?JSON.parse(this.getItem("pinList")||"[]"):[];t.includes(e)||(t.push(e),this.setItem("pinList",JSON.stringify(t)))},e.prototype.pinExists=function(e){return(this.getItem("pinList")?JSON.parse(this.getItem("pinList")||"[]"):[]).includes(e)},e.prototype.clearPinList=function(){this.removeItem("pinList")},e.prototype.clear=function(){var e;null===(e=this.storage)||void 0===e||e.clear()},e}()),s=function(s){var u,c,m=s.rds,p=s.tracker,v=s.locale,g=s.legals,f=s.buttonId,h=s.buttonClassName,b=s.formattedMessage,E=s.onChange,C=s.pinMaxLength,I=void 0===C?6:C,y=s.pinMinLength,N=void 0===y?4:y,P=s.renderTopContent,S=s.pinEntryLabel,L=s.wrongPinMessage,w=s.placeholder,k=s.buttonLabel,M=s.renderBottomContent,T=s.buttonDisabled,O=s.pageConfigs,x=s.onButtonClick,D=e(t.useState(""),2),B=D[0],F=D[1],W=e(t.useState(""),2),A=W[0],j=W[1],q=e(t.useState(!1),2),J=q[0],U=q[1],R=e(t.useState(!1),2),_=R[0],V=R[1],Y=function(){var e,t,n,o,i,l,a,r;return(null===(t=null===(e=null==O?void 0:O.pin)||void 0===e?void 0:e.shortCodes)||void 0===t?void 0:t.length)?(null===(o=null===(n=null==O?void 0:O.pin)||void 0===n?void 0:n.blockedPin)||void 0===o?void 0:o.includes(A))||(null===(l=null===(i=null==O?void 0:O.pin)||void 0===i?void 0:i.shortCodes)||void 0===l?void 0:l.includes(A)):null===(r=null===(a=null==O?void 0:O.pin)||void 0===a?void 0:a.blockedPin)||void 0===r?void 0:r.includes(A)}(),z=A.length>=N&&A.length<=I&&!Y;n((function(){if("OTPCredential"in window){console.log("WebOTP supported");var e=function(){var e=document.querySelector('input[autocomplete="one-time-code"]');if(e){var t=new AbortController,n=e.closest("form");n&&n.addEventListener("submit",(function(){t.abort()})),navigator.credentials.get({otp:{transport:["sms"]},signal:t.signal}).then((function(t){console.log("WebOTP supported - credential",t);var n=t;console.log("WebOTP supported - otp",n),e.value=n.code,null==p||p.customEvent("WebOTP-Autofill","autofill","PinAutofilled",{pin:n.code}),j(n.code),setTimeout((function(){var e=document.querySelector("form"),t=document.getElementById(f||"pin-submit-button");null==e||e.requestSubmit(t)}),150)})).catch((function(e){console.log("WebOTP supported - err",e)}))}};"loading"===document.readyState?window.addEventListener("DOMContentLoaded",e):e()}else console.log("WebOTP not supported v2")}),[]),n((function(){E&&E(A)}),[A,E]),n((function(){var e;"InvalidPIN"===(null===(e=null==m?void 0:m.error)||void 0===e?void 0:e.errorType)&&r.updatePinList(A)}),[m]),n((function(){var e,t,n,o;(null===(t=null===(e=null==O?void 0:O.pin)||void 0===e?void 0:e.shortCodes)||void 0===t?void 0:t.length)&&(null===(o=null===(n=null==O?void 0:O.pin)||void 0===n?void 0:n.shortCodes)||void 0===o?void 0:o.includes(A))&&V(!0)}),[A]);return t.createElement("label",{htmlFor:"pin-input"},P,t.createElement("p",{className:"pinEntryLabel"},S),B&&t.createElement("p",{className:"wrongPinMessage"},"".concat(B," ")," ",L),t.createElement("div",{className:"pin-wrapper"},t.createElement("div",{className:"pin-input ".concat(J&&!z?null==O?void 0:O.inputFocusAnimation:"")},t.createElement("div",{className:"pin"}),t.createElement("input",{id:"pin-input",className:"text-input",type:"text",placeholder:w,value:A,pattern:"[0-9]*",inputMode:"numeric",maxLength:I,minLength:N,autoComplete:"one-time-code",onChange:function(e){j(e.target.value.replace(/[^0-9]/g,""))}})),(null===(c=null===(u=null==O?void 0:O.pin)||void 0===u?void 0:u.blockedPin)||void 0===c?void 0:c.includes(A))&&t.createElement("p",{className:"blocked-pin-message"},null==b?void 0:b({id:"blockedPinMessage",defaultMessage:"This is not a pin code, check your SMS"}),null==p?void 0:p.recedeInFlow("tallyman.v1-pin","INVALID_PIN_ENTRY",A)),t.createElement(o,{type:"submit",id:f||"pin-submit-button",className:"btn ".concat(h||""),disabled:T||(null==O?void 0:O.isDisableButtonIfInvalid)&&!z,onClick:function(e){U((function(e){return!e})),(null==O?void 0:O.isCheckWrongPinReEntry)&&r.pinExists(A)&&(F(A),setTimeout((function(){a.triggerFocusArea()}),100),j(""),1)?e.preventDefault():x&&z&&(e.preventDefault(),x(e))}},k)),(null==O?void 0:O.isNewLegal)?t.createElement(i,{pageConfigs:O,formattedMessage:b}):t.createElement(l,{className:"price-point",legals:g||[],locale:v||"en"}),M,_&&t.createElement(d,{pageConfigs:O,formattedMessage:b,onConfirm:function(){V(!1)}}))},d=function(e){var n,o,i=e.pageConfigs,l=e.formattedMessage,a=e.onConfirm;return t.createElement("div",{className:"alert-dialog"},t.createElement("div",{className:"alert-dialog-body"},t.createElement("div",{className:"alert-dialog-close",onClick:a},"✕"),t.createElement("div",null,(null===(n=null==i?void 0:i.pin)||void 0===n?void 0:n.shortCodeInstructionUrl)&&t.createElement("img",{src:null===(o=null==i?void 0:i.pin)||void 0===o?void 0:o.shortCodeInstructionUrl,alt:"shortCodeInstructionUrl",className:"alert-dialog-image"}),t.createElement("div",{className:"alert-dialog-title"},null==l?void 0:l({id:"smsCodeErrorTitle",defaultMessage:"This is not a pin code, check your SMS"})),t.createElement("div",{className:"alert-dialog-content"},null==l?void 0:l({id:"smsCodeErrorContent",defaultMessage:"This is not a pin code, check your SMS"})),t.createElement("button",{type:"button",onClick:a,className:"alert-dialog-button"},null==l?void 0:l({id:"smsCodeErrorConfirmButtonText",defaultMessage:"Ok!"})))))};export{s as PinEntryForm};
1
+ import{__read as e}from"tslib";import t,{useEffect as n}from"react";import{B as o}from"./Button-0fd3000e.js";import{D as i}from"./DynamicPricePoint-034b9633.js";import{P as l}from"./PricePoint-ebe1e6a0.js";import{F as a}from"./focus-4d02ec48.js";import"classnames";var r=new(function(){function e(){if(this.storage=null,"undefined"!=typeof window)try{window.localStorage.setItem("test","test"),window.localStorage.removeItem("test"),this.storage=window.localStorage}catch(t){console.warn("localStorage is not available, falling back to in-memory storage:",t),this.storage=e.createFallbackStorage()}}return e.createFallbackStorage=function(){var e={};return{setItem:function(t,n){e[t]=n},getItem:function(t){return e[t]||null},removeItem:function(t){delete e[t]},clear:function(){Object.keys(e).forEach((function(t){return delete e[t]}))}}},e.prototype.setItem=function(e,t){var n;null===(n=this.storage)||void 0===n||n.setItem(e,t)},e.prototype.getItem=function(e){var t;return(null===(t=this.storage)||void 0===t?void 0:t.getItem(e))||null},e.prototype.removeItem=function(e){var t;null===(t=this.storage)||void 0===t||t.removeItem(e)},e.prototype.updatePinList=function(e){var t=this.getItem("pinList")?JSON.parse(this.getItem("pinList")||"[]"):[];t.includes(e)||(t.push(e),this.setItem("pinList",JSON.stringify(t)))},e.prototype.pinExists=function(e){return(this.getItem("pinList")?JSON.parse(this.getItem("pinList")||"[]"):[]).includes(e)},e.prototype.clearPinList=function(){this.removeItem("pinList")},e.prototype.clear=function(){var e;null===(e=this.storage)||void 0===e||e.clear()},e}()),s=function(s){var u,c,m=s.rds,p=s.tracker,v=s.locale,g=s.legals,f=s.buttonId,h=s.buttonClassName,b=s.formattedMessage,E=s.onChange,C=s.pinMaxLength,I=void 0===C?6:C,y=s.pinMinLength,N=void 0===y?4:y,P=s.renderTopContent,S=s.pinEntryLabel,L=s.wrongPinMessage,w=s.placeholder,k=s.buttonLabel,M=s.renderBottomContent,T=s.buttonDisabled,O=s.pageConfigs,x=s.onButtonClick,D=e(t.useState(""),2),B=D[0],F=D[1],W=e(t.useState(""),2),A=W[0],j=W[1],q=e(t.useState(!1),2),J=q[0],U=q[1],R=e(t.useState(!1),2),_=R[0],V=R[1],Y=function(){var e,t,n,o,i,l,a,r;return(null===(t=null===(e=null==O?void 0:O.pin)||void 0===e?void 0:e.shortCodes)||void 0===t?void 0:t.length)?(null===(o=null===(n=null==O?void 0:O.pin)||void 0===n?void 0:n.blockedPin)||void 0===o?void 0:o.includes(A))||(null===(l=null===(i=null==O?void 0:O.pin)||void 0===i?void 0:i.shortCodes)||void 0===l?void 0:l.includes(A)):null===(r=null===(a=null==O?void 0:O.pin)||void 0===a?void 0:a.blockedPin)||void 0===r?void 0:r.includes(A)}(),z=A.length>=N&&A.length<=I&&!Y;n((function(){if("OTPCredential"in window){console.log("WebOTP supported");var e=function(){var e=document.querySelector('input[autocomplete="one-time-code"]');if(e){var t=new AbortController,n=e.closest("form");n&&n.addEventListener("submit",(function(){t.abort()})),navigator.credentials.get({otp:{transport:["sms"]},signal:t.signal}).then((function(t){console.log("WebOTP supported - credential",t);var n=t;console.log("WebOTP supported - otp",n),e.value=n.code,null==p||p.customEvent("WebOTP-Autofill","autofill","PinAutofilled",{pin:n.code}),j(n.code),setTimeout((function(){var e=document.querySelector("form"),t=document.getElementById(f||"pin-submit-button");null==e||e.requestSubmit(t)}),150)})).catch((function(e){console.log("WebOTP supported - err",e)}))}};"loading"===document.readyState?window.addEventListener("DOMContentLoaded",e):e()}else console.log("WebOTP not supported v2")}),[]),n((function(){E&&E(A)}),[A,E]),n((function(){var e;"InvalidPIN"===(null===(e=null==m?void 0:m.error)||void 0===e?void 0:e.errorType)&&r.updatePinList(A)}),[m]),n((function(){var e,t,n,o;(null===(t=null===(e=null==O?void 0:O.pin)||void 0===e?void 0:e.shortCodes)||void 0===t?void 0:t.length)&&(null===(o=null===(n=null==O?void 0:O.pin)||void 0===n?void 0:n.shortCodes)||void 0===o?void 0:o.includes(A))&&V(!0)}),[A]);return t.createElement("label",{htmlFor:"pin-input"},P,t.createElement("p",{className:"pinEntryLabel"},S),B&&t.createElement("p",{className:"wrongPinMessage"},"".concat(B," ")," ",L),t.createElement("div",{className:"pin-wrapper"},t.createElement("div",{className:"pin-input ".concat(J&&!z?null==O?void 0:O.inputFocusAnimation:"")},t.createElement("div",{className:"pin"}),t.createElement("input",{id:"pin-input",className:"text-input",type:"text",placeholder:w,value:A,pattern:"[0-9]*",inputMode:"numeric",maxLength:I,minLength:N,autoComplete:"one-time-code",onChange:function(e){j(e.target.value.replace(/[^0-9]/g,""))}})),(null===(c=null===(u=null==O?void 0:O.pin)||void 0===u?void 0:u.blockedPin)||void 0===c?void 0:c.includes(A))&&t.createElement("p",{className:"blocked-pin-message"},null==b?void 0:b({id:"blockedPinMessage",defaultMessage:"This is not a pin code, check your SMS"}),null==p?void 0:p.recedeInFlow("tallyman.v1-pin","INVALID_PIN_ENTRY",A)),t.createElement(o,{type:"submit",id:f||"pin-submit-button",className:"btn ".concat(h||""),disabled:T||(null==O?void 0:O.isDisableButtonIfInvalid)&&!z,onClick:function(e){U((function(e){return!e})),(null==O?void 0:O.isCheckWrongPinReEntry)&&r.pinExists(A)&&(F(A),setTimeout((function(){a.triggerFocusArea()}),100),j(""),1)?e.preventDefault():x&&z&&(e.preventDefault(),x(e))}},k)),(null==O?void 0:O.isNewLegal)?t.createElement(i,{pageConfigs:O,formattedMessage:b}):t.createElement(l,{className:"price-point",legals:g||[],locale:v||"en"}),M,_&&t.createElement(d,{pageConfigs:O,formattedMessage:b,onConfirm:function(){V(!1)}}))},d=function(e){var n,o,i=e.pageConfigs,l=e.formattedMessage,a=e.onConfirm;return t.createElement("div",{className:"alert-dialog"},t.createElement("div",{className:"alert-dialog-body"},t.createElement("div",{className:"alert-dialog-close",onClick:a},"✕"),t.createElement("div",null,(null===(n=null==i?void 0:i.pin)||void 0===n?void 0:n.shortCodeInstructionUrl)&&t.createElement("img",{src:null===(o=null==i?void 0:i.pin)||void 0===o?void 0:o.shortCodeInstructionUrl,alt:"shortCodeInstructionUrl",className:"alert-dialog-image"}),t.createElement("div",{className:"alert-dialog-title"},null==l?void 0:l({id:"smsCodeErrorTitle",defaultMessage:"This is not a pin code, check your SMS"})),t.createElement("div",{className:"alert-dialog-content"},null==l?void 0:l({id:"smsCodeErrorContent",defaultMessage:"This is not a pin code, check your SMS"})),t.createElement("button",{type:"button",onClick:a,className:"alert-dialog-button"},null==l?void 0:l({id:"smsCodeErrorConfirmButtonText",defaultMessage:"Ok!"})))))};export{s as PinEntryForm};
2
2
  //# sourceMappingURL=PinEntryForm.js.map
@@ -1,2 +1,2 @@
1
1
  import*as e from"react";var r=function(r){var t=r.locale,a=r.className,n=void 0===a?"":a,o=r.legals,i=r.flow,l=r.dataQaId,c=void 0===l?"price-point":l,p=r.operator,d=o.filter((function(e){return e.flow===i})),s=(i?d:o).reduce((function(e,r){return e[r.language]=r,e}),{}),u=(s[t]||"").price_point,m=(s[t]||"").operator_price_point;return e.createElement("div",{"data-qa-id":c,className:n||"price-point"},m&&p&&e.createElement("div",{dangerouslySetInnerHTML:{__html:m[p.toUpperCase()]}})||e.createElement("div",{dangerouslySetInnerHTML:{__html:u||""}}))};export{r as P};
2
- //# sourceMappingURL=PricePoint-1cb79580.js.map
2
+ //# sourceMappingURL=PricePoint-ebe1e6a0.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PricePoint-1cb79580.js","sources":["../src/PricePoint/PricePoint.tsx"],"sourcesContent":["/* eslint-disable camelcase */\n/* eslint-disable react/no-danger */\n/* eslint-disable no-param-reassign */\nimport * as React from 'react';\nimport { ILegals } from '../Disclaimers/Disclaimers.types';\nimport { PricePointProps } from './PricePoint.types';\n\nexport const PricePoint = ({\n locale,\n className = '',\n legals,\n flow,\n dataQaId = 'price-point',\n operator\n}: PricePointProps) => {\n const filteredLegals = legals.filter((obj) => obj.flow === flow);\n\n const legalsArr = flow ? filteredLegals : legals;\n const arrayToObject = (array: ILegals[]) =>\n array.reduce((obj: { [key: string]: ILegals }, item) => {\n obj[item.language] = item;\n return obj;\n }, {});\n\n const legalsObject = arrayToObject(legalsArr);\n\n const { price_point } = legalsObject[locale] || '';\n const { operator_price_point } = legalsObject[locale] || '';\n return (\n <div data-qa-id={dataQaId} className={className || 'price-point'}>\n {(operator_price_point && operator && (\n <div dangerouslySetInnerHTML={{ __html: operator_price_point[operator.toUpperCase()] }} />\n )) || <div dangerouslySetInnerHTML={{ __html: price_point || '' }} />}\n </div>\n );\n};\n"],"names":["PricePoint","_a","locale","_b","className","legals","flow","_c","dataQaId","operator","filteredLegals","filter","obj","legalsObject","reduce","item","language","price_point","operator_price_point","React","dangerouslySetInnerHTML","__html","toUpperCase","createElement"],"mappings":"wBAOO,IAAMA,EAAa,SAACC,OACzBC,EAAMD,EAAAC,OACNC,EAAcF,EAAAG,UAAdA,OAAY,IAAAD,EAAA,GAAEA,EACdE,EAAMJ,EAAAI,OACNC,EAAIL,EAAAK,KACJC,EAAAN,EAAAO,SAAAA,aAAW,cAAaD,EACxBE,EAAQR,EAAAQ,SAEFC,EAAiBL,EAAOM,QAAO,SAACC,GAAQ,OAAAA,EAAIN,OAASA,CAAb,IASxCO,GAPYP,EAAOI,EAAiBL,GAElCS,QAAO,SAACF,EAAiCG,GAE7C,OADAH,EAAIG,EAAKC,UAAYD,EACdH,CACR,GAAE,CAAE,GAICK,GAAgBJ,EAAaX,IAAW,IAAEe,YAC1CC,GAAyBL,EAAaX,IAAW,IAAEgB,qBAC3D,OACEC,oCAAiBX,EAAUJ,UAAWA,GAAa,eAC/Cc,GAAwBT,GACxBU,uBAAKC,wBAAyB,CAAEC,OAAQH,EAAqBT,EAASa,mBAClEH,EAAKI,cAAA,MAAA,CAAAH,wBAAyB,CAAEC,OAAQJ,GAAe,MAGnE"}
1
+ {"version":3,"file":"PricePoint-ebe1e6a0.js","sources":["../src/PricePoint/PricePoint.tsx"],"sourcesContent":["/* eslint-disable camelcase */\n/* eslint-disable react/no-danger */\n/* eslint-disable no-param-reassign */\nimport * as React from 'react';\nimport { ILegals } from '../Disclaimers/Disclaimers.types';\nimport { PricePointProps } from './PricePoint.types';\n\nexport const PricePoint = ({\n locale,\n className = '',\n legals,\n flow,\n dataQaId = 'price-point',\n operator\n}: PricePointProps) => {\n const filteredLegals = legals.filter((obj) => obj.flow === flow);\n\n const legalsArr = flow ? filteredLegals : legals;\n const arrayToObject = (array: ILegals[]) =>\n array.reduce((obj: { [key: string]: ILegals }, item) => {\n obj[item.language] = item;\n return obj;\n }, {});\n\n const legalsObject = arrayToObject(legalsArr);\n\n const { price_point } = legalsObject[locale] || '';\n const { operator_price_point } = legalsObject[locale] || '';\n return (\n <div data-qa-id={dataQaId} className={className || 'price-point'}>\n {(operator_price_point && operator && (\n <div dangerouslySetInnerHTML={{ __html: operator_price_point[operator.toUpperCase()] }} />\n )) || <div dangerouslySetInnerHTML={{ __html: price_point || '' }} />}\n </div>\n );\n};\n"],"names":["PricePoint","_a","locale","_b","className","legals","flow","_c","dataQaId","operator","filteredLegals","filter","obj","legalsObject","reduce","item","language","price_point","operator_price_point","React","dangerouslySetInnerHTML","__html","toUpperCase","createElement"],"mappings":"wBAOO,IAAMA,EAAa,SAACC,OACzBC,EAAMD,EAAAC,OACNC,EAAcF,EAAAG,UAAdA,OAAY,IAAAD,EAAA,GAAEA,EACdE,EAAMJ,EAAAI,OACNC,EAAIL,EAAAK,KACJC,EAAAN,EAAAO,SAAAA,aAAW,cAAaD,EACxBE,EAAQR,EAAAQ,SAEFC,EAAiBL,EAAOM,QAAO,SAACC,GAAQ,OAAAA,EAAIN,OAASA,CAAb,IASxCO,GAPYP,EAAOI,EAAiBL,GAElCS,QAAO,SAACF,EAAiCG,GAE7C,OADAH,EAAIG,EAAKC,UAAYD,EACdH,CACR,GAAE,CAAE,GAICK,GAAgBJ,EAAaX,IAAW,IAAEe,YAC1CC,GAAyBL,EAAaX,IAAW,IAAEgB,qBAC3D,OACEC,oCAAiBX,EAAUJ,UAAWA,GAAa,eAC/Cc,GAAwBT,GACxBU,uBAAKC,wBAAyB,CAAEC,OAAQH,EAAqBT,EAASa,mBAClEH,EAAKI,cAAA,MAAA,CAAAH,wBAAyB,CAAEC,OAAQJ,GAAe,MAGnE"}
@@ -1,2 +1,2 @@
1
- export{P as PricePoint}from"./PricePoint-1cb79580.js";import"react";
1
+ export{P as PricePoint}from"./PricePoint-ebe1e6a0.js";import"react";
2
2
  //# sourceMappingURL=PricePoint.js.map