@becklyn/next 1.0.1
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/LICENSE +21 -0
- package/dist/cjs/contentful/imageLoader.d.ts +7 -0
- package/dist/cjs/contentful/imageLoader.d.ts.map +1 -0
- package/dist/cjs/contentful/imageLoader.js +24 -0
- package/dist/cjs/contentful/inspector.d.ts +33 -0
- package/dist/cjs/contentful/inspector.d.ts.map +1 -0
- package/dist/cjs/contentful/inspector.js +44 -0
- package/dist/cjs/format/phone.d.ts +2 -0
- package/dist/cjs/format/phone.d.ts.map +1 -0
- package/dist/cjs/format/phone.js +10 -0
- package/dist/cjs/lib/click.d.ts +5 -0
- package/dist/cjs/lib/click.d.ts.map +1 -0
- package/dist/cjs/lib/click.js +18 -0
- package/dist/cjs/lib/dropdown.d.ts +29 -0
- package/dist/cjs/lib/dropdown.d.ts.map +1 -0
- package/dist/cjs/lib/dropdown.js +88 -0
- package/dist/cjs/lib/escape.d.ts +3 -0
- package/dist/cjs/lib/escape.d.ts.map +1 -0
- package/dist/cjs/lib/escape.js +17 -0
- package/dist/cjs/lib/focusTrap.d.ts +12 -0
- package/dist/cjs/lib/focusTrap.d.ts.map +1 -0
- package/dist/cjs/lib/focusTrap.js +73 -0
- package/dist/cjs/lib/geo.d.ts +3 -0
- package/dist/cjs/lib/geo.d.ts.map +1 -0
- package/dist/cjs/lib/geo.js +32 -0
- package/dist/cjs/lib/intersection.d.ts +10 -0
- package/dist/cjs/lib/intersection.d.ts.map +1 -0
- package/dist/cjs/lib/intersection.js +27 -0
- package/dist/cjs/lib/isMounted.d.ts +2 -0
- package/dist/cjs/lib/isMounted.d.ts.map +1 -0
- package/dist/cjs/lib/isMounted.js +12 -0
- package/dist/cjs/lib/slider.d.ts +23 -0
- package/dist/cjs/lib/slider.d.ts.map +1 -0
- package/dist/cjs/lib/slider.js +129 -0
- package/dist/cjs/lib/staticContent.d.ts +4 -0
- package/dist/cjs/lib/staticContent.d.ts.map +1 -0
- package/dist/cjs/lib/staticContent.js +19 -0
- package/dist/cjs/lib/typeChecks.d.ts +8 -0
- package/dist/cjs/lib/typeChecks.d.ts.map +1 -0
- package/dist/cjs/lib/typeChecks.js +19 -0
- package/dist/cjs/mock/block.d.ts +3 -0
- package/dist/cjs/mock/block.d.ts.map +1 -0
- package/dist/cjs/mock/block.js +5 -0
- package/dist/cjs/rte/generators.d.ts +12 -0
- package/dist/cjs/rte/generators.d.ts.map +1 -0
- package/dist/cjs/rte/generators.js +87 -0
- package/dist/cjs/rte/index.d.ts +14 -0
- package/dist/cjs/rte/index.d.ts.map +1 -0
- package/dist/cjs/rte/index.js +32 -0
- package/dist/cjs/structuredData/index.d.ts +7 -0
- package/dist/cjs/structuredData/index.d.ts.map +1 -0
- package/dist/cjs/structuredData/index.js +12 -0
- package/dist/cjs/tracking/cookiebot/index.d.ts +22 -0
- package/dist/cjs/tracking/cookiebot/index.d.ts.map +1 -0
- package/dist/cjs/tracking/cookiebot/index.js +99 -0
- package/dist/cjs/tracking/cookiebot/types.d.ts +47 -0
- package/dist/cjs/tracking/cookiebot/types.d.ts.map +1 -0
- package/dist/cjs/tracking/cookiebot/types.js +2 -0
- package/dist/cjs/tracking/gtm/index.d.ts +17 -0
- package/dist/cjs/tracking/gtm/index.d.ts.map +1 -0
- package/dist/cjs/tracking/gtm/index.js +115 -0
- package/dist/cjs/tracking/gtm/types.d.ts +19 -0
- package/dist/cjs/tracking/gtm/types.d.ts.map +1 -0
- package/dist/cjs/tracking/gtm/types.js +2 -0
- package/dist/cjs/tracking/index.d.ts +8 -0
- package/dist/cjs/tracking/index.d.ts.map +1 -0
- package/dist/cjs/tracking/index.js +10 -0
- package/dist/cjs/types/block.d.ts +4 -0
- package/dist/cjs/types/block.d.ts.map +1 -0
- package/dist/cjs/types/block.js +2 -0
- package/dist/cjs/types/preview.d.ts +8 -0
- package/dist/cjs/types/preview.d.ts.map +1 -0
- package/dist/cjs/types/preview.js +2 -0
- package/dist/cjs/types/style.d.ts +7 -0
- package/dist/cjs/types/style.d.ts.map +1 -0
- package/dist/cjs/types/style.js +2 -0
- package/dist/es/contentful/imageLoader.d.ts +7 -0
- package/dist/es/contentful/imageLoader.d.ts.map +1 -0
- package/dist/es/contentful/imageLoader.js +24 -0
- package/dist/es/contentful/inspector.d.ts +33 -0
- package/dist/es/contentful/inspector.d.ts.map +1 -0
- package/dist/es/contentful/inspector.js +37 -0
- package/dist/es/format/phone.d.ts +2 -0
- package/dist/es/format/phone.d.ts.map +1 -0
- package/dist/es/format/phone.js +10 -0
- package/dist/es/lib/click.d.ts +5 -0
- package/dist/es/lib/click.d.ts.map +1 -0
- package/dist/es/lib/click.js +18 -0
- package/dist/es/lib/dropdown.d.ts +29 -0
- package/dist/es/lib/dropdown.d.ts.map +1 -0
- package/dist/es/lib/dropdown.js +79 -0
- package/dist/es/lib/escape.d.ts +3 -0
- package/dist/es/lib/escape.d.ts.map +1 -0
- package/dist/es/lib/escape.js +17 -0
- package/dist/es/lib/focusTrap.d.ts +12 -0
- package/dist/es/lib/focusTrap.d.ts.map +1 -0
- package/dist/es/lib/focusTrap.js +64 -0
- package/dist/es/lib/geo.d.ts +3 -0
- package/dist/es/lib/geo.d.ts.map +1 -0
- package/dist/es/lib/geo.js +23 -0
- package/dist/es/lib/intersection.d.ts +10 -0
- package/dist/es/lib/intersection.d.ts.map +1 -0
- package/dist/es/lib/intersection.js +27 -0
- package/dist/es/lib/isMounted.d.ts +2 -0
- package/dist/es/lib/isMounted.d.ts.map +1 -0
- package/dist/es/lib/isMounted.js +12 -0
- package/dist/es/lib/slider.d.ts +23 -0
- package/dist/es/lib/slider.d.ts.map +1 -0
- package/dist/es/lib/slider.js +123 -0
- package/dist/es/lib/staticContent.d.ts +4 -0
- package/dist/es/lib/staticContent.d.ts.map +1 -0
- package/dist/es/lib/staticContent.js +18 -0
- package/dist/es/lib/typeChecks.d.ts +8 -0
- package/dist/es/lib/typeChecks.d.ts.map +1 -0
- package/dist/es/lib/typeChecks.js +19 -0
- package/dist/es/mock/block.d.ts +3 -0
- package/dist/es/mock/block.d.ts.map +1 -0
- package/dist/es/mock/block.js +10 -0
- package/dist/es/rte/generators.d.ts +12 -0
- package/dist/es/rte/generators.d.ts.map +1 -0
- package/dist/es/rte/generators.js +87 -0
- package/dist/es/rte/index.d.ts +14 -0
- package/dist/es/rte/index.d.ts.map +1 -0
- package/dist/es/rte/index.js +20 -0
- package/dist/es/structuredData/index.d.ts +7 -0
- package/dist/es/structuredData/index.d.ts.map +1 -0
- package/dist/es/structuredData/index.js +15 -0
- package/dist/es/tracking/cookiebot/index.d.ts +22 -0
- package/dist/es/tracking/cookiebot/index.d.ts.map +1 -0
- package/dist/es/tracking/cookiebot/index.js +95 -0
- package/dist/es/tracking/cookiebot/types.d.ts +47 -0
- package/dist/es/tracking/cookiebot/types.d.ts.map +1 -0
- package/dist/es/tracking/cookiebot/types.js +2 -0
- package/dist/es/tracking/gtm/index.d.ts +17 -0
- package/dist/es/tracking/gtm/index.d.ts.map +1 -0
- package/dist/es/tracking/gtm/index.js +114 -0
- package/dist/es/tracking/gtm/types.d.ts +19 -0
- package/dist/es/tracking/gtm/types.d.ts.map +1 -0
- package/dist/es/tracking/gtm/types.js +2 -0
- package/dist/es/tracking/index.d.ts +8 -0
- package/dist/es/tracking/index.d.ts.map +1 -0
- package/dist/es/tracking/index.js +10 -0
- package/dist/es/types/block.d.ts +4 -0
- package/dist/es/types/block.d.ts.map +1 -0
- package/dist/es/types/block.js +2 -0
- package/dist/es/types/preview.d.ts +8 -0
- package/dist/es/types/preview.d.ts.map +1 -0
- package/dist/es/types/preview.js +2 -0
- package/dist/es/types/style.d.ts +7 -0
- package/dist/es/types/style.d.ts.map +1 -0
- package/dist/es/types/style.js +2 -0
- package/package.json +47 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intersection.d.ts","sourceRoot":"","sources":["../../../lib/intersection.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,oBAAoB;IACjC,GAAG,EAAE,KAAK,CAAC,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAChD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1E,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,OAAO,CAAC;IACvD,YAAY,CAAC,EAAE,KAAK,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC;IAC7C,OAAO,CAAC,EAAE,wBAAwB,CAAC;CACtC;AAED,eAAO,MAAM,eAAe,GAAI,iEAO7B,oBAAoB,YAwBtB,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.useIntersection = void 0;
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const useIntersection = ({ ref, defaultValue = false, callback, filter, options, dependencies, }) => {
|
|
7
|
+
const [visible, setVisible] = (0, react_1.useState)(defaultValue);
|
|
8
|
+
const { current } = ref;
|
|
9
|
+
(0, react_1.useEffect)(() => {
|
|
10
|
+
const observer = new IntersectionObserver(entries => {
|
|
11
|
+
entries.forEach(entry => {
|
|
12
|
+
const isVisible = filter ? filter(entry) : entry.isIntersecting;
|
|
13
|
+
setVisible(isVisible);
|
|
14
|
+
if (callback) {
|
|
15
|
+
callback(entry, isVisible);
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
}, options);
|
|
19
|
+
if (ref.current) {
|
|
20
|
+
observer.observe(ref.current);
|
|
21
|
+
}
|
|
22
|
+
return () => observer.disconnect();
|
|
23
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
24
|
+
}, [current, ...(dependencies ?? [])]);
|
|
25
|
+
return visible;
|
|
26
|
+
};
|
|
27
|
+
exports.useIntersection = useIntersection;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isMounted.d.ts","sourceRoot":"","sources":["../../../lib/isMounted.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,eAQxB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useIsMounted = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const useIsMounted = () => {
|
|
6
|
+
const [isMounted, setIsMounted] = (0, react_1.useState)(false);
|
|
7
|
+
(0, react_1.useEffect)(() => {
|
|
8
|
+
setIsMounted(true);
|
|
9
|
+
}, []);
|
|
10
|
+
return isMounted;
|
|
11
|
+
};
|
|
12
|
+
exports.useIsMounted = useIsMounted;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Dispatch, SetStateAction } from "react";
|
|
2
|
+
import { Container, KeenSliderInstance, KeenSliderOptions, TrackDetails } from "keen-slider";
|
|
3
|
+
export interface SliderOptions extends KeenSliderOptions {
|
|
4
|
+
shouldObserverMutations?: boolean;
|
|
5
|
+
shouldAutoDisable?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export type SlideResult = [
|
|
8
|
+
Dispatch<SetStateAction<Container | null>>,
|
|
9
|
+
{
|
|
10
|
+
slider: KeenSliderInstance | null;
|
|
11
|
+
activeIndex: number;
|
|
12
|
+
isDisabled: boolean;
|
|
13
|
+
isMounted: boolean;
|
|
14
|
+
isActiveIndex: (index: number) => boolean;
|
|
15
|
+
details: TrackDetails | null;
|
|
16
|
+
options: SliderOptions | null;
|
|
17
|
+
next: () => void;
|
|
18
|
+
prev: () => void;
|
|
19
|
+
moveToIdx: (index: number) => void;
|
|
20
|
+
}
|
|
21
|
+
];
|
|
22
|
+
export declare const useSlider: ({ shouldObserverMutations, shouldAutoDisable, ...opt }?: SliderOptions) => SlideResult;
|
|
23
|
+
//# sourceMappingURL=slider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../../lib/slider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAA4C,MAAM,OAAO,CAAC;AAC3F,OAAmB,EACf,SAAS,EACT,kBAAkB,EAClB,iBAAiB,EAEjB,YAAY,EACf,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,aAAc,SAAQ,iBAAiB;IACpD,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,CAAC,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IAC1C;QACI,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAC;QAClC,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,OAAO,CAAC;QACpB,SAAS,EAAE,OAAO,CAAC;QACnB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;QAC1C,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;QAC7B,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;QAC9B,IAAI,EAAE,MAAM,IAAI,CAAC;QACjB,IAAI,EAAE,MAAM,IAAI,CAAC;QACjB,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;KACtC;CACJ,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,yDAIvB,aAAkB,KAAG,WAwFvB,CAAC"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
"use strict";
|
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
+
};
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.useSlider = void 0;
|
|
8
|
+
const react_1 = require("react");
|
|
9
|
+
const keen_slider_1 = __importDefault(require("keen-slider"));
|
|
10
|
+
const useSlider = ({ shouldObserverMutations, shouldAutoDisable, ...opt } = {}) => {
|
|
11
|
+
const [ref, setRef] = (0, react_1.useState)(null);
|
|
12
|
+
const [details, setDetails] = (0, react_1.useState)(null);
|
|
13
|
+
const [options, setOptions] = (0, react_1.useState)(null);
|
|
14
|
+
const [isMounted, setIsMounted] = (0, react_1.useState)(false);
|
|
15
|
+
const sliderRef = (0, react_1.useRef)(null);
|
|
16
|
+
(0, react_1.useEffect)(() => {
|
|
17
|
+
if (!ref) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
sliderRef.current = new keen_slider_1.default(ref, {
|
|
21
|
+
rubberband: false,
|
|
22
|
+
created: handleDetails,
|
|
23
|
+
slideChanged: handleDetails,
|
|
24
|
+
optionsChanged: ({ options }) => {
|
|
25
|
+
setOptions(options);
|
|
26
|
+
},
|
|
27
|
+
...opt,
|
|
28
|
+
}, [
|
|
29
|
+
shouldObserverMutations ? MutationPlugin : [],
|
|
30
|
+
shouldAutoDisable ? AutoDisablePlugin : [],
|
|
31
|
+
].flat());
|
|
32
|
+
return () => {
|
|
33
|
+
if (sliderRef.current) {
|
|
34
|
+
sliderRef.current.destroy();
|
|
35
|
+
sliderRef.current = null;
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
39
|
+
}, [ref]);
|
|
40
|
+
const isActiveIndex = (0, react_1.useCallback)((index) => index === details?.rel, [details]);
|
|
41
|
+
const handleDetails = (ref) => {
|
|
42
|
+
const details = ref.track.details;
|
|
43
|
+
setIsMounted(true);
|
|
44
|
+
setDetails(details);
|
|
45
|
+
};
|
|
46
|
+
const next = () => {
|
|
47
|
+
if (!sliderRef.current) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
sliderRef?.current?.next();
|
|
51
|
+
};
|
|
52
|
+
const prev = () => {
|
|
53
|
+
if (!sliderRef.current) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
sliderRef?.current?.prev();
|
|
57
|
+
};
|
|
58
|
+
const moveToIdx = (index) => {
|
|
59
|
+
if (!sliderRef.current) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
sliderRef.current?.moveToIdx(index);
|
|
63
|
+
};
|
|
64
|
+
return [
|
|
65
|
+
setRef,
|
|
66
|
+
{
|
|
67
|
+
slider: sliderRef.current,
|
|
68
|
+
activeIndex: details ? details.rel : 0,
|
|
69
|
+
isDisabled: options ? !!options.disabled : false,
|
|
70
|
+
details,
|
|
71
|
+
options,
|
|
72
|
+
isMounted,
|
|
73
|
+
isActiveIndex,
|
|
74
|
+
next,
|
|
75
|
+
prev,
|
|
76
|
+
moveToIdx,
|
|
77
|
+
},
|
|
78
|
+
];
|
|
79
|
+
};
|
|
80
|
+
exports.useSlider = useSlider;
|
|
81
|
+
const MutationPlugin = slider => {
|
|
82
|
+
const observer = new MutationObserver(() => {
|
|
83
|
+
slider.update(slider.options);
|
|
84
|
+
});
|
|
85
|
+
slider.on("created", () => {
|
|
86
|
+
observer.observe(slider.container, { childList: true });
|
|
87
|
+
});
|
|
88
|
+
slider.on("destroyed", () => {
|
|
89
|
+
observer.disconnect();
|
|
90
|
+
});
|
|
91
|
+
};
|
|
92
|
+
const AutoDisablePlugin = slider => {
|
|
93
|
+
const calcDisabled = () => {
|
|
94
|
+
const { scrollWidth, offsetWidth } = slider.container;
|
|
95
|
+
const isDisabled = scrollWidth <= offsetWidth;
|
|
96
|
+
slider.update({
|
|
97
|
+
...slider.options,
|
|
98
|
+
disabled: isDisabled,
|
|
99
|
+
});
|
|
100
|
+
};
|
|
101
|
+
calcDisabled();
|
|
102
|
+
let width = window.innerWidth;
|
|
103
|
+
const onResize = () => {
|
|
104
|
+
if (!width || width === window.innerWidth) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
width = window.innerWidth;
|
|
108
|
+
calcDisabled();
|
|
109
|
+
};
|
|
110
|
+
window.addEventListener("resize", onResize);
|
|
111
|
+
const observer = new MutationObserver(() => {
|
|
112
|
+
calcDisabled();
|
|
113
|
+
});
|
|
114
|
+
slider.on("created", () => {
|
|
115
|
+
observer.observe(slider.container, { childList: true });
|
|
116
|
+
});
|
|
117
|
+
slider.on("destroyed", () => {
|
|
118
|
+
observer.disconnect();
|
|
119
|
+
});
|
|
120
|
+
slider.on("destroyed", () => {
|
|
121
|
+
window.removeEventListener("resize", onResize);
|
|
122
|
+
});
|
|
123
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"staticContent.d.ts","sourceRoot":"","sources":["../../../lib/staticContent.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB;eACO,MAAM;YAazC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useStaticContent = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const useStaticContent = () => {
|
|
6
|
+
const ref = (0, react_1.useRef)(null);
|
|
7
|
+
const [render, setRender] = (0, react_1.useState)(typeof window === "undefined");
|
|
8
|
+
(0, react_1.useEffect)(() => {
|
|
9
|
+
// check if the innerHTML is empty as client side navigation
|
|
10
|
+
// need to render the component without server-side backup
|
|
11
|
+
const isEmpty = ref.current?.innerHTML === "";
|
|
12
|
+
if (isEmpty) {
|
|
13
|
+
setRender(true);
|
|
14
|
+
}
|
|
15
|
+
}, []);
|
|
16
|
+
return [render, ref];
|
|
17
|
+
};
|
|
18
|
+
exports.useStaticContent = useStaticContent;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const isString: (value: unknown) => value is string;
|
|
2
|
+
export declare const isObject: (value: unknown) => value is {
|
|
3
|
+
[key: string | number | symbol]: unknown;
|
|
4
|
+
};
|
|
5
|
+
export declare const isDefined: <T>(value: unknown) => value is NonNullable<T>;
|
|
6
|
+
export declare const first: <T = unknown>(value?: T | T[] | null) => T | undefined;
|
|
7
|
+
export declare const ensureArray: <T = unknown>(value?: T | T[] | null) => Array<T>;
|
|
8
|
+
//# sourceMappingURL=typeChecks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typeChecks.d.ts","sourceRoot":"","sources":["../../../lib/typeChecks.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MAElD,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;CAE5F,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,OAAO,OAAO,KAAG,KAAK,IAAI,WAAW,CAAC,CAAC,CAEnE,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,CAAC,GAAG,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,kBACW,CAAC;AAErE,eAAO,MAAM,WAAW,GAAI,CAAC,GAAG,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,KAAG,KAAK,CAAC,CAAC,CAChB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ensureArray = exports.first = exports.isDefined = exports.isObject = exports.isString = void 0;
|
|
4
|
+
const isString = (value) => {
|
|
5
|
+
return typeof value === "string";
|
|
6
|
+
};
|
|
7
|
+
exports.isString = isString;
|
|
8
|
+
const isObject = (value) => {
|
|
9
|
+
return typeof value === "object" && !Array.isArray(value);
|
|
10
|
+
};
|
|
11
|
+
exports.isObject = isObject;
|
|
12
|
+
const isDefined = (value) => {
|
|
13
|
+
return value !== undefined && value !== null;
|
|
14
|
+
};
|
|
15
|
+
exports.isDefined = isDefined;
|
|
16
|
+
const first = (value) => value ? (Array.isArray(value) ? value.at(0) : value) : undefined;
|
|
17
|
+
exports.first = first;
|
|
18
|
+
const ensureArray = (value) => value ? (Array.isArray(value) ? value : [value]) : [];
|
|
19
|
+
exports.ensureArray = ensureArray;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../../mock/block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,WAAW,CAAC,KAAG,CAAC,GAAG,UAK9C,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Block, Document, Inline, Mark, Text, TopLevelBlock } from "@contentful/rich-text-types";
|
|
2
|
+
import { RteData, RteJSON } from ".";
|
|
3
|
+
export declare const generateRteText: (text: string, marks?: Mark[]) => Text;
|
|
4
|
+
export declare const generateRteLink: (text: string, url: string) => Inline;
|
|
5
|
+
export declare const generateRteHeadline: (text: string, marks?: Mark[]) => TopLevelBlock;
|
|
6
|
+
export declare const generateRteParagraph: (children: (Block | Inline | Text)[]) => TopLevelBlock;
|
|
7
|
+
export declare const generateRteEmbed: (id: string) => TopLevelBlock;
|
|
8
|
+
export declare const generateRteAsset: (id: string) => TopLevelBlock;
|
|
9
|
+
export declare const generateRteNewline: () => TopLevelBlock;
|
|
10
|
+
export declare const generateRteData: (children: TopLevelBlock[]) => Document;
|
|
11
|
+
export declare const generateRte: (json: RteJSON) => RteData;
|
|
12
|
+
//# sourceMappingURL=generators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generators.d.ts","sourceRoot":"","sources":["../../../rte/generators.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,EACL,QAAQ,EAER,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,aAAa,EAChB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;AAErC,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,EAAE,QAAO,IAAI,EAAO,KAAG,IAOlE,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,EAAE,KAAK,MAAM,KAAG,MAQ3D,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,MAAM,MAAM,EAAE,QAAO,IAAI,EAAO,KAAG,aAMtE,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,UAAU,CAAC,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,KAAG,aAM1E,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,IAAI,MAAM,KAAG,aAc7C,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,IAAI,MAAM,KAAG,aAc7C,CAAC;AAEF,eAAO,MAAM,kBAAkB,qBAAoD,CAAC;AAEpF,eAAO,MAAM,eAAe,GAAI,UAAU,aAAa,EAAE,KAAG,QAM3D,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,MAAM,OAAO,KAAG,OAI3C,CAAC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateRte = exports.generateRteData = exports.generateRteNewline = exports.generateRteAsset = exports.generateRteEmbed = exports.generateRteParagraph = exports.generateRteHeadline = exports.generateRteLink = exports.generateRteText = void 0;
|
|
4
|
+
const rich_text_types_1 = require("@contentful/rich-text-types");
|
|
5
|
+
const generateRteText = (text, marks = []) => {
|
|
6
|
+
return {
|
|
7
|
+
data: {},
|
|
8
|
+
marks,
|
|
9
|
+
value: text,
|
|
10
|
+
nodeType: "text",
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
exports.generateRteText = generateRteText;
|
|
14
|
+
const generateRteLink = (text, url) => {
|
|
15
|
+
return {
|
|
16
|
+
data: {
|
|
17
|
+
uri: url,
|
|
18
|
+
},
|
|
19
|
+
content: [(0, exports.generateRteText)(text)],
|
|
20
|
+
nodeType: rich_text_types_1.INLINES.HYPERLINK,
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
exports.generateRteLink = generateRteLink;
|
|
24
|
+
const generateRteHeadline = (text, marks = []) => {
|
|
25
|
+
return {
|
|
26
|
+
data: {},
|
|
27
|
+
content: [(0, exports.generateRteText)(text, marks)],
|
|
28
|
+
nodeType: rich_text_types_1.BLOCKS.HEADING_3,
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
exports.generateRteHeadline = generateRteHeadline;
|
|
32
|
+
const generateRteParagraph = (children) => {
|
|
33
|
+
return {
|
|
34
|
+
content: children,
|
|
35
|
+
data: {},
|
|
36
|
+
nodeType: rich_text_types_1.BLOCKS.PARAGRAPH,
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
exports.generateRteParagraph = generateRteParagraph;
|
|
40
|
+
const generateRteEmbed = (id) => {
|
|
41
|
+
return {
|
|
42
|
+
nodeType: rich_text_types_1.BLOCKS.EMBEDDED_ENTRY,
|
|
43
|
+
data: {
|
|
44
|
+
target: {
|
|
45
|
+
sys: {
|
|
46
|
+
id,
|
|
47
|
+
type: "Link",
|
|
48
|
+
linkType: "Entry",
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
content: [],
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
exports.generateRteEmbed = generateRteEmbed;
|
|
56
|
+
const generateRteAsset = (id) => {
|
|
57
|
+
return {
|
|
58
|
+
nodeType: rich_text_types_1.BLOCKS.EMBEDDED_ASSET,
|
|
59
|
+
data: {
|
|
60
|
+
target: {
|
|
61
|
+
sys: {
|
|
62
|
+
id,
|
|
63
|
+
type: "Link",
|
|
64
|
+
linkType: "Entry",
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
content: [],
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
exports.generateRteAsset = generateRteAsset;
|
|
72
|
+
const generateRteNewline = () => (0, exports.generateRteParagraph)([(0, exports.generateRteText)("")]);
|
|
73
|
+
exports.generateRteNewline = generateRteNewline;
|
|
74
|
+
const generateRteData = (children) => {
|
|
75
|
+
return {
|
|
76
|
+
content: children,
|
|
77
|
+
data: {},
|
|
78
|
+
nodeType: rich_text_types_1.BLOCKS.DOCUMENT,
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
exports.generateRteData = generateRteData;
|
|
82
|
+
const generateRte = (json) => {
|
|
83
|
+
return {
|
|
84
|
+
json,
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
exports.generateRte = generateRte;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { FC } from "react";
|
|
2
|
+
import { Options } from "@contentful/rich-text-react-renderer";
|
|
3
|
+
import { Document } from "@contentful/rich-text-types";
|
|
4
|
+
import { PropsWithClassName } from "../types/style";
|
|
5
|
+
export type RteJSON = Document;
|
|
6
|
+
export interface RteData {
|
|
7
|
+
json?: RteJSON;
|
|
8
|
+
}
|
|
9
|
+
export interface RteProps {
|
|
10
|
+
data: RteData;
|
|
11
|
+
options?: Options;
|
|
12
|
+
}
|
|
13
|
+
export declare const Rte: FC<PropsWithClassName<RteProps>>;
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../rte/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAC3B,OAAO,EAAE,OAAO,EAA6B,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,MAAM,OAAO,GAAG,QAAQ,CAAC;AAE/B,MAAM,WAAW,OAAO;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,GAAG,EAAE,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAgBhD,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Rte = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const rich_text_react_renderer_1 = require("@contentful/rich-text-react-renderer");
|
|
6
|
+
const typeChecks_1 = require("../lib/typeChecks");
|
|
7
|
+
const Rte = ({ data, options, ...props }) => {
|
|
8
|
+
if (!data) {
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
const { json } = data;
|
|
12
|
+
if (!json) {
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
if ((0, typeChecks_1.isString)(json)) {
|
|
16
|
+
return (0, jsx_runtime_1.jsx)("div", { ...props, children: json });
|
|
17
|
+
}
|
|
18
|
+
return (0, jsx_runtime_1.jsx)("div", { ...props, children: (0, rich_text_react_renderer_1.documentToReactComponents)(json, options) });
|
|
19
|
+
};
|
|
20
|
+
exports.Rte = Rte;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../structuredData/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAC3B,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEhD,MAAM,WAAW,mBAAmB;IAChC,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;CAC/B;AAED,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CAgBlD,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StructuredData = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const StructuredData = ({ data }) => {
|
|
6
|
+
if (!data) {
|
|
7
|
+
return null;
|
|
8
|
+
}
|
|
9
|
+
const structuredData = {
|
|
10
|
+
"@context": "https://schema.org",
|
|
11
|
+
...data,
|
|
12
|
+
};
|
|
13
|
+
return ((0, jsx_runtime_1.jsx)("script", { type: "application/ld+json", dangerouslySetInnerHTML: { __html: JSON.stringify(structuredData) } }));
|
|
14
|
+
};
|
|
15
|
+
exports.StructuredData = StructuredData;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { FC, PropsWithChildren } from "react";
|
|
2
|
+
import { CookiebotConsent } from "./types";
|
|
3
|
+
export interface CookiebotProviderContextData {
|
|
4
|
+
isLoaded: boolean;
|
|
5
|
+
isOpened: boolean;
|
|
6
|
+
isAccepted: boolean;
|
|
7
|
+
isConsentAnswered: boolean;
|
|
8
|
+
checkConsent: (key: keyof CookiebotConsent) => boolean;
|
|
9
|
+
openWidget: () => void;
|
|
10
|
+
closeWidget: () => void;
|
|
11
|
+
consent: CookiebotConsent;
|
|
12
|
+
consentUpdate: number;
|
|
13
|
+
}
|
|
14
|
+
export declare const CookiebotProviderContext: import("react").Context<CookiebotProviderContextData>;
|
|
15
|
+
export interface CookiebotProviderProps {
|
|
16
|
+
cookieBotId: string;
|
|
17
|
+
locale: string;
|
|
18
|
+
}
|
|
19
|
+
export declare const CookiebotProvider: FC<PropsWithChildren<CookiebotProviderProps>>;
|
|
20
|
+
export declare const useCookiebot: () => CookiebotProviderContextData;
|
|
21
|
+
export declare const withCookiebot: <P extends object>(Component: FC<P & CookiebotProviderProps>) => (props: P & CookiebotProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../tracking/cookiebot/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,iBAAiB,EAAkD,MAAM,OAAO,CAAC;AAE9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,WAAW,4BAA4B;IACzC,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,gBAAgB,KAAK,OAAO,CAAC;IACvD,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,wBAAwB,uDAEpC,CAAC;AAaF,MAAM,WAAW,sBAAsB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,CA0F3E,CAAC;AAEF,eAAO,MAAM,YAAY,oCAA6C,CAAC;AAEvE,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,GAAG,sBAAsB,CAAC,MAC7E,OAAO,CAAC,GAAG,sBAAsB,4CAK5C,CAAC"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
"use strict";
|
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
+
};
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.withCookiebot = exports.useCookiebot = exports.CookiebotProvider = exports.CookiebotProviderContext = void 0;
|
|
8
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
9
|
+
const react_1 = require("react");
|
|
10
|
+
const script_1 = __importDefault(require("next/script"));
|
|
11
|
+
exports.CookiebotProviderContext = (0, react_1.createContext)({});
|
|
12
|
+
const closeWidget = () => {
|
|
13
|
+
if (typeof window !== "undefined") {
|
|
14
|
+
window?.Cookiebot?.hide();
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
const openWidget = () => {
|
|
18
|
+
if (typeof window !== "undefined") {
|
|
19
|
+
window?.Cookiebot?.show();
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
const CookiebotProvider = ({ locale, cookieBotId, children, }) => {
|
|
23
|
+
const [consentUpdate, setConsentUpdate] = (0, react_1.useState)(0);
|
|
24
|
+
const [isAccepted, setIsAccepted] = (0, react_1.useState)(false);
|
|
25
|
+
const [isConsentAnswered, setIsConsentAnswered] = (0, react_1.useState)(false);
|
|
26
|
+
const [isLoaded, setIsLoaded] = (0, react_1.useState)(false);
|
|
27
|
+
const [isOpened, setIsOpened] = (0, react_1.useState)(false);
|
|
28
|
+
const [consent, setConsent] = (0, react_1.useState)({
|
|
29
|
+
necessary: false,
|
|
30
|
+
preferences: false,
|
|
31
|
+
statistics: false,
|
|
32
|
+
marketing: false,
|
|
33
|
+
method: null,
|
|
34
|
+
});
|
|
35
|
+
const checkConsent = (key) => isAccepted && isLoaded && !!consent[key];
|
|
36
|
+
(0, react_1.useEffect)(() => {
|
|
37
|
+
const openedInitHandler = () => { };
|
|
38
|
+
const tagsExecutedHandler = () => { };
|
|
39
|
+
const openedHandler = () => {
|
|
40
|
+
setIsOpened(true);
|
|
41
|
+
};
|
|
42
|
+
const acceptedHandler = () => {
|
|
43
|
+
setIsAccepted(true);
|
|
44
|
+
setIsOpened(false);
|
|
45
|
+
setConsent(window.Cookiebot.consent ?? {});
|
|
46
|
+
setConsentUpdate(n => n + 1);
|
|
47
|
+
};
|
|
48
|
+
const declinedHandler = () => {
|
|
49
|
+
setIsAccepted(false);
|
|
50
|
+
setIsOpened(false);
|
|
51
|
+
setConsentUpdate(n => n + 1);
|
|
52
|
+
};
|
|
53
|
+
const readyHandler = () => {
|
|
54
|
+
setIsConsentAnswered(true);
|
|
55
|
+
};
|
|
56
|
+
const loadedHandler = () => {
|
|
57
|
+
setIsLoaded(true);
|
|
58
|
+
setConsent(window.Cookiebot.consent ?? {});
|
|
59
|
+
};
|
|
60
|
+
window.addEventListener("CookiebotOnConsentReady", readyHandler);
|
|
61
|
+
window.addEventListener("CookiebotOnLoad", loadedHandler);
|
|
62
|
+
window.addEventListener("CookiebotOnDialogInit", openedInitHandler);
|
|
63
|
+
window.addEventListener("CookiebotOnDialogDisplay", openedHandler);
|
|
64
|
+
window.addEventListener("CookiebotOnAccept", acceptedHandler);
|
|
65
|
+
window.addEventListener("CookiebotOnDecline", declinedHandler);
|
|
66
|
+
window.addEventListener("CookiebotOnTagsExecuted", tagsExecutedHandler);
|
|
67
|
+
return () => {
|
|
68
|
+
window.removeEventListener("CookiebotOnConsentReady", readyHandler);
|
|
69
|
+
window.removeEventListener("CookiebotOnLoad", loadedHandler);
|
|
70
|
+
window.removeEventListener("CookiebotOnDialogInit", openedInitHandler);
|
|
71
|
+
window.removeEventListener("CookiebotOnDialogDisplay", openedHandler);
|
|
72
|
+
window.removeEventListener("CookiebotOnAccept", acceptedHandler);
|
|
73
|
+
window.removeEventListener("CookiebotOnDecline", declinedHandler);
|
|
74
|
+
window.removeEventListener("CookiebotOnTagsExecuted", tagsExecutedHandler);
|
|
75
|
+
};
|
|
76
|
+
}, []);
|
|
77
|
+
return ((0, jsx_runtime_1.jsxs)(exports.CookiebotProviderContext.Provider, { value: {
|
|
78
|
+
openWidget,
|
|
79
|
+
closeWidget,
|
|
80
|
+
isLoaded,
|
|
81
|
+
isOpened,
|
|
82
|
+
isAccepted,
|
|
83
|
+
isConsentAnswered,
|
|
84
|
+
checkConsent,
|
|
85
|
+
consent,
|
|
86
|
+
consentUpdate,
|
|
87
|
+
}, children: [(0, jsx_runtime_1.jsx)(script_1.default, { id: "Cookiebot", "data-culture": locale.toUpperCase(), src: `https://consent.cookiebot.com/uc.js?cbid=${cookieBotId}` }), children] }));
|
|
88
|
+
};
|
|
89
|
+
exports.CookiebotProvider = CookiebotProvider;
|
|
90
|
+
const useCookiebot = () => (0, react_1.useContext)(exports.CookiebotProviderContext);
|
|
91
|
+
exports.useCookiebot = useCookiebot;
|
|
92
|
+
const withCookiebot = (Component) => {
|
|
93
|
+
return (props) => ((0, jsx_runtime_1.jsx)(exports.CookiebotProvider, { ...props, children: (0, jsx_runtime_1.jsx)(Component, { ...props }) }));
|
|
94
|
+
};
|
|
95
|
+
exports.withCookiebot = withCookiebot;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export type CookiebotEventType = "CookiebotCookieAccepted" | "CookiebotEmbeddingAccepted" | "CookiebotWidgetClosed" | "CookiebotWidgetOpened" | "CookiebotWidgetLoaded";
|
|
2
|
+
export interface CookiebotEvent extends Event {
|
|
3
|
+
type: CookiebotEventType;
|
|
4
|
+
}
|
|
5
|
+
export interface CookiebotEventMap {
|
|
6
|
+
/** @deprecated in favour of CookiebotEmbeddingAccepted */
|
|
7
|
+
CookiebotCookieAccepted: CookiebotEvent;
|
|
8
|
+
CookiebotEmbeddingAccepted: CookiebotEvent;
|
|
9
|
+
CookiebotWidgetClosed: CookiebotEvent;
|
|
10
|
+
CookiebotWidgetOpened: CookiebotEvent;
|
|
11
|
+
CookiebotWidgetLoaded: CookiebotEvent;
|
|
12
|
+
}
|
|
13
|
+
export interface CookiebotConsent {
|
|
14
|
+
necessary: boolean;
|
|
15
|
+
preferences: boolean;
|
|
16
|
+
statistics: boolean;
|
|
17
|
+
marketing: boolean;
|
|
18
|
+
method: string | null;
|
|
19
|
+
}
|
|
20
|
+
export interface CookiebotRegulations {
|
|
21
|
+
gdprApplies: boolean;
|
|
22
|
+
ccpaApplies: boolean;
|
|
23
|
+
lgpdApplies: boolean;
|
|
24
|
+
}
|
|
25
|
+
declare global {
|
|
26
|
+
interface Window {
|
|
27
|
+
Cookiebot: {
|
|
28
|
+
consent: CookiebotConsent;
|
|
29
|
+
consented: boolean;
|
|
30
|
+
declined: boolean;
|
|
31
|
+
hasResponse: boolean;
|
|
32
|
+
doNotTrack: boolean;
|
|
33
|
+
regulations: CookiebotRegulations;
|
|
34
|
+
show: () => void;
|
|
35
|
+
hide: () => void;
|
|
36
|
+
renew: () => void;
|
|
37
|
+
getScript: (URL: string, async: boolean, callback: () => void) => void;
|
|
38
|
+
runScripts: () => void;
|
|
39
|
+
withdraw: () => void;
|
|
40
|
+
submitCustomConsent: (optinPreferences: boolean, optinStatistics: boolean, optinMarketing: boolean) => void;
|
|
41
|
+
};
|
|
42
|
+
addEventListener<K extends keyof CookiebotEventMap>(type: K, listener: (this: Window, ev: CookiebotEventMap[K]) => void, options?: boolean | EventListenerOptions): void;
|
|
43
|
+
removeEventListener<K extends keyof CookiebotEventMap>(type: K, listener: (this: HTMLElement, ev: CookiebotEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
44
|
+
dispatchEvent<K extends keyof CookiebotEventMap>(ev: CookiebotEventMap[K]): void;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../tracking/cookiebot/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GACxB,yBAAyB,GACzB,4BAA4B,GAC5B,uBAAuB,GACvB,uBAAuB,GACvB,uBAAuB,CAAC;AAE9B,MAAM,WAAW,cAAe,SAAQ,KAAK;IACzC,IAAI,EAAE,kBAAkB,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAC9B,0DAA0D;IAC1D,uBAAuB,EAAE,cAAc,CAAC;IACxC,0BAA0B,EAAE,cAAc,CAAC;IAC3C,qBAAqB,EAAE,cAAc,CAAC;IACtC,qBAAqB,EAAE,cAAc,CAAC;IACtC,qBAAqB,EAAE,cAAc,CAAC;CACzC;AAED,MAAM,WAAW,gBAAgB;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACjC,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;CACxB;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,SAAS,EAAE;YACP,OAAO,EAAE,gBAAgB,CAAC;YAC1B,SAAS,EAAE,OAAO,CAAC;YACnB,QAAQ,EAAE,OAAO,CAAC;YAClB,WAAW,EAAE,OAAO,CAAC;YACrB,UAAU,EAAE,OAAO,CAAC;YACpB,WAAW,EAAE,oBAAoB,CAAC;YAClC,IAAI,EAAE,MAAM,IAAI,CAAC;YACjB,IAAI,EAAE,MAAM,IAAI,CAAC;YACjB,KAAK,EAAE,MAAM,IAAI,CAAC;YAClB,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;YACvE,UAAU,EAAE,MAAM,IAAI,CAAC;YACvB,QAAQ,EAAE,MAAM,IAAI,CAAC;YACrB,mBAAmB,EAAE,CACjB,gBAAgB,EAAE,OAAO,EACzB,eAAe,EAAE,OAAO,EACxB,cAAc,EAAE,OAAO,KACtB,IAAI,CAAC;SACb,CAAC;QACF,gBAAgB,CAAC,CAAC,SAAS,MAAM,iBAAiB,EAC9C,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC,KAAK,IAAI,EAC1D,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GACzC,IAAI,CAAC;QACR,mBAAmB,CAAC,CAAC,SAAS,MAAM,iBAAiB,EACjD,IAAI,EAAE,CAAC,EAEP,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC,KAAK,GAAG,EAC9D,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GACzC,IAAI,CAAC;QACR,aAAa,CAAC,CAAC,SAAS,MAAM,iBAAiB,EAAE,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;KACpF;CACJ"}
|