@fusion.dev/helix-headless 0.126.0 → 0.128.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +76 -18
- package/dist/graph/root/graph-root.d.ts +26 -3
- package/dist/graph/root/graph-root.js +56 -4
- package/package.json +5 -5
- package/types/jsx.d.ts +32 -8
- package/types/vue.d.ts +10 -2
package/custom-elements.json
CHANGED
|
@@ -50353,6 +50353,10 @@
|
|
|
50353
50353
|
"description": "The selected note, first in the list.",
|
|
50354
50354
|
"name": "note-selected"
|
|
50355
50355
|
},
|
|
50356
|
+
{
|
|
50357
|
+
"description": "The button among the controls that opens the search and the list over the drawing, with `no-panel`.",
|
|
50358
|
+
"name": "notes-toggle"
|
|
50359
|
+
},
|
|
50356
50360
|
{
|
|
50357
50361
|
"description": "The button that moves the graph down.",
|
|
50358
50362
|
"name": "pan-down"
|
|
@@ -50370,7 +50374,7 @@
|
|
|
50370
50374
|
"name": "pan-up"
|
|
50371
50375
|
},
|
|
50372
50376
|
{
|
|
50373
|
-
"description": "The search field and the list, beside the drawing or below it
|
|
50377
|
+
"description": "The search field and the list, beside the drawing or below it, or over the drawing when opened with `no-panel`.",
|
|
50374
50378
|
"name": "panel"
|
|
50375
50379
|
},
|
|
50376
50380
|
{
|
|
@@ -50498,6 +50502,17 @@
|
|
|
50498
50502
|
"default": "[]",
|
|
50499
50503
|
"description": "The notes. A property, never an attribute."
|
|
50500
50504
|
},
|
|
50505
|
+
{
|
|
50506
|
+
"kind": "field",
|
|
50507
|
+
"name": "noPanel",
|
|
50508
|
+
"type": {
|
|
50509
|
+
"text": "boolean"
|
|
50510
|
+
},
|
|
50511
|
+
"default": "false",
|
|
50512
|
+
"description": "Leaves the search and the list out of the frame, behind a button among\nits controls that opens them over the drawing. For a graph shown large,\nsuch as at the top of a page, where the drawing takes the whole frame.",
|
|
50513
|
+
"attribute": "no-panel",
|
|
50514
|
+
"reflects": true
|
|
50515
|
+
},
|
|
50501
50516
|
{
|
|
50502
50517
|
"kind": "field",
|
|
50503
50518
|
"name": "notesLabel",
|
|
@@ -50505,7 +50520,7 @@
|
|
|
50505
50520
|
"text": "string"
|
|
50506
50521
|
},
|
|
50507
50522
|
"default": "'Notes'",
|
|
50508
|
-
"description": "The list's name, read by screen readers
|
|
50523
|
+
"description": "The list's name, read by screen readers, and the name of the button that opens it with `no-panel`.",
|
|
50509
50524
|
"attribute": "notes-label"
|
|
50510
50525
|
},
|
|
50511
50526
|
{
|
|
@@ -50548,6 +50563,16 @@
|
|
|
50548
50563
|
"default": "0",
|
|
50549
50564
|
"description": "The row the keyboard is on, as an index into the list."
|
|
50550
50565
|
},
|
|
50566
|
+
{
|
|
50567
|
+
"kind": "field",
|
|
50568
|
+
"name": "panelOpen",
|
|
50569
|
+
"type": {
|
|
50570
|
+
"text": "boolean"
|
|
50571
|
+
},
|
|
50572
|
+
"privacy": "private",
|
|
50573
|
+
"default": "false",
|
|
50574
|
+
"description": "Whether the search and the list are open over the drawing, with `no-panel`."
|
|
50575
|
+
},
|
|
50551
50576
|
{
|
|
50552
50577
|
"kind": "field",
|
|
50553
50578
|
"name": "adjacency",
|
|
@@ -50882,6 +50907,45 @@
|
|
|
50882
50907
|
"readonly": true,
|
|
50883
50908
|
"description": "The search field's keys, which belong to the field and never pan the\ngraph. Escape empties a search that has words in it, and passes through\nan empty one to whatever the page does with it."
|
|
50884
50909
|
},
|
|
50910
|
+
{
|
|
50911
|
+
"kind": "method",
|
|
50912
|
+
"name": "togglePanel",
|
|
50913
|
+
"privacy": "private",
|
|
50914
|
+
"return": {
|
|
50915
|
+
"type": {
|
|
50916
|
+
"text": "void"
|
|
50917
|
+
}
|
|
50918
|
+
},
|
|
50919
|
+
"parameters": [
|
|
50920
|
+
{
|
|
50921
|
+
"name": "open",
|
|
50922
|
+
"default": "!this.panelOpen"
|
|
50923
|
+
}
|
|
50924
|
+
],
|
|
50925
|
+
"description": "Opens the search and the list over the drawing, or closes them, with\n`no-panel`. **Opened, the search field takes the focus**, since finding\na note is what the button is pressed for; closed from inside, the focus\ngoes back to the button, where it was."
|
|
50926
|
+
},
|
|
50927
|
+
{
|
|
50928
|
+
"kind": "field",
|
|
50929
|
+
"name": "handlePanelKeydown",
|
|
50930
|
+
"privacy": "private",
|
|
50931
|
+
"readonly": true,
|
|
50932
|
+
"description": "Escape in the panel closes it, with `no-panel`, once the search it holds is empty."
|
|
50933
|
+
},
|
|
50934
|
+
{
|
|
50935
|
+
"kind": "method",
|
|
50936
|
+
"name": "renderMoreControls",
|
|
50937
|
+
"privacy": "protected",
|
|
50938
|
+
"return": {
|
|
50939
|
+
"type": {
|
|
50940
|
+
"text": "TemplateResult | typeof nothing"
|
|
50941
|
+
}
|
|
50942
|
+
},
|
|
50943
|
+
"description": "The button that opens the search and the list over the drawing, among\nthe controls after zoom, where the frame leaves them out with `no-panel`.",
|
|
50944
|
+
"inheritedFrom": {
|
|
50945
|
+
"name": "MixinViewport",
|
|
50946
|
+
"module": "src/mixins/mixin-viewport/mixin-viewport.ts"
|
|
50947
|
+
}
|
|
50948
|
+
},
|
|
50885
50949
|
{
|
|
50886
50950
|
"kind": "field",
|
|
50887
50951
|
"name": "handleSearch",
|
|
@@ -51493,21 +51557,6 @@
|
|
|
51493
51557
|
"module": "src/mixins/mixin-viewport/mixin-viewport.ts"
|
|
51494
51558
|
}
|
|
51495
51559
|
},
|
|
51496
|
-
{
|
|
51497
|
-
"kind": "method",
|
|
51498
|
-
"name": "renderMoreControls",
|
|
51499
|
-
"privacy": "protected",
|
|
51500
|
-
"return": {
|
|
51501
|
-
"type": {
|
|
51502
|
-
"text": "TemplateResult | typeof nothing"
|
|
51503
|
-
}
|
|
51504
|
-
},
|
|
51505
|
-
"description": "More buttons for the group of controls, after zoom. None here; a family adds its own.",
|
|
51506
|
-
"inheritedFrom": {
|
|
51507
|
-
"name": "MixinViewport",
|
|
51508
|
-
"module": "src/mixins/mixin-viewport/mixin-viewport.ts"
|
|
51509
|
-
}
|
|
51510
|
-
},
|
|
51511
51560
|
{
|
|
51512
51561
|
"kind": "method",
|
|
51513
51562
|
"name": "handleMoreKeys",
|
|
@@ -52211,13 +52260,22 @@
|
|
|
52211
52260
|
"description": "How a note that links to the selected one is described, with `{note}`.",
|
|
52212
52261
|
"fieldName": "linksToLabel"
|
|
52213
52262
|
},
|
|
52263
|
+
{
|
|
52264
|
+
"name": "no-panel",
|
|
52265
|
+
"type": {
|
|
52266
|
+
"text": "boolean"
|
|
52267
|
+
},
|
|
52268
|
+
"default": "false",
|
|
52269
|
+
"description": "Leaves the search and the list out of the frame, behind a button among\nits controls that opens them over the drawing. For a graph shown large,\nsuch as at the top of a page, where the drawing takes the whole frame.",
|
|
52270
|
+
"fieldName": "noPanel"
|
|
52271
|
+
},
|
|
52214
52272
|
{
|
|
52215
52273
|
"name": "notes-label",
|
|
52216
52274
|
"type": {
|
|
52217
52275
|
"text": "string"
|
|
52218
52276
|
},
|
|
52219
52277
|
"default": "'Notes'",
|
|
52220
|
-
"description": "The list's name, read by screen readers
|
|
52278
|
+
"description": "The list's name, read by screen readers, and the name of the button that opens it with `no-panel`.",
|
|
52221
52279
|
"fieldName": "notesLabel"
|
|
52222
52280
|
},
|
|
52223
52281
|
{
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type GraphSignalDetail, HelixElement, type ViewportGestureLabels, type ViewportPanDetail, type ViewportZoomDetail } from '@fusion.dev/helix-core';
|
|
2
|
-
import { type PropertyValues, type TemplateResult } from 'lit';
|
|
2
|
+
import { nothing, type PropertyValues, type TemplateResult } from 'lit';
|
|
3
3
|
import { type GraphLink, type GraphNode } from './graph-model.js';
|
|
4
4
|
declare const HelixHeadlessGraph_base: (new (...args: any[]) => import("@fusion.dev/helix-core").ViewportElement) & (new (...args: any[]) => import("@fusion.dev/helix-core").MixinControllerActiveInterface) & typeof HelixElement;
|
|
5
5
|
/**
|
|
@@ -68,11 +68,12 @@ declare const HelixHeadlessGraph_base: (new (...args: any[]) => import("@fusion.
|
|
|
68
68
|
* @csspart note-name - A note's name in the list.
|
|
69
69
|
* @csspart note-relation - How a note stands to the selected one, such as "Linked from Alpha".
|
|
70
70
|
* @csspart note-selected - The selected note, first in the list.
|
|
71
|
+
* @csspart notes-toggle - The button among the controls that opens the search and the list over the drawing, with `no-panel`.
|
|
71
72
|
* @csspart pan-down - The button that moves the graph down.
|
|
72
73
|
* @csspart pan-end - The button that moves the graph toward the end of a line of text: right in English.
|
|
73
74
|
* @csspart pan-start - The button that moves the graph toward the start of a line of text: left in English.
|
|
74
75
|
* @csspart pan-up - The button that moves the graph up.
|
|
75
|
-
* @csspart panel - The search field and the list, beside the drawing or below it
|
|
76
|
+
* @csspart panel - The search field and the list, beside the drawing or below it, or over the drawing when opened with `no-panel`.
|
|
76
77
|
* @csspart region - The frame: the drawing, its controls and the list.
|
|
77
78
|
* @csspart search - The bar holding the icon, the search field and the count.
|
|
78
79
|
* @csspart search-field - The field that finds a note by its name.
|
|
@@ -110,7 +111,13 @@ export declare class HelixHeadlessGraph extends HelixHeadlessGraph_base {
|
|
|
110
111
|
linksToLabel: string;
|
|
111
112
|
/** The notes. A property, never an attribute. */
|
|
112
113
|
nodes: readonly GraphNode[];
|
|
113
|
-
/**
|
|
114
|
+
/**
|
|
115
|
+
* Leaves the search and the list out of the frame, behind a button among
|
|
116
|
+
* its controls that opens them over the drawing. For a graph shown large,
|
|
117
|
+
* such as at the top of a page, where the drawing takes the whole frame.
|
|
118
|
+
*/
|
|
119
|
+
noPanel: boolean;
|
|
120
|
+
/** The list's name, read by screen readers, and the name of the button that opens it with `no-panel`. */
|
|
114
121
|
notesLabel: string;
|
|
115
122
|
/** The search field's name. */
|
|
116
123
|
searchLabel: string;
|
|
@@ -120,6 +127,8 @@ export declare class HelixHeadlessGraph extends HelixHeadlessGraph_base {
|
|
|
120
127
|
private query;
|
|
121
128
|
/** The row the keyboard is on, as an index into the list. */
|
|
122
129
|
private cursor;
|
|
130
|
+
/** Whether the search and the list are open over the drawing, with `no-panel`. */
|
|
131
|
+
private panelOpen;
|
|
123
132
|
/** Which notes link to and from each, read again when `links` changes. */
|
|
124
133
|
private adjacency;
|
|
125
134
|
/** The notes in the order of their names, read again when `nodes` changes. */
|
|
@@ -207,6 +216,20 @@ export declare class HelixHeadlessGraph extends HelixHeadlessGraph_base {
|
|
|
207
216
|
* an empty one to whatever the page does with it.
|
|
208
217
|
*/
|
|
209
218
|
private readonly handleSearchKeydown;
|
|
219
|
+
/**
|
|
220
|
+
* Opens the search and the list over the drawing, or closes them, with
|
|
221
|
+
* `no-panel`. **Opened, the search field takes the focus**, since finding
|
|
222
|
+
* a note is what the button is pressed for; closed from inside, the focus
|
|
223
|
+
* goes back to the button, where it was.
|
|
224
|
+
*/
|
|
225
|
+
private togglePanel;
|
|
226
|
+
/** Escape in the panel closes it, with `no-panel`, once the search it holds is empty. */
|
|
227
|
+
private readonly handlePanelKeydown;
|
|
228
|
+
/**
|
|
229
|
+
* The button that opens the search and the list over the drawing, among
|
|
230
|
+
* the controls after zoom, where the frame leaves them out with `no-panel`.
|
|
231
|
+
*/
|
|
232
|
+
protected renderMoreControls(): TemplateResult | typeof nothing;
|
|
210
233
|
private readonly handleSearch;
|
|
211
234
|
/**
|
|
212
235
|
* The mark in the search field, behind a seam: a slot for the page, and a
|
|
@@ -5,7 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
import { customElement, fillTemplate, formatNumbers, HelixElement, HelixGraphLayoutEvent, HelixGraphPanEvent, HelixGraphPartChangeEvent, HelixGraphReadyEvent, HelixGraphSignalEvent, HelixGraphZoomEvent, MixinControllerActive, MixinViewport, VirtualizeController, } from '@fusion.dev/helix-core';
|
|
8
|
-
import { magnifyingGlass } from '@fusion.dev/helix-icons';
|
|
8
|
+
import { list, magnifyingGlass } from '@fusion.dev/helix-icons';
|
|
9
9
|
import { html, nothing } from 'lit';
|
|
10
10
|
import { property, state } from 'lit/decorators.js';
|
|
11
11
|
import { unsafeSVG } from 'lit/directives/unsafe-svg.js';
|
|
@@ -21,11 +21,13 @@ let HelixHeadlessGraph = class HelixHeadlessGraph extends MixinViewport(MixinCon
|
|
|
21
21
|
this.links = [];
|
|
22
22
|
this.linksToLabel = 'Links to {note}';
|
|
23
23
|
this.nodes = [];
|
|
24
|
+
this.noPanel = false;
|
|
24
25
|
this.notesLabel = 'Notes';
|
|
25
26
|
this.searchLabel = 'Find a note';
|
|
26
27
|
this.selectedLabel = 'Selected';
|
|
27
28
|
this.query = '';
|
|
28
29
|
this.cursor = 0;
|
|
30
|
+
this.panelOpen = false;
|
|
29
31
|
this.adjacency = new Map();
|
|
30
32
|
this.sorted = [];
|
|
31
33
|
this.entries = [];
|
|
@@ -75,6 +77,13 @@ let HelixHeadlessGraph = class HelixHeadlessGraph extends MixinViewport(MixinCon
|
|
|
75
77
|
}
|
|
76
78
|
event.stopPropagation();
|
|
77
79
|
};
|
|
80
|
+
this.handlePanelKeydown = (event) => {
|
|
81
|
+
if (event.key === 'Escape' && this.noPanel && this.panelOpen) {
|
|
82
|
+
event.preventDefault();
|
|
83
|
+
event.stopPropagation();
|
|
84
|
+
this.togglePanel(false);
|
|
85
|
+
}
|
|
86
|
+
};
|
|
78
87
|
this.handleSearch = (event) => {
|
|
79
88
|
this.query = event.target.value;
|
|
80
89
|
};
|
|
@@ -111,9 +120,10 @@ let HelixHeadlessGraph = class HelixHeadlessGraph extends MixinViewport(MixinCon
|
|
|
111
120
|
if (changed.has('nodes')) {
|
|
112
121
|
this.sorted = sortedOf(this.nodes, this.closest?.('[lang]')?.getAttribute('lang') ?? '');
|
|
113
122
|
}
|
|
114
|
-
if (
|
|
123
|
+
if (['nodes', 'links', 'active', 'depth'].some((name) => changed.has(name))) {
|
|
124
|
+
const held = this.active !== '' && this.nodes.some((node) => node.id === this.active);
|
|
115
125
|
this.kept =
|
|
116
|
-
typeof this.depth === 'number' &&
|
|
126
|
+
typeof this.depth === 'number' && held
|
|
117
127
|
? within(this.adjacency, this.active, Math.max(0, this.depth))
|
|
118
128
|
: undefined;
|
|
119
129
|
}
|
|
@@ -204,6 +214,37 @@ let HelixHeadlessGraph = class HelixHeadlessGraph extends MixinViewport(MixinCon
|
|
|
204
214
|
}
|
|
205
215
|
this.virtualize.measure();
|
|
206
216
|
}
|
|
217
|
+
togglePanel(open = !this.panelOpen) {
|
|
218
|
+
const inside = this.panelOpen && this.partNamed('panel')?.contains(this.shadowRoot?.activeElement ?? null);
|
|
219
|
+
this.panelOpen = open;
|
|
220
|
+
void this.updateComplete.then(() => {
|
|
221
|
+
if (open) {
|
|
222
|
+
;
|
|
223
|
+
this.partNamed('search-field')?.focus();
|
|
224
|
+
}
|
|
225
|
+
else if (inside) {
|
|
226
|
+
;
|
|
227
|
+
this.partNamed('notes-toggle')?.focus();
|
|
228
|
+
}
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
renderMoreControls() {
|
|
232
|
+
if (!this.noPanel) {
|
|
233
|
+
return nothing;
|
|
234
|
+
}
|
|
235
|
+
return html `<button
|
|
236
|
+
part="notes-toggle"
|
|
237
|
+
aria-controls="panel"
|
|
238
|
+
aria-expanded=${this.panelOpen ? 'true' : 'false'}
|
|
239
|
+
aria-label=${this.notesLabel}
|
|
240
|
+
type="button"
|
|
241
|
+
@click=${() => this.togglePanel()}
|
|
242
|
+
>
|
|
243
|
+
<svg aria-hidden="true" fill="currentColor" viewBox=${list.viewBox}>
|
|
244
|
+
${unsafeSVG(list.content)}
|
|
245
|
+
</svg>
|
|
246
|
+
</button>`;
|
|
247
|
+
}
|
|
207
248
|
renderFilterIcon() {
|
|
208
249
|
return html `<slot name="filter-icon">
|
|
209
250
|
<svg part="filter-mark" fill="currentColor" viewBox=${magnifyingGlass.viewBox}>
|
|
@@ -261,7 +302,12 @@ let HelixHeadlessGraph = class HelixHeadlessGraph extends MixinViewport(MixinCon
|
|
|
261
302
|
</div>
|
|
262
303
|
${this.renderControls()}
|
|
263
304
|
</div>
|
|
264
|
-
<div
|
|
305
|
+
<div
|
|
306
|
+
part="panel"
|
|
307
|
+
id="panel"
|
|
308
|
+
?hidden=${this.noPanel && !this.panelOpen}
|
|
309
|
+
@keydown=${this.handlePanelKeydown}
|
|
310
|
+
>
|
|
265
311
|
<div part="search">
|
|
266
312
|
<span part="filter-icon" aria-hidden="true">${this.renderFilterIcon()}</span>
|
|
267
313
|
<input
|
|
@@ -324,6 +370,9 @@ __decorate([
|
|
|
324
370
|
__decorate([
|
|
325
371
|
property({ attribute: false })
|
|
326
372
|
], HelixHeadlessGraph.prototype, "nodes", void 0);
|
|
373
|
+
__decorate([
|
|
374
|
+
property({ attribute: 'no-panel', reflect: true, type: Boolean })
|
|
375
|
+
], HelixHeadlessGraph.prototype, "noPanel", void 0);
|
|
327
376
|
__decorate([
|
|
328
377
|
property({ attribute: 'notes-label' })
|
|
329
378
|
], HelixHeadlessGraph.prototype, "notesLabel", void 0);
|
|
@@ -339,6 +388,9 @@ __decorate([
|
|
|
339
388
|
__decorate([
|
|
340
389
|
state()
|
|
341
390
|
], HelixHeadlessGraph.prototype, "cursor", void 0);
|
|
391
|
+
__decorate([
|
|
392
|
+
state()
|
|
393
|
+
], HelixHeadlessGraph.prototype, "panelOpen", void 0);
|
|
342
394
|
HelixHeadlessGraph = __decorate([
|
|
343
395
|
customElement('helix-headless-graph')
|
|
344
396
|
], HelixHeadlessGraph);
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fusion.dev/helix-headless",
|
|
3
3
|
"description": "Headless component tier. Structure, accessibility, state, and form participation. No styling.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.128.0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Ross Sheppard <ross.sheppard@fusion.dev>",
|
|
7
7
|
"repository": {
|
|
@@ -46,13 +46,13 @@
|
|
|
46
46
|
},
|
|
47
47
|
"bugs": "https://github.com/project-fusion/fusion/issues",
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@fusion.dev/helix-core": "0.
|
|
50
|
-
"@fusion.dev/helix-icons": "0.
|
|
49
|
+
"@fusion.dev/helix-core": "0.128.0",
|
|
50
|
+
"@fusion.dev/helix-icons": "0.128.0",
|
|
51
51
|
"uqr": "^0.1.3"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
|
-
"@fusion.dev/helix-cem": "0.
|
|
55
|
-
"@fusion.dev/helix-testing": "0.
|
|
54
|
+
"@fusion.dev/helix-cem": "0.128.0",
|
|
55
|
+
"@fusion.dev/helix-testing": "0.128.0",
|
|
56
56
|
"@fusion.dev/scripts": "0.0.0-dev",
|
|
57
57
|
"@happy-dom/global-registrator": "^20.0.0",
|
|
58
58
|
"@lit-labs/ssr": "^4.1.0",
|
package/types/jsx.d.ts
CHANGED
|
@@ -9417,9 +9417,17 @@ Required. */
|
|
|
9417
9417
|
"links-to-label"?: (HelixHeadlessGraph["linksToLabel"]) | undefined;
|
|
9418
9418
|
/** How a note that links to the selected one is described, with `{note}`. */
|
|
9419
9419
|
linksToLabel?: (HelixHeadlessGraph["linksToLabel"]) | undefined;
|
|
9420
|
-
/**
|
|
9420
|
+
/** Leaves the search and the list out of the frame, behind a button among
|
|
9421
|
+
its controls that opens them over the drawing. For a graph shown large,
|
|
9422
|
+
such as at the top of a page, where the drawing takes the whole frame. */
|
|
9423
|
+
"no-panel"?: (HelixHeadlessGraph["noPanel"]) | undefined;
|
|
9424
|
+
/** Leaves the search and the list out of the frame, behind a button among
|
|
9425
|
+
its controls that opens them over the drawing. For a graph shown large,
|
|
9426
|
+
such as at the top of a page, where the drawing takes the whole frame. */
|
|
9427
|
+
noPanel?: (HelixHeadlessGraph["noPanel"]) | undefined;
|
|
9428
|
+
/** The list's name, read by screen readers, and the name of the button that opens it with `no-panel`. */
|
|
9421
9429
|
"notes-label"?: (HelixHeadlessGraph["notesLabel"]) | undefined;
|
|
9422
|
-
/** The list's name, read by screen readers
|
|
9430
|
+
/** The list's name, read by screen readers, and the name of the button that opens it with `no-panel`. */
|
|
9423
9431
|
notesLabel?: (HelixHeadlessGraph["notesLabel"]) | undefined;
|
|
9424
9432
|
/** The search field's name. */
|
|
9425
9433
|
"search-label"?: (HelixHeadlessGraph["searchLabel"]) | undefined;
|
|
@@ -9678,9 +9686,17 @@ Required. */
|
|
|
9678
9686
|
"attr:links-to-label"?: (HelixHeadlessGraph["linksToLabel"]) | undefined;
|
|
9679
9687
|
/** How a note that links to the selected one is described, with `{note}`. */
|
|
9680
9688
|
"prop:linksToLabel"?: (HelixHeadlessGraph["linksToLabel"]) | undefined;
|
|
9681
|
-
/**
|
|
9689
|
+
/** Leaves the search and the list out of the frame, behind a button among
|
|
9690
|
+
its controls that opens them over the drawing. For a graph shown large,
|
|
9691
|
+
such as at the top of a page, where the drawing takes the whole frame. */
|
|
9692
|
+
"bool:no-panel"?: (HelixHeadlessGraph["noPanel"]) | undefined;
|
|
9693
|
+
/** Leaves the search and the list out of the frame, behind a button among
|
|
9694
|
+
its controls that opens them over the drawing. For a graph shown large,
|
|
9695
|
+
such as at the top of a page, where the drawing takes the whole frame. */
|
|
9696
|
+
"prop:noPanel"?: (HelixHeadlessGraph["noPanel"]) | undefined;
|
|
9697
|
+
/** The list's name, read by screen readers, and the name of the button that opens it with `no-panel`. */
|
|
9682
9698
|
"attr:notes-label"?: (HelixHeadlessGraph["notesLabel"]) | undefined;
|
|
9683
|
-
/** The list's name, read by screen readers
|
|
9699
|
+
/** The list's name, read by screen readers, and the name of the button that opens it with `no-panel`. */
|
|
9684
9700
|
"prop:notesLabel"?: (HelixHeadlessGraph["notesLabel"]) | undefined;
|
|
9685
9701
|
/** The search field's name. */
|
|
9686
9702
|
"attr:search-label"?: (HelixHeadlessGraph["searchLabel"]) | undefined;
|
|
@@ -31264,7 +31280,10 @@ export type CustomElements = {
|
|
|
31264
31280
|
* - `linked-both-label`/`linkedBothLabel`: How a note linked both to and from the selected one is described, with `{note}`.
|
|
31265
31281
|
* - `linked-from-label`/`linkedFromLabel`: How a note the selected one links to is described, with `{note}`, the selected note's name.
|
|
31266
31282
|
* - `links-to-label`/`linksToLabel`: How a note that links to the selected one is described, with `{note}`.
|
|
31267
|
-
* - `
|
|
31283
|
+
* - `no-panel`/`noPanel`: Leaves the search and the list out of the frame, behind a button among
|
|
31284
|
+
* its controls that opens them over the drawing. For a graph shown large,
|
|
31285
|
+
* such as at the top of a page, where the drawing takes the whole frame.
|
|
31286
|
+
* - `notes-label`/`notesLabel`: The list's name, read by screen readers, and the name of the button that opens it with `no-panel`.
|
|
31268
31287
|
* - `search-label`/`searchLabel`: The search field's name.
|
|
31269
31288
|
* - `selected-label`/`selectedLabel`: How the selected note is described in the list.
|
|
31270
31289
|
* - `activate-hint-label`/`activateHintLabel`: The hint shown when a surface waiting to be pressed is scrolled or
|
|
@@ -31471,11 +31490,12 @@ export type CustomElements = {
|
|
|
31471
31490
|
* - `note-name`: A note's name in the list.
|
|
31472
31491
|
* - `note-relation`: How a note stands to the selected one, such as "Linked from Alpha".
|
|
31473
31492
|
* - `note-selected`: The selected note, first in the list.
|
|
31493
|
+
* - `notes-toggle`: The button among the controls that opens the search and the list over the drawing, with `no-panel`.
|
|
31474
31494
|
* - `pan-down`: The button that moves the graph down.
|
|
31475
31495
|
* - `pan-end`: The button that moves the graph toward the end of a line of text: right in English.
|
|
31476
31496
|
* - `pan-start`: The button that moves the graph toward the start of a line of text: left in English.
|
|
31477
31497
|
* - `pan-up`: The button that moves the graph up.
|
|
31478
|
-
* - `panel`: The search field and the list, beside the drawing or below it
|
|
31498
|
+
* - `panel`: The search field and the list, beside the drawing or below it, or over the drawing when opened with `no-panel`.
|
|
31479
31499
|
* - `region`: The frame: the drawing, its controls and the list.
|
|
31480
31500
|
* - `search`: The bar holding the icon, the search field and the count.
|
|
31481
31501
|
* - `search-field`: The field that finds a note by its name.
|
|
@@ -51641,7 +51661,10 @@ export type CustomElementsSolidJs = {
|
|
|
51641
51661
|
* - `linked-both-label`/`linkedBothLabel`: How a note linked both to and from the selected one is described, with `{note}`.
|
|
51642
51662
|
* - `linked-from-label`/`linkedFromLabel`: How a note the selected one links to is described, with `{note}`, the selected note's name.
|
|
51643
51663
|
* - `links-to-label`/`linksToLabel`: How a note that links to the selected one is described, with `{note}`.
|
|
51644
|
-
* - `
|
|
51664
|
+
* - `no-panel`/`noPanel`: Leaves the search and the list out of the frame, behind a button among
|
|
51665
|
+
* its controls that opens them over the drawing. For a graph shown large,
|
|
51666
|
+
* such as at the top of a page, where the drawing takes the whole frame.
|
|
51667
|
+
* - `notes-label`/`notesLabel`: The list's name, read by screen readers, and the name of the button that opens it with `no-panel`.
|
|
51645
51668
|
* - `search-label`/`searchLabel`: The search field's name.
|
|
51646
51669
|
* - `selected-label`/`selectedLabel`: How the selected note is described in the list.
|
|
51647
51670
|
* - `activate-hint-label`/`activateHintLabel`: The hint shown when a surface waiting to be pressed is scrolled or
|
|
@@ -51848,11 +51871,12 @@ export type CustomElementsSolidJs = {
|
|
|
51848
51871
|
* - `note-name`: A note's name in the list.
|
|
51849
51872
|
* - `note-relation`: How a note stands to the selected one, such as "Linked from Alpha".
|
|
51850
51873
|
* - `note-selected`: The selected note, first in the list.
|
|
51874
|
+
* - `notes-toggle`: The button among the controls that opens the search and the list over the drawing, with `no-panel`.
|
|
51851
51875
|
* - `pan-down`: The button that moves the graph down.
|
|
51852
51876
|
* - `pan-end`: The button that moves the graph toward the end of a line of text: right in English.
|
|
51853
51877
|
* - `pan-start`: The button that moves the graph toward the start of a line of text: left in English.
|
|
51854
51878
|
* - `pan-up`: The button that moves the graph up.
|
|
51855
|
-
* - `panel`: The search field and the list, beside the drawing or below it
|
|
51879
|
+
* - `panel`: The search field and the list, beside the drawing or below it, or over the drawing when opened with `no-panel`.
|
|
51856
51880
|
* - `region`: The frame: the drawing, its controls and the list.
|
|
51857
51881
|
* - `search`: The bar holding the icon, the search field and the count.
|
|
51858
51882
|
* - `search-field`: The field that finds a note by its name.
|
package/types/vue.d.ts
CHANGED
|
@@ -4853,9 +4853,17 @@ Required. */
|
|
|
4853
4853
|
"links-to-label"?: (HelixHeadlessGraph["linksToLabel"]) | undefined;
|
|
4854
4854
|
/** How a note that links to the selected one is described, with `{note}`. */
|
|
4855
4855
|
linksToLabel?: (HelixHeadlessGraph["linksToLabel"]) | undefined;
|
|
4856
|
-
/**
|
|
4856
|
+
/** Leaves the search and the list out of the frame, behind a button among
|
|
4857
|
+
its controls that opens them over the drawing. For a graph shown large,
|
|
4858
|
+
such as at the top of a page, where the drawing takes the whole frame. */
|
|
4859
|
+
"no-panel"?: (HelixHeadlessGraph["noPanel"]) | undefined;
|
|
4860
|
+
/** Leaves the search and the list out of the frame, behind a button among
|
|
4861
|
+
its controls that opens them over the drawing. For a graph shown large,
|
|
4862
|
+
such as at the top of a page, where the drawing takes the whole frame. */
|
|
4863
|
+
noPanel?: (HelixHeadlessGraph["noPanel"]) | undefined;
|
|
4864
|
+
/** The list's name, read by screen readers, and the name of the button that opens it with `no-panel`. */
|
|
4857
4865
|
"notes-label"?: (HelixHeadlessGraph["notesLabel"]) | undefined;
|
|
4858
|
-
/** The list's name, read by screen readers
|
|
4866
|
+
/** The list's name, read by screen readers, and the name of the button that opens it with `no-panel`. */
|
|
4859
4867
|
notesLabel?: (HelixHeadlessGraph["notesLabel"]) | undefined;
|
|
4860
4868
|
/** The search field's name. */
|
|
4861
4869
|
"search-label"?: (HelixHeadlessGraph["searchLabel"]) | undefined;
|