@ethlete/cli 3.0.0-next.26 → 3.0.0-next.28
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/CHANGELOG.md +481 -0
- package/build-info.json +1 -0
- package/design/arrow-anchor.ts +55 -0
- package/design/define-call.ts +75 -30
- package/design/define-part.ts +64 -4
- package/design/icon-sheet.ts +1 -1
- package/design/interaction-rows.ts +13 -6
- package/design/mark-part.ts +51 -1
- package/design/token-sheet.ts +1 -1
- package/design/web/frame-fit.ts +7 -0
- package/design/web/frame-surfaces.ts +294 -0
- package/design/web/frame.ts +69 -15
- package/design/web/surface-interactive.css +42 -0
- package/design/with-action.ts +29 -0
- package/package.json +3 -1
- package/src/index.js +9 -1
- package/src/index.js.map +1 -1
- package/src/lib/api/compose.js +3 -2
- package/src/lib/api/compose.js.map +1 -1
- package/src/lib/api/git.js +2 -1
- package/src/lib/api/git.js.map +1 -1
- package/src/lib/api/setup.js +2 -2
- package/src/lib/api/setup.js.map +1 -1
- package/src/lib/design/asset-shot.js +4 -4
- package/src/lib/design/asset-shot.js.map +1 -1
- package/src/lib/design/blank-png.d.ts +2 -0
- package/src/lib/design/blank-png.js +28 -0
- package/src/lib/design/blank-png.js.map +1 -0
- package/src/lib/design/build-watch.d.ts +26 -0
- package/src/lib/design/build-watch.js +138 -0
- package/src/lib/design/build-watch.js.map +1 -0
- package/src/lib/design/cache-entry.d.ts +8 -0
- package/src/lib/design/cache-entry.js +30 -0
- package/src/lib/design/cache-entry.js.map +1 -0
- package/src/lib/design/calls-tsconfig.js +20 -13
- package/src/lib/design/calls-tsconfig.js.map +1 -1
- package/src/lib/design/calls.js +3 -3
- package/src/lib/design/calls.js.map +1 -1
- package/src/lib/design/changed-parts.d.ts +1 -1
- package/src/lib/design/check.d.ts +2 -0
- package/src/lib/design/check.js +217 -24
- package/src/lib/design/check.js.map +1 -1
- package/src/lib/design/code-hash.d.ts +30 -0
- package/src/lib/design/code-hash.js +118 -0
- package/src/lib/design/code-hash.js.map +1 -0
- package/src/lib/design/commit-hunks.d.ts +22 -0
- package/src/lib/design/commit-hunks.js +173 -0
- package/src/lib/design/commit-hunks.js.map +1 -0
- package/src/lib/design/design-command.d.ts +2 -0
- package/src/lib/design/design-command.js +271 -27
- package/src/lib/design/design-command.js.map +1 -1
- package/src/lib/design/{paths.d.ts → design-config.d.ts} +34 -28
- package/src/lib/design/design-config.js +35 -0
- package/src/lib/design/design-config.js.map +1 -0
- package/src/lib/design/design-lint.d.ts +68 -0
- package/src/lib/design/design-lint.js +183 -0
- package/src/lib/design/design-lint.js.map +1 -0
- package/src/lib/design/draw-ledger.d.ts +6 -0
- package/src/lib/design/draw-ledger.js +10 -0
- package/src/lib/design/draw-ledger.js.map +1 -1
- package/src/lib/design/force-interactions.d.ts +3 -1
- package/src/lib/design/force-interactions.js +8 -4
- package/src/lib/design/force-interactions.js.map +1 -1
- package/src/lib/design/generated-stylesheets.d.ts +1 -1
- package/src/lib/design/generated-stylesheets.js +2 -2
- package/src/lib/design/generated-stylesheets.js.map +1 -1
- package/src/lib/design/git-top.d.ts +5 -0
- package/src/lib/design/git-top.js +16 -0
- package/src/lib/design/git-top.js.map +1 -0
- package/src/lib/design/hooks-problem.d.ts +2 -0
- package/src/lib/design/hooks-problem.js +23 -0
- package/src/lib/design/hooks-problem.js.map +1 -0
- package/src/lib/design/inbox-command.js +9 -5
- package/src/lib/design/inbox-command.js.map +1 -1
- package/src/lib/design/index.d.ts +4 -1
- package/src/lib/design/index.js +4 -1
- package/src/lib/design/index.js.map +1 -1
- package/src/lib/design/is-running.d.ts +1 -0
- package/src/lib/design/is-running.js +14 -0
- package/src/lib/design/is-running.js.map +1 -0
- package/src/lib/design/legacy.js +3 -3
- package/src/lib/design/legacy.js.map +1 -1
- package/src/lib/design/mcp-command.d.ts +5 -1
- package/src/lib/design/mcp-command.js +27 -16
- package/src/lib/design/mcp-command.js.map +1 -1
- package/src/lib/design/merge-compare.d.ts +10 -2
- package/src/lib/design/merge-compare.js +63 -11
- package/src/lib/design/merge-compare.js.map +1 -1
- package/src/lib/design/motion-command.js +4 -4
- package/src/lib/design/motion-command.js.map +1 -1
- package/src/lib/design/motion-shot.js +3 -2
- package/src/lib/design/motion-shot.js.map +1 -1
- package/src/lib/design/new-call.js +22 -13
- package/src/lib/design/new-call.js.map +1 -1
- package/src/lib/design/old-shot-folders.d.ts +2 -0
- package/src/lib/design/old-shot-folders.js +26 -0
- package/src/lib/design/old-shot-folders.js.map +1 -0
- package/src/lib/design/package-root.d.ts +21 -0
- package/src/lib/design/package-root.js +79 -0
- package/src/lib/design/package-root.js.map +1 -0
- package/src/lib/design/parent-watch.d.ts +7 -0
- package/src/lib/design/parent-watch.js +23 -0
- package/src/lib/design/parent-watch.js.map +1 -0
- package/src/lib/design/part-marks.d.ts +3 -2
- package/src/lib/design/part-marks.js +15 -7
- package/src/lib/design/part-marks.js.map +1 -1
- package/src/lib/design/phase-timing.d.ts +5 -0
- package/src/lib/design/phase-timing.js +27 -0
- package/src/lib/design/phase-timing.js.map +1 -0
- package/src/lib/design/physical-cores.d.ts +12 -0
- package/src/lib/design/physical-cores.js +43 -0
- package/src/lib/design/physical-cores.js.map +1 -0
- package/src/lib/design/product-command.d.ts +1 -1
- package/src/lib/design/product-command.js +16 -18
- package/src/lib/design/product-command.js.map +1 -1
- package/src/lib/design/push-status.d.ts +30 -0
- package/src/lib/design/push-status.js +122 -0
- package/src/lib/design/push-status.js.map +1 -0
- package/src/lib/design/ready-shots.d.ts +21 -12
- package/src/lib/design/ready-shots.js +79 -44
- package/src/lib/design/ready-shots.js.map +1 -1
- package/src/lib/design/render-packages.d.ts +7 -18
- package/src/lib/design/render-packages.js +24 -63
- package/src/lib/design/render-packages.js.map +1 -1
- package/src/lib/design/render-worker.js +24 -6
- package/src/lib/design/render-worker.js.map +1 -1
- package/src/lib/design/render.d.ts +26 -3
- package/src/lib/design/render.js +52 -13
- package/src/lib/design/render.js.map +1 -1
- package/src/lib/design/resident/client.d.ts +52 -0
- package/src/lib/design/resident/client.js +263 -0
- package/src/lib/design/resident/client.js.map +1 -0
- package/src/lib/design/resident/discovery.d.ts +21 -0
- package/src/lib/design/resident/discovery.js +63 -0
- package/src/lib/design/resident/discovery.js.map +1 -0
- package/src/lib/design/resident/resident-process.d.ts +19 -0
- package/src/lib/design/resident/resident-process.js +189 -0
- package/src/lib/design/resident/resident-process.js.map +1 -0
- package/src/lib/design/resident/server.d.ts +52 -0
- package/src/lib/design/resident/server.js +212 -0
- package/src/lib/design/resident/server.js.map +1 -0
- package/src/lib/design/run-abort.d.ts +9 -0
- package/src/lib/design/run-abort.js +45 -0
- package/src/lib/design/run-abort.js.map +1 -0
- package/src/lib/design/run-deadline.d.ts +19 -0
- package/src/lib/design/run-deadline.js +104 -0
- package/src/lib/design/run-deadline.js.map +1 -0
- package/src/lib/design/run-yield.d.ts +8 -0
- package/src/lib/design/run-yield.js +43 -0
- package/src/lib/design/run-yield.js.map +1 -0
- package/src/lib/design/serve-state.d.ts +15 -0
- package/src/lib/design/serve-state.js +56 -0
- package/src/lib/design/serve-state.js.map +1 -0
- package/src/lib/design/serve.d.ts +41 -3
- package/src/lib/design/serve.js +272 -54
- package/src/lib/design/serve.js.map +1 -1
- package/src/lib/design/server-identity.d.ts +40 -0
- package/src/lib/design/server-identity.js +71 -0
- package/src/lib/design/server-identity.js.map +1 -0
- package/src/lib/design/settle-frames.d.ts +4 -0
- package/src/lib/design/settle-frames.js +22 -0
- package/src/lib/design/settle-frames.js.map +1 -0
- package/src/lib/design/shot-board.d.ts +26 -0
- package/src/lib/design/shot-board.js +80 -0
- package/src/lib/design/shot-board.js.map +1 -0
- package/src/lib/design/shot-command.d.ts +26 -5
- package/src/lib/design/shot-command.js +143 -50
- package/src/lib/design/shot-command.js.map +1 -1
- package/src/lib/design/shot-store.d.ts +29 -3
- package/src/lib/design/shot-store.js +206 -36
- package/src/lib/design/shot-store.js.map +1 -1
- package/src/lib/design/shot.d.ts +60 -2
- package/src/lib/design/shot.js +238 -28
- package/src/lib/design/shot.js.map +1 -1
- package/src/lib/design/sketch-at.js +2 -1
- package/src/lib/design/sketch-at.js.map +1 -1
- package/src/lib/design/sketch-command.d.ts +19 -1
- package/src/lib/design/sketch-command.js +664 -159
- package/src/lib/design/sketch-command.js.map +1 -1
- package/src/lib/design/ssr-shims.d.ts +1 -0
- package/src/lib/design/ssr-shims.js +3 -3
- package/src/lib/design/ssr-shims.js.map +1 -1
- package/src/lib/design/stale-cli-dist.d.ts +11 -0
- package/src/lib/design/stale-cli-dist.js +56 -0
- package/src/lib/design/stale-cli-dist.js.map +1 -0
- package/src/lib/design/stamp.d.ts +23 -1
- package/src/lib/design/stamp.js +56 -9
- package/src/lib/design/stamp.js.map +1 -1
- package/src/lib/design/started-by-studio.d.ts +1 -0
- package/src/lib/design/started-by-studio.js +6 -0
- package/src/lib/design/started-by-studio.js.map +1 -0
- package/src/lib/design/status.d.ts +1 -1
- package/src/lib/design/status.js +15 -4
- package/src/lib/design/status.js.map +1 -1
- package/src/lib/design/studio-api.d.ts +21 -10
- package/src/lib/design/studio-api.js +192 -88
- package/src/lib/design/studio-api.js.map +1 -1
- package/src/lib/design/system/accepted-pictures.d.ts +69 -0
- package/src/lib/design/system/accepted-pictures.js +346 -0
- package/src/lib/design/system/accepted-pictures.js.map +1 -0
- package/src/lib/design/system/action-cache.d.ts +45 -0
- package/src/lib/design/system/action-cache.js +72 -0
- package/src/lib/design/system/action-cache.js.map +1 -0
- package/src/lib/design/system/action-lost.d.ts +61 -0
- package/src/lib/design/system/action-lost.js +116 -0
- package/src/lib/design/system/action-lost.js.map +1 -0
- package/src/lib/design/system/action-press.d.ts +29 -0
- package/src/lib/design/system/action-press.js +88 -0
- package/src/lib/design/system/action-press.js.map +1 -0
- package/src/lib/design/system/action-undeclared.d.ts +34 -0
- package/src/lib/design/system/action-undeclared.js +81 -0
- package/src/lib/design/system/action-undeclared.js.map +1 -0
- package/src/lib/design/system/actions-command.d.ts +108 -0
- package/src/lib/design/system/actions-command.js +816 -0
- package/src/lib/design/system/actions-command.js.map +1 -0
- package/src/lib/design/system/actions.d.ts +181 -0
- package/src/lib/design/system/actions.js +333 -0
- package/src/lib/design/system/actions.js.map +1 -0
- package/src/lib/design/system/anti-alias.d.ts +2 -0
- package/src/lib/design/system/anti-alias.js +11 -0
- package/src/lib/design/system/anti-alias.js.map +1 -0
- package/src/lib/design/system/app-files.d.ts +10 -0
- package/src/lib/design/system/app-files.js +175 -0
- package/src/lib/design/system/app-files.js.map +1 -0
- package/src/lib/design/system/arrow-anchor.d.ts +9 -0
- package/src/lib/design/system/arrow-anchor.js +40 -0
- package/src/lib/design/system/arrow-anchor.js.map +1 -0
- package/src/lib/design/system/base-issues.d.ts +28 -0
- package/src/lib/design/system/base-issues.js +80 -0
- package/src/lib/design/system/base-issues.js.map +1 -0
- package/src/lib/design/system/base.d.ts +1 -1
- package/src/lib/design/system/base.js +2 -2
- package/src/lib/design/system/base.js.map +1 -1
- package/src/lib/design/system/baseline-history.d.ts +13 -0
- package/src/lib/design/system/baseline-history.js +40 -0
- package/src/lib/design/system/baseline-history.js.map +1 -0
- package/src/lib/design/system/bespoke-controls.d.ts +33 -0
- package/src/lib/design/system/bespoke-controls.js +149 -0
- package/src/lib/design/system/bespoke-controls.js.map +1 -0
- package/src/lib/design/system/build-ready-contract.d.ts +33 -0
- package/src/lib/design/system/build-ready-contract.js +18 -0
- package/src/lib/design/system/build-ready-contract.js.map +1 -0
- package/src/lib/design/system/build-running.d.ts +13 -0
- package/src/lib/design/system/build-running.js +48 -0
- package/src/lib/design/system/build-running.js.map +1 -0
- package/src/lib/design/system/check-record.d.ts +18 -0
- package/src/lib/design/system/check-record.js +47 -0
- package/src/lib/design/system/check-record.js.map +1 -0
- package/src/lib/design/system/check-rules.d.ts +1 -0
- package/src/lib/design/system/check-rules.js +100 -0
- package/src/lib/design/system/check-rules.js.map +1 -0
- package/src/lib/design/system/check-system.d.ts +83 -7
- package/src/lib/design/system/check-system.js +647 -68
- package/src/lib/design/system/check-system.js.map +1 -1
- package/src/lib/design/system/comments/comment.d.ts +4 -1
- package/src/lib/design/system/comments/comment.js +13 -4
- package/src/lib/design/system/comments/comment.js.map +1 -1
- package/src/lib/design/system/comments/inbox.d.ts +1 -1
- package/src/lib/design/system/comments/inbox.js +2 -2
- package/src/lib/design/system/comments/inbox.js.map +1 -1
- package/src/lib/design/system/compare-cache.d.ts +20 -0
- package/src/lib/design/system/compare-cache.js +92 -0
- package/src/lib/design/system/compare-cache.js.map +1 -0
- package/src/lib/design/system/compare-command.d.ts +150 -0
- package/src/lib/design/system/compare-command.js +580 -0
- package/src/lib/design/system/compare-command.js.map +1 -0
- package/src/lib/design/system/complete-command.js +1 -1
- package/src/lib/design/system/complete-command.js.map +1 -1
- package/src/lib/design/system/complete.d.ts +63 -2
- package/src/lib/design/system/complete.js +281 -71
- package/src/lib/design/system/complete.js.map +1 -1
- package/src/lib/design/system/component-outputs.d.ts +20 -0
- package/src/lib/design/system/component-outputs.js +86 -0
- package/src/lib/design/system/component-outputs.js.map +1 -0
- package/src/lib/design/system/contrast-check.d.ts +1 -1
- package/src/lib/design/system/contrast-check.js +14 -3
- package/src/lib/design/system/contrast-check.js.map +1 -1
- package/src/lib/design/system/decision-refs.d.ts +5 -0
- package/src/lib/design/system/decision-refs.js +21 -0
- package/src/lib/design/system/decision-refs.js.map +1 -0
- package/src/lib/design/system/demo-backdrop.d.ts +11 -0
- package/src/lib/design/system/demo-backdrop.js +41 -0
- package/src/lib/design/system/demo-backdrop.js.map +1 -0
- package/src/lib/design/system/design-hash.d.ts +52 -0
- package/src/lib/design/system/design-hash.js +132 -0
- package/src/lib/design/system/design-hash.js.map +1 -0
- package/src/lib/design/system/disabled-interaction.d.ts +8 -0
- package/src/lib/design/system/disabled-interaction.js +37 -0
- package/src/lib/design/system/disabled-interaction.js.map +1 -0
- package/src/lib/design/system/dom-command.d.ts +36 -0
- package/src/lib/design/system/dom-command.js +178 -0
- package/src/lib/design/system/dom-command.js.map +1 -0
- package/src/lib/design/system/drawn-open-points.d.ts +26 -4
- package/src/lib/design/system/drawn-open-points.js +65 -14
- package/src/lib/design/system/drawn-open-points.js.map +1 -1
- package/src/lib/design/system/dropped-props.d.ts +39 -0
- package/src/lib/design/system/dropped-props.js +271 -0
- package/src/lib/design/system/dropped-props.js.map +1 -0
- package/src/lib/design/system/embedded-actions.d.ts +21 -0
- package/src/lib/design/system/embedded-actions.js +37 -0
- package/src/lib/design/system/embedded-actions.js.map +1 -0
- package/src/lib/design/system/exceptions.js +2 -1
- package/src/lib/design/system/exceptions.js.map +1 -1
- package/src/lib/design/system/flows/flow.js +2 -1
- package/src/lib/design/system/flows/flow.js.map +1 -1
- package/src/lib/design/system/frozen-animations.d.ts +13 -0
- package/src/lib/design/system/frozen-animations.js +51 -0
- package/src/lib/design/system/frozen-animations.js.map +1 -0
- package/src/lib/design/system/grid-report.d.ts +5 -0
- package/src/lib/design/system/grid-report.js +78 -0
- package/src/lib/design/system/grid-report.js.map +1 -0
- package/src/lib/design/system/handoff.js +2 -1
- package/src/lib/design/system/handoff.js.map +1 -1
- package/src/lib/design/system/harness-build-cache.d.ts +49 -0
- package/src/lib/design/system/harness-build-cache.js +188 -0
- package/src/lib/design/system/harness-build-cache.js.map +1 -0
- package/src/lib/design/system/harness-command.d.ts +7 -0
- package/src/lib/design/system/harness-command.js +51 -0
- package/src/lib/design/system/harness-command.js.map +1 -0
- package/src/lib/design/system/harness-config.d.ts +9 -0
- package/src/lib/design/system/harness-config.js +65 -0
- package/src/lib/design/system/harness-config.js.map +1 -0
- package/src/lib/design/system/harness-inputs.d.ts +17 -0
- package/src/lib/design/system/harness-inputs.js +160 -0
- package/src/lib/design/system/harness-inputs.js.map +1 -0
- package/src/lib/design/system/harness-map.d.ts +44 -0
- package/src/lib/design/system/harness-map.js +126 -0
- package/src/lib/design/system/harness-map.js.map +1 -0
- package/src/lib/design/system/harness-samples.d.ts +20 -0
- package/src/lib/design/system/harness-samples.js +92 -0
- package/src/lib/design/system/harness-samples.js.map +1 -0
- package/src/lib/design/system/harness-server.d.ts +51 -0
- package/src/lib/design/system/harness-server.js +306 -0
- package/src/lib/design/system/harness-server.js.map +1 -0
- package/src/lib/design/system/harness-shot.d.ts +78 -0
- package/src/lib/design/system/harness-shot.js +349 -0
- package/src/lib/design/system/harness-shot.js.map +1 -0
- package/src/lib/design/system/harness-watch.d.ts +79 -0
- package/src/lib/design/system/harness-watch.js +334 -0
- package/src/lib/design/system/harness-watch.js.map +1 -0
- package/src/lib/design/system/implementation-baseline.d.ts +20 -0
- package/src/lib/design/system/implementation-baseline.js +44 -0
- package/src/lib/design/system/implementation-baseline.js.map +1 -0
- package/src/lib/design/system/imports.js +14 -1
- package/src/lib/design/system/imports.js.map +1 -1
- package/src/lib/design/system/in-order-at-once.d.ts +6 -0
- package/src/lib/design/system/in-order-at-once.js +28 -0
- package/src/lib/design/system/in-order-at-once.js.map +1 -0
- package/src/lib/design/system/inventory-approval.js +2 -1
- package/src/lib/design/system/inventory-approval.js.map +1 -1
- package/src/lib/design/system/inventory.d.ts +13 -4
- package/src/lib/design/system/inventory.js +36 -7
- package/src/lib/design/system/inventory.js.map +1 -1
- package/src/lib/design/system/leftover-gate-files.d.ts +2 -0
- package/src/lib/design/system/leftover-gate-files.js +15 -0
- package/src/lib/design/system/leftover-gate-files.js.map +1 -0
- package/src/lib/design/system/lib-build-lock.d.ts +18 -0
- package/src/lib/design/system/lib-build-lock.js +111 -0
- package/src/lib/design/system/lib-build-lock.js.map +1 -0
- package/src/lib/design/system/link-free.d.ts +12 -0
- package/src/lib/design/system/link-free.js +125 -0
- package/src/lib/design/system/link-free.js.map +1 -0
- package/src/lib/design/system/list-system.d.ts +8 -8
- package/src/lib/design/system/list-system.js +19 -80
- package/src/lib/design/system/list-system.js.map +1 -1
- package/src/lib/design/system/live-actions.d.ts +121 -0
- package/src/lib/design/system/live-actions.js +674 -0
- package/src/lib/design/system/live-actions.js.map +1 -0
- package/src/lib/design/system/live-compare.d.ts +136 -0
- package/src/lib/design/system/live-compare.js +441 -0
- package/src/lib/design/system/live-compare.js.map +1 -0
- package/src/lib/design/system/live-uncovered.d.ts +45 -0
- package/src/lib/design/system/live-uncovered.js +158 -0
- package/src/lib/design/system/live-uncovered.js.map +1 -0
- package/src/lib/design/system/nested-scroll.d.ts +7 -0
- package/src/lib/design/system/nested-scroll.js +25 -0
- package/src/lib/design/system/nested-scroll.js.map +1 -0
- package/src/lib/design/system/no-verdict.d.ts +13 -0
- package/src/lib/design/system/no-verdict.js +17 -0
- package/src/lib/design/system/no-verdict.js.map +1 -0
- package/src/lib/design/system/notes/note.js +2 -1
- package/src/lib/design/system/notes/note.js.map +1 -1
- package/src/lib/design/system/occluded.d.ts +13 -0
- package/src/lib/design/system/occluded.js +111 -0
- package/src/lib/design/system/occluded.js.map +1 -0
- package/src/lib/design/system/off-centre.d.ts +11 -0
- package/src/lib/design/system/off-centre.js +74 -0
- package/src/lib/design/system/off-centre.js.map +1 -0
- package/src/lib/design/system/open-points-cache.d.ts +11 -0
- package/src/lib/design/system/open-points-cache.js +27 -0
- package/src/lib/design/system/open-points-cache.js.map +1 -0
- package/src/lib/design/system/open-points-runner.d.ts +43 -0
- package/src/lib/design/system/open-points-runner.js +119 -0
- package/src/lib/design/system/open-points-runner.js.map +1 -0
- package/src/lib/design/system/open-points-worker.d.ts +1 -0
- package/src/lib/design/system/open-points-worker.js +28 -0
- package/src/lib/design/system/open-points-worker.js.map +1 -0
- package/src/lib/design/system/open-points.d.ts +24 -6
- package/src/lib/design/system/open-points.js +59 -30
- package/src/lib/design/system/open-points.js.map +1 -1
- package/src/lib/design/system/part-build-ready.d.ts +45 -0
- package/src/lib/design/system/part-build-ready.js +135 -0
- package/src/lib/design/system/part-build-ready.js.map +1 -0
- package/src/lib/design/system/part-command.js +2 -9
- package/src/lib/design/system/part-command.js.map +1 -1
- package/src/lib/design/system/part-compare.d.ts +139 -0
- package/src/lib/design/system/part-compare.js +501 -0
- package/src/lib/design/system/part-compare.js.map +1 -0
- package/src/lib/design/system/part-picture-cache.d.ts +23 -0
- package/src/lib/design/system/part-picture-cache.js +68 -0
- package/src/lib/design/system/part-picture-cache.js.map +1 -0
- package/src/lib/design/system/part-ready.d.ts +71 -7
- package/src/lib/design/system/part-ready.js +128 -19
- package/src/lib/design/system/part-ready.js.map +1 -1
- package/src/lib/design/system/part-task.d.ts +167 -0
- package/src/lib/design/system/part-task.js +331 -0
- package/src/lib/design/system/part-task.js.map +1 -0
- package/src/lib/design/system/pixel-cache.d.ts +16 -0
- package/src/lib/design/system/pixel-cache.js +79 -0
- package/src/lib/design/system/pixel-cache.js.map +1 -0
- package/src/lib/design/system/pointer-focus.d.ts +89 -0
- package/src/lib/design/system/pointer-focus.js +175 -0
- package/src/lib/design/system/pointer-focus.js.map +1 -0
- package/src/lib/design/system/prettier.d.ts +10 -0
- package/src/lib/design/system/prettier.js +37 -0
- package/src/lib/design/system/prettier.js.map +1 -0
- package/src/lib/design/system/problem.d.ts +6 -0
- package/src/lib/design/system/product.js +2 -2
- package/src/lib/design/system/product.js.map +1 -1
- package/src/lib/design/system/reach.d.ts +12 -0
- package/src/lib/design/system/reach.js +186 -0
- package/src/lib/design/system/reach.js.map +1 -0
- package/src/lib/design/system/reachable-controls.d.ts +6 -0
- package/src/lib/design/system/reachable-controls.js +19 -0
- package/src/lib/design/system/reachable-controls.js.map +1 -0
- package/src/lib/design/system/reachable-files.d.ts +14 -0
- package/src/lib/design/system/reachable-files.js +101 -0
- package/src/lib/design/system/reachable-files.js.map +1 -0
- package/src/lib/design/system/reached-state.d.ts +23 -0
- package/src/lib/design/system/reached-state.js +53 -0
- package/src/lib/design/system/reached-state.js.map +1 -0
- package/src/lib/design/system/read-open-points.d.ts +9 -3
- package/src/lib/design/system/read-open-points.js +38 -9
- package/src/lib/design/system/read-open-points.js.map +1 -1
- package/src/lib/design/system/ready-command.d.ts +6 -2
- package/src/lib/design/system/ready-command.js +52 -15
- package/src/lib/design/system/ready-command.js.map +1 -1
- package/src/lib/design/system/record-settled.d.ts +24 -0
- package/src/lib/design/system/record-settled.js +50 -0
- package/src/lib/design/system/record-settled.js.map +1 -0
- package/src/lib/design/system/render-check.d.ts +68 -1
- package/src/lib/design/system/render-check.js +427 -114
- package/src/lib/design/system/render-check.js.map +1 -1
- package/src/lib/design/system/render-issue-key.d.ts +9 -0
- package/src/lib/design/system/render-issue-key.js +27 -0
- package/src/lib/design/system/render-issue-key.js.map +1 -0
- package/src/lib/design/system/resolve-product.d.ts +4 -1
- package/src/lib/design/system/resolve-product.js +19 -3
- package/src/lib/design/system/resolve-product.js.map +1 -1
- package/src/lib/design/system/rule-baseline.d.ts +53 -0
- package/src/lib/design/system/rule-baseline.js +124 -0
- package/src/lib/design/system/rule-baseline.js.map +1 -0
- package/src/lib/design/system/rule-skips.d.ts +20 -0
- package/src/lib/design/system/rule-skips.js +36 -0
- package/src/lib/design/system/rule-skips.js.map +1 -0
- package/src/lib/design/system/rules/app-spec.d.ts +30 -0
- package/src/lib/design/system/rules/app-spec.js +87 -0
- package/src/lib/design/system/rules/app-spec.js.map +1 -0
- package/src/lib/design/system/rules/canonical-class.d.ts +6 -0
- package/src/lib/design/system/rules/canonical-class.js +92 -113
- package/src/lib/design/system/rules/canonical-class.js.map +1 -1
- package/src/lib/design/system/rules/capability-place.d.ts +46 -0
- package/src/lib/design/system/rules/capability-place.js +129 -0
- package/src/lib/design/system/rules/capability-place.js.map +1 -0
- package/src/lib/design/system/rules/command-text.d.ts +7 -0
- package/src/lib/design/system/rules/command-text.js +72 -0
- package/src/lib/design/system/rules/command-text.js.map +1 -0
- package/src/lib/design/system/rules/denied-class.d.ts +9 -0
- package/src/lib/design/system/rules/denied-class.js +121 -0
- package/src/lib/design/system/rules/denied-class.js.map +1 -0
- package/src/lib/design/system/rules/design-coverage.d.ts +30 -0
- package/src/lib/design/system/rules/design-coverage.js +205 -0
- package/src/lib/design/system/rules/design-coverage.js.map +1 -0
- package/src/lib/design/system/rules/exemptions.d.ts +18 -0
- package/src/lib/design/system/rules/exemptions.js +18 -0
- package/src/lib/design/system/rules/exemptions.js.map +1 -0
- package/src/lib/design/system/rules/flow.js +1 -1
- package/src/lib/design/system/rules/flow.js.map +1 -1
- package/src/lib/design/system/rules/glued-interpolation.d.ts +8 -0
- package/src/lib/design/system/rules/glued-interpolation.js +77 -0
- package/src/lib/design/system/rules/glued-interpolation.js.map +1 -0
- package/src/lib/design/system/rules/hard-coded-colour.js +2 -1
- package/src/lib/design/system/rules/hard-coded-colour.js.map +1 -1
- package/src/lib/design/system/rules/implemented-components.d.ts +22 -0
- package/src/lib/design/system/rules/implemented-components.js +45 -0
- package/src/lib/design/system/rules/implemented-components.js.map +1 -0
- package/src/lib/design/system/rules/implements-unrendered.d.ts +13 -0
- package/src/lib/design/system/rules/implements-unrendered.js +63 -0
- package/src/lib/design/system/rules/implements-unrendered.js.map +1 -0
- package/src/lib/design/system/rules/implements.d.ts +2 -1
- package/src/lib/design/system/rules/implements.js +26 -21
- package/src/lib/design/system/rules/implements.js.map +1 -1
- package/src/lib/design/system/rules/inline-svg.js +4 -1
- package/src/lib/design/system/rules/inline-svg.js.map +1 -1
- package/src/lib/design/system/rules/inline-ui-in-page-open.d.ts +13 -0
- package/src/lib/design/system/rules/inline-ui-in-page-open.js +5 -0
- package/src/lib/design/system/rules/inline-ui-in-page-open.js.map +1 -0
- package/src/lib/design/system/rules/inline-ui-in-page.d.ts +18 -0
- package/src/lib/design/system/rules/inline-ui-in-page.js +123 -0
- package/src/lib/design/system/rules/inline-ui-in-page.js.map +1 -0
- package/src/lib/design/system/rules/inline-ui.d.ts +16 -0
- package/src/lib/design/system/rules/inline-ui.js +100 -0
- package/src/lib/design/system/rules/inline-ui.js.map +1 -0
- package/src/lib/design/system/rules/motion.d.ts +1 -1
- package/src/lib/design/system/rules/motion.js +31 -17
- package/src/lib/design/system/rules/motion.js.map +1 -1
- package/src/lib/design/system/rules/native-title.d.ts +7 -0
- package/src/lib/design/system/rules/native-title.js +74 -0
- package/src/lib/design/system/rules/native-title.js.map +1 -0
- package/src/lib/design/system/rules/option-values.d.ts +1 -1
- package/src/lib/design/system/rules/orphan-endpoint-known.d.ts +12 -0
- package/src/lib/design/system/rules/orphan-endpoint-known.js +20 -0
- package/src/lib/design/system/rules/orphan-endpoint-known.js.map +1 -0
- package/src/lib/design/system/rules/orphan-endpoint.d.ts +23 -0
- package/src/lib/design/system/rules/orphan-endpoint.js +166 -0
- package/src/lib/design/system/rules/orphan-endpoint.js.map +1 -0
- package/src/lib/design/system/rules/part-rewrite.d.ts +13 -0
- package/src/lib/design/system/rules/part-rewrite.js +125 -0
- package/src/lib/design/system/rules/part-rewrite.js.map +1 -0
- package/src/lib/design/system/rules/pending-state.d.ts +39 -0
- package/src/lib/design/system/rules/pending-state.js +289 -0
- package/src/lib/design/system/rules/pending-state.js.map +1 -0
- package/src/lib/design/system/rules/sample-default-known.d.ts +5 -0
- package/src/lib/design/system/rules/sample-default-known.js +17 -0
- package/src/lib/design/system/rules/sample-default-known.js.map +1 -0
- package/src/lib/design/system/rules/sample-default.d.ts +22 -0
- package/src/lib/design/system/rules/sample-default.js +92 -0
- package/src/lib/design/system/rules/sample-default.js.map +1 -0
- package/src/lib/design/system/rules/sdk-attribute-value.d.ts +10 -0
- package/src/lib/design/system/rules/sdk-attribute-value.js +78 -0
- package/src/lib/design/system/rules/sdk-attribute-value.js.map +1 -0
- package/src/lib/design/system/rules/sdk-private-var.d.ts +9 -0
- package/src/lib/design/system/rules/sdk-private-var.js +54 -0
- package/src/lib/design/system/rules/sdk-private-var.js.map +1 -0
- package/src/lib/design/system/rules/skips.d.ts +4 -0
- package/src/lib/design/system/rules/skips.js +27 -0
- package/src/lib/design/system/rules/skips.js.map +1 -0
- package/src/lib/design/system/rules/stale-replace.js +5 -0
- package/src/lib/design/system/rules/stale-replace.js.map +1 -1
- package/src/lib/design/system/rules/state-in-component.d.ts +16 -0
- package/src/lib/design/system/rules/state-in-component.js +101 -0
- package/src/lib/design/system/rules/state-in-component.js.map +1 -0
- package/src/lib/design/system/rules/tailwind-classes.d.ts +52 -0
- package/src/lib/design/system/rules/tailwind-classes.js +237 -0
- package/src/lib/design/system/rules/tailwind-classes.js.map +1 -0
- package/src/lib/design/system/rules/token-selectors.js +10 -3
- package/src/lib/design/system/rules/token-selectors.js.map +1 -1
- package/src/lib/design/system/rules/top-level-await.d.ts +9 -0
- package/src/lib/design/system/rules/top-level-await.js +62 -0
- package/src/lib/design/system/rules/top-level-await.js.map +1 -0
- package/src/lib/design/system/rules/unbound-input-known.d.ts +7 -0
- package/src/lib/design/system/rules/unbound-input-known.js +44 -0
- package/src/lib/design/system/rules/unbound-input-known.js.map +1 -0
- package/src/lib/design/system/rules/unbound-input.d.ts +24 -0
- package/src/lib/design/system/rules/unbound-input.js +67 -0
- package/src/lib/design/system/rules/unbound-input.js.map +1 -0
- package/src/lib/design/system/rules/uncovered-region.d.ts +13 -0
- package/src/lib/design/system/rules/uncovered-region.js +36 -0
- package/src/lib/design/system/rules/uncovered-region.js.map +1 -0
- package/src/lib/design/system/rules/undefined-class.d.ts +9 -0
- package/src/lib/design/system/rules/undefined-class.js +41 -0
- package/src/lib/design/system/rules/undefined-class.js.map +1 -0
- package/src/lib/design/system/rules/undefined-token.d.ts +1 -1
- package/src/lib/design/system/rules/undefined-token.js +7 -61
- package/src/lib/design/system/rules/undefined-token.js.map +1 -1
- package/src/lib/design/system/rules/utility-css.d.ts +2 -1
- package/src/lib/design/system/rules/utility-css.js +40 -13
- package/src/lib/design/system/rules/utility-css.js.map +1 -1
- package/src/lib/design/system/rules/view-coverage.d.ts +8 -0
- package/src/lib/design/system/rules/view-coverage.js +51 -0
- package/src/lib/design/system/rules/view-coverage.js.map +1 -0
- package/src/lib/design/system/rules/visible-change.d.ts +19 -0
- package/src/lib/design/system/rules/visible-change.js +48 -0
- package/src/lib/design/system/rules/visible-change.js.map +1 -0
- package/src/lib/design/system/sdk-declarations.d.ts +10 -0
- package/src/lib/design/system/sdk-declarations.js +177 -0
- package/src/lib/design/system/sdk-declarations.js.map +1 -0
- package/src/lib/design/system/sdk-errors.d.ts +14 -0
- package/src/lib/design/system/sdk-errors.js +38 -0
- package/src/lib/design/system/sdk-errors.js.map +1 -0
- package/src/lib/design/system/sdk-selectors.d.ts +18 -0
- package/src/lib/design/system/sdk-selectors.js +131 -0
- package/src/lib/design/system/sdk-selectors.js.map +1 -0
- package/src/lib/design/system/see-through.d.ts +12 -0
- package/src/lib/design/system/see-through.js +112 -0
- package/src/lib/design/system/see-through.js.map +1 -0
- package/src/lib/design/system/served-cache.d.ts +99 -0
- package/src/lib/design/system/served-cache.js +202 -0
- package/src/lib/design/system/served-cache.js.map +1 -0
- package/src/lib/design/system/settled-panes.d.ts +23 -0
- package/src/lib/design/system/settled-panes.js +71 -0
- package/src/lib/design/system/settled-panes.js.map +1 -0
- package/src/lib/design/system/sketch/after-merge.d.ts +11 -0
- package/src/lib/design/system/sketch/after-merge.js +51 -0
- package/src/lib/design/system/sketch/after-merge.js.map +1 -0
- package/src/lib/design/system/sketch/aktuell-placeholders.d.ts +30 -0
- package/src/lib/design/system/sketch/aktuell-placeholders.js +87 -0
- package/src/lib/design/system/sketch/aktuell-placeholders.js.map +1 -0
- package/src/lib/design/system/sketch/baseline.d.ts +36 -2
- package/src/lib/design/system/sketch/baseline.js +76 -13
- package/src/lib/design/system/sketch/baseline.js.map +1 -1
- package/src/lib/design/system/sketch/check-format.js +3 -9
- package/src/lib/design/system/sketch/check-format.js.map +1 -1
- package/src/lib/design/system/sketch/check-sketches.d.ts +10 -0
- package/src/lib/design/system/sketch/check-sketches.js +50 -4
- package/src/lib/design/system/sketch/check-sketches.js.map +1 -1
- package/src/lib/design/system/sketch/clean-copy.d.ts +18 -0
- package/src/lib/design/system/sketch/clean-copy.js +104 -0
- package/src/lib/design/system/sketch/clean-copy.js.map +1 -0
- package/src/lib/design/system/sketch/cli-args.d.ts +13 -3
- package/src/lib/design/system/sketch/cli-args.js +20 -5
- package/src/lib/design/system/sketch/cli-args.js.map +1 -1
- package/src/lib/design/system/sketch/covered-diffs.d.ts +40 -0
- package/src/lib/design/system/sketch/covered-diffs.js +106 -0
- package/src/lib/design/system/sketch/covered-diffs.js.map +1 -0
- package/src/lib/design/system/sketch/edit-sketch.d.ts +29 -0
- package/src/lib/design/system/sketch/edit-sketch.js +169 -0
- package/src/lib/design/system/sketch/edit-sketch.js.map +1 -0
- package/src/lib/design/system/sketch/frame-budget.d.ts +24 -0
- package/src/lib/design/system/sketch/frame-budget.js +23 -0
- package/src/lib/design/system/sketch/frame-budget.js.map +1 -0
- package/src/lib/design/system/sketch/identical-renders.d.ts +31 -0
- package/src/lib/design/system/sketch/identical-renders.js +143 -0
- package/src/lib/design/system/sketch/identical-renders.js.map +1 -0
- package/src/lib/design/system/sketch/merge-commit.d.ts +20 -0
- package/src/lib/design/system/sketch/merge-commit.js +72 -0
- package/src/lib/design/system/sketch/merge-commit.js.map +1 -0
- package/src/lib/design/system/sketch/merge-runner.d.ts +20 -0
- package/src/lib/design/system/sketch/merge-runner.js +73 -0
- package/src/lib/design/system/sketch/merge-runner.js.map +1 -0
- package/src/lib/design/system/sketch/merge-shared.d.ts +2 -0
- package/src/lib/design/system/sketch/merge-shared.js +7 -10
- package/src/lib/design/system/sketch/merge-shared.js.map +1 -1
- package/src/lib/design/system/sketch/merge-step.d.ts +47 -0
- package/src/lib/design/system/sketch/merge-step.js +110 -0
- package/src/lib/design/system/sketch/merge-step.js.map +1 -0
- package/src/lib/design/system/sketch/merge-worker.d.ts +1 -0
- package/src/lib/design/system/sketch/merge-worker.js +14 -0
- package/src/lib/design/system/sketch/merge-worker.js.map +1 -0
- package/src/lib/design/system/sketch/merge.d.ts +19 -5
- package/src/lib/design/system/sketch/merge.js +245 -82
- package/src/lib/design/system/sketch/merge.js.map +1 -1
- package/src/lib/design/system/sketch/merged-layout.d.ts +17 -0
- package/src/lib/design/system/sketch/merged-layout.js +57 -0
- package/src/lib/design/system/sketch/merged-layout.js.map +1 -0
- package/src/lib/design/system/sketch/merged-parts.d.ts +31 -30
- package/src/lib/design/system/sketch/merged-parts.js +99 -84
- package/src/lib/design/system/sketch/merged-parts.js.map +1 -1
- package/src/lib/design/system/sketch/no-visible-change.d.ts +10 -0
- package/src/lib/design/system/sketch/no-visible-change.js +16 -6
- package/src/lib/design/system/sketch/no-visible-change.js.map +1 -1
- package/src/lib/design/system/sketch/note-language.d.ts +7 -0
- package/src/lib/design/system/sketch/note-language.js +83 -0
- package/src/lib/design/system/sketch/note-language.js.map +1 -0
- package/src/lib/design/system/sketch/part-definition.d.ts +27 -1
- package/src/lib/design/system/sketch/part-definition.js +109 -17
- package/src/lib/design/system/sketch/part-definition.js.map +1 -1
- package/src/lib/design/system/sketch/rebase-port.d.ts +24 -0
- package/src/lib/design/system/sketch/rebase-port.js +215 -0
- package/src/lib/design/system/sketch/rebase-port.js.map +1 -0
- package/src/lib/design/system/sketch/sample-mark-drift.d.ts +33 -0
- package/src/lib/design/system/sketch/sample-mark-drift.js +88 -0
- package/src/lib/design/system/sketch/sample-mark-drift.js.map +1 -0
- package/src/lib/design/system/sketch/sketch-check-cache.d.ts +11 -0
- package/src/lib/design/system/sketch/sketch-check-cache.js +22 -0
- package/src/lib/design/system/sketch/sketch-check-cache.js.map +1 -0
- package/src/lib/design/system/sketch/sketch-check-worker.d.ts +1 -0
- package/src/lib/design/system/sketch/sketch-check-worker.js +32 -0
- package/src/lib/design/system/sketch/sketch-check-worker.js.map +1 -0
- package/src/lib/design/system/sketch/sketch-checker.d.ts +40 -0
- package/src/lib/design/system/sketch/sketch-checker.js +109 -0
- package/src/lib/design/system/sketch/sketch-checker.js.map +1 -0
- package/src/lib/design/system/sketch/sketch.d.ts +100 -8
- package/src/lib/design/system/sketch/sketch.js +279 -36
- package/src/lib/design/system/sketch/sketch.js.map +1 -1
- package/src/lib/design/system/sketch/stale-base.d.ts +22 -0
- package/src/lib/design/system/sketch/stale-base.js +56 -0
- package/src/lib/design/system/sketch/stale-base.js.map +1 -0
- package/src/lib/design/system/sketch/unchanged-states.d.ts +39 -3
- package/src/lib/design/system/sketch/unchanged-states.js +75 -23
- package/src/lib/design/system/sketch/unchanged-states.js.map +1 -1
- package/src/lib/design/system/sketch/unused-closure.js +16 -4
- package/src/lib/design/system/sketch/unused-closure.js.map +1 -1
- package/src/lib/design/system/sketch/viewed-shots.d.ts +32 -0
- package/src/lib/design/system/sketch/viewed-shots.js +54 -0
- package/src/lib/design/system/sketch/viewed-shots.js.map +1 -0
- package/src/lib/design/system/skip-classes.d.ts +3 -0
- package/src/lib/design/system/skip-classes.js +17 -0
- package/src/lib/design/system/skip-classes.js.map +1 -0
- package/src/lib/design/system/slot-hosts.d.ts +38 -0
- package/src/lib/design/system/slot-hosts.js +93 -0
- package/src/lib/design/system/slot-hosts.js.map +1 -0
- package/src/lib/design/system/slow-checks.d.ts +44 -0
- package/src/lib/design/system/slow-checks.js +250 -0
- package/src/lib/design/system/slow-checks.js.map +1 -0
- package/src/lib/design/system/slow-run.d.ts +67 -0
- package/src/lib/design/system/slow-run.js +312 -0
- package/src/lib/design/system/slow-run.js.map +1 -0
- package/src/lib/design/system/stale-design-mocks.d.ts +20 -0
- package/src/lib/design/system/stale-design-mocks.js +59 -0
- package/src/lib/design/system/stale-design-mocks.js.map +1 -0
- package/src/lib/design/system/stale-dist.d.ts +61 -0
- package/src/lib/design/system/stale-dist.js +141 -0
- package/src/lib/design/system/stale-dist.js.map +1 -0
- package/src/lib/design/system/stale-parts.d.ts +45 -0
- package/src/lib/design/system/stale-parts.js +168 -0
- package/src/lib/design/system/stale-parts.js.map +1 -0
- package/src/lib/design/system/surface-nesting.d.ts +11 -0
- package/src/lib/design/system/surface-nesting.js +86 -0
- package/src/lib/design/system/surface-nesting.js.map +1 -0
- package/src/lib/design/system/system-command.js +11 -9
- package/src/lib/design/system/system-command.js.map +1 -1
- package/src/lib/design/system/system-modules.d.ts +17 -2
- package/src/lib/design/system/system-modules.js +18 -2
- package/src/lib/design/system/system-modules.js.map +1 -1
- package/src/lib/design/system/system-tsconfig.d.ts +9 -2
- package/src/lib/design/system/system-tsconfig.js +73 -13
- package/src/lib/design/system/system-tsconfig.js.map +1 -1
- package/src/lib/design/system/task-command.d.ts +52 -0
- package/src/lib/design/system/task-command.js +271 -0
- package/src/lib/design/system/task-command.js.map +1 -0
- package/src/lib/design/system/theming-text.d.ts +2 -0
- package/src/lib/design/system/theming-text.js +6 -0
- package/src/lib/design/system/theming-text.js.map +1 -0
- package/src/lib/design/system/touched-parts.d.ts +16 -0
- package/src/lib/design/system/touched-parts.js +121 -0
- package/src/lib/design/system/touched-parts.js.map +1 -0
- package/src/lib/design/system/tracked-reads.d.ts +27 -0
- package/src/lib/design/system/tracked-reads.js +100 -0
- package/src/lib/design/system/tracked-reads.js.map +1 -0
- package/src/lib/design/system/ts-source.d.ts +2 -0
- package/src/lib/design/system/ts-source.js +15 -1
- package/src/lib/design/system/ts-source.js.map +1 -1
- package/src/lib/design/system/unchanged-rows.d.ts +24 -0
- package/src/lib/design/system/unchanged-rows.js +212 -0
- package/src/lib/design/system/unchanged-rows.js.map +1 -0
- package/src/lib/design/system/uncommitted-decisions.d.ts +4 -0
- package/src/lib/design/system/uncommitted-decisions.js +35 -0
- package/src/lib/design/system/uncommitted-decisions.js.map +1 -0
- package/src/lib/design/system/uncovered-regions.d.ts +61 -0
- package/src/lib/design/system/uncovered-regions.js +171 -0
- package/src/lib/design/system/uncovered-regions.js.map +1 -0
- package/src/lib/design/system/unused-base-parts.d.ts +7 -0
- package/src/lib/design/system/unused-base-parts.js +76 -0
- package/src/lib/design/system/unused-base-parts.js.map +1 -0
- package/src/lib/design/system/visible-change-command.d.ts +60 -0
- package/src/lib/design/system/visible-change-command.js +310 -0
- package/src/lib/design/system/visible-change-command.js.map +1 -0
- package/src/lib/design/system/visible-change-parts.d.ts +28 -0
- package/src/lib/design/system/visible-change-parts.js +96 -0
- package/src/lib/design/system/visible-change-parts.js.map +1 -0
- package/src/lib/design/system/visible-change.d.ts +82 -0
- package/src/lib/design/system/visible-change.js +149 -0
- package/src/lib/design/system/visible-change.js.map +1 -0
- package/src/lib/design/system/write-origin.d.ts +12 -0
- package/src/lib/design/system/write-origin.js +18 -0
- package/src/lib/design/system/write-origin.js.map +1 -0
- package/src/lib/design/system-use.js +4 -4
- package/src/lib/design/system-use.js.map +1 -1
- package/src/lib/design/thumb.d.ts +37 -4
- package/src/lib/design/thumb.js +118 -21
- package/src/lib/design/thumb.js.map +1 -1
- package/src/lib/design/timings-command.d.ts +22 -0
- package/src/lib/design/timings-command.js +175 -0
- package/src/lib/design/timings-command.js.map +1 -0
- package/src/lib/design/timings.d.ts +117 -0
- package/src/lib/design/timings.js +296 -0
- package/src/lib/design/timings.js.map +1 -0
- package/src/lib/design/typecheck.d.ts +1 -1
- package/src/lib/design/typecheck.js +5 -5
- package/src/lib/design/typecheck.js.map +1 -1
- package/src/lib/design/unstable-cells.d.ts +23 -0
- package/src/lib/design/unstable-cells.js +40 -0
- package/src/lib/design/unstable-cells.js.map +1 -0
- package/src/lib/design/variant-diff.js +1 -1
- package/src/lib/design/variant-diff.js.map +1 -1
- package/src/lib/design/vite-cache.d.ts +11 -0
- package/src/lib/design/vite-cache.js +61 -0
- package/src/lib/design/vite-cache.js.map +1 -0
- package/src/lib/design/wait.d.ts +15 -0
- package/src/lib/design/wait.js +30 -0
- package/src/lib/design/wait.js.map +1 -0
- package/src/lib/design/warm-draw.d.ts +33 -0
- package/src/lib/design/warm-draw.js +74 -0
- package/src/lib/design/warm-draw.js.map +1 -0
- package/src/lib/design/warm-pages.d.ts +10 -2
- package/src/lib/design/warm-pages.js +6 -2
- package/src/lib/design/warm-pages.js.map +1 -1
- package/src/lib/design/work-root.d.ts +2 -0
- package/src/lib/design/work-root.js +8 -0
- package/src/lib/design/work-root.js.map +1 -0
- package/src/lib/json-file.d.ts +11 -0
- package/src/lib/json-file.js +21 -0
- package/src/lib/json-file.js.map +1 -0
- package/src/lib/plain-output.d.ts +27 -0
- package/src/lib/plain-output.js +66 -0
- package/src/lib/plain-output.js.map +1 -0
- package/src/lib/release.js +11 -3
- package/src/lib/release.js.map +1 -1
- package/src/lib/source-hash.d.ts +7 -0
- package/src/lib/source-hash.js +62 -0
- package/src/lib/source-hash.js.map +1 -0
- package/src/lib/update/agent-setup.js +2 -1
- package/src/lib/update/agent-setup.js.map +1 -1
- package/src/lib/update/commits.js +2 -2
- package/src/lib/update/commits.js.map +1 -1
- package/src/lib/update/migration-manifest.d.ts +12 -0
- package/src/lib/update/migration-manifest.js +13 -0
- package/src/lib/update/migration-manifest.js.map +1 -1
- package/src/lib/update/migration-record.js +2 -1
- package/src/lib/update/migration-record.js.map +1 -1
- package/src/lib/update/packages.js +4 -2
- package/src/lib/update/packages.js.map +1 -1
- package/src/lib/update/pending.js +2 -1
- package/src/lib/update/pending.js.map +1 -1
- package/src/lib/update/run-migrations.d.ts +3 -2
- package/src/lib/update/run-migrations.js +38 -5
- package/src/lib/update/run-migrations.js.map +1 -1
- package/src/lib/update/scan.js +8 -2
- package/src/lib/update/scan.js.map +1 -1
- package/src/lib/update/tasks.js +2 -1
- package/src/lib/update/tasks.js.map +1 -1
- package/src/lib/design/paths.js +0 -138
- package/src/lib/design/paths.js.map +0 -1
- package/src/lib/design/system/accept-command.d.ts +0 -7
- package/src/lib/design/system/accept-command.js +0 -55
- package/src/lib/design/system/accept-command.js.map +0 -1
|
@@ -9,22 +9,30 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.partsCompletenessOf = exports.completenessOf = exports.inventoryIdsOf = exports.seePart = exports.PLAIN_CONTROL_SELECTOR = exports.SDK_CONTROLS = exports.isMissingStateGap = exports.completenessGapLineOf = exports.completenessGapsOf = exports.findingKeyOf = exports.isFindingOf = exports.smallChangeHintsOf = exports.controlStateGapsOf = exports.isControlPart = exports.isInteractionState = exports.declaredControlsOf = void 0;
|
|
12
|
+
exports.addedUndeclaredControlsOf = exports.partsCompletenessOf = exports.completenessOf = exports.inventoryIdsOf = exports.seePart = exports.seeFrame = exports.PLAIN_CONTROL_SELECTOR = exports.SDK_CONTROLS = exports.isMissingStateGap = exports.completenessGapLineOf = exports.completenessGapsOf = exports.findingKeyOf = exports.isFindingOf = exports.smallChangeHintsOf = exports.introducedControlStateGapsOf = exports.controlStateGapsOf = exports.isControlPart = exports.isInteractionState = exports.declaredControlsOf = void 0;
|
|
13
13
|
const fs_1 = require("fs");
|
|
14
14
|
const path_1 = require("path");
|
|
15
15
|
const browser_1 = require("../browser");
|
|
16
16
|
const force_interactions_1 = require("../force-interactions");
|
|
17
|
+
const vite_cache_1 = require("../vite-cache");
|
|
17
18
|
const serve_1 = require("../serve");
|
|
18
19
|
const shot_1 = require("../shot");
|
|
19
20
|
const thumb_1 = require("../thumb");
|
|
21
|
+
const run_yield_1 = require("../run-yield");
|
|
22
|
+
const actions_1 = require("./actions");
|
|
20
23
|
const resolve_product_1 = require("./resolve-product");
|
|
21
24
|
const contact_sheet_1 = require("../contact-sheet");
|
|
22
25
|
const baseline_1 = require("./sketch/baseline");
|
|
23
26
|
const merged_parts_1 = require("./sketch/merged-parts");
|
|
27
|
+
const render_check_1 = require("./render-check");
|
|
24
28
|
const system_modules_1 = require("./system-modules");
|
|
25
29
|
const exceptions_1 = require("./exceptions");
|
|
26
30
|
const inventory_approval_1 = require("./inventory-approval");
|
|
27
31
|
const option_values_1 = require("./rules/option-values");
|
|
32
|
+
const demo_backdrop_1 = require("./demo-backdrop");
|
|
33
|
+
const code_hash_1 = require("../code-hash");
|
|
34
|
+
const compare_cache_1 = require("./compare-cache");
|
|
35
|
+
const served_cache_1 = require("./served-cache");
|
|
28
36
|
const KINDS = {
|
|
29
37
|
disclosure: { surface: 'body', closed: 'collapsed' },
|
|
30
38
|
button: { adds: ['active'] },
|
|
@@ -54,7 +62,7 @@ const requiredInteractionsOf = (control) => {
|
|
|
54
62
|
];
|
|
55
63
|
};
|
|
56
64
|
const gridGapOf = (options) => {
|
|
57
|
-
const { grid, states, interactions } = options;
|
|
65
|
+
const { grid, states, interactions, disabledStates = new Set() } = options;
|
|
58
66
|
const fix = `draw its states with interactionRows, which gives the grid a column per interaction (${interactions.join(', ')})`;
|
|
59
67
|
if (!isRecord(grid) || !Array.isArray(grid['columns']) || !isRecord(grid['rows']))
|
|
60
68
|
return `the part has no grid - ${fix}`;
|
|
@@ -62,12 +70,14 @@ const gridGapOf = (options) => {
|
|
|
62
70
|
const missing = interactions.filter((interaction) => !columns.includes(interaction));
|
|
63
71
|
if (missing.length > 0)
|
|
64
72
|
return `its grid has no column ${missing.join(', ')} - ${fix}`;
|
|
65
|
-
const holes = Object.entries(grid['rows']).flatMap(([row, cells]) =>
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
73
|
+
const holes = Object.entries(grid['rows']).flatMap(([row, cells]) => isRecord(cells) && typeof cells['rest'] === 'string' && disabledStates.has(cells['rest'])
|
|
74
|
+
? []
|
|
75
|
+
: interactions
|
|
76
|
+
.filter((interaction) => {
|
|
77
|
+
const state = isRecord(cells) ? cells[interaction] : undefined;
|
|
78
|
+
return typeof state !== 'string' || !states.includes(state);
|
|
79
|
+
})
|
|
80
|
+
.map((interaction) => `${row} ${interaction}`));
|
|
71
81
|
return holes.length > 0 ? `its grid draws no state in ${holes.join(', ')} - ${fix}` : null;
|
|
72
82
|
};
|
|
73
83
|
const declaredControlsOf = (value) => isRecord(value)
|
|
@@ -147,6 +157,18 @@ const controlStateGapsOf = (options) => {
|
|
|
147
157
|
}));
|
|
148
158
|
};
|
|
149
159
|
exports.controlStateGapsOf = controlStateGapsOf;
|
|
160
|
+
/**
|
|
161
|
+
* The `CONTROL-STATE` gaps render check fails a part on. Only a sketch variant fails, and only on interaction states
|
|
162
|
+
* its base part, `base`, does not already draw as a gap: product check leaves those gaps to `design complete`.
|
|
163
|
+
*/
|
|
164
|
+
const introducedControlStateGapsOf = (options) => {
|
|
165
|
+
const { part, controls, states, sketch, base } = options;
|
|
166
|
+
if (!sketch)
|
|
167
|
+
return [];
|
|
168
|
+
const inherited = new Set(base && !(0, exports.isControlPart)({ part, controls: base.controls }) ? base.states.filter(exports.isInteractionState) : []);
|
|
169
|
+
return (0, exports.controlStateGapsOf)({ part, controls, states: states.filter((state) => !inherited.has(state)) });
|
|
170
|
+
};
|
|
171
|
+
exports.introducedControlStateGapsOf = introducedControlStateGapsOf;
|
|
150
172
|
const SMALL_CHANGE = 0.1;
|
|
151
173
|
/**
|
|
152
174
|
* One hint per state of an element or component that is no control part whose pixels differ from its first state in
|
|
@@ -166,7 +188,7 @@ const isFindingOf = (declared) => (found) => {
|
|
|
166
188
|
!(found.kind === 'control' && found.marked !== null);
|
|
167
189
|
};
|
|
168
190
|
exports.isFindingOf = isFindingOf;
|
|
169
|
-
const findingKeyOf = (found) => `${found.kind} ${found.what} ${found.path}`;
|
|
191
|
+
const findingKeyOf = (found) => { var _a; return `${found.kind} ${found.what} ${found.path} ${(_a = found.label) !== null && _a !== void 0 ? _a : ''}`; };
|
|
170
192
|
exports.findingKeyOf = findingKeyOf;
|
|
171
193
|
const NATIVE_CONTROLS = ['button', 'a[href]', 'input:not([type="hidden"])', 'select', 'textarea', 'summary'];
|
|
172
194
|
const discoveryGapsOf = (options) => {
|
|
@@ -207,6 +229,28 @@ const discoveryGapsOf = (options) => {
|
|
|
207
229
|
};
|
|
208
230
|
});
|
|
209
231
|
};
|
|
232
|
+
const actionGapsOf = (options) => {
|
|
233
|
+
var _a, _b, _c;
|
|
234
|
+
const { part, declared, frames } = options;
|
|
235
|
+
const groups = new Map();
|
|
236
|
+
for (const frame of frames.filter((seen) => seen.interaction === null))
|
|
237
|
+
for (const found of (_a = frame.found) !== null && _a !== void 0 ? _a : []) {
|
|
238
|
+
if (found.action !== null ||
|
|
239
|
+
((_b = found.owner) !== null && _b !== void 0 ? _b : null) !== null ||
|
|
240
|
+
found.within.some((id) => { var _a, _b; return ((_b = (_a = declared[id]) === null || _a === void 0 ? void 0 : _a.part) !== null && _b !== void 0 ? _b : null) !== null; }))
|
|
241
|
+
continue;
|
|
242
|
+
const key = (0, exports.findingKeyOf)(found);
|
|
243
|
+
const group = (_c = groups.get(key)) !== null && _c !== void 0 ? _c : { found, states: [] };
|
|
244
|
+
if (!group.states.includes(frame.state))
|
|
245
|
+
group.states.push(frame.state);
|
|
246
|
+
groups.set(key, group);
|
|
247
|
+
}
|
|
248
|
+
return [...groups.values()].map(({ found, states }) => ({
|
|
249
|
+
code: 'ACTION-UNDECLARED',
|
|
250
|
+
target: part,
|
|
251
|
+
detail: `${found.what}${found.label ? ` "${found.label}"` : ''} at ${found.path} in ${statesShownOf(states)} - declare what it does: data-et-action="<state>" or "emit:<output>"`,
|
|
252
|
+
}));
|
|
253
|
+
};
|
|
210
254
|
const isUndeclaredControlGap = (gap) => gap.code === 'CONTROL-UNDECLARED';
|
|
211
255
|
const statesShownOf = (states) => states.length > 4 ? `${states.slice(0, 3).join(', ')} and ${states.length - 3} more` : states.join(', ');
|
|
212
256
|
const overrideGapsOf = (options) => {
|
|
@@ -499,7 +543,10 @@ const completenessGapsOf = (options) => {
|
|
|
499
543
|
detail: `${control.part} is not design complete: ${used.length} gap(s) - run design complete ${control.part}`,
|
|
500
544
|
});
|
|
501
545
|
const interactions = control.part === null && !part.startsWith('pages/') ? requiredInteractionsOf(control) : [];
|
|
502
|
-
const
|
|
546
|
+
const disabledStates = new Set(frames
|
|
547
|
+
.filter((frame) => frame.interaction === null && frame.controls.some((seen) => seen.id === id && seen.disabled))
|
|
548
|
+
.map((frame) => frame.state));
|
|
549
|
+
const gridGap = interactions.length > 0 ? gridGapOf({ grid, states, interactions, disabledStates }) : null;
|
|
503
550
|
if (gridGap)
|
|
504
551
|
gaps.push({ code: 'CONTROL-GRID-MISSING', target: `${part}.${id}`, detail: gridGap });
|
|
505
552
|
if (!seenIds.has(id)) {
|
|
@@ -517,6 +564,7 @@ const completenessGapsOf = (options) => {
|
|
|
517
564
|
return [
|
|
518
565
|
...gaps,
|
|
519
566
|
...discoveryGapsOf({ part, declared, frames }).filter((gap) => !isUndeclaredControlGap(gap)),
|
|
567
|
+
...actionGapsOf({ part, declared, frames }),
|
|
520
568
|
...ownerGapsOf({ part, declared, frames, referenced }),
|
|
521
569
|
...overrideGapsOf({ part, frames }),
|
|
522
570
|
...inventoryGapsOf({ part, inventory }),
|
|
@@ -647,7 +695,7 @@ exports.SDK_CONTROLS = [
|
|
|
647
695
|
'et-accordion',
|
|
648
696
|
'et-cascader',
|
|
649
697
|
'et-checkbox',
|
|
650
|
-
'et-chip',
|
|
698
|
+
'et-chip:is([data-removable], [role])',
|
|
651
699
|
'et-color-input',
|
|
652
700
|
'et-counter',
|
|
653
701
|
'et-date-input',
|
|
@@ -682,10 +730,11 @@ const LIKELY_CONTROLS = [...exports.SDK_CONTROLS, ...PLAIN_CONTROLS];
|
|
|
682
730
|
const LOOK_PROPERTIES = [...COLOUR_PROPERTIES, 'opacity', 'box-shadow', 'font-weight', 'text-decoration-line'];
|
|
683
731
|
const OPTION_SELECTOR = '[role="option"], [role^="menuitem"], [data-et-option]';
|
|
684
732
|
const COMPOSITE_ROLES = ['grid', 'listbox', 'menu', 'menubar', 'radiogroup', 'tablist', 'tree', 'treegrid'];
|
|
685
|
-
const
|
|
686
|
-
|
|
687
|
-
`[role="${role}"][aria-activedescendant]
|
|
688
|
-
|
|
733
|
+
const DIALOG_ROLES = ['dialog', 'alertdialog'];
|
|
734
|
+
const FOCUS_CONTAINER = [
|
|
735
|
+
...COMPOSITE_ROLES.flatMap((role) => [`[role="${role}"][tabindex="-1"]`, `[role="${role}"][aria-activedescendant]`]),
|
|
736
|
+
...DIALOG_ROLES.map((role) => `[role="${role}"][tabindex="-1"]`),
|
|
737
|
+
].join(', ');
|
|
689
738
|
exports.PLAIN_CONTROL_SELECTOR = `:is(${PLAIN_CONTROLS.join(', ')}):not(${FOCUS_CONTAINER})`;
|
|
690
739
|
const discoverControls = `((root) => {
|
|
691
740
|
const LIKELY = ${JSON.stringify(LIKELY_CONTROLS)};
|
|
@@ -695,7 +744,7 @@ const discoverControls = `((root) => {
|
|
|
695
744
|
const sdk = ${JSON.stringify(exports.SDK_CONTROLS.join(', '))};
|
|
696
745
|
const rendered = (element) => element.getClientRects().length > 0;
|
|
697
746
|
const HOVER = /(?<!\\\\):hover(?![\\w-])/g;
|
|
698
|
-
const FORCED_HOVER = /:is\\(:hover,\\s*\\[data-et-force~="?hover"?\\]
|
|
747
|
+
const FORCED_HOVER = /:is\\(:hover,\\s*\\[data-et-force~="?hover"?\\](?:,\\s*\\[data-et-force~="?active"?\\])?\\)/g;
|
|
699
748
|
const hoveredOf = (written) => {
|
|
700
749
|
const selector = written.replace(FORCED_HOVER, ':hover');
|
|
701
750
|
const match = new RegExp(HOVER.source).exec(selector);
|
|
@@ -756,6 +805,8 @@ const discoverControls = `((root) => {
|
|
|
756
805
|
}
|
|
757
806
|
return null;
|
|
758
807
|
};
|
|
808
|
+
const labelOf = (element) =>
|
|
809
|
+
(element.getAttribute('aria-label') ?? element.innerText ?? element.textContent ?? '').replace(/\\s+/g, ' ').trim().slice(0, 60) || null;
|
|
759
810
|
const found = [];
|
|
760
811
|
for (const element of root.querySelectorAll('*')) {
|
|
761
812
|
if (!rendered(element)) continue;
|
|
@@ -763,7 +814,7 @@ const discoverControls = `((root) => {
|
|
|
763
814
|
if (what) {
|
|
764
815
|
const inSdk = element.parentElement.closest(sdk);
|
|
765
816
|
if (inSdk !== null && root.contains(inSdk)) continue;
|
|
766
|
-
found.push({ kind: 'control', what: what.startsWith('[') ? element.tagName.toLowerCase() + what : what, path: pathOf(element), marked: markedOf(element), within: withinOf(element), owner: ownerOf(element)?.key ?? null, box: frameBoxOf(element) });
|
|
817
|
+
found.push({ kind: 'control', what: what.startsWith('[') ? element.tagName.toLowerCase() + what : what, path: pathOf(element), label: labelOf(element), marked: markedOf(element), within: withinOf(element), owner: ownerOf(element)?.key ?? null, box: frameBoxOf(element), covered: isCovered(element), ...(element.matches(${JSON.stringify(actions_1.INTERACTIVE_SELECTOR)}) ? { action: element.getAttribute('data-et-action') } : {}) });
|
|
767
818
|
continue;
|
|
768
819
|
}
|
|
769
820
|
const cursor = getComputedStyle(element).cursor;
|
|
@@ -773,7 +824,7 @@ const discoverControls = `((root) => {
|
|
|
773
824
|
for (let at = element; at && !inControl; at = at.parentElement) inControl = at.hasAttribute('data-et-control') || isLikely(at);
|
|
774
825
|
if (inControl) continue;
|
|
775
826
|
const reason = [pointer ? 'cursor: pointer' : '', hovered.has(element) ? ':hover rule' : ''].filter(Boolean).join(' and ');
|
|
776
|
-
found.push({ kind: 'unclassified', what: nameOf(element) + ' with ' + reason, path: pathOf(element), marked: null, within: [], owner: ownerOf(element)?.key ?? null, box: frameBoxOf(element) });
|
|
827
|
+
found.push({ kind: 'unclassified', what: nameOf(element) + ' with ' + reason, path: pathOf(element), label: labelOf(element), marked: null, within: [], owner: ownerOf(element)?.key ?? null, box: frameBoxOf(element), covered: isCovered(element) });
|
|
777
828
|
}
|
|
778
829
|
return found;
|
|
779
830
|
})`;
|
|
@@ -857,7 +908,31 @@ const seeFrame = (options) => `(() => {
|
|
|
857
908
|
? { x: Math.round(box.left - ORIGIN.left), y: Math.round(box.top - ORIGIN.top), width: Math.round(box.width), height: Math.round(box.height) }
|
|
858
909
|
: null;
|
|
859
910
|
};
|
|
911
|
+
const isCovered = (element) => {
|
|
912
|
+
const box = element.getBoundingClientRect();
|
|
913
|
+
if (box.width <= 0 || box.height <= 0) return false;
|
|
914
|
+
const x = [box.left + 1, box.left + box.width / 2, box.right - 1];
|
|
915
|
+
const y = [box.top + 1, box.top + box.height / 2, box.bottom - 1];
|
|
916
|
+
const points = [[x[1], y[1]], [x[0], y[0]], [x[2], y[0]], [x[0], y[2]], [x[2], y[2]]];
|
|
917
|
+
let hit = false;
|
|
918
|
+
const inline = element.style.getPropertyValue('pointer-events');
|
|
919
|
+
const priority = element.style.getPropertyPriority('pointer-events');
|
|
920
|
+
element.style.setProperty('pointer-events', 'auto', 'important');
|
|
921
|
+
try {
|
|
922
|
+
for (const [px, py] of points) {
|
|
923
|
+
const top = document.elementFromPoint(px, py);
|
|
924
|
+
if (top === null) return false;
|
|
925
|
+
if (element.contains(top)) return false;
|
|
926
|
+
hit = true;
|
|
927
|
+
}
|
|
928
|
+
} finally {
|
|
929
|
+
if (inline) element.style.setProperty('pointer-events', inline, priority);
|
|
930
|
+
else element.style.removeProperty('pointer-events');
|
|
931
|
+
}
|
|
932
|
+
return hit;
|
|
933
|
+
};
|
|
860
934
|
const OWN = ${JSON.stringify(options.part)};
|
|
935
|
+
const CONTROL_PARTS = ${JSON.stringify(options.controlParts)};
|
|
861
936
|
const tokensOf = (element, name) => (element.getAttribute(name) ?? '').split(' ').filter(Boolean);
|
|
862
937
|
const ownerOf = (element) => {
|
|
863
938
|
const slotted = tokensOf(element, 'data-et-slot');
|
|
@@ -936,15 +1011,21 @@ const seeFrame = (options) => `(() => {
|
|
|
936
1011
|
const box = element.getBoundingClientRect();
|
|
937
1012
|
const x = Math.max(0, box.x + scrollX - ${PAD});
|
|
938
1013
|
const y = Math.max(0, box.y + scrollY - ${PAD});
|
|
1014
|
+
const width = Math.min(box.x + scrollX + box.width + ${PAD}, document.documentElement.scrollWidth) - x;
|
|
1015
|
+
const height = Math.min(box.y + scrollY + box.height + ${PAD}, document.documentElement.scrollHeight) - y;
|
|
939
1016
|
return {
|
|
940
1017
|
at,
|
|
941
1018
|
forced: tokensOf(element, 'data-et-force'),
|
|
942
|
-
box: box.width > 0 && box.height > 0 ? { x, y, width
|
|
1019
|
+
box: box.width > 0 && box.height > 0 && width > 0 && height > 0 ? { x, y, width, height } : null,
|
|
943
1020
|
selected: isSelected(element),
|
|
944
1021
|
look: lookOf(element),
|
|
945
1022
|
};
|
|
946
1023
|
};
|
|
947
|
-
const
|
|
1024
|
+
const isOwnControl = (element) => {
|
|
1025
|
+
const owner = ownerOf(element);
|
|
1026
|
+
return owner === null || CONTROL_PARTS[element.getAttribute('data-et-control')] === owner.key;
|
|
1027
|
+
};
|
|
1028
|
+
const controls = [...root.querySelectorAll('[data-et-control]')].filter(isOwnControl).map((element) => {
|
|
948
1029
|
const parts = ${controlPartsOf}(element);
|
|
949
1030
|
const forced = new Set(parts.flatMap((part) => tokensOf(part, 'data-et-force')));
|
|
950
1031
|
for (const part of parts) if (forced.size > 0) part.setAttribute('data-et-force', [...forced].join(' '));
|
|
@@ -953,10 +1034,12 @@ const seeFrame = (options) => `(() => {
|
|
|
953
1034
|
disabled: parts.some(isDisabled),
|
|
954
1035
|
keyboard: parts.some(isKeyboard),
|
|
955
1036
|
frameBox: frameBoxOf(element),
|
|
1037
|
+
covered: isCovered(element),
|
|
956
1038
|
...tagged(element),
|
|
957
1039
|
};
|
|
958
1040
|
});
|
|
959
|
-
const
|
|
1041
|
+
const partRoot = [root, ...root.querySelectorAll('[data-et-part]')].find((element) => (element.getAttribute('data-et-part') ?? '').split(' ').includes(${JSON.stringify(options.part)}));
|
|
1042
|
+
const surfaces = [...root.querySelectorAll('[data-et-surface]')].filter((element) => ownerOf(element) === null && !(element === partRoot && element.getAttribute('data-et-surface') === '')).map((element) => ({
|
|
960
1043
|
id: element.getAttribute('data-et-surface'),
|
|
961
1044
|
shown: shown(element),
|
|
962
1045
|
options: [...element.querySelectorAll(${JSON.stringify(OPTION_SELECTOR)})].filter((option) => ownerOf(option) === null && shown(option)).map((option) => ({ ...tagged(option), named: option.id !== '' && named.has(option.id), keyboard: isKeyboard(option) })),
|
|
@@ -967,8 +1050,10 @@ const seeFrame = (options) => `(() => {
|
|
|
967
1050
|
surfaces,
|
|
968
1051
|
found: discover ? ${discoverControls}(root) : [],
|
|
969
1052
|
overrides: discover ? ${findOverrides}(${JSON.stringify(options.ownCss)}) : [],
|
|
1053
|
+
backdrop: discover ? ${(0, demo_backdrop_1.findDemoBackdrop)(options.part)}(root) : null,
|
|
970
1054
|
};
|
|
971
1055
|
})()`;
|
|
1056
|
+
exports.seeFrame = seeFrame;
|
|
972
1057
|
const forceOn = ({ at, interaction, on, }) => `((at, interaction, on) => {
|
|
973
1058
|
const found = document.querySelector('[data-et-complete="' + at + '"]');
|
|
974
1059
|
for (const element of found.hasAttribute('data-et-control') ? ${controlPartsOf}(found) : [found]) {
|
|
@@ -981,22 +1066,26 @@ const forceOn = ({ at, interaction, on, }) => `((at, interaction, on) => {
|
|
|
981
1066
|
})(${JSON.stringify(at)}, ${JSON.stringify(interaction)}, ${JSON.stringify(on)})`;
|
|
982
1067
|
const FORCEABLE = new Set(['hover', 'focus-visible', 'active']);
|
|
983
1068
|
const seeFrames = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
984
|
-
const { browser, base, frames, part, ownCss } = options;
|
|
1069
|
+
const { browser, base, frames, part, ownCss, controlParts, requested } = options;
|
|
985
1070
|
const context = yield browser.newContext();
|
|
986
1071
|
const seen = [];
|
|
987
1072
|
const refused = [];
|
|
988
1073
|
const shots = [];
|
|
1074
|
+
if (requested)
|
|
1075
|
+
(0, served_cache_1.recordRequests)(context, () => requested);
|
|
989
1076
|
try {
|
|
990
1077
|
const page = yield context.newPage();
|
|
991
|
-
|
|
1078
|
+
if (requested)
|
|
1079
|
+
yield (yield context.newCDPSession(page)).send('Network.setCacheDisabled', { cacheDisabled: true });
|
|
1080
|
+
const seeOne = (frame) => __awaiter(void 0, void 0, void 0, function* () {
|
|
992
1081
|
yield page.setViewportSize((0, shot_1.viewportOf)(frame.size));
|
|
993
1082
|
yield (0, thumb_1.openFrame)(page, `${base}/frame.html?${frame.search}`);
|
|
994
1083
|
yield page.addStyleTag({ content: NO_MOTION });
|
|
995
|
-
yield
|
|
996
|
-
const found = (yield page.evaluate(seeFrame({ discover: frame.interaction === null, part, ownCss, clip: frame.clip })));
|
|
1084
|
+
yield (0, thumb_1.awaitSettled)(page);
|
|
1085
|
+
const found = (yield page.evaluate((0, exports.seeFrame)({ discover: frame.interaction === null, part, ownCss, controlParts, clip: frame.clip })));
|
|
997
1086
|
if ('refused' in found) {
|
|
998
1087
|
refused.push(`${frame.state}: ${found.refused}`);
|
|
999
|
-
|
|
1088
|
+
return;
|
|
1000
1089
|
}
|
|
1001
1090
|
if (frame.interaction === null) {
|
|
1002
1091
|
const box = frame.clip ? yield page.locator('#root').boundingBox() : null;
|
|
@@ -1016,7 +1105,7 @@ const seeFrames = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
1016
1105
|
const drawn = yield shot();
|
|
1017
1106
|
const drawnColours = (yield page.evaluate(colourSnapshot(element.at)));
|
|
1018
1107
|
yield page.evaluate(forceOn({ at: element.at, interaction, on: false }));
|
|
1019
|
-
yield
|
|
1108
|
+
yield (0, thumb_1.awaitSettled)(page);
|
|
1020
1109
|
const rest = yield shot();
|
|
1021
1110
|
const restColours = (yield page.evaluate(colourSnapshot(element.at)));
|
|
1022
1111
|
yield page.evaluate(forceOn({ at: element.at, interaction, on: true }));
|
|
@@ -1032,7 +1121,7 @@ const seeFrames = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
1032
1121
|
const controls = [];
|
|
1033
1122
|
const surfaces = [];
|
|
1034
1123
|
for (const control of found.controls)
|
|
1035
|
-
controls.push(Object.assign(Object.assign({ id: control.id, forced: yield forcedOf(control), selected: control.selected, disabled: control.disabled, look: control.look }, (control.keyboard ? { keyboard: true } : {})), { box: control.frameBox }));
|
|
1124
|
+
controls.push(Object.assign(Object.assign(Object.assign({ id: control.id, forced: yield forcedOf(control), selected: control.selected, disabled: control.disabled, look: control.look }, (control.keyboard ? { keyboard: true } : {})), { box: control.frameBox }), (control.covered ? { covered: true } : {})));
|
|
1036
1125
|
for (const surface of found.surfaces) {
|
|
1037
1126
|
const options = [];
|
|
1038
1127
|
for (const option of surface.options)
|
|
@@ -1046,7 +1135,16 @@ const seeFrames = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
1046
1135
|
surfaces,
|
|
1047
1136
|
found: found.found,
|
|
1048
1137
|
overrides: found.overrides,
|
|
1138
|
+
backdrop: found.backdrop,
|
|
1049
1139
|
});
|
|
1140
|
+
});
|
|
1141
|
+
for (const frame of frames) {
|
|
1142
|
+
try {
|
|
1143
|
+
yield seeOne(frame);
|
|
1144
|
+
}
|
|
1145
|
+
catch (error) {
|
|
1146
|
+
refused.push(`${frame.state}: design check could not draw this frame (${error instanceof Error ? error.message.split('\n')[0] : String(error)})`);
|
|
1147
|
+
}
|
|
1050
1148
|
}
|
|
1051
1149
|
}
|
|
1052
1150
|
finally {
|
|
@@ -1067,13 +1165,20 @@ const seeFrames = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
1067
1165
|
}),
|
|
1068
1166
|
};
|
|
1069
1167
|
});
|
|
1168
|
+
const COMPLETENESS_SIGHTS = 'completeness-sights';
|
|
1169
|
+
const COMPLETENESS_SIGHTS_LIMIT = 64 * 1024 * 1024;
|
|
1170
|
+
const completenessCacheOf = (options) => ({
|
|
1171
|
+
store: (0, served_cache_1.createServedCache)((0, vite_cache_1.viteCacheOf)(options.target, COMPLETENESS_SIGHTS), COMPLETENESS_SIGHTS_LIMIT),
|
|
1172
|
+
served: (0, served_cache_1.createServedHashes)(options.base, (0, served_cache_1.fetchServedOf)((0, served_cache_1.reachableBaseOf)(options.address))),
|
|
1173
|
+
salt: `${(0, code_hash_1.completenessCodeOf)()} ${(0, compare_cache_1.browserVersionOf)(options.from)}`,
|
|
1174
|
+
});
|
|
1070
1175
|
/**
|
|
1071
1176
|
* Draws every state of one part of the product, at rest and, unless `restOnly`, in each interaction it declares,
|
|
1072
1177
|
* once at its first preset or width, and answers what each frame showed, or why its module did not load as a string.
|
|
1073
1178
|
*/
|
|
1074
1179
|
const seePart = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
1075
|
-
var _a, _b, _c, _d, _e;
|
|
1076
|
-
const { product, part, system, base, load, draw, restOnly = false, sketch = null } = options;
|
|
1180
|
+
var _a, _b, _c, _d, _e, _f;
|
|
1181
|
+
const { product, part, system, base, load, draw, restOnly = false, sketch = null, cache } = options;
|
|
1077
1182
|
const key = (0, resolve_product_1.partKeyOf)(part);
|
|
1078
1183
|
const loaded = yield load((0, system_modules_1.productModuleIdOf)({ file: part.file, product: product.name, sketch }))
|
|
1079
1184
|
.then((module) => ({ module: module }))
|
|
@@ -1118,7 +1223,17 @@ const seePart = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
1118
1223
|
.filter((file) => file.endsWith('.css'))
|
|
1119
1224
|
.sort()
|
|
1120
1225
|
.map((file) => (0, fs_1.readFileSync)((0, path_1.join)(dir, file), 'utf8'));
|
|
1121
|
-
const
|
|
1226
|
+
const controlParts = Object.fromEntries(Object.entries((_f = (0, exports.declaredControlsOf)(definition === null || definition === void 0 ? void 0 : definition.controls)) !== null && _f !== void 0 ? _f : {}).flatMap(([id, control]) => control.part === null ? [] : [[id, control.part]]));
|
|
1227
|
+
const cacheKey = cache ? (0, compare_cache_1.cacheKeyOf)([cache.salt, product.name, sketch, key, frames, ownCss, controlParts]) : null;
|
|
1228
|
+
const held = cache && cacheKey ? yield (0, served_cache_1.servedHitOf)(cache, cacheKey) : null;
|
|
1229
|
+
const requested = [];
|
|
1230
|
+
const drawn = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
1231
|
+
const sight = yield draw((browser) => seeFrames({ browser, base, frames, part: key, ownCss, controlParts, requested: cache ? requested : undefined }));
|
|
1232
|
+
if (cache && cacheKey)
|
|
1233
|
+
yield (0, served_cache_1.writeServed)(cache, { key: cacheKey, requested, value: sight });
|
|
1234
|
+
return sight;
|
|
1235
|
+
});
|
|
1236
|
+
const { seen, refused, changes } = held !== null && held !== void 0 ? held : (yield drawn());
|
|
1122
1237
|
const owner = (0, inventory_approval_1.partOwnerOf)({ product, part });
|
|
1123
1238
|
return {
|
|
1124
1239
|
definition,
|
|
@@ -1168,27 +1283,74 @@ const completenessOf = (options) => __awaiter(void 0, void 0, void 0, function*
|
|
|
1168
1283
|
return Object.assign(Object.assign({ gaps }, (checked.exceptions.length > 0 ? { exceptions: checked.exceptions } : {})), (hints.length > 0 ? { hints } : {}));
|
|
1169
1284
|
});
|
|
1170
1285
|
exports.completenessOf = completenessOf;
|
|
1286
|
+
const slotsOf = (size) => {
|
|
1287
|
+
let free = size;
|
|
1288
|
+
const waiting = [];
|
|
1289
|
+
return (work) => __awaiter(void 0, void 0, void 0, function* () {
|
|
1290
|
+
if (free > 0)
|
|
1291
|
+
free--;
|
|
1292
|
+
else
|
|
1293
|
+
yield new Promise((resolve) => waiting.push(resolve));
|
|
1294
|
+
try {
|
|
1295
|
+
return yield work();
|
|
1296
|
+
}
|
|
1297
|
+
finally {
|
|
1298
|
+
const next = waiting.shift();
|
|
1299
|
+
if (next)
|
|
1300
|
+
next();
|
|
1301
|
+
else
|
|
1302
|
+
free++;
|
|
1303
|
+
}
|
|
1304
|
+
});
|
|
1305
|
+
};
|
|
1171
1306
|
/**
|
|
1172
1307
|
* Checks each named part as `completenessOf` does, sharing one server, browser and cache, and answers the gaps of
|
|
1173
1308
|
* each part, or why it could not be checked as a string.
|
|
1174
1309
|
*/
|
|
1175
1310
|
const partsCompletenessOf = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
1176
1311
|
var _a, _b, _c, _d;
|
|
1177
|
-
const { target, config, product, sketch = null } = options;
|
|
1312
|
+
const { target, config, product, sketch = null, warm } = options;
|
|
1178
1313
|
const resolveChromium = (_a = options.chromiumOf) !== null && _a !== void 0 ? _a : browser_1.chromiumOf;
|
|
1179
1314
|
const system = (0, system_modules_1.createSystemModules)({ target, config });
|
|
1180
1315
|
const parts = (_c = (_b = (sketch ? system.drawnOf(product.name, sketch) : product)) === null || _b === void 0 ? void 0 : _b.parts) !== null && _c !== void 0 ? _c : [];
|
|
1181
1316
|
const optionValuesOf = (0, option_values_1.optionValuesChecker)({ target, config, parts });
|
|
1182
|
-
|
|
1317
|
+
const chromium = yield resolveChromium(target);
|
|
1318
|
+
if (!chromium)
|
|
1183
1319
|
return { unavailable: 'neither the checkout nor this package resolves playwright or playwright-core' };
|
|
1184
|
-
const queue = (0, thumb_1.createDrawQueue)({ target, chromiumOf: resolveChromium });
|
|
1185
|
-
const server = yield (0, serve_1.createDesignServer)({ target, config, listen: true, port: 0 });
|
|
1320
|
+
const queue = warm ? warm.queue() : (0, thumb_1.createDrawQueue)({ target, chromiumOf: resolveChromium });
|
|
1321
|
+
const server = warm ? yield warm.server(config) : yield (0, serve_1.createDesignServer)({ target, config, listen: true, port: 0 });
|
|
1322
|
+
const sights = new Map();
|
|
1323
|
+
const atOnce = slotsOf(render_check_1.INSPECTS_AT_ONCE);
|
|
1186
1324
|
try {
|
|
1187
|
-
|
|
1188
|
-
|
|
1325
|
+
if (!warm)
|
|
1326
|
+
yield server.listen();
|
|
1327
|
+
const address = (_d = server.httpServer) === null || _d === void 0 ? void 0 : _d.address();
|
|
1328
|
+
const base = `http://localhost:${address.port}`;
|
|
1329
|
+
const cache = options.cached ? completenessCacheOf({ target, base, address, from: chromium.from }) : undefined;
|
|
1189
1330
|
const checked = new Map();
|
|
1190
1331
|
const exceptions = [];
|
|
1191
1332
|
const hints = new Map();
|
|
1333
|
+
const sightOf = (resolved) => {
|
|
1334
|
+
const key = (0, resolve_product_1.partKeyOf)(resolved);
|
|
1335
|
+
const known = sights.get(key);
|
|
1336
|
+
if (known)
|
|
1337
|
+
return known;
|
|
1338
|
+
const sight = atOnce(() => (0, exports.seePart)({
|
|
1339
|
+
product,
|
|
1340
|
+
part: resolved,
|
|
1341
|
+
system,
|
|
1342
|
+
base,
|
|
1343
|
+
load: (id) => server.ssrLoadModule(id),
|
|
1344
|
+
draw: (job) => queue.run(job),
|
|
1345
|
+
sketch,
|
|
1346
|
+
cache,
|
|
1347
|
+
restOnly: options.undeclaredOnly,
|
|
1348
|
+
}));
|
|
1349
|
+
sight.catch(() => undefined);
|
|
1350
|
+
sights.set(key, sight);
|
|
1351
|
+
return sight;
|
|
1352
|
+
};
|
|
1353
|
+
const resolvedOf = (key) => parts.find((candidate) => (0, resolve_product_1.partKeyOf)(candidate) === key);
|
|
1192
1354
|
const gapsOfPart = (key, chain) => __awaiter(void 0, void 0, void 0, function* () {
|
|
1193
1355
|
const known = checked.get(key);
|
|
1194
1356
|
if (known !== undefined && !chain.includes(key))
|
|
@@ -1198,43 +1360,50 @@ const partsCompletenessOf = (options) => __awaiter(void 0, void 0, void 0, funct
|
|
|
1198
1360
|
return gaps;
|
|
1199
1361
|
});
|
|
1200
1362
|
const freshGapsOfPart = (key, chain) => __awaiter(void 0, void 0, void 0, function* () {
|
|
1201
|
-
var _a, _b, _c, _d;
|
|
1202
|
-
const resolved =
|
|
1363
|
+
var _a, _b, _c, _d, _e;
|
|
1364
|
+
const resolved = resolvedOf(key);
|
|
1203
1365
|
if (!resolved)
|
|
1204
1366
|
return `product "${product.name}" has no part "${key}"`;
|
|
1205
1367
|
if (chain.includes(key))
|
|
1206
1368
|
return `its controls name each other in a cycle: ${[...chain, key].join(' > ')}`;
|
|
1207
|
-
const sight = yield (
|
|
1208
|
-
product,
|
|
1209
|
-
part: resolved,
|
|
1210
|
-
system,
|
|
1211
|
-
base: `http://localhost:${port}`,
|
|
1212
|
-
load: (id) => server.ssrLoadModule(id),
|
|
1213
|
-
draw: (job) => queue.run(job),
|
|
1214
|
-
sketch,
|
|
1215
|
-
});
|
|
1369
|
+
const sight = yield sightOf(resolved);
|
|
1216
1370
|
if (typeof sight === 'string')
|
|
1217
1371
|
return [{ code: 'RENDER', target: key, detail: (_a = sight.split('\n')[0]) !== null && _a !== void 0 ? _a : '' }];
|
|
1218
1372
|
const { definition, states, seen, refused, changes, owner, hash } = sight;
|
|
1373
|
+
if (options.undeclaredOnly)
|
|
1374
|
+
return discoveryGapsOf({
|
|
1375
|
+
part: key,
|
|
1376
|
+
declared: (_b = (0, exports.declaredControlsOf)(definition === null || definition === void 0 ? void 0 : definition.controls)) !== null && _b !== void 0 ? _b : {},
|
|
1377
|
+
frames: seen,
|
|
1378
|
+
}).filter(isUndeclaredControlGap);
|
|
1219
1379
|
const optionProblems = optionValuesOf(resolved, definition !== null && definition !== void 0 ? definition : {});
|
|
1220
1380
|
hints.set(key, [
|
|
1221
1381
|
...(0, exports.smallChangeHintsOf)({ part: key, controls: definition === null || definition === void 0 ? void 0 : definition.controls, changes }),
|
|
1222
|
-
...
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1382
|
+
...[
|
|
1383
|
+
...(0, exports.controlStateGapsOf)({ part: key, controls: definition === null || definition === void 0 ? void 0 : definition.controls, states }),
|
|
1384
|
+
...discoveryGapsOf({
|
|
1385
|
+
part: key,
|
|
1386
|
+
declared: (_c = (0, exports.declaredControlsOf)(definition === null || definition === void 0 ? void 0 : definition.controls)) !== null && _c !== void 0 ? _c : {},
|
|
1387
|
+
frames: seen,
|
|
1388
|
+
}).filter(isUndeclaredControlGap),
|
|
1389
|
+
...optionProblems
|
|
1390
|
+
.filter((gap) => gap.code === 'OPTION-VALUE-MISSING')
|
|
1391
|
+
.map((gap) => (Object.assign(Object.assign({}, gap), { target: key }))),
|
|
1392
|
+
].map((gap) => `HINT ${(0, exports.completenessGapLineOf)(gap)}`),
|
|
1229
1393
|
]);
|
|
1230
|
-
const sketched = ((
|
|
1394
|
+
const sketched = ((_d = product.parts.find((candidate) => (0, resolve_product_1.partKeyOf)(candidate) === key)) === null || _d === void 0 ? void 0 : _d.file) !== resolved.file;
|
|
1231
1395
|
const reviewed = sketched || (0, merged_parts_1.readMerged)(owner.dir)[key] === hash;
|
|
1232
1396
|
const referenced = {};
|
|
1233
1397
|
const used = [
|
|
1234
|
-
...Object.values((
|
|
1398
|
+
...Object.values((_e = (0, exports.declaredControlsOf)(definition === null || definition === void 0 ? void 0 : definition.controls)) !== null && _e !== void 0 ? _e : {}).map((control) => control.part),
|
|
1235
1399
|
...ownersOf(seen),
|
|
1236
1400
|
];
|
|
1237
1401
|
const isKitPart = (other) => { var _a; return resolved.origin !== 'base' && ((_a = parts.find((candidate) => (0, resolve_product_1.partKeyOf)(candidate) === other)) === null || _a === void 0 ? void 0 : _a.origin) === 'base'; };
|
|
1402
|
+
for (const other of used) {
|
|
1403
|
+
const ahead = other === null || isKitPart(other) ? undefined : resolvedOf(other);
|
|
1404
|
+
if (ahead)
|
|
1405
|
+
void sightOf(ahead);
|
|
1406
|
+
}
|
|
1238
1407
|
for (const other of used)
|
|
1239
1408
|
if (other !== null && !(other in referenced))
|
|
1240
1409
|
referenced[other] = isKitPart(other) ? [] : yield gapsOfPart(other, [...chain, key]);
|
|
@@ -1242,18 +1411,21 @@ const partsCompletenessOf = (options) => __awaiter(void 0, void 0, void 0, funct
|
|
|
1242
1411
|
part: key,
|
|
1243
1412
|
exceptions: (0, exceptions_1.readExceptions)(owner.dir),
|
|
1244
1413
|
hash,
|
|
1245
|
-
gaps:
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1414
|
+
gaps: [
|
|
1415
|
+
...(0, exports.completenessGapsOf)({
|
|
1416
|
+
part: key,
|
|
1417
|
+
controls: definition === null || definition === void 0 ? void 0 : definition.controls,
|
|
1418
|
+
states,
|
|
1419
|
+
frames: seen,
|
|
1420
|
+
reviewed,
|
|
1421
|
+
grid: definition === null || definition === void 0 ? void 0 : definition.grid,
|
|
1422
|
+
referenced,
|
|
1423
|
+
inventory: resolved.layer === 'pages'
|
|
1424
|
+
? (0, inventory_approval_1.inventoryStateOf)({ approval: (0, inventory_approval_1.readInventory)(owner.dir)[key], ids: (0, exports.inventoryIdsOf)(seen), hash })
|
|
1425
|
+
: undefined,
|
|
1426
|
+
}),
|
|
1427
|
+
...(resolved.layer === 'pages' ? [] : (0, demo_backdrop_1.demoBackdropGapsOf)({ part: key, frames: seen })),
|
|
1428
|
+
],
|
|
1257
1429
|
});
|
|
1258
1430
|
exceptions.push(...excepted.listed);
|
|
1259
1431
|
return [
|
|
@@ -1262,9 +1434,16 @@ const partsCompletenessOf = (options) => __awaiter(void 0, void 0, void 0, funct
|
|
|
1262
1434
|
...excepted.gaps,
|
|
1263
1435
|
];
|
|
1264
1436
|
});
|
|
1437
|
+
for (const key of options.parts) {
|
|
1438
|
+
const ahead = resolvedOf(key);
|
|
1439
|
+
if (ahead)
|
|
1440
|
+
void sightOf(ahead);
|
|
1441
|
+
}
|
|
1265
1442
|
const gaps = new Map();
|
|
1266
|
-
for (const part of options.parts)
|
|
1443
|
+
for (const part of options.parts) {
|
|
1444
|
+
yield (0, run_yield_1.yieldRun)();
|
|
1267
1445
|
gaps.set(part, yield gapsOfPart(part, []));
|
|
1446
|
+
}
|
|
1268
1447
|
return { gaps, exceptions, hints };
|
|
1269
1448
|
}
|
|
1270
1449
|
catch (error) {
|
|
@@ -1273,8 +1452,39 @@ const partsCompletenessOf = (options) => __awaiter(void 0, void 0, void 0, funct
|
|
|
1273
1452
|
throw error;
|
|
1274
1453
|
}
|
|
1275
1454
|
finally {
|
|
1276
|
-
yield Promise.
|
|
1455
|
+
yield Promise.allSettled(sights.values());
|
|
1456
|
+
if (!warm)
|
|
1457
|
+
yield Promise.all([queue.close(), server.close()]);
|
|
1277
1458
|
}
|
|
1278
1459
|
});
|
|
1279
1460
|
exports.partsCompletenessOf = partsCompletenessOf;
|
|
1461
|
+
/**
|
|
1462
|
+
* The `CONTROL-UNDECLARED` gaps a sketch variant adds to `parts`: a control it draws at rest that no `controls`
|
|
1463
|
+
* entry declares and the merged part does not draw undeclared either. Answers the gap lines, or why it could not draw.
|
|
1464
|
+
*/
|
|
1465
|
+
const addedUndeclaredControlsOf = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
1466
|
+
const { target, config, product, sketch, parts, warm } = options;
|
|
1467
|
+
const drawn = yield (0, exports.partsCompletenessOf)({ target, config, product, parts, sketch, warm, undeclaredOnly: true });
|
|
1468
|
+
if ('unavailable' in drawn)
|
|
1469
|
+
return drawn;
|
|
1470
|
+
const failed = new Map();
|
|
1471
|
+
for (const [part, gaps] of drawn.gaps)
|
|
1472
|
+
if (Array.isArray(gaps) && gaps.length > 0)
|
|
1473
|
+
failed.set(part, gaps);
|
|
1474
|
+
const merged = [...failed.keys()].filter((part) => product.parts.some((candidate) => (0, resolve_product_1.partKeyOf)(candidate) === part));
|
|
1475
|
+
const before = merged.length > 0
|
|
1476
|
+
? yield (0, exports.partsCompletenessOf)({ target, config, product, parts: merged, warm, undeclaredOnly: true })
|
|
1477
|
+
: null;
|
|
1478
|
+
if (before && 'unavailable' in before)
|
|
1479
|
+
return before;
|
|
1480
|
+
const lines = [...failed].flatMap(([part, gaps]) => {
|
|
1481
|
+
const known = before === null || before === void 0 ? void 0 : before.gaps.get(part);
|
|
1482
|
+
const details = new Set(Array.isArray(known) ? known.map((gap) => gap.detail) : []);
|
|
1483
|
+
return gaps
|
|
1484
|
+
.filter((gap) => !details.has(gap.detail))
|
|
1485
|
+
.map((gap) => `${(0, exports.completenessGapLineOf)(gap)} (variant ${sketch.variant})`);
|
|
1486
|
+
});
|
|
1487
|
+
return { lines };
|
|
1488
|
+
});
|
|
1489
|
+
exports.addedUndeclaredControlsOf = addedUndeclaredControlsOf;
|
|
1280
1490
|
//# sourceMappingURL=complete.js.map
|