@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.
Files changed (92) hide show
  1. package/CHANGELOG.md +160 -2
  2. package/README.md +4 -3
  3. package/agent/astro.md +1 -1
  4. package/agent/bundles.md +4 -2
  5. package/agent/datastar.md +48 -48
  6. package/agent/html.md +51 -51
  7. package/agent/react.md +6 -5
  8. package/agent/templates.md +49 -49
  9. package/core/lotek-core.wasm +0 -0
  10. package/core/lotek.wasm +0 -0
  11. package/dist/components/default-texts.d.ts +6 -0
  12. package/dist/components/default-texts.d.ts.map +1 -1
  13. package/dist/components/default-texts.js +6 -0
  14. package/dist/components/default-texts.js.map +1 -1
  15. package/dist/components/frame/dialog/lt-dialog.d.ts.map +1 -1
  16. package/dist/components/frame/dialog/lt-dialog.js +5 -2
  17. package/dist/components/frame/dialog/lt-dialog.js.map +1 -1
  18. package/dist/components/frame/error-summary/error-summary.d.ts +15 -2
  19. package/dist/components/frame/error-summary/error-summary.d.ts.map +1 -1
  20. package/dist/components/frame/error-summary/error-summary.js +33 -11
  21. package/dist/components/frame/error-summary/error-summary.js.map +1 -1
  22. package/dist/components/frame/error-summary/lt-error-summary.d.ts +11 -0
  23. package/dist/components/frame/error-summary/lt-error-summary.d.ts.map +1 -1
  24. package/dist/components/frame/error-summary/lt-error-summary.js +114 -8
  25. package/dist/components/frame/error-summary/lt-error-summary.js.map +1 -1
  26. package/dist/components/frame/field/lt-field.d.ts.map +1 -1
  27. package/dist/components/frame/field/lt-field.js +34 -14
  28. package/dist/components/frame/field/lt-field.js.map +1 -1
  29. package/dist/components/frame/popover/lt-popover.d.ts +6 -2
  30. package/dist/components/frame/popover/lt-popover.d.ts.map +1 -1
  31. package/dist/components/frame/popover/lt-popover.js +44 -14
  32. package/dist/components/frame/popover/lt-popover.js.map +1 -1
  33. package/dist/components/frame/session-timeout/lt-session-timeout.d.ts.map +1 -1
  34. package/dist/components/frame/session-timeout/lt-session-timeout.js +43 -6
  35. package/dist/components/frame/session-timeout/lt-session-timeout.js.map +1 -1
  36. package/dist/components/frame/suggestion/lt-suggestion.d.ts +8 -2
  37. package/dist/components/frame/suggestion/lt-suggestion.d.ts.map +1 -1
  38. package/dist/components/frame/suggestion/lt-suggestion.js +56 -37
  39. package/dist/components/frame/suggestion/lt-suggestion.js.map +1 -1
  40. package/dist/components/frame/tabs/lt-tabs.d.ts +32 -10
  41. package/dist/components/frame/tabs/lt-tabs.d.ts.map +1 -1
  42. package/dist/components/frame/tabs/lt-tabs.js +85 -21
  43. package/dist/components/frame/tabs/lt-tabs.js.map +1 -1
  44. package/dist/components/host-element.d.ts +52 -0
  45. package/dist/components/host-element.d.ts.map +1 -1
  46. package/dist/components/host-element.js +164 -1
  47. package/dist/components/host-element.js.map +1 -1
  48. package/dist/components/standalone/connection-status/connection-status.d.ts +5 -1
  49. package/dist/components/standalone/connection-status/connection-status.d.ts.map +1 -1
  50. package/dist/components/standalone/connection-status/connection-status.js +5 -1
  51. package/dist/components/standalone/connection-status/connection-status.js.map +1 -1
  52. package/dist/components/standalone/connection-status/lt-connection-status.d.ts +11 -6
  53. package/dist/components/standalone/connection-status/lt-connection-status.d.ts.map +1 -1
  54. package/dist/components/standalone/connection-status/lt-connection-status.js +34 -10
  55. package/dist/components/standalone/connection-status/lt-connection-status.js.map +1 -1
  56. package/dist/diagnostics/core.d.ts +34 -0
  57. package/dist/diagnostics/core.d.ts.map +1 -1
  58. package/dist/diagnostics/core.js +14 -2
  59. package/dist/diagnostics/core.js.map +1 -1
  60. package/dist/lotek.css +1 -1
  61. package/dist/lt.d.ts +1 -1
  62. package/dist/react.d.ts +2 -0
  63. package/dist/react.d.ts.map +1 -1
  64. package/dist/vocabulary/classes.d.ts.map +1 -1
  65. package/dist/vocabulary/classes.js +34 -0
  66. package/dist/vocabulary/classes.js.map +1 -1
  67. package/dist/vocabulary/elements.d.ts.map +1 -1
  68. package/dist/vocabulary/elements.js +87 -7
  69. package/dist/vocabulary/elements.js.map +1 -1
  70. package/dist/vocabulary/types.d.ts +60 -0
  71. package/dist/vocabulary/types.d.ts.map +1 -1
  72. package/live-templates.xml +3 -2
  73. package/manifest/manifest.json +172 -8
  74. package/manifest/manifest.schema.json +80 -0
  75. package/package.json +2 -1
  76. package/src/components/default-texts.ts +7 -0
  77. package/src/components/frame/dialog/lt-dialog.ts +5 -2
  78. package/src/components/frame/error-summary/error-summary.ts +45 -11
  79. package/src/components/frame/error-summary/lt-error-summary.ts +121 -7
  80. package/src/components/frame/field/lt-field.ts +65 -28
  81. package/src/components/frame/popover/lt-popover.ts +43 -12
  82. package/src/components/frame/session-timeout/lt-session-timeout.ts +40 -6
  83. package/src/components/frame/suggestion/lt-suggestion.ts +57 -36
  84. package/src/components/frame/tabs/lt-tabs.ts +114 -38
  85. package/src/components/host-element.ts +190 -1
  86. package/src/components/standalone/connection-status/connection-status.ts +7 -1
  87. package/src/components/standalone/connection-status/lt-connection-status.ts +36 -10
  88. package/src/diagnostics/core.ts +19 -2
  89. package/src/vocabulary/classes.ts +34 -0
  90. package/src/vocabulary/elements.ts +87 -7
  91. package/src/vocabulary/types.ts +56 -0
  92. 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.chosenTab = undefined;
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, now) {
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
- return now !== known.written ? now : known.server;
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 || tab.getAttribute("aria-selected") !== selected.written) {
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 || panel.getAttribute("hidden") !== hidden.written;
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 ? now !== known.written : now !== null;
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
- this.selectedMemory.set(tab, {
487
- written: tab.getAttribute("aria-selected"),
488
- server: null,
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, tab.getAttribute("aria-selected"));
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, panel.getAttribute("hidden"));
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 (!this.chosenTab || isServerControlled(this)) {
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 index = this.tabs.indexOf(this.chosenTab);
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.panelFor(this.chosenTab);
902
- this.chosenTab = undefined;
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.chosenTab = tab;
984
+ this.choose(tab);
923
985
  return;
924
986
  }
925
987
  if (fromAddress >= 0)
926
- this.chosenTab = tab;
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.chosenTab = tabs[index];
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;;;;;;;;;;;;;;GAcG;AAEH,eAAO,MAAM,WAAW;;;CAGP,CAAA;AAQjB,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;;;;;;;;;;;;;;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;;;;;;;;;;;;;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"}
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.