@pautena/react-design-system 0.4.2 → 0.4.3
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/dist/cjs/index.js +1 -31
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/components/app-bar/app-bar.types.d.ts +2 -2
- package/dist/cjs/types/components/bullet/bullet.d.ts +1 -1
- package/dist/cjs/types/components/content/content.types.d.ts +3 -3
- package/dist/cjs/types/components/drawer/drawer.provider.d.ts +1 -1
- package/dist/cjs/types/components/drawer/drawer.types.d.ts +4 -4
- package/dist/cjs/types/components/enhanced-select/enhanced-select.d.ts +1 -2
- package/dist/cjs/types/components/header/header.dummy.d.ts +1 -1
- package/dist/cjs/types/components/header/header.types.d.ts +6 -6
- package/dist/cjs/types/components/label/label.d.ts +1 -1
- package/dist/cjs/types/components/link/link.d.ts +1 -1
- package/dist/cjs/types/components/placeholder/placeholder.d.ts +1 -1
- package/dist/cjs/types/components/query-container/query-container.d.ts +1 -1
- package/dist/cjs/types/components/sign-in/sign-in.d.ts +2 -3
- package/dist/cjs/types/components/tab/tab-card/tab-card.d.ts +3 -4
- package/dist/cjs/types/components/tab/tab-card/tab-card.dummy.d.ts +2 -3
- package/dist/cjs/types/components/table/enhanced-remote-table/enhanced-remote-table.d.ts +5 -6
- package/dist/cjs/types/components/table/enhanced-remote-table/enhanced-remote-table.mock.d.ts +6 -6
- package/dist/cjs/types/components/table/enhanced-table/enhanced-table-head.d.ts +8 -8
- package/dist/cjs/types/components/table/enhanced-table/enhanced-table.d.ts +2 -2
- package/dist/cjs/types/components/table/enhanced-table/enhanced-table.mock.d.ts +6 -7
- package/dist/cjs/types/components/table-list/table-list.d.ts +2 -2
- package/dist/cjs/types/components/value-displays/group-value-card/group-value-card.d.ts +7 -4
- package/dist/cjs/types/components/value-displays/group-value-card/group-value-card.mock.d.ts +2 -1
- package/dist/cjs/types/components/value-displays/index.d.ts +1 -0
- package/dist/cjs/types/components/value-displays/value-boolean/value-boolean.d.ts +3 -11
- package/dist/cjs/types/components/value-displays/value-card/value-card.d.ts +1 -1
- package/dist/cjs/types/components/value-displays/value-content/index.d.ts +1 -0
- package/dist/cjs/types/components/value-displays/value-content/value-content.d.ts +24 -0
- package/dist/cjs/types/components/value-displays/value-datetime/value-datetime.d.ts +3 -10
- package/dist/cjs/types/components/value-displays/value-displays.types.d.ts +15 -0
- package/dist/cjs/types/components/value-displays/value-image/index.d.ts +1 -0
- package/dist/cjs/types/components/value-displays/value-image/value-image.d.ts +11 -0
- package/dist/cjs/types/components/value-displays/value-text/value-text.d.ts +3 -11
- package/dist/cjs/types/generators/generators.mock.d.ts +2 -1
- package/dist/cjs/types/generators/generators.model.d.ts +36 -20
- package/dist/cjs/types/generators/generators.model.test.d.ts +1 -0
- package/dist/cjs/types/generators/model-router/model-router.d.ts +1 -1
- package/dist/cjs/types/generators/model-router/screens/add-screen.d.ts +1 -1
- package/dist/cjs/types/generators/model-router/screens/details-screen.d.ts +1 -1
- package/dist/cjs/types/generators/model-router/screens/list-screen.d.ts +1 -1
- package/dist/cjs/types/generators/model-router/screens/update-screen.d.ts +1 -1
- package/dist/cjs/types/layouts/header-layout/header-layout.d.ts +1 -2
- package/dist/cjs/types/providers/notification-center/notification-center.context.d.ts +0 -2
- package/dist/cjs/types/providers/notification-center/notification-center.provider.d.ts +1 -1
- package/dist/cjs/types/providers/tab-provider/tab-provider.provider.d.ts +1 -1
- package/dist/cjs/types/utils/theme.d.ts +1 -1
- package/dist/esm/index.js +1 -31
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/components/app-bar/app-bar.types.d.ts +2 -2
- package/dist/esm/types/components/bullet/bullet.d.ts +1 -1
- package/dist/esm/types/components/content/content.types.d.ts +3 -3
- package/dist/esm/types/components/drawer/drawer.provider.d.ts +1 -1
- package/dist/esm/types/components/drawer/drawer.types.d.ts +4 -4
- package/dist/esm/types/components/enhanced-select/enhanced-select.d.ts +1 -2
- package/dist/esm/types/components/header/header.dummy.d.ts +1 -1
- package/dist/esm/types/components/header/header.types.d.ts +6 -6
- package/dist/esm/types/components/label/label.d.ts +1 -1
- package/dist/esm/types/components/link/link.d.ts +1 -1
- package/dist/esm/types/components/placeholder/placeholder.d.ts +1 -1
- package/dist/esm/types/components/query-container/query-container.d.ts +1 -1
- package/dist/esm/types/components/sign-in/sign-in.d.ts +2 -3
- package/dist/esm/types/components/tab/tab-card/tab-card.d.ts +3 -4
- package/dist/esm/types/components/tab/tab-card/tab-card.dummy.d.ts +2 -3
- package/dist/esm/types/components/table/enhanced-remote-table/enhanced-remote-table.d.ts +5 -6
- package/dist/esm/types/components/table/enhanced-remote-table/enhanced-remote-table.mock.d.ts +6 -6
- package/dist/esm/types/components/table/enhanced-table/enhanced-table-head.d.ts +8 -8
- package/dist/esm/types/components/table/enhanced-table/enhanced-table.d.ts +2 -2
- package/dist/esm/types/components/table/enhanced-table/enhanced-table.mock.d.ts +6 -7
- package/dist/esm/types/components/table-list/table-list.d.ts +2 -2
- package/dist/esm/types/components/value-displays/group-value-card/group-value-card.d.ts +7 -4
- package/dist/esm/types/components/value-displays/group-value-card/group-value-card.mock.d.ts +2 -1
- package/dist/esm/types/components/value-displays/index.d.ts +1 -0
- package/dist/esm/types/components/value-displays/value-boolean/value-boolean.d.ts +3 -11
- package/dist/esm/types/components/value-displays/value-card/value-card.d.ts +1 -1
- package/dist/esm/types/components/value-displays/value-content/index.d.ts +1 -0
- package/dist/esm/types/components/value-displays/value-content/value-content.d.ts +24 -0
- package/dist/esm/types/components/value-displays/value-datetime/value-datetime.d.ts +3 -10
- package/dist/esm/types/components/value-displays/value-displays.types.d.ts +15 -0
- package/dist/esm/types/components/value-displays/value-image/index.d.ts +1 -0
- package/dist/esm/types/components/value-displays/value-image/value-image.d.ts +11 -0
- package/dist/esm/types/components/value-displays/value-text/value-text.d.ts +3 -11
- package/dist/esm/types/generators/generators.mock.d.ts +2 -1
- package/dist/esm/types/generators/generators.model.d.ts +36 -20
- package/dist/esm/types/generators/generators.model.test.d.ts +1 -0
- package/dist/esm/types/generators/model-router/model-router.d.ts +1 -1
- package/dist/esm/types/generators/model-router/screens/add-screen.d.ts +1 -1
- package/dist/esm/types/generators/model-router/screens/details-screen.d.ts +1 -1
- package/dist/esm/types/generators/model-router/screens/list-screen.d.ts +1 -1
- package/dist/esm/types/generators/model-router/screens/update-screen.d.ts +1 -1
- package/dist/esm/types/layouts/header-layout/header-layout.d.ts +1 -2
- package/dist/esm/types/providers/notification-center/notification-center.context.d.ts +0 -2
- package/dist/esm/types/providers/notification-center/notification-center.provider.d.ts +1 -1
- package/dist/esm/types/providers/tab-provider/tab-provider.provider.d.ts +1 -1
- package/dist/esm/types/utils/theme.d.ts +1 -1
- package/dist/index.d.ts +155 -150
- package/package.json +58 -53
- package/src/components/app-bar/app-bar.stories.tsx +2 -1
- package/src/components/app-bar/app-bar.test.tsx +1 -1
- package/src/components/bullet/bullet.test.tsx +1 -1
- package/src/components/center-container/center-container.test.tsx +1 -1
- package/src/components/content/content.stories.tsx +1 -1
- package/src/components/content/content.test.tsx +1 -1
- package/src/components/drawer/__snapshots__/drawer.test.tsx.snap +3 -3
- package/src/components/drawer/drawer.test.tsx +8 -8
- package/src/components/drawer-content/drawer-content.stories.tsx +0 -1
- package/src/components/drawer-content/drawer-content.test.tsx +1 -1
- package/src/components/drawer-item/drawer-item.test.tsx +3 -3
- package/src/components/drawer-section/drawer-section.test.tsx +1 -1
- package/src/components/enhanced-select/enhanced-select.stories.tsx +10 -10
- package/src/components/enhanced-select/enhanced-select.test.tsx +9 -4
- package/src/components/enhanced-select/enhanced-select.tsx +1 -3
- package/src/components/header/header.dummy.ts +1 -1
- package/src/components/header/header.stories.tsx +0 -6
- package/src/components/header/header.test.tsx +1 -1
- package/src/components/label/label.test.tsx +1 -1
- package/src/components/link/link.tsx +2 -2
- package/src/components/loading-area/loading-area.test.tsx +2 -1
- package/src/components/placeholder/placeholder.test.tsx +3 -2
- package/src/components/query-container/query-container.test.tsx +2 -1
- package/src/components/sign-in/sign-in.test.tsx +2 -1
- package/src/components/sign-in/sign-in.tsx +3 -3
- package/src/components/tab/tab-card/tab-card.dummy.tsx +2 -2
- package/src/components/tab/tab-card/tab-card.stories.tsx +2 -2
- package/src/components/tab/tab-card/tab-card.test.tsx +1 -1
- package/src/components/tab/tab-card/tab-card.tsx +3 -3
- package/src/components/table/enhanced-remote-table/enhanced-remote-table.mock.tsx +7 -6
- package/src/components/table/enhanced-remote-table/enhanced-remote-table.test.tsx +3 -3
- package/src/components/table/enhanced-remote-table/enhanced-remote-table.tsx +8 -8
- package/src/components/table/enhanced-table/enhanced-table-head.tsx +14 -9
- package/src/components/table/enhanced-table/enhanced-table.mock.tsx +12 -6
- package/src/components/table/enhanced-table/enhanced-table.test.tsx +6 -5
- package/src/components/table/enhanced-table/enhanced-table.tsx +8 -8
- package/src/components/table-list/table-list.stories.tsx +27 -17
- package/src/components/table-list/table-list.test.tsx +11 -6
- package/src/components/table-list/table-list.tsx +23 -12
- package/src/components/value-displays/group-value-card/group-value-card.mock.tsx +2 -2
- package/src/components/value-displays/group-value-card/group-value-card.stories.tsx +24 -1
- package/src/components/value-displays/group-value-card/group-value-card.test.tsx +7 -2
- package/src/components/value-displays/group-value-card/group-value-card.tsx +13 -4
- package/src/components/value-displays/index.ts +1 -0
- package/src/components/value-displays/value-boolean/value-boolean.test.tsx +15 -3
- package/src/components/value-displays/value-boolean/value-boolean.tsx +17 -17
- package/src/components/value-displays/value-card/value-card.test.tsx +1 -1
- package/src/components/value-displays/value-content/index.ts +1 -0
- package/src/components/value-displays/value-content/value-content.stories.tsx +20 -0
- package/src/components/value-displays/value-content/value-content.test.tsx +50 -0
- package/src/components/value-displays/value-content/value-content.tsx +55 -0
- package/src/components/value-displays/value-datetime/value-datetime.stories.tsx +13 -0
- package/src/components/value-displays/value-datetime/value-datetime.test.tsx +24 -5
- package/src/components/value-displays/value-datetime/value-datetime.tsx +15 -22
- package/src/components/value-displays/value-displays.types.ts +18 -0
- package/src/components/value-displays/value-image/index.ts +1 -0
- package/src/components/value-displays/value-image/value-image.stories.tsx +28 -0
- package/src/components/value-displays/value-image/value-image.test.tsx +22 -0
- package/src/components/value-displays/value-image/value-image.tsx +24 -0
- package/src/components/value-displays/value-text/value-text.stories.tsx +11 -0
- package/src/components/value-displays/value-text/value-text.test.tsx +19 -5
- package/src/components/value-displays/value-text/value-text.tsx +16 -22
- package/src/generators/generators.mock.ts +25 -22
- package/src/generators/generators.model.test.ts +77 -0
- package/src/generators/generators.model.ts +78 -6
- package/src/generators/model-form/model-form.test.tsx +11 -14
- package/src/generators/model-form/model-form.tsx +33 -65
- package/src/generators/model-router/model-router.test.tsx +45 -32
- package/src/generators/model-router/screens/add-screen.tsx +2 -1
- package/src/generators/model-router/screens/details-screen.tsx +2 -1
- package/src/generators/model-router/screens/list-screen.tsx +1 -1
- package/src/generators/model-router/screens/update-screen.tsx +4 -5
- package/src/generators/model-router/stories/model-router.stories.tsx +1 -1
- package/src/generators/object-details/object-details.test.tsx +2 -1
- package/src/generators/object-details/object-details.tsx +18 -9
- package/src/hooks/routing/routing.test.tsx +1 -1
- package/src/layouts/app-bar-with-drawer-layout/app-bar-with-drawer-layout.stories.tsx +1 -1
- package/src/layouts/app-bar-with-drawer-layout/app-bar-with-drawer-layout.test.tsx +2 -1
- package/src/layouts/header-layout/header-layout.stories.tsx +11 -4
- package/src/layouts/header-layout/header-layout.test.tsx +1 -1
- package/src/layouts/header-layout/header-layout.tsx +1 -1
- package/src/providers/notification-center/notification-center.context.ts +0 -6
- package/src/providers/notification-center/notification-center.stories.tsx +1 -1
- package/src/providers/notification-center/notification-center.test.tsx +6 -7
- package/src/storybook.tsx +1 -1
- package/src/tests/actions.ts +4 -0
- package/src/tests/assertions.ts +18 -10
- package/src/tests/components.tsx +35 -1
- package/src/tests/file-mock.ts +1 -0
- package/src/tests/mocks.ts +21 -0
- package/src/tests/testing-library.tsx +11 -8
- package/src/types/index.d.ts +4 -0
- package/src/tests/index.ts +0 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pautena/react-design-system",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.3",
|
|
4
4
|
"description": "My custom design system on top of MUI",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -29,81 +29,86 @@
|
|
|
29
29
|
"author": "Pau Tena Vidal",
|
|
30
30
|
"license": "MIT",
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@emotion/react": "^11.
|
|
33
|
-
"@emotion/styled": "^11.
|
|
34
|
-
"@
|
|
35
|
-
"@mui/
|
|
36
|
-
"@mui/
|
|
37
|
-
"@mui/
|
|
38
|
-
"@mui/x-
|
|
39
|
-
"date-
|
|
32
|
+
"@emotion/react": "^11.10.6",
|
|
33
|
+
"@emotion/styled": "^11.10.6",
|
|
34
|
+
"@emotion/utils": "^1.2.0",
|
|
35
|
+
"@mui/icons-material": "^5.11.9",
|
|
36
|
+
"@mui/lab": "^5.0.0-alpha.120",
|
|
37
|
+
"@mui/material": "^5.11.10",
|
|
38
|
+
"@mui/x-data-grid": "^5.17.24",
|
|
39
|
+
"@mui/x-date-pickers": "^5.0.19",
|
|
40
|
+
"date-fns": "^2.29.3",
|
|
40
41
|
"react": "^18.2.0",
|
|
41
42
|
"react-dom": "^18.2.0",
|
|
42
|
-
"react-router-dom": "^6.
|
|
43
|
+
"react-router-dom": "^6.8.1"
|
|
43
44
|
},
|
|
44
45
|
"devDependencies": {
|
|
45
|
-
"@
|
|
46
|
-
"@babel/
|
|
47
|
-
"@babel/preset-env": "^7.18.6",
|
|
46
|
+
"@babel/core": "^7.21.0",
|
|
47
|
+
"@babel/preset-env": "^7.20.2",
|
|
48
48
|
"@babel/preset-react": "^7.18.6",
|
|
49
|
-
"@
|
|
50
|
-
"@
|
|
51
|
-
"@
|
|
52
|
-
"@
|
|
53
|
-
"@rollup/plugin-
|
|
54
|
-
"@rollup/plugin-
|
|
55
|
-
"@
|
|
56
|
-
"@
|
|
57
|
-
"@storybook/addon-
|
|
49
|
+
"@babel/preset-typescript": "^7.21.0",
|
|
50
|
+
"@date-io/date-fns": "^2.16.0",
|
|
51
|
+
"@faker-js/faker": "^7.6.0",
|
|
52
|
+
"@mui/x-data-grid-generator": "^5.17.24",
|
|
53
|
+
"@rollup/plugin-alias": "^4.0.3",
|
|
54
|
+
"@rollup/plugin-commonjs": "^24.0.1",
|
|
55
|
+
"@rollup/plugin-node-resolve": "^15.0.1",
|
|
56
|
+
"@rollup/plugin-typescript": "^11.0.0",
|
|
57
|
+
"@storybook/addon-actions": "^6.5.16",
|
|
58
|
+
"@storybook/addon-essentials": "^6.5.16",
|
|
59
|
+
"@storybook/addon-interactions": "^6.5.16",
|
|
58
60
|
"@storybook/addon-knobs": "^6.4.0",
|
|
59
|
-
"@storybook/addon-links": "^6.5.
|
|
60
|
-
"@storybook/builder-webpack4": "^6.5.
|
|
61
|
-
"@storybook/manager-webpack4": "^6.5.
|
|
62
|
-
"@storybook/react": "^6.5.
|
|
61
|
+
"@storybook/addon-links": "^6.5.16",
|
|
62
|
+
"@storybook/builder-webpack4": "^6.5.16",
|
|
63
|
+
"@storybook/manager-webpack4": "^6.5.16",
|
|
64
|
+
"@storybook/react": "^6.5.16",
|
|
63
65
|
"@storybook/testing-library": "^0.0.13",
|
|
64
66
|
"@storybook/testing-react": "^1.3.0",
|
|
65
|
-
"@testing-library/jest-dom": "^5.16.
|
|
66
|
-
"@testing-library/react": "^
|
|
67
|
-
"@types/jest": "^
|
|
68
|
-
"@types/ramda": "^0.28.
|
|
69
|
-
"@types/react": "^18.0.
|
|
70
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
71
|
-
"@typescript-eslint/parser": "^5.
|
|
72
|
-
"babel-jest": "^
|
|
73
|
-
"babel-loader": "^
|
|
74
|
-
"babel-plugin-module-resolver": "^
|
|
75
|
-
"eslint": "^8.
|
|
76
|
-
"eslint-config-prettier": "^8.
|
|
67
|
+
"@testing-library/jest-dom": "^5.16.5",
|
|
68
|
+
"@testing-library/react": "^14.0.0",
|
|
69
|
+
"@types/jest": "^29.4.0",
|
|
70
|
+
"@types/ramda": "^0.28.23",
|
|
71
|
+
"@types/react": "^18.0.28",
|
|
72
|
+
"@typescript-eslint/eslint-plugin": "^5.53.0",
|
|
73
|
+
"@typescript-eslint/parser": "^5.53.0",
|
|
74
|
+
"babel-jest": "^29.4.3",
|
|
75
|
+
"babel-loader": "^9.1.2",
|
|
76
|
+
"babel-plugin-module-resolver": "^5.0.0",
|
|
77
|
+
"eslint": "^8.34.0",
|
|
78
|
+
"eslint-config-prettier": "^8.6.0",
|
|
77
79
|
"eslint-plugin-prettier": "^4.2.1",
|
|
78
|
-
"eslint-plugin-react": "^7.
|
|
79
|
-
"gh-pages": "^
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"jest
|
|
80
|
+
"eslint-plugin-react": "^7.32.2",
|
|
81
|
+
"gh-pages": "^5.0.0",
|
|
82
|
+
"history": "^5.3.0",
|
|
83
|
+
"husky": "^8.0.3",
|
|
84
|
+
"jest": "^29.4.3",
|
|
85
|
+
"jest-environment-jsdom": "^29.4.3",
|
|
83
86
|
"lorem-ipsum": "^2.0.8",
|
|
84
87
|
"npm-run-all": "^4.1.5",
|
|
85
|
-
"prettier": "^2.
|
|
88
|
+
"prettier": "^2.8.4",
|
|
86
89
|
"ramda": "^0.28.0",
|
|
87
90
|
"react-test-renderer": "^18.2.0",
|
|
88
91
|
"rollup": "^2.77.0",
|
|
89
92
|
"rollup-plugin-dts": "^4.2.2",
|
|
90
93
|
"rollup-plugin-peer-deps-external": "^2.2.4",
|
|
91
94
|
"rollup-plugin-terser": "^7.0.2",
|
|
92
|
-
"tslib": "^2.
|
|
93
|
-
"typescript": "^4.
|
|
95
|
+
"tslib": "^2.5.0",
|
|
96
|
+
"typescript": "^4.9.5"
|
|
94
97
|
},
|
|
95
98
|
"peerDependencies": {
|
|
96
|
-
"@emotion/react": "^11.
|
|
97
|
-
"@emotion/styled": "^11.
|
|
98
|
-
"@
|
|
99
|
+
"@emotion/react": "^11.10.6",
|
|
100
|
+
"@emotion/styled": "^11.10.6",
|
|
101
|
+
"@emotion/utils": "^1.2.0",
|
|
102
|
+
"@mui/icons-material": "^5.11.0",
|
|
99
103
|
"@mui/lab": "^5.0.0",
|
|
100
|
-
"@mui/material": "^5.
|
|
101
|
-
"@mui/x-data-grid": "^5.
|
|
104
|
+
"@mui/material": "^5.11.0",
|
|
105
|
+
"@mui/x-data-grid": "^5.17.0",
|
|
106
|
+
"@mui/x-date-pickers": "^5.0.0",
|
|
102
107
|
"@types/react": "^17.0.0 || ^18.0.0",
|
|
108
|
+
"date-fns": "^2.0.0",
|
|
103
109
|
"react": "^17.0.0 || ^18.0.0",
|
|
104
110
|
"react-dom": "^17.0.0 || ^18.0.0",
|
|
105
|
-
"react-router-dom": "^6.0.0"
|
|
106
|
-
"date-fns": "^2.0.0"
|
|
111
|
+
"react-router-dom": "^6.0.0"
|
|
107
112
|
},
|
|
108
113
|
"repository": {
|
|
109
114
|
"type": "git",
|
|
@@ -3,6 +3,7 @@ import { ComponentMeta } from "@storybook/react";
|
|
|
3
3
|
import { createTemplate } from "../../storybook";
|
|
4
4
|
import { AppBar } from "./app-bar";
|
|
5
5
|
import { DrawerProvider } from "../drawer";
|
|
6
|
+
import { AppBarProps } from "./app-bar.types";
|
|
6
7
|
|
|
7
8
|
export default {
|
|
8
9
|
title: "AppBars/AppBar",
|
|
@@ -12,7 +13,7 @@ export default {
|
|
|
12
13
|
},
|
|
13
14
|
} as ComponentMeta<typeof AppBar>;
|
|
14
15
|
|
|
15
|
-
const Template = createTemplate((args) => {
|
|
16
|
+
const Template = createTemplate((args: AppBarProps) => {
|
|
16
17
|
return (
|
|
17
18
|
<DrawerProvider>
|
|
18
19
|
<AppBar {...args} />
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { fireEvent, render, screen } from "
|
|
2
|
+
import { fireEvent, render, screen } from "~/tests/testing-library";
|
|
3
3
|
import { AppBar } from "./app-bar";
|
|
4
4
|
import { DrawerProvider } from "../drawer";
|
|
5
5
|
import { AppBarProfile } from "./app-bar.types";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { Bullet, BulletVariant } from "./bullet";
|
|
3
|
-
import { render, screen } from "
|
|
3
|
+
import { render, screen } from "~/tests/testing-library";
|
|
4
4
|
|
|
5
5
|
describe("Bullet", () => {
|
|
6
6
|
const renderComponent = (variant: BulletVariant | undefined = undefined) => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { Typography } from "@mui/material";
|
|
3
|
-
import { render, screen } from "
|
|
3
|
+
import { render, screen } from "~/tests/testing-library";
|
|
4
4
|
import { CenterContainer } from "./center-container";
|
|
5
5
|
|
|
6
6
|
describe("CenterContainer", () => {
|
|
@@ -2,7 +2,7 @@ import React from "react";
|
|
|
2
2
|
import { ComponentMeta } from "@storybook/react";
|
|
3
3
|
import { createTemplate } from "../../storybook";
|
|
4
4
|
import { Content } from "./content";
|
|
5
|
-
import { SkeletonGrid } from "
|
|
5
|
+
import { SkeletonGrid } from "~/tests/components";
|
|
6
6
|
|
|
7
7
|
export default {
|
|
8
8
|
title: "Sections/Content",
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
2
|
|
|
3
3
|
exports[`mixins closedMixin would match a snapshot 1`] = `
|
|
4
|
-
|
|
5
|
-
"@media (min-width:600px)":
|
|
4
|
+
{
|
|
5
|
+
"@media (min-width:600px)": {
|
|
6
6
|
"width": "calc(64px + 1px)",
|
|
7
7
|
},
|
|
8
8
|
"overflowX": "hidden",
|
|
@@ -12,7 +12,7 @@ Object {
|
|
|
12
12
|
`;
|
|
13
13
|
|
|
14
14
|
exports[`mixins openedMixin would match a snapshot 1`] = `
|
|
15
|
-
|
|
15
|
+
{
|
|
16
16
|
"overflowX": "hidden",
|
|
17
17
|
"transition": "width 225ms cubic-bezier(0.4, 0, 0.6, 1) 0ms",
|
|
18
18
|
"width": 240,
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { Drawer } from "./drawer";
|
|
3
|
-
import { render, screen } from "
|
|
3
|
+
import { render, screen } from "~/tests/testing-library";
|
|
4
4
|
import { DrawerProvider } from "./drawer.provider";
|
|
5
5
|
import { DummyDrawerContent, mockNav } from "./drawer.mock";
|
|
6
6
|
import { Box, Button, createTheme } from "@mui/material";
|
|
7
7
|
import { UndefinedProvider, useDrawer } from "./drawer.context";
|
|
8
8
|
import userEvent from "@testing-library/user-event";
|
|
9
9
|
import { openedMixin, closedMixin } from "./drawer.mixins";
|
|
10
|
+
import { mockConsoleError } from "~/tests/mocks";
|
|
10
11
|
|
|
11
12
|
const TestContent = () => {
|
|
12
13
|
const { open, close } = useDrawer();
|
|
@@ -58,13 +59,15 @@ describe("Drawer", () => {
|
|
|
58
59
|
|
|
59
60
|
await userEvent.click(screen.getByText(/close/i));
|
|
60
61
|
|
|
61
|
-
expect(screen.
|
|
62
|
+
expect(screen.getByRole("menu", { hidden: true })).toBeInTheDocument();
|
|
62
63
|
});
|
|
63
64
|
});
|
|
64
65
|
|
|
65
66
|
describe("DrawerContext", () => {
|
|
67
|
+
mockConsoleError();
|
|
68
|
+
|
|
66
69
|
it("would throw an error if no Provider is defined", () => {
|
|
67
|
-
|
|
70
|
+
expect(() =>
|
|
68
71
|
render(
|
|
69
72
|
<Box>
|
|
70
73
|
<Drawer>
|
|
@@ -72,11 +75,8 @@ describe("DrawerContext", () => {
|
|
|
72
75
|
</Drawer>
|
|
73
76
|
<TestContent />
|
|
74
77
|
</Box>,
|
|
75
|
-
)
|
|
76
|
-
|
|
77
|
-
} catch (e) {
|
|
78
|
-
expect(e).toStrictEqual(UndefinedProvider);
|
|
79
|
-
}
|
|
78
|
+
),
|
|
79
|
+
).toThrow(UndefinedProvider);
|
|
80
80
|
});
|
|
81
81
|
});
|
|
82
82
|
|
|
@@ -2,7 +2,7 @@ import React, { ReactElement } from "react";
|
|
|
2
2
|
import userEvent from "@testing-library/user-event";
|
|
3
3
|
import { DrawerItem } from "./drawer-item";
|
|
4
4
|
import DiamondIcon from "@mui/icons-material/Diamond";
|
|
5
|
-
import { render, screen } from "
|
|
5
|
+
import { render, screen } from "~/tests/testing-library";
|
|
6
6
|
import { NavItemAvatar, NavItemBullet, NavItemLabel } from "../drawer/drawer.types";
|
|
7
7
|
|
|
8
8
|
describe("DrawerItem", () => {
|
|
@@ -35,10 +35,10 @@ describe("DrawerItem", () => {
|
|
|
35
35
|
expect(screen.getByRole("link", { name: /lorem ipsum/i })).toBeInTheDocument();
|
|
36
36
|
});
|
|
37
37
|
|
|
38
|
-
it("would navigate to the href when is clicked", () => {
|
|
38
|
+
it("would navigate to the href when is clicked", async () => {
|
|
39
39
|
const { history } = renderComponent();
|
|
40
40
|
|
|
41
|
-
userEvent.click(screen.getByRole("link", { name: /lorem ipsum/i }));
|
|
41
|
+
await userEvent.click(screen.getByRole("link", { name: /lorem ipsum/i }));
|
|
42
42
|
|
|
43
43
|
expect(history.location.pathname).toBe("/items/1");
|
|
44
44
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { render, screen } from "
|
|
2
|
+
import { render, screen } from "~/tests/testing-library";
|
|
3
3
|
import userEvent from "@testing-library/user-event";
|
|
4
4
|
import { DrawerSection } from "./drawer-section";
|
|
5
5
|
import { SectionItems } from "./drawer-section.mock";
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { Box, MenuItem,
|
|
1
|
+
import { Box, MenuItem, useTheme } from "@mui/material";
|
|
2
2
|
import { ComponentMeta } from "@storybook/react";
|
|
3
3
|
import React, { ReactNode } from "react";
|
|
4
4
|
import { createTemplate, withContainer } from "../../storybook";
|
|
5
|
-
import { EnhancedSelect, EnhancedSelectProps } from "./enhanced-select";
|
|
5
|
+
import { EnhancedSelect, EnhancedSelectProps, EnhancedSelectSize } from "./enhanced-select";
|
|
6
6
|
import { faker } from "@faker-js/faker";
|
|
7
7
|
|
|
8
8
|
const baseArgs = {
|
|
9
9
|
label: "Car model",
|
|
10
10
|
value: faker.vehicle.model(),
|
|
11
|
-
size: "medium",
|
|
11
|
+
size: "medium" as EnhancedSelectSize,
|
|
12
12
|
fetching: false,
|
|
13
13
|
loading: false,
|
|
14
14
|
fullWidth: true,
|
|
@@ -69,15 +69,15 @@ SizeSmall.args = {
|
|
|
69
69
|
size: "small",
|
|
70
70
|
};
|
|
71
71
|
|
|
72
|
-
type WithBackgroundProps
|
|
72
|
+
type WithBackgroundProps = TemplateProps<string> & { bgcolor: "primary" | "secondary" };
|
|
73
73
|
|
|
74
|
-
export const WithBackground =
|
|
75
|
-
options,
|
|
76
|
-
bgcolor: bgcolorProp,
|
|
77
|
-
...rest
|
|
78
|
-
}: WithBackgroundProps<T>) => {
|
|
74
|
+
export const WithBackground = ({ options, bgcolor: bgcolorProp, ...rest }: WithBackgroundProps) => {
|
|
79
75
|
const { palette } = useTheme();
|
|
80
|
-
const
|
|
76
|
+
const BackgroundColors: Record<"primary" | "secondary", string> = {
|
|
77
|
+
primary: palette.primary.main,
|
|
78
|
+
secondary: palette.secondary.main,
|
|
79
|
+
};
|
|
80
|
+
const bgcolor = BackgroundColors[bgcolorProp];
|
|
81
81
|
const selectColor = palette.getContrastText(bgcolor);
|
|
82
82
|
|
|
83
83
|
return (
|
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { EnhancedSelectLoaded } from "./enhanced-select.stories";
|
|
3
|
-
import { render, screen } from "
|
|
3
|
+
import { render, screen } from "~/tests/testing-library";
|
|
4
4
|
import userEvent from "@testing-library/user-event";
|
|
5
5
|
|
|
6
6
|
describe("EnhancedSelect", () => {
|
|
7
7
|
const renderComponent = ({
|
|
8
|
-
label = EnhancedSelectLoaded.args
|
|
8
|
+
label = EnhancedSelectLoaded.args?.label || "invalid",
|
|
9
9
|
loading = false,
|
|
10
10
|
fetching = false,
|
|
11
11
|
} = {}) => {
|
|
12
|
+
const options = (EnhancedSelectLoaded.args?.options as string[]) || [];
|
|
13
|
+
const value = EnhancedSelectLoaded.args?.value as string;
|
|
14
|
+
|
|
12
15
|
render(
|
|
13
16
|
<EnhancedSelectLoaded
|
|
14
17
|
{...EnhancedSelectLoaded.args}
|
|
18
|
+
options={options}
|
|
19
|
+
value={value}
|
|
15
20
|
label={label}
|
|
16
21
|
loading={loading}
|
|
17
22
|
fetching={fetching}
|
|
@@ -19,8 +24,8 @@ describe("EnhancedSelect", () => {
|
|
|
19
24
|
);
|
|
20
25
|
|
|
21
26
|
return {
|
|
22
|
-
options
|
|
23
|
-
value
|
|
27
|
+
options,
|
|
28
|
+
value,
|
|
24
29
|
};
|
|
25
30
|
};
|
|
26
31
|
|
|
@@ -5,15 +5,13 @@ import {
|
|
|
5
5
|
FormControl,
|
|
6
6
|
InputLabel,
|
|
7
7
|
LinearProgress,
|
|
8
|
-
useTheme,
|
|
9
8
|
Select,
|
|
10
|
-
Typography,
|
|
11
9
|
styled,
|
|
12
10
|
} from "@mui/material";
|
|
13
11
|
import { CenterContainer } from "../center-container";
|
|
14
12
|
import { SelectInputProps } from "@mui/material/Select/SelectInput";
|
|
15
13
|
|
|
16
|
-
type EnhancedSelectSize = "small" | "medium";
|
|
14
|
+
export type EnhancedSelectSize = "small" | "medium";
|
|
17
15
|
|
|
18
16
|
export interface EnhancedSelectProps<T> {
|
|
19
17
|
label: string;
|
|
@@ -36,7 +36,6 @@ ColorInherit.args = {
|
|
|
36
36
|
preset: "inherit",
|
|
37
37
|
breadcrumbs,
|
|
38
38
|
tabs,
|
|
39
|
-
selectedTab: 2,
|
|
40
39
|
actions,
|
|
41
40
|
};
|
|
42
41
|
|
|
@@ -47,7 +46,6 @@ ColorPrimary.args = {
|
|
|
47
46
|
preset: "primary",
|
|
48
47
|
breadcrumbs,
|
|
49
48
|
tabs,
|
|
50
|
-
selectedTab: 2,
|
|
51
49
|
actions,
|
|
52
50
|
};
|
|
53
51
|
|
|
@@ -58,7 +56,6 @@ ColorSecondary.args = {
|
|
|
58
56
|
preset: "secondary",
|
|
59
57
|
breadcrumbs,
|
|
60
58
|
tabs,
|
|
61
|
-
selectedTab: 2,
|
|
62
59
|
actions,
|
|
63
60
|
};
|
|
64
61
|
|
|
@@ -69,7 +66,6 @@ ColorDefault.args = {
|
|
|
69
66
|
preset: "default",
|
|
70
67
|
breadcrumbs,
|
|
71
68
|
tabs,
|
|
72
|
-
selectedTab: 2,
|
|
73
69
|
actions,
|
|
74
70
|
};
|
|
75
71
|
|
|
@@ -80,7 +76,6 @@ ColorTransparent.args = {
|
|
|
80
76
|
preset: "transparent",
|
|
81
77
|
breadcrumbs,
|
|
82
78
|
tabs,
|
|
83
|
-
selectedTab: 2,
|
|
84
79
|
actions,
|
|
85
80
|
};
|
|
86
81
|
|
|
@@ -112,5 +107,4 @@ WithTabs.args = {
|
|
|
112
107
|
preset: "default",
|
|
113
108
|
breadcrumbs,
|
|
114
109
|
tabs,
|
|
115
|
-
selectedTab: 2,
|
|
116
110
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { Label, LabelVariant } from "./label";
|
|
3
|
-
import { render, screen } from "
|
|
3
|
+
import { render, screen } from "~/tests/testing-library";
|
|
4
4
|
|
|
5
5
|
describe("Label", () => {
|
|
6
6
|
const renderComponent = (variant: LabelVariant | undefined = undefined) => {
|
|
@@ -3,7 +3,7 @@ import { Link as RouterLink, LinkProps as RouterLinkProps } from "react-router-d
|
|
|
3
3
|
import { forwardRef } from "react";
|
|
4
4
|
import { LinkProps, Link as MuiLink } from "@mui/material";
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
/* eslint-disable react/display-name, @typescript-eslint/no-explicit-any */
|
|
7
7
|
export const LinkBehaviour = forwardRef<
|
|
8
8
|
any,
|
|
9
9
|
Omit<RouterLinkProps, "to"> & { href: RouterLinkProps["to"] }
|
|
@@ -12,6 +12,6 @@ export const LinkBehaviour = forwardRef<
|
|
|
12
12
|
return <RouterLink ref={ref} to={href} {...other} />;
|
|
13
13
|
});
|
|
14
14
|
|
|
15
|
-
export const Link = forwardRef<any, LinkProps>((props,
|
|
15
|
+
export const Link = forwardRef<any, LinkProps>((props, _1) => {
|
|
16
16
|
return <MuiLink {...props} component={LinkBehaviour} />;
|
|
17
17
|
});
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import {
|
|
2
|
+
import { expectProgressIndicator } from "~/tests/assertions";
|
|
3
|
+
import { render } from "~/tests/testing-library";
|
|
3
4
|
import { LoadingArea } from "./loading-area";
|
|
4
5
|
|
|
5
6
|
describe("LoadingArea", () => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { ReactElement } from "react";
|
|
2
|
-
import { render, screen } from "
|
|
2
|
+
import { render, screen } from "~/tests/testing-library";
|
|
3
3
|
import userEvent from "@testing-library/user-event";
|
|
4
4
|
import { Placeholder, PlaceholderAction } from "./placeholder";
|
|
5
5
|
import { actions as actionData } from "./placeholder.mock";
|
|
@@ -12,12 +12,13 @@ describe("Placeholder", () => {
|
|
|
12
12
|
actions = undefined,
|
|
13
13
|
icon = undefined,
|
|
14
14
|
}: { actions?: PlaceholderAction[]; icon?: ReactElement } = {}) => {
|
|
15
|
+
const iconFn = icon ? () => icon : undefined;
|
|
15
16
|
return render(
|
|
16
17
|
<Placeholder
|
|
17
18
|
title="Lorem ipsum"
|
|
18
19
|
subtitle="Lorem ipsum sit amet"
|
|
19
20
|
actions={actions}
|
|
20
|
-
icon={
|
|
21
|
+
icon={iconFn}
|
|
21
22
|
/>,
|
|
22
23
|
);
|
|
23
24
|
};
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { QueryContainer, QueryContainerError, QueryContainerSuccess } from "./query-container";
|
|
3
|
-
import {
|
|
3
|
+
import { render, screen } from "~/tests/testing-library";
|
|
4
4
|
import { Typography } from "@mui/material";
|
|
5
|
+
import { expectProgressIndicator } from "~/tests/assertions";
|
|
5
6
|
|
|
6
7
|
describe("QueryContainer", () => {
|
|
7
8
|
const renderComponent = ({
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { SignIn } from "./sign-in";
|
|
3
|
-
import {
|
|
3
|
+
import { render, screen } from "~/tests/testing-library";
|
|
4
4
|
import userEvent from "@testing-library/user-event";
|
|
5
|
+
import { expectProgressIndicator } from "~/tests/assertions";
|
|
5
6
|
|
|
6
7
|
async function submitSignIn(email: string | null, password: string | null) {
|
|
7
8
|
email && (await userEvent.type(screen.getByRole("input", { name: /email/i }), email));
|
|
@@ -2,7 +2,7 @@ import React, { FormEvent, useState } from "react";
|
|
|
2
2
|
import { Stack, Box, TextField, Typography, Alert } from "@mui/material";
|
|
3
3
|
import { LoadingButton } from "@mui/lab";
|
|
4
4
|
|
|
5
|
-
interface
|
|
5
|
+
export interface SignInProps {
|
|
6
6
|
title: string;
|
|
7
7
|
subtitle: string;
|
|
8
8
|
error?: Error;
|
|
@@ -10,7 +10,7 @@ interface Props {
|
|
|
10
10
|
onSubmitSignIn: (email: string, password: string) => void;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
export
|
|
13
|
+
export const SignIn = ({ title, subtitle, loading, error, onSubmitSignIn }: SignInProps) => {
|
|
14
14
|
const [emailError, setEmailError] = useState("");
|
|
15
15
|
const [passwordError, setPasswordError] = useState("");
|
|
16
16
|
|
|
@@ -94,4 +94,4 @@ export function SignIn({ title, subtitle, loading, error, onSubmitSignIn }: Prop
|
|
|
94
94
|
</Box>
|
|
95
95
|
</>
|
|
96
96
|
);
|
|
97
|
-
}
|
|
97
|
+
};
|
|
@@ -6,12 +6,12 @@ import { TabProvider } from "../../../providers";
|
|
|
6
6
|
|
|
7
7
|
export const DummyTabs = ["tab 1", "tab 2.1", "tab 2.2", "tab 3"];
|
|
8
8
|
|
|
9
|
-
interface
|
|
9
|
+
export interface TabCardDummyProps {
|
|
10
10
|
tabs: string[];
|
|
11
11
|
initialTab: number;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
export function TabCardDummy({ tabs, initialTab }:
|
|
14
|
+
export function TabCardDummy({ tabs, initialTab }: TabCardDummyProps) {
|
|
15
15
|
return (
|
|
16
16
|
<TabProvider initialValue={initialTab}>
|
|
17
17
|
<TabCard tabs={tabs}>
|
|
@@ -2,7 +2,7 @@ import React from "react";
|
|
|
2
2
|
import { ComponentMeta } from "@storybook/react";
|
|
3
3
|
import { TabCard } from "./tab-card";
|
|
4
4
|
import { createTemplate } from "../../../storybook";
|
|
5
|
-
import { DummyTabs, TabCardDummy } from "./tab-card.dummy";
|
|
5
|
+
import { DummyTabs, TabCardDummy, TabCardDummyProps } from "./tab-card.dummy";
|
|
6
6
|
|
|
7
7
|
export default {
|
|
8
8
|
title: "Cards/Tab card",
|
|
@@ -12,7 +12,7 @@ export default {
|
|
|
12
12
|
},
|
|
13
13
|
} as ComponentMeta<typeof TabCard>;
|
|
14
14
|
|
|
15
|
-
const Template = createTemplate((props) => {
|
|
15
|
+
const Template = createTemplate((props: TabCardDummyProps) => {
|
|
16
16
|
return <TabCardDummy {...props} />;
|
|
17
17
|
});
|
|
18
18
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { DummyTabs, TabCardDummy } from "./tab-card.dummy";
|
|
3
|
-
import { screen, render } from "
|
|
3
|
+
import { screen, render } from "~/tests/testing-library";
|
|
4
4
|
import userEvent from "@testing-library/user-event";
|
|
5
5
|
|
|
6
6
|
describe("TabCard", () => {
|