@pautena/react-design-system 0.0.1

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 (409) hide show
  1. package/.eslintrc.js +26 -0
  2. package/.github/workflows/ci.yml +23 -0
  3. package/.github/workflows/deploy-storybook.yaml +23 -0
  4. package/.github/workflows/publish.yml +31 -0
  5. package/.husky/pre-commit +5 -0
  6. package/.prettierignore +4 -0
  7. package/.prettierrc.js +5 -0
  8. package/.storybook/main.js +10 -0
  9. package/.storybook/preview.js +36 -0
  10. package/README.md +7 -0
  11. package/babel.config.js +3 -0
  12. package/dist/cjs/index.js +278 -0
  13. package/dist/cjs/index.js.map +1 -0
  14. package/dist/cjs/types/components/app-bar/app-bar.d.ts +2 -0
  15. package/dist/cjs/types/components/app-bar/app-bar.types.d.ts +13 -0
  16. package/dist/cjs/types/components/app-bar/index.d.ts +3 -0
  17. package/dist/cjs/types/components/app-bar/mini-app-bar/index.d.ts +1 -0
  18. package/dist/cjs/types/components/app-bar/mini-app-bar/mini-app-bar.d.ts +2 -0
  19. package/dist/cjs/types/components/bullet/bullet.d.ts +14 -0
  20. package/dist/cjs/types/components/bullet/index.d.ts +1 -0
  21. package/dist/cjs/types/components/center-container/center-container.d.ts +9 -0
  22. package/dist/cjs/types/components/center-container/index.d.ts +1 -0
  23. package/dist/cjs/types/components/drawer/drawer.context.d.ts +9 -0
  24. package/dist/cjs/types/components/drawer/drawer.d.ts +2 -0
  25. package/dist/cjs/types/components/drawer/drawer.mixins.d.ts +4 -0
  26. package/dist/cjs/types/components/drawer/drawer.mock.d.ts +3 -0
  27. package/dist/cjs/types/components/drawer/drawer.provider.d.ts +6 -0
  28. package/dist/cjs/types/components/drawer/drawer.types.d.ts +44 -0
  29. package/dist/cjs/types/components/drawer/index.d.ts +5 -0
  30. package/dist/cjs/types/components/drawer/mini-drawer/index.d.ts +1 -0
  31. package/dist/cjs/types/components/drawer/mini-drawer/mini-drawer.d.ts +1 -0
  32. package/dist/cjs/types/components/drawer-content/drawer-content.d.ts +5 -0
  33. package/dist/cjs/types/components/drawer-content/index.d.ts +1 -0
  34. package/dist/cjs/types/components/drawer-item/drawer-item.d.ts +33 -0
  35. package/dist/cjs/types/components/drawer-item/index.d.ts +1 -0
  36. package/dist/cjs/types/components/drawer-section/drawer-section.d.ts +16 -0
  37. package/dist/cjs/types/components/drawer-section/drawer-section.mock.d.ts +2 -0
  38. package/dist/cjs/types/components/drawer-section/index.d.ts +1 -0
  39. package/dist/cjs/types/components/header/header.d.ts +65 -0
  40. package/dist/cjs/types/components/header/header.dummy.d.ts +4 -0
  41. package/dist/cjs/types/components/header/index.d.ts +1 -0
  42. package/dist/cjs/types/components/index.d.ts +17 -0
  43. package/dist/cjs/types/components/label/index.d.ts +1 -0
  44. package/dist/cjs/types/components/label/label.d.ts +18 -0
  45. package/dist/cjs/types/components/link/index.d.ts +1 -0
  46. package/dist/cjs/types/components/link/link.d.ts +7 -0
  47. package/dist/cjs/types/components/loading-area/index.d.ts +1 -0
  48. package/dist/cjs/types/components/loading-area/loading-area.d.ts +4 -0
  49. package/dist/cjs/types/components/placeholder/index.d.ts +1 -0
  50. package/dist/cjs/types/components/placeholder/placeholder.d.ts +21 -0
  51. package/dist/cjs/types/components/placeholder/placeholder.mock.d.ts +2 -0
  52. package/dist/cjs/types/components/query-container/index.d.ts +1 -0
  53. package/dist/cjs/types/components/query-container/query-container.d.ts +39 -0
  54. package/dist/cjs/types/components/sign-in/index.d.ts +1 -0
  55. package/dist/cjs/types/components/sign-in/sign-in.d.ts +9 -0
  56. package/dist/cjs/types/components/tab/index.d.ts +3 -0
  57. package/dist/cjs/types/components/tab/tab-card/index.d.ts +1 -0
  58. package/dist/cjs/types/components/tab/tab-card/tab-card.d.ts +7 -0
  59. package/dist/cjs/types/components/tab/tab-card/tab-card.dummy.d.ts +7 -0
  60. package/dist/cjs/types/components/tab/tab-panel/index.d.ts +1 -0
  61. package/dist/cjs/types/components/tab/tab-panel/tab-panel.d.ts +7 -0
  62. package/dist/cjs/types/components/tab/tab.context.d.ts +4 -0
  63. package/dist/cjs/types/components/table/enhanced-remote-table/enhanced-remote-table.d.ts +13 -0
  64. package/dist/cjs/types/components/table/enhanced-remote-table/enhanced-remote-table.mock.d.ts +11 -0
  65. package/dist/cjs/types/components/table/enhanced-remote-table/index.d.ts +1 -0
  66. package/dist/cjs/types/components/table/enhanced-table/enhanced-table-head.d.ts +16 -0
  67. package/dist/cjs/types/components/table/enhanced-table/enhanced-table.d.ts +18 -0
  68. package/dist/cjs/types/components/table/enhanced-table/enhanced-table.mock.d.ts +17 -0
  69. package/dist/cjs/types/components/table/enhanced-table/index.d.ts +2 -0
  70. package/dist/cjs/types/components/table/index.d.ts +2 -0
  71. package/dist/cjs/types/components/table-list/index.d.ts +1 -0
  72. package/dist/cjs/types/components/table-list/table-list.d.ts +21 -0
  73. package/dist/cjs/types/components/value-displays/group-value-card/group-value-card.d.ts +15 -0
  74. package/dist/cjs/types/components/value-displays/group-value-card/group-value-card.mock.d.ts +1 -0
  75. package/dist/cjs/types/components/value-displays/group-value-card/index.d.ts +1 -0
  76. package/dist/cjs/types/components/value-displays/index.d.ts +4 -0
  77. package/dist/cjs/types/components/value-displays/value-boolean/index.d.ts +1 -0
  78. package/dist/cjs/types/components/value-displays/value-boolean/value-boolean.d.ts +14 -0
  79. package/dist/cjs/types/components/value-displays/value-card/index.d.ts +1 -0
  80. package/dist/cjs/types/components/value-displays/value-card/value-card.d.ts +6 -0
  81. package/dist/cjs/types/components/value-displays/value-text/index.d.ts +1 -0
  82. package/dist/cjs/types/components/value-displays/value-text/value-text.d.ts +14 -0
  83. package/dist/cjs/types/generators/generators.mock.d.ts +3 -0
  84. package/dist/cjs/types/generators/generators.model.d.ts +33 -0
  85. package/dist/cjs/types/generators/index.d.ts +4 -0
  86. package/dist/cjs/types/generators/model-form/index.d.ts +1 -0
  87. package/dist/cjs/types/generators/model-form/model-form.d.ts +8 -0
  88. package/dist/cjs/types/generators/model-router/index.d.ts +1 -0
  89. package/dist/cjs/types/generators/model-router/model-router.d.ts +35 -0
  90. package/dist/cjs/types/generators/model-router/screens/add-screen.d.ts +2 -0
  91. package/dist/cjs/types/generators/model-router/screens/details-screen.d.ts +2 -0
  92. package/dist/cjs/types/generators/model-router/screens/index.d.ts +4 -0
  93. package/dist/cjs/types/generators/model-router/screens/list-screen.d.ts +2 -0
  94. package/dist/cjs/types/generators/model-router/screens/update-screen.d.ts +2 -0
  95. package/dist/cjs/types/generators/object-details/index.d.ts +1 -0
  96. package/dist/cjs/types/generators/object-details/object-details.d.ts +6 -0
  97. package/dist/cjs/types/index.d.ts +4 -0
  98. package/dist/cjs/types/layouts/app-bar-with-drawer-layout/app-bar-with-drawer-layout.d.ts +10 -0
  99. package/dist/cjs/types/layouts/app-bar-with-drawer-layout/index.d.ts +1 -0
  100. package/dist/cjs/types/layouts/data-table-layout/data-table-layout.d.ts +12 -0
  101. package/dist/cjs/types/layouts/data-table-layout/index.d.ts +1 -0
  102. package/dist/cjs/types/layouts/details-layout/details-layout.d.ts +12 -0
  103. package/dist/cjs/types/layouts/details-layout/index.d.ts +1 -0
  104. package/dist/cjs/types/layouts/form-layout/form-layout.d.ts +8 -0
  105. package/dist/cjs/types/layouts/form-layout/index.d.ts +1 -0
  106. package/dist/cjs/types/layouts/header-layout/header-layout.d.ts +8 -0
  107. package/dist/cjs/types/layouts/header-layout/index.d.ts +1 -0
  108. package/dist/cjs/types/layouts/index.d.ts +7 -0
  109. package/dist/cjs/types/layouts/list-layout/index.d.ts +1 -0
  110. package/dist/cjs/types/layouts/list-layout/list-layout.d.ts +8 -0
  111. package/dist/cjs/types/layouts/tab-layout/index.d.ts +1 -0
  112. package/dist/cjs/types/layouts/tab-layout/tab-layout.d.ts +7 -0
  113. package/dist/cjs/types/providers/index.d.ts +1 -0
  114. package/dist/cjs/types/providers/notification-center/index.d.ts +1 -0
  115. package/dist/cjs/types/providers/notification-center/notification-center.context.d.ts +16 -0
  116. package/dist/cjs/types/providers/notification-center/notification-center.provider.d.ts +5 -0
  117. package/dist/cjs/types/utils/arrays.d.ts +5 -0
  118. package/dist/cjs/types/utils/arrays.test.d.ts +1 -0
  119. package/dist/cjs/types/utils/index.d.ts +2 -0
  120. package/dist/cjs/types/utils/theme.d.ts +4 -0
  121. package/dist/esm/index.js +278 -0
  122. package/dist/esm/index.js.map +1 -0
  123. package/dist/esm/types/components/app-bar/app-bar.d.ts +2 -0
  124. package/dist/esm/types/components/app-bar/app-bar.types.d.ts +13 -0
  125. package/dist/esm/types/components/app-bar/index.d.ts +3 -0
  126. package/dist/esm/types/components/app-bar/mini-app-bar/index.d.ts +1 -0
  127. package/dist/esm/types/components/app-bar/mini-app-bar/mini-app-bar.d.ts +2 -0
  128. package/dist/esm/types/components/bullet/bullet.d.ts +14 -0
  129. package/dist/esm/types/components/bullet/index.d.ts +1 -0
  130. package/dist/esm/types/components/center-container/center-container.d.ts +9 -0
  131. package/dist/esm/types/components/center-container/index.d.ts +1 -0
  132. package/dist/esm/types/components/drawer/drawer.context.d.ts +9 -0
  133. package/dist/esm/types/components/drawer/drawer.d.ts +2 -0
  134. package/dist/esm/types/components/drawer/drawer.mixins.d.ts +4 -0
  135. package/dist/esm/types/components/drawer/drawer.mock.d.ts +3 -0
  136. package/dist/esm/types/components/drawer/drawer.provider.d.ts +6 -0
  137. package/dist/esm/types/components/drawer/drawer.types.d.ts +44 -0
  138. package/dist/esm/types/components/drawer/index.d.ts +5 -0
  139. package/dist/esm/types/components/drawer/mini-drawer/index.d.ts +1 -0
  140. package/dist/esm/types/components/drawer/mini-drawer/mini-drawer.d.ts +1 -0
  141. package/dist/esm/types/components/drawer-content/drawer-content.d.ts +5 -0
  142. package/dist/esm/types/components/drawer-content/index.d.ts +1 -0
  143. package/dist/esm/types/components/drawer-item/drawer-item.d.ts +33 -0
  144. package/dist/esm/types/components/drawer-item/index.d.ts +1 -0
  145. package/dist/esm/types/components/drawer-section/drawer-section.d.ts +16 -0
  146. package/dist/esm/types/components/drawer-section/drawer-section.mock.d.ts +2 -0
  147. package/dist/esm/types/components/drawer-section/index.d.ts +1 -0
  148. package/dist/esm/types/components/header/header.d.ts +65 -0
  149. package/dist/esm/types/components/header/header.dummy.d.ts +4 -0
  150. package/dist/esm/types/components/header/index.d.ts +1 -0
  151. package/dist/esm/types/components/index.d.ts +17 -0
  152. package/dist/esm/types/components/label/index.d.ts +1 -0
  153. package/dist/esm/types/components/label/label.d.ts +18 -0
  154. package/dist/esm/types/components/link/index.d.ts +1 -0
  155. package/dist/esm/types/components/link/link.d.ts +7 -0
  156. package/dist/esm/types/components/loading-area/index.d.ts +1 -0
  157. package/dist/esm/types/components/loading-area/loading-area.d.ts +4 -0
  158. package/dist/esm/types/components/placeholder/index.d.ts +1 -0
  159. package/dist/esm/types/components/placeholder/placeholder.d.ts +21 -0
  160. package/dist/esm/types/components/placeholder/placeholder.mock.d.ts +2 -0
  161. package/dist/esm/types/components/query-container/index.d.ts +1 -0
  162. package/dist/esm/types/components/query-container/query-container.d.ts +39 -0
  163. package/dist/esm/types/components/sign-in/index.d.ts +1 -0
  164. package/dist/esm/types/components/sign-in/sign-in.d.ts +9 -0
  165. package/dist/esm/types/components/tab/index.d.ts +3 -0
  166. package/dist/esm/types/components/tab/tab-card/index.d.ts +1 -0
  167. package/dist/esm/types/components/tab/tab-card/tab-card.d.ts +7 -0
  168. package/dist/esm/types/components/tab/tab-card/tab-card.dummy.d.ts +7 -0
  169. package/dist/esm/types/components/tab/tab-panel/index.d.ts +1 -0
  170. package/dist/esm/types/components/tab/tab-panel/tab-panel.d.ts +7 -0
  171. package/dist/esm/types/components/tab/tab.context.d.ts +4 -0
  172. package/dist/esm/types/components/table/enhanced-remote-table/enhanced-remote-table.d.ts +13 -0
  173. package/dist/esm/types/components/table/enhanced-remote-table/enhanced-remote-table.mock.d.ts +11 -0
  174. package/dist/esm/types/components/table/enhanced-remote-table/index.d.ts +1 -0
  175. package/dist/esm/types/components/table/enhanced-table/enhanced-table-head.d.ts +16 -0
  176. package/dist/esm/types/components/table/enhanced-table/enhanced-table.d.ts +18 -0
  177. package/dist/esm/types/components/table/enhanced-table/enhanced-table.mock.d.ts +17 -0
  178. package/dist/esm/types/components/table/enhanced-table/index.d.ts +2 -0
  179. package/dist/esm/types/components/table/index.d.ts +2 -0
  180. package/dist/esm/types/components/table-list/index.d.ts +1 -0
  181. package/dist/esm/types/components/table-list/table-list.d.ts +21 -0
  182. package/dist/esm/types/components/value-displays/group-value-card/group-value-card.d.ts +15 -0
  183. package/dist/esm/types/components/value-displays/group-value-card/group-value-card.mock.d.ts +1 -0
  184. package/dist/esm/types/components/value-displays/group-value-card/index.d.ts +1 -0
  185. package/dist/esm/types/components/value-displays/index.d.ts +4 -0
  186. package/dist/esm/types/components/value-displays/value-boolean/index.d.ts +1 -0
  187. package/dist/esm/types/components/value-displays/value-boolean/value-boolean.d.ts +14 -0
  188. package/dist/esm/types/components/value-displays/value-card/index.d.ts +1 -0
  189. package/dist/esm/types/components/value-displays/value-card/value-card.d.ts +6 -0
  190. package/dist/esm/types/components/value-displays/value-text/index.d.ts +1 -0
  191. package/dist/esm/types/components/value-displays/value-text/value-text.d.ts +14 -0
  192. package/dist/esm/types/generators/generators.mock.d.ts +3 -0
  193. package/dist/esm/types/generators/generators.model.d.ts +33 -0
  194. package/dist/esm/types/generators/index.d.ts +4 -0
  195. package/dist/esm/types/generators/model-form/index.d.ts +1 -0
  196. package/dist/esm/types/generators/model-form/model-form.d.ts +8 -0
  197. package/dist/esm/types/generators/model-router/index.d.ts +1 -0
  198. package/dist/esm/types/generators/model-router/model-router.d.ts +35 -0
  199. package/dist/esm/types/generators/model-router/screens/add-screen.d.ts +2 -0
  200. package/dist/esm/types/generators/model-router/screens/details-screen.d.ts +2 -0
  201. package/dist/esm/types/generators/model-router/screens/index.d.ts +4 -0
  202. package/dist/esm/types/generators/model-router/screens/list-screen.d.ts +2 -0
  203. package/dist/esm/types/generators/model-router/screens/update-screen.d.ts +2 -0
  204. package/dist/esm/types/generators/object-details/index.d.ts +1 -0
  205. package/dist/esm/types/generators/object-details/object-details.d.ts +6 -0
  206. package/dist/esm/types/index.d.ts +4 -0
  207. package/dist/esm/types/layouts/app-bar-with-drawer-layout/app-bar-with-drawer-layout.d.ts +10 -0
  208. package/dist/esm/types/layouts/app-bar-with-drawer-layout/index.d.ts +1 -0
  209. package/dist/esm/types/layouts/data-table-layout/data-table-layout.d.ts +12 -0
  210. package/dist/esm/types/layouts/data-table-layout/index.d.ts +1 -0
  211. package/dist/esm/types/layouts/details-layout/details-layout.d.ts +12 -0
  212. package/dist/esm/types/layouts/details-layout/index.d.ts +1 -0
  213. package/dist/esm/types/layouts/form-layout/form-layout.d.ts +8 -0
  214. package/dist/esm/types/layouts/form-layout/index.d.ts +1 -0
  215. package/dist/esm/types/layouts/header-layout/header-layout.d.ts +8 -0
  216. package/dist/esm/types/layouts/header-layout/index.d.ts +1 -0
  217. package/dist/esm/types/layouts/index.d.ts +7 -0
  218. package/dist/esm/types/layouts/list-layout/index.d.ts +1 -0
  219. package/dist/esm/types/layouts/list-layout/list-layout.d.ts +8 -0
  220. package/dist/esm/types/layouts/tab-layout/index.d.ts +1 -0
  221. package/dist/esm/types/layouts/tab-layout/tab-layout.d.ts +7 -0
  222. package/dist/esm/types/providers/index.d.ts +1 -0
  223. package/dist/esm/types/providers/notification-center/index.d.ts +1 -0
  224. package/dist/esm/types/providers/notification-center/notification-center.context.d.ts +16 -0
  225. package/dist/esm/types/providers/notification-center/notification-center.provider.d.ts +5 -0
  226. package/dist/esm/types/utils/arrays.d.ts +5 -0
  227. package/dist/esm/types/utils/arrays.test.d.ts +1 -0
  228. package/dist/esm/types/utils/index.d.ts +2 -0
  229. package/dist/esm/types/utils/theme.d.ts +4 -0
  230. package/dist/index.d.ts +594 -0
  231. package/jest.config.js +14 -0
  232. package/jest.setup.ts +5 -0
  233. package/package.json +98 -0
  234. package/rollup.config.js +40 -0
  235. package/src/components/app-bar/app-bar.stories.tsx +54 -0
  236. package/src/components/app-bar/app-bar.test.tsx +142 -0
  237. package/src/components/app-bar/app-bar.tsx +150 -0
  238. package/src/components/app-bar/app-bar.types.ts +16 -0
  239. package/src/components/app-bar/index.ts +3 -0
  240. package/src/components/app-bar/mini-app-bar/index.ts +1 -0
  241. package/src/components/app-bar/mini-app-bar/mini-app-bar.tsx +31 -0
  242. package/src/components/bullet/bullet.stories.tsx +43 -0
  243. package/src/components/bullet/bullet.test.tsx +24 -0
  244. package/src/components/bullet/bullet.tsx +30 -0
  245. package/src/components/bullet/index.ts +1 -0
  246. package/src/components/center-container/center-container.stories.tsx +50 -0
  247. package/src/components/center-container/center-container.test.tsx +16 -0
  248. package/src/components/center-container/center-container.tsx +32 -0
  249. package/src/components/center-container/index.ts +1 -0
  250. package/src/components/drawer/__snapshots__/drawer.test.tsx.snap +20 -0
  251. package/src/components/drawer/drawer.context.ts +20 -0
  252. package/src/components/drawer/drawer.mixins.ts +24 -0
  253. package/src/components/drawer/drawer.mock.tsx +100 -0
  254. package/src/components/drawer/drawer.provider.tsx +23 -0
  255. package/src/components/drawer/drawer.test.tsx +97 -0
  256. package/src/components/drawer/drawer.tsx +30 -0
  257. package/src/components/drawer/drawer.types.ts +53 -0
  258. package/src/components/drawer/index.ts +5 -0
  259. package/src/components/drawer/mini-drawer/index.ts +1 -0
  260. package/src/components/drawer/mini-drawer/mini-drawer.stories.tsx +34 -0
  261. package/src/components/drawer/mini-drawer/mini-drawer.tsx +67 -0
  262. package/src/components/drawer-content/drawer-content.stories.tsx +29 -0
  263. package/src/components/drawer-content/drawer-content.test.tsx +34 -0
  264. package/src/components/drawer-content/drawer-content.tsx +18 -0
  265. package/src/components/drawer-content/index.ts +1 -0
  266. package/src/components/drawer-item/drawer-item.stories.tsx +62 -0
  267. package/src/components/drawer-item/drawer-item.test.tsx +119 -0
  268. package/src/components/drawer-item/drawer-item.tsx +69 -0
  269. package/src/components/drawer-item/index.ts +1 -0
  270. package/src/components/drawer-section/drawer-section.mock.tsx +39 -0
  271. package/src/components/drawer-section/drawer-section.stories.tsx +28 -0
  272. package/src/components/drawer-section/drawer-section.test.tsx +44 -0
  273. package/src/components/drawer-section/drawer-section.tsx +40 -0
  274. package/src/components/drawer-section/index.ts +1 -0
  275. package/src/components/header/header.dummy.ts +55 -0
  276. package/src/components/header/header.stories.tsx +116 -0
  277. package/src/components/header/header.test.tsx +167 -0
  278. package/src/components/header/header.tsx +185 -0
  279. package/src/components/header/index.ts +1 -0
  280. package/src/components/index.ts +17 -0
  281. package/src/components/label/index.ts +1 -0
  282. package/src/components/label/label.stories.tsx +49 -0
  283. package/src/components/label/label.test.tsx +30 -0
  284. package/src/components/label/label.tsx +60 -0
  285. package/src/components/link/index.ts +1 -0
  286. package/src/components/link/link.tsx +17 -0
  287. package/src/components/loading-area/index.ts +1 -0
  288. package/src/components/loading-area/loading-area.stories.tsx +17 -0
  289. package/src/components/loading-area/loading-area.test.tsx +11 -0
  290. package/src/components/loading-area/loading-area.tsx +13 -0
  291. package/src/components/placeholder/index.ts +1 -0
  292. package/src/components/placeholder/placeholder.mock.ts +15 -0
  293. package/src/components/placeholder/placeholder.stories.tsx +44 -0
  294. package/src/components/placeholder/placeholder.test.tsx +76 -0
  295. package/src/components/placeholder/placeholder.tsx +75 -0
  296. package/src/components/query-container/index.ts +1 -0
  297. package/src/components/query-container/query-container.stories.tsx +68 -0
  298. package/src/components/query-container/query-container.test.tsx +95 -0
  299. package/src/components/query-container/query-container.tsx +71 -0
  300. package/src/components/sign-in/index.ts +1 -0
  301. package/src/components/sign-in/sign-in.stories.tsx +36 -0
  302. package/src/components/sign-in/sign-in.test.tsx +95 -0
  303. package/src/components/sign-in/sign-in.tsx +97 -0
  304. package/src/components/tab/index.ts +3 -0
  305. package/src/components/tab/tab-card/index.ts +1 -0
  306. package/src/components/tab/tab-card/tab-card.dummy.tsx +27 -0
  307. package/src/components/tab/tab-card/tab-card.stories.tsx +22 -0
  308. package/src/components/tab/tab-card/tab-card.test.tsx +53 -0
  309. package/src/components/tab/tab-card/tab-card.tsx +30 -0
  310. package/src/components/tab/tab-panel/index.ts +1 -0
  311. package/src/components/tab/tab-panel/tab-panel.test.tsx +26 -0
  312. package/src/components/tab/tab-panel/tab-panel.tsx +27 -0
  313. package/src/components/tab/tab.context.ts +5 -0
  314. package/src/components/table/enhanced-remote-table/enhanced-remote-table.mock.tsx +27 -0
  315. package/src/components/table/enhanced-remote-table/enhanced-remote-table.stories.tsx +24 -0
  316. package/src/components/table/enhanced-remote-table/enhanced-remote-table.test.tsx +77 -0
  317. package/src/components/table/enhanced-remote-table/enhanced-remote-table.tsx +74 -0
  318. package/src/components/table/enhanced-remote-table/index.ts +1 -0
  319. package/src/components/table/enhanced-table/enhanced-table-head.tsx +58 -0
  320. package/src/components/table/enhanced-table/enhanced-table.mock.tsx +93 -0
  321. package/src/components/table/enhanced-table/enhanced-table.stories.tsx +21 -0
  322. package/src/components/table/enhanced-table/enhanced-table.test.tsx +107 -0
  323. package/src/components/table/enhanced-table/enhanced-table.tsx +136 -0
  324. package/src/components/table/enhanced-table/index.ts +2 -0
  325. package/src/components/table/index.ts +2 -0
  326. package/src/components/table-list/index.ts +1 -0
  327. package/src/components/table-list/table-list.stories.tsx +75 -0
  328. package/src/components/table-list/table-list.test.tsx +283 -0
  329. package/src/components/table-list/table-list.tsx +131 -0
  330. package/src/components/value-displays/group-value-card/group-value-card.mock.tsx +35 -0
  331. package/src/components/value-displays/group-value-card/group-value-card.stories.tsx +26 -0
  332. package/src/components/value-displays/group-value-card/group-value-card.test.tsx +58 -0
  333. package/src/components/value-displays/group-value-card/group-value-card.tsx +65 -0
  334. package/src/components/value-displays/group-value-card/index.ts +1 -0
  335. package/src/components/value-displays/index.ts +4 -0
  336. package/src/components/value-displays/value-boolean/index.ts +1 -0
  337. package/src/components/value-displays/value-boolean/value-boolean.stories.tsx +25 -0
  338. package/src/components/value-displays/value-boolean/value-boolean.test.tsx +27 -0
  339. package/src/components/value-displays/value-boolean/value-boolean.tsx +33 -0
  340. package/src/components/value-displays/value-card/index.ts +1 -0
  341. package/src/components/value-displays/value-card/value-card.stories.tsx +22 -0
  342. package/src/components/value-displays/value-card/value-card.test.tsx +18 -0
  343. package/src/components/value-displays/value-card/value-card.tsx +12 -0
  344. package/src/components/value-displays/value-text/index.ts +1 -0
  345. package/src/components/value-displays/value-text/value-test.test.tsx +21 -0
  346. package/src/components/value-displays/value-text/value-text.stories.tsx +26 -0
  347. package/src/components/value-displays/value-text/value-text.tsx +32 -0
  348. package/src/generators/generators.mock.ts +215 -0
  349. package/src/generators/generators.model.ts +41 -0
  350. package/src/generators/index.ts +4 -0
  351. package/src/generators/model-form/index.ts +1 -0
  352. package/src/generators/model-form/model-form.stories.tsx +30 -0
  353. package/src/generators/model-form/model-form.test.tsx +98 -0
  354. package/src/generators/model-form/model-form.tsx +97 -0
  355. package/src/generators/model-router/index.ts +1 -0
  356. package/src/generators/model-router/model-router.stories.tsx +160 -0
  357. package/src/generators/model-router/model-router.test.tsx +633 -0
  358. package/src/generators/model-router/model-router.tsx +54 -0
  359. package/src/generators/model-router/screens/add-screen.tsx +52 -0
  360. package/src/generators/model-router/screens/details-screen.tsx +53 -0
  361. package/src/generators/model-router/screens/index.ts +4 -0
  362. package/src/generators/model-router/screens/list-screen.tsx +81 -0
  363. package/src/generators/model-router/screens/update-screen.tsx +62 -0
  364. package/src/generators/object-details/index.ts +1 -0
  365. package/src/generators/object-details/object-details.stories.tsx +20 -0
  366. package/src/generators/object-details/object-details.test.tsx +21 -0
  367. package/src/generators/object-details/object-details.tsx +70 -0
  368. package/src/index.ts +4 -0
  369. package/src/layouts/app-bar-with-drawer-layout/app-bar-with-drawer-layout.stories.tsx +29 -0
  370. package/src/layouts/app-bar-with-drawer-layout/app-bar-with-drawer-layout.tsx +34 -0
  371. package/src/layouts/app-bar-with-drawer-layout/index.ts +1 -0
  372. package/src/layouts/data-table-layout/data-table-layout.stories.tsx +94 -0
  373. package/src/layouts/data-table-layout/data-table-layout.tsx +30 -0
  374. package/src/layouts/data-table-layout/index.ts +1 -0
  375. package/src/layouts/details-layout/details-layout.stories.tsx +81 -0
  376. package/src/layouts/details-layout/details-layout.tsx +33 -0
  377. package/src/layouts/details-layout/index.ts +1 -0
  378. package/src/layouts/form-layout/form-layout.stories.tsx +65 -0
  379. package/src/layouts/form-layout/form-layout.tsx +18 -0
  380. package/src/layouts/form-layout/index.ts +1 -0
  381. package/src/layouts/header-layout/header-layout.stories.tsx +68 -0
  382. package/src/layouts/header-layout/header-layout.tsx +24 -0
  383. package/src/layouts/header-layout/index.ts +1 -0
  384. package/src/layouts/index.ts +7 -0
  385. package/src/layouts/list-layout/index.ts +1 -0
  386. package/src/layouts/list-layout/list-layout.stories.tsx +102 -0
  387. package/src/layouts/list-layout/list-layout.tsx +36 -0
  388. package/src/layouts/tab-layout/index.ts +1 -0
  389. package/src/layouts/tab-layout/tab-layout.stories.tsx +88 -0
  390. package/src/layouts/tab-layout/tab-layout.tsx +11 -0
  391. package/src/providers/index.ts +1 -0
  392. package/src/providers/notification-center/index.ts +1 -0
  393. package/src/providers/notification-center/notification-center.context.ts +37 -0
  394. package/src/providers/notification-center/notification-center.provider.tsx +51 -0
  395. package/src/providers/notification-center/notification-center.stories.tsx +52 -0
  396. package/src/providers/notification-center/notification-center.test.tsx +112 -0
  397. package/src/storybook.tsx +56 -0
  398. package/src/tests/assertions.ts +72 -0
  399. package/src/tests/components.tsx +60 -0
  400. package/src/tests/content-placeholder.stories.tsx +16 -0
  401. package/src/tests/index.ts +3 -0
  402. package/src/tests/skeleton-card.stories.tsx +18 -0
  403. package/src/tests/testing-library.tsx +65 -0
  404. package/src/utils/arrays.test.ts +9 -0
  405. package/src/utils/arrays.ts +7 -0
  406. package/src/utils/index.ts +2 -0
  407. package/src/utils/theme.ts +6 -0
  408. package/tsconfig.json +27 -0
  409. package/tsconfig.rollup.json +26 -0
@@ -0,0 +1,594 @@
1
+ /// <reference types="react" />
2
+ import * as _mui_material from '@mui/material';
3
+ import { PropTypes, LinkProps as LinkProps$1, AppBarProps as AppBarProps$1, DrawerProps as DrawerProps$1, SxProps, Theme, GridProps } from '@mui/material';
4
+ import * as _mui_material_OverridableComponent from '@mui/material/OverridableComponent';
5
+ import * as React from 'react';
6
+ import React__default, { PropsWithChildren, ReactNode, FunctionComponent, ReactElement } from 'react';
7
+ import { LinkProps } from 'react-router-dom';
8
+ import * as _emotion_styled from '@emotion/styled';
9
+ import * as _mui_system from '@mui/system';
10
+ import { DataGridProps } from '@mui/x-data-grid';
11
+
12
+ declare type HeaderPreset = PropTypes.Color | "transparent";
13
+ declare type HeaderActionVariant = "text" | "outlined" | "contained";
14
+ declare type HeaderAction = {
15
+ id: string;
16
+ text: string;
17
+ disabled?: boolean;
18
+ href?: string;
19
+ onClick?: () => void;
20
+ };
21
+ interface HeaderBreadcrumb {
22
+ id: string;
23
+ text: string;
24
+ link: string;
25
+ }
26
+ interface HeaderTab {
27
+ id: string;
28
+ label: string;
29
+ disabled?: boolean;
30
+ }
31
+ declare type HeaderProps = {
32
+ /**
33
+ * Title of the header
34
+ */
35
+ title: string;
36
+ /**
37
+ * Subtitle of the header
38
+ */
39
+ subtitle?: string;
40
+ /**
41
+ * Color palete used to render the component
42
+ */
43
+ preset: HeaderPreset;
44
+ /**
45
+ * List of breadcumbs to represent the path to reach
46
+ * the page that we are
47
+ */
48
+ breadcrumbs?: HeaderBreadcrumb[];
49
+ /**
50
+ * List of actions that can be performed by the user.
51
+ * Each action will be a button in the header.
52
+ */
53
+ actions?: HeaderAction[];
54
+ /**
55
+ * Variant used to render the actions
56
+ */
57
+ actionsVariant?: HeaderActionVariant;
58
+ /**
59
+ * If is set, a list of tabs is dispayed at the bottom
60
+ */
61
+ tabs?: HeaderTab[];
62
+ /**
63
+ * Tab that has to be marked as selected
64
+ */
65
+ selectedTab?: number;
66
+ /**
67
+ * Callback executed when the user click a tab
68
+ */
69
+ onChangeTab?: (tab: HeaderTab, index: number) => void;
70
+ };
71
+ /**
72
+ * Section used to explain give basic information about the page
73
+ * and put the main actions
74
+ */
75
+ declare const Header: ({ title, subtitle, preset, actionsVariant, breadcrumbs, actions, tabs, selectedTab, onChangeTab, }: HeaderProps) => JSX.Element;
76
+
77
+ declare const LinkBehaviour: React__default.ForwardRefExoticComponent<Omit<LinkProps, "to"> & {
78
+ href: LinkProps["to"];
79
+ } & React__default.RefAttributes<any>>;
80
+ declare const Link: React__default.ForwardRefExoticComponent<Pick<LinkProps$1<"a", {}>, "href" | "download" | "hrefLang" | "media" | "ping" | "rel" | "target" | "type" | "referrerPolicy" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "slot" | "spellCheck" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | keyof _mui_material_OverridableComponent.CommonProps | "border" | "borderTop" | "borderRight" | "borderBottom" | "borderLeft" | "borderColor" | "borderRadius" | "display" | "displayPrint" | "overflow" | "textOverflow" | "visibility" | "whiteSpace" | "flexBasis" | "flexDirection" | "flexWrap" | "justifyContent" | "alignItems" | "alignContent" | "order" | "flex" | "flexGrow" | "flexShrink" | "alignSelf" | "justifyItems" | "justifySelf" | "gap" | "columnGap" | "rowGap" | "gridColumn" | "gridRow" | "gridAutoFlow" | "gridAutoColumns" | "gridAutoRows" | "gridTemplateColumns" | "gridTemplateRows" | "gridTemplateAreas" | "gridArea" | "bgcolor" | "zIndex" | "position" | "top" | "right" | "bottom" | "left" | "boxShadow" | "width" | "maxWidth" | "minWidth" | "height" | "maxHeight" | "minHeight" | "boxSizing" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "my" | "p" | "pt" | "pr" | "pb" | "pl" | "px" | "py" | "margin" | "marginTop" | "marginRight" | "marginBottom" | "marginLeft" | "marginX" | "marginY" | "padding" | "paddingTop" | "paddingRight" | "paddingBottom" | "paddingLeft" | "paddingX" | "paddingY" | "typography" | "fontFamily" | "fontSize" | "fontStyle" | "fontWeight" | "letterSpacing" | "lineHeight" | "textAlign" | "textTransform" | "align" | "gutterBottom" | "noWrap" | "paragraph" | "sx" | "variant" | "variantMapping" | "key" | "TypographyClasses" | "underline"> & React__default.RefAttributes<any>>;
81
+
82
+ interface QueryContainerError {
83
+ /**
84
+ * The error title
85
+ */
86
+ name?: string;
87
+ /**
88
+ * The description of the error
89
+ */
90
+ message: string;
91
+ }
92
+ interface QueryContainerSuccess {
93
+ /**
94
+ * The success title
95
+ */
96
+ name?: string;
97
+ /**
98
+ * The success text
99
+ */
100
+ message: string;
101
+ }
102
+ declare type QueryContainerProps = PropsWithChildren<{
103
+ /**
104
+ * There is a query in progress
105
+ */
106
+ isFetching: boolean;
107
+ /**
108
+ * The query has returned an error
109
+ */
110
+ error?: QueryContainerError;
111
+ /**
112
+ * The query has finished successfully
113
+ */
114
+ success?: QueryContainerSuccess;
115
+ }>;
116
+ /**
117
+ * Component to show different indicators based on the usual api query statuses
118
+ */
119
+ declare function QueryContainer({ isFetching, error, success, children }: QueryContainerProps): JSX.Element;
120
+
121
+ interface Props$9 {
122
+ title: string;
123
+ subtitle: string;
124
+ error?: Error;
125
+ loading?: boolean;
126
+ onSubmitSignIn: (email: string, password: string) => void;
127
+ }
128
+ declare function SignIn({ title, subtitle, loading, error, onSubmitSignIn }: Props$9): JSX.Element;
129
+
130
+ interface TabPanelProps {
131
+ children?: React__default.ReactNode;
132
+ index: number | number[];
133
+ }
134
+ declare function TabPanel({ children, index }: TabPanelProps): JSX.Element;
135
+
136
+ interface Props$8 {
137
+ tabs: string[];
138
+ initialTab?: number;
139
+ }
140
+ declare const TabCard: ({ children, tabs, initialTab }: PropsWithChildren<Props$8>) => JSX.Element;
141
+
142
+ declare const TabContext: React.Context<number>;
143
+ declare const TabContextProvider: React.Provider<number>;
144
+ declare const useTab: () => number;
145
+
146
+ declare type Order = "asc" | "desc";
147
+ interface HeadCell {
148
+ disablePadding: boolean;
149
+ id: string;
150
+ label: string;
151
+ numeric: boolean;
152
+ sort: boolean;
153
+ }
154
+ interface Props$7 {
155
+ onRequestSort: (property: string) => void;
156
+ order: Order;
157
+ orderBy: string;
158
+ headCells: HeadCell[];
159
+ }
160
+ declare function EnhancedTableHead({ order, orderBy, headCells, onRequestSort }: Props$7): JSX.Element;
161
+
162
+ interface Props$6<T> {
163
+ readonly data: T[];
164
+ search?: boolean;
165
+ defaultSort: string;
166
+ defaultOrder?: Order;
167
+ loading?: boolean;
168
+ columns: HeadCell[];
169
+ children: (data: T[]) => ReactNode;
170
+ }
171
+ declare const EnhancedTable: {
172
+ <T>({ children, data, search, columns, defaultSort, defaultOrder, loading, }: Props$6<T>): JSX.Element;
173
+ defaultProps: {
174
+ defaultOrder: string;
175
+ };
176
+ };
177
+
178
+ interface Props$5<T> {
179
+ data: T[];
180
+ loading: boolean;
181
+ defaultSort: string;
182
+ defaultOrder?: Order;
183
+ columns: HeadCell[];
184
+ children: (data: T, index: number) => ReactNode;
185
+ onRequestSort: (col: string, orderBy: "asc" | "desc") => void;
186
+ }
187
+ declare const EnhancedRemoteTable: <T>({ children, data, loading, columns, defaultSort, defaultOrder, onRequestSort, }: Props$5<T>) => JSX.Element;
188
+
189
+ interface AppBarProfile {
190
+ name: string;
191
+ }
192
+ interface AppBarProps extends AppBarProps$1 {
193
+ menu?: boolean;
194
+ title?: string;
195
+ search?: boolean;
196
+ profile?: AppBarProfile;
197
+ onClickSignOut: () => void;
198
+ }
199
+ declare type AppBarComponent = FunctionComponent<AppBarProps>;
200
+
201
+ declare const MiniAppBar: AppBarComponent;
202
+
203
+ declare type BulletVariant = "primary" | "secondary" | "default" | "info" | "warning" | "error";
204
+ declare const bulletClasses: {
205
+ root: string;
206
+ };
207
+ interface BulletProps {
208
+ /**
209
+ * Color palette used to draw the component
210
+ */
211
+ variant?: BulletVariant;
212
+ }
213
+ /**
214
+ * Dot to attract the user attention
215
+ */
216
+ declare const Bullet: ({ variant }: BulletProps) => JSX.Element;
217
+
218
+ declare type LabelVariant = "primary" | "secondary" | "default" | "info" | "warning" | "error";
219
+ declare const labelClasses: {
220
+ root: string;
221
+ };
222
+ interface LabelProps {
223
+ /**
224
+ * Content of the component
225
+ */
226
+ text: string;
227
+ /**
228
+ * Color palette used to draw the component
229
+ */
230
+ variant?: LabelVariant;
231
+ }
232
+ /**
233
+ * Compact element to represent a text
234
+ */
235
+ declare const Label: ({ text, variant }: LabelProps) => JSX.Element;
236
+
237
+ interface NavItemAvatar {
238
+ src: string;
239
+ alt: string;
240
+ }
241
+ interface NavItemLabel {
242
+ text: string;
243
+ variant: LabelVariant;
244
+ }
245
+ interface NavItemBullet {
246
+ variant: BulletVariant;
247
+ }
248
+ interface NavItem {
249
+ id: string;
250
+ text: string;
251
+ href: string;
252
+ icon?: ReactElement;
253
+ avatar?: NavItemAvatar;
254
+ label?: NavItemLabel;
255
+ bullet?: NavItemBullet;
256
+ }
257
+ interface NavSection {
258
+ title?: string;
259
+ items: NavItem[];
260
+ }
261
+ interface Nav {
262
+ items: NavSection[];
263
+ }
264
+ interface DrawerContentProps {
265
+ /**
266
+ * Object with the content that has to be rendered
267
+ */
268
+ nav: Nav;
269
+ }
270
+ declare type DrawerContentComponent = FunctionComponent<DrawerContentProps>;
271
+ declare type DrawerContentElement = ReactElement<DrawerContentProps, DrawerContentComponent>;
272
+ interface DrawerProps extends DrawerProps$1 {
273
+ children: DrawerContentElement;
274
+ }
275
+ declare type DrawerComponent = FunctionComponent<DrawerProps>;
276
+ declare type DrawerElement = ReactElement<DrawerProps, DrawerComponent>;
277
+
278
+ declare const Drawer: DrawerComponent;
279
+
280
+ declare const MiniDrawer: _emotion_styled.StyledComponent<DrawerProps & _mui_system.MUIStyledCommonProps<_mui_material.Theme>, {}, {}>;
281
+
282
+ declare type Props$4 = PropsWithChildren<{
283
+ initialOpen?: boolean;
284
+ }>;
285
+ declare const DrawerProvider: ({ children, initialOpen }: Props$4) => JSX.Element;
286
+
287
+ interface DrawerContextProps {
288
+ isOpen: boolean;
289
+ close(): void;
290
+ open(): void;
291
+ }
292
+ declare const DrawerContext: React.Context<DrawerContextProps | undefined>;
293
+ declare const UndefinedProvider: Error;
294
+ declare const useDrawer: () => DrawerContextProps;
295
+
296
+ interface BasicData {
297
+ id: string;
298
+ [key: string]: any;
299
+ }
300
+ interface TableRowOption<T extends BasicData> {
301
+ id: string;
302
+ label: string;
303
+ onClick: (item: T) => void;
304
+ }
305
+ interface TableListProps<T extends BasicData> {
306
+ columns: HeadCell[];
307
+ data: T[];
308
+ search?: boolean;
309
+ defaultSort: string;
310
+ defaultOrder?: Order;
311
+ loading?: boolean;
312
+ options?: TableRowOption<T>[];
313
+ onClick?: (d: T) => void;
314
+ }
315
+ declare const TableList: <T extends BasicData>({ columns: columnsProp, options, data, onClick, search, defaultSort, defaultOrder, loading, }: TableListProps<T>) => JSX.Element;
316
+
317
+ declare type IconColor = "inherit" | "action" | "disabled" | "primary" | "secondary" | "error" | "info" | "success" | "warning";
318
+ interface PlaceholderAction {
319
+ id: string;
320
+ text: string;
321
+ href?: string;
322
+ onClick?: () => void;
323
+ }
324
+ interface PlaceholderIconArgs {
325
+ size: number;
326
+ color: IconColor;
327
+ }
328
+ interface PlaceholderProps {
329
+ title: string;
330
+ subtitle: string;
331
+ iconSize?: number;
332
+ icon?: ({ size, color }: PlaceholderIconArgs) => ReactElement;
333
+ actions?: PlaceholderAction[];
334
+ }
335
+ declare const Placeholder: ({ title, subtitle, icon, iconSize, actions, }: PlaceholderProps) => JSX.Element;
336
+
337
+ /**
338
+ * Content to be shown inside a navigation
339
+ */
340
+ declare const DrawerContent: DrawerContentComponent;
341
+
342
+ interface DrawerSectionProps {
343
+ /**
344
+ * Section title
345
+ */
346
+ title?: string;
347
+ /**
348
+ * List of items of that section
349
+ */
350
+ items: NavItem[];
351
+ }
352
+ /**
353
+ * Render a group of items inside the drawer
354
+ * with an optional title
355
+ */
356
+ declare const DrawerSection: ({ title, items }: DrawerSectionProps) => JSX.Element;
357
+
358
+ interface DrawerItemProps {
359
+ /**
360
+ * Text displayed inside the item
361
+ */
362
+ text: string;
363
+ /**
364
+ * Url where the user is going to be redirected
365
+ * if the item is clicked
366
+ */
367
+ href: string;
368
+ /**
369
+ * Icon displayed to the left
370
+ */
371
+ icon?: ReactElement;
372
+ /**
373
+ * Avatar displayed to the left
374
+ */
375
+ avatar?: NavItemAvatar;
376
+ /**
377
+ * Label with extra info displayed to the right
378
+ */
379
+ label?: NavItemLabel;
380
+ /**
381
+ * Bullet to attract the user attention displyed to the right
382
+ */
383
+ bullet?: NavItemBullet;
384
+ }
385
+ /**
386
+ * Clicable item inside a drawer
387
+ */
388
+ declare const DrawerItem: ({ text, icon, avatar, label, bullet, href }: DrawerItemProps) => JSX.Element;
389
+
390
+ interface CenterContainerProps {
391
+ children: ReactNode | undefined;
392
+ centerVertical?: boolean;
393
+ centerHorizontal?: boolean;
394
+ sx?: SxProps<Theme>;
395
+ }
396
+ declare function CenterContainer({ children, centerVertical, centerHorizontal, sx, }: CenterContainerProps): JSX.Element;
397
+
398
+ interface ValueTextProps {
399
+ /**
400
+ * Name of the displayed value
401
+ */
402
+ label: string;
403
+ /**
404
+ * Value displayed
405
+ */
406
+ value: string;
407
+ }
408
+ /**
409
+ * Displays a string value with a label
410
+ */
411
+ declare const ValueText: ({ label, value }: ValueTextProps) => JSX.Element;
412
+
413
+ declare type ValueCardProps = PropsWithChildren;
414
+ /**
415
+ * Container to show a labeled value
416
+ */
417
+ declare const ValueCard: ({ children }: ValueCardProps) => JSX.Element;
418
+
419
+ interface ValueBooleanProps {
420
+ /**
421
+ * Name of the displayed value
422
+ */
423
+ label: string;
424
+ /**
425
+ * Value displayed
426
+ */
427
+ value: boolean;
428
+ }
429
+ /**
430
+ * Displays a boolean value with a label
431
+ */
432
+ declare const ValueBoolean: ({ label, value }: ValueBooleanProps) => JSX.Element;
433
+
434
+ declare type GroupValueItemProps = PropsWithChildren<Omit<GridProps, "item" | "container">>;
435
+ declare type GroupValueItemComponent = FunctionComponent<GroupValueItemProps>;
436
+ declare type GroupValueItemElement = ReactElement<GroupValueItemProps, GroupValueItemComponent>;
437
+ declare const groupValueItemClasses: {
438
+ root: string;
439
+ };
440
+ declare const GroupValueItem: GroupValueItemComponent;
441
+ interface GroupValueCardProps {
442
+ title: string;
443
+ subtitle?: string;
444
+ children: GroupValueItemElement | GroupValueItemElement[];
445
+ }
446
+ declare const GroupValueCard: ({ title, subtitle, children }: GroupValueCardProps) => JSX.Element;
447
+
448
+ declare const newArrayWithSize: <T>(size: number, fillValue: T) => any[];
449
+ declare const getRandomItem: <T>(items: T[]) => {
450
+ index: number;
451
+ item: T;
452
+ };
453
+
454
+ declare const useGetDefaultThemeColor: ({ lightWeight, darkWeight }?: {
455
+ lightWeight?: number | undefined;
456
+ darkWeight?: number | undefined;
457
+ }) => any;
458
+
459
+ interface Props$3 {
460
+ loading?: boolean;
461
+ headerProps: HeaderProps;
462
+ emptyPlaceholderProps: PlaceholderProps;
463
+ dataGridProps: DataGridProps & {
464
+ height: number;
465
+ };
466
+ }
467
+ declare const DataTableLayout: ({ loading, headerProps, emptyPlaceholderProps, dataGridProps: { height, rows, ...restDataGridProps }, }: Props$3) => JSX.Element;
468
+
469
+ interface Props$2 {
470
+ loading?: boolean;
471
+ headerProps: HeaderProps;
472
+ }
473
+ declare const HeaderLayout: ({ loading, headerProps, children }: PropsWithChildren<Props$2>) => JSX.Element;
474
+
475
+ interface Props$1 {
476
+ headerProps: HeaderProps;
477
+ }
478
+ declare const TabLayout: ({ headerProps, children }: PropsWithChildren<Props$1>) => JSX.Element;
479
+
480
+ interface ListLayoutProps<T extends BasicData> {
481
+ loading?: boolean;
482
+ headerProps: HeaderProps;
483
+ listProps: TableListProps<T>;
484
+ emptyPlaceholderProps: PlaceholderProps;
485
+ }
486
+ declare const ListLayout: <T extends BasicData>({ loading, headerProps, emptyPlaceholderProps, listProps: { data, ...restListProps }, }: ListLayoutProps<T>) => JSX.Element;
487
+
488
+ interface Props {
489
+ drawer: DrawerElement;
490
+ appBar: ReactElement<AppBarProps$1, AppBarComponent>;
491
+ }
492
+ declare const AppBarWithDrawerLayout: ({ drawer, appBar, children }: PropsWithChildren<Props>) => JSX.Element;
493
+
494
+ declare type Base = {
495
+ id: string;
496
+ description: string;
497
+ name: string;
498
+ listable?: boolean;
499
+ };
500
+ declare type Breakpoints = {
501
+ xs?: number;
502
+ sm?: number;
503
+ md?: number;
504
+ lg?: number;
505
+ xl?: number;
506
+ };
507
+ declare type StringField = {
508
+ type: "string";
509
+ };
510
+ declare type NumberField = {
511
+ type: "number";
512
+ };
513
+ declare type BooleanField = {
514
+ type: "boolean";
515
+ };
516
+ declare type SingleFields = StringField | NumberField | BooleanField;
517
+ declare type GroupField = {
518
+ type: "group";
519
+ value: (Base & Breakpoints & SingleFields)[];
520
+ };
521
+ declare type Fields = SingleFields | GroupField;
522
+ declare type ModelField = Base & Breakpoints & Fields;
523
+ declare type Model = {
524
+ fields: ModelField[];
525
+ };
526
+
527
+ interface ObjectDetailsProps {
528
+ model: Model;
529
+ instance: object;
530
+ }
531
+ declare const ObjectDetails: ({ model, instance }: ObjectDetailsProps) => JSX.Element;
532
+
533
+ interface RequestState {
534
+ idle?: boolean;
535
+ loading?: boolean;
536
+ error?: string;
537
+ success?: boolean;
538
+ }
539
+ interface ModelRouterProps {
540
+ modelName: string;
541
+ model: Model;
542
+ requestList?: () => void;
543
+ list: {
544
+ data: any[];
545
+ onClickRemoveItem: (item: any) => void;
546
+ listRequest: RequestState;
547
+ requestDelete: RequestState;
548
+ };
549
+ add: {
550
+ onSubmit: (obj: object) => void;
551
+ request: RequestState;
552
+ };
553
+ detail: {
554
+ onScreenMount?: (id: string) => void;
555
+ request: RequestState;
556
+ instance?: any;
557
+ };
558
+ update: {
559
+ onSubmit: (obj: object) => void;
560
+ request: RequestState;
561
+ requestInstance: RequestState;
562
+ onRequestInstance: (id: string) => void;
563
+ instance?: any;
564
+ };
565
+ }
566
+ declare const ModelRouter: (props: ModelRouterProps) => JSX.Element;
567
+
568
+ interface ModelFormProps {
569
+ model: Model;
570
+ initialValues?: object;
571
+ saveButtonText: string;
572
+ onSubmit: (values: object) => void;
573
+ }
574
+ declare const ModelForm: ({ model, saveButtonText, onSubmit, initialValues, }: ModelFormProps) => JSX.Element;
575
+
576
+ interface DetailsLayoutProps {
577
+ loading?: boolean;
578
+ headerProps: HeaderProps;
579
+ objectDetailsProps: {
580
+ model: Model;
581
+ instance?: object;
582
+ };
583
+ notFoundPlaceholderProps: PlaceholderProps;
584
+ }
585
+ declare const DetailsLayout: ({ loading, headerProps, notFoundPlaceholderProps, objectDetailsProps: { model, instance }, }: DetailsLayoutProps) => JSX.Element;
586
+
587
+ interface FormLayoutProps {
588
+ loading?: boolean;
589
+ headerProps: HeaderProps;
590
+ modelFormProps: ModelFormProps;
591
+ }
592
+ declare const FormLayout: ({ loading, headerProps, modelFormProps }: FormLayoutProps) => JSX.Element;
593
+
594
+ export { AppBarComponent, AppBarProfile, AppBarProps, AppBarWithDrawerLayout, BasicData, Bullet, BulletProps, BulletVariant, CenterContainer, CenterContainerProps, DataTableLayout, DetailsLayout, DetailsLayoutProps, Drawer, DrawerComponent, DrawerContent, DrawerContentComponent, DrawerContentElement, DrawerContentProps, DrawerContext, DrawerContextProps, DrawerElement, DrawerItem, DrawerItemProps, DrawerProps, DrawerProvider, DrawerSection, DrawerSectionProps, EnhancedRemoteTable, EnhancedTable, EnhancedTableHead, FormLayout, FormLayoutProps, GroupField, GroupValueCard, GroupValueCardProps, GroupValueItem, GroupValueItemComponent, GroupValueItemElement, GroupValueItemProps, HeadCell, Header, HeaderAction, HeaderActionVariant, HeaderBreadcrumb, HeaderLayout, HeaderPreset, HeaderProps, HeaderTab, Label, LabelProps, LabelVariant, Link, LinkBehaviour, ListLayout, ListLayoutProps, MiniAppBar, MiniDrawer, Model, ModelField, ModelForm, ModelFormProps, ModelRouter, ModelRouterProps, Nav, NavItem, NavItemAvatar, NavItemBullet, NavItemLabel, NavSection, ObjectDetails, ObjectDetailsProps, Order, Placeholder, PlaceholderAction, PlaceholderIconArgs, PlaceholderProps, QueryContainer, QueryContainerError, QueryContainerProps, QueryContainerSuccess, RequestState, SignIn, TabCard, TabContext, TabContextProvider, TabLayout, TabPanel, TableList, TableListProps, TableRowOption, UndefinedProvider, ValueBoolean, ValueBooleanProps, ValueCard, ValueCardProps, ValueText, ValueTextProps, bulletClasses, getRandomItem, groupValueItemClasses, labelClasses, newArrayWithSize, useDrawer, useGetDefaultThemeColor, useTab };
package/jest.config.js ADDED
@@ -0,0 +1,14 @@
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 ADDED
@@ -0,0 +1,5 @@
1
+ import "@testing-library/jest-dom";
2
+
3
+ beforeEach(() => {
4
+ jest.resetAllMocks();
5
+ });