@lo-tek/interfaces 0.37.0 → 0.39.0
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/CHANGELOG.md +160 -2
- package/README.md +4 -3
- package/agent/astro.md +1 -1
- package/agent/bundles.md +4 -2
- package/agent/datastar.md +48 -48
- package/agent/html.md +51 -51
- package/agent/react.md +6 -5
- package/agent/templates.md +49 -49
- package/core/lotek-core.wasm +0 -0
- package/core/lotek.wasm +0 -0
- package/dist/components/default-texts.d.ts +6 -0
- package/dist/components/default-texts.d.ts.map +1 -1
- package/dist/components/default-texts.js +6 -0
- package/dist/components/default-texts.js.map +1 -1
- package/dist/components/frame/dialog/lt-dialog.d.ts.map +1 -1
- package/dist/components/frame/dialog/lt-dialog.js +5 -2
- package/dist/components/frame/dialog/lt-dialog.js.map +1 -1
- package/dist/components/frame/error-summary/error-summary.d.ts +15 -2
- package/dist/components/frame/error-summary/error-summary.d.ts.map +1 -1
- package/dist/components/frame/error-summary/error-summary.js +33 -11
- package/dist/components/frame/error-summary/error-summary.js.map +1 -1
- package/dist/components/frame/error-summary/lt-error-summary.d.ts +11 -0
- package/dist/components/frame/error-summary/lt-error-summary.d.ts.map +1 -1
- package/dist/components/frame/error-summary/lt-error-summary.js +114 -8
- package/dist/components/frame/error-summary/lt-error-summary.js.map +1 -1
- package/dist/components/frame/field/lt-field.d.ts.map +1 -1
- package/dist/components/frame/field/lt-field.js +34 -14
- package/dist/components/frame/field/lt-field.js.map +1 -1
- package/dist/components/frame/popover/lt-popover.d.ts +6 -2
- package/dist/components/frame/popover/lt-popover.d.ts.map +1 -1
- package/dist/components/frame/popover/lt-popover.js +44 -14
- package/dist/components/frame/popover/lt-popover.js.map +1 -1
- package/dist/components/frame/session-timeout/lt-session-timeout.d.ts.map +1 -1
- package/dist/components/frame/session-timeout/lt-session-timeout.js +43 -6
- package/dist/components/frame/session-timeout/lt-session-timeout.js.map +1 -1
- package/dist/components/frame/suggestion/lt-suggestion.d.ts +8 -2
- package/dist/components/frame/suggestion/lt-suggestion.d.ts.map +1 -1
- package/dist/components/frame/suggestion/lt-suggestion.js +56 -37
- package/dist/components/frame/suggestion/lt-suggestion.js.map +1 -1
- package/dist/components/frame/tabs/lt-tabs.d.ts +32 -10
- package/dist/components/frame/tabs/lt-tabs.d.ts.map +1 -1
- package/dist/components/frame/tabs/lt-tabs.js +85 -21
- package/dist/components/frame/tabs/lt-tabs.js.map +1 -1
- package/dist/components/host-element.d.ts +52 -0
- package/dist/components/host-element.d.ts.map +1 -1
- package/dist/components/host-element.js +164 -1
- package/dist/components/host-element.js.map +1 -1
- package/dist/components/standalone/connection-status/connection-status.d.ts +5 -1
- package/dist/components/standalone/connection-status/connection-status.d.ts.map +1 -1
- package/dist/components/standalone/connection-status/connection-status.js +5 -1
- package/dist/components/standalone/connection-status/connection-status.js.map +1 -1
- package/dist/components/standalone/connection-status/lt-connection-status.d.ts +11 -6
- package/dist/components/standalone/connection-status/lt-connection-status.d.ts.map +1 -1
- package/dist/components/standalone/connection-status/lt-connection-status.js +34 -10
- package/dist/components/standalone/connection-status/lt-connection-status.js.map +1 -1
- package/dist/diagnostics/core.d.ts +34 -0
- package/dist/diagnostics/core.d.ts.map +1 -1
- package/dist/diagnostics/core.js +14 -2
- package/dist/diagnostics/core.js.map +1 -1
- package/dist/lotek.css +1 -1
- package/dist/lt.d.ts +1 -1
- package/dist/react.d.ts +2 -0
- package/dist/react.d.ts.map +1 -1
- package/dist/vocabulary/classes.d.ts.map +1 -1
- package/dist/vocabulary/classes.js +34 -0
- package/dist/vocabulary/classes.js.map +1 -1
- package/dist/vocabulary/elements.d.ts.map +1 -1
- package/dist/vocabulary/elements.js +87 -7
- package/dist/vocabulary/elements.js.map +1 -1
- package/dist/vocabulary/types.d.ts +60 -0
- package/dist/vocabulary/types.d.ts.map +1 -1
- package/live-templates.xml +3 -2
- package/manifest/manifest.json +172 -8
- package/manifest/manifest.schema.json +80 -0
- package/package.json +2 -1
- package/src/components/default-texts.ts +7 -0
- package/src/components/frame/dialog/lt-dialog.ts +5 -2
- package/src/components/frame/error-summary/error-summary.ts +45 -11
- package/src/components/frame/error-summary/lt-error-summary.ts +121 -7
- package/src/components/frame/field/lt-field.ts +65 -28
- package/src/components/frame/popover/lt-popover.ts +43 -12
- package/src/components/frame/session-timeout/lt-session-timeout.ts +40 -6
- package/src/components/frame/suggestion/lt-suggestion.ts +57 -36
- package/src/components/frame/tabs/lt-tabs.ts +114 -38
- package/src/components/host-element.ts +190 -1
- package/src/components/standalone/connection-status/connection-status.ts +7 -1
- package/src/components/standalone/connection-status/lt-connection-status.ts +36 -10
- package/src/diagnostics/core.ts +19 -2
- package/src/vocabulary/classes.ts +34 -0
- package/src/vocabulary/elements.ts +87 -7
- package/src/vocabulary/types.ts +56 -0
- package/web-types.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineElement, derivedParts, HostElement, isServerControlled, SERVER_CONTROLLED, setAttr, setFlag, uniqueId, warnAboutMarkup, } from "../../host-element.js";
|
|
1
|
+
import { defineElement, derivedParts, HostElement, isServerControlled, markWritten, SERVER_CONTROLLED, setAttr, setFlag, stillMarked, uniqueId, WRITTEN, warnAboutCopiedMark, warnAboutMarkup, } from "../../host-element.js";
|
|
2
2
|
export const LT_TABS_TAG = "lt-tabs";
|
|
3
3
|
/**
|
|
4
4
|
* The parts the tabs look for, as selectors relative to the element. The
|
|
@@ -144,6 +144,17 @@ function accessibleName(element) {
|
|
|
144
144
|
function nameAsReferenced(element) {
|
|
145
145
|
return flat(textOf(element, hiddenFromAT(element), true));
|
|
146
146
|
}
|
|
147
|
+
/**
|
|
148
|
+
* Whether a morph from the server has been there since the web component
|
|
149
|
+
* wrote the attribute: the mark it wrote is gone. Only a value that differed
|
|
150
|
+
* from the server's word was marked (`markWritten`); one that did not has
|
|
151
|
+
* no mark to lose, and its absence says nothing. Read as a sign of the
|
|
152
|
+
* server, every unmarked tab in a row of three released a click under
|
|
153
|
+
* `server-controlled` at once.
|
|
154
|
+
*/
|
|
155
|
+
function markGone(element, name, word) {
|
|
156
|
+
return word.written !== word.server && !stillMarked(element, name);
|
|
157
|
+
}
|
|
147
158
|
/**
|
|
148
159
|
* Keyboard behaviour in a tab list, and the wiring when the markup comes
|
|
149
160
|
* without it.
|
|
@@ -207,6 +218,8 @@ function nameAsReferenced(element) {
|
|
|
207
218
|
export class LtTabs extends HostElement {
|
|
208
219
|
constructor() {
|
|
209
220
|
super(...arguments);
|
|
221
|
+
/** The tab list as it was when the user's tab was last found. */
|
|
222
|
+
this.chosenRow = [];
|
|
210
223
|
/**
|
|
211
224
|
* Roles the web component set itself. Tells a bare tab list, where every
|
|
212
225
|
* link is a tab, from one where the server wrote the roles, where a link
|
|
@@ -372,6 +385,9 @@ export class LtTabs extends HostElement {
|
|
|
372
385
|
// disables the selected tab, the tab stop moves to one that can take
|
|
373
386
|
// focus. `alt`, `aria-hidden` and `title` change the name of a tab.
|
|
374
387
|
attributeFilter: [
|
|
388
|
+
// A morph from the server removes the mark, and the web component
|
|
389
|
+
// puts it back: the same markup must give the same page.
|
|
390
|
+
WRITTEN,
|
|
375
391
|
"aria-selected",
|
|
376
392
|
"tabindex",
|
|
377
393
|
"hidden",
|
|
@@ -396,7 +412,7 @@ export class LtTabs extends HostElement {
|
|
|
396
412
|
// `server-controlled` switched on midway: the web component lets go, and
|
|
397
413
|
// the next patch decides.
|
|
398
414
|
if (name === SERVER_CONTROLLED && isServerControlled(this)) {
|
|
399
|
-
this.
|
|
415
|
+
this.choose(undefined);
|
|
400
416
|
// What is there now is the starting point. Without this the tab list
|
|
401
417
|
// jumped back to the tab the server last named, before the user chose
|
|
402
418
|
// another. But as when the server answers a click: `aria-selected` the
|
|
@@ -429,25 +445,69 @@ export class LtTabs extends HostElement {
|
|
|
429
445
|
get tabs() {
|
|
430
446
|
return derivedParts(this, TAB_SELECTOR, "tab", this.roledByMe).filter((tab) => linkTarget(tab) !== null);
|
|
431
447
|
}
|
|
448
|
+
/** Remembers the user's tab: the link, and the panel it points to. */
|
|
449
|
+
choose(tab) {
|
|
450
|
+
this.chosenTab = tab;
|
|
451
|
+
this.chosenTarget = tab ? (linkTarget(tab) ?? undefined) : undefined;
|
|
452
|
+
this.chosenRow = tab ? this.tabs : [];
|
|
453
|
+
}
|
|
454
|
+
/**
|
|
455
|
+
* Where the user's tab is now, or -1: the link while it points to the same
|
|
456
|
+
* panel; the tab that points to that panel when a morph has turned the
|
|
457
|
+
* link into another tab, or dropped it and kept others (the morphers match
|
|
458
|
+
* links without ids by position, and look ahead when one is removed);
|
|
459
|
+
* none when the links were replaced, with nothing of the row left.
|
|
460
|
+
*/
|
|
461
|
+
chosenIndex() {
|
|
462
|
+
const tabs = this.tabs;
|
|
463
|
+
const link = this.chosenTab;
|
|
464
|
+
if (!link || this.chosenTarget === undefined)
|
|
465
|
+
return -1;
|
|
466
|
+
const at = tabs.indexOf(link);
|
|
467
|
+
if (at >= 0 && linkTarget(link) === this.chosenTarget) {
|
|
468
|
+
this.chosenRow = tabs;
|
|
469
|
+
return at;
|
|
470
|
+
}
|
|
471
|
+
const morphed = at >= 0 || this.chosenRow.some((tab) => tabs.includes(tab));
|
|
472
|
+
if (!morphed)
|
|
473
|
+
return -1;
|
|
474
|
+
const moved = tabs.findIndex((tab) => linkTarget(tab) === this.chosenTarget);
|
|
475
|
+
if (moved >= 0) {
|
|
476
|
+
this.chosenTab = tabs[moved];
|
|
477
|
+
this.chosenRow = tabs;
|
|
478
|
+
}
|
|
479
|
+
return moved;
|
|
480
|
+
}
|
|
432
481
|
/** The server's word about an attribute, against what the web component last wrote. */
|
|
433
|
-
serverWord(memory, element,
|
|
482
|
+
serverWord(memory, element, name) {
|
|
483
|
+
const now = element.getAttribute(name);
|
|
434
484
|
const known = memory.get(element);
|
|
435
|
-
if (!known)
|
|
485
|
+
if (!known) {
|
|
486
|
+
warnAboutCopiedMark(this, element);
|
|
436
487
|
return now;
|
|
437
|
-
|
|
488
|
+
}
|
|
489
|
+
// The server's when the value is another, or when a morph from the
|
|
490
|
+
// server has been there since the web component wrote it (`WRITTEN`).
|
|
491
|
+
return now !== known.written || !stillMarked(element, name)
|
|
492
|
+
? now
|
|
493
|
+
: known.server;
|
|
438
494
|
}
|
|
439
495
|
/** Is there something on a tab or a panel other than what the web component wrote? */
|
|
440
496
|
touchedByOthers() {
|
|
441
497
|
return this.tabs.some((tab) => {
|
|
442
498
|
const selected = this.selectedMemory.get(tab);
|
|
443
|
-
if (!selected ||
|
|
499
|
+
if (!selected ||
|
|
500
|
+
tab.getAttribute("aria-selected") !== selected.written ||
|
|
501
|
+
markGone(tab, "aria-selected", selected)) {
|
|
444
502
|
return true;
|
|
445
503
|
}
|
|
446
504
|
const panel = this.panelFor(tab);
|
|
447
505
|
if (!panel)
|
|
448
506
|
return false;
|
|
449
507
|
const hidden = this.hiddenMemory.get(panel);
|
|
450
|
-
return !hidden ||
|
|
508
|
+
return (!hidden ||
|
|
509
|
+
panel.getAttribute("hidden") !== hidden.written ||
|
|
510
|
+
markGone(panel, "hidden", hidden));
|
|
451
511
|
});
|
|
452
512
|
}
|
|
453
513
|
/**
|
|
@@ -475,7 +535,9 @@ export class LtTabs extends HostElement {
|
|
|
475
535
|
// A new, bare tab has said nothing. Had it counted, the click's
|
|
476
536
|
// `aria-selected` was read as the server's, and a later move with
|
|
477
537
|
// `hidden` alone was undone.
|
|
478
|
-
return known
|
|
538
|
+
return known
|
|
539
|
+
? now !== known.written || markGone(tab, "aria-selected", known)
|
|
540
|
+
: now !== null;
|
|
479
541
|
});
|
|
480
542
|
this.hiddenMemory = new WeakMap();
|
|
481
543
|
if (serverSpoke) {
|
|
@@ -483,18 +545,17 @@ export class LtTabs extends HostElement {
|
|
|
483
545
|
return;
|
|
484
546
|
}
|
|
485
547
|
for (const tab of tabs) {
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
});
|
|
548
|
+
const written = tab.getAttribute("aria-selected");
|
|
549
|
+
this.selectedMemory.set(tab, { written, server: null });
|
|
550
|
+
markWritten(tab, "aria-selected", written !== null);
|
|
490
551
|
}
|
|
491
552
|
}
|
|
492
553
|
serverSelected(tab) {
|
|
493
|
-
return this.serverWord(this.selectedMemory, tab,
|
|
554
|
+
return this.serverWord(this.selectedMemory, tab, "aria-selected");
|
|
494
555
|
}
|
|
495
556
|
/** The server's word about `hidden` on the panel: the form, or `null` for visible. */
|
|
496
557
|
serverHidden(panel) {
|
|
497
|
-
return this.serverWord(this.hiddenMemory, panel,
|
|
558
|
+
return this.serverWord(this.hiddenMemory, panel, "hidden");
|
|
498
559
|
}
|
|
499
560
|
/**
|
|
500
561
|
* Can any of the changes concern the tab list?
|
|
@@ -860,7 +921,7 @@ export class LtTabs extends HostElement {
|
|
|
860
921
|
}
|
|
861
922
|
this.releasePending();
|
|
862
923
|
}
|
|
863
|
-
if (
|
|
924
|
+
if (this.chosenTarget === undefined || isServerControlled(this)) {
|
|
864
925
|
/*
|
|
865
926
|
* No user selection to restore, so the server's word decides, and it
|
|
866
927
|
* is written out in full: `aria-selected`, the tab stop and `hidden` in
|
|
@@ -879,7 +940,8 @@ export class LtTabs extends HostElement {
|
|
|
879
940
|
}
|
|
880
941
|
return;
|
|
881
942
|
}
|
|
882
|
-
const
|
|
943
|
+
const chosen = this.chosenTarget;
|
|
944
|
+
const index = this.chosenIndex();
|
|
883
945
|
if (index < 0) {
|
|
884
946
|
/*
|
|
885
947
|
* The tab no longer exists. The server has sent something else, and
|
|
@@ -898,8 +960,8 @@ export class LtTabs extends HostElement {
|
|
|
898
960
|
* loads the panel's content or writes the selection to the address
|
|
899
961
|
* would never learn that it moved.
|
|
900
962
|
*/
|
|
901
|
-
const lostPanel = this.
|
|
902
|
-
this.
|
|
963
|
+
const lostPanel = chosen === undefined ? null : this.byFragment(chosen);
|
|
964
|
+
this.choose(undefined);
|
|
903
965
|
// The server marked a tab itself. Then that applies, and the panels and
|
|
904
966
|
// the tab stop are written to match it, even when nothing else gave the
|
|
905
967
|
// observer another round.
|
|
@@ -919,11 +981,11 @@ export class LtTabs extends HostElement {
|
|
|
919
981
|
const tab = this.tabs[index];
|
|
920
982
|
this.apply(index);
|
|
921
983
|
if (this.panelFor(tab) === lostPanel) {
|
|
922
|
-
this.
|
|
984
|
+
this.choose(tab);
|
|
923
985
|
return;
|
|
924
986
|
}
|
|
925
987
|
if (fromAddress >= 0)
|
|
926
|
-
this.
|
|
988
|
+
this.choose(tab);
|
|
927
989
|
this.showInAddress(index);
|
|
928
990
|
this.notify(index);
|
|
929
991
|
}
|
|
@@ -1102,7 +1164,7 @@ export class LtTabs extends HostElement {
|
|
|
1102
1164
|
// selection made while the attribute was there would be restored the
|
|
1103
1165
|
// moment someone removed it again.
|
|
1104
1166
|
if (!isServerControlled(this))
|
|
1105
|
-
this.
|
|
1167
|
+
this.choose(tabs[index]);
|
|
1106
1168
|
this.apply(index);
|
|
1107
1169
|
if (isServerControlled(this))
|
|
1108
1170
|
this.pendingTab = tabs[index];
|
|
@@ -1148,6 +1210,7 @@ export class LtTabs extends HostElement {
|
|
|
1148
1210
|
const server = this.serverSelected(tab);
|
|
1149
1211
|
setAttr(tab, "aria-selected", String(chosen));
|
|
1150
1212
|
this.selectedMemory.set(tab, { written: String(chosen), server });
|
|
1213
|
+
markWritten(tab, "aria-selected", String(chosen) !== server);
|
|
1151
1214
|
setAttr(tab, "tabindex", i === stop ? "0" : "-1");
|
|
1152
1215
|
const panel = this.panelFor(tab);
|
|
1153
1216
|
if (panel)
|
|
@@ -1172,6 +1235,7 @@ export class LtTabs extends HostElement {
|
|
|
1172
1235
|
else
|
|
1173
1236
|
setAttr(panel, "hidden", written);
|
|
1174
1237
|
this.hiddenMemory.set(panel, { written, server });
|
|
1238
|
+
markWritten(panel, "hidden", written !== server);
|
|
1175
1239
|
}
|
|
1176
1240
|
/*
|
|
1177
1241
|
* Only the selected panel is a tab stop, so Tab from the tab list goes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lt-tabs.js","sourceRoot":"","sources":["../../../../src/components/frame/tabs/lt-tabs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lt-tabs.js","sourceRoot":"","sources":["../../../../src/components/frame/tabs/lt-tabs.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,9 @@
|
|
|
12
12
|
* without `customElements` nothing is registered, and without registration
|
|
13
13
|
* the browser never creates an instance. It only exists so the module can
|
|
14
14
|
* load.
|
|
15
|
+
*
|
|
16
|
+
* In the browser the base does one thing: it adopts the properties a script
|
|
17
|
+
* set before the registration, see `adoptPropertiesSetBeforeUpgrade()`.
|
|
15
18
|
*/
|
|
16
19
|
export declare const HostElement: {
|
|
17
20
|
new (): HTMLElement;
|
|
@@ -46,6 +49,48 @@ export declare function defineElement(tagName: string, element: CustomElementCon
|
|
|
46
49
|
* `null` removes the attribute.
|
|
47
50
|
*/
|
|
48
51
|
export declare function setAttr(element: Element, name: string, value: string | null | undefined): void;
|
|
52
|
+
/**
|
|
53
|
+
* The attribute a component marks what it wrote with: the names of the
|
|
54
|
+
* attributes on the element whose value is the component's, separated by
|
|
55
|
+
* spaces.
|
|
56
|
+
*
|
|
57
|
+
* Some attributes are both the server's and the component's: `aria-invalid`
|
|
58
|
+
* on a field, `aria-selected` on a tab. To tell the server's word from its
|
|
59
|
+
* own echo, a component remembered the value it wrote, and read anything
|
|
60
|
+
* else as the server's. A server that sent the same value was never seen: a
|
|
61
|
+
* morph does not touch an attribute whose value is already right, and the
|
|
62
|
+
* component took the server's `aria-invalid="true"` for its own and removed
|
|
63
|
+
* it. The mark is what a morph does touch. The server never sends it, so a
|
|
64
|
+
* morph from the server removes it, and an attribute without the mark is the
|
|
65
|
+
* server's, whatever its value. A script that changes the element without a
|
|
66
|
+
* morph leaves the mark, and is seen as before, by the value.
|
|
67
|
+
*
|
|
68
|
+
* Only what differs from the server's word is marked. A value that is the
|
|
69
|
+
* server's has nothing to tell apart, and markup that is already right, as
|
|
70
|
+
* React renders `lt.tabs()` with the state, must not be touched: hydration
|
|
71
|
+
* reports every attribute it did not render.
|
|
72
|
+
*/
|
|
73
|
+
export declare const WRITTEN = "data-lt-written";
|
|
74
|
+
/**
|
|
75
|
+
* Marks `name` on `element` as the component's when `mine`, that is, when
|
|
76
|
+
* what the component wrote differs from the server's word, and removes the
|
|
77
|
+
* mark otherwise.
|
|
78
|
+
*/
|
|
79
|
+
export declare function markWritten(element: Element, name: string, mine: boolean): void;
|
|
80
|
+
/**
|
|
81
|
+
* Warns when `element` carries the mark before the component has written on
|
|
82
|
+
* it: the mark is in the markup it was given, copied into a template from
|
|
83
|
+
* the browser's developer tools. A morph then never removes it, and the
|
|
84
|
+
* component takes the server's word for its own echo again. Called where the
|
|
85
|
+
* component meets the element for the first time; the check cannot wait, so
|
|
86
|
+
* the warning is not checked again when the page has settled.
|
|
87
|
+
*/
|
|
88
|
+
export declare function warnAboutCopiedMark(host: Element, element: Element): void;
|
|
89
|
+
/**
|
|
90
|
+
* Whether the component's mark for `name` is still on `element`: no morph
|
|
91
|
+
* from the server has been there since the component wrote it.
|
|
92
|
+
*/
|
|
93
|
+
export declare function stillMarked(element: Element, name: string): boolean;
|
|
49
94
|
/**
|
|
50
95
|
* Turns a boolean attribute on or off, without writing when it is already so.
|
|
51
96
|
*
|
|
@@ -88,6 +133,13 @@ export declare function setText(element: Element, text: string): void;
|
|
|
88
133
|
export declare function addClass(element: Element, name: string): void;
|
|
89
134
|
/** An id the component creates itself, when the markup had none. */
|
|
90
135
|
export declare function uniqueId(prefix: string): string;
|
|
136
|
+
/**
|
|
137
|
+
* The id an element should have: the one it has, otherwise the one the
|
|
138
|
+
* component created for that node before. A morph keeps the node and tears
|
|
139
|
+
* the id off, and it gets the same one back, so a screen reader does not
|
|
140
|
+
* follow a reference that changes under it.
|
|
141
|
+
*/
|
|
142
|
+
export declare function rememberedId(memory: WeakMap<Element, string>, element: Element, prefix: string): string;
|
|
91
143
|
/**
|
|
92
144
|
* The parts with a role, and those without only when the component set the
|
|
93
145
|
* roles itself.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-element.d.ts","sourceRoot":"","sources":["../../src/components/host-element.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"host-element.d.ts","sourceRoot":"","sources":["../../src/components/host-element.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,eAAO,MAAM,WAAW;;;CA0BiB,CAAA;AA8EzC,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,wBAAwB,GAChC,IAAI,CAgBN;AAYD;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CACrB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC/B,IAAI,CAMN;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,OAAO,oBAAoB,CAAA;AAExC;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,GACZ,IAAI,CAWN;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAUzE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAEnE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,GAAG,IAAI,CAEzE;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAwB/D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAE5D;AAED,2DAA2D;AAC3D,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAE7D;AAED,oEAAoE;AACpE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,EAChC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,GACb,MAAM,CAQR;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,OAAO,EAC5C,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,GAC5B,CAAC,EAAE,CAQL;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,iBAAiB,EAAG,mBAA4B,CAAA;AAE7D,4DAA4D;AAC5D,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAE5D;AA8BD,wBAAgB,eAAe,CAC7B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,OAAO,GACzB,IAAI,CA0BN;AA+ED,wBAAsB,YAAY,CAAC,CAAC,SAAS,WAAW,EACtD,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,CAAC,CAAC,CAuBZ"}
|
|
@@ -12,11 +12,100 @@
|
|
|
12
12
|
* without `customElements` nothing is registered, and without registration
|
|
13
13
|
* the browser never creates an instance. It only exists so the module can
|
|
14
14
|
* load.
|
|
15
|
+
*
|
|
16
|
+
* In the browser the base does one thing: it adopts the properties a script
|
|
17
|
+
* set before the registration, see `adoptPropertiesSetBeforeUpgrade()`.
|
|
15
18
|
*/
|
|
16
19
|
export const HostElement = typeof HTMLElement === "undefined"
|
|
17
20
|
? class {
|
|
18
21
|
}
|
|
19
|
-
: HTMLElement
|
|
22
|
+
: class extends HTMLElement {
|
|
23
|
+
constructor() {
|
|
24
|
+
super();
|
|
25
|
+
// Here the own properties are exactly what a script set before the
|
|
26
|
+
// upgrade: the component's own fields are assigned after `super()`
|
|
27
|
+
// returns. An element created after the registration has none, and
|
|
28
|
+
// costs nothing.
|
|
29
|
+
const names = Object.getOwnPropertyNames(this);
|
|
30
|
+
if (names.length === 0)
|
|
31
|
+
return;
|
|
32
|
+
const pending = holdPropertiesSetBeforeUpgrade(this, names);
|
|
33
|
+
if (pending.size === 0)
|
|
34
|
+
return;
|
|
35
|
+
// Written in a microtask, not here: the field initialisers run
|
|
36
|
+
// after `super()`, and a setter that notes something on the
|
|
37
|
+
// instance, as `<lt-popover>` does with `open`, would have been
|
|
38
|
+
// overwritten by them. By the microtask the whole constructor and
|
|
39
|
+
// the upgrade's `connectedCallback` are done.
|
|
40
|
+
queueMicrotask(() => {
|
|
41
|
+
for (const [name, value] of pending) {
|
|
42
|
+
Reflect.deleteProperty(this, name);
|
|
43
|
+
this[name] = value;
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Takes the properties a script set on the element before it was upgraded out
|
|
50
|
+
* of the way, so they can be written through the component's setters.
|
|
51
|
+
*
|
|
52
|
+
* `dialog.open = true` from a script that runs before `defineLt()` lands on a
|
|
53
|
+
* plain `HTMLElement`, and becomes an own data property. When the element is
|
|
54
|
+
* upgraded, that property shadows the accessor on the prototype: the
|
|
55
|
+
* attribute is never set, and every later write, `dialog.open = false`
|
|
56
|
+
* included, goes to the shadow and never reaches the setter. Tested against
|
|
57
|
+
* `dist` on 2026-11-01: the setters were dead for the rest of the element's
|
|
58
|
+
* life.
|
|
59
|
+
*
|
|
60
|
+
* Each such property is replaced by a stand-in for the time until the
|
|
61
|
+
* microtask that writes the value. A read goes to the getter, so the
|
|
62
|
+
* component's first `sync()` sees the attribute and not the script's value:
|
|
63
|
+
* when it saw the value, it opened a dialog the script closed again right
|
|
64
|
+
* after the registration, and the write of `false` then removed an attribute
|
|
65
|
+
* that was never there, so nothing closed the dialog (found by GitHub's
|
|
66
|
+
* review). A write goes to the setter and cancels the adoption, so the last
|
|
67
|
+
* write wins. The values returned are what the microtask writes.
|
|
68
|
+
*
|
|
69
|
+
* Only a property with a setter somewhere on the prototype chain is taken;
|
|
70
|
+
* anything else a script put on the element stays as it is. A property set
|
|
71
|
+
* after the upgrade is never an own property, so there is nothing to do for
|
|
72
|
+
* an element created once the registration is there. A property someone made
|
|
73
|
+
* non-configurable cannot be moved out of the way, and is left shadowing the
|
|
74
|
+
* setter, as before. (Documented: the "lazy properties" pattern in Google's
|
|
75
|
+
* custom elements best practices.)
|
|
76
|
+
*/
|
|
77
|
+
function holdPropertiesSetBeforeUpgrade(element, names) {
|
|
78
|
+
const pending = new Map();
|
|
79
|
+
for (const name of names) {
|
|
80
|
+
const own = Object.getOwnPropertyDescriptor(element, name);
|
|
81
|
+
if (!own || !("value" in own) || !own.configurable)
|
|
82
|
+
continue;
|
|
83
|
+
const accessor = accessorOnPrototype(element, name);
|
|
84
|
+
if (!accessor?.set)
|
|
85
|
+
continue;
|
|
86
|
+
const { get, set } = accessor;
|
|
87
|
+
pending.set(name, own.value);
|
|
88
|
+
Object.defineProperty(element, name, {
|
|
89
|
+
configurable: true,
|
|
90
|
+
enumerable: true,
|
|
91
|
+
get: () => get?.call(element),
|
|
92
|
+
set: (value) => {
|
|
93
|
+
pending.delete(name);
|
|
94
|
+
Reflect.deleteProperty(element, name);
|
|
95
|
+
set.call(element, value);
|
|
96
|
+
},
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
return pending;
|
|
100
|
+
}
|
|
101
|
+
function accessorOnPrototype(element, name) {
|
|
102
|
+
for (let proto = Object.getPrototypeOf(element); proto !== null; proto = Object.getPrototypeOf(proto)) {
|
|
103
|
+
const descriptor = Object.getOwnPropertyDescriptor(proto, name);
|
|
104
|
+
if (descriptor)
|
|
105
|
+
return descriptor;
|
|
106
|
+
}
|
|
107
|
+
return undefined;
|
|
108
|
+
}
|
|
20
109
|
/**
|
|
21
110
|
* Registers a web component, once, and only in the browser.
|
|
22
111
|
*
|
|
@@ -84,6 +173,64 @@ export function setAttr(element, name, value) {
|
|
|
84
173
|
element.setAttribute(name, value);
|
|
85
174
|
}
|
|
86
175
|
}
|
|
176
|
+
/**
|
|
177
|
+
* The attribute a component marks what it wrote with: the names of the
|
|
178
|
+
* attributes on the element whose value is the component's, separated by
|
|
179
|
+
* spaces.
|
|
180
|
+
*
|
|
181
|
+
* Some attributes are both the server's and the component's: `aria-invalid`
|
|
182
|
+
* on a field, `aria-selected` on a tab. To tell the server's word from its
|
|
183
|
+
* own echo, a component remembered the value it wrote, and read anything
|
|
184
|
+
* else as the server's. A server that sent the same value was never seen: a
|
|
185
|
+
* morph does not touch an attribute whose value is already right, and the
|
|
186
|
+
* component took the server's `aria-invalid="true"` for its own and removed
|
|
187
|
+
* it. The mark is what a morph does touch. The server never sends it, so a
|
|
188
|
+
* morph from the server removes it, and an attribute without the mark is the
|
|
189
|
+
* server's, whatever its value. A script that changes the element without a
|
|
190
|
+
* morph leaves the mark, and is seen as before, by the value.
|
|
191
|
+
*
|
|
192
|
+
* Only what differs from the server's word is marked. A value that is the
|
|
193
|
+
* server's has nothing to tell apart, and markup that is already right, as
|
|
194
|
+
* React renders `lt.tabs()` with the state, must not be touched: hydration
|
|
195
|
+
* reports every attribute it did not render.
|
|
196
|
+
*/
|
|
197
|
+
export const WRITTEN = "data-lt-written";
|
|
198
|
+
/**
|
|
199
|
+
* Marks `name` on `element` as the component's when `mine`, that is, when
|
|
200
|
+
* what the component wrote differs from the server's word, and removes the
|
|
201
|
+
* mark otherwise.
|
|
202
|
+
*/
|
|
203
|
+
export function markWritten(element, name, mine) {
|
|
204
|
+
const marked = new Set((element.getAttribute(WRITTEN) ?? "").split(/\s+/).filter(Boolean));
|
|
205
|
+
if (mine)
|
|
206
|
+
marked.add(name);
|
|
207
|
+
else
|
|
208
|
+
marked.delete(name);
|
|
209
|
+
setAttr(element, WRITTEN, marked.size > 0 ? [...marked].sort().join(" ") : null);
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Warns when `element` carries the mark before the component has written on
|
|
213
|
+
* it: the mark is in the markup it was given, copied into a template from
|
|
214
|
+
* the browser's developer tools. A morph then never removes it, and the
|
|
215
|
+
* component takes the server's word for its own echo again. Called where the
|
|
216
|
+
* component meets the element for the first time; the check cannot wait, so
|
|
217
|
+
* the warning is not checked again when the page has settled.
|
|
218
|
+
*/
|
|
219
|
+
export function warnAboutCopiedMark(host, element) {
|
|
220
|
+
if (!element.hasAttribute(WRITTEN))
|
|
221
|
+
return;
|
|
222
|
+
warnAboutMarkup(host, `found ${WRITTEN} in the markup it was given. The browser writes the ` +
|
|
223
|
+
"attribute to tell the component's own values from the server's; " +
|
|
224
|
+
"copied into a template, it makes the component take what the " +
|
|
225
|
+
"server sends for its own. Remove it from the template.", () => true);
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Whether the component's mark for `name` is still on `element`: no morph
|
|
229
|
+
* from the server has been there since the component wrote it.
|
|
230
|
+
*/
|
|
231
|
+
export function stillMarked(element, name) {
|
|
232
|
+
return (element.getAttribute(WRITTEN) ?? "").split(/\s+/).includes(name);
|
|
233
|
+
}
|
|
87
234
|
/**
|
|
88
235
|
* Turns a boolean attribute on or off, without writing when it is already so.
|
|
89
236
|
*
|
|
@@ -162,6 +309,22 @@ export function addClass(element, name) {
|
|
|
162
309
|
export function uniqueId(prefix) {
|
|
163
310
|
return `${prefix}-${Math.random().toString(36).slice(2, 9)}`;
|
|
164
311
|
}
|
|
312
|
+
/**
|
|
313
|
+
* The id an element should have: the one it has, otherwise the one the
|
|
314
|
+
* component created for that node before. A morph keeps the node and tears
|
|
315
|
+
* the id off, and it gets the same one back, so a screen reader does not
|
|
316
|
+
* follow a reference that changes under it.
|
|
317
|
+
*/
|
|
318
|
+
export function rememberedId(memory, element, prefix) {
|
|
319
|
+
if (element.id)
|
|
320
|
+
return element.id;
|
|
321
|
+
let id = memory.get(element);
|
|
322
|
+
if (!id) {
|
|
323
|
+
id = uniqueId(prefix);
|
|
324
|
+
memory.set(element, id);
|
|
325
|
+
}
|
|
326
|
+
return id;
|
|
327
|
+
}
|
|
165
328
|
/**
|
|
166
329
|
* The parts with a role, and those without only when the component set the
|
|
167
330
|
* roles itself.
|