creevey 0.9.0-beta.2 → 0.9.0-beta.20

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 (226) hide show
  1. package/.yarn/install-state.gz +0 -0
  2. package/.yarnrc.yml +1 -0
  3. package/CHANGELOG.md +51 -0
  4. package/README.md +9 -1
  5. package/addon/README.md +3 -0
  6. package/addon/package.json +5 -0
  7. package/docs/config.md +29 -26
  8. package/jest.config.js +6 -0
  9. package/lib/cjs/cli.js +1 -0
  10. package/lib/cjs/client/addon/Manager.js +170 -390
  11. package/lib/cjs/client/addon/components/Addon.js +17 -45
  12. package/lib/cjs/client/addon/components/Icons.js +12 -14
  13. package/lib/cjs/client/addon/components/Panel.js +21 -30
  14. package/lib/cjs/client/addon/components/TestSelect.js +20 -31
  15. package/lib/cjs/client/addon/components/Tools.js +35 -65
  16. package/lib/cjs/client/addon/decorator.js +1 -4
  17. package/lib/cjs/client/addon/index.js +27 -0
  18. package/lib/cjs/client/addon/preset.js +3 -76
  19. package/lib/cjs/client/addon/preview.js +11 -0
  20. package/lib/cjs/client/addon/readyForCapture.js +1 -4
  21. package/lib/cjs/client/addon/register.js +43 -82
  22. package/lib/cjs/client/addon/utils.js +4 -8
  23. package/lib/cjs/client/addon/withCreevey.js +145 -404
  24. package/lib/cjs/client/shared/components/ImagesView/BlendView.js +25 -35
  25. package/lib/cjs/client/shared/components/ImagesView/ImagesView.js +29 -41
  26. package/lib/cjs/client/shared/components/ImagesView/SideBySideView.js +46 -83
  27. package/lib/cjs/client/shared/components/ImagesView/SlideView.js +39 -67
  28. package/lib/cjs/client/shared/components/ImagesView/SwapView.js +26 -57
  29. package/lib/cjs/client/shared/components/ImagesView/index.js +9 -14
  30. package/lib/cjs/client/shared/components/PageFooter/PageFooter.js +13 -16
  31. package/lib/cjs/client/shared/components/PageFooter/Paging.js +16 -37
  32. package/lib/cjs/client/shared/components/PageHeader/ImagePreview.js +42 -34
  33. package/lib/cjs/client/shared/components/PageHeader/PageHeader.js +40 -84
  34. package/lib/cjs/client/shared/components/ResultsPage.js +42 -99
  35. package/lib/cjs/client/shared/creeveyClientApi.js +56 -93
  36. package/lib/cjs/client/shared/helpers.js +149 -274
  37. package/lib/cjs/client/shared/viewMode.js +5 -9
  38. package/lib/cjs/client/web/192.js +1 -0
  39. package/lib/cjs/client/web/632.js +43 -0
  40. package/lib/cjs/client/web/794.js +1 -0
  41. package/lib/cjs/client/web/main.js +79 -38
  42. package/lib/cjs/client/web/main.js.LICENSE.txt +34 -0
  43. package/lib/cjs/creevey.js +15 -30
  44. package/lib/cjs/index.js +0 -15
  45. package/lib/cjs/server/config.js +16 -36
  46. package/lib/cjs/server/docker.js +8 -34
  47. package/lib/cjs/server/index.js +9 -34
  48. package/lib/cjs/server/logger.js +7 -20
  49. package/lib/cjs/server/master/api.js +1 -14
  50. package/lib/cjs/server/master/index.js +25 -49
  51. package/lib/cjs/server/master/master.js +6 -21
  52. package/lib/cjs/server/master/pool.js +10 -53
  53. package/lib/cjs/server/master/runner.js +65 -105
  54. package/lib/cjs/server/master/server.js +10 -29
  55. package/lib/cjs/server/messages.js +14 -62
  56. package/lib/cjs/server/selenium/browser.js +149 -185
  57. package/lib/cjs/server/selenium/index.js +0 -4
  58. package/lib/cjs/server/selenium/selenoid.js +18 -44
  59. package/lib/cjs/server/stories.js +35 -57
  60. package/lib/cjs/server/storybook/providers/browser.js +15 -29
  61. package/lib/cjs/server/storybook/providers/hybrid.js +16 -37
  62. package/lib/cjs/server/telemetry.js +167 -0
  63. package/lib/cjs/server/testsFiles/parser.js +3 -19
  64. package/lib/cjs/server/testsFiles/register.js +8 -14
  65. package/lib/cjs/server/update.js +4 -25
  66. package/lib/cjs/server/utils.js +35 -76
  67. package/lib/cjs/server/worker/chai-image.js +1 -27
  68. package/lib/cjs/server/worker/helpers.js +2 -12
  69. package/lib/cjs/server/worker/index.js +1 -3
  70. package/lib/cjs/server/worker/reporter.js +16 -43
  71. package/lib/cjs/server/worker/worker.js +32 -72
  72. package/lib/cjs/shared/index.js +87 -0
  73. package/lib/cjs/shared/serializeRegExp.js +34 -0
  74. package/lib/cjs/types.js +11 -20
  75. package/lib/esm/cli.js +1 -1
  76. package/lib/esm/client/addon/Manager.js +170 -381
  77. package/lib/esm/client/addon/components/Addon.js +15 -34
  78. package/lib/esm/client/addon/components/Icons.js +10 -6
  79. package/lib/esm/client/addon/components/Panel.js +20 -18
  80. package/lib/esm/client/addon/components/TestSelect.js +19 -23
  81. package/lib/esm/client/addon/components/Tools.js +33 -49
  82. package/lib/esm/client/addon/decorator.js +1 -1
  83. package/lib/esm/client/addon/index.js +2 -0
  84. package/lib/esm/client/addon/preset.js +2 -56
  85. package/lib/esm/client/addon/preview.js +5 -0
  86. package/lib/esm/client/addon/readyForCapture.js +1 -3
  87. package/lib/esm/client/addon/register.js +41 -67
  88. package/lib/esm/client/addon/utils.js +3 -7
  89. package/lib/esm/client/addon/withCreevey.js +142 -388
  90. package/lib/esm/client/shared/components/ImagesView/BlendView.js +22 -18
  91. package/lib/esm/client/shared/components/ImagesView/ImagesView.js +27 -25
  92. package/lib/esm/client/shared/components/ImagesView/SideBySideView.js +43 -63
  93. package/lib/esm/client/shared/components/ImagesView/SlideView.js +36 -47
  94. package/lib/esm/client/shared/components/ImagesView/SwapView.js +23 -40
  95. package/lib/esm/client/shared/components/PageFooter/PageFooter.js +12 -8
  96. package/lib/esm/client/shared/components/PageFooter/Paging.js +15 -29
  97. package/lib/esm/client/shared/components/PageHeader/ImagePreview.js +40 -25
  98. package/lib/esm/client/shared/components/PageHeader/PageHeader.js +38 -66
  99. package/lib/esm/client/shared/components/ResultsPage.js +39 -75
  100. package/lib/esm/client/shared/creeveyClientApi.js +56 -90
  101. package/lib/esm/client/shared/helpers.js +133 -230
  102. package/lib/esm/client/shared/viewMode.js +4 -4
  103. package/lib/esm/client/web/192.js +1 -0
  104. package/lib/esm/client/web/632.js +43 -0
  105. package/lib/esm/client/web/794.js +1 -0
  106. package/lib/esm/client/web/index.html +19 -0
  107. package/lib/esm/client/web/main.js +79 -0
  108. package/lib/esm/client/web/main.js.LICENSE.txt +34 -0
  109. package/lib/esm/creevey.js +13 -16
  110. package/lib/esm/index.js +1 -4
  111. package/lib/esm/server/config.js +9 -16
  112. package/lib/esm/server/docker.js +6 -14
  113. package/lib/esm/server/index.js +8 -22
  114. package/lib/esm/server/logger.js +0 -1
  115. package/lib/esm/server/master/api.js +0 -9
  116. package/lib/esm/server/master/index.js +25 -35
  117. package/lib/esm/server/master/master.js +2 -7
  118. package/lib/esm/server/master/pool.js +8 -41
  119. package/lib/esm/server/master/runner.js +64 -90
  120. package/lib/esm/server/master/server.js +9 -11
  121. package/lib/esm/server/messages.js +8 -42
  122. package/lib/esm/server/selenium/browser.js +147 -163
  123. package/lib/esm/server/selenium/selenoid.js +16 -27
  124. package/lib/esm/server/stories.js +34 -46
  125. package/lib/esm/server/storybook/providers/browser.js +12 -17
  126. package/lib/esm/server/storybook/providers/hybrid.js +11 -22
  127. package/lib/esm/server/telemetry.js +160 -0
  128. package/lib/esm/server/testsFiles/parser.js +0 -6
  129. package/lib/esm/server/testsFiles/register.js +6 -7
  130. package/lib/esm/server/update.js +1 -13
  131. package/lib/esm/server/utils.js +20 -41
  132. package/lib/esm/server/worker/chai-image.js +0 -21
  133. package/lib/esm/server/worker/helpers.js +2 -9
  134. package/lib/esm/server/worker/reporter.js +15 -29
  135. package/lib/esm/server/worker/worker.js +31 -48
  136. package/lib/esm/shared/index.js +77 -0
  137. package/lib/esm/shared/serializeRegExp.js +24 -0
  138. package/lib/esm/types.js +5 -1
  139. package/lib/types/client/addon/Manager.d.ts +3 -3
  140. package/lib/types/client/addon/components/Addon.d.ts +1 -0
  141. package/lib/types/client/addon/components/Icons.d.ts +1 -0
  142. package/lib/types/client/addon/components/Panel.d.ts +1 -0
  143. package/lib/types/client/addon/components/Tools.d.ts +1 -0
  144. package/lib/types/client/addon/decorator.d.ts +1 -1
  145. package/lib/types/client/addon/index.d.ts +2 -0
  146. package/lib/types/client/addon/preset.d.ts +2 -24
  147. package/lib/types/client/addon/preview.d.ts +4 -0
  148. package/lib/types/client/addon/utils.d.ts +1 -0
  149. package/lib/types/client/addon/withCreevey.d.ts +4 -3
  150. package/lib/types/client/shared/components/ImagesView/BlendView.d.ts +3 -1
  151. package/lib/types/client/shared/components/ImagesView/SideBySideView.d.ts +3 -1
  152. package/lib/types/client/shared/components/ImagesView/SlideView.d.ts +3 -1
  153. package/lib/types/client/shared/components/ImagesView/SwapView.d.ts +3 -1
  154. package/lib/types/client/shared/components/PageHeader/ImagePreview.d.ts +3 -1
  155. package/lib/types/client/shared/components/ResultsPage.d.ts +3 -1
  156. package/lib/types/client/web/CreeveyLoader.d.ts +1 -1
  157. package/lib/types/client/web/CreeveyView/SideBar/Checkbox.d.ts +6 -3
  158. package/lib/types/client/web/CreeveyView/SideBar/Search.d.ts +1 -0
  159. package/lib/types/client/web/CreeveyView/SideBar/SuiteLink.d.ts +19 -14
  160. package/lib/types/client/web/CreeveyView/SideBar/TestStatusIcon.d.ts +3 -1
  161. package/lib/types/client/web/CreeveyView/SideBar/TestsStatus.d.ts +3 -1
  162. package/lib/types/client/web/CreeveyView/SideBar/Toggle.d.ts +1 -0
  163. package/lib/types/client/web/KeyboardEventsContext.d.ts +4 -2
  164. package/lib/types/index.d.ts +4 -1
  165. package/lib/types/server/logger.d.ts +6 -2
  166. package/lib/types/server/messages.d.ts +14 -12
  167. package/lib/types/server/selenium/browser.d.ts +5 -3
  168. package/lib/types/server/storybook/providers/browser.d.ts +2 -4
  169. package/lib/types/server/storybook/providers/hybrid.d.ts +2 -4
  170. package/lib/types/server/telemetry.d.ts +2 -0
  171. package/lib/types/server/utils.d.ts +5 -1
  172. package/lib/types/shared/index.d.ts +7 -0
  173. package/lib/types/shared/serializeRegExp.d.ts +9 -0
  174. package/lib/types/types.d.ts +29 -36
  175. package/package.json +132 -133
  176. package/types/global.d.ts +5 -0
  177. package/lib/cjs/client/web/1.js +0 -13
  178. package/lib/cjs/client/web/2.js +0 -1
  179. package/lib/cjs/server/extract.js +0 -50
  180. package/lib/cjs/server/loaders/babel/creevey-plugin.js +0 -88
  181. package/lib/cjs/server/loaders/babel/helpers.js +0 -479
  182. package/lib/cjs/server/loaders/babel/register.js +0 -126
  183. package/lib/cjs/server/loaders/hooks/mdx.js +0 -30
  184. package/lib/cjs/server/loaders/hooks/svelte.js +0 -65
  185. package/lib/cjs/server/loaders/webpack/compile.js +0 -286
  186. package/lib/cjs/server/loaders/webpack/creevey-loader.js +0 -174
  187. package/lib/cjs/server/loaders/webpack/dummy-hmr.js +0 -44
  188. package/lib/cjs/server/loaders/webpack/mdx-loader.js +0 -72
  189. package/lib/cjs/server/loaders/webpack/start.js +0 -41
  190. package/lib/cjs/server/storybook/entry.js +0 -68
  191. package/lib/cjs/server/storybook/helpers.js +0 -165
  192. package/lib/cjs/server/storybook/providers/nodejs.js +0 -239
  193. package/lib/cjs/shared.js +0 -124
  194. package/lib/esm/server/extract.js +0 -34
  195. package/lib/esm/server/loaders/babel/creevey-plugin.js +0 -74
  196. package/lib/esm/server/loaders/babel/helpers.js +0 -462
  197. package/lib/esm/server/loaders/babel/register.js +0 -105
  198. package/lib/esm/server/loaders/hooks/mdx.js +0 -15
  199. package/lib/esm/server/loaders/hooks/svelte.js +0 -49
  200. package/lib/esm/server/loaders/webpack/compile.js +0 -263
  201. package/lib/esm/server/loaders/webpack/creevey-loader.js +0 -153
  202. package/lib/esm/server/loaders/webpack/dummy-hmr.js +0 -36
  203. package/lib/esm/server/loaders/webpack/mdx-loader.js +0 -58
  204. package/lib/esm/server/loaders/webpack/start.js +0 -27
  205. package/lib/esm/server/storybook/entry.js +0 -44
  206. package/lib/esm/server/storybook/helpers.js +0 -106
  207. package/lib/esm/server/storybook/providers/nodejs.js +0 -217
  208. package/lib/esm/shared.js +0 -93
  209. package/lib/types/server/extract.d.ts +0 -2
  210. package/lib/types/server/loaders/babel/creevey-plugin.d.ts +0 -1
  211. package/lib/types/server/loaders/babel/helpers.d.ts +0 -19
  212. package/lib/types/server/loaders/babel/register.d.ts +0 -5
  213. package/lib/types/server/loaders/hooks/mdx.d.ts +0 -1
  214. package/lib/types/server/loaders/hooks/svelte.d.ts +0 -1
  215. package/lib/types/server/loaders/webpack/compile.d.ts +0 -2
  216. package/lib/types/server/loaders/webpack/creevey-loader.d.ts +0 -2
  217. package/lib/types/server/loaders/webpack/dummy-hmr.d.ts +0 -10
  218. package/lib/types/server/loaders/webpack/mdx-loader.d.ts +0 -6
  219. package/lib/types/server/loaders/webpack/start.d.ts +0 -1
  220. package/lib/types/server/storybook/entry.d.ts +0 -18
  221. package/lib/types/server/storybook/helpers.d.ts +0 -24
  222. package/lib/types/server/storybook/providers/nodejs.d.ts +0 -9
  223. package/lib/types/shared.d.ts +0 -16
  224. package/preset.js +0 -9
  225. package/storybook-static/stories.json +0 -21
  226. package/types/mdx.d.ts +0 -6
@@ -4,73 +4,39 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.calcStatus = calcStatus;
7
- exports.getTestPath = getTestPath;
8
- exports.getSuiteByPath = getSuiteByPath;
9
- exports.getTestByPath = getTestByPath;
10
- exports.getTestsByStoryId = getTestsByStoryId;
11
7
  exports.checkSuite = checkSuite;
12
- exports.treeifyTests = treeifyTests;
13
- exports.getCheckedTests = getCheckedTests;
14
- exports.updateTestStatus = updateTestStatus;
15
- exports.removeTests = removeTests;
8
+ exports.countTestsStatus = countTestsStatus;
16
9
  exports.filterTests = filterTests;
17
- exports.openSuite = openSuite;
18
10
  exports.flattenSuite = flattenSuite;
19
- exports.countTestsStatus = countTestsStatus;
11
+ exports.getBorderSize = getBorderSize;
12
+ exports.getCheckedTests = getCheckedTests;
20
13
  exports.getConnectionUrl = getConnectionUrl;
21
14
  exports.getImageUrl = getImageUrl;
22
- exports.getBorderSize = getBorderSize;
23
- exports.useLoadImages = useLoadImages;
24
- exports.useResizeObserver = useResizeObserver;
15
+ exports.getSuiteByPath = getSuiteByPath;
16
+ exports.getTestByPath = getTestByPath;
17
+ exports.getTestPath = getTestPath;
18
+ exports.getTestPathFromSearch = getTestPathFromSearch;
19
+ exports.getTestsByStoryId = getTestsByStoryId;
20
+ exports.openSuite = openSuite;
21
+ exports.removeTests = removeTests;
22
+ exports.setSearchParams = setSearchParams;
23
+ exports.treeifyTests = treeifyTests;
24
+ exports.updateTestStatus = updateTestStatus;
25
25
  exports.useApplyScale = useApplyScale;
26
26
  exports.useCalcScale = useCalcScale;
27
- exports.useTheme = useTheme;
28
- exports.setSearchParams = setSearchParams;
29
- exports.getTestPathFromSearch = getTestPathFromSearch;
30
27
  exports.useForceUpdate = useForceUpdate;
31
-
28
+ exports.useLoadImages = useLoadImages;
29
+ exports.useResizeObserver = useResizeObserver;
30
+ exports.useTheme = useTheme;
32
31
  var _theming = require("@storybook/theming");
33
-
34
32
  var _qs = require("qs");
35
-
36
33
  var _react = require("react");
37
-
38
34
  var _types = require("../../types");
39
-
40
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
41
-
42
- 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; }
43
-
44
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
45
-
46
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
47
-
48
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
49
-
50
- function _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); }
51
-
52
- 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."); }
53
-
54
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
55
-
56
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
57
-
58
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
59
-
60
- 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); }
61
-
62
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
63
-
64
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
65
-
66
- 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; }
67
-
68
- var statusUpdatesMap = new Map([[undefined, /(unknown|success|failed|pending|running)/], ['unknown', /(success|failed|pending|running)/], ['success', /(failed|pending|running)/], ['failed', /(pending|running)/], ['pending', /running/]]);
69
-
35
+ const statusUpdatesMap = new Map([[undefined, /(unknown|success|failed|pending|running)/], ['unknown', /(success|failed|pending|running)/], ['success', /(failed|pending|running)/], ['failed', /(pending|running)/], ['pending', /running/]]);
70
36
  function makeEmptySuiteNode() {
71
- var path = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
37
+ let path = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
72
38
  return {
73
- path: path,
39
+ path,
74
40
  skip: true,
75
41
  opened: false,
76
42
  checked: true,
@@ -78,217 +44,175 @@ function makeEmptySuiteNode() {
78
44
  children: {}
79
45
  };
80
46
  }
81
-
82
47
  function calcStatus(oldStatus, newStatus) {
83
- var _statusUpdatesMap$get;
84
-
85
- return newStatus && (_statusUpdatesMap$get = statusUpdatesMap.get(oldStatus)) !== null && _statusUpdatesMap$get !== void 0 && _statusUpdatesMap$get.test(newStatus) ? newStatus : oldStatus;
48
+ return newStatus && statusUpdatesMap.get(oldStatus)?.test(newStatus) ? newStatus : oldStatus;
86
49
  }
87
-
88
50
  function getTestPath(test) {
89
- var browser = test.browser,
90
- testName = test.testName,
91
- storyPath = test.storyPath;
92
- return [].concat(_toConsumableArray(storyPath), [testName, browser]).filter(_types.isDefined);
51
+ const {
52
+ browser,
53
+ testName,
54
+ storyPath
55
+ } = test;
56
+ return [...storyPath, testName, browser].filter(_types.isDefined);
93
57
  }
94
-
95
58
  function getSuiteByPath(suite, path) {
96
- return path.reduce(function (suiteOrTest, pathToken) {
97
- return (0, _types.isTest)(suiteOrTest) ? suiteOrTest : suiteOrTest === null || suiteOrTest === void 0 ? void 0 : suiteOrTest.children[pathToken];
98
- }, suite);
59
+ return path.reduce((suiteOrTest, pathToken) => (0, _types.isTest)(suiteOrTest) ? suiteOrTest : suiteOrTest?.children[pathToken], suite);
99
60
  }
100
-
101
61
  function getTestByPath(suite, path) {
102
- var _getSuiteByPath;
103
-
104
- var test = (_getSuiteByPath = getSuiteByPath(suite, path)) !== null && _getSuiteByPath !== void 0 ? _getSuiteByPath : suite;
62
+ const test = getSuiteByPath(suite, path) ?? suite;
105
63
  return (0, _types.isTest)(test) ? test : null;
106
64
  }
107
-
108
65
  function getTestsByStoryId(suite, storyId) {
109
- return Object.values(suite.children).filter(_types.isDefined).flatMap(function (suiteOrTest) {
66
+ return Object.values(suite.children).filter(_types.isDefined).flatMap(suiteOrTest => {
110
67
  if ((0, _types.isTest)(suiteOrTest)) return suiteOrTest.storyId === storyId ? suiteOrTest : [];
111
68
  return getTestsByStoryId(suiteOrTest, storyId);
112
69
  }).filter(_types.isDefined);
113
70
  }
114
-
115
71
  function checkTests(suiteOrTest, checked) {
116
72
  suiteOrTest.checked = checked;
117
-
118
73
  if (!(0, _types.isTest)(suiteOrTest)) {
119
74
  suiteOrTest.indeterminate = false;
120
- Object.values(suiteOrTest.children).filter(_types.isDefined).forEach(function (child) {
121
- return checkTests(child, checked);
122
- });
75
+ Object.values(suiteOrTest.children).filter(_types.isDefined).forEach(child => checkTests(child, checked));
123
76
  }
124
77
  }
125
-
126
78
  function updateChecked(suite) {
127
- var children = Object.values(suite.children).filter(_types.isDefined).filter(function (child) {
128
- return !child.skip;
129
- });
130
- var checkedEvery = children.every(function (test) {
131
- return test.checked;
132
- });
133
- var checkedSome = children.some(function (test) {
134
- return test.checked;
135
- });
136
- var indeterminate = children.some(function (test) {
137
- return (0, _types.isTest)(test) ? false : test.indeterminate;
138
- }) || !checkedEvery && checkedSome;
139
- var checked = indeterminate || suite.checked == checkedEvery ? suite.checked : checkedEvery;
79
+ const children = Object.values(suite.children).filter(_types.isDefined).filter(child => !child.skip);
80
+ const checkedEvery = children.every(test => test.checked);
81
+ const checkedSome = children.some(test => test.checked);
82
+ const indeterminate = children.some(test => (0, _types.isTest)(test) ? false : test.indeterminate) || !checkedEvery && checkedSome;
83
+ const checked = indeterminate || suite.checked == checkedEvery ? suite.checked : checkedEvery;
140
84
  suite.checked = checked;
141
85
  suite.indeterminate = indeterminate;
142
86
  }
143
-
144
87
  function checkSuite(suite, path, checked) {
145
- var subSuite = getSuiteByPath(suite, path);
88
+ const subSuite = getSuiteByPath(suite, path);
146
89
  if (subSuite) checkTests(subSuite, checked);
147
- path.slice(0, -1).map(function (_, index, tokens) {
148
- return tokens.slice(0, tokens.length - index);
149
- }).forEach(function (parentPath) {
150
- var parentSuite = getSuiteByPath(suite, parentPath);
90
+ path.slice(0, -1).map((_, index, tokens) => tokens.slice(0, tokens.length - index)).forEach(parentPath => {
91
+ const parentSuite = getSuiteByPath(suite, parentPath);
151
92
  if ((0, _types.isTest)(parentSuite)) return;
152
93
  if (parentSuite) updateChecked(parentSuite);
153
94
  });
154
95
  updateChecked(suite);
155
96
  }
156
-
157
97
  function treeifyTests(testsById) {
158
- var rootSuite = makeEmptySuiteNode();
98
+ const rootSuite = makeEmptySuiteNode();
159
99
  rootSuite.opened = true;
160
- Object.values(testsById).forEach(function (test) {
100
+ Object.values(testsById).forEach(test => {
161
101
  if (!test) return;
162
-
163
- var _getTestPath$reverse = getTestPath(test).reverse(),
164
- _getTestPath$reverse2 = _toArray(_getTestPath$reverse),
165
- browser = _getTestPath$reverse2[0],
166
- testPath = _getTestPath$reverse2.slice(1);
167
-
168
- var lastSuite = testPath.reverse().reduce(function (suite, token) {
169
- var subSuite = suite.children[token] || makeEmptySuiteNode([].concat(_toConsumableArray(suite.path), [token]));
102
+ const [browser, ...testPath] = getTestPath(test).reverse();
103
+ const lastSuite = testPath.reverse().reduce((suite, token) => {
104
+ const subSuite = suite.children[token] || makeEmptySuiteNode([...suite.path, token]);
170
105
  subSuite.status = calcStatus(subSuite.status, test.status);
171
106
  if (!test.skip) subSuite.skip = false;
172
107
  if (!subSuite.skip) suite.skip = false;
173
108
  suite.children[token] = subSuite;
174
109
  suite.status = calcStatus(suite.status, subSuite.status);
175
-
176
110
  if ((0, _types.isTest)(subSuite)) {
177
- throw new Error("Suite and Test should not have same path '".concat(JSON.stringify(getTestPath(subSuite)), "'"));
111
+ throw new Error(`Suite and Test should not have same path '${JSON.stringify(getTestPath(subSuite))}'`);
178
112
  }
179
-
180
113
  return subSuite;
181
114
  }, rootSuite);
182
- lastSuite.children[browser] = _objectSpread(_objectSpread({}, test), {}, {
115
+ lastSuite.children[browser] = {
116
+ ...test,
183
117
  checked: true
184
- });
118
+ };
185
119
  });
186
120
  return rootSuite;
187
121
  }
188
-
189
122
  function getCheckedTests(suite) {
190
- return Object.values(suite.children).filter(_types.isDefined).flatMap(function (suiteOrTest) {
123
+ return Object.values(suite.children).filter(_types.isDefined).flatMap(suiteOrTest => {
191
124
  if ((0, _types.isTest)(suiteOrTest)) return suiteOrTest.checked ? suiteOrTest : [];
192
125
  if (!suiteOrTest.checked && !suiteOrTest.indeterminate) return [];
193
126
  return getCheckedTests(suiteOrTest);
194
127
  });
195
128
  }
196
-
197
129
  function updateTestStatus(suite, path, update) {
198
- var _suite$children$title;
199
-
200
- var title = path.shift();
130
+ const title = path.shift();
201
131
  if (!title) return;
202
- var suiteOrTest = (_suite$children$title = suite.children[title]) !== null && _suite$children$title !== void 0 ? _suite$children$title : suite.children[title] = _objectSpread(_objectSpread({}, path.length == 0 ? update : makeEmptySuiteNode([].concat(_toConsumableArray(suite.path), [title]))), {}, {
132
+ const suiteOrTest = suite.children[title] ?? (suite.children[title] = {
133
+ ...(path.length == 0 ? update : makeEmptySuiteNode([...suite.path, title])),
203
134
  checked: suite.checked
204
135
  });
205
-
206
136
  if ((0, _types.isTest)(suiteOrTest)) {
207
- var _test$results;
208
-
209
- var test = suiteOrTest;
210
- var skip = update.skip,
211
- status = update.status,
212
- results = update.results,
213
- approved = update.approved;
137
+ const test = suiteOrTest;
138
+ const {
139
+ skip,
140
+ status,
141
+ results,
142
+ approved
143
+ } = update;
214
144
  if ((0, _types.isDefined)(skip)) test.skip = skip;
215
145
  if ((0, _types.isDefined)(status)) test.status = status;
216
- if ((0, _types.isDefined)(results)) test.results ? (_test$results = test.results).push.apply(_test$results, _toConsumableArray(results)) : test.results = results;
217
- if ((0, _types.isDefined)(approved)) Object.entries(approved).forEach(function (_ref) {
218
- var _ref2 = _slicedToArray(_ref, 2),
219
- image = _ref2[0],
220
- retry = _ref2[1];
221
-
146
+ if ((0, _types.isDefined)(results)) test.results ? test.results.push(...results) : test.results = results;
147
+ if ((0, _types.isDefined)(approved)) Object.entries(approved).forEach(_ref => {
148
+ let [image, retry] = _ref;
222
149
  return retry !== undefined && ((test.approved = test.approved || {})[image] = retry);
223
150
  });
224
151
  } else {
225
- var subSuite = suiteOrTest;
152
+ const subSuite = suiteOrTest;
226
153
  updateTestStatus(subSuite, path, update);
227
154
  }
228
-
229
- suite.skip = Object.values(suite.children).filter(_types.isDefined).map(function (_ref3) {
230
- var skip = _ref3.skip;
155
+ suite.skip = Object.values(suite.children).filter(_types.isDefined).map(_ref2 => {
156
+ let {
157
+ skip
158
+ } = _ref2;
231
159
  return skip;
232
160
  }).every(Boolean);
233
- suite.status = Object.values(suite.children).filter(_types.isDefined).map(function (_ref4) {
234
- var status = _ref4.status;
161
+ suite.status = Object.values(suite.children).filter(_types.isDefined).map(_ref3 => {
162
+ let {
163
+ status
164
+ } = _ref3;
235
165
  return status;
236
166
  }).reduce(calcStatus);
237
167
  }
238
-
239
168
  function removeTests(suite, path) {
240
- var _suiteOrTest$children;
241
-
242
- var title = path.shift();
169
+ const title = path.shift();
243
170
  if (!title) return;
244
- var suiteOrTest = suite.children[title];
171
+ const suiteOrTest = suite.children[title];
245
172
  if (suiteOrTest && !(0, _types.isTest)(suiteOrTest)) removeTests(suiteOrTest, path);
246
- if ((0, _types.isTest)(suiteOrTest) || Object.keys((_suiteOrTest$children = suiteOrTest === null || suiteOrTest === void 0 ? void 0 : suiteOrTest.children) !== null && _suiteOrTest$children !== void 0 ? _suiteOrTest$children : {}).length == 0) delete suite.children[title];
173
+ if ((0, _types.isTest)(suiteOrTest) || Object.keys(suiteOrTest?.children ?? {}).length == 0) delete suite.children[title];
247
174
  if (Object.keys(suite.children).length == 0) return;
248
175
  updateChecked(suite);
249
- suite.skip = Object.values(suite.children).filter(_types.isDefined).map(function (_ref5) {
250
- var skip = _ref5.skip;
176
+ suite.skip = Object.values(suite.children).filter(_types.isDefined).map(_ref4 => {
177
+ let {
178
+ skip
179
+ } = _ref4;
251
180
  return skip;
252
181
  }).every(Boolean);
253
- suite.status = Object.values(suite.children).filter(_types.isDefined).map(function (_ref6) {
254
- var status = _ref6.status;
182
+ suite.status = Object.values(suite.children).filter(_types.isDefined).map(_ref5 => {
183
+ let {
184
+ status
185
+ } = _ref5;
255
186
  return status;
256
187
  }).reduce(calcStatus);
257
188
  }
258
-
259
189
  function filterTests(suite, filter) {
260
- var status = filter.status,
261
- subStrings = filter.subStrings;
190
+ const {
191
+ status,
192
+ subStrings
193
+ } = filter;
262
194
  if (!status && !subStrings.length) return suite;
263
-
264
- var filteredSuite = _objectSpread(_objectSpread({}, suite), {}, {
195
+ const filteredSuite = {
196
+ ...suite,
265
197
  children: {}
266
- });
267
-
268
- Object.entries(suite.children).forEach(function (_ref7) {
269
- var _ref8 = _slicedToArray(_ref7, 2),
270
- title = _ref8[0],
271
- suiteOrTest = _ref8[1];
272
-
198
+ };
199
+ Object.entries(suite.children).forEach(_ref6 => {
200
+ let [title, suiteOrTest] = _ref6;
273
201
  if (!suiteOrTest || suiteOrTest.skip) return;
274
-
275
- if (!status && subStrings.some(function (subString) {
276
- return title.toLowerCase().includes(subString);
277
- })) {
202
+ if (!status && subStrings.some(subString => title.toLowerCase().includes(subString))) {
278
203
  filteredSuite.children[title] = suiteOrTest;
279
204
  } else if ((0, _types.isTest)(suiteOrTest)) {
280
205
  if (status && suiteOrTest.status && ['pending', 'running', status].includes(suiteOrTest.status)) filteredSuite.children[title] = suiteOrTest;
281
206
  } else {
282
- var filteredSubSuite = filterTests(suiteOrTest, filter);
207
+ const filteredSubSuite = filterTests(suiteOrTest, filter);
283
208
  if (Object.keys(filteredSubSuite.children).length == 0) return;
284
209
  filteredSuite.children[title] = filteredSubSuite;
285
210
  }
286
211
  });
287
212
  return filteredSuite;
288
213
  }
289
-
290
214
  function openSuite(suite, path, opened) {
291
- var subSuite = path.reduce(function (suiteOrTest, pathToken) {
215
+ const subSuite = path.reduce((suiteOrTest, pathToken) => {
292
216
  if (suiteOrTest && !(0, _types.isTest)(suiteOrTest)) {
293
217
  if (opened) suiteOrTest.opened = opened;
294
218
  return suiteOrTest.children[pathToken];
@@ -296,29 +220,23 @@ function openSuite(suite, path, opened) {
296
220
  }, suite);
297
221
  if (subSuite && !(0, _types.isTest)(subSuite)) subSuite.opened = opened;
298
222
  }
299
-
300
223
  function flattenSuite(suite) {
301
224
  if (!suite.opened) return [];
302
- return Object.entries(suite.children).flatMap(function (_ref9) {
303
- var _ref10 = _slicedToArray(_ref9, 2),
304
- title = _ref10[0],
305
- subSuite = _ref10[1];
306
-
225
+ return Object.entries(suite.children).flatMap(_ref7 => {
226
+ let [title, subSuite] = _ref7;
307
227
  return subSuite ? [{
308
- title: title,
228
+ title,
309
229
  suite: subSuite
310
- }].concat(_toConsumableArray((0, _types.isTest)(subSuite) ? [] : flattenSuite(subSuite))) : [];
230
+ }, ...((0, _types.isTest)(subSuite) ? [] : flattenSuite(subSuite))] : [];
311
231
  });
312
232
  }
313
-
314
233
  function countTestsStatus(suite) {
315
- var successCount = 0;
316
- var failedCount = 0;
317
- var skippedCount = 0;
318
- var pendingCount = 0;
319
- var cases = Object.values(suite.children).filter(_types.isDefined);
320
- var suiteOrTest;
321
-
234
+ let successCount = 0;
235
+ let failedCount = 0;
236
+ let skippedCount = 0;
237
+ let pendingCount = 0;
238
+ const cases = Object.values(suite.children).filter(_types.isDefined);
239
+ let suiteOrTest;
322
240
  while (suiteOrTest = cases.pop()) {
323
241
  if ((0, _types.isTest)(suiteOrTest)) {
324
242
  if (suiteOrTest.skip) skippedCount++;
@@ -326,157 +244,114 @@ function countTestsStatus(suite) {
326
244
  if (suiteOrTest.status === 'failed') failedCount++;
327
245
  if (suiteOrTest.status === 'pending') pendingCount++;
328
246
  } else {
329
- cases.push.apply(cases, _toConsumableArray(Object.values(suiteOrTest.children).filter(_types.isDefined)));
247
+ cases.push(...Object.values(suiteOrTest.children).filter(_types.isDefined));
330
248
  }
331
249
  }
332
-
333
250
  return {
334
- successCount: successCount,
335
- failedCount: failedCount,
336
- skippedCount: skippedCount,
337
- pendingCount: pendingCount
251
+ successCount,
252
+ failedCount,
253
+ skippedCount,
254
+ pendingCount
338
255
  };
339
256
  }
340
-
341
257
  function getConnectionUrl() {
342
258
  return [typeof __CREEVEY_SERVER_HOST__ == 'undefined' ? window.location.hostname : __CREEVEY_SERVER_HOST__, typeof __CREEVEY_SERVER_PORT__ == 'undefined' ? window.location.port : __CREEVEY_SERVER_PORT__].filter(Boolean).join(':');
343
259
  }
344
-
345
260
  function getImageUrl(path, imageName) {
346
261
  // path => [kind, story, test, browser]
347
- var browser = path.slice(-1)[0];
348
- var imagesUrl = window.location.host ? "".concat(window.location.protocol, "//").concat(getConnectionUrl()).concat(window.location.pathname == '/' ? '/report' : window.location.pathname.split('/').slice(0, -1).join('/'), "/").concat(encodeURI(path.slice(0, -1).join('/'))) : encodeURI(path.slice(0, -1).join('/'));
349
- return imageName == browser ? imagesUrl : "".concat(imagesUrl, "/").concat(encodeURI(browser));
262
+ const browser = path.slice(-1)[0];
263
+ const imagesUrl = window.location.host ? `${window.location.protocol}//${getConnectionUrl()}${window.location.pathname == '/' ? '/report' : window.location.pathname.split('/').slice(0, -1).join('/')}/${encodeURI(path.slice(0, -1).join('/'))}` : encodeURI(path.slice(0, -1).join('/'));
264
+ return imageName == browser ? imagesUrl : `${imagesUrl}/${encodeURI(browser)}`;
350
265
  }
351
-
352
266
  function getBorderSize(element) {
353
267
  // NOTE Firefox returns empty string for `borderWidth` prop
354
- var borderSize = parseFloat(getComputedStyle(element).borderTopWidth);
268
+ const borderSize = parseFloat(getComputedStyle(element).borderTopWidth);
355
269
  return Number.isNaN(borderSize) ? 0 : borderSize;
356
270
  }
357
-
358
271
  function useLoadImages(s1, s2, s3) {
359
- var _useState = (0, _react.useState)(false),
360
- _useState2 = _slicedToArray(_useState, 2),
361
- loaded = _useState2[0],
362
- setLoaded = _useState2[1];
363
-
364
- (0, _react.useEffect)(function () {
272
+ const [loaded, setLoaded] = (0, _react.useState)(false);
273
+ (0, _react.useEffect)(() => {
365
274
  setLoaded(false);
366
- void Promise.all([s1, s2, s3].map(function (url) {
367
- return new Promise(function (resolve) {
368
- var image = document.createElement('img');
369
- image.src = url;
370
- image.onload = resolve;
371
- image.onerror = resolve;
372
- });
373
- })).then(function () {
374
- return setLoaded(true);
375
- });
275
+ void Promise.all([s1, s2, s3].map(url => new Promise(resolve => {
276
+ const image = document.createElement('img');
277
+ image.src = url;
278
+ image.onload = resolve;
279
+ image.onerror = resolve;
280
+ }))).then(() => setLoaded(true));
376
281
  }, [s1, s2, s3]);
377
282
  return loaded;
378
283
  }
284
+
379
285
  /**
380
286
  * Uses the ResizeObserver API to observe changes within the given HTML Element DOM Rect.
381
287
  *
382
288
  * @returns dimensions of element's content box (which means without paddings and border width)
383
289
  */
384
-
385
-
386
290
  function useResizeObserver(elementRef, onResize) {
387
- var debounceTimeout = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 16;
388
- var observerRef = (0, _react.useRef)(null);
389
- (0, _react.useEffect)(function () {
291
+ let debounceTimeout = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 16;
292
+ const observerRef = (0, _react.useRef)(null);
293
+ (0, _react.useEffect)(() => {
390
294
  if (!elementRef.current) return;
391
295
  observerRef.current = new ResizeObserver(onResize);
392
296
  observerRef.current.observe(elementRef.current);
393
- return function () {
394
- var _observerRef$current;
395
-
396
- return (_observerRef$current = observerRef.current) === null || _observerRef$current === void 0 ? void 0 : _observerRef$current.disconnect();
397
- };
297
+ return () => observerRef.current?.disconnect();
398
298
  }, [debounceTimeout, elementRef, onResize]);
399
299
  }
400
-
401
300
  function useApplyScale(imageRef, scale, dependency) {
402
- (0, _react.useLayoutEffect)(function () {
301
+ (0, _react.useLayoutEffect)(() => {
403
302
  if (!imageRef.current) return;
404
- var image = imageRef.current;
405
- var borderSize = getBorderSize(image);
406
- image.style.height = "".concat(image.naturalHeight * scale + borderSize * 2, "px");
303
+ const image = imageRef.current;
304
+ const borderSize = getBorderSize(image);
305
+ image.style.height = `${image.naturalHeight * scale + borderSize * 2}px`;
407
306
  }, [imageRef, scale, dependency]);
408
307
  }
409
-
410
308
  function useCalcScale(diffImageRef, loaded) {
411
- var _useState3 = (0, _react.useState)(1),
412
- _useState4 = _slicedToArray(_useState3, 2),
413
- scale = _useState4[0],
414
- setScale = _useState4[1];
415
-
416
- var calcScale = (0, _react.useCallback)(function () {
417
- var diffImage = diffImageRef.current;
309
+ const [scale, setScale] = (0, _react.useState)(1);
310
+ const calcScale = (0, _react.useCallback)(() => {
311
+ const diffImage = diffImageRef.current;
418
312
  if (!diffImage || !loaded) return setScale(1);
419
- var borderSize = getBorderSize(diffImage);
420
- var ratio = (diffImage.getBoundingClientRect().width - borderSize * 2) / diffImage.naturalWidth;
313
+ const borderSize = getBorderSize(diffImage);
314
+ const ratio = (diffImage.getBoundingClientRect().width - borderSize * 2) / diffImage.naturalWidth;
421
315
  setScale(Math.min(1, ratio));
422
316
  }, [diffImageRef, loaded]);
423
317
  useResizeObserver(diffImageRef, calcScale);
424
318
  (0, _react.useLayoutEffect)(calcScale, [calcScale]);
425
319
  return scale;
426
320
  }
427
-
428
- var CREEVEY_THEME = 'Creevey_theme';
429
-
321
+ const CREEVEY_THEME = 'Creevey_theme';
430
322
  function isTheme(theme) {
431
323
  return (0, _types.isDefined)(theme) && Object.prototype.hasOwnProperty.call(_theming.themes, theme);
432
324
  }
433
-
434
325
  function initialTheme() {
435
- var theme = localStorage.getItem(CREEVEY_THEME);
326
+ const theme = localStorage.getItem(CREEVEY_THEME);
436
327
  return isTheme(theme) ? theme : 'light';
437
328
  }
438
-
439
329
  function useTheme() {
440
- var _useState5 = (0, _react.useState)(initialTheme()),
441
- _useState6 = _slicedToArray(_useState5, 2),
442
- theme = _useState6[0],
443
- setTheme = _useState6[1];
444
-
445
- (0, _react.useEffect)(function () {
330
+ const [theme, setTheme] = (0, _react.useState)(initialTheme());
331
+ (0, _react.useEffect)(() => {
446
332
  localStorage.setItem(CREEVEY_THEME, theme);
447
333
  }, [theme]);
448
334
  return [theme, setTheme];
449
335
  }
450
-
451
336
  function setSearchParams(testPath) {
452
- var pageUrl = "?".concat((0, _qs.stringify)({
453
- testPath: testPath
454
- }));
337
+ const pageUrl = `?${(0, _qs.stringify)({
338
+ testPath
339
+ })}`;
455
340
  window.history.pushState({
456
- testPath: testPath
341
+ testPath
457
342
  }, '', pageUrl);
458
343
  }
459
-
460
344
  function getTestPathFromSearch() {
461
- var _parse = (0, _qs.parse)(window.location.search.slice(1)),
462
- testPath = _parse.testPath; //@ts-expect-error: This expression is not callable.
463
-
464
-
465
- if (Array.isArray(testPath) && testPath.every(function (token) {
466
- return typeof token == 'string';
467
- })) {
345
+ const {
346
+ testPath
347
+ } = (0, _qs.parse)(window.location.search.slice(1));
348
+ //@ts-expect-error: This expression is not callable.
349
+ if (Array.isArray(testPath) && testPath.every(token => typeof token == 'string')) {
468
350
  return testPath;
469
351
  }
470
-
471
352
  return [];
472
353
  }
473
-
474
354
  function useForceUpdate() {
475
- var _useState7 = (0, _react.useState)({}),
476
- _useState8 = _slicedToArray(_useState7, 2),
477
- update = _useState8[1];
478
-
479
- return (0, _react.useCallback)(function () {
480
- return update({});
481
- }, []);
355
+ const [, update] = (0, _react.useState)({});
356
+ return (0, _react.useCallback)(() => update({}), []);
482
357
  }
@@ -3,15 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getViewMode = exports.viewModes = exports.VIEW_MODE_KEY = void 0;
7
- var VIEW_MODE_KEY = 'Creevey_view_mode';
8
- exports.VIEW_MODE_KEY = VIEW_MODE_KEY;
9
- var viewModes = ['side-by-side', 'swap', 'slide', 'blend'];
10
- exports.viewModes = viewModes;
11
-
12
- var getViewMode = function getViewMode() {
13
- var item = localStorage.getItem(VIEW_MODE_KEY);
6
+ exports.viewModes = exports.getViewMode = exports.VIEW_MODE_KEY = void 0;
7
+ const VIEW_MODE_KEY = exports.VIEW_MODE_KEY = 'Creevey_view_mode';
8
+ const viewModes = exports.viewModes = ['side-by-side', 'swap', 'slide', 'blend'];
9
+ const getViewMode = () => {
10
+ const item = localStorage.getItem(VIEW_MODE_KEY);
14
11
  return item && viewModes.includes(item) ? item : 'side-by-side';
15
12
  };
16
-
17
13
  exports.getViewMode = getViewMode;
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkcreevey=self.webpackChunkcreevey||[]).push([[192],{8192:(e,r,a)=>{a.r(r),a.d(r,{SyntaxHighlighter:()=>c.d3,createCopyToClipboardFunction:()=>c.xV,default:()=>c.qG});var c=a(23809)}}]);