ouisys-component-library 3.1.86 → 3.1.87
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README_V2.md +64 -0
- package/dist/{Button-91312ecd.js → Button-f2444aa9.js} +1 -1
- package/dist/{Button-91312ecd.js.map → Button-f2444aa9.js.map} +1 -1
- package/dist/Button.js +1 -1
- package/dist/{ChainRedirect-393db897.js → ChainRedirect-e4cbc02f.js} +1 -1
- package/dist/{ChainRedirect-393db897.js.map → ChainRedirect-e4cbc02f.js.map} +1 -1
- package/dist/ChainRedirect.js +1 -1
- package/dist/{ConsentAcceptanceCheck-3351f165.js → ConsentAcceptanceCheck-31edd6d6.js} +2 -2
- package/dist/{ConsentAcceptanceCheck-3351f165.js.map → ConsentAcceptanceCheck-31edd6d6.js.map} +1 -1
- package/dist/ConsentAcceptanceCheck.js +1 -1
- package/dist/{CookieConsent-b604b0cf.js → CookieConsent-d0851467.js} +1 -1
- package/dist/{CookieConsent-b604b0cf.js.map → CookieConsent-d0851467.js.map} +1 -1
- package/dist/CookieConsent.js +1 -1
- package/dist/{DynamicPricePoint-0df17742.js → DynamicPricePoint-e9d212db.js} +1 -1
- package/dist/{DynamicPricePoint-0df17742.js.map → DynamicPricePoint-e9d212db.js.map} +1 -1
- package/dist/DynamicPricePoint.js +1 -1
- package/dist/Email.js +1 -1
- package/dist/{ExtraDisclaimers-72c92d25.js → ExtraDisclaimers-2655fb5f.js} +1 -1
- package/dist/{ExtraDisclaimers-72c92d25.js.map → ExtraDisclaimers-2655fb5f.js.map} +1 -1
- package/dist/ExtraDisclaimers.js +1 -1
- package/dist/{Features-11f13110.js → Features-7cbfa2e1.js} +1 -1
- package/dist/{Features-11f13110.js.map → Features-7cbfa2e1.js.map} +1 -1
- package/dist/Features.js +1 -1
- package/dist/{Footer-eb090c6e.js → Footer-1be6aeea.js} +2 -2
- package/dist/{Footer-eb090c6e.js.map → Footer-1be6aeea.js.map} +1 -1
- package/dist/Footer.js +1 -1
- package/dist/Header.js +1 -1
- package/dist/Header.js.map +1 -1
- package/dist/{Intl-db786eca.js → Intl-ab14b11e.js} +1 -1
- package/dist/{Intl-db786eca.js.map → Intl-ab14b11e.js.map} +1 -1
- package/dist/IntlProvider.js +1 -1
- package/dist/{LanguageSwitcher-982db9d8.js → LanguageSwitcher-38c020b7.js} +1 -1
- package/dist/{LanguageSwitcher-982db9d8.js.map → LanguageSwitcher-38c020b7.js.map} +1 -1
- package/dist/LanguageSwitcher.js +1 -1
- package/dist/{Link-ccbc4618.js → Link-9d543780.js} +1 -1
- package/dist/{Link-ccbc4618.js.map → Link-9d543780.js.map} +1 -1
- package/dist/Link.js +1 -1
- package/dist/MOForm.js +1 -1
- package/dist/{MOLink-0e0061aa.js → MOLink-f1ac6644.js} +1 -1
- package/dist/{MOLink-0e0061aa.js.map → MOLink-f1ac6644.js.map} +1 -1
- package/dist/MOLink.js +1 -1
- package/dist/{Menu-66680e49.js → Menu-98af45b3.js} +2 -2
- package/dist/{Menu-66680e49.js.map → Menu-98af45b3.js.map} +1 -1
- package/dist/Menu.js +1 -1
- package/dist/{PageConfig-4bab64c9.js → PageConfig-638b1449.js} +1 -1
- package/dist/{PageConfig-4bab64c9.js.map → PageConfig-638b1449.js.map} +1 -1
- package/dist/PageConfig.js +1 -1
- package/dist/PageContent.js +1 -1
- package/dist/PhoneEntryForm.js +1 -1
- package/dist/{PhoneInput-520bc743.js → PhoneInput-2fa251e1.js} +1 -1
- package/dist/{PhoneInput-520bc743.js.map → PhoneInput-2fa251e1.js.map} +1 -1
- package/dist/PhoneInput.js +1 -1
- package/dist/PinEntryForm.js +1 -1
- package/dist/{PricePoint-afefa97b.js → PricePoint-c2953a11.js} +1 -1
- package/dist/{PricePoint-afefa97b.js.map → PricePoint-c2953a11.js.map} +1 -1
- package/dist/PricePoint.js +1 -1
- package/dist/{PricingPolicy-6762b07b.js → PricingPolicy-a25449ce.js} +1 -1
- package/dist/{PricingPolicy-6762b07b.js.map → PricingPolicy-a25449ce.js.map} +1 -1
- package/dist/PricingPolicy.js +1 -1
- package/dist/ProductArea.js +1 -1
- package/dist/{RefundPolicy-b2fe90c0.js → RefundPolicy-63252b4a.js} +2 -2
- package/dist/{RefundPolicy-b2fe90c0.js.map → RefundPolicy-63252b4a.js.map} +1 -1
- package/dist/RefundPolicy.js +1 -1
- package/dist/RootWrapper.js +1 -1
- package/dist/{Showcase-9724f3a4.js → Showcase-76a5a560.js} +1 -1
- package/dist/{Showcase-9724f3a4.js.map → Showcase-76a5a560.js.map} +1 -1
- package/dist/Showcase.js +1 -1
- package/dist/{Testimonials-fcaf9e65.js → Testimonials-b8c199c9.js} +1 -1
- package/dist/{Testimonials-fcaf9e65.js.map → Testimonials-b8c199c9.js.map} +1 -1
- package/dist/Testimonials.js +1 -1
- package/dist/ThankYou.js +1 -1
- package/dist/Translate.js +1 -1
- package/dist/{Unsubscription-8fd6a681.js → Unsubscription-15def5d4.js} +2 -2
- package/dist/{Unsubscription-8fd6a681.js.map → Unsubscription-15def5d4.js.map} +1 -1
- package/dist/Unsubscription.js +1 -1
- package/dist/defineMessages.js +1 -1
- package/dist/{focus-f65339b6.js → focus-1013db5b.js} +1 -1
- package/dist/{focus-f65339b6.js.map → focus-1013db5b.js.map} +1 -1
- package/dist/formatSMSLink.js +1 -1
- package/dist/injectIntl.js +1 -1
- package/dist/{routes-8c918964.js → routes-368a4435.js} +1 -1
- package/dist/{routes-8c918964.js.map → routes-368a4435.js.map} +1 -1
- package/dist/styles.css +1 -1
- package/dist/styles.css.map +1 -1
- package/dist/types/custom-types.d.ts +1 -0
- package/package.json +1 -1
package/README_V2.md
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
## Using ouisys-component-library Locally and in Production
|
|
2
|
+
|
|
3
|
+
### 1. Setting up the Local Component Library
|
|
4
|
+
|
|
5
|
+
- Ensure the `ouisys-component-library` directory is at the same level as your dynamic template project.
|
|
6
|
+
- In your dynamic template's `package.json`, set the dependency to use the local build output:
|
|
7
|
+
```json
|
|
8
|
+
"ouisys-component-library": "file:../ouisys-component-library/dist"
|
|
9
|
+
```
|
|
10
|
+
> If your directory structure is different, adjust the path accordingly.
|
|
11
|
+
|
|
12
|
+
### 2. Developing the Component Library
|
|
13
|
+
|
|
14
|
+
- In the `ouisys-component-library` directory, run:
|
|
15
|
+
```
|
|
16
|
+
yarn build:watch
|
|
17
|
+
```
|
|
18
|
+
This will watch for changes and rebuild the library automatically.
|
|
19
|
+
|
|
20
|
+
### 3. Integrating with the Dynamic Template (Development Mode)
|
|
21
|
+
|
|
22
|
+
- In your dynamic template directory, run:
|
|
23
|
+
```
|
|
24
|
+
yarn use:local-library
|
|
25
|
+
```
|
|
26
|
+
This will configure your project to use the local version of the component library.
|
|
27
|
+
- To automatically sync changes from the component library, run:
|
|
28
|
+
```
|
|
29
|
+
yarn watch:library
|
|
30
|
+
```
|
|
31
|
+
This will reinstall the local library in your dynamic template whenever changes are detected.
|
|
32
|
+
|
|
33
|
+
### 4. Switching to the NPM Version for Production
|
|
34
|
+
|
|
35
|
+
- In your dynamic template directory, run:
|
|
36
|
+
```
|
|
37
|
+
yarn use:npm-library
|
|
38
|
+
```
|
|
39
|
+
This will switch your project to use the published NPM version of the component library.
|
|
40
|
+
- To update to the latest version from NPM, run:
|
|
41
|
+
```
|
|
42
|
+
yarn add ouisys-component-library@latest
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### 5. Publishing Updates to NPM
|
|
46
|
+
|
|
47
|
+
- In the `ouisys-component-library` directory, run:
|
|
48
|
+
|
|
49
|
+
- Log in to your NPM account:
|
|
50
|
+
```
|
|
51
|
+
npm login
|
|
52
|
+
```
|
|
53
|
+
Follow the prompts to authenticate.
|
|
54
|
+
- Update the version number in `package.json`:
|
|
55
|
+
```json
|
|
56
|
+
"version": "1.0.0" // Change this to the new version before publishing
|
|
57
|
+
```
|
|
58
|
+
- Publish the updated library:
|
|
59
|
+
```
|
|
60
|
+
npm publish
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
**Note:**
|
|
64
|
+
Always ensure your version number is incremented before publishing to avoid conflicts.
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import{__rest as t,__assign as a}from"tslib";import o from"classnames";import c from"react";var i=function(i){var n=i.children,e=i.className,l=i.dataQaId,r=void 0===l?"button":l,s=i.allowEvinaClass,d=void 0!==s&&s,m=i.isMCP,u=void 0!==m&&m,p=i.tracker,v=i.type,b=void 0===v?"button":v,k=i.onClick,C=t(i,["children","className","dataQaId","allowEvinaClass","isMCP","tracker","type","onClick"]);return c.createElement("button",a({type:b,className:o("button",e,{dcbp:d,mcp:u}),"data-qa-id":r,onClick:function(t){p&&p.customEvent("button","click","click button"),k&&k(t)}},C),n)};export{i as B};
|
|
2
|
-
//# sourceMappingURL=Button-
|
|
2
|
+
//# sourceMappingURL=Button-f2444aa9.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button-
|
|
1
|
+
{"version":3,"file":"Button-f2444aa9.js","sources":["../src/Button/Button.tsx"],"sourcesContent":["import cn from 'classnames';\nimport React from 'react';\nimport { interfaceButton } from './Button.types';\n\nexport const Button = ({\n children,\n className,\n dataQaId = 'button',\n allowEvinaClass = false,\n isMCP = false,\n tracker,\n type = 'button',\n onClick,\n ...props\n}: interfaceButton) => (\n <button\n type={type} // eslint-disable-line react/button-has-type\n className={cn('button', className, { dcbp: allowEvinaClass, mcp: isMCP })}\n data-qa-id={dataQaId}\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => {\n if (tracker) tracker.customEvent('button', 'click', 'click button');\n if (onClick) onClick(event);\n }}\n {...props} // eslint-disable-line react/jsx-props-no-spreading\n >\n {children}\n </button>\n);\n"],"names":["Button","_a","children","className","_b","dataQaId","_c","allowEvinaClass","_d","isMCP","tracker","_e","type","onClick","props","__rest","React","createElement","__assign","cn","dcbp","mcp","event","customEvent"],"mappings":"4FAIO,IAAMA,EAAS,SAACC,GACrB,IAAAC,EAAQD,EAAAC,SACRC,EAASF,EAAAE,UACTC,aAAAC,aAAW,SAAQD,EACnBE,EAAuBL,EAAAM,gBAAvBA,OAAkB,IAAAD,KAClBE,EAAAP,EAAAQ,MAAAA,OAAK,IAAAD,GAAQA,EACbE,EAAOT,EAAAS,QACPC,SAAAC,aAAO,SAAQD,EACfE,EAAOZ,EAAAY,QACJC,EAAKC,EAAAd,EATa,0FAUA,OACrBe,EAAAC,cAAA,SAAAC,EAAA,CACEN,KAAMA,EACNT,UAAWgB,EAAG,SAAUhB,EAAW,CAAEiB,KAAMb,EAAiBc,IAAKZ,IAAQ,aAC7DJ,EACZQ,QAAS,SAACS,GACJZ,GAASA,EAAQa,YAAY,SAAU,QAAS,gBAChDV,GAASA,EAAQS,EACvB,GACIR,GAEHZ"}
|
package/dist/Button.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{B as Button}from"./Button-
|
|
1
|
+
export{B as Button}from"./Button-f2444aa9.js";import"tslib";import"classnames";import"react";
|
|
2
2
|
//# sourceMappingURL=Button.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import e,{useEffect as t}from"react";var n=function(e){try{if(e.startsWith("/")){var t=function(e){var t;do{t=e;try{e=decodeURIComponent(e)}catch(e){break}}while(e!==t);return e}(e);if(!/^https?:\/\//i.test(t))throw new Error("Decoded string is not an absolute URL: ".concat(t));window.location.href=t}else!function(e){try{return new URL(e),!0}catch(e){return!1}}(e)?window.location.href="/api/v1/resolve-wfl?token=".concat(e):window.location.href=e}catch(t){console.error(t),window.location.href="/api/v1/resolve-wfl?token=".concat(e)}},r=function(r){var o=r.chainRedirectUrl,i=r.tracker,a=r.className,c=r.dataQaId,d=void 0===c?"chain-redirect-":c;return t((function(){"undefined"!=typeof window&&window.pac_analytics&&window.pac_analytics.visitor&&setTimeout((function(){null==i||i.customEvent("Chain-Redirect","redirect","ChainFlow",{redirectUrl:o}),n(o)}),2e3)}),[]),e.createElement("div",{"data-qa-id":d,className:a},e.createElement("h3",null,"Redirecting..."))};export{r as C};
|
|
2
|
-
//# sourceMappingURL=ChainRedirect-
|
|
2
|
+
//# sourceMappingURL=ChainRedirect-e4cbc02f.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChainRedirect-
|
|
1
|
+
{"version":3,"file":"ChainRedirect-e4cbc02f.js","sources":["../src/ChainRedirect/ChainRedirect.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { IChainRedirectProps } from './ChainRedirect.types';\n\nconst isUrl = (value: string): boolean => {\n try {\n // eslint-disable-next-line no-new\n new URL(value);\n return true;\n } catch {\n return false;\n }\n};\n\nfunction isSlashFirst(str: string): boolean {\n return str.startsWith('/');\n}\nfunction fullyDecode(s: string): string {\n let prev;\n do {\n prev = s;\n try {\n s = decodeURIComponent(s);\n } catch {\n break;\n } // stop if it’s no longer valid UTF-8\n } while (s !== prev);\n return s;\n}\n\nconst handleResolveRedirect = (url: string) => {\n try {\n if (isSlashFirst(url)) {\n const target = fullyDecode(url);\n if (!/^https?:\\/\\//i.test(target)) {\n throw new Error(`Decoded string is not an absolute URL: ${target}`);\n }\n window.location.href = target;\n } else if (isUrl(url)) {\n window.location.href = url;\n } else {\n window.location.href = `/api/v1/resolve-wfl?token=${url}`;\n }\n } catch (e) {\n console.error(e);\n window.location.href = `/api/v1/resolve-wfl?token=${url}`;\n }\n};\n\nexport const ChainRedirect = ({\n chainRedirectUrl,\n tracker,\n className,\n dataQaId = 'chain-redirect-'\n}: IChainRedirectProps) => {\n useEffect(() => {\n if (typeof window !== 'undefined' && !!window.pac_analytics && !!window.pac_analytics.visitor) {\n setTimeout(() => {\n tracker?.customEvent('Chain-Redirect', 'redirect', 'ChainFlow', { redirectUrl: chainRedirectUrl });\n handleResolveRedirect(chainRedirectUrl);\n }, 2000);\n }\n }, []);\n\n return (\n <div data-qa-id={dataQaId} className={className}>\n <h3>Redirecting...</h3>\n </div>\n );\n};\n"],"names":["handleResolveRedirect","url","startsWith","target","s","prev","decodeURIComponent","_a","fullyDecode","test","Error","window","location","href","value","URL","isUrl","concat","e","console","error","ChainRedirect","chainRedirectUrl","tracker","className","_b","dataQaId","useEffect","pac_analytics","visitor","setTimeout","customEvent","redirectUrl","React","createElement"],"mappings":"qCA6BA,IAAMA,EAAwB,SAACC,GAC7B,IACE,GAAiBA,EAjBRC,WAAW,KAiBG,CACrB,IAAMC,EAhBZ,SAAqBC,GACnB,IAAIC,EACJ,EAAG,CACDA,EAAOD,EACP,IACEA,EAAIE,mBAAmBF,EACxB,CAAC,MAAMG,GACN,KACD,QACMH,IAAMC,GACf,OAAOD,CACT,CAKqBI,CAAYP,GAC3B,IAAK,gBAAgBQ,KAAKN,GACxB,MAAM,IAAIO,MAAM,iDAA0CP,IAE5DQ,OAAOC,SAASC,KAAOV,CACxB,MAlCS,SAACW,GACb,IAGE,OADA,IAAIC,IAAID,IACD,CACR,CAAC,MAAMP,GACN,OAAO,CACR,CACH,CA0BeS,CAAMf,GAGfU,OAAOC,SAASC,KAAO,6BAA6BI,OAAAhB,GAFpDU,OAAOC,SAASC,KAAOZ,CAI1B,CAAC,MAAOiB,GACPC,QAAQC,MAAMF,GACdP,OAAOC,SAASC,KAAO,6BAA6BI,OAAAhB,EACrD,CACH,EAEaoB,EAAgB,SAACd,GAC5B,IAAAe,EAAgBf,EAAAe,iBAChBC,EAAOhB,EAAAgB,QACPC,EAASjB,EAAAiB,UACTC,EAA4BlB,EAAAmB,SAA5BA,OAAQ,IAAAD,EAAG,kBAAiBA,EAW5B,OATAE,GAAU,WACc,oBAAXhB,QAA4BA,OAAOiB,eAAmBjB,OAAOiB,cAAcC,SACpFC,YAAW,WACTP,SAAAA,EAASQ,YAAY,iBAAkB,WAAY,YAAa,CAAEC,YAAaV,IAC/EtB,EAAsBsB,EACvB,GAAE,IAEN,GAAE,IAGDW,EAAiBC,cAAA,MAAA,CAAA,aAAAR,EAAUF,UAAWA,GACpCS,EAAuBC,cAAA,KAAA,KAAA,kBAG7B"}
|
package/dist/ChainRedirect.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{C as ChainRedirect}from"./ChainRedirect-
|
|
1
|
+
export{C as ChainRedirect}from"./ChainRedirect-e4cbc02f.js";import"react";
|
|
2
2
|
//# sourceMappingURL=ChainRedirect.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as e from"react";import{E as a}from"./ExtraDisclaimers-
|
|
2
|
-
//# sourceMappingURL=ConsentAcceptanceCheck-
|
|
1
|
+
import*as e from"react";import{E as a}from"./ExtraDisclaimers-2655fb5f.js";var c=function(c){var n=c.checked,l=c.locale,o=c.legals,s=c.showErrorMessage,r=c.pageConfigs,m=c.customConsentMessage,i=c.formattedMessage,d=c.className,g=c.modalClassName,h=c.showModal;c.tracker;var _=c.onCheckedChange,C=c.onClickYes;return e.createElement(e.Fragment,null,s&&!(null==r?void 0:r.isShowConsentCheckModal)&&e.createElement("div",{className:"warning-message"},i?i({id:"consentErrorMessage",defaultMessage:"You must accept the terms and conditions to proceed"}):"Check this box to proceed"),e.createElement("div",{className:"consent-acceptance-container ".concat(d?"".concat(d):"")},e.createElement("label",{htmlFor:"agree"},e.createElement("input",{type:"checkbox",checked:n,onChange:function(e){_(e.target.checked)},name:"agree",id:"agree"}),m?e.createElement("p",{className:"disclaimer",dangerouslySetInnerHTML:{__html:m}}):e.createElement(a,{className:"consent-acceptance-disclaimer ".concat(d?"".concat(d):""),locale:l||"en",legals:o}))),(null==r?void 0:r.isShowConsentCheckModal)&&e.createElement(t,{locale:l||"en",confirmText:i?i({id:"confirmConsentAcceptance",defaultMessage:"Yes"}):"Yes",show:h,legals:o,onClickYes:function(e){C(e)},modalClassName:g||""}))},t=function(c){var t=c.onClickYes,n=c.locale,l=c.confirmText,o=c.show,s=void 0!==o&&o,r=c.legals,m=c.modalClassName;return s?e.createElement("div",{className:m?"".concat(m," modal"):"modal"},e.createElement("div",{className:m?"".concat(m,"__content modal__content"):"modal__content"},e.createElement(a,{className:m?"".concat(m,"__disclaimer modal__disclaimer"):"modal__disclaimer",locale:n,legals:r}),e.createElement("button",{className:m?"".concat(m,"__btn modal__btn btn"):"modal__btn btn",onClick:t},l||"Yes"))):null};export{c as C};
|
|
2
|
+
//# sourceMappingURL=ConsentAcceptanceCheck-31edd6d6.js.map
|
package/dist/{ConsentAcceptanceCheck-3351f165.js.map → ConsentAcceptanceCheck-31edd6d6.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConsentAcceptanceCheck-
|
|
1
|
+
{"version":3,"file":"ConsentAcceptanceCheck-31edd6d6.js","sources":["../src/ConsentAcceptanceCheck/ConsentAcceptanceCheck.tsx"],"sourcesContent":["/* eslint-disable react/button-has-type */\nimport * as React from 'react';\nimport { ExtraDisclaimers } from '../ExtraDisclaimers/ExtraDisclaimers';\nimport { IModalConfirmationProps, ITermsAccpetanceCheckProps } from './ConsentAcceptanceCheck.types';\n\nexport const ConsentAcceptanceCheck: React.FC<ITermsAccpetanceCheckProps> = ({\n checked,\n locale,\n legals,\n showErrorMessage,\n pageConfigs,\n customConsentMessage,\n formattedMessage,\n className,\n modalClassName,\n showModal,\n tracker,\n onCheckedChange,\n onClickYes\n}) => (\n <>\n {showErrorMessage && !pageConfigs?.isShowConsentCheckModal && (\n <div className=\"warning-message\">\n {formattedMessage\n ? formattedMessage({\n id: 'consentErrorMessage',\n defaultMessage: 'You must accept the terms and conditions to proceed'\n })\n : 'Check this box to proceed'}\n </div>\n )}\n <div className={`consent-acceptance-container ${className ? `${className}` : ''}`}>\n <label htmlFor=\"agree\">\n <input\n type=\"checkbox\"\n checked={checked}\n onChange={(ev) => {\n onCheckedChange(ev.target.checked);\n }}\n name=\"agree\"\n id=\"agree\"\n />\n\n {customConsentMessage ? (\n <p className=\"disclaimer\" dangerouslySetInnerHTML={{ __html: customConsentMessage }} />\n ) : (\n <ExtraDisclaimers\n className={`consent-acceptance-disclaimer ${className ? `${className}` : ''}`}\n locale={locale || 'en'}\n legals={legals}\n />\n )}\n </label>\n </div>\n\n {pageConfigs?.isShowConsentCheckModal && (\n <ModalConfirmation\n locale={locale || 'en'}\n confirmText={\n formattedMessage ? formattedMessage({ id: 'confirmConsentAcceptance', defaultMessage: 'Yes' }) : 'Yes'\n }\n show={showModal}\n legals={legals}\n onClickYes={(e) => {\n onClickYes(e);\n }}\n modalClassName={modalClassName || ''}\n />\n )}\n </>\n);\n\nconst ModalConfirmation: React.FC<IModalConfirmationProps> = ({\n onClickYes,\n locale,\n confirmText,\n show = false,\n legals,\n modalClassName\n}) => {\n if (!show) return null;\n return (\n <div className={modalClassName ? `${modalClassName} modal` : 'modal'}>\n <div className={modalClassName ? `${modalClassName}__content modal__content` : 'modal__content'}>\n <ExtraDisclaimers\n className={modalClassName ? `${modalClassName}__disclaimer modal__disclaimer` : 'modal__disclaimer'}\n locale={locale}\n legals={legals}\n />\n <button\n className={modalClassName ? `${modalClassName}__btn modal__btn btn` : 'modal__btn btn'}\n onClick={onClickYes}\n >\n {confirmText || 'Yes'}\n </button>\n </div>\n </div>\n );\n};\n\nexport default ModalConfirmation;\n"],"names":["ConsentAcceptanceCheck","_a","checked","locale","legals","showErrorMessage","pageConfigs","customConsentMessage","formattedMessage","className","modalClassName","showModal","onCheckedChange","onClickYes","React","createElement","Fragment","isShowConsentCheckModal","id","defaultMessage","concat","htmlFor","type","onChange","ev","target","name","dangerouslySetInnerHTML","__html","ExtraDisclaimers","ModalConfirmation","confirmText","show","e","_b","onClick"],"mappings":"2EAKO,IAAMA,EAA+D,SAACC,GAC3E,IAAAC,YACAC,EAAMF,EAAAE,OACNC,EAAMH,EAAAG,OACNC,EAAgBJ,EAAAI,iBAChBC,EAAWL,EAAAK,YACXC,yBACAC,EAAgBP,EAAAO,iBAChBC,EAASR,EAAAQ,UACTC,EAAcT,EAAAS,eACdC,EAASV,EAAAU,oBAET,IAAAC,EAAeX,EAAAW,gBACfC,EAAUZ,EAAAY,WACN,OACJC,EAAAC,cAAAD,EAAAE,SAAA,KACGX,KAAqBC,eAAAA,EAAaW,0BACjCH,EAAAC,cAAA,MAAA,CAAKN,UAAU,mBACZD,EACGA,EAAiB,CACfU,GAAI,sBACJC,eAAgB,wDAElB,6BAGRL,EAAAC,cAAA,MAAA,CAAKN,UAAW,gCAAgCW,OAAAX,EAAY,GAAGW,OAAAX,GAAc,KAC3EK,EAAOC,cAAA,QAAA,CAAAM,QAAQ,SACbP,EACEC,cAAA,QAAA,CAAAO,KAAK,WACLpB,QAASA,EACTqB,SAAU,SAACC,GACTZ,EAAgBY,EAAGC,OAAOvB,QAC3B,EACDwB,KAAK,QACLR,GAAG,UAGJX,EACCO,EAAAC,cAAA,IAAA,CAAGN,UAAU,aAAakB,wBAAyB,CAAEC,OAAQrB,KAE7DO,EAACC,cAAAc,EACC,CAAApB,UAAW,iCAAiCW,OAAAX,EAAY,GAAAW,OAAGX,GAAc,IACzEN,OAAQA,GAAU,KAClBC,OAAQA,OAMfE,aAAA,EAAAA,EAAaW,0BACZH,EAAAC,cAACe,EAAiB,CAChB3B,OAAQA,GAAU,KAClB4B,YACEvB,EAAmBA,EAAiB,CAAEU,GAAI,2BAA4BC,eAAgB,QAAW,MAEnGa,KAAMrB,EACNP,OAAQA,EACRS,WAAY,SAACoB,GACXpB,EAAWoB,EACZ,EACDvB,eAAgBA,GAAkB,KA/CpC,EAqDAoB,EAAuD,SAAC7B,GAC5D,IAAAY,eACAV,WACA4B,gBACAG,EAAAjC,EAAA+B,KAAAA,OAAI,IAAAE,GAAQA,EACZ9B,EAAMH,EAAAG,OACNM,EAAcT,EAAAS,eAEd,OAAKsB,EAEHlB,EAAAC,cAAA,MAAA,CAAKN,UAAWC,EAAiB,GAAAU,OAAGV,EAAc,UAAW,SAC3DI,EAAAC,cAAA,MAAA,CAAKN,UAAWC,EAAiB,GAAGU,OAAAV,EAAwC,4BAAG,kBAC7EI,EAACC,cAAAc,GACCpB,UAAWC,EAAiB,GAAAU,OAAGV,EAAc,kCAAmC,oBAChFP,OAAQA,EACRC,OAAQA,IAEVU,EACEC,cAAA,SAAA,CAAAN,UAAWC,EAAiB,GAAGU,OAAAV,EAAoC,wBAAG,iBACtEyB,QAAStB,GAERkB,GAAe,SAbN,IAkBpB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{C as ConsentAcceptanceCheck}from"./ConsentAcceptanceCheck-
|
|
1
|
+
export{C as ConsentAcceptanceCheck}from"./ConsentAcceptanceCheck-31edd6d6.js";import"react";import"./ExtraDisclaimers-2655fb5f.js";
|
|
2
2
|
//# sourceMappingURL=ConsentAcceptanceCheck.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import{__read as e,__awaiter as o,__generator as t,__assign as n}from"tslib";import a from"classnames";import*as i from"react";import{useEffect as l}from"react";var r={rating:"CookieConsent-module_rating__7ITg0","rating-area":"CookieConsent-module_rating-area__0PXq-",ratingArea:"CookieConsent-module_rating-area__0PXq-",rating__background:"CookieConsent-module_rating__background__VP3GF",ratingBackground:"CookieConsent-module_rating__background__VP3GF",rating__value:"CookieConsent-module_rating__value__ju1AP",ratingValue:"CookieConsent-module_rating__value__ju1AP",cookie_banner:"CookieConsent-module_cookie_banner__MYTzx",cookieBanner:"CookieConsent-module_cookie_banner__MYTzx",cookie_banner__header:"CookieConsent-module_cookie_banner__header__5qYy1",cookieBannerHeader:"CookieConsent-module_cookie_banner__header__5qYy1",cookie_banner__buttons:"CookieConsent-module_cookie_banner__buttons__S3J-v",cookieBannerButtons:"CookieConsent-module_cookie_banner__buttons__S3J-v",cookie_banner__buttons_customize:"CookieConsent-module_cookie_banner__buttons_customize__jQ2wr",cookieBannerButtonsCustomize:"CookieConsent-module_cookie_banner__buttons_customize__jQ2wr",cookie_banner__modal_overlay:"CookieConsent-module_cookie_banner__modal_overlay__KkrNc",cookieBannerModalOverlay:"CookieConsent-module_cookie_banner__modal_overlay__KkrNc",cookie_banner__modal:"CookieConsent-module_cookie_banner__modal__MQVzA",cookieBannerModal:"CookieConsent-module_cookie_banner__modal__MQVzA",cookie_banner__modal__content:"CookieConsent-module_cookie_banner__modal__content__1NvJM",cookieBannerModalContent:"CookieConsent-module_cookie_banner__modal__content__1NvJM",cookie_banner__modal__content_description:"CookieConsent-module_cookie_banner__modal__content_description__c0BAl",cookieBannerModalContentDescription:"CookieConsent-module_cookie_banner__modal__content_description__c0BAl",cookie_banner__modal__content_item:"CookieConsent-module_cookie_banner__modal__content_item__jdLND",cookieBannerModalContentItem:"CookieConsent-module_cookie_banner__modal__content_item__jdLND",toggle:"CookieConsent-module_toggle__UShoN"},c={en:{cookieConsent:function(e){return{title:"We Value Your Privacy",description:'We uses cookies. See <a href="'.concat(null==e?void 0:e.cookiePolicyUrl,'" target="_blank">Cookie Notice</a> for details.'),acceptAll:"Accept All",rejectAll:"Reject All",customize:"More options",customizeCookie:{title:"Cookie Preferences",ad_storage:{title:"Essential",text:"Required for basic site functionality."},ad_user_data:{title:"Personalization",text:"Remember your choices and tailor your experience."},analytics_storage:{title:"Analytics",text:"Help us understand how our site is used."},ad_personalization:{title:"Advertising",text:"Deliver and measure relevant ads."},save:"Save",cancel:"Cancel"}}}},pl:{cookieConsent:function(e){return{title:"Cenimy Twoją Prywatność",description:'Używamy plików cookie. Zobacz <a href="'.concat(null==e?void 0:e.cookiePolicyUrl,'" target="_blank">Politykę plików cookie</a> po szczegóły.'),acceptAll:"Akceptuj wszystkie",rejectAll:"Odrzuć wszystkie",customize:"Dostosuj",customizeCookie:{title:"Preferencje plików cookie",ad_storage:{title:"Niezbędne",text:"Wymagane do podstawowego działania strony."},ad_user_data:{title:"Personalizacja",text:"Zapamiętuje Twoje wybory i dostosowuje Twoje doświadczenie."},analytics_storage:{title:"Analityka",text:"Pomaga nam zrozumieć, jak nasza strona jest używana."},ad_personalization:{title:"Reklama",text:"Dostarcza i mierzy trafność reklam."},save:"Zapisz",cancel:"Anuluj"}}}},kk:{cookieConsent:function(e){return{title:"Сіздің құпиялылығыңызды қадірлейміз",description:'Біз cookie файлдарын қолданамыз. Толық ақпарат үшін <a href="'.concat(null==e?void 0:e.cookiePolicyUrl,'" target="_blank">Cookie туралы хабарламаны</a> қараңыз.'),acceptAll:"Барлығын қабылдау",rejectAll:"Барлығын қабылдамау",customize:"Баптау",customizeCookie:{title:"Cookie параметрлері",ad_storage:{title:"Міндетті",text:"Сайттың негізгі жұмысы үшін қажет."},ad_user_data:{title:"Жеке баптау",text:"Таңдауларыңызды есте сақтайды және тәжірибеңізді бейімдейді."},analytics_storage:{title:"Аналитика",text:"Сайттың қалай қолданылатынын түсінуге көмектеседі."},ad_personalization:{title:"Жарнама",text:"Сәйкес жарнамаларды жеткізеді және өлшейді."},save:"Сақтау",cancel:"Бас тарту"}}}},kw:{cookieConsent:function(e){return{title:"ئێمە بەرزی بە تایبەتمەندی تۆ دەزانین",description:'ئێمە کۆکی بەکاردێنین. بۆ وردەکاری <a href="'.concat(null==e?void 0:e.cookiePolicyUrl,'" target="_blank">ئاگاداری کۆکی</a> ببینە.'),acceptAll:"هەموویان وەربگرە",rejectAll:"هەموویان ڕەت بکەرەوە",customize:"زیاتر هەڵبژاردن",customizeCookie:{title:"هەڵبژاردنی کۆکی",ad_storage:{title:"پێویست",text:"پێویستە بۆ کارکردنی بنەڕەتی ماڵپەر."},ad_user_data:{title:"شخصییەتی",text:"هەڵبژاردنەکانت لەبیر دەبات و ئەزموونەکەت گۆڕ دەکات."},analytics_storage:{title:"ئانالیتیکس",text:"یارمەتی دەدات بفەهمین چۆن ماڵپەرەکە بەکاردێت."},ad_personalization:{title:"ئاگاداری",text:"ئاگاداری پەیوەندیدار دەنێرێت و پێوانە دەکرێت."},save:"پاشەکەوتکردن",cancel:"پاشگەزبوونەوە"}}}},pt:{cookieConsent:function(e){return{title:"Cenimy Twoją Prywatność",description:'Usamos cookies. Consulte o <a href="'.concat(null==e?void 0:e.cookiePolicyUrl,'" target="_blank">Aviso de Cookies</a> para mais detalhes.'),acceptAll:"Akceptuj wszystkie",rejectAll:"Odrzuć wszystkie",customize:"Dostosuj",customizeCookie:{title:"Preferências de Cookies",ad_storage:{title:"Necessário",text:"Necessário para o funcionamento básico do site."},ad_user_data:{title:"Personalização",text:"Lembra suas escolhas e personaliza sua experiência."},analytics_storage:{title:"Análise",text:"Ajuda-nos a entender como nosso site é utilizado."},ad_personalization:{title:"Publicidade",text:"Entrega e mede anúncios relevantes."},save:"Salvar",cancel:"Cancelar"}}}},zh:{cookieConsent:function(e){return{title:"我們重視您的隱私",description:'我們使用 Cookie。詳情請參閱<a href="'.concat(null==e?void 0:e.cookiePolicyUrl,'" target="_blank">Cookie 通知</a>。'),acceptAll:"全部接受",rejectAll:"全部拒絕",customize:"更多選項",customizeCookie:{title:"Cookie 偏好設定",ad_storage:{title:"必要",text:"網站基本功能所需。"},ad_user_data:{title:"個人化",text:"記住您的選擇並調整您的體驗。"},analytics_storage:{title:"分析",text:"協助我們了解網站的使用狀況。"},ad_personalization:{title:"廣告",text:"投放並評估相關廣告。"},save:"儲存",cancel:"取消"}}}},th:{cookieConsent:function(e){return{title:"เรายึดมั่นในความเป็นส่วนตัวของคุณ",description:'เราใช้คุกกี้ ดูรายละเอียดได้ที่ <a href="'.concat(null==e?void 0:e.cookiePolicyUrl,'" target="_blank">ประกาศเกี่ยวกับคุกกี้</a>'),acceptAll:"ยอมรับทั้งหมด",rejectAll:"ปฏิเสธทั้งหมด",customize:"ตัวเลือกเพิ่มเติม",customizeCookie:{title:"การตั้งค่าคุกกี้",ad_storage:{title:"จำเป็น",text:"จำเป็นสำหรับการทำงานพื้นฐานของเว็บไซต์"},ad_user_data:{title:"การปรับแต่ง",text:"จดจำการเลือกของคุณและปรับแต่งประสบการณ์ของคุณ"},analytics_storage:{title:"วิเคราะห์",text:"ช่วยให้เราเข้าใจการใช้งานเว็บไซต์ของเรา"},ad_personalization:{title:"โฆษณา",text:"นำเสนอและวัดผลโฆษณาที่เกี่ยวข้อง"},save:"บันทึก",cancel:"ยกเลิก"}}}},sl:{cookieConsent:function(e){return{title:"Cenimo vašo zasebnost",description:'Uporabljamo piškotke. Za podrobnosti si oglejte <a href="'.concat(null==e?void 0:e.cookiePolicyUrl,'" target="_blank">Obvestilo o piškotkih</a>.'),acceptAll:"Sprejmi vse",rejectAll:"Zavrni vse",customize:"Več možnosti",customizeCookie:{title:"Nastavitve piškotkov",ad_storage:{title:"Bistveno",text:"Potrebno za osnovno delovanje strani."},ad_user_data:{title:"Personalizacija",text:"Zapomni si vaše izbire in prilagodi vašo izkušnjo."},analytics_storage:{title:"Analitika",text:"Pomaga nam razumeti, kako se naša stran uporablja."},ad_personalization:{title:"Oglaševanje",text:"Dostavlja in meri relevantne oglase."},save:"Shrani",cancel:"Prekliči"}}}},el:{cookieConsent:function(e){return{title:"Σεβόμαστε την Ιδιωτικότητά σας",description:'Χρησιμοποιούμε cookies. Δείτε την <a href="'.concat(null==e?void 0:e.cookiePolicyUrl,'" target="_blank">Ειδοποίηση Cookie</a> για λεπτομέρειες.'),acceptAll:"Αποδοχή Όλων",rejectAll:"Απόρριψη Όλων",customize:"Περισσότερες επιλογές",customizeCookie:{title:"Προτιμήσεις Cookies",ad_storage:{title:"Απαραίτητα",text:"Απαιτείται για βασική λειτουργικότητα ιστότοπου."},ad_user_data:{title:"Προσωποποίηση",text:"Θυμάται τις επιλογές σας και προσαρμόζει την εμπειρία σας."},analytics_storage:{title:"Αναλυτικά",text:"Μας βοηθά να κατανοήσουμε πώς χρησιμοποιείται ο ιστότοπός μας."},ad_personalization:{title:"Διαφήμιση",text:"Παρέχει και μετρά σχετικές διαφημίσεις."},save:"Αποθήκευση",cancel:"Ακύρωση"}}}}},_={event:"default",ad_storage:"granted",ad_user_data:"denied",analytics_storage:"granted",ad_personalization:"denied"},s=function(s){var d,u,k=s.locale,m=void 0===k?"en":k,C=s.onUpdate,v=s.tracker,b=s.hasMoreOptions,g=e(i.useState(!1),2),p=g[0],z=g[1],y=e(i.useState(!1),2),f=y[0],j=y[1],x=e(i.useState(_),2),A=x[0],P=x[1],h=(null==c?void 0:c[m])||c.en,N=null==h?void 0:h.cookieConsent({cookiePolicyUrl:"/".concat(m,"/cookies")});l((function(){var e=localStorage.getItem("cookieConsent");if(e){var o=JSON.parse(e);P(o),w(o,"consent_update")}else z(!0),w(_,"consent_default")}),[]);var w=function(e,a){return void 0===a&&(a="consent_update"),o(void 0,void 0,void 0,(function(){var o;return t(this,(function(t){try{o=n(n({},e),{event:a}),"consent_default"!==a&&(localStorage.setItem("cookieConsent",JSON.stringify(o)),z(!1),j(!1)),null==v||v.customEvent(a,"update","consent",JSON.stringify(o)),window.dataLayer.push(o),C&&C(e)}catch(e){console.error(e)}return[2]}))}))},E=function(e){P((function(o){var t;return n(n({},o),((t={})[e]="granted"===o[e]?"denied":"granted",t))}))},S=function(e,o){var t,n;return void 0===o&&(o=!1),i.createElement("div",{role:"button",className:a(r.cookie_banner__modal__content_item),onClick:function(){return!o&&E(e)}},i.createElement("label",null,i.createElement("input",{type:"checkbox",checked:"granted"===A[e],onChange:function(){return!o&&E(e)}}),i.createElement("span",{className:a(r.toggle)}),null===(t=null==N?void 0:N.customizeCookie[e])||void 0===t?void 0:t.title),i.createElement("span",null," ",null===(n=null==N?void 0:N.customizeCookie[e])||void 0===n?void 0:n.text))};return i.createElement(i.Fragment,null,p&&i.createElement("div",{className:a(r.cookie_banner,"cookie_banner__modal")},i.createElement("div",{className:a(r.cookie_banner__modal_overlay)},i.createElement("div",{className:a(r.cookie_banner__modal)},i.createElement("div",{className:a(r.cookie_banner__header)},i.createElement("div",{className:a(r.cookie_banner__modal__content_description),dangerouslySetInnerHTML:{__html:null==N?void 0:N.description}}),i.createElement("div",{className:a(r.cookie_banner__buttons,"buttons")},i.createElement("button",{className:a(r.cookie_banner__buttons_accept_all),type:"button",onClick:function(){w(n(n({},_),{ad_storage:"granted",analytics_storage:"granted",ad_user_data:"granted",ad_personalization:"granted"}))}},null==N?void 0:N.acceptAll),i.createElement("button",{className:a(r.cookie_banner__buttons_reject_all),type:"button",onClick:function(){w(_)}},null==N?void 0:N.rejectAll),b&&i.createElement("button",{className:a(r.cookie_banner__buttons_customize),type:"button",onClick:function(){return j(!f)}},"..."))),f&&i.createElement(i.Fragment,null,i.createElement("div",{className:a(r.cookie_banner__modal__content)},S("ad_storage",!0),S("analytics_storage",!0),S("ad_user_data"),S("ad_personalization"),i.createElement("div",{className:a(r.cookie_banner__buttons)},i.createElement("button",{type:"button",onClick:function(){w(A)}},null===(d=null==N?void 0:N.customizeCookie)||void 0===d?void 0:d.save),i.createElement("button",{type:"button",onClick:function(){return j(!1)}},null===(u=null==N?void 0:N.customizeCookie)||void 0===u?void 0:u.cancel))))))))};export{s as C};
|
|
2
|
-
//# sourceMappingURL=CookieConsent-
|
|
2
|
+
//# sourceMappingURL=CookieConsent-d0851467.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CookieConsent-b604b0cf.js","sources":["../src/CookieConsent/locale/index.ts","../src/CookieConsent/CookieConsent.tsx"],"sourcesContent":["interface ILangPrams {\n cookiePolicyUrl: string;\n}\n\nconst lng = {\n en: {\n cookieConsent: (params: Partial<ILangPrams>) => ({\n title: 'We Value Your Privacy',\n description: `We uses cookies. See <a href=\"${params?.cookiePolicyUrl}\" target=\"_blank\">Cookie Notice</a> for details.`,\n acceptAll: 'Accept All',\n rejectAll: 'Reject All',\n customize: 'More options',\n customizeCookie: {\n title: 'Cookie Preferences',\n ad_storage: { title: 'Essential', text: 'Required for basic site functionality.' },\n ad_user_data: {\n title: 'Personalization',\n text: 'Remember your choices and tailor your experience.'\n },\n analytics_storage: { title: 'Analytics', text: 'Help us understand how our site is used.' },\n ad_personalization: { title: 'Advertising', text: 'Deliver and measure relevant ads.' },\n save: 'Save',\n cancel: 'Cancel'\n }\n })\n },\n pl: {\n cookieConsent: (params: Partial<ILangPrams>) => ({\n title: 'Cenimy Twoją Prywatność',\n description: `Używamy plików cookie. Zobacz <a href=\"${params?.cookiePolicyUrl}\" target=\"_blank\">Politykę plików cookie</a> po szczegóły.`,\n acceptAll: 'Akceptuj wszystkie',\n rejectAll: 'Odrzuć wszystkie',\n customize: 'Dostosuj',\n customizeCookie: {\n title: 'Preferencje plików cookie',\n ad_storage: { title: 'Niezbędne', text: 'Wymagane do podstawowego działania strony.' },\n ad_user_data: {\n title: 'Personalizacja',\n text: 'Zapamiętuje Twoje wybory i dostosowuje Twoje doświadczenie.'\n },\n analytics_storage: { title: 'Analityka', text: 'Pomaga nam zrozumieć, jak nasza strona jest używana.' },\n ad_personalization: { title: 'Reklama', text: 'Dostarcza i mierzy trafność reklam.' },\n save: 'Zapisz',\n cancel: 'Anuluj'\n }\n })\n },\n kk: {\n cookieConsent: (params: Partial<ILangPrams>) => ({\n title: 'Сіздің құпиялылығыңызды қадірлейміз',\n description: `Біз cookie файлдарын қолданамыз. Толық ақпарат үшін <a href=\"${params?.cookiePolicyUrl}\" target=\"_blank\">Cookie туралы хабарламаны</a> қараңыз.`,\n acceptAll: 'Барлығын қабылдау',\n rejectAll: 'Барлығын қабылдамау',\n customize: 'Баптау',\n customizeCookie: {\n title: 'Cookie параметрлері',\n ad_storage: { title: 'Міндетті', text: 'Сайттың негізгі жұмысы үшін қажет.' },\n ad_user_data: {\n title: 'Жеке баптау',\n text: 'Таңдауларыңызды есте сақтайды және тәжірибеңізді бейімдейді.'\n },\n analytics_storage: { title: 'Аналитика', text: 'Сайттың қалай қолданылатынын түсінуге көмектеседі.' },\n ad_personalization: { title: 'Жарнама', text: 'Сәйкес жарнамаларды жеткізеді және өлшейді.' },\n save: 'Сақтау',\n cancel: 'Бас тарту'\n }\n })\n },\n kw: {\n cookieConsent: (params: Partial<ILangPrams>) => ({\n title: 'ئێمە بەرزی بە تایبەتمەندی تۆ دەزانین',\n description: `ئێمە کۆکی بەکاردێنین. بۆ وردەکاری <a href=\"${params?.cookiePolicyUrl}\" target=\"_blank\">ئاگاداری کۆکی</a> ببینە.`,\n acceptAll: 'هەموویان وەربگرە',\n rejectAll: 'هەموویان ڕەت بکەرەوە',\n customize: 'زیاتر هەڵبژاردن',\n customizeCookie: {\n title: 'هەڵبژاردنی کۆکی',\n ad_storage: { title: 'پێویست', text: 'پێویستە بۆ کارکردنی بنەڕەتی ماڵپەر.' },\n ad_user_data: {\n title: 'شخصییەتی',\n text: 'هەڵبژاردنەکانت لەبیر دەبات و ئەزموونەکەت گۆڕ دەکات.'\n },\n analytics_storage: { title: 'ئانالیتیکس', text: 'یارمەتی دەدات بفەهمین چۆن ماڵپەرەکە بەکاردێت.' },\n ad_personalization: { title: 'ئاگاداری', text: 'ئاگاداری پەیوەندیدار دەنێرێت و پێوانە دەکرێت.' },\n save: 'پاشەکەوتکردن',\n cancel: 'پاشگەزبوونەوە'\n }\n })\n },\n pt: {\n cookieConsent: (params: Partial<ILangPrams>) => ({\n title: 'Cenimy Twoją Prywatność',\n description: `Usamos cookies. Consulte o <a href=\"${params?.cookiePolicyUrl}\" target=\"_blank\">Aviso de Cookies</a> para mais detalhes.`,\n acceptAll: 'Akceptuj wszystkie',\n rejectAll: 'Odrzuć wszystkie',\n customize: 'Dostosuj',\n customizeCookie: {\n title: 'Preferências de Cookies',\n ad_storage: { title: 'Necessário', text: 'Necessário para o funcionamento básico do site.' },\n ad_user_data: {\n title: 'Personalização',\n text: 'Lembra suas escolhas e personaliza sua experiência.'\n },\n analytics_storage: { title: 'Análise', text: 'Ajuda-nos a entender como nosso site é utilizado.' },\n ad_personalization: { title: 'Publicidade', text: 'Entrega e mede anúncios relevantes.' },\n save: 'Salvar',\n cancel: 'Cancelar'\n }\n })\n },\n zh: {\n cookieConsent: (params: Partial<ILangPrams>) => ({\n title: '我們重視您的隱私',\n description: `我們使用 Cookie。詳情請參閱<a href=\"${params?.cookiePolicyUrl}\" target=\"_blank\">Cookie 通知</a>。`,\n acceptAll: '全部接受',\n rejectAll: '全部拒絕',\n customize: '更多選項',\n customizeCookie: {\n title: 'Cookie 偏好設定',\n ad_storage: { title: '必要', text: '網站基本功能所需。' },\n ad_user_data: {\n title: '個人化',\n text: '記住您的選擇並調整您的體驗。'\n },\n analytics_storage: { title: '分析', text: '協助我們了解網站的使用狀況。' },\n ad_personalization: { title: '廣告', text: '投放並評估相關廣告。' },\n save: '儲存',\n cancel: '取消'\n }\n })\n },\n th: {\n cookieConsent: (params: Partial<ILangPrams>) => ({\n title: 'เรายึดมั่นในความเป็นส่วนตัวของคุณ',\n description: `เราใช้คุกกี้ ดูรายละเอียดได้ที่ <a href=\"${params?.cookiePolicyUrl}\" target=\"_blank\">ประกาศเกี่ยวกับคุกกี้</a>`,\n acceptAll: 'ยอมรับทั้งหมด',\n rejectAll: 'ปฏิเสธทั้งหมด',\n customize: 'ตัวเลือกเพิ่มเติม',\n customizeCookie: {\n title: 'การตั้งค่าคุกกี้',\n ad_storage: { title: 'จำเป็น', text: 'จำเป็นสำหรับการทำงานพื้นฐานของเว็บไซต์' },\n ad_user_data: {\n title: 'การปรับแต่ง',\n text: 'จดจำการเลือกของคุณและปรับแต่งประสบการณ์ของคุณ'\n },\n analytics_storage: { title: 'วิเคราะห์', text: 'ช่วยให้เราเข้าใจการใช้งานเว็บไซต์ของเรา' },\n ad_personalization: { title: 'โฆษณา', text: 'นำเสนอและวัดผลโฆษณาที่เกี่ยวข้อง' },\n save: 'บันทึก',\n cancel: 'ยกเลิก'\n }\n })\n },\n sl: {\n cookieConsent: (params: Partial<ILangPrams>) => ({\n title: 'Cenimo vašo zasebnost',\n description: `Uporabljamo piškotke. Za podrobnosti si oglejte <a href=\"${params?.cookiePolicyUrl}\" target=\"_blank\">Obvestilo o piškotkih</a>.`,\n acceptAll: 'Sprejmi vse',\n rejectAll: 'Zavrni vse',\n customize: 'Več možnosti',\n customizeCookie: {\n title: 'Nastavitve piškotkov',\n ad_storage: { title: 'Bistveno', text: 'Potrebno za osnovno delovanje strani.' },\n ad_user_data: {\n title: 'Personalizacija',\n text: 'Zapomni si vaše izbire in prilagodi vašo izkušnjo.'\n },\n analytics_storage: { title: 'Analitika', text: 'Pomaga nam razumeti, kako se naša stran uporablja.' },\n ad_personalization: { title: 'Oglaševanje', text: 'Dostavlja in meri relevantne oglase.' },\n save: 'Shrani',\n cancel: 'Prekliči'\n }\n })\n },\n el: {\n cookieConsent: (params: Partial<ILangPrams>) => ({\n title: 'Σεβόμαστε την Ιδιωτικότητά σας',\n description: `Χρησιμοποιούμε cookies. Δείτε την <a href=\"${params?.cookiePolicyUrl}\" target=\"_blank\">Ειδοποίηση Cookie</a> για λεπτομέρειες.`,\n acceptAll: 'Αποδοχή Όλων',\n rejectAll: 'Απόρριψη Όλων',\n customize: 'Περισσότερες επιλογές',\n customizeCookie: {\n title: 'Προτιμήσεις Cookies',\n ad_storage: { title: 'Απαραίτητα', text: 'Απαιτείται για βασική λειτουργικότητα ιστότοπου.' },\n ad_user_data: {\n title: 'Προσωποποίηση',\n text: 'Θυμάται τις επιλογές σας και προσαρμόζει την εμπειρία σας.'\n },\n analytics_storage: {\n title: 'Αναλυτικά',\n text: 'Μας βοηθά να κατανοήσουμε πώς χρησιμοποιείται ο ιστότοπός μας.'\n },\n ad_personalization: { title: 'Διαφήμιση', text: 'Παρέχει και μετρά σχετικές διαφημίσεις.' },\n save: 'Αποθήκευση',\n cancel: 'Ακύρωση'\n }\n })\n }\n};\n\nexport default lng;\n","import cn from 'classnames';\nimport * as React from 'react';\nimport { useEffect } from 'react';\nimport styles from './CookieConsent.module.scss';\nimport { CookieConsentProps, ICookieConsent } from './CookieConsent.types';\nimport lng from './locale';\n\nconst defaultConsent: ICookieConsent = {\n event: 'default',\n ad_storage: 'granted',\n ad_user_data: 'denied',\n analytics_storage: 'granted',\n ad_personalization: 'denied'\n};\n\nexport const CookieConsent = ({ locale = 'en', onUpdate, tracker, hasMoreOptions }: CookieConsentProps) => {\n const [showBanner, setShowBanner] = React.useState(false);\n const [showMore, setShowMore] = React.useState(false);\n const [preferences, setPreferences] = React.useState(defaultConsent);\n\n const lg = lng?.[locale as keyof typeof lng] || lng.en;\n const localeData = lg?.cookieConsent({\n cookiePolicyUrl: `/${locale}/cookies`\n });\n\n useEffect(() => {\n const stored = localStorage.getItem('cookieConsent');\n\n if (!stored) {\n setShowBanner(true);\n saveConsent(defaultConsent, 'consent_default');\n } else {\n const storeJson = JSON.parse(stored);\n setPreferences(storeJson);\n saveConsent(storeJson, 'consent_update');\n }\n }, []);\n\n const saveConsent = async (consent: ICookieConsent, event = 'consent_update') => {\n try {\n const payload = { ...consent, event };\n\n if (event !== 'consent_default') {\n localStorage.setItem('cookieConsent', JSON.stringify(payload));\n\n setShowBanner(false);\n\n setShowMore(false);\n }\n\n tracker?.customEvent(event, 'update', 'consent', JSON.stringify(payload));\n\n window.dataLayer.push(payload);\n\n if (onUpdate) {\n onUpdate(consent);\n }\n } catch (error) {\n console.error(error);\n }\n };\n\n const handleAccept = () => {\n saveConsent({\n ...defaultConsent,\n ad_storage: 'granted',\n analytics_storage: 'granted',\n ad_user_data: 'granted',\n ad_personalization: 'granted'\n });\n };\n\n const handleDecline = () => {\n saveConsent(defaultConsent);\n };\n\n const handleSavePreferences = () => {\n saveConsent(preferences);\n };\n\n const togglePreference = (key: any) => {\n setPreferences((prev: any) => ({ ...prev, [key]: prev[key] === 'granted' ? 'denied' : 'granted' }));\n };\n\n const renderMoreOptionItem = (\n option: 'ad_storage' | 'analytics_storage' | 'ad_user_data' | 'ad_personalization',\n disabled = false\n ) => (\n <div\n role=\"button\"\n className={cn(styles.cookie_banner__modal__content_item)}\n onClick={() => !disabled && togglePreference(option)}\n >\n <label>\n <input\n type=\"checkbox\"\n checked={preferences[option] === 'granted'}\n // disabled={disabled}\n onChange={() => !disabled && togglePreference(option)}\n />\n <span className={cn(styles.toggle)} />\n {localeData?.customizeCookie[option]?.title}\n </label>\n <span> {localeData?.customizeCookie[option]?.text}</span>\n </div>\n );\n\n return (\n <>\n {showBanner && (\n <div className={cn(styles.cookie_banner, 'cookie_banner__modal')}>\n <div className={cn(styles.cookie_banner__modal_overlay)}>\n <div className={cn(styles.cookie_banner__modal)}>\n <div className={cn(styles.cookie_banner__header)}>\n <div\n className={cn(styles.cookie_banner__modal__content_description)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{ __html: localeData?.description }}\n />\n <div className={cn(styles.cookie_banner__buttons, 'buttons')}>\n\n <button className={cn(styles.cookie_banner__buttons_accept_all)} type=\"button\" onClick={handleAccept}>\n {localeData?.acceptAll}\n </button>\n <button\n className={cn(styles.cookie_banner__buttons_reject_all)}\n type=\"button\"\n onClick={handleDecline}\n >\n {localeData?.rejectAll}\n </button>\n {hasMoreOptions && (\n <button\n className={cn(styles.cookie_banner__buttons_customize)}\n type=\"button\"\n onClick={() => setShowMore(!showMore)}\n >\n ...\n </button>\n )}\n </div>\n </div>\n {showMore && (\n <>\n <div className={cn(styles.cookie_banner__modal__content)}>\n {renderMoreOptionItem('ad_storage', true)}\n {renderMoreOptionItem('analytics_storage', true)}\n {renderMoreOptionItem('ad_user_data')}\n {renderMoreOptionItem('ad_personalization')}\n <div className={cn(styles.cookie_banner__buttons)}>\n <button type=\"button\" onClick={handleSavePreferences}>\n {localeData?.customizeCookie?.save}\n </button>\n <button type=\"button\" onClick={() => setShowMore(false)}>\n {localeData?.customizeCookie?.cancel}\n </button>\n </div>\n </div>\n </>\n )}\n </div>\n </div>\n </div>\n )}\n </>\n );\n};\n"],"names":["lng","en","cookieConsent","params","title","description","cookiePolicyUrl","acceptAll","rejectAll","customize","customizeCookie","ad_storage","text","ad_user_data","analytics_storage","ad_personalization","save","cancel","pl","kk","kw","pt","zh","th","sl","el","defaultConsent","event","CookieConsent","_a","_d","locale","onUpdate","tracker","hasMoreOptions","_e","__read","React","useState","showBanner","setShowBanner","_f","showMore","setShowMore","_g","preferences","setPreferences","lg","localeData","concat","useEffect","stored","localStorage","getItem","storeJson","JSON","parse","saveConsent","consent","payload","setItem","stringify","customEvent","window","dataLayer","push","error","console","togglePreference","key","prev","renderMoreOptionItem","option","disabled","createElement","role","className","cn","styles","cookie_banner__modal__content_item","onClick","type","checked","onChange","toggle","_b","Fragment","cookie_banner","cookie_banner__modal_overlay","cookie_banner__modal","cookie_banner__header","cookie_banner__modal__content_description","dangerouslySetInnerHTML","__html","cookie_banner__buttons","cookie_banner__buttons_accept_all","cookie_banner__buttons_reject_all","cookie_banner__buttons_customize","cookie_banner__modal__content","_c"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CookieConsent-d0851467.js","sources":["../src/CookieConsent/locale/index.ts","../src/CookieConsent/CookieConsent.tsx"],"sourcesContent":["interface ILangPrams {\n cookiePolicyUrl: string;\n}\n\nconst lng = {\n en: {\n cookieConsent: (params: Partial<ILangPrams>) => ({\n title: 'We Value Your Privacy',\n description: `We uses cookies. See <a href=\"${params?.cookiePolicyUrl}\" target=\"_blank\">Cookie Notice</a> for details.`,\n acceptAll: 'Accept All',\n rejectAll: 'Reject All',\n customize: 'More options',\n customizeCookie: {\n title: 'Cookie Preferences',\n ad_storage: { title: 'Essential', text: 'Required for basic site functionality.' },\n ad_user_data: {\n title: 'Personalization',\n text: 'Remember your choices and tailor your experience.'\n },\n analytics_storage: { title: 'Analytics', text: 'Help us understand how our site is used.' },\n ad_personalization: { title: 'Advertising', text: 'Deliver and measure relevant ads.' },\n save: 'Save',\n cancel: 'Cancel'\n }\n })\n },\n pl: {\n cookieConsent: (params: Partial<ILangPrams>) => ({\n title: 'Cenimy Twoją Prywatność',\n description: `Używamy plików cookie. Zobacz <a href=\"${params?.cookiePolicyUrl}\" target=\"_blank\">Politykę plików cookie</a> po szczegóły.`,\n acceptAll: 'Akceptuj wszystkie',\n rejectAll: 'Odrzuć wszystkie',\n customize: 'Dostosuj',\n customizeCookie: {\n title: 'Preferencje plików cookie',\n ad_storage: { title: 'Niezbędne', text: 'Wymagane do podstawowego działania strony.' },\n ad_user_data: {\n title: 'Personalizacja',\n text: 'Zapamiętuje Twoje wybory i dostosowuje Twoje doświadczenie.'\n },\n analytics_storage: { title: 'Analityka', text: 'Pomaga nam zrozumieć, jak nasza strona jest używana.' },\n ad_personalization: { title: 'Reklama', text: 'Dostarcza i mierzy trafność reklam.' },\n save: 'Zapisz',\n cancel: 'Anuluj'\n }\n })\n },\n kk: {\n cookieConsent: (params: Partial<ILangPrams>) => ({\n title: 'Сіздің құпиялылығыңызды қадірлейміз',\n description: `Біз cookie файлдарын қолданамыз. Толық ақпарат үшін <a href=\"${params?.cookiePolicyUrl}\" target=\"_blank\">Cookie туралы хабарламаны</a> қараңыз.`,\n acceptAll: 'Барлығын қабылдау',\n rejectAll: 'Барлығын қабылдамау',\n customize: 'Баптау',\n customizeCookie: {\n title: 'Cookie параметрлері',\n ad_storage: { title: 'Міндетті', text: 'Сайттың негізгі жұмысы үшін қажет.' },\n ad_user_data: {\n title: 'Жеке баптау',\n text: 'Таңдауларыңызды есте сақтайды және тәжірибеңізді бейімдейді.'\n },\n analytics_storage: { title: 'Аналитика', text: 'Сайттың қалай қолданылатынын түсінуге көмектеседі.' },\n ad_personalization: { title: 'Жарнама', text: 'Сәйкес жарнамаларды жеткізеді және өлшейді.' },\n save: 'Сақтау',\n cancel: 'Бас тарту'\n }\n })\n },\n kw: {\n cookieConsent: (params: Partial<ILangPrams>) => ({\n title: 'ئێمە بەرزی بە تایبەتمەندی تۆ دەزانین',\n description: `ئێمە کۆکی بەکاردێنین. بۆ وردەکاری <a href=\"${params?.cookiePolicyUrl}\" target=\"_blank\">ئاگاداری کۆکی</a> ببینە.`,\n acceptAll: 'هەموویان وەربگرە',\n rejectAll: 'هەموویان ڕەت بکەرەوە',\n customize: 'زیاتر هەڵبژاردن',\n customizeCookie: {\n title: 'هەڵبژاردنی کۆکی',\n ad_storage: { title: 'پێویست', text: 'پێویستە بۆ کارکردنی بنەڕەتی ماڵپەر.' },\n ad_user_data: {\n title: 'شخصییەتی',\n text: 'هەڵبژاردنەکانت لەبیر دەبات و ئەزموونەکەت گۆڕ دەکات.'\n },\n analytics_storage: { title: 'ئانالیتیکس', text: 'یارمەتی دەدات بفەهمین چۆن ماڵپەرەکە بەکاردێت.' },\n ad_personalization: { title: 'ئاگاداری', text: 'ئاگاداری پەیوەندیدار دەنێرێت و پێوانە دەکرێت.' },\n save: 'پاشەکەوتکردن',\n cancel: 'پاشگەزبوونەوە'\n }\n })\n },\n pt: {\n cookieConsent: (params: Partial<ILangPrams>) => ({\n title: 'Cenimy Twoją Prywatność',\n description: `Usamos cookies. Consulte o <a href=\"${params?.cookiePolicyUrl}\" target=\"_blank\">Aviso de Cookies</a> para mais detalhes.`,\n acceptAll: 'Akceptuj wszystkie',\n rejectAll: 'Odrzuć wszystkie',\n customize: 'Dostosuj',\n customizeCookie: {\n title: 'Preferências de Cookies',\n ad_storage: { title: 'Necessário', text: 'Necessário para o funcionamento básico do site.' },\n ad_user_data: {\n title: 'Personalização',\n text: 'Lembra suas escolhas e personaliza sua experiência.'\n },\n analytics_storage: { title: 'Análise', text: 'Ajuda-nos a entender como nosso site é utilizado.' },\n ad_personalization: { title: 'Publicidade', text: 'Entrega e mede anúncios relevantes.' },\n save: 'Salvar',\n cancel: 'Cancelar'\n }\n })\n },\n zh: {\n cookieConsent: (params: Partial<ILangPrams>) => ({\n title: '我們重視您的隱私',\n description: `我們使用 Cookie。詳情請參閱<a href=\"${params?.cookiePolicyUrl}\" target=\"_blank\">Cookie 通知</a>。`,\n acceptAll: '全部接受',\n rejectAll: '全部拒絕',\n customize: '更多選項',\n customizeCookie: {\n title: 'Cookie 偏好設定',\n ad_storage: { title: '必要', text: '網站基本功能所需。' },\n ad_user_data: {\n title: '個人化',\n text: '記住您的選擇並調整您的體驗。'\n },\n analytics_storage: { title: '分析', text: '協助我們了解網站的使用狀況。' },\n ad_personalization: { title: '廣告', text: '投放並評估相關廣告。' },\n save: '儲存',\n cancel: '取消'\n }\n })\n },\n th: {\n cookieConsent: (params: Partial<ILangPrams>) => ({\n title: 'เรายึดมั่นในความเป็นส่วนตัวของคุณ',\n description: `เราใช้คุกกี้ ดูรายละเอียดได้ที่ <a href=\"${params?.cookiePolicyUrl}\" target=\"_blank\">ประกาศเกี่ยวกับคุกกี้</a>`,\n acceptAll: 'ยอมรับทั้งหมด',\n rejectAll: 'ปฏิเสธทั้งหมด',\n customize: 'ตัวเลือกเพิ่มเติม',\n customizeCookie: {\n title: 'การตั้งค่าคุกกี้',\n ad_storage: { title: 'จำเป็น', text: 'จำเป็นสำหรับการทำงานพื้นฐานของเว็บไซต์' },\n ad_user_data: {\n title: 'การปรับแต่ง',\n text: 'จดจำการเลือกของคุณและปรับแต่งประสบการณ์ของคุณ'\n },\n analytics_storage: { title: 'วิเคราะห์', text: 'ช่วยให้เราเข้าใจการใช้งานเว็บไซต์ของเรา' },\n ad_personalization: { title: 'โฆษณา', text: 'นำเสนอและวัดผลโฆษณาที่เกี่ยวข้อง' },\n save: 'บันทึก',\n cancel: 'ยกเลิก'\n }\n })\n },\n sl: {\n cookieConsent: (params: Partial<ILangPrams>) => ({\n title: 'Cenimo vašo zasebnost',\n description: `Uporabljamo piškotke. Za podrobnosti si oglejte <a href=\"${params?.cookiePolicyUrl}\" target=\"_blank\">Obvestilo o piškotkih</a>.`,\n acceptAll: 'Sprejmi vse',\n rejectAll: 'Zavrni vse',\n customize: 'Več možnosti',\n customizeCookie: {\n title: 'Nastavitve piškotkov',\n ad_storage: { title: 'Bistveno', text: 'Potrebno za osnovno delovanje strani.' },\n ad_user_data: {\n title: 'Personalizacija',\n text: 'Zapomni si vaše izbire in prilagodi vašo izkušnjo.'\n },\n analytics_storage: { title: 'Analitika', text: 'Pomaga nam razumeti, kako se naša stran uporablja.' },\n ad_personalization: { title: 'Oglaševanje', text: 'Dostavlja in meri relevantne oglase.' },\n save: 'Shrani',\n cancel: 'Prekliči'\n }\n })\n },\n el: {\n cookieConsent: (params: Partial<ILangPrams>) => ({\n title: 'Σεβόμαστε την Ιδιωτικότητά σας',\n description: `Χρησιμοποιούμε cookies. Δείτε την <a href=\"${params?.cookiePolicyUrl}\" target=\"_blank\">Ειδοποίηση Cookie</a> για λεπτομέρειες.`,\n acceptAll: 'Αποδοχή Όλων',\n rejectAll: 'Απόρριψη Όλων',\n customize: 'Περισσότερες επιλογές',\n customizeCookie: {\n title: 'Προτιμήσεις Cookies',\n ad_storage: { title: 'Απαραίτητα', text: 'Απαιτείται για βασική λειτουργικότητα ιστότοπου.' },\n ad_user_data: {\n title: 'Προσωποποίηση',\n text: 'Θυμάται τις επιλογές σας και προσαρμόζει την εμπειρία σας.'\n },\n analytics_storage: {\n title: 'Αναλυτικά',\n text: 'Μας βοηθά να κατανοήσουμε πώς χρησιμοποιείται ο ιστότοπός μας.'\n },\n ad_personalization: { title: 'Διαφήμιση', text: 'Παρέχει και μετρά σχετικές διαφημίσεις.' },\n save: 'Αποθήκευση',\n cancel: 'Ακύρωση'\n }\n })\n }\n};\n\nexport default lng;\n","import cn from 'classnames';\nimport * as React from 'react';\nimport { useEffect } from 'react';\nimport styles from './CookieConsent.module.scss';\nimport { CookieConsentProps, ICookieConsent } from './CookieConsent.types';\nimport lng from './locale';\n\nconst defaultConsent: ICookieConsent = {\n event: 'default',\n ad_storage: 'granted',\n ad_user_data: 'denied',\n analytics_storage: 'granted',\n ad_personalization: 'denied'\n};\n\nexport const CookieConsent = ({ locale = 'en', onUpdate, tracker, hasMoreOptions }: CookieConsentProps) => {\n const [showBanner, setShowBanner] = React.useState(false);\n const [showMore, setShowMore] = React.useState(false);\n const [preferences, setPreferences] = React.useState(defaultConsent);\n\n const lg = lng?.[locale as keyof typeof lng] || lng.en;\n const localeData = lg?.cookieConsent({\n cookiePolicyUrl: `/${locale}/cookies`\n });\n\n useEffect(() => {\n const stored = localStorage.getItem('cookieConsent');\n\n if (!stored) {\n setShowBanner(true);\n saveConsent(defaultConsent, 'consent_default');\n } else {\n const storeJson = JSON.parse(stored);\n setPreferences(storeJson);\n saveConsent(storeJson, 'consent_update');\n }\n }, []);\n\n const saveConsent = async (consent: ICookieConsent, event = 'consent_update') => {\n try {\n const payload = { ...consent, event };\n\n if (event !== 'consent_default') {\n localStorage.setItem('cookieConsent', JSON.stringify(payload));\n\n setShowBanner(false);\n\n setShowMore(false);\n }\n\n tracker?.customEvent(event, 'update', 'consent', JSON.stringify(payload));\n\n window.dataLayer.push(payload);\n\n if (onUpdate) {\n onUpdate(consent);\n }\n } catch (error) {\n console.error(error);\n }\n };\n\n const handleAccept = () => {\n saveConsent({\n ...defaultConsent,\n ad_storage: 'granted',\n analytics_storage: 'granted',\n ad_user_data: 'granted',\n ad_personalization: 'granted'\n });\n };\n\n const handleDecline = () => {\n saveConsent(defaultConsent);\n };\n\n const handleSavePreferences = () => {\n saveConsent(preferences);\n };\n\n const togglePreference = (key: any) => {\n setPreferences((prev: any) => ({ ...prev, [key]: prev[key] === 'granted' ? 'denied' : 'granted' }));\n };\n\n const renderMoreOptionItem = (\n option: 'ad_storage' | 'analytics_storage' | 'ad_user_data' | 'ad_personalization',\n disabled = false\n ) => (\n <div\n role=\"button\"\n className={cn(styles.cookie_banner__modal__content_item)}\n onClick={() => !disabled && togglePreference(option)}\n >\n <label>\n <input\n type=\"checkbox\"\n checked={preferences[option] === 'granted'}\n // disabled={disabled}\n onChange={() => !disabled && togglePreference(option)}\n />\n <span className={cn(styles.toggle)} />\n {localeData?.customizeCookie[option]?.title}\n </label>\n <span> {localeData?.customizeCookie[option]?.text}</span>\n </div>\n );\n\n return (\n <>\n {showBanner && (\n <div className={cn(styles.cookie_banner, 'cookie_banner__modal')}>\n <div className={cn(styles.cookie_banner__modal_overlay)}>\n <div className={cn(styles.cookie_banner__modal)}>\n <div className={cn(styles.cookie_banner__header)}>\n <div\n className={cn(styles.cookie_banner__modal__content_description)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{ __html: localeData?.description }}\n />\n <div className={cn(styles.cookie_banner__buttons, 'buttons')}>\n\n <button className={cn(styles.cookie_banner__buttons_accept_all)} type=\"button\" onClick={handleAccept}>\n {localeData?.acceptAll}\n </button>\n <button\n className={cn(styles.cookie_banner__buttons_reject_all)}\n type=\"button\"\n onClick={handleDecline}\n >\n {localeData?.rejectAll}\n </button>\n {hasMoreOptions && (\n <button\n className={cn(styles.cookie_banner__buttons_customize)}\n type=\"button\"\n onClick={() => setShowMore(!showMore)}\n >\n ...\n </button>\n )}\n </div>\n </div>\n {showMore && (\n <>\n <div className={cn(styles.cookie_banner__modal__content)}>\n {renderMoreOptionItem('ad_storage', true)}\n {renderMoreOptionItem('analytics_storage', true)}\n {renderMoreOptionItem('ad_user_data')}\n {renderMoreOptionItem('ad_personalization')}\n <div className={cn(styles.cookie_banner__buttons)}>\n <button type=\"button\" onClick={handleSavePreferences}>\n {localeData?.customizeCookie?.save}\n </button>\n <button type=\"button\" onClick={() => setShowMore(false)}>\n {localeData?.customizeCookie?.cancel}\n </button>\n </div>\n </div>\n </>\n )}\n </div>\n </div>\n </div>\n )}\n </>\n );\n};\n"],"names":["lng","en","cookieConsent","params","title","description","cookiePolicyUrl","acceptAll","rejectAll","customize","customizeCookie","ad_storage","text","ad_user_data","analytics_storage","ad_personalization","save","cancel","pl","kk","kw","pt","zh","th","sl","el","defaultConsent","event","CookieConsent","_a","_d","locale","onUpdate","tracker","hasMoreOptions","_e","__read","React","useState","showBanner","setShowBanner","_f","showMore","setShowMore","_g","preferences","setPreferences","lg","localeData","concat","useEffect","stored","localStorage","getItem","storeJson","JSON","parse","saveConsent","consent","payload","setItem","stringify","customEvent","window","dataLayer","push","error","console","togglePreference","key","prev","renderMoreOptionItem","option","disabled","createElement","role","className","cn","styles","cookie_banner__modal__content_item","onClick","type","checked","onChange","toggle","_b","Fragment","cookie_banner","cookie_banner__modal_overlay","cookie_banner__modal","cookie_banner__header","cookie_banner__modal__content_description","dangerouslySetInnerHTML","__html","cookie_banner__buttons","cookie_banner__buttons_accept_all","cookie_banner__buttons_reject_all","cookie_banner__buttons_customize","cookie_banner__modal__content","_c"],"mappings":"mkEAIMA,EAAM,CACVC,GAAI,CACFC,cAAe,SAACC,GAAgC,MAAC,CAC/CC,MAAO,wBACPC,YAAa,wCAAiCF,aAAA,EAAAA,EAAQG,gBAAiE,oDACvHC,UAAW,aACXC,UAAW,aACXC,UAAW,eACXC,gBAAiB,CACfN,MAAO,qBACPO,WAAY,CAAEP,MAAO,YAAaQ,KAAM,0CACxCC,aAAc,CACZT,MAAO,kBACPQ,KAAM,qDAERE,kBAAmB,CAAEV,MAAO,YAAaQ,KAAM,4CAC/CG,mBAAoB,CAAEX,MAAO,cAAeQ,KAAM,qCAClDI,KAAM,OACNC,OAAQ,UAEV,GAEJC,GAAI,CACFhB,cAAe,SAACC,GAAgC,MAAC,CAC/CC,MAAO,0BACPC,YAAa,iDAA0CF,aAAA,EAAAA,EAAQG,gBAA2E,8DAC1IC,UAAW,qBACXC,UAAW,mBACXC,UAAW,WACXC,gBAAiB,CACfN,MAAO,4BACPO,WAAY,CAAEP,MAAO,YAAaQ,KAAM,8CACxCC,aAAc,CACZT,MAAO,iBACPQ,KAAM,+DAERE,kBAAmB,CAAEV,MAAO,YAAaQ,KAAM,wDAC/CG,mBAAoB,CAAEX,MAAO,UAAWQ,KAAM,uCAC9CI,KAAM,SACNC,OAAQ,UAEV,GAEJE,GAAI,CACFjB,cAAe,SAACC,GAAgC,MAAC,CAC/CC,MAAO,sCACPC,YAAa,uEAAgEF,aAAA,EAAAA,EAAQG,gBAAyE,4DAC9JC,UAAW,oBACXC,UAAW,sBACXC,UAAW,SACXC,gBAAiB,CACfN,MAAO,sBACPO,WAAY,CAAEP,MAAO,WAAYQ,KAAM,sCACvCC,aAAc,CACZT,MAAO,cACPQ,KAAM,gEAERE,kBAAmB,CAAEV,MAAO,YAAaQ,KAAM,sDAC/CG,mBAAoB,CAAEX,MAAO,UAAWQ,KAAM,+CAC9CI,KAAM,SACNC,OAAQ,aAEV,GAEJG,GAAI,CACFlB,cAAe,SAACC,GAAgC,MAAC,CAC/CC,MAAO,uCACPC,YAAa,qDAA8CF,aAAA,EAAAA,EAAQG,gBAA2D,8CAC9HC,UAAW,mBACXC,UAAW,uBACXC,UAAW,kBACXC,gBAAiB,CACfN,MAAO,kBACPO,WAAY,CAAEP,MAAO,SAAUQ,KAAM,uCACrCC,aAAc,CACZT,MAAO,WACPQ,KAAM,uDAERE,kBAAmB,CAAEV,MAAO,aAAcQ,KAAM,iDAChDG,mBAAoB,CAAEX,MAAO,WAAYQ,KAAM,iDAC/CI,KAAM,eACNC,OAAQ,iBAEV,GAEJI,GAAI,CACFnB,cAAe,SAACC,GAAgC,MAAC,CAC/CC,MAAO,0BACPC,YAAa,8CAAuCF,aAAA,EAAAA,EAAQG,gBAA2E,8DACvIC,UAAW,qBACXC,UAAW,mBACXC,UAAW,WACXC,gBAAiB,CACfN,MAAO,0BACPO,WAAY,CAAEP,MAAO,aAAcQ,KAAM,mDACzCC,aAAc,CACZT,MAAO,iBACPQ,KAAM,uDAERE,kBAAmB,CAAEV,MAAO,UAAWQ,KAAM,qDAC7CG,mBAAoB,CAAEX,MAAO,cAAeQ,KAAM,uCAClDI,KAAM,SACNC,OAAQ,YAEV,GAEJK,GAAI,CACFpB,cAAe,SAACC,GAAgC,MAAC,CAC/CC,MAAO,WACPC,YAAa,oCAA6BF,aAAA,EAAAA,EAAQG,gBAAiD,oCACnGC,UAAW,OACXC,UAAW,OACXC,UAAW,OACXC,gBAAiB,CACfN,MAAO,cACPO,WAAY,CAAEP,MAAO,KAAMQ,KAAM,aACjCC,aAAc,CACZT,MAAO,MACPQ,KAAM,kBAERE,kBAAmB,CAAEV,MAAO,KAAMQ,KAAM,kBACxCG,mBAAoB,CAAEX,MAAO,KAAMQ,KAAM,cACzCI,KAAM,KACNC,OAAQ,MAEV,GAEJM,GAAI,CACFrB,cAAe,SAACC,GAAgC,MAAC,CAC/CC,MAAO,oCACPC,YAAa,mDAA4CF,aAAA,EAAAA,EAAQG,gBAA4D,+CAC7HC,UAAW,gBACXC,UAAW,gBACXC,UAAW,oBACXC,gBAAiB,CACfN,MAAO,mBACPO,WAAY,CAAEP,MAAO,SAAUQ,KAAM,0CACrCC,aAAc,CACZT,MAAO,cACPQ,KAAM,iDAERE,kBAAmB,CAAEV,MAAO,YAAaQ,KAAM,2CAC/CG,mBAAoB,CAAEX,MAAO,QAASQ,KAAM,oCAC5CI,KAAM,SACNC,OAAQ,UAEV,GAEJO,GAAI,CACFtB,cAAe,SAACC,GAAgC,MAAC,CAC/CC,MAAO,wBACPC,YAAa,mEAA4DF,aAAA,EAAAA,EAAQG,gBAA6D,gDAC9IC,UAAW,cACXC,UAAW,aACXC,UAAW,eACXC,gBAAiB,CACfN,MAAO,uBACPO,WAAY,CAAEP,MAAO,WAAYQ,KAAM,yCACvCC,aAAc,CACZT,MAAO,kBACPQ,KAAM,sDAERE,kBAAmB,CAAEV,MAAO,YAAaQ,KAAM,sDAC/CG,mBAAoB,CAAEX,MAAO,cAAeQ,KAAM,wCAClDI,KAAM,SACNC,OAAQ,YAEV,GAEJQ,GAAI,CACFvB,cAAe,SAACC,GAAgC,MAAC,CAC/CC,MAAO,iCACPC,YAAa,qDAA8CF,aAAA,EAAAA,EAAQG,gBAA0E,6DAC7IC,UAAW,eACXC,UAAW,gBACXC,UAAW,wBACXC,gBAAiB,CACfN,MAAO,sBACPO,WAAY,CAAEP,MAAO,aAAcQ,KAAM,oDACzCC,aAAc,CACZT,MAAO,gBACPQ,KAAM,8DAERE,kBAAmB,CACjBV,MAAO,YACPQ,KAAM,kEAERG,mBAAoB,CAAEX,MAAO,YAAaQ,KAAM,2CAChDI,KAAM,aACNC,OAAQ,WAEV,IC5LAS,EAAiC,CACrCC,MAAO,UACPhB,WAAY,UACZE,aAAc,SACdC,kBAAmB,UACnBC,mBAAoB,UAGTa,EAAgB,SAACC,WAAEC,EAAAD,EAAAE,OAAAA,OAAS,IAAAD,EAAA,KAAIA,EAAEE,EAAQH,EAAAG,SAAEC,EAAOJ,EAAAI,QAAEC,EAAcL,EAAAK,eACxEC,EAAAC,EAA8BC,EAAMC,UAAS,GAAM,GAAlDC,EAAUJ,EAAA,GAAEK,OACbC,EAAAL,EAA0BC,EAAMC,UAAS,GAAM,GAA9CI,EAAQD,EAAA,GAAEE,OACXC,EAAAR,EAAgCC,EAAMC,SAASZ,GAAe,GAA7DmB,EAAWD,EAAA,GAAEE,OAEdC,GAAK/C,aAAG,EAAHA,EAAM+B,KAA+B/B,EAAIC,GAC9C+C,EAAaD,aAAA,EAAAA,EAAI7C,cAAc,CACnCI,gBAAiB,IAAI2C,OAAAlB,EAAgB,cAGvCmB,GAAU,WACR,IAAMC,EAASC,aAAaC,QAAQ,iBAEpC,GAAKF,EAGE,CACL,IAAMG,EAAYC,KAAKC,MAAML,GAC7BL,EAAeQ,GACfG,EAAYH,EAAW,iBACxB,MANCd,GAAc,GACdiB,EAAY/B,EAAgB,kBAM/B,GAAE,IAEH,IAAM+B,EAAc,SAAOC,EAAyB/B,eAAA,IAAAA,IAAAA,EAAwB,sFAC1E,IACQgC,SAAeD,GAAO,CAAE/B,MAAKA,IAErB,oBAAVA,IACFyB,aAAaQ,QAAQ,gBAAiBL,KAAKM,UAAUF,IAErDnB,GAAc,GAEdG,GAAY,IAGdV,SAAAA,EAAS6B,YAAYnC,EAAO,SAAU,UAAW4B,KAAKM,UAAUF,IAEhEI,OAAOC,UAAUC,KAAKN,GAElB3B,GACFA,EAAS0B,EAEZ,CAAC,MAAOQ,GACPC,QAAQD,MAAMA,EACf,kBAqBGE,EAAmB,SAACC,GACxBvB,GAAe,SAACwB,SAAc,cAAMA,KAAIzC,EAAA,CAAA,GAAGwC,GAAoB,YAAdC,EAAKD,GAAqB,SAAW,UAAYxC,GAApE,GAChC,EAEM0C,EAAuB,SAC3BC,EACAC,WACG,YADH,IAAAA,IAAAA,GAAgB,GAEhBpC,EACEqC,cAAA,MAAA,CAAAC,KAAK,SACLC,UAAWC,EAAGC,EAAOC,oCACrBC,QAAS,WAAM,OAACP,GAAYL,EAAiBI,KAE7CnC,EAAAqC,cAAA,QAAA,KACErC,EACEqC,cAAA,QAAA,CAAAO,KAAK,WACLC,QAAiC,YAAxBrC,EAAY2B,GAErBW,SAAU,WAAM,OAACV,GAAYL,EAAiBI,EAA9B,IAElBnC,EAAMqC,cAAA,OAAA,CAAAE,UAAWC,EAAGC,EAAOM,UACS,UAAnCpC,aAAA,EAAAA,EAAYtC,gBAAgB8D,UAAO,IAAA3C,OAAA,EAAEA,EAAAzB,OAExCiC,EAAAqC,cAAA,OAAA,SAA2C,QAAnCW,EAAArC,aAAU,EAAVA,EAAYtC,gBAAgB8D,UAAO,IAAAa,OAAA,IAAEzE,QAIjD,OACEyB,EAAAqC,cAAArC,EAAAiD,SAAA,KACG/C,GACCF,EAAKqC,cAAA,MAAA,CAAAE,UAAWC,EAAGC,EAAOS,cAAe,yBACvClD,EAAAqC,cAAA,MAAA,CAAKE,UAAWC,EAAGC,EAAOU,+BACxBnD,EAAAqC,cAAA,MAAA,CAAKE,UAAWC,EAAGC,EAAOW,uBACxBpD,EAAAqC,cAAA,MAAA,CAAKE,UAAWC,EAAGC,EAAOY,wBACxBrD,EAAAqC,cAAA,MAAA,CACEE,UAAWC,EAAGC,EAAOa,2CAErBC,wBAAyB,CAAEC,OAAQ7C,aAAU,EAAVA,EAAY3C,eAEjDgC,EAAKqC,cAAA,MAAA,CAAAE,UAAWC,EAAGC,EAAOgB,uBAAwB,YAEhDzD,EAAQqC,cAAA,SAAA,CAAAE,UAAWC,EAAGC,EAAOiB,mCAAoCd,KAAK,SAASD,QA3D1E,WACnBvB,SACK/B,GAAc,CACjBf,WAAY,UACZG,kBAAmB,UACnBD,aAAc,UACdE,mBAAoB,YAExB,GAoDmBiC,aAAA,EAAAA,EAAYzC,WAEf8B,EACEqC,cAAA,SAAA,CAAAE,UAAWC,EAAGC,EAAOkB,mCACrBf,KAAK,SACLD,QAvDI,WACpBvB,EAAY/B,EACd,GAuDmBsB,aAAA,EAAAA,EAAYxC,WAEd0B,GACCG,EACEqC,cAAA,SAAA,CAAAE,UAAWC,EAAGC,EAAOmB,kCACrBhB,KAAK,SACLD,QAAS,WAAM,OAAArC,GAAaD,KAGrB,SAIdA,GACCL,EAAAqC,cAAArC,EAAAiD,SAAA,KACEjD,EAAAqC,cAAA,MAAA,CAAKE,UAAWC,EAAGC,EAAOoB,gCACvB3B,EAAqB,cAAc,GACnCA,EAAqB,qBAAqB,GAC1CA,EAAqB,gBACrBA,EAAqB,sBACtBlC,EAAAqC,cAAA,MAAA,CAAKE,UAAWC,EAAGC,EAAOgB,yBACxBzD,EAAAqC,cAAA,SAAA,CAAQO,KAAK,SAASD,QA1EZ,WAC5BvB,EAAYZ,EACd,GAyEkD,QAA3BwC,EAAArC,aAAA,EAAAA,EAAYtC,uBAAe,IAAA2E,OAAA,EAAAA,EAAErE,MAEhCqB,EAAAqC,cAAA,SAAA,CAAQO,KAAK,SAASD,QAAS,WAAM,OAAArC,GAAY,KACjB,UAA7BK,aAAU,EAAVA,EAAYtC,uBAAiB,IAAAyF,OAAA,EAAAA,EAAAlF,cAYtD"}
|
package/dist/CookieConsent.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{C as CookieConsent}from"./CookieConsent-
|
|
1
|
+
export{C as CookieConsent}from"./CookieConsent-d0851467.js";import"tslib";import"classnames";import"react";
|
|
2
2
|
//# sourceMappingURL=CookieConsent.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import{__assign as e}from"tslib";import l from"react";var o=function(o){var n,i,t,a=o.pageConfigs,r=void 0===a?{pricePoint:{block:!0}}:a,u=o.formattedMessage,c=null==r?void 0:r.legalVariables;if(!c||!(null===(n=null==c?void 0:c.operators)||void 0===n?void 0:n.length))return null;var d=(null===(i=null==c?void 0:c.operators)||void 0===i?void 0:i.length)>1,v=null!=c.vat?u?u({id:"legalsVatSentence",defaultMessage:" ",values:c}):null:" ";return l.createElement("div",{className:"dynamic-price-point"},null===(t=null==c?void 0:c.operators)||void 0===t?void 0:t.map((function(o,n){var i,t,a;return l.createElement("div",{key:n,className:"dynamic-price-point__".concat(o.name.toLowerCase()),style:(null===(i=null==r?void 0:r.pricePoint)||void 0===i?void 0:i.block)?{fontSize:14,lineHeight:1.35}:void 0},u?u({id:"pricePointLine",defaultMessage:" ",values:e(e({},o),{prefix:d?"".concat((a=o.name,a.replace(/^[A-Z]{2}_/,"").toLowerCase().replace(/\b\w/g,(function(e){return e.toUpperCase()}))),": "):"",amount:o.amount.toFixed(2),vat:v,frequency:u({id:o.frequency})})}):null,!(null===(t=null==r?void 0:r.pricePoint)||void 0===t?void 0:t.block)&&n<c.operators.length-1&&l.createElement(l.Fragment,null," "))})))};export{o as D};
|
|
2
|
-
//# sourceMappingURL=DynamicPricePoint-
|
|
2
|
+
//# sourceMappingURL=DynamicPricePoint-e9d212db.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynamicPricePoint-
|
|
1
|
+
{"version":3,"file":"DynamicPricePoint-e9d212db.js","sources":["../src/DynamicPricePoint/DynamicPricePoint.tsx"],"sourcesContent":["import React from 'react';\nimport { IDynamicPricePointProps } from './DynamicPricePoint.types';\n\n/* — helpers — */\nconst titleCase = (str: string) =>\n str\n .replace(/^[A-Z]{2}_/, '') // drop leading “CC_”\n .toLowerCase()\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n\nexport const DynamicPricePoint: React.FC<IDynamicPricePointProps> = ({\n pageConfigs = { pricePoint: { block: true } },\n formattedMessage\n}: IDynamicPricePointProps) => {\n const legal = pageConfigs?.legalVariables;\n\n if (!legal || !legal?.operators?.length) return null;\n\n const many = legal?.operators?.length > 1;\n\n const vatSentence =\n legal.vat != null\n ? formattedMessage\n ? formattedMessage({\n id: 'legalsVatSentence',\n defaultMessage: ' ',\n values: legal\n })\n : null\n : ' ';\n\n return (\n <div className=\"dynamic-price-point\">\n {legal?.operators?.map((op, i) => (\n // eslint-disable-next-line react/jsx-props-no-spreading\n <div\n key={i}\n className={`dynamic-price-point__${op.name.toLowerCase()}`}\n style={pageConfigs?.pricePoint?.block ? { fontSize: 14, lineHeight: 1.35 } : undefined}\n >\n {formattedMessage\n ? formattedMessage({\n id: 'pricePointLine',\n defaultMessage: ' ',\n values: {\n ...op,\n prefix: many ? `${titleCase(op.name)}: ` : '',\n amount: op.amount.toFixed(2),\n vat: vatSentence,\n frequency: formattedMessage({ id: op.frequency })\n }\n })\n : null}\n {/* add comma+space if inline mode and NOT last item */}\n {!pageConfigs?.pricePoint?.block && i < legal.operators.length - 1 && <> </>}\n </div>\n ))}\n </div>\n );\n};\n"],"names":["DynamicPricePoint","_a","_e","pageConfigs","pricePoint","block","formattedMessage","legal","legalVariables","_b","operators","length","many","_c","vatSentence","vat","id","defaultMessage","values","React","className","_d","map","op","i","str","createElement","key","name","toLowerCase","style","fontSize","lineHeight","undefined","__assign","prefix","concat","replace","c","toUpperCase","amount","toFixed","frequency","Fragment"],"mappings":"sDAIA,IAMaA,EAAuD,SAACC,aACnEC,EAAAD,EAAAE,YAAAA,OAAc,IAAAD,EAAA,CAAEE,WAAY,CAAEC,OAAO,IAAQH,EAC7CI,EAAgBL,EAAAK,iBAEVC,EAAQJ,aAAA,EAAAA,EAAaK,eAE3B,IAAKD,KAA0B,QAAhBE,EAAAF,eAAAA,EAAOG,iBAAS,IAAAD,OAAA,EAAAA,EAAEE,QAAQ,OAAO,KAEhD,IAAMC,GAAuB,QAAhBC,EAAAN,aAAA,EAAAA,EAAOG,iBAAS,IAAAG,OAAA,EAAAA,EAAEF,QAAS,EAElCG,EACS,MAAbP,EAAMQ,IACFT,EACEA,EAAiB,CACfU,GAAI,oBACJC,eAAgB,IAChBC,OAAQX,IAEV,KACF,IAEN,OACEY,uBAAKC,UAAU,uBACM,QAAlBC,EAAAd,eAAAA,EAAOG,iBAAW,IAAAW,OAAA,EAAAA,EAAAC,KAAI,SAACC,EAAIC,WA7BfC,EA6BqB,OAEhCN,EAAAO,cAAA,MAAA,CACEC,IAAKH,EACLJ,UAAW,+BAAwBG,EAAGK,KAAKC,eAC3CC,OAA8B,UAAvB3B,aAAA,EAAAA,EAAaC,kBAAU,IAAAH,OAAA,EAAAA,EAAEI,OAAQ,CAAE0B,SAAU,GAAIC,WAAY,WAASC,GAE5E3B,EACGA,EAAiB,CACfU,GAAI,iBACJC,eAAgB,IAChBC,OAAMgB,EAAAA,EAAA,CAAA,EACDX,GACH,CAAAY,OAAQvB,EAAO,GAAGwB,QA1CjBX,EA0C2BF,EAAGK,KAzC/CH,EACGY,QAAQ,aAAc,IACtBR,cACAQ,QAAQ,SAAS,SAACC,GAAM,OAAAA,EAAEC,aAAa,KAsCU,MAAO,GAC3CC,OAAQjB,EAAGiB,OAAOC,QAAQ,GAC1B1B,IAAKD,EACL4B,UAAWpC,EAAiB,CAAEU,GAAIO,EAAGmB,gBAGzC,OAEuB,QAAzBjC,EAAAN,aAAA,EAAAA,EAAaC,kBAAY,IAAAK,OAAA,EAAAA,EAAAJ,QAASmB,EAAIjB,EAAMG,UAAUC,OAAS,GAAKQ,EAAAO,cAAAP,EAAAwB,SAAA,KAAA,KAEzE,IAGP"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{D as DynamicPricePoint}from"./DynamicPricePoint-
|
|
1
|
+
export{D as DynamicPricePoint}from"./DynamicPricePoint-e9d212db.js";import"tslib";import"react";var t=function(t,i){return i.vat?t&&t({id:"pricePointVat",defaultMessage:" (including VAT {vat}%)",values:{vat:i.vat}}):""};export{t as mapFormattedValues};
|
|
2
2
|
//# sourceMappingURL=DynamicPricePoint.js.map
|
package/dist/Email.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__read as e}from"tslib";import t,{useState as a}from"react";import{i as l}from"./Intl-
|
|
1
|
+
import{__read as e}from"tslib";import t,{useState as a}from"react";import{i as l}from"./Intl-ab14b11e.js";var m=l((function(l){var m=l.name,n=l.phone,r=l.email;l.tracker;var i=l.formattedMessage;l.legalArea;var o=e(a(!1),2),c=o[0],s=o[1],u=e(a({name:"",email:"",phone:""}),2);u[0];var p=u[1],d=e(a(!1),2),b=d[0],E=d[1];return t.createElement(t.Fragment,null,t.createElement("div",{className:"email-wrapper"},t.createElement("button",{type:"button",className:"start-now-btn btn",onClick:function(){return s(!0)}},i&&i({id:"emailStartNow"})),c&&t.createElement("div",{className:"modal-wrapper"},t.createElement("div",{className:"modal-content"},t.createElement("span",{className:"close",onClick:function(){return s(!1)}},"×"),b?t.createElement(t.Fragment,null,t.createElement("svg",{version:"1.1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 130.2 130.2"},t.createElement("circle",{className:"path circle",fill:"none",stroke:"#07c0a1",strokeWidth:"6",strokeMiterlimit:"10",cx:"65.1",cy:"65.1",r:"62.1"}),t.createElement("polyline",{className:"path check",fill:"none",stroke:"#07c0a1",strokeWidth:"6",strokeLinecap:"round",strokeMiterlimit:"10",points:"100.2,40.2 51.5,88.8 29.8,67.5 "})),t.createElement("p",{className:"succesful-text"},i&&i({id:"emailSuccessfulText"}))):t.createElement("form",{onSubmit:function(e){e.preventDefault(),E(!0),setTimeout((function(){s(!1),E(!1),p({name:"",email:"",phone:""})}),5e3)}},t.createElement("label",{htmlFor:"name"},i&&i({id:"emailName"})),t.createElement("input",{type:"text",name:"name",value:m,required:!0}),t.createElement("label",{htmlFor:"email"},i&&i({id:"emailEmail"})),t.createElement("input",{type:"email",name:"email",value:r,required:!0}),t.createElement("label",{htmlFor:"phone"},i&&i({id:"emailPhone"})),t.createElement("input",{type:"tel",name:"phone",value:n,required:!0}),t.createElement("button",{className:"modal-submit-btn",type:"submit"},i&&i({id:"emailSubmit"})),t.createElement("h6",{className:"modal-bottom-label1"},i&&i({id:"emailModalBottomLabel1"})),t.createElement("p",{className:"modal-bottom-label2"},i&&i({id:"emailModalBottomLabel2"})))))))}));export{m as Email};
|
|
2
2
|
//# sourceMappingURL=Email.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import*as e from"react";var a=function(a){var r,l=a.locale,t=a.className,n=a.legals,i=a.flow,o=a.dataQaId,c=void 0===o?"extra-disclaimers-":o,s=null==n?void 0:n.filter((function(e){return e.flow===i})),d=i&&!process.env.scenario?s:n,u=(((r=d||[]).length?null==r?void 0:r.reduce((function(e,a){return e[a.language]=a,e}),{}):{})[l]||"").extra_disclaimer;return e.createElement("div",{"data-qa-id":c,className:t},e.createElement("div",{dangerouslySetInnerHTML:{__html:u||""}}))};export{a as E};
|
|
2
|
-
//# sourceMappingURL=ExtraDisclaimers-
|
|
2
|
+
//# sourceMappingURL=ExtraDisclaimers-2655fb5f.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExtraDisclaimers-
|
|
1
|
+
{"version":3,"file":"ExtraDisclaimers-2655fb5f.js","sources":["../src/ExtraDisclaimers/ExtraDisclaimers.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 { ExtraDisclaimersProps } from './ExtraDisclaimers.types';\n\nexport const ExtraDisclaimers = ({\n locale,\n className,\n legals,\n flow,\n dataQaId = 'extra-disclaimers-'\n}: ExtraDisclaimersProps) => {\n const filteredLegals = legals?.filter((obj) => obj.flow === flow);\n\n const legalsArr = flow && !process.env.scenario ? filteredLegals : legals;\n const arrayToObject = (array: ILegals[]) =>\n array.length\n ? array?.reduce((obj: { [key: string]: ILegals }, item) => {\n obj[item.language] = item;\n return obj;\n }, {})\n : {};\n\n const legalsObject = arrayToObject(legalsArr || []);\n\n const { extra_disclaimer } = legalsObject[locale] || '';\n return (\n <div data-qa-id={dataQaId} className={className}>\n <div dangerouslySetInnerHTML={{ __html: extra_disclaimer || '' }} />\n </div>\n );\n};\n"],"names":["ExtraDisclaimers","_a","array","locale","className","legals","flow","_b","dataQaId","filteredLegals","filter","obj","legalsArr","process","env","scenario","extra_disclaimer","length","reduce","item","language","React","createElement","dangerouslySetInnerHTML","__html"],"mappings":"wBAOO,IAAMA,EAAmB,SAACC,GAC/B,IASuBC,EATvBC,WACAC,EAASH,EAAAG,UACTC,EAAMJ,EAAAI,OACNC,EAAIL,EAAAK,KACJC,EAA+BN,EAAAO,SAA/BA,OAAQ,IAAAD,EAAG,qBAAoBA,EAEzBE,EAAiBJ,aAAA,EAAAA,EAAQK,QAAO,SAACC,GAAQ,OAAAA,EAAIL,OAASA,CAAI,IAE1DM,EAAYN,IAASO,QAAQC,IAAIC,SAAWN,EAAiBJ,EAW3DW,KAVed,EAQYU,GAAa,IAPxCK,OACFf,aAAA,EAAAA,EAAOgB,QAAO,SAACP,EAAiCQ,GAE9C,OADAR,EAAIQ,EAAKC,UAAYD,EACdR,CACR,GAAE,IACH,IAIoCR,IAAW,IAAEa,iBACvD,OACEK,EAAiBC,cAAA,MAAA,CAAA,aAAAd,EAAUJ,UAAWA,GACpCiB,EAAAC,cAAA,MAAA,CAAKC,wBAAyB,CAAEC,OAAQR,GAAoB,MAGlE"}
|
package/dist/ExtraDisclaimers.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{E as ExtraDisclaimers}from"./ExtraDisclaimers-
|
|
1
|
+
export{E as ExtraDisclaimers}from"./ExtraDisclaimers-2655fb5f.js";import"react";
|
|
2
2
|
//# sourceMappingURL=ExtraDisclaimers.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import e from"classnames";import a from"react";import{__spreadArray as i,__read as t}from"tslib";var n={rating:"Features-module_rating__1aRGZ","rating-area":"Features-module_rating-area__9z1l8",ratingArea:"Features-module_rating-area__9z1l8",rating__background:"Features-module_rating__background__ysV4B",ratingBackground:"Features-module_rating__background__ysV4B",rating__value:"Features-module_rating__value__WdnzP",ratingValue:"Features-module_rating__value__WdnzP",features:"Features-module_features__Wy5H2",features__inner:"Features-module_features__inner__9j-DS",featuresInner:"Features-module_features__inner__9j-DS",features__title:"Features-module_features__title__4hQkF",featuresTitle:"Features-module_features__title__4hQkF",features__gridItem:"Features-module_features__gridItem__E5Ro5",featuresGridItem:"Features-module_features__gridItem__E5Ro5",features__gridItemTitle:"Features-module_features__gridItemTitle__-gB2a",featuresGridItemTitle:"Features-module_features__gridItemTitle__-gB2a",features__gridItemImage:"Features-module_features__gridItemImage__tNRQJ",featuresGridItemImage:"Features-module_features__gridItemImage__tNRQJ",features__gridItemName:"Features-module_features__gridItemName__-x31m",featuresGridItemName:"Features-module_features__gridItemName__-x31m",features__gridItemContent:"Features-module_features__gridItemContent__Qv-6D",featuresGridItemContent:"Features-module_features__gridItemContent__Qv-6D"},r={astrology:["/os-ui/static/dynamic-template-images/features-astrology-1-2025-01-13t18-33-21-073z.jpg-2025-01-13T18-33-21-531Z.jpeg","/os-ui/static/dynamic-template-images/features-astrology-2-2025-01-13t18-33-29-669z.jpg-2025-01-13T18-33-30-131Z.jpeg","/os-ui/static/dynamic-template-images/features-astrology-3-2025-01-13t18-33-35-834z.jpg-2025-01-13T18-33-36-297Z.jpeg"],fitness:["/os-ui/static/dynamic-template-images/features-fitness-1-2025-01-13t18-36-38-297z.jpg-2025-01-13T18-36-38-824Z.jpeg","/os-ui/static/dynamic-template-images/features-fitness-2-2025-01-13t18-36-44-720z.jpg-2025-01-13T18-36-45-181Z.jpeg","/os-ui/static/dynamic-template-images/features-fitness-3-2025-01-13t18-36-49-945z.jpg-2025-01-13T18-36-50-407Z.jpeg"],football:["/os-ui/static/dynamic-template-images/features-football-1-2025-01-13t19-25-56-513z.jpg-2025-01-13T19-25-57-074Z.jpeg","/os-ui/static/dynamic-template-images/features-football-2-2025-01-13t19-26-03-128z.jpg-2025-01-13T19-26-03-651Z.jpeg","/os-ui/static/dynamic-template-images/features-football-3-2025-01-13t19-26-09-124z.jpg-2025-01-13T19-26-09-649Z.jpeg"],games:["/os-ui/static/dynamic-template-images/features-games-1-2025-01-13t19-27-15-276z.jpg-2025-01-13T19-27-15-663Z.jpeg","/os-ui/static/dynamic-template-images/features-games-2-2025-01-13t19-27-21-491z.jpg-2025-01-13T19-27-21-882Z.jpeg","/os-ui/static/dynamic-template-images/features-games-3-2025-01-13t19-27-26-674z.jpg-2025-01-13T19-27-27-062Z.jpeg"],iqbrain:["/os-ui/static/dynamic-template-images/features-iqbrain-1-2025-01-13t20-19-45-472z.jpg-2025-01-13T20-19-45-928Z.jpeg","/os-ui/static/dynamic-template-images/features-iqbrain-2-2025-01-13t20-19-52-095z.jpg-2025-01-13T20-19-52-508Z.jpeg","/os-ui/static/dynamic-template-images/features-iqbrain-3-2025-01-13t20-19-57-088z.jpg-2025-01-13T20-19-57-242Z.jpeg"],karaoke:["/os-ui/static/dynamic-template-images/features-karaoke-1-2025-01-13t20-20-33-816z.jpg-2025-01-13T20-20-34-225Z.jpeg","/os-ui/static/dynamic-template-images/features-karaoke-2-2025-01-13t20-20-39-646z.jpg-2025-01-13T20-20-40-061Z.jpeg","/os-ui/static/dynamic-template-images/features-karaoke-3-2025-01-13t20-20-44-757z.jpg-2025-01-13T20-20-45-167Z.jpeg"],video:["/os-ui/static/dynamic-template-images/features-video-1-2025-01-13t20-21-18-991z.jpg-2025-01-13T20-21-19-534Z.jpeg","/os-ui/static/dynamic-template-images/features-video-2-2025-01-13t20-21-26-550z.jpg-2025-01-13T20-21-26-962Z.jpeg","/os-ui/static/dynamic-template-images/features-video-3-2025-01-13t20-21-32-209z.jpg-2025-01-13T20-21-32-628Z.jpeg"],xracademy:["/os-ui/static/dynamic-template-images/features-xracademy-1-2025-01-13t20-22-51-481z.jpg-2025-01-13T20-22-52-022Z.jpeg","/os-ui/static/dynamic-template-images/features-xracademy-2-2025-01-13t20-22-57-544z.jpg-2025-01-13T20-22-57-963Z.jpeg","/os-ui/static/dynamic-template-images/features-xracademy-3-2025-01-13t20-23-03-049z.jpg-2025-01-13T20-23-03-466Z.jpeg"]},s={en:{features:{headline:"Features",items:[{title:"Curated for Quality, Designed for Value:",description:"Experience hand-picked digital content designed to deliver the best entertainment and value. Our curated selection ensures you receive only the highest quality offerings, tailored to your preferences."},{title:"Regular Updates:",description:'Fresh content and features added frequently. "Always something new to discover." Our team works tirelessly to bring you the latest and greatest in digital entertainment, ensuring that you never run out of exciting options. Stay tuned for regular updates that keep your experience fresh and engaging.'},{title:"Exceptional Customer Support:",description:"Our dedicated support team is always ready to assist users with any inquiries or issues they may encounter. \"We're here to help, every step of the way.\" Whether it's a technical problem or a general question, our experts are just a call or click away."},{title:"Exclusive Originals:",description:"Access a world of exclusive originals crafted just for you. Our unique content library offers a diverse content that you won't find anywhere else."}]}},cz:{features:{headline:"Vlastnosti",items:[{title:"Vybrané pro kvalitu, navržené pro hodnotu:",description:"Prožijte vybraný digitální obsah navržený k doručení nejlepšího zábavného a hodnotového zážitku. Naše vybraná sbírka zajistí, že dostanete pouze nejvyšší kvalitu nabídek, přizpůsobených vašim předvolbám."},{title:"Časté aktualizace:",description:'Čerstvý obsah a funkce přidávané často. "Vždy něco nového, co objevit." Naše tým pracuje nepřetržitě, aby vám přinesl nejnovější a nejlepší v digitálním zábavném obsahu, zajistíme, že nikdy nevypadnete z úžasných možností. Zůstaňte v obraze pro časté aktualizace, které vám zajistí čerstvý a zajímavý zážitek.'},{title:"Vynikající podpora zákazníků:",description:'Naše specializovaná tým podpory je vždy připraven pomoci uživatelům s jakýmkoli dotazem nebo problémem, se kterým se mohou setkat. "Jsme zde, abychom vám pomohli, v každém kroku." Ať už se jedná o technický problém nebo obecný dotaz, naši odborníci jsou jen kliknutím nebo telefonním hovorem.'},{title:"Exkluzivní originály:",description:"Přístup k světu exkluzivních originálů vytvořených právě pro vás. Naše unikátní sbírka obsahu nabízí rozmanitý obsah, který nepůjdete najít nikde jinde."}]}},zh:{features:{headline:"功能",items:[{title:"精選質量,設計價值:",description:"體驗精心挑選的數位內容,旨在提供最佳娛樂和價值。我們的精選確保您只收到最高質量的產品,量身定制以符合您的偏好。"},{title:"定期更新:",description:"經常添加新內容和功能。「總有新發現。」我們的團隊不懈努力,為您帶來最新和最好的數位娛樂,確保您永遠不會缺少令人興奮的選擇。敬請期待定期更新,保持您的體驗新鮮和引人入勝。"},{title:"卓越的客戶支持:",description:"我們專門的支持團隊隨時準備協助用戶解決任何查詢或問題。「我們隨時為您提供幫助。」無論是技術問題還是一般問題,我們的專家只需一個電話或點擊即可。"},{title:"獨家原創:",description:"進入為您量身打造的獨家原創世界。我們獨特的內容庫提供多樣化的內容,您在其他地方找不到。"}]}},ar:{features:{headline:"الميزات",items:[{title:"مختارة للجودة، مصممة للقيمة:",description:"استمتع بالمحتوى الرقمي المنتقى بعناية المصمم لتقديم أفضل الترفيه والقيمة. يضمن اختيارنا المنسق حصولك فقط على أعلى جودة من العروض، مصممة خصيصًا لتفضيلاتك."},{title:"تحديثات منتظمة:",description:'محتوى وميزات جديدة تضاف بشكل متكرر. "دائمًا هناك شيء جديد لاكتشافه." يعمل فريقنا بلا كلل لجلب أحدث وأفضل ما في الترفيه الرقمي، مما يضمن أنك لن تنفد الخيارات المثيرة أبدًا. ترقب التحديثات المنتظمة التي تحافظ على تجربتك جديدة وجذابة.'},{title:"دعم عملاء استثنائي:",description:'فريق الدعم المخصص لدينا دائماً مستعد لمساعدة المستخدمين في أي استفسارات أو مشكلات قد تواجههم. "نحن هنا للمساعدة، في كل خطوة على الطريق." سواء كانت مشكلة تقنية أو سؤال عام، خبراؤنا على بعد مكالمة أو نقرة.'},{title:"أصليات حصرية:",description:"احصل على عالم من الأصليات الحصرية المصممة خصيصًا لك. تقدم مكتبتنا الفريدة تنوعًا من المحتوى الذي لن تجده في أي مكان آخر."}]}},ms:{features:{headline:"Fitur",items:[{title:"Dikurasi untuk Kualiti, Direka untuk Nilai:",description:"Alami kandungan digital yang dipilih dengan teliti yang direka untuk memberikan hiburan dan nilai terbaik. Pilihan kurasi kami memastikan anda menerima hanya tawaran berkualiti tinggi, disesuaikan dengan keutamaan anda."},{title:"Kemas Kini Berkala:",description:'Kandungan dan ciri baharu ditambah dengan kerap. "Sentiasa ada sesuatu yang baru untuk ditemui." Pasukan kami bekerja tanpa henti untuk membawa anda yang terbaru dan terbaik dalam hiburan digital, memastikan anda tidak kehabisan pilihan yang menarik. Nantikan kemas kini berkala yang memastikan pengalaman anda segar dan menarik.'},{title:"Sokongan Pelanggan yang Cemerlang:",description:'Pasukan sokongan berdedikasi kami sentiasa bersedia untuk membantu pengguna dengan sebarang pertanyaan atau masalah yang mungkin mereka hadapi. "Kami di sini untuk membantu, setiap langkah perjalanan." Sama ada masalah teknikal atau soalan umum, pakar kami hanya satu panggilan atau klik sahaja.'},{title:"Eksklusif Asal:",description:"Akses dunia eksklusif asal yang direka khas untuk anda. Perpustakaan kandungan unik kami menawarkan pelbagai kandungan yang anda tidak akan temui di tempat lain."}]}},it:{features:{headline:"Caratteristiche",items:[{title:"Selezionato per la Qualità, Progettato per il Valore:",description:"Sperimenta contenuti digitali scelti a mano progettati per offrire il miglior intrattenimento e valore. La nostra selezione curata garantisce che ricevi solo le offerte della massima qualità, personalizzate secondo le tue preferenze."},{title:"Aggiornamenti Regolari:",description:'Contenuti freschi e funzionalità aggiunte frequentemente. "Sempre qualcosa di nuovo da scoprire." Il nostro team lavora instancabilmente per portarti l\'ultima e la migliore intrattenimento digitale, garantendo che non ti manchino mai opzioni entusiasmanti. Rimani sintonizzato per aggiornamenti regolari che mantengono la tua esperienza fresca e coinvolgente.'},{title:"Supporto Clienti Eccezionale:",description:'Il nostro team di supporto dedicato è sempre pronto ad assistere gli utenti con qualsiasi domanda o problema possano incontrare. "Siamo qui per aiutarti, in ogni passo del percorso." Che si tratti di un problema tecnico o di una domanda generale, i nostri esperti sono a una chiamata o clic di distanza.'},{title:"Originali Esclusive:",description:"Accedi a un mondo di originali esclusive create appositamente per te. La nostra unica libreria di contenuti offre una varietà di contenuti che non troverai da nessun'altra parte."}]}},lt:{features:{headline:"Funkcijos",items:[{title:"Rinkta Kokybei, Sukurtas Vertės:",description:"Patirkite kruopščiai atrinktą skaitmeninį turinį, sukurtą siekiant suteikti geriausią pramogą ir vertę. Mūsų kruopščiai atrinktas pasirinkimas užtikrina, kad gausite tik aukščiausios kokybės pasiūlymus, pritaikytus jūsų preferencijoms."},{title:"Reguliarūs Atnaujinimai:",description:'Šviežias turinys ir funkcijos dažnai pridedamos. "Visada kažkas naujo atrasti." Mūsų komanda nepertraukiamai dirba, kad atneštų jums naujausią ir geriausią skaitmeninėje pramogų srityje, užtikrinant, kad niekada nesibaikytumėte įdomių pasirinkimų. Sekite reguliarius atnaujinimus, kurie išlaiko jūsų patirtį šviežią ir įtraukiantį.'},{title:"Išskirtinė Klientų Parama:",description:'Mūsų dedikuota palaikymo komanda visada pasirengusi padėti vartotojams su bet kokiais klausimais ar problemomis, su kuriomis jie gali susidurti. "Mes esame čia, kad padėtume, kiekviename žingsnyje." Nesvarbu, ar tai techninė problema, ar bendras klausimas, mūsų ekspertai yra tik skambučių ar paspaudimų atstumu.'},{title:"Išskirtiniai Originalai:",description:"Pasiekite pasaulį su išskirtiniais originalais, sukurtus tik jums. Mūsų unikali turinio biblioteka siūlo įvairų turinį, kurio negalėsite rasti niekur kitur."}]}},fr:{features:{headline:"Caractéristiques",items:[{title:"Sélectionné pour la Qualité, Conçu pour la Valeur :",description:"Découvrez du contenu numérique soigneusement sélectionné conçu pour offrir le meilleur divertissement et la meilleure valeur. Notre sélection organisée garantit que vous recevez uniquement les offres de la plus haute qualité, adaptées à vos préférences."},{title:"Mises à Jour Régulières :",description:"Nouveau contenu et fonctionnalités ajoutés fréquemment. \"Toujours quelque chose de nouveau à découvrir.\" Notre équipe travaille sans relâche pour vous apporter le meilleur du divertissement numérique, assurant que vous ne manquiez jamais d'options passionnantes. Restez à l'affût des mises à jour régulières qui maintiennent votre expérience fraîche et engageante."},{title:"Support Client Exceptionnel :",description:'Notre équipe de support dédiée est toujours prête à aider les utilisateurs avec toutes les demandes ou problèmes qu\'ils pourraient rencontrer. "Nous sommes là pour vous aider, à chaque étape." Que ce soit un problème technique ou une question générale, nos experts sont à un appel ou un clic.'},{title:"Originaux Exclusifs :",description:"Accédez à un monde d'originaux exclusifs créés spécialement pour vous. Notre bibliothèque de contenu unique offre une diversité de contenus que vous ne trouverez nulle part ailleurs."}]}},de:{features:{headline:"Features",items:[{title:"Für Qualität ausgewählt, für Wert konzipiert:",description:"Erleben Sie handverlesene digitale Inhalte, die darauf ausgelegt sind, die beste Unterhaltung und den besten Wert zu bieten. Unsere kuratierte Auswahl stellt sicher, dass Sie nur die hochwertigsten Angebote erhalten, die auf Ihre Vorlieben zugeschnitten sind."},{title:"Regelmäßige Updates:",description:'Frische Inhalte und Funktionen werden häufig hinzugefügt. "Immer etwas Neues zu entdecken." Unser Team arbeitet unermüdlich daran, Ihnen das Neueste und Beste im digitalen Entertainment zu bieten, sodass Ihnen nie spannende Optionen ausgehen. Bleiben Sie dran für regelmäßige Updates, die Ihr Erlebnis frisch und ansprechend halten.'},{title:"Außergewöhnlicher Kundensupport:",description:'Unser engagiertes Support-Team ist immer bereit, Benutzer bei Anfragen oder Problemen zu unterstützen, auf die sie stoßen könnten. "Wir sind hier, um zu helfen, bei jedem Schritt des Weges." Ob es ein technisches Problem oder eine allgemeine Frage ist, unsere Experten sind nur einen Anruf oder Klick entfernt.'},{title:"Exklusive Originals:",description:"Zugang zu einer Welt exklusiver Originals, die nur für Sie erstellt wurden. Unsere einzigartige Content-Bibliothek bietet eine vielfältige Auswahl an Inhalten, die Sie nirgendwo sonst finden werden."}]}},el:{features:{headline:"Χαρακτηριστικά",items:[{title:"Επιλεγμένο για Ποιότητα, Σχεδιασμένο για Αξία:",description:"Νιώστε επιλεγμένο ψηφιακό περιεχόμενο σχεδιασμένο να προσφέρει την καλύτερη ψυχαγωγία και αξία. Η επιλεγμένη μας επιλογή εξασφαλίζει ότι λαμβάνετε μόνο τις υψηλότερης ποιότητας προσφορές, προσαρμοσμένες στις προτιμήσεις σας."},{title:"Κανονικές Ενημερώσεις:",description:'Φρέσκο περιεχόμενο και χαρακτηριστικά που προστίθενται συχνά. "Πάντα κάτι νέο να ανακαλύψετε." Η ομάδα μας εργάζεται ακούραστα για να σας φέρει τα τελευταία και καλύτερα στην ψηφιακή ψυχαγωγία, εξασφαλίζοντας ότι ποτέ δεν σας τελειώνουν οι συναρπαστικές επιλογές. Μείνετε συντονισμένοι για κανονικές ενημερώσεις που κρατούν την εμπειρία σας φρέσκια και ελκυστική.'},{title:"Εξαιρετική Υποστήριξη Πελατών:",description:'Η αφοσιωμένη ομάδα υποστήριξής μας είναι πάντα έτοιμη να βοηθήσει τους χρήστες με οποιεσδήποτε ερωτήσεις ή προβλήματα μπορεί να συναντήσουν. "Είμαστε εδώ για να βοηθήσουμε, σε κάθε βήμα του δρόμου." Είτε πρόκειται για τεχνικό πρόβλημα είτε για γενική ερώτηση, οι ειδικοί μας είναι μόνο μια κλήση ή κλικ μακριά.'},{title:"Αποκλειστικά Πρωτότυπα:",description:"Πρόσβαση σε έναν κόσμο αποκλειστικών πρωτότυπων δημιουργημένων μόνο για εσάς. Η μοναδική μας βιβλιοθήκη περιεχομένου προσφέρει ένα ποικίλο περιεχόμενο που δεν θα βρείτε πουθενά αλλού."}]}},es:{features:{headline:"Características",items:[{title:"Seleccionado por Calidad, Diseñado para el Valor:",description:"Experimenta contenido digital seleccionado a mano diseñado para ofrecer el mejor entretenimiento y valor. Nuestra selección curada asegura que recibas solo las ofertas de mayor calidad, adaptadas a tus preferencias."},{title:"Actualizaciones Regulares:",description:'Contenido fresco y características añadidas con frecuencia. "Siempre hay algo nuevo por descubrir." Nuestro equipo trabaja incansablemente para traerte lo último y lo mejor en entretenimiento digital, asegurando que nunca te quedes sin opciones emocionantes. Mantente atento a las actualizaciones regulares que mantienen tu experiencia fresca y atractiva.'},{title:"Soporte al Cliente Excepcional:",description:'Nuestro dedicado equipo de soporte siempre está listo para asistir a los usuarios con cualquier consulta o problema que puedan encontrar. "Estamos aquí para ayudar, en cada paso del camino." Ya sea un problema técnico o una pregunta general, nuestros expertos están a solo una llamada o clic de distancia.'},{title:"Originales Exclusivas:",description:"Accede a un mundo de originales exclusivos creados solo para ti. Nuestra única biblioteca de contenido ofrece una diversidad de contenido que no encontrarás en ningún otro lugar."}]}},id:{features:{headline:"Fitur",items:[{title:"Dikurasi untuk Kualitas, Dirancang untuk Nilai:",description:"Rasakan konten digital pilihan tangan yang dirancang untuk memberikan hiburan dan nilai terbaik. Seleksi kami yang dikurasi memastikan Anda hanya menerima penawaran dengan kualitas tertinggi, disesuaikan dengan preferensi Anda."},{title:"Pembaruan Reguler:",description:'Konten baru dan fitur ditambahkan secara berkala. "Selalu ada sesuatu yang baru untuk ditemukan." Tim kami bekerja tanpa lelah untuk membawa Anda yang terbaru dan terbaik dalam hiburan digital, memastikan Anda tidak pernah kehabisan opsi menarik. Nantikan pembaruan reguler yang menjaga pengalaman Anda tetap segar dan menarik.'},{title:"Dukungan Pelanggan yang Luar Biasa:",description:'Tim dukungan kami yang berdedikasi selalu siap membantu pengguna dengan pertanyaan atau masalah apa pun yang mungkin mereka temui. "Kami di sini untuk membantu, setiap langkahnya." Apakah itu masalah teknis atau pertanyaan umum, para ahli kami hanya satu panggilan atau klik saja.'},{title:"Orisinal Eksklusif:",description:"Akses dunia orisinal eksklusif yang dibuat khusus untuk Anda. Perpustakaan konten unik kami menawarkan beragam konten yang tidak akan Anda temukan di tempat lain."}]}},tr:{features:{headline:"Özellikler",items:[{title:"Kalite için Seçildi, Değer için Tasarlandı:",description:"En iyi eğlence ve değeri sunmak için tasarlanmış, özenle seçilmiş dijital içeriği deneyimleyin. Seçkimiz, yalnızca en yüksek kalitedeki sunumları almanızı sağlar ve tercihlerinize göre özelleştirilmiştir."},{title:"Düzenli Güncellemeler:",description:'Taze içerik ve özellikler sık sık eklenir. "Keşfedecek her zaman yeni bir şeyler var." Ekibimiz, dijital eğlencede en son ve en güzel olanları size getirmek için yorulmadan çalışıyor, böylece asla heyecan verici seçeneklerden mahrum kalmamanızı sağlıyor. Deneyiminizi taze ve ilgi çekici tutan düzenli güncellemeleri takip edin.'},{title:"Olağanüstü Müşteri Desteği:",description:'Adanmış destek ekibimiz, kullanıcıların karşılaşabileceği herhangi bir soru veya konuda her zaman yardımcı olmaya hazırdır. "Yolda her adımda yardımcı olmak için buradayız." İster teknik bir sorun, ister genel bir soru olsun, uzmanlarımız sadece bir telefon ya da tıkama kadar yakınınızda.'},{title:"Özel Orijinaller:",description:"Sadece sizin için hazırlanmış özel orijinallere erişin. Eşsiz içerik kütüphanemiz, başka hiçbir yerde bulamayacağınız çeşitli içerikler sunar."}]}},nl:{features:{headline:"Functies",items:[{title:"Geselecteerd voor Kwaliteit, Ontworpen voor Waarde:",description:"Ervaar zorgvuldig geselecteerde digitale inhoud die is ontworpen om de beste entertainment en waarde te leveren. Onze gecureerde selectie zorgt ervoor dat je alleen de hoogste kwaliteit aanbiedingen ontvangt, afgestemd op jouw voorkeuren."},{title:"Regelmatige Updates:",description:'Verse inhoud en functies worden regelmatig toegevoegd. "Altijd iets nieuws te ontdekken." Ons team werkt onvermoeibaar om je het nieuwste en beste in digitale entertainment te brengen, zodat je nooit zonder spannende opties komt te zitten. Blijf op de hoogte van regelmatige updates die je ervaring fris en boeiend houden.'},{title:"Uitzonderlijke Klantenondersteuning:",description:'Ons toegewijde ondersteuningsteam staat altijd klaar om gebruikers te helpen met vragen of problemen die ze tegenkomen. "Wij zijn hier om te helpen, elke stap van de weg." Of het nu een technisch probleem is of een algemene vraag, onze experts zijn slechts een telefoontje of klik verwijderd.'},{title:"Exclusieve Originals:",description:"Toegang tot een wereld van exclusieve originals die speciaal voor jou zijn gemaakt. Onze unieke contentbibliotheek biedt diverse inhoud die je nergens anders zult vinden."}]}},cs:{features:{headline:"Vlastnosti",items:[{title:"Pečlivě Vybráno pro Kvalitu, Navrženo pro Hodnotu:",description:"Zažijte ručně vybraný digitální obsah navržený tak, aby poskytoval nejlepší zábavu a hodnotu. Náš pečlivě vybraný výběr zajišťuje, že obdržíte pouze ty nejkvalitnější nabídky, přizpůsobené vašim preferencím."},{title:"Pravidelné Aktualizace:",description:'Čerstvý obsah a funkce jsou přidávány často. "Vždy je něco nového k objevení." Náš tým neúnavně pracuje na tom, aby vám přinesl to nejnovější a nejlepší v digitálním zábavě, což zajišťuje, že vám nikdy nebudou chybět vzrušující možnosti. Sledujte pravidelné aktualizace, které udržují váš zážitek svěží a poutavý.'},{title:"Výjimečná Zákaznická Podpora:",description:'Náš specializovaný podpůrný tým je vždy připraven pomoci uživatelům s jakýmikoli dotazy nebo problémy, na které mohou narazit. "Jsme tu, abychom pomohli, na každém kroku cesty." Ať už jde o technický problém nebo obecný dotaz, naši odborníci jsou jen jeden hovor nebo kliknutí daleko.'},{title:"Exkluzivní Originály:",description:"Získejte přístup ke světu exkluzivních originálů vytvořených jen pro vás. Naše jedinečná knihovna obsahu nabízí různorodý obsah, který nenajdete nikde jinde."}]}},sv:{features:{headline:"Funktioner",items:[{title:"Kuraterad för Kvalitet, Designad för Värde:",description:"Upplev handplockat digitalt innehåll designat för att leverera den bästa underhållningen och värdet. Vårt kuraterade urval säkerställer att du endast får de högsta kvalitetserbjudandena, anpassade efter dina preferenser."},{title:"Regelbundna Uppdateringar:",description:'Färskt innehåll och funktioner läggs till ofta. "Alltid något nytt att upptäcka." Vårt team arbetar outtröttligt för att ge dig det senaste och bästa inom digital underhållning, vilket säkerställer att du aldrig går tom för spännande alternativ. Håll utkik efter regelbundna uppdateringar som håller din upplevelse fräsch och engagerande.'},{title:"Exceptionell Kundsupport:",description:'Vårt dedikerade supportteam är alltid redo att assistera användare med alla förfrågningar eller problem de kan stöta på. "Vi är här för att hjälpa, varje steg på vägen." Oavsett om det är ett tekniskt problem eller en allmän fråga, är våra experter bara ett samtal eller ett klick bort.'},{title:"Exklusiva Original:",description:"Få tillgång till en värld av exklusiva original skapade bara för dig. Vårt unika innehållsbibliotek erbjuder ett mångsidigt innehåll som du inte hittar någon annanstans."}]}},no:{features:{headline:"Funksjoner",items:[{title:"Kurert for Kvalitet, Designet for Verdi:",description:"Opplev håndplukket digitalt innhold designet for å levere den beste underholdningen og verdien. Vårt kuraterte utvalg sikrer at du kun mottar de høyeste kvalitetstilbudene, skreddersydd dine preferanser."},{title:"Regelmessige Oppdateringer:",description:'Nytt innhold og funksjoner legges til ofte. "Alltid noe nytt å oppdage." Vårt team jobber utrettelig for å bringe deg det siste og beste innen digital underholdning, og sikrer at du aldri går tom for spennende alternativer. Hold deg oppdatert for regelmessige oppdateringer som holder opplevelsen din frisk og engasjerende.'},{title:"Eksepsjonell Kundestøtte:",description:'Vårt dedikerte supportteam er alltid klart til å hjelpe brukere med eventuelle spørsmål eller problemer de måtte støte på. "Vi er her for å hjelpe, hvert trinn på veien." Enten det er et teknisk problem eller et generelt spørsmål, er våre eksperter bare en samtale eller et klikk unna.'},{title:"Eksklusive Originaler:",description:"Få tilgang til en verden av eksklusive originaler laget bare for deg. Vårt unike innholdsbibliotek tilbyr variert innhold som du ikke finner andre steder."}]}},vi:{features:{headline:"Tính năng",items:[{title:"Lựa Chọn Cho Chất Lượng, Thiết Kế Cho Giá Trị:",description:"Trải nghiệm nội dung kỹ thuật số được lựa chọn kỹ lưỡng, được thiết kế để cung cấp giải trí và giá trị tốt nhất. Bộ sưu tập được tuyển chọn của chúng tôi đảm bảo bạn chỉ nhận được những đề xuất chất lượng cao nhất, phù hợp với sở thích của bạn."},{title:"Cập Nhật Thường Xuyên:",description:'Nội dung mới và các tính năng được thêm vào thường xuyên. "Luôn có điều gì đó mới để khám phá." Đội ngũ của chúng tôi làm việc không ngừng nghỉ để mang đến cho bạn những gì mới nhất và tốt nhất trong ngành giải trí kỹ thuật số, đảm bảo rằng bạn không bao giờ thiếu những lựa chọn thú vị. Hãy đón chờ các bản cập nhật định kỳ giữ cho trải nghiệm của bạn luôn tươi mới và hấp dẫn.'},{title:"Hỗ Trợ Khách Hàng Xuất Sắc:",description:'Đội ngũ hỗ trợ tận tâm của chúng tôi luôn sẵn sàng hỗ trợ người dùng với bất kỳ thắc mắc hoặc vấn đề nào họ có thể gặp phải. "Chúng tôi ở đây để giúp đỡ, từng bước trên đường đi." Cho dù đó là vấn đề kỹ thuật hay câu hỏi chung, các chuyên gia của chúng tôi chỉ cách bạn một cuộc gọi hoặc một cú nhấp chuột.'},{title:"Originals Độc Quyền:",description:"Truy cập vào một thế giới của những originals độc quyền được tạo ra chỉ dành cho bạn. Thư viện nội dung độc đáo của chúng tôi cung cấp đa dạng nội dung mà bạn sẽ không tìm thấy ở bất kỳ nơi nào khác."}]}},fi:{features:{headline:"Ominaisuudet",items:[{title:"Laatua varten valikoitua, arvoa varten suunniteltua:",description:"Koe huolella valittu digitaalinen sisältö, joka on suunniteltu tarjoamaan paras viihde ja arvo. Huolella valittu valikoimamme varmistaa, että saat vain korkeinta laatua tarjoavat sisällöt, räätälöidyt mieltymyksesi mukaan."},{title:"Säännölliset Päivitykset:",description:'Tuoreita sisältöjä ja ominaisuuksia lisätään usein. "Aina jotain uutta löydettävää." Tiimimme työskentelee väsymättömästi tuodakseen sinulle uusimmat ja parhaimmat digitaalisen viihteen tarjonnat, varmistaen, ettet koskaan lopu jännittävistä vaihtoehdoista. Pysy kuulolla säännöllisissä päivityksissä, jotka pitävät kokemuksesi tuoreena ja kiinnostavana.'},{title:"Poikkeuksellinen Asiakastuki:",description:'Omistautunut tukitiimimme on aina valmis auttamaan käyttäjiä kaikissa kyselyissä tai ongelmissa, joita he saattavat kohdata. "Olemme täällä auttamassa, jokaisella askeleella." Oli kyseessä sitten tekninen ongelma tai yleinen kysymys, asiantuntijamme ovat vain puhelinsoiton tai klikkauksen päässä.'},{title:"Eksklusiiviset Originalit:",description:"Pääse käsiksi maailmaan, jossa on eksklusiivisia originaleja, jotka on tehty vain sinulle. Uniikki sisältökirjastomme tarjoaa monipuolista sisältöä, jota et löydä mistään muualta."}]}},sr:{features:{headline:"Funkcije",items:[{title:"Odabrano za Kvalitet, Dizajnirano za Vrednost:",description:"Iskusite pažljivo odabrani digitalni sadržaj dizajniran da pruži najbolju zabavu i vrednost. Naš kurirani izbor osigurava da dobijete samo najkvalitetnije ponude, prilagođene vašim preferencama."},{title:"Redovne Ažuriranja:",description:'Svež sadržaj i funkcije se često dodaju. "Uvek nešto novo za otkriti." Naš tim neumorno radi kako bi vam donio najnovije i najbolje u digitalnoj zabavi, osiguravajući da vam nikada ne ponestane uzbudljivih opcija. Pratite redovna ažuriranja koja održavaju vaše iskustvo svežim i zanimljivim.'},{title:"Izvanredna Korisnička Podrška:",description:'Naš posvećeni tim za podršku uvek je spreman da pomogne korisnicima sa bilo kojim pitanjima ili problemima na koje mogu naići. "Tu smo da pomognemo, na svakom koraku puta." Bilo da je u pitanju tehnički problem ili opšte pitanje, naši stručnjaci su samo jedan poziv ili klik udaljeni.'},{title:"Ekskluzivni Originali:",description:"Pristupite svetu ekskluzivnih originala kreiranih samo za vas. Naša jedinstvena biblioteka sadržaja nudi raznovrstan sadržaj koji nećete pronaći nigde drugde."}]}},pl:{features:{headline:"Funkcje",items:[{title:"Wybrane dla jakości, zaprojektowane dla wartości:",description:"Doświadcz starannie wyselekcjonowanej treści cyfrowej, zaprojektowanej, aby zapewnić najlepszą rozrywkę i wartość. Nasza starannie dobrana kolekcja zapewnia, że otrzymujesz tylko najwyższej jakości treści, dostosowane do Twoich preferencji."},{title:"Regularne Aktualizacje:",description:'Świeże treści i funkcje są często dodawane. "Zawsze coś nowego do odkrycia." Nasz zespół pracuje niestrudzenie, aby dostarczyć Ci najnowsze i najlepsze oferty cyfrowej rozrywki, zapewniając, że nigdy nie zabraknie Ci ekscytujących opcji. Bądź na bieżąco z regularnymi aktualizacjami, które utrzymują Twoje doświadczenie świeżym i interesującym.'},{title:"Wyjątkowa Obsługa Klienta:",description:'Nasz oddany zespół wsparcia jest zawsze gotowy, aby pomóc użytkownikom w każdej kwestii lub problemie, z którym mogą się spotkać. "Jesteśmy tutaj, aby pomóc, na każdym kroku." Niezależnie od tego, czy jest to problem techniczny, czy ogólne pytanie, nasi eksperci są tylko telefonem lub kliknięciem od Ciebie.'},{title:"Ekskluzywne Oryginały:",description:"Uzyskaj dostęp do świata ekskluzywnych oryginałów, stworzonych tylko dla Ciebie. Nasza unikalna biblioteka treści oferuje różnorodne treści, których nie znajdziesz nigdzie indziej."}]}},kw:{features:{headline:"المميزات",items:[{title:"مختارة بجودة عالية، مصممة للقيمة:",description:"استمتع بمحتوى رقمي مختار بعناية مصمم لتقديم أفضل الترفيه والقيمة. يضمن اختيارنا المختار أنك تحصل فقط على أفضل العروض عالية الجودة، مصممة خصيصًا لتفضيلاتك."},{title:"تحديثات منتظمة:",description:'محتوى وميزات جديدة تضاف بشكل متكرر. "دائمًا هناك شيء جديد لاكتشافه." يعمل فريقنا بلا كلل لتقديم أحدث وأروع ما في الترفيه الرقمي، مما يضمن أنك لن تنفد أبدًا من الخيارات المثيرة. ترقب التحديثات المنتظمة التي تحافظ على تجربتك جديدة وجذابة.'},{title:"دعم عملاء استثنائي:",description:'فريق الدعم المخصص لدينا مستعد دائمًا لمساعدة المستخدمين في أي استفسارات أو مشكلات قد يواجهونها. "نحن هنا للمساعدة، في كل خطوة على الطريق." سواء كانت مشكلة تقنية أو سؤالًا عامًا، خبراؤنا على بعد مكالمة أو نقرة واحدة.'},{title:"أعمال أصلية حصرية:",description:"الوصول إلى عالم من الأعمال الأصلية الحصرية المصممة خصيصًا لك. تقدم مكتبة المحتوى الفريدة لدينا محتوى متنوعًا لن تجده في أي مكان آخر."}]}},kk:{features:{headline:"Мүмкіндіктер",items:[{title:"Сапаға арналған, құндылыққа арналған:",description:"Сіздің қалауларыңызға бейімделген, тек ең жоғары сапалы ұсыныстарды ұсынатын, ең жақсы ойын-сауық пен құндылықты ұсынатын цифрлық мазмұнды тәжірибе етіңіз."},{title:"Жиі жаңартулар:",description:'Жиі қосылатын жаңа мазмұн мен мүмкіндіктер. "Әрқашан жаңа нәрселер бар." Біздің тобымыз сізге цифрлық ойын-сауықтың ең соңғы және ең жақсысын әкелу үшін тынымсыз жұмыс істейді, сіздің тәжірибеңіз әрқашан жаңа және қызықты болуын қамтамасыз етеді.'},{title:"Тамаша тұтынушыларға қолдау:",description:'Біздің мамандандырылған қолдау тобы әрқашан пайдаланушыларға кез-келген сұрақтар немесе мәселелер бойынша көмек көрсетуге дайын. "Біз барлық жолда көмектесуге мұқтажпыз." Техникалық мәселе болсын немесе жалпы сұрақ болсын, біздің мамандар сізге бір қоңырау немесе шерту қашықтығында.'},{title:"Эксклюзивті түпнұсқалар:",description:"Сіз үшін арнайы жасалған эксклюзивті түпнұсқалар әлеміне қол жеткізіңіз. Біздің бірегей мазмұн кітапханамыз басқа жерде таппайтын әртүрлі мазмұнды ұсынады."}]}},ru:{features:{headline:"Возможности",items:[{title:"Кураторский отбор качества, дизайн для ценности:",description:"Испытайте тщательно подобранный цифровой контент, разработанный для обеспечения лучших развлечений и ценности. Наша кураторская подборка гарантирует, что вы получаете только предложения высочайшего качества, адаптированные под ваши предпочтения."},{title:"Регулярные обновления:",description:'Свежий контент и функции добавляются часто. "Всегда есть что-то новое для открытия." Наша команда неустанно работает, чтобы принести вам самое последнее и лучшее в цифровых развлечениях, гарантируя, что у вас никогда не закончатся захватывающие варианты. Следите за регулярными обновлениями, которые делают ваш опыт свежим и увлекательным.'},{title:"Исключительная поддержка клиентов:",description:'Наша преданная команда поддержки всегда готова помочь пользователям с любыми вопросами или проблемами, с которыми они могут столкнуться. "Мы здесь, чтобы помочь на каждом шагу." Будь то техническая проблема или общий вопрос, наши эксперты находятся всего в одном звонке или клике.'},{title:"Эксклюзивные оригиналы:",description:"Получите доступ к миру эксклюзивных оригиналов, созданных специально для вас. Наша уникальная библиотека контента предлагает разнообразный контент, который вы не найдете больше нигде."}]}},pt:{features:{headline:"Funcionalidades",items:[{title:"Selecionado pela Qualidade, Projetado para o Valor:",description:"Desfrute de conteúdo digital selecionado para oferecer o melhor entretenimento e valor. Nossa seleção curada garante que você receba apenas as melhores ofertas, adaptadas às suas preferências."},{title:"Atualizações Regulares:",description:'Conteúdo e funcionalidades novos adicionados frequentemente. "Sempre algo novo para descobrir." Nossa equipe trabalha incansavelmente para trazer o que há de mais recente e melhor em entretenimento digital, garantindo que você nunca fique sem opções empolgantes. Fique atento às atualizações regulares que mantêm sua experiência sempre nova e envolvente.'},{title:"Atendimento ao Cliente Excepcional:",description:'Nossa equipe de suporte dedicada está sempre pronta para ajudar os usuários com quaisquer dúvidas ou problemas que possam encontrar. "Estamos aqui para ajudar, em cada passo do caminho." Seja um problema técnico ou uma dúvida geral, nossos especialistas estão a apenas uma chamada ou clique de distância.'},{title:"Originais Exclusivos:",description:"Acesse um mundo de originais exclusivos criados especialmente para você. Nossa biblioteca de conteúdo único oferece uma diversidade que você não encontrará em nenhum outro lugar."}]}},sl:{features:{headline:"Funkcije",items:[{title:"Izbrano za kakovost, zasnovano za vrednost:",description:"Doživite skrbno izbrane digitalne vsebine, ustvarjene za najboljšo zabavo in vrednost. Naša kurirana izbira zagotavlja, da prejmete le najkakovostnejše ponudbe, prilagojene vašim željam."},{title:"Redne posodobitve:",description:'Nova vsebina in funkcije se pogosto dodajajo. "Vedno nekaj novega za odkriti." Naša ekipa neutrudno dela, da vam prinese najnovejše in najboljše v digitalni zabavi, kar zagotavlja, da vam nikoli ne zmanjka zanimivih možnosti. Spremljajte redne posodobitve, ki ohranjajo vašo izkušnjo svežo in privlačno.'},{title:"Izjemna podpora strankam:",description:'Naša predana ekipa za podporo je vedno pripravljena pomagati uporabnikom pri vseh vprašanjih ali težavah, na katere naletijo. "Tu smo, da vam pomagamo na vsakem koraku." Ne glede na to, ali gre za tehnično težavo ali splošno vprašanje, so naši strokovnjaki le en klic ali klik stran.'},{title:"Ekskluzivne izvirne vsebine:",description:"Dostopajte do sveta ekskluzivnih izvirnikov, ustvarjenih posebej za vas. Naša edinstvena knjižnica vsebin ponuja raznoliko ponudbo, ki je ne boste našli nikjer drugje."}]}},th:{features:{headline:"คุณสมบัติ",items:[{title:"คัดสรรอย่างพิถีพิถัน ออกแบบเพื่อคุณค่า:",description:"สัมผัสประสบการณ์เนื้อหาดิจิทัลที่คัดสรรมาเป็นอย่างดี ออกแบบมาเพื่อมอบความบันเทิงและคุณค่าที่ดีที่สุด คอลเลคชันที่คัดสรรมาโดยเฉพาะของเรามั่นใจได้ว่าคุณจะได้รับเนื้อหาคุณภาพสูงสุดที่ปรับแต่งตามความต้องการของคุณ"},{title:"อัปเดตเป็นประจำ:",description:'เนื้อหาและคุณสมบัติใหม่ๆ ถูกเพิ่มเข้ามาอย่างสม่ำเสมอ "มีอะไรใหม่ให้ค้นพบเสมอ" ทีมงานของเราทำงานอย่างไม่รู้จักเหน็ดเหนื่อยเพื่อนำเสนอความบันเทิงดิจิทัลล่าสุดและดีที่สุดให้คุณ มั่นใจได้ว่าคุณจะไม่เคยขาดตัวเลือกที่น่าตื่นเต้น ติดตามการอัปเดตเป็นประจำที่ช่วยให้ประสบการณ์ของคุณสดใหม่และน่าสนใจอยู่เสมอ'},{title:"การสนับสนุนลูกค้าที่โดดเด่น:",description:'ทีมสนับสนุนที่ทุ่มเทของเราพร้อมเสมอที่จะช่วยเหลือผู้ใช้ในทุกคำถามหรือปัญหาที่อาจเกิดขึ้น "เราพร้อมช่วยเหลือคุณในทุกขั้นตอน" ไม่ว่าจะเป็นปัญหาทางเทคนิคหรือคำถามทั่วไป ผู้เชี่ยวชาญของเราพร้อมให้ความช่วยเหลือเพียงแค่โทรศัพท์หรือคลิกเดียว'},{title:"เนื้อหาต้นฉบับพิเศษ:",description:"เข้าถึงโลกแห่งเนื้อหาต้นฉบับพิเศษที่สร้างขึ้นมาเพื่อคุณโดยเฉพาะ คอลเลคชันเนื้อหาที่ไม่ซ้ำใครของเรานำเสนอเนื้อหาที่หลากหลายที่คุณจะไม่พบที่ไหนอื่น"}]}}},o=function(o){var l,u,d,m,c,p,k,g=o.locale,v=void 0===g?"en":g,h=o.type,j=void 0===h?"astrology":h,b=o.domain,f=void 0===b?"":b,y=o.className,z=void 0===y?"":y,_=o.dataQaId,w=void 0===_?"qa-features":_,q=f||"",N=s[v]||s.en;return a.createElement("section",{className:e(n.accordion,n.features,"accordion features")},a.createElement("input",{type:"checkbox",name:"accordion",id:"features"}),a.createElement("label",{htmlFor:"features",className:e(n.accordion__title,"accordion__title")},a.createElement("p",null,null===(l=null==N?void 0:N.features)||void 0===l?void 0:l.headline)),a.createElement("div",{className:e(n.accordion__content,n.features,"accordion__content features"),"data-qa-id":w},a.createElement("div",{className:e(n.features__inner,"features__inner",z)},(null===(u=null==N?void 0:N.features)||void 0===u?void 0:u.items)&&(null===(m=null===(d=null==N?void 0:N.features)||void 0===d?void 0:d.items)||void 0===m?void 0:m.length)>0?null===(k=null===(p=function(e){for(var a,n=i([],t(e),!1),r=n.length-1;r>0;r-=1){var s=Math.floor(Math.random()*(r+1));a=t([n[s],n[r]],2),n[r]=a[0],n[s]=a[1]}return n}(null===(c=null==N?void 0:N.features)||void 0===c?void 0:c.items))||void 0===p?void 0:p.slice(0,3))||void 0===k?void 0:k.map((function(i,t){return a.createElement("div",{key:t,className:e(n.features__gridItem,"features__gridItem",z)},a.createElement("img",{src:"".concat(q).concat(r[j][t]),alt:null==i?void 0:i.title,className:e(n.features__gridItemImage,"features__gridItemImage")}),a.createElement("div",{className:e(n.features__gridItemContent,"features__gridItemContent",z)},a.createElement("span",{className:e(n.features__gridItemTitle,"features__gridItemTitle")},null==i?void 0:i.title),a.createElement("p",null,null==i?void 0:i.description)))})):null)))};export{o as F};
|
|
2
|
-
//# sourceMappingURL=Features-
|
|
2
|
+
//# sourceMappingURL=Features-7cbfa2e1.js.map
|