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