@pautena/react-design-system 0.0.1 → 0.1.2

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 (279) hide show
  1. package/dist/cjs/index.js +28 -28
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/types/components/app-bar/app-bar.types.d.ts +2 -1
  4. package/dist/cjs/types/components/content/content.d.ts +2 -0
  5. package/dist/cjs/types/components/content/content.types.d.ts +4 -0
  6. package/dist/cjs/types/components/content/index.d.ts +2 -0
  7. package/dist/cjs/types/components/header/header.d.ts +2 -61
  8. package/dist/cjs/types/components/header/header.types.d.ts +55 -0
  9. package/dist/cjs/types/components/header/index.d.ts +1 -0
  10. package/dist/cjs/types/components/index.d.ts +1 -0
  11. package/dist/cjs/types/components/tab/index.d.ts +0 -1
  12. package/dist/cjs/types/components/tab/tab-card/tab-card.d.ts +1 -2
  13. package/dist/cjs/types/components/table-list/table-list.d.ts +4 -7
  14. package/dist/cjs/types/generators/generators.mock.d.ts +22 -1
  15. package/dist/cjs/types/generators/generators.model.d.ts +5 -1
  16. package/dist/cjs/types/generators/model-form/model-form.d.ts +5 -5
  17. package/dist/cjs/types/generators/model-router/model-router.d.ts +4 -35
  18. package/dist/cjs/types/generators/model-router/model-router.types.d.ts +8 -0
  19. package/dist/cjs/types/generators/model-router/screens/add-screen.d.ts +16 -2
  20. package/dist/cjs/types/generators/model-router/screens/details-screen.d.ts +20 -2
  21. package/dist/cjs/types/generators/model-router/screens/list-screen.d.ts +30 -2
  22. package/dist/cjs/types/generators/model-router/screens/screens.types.d.ts +11 -0
  23. package/dist/cjs/types/generators/model-router/screens/update-screen.d.ts +29 -2
  24. package/dist/cjs/types/generators/model-router/stories/templates.d.ts +23 -0
  25. package/dist/cjs/types/generators/object-details/object-details.d.ts +4 -4
  26. package/dist/cjs/types/layouts/app-bar-with-drawer-layout/app-bar-with-drawer-layout.d.ts +5 -8
  27. package/dist/cjs/types/layouts/header-layout/header-layout.d.ts +4 -5
  28. package/dist/cjs/types/layouts/index.d.ts +1 -6
  29. package/dist/cjs/types/providers/index.d.ts +1 -0
  30. package/dist/cjs/types/providers/notification-center/index.d.ts +1 -0
  31. package/dist/cjs/types/providers/tab-provider/index.d.ts +2 -0
  32. package/dist/cjs/types/providers/tab-provider/tab-provider.context.d.ts +4 -0
  33. package/dist/cjs/types/providers/tab-provider/tab-provider.provider.d.ts +6 -0
  34. package/dist/cjs/types/utils/theme.d.ts +7 -4
  35. package/dist/esm/index.js +28 -28
  36. package/dist/esm/index.js.map +1 -1
  37. package/dist/esm/types/components/app-bar/app-bar.types.d.ts +2 -1
  38. package/dist/esm/types/components/content/content.d.ts +2 -0
  39. package/dist/esm/types/components/content/content.types.d.ts +4 -0
  40. package/dist/esm/types/components/content/index.d.ts +2 -0
  41. package/dist/esm/types/components/header/header.d.ts +2 -61
  42. package/dist/esm/types/components/header/header.types.d.ts +55 -0
  43. package/dist/esm/types/components/header/index.d.ts +1 -0
  44. package/dist/esm/types/components/index.d.ts +1 -0
  45. package/dist/esm/types/components/tab/index.d.ts +0 -1
  46. package/dist/esm/types/components/tab/tab-card/tab-card.d.ts +1 -2
  47. package/dist/esm/types/components/table-list/table-list.d.ts +4 -7
  48. package/dist/esm/types/generators/generators.mock.d.ts +22 -1
  49. package/dist/esm/types/generators/generators.model.d.ts +5 -1
  50. package/dist/esm/types/generators/model-form/model-form.d.ts +5 -5
  51. package/dist/esm/types/generators/model-router/model-router.d.ts +4 -35
  52. package/dist/esm/types/generators/model-router/model-router.types.d.ts +8 -0
  53. package/dist/esm/types/generators/model-router/screens/add-screen.d.ts +16 -2
  54. package/dist/esm/types/generators/model-router/screens/details-screen.d.ts +20 -2
  55. package/dist/esm/types/generators/model-router/screens/list-screen.d.ts +30 -2
  56. package/dist/esm/types/generators/model-router/screens/screens.types.d.ts +11 -0
  57. package/dist/esm/types/generators/model-router/screens/update-screen.d.ts +29 -2
  58. package/dist/esm/types/generators/model-router/stories/templates.d.ts +23 -0
  59. package/dist/esm/types/generators/object-details/object-details.d.ts +4 -4
  60. package/dist/esm/types/layouts/app-bar-with-drawer-layout/app-bar-with-drawer-layout.d.ts +5 -8
  61. package/dist/esm/types/layouts/header-layout/header-layout.d.ts +4 -5
  62. package/dist/esm/types/layouts/index.d.ts +1 -6
  63. package/dist/esm/types/providers/index.d.ts +1 -0
  64. package/dist/esm/types/providers/notification-center/index.d.ts +1 -0
  65. package/dist/esm/types/providers/tab-provider/index.d.ts +2 -0
  66. package/dist/esm/types/providers/tab-provider/tab-provider.context.d.ts +4 -0
  67. package/dist/esm/types/providers/tab-provider/tab-provider.provider.d.ts +6 -0
  68. package/dist/esm/types/utils/theme.d.ts +7 -4
  69. package/dist/index.d.ts +146 -122
  70. package/package.json +4 -1
  71. package/.eslintrc.js +0 -26
  72. package/.github/workflows/ci.yml +0 -23
  73. package/.github/workflows/deploy-storybook.yaml +0 -23
  74. package/.github/workflows/publish.yml +0 -31
  75. package/.husky/pre-commit +0 -5
  76. package/.prettierignore +0 -4
  77. package/.storybook/main.js +0 -10
  78. package/.storybook/preview.js +0 -36
  79. package/babel.config.js +0 -3
  80. package/dist/cjs/types/components/tab/tab.context.d.ts +0 -4
  81. package/dist/cjs/types/layouts/data-table-layout/data-table-layout.d.ts +0 -12
  82. package/dist/cjs/types/layouts/data-table-layout/index.d.ts +0 -1
  83. package/dist/cjs/types/layouts/details-layout/details-layout.d.ts +0 -12
  84. package/dist/cjs/types/layouts/details-layout/index.d.ts +0 -1
  85. package/dist/cjs/types/layouts/form-layout/form-layout.d.ts +0 -8
  86. package/dist/cjs/types/layouts/form-layout/index.d.ts +0 -1
  87. package/dist/cjs/types/layouts/list-layout/index.d.ts +0 -1
  88. package/dist/cjs/types/layouts/list-layout/list-layout.d.ts +0 -8
  89. package/dist/cjs/types/layouts/tab-layout/index.d.ts +0 -1
  90. package/dist/cjs/types/layouts/tab-layout/tab-layout.d.ts +0 -7
  91. package/dist/esm/types/components/tab/tab.context.d.ts +0 -4
  92. package/dist/esm/types/layouts/data-table-layout/data-table-layout.d.ts +0 -12
  93. package/dist/esm/types/layouts/data-table-layout/index.d.ts +0 -1
  94. package/dist/esm/types/layouts/details-layout/details-layout.d.ts +0 -12
  95. package/dist/esm/types/layouts/details-layout/index.d.ts +0 -1
  96. package/dist/esm/types/layouts/form-layout/form-layout.d.ts +0 -8
  97. package/dist/esm/types/layouts/form-layout/index.d.ts +0 -1
  98. package/dist/esm/types/layouts/list-layout/index.d.ts +0 -1
  99. package/dist/esm/types/layouts/list-layout/list-layout.d.ts +0 -8
  100. package/dist/esm/types/layouts/tab-layout/index.d.ts +0 -1
  101. package/dist/esm/types/layouts/tab-layout/tab-layout.d.ts +0 -7
  102. package/jest.config.js +0 -14
  103. package/jest.setup.ts +0 -5
  104. package/rollup.config.js +0 -40
  105. package/src/components/app-bar/app-bar.stories.tsx +0 -54
  106. package/src/components/app-bar/app-bar.test.tsx +0 -142
  107. package/src/components/app-bar/app-bar.tsx +0 -150
  108. package/src/components/app-bar/app-bar.types.ts +0 -16
  109. package/src/components/app-bar/index.ts +0 -3
  110. package/src/components/app-bar/mini-app-bar/index.ts +0 -1
  111. package/src/components/app-bar/mini-app-bar/mini-app-bar.tsx +0 -31
  112. package/src/components/bullet/bullet.stories.tsx +0 -43
  113. package/src/components/bullet/bullet.test.tsx +0 -24
  114. package/src/components/bullet/bullet.tsx +0 -30
  115. package/src/components/bullet/index.ts +0 -1
  116. package/src/components/center-container/center-container.stories.tsx +0 -50
  117. package/src/components/center-container/center-container.test.tsx +0 -16
  118. package/src/components/center-container/center-container.tsx +0 -32
  119. package/src/components/center-container/index.ts +0 -1
  120. package/src/components/drawer/__snapshots__/drawer.test.tsx.snap +0 -20
  121. package/src/components/drawer/drawer.context.ts +0 -20
  122. package/src/components/drawer/drawer.mixins.ts +0 -24
  123. package/src/components/drawer/drawer.mock.tsx +0 -100
  124. package/src/components/drawer/drawer.provider.tsx +0 -23
  125. package/src/components/drawer/drawer.test.tsx +0 -97
  126. package/src/components/drawer/drawer.tsx +0 -30
  127. package/src/components/drawer/drawer.types.ts +0 -53
  128. package/src/components/drawer/index.ts +0 -5
  129. package/src/components/drawer/mini-drawer/index.ts +0 -1
  130. package/src/components/drawer/mini-drawer/mini-drawer.stories.tsx +0 -34
  131. package/src/components/drawer/mini-drawer/mini-drawer.tsx +0 -67
  132. package/src/components/drawer-content/drawer-content.stories.tsx +0 -29
  133. package/src/components/drawer-content/drawer-content.test.tsx +0 -34
  134. package/src/components/drawer-content/drawer-content.tsx +0 -18
  135. package/src/components/drawer-content/index.ts +0 -1
  136. package/src/components/drawer-item/drawer-item.stories.tsx +0 -62
  137. package/src/components/drawer-item/drawer-item.test.tsx +0 -119
  138. package/src/components/drawer-item/drawer-item.tsx +0 -69
  139. package/src/components/drawer-item/index.ts +0 -1
  140. package/src/components/drawer-section/drawer-section.mock.tsx +0 -39
  141. package/src/components/drawer-section/drawer-section.stories.tsx +0 -28
  142. package/src/components/drawer-section/drawer-section.test.tsx +0 -44
  143. package/src/components/drawer-section/drawer-section.tsx +0 -40
  144. package/src/components/drawer-section/index.ts +0 -1
  145. package/src/components/header/header.dummy.ts +0 -55
  146. package/src/components/header/header.stories.tsx +0 -116
  147. package/src/components/header/header.test.tsx +0 -167
  148. package/src/components/header/header.tsx +0 -185
  149. package/src/components/header/index.ts +0 -1
  150. package/src/components/index.ts +0 -17
  151. package/src/components/label/index.ts +0 -1
  152. package/src/components/label/label.stories.tsx +0 -49
  153. package/src/components/label/label.test.tsx +0 -30
  154. package/src/components/label/label.tsx +0 -60
  155. package/src/components/link/index.ts +0 -1
  156. package/src/components/link/link.tsx +0 -17
  157. package/src/components/loading-area/index.ts +0 -1
  158. package/src/components/loading-area/loading-area.stories.tsx +0 -17
  159. package/src/components/loading-area/loading-area.test.tsx +0 -11
  160. package/src/components/loading-area/loading-area.tsx +0 -13
  161. package/src/components/placeholder/index.ts +0 -1
  162. package/src/components/placeholder/placeholder.mock.ts +0 -15
  163. package/src/components/placeholder/placeholder.stories.tsx +0 -44
  164. package/src/components/placeholder/placeholder.test.tsx +0 -76
  165. package/src/components/placeholder/placeholder.tsx +0 -75
  166. package/src/components/query-container/index.ts +0 -1
  167. package/src/components/query-container/query-container.stories.tsx +0 -68
  168. package/src/components/query-container/query-container.test.tsx +0 -95
  169. package/src/components/query-container/query-container.tsx +0 -71
  170. package/src/components/sign-in/index.ts +0 -1
  171. package/src/components/sign-in/sign-in.stories.tsx +0 -36
  172. package/src/components/sign-in/sign-in.test.tsx +0 -95
  173. package/src/components/sign-in/sign-in.tsx +0 -97
  174. package/src/components/tab/index.ts +0 -3
  175. package/src/components/tab/tab-card/index.ts +0 -1
  176. package/src/components/tab/tab-card/tab-card.dummy.tsx +0 -27
  177. package/src/components/tab/tab-card/tab-card.stories.tsx +0 -22
  178. package/src/components/tab/tab-card/tab-card.test.tsx +0 -53
  179. package/src/components/tab/tab-card/tab-card.tsx +0 -30
  180. package/src/components/tab/tab-panel/index.ts +0 -1
  181. package/src/components/tab/tab-panel/tab-panel.test.tsx +0 -26
  182. package/src/components/tab/tab-panel/tab-panel.tsx +0 -27
  183. package/src/components/tab/tab.context.ts +0 -5
  184. package/src/components/table/enhanced-remote-table/enhanced-remote-table.mock.tsx +0 -27
  185. package/src/components/table/enhanced-remote-table/enhanced-remote-table.stories.tsx +0 -24
  186. package/src/components/table/enhanced-remote-table/enhanced-remote-table.test.tsx +0 -77
  187. package/src/components/table/enhanced-remote-table/enhanced-remote-table.tsx +0 -74
  188. package/src/components/table/enhanced-remote-table/index.ts +0 -1
  189. package/src/components/table/enhanced-table/enhanced-table-head.tsx +0 -58
  190. package/src/components/table/enhanced-table/enhanced-table.mock.tsx +0 -93
  191. package/src/components/table/enhanced-table/enhanced-table.stories.tsx +0 -21
  192. package/src/components/table/enhanced-table/enhanced-table.test.tsx +0 -107
  193. package/src/components/table/enhanced-table/enhanced-table.tsx +0 -136
  194. package/src/components/table/enhanced-table/index.ts +0 -2
  195. package/src/components/table/index.ts +0 -2
  196. package/src/components/table-list/index.ts +0 -1
  197. package/src/components/table-list/table-list.stories.tsx +0 -75
  198. package/src/components/table-list/table-list.test.tsx +0 -283
  199. package/src/components/table-list/table-list.tsx +0 -131
  200. package/src/components/value-displays/group-value-card/group-value-card.mock.tsx +0 -35
  201. package/src/components/value-displays/group-value-card/group-value-card.stories.tsx +0 -26
  202. package/src/components/value-displays/group-value-card/group-value-card.test.tsx +0 -58
  203. package/src/components/value-displays/group-value-card/group-value-card.tsx +0 -65
  204. package/src/components/value-displays/group-value-card/index.ts +0 -1
  205. package/src/components/value-displays/index.ts +0 -4
  206. package/src/components/value-displays/value-boolean/index.ts +0 -1
  207. package/src/components/value-displays/value-boolean/value-boolean.stories.tsx +0 -25
  208. package/src/components/value-displays/value-boolean/value-boolean.test.tsx +0 -27
  209. package/src/components/value-displays/value-boolean/value-boolean.tsx +0 -33
  210. package/src/components/value-displays/value-card/index.ts +0 -1
  211. package/src/components/value-displays/value-card/value-card.stories.tsx +0 -22
  212. package/src/components/value-displays/value-card/value-card.test.tsx +0 -18
  213. package/src/components/value-displays/value-card/value-card.tsx +0 -12
  214. package/src/components/value-displays/value-text/index.ts +0 -1
  215. package/src/components/value-displays/value-text/value-test.test.tsx +0 -21
  216. package/src/components/value-displays/value-text/value-text.stories.tsx +0 -26
  217. package/src/components/value-displays/value-text/value-text.tsx +0 -32
  218. package/src/generators/generators.mock.ts +0 -215
  219. package/src/generators/generators.model.ts +0 -41
  220. package/src/generators/index.ts +0 -4
  221. package/src/generators/model-form/index.ts +0 -1
  222. package/src/generators/model-form/model-form.stories.tsx +0 -30
  223. package/src/generators/model-form/model-form.test.tsx +0 -98
  224. package/src/generators/model-form/model-form.tsx +0 -97
  225. package/src/generators/model-router/index.ts +0 -1
  226. package/src/generators/model-router/model-router.stories.tsx +0 -160
  227. package/src/generators/model-router/model-router.test.tsx +0 -633
  228. package/src/generators/model-router/model-router.tsx +0 -54
  229. package/src/generators/model-router/screens/add-screen.tsx +0 -52
  230. package/src/generators/model-router/screens/details-screen.tsx +0 -53
  231. package/src/generators/model-router/screens/index.ts +0 -4
  232. package/src/generators/model-router/screens/list-screen.tsx +0 -81
  233. package/src/generators/model-router/screens/update-screen.tsx +0 -62
  234. package/src/generators/object-details/index.ts +0 -1
  235. package/src/generators/object-details/object-details.stories.tsx +0 -20
  236. package/src/generators/object-details/object-details.test.tsx +0 -21
  237. package/src/generators/object-details/object-details.tsx +0 -70
  238. package/src/index.ts +0 -4
  239. package/src/layouts/app-bar-with-drawer-layout/app-bar-with-drawer-layout.stories.tsx +0 -29
  240. package/src/layouts/app-bar-with-drawer-layout/app-bar-with-drawer-layout.tsx +0 -34
  241. package/src/layouts/app-bar-with-drawer-layout/index.ts +0 -1
  242. package/src/layouts/data-table-layout/data-table-layout.stories.tsx +0 -94
  243. package/src/layouts/data-table-layout/data-table-layout.tsx +0 -30
  244. package/src/layouts/data-table-layout/index.ts +0 -1
  245. package/src/layouts/details-layout/details-layout.stories.tsx +0 -81
  246. package/src/layouts/details-layout/details-layout.tsx +0 -33
  247. package/src/layouts/details-layout/index.ts +0 -1
  248. package/src/layouts/form-layout/form-layout.stories.tsx +0 -65
  249. package/src/layouts/form-layout/form-layout.tsx +0 -18
  250. package/src/layouts/form-layout/index.ts +0 -1
  251. package/src/layouts/header-layout/header-layout.stories.tsx +0 -68
  252. package/src/layouts/header-layout/header-layout.tsx +0 -24
  253. package/src/layouts/header-layout/index.ts +0 -1
  254. package/src/layouts/index.ts +0 -7
  255. package/src/layouts/list-layout/index.ts +0 -1
  256. package/src/layouts/list-layout/list-layout.stories.tsx +0 -102
  257. package/src/layouts/list-layout/list-layout.tsx +0 -36
  258. package/src/layouts/tab-layout/index.ts +0 -1
  259. package/src/layouts/tab-layout/tab-layout.stories.tsx +0 -88
  260. package/src/layouts/tab-layout/tab-layout.tsx +0 -11
  261. package/src/providers/index.ts +0 -1
  262. package/src/providers/notification-center/index.ts +0 -1
  263. package/src/providers/notification-center/notification-center.context.ts +0 -37
  264. package/src/providers/notification-center/notification-center.provider.tsx +0 -51
  265. package/src/providers/notification-center/notification-center.stories.tsx +0 -52
  266. package/src/providers/notification-center/notification-center.test.tsx +0 -112
  267. package/src/storybook.tsx +0 -56
  268. package/src/tests/assertions.ts +0 -72
  269. package/src/tests/components.tsx +0 -60
  270. package/src/tests/content-placeholder.stories.tsx +0 -16
  271. package/src/tests/index.ts +0 -3
  272. package/src/tests/skeleton-card.stories.tsx +0 -18
  273. package/src/tests/testing-library.tsx +0 -65
  274. package/src/utils/arrays.test.ts +0 -9
  275. package/src/utils/arrays.ts +0 -7
  276. package/src/utils/index.ts +0 -2
  277. package/src/utils/theme.ts +0 -6
  278. package/tsconfig.json +0 -27
  279. package/tsconfig.rollup.json +0 -26
@@ -1,4 +1,4 @@
1
- import { FunctionComponent } from "react";
1
+ import { FunctionComponent, ReactElement } from "react";
2
2
  import { AppBarProps as MuiAppBarProps } from "@mui/material";
3
3
  export interface AppBarProfile {
4
4
  name: string;
@@ -11,3 +11,4 @@ export interface AppBarProps extends MuiAppBarProps {
11
11
  onClickSignOut: () => void;
12
12
  }
13
13
  export declare type AppBarComponent = FunctionComponent<AppBarProps>;
14
+ export declare type AppBarElement = ReactElement<AppBarProps, AppBarComponent>;
@@ -0,0 +1,2 @@
1
+ import { ContentProps } from "./content.types";
2
+ export declare const Content: ({ children }: ContentProps) => JSX.Element;
@@ -0,0 +1,4 @@
1
+ import { PropsWithChildren, FunctionComponent, ReactElement } from "react";
2
+ export declare type ContentProps = PropsWithChildren;
3
+ export declare type ContentComponent = FunctionComponent<ContentProps>;
4
+ export declare type ContentElement = ReactElement<ContentElement, ContentComponent>;
@@ -0,0 +1,2 @@
1
+ export * from "./content";
2
+ export * from "./content.types";
@@ -1,65 +1,6 @@
1
- import { PropTypes } from "@mui/material";
2
- export declare type HeaderPreset = PropTypes.Color | "transparent";
3
- export declare type HeaderActionVariant = "text" | "outlined" | "contained";
4
- export declare type HeaderAction = {
5
- id: string;
6
- text: string;
7
- disabled?: boolean;
8
- href?: string;
9
- onClick?: () => void;
10
- };
11
- export interface HeaderBreadcrumb {
12
- id: string;
13
- text: string;
14
- link: string;
15
- }
16
- export interface HeaderTab {
17
- id: string;
18
- label: string;
19
- disabled?: boolean;
20
- }
21
- export declare type HeaderProps = {
22
- /**
23
- * Title of the header
24
- */
25
- title: string;
26
- /**
27
- * Subtitle of the header
28
- */
29
- subtitle?: string;
30
- /**
31
- * Color palete used to render the component
32
- */
33
- preset: HeaderPreset;
34
- /**
35
- * List of breadcumbs to represent the path to reach
36
- * the page that we are
37
- */
38
- breadcrumbs?: HeaderBreadcrumb[];
39
- /**
40
- * List of actions that can be performed by the user.
41
- * Each action will be a button in the header.
42
- */
43
- actions?: HeaderAction[];
44
- /**
45
- * Variant used to render the actions
46
- */
47
- actionsVariant?: HeaderActionVariant;
48
- /**
49
- * If is set, a list of tabs is dispayed at the bottom
50
- */
51
- tabs?: HeaderTab[];
52
- /**
53
- * Tab that has to be marked as selected
54
- */
55
- selectedTab?: number;
56
- /**
57
- * Callback executed when the user click a tab
58
- */
59
- onChangeTab?: (tab: HeaderTab, index: number) => void;
60
- };
1
+ import { HeaderComponent } from "./header.types";
61
2
  /**
62
3
  * Section used to explain give basic information about the page
63
4
  * and put the main actions
64
5
  */
65
- export declare const Header: ({ title, subtitle, preset, actionsVariant, breadcrumbs, actions, tabs, selectedTab, onChangeTab, }: HeaderProps) => JSX.Element;
6
+ export declare const Header: HeaderComponent;
@@ -0,0 +1,55 @@
1
+ import { PropTypes } from "@mui/material";
2
+ import { FunctionComponent, ReactElement } from "react";
3
+ export declare type HeaderPreset = PropTypes.Color | "transparent";
4
+ export declare type HeaderActionVariant = "text" | "outlined" | "contained";
5
+ export declare type HeaderAction = {
6
+ id: string;
7
+ text: string;
8
+ disabled?: boolean;
9
+ href?: string;
10
+ onClick?: () => void;
11
+ };
12
+ export interface HeaderBreadcrumb {
13
+ id: string;
14
+ text: string;
15
+ link: string;
16
+ }
17
+ export interface HeaderTab {
18
+ id: string;
19
+ label: string;
20
+ disabled?: boolean;
21
+ }
22
+ export declare type HeaderProps = {
23
+ /**
24
+ * Title of the header
25
+ */
26
+ title: string;
27
+ /**
28
+ * Subtitle of the header
29
+ */
30
+ subtitle?: string;
31
+ /**
32
+ * Color palete used to render the component
33
+ */
34
+ preset?: HeaderPreset;
35
+ /**
36
+ * List of breadcumbs to represent the path to reach
37
+ * the page that we are
38
+ */
39
+ breadcrumbs?: HeaderBreadcrumb[];
40
+ /**
41
+ * List of actions that can be performed by the user.
42
+ * Each action will be a button in the header.
43
+ */
44
+ actions?: HeaderAction[];
45
+ /**
46
+ * Variant used to render the actions
47
+ */
48
+ actionsVariant?: HeaderActionVariant;
49
+ /**
50
+ * If is set, a list of tabs is dispayed at the bottom
51
+ */
52
+ tabs?: HeaderTab[];
53
+ };
54
+ export declare type HeaderComponent = FunctionComponent<HeaderProps>;
55
+ export declare type HeaderElement = ReactElement<HeaderProps, HeaderComponent>;
@@ -1 +1,2 @@
1
1
  export * from "./header";
2
+ export * from "./header.types";
@@ -15,3 +15,4 @@ export * from "./drawer-section";
15
15
  export * from "./drawer-item";
16
16
  export * from "./center-container";
17
17
  export * from "./value-displays";
18
+ export * from "./content";
@@ -1,3 +1,2 @@
1
1
  export * from "./tab-panel";
2
2
  export * from "./tab-card";
3
- export * from "./tab.context";
@@ -1,7 +1,6 @@
1
1
  import { PropsWithChildren } from "react";
2
2
  interface Props {
3
3
  tabs: string[];
4
- initialTab?: number;
5
4
  }
6
- export declare const TabCard: ({ children, tabs, initialTab }: PropsWithChildren<Props>) => JSX.Element;
5
+ export declare const TabCard: ({ children, tabs }: PropsWithChildren<Props>) => JSX.Element;
7
6
  export {};
@@ -1,14 +1,11 @@
1
1
  import { HeadCell, Order } from "../table/enhanced-table";
2
- export interface BasicData {
3
- id: string;
4
- [key: string]: any;
5
- }
6
- export interface TableRowOption<T extends BasicData> {
2
+ import { BasicModelInstance } from "~/generators";
3
+ export interface TableRowOption<T extends BasicModelInstance> {
7
4
  id: string;
8
5
  label: string;
9
6
  onClick: (item: T) => void;
10
7
  }
11
- export interface TableListProps<T extends BasicData> {
8
+ export interface TableListProps<T extends BasicModelInstance> {
12
9
  columns: HeadCell[];
13
10
  data: T[];
14
11
  search?: boolean;
@@ -18,4 +15,4 @@ export interface TableListProps<T extends BasicData> {
18
15
  options?: TableRowOption<T>[];
19
16
  onClick?: (d: T) => void;
20
17
  }
21
- export declare const TableList: <T extends BasicData>({ columns: columnsProp, options, data, onClick, search, defaultSort, defaultOrder, loading, }: TableListProps<T>) => JSX.Element;
18
+ export declare const TableList: <T extends BasicModelInstance>({ columns: columnsProp, options, data, onClick, search, defaultSort, defaultOrder, loading, }: TableListProps<T>) => JSX.Element;
@@ -1,3 +1,24 @@
1
1
  import { Model } from "./generators.model";
2
2
  export declare const mockModel: Model;
3
- export declare const createModelInstance: (model: Model, seed?: number) => any;
3
+ export interface MockInstance {
4
+ id: string;
5
+ firstName: string;
6
+ middleName: string;
7
+ lastName: string;
8
+ gender: string;
9
+ age: number;
10
+ birthDate: string;
11
+ car: {
12
+ model: string;
13
+ manufacturer: string;
14
+ color: string;
15
+ type: string;
16
+ vin: string;
17
+ vrm: string;
18
+ };
19
+ quantity: number;
20
+ available: boolean;
21
+ currency: string;
22
+ tradeDate: string;
23
+ }
24
+ export declare const createModelInstance: <T extends BasicData>(model: Model, seed?: number) => T;
@@ -24,10 +24,14 @@ declare type SingleFields = StringField | NumberField | BooleanField;
24
24
  export declare type GroupField = {
25
25
  type: "group";
26
26
  value: (Base & Breakpoints & SingleFields)[];
27
- };
27
+ } & Base;
28
28
  declare type Fields = SingleFields | GroupField;
29
29
  export declare type ModelField = Base & Breakpoints & Fields;
30
30
  export declare type Model = {
31
31
  fields: ModelField[];
32
32
  };
33
+ export interface BasicModelInstance {
34
+ id: string;
35
+ [key: string]: any;
36
+ }
33
37
  export {};
@@ -1,8 +1,8 @@
1
- import { Model } from "../generators.model";
2
- export interface ModelFormProps {
1
+ import { Model, BasicModelInstance } from "../generators.model";
2
+ export interface ModelFormProps<T extends BasicModelInstance> {
3
3
  model: Model;
4
- initialValues?: object;
4
+ initialValues?: T;
5
5
  saveButtonText: string;
6
- onSubmit: (values: object) => void;
6
+ onSubmit: (values: T) => void;
7
7
  }
8
- export declare const ModelForm: ({ model, saveButtonText, onSubmit, initialValues, }: ModelFormProps) => JSX.Element;
8
+ export declare const ModelForm: <T extends BasicModelInstance>({ model, saveButtonText, onSubmit, initialValues, }: ModelFormProps<T>) => JSX.Element;
@@ -1,35 +1,4 @@
1
- import { Model } from "../generators.model";
2
- export interface RequestState {
3
- idle?: boolean;
4
- loading?: boolean;
5
- error?: string;
6
- success?: boolean;
7
- }
8
- export interface ModelRouterProps {
9
- modelName: string;
10
- model: Model;
11
- requestList?: () => void;
12
- list: {
13
- data: any[];
14
- onClickRemoveItem: (item: any) => void;
15
- listRequest: RequestState;
16
- requestDelete: RequestState;
17
- };
18
- add: {
19
- onSubmit: (obj: object) => void;
20
- request: RequestState;
21
- };
22
- detail: {
23
- onScreenMount?: (id: string) => void;
24
- request: RequestState;
25
- instance?: any;
26
- };
27
- update: {
28
- onSubmit: (obj: object) => void;
29
- request: RequestState;
30
- requestInstance: RequestState;
31
- onRequestInstance: (id: string) => void;
32
- instance?: any;
33
- };
34
- }
35
- export declare const ModelRouter: (props: ModelRouterProps) => JSX.Element;
1
+ import { BasicModelInstance } from "../generators.model";
2
+ import { AddScreenProps, DetailsScreenProps, ListScreenProps, UpdateScreenProps } from "./screens";
3
+ export declare type ModelRouterProps<T extends BasicModelInstance> = DetailsScreenProps<T> & ListScreenProps<T> & AddScreenProps<T> & UpdateScreenProps<T>;
4
+ export declare const ModelRouter: <T extends BasicModelInstance>(props: ModelRouterProps<T>) => JSX.Element;
@@ -0,0 +1,8 @@
1
+ export interface RequestState {
2
+ idle?: boolean;
3
+ loading?: boolean;
4
+ error?: string;
5
+ success?: boolean;
6
+ }
7
+ export declare const IdleRequest: RequestState;
8
+ export declare const LoadingRequest: RequestState;
@@ -1,2 +1,16 @@
1
- import { ModelRouterProps } from "../..";
2
- export declare const AddScreen: (props: ModelRouterProps) => JSX.Element;
1
+ import { BasicModelInstance } from "~/generators";
2
+ import { RequestState } from "../model-router.types";
3
+ import { BaseScreenProps } from "./screens.types";
4
+ export interface AddScreenProps<T extends BasicModelInstance> extends BaseScreenProps {
5
+ /**
6
+ * Callback executed when the user wants to
7
+ * add a new item
8
+ */
9
+ onSubmitNewItem: (obj: T) => void;
10
+ /**
11
+ * Current status of the request to retrieve
12
+ * add a new item
13
+ */
14
+ newItemRequest: RequestState;
15
+ }
16
+ export declare const AddScreen: <T extends BasicModelInstance>({ model, modelName, onSubmitNewItem, newItemRequest, }: AddScreenProps<T>) => JSX.Element;
@@ -1,2 +1,20 @@
1
- import { ModelRouterProps } from "..";
2
- export declare const DetailsScreen: (props: ModelRouterProps) => JSX.Element;
1
+ import { RequestState } from "../model-router.types";
2
+ import { BaseScreenProps } from "./screens.types";
3
+ import { BasicModelInstance } from "~/generators";
4
+ export interface DetailsScreenProps<T extends BasicModelInstance> extends BaseScreenProps {
5
+ /**
6
+ * Callback executed each time we want
7
+ * the details information of an item
8
+ */
9
+ onRequestItem: (id: string) => void;
10
+ /**
11
+ * Current status of the request to retrieve
12
+ * an item
13
+ */
14
+ itemRequest: RequestState;
15
+ /**
16
+ * Item to be displayed
17
+ */
18
+ detailsItem?: T;
19
+ }
20
+ export declare const DetailsScreen: <T extends BasicModelInstance>({ model, modelName, onRequestItem, itemRequest, detailsItem, }: DetailsScreenProps<T>) => JSX.Element;
@@ -1,2 +1,30 @@
1
- import type { ModelRouterProps } from "../model-router";
2
- export declare const ListScreen: (props: ModelRouterProps) => JSX.Element;
1
+ import { BasicModelInstance } from "~/generators";
2
+ import { RequestState } from "../model-router.types";
3
+ import { BaseScreenProps } from "./screens.types";
4
+ export interface ListScreenProps<T extends BasicModelInstance> extends BaseScreenProps {
5
+ /**
6
+ * Callback executed each time the list screen
7
+ * requests for a data update
8
+ */
9
+ onRequestList: () => void;
10
+ /**
11
+ * List of items to be displayed in the list screen
12
+ */
13
+ listData: T[];
14
+ /**
15
+ * Callback executed when the user clicks an option
16
+ * to delete an item
17
+ */
18
+ onClickDeleteItem: (item: T) => void;
19
+ /**
20
+ * Current status of the request to retrieve
21
+ * the list items
22
+ */
23
+ listRequest: RequestState;
24
+ /**
25
+ * Current status of the request to delete
26
+ * an item
27
+ */
28
+ deleteRequest: RequestState;
29
+ }
30
+ export declare const ListScreen: <T extends BasicModelInstance>({ model, modelName, listData, onRequestList, onClickDeleteItem, listRequest, deleteRequest, }: ListScreenProps<T>) => JSX.Element;
@@ -0,0 +1,11 @@
1
+ import { Model } from "../../generators.model";
2
+ export interface BaseScreenProps {
3
+ /**
4
+ * UI-friendly string that represents the model
5
+ */
6
+ modelName: string;
7
+ /**
8
+ * Structure that represents the fields of the model
9
+ */
10
+ model: Model;
11
+ }
@@ -1,2 +1,29 @@
1
- import type { ModelRouterProps } from "../model-router";
2
- export declare const UpdateScreen: (props: ModelRouterProps) => JSX.Element;
1
+ import { BasicModelInstance } from "~/generators";
2
+ import { RequestState } from "../model-router.types";
3
+ import { BaseScreenProps } from "./screens.types";
4
+ export interface UpdateScreenProps<T extends BasicModelInstance> extends BaseScreenProps {
5
+ /**
6
+ * Callback executed when the user wants to update
7
+ * an item
8
+ */
9
+ onSubmitUpdateItem: (obj: T) => void;
10
+ /**
11
+ * Current status of the request to update an item
12
+ */
13
+ submitUpdateItemRequest: RequestState;
14
+ /**
15
+ * Current status of the request to retrieve
16
+ * the item to be updated
17
+ */
18
+ updateItemRequest: RequestState;
19
+ /**
20
+ * Callback executed to retrive the item that
21
+ * has to going tobe updated
22
+ */
23
+ onRequestUpdateItem: (id: string) => void;
24
+ /**
25
+ * Item that is going to be updated
26
+ */
27
+ updateItem?: T;
28
+ }
29
+ export declare const UpdateScreen: <T extends BasicModelInstance>({ model, modelName, submitUpdateItemRequest, updateItemRequest, updateItem, onSubmitUpdateItem, onRequestUpdateItem, }: UpdateScreenProps<T>) => JSX.Element;
@@ -0,0 +1,23 @@
1
+ /// <reference types="react" />
2
+ import { MockInstance } from "../../generators.mock";
3
+ export declare const onRequestListAction: import("@storybook/addon-actions").HandlerFunction;
4
+ export declare const onSubmitNewItemAction: import("@storybook/addon-actions").HandlerFunction;
5
+ export declare const onRequestItem: import("@storybook/addon-actions").HandlerFunction;
6
+ export declare const onRequestUpdateItemAction: import("@storybook/addon-actions").HandlerFunction;
7
+ export declare const onSubmitUpdateAction: import("@storybook/addon-actions").HandlerFunction;
8
+ export declare const onRequestDeleteAction: import("@storybook/addon-actions").HandlerFunction;
9
+ export declare const REQUEST_TIMEOUT = 2000;
10
+ export declare const item1: MockInstance;
11
+ export declare const data: MockInstance[];
12
+ export declare const ModelRouterTemplate: import("@storybook/react").ComponentStory<import("react").JSXElementConstructor<import("../model-router").ModelRouterProps<import("../..").BasicModelInstance>>>;
13
+ export declare const baseArgs: {
14
+ modelName: string;
15
+ model: import("../..").Model;
16
+ listData: MockInstance[];
17
+ listRequest: import("../model-router.types").RequestState;
18
+ deleteRequest: import("../model-router.types").RequestState;
19
+ newItemRequest: import("../model-router.types").RequestState;
20
+ updateItemRequest: import("../model-router.types").RequestState;
21
+ submitUpdateItemRequest: import("../model-router.types").RequestState;
22
+ itemRequest: import("../model-router.types").RequestState;
23
+ };
@@ -1,6 +1,6 @@
1
- import { Model } from "../generators.model";
2
- export interface ObjectDetailsProps {
1
+ import { Model, BasicModelInstance } from "../generators.model";
2
+ export interface ObjectDetailsProps<T extends BasicModelInstance> {
3
3
  model: Model;
4
- instance: object;
4
+ instance: T;
5
5
  }
6
- export declare const ObjectDetails: ({ model, instance }: ObjectDetailsProps) => JSX.Element;
6
+ export declare const ObjectDetails: <T extends BasicModelInstance>({ model, instance, }: ObjectDetailsProps<T>) => JSX.Element;
@@ -1,10 +1,7 @@
1
- import { PropsWithChildren, ReactElement } from "react";
2
- import { AppBarComponent } from "../../components/app-bar";
1
+ import { ReactNode } from "react";
2
+ import { AppBarElement } from "../../components/app-bar";
3
3
  import { DrawerElement } from "../../components/drawer";
4
- import { AppBarProps } from "@mui/material";
5
- interface Props {
6
- drawer: DrawerElement;
7
- appBar: ReactElement<AppBarProps, AppBarComponent>;
4
+ export interface AppBarWithDrawerLayoutProps {
5
+ children: [DrawerElement, AppBarElement, ReactNode];
8
6
  }
9
- export declare const AppBarWithDrawerLayout: ({ drawer, appBar, children }: PropsWithChildren<Props>) => JSX.Element;
10
- export {};
7
+ export declare const AppBarWithDrawerLayout: ({ children: childrenProps, }: AppBarWithDrawerLayoutProps) => JSX.Element;
@@ -1,8 +1,7 @@
1
- import { PropsWithChildren } from "react";
2
- import { HeaderProps } from "../../components";
3
- interface Props {
1
+ import { ContentElement, HeaderElement } from "../../components";
2
+ interface HeaderLayoutProps {
4
3
  loading?: boolean;
5
- headerProps: HeaderProps;
4
+ children: [HeaderElement, ContentElement];
6
5
  }
7
- export declare const HeaderLayout: ({ loading, headerProps, children }: PropsWithChildren<Props>) => JSX.Element;
6
+ export declare const HeaderLayout: ({ loading, children }: HeaderLayoutProps) => JSX.Element;
8
7
  export {};
@@ -1,7 +1,2 @@
1
- export * from "./data-table-layout";
2
- export * from "./header-layout";
3
- export * from "./tab-layout";
4
- export * from "./list-layout";
5
1
  export * from "./app-bar-with-drawer-layout";
6
- export * from "./details-layout";
7
- export * from "./form-layout";
2
+ export * from "./header-layout";
@@ -1 +1,2 @@
1
1
  export * from "./notification-center";
2
+ export * from "./tab-provider";
@@ -1 +1,2 @@
1
1
  export * from "./notification-center.provider";
2
+ export * from "./notification-center.context";
@@ -0,0 +1,2 @@
1
+ export * from "./tab-provider.context";
2
+ export * from "./tab-provider.provider";
@@ -0,0 +1,4 @@
1
+ import { Dispatch, SetStateAction } from "react";
2
+ export declare const TabContext: import("react").Context<[number, Dispatch<SetStateAction<number>>]>;
3
+ export declare const TabContextProvider: import("react").Provider<[number, Dispatch<SetStateAction<number>>]>;
4
+ export declare const useTab: () => [number, Dispatch<SetStateAction<number>>];
@@ -0,0 +1,6 @@
1
+ import { PropsWithChildren } from "react";
2
+ declare type TabProviderProps = PropsWithChildren<{
3
+ initialValue?: number;
4
+ }>;
5
+ export declare const TabProvider: ({ children, initialValue }: TabProviderProps) => JSX.Element;
6
+ export {};
@@ -1,4 +1,7 @@
1
- export declare const useGetDefaultThemeColor: ({ lightWeight, darkWeight }?: {
2
- lightWeight?: number | undefined;
3
- darkWeight?: number | undefined;
4
- }) => any;
1
+ import { Color } from "@mui/material";
2
+ declare type KeyColor = keyof Color;
3
+ export declare const useGetDefaultThemeColor: ({ lightWeight, darkWeight, }?: {
4
+ lightWeight?: keyof Color | undefined;
5
+ darkWeight?: keyof Color | undefined;
6
+ }) => string;
7
+ export {};