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
@@ -1,33 +1,3 @@
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 _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; }
6
-
7
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
8
-
9
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
10
-
11
- 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."); }
12
-
13
- 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); }
14
-
15
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
16
-
17
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
18
-
19
- 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; }
20
-
21
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
22
-
23
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
24
-
25
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
26
-
27
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
28
-
29
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
30
-
31
1
  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; }
32
2
 
33
3
  import { SET_STORIES, STORY_RENDERED } from '@storybook/core-events';
@@ -37,12 +7,8 @@ import { initCreeveyClientApi } from '../shared/creeveyClientApi';
37
7
  import { calcStatus } from '../shared/helpers';
38
8
  import { ADDON_ID } from './register';
39
9
  import { getEmojiByTestStatus } from './utils';
40
- export var CreeveyManager = /*#__PURE__*/function () {
41
- function CreeveyManager(storybookApi) {
42
- var _this = this;
43
-
44
- _classCallCheck(this, CreeveyManager);
45
-
10
+ export class CreeveyManager {
11
+ constructor(storybookApi) {
46
12
  _defineProperty(this, "storyId", '');
47
13
 
48
14
  _defineProperty(this, "activeBrowser", '');
@@ -57,66 +23,46 @@ export var CreeveyManager = /*#__PURE__*/function () {
57
23
 
58
24
  _defineProperty(this, "creeveyApi", null);
59
25
 
26
+ _defineProperty(this, "storybookApi", void 0);
27
+
60
28
  _defineProperty(this, "stories", {});
61
29
 
62
30
  _defineProperty(this, "updateStatusListeners", []);
63
31
 
64
32
  _defineProperty(this, "changeTestListeners", []);
65
33
 
66
- _defineProperty(this, "initAll", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
67
- return regeneratorRuntime.wrap(function _callee$(_context) {
68
- while (1) {
69
- switch (_context.prev = _context.next) {
70
- case 0:
71
- _this.storybookApi.on(STORY_RENDERED, _this.onStoryRendered);
72
-
73
- _this.storybookApi.on(SET_STORIES, _this.onSetStories);
74
-
75
- _context.next = 4;
76
- return initCreeveyClientApi();
77
-
78
- case 4:
79
- _this.creeveyApi = _context.sent;
80
-
81
- _this.creeveyApi.onUpdate(_this.handleCreeveyUpdate);
82
-
83
- _context.next = 8;
84
- return _this.creeveyApi.status;
85
-
86
- case 8:
87
- _this.status = _context.sent;
88
-
89
- case 9:
90
- case "end":
91
- return _context.stop();
92
- }
93
- }
94
- }, _callee);
95
- })));
34
+ _defineProperty(this, "initAll", async () => {
35
+ this.storybookApi.on(STORY_RENDERED, this.onStoryRendered);
36
+ this.storybookApi.on(SET_STORIES, this.onSetStories);
37
+ this.creeveyApi = await initCreeveyClientApi();
38
+ this.creeveyApi.onUpdate(this.handleCreeveyUpdate);
39
+ this.status = await this.creeveyApi.status;
40
+ });
96
41
 
97
- _defineProperty(this, "handleCreeveyUpdate", function (update) {
98
- var tests = update.tests,
99
- _update$removedTests = update.removedTests,
100
- removedTests = _update$removedTests === void 0 ? [] : _update$removedTests,
101
- isRunning = update.isRunning;
42
+ _defineProperty(this, "handleCreeveyUpdate", update => {
43
+ const {
44
+ tests,
45
+ removedTests = [],
46
+ isRunning
47
+ } = update;
102
48
 
103
49
  if (isDefined(isRunning)) {
104
- _this.status.isRunning = isRunning;
50
+ this.status.isRunning = isRunning;
105
51
  }
106
52
 
107
53
  if (isDefined(tests)) {
108
- var prevTests = _this.status.tests;
109
- var prevStories = _this.stories || {};
110
- Object.values(tests).filter(isDefined).forEach(function (update) {
111
- var _test$results;
112
-
113
- var id = update.id,
114
- skip = update.skip,
115
- status = update.status,
116
- results = update.results,
117
- approved = update.approved,
118
- storyId = update.storyId;
119
- var test = prevTests[id];
54
+ const prevTests = this.status.tests;
55
+ const prevStories = this.stories || {};
56
+ Object.values(tests).filter(isDefined).forEach(update => {
57
+ const {
58
+ id,
59
+ skip,
60
+ status,
61
+ results,
62
+ approved,
63
+ storyId
64
+ } = update;
65
+ const test = prevTests[id];
120
66
 
121
67
  if (!test) {
122
68
  return prevTests[id] = update;
@@ -128,269 +74,175 @@ export var CreeveyManager = /*#__PURE__*/function () {
128
74
  test.status = status;
129
75
 
130
76
  if (isDefined(storyId) && isDefined(prevStories[storyId])) {
131
- var story = prevStories[storyId];
132
-
133
- var storyStatus = _this.getStoryTests(storyId);
134
-
135
- var oldStatus = storyStatus.map(function (x) {
136
- return x.id === id ? status : x.status;
137
- }).reduce(function (oldStatus, newStatus) {
138
- return calcStatus(oldStatus, newStatus);
139
- }, undefined);
140
- story.name = _this.addStatusToStoryName(story.name, calcStatus(oldStatus, status), skip || false);
77
+ const story = prevStories[storyId];
78
+ const storyStatus = this.getStoryTests(storyId);
79
+ const oldStatus = storyStatus.map(x => x.id === id ? status : x.status).reduce((oldStatus, newStatus) => calcStatus(oldStatus, newStatus), undefined);
80
+ story.name = this.addStatusToStoryName(story.name, calcStatus(oldStatus, status), skip || false);
141
81
  }
142
82
  }
143
83
 
144
- if (isDefined(results)) test.results ? (_test$results = test.results).push.apply(_test$results, _toConsumableArray(results)) : test.results = results;
84
+ if (isDefined(results)) test.results ? test.results.push(...results) : test.results = results;
145
85
 
146
86
  if (isDefined(approved)) {
147
- Object.entries(approved).forEach(function (_ref2) {
148
- var _ref3 = _slicedToArray(_ref2, 2),
149
- image = _ref3[0],
150
- retry = _ref3[1];
151
-
87
+ Object.entries(approved).forEach(_ref => {
88
+ let [image, retry] = _ref;
152
89
  return retry !== undefined && test && ((test.approved = (test === null || test === void 0 ? void 0 : test.approved) || {})[image] = retry);
153
90
  });
154
91
  }
155
92
  });
156
- removedTests.forEach(function (_ref4) {
157
- var id = _ref4.id;
93
+ removedTests.forEach(_ref2 => {
94
+ let {
95
+ id
96
+ } = _ref2;
158
97
  return delete prevTests[id];
159
98
  });
160
- _this.status.tests = prevTests;
161
- _this.stories = prevStories;
162
-
163
- _this.setPanelsTitle();
164
-
165
- void _this.storybookApi.setStories(_this.stories);
99
+ this.status.tests = prevTests;
100
+ this.stories = prevStories;
101
+ this.setPanelsTitle();
102
+ void this.storybookApi.setStories(this.stories);
166
103
  }
167
104
 
168
- _this.updateStatusListeners.forEach(function (x) {
169
- return x(update);
170
- });
105
+ this.updateStatusListeners.forEach(x => x(update));
171
106
  });
172
107
 
173
- _defineProperty(this, "getCurrentTest", function () {
174
- return _this.status.tests[_this.selectedTestId];
108
+ _defineProperty(this, "getCurrentTest", () => {
109
+ return this.status.tests[this.selectedTestId];
175
110
  });
176
111
 
177
- _defineProperty(this, "onStoryRendered", function (storyId) {
178
- if (_this.storyId === '') void _this.addStatusesToSideBar();
112
+ _defineProperty(this, "onStoryRendered", storyId => {
113
+ if (this.storyId === '') void this.addStatusesToSideBar();
179
114
 
180
- if (_this.storyId !== storyId) {
115
+ if (this.storyId !== storyId) {
181
116
  var _this$getTestsByStory, _this$getTestsByStory2;
182
117
 
183
- _this.storyId = storyId;
184
- _this.selectedTestId = (_this$getTestsByStory = (_this$getTestsByStory2 = _this.getTestsByStoryIdAndBrowser(_this.activeBrowser)[0]) === null || _this$getTestsByStory2 === void 0 ? void 0 : _this$getTestsByStory2.id) !== null && _this$getTestsByStory !== void 0 ? _this$getTestsByStory : '';
185
-
186
- _this.setPanelsTitle();
187
-
188
- _this.changeTestListeners.forEach(function (x) {
189
- return x(_this.selectedTestId);
190
- });
118
+ this.storyId = storyId;
119
+ this.selectedTestId = (_this$getTestsByStory = (_this$getTestsByStory2 = this.getTestsByStoryIdAndBrowser(this.activeBrowser)[0]) === null || _this$getTestsByStory2 === void 0 ? void 0 : _this$getTestsByStory2.id) !== null && _this$getTestsByStory !== void 0 ? _this$getTestsByStory : '';
120
+ this.setPanelsTitle();
121
+ this.changeTestListeners.forEach(x => x(this.selectedTestId));
191
122
  }
192
123
  });
193
124
 
194
- _defineProperty(this, "onStart", function () {
125
+ _defineProperty(this, "onStart", () => {
195
126
  var _this$creeveyApi;
196
127
 
197
- (_this$creeveyApi = _this.creeveyApi) === null || _this$creeveyApi === void 0 ? void 0 : _this$creeveyApi.start([_this.selectedTestId]);
128
+ (_this$creeveyApi = this.creeveyApi) === null || _this$creeveyApi === void 0 ? void 0 : _this$creeveyApi.start([this.selectedTestId]);
198
129
  });
199
130
 
200
- _defineProperty(this, "onStop", function () {
131
+ _defineProperty(this, "onStop", () => {
201
132
  var _this$creeveyApi2;
202
133
 
203
- (_this$creeveyApi2 = _this.creeveyApi) === null || _this$creeveyApi2 === void 0 ? void 0 : _this$creeveyApi2.stop();
134
+ (_this$creeveyApi2 = this.creeveyApi) === null || _this$creeveyApi2 === void 0 ? void 0 : _this$creeveyApi2.stop();
204
135
  });
205
136
 
206
- _defineProperty(this, "onImageApprove", function (id, retry, image) {
137
+ _defineProperty(this, "onImageApprove", (id, retry, image) => {
207
138
  var _this$creeveyApi3;
208
139
 
209
- return (_this$creeveyApi3 = _this.creeveyApi) === null || _this$creeveyApi3 === void 0 ? void 0 : _this$creeveyApi3.approve(id, retry, image);
140
+ return (_this$creeveyApi3 = this.creeveyApi) === null || _this$creeveyApi3 === void 0 ? void 0 : _this$creeveyApi3.approve(id, retry, image);
210
141
  });
211
142
 
212
- _defineProperty(this, "onStartAllStoryTests", function () {
143
+ _defineProperty(this, "onStartAllStoryTests", () => {
213
144
  var _this$creeveyApi4;
214
145
 
215
- var ids = Object.values(_this.status.tests).filter(isDefined).filter(function (x) {
216
- return x.storyId === _this.storyId;
217
- }).map(function (x) {
218
- return x.id;
219
- });
220
- (_this$creeveyApi4 = _this.creeveyApi) === null || _this$creeveyApi4 === void 0 ? void 0 : _this$creeveyApi4.start(ids);
146
+ const ids = Object.values(this.status.tests).filter(isDefined).filter(x => x.storyId === this.storyId).map(x => x.id);
147
+ (_this$creeveyApi4 = this.creeveyApi) === null || _this$creeveyApi4 === void 0 ? void 0 : _this$creeveyApi4.start(ids);
221
148
  });
222
149
 
223
- _defineProperty(this, "onStartAllTests", function () {
150
+ _defineProperty(this, "onStartAllTests", () => {
224
151
  var _this$creeveyApi5;
225
152
 
226
- var ids = Object.values(_this.status.tests).filter(isDefined).map(function (x) {
227
- return x.id;
228
- });
229
- (_this$creeveyApi5 = _this.creeveyApi) === null || _this$creeveyApi5 === void 0 ? void 0 : _this$creeveyApi5.start(ids);
153
+ const ids = Object.values(this.status.tests).filter(isDefined).map(x => x.id);
154
+ (_this$creeveyApi5 = this.creeveyApi) === null || _this$creeveyApi5 === void 0 ? void 0 : _this$creeveyApi5.start(ids);
230
155
  });
231
156
 
232
- _defineProperty(this, "onSetStories", function (data) {
233
- var stories = data.v ? denormalizeStoryParameters(data) : data.stories;
234
- _this.stories = stories;
157
+ _defineProperty(this, "onSetStories", data => {
158
+ const stories = data.v ? denormalizeStoryParameters(data) : data.stories;
159
+ this.stories = stories;
235
160
  });
236
161
 
237
- _defineProperty(this, "setActiveBrowser", function (browser) {
162
+ _defineProperty(this, "setActiveBrowser", browser => {
238
163
  var _this$getTestsByStory3, _this$getTestsByStory4;
239
164
 
240
- _this.activeBrowser = browser;
241
- _this.selectedTestId = (_this$getTestsByStory3 = (_this$getTestsByStory4 = _this.getTestsByStoryIdAndBrowser(_this.activeBrowser)[0]) === null || _this$getTestsByStory4 === void 0 ? void 0 : _this$getTestsByStory4.id) !== null && _this$getTestsByStory3 !== void 0 ? _this$getTestsByStory3 : '';
242
-
243
- _this.changeTestListeners.forEach(function (x) {
244
- return x(_this.selectedTestId);
245
- });
165
+ this.activeBrowser = browser;
166
+ this.selectedTestId = (_this$getTestsByStory3 = (_this$getTestsByStory4 = this.getTestsByStoryIdAndBrowser(this.activeBrowser)[0]) === null || _this$getTestsByStory4 === void 0 ? void 0 : _this$getTestsByStory4.id) !== null && _this$getTestsByStory3 !== void 0 ? _this$getTestsByStory3 : '';
167
+ this.changeTestListeners.forEach(x => x(this.selectedTestId));
246
168
  });
247
169
 
248
- _defineProperty(this, "setSelectedTestId", function (testId) {
249
- _this.selectedTestId = testId;
250
-
251
- _this.changeTestListeners.forEach(function (x) {
252
- return x(_this.selectedTestId);
253
- });
170
+ _defineProperty(this, "setSelectedTestId", testId => {
171
+ this.selectedTestId = testId;
172
+ this.changeTestListeners.forEach(x => x(this.selectedTestId));
254
173
  });
255
174
 
256
- _defineProperty(this, "getStoryTests", function (storyId) {
257
- if (!_this.status || !_this.status.tests) return [];
258
- return Object.values(_this.status.tests).filter(function (result) {
259
- return (result === null || result === void 0 ? void 0 : result.storyId) === storyId;
260
- }).filter(isDefined);
175
+ _defineProperty(this, "getStoryTests", storyId => {
176
+ if (!this.status || !this.status.tests) return [];
177
+ return Object.values(this.status.tests).filter(result => (result === null || result === void 0 ? void 0 : result.storyId) === storyId).filter(isDefined);
261
178
  });
262
179
 
263
- _defineProperty(this, "getBrowsers", function () {
264
- return _this.status.browsers;
180
+ _defineProperty(this, "getBrowsers", () => {
181
+ return this.status.browsers;
265
182
  });
266
183
 
267
- _defineProperty(this, "getTestsByStoryIdAndBrowser", function (browser) {
268
- return Object.values(_this.status.tests).filter(function (x) {
269
- return (x === null || x === void 0 ? void 0 : x.browser) === browser && x.storyId === _this.storyId;
270
- }).filter(isDefined);
184
+ _defineProperty(this, "getTestsByStoryIdAndBrowser", browser => {
185
+ return Object.values(this.status.tests).filter(x => (x === null || x === void 0 ? void 0 : x.browser) === browser && x.storyId === this.storyId).filter(isDefined);
271
186
  });
272
187
 
273
- _defineProperty(this, "getTabTitle", function (browser) {
274
- var tests = _this.getTestsByStoryIdAndBrowser(browser);
275
-
276
- var browserStatus = tests.map(function (x) {
277
- return x && x.status;
278
- }).reduce(function (oldStatus, newStatus) {
279
- return calcStatus(oldStatus, newStatus);
280
- }, undefined);
281
- var browserSkip = tests.length > 0 ? tests.every(function (x) {
282
- return x && x.skip;
283
- }) : false;
284
- var emojiStatus = getEmojiByTestStatus(browserStatus, browserSkip);
188
+ _defineProperty(this, "getTabTitle", browser => {
189
+ const tests = this.getTestsByStoryIdAndBrowser(browser);
190
+ const browserStatus = tests.map(x => x && x.status).reduce((oldStatus, newStatus) => calcStatus(oldStatus, newStatus), undefined);
191
+ const browserSkip = tests.length > 0 ? tests.every(x => x && x.skip) : false;
192
+ const emojiStatus = getEmojiByTestStatus(browserStatus, browserSkip);
285
193
  return "".concat(emojiStatus ? "".concat(emojiStatus, " ") : '', "Creevey/").concat(browser);
286
194
  });
287
195
 
288
- _defineProperty(this, "setPanelsTitle", function () {
196
+ _defineProperty(this, "setPanelsTitle", () => {
289
197
  var _this$storybookApi;
290
198
 
291
- var panels = (_this$storybookApi = _this.storybookApi) === null || _this$storybookApi === void 0 ? void 0 : _this$storybookApi.getPanels();
199
+ const panels = (_this$storybookApi = this.storybookApi) === null || _this$storybookApi === void 0 ? void 0 : _this$storybookApi.getPanels();
292
200
  if (!panels) return;
293
- var firstPanelBrowser = _this.activeBrowser;
201
+ let firstPanelBrowser = this.activeBrowser;
294
202
 
295
- for (var p in panels) {
203
+ for (const p in panels) {
296
204
  var _panel$id;
297
205
 
298
- var panel = panels[p];
206
+ const panel = panels[p];
299
207
 
300
208
  if (((_panel$id = panel.id) === null || _panel$id === void 0 ? void 0 : _panel$id.indexOf(ADDON_ID)) === 0 && panel.paramKey) {
301
- panel.title = _this.getTabTitle(panel.paramKey);
209
+ panel.title = this.getTabTitle(panel.paramKey);
302
210
  if (!firstPanelBrowser) firstPanelBrowser = panel.paramKey;
303
211
  }
304
212
  }
305
213
 
306
- _this.storybookApi.setSelectedPanel("".concat(ADDON_ID, "/panel/").concat(firstPanelBrowser));
214
+ this.storybookApi.setSelectedPanel("".concat(ADDON_ID, "/panel/").concat(firstPanelBrowser));
307
215
  });
308
216
 
309
217
  this.storybookApi = storybookApi;
310
218
  }
311
219
 
312
- _createClass(CreeveyManager, [{
313
- key: "onUpdateStatus",
314
- value: function onUpdateStatus(listener) {
315
- var _this2 = this;
316
-
317
- this.updateStatusListeners.push(listener);
318
- return function () {
319
- return void (_this2.updateStatusListeners = _this2.updateStatusListeners.filter(function (x) {
320
- return x != listener;
321
- }));
322
- };
323
- }
324
- }, {
325
- key: "onChangeTest",
326
- value: function onChangeTest(listener) {
327
- var _this3 = this;
328
-
329
- this.changeTestListeners.push(listener);
330
- return function () {
331
- return void (_this3.changeTestListeners = _this3.changeTestListeners.filter(function (x) {
332
- return x != listener;
333
- }));
334
- };
335
- }
336
- }, {
337
- key: "addStatusesToSideBar",
338
- value: function () {
339
- var _addStatusesToSideBar = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
340
- var _this4 = this;
341
-
342
- var stories;
343
- return regeneratorRuntime.wrap(function _callee2$(_context2) {
344
- while (1) {
345
- switch (_context2.prev = _context2.next) {
346
- case 0:
347
- if (Object.keys(this.stories).length) {
348
- _context2.next = 2;
349
- break;
350
- }
351
-
352
- return _context2.abrupt("return");
353
-
354
- case 2:
355
- stories = this.stories;
356
- Object.keys(this.stories).forEach(function (storyId) {
357
- var storyStatus = _this4.getStoryTests(storyId);
358
-
359
- var status = storyStatus.map(function (x) {
360
- return x.status;
361
- }).reduce(function (oldStatus, newStatus) {
362
- return calcStatus(oldStatus, newStatus);
363
- }, undefined);
364
- var skip = storyStatus.length > 0 ? storyStatus.every(function (x) {
365
- return x.skip;
366
- }) : false;
367
- _this4.stories[storyId].name = _this4.addStatusToStoryName(stories[storyId].name, status, skip);
368
- });
369
- _context2.next = 6;
370
- return this.storybookApi.setStories(this.stories);
371
-
372
- case 6:
373
- case "end":
374
- return _context2.stop();
375
- }
376
- }
377
- }, _callee2, this);
378
- }));
220
+ onUpdateStatus(listener) {
221
+ this.updateStatusListeners.push(listener);
222
+ return () => void (this.updateStatusListeners = this.updateStatusListeners.filter(x => x != listener));
223
+ }
379
224
 
380
- function addStatusesToSideBar() {
381
- return _addStatusesToSideBar.apply(this, arguments);
382
- }
225
+ onChangeTest(listener) {
226
+ this.changeTestListeners.push(listener);
227
+ return () => void (this.changeTestListeners = this.changeTestListeners.filter(x => x != listener));
228
+ }
229
+
230
+ async addStatusesToSideBar() {
231
+ if (!Object.keys(this.stories).length) return;
232
+ const stories = this.stories;
233
+ Object.keys(this.stories).forEach(storyId => {
234
+ const storyStatus = this.getStoryTests(storyId);
235
+ const status = storyStatus.map(x => x.status).reduce((oldStatus, newStatus) => calcStatus(oldStatus, newStatus), undefined);
236
+ const skip = storyStatus.length > 0 ? storyStatus.every(x => x.skip) : false;
237
+ this.stories[storyId].name = this.addStatusToStoryName(stories[storyId].name, status, skip);
238
+ });
239
+ await this.storybookApi.setStories(this.stories);
240
+ }
241
+
242
+ addStatusToStoryName(name, status, skip) {
243
+ name = name.replace(/^(❌|✔|🟡|🕗|⏸) /, '');
244
+ const emojiStatus = getEmojiByTestStatus(status, skip);
245
+ return "".concat(emojiStatus ? "".concat(emojiStatus, " ") : '', " ").concat(name);
246
+ }
383
247
 
384
- return addStatusesToSideBar;
385
- }()
386
- }, {
387
- key: "addStatusToStoryName",
388
- value: function addStatusToStoryName(name, status, skip) {
389
- name = name.replace(/^(❌|✔|🟡|🕗|⏸) /, '');
390
- var emojiStatus = getEmojiByTestStatus(status, skip);
391
- return "".concat(emojiStatus ? "".concat(emojiStatus, " ") : '', " ").concat(name);
392
- }
393
- }]);
394
-
395
- return CreeveyManager;
396
- }();
248
+ }
@@ -1,50 +1,31 @@
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 { Placeholder } from '@storybook/components';
14
2
  import React, { useEffect, useState } from 'react';
15
3
  import { Panel } from './Panel';
16
- export var Addon = function Addon(_ref) {
17
- var active = _ref.active,
18
- browser = _ref.browser,
19
- manager = _ref.manager;
20
-
21
- var _useState = useState([]),
22
- _useState2 = _slicedToArray(_useState, 2),
23
- tests = _useState2[0],
24
- setTests = _useState2[1];
25
-
26
- var _useState3 = useState(manager.selectedTestId),
27
- _useState4 = _slicedToArray(_useState3, 2),
28
- selectedTestId = _useState4[0],
29
- setSelectedTestId = _useState4[1];
30
-
31
- useEffect(function () {
4
+ export const Addon = _ref => {
5
+ let {
6
+ active,
7
+ browser,
8
+ manager
9
+ } = _ref;
10
+ const [tests, setTests] = useState([]);
11
+ const [selectedTestId, setSelectedTestId] = useState(manager.selectedTestId);
12
+ useEffect(() => {
32
13
  if (active) {
33
14
  manager.setActiveBrowser(browser);
34
- var browserTests = manager.getTestsByStoryIdAndBrowser(manager.activeBrowser);
15
+ const browserTests = manager.getTestsByStoryIdAndBrowser(manager.activeBrowser);
35
16
  setTests(browserTests);
36
17
  }
37
18
  }, [active, browser, manager]);
38
- useEffect(function () {
39
- var unsubscribe = manager.onChangeTest(function (testId) {
19
+ useEffect(() => {
20
+ const unsubscribe = manager.onChangeTest(testId => {
40
21
  setSelectedTestId(testId);
41
- var status = manager.getTestsByStoryIdAndBrowser(manager.activeBrowser);
22
+ const status = manager.getTestsByStoryIdAndBrowser(manager.activeBrowser);
42
23
  setTests(status);
43
24
  });
44
25
  return unsubscribe;
45
26
  }, [manager]);
46
- useEffect(function () {
47
- var unsubscribe = manager.onUpdateStatus(function () {
27
+ useEffect(() => {
28
+ const unsubscribe = manager.onUpdateStatus(() => {
48
29
  setTests(manager.getTestsByStoryIdAndBrowser(manager.activeBrowser));
49
30
  });
50
31
  return unsubscribe;
@@ -1,7 +1,9 @@
1
1
  import React from 'react';
2
- export var NextIcon = function NextIcon(_ref) {
3
- var width = _ref.width,
4
- height = _ref.height;
2
+ export const NextIcon = _ref => {
3
+ let {
4
+ width,
5
+ height
6
+ } = _ref;
5
7
  return /*#__PURE__*/React.createElement("svg", {
6
8
  version: "1.1",
7
9
  width: width,
@@ -12,9 +14,11 @@ export var NextIcon = function NextIcon(_ref) {
12
14
  fill: "currentColor"
13
15
  }));
14
16
  };
15
- export var ForwardIcon = function ForwardIcon(_ref2) {
16
- var width = _ref2.width,
17
- height = _ref2.height;
17
+ export const ForwardIcon = _ref2 => {
18
+ let {
19
+ width,
20
+ height
21
+ } = _ref2;
18
22
  return /*#__PURE__*/React.createElement("svg", {
19
23
  version: "1.1",
20
24
  width: width,
@@ -22,6 +26,6 @@ export var ForwardIcon = function ForwardIcon(_ref2) {
22
26
  viewBox: "0 0 512 512"
23
27
  }, /*#__PURE__*/React.createElement("path", {
24
28
  fill: "currentColor",
25
- d: "M460.9,246.8l-209-164.2c-7.8-6.1-19.2-0.6-19.2,9.2v328.4c0,9.8,11.4,15.3,19.2,9.2l209-164.2c5.1-4,6-11.4,2-16.5 C462.4,248,461.7,247.3,460.9,246.8L460.9,246.8z M228.2,246.8L19.2,82.5C11.4,76.4,0,82,0,91.8v328.4c0,9.8,11.4,15.3,19.2,9.2 l209-164.2c3-2.3,4.5-5.8,4.5-9.2C232.7,252.6,231.2,249.1,228.2,246.8z M507.3,64h-37.2c-2.5,0-4.7,2-4.7,4.4v375.3 c0,2.4,2.1,4.4,4.7,4.4h37.2c2.5,0,4.7-2,4.7-4.4V68.4C512,66,509.9,64,507.3,64z"
29
+ d: "M460.9,246.8l-209-164.2c-7.8-6.1-19.2-0.6-19.2,9.2v328.4c0,9.8,11.4,15.3,19.2,9.2l209-164.2c5.1-4,6-11.4,2-16.5\r C462.4,248,461.7,247.3,460.9,246.8L460.9,246.8z M228.2,246.8L19.2,82.5C11.4,76.4,0,82,0,91.8v328.4c0,9.8,11.4,15.3,19.2,9.2\r l209-164.2c3-2.3,4.5-5.8,4.5-9.2C232.7,252.6,231.2,249.1,228.2,246.8z M507.3,64h-37.2c-2.5,0-4.7,2-4.7,4.4v375.3\r c0,2.4,2.1,4.4,4.7,4.4h37.2c2.5,0,4.7-2,4.7-4.4V68.4C512,66,509.9,64,507.3,64z"
26
30
  }));
27
31
  };