@issuegraph/editor 0.10.0 → 0.23.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/README.md +38 -7
- package/dist/a11y/baseline.d.ts.map +1 -1
- package/dist/a11y/baseline.js +4 -0
- package/dist/a11y/baseline.js.map +1 -1
- package/dist/audit/findings.d.ts +107 -1
- package/dist/audit/findings.d.ts.map +1 -1
- package/dist/audit/findings.js +114 -7
- package/dist/audit/findings.js.map +1 -1
- package/dist/audit/panel.d.ts +277 -0
- package/dist/audit/panel.d.ts.map +1 -0
- package/dist/audit/panel.js +462 -0
- package/dist/audit/panel.js.map +1 -0
- package/dist/audit/refused.d.ts +99 -0
- package/dist/audit/refused.d.ts.map +1 -0
- package/dist/audit/refused.js +276 -0
- package/dist/audit/refused.js.map +1 -0
- package/dist/audit/styles.d.ts +1 -1
- package/dist/audit/styles.d.ts.map +1 -1
- package/dist/audit/styles.js +428 -0
- package/dist/audit/styles.js.map +1 -1
- package/dist/audit/surface.d.ts +54 -12
- package/dist/audit/surface.d.ts.map +1 -1
- package/dist/audit/surface.js +54 -14
- package/dist/audit/surface.js.map +1 -1
- package/dist/create/draft.d.ts +19 -0
- package/dist/create/draft.d.ts.map +1 -1
- package/dist/create/draft.js +21 -0
- package/dist/create/draft.js.map +1 -1
- package/dist/create/keys.d.ts +68 -8
- package/dist/create/keys.d.ts.map +1 -1
- package/dist/create/keys.js +43 -5
- package/dist/create/keys.js.map +1 -1
- package/dist/firstpass/render.d.ts.map +1 -1
- package/dist/firstpass/render.js +10 -9
- package/dist/firstpass/render.js.map +1 -1
- package/dist/index.d.ts +40 -15
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +35 -13
- package/dist/index.js.map +1 -1
- package/dist/overlay/render.d.ts +11 -3
- package/dist/overlay/render.d.ts.map +1 -1
- package/dist/overlay/render.js +24 -7
- package/dist/overlay/render.js.map +1 -1
- package/dist/overlay/request.d.ts +71 -0
- package/dist/overlay/request.d.ts.map +1 -0
- package/dist/overlay/request.js +129 -0
- package/dist/overlay/request.js.map +1 -0
- package/dist/overlay/styles.d.ts +1 -1
- package/dist/overlay/styles.d.ts.map +1 -1
- package/dist/overlay/styles.js +38 -7
- package/dist/overlay/styles.js.map +1 -1
- package/dist/reevaluate/parts.d.ts +130 -0
- package/dist/reevaluate/parts.d.ts.map +1 -0
- package/dist/reevaluate/parts.js +260 -0
- package/dist/reevaluate/parts.js.map +1 -0
- package/dist/reevaluate/render.d.ts +18 -11
- package/dist/reevaluate/render.d.ts.map +1 -1
- package/dist/reevaluate/render.js +21 -135
- package/dist/reevaluate/render.js.map +1 -1
- package/dist/reevaluate/styles.d.ts +1 -1
- package/dist/reevaluate/styles.d.ts.map +1 -1
- package/dist/reevaluate/styles.js +26 -0
- package/dist/reevaluate/styles.js.map +1 -1
- package/dist/reevaluate/view.d.ts +16 -1
- package/dist/reevaluate/view.d.ts.map +1 -1
- package/dist/reevaluate/view.js +21 -1
- package/dist/reevaluate/view.js.map +1 -1
- package/dist/reevaluate/words.d.ts +7 -0
- package/dist/reevaluate/words.d.ts.map +1 -1
- package/dist/scale/ladder.d.ts +62 -6
- package/dist/scale/ladder.d.ts.map +1 -1
- package/dist/scale/ladder.js +127 -16
- package/dist/scale/ladder.js.map +1 -1
- package/dist/scale/render.d.ts +44 -0
- package/dist/scale/render.d.ts.map +1 -1
- package/dist/scale/render.js +223 -30
- package/dist/scale/render.js.map +1 -1
- package/dist/scale/styles.d.ts +11 -5
- package/dist/scale/styles.d.ts.map +1 -1
- package/dist/scale/styles.js +185 -4
- package/dist/scale/styles.js.map +1 -1
- package/dist/workspace/host.d.ts +83 -1
- package/dist/workspace/host.d.ts.map +1 -1
- package/dist/workspace/host.js +197 -4
- package/dist/workspace/host.js.map +1 -1
- package/dist/workspace/inspector.d.ts +33 -7
- package/dist/workspace/inspector.d.ts.map +1 -1
- package/dist/workspace/inspector.js +15 -0
- package/dist/workspace/inspector.js.map +1 -1
- package/dist/workspace/mount.d.ts +23 -1
- package/dist/workspace/mount.d.ts.map +1 -1
- package/dist/workspace/mount.js +605 -20
- package/dist/workspace/mount.js.map +1 -1
- package/dist/workspace/rail.d.ts +5 -2
- package/dist/workspace/rail.d.ts.map +1 -1
- package/dist/workspace/rail.js.map +1 -1
- package/dist/workspace/render.d.ts +390 -3
- package/dist/workspace/render.d.ts.map +1 -1
- package/dist/workspace/render.js +924 -133
- package/dist/workspace/render.js.map +1 -1
- package/dist/workspace/selection.d.ts +11 -0
- package/dist/workspace/selection.d.ts.map +1 -1
- package/dist/workspace/selection.js +10 -0
- package/dist/workspace/selection.js.map +1 -1
- package/dist/workspace/skeleton.d.ts +33 -0
- package/dist/workspace/skeleton.d.ts.map +1 -0
- package/dist/workspace/skeleton.js +56 -0
- package/dist/workspace/skeleton.js.map +1 -0
- package/dist/workspace/styles.d.ts +1 -1
- package/dist/workspace/styles.d.ts.map +1 -1
- package/dist/workspace/styles.js +931 -19
- package/dist/workspace/styles.js.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* §17d's findings panel: the three RELATIONSHIP findings, as a list.
|
|
3
|
+
*
|
|
4
|
+
* `./surface.ts` draws the ambient half — the persistent header count and the
|
|
5
|
+
* left-bar on an affected rail row. Neither says what was found. This module
|
|
6
|
+
* draws the list, so a reader who sees a count has somewhere to read it.
|
|
7
|
+
*
|
|
8
|
+
* ## Three classes, not four — the fourth is `./refused.ts`'
|
|
9
|
+
*
|
|
10
|
+
* `encoding-refused` is drawn OUTSIDE this panel, and SPEC is why: a refusal is
|
|
11
|
+
* *"surfaced on the issue itself, because until it parses the issue has no
|
|
12
|
+
* edges at all and would otherwise look simply unencoded"*. The other three
|
|
13
|
+
* say something about a relationship that exists; that one says the
|
|
14
|
+
* relationships cannot be read.
|
|
15
|
+
*
|
|
16
|
+
* SO THERE ARE TWO COUNTS NOW, AND THEY ARE DIFFERENT NUMBERS ON PURPOSE.
|
|
17
|
+
* `./surface.ts`'s ambient count stays every finding — it is the persistent
|
|
18
|
+
* control, it sits in the workspace chrome beside both surfaces, and a reader
|
|
19
|
+
* works through all four classes. The count in THIS panel's head is this
|
|
20
|
+
* panel's own cards, because it is enclosed by the list it counts. See
|
|
21
|
+
* {@link renderAuditPanel}.
|
|
22
|
+
*
|
|
23
|
+
* ## It is the module `./surface.ts` predicted
|
|
24
|
+
*
|
|
25
|
+
* That file's rule is *"findings travel as data; whatever lists them owns their
|
|
26
|
+
* escaping"*, and it is still true of it: `renderAuditHeader` concatenates by
|
|
27
|
+
* hand and is safe because the only value reaching it is a COUNT. A `detail` is
|
|
28
|
+
* not a number — it is prose about issues a host supplied — so this module is
|
|
29
|
+
* the lister that owns the escaping, and it owns it the way every other leaf in
|
|
30
|
+
* this package does: it builds an {@link ElementSpec} tree and the caller renders
|
|
31
|
+
* it through the viewer's `renderMarkup`. Nothing here writes a tag.
|
|
32
|
+
*
|
|
33
|
+
* ## The card is THREE lines, or FOUR when the finding carries a walk
|
|
34
|
+
*
|
|
35
|
+
* The frame draws a chip, a title, a mono line of the refs, and a prose
|
|
36
|
+
* paragraph. This module long drew three, on this argument: `AuditFinding.detail`
|
|
37
|
+
* ALREADY OPENS WITH THE MEMBERS — `${members.join(' · ')} form a blocked-by
|
|
38
|
+
* cycle; …` — so *"drawing a members line beside it prints every reference
|
|
39
|
+
* twice"*.
|
|
40
|
+
*
|
|
41
|
+
* THAT ARGUMENT WAS RIGHT ABOUT A LINE THE FRAME DOES NOT DRAW. The frame's
|
|
42
|
+
* third line is `#544 → #551 → #560 → #544` — a WALK, not the `·`-joined set
|
|
43
|
+
* the sentence opens with. Calling it "a mono line of the refs" was the slip:
|
|
44
|
+
* the line that was declined and the line drawn below are not the same line, and
|
|
45
|
+
* the refs are the only thing they have in common.
|
|
46
|
+
*
|
|
47
|
+
* SO THE COST IS CONCEDED RATHER THAN ARGUED AWAY. On a card that carries a
|
|
48
|
+
* walk the refs really do appear twice, and the head three times. What buys it
|
|
49
|
+
* is the one thing the sentence cannot say: `#544 · #551 · #560` does not say
|
|
50
|
+
* who waits on whom, and a stuck group's ordering is the first thing a groomer
|
|
51
|
+
* needs in order to pick an edge to cut. Direction appears nowhere else on the
|
|
52
|
+
* card.
|
|
53
|
+
*
|
|
54
|
+
* `detail` IS LEFT BYTE-IDENTICAL, and composing the walk INTO it was the
|
|
55
|
+
* alternative. It is rejected on §17d rather than on the accessible name — a
|
|
56
|
+
* walk-composed sentence would be collision-free by the same construction the
|
|
57
|
+
* current one is, so that cost is not real. The reason is that the frame draws a
|
|
58
|
+
* SEPARATE line and this section is delivered as a frame/implementation pair, so
|
|
59
|
+
* folding it into the sentence deviates from the artifact the work is measured
|
|
60
|
+
* against; and it would give `detail` two shapes, since a component §6.6
|
|
61
|
+
* declines to order has no walk to compose.
|
|
62
|
+
*
|
|
63
|
+
* THE ARROW GLYPH IS `aria-hidden`, AND THAT IS A GAP RATHER THAN A WIN. The
|
|
64
|
+
* only thing the line adds is direction, and the glyph does not carry it: `→`
|
|
65
|
+
* announces as "right arrow", not "waits on". Announcing the line anyway would
|
|
66
|
+
* repeat three refs `detail` has just named, in a form that has lost the reason
|
|
67
|
+
* it was drawn — the same trade `renderAuditPanel`'s `◆` makes below. The
|
|
68
|
+
* remaining options were a visually-hidden utility this package does not have,
|
|
69
|
+
* or an `aria-label` on a `p` with no role, which is not reliably announced. So
|
|
70
|
+
* a screen reader hears exactly what it heard before this line existed, and the
|
|
71
|
+
* ordering is genuinely lost to it. Filed, not resolved here.
|
|
72
|
+
*
|
|
73
|
+
* THE TITLE IS PER CLASS, AND THE FRAME'S ARE PER FINDING. `AuditFinding` has no
|
|
74
|
+
* title field, and this package appends numbers rather than interpolating them
|
|
75
|
+
* (`WorkspaceWords.whyRank` records why), so a per-finding title would need a
|
|
76
|
+
* template language this package has twice refused to ship. Four fixed titles
|
|
77
|
+
* keep the frame's type hierarchy at no cost to the data model; the difference
|
|
78
|
+
* is a stated deviation rather than a silent one.
|
|
79
|
+
*
|
|
80
|
+
* ## The chip carries `data-ig-audit-kind`, NEVER `data-ig-audit`
|
|
81
|
+
*
|
|
82
|
+
* `./styles.ts` ends with an UNQUALIFIED `[data-ig-audit]` rule — deliberately,
|
|
83
|
+
* because it lands on a row the viewer rendered and this layer may not rewrite
|
|
84
|
+
* that row's `class`. So an element out here carrying the same attribute picks
|
|
85
|
+
* up the rail's 2px gold left-bar whatever hue it was given, and the four-hue
|
|
86
|
+
* chip mapping would draw one gold bar on all four. The severity attribute stays
|
|
87
|
+
* reserved for the rail rows it was scoped for.
|
|
88
|
+
*
|
|
89
|
+
* ## There is no filter control here, and that is SPEC's call rather than a cut
|
|
90
|
+
*
|
|
91
|
+
* The frame's panel header carries `filter the rail to these`. SPEC §17a gives
|
|
92
|
+
* the workspace *"an audit **filter** … for focus; an audit **mode** does not"*,
|
|
93
|
+
* and §17d gives the header count one job — *"always the same click"*. That is
|
|
94
|
+
* one control, which `./surface.ts` already draws and which is on screen beside
|
|
95
|
+
* this panel. A second element on `data-ig-audit-filter` would be a second
|
|
96
|
+
* TOGGLE for one boolean (`workspace/host.ts` flips rather than sets), one
|
|
97
|
+
* announcing `aria-pressed` and one not.
|
|
98
|
+
*
|
|
99
|
+
* The frame needs its own because it draws the panel STANDALONE, with no
|
|
100
|
+
* workspace header in the artboard. Composed, it has one.
|
|
101
|
+
*
|
|
102
|
+
* ## `Show the loop` is in, because §17d's rule is navigation
|
|
103
|
+
*
|
|
104
|
+
* `./surface.ts` states the section's own doctrine: *"every finding is a
|
|
105
|
+
* judgment call, so the surface offers navigation and never a remedy."* The
|
|
106
|
+
* frame's other three buttons are remedies and are deferred. Without this one
|
|
107
|
+
* the panel is a paragraph you cannot act on or navigate from, sitting at the
|
|
108
|
+
* top of a column whose whole job is the selection.
|
|
109
|
+
*
|
|
110
|
+
* IT PUBLISHES `reveal-issue`, NOT the `select-issue` the inspector's hold rows
|
|
111
|
+
* use, and the difference is the whole of the control's safety. `select-issue`
|
|
112
|
+
* is a POINTER: with a relationship draft awaiting its target, `workspace/host
|
|
113
|
+
* .ts` reads a pointer as CHOOSING that target and emits the create proposal.
|
|
114
|
+
* So "go and look" would have declared a relationship — a write, from the one
|
|
115
|
+
* surface whose stated rule is that it never offers one. `reveal-issue` moves
|
|
116
|
+
* the selection and abandons the draft, and can produce no edit at all.
|
|
117
|
+
*
|
|
118
|
+
* AND IT IS DRAWN ONLY FOR A LOADED MEMBER — see {@link navigableMember}.
|
|
119
|
+
*
|
|
120
|
+
* @see https://github.com/autnmy/issuegraph/blob/main/SPEC.md
|
|
121
|
+
*/
|
|
122
|
+
import { type ElementSpec } from '@issuegraph/viewer';
|
|
123
|
+
import type { AuditClass } from './findings.ts';
|
|
124
|
+
import type { AuditOverlay } from './surface.ts';
|
|
125
|
+
/**
|
|
126
|
+
* The attribute a severity chip carries.
|
|
127
|
+
*
|
|
128
|
+
* ITS OWN NAME RATHER THAN `AUDIT_SEVERITY_ATTRIBUTE`, for the reason in this
|
|
129
|
+
* module's header: that one is matched by an unqualified rule meant for rail
|
|
130
|
+
* rows, and a chip wearing it would draw the ambient bar.
|
|
131
|
+
*/
|
|
132
|
+
export declare const AUDIT_KIND_ATTRIBUTE = "data-ig-audit-kind";
|
|
133
|
+
/**
|
|
134
|
+
* The words this package will not invent.
|
|
135
|
+
*
|
|
136
|
+
* TOTAL RECORDS OVER {@link AuditClass}, the shape `AUDIT_CLASS_SPECS` already
|
|
137
|
+
* uses, so adding a fifth class is a type error here rather than a chip that
|
|
138
|
+
* silently draws its own key.
|
|
139
|
+
*/
|
|
140
|
+
export interface AuditWords {
|
|
141
|
+
/** Reads the panel's header after the count — the frame's `encoding problems`. */
|
|
142
|
+
readonly heading: string;
|
|
143
|
+
/** The chip on each card. The frame's `cycle`, `stale`, `dead ref`, `refused`. */
|
|
144
|
+
readonly classes: Readonly<Record<AuditClass, string>>;
|
|
145
|
+
/**
|
|
146
|
+
* The card's title line.
|
|
147
|
+
*
|
|
148
|
+
* ONE PER CLASS. See this module's header for why the frame's per-finding
|
|
149
|
+
* titles are not reconstructible.
|
|
150
|
+
*/
|
|
151
|
+
readonly titles: Readonly<Record<AuditClass, string>>;
|
|
152
|
+
/** The navigation control on each card — the frame's `Show the loop`. */
|
|
153
|
+
readonly show: string;
|
|
154
|
+
/**
|
|
155
|
+
* The panel head's filter control — the frame's `filter the rail to these`.
|
|
156
|
+
*
|
|
157
|
+
* IT LIVES HERE NOW RATHER THAN IN THE HEADER. §17d draws it in the panel
|
|
158
|
+
* head, and `RULINGS.md` §3 gives the header count one job instead: anchoring
|
|
159
|
+
* this overlay. One control, one meaning, each.
|
|
160
|
+
*/
|
|
161
|
+
readonly filter: string;
|
|
162
|
+
/**
|
|
163
|
+
* §17d's REMEDIES, one label per control the frame draws.
|
|
164
|
+
*
|
|
165
|
+
* `RULINGS.md` §3 makes these required and forbids auto-fix in the same
|
|
166
|
+
* breath: *"Every button it draws costs one deliberate human keystroke."*
|
|
167
|
+
* None of them writes. Each selects the finding's subject and hands the work
|
|
168
|
+
* to the inspector, which already owns every edit affordance — so the label
|
|
169
|
+
* names the reader's INTENT and the inspector performs it.
|
|
170
|
+
*
|
|
171
|
+
* ONE RECORD, NOT ONE PER CLASS, because the frame gives each class its own
|
|
172
|
+
* wording rather than a shared verb: a `blocked-by` is removed, a
|
|
173
|
+
* `duplicate-of` is repointed, and a cycle is neither.
|
|
174
|
+
*/
|
|
175
|
+
readonly remedies: AuditRemedyWords;
|
|
176
|
+
/**
|
|
177
|
+
* The refused block's own heading — the frame's `Encoding refused`.
|
|
178
|
+
*
|
|
179
|
+
* THE LAST THREE BELONG TO `./refused.ts`, AND THEY LIVE HERE ANYWAY. §17d is
|
|
180
|
+
* one section and its words are one record: a host wiring the audit supplies
|
|
181
|
+
* `AuditWords` once, and splitting a second record off for the fourth class
|
|
182
|
+
* would let a host supply half a section. `classes` and `titles` are already
|
|
183
|
+
* total over `AuditClass`, which includes `encoding-refused` — so the words
|
|
184
|
+
* for that class were never going to sit anywhere else.
|
|
185
|
+
*/
|
|
186
|
+
readonly refusedHeading: string;
|
|
187
|
+
/** The outward link's label. The package draws the `↗`. */
|
|
188
|
+
readonly refusedOpen: string;
|
|
189
|
+
/** The reveal control's label — the frame's `Rewrite from editor`. */
|
|
190
|
+
readonly refusedRewrite: string;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* The four remedy labels §17d draws, and no others.
|
|
194
|
+
*
|
|
195
|
+
* NOT TOTAL OVER `AuditClass`, unlike `classes` and `titles`. The frame gives
|
|
196
|
+
* `cycle` one remedy, `stale-blocker` two, `dead-duplicate-ref` one and
|
|
197
|
+
* `encoding-refused` none — the refusal's own controls are `refusedOpen` and
|
|
198
|
+
* `refusedRewrite`, which already exist. A record keyed by class would make a
|
|
199
|
+
* host supply a label for a button nothing draws.
|
|
200
|
+
*/
|
|
201
|
+
export interface AuditRemedyWords {
|
|
202
|
+
/** The frame's `pick one edge to drop`, on a cycle. */
|
|
203
|
+
readonly pickEdge: string;
|
|
204
|
+
/** The frame's `Remove the edge`, on a stale blocker. */
|
|
205
|
+
readonly removeEdge: string;
|
|
206
|
+
/**
|
|
207
|
+
* The frame's `Keep as history`, on a stale blocker and nowhere else.
|
|
208
|
+
*
|
|
209
|
+
* Drawn from {@link AuditFinding.keepAsHistory}, which the class table
|
|
210
|
+
* already sets — `true` for `stale-blocker` alone. The field predates this
|
|
211
|
+
* control and was waiting for it.
|
|
212
|
+
*/
|
|
213
|
+
readonly keepAsHistory: string;
|
|
214
|
+
/** The frame's `Repoint or clear`, on a dead duplicate ref. */
|
|
215
|
+
readonly repoint: string;
|
|
216
|
+
}
|
|
217
|
+
export interface AuditPanelOptions {
|
|
218
|
+
readonly words: AuditWords;
|
|
219
|
+
/**
|
|
220
|
+
* The edge ids the drawn surface actually holds.
|
|
221
|
+
*
|
|
222
|
+
* THE SAME ARGUMENT `known` MAKES ONE FIELD UP, and it needs its own field
|
|
223
|
+
* for the reason a review round proved: the endpoints do not answer it. Two
|
|
224
|
+
* issues can both be on the drawn page while the edge between them is NOT —
|
|
225
|
+
* `mount.ts` deliberately preserves such omissions — and a remedy gated on
|
|
226
|
+
* the ends alone then publishes `select-edge` for an edge the host cannot
|
|
227
|
+
* resolve, leaving the reader with a button that clears their selection and
|
|
228
|
+
* opens an inspector with no subject.
|
|
229
|
+
*
|
|
230
|
+
* That was the first fix's mistake: "both ends drawn" is a PROXY for "the
|
|
231
|
+
* edge is drawn", and this is the thing itself.
|
|
232
|
+
*/
|
|
233
|
+
readonly edges: ReadonlySet<string>;
|
|
234
|
+
/**
|
|
235
|
+
* Whether the rail is currently narrowed to these findings.
|
|
236
|
+
*
|
|
237
|
+
* The panel DRAWS the state and never holds it: §2's ruling makes the filter
|
|
238
|
+
* a thing the reader can see is on and clear in one click, and the host owns
|
|
239
|
+
* which rows the rail is showing.
|
|
240
|
+
*/
|
|
241
|
+
readonly filtered?: boolean | undefined;
|
|
242
|
+
/**
|
|
243
|
+
* The keys the surface being drawn actually carries, so navigation can only
|
|
244
|
+
* name somewhere the reader can arrive.
|
|
245
|
+
*
|
|
246
|
+
* REQUIRED, AND IT IS THE CALLER'S ANSWER RATHER THAN ONE DERIVED HERE. The
|
|
247
|
+
* audit reads a document that is not always the document on screen: a host
|
|
248
|
+
* audits the whole repository it holds and renders a page of it — the demo's
|
|
249
|
+
* own projection audits `held` while drawing `landed`, which can be empty —
|
|
250
|
+
* so a ref present in `AuditInput.document` may still have no row to reach.
|
|
251
|
+
* The overlay cannot see that difference, and neither can this module.
|
|
252
|
+
*
|
|
253
|
+
* THE SAME SET AND THE SAME RULE `holdRow` ALREADY USES. A hold's subject
|
|
254
|
+
* control is withheld for "a subject the inspector could not resolve", which
|
|
255
|
+
* is this question asked one panel over; `renderWorkspace` computes the set
|
|
256
|
+
* once, off the NORMALIZED document it draws, and hands it to both.
|
|
257
|
+
*/
|
|
258
|
+
readonly known: ReadonlySet<string>;
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* The panel, or `null` when there is nothing to list.
|
|
262
|
+
*
|
|
263
|
+
* `null` RATHER THAN AN EMPTY PANEL, and it is not the same decision as the
|
|
264
|
+
* header count's. The count is drawn at zero on purpose — `./surface.ts`:
|
|
265
|
+
* *"a control that appears when there is bad news is a control the eye has to
|
|
266
|
+
* re-find"* — because it IS the control. A list of nothing is not a control; it
|
|
267
|
+
* is a heading over an empty region in a column whose space belongs to the
|
|
268
|
+
* selection. So the ambient half stays put at zero and the list goes away.
|
|
269
|
+
*
|
|
270
|
+
* IT IS THE LISTED FINDINGS THAT DECIDE, NOT `overlay.findings`. A document
|
|
271
|
+
* whose only findings are encoding refusals has a non-zero count, a bar on
|
|
272
|
+
* every affected row, and NOTHING for this panel to list — so it draws the
|
|
273
|
+
* refused block and no panel at all. Testing the overlay instead would have
|
|
274
|
+
* drawn a panel whose head said `2` above an empty list.
|
|
275
|
+
*/
|
|
276
|
+
export declare function renderAuditPanel(overlay: AuditOverlay, options: AuditPanelOptions): ElementSpec | null;
|
|
277
|
+
//# sourceMappingURL=panel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"panel.d.ts","sourceRoot":"","sources":["../../src/audit/panel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwHG;AAGH,OAAO,EAAE,KAAK,WAAW,EAAW,MAAM,oBAAoB,CAAC;AAE/D,OAAO,KAAK,EAAE,UAAU,EAA2B,MAAM,eAAe,CAAC;AAEzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,uBAAuB,CAAC;AAEzD;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,kFAAkF;IAClF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,kFAAkF;IAClF,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IACvD;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IACtD,yEAAyE;IACzE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC;;;;;;;;;OASG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,2DAA2D;IAC3D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,sEAAsE;IACtE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B,uDAAuD;IACvD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,yDAAyD;IACzD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,+DAA+D;IAC/D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACpC;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACrC;AAuQD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,iBAAiB,GACzB,WAAW,GAAG,IAAI,CAgGpB"}
|