@pageboard/html 0.16.13 → 0.16.15
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/elements/consent.js +1 -1
- package/elements/embed.js +10 -1
- package/elements/fieldsets.js +1 -1
- package/elements/grid.js +3 -3
- package/elements/inputs.js +6 -6
- package/elements/layout.js +3 -3
- package/elements/link.js +1 -1
- package/elements/paragraph.js +1 -1
- package/elements/statistic.js +1 -1
- package/elements/storage.js +5 -0
- package/package.json +1 -1
- package/ui/fieldset-list.js +4 -2
- package/ui/form.css +3 -0
- package/ui/form.js +7 -9
- package/ui/input_radio.css +4 -1
package/elements/consent.js
CHANGED
package/elements/embed.js
CHANGED
|
@@ -32,6 +32,15 @@ exports.embed = {
|
|
|
32
32
|
title: 'Additional query parameters',
|
|
33
33
|
type: 'object',
|
|
34
34
|
nullable: true
|
|
35
|
+
},
|
|
36
|
+
ratio: {
|
|
37
|
+
title: 'Default height/width',
|
|
38
|
+
description: 'Inverse of ratio in percents',
|
|
39
|
+
type: 'number',
|
|
40
|
+
minimum: 10,
|
|
41
|
+
maximum: 500,
|
|
42
|
+
multipleOf: 0.01,
|
|
43
|
+
nullable: true
|
|
35
44
|
}
|
|
36
45
|
},
|
|
37
46
|
group: "block",
|
|
@@ -42,7 +51,7 @@ exports.embed = {
|
|
|
42
51
|
};
|
|
43
52
|
},
|
|
44
53
|
tag: 'iframe,element-embed',
|
|
45
|
-
html: `<element-embed data-src="[url]" data-query="[query|as:query]" id="[id]">
|
|
54
|
+
html: `<element-embed data-src="[url]" data-query="[query|as:query]" id="[id]" style-padding-bottom="[ratio|fail:]%">
|
|
46
55
|
<a aria-hidden="true" class="linkable" href="[$loc.pathname][$loc.search][id|pre:%23]">[linkable|prune:*]#</a>
|
|
47
56
|
<iframe loading="lazy" allowfullscreen frameborder="0" scrolling="no"></iframe>
|
|
48
57
|
</element-embed>`,
|
package/elements/fieldsets.js
CHANGED
package/elements/grid.js
CHANGED
|
@@ -7,7 +7,7 @@ exports.grid = {
|
|
|
7
7
|
width: {
|
|
8
8
|
title: 'Width',
|
|
9
9
|
anyOf: [{
|
|
10
|
-
|
|
10
|
+
const: null,
|
|
11
11
|
title: 'normal'
|
|
12
12
|
}, {
|
|
13
13
|
const: "min",
|
|
@@ -24,7 +24,7 @@ exports.grid = {
|
|
|
24
24
|
title: 'Responsive',
|
|
25
25
|
anyOf: [{
|
|
26
26
|
title: 'No',
|
|
27
|
-
|
|
27
|
+
const: null
|
|
28
28
|
}, {
|
|
29
29
|
title: 'Stackable',
|
|
30
30
|
const: 'stackable'
|
|
@@ -76,7 +76,7 @@ exports.grid_row = {
|
|
|
76
76
|
title: 'Responsive',
|
|
77
77
|
anyOf: [{
|
|
78
78
|
title: 'No',
|
|
79
|
-
|
|
79
|
+
const: null
|
|
80
80
|
}, {
|
|
81
81
|
title: 'Stackable',
|
|
82
82
|
const: 'stackable'
|
package/elements/inputs.js
CHANGED
|
@@ -70,7 +70,7 @@ exports.input_button = {
|
|
|
70
70
|
float: {
|
|
71
71
|
title: 'Float',
|
|
72
72
|
anyOf: [{
|
|
73
|
-
|
|
73
|
+
const: null,
|
|
74
74
|
title: 'No'
|
|
75
75
|
}, {
|
|
76
76
|
const: 'left',
|
|
@@ -157,7 +157,7 @@ exports.input_submit = {
|
|
|
157
157
|
float: {
|
|
158
158
|
title: 'Float',
|
|
159
159
|
anyOf: [{
|
|
160
|
-
|
|
160
|
+
const: null,
|
|
161
161
|
title: 'No'
|
|
162
162
|
}, {
|
|
163
163
|
const: 'left',
|
|
@@ -458,8 +458,8 @@ exports.input_checkbox = {
|
|
|
458
458
|
<div class="ui [toggle] checkbox">
|
|
459
459
|
<input type="checkbox" required="[required]" disabled="[disabled]"
|
|
460
460
|
name="[name]" value="[value]" checked="[checked]"
|
|
461
|
-
id="for-[name]
|
|
462
|
-
<label block-content="label" for="for-[name]
|
|
461
|
+
id="for-[name]" />
|
|
462
|
+
<label block-content="label" for="for-[name]">Label</label>
|
|
463
463
|
</div>
|
|
464
464
|
</div>`,
|
|
465
465
|
stylesheets: [
|
|
@@ -516,8 +516,8 @@ exports.input_radio = {
|
|
|
516
516
|
<div class="ui radio [button|alt::checkbox]">
|
|
517
517
|
<input type="radio" disabled="[disabled]" required="[required]"
|
|
518
518
|
name="[name]" value="[value]" checked="[checked]"
|
|
519
|
-
id="for-[name]
|
|
520
|
-
<label block-content="label" for="for-[name]
|
|
519
|
+
id="for-[name]" />
|
|
520
|
+
<label block-content="label" for="for-[name]">Label</label>
|
|
521
521
|
</div>
|
|
522
522
|
</div>`,
|
|
523
523
|
stylesheets: [
|
package/elements/layout.js
CHANGED
|
@@ -89,7 +89,7 @@ exports.layout = {
|
|
|
89
89
|
wrap: {
|
|
90
90
|
title: 'Wrap',
|
|
91
91
|
anyOf: [{
|
|
92
|
-
|
|
92
|
+
const: null,
|
|
93
93
|
title: 'No wrap'
|
|
94
94
|
}, {
|
|
95
95
|
const: 'wrap',
|
|
@@ -102,7 +102,7 @@ exports.layout = {
|
|
|
102
102
|
width: {
|
|
103
103
|
title: 'Width',
|
|
104
104
|
anyOf: [{
|
|
105
|
-
|
|
105
|
+
const: null,
|
|
106
106
|
title: "None"
|
|
107
107
|
}, {
|
|
108
108
|
const: "full",
|
|
@@ -160,7 +160,7 @@ exports.layout = {
|
|
|
160
160
|
fill: {
|
|
161
161
|
title: 'Fill',
|
|
162
162
|
anyOf: [{
|
|
163
|
-
|
|
163
|
+
const: null,
|
|
164
164
|
title: 'Auto'
|
|
165
165
|
}, {
|
|
166
166
|
const: 'balance',
|
package/elements/link.js
CHANGED
package/elements/paragraph.js
CHANGED
package/elements/statistic.js
CHANGED
package/package.json
CHANGED
package/ui/fieldset-list.js
CHANGED
|
@@ -137,7 +137,11 @@ class HTMLElementFieldsetList extends Page.Element {
|
|
|
137
137
|
}
|
|
138
138
|
}
|
|
139
139
|
|
|
140
|
+
const view = this.ownView;
|
|
141
|
+
view.textContent = '';
|
|
142
|
+
|
|
140
143
|
const subtpl = inputs.map(node => node.closest('.fields') ?? node).ancestor();
|
|
144
|
+
if (!subtpl) return;
|
|
141
145
|
subtpl.appendChild(
|
|
142
146
|
subtpl.ownerDocument.createTextNode(
|
|
143
147
|
`[$fields|at:${this.dataset.at || '*'}|repeat:field|const:]`
|
|
@@ -186,8 +190,6 @@ class HTMLElementFieldsetList extends Page.Element {
|
|
|
186
190
|
node.disabled = list.length >= max;
|
|
187
191
|
});
|
|
188
192
|
|
|
189
|
-
const view = this.ownView;
|
|
190
|
-
view.textContent = '';
|
|
191
193
|
view.appendChild(tpl);
|
|
192
194
|
}
|
|
193
195
|
|
package/ui/form.css
CHANGED
package/ui/form.js
CHANGED
|
@@ -20,15 +20,13 @@ class HTMLElementForm extends Page.create(HTMLFormElement) {
|
|
|
20
20
|
|
|
21
21
|
static patch(state) {
|
|
22
22
|
state.finish(() => {
|
|
23
|
-
|
|
24
|
-
for (const
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
prev.id = node.htmlFor;
|
|
31
|
-
}
|
|
23
|
+
const indexes = {};
|
|
24
|
+
for (const label of document.querySelectorAll('input+label[for^="for-"]')) {
|
|
25
|
+
const { previousElementSibling: input, htmlFor } = label;
|
|
26
|
+
const [pre, name] = htmlFor.split('-');
|
|
27
|
+
if (input.name != name) continue;
|
|
28
|
+
const index = indexes[name] = (indexes[name] ?? 0) + 1;
|
|
29
|
+
input.id = label.htmlFor = `${pre}-${name}-${index}`;
|
|
32
30
|
}
|
|
33
31
|
});
|
|
34
32
|
}
|