@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.
- package/README.md +1 -1
- package/dist/cjs/index.js +4 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/components/alerts/expandable-alert/expandable-alert.d.ts +1 -1
- package/dist/cjs/types/components/data-display/bullet/bullet.d.ts +6 -1
- package/dist/cjs/types/components/data-display/label/label.d.ts +6 -1
- package/dist/cjs/types/components/data-display/link-card/link-card.d.ts +11 -0
- package/dist/cjs/types/components/drawers/drawer/drawer.d.ts +4 -1
- package/dist/cjs/types/components/drawers/drawer/index.d.ts +0 -4
- package/dist/cjs/types/components/drawers/drawer-app-bar/drawer-app-bar.d.ts +5 -0
- package/dist/cjs/types/components/drawers/drawer-app-bar/index.d.ts +1 -0
- package/dist/cjs/types/components/drawers/drawer-content/drawer-content.d.ts +1 -1
- package/dist/cjs/types/components/drawers/drawer-item/drawer-item-link.d.ts +50 -0
- package/dist/cjs/types/components/drawers/drawer-item/drawer-item.d.ts +8 -34
- package/dist/cjs/types/components/drawers/drawer-item/drawer-menu-item.d.ts +35 -0
- package/dist/cjs/types/components/drawers/drawer-item/index.d.ts +2 -0
- package/dist/cjs/types/components/drawers/drawer-main/drawer-main.d.ts +3 -0
- package/dist/cjs/types/components/drawers/drawer-main/index.d.ts +1 -0
- package/dist/{esm/types/components/drawers/drawer/drawer.context.d.ts → cjs/types/components/drawers/drawer-provider/drawer-context.d.ts} +9 -1
- package/dist/cjs/types/components/drawers/drawer-provider/drawer.provider.d.ts +10 -0
- package/dist/cjs/types/components/drawers/drawer-provider/index.d.ts +3 -0
- package/dist/cjs/types/components/drawers/drawer-section/drawer-section.d.ts +5 -5
- package/dist/cjs/types/components/drawers/drawer-subheader/drawer-subheader.d.ts +20 -0
- package/dist/cjs/types/components/drawers/drawer-subheader/index.d.ts +1 -0
- package/dist/cjs/types/components/drawers/drawer.mock.d.ts +13 -0
- package/dist/cjs/types/components/drawers/drawer.types.d.ts +61 -0
- package/dist/cjs/types/components/drawers/index.d.ts +6 -2
- package/dist/cjs/types/components/index.d.ts +0 -1
- package/dist/cjs/types/components/inputs/autocomplete/autocomplete.d.ts +10 -0
- package/dist/cjs/types/components/inputs/autocomplete/index.d.ts +1 -0
- package/dist/cjs/types/components/inputs/index.d.ts +2 -2
- package/dist/cjs/types/components/inputs/select/index.d.ts +1 -0
- package/dist/cjs/types/components/inputs/select/select.d.ts +15 -0
- package/dist/cjs/types/components/inputs/text-field/index.d.ts +1 -0
- package/dist/cjs/types/components/inputs/text-field/text-field.d.ts +7 -0
- package/dist/cjs/types/generators/model-router/stories/templates.d.ts +0 -2
- package/dist/cjs/types/layouts/drawer-layout/drawer-layout.d.ts +8 -0
- package/dist/cjs/types/layouts/drawer-layout/index.d.ts +1 -0
- package/dist/cjs/types/layouts/index.d.ts +1 -1
- package/dist/cjs/types/utils/arrays.d.ts +1 -1
- package/dist/esm/index.js +4 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/components/alerts/expandable-alert/expandable-alert.d.ts +1 -1
- package/dist/esm/types/components/data-display/bullet/bullet.d.ts +6 -1
- package/dist/esm/types/components/data-display/label/label.d.ts +6 -1
- package/dist/esm/types/components/data-display/link-card/link-card.d.ts +11 -0
- package/dist/esm/types/components/drawers/drawer/drawer.d.ts +4 -1
- package/dist/esm/types/components/drawers/drawer/index.d.ts +0 -4
- package/dist/esm/types/components/drawers/drawer-app-bar/drawer-app-bar.d.ts +5 -0
- package/dist/esm/types/components/drawers/drawer-app-bar/index.d.ts +1 -0
- package/dist/esm/types/components/drawers/drawer-content/drawer-content.d.ts +1 -1
- package/dist/esm/types/components/drawers/drawer-item/drawer-item-link.d.ts +50 -0
- package/dist/esm/types/components/drawers/drawer-item/drawer-item.d.ts +8 -34
- package/dist/esm/types/components/drawers/drawer-item/drawer-menu-item.d.ts +35 -0
- package/dist/esm/types/components/drawers/drawer-item/index.d.ts +2 -0
- package/dist/esm/types/components/drawers/drawer-main/drawer-main.d.ts +3 -0
- package/dist/esm/types/components/drawers/drawer-main/index.d.ts +1 -0
- package/dist/{cjs/types/components/drawers/drawer/drawer.context.d.ts → esm/types/components/drawers/drawer-provider/drawer-context.d.ts} +9 -1
- package/dist/esm/types/components/drawers/drawer-provider/drawer.provider.d.ts +10 -0
- package/dist/esm/types/components/drawers/drawer-provider/index.d.ts +3 -0
- package/dist/esm/types/components/drawers/drawer-section/drawer-section.d.ts +5 -5
- package/dist/esm/types/components/drawers/drawer-subheader/drawer-subheader.d.ts +20 -0
- package/dist/esm/types/components/drawers/drawer-subheader/index.d.ts +1 -0
- package/dist/esm/types/components/drawers/drawer.mock.d.ts +13 -0
- package/dist/esm/types/components/drawers/drawer.types.d.ts +61 -0
- package/dist/esm/types/components/drawers/index.d.ts +6 -2
- package/dist/esm/types/components/index.d.ts +0 -1
- package/dist/esm/types/components/inputs/autocomplete/autocomplete.d.ts +10 -0
- package/dist/esm/types/components/inputs/autocomplete/index.d.ts +1 -0
- package/dist/esm/types/components/inputs/index.d.ts +2 -2
- package/dist/esm/types/components/inputs/select/index.d.ts +1 -0
- package/dist/esm/types/components/inputs/select/select.d.ts +15 -0
- package/dist/esm/types/components/inputs/text-field/index.d.ts +1 -0
- package/dist/esm/types/components/inputs/text-field/text-field.d.ts +7 -0
- package/dist/esm/types/generators/model-router/stories/templates.d.ts +0 -2
- package/dist/esm/types/layouts/drawer-layout/drawer-layout.d.ts +8 -0
- package/dist/esm/types/layouts/drawer-layout/index.d.ts +1 -0
- package/dist/esm/types/layouts/index.d.ts +1 -1
- package/dist/esm/types/utils/arrays.d.ts +1 -1
- package/dist/index.d.ts +99 -98
- package/package.json +24 -22
- package/setupTests.ts +22 -0
- package/src/components/alerts/expandable-alert/expandable-alert.stories.tsx +53 -27
- package/src/components/alerts/expandable-alert/expandable-alert.test.tsx +26 -3
- package/src/components/alerts/expandable-alert/expandable-alert.tsx +38 -38
- package/src/components/components.stories.mdx +0 -1
- package/src/components/containers/center-container/center-container.stories.tsx +29 -27
- package/src/components/containers/content/content.stories.tsx +6 -9
- package/src/components/data-display/board/board.stories.tsx +36 -32
- package/src/components/data-display/board/board.test.tsx +4 -3
- package/src/components/data-display/bullet/bullet.stories.tsx +27 -23
- package/src/components/data-display/bullet/bullet.tsx +7 -2
- package/src/components/data-display/data-display.stories.mdx +1 -0
- package/src/components/data-display/header/header.stories.tsx +90 -81
- package/src/components/data-display/header/header.test.tsx +2 -1
- package/src/components/data-display/label/label.stories.tsx +33 -29
- package/src/components/data-display/label/label.tsx +8 -3
- package/src/components/data-display/link-card/index.ts +0 -0
- package/src/components/data-display/link-card/link-card.stories.tsx +59 -0
- package/src/components/data-display/link-card/link-card.test.tsx +43 -0
- package/src/components/data-display/link-card/link-card.tsx +52 -0
- package/src/components/data-display/markdown/markdown.stories.tsx +11 -10
- package/src/components/data-display/markdown/markdown.test.tsx +1 -1
- package/src/components/dialogs/bootstrap-dialog/bootstrap-dialog.stories.tsx +57 -52
- package/src/components/dialogs/bootstrap-dialog/bootstrap-dialog.test.tsx +6 -5
- package/src/components/dialogs/confirm-dialog/confirm-dialog.stories.tsx +26 -23
- package/src/components/dialogs/confirm-dialog/confirm-dialog.test.tsx +3 -2
- package/src/components/dialogs/dialogs.stories.mdx +2 -2
- package/src/components/dialogs/form-dialog/form-dialog.stories.tsx +34 -32
- package/src/components/dialogs/form-dialog/form-dialog.test.tsx +3 -2
- package/src/components/drawers/drawer/drawer.stories.tsx +35 -0
- package/src/components/drawers/drawer/drawer.test.tsx +62 -76
- package/src/components/drawers/drawer/drawer.tsx +74 -10
- package/src/components/drawers/drawer/index.ts +0 -4
- package/src/components/drawers/drawer-app-bar/drawer-app-bar.stories.tsx +26 -0
- package/src/components/drawers/drawer-app-bar/drawer-app-bar.test.tsx +83 -0
- package/src/components/drawers/drawer-app-bar/drawer-app-bar.tsx +87 -0
- package/src/components/drawers/drawer-app-bar/index.ts +1 -0
- package/src/components/drawers/drawer-content/drawer-content.stories.tsx +36 -17
- package/src/components/drawers/drawer-content/drawer-content.test.tsx +7 -2
- package/src/components/drawers/drawer-content/drawer-content.tsx +3 -3
- package/src/components/drawers/drawer-demo.stories.tsx +94 -0
- package/src/components/drawers/drawer-item/drawer-item-link.tsx +149 -0
- package/src/components/drawers/drawer-item/drawer-item.stories.tsx +131 -39
- package/src/components/drawers/drawer-item/drawer-item.test.tsx +227 -75
- package/src/components/drawers/drawer-item/drawer-item.tsx +42 -78
- package/src/components/drawers/drawer-item/drawer-menu-item.tsx +137 -0
- package/src/components/drawers/drawer-item/index.ts +2 -0
- package/src/components/drawers/drawer-main/drawer-main.tsx +42 -0
- package/src/components/drawers/drawer-main/index.ts +1 -0
- package/src/components/drawers/drawer-provider/drawer-context.test.tsx +24 -0
- package/src/components/drawers/{drawer/drawer.context.ts → drawer-provider/drawer-context.ts} +9 -1
- package/src/components/drawers/drawer-provider/drawer-mixins.test.tsx +25 -0
- package/src/components/drawers/drawer-provider/drawer-provider.test.tsx +150 -0
- package/src/components/drawers/drawer-provider/drawer.provider.tsx +57 -0
- package/src/components/drawers/drawer-provider/index.ts +3 -0
- package/src/components/drawers/drawer-section/drawer-section.stories.tsx +42 -15
- package/src/components/drawers/drawer-section/drawer-section.test.tsx +56 -12
- package/src/components/drawers/drawer-section/drawer-section.tsx +25 -41
- package/src/components/drawers/drawer-subheader/drawer-subheader.stories.tsx +27 -0
- package/src/components/drawers/drawer-subheader/drawer-subheader.tsx +15 -0
- package/src/components/drawers/drawer-subheader/index.ts +1 -0
- package/src/components/drawers/drawer.mock.tsx +195 -0
- package/src/components/drawers/drawer.types.ts +78 -0
- package/src/components/drawers/drawers.stories.mdx +2 -0
- package/src/components/drawers/index.ts +6 -2
- package/src/components/feedback/loading-area/loading-area.stories.tsx +5 -7
- package/src/components/feedback/query-container/query-container.stories.tsx +47 -41
- package/src/components/index.ts +0 -1
- package/src/components/inputs/autocomplete/autocomplete.stories.tsx +115 -0
- package/src/components/inputs/{enhanced-autocomplete/enhanced-autocomplete.test.tsx → autocomplete/autocomplete.test.tsx} +5 -4
- package/src/components/inputs/{enhanced-autocomplete/enhanced-autocomplete.tsx → autocomplete/autocomplete.tsx} +12 -8
- package/src/components/inputs/autocomplete/index.ts +1 -0
- package/src/components/inputs/index.ts +2 -2
- package/src/components/inputs/inputs.stories.mdx +3 -3
- package/src/components/inputs/search-input/search-input.stories.tsx +36 -32
- package/src/components/inputs/search-input/search-input.test.tsx +2 -1
- package/src/components/inputs/select/index.ts +1 -0
- package/src/components/inputs/select/select.stories.tsx +107 -0
- package/src/components/inputs/{enhanced-select/enhanced-select.test.tsx → select/select.test.tsx} +14 -13
- package/src/components/inputs/{enhanced-select/enhanced-select.tsx → select/select.tsx} +9 -9
- package/src/components/inputs/sign-in/sign-in.stories.tsx +22 -21
- package/src/components/inputs/sign-in/sign-in.test.tsx +6 -5
- package/src/components/inputs/text-field/index.ts +1 -0
- package/src/components/inputs/text-field/text-field.stories.tsx +128 -0
- package/src/components/inputs/{enhanced-text-field/enhanced-text-field.test.tsx → text-field/text-field.test.tsx} +5 -4
- package/src/components/inputs/{enhanced-text-field/enhanced-text-field.tsx → text-field/text-field.tsx} +4 -4
- package/src/components/navigation/tab/tab-card/tab-card.stories.tsx +11 -11
- package/src/components/placeholders/content-placeholder/content-placeholder.stories.tsx +4 -6
- package/src/components/placeholders/lorem-ipsum-placeholder/lorem-ipsum-placeholder.stories.tsx +4 -6
- package/src/components/placeholders/placeholder/placeholder.stories.tsx +28 -27
- package/src/components/placeholders/placeholder/placeholder.test.tsx +2 -1
- package/src/components/placeholders/skeleton-card/skeleton-card.stories.tsx +7 -8
- package/src/components/placeholders/skeleton-grid/skeleton-grid.stories.tsx +4 -6
- package/src/components/tables/enhanced-remote-table/enhanced-remote-table.stories.tsx +12 -14
- package/src/components/tables/enhanced-remote-table/enhanced-remote-table.test.tsx +2 -1
- package/src/components/tables/enhanced-table/enhanced-table.stories.tsx +10 -11
- package/src/components/value-displays/group-value-card/group-value-card.stories.tsx +14 -13
- package/src/components/value-displays/value-boolean/value-boolean.stories.tsx +19 -19
- package/src/components/value-displays/value-boolean/value-boolean.test.tsx +2 -1
- package/src/components/value-displays/value-card/value-card.stories.tsx +10 -10
- package/src/components/value-displays/value-content/value-content.stories.tsx +9 -7
- package/src/components/value-displays/value-datetime/value-datetime.stories.tsx +45 -40
- package/src/components/value-displays/value-datetime/value-datetime.test.tsx +2 -1
- package/src/components/value-displays/value-image/value-image.stories.tsx +15 -14
- package/src/components/value-displays/value-rating/value-rating.stories.tsx +22 -20
- package/src/components/value-displays/value-rating/value-rating.test.tsx +2 -1
- package/src/components/value-displays/value-text/value-text.stories.tsx +34 -29
- package/src/components/value-displays/value-text/value-text.test.tsx +2 -1
- package/src/generators/model-form/model-form.stories.tsx +15 -14
- package/src/generators/model-form/model-form.test.tsx +2 -1
- package/src/generators/model-router/model-router.test.tsx +16 -16
- package/src/generators/model-router/stories/details-screen.stories.tsx +17 -16
- package/src/generators/model-router/stories/list-screen.stories.tsx +73 -67
- package/src/generators/model-router/stories/model-router.stories.tsx +17 -15
- package/src/generators/model-router/stories/templates.tsx +0 -5
- package/src/generators/object-details/object-details.stories.tsx +2 -2
- package/src/generators/table-list/table-list.stories.tsx +68 -62
- package/src/generators/table-list/table-list.test.tsx +4 -3
- package/src/layouts/drawer-layout/drawer-layout.stories.tsx +57 -0
- package/src/layouts/{app-bar-with-drawer-layout/app-bar-with-drawer-layout.test.tsx → drawer-layout/drawer-layout.test.tsx} +14 -4
- package/src/layouts/drawer-layout/drawer-layout.tsx +26 -0
- package/src/layouts/drawer-layout/index.ts +1 -0
- package/src/layouts/header-layout/header-layout.stories.tsx +103 -98
- package/src/layouts/index.ts +1 -1
- package/src/layouts/layouts.stories.mdx +1 -1
- package/src/providers/notification-center/notification-center.stories.tsx +2 -2
- package/src/providers/notification-center/notification-center.test.tsx +3 -2
- package/src/stories/getting-started.stories.mdx +1 -1
- package/src/storybook.tsx +1 -9
- package/src/tests/datatable-placeholder/datatable-placeholder.stories.tsx +4 -6
- package/src/tests/mocks.ts +3 -1
- package/vitest.config.ts +11 -0
- package/dist/cjs/types/components/app-bars/app-bar/app-bar.d.ts +0 -2
- package/dist/cjs/types/components/app-bars/app-bar/app-bar.types.d.ts +0 -14
- package/dist/cjs/types/components/app-bars/app-bar/index.d.ts +0 -3
- package/dist/cjs/types/components/app-bars/app-bar/mini-app-bar/index.d.ts +0 -1
- package/dist/cjs/types/components/app-bars/app-bar/mini-app-bar/mini-app-bar.d.ts +0 -2
- package/dist/cjs/types/components/app-bars/index.d.ts +0 -1
- package/dist/cjs/types/components/drawers/drawer/drawer.mock.d.ts +0 -3
- package/dist/cjs/types/components/drawers/drawer/drawer.provider.d.ts +0 -6
- package/dist/cjs/types/components/drawers/drawer/drawer.types.d.ts +0 -51
- package/dist/cjs/types/components/drawers/drawer/mini-drawer/index.d.ts +0 -1
- package/dist/cjs/types/components/drawers/drawer/mini-drawer/mini-drawer.d.ts +0 -1
- package/dist/cjs/types/components/drawers/drawer-collapsable-item/drawer-collapsable-item.d.ts +0 -26
- package/dist/cjs/types/components/drawers/drawer-collapsable-item/index.d.ts +0 -1
- package/dist/cjs/types/components/drawers/drawer-section/drawer-section.mock.d.ts +0 -2
- package/dist/cjs/types/components/inputs/enhanced-autocomplete/enhanced-autocomplete.d.ts +0 -10
- package/dist/cjs/types/components/inputs/enhanced-autocomplete/index.d.ts +0 -1
- package/dist/cjs/types/components/inputs/enhanced-select/enhanced-select.d.ts +0 -15
- package/dist/cjs/types/components/inputs/enhanced-select/index.d.ts +0 -1
- package/dist/cjs/types/components/inputs/enhanced-text-field/enhanced-text-field.d.ts +0 -7
- package/dist/cjs/types/components/inputs/enhanced-text-field/index.d.ts +0 -1
- package/dist/cjs/types/layouts/app-bar-with-drawer-layout/app-bar-with-drawer-layout.d.ts +0 -7
- package/dist/cjs/types/layouts/app-bar-with-drawer-layout/index.d.ts +0 -1
- package/dist/esm/types/components/app-bars/app-bar/app-bar.d.ts +0 -2
- package/dist/esm/types/components/app-bars/app-bar/app-bar.types.d.ts +0 -14
- package/dist/esm/types/components/app-bars/app-bar/index.d.ts +0 -3
- package/dist/esm/types/components/app-bars/app-bar/mini-app-bar/index.d.ts +0 -1
- package/dist/esm/types/components/app-bars/app-bar/mini-app-bar/mini-app-bar.d.ts +0 -2
- package/dist/esm/types/components/app-bars/index.d.ts +0 -1
- package/dist/esm/types/components/drawers/drawer/drawer.mock.d.ts +0 -3
- package/dist/esm/types/components/drawers/drawer/drawer.provider.d.ts +0 -6
- package/dist/esm/types/components/drawers/drawer/drawer.types.d.ts +0 -51
- package/dist/esm/types/components/drawers/drawer/mini-drawer/index.d.ts +0 -1
- package/dist/esm/types/components/drawers/drawer/mini-drawer/mini-drawer.d.ts +0 -1
- package/dist/esm/types/components/drawers/drawer-collapsable-item/drawer-collapsable-item.d.ts +0 -26
- package/dist/esm/types/components/drawers/drawer-collapsable-item/index.d.ts +0 -1
- package/dist/esm/types/components/drawers/drawer-section/drawer-section.mock.d.ts +0 -2
- package/dist/esm/types/components/inputs/enhanced-autocomplete/enhanced-autocomplete.d.ts +0 -10
- package/dist/esm/types/components/inputs/enhanced-autocomplete/index.d.ts +0 -1
- package/dist/esm/types/components/inputs/enhanced-select/enhanced-select.d.ts +0 -15
- package/dist/esm/types/components/inputs/enhanced-select/index.d.ts +0 -1
- package/dist/esm/types/components/inputs/enhanced-text-field/enhanced-text-field.d.ts +0 -7
- package/dist/esm/types/components/inputs/enhanced-text-field/index.d.ts +0 -1
- package/dist/esm/types/layouts/app-bar-with-drawer-layout/app-bar-with-drawer-layout.d.ts +0 -7
- package/dist/esm/types/layouts/app-bar-with-drawer-layout/index.d.ts +0 -1
- package/src/components/app-bars/app-bar/app-bar.stories.tsx +0 -55
- package/src/components/app-bars/app-bar/app-bar.test.tsx +0 -142
- package/src/components/app-bars/app-bar/app-bar.tsx +0 -150
- package/src/components/app-bars/app-bar/app-bar.types.ts +0 -17
- package/src/components/app-bars/app-bar/index.ts +0 -3
- package/src/components/app-bars/app-bar/mini-app-bar/index.ts +0 -1
- package/src/components/app-bars/app-bar/mini-app-bar/mini-app-bar.tsx +0 -31
- package/src/components/app-bars/app-bars.stories.mdx +0 -10
- package/src/components/app-bars/index.ts +0 -1
- package/src/components/drawers/drawer/__snapshots__/drawer.test.tsx.snap +0 -20
- package/src/components/drawers/drawer/drawer.mock.tsx +0 -127
- package/src/components/drawers/drawer/drawer.provider.tsx +0 -23
- package/src/components/drawers/drawer/drawer.types.ts +0 -62
- package/src/components/drawers/drawer/mini-drawer/index.ts +0 -1
- package/src/components/drawers/drawer/mini-drawer/mini-drawer.stories.tsx +0 -34
- package/src/components/drawers/drawer/mini-drawer/mini-drawer.tsx +0 -66
- package/src/components/drawers/drawer-collapsable-item/drawer-collapsable-item.test.tsx +0 -62
- package/src/components/drawers/drawer-collapsable-item/drawer-collapsable-item.tsx +0 -76
- package/src/components/drawers/drawer-collapsable-item/index.ts +0 -1
- package/src/components/drawers/drawer-section/drawer-section.mock.tsx +0 -39
- package/src/components/inputs/enhanced-autocomplete/enhanced-autocomplete.stories.tsx +0 -109
- package/src/components/inputs/enhanced-autocomplete/index.ts +0 -1
- package/src/components/inputs/enhanced-select/enhanced-select.stories.tsx +0 -99
- package/src/components/inputs/enhanced-select/index.ts +0 -1
- package/src/components/inputs/enhanced-text-field/enhanced-text-field.stories.tsx +0 -120
- package/src/components/inputs/enhanced-text-field/index.ts +0 -1
- package/src/layouts/app-bar-with-drawer-layout/app-bar-with-drawer-layout.stories.tsx +0 -27
- package/src/layouts/app-bar-with-drawer-layout/app-bar-with-drawer-layout.tsx +0 -37
- package/src/layouts/app-bar-with-drawer-layout/index.ts +0 -1
- /package/dist/cjs/types/components/drawers/{drawer/drawer.mixins.d.ts → drawer-provider/drawer-mixins.d.ts} +0 -0
- /package/dist/esm/types/components/drawers/{drawer/drawer.mixins.d.ts → drawer-provider/drawer-mixins.d.ts} +0 -0
- /package/src/components/drawers/{drawer/drawer.mixins.ts → drawer-provider/drawer-mixins.ts} +0 -0
package/vitest.config.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { defineConfig } from "vitest/config";
|
|
2
|
+
import viteTsconfigPaths from "vite-tsconfig-paths";
|
|
3
|
+
|
|
4
|
+
export default defineConfig({
|
|
5
|
+
plugins: [viteTsconfigPaths()],
|
|
6
|
+
test: {
|
|
7
|
+
globals: true,
|
|
8
|
+
environment: "jsdom",
|
|
9
|
+
setupFiles: "./setupTests.ts",
|
|
10
|
+
},
|
|
11
|
+
});
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { FunctionComponent, ReactElement } from "react";
|
|
2
|
-
import { AppBarProps as MuiAppBarProps } from "@mui/material";
|
|
3
|
-
export interface AppBarProfile {
|
|
4
|
-
name: string;
|
|
5
|
-
}
|
|
6
|
-
export interface AppBarProps extends MuiAppBarProps {
|
|
7
|
-
menu?: boolean;
|
|
8
|
-
title?: string;
|
|
9
|
-
search?: boolean;
|
|
10
|
-
profile?: AppBarProfile;
|
|
11
|
-
onClickSignOut: () => void;
|
|
12
|
-
}
|
|
13
|
-
export type AppBarComponent = FunctionComponent<AppBarProps>;
|
|
14
|
-
export type AppBarElement = ReactElement<AppBarProps, AppBarComponent>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./mini-app-bar";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./app-bar";
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { FunctionComponent, ReactElement } from "react";
|
|
2
|
-
import { BulletVariant, LabelVariant } from "../../data-display";
|
|
3
|
-
import { DrawerProps as MuiDrawerProps } from "@mui/material";
|
|
4
|
-
export interface NavItemAvatar {
|
|
5
|
-
src: string;
|
|
6
|
-
alt: string;
|
|
7
|
-
}
|
|
8
|
-
export interface NavItemLabel {
|
|
9
|
-
text: string;
|
|
10
|
-
variant: LabelVariant;
|
|
11
|
-
}
|
|
12
|
-
export interface NavItemBullet {
|
|
13
|
-
variant: BulletVariant;
|
|
14
|
-
}
|
|
15
|
-
export interface NavItemLink {
|
|
16
|
-
id: string;
|
|
17
|
-
text: string;
|
|
18
|
-
href: string;
|
|
19
|
-
icon?: ReactElement;
|
|
20
|
-
avatar?: NavItemAvatar;
|
|
21
|
-
label?: NavItemLabel;
|
|
22
|
-
bullet?: NavItemBullet;
|
|
23
|
-
}
|
|
24
|
-
export type NavItemCollapsable = Pick<NavItemLink, "id" | "text" | "icon"> & {
|
|
25
|
-
items: NavItemLink[];
|
|
26
|
-
};
|
|
27
|
-
export type NavItem = NavItemLink | NavItemCollapsable;
|
|
28
|
-
export interface NavSection {
|
|
29
|
-
title?: string;
|
|
30
|
-
items: NavItem[];
|
|
31
|
-
}
|
|
32
|
-
export interface Nav {
|
|
33
|
-
items: NavSection[];
|
|
34
|
-
}
|
|
35
|
-
export interface DrawerContentProps {
|
|
36
|
-
/**
|
|
37
|
-
* Item currently selected in the navigation
|
|
38
|
-
*/
|
|
39
|
-
selectedItem?: string;
|
|
40
|
-
/**
|
|
41
|
-
* Object with the content that has to be rendered
|
|
42
|
-
*/
|
|
43
|
-
nav: Nav;
|
|
44
|
-
}
|
|
45
|
-
export type DrawerContentComponent = FunctionComponent<DrawerContentProps>;
|
|
46
|
-
export type DrawerContentElement = ReactElement<DrawerContentProps, DrawerContentComponent>;
|
|
47
|
-
export interface DrawerProps extends MuiDrawerProps {
|
|
48
|
-
children: DrawerContentElement;
|
|
49
|
-
}
|
|
50
|
-
export type DrawerComponent = FunctionComponent<DrawerProps>;
|
|
51
|
-
export type DrawerElement = ReactElement<DrawerProps, DrawerComponent>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./mini-drawer";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const MiniDrawer: import("@emotion/styled").StyledComponent<import("..").DrawerProps & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
|
package/dist/cjs/types/components/drawers/drawer-collapsable-item/drawer-collapsable-item.d.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { ReactElement } from "react";
|
|
2
|
-
import { NavItemLink } from "../drawer/drawer.types";
|
|
3
|
-
export interface DrawerCollapsableItemProps {
|
|
4
|
-
/**
|
|
5
|
-
* Text displayed inside the item
|
|
6
|
-
*/
|
|
7
|
-
text: string;
|
|
8
|
-
/**
|
|
9
|
-
* Icon displayed to the left
|
|
10
|
-
*/
|
|
11
|
-
icon?: ReactElement;
|
|
12
|
-
/**
|
|
13
|
-
* The item has to be marked as selected
|
|
14
|
-
*/
|
|
15
|
-
selected?: boolean;
|
|
16
|
-
/**
|
|
17
|
-
* Id of the item that has to be marked as selected;
|
|
18
|
-
*/
|
|
19
|
-
selectedItem?: string;
|
|
20
|
-
/**
|
|
21
|
-
* Items that are going to be displayed inside
|
|
22
|
-
* the collapsable
|
|
23
|
-
*/
|
|
24
|
-
items: NavItemLink[];
|
|
25
|
-
}
|
|
26
|
-
export declare const DrawerCollapsableItem: ({ text, icon, selected, selectedItem, items, }: DrawerCollapsableItemProps) => JSX.Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./drawer-collapsable-item";
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { AutocompleteProps, ChipTypeMap } from "@mui/material";
|
|
2
|
-
import React from "react";
|
|
3
|
-
export interface EnhancedAutocompleteProps<T, Multiple extends boolean | undefined, DisableClearable extends boolean | undefined, FreeSolo extends boolean | undefined, ChipComponent extends React.ElementType = ChipTypeMap["defaultComponent"]> extends Omit<AutocompleteProps<T, Multiple, DisableClearable, FreeSolo, ChipComponent>, "renderInput" | "onChange" | "color"> {
|
|
4
|
-
label: string;
|
|
5
|
-
helperText?: string;
|
|
6
|
-
color?: string;
|
|
7
|
-
fetching?: boolean;
|
|
8
|
-
onChangeValue?: (value: T) => void;
|
|
9
|
-
}
|
|
10
|
-
export declare const EnhancedAutocomplete: <T, Multiple extends boolean | undefined, DisableClearable extends boolean | undefined, FreeSolo extends boolean | undefined, ChipComponent extends React.ElementType<any> = "div">(props: EnhancedAutocompleteProps<T, Multiple, DisableClearable, FreeSolo, ChipComponent>) => JSX.Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./enhanced-autocomplete";
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import React, { ReactNode } from "react";
|
|
2
|
-
import { SelectInputProps } from "@mui/material/Select/SelectInput";
|
|
3
|
-
export type EnhancedSelectSize = "small" | "medium";
|
|
4
|
-
export interface EnhancedSelectProps<T> {
|
|
5
|
-
label: string;
|
|
6
|
-
value: T;
|
|
7
|
-
loading?: boolean;
|
|
8
|
-
fetching?: boolean;
|
|
9
|
-
size?: EnhancedSelectSize;
|
|
10
|
-
color?: string;
|
|
11
|
-
fullWidth?: boolean;
|
|
12
|
-
children?: ReactNode;
|
|
13
|
-
onChange?: SelectInputProps<T>["onChange"];
|
|
14
|
-
}
|
|
15
|
-
export declare const EnhancedSelect: <T extends React.ReactNode>({ label, value, loading, fetching, size, fullWidth, color, children, onChange, }: EnhancedSelectProps<T>) => JSX.Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./enhanced-select";
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { TextFieldProps } from "@mui/material";
|
|
2
|
-
export type EnhancedTextFieldProps = TextFieldProps & {
|
|
3
|
-
fetching?: boolean;
|
|
4
|
-
loading?: boolean;
|
|
5
|
-
hexColor?: string;
|
|
6
|
-
};
|
|
7
|
-
export declare const EnhancedTextField: ({ id: overrideId, label, InputLabelProps, InputProps, fetching, loading, helperText, hexColor, size, fullWidth, sx, ...rest }: EnhancedTextFieldProps) => JSX.Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./enhanced-text-field";
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { ReactNode } from "react";
|
|
2
|
-
import { AppBarElement } from "../../components/app-bars/app-bar";
|
|
3
|
-
import { DrawerElement } from "../../components/drawers/drawer";
|
|
4
|
-
export interface AppBarWithDrawerLayoutProps {
|
|
5
|
-
children: [DrawerElement, AppBarElement, ReactNode];
|
|
6
|
-
}
|
|
7
|
-
export declare const AppBarWithDrawerLayout: ({ children: childrenProps, }: AppBarWithDrawerLayoutProps) => JSX.Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./app-bar-with-drawer-layout";
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { FunctionComponent, ReactElement } from "react";
|
|
2
|
-
import { AppBarProps as MuiAppBarProps } from "@mui/material";
|
|
3
|
-
export interface AppBarProfile {
|
|
4
|
-
name: string;
|
|
5
|
-
}
|
|
6
|
-
export interface AppBarProps extends MuiAppBarProps {
|
|
7
|
-
menu?: boolean;
|
|
8
|
-
title?: string;
|
|
9
|
-
search?: boolean;
|
|
10
|
-
profile?: AppBarProfile;
|
|
11
|
-
onClickSignOut: () => void;
|
|
12
|
-
}
|
|
13
|
-
export type AppBarComponent = FunctionComponent<AppBarProps>;
|
|
14
|
-
export type AppBarElement = ReactElement<AppBarProps, AppBarComponent>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./mini-app-bar";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./app-bar";
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { FunctionComponent, ReactElement } from "react";
|
|
2
|
-
import { BulletVariant, LabelVariant } from "../../data-display";
|
|
3
|
-
import { DrawerProps as MuiDrawerProps } from "@mui/material";
|
|
4
|
-
export interface NavItemAvatar {
|
|
5
|
-
src: string;
|
|
6
|
-
alt: string;
|
|
7
|
-
}
|
|
8
|
-
export interface NavItemLabel {
|
|
9
|
-
text: string;
|
|
10
|
-
variant: LabelVariant;
|
|
11
|
-
}
|
|
12
|
-
export interface NavItemBullet {
|
|
13
|
-
variant: BulletVariant;
|
|
14
|
-
}
|
|
15
|
-
export interface NavItemLink {
|
|
16
|
-
id: string;
|
|
17
|
-
text: string;
|
|
18
|
-
href: string;
|
|
19
|
-
icon?: ReactElement;
|
|
20
|
-
avatar?: NavItemAvatar;
|
|
21
|
-
label?: NavItemLabel;
|
|
22
|
-
bullet?: NavItemBullet;
|
|
23
|
-
}
|
|
24
|
-
export type NavItemCollapsable = Pick<NavItemLink, "id" | "text" | "icon"> & {
|
|
25
|
-
items: NavItemLink[];
|
|
26
|
-
};
|
|
27
|
-
export type NavItem = NavItemLink | NavItemCollapsable;
|
|
28
|
-
export interface NavSection {
|
|
29
|
-
title?: string;
|
|
30
|
-
items: NavItem[];
|
|
31
|
-
}
|
|
32
|
-
export interface Nav {
|
|
33
|
-
items: NavSection[];
|
|
34
|
-
}
|
|
35
|
-
export interface DrawerContentProps {
|
|
36
|
-
/**
|
|
37
|
-
* Item currently selected in the navigation
|
|
38
|
-
*/
|
|
39
|
-
selectedItem?: string;
|
|
40
|
-
/**
|
|
41
|
-
* Object with the content that has to be rendered
|
|
42
|
-
*/
|
|
43
|
-
nav: Nav;
|
|
44
|
-
}
|
|
45
|
-
export type DrawerContentComponent = FunctionComponent<DrawerContentProps>;
|
|
46
|
-
export type DrawerContentElement = ReactElement<DrawerContentProps, DrawerContentComponent>;
|
|
47
|
-
export interface DrawerProps extends MuiDrawerProps {
|
|
48
|
-
children: DrawerContentElement;
|
|
49
|
-
}
|
|
50
|
-
export type DrawerComponent = FunctionComponent<DrawerProps>;
|
|
51
|
-
export type DrawerElement = ReactElement<DrawerProps, DrawerComponent>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./mini-drawer";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const MiniDrawer: import("@emotion/styled").StyledComponent<import("..").DrawerProps & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
|
package/dist/esm/types/components/drawers/drawer-collapsable-item/drawer-collapsable-item.d.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { ReactElement } from "react";
|
|
2
|
-
import { NavItemLink } from "../drawer/drawer.types";
|
|
3
|
-
export interface DrawerCollapsableItemProps {
|
|
4
|
-
/**
|
|
5
|
-
* Text displayed inside the item
|
|
6
|
-
*/
|
|
7
|
-
text: string;
|
|
8
|
-
/**
|
|
9
|
-
* Icon displayed to the left
|
|
10
|
-
*/
|
|
11
|
-
icon?: ReactElement;
|
|
12
|
-
/**
|
|
13
|
-
* The item has to be marked as selected
|
|
14
|
-
*/
|
|
15
|
-
selected?: boolean;
|
|
16
|
-
/**
|
|
17
|
-
* Id of the item that has to be marked as selected;
|
|
18
|
-
*/
|
|
19
|
-
selectedItem?: string;
|
|
20
|
-
/**
|
|
21
|
-
* Items that are going to be displayed inside
|
|
22
|
-
* the collapsable
|
|
23
|
-
*/
|
|
24
|
-
items: NavItemLink[];
|
|
25
|
-
}
|
|
26
|
-
export declare const DrawerCollapsableItem: ({ text, icon, selected, selectedItem, items, }: DrawerCollapsableItemProps) => JSX.Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./drawer-collapsable-item";
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { AutocompleteProps, ChipTypeMap } from "@mui/material";
|
|
2
|
-
import React from "react";
|
|
3
|
-
export interface EnhancedAutocompleteProps<T, Multiple extends boolean | undefined, DisableClearable extends boolean | undefined, FreeSolo extends boolean | undefined, ChipComponent extends React.ElementType = ChipTypeMap["defaultComponent"]> extends Omit<AutocompleteProps<T, Multiple, DisableClearable, FreeSolo, ChipComponent>, "renderInput" | "onChange" | "color"> {
|
|
4
|
-
label: string;
|
|
5
|
-
helperText?: string;
|
|
6
|
-
color?: string;
|
|
7
|
-
fetching?: boolean;
|
|
8
|
-
onChangeValue?: (value: T) => void;
|
|
9
|
-
}
|
|
10
|
-
export declare const EnhancedAutocomplete: <T, Multiple extends boolean | undefined, DisableClearable extends boolean | undefined, FreeSolo extends boolean | undefined, ChipComponent extends React.ElementType<any> = "div">(props: EnhancedAutocompleteProps<T, Multiple, DisableClearable, FreeSolo, ChipComponent>) => JSX.Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./enhanced-autocomplete";
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import React, { ReactNode } from "react";
|
|
2
|
-
import { SelectInputProps } from "@mui/material/Select/SelectInput";
|
|
3
|
-
export type EnhancedSelectSize = "small" | "medium";
|
|
4
|
-
export interface EnhancedSelectProps<T> {
|
|
5
|
-
label: string;
|
|
6
|
-
value: T;
|
|
7
|
-
loading?: boolean;
|
|
8
|
-
fetching?: boolean;
|
|
9
|
-
size?: EnhancedSelectSize;
|
|
10
|
-
color?: string;
|
|
11
|
-
fullWidth?: boolean;
|
|
12
|
-
children?: ReactNode;
|
|
13
|
-
onChange?: SelectInputProps<T>["onChange"];
|
|
14
|
-
}
|
|
15
|
-
export declare const EnhancedSelect: <T extends React.ReactNode>({ label, value, loading, fetching, size, fullWidth, color, children, onChange, }: EnhancedSelectProps<T>) => JSX.Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./enhanced-select";
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { TextFieldProps } from "@mui/material";
|
|
2
|
-
export type EnhancedTextFieldProps = TextFieldProps & {
|
|
3
|
-
fetching?: boolean;
|
|
4
|
-
loading?: boolean;
|
|
5
|
-
hexColor?: string;
|
|
6
|
-
};
|
|
7
|
-
export declare const EnhancedTextField: ({ id: overrideId, label, InputLabelProps, InputProps, fetching, loading, helperText, hexColor, size, fullWidth, sx, ...rest }: EnhancedTextFieldProps) => JSX.Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./enhanced-text-field";
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { ReactNode } from "react";
|
|
2
|
-
import { AppBarElement } from "../../components/app-bars/app-bar";
|
|
3
|
-
import { DrawerElement } from "../../components/drawers/drawer";
|
|
4
|
-
export interface AppBarWithDrawerLayoutProps {
|
|
5
|
-
children: [DrawerElement, AppBarElement, ReactNode];
|
|
6
|
-
}
|
|
7
|
-
export declare const AppBarWithDrawerLayout: ({ children: childrenProps, }: AppBarWithDrawerLayoutProps) => JSX.Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./app-bar-with-drawer-layout";
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { ComponentMeta } from "@storybook/react";
|
|
3
|
-
import { createTemplate } from "../../../storybook";
|
|
4
|
-
import { AppBar } from "./app-bar";
|
|
5
|
-
import { DrawerProvider } from "../../drawers/drawer";
|
|
6
|
-
import { AppBarProps } from "./app-bar.types";
|
|
7
|
-
|
|
8
|
-
export default {
|
|
9
|
-
title: "Components/AppBars/AppBar",
|
|
10
|
-
component: AppBar,
|
|
11
|
-
parameters: {
|
|
12
|
-
layout: "fullscreen",
|
|
13
|
-
},
|
|
14
|
-
} as ComponentMeta<typeof AppBar>;
|
|
15
|
-
|
|
16
|
-
const Template = createTemplate((args: AppBarProps) => {
|
|
17
|
-
return (
|
|
18
|
-
<DrawerProvider>
|
|
19
|
-
<AppBar {...args} />
|
|
20
|
-
</DrawerProvider>
|
|
21
|
-
);
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
export const Default = Template.bind({});
|
|
25
|
-
Default.args = {
|
|
26
|
-
title: "Lorem ipsum",
|
|
27
|
-
menu: true,
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
export const WithSearch = Template.bind({});
|
|
31
|
-
WithSearch.args = {
|
|
32
|
-
title: "Lorem ipsum",
|
|
33
|
-
search: true,
|
|
34
|
-
menu: true,
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
export const WithoutTitle = Template.bind({});
|
|
38
|
-
WithoutTitle.args = {
|
|
39
|
-
menu: true,
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
export const WihtoutMenu = Template.bind({});
|
|
43
|
-
WihtoutMenu.args = {
|
|
44
|
-
title: "Lorem ipsum",
|
|
45
|
-
menu: false,
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
export const WithProfile = Template.bind({});
|
|
49
|
-
WithProfile.args = {
|
|
50
|
-
title: "Lorem ipsum",
|
|
51
|
-
menu: true,
|
|
52
|
-
profile: {
|
|
53
|
-
name: "Test user",
|
|
54
|
-
},
|
|
55
|
-
};
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { fireEvent, render, screen } from "~/tests/testing-library";
|
|
3
|
-
import { AppBar } from "./app-bar";
|
|
4
|
-
import { DrawerProvider } from "../../drawers/drawer";
|
|
5
|
-
import { AppBarProfile } from "./app-bar.types";
|
|
6
|
-
import userEvent from "@testing-library/user-event";
|
|
7
|
-
|
|
8
|
-
const profile: AppBarProfile = {
|
|
9
|
-
name: "John Smith",
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
describe("AppBar", () => {
|
|
13
|
-
const renderComponent = ({
|
|
14
|
-
search,
|
|
15
|
-
title,
|
|
16
|
-
menu,
|
|
17
|
-
initialOpen,
|
|
18
|
-
profile,
|
|
19
|
-
}: {
|
|
20
|
-
title?: string;
|
|
21
|
-
search?: boolean;
|
|
22
|
-
menu?: boolean;
|
|
23
|
-
initialOpen?: boolean;
|
|
24
|
-
profile?: AppBarProfile;
|
|
25
|
-
} = {}) => {
|
|
26
|
-
const onClickSignOut = jest.fn();
|
|
27
|
-
const instance = render(
|
|
28
|
-
<DrawerProvider initialOpen={initialOpen}>
|
|
29
|
-
<AppBar
|
|
30
|
-
title={title}
|
|
31
|
-
menu={menu}
|
|
32
|
-
search={search}
|
|
33
|
-
profile={profile}
|
|
34
|
-
onClickSignOut={onClickSignOut}
|
|
35
|
-
/>
|
|
36
|
-
</DrawerProvider>,
|
|
37
|
-
);
|
|
38
|
-
return { ...instance, onClickSignOut };
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
const clickOutsideProfileMenu = () => {
|
|
42
|
-
const child = screen.getByRole("presentation").firstChild;
|
|
43
|
-
expect(child).toBeDefined();
|
|
44
|
-
child && fireEvent.click(child);
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
describe("title", () => {
|
|
48
|
-
it("wouldn't render a title if it's not defined", () => {
|
|
49
|
-
renderComponent({ title: undefined });
|
|
50
|
-
|
|
51
|
-
expect(screen.queryByRole("heading", { level: 1 })).not.toBeInTheDocument();
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
it("would render a title if it's defined", () => {
|
|
55
|
-
renderComponent({ title: "Lorem ipsum" });
|
|
56
|
-
|
|
57
|
-
expect(screen.queryByRole("heading", { level: 1, name: /lorem ipsum/i })).toBeInTheDocument();
|
|
58
|
-
});
|
|
59
|
-
});
|
|
60
|
-
|
|
61
|
-
describe("menu", () => {
|
|
62
|
-
it("wouldn't render a menu button if menu is not defined", () => {
|
|
63
|
-
renderComponent();
|
|
64
|
-
|
|
65
|
-
expect(screen.queryByRole("button", { name: /open drawer/i })).not.toBeInTheDocument();
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
it("wouldn't render a menu button if menu is false", () => {
|
|
69
|
-
renderComponent({ menu: false });
|
|
70
|
-
|
|
71
|
-
expect(screen.queryByRole("button", { name: /open drawer/i })).not.toBeInTheDocument();
|
|
72
|
-
});
|
|
73
|
-
|
|
74
|
-
it("would render a menu button if menu is true", () => {
|
|
75
|
-
renderComponent({ menu: true });
|
|
76
|
-
|
|
77
|
-
expect(screen.getByRole("button", { name: /open drawer/i })).toBeInTheDocument();
|
|
78
|
-
});
|
|
79
|
-
});
|
|
80
|
-
|
|
81
|
-
describe("search", () => {
|
|
82
|
-
it("wouldn't render a search box by default", () => {
|
|
83
|
-
renderComponent();
|
|
84
|
-
|
|
85
|
-
expect(screen.queryByRole("search")).not.toBeInTheDocument();
|
|
86
|
-
});
|
|
87
|
-
|
|
88
|
-
it("wouldn't render a search box if search is false", () => {
|
|
89
|
-
renderComponent({ search: false });
|
|
90
|
-
|
|
91
|
-
expect(screen.queryByRole("search")).not.toBeInTheDocument();
|
|
92
|
-
});
|
|
93
|
-
|
|
94
|
-
it("would render a search box if search is true", () => {
|
|
95
|
-
renderComponent({ search: true });
|
|
96
|
-
|
|
97
|
-
expect(screen.getByRole("search")).toBeInTheDocument();
|
|
98
|
-
});
|
|
99
|
-
});
|
|
100
|
-
|
|
101
|
-
describe("profile", () => {
|
|
102
|
-
it("wouldn't render the user profile if it's not set", () => {
|
|
103
|
-
renderComponent({ profile: undefined });
|
|
104
|
-
|
|
105
|
-
expect(screen.queryByRole("button", { name: /menu button/i })).not.toBeInTheDocument();
|
|
106
|
-
});
|
|
107
|
-
|
|
108
|
-
it("would render the user profile if the profile is defined", () => {
|
|
109
|
-
renderComponent({ profile });
|
|
110
|
-
|
|
111
|
-
expect(screen.getByRole("button", { name: /menu button/i })).toBeInTheDocument();
|
|
112
|
-
});
|
|
113
|
-
|
|
114
|
-
describe("the user click the profile button", () => {
|
|
115
|
-
it("would open the menu", async () => {
|
|
116
|
-
renderComponent({ profile });
|
|
117
|
-
|
|
118
|
-
await userEvent.click(screen.getByRole("button", { name: /menu button/i }));
|
|
119
|
-
|
|
120
|
-
expect(screen.getByRole("menu")).toBeInTheDocument();
|
|
121
|
-
});
|
|
122
|
-
});
|
|
123
|
-
|
|
124
|
-
it("would call onClickSignOut if the user press the sign out button", async () => {
|
|
125
|
-
const { onClickSignOut } = renderComponent({ profile });
|
|
126
|
-
|
|
127
|
-
await userEvent.click(screen.getByRole("button", { name: /menu button/i }));
|
|
128
|
-
await userEvent.click(screen.getByRole("menuitem", { name: /sign out/i }));
|
|
129
|
-
|
|
130
|
-
expect(onClickSignOut).toHaveBeenCalledTimes(1);
|
|
131
|
-
});
|
|
132
|
-
|
|
133
|
-
it("would hide the menu if the focus changes to an external element", async () => {
|
|
134
|
-
renderComponent({ profile, title: "lorem ipsum" });
|
|
135
|
-
|
|
136
|
-
await userEvent.click(screen.getByRole("button", { name: /menu button/i }));
|
|
137
|
-
clickOutsideProfileMenu();
|
|
138
|
-
|
|
139
|
-
expect(screen.queryByRole("menu")).not.toBeInTheDocument();
|
|
140
|
-
});
|
|
141
|
-
});
|
|
142
|
-
});
|