@pautena/react-design-system 0.5.1 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (289) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/index.js +4 -4
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/cjs/types/components/alerts/expandable-alert/expandable-alert.d.ts +1 -1
  5. package/dist/cjs/types/components/data-display/bullet/bullet.d.ts +6 -1
  6. package/dist/cjs/types/components/data-display/label/label.d.ts +6 -1
  7. package/dist/cjs/types/components/data-display/link-card/link-card.d.ts +11 -0
  8. package/dist/cjs/types/components/drawers/drawer/drawer.d.ts +4 -1
  9. package/dist/cjs/types/components/drawers/drawer/index.d.ts +0 -4
  10. package/dist/cjs/types/components/drawers/drawer-app-bar/drawer-app-bar.d.ts +5 -0
  11. package/dist/cjs/types/components/drawers/drawer-app-bar/index.d.ts +1 -0
  12. package/dist/cjs/types/components/drawers/drawer-content/drawer-content.d.ts +1 -1
  13. package/dist/cjs/types/components/drawers/drawer-item/drawer-item-link.d.ts +50 -0
  14. package/dist/cjs/types/components/drawers/drawer-item/drawer-item.d.ts +8 -34
  15. package/dist/cjs/types/components/drawers/drawer-item/drawer-menu-item.d.ts +35 -0
  16. package/dist/cjs/types/components/drawers/drawer-item/index.d.ts +2 -0
  17. package/dist/cjs/types/components/drawers/drawer-main/drawer-main.d.ts +3 -0
  18. package/dist/cjs/types/components/drawers/drawer-main/index.d.ts +1 -0
  19. package/dist/{esm/types/components/drawers/drawer/drawer.context.d.ts → cjs/types/components/drawers/drawer-provider/drawer-context.d.ts} +9 -1
  20. package/dist/cjs/types/components/drawers/drawer-provider/drawer.provider.d.ts +10 -0
  21. package/dist/cjs/types/components/drawers/drawer-provider/index.d.ts +3 -0
  22. package/dist/cjs/types/components/drawers/drawer-section/drawer-section.d.ts +5 -5
  23. package/dist/cjs/types/components/drawers/drawer-subheader/drawer-subheader.d.ts +20 -0
  24. package/dist/cjs/types/components/drawers/drawer-subheader/index.d.ts +1 -0
  25. package/dist/cjs/types/components/drawers/drawer.mock.d.ts +13 -0
  26. package/dist/cjs/types/components/drawers/drawer.types.d.ts +61 -0
  27. package/dist/cjs/types/components/drawers/index.d.ts +6 -2
  28. package/dist/cjs/types/components/index.d.ts +0 -1
  29. package/dist/cjs/types/components/inputs/autocomplete/autocomplete.d.ts +10 -0
  30. package/dist/cjs/types/components/inputs/autocomplete/index.d.ts +1 -0
  31. package/dist/cjs/types/components/inputs/index.d.ts +2 -2
  32. package/dist/cjs/types/components/inputs/select/index.d.ts +1 -0
  33. package/dist/cjs/types/components/inputs/select/select.d.ts +15 -0
  34. package/dist/cjs/types/components/inputs/text-field/index.d.ts +1 -0
  35. package/dist/cjs/types/components/inputs/text-field/text-field.d.ts +7 -0
  36. package/dist/cjs/types/generators/model-router/stories/templates.d.ts +0 -2
  37. package/dist/cjs/types/layouts/drawer-layout/drawer-layout.d.ts +8 -0
  38. package/dist/cjs/types/layouts/drawer-layout/index.d.ts +1 -0
  39. package/dist/cjs/types/layouts/index.d.ts +1 -1
  40. package/dist/cjs/types/utils/arrays.d.ts +1 -1
  41. package/dist/esm/index.js +4 -4
  42. package/dist/esm/index.js.map +1 -1
  43. package/dist/esm/types/components/alerts/expandable-alert/expandable-alert.d.ts +1 -1
  44. package/dist/esm/types/components/data-display/bullet/bullet.d.ts +6 -1
  45. package/dist/esm/types/components/data-display/label/label.d.ts +6 -1
  46. package/dist/esm/types/components/data-display/link-card/link-card.d.ts +11 -0
  47. package/dist/esm/types/components/drawers/drawer/drawer.d.ts +4 -1
  48. package/dist/esm/types/components/drawers/drawer/index.d.ts +0 -4
  49. package/dist/esm/types/components/drawers/drawer-app-bar/drawer-app-bar.d.ts +5 -0
  50. package/dist/esm/types/components/drawers/drawer-app-bar/index.d.ts +1 -0
  51. package/dist/esm/types/components/drawers/drawer-content/drawer-content.d.ts +1 -1
  52. package/dist/esm/types/components/drawers/drawer-item/drawer-item-link.d.ts +50 -0
  53. package/dist/esm/types/components/drawers/drawer-item/drawer-item.d.ts +8 -34
  54. package/dist/esm/types/components/drawers/drawer-item/drawer-menu-item.d.ts +35 -0
  55. package/dist/esm/types/components/drawers/drawer-item/index.d.ts +2 -0
  56. package/dist/esm/types/components/drawers/drawer-main/drawer-main.d.ts +3 -0
  57. package/dist/esm/types/components/drawers/drawer-main/index.d.ts +1 -0
  58. package/dist/{cjs/types/components/drawers/drawer/drawer.context.d.ts → esm/types/components/drawers/drawer-provider/drawer-context.d.ts} +9 -1
  59. package/dist/esm/types/components/drawers/drawer-provider/drawer.provider.d.ts +10 -0
  60. package/dist/esm/types/components/drawers/drawer-provider/index.d.ts +3 -0
  61. package/dist/esm/types/components/drawers/drawer-section/drawer-section.d.ts +5 -5
  62. package/dist/esm/types/components/drawers/drawer-subheader/drawer-subheader.d.ts +20 -0
  63. package/dist/esm/types/components/drawers/drawer-subheader/index.d.ts +1 -0
  64. package/dist/esm/types/components/drawers/drawer.mock.d.ts +13 -0
  65. package/dist/esm/types/components/drawers/drawer.types.d.ts +61 -0
  66. package/dist/esm/types/components/drawers/index.d.ts +6 -2
  67. package/dist/esm/types/components/index.d.ts +0 -1
  68. package/dist/esm/types/components/inputs/autocomplete/autocomplete.d.ts +10 -0
  69. package/dist/esm/types/components/inputs/autocomplete/index.d.ts +1 -0
  70. package/dist/esm/types/components/inputs/index.d.ts +2 -2
  71. package/dist/esm/types/components/inputs/select/index.d.ts +1 -0
  72. package/dist/esm/types/components/inputs/select/select.d.ts +15 -0
  73. package/dist/esm/types/components/inputs/text-field/index.d.ts +1 -0
  74. package/dist/esm/types/components/inputs/text-field/text-field.d.ts +7 -0
  75. package/dist/esm/types/generators/model-router/stories/templates.d.ts +0 -2
  76. package/dist/esm/types/layouts/drawer-layout/drawer-layout.d.ts +8 -0
  77. package/dist/esm/types/layouts/drawer-layout/index.d.ts +1 -0
  78. package/dist/esm/types/layouts/index.d.ts +1 -1
  79. package/dist/esm/types/utils/arrays.d.ts +1 -1
  80. package/dist/index.d.ts +99 -98
  81. package/package.json +24 -22
  82. package/setupTests.ts +22 -0
  83. package/src/components/alerts/expandable-alert/expandable-alert.stories.tsx +53 -27
  84. package/src/components/alerts/expandable-alert/expandable-alert.test.tsx +26 -3
  85. package/src/components/alerts/expandable-alert/expandable-alert.tsx +38 -38
  86. package/src/components/components.stories.mdx +0 -1
  87. package/src/components/containers/center-container/center-container.stories.tsx +29 -27
  88. package/src/components/containers/content/content.stories.tsx +6 -9
  89. package/src/components/data-display/board/board.stories.tsx +36 -32
  90. package/src/components/data-display/board/board.test.tsx +4 -3
  91. package/src/components/data-display/bullet/bullet.stories.tsx +27 -23
  92. package/src/components/data-display/bullet/bullet.tsx +7 -2
  93. package/src/components/data-display/data-display.stories.mdx +1 -0
  94. package/src/components/data-display/header/header.stories.tsx +90 -81
  95. package/src/components/data-display/header/header.test.tsx +2 -1
  96. package/src/components/data-display/label/label.stories.tsx +33 -29
  97. package/src/components/data-display/label/label.tsx +8 -3
  98. package/src/components/data-display/link-card/index.ts +0 -0
  99. package/src/components/data-display/link-card/link-card.stories.tsx +59 -0
  100. package/src/components/data-display/link-card/link-card.test.tsx +43 -0
  101. package/src/components/data-display/link-card/link-card.tsx +52 -0
  102. package/src/components/data-display/markdown/markdown.stories.tsx +11 -10
  103. package/src/components/data-display/markdown/markdown.test.tsx +1 -1
  104. package/src/components/dialogs/bootstrap-dialog/bootstrap-dialog.stories.tsx +57 -52
  105. package/src/components/dialogs/bootstrap-dialog/bootstrap-dialog.test.tsx +6 -5
  106. package/src/components/dialogs/confirm-dialog/confirm-dialog.stories.tsx +26 -23
  107. package/src/components/dialogs/confirm-dialog/confirm-dialog.test.tsx +3 -2
  108. package/src/components/dialogs/dialogs.stories.mdx +2 -2
  109. package/src/components/dialogs/form-dialog/form-dialog.stories.tsx +34 -32
  110. package/src/components/dialogs/form-dialog/form-dialog.test.tsx +3 -2
  111. package/src/components/drawers/drawer/drawer.stories.tsx +35 -0
  112. package/src/components/drawers/drawer/drawer.test.tsx +62 -76
  113. package/src/components/drawers/drawer/drawer.tsx +74 -10
  114. package/src/components/drawers/drawer/index.ts +0 -4
  115. package/src/components/drawers/drawer-app-bar/drawer-app-bar.stories.tsx +26 -0
  116. package/src/components/drawers/drawer-app-bar/drawer-app-bar.test.tsx +83 -0
  117. package/src/components/drawers/drawer-app-bar/drawer-app-bar.tsx +87 -0
  118. package/src/components/drawers/drawer-app-bar/index.ts +1 -0
  119. package/src/components/drawers/drawer-content/drawer-content.stories.tsx +36 -17
  120. package/src/components/drawers/drawer-content/drawer-content.test.tsx +7 -2
  121. package/src/components/drawers/drawer-content/drawer-content.tsx +3 -3
  122. package/src/components/drawers/drawer-demo.stories.tsx +94 -0
  123. package/src/components/drawers/drawer-item/drawer-item-link.tsx +149 -0
  124. package/src/components/drawers/drawer-item/drawer-item.stories.tsx +131 -39
  125. package/src/components/drawers/drawer-item/drawer-item.test.tsx +227 -75
  126. package/src/components/drawers/drawer-item/drawer-item.tsx +42 -78
  127. package/src/components/drawers/drawer-item/drawer-menu-item.tsx +137 -0
  128. package/src/components/drawers/drawer-item/index.ts +2 -0
  129. package/src/components/drawers/drawer-main/drawer-main.tsx +42 -0
  130. package/src/components/drawers/drawer-main/index.ts +1 -0
  131. package/src/components/drawers/drawer-provider/drawer-context.test.tsx +24 -0
  132. package/src/components/drawers/{drawer/drawer.context.ts → drawer-provider/drawer-context.ts} +9 -1
  133. package/src/components/drawers/drawer-provider/drawer-mixins.test.tsx +25 -0
  134. package/src/components/drawers/drawer-provider/drawer-provider.test.tsx +150 -0
  135. package/src/components/drawers/drawer-provider/drawer.provider.tsx +57 -0
  136. package/src/components/drawers/drawer-provider/index.ts +3 -0
  137. package/src/components/drawers/drawer-section/drawer-section.stories.tsx +42 -15
  138. package/src/components/drawers/drawer-section/drawer-section.test.tsx +56 -12
  139. package/src/components/drawers/drawer-section/drawer-section.tsx +25 -41
  140. package/src/components/drawers/drawer-subheader/drawer-subheader.stories.tsx +27 -0
  141. package/src/components/drawers/drawer-subheader/drawer-subheader.tsx +15 -0
  142. package/src/components/drawers/drawer-subheader/index.ts +1 -0
  143. package/src/components/drawers/drawer.mock.tsx +195 -0
  144. package/src/components/drawers/drawer.types.ts +78 -0
  145. package/src/components/drawers/drawers.stories.mdx +2 -0
  146. package/src/components/drawers/index.ts +6 -2
  147. package/src/components/feedback/loading-area/loading-area.stories.tsx +5 -7
  148. package/src/components/feedback/query-container/query-container.stories.tsx +47 -41
  149. package/src/components/index.ts +0 -1
  150. package/src/components/inputs/autocomplete/autocomplete.stories.tsx +115 -0
  151. package/src/components/inputs/{enhanced-autocomplete/enhanced-autocomplete.test.tsx → autocomplete/autocomplete.test.tsx} +5 -4
  152. package/src/components/inputs/{enhanced-autocomplete/enhanced-autocomplete.tsx → autocomplete/autocomplete.tsx} +12 -8
  153. package/src/components/inputs/autocomplete/index.ts +1 -0
  154. package/src/components/inputs/index.ts +2 -2
  155. package/src/components/inputs/inputs.stories.mdx +3 -3
  156. package/src/components/inputs/search-input/search-input.stories.tsx +36 -32
  157. package/src/components/inputs/search-input/search-input.test.tsx +2 -1
  158. package/src/components/inputs/select/index.ts +1 -0
  159. package/src/components/inputs/select/select.stories.tsx +107 -0
  160. package/src/components/inputs/{enhanced-select/enhanced-select.test.tsx → select/select.test.tsx} +14 -13
  161. package/src/components/inputs/{enhanced-select/enhanced-select.tsx → select/select.tsx} +9 -9
  162. package/src/components/inputs/sign-in/sign-in.stories.tsx +22 -21
  163. package/src/components/inputs/sign-in/sign-in.test.tsx +6 -5
  164. package/src/components/inputs/text-field/index.ts +1 -0
  165. package/src/components/inputs/text-field/text-field.stories.tsx +128 -0
  166. package/src/components/inputs/{enhanced-text-field/enhanced-text-field.test.tsx → text-field/text-field.test.tsx} +5 -4
  167. package/src/components/inputs/{enhanced-text-field/enhanced-text-field.tsx → text-field/text-field.tsx} +4 -4
  168. package/src/components/navigation/tab/tab-card/tab-card.stories.tsx +11 -11
  169. package/src/components/placeholders/content-placeholder/content-placeholder.stories.tsx +4 -6
  170. package/src/components/placeholders/lorem-ipsum-placeholder/lorem-ipsum-placeholder.stories.tsx +4 -6
  171. package/src/components/placeholders/placeholder/placeholder.stories.tsx +28 -27
  172. package/src/components/placeholders/placeholder/placeholder.test.tsx +2 -1
  173. package/src/components/placeholders/skeleton-card/skeleton-card.stories.tsx +7 -8
  174. package/src/components/placeholders/skeleton-grid/skeleton-grid.stories.tsx +4 -6
  175. package/src/components/tables/enhanced-remote-table/enhanced-remote-table.stories.tsx +12 -14
  176. package/src/components/tables/enhanced-remote-table/enhanced-remote-table.test.tsx +2 -1
  177. package/src/components/tables/enhanced-table/enhanced-table.stories.tsx +10 -11
  178. package/src/components/value-displays/group-value-card/group-value-card.stories.tsx +14 -13
  179. package/src/components/value-displays/value-boolean/value-boolean.stories.tsx +19 -19
  180. package/src/components/value-displays/value-boolean/value-boolean.test.tsx +2 -1
  181. package/src/components/value-displays/value-card/value-card.stories.tsx +10 -10
  182. package/src/components/value-displays/value-content/value-content.stories.tsx +9 -7
  183. package/src/components/value-displays/value-datetime/value-datetime.stories.tsx +45 -40
  184. package/src/components/value-displays/value-datetime/value-datetime.test.tsx +2 -1
  185. package/src/components/value-displays/value-image/value-image.stories.tsx +15 -14
  186. package/src/components/value-displays/value-rating/value-rating.stories.tsx +22 -20
  187. package/src/components/value-displays/value-rating/value-rating.test.tsx +2 -1
  188. package/src/components/value-displays/value-text/value-text.stories.tsx +34 -29
  189. package/src/components/value-displays/value-text/value-text.test.tsx +2 -1
  190. package/src/generators/model-form/model-form.stories.tsx +15 -14
  191. package/src/generators/model-form/model-form.test.tsx +2 -1
  192. package/src/generators/model-router/model-router.test.tsx +16 -16
  193. package/src/generators/model-router/stories/details-screen.stories.tsx +17 -16
  194. package/src/generators/model-router/stories/list-screen.stories.tsx +73 -67
  195. package/src/generators/model-router/stories/model-router.stories.tsx +17 -15
  196. package/src/generators/model-router/stories/templates.tsx +0 -5
  197. package/src/generators/object-details/object-details.stories.tsx +2 -2
  198. package/src/generators/table-list/table-list.stories.tsx +68 -62
  199. package/src/generators/table-list/table-list.test.tsx +4 -3
  200. package/src/layouts/drawer-layout/drawer-layout.stories.tsx +57 -0
  201. package/src/layouts/{app-bar-with-drawer-layout/app-bar-with-drawer-layout.test.tsx → drawer-layout/drawer-layout.test.tsx} +14 -4
  202. package/src/layouts/drawer-layout/drawer-layout.tsx +26 -0
  203. package/src/layouts/drawer-layout/index.ts +1 -0
  204. package/src/layouts/header-layout/header-layout.stories.tsx +103 -98
  205. package/src/layouts/index.ts +1 -1
  206. package/src/layouts/layouts.stories.mdx +1 -1
  207. package/src/providers/notification-center/notification-center.stories.tsx +2 -2
  208. package/src/providers/notification-center/notification-center.test.tsx +3 -2
  209. package/src/stories/getting-started.stories.mdx +1 -1
  210. package/src/storybook.tsx +1 -9
  211. package/src/tests/datatable-placeholder/datatable-placeholder.stories.tsx +4 -6
  212. package/src/tests/mocks.ts +3 -1
  213. package/vitest.config.ts +11 -0
  214. package/dist/cjs/types/components/app-bars/app-bar/app-bar.d.ts +0 -2
  215. package/dist/cjs/types/components/app-bars/app-bar/app-bar.types.d.ts +0 -14
  216. package/dist/cjs/types/components/app-bars/app-bar/index.d.ts +0 -3
  217. package/dist/cjs/types/components/app-bars/app-bar/mini-app-bar/index.d.ts +0 -1
  218. package/dist/cjs/types/components/app-bars/app-bar/mini-app-bar/mini-app-bar.d.ts +0 -2
  219. package/dist/cjs/types/components/app-bars/index.d.ts +0 -1
  220. package/dist/cjs/types/components/drawers/drawer/drawer.mock.d.ts +0 -3
  221. package/dist/cjs/types/components/drawers/drawer/drawer.provider.d.ts +0 -6
  222. package/dist/cjs/types/components/drawers/drawer/drawer.types.d.ts +0 -51
  223. package/dist/cjs/types/components/drawers/drawer/mini-drawer/index.d.ts +0 -1
  224. package/dist/cjs/types/components/drawers/drawer/mini-drawer/mini-drawer.d.ts +0 -1
  225. package/dist/cjs/types/components/drawers/drawer-collapsable-item/drawer-collapsable-item.d.ts +0 -26
  226. package/dist/cjs/types/components/drawers/drawer-collapsable-item/index.d.ts +0 -1
  227. package/dist/cjs/types/components/drawers/drawer-section/drawer-section.mock.d.ts +0 -2
  228. package/dist/cjs/types/components/inputs/enhanced-autocomplete/enhanced-autocomplete.d.ts +0 -10
  229. package/dist/cjs/types/components/inputs/enhanced-autocomplete/index.d.ts +0 -1
  230. package/dist/cjs/types/components/inputs/enhanced-select/enhanced-select.d.ts +0 -15
  231. package/dist/cjs/types/components/inputs/enhanced-select/index.d.ts +0 -1
  232. package/dist/cjs/types/components/inputs/enhanced-text-field/enhanced-text-field.d.ts +0 -7
  233. package/dist/cjs/types/components/inputs/enhanced-text-field/index.d.ts +0 -1
  234. package/dist/cjs/types/layouts/app-bar-with-drawer-layout/app-bar-with-drawer-layout.d.ts +0 -7
  235. package/dist/cjs/types/layouts/app-bar-with-drawer-layout/index.d.ts +0 -1
  236. package/dist/esm/types/components/app-bars/app-bar/app-bar.d.ts +0 -2
  237. package/dist/esm/types/components/app-bars/app-bar/app-bar.types.d.ts +0 -14
  238. package/dist/esm/types/components/app-bars/app-bar/index.d.ts +0 -3
  239. package/dist/esm/types/components/app-bars/app-bar/mini-app-bar/index.d.ts +0 -1
  240. package/dist/esm/types/components/app-bars/app-bar/mini-app-bar/mini-app-bar.d.ts +0 -2
  241. package/dist/esm/types/components/app-bars/index.d.ts +0 -1
  242. package/dist/esm/types/components/drawers/drawer/drawer.mock.d.ts +0 -3
  243. package/dist/esm/types/components/drawers/drawer/drawer.provider.d.ts +0 -6
  244. package/dist/esm/types/components/drawers/drawer/drawer.types.d.ts +0 -51
  245. package/dist/esm/types/components/drawers/drawer/mini-drawer/index.d.ts +0 -1
  246. package/dist/esm/types/components/drawers/drawer/mini-drawer/mini-drawer.d.ts +0 -1
  247. package/dist/esm/types/components/drawers/drawer-collapsable-item/drawer-collapsable-item.d.ts +0 -26
  248. package/dist/esm/types/components/drawers/drawer-collapsable-item/index.d.ts +0 -1
  249. package/dist/esm/types/components/drawers/drawer-section/drawer-section.mock.d.ts +0 -2
  250. package/dist/esm/types/components/inputs/enhanced-autocomplete/enhanced-autocomplete.d.ts +0 -10
  251. package/dist/esm/types/components/inputs/enhanced-autocomplete/index.d.ts +0 -1
  252. package/dist/esm/types/components/inputs/enhanced-select/enhanced-select.d.ts +0 -15
  253. package/dist/esm/types/components/inputs/enhanced-select/index.d.ts +0 -1
  254. package/dist/esm/types/components/inputs/enhanced-text-field/enhanced-text-field.d.ts +0 -7
  255. package/dist/esm/types/components/inputs/enhanced-text-field/index.d.ts +0 -1
  256. package/dist/esm/types/layouts/app-bar-with-drawer-layout/app-bar-with-drawer-layout.d.ts +0 -7
  257. package/dist/esm/types/layouts/app-bar-with-drawer-layout/index.d.ts +0 -1
  258. package/src/components/app-bars/app-bar/app-bar.stories.tsx +0 -55
  259. package/src/components/app-bars/app-bar/app-bar.test.tsx +0 -142
  260. package/src/components/app-bars/app-bar/app-bar.tsx +0 -150
  261. package/src/components/app-bars/app-bar/app-bar.types.ts +0 -17
  262. package/src/components/app-bars/app-bar/index.ts +0 -3
  263. package/src/components/app-bars/app-bar/mini-app-bar/index.ts +0 -1
  264. package/src/components/app-bars/app-bar/mini-app-bar/mini-app-bar.tsx +0 -31
  265. package/src/components/app-bars/app-bars.stories.mdx +0 -10
  266. package/src/components/app-bars/index.ts +0 -1
  267. package/src/components/drawers/drawer/__snapshots__/drawer.test.tsx.snap +0 -20
  268. package/src/components/drawers/drawer/drawer.mock.tsx +0 -127
  269. package/src/components/drawers/drawer/drawer.provider.tsx +0 -23
  270. package/src/components/drawers/drawer/drawer.types.ts +0 -62
  271. package/src/components/drawers/drawer/mini-drawer/index.ts +0 -1
  272. package/src/components/drawers/drawer/mini-drawer/mini-drawer.stories.tsx +0 -34
  273. package/src/components/drawers/drawer/mini-drawer/mini-drawer.tsx +0 -66
  274. package/src/components/drawers/drawer-collapsable-item/drawer-collapsable-item.test.tsx +0 -62
  275. package/src/components/drawers/drawer-collapsable-item/drawer-collapsable-item.tsx +0 -76
  276. package/src/components/drawers/drawer-collapsable-item/index.ts +0 -1
  277. package/src/components/drawers/drawer-section/drawer-section.mock.tsx +0 -39
  278. package/src/components/inputs/enhanced-autocomplete/enhanced-autocomplete.stories.tsx +0 -109
  279. package/src/components/inputs/enhanced-autocomplete/index.ts +0 -1
  280. package/src/components/inputs/enhanced-select/enhanced-select.stories.tsx +0 -99
  281. package/src/components/inputs/enhanced-select/index.ts +0 -1
  282. package/src/components/inputs/enhanced-text-field/enhanced-text-field.stories.tsx +0 -120
  283. package/src/components/inputs/enhanced-text-field/index.ts +0 -1
  284. package/src/layouts/app-bar-with-drawer-layout/app-bar-with-drawer-layout.stories.tsx +0 -27
  285. package/src/layouts/app-bar-with-drawer-layout/app-bar-with-drawer-layout.tsx +0 -37
  286. package/src/layouts/app-bar-with-drawer-layout/index.ts +0 -1
  287. /package/dist/cjs/types/components/drawers/{drawer/drawer.mixins.d.ts → drawer-provider/drawer-mixins.d.ts} +0 -0
  288. /package/dist/esm/types/components/drawers/{drawer/drawer.mixins.d.ts → drawer-provider/drawer-mixins.d.ts} +0 -0
  289. /package/src/components/drawers/{drawer/drawer.mixins.ts → drawer-provider/drawer-mixins.ts} +0 -0
package/dist/index.d.ts CHANGED
@@ -2,10 +2,12 @@
2
2
  import * as React$1 from 'react';
3
3
  import React__default, { PropsWithChildren, FunctionComponent, ReactElement, ReactNode, Dispatch, SetStateAction } from 'react';
4
4
  import * as _mui_material from '@mui/material';
5
- import { SxProps, Theme, GridProps, AppBarProps as AppBarProps$1, PropTypes, DrawerProps as DrawerProps$1, ChipTypeMap, AutocompleteProps, AlertColor, Color } from '@mui/material';
5
+ import { SxProps, Theme, GridProps, PropTypes, AppBarProps, DrawerProps as DrawerProps$1, ListSubheaderProps, ChipTypeMap, AutocompleteProps as AutocompleteProps$1, AlertColor, Color } from '@mui/material';
6
6
  import { MarkdownToJSX } from 'markdown-to-jsx';
7
7
  import * as _emotion_styled from '@emotion/styled';
8
8
  import * as _mui_system from '@mui/system';
9
+ import * as csstype from 'csstype';
10
+ import * as _mui_material_OverridableComponent from '@mui/material/OverridableComponent';
9
11
  import { SelectInputProps } from '@mui/material/Select/SelectInput';
10
12
  import { Variant } from '@mui/material/styles/createTypography';
11
13
  import { LoremUnit } from 'lorem-ipsum/types/src/constants/units';
@@ -157,21 +159,6 @@ type QueryContainerProps = PropsWithChildren<{
157
159
  */
158
160
  declare function QueryContainer({ isFetching, error, success, children }: QueryContainerProps): JSX.Element;
159
161
 
160
- interface AppBarProfile {
161
- name: string;
162
- }
163
- interface AppBarProps extends AppBarProps$1 {
164
- menu?: boolean;
165
- title?: string;
166
- search?: boolean;
167
- profile?: AppBarProfile;
168
- onClickSignOut: () => void;
169
- }
170
- type AppBarComponent = FunctionComponent<AppBarProps>;
171
- type AppBarElement = ReactElement<AppBarProps, AppBarComponent>;
172
-
173
- declare const MiniAppBar: AppBarComponent;
174
-
175
162
  type BulletVariant = "primary" | "secondary" | "default" | "info" | "warning" | "error";
176
163
  declare const bulletClasses: {
177
164
  root: string;
@@ -181,11 +168,15 @@ interface BulletProps {
181
168
  * Color palette used to draw the component
182
169
  */
183
170
  variant?: BulletVariant;
171
+ /**
172
+ * Custom styles
173
+ */
174
+ sx?: SxProps<Theme>;
184
175
  }
185
176
  /**
186
177
  * Dot to attract the user attention
187
178
  */
188
- declare const Bullet: ({ variant }: BulletProps) => JSX.Element;
179
+ declare const Bullet: ({ variant, sx }: BulletProps) => JSX.Element;
189
180
 
190
181
  type LabelVariant = "primary" | "secondary" | "default" | "info" | "warning" | "error";
191
182
  declare const labelClasses: {
@@ -200,11 +191,15 @@ interface LabelProps {
200
191
  * Color palette used to draw the component
201
192
  */
202
193
  variant?: LabelVariant;
194
+ /**
195
+ * Custom styles
196
+ */
197
+ sx?: SxProps<Theme>;
203
198
  }
204
199
  /**
205
200
  * Compact element to represent a text
206
201
  */
207
- declare const Label: ({ text, variant }: LabelProps) => JSX.Element;
202
+ declare const Label: ({ text, variant, sx }: LabelProps) => JSX.Element;
208
203
 
209
204
  type HeaderPreset = PropTypes.Color | "transparent";
210
205
  type HeaderActionVariant = "text" | "outlined" | "contained";
@@ -322,46 +317,54 @@ interface CenterContainerProps {
322
317
  }
323
318
  declare function CenterContainer({ children, centerVertical, centerHorizontal, sx, }: CenterContainerProps): JSX.Element;
324
319
 
325
- interface NavItemAvatar {
320
+ interface DrawerAppBarProps extends AppBarProps {
321
+ title?: string;
322
+ }
323
+ declare const DrawerAppBar: ({ title, sx, children, ...rest }: DrawerAppBarProps) => JSX.Element;
324
+
325
+ type DrawerVariant = "temporary" | "mini" | "persistent" | "clipped";
326
+ type DrawerState = "open" | "collapse" | "close";
327
+ type DrawerSize = "small" | "medium";
328
+ interface DrawerItemAvatar {
326
329
  src: string;
327
330
  alt: string;
328
331
  }
329
- interface NavItemLabel {
332
+ interface DrawerItemLabel {
330
333
  text: string;
331
334
  variant: LabelVariant;
332
335
  }
333
- interface NavItemBullet {
336
+ interface DrawerItemBullet {
334
337
  variant: BulletVariant;
335
338
  }
336
- interface NavItemLink {
339
+ interface DrawerNavigationItemLink {
337
340
  id: string;
338
341
  text: string;
339
342
  href: string;
340
343
  icon?: ReactElement;
341
- avatar?: NavItemAvatar;
342
- label?: NavItemLabel;
343
- bullet?: NavItemBullet;
344
+ avatar?: DrawerItemAvatar;
345
+ label?: DrawerItemLabel;
346
+ bullet?: DrawerItemBullet;
344
347
  }
345
- type NavItemCollapsable = Pick<NavItemLink, "id" | "text" | "icon"> & {
346
- items: NavItemLink[];
348
+ type DrawerNavigationItemCollapsable = Pick<DrawerNavigationItemLink, "id" | "text" | "icon"> & {
349
+ items: DrawerNavigationItem[];
347
350
  };
348
- type NavItem = NavItemLink | NavItemCollapsable;
349
- interface NavSection {
351
+ type DrawerNavigationItem = DrawerNavigationItemLink | DrawerNavigationItemCollapsable;
352
+ interface DrawerNavigationSection {
350
353
  title?: string;
351
- items: NavItem[];
354
+ items: DrawerNavigationItem[];
352
355
  }
353
- interface Nav {
354
- items: NavSection[];
356
+ interface DrawerNavigation {
357
+ items: DrawerNavigationSection[];
355
358
  }
356
359
  interface DrawerContentProps {
357
360
  /**
358
- * Item currently selected in the navigation
361
+ * Object with the content that has to be rendered
359
362
  */
360
- selectedItem?: string;
363
+ nav: DrawerNavigation;
361
364
  /**
362
- * Object with the content that has to be rendered
365
+ * Item size. default to medium
363
366
  */
364
- nav: Nav;
367
+ size?: DrawerSize;
365
368
  }
366
369
  type DrawerContentComponent = FunctionComponent<DrawerContentProps>;
367
370
  type DrawerContentElement = ReactElement<DrawerContentProps, DrawerContentComponent>;
@@ -370,20 +373,36 @@ interface DrawerProps extends DrawerProps$1 {
370
373
  }
371
374
  type DrawerComponent = FunctionComponent<DrawerProps>;
372
375
  type DrawerElement = ReactElement<DrawerProps, DrawerComponent>;
376
+ declare const getDrawerItemColors: (theme: Theme, selected: boolean | undefined) => {
377
+ color: string | undefined;
378
+ fontWeight: csstype.Property.FontWeight | undefined;
379
+ };
380
+ type DrawerAppBarComponent = FunctionComponent<DrawerAppBarProps>;
381
+ type DrawerAppBarElement = ReactElement<DrawerAppBarProps, DrawerAppBarComponent>;
373
382
 
383
+ declare const DrawerHeader: _emotion_styled.StyledComponent<_mui_system.MUIStyledCommonProps<Theme>, React__default.DetailedHTMLProps<React__default.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
374
384
  declare const Drawer: DrawerComponent;
375
385
 
376
- declare const MiniDrawer: _emotion_styled.StyledComponent<DrawerProps & _mui_system.MUIStyledCommonProps<_mui_material.Theme>, {}, {}>;
377
-
378
- type Props$1 = PropsWithChildren<{
379
- initialOpen?: boolean;
386
+ type DrawerProviderProps = PropsWithChildren<{
387
+ initialState?: DrawerState;
388
+ underAppBar?: boolean;
389
+ drawerWidth?: number;
390
+ variant?: DrawerVariant;
391
+ selectedItemId?: string;
380
392
  }>;
381
- declare const DrawerProvider: ({ children, initialOpen }: Props$1) => JSX.Element;
393
+ declare const DrawerProvider: ({ children, initialState: initialStateProp, variant, drawerWidth: drawerWidthProp, underAppBar, selectedItemId, }: DrawerProviderProps) => JSX.Element;
382
394
 
383
395
  interface DrawerContextProps {
384
- isOpen: boolean;
396
+ selectedItemId?: string;
397
+ state: DrawerState;
398
+ variant: DrawerVariant;
399
+ drawerWidth: number;
400
+ underAppBar: boolean;
401
+ switchState(): void;
385
402
  close(): void;
403
+ collapse(): void;
386
404
  open(): void;
405
+ setState: (state: DrawerState) => void;
387
406
  }
388
407
  declare const DrawerContext: React$1.Context<DrawerContextProps | undefined>;
389
408
  declare const UndefinedProvider: Error;
@@ -394,46 +413,6 @@ declare const useDrawer: () => DrawerContextProps;
394
413
  */
395
414
  declare const DrawerContent: DrawerContentComponent;
396
415
 
397
- interface DrawerItemProps {
398
- /**
399
- * Text displayed inside the item
400
- */
401
- text: string;
402
- /**
403
- * Url where the user is going to be redirected
404
- * if the item is clicked
405
- */
406
- href: string;
407
- /**
408
- * Icon displayed to the left
409
- */
410
- icon?: ReactElement;
411
- /**
412
- * Avatar displayed to the left
413
- */
414
- avatar?: NavItemAvatar;
415
- /**
416
- * Label with extra info displayed to the right
417
- */
418
- label?: NavItemLabel;
419
- /**
420
- * Bullet to attract the user attention displyed to the right
421
- */
422
- bullet?: NavItemBullet;
423
- /**
424
- * The item has to be marked as selected
425
- */
426
- selected?: boolean;
427
- /**
428
- * Custom styles
429
- */
430
- sx?: SxProps<Theme>;
431
- }
432
- /**
433
- * Clicable item inside a drawer
434
- */
435
- declare const DrawerItem: ({ text, icon, avatar, label, bullet, href, selected, sx, }: DrawerItemProps) => JSX.Element;
436
-
437
416
  interface DrawerSectionProps {
438
417
  /**
439
418
  * Section title
@@ -442,31 +421,52 @@ interface DrawerSectionProps {
442
421
  /**
443
422
  * List of items of that section
444
423
  */
445
- items: NavItem[];
424
+ items: DrawerNavigationItem[];
446
425
  /**
447
- * Id of the item that has to be marked as selected
426
+ * Item size. default to medium
448
427
  */
449
- selectedItem?: string;
428
+ size?: DrawerSize;
450
429
  }
451
430
  /**
452
431
  * Render a group of items inside the drawer
453
432
  * with an optional title
454
433
  */
455
- declare const DrawerSection: ({ title, items, selectedItem }: DrawerSectionProps) => JSX.Element;
434
+ declare const DrawerSection: ({ title, items, size }: DrawerSectionProps) => JSX.Element;
435
+
436
+ interface DrawerSubheaderProps extends ListSubheaderProps {
437
+ /**
438
+ * Item size. default to medium
439
+ */
440
+ size?: DrawerSize;
441
+ }
442
+ declare const DrawerSubheader: _emotion_styled.StyledComponent<{
443
+ children?: any;
444
+ classes?: Partial<_mui_material.ListSubheaderClasses> | undefined;
445
+ color?: "default" | "inherit" | "primary" | undefined;
446
+ disableGutters?: boolean | undefined;
447
+ disableSticky?: boolean | undefined;
448
+ inset?: boolean | undefined;
449
+ sx?: _mui_material.SxProps<_mui_material.Theme> | undefined;
450
+ } & _mui_material_OverridableComponent.CommonProps & Omit<Omit<React$1.DetailedHTMLProps<React$1.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "ref"> & {
451
+ ref?: ((instance: HTMLLIElement | null) => void) | React$1.RefObject<HTMLLIElement> | null | undefined;
452
+ }, "color" | "inset" | "sx" | keyof _mui_material_OverridableComponent.CommonProps | "children" | "disableGutters" | "disableSticky"> & _mui_system.MUIStyledCommonProps<_mui_material.Theme> & DrawerSubheaderProps, {}, {}>;
453
+
454
+ type DrawerMainProps = PropsWithChildren;
455
+ declare const DrawerMain: ({ children }: DrawerMainProps) => JSX.Element;
456
456
 
457
- type EnhancedSelectSize = "small" | "medium";
458
- interface EnhancedSelectProps<T> {
457
+ type SelectSize = "small" | "medium";
458
+ interface SelectProps<T> {
459
459
  label: string;
460
460
  value: T;
461
461
  loading?: boolean;
462
462
  fetching?: boolean;
463
- size?: EnhancedSelectSize;
463
+ size?: SelectSize;
464
464
  color?: string;
465
465
  fullWidth?: boolean;
466
466
  children?: ReactNode;
467
467
  onChange?: SelectInputProps<T>["onChange"];
468
468
  }
469
- declare const EnhancedSelect: <T extends React__default.ReactNode>({ label, value, loading, fetching, size, fullWidth, color, children, onChange, }: EnhancedSelectProps<T>) => JSX.Element;
469
+ declare const Select: <T extends any>({ label, value, loading, fetching, size, fullWidth, color, children, onChange, }: SelectProps<T>) => JSX.Element;
470
470
 
471
471
  interface SignInProps {
472
472
  title: string;
@@ -477,14 +477,14 @@ interface SignInProps {
477
477
  }
478
478
  declare const SignIn: ({ title, subtitle, loading, error, onSubmitSignIn }: SignInProps) => JSX.Element;
479
479
 
480
- interface EnhancedAutocompleteProps<T, Multiple extends boolean | undefined, DisableClearable extends boolean | undefined, FreeSolo extends boolean | undefined, ChipComponent extends React__default.ElementType = ChipTypeMap["defaultComponent"]> extends Omit<AutocompleteProps<T, Multiple, DisableClearable, FreeSolo, ChipComponent>, "renderInput" | "onChange" | "color"> {
480
+ interface AutocompleteProps<T, Multiple extends boolean | undefined, DisableClearable extends boolean | undefined, FreeSolo extends boolean | undefined, ChipComponent extends React__default.ElementType = ChipTypeMap["defaultComponent"]> extends Omit<AutocompleteProps$1<T, Multiple, DisableClearable, FreeSolo, ChipComponent>, "renderInput" | "onChange" | "color"> {
481
481
  label: string;
482
482
  helperText?: string;
483
483
  color?: string;
484
484
  fetching?: boolean;
485
485
  onChangeValue?: (value: T) => void;
486
486
  }
487
- declare const EnhancedAutocomplete: <T, Multiple extends boolean | undefined, DisableClearable extends boolean | undefined, FreeSolo extends boolean | undefined, ChipComponent extends React__default.ElementType<any> = "div">(props: EnhancedAutocompleteProps<T, Multiple, DisableClearable, FreeSolo, ChipComponent>) => JSX.Element;
487
+ declare const Autocomplete: <T, Multiple extends boolean | undefined, DisableClearable extends boolean | undefined, FreeSolo extends boolean | undefined, ChipComponent extends React__default.ElementType<any> = "div">(props: AutocompleteProps<T, Multiple, DisableClearable, FreeSolo, ChipComponent>) => JSX.Element;
488
488
 
489
489
  interface TabPanelProps {
490
490
  children?: React__default.ReactNode;
@@ -592,7 +592,7 @@ interface ExpandableAlertProps {
592
592
  metadata?: string | string[];
593
593
  onClose: () => void;
594
594
  }
595
- declare const ExpandableAlert: ({ severity, iconMapping, title, message, metadata, onClose, }: ExpandableAlertProps) => JSX.Element;
595
+ declare const ExpandableAlert: React__default.ForwardRefExoticComponent<ExpandableAlertProps & React__default.RefAttributes<any>>;
596
596
 
597
597
  interface DialogAction {
598
598
  id: string;
@@ -647,7 +647,7 @@ declare const useDialog: (intialOpen?: boolean) => {
647
647
  setIsOpen: React$1.Dispatch<React$1.SetStateAction<boolean>>;
648
648
  };
649
649
 
650
- declare const newArrayWithSize: <T>(size: number, fillValue: T) => any[];
650
+ declare const newArrayWithSize: <T>(size: number, fillValue: T) => any;
651
651
  declare const getRandomItem: <T>(items: T[]) => {
652
652
  index: number;
653
653
  item: T;
@@ -658,10 +658,11 @@ declare const useGetDefaultThemeColor: ({ lightWeight, darkWeight, }?: {
658
658
  darkWeight?: keyof Color | undefined;
659
659
  }) => string;
660
660
 
661
- interface AppBarWithDrawerLayoutProps {
662
- children: [DrawerElement, AppBarElement, ReactNode];
661
+ interface DrawerLayoutProps {
662
+ drawerProviderProps?: DrawerProviderProps;
663
+ children: [DrawerElement, DrawerAppBarElement, ReactNode];
663
664
  }
664
- declare const AppBarWithDrawerLayout: ({ children: childrenProps, }: AppBarWithDrawerLayoutProps) => JSX.Element;
665
+ declare const DrawerLayoutProps: ({ drawerProviderProps, children: childrenProps, }: DrawerLayoutProps) => JSX.Element;
665
666
 
666
667
  interface HeaderLayoutProps {
667
668
  loading?: boolean;
@@ -937,4 +938,4 @@ type TabProviderProps = PropsWithChildren<{
937
938
  }>;
938
939
  declare const TabProvider: ({ children, initialValue }: TabProviderProps) => JSX.Element;
939
940
 
940
- export { AppBarComponent, AppBarElement, AppBarProfile, AppBarProps, AppBarWithDrawerLayout, AppBarWithDrawerLayoutProps, ArrayFieldType, BaseFieldType, BaseValueProps, BasicModelInstance, Board, BoardProps, BootstrapDialog, BootstrapDialogDialogProps, Bullet, BulletProps, BulletVariant, CenterContainer, CenterContainerProps, ConfirmDialog, ConfirmDialogProps, Content, ContentComponent, ContentElement, ContentPlaceholder, ContentPlaceholderProps, ContentProps, DefaultPlaceholder, DialogAction, Drawer, DrawerComponent, DrawerContent, DrawerContentComponent, DrawerContentElement, DrawerContentProps, DrawerContext, DrawerContextProps, DrawerElement, DrawerItem, DrawerItemProps, DrawerProps, DrawerProvider, DrawerSection, DrawerSectionProps, EditInputType, EditableValueProps, EnhancedAutocomplete, EnhancedAutocompleteProps, EnhancedRemoteTable, EnhancedRemoteTableProps, EnhancedSelect, EnhancedSelectProps, EnhancedSelectSize, EnhancedTable, EnhancedTableHead, ExpandableAlert, ExpandableAlertProps, FieldType, FormDialog, FormDialogProps, GroupField, GroupInstanceType, GroupValueCard, GroupValueCardProps, GroupValueItem, GroupValueItemComponent, GroupValueItemElement, GroupValueItemProps, HeadCell, Header, HeaderAction, HeaderActionVariant, HeaderBreadcrumb, HeaderComponent, HeaderElement, HeaderLayout, HeaderLayoutProps, HeaderNavigationButton, HeaderPreset, HeaderProps, HeaderTab, IdleRequest, Label, LabelProps, LabelVariant, LoadingArea, LoadingRequest, LoremIpsumPlaceholder, LoremIpsumPlaceholderProps, Markdown, MarkdownProps, MiniAppBar, MiniDrawer, Model, ModelField, ModelFieldTypes, ModelForm, ModelFormProps, ModelRouter, ModelRouterProps, Nav, NavItem, NavItemAvatar, NavItemBullet, NavItemCollapsable, NavItemLabel, NavItemLink, NavSection, Notification, NotificationCenterContext, NotificationCenterProps, NotificationCenterProvider, NotificationCenterProviderProps, NotificationCenterProviderUndefinedError, NotifyWhenValueChangesOptions, ObjectDetails, ObjectDetailsProps, Order, Placeholder, PlaceholderAction, PlaceholderIconArgs, PlaceholderProps, QueryContainer, QueryContainerError, QueryContainerProps, QueryContainerSuccess, RequestState, SignIn, SignInProps, SingleFieldType, SkeletonCard, SkeletonCardProps, SkeletonGrid, SkeletonGridProps, SuccessRequest, TabCard, TabCardProps, TabContext, TabContextProvider, TabPanel, TabProvider, TableList, TableListProps, TableRowOption, UndefinedProvider, ValueBoolean, ValueBooleanProps, ValueCard, ValueCardProps, ValueDatetime, ValueDatetimeProps, ValueEditButtons, ValueEditButtonsProps, ValueRating, ValueRatingProps, ValueText, ValueTextProps, bulletClasses, getRandomItem, groupValueItemClasses, labelClasses, markdownDefaultOptions, newArrayWithSize, newInstanceFromValuesOrZeroValue, useDialog, useDrawer, useEditableValueDisplay, useGetDefaultThemeColor, useNotificationCenter, useNotifyWhenValueChanges, useTab };
941
+ export { ArrayFieldType, Autocomplete, AutocompleteProps, BaseFieldType, BaseValueProps, BasicModelInstance, Board, BoardProps, BootstrapDialog, BootstrapDialogDialogProps, Bullet, BulletProps, BulletVariant, CenterContainer, CenterContainerProps, ConfirmDialog, ConfirmDialogProps, Content, ContentComponent, ContentElement, ContentPlaceholder, ContentPlaceholderProps, ContentProps, DefaultPlaceholder, DialogAction, Drawer, DrawerAppBar, DrawerAppBarComponent, DrawerAppBarElement, DrawerAppBarProps, DrawerComponent, DrawerContent, DrawerContentComponent, DrawerContentElement, DrawerContentProps, DrawerContext, DrawerContextProps, DrawerElement, DrawerHeader, DrawerItemAvatar, DrawerItemBullet, DrawerItemLabel, DrawerLayoutProps, DrawerMain, DrawerMainProps, DrawerNavigation, DrawerNavigationItem, DrawerNavigationItemCollapsable, DrawerNavigationItemLink, DrawerNavigationSection, DrawerProps, DrawerProvider, DrawerProviderProps, DrawerSection, DrawerSectionProps, DrawerSize, DrawerState, DrawerSubheader, DrawerSubheaderProps, DrawerVariant, EditInputType, EditableValueProps, EnhancedRemoteTable, EnhancedRemoteTableProps, EnhancedTable, EnhancedTableHead, ExpandableAlert, ExpandableAlertProps, FieldType, FormDialog, FormDialogProps, GroupField, GroupInstanceType, GroupValueCard, GroupValueCardProps, GroupValueItem, GroupValueItemComponent, GroupValueItemElement, GroupValueItemProps, HeadCell, Header, HeaderAction, HeaderActionVariant, HeaderBreadcrumb, HeaderComponent, HeaderElement, HeaderLayout, HeaderLayoutProps, HeaderNavigationButton, HeaderPreset, HeaderProps, HeaderTab, IdleRequest, Label, LabelProps, LabelVariant, LoadingArea, LoadingRequest, LoremIpsumPlaceholder, LoremIpsumPlaceholderProps, Markdown, MarkdownProps, Model, ModelField, ModelFieldTypes, ModelForm, ModelFormProps, ModelRouter, ModelRouterProps, Notification, NotificationCenterContext, NotificationCenterProps, NotificationCenterProvider, NotificationCenterProviderProps, NotificationCenterProviderUndefinedError, NotifyWhenValueChangesOptions, ObjectDetails, ObjectDetailsProps, Order, Placeholder, PlaceholderAction, PlaceholderIconArgs, PlaceholderProps, QueryContainer, QueryContainerError, QueryContainerProps, QueryContainerSuccess, RequestState, Select, SelectProps, SelectSize, SignIn, SignInProps, SingleFieldType, SkeletonCard, SkeletonCardProps, SkeletonGrid, SkeletonGridProps, SuccessRequest, TabCard, TabCardProps, TabContext, TabContextProvider, TabPanel, TabProvider, TableList, TableListProps, TableRowOption, UndefinedProvider, ValueBoolean, ValueBooleanProps, ValueCard, ValueCardProps, ValueDatetime, ValueDatetimeProps, ValueEditButtons, ValueEditButtonsProps, ValueRating, ValueRatingProps, ValueText, ValueTextProps, bulletClasses, getDrawerItemColors, getRandomItem, groupValueItemClasses, labelClasses, markdownDefaultOptions, newArrayWithSize, newInstanceFromValuesOrZeroValue, useDialog, useDrawer, useEditableValueDisplay, useGetDefaultThemeColor, useNotificationCenter, useNotifyWhenValueChanges, useTab };
package/package.json CHANGED
@@ -1,16 +1,17 @@
1
1
  {
2
2
  "name": "@pautena/react-design-system",
3
- "version": "0.5.1",
3
+ "version": "0.6.0",
4
4
  "description": "My custom design system on top of MUI",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
7
7
  "types": "dist/index.d.ts",
8
8
  "scripts": {
9
9
  "build": "rollup -c",
10
- "test": "jest",
11
- "coverage": "jest --coverage",
12
- "storybook": "start-storybook -p 6006",
13
- "storybook:build": "build-storybook",
10
+ "test": "vitest run",
11
+ "test:watch": "vitest",
12
+ "coverage": "vitest run --coverage",
13
+ "storybook": "storybook dev -p 6006",
14
+ "storybook:build": "storybook build",
14
15
  "storybook:deploy": "gh-pages -d storybook-static",
15
16
  "lint": "npm-run-all lint:*",
16
17
  "lint:eslint": "eslint *.js src --ext .js,.ts,.tsx",
@@ -56,35 +57,33 @@
56
57
  "@rollup/plugin-commonjs": "^22.0.2",
57
58
  "@rollup/plugin-node-resolve": "^13.3.0",
58
59
  "@rollup/plugin-typescript": "8.3.3",
59
- "@storybook/addon-actions": "^6.5.16",
60
- "@storybook/addon-essentials": "^6.5.16",
61
- "@storybook/addon-interactions": "^6.5.16",
62
- "@storybook/addon-knobs": "^6.4.0",
63
- "@storybook/addon-links": "^6.5.16",
64
- "@storybook/builder-webpack4": "^6.5.16",
65
- "@storybook/manager-webpack4": "^6.5.16",
66
- "@storybook/react": "^6.5.16",
67
- "@storybook/testing-library": "^0.0.13",
68
- "@storybook/testing-react": "^1.3.0",
60
+ "@storybook/addon-actions": "^7.0.2",
61
+ "@storybook/addon-essentials": "^7.0.2",
62
+ "@storybook/addon-interactions": "^7.0.2",
63
+ "@storybook/addon-knobs": "^7.0.0",
64
+ "@storybook/addon-links": "^7.0.2",
65
+ "@storybook/addon-mdx-gfm": "^7.0.2",
66
+ "@storybook/react": "^7.0.2",
67
+ "@storybook/react-webpack5": "^7.0.2",
68
+ "@storybook/testing-library": "^0.1.0",
69
+ "@storybook/testing-react": "^2.0.0",
69
70
  "@testing-library/jest-dom": "^5.16.5",
70
71
  "@testing-library/react": "^14.0.0",
71
- "@types/jest": "^29.5.0",
72
72
  "@types/ramda": "^0.28.23",
73
73
  "@types/react": "^18.0.31",
74
74
  "@typescript-eslint/eslint-plugin": "^5.57.0",
75
75
  "@typescript-eslint/parser": "^5.57.0",
76
- "babel-jest": "^29.5.0",
77
76
  "babel-loader": "^9.1.2",
78
77
  "babel-plugin-module-resolver": "^5.0.0",
79
78
  "eslint": "^8.37.0",
80
79
  "eslint-config-prettier": "^8.8.0",
81
80
  "eslint-plugin-prettier": "^4.2.1",
82
81
  "eslint-plugin-react": "^7.32.2",
82
+ "eslint-plugin-storybook": "^0.6.11",
83
83
  "gh-pages": "^5.0.0",
84
84
  "history": "^5.3.0",
85
85
  "husky": "^8.0.3",
86
- "jest": "^29.5.0",
87
- "jest-environment-jsdom": "^29.5.0",
86
+ "jsdom": "^21.1.1",
88
87
  "npm-run-all": "^4.1.5",
89
88
  "prettier": "^2.8.7",
90
89
  "ramda": "^0.28.0",
@@ -93,8 +92,11 @@
93
92
  "rollup-plugin-dts": "^4.2.3",
94
93
  "rollup-plugin-peer-deps-external": "^2.2.4",
95
94
  "rollup-plugin-terser": "^7.0.2",
95
+ "storybook": "^7.0.2",
96
96
  "tslib": "^2.5.0",
97
- "typescript": "^4.9.5"
97
+ "typescript": "^4.9.5",
98
+ "vite-tsconfig-paths": "^4.0.8",
99
+ "vitest": "^0.29.8"
98
100
  },
99
101
  "peerDependencies": {
100
102
  "@emotion/react": "^11.10.6",
@@ -108,10 +110,10 @@
108
110
  "@types/react": "^17.0.0 || ^18.0.0",
109
111
  "date-fns": "^2.0.0",
110
112
  "lorem-ipsum": "^2.0.0",
113
+ "markdown-to-jsx": "^7.0.0",
111
114
  "react": "^17.0.0 || ^18.0.0",
112
115
  "react-dom": "^17.0.0 || ^18.0.0",
113
- "react-router-dom": "^6.0.0",
114
- "markdown-to-jsx": "^7.0.0"
116
+ "react-router-dom": "^6.0.0"
115
117
  },
116
118
  "repository": {
117
119
  "type": "git",
package/setupTests.ts ADDED
@@ -0,0 +1,22 @@
1
+ import "@testing-library/jest-dom";
2
+ import { vi } from "vitest";
3
+
4
+ beforeAll(() => {
5
+ const originalError = console.error;
6
+ console.error = (...data: any[]) => {
7
+ if (data.length > 0) {
8
+ const error = data[0] as string;
9
+ if (
10
+ error.startsWith("Warning: An update to") ||
11
+ error.startsWith("Warning: Failed prop type")
12
+ ) {
13
+ return;
14
+ }
15
+ }
16
+ originalError(...data);
17
+ };
18
+ });
19
+
20
+ beforeEach(() => {
21
+ vi.resetAllMocks();
22
+ });
@@ -1,7 +1,8 @@
1
- import { ComponentMeta, ComponentStory } from "@storybook/react";
2
- import React from "react";
1
+ import { Meta, StoryObj } from "@storybook/react";
2
+ import React, { useState } from "react";
3
3
  import { ExpandableAlert } from "./expandable-alert";
4
4
  import { withContainer } from "~/storybook";
5
+ import { Alert, AlertColor, Box, Button, Snackbar } from "@mui/material";
5
6
 
6
7
  export default {
7
8
  title: "Components/Alerts/ExpandableAlert",
@@ -10,39 +11,64 @@ export default {
10
11
  parameters: {
11
12
  layout: "centered",
12
13
  },
13
- } as ComponentMeta<typeof ExpandableAlert>;
14
+ } satisfies Meta<typeof ExpandableAlert>;
15
+ type Story = StoryObj<typeof ExpandableAlert>;
14
16
 
15
- const Template: ComponentStory<typeof ExpandableAlert> = (args) => <ExpandableAlert {...args} />;
17
+ export const Info: Story = {
18
+ args: {
19
+ severity: "info",
20
+ title: "Lorem ipsum",
21
+ message: "Lorem ipsum dolor sit amet",
22
+ metadata: ["lorem: ipsum", "foo: bar", "header: this", "host: localhost"],
23
+ },
24
+ };
16
25
 
17
- export const Info = Template.bind({});
18
- Info.args = {
19
- severity: "info",
20
- title: "Lorem ipsum",
21
- message: "Lorem ipsum dolor sit amet",
22
- metadata: ["lorem: ipsum", "foo: bar", "header: this", "host: localhost"],
26
+ export const Success: Story = {
27
+ args: {
28
+ ...Info.args,
29
+ severity: "success",
30
+ },
23
31
  };
24
32
 
25
- export const Success = Template.bind({});
26
- Success.args = {
27
- ...Info.args,
28
- severity: "success",
33
+ export const Error: Story = {
34
+ args: {
35
+ ...Info.args,
36
+ severity: "error",
37
+ },
29
38
  };
30
39
 
31
- export const Error = Template.bind({});
32
- Error.args = {
33
- ...Info.args,
34
- severity: "error",
40
+ export const Warning: Story = {
41
+ args: {
42
+ ...Info.args,
43
+ severity: "warning",
44
+ },
35
45
  };
36
46
 
37
- export const Warning = Template.bind({});
38
- Warning.args = {
39
- ...Info.args,
40
- severity: "warning",
47
+ export const WihtoutMetadata: Story = {
48
+ args: {
49
+ severity: "info",
50
+ title: "Lorem ipsum",
51
+ message: "Lorem ipsum dolor sit amet",
52
+ },
41
53
  };
42
54
 
43
- export const WihtoutMetadata = Template.bind({});
44
- WihtoutMetadata.args = {
45
- severity: "info",
46
- title: "Lorem ipsum",
47
- message: "Lorem ipsum dolor sit amet",
55
+ export const SnackbarAlert = () => {
56
+ const [open, setOpen] = useState(false);
57
+
58
+ return (
59
+ <Box>
60
+ <Button variant="contained" onClick={() => setOpen(true)}>
61
+ Snackbar
62
+ </Button>
63
+ <Snackbar open={open}>
64
+ <ExpandableAlert
65
+ severity="info"
66
+ onClose={() => setOpen(false)}
67
+ title="Lorem ipsum"
68
+ message="Lorem ipsum dolor sit amet"
69
+ metadata={["lorem: ipsum", "foo: bar", "header: this", "host: localhost"]}
70
+ />
71
+ </Snackbar>
72
+ </Box>
73
+ );
48
74
  };
@@ -1,7 +1,9 @@
1
- import React from "react";
1
+ import React, { useState } from "react";
2
2
  import { render, screen, waitFor } from "~/tests/testing-library";
3
3
  import { ExpandableAlert } from "./expandable-alert";
4
4
  import userEvent from "@testing-library/user-event";
5
+ import { vi } from "vitest";
6
+ import { Box, Button, Snackbar } from "@mui/material";
5
7
 
6
8
  const message = "Lorem ipsum dolor sit amet";
7
9
  const metadata =
@@ -13,8 +15,8 @@ describe("ExpandableAlert", () => {
13
15
  title,
14
16
  metadata,
15
17
  }: { title?: string; metadata?: string | string[] } = {}) => {
16
- const onClose = jest.fn();
17
- const copy = jest.fn();
18
+ const onClose = vi.fn();
19
+ const copy = vi.fn();
18
20
  Object.assign(navigator, {
19
21
  clipboard: {
20
22
  writeText: copy,
@@ -111,4 +113,25 @@ describe("ExpandableAlert", () => {
111
113
  expect(copy).toHaveBeenCalledTimes(1);
112
114
  expect(copy).toHaveBeenCalledWith(metadata);
113
115
  });
116
+
117
+ it("should work inside a snackbar", async () => {
118
+ const SnackbarAlert = () => {
119
+ const [open, setOpen] = useState(false);
120
+
121
+ return (
122
+ <Box>
123
+ <Button onClick={() => setOpen(true)}>snackbar</Button>
124
+ <Snackbar open={open}>
125
+ <ExpandableAlert severity="info" message="lorem ipsum" onClose={() => setOpen(false)} />
126
+ </Snackbar>
127
+ </Box>
128
+ );
129
+ };
130
+
131
+ render(<SnackbarAlert />);
132
+
133
+ await userEvent.click(screen.getByRole("button", { name: /snackbar/i }));
134
+
135
+ expect(screen.getByText(/lorem ipsum/i)).toBeVisible();
136
+ });
114
137
  });