@pautena/react-design-system 0.4.2 → 0.4.4

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 (444) hide show
  1. package/dist/cjs/index.js +4 -12
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/types/components/{app-bar → app-bars/app-bar}/app-bar.types.d.ts +2 -2
  4. package/dist/cjs/types/components/app-bars/index.d.ts +1 -0
  5. package/dist/cjs/types/components/containers/content/content.types.d.ts +4 -0
  6. package/dist/cjs/types/components/containers/index.d.ts +2 -0
  7. package/dist/cjs/types/components/{bullet → data-display/bullet}/bullet.d.ts +1 -1
  8. package/dist/cjs/types/components/{header → data-display/header}/header.dummy.d.ts +1 -1
  9. package/dist/cjs/types/components/{header → data-display/header}/header.types.d.ts +6 -6
  10. package/dist/cjs/types/components/data-display/index.d.ts +3 -0
  11. package/dist/{esm/types/components → cjs/types/components/data-display}/label/label.d.ts +1 -1
  12. package/dist/cjs/types/components/{drawer → drawers/drawer}/drawer.provider.d.ts +1 -1
  13. package/dist/cjs/types/components/{drawer → drawers/drawer}/drawer.types.d.ts +14 -7
  14. package/dist/cjs/types/components/drawers/drawer-collapsable-item/drawer-collapsable-item.d.ts +26 -0
  15. package/dist/cjs/types/components/drawers/drawer-collapsable-item/index.d.ts +1 -0
  16. package/dist/cjs/types/components/{drawer-item → drawers/drawer-item}/drawer-item.d.ts +10 -1
  17. package/dist/{esm/types/components → cjs/types/components/drawers}/drawer-section/drawer-section.d.ts +5 -1
  18. package/dist/cjs/types/components/drawers/index.d.ts +4 -0
  19. package/dist/cjs/types/components/feedback/index.d.ts +2 -0
  20. package/dist/cjs/types/components/{query-container → feedback/query-container}/query-container.d.ts +1 -1
  21. package/dist/cjs/types/components/index.d.ts +9 -18
  22. package/dist/cjs/types/components/{enhanced-select → inputs/enhanced-select}/enhanced-select.d.ts +1 -2
  23. package/dist/cjs/types/components/inputs/index.d.ts +2 -0
  24. package/dist/cjs/types/components/{sign-in → inputs/sign-in}/sign-in.d.ts +2 -3
  25. package/dist/cjs/types/components/navigation/index.d.ts +1 -0
  26. package/dist/cjs/types/components/navigation/link/link.d.ts +7 -0
  27. package/dist/cjs/types/components/navigation/tab/tab-card/tab-card.d.ts +5 -0
  28. package/dist/cjs/types/components/navigation/tab/tab-card/tab-card.dummy.d.ts +6 -0
  29. package/dist/cjs/types/components/placeholders/content-placeholder/content-placeholder.d.ts +6 -0
  30. package/dist/cjs/types/components/placeholders/content-placeholder/index.d.ts +1 -0
  31. package/dist/cjs/types/components/placeholders/index.d.ts +5 -0
  32. package/dist/cjs/types/components/placeholders/lorem-ipsum-placeholder/index.d.ts +1 -0
  33. package/dist/cjs/types/components/placeholders/lorem-ipsum-placeholder/lorem-ipsum-placeholder.d.ts +8 -0
  34. package/dist/{esm/types/components → cjs/types/components/placeholders}/placeholder/placeholder.d.ts +1 -1
  35. package/dist/cjs/types/components/placeholders/skeleton-card/index.d.ts +1 -0
  36. package/dist/cjs/types/components/placeholders/skeleton-card/skeleton-card.d.ts +5 -0
  37. package/dist/cjs/types/components/placeholders/skeleton-grid/index.d.ts +1 -0
  38. package/dist/cjs/types/components/placeholders/skeleton-grid/skeleton-grid.d.ts +4 -0
  39. package/dist/cjs/types/components/tables/enhanced-remote-table/enhanced-remote-table.d.ts +12 -0
  40. package/dist/cjs/types/components/tables/enhanced-remote-table/enhanced-remote-table.mock.d.ts +11 -0
  41. package/dist/cjs/types/components/tables/enhanced-table/enhanced-table-head.d.ts +16 -0
  42. package/dist/{esm/types/components/table → cjs/types/components/tables}/enhanced-table/enhanced-table.d.ts +2 -2
  43. package/dist/cjs/types/components/{table → tables}/enhanced-table/enhanced-table.mock.d.ts +6 -7
  44. package/dist/cjs/types/components/value-displays/group-value-card/group-value-card.d.ts +7 -4
  45. package/dist/cjs/types/components/value-displays/group-value-card/group-value-card.mock.d.ts +2 -1
  46. package/dist/cjs/types/components/value-displays/index.d.ts +1 -0
  47. package/dist/cjs/types/components/value-displays/value-boolean/value-boolean.d.ts +3 -11
  48. package/dist/cjs/types/components/value-displays/value-card/value-card.d.ts +1 -1
  49. package/dist/cjs/types/components/value-displays/value-content/index.d.ts +1 -0
  50. package/dist/cjs/types/components/value-displays/value-content/value-content.d.ts +24 -0
  51. package/dist/cjs/types/components/value-displays/value-datetime/value-datetime.d.ts +3 -10
  52. package/dist/cjs/types/components/value-displays/value-displays.types.d.ts +15 -0
  53. package/dist/cjs/types/components/value-displays/value-image/index.d.ts +1 -0
  54. package/dist/cjs/types/components/value-displays/value-image/value-image.d.ts +11 -0
  55. package/dist/cjs/types/components/value-displays/value-text/value-text.d.ts +3 -11
  56. package/dist/cjs/types/generators/generators.mock.d.ts +2 -1
  57. package/dist/cjs/types/generators/generators.model.d.ts +36 -20
  58. package/dist/cjs/types/generators/generators.model.test.d.ts +1 -0
  59. package/dist/cjs/types/generators/index.d.ts +1 -0
  60. package/dist/cjs/types/generators/model-router/model-router.d.ts +1 -1
  61. package/dist/cjs/types/generators/model-router/screens/add-screen.d.ts +1 -1
  62. package/dist/cjs/types/generators/model-router/screens/details-screen.d.ts +1 -1
  63. package/dist/cjs/types/generators/model-router/screens/list-screen.d.ts +1 -1
  64. package/dist/cjs/types/generators/model-router/screens/update-screen.d.ts +1 -1
  65. package/dist/cjs/types/{components → generators}/table-list/table-list.d.ts +3 -3
  66. package/dist/cjs/types/layouts/app-bar-with-drawer-layout/app-bar-with-drawer-layout.d.ts +2 -2
  67. package/dist/cjs/types/layouts/header-layout/header-layout.d.ts +1 -2
  68. package/dist/cjs/types/providers/notification-center/notification-center.context.d.ts +0 -2
  69. package/dist/cjs/types/providers/notification-center/notification-center.provider.d.ts +1 -1
  70. package/dist/cjs/types/providers/tab-provider/tab-provider.provider.d.ts +1 -1
  71. package/dist/cjs/types/utils/theme.d.ts +1 -1
  72. package/dist/esm/index.js +4 -12
  73. package/dist/esm/index.js.map +1 -1
  74. package/dist/esm/types/components/{app-bar → app-bars/app-bar}/app-bar.types.d.ts +2 -2
  75. package/dist/esm/types/components/app-bars/index.d.ts +1 -0
  76. package/dist/esm/types/components/containers/content/content.types.d.ts +4 -0
  77. package/dist/esm/types/components/containers/index.d.ts +2 -0
  78. package/dist/esm/types/components/{bullet → data-display/bullet}/bullet.d.ts +1 -1
  79. package/dist/esm/types/components/{header → data-display/header}/header.dummy.d.ts +1 -1
  80. package/dist/esm/types/components/{header → data-display/header}/header.types.d.ts +6 -6
  81. package/dist/esm/types/components/data-display/index.d.ts +3 -0
  82. package/dist/{cjs/types/components → esm/types/components/data-display}/label/label.d.ts +1 -1
  83. package/dist/esm/types/components/{drawer → drawers/drawer}/drawer.provider.d.ts +1 -1
  84. package/dist/esm/types/components/{drawer → drawers/drawer}/drawer.types.d.ts +14 -7
  85. package/dist/esm/types/components/drawers/drawer-collapsable-item/drawer-collapsable-item.d.ts +26 -0
  86. package/dist/esm/types/components/drawers/drawer-collapsable-item/index.d.ts +1 -0
  87. package/dist/esm/types/components/{drawer-item → drawers/drawer-item}/drawer-item.d.ts +10 -1
  88. package/dist/{cjs/types/components → esm/types/components/drawers}/drawer-section/drawer-section.d.ts +5 -1
  89. package/dist/esm/types/components/drawers/index.d.ts +4 -0
  90. package/dist/esm/types/components/feedback/index.d.ts +2 -0
  91. package/dist/esm/types/components/{query-container → feedback/query-container}/query-container.d.ts +1 -1
  92. package/dist/esm/types/components/index.d.ts +9 -18
  93. package/dist/esm/types/components/{enhanced-select → inputs/enhanced-select}/enhanced-select.d.ts +1 -2
  94. package/dist/esm/types/components/inputs/index.d.ts +2 -0
  95. package/dist/esm/types/components/{sign-in → inputs/sign-in}/sign-in.d.ts +2 -3
  96. package/dist/esm/types/components/navigation/index.d.ts +1 -0
  97. package/dist/esm/types/components/navigation/link/link.d.ts +7 -0
  98. package/dist/esm/types/components/navigation/tab/tab-card/tab-card.d.ts +5 -0
  99. package/dist/esm/types/components/navigation/tab/tab-card/tab-card.dummy.d.ts +6 -0
  100. package/dist/esm/types/components/placeholders/content-placeholder/content-placeholder.d.ts +6 -0
  101. package/dist/esm/types/components/placeholders/content-placeholder/index.d.ts +1 -0
  102. package/dist/esm/types/components/placeholders/index.d.ts +5 -0
  103. package/dist/esm/types/components/placeholders/lorem-ipsum-placeholder/index.d.ts +1 -0
  104. package/dist/esm/types/components/placeholders/lorem-ipsum-placeholder/lorem-ipsum-placeholder.d.ts +8 -0
  105. package/dist/{cjs/types/components → esm/types/components/placeholders}/placeholder/placeholder.d.ts +1 -1
  106. package/dist/esm/types/components/placeholders/skeleton-card/index.d.ts +1 -0
  107. package/dist/esm/types/components/placeholders/skeleton-card/skeleton-card.d.ts +5 -0
  108. package/dist/esm/types/components/placeholders/skeleton-grid/index.d.ts +1 -0
  109. package/dist/esm/types/components/placeholders/skeleton-grid/skeleton-grid.d.ts +4 -0
  110. package/dist/esm/types/components/tables/enhanced-remote-table/enhanced-remote-table.d.ts +12 -0
  111. package/dist/esm/types/components/tables/enhanced-remote-table/enhanced-remote-table.mock.d.ts +11 -0
  112. package/dist/esm/types/components/tables/enhanced-table/enhanced-table-head.d.ts +16 -0
  113. package/dist/{cjs/types/components/table → esm/types/components/tables}/enhanced-table/enhanced-table.d.ts +2 -2
  114. package/dist/esm/types/components/{table → tables}/enhanced-table/enhanced-table.mock.d.ts +6 -7
  115. package/dist/esm/types/components/value-displays/group-value-card/group-value-card.d.ts +7 -4
  116. package/dist/esm/types/components/value-displays/group-value-card/group-value-card.mock.d.ts +2 -1
  117. package/dist/esm/types/components/value-displays/index.d.ts +1 -0
  118. package/dist/esm/types/components/value-displays/value-boolean/value-boolean.d.ts +3 -11
  119. package/dist/esm/types/components/value-displays/value-card/value-card.d.ts +1 -1
  120. package/dist/esm/types/components/value-displays/value-content/index.d.ts +1 -0
  121. package/dist/esm/types/components/value-displays/value-content/value-content.d.ts +24 -0
  122. package/dist/esm/types/components/value-displays/value-datetime/value-datetime.d.ts +3 -10
  123. package/dist/esm/types/components/value-displays/value-displays.types.d.ts +15 -0
  124. package/dist/esm/types/components/value-displays/value-image/index.d.ts +1 -0
  125. package/dist/esm/types/components/value-displays/value-image/value-image.d.ts +11 -0
  126. package/dist/esm/types/components/value-displays/value-text/value-text.d.ts +3 -11
  127. package/dist/esm/types/generators/generators.mock.d.ts +2 -1
  128. package/dist/esm/types/generators/generators.model.d.ts +36 -20
  129. package/dist/esm/types/generators/generators.model.test.d.ts +1 -0
  130. package/dist/esm/types/generators/index.d.ts +1 -0
  131. package/dist/esm/types/generators/model-router/model-router.d.ts +1 -1
  132. package/dist/esm/types/generators/model-router/screens/add-screen.d.ts +1 -1
  133. package/dist/esm/types/generators/model-router/screens/details-screen.d.ts +1 -1
  134. package/dist/esm/types/generators/model-router/screens/list-screen.d.ts +1 -1
  135. package/dist/esm/types/generators/model-router/screens/update-screen.d.ts +1 -1
  136. package/dist/esm/types/{components → generators}/table-list/table-list.d.ts +3 -3
  137. package/dist/esm/types/layouts/app-bar-with-drawer-layout/app-bar-with-drawer-layout.d.ts +2 -2
  138. package/dist/esm/types/layouts/header-layout/header-layout.d.ts +1 -2
  139. package/dist/esm/types/providers/notification-center/notification-center.context.d.ts +0 -2
  140. package/dist/esm/types/providers/notification-center/notification-center.provider.d.ts +1 -1
  141. package/dist/esm/types/providers/tab-provider/tab-provider.provider.d.ts +1 -1
  142. package/dist/esm/types/utils/theme.d.ts +1 -1
  143. package/dist/index.d.ts +338 -288
  144. package/package.json +50 -44
  145. package/src/components/{app-bar → app-bars/app-bar}/app-bar.stories.tsx +5 -4
  146. package/src/components/{app-bar → app-bars/app-bar}/app-bar.test.tsx +2 -2
  147. package/src/components/{app-bar → app-bars/app-bar}/app-bar.tsx +1 -1
  148. package/src/components/{app-bar → app-bars/app-bar}/mini-app-bar/mini-app-bar.tsx +2 -2
  149. package/src/components/app-bars/app-bars.stories.mdx +10 -0
  150. package/src/components/app-bars/index.ts +1 -0
  151. package/src/components/components.stories.mdx +19 -0
  152. package/src/components/{center-container → containers/center-container}/center-container.stories.tsx +3 -3
  153. package/src/components/{center-container → containers/center-container}/center-container.test.tsx +1 -1
  154. package/src/components/containers/containers.stories.mdx +11 -0
  155. package/src/components/{content → containers/content}/content.stories.tsx +3 -3
  156. package/src/components/{content → containers/content}/content.test.tsx +1 -1
  157. package/src/components/containers/index.ts +2 -0
  158. package/src/components/{bullet → data-display/bullet}/bullet.stories.tsx +2 -2
  159. package/src/components/{bullet → data-display/bullet}/bullet.test.tsx +1 -1
  160. package/src/components/data-display/data-display.stories.mdx +12 -0
  161. package/src/components/{header → data-display/header}/header.dummy.ts +1 -1
  162. package/src/components/{header → data-display/header}/header.stories.tsx +2 -8
  163. package/src/components/{header → data-display/header}/header.test.tsx +2 -2
  164. package/src/components/{header → data-display/header}/header.tsx +2 -2
  165. package/src/components/data-display/index.ts +3 -0
  166. package/src/components/{label → data-display/label}/label.stories.tsx +2 -2
  167. package/src/components/{label → data-display/label}/label.test.tsx +1 -1
  168. package/src/components/{drawer → drawers/drawer}/__snapshots__/drawer.test.tsx.snap +3 -3
  169. package/src/components/{drawer → drawers/drawer}/drawer.mock.tsx +27 -0
  170. package/src/components/{drawer → drawers/drawer}/drawer.test.tsx +8 -8
  171. package/src/components/{drawer → drawers/drawer}/drawer.types.ts +12 -3
  172. package/src/components/{drawer → drawers/drawer}/mini-drawer/mini-drawer.stories.tsx +3 -3
  173. package/src/components/{drawer → drawers/drawer}/mini-drawer/mini-drawer.tsx +1 -2
  174. package/src/components/drawers/drawer-collapsable-item/drawer-collapsable-item.test.tsx +62 -0
  175. package/src/components/drawers/drawer-collapsable-item/drawer-collapsable-item.tsx +78 -0
  176. package/src/components/drawers/drawer-collapsable-item/index.ts +1 -0
  177. package/src/components/{drawer-content → drawers/drawer-content}/drawer-content.stories.tsx +3 -3
  178. package/src/components/drawers/drawer-content/drawer-content.test.tsx +59 -0
  179. package/src/components/{drawer-content → drawers/drawer-content}/drawer-content.tsx +5 -4
  180. package/src/components/{drawer-item → drawers/drawer-item}/drawer-item.stories.tsx +2 -3
  181. package/src/components/{drawer-item → drawers/drawer-item}/drawer-item.test.tsx +3 -3
  182. package/src/components/{drawer-item → drawers/drawer-item}/drawer-item.tsx +23 -5
  183. package/src/components/{drawer-section → drawers/drawer-section}/drawer-section.stories.tsx +3 -3
  184. package/src/components/{drawer-section → drawers/drawer-section}/drawer-section.test.tsx +1 -1
  185. package/src/components/drawers/drawer-section/drawer-section.tsx +65 -0
  186. package/src/components/drawers/drawers.stories.mdx +13 -0
  187. package/src/components/drawers/index.ts +4 -0
  188. package/src/components/feedback/feedback.stories.mdx +12 -0
  189. package/src/components/feedback/index.ts +2 -0
  190. package/src/components/{loading-area → feedback/loading-area}/loading-area.stories.tsx +2 -2
  191. package/src/components/{loading-area → feedback/loading-area}/loading-area.test.tsx +2 -1
  192. package/src/components/{query-container → feedback/query-container}/query-container.stories.tsx +2 -2
  193. package/src/components/{query-container → feedback/query-container}/query-container.test.tsx +2 -1
  194. package/src/components/index.ts +9 -18
  195. package/src/components/{enhanced-select → inputs/enhanced-select}/enhanced-select.stories.tsx +12 -12
  196. package/src/components/{enhanced-select → inputs/enhanced-select}/enhanced-select.test.tsx +9 -4
  197. package/src/components/{enhanced-select → inputs/enhanced-select}/enhanced-select.tsx +2 -4
  198. package/src/components/inputs/index.ts +2 -0
  199. package/src/components/inputs/inputs.stories.mdx +11 -0
  200. package/src/components/{sign-in → inputs/sign-in}/sign-in.stories.tsx +2 -2
  201. package/src/components/{sign-in → inputs/sign-in}/sign-in.test.tsx +2 -1
  202. package/src/components/{sign-in → inputs/sign-in}/sign-in.tsx +3 -3
  203. package/src/components/navigation/index.ts +1 -0
  204. package/src/components/{link → navigation/link}/link.tsx +2 -2
  205. package/src/components/navigation/navigation.stories.mdx +10 -0
  206. package/src/components/{tab → navigation/tab}/tab-card/tab-card.dummy.tsx +3 -3
  207. package/src/components/{tab → navigation/tab}/tab-card/tab-card.stories.tsx +4 -4
  208. package/src/components/{tab → navigation/tab}/tab-card/tab-card.test.tsx +1 -1
  209. package/src/components/{tab → navigation/tab}/tab-card/tab-card.tsx +3 -3
  210. package/src/components/{tab → navigation/tab}/tab-panel/tab-panel.test.tsx +1 -1
  211. package/src/{tests → components/placeholders/content-placeholder}/content-placeholder.stories.tsx +3 -4
  212. package/src/components/placeholders/content-placeholder/content-placeholder.tsx +17 -0
  213. package/src/components/placeholders/content-placeholder/index.ts +1 -0
  214. package/src/components/placeholders/index.ts +5 -0
  215. package/src/components/placeholders/lorem-ipsum-placeholder/index.ts +1 -0
  216. package/src/components/placeholders/lorem-ipsum-placeholder/lorem-ipsum-placeholder.stories.tsx +15 -0
  217. package/src/components/placeholders/lorem-ipsum-placeholder/lorem-ipsum-placeholder.tsx +26 -0
  218. package/src/components/{placeholder → placeholders/placeholder}/placeholder.stories.tsx +2 -2
  219. package/src/components/{placeholder → placeholders/placeholder}/placeholder.test.tsx +3 -2
  220. package/src/components/placeholders/placeholders.stories.mdx +14 -0
  221. package/src/components/placeholders/skeleton-card/index.ts +1 -0
  222. package/src/{tests → components/placeholders/skeleton-card}/skeleton-card.stories.tsx +3 -3
  223. package/src/components/placeholders/skeleton-card/skeleton-card.tsx +17 -0
  224. package/src/components/placeholders/skeleton-grid/index.ts +1 -0
  225. package/src/components/placeholders/skeleton-grid/skeleton-grid.stories.tsx +15 -0
  226. package/src/components/placeholders/skeleton-grid/skeleton-grid.tsx +20 -0
  227. package/src/components/{table → tables}/enhanced-remote-table/enhanced-remote-table.mock.tsx +7 -6
  228. package/src/components/{table → tables}/enhanced-remote-table/enhanced-remote-table.stories.tsx +1 -1
  229. package/src/components/{table → tables}/enhanced-remote-table/enhanced-remote-table.test.tsx +3 -3
  230. package/src/components/{table → tables}/enhanced-remote-table/enhanced-remote-table.tsx +8 -8
  231. package/src/components/{table → tables}/enhanced-table/enhanced-table-head.tsx +14 -9
  232. package/src/components/{table → tables}/enhanced-table/enhanced-table.mock.tsx +12 -6
  233. package/src/components/{table → tables}/enhanced-table/enhanced-table.stories.tsx +1 -1
  234. package/src/components/{table → tables}/enhanced-table/enhanced-table.test.tsx +6 -5
  235. package/src/components/{table → tables}/enhanced-table/enhanced-table.tsx +8 -8
  236. package/src/components/tables/table.stories.mdx +11 -0
  237. package/src/components/value-displays/group-value-card/group-value-card.mock.tsx +2 -2
  238. package/src/components/value-displays/group-value-card/group-value-card.stories.tsx +25 -2
  239. package/src/components/value-displays/group-value-card/group-value-card.test.tsx +7 -2
  240. package/src/components/value-displays/group-value-card/group-value-card.tsx +13 -4
  241. package/src/components/value-displays/index.ts +1 -0
  242. package/src/components/value-displays/value-boolean/value-boolean.stories.tsx +1 -1
  243. package/src/components/value-displays/value-boolean/value-boolean.test.tsx +15 -3
  244. package/src/components/value-displays/value-boolean/value-boolean.tsx +18 -18
  245. package/src/components/value-displays/value-card/value-card.stories.tsx +1 -1
  246. package/src/components/value-displays/value-card/value-card.test.tsx +1 -1
  247. package/src/components/value-displays/value-content/index.ts +1 -0
  248. package/src/components/value-displays/value-content/value-content.stories.tsx +20 -0
  249. package/src/components/value-displays/value-content/value-content.test.tsx +50 -0
  250. package/src/components/value-displays/value-content/value-content.tsx +54 -0
  251. package/src/components/value-displays/value-datetime/value-datetime.stories.tsx +14 -1
  252. package/src/components/value-displays/value-datetime/value-datetime.test.tsx +24 -5
  253. package/src/components/value-displays/value-datetime/value-datetime.tsx +16 -23
  254. package/src/components/value-displays/value-displays.stories.mdx +16 -0
  255. package/src/components/value-displays/value-displays.types.ts +18 -0
  256. package/src/components/value-displays/value-image/index.ts +1 -0
  257. package/src/components/value-displays/value-image/value-image.stories.tsx +28 -0
  258. package/src/components/value-displays/value-image/value-image.test.tsx +22 -0
  259. package/src/components/value-displays/value-image/value-image.tsx +24 -0
  260. package/src/components/value-displays/value-text/value-text.stories.tsx +12 -1
  261. package/src/components/value-displays/value-text/value-text.test.tsx +19 -5
  262. package/src/components/value-displays/value-text/value-text.tsx +16 -22
  263. package/src/generators/generators.mock.ts +25 -22
  264. package/src/generators/generators.model.test.ts +77 -0
  265. package/src/generators/generators.model.ts +78 -6
  266. package/src/generators/generators.stories.mdx +13 -0
  267. package/src/generators/index.ts +1 -0
  268. package/src/generators/model-form/model-form.test.tsx +11 -14
  269. package/src/generators/model-form/model-form.tsx +33 -65
  270. package/src/generators/model-router/model-router.test.tsx +45 -32
  271. package/src/generators/model-router/screens/add-screen.tsx +2 -1
  272. package/src/generators/model-router/screens/details-screen.tsx +2 -1
  273. package/src/generators/model-router/screens/list-screen.tsx +3 -2
  274. package/src/generators/model-router/screens/update-screen.tsx +4 -5
  275. package/src/generators/model-router/stories/model-router.stories.tsx +2 -2
  276. package/src/generators/object-details/object-details.test.tsx +2 -1
  277. package/src/generators/object-details/object-details.tsx +18 -9
  278. package/src/{components → generators}/table-list/table-list.stories.tsx +28 -18
  279. package/src/{components → generators}/table-list/table-list.test.tsx +13 -8
  280. package/src/{components → generators}/table-list/table-list.tsx +24 -13
  281. package/src/hooks/routing/routing.test.tsx +1 -1
  282. package/src/layouts/app-bar-with-drawer-layout/app-bar-with-drawer-layout.stories.tsx +3 -4
  283. package/src/layouts/app-bar-with-drawer-layout/app-bar-with-drawer-layout.test.tsx +2 -1
  284. package/src/layouts/app-bar-with-drawer-layout/app-bar-with-drawer-layout.tsx +3 -3
  285. package/src/layouts/header-layout/header-layout.stories.tsx +16 -8
  286. package/src/layouts/header-layout/header-layout.test.tsx +1 -1
  287. package/src/layouts/header-layout/header-layout.tsx +2 -2
  288. package/src/layouts/layouts.stories.mdx +11 -0
  289. package/src/providers/notification-center/notification-center.context.ts +0 -6
  290. package/src/providers/notification-center/notification-center.stories.tsx +2 -2
  291. package/src/providers/notification-center/notification-center.test.tsx +6 -7
  292. package/src/stories/Introduction.stories.mdx +10 -185
  293. package/src/stories/getting-started.stories.mdx +23 -0
  294. package/src/storybook.tsx +1 -1
  295. package/src/tests/actions.ts +4 -0
  296. package/src/tests/assertions.ts +18 -10
  297. package/src/tests/datatable-placeholder/datatable-placeholder.stories.tsx +15 -0
  298. package/src/tests/datatable-placeholder/datatable-placeholder.tsx +40 -0
  299. package/src/tests/datatable-placeholder/index.ts +1 -0
  300. package/src/tests/file-mock.ts +1 -0
  301. package/src/tests/mocks.ts +21 -0
  302. package/src/tests/testing-library.tsx +11 -8
  303. package/src/types/index.d.ts +4 -0
  304. package/src/types.d.ts +4 -0
  305. package/dist/cjs/types/components/content/content.types.d.ts +0 -4
  306. package/dist/cjs/types/components/link/link.d.ts +0 -7
  307. package/dist/cjs/types/components/tab/tab-card/tab-card.d.ts +0 -6
  308. package/dist/cjs/types/components/tab/tab-card/tab-card.dummy.d.ts +0 -7
  309. package/dist/cjs/types/components/table/enhanced-remote-table/enhanced-remote-table.d.ts +0 -13
  310. package/dist/cjs/types/components/table/enhanced-remote-table/enhanced-remote-table.mock.d.ts +0 -11
  311. package/dist/cjs/types/components/table/enhanced-table/enhanced-table-head.d.ts +0 -16
  312. package/dist/esm/types/components/content/content.types.d.ts +0 -4
  313. package/dist/esm/types/components/link/link.d.ts +0 -7
  314. package/dist/esm/types/components/tab/tab-card/tab-card.d.ts +0 -6
  315. package/dist/esm/types/components/tab/tab-card/tab-card.dummy.d.ts +0 -7
  316. package/dist/esm/types/components/table/enhanced-remote-table/enhanced-remote-table.d.ts +0 -13
  317. package/dist/esm/types/components/table/enhanced-remote-table/enhanced-remote-table.mock.d.ts +0 -11
  318. package/dist/esm/types/components/table/enhanced-table/enhanced-table-head.d.ts +0 -16
  319. package/src/components/drawer-content/drawer-content.test.tsx +0 -34
  320. package/src/components/drawer-section/drawer-section.tsx +0 -40
  321. package/src/tests/components.tsx +0 -60
  322. package/src/tests/index.ts +0 -4
  323. /package/dist/cjs/types/components/{app-bar → app-bars/app-bar}/app-bar.d.ts +0 -0
  324. /package/dist/cjs/types/components/{app-bar → app-bars/app-bar}/index.d.ts +0 -0
  325. /package/dist/cjs/types/components/{app-bar → app-bars/app-bar}/mini-app-bar/index.d.ts +0 -0
  326. /package/dist/cjs/types/components/{app-bar → app-bars/app-bar}/mini-app-bar/mini-app-bar.d.ts +0 -0
  327. /package/dist/cjs/types/components/{center-container → containers/center-container}/center-container.d.ts +0 -0
  328. /package/dist/cjs/types/components/{center-container → containers/center-container}/index.d.ts +0 -0
  329. /package/dist/cjs/types/components/{content → containers/content}/content.d.ts +0 -0
  330. /package/dist/cjs/types/components/{content → containers/content}/index.d.ts +0 -0
  331. /package/dist/cjs/types/components/{bullet → data-display/bullet}/index.d.ts +0 -0
  332. /package/dist/cjs/types/components/{header → data-display/header}/header.d.ts +0 -0
  333. /package/dist/cjs/types/components/{header → data-display/header}/index.d.ts +0 -0
  334. /package/dist/cjs/types/components/{label → data-display/label}/index.d.ts +0 -0
  335. /package/dist/cjs/types/components/{drawer → drawers/drawer}/drawer.context.d.ts +0 -0
  336. /package/dist/cjs/types/components/{drawer → drawers/drawer}/drawer.d.ts +0 -0
  337. /package/dist/cjs/types/components/{drawer → drawers/drawer}/drawer.mixins.d.ts +0 -0
  338. /package/dist/cjs/types/components/{drawer → drawers/drawer}/drawer.mock.d.ts +0 -0
  339. /package/dist/cjs/types/components/{drawer → drawers/drawer}/index.d.ts +0 -0
  340. /package/dist/cjs/types/components/{drawer → drawers/drawer}/mini-drawer/index.d.ts +0 -0
  341. /package/dist/cjs/types/components/{drawer → drawers/drawer}/mini-drawer/mini-drawer.d.ts +0 -0
  342. /package/dist/cjs/types/components/{drawer-content → drawers/drawer-content}/drawer-content.d.ts +0 -0
  343. /package/dist/cjs/types/components/{drawer-content → drawers/drawer-content}/index.d.ts +0 -0
  344. /package/dist/cjs/types/components/{drawer-item → drawers/drawer-item}/index.d.ts +0 -0
  345. /package/dist/cjs/types/components/{drawer-section → drawers/drawer-section}/drawer-section.mock.d.ts +0 -0
  346. /package/dist/cjs/types/components/{drawer-section → drawers/drawer-section}/index.d.ts +0 -0
  347. /package/dist/cjs/types/components/{loading-area → feedback/loading-area}/index.d.ts +0 -0
  348. /package/dist/cjs/types/components/{loading-area → feedback/loading-area}/loading-area.d.ts +0 -0
  349. /package/dist/cjs/types/components/{query-container → feedback/query-container}/index.d.ts +0 -0
  350. /package/dist/cjs/types/components/{enhanced-select → inputs/enhanced-select}/index.d.ts +0 -0
  351. /package/dist/cjs/types/components/{sign-in → inputs/sign-in}/index.d.ts +0 -0
  352. /package/dist/cjs/types/components/{link → navigation/link}/index.d.ts +0 -0
  353. /package/dist/cjs/types/components/{tab → navigation/tab}/index.d.ts +0 -0
  354. /package/dist/cjs/types/components/{tab → navigation/tab}/tab-card/index.d.ts +0 -0
  355. /package/dist/cjs/types/components/{tab → navigation/tab}/tab-panel/index.d.ts +0 -0
  356. /package/dist/cjs/types/components/{tab → navigation/tab}/tab-panel/tab-panel.d.ts +0 -0
  357. /package/dist/cjs/types/components/{placeholder → placeholders/placeholder}/index.d.ts +0 -0
  358. /package/dist/cjs/types/components/{placeholder → placeholders/placeholder}/placeholder.mock.d.ts +0 -0
  359. /package/dist/cjs/types/components/{table → tables}/enhanced-remote-table/index.d.ts +0 -0
  360. /package/dist/cjs/types/components/{table → tables}/enhanced-table/index.d.ts +0 -0
  361. /package/dist/cjs/types/components/{table → tables}/index.d.ts +0 -0
  362. /package/dist/cjs/types/{components → generators}/table-list/index.d.ts +0 -0
  363. /package/dist/esm/types/components/{app-bar → app-bars/app-bar}/app-bar.d.ts +0 -0
  364. /package/dist/esm/types/components/{app-bar → app-bars/app-bar}/index.d.ts +0 -0
  365. /package/dist/esm/types/components/{app-bar → app-bars/app-bar}/mini-app-bar/index.d.ts +0 -0
  366. /package/dist/esm/types/components/{app-bar → app-bars/app-bar}/mini-app-bar/mini-app-bar.d.ts +0 -0
  367. /package/dist/esm/types/components/{center-container → containers/center-container}/center-container.d.ts +0 -0
  368. /package/dist/esm/types/components/{center-container → containers/center-container}/index.d.ts +0 -0
  369. /package/dist/esm/types/components/{content → containers/content}/content.d.ts +0 -0
  370. /package/dist/esm/types/components/{content → containers/content}/index.d.ts +0 -0
  371. /package/dist/esm/types/components/{bullet → data-display/bullet}/index.d.ts +0 -0
  372. /package/dist/esm/types/components/{header → data-display/header}/header.d.ts +0 -0
  373. /package/dist/esm/types/components/{header → data-display/header}/index.d.ts +0 -0
  374. /package/dist/esm/types/components/{label → data-display/label}/index.d.ts +0 -0
  375. /package/dist/esm/types/components/{drawer → drawers/drawer}/drawer.context.d.ts +0 -0
  376. /package/dist/esm/types/components/{drawer → drawers/drawer}/drawer.d.ts +0 -0
  377. /package/dist/esm/types/components/{drawer → drawers/drawer}/drawer.mixins.d.ts +0 -0
  378. /package/dist/esm/types/components/{drawer → drawers/drawer}/drawer.mock.d.ts +0 -0
  379. /package/dist/esm/types/components/{drawer → drawers/drawer}/index.d.ts +0 -0
  380. /package/dist/esm/types/components/{drawer → drawers/drawer}/mini-drawer/index.d.ts +0 -0
  381. /package/dist/esm/types/components/{drawer → drawers/drawer}/mini-drawer/mini-drawer.d.ts +0 -0
  382. /package/dist/esm/types/components/{drawer-content → drawers/drawer-content}/drawer-content.d.ts +0 -0
  383. /package/dist/esm/types/components/{drawer-content → drawers/drawer-content}/index.d.ts +0 -0
  384. /package/dist/esm/types/components/{drawer-item → drawers/drawer-item}/index.d.ts +0 -0
  385. /package/dist/esm/types/components/{drawer-section → drawers/drawer-section}/drawer-section.mock.d.ts +0 -0
  386. /package/dist/esm/types/components/{drawer-section → drawers/drawer-section}/index.d.ts +0 -0
  387. /package/dist/esm/types/components/{loading-area → feedback/loading-area}/index.d.ts +0 -0
  388. /package/dist/esm/types/components/{loading-area → feedback/loading-area}/loading-area.d.ts +0 -0
  389. /package/dist/esm/types/components/{query-container → feedback/query-container}/index.d.ts +0 -0
  390. /package/dist/esm/types/components/{enhanced-select → inputs/enhanced-select}/index.d.ts +0 -0
  391. /package/dist/esm/types/components/{sign-in → inputs/sign-in}/index.d.ts +0 -0
  392. /package/dist/esm/types/components/{link → navigation/link}/index.d.ts +0 -0
  393. /package/dist/esm/types/components/{tab → navigation/tab}/index.d.ts +0 -0
  394. /package/dist/esm/types/components/{tab → navigation/tab}/tab-card/index.d.ts +0 -0
  395. /package/dist/esm/types/components/{tab → navigation/tab}/tab-panel/index.d.ts +0 -0
  396. /package/dist/esm/types/components/{tab → navigation/tab}/tab-panel/tab-panel.d.ts +0 -0
  397. /package/dist/esm/types/components/{placeholder → placeholders/placeholder}/index.d.ts +0 -0
  398. /package/dist/esm/types/components/{placeholder → placeholders/placeholder}/placeholder.mock.d.ts +0 -0
  399. /package/dist/esm/types/components/{table → tables}/enhanced-remote-table/index.d.ts +0 -0
  400. /package/dist/esm/types/components/{table → tables}/enhanced-table/index.d.ts +0 -0
  401. /package/dist/esm/types/components/{table → tables}/index.d.ts +0 -0
  402. /package/dist/esm/types/{components → generators}/table-list/index.d.ts +0 -0
  403. /package/src/components/{app-bar → app-bars/app-bar}/app-bar.types.ts +0 -0
  404. /package/src/components/{app-bar → app-bars/app-bar}/index.ts +0 -0
  405. /package/src/components/{app-bar → app-bars/app-bar}/mini-app-bar/index.ts +0 -0
  406. /package/src/components/{center-container → containers/center-container}/center-container.tsx +0 -0
  407. /package/src/components/{center-container → containers/center-container}/index.ts +0 -0
  408. /package/src/components/{content → containers/content}/content.tsx +0 -0
  409. /package/src/components/{content → containers/content}/content.types.ts +0 -0
  410. /package/src/components/{content → containers/content}/index.ts +0 -0
  411. /package/src/components/{bullet → data-display/bullet}/bullet.tsx +0 -0
  412. /package/src/components/{bullet → data-display/bullet}/index.ts +0 -0
  413. /package/src/components/{header → data-display/header}/header.types.ts +0 -0
  414. /package/src/components/{header → data-display/header}/index.ts +0 -0
  415. /package/src/components/{label → data-display/label}/index.ts +0 -0
  416. /package/src/components/{label → data-display/label}/label.tsx +0 -0
  417. /package/src/components/{drawer → drawers/drawer}/drawer.context.ts +0 -0
  418. /package/src/components/{drawer → drawers/drawer}/drawer.mixins.ts +0 -0
  419. /package/src/components/{drawer → drawers/drawer}/drawer.provider.tsx +0 -0
  420. /package/src/components/{drawer → drawers/drawer}/drawer.tsx +0 -0
  421. /package/src/components/{drawer → drawers/drawer}/index.ts +0 -0
  422. /package/src/components/{drawer → drawers/drawer}/mini-drawer/index.ts +0 -0
  423. /package/src/components/{drawer-content → drawers/drawer-content}/index.ts +0 -0
  424. /package/src/components/{drawer-item → drawers/drawer-item}/index.ts +0 -0
  425. /package/src/components/{drawer-section → drawers/drawer-section}/drawer-section.mock.tsx +0 -0
  426. /package/src/components/{drawer-section → drawers/drawer-section}/index.ts +0 -0
  427. /package/src/components/{loading-area → feedback/loading-area}/index.ts +0 -0
  428. /package/src/components/{loading-area → feedback/loading-area}/loading-area.tsx +0 -0
  429. /package/src/components/{query-container → feedback/query-container}/index.ts +0 -0
  430. /package/src/components/{query-container → feedback/query-container}/query-container.tsx +0 -0
  431. /package/src/components/{enhanced-select → inputs/enhanced-select}/index.ts +0 -0
  432. /package/src/components/{sign-in → inputs/sign-in}/index.ts +0 -0
  433. /package/src/components/{link → navigation/link}/index.ts +0 -0
  434. /package/src/components/{tab → navigation/tab}/index.ts +0 -0
  435. /package/src/components/{tab → navigation/tab}/tab-card/index.ts +0 -0
  436. /package/src/components/{tab → navigation/tab}/tab-panel/index.ts +0 -0
  437. /package/src/components/{tab → navigation/tab}/tab-panel/tab-panel.tsx +0 -0
  438. /package/src/components/{placeholder → placeholders/placeholder}/index.ts +0 -0
  439. /package/src/components/{placeholder → placeholders/placeholder}/placeholder.mock.ts +0 -0
  440. /package/src/components/{placeholder → placeholders/placeholder}/placeholder.tsx +0 -0
  441. /package/src/components/{table → tables}/enhanced-remote-table/index.ts +0 -0
  442. /package/src/components/{table → tables}/enhanced-table/index.ts +0 -0
  443. /package/src/components/{table → tables}/index.ts +0 -0
  444. /package/src/{components → generators}/table-list/index.ts +0 -0
@@ -1,8 +1,8 @@
1
1
  import { TableRow, TableCell, IconButton, MenuItem, Menu } from "@mui/material";
2
2
  import React from "react";
3
- import { EnhancedTable, HeadCell, Order } from "../table/enhanced-table";
3
+ import { EnhancedTable, HeadCell, Order } from "../../components/tables/enhanced-table";
4
4
  import MoreVertIcon from "@mui/icons-material/MoreVert";
5
- import { BasicModelInstance } from "~/generators";
5
+ import { BasicModelInstance } from "../generators.model";
6
6
 
7
7
  const OptionsId = "__options";
8
8
 
@@ -13,7 +13,7 @@ export interface TableRowOption<T extends BasicModelInstance> {
13
13
  }
14
14
 
15
15
  export interface TableListProps<T extends BasicModelInstance> {
16
- columns: HeadCell[];
16
+ columns: HeadCell<T>[];
17
17
  data: T[];
18
18
  search?: boolean;
19
19
  defaultSort: string;
@@ -23,6 +23,7 @@ export interface TableListProps<T extends BasicModelInstance> {
23
23
  onClick?: (d: T) => void;
24
24
  }
25
25
 
26
+ // TODO: Move this to teh generators section
26
27
  export const TableList = <T extends BasicModelInstance>({
27
28
  columns: columnsProp,
28
29
  options,
@@ -33,19 +34,19 @@ export const TableList = <T extends BasicModelInstance>({
33
34
  defaultOrder,
34
35
  loading,
35
36
  }: TableListProps<T>) => {
36
- const columns = columnsProp;
37
- const [anchorMenuEl, setAnchorMenuEl] = React.useState<null | { item: T; anchor: HTMLElement }>(
38
- null,
39
- );
40
- if (options && !columns.some((c) => c.id === OptionsId)) {
41
- columns.push({
37
+ const columns = [
38
+ ...columnsProp,
39
+ {
42
40
  id: OptionsId,
43
41
  label: "",
44
42
  disablePadding: false,
45
43
  numeric: false,
46
44
  sort: false,
47
- });
48
- }
45
+ },
46
+ ];
47
+ const [anchorMenuEl, setAnchorMenuEl] = React.useState<null | { item: T; anchor: HTMLElement }>(
48
+ null,
49
+ );
49
50
 
50
51
  return (
51
52
  <>
@@ -68,8 +69,18 @@ export const TableList = <T extends BasicModelInstance>({
68
69
  sx={{ cursor: onClick && "pointer" }}
69
70
  >
70
71
  {columns.map(({ id }, j) => (
71
- <TableCell role="cell" scope="row" key={id} aria-rowindex={i} aria-colindex={j}>
72
- {row[id]}
72
+ <TableCell
73
+ role="cell"
74
+ scope="row"
75
+ key={id.toString()}
76
+ aria-rowindex={i}
77
+ aria-colindex={j}
78
+ >
79
+ {
80
+ row[
81
+ id
82
+ ] as string /* TODO: This has to be reimplemented having a cell based on each model type */
83
+ }
73
84
  </TableCell>
74
85
  ))}
75
86
  {options && (
@@ -1,7 +1,7 @@
1
1
  import { Box, Button, Typography } from "@mui/material";
2
2
  import React, { useState } from "react";
3
3
  import { Routes, Route } from "react-router-dom";
4
- import { render, screen } from "../../tests";
4
+ import { render, screen } from "~/tests/testing-library";
5
5
  import { useNavigateWhenValueChanges } from "./routing.hooks";
6
6
  import userEvent from "@testing-library/user-event";
7
7
 
@@ -1,10 +1,9 @@
1
1
  import React from "react";
2
2
  import { ComponentMeta } from "@storybook/react";
3
3
  import { AppBarWithDrawerLayout } from "./app-bar-with-drawer-layout";
4
- import { ContentPlaceholder } from "../../tests";
5
- import { mockNav } from "../../components/drawer/drawer.mock";
6
- import { MiniAppBar } from "../../components/app-bar";
7
- import { DrawerContent, MiniDrawer } from "../../components";
4
+ import { mockNav } from "../../components/drawers/drawer/drawer.mock";
5
+ import { MiniAppBar } from "../../components/app-bars/app-bar";
6
+ import { ContentPlaceholder, DrawerContent, MiniDrawer } from "../../components";
8
7
  import { withMemoryRouter } from "~/storybook";
9
8
 
10
9
  export default {
@@ -1,7 +1,8 @@
1
1
  import React from "react";
2
2
  import { MiniDrawerStory } from "./app-bar-with-drawer-layout.stories";
3
- import { expectContentPlaceholder, render, screen } from "../../tests";
3
+ import { render, screen } from "~/tests/testing-library";
4
4
  import userEvent from "@testing-library/user-event";
5
+ import { expectContentPlaceholder } from "~/tests/assertions";
5
6
 
6
7
  describe("AppBarWithDrawerLayout", () => {
7
8
  const renderComponent = () => {
@@ -1,9 +1,9 @@
1
1
  import React, { ReactNode } from "react";
2
2
  import { styled } from "@mui/material/styles";
3
- import { AppBarElement } from "../../components/app-bar";
4
- import { DrawerElement } from "../../components/drawer";
3
+ import { AppBarElement } from "../../components/app-bars/app-bar";
4
+ import { DrawerElement } from "../../components/drawers/drawer";
5
5
  import { Box } from "@mui/material";
6
- import { DrawerProvider } from "../../components/drawer/drawer.provider";
6
+ import { DrawerProvider } from "../../components/drawers/drawer/drawer.provider";
7
7
 
8
8
  const DrawerHeader = styled("div")(({ theme }) => ({
9
9
  display: "flex",
@@ -1,14 +1,13 @@
1
1
  import React, { ReactElement } from "react";
2
2
  import { ComponentMeta } from "@storybook/react";
3
3
  import { createTemplate } from "../../storybook";
4
- import { HeaderLayout } from "./header-layout";
4
+ import { HeaderLayout, HeaderLayoutProps } from "./header-layout";
5
5
  import { withMemoryRouter } from "~/storybook";
6
- import { SkeletonGrid } from "../../tests";
7
6
  import { withFullHeight } from "../../storybook";
8
- import { Content, Header, HeaderProps, HeaderTab, TableList, TabPanel } from "../../components";
7
+ import { Content, Header, HeaderProps, HeaderTab, SkeletonGrid, TabPanel } from "../../components";
9
8
  import { Box, Typography } from "@mui/material";
10
9
  import { useDemoData } from "@mui/x-data-grid-generator";
11
- import { ModelForm, ObjectDetails } from "../../generators";
10
+ import { ModelForm, ObjectDetails, TableList } from "../../generators";
12
11
  import { mockModel, createModelInstance } from "../../generators/generators.mock";
13
12
  import { action } from "@storybook/addon-actions";
14
13
  import { DataGrid } from "@mui/x-data-grid";
@@ -58,7 +57,7 @@ export default {
58
57
  },
59
58
  } as ComponentMeta<typeof HeaderLayout>;
60
59
 
61
- interface HeaderLayoutStoryProps {
60
+ interface HeaderLayoutStoryProps extends HeaderLayoutProps {
62
61
  headerProps: HeaderProps;
63
62
  contentChildren: ReactElement;
64
63
  }
@@ -102,7 +101,14 @@ const ListContent = () => {
102
101
  numeric: false,
103
102
  }));
104
103
 
105
- return <TableList data={rows} columns={columns} defaultSort={columns[0].id} defaultOrder="asc" />;
104
+ return (
105
+ <TableList
106
+ data={rows as any}
107
+ columns={columns}
108
+ defaultSort={columns[0].id}
109
+ defaultOrder="asc"
110
+ />
111
+ );
106
112
  };
107
113
 
108
114
  export const List = Template.bind({});
@@ -146,14 +152,16 @@ Form.args = {
146
152
  };
147
153
 
148
154
  const DataTableContent = () => {
149
- const { data } = useDemoData({
155
+ const {
156
+ data: { rows, columns },
157
+ } = useDemoData({
150
158
  dataSet: "Commodity",
151
159
  rowLength: 100,
152
160
  maxColumns: 7,
153
161
  editable: true,
154
162
  });
155
163
 
156
- return <DataGrid rows={data.rows} columns={data.columns} pagination sx={{ height: 400 }} />;
164
+ return <DataGrid rows={rows} columns={columns as any} pagination sx={{ height: 400 }} />;
157
165
  };
158
166
 
159
167
  export const DataTable = Template.bind({});
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
2
  import { HeaderLayout } from "./header-layout";
3
- import { render, screen } from "../../tests";
3
+ import { render, screen } from "~/tests/testing-library";
4
4
  import { Content, Header } from "../../components";
5
5
  import { Typography } from "@mui/material";
6
6
 
@@ -1,10 +1,10 @@
1
1
  import { Box } from "@mui/material";
2
2
  import React from "react";
3
3
  import { ContentElement, HeaderElement } from "../../components";
4
- import { LoadingArea } from "../../components/loading-area";
4
+ import { LoadingArea } from "../../components/feedback/loading-area";
5
5
  import { TabProvider } from "../../providers";
6
6
 
7
- interface HeaderLayoutProps {
7
+ export interface HeaderLayoutProps {
8
8
  loading?: boolean;
9
9
  children: [HeaderElement, ContentElement];
10
10
  }
@@ -0,0 +1,11 @@
1
+ import { Meta } from '@storybook/addon-docs';
2
+ import LinkTo from '@storybook/addon-links/react';
3
+
4
+ <Meta title="Layouts/Introduction" />
5
+
6
+ ## Layouts
7
+
8
+ <ul>
9
+ <li><LinkTo kind="Layouts/AppBarWithDrawer">AppBarWithDrawer</LinkTo></li>
10
+ <li><LinkTo kind="Layouts/HeaderLayout">HeaderLayout</LinkTo></li>
11
+ </ul>
@@ -1,15 +1,9 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
1
  import { AlertColor } from "@mui/material";
3
2
  import React from "react";
4
3
 
5
4
  export const NotificationCenterProviderUndefinedError = new Error(
6
5
  "NotificationCenterContext.Provider is required and was undefined",
7
6
  );
8
- export type SnackbarContentType =
9
- | React.ReactElement<any, any>
10
- | ((key: string) => React.ReactElement<any, any>);
11
-
12
- export type SnackbarActionType = React.ReactNode | ((key: string) => React.ReactNode);
13
7
 
14
8
  export interface Notification {
15
9
  severity: AlertColor;
@@ -2,8 +2,8 @@ import React from "react";
2
2
  import { ComponentMeta } from "@storybook/react";
3
3
  import { NotificationCenterProvider } from "./notification-center.provider";
4
4
  import { useNotificationCenter } from "./notification-center.context";
5
- import { ContentPlaceholder } from "../../tests";
6
5
  import { Button, Box } from "@mui/material";
6
+ import { ContentPlaceholder } from "~/components";
7
7
 
8
8
  const DummyError = {
9
9
  title: "Internal Server error",
@@ -11,7 +11,7 @@ const DummyError = {
11
11
  };
12
12
 
13
13
  export default {
14
- title: "Providers/NotificationCenter",
14
+ title: "Components/Feedback/NotificationCenter",
15
15
  component: ContentPlaceholder,
16
16
  decorators: [
17
17
  (Story) => (
@@ -1,7 +1,7 @@
1
1
  import React, { useState } from "react";
2
2
  import userEvent from "@testing-library/user-event";
3
3
  import { AlertColor, Box, Button } from "@mui/material";
4
- import { render, screen, waitForElementToBeRemoved, expectAlert } from "../../tests";
4
+ import { render, screen, waitForElementToBeRemoved } from "~/tests/testing-library";
5
5
  import { NotificationCenterProvider } from "./notification-center.provider";
6
6
  import {
7
7
  NotificationCenterContext,
@@ -10,6 +10,8 @@ import {
10
10
  Notification,
11
11
  } from "./notification-center.context";
12
12
  import { useNotifyWhenValueChanges } from "./notification-center.hooks";
13
+ import { expectAlert } from "~/tests/assertions";
14
+ import { mockConsoleError } from "~/tests/mocks";
13
15
 
14
16
  describe("NotificationCenterProvider", () => {
15
17
  const renderComponent = ({ autoHideDuration }: { autoHideDuration?: number } = {}) => {
@@ -99,18 +101,15 @@ describe("NotificationCenterProvider", () => {
99
101
  });
100
102
 
101
103
  describe("useNotificationCenter", () => {
104
+ mockConsoleError();
105
+
102
106
  it("would throw an error if the component is not wrapped by a NotificationCenterContext.Provider", () => {
103
107
  const FailingComponent = () => {
104
108
  useNotificationCenter();
105
109
  return <Box>FailingComponent</Box>;
106
110
  };
107
111
 
108
- try {
109
- render(<FailingComponent />);
110
- fail();
111
- } catch (err) {
112
- expect(err).toStrictEqual(NotificationCenterProviderUndefinedError);
113
- }
112
+ expect(() => render(<FailingComponent />)).toThrow(NotificationCenterProviderUndefinedError);
114
113
  });
115
114
  });
116
115
 
@@ -1,201 +1,26 @@
1
1
  import { Meta } from '@storybook/addon-docs';
2
- import Colors from './assets/colors.svg';
3
- import StackAlt from './assets/stackalt.svg';
4
- import Flow from './assets/flow.svg';
5
- import Plugin from './assets/plugin.svg';
2
+ import LinkTo from '@storybook/addon-links/react';
3
+ import {hrefTo} from '@storybook/addon-links';
6
4
  import WorkInProgress from './assets/work-in-progress.jpg'
7
5
 
8
6
  <Meta title="Introduction" />
9
7
 
10
- <style>
11
- {`
12
- .subheading {
13
- --mediumdark: '#999999';
14
- font-weight: 900;
15
- font-size: 13px;
16
- color: #999;
17
- letter-spacing: 6px;
18
- line-height: 24px;
19
- text-transform: uppercase;
20
- margin-bottom: 12px;
21
- margin-top: 40px;
22
- }
23
-
24
- .link-list {
25
- display: grid;
26
- grid-template-columns: 1fr;
27
- grid-template-rows: 1fr 1fr;
28
- row-gap: 10px;
29
- margin-bottom: 16px;
30
- }
31
-
32
- @media (min-width: 620px) {
33
- .link-list {
34
- row-gap: 20px;
35
- column-gap: 20px;
36
- grid-template-columns: 1fr 1fr;
37
- }
38
- }
39
-
40
- @media all and (-ms-high-contrast:none) {
41
- .link-list {
42
- display: -ms-grid;
43
- -ms-grid-columns: 1fr 1fr;
44
- -ms-grid-rows: 1fr 1fr;
45
- }
46
- }
47
-
48
- .link-item {
49
- display: block;
50
- padding: 20px 30px 20px 15px;
51
- border: 1px solid #00000010;
52
- border-radius: 5px;
53
- transition: background 150ms ease-out, border 150ms ease-out, transform 150ms ease-out;
54
- color: #333333;
55
- display: flex;
56
- align-items: flex-start;
57
- }
58
-
59
- .link-item:hover {
60
- border-color: #1EA7FD50;
61
- transform: translate3d(0, -3px, 0);
62
- box-shadow: rgba(0, 0, 0, 0.08) 0 3px 10px 0;
63
- }
64
-
65
- .link-item:active {
66
- border-color: #1EA7FD;
67
- transform: translate3d(0, 0, 0);
68
- }
69
-
70
- .link-item strong {
71
- font-weight: 700;
72
- display: block;
73
- margin-bottom: 2px;
74
- }
75
-
76
- .link-item img {
77
- height: 40px;
78
- width: 40px;
79
- margin-right: 15px;
80
- flex: none;
81
- }
82
-
83
- .link-item span {
84
- font-size: 14px;
85
- line-height: 20px;
86
- }
87
-
88
- .tip {
89
- display: inline-block;
90
- border-radius: 1em;
91
- font-size: 11px;
92
- line-height: 12px;
93
- font-weight: 700;
94
- background: #E7FDD8;
95
- color: #66BF3C;
96
- padding: 4px 12px;
97
- margin-right: 10px;
98
- vertical-align: top;
99
- }
100
-
101
- .tip-wrapper {
102
- font-size: 13px;
103
- line-height: 20px;
104
- margin-top: 40px;
105
- margin-bottom: 40px;
106
- }
107
-
108
- .tip-wrapper code {
109
- font-size: 12px;
110
- display: inline-block;
111
- }
112
-
113
- .wip-img {
114
- margin-bottom: 16px;
115
- }
116
- `}
117
- </style>
118
-
119
8
  # Welcome to @pautena/react-desgin-system!
120
9
 
121
- Welcome to ```@pautena/react-desgin-system```, the Desgin System with a bunch of components and layouts that
122
- that I use to create my personal projects.
123
-
124
10
  **WORK IN PROGRESS**
125
11
 
126
12
  <img src={WorkInProgress} width="200" height="180" class="wip-img"/>
127
13
 
128
-
129
- <div className="link-list">
130
- <a
131
- className="link-item"
132
- href="https://storybook.js.org/docs/react/addons/addon-types"
133
- target="_blank"
134
- >
135
- <img src={Plugin} alt="plugin" />
136
- <span>
137
- <strong>Getting started</strong>
138
- Easy setup for TypeScript, SCSS and more.
139
- </span>
140
- </a>
141
- <a
142
- className="link-item"
143
- href="https://storybook.js.org/docs/react/configure/webpack"
144
- target="_blank"
145
- >
146
- <img src={StackAlt} alt="Build" />
147
- <span>
148
- <strong>Components</strong>
149
- How to customize webpack and Babel
150
- </span>
151
- </a>
152
- <a
153
- className="link-item"
154
- href="https://storybook.js.org/docs/react/configure/styling-and-css"
155
- target="_blank"
156
- >
157
- <img src={Colors} alt="colors" />
158
- <span>
159
- <strong>Layouts</strong>
160
- How to load and configure CSS libraries
161
- </span>
162
- </a>
163
- <a
164
- className="link-item"
165
- href="https://storybook.js.org/docs/react/get-started/setup#configure-storybook-for-your-stack"
166
- target="_blank"
167
- >
168
- <img src={Flow} alt="flow" />
169
- <span>
170
- <strong>Generator</strong>
171
- Providers and mocking for data libraries
172
- </span>
173
- </a>
174
- </div>
175
-
176
- ## Getting started
177
-
178
- This project is available as an [npm package](https://www.npmjs.com/package/@pautena/react-design-system).
179
-
180
- npm:
181
-
182
- ```bash
183
- npm install @pautena/react-design-system @emotion/react @emotion/styled @mui/icons-material @mui/lab @mui/material @mui/x-data-grid react-dom react-router-dom
184
- ```
185
-
186
- yarn:
187
-
188
- ```bash
189
- npm install @pautena/react-design-system @emotion/react @emotion/styled @mui/icons-material @mui/lab @mui/material @mui/x-data-grid react-dom react-router-dom
190
- ```
191
-
192
- Now you are going to be able to import the components and use it in your React project.
193
-
194
- ```javascript
195
- import { AppBarWithDrawerLayout } from "@pautena/react-design-system";
196
- ```
14
+ Welcome to ```@pautena/react-desgin-system```, the Desgin System with a bunch of components and layouts that
15
+ that I use to create my personal projects.
197
16
 
198
17
 
18
+ <ul>
19
+ <li><LinkTo kind="Getting Started">Getting Started</LinkTo></li>
20
+ <li><LinkTo kind="Components" story="Introduction">Components</LinkTo></li>
21
+ <li><LinkTo kind="Layouts" story="Introduction">Layouts</LinkTo></li>
22
+ <li><LinkTo kind="Generators" story="Introduction">Generators</LinkTo></li>
23
+ </ul>
199
24
 
200
25
  # Source code
201
26
 
@@ -0,0 +1,23 @@
1
+ <Meta title="Getting Started" />
2
+
3
+ ## Getting started
4
+
5
+ This project is available as an [npm package](https://www.npmjs.com/package/@pautena/react-design-system).
6
+
7
+ npm:
8
+
9
+ ```bash
10
+ npm install @pautena/react-design-system @emotion/react @emotion/styled @mui/icons-material @mui/lab @mui/material @mui/x-data-grid react-dom react-router-dom
11
+ ```
12
+
13
+ yarn:
14
+
15
+ ```bash
16
+ npm install @pautena/react-design-system @emotion/react @emotion/styled @mui/icons-material @mui/lab @mui/material @mui/x-data-grid react-dom react-router-dom
17
+ ```
18
+
19
+ Now you are going to be able to import the components and use it in your React project.
20
+
21
+ ```javascript
22
+ import { AppBarWithDrawerLayout } from "@pautena/react-design-system";
23
+ ```
package/src/storybook.tsx CHANGED
@@ -9,7 +9,7 @@ import { action } from "@storybook/addon-actions";
9
9
  import { LocalizationProvider } from "@mui/x-date-pickers/";
10
10
  import { AdapterDateFns } from "@mui/x-date-pickers/AdapterDateFns";
11
11
 
12
- export function createTemplate<P>(
12
+ export function createTemplate<P extends object>(
13
13
  C: JSXElementConstructor<P>,
14
14
  ): ComponentStory<JSXElementConstructor<P>> {
15
15
  return (args) => <C {...args} />;
@@ -2,6 +2,10 @@ import userEvent from "@testing-library/user-event";
2
2
  import { screen, fireEvent } from "./testing-library";
3
3
  import { format } from "date-fns";
4
4
 
5
+ export const typeNumericInput = (element: HTMLElement, value: number) => {
6
+ fireEvent.change(element, { target: { value } });
7
+ };
8
+
5
9
  export const selectOption = async (element: HTMLElement, option: string) => {
6
10
  await userEvent.click(element);
7
11
  await userEvent.click(screen.getByRole("option", { name: option }));
@@ -1,5 +1,5 @@
1
1
  import { AlertColor } from "@mui/material";
2
- import { ModelField } from "../generators";
2
+ import { BasicModelInstance, GroupInstanceType, ModelField } from "../generators";
3
3
  import { screen, waitForElementToBeRemoved } from "./testing-library";
4
4
  import { format } from "date-fns";
5
5
  import { MockInstance } from "../generators/generators.mock";
@@ -26,19 +26,22 @@ export const expectModelFieldInputExist = (fields: ModelField[]) => {
26
26
  });
27
27
  };
28
28
 
29
- export const expectModelFieldInputValue = (fields: ModelField[], initialValues: object) => {
29
+ export const expectModelFieldInputValue = (
30
+ fields: ModelField[],
31
+ initialValues: BasicModelInstance | GroupInstanceType,
32
+ ) => {
30
33
  fields.forEach((field) => {
31
34
  const value = initialValues[field.id];
32
35
  if (field.type === "group") {
33
- expectModelFieldInputValue(field.value, value);
36
+ expectModelFieldInputValue(field.value, value as GroupInstanceType);
34
37
  } else if (field.type === "number") {
35
- expect(screen.getByDisplayValue(value.toString())).toBeInTheDocument();
38
+ expect(screen.getByDisplayValue(value as number)).toBeInTheDocument();
36
39
  } else if (field.type === "boolean") {
37
40
  expect(
38
- screen.getByRole("checkbox", { name: field.name, checked: value }),
41
+ screen.getByRole("checkbox", { name: field.name, checked: value as boolean }),
39
42
  ).toBeInTheDocument();
40
43
  } else if (field.type === "date" || field.type === "time" || field.type === "datetime") {
41
- const expectedDateValue = format(value, field.format);
44
+ const expectedDateValue = format(value as Date, field.format);
42
45
  expect(screen.getByRole("textbox", { name: field.name })).toHaveAttribute(
43
46
  "value",
44
47
  expectedDateValue,
@@ -49,14 +52,19 @@ export const expectModelFieldInputValue = (fields: ModelField[], initialValues:
49
52
  });
50
53
  };
51
54
 
52
- export const expectModelFieldValue = (field: ModelField, instance: object) => {
55
+ export const expectModelFieldValue = (
56
+ field: ModelField,
57
+ instance: BasicModelInstance | GroupInstanceType,
58
+ ) => {
53
59
  const { id, type, name, description } = field;
54
60
  const value = instance[id];
55
61
 
56
62
  if (type === "group") {
57
63
  expect(screen.getByRole("heading", { level: 1, name }));
58
64
  expect(screen.getByRole("heading", { level: 2, name: description }));
59
- field.value.forEach((groupValue) => expectModelFieldValue(groupValue, value));
65
+ field.value.forEach((groupValue) =>
66
+ expectModelFieldValue(groupValue, value as GroupInstanceType),
67
+ );
60
68
  return;
61
69
  }
62
70
 
@@ -64,10 +72,10 @@ export const expectModelFieldValue = (field: ModelField, instance: object) => {
64
72
  if (type === "boolean") {
65
73
  expect(screen.getByTestId(value ? "CheckIcon" : "CloseIcon")).toBeInTheDocument();
66
74
  } else if (type === "date" || type === "time" || type === "datetime") {
67
- const formatedValue = format(value, field.format);
75
+ const formatedValue = format(value as Date, field.format);
68
76
  expect(screen.getByLabelText(name)).toHaveTextContent(formatedValue);
69
77
  } else {
70
- expect(screen.getByLabelText(name)).toHaveTextContent(value);
78
+ expect(screen.getByLabelText(name)).toHaveTextContent(value as string);
71
79
  }
72
80
  };
73
81
 
@@ -0,0 +1,15 @@
1
+ import { ComponentMeta } from "@storybook/react";
2
+ import { createTemplate } from "../../storybook";
3
+ import { DatatablePlaceholder } from "./datatable-placeholder";
4
+
5
+ export default {
6
+ title: "Components/Placeholders/DatatablePlaceholder",
7
+ component: DatatablePlaceholder,
8
+ parameters: {
9
+ layout: "fullscreen",
10
+ },
11
+ } as ComponentMeta<typeof DatatablePlaceholder>;
12
+
13
+ const Template = createTemplate(DatatablePlaceholder);
14
+
15
+ export const Default = Template.bind({});