@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
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.sdkCompoundsOf = void 0;
|
|
7
|
+
const postcss_1 = __importDefault(require("postcss"));
|
|
8
|
+
const postcss_selector_parser_1 = __importDefault(require("postcss-selector-parser"));
|
|
9
|
+
const SAME_ELEMENT_PSEUDOS = new Set([':is', ':where', ':matches', ':not']);
|
|
10
|
+
const attributeOf = (node) => {
|
|
11
|
+
var _a, _b;
|
|
12
|
+
return ({
|
|
13
|
+
name: node.attribute.toLowerCase(),
|
|
14
|
+
operator: (_a = node.operator) !== null && _a !== void 0 ? _a : null,
|
|
15
|
+
value: (_b = node.value) !== null && _b !== void 0 ? _b : null,
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
const emptyCompound = () => ({ classes: [], tag: null, attributes: [], mentioned: [], nested: false });
|
|
19
|
+
const hasCombinator = (selector) => selector.nodes.some((node) => node.type === 'combinator');
|
|
20
|
+
const addInner = (compound, pseudo) => {
|
|
21
|
+
for (const inner of pseudo.nodes) {
|
|
22
|
+
if (hasCombinator(inner))
|
|
23
|
+
continue;
|
|
24
|
+
for (const node of inner.nodes) {
|
|
25
|
+
if (node.type === 'class' && pseudo.value !== ':not')
|
|
26
|
+
compound.classes.push(node.value);
|
|
27
|
+
else if (node.type === 'attribute')
|
|
28
|
+
compound.mentioned.push(attributeOf(node));
|
|
29
|
+
else if (node.type === 'pseudo' && SAME_ELEMENT_PSEUDOS.has(node.value))
|
|
30
|
+
addInner(compound, node);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
const compoundsOfSelector = (selector) => {
|
|
35
|
+
const compounds = [emptyCompound()];
|
|
36
|
+
for (const node of selector.nodes) {
|
|
37
|
+
const current = compounds[compounds.length - 1];
|
|
38
|
+
if (node.type === 'combinator')
|
|
39
|
+
compounds.push(emptyCompound());
|
|
40
|
+
else if (node.type === 'class')
|
|
41
|
+
current.classes.push(node.value);
|
|
42
|
+
else if (node.type === 'tag')
|
|
43
|
+
current.tag = node.value.toLowerCase();
|
|
44
|
+
else if (node.type === 'nesting')
|
|
45
|
+
current.nested = true;
|
|
46
|
+
else if (node.type === 'attribute') {
|
|
47
|
+
current.attributes.push(attributeOf(node));
|
|
48
|
+
current.mentioned.push(attributeOf(node));
|
|
49
|
+
}
|
|
50
|
+
else if (node.type === 'pseudo' && SAME_ELEMENT_PSEUDOS.has(node.value))
|
|
51
|
+
addInner(current, node);
|
|
52
|
+
}
|
|
53
|
+
return compounds;
|
|
54
|
+
};
|
|
55
|
+
const merged = (outer, inner) => {
|
|
56
|
+
var _a;
|
|
57
|
+
return ({
|
|
58
|
+
classes: [...outer.classes, ...inner.classes],
|
|
59
|
+
tag: (_a = inner.tag) !== null && _a !== void 0 ? _a : outer.tag,
|
|
60
|
+
attributes: [...outer.attributes, ...inner.attributes],
|
|
61
|
+
mentioned: [...outer.mentioned, ...inner.mentioned],
|
|
62
|
+
nested: false,
|
|
63
|
+
});
|
|
64
|
+
};
|
|
65
|
+
const parentRuleOf = (rule) => {
|
|
66
|
+
let parent = rule.parent;
|
|
67
|
+
while (parent && parent.type !== 'rule')
|
|
68
|
+
parent = parent.parent;
|
|
69
|
+
return (parent === null || parent === void 0 ? void 0 : parent.type) === 'rule' ? parent : undefined;
|
|
70
|
+
};
|
|
71
|
+
const selectorsOf = (rule) => {
|
|
72
|
+
try {
|
|
73
|
+
return (0, postcss_selector_parser_1.default)().astSync(rule.selector).nodes;
|
|
74
|
+
}
|
|
75
|
+
catch (_a) {
|
|
76
|
+
return [];
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
const chainsOf = (rule, seen) => {
|
|
80
|
+
const known = seen.get(rule);
|
|
81
|
+
if (known)
|
|
82
|
+
return known;
|
|
83
|
+
const parent = parentRuleOf(rule);
|
|
84
|
+
const outer = parent ? chainsOf(parent, seen) : [[]];
|
|
85
|
+
const chains = selectorsOf(rule).flatMap((selector) => {
|
|
86
|
+
const own = compoundsOfSelector(selector);
|
|
87
|
+
return outer.map((chain) => {
|
|
88
|
+
const last = chain[chain.length - 1];
|
|
89
|
+
const nestedAt = own.findIndex((compound) => compound.nested);
|
|
90
|
+
if (nestedAt === -1 || last === undefined)
|
|
91
|
+
return [...chain, ...own];
|
|
92
|
+
return [
|
|
93
|
+
...own.slice(0, nestedAt),
|
|
94
|
+
...chain.slice(0, -1),
|
|
95
|
+
merged(last, own[nestedAt]),
|
|
96
|
+
...own.slice(nestedAt + 1),
|
|
97
|
+
];
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
seen.set(rule, chains);
|
|
101
|
+
return chains;
|
|
102
|
+
};
|
|
103
|
+
/** Each compound selector of `css` that names an `et-` class, with nested rules resolved against their parents. */
|
|
104
|
+
const sdkCompoundsOf = (css) => {
|
|
105
|
+
let root;
|
|
106
|
+
try {
|
|
107
|
+
root = postcss_1.default.parse(css);
|
|
108
|
+
}
|
|
109
|
+
catch (_a) {
|
|
110
|
+
return [];
|
|
111
|
+
}
|
|
112
|
+
const seen = new Map();
|
|
113
|
+
const compounds = [];
|
|
114
|
+
root.walkRules((rule) => {
|
|
115
|
+
var _a, _b, _c;
|
|
116
|
+
for (let ancestor = rule.parent; ancestor; ancestor = ancestor.parent)
|
|
117
|
+
if (ancestor.type === 'atrule' && /keyframes$/u.test(ancestor.name))
|
|
118
|
+
return;
|
|
119
|
+
const parent = parentRuleOf(rule);
|
|
120
|
+
const inherited = new Set(parent ? chainsOf(parent, seen).flat() : []);
|
|
121
|
+
for (const chain of chainsOf(rule, seen))
|
|
122
|
+
for (const compound of chain) {
|
|
123
|
+
const { classes, tag, attributes, mentioned } = compound;
|
|
124
|
+
if (!inherited.has(compound) && classes.some((name) => name.startsWith('et-')))
|
|
125
|
+
compounds.push({ classes, tag, attributes, mentioned, line: (_c = (_b = (_a = rule.source) === null || _a === void 0 ? void 0 : _a.start) === null || _b === void 0 ? void 0 : _b.line) !== null && _c !== void 0 ? _c : 0 });
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
return compounds;
|
|
129
|
+
};
|
|
130
|
+
exports.sdkCompoundsOf = sdkCompoundsOf;
|
|
131
|
+
//# sourceMappingURL=sdk-selectors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk-selectors.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/system/sdk-selectors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** The rule an open overlay pane breaks when text of the content under it stays visible through it. */
|
|
2
|
+
export declare const SEE_THROUGH_RULE = "SEE-THROUGH";
|
|
3
|
+
/** An open overlay pane: an SDK or CDK overlay, an open native popover or dialog, or a positioned menu or dialog role. */
|
|
4
|
+
export declare const OVERLAY_PANE_SELECTOR: string;
|
|
5
|
+
/**
|
|
6
|
+
* The statements of the see-through check inside the frame script of `render-check`. They use `root` and `report`
|
|
7
|
+
* of that script. Each point where text outside an open overlay pane lies under that pane must be covered by an
|
|
8
|
+
* opaque background painted above the text, or the text shows through; text outside any overlay that paints above
|
|
9
|
+
* the pane is reported too. They finish finite animations and force `pointer-events` on for the
|
|
10
|
+
* hit test and restore it.
|
|
11
|
+
*/
|
|
12
|
+
export declare const SEE_THROUGH_STATEMENTS: string;
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SEE_THROUGH_STATEMENTS = exports.OVERLAY_PANE_SELECTOR = exports.SEE_THROUGH_RULE = void 0;
|
|
4
|
+
/** The rule an open overlay pane breaks when text of the content under it stays visible through it. */
|
|
5
|
+
exports.SEE_THROUGH_RULE = 'SEE-THROUGH';
|
|
6
|
+
/** An open overlay pane: an SDK or CDK overlay, an open native popover or dialog, or a positioned menu or dialog role. */
|
|
7
|
+
exports.OVERLAY_PANE_SELECTOR = [
|
|
8
|
+
'.et-overlay',
|
|
9
|
+
'.et-overlay-runtime-pane',
|
|
10
|
+
'.cdk-overlay-pane',
|
|
11
|
+
'[popover]:popover-open',
|
|
12
|
+
'dialog[open]',
|
|
13
|
+
'[role="menu"]',
|
|
14
|
+
'[role="dialog"]',
|
|
15
|
+
'[role="alertdialog"]',
|
|
16
|
+
].join(', ');
|
|
17
|
+
const SAMPLES_PER_SIDE = 3;
|
|
18
|
+
const OPAQUE = 0.95;
|
|
19
|
+
/**
|
|
20
|
+
* The statements of the see-through check inside the frame script of `render-check`. They use `root` and `report`
|
|
21
|
+
* of that script. Each point where text outside an open overlay pane lies under that pane must be covered by an
|
|
22
|
+
* opaque background painted above the text, or the text shows through; text outside any overlay that paints above
|
|
23
|
+
* the pane is reported too. They finish finite animations and force `pointer-events` on for the
|
|
24
|
+
* hit test and restore it.
|
|
25
|
+
*/
|
|
26
|
+
exports.SEE_THROUGH_STATEMENTS = `
|
|
27
|
+
{
|
|
28
|
+
const panes = [...document.querySelectorAll(${JSON.stringify(exports.OVERLAY_PANE_SELECTOR)})].filter((pane) => {
|
|
29
|
+
if (pane.getClientRects().length === 0 || getComputedStyle(pane).visibility !== 'visible') return false;
|
|
30
|
+
if (pane.matches('[role]:not(.et-overlay, .et-overlay-runtime-pane, .cdk-overlay-pane, dialog, [popover])') && !['absolute', 'fixed'].includes(getComputedStyle(pane).position)) return false;
|
|
31
|
+
return !pane.parentElement?.closest(${JSON.stringify(exports.OVERLAY_PANE_SELECTOR)});
|
|
32
|
+
});
|
|
33
|
+
if (panes.length > 0) {
|
|
34
|
+
for (const animation of document.getAnimations())
|
|
35
|
+
if (animation.effect?.getComputedTiming().endTime !== Infinity) animation.finish();
|
|
36
|
+
const force = document.createElement('style');
|
|
37
|
+
force.textContent = '* { pointer-events: auto !important; }';
|
|
38
|
+
document.head.append(force);
|
|
39
|
+
const alphaOf = (colour) => {
|
|
40
|
+
if (colour === 'transparent') return 0;
|
|
41
|
+
const slash = /\\/\\s*([\\d.]+)(%?)\\s*\\)$/.exec(colour);
|
|
42
|
+
if (slash) return parseFloat(slash[1]) / (slash[2] ? 100 : 1);
|
|
43
|
+
const rgba = /^rgba\\([^,]+,[^,]+,[^,]+,\\s*([\\d.]+)\\s*\\)$/.exec(colour);
|
|
44
|
+
return rgba ? parseFloat(rgba[1]) : 1;
|
|
45
|
+
};
|
|
46
|
+
const opacityOf = (element) => {
|
|
47
|
+
let opacity = 1;
|
|
48
|
+
for (let at = element; at; at = at.parentElement) opacity *= parseFloat(getComputedStyle(at).opacity);
|
|
49
|
+
return opacity;
|
|
50
|
+
};
|
|
51
|
+
const coverOf = (element) => {
|
|
52
|
+
const style = getComputedStyle(element);
|
|
53
|
+
const solid = element.matches('img, video, canvas, iframe, object, embed') || style.backgroundImage !== 'none' || style.backdropFilter !== 'none';
|
|
54
|
+
return (solid ? 1 : alphaOf(style.backgroundColor)) * opacityOf(element);
|
|
55
|
+
};
|
|
56
|
+
const shown = (element) => {
|
|
57
|
+
const style = getComputedStyle(element);
|
|
58
|
+
return style.visibility === 'visible' && alphaOf(style.color) > 0 && opacityOf(element) > 0;
|
|
59
|
+
};
|
|
60
|
+
const walker = document.createTreeWalker(document.body, NodeFilter.SHOW_TEXT);
|
|
61
|
+
const texts = [];
|
|
62
|
+
for (let node = walker.nextNode(); node; node = walker.nextNode())
|
|
63
|
+
if (node.textContent.trim() && node.parentElement && !node.parentElement.closest('style, script, template, head')) texts.push(node);
|
|
64
|
+
const samples = ${SAMPLES_PER_SIDE};
|
|
65
|
+
for (const pane of panes) {
|
|
66
|
+
const box = pane.getBoundingClientRect();
|
|
67
|
+
for (const node of texts) {
|
|
68
|
+
const owner = node.parentElement;
|
|
69
|
+
if (pane.contains(owner) || !shown(owner)) continue;
|
|
70
|
+
const floats = owner.closest(${JSON.stringify(exports.OVERLAY_PANE_SELECTOR + ', [role="tooltip"]')}) !== null;
|
|
71
|
+
const range = document.createRange();
|
|
72
|
+
range.selectNodeContents(node);
|
|
73
|
+
let total = 0;
|
|
74
|
+
let through = 0;
|
|
75
|
+
let above = 0;
|
|
76
|
+
for (const rect of range.getClientRects()) {
|
|
77
|
+
const left = Math.max(rect.left, box.left, 0);
|
|
78
|
+
const top = Math.max(rect.top, box.top, 0);
|
|
79
|
+
const right = Math.min(rect.right, box.right, innerWidth);
|
|
80
|
+
const bottom = Math.min(rect.bottom, box.bottom, innerHeight);
|
|
81
|
+
if (right - left < 1 || bottom - top < 1) continue;
|
|
82
|
+
for (let row = 0; row < samples; row++)
|
|
83
|
+
for (let column = 0; column < samples; column++) {
|
|
84
|
+
const x = left + 0.5 + ((right - left - 1) * column) / (samples - 1);
|
|
85
|
+
const y = top + 0.5 + ((bottom - top - 1) * row) / (samples - 1);
|
|
86
|
+
const stack = document.elementsFromPoint(x, y);
|
|
87
|
+
const under = stack.indexOf(owner);
|
|
88
|
+
const paneAt = stack.findIndex((element) => element === pane || pane.contains(element));
|
|
89
|
+
if (under < 0 || paneAt < 0) continue;
|
|
90
|
+
total++;
|
|
91
|
+
if (paneAt > under) {
|
|
92
|
+
if (!floats) above++;
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
const clear = stack.slice(0, under).reduce((rest, element) => (element.contains(owner) ? rest : rest * (1 - coverOf(element))), 1);
|
|
96
|
+
if (1 - clear < ${OPAQUE}) through++;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
if (through === 0 && above === 0) continue;
|
|
100
|
+
const text = node.textContent.trim().replace(/\\s+/g, ' ');
|
|
101
|
+
const name = owner.localName + (owner.classList[0] ? '.' + owner.classList[0] : '');
|
|
102
|
+
const quoted = '"' + (text.length > 32 ? text.slice(0, 31) + '…' : text) + '" (' + name + ')';
|
|
103
|
+
if (above > 0) report(${JSON.stringify(exports.SEE_THROUGH_RULE)}, pane, quoted + ' paints over the open overlay pane at ' + above + ' of ' + total + ' points - lift the pane above it (z-index or stacking context)');
|
|
104
|
+
else report(${JSON.stringify(exports.SEE_THROUGH_RULE)}, pane, 'the open overlay pane lets ' + quoted + ' under it show through at ' + through + ' of ' + total + ' points - give the pane an opaque background');
|
|
105
|
+
break;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
force.remove();
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
`;
|
|
112
|
+
//# sourceMappingURL=see-through.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"see-through.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/system/see-through.ts"],"names":[],"mappings":";;;AAAA,uGAAuG;AAC1F,QAAA,gBAAgB,GAAG,aAAa,CAAC;AAE9C,0HAA0H;AAC7G,QAAA,qBAAqB,GAAG;IACnC,aAAa;IACb,0BAA0B;IAC1B,mBAAmB;IACnB,wBAAwB;IACxB,cAAc;IACd,eAAe;IACf,iBAAiB;IACjB,sBAAsB;CACvB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAC3B,MAAM,MAAM,GAAG,IAAI,CAAC;AAEpB;;;;;;GAMG;AACU,QAAA,sBAAsB,GAAG;;kDAEY,IAAI,CAAC,SAAS,CAAC,6BAAqB,CAAC;;;4CAG3C,IAAI,CAAC,SAAS,CAAC,6BAAqB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAiCzD,gBAAgB;;;;;;yCAMC,IAAI,CAAC,SAAS,CAAC,6BAAqB,GAAG,oBAAoB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;kCA0BnE,MAAM;;;;;;;kCAON,IAAI,CAAC,SAAS,CAAC,wBAAgB,CAAC;wBAC1C,IAAI,CAAC,SAAS,CAAC,wBAAgB,CAAC;;;;;;;CAOvD,CAAC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/** A request a drawing made: url, `accept` header and, for a POST, its body. */
|
|
2
|
+
export type ServedRequest = {
|
|
3
|
+
url: string;
|
|
4
|
+
accept: string | null;
|
|
5
|
+
post?: string | null;
|
|
6
|
+
};
|
|
7
|
+
/** One response a drawing loaded, by url relative to the server, with a hash of status and body. */
|
|
8
|
+
export type ServedInput = ServedRequest & {
|
|
9
|
+
hash: string | null;
|
|
10
|
+
};
|
|
11
|
+
/** What the server answered: status and body, and the lines it logged while answering. */
|
|
12
|
+
export type Served = {
|
|
13
|
+
body: Buffer;
|
|
14
|
+
lines: string[];
|
|
15
|
+
};
|
|
16
|
+
export type FetchServed = (request: ServedRequest) => Promise<Served | null>;
|
|
17
|
+
export declare const REGISTRY_SLICE_PATH = "/__design/registry-slice";
|
|
18
|
+
/**
|
|
19
|
+
* `text` with each SDK id that ends in a counter (`et-label-30`) renamed by its order of first appearance: the render
|
|
20
|
+
* worker keeps the SDK loaded, so its counters grow with every render of the same template.
|
|
21
|
+
*/
|
|
22
|
+
export declare const withStableIds: (text: string) => string;
|
|
23
|
+
/**
|
|
24
|
+
* `text` without what a server start alone changes: inline source maps, which embed host and token, and the
|
|
25
|
+
* `/@vite/client` websocket token, which Vite draws at random per server start.
|
|
26
|
+
*/
|
|
27
|
+
export declare const withoutStartNoise: (url: string, text: string) => string;
|
|
28
|
+
/**
|
|
29
|
+
* `requested` with the env and system registries, which list every part of every sketch, replaced by the slice of them
|
|
30
|
+
* each requested frame can read, so a change to another part's entries leaves the key alone. Kept when no frame was
|
|
31
|
+
* requested.
|
|
32
|
+
*/
|
|
33
|
+
export declare const withRegistrySlices: (requested: readonly ServedRequest[]) => ServedRequest[];
|
|
34
|
+
/**
|
|
35
|
+
* The base Node reaches a listening server at: its own address, as Node's fetch tries IPv4 first for `localhost` while
|
|
36
|
+
* a server on `localhost` may listen on `::1` only.
|
|
37
|
+
*/
|
|
38
|
+
export declare const reachableBaseOf: ({ address, family, port }: {
|
|
39
|
+
address: string;
|
|
40
|
+
family: string;
|
|
41
|
+
port: number;
|
|
42
|
+
}) => string;
|
|
43
|
+
/** Fetches `url` from the server at `base` as Node sees it; null when it cannot be reached in time. */
|
|
44
|
+
export declare const fetchServedOf: (base: string) => FetchServed;
|
|
45
|
+
/**
|
|
46
|
+
* The hashes of what the server at `base` answers now, each url fetched at most once per instance. The server's own
|
|
47
|
+
* host is left out of urls and bodies, so a server on another port answers the same.
|
|
48
|
+
*/
|
|
49
|
+
export declare const createServedHashes: (base: string, fetchServed?: FetchServed) => {
|
|
50
|
+
inputsOf: (requested: readonly ServedRequest[]) => Promise<ServedInput[]>;
|
|
51
|
+
linesOf: (requested: readonly ServedRequest[]) => Promise<string[]>;
|
|
52
|
+
unchanged: (inputs: readonly ServedInput[]) => Promise<boolean>;
|
|
53
|
+
};
|
|
54
|
+
export type ServedHashes = ReturnType<typeof createServedHashes>;
|
|
55
|
+
/** A result on disk with the responses its drawing loaded and the lines the server logged meanwhile, reused while every response answers the same. */
|
|
56
|
+
export type ServedEntry<T> = {
|
|
57
|
+
inputs: ServedInput[];
|
|
58
|
+
value: T;
|
|
59
|
+
lines?: string[];
|
|
60
|
+
};
|
|
61
|
+
export type ServedCache<T> = {
|
|
62
|
+
read: (key: string) => ServedEntry<T> | null;
|
|
63
|
+
write: (key: string, entry: ServedEntry<T>) => void;
|
|
64
|
+
};
|
|
65
|
+
/** A disk cache of drawn results under `dir`; the least recently used entries go past `limit` bytes. Reading and writing never throw. */
|
|
66
|
+
export declare const createServedCache: <T>(dir: string, limit: number) => ServedCache<T>;
|
|
67
|
+
/**
|
|
68
|
+
* A served cache read and written within one run: entries are checked against `served`, keys salted with `salt`, the
|
|
69
|
+
* lines of a hit printed again with `print`.
|
|
70
|
+
*/
|
|
71
|
+
export type ServedCacheRun<T> = {
|
|
72
|
+
store: ServedCache<T>;
|
|
73
|
+
served: ServedHashes;
|
|
74
|
+
salt: string;
|
|
75
|
+
print?: (line: string) => void;
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* The cached value under `key` when every response its drawing loaded still answers the same, else null. A hit prints
|
|
79
|
+
* the lines the server logged while the value was drawn, as the drawing did.
|
|
80
|
+
*/
|
|
81
|
+
export declare const servedHitOf: <T>(run: ServedCacheRun<T>, key: string) => Promise<T | null>;
|
|
82
|
+
/**
|
|
83
|
+
* Writes what a drawing found under `key`, with every response it loaded and every line the server logged for it.
|
|
84
|
+
* Writes nothing and returns false when a response could not be fetched, as its null hash would verify nothing.
|
|
85
|
+
*/
|
|
86
|
+
export declare const writeServed: <T>(run: ServedCacheRun<T>, entry: {
|
|
87
|
+
key: string;
|
|
88
|
+
requested: ServedRequest[];
|
|
89
|
+
value: T;
|
|
90
|
+
}) => Promise<boolean>;
|
|
91
|
+
/** Records every request `context` makes into `into`, a POST with its body. */
|
|
92
|
+
export declare const recordRequests: (context: {
|
|
93
|
+
on(event: "request", listener: (request: {
|
|
94
|
+
url(): string;
|
|
95
|
+
method(): string;
|
|
96
|
+
postData(): string | null;
|
|
97
|
+
headers(): Record<string, string>;
|
|
98
|
+
}) => void): unknown;
|
|
99
|
+
}, into: () => ServedRequest[]) => unknown;
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.recordRequests = exports.writeServed = exports.servedHitOf = exports.createServedCache = exports.createServedHashes = exports.fetchServedOf = exports.reachableBaseOf = exports.withRegistrySlices = exports.withoutStartNoise = exports.withStableIds = exports.REGISTRY_SLICE_PATH = void 0;
|
|
13
|
+
const crypto_1 = require("crypto");
|
|
14
|
+
const fs_1 = require("fs");
|
|
15
|
+
const path_1 = require("path");
|
|
16
|
+
const cache_entry_1 = require("../cache-entry");
|
|
17
|
+
const compare_cache_1 = require("./compare-cache");
|
|
18
|
+
const render_1 = require("../render");
|
|
19
|
+
const timings_1 = require("../timings");
|
|
20
|
+
const FETCH_TIMEOUT_MS = 30000;
|
|
21
|
+
const ENTRY_SUFFIX = '.json';
|
|
22
|
+
exports.REGISTRY_SLICE_PATH = '/__design/registry-slice';
|
|
23
|
+
const REGISTRY_PATHS = new Set(['/@id/__x00__virtual:design-explore/env', '/@id/__x00__virtual:design-explore/system']);
|
|
24
|
+
const FRAME_PATH = '/frame.html';
|
|
25
|
+
const COUNTED_ID = /\bid=\\?"(et-[a-z-]+-\d+)\\?"/g;
|
|
26
|
+
/**
|
|
27
|
+
* `text` with each SDK id that ends in a counter (`et-label-30`) renamed by its order of first appearance: the render
|
|
28
|
+
* worker keeps the SDK loaded, so its counters grow with every render of the same template.
|
|
29
|
+
*/
|
|
30
|
+
const withStableIds = (text) => {
|
|
31
|
+
const ids = [...new Set([...text.matchAll(COUNTED_ID)].map(([, id]) => id))];
|
|
32
|
+
const order = new Map(ids.map((id, index) => [id, `et-id-${index}`]));
|
|
33
|
+
return order.size === 0 ? text : text.replace(/\bet-[a-z-]+-\d+\b/g, (id) => { var _a; return (_a = order.get(id)) !== null && _a !== void 0 ? _a : id; });
|
|
34
|
+
};
|
|
35
|
+
exports.withStableIds = withStableIds;
|
|
36
|
+
const pathOf = (url) => new URL(url, 'http://registry.invalid').pathname;
|
|
37
|
+
const INLINE_SOURCE_MAP = /\n\/\/# sourceMappingURL=data:[^\n]*/g;
|
|
38
|
+
const VITE_CLIENT_PATH = '/@vite/client';
|
|
39
|
+
const VITE_WS_TOKEN = /\bconst wsToken = "[^"]*"/;
|
|
40
|
+
/**
|
|
41
|
+
* `text` without what a server start alone changes: inline source maps, which embed host and token, and the
|
|
42
|
+
* `/@vite/client` websocket token, which Vite draws at random per server start.
|
|
43
|
+
*/
|
|
44
|
+
const withoutStartNoise = (url, text) => {
|
|
45
|
+
const mapless = text.replace(INLINE_SOURCE_MAP, '');
|
|
46
|
+
return pathOf(url) === VITE_CLIENT_PATH ? mapless.replace(VITE_WS_TOKEN, 'const wsToken = ""') : mapless;
|
|
47
|
+
};
|
|
48
|
+
exports.withoutStartNoise = withoutStartNoise;
|
|
49
|
+
const isRender = (url) => pathOf(url) === render_1.RENDER_PATH;
|
|
50
|
+
const SLICE_PARAMS = ['product', 'call', 'sketch', 'variant', 'props', 'props-variant'];
|
|
51
|
+
/**
|
|
52
|
+
* `requested` with the env and system registries, which list every part of every sketch, replaced by the slice of them
|
|
53
|
+
* each requested frame can read, so a change to another part's entries leaves the key alone. Kept when no frame was
|
|
54
|
+
* requested.
|
|
55
|
+
*/
|
|
56
|
+
const withRegistrySlices = (requested) => {
|
|
57
|
+
const urlOf = (request) => new URL(request.url, 'http://registry.invalid');
|
|
58
|
+
const frames = requested.filter((request) => urlOf(request).pathname === FRAME_PATH);
|
|
59
|
+
if (frames.length === 0 || !requested.some((request) => REGISTRY_PATHS.has(urlOf(request).pathname)))
|
|
60
|
+
return [...requested];
|
|
61
|
+
const slices = frames.map((frame) => {
|
|
62
|
+
const asked = urlOf(frame).searchParams;
|
|
63
|
+
const query = new URLSearchParams(SLICE_PARAMS.flatMap((name) => { var _a; return (asked.has(name) ? [[name, (_a = asked.get(name)) !== null && _a !== void 0 ? _a : '']] : []); }));
|
|
64
|
+
const path = `${exports.REGISTRY_SLICE_PATH}?${query}`;
|
|
65
|
+
return { url: frame.url.startsWith('/') ? path : new URL(path, frame.url).href, accept: null };
|
|
66
|
+
});
|
|
67
|
+
return [...requested.filter((request) => !REGISTRY_PATHS.has(urlOf(request).pathname)), ...slices];
|
|
68
|
+
};
|
|
69
|
+
exports.withRegistrySlices = withRegistrySlices;
|
|
70
|
+
/**
|
|
71
|
+
* The base Node reaches a listening server at: its own address, as Node's fetch tries IPv4 first for `localhost` while
|
|
72
|
+
* a server on `localhost` may listen on `::1` only.
|
|
73
|
+
*/
|
|
74
|
+
const reachableBaseOf = ({ address, family, port }) => {
|
|
75
|
+
const any = address === '::' || address === '0.0.0.0';
|
|
76
|
+
if (family === 'IPv6')
|
|
77
|
+
return `http://[${any ? '::1' : address}]:${port}`;
|
|
78
|
+
return `http://${any ? '127.0.0.1' : address}:${port}`;
|
|
79
|
+
};
|
|
80
|
+
exports.reachableBaseOf = reachableBaseOf;
|
|
81
|
+
/** Fetches `url` from the server at `base` as Node sees it; null when it cannot be reached in time. */
|
|
82
|
+
const fetchServedOf = (base) => (_a) => __awaiter(void 0, [_a], void 0, function* ({ url, accept, post }) {
|
|
83
|
+
try {
|
|
84
|
+
const response = yield fetch(new URL(url, base), Object.assign(Object.assign({ headers: Object.assign(Object.assign({}, (accept ? { accept } : {})), (typeof post === 'string' ? { [render_1.QUIET_HEADER]: '1' } : {})) }, (typeof post === 'string' ? { method: 'POST', body: post } : {})), { signal: AbortSignal.timeout(FETCH_TIMEOUT_MS) }));
|
|
85
|
+
const body = Buffer.concat([Buffer.from(`${response.status}\0`), Buffer.from(yield response.arrayBuffer())]);
|
|
86
|
+
return { body, lines: servedLinesOf(response.headers.get(render_1.SERVED_LINES_HEADER)) };
|
|
87
|
+
}
|
|
88
|
+
catch (_b) {
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
exports.fetchServedOf = fetchServedOf;
|
|
93
|
+
const servedLinesOf = (header) => {
|
|
94
|
+
try {
|
|
95
|
+
const lines = header ? JSON.parse(decodeURIComponent(header)) : [];
|
|
96
|
+
return Array.isArray(lines) ? lines.filter((line) => typeof line === 'string') : [];
|
|
97
|
+
}
|
|
98
|
+
catch (_a) {
|
|
99
|
+
return [];
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
/**
|
|
103
|
+
* The hashes of what the server at `base` answers now, each url fetched at most once per instance. The server's own
|
|
104
|
+
* host is left out of urls and bodies, so a server on another port answers the same.
|
|
105
|
+
*/
|
|
106
|
+
const createServedHashes = (base, fetchServed = (0, exports.fetchServedOf)(base)) => {
|
|
107
|
+
const ownHost = new RegExp(`(?:localhost|127\\.0\\.0\\.1|\\[::1\\]):${new URL(base).port}`, 'g');
|
|
108
|
+
const held = new Map();
|
|
109
|
+
const relativeOf = ({ url, accept, post }) => (Object.assign({ url: url.startsWith(base) ? url.slice(base.length) || '/' : url, accept }, (typeof post === 'string' ? { post } : {})));
|
|
110
|
+
const atOf = ({ url, accept, post }) => `${accept !== null && accept !== void 0 ? accept : ''}\0${url}\0${post !== null && post !== void 0 ? post : ''}`;
|
|
111
|
+
const servedOf = (request) => {
|
|
112
|
+
const at = atOf(request);
|
|
113
|
+
const known = held.get(at);
|
|
114
|
+
if (known)
|
|
115
|
+
return known;
|
|
116
|
+
const hashed = fetchServed(request).then((served) => {
|
|
117
|
+
var _a;
|
|
118
|
+
if (!served)
|
|
119
|
+
(0, timings_1.recordNullHashes)(1);
|
|
120
|
+
const text = served ? (0, exports.withoutStartNoise)(request.url, served.body.toString('latin1').replace(ownHost, '')) : null;
|
|
121
|
+
return {
|
|
122
|
+
hash: text === null
|
|
123
|
+
? null
|
|
124
|
+
: (0, crypto_1.createHash)('sha256')
|
|
125
|
+
.update(isRender(request.url) ? (0, exports.withStableIds)(text) : text)
|
|
126
|
+
.digest('hex'),
|
|
127
|
+
lines: (_a = served === null || served === void 0 ? void 0 : served.lines) !== null && _a !== void 0 ? _a : [],
|
|
128
|
+
};
|
|
129
|
+
});
|
|
130
|
+
held.set(at, hashed);
|
|
131
|
+
return hashed;
|
|
132
|
+
};
|
|
133
|
+
return {
|
|
134
|
+
inputsOf: (requested) => __awaiter(void 0, void 0, void 0, function* () {
|
|
135
|
+
const unique = new Map(requested.map((request) => [atOf(relativeOf(request)), relativeOf(request)]));
|
|
136
|
+
const sorted = [...unique].sort(([a], [b]) => a.localeCompare(b)).map(([, request]) => request);
|
|
137
|
+
return Promise.all(sorted.map((request) => __awaiter(void 0, void 0, void 0, function* () { return (Object.assign(Object.assign({}, request), { hash: (yield servedOf(request)).hash })); })));
|
|
138
|
+
}),
|
|
139
|
+
linesOf: (requested) => __awaiter(void 0, void 0, void 0, function* () { return (yield Promise.all(requested.map((request) => __awaiter(void 0, void 0, void 0, function* () { return (yield servedOf(relativeOf(request))).lines; })))).flat(); }),
|
|
140
|
+
unchanged: (inputs) => __awaiter(void 0, void 0, void 0, function* () {
|
|
141
|
+
return (yield Promise.all(inputs.map((input) => __awaiter(void 0, void 0, void 0, function* () { return input.hash !== null && (yield servedOf(input)).hash === input.hash; })))).every(Boolean);
|
|
142
|
+
}),
|
|
143
|
+
};
|
|
144
|
+
};
|
|
145
|
+
exports.createServedHashes = createServedHashes;
|
|
146
|
+
/** A disk cache of drawn results under `dir`; the least recently used entries go past `limit` bytes. Reading and writing never throw. */
|
|
147
|
+
const createServedCache = (dir, limit) => ({
|
|
148
|
+
read: (key) => {
|
|
149
|
+
const path = (0, path_1.join)(dir, `${key}${ENTRY_SUFFIX}`);
|
|
150
|
+
try {
|
|
151
|
+
const entry = JSON.parse((0, fs_1.readFileSync)(path, 'utf8'));
|
|
152
|
+
if (entry.key !== key || !Array.isArray(entry.inputs) || entry.value === undefined)
|
|
153
|
+
return null;
|
|
154
|
+
const now = new Date();
|
|
155
|
+
(0, fs_1.utimesSync)(path, now, now);
|
|
156
|
+
return { inputs: entry.inputs, value: entry.value, lines: Array.isArray(entry.lines) ? entry.lines : [] };
|
|
157
|
+
}
|
|
158
|
+
catch (_a) {
|
|
159
|
+
return null;
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
write: (key, entry) => {
|
|
163
|
+
if ((0, cache_entry_1.writeCacheEntry)(dir, { name: `${key}${ENTRY_SUFFIX}`, text: JSON.stringify(Object.assign({ key }, entry)) }))
|
|
164
|
+
(0, compare_cache_1.evictOldestPast)(dir, limit);
|
|
165
|
+
},
|
|
166
|
+
});
|
|
167
|
+
exports.createServedCache = createServedCache;
|
|
168
|
+
/**
|
|
169
|
+
* The cached value under `key` when every response its drawing loaded still answers the same, else null. A hit prints
|
|
170
|
+
* the lines the server logged while the value was drawn, as the drawing did.
|
|
171
|
+
*/
|
|
172
|
+
const servedHitOf = (run, key) => __awaiter(void 0, void 0, void 0, function* () {
|
|
173
|
+
var _a, _b;
|
|
174
|
+
const held = run.store.read(key);
|
|
175
|
+
if (!held || !(yield run.served.unchanged(held.inputs)))
|
|
176
|
+
return null;
|
|
177
|
+
for (const line of (_a = held.lines) !== null && _a !== void 0 ? _a : [])
|
|
178
|
+
((_b = run.print) !== null && _b !== void 0 ? _b : console.warn)(line);
|
|
179
|
+
return held.value;
|
|
180
|
+
});
|
|
181
|
+
exports.servedHitOf = servedHitOf;
|
|
182
|
+
/**
|
|
183
|
+
* Writes what a drawing found under `key`, with every response it loaded and every line the server logged for it.
|
|
184
|
+
* Writes nothing and returns false when a response could not be fetched, as its null hash would verify nothing.
|
|
185
|
+
*/
|
|
186
|
+
const writeServed = (run, entry) => __awaiter(void 0, void 0, void 0, function* () {
|
|
187
|
+
const { key, value } = entry;
|
|
188
|
+
const requested = (0, exports.withRegistrySlices)(entry.requested);
|
|
189
|
+
const inputs = yield run.served.inputsOf(requested);
|
|
190
|
+
if (inputs.some((input) => input.hash === null))
|
|
191
|
+
return false;
|
|
192
|
+
run.store.write(key, { inputs, lines: yield run.served.linesOf(requested), value });
|
|
193
|
+
return true;
|
|
194
|
+
});
|
|
195
|
+
exports.writeServed = writeServed;
|
|
196
|
+
/** Records every request `context` makes into `into`, a POST with its body. */
|
|
197
|
+
const recordRequests = (context, into) => context.on('request', (request) => {
|
|
198
|
+
var _a, _b;
|
|
199
|
+
return into().push(Object.assign({ url: request.url(), accept: (_a = request.headers()['accept']) !== null && _a !== void 0 ? _a : null }, (request.method() === 'POST' ? { post: (_b = request.postData()) !== null && _b !== void 0 ? _b : '' } : {})));
|
|
200
|
+
});
|
|
201
|
+
exports.recordRequests = recordRequests;
|
|
202
|
+
//# sourceMappingURL=served-cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"served-cache.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/system/served-cache.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAAoC;AACpC,2BAA8C;AAC9C,+BAA4B;AAC5B,gDAAiD;AACjD,mDAAkD;AAClD,sCAA2E;AAC3E,wCAA8C;AAa9C,MAAM,gBAAgB,GAAG,KAAM,CAAC;AAEhC,MAAM,YAAY,GAAG,OAAO,CAAC;AAEhB,QAAA,mBAAmB,GAAG,0BAA0B,CAAC;AAE9D,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,wCAAwC,EAAE,2CAA2C,CAAC,CAAC,CAAC;AAExH,MAAM,UAAU,GAAG,aAAa,CAAC;AAEjC,MAAM,UAAU,GAAG,gCAAgC,CAAC;AAEpD;;;GAGG;AACI,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,EAAE;IAC5C,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAEtE,OAAO,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,EAAE,EAAE,EAAE,WAAC,OAAA,MAAA,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,mCAAI,EAAE,CAAA,EAAA,CAAC,CAAC;AACpG,CAAC,CAAC;AALW,QAAA,aAAa,iBAKxB;AAEF,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAC,QAAQ,CAAC;AAEjF,MAAM,iBAAiB,GAAG,uCAAuC,CAAC;AAElE,MAAM,gBAAgB,GAAG,eAAe,CAAC;AAEzC,MAAM,aAAa,GAAG,2BAA2B,CAAC;AAElD;;;GAGG;AACI,MAAM,iBAAiB,GAAG,CAAC,GAAW,EAAE,IAAY,EAAE,EAAE;IAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAEpD,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AAC3G,CAAC,CAAC;AAJW,QAAA,iBAAiB,qBAI5B;AAEF,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,oBAAW,CAAC;AAE9D,MAAM,YAAY,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;AAExF;;;;GAIG;AACI,MAAM,kBAAkB,GAAG,CAAC,SAAmC,EAAmB,EAAE;IACzF,MAAM,KAAK,GAAG,CAAC,OAAsB,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAC;IAC1F,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC;IAErF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;QAClG,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAClC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC;QACxC,MAAM,KAAK,GAAG,IAAI,eAAe,CAC/B,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,WAAC,OAAA,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAA,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,mCAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA,EAAA,CAAC,CACzF,CAAC;QACF,MAAM,IAAI,GAAG,GAAG,2BAAmB,IAAI,KAAK,EAAE,CAAC;QAE/C,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACjG,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC;AACrG,CAAC,CAAC;AAlBW,QAAA,kBAAkB,sBAkB7B;AAEF;;;GAGG;AACI,MAAM,eAAe,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAqD,EAAE,EAAE;IAC9G,MAAM,GAAG,GAAG,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,CAAC;IAEtD,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,WAAW,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;IAE1E,OAAO,UAAU,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;AACzD,CAAC,CAAC;AANW,QAAA,eAAe,mBAM1B;AAEF,uGAAuG;AAChG,MAAM,aAAa,GACxB,CAAC,IAAY,EAAe,EAAE,CAC9B,KAA8B,EAAE,4CAAzB,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE;IAC1B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,gCAC7C,OAAO,kCAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAK,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,qBAAY,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACnG,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACnE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAC7C,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;QAE7G,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,4BAAmB,CAAC,CAAC,EAAE,CAAC;IACnF,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAA,CAAC;AAfS,QAAA,aAAa,iBAetB;AAEJ,MAAM,aAAa,GAAG,CAAC,MAAqB,EAAY,EAAE;IACxD,IAAI,CAAC;QACH,MAAM,KAAK,GAAY,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE5E,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtG,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC,CAAC;AAEF;;;GAGG;AACI,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,cAA2B,IAAA,qBAAa,EAAC,IAAI,CAAC,EAAE,EAAE;IACjG,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,2CAA2C,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;IACjG,MAAM,IAAI,GAAG,IAAI,GAAG,EAA6D,CAAC;IAClF,MAAM,UAAU,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAiB,EAAiB,EAAE,CAAC,iBAC1E,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,EAC/D,MAAM,IACH,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAC7C,CAAC;IACH,MAAM,IAAI,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAiB,EAAE,EAAE,CAAC,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,KAAK,GAAG,KAAK,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,EAAE,CAAC;IAChG,MAAM,QAAQ,GAAG,CAAC,OAAsB,EAAE,EAAE;QAC1C,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAE3B,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;QAExB,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;;YAClD,IAAI,CAAC,MAAM;gBAAE,IAAA,0BAAgB,EAAC,CAAC,CAAC,CAAC;YAEjC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAA,yBAAiB,EAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAEjH,OAAO;gBACL,IAAI,EACF,IAAI,KAAK,IAAI;oBACX,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,IAAA,mBAAU,EAAC,QAAQ,CAAC;yBACjB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,qBAAa,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;yBAC1D,MAAM,CAAC,KAAK,CAAC;gBACtB,KAAK,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,mCAAI,EAAE;aAC3B,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAErB,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,OAAO;QACL,QAAQ,EAAE,CAAO,SAAmC,EAA0B,EAAE;YAC9E,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACrG,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;YAEhG,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAO,OAAO,EAAE,EAAE,kDAAC,OAAA,iCAAM,OAAO,KAAE,IAAI,EAAE,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAG,CAAA,GAAA,CAAC,CAAC,CAAC;QAC5G,CAAC,CAAA;QACD,OAAO,EAAE,CAAO,SAAmC,EAAE,EAAE,kDACrD,OAAA,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAO,OAAO,EAAE,EAAE,kDAAC,OAAA,CAAC,MAAM,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA,GAAA,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA,GAAA;QAC3G,SAAS,EAAE,CAAO,MAA8B,EAAE,EAAE;YAClD,OAAA,CACE,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,GAAG,CAAC,CAAO,KAAK,EAAE,EAAE,kDAAC,OAAA,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAA,GAAA,CAAC,CAChG,CACF,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;UAAA;KACnB,CAAC;AACJ,CAAC,CAAC;AApDW,QAAA,kBAAkB,sBAoD7B;AAYF,yIAAyI;AAClI,MAAM,iBAAiB,GAAG,CAAI,GAAW,EAAE,KAAa,EAAkB,EAAE,CAAC,CAAC;IACnF,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE;QACZ,MAAM,IAAI,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,GAAG,GAAG,GAAG,YAAY,EAAE,CAAC,CAAC;QAEhD,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAgD,CAAC;YAEpG,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC;YAEhG,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YAEvB,IAAA,eAAU,EAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAE3B,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC5G,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,KAAK,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACpB,IAAI,IAAA,6BAAe,EAAC,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,iBAAG,GAAG,IAAK,KAAK,EAAG,EAAE,CAAC;YAClG,IAAA,+BAAe,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;CACF,CAAC,CAAC;AAtBU,QAAA,iBAAiB,qBAsB3B;AAaH;;;GAGG;AACI,MAAM,WAAW,GAAG,CAAU,GAAsB,EAAE,GAAW,EAAqB,EAAE;;IAC7F,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEjC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAErE,KAAK,MAAM,IAAI,IAAI,MAAA,IAAI,CAAC,KAAK,mCAAI,EAAE;QAAE,CAAC,MAAA,GAAG,CAAC,KAAK,mCAAI,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;IAEvE,OAAO,IAAI,CAAC,KAAK,CAAC;AACpB,CAAC,CAAA,CAAC;AARW,QAAA,WAAW,eAQtB;AAEF;;;GAGG;AACI,MAAM,WAAW,GAAG,CACzB,GAAsB,EACtB,KAA4D,EAC5D,EAAE;IACF,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAC7B,MAAM,SAAS,GAAG,IAAA,0BAAkB,EAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAEpD,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAE9D,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAEpF,OAAO,IAAI,CAAC;AACd,CAAC,CAAA,CAAC;AAbW,QAAA,WAAW,eAatB;AAEF,+EAA+E;AACxE,MAAM,cAAc,GAAG,CAC5B,OAUC,EACD,IAA2B,EAC3B,EAAE,CACF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;;IAChC,OAAA,IAAI,EAAE,CAAC,IAAI,iBACT,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAClB,MAAM,EAAE,MAAA,OAAO,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,mCAAI,IAAI,IACxC,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAA,OAAO,CAAC,QAAQ,EAAE,mCAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAC1E,CAAA;CAAA,CACH,CAAC;AApBS,QAAA,cAAc,kBAoBvB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Browser } from '../thumb';
|
|
2
|
+
type Page = Awaited<ReturnType<Awaited<ReturnType<Browser['newContext']>>['newPage']>>;
|
|
3
|
+
/** How long `settledPanesOf` waits for the overlay panes a design draws to open in the app. */
|
|
4
|
+
export declare const PANE_COUNT_TIMEOUT_MS = 1000;
|
|
5
|
+
/**
|
|
6
|
+
* A page script that counts the frames in a row in which every overlay pane has left its init, enter and leave
|
|
7
|
+
* phases, no finite animation runs, and no box in a pane moved or resized; it returns whether that count reached
|
|
8
|
+
* `SETTLED_FRAMES`. Run it once per frame.
|
|
9
|
+
*/
|
|
10
|
+
export declare const settledPanesScript: string;
|
|
11
|
+
/**
|
|
12
|
+
* Waits up to `PANE_COUNT_TIMEOUT_MS` for at least `count` overlay panes, or until the open ones settle with no new one,
|
|
13
|
+
* then until `settledPanesScript` holds within `timeout`. `opened` is the pane count when fewer than `count` opened.
|
|
14
|
+
*/
|
|
15
|
+
export declare const settledPanesOf: (options: {
|
|
16
|
+
page: Page;
|
|
17
|
+
count: number;
|
|
18
|
+
timeout: number;
|
|
19
|
+
}) => Promise<{
|
|
20
|
+
settled: boolean;
|
|
21
|
+
opened: number | null;
|
|
22
|
+
}>;
|
|
23
|
+
export {};
|