@total_onion/onion-library 2.0.199 → 2.0.200
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/components/block-accent-image-v3/accent-image-v3.scss +3 -1
- package/components/block-accordion-v3/accordion-v3.scss +150 -146
- package/components/block-back-to-top-button-v3/back-to-top-button-v3.scss +53 -52
- package/components/block-block-interactions-v3/block-interactions-v3.scss +24 -22
- package/components/block-carousel-multi-layout-v3/carousel-multi-layout-v3.js +1 -1
- package/components/block-carousel-multi-layout-v3/carousel-multi-layout-v3.scss +1 -1
- package/components/block-post-info-v3/group_6866429531436.json +101 -27
- package/components/block-post-info-v3/post-info-v3.scss +179 -178
- package/components/block-site-copyright-notice-v3/site-copyright-notice-v3.js +58 -0
- package/components/block-site-copyright-notice-v3/site-copyright-notice-v3.scss +14 -13
- package/package.json +2 -1
- package/public/block-carousel-multi-layout-v3/carousel-multi-layout-v3.css +0 -745
- package/public/block-carousel-multi-layout-v3/carousel-multi-layout-v3.js +12 -0
- package/public/block-cocktail-recipe-v3/cocktail-recipe-v3.css +6 -49
- package/public/block-cover-link-v3/cover-link-v3.css +9 -0
- package/public/block-scrolling-banner-v3/scrolling-banner-v3.css +11 -1
- package/public/block-scrolling-banner-v3/scrolling-banner-v3.js +90 -78
- package/public/block-site-copyright-notice-v3/site-copyright-notice-v3.css +16 -1
- package/public/block-site-copyright-notice-v3/site-copyright-notice-v3.js +42 -58
- package/public/dynamicBlockScss-v3.css +1025 -1773
- package/public/publicBundle.css +1025 -1773
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { getSwiperAssetsV2 } from "@total_onion/onion-utils/onion-utils.mjs";
|
|
2
2
|
import { Navigation, Pagination, Autoplay, EffectFade } from "swiper/modules";
|
|
3
|
+
import "swiper/css/bundle";
|
|
3
4
|
export default function carouselmultilayoutv3Js(options = {}) {
|
|
4
5
|
try {
|
|
5
6
|
const { block } = options;
|
|
@@ -47,6 +48,9 @@ export default function carouselmultilayoutv3Js(options = {}) {
|
|
|
47
48
|
const centerActiveSlide = Number(dataAttributes.centeractiveslide) === 1;
|
|
48
49
|
const centerActiveSlidePortrait = Number(dataAttributes.centeractiveslideportrait) === 1;
|
|
49
50
|
const centerActiveSlideMobile = Number(dataAttributes.centeractiveslidemobile) === 1;
|
|
51
|
+
const centerSlidesBounds = Number(dataAttributes.centerslidesbounds) === 1;
|
|
52
|
+
const centerSlidesBoundsPortrait = Number(dataAttributes.centerslidesboundsportrait) === 1;
|
|
53
|
+
const centerSlidesBoundsMobile = Number(dataAttributes.centerslidesboundsmobile) === 1;
|
|
50
54
|
const centerInsufficientSlidesDesktop = Number(dataAttributes.centerinsufficientslidesdesktop) === 1;
|
|
51
55
|
const centerInsufficientSlidesPortrait = Number(dataAttributes.centerinsufficientslidesportrait) === 1;
|
|
52
56
|
const centerInsufficientSlidesMobile = Number(dataAttributes.centerinsufficientslidesmobile) === 1;
|
|
@@ -112,6 +116,7 @@ export default function carouselmultilayoutv3Js(options = {}) {
|
|
|
112
116
|
watchOverflow: true,
|
|
113
117
|
centeredSlides: centerActiveSlideMobile,
|
|
114
118
|
centerInsufficientSlides: centerInsufficientSlidesMobile,
|
|
119
|
+
centeredSlidesBounds: centerSlidesBoundsMobile,
|
|
115
120
|
freeMode: {
|
|
116
121
|
enabled: carouselEnableFreeMode,
|
|
117
122
|
sticky: carouselEnableFreeMode
|
|
@@ -125,6 +130,7 @@ export default function carouselmultilayoutv3Js(options = {}) {
|
|
|
125
130
|
slidesPerView: slidesTablet,
|
|
126
131
|
centeredSlides: centerActiveSlidePortrait,
|
|
127
132
|
centerInsufficientSlides: centerInsufficientSlidesPortrait,
|
|
133
|
+
centeredSlidesBounds: centerSlidesBoundsPortrait,
|
|
128
134
|
slidesOffsetBefore: slidesOffsetTabletBefore,
|
|
129
135
|
slidesOffsetAfter: slidesOffsetTabletAfter,
|
|
130
136
|
loop: totalSlides > 1 ? loopSlidesPortrait : false
|
|
@@ -134,13 +140,19 @@ export default function carouselmultilayoutv3Js(options = {}) {
|
|
|
134
140
|
spaceBetween: spaceBetweenSlidesDesktop,
|
|
135
141
|
centeredSlides: centerActiveSlide,
|
|
136
142
|
centerInsufficientSlides: centerInsufficientSlidesDesktop,
|
|
143
|
+
centeredSlidesBounds: centerSlidesBounds,
|
|
137
144
|
slidesOffsetBefore: slidesOffsetDesktopBefore,
|
|
138
145
|
slidesOffsetAfter: slidesOffsetDesktopAfter,
|
|
139
146
|
loop: totalSlides > 1 ? loopSlides : false
|
|
140
147
|
},
|
|
141
148
|
1440: {
|
|
149
|
+
centeredSlides: centerActiveSlide,
|
|
150
|
+
centerInsufficientSlides: centerInsufficientSlidesDesktop,
|
|
151
|
+
centeredSlidesBounds: centerSlidesBounds,
|
|
142
152
|
slidesPerView: slidesDesktopFull,
|
|
143
153
|
spaceBetween: spaceBetweenSlidesDesktopFull,
|
|
154
|
+
slidesOffsetBefore: slidesOffsetDesktopBefore,
|
|
155
|
+
slidesOffsetAfter: slidesOffsetDesktopAfter,
|
|
144
156
|
loop: totalSlides > 1 ? loopSlides : false
|
|
145
157
|
}
|
|
146
158
|
},
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
@charset "UTF-8";
|
|
2
1
|
.cocktail-recipe-v3 {
|
|
3
2
|
pointer-events: all;
|
|
4
3
|
}
|
|
@@ -47,30 +46,6 @@
|
|
|
47
46
|
border: 1px solid #faf8ec;
|
|
48
47
|
overflow: hidden;
|
|
49
48
|
}
|
|
50
|
-
.cocktail-recipe-v3__servings .servings-control-wrapper .dec-btn-wrapper .servings-dec-btn {
|
|
51
|
-
cursor: pointer;
|
|
52
|
-
background-color: #0054ff;
|
|
53
|
-
color: #faf8ec;
|
|
54
|
-
font-size: 28px;
|
|
55
|
-
padding-bottom: 4px;
|
|
56
|
-
width: 100%;
|
|
57
|
-
height: 100%;
|
|
58
|
-
border: medium none currentcolor;
|
|
59
|
-
border: initial;
|
|
60
|
-
transform: translateX(0);
|
|
61
|
-
transition: transform 0.3s ease;
|
|
62
|
-
}
|
|
63
|
-
.cocktail-recipe-v3__servings .servings-control-wrapper .dec-btn-wrapper .servings-dec-btn::after {
|
|
64
|
-
content: "\2212";
|
|
65
|
-
color: #0054ff;
|
|
66
|
-
padding-top: 4px;
|
|
67
|
-
width: 38px;
|
|
68
|
-
height: 38px;
|
|
69
|
-
position: absolute;
|
|
70
|
-
top: 0;
|
|
71
|
-
right: -38px;
|
|
72
|
-
background-color: #faf8ec;
|
|
73
|
-
}
|
|
74
49
|
.cocktail-recipe-v3__servings .servings-control-wrapper .dec-btn-wrapper:hover .servings-dec-btn {
|
|
75
50
|
transform: translateX(-100%);
|
|
76
51
|
}
|
|
@@ -98,29 +73,6 @@
|
|
|
98
73
|
border: 1px solid #faf8ec;
|
|
99
74
|
overflow: hidden;
|
|
100
75
|
}
|
|
101
|
-
.cocktail-recipe-v3__servings .servings-control-wrapper .inc-btn-wrapper .servings-inc-btn {
|
|
102
|
-
cursor: pointer;
|
|
103
|
-
color: #0054ff;
|
|
104
|
-
font-size: 30px;
|
|
105
|
-
background-color: #faf8ec;
|
|
106
|
-
width: 100%;
|
|
107
|
-
height: 100%;
|
|
108
|
-
border: medium none currentcolor;
|
|
109
|
-
border: initial;
|
|
110
|
-
transform: translateX(-100%);
|
|
111
|
-
transition: transform 0.3s ease;
|
|
112
|
-
}
|
|
113
|
-
.cocktail-recipe-v3__servings .servings-control-wrapper .inc-btn-wrapper .servings-inc-btn::after {
|
|
114
|
-
content: "+";
|
|
115
|
-
padding-top: 2px;
|
|
116
|
-
color: #faf8ec;
|
|
117
|
-
width: 38px;
|
|
118
|
-
height: 38px;
|
|
119
|
-
position: absolute;
|
|
120
|
-
top: 0;
|
|
121
|
-
right: -38px;
|
|
122
|
-
background-color: #0054ff;
|
|
123
|
-
}
|
|
124
76
|
.cocktail-recipe-v3__servings .servings-control-wrapper .inc-btn-wrapper:hover .servings-inc-btn {
|
|
125
77
|
transform: translateX(0);
|
|
126
78
|
}
|
|
@@ -310,8 +262,13 @@
|
|
|
310
262
|
}
|
|
311
263
|
.cocktail-recipe-v3__instructions-container .instructions-wrapper .instructions-text {
|
|
312
264
|
font-family: var(--tertiary-font-family);
|
|
313
|
-
font-size: calc(
|
|
265
|
+
font-size: calc(24 / var(--design-reference) * var(--font-reference) * var(--font-size-multiplier));
|
|
314
266
|
font-weight: 300;
|
|
315
267
|
text-box-trim: trim-both;
|
|
316
268
|
text-box-edge: cap alphabetic;
|
|
317
269
|
}
|
|
270
|
+
@media screen and (min-width: 768px) {
|
|
271
|
+
.cocktail-recipe-v3__instructions-container .instructions-wrapper .instructions-text {
|
|
272
|
+
font-size: calc(30 / var(--design-reference) * var(--font-reference) * var(--font-size-multiplier));
|
|
273
|
+
}
|
|
274
|
+
}
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
.scrolling-banner-v3 {
|
|
2
|
-
|
|
2
|
+
display: flex;
|
|
3
|
+
overflow-x: hidden;
|
|
4
|
+
flex-wrap: nowrap;
|
|
5
|
+
}
|
|
6
|
+
.scrolling-banner-v3__banner-container,
|
|
7
|
+
.scrolling-banner-v3 > .scrolling-banner-v3 {
|
|
3
8
|
overflow-x: hidden;
|
|
4
9
|
color: var(--banner-text-colour);
|
|
5
10
|
font-weight: var(--weight-extra-bold);
|
|
@@ -80,6 +85,11 @@
|
|
|
80
85
|
place-self: center;
|
|
81
86
|
border-radius: 50%;
|
|
82
87
|
}
|
|
88
|
+
.scrolling-banner-v3__separator--image {
|
|
89
|
+
width: 1.5em;
|
|
90
|
+
width: var(--separator-image-width, 1.5em);
|
|
91
|
+
height: auto;
|
|
92
|
+
}
|
|
83
93
|
.scrolling-banner-v3--text-shadow {
|
|
84
94
|
text-shadow: calc(var(--text-shadow-offset-x) / var(--desktop-design-reference) * var(--screen-width-static)) calc(var(--text-shadow-offset-y) / var(--desktop-design-reference) * var(--screen-width-static)) calc(var(--text-shadow-blur) / var(--desktop-design-reference) * var(--screen-width-static)) var(--text-shadow-colour);
|
|
85
95
|
}
|
|
@@ -6,101 +6,113 @@ export default function scrollingbannerv3Js(options = {}) {
|
|
|
6
6
|
console.error(error);
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
|
-
const initializedBanners = /* @__PURE__ */ new WeakMap();
|
|
10
9
|
function scrollingbannerJs(block) {
|
|
11
10
|
if (!block) {
|
|
12
11
|
return;
|
|
13
12
|
}
|
|
14
|
-
const bannerElement = block.querySelector(".scrolling-banner-v3");
|
|
13
|
+
const bannerElement = block.querySelector(".scrolling-banner-v3__banner-container") ?? block.querySelector(".scrolling-banner-v3");
|
|
15
14
|
if (!bannerElement) {
|
|
16
15
|
return;
|
|
17
16
|
}
|
|
17
|
+
const initializedBanners = /* @__PURE__ */ new WeakMap();
|
|
18
18
|
try {
|
|
19
19
|
if (!initializedBanners.has(bannerElement)) {
|
|
20
|
-
bannerInit(bannerElement);
|
|
20
|
+
bannerInit(bannerElement, initializedBanners, block);
|
|
21
21
|
}
|
|
22
22
|
const wrapper = bannerElement.querySelector(
|
|
23
23
|
".scrolling-banner-v3__wrapper"
|
|
24
24
|
);
|
|
25
|
-
if (
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
});
|
|
37
|
-
}
|
|
25
|
+
if (window.ResizeObserver) {
|
|
26
|
+
const resizeObserver = new ResizeObserver(() => {
|
|
27
|
+
resetBanner(bannerElement, initializedBanners);
|
|
28
|
+
bannerInit(bannerElement, initializedBanners, block);
|
|
29
|
+
});
|
|
30
|
+
resizeObserver.observe(wrapper);
|
|
31
|
+
} else {
|
|
32
|
+
window.addEventListener("resize", () => {
|
|
33
|
+
resetBanner(bannerElement, initializedBanners);
|
|
34
|
+
bannerInit(bannerElement, initializedBanners, block);
|
|
35
|
+
});
|
|
38
36
|
}
|
|
39
37
|
} catch (error) {
|
|
40
38
|
console.error(error);
|
|
41
39
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
const container = bannerElement2.querySelector(
|
|
47
|
-
".scrolling-banner-v3__container"
|
|
48
|
-
);
|
|
49
|
-
const wrapper = bannerElement2.querySelector(
|
|
50
|
-
".scrolling-banner-v3__wrapper"
|
|
51
|
-
);
|
|
52
|
-
const inner = bannerElement2.querySelector(
|
|
53
|
-
".scrolling-banner-v3__inner"
|
|
54
|
-
);
|
|
55
|
-
const speed = bannerElement2.dataset.speed ?? 3;
|
|
56
|
-
const wrapperWidth = wrapper.clientWidth;
|
|
57
|
-
const innerContentWidth = inner.clientWidth;
|
|
58
|
-
const multiplier = Number(Math.round(wrapperWidth / innerContentWidth));
|
|
59
|
-
for (let index = 0; index < multiplier; index++) {
|
|
60
|
-
const newInner = inner.cloneNode(true);
|
|
61
|
-
newInner.classList.add("clone");
|
|
62
|
-
container.appendChild(newInner);
|
|
63
|
-
}
|
|
64
|
-
const containerHeight = inner.clientHeight;
|
|
65
|
-
wrapper.setAttribute("style", `min-height: ${containerHeight}px`);
|
|
66
|
-
const newTickerContainer = container.cloneNode(true);
|
|
67
|
-
newTickerContainer.classList.add("clone");
|
|
68
|
-
wrapper.appendChild(newTickerContainer);
|
|
69
|
-
const animation1 = [
|
|
70
|
-
{ transform: "translateX(0%)" },
|
|
71
|
-
{ transform: "translateX(-100%)" }
|
|
72
|
-
];
|
|
73
|
-
const animation2 = [
|
|
74
|
-
{ transform: "translateX(100%)" },
|
|
75
|
-
{ transform: "translateX(0%)" }
|
|
76
|
-
];
|
|
77
|
-
const time = 1e5 / speed;
|
|
78
|
-
let timing = {
|
|
79
|
-
duration: time,
|
|
80
|
-
iterations: Infinity,
|
|
81
|
-
fill: "both"
|
|
82
|
-
};
|
|
83
|
-
let timing2 = timing;
|
|
84
|
-
const containers = bannerElement2.querySelectorAll(
|
|
85
|
-
".scrolling-banner-v3__container"
|
|
86
|
-
);
|
|
87
|
-
containers[0].style.transform = "translateX(0%)";
|
|
88
|
-
containers[1].style.transform = "translateX(100%)";
|
|
89
|
-
void containers[0].offsetWidth;
|
|
90
|
-
const anim1 = containers[0].animate(animation1, timing);
|
|
91
|
-
const anim2 = containers[1].animate(animation2, timing2);
|
|
92
|
-
initializedBanners.set(bannerElement2, { anim1, anim2 });
|
|
40
|
+
}
|
|
41
|
+
function bannerInit(bannerElement, initializedBanners, block) {
|
|
42
|
+
if (initializedBanners.has(bannerElement)) {
|
|
43
|
+
return;
|
|
93
44
|
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
45
|
+
const container = bannerElement.querySelector(
|
|
46
|
+
".scrolling-banner-v3__container"
|
|
47
|
+
);
|
|
48
|
+
const wrapper = bannerElement.querySelector(
|
|
49
|
+
".scrolling-banner-v3__wrapper"
|
|
50
|
+
);
|
|
51
|
+
const inner = bannerElement.querySelector(".scrolling-banner-v3__inner");
|
|
52
|
+
const speed = bannerElement.dataset.speed ?? 3;
|
|
53
|
+
const wrapperWidth = wrapper.clientWidth;
|
|
54
|
+
const innerContentWidth = inner.clientWidth;
|
|
55
|
+
if (innerContentWidth == 0) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
const multiplier = Number(Math.round(wrapperWidth / innerContentWidth));
|
|
59
|
+
for (let index = 0; index < multiplier; index++) {
|
|
60
|
+
const newInner = inner.cloneNode(true);
|
|
61
|
+
newInner.classList.add("clone");
|
|
62
|
+
container.appendChild(newInner);
|
|
63
|
+
}
|
|
64
|
+
const containerHeight = inner.clientHeight;
|
|
65
|
+
wrapper.setAttribute("style", `min-height: ${containerHeight}px`);
|
|
66
|
+
const newTickerContainer = container.cloneNode(true);
|
|
67
|
+
newTickerContainer.classList.add("clone");
|
|
68
|
+
wrapper.appendChild(newTickerContainer);
|
|
69
|
+
const animation1 = [
|
|
70
|
+
{ transform: "translateX(0%)" },
|
|
71
|
+
{ transform: "translateX(-100%)" }
|
|
72
|
+
];
|
|
73
|
+
const animation2 = [
|
|
74
|
+
{ transform: "translateX(100%)" },
|
|
75
|
+
{ transform: "translateX(0%)" }
|
|
76
|
+
];
|
|
77
|
+
const bannerLength = Math.floor(container.getBoundingClientRect().width);
|
|
78
|
+
const singleBannerCycleTime = bannerLength * 100 / speed;
|
|
79
|
+
let timing = {
|
|
80
|
+
duration: singleBannerCycleTime,
|
|
81
|
+
iterations: Infinity,
|
|
82
|
+
fill: "both"
|
|
83
|
+
};
|
|
84
|
+
let timing2 = timing;
|
|
85
|
+
const containers = bannerElement.querySelectorAll(
|
|
86
|
+
".scrolling-banner-v3__container"
|
|
87
|
+
);
|
|
88
|
+
containers[0].style.transform = "translateX(0%)";
|
|
89
|
+
containers[1].style.transform = "translateX(100%)";
|
|
90
|
+
containers[0].offsetWidth;
|
|
91
|
+
const anim1 = containers[0].animate(animation1, timing);
|
|
92
|
+
const anim2 = containers[1].animate(animation2, timing2);
|
|
93
|
+
initializedBanners.set(bannerElement, { anim1, anim2 });
|
|
94
|
+
function pauseAnimations() {
|
|
95
|
+
anim1.pause();
|
|
96
|
+
anim2.pause();
|
|
97
|
+
}
|
|
98
|
+
function resumeAnimations() {
|
|
99
|
+
anim1.play();
|
|
100
|
+
anim2.play();
|
|
101
|
+
}
|
|
102
|
+
if (bannerElement.querySelector("a")) {
|
|
103
|
+
block.addEventListener("mouseover", pauseAnimations);
|
|
104
|
+
block.addEventListener("mouseleave", resumeAnimations);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
function resetBanner(bannerElement, initializedBanners) {
|
|
108
|
+
const data = initializedBanners.get(bannerElement);
|
|
109
|
+
if (data) {
|
|
110
|
+
data.anim1?.cancel();
|
|
111
|
+
data.anim2?.cancel();
|
|
112
|
+
initializedBanners.delete(bannerElement);
|
|
105
113
|
}
|
|
114
|
+
bannerElement.querySelectorAll(
|
|
115
|
+
".scrolling-banner-v3__container.clone, .scrolling-banner-v3__inner.clone"
|
|
116
|
+
).forEach((el) => el.remove());
|
|
117
|
+
bannerElement.querySelector(".scrolling-banner-v3__wrapper").removeAttribute("style");
|
|
106
118
|
}
|
|
@@ -1,3 +1,18 @@
|
|
|
1
1
|
.site-copyright-notice-v3 {
|
|
2
|
-
|
|
2
|
+
color: black;
|
|
3
|
+
color: var(--site-copyright-notice-colour, black);
|
|
4
|
+
font-size: calc(14px / var(--design-reference) * var(--font-reference) * var(--font-size-multiplier));
|
|
5
|
+
font-size: calc(var(--site-copyright-font-size-mobile, 14px) / var(--design-reference) * var(--font-reference) * var(--font-size-multiplier));
|
|
6
|
+
}
|
|
7
|
+
@media screen and (min-width: 768px) {
|
|
8
|
+
.site-copyright-notice-v3 {
|
|
9
|
+
font-size: calc(16px / var(--design-reference) * var(--font-reference) * var(--font-size-multiplier));
|
|
10
|
+
font-size: calc(var(--site-copyright-font-size-portrait, 16px) / var(--design-reference) * var(--font-reference) * var(--font-size-multiplier));
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
@media screen and (min-width: 1024px) {
|
|
14
|
+
.site-copyright-notice-v3 {
|
|
15
|
+
font-size: calc(18px / var(--design-reference) * var(--font-reference) * var(--font-size-multiplier));
|
|
16
|
+
font-size: calc(var(--site-copyright-font-size-desktop, 18px) / var(--design-reference) * var(--font-reference) * var(--font-size-multiplier));
|
|
17
|
+
}
|
|
3
18
|
}
|
|
@@ -1,60 +1,44 @@
|
|
|
1
1
|
export default function sitecopyrightnoticev3Js(options = {}) {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
// adoptedCallback() {
|
|
46
|
-
// console.log('Custom element moved to new page.');
|
|
47
|
-
// }
|
|
48
|
-
|
|
49
|
-
attributeChangedCallback(name, oldValue, newValue) {
|
|
50
|
-
console.log(`Attribute ${name} has changed.`);
|
|
51
|
-
this.querySelector(
|
|
52
|
-
'.site-copyright-notice-v3__title'
|
|
53
|
-
).innerText = this.dataset.copyrightText;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
);
|
|
57
|
-
} catch (error) {
|
|
58
|
-
console.error(error);
|
|
59
|
-
}
|
|
2
|
+
try {
|
|
3
|
+
customElements.define(
|
|
4
|
+
"site-copyright-notice-v3",
|
|
5
|
+
class extends HTMLElement {
|
|
6
|
+
static observedAttributes = ["data-copyright-text"];
|
|
7
|
+
constructor() {
|
|
8
|
+
super();
|
|
9
|
+
let template = document.querySelector(
|
|
10
|
+
"#site-copyright-notice-v3"
|
|
11
|
+
);
|
|
12
|
+
let templateContent = template.content;
|
|
13
|
+
this.appendChild(
|
|
14
|
+
document.importNode(templateContent, true)
|
|
15
|
+
);
|
|
16
|
+
this.classList.add("loaded");
|
|
17
|
+
}
|
|
18
|
+
connectedCallback() {
|
|
19
|
+
console.log("Custom element added to page.");
|
|
20
|
+
this.querySelector(
|
|
21
|
+
".site-copyright-notice-v3__title"
|
|
22
|
+
).innerText = this.dataset.copyrightText;
|
|
23
|
+
}
|
|
24
|
+
// disconnectedCallback() {
|
|
25
|
+
// console.log('Custom element removed from page.');
|
|
26
|
+
// }
|
|
27
|
+
// connectedMoveCallback() {
|
|
28
|
+
// console.log('Custom element moved with moveBefore()');
|
|
29
|
+
// }
|
|
30
|
+
// adoptedCallback() {
|
|
31
|
+
// console.log('Custom element moved to new page.');
|
|
32
|
+
// }
|
|
33
|
+
attributeChangedCallback(name, oldValue, newValue) {
|
|
34
|
+
console.log(`Attribute ${name} has changed.`);
|
|
35
|
+
this.querySelector(
|
|
36
|
+
".site-copyright-notice-v3__title"
|
|
37
|
+
).innerText = this.dataset.copyrightText;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
);
|
|
41
|
+
} catch (error) {
|
|
42
|
+
console.error(error);
|
|
43
|
+
}
|
|
60
44
|
}
|