@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
@@ -1,5 +1,5 @@
1
1
  import { grey } from "@mui/material/colors";
2
- import { ComponentMeta, ComponentStory } from "@storybook/react";
2
+ import { Meta, StoryObj } from "@storybook/react";
3
3
  import React from "react";
4
4
  import { withContainer, withLocalizationProvider } from "~/storybook";
5
5
  import { SearchInput } from "./search-input";
@@ -14,44 +14,48 @@ export default {
14
14
  parameters: {
15
15
  layout: "centered",
16
16
  },
17
- } as ComponentMeta<typeof SearchInput>;
17
+ } satisfies Meta<typeof SearchInput>;
18
+ type Story = StoryObj<typeof SearchInput>;
18
19
 
19
- const Template: ComponentStory<typeof SearchInput> = (args) => <SearchInput {...args} />;
20
-
21
- export const Label = Template.bind({});
22
- Label.args = {
23
- label: "Lorem ipsum",
24
- fullWidth: true,
20
+ export const Label: Story = {
21
+ args: {
22
+ label: "Lorem ipsum",
23
+ fullWidth: true,
24
+ },
25
25
  };
26
26
 
27
- export const Placeholder = Template.bind({});
28
- Placeholder.args = {
29
- placeholder: "Lorem ipsum",
30
- fullWidth: true,
27
+ export const Placeholder: Story = {
28
+ args: {
29
+ placeholder: "Lorem ipsum",
30
+ fullWidth: true,
31
+ },
31
32
  };
32
33
 
33
- export const HelperText = Template.bind({});
34
- HelperText.args = {
35
- placeholder: "Lorem ipsum",
36
- fullWidth: true,
37
- helperText: "this is a helper text",
34
+ export const HelperText: Story = {
35
+ args: {
36
+ placeholder: "Lorem ipsum",
37
+ fullWidth: true,
38
+ helperText: "this is a helper text",
39
+ },
38
40
  };
39
41
 
40
- export const Small = Template.bind({});
41
- Small.args = {
42
- placeholder: "Lorem ipsum",
43
- fullWidth: true,
44
- size: "small",
42
+ export const Small: Story = {
43
+ args: {
44
+ placeholder: "Lorem ipsum",
45
+ fullWidth: true,
46
+ size: "small",
47
+ },
45
48
  };
46
49
 
47
- export const WithFilters = Template.bind({});
48
- WithFilters.args = {
49
- placeholder: "Lorem ipsum",
50
- fullWidth: true,
51
- filters: [
52
- { id: "subject", type: "text", label: "Subject" },
53
- { id: "amount", type: "number", label: "Amount" },
54
- { id: "hasSomething", type: "boolean", label: "Has something" },
55
- { id: "createdBefore", type: "datetime", label: "Created before" },
56
- ],
50
+ export const WithFilters: Story = {
51
+ args: {
52
+ placeholder: "Lorem ipsum",
53
+ fullWidth: true,
54
+ filters: [
55
+ { id: "subject", type: "text", label: "Subject" },
56
+ { id: "amount", type: "number", label: "Amount" },
57
+ { id: "hasSomething", type: "boolean", label: "Has something" },
58
+ { id: "createdBefore", type: "datetime", label: "Created before" },
59
+ ],
60
+ },
57
61
  };
@@ -4,6 +4,7 @@ import { SearchInput } from "./search-input";
4
4
  import userEvent from "@testing-library/user-event";
5
5
  import { pickDatetime, typeNumericInput } from "~/tests/actions";
6
6
  import { assertCloseDate, AssertCloseDateUpTo } from "~/tests/assertions";
7
+ import { vi } from "vitest";
7
8
 
8
9
  const datetimeFormat = "dd-MM-yyyy HH:mm:ss.SSS";
9
10
  const createdBefore = new Date(2022, 2, 17, 12, 42);
@@ -26,7 +27,7 @@ describe("SearchInput", () => {
26
27
  label = "search",
27
28
  placeholder,
28
29
  }: { label?: string; placeholder?: string } = {}) => {
29
- const onSearch = jest.fn();
30
+ const onSearch = vi.fn();
30
31
  render(
31
32
  <SearchInput
32
33
  label={label}
@@ -0,0 +1 @@
1
+ export * from "./select";
@@ -0,0 +1,107 @@
1
+ import { Box, MenuItem, useTheme } from "@mui/material";
2
+ import { Meta, StoryObj } from "@storybook/react";
3
+ import React, { ReactNode } from "react";
4
+ import { withContainer } from "../../../storybook";
5
+ import { Select, SelectProps, SelectSize } from "./select";
6
+ import { faker } from "@faker-js/faker";
7
+
8
+ const baseArgs = {
9
+ label: "Car model",
10
+ value: faker.vehicle.model(),
11
+ size: "medium" as SelectSize,
12
+ fetching: false,
13
+ loading: false,
14
+ fullWidth: true,
15
+ options: faker.definitions.vehicle?.model || [],
16
+ };
17
+
18
+ interface TemplateProps<T extends ReactNode> extends SelectProps<T> {
19
+ options: T[];
20
+ }
21
+
22
+ const DemoSelect = ({ options, ...rest }: TemplateProps<string>) => {
23
+ return (
24
+ <Select {...rest}>
25
+ {options.map((option) => (
26
+ <MenuItem key={option} value={option}>
27
+ {option}
28
+ </MenuItem>
29
+ ))}
30
+ </Select>
31
+ );
32
+ };
33
+
34
+ export default {
35
+ title: "Components/Inputs/Select",
36
+ component: DemoSelect,
37
+ decorators: [withContainer({ width: 200 })],
38
+ parameters: {
39
+ layout: "centered",
40
+ },
41
+ } satisfies Meta<typeof DemoSelect>;
42
+ type Story = StoryObj<typeof DemoSelect>;
43
+
44
+ export const WithoutFullWidth: Story = {
45
+ args: {
46
+ ...baseArgs,
47
+ fullWidth: false,
48
+ },
49
+ };
50
+
51
+ export const SelectLoaded: Story = {
52
+ args: {
53
+ ...baseArgs,
54
+ },
55
+ };
56
+
57
+ export const Loading: Story = {
58
+ args: {
59
+ ...baseArgs,
60
+ loading: true,
61
+ },
62
+ };
63
+
64
+ export const Fetching: Story = {
65
+ args: {
66
+ ...baseArgs,
67
+ fetching: true,
68
+ },
69
+ };
70
+
71
+ export const SizeSmall: Story = {
72
+ args: {
73
+ ...baseArgs,
74
+ size: "small",
75
+ },
76
+ };
77
+
78
+ type WithBackgroundProps = TemplateProps<string> & { bgcolor: "primary" | "secondary" };
79
+
80
+ export const WithBackground = {
81
+ render: ({ options, bgcolor: bgcolorProp, ...rest }: WithBackgroundProps) => {
82
+ const { palette } = useTheme();
83
+ const BackgroundColors: Record<"primary" | "secondary", string> = {
84
+ primary: palette.primary.main,
85
+ secondary: palette.secondary.main,
86
+ };
87
+ const bgcolor = BackgroundColors[bgcolorProp];
88
+ const selectColor = palette.getContrastText(bgcolor);
89
+
90
+ return (
91
+ <Box bgcolor={bgcolor} padding={3}>
92
+ <Select {...rest} color={selectColor}>
93
+ {options.map((option) => (
94
+ <MenuItem key={option} value={option}>
95
+ {option}
96
+ </MenuItem>
97
+ ))}
98
+ </Select>
99
+ </Box>
100
+ );
101
+ },
102
+
103
+ args: {
104
+ bgcolor: "secondary",
105
+ ...baseArgs,
106
+ },
107
+ };
@@ -1,26 +1,27 @@
1
1
  import React from "react";
2
- import { EnhancedSelectLoaded } from "./enhanced-select.stories";
2
+ import { SelectLoaded } from "./select.stories";
3
3
  import { render, screen } from "~/tests/testing-library";
4
4
  import userEvent from "@testing-library/user-event";
5
+ import { Select } from "./select";
6
+ import { MenuItem } from "@mui/material";
5
7
 
6
- describe("EnhancedSelect", () => {
8
+ describe("Select", () => {
7
9
  const renderComponent = ({
8
- label = EnhancedSelectLoaded.args?.label || "invalid",
10
+ label = SelectLoaded.args?.label || "invalid",
9
11
  loading = false,
10
12
  fetching = false,
11
13
  } = {}) => {
12
- const options = (EnhancedSelectLoaded.args?.options as string[]) || [];
13
- const value = EnhancedSelectLoaded.args?.value as string;
14
+ const options = (SelectLoaded.args?.options as string[]) || [];
15
+ const value = SelectLoaded.args?.value as string;
14
16
 
15
17
  render(
16
- <EnhancedSelectLoaded
17
- {...EnhancedSelectLoaded.args}
18
- options={options}
19
- value={value}
20
- label={label}
21
- loading={loading}
22
- fetching={fetching}
23
- />,
18
+ <Select value={value} label={label} loading={loading} fetching={fetching}>
19
+ {options.map((option) => (
20
+ <MenuItem key={option} value={option}>
21
+ {option}
22
+ </MenuItem>
23
+ ))}
24
+ </Select>,
24
25
  );
25
26
 
26
27
  return {
@@ -5,32 +5,32 @@ import {
5
5
  FormControl,
6
6
  InputLabel,
7
7
  LinearProgress,
8
- Select,
8
+ Select as MuiSelect,
9
9
  styled,
10
10
  } from "@mui/material";
11
11
  import { CenterContainer } from "../../containers/center-container";
12
12
  import { SelectInputProps } from "@mui/material/Select/SelectInput";
13
13
 
14
- export type EnhancedSelectSize = "small" | "medium";
14
+ export type SelectSize = "small" | "medium";
15
15
 
16
- export interface EnhancedSelectProps<T> {
16
+ export interface SelectProps<T> {
17
17
  label: string;
18
18
  value: T;
19
19
  loading?: boolean;
20
20
  fetching?: boolean;
21
- size?: EnhancedSelectSize;
21
+ size?: SelectSize;
22
22
  color?: string;
23
23
  fullWidth?: boolean;
24
24
  children?: ReactNode;
25
25
  onChange?: SelectInputProps<T>["onChange"];
26
26
  }
27
27
 
28
- const ProgressSize: Record<EnhancedSelectSize, number> = {
28
+ const ProgressSize: Record<SelectSize, number> = {
29
29
  small: 15,
30
30
  medium: 20,
31
31
  };
32
32
 
33
- export const EnhancedSelect = <T extends ReactNode>({
33
+ export const Select = <T extends ReactNode>({
34
34
  label,
35
35
  value,
36
36
  loading = false,
@@ -40,7 +40,7 @@ export const EnhancedSelect = <T extends ReactNode>({
40
40
  color,
41
41
  children,
42
42
  onChange,
43
- }: EnhancedSelectProps<T>) => {
43
+ }: SelectProps<T>) => {
44
44
  const id = useId();
45
45
 
46
46
  const renderValue = (value: T): ReactNode => {
@@ -91,7 +91,7 @@ export const EnhancedSelect = <T extends ReactNode>({
91
91
  return (
92
92
  <StyledFormControl fullWidth={fullWidth}>
93
93
  <InputLabel id={id}>{label}</InputLabel>
94
- <Select
94
+ <MuiSelect
95
95
  labelId={id}
96
96
  id={id}
97
97
  value={value}
@@ -102,7 +102,7 @@ export const EnhancedSelect = <T extends ReactNode>({
102
102
  renderValue={renderValue}
103
103
  >
104
104
  {children}
105
- </Select>
105
+ </MuiSelect>
106
106
  </StyledFormControl>
107
107
  );
108
108
  };
@@ -1,6 +1,5 @@
1
- import { ComponentMeta } from "@storybook/react";
1
+ import { Meta, StoryObj } from "@storybook/react";
2
2
  import { SignIn } from "./sign-in";
3
- import { createTemplate } from "../../../storybook";
4
3
 
5
4
  export default {
6
5
  title: "Components/Inputs/Sign In",
@@ -8,29 +7,31 @@ export default {
8
7
  parameters: {
9
8
  layout: "centered",
10
9
  },
11
- } as ComponentMeta<typeof SignIn>;
10
+ } satisfies Meta<typeof SignIn>;
11
+ type Story = StoryObj<typeof SignIn>;
12
12
 
13
- const Template = createTemplate(SignIn);
14
-
15
- export const Default = Template.bind({});
16
- Default.args = {
17
- title: "Sign in into Garmin Workouts",
18
- subtitle: "Enter your details below",
13
+ export const Default: Story = {
14
+ args: {
15
+ title: "Sign in into Garmin Workouts",
16
+ subtitle: "Enter your details below",
17
+ },
19
18
  };
20
19
 
21
- export const Error = Template.bind({});
22
- Error.args = {
23
- title: "Sign in into Garmin Workouts",
24
- subtitle: "Enter your details below",
25
- error: {
26
- name: "InvalidCredentials",
27
- message: "Invalid user credentials",
20
+ export const Error: Story = {
21
+ args: {
22
+ title: "Sign in into Garmin Workouts",
23
+ subtitle: "Enter your details below",
24
+ error: {
25
+ name: "InvalidCredentials",
26
+ message: "Invalid user credentials",
27
+ },
28
28
  },
29
29
  };
30
30
 
31
- export const Loading = Template.bind({});
32
- Loading.args = {
33
- title: "Sign in into Garmin Workouts",
34
- subtitle: "Enter your details below",
35
- loading: true,
31
+ export const Loading: Story = {
32
+ args: {
33
+ title: "Sign in into Garmin Workouts",
34
+ subtitle: "Enter your details below",
35
+ loading: true,
36
+ },
36
37
  };
@@ -3,6 +3,7 @@ import { SignIn } from "./sign-in";
3
3
  import { render, screen } from "~/tests/testing-library";
4
4
  import userEvent from "@testing-library/user-event";
5
5
  import { expectProgressIndicator } from "~/tests/assertions";
6
+ import { vi } from "vitest";
6
7
 
7
8
  async function submitSignIn(email: string | null, password: string | null) {
8
9
  email && (await userEvent.type(screen.getByRole("input", { name: /email/i }), email));
@@ -22,7 +23,7 @@ describe("SignIn", () => {
22
23
  });
23
24
 
24
25
  it("if I enter an email and a password and I submit onSubmitSignIn is called", async () => {
25
- const onSubmitSignIn = jest.fn();
26
+ const onSubmitSignIn = vi.fn();
26
27
  render(<SignIn title="Lorem ipsum" subtitle="Sit amet" onSubmitSignIn={onSubmitSignIn} />);
27
28
 
28
29
  await submitSignIn("test@example.com", "password1");
@@ -32,7 +33,7 @@ describe("SignIn", () => {
32
33
  });
33
34
 
34
35
  it("if I don't enter an email and I submit an error is shown and onSubmitSignIn is not called", async () => {
35
- const onSubmitSignIn = jest.fn();
36
+ const onSubmitSignIn = vi.fn();
36
37
  render(<SignIn title="Lorem ipsum" subtitle="Sit amet" onSubmitSignIn={onSubmitSignIn} />);
37
38
 
38
39
  await submitSignIn(null, "password1");
@@ -42,7 +43,7 @@ describe("SignIn", () => {
42
43
  });
43
44
 
44
45
  it("if I don't enter a valid email and I submit onSubmitSignIn is not called", async () => {
45
- const onSubmitSignIn = jest.fn();
46
+ const onSubmitSignIn = vi.fn();
46
47
  render(<SignIn title="Lorem ipsum" subtitle="Sit amet" onSubmitSignIn={onSubmitSignIn} />);
47
48
 
48
49
  await submitSignIn("invalid.com", "password1");
@@ -51,7 +52,7 @@ describe("SignIn", () => {
51
52
  });
52
53
 
53
54
  it("if I don't enter an password and I submit an error is shown and onSubmitSignIn is not called", async () => {
54
- const onSubmitSignIn = jest.fn();
55
+ const onSubmitSignIn = vi.fn();
55
56
  render(<SignIn title="Lorem ipsum" subtitle="Sit amet" onSubmitSignIn={onSubmitSignIn} />);
56
57
 
57
58
  await submitSignIn("test@example.com", null);
@@ -61,7 +62,7 @@ describe("SignIn", () => {
61
62
  });
62
63
 
63
64
  it("if I have an error and I enter the fields the errors are removed when I submit", async () => {
64
- const onSubmitSignIn = jest.fn();
65
+ const onSubmitSignIn = vi.fn();
65
66
  render(<SignIn title="Lorem ipsum" subtitle="Sit amet" onSubmitSignIn={onSubmitSignIn} />);
66
67
 
67
68
  await userEvent.click(screen.getByRole("button", { name: /sign in/i }));
@@ -0,0 +1 @@
1
+ export * from "./text-field";
@@ -0,0 +1,128 @@
1
+ import { Meta, StoryObj } from "@storybook/react";
2
+ import { withContainer } from "../../../storybook";
3
+ import { TextField } from "./text-field";
4
+ import { faker } from "@faker-js/faker";
5
+ import { Box, IconButton, useTheme } from "@mui/material";
6
+ import ClearIcon from "@mui/icons-material/Clear";
7
+ import React from "react";
8
+
9
+ export default {
10
+ title: "Components/Inputs/TextField",
11
+ component: TextField,
12
+ decorators: [withContainer({ width: 200 })],
13
+ parameters: {
14
+ layout: "centered",
15
+ },
16
+ } satisfies Meta<typeof TextField>;
17
+ type Story = StoryObj<typeof TextField>;
18
+
19
+ const options: string[] = faker.definitions.vehicle?.model || [];
20
+
21
+ export const Default: Story = {
22
+ args: {
23
+ label: "Car model",
24
+ },
25
+ };
26
+
27
+ export const HelperText: Story = {
28
+ args: {
29
+ ...Default.args,
30
+ helperText: "This is a helper text",
31
+ },
32
+ };
33
+
34
+ export const Loading: Story = {
35
+ args: {
36
+ ...Default.args,
37
+ loading: true,
38
+ },
39
+ };
40
+
41
+ export const LoadingWithValue: Story = {
42
+ args: {
43
+ ...Default.args,
44
+ loading: true,
45
+ value: options[0],
46
+ },
47
+ };
48
+
49
+ export const Fetching: Story = {
50
+ args: {
51
+ ...Default.args,
52
+ fetching: true,
53
+ },
54
+ };
55
+
56
+ export const FetchingWithEndAdornment: Story = {
57
+ args: {
58
+ ...Default.args,
59
+ fetching: true,
60
+ InputProps: {
61
+ endAdornment: (
62
+ <IconButton>
63
+ <ClearIcon />
64
+ </IconButton>
65
+ ),
66
+ },
67
+ },
68
+ };
69
+
70
+ export const SizeSmall: Story = {
71
+ args: {
72
+ ...Default.args,
73
+ size: "small",
74
+ },
75
+ };
76
+
77
+ export const SizeSmallFetching: Story = {
78
+ args: {
79
+ ...Default.args,
80
+ size: "small",
81
+ fetching: true,
82
+ },
83
+ };
84
+
85
+ export const Disabled: Story = {
86
+ args: {
87
+ ...Default.args,
88
+ disabled: true,
89
+ },
90
+ };
91
+
92
+ export const SizeSmallLoading: Story = {
93
+ args: {
94
+ ...Default.args,
95
+ size: "small",
96
+ loading: true,
97
+ },
98
+ };
99
+
100
+ type WithBackgroundProps = {
101
+ bgcolor: "primary" | "secondary";
102
+ fetching?: boolean;
103
+ loading?: boolean;
104
+ };
105
+
106
+ export const WithBackground = {
107
+ render: ({ bgcolor: bgcolorProp, fetching, loading }: WithBackgroundProps) => {
108
+ const { palette } = useTheme();
109
+ const BackgroundColors: Record<"primary" | "secondary", string> = {
110
+ primary: palette.primary.main,
111
+ secondary: palette.secondary.main,
112
+ };
113
+ const bgcolor = BackgroundColors[bgcolorProp];
114
+ const color = palette.getContrastText(bgcolor);
115
+
116
+ return (
117
+ <Box bgcolor={bgcolor} padding={3}>
118
+ <TextField label="Car model" hexColor={color} fetching={fetching} loading={loading} />
119
+ </Box>
120
+ );
121
+ },
122
+
123
+ args: {
124
+ bgcolor: "secondary",
125
+ loading: true,
126
+ fetching: true,
127
+ },
128
+ };
@@ -1,21 +1,22 @@
1
1
  import { render, screen } from "~/tests/testing-library";
2
- import { EnhancedTextField } from "./enhanced-text-field";
2
+ import { TextField } from "./text-field";
3
3
  import { faker } from "@faker-js/faker";
4
4
  import React from "react";
5
5
  import userEvent from "@testing-library/user-event";
6
6
  import { expectProgressIndicator } from "~/tests/assertions";
7
+ import { vi } from "vitest";
7
8
 
8
9
  const options: string[] = faker.definitions.vehicle?.model || [];
9
10
 
10
- describe("EnhancedAutocomplete", () => {
11
+ describe("TextField", () => {
11
12
  const renderComponent = ({
12
13
  value,
13
14
  loading,
14
15
  fetching,
15
16
  }: { value?: string; loading?: boolean; fetching?: boolean } = {}) => {
16
- const onChange = jest.fn();
17
+ const onChange = vi.fn();
17
18
  render(
18
- <EnhancedTextField
19
+ <TextField
19
20
  label="Car model"
20
21
  loading={loading}
21
22
  fetching={fetching}
@@ -12,18 +12,18 @@ import {
12
12
  linearProgressClasses,
13
13
  OutlinedInput,
14
14
  outlinedInputClasses,
15
- TextFieldProps,
15
+ TextFieldProps as MuiTextFieldProps,
16
16
  } from "@mui/material";
17
17
  import { unstable_useId as useId } from "@mui/utils";
18
18
  import React from "react";
19
19
 
20
- export type EnhancedTextFieldProps = TextFieldProps & {
20
+ export type TextFieldProps = MuiTextFieldProps & {
21
21
  fetching?: boolean;
22
22
  loading?: boolean;
23
23
  hexColor?: string;
24
24
  };
25
25
 
26
- export const EnhancedTextField = ({
26
+ export const TextField = ({
27
27
  id: overrideId,
28
28
  label,
29
29
  InputLabelProps,
@@ -36,7 +36,7 @@ export const EnhancedTextField = ({
36
36
  fullWidth,
37
37
  sx,
38
38
  ...rest
39
- }: EnhancedTextFieldProps) => {
39
+ }: TextFieldProps) => {
40
40
  const id = useId(overrideId);
41
41
  const helperTextId = helperText && id ? `${id}-helper-text` : undefined;
42
42
  const inputLabelId = label && id ? `${id}-label` : undefined;
@@ -1,22 +1,22 @@
1
1
  import React from "react";
2
- import { ComponentMeta } from "@storybook/react";
2
+ import { Meta, StoryObj } from "@storybook/react";
3
3
  import { TabCard } from "./tab-card";
4
- import { createTemplate } from "../../../../storybook";
5
4
  import { DummyTabs, TabCardDummy, TabCardDummyProps } from "./tab-card.dummy";
6
5
 
7
6
  export default {
8
7
  title: "Components/Navigation/Tab card",
9
- component: TabCard,
8
+ component: TabCardDummy,
10
9
  parameters: {
11
10
  layout: "fullscreen",
12
11
  },
13
- } as ComponentMeta<typeof TabCard>;
14
-
15
- const Template = createTemplate((props: TabCardDummyProps) => {
16
- return <TabCardDummy {...props} />;
17
- });
12
+ render: (props: TabCardDummyProps) => {
13
+ return <TabCardDummy {...props} />;
14
+ },
15
+ } satisfies Meta<typeof TabCardDummy>;
16
+ type Story = StoryObj<typeof TabCardDummy>;
18
17
 
19
- export const Default = Template.bind({});
20
- Default.args = {
21
- tabs: DummyTabs,
18
+ export const Default: Story = {
19
+ args: {
20
+ tabs: DummyTabs,
21
+ },
22
22
  };
@@ -1,5 +1,4 @@
1
- import { ComponentMeta } from "@storybook/react";
2
- import { createTemplate } from "../../../storybook";
1
+ import { Meta, StoryObj } from "@storybook/react";
3
2
  import { ContentPlaceholder } from "./content-placeholder";
4
3
 
5
4
  export default {
@@ -8,8 +7,7 @@ export default {
8
7
  parameters: {
9
8
  layout: "fullscreen",
10
9
  },
11
- } as ComponentMeta<typeof ContentPlaceholder>;
10
+ } satisfies Meta<typeof ContentPlaceholder>;
11
+ type Story = StoryObj<typeof ContentPlaceholder>;
12
12
 
13
- const Template = createTemplate(ContentPlaceholder);
14
-
15
- export const Default = Template.bind({});
13
+ export const Default: Story = {};