@rak200/ui 0.6.4 → 0.6.6
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 +0 -1
- package/dist/button.d.ts.map +1 -1
- package/dist/button.js +44 -101
- package/dist/button.js.map +1 -1
- package/dist/checkbox.d.ts.map +1 -1
- package/dist/checkbox.js +39 -1
- package/dist/checkbox.js.map +1 -1
- package/dist/description.d.ts +76 -0
- package/dist/description.d.ts.map +1 -0
- package/dist/description.js +163 -0
- package/dist/description.js.map +1 -0
- package/dist/menu.d.ts.map +1 -1
- package/dist/menu.js +42 -1
- package/dist/menu.js.map +1 -1
- package/package.json +1 -1
package/dist/button.d.ts
CHANGED
package/dist/button.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../src/button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,
|
|
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;AAIjE,+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;IAkBR,MAAM,IAAI,cAAc;CAapC;AAQD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,WAAW,EAAE,QAAQ,CAAC;KACzB;CACJ"}
|
package/dist/button.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { LitElement, css, html
|
|
1
|
+
import { LitElement, css, html } from 'lit';
|
|
2
|
+
import { Description } from './description.js';
|
|
2
3
|
import { reference } from './reference.js';
|
|
3
4
|
/**
|
|
4
5
|
* A button.
|
|
@@ -14,6 +15,36 @@ import { reference } from './reference.js';
|
|
|
14
15
|
* ```
|
|
15
16
|
*/
|
|
16
17
|
export class UiButton extends LitElement {
|
|
18
|
+
constructor() {
|
|
19
|
+
super(...arguments);
|
|
20
|
+
/**
|
|
21
|
+
* How much visual weight the button carries.
|
|
22
|
+
*
|
|
23
|
+
* A plain field, not the `accessor` keyword: `accessor` is an auto-accessor, the
|
|
24
|
+
* browser the suite runs in does not implement it, and the transform leaves it in
|
|
25
|
+
* place — the module then fails to parse. The classic Lit pattern, a `static
|
|
26
|
+
* properties` map beside plain fields with `useDefineForClassFields: false`, needs
|
|
27
|
+
* neither the keyword nor decorators.
|
|
28
|
+
*/
|
|
29
|
+
this.variant = 'primary';
|
|
30
|
+
/** Whether the button rejects interaction. Reflected, so CSS can select on it. */
|
|
31
|
+
this.disabled = false;
|
|
32
|
+
/**
|
|
33
|
+
* The sentence a `<ui-tooltip>` handed over, and the node its `<button>` points at.
|
|
34
|
+
*
|
|
35
|
+
* **Built in the field initialiser**, which runs inside the constructor: the tooltip
|
|
36
|
+
* waits on `customElements.whenDefined` before it hands anything over and that
|
|
37
|
+
* resolves after the constructor, so this is in time where a listener added on first
|
|
38
|
+
* render would not be.
|
|
39
|
+
*
|
|
40
|
+
* Private, because a writable `description` is the option RFC 0006 rejected twice
|
|
41
|
+
* over: it makes the host write a sentence the tooltip is already holding, and a
|
|
42
|
+
* property written before an element upgrades shadows its accessor permanently on
|
|
43
|
+
* anything not built on Lit. What is public here is the event, which reports whether
|
|
44
|
+
* anyone took it.
|
|
45
|
+
*/
|
|
46
|
+
this.#description = new Description(this);
|
|
47
|
+
}
|
|
17
48
|
static { this.styles = css `
|
|
18
49
|
:host {
|
|
19
50
|
display: inline-block;
|
|
@@ -91,125 +122,37 @@ export class UiButton extends LitElement {
|
|
|
91
122
|
background: ${reference('--ui-color-pressed')};
|
|
92
123
|
transition-duration: 0s;
|
|
93
124
|
}
|
|
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
|
-
}
|
|
119
125
|
`; }
|
|
120
126
|
static { this.properties = {
|
|
121
127
|
variant: { type: String, reflect: true },
|
|
122
128
|
disabled: { type: Boolean, reflect: true },
|
|
123
129
|
}; }
|
|
124
130
|
/**
|
|
125
|
-
* The sentence a `<ui-tooltip>` handed over,
|
|
131
|
+
* The sentence a `<ui-tooltip>` handed over, and the node its `<button>` points at.
|
|
132
|
+
*
|
|
133
|
+
* **Built in the field initialiser**, which runs inside the constructor: the tooltip
|
|
134
|
+
* waits on `customElements.whenDefined` before it hands anything over and that
|
|
135
|
+
* resolves after the constructor, so this is in time where a listener added on first
|
|
136
|
+
* render would not be.
|
|
126
137
|
*
|
|
127
|
-
*
|
|
128
|
-
*
|
|
129
|
-
*
|
|
130
|
-
*
|
|
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
|
|
138
|
+
* Private, because a writable `description` is the option RFC 0006 rejected twice
|
|
139
|
+
* over: it makes the host write a sentence the tooltip is already holding, and a
|
|
140
|
+
* property written before an element upgrades shadows its accessor permanently on
|
|
141
|
+
* anything not built on Lit. What is public here is the event, which reports whether
|
|
133
142
|
* anyone took it.
|
|
134
143
|
*/
|
|
135
144
|
#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;
|
|
200
145
|
render() {
|
|
201
146
|
return html `
|
|
202
147
|
<button
|
|
203
148
|
class=${this.variant}
|
|
204
149
|
?disabled=${this.disabled}
|
|
205
|
-
aria-describedby=${this.#description
|
|
150
|
+
aria-describedby=${this.#description.described()}
|
|
206
151
|
part="button"
|
|
207
152
|
>
|
|
208
153
|
<slot></slot>
|
|
209
154
|
</button>
|
|
210
|
-
${this.#description
|
|
211
|
-
? nothing
|
|
212
|
-
: html `<span id="description">${this.#description}</span>`}
|
|
155
|
+
${this.#description.carrier()}
|
|
213
156
|
`;
|
|
214
157
|
}
|
|
215
158
|
}
|
package/dist/button.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.js","sourceRoot":"","sources":["../src/button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,
|
|
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,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,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;QAEjB;;;;;;;;;;;;;WAaG;QACM,iBAAY,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;IAelD,CAAC;aA/H4B,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;IAgBF;;;;;;;;;;;;;OAaG;IACM,YAAY,CAAyB;IAErC,MAAM;QACX,OAAO,IAAI,CAAA;;wBAEK,IAAI,CAAC,OAAO;4BACR,IAAI,CAAC,QAAQ;mCACN,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE;;;;;cAKlD,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;SAChC,CAAC;IACN,CAAC;;AAGL,kFAAkF;AAClF,wFAAwF;AACxF,yFAAyF;AACzF,4EAA4E;AAC5E,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC"}
|
package/dist/checkbox.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../src/checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,KAAK,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../src/checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,KAAK,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAqL1F;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,cAAM,QAAS,SAAQ,UAAU;;IAC7B,MAAM,CAAC,QAAQ,CAAC,cAAc,QAAQ;IAEtC;;;;;;;OAOG;IACH,gBAAyB,iBAAiB;;;;;;;MAGxC;IAEF,gBAAyB,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAQjC;IAEF;;;;;OAKG;IACH,KAAK,SAAM;IAEX;;;;;;;OAOG;IACH,IAAI,SAAM;IAEV,iFAAiF;IACjF,KAAK,SAAQ;IAEb;;;;;;;;;;OAUG;IACH,OAAO,UAAS;IAEhB,qFAAqF;IACrF,QAAQ,UAAS;IAEjB,gFAAgF;IAChF,QAAQ,UAAS;IAEjB,sFAAsF;IACtF,KAAK,SAAM;IAgDX;;;;OAIG;IACM,OAAO,IAAI,IAAI;IAKxB;;;;;;;;;;;;;;;OAeG;IACH,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,GAAG,IAAI;IAQlD;;;;;;;OAOG;IACH,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAM;IAE5C;;;;;;;;;;OAUG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,GAAI,OAAO,KAAK,KAAG,IAAI,CAG/C;IAEF;;;;;;OAMG;IACH,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAI/C;;;;;;OAMG;IACH,iBAAiB,IAAI,IAAI;IAIzB,sFAAsF;IACtF,oBAAoB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAI7C,iFAAiF;IACjF,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAIpD,uEAAuE;IACvE,IAAI,IAAI,IAAI,eAAe,GAAG,IAAI,CAEjC;IAED,+DAA+D;IAC/D,IAAI,QAAQ,IAAI,aAAa,CAE5B;IAED,gFAAgF;IAChF,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAEQ,MAAM,IAAI,cAAc;IAIjC;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc;CAyBrD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,UAAW,SAAQ,QAAQ;IACpC,gBAAyB,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAGjC;IAEF;;;;;;OAMG;IACH,aAAa,UAAS;IAEtB,gBAAyB,MAAM,EAAE,SAAS,EAAE,CA6C1C;IAEO,MAAM,IAAI,cAAc;IAIxB,OAAO,IAAI,IAAI;IAKxB;;;;OAIG;cACgB,IAAI,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;CAI3D;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,QAAS,SAAQ,QAAQ;IAClC,gBAAyB,MAAM,EAAE,SAAS,EAAE,CAuC1C;IAEF,mBAA4B,WAAW,EAAE,MAAM,CAAY;CAC9D;AAWD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,aAAa,EAAE,UAAU,CAAC;QAC1B,WAAW,EAAE,QAAQ,CAAC;KACzB;CACJ"}
|
package/dist/checkbox.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { LitElement, css, html, nothing } from 'lit';
|
|
2
2
|
import { reference } from './reference.js';
|
|
3
|
+
import { Description } from './description.js';
|
|
3
4
|
/**
|
|
4
5
|
* The size both controls are drawn at, and a floor rather than a preference.
|
|
5
6
|
*
|
|
@@ -235,6 +236,16 @@ class UiToggle extends LitElement {
|
|
|
235
236
|
/** The error message, which paints the boundary and is announced with the control. */
|
|
236
237
|
this.error = '';
|
|
237
238
|
this.#internals = this.attachInternals();
|
|
239
|
+
/**
|
|
240
|
+
* The sentence a `<ui-tooltip>` hands over, which this element renders into its own
|
|
241
|
+
* root — an IDREF written out there reaches nothing in here.
|
|
242
|
+
*
|
|
243
|
+
* Built in the field initialiser, which runs in the constructor: the tooltip waits on
|
|
244
|
+
* `customElements.whenDefined` before handing anything over, and that resolves after
|
|
245
|
+
* the constructor has run. `src/description.ts` carries the rest, and `src/button.ts`
|
|
246
|
+
* says why there is no public `description` property to write instead.
|
|
247
|
+
*/
|
|
248
|
+
this.#description = new Description(this);
|
|
238
249
|
/**
|
|
239
250
|
* What the inner control announces itself as, where the platform needs telling.
|
|
240
251
|
*
|
|
@@ -283,6 +294,32 @@ class UiToggle extends LitElement {
|
|
|
283
294
|
error: { type: String, reflect: true },
|
|
284
295
|
}; }
|
|
285
296
|
#internals;
|
|
297
|
+
/**
|
|
298
|
+
* The sentence a `<ui-tooltip>` hands over, which this element renders into its own
|
|
299
|
+
* root — an IDREF written out there reaches nothing in here.
|
|
300
|
+
*
|
|
301
|
+
* Built in the field initialiser, which runs in the constructor: the tooltip waits on
|
|
302
|
+
* `customElements.whenDefined` before handing anything over, and that resolves after
|
|
303
|
+
* the constructor has run. `src/description.ts` carries the rest, and `src/button.ts`
|
|
304
|
+
* says why there is no public `description` property to write instead.
|
|
305
|
+
*/
|
|
306
|
+
#description;
|
|
307
|
+
/**
|
|
308
|
+
* The ids describing the control, in the order a reader needs them.
|
|
309
|
+
*
|
|
310
|
+
* **This pair had the attribute and no composer**, which RFC 0006 named before the
|
|
311
|
+
* rollout started as the one step that is not *add an id*: `error` was written
|
|
312
|
+
* straight into `aria-describedby`, so a second description had nowhere to go that did
|
|
313
|
+
* not overwrite the first. The order — the error that sent the reader looking, then
|
|
314
|
+
* the supplementary sentence — is `src/description.ts`'s to decide rather than this
|
|
315
|
+
* file's, so the elements still to come replace the composer they already have with a
|
|
316
|
+
* call to that one instead of each restating where the handed id goes.
|
|
317
|
+
*
|
|
318
|
+
* There is no `help` here, which is why nothing ever had to compose.
|
|
319
|
+
*/
|
|
320
|
+
#described() {
|
|
321
|
+
return this.#description.described(this.error === '' ? '' : 'error');
|
|
322
|
+
}
|
|
286
323
|
/** The form value and the validity, which move together here or disagree anywhere. */
|
|
287
324
|
#publish() {
|
|
288
325
|
this.#internals.setFormValue(this.checked ? this.value : null);
|
|
@@ -397,7 +434,7 @@ class UiToggle extends LitElement {
|
|
|
397
434
|
?disabled=${this.disabled}
|
|
398
435
|
?required=${this.required}
|
|
399
436
|
aria-invalid=${this.error === '' ? nothing : 'true'}
|
|
400
|
-
aria-describedby=${this
|
|
437
|
+
aria-describedby=${this.#described()}
|
|
401
438
|
@change=${this.changed}
|
|
402
439
|
/>
|
|
403
440
|
<span part="text"><slot name="label">${this.label}</slot></span>
|
|
@@ -405,6 +442,7 @@ class UiToggle extends LitElement {
|
|
|
405
442
|
${this.error === ''
|
|
406
443
|
? nothing
|
|
407
444
|
: html `<span class="error" id="error" part="error">${this.error}</span>`}
|
|
445
|
+
${this.#description.carrier()}
|
|
408
446
|
`;
|
|
409
447
|
}
|
|
410
448
|
}
|
package/dist/checkbox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../src/checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAuC,MAAM,KAAK,CAAC;AAC1F,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../src/checkbox.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The sentence a `<ui-tooltip>` hands over, and the node a control points at.
|
|
3
|
+
*
|
|
4
|
+
* **An `aria-describedby` written in the host's tree cannot name anything inside a
|
|
5
|
+
* control's shadow root** — one IDREF, one tree scope — which is the failure #156 measured
|
|
6
|
+
* across most of this package. RFC 0006 answered it by moving the *text* rather than the
|
|
7
|
+
* reference: the tooltip dispatches it at the trigger, and a control that accepts it
|
|
8
|
+
* renders it into its own root where its own `aria-describedby` reaches.
|
|
9
|
+
*
|
|
10
|
+
* **This module exists because `<ui-menu>` is the second element to need it**, which is
|
|
11
|
+
* the same moment and the same reason `src/placement.ts` was extracted: two answers to one
|
|
12
|
+
* problem is one too many. Six classes carry the protocol when the rollout is done, and a
|
|
13
|
+
* copy in each is six chances for one of them to drift into accepting text it never
|
|
14
|
+
* renders.
|
|
15
|
+
*
|
|
16
|
+
* **What it does not own is the rendering.** `<ui-button>` draws its control from a
|
|
17
|
+
* template and `<ui-menu>` builds one imperatively, so each points its own control at
|
|
18
|
+
* {@link Description.described} and places {@link Description.carrier} where that control
|
|
19
|
+
* can resolve it. What is shared is the part that is identical wherever it goes: the
|
|
20
|
+
* listener, the sentence, and the rule that an empty one is no description at all.
|
|
21
|
+
*
|
|
22
|
+
* Internal — it is not re-exported from `src/index.ts`, because what a consumer writes is
|
|
23
|
+
* the tip, never this.
|
|
24
|
+
*/
|
|
25
|
+
import { nothing, type TemplateResult } from 'lit';
|
|
26
|
+
/** The host's half of the contract: enough of `LitElement` to take the text and redraw. */
|
|
27
|
+
interface Described extends HTMLElement {
|
|
28
|
+
requestUpdate: () => void;
|
|
29
|
+
}
|
|
30
|
+
export declare class Description {
|
|
31
|
+
#private;
|
|
32
|
+
/**
|
|
33
|
+
* Listens from the constructor, which is where the host must build it.
|
|
34
|
+
*
|
|
35
|
+
* The tooltip waits on `customElements.whenDefined` before it hands anything over, and
|
|
36
|
+
* that resolves *after* the constructor has run — so a listener added on connection
|
|
37
|
+
* would still be in time, and one added on first render would not. The constructor is
|
|
38
|
+
* the earliest of the three and the only one with nothing to reason about.
|
|
39
|
+
*/
|
|
40
|
+
constructor(host: Described);
|
|
41
|
+
/**
|
|
42
|
+
* The whole `aria-describedby` a control writes, with the handed sentence **last**.
|
|
43
|
+
*
|
|
44
|
+
* A caller passes the ids it composes already — `error`, `help` — and gets back the
|
|
45
|
+
* attribute's value, or `nothing` when there is nothing to describe: an empty
|
|
46
|
+
* `aria-describedby` is not the same shape as an absent one, which `src/input.ts`
|
|
47
|
+
* measured from the other side. An empty id is dropped, which is how a caller says
|
|
48
|
+
* *that one is not rendered*.
|
|
49
|
+
*
|
|
50
|
+
* **The composition is here rather than at each call site so the order is decided
|
|
51
|
+
* once.** RFC 0006 put the handed sentence after `error` and `help`: it is
|
|
52
|
+
* supplementary by construction, where an error is what sent the reader looking and
|
|
53
|
+
* help was already in flow. Six classes will carry this, and *put it last* is not a
|
|
54
|
+
* rule six of them should each be remembering — the failure that shape invites is
|
|
55
|
+
* writing the sentence **into** the attribute rather than into the list, at which
|
|
56
|
+
* point the instruction and the error overwrite each other.
|
|
57
|
+
*
|
|
58
|
+
* @param before - The ids announced ahead of it, in the order a reader needs them.
|
|
59
|
+
*/
|
|
60
|
+
described(...before: string[]): string | typeof nothing;
|
|
61
|
+
/**
|
|
62
|
+
* Points a control built by hand at the carrier, or stops pointing it.
|
|
63
|
+
*
|
|
64
|
+
* The imperative half of {@link Description.described}, and both exist because the
|
|
65
|
+
* controls do: `<ui-button>` draws its `<button>` from a template and `<ui-menu>`
|
|
66
|
+
* builds one with `document.createElement`, so the same rule has to be expressible
|
|
67
|
+
* twice. It lives here rather than at each call site so *empty means absent* is
|
|
68
|
+
* decided once — an `aria-describedby=""` is a different shape from no attribute, and
|
|
69
|
+
* a control that wrote one would be describing nothing rather than nothing at all.
|
|
70
|
+
*/
|
|
71
|
+
point(control: Element): void;
|
|
72
|
+
/** The node that reference resolves to, rendered into the control's own root. */
|
|
73
|
+
carrier(): TemplateResult | typeof nothing;
|
|
74
|
+
}
|
|
75
|
+
export {};
|
|
76
|
+
//# sourceMappingURL=description.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"description.d.ts","sourceRoot":"","sources":["../src/description.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAQ,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAEzD,2FAA2F;AAC3F,UAAU,SAAU,SAAQ,WAAW;IACnC,aAAa,EAAE,MAAM,IAAI,CAAC;CAC7B;AAyDD,qBAAa,WAAW;;IAKpB;;;;;;;OAOG;gBACS,IAAI,EAAE,SAAS;IA8B3B;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAS,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,OAAO,OAAO;IAMvD;;;;;;;;;OASG;IACH,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAY7B,iFAAiF;IACjF,OAAO,IAAI,cAAc,GAAG,OAAO,OAAO;CAK7C"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The sentence a `<ui-tooltip>` hands over, and the node a control points at.
|
|
3
|
+
*
|
|
4
|
+
* **An `aria-describedby` written in the host's tree cannot name anything inside a
|
|
5
|
+
* control's shadow root** — one IDREF, one tree scope — which is the failure #156 measured
|
|
6
|
+
* across most of this package. RFC 0006 answered it by moving the *text* rather than the
|
|
7
|
+
* reference: the tooltip dispatches it at the trigger, and a control that accepts it
|
|
8
|
+
* renders it into its own root where its own `aria-describedby` reaches.
|
|
9
|
+
*
|
|
10
|
+
* **This module exists because `<ui-menu>` is the second element to need it**, which is
|
|
11
|
+
* the same moment and the same reason `src/placement.ts` was extracted: two answers to one
|
|
12
|
+
* problem is one too many. Six classes carry the protocol when the rollout is done, and a
|
|
13
|
+
* copy in each is six chances for one of them to drift into accepting text it never
|
|
14
|
+
* renders.
|
|
15
|
+
*
|
|
16
|
+
* **What it does not own is the rendering.** `<ui-button>` draws its control from a
|
|
17
|
+
* template and `<ui-menu>` builds one imperatively, so each points its own control at
|
|
18
|
+
* {@link Description.described} and places {@link Description.carrier} where that control
|
|
19
|
+
* can resolve it. What is shared is the part that is identical wherever it goes: the
|
|
20
|
+
* listener, the sentence, and the rule that an empty one is no description at all.
|
|
21
|
+
*
|
|
22
|
+
* Internal — it is not re-exported from `src/index.ts`, because what a consumer writes is
|
|
23
|
+
* the tip, never this.
|
|
24
|
+
*/
|
|
25
|
+
import { html, nothing } from 'lit';
|
|
26
|
+
/**
|
|
27
|
+
* The id the carrier takes, fixed per root the way `help` and `error` already are.
|
|
28
|
+
*
|
|
29
|
+
* **The carrier deliberately carries no `part`.** `help` and `error` expose one because a
|
|
30
|
+
* host is meant to style them; this node exists to be read and not seen, and a part on it
|
|
31
|
+
* is an invitation to unclip it — which would put the sentence on screen twice, beside the
|
|
32
|
+
* tip already showing it.
|
|
33
|
+
*/
|
|
34
|
+
const id = 'description';
|
|
35
|
+
/**
|
|
36
|
+
* Keeps the carrier out of the paint without taking it out of the tree, **inline**.
|
|
37
|
+
*
|
|
38
|
+
* The sentence is already on screen — in the tip, which is the whole point of the
|
|
39
|
+
* handoff — so drawing it again would show it twice.
|
|
40
|
+
*
|
|
41
|
+
* It is written on the node rather than adopted from a stylesheet because a stylesheet is
|
|
42
|
+
* a thing each of the six components has to remember, and the day one forgets, the
|
|
43
|
+
* sentence renders **visibly** beside the tip that already carries it. Measured, on the
|
|
44
|
+
* first host that consumed this module without adopting the rule: 363px of text nobody
|
|
45
|
+
* asked to see. There is no token in any of these values and nothing here for a host to
|
|
46
|
+
* retune, so travelling with the node costs the rule nothing.
|
|
47
|
+
*
|
|
48
|
+
* **Four declarations, and the well-known recipe has eight.** The other four survived the
|
|
49
|
+
* mutation floor, which is how they were found to be doing nothing here:
|
|
50
|
+
*
|
|
51
|
+
* - `margin: -1px` keeps a 1px box from disturbing the layout, and `position: absolute`
|
|
52
|
+
* already took it out of the flow.
|
|
53
|
+
* - `padding: 0` resets an inherited padding. A `<span>` has none, and nothing in these
|
|
54
|
+
* components styles this id.
|
|
55
|
+
* - `overflow: hidden` clips the content to the box, which `clip-path` then clips to
|
|
56
|
+
* nothing — so it removes a sliver that is already gone.
|
|
57
|
+
* - `white-space: nowrap` is carried for a claim about how a screen reader reads wrapped
|
|
58
|
+
* text, and no instrument in this toolchain can read an accessibility tree. By the rule
|
|
59
|
+
* `docs/select.md` applies to `appearance: base-select`, that is not adopted here.
|
|
60
|
+
*
|
|
61
|
+
* Each of the four that stay does something no other one does, and the suite says which:
|
|
62
|
+
* out of flow, one column wide, one row tall, and painted nowhere.
|
|
63
|
+
*
|
|
64
|
+
* display:none would be the shorter way and it is the one this package will not take. The
|
|
65
|
+
* accessible description of a hidden element that is DIRECTLY referenced is computed
|
|
66
|
+
* anyway, by specification; whether every engine does it is the same unverifiable claim,
|
|
67
|
+
* and the clip has nothing left to disagree about: in the tree in every engine, and
|
|
68
|
+
* painted in none.
|
|
69
|
+
*
|
|
70
|
+
* No offsets with the absolute, deliberately: an out-of-flow box with none stays at its
|
|
71
|
+
* static position, so it neither travels nor grows the scrollable area.
|
|
72
|
+
*/
|
|
73
|
+
const clipped = [
|
|
74
|
+
'position:absolute',
|
|
75
|
+
'inline-size:1px',
|
|
76
|
+
'block-size:1px',
|
|
77
|
+
'clip-path:inset(50%)',
|
|
78
|
+
].join(';');
|
|
79
|
+
export class Description {
|
|
80
|
+
#sentence = '';
|
|
81
|
+
#host;
|
|
82
|
+
/**
|
|
83
|
+
* Listens from the constructor, which is where the host must build it.
|
|
84
|
+
*
|
|
85
|
+
* The tooltip waits on `customElements.whenDefined` before it hands anything over, and
|
|
86
|
+
* that resolves *after* the constructor has run — so a listener added on connection
|
|
87
|
+
* would still be in time, and one added on first render would not. The constructor is
|
|
88
|
+
* the earliest of the three and the only one with nothing to reason about.
|
|
89
|
+
*/
|
|
90
|
+
constructor(host) {
|
|
91
|
+
this.#host = host;
|
|
92
|
+
host.addEventListener('ui-describe', this.#take);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Takes the sentence, and leaves anything else unclaimed.
|
|
96
|
+
*
|
|
97
|
+
* The payload is tested and the event's class is not, which is narrower than it looks:
|
|
98
|
+
* a plain `Event` carries no `detail` at all, so the type test stops one as surely as
|
|
99
|
+
* an `instanceof` would — and an `instanceof` here was dead weight the mutation floor
|
|
100
|
+
* could not kill, because nothing reached it that this line did not already turn away.
|
|
101
|
+
*
|
|
102
|
+
* `preventDefault()` is the whole of the acknowledgement: the dispatch's return value
|
|
103
|
+
* is what tells the tooltip whether to warn, so a malformed payload has to read as a
|
|
104
|
+
* refusal rather than be accepted and ignored.
|
|
105
|
+
*/
|
|
106
|
+
#take = (event) => {
|
|
107
|
+
const handed = event.detail;
|
|
108
|
+
if (typeof handed !== 'string') {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
event.preventDefault();
|
|
112
|
+
this.#sentence = handed;
|
|
113
|
+
this.#host.requestUpdate();
|
|
114
|
+
};
|
|
115
|
+
/**
|
|
116
|
+
* The whole `aria-describedby` a control writes, with the handed sentence **last**.
|
|
117
|
+
*
|
|
118
|
+
* A caller passes the ids it composes already — `error`, `help` — and gets back the
|
|
119
|
+
* attribute's value, or `nothing` when there is nothing to describe: an empty
|
|
120
|
+
* `aria-describedby` is not the same shape as an absent one, which `src/input.ts`
|
|
121
|
+
* measured from the other side. An empty id is dropped, which is how a caller says
|
|
122
|
+
* *that one is not rendered*.
|
|
123
|
+
*
|
|
124
|
+
* **The composition is here rather than at each call site so the order is decided
|
|
125
|
+
* once.** RFC 0006 put the handed sentence after `error` and `help`: it is
|
|
126
|
+
* supplementary by construction, where an error is what sent the reader looking and
|
|
127
|
+
* help was already in flow. Six classes will carry this, and *put it last* is not a
|
|
128
|
+
* rule six of them should each be remembering — the failure that shape invites is
|
|
129
|
+
* writing the sentence **into** the attribute rather than into the list, at which
|
|
130
|
+
* point the instruction and the error overwrite each other.
|
|
131
|
+
*
|
|
132
|
+
* @param before - The ids announced ahead of it, in the order a reader needs them.
|
|
133
|
+
*/
|
|
134
|
+
described(...before) {
|
|
135
|
+
const ids = [...before, this.#sentence === '' ? '' : id].filter((each) => each !== '');
|
|
136
|
+
return ids.length === 0 ? nothing : ids.join(' ');
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Points a control built by hand at the carrier, or stops pointing it.
|
|
140
|
+
*
|
|
141
|
+
* The imperative half of {@link Description.described}, and both exist because the
|
|
142
|
+
* controls do: `<ui-button>` draws its `<button>` from a template and `<ui-menu>`
|
|
143
|
+
* builds one with `document.createElement`, so the same rule has to be expressible
|
|
144
|
+
* twice. It lives here rather than at each call site so *empty means absent* is
|
|
145
|
+
* decided once — an `aria-describedby=""` is a different shape from no attribute, and
|
|
146
|
+
* a control that wrote one would be describing nothing rather than nothing at all.
|
|
147
|
+
*/
|
|
148
|
+
point(control) {
|
|
149
|
+
const described = this.described();
|
|
150
|
+
if (described === nothing) {
|
|
151
|
+
control.removeAttribute('aria-describedby');
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
control.setAttribute('aria-describedby', described);
|
|
155
|
+
}
|
|
156
|
+
/** The node that reference resolves to, rendered into the control's own root. */
|
|
157
|
+
carrier() {
|
|
158
|
+
return this.#sentence === ''
|
|
159
|
+
? nothing
|
|
160
|
+
: html `<span id=${id} style=${clipped}>${this.#sentence}</span>`;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
//# sourceMappingURL=description.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"description.js","sourceRoot":"","sources":["../src/description.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAuB,MAAM,KAAK,CAAC;AAOzD;;;;;;;GAOG;AACH,MAAM,EAAE,GAAG,aAAa,CAAC;AAEzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,OAAO,GAAG;IACZ,mBAAmB;IACnB,iBAAiB;IACjB,gBAAgB;IAChB,sBAAsB;CACzB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEZ,MAAM,OAAO,WAAW;IACpB,SAAS,GAAG,EAAE,CAAC;IAEN,KAAK,CAAY;IAE1B;;;;;;;OAOG;IACH,YAAY,IAAe;QACvB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAED;;;;;;;;;;;OAWG;IACM,KAAK,GAAG,CAAC,KAAY,EAAQ,EAAE;QACpC,MAAM,MAAM,GAAa,KAA8B,CAAC,MAAM,CAAC;QAE/D,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO;QACX,CAAC;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;IAC/B,CAAC,CAAC;IAEF;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAS,CAAC,GAAG,MAAgB;QACzB,MAAM,GAAG,GAAG,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;QAEvF,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,OAAgB;QAClB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAEnC,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;YACxB,OAAO,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;YAE5C,OAAO;QACX,CAAC;QAED,OAAO,CAAC,YAAY,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;IACxD,CAAC;IAED,iFAAiF;IACjF,OAAO;QACH,OAAO,IAAI,CAAC,SAAS,KAAK,EAAE;YACxB,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,IAAI,CAAA,YAAY,EAAE,UAAU,OAAO,IAAI,IAAI,CAAC,SAAS,SAAS,CAAC;IACzE,CAAC;CACJ"}
|
package/dist/menu.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../src/menu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../src/menu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AA6DjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,qBAAa,MAAO,SAAQ,UAAU;;IAClC,gBAAyB,MAAM,0BAsJ7B;IAEF,gBAAyB,UAAU;;;;;MAEjC;IAEF;;;;;;;;;;OAUG;IACH,IAAI,UAAS;;IAoFJ,oBAAoB,IAAI,IAAI;IAmB5B,OAAO,IAAI,IAAI;IA6Bf,MAAM,IAAI,cAAc;CA2NpC;AAQD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,SAAS,EAAE,MAAM,CAAC;KACrB;CACJ"}
|
package/dist/menu.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { LitElement, css, html } from 'lit';
|
|
2
2
|
import { place } from './placement.js';
|
|
3
|
+
import { Description } from './description.js';
|
|
3
4
|
import { reference } from './reference.js';
|
|
4
5
|
/**
|
|
5
6
|
* The panel's id, and it needs no counter behind it.
|
|
@@ -254,6 +255,19 @@ export class UiMenu extends LitElement {
|
|
|
254
255
|
}; }
|
|
255
256
|
/** The button this component owns, so the relationship below cannot be miswired. */
|
|
256
257
|
#trigger;
|
|
258
|
+
/**
|
|
259
|
+
* The sentence a `<ui-tooltip>` hands over, and the node the trigger points at.
|
|
260
|
+
*
|
|
261
|
+
* This element is the hardest place the protocol goes and it is taken second on
|
|
262
|
+
* purpose: it renders its own trigger, drives a popover, already holds an
|
|
263
|
+
* `aria-controls` reference and hand-writes the focus return across a shadow
|
|
264
|
+
* boundary. A protocol that broke here first would not say whether the protocol or
|
|
265
|
+
* the menu was at fault — so `<ui-button>`, which has none of that, proved it. RFC 0006
|
|
266
|
+
*
|
|
267
|
+
* The trigger is built with `document.createElement`, so the reference is written in
|
|
268
|
+
* {@link UiMenu.updated} beside `aria-expanded` rather than bound in the template.
|
|
269
|
+
*/
|
|
270
|
+
#description;
|
|
257
271
|
/** The menu itself, in the same tree scope as the trigger that names it. */
|
|
258
272
|
#panel;
|
|
259
273
|
/** What a pending typeahead has collected, and the clock that forgets it. */
|
|
@@ -290,6 +304,19 @@ export class UiMenu extends LitElement {
|
|
|
290
304
|
this.open = false;
|
|
291
305
|
/** The button this component owns, so the relationship below cannot be miswired. */
|
|
292
306
|
this.#trigger = document.createElement('button');
|
|
307
|
+
/**
|
|
308
|
+
* The sentence a `<ui-tooltip>` hands over, and the node the trigger points at.
|
|
309
|
+
*
|
|
310
|
+
* This element is the hardest place the protocol goes and it is taken second on
|
|
311
|
+
* purpose: it renders its own trigger, drives a popover, already holds an
|
|
312
|
+
* `aria-controls` reference and hand-writes the focus return across a shadow
|
|
313
|
+
* boundary. A protocol that broke here first would not say whether the protocol or
|
|
314
|
+
* the menu was at fault — so `<ui-button>`, which has none of that, proved it. RFC 0006
|
|
315
|
+
*
|
|
316
|
+
* The trigger is built with `document.createElement`, so the reference is written in
|
|
317
|
+
* {@link UiMenu.updated} beside `aria-expanded` rather than bound in the template.
|
|
318
|
+
*/
|
|
319
|
+
this.#description = new Description(this);
|
|
293
320
|
/** The menu itself, in the same tree scope as the trigger that names it. */
|
|
294
321
|
this.#panel = document.createElement('div');
|
|
295
322
|
/** What a pending typeahead has collected, and the clock that forgets it. */
|
|
@@ -439,10 +466,21 @@ export class UiMenu extends LitElement {
|
|
|
439
466
|
// framework unmounted would otherwise keep re-placing an element that is no longer
|
|
440
467
|
// in a document.
|
|
441
468
|
this.#watching.abort();
|
|
469
|
+
// Stryker disable next-line CallExpression: this reaches exactly two things in Lit
|
|
470
|
+
// and this element has neither — `__controllers` is empty, because nothing here
|
|
471
|
+
// registers a reactive controller, and `__childPart.setConnected(false)` speaks
|
|
472
|
+
// only to async directives, which this template does not use. `Description` is a
|
|
473
|
+
// plain object rather than a `ReactiveController` for precisely that reason: it
|
|
474
|
+
// needs `requestUpdate` and no lifecycle hook, so it adds nothing here to
|
|
475
|
+
// disconnect. The same annotation is in `src/toast.ts` with the same reading, and
|
|
476
|
+
// the call stays for the same reason: Lit documents it as the extension point it
|
|
477
|
+
// reserves for later additions, so the day this element grows a controller the
|
|
478
|
+
// mutant stops being equivalent and nothing else would say so.
|
|
442
479
|
super.disconnectedCallback();
|
|
443
480
|
}
|
|
444
481
|
updated() {
|
|
445
482
|
this.#trigger.setAttribute('aria-expanded', String(this.open));
|
|
483
|
+
this.#description.point(this.#trigger);
|
|
446
484
|
// Compared against the platform's own state rather than against Lit's changed
|
|
447
485
|
// properties, and it has to be: on the first update Lit reports every initialised
|
|
448
486
|
// property as changed, so a menu that has never been open would run the closing
|
|
@@ -468,7 +506,10 @@ export class UiMenu extends LitElement {
|
|
|
468
506
|
}
|
|
469
507
|
}
|
|
470
508
|
render() {
|
|
471
|
-
|
|
509
|
+
// The carrier sits beside the trigger rather than inside the panel: the panel is a
|
|
510
|
+
// popover and the reference has to resolve from where the reader's focus lands,
|
|
511
|
+
// which is the trigger's own tree scope and not the layer above it.
|
|
512
|
+
return html `${this.#trigger}${this.#panel}${this.#description.carrier()}`;
|
|
472
513
|
}
|
|
473
514
|
/** The items, which are the host's own controls rather than anything rendered here. */
|
|
474
515
|
#items() {
|
package/dist/menu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.js","sourceRoot":"","sources":["../src/menu.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"menu.js","sourceRoot":"","sources":["../src/menu.ts"],"names":[],"mappings":"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"}
|