@rak200/ui 0.6.3 → 0.6.4

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/dist/button.d.ts CHANGED
@@ -15,6 +15,7 @@ export type ButtonVariant = 'primary' | 'secondary';
15
15
  * ```
16
16
  */
17
17
  export declare class UiButton extends LitElement {
18
+ #private;
18
19
  static readonly styles: import("lit").CSSResult;
19
20
  static readonly properties: {
20
21
  variant: {
@@ -38,6 +39,7 @@ export declare class UiButton extends LitElement {
38
39
  variant: ButtonVariant;
39
40
  /** Whether the button rejects interaction. Reflected, so CSS can select on it. */
40
41
  disabled: boolean;
42
+ constructor();
41
43
  render(): TemplateResult;
42
44
  }
43
45
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../src/button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAGjE,+CAA+C;AAC/C,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,CAAC;AAEpD;;;;;;;;;;;;GAYG;AACH,qBAAa,QAAS,SAAQ,UAAU;IACpC,gBAAyB,MAAM,0BA6E7B;IAEF,gBAAyB,UAAU;;;;;;;;;MAGjC;IAEF;;;;;;;;OAQG;IACH,OAAO,EAAE,aAAa,CAAa;IAEnC,kFAAkF;IAClF,QAAQ,UAAS;IAER,MAAM,IAAI,cAAc;CAOpC;AAQD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,WAAW,EAAE,QAAQ,CAAC;KACzB;CACJ"}
1
+ {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../src/button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAG1E,+CAA+C;AAC/C,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,CAAC;AAEpD;;;;;;;;;;;;GAYG;AACH,qBAAa,QAAS,SAAQ,UAAU;;IACpC,gBAAyB,MAAM,0BAsG7B;IAEF,gBAAyB,UAAU;;;;;;;;;MAGjC;IAEF;;;;;;;;OAQG;IACH,OAAO,EAAE,aAAa,CAAa;IAEnC,kFAAkF;IAClF,QAAQ,UAAS;;IAmDR,MAAM,IAAI,cAAc;CAiBpC;AAQD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,WAAW,EAAE,QAAQ,CAAC;KACzB;CACJ"}
package/dist/button.js CHANGED
@@ -1,4 +1,4 @@
1
- import { LitElement, css, html } from 'lit';
1
+ import { LitElement, css, html, nothing } from 'lit';
2
2
  import { reference } from './reference.js';
3
3
  /**
4
4
  * A button.
@@ -14,21 +14,6 @@ import { reference } from './reference.js';
14
14
  * ```
15
15
  */
16
16
  export class UiButton extends LitElement {
17
- constructor() {
18
- super(...arguments);
19
- /**
20
- * How much visual weight the button carries.
21
- *
22
- * A plain field, not the `accessor` keyword: `accessor` is an auto-accessor, the
23
- * browser the suite runs in does not implement it, and the transform leaves it in
24
- * place — the module then fails to parse. The classic Lit pattern, a `static
25
- * properties` map beside plain fields with `useDefineForClassFields: false`, needs
26
- * neither the keyword nor decorators.
27
- */
28
- this.variant = 'primary';
29
- /** Whether the button rejects interaction. Reflected, so CSS can select on it. */
30
- this.disabled = false;
31
- }
32
17
  static { this.styles = css `
33
18
  :host {
34
19
  display: inline-block;
@@ -106,16 +91,125 @@ export class UiButton extends LitElement {
106
91
  background: ${reference('--ui-color-pressed')};
107
92
  transition-duration: 0s;
108
93
  }
94
+
95
+ /* The sentence a tooltip handed over: present to a screen reader and absent to
96
+ everybody else. It is already on screen — in the tip, which is the whole point of
97
+ the handoff — so drawing it again would show it twice.
98
+
99
+ display:none would be the shorter way and it is the one this package will not take.
100
+ The accessible description of a hidden element that is DIRECTLY referenced is
101
+ computed anyway, by specification; whether every engine does it is a claim this
102
+ toolchain cannot check, because no instrument here reads an accessibility tree.
103
+ docs/select.md already settles what to do with a feature that cannot be verified,
104
+ and the clip below has nothing left to disagree about: the node is in the tree in
105
+ every engine, and painted in none.
106
+
107
+ No offsets with the absolute, deliberately: an out-of-flow box with none stays at
108
+ its static position, so it neither travels nor grows the scrollable area. */
109
+ #description {
110
+ position: absolute;
111
+ inline-size: 1px;
112
+ block-size: 1px;
113
+ margin: -1px;
114
+ padding: 0;
115
+ overflow: hidden;
116
+ clip-path: inset(50%);
117
+ white-space: nowrap;
118
+ }
109
119
  `; }
110
120
  static { this.properties = {
111
121
  variant: { type: String, reflect: true },
112
122
  disabled: { type: Boolean, reflect: true },
113
123
  }; }
124
+ /**
125
+ * The sentence a `<ui-tooltip>` handed over, empty until one does.
126
+ *
127
+ * **Private, and the update is asked for by hand rather than declared.** A declared
128
+ * reactive property is one a host can write, and a writable `description` is the
129
+ * option RFC 0006 rejected twice over: it makes the host write the same sentence a
130
+ * tooltip is already holding, and a property written before an element upgrades
131
+ * shadows its accessor permanently on anything not built on Lit — reading back a
132
+ * value it never delivered. What is public here is the event, which reports whether
133
+ * anyone took it.
134
+ */
135
+ #description;
136
+ constructor() {
137
+ super();
138
+ /**
139
+ * How much visual weight the button carries.
140
+ *
141
+ * A plain field, not the `accessor` keyword: `accessor` is an auto-accessor, the
142
+ * browser the suite runs in does not implement it, and the transform leaves it in
143
+ * place — the module then fails to parse. The classic Lit pattern, a `static
144
+ * properties` map beside plain fields with `useDefineForClassFields: false`, needs
145
+ * neither the keyword nor decorators.
146
+ */
147
+ this.variant = 'primary';
148
+ /** Whether the button rejects interaction. Reflected, so CSS can select on it. */
149
+ this.disabled = false;
150
+ /**
151
+ * The sentence a `<ui-tooltip>` handed over, empty until one does.
152
+ *
153
+ * **Private, and the update is asked for by hand rather than declared.** A declared
154
+ * reactive property is one a host can write, and a writable `description` is the
155
+ * option RFC 0006 rejected twice over: it makes the host write the same sentence a
156
+ * tooltip is already holding, and a property written before an element upgrades
157
+ * shadows its accessor permanently on anything not built on Lit — reading back a
158
+ * value it never delivered. What is public here is the event, which reports whether
159
+ * anyone took it.
160
+ */
161
+ this.#description = '';
162
+ /**
163
+ * Takes the tip's sentence and renders it where an IDREF can reach it.
164
+ *
165
+ * An `aria-describedby` written in the host's tree cannot name a node in here — one
166
+ * IDREF, one tree scope — which is the failure #156 measured and this is the answer
167
+ * RFC 0006 chose. `preventDefault()` is the whole of the acknowledgement: the
168
+ * dispatch's return value is what tells the tooltip whether to warn, so a malformed
169
+ * payload is left unclaimed on purpose rather than accepted and ignored.
170
+ */
171
+ this.#describe = (event) => {
172
+ // The payload is tested and the event's class is not, which is narrower than it
173
+ // looks: a plain `Event` carries no `detail` at all, so the type test below stops
174
+ // one as surely as an `instanceof` would. The guard that used to be here is gone
175
+ // because the mutation floor could not kill it — nothing reached it that the next
176
+ // line did not already turn away, which makes it dead weight rather than defence.
177
+ const handed = event.detail;
178
+ if (typeof handed !== 'string') {
179
+ return;
180
+ }
181
+ event.preventDefault();
182
+ this.#description = handed;
183
+ this.requestUpdate();
184
+ };
185
+ // In the constructor rather than on connection, because the listener has to exist
186
+ // by the time an upgrade is observable: the tooltip waits on
187
+ // `customElements.whenDefined`, which resolves after this has run.
188
+ this.addEventListener('ui-describe', this.#describe);
189
+ }
190
+ /**
191
+ * Takes the tip's sentence and renders it where an IDREF can reach it.
192
+ *
193
+ * An `aria-describedby` written in the host's tree cannot name a node in here — one
194
+ * IDREF, one tree scope — which is the failure #156 measured and this is the answer
195
+ * RFC 0006 chose. `preventDefault()` is the whole of the acknowledgement: the
196
+ * dispatch's return value is what tells the tooltip whether to warn, so a malformed
197
+ * payload is left unclaimed on purpose rather than accepted and ignored.
198
+ */
199
+ #describe;
114
200
  render() {
115
201
  return html `
116
- <button class=${this.variant} ?disabled=${this.disabled} part="button">
202
+ <button
203
+ class=${this.variant}
204
+ ?disabled=${this.disabled}
205
+ aria-describedby=${this.#description === '' ? nothing : 'description'}
206
+ part="button"
207
+ >
117
208
  <slot></slot>
118
209
  </button>
210
+ ${this.#description === ''
211
+ ? nothing
212
+ : html `<span id="description">${this.#description}</span>`}
119
213
  `;
120
214
  }
121
215
  }
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","sourceRoot":"","sources":["../src/button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAuB,MAAM,KAAK,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAK3C;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,QAAS,SAAQ,UAAU;IAAxC;;QAqFI;;;;;;;;WAQG;QACH,YAAO,GAAkB,SAAS,CAAC;QAEnC,kFAAkF;QAClF,aAAQ,GAAG,KAAK,CAAC;IASrB,CAAC;aAzG4B,WAAM,GAAG,GAAG,CAAA;;;;;;;2BAOd,SAAS,CAAC,WAAW,CAAC;;6BAEpB,SAAS,CAAC,aAAa,CAAC;uBAC9B,SAAS,CAAC,YAAY,CAAC,SAAS,SAAS,CAAC,YAAY,CAAC;;;;;;;;;;;;;;2CAcnC,SAAS,CAAC,qBAAqB,CAAC;kBACzD,SAAS,CAAC,mBAAmB,CAAC;;;;;;;;;;;iCAWf,SAAS,CAAC,kBAAkB,CAAC;;;;;0BAKpC,SAAS,CAAC,mBAAmB,CAAC;qBACnC,SAAS,CAAC,4BAA4B,CAAC;;;;0BAIlC,SAAS,CAAC,oBAAoB,CAAC;qBACpC,SAAS,CAAC,iBAAiB,CAAC;;;;;;;;;0BASvB,SAAS,CAAC,yBAAyB,CAAC;;;;0BAIpC,SAAS,CAAC,kBAAkB,CAAC;;;;;;;;;0BAS7B,SAAS,CAAC,2BAA2B,CAAC;;;;;0BAKtC,SAAS,CAAC,oBAAoB,CAAC;;;KAGpD,AA7E8B,CA6E7B;aAEuB,eAAU,GAAG;QAClC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;QACxC,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;KAC7C,AAHkC,CAGjC;IAgBO,MAAM;QACX,OAAO,IAAI,CAAA;4BACS,IAAI,CAAC,OAAO,cAAc,IAAI,CAAC,QAAQ;;;SAG1D,CAAC;IACN,CAAC;;AAGL,kFAAkF;AAClF,wFAAwF;AACxF,yFAAyF;AACzF,4EAA4E;AAC5E,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"button.js","sourceRoot":"","sources":["../src/button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAuB,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAK3C;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,QAAS,SAAQ,UAAU;aACX,WAAM,GAAG,GAAG,CAAA;;;;;;;2BAOd,SAAS,CAAC,WAAW,CAAC;;6BAEpB,SAAS,CAAC,aAAa,CAAC;uBAC9B,SAAS,CAAC,YAAY,CAAC,SAAS,SAAS,CAAC,YAAY,CAAC;;;;;;;;;;;;;;2CAcnC,SAAS,CAAC,qBAAqB,CAAC;kBACzD,SAAS,CAAC,mBAAmB,CAAC;;;;;;;;;;;iCAWf,SAAS,CAAC,kBAAkB,CAAC;;;;;0BAKpC,SAAS,CAAC,mBAAmB,CAAC;qBACnC,SAAS,CAAC,4BAA4B,CAAC;;;;0BAIlC,SAAS,CAAC,oBAAoB,CAAC;qBACpC,SAAS,CAAC,iBAAiB,CAAC;;;;;;;;;0BASvB,SAAS,CAAC,yBAAyB,CAAC;;;;0BAIpC,SAAS,CAAC,kBAAkB,CAAC;;;;;;;;;0BAS7B,SAAS,CAAC,2BAA2B,CAAC;;;;;0BAKtC,SAAS,CAAC,oBAAoB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA4BpD,AAtG8B,CAsG7B;aAEuB,eAAU,GAAG;QAClC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;QACxC,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;KAC7C,AAHkC,CAGjC;IAgBF;;;;;;;;;;OAUG;IACH,YAAY,CAAM;IAElB;QACI,KAAK,EAAE,CAAC;QA5BZ;;;;;;;;WAQG;QACH,YAAO,GAAkB,SAAS,CAAC;QAEnC,kFAAkF;QAClF,aAAQ,GAAG,KAAK,CAAC;QAEjB;;;;;;;;;;WAUG;QACH,iBAAY,GAAG,EAAE,CAAC;QAWlB;;;;;;;;WAQG;QACM,cAAS,GAAG,CAAC,KAAY,EAAQ,EAAE;YACxC,gFAAgF;YAChF,kFAAkF;YAClF,iFAAiF;YACjF,kFAAkF;YAClF,kFAAkF;YAClF,MAAM,MAAM,GAAa,KAA8B,CAAC,MAAM,CAAC;YAE/D,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC7B,OAAO;YACX,CAAC;YAED,KAAK,CAAC,cAAc,EAAE,CAAC;YAEvB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;YAC3B,IAAI,CAAC,aAAa,EAAE,CAAC;QACzB,CAAC,CAAC;QA/BE,kFAAkF;QAClF,6DAA6D;QAC7D,mEAAmE;QACnE,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;;;OAQG;IACM,SAAS,CAgBhB;IAEO,MAAM;QACX,OAAO,IAAI,CAAA;;wBAEK,IAAI,CAAC,OAAO;4BACR,IAAI,CAAC,QAAQ;mCACN,IAAI,CAAC,YAAY,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa;;;;;cAMrE,IAAI,CAAC,YAAY,KAAK,EAAE;YACpB,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,IAAI,CAAA,0BAA0B,IAAI,CAAC,YAAY,SACzD;SACH,CAAC;IACN,CAAC;;AAGL,kFAAkF;AAClF,wFAAwF;AACxF,yFAAyF;AACzF,4EAA4E;AAC5E,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../src/tooltip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AA8BjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,qBAAa,SAAU,SAAQ,UAAU;;IACrC,gBAAyB,MAAM,0BAkD7B;IAyFO,iBAAiB,IAAI,IAAI;IAqBzB,oBAAoB,IAAI,IAAI;IAU5B,MAAM,IAAI,cAAc;CAgQpC;AAQD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,YAAY,EAAE,SAAS,CAAC;KAC3B;CACJ"}
1
+ {"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../src/tooltip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AA4CjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,qBAAa,SAAU,SAAQ,UAAU;;IACrC,gBAAyB,MAAM,0BAkD7B;IAyFO,iBAAiB,IAAI,IAAI;IA0BzB,oBAAoB,IAAI,IAAI;IAe5B,MAAM,IAAI,cAAc;CA2WpC;AAQD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,YAAY,EAAE,SAAS,CAAC;KAC3B;CACJ"}
package/dist/tooltip.js CHANGED
@@ -12,14 +12,6 @@ const side = 'data-side';
12
12
  * inside the boundary, not how the element was made able to take it.
13
13
  */
14
14
  const focusable = 'a[href], button, input, select, textarea, [tabindex]';
15
- /**
16
- * The ids already describing a trigger, as a list rather than the attribute's string.
17
- *
18
- * Both halves of the wiring read it — one to add an id, the other to take the same one
19
- * back out — and they have to agree about what the string means. The empty filter is what
20
- * makes an absent attribute an empty list: `''.split(' ')` is `['']`, and a list with one
21
- * empty entry joins back with a leading space.
22
- */
23
15
  function describing(trigger) {
24
16
  return (trigger.getAttribute('aria-describedby') ?? '').split(' ').filter((id) => id !== '');
25
17
  }
@@ -227,6 +219,10 @@ export class UiTooltip extends LitElement {
227
219
  this.addEventListener('pointerleave', this.#onLeave, watched);
228
220
  this.addEventListener('focusin', this.#onFocus, watched);
229
221
  this.addEventListener('focusout', this.#onLeave, watched);
222
+ // A tooltip a framework moved in the tree comes back wired. `disconnectedCallback`
223
+ // withdraws the description, and nothing fires a `slotchange` on reconnection to
224
+ // put it back — the same argument the fresh `AbortController` above is here for.
225
+ this.#associate();
230
226
  }
231
227
  disconnectedCallback() {
232
228
  // Removed while shown, the tip takes the window listeners with it. A tooltip that
@@ -234,6 +230,10 @@ export class UiTooltip extends LitElement {
234
230
  // is no longer in a document.
235
231
  this.#hide();
236
232
  this.#listeners.abort();
233
+ // The trigger is this element's own child, so it usually leaves with it and has
234
+ // nobody left to describe. What this is for is the host that moves the trigger out
235
+ // first, and the framework that unmounts this element alone.
236
+ this.#unwire();
237
237
  super.disconnectedCallback();
238
238
  }
239
239
  render() {
@@ -299,9 +299,93 @@ export class UiTooltip extends LitElement {
299
299
  if (!described.includes(tip.id)) {
300
300
  trigger.setAttribute('aria-describedby', [...described, tip.id].join(' '));
301
301
  }
302
- this.#wired = { trigger, tip };
303
- this.#complain(trigger);
302
+ // The sentence crosses to the trigger as a **copy**, so unlike the IDREF beside it
303
+ // it goes stale the moment the host touches the original — and `slotchange` fires
304
+ // when the tip element is *replaced* and for **neither** in-place edit, measured:
305
+ // not text rewritten through `textContent`, not a node appended to it. The three
306
+ // options are one decision: an edit can land on a descendant as readily as on the
307
+ // tip itself.
308
+ //
309
+ // It rides in the wiring rather than beside it so there is one thing to be absent
310
+ // rather than two — and the pair is what it speaks for, so a disconnected observer
311
+ // and a cleared pair cannot come apart. One per tooltip, over this element's own
312
+ // slotted child: the bridge this proposal rejected owed one observer **per
313
+ // control**, over a node each control had to resolve an id in first. RFC 0006
314
+ const observer = new MutationObserver(() => {
315
+ this.#hand(wiring);
316
+ });
317
+ const wiring = { trigger, tip, observer };
318
+ observer.observe(tip, { characterData: true, childList: true, subtree: true });
319
+ this.#wired = wiring;
320
+ this.#offer(wiring);
304
321
  };
322
+ /**
323
+ * Hands the sentence over, once the trigger is in a state where refusal means refusal.
324
+ *
325
+ * A dispatch at an element whose definition has not arrived is heard by nobody and
326
+ * comes back **uncancelled** — which is exactly what a trigger that accepts no text
327
+ * returns. The two are indistinguishable, so warning on that answer would warn at an
328
+ * element that would have accepted. Measured, and measured again for the recovery:
329
+ * the upgrade fires no `slotchange`, no hook and no event at all, so this promise is
330
+ * the only signal there is and waiting on it is a requirement rather than a
331
+ * refinement. RFC 0006
332
+ *
333
+ * **The hyphen test is load-bearing rather than a shortcut**: `whenDefined` throws on
334
+ * a name that could never be a custom element, so `<button>` has to be answered
335
+ * before the registry is asked about it.
336
+ */
337
+ #offer(wiring) {
338
+ const name = wiring.trigger.localName;
339
+ if (name.includes('-') && customElements.get(name) === undefined) {
340
+ void customElements.whenDefined(name).then(() => {
341
+ // The wiring can have moved on while the definition was travelling, and
342
+ // this element only ever speaks for the one it is holding now.
343
+ if (this.#wired === wiring) {
344
+ this.#hand(wiring);
345
+ }
346
+ });
347
+ return;
348
+ }
349
+ this.#hand(wiring);
350
+ }
351
+ /**
352
+ * The dispatch itself, carrying whatever the tip says right now.
353
+ *
354
+ * **The most recent dispatch wins and a trigger never accumulates**: a tooltip has one
355
+ * tip, so this is a value being written rather than an item being added — and
356
+ * accumulation would owe a withdrawal per sentence, which this element has nothing to
357
+ * identify one by.
358
+ *
359
+ * **The advertisement is the return value.** A control that takes the text calls
360
+ * `preventDefault()`, so `dispatchEvent` comes back `false` exactly when someone
361
+ * accepted — which is why the warning below needs no roster of elements, and this
362
+ * proposal already recorded that a roster ages exactly like the sentence it replaced.
363
+ */
364
+ #hand(wiring) {
365
+ // The markup around the sentence is not the sentence: a tip written across lines
366
+ // carries its indentation into `textContent`, and what the trigger renders is
367
+ // announced rather than laid out.
368
+ if (!this.#say(wiring.trigger, wiring.tip.textContent.trim())) {
369
+ this.#complain(wiring.trigger);
370
+ }
371
+ }
372
+ /**
373
+ * The dispatch, which is the entire protocol.
374
+ *
375
+ * **One site for both directions**, the sentence and its withdrawal, and that is not
376
+ * only tidiness: the flags are the contract, and written twice only one copy would be
377
+ * read back. `cancelable` is what lets a control answer at all — without it
378
+ * `preventDefault()` does nothing and every trigger reads as refusing — so it belongs
379
+ * where the answer is consumed rather than beside a call that ignores it.
380
+ *
381
+ * @returns whether a control took it, which is the whole of the advertisement: the
382
+ * acknowledgement is `preventDefault()`, so no roster of elements is needed — and
383
+ * this proposal already recorded that a roster ages exactly like the sentence it
384
+ * replaced. RFC 0006
385
+ */
386
+ #say(trigger, sentence) {
387
+ return !trigger.dispatchEvent(new CustomEvent('ui-describe', { detail: sentence, cancelable: true }));
388
+ }
305
389
  /**
306
390
  * Takes back the one id this element wrote, and leaves every other one alone.
307
391
  *
@@ -316,6 +400,17 @@ export class UiTooltip extends LitElement {
316
400
  return;
317
401
  }
318
402
  this.#wired = undefined;
403
+ wired.observer.disconnect();
404
+ // The withdrawal, on the same event rather than a second name: `detail` is a
405
+ // string whose empty value means *absent*, which is the shape `help` and `error`
406
+ // already have everywhere else in this package. Without it a control keeps
407
+ // pointing at text describing a tip the reader can no longer summon, which is
408
+ // worse than never having had it because it reads as current.
409
+ //
410
+ // The answer is not read here, and that is deliberate: a trigger that refuses to
411
+ // let go is not a trigger the description failed to reach, so {@link
412
+ // UiTooltip.#complain} has nothing to say about it. RFC 0006
413
+ this.#say(wired.trigger, '');
319
414
  const remaining = describing(wired.trigger).filter((id) => id !== wired.tip.id);
320
415
  if (remaining.length === 0) {
321
416
  wired.trigger.removeAttribute('aria-describedby');
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.js","sourceRoot":"","sources":["../src/tooltip.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tooltip.js","sourceRoot":"","sources":["../src/tooltip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAuB,MAAM,KAAK,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,+DAA+D;AAC/D,IAAI,QAAQ,GAAG,CAAC,CAAC;AAEjB,iFAAiF;AACjF,MAAM,IAAI,GAAG,WAAW,CAAC;AAEzB;;;;;GAKG;AACH,MAAM,SAAS,GAAG,sDAAsD,CAAC;AAwBzE,SAAS,UAAU,CAAC,OAAoB;IACpC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AACjG,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,MAAM,OAAO,SAAU,SAAQ,UAAU;aACZ,WAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;oCAoBL,SAAS,CAAC,YAAY,CAAC;4BAC/B,SAAS,CAAC,YAAY,CAAC,SAAS,SAAS,CAAC,YAAY,CAAC;2BACxD,SAAS,CAAC,WAAW,CAAC;yBACxB,SAAS,CAAC,sBAAsB,CAAC;;;;qBAIrC,SAAS,CAAC,iBAAiB,CAAC;0BACvB,SAAS,CAAC,oBAAoB,CAAC;gCACzB,SAAS,CAAC,mBAAmB,CAAC;6BACjC,SAAS,CAAC,aAAa,CAAC;0BAC3B,SAAS,CAAC,uBAAuB,CAAC;;;;;;;;;;;;;gCAa5B,SAAS,CAAC,YAAY,CAAC;;;;gCAIvB,SAAS,CAAC,YAAY,CAAC;;KAElD,CAAC;IAEF,iFAAiF;IACjF,MAAM,GAAG,KAAK,CAAC;IAEf;;;;;;;;OAQG;IACH,MAAM,CAAqB;IAE3B;;;;;;;;OAQG;IACH,UAAU,GAAG,KAAK,CAAC;IAEnB;;;;;;;;;;OAUG;IACH,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;IAElC,gFAAgF;IACvE,OAAO,GAAG,GAAS,EAAE;QAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC,CAAC;IAEF;;;;;;;;;;;;;;;;;;;;OAoBG;IACM,QAAQ,GAAG,CAAC,KAAoB,EAAQ,EAAE;QAC/C,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YACzB,OAAO;QACX,CAAC;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC,CAAC;IAEF;;;;;;;;;OASG;IACH,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IAE1B,iBAAiB;QACtB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAE1B,8EAA8E;QAC9E,oDAAoD;QACpD,IAAI,CAAC,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QAExC,mFAAmF;QACnF,iFAAiF;QACjF,kFAAkF;QAClF,mFAAmF;QACnF,mFAAmF;QACnF,0BAA0B;QAC1B,MAAM,OAAO,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QAEnD,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAChE,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9D,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAE1D,mFAAmF;QACnF,iFAAiF;QACjF,iFAAiF;QACjF,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAEQ,oBAAoB;QACzB,kFAAkF;QAClF,kFAAkF;QAClF,8BAA8B;QAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAExB,gFAAgF;QAChF,mFAAmF;QACnF,6DAA6D;QAC7D,IAAI,CAAC,OAAO,EAAE,CAAC;QAEf,KAAK,CAAC,oBAAoB,EAAE,CAAC;IACjC,CAAC;IAEQ,MAAM;QACX,OAAO,IAAI,CAAA;gCACa,IAAI,CAAC,UAAU;2CACJ,IAAI,CAAC,UAAU;SACjD,CAAC;IACN,CAAC;IAED,gFAAgF;IAChF,QAAQ;QACJ,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;QAE1D,OAAO,KAAK,YAAY,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5D,CAAC;IAED,+EAA+E;IAC/E,IAAI;QACA,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;QAE1D,OAAO,KAAK,YAAY,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5D,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACM,UAAU,GAAG,GAAS,EAAE;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAE1B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;YACxE,OAAO;QACX,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;QAEf,IAAI,OAAO,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC7C,OAAO;QACX,CAAC;QAED,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;YAChB,8EAA8E;YAC9E,wEAAwE;YACxE,wEAAwE;YACxE,GAAG,CAAC,EAAE,GAAG,cAAc,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;QAChD,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACxC,CAAC;QAED,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAEtC,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;QAEtC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC,GAAG,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/E,CAAC;QAED,mFAAmF;QACnF,kFAAkF;QAClF,kFAAkF;QAClF,iFAAiF;QACjF,kFAAkF;QAClF,cAAc;QACd,EAAE;QACF,kFAAkF;QAClF,mFAAmF;QACnF,iFAAiF;QACjF,2EAA2E;QAC3E,8EAA8E;QAC9E,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,GAAS,EAAE;YAC7C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAW,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;QAElD,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAE/E,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC,CAAC;IAEF;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,MAAc;QACjB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;QAEtC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YAC/D,KAAK,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAS,EAAE;gBAClD,wEAAwE;gBACxE,+DAA+D;gBAC/D,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBACzB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACvB,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,OAAO;QACX,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,MAAc;QAChB,iFAAiF;QACjF,8EAA8E;QAC9E,kCAAkC;QAClC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YAC5D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,OAAoB,EAAE,QAAgB;QACvC,OAAO,CAAC,OAAO,CAAC,aAAa,CACzB,IAAI,WAAW,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CACzE,CAAC;IACN,CAAC;IAED;;;;;;;OAOG;IACH,OAAO;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAE1B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO;QACX,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QAE5B,6EAA6E;QAC7E,iFAAiF;QACjF,2EAA2E;QAC3E,8EAA8E;QAC9E,8DAA8D;QAC9D,EAAE;QACF,iFAAiF;QACjF,qEAAqE;QACrE,6DAA6D;QAC7D,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAE7B,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;YAElD,OAAO;QACX,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,kBAAkB,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACxE,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,OAAoB;QAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;QAEpE,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAClB,OAAO;QACX,CAAC;QAED,OAAO,CAAC,IAAI,CACR,2BAA2B,OAAO,CAAC,SAAS,kCAAkC;YAC1E,0EAA0E;YAC1E,8EAA8E;YAC9E,0EAA0E,CACjF,CAAC;IACN,CAAC;IAED;;;;;;OAMG;IACM,UAAU,GAAG,CAAC,KAAmB,EAAQ,EAAE;QAChD,IAAI,KAAK,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;IACL,CAAC,CAAC;IAEO,QAAQ,GAAG,GAAS,EAAE;QAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC,CAAC;IAEF;;;;;;;;;;;;OAYG;IACM,QAAQ,GAAG,CAAC,KAAgC,EAAQ,EAAE;QAC3D,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;YACnC,OAAO;QACX,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC,CAAC;IAEF,iFAAiF;IACjF,MAAM,CAAC,IAAwB;QAC3B,OAAO,IAAI,YAAY,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,uEAAuE;IACvE,KAAK;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAExB,IAAI,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACtD,OAAO;QACX,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,GAAG,CAAC,WAAW,EAAE,CAAC;QAClB,IAAI,CAAC,MAAM,EAAE,CAAC;QAEd,IAAI,CAAC,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;QAEvC,6EAA6E;QAC7E,6EAA6E;QAC7E,mFAAmF;QACnF,qDAAqD;QACrD,MAAM,OAAO,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QAElD,kFAAkF;QAClF,0EAA0E;QAC1E,EAAE;QACF,oFAAoF;QACpF,mFAAmF;QACnF,mFAAmF;QACnF,qCAAqC;QACrC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;QAC/E,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACzD,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAED,yCAAyC;IACzC,KAAK;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACf,OAAO;QACX,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC;QAE3B,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAExB,IAAI,OAAO,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC7C,OAAO;QACX,CAAC;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC;QACtC,MAAM,SAAS,GAAG,KAAK,CACnB,OAAO,CAAC,qBAAqB,EAAE,EAC/B,GAAG,CAAC,qBAAqB,EAAE,EAC3B,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,EACtD,aAAa,EACb,QAAQ,CACX,CAAC;QAEF,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QACvC,GAAG,CAAC,KAAK,CAAC,eAAe,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;QAChE,GAAG,CAAC,KAAK,CAAC,gBAAgB,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC;IACtE,CAAC;;AAGL,yFAAyF;AACzF,yFAAyF;AACzF,yFAAyF;AACzF,oEAAoE;AACpE,cAAc,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rak200/ui",
3
- "version": "0.6.3",
3
+ "version": "0.6.4",
4
4
  "description": "Host-agnostic custom-element UI components for the rak200 ecosystem",
5
5
  "license": "MIT",
6
6
  "author": "rak200 <rak.ricardo@windowslive.com>",