@pageboard/html 0.16.5 → 0.16.7
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/beacons.js +1 -1
- package/elements/menu.js +1 -1
- package/elements/navigation.js +1 -1
- package/elements/query-tags.js +1 -1
- package/elements/tab.js +1 -1
- package/package.json +1 -1
- package/ui/beacons.js +15 -1
- package/ui/consent.css +0 -7
- package/ui/fieldset-list.css +0 -13
- package/ui/form.js +5 -5
- package/ui/image.css +2 -2
- package/ui/menu.css +3 -3
- package/ui/query-tags.css +1 -1
- package/ui/tab.css +1 -1
package/elements/beacons.js
CHANGED
|
@@ -9,6 +9,6 @@ exports.page.properties.beacons = {
|
|
|
9
9
|
exports.page.fragments.push({
|
|
10
10
|
path: 'head',
|
|
11
11
|
position: 'beforeend',
|
|
12
|
-
html: `<meta name="beacons" is="element-beacons" content="[beacons|as:query]">`
|
|
12
|
+
html: `<meta name="beacons" is="element-beacons" content="[beacons|fail:*|as:query]">`
|
|
13
13
|
});
|
|
14
14
|
exports.page.scripts.push("../ui/beacons.js");
|
package/elements/menu.js
CHANGED
|
@@ -58,7 +58,7 @@ exports.menu_group = {
|
|
|
58
58
|
nodes: "menu_item+"
|
|
59
59
|
},
|
|
60
60
|
html: `<element-menu class="[position] menu">
|
|
61
|
-
<div block-content="items"></div>
|
|
61
|
+
<div class="items" block-content="items"></div>
|
|
62
62
|
<div tabindex="0" class="ui fixed popup item [responsive|eq:popup|prune:*]">
|
|
63
63
|
<div class="icon">≡</div>
|
|
64
64
|
<div class="dropdown placer"><div class="menu"></div></div>
|
package/elements/navigation.js
CHANGED
|
@@ -58,7 +58,7 @@ exports.breadcrumb = {
|
|
|
58
58
|
<div class="divider"></div>
|
|
59
59
|
<a href="[$links.up|nth:-1|at:a::1|repeat:link|.url]" class="section">[link.title]</a>
|
|
60
60
|
<div class="divider"></div>
|
|
61
|
-
<div class="active section">[$
|
|
61
|
+
<div class="active section">[$title|fail:div::1]</div>
|
|
62
62
|
</nav>`,
|
|
63
63
|
stylesheets: [
|
|
64
64
|
'../ui/components/breadcrumb.css'
|
package/elements/query-tags.js
CHANGED
|
@@ -17,7 +17,7 @@ exports.query_tags = {
|
|
|
17
17
|
nodes: 'inline*'
|
|
18
18
|
},
|
|
19
19
|
html: `<element-query-tags for="[form]">
|
|
20
|
-
<div block-content="title">Filters:</div>
|
|
20
|
+
<div class="title" block-content="title">Filters:</div>
|
|
21
21
|
<div class="ui labels"></div>
|
|
22
22
|
</element-query-tags>`,
|
|
23
23
|
stylesheets: [
|
package/elements/tab.js
CHANGED
|
@@ -22,7 +22,7 @@ exports.tabs = {
|
|
|
22
22
|
}],
|
|
23
23
|
html: `<element-tabs id="[name|as:xid]">
|
|
24
24
|
<div class="ui top attached tabular menu" block-content="items"></div>
|
|
25
|
-
<div block-content="tabs"></div>
|
|
25
|
+
<div class="tabs" block-content="tabs"></div>
|
|
26
26
|
</element-tabs>`,
|
|
27
27
|
stylesheets: [
|
|
28
28
|
'../ui/components/tab.css',
|
package/package.json
CHANGED
package/ui/beacons.js
CHANGED
|
@@ -1,6 +1,20 @@
|
|
|
1
1
|
class HTMLElementBeacons extends Page.create(HTMLMetaElement) {
|
|
2
|
+
patch(state) {
|
|
3
|
+
if (!this.content) return;
|
|
4
|
+
const scope = state.scope.copy();
|
|
5
|
+
const collector = state.collector();
|
|
6
|
+
scope.$hooks = {
|
|
7
|
+
...scope.$hooks,
|
|
8
|
+
afterAll(ctx, v) {
|
|
9
|
+
collector.filter(ctx, v);
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
for (const expr of Object.values(state.parse(this.content).query)) {
|
|
13
|
+
`[${expr}]`.fuse({}, state.scope);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
2
16
|
paint(state) {
|
|
3
|
-
if (state.scope.$write || state.scope.$read) return;
|
|
17
|
+
if (state.scope.$write || state.scope.$read || !this.content) return;
|
|
4
18
|
const payload = new URLSearchParams();
|
|
5
19
|
let i = 0;
|
|
6
20
|
for (const [key, expr] of Object.entries(state.parse(this.content).query)) {
|
package/ui/consent.css
CHANGED
|
@@ -14,16 +14,9 @@ footer [block-type="consent_form"][data-transient="true"] {
|
|
|
14
14
|
display:none;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
[block-type="consent_form"] > [block-content="content"] {
|
|
18
|
-
display:none;
|
|
19
|
-
}
|
|
20
17
|
[block-type="consent_form"] > .view {
|
|
21
18
|
position:relative;
|
|
22
19
|
}
|
|
23
|
-
[contenteditable] [block-type="consent_form"] > [block-content="content"] {
|
|
24
|
-
display:block;
|
|
25
|
-
min-height:1em;
|
|
26
|
-
}
|
|
27
20
|
|
|
28
21
|
[contenteditable] [block-focused="last"] > .form[block-type="consent_form"][data-transient="true"],
|
|
29
22
|
.form[block-type="consent_form"][data-transient="true"][block-focused] {
|
package/ui/fieldset-list.css
CHANGED
|
@@ -2,16 +2,3 @@ element-fieldset-list {
|
|
|
2
2
|
display: block;
|
|
3
3
|
position: relative;
|
|
4
4
|
}
|
|
5
|
-
|
|
6
|
-
element-fieldset-list > [block-content="template"] {
|
|
7
|
-
display: none;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
[contenteditable] element-fieldset-list > [block-content="template"] {
|
|
11
|
-
display: block;
|
|
12
|
-
min-height: 1em;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
[contenteditable] element-fieldset-list > .view {
|
|
16
|
-
display: none;
|
|
17
|
-
}
|
package/ui/form.js
CHANGED
|
@@ -340,15 +340,15 @@ class HTMLElementForm extends Page.create(HTMLFormElement) {
|
|
|
340
340
|
form.classList.remove('loading');
|
|
341
341
|
|
|
342
342
|
// messages shown inside form, no navigation
|
|
343
|
-
const
|
|
344
|
-
|
|
343
|
+
const msgs = form.toggleMessages(res.status);
|
|
344
|
+
for (const node of msgs) node.fuse({}, scope);
|
|
345
345
|
const ok = res.status >= 200 && res.status < 300;
|
|
346
346
|
let redirect = form.getRedirect(res.status);
|
|
347
347
|
|
|
348
348
|
if (ok) {
|
|
349
349
|
form.forget();
|
|
350
350
|
form.save();
|
|
351
|
-
if (!redirect && form.closest('element-template') && !
|
|
351
|
+
if (!redirect && form.closest('element-template') && !msgs.length) {
|
|
352
352
|
redirect = state.toString();
|
|
353
353
|
}
|
|
354
354
|
}
|
|
@@ -371,10 +371,10 @@ class HTMLElementForm extends Page.create(HTMLFormElement) {
|
|
|
371
371
|
}
|
|
372
372
|
state.debounce(
|
|
373
373
|
() => {
|
|
374
|
-
|
|
374
|
+
for (const node of msgs) node.classList.remove('visible');
|
|
375
375
|
return state.push(loc, { vary });
|
|
376
376
|
},
|
|
377
|
-
|
|
377
|
+
msgs.some(node => node.dataset.fading) ? 1000 : 100
|
|
378
378
|
)();
|
|
379
379
|
}
|
|
380
380
|
}
|
package/ui/image.css
CHANGED
|
@@ -12,7 +12,7 @@ element-image.no-size::after {
|
|
|
12
12
|
content: "⤡" !important;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
element-image >
|
|
15
|
+
element-image > div {
|
|
16
16
|
position:absolute;
|
|
17
17
|
font-size:0.8rem;
|
|
18
18
|
line-height:1rem;
|
|
@@ -144,6 +144,6 @@ img[is="element-img"] {
|
|
|
144
144
|
height:auto;
|
|
145
145
|
}
|
|
146
146
|
|
|
147
|
-
element-image[block-focused="last"] >
|
|
147
|
+
element-image[block-focused="last"] > div {
|
|
148
148
|
background-color: rgb(255 255 255 / 50%);
|
|
149
149
|
}
|
package/ui/menu.css
CHANGED
|
@@ -97,10 +97,10 @@ element-menu {
|
|
|
97
97
|
element-menu > .menu {
|
|
98
98
|
position: relative;
|
|
99
99
|
}
|
|
100
|
-
element-menu >
|
|
100
|
+
element-menu > .items {
|
|
101
101
|
display:flex;
|
|
102
102
|
}
|
|
103
|
-
element-menu.burger >
|
|
103
|
+
element-menu.burger > .items {
|
|
104
104
|
left:0;
|
|
105
105
|
position: absolute;
|
|
106
106
|
pointer-events: none;
|
|
@@ -122,7 +122,7 @@ element-menu.burger > .item .popup.item {
|
|
|
122
122
|
element-menu.burger .placer .popup.active .title {
|
|
123
123
|
margin-bottom:0.5em;
|
|
124
124
|
}
|
|
125
|
-
element-menu.burger >
|
|
125
|
+
element-menu.burger > .items > * {
|
|
126
126
|
visibility:hidden;
|
|
127
127
|
}
|
|
128
128
|
element-menu.burger .popup.item.active > .placer > div {
|
package/ui/query-tags.css
CHANGED
package/ui/tab.css
CHANGED
|
@@ -14,7 +14,7 @@ element-tabs > .ui.tabular.menu {
|
|
|
14
14
|
element-tabs > .ui.tabular.menu::after {
|
|
15
15
|
content:none;
|
|
16
16
|
}
|
|
17
|
-
element-tabs > .ui.tabular.menu + div
|
|
17
|
+
element-tabs > .ui.tabular.menu + div.tabs > .segment {
|
|
18
18
|
border-top: none;
|
|
19
19
|
margin:0 0 1rem;
|
|
20
20
|
width: 100%;
|