@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.
Files changed (191) hide show
  1. package/dist/cjs/index.js +1 -31
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/types/components/app-bar/app-bar.types.d.ts +2 -2
  4. package/dist/cjs/types/components/bullet/bullet.d.ts +1 -1
  5. package/dist/cjs/types/components/content/content.types.d.ts +3 -3
  6. package/dist/cjs/types/components/drawer/drawer.provider.d.ts +1 -1
  7. package/dist/cjs/types/components/drawer/drawer.types.d.ts +4 -4
  8. package/dist/cjs/types/components/enhanced-select/enhanced-select.d.ts +1 -2
  9. package/dist/cjs/types/components/header/header.dummy.d.ts +1 -1
  10. package/dist/cjs/types/components/header/header.types.d.ts +6 -6
  11. package/dist/cjs/types/components/label/label.d.ts +1 -1
  12. package/dist/cjs/types/components/link/link.d.ts +1 -1
  13. package/dist/cjs/types/components/placeholder/placeholder.d.ts +1 -1
  14. package/dist/cjs/types/components/query-container/query-container.d.ts +1 -1
  15. package/dist/cjs/types/components/sign-in/sign-in.d.ts +2 -3
  16. package/dist/cjs/types/components/tab/tab-card/tab-card.d.ts +3 -4
  17. package/dist/cjs/types/components/tab/tab-card/tab-card.dummy.d.ts +2 -3
  18. package/dist/cjs/types/components/table/enhanced-remote-table/enhanced-remote-table.d.ts +5 -6
  19. package/dist/cjs/types/components/table/enhanced-remote-table/enhanced-remote-table.mock.d.ts +6 -6
  20. package/dist/cjs/types/components/table/enhanced-table/enhanced-table-head.d.ts +8 -8
  21. package/dist/cjs/types/components/table/enhanced-table/enhanced-table.d.ts +2 -2
  22. package/dist/cjs/types/components/table/enhanced-table/enhanced-table.mock.d.ts +6 -7
  23. package/dist/cjs/types/components/table-list/table-list.d.ts +2 -2
  24. package/dist/cjs/types/components/value-displays/group-value-card/group-value-card.d.ts +7 -4
  25. package/dist/cjs/types/components/value-displays/group-value-card/group-value-card.mock.d.ts +2 -1
  26. package/dist/cjs/types/components/value-displays/index.d.ts +1 -0
  27. package/dist/cjs/types/components/value-displays/value-boolean/value-boolean.d.ts +3 -11
  28. package/dist/cjs/types/components/value-displays/value-card/value-card.d.ts +1 -1
  29. package/dist/cjs/types/components/value-displays/value-content/index.d.ts +1 -0
  30. package/dist/cjs/types/components/value-displays/value-content/value-content.d.ts +24 -0
  31. package/dist/cjs/types/components/value-displays/value-datetime/value-datetime.d.ts +3 -10
  32. package/dist/cjs/types/components/value-displays/value-displays.types.d.ts +15 -0
  33. package/dist/cjs/types/components/value-displays/value-image/index.d.ts +1 -0
  34. package/dist/cjs/types/components/value-displays/value-image/value-image.d.ts +11 -0
  35. package/dist/cjs/types/components/value-displays/value-text/value-text.d.ts +3 -11
  36. package/dist/cjs/types/generators/generators.mock.d.ts +2 -1
  37. package/dist/cjs/types/generators/generators.model.d.ts +36 -20
  38. package/dist/cjs/types/generators/generators.model.test.d.ts +1 -0
  39. package/dist/cjs/types/generators/model-router/model-router.d.ts +1 -1
  40. package/dist/cjs/types/generators/model-router/screens/add-screen.d.ts +1 -1
  41. package/dist/cjs/types/generators/model-router/screens/details-screen.d.ts +1 -1
  42. package/dist/cjs/types/generators/model-router/screens/list-screen.d.ts +1 -1
  43. package/dist/cjs/types/generators/model-router/screens/update-screen.d.ts +1 -1
  44. package/dist/cjs/types/layouts/header-layout/header-layout.d.ts +1 -2
  45. package/dist/cjs/types/providers/notification-center/notification-center.context.d.ts +0 -2
  46. package/dist/cjs/types/providers/notification-center/notification-center.provider.d.ts +1 -1
  47. package/dist/cjs/types/providers/tab-provider/tab-provider.provider.d.ts +1 -1
  48. package/dist/cjs/types/utils/theme.d.ts +1 -1
  49. package/dist/esm/index.js +1 -31
  50. package/dist/esm/index.js.map +1 -1
  51. package/dist/esm/types/components/app-bar/app-bar.types.d.ts +2 -2
  52. package/dist/esm/types/components/bullet/bullet.d.ts +1 -1
  53. package/dist/esm/types/components/content/content.types.d.ts +3 -3
  54. package/dist/esm/types/components/drawer/drawer.provider.d.ts +1 -1
  55. package/dist/esm/types/components/drawer/drawer.types.d.ts +4 -4
  56. package/dist/esm/types/components/enhanced-select/enhanced-select.d.ts +1 -2
  57. package/dist/esm/types/components/header/header.dummy.d.ts +1 -1
  58. package/dist/esm/types/components/header/header.types.d.ts +6 -6
  59. package/dist/esm/types/components/label/label.d.ts +1 -1
  60. package/dist/esm/types/components/link/link.d.ts +1 -1
  61. package/dist/esm/types/components/placeholder/placeholder.d.ts +1 -1
  62. package/dist/esm/types/components/query-container/query-container.d.ts +1 -1
  63. package/dist/esm/types/components/sign-in/sign-in.d.ts +2 -3
  64. package/dist/esm/types/components/tab/tab-card/tab-card.d.ts +3 -4
  65. package/dist/esm/types/components/tab/tab-card/tab-card.dummy.d.ts +2 -3
  66. package/dist/esm/types/components/table/enhanced-remote-table/enhanced-remote-table.d.ts +5 -6
  67. package/dist/esm/types/components/table/enhanced-remote-table/enhanced-remote-table.mock.d.ts +6 -6
  68. package/dist/esm/types/components/table/enhanced-table/enhanced-table-head.d.ts +8 -8
  69. package/dist/esm/types/components/table/enhanced-table/enhanced-table.d.ts +2 -2
  70. package/dist/esm/types/components/table/enhanced-table/enhanced-table.mock.d.ts +6 -7
  71. package/dist/esm/types/components/table-list/table-list.d.ts +2 -2
  72. package/dist/esm/types/components/value-displays/group-value-card/group-value-card.d.ts +7 -4
  73. package/dist/esm/types/components/value-displays/group-value-card/group-value-card.mock.d.ts +2 -1
  74. package/dist/esm/types/components/value-displays/index.d.ts +1 -0
  75. package/dist/esm/types/components/value-displays/value-boolean/value-boolean.d.ts +3 -11
  76. package/dist/esm/types/components/value-displays/value-card/value-card.d.ts +1 -1
  77. package/dist/esm/types/components/value-displays/value-content/index.d.ts +1 -0
  78. package/dist/esm/types/components/value-displays/value-content/value-content.d.ts +24 -0
  79. package/dist/esm/types/components/value-displays/value-datetime/value-datetime.d.ts +3 -10
  80. package/dist/esm/types/components/value-displays/value-displays.types.d.ts +15 -0
  81. package/dist/esm/types/components/value-displays/value-image/index.d.ts +1 -0
  82. package/dist/esm/types/components/value-displays/value-image/value-image.d.ts +11 -0
  83. package/dist/esm/types/components/value-displays/value-text/value-text.d.ts +3 -11
  84. package/dist/esm/types/generators/generators.mock.d.ts +2 -1
  85. package/dist/esm/types/generators/generators.model.d.ts +36 -20
  86. package/dist/esm/types/generators/generators.model.test.d.ts +1 -0
  87. package/dist/esm/types/generators/model-router/model-router.d.ts +1 -1
  88. package/dist/esm/types/generators/model-router/screens/add-screen.d.ts +1 -1
  89. package/dist/esm/types/generators/model-router/screens/details-screen.d.ts +1 -1
  90. package/dist/esm/types/generators/model-router/screens/list-screen.d.ts +1 -1
  91. package/dist/esm/types/generators/model-router/screens/update-screen.d.ts +1 -1
  92. package/dist/esm/types/layouts/header-layout/header-layout.d.ts +1 -2
  93. package/dist/esm/types/providers/notification-center/notification-center.context.d.ts +0 -2
  94. package/dist/esm/types/providers/notification-center/notification-center.provider.d.ts +1 -1
  95. package/dist/esm/types/providers/tab-provider/tab-provider.provider.d.ts +1 -1
  96. package/dist/esm/types/utils/theme.d.ts +1 -1
  97. package/dist/index.d.ts +155 -150
  98. package/package.json +58 -53
  99. package/src/components/app-bar/app-bar.stories.tsx +2 -1
  100. package/src/components/app-bar/app-bar.test.tsx +1 -1
  101. package/src/components/bullet/bullet.test.tsx +1 -1
  102. package/src/components/center-container/center-container.test.tsx +1 -1
  103. package/src/components/content/content.stories.tsx +1 -1
  104. package/src/components/content/content.test.tsx +1 -1
  105. package/src/components/drawer/__snapshots__/drawer.test.tsx.snap +3 -3
  106. package/src/components/drawer/drawer.test.tsx +8 -8
  107. package/src/components/drawer-content/drawer-content.stories.tsx +0 -1
  108. package/src/components/drawer-content/drawer-content.test.tsx +1 -1
  109. package/src/components/drawer-item/drawer-item.test.tsx +3 -3
  110. package/src/components/drawer-section/drawer-section.test.tsx +1 -1
  111. package/src/components/enhanced-select/enhanced-select.stories.tsx +10 -10
  112. package/src/components/enhanced-select/enhanced-select.test.tsx +9 -4
  113. package/src/components/enhanced-select/enhanced-select.tsx +1 -3
  114. package/src/components/header/header.dummy.ts +1 -1
  115. package/src/components/header/header.stories.tsx +0 -6
  116. package/src/components/header/header.test.tsx +1 -1
  117. package/src/components/label/label.test.tsx +1 -1
  118. package/src/components/link/link.tsx +2 -2
  119. package/src/components/loading-area/loading-area.test.tsx +2 -1
  120. package/src/components/placeholder/placeholder.test.tsx +3 -2
  121. package/src/components/query-container/query-container.test.tsx +2 -1
  122. package/src/components/sign-in/sign-in.test.tsx +2 -1
  123. package/src/components/sign-in/sign-in.tsx +3 -3
  124. package/src/components/tab/tab-card/tab-card.dummy.tsx +2 -2
  125. package/src/components/tab/tab-card/tab-card.stories.tsx +2 -2
  126. package/src/components/tab/tab-card/tab-card.test.tsx +1 -1
  127. package/src/components/tab/tab-card/tab-card.tsx +3 -3
  128. package/src/components/table/enhanced-remote-table/enhanced-remote-table.mock.tsx +7 -6
  129. package/src/components/table/enhanced-remote-table/enhanced-remote-table.test.tsx +3 -3
  130. package/src/components/table/enhanced-remote-table/enhanced-remote-table.tsx +8 -8
  131. package/src/components/table/enhanced-table/enhanced-table-head.tsx +14 -9
  132. package/src/components/table/enhanced-table/enhanced-table.mock.tsx +12 -6
  133. package/src/components/table/enhanced-table/enhanced-table.test.tsx +6 -5
  134. package/src/components/table/enhanced-table/enhanced-table.tsx +8 -8
  135. package/src/components/table-list/table-list.stories.tsx +27 -17
  136. package/src/components/table-list/table-list.test.tsx +11 -6
  137. package/src/components/table-list/table-list.tsx +23 -12
  138. package/src/components/value-displays/group-value-card/group-value-card.mock.tsx +2 -2
  139. package/src/components/value-displays/group-value-card/group-value-card.stories.tsx +24 -1
  140. package/src/components/value-displays/group-value-card/group-value-card.test.tsx +7 -2
  141. package/src/components/value-displays/group-value-card/group-value-card.tsx +13 -4
  142. package/src/components/value-displays/index.ts +1 -0
  143. package/src/components/value-displays/value-boolean/value-boolean.test.tsx +15 -3
  144. package/src/components/value-displays/value-boolean/value-boolean.tsx +17 -17
  145. package/src/components/value-displays/value-card/value-card.test.tsx +1 -1
  146. package/src/components/value-displays/value-content/index.ts +1 -0
  147. package/src/components/value-displays/value-content/value-content.stories.tsx +20 -0
  148. package/src/components/value-displays/value-content/value-content.test.tsx +50 -0
  149. package/src/components/value-displays/value-content/value-content.tsx +55 -0
  150. package/src/components/value-displays/value-datetime/value-datetime.stories.tsx +13 -0
  151. package/src/components/value-displays/value-datetime/value-datetime.test.tsx +24 -5
  152. package/src/components/value-displays/value-datetime/value-datetime.tsx +15 -22
  153. package/src/components/value-displays/value-displays.types.ts +18 -0
  154. package/src/components/value-displays/value-image/index.ts +1 -0
  155. package/src/components/value-displays/value-image/value-image.stories.tsx +28 -0
  156. package/src/components/value-displays/value-image/value-image.test.tsx +22 -0
  157. package/src/components/value-displays/value-image/value-image.tsx +24 -0
  158. package/src/components/value-displays/value-text/value-text.stories.tsx +11 -0
  159. package/src/components/value-displays/value-text/value-text.test.tsx +19 -5
  160. package/src/components/value-displays/value-text/value-text.tsx +16 -22
  161. package/src/generators/generators.mock.ts +25 -22
  162. package/src/generators/generators.model.test.ts +77 -0
  163. package/src/generators/generators.model.ts +78 -6
  164. package/src/generators/model-form/model-form.test.tsx +11 -14
  165. package/src/generators/model-form/model-form.tsx +33 -65
  166. package/src/generators/model-router/model-router.test.tsx +45 -32
  167. package/src/generators/model-router/screens/add-screen.tsx +2 -1
  168. package/src/generators/model-router/screens/details-screen.tsx +2 -1
  169. package/src/generators/model-router/screens/list-screen.tsx +1 -1
  170. package/src/generators/model-router/screens/update-screen.tsx +4 -5
  171. package/src/generators/model-router/stories/model-router.stories.tsx +1 -1
  172. package/src/generators/object-details/object-details.test.tsx +2 -1
  173. package/src/generators/object-details/object-details.tsx +18 -9
  174. package/src/hooks/routing/routing.test.tsx +1 -1
  175. package/src/layouts/app-bar-with-drawer-layout/app-bar-with-drawer-layout.stories.tsx +1 -1
  176. package/src/layouts/app-bar-with-drawer-layout/app-bar-with-drawer-layout.test.tsx +2 -1
  177. package/src/layouts/header-layout/header-layout.stories.tsx +11 -4
  178. package/src/layouts/header-layout/header-layout.test.tsx +1 -1
  179. package/src/layouts/header-layout/header-layout.tsx +1 -1
  180. package/src/providers/notification-center/notification-center.context.ts +0 -6
  181. package/src/providers/notification-center/notification-center.stories.tsx +1 -1
  182. package/src/providers/notification-center/notification-center.test.tsx +6 -7
  183. package/src/storybook.tsx +1 -1
  184. package/src/tests/actions.ts +4 -0
  185. package/src/tests/assertions.ts +18 -10
  186. package/src/tests/components.tsx +35 -1
  187. package/src/tests/file-mock.ts +1 -0
  188. package/src/tests/mocks.ts +21 -0
  189. package/src/tests/testing-library.tsx +11 -8
  190. package/src/types/index.d.ts +4 -0
  191. 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.2",
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.9.3",
33
- "@emotion/styled": "^11.9.3",
34
- "@mui/icons-material": "^5.8.4",
35
- "@mui/lab": "^5.0.0-alpha.90",
36
- "@mui/material": "^5.9.0",
37
- "@mui/x-data-grid": "^5.13.0",
38
- "@mui/x-date-pickers": "^5.0.0-beta.7",
39
- "date-fns": "^2.29.2",
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.3.0"
43
+ "react-router-dom": "^6.8.1"
43
44
  },
44
45
  "devDependencies": {
45
- "@date-io/date-fns": "^2.15.0",
46
- "@babel/core": "^7.18.6",
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
- "@faker-js/faker": "^7.3.0",
50
- "@mui/x-data-grid-generator": "^5.13.0",
51
- "@rollup/plugin-alias": "^3.1.9",
52
- "@rollup/plugin-commonjs": "^22.0.1",
53
- "@rollup/plugin-node-resolve": "^13.3.0",
54
- "@rollup/plugin-typescript": "^8.3.3",
55
- "@storybook/addon-actions": "^6.5.9",
56
- "@storybook/addon-essentials": "^6.5.9",
57
- "@storybook/addon-interactions": "^6.5.9",
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.9",
60
- "@storybook/builder-webpack4": "^6.5.9",
61
- "@storybook/manager-webpack4": "^6.5.9",
62
- "@storybook/react": "^6.5.9",
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.4",
66
- "@testing-library/react": "^13.3.0",
67
- "@types/jest": "^28.1.5",
68
- "@types/ramda": "^0.28.15",
69
- "@types/react": "^18.0.15",
70
- "@typescript-eslint/eslint-plugin": "^5.30.6",
71
- "@typescript-eslint/parser": "^5.30.6",
72
- "babel-jest": "^28.1.3",
73
- "babel-loader": "^8.2.5",
74
- "babel-plugin-module-resolver": "^4.1.0",
75
- "eslint": "^8.19.0",
76
- "eslint-config-prettier": "^8.5.0",
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.30.1",
79
- "gh-pages": "^4.0.0",
80
- "husky": "^8.0.1",
81
- "jest": "^28.1.3",
82
- "jest-environment-jsdom": "^28.1.3",
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.7.1",
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.4.0",
93
- "typescript": "^4.7.4"
95
+ "tslib": "^2.5.0",
96
+ "typescript": "^4.9.5"
94
97
  },
95
98
  "peerDependencies": {
96
- "@emotion/react": "^11.5.0",
97
- "@emotion/styled": "^11.3.0",
98
- "@mui/icons-material": "^5.0.0",
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.0.0",
101
- "@mui/x-data-grid": "^5.13.0",
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 "../../tests";
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 "../../tests";
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 "../../tests";
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 "../../tests";
5
+ import { SkeletonGrid } from "~/tests/components";
6
6
 
7
7
  export default {
8
8
  title: "Sections/Content",
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
2
  import { Content } from "./content";
3
- import { render, screen } from "../../tests";
3
+ import { render, screen } from "~/tests/testing-library";
4
4
  import { Typography } from "@mui/material";
5
5
 
6
6
  describe("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
- Object {
5
- "@media (min-width:600px)": Object {
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
- Object {
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 "../../tests";
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.queryByRole("menu", { hidden: true })).not.toBeInTheDocument();
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
- try {
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
- fail("No error has been thrown");
77
- } catch (e) {
78
- expect(e).toStrictEqual(UndefinedProvider);
79
- }
78
+ ),
79
+ ).toThrow(UndefinedProvider);
80
80
  });
81
81
  });
82
82
 
@@ -25,5 +25,4 @@ const Template = createTemplate(DrawerContent);
25
25
  export const Default = Template.bind({});
26
26
  Default.args = {
27
27
  nav: mockNav,
28
- open: true,
29
28
  };
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { render, screen } from "../../tests";
2
+ import { render, screen } from "~/tests/testing-library";
3
3
  import { mockNav } from "../drawer/drawer.mock";
4
4
  import { DrawerContent } from "./drawer-content";
5
5
 
@@ -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 "../../tests";
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 "../../tests";
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, PropTypes, useTheme } from "@mui/material";
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<T extends ReactNode> = TemplateProps<T> & { bgcolor: PropTypes.Color };
72
+ type WithBackgroundProps = TemplateProps<string> & { bgcolor: "primary" | "secondary" };
73
73
 
74
- export const WithBackground = <T extends string>({
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 bgcolor = palette[bgcolorProp].main;
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 "../../tests";
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.label,
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: EnhancedSelectLoaded.args.options as string[],
23
- value: EnhancedSelectLoaded.args.value as string,
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;
@@ -1,5 +1,5 @@
1
1
  import { action } from "@storybook/addon-actions";
2
- import { HeaderBreadcrumb, HeaderAction, HeaderTab } from "./header";
2
+ import { HeaderBreadcrumb, HeaderAction, HeaderTab } from "./header.types";
3
3
 
4
4
  export const breadcrumbs: HeaderBreadcrumb[] = [
5
5
  {
@@ -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,5 +1,5 @@
1
1
  import React from "react";
2
- import { render, screen } from "../../tests";
2
+ import { render, screen } from "~/tests/testing-library";
3
3
  import userEvent from "@testing-library/user-event";
4
4
  import { Header } from "./header";
5
5
  import {
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
2
  import { Label, LabelVariant } from "./label";
3
- import { render, screen } from "../../tests";
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
- // eslint-disable-next-line react/display-name, @typescript-eslint/no-explicit-any
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 { render, expectProgressIndicator } from "../../tests";
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 "../../tests";
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={() => 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 { expectProgressIndicator, render, screen } from "../../tests";
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 { expectProgressIndicator, render, screen } from "../../tests";
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 Props {
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 function SignIn({ title, subtitle, loading, error, onSubmitSignIn }: Props) {
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 Props {
9
+ export interface TabCardDummyProps {
10
10
  tabs: string[];
11
11
  initialTab: number;
12
12
  }
13
13
 
14
- export function TabCardDummy({ tabs, initialTab }: Props) {
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 "../../../tests";
3
+ import { screen, render } from "~/tests/testing-library";
4
4
  import userEvent from "@testing-library/user-event";
5
5
 
6
6
  describe("TabCard", () => {