@c15t/nextjs 1.3.1 → 1.3.2
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_require__={};__webpack_require__.d=(e,r)=>{for(var
|
|
1
|
+
"use strict";let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_require__={};__webpack_require__.d=(e,r)=>{for(var t in r)__webpack_require__.o(r,t)&&!__webpack_require__.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},__webpack_require__.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{ConsentManagerProvider:()=>ConsentManagerProvider});let jsx_runtime_namespaceObject=require("react/jsx-runtime"),react_namespaceObject=require("@c15t/react"),headers_namespaceObject=require("next/headers"),LOCATION_HEADERS=["cf-ipcountry","x-vercel-ip-country","x-amz-cf-ipcountry","x-country-code","x-vercel-ip-country-region","x-region-code","accept-language","user-agent"],ABSOLUTE_URL_REGEX=/^https?:\/\//;function validateBackendURL(e){if(!ABSOLUTE_URL_REGEX.test(e))return{isAbsolute:!1,normalizedURL:e.startsWith("/")?e:`/${e}`};try{let r=new URL(e);if(!["http:","https:"].includes(r.protocol))throw Error(`Unsupported protocol: ${r.protocol}`);return{isAbsolute:!0,normalizedURL:e}}catch{throw Error(`Invalid absolute URL: ${e}`)}}function extractRelevantHeaders(e){let r={};for(let t of LOCATION_HEADERS){let a=e.get(t);a&&(r[t]=a)}return r}async function getC15TInitialData(e){let r,t=await (0,headers_namespaceObject.headers)(),a=Promise.resolve(void 0),_=extractRelevantHeaders(t),n=t.get("referer");try{let{normalizedURL:t,isAbsolute:a}=validateBackendURL(e);if(a)r=t;else{if(!n)throw Error("Referer header is required for relative URLs");r=`${n}${t}`}}catch(e){return"development"===process.env.NODE_ENV&&console.warn("Invalid backend URL:",e),a}try{if(Object.keys(_).length>0){let e=await fetch(`${r}/show-consent-banner`,{method:"GET",headers:_});e.ok&&(a=await e.json())}}catch{}return a}function ConsentManagerProvider({children:e,options:r}){let t;return t="c15t"===r.mode?getC15TInitialData(r.backendURL):Promise.resolve(void 0),(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.ConsentManagerProvider,{options:{...r,store:{...r.store,_initialData:t}},children:e})}for(var __webpack_i__ in exports.ConsentManagerProvider=__webpack_exports__.ConsentManagerProvider,__webpack_exports__)-1===["ConsentManagerProvider"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/consent-manager-provider/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAEN,KAAK,2BAA2B,EAChC,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/consent-manager-provider/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAEN,KAAK,2BAA2B,EAChC,MAAM,aAAa,CAAC;AAqHrB,wBAAgB,sBAAsB,CAAC,EACtC,QAAQ,EACR,OAAO,GACP,EAAE,2BAA2B,2CA0B7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as e from"react/jsx-runtime";import*as
|
|
1
|
+
import*as e from"react/jsx-runtime";import*as r from"@c15t/react";import*as t from"next/headers";let o=["cf-ipcountry","x-vercel-ip-country","x-amz-cf-ipcountry","x-country-code","x-vercel-ip-country-region","x-region-code","accept-language","user-agent"],n=/^https?:\/\//;async function i(e){let r,i=await (0,t.headers)(),a=Promise.resolve(void 0),s=function(e){let r={};for(let t of o){let o=e.get(t);o&&(r[t]=o)}return r}(i),c=i.get("referer");try{let{normalizedURL:t,isAbsolute:o}=function(e){if(!n.test(e))return{isAbsolute:!1,normalizedURL:e.startsWith("/")?e:`/${e}`};try{let r=new URL(e);if(!["http:","https:"].includes(r.protocol))throw Error(`Unsupported protocol: ${r.protocol}`);return{isAbsolute:!0,normalizedURL:e}}catch{throw Error(`Invalid absolute URL: ${e}`)}}(e);if(o)r=t;else{if(!c)throw Error("Referer header is required for relative URLs");r=`${c}${t}`}}catch(e){return"development"===process.env.NODE_ENV&&console.warn("Invalid backend URL:",e),a}try{if(Object.keys(s).length>0){let e=await fetch(`${r}/show-consent-banner`,{method:"GET",headers:s});e.ok&&(a=await e.json())}}catch{}return a}function a({children:t,options:o}){let n;return n="c15t"===o.mode?i(o.backendURL):Promise.resolve(void 0),(0,e.jsx)(r.ConsentManagerProvider,{options:{...o,store:{...o.store,_initialData:n}},children:t})}export{a as ConsentManagerProvider};
|