creevey 0.9.0-non-webpack.2.fix-capture-element → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (529) hide show
  1. package/.yarnrc.yml +1 -0
  2. package/CHANGELOG.md +51 -0
  3. package/README.md +4 -3
  4. package/dist/cli.d.ts +2 -0
  5. package/dist/cli.js +5 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/client/addon/components/Addon.d.ts +8 -0
  8. package/dist/client/addon/components/Addon.js +57 -0
  9. package/dist/client/addon/components/Addon.js.map +1 -0
  10. package/{lib/types → dist}/client/addon/components/Icons.d.ts +7 -7
  11. package/dist/client/addon/components/Icons.js +18 -0
  12. package/dist/client/addon/components/Icons.js.map +1 -0
  13. package/{lib/types → dist}/client/addon/components/Panel.d.ts +9 -9
  14. package/dist/client/addon/components/Panel.js +32 -0
  15. package/dist/client/addon/components/Panel.js.map +1 -0
  16. package/{lib/types → dist}/client/addon/components/TestSelect.d.ts +8 -8
  17. package/dist/client/addon/components/TestSelect.js +33 -0
  18. package/dist/client/addon/components/TestSelect.js.map +1 -0
  19. package/dist/client/addon/components/Tools.d.ts +6 -0
  20. package/dist/client/addon/components/Tools.js +89 -0
  21. package/dist/client/addon/components/Tools.js.map +1 -0
  22. package/{lib/types/client/addon/Manager.d.ts → dist/client/addon/controller.d.ts} +38 -37
  23. package/dist/client/addon/controller.js +208 -0
  24. package/dist/client/addon/controller.js.map +1 -0
  25. package/dist/client/addon/decorator.d.ts +1 -0
  26. package/dist/client/addon/decorator.js +6 -0
  27. package/dist/client/addon/decorator.js.map +1 -0
  28. package/dist/client/addon/index.d.ts +2 -0
  29. package/dist/client/addon/index.js +19 -0
  30. package/dist/client/addon/index.js.map +1 -0
  31. package/dist/client/addon/manager.d.ts +1 -0
  32. package/dist/client/addon/manager.js +41 -0
  33. package/dist/client/addon/manager.js.map +1 -0
  34. package/dist/client/addon/preset.d.ts +2 -0
  35. package/dist/client/addon/preset.js +6 -0
  36. package/dist/client/addon/preset.js.map +1 -0
  37. package/dist/client/addon/preview.d.ts +4 -0
  38. package/dist/client/addon/preview.js +8 -0
  39. package/dist/client/addon/preview.js.map +1 -0
  40. package/{lib/types → dist}/client/addon/readyForCapture.d.ts +6 -6
  41. package/dist/client/addon/readyForCapture.js +7 -0
  42. package/dist/client/addon/readyForCapture.js.map +1 -0
  43. package/{lib/types → dist}/client/addon/utils.d.ts +3 -2
  44. package/dist/client/addon/utils.js +27 -0
  45. package/dist/client/addon/utils.js.map +1 -0
  46. package/{lib/types → dist}/client/addon/withCreevey.d.ts +25 -24
  47. package/dist/client/addon/withCreevey.js +286 -0
  48. package/dist/client/addon/withCreevey.js.map +1 -0
  49. package/dist/client/shared/components/ImagesView/BlendView.d.ts +5 -0
  50. package/dist/client/shared/components/ImagesView/BlendView.js +74 -0
  51. package/dist/client/shared/components/ImagesView/BlendView.js.map +1 -0
  52. package/dist/client/shared/components/ImagesView/ImagesView.d.ts +9 -0
  53. package/dist/client/shared/components/ImagesView/ImagesView.js +46 -0
  54. package/dist/client/shared/components/ImagesView/ImagesView.js.map +1 -0
  55. package/dist/client/shared/components/ImagesView/SideBySideView.d.ts +5 -0
  56. package/dist/client/shared/components/ImagesView/SideBySideView.js +121 -0
  57. package/dist/client/shared/components/ImagesView/SideBySideView.js.map +1 -0
  58. package/dist/client/shared/components/ImagesView/SlideView.d.ts +5 -0
  59. package/dist/client/shared/components/ImagesView/SlideView.js +136 -0
  60. package/dist/client/shared/components/ImagesView/SlideView.js.map +1 -0
  61. package/dist/client/shared/components/ImagesView/SwapView.d.ts +5 -0
  62. package/dist/client/shared/components/ImagesView/SwapView.js +72 -0
  63. package/dist/client/shared/components/ImagesView/SwapView.js.map +1 -0
  64. package/{lib/types/client/shared/components/ImagesView/ImagesView.d.ts → dist/client/shared/components/ImagesView/common.d.ts} +15 -24
  65. package/dist/client/shared/components/ImagesView/common.js +14 -0
  66. package/dist/client/shared/components/ImagesView/common.js.map +1 -0
  67. package/dist/client/shared/components/ImagesView/index.d.ts +5 -0
  68. package/dist/client/shared/components/ImagesView/index.js +14 -0
  69. package/dist/client/shared/components/ImagesView/index.js.map +1 -0
  70. package/{lib/types → dist}/client/shared/components/PageFooter/PageFooter.d.ts +8 -8
  71. package/dist/client/shared/components/PageFooter/PageFooter.js +25 -0
  72. package/dist/client/shared/components/PageFooter/PageFooter.js.map +1 -0
  73. package/{lib/types → dist}/client/shared/components/PageFooter/Paging.d.ts +7 -7
  74. package/dist/client/shared/components/PageFooter/Paging.js +68 -0
  75. package/dist/client/shared/components/PageFooter/Paging.js.map +1 -0
  76. package/{lib/types → dist}/client/shared/components/PageHeader/ImagePreview.d.ts +14 -12
  77. package/dist/client/shared/components/PageHeader/ImagePreview.js +61 -0
  78. package/dist/client/shared/components/PageHeader/ImagePreview.js.map +1 -0
  79. package/{lib/types → dist}/client/shared/components/PageHeader/PageHeader.d.ts +14 -16
  80. package/dist/client/shared/components/PageHeader/PageHeader.js +86 -0
  81. package/dist/client/shared/components/PageHeader/PageHeader.js.map +1 -0
  82. package/{lib/types → dist}/client/shared/components/ResultsPage.d.ts +18 -18
  83. package/dist/client/shared/components/ResultsPage.js +95 -0
  84. package/dist/client/shared/components/ResultsPage.js.map +1 -0
  85. package/{lib/types → dist}/client/shared/creeveyClientApi.d.ts +9 -9
  86. package/dist/client/shared/creeveyClientApi.js +53 -0
  87. package/dist/client/shared/creeveyClientApi.js.map +1 -0
  88. package/{lib/types → dist}/client/shared/helpers.d.ts +46 -46
  89. package/dist/client/shared/helpers.js +381 -0
  90. package/dist/client/shared/helpers.js.map +1 -0
  91. package/{lib/types → dist}/client/shared/viewMode.d.ts +4 -4
  92. package/dist/client/shared/viewMode.js +11 -0
  93. package/dist/client/shared/viewMode.js.map +1 -0
  94. package/dist/client/web/202.js +1 -0
  95. package/dist/client/web/270.js +43 -0
  96. package/dist/client/web/752.js +1 -0
  97. package/{lib/types → dist}/client/web/CreeveyApp.d.ts +11 -11
  98. package/dist/client/web/CreeveyApp.js +130 -0
  99. package/dist/client/web/CreeveyApp.js.map +1 -0
  100. package/{lib/types → dist}/client/web/CreeveyContext.d.ts +11 -11
  101. package/dist/client/web/CreeveyContext.js +17 -0
  102. package/dist/client/web/CreeveyContext.js.map +1 -0
  103. package/dist/client/web/CreeveyLoader.d.ts +3 -0
  104. package/dist/client/web/CreeveyLoader.js +52 -0
  105. package/dist/client/web/CreeveyLoader.js.map +1 -0
  106. package/{lib/types → dist}/client/web/CreeveyView/SideBar/Checkbox.d.ts +22 -19
  107. package/dist/client/web/CreeveyView/SideBar/Checkbox.js +86 -0
  108. package/dist/client/web/CreeveyView/SideBar/Checkbox.js.map +1 -0
  109. package/{lib/types → dist}/client/web/CreeveyView/SideBar/Search.d.ts +6 -6
  110. package/dist/client/web/CreeveyView/SideBar/Search.js +125 -0
  111. package/dist/client/web/CreeveyView/SideBar/Search.js.map +1 -0
  112. package/{lib/types → dist}/client/web/CreeveyView/SideBar/SideBar.d.ts +14 -14
  113. package/dist/client/web/CreeveyView/SideBar/SideBar.js +101 -0
  114. package/dist/client/web/CreeveyView/SideBar/SideBar.js.map +1 -0
  115. package/{lib/types → dist}/client/web/CreeveyView/SideBar/SideBarHeader.d.ts +12 -12
  116. package/dist/client/web/CreeveyView/SideBar/SideBarHeader.js +113 -0
  117. package/dist/client/web/CreeveyView/SideBar/SideBarHeader.js.map +1 -0
  118. package/dist/client/web/CreeveyView/SideBar/SuiteLink.d.ts +38 -0
  119. package/dist/client/web/CreeveyView/SideBar/SuiteLink.js +108 -0
  120. package/dist/client/web/CreeveyView/SideBar/SuiteLink.js.map +1 -0
  121. package/{lib/types → dist}/client/web/CreeveyView/SideBar/TestLink.d.ts +7 -7
  122. package/dist/client/web/CreeveyView/SideBar/TestLink.js +63 -0
  123. package/dist/client/web/CreeveyView/SideBar/TestLink.js.map +1 -0
  124. package/{lib/types → dist}/client/web/CreeveyView/SideBar/TestStatusIcon.d.ts +12 -10
  125. package/dist/client/web/CreeveyView/SideBar/TestStatusIcon.js +52 -0
  126. package/dist/client/web/CreeveyView/SideBar/TestStatusIcon.js.map +1 -0
  127. package/dist/client/web/CreeveyView/SideBar/TestsStatus.d.ts +11 -0
  128. package/dist/client/web/CreeveyView/SideBar/TestsStatus.js +74 -0
  129. package/dist/client/web/CreeveyView/SideBar/TestsStatus.js.map +1 -0
  130. package/{lib/types → dist}/client/web/CreeveyView/SideBar/Toggle.d.ts +6 -6
  131. package/dist/client/web/CreeveyView/SideBar/Toggle.js +69 -0
  132. package/dist/client/web/CreeveyView/SideBar/Toggle.js.map +1 -0
  133. package/dist/client/web/CreeveyView/SideBar/index.d.ts +1 -0
  134. package/dist/client/web/CreeveyView/SideBar/index.js +6 -0
  135. package/dist/client/web/CreeveyView/SideBar/index.js.map +1 -0
  136. package/{lib/types → dist}/client/web/KeyboardEventsContext.d.ts +15 -13
  137. package/dist/client/web/KeyboardEventsContext.js +116 -0
  138. package/dist/client/web/KeyboardEventsContext.js.map +1 -0
  139. package/{lib/types → dist}/client/web/index.d.ts +4 -4
  140. package/{lib/cjs → dist}/client/web/index.html +12 -3
  141. package/dist/client/web/index.js +75 -0
  142. package/dist/client/web/index.js.map +1 -0
  143. package/dist/client/web/main.js +79 -0
  144. package/{lib/cjs → dist}/client/web/main.js.LICENSE.txt +0 -15
  145. package/{lib/types → dist}/creevey.d.ts +1 -1
  146. package/dist/creevey.js +52 -0
  147. package/dist/creevey.js.map +1 -0
  148. package/dist/index.d.ts +5 -0
  149. package/dist/index.js +24 -0
  150. package/dist/index.js.map +1 -0
  151. package/{lib/types → dist}/server/config.d.ts +4 -4
  152. package/dist/server/config.js +86 -0
  153. package/dist/server/config.js.map +1 -0
  154. package/{lib/types → dist}/server/docker.d.ts +7 -7
  155. package/dist/server/docker.js +122 -0
  156. package/dist/server/docker.js.map +1 -0
  157. package/{lib/types → dist}/server/index.d.ts +2 -2
  158. package/dist/server/index.js +47 -0
  159. package/dist/server/index.js.map +1 -0
  160. package/{lib/types → dist}/server/logger.d.ts +10 -10
  161. package/dist/server/logger.js +25 -0
  162. package/dist/server/logger.js.map +1 -0
  163. package/{lib/types → dist}/server/master/api.d.ts +7 -7
  164. package/dist/server/master/api.js +50 -0
  165. package/dist/server/master/api.js.map +1 -0
  166. package/dist/server/master/index.d.ts +3 -0
  167. package/dist/server/master/index.js +110 -0
  168. package/dist/server/master/index.js.map +1 -0
  169. package/{lib/types → dist}/server/master/master.d.ts +7 -7
  170. package/dist/server/master/master.js +40 -0
  171. package/dist/server/master/master.js.map +1 -0
  172. package/{lib/types → dist}/server/master/pool.d.ts +30 -31
  173. package/dist/server/master/pool.js +186 -0
  174. package/dist/server/master/pool.js.map +1 -0
  175. package/{lib/types → dist}/server/master/runner.d.ts +21 -26
  176. package/dist/server/master/runner.js +172 -0
  177. package/dist/server/master/runner.js.map +1 -0
  178. package/dist/server/master/server.d.ts +2 -0
  179. package/dist/server/master/server.js +114 -0
  180. package/dist/server/master/server.js.map +1 -0
  181. package/{lib/types → dist}/server/messages.d.ts +26 -27
  182. package/dist/server/messages.js +222 -0
  183. package/dist/server/messages.js.map +1 -0
  184. package/{lib/types → dist}/server/selenium/browser.d.ts +19 -17
  185. package/dist/server/selenium/browser.js +637 -0
  186. package/dist/server/selenium/browser.js.map +1 -0
  187. package/dist/server/selenium/index.d.ts +2 -0
  188. package/dist/server/selenium/index.js +19 -0
  189. package/dist/server/selenium/index.js.map +1 -0
  190. package/{lib/types → dist}/server/selenium/selenoid.d.ts +3 -3
  191. package/dist/server/selenium/selenoid.js +120 -0
  192. package/dist/server/selenium/selenoid.js.map +1 -0
  193. package/dist/server/stories.d.ts +3 -0
  194. package/dist/server/stories.js +92 -0
  195. package/dist/server/stories.js.map +1 -0
  196. package/dist/server/storybook/providers/browser.d.ts +2 -0
  197. package/dist/server/storybook/providers/browser.js +60 -0
  198. package/dist/server/storybook/providers/browser.js.map +1 -0
  199. package/dist/server/storybook/providers/hybrid.d.ts +2 -0
  200. package/dist/server/storybook/providers/hybrid.js +59 -0
  201. package/dist/server/storybook/providers/hybrid.js.map +1 -0
  202. package/dist/server/telemetry.d.ts +2 -0
  203. package/dist/server/telemetry.js +196 -0
  204. package/dist/server/telemetry.js.map +1 -0
  205. package/{lib/types → dist}/server/testsFiles/parser.d.ts +8 -12
  206. package/dist/server/testsFiles/parser.js +50 -0
  207. package/dist/server/testsFiles/parser.js.map +1 -0
  208. package/dist/server/update.d.ts +2 -0
  209. package/dist/server/update.js +53 -0
  210. package/dist/server/update.js.map +1 -0
  211. package/dist/server/utils.d.ts +25 -0
  212. package/dist/server/utils.js +157 -0
  213. package/dist/server/utils.js.map +1 -0
  214. package/{lib/types → dist}/server/worker/chai-image.d.ts +5 -6
  215. package/dist/server/worker/chai-image.js +113 -0
  216. package/dist/server/worker/chai-image.js.map +1 -0
  217. package/{lib/types → dist}/server/worker/helpers.d.ts +8 -8
  218. package/dist/server/worker/helpers.js +57 -0
  219. package/dist/server/worker/helpers.js.map +1 -0
  220. package/dist/server/worker/index.d.ts +1 -0
  221. package/dist/server/worker/index.js +6 -0
  222. package/dist/server/worker/index.js.map +1 -0
  223. package/{lib/types → dist}/server/worker/reporter.d.ts +8 -8
  224. package/dist/server/worker/reporter.js +130 -0
  225. package/dist/server/worker/reporter.js.map +1 -0
  226. package/dist/server/worker/worker.d.ts +4 -0
  227. package/dist/server/worker/worker.js +211 -0
  228. package/dist/server/worker/worker.js.map +1 -0
  229. package/{lib/types → dist}/shared/index.d.ts +7 -7
  230. package/dist/shared/index.js +77 -0
  231. package/dist/shared/index.js.map +1 -0
  232. package/{lib/types → dist}/shared/serializeRegExp.d.ts +9 -9
  233. package/dist/shared/serializeRegExp.js +25 -0
  234. package/dist/shared/serializeRegExp.js.map +1 -0
  235. package/{lib/types → dist}/types.d.ts +459 -490
  236. package/dist/types.js +61 -0
  237. package/dist/types.js.map +1 -0
  238. package/docs/config.md +30 -30
  239. package/docs/tests.md +3 -3
  240. package/manager/package.json +3 -0
  241. package/package.json +115 -156
  242. package/preset/README.md +3 -0
  243. package/preset/package.json +3 -0
  244. package/preview/README.md +3 -0
  245. package/preview/package.json +3 -0
  246. package/src/cli.ts +3 -0
  247. package/src/client/addon/components/Addon.tsx +53 -0
  248. package/src/client/addon/components/Icons.tsx +28 -0
  249. package/src/client/addon/components/Panel.tsx +53 -0
  250. package/src/client/addon/components/TestSelect.tsx +48 -0
  251. package/src/client/addon/components/Tools.tsx +93 -0
  252. package/src/client/addon/controller.ts +224 -0
  253. package/src/client/addon/decorator.ts +3 -0
  254. package/src/client/addon/index.ts +2 -0
  255. package/src/client/addon/manager.ts +44 -0
  256. package/src/client/addon/preset.ts +3 -0
  257. package/src/client/addon/preview.ts +7 -0
  258. package/src/client/addon/readyForCapture.ts +9 -0
  259. package/src/client/addon/utils.tsx +24 -0
  260. package/src/client/addon/withCreevey.ts +326 -0
  261. package/src/client/shared/components/ImagesView/BlendView.tsx +71 -0
  262. package/src/client/shared/components/ImagesView/ImagesView.tsx +70 -0
  263. package/src/client/shared/components/ImagesView/SideBySideView.tsx +139 -0
  264. package/src/client/shared/components/ImagesView/SlideView.tsx +146 -0
  265. package/src/client/shared/components/ImagesView/SwapView.tsx +81 -0
  266. package/src/client/shared/components/ImagesView/common.ts +23 -0
  267. package/src/client/shared/components/ImagesView/index.ts +5 -0
  268. package/src/client/shared/components/PageFooter/PageFooter.tsx +44 -0
  269. package/src/client/shared/components/PageFooter/Paging.tsx +105 -0
  270. package/src/client/shared/components/PageHeader/ImagePreview.tsx +82 -0
  271. package/src/client/shared/components/PageHeader/PageHeader.tsx +123 -0
  272. package/src/client/shared/components/ResultsPage.tsx +135 -0
  273. package/src/client/shared/creeveyClientApi.ts +64 -0
  274. package/src/client/shared/helpers.ts +422 -0
  275. package/src/client/shared/viewMode.ts +10 -0
  276. package/src/client/web/CreeveyApp.tsx +177 -0
  277. package/src/client/web/CreeveyContext.tsx +20 -0
  278. package/src/client/web/CreeveyLoader.tsx +56 -0
  279. package/src/client/web/CreeveyView/SideBar/Checkbox.tsx +118 -0
  280. package/src/client/web/CreeveyView/SideBar/Search.tsx +140 -0
  281. package/src/client/web/CreeveyView/SideBar/SideBar.tsx +125 -0
  282. package/src/client/web/CreeveyView/SideBar/SideBarHeader.tsx +138 -0
  283. package/src/client/web/CreeveyView/SideBar/SuiteLink.tsx +118 -0
  284. package/src/client/web/CreeveyView/SideBar/TestLink.tsx +67 -0
  285. package/src/client/web/CreeveyView/SideBar/TestStatusIcon.tsx +58 -0
  286. package/src/client/web/CreeveyView/SideBar/TestsStatus.tsx +105 -0
  287. package/src/client/web/CreeveyView/SideBar/Toggle.tsx +85 -0
  288. package/src/client/web/CreeveyView/SideBar/index.ts +1 -0
  289. package/src/client/web/KeyboardEventsContext.tsx +121 -0
  290. package/src/client/web/index.html +28 -0
  291. package/src/client/web/index.tsx +63 -0
  292. package/src/creevey.ts +47 -0
  293. package/src/index.ts +4 -0
  294. package/src/server/config.ts +83 -0
  295. package/src/server/docker.ts +136 -0
  296. package/src/server/index.ts +51 -0
  297. package/{lib/esm/server/logger.js → src/server/logger.ts} +8 -7
  298. package/src/server/master/api.ts +55 -0
  299. package/src/server/master/index.ts +111 -0
  300. package/src/server/master/master.ts +47 -0
  301. package/src/server/master/pool.ts +203 -0
  302. package/src/server/master/runner.ts +189 -0
  303. package/src/server/master/server.ts +124 -0
  304. package/src/server/messages.ts +273 -0
  305. package/src/server/selenium/browser.ts +837 -0
  306. package/src/server/selenium/index.ts +2 -0
  307. package/src/server/selenium/selenoid.ts +154 -0
  308. package/src/server/stories.ts +133 -0
  309. package/src/server/storybook/providers/browser.ts +58 -0
  310. package/src/server/storybook/providers/hybrid.ts +70 -0
  311. package/src/server/telemetry.ts +212 -0
  312. package/src/server/testsFiles/parser.ts +62 -0
  313. package/src/server/update.ts +74 -0
  314. package/src/server/utils.ts +206 -0
  315. package/src/server/worker/chai-image.ts +147 -0
  316. package/src/server/worker/helpers.ts +61 -0
  317. package/src/server/worker/index.ts +1 -0
  318. package/src/server/worker/reporter.ts +170 -0
  319. package/src/server/worker/worker.ts +239 -0
  320. package/src/shared/index.ts +76 -0
  321. package/src/shared/serializeRegExp.ts +26 -0
  322. package/src/types.ts +500 -0
  323. package/types/chai.d.ts +0 -1
  324. package/types/global.d.ts +5 -0
  325. package/types/mocha.d.ts +1 -1
  326. package/addon/package.json +0 -4
  327. package/jest.config.js +0 -6
  328. package/lib/cjs/cli.js +0 -5
  329. package/lib/cjs/client/addon/Manager.js +0 -264
  330. package/lib/cjs/client/addon/components/Addon.js +0 -55
  331. package/lib/cjs/client/addon/components/Icons.js +0 -46
  332. package/lib/cjs/client/addon/components/Panel.js +0 -72
  333. package/lib/cjs/client/addon/components/TestSelect.js +0 -65
  334. package/lib/cjs/client/addon/components/Tools.js +0 -95
  335. package/lib/cjs/client/addon/decorator.js +0 -11
  336. package/lib/cjs/client/addon/index.js +0 -31
  337. package/lib/cjs/client/addon/preset.js +0 -62
  338. package/lib/cjs/client/addon/readyForCapture.js +0 -12
  339. package/lib/cjs/client/addon/register.js +0 -72
  340. package/lib/cjs/client/addon/utils.js +0 -38
  341. package/lib/cjs/client/addon/withCreevey.js +0 -346
  342. package/lib/cjs/client/shared/components/ImagesView/BlendView.js +0 -87
  343. package/lib/cjs/client/shared/components/ImagesView/ImagesView.js +0 -92
  344. package/lib/cjs/client/shared/components/ImagesView/SideBySideView.js +0 -154
  345. package/lib/cjs/client/shared/components/ImagesView/SlideView.js +0 -166
  346. package/lib/cjs/client/shared/components/ImagesView/SwapView.js +0 -91
  347. package/lib/cjs/client/shared/components/ImagesView/index.js +0 -45
  348. package/lib/cjs/client/shared/components/PageFooter/PageFooter.js +0 -50
  349. package/lib/cjs/client/shared/components/PageFooter/Paging.js +0 -94
  350. package/lib/cjs/client/shared/components/PageHeader/ImagePreview.js +0 -82
  351. package/lib/cjs/client/shared/components/PageHeader/PageHeader.js +0 -119
  352. package/lib/cjs/client/shared/components/ResultsPage.js +0 -143
  353. package/lib/cjs/client/shared/creeveyClientApi.js +0 -76
  354. package/lib/cjs/client/shared/helpers.js +0 -411
  355. package/lib/cjs/client/shared/viewMode.js +0 -17
  356. package/lib/cjs/client/web/142.js +0 -2
  357. package/lib/cjs/client/web/142.js.LICENSE.txt +0 -12
  358. package/lib/cjs/client/web/32.js +0 -1
  359. package/lib/cjs/client/web/551.js +0 -1
  360. package/lib/cjs/client/web/566.js +0 -2
  361. package/lib/cjs/client/web/566.js.LICENSE.txt +0 -31
  362. package/lib/cjs/client/web/691.js +0 -2
  363. package/lib/cjs/client/web/691.js.LICENSE.txt +0 -8
  364. package/lib/cjs/client/web/725.js +0 -1
  365. package/lib/cjs/client/web/main.js +0 -2
  366. package/lib/cjs/creevey.js +0 -69
  367. package/lib/cjs/index.js +0 -62
  368. package/lib/cjs/server/config.js +0 -96
  369. package/lib/cjs/server/docker.js +0 -146
  370. package/lib/cjs/server/extract.js +0 -50
  371. package/lib/cjs/server/index.js +0 -83
  372. package/lib/cjs/server/loaders/babel/creevey-plugin.js +0 -86
  373. package/lib/cjs/server/loaders/babel/helpers.js +0 -469
  374. package/lib/cjs/server/loaders/babel/register.js +0 -124
  375. package/lib/cjs/server/loaders/hooks/mdx.js +0 -30
  376. package/lib/cjs/server/loaders/hooks/svelte.js +0 -65
  377. package/lib/cjs/server/loaders/webpack/compile.js +0 -293
  378. package/lib/cjs/server/loaders/webpack/creevey-loader.js +0 -179
  379. package/lib/cjs/server/loaders/webpack/dummy-hmr.js +0 -39
  380. package/lib/cjs/server/loaders/webpack/mdx-loader.js +0 -72
  381. package/lib/cjs/server/loaders/webpack/start.js +0 -41
  382. package/lib/cjs/server/logger.js +0 -48
  383. package/lib/cjs/server/master/api.js +0 -75
  384. package/lib/cjs/server/master/index.js +0 -146
  385. package/lib/cjs/server/master/master.js +0 -57
  386. package/lib/cjs/server/master/pool.js +0 -197
  387. package/lib/cjs/server/master/runner.js +0 -281
  388. package/lib/cjs/server/master/server.js +0 -129
  389. package/lib/cjs/server/messages.js +0 -264
  390. package/lib/cjs/server/selenium/browser.js +0 -672
  391. package/lib/cjs/server/selenium/index.js +0 -31
  392. package/lib/cjs/server/selenium/selenoid.js +0 -172
  393. package/lib/cjs/server/stories.js +0 -159
  394. package/lib/cjs/server/storybook/entry.js +0 -70
  395. package/lib/cjs/server/storybook/helpers.js +0 -159
  396. package/lib/cjs/server/storybook/providers/browser.js +0 -74
  397. package/lib/cjs/server/storybook/providers/hybrid.js +0 -84
  398. package/lib/cjs/server/storybook/providers/nodejs.js +0 -239
  399. package/lib/cjs/server/testsFiles/parser.js +0 -72
  400. package/lib/cjs/server/testsFiles/register.js +0 -48
  401. package/lib/cjs/server/update.js +0 -79
  402. package/lib/cjs/server/utils.js +0 -183
  403. package/lib/cjs/server/worker/chai-image.js +0 -142
  404. package/lib/cjs/server/worker/helpers.js +0 -69
  405. package/lib/cjs/server/worker/index.js +0 -15
  406. package/lib/cjs/server/worker/reporter.js +0 -108
  407. package/lib/cjs/server/worker/worker.js +0 -268
  408. package/lib/cjs/shared/index.js +0 -101
  409. package/lib/cjs/shared/serializeRegExp.js +0 -42
  410. package/lib/cjs/types.js +0 -74
  411. package/lib/esm/cli.js +0 -4
  412. package/lib/esm/client/addon/Manager.js +0 -248
  413. package/lib/esm/client/addon/components/Addon.js +0 -39
  414. package/lib/esm/client/addon/components/Icons.js +0 -31
  415. package/lib/esm/client/addon/components/Panel.js +0 -53
  416. package/lib/esm/client/addon/components/TestSelect.js +0 -51
  417. package/lib/esm/client/addon/components/Tools.js +0 -74
  418. package/lib/esm/client/addon/decorator.js +0 -2
  419. package/lib/esm/client/addon/index.js +0 -2
  420. package/lib/esm/client/addon/preset.js +0 -41
  421. package/lib/esm/client/addon/readyForCapture.js +0 -5
  422. package/lib/esm/client/addon/register.js +0 -51
  423. package/lib/esm/client/addon/utils.js +0 -31
  424. package/lib/esm/client/addon/withCreevey.js +0 -322
  425. package/lib/esm/client/shared/components/ImagesView/BlendView.js +0 -67
  426. package/lib/esm/client/shared/components/ImagesView/ImagesView.js +0 -69
  427. package/lib/esm/client/shared/components/ImagesView/SideBySideView.js +0 -131
  428. package/lib/esm/client/shared/components/ImagesView/SlideView.js +0 -143
  429. package/lib/esm/client/shared/components/ImagesView/SwapView.js +0 -71
  430. package/lib/esm/client/shared/components/ImagesView/index.js +0 -5
  431. package/lib/esm/client/shared/components/PageFooter/PageFooter.js +0 -36
  432. package/lib/esm/client/shared/components/PageFooter/Paging.js +0 -80
  433. package/lib/esm/client/shared/components/PageHeader/ImagePreview.js +0 -68
  434. package/lib/esm/client/shared/components/PageHeader/PageHeader.js +0 -97
  435. package/lib/esm/client/shared/components/ResultsPage.js +0 -115
  436. package/lib/esm/client/shared/creeveyClientApi.js +0 -67
  437. package/lib/esm/client/shared/helpers.js +0 -353
  438. package/lib/esm/client/shared/viewMode.js +0 -6
  439. package/lib/esm/creevey.js +0 -54
  440. package/lib/esm/index.js +0 -5
  441. package/lib/esm/server/config.js +0 -73
  442. package/lib/esm/server/docker.js +0 -123
  443. package/lib/esm/server/extract.js +0 -34
  444. package/lib/esm/server/index.js +0 -64
  445. package/lib/esm/server/loaders/babel/creevey-plugin.js +0 -72
  446. package/lib/esm/server/loaders/babel/helpers.js +0 -452
  447. package/lib/esm/server/loaders/babel/register.js +0 -103
  448. package/lib/esm/server/loaders/hooks/mdx.js +0 -15
  449. package/lib/esm/server/loaders/hooks/svelte.js +0 -49
  450. package/lib/esm/server/loaders/webpack/compile.js +0 -270
  451. package/lib/esm/server/loaders/webpack/creevey-loader.js +0 -158
  452. package/lib/esm/server/loaders/webpack/dummy-hmr.js +0 -32
  453. package/lib/esm/server/loaders/webpack/mdx-loader.js +0 -58
  454. package/lib/esm/server/loaders/webpack/start.js +0 -27
  455. package/lib/esm/server/master/api.js +0 -64
  456. package/lib/esm/server/master/index.js +0 -125
  457. package/lib/esm/server/master/master.js +0 -38
  458. package/lib/esm/server/master/pool.js +0 -176
  459. package/lib/esm/server/master/runner.js +0 -259
  460. package/lib/esm/server/master/server.js +0 -105
  461. package/lib/esm/server/messages.js +0 -232
  462. package/lib/esm/server/selenium/browser.js +0 -639
  463. package/lib/esm/server/selenium/index.js +0 -2
  464. package/lib/esm/server/selenium/selenoid.js +0 -149
  465. package/lib/esm/server/stories.js +0 -140
  466. package/lib/esm/server/storybook/entry.js +0 -46
  467. package/lib/esm/server/storybook/helpers.js +0 -98
  468. package/lib/esm/server/storybook/providers/browser.js +0 -60
  469. package/lib/esm/server/storybook/providers/hybrid.js +0 -64
  470. package/lib/esm/server/storybook/providers/nodejs.js +0 -217
  471. package/lib/esm/server/testsFiles/parser.js +0 -50
  472. package/lib/esm/server/testsFiles/register.js +0 -35
  473. package/lib/esm/server/update.js +0 -61
  474. package/lib/esm/server/utils.js +0 -142
  475. package/lib/esm/server/worker/chai-image.js +0 -130
  476. package/lib/esm/server/worker/helpers.js +0 -60
  477. package/lib/esm/server/worker/index.js +0 -1
  478. package/lib/esm/server/worker/reporter.js +0 -86
  479. package/lib/esm/server/worker/worker.js +0 -238
  480. package/lib/esm/shared/index.js +0 -78
  481. package/lib/esm/shared/serializeRegExp.js +0 -24
  482. package/lib/esm/types.js +0 -43
  483. package/lib/types/cli.d.ts +0 -1
  484. package/lib/types/client/addon/components/Addon.d.ts +0 -8
  485. package/lib/types/client/addon/components/Tools.d.ts +0 -6
  486. package/lib/types/client/addon/decorator.d.ts +0 -1
  487. package/lib/types/client/addon/index.d.ts +0 -2
  488. package/lib/types/client/addon/preset.d.ts +0 -23
  489. package/lib/types/client/addon/register.d.ts +0 -3
  490. package/lib/types/client/shared/components/ImagesView/BlendView.d.ts +0 -3
  491. package/lib/types/client/shared/components/ImagesView/SideBySideView.d.ts +0 -3
  492. package/lib/types/client/shared/components/ImagesView/SlideView.d.ts +0 -3
  493. package/lib/types/client/shared/components/ImagesView/SwapView.d.ts +0 -3
  494. package/lib/types/client/shared/components/ImagesView/index.d.ts +0 -5
  495. package/lib/types/client/web/CreeveyLoader.d.ts +0 -2
  496. package/lib/types/client/web/CreeveyView/SideBar/SuiteLink.d.ts +0 -33
  497. package/lib/types/client/web/CreeveyView/SideBar/TestsStatus.d.ts +0 -9
  498. package/lib/types/client/web/CreeveyView/SideBar/index.d.ts +0 -1
  499. package/lib/types/index.d.ts +0 -2
  500. package/lib/types/server/extract.d.ts +0 -2
  501. package/lib/types/server/loaders/babel/creevey-plugin.d.ts +0 -1
  502. package/lib/types/server/loaders/babel/helpers.d.ts +0 -19
  503. package/lib/types/server/loaders/babel/register.d.ts +0 -5
  504. package/lib/types/server/loaders/hooks/mdx.d.ts +0 -1
  505. package/lib/types/server/loaders/hooks/svelte.d.ts +0 -1
  506. package/lib/types/server/loaders/webpack/compile.d.ts +0 -2
  507. package/lib/types/server/loaders/webpack/creevey-loader.d.ts +0 -4
  508. package/lib/types/server/loaders/webpack/dummy-hmr.d.ts +0 -10
  509. package/lib/types/server/loaders/webpack/mdx-loader.d.ts +0 -6
  510. package/lib/types/server/loaders/webpack/start.d.ts +0 -1
  511. package/lib/types/server/master/index.d.ts +0 -3
  512. package/lib/types/server/master/server.d.ts +0 -2
  513. package/lib/types/server/selenium/index.d.ts +0 -2
  514. package/lib/types/server/stories.d.ts +0 -8
  515. package/lib/types/server/storybook/entry.d.ts +0 -18
  516. package/lib/types/server/storybook/helpers.d.ts +0 -24
  517. package/lib/types/server/storybook/providers/browser.d.ts +0 -4
  518. package/lib/types/server/storybook/providers/hybrid.d.ts +0 -4
  519. package/lib/types/server/storybook/providers/nodejs.d.ts +0 -9
  520. package/lib/types/server/testsFiles/register.d.ts +0 -2
  521. package/lib/types/server/update.d.ts +0 -2
  522. package/lib/types/server/utils.d.ts +0 -20
  523. package/lib/types/server/worker/index.d.ts +0 -1
  524. package/lib/types/server/worker/worker.d.ts +0 -4
  525. package/preset.js +0 -9
  526. package/types/babel__register.d.ts +0 -1
  527. package/types/event-source-polyfill.d.ts +0 -6
  528. package/types/mdx.d.ts +0 -7
  529. /package/{addon → manager}/README.md +0 -0
@@ -1,322 +0,0 @@
1
- import * as Events from '@storybook/core-events';
2
- import * as polyfill from 'event-source-polyfill';
3
- // import { buildQueries, within } from '@storybook/testing-library';
4
- import { addons, makeDecorator } from '@storybook/addons';
5
- import { // CreeveyStoryParams,
6
- isObject, noop } from '../../types';
7
- import { denormalizeStoryParameters, serializeRawStories } from '../../shared';
8
- import { getConnectionUrl } from '../shared/helpers';
9
-
10
- if (typeof process != 'object' || typeof process.version != 'string') {
11
- // NOTE If you don't use babel-polyfill or any other polyfills that add EventSource for IE11
12
- // You don't get hot reload in IE11. So put polyfill for that to better UX
13
- // Don't load in nodejs environment
14
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
15
- const {
16
- NativeEventSource,
17
- EventSourcePolyfill
18
- } = polyfill; // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
19
-
20
- window.EventSource = NativeEventSource || EventSourcePolyfill;
21
- }
22
-
23
- const disableAnimationsStyles = "\n*,\n*:hover,\n*::before,\n*::after {\n animation-delay: -0.0001ms !important;\n animation-duration: 0s !important;\n animation-play-state: paused !important;\n cursor: none !important;\n caret-color: transparent !important;\n transition: 0s !important;\n}\n";
24
-
25
- async function resetCurrentStory(channel) {
26
- setTimeout(() => channel.emit(Events.SET_CURRENT_STORY, {
27
- storyId: true,
28
- name: '',
29
- kind: ''
30
- }), 0);
31
- return new Promise(resolve => channel.once(Events.STORY_MISSING, resolve));
32
- }
33
-
34
- function catchRenderError(channel) {
35
- let rejectCallback;
36
- const promise = new Promise((_resolve, reject) => rejectCallback = reject);
37
-
38
- function errorHandler(_ref) {
39
- let {
40
- title,
41
- description
42
- } = _ref;
43
- rejectCallback({
44
- message: title,
45
- stack: description
46
- });
47
- }
48
-
49
- function exceptionHandler(exception) {
50
- rejectCallback(exception);
51
- }
52
-
53
- function removeHandlers() {
54
- channel.off(Events.STORY_ERRORED, errorHandler);
55
- channel.off(Events.STORY_THREW_EXCEPTION, errorHandler);
56
- }
57
-
58
- channel.once(Events.STORY_ERRORED, errorHandler);
59
- channel.once(Events.STORY_THREW_EXCEPTION, exceptionHandler);
60
- return Object.assign(promise, {
61
- cancel: removeHandlers
62
- });
63
- }
64
-
65
- function waitForStoryRendered(channel) {
66
- let resolveCallback;
67
- const promise = new Promise(resolve => resolveCallback = resolve);
68
-
69
- function renderHandler() {
70
- resolveCallback();
71
- }
72
-
73
- function removeHandlers() {
74
- channel.off(Events.STORY_RENDERED, renderHandler);
75
- }
76
-
77
- channel.once(Events.STORY_RENDERED, renderHandler);
78
- return Object.assign(promise, {
79
- cancel: removeHandlers
80
- });
81
- }
82
-
83
- function waitForFontsLoaded() {
84
- if (!document.fonts) return;
85
- const areFontsLoading = Array.from(document.fonts).some(font => font.status == 'loading');
86
-
87
- if (areFontsLoading) {
88
- return new Promise(resolve => {
89
- const fontsLoadedHandler = () => {
90
- document.fonts.removeEventListener('loadingdone', fontsLoadedHandler);
91
- resolve();
92
- };
93
-
94
- document.fonts.addEventListener('loadingdone', fontsLoadedHandler);
95
- });
96
- }
97
- }
98
-
99
- function waitForCaptureCall() {
100
- return new Promise(resolve => captureResolver = resolve);
101
- }
102
-
103
- function initCreeveyState() {
104
- var _window$localStorage$;
105
-
106
- const prevState = JSON.parse((_window$localStorage$ = window.localStorage.getItem('Creevey_Tests')) !== null && _window$localStorage$ !== void 0 ? _window$localStorage$ : '{}');
107
- if (prevState.creeveyHost) window.__CREEVEY_SERVER_HOST__ = prevState.creeveyHost;
108
- if (prevState.creeveyPort) window.__CREEVEY_SERVER_PORT__ = prevState.creeveyPort;
109
- if (prevState.setStoriesCounter) setStoriesCounter = prevState.setStoriesCounter;
110
- if (prevState.isTestBrowser) isTestBrowser = prevState.isTestBrowser;
111
- window.addEventListener('beforeunload', () => {
112
- window.localStorage.setItem('Creevey_Tests', JSON.stringify({
113
- creeveyHost: window.__CREEVEY_SERVER_HOST__,
114
- creeveyPort: window.__CREEVEY_SERVER_PORT__,
115
- setStoriesCounter,
116
- isTestBrowser
117
- }));
118
- });
119
- }
120
-
121
- let isTestBrowser = false;
122
- let captureResolver;
123
- let waitForCreevey;
124
- let creeveyReady;
125
- let setStoriesCounter = 0;
126
- export function withCreevey() {
127
- let currentStory = '';
128
- let isAnimationDisabled = false;
129
- initCreeveyState();
130
-
131
- function disableAnimation() {
132
- isAnimationDisabled = true;
133
- const style = document.createElement('style');
134
- const textNode = document.createTextNode(disableAnimationsStyles);
135
- style.setAttribute('type', 'text/css');
136
- style.appendChild(textNode);
137
- document.head.appendChild(style);
138
- }
139
-
140
- async function getStories() {
141
- var _window$__STORYBOOK_S;
142
-
143
- const storiesPromise = new Promise(resolve => addons.getChannel().once(Events.SET_STORIES, data => resolve(serializeRawStories(denormalizeStoryParameters(data)))));
144
- const store = (_window$__STORYBOOK_S = window.__STORYBOOK_STORY_STORE__) !== null && _window$__STORYBOOK_S !== void 0 ? _window$__STORYBOOK_S : {}; // @ts-expect-error `pushToManager` exists only in Storybook 6.0 - 6.3
145
-
146
- if (store.pushToManager) {
147
- // @ts-expect-error `pushToManager` exists only in Storybook 6.0 - 6.3
148
- // eslint-disable-next-line @typescript-eslint/no-unsafe-call
149
- store.pushToManager();
150
- } else if (store.cacheAllCSFFiles) {
151
- await store.cacheAllCSFFiles();
152
- addons.getChannel().emit(Events.SET_STORIES, store.getSetStoriesPayload());
153
- } else return;
154
-
155
- addons.getChannel().on(Events.SET_STORIES, data => {
156
- // TODO Figure out how to get only updated stories
157
- // TODO Subscribe on hmr? like use dummy-hmr
158
- setStoriesCounter += 1;
159
- const stories = serializeRawStories(denormalizeStoryParameters(data));
160
- const storiesByFiles = new Map();
161
- Object.values(stories).forEach(story => {
162
- const storiesFromFile = storiesByFiles.get(story.parameters.fileName);
163
- if (storiesFromFile) storiesFromFile.push(story);else storiesByFiles.set(story.parameters.fileName, [story]);
164
- });
165
- void fetch("http://".concat(getConnectionUrl(), "/stories"), {
166
- method: 'POST',
167
- headers: {
168
- 'Content-Type': 'application/json'
169
- },
170
- body: JSON.stringify({
171
- setStoriesCounter,
172
- stories: [...storiesByFiles.entries()]
173
- })
174
- });
175
- });
176
- return storiesPromise;
177
- }
178
-
179
- async function selectStory(storyId, kind, name, shouldWaitForReady, callback) {
180
- if (!isAnimationDisabled) disableAnimation();
181
- isTestBrowser = true;
182
- const channel = addons.getChannel();
183
- const waitForReady = shouldWaitForReady ? new Promise(resolve => window.__CREEVEY_SET_READY_FOR_CAPTURE__ = resolve) : Promise.resolve();
184
- if (storyId == currentStory) await resetCurrentStory(channel);else currentStory = storyId;
185
- let isCaptureCalled = false;
186
- const renderPromise = waitForStoryRendered(channel);
187
- const errorPromise = catchRenderError(channel);
188
- const capturePromise = waitForCaptureCall().then(() => isCaptureCalled = true);
189
- setTimeout(() => channel.emit(Events.SET_CURRENT_STORY, {
190
- storyId,
191
- name,
192
- kind
193
- }), 0);
194
-
195
- try {
196
- await Promise.race([(async () => {
197
- await Promise.race([renderPromise, capturePromise]);
198
- await waitForFontsLoaded();
199
- await waitForReady;
200
- })(), errorPromise]);
201
- callback([null, isCaptureCalled]);
202
- } catch (reason) {
203
- var _reason$stack;
204
-
205
- // NOTE Event `STORY_THREW_EXCEPTION` triggered only in react and vue frameworks and return Error instance
206
- // NOTE Event `STORY_ERRORED` return error-like object without `name` field
207
- const errorMessage = reason instanceof Error ? (_reason$stack = reason.stack) !== null && _reason$stack !== void 0 ? _reason$stack : reason.message : isObject(reason) ? "".concat(reason.message, "\n ").concat(reason.stack) : reason;
208
- callback([errorMessage]);
209
- } finally {
210
- renderPromise.cancel();
211
- errorPromise.cancel();
212
- }
213
- }
214
-
215
- function updateGlobals(globals) {
216
- addons.getChannel().emit(Events.UPDATE_GLOBALS, {
217
- globals
218
- });
219
- }
220
-
221
- function insertIgnoreStyles(ignoreSelectors) {
222
- const stylesElement = document.createElement('style');
223
- stylesElement.setAttribute('type', 'text/css');
224
- document.head.appendChild(stylesElement);
225
- ignoreSelectors.forEach(selector => {
226
- stylesElement.innerHTML += "\n ".concat(selector, " {\n background: #000 !important;\n box-shadow: none !important;\n text-shadow: none !important;\n outline: 0 !important;\n color: rgba(0,0,0,0) !important;\n }\n ").concat(selector, " *, ").concat(selector, "::before, ").concat(selector, "::after {\n visibility: hidden !important;\n }\n ");
227
- });
228
- return stylesElement;
229
- }
230
-
231
- function removeIgnoreStyles(ignoreStyles) {
232
- var _ignoreStyles$parentN;
233
-
234
- (_ignoreStyles$parentN = ignoreStyles.parentNode) === null || _ignoreStyles$parentN === void 0 ? void 0 : _ignoreStyles$parentN.removeChild(ignoreStyles);
235
- }
236
-
237
- function hasPlayCompletedYet(callback) {
238
- creeveyReady();
239
- let isCaptureCalled = false;
240
- let isPlayCompleted = false;
241
- const channel = addons.getChannel();
242
- void waitForStoryRendered(channel).then(() => {
243
- if (isCaptureCalled) return;
244
- isPlayCompleted = true;
245
- callback(true);
246
- });
247
- void waitForCaptureCall().then(() => {
248
- if (isPlayCompleted) return;
249
- isCaptureCalled = true;
250
- callback(false);
251
- });
252
- }
253
-
254
- window.__CREEVEY_GET_STORIES__ = getStories;
255
- window.__CREEVEY_SELECT_STORY__ = selectStory;
256
- window.__CREEVEY_UPDATE_GLOBALS__ = updateGlobals;
257
- window.__CREEVEY_INSERT_IGNORE_STYLES__ = insertIgnoreStyles;
258
- window.__CREEVEY_REMOVE_IGNORE_STYLES__ = removeIgnoreStyles;
259
- window.__CREEVEY_HAS_PLAY_COMPLETED_YET__ = hasPlayCompletedYet;
260
- window.__CREEVEY_SET_READY_FOR_CAPTURE__ = noop; // const queryAllByQuery = (container: HTMLElement, query: string): HTMLElement[] =>
261
- // [...container.querySelectorAll(query)].filter((e) => e instanceof HTMLElement) as HTMLElement[];
262
- // const getMultipleError = (_: Element | null, query: string): string => `Found multiple elements by query: ${query}`;
263
- // const getMissingError = (_: Element | null, query: string): string => `Unable to find an element by query: ${query}`;
264
- // const [queryByQuery, getAllByQuery, getByQuery, findAllByQuery, findByQuery] = buildQueries(
265
- // queryAllByQuery,
266
- // getMultipleError,
267
- // getMissingError,
268
- // );
269
- // const queries = {
270
- // queryByQuery,
271
- // getAllByQuery,
272
- // getByQuery,
273
- // findAllByQuery,
274
- // findByQuery,
275
- // };
276
-
277
- return makeDecorator({
278
- name: 'withCreevey',
279
- parameterName: 'creevey',
280
- wrapper: (getStory, context) => {
281
- // // TODO Define proper types, like captureElement is a promise
282
- // const { captureElement } = (context.parameters.creevey =
283
- // (context.parameters.creevey as CreeveyStoryParams) ?? {});
284
- // Object.defineProperty(context.parameters.creevey, 'captureElement', {
285
- // get() {
286
- // switch (true) {
287
- // case captureElement === undefined:
288
- // return Promise.resolve(context.canvasElement);
289
- // case captureElement === null:
290
- // return Promise.resolve(document.documentElement);
291
- // case typeof captureElement == 'string':
292
- // return within<typeof queries>(context.canvasElement, queries).findByQuery(captureElement as string);
293
- // case typeof captureElement == 'function':
294
- // // TODO Define type for it
295
- // return Promise.resolve(
296
- // (captureElement as unknown as (ctx: typeof context) => Promise<HTMLElement> | HTMLElement)(context),
297
- // );
298
- // }
299
- // },
300
- // enumerable: true,
301
- // configurable: true,
302
- // });
303
- return getStory(context);
304
- }
305
- });
306
- }
307
- export async function capture(options) {
308
- if (!isTestBrowser) return;
309
- captureResolver();
310
- waitForCreevey = new Promise(resolve => creeveyReady = resolve);
311
- await fetch("http://".concat(getConnectionUrl(), "/capture"), {
312
- method: 'POST',
313
- headers: {
314
- 'Content-Type': 'application/json'
315
- },
316
- body: JSON.stringify({
317
- workerId: window.__CREEVEY_WORKER_ID__,
318
- options
319
- })
320
- });
321
- await waitForCreevey;
322
- }
@@ -1,67 +0,0 @@
1
- import React, { useEffect, useRef } from 'react';
2
- import { getBorderColor, themeBorderColors } from './ImagesView';
3
- import { styled, withTheme } from '@storybook/theming';
4
- import { useApplyScale, useCalcScale, useLoadImages } from '../../helpers';
5
- import { readyForCapture } from '../../../addon/readyForCapture';
6
- const Container = styled.div({
7
- position: 'relative',
8
- display: 'flex',
9
- filter: 'invert(100%)'
10
- });
11
- const ImageContainer = styled.div({
12
- position: 'absolute',
13
- width: '100%',
14
- height: '100%',
15
- display: 'flex'
16
- });
17
- const Image = styled.img(_ref => {
18
- let {
19
- borderColor
20
- } = _ref;
21
- return {
22
- boxSizing: 'border-box',
23
- border: "1px solid ".concat(borderColor),
24
- maxWidth: '100%',
25
- filter: 'invert(100%)'
26
- };
27
- });
28
- const ActualImage = styled(Image)({
29
- mixBlendMode: 'difference'
30
- });
31
- const DiffImage = styled(Image)({
32
- opacity: '0'
33
- });
34
- export const BlendView = withTheme(_ref2 => {
35
- let {
36
- actual,
37
- diff,
38
- expect,
39
- theme
40
- } = _ref2;
41
- const expectImageRef = useRef(null);
42
- const diffImageRef = useRef(null);
43
- const actualImageRef = useRef(null);
44
- const loaded = useLoadImages(expect, diff, actual);
45
- const scale = useCalcScale(diffImageRef, loaded);
46
- useApplyScale(expectImageRef, scale, loaded);
47
- useApplyScale(actualImageRef, scale, loaded);
48
- useEffect(() => {
49
- if (loaded) readyForCapture();
50
- }, [loaded]);
51
- return /*#__PURE__*/React.createElement(Container, null, /*#__PURE__*/React.createElement(ImageContainer, null, /*#__PURE__*/React.createElement(Image, {
52
- ref: expectImageRef,
53
- borderColor: getBorderColor(theme, themeBorderColors.expect),
54
- alt: "expect",
55
- src: expect
56
- })), /*#__PURE__*/React.createElement(DiffImage, {
57
- ref: diffImageRef,
58
- borderColor: 'transparent',
59
- alt: "diff",
60
- src: diff
61
- }), /*#__PURE__*/React.createElement(ImageContainer, null, /*#__PURE__*/React.createElement(ActualImage, {
62
- ref: actualImageRef,
63
- borderColor: getBorderColor(theme, themeBorderColors.actual),
64
- alt: "actual",
65
- src: actual
66
- })));
67
- });
@@ -1,69 +0,0 @@
1
- import React from 'react';
2
- import { SideBySideView } from './SideBySideView';
3
- import { SwapView } from './SwapView';
4
- import { SlideView } from './SlideView';
5
- import { BlendView } from './BlendView';
6
- import { styled, withTheme } from '@storybook/theming';
7
- export const themeBorderColors = {
8
- actual: 'negative',
9
- expect: 'positive',
10
- diff: 'secondary'
11
- };
12
-
13
- const isColor = (theme, color) => color in theme.color;
14
-
15
- export function getBorderColor(theme, color) {
16
- return isColor(theme, color) ? theme.color[color] : color;
17
- }
18
- const views = {
19
- 'side-by-side': SideBySideView,
20
- swap: SwapView,
21
- slide: SlideView,
22
- blend: BlendView
23
- };
24
- const Container = styled.div({
25
- height: '100%',
26
- display: 'flex',
27
- textAlign: 'center',
28
- alignItems: 'center',
29
- justifyContent: 'center',
30
- padding: '0 20px'
31
- });
32
- const ImageLink = styled.a({
33
- lineHeight: 0
34
- });
35
- const ActualImage = withTheme(styled.img(_ref => {
36
- let {
37
- theme
38
- } = _ref;
39
- return {
40
- border: "1px solid ".concat(getBorderColor(theme, themeBorderColors.expect)),
41
- maxWidth: '100%'
42
- };
43
- }));
44
- export function ImagesView(_ref2) {
45
- let {
46
- url,
47
- image,
48
- canApprove,
49
- mode
50
- } = _ref2;
51
- const ViewComponent = views[mode];
52
- const {
53
- actual,
54
- diff,
55
- expect
56
- } = image;
57
- return /*#__PURE__*/React.createElement(Container, null, canApprove && diff && expect ? /*#__PURE__*/React.createElement(ViewComponent, {
58
- actual: "".concat(url, "/").concat(actual),
59
- diff: "".concat(url, "/").concat(diff),
60
- expect: "".concat(url, "/").concat(expect)
61
- }) : /*#__PURE__*/React.createElement(ImageLink, {
62
- href: "".concat(url, "/").concat(actual),
63
- target: "_blank",
64
- rel: "noopener noreferrer"
65
- }, /*#__PURE__*/React.createElement(ActualImage, {
66
- alt: "actual",
67
- src: "".concat(url, "/").concat(actual)
68
- })));
69
- }
@@ -1,131 +0,0 @@
1
- import React, { useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';
2
- import { getBorderColor, themeBorderColors } from './ImagesView';
3
- import { styled, withTheme } from '@storybook/theming';
4
- import { useApplyScale, useLoadImages, useResizeObserver, getBorderSize } from '../../helpers';
5
- import { Loader } from '@storybook/components';
6
- import { readyForCapture } from '../../../addon/readyForCapture';
7
- const Container = styled.div({
8
- display: 'flex',
9
- flexWrap: 'nowrap',
10
- alignItems: 'center',
11
- justifyContent: 'center',
12
- height: '100%',
13
- width: '100%'
14
- });
15
- const ImagesLayout = styled.div(_ref => {
16
- let {
17
- layout
18
- } = _ref;
19
- return {
20
- display: 'flex',
21
- alignItems: 'flex-start',
22
- justifyContent: 'flex-start',
23
- flexDirection: layout == 'horizontal' ? 'row' : 'column',
24
- '& > :not(:first-of-type)': {
25
- marginLeft: layout == 'horizontal' ? '20px' : 0,
26
- marginTop: layout == 'horizontal' ? 0 : '20px'
27
- }
28
- };
29
- });
30
- const ImageLink = styled.a({
31
- lineHeight: 0,
32
- flexShrink: 0
33
- });
34
- const ImageDiffLink = styled.a({
35
- lineHeight: 0
36
- });
37
- const Image = styled.img(_ref2 => {
38
- let {
39
- borderColor
40
- } = _ref2;
41
- return {
42
- boxSizing: 'border-box',
43
- border: "1px solid ".concat(borderColor),
44
- maxWidth: '100%',
45
- flexShrink: 0
46
- };
47
- });
48
- const DiffImage = styled(Image)({
49
- flexShrink: 1
50
- });
51
- export const SideBySideView = withTheme(_ref3 => {
52
- let {
53
- actual,
54
- diff,
55
- expect,
56
- theme
57
- } = _ref3;
58
- const [layout, setLayout] = useState('horizontal');
59
- const [scale, setScale] = useState(1);
60
- const containerRef = useRef(null);
61
- const expectImageRef = useRef(null);
62
- const diffImageRef = useRef(null);
63
- const actualImageRef = useRef(null);
64
- const loaded = useLoadImages(expect, diff, actual);
65
- const calcScale = useCallback(() => {
66
- const containerElement = containerRef.current;
67
- const expectImage = expectImageRef.current;
68
- const diffImage = diffImageRef.current;
69
- const actualImage = actualImageRef.current;
70
- if (!containerElement || !expectImage || !actualImage || !diffImage || !loaded) return setScale(1);
71
- const borderSize = getBorderSize(diffImage);
72
-
73
- if (layout == 'vertical') {
74
- const ratio = (diffImage.getBoundingClientRect().width - borderSize * 2) / diffImage.naturalWidth;
75
- setScale(Math.min(1, ratio));
76
- }
77
-
78
- if (layout == 'horizontal') {
79
- const ratio = // NOTE: 40px because we have two margins by 20px and 6px for borders
80
- (containerElement.getBoundingClientRect().width - 40 - borderSize * 6) / [expectImage, diffImage, actualImage].map(image => image.naturalWidth).reduce((a, b) => a + b, 0);
81
- setScale(Math.min(1, ratio));
82
- }
83
- }, [loaded, layout]);
84
- useResizeObserver(containerRef, calcScale);
85
- useLayoutEffect(calcScale, [calcScale]);
86
- useLayoutEffect(() => {
87
- const diffImage = diffImageRef.current;
88
- if (!diffImage || !loaded) return;
89
- const ratio = diffImage.naturalWidth / diffImage.naturalHeight;
90
- setLayout(ratio >= 2 ? 'vertical' : 'horizontal');
91
- }, [loaded]);
92
- useApplyScale(expectImageRef, scale);
93
- useApplyScale(actualImageRef, scale);
94
- useEffect(() => {
95
- if (loaded) readyForCapture();
96
- }, [loaded]);
97
- return /*#__PURE__*/React.createElement(Container, {
98
- ref: containerRef
99
- }, loaded ? /*#__PURE__*/React.createElement(ImagesLayout, {
100
- layout: layout
101
- }, /*#__PURE__*/React.createElement(ImageLink, {
102
- href: expect,
103
- target: "_blank",
104
- rel: "noopener noreferrer"
105
- }, /*#__PURE__*/React.createElement(Image, {
106
- ref: expectImageRef,
107
- borderColor: getBorderColor(theme, themeBorderColors.expect),
108
- alt: "expect",
109
- src: expect
110
- })), /*#__PURE__*/React.createElement(ImageDiffLink, {
111
- href: diff,
112
- target: "_blank",
113
- rel: "noopener noreferrer"
114
- }, /*#__PURE__*/React.createElement(DiffImage, {
115
- ref: diffImageRef,
116
- borderColor: getBorderColor(theme, themeBorderColors.diff),
117
- alt: "diff",
118
- src: diff
119
- })), /*#__PURE__*/React.createElement(ImageLink, {
120
- href: actual,
121
- target: "_blank",
122
- rel: "noopener noreferrer"
123
- }, /*#__PURE__*/React.createElement(Image, {
124
- ref: actualImageRef,
125
- borderColor: getBorderColor(theme, themeBorderColors.actual),
126
- alt: "actual",
127
- src: actual
128
- }))) : /*#__PURE__*/React.createElement(Loader, {
129
- size: 64
130
- }));
131
- });