{"version":3,"sources":["region.ts"],"sourcesContent":["import { ConsentModes } from \"./consent.ts\"\nimport { ContentProps, ContentType, PolicyProps } from \"../Cookies.tsx\"\nimport { isBrowser } from \"framer-motion\"\nimport { inEU } from \"../lib/inEU.ts\"\nimport { useEffect, useState } from \"react\"\n\nexport type RegionType = \"EU\" | \"World\"\nexport type RegionContent = {\n    title: string\n    description: string\n    type: ContentType\n    defaults: ConsentModes\n    policy: PolicyProps\n    blocking: boolean\n    showReject: boolean\n}\n\ntype UseRegionProps = {\n    content: ContentProps\n    useRegionFromProps?: boolean\n    skipEUCheck: boolean // skip execution\n    regionFromGTM?: RegionType\n}\n\nexport function useRegion({\n    content,\n    useRegionFromProps,\n    skipEUCheck,\n    regionFromGTM,\n}: UseRegionProps) {\n    const isInEUBasedOnLocation =\n        isBrowser && !skipEUCheck && !regionFromGTM ? inEU() : false\n    const regionBasedOnLocation = isInEUBasedOnLocation ? \"EU\" : \"World\"\n    const regionFromProps: RegionType = content.isEU ? \"EU\" : \"World\"\n\n    const regionContent: Record<RegionType, RegionContent> = {\n        EU: {\n            title: content.euTitle,\n            description: content.euDescription,\n            type: content.euType,\n            defaults: content.euDefaults,\n            policy: content.euPolicy,\n            blocking: content.euBlocking,\n            showReject:\n                content.euType === \"advanced\" ? content.euShowReject : true,\n        },\n        World: {\n            title: content.worldTitle,\n            description: content.worldDescription,\n            type: content.worldType,\n            defaults: content.worldDefaults,\n            policy: content.worldPolicy,\n            blocking: content.worldBlocking,\n            showReject:\n                content.worldType === \"advanced\"\n                    ? content.worldShowReject\n                    : true,\n        },\n    }\n\n    return regionContent[\n        regionFromGTM\n            ? regionFromGTM\n            : useRegionFromProps\n              ? regionFromProps\n              : regionBasedOnLocation\n    ]\n}\n"],"names":[],"mappings":"AAEA,OAAS,SAAS,KAAQ,gBAAe,AACzC,OAAS,IAAI,KAAQ,iBAAgB,AAqBrC,OAAO,SAAS,UAAU,CACtB,OAAO,CACP,kBAAkB,CAClB,WAAW,CACX,aAAa,CACA,EACb,MAAM,sBACF,WAAa,CAAC,aAAe,CAAC,cAAgB,OAAS,MAC3D,MAAM,sBAAwB,sBAAwB,KAAO,QAC7D,MAAM,gBAA8B,QAAQ,IAAI,CAAG,KAAO,QAE1D,MAAM,cAAmD,CACrD,GAAI,CACA,MAAO,QAAQ,OAAO,CACtB,YAAa,QAAQ,aAAa,CAClC,KAAM,QAAQ,MAAM,CACpB,SAAU,QAAQ,UAAU,CAC5B,OAAQ,QAAQ,QAAQ,CACxB,SAAU,QAAQ,UAAU,CAC5B,WACI,QAAQ,MAAM,GAAK,WAAa,QAAQ,YAAY,CAAG,IAC/D,EACA,MAAO,CACH,MAAO,QAAQ,UAAU,CACzB,YAAa,QAAQ,gBAAgB,CACrC,KAAM,QAAQ,SAAS,CACvB,SAAU,QAAQ,aAAa,CAC/B,OAAQ,QAAQ,WAAW,CAC3B,SAAU,QAAQ,aAAa,CAC/B,WACI,QAAQ,SAAS,GAAK,WAChB,QAAQ,eAAe,CACvB,IACd,CACJ,EAEA,OAAO,aAAa,CAChB,cACM,cACA,mBACE,gBACA,sBACX,CACL"}