@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
|
-
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 { CommandPaletteManager } from './command-palette-manager.js'
|
|
6
6
|
import { CommandPaletteSuggestionList } from './command-palette-suggestion-list.js'
|
|
@@ -65,7 +65,7 @@ describe('CommandPaletteSuggestionList', () => {
|
|
|
65
65
|
jsxElement: <CommandPaletteSuggestionList manager={manager} />,
|
|
66
66
|
})
|
|
67
67
|
|
|
68
|
-
await
|
|
68
|
+
await flushUpdates()
|
|
69
69
|
|
|
70
70
|
const component = document.querySelector('shade-command-palette-suggestion-list')
|
|
71
71
|
expect(component).not.toBeNull()
|
|
@@ -84,7 +84,7 @@ describe('CommandPaletteSuggestionList', () => {
|
|
|
84
84
|
jsxElement: <CommandPaletteSuggestionList manager={manager} />,
|
|
85
85
|
})
|
|
86
86
|
|
|
87
|
-
await
|
|
87
|
+
await flushUpdates()
|
|
88
88
|
|
|
89
89
|
const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
|
|
90
90
|
const container = component?.querySelector('.suggestion-items-container')
|
|
@@ -105,7 +105,7 @@ describe('CommandPaletteSuggestionList', () => {
|
|
|
105
105
|
jsxElement: <CommandPaletteSuggestionList manager={manager} />,
|
|
106
106
|
})
|
|
107
107
|
|
|
108
|
-
await
|
|
108
|
+
await flushUpdates()
|
|
109
109
|
|
|
110
110
|
const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
|
|
111
111
|
const items = component?.querySelectorAll('.suggestion-item')
|
|
@@ -126,7 +126,7 @@ describe('CommandPaletteSuggestionList', () => {
|
|
|
126
126
|
jsxElement: <CommandPaletteSuggestionList manager={manager} />,
|
|
127
127
|
})
|
|
128
128
|
|
|
129
|
-
await
|
|
129
|
+
await flushUpdates()
|
|
130
130
|
|
|
131
131
|
const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
|
|
132
132
|
const item = component?.querySelector('.suggestion-item')
|
|
@@ -148,7 +148,7 @@ describe('CommandPaletteSuggestionList', () => {
|
|
|
148
148
|
jsxElement: <CommandPaletteSuggestionList manager={manager} />,
|
|
149
149
|
})
|
|
150
150
|
|
|
151
|
-
await
|
|
151
|
+
await flushUpdates()
|
|
152
152
|
|
|
153
153
|
const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
|
|
154
154
|
const items = component?.querySelectorAll('.suggestion-item')
|
|
@@ -171,10 +171,10 @@ describe('CommandPaletteSuggestionList', () => {
|
|
|
171
171
|
jsxElement: <CommandPaletteSuggestionList manager={manager} />,
|
|
172
172
|
})
|
|
173
173
|
|
|
174
|
-
await
|
|
174
|
+
await flushUpdates()
|
|
175
175
|
|
|
176
176
|
manager.selectedIndex.setValue(1)
|
|
177
|
-
await
|
|
177
|
+
await flushUpdates()
|
|
178
178
|
|
|
179
179
|
const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
|
|
180
180
|
const items = component?.querySelectorAll('.suggestion-item')
|
|
@@ -198,7 +198,7 @@ describe('CommandPaletteSuggestionList', () => {
|
|
|
198
198
|
jsxElement: <CommandPaletteSuggestionList manager={manager} />,
|
|
199
199
|
})
|
|
200
200
|
|
|
201
|
-
await
|
|
201
|
+
await flushUpdates()
|
|
202
202
|
|
|
203
203
|
const selectSpy = vi.spyOn(manager, 'selectSuggestion')
|
|
204
204
|
|
|
@@ -225,7 +225,7 @@ describe('CommandPaletteSuggestionList', () => {
|
|
|
225
225
|
jsxElement: <CommandPaletteSuggestionList manager={manager} />,
|
|
226
226
|
})
|
|
227
227
|
|
|
228
|
-
await
|
|
228
|
+
await flushUpdates()
|
|
229
229
|
|
|
230
230
|
const selectSpy = vi.spyOn(manager, 'selectSuggestion')
|
|
231
231
|
|
|
@@ -250,11 +250,11 @@ describe('CommandPaletteSuggestionList', () => {
|
|
|
250
250
|
jsxElement: <CommandPaletteSuggestionList manager={manager} />,
|
|
251
251
|
})
|
|
252
252
|
|
|
253
|
-
await
|
|
253
|
+
await flushUpdates()
|
|
254
254
|
animateCalls = []
|
|
255
255
|
|
|
256
256
|
manager.isOpened.setValue(true)
|
|
257
|
-
await
|
|
257
|
+
await flushUpdates()
|
|
258
258
|
|
|
259
259
|
const slideAnimation = animateCalls.find(
|
|
260
260
|
(call) =>
|
|
@@ -282,11 +282,11 @@ describe('CommandPaletteSuggestionList', () => {
|
|
|
282
282
|
jsxElement: <CommandPaletteSuggestionList manager={manager} />,
|
|
283
283
|
})
|
|
284
284
|
|
|
285
|
-
await
|
|
285
|
+
await flushUpdates()
|
|
286
286
|
animateCalls = []
|
|
287
287
|
|
|
288
288
|
manager.isOpened.setValue(false)
|
|
289
|
-
await
|
|
289
|
+
await flushUpdates()
|
|
290
290
|
|
|
291
291
|
const slideAnimation = animateCalls.find(
|
|
292
292
|
(call) =>
|
|
@@ -313,10 +313,10 @@ describe('CommandPaletteSuggestionList', () => {
|
|
|
313
313
|
jsxElement: <CommandPaletteSuggestionList manager={manager} />,
|
|
314
314
|
})
|
|
315
315
|
|
|
316
|
-
await
|
|
316
|
+
await flushUpdates()
|
|
317
317
|
|
|
318
318
|
manager.isOpened.setValue(true)
|
|
319
|
-
await
|
|
319
|
+
await flushUpdates()
|
|
320
320
|
|
|
321
321
|
const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
|
|
322
322
|
const container = component?.querySelector('.suggestion-items-container') as HTMLElement
|
|
@@ -337,10 +337,10 @@ describe('CommandPaletteSuggestionList', () => {
|
|
|
337
337
|
jsxElement: <CommandPaletteSuggestionList manager={manager} />,
|
|
338
338
|
})
|
|
339
339
|
|
|
340
|
-
await
|
|
340
|
+
await flushUpdates()
|
|
341
341
|
|
|
342
342
|
manager.isOpened.setValue(false)
|
|
343
|
-
await
|
|
343
|
+
await flushUpdates()
|
|
344
344
|
|
|
345
345
|
const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
|
|
346
346
|
const container = component?.querySelector('.suggestion-items-container') as HTMLElement
|
|
@@ -361,7 +361,7 @@ describe('CommandPaletteSuggestionList', () => {
|
|
|
361
361
|
jsxElement: <CommandPaletteSuggestionList manager={manager} />,
|
|
362
362
|
})
|
|
363
363
|
|
|
364
|
-
await
|
|
364
|
+
await flushUpdates()
|
|
365
365
|
|
|
366
366
|
const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
|
|
367
367
|
const items = component?.querySelectorAll('.suggestion-item')
|
|
@@ -382,7 +382,7 @@ describe('CommandPaletteSuggestionList', () => {
|
|
|
382
382
|
jsxElement: <CommandPaletteSuggestionList manager={manager} fullScreenSuggestions />,
|
|
383
383
|
})
|
|
384
384
|
|
|
385
|
-
await
|
|
385
|
+
await flushUpdates()
|
|
386
386
|
|
|
387
387
|
const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
|
|
388
388
|
const container = component?.querySelector('.suggestion-items-container') as HTMLElement
|
|
@@ -404,7 +404,7 @@ describe('CommandPaletteSuggestionList', () => {
|
|
|
404
404
|
jsxElement: <CommandPaletteSuggestionList manager={manager} />,
|
|
405
405
|
})
|
|
406
406
|
|
|
407
|
-
await
|
|
407
|
+
await flushUpdates()
|
|
408
408
|
|
|
409
409
|
const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
|
|
410
410
|
const container = component?.querySelector('.suggestion-items-container') as HTMLElement
|
|
@@ -425,7 +425,7 @@ describe('CommandPaletteSuggestionList', () => {
|
|
|
425
425
|
jsxElement: <CommandPaletteSuggestionList manager={manager} />,
|
|
426
426
|
})
|
|
427
427
|
|
|
428
|
-
await
|
|
428
|
+
await flushUpdates()
|
|
429
429
|
|
|
430
430
|
const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
|
|
431
431
|
const container = component?.querySelector('.suggestion-items-container') as HTMLElement
|
|
@@ -455,7 +455,7 @@ describe('CommandPaletteSuggestionList', () => {
|
|
|
455
455
|
jsxElement: <CommandPaletteSuggestionList manager={manager} />,
|
|
456
456
|
})
|
|
457
457
|
|
|
458
|
-
await
|
|
458
|
+
await flushUpdates()
|
|
459
459
|
|
|
460
460
|
const selectSpy = vi.spyOn(manager, 'selectSuggestion')
|
|
461
461
|
|
|
@@ -480,17 +480,17 @@ describe('CommandPaletteSuggestionList', () => {
|
|
|
480
480
|
jsxElement: <CommandPaletteSuggestionList manager={manager} />,
|
|
481
481
|
})
|
|
482
482
|
|
|
483
|
-
await
|
|
483
|
+
await flushUpdates()
|
|
484
484
|
|
|
485
485
|
manager.isOpened.setValue(true)
|
|
486
|
-
await
|
|
486
|
+
await flushUpdates()
|
|
487
487
|
|
|
488
488
|
const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
|
|
489
489
|
const container = component?.querySelector('.suggestion-items-container') as HTMLElement
|
|
490
490
|
expect(container?.style.zIndex).toBe('1')
|
|
491
491
|
|
|
492
492
|
manager.isOpened.setValue(false)
|
|
493
|
-
await
|
|
493
|
+
await flushUpdates()
|
|
494
494
|
|
|
495
495
|
expect(container?.style.zIndex).toBe('-1')
|
|
496
496
|
})
|
|
@@ -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 type { CommandPaletteSuggestionResult, CommandProvider } from './command-provider.js'
|
|
6
6
|
import { CommandPalette } from './index.js'
|
|
@@ -9,6 +9,7 @@ describe('CommandPalette', () => {
|
|
|
9
9
|
let originalAnimate: typeof Element.prototype.animate
|
|
10
10
|
|
|
11
11
|
beforeEach(() => {
|
|
12
|
+
vi.useFakeTimers()
|
|
12
13
|
document.body.innerHTML = '<div id="root"></div>'
|
|
13
14
|
|
|
14
15
|
originalAnimate = Element.prototype.animate
|
|
@@ -29,6 +30,7 @@ describe('CommandPalette', () => {
|
|
|
29
30
|
})
|
|
30
31
|
|
|
31
32
|
afterEach(() => {
|
|
33
|
+
vi.useRealTimers()
|
|
32
34
|
document.body.innerHTML = ''
|
|
33
35
|
Element.prototype.animate = originalAnimate
|
|
34
36
|
vi.restoreAllMocks()
|
|
@@ -59,7 +61,7 @@ describe('CommandPalette', () => {
|
|
|
59
61
|
jsxElement: <CommandPalette commandProviders={[]} defaultPrefix=">" />,
|
|
60
62
|
})
|
|
61
63
|
|
|
62
|
-
await
|
|
64
|
+
await flushUpdates()
|
|
63
65
|
|
|
64
66
|
const commandPalette = document.querySelector('shade-command-palette')
|
|
65
67
|
expect(commandPalette).not.toBeNull()
|
|
@@ -77,7 +79,7 @@ describe('CommandPalette', () => {
|
|
|
77
79
|
jsxElement: <CommandPalette commandProviders={[]} defaultPrefix=">" />,
|
|
78
80
|
})
|
|
79
81
|
|
|
80
|
-
await
|
|
82
|
+
await flushUpdates()
|
|
81
83
|
|
|
82
84
|
expect(document.body.innerHTML).toContain('>')
|
|
83
85
|
})
|
|
@@ -93,7 +95,7 @@ describe('CommandPalette', () => {
|
|
|
93
95
|
jsxElement: <CommandPalette commandProviders={[]} defaultPrefix=">" />,
|
|
94
96
|
})
|
|
95
97
|
|
|
96
|
-
await
|
|
98
|
+
await flushUpdates()
|
|
97
99
|
|
|
98
100
|
const input = document.querySelector('shades-command-palette-input')
|
|
99
101
|
expect(input).not.toBeNull()
|
|
@@ -110,7 +112,7 @@ describe('CommandPalette', () => {
|
|
|
110
112
|
jsxElement: <CommandPalette commandProviders={[]} defaultPrefix=">" />,
|
|
111
113
|
})
|
|
112
114
|
|
|
113
|
-
await
|
|
115
|
+
await flushUpdates()
|
|
114
116
|
|
|
115
117
|
const suggestionList = document.querySelector('shade-command-palette-suggestion-list')
|
|
116
118
|
expect(suggestionList).not.toBeNull()
|
|
@@ -146,7 +148,7 @@ describe('CommandPalette', () => {
|
|
|
146
148
|
jsxElement: <CommandPalette commandProviders={[provider]} defaultPrefix=">" />,
|
|
147
149
|
})
|
|
148
150
|
|
|
149
|
-
await
|
|
151
|
+
await flushUpdates()
|
|
150
152
|
|
|
151
153
|
const commandPalette = document.querySelector('shade-command-palette') as HTMLElement
|
|
152
154
|
const input = commandPalette.querySelector('input') as HTMLInputElement
|
|
@@ -155,11 +157,12 @@ describe('CommandPalette', () => {
|
|
|
155
157
|
input.value = 'test'
|
|
156
158
|
triggerKeyup(input, 'a')
|
|
157
159
|
|
|
158
|
-
await
|
|
160
|
+
await vi.advanceTimersByTimeAsync(300)
|
|
161
|
+
await flushUpdates()
|
|
159
162
|
|
|
160
163
|
// Press ArrowDown
|
|
161
164
|
triggerKeyup(input, 'ArrowDown')
|
|
162
|
-
await
|
|
165
|
+
await flushUpdates()
|
|
163
166
|
|
|
164
167
|
const suggestionItems = getSuggestionItems(commandPalette)
|
|
165
168
|
expect(suggestionItems[1]?.classList.contains('selected')).toBe(true)
|
|
@@ -182,7 +185,7 @@ describe('CommandPalette', () => {
|
|
|
182
185
|
jsxElement: <CommandPalette commandProviders={[provider]} defaultPrefix=">" />,
|
|
183
186
|
})
|
|
184
187
|
|
|
185
|
-
await
|
|
188
|
+
await flushUpdates()
|
|
186
189
|
|
|
187
190
|
const commandPalette = document.querySelector('shade-command-palette') as HTMLElement
|
|
188
191
|
const input = commandPalette.querySelector('input') as HTMLInputElement
|
|
@@ -191,13 +194,14 @@ describe('CommandPalette', () => {
|
|
|
191
194
|
input.value = 'test'
|
|
192
195
|
triggerKeyup(input, 'a')
|
|
193
196
|
|
|
194
|
-
await
|
|
197
|
+
await vi.advanceTimersByTimeAsync(300)
|
|
198
|
+
await flushUpdates()
|
|
195
199
|
|
|
196
200
|
// Navigate down then up
|
|
197
201
|
triggerKeyup(input, 'ArrowDown')
|
|
198
|
-
await
|
|
202
|
+
await flushUpdates()
|
|
199
203
|
triggerKeyup(input, 'ArrowUp')
|
|
200
|
-
await
|
|
204
|
+
await flushUpdates()
|
|
201
205
|
|
|
202
206
|
const suggestionItems = getSuggestionItems(commandPalette)
|
|
203
207
|
expect(suggestionItems[0]?.classList.contains('selected')).toBe(true)
|
|
@@ -216,7 +220,7 @@ describe('CommandPalette', () => {
|
|
|
216
220
|
jsxElement: <CommandPalette commandProviders={[provider]} defaultPrefix=">" />,
|
|
217
221
|
})
|
|
218
222
|
|
|
219
|
-
await
|
|
223
|
+
await flushUpdates()
|
|
220
224
|
|
|
221
225
|
const commandPalette = document.querySelector('shade-command-palette') as HTMLElement
|
|
222
226
|
const input = commandPalette.querySelector('input') as HTMLInputElement
|
|
@@ -224,13 +228,14 @@ describe('CommandPalette', () => {
|
|
|
224
228
|
input.value = 'test'
|
|
225
229
|
triggerKeyup(input, 'a')
|
|
226
230
|
|
|
227
|
-
await
|
|
231
|
+
await vi.advanceTimersByTimeAsync(300)
|
|
232
|
+
await flushUpdates()
|
|
228
233
|
|
|
229
234
|
// Press ArrowDown multiple times
|
|
230
235
|
triggerKeyup(input, 'ArrowDown')
|
|
231
236
|
triggerKeyup(input, 'ArrowDown')
|
|
232
237
|
triggerKeyup(input, 'ArrowDown')
|
|
233
|
-
await
|
|
238
|
+
await flushUpdates()
|
|
234
239
|
|
|
235
240
|
const suggestionItems = getSuggestionItems(commandPalette)
|
|
236
241
|
expect(suggestionItems[1]?.classList.contains('selected')).toBe(true)
|
|
@@ -249,7 +254,7 @@ describe('CommandPalette', () => {
|
|
|
249
254
|
jsxElement: <CommandPalette commandProviders={[provider]} defaultPrefix=">" />,
|
|
250
255
|
})
|
|
251
256
|
|
|
252
|
-
await
|
|
257
|
+
await flushUpdates()
|
|
253
258
|
|
|
254
259
|
const commandPalette = document.querySelector('shade-command-palette') as HTMLElement
|
|
255
260
|
const input = commandPalette.querySelector('input') as HTMLInputElement
|
|
@@ -257,11 +262,12 @@ describe('CommandPalette', () => {
|
|
|
257
262
|
input.value = 'test'
|
|
258
263
|
triggerKeyup(input, 'a')
|
|
259
264
|
|
|
260
|
-
await
|
|
265
|
+
await vi.advanceTimersByTimeAsync(300)
|
|
266
|
+
await flushUpdates()
|
|
261
267
|
|
|
262
268
|
// Press ArrowUp when already at first item
|
|
263
269
|
triggerKeyup(input, 'ArrowUp')
|
|
264
|
-
await
|
|
270
|
+
await flushUpdates()
|
|
265
271
|
|
|
266
272
|
const suggestionItems = getSuggestionItems(commandPalette)
|
|
267
273
|
expect(suggestionItems[0]?.classList.contains('selected')).toBe(true)
|
|
@@ -281,7 +287,7 @@ describe('CommandPalette', () => {
|
|
|
281
287
|
jsxElement: <CommandPalette commandProviders={[provider]} defaultPrefix=">" />,
|
|
282
288
|
})
|
|
283
289
|
|
|
284
|
-
await
|
|
290
|
+
await flushUpdates()
|
|
285
291
|
|
|
286
292
|
const commandPalette = document.querySelector('shade-command-palette') as HTMLElement
|
|
287
293
|
const input = commandPalette.querySelector('input') as HTMLInputElement
|
|
@@ -289,11 +295,12 @@ describe('CommandPalette', () => {
|
|
|
289
295
|
input.value = 'test'
|
|
290
296
|
triggerKeyup(input, 'a')
|
|
291
297
|
|
|
292
|
-
await
|
|
298
|
+
await vi.advanceTimersByTimeAsync(300)
|
|
299
|
+
await flushUpdates()
|
|
293
300
|
|
|
294
301
|
// Press Enter
|
|
295
302
|
triggerKeyup(input, 'Enter')
|
|
296
|
-
await
|
|
303
|
+
await flushUpdates()
|
|
297
304
|
|
|
298
305
|
expect(onSelected).toHaveBeenCalledTimes(1)
|
|
299
306
|
expect(onSelected).toHaveBeenCalledWith(expect.objectContaining({ injector: expect.any(Injector) as unknown }))
|
|
@@ -325,14 +332,14 @@ describe('CommandPalette', () => {
|
|
|
325
332
|
jsxElement: <CommandPalette commandProviders={[provider]} defaultPrefix=">" />,
|
|
326
333
|
})
|
|
327
334
|
|
|
328
|
-
await
|
|
335
|
+
await flushUpdates()
|
|
329
336
|
|
|
330
337
|
const commandPalette = document.querySelector('shade-command-palette') as HTMLElement
|
|
331
338
|
|
|
332
339
|
// Open palette by clicking prefix
|
|
333
340
|
const termIcon = commandPalette.querySelector('.term-icon') as HTMLElement
|
|
334
341
|
termIcon.click()
|
|
335
|
-
await
|
|
342
|
+
await flushUpdates() // Wait longer for the opened state to propagate
|
|
336
343
|
|
|
337
344
|
expect(commandPalette.hasAttribute('data-opened')).toBe(true)
|
|
338
345
|
|
|
@@ -340,13 +347,14 @@ describe('CommandPalette', () => {
|
|
|
340
347
|
input.value = 'test'
|
|
341
348
|
triggerKeyup(input, 'a')
|
|
342
349
|
|
|
343
|
-
await
|
|
350
|
+
await vi.advanceTimersByTimeAsync(300)
|
|
351
|
+
await flushUpdates()
|
|
344
352
|
|
|
345
353
|
// Click on first suggestion
|
|
346
354
|
const suggestionItems = getSuggestionItems(commandPalette)
|
|
347
355
|
expect(suggestionItems.length).toBeGreaterThan(0)
|
|
348
356
|
;(suggestionItems[0] as HTMLElement).click()
|
|
349
|
-
await
|
|
357
|
+
await flushUpdates()
|
|
350
358
|
|
|
351
359
|
// Clicking a suggestion should close the palette
|
|
352
360
|
expect(commandPalette.hasAttribute('data-opened')).toBe(false)
|
|
@@ -365,14 +373,14 @@ describe('CommandPalette', () => {
|
|
|
365
373
|
jsxElement: <CommandPalette commandProviders={[provider]} defaultPrefix=">" />,
|
|
366
374
|
})
|
|
367
375
|
|
|
368
|
-
await
|
|
376
|
+
await flushUpdates()
|
|
369
377
|
|
|
370
378
|
const commandPalette = document.querySelector('shade-command-palette') as HTMLElement
|
|
371
379
|
|
|
372
380
|
// Open palette
|
|
373
381
|
const termIcon = commandPalette.querySelector('.term-icon') as HTMLElement
|
|
374
382
|
termIcon.click()
|
|
375
|
-
await
|
|
383
|
+
await flushUpdates()
|
|
376
384
|
|
|
377
385
|
expect(commandPalette.hasAttribute('data-opened')).toBe(true)
|
|
378
386
|
|
|
@@ -380,11 +388,11 @@ describe('CommandPalette', () => {
|
|
|
380
388
|
input.value = 'test'
|
|
381
389
|
triggerKeyup(input, 'a')
|
|
382
390
|
|
|
383
|
-
await
|
|
391
|
+
await flushUpdates()
|
|
384
392
|
|
|
385
393
|
// Select via Enter
|
|
386
394
|
triggerKeyup(input, 'Enter')
|
|
387
|
-
await
|
|
395
|
+
await flushUpdates()
|
|
388
396
|
|
|
389
397
|
expect(commandPalette.hasAttribute('data-opened')).toBe(false)
|
|
390
398
|
})
|
|
@@ -416,7 +424,7 @@ describe('CommandPalette', () => {
|
|
|
416
424
|
jsxElement: <CommandPalette commandProviders={[provider1, provider2]} defaultPrefix=">" />,
|
|
417
425
|
})
|
|
418
426
|
|
|
419
|
-
await
|
|
427
|
+
await flushUpdates()
|
|
420
428
|
|
|
421
429
|
const commandPalette = document.querySelector('shade-command-palette') as HTMLElement
|
|
422
430
|
const input = commandPalette.querySelector('input') as HTMLInputElement
|
|
@@ -424,7 +432,8 @@ describe('CommandPalette', () => {
|
|
|
424
432
|
input.value = 'search'
|
|
425
433
|
triggerKeyup(input, 'h')
|
|
426
434
|
|
|
427
|
-
await
|
|
435
|
+
await vi.advanceTimersByTimeAsync(300)
|
|
436
|
+
await flushUpdates()
|
|
428
437
|
|
|
429
438
|
expect(provider1).toHaveBeenCalled()
|
|
430
439
|
expect(provider2).toHaveBeenCalled()
|
|
@@ -444,7 +453,7 @@ describe('CommandPalette', () => {
|
|
|
444
453
|
jsxElement: <CommandPalette commandProviders={[provider1, provider2]} defaultPrefix=">" />,
|
|
445
454
|
})
|
|
446
455
|
|
|
447
|
-
await
|
|
456
|
+
await flushUpdates()
|
|
448
457
|
|
|
449
458
|
const commandPalette = document.querySelector('shade-command-palette') as HTMLElement
|
|
450
459
|
const input = commandPalette.querySelector('input') as HTMLInputElement
|
|
@@ -452,7 +461,8 @@ describe('CommandPalette', () => {
|
|
|
452
461
|
input.value = 'search'
|
|
453
462
|
triggerKeyup(input, 'h')
|
|
454
463
|
|
|
455
|
-
await
|
|
464
|
+
await vi.advanceTimersByTimeAsync(300)
|
|
465
|
+
await flushUpdates()
|
|
456
466
|
|
|
457
467
|
const suggestionItems = getSuggestionItems(commandPalette)
|
|
458
468
|
expect(suggestionItems.length).toBe(2)
|
|
@@ -477,7 +487,7 @@ describe('CommandPalette', () => {
|
|
|
477
487
|
jsxElement: <CommandPalette commandProviders={[provider]} defaultPrefix=">" />,
|
|
478
488
|
})
|
|
479
489
|
|
|
480
|
-
await
|
|
490
|
+
await flushUpdates()
|
|
481
491
|
|
|
482
492
|
const commandPalette = document.querySelector('shade-command-palette') as HTMLElement
|
|
483
493
|
const input = commandPalette.querySelector('input') as HTMLInputElement
|
|
@@ -485,7 +495,8 @@ describe('CommandPalette', () => {
|
|
|
485
495
|
input.value = 'search'
|
|
486
496
|
triggerKeyup(input, 'h')
|
|
487
497
|
|
|
488
|
-
await
|
|
498
|
+
await vi.advanceTimersByTimeAsync(300)
|
|
499
|
+
await flushUpdates()
|
|
489
500
|
|
|
490
501
|
const suggestionItems = getSuggestionItems(commandPalette)
|
|
491
502
|
expect(suggestionItems.length).toBe(3)
|
|
@@ -509,14 +520,14 @@ describe('CommandPalette', () => {
|
|
|
509
520
|
jsxElement: <CommandPalette commandProviders={[]} defaultPrefix=">" />,
|
|
510
521
|
})
|
|
511
522
|
|
|
512
|
-
await
|
|
523
|
+
await flushUpdates()
|
|
513
524
|
|
|
514
525
|
const commandPalette = document.querySelector('shade-command-palette') as HTMLElement
|
|
515
526
|
expect(commandPalette.hasAttribute('data-opened')).toBe(false)
|
|
516
527
|
|
|
517
528
|
const termIcon = commandPalette.querySelector('.term-icon') as HTMLElement
|
|
518
529
|
termIcon.click()
|
|
519
|
-
await
|
|
530
|
+
await flushUpdates()
|
|
520
531
|
|
|
521
532
|
expect(commandPalette.hasAttribute('data-opened')).toBe(true)
|
|
522
533
|
})
|
|
@@ -532,20 +543,20 @@ describe('CommandPalette', () => {
|
|
|
532
543
|
jsxElement: <CommandPalette commandProviders={[]} defaultPrefix=">" />,
|
|
533
544
|
})
|
|
534
545
|
|
|
535
|
-
await
|
|
546
|
+
await flushUpdates()
|
|
536
547
|
|
|
537
548
|
const commandPalette = document.querySelector('shade-command-palette') as HTMLElement
|
|
538
549
|
|
|
539
550
|
// Open first
|
|
540
551
|
const termIcon = commandPalette.querySelector('.term-icon') as HTMLElement
|
|
541
552
|
termIcon.click()
|
|
542
|
-
await
|
|
553
|
+
await flushUpdates()
|
|
543
554
|
expect(commandPalette.hasAttribute('data-opened')).toBe(true)
|
|
544
555
|
|
|
545
556
|
// Close
|
|
546
557
|
const closeButton = commandPalette.querySelector('.close-suggestions') as HTMLElement
|
|
547
558
|
closeButton.click()
|
|
548
|
-
await
|
|
559
|
+
await flushUpdates()
|
|
549
560
|
|
|
550
561
|
expect(commandPalette.hasAttribute('data-opened')).toBe(false)
|
|
551
562
|
})
|
|
@@ -568,7 +579,7 @@ describe('CommandPalette', () => {
|
|
|
568
579
|
jsxElement: <CommandPalette commandProviders={[provider]} defaultPrefix=">" />,
|
|
569
580
|
})
|
|
570
581
|
|
|
571
|
-
await
|
|
582
|
+
await flushUpdates()
|
|
572
583
|
|
|
573
584
|
const commandPalette = document.querySelector('shade-command-palette') as HTMLElement
|
|
574
585
|
const input = commandPalette.querySelector('input') as HTMLInputElement
|
|
@@ -578,11 +589,13 @@ describe('CommandPalette', () => {
|
|
|
578
589
|
Object.defineProperty(event, 'target', { value: input, writable: false })
|
|
579
590
|
input.dispatchEvent(event)
|
|
580
591
|
|
|
581
|
-
await
|
|
592
|
+
await vi.advanceTimersByTimeAsync(260)
|
|
593
|
+
await flushUpdates()
|
|
582
594
|
|
|
583
595
|
expect(commandPalette.hasAttribute('data-loading')).toBe(true)
|
|
584
596
|
|
|
585
|
-
await
|
|
597
|
+
await vi.advanceTimersByTimeAsync(200)
|
|
598
|
+
await flushUpdates()
|
|
586
599
|
|
|
587
600
|
expect(commandPalette.hasAttribute('data-loading')).toBe(false)
|
|
588
601
|
})
|
|
@@ -605,20 +618,20 @@ describe('CommandPalette', () => {
|
|
|
605
618
|
),
|
|
606
619
|
})
|
|
607
620
|
|
|
608
|
-
await
|
|
621
|
+
await flushUpdates()
|
|
609
622
|
|
|
610
623
|
const commandPalette = document.querySelector('shade-command-palette') as HTMLElement
|
|
611
624
|
|
|
612
625
|
// Open first
|
|
613
626
|
const termIcon = commandPalette.querySelector('.term-icon') as HTMLElement
|
|
614
627
|
termIcon.click()
|
|
615
|
-
await
|
|
628
|
+
await flushUpdates()
|
|
616
629
|
expect(commandPalette.hasAttribute('data-opened')).toBe(true)
|
|
617
630
|
|
|
618
631
|
// Click outside
|
|
619
632
|
const outsideElement = document.getElementById('outside') as HTMLElement
|
|
620
633
|
outsideElement.dispatchEvent(new MouseEvent('click', { bubbles: true }))
|
|
621
|
-
await
|
|
634
|
+
await flushUpdates()
|
|
622
635
|
|
|
623
636
|
expect(commandPalette.hasAttribute('data-opened')).toBe(false)
|
|
624
637
|
})
|
|
@@ -636,7 +649,7 @@ describe('CommandPalette', () => {
|
|
|
636
649
|
jsxElement: <CommandPalette commandProviders={[]} defaultPrefix=">" style={{ maxWidth: '500px' }} />,
|
|
637
650
|
})
|
|
638
651
|
|
|
639
|
-
await
|
|
652
|
+
await flushUpdates()
|
|
640
653
|
|
|
641
654
|
const commandPalette = document.querySelector('shade-command-palette') as HTMLElement
|
|
642
655
|
const inputContainer = commandPalette.querySelector('.input-container') as HTMLElement
|
|
@@ -657,14 +670,14 @@ describe('CommandPalette', () => {
|
|
|
657
670
|
jsxElement: <CommandPalette commandProviders={[provider]} defaultPrefix=">" fullScreenSuggestions />,
|
|
658
671
|
})
|
|
659
672
|
|
|
660
|
-
await
|
|
673
|
+
await flushUpdates()
|
|
661
674
|
|
|
662
675
|
const commandPalette = document.querySelector('shade-command-palette') as HTMLElement
|
|
663
676
|
|
|
664
677
|
// Open and search
|
|
665
678
|
const termIcon = commandPalette.querySelector('.term-icon') as HTMLElement
|
|
666
679
|
termIcon.click()
|
|
667
|
-
await
|
|
680
|
+
await flushUpdates()
|
|
668
681
|
|
|
669
682
|
const input = commandPalette.querySelector('input') as HTMLInputElement
|
|
670
683
|
input.value = 'test'
|
|
@@ -672,7 +685,7 @@ describe('CommandPalette', () => {
|
|
|
672
685
|
Object.defineProperty(event, 'target', { value: input, writable: false })
|
|
673
686
|
input.dispatchEvent(event)
|
|
674
687
|
|
|
675
|
-
await
|
|
688
|
+
await flushUpdates()
|
|
676
689
|
|
|
677
690
|
const suggestionList = commandPalette.querySelector('shade-command-palette-suggestion-list') as HTMLElement
|
|
678
691
|
const suggestionContainer = suggestionList.querySelector('.suggestion-items-container') as HTMLElement
|