storybook-addon-playwright 4.6.4 → 4.8.0

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 (35) hide show
  1. package/configs.d.ts +1 -1
  2. package/configs.js +2 -2
  3. package/dist/api/client/get-theme-data.d.ts +2 -0
  4. package/dist/api/client/get-theme-data.js +16 -0
  5. package/dist/api/client/get-theme-data.js.map +1 -0
  6. package/dist/api/client/utils/endpoint.d.ts +1 -1
  7. package/dist/api/server/controller/get-theme-data.d.ts +1 -0
  8. package/dist/api/server/controller/get-theme-data.js +9 -0
  9. package/dist/api/server/controller/get-theme-data.js.map +1 -0
  10. package/dist/api/server/controller/index.d.ts +1 -0
  11. package/dist/api/server/controller/index.js +1 -0
  12. package/dist/api/server/controller/index.js.map +1 -1
  13. package/dist/api/server/routes.js +1 -0
  14. package/dist/api/server/routes.js.map +1 -1
  15. package/dist/api/server/services/get-theme-data.d.ts +1 -0
  16. package/dist/api/server/services/get-theme-data.js +7 -0
  17. package/dist/api/server/services/get-theme-data.js.map +1 -0
  18. package/dist/api/server/utils/install-mouse-helper.js +19 -19
  19. package/dist/components/common/ThemeProvider.js +3 -1
  20. package/dist/components/common/ThemeProvider.js.map +1 -1
  21. package/dist/components/preview/SelectorOverlay.js +2 -2
  22. package/dist/components/tool-bar/ImageDiffMenuItem.js +32 -1
  23. package/dist/components/tool-bar/ImageDiffMenuItem.js.map +1 -1
  24. package/dist/constants/routes.d.ts +1 -0
  25. package/dist/constants/routes.js +1 -0
  26. package/dist/constants/routes.js.map +1 -1
  27. package/dist/hooks/use-custom-theme.d.ts +7 -0
  28. package/dist/hooks/use-custom-theme.js +28 -0
  29. package/dist/hooks/use-custom-theme.js.map +1 -0
  30. package/dist/typings/config.d.ts +3 -1
  31. package/middleware.d.ts +2 -2
  32. package/middleware.js +2 -2
  33. package/package.json +3 -3
  34. package/preset.js +1 -1
  35. package/typings/global.d.ts +15 -15
package/configs.d.ts CHANGED
@@ -1 +1 @@
1
- export * from './dist/api/server/configs';
1
+ export * from './dist/api/server/configs';
package/configs.js CHANGED
@@ -1,2 +1,2 @@
1
- const configs = require('./dist/api/server/configs');
2
- module.exports = configs;
1
+ const configs = require('./dist/api/server/configs');
2
+ module.exports = configs;
@@ -0,0 +1,2 @@
1
+ import { Theme } from '@material-ui/core';
2
+ export declare const getThemeData: () => Promise<Theme>;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const utils_1 = require("./utils");
5
+ exports.getThemeData = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
6
+ const restEndpoint = utils_1.getEndpoint('GET_THEME');
7
+ const resp = yield fetch(restEndpoint, {
8
+ headers: {
9
+ Accept: 'application/json, text-plain, */*',
10
+ 'Content-Type': 'application/json',
11
+ },
12
+ method: 'post',
13
+ }).then(utils_1.responseHandler);
14
+ return resp;
15
+ });
16
+ //# sourceMappingURL=get-theme-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-theme-data.js","sourceRoot":"","sources":["../../../src/api/client/get-theme-data.ts"],"names":[],"mappings":";;;AACA,mCAAuD;AAE1C,QAAA,YAAY,GAAG,GAAqC,EAAE;IACjE,MAAM,YAAY,GAAG,mBAAW,CAAC,WAAW,CAAC,CAAC;IAE9C,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,YAAY,EAAE;QACrC,OAAO,EAAE;YACP,MAAM,EAAE,mCAAmC;YAC3C,cAAc,EAAE,kBAAkB;SACnC;QACD,MAAM,EAAE,MAAM;KACf,CAAC,CAAC,IAAI,CAAC,uBAAe,CAAC,CAAC;IAEzB,OAAO,IAAI,CAAC;AACd,CAAC,CAAA,CAAC"}
@@ -1 +1 @@
1
- export declare const getEndpoint: (route: "CHANGE_SCREENSHOT_INDEX" | "DELETE_ACTION_SET" | "DELETE_SCREENSHOT" | "DELETE_STORY_SCREENSHOT" | "FIX_STORY_TITLE_CHANGE" | "GET_ACTIONS_DATA" | "GET_ACTION_SET" | "GET_SCHEMA" | "GET_STORY_SCREENSHOTS" | "SAVE_ACTION_SET" | "SAVE_SCREENSHOT" | "TAKE_SCREENSHOT" | "TEST_SCREENSHOT" | "TEST_SCREENSHOTS" | "TEST_STORY_SCREENSHOT" | "UPDATE_SCREENSHOT") => string;
1
+ export declare const getEndpoint: (route: "CHANGE_SCREENSHOT_INDEX" | "DELETE_ACTION_SET" | "DELETE_SCREENSHOT" | "DELETE_STORY_SCREENSHOT" | "FIX_STORY_TITLE_CHANGE" | "GET_ACTIONS_DATA" | "GET_ACTION_SET" | "GET_SCHEMA" | "GET_STORY_SCREENSHOTS" | "GET_THEME" | "SAVE_ACTION_SET" | "SAVE_SCREENSHOT" | "TAKE_SCREENSHOT" | "TEST_SCREENSHOT" | "TEST_SCREENSHOTS" | "TEST_STORY_SCREENSHOT" | "UPDATE_SCREENSHOT") => string;
@@ -0,0 +1 @@
1
+ export declare const getThemeData: (_req: any, res: any) => Promise<void>;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const get_theme_data_1 = require("../services/get-theme-data");
5
+ exports.getThemeData = (_req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
6
+ const theme = get_theme_data_1.getThemeData();
7
+ res.json(theme);
8
+ });
9
+ //# sourceMappingURL=get-theme-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-theme-data.js","sourceRoot":"","sources":["../../../../src/api/server/controller/get-theme-data.ts"],"names":[],"mappings":";;;AAAA,+DAAgF;AAEnE,QAAA,YAAY,GAAG,CAAO,IAAI,EAAE,GAAG,EAAiB,EAAE;IAC3D,MAAM,KAAK,GAAG,6BAAmB,EAAE,CAAC;IACpC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpB,CAAC,CAAA,CAAA"}
@@ -14,3 +14,4 @@ export * from './delete-story-screenshots';
14
14
  export * from './change-screenshot-index';
15
15
  export * from './get-schema-controller';
16
16
  export * from './fix-screenshot-file-name';
17
+ export * from './get-theme-data';
@@ -17,4 +17,5 @@ tslib_1.__exportStar(require("./delete-story-screenshots"), exports);
17
17
  tslib_1.__exportStar(require("./change-screenshot-index"), exports);
18
18
  tslib_1.__exportStar(require("./get-schema-controller"), exports);
19
19
  tslib_1.__exportStar(require("./fix-screenshot-file-name"), exports);
20
+ tslib_1.__exportStar(require("./get-theme-data"), exports);
20
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/server/controller/index.ts"],"names":[],"mappings":";;;AAAA,2DAAiC;AACjC,+DAAqC;AACrC,2DAAiC;AACjC,4DAAkC;AAClC,4DAAkC;AAClC,8DAAoC;AACpC,kEAAwC;AACxC,8DAAoC;AACpC,4DAAkC;AAClC,mEAAyC;AACzC,6DAAmC;AACnC,8DAAoC;AACpC,qEAA2C;AAC3C,oEAA0C;AAC1C,kEAAwC;AACxC,qEAA2C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/server/controller/index.ts"],"names":[],"mappings":";;;AAAA,2DAAiC;AACjC,+DAAqC;AACrC,2DAAiC;AACjC,4DAAkC;AAClC,4DAAkC;AAClC,8DAAoC;AACpC,kEAAwC;AACxC,8DAAoC;AACpC,4DAAkC;AAClC,mEAAyC;AACzC,6DAAmC;AACnC,8DAAoC;AACpC,qEAA2C;AAC3C,oEAA0C;AAC1C,kEAAwC;AACxC,qEAA2C;AAC3C,2DAAiC"}
@@ -43,6 +43,7 @@ const expressMiddleWare = (router) => {
43
43
  router.post(routes_1.ROUTE.CHANGE_SCREENSHOT_INDEX, exports.asyncCatch(controller_1.changeScreenShotIndex));
44
44
  router.post(routes_1.ROUTE.GET_SCHEMA, exports.asyncCatch(controller_1.getSchemaController));
45
45
  router.post(routes_1.ROUTE.FIX_STORY_TITLE_CHANGE, exports.asyncCatch(controller_1.fixScreenshotFileName));
46
+ router.post(routes_1.ROUTE.GET_THEME, exports.asyncCatch(controller_1.getThemeData));
46
47
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
47
48
  router.use((error, _req, res, next) => {
48
49
  res.status(error.status || 500).send({
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../src/api/server/routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../src/api/server/routes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const getThemeData: () => import("@material-ui/core").Theme;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const configs_1 = require("../configs");
4
+ exports.getThemeData = () => {
5
+ return configs_1.getConfigs().theme;
6
+ };
7
+ //# sourceMappingURL=get-theme-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-theme-data.js","sourceRoot":"","sources":["../../../../src/api/server/services/get-theme-data.ts"],"names":[],"mappings":";;AAAA,wCAAwC;AAE3B,QAAA,YAAY,GAAG,GAAG,EAAE;IAC7B,OAAO,oBAAU,EAAE,CAAC,KAAK,CAAC;AAC9B,CAAC,CAAA"}
@@ -27,25 +27,25 @@ function installMouseHelper(page) {
27
27
  }
28
28
  return highestZIndex + 1;
29
29
  }
30
- styleElement.innerHTML = `
31
- playwright-mouse-pointer {
32
- position: absolute;
33
- top: -100px;
34
- z-index: 1000;
35
- left: -100px;
36
- width: 14px;
37
- height: 14px;
38
- background: rgba(0, 0, 0, 0.39);
39
- border: 2px solid #fbfbfb9e;
40
- border-radius: 14px;
41
- margin: -8px 0 0 -8px;
42
- padding: 0;
43
- pointer-events: none;
44
- box-sizing: content-box;
45
- }
46
- playwright-mouse-pointer.button-mousedown {
47
- background: rgba(243, 169, 4, 0.87);
48
- }
30
+ styleElement.innerHTML = `
31
+ playwright-mouse-pointer {
32
+ position: absolute;
33
+ top: -100px;
34
+ z-index: 1000;
35
+ left: -100px;
36
+ width: 14px;
37
+ height: 14px;
38
+ background: rgba(0, 0, 0, 0.39);
39
+ border: 2px solid #fbfbfb9e;
40
+ border-radius: 14px;
41
+ margin: -8px 0 0 -8px;
42
+ padding: 0;
43
+ pointer-events: none;
44
+ box-sizing: content-box;
45
+ }
46
+ playwright-mouse-pointer.button-mousedown {
47
+ background: rgba(243, 169, 4, 0.87);
48
+ }
49
49
  `;
50
50
  document.head.appendChild(styleElement);
51
51
  document.body.appendChild(box);
@@ -4,10 +4,12 @@ const tslib_1 = require("tslib");
4
4
  const react_1 = tslib_1.__importStar(require("react"));
5
5
  const styles_1 = require("@material-ui/core/styles");
6
6
  const api_1 = require("@storybook/api");
7
+ const use_custom_theme_1 = require("../../hooks/use-custom-theme");
7
8
  // import global from 'jss-plugin-global';
8
9
  const ThemeProvider = react_1.memo((props) => {
9
10
  const { children } = props;
10
11
  const { theme: storyBookTheme } = api_1.useStorybookState();
12
+ const { theme: customTheme } = use_custom_theme_1.useCustomTheme();
11
13
  const theme = styles_1.createTheme({
12
14
  palette: {
13
15
  action: { active: storyBookTheme.barTextColor },
@@ -24,7 +26,7 @@ const ThemeProvider = react_1.memo((props) => {
24
26
  typography: {
25
27
  fontFamily: storyBookTheme.fontBase,
26
28
  },
27
- });
29
+ }, customTheme);
28
30
  return react_1.default.createElement(styles_1.ThemeProvider, { theme: theme }, children);
29
31
  });
30
32
  exports.ThemeProvider = ThemeProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeProvider.js","sourceRoot":"","sources":["../../../src/components/common/ThemeProvider.tsx"],"names":[],"mappings":";;;AAAA,uDAAoC;AACpC,qDAGkC;AAClC,wCAAmD;AACnD,0CAA0C;AAE1C,MAAM,aAAa,GAAa,YAAI,CAAC,CAAC,KAAK,EAAE,EAAE;IAC7C,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAE3B,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,uBAAiB,EAAE,CAAC;IAEtD,MAAM,KAAK,GAAG,oBAAW,CAAC;QACxB,OAAO,EAAE;YACP,MAAM,EAAE,EAAE,MAAM,EAAE,cAAc,CAAC,YAAY,EAAE;YAC/C,UAAU,EAAE;gBACV,OAAO,EAAE,cAAc,CAAC,KAAK;gBAC7B,KAAK,EAAE,cAAc,CAAC,YAAY;aACnC;YACD,OAAO,EAAE,cAAc,CAAC,cAAc;YACtC,OAAO,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,cAAc,EAAE;YAChD,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,YAAY,EAAE;YAChD,IAAI,EAAE,EAAE,OAAO,EAAE,cAAc,CAAC,YAAY,EAAE;YAC9C,IAAI,EAAE,cAAc,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;SACxD;QACD,UAAU,EAAE;YACV,UAAU,EAAE,cAAc,CAAC,QAAQ;SACpC;KACF,CAAC,CAAC;IAEH,OAAO,8BAAC,sBAAe,IAAC,KAAK,EAAE,KAAK,IAAG,QAAQ,CAAmB,CAAC;AACrE,CAAC,CAAC,CAAC;AAIM,sCAAa;AAFtB,aAAa,CAAC,WAAW,GAAG,eAAe,CAAC"}
1
+ {"version":3,"file":"ThemeProvider.js","sourceRoot":"","sources":["../../../src/components/common/ThemeProvider.tsx"],"names":[],"mappings":";;;AAAA,uDAAoC;AACpC,qDAGkC;AAClC,wCAAmD;AACnD,mEAA8D;AAC9D,0CAA0C;AAE1C,MAAM,aAAa,GAAa,YAAI,CAAC,CAAC,KAAK,EAAE,EAAE;IAC7C,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAE3B,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,uBAAiB,EAAE,CAAC;IACtD,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,iCAAc,EAAE,CAAC;IAChD,MAAM,KAAK,GAAG,oBAAW,CAAC;QACxB,OAAO,EAAE;YACP,MAAM,EAAE,EAAE,MAAM,EAAE,cAAc,CAAC,YAAY,EAAE;YAC/C,UAAU,EAAE;gBACV,OAAO,EAAE,cAAc,CAAC,KAAK;gBAC7B,KAAK,EAAE,cAAc,CAAC,YAAY;aACnC;YACD,OAAO,EAAE,cAAc,CAAC,cAAc;YACtC,OAAO,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,cAAc,EAAE;YAChD,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,YAAY,EAAE;YAChD,IAAI,EAAE,EAAE,OAAO,EAAE,cAAc,CAAC,YAAY,EAAE;YAC9C,IAAI,EAAE,cAAc,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;SACxD;QACD,UAAU,EAAE;YACV,UAAU,EAAE,cAAc,CAAC,QAAQ;SACpC;KACF,EAAE,WAAW,CAAC,CAAC;IAEhB,OAAO,8BAAC,sBAAe,IAAC,KAAK,EAAE,KAAK,IAAG,QAAQ,CAAmB,CAAC;AACrE,CAAC,CAAC,CAAC;AAIM,sCAAa;AAFtB,aAAa,CAAC,WAAW,GAAG,eAAe,CAAC"}
@@ -104,8 +104,8 @@ const SelectorOverlay = (props) => {
104
104
  setMouseupRef(e.target);
105
105
  };
106
106
  const style = document.createElement('STYLE');
107
- style.innerHTML = `html, body {
108
- cursor: crosshair !important;
107
+ style.innerHTML = `html, body {
108
+ cursor: crosshair !important;
109
109
  `;
110
110
  const body = document.body;
111
111
  document.head.appendChild(style);
@@ -5,9 +5,30 @@ const react_1 = tslib_1.__importStar(require("react"));
5
5
  const core_1 = require("@material-ui/core");
6
6
  const api_1 = require("@storybook/api");
7
7
  const constants_1 = require("../../constants");
8
+ const useStyles = core_1.makeStyles((theme) => {
9
+ return {
10
+ notFound: {
11
+ '& > div': {
12
+ '& > b': {
13
+ color: theme.palette.error.main,
14
+ },
15
+ '& > p': {
16
+ margin: 0,
17
+ },
18
+ fontSize: 14,
19
+ },
20
+ border: '1px solid ' + theme.palette.error.main,
21
+ marginBottom: 2,
22
+ marginTop: 2,
23
+ pointerEvents: 'none',
24
+ userSelect: 'text',
25
+ },
26
+ };
27
+ }, { name: 'ImageDiff' });
8
28
  const ImageDiffMenuItem = react_1.forwardRef((props, ref) => {
9
29
  const { imageDiff, onClick } = props;
10
30
  const api = api_1.useStorybookApi();
31
+ const classes = useStyles();
11
32
  const data = api.getData(imageDiff.storyId);
12
33
  const handleLoadStory = react_1.useCallback(() => {
13
34
  onClick();
@@ -15,7 +36,17 @@ const ImageDiffMenuItem = react_1.forwardRef((props, ref) => {
15
36
  api.setSelectedPanel(constants_1.SCREENSHOT_PANEL_ID);
16
37
  }, [api, imageDiff.storyId, onClick]);
17
38
  if (!data) {
18
- return null;
39
+ return (react_1.default.createElement(core_1.MenuItem, { className: classes.notFound, ref: ref },
40
+ react_1.default.createElement("div", null,
41
+ react_1.default.createElement("b", null, "Unable to locate story!"),
42
+ react_1.default.createElement("p", null,
43
+ react_1.default.createElement("b", null, "ID:"),
44
+ " ",
45
+ props.imageDiff.storyId),
46
+ react_1.default.createElement("p", null,
47
+ react_1.default.createElement("b", null, "File:"),
48
+ " ",
49
+ props.imageDiff.fileName))));
19
50
  }
20
51
  return (react_1.default.createElement(core_1.MenuItem, { onClick: handleLoadStory, ref: ref }, data.parent + '--' + data.name));
21
52
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ImageDiffMenuItem.js","sourceRoot":"","sources":["../../../src/components/tool-bar/ImageDiffMenuItem.tsx"],"names":[],"mappings":";;;AAAA,uDAA4D;AAE5D,4CAA6C;AAC7C,wCAAiD;AACjD,+CAAsD;AAOtD,MAAM,iBAAiB,GAAqC,kBAAU,CACpE,CAAC,KAAK,EAAE,GAAuB,EAAE,EAAE;IACjC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAErC,MAAM,GAAG,GAAG,qBAAe,EAAE,CAAC;IAE9B,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAE5C,MAAM,eAAe,GAAG,mBAAW,CAAC,GAAG,EAAE;QACvC,OAAO,EAAE,CAAC;QACV,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACnC,GAAG,CAAC,gBAAgB,CAAC,+BAAmB,CAAC,CAAC;IAC5C,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAEtC,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,8BAAC,eAAQ,IAAC,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,IACzC,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,CACtB,CACZ,CAAC;AACJ,CAAC,CACF,CAAC;AAIO,8CAAiB;AAF1B,iBAAiB,CAAC,WAAW,GAAG,mBAAmB,CAAC"}
1
+ {"version":3,"file":"ImageDiffMenuItem.js","sourceRoot":"","sources":["../../../src/components/tool-bar/ImageDiffMenuItem.tsx"],"names":[],"mappings":";;;AAAA,uDAA4D;AAE5D,4CAAyD;AACzD,wCAAiD;AACjD,+CAAsD;AAEtD,MAAM,SAAS,GAAG,iBAAU,CAC1B,CAAC,KAAK,EAAE,EAAE;IACR,OAAO;QACL,QAAQ,EAAE;YACR,SAAS,EAAE;gBACT,OAAO,EAAE;oBACP,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI;iBAChC;gBACD,OAAO,EAAE;oBACP,MAAM,EAAE,CAAC;iBACV;gBACD,QAAQ,EAAE,EAAE;aACb;YACD,MAAM,EAAE,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI;YAC/C,YAAY,EAAE,CAAC;YACf,SAAS,EAAE,CAAC;YACZ,aAAa,EAAE,MAAM;YACrB,UAAU,EAAE,MAAM;SACnB;KACF,CAAC;AACJ,CAAC,EACD,EAAE,IAAI,EAAE,WAAW,EAAE,CACtB,CAAC;AAOF,MAAM,iBAAiB,GAAqC,kBAAU,CACpE,CAAC,KAAK,EAAE,GAAuB,EAAE,EAAE;IACjC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAErC,MAAM,GAAG,GAAG,qBAAe,EAAE,CAAC;IAE9B,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAE5B,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAE5C,MAAM,eAAe,GAAG,mBAAW,CAAC,GAAG,EAAE;QACvC,OAAO,EAAE,CAAC;QACV,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACnC,GAAG,CAAC,gBAAgB,CAAC,+BAAmB,CAAC,CAAC;IAC5C,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAEtC,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,CACL,8BAAC,eAAQ,IAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG;YAC7C;gBACE,mEAA8B;gBAE9B;oBACE,+CAAU;;oBAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CACjC;gBAEJ;oBACE,iDAAY;;oBAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CACpC,CACA,CACG,CACZ,CAAC;KACH;IAED,OAAO,CACL,8BAAC,eAAQ,IAAC,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,IACzC,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,CACtB,CACZ,CAAC;AACJ,CAAC,CACF,CAAC;AAIO,8CAAiB;AAF1B,iBAAiB,CAAC,WAAW,GAAG,mBAAmB,CAAC"}
@@ -8,6 +8,7 @@ export declare const ROUTE: {
8
8
  GET_ACTION_SET: string;
9
9
  GET_SCHEMA: string;
10
10
  GET_STORY_SCREENSHOTS: string;
11
+ GET_THEME: string;
11
12
  SAVE_ACTION_SET: string;
12
13
  SAVE_SCREENSHOT: string;
13
14
  TAKE_SCREENSHOT: string;
@@ -10,6 +10,7 @@ exports.ROUTE = {
10
10
  GET_ACTION_SET: '/actionSet/get',
11
11
  GET_SCHEMA: '/getSchema',
12
12
  GET_STORY_SCREENSHOTS: '/screenshot/all',
13
+ GET_THEME: '/getTheme',
13
14
  SAVE_ACTION_SET: '/actionSet/save',
14
15
  SAVE_SCREENSHOT: '/screenshot/save',
15
16
  TAKE_SCREENSHOT: '/screenshot/get',
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/constants/routes.ts"],"names":[],"mappings":";;AAAa,QAAA,KAAK,GAAG;IACnB,uBAAuB,EAAE,yBAAyB;IAClD,iBAAiB,EAAE,mBAAmB;IACtC,iBAAiB,EAAE,oBAAoB;IACvC,uBAAuB,EAAE,yBAAyB;IAClD,sBAAsB,EAAE,uBAAuB;IAC/C,gBAAgB,EAAE,yBAAyB;IAC3C,cAAc,EAAE,gBAAgB;IAChC,UAAU,EAAE,YAAY;IACxB,qBAAqB,EAAE,iBAAiB;IACxC,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,kBAAkB;IACnC,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,kBAAkB;IACnC,gBAAgB,EAAE,6BAA6B;IAC/C,qBAAqB,EAAE,uBAAuB;IAC9C,iBAAiB,EAAE,oBAAoB;CACxC,CAAC"}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/constants/routes.ts"],"names":[],"mappings":";;AAAa,QAAA,KAAK,GAAG;IACnB,uBAAuB,EAAE,yBAAyB;IAClD,iBAAiB,EAAE,mBAAmB;IACtC,iBAAiB,EAAE,oBAAoB;IACvC,uBAAuB,EAAE,yBAAyB;IAClD,sBAAsB,EAAE,uBAAuB;IAC/C,gBAAgB,EAAE,yBAAyB;IAC3C,cAAc,EAAE,gBAAgB;IAChC,UAAU,EAAE,YAAY;IACxB,qBAAqB,EAAE,iBAAiB;IACxC,SAAS,EAAE,WAAW;IACtB,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,kBAAkB;IACnC,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,kBAAkB;IACnC,gBAAgB,EAAE,6BAA6B;IAC/C,qBAAqB,EAAE,uBAAuB;IAC9C,iBAAiB,EAAE,oBAAoB;CACxC,CAAC"}
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ /// <reference types="@emotion/core" />
3
+ import { Theme } from '@material-ui/core';
4
+ export declare const useCustomTheme: () => {
5
+ setTheme: import("react").Dispatch<import("react").SetStateAction<Theme>>;
6
+ theme: Theme;
7
+ };
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const react_1 = require("react");
5
+ const get_theme_data_1 = require("../api/client/get-theme-data");
6
+ exports.useCustomTheme = () => {
7
+ const [theme, setTheme] = react_1.useState();
8
+ const isTheme = react_1.useRef(false);
9
+ const fetchTheme = react_1.useCallback(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
10
+ try {
11
+ const resp = yield get_theme_data_1.getThemeData();
12
+ if (!isTheme.current) {
13
+ setTheme(resp);
14
+ }
15
+ }
16
+ catch (error) {
17
+ throw new Error(error.message);
18
+ }
19
+ }), []);
20
+ react_1.useEffect(() => {
21
+ fetchTheme();
22
+ return () => {
23
+ isTheme.current = true;
24
+ };
25
+ }, [fetchTheme]);
26
+ return { setTheme, theme };
27
+ };
28
+ //# sourceMappingURL=use-custom-theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-custom-theme.js","sourceRoot":"","sources":["../../src/hooks/use-custom-theme.ts"],"names":[],"mappings":";;;AACA,iCAAiE;AACjE,iEAA4D;AAE/C,QAAA,cAAc,GAAG,GAAG,EAAE;IACjC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,gBAAQ,EAAS,CAAC;IAC5C,MAAM,OAAO,GAAG,cAAM,CAAC,KAAK,CAAC,CAAC;IAE9B,MAAM,UAAU,GAAG,mBAAW,CAAC,GAAS,EAAE;QACxC,IAAI;YACF,MAAM,IAAI,GAAG,MAAM,6BAAY,EAAE,CAAC;YAClC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;gBACpB,QAAQ,CAAC,IAAI,CAAC,CAAC;aAChB;SACF;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CAAE,KAAe,CAAC,OAAO,CAAC,CAAC;SAC3C;IACH,CAAC,CAAA,EAAE,EAAE,CAAC,CAAC;IAEP,iBAAS,CAAC,GAAG,EAAE;QACb,UAAU,EAAE,CAAC;QACb,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QACzB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAC7B,CAAC,CAAC"}
@@ -5,13 +5,14 @@ import { DiffDirection, ImageDiffResult, ScreenshotRequest, TakeScreenshotOption
5
5
  import { RequestData } from './request';
6
6
  import { StoryInfo } from './story-info';
7
7
  import { TestFileScreenshots } from '../api/server/services/test-file-screenshots';
8
+ import { Theme } from '@material-ui/core';
8
9
  declare type PageGotoOptions = Parameters<Page['goto']>[1];
9
10
  export interface Config<T extends unknown = Page> {
10
11
  storybookEndpoint: string;
11
12
  customActionSchema?: ActionSchemaList;
12
13
  pageGotoOptions?: PageGotoOptions;
13
14
  releaseModifierKey?: boolean;
14
- getPage: (browserType: BrowserTypes, options: BrowserContextOptions, requestData: RequestData) => Promise<T>;
15
+ getPage: (browserType: BrowserTypes, options: BrowserContextOptions, requestData: ScreenshotRequest) => Promise<T>;
15
16
  beforeScreenshot?: (page: T, data: ScreenshotRequest, requestData: RequestData) => Promise<void>;
16
17
  afterScreenshot?: (page: T, data: ScreenshotRequest) => Promise<void>;
17
18
  beforeStoryImageDiff?: (requestData: StoryInfo & RequestData) => Promise<void>;
@@ -29,5 +30,6 @@ export interface Config<T extends unknown = Page> {
29
30
  story?: number;
30
31
  };
31
32
  screenshotOptions?: TakeScreenshotOptionsParams;
33
+ theme?: Theme;
32
34
  }
33
35
  export {};
package/middleware.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import middleware from './dist/api/server/routes';
2
- export default middleware;
1
+ import middleware from './dist/api/server/routes';
2
+ export default middleware;
package/middleware.js CHANGED
@@ -1,2 +1,2 @@
1
- const middleware = require('./dist/api/server/routes');
2
- module.exports = middleware;
1
+ const middleware = require('./dist/api/server/routes');
2
+ module.exports = middleware;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "storybook-addon-playwright",
3
- "version": "4.6.4",
3
+ "version": "4.8.0",
4
4
  "description": "An addon to visually test the stories in the multiple browsers within storybook environment",
5
5
  "author": "m.doaie <mdoaie@yahoo.co.uk>",
6
6
  "engines": {
@@ -111,7 +111,7 @@
111
111
  "hash-sum": "^2.0.0",
112
112
  "ip": "^1.1.5",
113
113
  "jest-image-snapshot": "^4.2.0",
114
- "join-images": "^0.2.8",
114
+ "join-images": "^1.0.0",
115
115
  "jsonfile": "^6.1.0",
116
116
  "lodash": "^4.17.20",
117
117
  "nanoid": "^3.1.18",
@@ -129,7 +129,7 @@
129
129
  "react-split-pane": "^0.1.92",
130
130
  "react-use": "^17.2.4",
131
131
  "reinspect": "^1.1.0",
132
- "sharp": "^0.28.3",
132
+ "sharp": "^0.29.1",
133
133
  "tinycolor2": "^1.4.2",
134
134
  "ts-to-json": "^1.3.0",
135
135
  "webpack-virtual-modules": "^0.3.2"
package/preset.js CHANGED
@@ -1 +1 @@
1
- module.exports = require('./dist/preset');
1
+ module.exports = require('./dist/preset');
@@ -1,15 +1,15 @@
1
- /// <reference types="jest" />
2
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
3
- import { MatchImageSnapshotOptions } from 'jest-image-snapshot';
4
- import 'jest-extended';
5
-
6
- declare global {
7
- namespace jest {
8
- interface Matchers<R> {
9
- toMatchScreenshots(options?: MatchImageSnapshotOptions): R;
10
- }
11
- }
12
- interface Window {
13
- __visible_snackbar_messages__: { [message: string]: boolean };
14
- }
15
- }
1
+ /// <reference types="jest" />
2
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
3
+ import { MatchImageSnapshotOptions } from 'jest-image-snapshot';
4
+ import 'jest-extended';
5
+
6
+ declare global {
7
+ namespace jest {
8
+ interface Matchers<R> {
9
+ toMatchScreenshots(options?: MatchImageSnapshotOptions): R;
10
+ }
11
+ }
12
+ interface Window {
13
+ __visible_snackbar_messages__: { [message: string]: boolean };
14
+ }
15
+ }