@total_onion/onion-library 2.0.232 → 2.0.234
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/webc-loadmore-trigger/loadmore-trigger.css +18 -0
- package/components/webc-loadmore-trigger/loadmore-trigger.html +5 -1
- package/components/webc-post-filter-module/post-filter-module.css +32 -11
- package/components/webc-post-filter-module/post-filter-module.html +1 -0
- package/components/webc-post-filter-module/post-filter-module.js +67 -19
- package/components/webc-post-grid-display-module/post-grid-display-module.css +28 -7
- package/components/webc-ptfg-9000/index.html +55 -44
- package/components/webc-ptfg-9000/ptfg-9000.css +8 -2
- package/components/webc-text-input-trigger/index.html +30 -0
- package/components/webc-text-input-trigger/text-input-trigger.css +6 -0
- package/components/webc-text-input-trigger/text-input-trigger.html +4 -0
- package/components/webc-text-input-trigger/text-input-trigger.js +33 -0
- package/components/webc-toggle-trigger/toggle-trigger.css +4 -1
- package/package.json +1 -1
- package/public/publicBundleBase.css +7383 -3483
|
@@ -1,2 +1,20 @@
|
|
|
1
1
|
loadmore-trigger {
|
|
2
|
+
grid-area: loadmore;
|
|
3
|
+
display: grid;
|
|
4
|
+
width: 100%;
|
|
5
|
+
place-items: center;
|
|
6
|
+
.loadmore-trigger__button {
|
|
7
|
+
background-color: black;
|
|
8
|
+
padding: 20px;
|
|
9
|
+
color: var(--theme-primary-text-colour, white);
|
|
10
|
+
width: max-content;
|
|
11
|
+
}
|
|
12
|
+
.loadmore-trigger__button:hover {
|
|
13
|
+
cursor: pointer;
|
|
14
|
+
background-color: greenyellow;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
loadmore-trigger.hide {
|
|
18
|
+
opacity: 0.3;
|
|
19
|
+
pointer-events: none;
|
|
2
20
|
}
|
|
@@ -1,36 +1,57 @@
|
|
|
1
1
|
post-filter-module {
|
|
2
|
+
grid-area: filter;
|
|
3
|
+
transform: translateX(-100%);
|
|
4
|
+
@starting-style {
|
|
5
|
+
transform: translateX(-100%);
|
|
6
|
+
}
|
|
2
7
|
position: fixed;
|
|
3
8
|
inset: 0;
|
|
4
9
|
background-color: black;
|
|
5
10
|
right: unset;
|
|
6
11
|
display: block;
|
|
7
12
|
width: 100vw;
|
|
8
|
-
|
|
13
|
+
z-index: 99;
|
|
9
14
|
max-width: 414px;
|
|
10
|
-
z-index: 10;
|
|
11
15
|
transition: transform ease-in-out 0.3s;
|
|
12
16
|
|
|
13
|
-
|
|
14
|
-
transform: translateX(
|
|
17
|
+
&.active {
|
|
18
|
+
transform: translateX(0%);
|
|
15
19
|
}
|
|
16
|
-
|
|
17
20
|
@media (min-width: 768px) {
|
|
18
21
|
max-width: unset;
|
|
19
22
|
width: 475px;
|
|
20
23
|
}
|
|
21
24
|
|
|
22
|
-
.post-filter-
|
|
25
|
+
.post-filter-module__clear-filters-button {
|
|
26
|
+
border: none;
|
|
23
27
|
}
|
|
24
28
|
|
|
29
|
+
.post-filter-module__grouping-category-button {
|
|
30
|
+
text-transform: uppercase;
|
|
31
|
+
border: none;
|
|
32
|
+
color: var(--theme-primary-text-colour);
|
|
33
|
+
font-family: var(--secondary-font-family);
|
|
34
|
+
font-size: 24;
|
|
35
|
+
|
|
36
|
+
&.active {
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
.post-filter-module__filter-category-container {
|
|
40
|
+
height: 0px;
|
|
41
|
+
overflow: hidden;
|
|
42
|
+
transition: height ease-out 0.3s;
|
|
43
|
+
}
|
|
25
44
|
.post-filter-module__filter-category-button {
|
|
26
|
-
|
|
27
|
-
|
|
45
|
+
color: var(--theme-primary-text-colour);
|
|
46
|
+
font-family: var(--primary-font-family);
|
|
28
47
|
border: 1px solid transparent;
|
|
29
|
-
|
|
48
|
+
font-size: 14;
|
|
30
49
|
}
|
|
31
50
|
.post-filter-module__filter-category-button.active-cat {
|
|
32
|
-
color: gold;
|
|
33
|
-
|
|
51
|
+
color: var(--primary-gold-100);
|
|
52
|
+
}
|
|
53
|
+
.post-filter-module__clear-filters-button {
|
|
54
|
+
color: var(--theme-primary-text-colour);
|
|
34
55
|
}
|
|
35
56
|
}
|
|
36
57
|
post-filter-module.active {
|
|
@@ -4,10 +4,12 @@ export default function postfiltermoduleJs(options = {}) {
|
|
|
4
4
|
customElements.define(
|
|
5
5
|
'post-filter-module',
|
|
6
6
|
class extends HTMLElement {
|
|
7
|
+
static observedAttributes = ['data-devcontent'];
|
|
7
8
|
constructor() {
|
|
8
9
|
super();
|
|
9
|
-
this.enableLogs =
|
|
10
|
+
this.enableLogs = true;
|
|
10
11
|
this.filterState = {
|
|
12
|
+
enableLogs: false,
|
|
11
13
|
allposts: [],
|
|
12
14
|
filteredposts: [],
|
|
13
15
|
activefilters: new Set(),
|
|
@@ -50,6 +52,40 @@ export default function postfiltermoduleJs(options = {}) {
|
|
|
50
52
|
});
|
|
51
53
|
});
|
|
52
54
|
|
|
55
|
+
this.textSearchTriggers = document.querySelectorAll(
|
|
56
|
+
`.${this.dataset.textinputclass}`
|
|
57
|
+
);
|
|
58
|
+
|
|
59
|
+
this.textSearchTriggers.forEach((trigger) => {
|
|
60
|
+
trigger.addEventListener('textinput', (e) => {
|
|
61
|
+
const inputText =
|
|
62
|
+
e.target.querySelector('input')?.value;
|
|
63
|
+
|
|
64
|
+
console.log(
|
|
65
|
+
'🚀 ~ constructor ~ inputEl:',
|
|
66
|
+
inputText
|
|
67
|
+
);
|
|
68
|
+
this.filterPosts();
|
|
69
|
+
const searchPosts =
|
|
70
|
+
this.filterState.filteredposts.filter(
|
|
71
|
+
(post) => {
|
|
72
|
+
if (
|
|
73
|
+
post.name
|
|
74
|
+
?.toLowerCase()
|
|
75
|
+
.includes(
|
|
76
|
+
inputText.toLowerCase()
|
|
77
|
+
)
|
|
78
|
+
) {
|
|
79
|
+
return post;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
);
|
|
83
|
+
|
|
84
|
+
this.filterState.setFilteredPosts.bind(this)({
|
|
85
|
+
filteredposts: searchPosts
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
});
|
|
53
89
|
const postFilterContainer =
|
|
54
90
|
document.createElement('div');
|
|
55
91
|
postFilterContainer.className =
|
|
@@ -84,31 +120,26 @@ export default function postfiltermoduleJs(options = {}) {
|
|
|
84
120
|
this.clearFilters.bind(this)
|
|
85
121
|
);
|
|
86
122
|
|
|
87
|
-
this.devMode = this.dataset.dev;
|
|
88
123
|
this.devModeContent = this.dataset.devcontent;
|
|
89
124
|
}
|
|
90
125
|
async connectedCallback() {
|
|
91
126
|
console.log('Filter Module element added to page.');
|
|
92
127
|
let data;
|
|
93
128
|
if (
|
|
94
|
-
this.
|
|
95
|
-
this.
|
|
129
|
+
this.dataset.dev === 'true' ||
|
|
130
|
+
this.dataset.devcontent === 'dev-petz' ||
|
|
131
|
+
this.classList.contains('dev-pets') //Easter Egg :D
|
|
96
132
|
) {
|
|
97
|
-
|
|
98
|
-
this.dataset.devdatalocation;
|
|
99
|
-
data = await import(
|
|
100
|
-
`./dev-content/dev-content${devdatalocation}.js`
|
|
101
|
-
);
|
|
102
|
-
this.filterState.allposts = data[`devContentPets`];
|
|
103
|
-
|
|
104
|
-
this.filterState.allcategories =
|
|
105
|
-
data[`devContentCategories`];
|
|
133
|
+
await this.getDevContent();
|
|
106
134
|
} else {
|
|
107
135
|
data = globalThis[this.dataset.dataobjectid];
|
|
108
136
|
this.enableLogs &&
|
|
109
137
|
console.log('🚀 dataobject: ', data);
|
|
110
|
-
|
|
111
|
-
|
|
138
|
+
if (data) {
|
|
139
|
+
this.filterState.allposts = data[`posts`];
|
|
140
|
+
this.filterState.allcategories =
|
|
141
|
+
data[`categories`];
|
|
142
|
+
}
|
|
112
143
|
}
|
|
113
144
|
|
|
114
145
|
if (this.filterState.allcategories.length > 0) {
|
|
@@ -251,15 +282,31 @@ export default function postfiltermoduleJs(options = {}) {
|
|
|
251
282
|
}
|
|
252
283
|
});
|
|
253
284
|
});
|
|
254
|
-
this.filterPosts();
|
|
255
285
|
|
|
286
|
+
this.filterPosts();
|
|
256
287
|
this.classList.add('loaded');
|
|
257
288
|
}
|
|
258
289
|
|
|
259
290
|
attributeChangedCallback(name, oldValue, newValue) {
|
|
260
|
-
|
|
291
|
+
console.log(`Attribute ${name} has changed.`);
|
|
292
|
+
if (newValue) {
|
|
293
|
+
this.getDevContent();
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
async getDevContent() {
|
|
297
|
+
this.enableLogs && console.log('Getting dev content..');
|
|
298
|
+
const data = await import(
|
|
299
|
+
`./dev-content/dev-content${this.dataset.devdatalocation}.js`
|
|
300
|
+
);
|
|
301
|
+
this.filterState.allposts = data[`devContentPets`];
|
|
302
|
+
this.filterState.allcategories =
|
|
303
|
+
data[`devContentCategories`];
|
|
304
|
+
this.filterPosts();
|
|
261
305
|
}
|
|
262
306
|
filterPosts(event) {
|
|
307
|
+
if (this.filterState.allposts.length == 0) {
|
|
308
|
+
return;
|
|
309
|
+
}
|
|
263
310
|
if (this.filterState.activefilters.size === 0) {
|
|
264
311
|
const numberPosts =
|
|
265
312
|
Number(this.filterState.postsperpagedesktop) *
|
|
@@ -270,9 +317,10 @@ export default function postfiltermoduleJs(options = {}) {
|
|
|
270
317
|
numberPosts
|
|
271
318
|
)
|
|
272
319
|
});
|
|
320
|
+
|
|
273
321
|
if (
|
|
274
|
-
this.filterState.
|
|
275
|
-
this.filterState.
|
|
322
|
+
this.filterState.filteredposts.length >=
|
|
323
|
+
this.filterState.allposts.length
|
|
276
324
|
) {
|
|
277
325
|
this.loadMoreTriggers.forEach((trigger) => {
|
|
278
326
|
trigger.classList.add('hide');
|
|
@@ -1,16 +1,37 @@
|
|
|
1
1
|
post-grid-display-module {
|
|
2
|
+
grid-area: display;
|
|
2
3
|
display: grid;
|
|
3
|
-
|
|
4
|
+
|
|
4
5
|
.post-grid-display-module__grid-container {
|
|
5
6
|
place-self: stretch;
|
|
6
7
|
display: grid;
|
|
7
8
|
padding: 10px;
|
|
8
|
-
gap:
|
|
9
|
-
grid-template-columns: repeat(auto-fit, minmax(
|
|
9
|
+
gap: 30px;
|
|
10
|
+
grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
|
|
10
11
|
}
|
|
11
|
-
.post-grid-display-module__post-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
.post-grid-display-module__post-container {
|
|
13
|
+
display: grid;
|
|
14
|
+
place-items: stretch;
|
|
15
|
+
grid-template-rows: max-content;
|
|
16
|
+
.post-grid-display-module__post-title {
|
|
17
|
+
color: white;
|
|
18
|
+
grid-row: 2;
|
|
19
|
+
text-box-edge: unset;
|
|
20
|
+
line-height: 120%;
|
|
21
|
+
text-transform: uppercase;
|
|
22
|
+
text-align: center;
|
|
23
|
+
font-size: 36px;
|
|
24
|
+
.font-secondary {
|
|
25
|
+
display: block;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
.post-grid-display-module__post-image {
|
|
29
|
+
grid-row: 1;
|
|
30
|
+
width: 100%;
|
|
31
|
+
height: auto;
|
|
32
|
+
place-self: stretch;
|
|
33
|
+
object-fit: cover;
|
|
34
|
+
aspect-ratio: 9 / 11;
|
|
35
|
+
}
|
|
15
36
|
}
|
|
16
37
|
}
|
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
<link rel="stylesheet" href="../../public/publicBundleBase.css" />
|
|
7
7
|
<link rel="stylesheet" href="./ptfg-9000.css" />
|
|
8
8
|
<link rel="stylesheet" href="../webc-toggle-trigger/toggle-trigger.css" />
|
|
9
|
+
<link rel="stylesheet" href="../webc-text-input-trigger/text-input-trigger.css" />
|
|
10
|
+
<link rel="stylesheet" href="../webc-loadmore-trigger/loadmore-trigger.css" />
|
|
9
11
|
<link
|
|
10
12
|
rel="stylesheet"
|
|
11
13
|
href="../webc-post-filter-module/post-filter-module.css"
|
|
@@ -27,58 +29,30 @@
|
|
|
27
29
|
data-dev="true"
|
|
28
30
|
data-devdatalocation="local"
|
|
29
31
|
class="post-filter-module__filter"
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
data-
|
|
33
|
-
data-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
32
|
+
data-postsperpagedesktop="8"
|
|
33
|
+
data-postsperpagemobile="6"
|
|
34
|
+
data-loadmoretriggerclass="loadmore-trigger"
|
|
35
|
+
data-textinputclass="text-input-trigger"
|
|
36
|
+
>
|
|
37
|
+
<toggle-trigger
|
|
38
|
+
id="toggle-trigger"
|
|
39
|
+
data-toggletext="Toggle Text"
|
|
40
|
+
data-toggletarget="#filter-module"
|
|
41
|
+
data-toggleclass="active"
|
|
42
|
+
class="toggle-trigger"
|
|
43
|
+
>
|
|
37
44
|
</post-filter-module>
|
|
38
|
-
<
|
|
39
|
-
|
|
40
|
-
data-toggletext="Toggle Text"
|
|
41
|
-
data-toggletarget="#filter-module"
|
|
42
|
-
data-toggleclass="active"
|
|
43
|
-
class="toggle-trigger"
|
|
44
|
-
>
|
|
45
|
-
</toggle-trigger>
|
|
45
|
+
<text-input-trigger id="text-input-trigger" class="text-input-trigger"></text-input-trigger>
|
|
46
|
+
<toggle-trigger id="toggle-trigger" data-toggletext="Filter" data-toggletarget="#filter-module" data-toggleclass="active" class="toggle-trigger"></toggle-trigger>
|
|
46
47
|
<post-grid-display-module
|
|
47
48
|
id="display-module"
|
|
48
49
|
data-posts=""
|
|
49
50
|
class="post-grid-display-module cmpl-block-padding cmpl-block-settings"
|
|
50
|
-
>
|
|
51
|
-
|
|
51
|
+
></post-grid-display-module>
|
|
52
|
+
<loadmore-trigger id="loadmore-trigger" data-buttontext="Load More" class="loadmore-trigger"></loadmore-trigger>
|
|
52
53
|
</ptfg-9000>
|
|
53
54
|
|
|
54
55
|
<script type="module">
|
|
55
|
-
// Post filter module
|
|
56
|
-
// const postfiltermoduletemplate = await fetch(
|
|
57
|
-
// "../webc-post-filter-module/post-filter-module.html"
|
|
58
|
-
// );
|
|
59
|
-
// const postfiltermodulehtml = await postfiltermoduletemplate.text();
|
|
60
|
-
// document
|
|
61
|
-
// .querySelector("ptfg-9000")
|
|
62
|
-
// .insertAdjacentHTML("beforeend", postfiltermodulehtml);
|
|
63
|
-
|
|
64
|
-
//toggle trigger
|
|
65
|
-
// const toggletrigger = await fetch(
|
|
66
|
-
// "../webc-toggle-trigger/toggle-trigger.html"
|
|
67
|
-
// );
|
|
68
|
-
// const toggletriggerhtml = await toggletrigger.text();
|
|
69
|
-
// document
|
|
70
|
-
// .querySelector("ptfg-9000")
|
|
71
|
-
// .insertAdjacentHTML("beforeend", toggletriggerhtml);
|
|
72
|
-
|
|
73
|
-
//post grid display
|
|
74
|
-
// const postgriddisplay = await fetch(
|
|
75
|
-
// "../webc-post-grid-display-module/post-grid-display-module.html"
|
|
76
|
-
// );
|
|
77
|
-
// const postgriddisplayhtml = await postgriddisplay.text();
|
|
78
|
-
// document
|
|
79
|
-
// .querySelector("ptfg-9000")
|
|
80
|
-
// .insertAdjacentHTML("beforeend", postgriddisplayhtml);
|
|
81
|
-
|
|
82
56
|
//Run Component JS
|
|
83
57
|
import blockfilterjs from "../webc-post-filter-module/post-filter-module.js";
|
|
84
58
|
blockfilterjs();
|
|
@@ -86,6 +60,12 @@
|
|
|
86
60
|
import toggletriggerjs from "../webc-toggle-trigger/toggle-trigger.js";
|
|
87
61
|
toggletriggerjs();
|
|
88
62
|
|
|
63
|
+
import textInputTrigger from "../webc-text-input-trigger/text-input-trigger.js";
|
|
64
|
+
textInputTrigger();
|
|
65
|
+
|
|
66
|
+
import loadmoreTrigger from "../webc-loadmore-trigger/loadmore-trigger.js";
|
|
67
|
+
loadmoreTrigger();
|
|
68
|
+
|
|
89
69
|
import blockgridjs from "../webc-post-grid-display-module/post-grid-display-module.js";
|
|
90
70
|
blockgridjs();
|
|
91
71
|
|
|
@@ -94,3 +74,34 @@
|
|
|
94
74
|
</script>
|
|
95
75
|
</body>
|
|
96
76
|
</html>
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
<!--
|
|
80
|
+
<script type="module">
|
|
81
|
+
// Post filter module
|
|
82
|
+
const postfiltermoduletemplate = await fetch(
|
|
83
|
+
"../webc-post-filter-module/post-filter-module.html"
|
|
84
|
+
);
|
|
85
|
+
const postfiltermodulehtml = await postfiltermoduletemplate.text();
|
|
86
|
+
document
|
|
87
|
+
.querySelector("ptfg-9000")
|
|
88
|
+
.insertAdjacentHTML("beforeend", postfiltermodulehtml);
|
|
89
|
+
// toggle trigger
|
|
90
|
+
const toggletrigger = await fetch(
|
|
91
|
+
"../webc-toggle-trigger/toggle-trigger.html"
|
|
92
|
+
);
|
|
93
|
+
const toggletriggerhtml = await toggletrigger.text();
|
|
94
|
+
document
|
|
95
|
+
.querySelector("ptfg-9000")
|
|
96
|
+
.insertAdjacentHTML("beforeend", toggletriggerhtml);
|
|
97
|
+
|
|
98
|
+
// post grid display
|
|
99
|
+
const postgriddisplay = await fetch(
|
|
100
|
+
"../webc-post-grid-display-module/post-grid-display-module.html"
|
|
101
|
+
);
|
|
102
|
+
const postgriddisplayhtml = await postgriddisplay.text();
|
|
103
|
+
document
|
|
104
|
+
.querySelector("ptfg-9000")
|
|
105
|
+
.insertAdjacentHTML("beforeend", postgriddisplayhtml);
|
|
106
|
+
|
|
107
|
+
</script> -->
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
ptfg-9000 {
|
|
2
|
-
display:
|
|
3
|
-
|
|
2
|
+
display: grid;
|
|
3
|
+
grid-template:
|
|
4
|
+
'filter ..'
|
|
5
|
+
'textinput toggleclass'
|
|
6
|
+
'display display'
|
|
7
|
+
'loadmore loadmore' / 1fr 1fr;
|
|
8
|
+
background-color: black;
|
|
9
|
+
|
|
4
10
|
--padding-block-multiplier-mobile-top: 1;
|
|
5
11
|
--padding-inline-multiplier-mobile-right: 1;
|
|
6
12
|
--padding-block-multiplier-mobile-bottom: 1;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<link rel="stylesheet" href="../../public/publicBundleBase.css" />
|
|
7
|
+
<link rel="stylesheet" href="./text-input-trigger.css" />
|
|
8
|
+
<title>PTFG</title>
|
|
9
|
+
<style>
|
|
10
|
+
body {
|
|
11
|
+
background-color: #e7b8b8;
|
|
12
|
+
}
|
|
13
|
+
main {
|
|
14
|
+
max-width: 600px;
|
|
15
|
+
margin-inline: auto;
|
|
16
|
+
padding: 50px;
|
|
17
|
+
}
|
|
18
|
+
</style>
|
|
19
|
+
</head>
|
|
20
|
+
<body>
|
|
21
|
+
<main class="main-container"></main>
|
|
22
|
+
<script async type="module">
|
|
23
|
+
const template = await fetch("./text-input-trigger.html");
|
|
24
|
+
const html = await template.text();
|
|
25
|
+
document.querySelector(".main-container").innerHTML = html;
|
|
26
|
+
import blockjs from "./text-input-trigger.js";
|
|
27
|
+
blockjs();
|
|
28
|
+
</script>
|
|
29
|
+
</body>
|
|
30
|
+
</html>
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export default function loadmoreTriggerJs(options = {}) {
|
|
2
|
+
try {
|
|
3
|
+
if (!customElements.get('text-input-trigger')) {
|
|
4
|
+
customElements.define(
|
|
5
|
+
'text-input-trigger',
|
|
6
|
+
class extends HTMLElement {
|
|
7
|
+
constructor() {
|
|
8
|
+
super();
|
|
9
|
+
this.enableLogs = this.dataset.enablelogs;
|
|
10
|
+
this.textInput = document.createElement('input');
|
|
11
|
+
this.textInput.setAttribute('type', 'text');
|
|
12
|
+
this.textInput.className = 'text-input-trigger__input';
|
|
13
|
+
this.appendChild(this.textInput);
|
|
14
|
+
this.textInput.placeholder =
|
|
15
|
+
this.dataset.placeholdertext || 'Start typing...';
|
|
16
|
+
this.textInput.addEventListener('input', (e) => {
|
|
17
|
+
this.dispatchEvent(new CustomEvent('textinput'));
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
connectedCallback() {
|
|
21
|
+
console.log('text input module added to page.');
|
|
22
|
+
this.classList.add('loaded');
|
|
23
|
+
}
|
|
24
|
+
attributeChangedCallback(name, oldValue, newValue) {
|
|
25
|
+
// console.log(`Attribute ${name} has changed.`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
} catch (error) {
|
|
31
|
+
console.error(error);
|
|
32
|
+
}
|
|
33
|
+
}
|