@furystack/shades-common-components 12.4.0 → 12.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/CHANGELOG.md +119 -0
- package/esm/components/app-bar-link.spec.js +16 -19
- package/esm/components/app-bar-link.spec.js.map +1 -1
- package/esm/components/app-bar.spec.js +6 -4
- package/esm/components/app-bar.spec.js.map +1 -1
- package/esm/components/avatar.spec.js +9 -9
- package/esm/components/avatar.spec.js.map +1 -1
- package/esm/components/breadcrumb.spec.js +2 -2
- package/esm/components/breadcrumb.spec.js.map +1 -1
- package/esm/components/button-group.d.ts +32 -0
- package/esm/components/button-group.d.ts.map +1 -1
- package/esm/components/button-group.js +26 -2
- package/esm/components/button-group.js.map +1 -1
- package/esm/components/button-group.spec.js +127 -11
- package/esm/components/button-group.spec.js.map +1 -1
- package/esm/components/button.spec.js +4 -4
- package/esm/components/button.spec.js.map +1 -1
- package/esm/components/cache-view.spec.js +2 -3
- package/esm/components/cache-view.spec.js.map +1 -1
- package/esm/components/carousel.spec.js +47 -47
- package/esm/components/carousel.spec.js.map +1 -1
- package/esm/components/circular-progress.spec.js +2 -2
- package/esm/components/command-palette/command-palette-input.spec.js +23 -19
- package/esm/components/command-palette/command-palette-input.spec.js.map +1 -1
- package/esm/components/command-palette/command-palette-suggestion-list.spec.js +27 -27
- package/esm/components/command-palette/command-palette-suggestion-list.spec.js.map +1 -1
- package/esm/components/command-palette/index.spec.js +64 -51
- package/esm/components/command-palette/index.spec.js.map +1 -1
- package/esm/components/context-menu/context-menu.spec.js +33 -33
- package/esm/components/context-menu/context-menu.spec.js.map +1 -1
- package/esm/components/data-grid/body.spec.js +13 -13
- package/esm/components/data-grid/body.spec.js.map +1 -1
- package/esm/components/data-grid/data-grid-row.spec.js +8 -8
- package/esm/components/data-grid/data-grid-row.spec.js.map +1 -1
- package/esm/components/data-grid/data-grid.d.ts +47 -3
- package/esm/components/data-grid/data-grid.d.ts.map +1 -1
- package/esm/components/data-grid/data-grid.js +8 -11
- package/esm/components/data-grid/data-grid.js.map +1 -1
- package/esm/components/data-grid/data-grid.spec.js +71 -28
- package/esm/components/data-grid/data-grid.spec.js.map +1 -1
- package/esm/components/data-grid/filters/boolean-filter.d.ts +12 -0
- package/esm/components/data-grid/filters/boolean-filter.d.ts.map +1 -0
- package/esm/components/data-grid/filters/boolean-filter.js +27 -0
- package/esm/components/data-grid/filters/boolean-filter.js.map +1 -0
- package/esm/components/data-grid/filters/boolean-filter.spec.d.ts +2 -0
- package/esm/components/data-grid/filters/boolean-filter.spec.d.ts.map +1 -0
- package/esm/components/data-grid/filters/boolean-filter.spec.js +114 -0
- package/esm/components/data-grid/filters/boolean-filter.spec.js.map +1 -0
- package/esm/components/data-grid/filters/date-filter.d.ts +12 -0
- package/esm/components/data-grid/filters/date-filter.d.ts.map +1 -0
- package/esm/components/data-grid/filters/date-filter.js +109 -0
- package/esm/components/data-grid/filters/date-filter.js.map +1 -0
- package/esm/components/data-grid/filters/date-filter.spec.d.ts +2 -0
- package/esm/components/data-grid/filters/date-filter.spec.d.ts.map +1 -0
- package/esm/components/data-grid/filters/date-filter.spec.js +145 -0
- package/esm/components/data-grid/filters/date-filter.spec.js.map +1 -0
- package/esm/components/data-grid/filters/enum-filter.d.ts +16 -0
- package/esm/components/data-grid/filters/enum-filter.d.ts.map +1 -0
- package/esm/components/data-grid/filters/enum-filter.js +72 -0
- package/esm/components/data-grid/filters/enum-filter.js.map +1 -0
- package/esm/components/data-grid/filters/enum-filter.spec.d.ts +2 -0
- package/esm/components/data-grid/filters/enum-filter.spec.d.ts.map +1 -0
- package/esm/components/data-grid/filters/enum-filter.spec.js +136 -0
- package/esm/components/data-grid/filters/enum-filter.spec.js.map +1 -0
- package/esm/components/data-grid/filters/filter-dropdown.d.ts +6 -0
- package/esm/components/data-grid/filters/filter-dropdown.d.ts.map +1 -0
- package/esm/components/data-grid/filters/filter-dropdown.js +41 -0
- package/esm/components/data-grid/filters/filter-dropdown.js.map +1 -0
- package/esm/components/data-grid/filters/filter-dropdown.spec.d.ts +2 -0
- package/esm/components/data-grid/filters/filter-dropdown.spec.d.ts.map +1 -0
- package/esm/components/data-grid/filters/filter-dropdown.spec.js +69 -0
- package/esm/components/data-grid/filters/filter-dropdown.spec.js.map +1 -0
- package/esm/components/data-grid/filters/filter-styles.d.ts +24 -0
- package/esm/components/data-grid/filters/filter-styles.d.ts.map +1 -0
- package/esm/components/data-grid/filters/filter-styles.js +25 -0
- package/esm/components/data-grid/filters/filter-styles.js.map +1 -0
- package/esm/components/data-grid/filters/index.d.ts +7 -0
- package/esm/components/data-grid/filters/index.d.ts.map +1 -0
- package/esm/components/data-grid/filters/index.js +7 -0
- package/esm/components/data-grid/filters/index.js.map +1 -0
- package/esm/components/data-grid/filters/number-filter.d.ts +12 -0
- package/esm/components/data-grid/filters/number-filter.d.ts.map +1 -0
- package/esm/components/data-grid/filters/number-filter.js +65 -0
- package/esm/components/data-grid/filters/number-filter.js.map +1 -0
- package/esm/components/data-grid/filters/number-filter.spec.d.ts +2 -0
- package/esm/components/data-grid/filters/number-filter.spec.d.ts.map +1 -0
- package/esm/components/data-grid/filters/number-filter.spec.js +142 -0
- package/esm/components/data-grid/filters/number-filter.spec.js.map +1 -0
- package/esm/components/data-grid/filters/string-filter.d.ts +12 -0
- package/esm/components/data-grid/filters/string-filter.d.ts.map +1 -0
- package/esm/components/data-grid/filters/string-filter.js +63 -0
- package/esm/components/data-grid/filters/string-filter.js.map +1 -0
- package/esm/components/data-grid/filters/string-filter.spec.d.ts +2 -0
- package/esm/components/data-grid/filters/string-filter.spec.d.ts.map +1 -0
- package/esm/components/data-grid/filters/string-filter.spec.js +128 -0
- package/esm/components/data-grid/filters/string-filter.spec.js.map +1 -0
- package/esm/components/data-grid/footer.d.ts +1 -0
- package/esm/components/data-grid/footer.d.ts.map +1 -1
- package/esm/components/data-grid/footer.js +24 -16
- package/esm/components/data-grid/footer.js.map +1 -1
- package/esm/components/data-grid/footer.spec.js +111 -71
- package/esm/components/data-grid/footer.spec.js.map +1 -1
- package/esm/components/data-grid/header.d.ts +6 -9
- package/esm/components/data-grid/header.d.ts.map +1 -1
- package/esm/components/data-grid/header.js +51 -117
- package/esm/components/data-grid/header.js.map +1 -1
- package/esm/components/data-grid/header.spec.js +116 -187
- package/esm/components/data-grid/header.spec.js.map +1 -1
- package/esm/components/data-grid/index.d.ts +1 -0
- package/esm/components/data-grid/index.d.ts.map +1 -1
- package/esm/components/data-grid/index.js +1 -0
- package/esm/components/data-grid/index.js.map +1 -1
- package/esm/components/data-grid/selection-cell.spec.js +8 -8
- package/esm/components/data-grid/selection-cell.spec.js.map +1 -1
- package/esm/components/drawer/drawer-toggle-button.spec.js +22 -22
- package/esm/components/drawer/drawer-toggle-button.spec.js.map +1 -1
- package/esm/components/drawer/index.spec.js +36 -36
- package/esm/components/drawer/index.spec.js.map +1 -1
- package/esm/components/dropdown.spec.js +38 -30
- package/esm/components/dropdown.spec.js.map +1 -1
- package/esm/components/fab.spec.js +4 -4
- package/esm/components/fab.spec.js.map +1 -1
- package/esm/components/form.spec.js +37 -37
- package/esm/components/form.spec.js.map +1 -1
- package/esm/components/grid.d.ts +3 -0
- package/esm/components/grid.d.ts.map +1 -1
- package/esm/components/grid.js +3 -0
- package/esm/components/grid.js.map +1 -1
- package/esm/components/grid.spec.js +3 -3
- package/esm/components/grid.spec.js.map +1 -1
- package/esm/components/image.spec.js +55 -52
- package/esm/components/image.spec.js.map +1 -1
- package/esm/components/inputs/autocomplete.d.ts +3 -0
- package/esm/components/inputs/autocomplete.d.ts.map +1 -1
- package/esm/components/inputs/autocomplete.js +3 -0
- package/esm/components/inputs/autocomplete.js.map +1 -1
- package/esm/components/inputs/autocomplete.spec.js +7 -14
- package/esm/components/inputs/autocomplete.spec.js.map +1 -1
- package/esm/components/inputs/checkbox.spec.js +22 -22
- package/esm/components/inputs/checkbox.spec.js.map +1 -1
- package/esm/components/inputs/input-number.spec.js +47 -47
- package/esm/components/inputs/input-number.spec.js.map +1 -1
- package/esm/components/inputs/input.spec.js +53 -53
- package/esm/components/inputs/input.spec.js.map +1 -1
- package/esm/components/inputs/radio-group.spec.js +14 -14
- package/esm/components/inputs/radio-group.spec.js.map +1 -1
- package/esm/components/inputs/radio.spec.js +16 -16
- package/esm/components/inputs/radio.spec.js.map +1 -1
- package/esm/components/inputs/select.spec.js +74 -74
- package/esm/components/inputs/select.spec.js.map +1 -1
- package/esm/components/inputs/slider.spec.js +16 -16
- package/esm/components/inputs/slider.spec.js.map +1 -1
- package/esm/components/inputs/switch.spec.js +24 -24
- package/esm/components/inputs/switch.spec.js.map +1 -1
- package/esm/components/inputs/text-area.spec.js +17 -17
- package/esm/components/inputs/text-area.spec.js.map +1 -1
- package/esm/components/linear-progress.spec.js +2 -2
- package/esm/components/list/list.d.ts +10 -0
- package/esm/components/list/list.d.ts.map +1 -1
- package/esm/components/list/list.js +23 -2
- package/esm/components/list/list.js.map +1 -1
- package/esm/components/list/list.spec.js +137 -36
- package/esm/components/list/list.spec.js.map +1 -1
- package/esm/components/markdown/markdown-display.spec.js +15 -15
- package/esm/components/markdown/markdown-display.spec.js.map +1 -1
- package/esm/components/markdown/markdown-editor.spec.js +8 -8
- package/esm/components/markdown/markdown-editor.spec.js.map +1 -1
- package/esm/components/markdown/markdown-input.d.ts +14 -0
- package/esm/components/markdown/markdown-input.d.ts.map +1 -1
- package/esm/components/markdown/markdown-input.js +48 -2
- package/esm/components/markdown/markdown-input.js.map +1 -1
- package/esm/components/markdown/markdown-input.spec.js +114 -17
- package/esm/components/markdown/markdown-input.spec.js.map +1 -1
- package/esm/components/menu/menu.spec.js +28 -28
- package/esm/components/menu/menu.spec.js.map +1 -1
- package/esm/components/modal.spec.js +15 -18
- package/esm/components/modal.spec.js.map +1 -1
- package/esm/components/noty-list.spec.js +25 -23
- package/esm/components/noty-list.spec.js.map +1 -1
- package/esm/components/page-container/index.spec.js +16 -16
- package/esm/components/page-container/index.spec.js.map +1 -1
- package/esm/components/page-container/page-header.spec.js +16 -16
- package/esm/components/page-container/page-header.spec.js.map +1 -1
- package/esm/components/page-layout/index.spec.js +29 -29
- package/esm/components/page-layout/index.spec.js.map +1 -1
- package/esm/components/paper.spec.js +3 -3
- package/esm/components/paper.spec.js.map +1 -1
- package/esm/components/rating.spec.js +61 -61
- package/esm/components/rating.spec.js.map +1 -1
- package/esm/components/skeleton.spec.js +10 -6
- package/esm/components/skeleton.spec.js.map +1 -1
- package/esm/components/suggest/index.d.ts +10 -2
- package/esm/components/suggest/index.d.ts.map +1 -1
- package/esm/components/suggest/index.js +21 -1
- package/esm/components/suggest/index.js.map +1 -1
- package/esm/components/suggest/index.spec.js +50 -0
- package/esm/components/suggest/index.spec.js.map +1 -1
- package/esm/components/suggest/suggest-input.spec.js +4 -10
- package/esm/components/suggest/suggest-input.spec.js.map +1 -1
- package/esm/components/tabs.spec.js +30 -30
- package/esm/components/tabs.spec.js.map +1 -1
- package/esm/components/tree/tree.spec.js +27 -27
- package/esm/components/tree/tree.spec.js.map +1 -1
- package/esm/components/typography.spec.js +3 -3
- package/esm/components/typography.spec.js.map +1 -1
- package/esm/components/wizard/index.d.ts +8 -0
- package/esm/components/wizard/index.d.ts.map +1 -1
- package/esm/components/wizard/index.js +90 -0
- package/esm/components/wizard/index.js.map +1 -1
- package/esm/components/wizard/index.spec.js +84 -7
- package/esm/components/wizard/index.spec.js.map +1 -1
- package/esm/utils/promisify-animation.d.ts.map +1 -1
- package/esm/utils/promisify-animation.js +3 -0
- package/esm/utils/promisify-animation.js.map +1 -1
- package/package.json +3 -3
- package/src/components/app-bar-link.spec.tsx +16 -19
- package/src/components/app-bar.spec.tsx +6 -4
- package/src/components/avatar.spec.tsx +9 -9
- package/src/components/breadcrumb.spec.tsx +2 -2
- package/src/components/button-group.spec.tsx +155 -11
- package/src/components/button-group.tsx +49 -2
- package/src/components/button.spec.tsx +4 -4
- package/src/components/cache-view.spec.tsx +3 -3
- package/src/components/carousel.spec.tsx +47 -47
- package/src/components/circular-progress.spec.tsx +2 -2
- package/src/components/command-palette/command-palette-input.spec.tsx +23 -19
- package/src/components/command-palette/command-palette-suggestion-list.spec.tsx +27 -27
- package/src/components/command-palette/index.spec.tsx +64 -51
- package/src/components/context-menu/context-menu.spec.tsx +33 -33
- package/src/components/data-grid/body.spec.tsx +13 -13
- package/src/components/data-grid/data-grid-row.spec.tsx +8 -8
- package/src/components/data-grid/data-grid.spec.tsx +106 -28
- package/src/components/data-grid/data-grid.tsx +57 -13
- package/src/components/data-grid/filters/boolean-filter.spec.tsx +142 -0
- package/src/components/data-grid/filters/boolean-filter.tsx +45 -0
- package/src/components/data-grid/filters/date-filter.spec.tsx +181 -0
- package/src/components/data-grid/filters/date-filter.tsx +162 -0
- package/src/components/data-grid/filters/enum-filter.spec.tsx +168 -0
- package/src/components/data-grid/filters/enum-filter.tsx +119 -0
- package/src/components/data-grid/filters/filter-dropdown.spec.tsx +89 -0
- package/src/components/data-grid/filters/filter-dropdown.tsx +60 -0
- package/src/components/data-grid/filters/filter-styles.ts +26 -0
- package/src/components/data-grid/filters/index.ts +6 -0
- package/src/components/data-grid/filters/number-filter.spec.tsx +174 -0
- package/src/components/data-grid/filters/number-filter.tsx +115 -0
- package/src/components/data-grid/filters/string-filter.spec.tsx +157 -0
- package/src/components/data-grid/filters/string-filter.tsx +112 -0
- package/src/components/data-grid/footer.spec.tsx +130 -74
- package/src/components/data-grid/footer.tsx +41 -34
- package/src/components/data-grid/header.spec.tsx +128 -212
- package/src/components/data-grid/header.tsx +95 -183
- package/src/components/data-grid/index.tsx +1 -0
- package/src/components/data-grid/selection-cell.spec.tsx +8 -8
- package/src/components/drawer/drawer-toggle-button.spec.tsx +22 -22
- package/src/components/drawer/index.spec.tsx +36 -36
- package/src/components/dropdown.spec.tsx +38 -30
- package/src/components/fab.spec.tsx +4 -4
- package/src/components/form.spec.tsx +37 -37
- package/src/components/grid.spec.tsx +3 -3
- package/src/components/grid.tsx +3 -0
- package/src/components/image.spec.tsx +55 -52
- package/src/components/inputs/autocomplete.spec.tsx +7 -14
- package/src/components/inputs/autocomplete.tsx +3 -0
- package/src/components/inputs/checkbox.spec.tsx +22 -22
- package/src/components/inputs/input-number.spec.tsx +47 -47
- package/src/components/inputs/input.spec.tsx +53 -53
- package/src/components/inputs/radio-group.spec.tsx +14 -14
- package/src/components/inputs/radio.spec.tsx +16 -16
- package/src/components/inputs/select.spec.tsx +74 -74
- package/src/components/inputs/slider.spec.tsx +16 -16
- package/src/components/inputs/switch.spec.tsx +24 -24
- package/src/components/inputs/text-area.spec.tsx +17 -17
- package/src/components/linear-progress.spec.tsx +2 -2
- package/src/components/list/list.spec.tsx +209 -36
- package/src/components/list/list.tsx +56 -19
- package/src/components/markdown/markdown-display.spec.tsx +15 -15
- package/src/components/markdown/markdown-editor.spec.tsx +8 -8
- package/src/components/markdown/markdown-input.spec.tsx +159 -17
- package/src/components/markdown/markdown-input.tsx +65 -1
- package/src/components/menu/menu.spec.tsx +28 -28
- package/src/components/modal.spec.tsx +15 -18
- package/src/components/noty-list.spec.tsx +25 -23
- package/src/components/page-container/index.spec.tsx +16 -16
- package/src/components/page-container/page-header.spec.tsx +16 -16
- package/src/components/page-layout/index.spec.tsx +29 -29
- package/src/components/paper.spec.tsx +3 -3
- package/src/components/rating.spec.tsx +61 -61
- package/src/components/skeleton.spec.tsx +10 -6
- package/src/components/suggest/index.spec.tsx +83 -0
- package/src/components/suggest/index.tsx +36 -3
- package/src/components/suggest/suggest-input.spec.tsx +4 -10
- package/src/components/tabs.spec.tsx +30 -30
- package/src/components/tree/tree.spec.tsx +27 -27
- package/src/components/typography.spec.tsx +3 -3
- package/src/components/wizard/index.spec.tsx +123 -6
- package/src/components/wizard/index.tsx +125 -0
- package/src/utils/promisify-animation.ts +3 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Injector } from '@furystack/inject'
|
|
2
2
|
import { initializeShadeRoot, createComponent, Shade, flushUpdates } from '@furystack/shades'
|
|
3
|
-
import {
|
|
3
|
+
import { usingAsync } from '@furystack/utils'
|
|
4
4
|
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
|
|
5
5
|
import { Modal } from './modal.js'
|
|
6
6
|
|
|
@@ -28,7 +28,7 @@ describe('Modal', () => {
|
|
|
28
28
|
),
|
|
29
29
|
})
|
|
30
30
|
|
|
31
|
-
await
|
|
31
|
+
await flushUpdates()
|
|
32
32
|
expect(document.body.innerHTML).toContain('shade-backdrop')
|
|
33
33
|
expect(document.body.innerHTML).toContain('modal-content')
|
|
34
34
|
})
|
|
@@ -48,7 +48,7 @@ describe('Modal', () => {
|
|
|
48
48
|
),
|
|
49
49
|
})
|
|
50
50
|
|
|
51
|
-
await
|
|
51
|
+
await flushUpdates()
|
|
52
52
|
expect(document.body.innerHTML).not.toContain('shade-backdrop')
|
|
53
53
|
expect(document.body.innerHTML).not.toContain('modal-content')
|
|
54
54
|
})
|
|
@@ -74,12 +74,11 @@ describe('Modal', () => {
|
|
|
74
74
|
const rootElement = document.getElementById('root') as HTMLDivElement
|
|
75
75
|
|
|
76
76
|
initializeShadeRoot({ injector, rootElement, jsxElement: <Wrapper /> })
|
|
77
|
-
await
|
|
77
|
+
await flushUpdates()
|
|
78
78
|
expect(document.body.innerHTML).not.toContain('modal-content')
|
|
79
79
|
|
|
80
80
|
setVisible(true)
|
|
81
81
|
await flushUpdates()
|
|
82
|
-
await sleepAsync(50)
|
|
83
82
|
|
|
84
83
|
expect(document.body.innerHTML).toContain('shade-backdrop')
|
|
85
84
|
expect(document.body.innerHTML).toContain('modal-content')
|
|
@@ -106,12 +105,11 @@ describe('Modal', () => {
|
|
|
106
105
|
const rootElement = document.getElementById('root') as HTMLDivElement
|
|
107
106
|
|
|
108
107
|
initializeShadeRoot({ injector, rootElement, jsxElement: <Wrapper /> })
|
|
109
|
-
await
|
|
108
|
+
await flushUpdates()
|
|
110
109
|
expect(document.body.innerHTML).toContain('modal-content')
|
|
111
110
|
|
|
112
111
|
setVisible(false)
|
|
113
112
|
await flushUpdates()
|
|
114
|
-
await sleepAsync(50)
|
|
115
113
|
|
|
116
114
|
expect(document.body.innerHTML).not.toContain('shade-backdrop')
|
|
117
115
|
expect(document.body.innerHTML).not.toContain('modal-content')
|
|
@@ -135,12 +133,12 @@ describe('Modal', () => {
|
|
|
135
133
|
),
|
|
136
134
|
})
|
|
137
135
|
|
|
138
|
-
await
|
|
136
|
+
await flushUpdates()
|
|
139
137
|
const backdrop = document.querySelector('.shade-backdrop') as HTMLDivElement
|
|
140
138
|
expect(backdrop).not.toBeNull()
|
|
141
139
|
|
|
142
140
|
backdrop.click()
|
|
143
|
-
await
|
|
141
|
+
await flushUpdates()
|
|
144
142
|
|
|
145
143
|
expect(onClose).toHaveBeenCalledTimes(1)
|
|
146
144
|
})
|
|
@@ -167,10 +165,10 @@ describe('Modal', () => {
|
|
|
167
165
|
),
|
|
168
166
|
})
|
|
169
167
|
|
|
170
|
-
await
|
|
168
|
+
await flushUpdates()
|
|
171
169
|
const backdrop = document.querySelector('.shade-backdrop') as HTMLDivElement
|
|
172
170
|
backdrop.click()
|
|
173
|
-
await
|
|
171
|
+
await flushUpdates()
|
|
174
172
|
|
|
175
173
|
expect(hideAnimation).toHaveBeenCalledTimes(1)
|
|
176
174
|
expect(onClose).toHaveBeenCalledTimes(1)
|
|
@@ -195,7 +193,7 @@ describe('Modal', () => {
|
|
|
195
193
|
),
|
|
196
194
|
})
|
|
197
195
|
|
|
198
|
-
await
|
|
196
|
+
await flushUpdates()
|
|
199
197
|
expect(showAnimation).toHaveBeenCalled()
|
|
200
198
|
})
|
|
201
199
|
})
|
|
@@ -221,12 +219,11 @@ describe('Modal', () => {
|
|
|
221
219
|
const rootElement = document.getElementById('root') as HTMLDivElement
|
|
222
220
|
|
|
223
221
|
initializeShadeRoot({ injector, rootElement, jsxElement: <Wrapper /> })
|
|
224
|
-
await
|
|
222
|
+
await flushUpdates()
|
|
225
223
|
expect(showAnimation).not.toHaveBeenCalled()
|
|
226
224
|
|
|
227
225
|
setVisible(true)
|
|
228
226
|
await flushUpdates()
|
|
229
|
-
await sleepAsync(50)
|
|
230
227
|
|
|
231
228
|
expect(showAnimation).toHaveBeenCalled()
|
|
232
229
|
expect(showAnimation.mock.calls[0][0]).toBeInstanceOf(Element)
|
|
@@ -248,10 +245,10 @@ describe('Modal', () => {
|
|
|
248
245
|
),
|
|
249
246
|
})
|
|
250
247
|
|
|
251
|
-
await
|
|
248
|
+
await flushUpdates()
|
|
252
249
|
const backdrop = document.querySelector('.shade-backdrop') as HTMLDivElement
|
|
253
250
|
backdrop.click()
|
|
254
|
-
await
|
|
251
|
+
await flushUpdates()
|
|
255
252
|
|
|
256
253
|
expect(hideAnimation).toHaveBeenCalled()
|
|
257
254
|
expect(hideAnimation.mock.calls[0][0]).toBeInstanceOf(Element)
|
|
@@ -278,7 +275,7 @@ describe('Modal', () => {
|
|
|
278
275
|
),
|
|
279
276
|
})
|
|
280
277
|
|
|
281
|
-
await
|
|
278
|
+
await flushUpdates()
|
|
282
279
|
const backdrop = document.querySelector('.shade-backdrop') as HTMLDivElement
|
|
283
280
|
expect(backdrop).not.toBeNull()
|
|
284
281
|
expect(backdrop.style.backgroundColor).toBe('rgba(0, 0, 0, 0.5)')
|
|
@@ -303,7 +300,7 @@ describe('Modal', () => {
|
|
|
303
300
|
),
|
|
304
301
|
})
|
|
305
302
|
|
|
306
|
-
await
|
|
303
|
+
await flushUpdates()
|
|
307
304
|
const backdrop = document.querySelector('.shade-backdrop') as HTMLDivElement
|
|
308
305
|
expect(backdrop).not.toBeNull()
|
|
309
306
|
expect(backdrop.innerHTML).toContain('child-1')
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Injector } from '@furystack/inject'
|
|
2
|
-
import { createComponent, initializeShadeRoot } from '@furystack/shades'
|
|
3
|
-
import {
|
|
2
|
+
import { createComponent, flushUpdates, initializeShadeRoot } from '@furystack/shades'
|
|
3
|
+
import { usingAsync } from '@furystack/utils'
|
|
4
4
|
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
|
|
5
5
|
import { defaultDarkTheme } from '../services/default-dark-theme.js'
|
|
6
6
|
import type { NotyModel } from '../services/noty-service.js'
|
|
@@ -80,7 +80,7 @@ describe('NotyComponent', () => {
|
|
|
80
80
|
jsxElement: <NotyComponent model={model} onDismiss={() => {}} />,
|
|
81
81
|
})
|
|
82
82
|
|
|
83
|
-
await
|
|
83
|
+
await flushUpdates()
|
|
84
84
|
|
|
85
85
|
const noty = document.querySelector('shade-noty')
|
|
86
86
|
expect(noty).not.toBeNull()
|
|
@@ -100,7 +100,7 @@ describe('NotyComponent', () => {
|
|
|
100
100
|
jsxElement: <NotyComponent model={model} onDismiss={() => {}} />,
|
|
101
101
|
})
|
|
102
102
|
|
|
103
|
-
await
|
|
103
|
+
await flushUpdates()
|
|
104
104
|
|
|
105
105
|
expect(document.body.innerHTML).toContain('Success Title')
|
|
106
106
|
expect(document.body.innerHTML).toContain('Success message body')
|
|
@@ -119,7 +119,7 @@ describe('NotyComponent', () => {
|
|
|
119
119
|
jsxElement: <NotyComponent model={model} onDismiss={() => {}} />,
|
|
120
120
|
})
|
|
121
121
|
|
|
122
|
-
await
|
|
122
|
+
await flushUpdates()
|
|
123
123
|
|
|
124
124
|
const noty = document.querySelector('shade-noty') as HTMLElement
|
|
125
125
|
expect(noty).not.toBeNull()
|
|
@@ -139,7 +139,7 @@ describe('NotyComponent', () => {
|
|
|
139
139
|
jsxElement: <NotyComponent model={model} onDismiss={() => {}} />,
|
|
140
140
|
})
|
|
141
141
|
|
|
142
|
-
await
|
|
142
|
+
await flushUpdates()
|
|
143
143
|
|
|
144
144
|
const dismissButton = document.querySelector('.dismiss-button')
|
|
145
145
|
expect(dismissButton).not.toBeNull()
|
|
@@ -148,6 +148,7 @@ describe('NotyComponent', () => {
|
|
|
148
148
|
})
|
|
149
149
|
|
|
150
150
|
it('should call onDismiss when dismiss button is clicked', async () => {
|
|
151
|
+
vi.useFakeTimers()
|
|
151
152
|
const onDismiss = vi.fn()
|
|
152
153
|
|
|
153
154
|
Element.prototype.animate = vi.fn(
|
|
@@ -181,16 +182,17 @@ describe('NotyComponent', () => {
|
|
|
181
182
|
jsxElement: <NotyComponent model={model} onDismiss={onDismiss} />,
|
|
182
183
|
})
|
|
183
184
|
|
|
184
|
-
await
|
|
185
|
+
await vi.advanceTimersByTimeAsync(50)
|
|
185
186
|
|
|
186
187
|
const dismissButton = document.querySelector('.dismiss-button') as HTMLButtonElement
|
|
187
188
|
expect(dismissButton).not.toBeNull()
|
|
188
189
|
dismissButton.click()
|
|
189
190
|
|
|
190
|
-
await
|
|
191
|
+
await vi.advanceTimersByTimeAsync(50)
|
|
191
192
|
|
|
192
193
|
expect(onDismiss).toHaveBeenCalled()
|
|
193
194
|
})
|
|
195
|
+
vi.useRealTimers()
|
|
194
196
|
})
|
|
195
197
|
|
|
196
198
|
it('should start fade-in animation on mount', async () => {
|
|
@@ -363,7 +365,7 @@ describe('NotyComponent', () => {
|
|
|
363
365
|
jsxElement: <NotyComponent model={model} onDismiss={() => {}} />,
|
|
364
366
|
})
|
|
365
367
|
|
|
366
|
-
await
|
|
368
|
+
await flushUpdates()
|
|
367
369
|
|
|
368
370
|
const noty = document.querySelector('shade-noty') as HTMLElement
|
|
369
371
|
expect(noty).not.toBeNull()
|
|
@@ -384,7 +386,7 @@ describe('NotyComponent', () => {
|
|
|
384
386
|
jsxElement: <NotyComponent model={model} onDismiss={() => {}} />,
|
|
385
387
|
})
|
|
386
388
|
|
|
387
|
-
await
|
|
389
|
+
await flushUpdates()
|
|
388
390
|
|
|
389
391
|
const noty = document.querySelector('shade-noty') as HTMLElement
|
|
390
392
|
expect(noty).not.toBeNull()
|
|
@@ -443,7 +445,7 @@ describe('NotyList', () => {
|
|
|
443
445
|
jsxElement: <NotyList />,
|
|
444
446
|
})
|
|
445
447
|
|
|
446
|
-
await
|
|
448
|
+
await flushUpdates()
|
|
447
449
|
|
|
448
450
|
const notyList = document.querySelector('shade-noty-list')
|
|
449
451
|
expect(notyList).not.toBeNull()
|
|
@@ -461,7 +463,7 @@ describe('NotyList', () => {
|
|
|
461
463
|
jsxElement: <NotyList />,
|
|
462
464
|
})
|
|
463
465
|
|
|
464
|
-
await
|
|
466
|
+
await flushUpdates()
|
|
465
467
|
|
|
466
468
|
const notyList = document.querySelector('shade-noty-list') as HTMLElement
|
|
467
469
|
expect(notyList).not.toBeNull()
|
|
@@ -491,7 +493,7 @@ describe('NotyList', () => {
|
|
|
491
493
|
jsxElement: <NotyList />,
|
|
492
494
|
})
|
|
493
495
|
|
|
494
|
-
await
|
|
496
|
+
await flushUpdates()
|
|
495
497
|
|
|
496
498
|
const notys = document.querySelectorAll('shade-noty')
|
|
497
499
|
expect(notys.length).toBe(2)
|
|
@@ -510,7 +512,7 @@ describe('NotyList', () => {
|
|
|
510
512
|
jsxElement: <NotyList />,
|
|
511
513
|
})
|
|
512
514
|
|
|
513
|
-
await
|
|
515
|
+
await flushUpdates()
|
|
514
516
|
|
|
515
517
|
let notys = document.querySelectorAll('shade-noty')
|
|
516
518
|
expect(notys.length).toBe(0)
|
|
@@ -518,7 +520,7 @@ describe('NotyList', () => {
|
|
|
518
520
|
const newNoty: NotyModel = { type: 'warning', title: 'Warning', body: 'Warning message' }
|
|
519
521
|
notyService.emit('onNotyAdded', newNoty)
|
|
520
522
|
|
|
521
|
-
await
|
|
523
|
+
await flushUpdates()
|
|
522
524
|
|
|
523
525
|
notys = document.querySelectorAll('shade-noty')
|
|
524
526
|
expect(notys.length).toBe(1)
|
|
@@ -541,14 +543,14 @@ describe('NotyList', () => {
|
|
|
541
543
|
jsxElement: <NotyList />,
|
|
542
544
|
})
|
|
543
545
|
|
|
544
|
-
await
|
|
546
|
+
await flushUpdates()
|
|
545
547
|
|
|
546
548
|
let notys = document.querySelectorAll('shade-noty')
|
|
547
549
|
expect(notys.length).toBe(1)
|
|
548
550
|
|
|
549
551
|
notyService.emit('onNotyRemoved', noty)
|
|
550
552
|
|
|
551
|
-
await
|
|
553
|
+
await flushUpdates()
|
|
552
554
|
|
|
553
555
|
notys = document.querySelectorAll('shade-noty')
|
|
554
556
|
expect(notys.length).toBe(0)
|
|
@@ -567,7 +569,7 @@ describe('NotyList', () => {
|
|
|
567
569
|
jsxElement: <NotyList />,
|
|
568
570
|
})
|
|
569
571
|
|
|
570
|
-
await
|
|
572
|
+
await flushUpdates()
|
|
571
573
|
|
|
572
574
|
const noty1: NotyModel = { type: 'info', title: 'Info 1', body: 'Body 1' }
|
|
573
575
|
const noty2: NotyModel = { type: 'success', title: 'Success 1', body: 'Body 2' }
|
|
@@ -577,14 +579,14 @@ describe('NotyList', () => {
|
|
|
577
579
|
notyService.emit('onNotyAdded', noty2)
|
|
578
580
|
notyService.emit('onNotyAdded', noty3)
|
|
579
581
|
|
|
580
|
-
await
|
|
582
|
+
await flushUpdates()
|
|
581
583
|
|
|
582
584
|
let notys = document.querySelectorAll('shade-noty')
|
|
583
585
|
expect(notys.length).toBe(3)
|
|
584
586
|
|
|
585
587
|
notyService.emit('onNotyRemoved', noty2)
|
|
586
588
|
|
|
587
|
-
await
|
|
589
|
+
await flushUpdates()
|
|
588
590
|
|
|
589
591
|
notys = document.querySelectorAll('shade-noty')
|
|
590
592
|
expect(notys.length).toBe(2)
|
|
@@ -592,7 +594,7 @@ describe('NotyList', () => {
|
|
|
592
594
|
notyService.emit('onNotyRemoved', noty1)
|
|
593
595
|
notyService.emit('onNotyRemoved', noty3)
|
|
594
596
|
|
|
595
|
-
await
|
|
597
|
+
await flushUpdates()
|
|
596
598
|
|
|
597
599
|
notys = document.querySelectorAll('shade-noty')
|
|
598
600
|
expect(notys.length).toBe(0)
|
|
@@ -617,11 +619,11 @@ describe('NotyList', () => {
|
|
|
617
619
|
jsxElement: <NotyList />,
|
|
618
620
|
})
|
|
619
621
|
|
|
620
|
-
await
|
|
622
|
+
await flushUpdates()
|
|
621
623
|
|
|
622
624
|
notyService.emit('onNotyRemoved', noty2)
|
|
623
625
|
|
|
624
|
-
await
|
|
626
|
+
await flushUpdates()
|
|
625
627
|
|
|
626
628
|
const notys = document.querySelectorAll('shade-noty')
|
|
627
629
|
expect(notys.length).toBe(1)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Injector } from '@furystack/inject'
|
|
2
|
-
import { createComponent, initializeShadeRoot } from '@furystack/shades'
|
|
3
|
-
import {
|
|
2
|
+
import { createComponent, flushUpdates, initializeShadeRoot } from '@furystack/shades'
|
|
3
|
+
import { usingAsync } from '@furystack/utils'
|
|
4
4
|
import { afterEach, beforeEach, describe, expect, it } from 'vitest'
|
|
5
5
|
import { PageContainer } from './index.js'
|
|
6
6
|
|
|
@@ -24,7 +24,7 @@ describe('PageContainer component', () => {
|
|
|
24
24
|
jsxElement: <PageContainer>Content</PageContainer>,
|
|
25
25
|
})
|
|
26
26
|
|
|
27
|
-
await
|
|
27
|
+
await flushUpdates()
|
|
28
28
|
const element = document.querySelector('div[is="shade-page-container"]')
|
|
29
29
|
expect(element).not.toBeNull()
|
|
30
30
|
expect(element?.tagName.toLowerCase()).toBe('div')
|
|
@@ -46,7 +46,7 @@ describe('PageContainer component', () => {
|
|
|
46
46
|
),
|
|
47
47
|
})
|
|
48
48
|
|
|
49
|
-
await
|
|
49
|
+
await flushUpdates()
|
|
50
50
|
const element = document.querySelector('div[is="shade-page-container"]')
|
|
51
51
|
expect(element?.textContent).toContain('Child content')
|
|
52
52
|
})
|
|
@@ -67,7 +67,7 @@ describe('PageContainer component', () => {
|
|
|
67
67
|
),
|
|
68
68
|
})
|
|
69
69
|
|
|
70
|
-
await
|
|
70
|
+
await flushUpdates()
|
|
71
71
|
const element = document.querySelector('div[is="shade-page-container"]')
|
|
72
72
|
expect(element?.textContent).toContain('First')
|
|
73
73
|
expect(element?.textContent).toContain('Second')
|
|
@@ -86,7 +86,7 @@ describe('PageContainer component', () => {
|
|
|
86
86
|
jsxElement: <PageContainer>Content</PageContainer>,
|
|
87
87
|
})
|
|
88
88
|
|
|
89
|
-
await
|
|
89
|
+
await flushUpdates()
|
|
90
90
|
const element = document.querySelector('div[is="shade-page-container"]') as HTMLDivElement
|
|
91
91
|
expect(element.style.padding).toBe('24px')
|
|
92
92
|
})
|
|
@@ -102,7 +102,7 @@ describe('PageContainer component', () => {
|
|
|
102
102
|
jsxElement: <PageContainer>Content</PageContainer>,
|
|
103
103
|
})
|
|
104
104
|
|
|
105
|
-
await
|
|
105
|
+
await flushUpdates()
|
|
106
106
|
const element = document.querySelector('div[is="shade-page-container"]') as HTMLDivElement
|
|
107
107
|
expect(element.style.gap).toBe('16px')
|
|
108
108
|
})
|
|
@@ -118,7 +118,7 @@ describe('PageContainer component', () => {
|
|
|
118
118
|
jsxElement: <PageContainer>Content</PageContainer>,
|
|
119
119
|
})
|
|
120
120
|
|
|
121
|
-
await
|
|
121
|
+
await flushUpdates()
|
|
122
122
|
const element = document.querySelector('div[is="shade-page-container"]') as HTMLDivElement
|
|
123
123
|
expect(element.style.maxWidth).toBe('100%')
|
|
124
124
|
})
|
|
@@ -134,7 +134,7 @@ describe('PageContainer component', () => {
|
|
|
134
134
|
jsxElement: <PageContainer>Content</PageContainer>,
|
|
135
135
|
})
|
|
136
136
|
|
|
137
|
-
await
|
|
137
|
+
await flushUpdates()
|
|
138
138
|
const element = document.querySelector('div[is="shade-page-container"]') as HTMLDivElement
|
|
139
139
|
expect(element.style.height).toBe('100%')
|
|
140
140
|
})
|
|
@@ -150,7 +150,7 @@ describe('PageContainer component', () => {
|
|
|
150
150
|
jsxElement: <PageContainer>Content</PageContainer>,
|
|
151
151
|
})
|
|
152
152
|
|
|
153
|
-
await
|
|
153
|
+
await flushUpdates()
|
|
154
154
|
const element = document.querySelector('div[is="shade-page-container"]') as HTMLDivElement
|
|
155
155
|
expect(element.style.marginLeft).toBe('')
|
|
156
156
|
expect(element.style.marginRight).toBe('')
|
|
@@ -169,7 +169,7 @@ describe('PageContainer component', () => {
|
|
|
169
169
|
jsxElement: <PageContainer maxWidth="800px">Content</PageContainer>,
|
|
170
170
|
})
|
|
171
171
|
|
|
172
|
-
await
|
|
172
|
+
await flushUpdates()
|
|
173
173
|
const element = document.querySelector('div[is="shade-page-container"]') as HTMLDivElement
|
|
174
174
|
expect(element.style.maxWidth).toBe('800px')
|
|
175
175
|
})
|
|
@@ -185,7 +185,7 @@ describe('PageContainer component', () => {
|
|
|
185
185
|
jsxElement: <PageContainer padding="48px">Content</PageContainer>,
|
|
186
186
|
})
|
|
187
187
|
|
|
188
|
-
await
|
|
188
|
+
await flushUpdates()
|
|
189
189
|
const element = document.querySelector('div[is="shade-page-container"]') as HTMLDivElement
|
|
190
190
|
expect(element.style.padding).toBe('48px')
|
|
191
191
|
})
|
|
@@ -201,7 +201,7 @@ describe('PageContainer component', () => {
|
|
|
201
201
|
jsxElement: <PageContainer gap="32px">Content</PageContainer>,
|
|
202
202
|
})
|
|
203
203
|
|
|
204
|
-
await
|
|
204
|
+
await flushUpdates()
|
|
205
205
|
const element = document.querySelector('div[is="shade-page-container"]') as HTMLDivElement
|
|
206
206
|
expect(element.style.gap).toBe('32px')
|
|
207
207
|
})
|
|
@@ -221,7 +221,7 @@ describe('PageContainer component', () => {
|
|
|
221
221
|
),
|
|
222
222
|
})
|
|
223
223
|
|
|
224
|
-
await
|
|
224
|
+
await flushUpdates()
|
|
225
225
|
const element = document.querySelector('div[is="shade-page-container"]') as HTMLDivElement
|
|
226
226
|
expect(element.style.marginLeft).toBe('auto')
|
|
227
227
|
expect(element.style.marginRight).toBe('auto')
|
|
@@ -238,7 +238,7 @@ describe('PageContainer component', () => {
|
|
|
238
238
|
jsxElement: <PageContainer fullHeight={false}>Content</PageContainer>,
|
|
239
239
|
})
|
|
240
240
|
|
|
241
|
-
await
|
|
241
|
+
await flushUpdates()
|
|
242
242
|
const element = document.querySelector('div[is="shade-page-container"]') as HTMLDivElement
|
|
243
243
|
expect(element.style.height).toBe('auto')
|
|
244
244
|
})
|
|
@@ -260,7 +260,7 @@ describe('PageContainer component', () => {
|
|
|
260
260
|
),
|
|
261
261
|
})
|
|
262
262
|
|
|
263
|
-
await
|
|
263
|
+
await flushUpdates()
|
|
264
264
|
const element = document.querySelector('div[is="shade-page-container"]') as HTMLDivElement
|
|
265
265
|
expect(element.style.maxWidth).toBe('800px')
|
|
266
266
|
expect(element.style.marginLeft).toBe('auto')
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Injector } from '@furystack/inject'
|
|
2
|
-
import { createComponent, initializeShadeRoot } from '@furystack/shades'
|
|
3
|
-
import {
|
|
2
|
+
import { createComponent, flushUpdates, initializeShadeRoot } from '@furystack/shades'
|
|
3
|
+
import { usingAsync } from '@furystack/utils'
|
|
4
4
|
import { afterEach, beforeEach, describe, expect, it } from 'vitest'
|
|
5
5
|
import { PageHeader } from './page-header.js'
|
|
6
6
|
|
|
@@ -24,7 +24,7 @@ describe('PageHeader component', () => {
|
|
|
24
24
|
jsxElement: <PageHeader title="Test Title" />,
|
|
25
25
|
})
|
|
26
26
|
|
|
27
|
-
await
|
|
27
|
+
await flushUpdates()
|
|
28
28
|
const element = document.querySelector('shade-page-header')
|
|
29
29
|
expect(element).not.toBeNull()
|
|
30
30
|
expect(element?.tagName.toLowerCase()).toBe('shade-page-header')
|
|
@@ -41,7 +41,7 @@ describe('PageHeader component', () => {
|
|
|
41
41
|
jsxElement: <PageHeader title="Users" />,
|
|
42
42
|
})
|
|
43
43
|
|
|
44
|
-
await
|
|
44
|
+
await flushUpdates()
|
|
45
45
|
const title = document.querySelector('[data-testid="page-header-title"]')
|
|
46
46
|
expect(title).not.toBeNull()
|
|
47
47
|
expect(title?.textContent).toBe('Users')
|
|
@@ -58,7 +58,7 @@ describe('PageHeader component', () => {
|
|
|
58
58
|
jsxElement: <PageHeader title="Dashboard" />,
|
|
59
59
|
})
|
|
60
60
|
|
|
61
|
-
await
|
|
61
|
+
await flushUpdates()
|
|
62
62
|
const title = document.querySelector('[data-testid="page-header-title"]')
|
|
63
63
|
expect(title?.tagName.toLowerCase()).toBe('h2')
|
|
64
64
|
})
|
|
@@ -76,7 +76,7 @@ describe('PageHeader component', () => {
|
|
|
76
76
|
jsxElement: <PageHeader icon="👥" title="Users" />,
|
|
77
77
|
})
|
|
78
78
|
|
|
79
|
-
await
|
|
79
|
+
await flushUpdates()
|
|
80
80
|
const icon = document.querySelector('.page-header-icon')
|
|
81
81
|
expect(icon).not.toBeNull()
|
|
82
82
|
expect(icon?.textContent).toBe('👥')
|
|
@@ -93,7 +93,7 @@ describe('PageHeader component', () => {
|
|
|
93
93
|
jsxElement: <PageHeader title="Users" />,
|
|
94
94
|
})
|
|
95
95
|
|
|
96
|
-
await
|
|
96
|
+
await flushUpdates()
|
|
97
97
|
const icon = document.querySelector('.page-header-icon')
|
|
98
98
|
expect(icon).toBeNull()
|
|
99
99
|
})
|
|
@@ -109,7 +109,7 @@ describe('PageHeader component', () => {
|
|
|
109
109
|
jsxElement: <PageHeader icon="📁" title="Projects" />,
|
|
110
110
|
})
|
|
111
111
|
|
|
112
|
-
await
|
|
112
|
+
await flushUpdates()
|
|
113
113
|
const title = document.querySelector('[data-testid="page-header-title"]')
|
|
114
114
|
expect(title?.textContent).toContain('📁')
|
|
115
115
|
expect(title?.textContent).toContain('Projects')
|
|
@@ -128,7 +128,7 @@ describe('PageHeader component', () => {
|
|
|
128
128
|
jsxElement: <PageHeader title="Users" description="Manage user accounts." />,
|
|
129
129
|
})
|
|
130
130
|
|
|
131
|
-
await
|
|
131
|
+
await flushUpdates()
|
|
132
132
|
const description = document.querySelector('[data-testid="page-header-description"]')
|
|
133
133
|
expect(description).not.toBeNull()
|
|
134
134
|
expect(description?.textContent).toBe('Manage user accounts.')
|
|
@@ -145,7 +145,7 @@ describe('PageHeader component', () => {
|
|
|
145
145
|
jsxElement: <PageHeader title="Users" />,
|
|
146
146
|
})
|
|
147
147
|
|
|
148
|
-
await
|
|
148
|
+
await flushUpdates()
|
|
149
149
|
const description = document.querySelector('[data-testid="page-header-description"]')
|
|
150
150
|
expect(description).toBeNull()
|
|
151
151
|
})
|
|
@@ -161,7 +161,7 @@ describe('PageHeader component', () => {
|
|
|
161
161
|
jsxElement: <PageHeader title="Dashboard" description="Overview of your data." />,
|
|
162
162
|
})
|
|
163
163
|
|
|
164
|
-
await
|
|
164
|
+
await flushUpdates()
|
|
165
165
|
const description = document.querySelector('[data-testid="page-header-description"]')
|
|
166
166
|
expect(description?.tagName.toLowerCase()).toBe('p')
|
|
167
167
|
})
|
|
@@ -188,7 +188,7 @@ describe('PageHeader component', () => {
|
|
|
188
188
|
),
|
|
189
189
|
})
|
|
190
190
|
|
|
191
|
-
await
|
|
191
|
+
await flushUpdates()
|
|
192
192
|
const actionsContainer = document.querySelector('[data-testid="page-header-actions"]')
|
|
193
193
|
expect(actionsContainer).not.toBeNull()
|
|
194
194
|
|
|
@@ -208,7 +208,7 @@ describe('PageHeader component', () => {
|
|
|
208
208
|
jsxElement: <PageHeader title="Users" />,
|
|
209
209
|
})
|
|
210
210
|
|
|
211
|
-
await
|
|
211
|
+
await flushUpdates()
|
|
212
212
|
const actionsContainer = document.querySelector('[data-testid="page-header-actions"]')
|
|
213
213
|
expect(actionsContainer).toBeNull()
|
|
214
214
|
})
|
|
@@ -234,7 +234,7 @@ describe('PageHeader component', () => {
|
|
|
234
234
|
),
|
|
235
235
|
})
|
|
236
236
|
|
|
237
|
-
await
|
|
237
|
+
await flushUpdates()
|
|
238
238
|
const actionsContainer = document.querySelector('[data-testid="page-header-actions"]')
|
|
239
239
|
const buttons = actionsContainer?.querySelectorAll('button')
|
|
240
240
|
expect(buttons?.length).toBe(2)
|
|
@@ -260,7 +260,7 @@ describe('PageHeader component', () => {
|
|
|
260
260
|
),
|
|
261
261
|
})
|
|
262
262
|
|
|
263
|
-
await
|
|
263
|
+
await flushUpdates()
|
|
264
264
|
|
|
265
265
|
const icon = document.querySelector('.page-header-icon')
|
|
266
266
|
expect(icon?.textContent).toBe('👥')
|
|
@@ -292,7 +292,7 @@ describe('PageHeader component', () => {
|
|
|
292
292
|
),
|
|
293
293
|
})
|
|
294
294
|
|
|
295
|
-
await
|
|
295
|
+
await flushUpdates()
|
|
296
296
|
|
|
297
297
|
const container = document.querySelector('div[is="shade-page-container"]')
|
|
298
298
|
expect(container).not.toBeNull()
|