@furystack/shades-common-components 12.4.0 → 12.5.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 +56 -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 +40 -2
- package/esm/components/data-grid/data-grid.d.ts.map +1 -1
- package/esm/components/data-grid/data-grid.js +7 -10
- 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.map +1 -1
- package/esm/components/data-grid/footer.js +24 -9
- package/esm/components/data-grid/footer.js.map +1 -1
- package/esm/components/data-grid/footer.spec.js +38 -36
- 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.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.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.spec.js +36 -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.spec.js +17 -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/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.spec.js +5 -5
- 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 +2 -2
- 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 +44 -11
- 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 +38 -36
- package/src/components/data-grid/footer.tsx +21 -8
- 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/image.spec.tsx +55 -52
- package/src/components/inputs/autocomplete.spec.tsx +7 -14
- 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 +36 -36
- 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 +17 -17
- 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/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 +5 -5
- 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 { using, usingAsync } from '@furystack/utils'
|
|
4
4
|
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
|
|
5
5
|
import { Form, FormService } from './form.js'
|
|
6
6
|
|
|
@@ -144,7 +144,7 @@ describe('Form component', () => {
|
|
|
144
144
|
),
|
|
145
145
|
})
|
|
146
146
|
|
|
147
|
-
await
|
|
147
|
+
await flushUpdates()
|
|
148
148
|
|
|
149
149
|
const form = document.querySelector('form[is="shade-form"]')
|
|
150
150
|
expect(form).not.toBeNull()
|
|
@@ -177,7 +177,7 @@ describe('Form component', () => {
|
|
|
177
177
|
),
|
|
178
178
|
})
|
|
179
179
|
|
|
180
|
-
await
|
|
180
|
+
await flushUpdates()
|
|
181
181
|
|
|
182
182
|
const form = document.querySelector('form[is="shade-form"]') as HTMLFormElement
|
|
183
183
|
const input = form.querySelector('input[name="name"]') as HTMLInputElement
|
|
@@ -186,7 +186,7 @@ describe('Form component', () => {
|
|
|
186
186
|
const submitEvent = new Event('submit', { bubbles: true, cancelable: true })
|
|
187
187
|
form.dispatchEvent(submitEvent)
|
|
188
188
|
|
|
189
|
-
await
|
|
189
|
+
await flushUpdates()
|
|
190
190
|
|
|
191
191
|
expect(onSubmit).toHaveBeenCalledWith({ name: 'Test Name' })
|
|
192
192
|
})
|
|
@@ -217,7 +217,7 @@ describe('Form component', () => {
|
|
|
217
217
|
),
|
|
218
218
|
})
|
|
219
219
|
|
|
220
|
-
await
|
|
220
|
+
await flushUpdates()
|
|
221
221
|
|
|
222
222
|
const form = document.querySelector('form[is="shade-form"]') as HTMLFormElement
|
|
223
223
|
const nameInput = form.querySelector('input[name="name"]') as HTMLInputElement
|
|
@@ -229,7 +229,7 @@ describe('Form component', () => {
|
|
|
229
229
|
const submitEvent = new Event('submit', { bubbles: true, cancelable: true })
|
|
230
230
|
form.dispatchEvent(submitEvent)
|
|
231
231
|
|
|
232
|
-
await
|
|
232
|
+
await flushUpdates()
|
|
233
233
|
|
|
234
234
|
expect(onSubmit).not.toHaveBeenCalled()
|
|
235
235
|
})
|
|
@@ -258,7 +258,7 @@ describe('Form component', () => {
|
|
|
258
258
|
),
|
|
259
259
|
})
|
|
260
260
|
|
|
261
|
-
await
|
|
261
|
+
await flushUpdates()
|
|
262
262
|
|
|
263
263
|
const form = document.querySelector('form[is="shade-form"]') as HTMLFormElement
|
|
264
264
|
const input = form.querySelector('input[name="email"]') as HTMLInputElement
|
|
@@ -267,7 +267,7 @@ describe('Form component', () => {
|
|
|
267
267
|
const changeEvent = new Event('change', { bubbles: true })
|
|
268
268
|
form.dispatchEvent(changeEvent)
|
|
269
269
|
|
|
270
|
-
await
|
|
270
|
+
await flushUpdates()
|
|
271
271
|
|
|
272
272
|
const formInjector = (form as unknown as { injector: Injector }).injector
|
|
273
273
|
const formService = formInjector.getInstance(FormService)
|
|
@@ -305,7 +305,7 @@ describe('Form component', () => {
|
|
|
305
305
|
),
|
|
306
306
|
})
|
|
307
307
|
|
|
308
|
-
await
|
|
308
|
+
await flushUpdates()
|
|
309
309
|
|
|
310
310
|
const form = document.querySelector('form[is="shade-form"]') as HTMLFormElement
|
|
311
311
|
const input = form.querySelector('input[name="name"]') as HTMLInputElement
|
|
@@ -314,7 +314,7 @@ describe('Form component', () => {
|
|
|
314
314
|
const changeEvent = new Event('change', { bubbles: true })
|
|
315
315
|
form.dispatchEvent(changeEvent)
|
|
316
316
|
|
|
317
|
-
await
|
|
317
|
+
await flushUpdates()
|
|
318
318
|
|
|
319
319
|
const formInjector = (form as unknown as { injector: Injector }).injector
|
|
320
320
|
const formService = formInjector.getInstance(FormService)
|
|
@@ -324,7 +324,7 @@ describe('Form component', () => {
|
|
|
324
324
|
const resetEvent = new Event('reset', { bubbles: true })
|
|
325
325
|
form.dispatchEvent(resetEvent)
|
|
326
326
|
|
|
327
|
-
await
|
|
327
|
+
await flushUpdates()
|
|
328
328
|
|
|
329
329
|
expect(formService.rawFormData.getValue()).toBeNull()
|
|
330
330
|
expect(formService.validationResult.getValue()).toEqual({ isValid: null })
|
|
@@ -354,7 +354,7 @@ describe('Form component', () => {
|
|
|
354
354
|
),
|
|
355
355
|
})
|
|
356
356
|
|
|
357
|
-
await
|
|
357
|
+
await flushUpdates()
|
|
358
358
|
|
|
359
359
|
const form = document.querySelector('form[is="shade-form"]') as HTMLFormElement
|
|
360
360
|
const input = form.querySelector('input[name="username"]') as HTMLInputElement
|
|
@@ -363,7 +363,7 @@ describe('Form component', () => {
|
|
|
363
363
|
const changeEvent = new Event('change', { bubbles: true })
|
|
364
364
|
form.dispatchEvent(changeEvent)
|
|
365
365
|
|
|
366
|
-
await
|
|
366
|
+
await flushUpdates()
|
|
367
367
|
|
|
368
368
|
const formInjector = (form as unknown as { injector: Injector }).injector
|
|
369
369
|
const formService = formInjector.getInstance(FormService)
|
|
@@ -394,7 +394,7 @@ describe('Form component', () => {
|
|
|
394
394
|
),
|
|
395
395
|
})
|
|
396
396
|
|
|
397
|
-
await
|
|
397
|
+
await flushUpdates()
|
|
398
398
|
|
|
399
399
|
const form = document.querySelector('form[is="shade-form"]') as HTMLFormElement
|
|
400
400
|
const input = form.querySelector('input[name="title"]') as HTMLInputElement
|
|
@@ -403,7 +403,7 @@ describe('Form component', () => {
|
|
|
403
403
|
const changeEvent = new Event('change', { bubbles: true })
|
|
404
404
|
form.dispatchEvent(changeEvent)
|
|
405
405
|
|
|
406
|
-
await
|
|
406
|
+
await flushUpdates()
|
|
407
407
|
|
|
408
408
|
const formInjector = (form as unknown as { injector: Injector }).injector
|
|
409
409
|
const formService = formInjector.getInstance(FormService)
|
|
@@ -430,7 +430,7 @@ describe('Form component', () => {
|
|
|
430
430
|
),
|
|
431
431
|
})
|
|
432
432
|
|
|
433
|
-
await
|
|
433
|
+
await flushUpdates()
|
|
434
434
|
|
|
435
435
|
const form = document.querySelector('form[is="shade-form"]') as HTMLFormElement
|
|
436
436
|
|
|
@@ -459,7 +459,7 @@ describe('Form component', () => {
|
|
|
459
459
|
),
|
|
460
460
|
})
|
|
461
461
|
|
|
462
|
-
await
|
|
462
|
+
await flushUpdates()
|
|
463
463
|
|
|
464
464
|
const form = document.querySelector('form[is="shade-form"]') as HTMLFormElement
|
|
465
465
|
const formInjector = (form as unknown as { injector: Injector }).injector
|
|
@@ -495,7 +495,7 @@ describe('Form component', () => {
|
|
|
495
495
|
),
|
|
496
496
|
})
|
|
497
497
|
|
|
498
|
-
await
|
|
498
|
+
await flushUpdates()
|
|
499
499
|
|
|
500
500
|
const form = document.querySelector('form[is="shade-form"]') as HTMLFormElement
|
|
501
501
|
const input = form.querySelector('input[name="required"]') as HTMLInputElement
|
|
@@ -503,7 +503,7 @@ describe('Form component', () => {
|
|
|
503
503
|
const invalidEvent = new Event('invalid', { bubbles: true })
|
|
504
504
|
input.dispatchEvent(invalidEvent)
|
|
505
505
|
|
|
506
|
-
await
|
|
506
|
+
await flushUpdates()
|
|
507
507
|
})
|
|
508
508
|
})
|
|
509
509
|
|
|
@@ -535,7 +535,7 @@ describe('Form component', () => {
|
|
|
535
535
|
),
|
|
536
536
|
})
|
|
537
537
|
|
|
538
|
-
await
|
|
538
|
+
await flushUpdates()
|
|
539
539
|
|
|
540
540
|
const form = document.querySelector('form[is="shade-form"]') as HTMLFormElement
|
|
541
541
|
const input = form.querySelector('input[name="name"]') as HTMLInputElement
|
|
@@ -549,11 +549,11 @@ describe('Form component', () => {
|
|
|
549
549
|
const submitEvent = new Event('submit', { bubbles: true, cancelable: true })
|
|
550
550
|
form.dispatchEvent(submitEvent)
|
|
551
551
|
|
|
552
|
-
await
|
|
552
|
+
await flushUpdates()
|
|
553
553
|
expect(formService.isSubmitting.getValue()).toBe(true)
|
|
554
554
|
|
|
555
555
|
resolveSubmit!()
|
|
556
|
-
await
|
|
556
|
+
await flushUpdates()
|
|
557
557
|
expect(formService.isSubmitting.getValue()).toBe(false)
|
|
558
558
|
})
|
|
559
559
|
})
|
|
@@ -585,7 +585,7 @@ describe('Form component', () => {
|
|
|
585
585
|
),
|
|
586
586
|
})
|
|
587
587
|
|
|
588
|
-
await
|
|
588
|
+
await flushUpdates()
|
|
589
589
|
|
|
590
590
|
const form = document.querySelector('form[is="shade-form"]') as HTMLFormElement
|
|
591
591
|
const input = form.querySelector('input[name="name"]') as HTMLInputElement
|
|
@@ -597,7 +597,7 @@ describe('Form component', () => {
|
|
|
597
597
|
const submitEvent = new Event('submit', { bubbles: true, cancelable: true })
|
|
598
598
|
form.dispatchEvent(submitEvent)
|
|
599
599
|
|
|
600
|
-
await
|
|
600
|
+
await flushUpdates()
|
|
601
601
|
expect(formService.isSubmitting.getValue()).toBe(false)
|
|
602
602
|
expect(formService.submitError.getValue()).toBe(submitError)
|
|
603
603
|
})
|
|
@@ -636,7 +636,7 @@ describe('Form component', () => {
|
|
|
636
636
|
),
|
|
637
637
|
})
|
|
638
638
|
|
|
639
|
-
await
|
|
639
|
+
await flushUpdates()
|
|
640
640
|
|
|
641
641
|
const form = document.querySelector('form[is="shade-form"]') as HTMLFormElement
|
|
642
642
|
const input = form.querySelector('input[name="name"]') as HTMLInputElement
|
|
@@ -646,17 +646,17 @@ describe('Form component', () => {
|
|
|
646
646
|
const formService = formInjector.getInstance(FormService)
|
|
647
647
|
|
|
648
648
|
form.dispatchEvent(new Event('submit', { bubbles: true, cancelable: true }))
|
|
649
|
-
await
|
|
649
|
+
await flushUpdates()
|
|
650
650
|
expect(formService.submitError.getValue()).toBeInstanceOf(Error)
|
|
651
651
|
|
|
652
652
|
shouldThrow = false
|
|
653
653
|
form.dispatchEvent(new Event('submit', { bubbles: true, cancelable: true }))
|
|
654
|
-
await
|
|
654
|
+
await flushUpdates()
|
|
655
655
|
expect(formService.submitError.getValue()).toBeUndefined()
|
|
656
656
|
expect(formService.isSubmitting.getValue()).toBe(true)
|
|
657
657
|
|
|
658
658
|
resolveSubmit!()
|
|
659
|
-
await
|
|
659
|
+
await flushUpdates()
|
|
660
660
|
expect(formService.isSubmitting.getValue()).toBe(false)
|
|
661
661
|
})
|
|
662
662
|
})
|
|
@@ -690,7 +690,7 @@ describe('Form component', () => {
|
|
|
690
690
|
),
|
|
691
691
|
})
|
|
692
692
|
|
|
693
|
-
await
|
|
693
|
+
await flushUpdates()
|
|
694
694
|
|
|
695
695
|
const form = document.querySelector('form[is="shade-form"]') as HTMLFormElement
|
|
696
696
|
const input = form.querySelector('input[name="name"]') as HTMLInputElement
|
|
@@ -701,11 +701,11 @@ describe('Form component', () => {
|
|
|
701
701
|
const submitEvent = new Event('submit', { bubbles: true, cancelable: true })
|
|
702
702
|
form.dispatchEvent(submitEvent)
|
|
703
703
|
|
|
704
|
-
await
|
|
704
|
+
await flushUpdates()
|
|
705
705
|
expect(form.inert).toBe(true)
|
|
706
706
|
|
|
707
707
|
resolveSubmit!()
|
|
708
|
-
await
|
|
708
|
+
await flushUpdates()
|
|
709
709
|
expect(form.inert).toBe(false)
|
|
710
710
|
})
|
|
711
711
|
})
|
|
@@ -738,7 +738,7 @@ describe('Form component', () => {
|
|
|
738
738
|
),
|
|
739
739
|
})
|
|
740
740
|
|
|
741
|
-
await
|
|
741
|
+
await flushUpdates()
|
|
742
742
|
|
|
743
743
|
const form = document.querySelector('form[is="shade-form"]') as HTMLFormElement
|
|
744
744
|
const input = form.querySelector('input[name="name"]') as HTMLInputElement
|
|
@@ -747,11 +747,11 @@ describe('Form component', () => {
|
|
|
747
747
|
const submitEvent = new Event('submit', { bubbles: true, cancelable: true })
|
|
748
748
|
form.dispatchEvent(submitEvent)
|
|
749
749
|
|
|
750
|
-
await
|
|
750
|
+
await flushUpdates()
|
|
751
751
|
expect(form.inert).toBeFalsy()
|
|
752
752
|
|
|
753
753
|
resolveSubmit!()
|
|
754
|
-
await
|
|
754
|
+
await flushUpdates()
|
|
755
755
|
})
|
|
756
756
|
})
|
|
757
757
|
|
|
@@ -781,7 +781,7 @@ describe('Form component', () => {
|
|
|
781
781
|
),
|
|
782
782
|
})
|
|
783
783
|
|
|
784
|
-
await
|
|
784
|
+
await flushUpdates()
|
|
785
785
|
|
|
786
786
|
const form = document.querySelector('form[is="shade-form"]') as HTMLFormElement
|
|
787
787
|
const input = form.querySelector('input[name="name"]') as HTMLInputElement
|
|
@@ -790,7 +790,7 @@ describe('Form component', () => {
|
|
|
790
790
|
const submitEvent = new Event('submit', { bubbles: true, cancelable: true })
|
|
791
791
|
form.dispatchEvent(submitEvent)
|
|
792
792
|
|
|
793
|
-
await
|
|
793
|
+
await flushUpdates()
|
|
794
794
|
expect(form.inert).toBe(false)
|
|
795
795
|
const formInjector = (form as unknown as { injector: Injector }).injector
|
|
796
796
|
const formService = formInjector.getInstance(FormService)
|
|
@@ -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 { Grid, type GridProps, type HeaderCells, type RowCells } from './grid.js'
|
|
6
6
|
|
|
@@ -24,7 +24,7 @@ describe('Grid', () => {
|
|
|
24
24
|
rootElement: root,
|
|
25
25
|
jsxElement: <Grid {...props} />,
|
|
26
26
|
})
|
|
27
|
-
await
|
|
27
|
+
await flushUpdates()
|
|
28
28
|
const grid = document.querySelector('shade-grid') as HTMLElement
|
|
29
29
|
return {
|
|
30
30
|
injector,
|