@ethlete/cli 3.0.0-next.26 → 3.0.0-next.27

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.
Files changed (557) hide show
  1. package/CHANGELOG.md +328 -0
  2. package/build-info.json +1 -0
  3. package/design/define-call.ts +72 -30
  4. package/design/define-part.ts +37 -4
  5. package/design/icon-sheet.ts +1 -1
  6. package/design/interaction-rows.ts +13 -6
  7. package/design/mark-part.ts +51 -1
  8. package/design/token-sheet.ts +1 -1
  9. package/design/web/frame-fit.ts +7 -0
  10. package/design/web/frame-surfaces.ts +294 -0
  11. package/design/web/frame.ts +41 -15
  12. package/design/web/surface-interactive.css +42 -0
  13. package/design/with-action.ts +29 -0
  14. package/package.json +3 -1
  15. package/src/index.js +9 -1
  16. package/src/index.js.map +1 -1
  17. package/src/lib/design/asset-shot.js +2 -2
  18. package/src/lib/design/asset-shot.js.map +1 -1
  19. package/src/lib/design/build-watch.d.ts +26 -0
  20. package/src/lib/design/build-watch.js +138 -0
  21. package/src/lib/design/build-watch.js.map +1 -0
  22. package/src/lib/design/check.js +142 -16
  23. package/src/lib/design/check.js.map +1 -1
  24. package/src/lib/design/commit-hunks.d.ts +22 -0
  25. package/src/lib/design/commit-hunks.js +173 -0
  26. package/src/lib/design/commit-hunks.js.map +1 -0
  27. package/src/lib/design/design-command.d.ts +2 -0
  28. package/src/lib/design/design-command.js +160 -11
  29. package/src/lib/design/design-command.js.map +1 -1
  30. package/src/lib/design/force-interactions.d.ts +1 -1
  31. package/src/lib/design/force-interactions.js +4 -2
  32. package/src/lib/design/force-interactions.js.map +1 -1
  33. package/src/lib/design/inbox-command.js +9 -5
  34. package/src/lib/design/inbox-command.js.map +1 -1
  35. package/src/lib/design/mcp-command.d.ts +5 -1
  36. package/src/lib/design/mcp-command.js +29 -11
  37. package/src/lib/design/mcp-command.js.map +1 -1
  38. package/src/lib/design/merge-compare.d.ts +10 -2
  39. package/src/lib/design/merge-compare.js +63 -11
  40. package/src/lib/design/merge-compare.js.map +1 -1
  41. package/src/lib/design/motion-command.js +1 -1
  42. package/src/lib/design/motion-command.js.map +1 -1
  43. package/src/lib/design/motion-shot.js +3 -2
  44. package/src/lib/design/motion-shot.js.map +1 -1
  45. package/src/lib/design/new-call.js +19 -10
  46. package/src/lib/design/new-call.js.map +1 -1
  47. package/src/lib/design/part-marks.d.ts +3 -2
  48. package/src/lib/design/part-marks.js +13 -5
  49. package/src/lib/design/part-marks.js.map +1 -1
  50. package/src/lib/design/paths.d.ts +28 -0
  51. package/src/lib/design/paths.js.map +1 -1
  52. package/src/lib/design/product-command.d.ts +1 -1
  53. package/src/lib/design/product-command.js +12 -14
  54. package/src/lib/design/product-command.js.map +1 -1
  55. package/src/lib/design/ready-shots.d.ts +29 -3
  56. package/src/lib/design/ready-shots.js +105 -5
  57. package/src/lib/design/ready-shots.js.map +1 -1
  58. package/src/lib/design/render-packages.d.ts +4 -17
  59. package/src/lib/design/render-packages.js +20 -63
  60. package/src/lib/design/render-packages.js.map +1 -1
  61. package/src/lib/design/render-worker.js +1 -3
  62. package/src/lib/design/render-worker.js.map +1 -1
  63. package/src/lib/design/render.d.ts +2 -0
  64. package/src/lib/design/render.js +32 -7
  65. package/src/lib/design/render.js.map +1 -1
  66. package/src/lib/design/serve.d.ts +21 -1
  67. package/src/lib/design/serve.js +133 -19
  68. package/src/lib/design/serve.js.map +1 -1
  69. package/src/lib/design/server-identity.d.ts +36 -0
  70. package/src/lib/design/server-identity.js +68 -0
  71. package/src/lib/design/server-identity.js.map +1 -0
  72. package/src/lib/design/settle-frames.d.ts +4 -0
  73. package/src/lib/design/settle-frames.js +22 -0
  74. package/src/lib/design/settle-frames.js.map +1 -0
  75. package/src/lib/design/shot-command.d.ts +25 -4
  76. package/src/lib/design/shot-command.js +132 -46
  77. package/src/lib/design/shot-command.js.map +1 -1
  78. package/src/lib/design/shot.d.ts +50 -0
  79. package/src/lib/design/shot.js +143 -17
  80. package/src/lib/design/shot.js.map +1 -1
  81. package/src/lib/design/sketch-command.d.ts +6 -1
  82. package/src/lib/design/sketch-command.js +358 -126
  83. package/src/lib/design/sketch-command.js.map +1 -1
  84. package/src/lib/design/stale-cli-dist.d.ts +11 -0
  85. package/src/lib/design/stale-cli-dist.js +56 -0
  86. package/src/lib/design/stale-cli-dist.js.map +1 -0
  87. package/src/lib/design/stamp.d.ts +18 -1
  88. package/src/lib/design/stamp.js +53 -7
  89. package/src/lib/design/stamp.js.map +1 -1
  90. package/src/lib/design/started-by-studio.d.ts +1 -0
  91. package/src/lib/design/started-by-studio.js +6 -0
  92. package/src/lib/design/started-by-studio.js.map +1 -0
  93. package/src/lib/design/studio-api.d.ts +27 -8
  94. package/src/lib/design/studio-api.js +263 -58
  95. package/src/lib/design/studio-api.js.map +1 -1
  96. package/src/lib/design/system/accept-command.d.ts +39 -5
  97. package/src/lib/design/system/accept-command.js +109 -25
  98. package/src/lib/design/system/accept-command.js.map +1 -1
  99. package/src/lib/design/system/accepted-pictures.d.ts +83 -0
  100. package/src/lib/design/system/accepted-pictures.js +324 -0
  101. package/src/lib/design/system/accepted-pictures.js.map +1 -0
  102. package/src/lib/design/system/action-lost.d.ts +59 -0
  103. package/src/lib/design/system/action-lost.js +120 -0
  104. package/src/lib/design/system/action-lost.js.map +1 -0
  105. package/src/lib/design/system/action-press.d.ts +23 -0
  106. package/src/lib/design/system/action-press.js +76 -0
  107. package/src/lib/design/system/action-press.js.map +1 -0
  108. package/src/lib/design/system/action-undeclared.d.ts +34 -0
  109. package/src/lib/design/system/action-undeclared.js +81 -0
  110. package/src/lib/design/system/action-undeclared.js.map +1 -0
  111. package/src/lib/design/system/actions-command.d.ts +101 -0
  112. package/src/lib/design/system/actions-command.js +695 -0
  113. package/src/lib/design/system/actions-command.js.map +1 -0
  114. package/src/lib/design/system/actions.d.ts +158 -0
  115. package/src/lib/design/system/actions.js +295 -0
  116. package/src/lib/design/system/actions.js.map +1 -0
  117. package/src/lib/design/system/app-files.d.ts +10 -0
  118. package/src/lib/design/system/app-files.js +159 -0
  119. package/src/lib/design/system/app-files.js.map +1 -0
  120. package/src/lib/design/system/bespoke-controls.d.ts +30 -0
  121. package/src/lib/design/system/bespoke-controls.js +147 -0
  122. package/src/lib/design/system/bespoke-controls.js.map +1 -0
  123. package/src/lib/design/system/build-ready-contract.d.ts +27 -0
  124. package/src/lib/design/system/build-ready-contract.js +12 -0
  125. package/src/lib/design/system/build-ready-contract.js.map +1 -0
  126. package/src/lib/design/system/check-rules.d.ts +1 -0
  127. package/src/lib/design/system/check-rules.js +82 -0
  128. package/src/lib/design/system/check-rules.js.map +1 -0
  129. package/src/lib/design/system/check-system.d.ts +61 -6
  130. package/src/lib/design/system/check-system.js +479 -68
  131. package/src/lib/design/system/check-system.js.map +1 -1
  132. package/src/lib/design/system/comments/comment.d.ts +4 -1
  133. package/src/lib/design/system/comments/comment.js +13 -4
  134. package/src/lib/design/system/comments/comment.js.map +1 -1
  135. package/src/lib/design/system/comments/inbox.js +2 -2
  136. package/src/lib/design/system/comments/inbox.js.map +1 -1
  137. package/src/lib/design/system/compare-command.d.ts +119 -0
  138. package/src/lib/design/system/compare-command.js +558 -0
  139. package/src/lib/design/system/compare-command.js.map +1 -0
  140. package/src/lib/design/system/complete-command.js +1 -1
  141. package/src/lib/design/system/complete-command.js.map +1 -1
  142. package/src/lib/design/system/complete.d.ts +32 -1
  143. package/src/lib/design/system/complete.js +144 -48
  144. package/src/lib/design/system/complete.js.map +1 -1
  145. package/src/lib/design/system/component-outputs.d.ts +20 -0
  146. package/src/lib/design/system/component-outputs.js +86 -0
  147. package/src/lib/design/system/component-outputs.js.map +1 -0
  148. package/src/lib/design/system/contrast-check.d.ts +1 -1
  149. package/src/lib/design/system/contrast-check.js +14 -3
  150. package/src/lib/design/system/contrast-check.js.map +1 -1
  151. package/src/lib/design/system/demo-backdrop.d.ts +11 -0
  152. package/src/lib/design/system/demo-backdrop.js +41 -0
  153. package/src/lib/design/system/demo-backdrop.js.map +1 -0
  154. package/src/lib/design/system/design-hash.d.ts +31 -0
  155. package/src/lib/design/system/design-hash.js +73 -0
  156. package/src/lib/design/system/design-hash.js.map +1 -0
  157. package/src/lib/design/system/disabled-interaction.d.ts +8 -0
  158. package/src/lib/design/system/disabled-interaction.js +37 -0
  159. package/src/lib/design/system/disabled-interaction.js.map +1 -0
  160. package/src/lib/design/system/dom-command.d.ts +36 -0
  161. package/src/lib/design/system/dom-command.js +175 -0
  162. package/src/lib/design/system/dom-command.js.map +1 -0
  163. package/src/lib/design/system/drawn-open-points.d.ts +25 -3
  164. package/src/lib/design/system/drawn-open-points.js +65 -14
  165. package/src/lib/design/system/drawn-open-points.js.map +1 -1
  166. package/src/lib/design/system/dropped-props.d.ts +25 -0
  167. package/src/lib/design/system/dropped-props.js +159 -0
  168. package/src/lib/design/system/dropped-props.js.map +1 -0
  169. package/src/lib/design/system/embedded-actions.d.ts +21 -0
  170. package/src/lib/design/system/embedded-actions.js +37 -0
  171. package/src/lib/design/system/embedded-actions.js.map +1 -0
  172. package/src/lib/design/system/exceptions.js +2 -1
  173. package/src/lib/design/system/exceptions.js.map +1 -1
  174. package/src/lib/design/system/flows/flow.js +2 -1
  175. package/src/lib/design/system/flows/flow.js.map +1 -1
  176. package/src/lib/design/system/frozen-animations.d.ts +13 -0
  177. package/src/lib/design/system/frozen-animations.js +51 -0
  178. package/src/lib/design/system/frozen-animations.js.map +1 -0
  179. package/src/lib/design/system/go-batch.d.ts +24 -0
  180. package/src/lib/design/system/go-batch.js +110 -0
  181. package/src/lib/design/system/go-batch.js.map +1 -0
  182. package/src/lib/design/system/go-command.d.ts +4 -0
  183. package/src/lib/design/system/go-command.js +64 -0
  184. package/src/lib/design/system/go-command.js.map +1 -0
  185. package/src/lib/design/system/go-guard.d.ts +26 -0
  186. package/src/lib/design/system/go-guard.js +70 -0
  187. package/src/lib/design/system/go-guard.js.map +1 -0
  188. package/src/lib/design/system/go-step.d.ts +13 -0
  189. package/src/lib/design/system/go-step.js +84 -0
  190. package/src/lib/design/system/go-step.js.map +1 -0
  191. package/src/lib/design/system/handoff.js +2 -1
  192. package/src/lib/design/system/handoff.js.map +1 -1
  193. package/src/lib/design/system/harness-build-cache.d.ts +35 -0
  194. package/src/lib/design/system/harness-build-cache.js +175 -0
  195. package/src/lib/design/system/harness-build-cache.js.map +1 -0
  196. package/src/lib/design/system/harness-command.d.ts +7 -0
  197. package/src/lib/design/system/harness-command.js +51 -0
  198. package/src/lib/design/system/harness-command.js.map +1 -0
  199. package/src/lib/design/system/harness-config.d.ts +9 -0
  200. package/src/lib/design/system/harness-config.js +65 -0
  201. package/src/lib/design/system/harness-config.js.map +1 -0
  202. package/src/lib/design/system/harness-map.d.ts +44 -0
  203. package/src/lib/design/system/harness-map.js +126 -0
  204. package/src/lib/design/system/harness-map.js.map +1 -0
  205. package/src/lib/design/system/harness-samples.d.ts +20 -0
  206. package/src/lib/design/system/harness-samples.js +92 -0
  207. package/src/lib/design/system/harness-samples.js.map +1 -0
  208. package/src/lib/design/system/harness-server.d.ts +40 -0
  209. package/src/lib/design/system/harness-server.js +296 -0
  210. package/src/lib/design/system/harness-server.js.map +1 -0
  211. package/src/lib/design/system/imports.js +14 -1
  212. package/src/lib/design/system/imports.js.map +1 -1
  213. package/src/lib/design/system/in-order-at-once.d.ts +6 -0
  214. package/src/lib/design/system/in-order-at-once.js +28 -0
  215. package/src/lib/design/system/in-order-at-once.js.map +1 -0
  216. package/src/lib/design/system/inventory-approval.js +2 -1
  217. package/src/lib/design/system/inventory-approval.js.map +1 -1
  218. package/src/lib/design/system/inventory.d.ts +13 -4
  219. package/src/lib/design/system/inventory.js +36 -7
  220. package/src/lib/design/system/inventory.js.map +1 -1
  221. package/src/lib/design/system/list-system.d.ts +4 -0
  222. package/src/lib/design/system/list-system.js +12 -3
  223. package/src/lib/design/system/list-system.js.map +1 -1
  224. package/src/lib/design/system/live-actions.d.ts +121 -0
  225. package/src/lib/design/system/live-actions.js +665 -0
  226. package/src/lib/design/system/live-actions.js.map +1 -0
  227. package/src/lib/design/system/live-compare.d.ts +136 -0
  228. package/src/lib/design/system/live-compare.js +441 -0
  229. package/src/lib/design/system/live-compare.js.map +1 -0
  230. package/src/lib/design/system/live-uncovered.d.ts +40 -0
  231. package/src/lib/design/system/live-uncovered.js +123 -0
  232. package/src/lib/design/system/live-uncovered.js.map +1 -0
  233. package/src/lib/design/system/nested-scroll.d.ts +7 -0
  234. package/src/lib/design/system/nested-scroll.js +25 -0
  235. package/src/lib/design/system/nested-scroll.js.map +1 -0
  236. package/src/lib/design/system/notes/note.js +2 -1
  237. package/src/lib/design/system/notes/note.js.map +1 -1
  238. package/src/lib/design/system/occluded.d.ts +13 -0
  239. package/src/lib/design/system/occluded.js +111 -0
  240. package/src/lib/design/system/occluded.js.map +1 -0
  241. package/src/lib/design/system/open-points.d.ts +24 -6
  242. package/src/lib/design/system/open-points.js +59 -30
  243. package/src/lib/design/system/open-points.js.map +1 -1
  244. package/src/lib/design/system/part-build-ready.d.ts +39 -0
  245. package/src/lib/design/system/part-build-ready.js +107 -0
  246. package/src/lib/design/system/part-build-ready.js.map +1 -0
  247. package/src/lib/design/system/part-command.js +2 -9
  248. package/src/lib/design/system/part-command.js.map +1 -1
  249. package/src/lib/design/system/part-compare.d.ts +123 -0
  250. package/src/lib/design/system/part-compare.js +396 -0
  251. package/src/lib/design/system/part-compare.js.map +1 -0
  252. package/src/lib/design/system/part-go.d.ts +70 -0
  253. package/src/lib/design/system/part-go.js +94 -0
  254. package/src/lib/design/system/part-go.js.map +1 -0
  255. package/src/lib/design/system/part-ready.d.ts +44 -6
  256. package/src/lib/design/system/part-ready.js +88 -17
  257. package/src/lib/design/system/part-ready.js.map +1 -1
  258. package/src/lib/design/system/part-task.d.ts +147 -0
  259. package/src/lib/design/system/part-task.js +285 -0
  260. package/src/lib/design/system/part-task.js.map +1 -0
  261. package/src/lib/design/system/pointer-focus.d.ts +81 -0
  262. package/src/lib/design/system/pointer-focus.js +152 -0
  263. package/src/lib/design/system/pointer-focus.js.map +1 -0
  264. package/src/lib/design/system/prettier.d.ts +10 -0
  265. package/src/lib/design/system/prettier.js +36 -0
  266. package/src/lib/design/system/prettier.js.map +1 -0
  267. package/src/lib/design/system/reach.d.ts +12 -0
  268. package/src/lib/design/system/reach.js +186 -0
  269. package/src/lib/design/system/reach.js.map +1 -0
  270. package/src/lib/design/system/reachable-controls.d.ts +6 -0
  271. package/src/lib/design/system/reachable-controls.js +19 -0
  272. package/src/lib/design/system/reachable-controls.js.map +1 -0
  273. package/src/lib/design/system/reachable-files.d.ts +14 -0
  274. package/src/lib/design/system/reachable-files.js +101 -0
  275. package/src/lib/design/system/reachable-files.js.map +1 -0
  276. package/src/lib/design/system/reached-state.d.ts +23 -0
  277. package/src/lib/design/system/reached-state.js +53 -0
  278. package/src/lib/design/system/reached-state.js.map +1 -0
  279. package/src/lib/design/system/read-open-points.d.ts +9 -3
  280. package/src/lib/design/system/read-open-points.js +38 -9
  281. package/src/lib/design/system/read-open-points.js.map +1 -1
  282. package/src/lib/design/system/ready-command.d.ts +6 -2
  283. package/src/lib/design/system/ready-command.js +32 -15
  284. package/src/lib/design/system/ready-command.js.map +1 -1
  285. package/src/lib/design/system/render-check.d.ts +50 -0
  286. package/src/lib/design/system/render-check.js +341 -88
  287. package/src/lib/design/system/render-check.js.map +1 -1
  288. package/src/lib/design/system/resolve-product.js +5 -0
  289. package/src/lib/design/system/resolve-product.js.map +1 -1
  290. package/src/lib/design/system/rules/app-spec.d.ts +30 -0
  291. package/src/lib/design/system/rules/app-spec.js +87 -0
  292. package/src/lib/design/system/rules/app-spec.js.map +1 -0
  293. package/src/lib/design/system/rules/canonical-class.d.ts +2 -0
  294. package/src/lib/design/system/rules/canonical-class.js +36 -110
  295. package/src/lib/design/system/rules/canonical-class.js.map +1 -1
  296. package/src/lib/design/system/rules/capability-place.d.ts +44 -0
  297. package/src/lib/design/system/rules/capability-place.js +116 -0
  298. package/src/lib/design/system/rules/capability-place.js.map +1 -0
  299. package/src/lib/design/system/rules/denied-class.d.ts +9 -0
  300. package/src/lib/design/system/rules/denied-class.js +121 -0
  301. package/src/lib/design/system/rules/denied-class.js.map +1 -0
  302. package/src/lib/design/system/rules/exemptions.d.ts +18 -0
  303. package/src/lib/design/system/rules/exemptions.js +18 -0
  304. package/src/lib/design/system/rules/exemptions.js.map +1 -0
  305. package/src/lib/design/system/rules/flow.js +1 -1
  306. package/src/lib/design/system/rules/flow.js.map +1 -1
  307. package/src/lib/design/system/rules/glued-interpolation.d.ts +8 -0
  308. package/src/lib/design/system/rules/glued-interpolation.js +61 -0
  309. package/src/lib/design/system/rules/glued-interpolation.js.map +1 -0
  310. package/src/lib/design/system/rules/hard-coded-colour.js +2 -1
  311. package/src/lib/design/system/rules/hard-coded-colour.js.map +1 -1
  312. package/src/lib/design/system/rules/implemented-components.d.ts +22 -0
  313. package/src/lib/design/system/rules/implemented-components.js +45 -0
  314. package/src/lib/design/system/rules/implemented-components.js.map +1 -0
  315. package/src/lib/design/system/rules/implements.d.ts +2 -1
  316. package/src/lib/design/system/rules/implements.js +26 -21
  317. package/src/lib/design/system/rules/implements.js.map +1 -1
  318. package/src/lib/design/system/rules/inline-svg.js +4 -1
  319. package/src/lib/design/system/rules/inline-svg.js.map +1 -1
  320. package/src/lib/design/system/rules/inline-ui-in-page-open.d.ts +13 -0
  321. package/src/lib/design/system/rules/inline-ui-in-page-open.js +5 -0
  322. package/src/lib/design/system/rules/inline-ui-in-page-open.js.map +1 -0
  323. package/src/lib/design/system/rules/inline-ui-in-page.d.ts +18 -0
  324. package/src/lib/design/system/rules/inline-ui-in-page.js +123 -0
  325. package/src/lib/design/system/rules/inline-ui-in-page.js.map +1 -0
  326. package/src/lib/design/system/rules/inline-ui.d.ts +16 -0
  327. package/src/lib/design/system/rules/inline-ui.js +100 -0
  328. package/src/lib/design/system/rules/inline-ui.js.map +1 -0
  329. package/src/lib/design/system/rules/motion.d.ts +1 -1
  330. package/src/lib/design/system/rules/motion.js +25 -17
  331. package/src/lib/design/system/rules/motion.js.map +1 -1
  332. package/src/lib/design/system/rules/native-title.d.ts +7 -0
  333. package/src/lib/design/system/rules/native-title.js +64 -0
  334. package/src/lib/design/system/rules/native-title.js.map +1 -0
  335. package/src/lib/design/system/rules/orphan-endpoint-known.d.ts +12 -0
  336. package/src/lib/design/system/rules/orphan-endpoint-known.js +20 -0
  337. package/src/lib/design/system/rules/orphan-endpoint-known.js.map +1 -0
  338. package/src/lib/design/system/rules/orphan-endpoint.d.ts +23 -0
  339. package/src/lib/design/system/rules/orphan-endpoint.js +166 -0
  340. package/src/lib/design/system/rules/orphan-endpoint.js.map +1 -0
  341. package/src/lib/design/system/rules/part-rewrite.d.ts +13 -0
  342. package/src/lib/design/system/rules/part-rewrite.js +125 -0
  343. package/src/lib/design/system/rules/part-rewrite.js.map +1 -0
  344. package/src/lib/design/system/rules/sample-default-known.d.ts +5 -0
  345. package/src/lib/design/system/rules/sample-default-known.js +17 -0
  346. package/src/lib/design/system/rules/sample-default-known.js.map +1 -0
  347. package/src/lib/design/system/rules/sample-default.d.ts +22 -0
  348. package/src/lib/design/system/rules/sample-default.js +92 -0
  349. package/src/lib/design/system/rules/sample-default.js.map +1 -0
  350. package/src/lib/design/system/rules/stale-replace.js +4 -0
  351. package/src/lib/design/system/rules/stale-replace.js.map +1 -1
  352. package/src/lib/design/system/rules/state-in-component.d.ts +16 -0
  353. package/src/lib/design/system/rules/state-in-component.js +101 -0
  354. package/src/lib/design/system/rules/state-in-component.js.map +1 -0
  355. package/src/lib/design/system/rules/tailwind-classes.d.ts +51 -0
  356. package/src/lib/design/system/rules/tailwind-classes.js +232 -0
  357. package/src/lib/design/system/rules/tailwind-classes.js.map +1 -0
  358. package/src/lib/design/system/rules/top-level-await.d.ts +9 -0
  359. package/src/lib/design/system/rules/top-level-await.js +62 -0
  360. package/src/lib/design/system/rules/top-level-await.js.map +1 -0
  361. package/src/lib/design/system/rules/unbound-input-known.d.ts +5 -0
  362. package/src/lib/design/system/rules/unbound-input-known.js +47 -0
  363. package/src/lib/design/system/rules/unbound-input-known.js.map +1 -0
  364. package/src/lib/design/system/rules/unbound-input.d.ts +22 -0
  365. package/src/lib/design/system/rules/unbound-input.js +61 -0
  366. package/src/lib/design/system/rules/unbound-input.js.map +1 -0
  367. package/src/lib/design/system/rules/uncovered-region.d.ts +13 -0
  368. package/src/lib/design/system/rules/uncovered-region.js +36 -0
  369. package/src/lib/design/system/rules/uncovered-region.js.map +1 -0
  370. package/src/lib/design/system/rules/undefined-class.d.ts +9 -0
  371. package/src/lib/design/system/rules/undefined-class.js +32 -0
  372. package/src/lib/design/system/rules/undefined-class.js.map +1 -0
  373. package/src/lib/design/system/rules/undefined-token.d.ts +1 -1
  374. package/src/lib/design/system/rules/undefined-token.js +7 -61
  375. package/src/lib/design/system/rules/undefined-token.js.map +1 -1
  376. package/src/lib/design/system/rules/utility-css.d.ts +2 -1
  377. package/src/lib/design/system/rules/utility-css.js +29 -14
  378. package/src/lib/design/system/rules/utility-css.js.map +1 -1
  379. package/src/lib/design/system/rules/view-coverage.d.ts +8 -0
  380. package/src/lib/design/system/rules/view-coverage.js +51 -0
  381. package/src/lib/design/system/rules/view-coverage.js.map +1 -0
  382. package/src/lib/design/system/rules/visible-change.d.ts +20 -0
  383. package/src/lib/design/system/rules/visible-change.js +48 -0
  384. package/src/lib/design/system/rules/visible-change.js.map +1 -0
  385. package/src/lib/design/system/sdk-errors.d.ts +14 -0
  386. package/src/lib/design/system/sdk-errors.js +38 -0
  387. package/src/lib/design/system/sdk-errors.js.map +1 -0
  388. package/src/lib/design/system/see-through.d.ts +12 -0
  389. package/src/lib/design/system/see-through.js +112 -0
  390. package/src/lib/design/system/see-through.js.map +1 -0
  391. package/src/lib/design/system/settled-panes.d.ts +18 -0
  392. package/src/lib/design/system/settled-panes.js +70 -0
  393. package/src/lib/design/system/settled-panes.js.map +1 -0
  394. package/src/lib/design/system/sketch/after-merge.d.ts +11 -0
  395. package/src/lib/design/system/sketch/after-merge.js +51 -0
  396. package/src/lib/design/system/sketch/after-merge.js.map +1 -0
  397. package/src/lib/design/system/sketch/aktuell-placeholders.d.ts +30 -0
  398. package/src/lib/design/system/sketch/aktuell-placeholders.js +87 -0
  399. package/src/lib/design/system/sketch/aktuell-placeholders.js.map +1 -0
  400. package/src/lib/design/system/sketch/baseline.d.ts +19 -1
  401. package/src/lib/design/system/sketch/baseline.js +29 -7
  402. package/src/lib/design/system/sketch/baseline.js.map +1 -1
  403. package/src/lib/design/system/sketch/check-sketches.d.ts +10 -0
  404. package/src/lib/design/system/sketch/check-sketches.js +50 -4
  405. package/src/lib/design/system/sketch/check-sketches.js.map +1 -1
  406. package/src/lib/design/system/sketch/cli-args.d.ts +12 -2
  407. package/src/lib/design/system/sketch/cli-args.js +18 -3
  408. package/src/lib/design/system/sketch/cli-args.js.map +1 -1
  409. package/src/lib/design/system/sketch/edit-sketch.d.ts +21 -0
  410. package/src/lib/design/system/sketch/edit-sketch.js +117 -0
  411. package/src/lib/design/system/sketch/edit-sketch.js.map +1 -0
  412. package/src/lib/design/system/sketch/frame-budget.d.ts +24 -0
  413. package/src/lib/design/system/sketch/frame-budget.js +23 -0
  414. package/src/lib/design/system/sketch/frame-budget.js.map +1 -0
  415. package/src/lib/design/system/sketch/identical-renders.d.ts +31 -0
  416. package/src/lib/design/system/sketch/identical-renders.js +137 -0
  417. package/src/lib/design/system/sketch/identical-renders.js.map +1 -0
  418. package/src/lib/design/system/sketch/merge-shared.d.ts +2 -0
  419. package/src/lib/design/system/sketch/merge-shared.js +7 -10
  420. package/src/lib/design/system/sketch/merge-shared.js.map +1 -1
  421. package/src/lib/design/system/sketch/merge-step.d.ts +35 -0
  422. package/src/lib/design/system/sketch/merge-step.js +98 -0
  423. package/src/lib/design/system/sketch/merge-step.js.map +1 -0
  424. package/src/lib/design/system/sketch/merge.d.ts +10 -3
  425. package/src/lib/design/system/sketch/merge.js +103 -30
  426. package/src/lib/design/system/sketch/merge.js.map +1 -1
  427. package/src/lib/design/system/sketch/merged-layout.d.ts +17 -0
  428. package/src/lib/design/system/sketch/merged-layout.js +57 -0
  429. package/src/lib/design/system/sketch/merged-layout.js.map +1 -0
  430. package/src/lib/design/system/sketch/merged-parts.d.ts +40 -10
  431. package/src/lib/design/system/sketch/merged-parts.js +112 -49
  432. package/src/lib/design/system/sketch/merged-parts.js.map +1 -1
  433. package/src/lib/design/system/sketch/no-visible-change.d.ts +10 -0
  434. package/src/lib/design/system/sketch/no-visible-change.js +16 -6
  435. package/src/lib/design/system/sketch/no-visible-change.js.map +1 -1
  436. package/src/lib/design/system/sketch/part-definition.d.ts +21 -1
  437. package/src/lib/design/system/sketch/part-definition.js +79 -17
  438. package/src/lib/design/system/sketch/part-definition.js.map +1 -1
  439. package/src/lib/design/system/sketch/rebase-port.d.ts +24 -0
  440. package/src/lib/design/system/sketch/rebase-port.js +170 -0
  441. package/src/lib/design/system/sketch/rebase-port.js.map +1 -0
  442. package/src/lib/design/system/sketch/sample-mark-drift.d.ts +33 -0
  443. package/src/lib/design/system/sketch/sample-mark-drift.js +88 -0
  444. package/src/lib/design/system/sketch/sample-mark-drift.js.map +1 -0
  445. package/src/lib/design/system/sketch/sketch-check-worker.d.ts +1 -0
  446. package/src/lib/design/system/sketch/sketch-check-worker.js +27 -0
  447. package/src/lib/design/system/sketch/sketch-check-worker.js.map +1 -0
  448. package/src/lib/design/system/sketch/sketch-checker.d.ts +27 -0
  449. package/src/lib/design/system/sketch/sketch-checker.js +99 -0
  450. package/src/lib/design/system/sketch/sketch-checker.js.map +1 -0
  451. package/src/lib/design/system/sketch/sketch.d.ts +63 -2
  452. package/src/lib/design/system/sketch/sketch.js +185 -30
  453. package/src/lib/design/system/sketch/sketch.js.map +1 -1
  454. package/src/lib/design/system/sketch/stale-base.d.ts +22 -0
  455. package/src/lib/design/system/sketch/stale-base.js +56 -0
  456. package/src/lib/design/system/sketch/stale-base.js.map +1 -0
  457. package/src/lib/design/system/sketch/unchanged-states.d.ts +32 -0
  458. package/src/lib/design/system/sketch/unchanged-states.js +52 -13
  459. package/src/lib/design/system/sketch/unchanged-states.js.map +1 -1
  460. package/src/lib/design/system/sketch/unused-closure.js +16 -4
  461. package/src/lib/design/system/sketch/unused-closure.js.map +1 -1
  462. package/src/lib/design/system/sketch/viewed-shots.d.ts +24 -0
  463. package/src/lib/design/system/sketch/viewed-shots.js +61 -0
  464. package/src/lib/design/system/sketch/viewed-shots.js.map +1 -0
  465. package/src/lib/design/system/slow-checks.d.ts +40 -0
  466. package/src/lib/design/system/slow-checks.js +197 -0
  467. package/src/lib/design/system/slow-checks.js.map +1 -0
  468. package/src/lib/design/system/slow-run.d.ts +57 -0
  469. package/src/lib/design/system/slow-run.js +253 -0
  470. package/src/lib/design/system/slow-run.js.map +1 -0
  471. package/src/lib/design/system/stale-design-mocks.d.ts +20 -0
  472. package/src/lib/design/system/stale-design-mocks.js +59 -0
  473. package/src/lib/design/system/stale-design-mocks.js.map +1 -0
  474. package/src/lib/design/system/stale-dist.d.ts +25 -0
  475. package/src/lib/design/system/stale-dist.js +91 -0
  476. package/src/lib/design/system/stale-dist.js.map +1 -0
  477. package/src/lib/design/system/stale-parts.d.ts +30 -0
  478. package/src/lib/design/system/stale-parts.js +106 -0
  479. package/src/lib/design/system/stale-parts.js.map +1 -0
  480. package/src/lib/design/system/surface-nesting.d.ts +11 -0
  481. package/src/lib/design/system/surface-nesting.js +86 -0
  482. package/src/lib/design/system/surface-nesting.js.map +1 -0
  483. package/src/lib/design/system/system-command.js +8 -6
  484. package/src/lib/design/system/system-command.js.map +1 -1
  485. package/src/lib/design/system/system-modules.d.ts +16 -1
  486. package/src/lib/design/system/system-modules.js +18 -2
  487. package/src/lib/design/system/system-modules.js.map +1 -1
  488. package/src/lib/design/system/task-command.d.ts +51 -0
  489. package/src/lib/design/system/task-command.js +233 -0
  490. package/src/lib/design/system/task-command.js.map +1 -0
  491. package/src/lib/design/system/theming-text.d.ts +2 -0
  492. package/src/lib/design/system/theming-text.js +6 -0
  493. package/src/lib/design/system/theming-text.js.map +1 -0
  494. package/src/lib/design/system/tom-confirm.d.ts +40 -0
  495. package/src/lib/design/system/tom-confirm.js +55 -0
  496. package/src/lib/design/system/tom-confirm.js.map +1 -0
  497. package/src/lib/design/system/touched-parts.d.ts +16 -0
  498. package/src/lib/design/system/touched-parts.js +122 -0
  499. package/src/lib/design/system/touched-parts.js.map +1 -0
  500. package/src/lib/design/system/ts-source.d.ts +2 -0
  501. package/src/lib/design/system/ts-source.js +15 -1
  502. package/src/lib/design/system/ts-source.js.map +1 -1
  503. package/src/lib/design/system/unchanged-rows.d.ts +15 -0
  504. package/src/lib/design/system/unchanged-rows.js +134 -0
  505. package/src/lib/design/system/unchanged-rows.js.map +1 -0
  506. package/src/lib/design/system/uncommitted-decisions.d.ts +6 -0
  507. package/src/lib/design/system/uncommitted-decisions.js +38 -0
  508. package/src/lib/design/system/uncommitted-decisions.js.map +1 -0
  509. package/src/lib/design/system/uncovered-regions.d.ts +61 -0
  510. package/src/lib/design/system/uncovered-regions.js +171 -0
  511. package/src/lib/design/system/uncovered-regions.js.map +1 -0
  512. package/src/lib/design/system/unused-base-parts.d.ts +7 -0
  513. package/src/lib/design/system/unused-base-parts.js +76 -0
  514. package/src/lib/design/system/unused-base-parts.js.map +1 -0
  515. package/src/lib/design/system/visible-change-command.d.ts +48 -0
  516. package/src/lib/design/system/visible-change-command.js +308 -0
  517. package/src/lib/design/system/visible-change-command.js.map +1 -0
  518. package/src/lib/design/system/visible-change-parts.d.ts +28 -0
  519. package/src/lib/design/system/visible-change-parts.js +96 -0
  520. package/src/lib/design/system/visible-change-parts.js.map +1 -0
  521. package/src/lib/design/system/visible-change.d.ts +82 -0
  522. package/src/lib/design/system/visible-change.js +149 -0
  523. package/src/lib/design/system/visible-change.js.map +1 -0
  524. package/src/lib/design/thumb.d.ts +19 -2
  525. package/src/lib/design/thumb.js +50 -15
  526. package/src/lib/design/thumb.js.map +1 -1
  527. package/src/lib/design/typecheck.d.ts +1 -1
  528. package/src/lib/design/typecheck.js +3 -3
  529. package/src/lib/design/typecheck.js.map +1 -1
  530. package/src/lib/design/unstable-cells.d.ts +23 -0
  531. package/src/lib/design/unstable-cells.js +40 -0
  532. package/src/lib/design/unstable-cells.js.map +1 -0
  533. package/src/lib/design/variant-diff.js +1 -1
  534. package/src/lib/design/variant-diff.js.map +1 -1
  535. package/src/lib/design/wait.d.ts +15 -0
  536. package/src/lib/design/wait.js +30 -0
  537. package/src/lib/design/wait.js.map +1 -0
  538. package/src/lib/json-file.d.ts +11 -0
  539. package/src/lib/json-file.js +21 -0
  540. package/src/lib/json-file.js.map +1 -0
  541. package/src/lib/source-hash.d.ts +7 -0
  542. package/src/lib/source-hash.js +62 -0
  543. package/src/lib/source-hash.js.map +1 -0
  544. package/src/lib/update/agent-setup.js +2 -1
  545. package/src/lib/update/agent-setup.js.map +1 -1
  546. package/src/lib/update/migration-manifest.d.ts +12 -0
  547. package/src/lib/update/migration-manifest.js +13 -0
  548. package/src/lib/update/migration-manifest.js.map +1 -1
  549. package/src/lib/update/migration-record.js +2 -1
  550. package/src/lib/update/migration-record.js.map +1 -1
  551. package/src/lib/update/pending.js +2 -1
  552. package/src/lib/update/pending.js.map +1 -1
  553. package/src/lib/update/run-migrations.d.ts +3 -2
  554. package/src/lib/update/run-migrations.js +38 -5
  555. package/src/lib/update/run-migrations.js.map +1 -1
  556. package/src/lib/update/tasks.js +2 -1
  557. package/src/lib/update/tasks.js.map +1 -1
@@ -0,0 +1,558 @@
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.designCompare = exports.comparePart = exports.shootStates = exports.harnessShotOf = exports.drawnPaneCountOf = exports.compareWidthOf = exports.compareFrameOf = exports.COMPARE_USAGE = void 0;
13
+ const fs_1 = require("fs");
14
+ const os_1 = require("os");
15
+ const path_1 = require("path");
16
+ const browser_1 = require("../browser");
17
+ const serve_1 = require("../serve");
18
+ const shot_1 = require("../shot");
19
+ const thumb_1 = require("../thumb");
20
+ const actions_command_1 = require("./actions-command");
21
+ const harness_map_1 = require("./harness-map");
22
+ const harness_samples_1 = require("./harness-samples");
23
+ const live_compare_1 = require("./live-compare");
24
+ const harness_server_1 = require("./harness-server");
25
+ const part_compare_1 = require("./part-compare");
26
+ const part_task_1 = require("./part-task");
27
+ const resolve_product_1 = require("./resolve-product");
28
+ const sdk_errors_1 = require("./sdk-errors");
29
+ const settled_panes_1 = require("./settled-panes");
30
+ const frozen_animations_1 = require("./frozen-animations");
31
+ const cli_args_1 = require("./sketch/cli-args");
32
+ const sketch_1 = require("./sketch/sketch");
33
+ const system_modules_1 = require("./system-modules");
34
+ const unchanged_rows_1 = require("./unchanged-rows");
35
+ exports.COMPARE_USAGE = 'compare <layer>/<name> | --all --product <name> [--url <app dev server url>] [--state <name>] [--preset <name>] [--live [--sketch <variant>]]';
36
+ const ROOM_PX = 1024;
37
+ const messageOf = (error) => (error instanceof Error ? error.message : String(error));
38
+ class HarnessError extends Error {
39
+ }
40
+ class UndrivableError extends HarnessError {
41
+ }
42
+ class DroppedPropsError extends Error {
43
+ }
44
+ const MOUNTED_INPUTS_SCRIPT = `(() => {
45
+ const mounted = document.querySelector(${JSON.stringify(part_compare_1.HARNESS_HOST_SELECTOR)})?.firstElementChild;
46
+ const ng = window.ng;
47
+
48
+ if (!mounted || !ng?.getComponent || !ng.getDirectiveMetadata) return null;
49
+
50
+ const component = ng.getComponent(mounted);
51
+ const inputs = component ? ng.getDirectiveMetadata(component)?.inputs : null;
52
+
53
+ return inputs ? Object.keys(inputs) : null;
54
+ })()`;
55
+ /**
56
+ * How compare draws a part: a page at a product preset, the asked one or the first, with the harness host filling
57
+ * its viewport; any other part fitted to its content.
58
+ */
59
+ const compareFrameOf = (options) => {
60
+ var _a, _b;
61
+ const { presets, part } = options;
62
+ if (!part.startsWith('pages/'))
63
+ return options.preset === null
64
+ ? { preset: null, size: null, layout: null }
65
+ : `--preset applies to a pages part only, ${part} is fitted to its content`;
66
+ const preset = (_b = (_a = options.preset) !== null && _a !== void 0 ? _a : Object.keys(presets)[0]) !== null && _b !== void 0 ? _b : '';
67
+ const size = Object.keys(presets).includes(preset) ? presets[preset] : undefined;
68
+ return size
69
+ ? { preset, size, layout: 'page' }
70
+ : `the product has no preset "${preset}" - its presets: ${Object.keys(presets).join(', ')}`;
71
+ };
72
+ exports.compareFrameOf = compareFrameOf;
73
+ /** The width a non-page part is compared at: the first of the `widths` its design declares, `null` to fit its content. */
74
+ const compareWidthOf = (options) => {
75
+ const first = Array.isArray(options.widths) ? options.widths[0] : undefined;
76
+ return !options.part.startsWith('pages/') && typeof first === 'number' && Number.isInteger(first) && first > 0
77
+ ? first
78
+ : null;
79
+ };
80
+ exports.compareWidthOf = compareWidthOf;
81
+ const clickOpen = (options) => __awaiter(void 0, void 0, void 0, function* () {
82
+ var _a, _b;
83
+ const { page, host, url, control, timeout } = options;
84
+ const scratch = yield page.context().newPage();
85
+ let name;
86
+ try {
87
+ yield scratch.setContent(options.markup);
88
+ const trigger = scratch.locator(`[data-et-control=${JSON.stringify(control)}]`).first();
89
+ name =
90
+ (yield trigger.count()) === 0
91
+ ? null
92
+ : {
93
+ label: yield trigger.getAttribute('aria-label'),
94
+ text: ((_a = (yield trigger.textContent())) !== null && _a !== void 0 ? _a : '').replace(/\s+/g, ' ').trim(),
95
+ };
96
+ }
97
+ finally {
98
+ yield scratch.close();
99
+ }
100
+ if (name === null)
101
+ throw new HarnessError(`the design picture has no [data-et-control="${control}"] trigger to click open`);
102
+ const triggerIn = (scope) => {
103
+ const triggers = scope.locator('[aria-expanded]');
104
+ return name.label === null
105
+ ? triggers.filter({ hasText: name.text })
106
+ : triggers.and(scope.locator(`[aria-label=${JSON.stringify(name.label)}]`));
107
+ };
108
+ const trigger = triggerIn(host)
109
+ .or(triggerIn(page.locator(OVERLAY_ROOTS)))
110
+ .first();
111
+ const named = (_b = name.label) !== null && _b !== void 0 ? _b : name.text;
112
+ yield trigger.waitFor({ state: 'visible', timeout }).catch(() => {
113
+ throw new HarnessError(`the harness page ${url} has no [aria-expanded] trigger named "${named}" to click control ${control} open`);
114
+ });
115
+ yield trigger.click({ timeout });
116
+ yield page.mouse.move(-1, -1);
117
+ yield trigger
118
+ .and(page.locator('[aria-expanded="true"]'))
119
+ .waitFor({ timeout })
120
+ .catch(() => {
121
+ throw new HarnessError(`a click on "${named}" in ${url} did not open control ${control}`);
122
+ });
123
+ });
124
+ const OVERLAY_ROOTS = '.et-overlay-runtime-root, .cdk-overlay-container';
125
+ /**
126
+ * The number of overlay panes a design picture draws: each `<et-overlay-container>`, `.et-overlay-runtime-pane`,
127
+ * `<et-menu>` and `<et-select-panel>` mock, as the app renders each of them in a pane of its own.
128
+ */
129
+ const drawnPaneCountOf = (markup) => [...markup.matchAll(/<([a-z][\w-]*)(\s[^>]*)?>/g)].filter(([, tag = '', attributes = '']) => ['et-overlay-container', 'et-menu', 'et-select-panel'].includes(tag) ||
130
+ /\sclass="(?:[^"]*\s)?et-overlay-runtime-pane[\s"]/.test(attributes)).length;
131
+ exports.drawnPaneCountOf = drawnPaneCountOf;
132
+ const FORCED_POLL_MS = 50;
133
+ const escapedForRegExp = (value) => value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
134
+ /**
135
+ * The one visible app element named as the design's `forced` element: by `aria-label`, else by role or tag and whole
136
+ * text. It looks in the harness host first and in the overlay roots only when the host has none.
137
+ */
138
+ const forcedTargetOf = (options) => __awaiter(void 0, void 0, void 0, function* () {
139
+ const { page, host, forced, url, timeout } = options;
140
+ const { interaction, label, role, text } = forced;
141
+ if (label === null && text === '')
142
+ throw new UndrivableError(`the design forces ${interaction} on a <${role}> without an aria-label or text - compare cannot find it in the app`);
143
+ const named = label === null ? `the ${role} "${text}"` : `the aria-label "${label}"`;
144
+ const matchesIn = (scope) => (label === null
145
+ ? scope
146
+ .locator(`[role=${JSON.stringify(role)}]${/^[a-z][\w-]*$/i.test(role) ? `, ${role}:not([role])` : ''}`)
147
+ .filter({
148
+ hasText: new RegExp(`^\\s*${[...text.replace(/\s+/g, '')].map(escapedForRegExp).join('\\s*')}\\s*$`),
149
+ })
150
+ : scope.locator(`[aria-label=${JSON.stringify(label)}]`)).filter({ visible: true });
151
+ const deadline = Date.now() + timeout;
152
+ for (;;) {
153
+ for (const scope of [host, page.locator(OVERLAY_ROOTS)]) {
154
+ const matches = matchesIn(scope);
155
+ const count = yield matches.count();
156
+ if (count === 1)
157
+ return matches;
158
+ if (count > 1)
159
+ throw new UndrivableError(`the harness page ${url} has ${count} elements with ${named} to force ${interaction} on`);
160
+ }
161
+ if (Date.now() > deadline)
162
+ throw new UndrivableError(`the harness page ${url} has no element with ${named} to force ${interaction} on`);
163
+ yield page.waitForTimeout(FORCED_POLL_MS);
164
+ }
165
+ });
166
+ /**
167
+ * A PNG of the harness host element at `url`, in the viewport of `size` at device scale 1, or without `size` fitted
168
+ * as a design frame fits its root, with its overflowing positioned descendants and rounded to whole pixels, with the
169
+ * pointer off the page, after a pointer click on the app trigger of the design `markup`'s `[data-et-control]` named
170
+ * `opened`, and with each `forced` element hovered, pressed or keyboard-focused as the design picture forces it.
171
+ * With `roomAbove`, for a design picture drawn above its part root, the fitted host gets room above and before it, so
172
+ * an overlay that opens above neither flips below nor shifts off the viewport edge, and the shot grows up as well.
173
+ * Without `size`, a `width` sets the viewport and the host to that width, as a design frame draws a part with `widths`.
174
+ */
175
+ const harnessShotOf = (options) => __awaiter(void 0, void 0, void 0, function* () {
176
+ var _a, _b, _c, _d, _e, _f, _g;
177
+ const { browser, url } = options;
178
+ const timeout = (_a = options.timeout) !== null && _a !== void 0 ? _a : thumb_1.DRAW_TIMEOUT_MS;
179
+ const room = !options.size && !!options.roomAbove;
180
+ const width = options.size ? null : ((_b = options.width) !== null && _b !== void 0 ? _b : null);
181
+ const viewport = Object.assign(Object.assign({}, (0, shot_1.viewportOf)((_c = options.size) !== null && _c !== void 0 ? _c : null)), (width ? { width } : {}));
182
+ const context = yield browser.newContext({
183
+ viewport: room ? { width: viewport.width + ROOM_PX, height: viewport.height + ROOM_PX } : viewport,
184
+ deviceScaleFactor: 1,
185
+ });
186
+ try {
187
+ const page = yield context.newPage();
188
+ const sdkErrors = (0, sdk_errors_1.watchSdkErrors)(page);
189
+ yield page.goto(url, { timeout }).catch((error) => {
190
+ var _a;
191
+ throw new HarnessError(`the harness page ${url} did not load: ${(_a = messageOf(error).split('\n')[0]) !== null && _a !== void 0 ? _a : ''}`);
192
+ });
193
+ const host = page.locator(part_compare_1.HARNESS_HOST_SELECTOR).first();
194
+ yield host.waitFor({ state: 'visible', timeout }).catch(() => {
195
+ throw new HarnessError(`the harness page ${url} showed no ${part_compare_1.HARNESS_HOST_SELECTOR} element within ${timeout} ms - does the app serve the design harness route?`);
196
+ });
197
+ if (width)
198
+ yield page.evaluate(`document.querySelector(${JSON.stringify(part_compare_1.HARNESS_HOST_SELECTOR)}).style.width = '${width}px'`);
199
+ if (options.ambient)
200
+ yield page.evaluate(`Object.assign(document.querySelector(${JSON.stringify(part_compare_1.HARNESS_HOST_SELECTOR)}).style, ${JSON.stringify(options.ambient)})`);
201
+ yield (0, thumb_1.awaitFonts)(page);
202
+ if (options.props) {
203
+ const inputs = (yield page.evaluate(MOUNTED_INPUTS_SCRIPT));
204
+ const dropped = inputs ? (0, part_compare_1.droppedPropsOf)(Object.assign({ props: options.props.sent, inputs }, options.props)) : [];
205
+ if (dropped.length > 0)
206
+ throw new DroppedPropsError(`the design prop${dropped.length > 1 ? 's' : ''} ${dropped.join(', ')} ${dropped.length > 1 ? 'have' : 'has'} no input on the app component - the harness drops ${dropped.length > 1 ? 'them' : 'it'}, so compare cannot check this state`);
207
+ }
208
+ if (room)
209
+ yield page.evaluate(`document.documentElement.style.padding = '${ROOM_PX}px 0 0 ${ROOM_PX}px'`);
210
+ yield page.mouse.move(-1, -1);
211
+ if (options.opened)
212
+ yield clickOpen(Object.assign({ page, host, url, timeout }, options.opened));
213
+ for (const forced of (_d = options.forced) !== null && _d !== void 0 ? _d : []) {
214
+ const { interaction } = forced;
215
+ const element = yield forcedTargetOf({ page, host, forced, url, timeout });
216
+ if (interaction === 'hover')
217
+ yield element.hover({ timeout });
218
+ else if (interaction === 'active') {
219
+ yield element.hover({ timeout });
220
+ yield page.mouse.down();
221
+ }
222
+ else if (interaction === 'focus-visible') {
223
+ yield page.keyboard.press('Shift');
224
+ yield element.focus({ timeout });
225
+ }
226
+ else
227
+ throw new UndrivableError(`compare cannot force ${interaction} on "${(_e = forced.label) !== null && _e !== void 0 ? _e : forced.text}" in the app`);
228
+ }
229
+ if (!(yield (0, settled_panes_1.settledPanesOf)({ page, count: (_f = options.panes) !== null && _f !== void 0 ? _f : 0, timeout })))
230
+ throw new HarnessError(`the harness page ${url} did not settle its overlay panes within ${timeout} ms`);
231
+ if ((_g = options.frozen) === null || _g === void 0 ? void 0 : _g.length)
232
+ yield page.evaluate((0, frozen_animations_1.freezeAnimationsScriptOf)(options.frozen));
233
+ if (options.size && (yield page.locator(part_compare_1.OVERLAY_PANES).count()) === 0) {
234
+ const hostBox = yield host.evaluate((element) => {
235
+ const { x, y } = element.getBoundingClientRect();
236
+ return { x: Math.round(x + scrollX), y: Math.round(y + scrollY) };
237
+ });
238
+ yield page.evaluate((0, shot_1.checkerScriptOf)(hostBox));
239
+ const png = yield host.screenshot({ type: 'png', animations: 'disabled', timeout });
240
+ const sdkProblem = sdkErrors(`the harness page ${url}`);
241
+ if (sdkProblem)
242
+ throw new HarnessError(sdkProblem);
243
+ return png;
244
+ }
245
+ // Waits for a stable host as an element screenshot does; without it an overlay a click opened is not drawn yet.
246
+ yield host.scrollIntoViewIfNeeded({ timeout });
247
+ const box = (yield page.evaluate((0, part_compare_1.hostBoxScriptOf)({ up: room })));
248
+ const clip = (0, shot_1.pixelBoxOf)(box);
249
+ yield page.evaluate((0, shot_1.checkerScriptOf)(clip));
250
+ const png = yield page.screenshot({
251
+ type: 'png',
252
+ fullPage: true,
253
+ animations: 'disabled',
254
+ clip,
255
+ timeout,
256
+ });
257
+ const sdkProblem = sdkErrors(`the harness page ${url}`);
258
+ if (sdkProblem)
259
+ throw new HarnessError(sdkProblem);
260
+ return png;
261
+ }
262
+ finally {
263
+ yield context.close();
264
+ }
265
+ });
266
+ exports.harnessShotOf = harnessShotOf;
267
+ /** Draws each state of a part, or the `only` one, as its design frame and as the app's harness page, in one Chromium. */
268
+ const shootStates = (_a) => __awaiter(void 0, [_a], void 0, function* ({ target, config, product, part, url, only, preset, appOnly }) {
269
+ var _b, _c, _d, _e, _f, _g, _h, _j, _k;
270
+ const frame = (0, exports.compareFrameOf)({ presets: product.presets, part, preset: preset !== null && preset !== void 0 ? preset : null });
271
+ if (typeof frame === 'string')
272
+ return frame;
273
+ if (!(yield (0, browser_1.chromiumOf)(target)))
274
+ return 'compare needs playwright or playwright-core in the checkout';
275
+ const queue = (0, thumb_1.createDrawQueue)({ target });
276
+ const server = yield (0, serve_1.createDesignServer)({ target, config, listen: true, port: 0 });
277
+ let shooter;
278
+ try {
279
+ yield server.listen();
280
+ const { port } = (_b = server.httpServer) === null || _b === void 0 ? void 0 : _b.address();
281
+ const system = (0, system_modules_1.createSystemModules)({ target, config });
282
+ shooter = (0, shot_1.createPartShooter)({ target, base: `http://localhost:${port}`, system, queue });
283
+ const file = (_d = (_c = product.parts.find((candidate) => (0, resolve_product_1.partKeyOf)(candidate) === part)) === null || _c === void 0 ? void 0 : _c.file) !== null && _d !== void 0 ? _d : '';
284
+ const module = (yield server.ssrLoadModule((0, system_modules_1.productModuleIdOf)({ file, product: product.name })));
285
+ const width = (0, exports.compareWidthOf)({ part, widths: (_e = module.default) === null || _e === void 0 ? void 0 : _e.widths });
286
+ const loaded = (_f = module.default) === null || _f === void 0 ? void 0 : _f.states;
287
+ const drawn = new Set(yield (0, unchanged_rows_1.drawnStateNamesOf)(module.default));
288
+ const states = loaded && typeof loaded === 'object' && !Array.isArray(loaded)
289
+ ? Object.fromEntries(Object.entries(loaded).filter(([state]) => drawn.has(state)))
290
+ : {};
291
+ if (only !== null && !(only in states))
292
+ return `${part} has no state "${only}" - its states: ${Object.keys(states).join(', ')}`;
293
+ const controls = (_g = module.default) === null || _g === void 0 ? void 0 : _g.controls;
294
+ const pictures = shooter;
295
+ const designs = new Map();
296
+ const pictureOf = (state, emptySlots) => pictures.pictureOf({
297
+ product: product.name,
298
+ part,
299
+ state,
300
+ preset: frame.preset,
301
+ width,
302
+ sketch: null,
303
+ interaction: null,
304
+ bare: true,
305
+ emptySlots,
306
+ checker: true,
307
+ params: new URLSearchParams(),
308
+ });
309
+ const draw = (state) => __awaiter(void 0, void 0, void 0, function* () { var _a; return (_a = designs.get(state)) !== null && _a !== void 0 ? _a : designs.set(state, yield pictureOf(state, true)).get(state); });
310
+ for (const state of Object.keys(states))
311
+ yield draw(state);
312
+ const slotted = [...designs.values()].some((design) => { var _a; return (_a = design === null || design === void 0 ? void 0 : design.markup) === null || _a === void 0 ? void 0 : _a.includes('data-et-projected'); });
313
+ const slotOnly = slotted
314
+ ? yield (0, part_compare_1.slotOnlyStatesOf)({
315
+ states: Object.keys(states),
316
+ emptied: new Map([...designs].flatMap(([state, design]) => (design ? [[state, design.png]] : []))),
317
+ full: (state) => __awaiter(void 0, void 0, void 0, function* () { var _a, _b; return (_b = (_a = (yield pictureOf(state, false))) === null || _a === void 0 ? void 0 : _a.png) !== null && _b !== void 0 ? _b : null; }),
318
+ })
319
+ : new Map();
320
+ const opens = (0, part_compare_1.pointerOpensOf)({
321
+ states,
322
+ controls,
323
+ drawn: Object.fromEntries([...designs].map(([state, design]) => { var _a; return [state, (0, part_compare_1.drawnSurfacesOf)((_a = design.markup) !== null && _a !== void 0 ? _a : '')]; })),
324
+ });
325
+ const shots = [];
326
+ const sampled = (0, harness_samples_1.productSampledPropsOf)({ target, product, part });
327
+ const forcing = new Set([...designs].flatMap(([state, design]) => { var _a; return ((0, part_compare_1.forcedElementsOf)((_a = design === null || design === void 0 ? void 0 : design.markup) !== null && _a !== void 0 ? _a : '').length > 0 ? [state] : []); }));
328
+ for (const state of only === null ? Object.keys(states) : [only]) {
329
+ const design = designs.get(state);
330
+ const open = opens[state];
331
+ if (!design)
332
+ continue;
333
+ if (typeof open === 'string')
334
+ return open;
335
+ const base = slotOnly.get(state);
336
+ if (base !== undefined && !appOnly) {
337
+ shots.push({
338
+ state,
339
+ problem: `draws like ${base} once compare empties its slots - it differs from ${base} only inside slot() regions, so compare cannot check it`,
340
+ });
341
+ continue;
342
+ }
343
+ const sent = (_h = open === null || open === void 0 ? void 0 : open.props) !== null && _h !== void 0 ? _h : states[(_j = open === null || open === void 0 ? void 0 : open.from) !== null && _j !== void 0 ? _j : state];
344
+ const forced = (0, part_compare_1.forcedElementsOf)((_k = design.markup) !== null && _k !== void 0 ? _k : '');
345
+ const app = yield queue.run((browser) => {
346
+ var _a, _b, _c, _d, _e, _f;
347
+ return (0, exports.harnessShotOf)(Object.assign(Object.assign(Object.assign(Object.assign({ browser, url: (0, part_compare_1.harnessUrlOf)({
348
+ url,
349
+ part,
350
+ state,
351
+ props: sent,
352
+ layout: frame.layout,
353
+ }), size: frame.size, width,
354
+ forced }, (appOnly
355
+ ? {}
356
+ : {
357
+ props: {
358
+ sent,
359
+ designOnly: new Set([
360
+ ...(0, part_compare_1.designOnlyPropsOf)({
361
+ states,
362
+ opens,
363
+ state,
364
+ forced: forced.map(({ interaction }) => interaction),
365
+ forcing,
366
+ selected: (0, part_compare_1.drawsSelectedOf)((_a = design.markup) !== null && _a !== void 0 ? _a : ''),
367
+ }),
368
+ ...sampled,
369
+ ]),
370
+ },
371
+ })), { roomAbove: ((_c = (_b = design.marks.find((mark) => mark.parts.includes(part))) === null || _b === void 0 ? void 0 : _b.y) !== null && _c !== void 0 ? _c : 0) > 0, panes: (0, exports.drawnPaneCountOf)((_d = design.markup) !== null && _d !== void 0 ? _d : ''), frozen: (0, frozen_animations_1.frozenAnimationsOf)((_e = design.markup) !== null && _e !== void 0 ? _e : '') }), (design.ambient ? { ambient: design.ambient } : {})), (open ? { opened: { control: open.control, markup: (_f = design.markup) !== null && _f !== void 0 ? _f : '' } } : {}))).catch((error) => {
372
+ if (error instanceof DroppedPropsError)
373
+ return { problem: error.message };
374
+ if (error instanceof UndrivableError)
375
+ return { problem: error.message, undrivable: true };
376
+ throw error;
377
+ });
378
+ });
379
+ shots.push(Buffer.isBuffer(app) ? { state, design: design.png, app } : Object.assign({ state }, app));
380
+ }
381
+ return { states, shots };
382
+ }
383
+ catch (error) {
384
+ return messageOf(error);
385
+ }
386
+ finally {
387
+ yield (shooter === null || shooter === void 0 ? void 0 : shooter.close());
388
+ yield queue.close();
389
+ yield server.close();
390
+ }
391
+ });
392
+ exports.shootStates = shootStates;
393
+ const fileNameOf = (state) => state.replace(/[^\w.-]/g, '-');
394
+ /** Compares the design and app pictures of each state at 0 px, prints a line per state, and keeps the pictures of each failing one in a temp folder. */
395
+ const comparePart = (options) => __awaiter(void 0, void 0, void 0, function* () {
396
+ var _a;
397
+ const shot = yield ((_a = options.shoot) !== null && _a !== void 0 ? _a : exports.shootStates)(options);
398
+ if (typeof shot === 'string')
399
+ return shot;
400
+ if (shot.shots.length === 0)
401
+ return `${options.part} has no states to compare`;
402
+ let dir = null;
403
+ let failed = false;
404
+ for (const stateShot of shot.shots) {
405
+ const { state } = stateShot;
406
+ if ('problem' in stateShot) {
407
+ console.log(`${state} FAILED ${stateShot.problem}`);
408
+ failed = true;
409
+ continue;
410
+ }
411
+ const { design, app } = stateShot;
412
+ let result;
413
+ try {
414
+ result = (0, part_compare_1.comparePngs)({ design, app });
415
+ }
416
+ catch (error) {
417
+ return `the pictures of ${state} cannot be compared: ${messageOf(error)}`;
418
+ }
419
+ console.log((0, part_compare_1.compareLineOf)(state, result));
420
+ if (result.kind === 'ok')
421
+ continue;
422
+ dir !== null && dir !== void 0 ? dir : (dir = (0, fs_1.mkdtempSync)((0, path_1.join)((0, os_1.tmpdir)(), 'et-design-compare-')));
423
+ (0, fs_1.writeFileSync)((0, path_1.join)(dir, `${fileNameOf(state)}.design.png`), design);
424
+ (0, fs_1.writeFileSync)((0, path_1.join)(dir, `${fileNameOf(state)}.app.png`), app);
425
+ (0, fs_1.writeFileSync)((0, path_1.join)(dir, `${fileNameOf(state)}.diff.png`), result.diff);
426
+ }
427
+ if (dir !== null)
428
+ console.log(`pictures: ${dir}`);
429
+ return { green: dir === null && !failed, states: shot.states };
430
+ });
431
+ exports.comparePart = comparePart;
432
+ /**
433
+ * `et design compare --all` compares every done part and fails on any deviation or part it cannot compare; a foundation has nothing to compare.
434
+ * `et design compare <layer>/<name> …` compares each state of a part with the app's harness page of its component;
435
+ * with `--live` each live state of a page with the app's real page on the fixed sample of `harness.live`.
436
+ */
437
+ const designCompare = (options) => __awaiter(void 0, void 0, void 0, function* () {
438
+ var _a, _b;
439
+ const { target, invocation } = options;
440
+ const args = (0, cli_args_1.argsOf)(options.argv, {
441
+ values: ['--product', '--url', '--state', '--preset', '--sketch'],
442
+ switches: ['--all', '--live'],
443
+ });
444
+ if (typeof args === 'string' || args.positional.length !== (args.flags.has('--all') ? 0 : 1)) {
445
+ if (typeof args === 'string')
446
+ console.error(args);
447
+ console.error(`usage: ${invocation} ${exports.COMPARE_USAGE}`);
448
+ return 2;
449
+ }
450
+ const config = (0, cli_args_1.configOf)(target);
451
+ const all = args.flags.has('--all');
452
+ const parsed = all ? null : (0, sketch_1.parseTarget)(args.positional[0]);
453
+ if (typeof config === 'string' || typeof parsed === 'string') {
454
+ console.error(typeof config === 'string' ? config : parsed);
455
+ return 1;
456
+ }
457
+ const product = (0, cli_args_1.oneProductOf)({ target, config, asked: args.values['--product'] });
458
+ if (typeof product === 'string') {
459
+ console.error(product);
460
+ return 1;
461
+ }
462
+ const live = args.flags.has('--live');
463
+ if (args.values['--sketch'] !== undefined && !live) {
464
+ console.error('--sketch compares live states only: pass --live');
465
+ return 2;
466
+ }
467
+ if (all && (live || args.values['--state'] !== undefined || args.values['--preset'] !== undefined)) {
468
+ console.error('--all compares every state of every done part: pass no part, --state, --preset or --live');
469
+ return 2;
470
+ }
471
+ const keys = all
472
+ ? (0, part_task_1.doneParts)({
473
+ product,
474
+ parts: product.parts.filter((part) => part.layer !== 'foundations').map(resolve_product_1.partKeyOf),
475
+ })
476
+ : [(0, resolve_product_1.partKeyOf)(parsed)];
477
+ if (!all && (parsed === null || parsed === void 0 ? void 0 : parsed.layer) === 'foundations' && product.parts.some((part) => (0, resolve_product_1.partKeyOf)(part) === keys[0])) {
478
+ console.log(`${keys[0]}: foundation, nothing to compare`);
479
+ return 0;
480
+ }
481
+ if (all && keys.length === 0) {
482
+ console.log(`${product.name}: no done parts to compare`);
483
+ return 0;
484
+ }
485
+ const tasks = keys.map((key) => (0, part_task_1.linkedTaskPartOf)({ product, part: key }));
486
+ const refusal = tasks.every((task) => typeof task !== 'string') && !live ? (0, harness_map_1.harnessStaleOf)({ target, product }) : null;
487
+ if (refusal !== null) {
488
+ console.error(refusal);
489
+ return 1;
490
+ }
491
+ let failed = 0;
492
+ const pending = tasks.flatMap((task) => (typeof task === 'string' ? [] : [task]));
493
+ for (const task of tasks) {
494
+ if (typeof task !== 'string')
495
+ continue;
496
+ console.error(all ? `${task} - cannot be compared` : task);
497
+ failed++;
498
+ }
499
+ if (pending.length === 0)
500
+ return 1;
501
+ const compared = yield (0, harness_server_1.withHarnessUrl)({
502
+ target,
503
+ product,
504
+ url: args.values['--url'],
505
+ start: options.start,
506
+ run: (url) => __awaiter(void 0, void 0, void 0, function* () {
507
+ var _a, _b, _c, _d;
508
+ for (const task of pending) {
509
+ if (all)
510
+ console.log(`== ${task.part}`);
511
+ const result = yield (0, exports.comparePart)({
512
+ target,
513
+ config,
514
+ product,
515
+ part: task.part,
516
+ url,
517
+ only: (_a = args.values['--state']) !== null && _a !== void 0 ? _a : null,
518
+ preset: (_b = args.values['--preset']) !== null && _b !== void 0 ? _b : null,
519
+ sketch: (_c = args.values['--sketch']) !== null && _c !== void 0 ? _c : null,
520
+ shoot: (_d = options.shoot) !== null && _d !== void 0 ? _d : (live ? live_compare_1.shootLiveStates : undefined),
521
+ });
522
+ if (typeof result === 'string') {
523
+ console.error(result);
524
+ failed++;
525
+ }
526
+ else if (!result.green)
527
+ failed++;
528
+ }
529
+ return failed;
530
+ }),
531
+ });
532
+ if (typeof compared === 'string') {
533
+ console.error(compared);
534
+ return 1;
535
+ }
536
+ if (all || live)
537
+ return compared === 0 ? 0 : 1;
538
+ const missed = yield ((_a = options.actions) !== null && _a !== void 0 ? _a : actions_command_1.partActionFailuresOf)({
539
+ target,
540
+ config,
541
+ product,
542
+ part: (_b = keys[0]) !== null && _b !== void 0 ? _b : '',
543
+ url: args.values['--url'],
544
+ start: options.start,
545
+ onNote: (line) => console.log(line),
546
+ });
547
+ if (!Array.isArray(missed)) {
548
+ console.error(`actions not checked: ${missed.unavailable}`);
549
+ return 1;
550
+ }
551
+ missed.forEach((line) => console.error(line));
552
+ console.log(missed.length === 0
553
+ ? 'every declared action works'
554
+ : `${missed.length} action${missed.length === 1 ? '' : 's'} missed`);
555
+ return compared === 0 && missed.length === 0 ? 0 : 1;
556
+ });
557
+ exports.designCompare = designCompare;
558
+ //# sourceMappingURL=compare-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compare-command.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/system/compare-command.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ exports.COMPLETE_USAGE = 'complete <layer>/<name> [--variant <key> | --handoff]
21
21
  const designComplete = (options) => __awaiter(void 0, void 0, void 0, function* () {
22
22
  var _a, _b, _c, _d, _e;
23
23
  const { target, argv, invocation } = options;
24
- const args = (0, cli_args_1.argsOf)(argv, ['--product', '--request', '--reason', '--variant']);
24
+ const args = (0, cli_args_1.argsOf)(argv, { values: ['--product', '--request', '--reason', '--variant'], switches: ['--handoff'] });
25
25
  const usage = `usage: ${invocation} ${exports.COMPLETE_USAGE}`;
26
26
  const request = typeof args === 'string' ? undefined : args.values['--request'];
27
27
  const handoff = typeof args !== 'string' && args.flags.has('--handoff');
@@ -1 +1 @@
1
- {"version":3,"file":"complete-command.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/system/complete-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"complete-command.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/system/complete-command.ts"],"names":[],"mappings":"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"}