creevey 0.9.0-beta.2 → 0.9.0-non-webpack.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 (236) hide show
  1. package/AUTHORS +15 -15
  2. package/CHANGELOG.md +1275 -1275
  3. package/LICENSE +21 -21
  4. package/README.md +7 -0
  5. package/addon/README.md +3 -0
  6. package/addon/package.json +4 -0
  7. package/docs/config.md +212 -212
  8. package/docs/grid.md +10 -10
  9. package/docs/tests.md +63 -63
  10. package/jest.config.js +6 -0
  11. package/lib/cjs/client/addon/Manager.js +123 -271
  12. package/lib/cjs/client/addon/components/Addon.js +17 -38
  13. package/lib/cjs/client/addon/components/Icons.js +12 -8
  14. package/lib/cjs/client/addon/components/Panel.js +17 -13
  15. package/lib/cjs/client/addon/components/TestSelect.js +11 -9
  16. package/lib/cjs/client/addon/components/Tools.js +21 -40
  17. package/lib/cjs/client/addon/decorator.js +1 -1
  18. package/lib/cjs/client/addon/index.js +31 -0
  19. package/lib/cjs/client/addon/preset.js +13 -32
  20. package/lib/cjs/client/addon/register.js +46 -70
  21. package/lib/cjs/client/addon/utils.js +1 -1
  22. package/lib/cjs/client/addon/withCreevey.js +164 -344
  23. package/lib/cjs/client/shared/components/ImagesView/BlendView.js +23 -21
  24. package/lib/cjs/client/shared/components/ImagesView/ImagesView.js +22 -18
  25. package/lib/cjs/client/shared/components/ImagesView/SideBySideView.js +42 -64
  26. package/lib/cjs/client/shared/components/ImagesView/SlideView.js +35 -48
  27. package/lib/cjs/client/shared/components/ImagesView/SwapView.js +24 -43
  28. package/lib/cjs/client/shared/components/ImagesView/index.js +9 -9
  29. package/lib/cjs/client/shared/components/PageFooter/PageFooter.js +12 -8
  30. package/lib/cjs/client/shared/components/PageFooter/Paging.js +14 -18
  31. package/lib/cjs/client/shared/components/PageHeader/ImagePreview.js +22 -18
  32. package/lib/cjs/client/shared/components/PageHeader/PageHeader.js +42 -67
  33. package/lib/cjs/client/shared/components/ResultsPage.js +39 -69
  34. package/lib/cjs/client/shared/creeveyClientApi.js +55 -82
  35. package/lib/cjs/client/shared/helpers.js +143 -214
  36. package/lib/cjs/client/shared/viewMode.js +5 -5
  37. package/lib/cjs/client/web/142.js +2 -0
  38. package/lib/cjs/client/web/142.js.LICENSE.txt +12 -0
  39. package/lib/cjs/client/web/32.js +1 -0
  40. package/lib/cjs/client/web/551.js +1 -0
  41. package/lib/cjs/client/web/566.js +2 -0
  42. package/lib/cjs/client/web/566.js.LICENSE.txt +31 -0
  43. package/lib/cjs/client/web/691.js +2 -0
  44. package/lib/cjs/client/web/691.js.LICENSE.txt +8 -0
  45. package/lib/cjs/client/web/725.js +1 -0
  46. package/lib/cjs/client/web/index.html +19 -19
  47. package/lib/cjs/client/web/main.js +2 -38
  48. package/lib/cjs/client/web/main.js.LICENSE.txt +49 -0
  49. package/lib/cjs/creevey.js +3 -5
  50. package/lib/cjs/index.js +4 -4
  51. package/lib/cjs/server/config.js +1 -1
  52. package/lib/cjs/server/docker.js +3 -7
  53. package/lib/cjs/server/index.js +1 -1
  54. package/lib/cjs/server/loaders/babel/creevey-plugin.js +1 -3
  55. package/lib/cjs/server/loaders/babel/helpers.js +13 -23
  56. package/lib/cjs/server/loaders/babel/register.js +1 -3
  57. package/lib/cjs/server/loaders/webpack/compile.js +31 -24
  58. package/lib/cjs/server/loaders/webpack/creevey-loader.js +10 -5
  59. package/lib/cjs/server/loaders/webpack/dummy-hmr.js +2 -7
  60. package/lib/cjs/server/loaders/webpack/mdx-loader.js +1 -1
  61. package/lib/cjs/server/loaders/webpack/start.js +1 -1
  62. package/lib/cjs/server/logger.js +2 -1
  63. package/lib/cjs/server/master/index.js +2 -2
  64. package/lib/cjs/server/master/pool.js +9 -18
  65. package/lib/cjs/server/master/runner.js +53 -66
  66. package/lib/cjs/server/master/server.js +2 -2
  67. package/lib/cjs/server/messages.js +8 -10
  68. package/lib/cjs/server/selenium/browser.js +23 -31
  69. package/lib/cjs/server/selenium/selenoid.js +5 -7
  70. package/lib/cjs/server/stories.js +9 -20
  71. package/lib/cjs/server/storybook/entry.js +5 -3
  72. package/lib/cjs/server/storybook/helpers.js +15 -21
  73. package/lib/cjs/server/storybook/providers/browser.js +5 -9
  74. package/lib/cjs/server/storybook/providers/nodejs.js +4 -4
  75. package/lib/cjs/server/update.js +1 -5
  76. package/lib/cjs/server/utils.js +13 -15
  77. package/lib/cjs/server/worker/reporter.js +8 -20
  78. package/lib/cjs/server/worker/worker.js +6 -16
  79. package/lib/cjs/shared/index.js +101 -0
  80. package/lib/cjs/shared/serializeRegExp.js +42 -0
  81. package/lib/cjs/types.js +6 -6
  82. package/lib/esm/client/addon/Manager.js +123 -271
  83. package/lib/esm/client/addon/components/Addon.js +15 -34
  84. package/lib/esm/client/addon/components/Icons.js +11 -7
  85. package/lib/esm/client/addon/components/Panel.js +17 -13
  86. package/lib/esm/client/addon/components/TestSelect.js +11 -9
  87. package/lib/esm/client/addon/components/Tools.js +19 -36
  88. package/lib/esm/client/addon/decorator.js +1 -1
  89. package/lib/esm/client/addon/index.js +2 -0
  90. package/lib/esm/client/addon/preset.js +10 -25
  91. package/lib/esm/client/addon/register.js +42 -66
  92. package/lib/esm/client/addon/utils.js +1 -1
  93. package/lib/esm/client/addon/withCreevey.js +157 -341
  94. package/lib/esm/client/shared/components/ImagesView/BlendView.js +21 -17
  95. package/lib/esm/client/shared/components/ImagesView/ImagesView.js +21 -17
  96. package/lib/esm/client/shared/components/ImagesView/SideBySideView.js +40 -60
  97. package/lib/esm/client/shared/components/ImagesView/SlideView.js +33 -44
  98. package/lib/esm/client/shared/components/ImagesView/SwapView.js +22 -39
  99. package/lib/esm/client/shared/components/PageFooter/PageFooter.js +12 -8
  100. package/lib/esm/client/shared/components/PageFooter/Paging.js +14 -18
  101. package/lib/esm/client/shared/components/PageHeader/ImagePreview.js +22 -18
  102. package/lib/esm/client/shared/components/PageHeader/PageHeader.js +37 -60
  103. package/lib/esm/client/shared/components/ResultsPage.js +36 -64
  104. package/lib/esm/client/shared/creeveyClientApi.js +57 -84
  105. package/lib/esm/client/shared/helpers.js +127 -198
  106. package/lib/esm/client/shared/viewMode.js +4 -4
  107. package/lib/esm/creevey.js +3 -5
  108. package/lib/esm/index.js +1 -3
  109. package/lib/esm/server/docker.js +2 -2
  110. package/lib/esm/server/index.js +1 -1
  111. package/lib/esm/server/loaders/babel/creevey-plugin.js +1 -3
  112. package/lib/esm/server/loaders/babel/helpers.js +12 -22
  113. package/lib/esm/server/loaders/babel/register.js +1 -3
  114. package/lib/esm/server/loaders/webpack/compile.js +31 -24
  115. package/lib/esm/server/loaders/webpack/creevey-loader.js +9 -4
  116. package/lib/esm/server/loaders/webpack/dummy-hmr.js +2 -6
  117. package/lib/esm/server/loaders/webpack/start.js +1 -1
  118. package/lib/esm/server/master/index.js +2 -2
  119. package/lib/esm/server/master/pool.js +7 -18
  120. package/lib/esm/server/master/runner.js +53 -66
  121. package/lib/esm/server/master/server.js +2 -2
  122. package/lib/esm/server/messages.js +3 -5
  123. package/lib/esm/server/selenium/browser.js +20 -28
  124. package/lib/esm/server/selenium/selenoid.js +4 -6
  125. package/lib/esm/server/stories.js +9 -20
  126. package/lib/esm/server/storybook/entry.js +4 -2
  127. package/lib/esm/server/storybook/helpers.js +7 -15
  128. package/lib/esm/server/storybook/providers/browser.js +4 -5
  129. package/lib/esm/server/storybook/providers/nodejs.js +3 -3
  130. package/lib/esm/server/update.js +1 -5
  131. package/lib/esm/server/utils.js +5 -9
  132. package/lib/esm/server/worker/reporter.js +8 -20
  133. package/lib/esm/server/worker/worker.js +6 -16
  134. package/lib/esm/shared/index.js +78 -0
  135. package/lib/esm/shared/serializeRegExp.js +24 -0
  136. package/lib/types/cli.d.ts +1 -1
  137. package/lib/types/client/addon/Manager.d.ts +37 -37
  138. package/lib/types/client/addon/components/Addon.d.ts +8 -8
  139. package/lib/types/client/addon/components/Icons.d.ts +7 -7
  140. package/lib/types/client/addon/components/Panel.d.ts +9 -9
  141. package/lib/types/client/addon/components/TestSelect.d.ts +8 -9
  142. package/lib/types/client/addon/components/Tools.d.ts +6 -6
  143. package/lib/types/client/addon/decorator.d.ts +1 -1
  144. package/lib/types/client/addon/index.d.ts +2 -0
  145. package/lib/types/client/addon/preset.d.ts +23 -24
  146. package/lib/types/client/addon/readyForCapture.d.ts +6 -6
  147. package/lib/types/client/addon/register.d.ts +3 -3
  148. package/lib/types/client/addon/utils.d.ts +2 -2
  149. package/lib/types/client/addon/withCreevey.d.ts +24 -24
  150. package/lib/types/client/shared/components/ImagesView/BlendView.d.ts +3 -3
  151. package/lib/types/client/shared/components/ImagesView/ImagesView.d.ts +24 -25
  152. package/lib/types/client/shared/components/ImagesView/SideBySideView.d.ts +3 -3
  153. package/lib/types/client/shared/components/ImagesView/SlideView.d.ts +3 -3
  154. package/lib/types/client/shared/components/ImagesView/SwapView.d.ts +3 -3
  155. package/lib/types/client/shared/components/ImagesView/index.d.ts +5 -5
  156. package/lib/types/client/shared/components/PageFooter/PageFooter.d.ts +8 -9
  157. package/lib/types/client/shared/components/PageFooter/Paging.d.ts +7 -8
  158. package/lib/types/client/shared/components/PageHeader/ImagePreview.d.ts +12 -12
  159. package/lib/types/client/shared/components/PageHeader/PageHeader.d.ts +16 -17
  160. package/lib/types/client/shared/components/ResultsPage.d.ts +18 -18
  161. package/lib/types/client/shared/creeveyClientApi.d.ts +9 -9
  162. package/lib/types/client/shared/helpers.d.ts +46 -46
  163. package/lib/types/client/shared/viewMode.d.ts +4 -4
  164. package/lib/types/client/web/CreeveyApp.d.ts +11 -12
  165. package/lib/types/client/web/CreeveyContext.d.ts +11 -11
  166. package/lib/types/client/web/CreeveyLoader.d.ts +2 -3
  167. package/lib/types/client/web/CreeveyView/SideBar/Checkbox.d.ts +19 -19
  168. package/lib/types/client/web/CreeveyView/SideBar/Search.d.ts +6 -6
  169. package/lib/types/client/web/CreeveyView/SideBar/SideBar.d.ts +14 -14
  170. package/lib/types/client/web/CreeveyView/SideBar/SideBarHeader.d.ts +12 -13
  171. package/lib/types/client/web/CreeveyView/SideBar/SuiteLink.d.ts +33 -33
  172. package/lib/types/client/web/CreeveyView/SideBar/TestLink.d.ts +7 -8
  173. package/lib/types/client/web/CreeveyView/SideBar/TestStatusIcon.d.ts +10 -10
  174. package/lib/types/client/web/CreeveyView/SideBar/TestsStatus.d.ts +9 -9
  175. package/lib/types/client/web/CreeveyView/SideBar/Toggle.d.ts +6 -6
  176. package/lib/types/client/web/CreeveyView/SideBar/index.d.ts +1 -1
  177. package/lib/types/client/web/KeyboardEventsContext.d.ts +13 -13
  178. package/lib/types/client/web/index.d.ts +4 -4
  179. package/lib/types/creevey.d.ts +1 -1
  180. package/lib/types/index.d.ts +0 -1
  181. package/lib/types/server/config.d.ts +4 -4
  182. package/lib/types/server/docker.d.ts +7 -7
  183. package/lib/types/server/extract.d.ts +2 -2
  184. package/lib/types/server/index.d.ts +2 -2
  185. package/lib/types/server/loaders/babel/creevey-plugin.d.ts +1 -1
  186. package/lib/types/server/loaders/babel/helpers.d.ts +19 -19
  187. package/lib/types/server/loaders/babel/register.d.ts +5 -5
  188. package/lib/types/server/loaders/hooks/mdx.d.ts +1 -1
  189. package/lib/types/server/loaders/hooks/svelte.d.ts +1 -1
  190. package/lib/types/server/loaders/webpack/compile.d.ts +2 -2
  191. package/lib/types/server/loaders/webpack/creevey-loader.d.ts +4 -2
  192. package/lib/types/server/loaders/webpack/dummy-hmr.d.ts +10 -10
  193. package/lib/types/server/loaders/webpack/mdx-loader.d.ts +6 -6
  194. package/lib/types/server/loaders/webpack/start.d.ts +1 -1
  195. package/lib/types/server/logger.d.ts +10 -6
  196. package/lib/types/server/master/api.d.ts +7 -7
  197. package/lib/types/server/master/index.d.ts +3 -3
  198. package/lib/types/server/master/master.d.ts +7 -7
  199. package/lib/types/server/master/pool.d.ts +31 -31
  200. package/lib/types/server/master/runner.d.ts +26 -26
  201. package/lib/types/server/master/server.d.ts +2 -2
  202. package/lib/types/server/messages.d.ts +27 -27
  203. package/lib/types/server/selenium/browser.d.ts +17 -17
  204. package/lib/types/server/selenium/index.d.ts +2 -2
  205. package/lib/types/server/selenium/selenoid.d.ts +3 -3
  206. package/lib/types/server/stories.d.ts +8 -8
  207. package/lib/types/server/storybook/entry.d.ts +18 -18
  208. package/lib/types/server/storybook/helpers.d.ts +24 -24
  209. package/lib/types/server/storybook/providers/browser.d.ts +4 -4
  210. package/lib/types/server/storybook/providers/hybrid.d.ts +4 -4
  211. package/lib/types/server/storybook/providers/nodejs.d.ts +9 -9
  212. package/lib/types/server/testsFiles/parser.d.ts +12 -12
  213. package/lib/types/server/testsFiles/register.d.ts +2 -2
  214. package/lib/types/server/update.d.ts +2 -2
  215. package/lib/types/server/utils.d.ts +20 -20
  216. package/lib/types/server/worker/chai-image.d.ts +6 -6
  217. package/lib/types/server/worker/helpers.d.ts +8 -8
  218. package/lib/types/server/worker/index.d.ts +1 -1
  219. package/lib/types/server/worker/reporter.d.ts +8 -8
  220. package/lib/types/server/worker/worker.d.ts +4 -4
  221. package/lib/types/{shared.d.ts → shared/index.d.ts} +7 -16
  222. package/lib/types/shared/serializeRegExp.d.ts +9 -0
  223. package/lib/types/types.d.ts +490 -489
  224. package/package.json +115 -102
  225. package/preset.js +9 -9
  226. package/types/babel__register.d.ts +1 -1
  227. package/types/chai.d.ts +12 -12
  228. package/types/event-source-polyfill.d.ts +6 -6
  229. package/types/mdx.d.ts +3 -2
  230. package/types/mocha.d.ts +20 -20
  231. package/types/png.d.ts +4 -4
  232. package/lib/cjs/client/web/1.js +0 -13
  233. package/lib/cjs/client/web/2.js +0 -1
  234. package/lib/cjs/shared.js +0 -124
  235. package/lib/esm/shared.js +0 -93
  236. package/storybook-static/stories.json +0 -21
@@ -3,19 +3,21 @@ import { getBorderColor, themeBorderColors } from './ImagesView';
3
3
  import { styled, withTheme } from '@storybook/theming';
4
4
  import { useApplyScale, useCalcScale, useLoadImages } from '../../helpers';
5
5
  import { readyForCapture } from '../../../addon/readyForCapture';
6
- var Container = styled.div({
6
+ const Container = styled.div({
7
7
  position: 'relative',
8
8
  display: 'flex',
9
9
  filter: 'invert(100%)'
10
10
  });
11
- var ImageContainer = styled.div({
11
+ const ImageContainer = styled.div({
12
12
  position: 'absolute',
13
13
  width: '100%',
14
14
  height: '100%',
15
15
  display: 'flex'
16
16
  });
17
- var Image = styled.img(function (_ref) {
18
- var borderColor = _ref.borderColor;
17
+ const Image = styled.img(_ref => {
18
+ let {
19
+ borderColor
20
+ } = _ref;
19
21
  return {
20
22
  boxSizing: 'border-box',
21
23
  border: "1px solid ".concat(borderColor),
@@ -23,25 +25,27 @@ var Image = styled.img(function (_ref) {
23
25
  filter: 'invert(100%)'
24
26
  };
25
27
  });
26
- var ActualImage = styled(Image)({
28
+ const ActualImage = styled(Image)({
27
29
  mixBlendMode: 'difference'
28
30
  });
29
- var DiffImage = styled(Image)({
31
+ const DiffImage = styled(Image)({
30
32
  opacity: '0'
31
33
  });
32
- export var BlendView = withTheme(function (_ref2) {
33
- var actual = _ref2.actual,
34
- diff = _ref2.diff,
35
- expect = _ref2.expect,
36
- theme = _ref2.theme;
37
- var expectImageRef = useRef(null);
38
- var diffImageRef = useRef(null);
39
- var actualImageRef = useRef(null);
40
- var loaded = useLoadImages(expect, diff, actual);
41
- var scale = useCalcScale(diffImageRef, loaded);
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);
42
46
  useApplyScale(expectImageRef, scale, loaded);
43
47
  useApplyScale(actualImageRef, scale, loaded);
44
- useEffect(function () {
48
+ useEffect(() => {
45
49
  if (loaded) readyForCapture();
46
50
  }, [loaded]);
47
51
  return /*#__PURE__*/React.createElement(Container, null, /*#__PURE__*/React.createElement(ImageContainer, null, /*#__PURE__*/React.createElement(Image, {
@@ -4,26 +4,24 @@ import { SwapView } from './SwapView';
4
4
  import { SlideView } from './SlideView';
5
5
  import { BlendView } from './BlendView';
6
6
  import { styled, withTheme } from '@storybook/theming';
7
- export var themeBorderColors = {
7
+ export const themeBorderColors = {
8
8
  actual: 'negative',
9
9
  expect: 'positive',
10
10
  diff: 'secondary'
11
11
  };
12
12
 
13
- var isColor = function isColor(theme, color) {
14
- return color in theme.color;
15
- };
13
+ const isColor = (theme, color) => color in theme.color;
16
14
 
17
15
  export function getBorderColor(theme, color) {
18
16
  return isColor(theme, color) ? theme.color[color] : color;
19
17
  }
20
- var views = {
18
+ const views = {
21
19
  'side-by-side': SideBySideView,
22
20
  swap: SwapView,
23
21
  slide: SlideView,
24
22
  blend: BlendView
25
23
  };
26
- var Container = styled.div({
24
+ const Container = styled.div({
27
25
  height: '100%',
28
26
  display: 'flex',
29
27
  textAlign: 'center',
@@ -31,25 +29,31 @@ var Container = styled.div({
31
29
  justifyContent: 'center',
32
30
  padding: '0 20px'
33
31
  });
34
- var ImageLink = styled.a({
32
+ const ImageLink = styled.a({
35
33
  lineHeight: 0
36
34
  });
37
- var ActualImage = withTheme(styled.img(function (_ref) {
38
- var theme = _ref.theme;
35
+ const ActualImage = withTheme(styled.img(_ref => {
36
+ let {
37
+ theme
38
+ } = _ref;
39
39
  return {
40
40
  border: "1px solid ".concat(getBorderColor(theme, themeBorderColors.expect)),
41
41
  maxWidth: '100%'
42
42
  };
43
43
  }));
44
44
  export function ImagesView(_ref2) {
45
- var url = _ref2.url,
46
- image = _ref2.image,
47
- canApprove = _ref2.canApprove,
48
- mode = _ref2.mode;
49
- var ViewComponent = views[mode];
50
- var actual = image.actual,
51
- diff = image.diff,
52
- expect = image.expect;
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;
53
57
  return /*#__PURE__*/React.createElement(Container, null, canApprove && diff && expect ? /*#__PURE__*/React.createElement(ViewComponent, {
54
58
  actual: "".concat(url, "/").concat(actual),
55
59
  diff: "".concat(url, "/").concat(diff),
@@ -1,22 +1,10 @@
1
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
-
3
- 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."); }
4
-
5
- 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); }
6
-
7
- 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; }
8
-
9
- 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; }
10
-
11
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
12
-
13
1
  import React, { useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';
14
2
  import { getBorderColor, themeBorderColors } from './ImagesView';
15
3
  import { styled, withTheme } from '@storybook/theming';
16
4
  import { useApplyScale, useLoadImages, useResizeObserver, getBorderSize } from '../../helpers';
17
5
  import { Loader } from '@storybook/components';
18
6
  import { readyForCapture } from '../../../addon/readyForCapture';
19
- var Container = styled.div({
7
+ const Container = styled.div({
20
8
  display: 'flex',
21
9
  flexWrap: 'nowrap',
22
10
  alignItems: 'center',
@@ -24,8 +12,10 @@ var Container = styled.div({
24
12
  height: '100%',
25
13
  width: '100%'
26
14
  });
27
- var ImagesLayout = styled.div(function (_ref) {
28
- var layout = _ref.layout;
15
+ const ImagesLayout = styled.div(_ref => {
16
+ let {
17
+ layout
18
+ } = _ref;
29
19
  return {
30
20
  display: 'flex',
31
21
  alignItems: 'flex-start',
@@ -37,15 +27,17 @@ var ImagesLayout = styled.div(function (_ref) {
37
27
  }
38
28
  };
39
29
  });
40
- var ImageLink = styled.a({
30
+ const ImageLink = styled.a({
41
31
  lineHeight: 0,
42
32
  flexShrink: 0
43
33
  });
44
- var ImageDiffLink = styled.a({
34
+ const ImageDiffLink = styled.a({
45
35
  lineHeight: 0
46
36
  });
47
- var Image = styled.img(function (_ref2) {
48
- var borderColor = _ref2.borderColor;
37
+ const Image = styled.img(_ref2 => {
38
+ let {
39
+ borderColor
40
+ } = _ref2;
49
41
  return {
50
42
  boxSizing: 'border-box',
51
43
  border: "1px solid ".concat(borderColor),
@@ -53,65 +45,53 @@ var Image = styled.img(function (_ref2) {
53
45
  flexShrink: 0
54
46
  };
55
47
  });
56
- var DiffImage = styled(Image)({
48
+ const DiffImage = styled(Image)({
57
49
  flexShrink: 1
58
50
  });
59
- export var SideBySideView = withTheme(function (_ref3) {
60
- var actual = _ref3.actual,
61
- diff = _ref3.diff,
62
- expect = _ref3.expect,
63
- theme = _ref3.theme;
64
-
65
- var _useState = useState('horizontal'),
66
- _useState2 = _slicedToArray(_useState, 2),
67
- layout = _useState2[0],
68
- setLayout = _useState2[1];
69
-
70
- var _useState3 = useState(1),
71
- _useState4 = _slicedToArray(_useState3, 2),
72
- scale = _useState4[0],
73
- setScale = _useState4[1];
74
-
75
- var containerRef = useRef(null);
76
- var expectImageRef = useRef(null);
77
- var diffImageRef = useRef(null);
78
- var actualImageRef = useRef(null);
79
- var loaded = useLoadImages(expect, diff, actual);
80
- var calcScale = useCallback(function () {
81
- var containerElement = containerRef.current;
82
- var expectImage = expectImageRef.current;
83
- var diffImage = diffImageRef.current;
84
- var actualImage = actualImageRef.current;
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;
85
70
  if (!containerElement || !expectImage || !actualImage || !diffImage || !loaded) return setScale(1);
86
- var borderSize = getBorderSize(diffImage);
71
+ const borderSize = getBorderSize(diffImage);
87
72
 
88
73
  if (layout == 'vertical') {
89
- var ratio = (diffImage.getBoundingClientRect().width - borderSize * 2) / diffImage.naturalWidth;
74
+ const ratio = (diffImage.getBoundingClientRect().width - borderSize * 2) / diffImage.naturalWidth;
90
75
  setScale(Math.min(1, ratio));
91
76
  }
92
77
 
93
78
  if (layout == 'horizontal') {
94
- var _ratio = // NOTE: 40px because we have two margins by 20px and 6px for borders
95
- (containerElement.getBoundingClientRect().width - 40 - borderSize * 6) / [expectImage, diffImage, actualImage].map(function (image) {
96
- return image.naturalWidth;
97
- }).reduce(function (a, b) {
98
- return a + b;
99
- }, 0);
100
-
101
- setScale(Math.min(1, _ratio));
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));
102
82
  }
103
83
  }, [loaded, layout]);
104
84
  useResizeObserver(containerRef, calcScale);
105
85
  useLayoutEffect(calcScale, [calcScale]);
106
- useLayoutEffect(function () {
107
- var diffImage = diffImageRef.current;
86
+ useLayoutEffect(() => {
87
+ const diffImage = diffImageRef.current;
108
88
  if (!diffImage || !loaded) return;
109
- var ratio = diffImage.naturalWidth / diffImage.naturalHeight;
89
+ const ratio = diffImage.naturalWidth / diffImage.naturalHeight;
110
90
  setLayout(ratio >= 2 ? 'vertical' : 'horizontal');
111
91
  }, [loaded]);
112
92
  useApplyScale(expectImageRef, scale);
113
93
  useApplyScale(actualImageRef, scale);
114
- useEffect(function () {
94
+ useEffect(() => {
115
95
  if (loaded) readyForCapture();
116
96
  }, [loaded]);
117
97
  return /*#__PURE__*/React.createElement(Container, {
@@ -1,26 +1,14 @@
1
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
-
3
- 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."); }
4
-
5
- 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); }
6
-
7
- 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; }
8
-
9
- 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; }
10
-
11
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
12
-
13
1
  import React, { useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';
14
2
  import { styled, withTheme } from '@storybook/theming';
15
3
  import { getBorderColor, themeBorderColors } from './ImagesView';
16
4
  import { useApplyScale, useCalcScale, useLoadImages } from '../../helpers';
17
5
  import { Loader } from '@storybook/components';
18
6
  import { readyForCapture } from '../../../addon/readyForCapture';
19
- var Container = styled.div({
7
+ const Container = styled.div({
20
8
  position: 'relative',
21
9
  display: 'flex'
22
10
  });
23
- var Input = styled.input({
11
+ const Input = styled.input({
24
12
  position: 'absolute',
25
13
  cursor: 'ew-resize',
26
14
  appearance: 'none',
@@ -53,14 +41,16 @@ var Input = styled.input({
53
41
  width: '0px'
54
42
  }
55
43
  });
56
- var ImageContainer = styled.div({
44
+ const ImageContainer = styled.div({
57
45
  position: 'absolute',
58
46
  width: '100%',
59
47
  height: '100%',
60
48
  overflow: 'hidden'
61
49
  });
62
- var ImageWrapper = withTheme(styled.div(function (_ref) {
63
- var theme = _ref.theme;
50
+ const ImageWrapper = withTheme(styled.div(_ref => {
51
+ let {
52
+ theme
53
+ } = _ref;
64
54
  return {
65
55
  background: theme.base == 'light' ? theme.color.mediumlight : theme.color.darker,
66
56
  position: 'relative',
@@ -69,56 +59,55 @@ var ImageWrapper = withTheme(styled.div(function (_ref) {
69
59
  display: 'flex'
70
60
  };
71
61
  }));
72
- var BaseImage = styled.img(function (_ref2) {
73
- var borderColor = _ref2.borderColor;
62
+ const BaseImage = styled.img(_ref2 => {
63
+ let {
64
+ borderColor
65
+ } = _ref2;
74
66
  return {
75
67
  boxSizing: 'border-box',
76
68
  border: "1px solid ".concat(borderColor),
77
69
  maxWidth: '100%'
78
70
  };
79
71
  });
80
- var Image = styled(BaseImage)({
72
+ const Image = styled(BaseImage)({
81
73
  position: 'absolute'
82
74
  });
83
- var DiffImage = styled(BaseImage)({
75
+ const DiffImage = styled(BaseImage)({
84
76
  opacity: '0'
85
77
  });
86
- export var SlideView = withTheme(function (_ref3) {
87
- var actual = _ref3.actual,
88
- diff = _ref3.diff,
89
- expect = _ref3.expect,
90
- theme = _ref3.theme;
91
-
92
- var _useState = useState(0),
93
- _useState2 = _slicedToArray(_useState, 2),
94
- step = _useState2[0],
95
- setStep = _useState2[1];
96
-
97
- var expectedImageContainerRef = useRef(null);
98
- var expectedImageWrapperRef = useRef(null);
99
- var expectImageRef = useRef(null);
100
- var diffImageRef = useRef(null);
101
- var actualImageRef = useRef(null);
102
- var loaded = useLoadImages(expect, diff, actual);
103
- var scale = useCalcScale(diffImageRef, loaded);
78
+ export const SlideView = withTheme(_ref3 => {
79
+ let {
80
+ actual,
81
+ diff,
82
+ expect,
83
+ theme
84
+ } = _ref3;
85
+ const [step, setStep] = useState(0);
86
+ const expectedImageContainerRef = useRef(null);
87
+ const expectedImageWrapperRef = useRef(null);
88
+ const expectImageRef = useRef(null);
89
+ const diffImageRef = useRef(null);
90
+ const actualImageRef = useRef(null);
91
+ const loaded = useLoadImages(expect, diff, actual);
92
+ const scale = useCalcScale(diffImageRef, loaded);
104
93
  useApplyScale(expectImageRef, scale);
105
94
  useApplyScale(actualImageRef, scale);
106
- var handleSlide = useCallback(function (event) {
95
+ const handleSlide = useCallback(event => {
107
96
  if (!expectedImageContainerRef.current || !expectedImageWrapperRef.current) return;
108
- var offset = Number(event.target.value);
97
+ const offset = Number(event.target.value);
109
98
  expectedImageContainerRef.current.style.right = "".concat(100 - offset, "%");
110
99
  expectedImageWrapperRef.current.style.left = "".concat(100 - offset, "%");
111
100
  }, []);
112
- useLayoutEffect(function () {
101
+ useLayoutEffect(() => {
113
102
  if (loaded && diffImageRef.current) setStep(100 / diffImageRef.current.getBoundingClientRect().width);
114
103
  }, [loaded, scale]);
115
- useLayoutEffect(function () {
104
+ useLayoutEffect(() => {
116
105
  if (loaded && expectedImageContainerRef.current && expectedImageWrapperRef.current) {
117
106
  expectedImageContainerRef.current.style.right = '100%';
118
107
  expectedImageWrapperRef.current.style.left = '100%';
119
108
  }
120
109
  }, [loaded]);
121
- useEffect(function () {
110
+ useEffect(() => {
122
111
  if (loaded) readyForCapture();
123
112
  }, [loaded]);
124
113
  return loaded ? /*#__PURE__*/React.createElement(Container, null, /*#__PURE__*/React.createElement(Input, {
@@ -1,66 +1,49 @@
1
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
-
3
- 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."); }
4
-
5
- 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); }
6
-
7
- 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; }
8
-
9
- 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; }
10
-
11
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
12
-
13
1
  import React, { useCallback, useEffect, useRef, useState } from 'react';
14
2
  import { getBorderColor, themeBorderColors } from './ImagesView';
15
3
  import { styled, withTheme } from '@storybook/theming';
16
4
  import { useApplyScale, useCalcScale, useLoadImages } from '../../helpers';
17
5
  import { Loader } from '@storybook/components';
18
6
  import { readyForCapture } from '../../../addon/readyForCapture';
19
- var Container = styled.div({
7
+ const Container = styled.div({
20
8
  position: 'relative',
21
9
  display: 'flex'
22
10
  });
23
- var BaseImage = styled.img(function (_ref) {
24
- var borderColor = _ref.borderColor;
11
+ const BaseImage = styled.img(_ref => {
12
+ let {
13
+ borderColor
14
+ } = _ref;
25
15
  return {
26
16
  boxSizing: 'border-box',
27
17
  border: "1px solid ".concat(borderColor),
28
18
  maxWidth: '100%'
29
19
  };
30
20
  });
31
- var Image = styled(BaseImage)({
21
+ const Image = styled(BaseImage)({
32
22
  position: 'absolute'
33
23
  });
34
- var DiffImage = styled(BaseImage)({
24
+ const DiffImage = styled(BaseImage)({
35
25
  cursor: 'pointer',
36
26
  outline: 'none',
37
27
  opacity: 0,
38
28
  zIndex: 1
39
29
  });
40
- export var SwapView = withTheme(function (_ref2) {
41
- var theme = _ref2.theme,
42
- expect = _ref2.expect,
43
- actual = _ref2.actual,
44
- diff = _ref2.diff;
45
-
46
- var _useState = useState('actual'),
47
- _useState2 = _slicedToArray(_useState, 2),
48
- image = _useState2[0],
49
- setImage = _useState2[1];
50
-
51
- var expectImageRef = useRef(null);
52
- var diffImageRef = useRef(null);
53
- var actualImageRef = useRef(null);
54
- var loaded = useLoadImages(expect, diff, actual);
55
- var scale = useCalcScale(diffImageRef, loaded);
30
+ export const SwapView = withTheme(_ref2 => {
31
+ let {
32
+ theme,
33
+ expect,
34
+ actual,
35
+ diff
36
+ } = _ref2;
37
+ const [image, setImage] = useState('actual');
38
+ const expectImageRef = useRef(null);
39
+ const diffImageRef = useRef(null);
40
+ const actualImageRef = useRef(null);
41
+ const loaded = useLoadImages(expect, diff, actual);
42
+ const scale = useCalcScale(diffImageRef, loaded);
56
43
  useApplyScale(expectImageRef, scale, image);
57
44
  useApplyScale(actualImageRef, scale, image);
58
- var handleChangeView = useCallback(function () {
59
- return setImage(function (prevImage) {
60
- return prevImage == 'actual' ? 'expect' : 'actual';
61
- });
62
- }, []);
63
- useEffect(function () {
45
+ const handleChangeView = useCallback(() => setImage(prevImage => prevImage == 'actual' ? 'expect' : 'actual'), []);
46
+ useEffect(() => {
64
47
  if (loaded) readyForCapture();
65
48
  }, [loaded]);
66
49
  return loaded ? /*#__PURE__*/React.createElement(Container, null, /*#__PURE__*/React.createElement(Image, {
@@ -2,8 +2,10 @@ import React from 'react';
2
2
  import { Paging } from './Paging';
3
3
  import { styled, withTheme } from '@storybook/theming';
4
4
  import { Button } from '@storybook/components';
5
- var Container = withTheme(styled.div(function (_ref) {
6
- var theme = _ref.theme;
5
+ const Container = withTheme(styled.div(_ref => {
6
+ let {
7
+ theme
8
+ } = _ref;
7
9
  return {
8
10
  display: 'flex',
9
11
  padding: '20px',
@@ -11,15 +13,17 @@ var Container = withTheme(styled.div(function (_ref) {
11
13
  background: theme.background.content
12
14
  };
13
15
  }));
14
- var StyledButton = styled(Button)({
16
+ const StyledButton = styled(Button)({
15
17
  transform: 'none'
16
18
  });
17
19
  export function PageFooter(_ref2) {
18
- var canApprove = _ref2.canApprove,
19
- retriesCount = _ref2.retriesCount,
20
- retry = _ref2.retry,
21
- onRetryChange = _ref2.onRetryChange,
22
- onApprove = _ref2.onApprove;
20
+ let {
21
+ canApprove,
22
+ retriesCount,
23
+ retry,
24
+ onRetryChange,
25
+ onApprove
26
+ } = _ref2;
23
27
  return /*#__PURE__*/React.createElement(Container, null, /*#__PURE__*/React.createElement(Paging, {
24
28
  activePage: retry,
25
29
  onPageChange: onRetryChange,
@@ -2,12 +2,12 @@ import React from 'react';
2
2
  import { Button, Icons } from '@storybook/components';
3
3
  import { noop } from '../../../../types';
4
4
  import { styled } from '@storybook/theming';
5
- var StyledButton = styled(Button)({
5
+ const StyledButton = styled(Button)({
6
6
  transform: 'none',
7
7
  marginLeft: '8px'
8
8
  });
9
9
  export function Paging(props) {
10
- var renderItem = function renderItem(item, index) {
10
+ const renderItem = (item, index) => {
11
11
  switch (item) {
12
12
  case '.':
13
13
  {
@@ -19,13 +19,11 @@ export function Paging(props) {
19
19
 
20
20
  case 'forward':
21
21
  {
22
- var disabled = props.activePage === props.pagesCount;
22
+ const disabled = props.activePage === props.pagesCount;
23
23
  return /*#__PURE__*/React.createElement(StyledButton, {
24
24
  outline: true,
25
25
  disabled: disabled,
26
- onClick: disabled ? noop : function () {
27
- return goToPage(props.activePage + 1);
28
- },
26
+ onClick: disabled ? noop : () => goToPage(props.activePage + 1),
29
27
  key: "forward"
30
28
  }, /*#__PURE__*/React.createElement("span", null, "Next ", /*#__PURE__*/React.createElement(Icons, {
31
29
  icon: "arrowright"
@@ -38,15 +36,13 @@ export function Paging(props) {
38
36
  outline: true,
39
37
  secondary: props.activePage === item,
40
38
  key: item,
41
- onClick: function onClick() {
42
- return goToPage(item);
43
- }
39
+ onClick: () => goToPage(item)
44
40
  }, item);
45
41
  }
46
42
  }
47
43
  };
48
44
 
49
- var goToPage = function goToPage(pageNumber) {
45
+ const goToPage = pageNumber => {
50
46
  if (1 <= pageNumber && pageNumber !== props.activePage && pageNumber <= props.pagesCount) {
51
47
  props.onPageChange(pageNumber);
52
48
  }
@@ -56,19 +52,19 @@ export function Paging(props) {
56
52
  }
57
53
 
58
54
  function getItems(active, total) {
59
- var result = [];
60
- var left = Math.max(Math.min(active - 2, total - 4), 1);
61
- var right = Math.min(Math.max(5, active + 2), total);
62
- var hasLeftDots = left > 3;
63
- var from = hasLeftDots ? left : 1;
64
- var hasRightDots = right < total - 2;
65
- var to = hasRightDots ? right : total;
55
+ const result = [];
56
+ const left = Math.max(Math.min(active - 2, total - 4), 1);
57
+ const right = Math.min(Math.max(5, active + 2), total);
58
+ const hasLeftDots = left > 3;
59
+ const from = hasLeftDots ? left : 1;
60
+ const hasRightDots = right < total - 2;
61
+ const to = hasRightDots ? right : total;
66
62
 
67
63
  if (hasLeftDots) {
68
64
  result.push(1, '.');
69
65
  }
70
66
 
71
- for (var i = from; i <= to; ++i) {
67
+ for (let i = from; i <= to; ++i) {
72
68
  result.push(i);
73
69
  }
74
70