@12ui/design 0.2.42 → 0.2.44
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 +10 -5
- package/SKILL.md +1 -1
- package/dist/cli-branch-command.d.ts.map +1 -1
- package/dist/cli-branch-command.js +10 -2
- package/dist/cli-branch-command.js.map +1 -1
- package/dist/cli-capabilities.d.ts +1 -1
- package/dist/cli-capabilities.js +1 -1
- package/dist/cli-capabilities.js.map +1 -1
- package/dist/cli-prototype-command.d.ts.map +1 -1
- package/dist/cli-prototype-command.js +4 -1
- package/dist/cli-prototype-command.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/prototype-gates.d.ts +8 -0
- package/dist/prototype-gates.d.ts.map +1 -1
- package/dist/prototype-gates.js +39 -5
- package/dist/prototype-gates.js.map +1 -1
- package/dist/prototype-label-client.d.ts +6 -1
- package/dist/prototype-label-client.d.ts.map +1 -1
- package/dist/prototype-label-client.js +21 -2
- package/dist/prototype-label-client.js.map +1 -1
- package/dist/prototype-poststep.d.ts.map +1 -1
- package/dist/prototype-poststep.js +5 -0
- package/dist/prototype-poststep.js.map +1 -1
- package/dist/prototype-revision.d.ts +2 -0
- package/dist/prototype-revision.d.ts.map +1 -0
- package/dist/prototype-revision.js +2 -0
- package/dist/prototype-revision.js.map +1 -0
- package/dist/prototype-run-record.d.ts +5 -1
- package/dist/prototype-run-record.d.ts.map +1 -1
- package/dist/prototype-run-record.js +89 -7
- package/dist/prototype-run-record.js.map +1 -1
- package/dist/prototype-runner.d.ts +4 -1
- package/dist/prototype-runner.d.ts.map +1 -1
- package/dist/prototype-runner.js +15 -9
- package/dist/prototype-runner.js.map +1 -1
- package/dist/run-journal.d.ts +6 -1
- package/dist/run-journal.d.ts.map +1 -1
- package/dist/run-journal.js +10 -2
- package/dist/run-journal.js.map +1 -1
- package/open-design.json +2 -2
- package/package.json +2 -2
- package/prototype-kit/build.mjs +88 -40
- package/prototype-kit/lib/actions.mjs +52 -0
- package/prototype-kit/lib/shell-identity.mjs +139 -0
- package/prototype-kit/lib/shell-stitching.mjs +70 -29
- package/prototype-kit/tests/adversarial-runtime.mjs +16 -1
- package/prototype-kit/tests/fixtures/blocking-runtime/broken-interaction.html +7 -0
- package/prototype-kit/tests/fixtures/four-dropdown/branch.plan.json +29 -0
- package/prototype-kit/tests/fixtures/four-dropdown/pages/p2-stream-proposals.html +10 -0
- package/prototype-kit/tests/fixtures/four-dropdown/pages/p4-live-stream-results.html +7 -0
- package/prototype-kit/tests/fixtures/shell-stitching-runtime/PROVENANCE.md +22 -0
- package/prototype-kit/tests/fixtures/shell-stitching-runtime/branch.plan.json +40 -0
- package/prototype-kit/tests/fixtures/shell-stitching-runtime/pages/p0-donor.html +38 -0
- package/prototype-kit/tests/fixtures/shell-stitching-runtime/pages/p1-id-collision.html +38 -0
- package/prototype-kit/tests/fixtures/shell-stitching-runtime/pages/p2-canvas-control.html +39 -0
- package/prototype-kit/tests/offline-check.mjs +1 -1
- package/prototype-kit/tests/rules-check.mjs +71 -3
- package/prototype-kit/tests/shell-stitching-runtime.mjs +116 -0
package/dist/run-journal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-journal.js","sourceRoot":"","sources":["../src/run-journal.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run-journal.js","sourceRoot":"","sources":["../src/run-journal.ts"],"names":[],"mappings":"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"}
|
package/open-design.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"specVersion": "1.0.0",
|
|
4
4
|
"name": "12ui-design",
|
|
5
5
|
"title": "12UI Design",
|
|
6
|
-
"version": "0.2.
|
|
6
|
+
"version": "0.2.44",
|
|
7
7
|
"description": "Explore corpus-grounded interface directions, choose one, and convert it into production-ready responsive or native artifacts with 12UI.",
|
|
8
8
|
"author": {
|
|
9
9
|
"name": "Just Every",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"command": "npx",
|
|
50
50
|
"args": [
|
|
51
51
|
"-y",
|
|
52
|
-
"@12ui/design@0.2.
|
|
52
|
+
"@12ui/design@0.2.44",
|
|
53
53
|
"mcp"
|
|
54
54
|
]
|
|
55
55
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@12ui/design",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.44",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "The canonical 12ui CLI, SDK, MCP server, and visual interface design skills",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"start": "node dist/cli.js",
|
|
24
24
|
"test": "vitest",
|
|
25
25
|
"test:run": "vitest run",
|
|
26
|
-
"test:prototype": "node prototype-kit/tests/rules-check.mjs && node prototype-kit/tests/offline-check.mjs && node prototype-kit/tests/adversarial-runtime.mjs --assert",
|
|
26
|
+
"test:prototype": "node prototype-kit/tests/rules-check.mjs && node prototype-kit/tests/offline-check.mjs && node prototype-kit/tests/shell-stitching-runtime.mjs && node prototype-kit/tests/adversarial-runtime.mjs --assert",
|
|
27
27
|
"typecheck": "tsc --noEmit && tsc -p tsconfig.type-tests.json",
|
|
28
28
|
"prepublishOnly": "npm run build"
|
|
29
29
|
},
|
package/prototype-kit/build.mjs
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import fs from 'node:fs';
|
|
4
4
|
import path from 'node:path';
|
|
5
5
|
import { parseHTML } from 'linkedom';
|
|
6
|
-
import {
|
|
6
|
+
import { resolveDropdownAction } from './lib/actions.mjs';
|
|
7
7
|
import { restoreActionPointerReachability } from './lib/action-target.mjs';
|
|
8
8
|
import {
|
|
9
9
|
HOLDING_SHELL_ATTRIBUTE,
|
|
@@ -13,6 +13,12 @@ import {
|
|
|
13
13
|
shellPlacementCss,
|
|
14
14
|
} from './lib/holding-composition.mjs';
|
|
15
15
|
import { injectReviewFraming } from './lib/review-framing.mjs';
|
|
16
|
+
import {
|
|
17
|
+
isolateTransplantedShell,
|
|
18
|
+
rulesFor,
|
|
19
|
+
shellElementsForSourceId,
|
|
20
|
+
shellSelectorForSourceId,
|
|
21
|
+
} from './lib/shell-identity.mjs';
|
|
16
22
|
import { stitchUnitShells } from './lib/shell-stitching.mjs';
|
|
17
23
|
import { shouldSuppressDroppedShell } from './lib/shells.mjs';
|
|
18
24
|
import { normalizeText as norm, slugText as slug } from './lib/text.mjs';
|
|
@@ -98,11 +104,6 @@ function loadDoc(file) {
|
|
|
98
104
|
return parseHTML(docCache.get(file));
|
|
99
105
|
}
|
|
100
106
|
function styleText(document) { return [...document.querySelectorAll('style')].map((s) => s.textContent).join('\n'); }
|
|
101
|
-
function rulesFor(css, id) {
|
|
102
|
-
// one selector per rule in these exports; grab every rule whose selector is #id or #id-...
|
|
103
|
-
const re = new RegExp(`#${id.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}(?:-[A-Za-z0-9_-]*)?(?:[:>\\s][^{]*)?\\{[^}]*\\}`, 'g');
|
|
104
|
-
return (css.match(re) || []).join('\n');
|
|
105
|
-
}
|
|
106
107
|
|
|
107
108
|
// ---- canonical shell HTML/CSS per region
|
|
108
109
|
const shell = {};
|
|
@@ -154,6 +155,7 @@ const report = {
|
|
|
154
155
|
units: [],
|
|
155
156
|
unbound: [],
|
|
156
157
|
invalidDropdowns: [],
|
|
158
|
+
actionDemotions: [],
|
|
157
159
|
shellSizeDelta: [],
|
|
158
160
|
shellAmbiguities: model.shellAmbiguities || [],
|
|
159
161
|
suppressedShellOverlaps: [],
|
|
@@ -198,10 +200,27 @@ function actionsFor(s) {
|
|
|
198
200
|
if (d && l) { if (d.action === l.action) report.counts.agree++; else report.counts.disagree++; }
|
|
199
201
|
else if (d) report.counts.detOnly++; else if (l) report.counts.lunaOnly++;
|
|
200
202
|
let a = null;
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
203
|
+
const dropdown = resolveDropdownAction({
|
|
204
|
+
deterministic: d,
|
|
205
|
+
label: l,
|
|
206
|
+
labelId: d?.labelId || c.textId || (c.kind === 'link' ? c.id : null),
|
|
207
|
+
});
|
|
208
|
+
if (dropdown.disposition === 'dropdown') a = dropdown.action;
|
|
209
|
+
else if (dropdown.disposition === 'static') {
|
|
210
|
+
const demotion = {
|
|
211
|
+
state: s.stateId,
|
|
212
|
+
id: c.id,
|
|
213
|
+
...dropdown.degradation,
|
|
214
|
+
};
|
|
215
|
+
report.actionDemotions.push(demotion);
|
|
216
|
+
if (dropdown.degradation.code === 'dropdown_options_incomplete') {
|
|
217
|
+
report.invalidDropdowns.push(demotion);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
else if (dropdown.disposition === 'suppressed') {
|
|
221
|
+
// A recovered explicit none is the labeler's durable decision that this
|
|
222
|
+
// candidate is not safely actionable. Do not resurrect a deterministic
|
|
223
|
+
// dropdown with missing choices.
|
|
205
224
|
}
|
|
206
225
|
else if (l?.action === 'modal') a = { action: 'modal', modal: l.modal || { title: c.text, body: '', confirm: 'OK' } };
|
|
207
226
|
else if (l?.action === 'navigate' || d?.action === 'navigate') {
|
|
@@ -264,7 +283,6 @@ for (const u of units) {
|
|
|
264
283
|
unit: u,
|
|
265
284
|
canonicalShell: model.canonicalShell,
|
|
266
285
|
navRows,
|
|
267
|
-
rulesFor,
|
|
268
286
|
styleText,
|
|
269
287
|
})
|
|
270
288
|
: { extraCss: [], bands: [], decisions: [], changes: 0 };
|
|
@@ -303,6 +321,13 @@ for (const u of units) {
|
|
|
303
321
|
report.counts[a.action]++;
|
|
304
322
|
allActions[id] = a;
|
|
305
323
|
}
|
|
324
|
+
for (const demotion of report.actionDemotions.filter((candidate) => candidate.state === s.stateId)) {
|
|
325
|
+
const el = document.getElementById(demotion.id);
|
|
326
|
+
if (!el) continue;
|
|
327
|
+
el.removeAttribute('data-proto-action');
|
|
328
|
+
el.removeAttribute('data-proto-options');
|
|
329
|
+
el.setAttribute('data-proto-demoted', demotion.code);
|
|
330
|
+
}
|
|
306
331
|
// fields
|
|
307
332
|
for (const f of s.fields) {
|
|
308
333
|
if (acts.has(f.id)) continue;
|
|
@@ -329,8 +354,14 @@ for (const u of units) {
|
|
|
329
354
|
// after every transplant so shared dropdowns/utilities behave on every page.
|
|
330
355
|
const unitRegions = new Set(u.states.flatMap((state) => state.shell.map((item) => item.region)));
|
|
331
356
|
for (const region of unitRegions) for (const [id, action] of canonicalShellActions[region] || []) {
|
|
332
|
-
const elements =
|
|
333
|
-
for (const element of elements)
|
|
357
|
+
const elements = shellElementsForSourceId(document, id);
|
|
358
|
+
for (const element of elements) {
|
|
359
|
+
const scope = element.closest('.ly-band[data-ly-band]') || document;
|
|
360
|
+
const labelId = action.labelId
|
|
361
|
+
? shellElementsForSourceId(scope, action.labelId)[0]?.id || action.labelId
|
|
362
|
+
: null;
|
|
363
|
+
bindAction(element, labelId ? { ...action, labelId } : action);
|
|
364
|
+
}
|
|
334
365
|
if (elements.length && !allActions[id]) {
|
|
335
366
|
allActions[id] = action;
|
|
336
367
|
report.shellActionRemaps++;
|
|
@@ -338,13 +369,15 @@ for (const u of units) {
|
|
|
338
369
|
}
|
|
339
370
|
// nav wiring on the (now shared) canonical shell ids — present wherever a shell was transplanted or is native
|
|
340
371
|
for (const n of navRows) {
|
|
341
|
-
const
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
372
|
+
const elements = shellElementsForSourceId(document, n.rowId);
|
|
373
|
+
const targets = elements.length > 0 ? elements : shellElementsForSourceId(document, n.id);
|
|
374
|
+
for (const el of targets) {
|
|
375
|
+
const tgt = n.target ? (unitOf(n.target)?.id === u.id ? null : fileOf(n.target)) : holdingFile(n.text);
|
|
376
|
+
if (!tgt) { el.removeAttribute('data-proto-action'); continue; }
|
|
377
|
+
el.setAttribute('data-proto-action', 'navigate'); el.setAttribute('data-proto-target', tgt);
|
|
378
|
+
for (const d of el.querySelectorAll('[data-proto-action]')) { d.removeAttribute('data-proto-action'); d.removeAttribute('data-proto-target'); delete allActions[d.id]; }
|
|
379
|
+
allActions[n.rowId] = { action: 'navigate', target: tgt, nav: true };
|
|
380
|
+
}
|
|
348
381
|
}
|
|
349
382
|
// active nav highlight: move the pill style from the canonical active item to this unit's item
|
|
350
383
|
for (const [region, p] of Object.entries(pills)) {
|
|
@@ -353,7 +386,7 @@ for (const u of units) {
|
|
|
353
386
|
// no nav item maps to this page: show no active item rather than the canonical page's
|
|
354
387
|
const anyRow = u.states.some((s) => s.shell.some((x) => x.region === region));
|
|
355
388
|
if (anyRow && p.pill) { const inactive = navRows.find((n) => n.region === region && n.id !== p.own.id); const inText = inactive && shell[region].section.items.find((x) => x.id === inactive.id);
|
|
356
|
-
extraCss.push(
|
|
389
|
+
extraCss.push(`${shellSelectorForSourceId(document, p.pill.id)}{background:transparent!important;box-shadow:none!important}`); if (inText) extraCss.push(`${shellSelectorForSourceId(document, p.own.id)}{color:${inText.color}!important;font-weight:${inText.fontWeight}!important}`); }
|
|
357
390
|
continue;
|
|
358
391
|
}
|
|
359
392
|
if (activeNav.id === p.own.id) continue;
|
|
@@ -361,15 +394,15 @@ for (const u of units) {
|
|
|
361
394
|
const curText = shell[region].section.items.find((x) => x.id === cur.id);
|
|
362
395
|
const ownText = shell[region].section.items.find((x) => x.id === p.own.id);
|
|
363
396
|
if (p.pill) {
|
|
364
|
-
extraCss.push(
|
|
365
|
-
if (cur.row) extraCss.push(
|
|
397
|
+
extraCss.push(`${shellSelectorForSourceId(document, p.pill.id)}{background:transparent!important;box-shadow:none!important}`);
|
|
398
|
+
if (cur.row) extraCss.push(`${shellSelectorForSourceId(document, cur.row.id)}{background:${p.pill.bg}!important;border-radius:${p.pill.radius}!important}`);
|
|
366
399
|
}
|
|
367
|
-
extraCss.push(
|
|
368
|
-
extraCss.push(
|
|
400
|
+
extraCss.push(`${shellSelectorForSourceId(document, cur.id)}{color:${p.textColor}!important;font-weight:${p.textWeight}!important}`);
|
|
401
|
+
extraCss.push(`${shellSelectorForSourceId(document, p.own.id)}{color:${curText.color}!important;font-weight:${curText.fontWeight}!important}`);
|
|
369
402
|
// swap icon colours too (icon = previous sibling of the text inside the row)
|
|
370
403
|
const ownIcon = shell[region].section.items.find((x) => x.cls.includes('icon') && p.own.row && x.chain.includes(p.own.row.id));
|
|
371
404
|
const curIcon = shell[region].section.items.find((x) => x.cls.includes('icon') && cur.row && x.chain.includes(cur.row.id));
|
|
372
|
-
if (ownIcon && curIcon) { extraCss.push(
|
|
405
|
+
if (ownIcon && curIcon) { extraCss.push(`${shellSelectorForSourceId(document, curIcon.id)}{color:${ownIcon.color}!important}`); extraCss.push(`${shellSelectorForSourceId(document, ownIcon.id)}{color:${curIcon.color}!important}`); }
|
|
373
406
|
}
|
|
374
407
|
// inject runtime
|
|
375
408
|
const head = document.querySelector('head');
|
|
@@ -469,7 +502,8 @@ for (const u of units) {
|
|
|
469
502
|
return {
|
|
470
503
|
...candidate,
|
|
471
504
|
region,
|
|
472
|
-
|
|
505
|
+
sourceContainerId: candidate.containerId,
|
|
506
|
+
sourceElement: element.cloneNode(true),
|
|
473
507
|
css: rulesFor(styleText(donorDocument), candidate.containerId),
|
|
474
508
|
ancestorIds,
|
|
475
509
|
};
|
|
@@ -480,18 +514,30 @@ for (const u of units) {
|
|
|
480
514
|
}
|
|
481
515
|
for (const child of [...host.children]) child.remove();
|
|
482
516
|
const parentShell = (placed) => placedShells.find((candidate) => (
|
|
483
|
-
candidate !== placed && placed.ancestorIds.includes(candidate.
|
|
517
|
+
candidate !== placed && placed.ancestorIds.includes(candidate.sourceContainerId)
|
|
484
518
|
));
|
|
485
519
|
for (const placed of placedShells.filter((candidate) => !parentShell(candidate))) {
|
|
486
|
-
|
|
520
|
+
const subtreeCss = placedShells
|
|
521
|
+
.filter((candidate) => candidate === placed || candidate.ancestorIds.includes(placed.sourceContainerId))
|
|
522
|
+
.map((candidate) => candidate.css)
|
|
523
|
+
.filter(Boolean)
|
|
524
|
+
.join('\n');
|
|
525
|
+
const isolated = isolateTransplantedShell({
|
|
526
|
+
document,
|
|
527
|
+
sourceElement: placed.sourceElement,
|
|
528
|
+
css: subtreeCss,
|
|
529
|
+
namespaceParts: ['holding', key, placed.region],
|
|
530
|
+
});
|
|
531
|
+
host.insertAdjacentHTML('beforeend', isolated.html);
|
|
532
|
+
if (isolated.css) extraCss.push(isolated.css);
|
|
487
533
|
}
|
|
488
534
|
for (const placed of placedShells) {
|
|
489
|
-
const element =
|
|
535
|
+
const element = shellElementsForSourceId(host, placed.sourceContainerId)[0];
|
|
490
536
|
if (!element || !host.contains(element)) {
|
|
491
|
-
throw new Error(`Holding composition failed to retain ${placed.region} shell ${placed.
|
|
537
|
+
throw new Error(`Holding composition failed to retain ${placed.region} shell ${placed.sourceContainerId} in band ${key}.`);
|
|
492
538
|
}
|
|
539
|
+
placed.containerId = element.id;
|
|
493
540
|
element.setAttribute(HOLDING_SHELL_ATTRIBUTE, placed.region);
|
|
494
|
-
if (placed.css) extraCss.push(placed.css);
|
|
495
541
|
const parent = parentShell(placed);
|
|
496
542
|
const box = parent
|
|
497
543
|
? [placed.box[0] - parent.box[0], placed.box[1] - parent.box[1], placed.box[2], placed.box[3]]
|
|
@@ -548,16 +594,18 @@ for (const u of units) {
|
|
|
548
594
|
const p = pills[navMatch.region];
|
|
549
595
|
if (p && p.own.id !== navMatch.id) {
|
|
550
596
|
const curText = shell[navMatch.region].section.items.find((x) => x.id === navMatch.id);
|
|
551
|
-
if (p.pill) { extraCss.push(
|
|
552
|
-
extraCss.push(
|
|
553
|
-
extraCss.push(
|
|
597
|
+
if (p.pill) { extraCss.push(`${shellSelectorForSourceId(document, p.pill.id)}{background:transparent!important;box-shadow:none!important}`); if (navMatch.row) extraCss.push(`${shellSelectorForSourceId(document, navMatch.row.id)}{background:${p.pill.bg}!important;border-radius:${p.pill.radius}!important}`); }
|
|
598
|
+
extraCss.push(`${shellSelectorForSourceId(document, navMatch.id)}{color:${p.textColor}!important;font-weight:${p.textWeight}!important}`);
|
|
599
|
+
extraCss.push(`${shellSelectorForSourceId(document, p.own.id)}{color:${curText.color}!important;font-weight:${curText.fontWeight}!important}`);
|
|
554
600
|
}
|
|
555
601
|
}
|
|
556
602
|
for (const n of navRows) {
|
|
557
|
-
const
|
|
558
|
-
|
|
559
|
-
const
|
|
560
|
-
|
|
603
|
+
const elements = shellElementsForSourceId(document, n.rowId);
|
|
604
|
+
const targets = elements.length > 0 ? elements : shellElementsForSourceId(document, n.id);
|
|
605
|
+
for (const el of targets) {
|
|
606
|
+
const tgt = n.holding === hslug ? null : n.target ? fileOf(n.target) : holdingFile(n.text);
|
|
607
|
+
if (tgt) { el.setAttribute('data-proto-action', 'navigate'); el.setAttribute('data-proto-target', tgt); for (const d of el.querySelectorAll('[data-proto-action]')) d.removeAttribute('data-proto-action'); }
|
|
608
|
+
}
|
|
561
609
|
}
|
|
562
610
|
document.title = htitle;
|
|
563
611
|
document.querySelector('head').insertAdjacentHTML('beforeend', `<style id="proto-extra">${extraCss.join('\n')}</style><link rel="stylesheet" href="proto.css">`);
|
|
@@ -575,5 +623,5 @@ fs.writeFileSync(path.join(outDir, 'index.html'), `<!doctype html><meta http-equ
|
|
|
575
623
|
const manifestHoldings = review
|
|
576
624
|
? [...usedHoldings.entries()].map(([holding, title]) => [holding.replace(/\.html$/, ''), title])
|
|
577
625
|
: [...usedHoldings.entries()];
|
|
578
|
-
fs.writeFileSync(path.join(outDir, 'proto-manifest.json'), JSON.stringify({ units: report.units, nav: navRows.map((n) => ({ text: n.text, target: n.target, holding: n.holding, rowId: n.rowId })), holdings: manifestHoldings, counts: report.counts, unbound: report.unbound, invalidDropdowns: report.invalidDropdowns, shellSizeDelta: report.shellSizeDelta, shellAmbiguities: report.shellAmbiguities, suppressedShellOverlaps: report.suppressedShellOverlaps, skippedShellTransplants: report.skippedShellTransplants, replacedShellActions: report.replacedShellActions, shellActionRemaps: report.shellActionRemaps, scriptDirections: states.map(({ stateId, scriptDirection, writingMode }) => ({ stateId, scriptDirection, writingMode })), canonicalShell: model.canonicalShell, canonicalShellPage: report.canonicalShellPage, shellConsistency: report.shellConsistency, ...(review ? { review } : {}) }, null, 1));
|
|
626
|
+
fs.writeFileSync(path.join(outDir, 'proto-manifest.json'), JSON.stringify({ units: report.units, nav: navRows.map((n) => ({ text: n.text, target: n.target, holding: n.holding, rowId: n.rowId })), holdings: manifestHoldings, counts: report.counts, unbound: report.unbound, invalidDropdowns: report.invalidDropdowns, ...(report.actionDemotions.length > 0 ? { actionDemotions: report.actionDemotions } : {}), shellSizeDelta: report.shellSizeDelta, shellAmbiguities: report.shellAmbiguities, suppressedShellOverlaps: report.suppressedShellOverlaps, skippedShellTransplants: report.skippedShellTransplants, replacedShellActions: report.replacedShellActions, shellActionRemaps: report.shellActionRemaps, scriptDirections: states.map(({ stateId, scriptDirection, writingMode }) => ({ stateId, scriptDirection, writingMode })), canonicalShell: model.canonicalShell, canonicalShellPage: report.canonicalShellPage, shellConsistency: report.shellConsistency, ...(review ? { review } : {}) }, null, 1));
|
|
579
627
|
console.error('counts', JSON.stringify(report.counts), 'unbound', report.unbound.length);
|
|
@@ -13,3 +13,55 @@ export function usableDropdownOptions(options) {
|
|
|
13
13
|
}
|
|
14
14
|
return unique.length >= 3 ? unique : null;
|
|
15
15
|
}
|
|
16
|
+
|
|
17
|
+
export function suppressDeterministicAction(label) {
|
|
18
|
+
return label?.action === 'none';
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* One policy boundary for a dropdown-shaped control. The analyzer may know
|
|
23
|
+
* that the source looks like a dropdown while the semantic label chooses a
|
|
24
|
+
* different action or supplies an incomplete option set. Only a proven set of
|
|
25
|
+
* three distinct options is actionable; every other dropdown-shaped result is
|
|
26
|
+
* deliberately static and carries a machine-readable degradation fact.
|
|
27
|
+
*/
|
|
28
|
+
export function resolveDropdownAction({ deterministic, label, labelId }) {
|
|
29
|
+
if (suppressDeterministicAction(label)) {
|
|
30
|
+
return deterministic?.action === 'dropdown'
|
|
31
|
+
? {
|
|
32
|
+
disposition: 'static',
|
|
33
|
+
degradation: {
|
|
34
|
+
code: 'label_none_overrode_deterministic_dropdown',
|
|
35
|
+
reason: 'explicit-label-none',
|
|
36
|
+
fromAction: 'dropdown',
|
|
37
|
+
toAction: 'none',
|
|
38
|
+
options: [],
|
|
39
|
+
},
|
|
40
|
+
}
|
|
41
|
+
: { disposition: 'suppressed' };
|
|
42
|
+
}
|
|
43
|
+
if (deterministic?.action !== 'dropdown' && label?.action !== 'dropdown') {
|
|
44
|
+
return { disposition: 'not-dropdown' };
|
|
45
|
+
}
|
|
46
|
+
const options = usableDropdownOptions(label?.options);
|
|
47
|
+
if (!options) {
|
|
48
|
+
return {
|
|
49
|
+
disposition: 'static',
|
|
50
|
+
degradation: {
|
|
51
|
+
code: 'dropdown_options_incomplete',
|
|
52
|
+
reason: 'fewer-than-three-distinct-options',
|
|
53
|
+
fromAction: label?.action || deterministic?.action || 'dropdown',
|
|
54
|
+
toAction: 'none',
|
|
55
|
+
options: Array.isArray(label?.options) ? label.options : [],
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
return {
|
|
60
|
+
disposition: 'dropdown',
|
|
61
|
+
action: {
|
|
62
|
+
action: 'dropdown',
|
|
63
|
+
labelId,
|
|
64
|
+
options,
|
|
65
|
+
},
|
|
66
|
+
};
|
|
67
|
+
}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
const SOURCE_ID_ATTRIBUTE = 'data-proto-shell-source-id';
|
|
2
|
+
const ID_REFERENCE_ATTRIBUTES = new Set([
|
|
3
|
+
'aria-activedescendant',
|
|
4
|
+
'aria-controls',
|
|
5
|
+
'aria-describedby',
|
|
6
|
+
'aria-details',
|
|
7
|
+
'aria-errormessage',
|
|
8
|
+
'aria-flowto',
|
|
9
|
+
'aria-labelledby',
|
|
10
|
+
'aria-owns',
|
|
11
|
+
'commandfor',
|
|
12
|
+
'data-proto-field',
|
|
13
|
+
'data-proto-label',
|
|
14
|
+
'data-proto-submit-for',
|
|
15
|
+
'for',
|
|
16
|
+
'form',
|
|
17
|
+
'headers',
|
|
18
|
+
'list',
|
|
19
|
+
'popovertarget',
|
|
20
|
+
]);
|
|
21
|
+
|
|
22
|
+
function escapeRegex(value) {
|
|
23
|
+
return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function safeIdentityPart(value) {
|
|
27
|
+
return String(value).toLowerCase().replace(/[^a-z0-9_-]+/g, '-').replace(/^-+|-+$/g, '') || 'shell';
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function rewriteHashIds(value, identities) {
|
|
31
|
+
let rewritten = value;
|
|
32
|
+
for (const [sourceId, physicalId] of [...identities].sort(([left], [right]) => right.length - left.length)) {
|
|
33
|
+
rewritten = rewritten.replace(
|
|
34
|
+
new RegExp(`#${escapeRegex(sourceId)}(?=[^A-Za-z0-9_-]|$)`, 'g'),
|
|
35
|
+
`#${physicalId}`,
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
return rewritten;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
function rewriteIdentityReferences(root, identities) {
|
|
42
|
+
for (const element of [root, ...root.querySelectorAll('*')]) for (const attribute of [...element.attributes]) {
|
|
43
|
+
let value = attribute.value;
|
|
44
|
+
if (ID_REFERENCE_ATTRIBUTES.has(attribute.name)) {
|
|
45
|
+
value = value.split(/(\s+)/).map((token) => identities.get(token) || token).join('');
|
|
46
|
+
}
|
|
47
|
+
value = rewriteHashIds(value, identities);
|
|
48
|
+
if (attribute.name === 'begin' || attribute.name === 'end') {
|
|
49
|
+
for (const [sourceId, physicalId] of identities) {
|
|
50
|
+
value = value.replace(
|
|
51
|
+
new RegExp(`(^|;)${escapeRegex(sourceId)}(?=\\.)`, 'g'),
|
|
52
|
+
`$1${physicalId}`,
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
if (value !== attribute.value) element.setAttribute(attribute.name, value);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function unusedNamespace(document, parts) {
|
|
61
|
+
const existing = [...document.querySelectorAll('[id]')].map((element) => element.id);
|
|
62
|
+
const base = `proto-shell-${parts.map(safeIdentityPart).join('-')}`;
|
|
63
|
+
let namespace = base;
|
|
64
|
+
let suffix = 2;
|
|
65
|
+
while (existing.some((id) => id === namespace || id.startsWith(`${namespace}-`))) {
|
|
66
|
+
namespace = `${base}-${suffix}`;
|
|
67
|
+
suffix++;
|
|
68
|
+
}
|
|
69
|
+
return namespace;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
function isolatedElements(root, sourceId) {
|
|
73
|
+
const elements = [];
|
|
74
|
+
if (root.nodeType === 1 && root.getAttribute(SOURCE_ID_ATTRIBUTE) === sourceId) elements.push(root);
|
|
75
|
+
for (const element of root.querySelectorAll(`[${SOURCE_ID_ATTRIBUTE}]`)) {
|
|
76
|
+
if (element.getAttribute(SOURCE_ID_ATTRIBUTE) === sourceId) elements.push(element);
|
|
77
|
+
}
|
|
78
|
+
return elements;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
function identitiesIn(root) {
|
|
82
|
+
return new Map(
|
|
83
|
+
[root, ...root.querySelectorAll(`[${SOURCE_ID_ATTRIBUTE}]`)]
|
|
84
|
+
.filter((element) => element.getAttribute(SOURCE_ID_ATTRIBUTE))
|
|
85
|
+
.map((element) => [element.getAttribute(SOURCE_ID_ATTRIBUTE), element.id]),
|
|
86
|
+
);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/** Clone foreign shell DOM under opaque physical ids and rewrite every internal reference and donor selector. */
|
|
90
|
+
export function isolateTransplantedShell({ document, sourceElement, css, namespaceParts }) {
|
|
91
|
+
const clone = sourceElement.cloneNode(true);
|
|
92
|
+
const identityNodes = [clone, ...clone.querySelectorAll('[id]')].filter((element) => element.id);
|
|
93
|
+
const identities = new Map();
|
|
94
|
+
const namespace = unusedNamespace(document, namespaceParts);
|
|
95
|
+
for (const [index, element] of identityNodes.entries()) {
|
|
96
|
+
if (identities.has(element.id)) {
|
|
97
|
+
throw new Error(`Canonical shell isolation found duplicate donor id ${element.id}.`);
|
|
98
|
+
}
|
|
99
|
+
identities.set(element.id, `${namespace}-${index + 1}`);
|
|
100
|
+
}
|
|
101
|
+
rewriteIdentityReferences(clone, identities);
|
|
102
|
+
for (const element of identityNodes) {
|
|
103
|
+
const sourceId = element.id;
|
|
104
|
+
element.id = identities.get(sourceId);
|
|
105
|
+
element.setAttribute(SOURCE_ID_ATTRIBUTE, sourceId);
|
|
106
|
+
}
|
|
107
|
+
return {
|
|
108
|
+
css: rewriteHashIds(css, identities),
|
|
109
|
+
html: clone.outerHTML,
|
|
110
|
+
identities,
|
|
111
|
+
rootId: identities.get(sourceElement.id),
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/** Resolve a logical donor id to the physical nodes emitted for this document or subtree. */
|
|
116
|
+
export function shellElementsForSourceId(root, sourceId) {
|
|
117
|
+
const isolated = isolatedElements(root, sourceId);
|
|
118
|
+
if (isolated.length > 0) return isolated;
|
|
119
|
+
const document = root.nodeType === 9 ? root : root.ownerDocument;
|
|
120
|
+
const original = document?.getElementById(sourceId) || null;
|
|
121
|
+
return original && (root.nodeType === 9 || root === original || root.contains(original)) ? [original] : [];
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/** Build a CSS selector that follows a logical donor identity through shell isolation. */
|
|
125
|
+
export function shellSelectorForSourceId(document, sourceId) {
|
|
126
|
+
const elements = shellElementsForSourceId(document, sourceId);
|
|
127
|
+
return (elements.length > 0 ? elements.map((element) => `#${element.id}`) : [`#${sourceId}`]).join(',');
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/** Rewrite an additional donor rule set for a shell that was already isolated as part of an ancestor. */
|
|
131
|
+
export function cssForIsolatedShell(root, css) {
|
|
132
|
+
return rewriteHashIds(css, identitiesIn(root));
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
export function rulesFor(css, id) {
|
|
136
|
+
// One selector per rule in these exports; retain rules owned by this shell id family.
|
|
137
|
+
const re = new RegExp(`#${escapeRegex(id)}(?:-[A-Za-z0-9_-]*)?(?:[:>\\s][^{]*)?\\{[^}]*\\}`, 'g');
|
|
138
|
+
return (css.match(re) || []).join('\n');
|
|
139
|
+
}
|