@pautena/react-design-system 0.4.3 → 0.4.4

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 (342) hide show
  1. package/dist/cjs/index.js +23 -1
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/types/components/app-bars/index.d.ts +1 -0
  4. package/dist/cjs/types/components/containers/index.d.ts +2 -0
  5. package/dist/cjs/types/components/data-display/index.d.ts +3 -0
  6. package/dist/cjs/types/components/{drawer → drawers/drawer}/drawer.types.d.ts +10 -3
  7. package/dist/cjs/types/components/drawers/drawer-collapsable-item/drawer-collapsable-item.d.ts +26 -0
  8. package/dist/cjs/types/components/drawers/drawer-collapsable-item/index.d.ts +1 -0
  9. package/dist/cjs/types/components/{drawer-item → drawers/drawer-item}/drawer-item.d.ts +10 -1
  10. package/dist/{esm/types/components → cjs/types/components/drawers}/drawer-section/drawer-section.d.ts +5 -1
  11. package/dist/cjs/types/components/drawers/index.d.ts +4 -0
  12. package/dist/cjs/types/components/feedback/index.d.ts +2 -0
  13. package/dist/cjs/types/components/index.d.ts +9 -18
  14. package/dist/cjs/types/components/inputs/index.d.ts +2 -0
  15. package/dist/cjs/types/components/navigation/index.d.ts +1 -0
  16. package/dist/cjs/types/components/placeholders/content-placeholder/content-placeholder.d.ts +6 -0
  17. package/dist/cjs/types/components/placeholders/content-placeholder/index.d.ts +1 -0
  18. package/dist/cjs/types/components/placeholders/index.d.ts +5 -0
  19. package/dist/cjs/types/components/placeholders/lorem-ipsum-placeholder/index.d.ts +1 -0
  20. package/dist/cjs/types/components/placeholders/lorem-ipsum-placeholder/lorem-ipsum-placeholder.d.ts +8 -0
  21. package/dist/cjs/types/components/placeholders/skeleton-card/index.d.ts +1 -0
  22. package/dist/cjs/types/components/placeholders/skeleton-card/skeleton-card.d.ts +5 -0
  23. package/dist/cjs/types/components/placeholders/skeleton-grid/index.d.ts +1 -0
  24. package/dist/cjs/types/components/placeholders/skeleton-grid/skeleton-grid.d.ts +4 -0
  25. package/dist/cjs/types/generators/index.d.ts +1 -0
  26. package/dist/cjs/types/{components → generators}/table-list/table-list.d.ts +2 -2
  27. package/dist/cjs/types/layouts/app-bar-with-drawer-layout/app-bar-with-drawer-layout.d.ts +2 -2
  28. package/dist/esm/index.js +23 -1
  29. package/dist/esm/index.js.map +1 -1
  30. package/dist/esm/types/components/app-bars/index.d.ts +1 -0
  31. package/dist/esm/types/components/containers/index.d.ts +2 -0
  32. package/dist/esm/types/components/data-display/index.d.ts +3 -0
  33. package/dist/esm/types/components/{drawer → drawers/drawer}/drawer.types.d.ts +10 -3
  34. package/dist/esm/types/components/drawers/drawer-collapsable-item/drawer-collapsable-item.d.ts +26 -0
  35. package/dist/esm/types/components/drawers/drawer-collapsable-item/index.d.ts +1 -0
  36. package/dist/esm/types/components/{drawer-item → drawers/drawer-item}/drawer-item.d.ts +10 -1
  37. package/dist/{cjs/types/components → esm/types/components/drawers}/drawer-section/drawer-section.d.ts +5 -1
  38. package/dist/esm/types/components/drawers/index.d.ts +4 -0
  39. package/dist/esm/types/components/feedback/index.d.ts +2 -0
  40. package/dist/esm/types/components/index.d.ts +9 -18
  41. package/dist/esm/types/components/inputs/index.d.ts +2 -0
  42. package/dist/esm/types/components/navigation/index.d.ts +1 -0
  43. package/dist/esm/types/components/placeholders/content-placeholder/content-placeholder.d.ts +6 -0
  44. package/dist/esm/types/components/placeholders/content-placeholder/index.d.ts +1 -0
  45. package/dist/esm/types/components/placeholders/index.d.ts +5 -0
  46. package/dist/esm/types/components/placeholders/lorem-ipsum-placeholder/index.d.ts +1 -0
  47. package/dist/esm/types/components/placeholders/lorem-ipsum-placeholder/lorem-ipsum-placeholder.d.ts +8 -0
  48. package/dist/esm/types/components/placeholders/skeleton-card/index.d.ts +1 -0
  49. package/dist/esm/types/components/placeholders/skeleton-card/skeleton-card.d.ts +5 -0
  50. package/dist/esm/types/components/placeholders/skeleton-grid/index.d.ts +1 -0
  51. package/dist/esm/types/components/placeholders/skeleton-grid/skeleton-grid.d.ts +4 -0
  52. package/dist/esm/types/generators/index.d.ts +1 -0
  53. package/dist/esm/types/{components → generators}/table-list/table-list.d.ts +2 -2
  54. package/dist/esm/types/layouts/app-bar-with-drawer-layout/app-bar-with-drawer-layout.d.ts +2 -2
  55. package/dist/index.d.ts +374 -329
  56. package/package.json +15 -14
  57. package/src/components/{app-bar → app-bars/app-bar}/app-bar.stories.tsx +3 -3
  58. package/src/components/{app-bar → app-bars/app-bar}/app-bar.test.tsx +1 -1
  59. package/src/components/{app-bar → app-bars/app-bar}/app-bar.tsx +1 -1
  60. package/src/components/{app-bar → app-bars/app-bar}/mini-app-bar/mini-app-bar.tsx +2 -2
  61. package/src/components/app-bars/app-bars.stories.mdx +10 -0
  62. package/src/components/app-bars/index.ts +1 -0
  63. package/src/components/components.stories.mdx +19 -0
  64. package/src/components/{center-container → containers/center-container}/center-container.stories.tsx +3 -3
  65. package/src/components/containers/containers.stories.mdx +11 -0
  66. package/src/components/{content → containers/content}/content.stories.tsx +3 -3
  67. package/src/components/containers/index.ts +2 -0
  68. package/src/components/{bullet → data-display/bullet}/bullet.stories.tsx +2 -2
  69. package/src/components/data-display/data-display.stories.mdx +12 -0
  70. package/src/components/{header → data-display/header}/header.stories.tsx +2 -2
  71. package/src/components/{header → data-display/header}/header.test.tsx +1 -1
  72. package/src/components/{header → data-display/header}/header.tsx +2 -2
  73. package/src/components/data-display/index.ts +3 -0
  74. package/src/components/{label → data-display/label}/label.stories.tsx +2 -2
  75. package/src/components/{drawer → drawers/drawer}/drawer.mock.tsx +27 -0
  76. package/src/components/{drawer → drawers/drawer}/drawer.types.ts +12 -3
  77. package/src/components/{drawer → drawers/drawer}/mini-drawer/mini-drawer.stories.tsx +3 -3
  78. package/src/components/{drawer → drawers/drawer}/mini-drawer/mini-drawer.tsx +1 -2
  79. package/src/components/drawers/drawer-collapsable-item/drawer-collapsable-item.test.tsx +62 -0
  80. package/src/components/drawers/drawer-collapsable-item/drawer-collapsable-item.tsx +78 -0
  81. package/src/components/drawers/drawer-collapsable-item/index.ts +1 -0
  82. package/src/components/{drawer-content → drawers/drawer-content}/drawer-content.stories.tsx +3 -2
  83. package/src/components/{drawer-content → drawers/drawer-content}/drawer-content.test.tsx +25 -0
  84. package/src/components/{drawer-content → drawers/drawer-content}/drawer-content.tsx +5 -4
  85. package/src/components/{drawer-item → drawers/drawer-item}/drawer-item.stories.tsx +2 -3
  86. package/src/components/{drawer-item → drawers/drawer-item}/drawer-item.tsx +23 -5
  87. package/src/components/{drawer-section → drawers/drawer-section}/drawer-section.stories.tsx +3 -3
  88. package/src/components/drawers/drawer-section/drawer-section.tsx +65 -0
  89. package/src/components/drawers/drawers.stories.mdx +13 -0
  90. package/src/components/drawers/index.ts +4 -0
  91. package/src/components/feedback/feedback.stories.mdx +12 -0
  92. package/src/components/feedback/index.ts +2 -0
  93. package/src/components/{loading-area → feedback/loading-area}/loading-area.stories.tsx +2 -2
  94. package/src/components/{query-container → feedback/query-container}/query-container.stories.tsx +2 -2
  95. package/src/components/index.ts +9 -18
  96. package/src/components/{enhanced-select → inputs/enhanced-select}/enhanced-select.stories.tsx +2 -2
  97. package/src/components/{enhanced-select → inputs/enhanced-select}/enhanced-select.tsx +1 -1
  98. package/src/components/inputs/index.ts +2 -0
  99. package/src/components/inputs/inputs.stories.mdx +11 -0
  100. package/src/components/{sign-in → inputs/sign-in}/sign-in.stories.tsx +2 -2
  101. package/src/components/navigation/index.ts +1 -0
  102. package/src/components/navigation/navigation.stories.mdx +10 -0
  103. package/src/components/{tab → navigation/tab}/tab-card/tab-card.dummy.tsx +1 -1
  104. package/src/components/{tab → navigation/tab}/tab-card/tab-card.stories.tsx +2 -2
  105. package/src/components/{tab → navigation/tab}/tab-panel/tab-panel.test.tsx +1 -1
  106. package/src/{tests → components/placeholders/content-placeholder}/content-placeholder.stories.tsx +3 -4
  107. package/src/components/placeholders/content-placeholder/content-placeholder.tsx +17 -0
  108. package/src/components/placeholders/content-placeholder/index.ts +1 -0
  109. package/src/components/placeholders/index.ts +5 -0
  110. package/src/components/placeholders/lorem-ipsum-placeholder/index.ts +1 -0
  111. package/src/components/placeholders/lorem-ipsum-placeholder/lorem-ipsum-placeholder.stories.tsx +15 -0
  112. package/src/components/placeholders/lorem-ipsum-placeholder/lorem-ipsum-placeholder.tsx +26 -0
  113. package/src/components/{placeholder → placeholders/placeholder}/placeholder.stories.tsx +2 -2
  114. package/src/components/placeholders/placeholders.stories.mdx +14 -0
  115. package/src/components/placeholders/skeleton-card/index.ts +1 -0
  116. package/src/{tests → components/placeholders/skeleton-card}/skeleton-card.stories.tsx +3 -3
  117. package/src/components/placeholders/skeleton-card/skeleton-card.tsx +17 -0
  118. package/src/components/placeholders/skeleton-grid/index.ts +1 -0
  119. package/src/components/placeholders/skeleton-grid/skeleton-grid.stories.tsx +15 -0
  120. package/src/components/placeholders/skeleton-grid/skeleton-grid.tsx +20 -0
  121. package/src/components/{table → tables}/enhanced-remote-table/enhanced-remote-table.stories.tsx +1 -1
  122. package/src/components/{table → tables}/enhanced-table/enhanced-table.stories.tsx +1 -1
  123. package/src/components/tables/table.stories.mdx +11 -0
  124. package/src/components/value-displays/group-value-card/group-value-card.stories.tsx +2 -2
  125. package/src/components/value-displays/group-value-card/group-value-card.test.tsx +2 -2
  126. package/src/components/value-displays/value-boolean/value-boolean.stories.tsx +1 -1
  127. package/src/components/value-displays/value-boolean/value-boolean.tsx +1 -1
  128. package/src/components/value-displays/value-card/value-card.stories.tsx +1 -1
  129. package/src/components/value-displays/value-content/value-content.stories.tsx +1 -1
  130. package/src/components/value-displays/value-content/value-content.tsx +1 -2
  131. package/src/components/value-displays/value-datetime/value-datetime.stories.tsx +1 -1
  132. package/src/components/value-displays/value-datetime/value-datetime.tsx +1 -1
  133. package/src/components/value-displays/value-displays.stories.mdx +16 -0
  134. package/src/components/value-displays/value-image/value-image.stories.tsx +1 -1
  135. package/src/components/value-displays/value-image/value-image.test.tsx +1 -1
  136. package/src/components/value-displays/value-text/value-text.stories.tsx +1 -1
  137. package/src/generators/generators.stories.mdx +13 -0
  138. package/src/generators/index.ts +1 -0
  139. package/src/generators/model-router/screens/list-screen.tsx +2 -1
  140. package/src/generators/model-router/stories/model-router.stories.tsx +1 -1
  141. package/src/{components → generators}/table-list/table-list.stories.tsx +1 -1
  142. package/src/{components → generators}/table-list/table-list.test.tsx +2 -2
  143. package/src/{components → generators}/table-list/table-list.tsx +2 -2
  144. package/src/layouts/app-bar-with-drawer-layout/app-bar-with-drawer-layout.stories.tsx +3 -4
  145. package/src/layouts/app-bar-with-drawer-layout/app-bar-with-drawer-layout.tsx +3 -3
  146. package/src/layouts/header-layout/header-layout.stories.tsx +6 -5
  147. package/src/layouts/header-layout/header-layout.tsx +1 -1
  148. package/src/layouts/layouts.stories.mdx +11 -0
  149. package/src/providers/notification-center/notification-center.stories.tsx +2 -2
  150. package/src/stories/Introduction.stories.mdx +10 -185
  151. package/src/stories/getting-started.stories.mdx +23 -0
  152. package/src/tests/datatable-placeholder/datatable-placeholder.stories.tsx +15 -0
  153. package/src/tests/datatable-placeholder/datatable-placeholder.tsx +40 -0
  154. package/src/tests/datatable-placeholder/index.ts +1 -0
  155. package/src/types.d.ts +4 -0
  156. package/src/components/drawer-section/drawer-section.tsx +0 -40
  157. package/src/tests/components.tsx +0 -94
  158. /package/dist/cjs/types/components/{app-bar → app-bars/app-bar}/app-bar.d.ts +0 -0
  159. /package/dist/cjs/types/components/{app-bar → app-bars/app-bar}/app-bar.types.d.ts +0 -0
  160. /package/dist/cjs/types/components/{app-bar → app-bars/app-bar}/index.d.ts +0 -0
  161. /package/dist/cjs/types/components/{app-bar → app-bars/app-bar}/mini-app-bar/index.d.ts +0 -0
  162. /package/dist/cjs/types/components/{app-bar → app-bars/app-bar}/mini-app-bar/mini-app-bar.d.ts +0 -0
  163. /package/dist/cjs/types/components/{center-container → containers/center-container}/center-container.d.ts +0 -0
  164. /package/dist/cjs/types/components/{center-container → containers/center-container}/index.d.ts +0 -0
  165. /package/dist/cjs/types/components/{content → containers/content}/content.d.ts +0 -0
  166. /package/dist/cjs/types/components/{content → containers/content}/content.types.d.ts +0 -0
  167. /package/dist/cjs/types/components/{content → containers/content}/index.d.ts +0 -0
  168. /package/dist/cjs/types/components/{bullet → data-display/bullet}/bullet.d.ts +0 -0
  169. /package/dist/cjs/types/components/{bullet → data-display/bullet}/index.d.ts +0 -0
  170. /package/dist/cjs/types/components/{header → data-display/header}/header.d.ts +0 -0
  171. /package/dist/cjs/types/components/{header → data-display/header}/header.dummy.d.ts +0 -0
  172. /package/dist/cjs/types/components/{header → data-display/header}/header.types.d.ts +0 -0
  173. /package/dist/cjs/types/components/{header → data-display/header}/index.d.ts +0 -0
  174. /package/dist/cjs/types/components/{label → data-display/label}/index.d.ts +0 -0
  175. /package/dist/cjs/types/components/{label → data-display/label}/label.d.ts +0 -0
  176. /package/dist/cjs/types/components/{drawer → drawers/drawer}/drawer.context.d.ts +0 -0
  177. /package/dist/cjs/types/components/{drawer → drawers/drawer}/drawer.d.ts +0 -0
  178. /package/dist/cjs/types/components/{drawer → drawers/drawer}/drawer.mixins.d.ts +0 -0
  179. /package/dist/cjs/types/components/{drawer → drawers/drawer}/drawer.mock.d.ts +0 -0
  180. /package/dist/cjs/types/components/{drawer → drawers/drawer}/drawer.provider.d.ts +0 -0
  181. /package/dist/cjs/types/components/{drawer → drawers/drawer}/index.d.ts +0 -0
  182. /package/dist/cjs/types/components/{drawer → drawers/drawer}/mini-drawer/index.d.ts +0 -0
  183. /package/dist/cjs/types/components/{drawer → drawers/drawer}/mini-drawer/mini-drawer.d.ts +0 -0
  184. /package/dist/cjs/types/components/{drawer-content → drawers/drawer-content}/drawer-content.d.ts +0 -0
  185. /package/dist/cjs/types/components/{drawer-content → drawers/drawer-content}/index.d.ts +0 -0
  186. /package/dist/cjs/types/components/{drawer-item → drawers/drawer-item}/index.d.ts +0 -0
  187. /package/dist/cjs/types/components/{drawer-section → drawers/drawer-section}/drawer-section.mock.d.ts +0 -0
  188. /package/dist/cjs/types/components/{drawer-section → drawers/drawer-section}/index.d.ts +0 -0
  189. /package/dist/cjs/types/components/{loading-area → feedback/loading-area}/index.d.ts +0 -0
  190. /package/dist/cjs/types/components/{loading-area → feedback/loading-area}/loading-area.d.ts +0 -0
  191. /package/dist/cjs/types/components/{query-container → feedback/query-container}/index.d.ts +0 -0
  192. /package/dist/cjs/types/components/{query-container → feedback/query-container}/query-container.d.ts +0 -0
  193. /package/dist/cjs/types/components/{enhanced-select → inputs/enhanced-select}/enhanced-select.d.ts +0 -0
  194. /package/dist/cjs/types/components/{enhanced-select → inputs/enhanced-select}/index.d.ts +0 -0
  195. /package/dist/cjs/types/components/{sign-in → inputs/sign-in}/index.d.ts +0 -0
  196. /package/dist/cjs/types/components/{sign-in → inputs/sign-in}/sign-in.d.ts +0 -0
  197. /package/dist/cjs/types/components/{link → navigation/link}/index.d.ts +0 -0
  198. /package/dist/cjs/types/components/{link → navigation/link}/link.d.ts +0 -0
  199. /package/dist/cjs/types/components/{tab → navigation/tab}/index.d.ts +0 -0
  200. /package/dist/cjs/types/components/{tab → navigation/tab}/tab-card/index.d.ts +0 -0
  201. /package/dist/cjs/types/components/{tab → navigation/tab}/tab-card/tab-card.d.ts +0 -0
  202. /package/dist/cjs/types/components/{tab → navigation/tab}/tab-card/tab-card.dummy.d.ts +0 -0
  203. /package/dist/cjs/types/components/{tab → navigation/tab}/tab-panel/index.d.ts +0 -0
  204. /package/dist/cjs/types/components/{tab → navigation/tab}/tab-panel/tab-panel.d.ts +0 -0
  205. /package/dist/cjs/types/components/{placeholder → placeholders/placeholder}/index.d.ts +0 -0
  206. /package/dist/cjs/types/components/{placeholder → placeholders/placeholder}/placeholder.d.ts +0 -0
  207. /package/dist/cjs/types/components/{placeholder → placeholders/placeholder}/placeholder.mock.d.ts +0 -0
  208. /package/dist/cjs/types/components/{table → tables}/enhanced-remote-table/enhanced-remote-table.d.ts +0 -0
  209. /package/dist/cjs/types/components/{table → tables}/enhanced-remote-table/enhanced-remote-table.mock.d.ts +0 -0
  210. /package/dist/cjs/types/components/{table → tables}/enhanced-remote-table/index.d.ts +0 -0
  211. /package/dist/cjs/types/components/{table → tables}/enhanced-table/enhanced-table-head.d.ts +0 -0
  212. /package/dist/cjs/types/components/{table → tables}/enhanced-table/enhanced-table.d.ts +0 -0
  213. /package/dist/cjs/types/components/{table → tables}/enhanced-table/enhanced-table.mock.d.ts +0 -0
  214. /package/dist/cjs/types/components/{table → tables}/enhanced-table/index.d.ts +0 -0
  215. /package/dist/cjs/types/components/{table → tables}/index.d.ts +0 -0
  216. /package/dist/cjs/types/{components → generators}/table-list/index.d.ts +0 -0
  217. /package/dist/esm/types/components/{app-bar → app-bars/app-bar}/app-bar.d.ts +0 -0
  218. /package/dist/esm/types/components/{app-bar → app-bars/app-bar}/app-bar.types.d.ts +0 -0
  219. /package/dist/esm/types/components/{app-bar → app-bars/app-bar}/index.d.ts +0 -0
  220. /package/dist/esm/types/components/{app-bar → app-bars/app-bar}/mini-app-bar/index.d.ts +0 -0
  221. /package/dist/esm/types/components/{app-bar → app-bars/app-bar}/mini-app-bar/mini-app-bar.d.ts +0 -0
  222. /package/dist/esm/types/components/{center-container → containers/center-container}/center-container.d.ts +0 -0
  223. /package/dist/esm/types/components/{center-container → containers/center-container}/index.d.ts +0 -0
  224. /package/dist/esm/types/components/{content → containers/content}/content.d.ts +0 -0
  225. /package/dist/esm/types/components/{content → containers/content}/content.types.d.ts +0 -0
  226. /package/dist/esm/types/components/{content → containers/content}/index.d.ts +0 -0
  227. /package/dist/esm/types/components/{bullet → data-display/bullet}/bullet.d.ts +0 -0
  228. /package/dist/esm/types/components/{bullet → data-display/bullet}/index.d.ts +0 -0
  229. /package/dist/esm/types/components/{header → data-display/header}/header.d.ts +0 -0
  230. /package/dist/esm/types/components/{header → data-display/header}/header.dummy.d.ts +0 -0
  231. /package/dist/esm/types/components/{header → data-display/header}/header.types.d.ts +0 -0
  232. /package/dist/esm/types/components/{header → data-display/header}/index.d.ts +0 -0
  233. /package/dist/esm/types/components/{label → data-display/label}/index.d.ts +0 -0
  234. /package/dist/esm/types/components/{label → data-display/label}/label.d.ts +0 -0
  235. /package/dist/esm/types/components/{drawer → drawers/drawer}/drawer.context.d.ts +0 -0
  236. /package/dist/esm/types/components/{drawer → drawers/drawer}/drawer.d.ts +0 -0
  237. /package/dist/esm/types/components/{drawer → drawers/drawer}/drawer.mixins.d.ts +0 -0
  238. /package/dist/esm/types/components/{drawer → drawers/drawer}/drawer.mock.d.ts +0 -0
  239. /package/dist/esm/types/components/{drawer → drawers/drawer}/drawer.provider.d.ts +0 -0
  240. /package/dist/esm/types/components/{drawer → drawers/drawer}/index.d.ts +0 -0
  241. /package/dist/esm/types/components/{drawer → drawers/drawer}/mini-drawer/index.d.ts +0 -0
  242. /package/dist/esm/types/components/{drawer → drawers/drawer}/mini-drawer/mini-drawer.d.ts +0 -0
  243. /package/dist/esm/types/components/{drawer-content → drawers/drawer-content}/drawer-content.d.ts +0 -0
  244. /package/dist/esm/types/components/{drawer-content → drawers/drawer-content}/index.d.ts +0 -0
  245. /package/dist/esm/types/components/{drawer-item → drawers/drawer-item}/index.d.ts +0 -0
  246. /package/dist/esm/types/components/{drawer-section → drawers/drawer-section}/drawer-section.mock.d.ts +0 -0
  247. /package/dist/esm/types/components/{drawer-section → drawers/drawer-section}/index.d.ts +0 -0
  248. /package/dist/esm/types/components/{loading-area → feedback/loading-area}/index.d.ts +0 -0
  249. /package/dist/esm/types/components/{loading-area → feedback/loading-area}/loading-area.d.ts +0 -0
  250. /package/dist/esm/types/components/{query-container → feedback/query-container}/index.d.ts +0 -0
  251. /package/dist/esm/types/components/{query-container → feedback/query-container}/query-container.d.ts +0 -0
  252. /package/dist/esm/types/components/{enhanced-select → inputs/enhanced-select}/enhanced-select.d.ts +0 -0
  253. /package/dist/esm/types/components/{enhanced-select → inputs/enhanced-select}/index.d.ts +0 -0
  254. /package/dist/esm/types/components/{sign-in → inputs/sign-in}/index.d.ts +0 -0
  255. /package/dist/esm/types/components/{sign-in → inputs/sign-in}/sign-in.d.ts +0 -0
  256. /package/dist/esm/types/components/{link → navigation/link}/index.d.ts +0 -0
  257. /package/dist/esm/types/components/{link → navigation/link}/link.d.ts +0 -0
  258. /package/dist/esm/types/components/{tab → navigation/tab}/index.d.ts +0 -0
  259. /package/dist/esm/types/components/{tab → navigation/tab}/tab-card/index.d.ts +0 -0
  260. /package/dist/esm/types/components/{tab → navigation/tab}/tab-card/tab-card.d.ts +0 -0
  261. /package/dist/esm/types/components/{tab → navigation/tab}/tab-card/tab-card.dummy.d.ts +0 -0
  262. /package/dist/esm/types/components/{tab → navigation/tab}/tab-panel/index.d.ts +0 -0
  263. /package/dist/esm/types/components/{tab → navigation/tab}/tab-panel/tab-panel.d.ts +0 -0
  264. /package/dist/esm/types/components/{placeholder → placeholders/placeholder}/index.d.ts +0 -0
  265. /package/dist/esm/types/components/{placeholder → placeholders/placeholder}/placeholder.d.ts +0 -0
  266. /package/dist/esm/types/components/{placeholder → placeholders/placeholder}/placeholder.mock.d.ts +0 -0
  267. /package/dist/esm/types/components/{table → tables}/enhanced-remote-table/enhanced-remote-table.d.ts +0 -0
  268. /package/dist/esm/types/components/{table → tables}/enhanced-remote-table/enhanced-remote-table.mock.d.ts +0 -0
  269. /package/dist/esm/types/components/{table → tables}/enhanced-remote-table/index.d.ts +0 -0
  270. /package/dist/esm/types/components/{table → tables}/enhanced-table/enhanced-table-head.d.ts +0 -0
  271. /package/dist/esm/types/components/{table → tables}/enhanced-table/enhanced-table.d.ts +0 -0
  272. /package/dist/esm/types/components/{table → tables}/enhanced-table/enhanced-table.mock.d.ts +0 -0
  273. /package/dist/esm/types/components/{table → tables}/enhanced-table/index.d.ts +0 -0
  274. /package/dist/esm/types/components/{table → tables}/index.d.ts +0 -0
  275. /package/dist/esm/types/{components → generators}/table-list/index.d.ts +0 -0
  276. /package/src/components/{app-bar → app-bars/app-bar}/app-bar.types.ts +0 -0
  277. /package/src/components/{app-bar → app-bars/app-bar}/index.ts +0 -0
  278. /package/src/components/{app-bar → app-bars/app-bar}/mini-app-bar/index.ts +0 -0
  279. /package/src/components/{center-container → containers/center-container}/center-container.test.tsx +0 -0
  280. /package/src/components/{center-container → containers/center-container}/center-container.tsx +0 -0
  281. /package/src/components/{center-container → containers/center-container}/index.ts +0 -0
  282. /package/src/components/{content → containers/content}/content.test.tsx +0 -0
  283. /package/src/components/{content → containers/content}/content.tsx +0 -0
  284. /package/src/components/{content → containers/content}/content.types.ts +0 -0
  285. /package/src/components/{content → containers/content}/index.ts +0 -0
  286. /package/src/components/{bullet → data-display/bullet}/bullet.test.tsx +0 -0
  287. /package/src/components/{bullet → data-display/bullet}/bullet.tsx +0 -0
  288. /package/src/components/{bullet → data-display/bullet}/index.ts +0 -0
  289. /package/src/components/{header → data-display/header}/header.dummy.ts +0 -0
  290. /package/src/components/{header → data-display/header}/header.types.ts +0 -0
  291. /package/src/components/{header → data-display/header}/index.ts +0 -0
  292. /package/src/components/{label → data-display/label}/index.ts +0 -0
  293. /package/src/components/{label → data-display/label}/label.test.tsx +0 -0
  294. /package/src/components/{label → data-display/label}/label.tsx +0 -0
  295. /package/src/components/{drawer → drawers/drawer}/__snapshots__/drawer.test.tsx.snap +0 -0
  296. /package/src/components/{drawer → drawers/drawer}/drawer.context.ts +0 -0
  297. /package/src/components/{drawer → drawers/drawer}/drawer.mixins.ts +0 -0
  298. /package/src/components/{drawer → drawers/drawer}/drawer.provider.tsx +0 -0
  299. /package/src/components/{drawer → drawers/drawer}/drawer.test.tsx +0 -0
  300. /package/src/components/{drawer → drawers/drawer}/drawer.tsx +0 -0
  301. /package/src/components/{drawer → drawers/drawer}/index.ts +0 -0
  302. /package/src/components/{drawer → drawers/drawer}/mini-drawer/index.ts +0 -0
  303. /package/src/components/{drawer-content → drawers/drawer-content}/index.ts +0 -0
  304. /package/src/components/{drawer-item → drawers/drawer-item}/drawer-item.test.tsx +0 -0
  305. /package/src/components/{drawer-item → drawers/drawer-item}/index.ts +0 -0
  306. /package/src/components/{drawer-section → drawers/drawer-section}/drawer-section.mock.tsx +0 -0
  307. /package/src/components/{drawer-section → drawers/drawer-section}/drawer-section.test.tsx +0 -0
  308. /package/src/components/{drawer-section → drawers/drawer-section}/index.ts +0 -0
  309. /package/src/components/{loading-area → feedback/loading-area}/index.ts +0 -0
  310. /package/src/components/{loading-area → feedback/loading-area}/loading-area.test.tsx +0 -0
  311. /package/src/components/{loading-area → feedback/loading-area}/loading-area.tsx +0 -0
  312. /package/src/components/{query-container → feedback/query-container}/index.ts +0 -0
  313. /package/src/components/{query-container → feedback/query-container}/query-container.test.tsx +0 -0
  314. /package/src/components/{query-container → feedback/query-container}/query-container.tsx +0 -0
  315. /package/src/components/{enhanced-select → inputs/enhanced-select}/enhanced-select.test.tsx +0 -0
  316. /package/src/components/{enhanced-select → inputs/enhanced-select}/index.ts +0 -0
  317. /package/src/components/{sign-in → inputs/sign-in}/index.ts +0 -0
  318. /package/src/components/{sign-in → inputs/sign-in}/sign-in.test.tsx +0 -0
  319. /package/src/components/{sign-in → inputs/sign-in}/sign-in.tsx +0 -0
  320. /package/src/components/{link → navigation/link}/index.ts +0 -0
  321. /package/src/components/{link → navigation/link}/link.tsx +0 -0
  322. /package/src/components/{tab → navigation/tab}/index.ts +0 -0
  323. /package/src/components/{tab → navigation/tab}/tab-card/index.ts +0 -0
  324. /package/src/components/{tab → navigation/tab}/tab-card/tab-card.test.tsx +0 -0
  325. /package/src/components/{tab → navigation/tab}/tab-card/tab-card.tsx +0 -0
  326. /package/src/components/{tab → navigation/tab}/tab-panel/index.ts +0 -0
  327. /package/src/components/{tab → navigation/tab}/tab-panel/tab-panel.tsx +0 -0
  328. /package/src/components/{placeholder → placeholders/placeholder}/index.ts +0 -0
  329. /package/src/components/{placeholder → placeholders/placeholder}/placeholder.mock.ts +0 -0
  330. /package/src/components/{placeholder → placeholders/placeholder}/placeholder.test.tsx +0 -0
  331. /package/src/components/{placeholder → placeholders/placeholder}/placeholder.tsx +0 -0
  332. /package/src/components/{table → tables}/enhanced-remote-table/enhanced-remote-table.mock.tsx +0 -0
  333. /package/src/components/{table → tables}/enhanced-remote-table/enhanced-remote-table.test.tsx +0 -0
  334. /package/src/components/{table → tables}/enhanced-remote-table/enhanced-remote-table.tsx +0 -0
  335. /package/src/components/{table → tables}/enhanced-remote-table/index.ts +0 -0
  336. /package/src/components/{table → tables}/enhanced-table/enhanced-table-head.tsx +0 -0
  337. /package/src/components/{table → tables}/enhanced-table/enhanced-table.mock.tsx +0 -0
  338. /package/src/components/{table → tables}/enhanced-table/enhanced-table.test.tsx +0 -0
  339. /package/src/components/{table → tables}/enhanced-table/enhanced-table.tsx +0 -0
  340. /package/src/components/{table → tables}/enhanced-table/index.ts +0 -0
  341. /package/src/components/{table → tables}/index.ts +0 -0
  342. /package/src/{components → generators}/table-list/index.ts +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pautena/react-design-system",
3
- "version": "0.4.3",
3
+ "version": "0.4.4",
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",
@@ -38,25 +38,26 @@
38
38
  "@mui/x-data-grid": "^5.17.24",
39
39
  "@mui/x-date-pickers": "^5.0.19",
40
40
  "date-fns": "^2.29.3",
41
+ "lorem-ipsum": "^2.0.8",
41
42
  "react": "^18.2.0",
42
43
  "react-dom": "^18.2.0",
43
44
  "react-router-dom": "^6.8.1"
44
45
  },
45
46
  "devDependencies": {
46
- "@babel/core": "^7.21.0",
47
- "@babel/preset-env": "^7.20.2",
47
+ "@babel/core": "^7.18.6",
48
+ "@babel/preset-env": "^7.18.6",
48
49
  "@babel/preset-react": "^7.18.6",
49
50
  "@babel/preset-typescript": "^7.21.0",
50
- "@date-io/date-fns": "^2.16.0",
51
- "@faker-js/faker": "^7.6.0",
52
- "@mui/x-data-grid-generator": "^5.17.24",
53
- "@rollup/plugin-alias": "^4.0.3",
54
- "@rollup/plugin-commonjs": "^24.0.1",
55
- "@rollup/plugin-node-resolve": "^15.0.1",
56
- "@rollup/plugin-typescript": "^11.0.0",
57
- "@storybook/addon-actions": "^6.5.16",
58
- "@storybook/addon-essentials": "^6.5.16",
59
- "@storybook/addon-interactions": "^6.5.16",
51
+ "@date-io/date-fns": "^2.15.0",
52
+ "@faker-js/faker": "^7.3.0",
53
+ "@mui/x-data-grid-generator": "^5.13.0",
54
+ "@rollup/plugin-alias": "^3.1.9",
55
+ "@rollup/plugin-commonjs": "^22.0.1",
56
+ "@rollup/plugin-node-resolve": "^13.3.0",
57
+ "@rollup/plugin-typescript": "8.3.3",
58
+ "@storybook/addon-actions": "^6.5.9",
59
+ "@storybook/addon-essentials": "^6.5.9",
60
+ "@storybook/addon-interactions": "^6.5.9",
60
61
  "@storybook/addon-knobs": "^6.4.0",
61
62
  "@storybook/addon-links": "^6.5.16",
62
63
  "@storybook/builder-webpack4": "^6.5.16",
@@ -83,7 +84,6 @@
83
84
  "husky": "^8.0.3",
84
85
  "jest": "^29.4.3",
85
86
  "jest-environment-jsdom": "^29.4.3",
86
- "lorem-ipsum": "^2.0.8",
87
87
  "npm-run-all": "^4.1.5",
88
88
  "prettier": "^2.8.4",
89
89
  "ramda": "^0.28.0",
@@ -106,6 +106,7 @@
106
106
  "@mui/x-date-pickers": "^5.0.0",
107
107
  "@types/react": "^17.0.0 || ^18.0.0",
108
108
  "date-fns": "^2.0.0",
109
+ "lorem-ipsum": "^2.0.0",
109
110
  "react": "^17.0.0 || ^18.0.0",
110
111
  "react-dom": "^17.0.0 || ^18.0.0",
111
112
  "react-router-dom": "^6.0.0"
@@ -1,12 +1,12 @@
1
1
  import React from "react";
2
2
  import { ComponentMeta } from "@storybook/react";
3
- import { createTemplate } from "../../storybook";
3
+ import { createTemplate } from "../../../storybook";
4
4
  import { AppBar } from "./app-bar";
5
- import { DrawerProvider } from "../drawer";
5
+ import { DrawerProvider } from "../../drawers/drawer";
6
6
  import { AppBarProps } from "./app-bar.types";
7
7
 
8
8
  export default {
9
- title: "AppBars/AppBar",
9
+ title: "Components/AppBars/AppBar",
10
10
  component: AppBar,
11
11
  parameters: {
12
12
  layout: "fullscreen",
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import { fireEvent, render, screen } from "~/tests/testing-library";
3
3
  import { AppBar } from "./app-bar";
4
- import { DrawerProvider } from "../drawer";
4
+ import { DrawerProvider } from "../../drawers/drawer";
5
5
  import { AppBarProfile } from "./app-bar.types";
6
6
  import userEvent from "@testing-library/user-event";
7
7
 
@@ -12,7 +12,7 @@ import MenuIcon from "@mui/icons-material/Menu";
12
12
  import SearchIcon from "@mui/icons-material/Search";
13
13
  import AccountCircle from "@mui/icons-material/AccountCircle";
14
14
  import { AppBarComponent, AppBarProps } from "./app-bar.types";
15
- import { useDrawer } from "../drawer/drawer.context";
15
+ import { useDrawer } from "../../drawers/drawer/drawer.context";
16
16
 
17
17
  const Search = styled("div")(({ theme }) => ({
18
18
  position: "relative",
@@ -1,9 +1,9 @@
1
1
  import { styled } from "@mui/material/styles";
2
2
  import { AppBar } from "../app-bar";
3
3
  import { AppBarProps } from "@mui/material";
4
- import { drawerWidth } from "../../drawer/drawer.mixins";
4
+ import { drawerWidth } from "../../../drawers/drawer/drawer.mixins";
5
5
  import { AppBarComponent } from "../app-bar.types";
6
- import { useDrawer } from "../../drawer/drawer.context";
6
+ import { useDrawer } from "../../../drawers/drawer/drawer.context";
7
7
 
8
8
  export const MiniAppBar: AppBarComponent = styled(AppBar)<AppBarProps>(({ theme }) => {
9
9
  const { isOpen } = useDrawer();
@@ -0,0 +1,10 @@
1
+ import { Meta } from '@storybook/addon-docs';
2
+ import LinkTo from '@storybook/addon-links/react';
3
+
4
+ <Meta title="Components/AppBars/Introduction" />
5
+
6
+ # App Bars
7
+
8
+ <ul>
9
+ <li><LinkTo kind="Components/AppBars/AppBar">AppBar</LinkTo></li>
10
+ </ul>
@@ -0,0 +1 @@
1
+ export * from "./app-bar";
@@ -0,0 +1,19 @@
1
+ import { Meta } from '@storybook/addon-docs';
2
+ import LinkTo from '@storybook/addon-links/react';
3
+
4
+ <Meta title="Components/Introduction" />
5
+
6
+ # Components
7
+
8
+ <ul>
9
+ <li><LinkTo kind="Components/Value displays/Introduction">Value displays</LinkTo></li>
10
+ <li><LinkTo kind="Components/Feedback/Introduction">Feedback</LinkTo></li>
11
+ <li><LinkTo kind="Components/AppBars/Introduction">App bars</LinkTo></li>
12
+ <li><LinkTo kind="Components/Data Display/Introduction">Data Display</LinkTo></li>
13
+ <li><LinkTo kind="Components/Containers/Introduction">Containers</LinkTo></li>
14
+ <li><LinkTo kind="Components/Drawers/Introduction">Drawers</LinkTo></li>
15
+ <li><LinkTo kind="Components/Inputs/Introduction">Inputs</LinkTo></li>
16
+ <li><LinkTo kind="Components/Navigation/Introduction">Navigation</LinkTo></li>
17
+ <li><LinkTo kind="Components/Placeholders/Introduction">Placeholders</LinkTo></li>
18
+ <li><LinkTo kind="Components/Tables/Introduction">Tables</LinkTo></li>
19
+ </ul>
@@ -1,11 +1,11 @@
1
1
  import React from "react";
2
2
  import { ComponentMeta } from "@storybook/react";
3
3
  import { CenterContainer, CenterContainerProps } from "./center-container";
4
- import { Label } from "../label";
5
- import { createTemplate, withContainer } from "../../storybook";
4
+ import { Label } from "../../data-display/label";
5
+ import { createTemplate, withContainer } from "../../../storybook";
6
6
 
7
7
  export default {
8
- title: "Containers/CenterContainer",
8
+ title: "Components/Containers/CenterContainer",
9
9
  component: CenterContainer,
10
10
  decorators: [withContainer({ height: 500, bordered: true })],
11
11
  parameters: {
@@ -0,0 +1,11 @@
1
+ import { Meta } from '@storybook/addon-docs';
2
+ import LinkTo from '@storybook/addon-links/react';
3
+
4
+ <Meta title="Components/Containers/Introduction" />
5
+
6
+ # Containers
7
+
8
+ <ul>
9
+ <li><LinkTo kind="Components/Containers/CenterContainer">CenterContainer</LinkTo></li>
10
+ <li><LinkTo kind="Components/Containers/Content">Content</LinkTo></li>
11
+ </ul>
@@ -1,11 +1,11 @@
1
1
  import React from "react";
2
2
  import { ComponentMeta } from "@storybook/react";
3
- import { createTemplate } from "../../storybook";
3
+ import { createTemplate } from "../../../storybook";
4
4
  import { Content } from "./content";
5
- import { SkeletonGrid } from "~/tests/components";
5
+ import { SkeletonGrid } from "~/components/placeholders";
6
6
 
7
7
  export default {
8
- title: "Sections/Content",
8
+ title: "Components/Containers/Content",
9
9
  component: Content,
10
10
  parameters: {
11
11
  layout: "fullscreen",
@@ -0,0 +1,2 @@
1
+ export * from "./content";
2
+ export * from "./center-container";
@@ -1,9 +1,9 @@
1
1
  import { ComponentMeta } from "@storybook/react";
2
- import { createTemplate } from "../../storybook";
2
+ import { createTemplate } from "../../../storybook";
3
3
  import { Bullet } from "./bullet";
4
4
 
5
5
  export default {
6
- title: "Data Display/Bullet",
6
+ title: "Components/Data Display/Bullet",
7
7
  component: Bullet,
8
8
  parameters: {
9
9
  layout: "centered",
@@ -0,0 +1,12 @@
1
+ import { Meta } from '@storybook/addon-docs';
2
+ import LinkTo from '@storybook/addon-links/react';
3
+
4
+ <Meta title="Components/Data Display/Introduction" />
5
+
6
+ # App Bars
7
+
8
+ <ul>
9
+ <li><LinkTo kind="Components/Data Display/Bullet">Bullet</LinkTo></li>
10
+ <li><LinkTo kind="Components/Data Display/Label">Label</LinkTo></li>
11
+ <li><LinkTo kind="Components/Data Display/Header">Header</LinkTo></li>
12
+ </ul>
@@ -1,11 +1,11 @@
1
1
  import { ComponentMeta } from "@storybook/react";
2
- import { createTemplate } from "../../storybook";
2
+ import { createTemplate } from "../../../storybook";
3
3
  import { Header } from "./header";
4
4
  import { withMemoryRouter } from "~/storybook";
5
5
  import { breadcrumbs, tabs, actions } from "./header.dummy";
6
6
 
7
7
  export default {
8
- title: "Sections/Header",
8
+ title: "Components/Data Display/Header",
9
9
  component: Header,
10
10
  decorators: [withMemoryRouter()],
11
11
  parameters: {
@@ -10,7 +10,7 @@ import {
10
10
  HeaderTab,
11
11
  } from "./header.types";
12
12
  import { breadcrumbs, actions as actionsData, tabs } from "./header.dummy";
13
- import { TabProvider } from "../../providers";
13
+ import { TabProvider } from "../../../providers";
14
14
 
15
15
  const actions = actionsData.map((a) => ({ ...a, onClick: a.onClick && jest.fn() }));
16
16
 
@@ -9,8 +9,8 @@ import {
9
9
  Tab,
10
10
  Button,
11
11
  } from "@mui/material";
12
- import { Link } from "../link";
13
- import { useGetDefaultThemeColor } from "../../utils";
12
+ import { Link } from "../../navigation/link";
13
+ import { useGetDefaultThemeColor } from "../../../utils";
14
14
  import { HeaderComponent, HeaderPreset, HeaderProps } from "./header.types";
15
15
  import { useTab } from "~/providers";
16
16
 
@@ -0,0 +1,3 @@
1
+ export * from "./bullet";
2
+ export * from "./label";
3
+ export * from "./header";
@@ -1,9 +1,9 @@
1
1
  import { ComponentMeta } from "@storybook/react";
2
- import { createTemplate } from "../../storybook";
2
+ import { createTemplate } from "../../../storybook";
3
3
  import { Label } from "./label";
4
4
 
5
5
  export default {
6
- title: "Data Display/Label",
6
+ title: "Components/Data Display/Label",
7
7
  component: Label,
8
8
  parameters: {
9
9
  layout: "centered",
@@ -2,6 +2,7 @@ import React from "react";
2
2
  import { DrawerContentComponent, Nav } from "./drawer.types";
3
3
  import DiamondIcon from "@mui/icons-material/Diamond";
4
4
  import MenuBookIcon from "@mui/icons-material/MenuBook";
5
+ import AccountTreeIcon from "@mui/icons-material/AccountTree";
5
6
  import { Box, Typography } from "@mui/material";
6
7
 
7
8
  export const mockNav: Nav = {
@@ -63,6 +64,32 @@ export const mockNav: Nav = {
63
64
  variant: "info",
64
65
  },
65
66
  },
67
+ {
68
+ id: "item2.3",
69
+ text: "Item 2.3",
70
+ href: "/items/2-3",
71
+ icon: <AccountTreeIcon />,
72
+ items: [
73
+ {
74
+ id: "item2.3.1",
75
+ text: "Item 2.3.1",
76
+ href: "/items/2-3-1",
77
+ icon: <DiamondIcon />,
78
+ },
79
+ {
80
+ id: "item2.3.2",
81
+ text: "Item 2.3.2",
82
+ href: "/items/2-3-2",
83
+ icon: <MenuBookIcon />,
84
+ },
85
+ {
86
+ id: "item2.3.3",
87
+ text: "Item 2.3.3",
88
+ href: "/items/2-3-3",
89
+ icon: <DiamondIcon />,
90
+ },
91
+ ],
92
+ },
66
93
  ],
67
94
  },
68
95
  {
@@ -1,6 +1,5 @@
1
1
  import { FunctionComponent, ReactElement } from "react";
2
- import { BulletVariant } from "../bullet";
3
- import { LabelVariant } from "../label";
2
+ import { BulletVariant, LabelVariant } from "../../data-display";
4
3
  import { DrawerProps as MuiDrawerProps } from "@mui/material";
5
4
 
6
5
  export interface NavItemAvatar {
@@ -17,7 +16,7 @@ export interface NavItemBullet {
17
16
  variant: BulletVariant;
18
17
  }
19
18
 
20
- export interface NavItem {
19
+ export interface NavItemLink {
21
20
  id: string;
22
21
  text: string;
23
22
  href: string;
@@ -27,6 +26,12 @@ export interface NavItem {
27
26
  bullet?: NavItemBullet;
28
27
  }
29
28
 
29
+ export type NavItemCollapsable = Pick<NavItemLink, "id" | "text" | "icon"> & {
30
+ items: NavItemLink[];
31
+ };
32
+
33
+ export type NavItem = NavItemLink | NavItemCollapsable;
34
+
30
35
  export interface NavSection {
31
36
  title?: string;
32
37
  items: NavItem[];
@@ -37,6 +42,10 @@ export interface Nav {
37
42
  }
38
43
 
39
44
  export interface DrawerContentProps {
45
+ /**
46
+ * Item currently selected in the navigation
47
+ */
48
+ selectedItem?: string;
40
49
  /**
41
50
  * Object with the content that has to be rendered
42
51
  */
@@ -1,14 +1,14 @@
1
1
  import React from "react";
2
2
  import { ComponentMeta } from "@storybook/react";
3
- import { MiniDrawer } from "../mini-drawer";
3
+ import { MiniDrawer } from ".";
4
4
  import { mockNav } from "../drawer.mock";
5
5
  import { DrawerContent } from "../../drawer-content";
6
6
  import { DrawerProvider } from "../drawer.provider";
7
7
  import { Nav } from "../drawer.types";
8
- import { withMemoryRouter } from "../../../storybook";
8
+ import { withMemoryRouter } from "../../../../storybook";
9
9
 
10
10
  export default {
11
- title: "Drawers/MiniDrawer",
11
+ title: "Components/Drawers/MiniDrawer",
12
12
  component: MiniDrawer,
13
13
  decorators: [withMemoryRouter()],
14
14
  parameters: {
@@ -8,8 +8,7 @@ import {
8
8
  listItemTextClasses,
9
9
  listSubheaderClasses,
10
10
  } from "@mui/material";
11
- import { labelClasses } from "../../label";
12
- import { bulletClasses } from "../../bullet";
11
+ import { labelClasses, bulletClasses } from "../../../data-display";
13
12
 
14
13
  export const MiniDrawer = styled(Drawer)(({ theme }) => {
15
14
  const { isOpen } = useDrawer();
@@ -0,0 +1,62 @@
1
+ import React from "react";
2
+ import { render, screen } from "~/tests/testing-library";
3
+ import userEvent from "@testing-library/user-event";
4
+ import { DrawerCollapsableItem } from "./drawer-collapsable-item";
5
+
6
+ interface RenderComponentOptions {
7
+ selected?: boolean;
8
+ }
9
+
10
+ describe("DrawerCollapsableItem", () => {
11
+ const renderComponent = ({ selected }: RenderComponentOptions = {}) => {
12
+ const items = [
13
+ {
14
+ id: "item2.3.1",
15
+ text: "Item 2.3.1",
16
+ href: "/items/2-3-1",
17
+ },
18
+ {
19
+ id: "item2.3.2",
20
+ text: "Item 2.3.2",
21
+ href: "/items/2-3-2",
22
+ },
23
+ {
24
+ id: "item2.3.3",
25
+ text: "Item 2.3.3",
26
+ href: "/items/2-3-3",
27
+ },
28
+ ];
29
+ render(
30
+ <DrawerCollapsableItem
31
+ selectedItem="item2.3.2"
32
+ text="lorem ipsum"
33
+ items={items}
34
+ selected={selected}
35
+ />,
36
+ );
37
+ };
38
+
39
+ it("should render a text", () => {
40
+ renderComponent();
41
+
42
+ expect(screen.getByText(/lorem ipsum/i)).toBeVisible();
43
+ });
44
+
45
+ it("should be closed by default", () => {
46
+ renderComponent();
47
+
48
+ expect(screen.queryByText(/item 2.3.1/i)).toBeFalsy();
49
+ expect(screen.queryByText(/item 2.3.2/i)).toBeFalsy();
50
+ expect(screen.queryByText(/item 2.3.3/i)).toBeFalsy();
51
+ });
52
+
53
+ it("should render the items if the user click the button", async () => {
54
+ renderComponent();
55
+
56
+ await userEvent.click(screen.getByRole("button"));
57
+
58
+ expect(screen.getByText(/item 2.3.1/i)).toBeVisible();
59
+ expect(screen.getByText(/item 2.3.2/i)).toBeVisible();
60
+ expect(screen.getByText(/item 2.3.3/i)).toBeVisible();
61
+ });
62
+ });
@@ -0,0 +1,78 @@
1
+ import {
2
+ ListItem,
3
+ ListItemButton,
4
+ ListItemIcon,
5
+ ListItemAvatar,
6
+ Avatar,
7
+ ListItemText,
8
+ Collapse,
9
+ List,
10
+ } from "@mui/material";
11
+ import React, { ReactElement, useState } from "react";
12
+ import { NavItem, NavItemLink } from "../drawer/drawer.types";
13
+ import ExpandLess from "@mui/icons-material/ExpandLess";
14
+ import ExpandMore from "@mui/icons-material/ExpandMore";
15
+ import { DrawerItem } from "../drawer-item";
16
+
17
+ export interface DrawerCollapsableItemProps {
18
+ /**
19
+ * Text displayed inside the item
20
+ */
21
+ text: string;
22
+ /**
23
+ * Icon displayed to the left
24
+ */
25
+ icon?: ReactElement;
26
+ /**
27
+ * The item has to be marked as selected
28
+ */
29
+ selected?: boolean;
30
+ /**
31
+ * Id of the item that has to be marked as selected;
32
+ */
33
+ selectedItem?: string;
34
+ /**
35
+ * Items that are going to be displayed inside
36
+ * the collapsable
37
+ */
38
+ items: NavItemLink[];
39
+ }
40
+
41
+ export const DrawerCollapsableItem = ({
42
+ text,
43
+ icon,
44
+ selected,
45
+ selectedItem,
46
+ items,
47
+ }: DrawerCollapsableItemProps) => {
48
+ const [open, setOpen] = useState(false);
49
+
50
+ return (
51
+ <>
52
+ <ListItem disablePadding sx={{ display: "block" }}>
53
+ <ListItemButton selected={selected} onClick={() => setOpen((o) => !o)}>
54
+ {icon && <ListItemIcon>{icon}</ListItemIcon>}
55
+ <ListItemText primary={text} />
56
+ {open ? <ExpandLess /> : <ExpandMore />}
57
+ </ListItemButton>
58
+ </ListItem>
59
+ <Collapse in={open} timeout="auto" unmountOnExit>
60
+ <List component="div" disablePadding>
61
+ {items.map(({ id, text, icon, avatar, label, bullet, href }) => (
62
+ <DrawerItem
63
+ key={id}
64
+ selected={id === selectedItem}
65
+ text={text}
66
+ icon={icon}
67
+ avatar={avatar}
68
+ label={label}
69
+ bullet={bullet}
70
+ href={href}
71
+ sx={{ pl: 4 }}
72
+ />
73
+ ))}
74
+ </List>
75
+ </Collapse>
76
+ </>
77
+ );
78
+ };
@@ -0,0 +1 @@
1
+ export * from "./drawer-collapsable-item";
@@ -1,13 +1,13 @@
1
1
  import React from "react";
2
2
  import { ComponentMeta } from "@storybook/react";
3
- import { createTemplate } from "../../storybook";
3
+ import { createTemplate } from "../../../storybook";
4
4
  import { DrawerContent } from "./drawer-content";
5
5
  import { mockNav } from "../drawer/drawer.mock";
6
6
  import { Box } from "@mui/material";
7
7
  import { withMemoryRouter } from "~/storybook";
8
8
 
9
9
  export default {
10
- title: "Drawers/DrawerContent",
10
+ title: "Components/Drawers/DrawerContent",
11
11
  component: DrawerContent,
12
12
  decorators: [
13
13
  withMemoryRouter(),
@@ -24,5 +24,6 @@ const Template = createTemplate(DrawerContent);
24
24
 
25
25
  export const Default = Template.bind({});
26
26
  Default.args = {
27
+ selectedItem: "item2.3.2",
27
28
  nav: mockNav,
28
29
  };
@@ -1,5 +1,6 @@
1
1
  import React from "react";
2
2
  import { render, screen } from "~/tests/testing-library";
3
+ import userEvent from "@testing-library/user-event";
3
4
  import { mockNav } from "../drawer/drawer.mock";
4
5
  import { DrawerContent } from "./drawer-content";
5
6
 
@@ -31,4 +32,28 @@ describe("DrawerContent", () => {
31
32
 
32
33
  expect(screen.getByRole("link", { name: itemText })).toBeInTheDocument();
33
34
  });
35
+
36
+ it("should render the item 2.3 as a button", () => {
37
+ renderComponent();
38
+
39
+ expect(screen.getByRole("button", { name: /item 2.3/i })).toBeInTheDocument();
40
+ });
41
+
42
+ it("shouldn't render the collapsed 2.3 items by default", () => {
43
+ renderComponent();
44
+
45
+ expect(screen.queryByText(/item 2.3.1/i)).toBeFalsy();
46
+ expect(screen.queryByText(/item 2.3.2/i)).toBeFalsy();
47
+ expect(screen.queryByText(/item 2.3.3/i)).toBeFalsy();
48
+ });
49
+
50
+ it("should render the 2.3 teims if the user click the button", async () => {
51
+ renderComponent();
52
+
53
+ await userEvent.click(screen.getByText(/item 2.3/i));
54
+
55
+ expect(screen.getByText(/item 2.3.1/i)).toBeVisible();
56
+ expect(screen.getByText(/item 2.3.2/i)).toBeVisible();
57
+ expect(screen.getByText(/item 2.3.3/i)).toBeVisible();
58
+ });
34
59
  });
@@ -5,13 +5,14 @@ import { DrawerContentComponent, DrawerContentProps } from "../drawer/drawer.typ
5
5
  /**
6
6
  * Content to be shown inside a navigation
7
7
  */
8
- export const DrawerContent: DrawerContentComponent = ({ nav }: DrawerContentProps) => {
9
- const { items } = nav;
10
-
8
+ export const DrawerContent: DrawerContentComponent = ({
9
+ nav: { items },
10
+ selectedItem,
11
+ }: DrawerContentProps) => {
11
12
  return (
12
13
  <>
13
14
  {items.map(({ title, items }, i) => (
14
- <DrawerSection key={i} title={title} items={items} />
15
+ <DrawerSection key={i} title={title} items={items} selectedItem={selectedItem} />
15
16
  ))}
16
17
  </>
17
18
  );
@@ -1,13 +1,12 @@
1
1
  import React from "react";
2
2
  import { ComponentMeta } from "@storybook/react";
3
- import { createTemplate } from "../../storybook";
3
+ import { createTemplate, withContainer } from "../../../storybook";
4
4
  import { DrawerItem } from "./drawer-item";
5
5
  import DiamondIcon from "@mui/icons-material/Diamond";
6
- import { withContainer } from "../../storybook";
7
6
  import { withMemoryRouter } from "~/storybook";
8
7
 
9
8
  export default {
10
- title: "Drawers/DrawerItem",
9
+ title: "Components/Drawers/DrawerItem",
11
10
  component: DrawerItem,
12
11
  decorators: [withMemoryRouter(), withContainer({ width: 250 })],
13
12
  parameters: {