creevey 0.9.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 (148) hide show
  1. package/lib/types/index.d.ts +4 -3
  2. package/lib/types/server/config.d.ts +1 -1
  3. package/lib/types/server/messages.d.ts +0 -1
  4. package/lib/types/server/{parser.d.ts → testsFiles/parser.d.ts} +1 -1
  5. package/lib/types/server/testsFiles/register.d.ts +2 -0
  6. package/lib/types/types.d.ts +3 -2
  7. package/package.json +5 -2
  8. package/lib/cjs/cli.js +0 -5
  9. package/lib/cjs/client/addon/Manager.js +0 -412
  10. package/lib/cjs/client/addon/components/Addon.js +0 -76
  11. package/lib/cjs/client/addon/components/Icons.js +0 -42
  12. package/lib/cjs/client/addon/components/Panel.js +0 -68
  13. package/lib/cjs/client/addon/components/TestSelect.js +0 -63
  14. package/lib/cjs/client/addon/components/Tools.js +0 -114
  15. package/lib/cjs/client/addon/decorator.js +0 -11
  16. package/lib/cjs/client/addon/preset.js +0 -81
  17. package/lib/cjs/client/addon/readyForCapture.js +0 -12
  18. package/lib/cjs/client/addon/register.js +0 -96
  19. package/lib/cjs/client/addon/utils.js +0 -38
  20. package/lib/cjs/client/addon/withCreevey.js +0 -556
  21. package/lib/cjs/client/shared/components/ImagesView/BlendView.js +0 -85
  22. package/lib/cjs/client/shared/components/ImagesView/ImagesView.js +0 -88
  23. package/lib/cjs/client/shared/components/ImagesView/SideBySideView.js +0 -176
  24. package/lib/cjs/client/shared/components/ImagesView/SlideView.js +0 -179
  25. package/lib/cjs/client/shared/components/ImagesView/SwapView.js +0 -110
  26. package/lib/cjs/client/shared/components/ImagesView/index.js +0 -45
  27. package/lib/cjs/client/shared/components/PageFooter/PageFooter.js +0 -46
  28. package/lib/cjs/client/shared/components/PageFooter/Paging.js +0 -98
  29. package/lib/cjs/client/shared/components/PageHeader/ImagePreview.js +0 -78
  30. package/lib/cjs/client/shared/components/PageHeader/PageHeader.js +0 -144
  31. package/lib/cjs/client/shared/components/ResultsPage.js +0 -173
  32. package/lib/cjs/client/shared/creeveyClientApi.js +0 -103
  33. package/lib/cjs/client/shared/helpers.js +0 -482
  34. package/lib/cjs/client/shared/viewMode.js +0 -17
  35. package/lib/cjs/client/web/index.html +0 -19
  36. package/lib/cjs/creevey.js +0 -71
  37. package/lib/cjs/index.js +0 -62
  38. package/lib/cjs/server/config.js +0 -96
  39. package/lib/cjs/server/docker.js +0 -150
  40. package/lib/cjs/server/extract.js +0 -50
  41. package/lib/cjs/server/index.js +0 -83
  42. package/lib/cjs/server/loaders/babel/creevey-plugin.js +0 -88
  43. package/lib/cjs/server/loaders/babel/helpers.js +0 -479
  44. package/lib/cjs/server/loaders/babel/register.js +0 -126
  45. package/lib/cjs/server/loaders/hooks/mdx.js +0 -30
  46. package/lib/cjs/server/loaders/hooks/svelte.js +0 -65
  47. package/lib/cjs/server/loaders/webpack/compile.js +0 -286
  48. package/lib/cjs/server/loaders/webpack/creevey-loader.js +0 -174
  49. package/lib/cjs/server/loaders/webpack/dummy-hmr.js +0 -44
  50. package/lib/cjs/server/loaders/webpack/mdx-loader.js +0 -72
  51. package/lib/cjs/server/loaders/webpack/start.js +0 -41
  52. package/lib/cjs/server/logger.js +0 -47
  53. package/lib/cjs/server/master/api.js +0 -71
  54. package/lib/cjs/server/master/index.js +0 -146
  55. package/lib/cjs/server/master/master.js +0 -57
  56. package/lib/cjs/server/master/pool.js +0 -206
  57. package/lib/cjs/server/master/runner.js +0 -294
  58. package/lib/cjs/server/master/server.js +0 -129
  59. package/lib/cjs/server/messages.js +0 -266
  60. package/lib/cjs/server/parser.js +0 -85
  61. package/lib/cjs/server/selenium/browser.js +0 -680
  62. package/lib/cjs/server/selenium/index.js +0 -31
  63. package/lib/cjs/server/selenium/selenoid.js +0 -174
  64. package/lib/cjs/server/stories.js +0 -170
  65. package/lib/cjs/server/storybook/entry.js +0 -68
  66. package/lib/cjs/server/storybook/helpers.js +0 -165
  67. package/lib/cjs/server/storybook/providers/browser.js +0 -78
  68. package/lib/cjs/server/storybook/providers/hybrid.js +0 -79
  69. package/lib/cjs/server/storybook/providers/nodejs.js +0 -239
  70. package/lib/cjs/server/update.js +0 -83
  71. package/lib/cjs/server/utils.js +0 -185
  72. package/lib/cjs/server/worker/chai-image.js +0 -142
  73. package/lib/cjs/server/worker/helpers.js +0 -69
  74. package/lib/cjs/server/worker/index.js +0 -15
  75. package/lib/cjs/server/worker/reporter.js +0 -120
  76. package/lib/cjs/server/worker/worker.js +0 -278
  77. package/lib/cjs/shared.js +0 -107
  78. package/lib/cjs/types.js +0 -74
  79. package/lib/esm/cli.js +0 -4
  80. package/lib/esm/client/addon/Manager.js +0 -396
  81. package/lib/esm/client/addon/components/Addon.js +0 -58
  82. package/lib/esm/client/addon/components/Icons.js +0 -27
  83. package/lib/esm/client/addon/components/Panel.js +0 -49
  84. package/lib/esm/client/addon/components/TestSelect.js +0 -49
  85. package/lib/esm/client/addon/components/Tools.js +0 -91
  86. package/lib/esm/client/addon/decorator.js +0 -2
  87. package/lib/esm/client/addon/preset.js +0 -56
  88. package/lib/esm/client/addon/readyForCapture.js +0 -5
  89. package/lib/esm/client/addon/register.js +0 -75
  90. package/lib/esm/client/addon/utils.js +0 -31
  91. package/lib/esm/client/addon/withCreevey.js +0 -532
  92. package/lib/esm/client/shared/components/ImagesView/BlendView.js +0 -63
  93. package/lib/esm/client/shared/components/ImagesView/ImagesView.js +0 -65
  94. package/lib/esm/client/shared/components/ImagesView/SideBySideView.js +0 -151
  95. package/lib/esm/client/shared/components/ImagesView/SlideView.js +0 -154
  96. package/lib/esm/client/shared/components/ImagesView/SwapView.js +0 -88
  97. package/lib/esm/client/shared/components/ImagesView/index.js +0 -5
  98. package/lib/esm/client/shared/components/PageFooter/PageFooter.js +0 -32
  99. package/lib/esm/client/shared/components/PageFooter/Paging.js +0 -84
  100. package/lib/esm/client/shared/components/PageHeader/ImagePreview.js +0 -64
  101. package/lib/esm/client/shared/components/PageHeader/PageHeader.js +0 -120
  102. package/lib/esm/client/shared/components/ResultsPage.js +0 -143
  103. package/lib/esm/client/shared/creeveyClientApi.js +0 -94
  104. package/lib/esm/client/shared/helpers.js +0 -424
  105. package/lib/esm/client/shared/viewMode.js +0 -6
  106. package/lib/esm/creevey.js +0 -56
  107. package/lib/esm/index.js +0 -7
  108. package/lib/esm/server/config.js +0 -73
  109. package/lib/esm/server/docker.js +0 -123
  110. package/lib/esm/server/extract.js +0 -34
  111. package/lib/esm/server/index.js +0 -64
  112. package/lib/esm/server/loaders/babel/creevey-plugin.js +0 -74
  113. package/lib/esm/server/loaders/babel/helpers.js +0 -462
  114. package/lib/esm/server/loaders/babel/register.js +0 -105
  115. package/lib/esm/server/loaders/hooks/mdx.js +0 -15
  116. package/lib/esm/server/loaders/hooks/svelte.js +0 -49
  117. package/lib/esm/server/loaders/webpack/compile.js +0 -263
  118. package/lib/esm/server/loaders/webpack/creevey-loader.js +0 -153
  119. package/lib/esm/server/loaders/webpack/dummy-hmr.js +0 -36
  120. package/lib/esm/server/loaders/webpack/mdx-loader.js +0 -58
  121. package/lib/esm/server/loaders/webpack/start.js +0 -27
  122. package/lib/esm/server/logger.js +0 -20
  123. package/lib/esm/server/master/api.js +0 -60
  124. package/lib/esm/server/master/index.js +0 -125
  125. package/lib/esm/server/master/master.js +0 -38
  126. package/lib/esm/server/master/pool.js +0 -187
  127. package/lib/esm/server/master/runner.js +0 -272
  128. package/lib/esm/server/master/server.js +0 -105
  129. package/lib/esm/server/messages.js +0 -234
  130. package/lib/esm/server/parser.js +0 -63
  131. package/lib/esm/server/selenium/browser.js +0 -647
  132. package/lib/esm/server/selenium/index.js +0 -2
  133. package/lib/esm/server/selenium/selenoid.js +0 -151
  134. package/lib/esm/server/stories.js +0 -151
  135. package/lib/esm/server/storybook/entry.js +0 -44
  136. package/lib/esm/server/storybook/helpers.js +0 -106
  137. package/lib/esm/server/storybook/providers/browser.js +0 -61
  138. package/lib/esm/server/storybook/providers/hybrid.js +0 -63
  139. package/lib/esm/server/storybook/providers/nodejs.js +0 -217
  140. package/lib/esm/server/update.js +0 -65
  141. package/lib/esm/server/utils.js +0 -146
  142. package/lib/esm/server/worker/chai-image.js +0 -130
  143. package/lib/esm/server/worker/helpers.js +0 -60
  144. package/lib/esm/server/worker/index.js +0 -1
  145. package/lib/esm/server/worker/reporter.js +0 -98
  146. package/lib/esm/server/worker/worker.js +0 -248
  147. package/lib/esm/shared.js +0 -76
  148. package/lib/esm/types.js +0 -43
@@ -1,151 +0,0 @@
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
- import React, { useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';
14
- import { getBorderColor, themeBorderColors } from './ImagesView';
15
- import { styled, withTheme } from '@storybook/theming';
16
- import { useApplyScale, useLoadImages, useResizeObserver, getBorderSize } from '../../helpers';
17
- import { Loader } from '@storybook/components';
18
- import { readyForCapture } from '../../../addon/readyForCapture';
19
- var Container = styled.div({
20
- display: 'flex',
21
- flexWrap: 'nowrap',
22
- alignItems: 'center',
23
- justifyContent: 'center',
24
- height: '100%',
25
- width: '100%'
26
- });
27
- var ImagesLayout = styled.div(function (_ref) {
28
- var layout = _ref.layout;
29
- return {
30
- display: 'flex',
31
- alignItems: 'flex-start',
32
- justifyContent: 'flex-start',
33
- flexDirection: layout == 'horizontal' ? 'row' : 'column',
34
- '& > :not(:first-of-type)': {
35
- marginLeft: layout == 'horizontal' ? '20px' : 0,
36
- marginTop: layout == 'horizontal' ? 0 : '20px'
37
- }
38
- };
39
- });
40
- var ImageLink = styled.a({
41
- lineHeight: 0,
42
- flexShrink: 0
43
- });
44
- var ImageDiffLink = styled.a({
45
- lineHeight: 0
46
- });
47
- var Image = styled.img(function (_ref2) {
48
- var borderColor = _ref2.borderColor;
49
- return {
50
- boxSizing: 'border-box',
51
- border: "1px solid ".concat(borderColor),
52
- maxWidth: '100%',
53
- flexShrink: 0
54
- };
55
- });
56
- var DiffImage = styled(Image)({
57
- flexShrink: 1
58
- });
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;
85
- if (!containerElement || !expectImage || !actualImage || !diffImage || !loaded) return setScale(1);
86
- var borderSize = getBorderSize(diffImage);
87
-
88
- if (layout == 'vertical') {
89
- var ratio = (diffImage.getBoundingClientRect().width - borderSize * 2) / diffImage.naturalWidth;
90
- setScale(Math.min(1, ratio));
91
- }
92
-
93
- 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));
102
- }
103
- }, [loaded, layout]);
104
- useResizeObserver(containerRef, calcScale);
105
- useLayoutEffect(calcScale, [calcScale]);
106
- useLayoutEffect(function () {
107
- var diffImage = diffImageRef.current;
108
- if (!diffImage || !loaded) return;
109
- var ratio = diffImage.naturalWidth / diffImage.naturalHeight;
110
- setLayout(ratio >= 2 ? 'vertical' : 'horizontal');
111
- }, [loaded]);
112
- useApplyScale(expectImageRef, scale);
113
- useApplyScale(actualImageRef, scale);
114
- useEffect(function () {
115
- if (loaded) readyForCapture();
116
- }, [loaded]);
117
- return /*#__PURE__*/React.createElement(Container, {
118
- ref: containerRef
119
- }, loaded ? /*#__PURE__*/React.createElement(ImagesLayout, {
120
- layout: layout
121
- }, /*#__PURE__*/React.createElement(ImageLink, {
122
- href: expect,
123
- target: "_blank",
124
- rel: "noopener noreferrer"
125
- }, /*#__PURE__*/React.createElement(Image, {
126
- ref: expectImageRef,
127
- borderColor: getBorderColor(theme, themeBorderColors.expect),
128
- alt: "expect",
129
- src: expect
130
- })), /*#__PURE__*/React.createElement(ImageDiffLink, {
131
- href: diff,
132
- target: "_blank",
133
- rel: "noopener noreferrer"
134
- }, /*#__PURE__*/React.createElement(DiffImage, {
135
- ref: diffImageRef,
136
- borderColor: getBorderColor(theme, themeBorderColors.diff),
137
- alt: "diff",
138
- src: diff
139
- })), /*#__PURE__*/React.createElement(ImageLink, {
140
- href: actual,
141
- target: "_blank",
142
- rel: "noopener noreferrer"
143
- }, /*#__PURE__*/React.createElement(Image, {
144
- ref: actualImageRef,
145
- borderColor: getBorderColor(theme, themeBorderColors.actual),
146
- alt: "actual",
147
- src: actual
148
- }))) : /*#__PURE__*/React.createElement(Loader, {
149
- size: 64
150
- }));
151
- });
@@ -1,154 +0,0 @@
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
- import React, { useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';
14
- import { styled, withTheme } from '@storybook/theming';
15
- import { getBorderColor, themeBorderColors } from './ImagesView';
16
- import { useApplyScale, useCalcScale, useLoadImages } from '../../helpers';
17
- import { Loader } from '@storybook/components';
18
- import { readyForCapture } from '../../../addon/readyForCapture';
19
- var Container = styled.div({
20
- position: 'relative',
21
- display: 'flex'
22
- });
23
- var Input = styled.input({
24
- position: 'absolute',
25
- cursor: 'ew-resize',
26
- appearance: 'none',
27
- background: 'none',
28
- boxShadow: 'none',
29
- outline: 'none',
30
- height: '100%',
31
- width: '100%',
32
- margin: '0',
33
- zIndex: 1,
34
- '&::-webkit-slider-runnable-track': {
35
- height: '100%'
36
- },
37
- '&::-webkit-slider-thumb': {
38
- boxShadow: '0 0 0 0.5px #888',
39
- height: '100%',
40
- width: '0px',
41
- appearance: 'none'
42
- },
43
- '&::-moz-focus-outer': {
44
- border: '0'
45
- },
46
- '&::-moz-range-track': {
47
- height: '0'
48
- },
49
- '&::-moz-range-thumb': {
50
- border: 'none',
51
- boxShadow: '0 0 0 0.5px #888',
52
- height: '100%',
53
- width: '0px'
54
- }
55
- });
56
- var ImageContainer = styled.div({
57
- position: 'absolute',
58
- width: '100%',
59
- height: '100%',
60
- overflow: 'hidden'
61
- });
62
- var ImageWrapper = withTheme(styled.div(function (_ref) {
63
- var theme = _ref.theme;
64
- return {
65
- background: theme.base == 'light' ? theme.color.mediumlight : theme.color.darker,
66
- position: 'relative',
67
- width: '100%',
68
- height: '100%',
69
- display: 'flex'
70
- };
71
- }));
72
- var BaseImage = styled.img(function (_ref2) {
73
- var borderColor = _ref2.borderColor;
74
- return {
75
- boxSizing: 'border-box',
76
- border: "1px solid ".concat(borderColor),
77
- maxWidth: '100%'
78
- };
79
- });
80
- var Image = styled(BaseImage)({
81
- position: 'absolute'
82
- });
83
- var DiffImage = styled(BaseImage)({
84
- opacity: '0'
85
- });
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);
104
- useApplyScale(expectImageRef, scale);
105
- useApplyScale(actualImageRef, scale);
106
- var handleSlide = useCallback(function (event) {
107
- if (!expectedImageContainerRef.current || !expectedImageWrapperRef.current) return;
108
- var offset = Number(event.target.value);
109
- expectedImageContainerRef.current.style.right = "".concat(100 - offset, "%");
110
- expectedImageWrapperRef.current.style.left = "".concat(100 - offset, "%");
111
- }, []);
112
- useLayoutEffect(function () {
113
- if (loaded && diffImageRef.current) setStep(100 / diffImageRef.current.getBoundingClientRect().width);
114
- }, [loaded, scale]);
115
- useLayoutEffect(function () {
116
- if (loaded && expectedImageContainerRef.current && expectedImageWrapperRef.current) {
117
- expectedImageContainerRef.current.style.right = '100%';
118
- expectedImageWrapperRef.current.style.left = '100%';
119
- }
120
- }, [loaded]);
121
- useEffect(function () {
122
- if (loaded) readyForCapture();
123
- }, [loaded]);
124
- return loaded ? /*#__PURE__*/React.createElement(Container, null, /*#__PURE__*/React.createElement(Input, {
125
- "data-testid": "slider",
126
- type: "range",
127
- min: 0,
128
- max: 100,
129
- defaultValue: 0,
130
- step: step,
131
- onChange: handleSlide
132
- }), /*#__PURE__*/React.createElement(ImageContainer, null, /*#__PURE__*/React.createElement(ImageWrapper, null, /*#__PURE__*/React.createElement(Image, {
133
- ref: actualImageRef,
134
- borderColor: getBorderColor(theme, themeBorderColors.actual),
135
- alt: "actual",
136
- src: actual
137
- }))), /*#__PURE__*/React.createElement(ImageContainer, {
138
- ref: expectedImageContainerRef
139
- }, /*#__PURE__*/React.createElement(ImageWrapper, {
140
- ref: expectedImageWrapperRef
141
- }, /*#__PURE__*/React.createElement(Image, {
142
- ref: expectImageRef,
143
- borderColor: getBorderColor(theme, themeBorderColors.expect),
144
- alt: "expect",
145
- src: expect
146
- }))), /*#__PURE__*/React.createElement(DiffImage, {
147
- ref: diffImageRef,
148
- borderColor: 'transparent',
149
- alt: "diff",
150
- src: diff
151
- })) : /*#__PURE__*/React.createElement(Loader, {
152
- size: 64
153
- });
154
- });
@@ -1,88 +0,0 @@
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
- import React, { useCallback, useEffect, useRef, useState } from 'react';
14
- import { getBorderColor, themeBorderColors } from './ImagesView';
15
- import { styled, withTheme } from '@storybook/theming';
16
- import { useApplyScale, useCalcScale, useLoadImages } from '../../helpers';
17
- import { Loader } from '@storybook/components';
18
- import { readyForCapture } from '../../../addon/readyForCapture';
19
- var Container = styled.div({
20
- position: 'relative',
21
- display: 'flex'
22
- });
23
- var BaseImage = styled.img(function (_ref) {
24
- var borderColor = _ref.borderColor;
25
- return {
26
- boxSizing: 'border-box',
27
- border: "1px solid ".concat(borderColor),
28
- maxWidth: '100%'
29
- };
30
- });
31
- var Image = styled(BaseImage)({
32
- position: 'absolute'
33
- });
34
- var DiffImage = styled(BaseImage)({
35
- cursor: 'pointer',
36
- outline: 'none',
37
- opacity: 0,
38
- zIndex: 1
39
- });
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);
56
- useApplyScale(expectImageRef, scale, image);
57
- 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 () {
64
- if (loaded) readyForCapture();
65
- }, [loaded]);
66
- return loaded ? /*#__PURE__*/React.createElement(Container, null, /*#__PURE__*/React.createElement(Image, {
67
- ref: expectImageRef,
68
- borderColor: getBorderColor(theme, themeBorderColors.expect),
69
- alt: 'expect',
70
- src: expect,
71
- hidden: image != 'expect'
72
- }), /*#__PURE__*/React.createElement(DiffImage, {
73
- ref: diffImageRef,
74
- borderColor: 'transparent',
75
- tabIndex: 0,
76
- alt: "diff",
77
- src: diff,
78
- onClick: handleChangeView
79
- }), /*#__PURE__*/React.createElement(Image, {
80
- ref: actualImageRef,
81
- borderColor: getBorderColor(theme, themeBorderColors.actual),
82
- alt: 'actual',
83
- src: actual,
84
- hidden: image != 'actual'
85
- })) : /*#__PURE__*/React.createElement(Loader, {
86
- size: 64
87
- });
88
- });
@@ -1,5 +0,0 @@
1
- export { ImagesView } from './ImagesView';
2
- export { BlendView } from './BlendView';
3
- export { SideBySideView } from './SideBySideView';
4
- export { SlideView } from './SlideView';
5
- export { SwapView } from './SwapView';
@@ -1,32 +0,0 @@
1
- import React from 'react';
2
- import { Paging } from './Paging';
3
- import { styled, withTheme } from '@storybook/theming';
4
- import { Button } from '@storybook/components';
5
- var Container = withTheme(styled.div(function (_ref) {
6
- var theme = _ref.theme;
7
- return {
8
- display: 'flex',
9
- padding: '20px',
10
- justifyContent: 'space-between',
11
- background: theme.background.content
12
- };
13
- }));
14
- var StyledButton = styled(Button)({
15
- transform: 'none'
16
- });
17
- 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;
23
- return /*#__PURE__*/React.createElement(Container, null, /*#__PURE__*/React.createElement(Paging, {
24
- activePage: retry,
25
- onPageChange: onRetryChange,
26
- pagesCount: retriesCount
27
- }), canApprove ? /*#__PURE__*/React.createElement(StyledButton, {
28
- secondary: true,
29
- outline: true,
30
- onClick: onApprove
31
- }, 'Approve') : null);
32
- }
@@ -1,84 +0,0 @@
1
- import React from 'react';
2
- import { Button, Icons } from '@storybook/components';
3
- import { noop } from '../../../../types';
4
- import { styled } from '@storybook/theming';
5
- var StyledButton = styled(Button)({
6
- transform: 'none',
7
- marginLeft: '8px'
8
- });
9
- export function Paging(props) {
10
- var renderItem = function renderItem(item, index) {
11
- switch (item) {
12
- case '.':
13
- {
14
- return /*#__PURE__*/React.createElement(StyledButton, {
15
- disabled: true,
16
- key: "dots".concat(index < 5 ? 'Left' : 'Right')
17
- }, '...');
18
- }
19
-
20
- case 'forward':
21
- {
22
- var disabled = props.activePage === props.pagesCount;
23
- return /*#__PURE__*/React.createElement(StyledButton, {
24
- outline: true,
25
- disabled: disabled,
26
- onClick: disabled ? noop : function () {
27
- return goToPage(props.activePage + 1);
28
- },
29
- key: "forward"
30
- }, /*#__PURE__*/React.createElement("span", null, "Next ", /*#__PURE__*/React.createElement(Icons, {
31
- icon: "arrowright"
32
- })));
33
- }
34
-
35
- default:
36
- {
37
- return /*#__PURE__*/React.createElement(StyledButton, {
38
- outline: true,
39
- secondary: props.activePage === item,
40
- key: item,
41
- onClick: function onClick() {
42
- return goToPage(item);
43
- }
44
- }, item);
45
- }
46
- }
47
- };
48
-
49
- var goToPage = function goToPage(pageNumber) {
50
- if (1 <= pageNumber && pageNumber !== props.activePage && pageNumber <= props.pagesCount) {
51
- props.onPageChange(pageNumber);
52
- }
53
- };
54
-
55
- return /*#__PURE__*/React.createElement("div", null, getItems(props.activePage, props.pagesCount).map(renderItem));
56
- }
57
-
58
- 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;
66
-
67
- if (hasLeftDots) {
68
- result.push(1, '.');
69
- }
70
-
71
- for (var i = from; i <= to; ++i) {
72
- result.push(i);
73
- }
74
-
75
- if (hasRightDots) {
76
- result.push('.');
77
- }
78
-
79
- if (hasRightDots && isFinite(total)) {
80
- result.push(total);
81
- }
82
-
83
- return result.concat('forward');
84
- }
@@ -1,64 +0,0 @@
1
- import React from 'react';
2
- import { styled, withTheme } from '@storybook/theming';
3
- var IMG_SIZE = 64;
4
- var DIAG_LENGTH = Math.pow(2 * Math.pow(IMG_SIZE - 8, 2), 1 / 2);
5
- var Button = styled.button(function (_ref) {
6
- var borderColor = _ref.borderColor;
7
- return {
8
- appearance: 'none',
9
- background: 'none',
10
- color: 'inherit',
11
- font: 'inherit',
12
- cursor: 'pointer',
13
- outline: 'none',
14
- zIndex: 1,
15
- margin: '0 10px',
16
- border: '2px solid transparent',
17
- borderColor: borderColor || 'transparent',
18
- '&:first-of-type': {
19
- marginLeft: 0
20
- }
21
- };
22
- });
23
- var Image = withTheme(styled.img(function (_ref2) {
24
- var hasBorder = _ref2.hasBorder,
25
- backgroundColor = _ref2.backgroundColor,
26
- theme = _ref2.theme;
27
- return {
28
- maxHeight: "".concat(IMG_SIZE, "px"),
29
- width: "".concat(IMG_SIZE, "px"),
30
- overflow: 'hidden',
31
- transform: hasBorder ? 'translateY(2px)' : undefined,
32
- '&::before': {
33
- content: "' '",
34
- display: 'block',
35
- height: "".concat(IMG_SIZE - 8, "px"),
36
- width: "".concat(IMG_SIZE - 8, "px"),
37
- margin: '4px',
38
- backgroundColor: backgroundColor,
39
- backgroundImage: "linear-gradient(\n 45deg,\n rgba(0, 0, 0, 0) ".concat(DIAG_LENGTH / 2 - 0.5, "px,\n ").concat(theme.color.medium, " ").concat(DIAG_LENGTH / 2 - 0.5, "px,\n ").concat(theme.color.medium, " ").concat(DIAG_LENGTH / 2 + 0.5, "px,\n rgba(0, 0, 0, 0) ").concat(DIAG_LENGTH / 2 + 0.5, "px\n ),\n linear-gradient(\n 315deg,\n rgba(0, 0, 0, 0) ").concat(DIAG_LENGTH / 2 + 0.2, "px,\n ").concat(theme.color.medium, " ").concat(DIAG_LENGTH / 2 + 0.2, "px,\n ").concat(theme.color.medium, " ").concat(DIAG_LENGTH / 2 + 1.2, "px,\n rgba(0, 0, 0, 0) ").concat(DIAG_LENGTH / 2 + 1.2, "px\n )")
40
- }
41
- };
42
- }));
43
- export var ImagePreview = withTheme(function (_ref3) {
44
- var isActive = _ref3.isActive,
45
- onClick = _ref3.onClick,
46
- imageName = _ref3.imageName,
47
- url = _ref3.url,
48
- theme = _ref3.theme,
49
- error = _ref3.error;
50
-
51
- var handleClick = function handleClick() {
52
- return onClick(imageName);
53
- };
54
-
55
- return /*#__PURE__*/React.createElement(Button, {
56
- onClick: handleClick,
57
- borderColor: isActive ? theme.barSelectedColor : error ? theme.color.negative : undefined
58
- }, /*#__PURE__*/React.createElement(Image, {
59
- hasBorder: isActive || error,
60
- src: url,
61
- alt: imageName,
62
- backgroundColor: theme.background.content
63
- }));
64
- });