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.
- package/configs.d.ts +1 -1
- package/configs.js +2 -2
- package/dist/api/client/get-theme-data.d.ts +2 -0
- package/dist/api/client/get-theme-data.js +16 -0
- package/dist/api/client/get-theme-data.js.map +1 -0
- package/dist/api/client/utils/endpoint.d.ts +1 -1
- package/dist/api/server/controller/get-theme-data.d.ts +1 -0
- package/dist/api/server/controller/get-theme-data.js +9 -0
- package/dist/api/server/controller/get-theme-data.js.map +1 -0
- package/dist/api/server/controller/index.d.ts +1 -0
- package/dist/api/server/controller/index.js +1 -0
- package/dist/api/server/controller/index.js.map +1 -1
- package/dist/api/server/routes.js +1 -0
- package/dist/api/server/routes.js.map +1 -1
- package/dist/api/server/services/get-theme-data.d.ts +1 -0
- package/dist/api/server/services/get-theme-data.js +7 -0
- package/dist/api/server/services/get-theme-data.js.map +1 -0
- package/dist/api/server/utils/install-mouse-helper.js +19 -19
- package/dist/components/common/ThemeProvider.js +3 -1
- package/dist/components/common/ThemeProvider.js.map +1 -1
- package/dist/components/preview/SelectorOverlay.js +2 -2
- package/dist/components/tool-bar/ImageDiffMenuItem.js +32 -1
- package/dist/components/tool-bar/ImageDiffMenuItem.js.map +1 -1
- package/dist/constants/routes.d.ts +1 -0
- package/dist/constants/routes.js +1 -0
- package/dist/constants/routes.js.map +1 -1
- package/dist/hooks/use-custom-theme.d.ts +7 -0
- package/dist/hooks/use-custom-theme.js +28 -0
- package/dist/hooks/use-custom-theme.js.map +1 -0
- package/dist/typings/config.d.ts +3 -1
- package/middleware.d.ts +2 -2
- package/middleware.js +2 -2
- package/package.json +3 -3
- package/preset.js +1 -1
- 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,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"}
|
|
@@ -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":";;;AAAA,mDAA+C;AAC/C,sEAAqC;AACrC,
|
|
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 @@
|
|
|
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;
|
|
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
|
|
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,
|
|
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"}
|
package/dist/constants/routes.js
CHANGED
|
@@ -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,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"}
|
package/dist/typings/config.d.ts
CHANGED
|
@@ -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:
|
|
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.
|
|
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.
|
|
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.
|
|
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');
|
package/typings/global.d.ts
CHANGED
|
@@ -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
|
+
}
|