creevey 0.8.0-beta.0 → 0.9.0-beta.1

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 (225) hide show
  1. package/CHANGELOG.md +5 -9
  2. package/lib/cjs/client/web/main.js +6 -6
  3. package/lib/types/cli.d.ts +1 -1
  4. package/lib/types/client/addon/Manager.d.ts +37 -37
  5. package/lib/types/client/addon/components/Addon.d.ts +8 -8
  6. package/lib/types/client/addon/components/Icons.d.ts +7 -7
  7. package/lib/types/client/addon/components/Panel.d.ts +9 -9
  8. package/lib/types/client/addon/components/TestSelect.d.ts +9 -9
  9. package/lib/types/client/addon/components/Tools.d.ts +6 -6
  10. package/lib/types/client/addon/decorator.d.ts +1 -1
  11. package/lib/types/client/addon/preset.d.ts +24 -22
  12. package/lib/types/client/addon/readyForCapture.d.ts +6 -0
  13. package/lib/types/client/addon/register.d.ts +3 -3
  14. package/lib/types/client/addon/utils.d.ts +2 -2
  15. package/lib/types/client/addon/withCreevey.d.ts +24 -13
  16. package/lib/types/client/shared/components/ImagesView/BlendView.d.ts +3 -3
  17. package/lib/types/client/shared/components/ImagesView/ImagesView.d.ts +25 -25
  18. package/lib/types/client/shared/components/ImagesView/SideBySideView.d.ts +3 -3
  19. package/lib/types/client/shared/components/ImagesView/SlideView.d.ts +3 -3
  20. package/lib/types/client/shared/components/ImagesView/SwapView.d.ts +3 -3
  21. package/lib/types/client/shared/components/ImagesView/index.d.ts +5 -5
  22. package/lib/types/client/shared/components/PageFooter/PageFooter.d.ts +9 -9
  23. package/lib/types/client/shared/components/PageFooter/Paging.d.ts +8 -8
  24. package/lib/types/client/shared/components/PageHeader/ImagePreview.d.ts +12 -12
  25. package/lib/types/client/shared/components/PageHeader/PageHeader.d.ts +17 -17
  26. package/lib/types/client/shared/components/ResultsPage.d.ts +18 -18
  27. package/lib/types/client/shared/creeveyClientApi.d.ts +9 -9
  28. package/lib/types/client/shared/helpers.d.ts +46 -46
  29. package/lib/types/client/shared/viewMode.d.ts +4 -4
  30. package/lib/types/client/web/CreeveyApp.d.ts +12 -12
  31. package/lib/types/client/web/CreeveyContext.d.ts +11 -11
  32. package/lib/types/client/web/CreeveyLoader.d.ts +3 -3
  33. package/lib/types/client/web/CreeveyView/SideBar/Checkbox.d.ts +19 -19
  34. package/lib/types/client/web/CreeveyView/SideBar/Search.d.ts +6 -6
  35. package/lib/types/client/web/CreeveyView/SideBar/SideBar.d.ts +14 -14
  36. package/lib/types/client/web/CreeveyView/SideBar/SideBarHeader.d.ts +13 -13
  37. package/lib/types/client/web/CreeveyView/SideBar/SuiteLink.d.ts +33 -33
  38. package/lib/types/client/web/CreeveyView/SideBar/TestLink.d.ts +8 -8
  39. package/lib/types/client/web/CreeveyView/SideBar/TestStatusIcon.d.ts +10 -10
  40. package/lib/types/client/web/CreeveyView/SideBar/TestsStatus.d.ts +9 -9
  41. package/lib/types/client/web/CreeveyView/SideBar/Toggle.d.ts +6 -6
  42. package/lib/types/client/web/CreeveyView/SideBar/index.d.ts +1 -1
  43. package/lib/types/client/web/KeyboardEventsContext.d.ts +13 -13
  44. package/lib/types/client/web/index.d.ts +4 -4
  45. package/lib/types/creevey.d.ts +1 -1
  46. package/lib/types/index.d.ts +4 -2
  47. package/lib/types/server/config.d.ts +4 -4
  48. package/lib/types/server/docker.d.ts +7 -7
  49. package/lib/types/server/extract.d.ts +2 -2
  50. package/lib/types/server/index.d.ts +2 -2
  51. package/lib/types/server/loaders/babel/creevey-plugin.d.ts +1 -1
  52. package/lib/types/server/loaders/babel/helpers.d.ts +19 -19
  53. package/lib/types/server/loaders/babel/register.d.ts +5 -5
  54. package/lib/types/server/loaders/hooks/mdx.d.ts +1 -1
  55. package/lib/types/server/loaders/hooks/svelte.d.ts +1 -1
  56. package/lib/types/server/loaders/webpack/compile.d.ts +2 -2
  57. package/lib/types/server/loaders/webpack/creevey-loader.d.ts +2 -2
  58. package/lib/types/server/loaders/webpack/dummy-hmr.d.ts +10 -10
  59. package/lib/types/server/loaders/webpack/mdx-loader.d.ts +6 -6
  60. package/lib/types/server/loaders/webpack/start.d.ts +1 -1
  61. package/lib/types/server/logger.d.ts +6 -6
  62. package/lib/types/server/master/api.d.ts +7 -7
  63. package/lib/types/server/master/index.d.ts +3 -3
  64. package/lib/types/server/master/master.d.ts +7 -6
  65. package/lib/types/server/master/pool.d.ts +31 -30
  66. package/lib/types/server/master/runner.d.ts +26 -26
  67. package/lib/types/server/master/server.d.ts +2 -2
  68. package/lib/types/server/messages.d.ts +27 -18
  69. package/lib/types/server/selenium/browser.d.ts +17 -14
  70. package/lib/types/server/selenium/index.d.ts +2 -2
  71. package/lib/types/server/selenium/selenoid.d.ts +3 -3
  72. package/lib/types/server/stories.d.ts +8 -8
  73. package/lib/types/server/storybook/entry.d.ts +18 -18
  74. package/lib/types/server/storybook/helpers.d.ts +24 -24
  75. package/lib/types/server/storybook/providers/browser.d.ts +4 -0
  76. package/lib/types/server/storybook/providers/hybrid.d.ts +4 -0
  77. package/lib/types/server/storybook/providers/nodejs.d.ts +9 -0
  78. package/lib/types/server/testsFiles/parser.d.ts +12 -0
  79. package/lib/types/server/testsFiles/register.d.ts +2 -0
  80. package/lib/types/server/update.d.ts +2 -2
  81. package/lib/types/server/utils.d.ts +20 -19
  82. package/lib/types/server/worker/chai-image.d.ts +6 -6
  83. package/lib/types/server/worker/helpers.d.ts +8 -7
  84. package/lib/types/server/worker/index.d.ts +1 -1
  85. package/lib/types/server/worker/reporter.d.ts +8 -8
  86. package/lib/types/server/worker/worker.d.ts +4 -4
  87. package/lib/types/shared.d.ts +16 -4
  88. package/lib/types/types.d.ts +489 -459
  89. package/package.json +16 -7
  90. package/storybook-static/stories.json +21 -0
  91. package/types/mocha.d.ts +1 -0
  92. package/lib/cjs/cli.js +0 -5
  93. package/lib/cjs/client/addon/Manager.js +0 -413
  94. package/lib/cjs/client/addon/components/Addon.js +0 -76
  95. package/lib/cjs/client/addon/components/Icons.js +0 -42
  96. package/lib/cjs/client/addon/components/Panel.js +0 -68
  97. package/lib/cjs/client/addon/components/TestSelect.js +0 -63
  98. package/lib/cjs/client/addon/components/Tools.js +0 -114
  99. package/lib/cjs/client/addon/decorator.js +0 -11
  100. package/lib/cjs/client/addon/preset.js +0 -80
  101. package/lib/cjs/client/addon/register.js +0 -96
  102. package/lib/cjs/client/addon/utils.js +0 -38
  103. package/lib/cjs/client/addon/withCreevey.js +0 -284
  104. package/lib/cjs/client/shared/components/ImagesView/BlendView.js +0 -85
  105. package/lib/cjs/client/shared/components/ImagesView/ImagesView.js +0 -88
  106. package/lib/cjs/client/shared/components/ImagesView/SideBySideView.js +0 -176
  107. package/lib/cjs/client/shared/components/ImagesView/SlideView.js +0 -178
  108. package/lib/cjs/client/shared/components/ImagesView/SwapView.js +0 -110
  109. package/lib/cjs/client/shared/components/ImagesView/index.js +0 -45
  110. package/lib/cjs/client/shared/components/PageFooter/PageFooter.js +0 -46
  111. package/lib/cjs/client/shared/components/PageFooter/Paging.js +0 -98
  112. package/lib/cjs/client/shared/components/PageHeader/ImagePreview.js +0 -78
  113. package/lib/cjs/client/shared/components/PageHeader/PageHeader.js +0 -144
  114. package/lib/cjs/client/shared/components/ResultsPage.js +0 -173
  115. package/lib/cjs/client/shared/creeveyClientApi.js +0 -103
  116. package/lib/cjs/client/shared/helpers.js +0 -482
  117. package/lib/cjs/client/shared/viewMode.js +0 -17
  118. package/lib/cjs/client/web/index.html +0 -19
  119. package/lib/cjs/creevey.js +0 -71
  120. package/lib/cjs/index.js +0 -44
  121. package/lib/cjs/server/config.js +0 -92
  122. package/lib/cjs/server/docker.js +0 -150
  123. package/lib/cjs/server/extract.js +0 -43
  124. package/lib/cjs/server/index.js +0 -85
  125. package/lib/cjs/server/loaders/babel/creevey-plugin.js +0 -88
  126. package/lib/cjs/server/loaders/babel/helpers.js +0 -479
  127. package/lib/cjs/server/loaders/babel/register.js +0 -126
  128. package/lib/cjs/server/loaders/hooks/mdx.js +0 -30
  129. package/lib/cjs/server/loaders/hooks/svelte.js +0 -65
  130. package/lib/cjs/server/loaders/webpack/compile.js +0 -286
  131. package/lib/cjs/server/loaders/webpack/creevey-loader.js +0 -174
  132. package/lib/cjs/server/loaders/webpack/dummy-hmr.js +0 -44
  133. package/lib/cjs/server/loaders/webpack/mdx-loader.js +0 -72
  134. package/lib/cjs/server/loaders/webpack/start.js +0 -41
  135. package/lib/cjs/server/logger.js +0 -47
  136. package/lib/cjs/server/master/api.js +0 -71
  137. package/lib/cjs/server/master/index.js +0 -152
  138. package/lib/cjs/server/master/master.js +0 -56
  139. package/lib/cjs/server/master/pool.js +0 -206
  140. package/lib/cjs/server/master/runner.js +0 -294
  141. package/lib/cjs/server/master/server.js +0 -57
  142. package/lib/cjs/server/messages.js +0 -154
  143. package/lib/cjs/server/selenium/browser.js +0 -582
  144. package/lib/cjs/server/selenium/index.js +0 -31
  145. package/lib/cjs/server/selenium/selenoid.js +0 -174
  146. package/lib/cjs/server/stories.js +0 -167
  147. package/lib/cjs/server/storybook/entry.js +0 -68
  148. package/lib/cjs/server/storybook/helpers.js +0 -165
  149. package/lib/cjs/server/storybook/nodejs-provider.js +0 -220
  150. package/lib/cjs/server/update.js +0 -83
  151. package/lib/cjs/server/utils.js +0 -178
  152. package/lib/cjs/server/worker/chai-image.js +0 -142
  153. package/lib/cjs/server/worker/helpers.js +0 -73
  154. package/lib/cjs/server/worker/index.js +0 -15
  155. package/lib/cjs/server/worker/reporter.js +0 -120
  156. package/lib/cjs/server/worker/worker.js +0 -266
  157. package/lib/cjs/shared.js +0 -35
  158. package/lib/cjs/types.js +0 -69
  159. package/lib/esm/cli.js +0 -4
  160. package/lib/esm/client/addon/Manager.js +0 -397
  161. package/lib/esm/client/addon/components/Addon.js +0 -58
  162. package/lib/esm/client/addon/components/Icons.js +0 -27
  163. package/lib/esm/client/addon/components/Panel.js +0 -49
  164. package/lib/esm/client/addon/components/TestSelect.js +0 -49
  165. package/lib/esm/client/addon/components/Tools.js +0 -91
  166. package/lib/esm/client/addon/decorator.js +0 -2
  167. package/lib/esm/client/addon/preset.js +0 -55
  168. package/lib/esm/client/addon/register.js +0 -75
  169. package/lib/esm/client/addon/utils.js +0 -31
  170. package/lib/esm/client/addon/withCreevey.js +0 -270
  171. package/lib/esm/client/shared/components/ImagesView/BlendView.js +0 -64
  172. package/lib/esm/client/shared/components/ImagesView/ImagesView.js +0 -65
  173. package/lib/esm/client/shared/components/ImagesView/SideBySideView.js +0 -152
  174. package/lib/esm/client/shared/components/ImagesView/SlideView.js +0 -154
  175. package/lib/esm/client/shared/components/ImagesView/SwapView.js +0 -89
  176. package/lib/esm/client/shared/components/ImagesView/index.js +0 -5
  177. package/lib/esm/client/shared/components/PageFooter/PageFooter.js +0 -32
  178. package/lib/esm/client/shared/components/PageFooter/Paging.js +0 -84
  179. package/lib/esm/client/shared/components/PageHeader/ImagePreview.js +0 -64
  180. package/lib/esm/client/shared/components/PageHeader/PageHeader.js +0 -120
  181. package/lib/esm/client/shared/components/ResultsPage.js +0 -143
  182. package/lib/esm/client/shared/creeveyClientApi.js +0 -94
  183. package/lib/esm/client/shared/helpers.js +0 -424
  184. package/lib/esm/client/shared/viewMode.js +0 -6
  185. package/lib/esm/creevey.js +0 -56
  186. package/lib/esm/index.js +0 -4
  187. package/lib/esm/server/config.js +0 -71
  188. package/lib/esm/server/docker.js +0 -123
  189. package/lib/esm/server/extract.js +0 -30
  190. package/lib/esm/server/index.js +0 -65
  191. package/lib/esm/server/loaders/babel/creevey-plugin.js +0 -74
  192. package/lib/esm/server/loaders/babel/helpers.js +0 -462
  193. package/lib/esm/server/loaders/babel/register.js +0 -105
  194. package/lib/esm/server/loaders/hooks/mdx.js +0 -15
  195. package/lib/esm/server/loaders/hooks/svelte.js +0 -49
  196. package/lib/esm/server/loaders/webpack/compile.js +0 -263
  197. package/lib/esm/server/loaders/webpack/creevey-loader.js +0 -153
  198. package/lib/esm/server/loaders/webpack/dummy-hmr.js +0 -36
  199. package/lib/esm/server/loaders/webpack/mdx-loader.js +0 -58
  200. package/lib/esm/server/loaders/webpack/start.js +0 -27
  201. package/lib/esm/server/logger.js +0 -20
  202. package/lib/esm/server/master/api.js +0 -60
  203. package/lib/esm/server/master/index.js +0 -131
  204. package/lib/esm/server/master/master.js +0 -37
  205. package/lib/esm/server/master/pool.js +0 -187
  206. package/lib/esm/server/master/runner.js +0 -272
  207. package/lib/esm/server/master/server.js +0 -37
  208. package/lib/esm/server/messages.js +0 -128
  209. package/lib/esm/server/selenium/browser.js +0 -554
  210. package/lib/esm/server/selenium/index.js +0 -2
  211. package/lib/esm/server/selenium/selenoid.js +0 -151
  212. package/lib/esm/server/stories.js +0 -147
  213. package/lib/esm/server/storybook/entry.js +0 -44
  214. package/lib/esm/server/storybook/helpers.js +0 -106
  215. package/lib/esm/server/storybook/nodejs-provider.js +0 -200
  216. package/lib/esm/server/update.js +0 -65
  217. package/lib/esm/server/utils.js +0 -141
  218. package/lib/esm/server/worker/chai-image.js +0 -130
  219. package/lib/esm/server/worker/helpers.js +0 -64
  220. package/lib/esm/server/worker/index.js +0 -1
  221. package/lib/esm/server/worker/reporter.js +0 -98
  222. package/lib/esm/server/worker/worker.js +0 -236
  223. package/lib/esm/shared.js +0 -22
  224. package/lib/esm/types.js +0 -40
  225. package/lib/types/server/storybook/nodejs-provider.d.ts +0 -5
@@ -1,284 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.withCreevey = withCreevey;
7
-
8
- var Events = _interopRequireWildcard(require("@storybook/core-events"));
9
-
10
- var polyfill = _interopRequireWildcard(require("event-source-polyfill"));
11
-
12
- var _addons = require("@storybook/addons");
13
-
14
- var _types = require("../../types");
15
-
16
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
-
18
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
-
20
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
21
-
22
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
23
-
24
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
25
-
26
- if ((typeof process === "undefined" ? "undefined" : _typeof(process)) != 'object' || typeof process.version != 'string') {
27
- // NOTE If you don't use babel-polyfill or any other polyfills that add EventSource for IE11
28
- // You don't get hot reload in IE11. So put polyfill for that to better UX
29
- // Don't load in nodejs environment
30
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
31
- var NativeEventSource = polyfill.NativeEventSource,
32
- EventSourcePolyfill = polyfill.EventSourcePolyfill; // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
33
-
34
- window.EventSource = NativeEventSource || EventSourcePolyfill;
35
- }
36
-
37
- var 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";
38
-
39
- function resetCurrentStory(_x) {
40
- return _resetCurrentStory.apply(this, arguments);
41
- }
42
-
43
- function _resetCurrentStory() {
44
- _resetCurrentStory = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(channel) {
45
- return regeneratorRuntime.wrap(function _callee3$(_context3) {
46
- while (1) {
47
- switch (_context3.prev = _context3.next) {
48
- case 0:
49
- setTimeout(function () {
50
- return channel.emit(Events.SET_CURRENT_STORY, {
51
- storyId: true,
52
- name: '',
53
- kind: ''
54
- });
55
- }, 0);
56
- return _context3.abrupt("return", new Promise(function (resolve) {
57
- return channel.once(Events.STORY_MISSING, resolve);
58
- }));
59
-
60
- case 2:
61
- case "end":
62
- return _context3.stop();
63
- }
64
- }
65
- }, _callee3);
66
- }));
67
- return _resetCurrentStory.apply(this, arguments);
68
- }
69
-
70
- function catchRenderError(channel) {
71
- var rejectCallback;
72
- var promise = new Promise(function (_resolve, reject) {
73
- return rejectCallback = reject;
74
- });
75
-
76
- function errorHandler(_ref) {
77
- var title = _ref.title,
78
- description = _ref.description;
79
- rejectCallback({
80
- message: title,
81
- stack: description
82
- });
83
- }
84
-
85
- function exceptionHandler(exception) {
86
- rejectCallback(exception);
87
- }
88
-
89
- function removeHandlers() {
90
- channel.off(Events.STORY_ERRORED, errorHandler);
91
- channel.off(Events.STORY_THREW_EXCEPTION, errorHandler);
92
- }
93
-
94
- channel.once(Events.STORY_ERRORED, errorHandler);
95
- channel.once(Events.STORY_THREW_EXCEPTION, exceptionHandler);
96
- return Object.assign(promise, {
97
- cancel: removeHandlers
98
- });
99
- }
100
-
101
- function waitForStoryRendered(channel) {
102
- var resolveCallback;
103
- var promise = new Promise(function (resolve) {
104
- return resolveCallback = resolve;
105
- });
106
-
107
- function renderHandler() {
108
- resolveCallback();
109
- }
110
-
111
- function removeHandlers() {
112
- channel.off(Events.STORY_RENDERED, renderHandler);
113
- }
114
-
115
- channel.once(Events.STORY_RENDERED, renderHandler);
116
- return Object.assign(promise, {
117
- cancel: removeHandlers
118
- });
119
- }
120
-
121
- function waitForFontsLoaded() {
122
- if (!document.fonts) return;
123
- var areFontsLoading = Array.from(document.fonts).some(function (font) {
124
- return font.status == 'loading';
125
- });
126
-
127
- if (areFontsLoading) {
128
- return new Promise(function (resolve) {
129
- var fontsLoadedHandler = function fontsLoadedHandler() {
130
- document.fonts.removeEventListener('loadingdone', fontsLoadedHandler);
131
- resolve();
132
- };
133
-
134
- document.fonts.addEventListener('loadingdone', fontsLoadedHandler);
135
- });
136
- }
137
- }
138
-
139
- function withCreevey() {
140
- var currentStory = '';
141
- var isAnimationDisabled = false;
142
-
143
- function disableAnimation() {
144
- isAnimationDisabled = true;
145
- var style = document.createElement('style');
146
- var textNode = document.createTextNode(disableAnimationsStyles);
147
- style.setAttribute('type', 'text/css');
148
- style.appendChild(textNode);
149
- document.head.appendChild(style);
150
- }
151
-
152
- function selectStory(_x2, _x3, _x4, _x5, _x6) {
153
- return _selectStory.apply(this, arguments);
154
- }
155
-
156
- function _selectStory() {
157
- _selectStory = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(storyId, kind, name, shouldWaitForReady, callback) {
158
- var channel, waitForReady, renderPromise, errorPromise, _reason$stack, errorMessage;
159
-
160
- return regeneratorRuntime.wrap(function _callee2$(_context2) {
161
- while (1) {
162
- switch (_context2.prev = _context2.next) {
163
- case 0:
164
- if (!isAnimationDisabled) disableAnimation();
165
- channel = _addons.addons.getChannel();
166
- waitForReady = shouldWaitForReady ? new Promise(function (resolve) {
167
- return window.__CREEVEY_SET_READY_FOR_CAPTURE__ = resolve;
168
- }) : Promise.resolve();
169
-
170
- if (!(storyId == currentStory)) {
171
- _context2.next = 8;
172
- break;
173
- }
174
-
175
- _context2.next = 6;
176
- return resetCurrentStory(channel);
177
-
178
- case 6:
179
- _context2.next = 9;
180
- break;
181
-
182
- case 8:
183
- currentStory = storyId;
184
-
185
- case 9:
186
- renderPromise = waitForStoryRendered(channel);
187
- errorPromise = catchRenderError(channel);
188
- setTimeout(function () {
189
- return channel.emit(Events.SET_CURRENT_STORY, {
190
- storyId: storyId,
191
- name: name,
192
- kind: kind
193
- });
194
- }, 0);
195
- _context2.prev = 12;
196
- _context2.next = 15;
197
- return Promise.race([_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
198
- return regeneratorRuntime.wrap(function _callee$(_context) {
199
- while (1) {
200
- switch (_context.prev = _context.next) {
201
- case 0:
202
- _context.next = 2;
203
- return renderPromise;
204
-
205
- case 2:
206
- _context.next = 4;
207
- return waitForFontsLoaded();
208
-
209
- case 4:
210
- _context.next = 6;
211
- return waitForReady;
212
-
213
- case 6:
214
- case "end":
215
- return _context.stop();
216
- }
217
- }
218
- }, _callee);
219
- }))(), errorPromise]);
220
-
221
- case 15:
222
- callback();
223
- _context2.next = 22;
224
- break;
225
-
226
- case 18:
227
- _context2.prev = 18;
228
- _context2.t0 = _context2["catch"](12);
229
- // NOTE Event `STORY_THREW_EXCEPTION` triggered only in react and vue frameworks and return Error instance
230
- // NOTE Event `STORY_ERRORED` return error-like object without `name` field
231
- errorMessage = _context2.t0 instanceof Error ? (_reason$stack = _context2.t0.stack) !== null && _reason$stack !== void 0 ? _reason$stack : _context2.t0.message : (0, _types.isObject)(_context2.t0) ? "".concat(_context2.t0.message, "\n ").concat(_context2.t0.stack) : _context2.t0;
232
- callback(errorMessage);
233
-
234
- case 22:
235
- _context2.prev = 22;
236
- renderPromise.cancel();
237
- errorPromise.cancel();
238
- return _context2.finish(22);
239
-
240
- case 26:
241
- case "end":
242
- return _context2.stop();
243
- }
244
- }
245
- }, _callee2, null, [[12, 18, 22, 26]]);
246
- }));
247
- return _selectStory.apply(this, arguments);
248
- }
249
-
250
- function updateGlobals(globals) {
251
- _addons.addons.getChannel().emit(Events.UPDATE_GLOBALS, {
252
- globals: globals
253
- });
254
- }
255
-
256
- function insertIgnoreStyles(ignoreSelectors) {
257
- var stylesElement = document.createElement('style');
258
- stylesElement.setAttribute('type', 'text/css');
259
- document.head.appendChild(stylesElement);
260
- ignoreSelectors.forEach(function (selector) {
261
- 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 ");
262
- });
263
- return stylesElement;
264
- }
265
-
266
- function removeIgnoreStyles(ignoreStyles) {
267
- var _ignoreStyles$parentN;
268
-
269
- (_ignoreStyles$parentN = ignoreStyles.parentNode) === null || _ignoreStyles$parentN === void 0 ? void 0 : _ignoreStyles$parentN.removeChild(ignoreStyles);
270
- }
271
-
272
- window.__CREEVEY_SELECT_STORY__ = selectStory;
273
- window.__CREEVEY_UPDATE_GLOBALS__ = updateGlobals;
274
- window.__CREEVEY_INSERT_IGNORE_STYLES__ = insertIgnoreStyles;
275
- window.__CREEVEY_REMOVE_IGNORE_STYLES__ = removeIgnoreStyles;
276
- window.__CREEVEY_SET_READY_FOR_CAPTURE__ = _types.noop;
277
- return (0, _addons.makeDecorator)({
278
- name: 'withCreevey',
279
- parameterName: 'creevey',
280
- wrapper: function wrapper(getStory, context) {
281
- return getStory(context);
282
- }
283
- });
284
- }
@@ -1,85 +0,0 @@
1
- "use strict";
2
-
3
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.BlendView = void 0;
9
-
10
- var _react = _interopRequireWildcard(require("react"));
11
-
12
- var _ImagesView = require("./ImagesView");
13
-
14
- var _theming = require("@storybook/theming");
15
-
16
- var _helpers = require("../../helpers");
17
-
18
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
-
20
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
-
22
- var Container = _theming.styled.div({
23
- position: 'relative',
24
- display: 'flex',
25
- filter: 'invert(100%)'
26
- });
27
-
28
- var ImageContainer = _theming.styled.div({
29
- position: 'absolute',
30
- width: '100%',
31
- height: '100%',
32
- display: 'flex'
33
- });
34
-
35
- var Image = _theming.styled.img(function (_ref) {
36
- var borderColor = _ref.borderColor;
37
- return {
38
- boxSizing: 'border-box',
39
- border: "1px solid ".concat(borderColor),
40
- maxWidth: '100%',
41
- filter: 'invert(100%)'
42
- };
43
- });
44
-
45
- var ActualImage = (0, _theming.styled)(Image)({
46
- mixBlendMode: 'difference'
47
- });
48
- var DiffImage = (0, _theming.styled)(Image)({
49
- opacity: '0'
50
- });
51
- var BlendView = (0, _theming.withTheme)(function (_ref2) {
52
- var actual = _ref2.actual,
53
- diff = _ref2.diff,
54
- expect = _ref2.expect,
55
- theme = _ref2.theme;
56
- var expectImageRef = (0, _react.useRef)(null);
57
- var diffImageRef = (0, _react.useRef)(null);
58
- var actualImageRef = (0, _react.useRef)(null);
59
- var loaded = (0, _helpers.useLoadImages)(expect, diff, actual);
60
- var scale = (0, _helpers.useCalcScale)(diffImageRef, loaded);
61
- (0, _helpers.useApplyScale)(expectImageRef, scale, loaded);
62
- (0, _helpers.useApplyScale)(actualImageRef, scale, loaded);
63
- (0, _react.useEffect)(function () {
64
- var _window$__CREEVEY_SET, _window;
65
-
66
- if (loaded) (_window$__CREEVEY_SET = (_window = window).__CREEVEY_SET_READY_FOR_CAPTURE__) === null || _window$__CREEVEY_SET === void 0 ? void 0 : _window$__CREEVEY_SET.call(_window);
67
- }, [loaded]);
68
- return /*#__PURE__*/_react.default.createElement(Container, null, /*#__PURE__*/_react.default.createElement(ImageContainer, null, /*#__PURE__*/_react.default.createElement(Image, {
69
- ref: expectImageRef,
70
- borderColor: (0, _ImagesView.getBorderColor)(theme, _ImagesView.themeBorderColors.expect),
71
- alt: "expect",
72
- src: expect
73
- })), /*#__PURE__*/_react.default.createElement(DiffImage, {
74
- ref: diffImageRef,
75
- borderColor: 'transparent',
76
- alt: "diff",
77
- src: diff
78
- }), /*#__PURE__*/_react.default.createElement(ImageContainer, null, /*#__PURE__*/_react.default.createElement(ActualImage, {
79
- ref: actualImageRef,
80
- borderColor: (0, _ImagesView.getBorderColor)(theme, _ImagesView.themeBorderColors.actual),
81
- alt: "actual",
82
- src: actual
83
- })));
84
- });
85
- exports.BlendView = BlendView;
@@ -1,88 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getBorderColor = getBorderColor;
7
- exports.ImagesView = ImagesView;
8
- exports.themeBorderColors = void 0;
9
-
10
- var _react = _interopRequireDefault(require("react"));
11
-
12
- var _SideBySideView = require("./SideBySideView");
13
-
14
- var _SwapView = require("./SwapView");
15
-
16
- var _SlideView = require("./SlideView");
17
-
18
- var _BlendView = require("./BlendView");
19
-
20
- var _theming = require("@storybook/theming");
21
-
22
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
-
24
- var themeBorderColors = {
25
- actual: 'negative',
26
- expect: 'positive',
27
- diff: 'secondary'
28
- };
29
- exports.themeBorderColors = themeBorderColors;
30
-
31
- var isColor = function isColor(theme, color) {
32
- return color in theme.color;
33
- };
34
-
35
- function getBorderColor(theme, color) {
36
- return isColor(theme, color) ? theme.color[color] : color;
37
- }
38
-
39
- var views = {
40
- 'side-by-side': _SideBySideView.SideBySideView,
41
- swap: _SwapView.SwapView,
42
- slide: _SlideView.SlideView,
43
- blend: _BlendView.BlendView
44
- };
45
-
46
- var Container = _theming.styled.div({
47
- height: '100%',
48
- display: 'flex',
49
- textAlign: 'center',
50
- alignItems: 'center',
51
- justifyContent: 'center',
52
- padding: '0 20px'
53
- });
54
-
55
- var ImageLink = _theming.styled.a({
56
- lineHeight: 0
57
- });
58
-
59
- var ActualImage = (0, _theming.withTheme)(_theming.styled.img(function (_ref) {
60
- var theme = _ref.theme;
61
- return {
62
- border: "1px solid ".concat(getBorderColor(theme, themeBorderColors.expect)),
63
- maxWidth: '100%'
64
- };
65
- }));
66
-
67
- function ImagesView(_ref2) {
68
- var url = _ref2.url,
69
- image = _ref2.image,
70
- canApprove = _ref2.canApprove,
71
- mode = _ref2.mode;
72
- var ViewComponent = views[mode];
73
- var actual = image.actual,
74
- diff = image.diff,
75
- expect = image.expect;
76
- return /*#__PURE__*/_react.default.createElement(Container, null, canApprove && diff && expect ? /*#__PURE__*/_react.default.createElement(ViewComponent, {
77
- actual: "".concat(url, "/").concat(actual),
78
- diff: "".concat(url, "/").concat(diff),
79
- expect: "".concat(url, "/").concat(expect)
80
- }) : /*#__PURE__*/_react.default.createElement(ImageLink, {
81
- href: "".concat(url, "/").concat(actual),
82
- target: "_blank",
83
- rel: "noopener noreferrer"
84
- }, /*#__PURE__*/_react.default.createElement(ActualImage, {
85
- alt: "actual",
86
- src: "".concat(url, "/").concat(actual)
87
- })));
88
- }
@@ -1,176 +0,0 @@
1
- "use strict";
2
-
3
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.SideBySideView = void 0;
9
-
10
- var _react = _interopRequireWildcard(require("react"));
11
-
12
- var _ImagesView = require("./ImagesView");
13
-
14
- var _theming = require("@storybook/theming");
15
-
16
- var _helpers = require("../../helpers");
17
-
18
- var _components = require("@storybook/components");
19
-
20
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
-
22
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
-
24
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
25
-
26
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
27
-
28
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
29
-
30
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
31
-
32
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
33
-
34
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
35
-
36
- var Container = _theming.styled.div({
37
- display: 'flex',
38
- flexWrap: 'nowrap',
39
- alignItems: 'center',
40
- justifyContent: 'center',
41
- height: '100%',
42
- width: '100%'
43
- });
44
-
45
- var ImagesLayout = _theming.styled.div(function (_ref) {
46
- var layout = _ref.layout;
47
- return {
48
- display: 'flex',
49
- alignItems: 'flex-start',
50
- justifyContent: 'flex-start',
51
- flexDirection: layout == 'horizontal' ? 'row' : 'column',
52
- '& > :not(:first-of-type)': {
53
- marginLeft: layout == 'horizontal' ? '20px' : 0,
54
- marginTop: layout == 'horizontal' ? 0 : '20px'
55
- }
56
- };
57
- });
58
-
59
- var ImageLink = _theming.styled.a({
60
- lineHeight: 0,
61
- flexShrink: 0
62
- });
63
-
64
- var ImageDiffLink = _theming.styled.a({
65
- lineHeight: 0
66
- });
67
-
68
- var Image = _theming.styled.img(function (_ref2) {
69
- var borderColor = _ref2.borderColor;
70
- return {
71
- boxSizing: 'border-box',
72
- border: "1px solid ".concat(borderColor),
73
- maxWidth: '100%',
74
- flexShrink: 0
75
- };
76
- });
77
-
78
- var DiffImage = (0, _theming.styled)(Image)({
79
- flexShrink: 1
80
- });
81
- var SideBySideView = (0, _theming.withTheme)(function (_ref3) {
82
- var actual = _ref3.actual,
83
- diff = _ref3.diff,
84
- expect = _ref3.expect,
85
- theme = _ref3.theme;
86
-
87
- var _useState = (0, _react.useState)('horizontal'),
88
- _useState2 = _slicedToArray(_useState, 2),
89
- layout = _useState2[0],
90
- setLayout = _useState2[1];
91
-
92
- var _useState3 = (0, _react.useState)(1),
93
- _useState4 = _slicedToArray(_useState3, 2),
94
- scale = _useState4[0],
95
- setScale = _useState4[1];
96
-
97
- var containerRef = (0, _react.useRef)(null);
98
- var expectImageRef = (0, _react.useRef)(null);
99
- var diffImageRef = (0, _react.useRef)(null);
100
- var actualImageRef = (0, _react.useRef)(null);
101
- var loaded = (0, _helpers.useLoadImages)(expect, diff, actual);
102
- var calcScale = (0, _react.useCallback)(function () {
103
- var containerElement = containerRef.current;
104
- var expectImage = expectImageRef.current;
105
- var diffImage = diffImageRef.current;
106
- var actualImage = actualImageRef.current;
107
- if (!containerElement || !expectImage || !actualImage || !diffImage || !loaded) return setScale(1);
108
- var borderSize = (0, _helpers.getBorderSize)(diffImage);
109
-
110
- if (layout == 'vertical') {
111
- var ratio = (diffImage.getBoundingClientRect().width - borderSize * 2) / diffImage.naturalWidth;
112
- setScale(Math.min(1, ratio));
113
- }
114
-
115
- if (layout == 'horizontal') {
116
- var _ratio = // NOTE: 40px because we have two margins by 20px and 6px for borders
117
- (containerElement.getBoundingClientRect().width - 40 - borderSize * 6) / [expectImage, diffImage, actualImage].map(function (image) {
118
- return image.naturalWidth;
119
- }).reduce(function (a, b) {
120
- return a + b;
121
- }, 0);
122
-
123
- setScale(Math.min(1, _ratio));
124
- }
125
- }, [loaded, layout]);
126
- (0, _helpers.useResizeObserver)(containerRef, calcScale);
127
- (0, _react.useLayoutEffect)(calcScale, [calcScale]);
128
- (0, _react.useLayoutEffect)(function () {
129
- var diffImage = diffImageRef.current;
130
- if (!diffImage || !loaded) return;
131
- var ratio = diffImage.naturalWidth / diffImage.naturalHeight;
132
- setLayout(ratio >= 2 ? 'vertical' : 'horizontal');
133
- }, [loaded]);
134
- (0, _helpers.useApplyScale)(expectImageRef, scale);
135
- (0, _helpers.useApplyScale)(actualImageRef, scale);
136
- (0, _react.useEffect)(function () {
137
- var _window$__CREEVEY_SET, _window;
138
-
139
- if (loaded) (_window$__CREEVEY_SET = (_window = window).__CREEVEY_SET_READY_FOR_CAPTURE__) === null || _window$__CREEVEY_SET === void 0 ? void 0 : _window$__CREEVEY_SET.call(_window);
140
- }, [loaded]);
141
- return /*#__PURE__*/_react.default.createElement(Container, {
142
- ref: containerRef
143
- }, loaded ? /*#__PURE__*/_react.default.createElement(ImagesLayout, {
144
- layout: layout
145
- }, /*#__PURE__*/_react.default.createElement(ImageLink, {
146
- href: expect,
147
- target: "_blank",
148
- rel: "noopener noreferrer"
149
- }, /*#__PURE__*/_react.default.createElement(Image, {
150
- ref: expectImageRef,
151
- borderColor: (0, _ImagesView.getBorderColor)(theme, _ImagesView.themeBorderColors.expect),
152
- alt: "expect",
153
- src: expect
154
- })), /*#__PURE__*/_react.default.createElement(ImageDiffLink, {
155
- href: diff,
156
- target: "_blank",
157
- rel: "noopener noreferrer"
158
- }, /*#__PURE__*/_react.default.createElement(DiffImage, {
159
- ref: diffImageRef,
160
- borderColor: (0, _ImagesView.getBorderColor)(theme, _ImagesView.themeBorderColors.diff),
161
- alt: "diff",
162
- src: diff
163
- })), /*#__PURE__*/_react.default.createElement(ImageLink, {
164
- href: actual,
165
- target: "_blank",
166
- rel: "noopener noreferrer"
167
- }, /*#__PURE__*/_react.default.createElement(Image, {
168
- ref: actualImageRef,
169
- borderColor: (0, _ImagesView.getBorderColor)(theme, _ImagesView.themeBorderColors.actual),
170
- alt: "actual",
171
- src: actual
172
- }))) : /*#__PURE__*/_react.default.createElement(_components.Loader, {
173
- size: 64
174
- }));
175
- });
176
- exports.SideBySideView = SideBySideView;