@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,8 +0,0 @@
1
- import { HeaderProps } from "../../components";
2
- import { ModelFormProps } from "../../generators";
3
- export interface FormLayoutProps {
4
- loading?: boolean;
5
- headerProps: HeaderProps;
6
- modelFormProps: ModelFormProps;
7
- }
8
- export declare const FormLayout: ({ loading, headerProps, modelFormProps }: FormLayoutProps) => JSX.Element;
@@ -1 +0,0 @@
1
- export * from "./form-layout";
@@ -1 +0,0 @@
1
- export * from "./list-layout";
@@ -1,8 +0,0 @@
1
- import { BasicData, HeaderProps, PlaceholderProps, TableListProps } from "../../components";
2
- export interface ListLayoutProps<T extends BasicData> {
3
- loading?: boolean;
4
- headerProps: HeaderProps;
5
- listProps: TableListProps<T>;
6
- emptyPlaceholderProps: PlaceholderProps;
7
- }
8
- export declare const ListLayout: <T extends BasicData>({ loading, headerProps, emptyPlaceholderProps, listProps: { data, ...restListProps }, }: ListLayoutProps<T>) => JSX.Element;
@@ -1 +0,0 @@
1
- export * from "./tab-layout";
@@ -1,7 +0,0 @@
1
- import { PropsWithChildren } from "react";
2
- import { HeaderProps } from "../../components";
3
- interface Props {
4
- headerProps: HeaderProps;
5
- }
6
- export declare const TabLayout: ({ headerProps, children }: PropsWithChildren<Props>) => JSX.Element;
7
- export {};
@@ -1,4 +0,0 @@
1
- /// <reference types="react" />
2
- export declare const TabContext: import("react").Context<number>;
3
- export declare const TabContextProvider: import("react").Provider<number>;
4
- export declare const useTab: () => number;
@@ -1,12 +0,0 @@
1
- import { HeaderProps, PlaceholderProps } from "../../components";
2
- import { DataGridProps } from "@mui/x-data-grid";
3
- interface Props {
4
- loading?: boolean;
5
- headerProps: HeaderProps;
6
- emptyPlaceholderProps: PlaceholderProps;
7
- dataGridProps: DataGridProps & {
8
- height: number;
9
- };
10
- }
11
- export declare const DataTableLayout: ({ loading, headerProps, emptyPlaceholderProps, dataGridProps: { height, rows, ...restDataGridProps }, }: Props) => JSX.Element;
12
- export {};
@@ -1 +0,0 @@
1
- export * from "./data-table-layout";
@@ -1,12 +0,0 @@
1
- import { HeaderProps, PlaceholderProps } from "../../components";
2
- import { Model } from "../../generators";
3
- export interface DetailsLayoutProps {
4
- loading?: boolean;
5
- headerProps: HeaderProps;
6
- objectDetailsProps: {
7
- model: Model;
8
- instance?: object;
9
- };
10
- notFoundPlaceholderProps: PlaceholderProps;
11
- }
12
- export declare const DetailsLayout: ({ loading, headerProps, notFoundPlaceholderProps, objectDetailsProps: { model, instance }, }: DetailsLayoutProps) => JSX.Element;
@@ -1 +0,0 @@
1
- export * from "./details-layout";
@@ -1,8 +0,0 @@
1
- import { HeaderProps } from "../../components";
2
- import { ModelFormProps } from "../../generators";
3
- export interface FormLayoutProps {
4
- loading?: boolean;
5
- headerProps: HeaderProps;
6
- modelFormProps: ModelFormProps;
7
- }
8
- export declare const FormLayout: ({ loading, headerProps, modelFormProps }: FormLayoutProps) => JSX.Element;
@@ -1 +0,0 @@
1
- export * from "./form-layout";
@@ -1 +0,0 @@
1
- export * from "./list-layout";
@@ -1,8 +0,0 @@
1
- import { BasicData, HeaderProps, PlaceholderProps, TableListProps } from "../../components";
2
- export interface ListLayoutProps<T extends BasicData> {
3
- loading?: boolean;
4
- headerProps: HeaderProps;
5
- listProps: TableListProps<T>;
6
- emptyPlaceholderProps: PlaceholderProps;
7
- }
8
- export declare const ListLayout: <T extends BasicData>({ loading, headerProps, emptyPlaceholderProps, listProps: { data, ...restListProps }, }: ListLayoutProps<T>) => JSX.Element;
@@ -1 +0,0 @@
1
- export * from "./tab-layout";
@@ -1,7 +0,0 @@
1
- import { PropsWithChildren } from "react";
2
- import { HeaderProps } from "../../components";
3
- interface Props {
4
- headerProps: HeaderProps;
5
- }
6
- export declare const TabLayout: ({ headerProps, children }: PropsWithChildren<Props>) => JSX.Element;
7
- export {};
package/jest.config.js DELETED
@@ -1,14 +0,0 @@
1
- module.exports = {
2
- testEnvironment: "jsdom",
3
- setupFilesAfterEnv: ["./jest.setup.ts"],
4
- collectCoverageFrom: [
5
- "./src/**",
6
- "!src/**/*.stories.tsx",
7
- "!src/**/*.dummy.ts",
8
- "!src/**/*.mock.tsx",
9
- "!src/**/*.test.tsx",
10
- "!src/storybook.tsx",
11
- "!src/tests/**",
12
- "!src/**/__snapshots__/**",
13
- ],
14
- };
package/jest.setup.ts DELETED
@@ -1,5 +0,0 @@
1
- import "@testing-library/jest-dom";
2
-
3
- beforeEach(() => {
4
- jest.resetAllMocks();
5
- });
package/rollup.config.js DELETED
@@ -1,40 +0,0 @@
1
- import resolve from "@rollup/plugin-node-resolve";
2
- import commonjs from "@rollup/plugin-commonjs";
3
- import typescript from "@rollup/plugin-typescript";
4
- import dts from "rollup-plugin-dts";
5
- import { terser } from "rollup-plugin-terser";
6
- import peerDepsExternal from "rollup-plugin-peer-deps-external";
7
- import packageJson from "./package.json";
8
-
9
- export default [
10
- {
11
- input: "src/index.ts",
12
- output: [
13
- {
14
- file: packageJson.main,
15
- format: "cjs",
16
- sourcemap: true,
17
- },
18
- {
19
- file: packageJson.module,
20
- format: "esm",
21
- sourcemap: true,
22
- },
23
- ],
24
- plugins: [
25
- peerDepsExternal(),
26
- resolve(),
27
- commonjs(),
28
- typescript({
29
- tsconfig: "./tsconfig.rollup.json",
30
- }),
31
- terser(),
32
- ],
33
- external: ["react", "react-dom"],
34
- },
35
- {
36
- input: "dist/esm/types/index.d.ts",
37
- output: [{ file: "dist/index.d.ts", format: "esm" }],
38
- plugins: [dts()],
39
- },
40
- ];
@@ -1,54 +0,0 @@
1
- import React from "react";
2
- import { ComponentMeta } from "@storybook/react";
3
- import { createTemplate } from "../../storybook";
4
- import { AppBar } from "./app-bar";
5
- import { DrawerProvider } from "../drawer";
6
-
7
- export default {
8
- title: "AppBars/AppBar",
9
- component: AppBar,
10
- parameters: {
11
- layout: "fullscreen",
12
- },
13
- } as ComponentMeta<typeof AppBar>;
14
-
15
- const Template = createTemplate((args) => {
16
- return (
17
- <DrawerProvider>
18
- <AppBar {...args} />
19
- </DrawerProvider>
20
- );
21
- });
22
-
23
- export const Default = Template.bind({});
24
- Default.args = {
25
- title: "Lorem ipsum",
26
- menu: true,
27
- };
28
-
29
- export const WithSearch = Template.bind({});
30
- WithSearch.args = {
31
- title: "Lorem ipsum",
32
- search: true,
33
- menu: true,
34
- };
35
-
36
- export const WithoutTitle = Template.bind({});
37
- WithoutTitle.args = {
38
- menu: true,
39
- };
40
-
41
- export const WihtoutMenu = Template.bind({});
42
- WihtoutMenu.args = {
43
- title: "Lorem ipsum",
44
- menu: false,
45
- };
46
-
47
- export const WithProfile = Template.bind({});
48
- WithProfile.args = {
49
- title: "Lorem ipsum",
50
- menu: true,
51
- profile: {
52
- name: "Test user",
53
- },
54
- };
@@ -1,142 +0,0 @@
1
- import React from "react";
2
- import { fireEvent, render, screen } from "../../tests";
3
- import { AppBar } from "./app-bar";
4
- import { DrawerProvider } from "../drawer";
5
- import { AppBarProfile } from "./app-bar.types";
6
- import userEvent from "@testing-library/user-event";
7
-
8
- const profile: AppBarProfile = {
9
- name: "John Smith",
10
- };
11
-
12
- describe("AppBar", () => {
13
- const renderComponent = ({
14
- search,
15
- title,
16
- menu,
17
- initialOpen,
18
- profile,
19
- }: {
20
- title?: string;
21
- search?: boolean;
22
- menu?: boolean;
23
- initialOpen?: boolean;
24
- profile?: AppBarProfile;
25
- } = {}) => {
26
- const onClickSignOut = jest.fn();
27
- const instance = render(
28
- <DrawerProvider initialOpen={initialOpen}>
29
- <AppBar
30
- title={title}
31
- menu={menu}
32
- search={search}
33
- profile={profile}
34
- onClickSignOut={onClickSignOut}
35
- />
36
- </DrawerProvider>,
37
- );
38
- return { ...instance, onClickSignOut };
39
- };
40
-
41
- const clickOutsideProfileMenu = () => {
42
- const child = screen.getByRole("presentation").firstChild;
43
- expect(child).toBeDefined();
44
- child && fireEvent.click(child);
45
- };
46
-
47
- describe("title", () => {
48
- it("wouldn't render a title if it's not defined", () => {
49
- renderComponent({ title: undefined });
50
-
51
- expect(screen.queryByRole("heading", { level: 1 })).not.toBeInTheDocument();
52
- });
53
-
54
- it("would render a title if it's defined", () => {
55
- renderComponent({ title: "Lorem ipsum" });
56
-
57
- expect(screen.queryByRole("heading", { level: 1, name: /lorem ipsum/i })).toBeInTheDocument();
58
- });
59
- });
60
-
61
- describe("menu", () => {
62
- it("wouldn't render a menu button if menu is not defined", () => {
63
- renderComponent();
64
-
65
- expect(screen.queryByRole("button", { name: /open drawer/i })).not.toBeInTheDocument();
66
- });
67
-
68
- it("wouldn't render a menu button if menu is false", () => {
69
- renderComponent({ menu: false });
70
-
71
- expect(screen.queryByRole("button", { name: /open drawer/i })).not.toBeInTheDocument();
72
- });
73
-
74
- it("would render a menu button if menu is true", () => {
75
- renderComponent({ menu: true });
76
-
77
- expect(screen.getByRole("button", { name: /open drawer/i })).toBeInTheDocument();
78
- });
79
- });
80
-
81
- describe("search", () => {
82
- it("wouldn't render a search box by default", () => {
83
- renderComponent();
84
-
85
- expect(screen.queryByRole("search")).not.toBeInTheDocument();
86
- });
87
-
88
- it("wouldn't render a search box if search is false", () => {
89
- renderComponent({ search: false });
90
-
91
- expect(screen.queryByRole("search")).not.toBeInTheDocument();
92
- });
93
-
94
- it("would render a search box if search is true", () => {
95
- renderComponent({ search: true });
96
-
97
- expect(screen.getByRole("search")).toBeInTheDocument();
98
- });
99
- });
100
-
101
- describe("profile", () => {
102
- it("wouldn't render the user profile if it's not set", () => {
103
- renderComponent({ profile: undefined });
104
-
105
- expect(screen.queryByRole("button", { name: /menu button/i })).not.toBeInTheDocument();
106
- });
107
-
108
- it("would render the user profile if the profile is defined", () => {
109
- renderComponent({ profile });
110
-
111
- expect(screen.getByRole("button", { name: /menu button/i })).toBeInTheDocument();
112
- });
113
-
114
- describe("the user click the profile button", () => {
115
- it("would open the menu", async () => {
116
- renderComponent({ profile });
117
-
118
- await userEvent.click(screen.getByRole("button", { name: /menu button/i }));
119
-
120
- expect(screen.getByRole("menu")).toBeInTheDocument();
121
- });
122
- });
123
-
124
- it("would call onClickSignOut if the user press the sign out button", async () => {
125
- const { onClickSignOut } = renderComponent({ profile });
126
-
127
- await userEvent.click(screen.getByRole("button", { name: /menu button/i }));
128
- await userEvent.click(screen.getByRole("menuitem", { name: /sign out/i }));
129
-
130
- expect(onClickSignOut).toHaveBeenCalledTimes(1);
131
- });
132
-
133
- it("would hide the menu if the focus changes to an external element", async () => {
134
- renderComponent({ profile, title: "lorem ipsum" });
135
-
136
- await userEvent.click(screen.getByRole("button", { name: /menu button/i }));
137
- clickOutsideProfileMenu();
138
-
139
- expect(screen.queryByRole("menu")).not.toBeInTheDocument();
140
- });
141
- });
142
- });
@@ -1,150 +0,0 @@
1
- import * as React from "react";
2
- import { styled, alpha } from "@mui/material/styles";
3
- import MuiAppBar from "@mui/material/AppBar";
4
- import Box from "@mui/material/Box";
5
- import Toolbar from "@mui/material/Toolbar";
6
- import IconButton from "@mui/material/IconButton";
7
- import Typography from "@mui/material/Typography";
8
- import InputBase from "@mui/material/InputBase";
9
- import MenuItem from "@mui/material/MenuItem";
10
- import Menu from "@mui/material/Menu";
11
- import MenuIcon from "@mui/icons-material/Menu";
12
- import SearchIcon from "@mui/icons-material/Search";
13
- import AccountCircle from "@mui/icons-material/AccountCircle";
14
- import { AppBarComponent, AppBarProps } from "./app-bar.types";
15
- import { useDrawer } from "../drawer/drawer.context";
16
-
17
- const Search = styled("div")(({ theme }) => ({
18
- position: "relative",
19
- borderRadius: theme.shape.borderRadius,
20
- backgroundColor: alpha(theme.palette.common.white, 0.15),
21
- "&:hover": {
22
- backgroundColor: alpha(theme.palette.common.white, 0.25),
23
- },
24
- marginRight: theme.spacing(2),
25
- marginLeft: 0,
26
- width: "100%",
27
- [theme.breakpoints.up("sm")]: {
28
- marginLeft: theme.spacing(3),
29
- width: "auto",
30
- },
31
- }));
32
-
33
- const SearchIconWrapper = styled("div")(({ theme }) => ({
34
- padding: theme.spacing(0, 2),
35
- height: "100%",
36
- position: "absolute",
37
- pointerEvents: "none",
38
- display: "flex",
39
- alignItems: "center",
40
- justifyContent: "center",
41
- }));
42
-
43
- const StyledInputBase = styled(InputBase)(({ theme }) => ({
44
- color: "inherit",
45
- "& .MuiInputBase-input": {
46
- padding: theme.spacing(1, 1, 1, 0),
47
- // vertical padding + font size from searchIcon
48
- paddingLeft: `calc(1em + ${theme.spacing(4)})`,
49
- transition: theme.transitions.create("width"),
50
- width: "100%",
51
- [theme.breakpoints.up("md")]: {
52
- width: "20ch",
53
- },
54
- },
55
- }));
56
-
57
- export const AppBar: AppBarComponent = ({
58
- search = false,
59
- title,
60
- menu = false,
61
- profile,
62
- onClickSignOut,
63
- ...rest
64
- }: AppBarProps) => {
65
- const [anchorEl, setAnchorEl] = React.useState<null | HTMLElement>(null);
66
- const { isOpen, open } = useDrawer();
67
-
68
- const handleMenu = (event: React.MouseEvent<HTMLElement>) => {
69
- setAnchorEl(event.currentTarget);
70
- };
71
-
72
- const handleClose = () => {
73
- setAnchorEl(null);
74
- };
75
-
76
- return (
77
- <MuiAppBar {...rest}>
78
- <Toolbar>
79
- {menu && (
80
- <IconButton
81
- color="inherit"
82
- aria-label="open drawer"
83
- onClick={open}
84
- edge="start"
85
- sx={{
86
- marginRight: 5,
87
- ...(isOpen && { display: "none" }),
88
- }}
89
- >
90
- <MenuIcon />
91
- </IconButton>
92
- )}
93
- {title && (
94
- <Typography
95
- variant="h6"
96
- component="h1"
97
- role="heading"
98
- aria-level={1}
99
- noWrap
100
- sx={{ display: { xs: "none", sm: "block" } }}
101
- >
102
- {title}
103
- </Typography>
104
- )}
105
- {search && (
106
- <Search role="search">
107
- <SearchIconWrapper>
108
- <SearchIcon />
109
- </SearchIconWrapper>
110
- <StyledInputBase placeholder="Search…" inputProps={{ "aria-label": "search" }} />
111
- </Search>
112
- )}
113
- <Box sx={{ flexGrow: 1 }} />
114
- {profile && (
115
- <Box sx={{ display: { xs: "none", md: "flex" } }}>
116
- <IconButton
117
- size="large"
118
- aria-controls="menu-appbar"
119
- aria-haspopup="true"
120
- aria-label="menu button"
121
- role="button"
122
- aria-expanded={Boolean(anchorEl)}
123
- onClick={handleMenu}
124
- color="inherit"
125
- >
126
- <AccountCircle />
127
- </IconButton>
128
- <Menu
129
- id="menu-appbar"
130
- anchorEl={anchorEl}
131
- anchorOrigin={{
132
- vertical: "top",
133
- horizontal: "right",
134
- }}
135
- keepMounted
136
- transformOrigin={{
137
- vertical: "top",
138
- horizontal: "right",
139
- }}
140
- open={Boolean(anchorEl)}
141
- onClose={handleClose}
142
- >
143
- <MenuItem onClick={onClickSignOut}>Sign out</MenuItem>
144
- </Menu>
145
- </Box>
146
- )}
147
- </Toolbar>
148
- </MuiAppBar>
149
- );
150
- };
@@ -1,16 +0,0 @@
1
- import { FunctionComponent } from "react";
2
- import { AppBarProps as MuiAppBarProps } from "@mui/material";
3
-
4
- export interface AppBarProfile {
5
- name: string;
6
- }
7
-
8
- export interface AppBarProps extends MuiAppBarProps {
9
- menu?: boolean;
10
- title?: string;
11
- search?: boolean;
12
- profile?: AppBarProfile;
13
- onClickSignOut: () => void;
14
- }
15
-
16
- export type AppBarComponent = FunctionComponent<AppBarProps>;
@@ -1,3 +0,0 @@
1
- export * from "./mini-app-bar";
2
- export * from "./mini-app-bar";
3
- export * from "./app-bar.types";
@@ -1 +0,0 @@
1
- export * from "./mini-app-bar";
@@ -1,31 +0,0 @@
1
- import { styled } from "@mui/material/styles";
2
- import { AppBar } from "../app-bar";
3
- import { AppBarProps } from "@mui/material";
4
- import { drawerWidth } from "../../drawer/drawer.mixins";
5
- import { AppBarComponent } from "../app-bar.types";
6
- import { useDrawer } from "../../drawer/drawer.context";
7
-
8
- export const MiniAppBar: AppBarComponent = styled(AppBar)<AppBarProps>(({ theme }) => {
9
- const { isOpen } = useDrawer();
10
-
11
- return {
12
- zIndex: theme.zIndex.drawer + 1,
13
- transition: theme.transitions.create(["width", "margin"], {
14
- easing: theme.transitions.easing.sharp,
15
- duration: theme.transitions.duration.leavingScreen,
16
- }),
17
- ...(isOpen && {
18
- marginLeft: drawerWidth,
19
- width: `calc(100% - ${drawerWidth}px)`,
20
- transition: theme.transitions.create(["width", "margin"], {
21
- easing: theme.transitions.easing.sharp,
22
- duration: theme.transitions.duration.enteringScreen,
23
- }),
24
- }),
25
- };
26
- });
27
-
28
- MiniAppBar.defaultProps = {
29
- position: "fixed",
30
- menu: true,
31
- };
@@ -1,43 +0,0 @@
1
- import { ComponentMeta } from "@storybook/react";
2
- import { createTemplate } from "../../storybook";
3
- import { Bullet } from "./bullet";
4
-
5
- export default {
6
- title: "Data Display/Bullet",
7
- component: Bullet,
8
- parameters: {
9
- layout: "centered",
10
- },
11
- } as ComponentMeta<typeof Bullet>;
12
-
13
- const Template = createTemplate(Bullet);
14
-
15
- export const Primary = Template.bind({});
16
- Primary.args = {
17
- variant: "primary",
18
- };
19
-
20
- export const Secondary = Template.bind({});
21
- Secondary.args = {
22
- variant: "secondary",
23
- };
24
-
25
- export const Default = Template.bind({});
26
- Default.args = {
27
- variant: "default",
28
- };
29
-
30
- export const Info = Template.bind({});
31
- Info.args = {
32
- variant: "info",
33
- };
34
-
35
- export const Warning = Template.bind({});
36
- Warning.args = {
37
- variant: "warning",
38
- };
39
-
40
- export const Error = Template.bind({});
41
- Error.args = {
42
- variant: "error",
43
- };
@@ -1,24 +0,0 @@
1
- import React from "react";
2
- import { Bullet, BulletVariant } from "./bullet";
3
- import { render, screen } from "../../tests";
4
-
5
- describe("Bullet", () => {
6
- const renderComponent = (variant: BulletVariant | undefined = undefined) => {
7
- return render(<Bullet variant={variant} />);
8
- };
9
-
10
- it("renders as primary without a variant", () => {
11
- renderComponent(undefined);
12
-
13
- expect(screen.getByRole("bullet")).toHaveAttribute("aria-describedby", "primary");
14
- });
15
-
16
- it.each([["primary"], ["secondary"], ["default"], ["info"], ["warning"], ["error"]])(
17
- "renders correctly with variant %s",
18
- (variant: string) => {
19
- renderComponent(variant as BulletVariant);
20
-
21
- expect(screen.getByRole("bullet")).toHaveAttribute("aria-describedby", variant);
22
- },
23
- );
24
- });