@pautena/react-design-system 0.1.4 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/dist/cjs/index.js +2 -2
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/types/generators/model-router/screens/add-screen.d.ts +1 -1
  4. package/dist/cjs/types/generators/model-router/screens/list-screen.d.ts +1 -1
  5. package/dist/cjs/types/generators/model-router/screens/screens.types.d.ts +20 -0
  6. package/dist/cjs/types/generators/model-router/screens/update-screen.d.ts +1 -1
  7. package/dist/cjs/types/index.d.ts +1 -0
  8. package/dist/esm/index.js +4 -4
  9. package/dist/esm/index.js.map +1 -1
  10. package/dist/esm/types/generators/model-router/screens/add-screen.d.ts +1 -1
  11. package/dist/esm/types/generators/model-router/screens/list-screen.d.ts +1 -1
  12. package/dist/esm/types/generators/model-router/screens/screens.types.d.ts +20 -0
  13. package/dist/esm/types/generators/model-router/screens/update-screen.d.ts +1 -1
  14. package/dist/esm/types/index.d.ts +1 -0
  15. package/dist/index.d.ts +52 -3
  16. package/package.json +1 -1
  17. package/src/components/header/header.test.tsx +2 -12
  18. package/src/components/tab/tab-card/tab-card.tsx +2 -2
  19. package/src/components/table-list/table-list.test.tsx +8 -1
  20. package/src/components/table-list/table-list.tsx +3 -3
  21. package/src/generators/model-router/model-router.test.tsx +171 -6
  22. package/src/generators/model-router/model-router.tsx +4 -3
  23. package/src/generators/model-router/screens/add-screen.tsx +2 -1
  24. package/src/generators/model-router/screens/list-screen.tsx +41 -26
  25. package/src/generators/model-router/screens/screens.types.ts +25 -0
  26. package/src/generators/model-router/screens/update-screen.tsx +2 -1
  27. package/src/generators/model-router/stories/list-screen.stories.tsx +51 -0
  28. package/src/generators/model-router/stories/model-router.stories.tsx +12 -0
  29. package/src/index.ts +1 -0
  30. package/src/layouts/app-bar-with-drawer-layout/app-bar-with-drawer-layout.stories.tsx +1 -1
  31. package/src/layouts/app-bar-with-drawer-layout/app-bar-with-drawer-layout.tsx +1 -1
@@ -10,4 +10,29 @@ export interface BaseScreenProps {
10
10
  * Structure that represents the fields of the model
11
11
  */
12
12
  model: Model;
13
+
14
+ /**
15
+ * Path to attach before each internal ModelRouter path
16
+ */
17
+ basePath?: string;
18
+
19
+ /**
20
+ * If true delete features are enabled
21
+ */
22
+ deleteFeature?: boolean;
23
+
24
+ /**
25
+ * If true update features are enabled
26
+ */
27
+ updateFeature?: boolean;
28
+
29
+ /**
30
+ * If true add features are enabled
31
+ */
32
+ addFeature?: boolean;
33
+
34
+ /**
35
+ * If true details features are enabled
36
+ */
37
+ detailsFeature?: boolean;
13
38
  }
@@ -39,6 +39,7 @@ export interface UpdateScreenProps<T extends BasicModelInstance> extends BaseScr
39
39
  export const UpdateScreen = <T extends BasicModelInstance>({
40
40
  model,
41
41
  modelName,
42
+ basePath = "",
42
43
  submitUpdateItemRequest,
43
44
  updateItemRequest,
44
45
  updateItem,
@@ -61,7 +62,7 @@ export const UpdateScreen = <T extends BasicModelInstance>({
61
62
  message: `The item ${id} has been updated successfully`,
62
63
  severity: "success",
63
64
  });
64
- navigate("/");
65
+ navigate(`${basePath}/`);
65
66
  }
66
67
  }, [submitUpdateItemRequest.success]);
67
68
 
@@ -43,3 +43,54 @@ List.args = {
43
43
  listRequest: IdleRequest,
44
44
  deleteRequest: IdleRequest,
45
45
  };
46
+
47
+ export const WithoutDeleteFeature = Template.bind({});
48
+ WithoutDeleteFeature.args = {
49
+ modelName: "Items",
50
+ model: mockModel,
51
+ listData: data,
52
+ listRequest: IdleRequest,
53
+ deleteRequest: IdleRequest,
54
+ deleteFeature: false,
55
+ };
56
+
57
+ export const WithoutUpdateFeature = Template.bind({});
58
+ WithoutUpdateFeature.args = {
59
+ modelName: "Items",
60
+ model: mockModel,
61
+ listData: data,
62
+ listRequest: IdleRequest,
63
+ deleteRequest: IdleRequest,
64
+ updateFeature: false,
65
+ };
66
+
67
+ export const WithoutDeleteAndUpdateFeature = Template.bind({});
68
+ WithoutDeleteAndUpdateFeature.args = {
69
+ modelName: "Items",
70
+ model: mockModel,
71
+ listData: data,
72
+ listRequest: IdleRequest,
73
+ deleteRequest: IdleRequest,
74
+ deleteFeature: false,
75
+ updateFeature: false,
76
+ };
77
+
78
+ export const WithoutAddFeature = Template.bind({});
79
+ WithoutAddFeature.args = {
80
+ modelName: "Items",
81
+ model: mockModel,
82
+ listData: data,
83
+ listRequest: IdleRequest,
84
+ deleteRequest: IdleRequest,
85
+ addFeature: false,
86
+ };
87
+
88
+ export const WithoutDetailsFeature = Template.bind({});
89
+ WithoutDetailsFeature.args = {
90
+ modelName: "Items",
91
+ model: mockModel,
92
+ listData: data,
93
+ listRequest: IdleRequest,
94
+ deleteRequest: IdleRequest,
95
+ detailsFeature: false,
96
+ };
@@ -20,6 +20,10 @@ import {
20
20
  interface DummyModelRouterProps {
21
21
  requestTimeout: number;
22
22
  initialData: MockInstance[];
23
+ deleteFeature?: boolean;
24
+ updateFeature?: boolean;
25
+ addFeature?: boolean;
26
+ detailsFeature?: boolean;
23
27
  onRequestListAction: HandlerFunction;
24
28
  onSubmitNewItemAction: HandlerFunction;
25
29
  onRequestItem: HandlerFunction;
@@ -32,6 +36,10 @@ export const DummyModelRouter = (args: DummyModelRouterProps) => {
32
36
  const {
33
37
  requestTimeout,
34
38
  initialData,
39
+ deleteFeature = true,
40
+ updateFeature = true,
41
+ addFeature = true,
42
+ detailsFeature = true,
35
43
  onRequestListAction,
36
44
  onSubmitNewItemAction,
37
45
  onRequestItem,
@@ -122,6 +130,10 @@ export const DummyModelRouter = (args: DummyModelRouterProps) => {
122
130
  {...args}
123
131
  modelName="Items"
124
132
  model={mockModel}
133
+ deleteFeature={deleteFeature}
134
+ updateFeature={updateFeature}
135
+ addFeature={addFeature}
136
+ detailsFeature={detailsFeature}
125
137
  onRequestList={handleRequestList}
126
138
  listData={data}
127
139
  listRequest={listRequestState}
package/src/index.ts CHANGED
@@ -2,3 +2,4 @@ export * from "./components";
2
2
  export * from "./utils";
3
3
  export * from "./layouts";
4
4
  export * from "./generators";
5
+ export * from "./providers";
@@ -22,7 +22,7 @@ export const MiniDrawerStory = () => (
22
22
  <DrawerContent nav={mockNav} />
23
23
  </MiniDrawer>
24
24
  <MiniAppBar title="Lorem ipsum" onClickSignOut={() => null} />
25
- <ContentPlaceholder />
25
+ <ContentPlaceholder p={3} />
26
26
  </AppBarWithDrawerLayout>
27
27
  );
28
28
  MiniDrawerStory.storyName = "Mini drawer";
@@ -27,7 +27,7 @@ export const AppBarWithDrawerLayout = ({
27
27
  <DrawerProvider>
28
28
  {appBar}
29
29
  {drawer}
30
- <Box sx={{ flexGrow: 1, p: 3 }}>
30
+ <Box sx={{ flexGrow: 1 }}>
31
31
  <DrawerHeader />
32
32
  {children}
33
33
  </Box>