@furystack/shades-common-components 11.0.0 → 12.0.1
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 +443 -0
- package/esm/components/accordion/accordion-item.d.ts +31 -0
- package/esm/components/accordion/accordion-item.d.ts.map +1 -0
- package/esm/components/accordion/accordion-item.js +147 -0
- package/esm/components/accordion/accordion-item.js.map +1 -0
- package/esm/components/accordion/accordion.d.ts +27 -0
- package/esm/components/accordion/accordion.d.ts.map +1 -0
- package/esm/components/accordion/accordion.js +39 -0
- package/esm/components/accordion/accordion.js.map +1 -0
- package/esm/components/accordion/accordion.spec.d.ts +2 -0
- package/esm/components/accordion/accordion.spec.d.ts.map +1 -0
- package/esm/components/accordion/accordion.spec.js +284 -0
- package/esm/components/accordion/accordion.spec.js.map +1 -0
- package/esm/components/accordion/index.d.ts +3 -0
- package/esm/components/accordion/index.d.ts.map +1 -0
- package/esm/components/accordion/index.js +3 -0
- package/esm/components/accordion/index.js.map +1 -0
- package/esm/components/alert.d.ts +21 -0
- package/esm/components/alert.d.ts.map +1 -0
- package/esm/components/alert.js +131 -0
- package/esm/components/alert.js.map +1 -0
- package/esm/components/alert.spec.d.ts +2 -0
- package/esm/components/alert.spec.d.ts.map +1 -0
- package/esm/components/alert.spec.js +177 -0
- package/esm/components/alert.spec.js.map +1 -0
- package/esm/components/app-bar-link.d.ts +22 -2
- package/esm/components/app-bar-link.d.ts.map +1 -1
- package/esm/components/app-bar-link.js +20 -7
- package/esm/components/app-bar-link.js.map +1 -1
- package/esm/components/app-bar-link.spec.js +22 -19
- package/esm/components/app-bar-link.spec.js.map +1 -1
- package/esm/components/app-bar.d.ts +2 -0
- package/esm/components/app-bar.d.ts.map +1 -1
- package/esm/components/app-bar.js +16 -11
- package/esm/components/app-bar.js.map +1 -1
- package/esm/components/app-bar.spec.js +67 -52
- package/esm/components/app-bar.spec.js.map +1 -1
- package/esm/components/avatar.d.ts +2 -0
- package/esm/components/avatar.d.ts.map +1 -1
- package/esm/components/avatar.js +40 -37
- package/esm/components/avatar.js.map +1 -1
- package/esm/components/badge.d.ts +35 -0
- package/esm/components/badge.d.ts.map +1 -0
- package/esm/components/badge.js +68 -0
- package/esm/components/badge.js.map +1 -0
- package/esm/components/badge.spec.d.ts +2 -0
- package/esm/components/badge.spec.d.ts.map +1 -0
- package/esm/components/badge.spec.js +157 -0
- package/esm/components/badge.spec.js.map +1 -0
- package/esm/components/breadcrumb.d.ts +103 -0
- package/esm/components/breadcrumb.d.ts.map +1 -0
- package/esm/components/breadcrumb.js +121 -0
- package/esm/components/breadcrumb.js.map +1 -0
- package/esm/components/breadcrumb.spec.d.ts +2 -0
- package/esm/components/breadcrumb.spec.d.ts.map +1 -0
- package/esm/components/breadcrumb.spec.js +251 -0
- package/esm/components/breadcrumb.spec.js.map +1 -0
- package/esm/components/button-group.d.ts +85 -0
- package/esm/components/button-group.d.ts.map +1 -0
- package/esm/components/button-group.js +290 -0
- package/esm/components/button-group.js.map +1 -0
- package/esm/components/button-group.spec.d.ts +2 -0
- package/esm/components/button-group.spec.d.ts.map +1 -0
- package/esm/components/button-group.spec.js +502 -0
- package/esm/components/button-group.spec.js.map +1 -0
- package/esm/components/button.d.ts +44 -2
- package/esm/components/button.d.ts.map +1 -1
- package/esm/components/button.js +82 -73
- package/esm/components/button.js.map +1 -1
- package/esm/components/button.spec.js +205 -50
- package/esm/components/button.spec.js.map +1 -1
- package/esm/components/card.d.ts +117 -0
- package/esm/components/card.d.ts.map +1 -0
- package/esm/components/card.js +181 -0
- package/esm/components/card.js.map +1 -0
- package/esm/components/card.spec.d.ts +2 -0
- package/esm/components/card.spec.d.ts.map +1 -0
- package/esm/components/card.spec.js +278 -0
- package/esm/components/card.spec.js.map +1 -0
- package/esm/components/carousel.d.ts +50 -0
- package/esm/components/carousel.d.ts.map +1 -0
- package/esm/components/carousel.js +263 -0
- package/esm/components/carousel.js.map +1 -0
- package/esm/components/carousel.spec.d.ts +2 -0
- package/esm/components/carousel.spec.d.ts.map +1 -0
- package/esm/components/carousel.spec.js +677 -0
- package/esm/components/carousel.spec.js.map +1 -0
- package/esm/components/chip.d.ts +23 -0
- package/esm/components/chip.d.ts.map +1 -0
- package/esm/components/chip.js +139 -0
- package/esm/components/chip.js.map +1 -0
- package/esm/components/chip.spec.d.ts +2 -0
- package/esm/components/chip.spec.d.ts.map +1 -0
- package/esm/components/chip.spec.js +142 -0
- package/esm/components/chip.spec.js.map +1 -0
- package/esm/components/circular-progress.d.ts +37 -0
- package/esm/components/circular-progress.d.ts.map +1 -0
- package/esm/components/circular-progress.js +84 -0
- package/esm/components/circular-progress.js.map +1 -0
- package/esm/components/circular-progress.spec.d.ts +2 -0
- package/esm/components/circular-progress.spec.d.ts.map +1 -0
- package/esm/components/circular-progress.spec.js +228 -0
- package/esm/components/circular-progress.spec.js.map +1 -0
- package/esm/components/command-palette/command-palette-input.d.ts +3 -0
- package/esm/components/command-palette/command-palette-input.d.ts.map +1 -1
- package/esm/components/command-palette/command-palette-input.js +17 -9
- package/esm/components/command-palette/command-palette-input.js.map +1 -1
- package/esm/components/command-palette/command-palette-input.spec.js +172 -161
- package/esm/components/command-palette/command-palette-input.spec.js.map +1 -1
- package/esm/components/command-palette/command-palette-manager.spec.js +130 -114
- package/esm/components/command-palette/command-palette-manager.spec.js.map +1 -1
- package/esm/components/command-palette/command-palette-suggestion-list.d.ts +2 -0
- package/esm/components/command-palette/command-palette-suggestion-list.d.ts.map +1 -1
- package/esm/components/command-palette/command-palette-suggestion-list.js +20 -20
- package/esm/components/command-palette/command-palette-suggestion-list.js.map +1 -1
- package/esm/components/command-palette/command-palette-suggestion-list.spec.js +296 -278
- package/esm/components/command-palette/command-palette-suggestion-list.spec.js.map +1 -1
- package/esm/components/command-palette/index.d.ts +2 -0
- package/esm/components/command-palette/index.d.ts.map +1 -1
- package/esm/components/command-palette/index.js +25 -94
- package/esm/components/command-palette/index.js.map +1 -1
- package/esm/components/command-palette/index.spec.js +12 -12
- package/esm/components/command-palette/index.spec.js.map +1 -1
- package/esm/components/context-menu/context-menu-item.d.ts +9 -0
- package/esm/components/context-menu/context-menu-item.d.ts.map +1 -0
- package/esm/components/context-menu/context-menu-item.js +56 -0
- package/esm/components/context-menu/context-menu-item.js.map +1 -0
- package/esm/components/context-menu/context-menu-manager.d.ts +52 -0
- package/esm/components/context-menu/context-menu-manager.d.ts.map +1 -0
- package/esm/components/context-menu/context-menu-manager.js +128 -0
- package/esm/components/context-menu/context-menu-manager.js.map +1 -0
- package/esm/components/context-menu/context-menu-manager.spec.d.ts +2 -0
- package/esm/components/context-menu/context-menu-manager.spec.d.ts.map +1 -0
- package/esm/components/context-menu/context-menu-manager.spec.js +326 -0
- package/esm/components/context-menu/context-menu-manager.spec.js.map +1 -0
- package/esm/components/context-menu/context-menu.d.ts +8 -0
- package/esm/components/context-menu/context-menu.d.ts.map +1 -0
- package/esm/components/context-menu/context-menu.js +79 -0
- package/esm/components/context-menu/context-menu.js.map +1 -0
- package/esm/components/context-menu/context-menu.spec.d.ts +2 -0
- package/esm/components/context-menu/context-menu.spec.d.ts.map +1 -0
- package/esm/components/context-menu/context-menu.spec.js +282 -0
- package/esm/components/context-menu/context-menu.spec.js.map +1 -0
- package/esm/components/context-menu/index.d.ts +4 -0
- package/esm/components/context-menu/index.d.ts.map +1 -0
- package/esm/components/context-menu/index.js +4 -0
- package/esm/components/context-menu/index.js.map +1 -0
- package/esm/components/data-grid/body.spec.js +194 -184
- package/esm/components/data-grid/body.spec.js.map +1 -1
- package/esm/components/data-grid/data-grid-row.d.ts.map +1 -1
- package/esm/components/data-grid/data-grid-row.js +66 -54
- package/esm/components/data-grid/data-grid-row.js.map +1 -1
- package/esm/components/data-grid/data-grid-row.spec.js +127 -95
- package/esm/components/data-grid/data-grid-row.spec.js.map +1 -1
- package/esm/components/data-grid/data-grid.d.ts.map +1 -1
- package/esm/components/data-grid/data-grid.js +17 -16
- package/esm/components/data-grid/data-grid.js.map +1 -1
- package/esm/components/data-grid/data-grid.spec.js +364 -430
- package/esm/components/data-grid/data-grid.spec.js.map +1 -1
- package/esm/components/data-grid/footer.spec.js +215 -203
- package/esm/components/data-grid/footer.spec.js.map +1 -1
- package/esm/components/data-grid/header.d.ts +3 -1
- package/esm/components/data-grid/header.d.ts.map +1 -1
- package/esm/components/data-grid/header.js +42 -30
- package/esm/components/data-grid/header.js.map +1 -1
- package/esm/components/data-grid/header.spec.js +330 -307
- package/esm/components/data-grid/header.spec.js.map +1 -1
- package/esm/components/data-grid/selection-cell.d.ts +2 -0
- package/esm/components/data-grid/selection-cell.d.ts.map +1 -1
- package/esm/components/data-grid/selection-cell.js +2 -7
- package/esm/components/data-grid/selection-cell.js.map +1 -1
- package/esm/components/data-grid/selection-cell.spec.js +45 -36
- package/esm/components/data-grid/selection-cell.spec.js.map +1 -1
- package/esm/components/dialog.d.ts +46 -0
- package/esm/components/dialog.d.ts.map +1 -0
- package/esm/components/dialog.js +178 -0
- package/esm/components/dialog.js.map +1 -0
- package/esm/components/dialog.spec.d.ts +2 -0
- package/esm/components/dialog.spec.d.ts.map +1 -0
- package/esm/components/dialog.spec.js +113 -0
- package/esm/components/dialog.spec.js.map +1 -0
- package/esm/components/divider.d.ts +22 -0
- package/esm/components/divider.d.ts.map +1 -0
- package/esm/components/divider.js +113 -0
- package/esm/components/divider.js.map +1 -0
- package/esm/components/divider.spec.d.ts +2 -0
- package/esm/components/divider.spec.d.ts.map +1 -0
- package/esm/components/divider.spec.js +136 -0
- package/esm/components/divider.spec.js.map +1 -0
- package/esm/components/drawer/drawer-toggle-button.d.ts +36 -0
- package/esm/components/drawer/drawer-toggle-button.d.ts.map +1 -0
- package/esm/components/drawer/drawer-toggle-button.js +94 -0
- package/esm/components/drawer/drawer-toggle-button.js.map +1 -0
- package/esm/components/drawer/drawer-toggle-button.spec.d.ts +2 -0
- package/esm/components/drawer/drawer-toggle-button.spec.d.ts.map +1 -0
- package/esm/components/drawer/drawer-toggle-button.spec.js +306 -0
- package/esm/components/drawer/drawer-toggle-button.spec.js.map +1 -0
- package/esm/components/drawer/index.d.ts +56 -0
- package/esm/components/drawer/index.d.ts.map +1 -0
- package/esm/components/drawer/index.js +172 -0
- package/esm/components/drawer/index.js.map +1 -0
- package/esm/components/drawer/index.spec.d.ts +2 -0
- package/esm/components/drawer/index.spec.d.ts.map +1 -0
- package/esm/components/drawer/index.spec.js +538 -0
- package/esm/components/drawer/index.spec.js.map +1 -0
- package/esm/components/dropdown.d.ts +15 -0
- package/esm/components/dropdown.d.ts.map +1 -0
- package/esm/components/dropdown.js +262 -0
- package/esm/components/dropdown.js.map +1 -0
- package/esm/components/dropdown.spec.d.ts +2 -0
- package/esm/components/dropdown.spec.d.ts.map +1 -0
- package/esm/components/dropdown.spec.js +372 -0
- package/esm/components/dropdown.spec.js.map +1 -0
- package/esm/components/fab.d.ts +10 -1
- package/esm/components/fab.d.ts.map +1 -1
- package/esm/components/fab.js +24 -8
- package/esm/components/fab.js.map +1 -1
- package/esm/components/fab.spec.js +50 -39
- package/esm/components/fab.spec.js.map +1 -1
- package/esm/components/form.d.ts.map +1 -1
- package/esm/components/form.js +9 -7
- package/esm/components/form.js.map +1 -1
- package/esm/components/form.spec.js +209 -199
- package/esm/components/form.spec.js.map +1 -1
- package/esm/components/grid.js +10 -10
- package/esm/components/grid.js.map +1 -1
- package/esm/components/grid.spec.js +109 -85
- package/esm/components/grid.spec.js.map +1 -1
- package/esm/components/icons/icon-definitions.d.ts +140 -0
- package/esm/components/icons/icon-definitions.d.ts.map +1 -0
- package/esm/components/icons/icon-definitions.js +432 -0
- package/esm/components/icons/icon-definitions.js.map +1 -0
- package/esm/components/icons/icon-definitions.spec.d.ts +2 -0
- package/esm/components/icons/icon-definitions.spec.d.ts.map +1 -0
- package/esm/components/icons/icon-definitions.spec.js +59 -0
- package/esm/components/icons/icon-definitions.spec.js.map +1 -0
- package/esm/components/icons/icon-types.d.ts +48 -0
- package/esm/components/icons/icon-types.d.ts.map +1 -0
- package/esm/components/icons/icon-types.js +2 -0
- package/esm/components/icons/icon-types.js.map +1 -0
- package/esm/components/icons/icon.d.ts +56 -0
- package/esm/components/icons/icon.d.ts.map +1 -0
- package/esm/components/icons/icon.js +61 -0
- package/esm/components/icons/icon.js.map +1 -0
- package/esm/components/icons/icon.spec.d.ts +2 -0
- package/esm/components/icons/icon.spec.d.ts.map +1 -0
- package/esm/components/icons/icon.spec.js +224 -0
- package/esm/components/icons/icon.spec.js.map +1 -0
- package/esm/components/icons/index.d.ts +5 -0
- package/esm/components/icons/index.d.ts.map +1 -0
- package/esm/components/icons/index.js +3 -0
- package/esm/components/icons/index.js.map +1 -0
- package/esm/components/image.d.ts +62 -0
- package/esm/components/image.d.ts.map +1 -0
- package/esm/components/image.js +348 -0
- package/esm/components/image.js.map +1 -0
- package/esm/components/image.spec.d.ts +2 -0
- package/esm/components/image.spec.d.ts.map +1 -0
- package/esm/components/image.spec.js +542 -0
- package/esm/components/image.spec.js.map +1 -0
- package/esm/components/index.d.ts +32 -4
- package/esm/components/index.d.ts.map +1 -1
- package/esm/components/index.js +32 -4
- package/esm/components/index.js.map +1 -1
- package/esm/components/inputs/autocomplete.d.ts +2 -0
- package/esm/components/inputs/autocomplete.d.ts.map +1 -1
- package/esm/components/inputs/autocomplete.js +10 -6
- package/esm/components/inputs/autocomplete.js.map +1 -1
- package/esm/components/inputs/autocomplete.spec.js +10 -1
- package/esm/components/inputs/autocomplete.spec.js.map +1 -1
- package/esm/components/inputs/checkbox.d.ts +50 -0
- package/esm/components/inputs/checkbox.d.ts.map +1 -0
- package/esm/components/inputs/checkbox.js +126 -0
- package/esm/components/inputs/checkbox.js.map +1 -0
- package/esm/components/inputs/checkbox.spec.d.ts +2 -0
- package/esm/components/inputs/checkbox.spec.d.ts.map +1 -0
- package/esm/components/inputs/checkbox.spec.js +287 -0
- package/esm/components/inputs/checkbox.spec.js.map +1 -0
- package/esm/components/inputs/index.d.ts +7 -0
- package/esm/components/inputs/index.d.ts.map +1 -1
- package/esm/components/inputs/index.js +7 -0
- package/esm/components/inputs/index.js.map +1 -1
- package/esm/components/inputs/input-number.d.ts +79 -0
- package/esm/components/inputs/input-number.d.ts.map +1 -0
- package/esm/components/inputs/input-number.js +232 -0
- package/esm/components/inputs/input-number.js.map +1 -0
- package/esm/components/inputs/input-number.spec.d.ts +2 -0
- package/esm/components/inputs/input-number.spec.d.ts.map +1 -0
- package/esm/components/inputs/input-number.spec.js +516 -0
- package/esm/components/inputs/input-number.spec.js.map +1 -0
- package/esm/components/inputs/input.d.ts +2 -1
- package/esm/components/inputs/input.d.ts.map +1 -1
- package/esm/components/inputs/input.js +86 -116
- package/esm/components/inputs/input.js.map +1 -1
- package/esm/components/inputs/input.spec.js +461 -427
- package/esm/components/inputs/input.spec.js.map +1 -1
- package/esm/components/inputs/radio-group.d.ts +38 -0
- package/esm/components/inputs/radio-group.d.ts.map +1 -0
- package/esm/components/inputs/radio-group.js +58 -0
- package/esm/components/inputs/radio-group.js.map +1 -0
- package/esm/components/inputs/radio-group.spec.d.ts +2 -0
- package/esm/components/inputs/radio-group.spec.d.ts.map +1 -0
- package/esm/components/inputs/radio-group.spec.js +201 -0
- package/esm/components/inputs/radio-group.spec.js.map +1 -0
- package/esm/components/inputs/radio.d.ts +42 -0
- package/esm/components/inputs/radio.d.ts.map +1 -0
- package/esm/components/inputs/radio.js +134 -0
- package/esm/components/inputs/radio.js.map +1 -0
- package/esm/components/inputs/radio.spec.d.ts +2 -0
- package/esm/components/inputs/radio.spec.d.ts.map +1 -0
- package/esm/components/inputs/radio.spec.js +211 -0
- package/esm/components/inputs/radio.spec.js.map +1 -0
- package/esm/components/inputs/select.d.ts +67 -0
- package/esm/components/inputs/select.d.ts.map +1 -0
- package/esm/components/inputs/select.js +581 -0
- package/esm/components/inputs/select.js.map +1 -0
- package/esm/components/inputs/select.spec.d.ts +2 -0
- package/esm/components/inputs/select.spec.d.ts.map +1 -0
- package/esm/components/inputs/select.spec.js +1009 -0
- package/esm/components/inputs/select.spec.js.map +1 -0
- package/esm/components/inputs/slider.d.ts +66 -0
- package/esm/components/inputs/slider.d.ts.map +1 -0
- package/esm/components/inputs/slider.js +526 -0
- package/esm/components/inputs/slider.js.map +1 -0
- package/esm/components/inputs/slider.spec.d.ts +2 -0
- package/esm/components/inputs/slider.spec.d.ts.map +1 -0
- package/esm/components/inputs/slider.spec.js +812 -0
- package/esm/components/inputs/slider.spec.js.map +1 -0
- package/esm/components/inputs/switch.d.ts +50 -0
- package/esm/components/inputs/switch.d.ts.map +1 -0
- package/esm/components/inputs/switch.js +138 -0
- package/esm/components/inputs/switch.js.map +1 -0
- package/esm/components/inputs/switch.spec.d.ts +2 -0
- package/esm/components/inputs/switch.spec.d.ts.map +1 -0
- package/esm/components/inputs/switch.spec.js +313 -0
- package/esm/components/inputs/switch.spec.js.map +1 -0
- package/esm/components/inputs/text-area.d.ts +2 -0
- package/esm/components/inputs/text-area.d.ts.map +1 -1
- package/esm/components/inputs/text-area.js +13 -21
- package/esm/components/inputs/text-area.js.map +1 -1
- package/esm/components/inputs/text-area.spec.js +171 -156
- package/esm/components/inputs/text-area.spec.js.map +1 -1
- package/esm/components/linear-progress.d.ts +32 -0
- package/esm/components/linear-progress.d.ts.map +1 -0
- package/esm/components/linear-progress.js +79 -0
- package/esm/components/linear-progress.js.map +1 -0
- package/esm/components/linear-progress.spec.d.ts +2 -0
- package/esm/components/linear-progress.spec.d.ts.map +1 -0
- package/esm/components/linear-progress.spec.js +251 -0
- package/esm/components/linear-progress.spec.js.map +1 -0
- package/esm/components/list/index.d.ts +3 -0
- package/esm/components/list/index.d.ts.map +1 -0
- package/esm/components/list/index.js +3 -0
- package/esm/components/list/index.js.map +1 -0
- package/esm/components/list/list-item.d.ts +13 -0
- package/esm/components/list/list-item.d.ts.map +1 -0
- package/esm/components/list/list-item.js +81 -0
- package/esm/components/list/list-item.js.map +1 -0
- package/esm/components/list/list.d.ts +18 -0
- package/esm/components/list/list.d.ts.map +1 -0
- package/esm/components/list/list.js +42 -0
- package/esm/components/list/list.js.map +1 -0
- package/esm/components/list/list.spec.d.ts +2 -0
- package/esm/components/list/list.spec.d.ts.map +1 -0
- package/esm/components/list/list.spec.js +540 -0
- package/esm/components/list/list.spec.js.map +1 -0
- package/esm/components/loader.d.ts +2 -0
- package/esm/components/loader.d.ts.map +1 -1
- package/esm/components/loader.js +18 -10
- package/esm/components/loader.js.map +1 -1
- package/esm/components/loader.spec.js +191 -175
- package/esm/components/loader.spec.js.map +1 -1
- package/esm/components/menu/index.d.ts +3 -0
- package/esm/components/menu/index.d.ts.map +1 -0
- package/esm/components/menu/index.js +3 -0
- package/esm/components/menu/index.js.map +1 -0
- package/esm/components/menu/menu-types.d.ts +27 -0
- package/esm/components/menu/menu-types.d.ts.map +1 -0
- package/esm/components/menu/menu-types.js +22 -0
- package/esm/components/menu/menu-types.js.map +1 -0
- package/esm/components/menu/menu-types.spec.d.ts +2 -0
- package/esm/components/menu/menu-types.spec.d.ts.map +1 -0
- package/esm/components/menu/menu-types.spec.js +103 -0
- package/esm/components/menu/menu-types.spec.js.map +1 -0
- package/esm/components/menu/menu.d.ts +17 -0
- package/esm/components/menu/menu.d.ts.map +1 -0
- package/esm/components/menu/menu.js +240 -0
- package/esm/components/menu/menu.js.map +1 -0
- package/esm/components/menu/menu.spec.d.ts +2 -0
- package/esm/components/menu/menu.spec.d.ts.map +1 -0
- package/esm/components/menu/menu.spec.js +427 -0
- package/esm/components/menu/menu.spec.js.map +1 -0
- package/esm/components/modal.d.ts +3 -2
- package/esm/components/modal.d.ts.map +1 -1
- package/esm/components/modal.js +8 -5
- package/esm/components/modal.js.map +1 -1
- package/esm/components/modal.spec.js +50 -43
- package/esm/components/modal.spec.js.map +1 -1
- package/esm/components/noty-list.d.ts +4 -0
- package/esm/components/noty-list.d.ts.map +1 -1
- package/esm/components/noty-list.js +65 -53
- package/esm/components/noty-list.js.map +1 -1
- package/esm/components/noty-list.spec.js +71 -68
- package/esm/components/noty-list.spec.js.map +1 -1
- package/esm/components/page-container/index.d.ts +54 -0
- package/esm/components/page-container/index.d.ts.map +1 -0
- package/esm/components/page-container/index.js +63 -0
- package/esm/components/page-container/index.js.map +1 -0
- package/esm/components/page-container/index.spec.d.ts +2 -0
- package/esm/components/page-container/index.spec.d.ts.map +1 -0
- package/esm/components/page-container/index.spec.js +217 -0
- package/esm/components/page-container/index.spec.js.map +1 -0
- package/esm/components/page-container/page-header.d.ts +57 -0
- package/esm/components/page-container/page-header.d.ts.map +1 -0
- package/esm/components/page-container/page-header.js +93 -0
- package/esm/components/page-container/page-header.js.map +1 -0
- package/esm/components/page-container/page-header.spec.d.ts +2 -0
- package/esm/components/page-container/page-header.spec.d.ts.map +1 -0
- package/esm/components/page-container/page-header.spec.js +230 -0
- package/esm/components/page-container/page-header.spec.js.map +1 -0
- package/esm/components/page-layout/index.d.ts +83 -0
- package/esm/components/page-layout/index.d.ts.map +1 -0
- package/esm/components/page-layout/index.js +288 -0
- package/esm/components/page-layout/index.js.map +1 -0
- package/esm/components/page-layout/index.spec.d.ts +2 -0
- package/esm/components/page-layout/index.spec.d.ts.map +1 -0
- package/esm/components/page-layout/index.spec.js +637 -0
- package/esm/components/page-layout/index.spec.js.map +1 -0
- package/esm/components/pagination.d.ts +43 -0
- package/esm/components/pagination.d.ts.map +1 -0
- package/esm/components/pagination.js +165 -0
- package/esm/components/pagination.js.map +1 -0
- package/esm/components/pagination.spec.d.ts +2 -0
- package/esm/components/pagination.spec.d.ts.map +1 -0
- package/esm/components/pagination.spec.js +195 -0
- package/esm/components/pagination.spec.js.map +1 -0
- package/esm/components/paper.d.ts +3 -1
- package/esm/components/paper.d.ts.map +1 -1
- package/esm/components/paper.js +11 -9
- package/esm/components/paper.js.map +1 -1
- package/esm/components/paper.spec.js +26 -18
- package/esm/components/paper.spec.js.map +1 -1
- package/esm/components/rating.d.ts +62 -0
- package/esm/components/rating.d.ts.map +1 -0
- package/esm/components/rating.js +201 -0
- package/esm/components/rating.js.map +1 -0
- package/esm/components/rating.spec.d.ts +2 -0
- package/esm/components/rating.spec.d.ts.map +1 -0
- package/esm/components/rating.spec.js +663 -0
- package/esm/components/rating.spec.js.map +1 -0
- package/esm/components/result.d.ts +37 -0
- package/esm/components/result.d.ts.map +1 -0
- package/esm/components/result.js +109 -0
- package/esm/components/result.js.map +1 -0
- package/esm/components/result.spec.d.ts +2 -0
- package/esm/components/result.spec.d.ts.map +1 -0
- package/esm/components/result.spec.js +159 -0
- package/esm/components/result.spec.js.map +1 -0
- package/esm/components/searchable-input-styles.d.ts +8 -0
- package/esm/components/searchable-input-styles.d.ts.map +1 -0
- package/esm/components/searchable-input-styles.js +71 -0
- package/esm/components/searchable-input-styles.js.map +1 -0
- package/esm/components/skeleton.d.ts +2 -0
- package/esm/components/skeleton.d.ts.map +1 -1
- package/esm/components/skeleton.js +19 -6
- package/esm/components/skeleton.js.map +1 -1
- package/esm/components/skeleton.spec.js +103 -95
- package/esm/components/skeleton.spec.js.map +1 -1
- package/esm/components/styles.d.ts.map +1 -1
- package/esm/components/styles.js +14 -13
- package/esm/components/styles.js.map +1 -1
- package/esm/components/styles.spec.js +27 -26
- package/esm/components/styles.spec.js.map +1 -1
- package/esm/components/suggest/index.d.ts.map +1 -1
- package/esm/components/suggest/index.js +24 -85
- package/esm/components/suggest/index.js.map +1 -1
- package/esm/components/suggest/index.spec.js +402 -378
- package/esm/components/suggest/index.spec.js.map +1 -1
- package/esm/components/suggest/suggest-input.d.ts +2 -0
- package/esm/components/suggest/suggest-input.d.ts.map +1 -1
- package/esm/components/suggest/suggest-input.js +10 -8
- package/esm/components/suggest/suggest-input.js.map +1 -1
- package/esm/components/suggest/suggest-input.spec.js +83 -71
- package/esm/components/suggest/suggest-input.spec.js.map +1 -1
- package/esm/components/suggest/suggest-manager.spec.js +102 -92
- package/esm/components/suggest/suggest-manager.spec.js.map +1 -1
- package/esm/components/suggest/suggestion-list.d.ts.map +1 -1
- package/esm/components/suggest/suggestion-list.js +21 -22
- package/esm/components/suggest/suggestion-list.js.map +1 -1
- package/esm/components/suggest/suggestion-list.spec.js +165 -146
- package/esm/components/suggest/suggestion-list.spec.js.map +1 -1
- package/esm/components/tabs.d.ts +18 -2
- package/esm/components/tabs.d.ts.map +1 -1
- package/esm/components/tabs.js +154 -14
- package/esm/components/tabs.js.map +1 -1
- package/esm/components/tabs.spec.js +295 -7
- package/esm/components/tabs.spec.js.map +1 -1
- package/esm/components/timeline.d.ts +53 -0
- package/esm/components/timeline.d.ts.map +1 -0
- package/esm/components/timeline.js +162 -0
- package/esm/components/timeline.js.map +1 -0
- package/esm/components/timeline.spec.d.ts +2 -0
- package/esm/components/timeline.spec.d.ts.map +1 -0
- package/esm/components/timeline.spec.js +209 -0
- package/esm/components/timeline.spec.js.map +1 -0
- package/esm/components/tooltip.d.ts +25 -0
- package/esm/components/tooltip.d.ts.map +1 -0
- package/esm/components/tooltip.js +113 -0
- package/esm/components/tooltip.js.map +1 -0
- package/esm/components/tooltip.spec.d.ts +2 -0
- package/esm/components/tooltip.spec.d.ts.map +1 -0
- package/esm/components/tooltip.spec.js +152 -0
- package/esm/components/tooltip.spec.js.map +1 -0
- package/esm/components/tree/index.d.ts +3 -0
- package/esm/components/tree/index.d.ts.map +1 -0
- package/esm/components/tree/index.js +3 -0
- package/esm/components/tree/index.js.map +1 -0
- package/esm/components/tree/tree-item.d.ts +14 -0
- package/esm/components/tree/tree-item.d.ts.map +1 -0
- package/esm/components/tree/tree-item.js +118 -0
- package/esm/components/tree/tree-item.js.map +1 -0
- package/esm/components/tree/tree.d.ts +20 -0
- package/esm/components/tree/tree.d.ts.map +1 -0
- package/esm/components/tree/tree.js +66 -0
- package/esm/components/tree/tree.js.map +1 -0
- package/esm/components/tree/tree.spec.d.ts +2 -0
- package/esm/components/tree/tree.spec.d.ts.map +1 -0
- package/esm/components/tree/tree.spec.js +427 -0
- package/esm/components/tree/tree.spec.js.map +1 -0
- package/esm/components/typography.d.ts +48 -0
- package/esm/components/typography.d.ts.map +1 -0
- package/esm/components/typography.js +223 -0
- package/esm/components/typography.js.map +1 -0
- package/esm/components/typography.spec.d.ts +2 -0
- package/esm/components/typography.spec.d.ts.map +1 -0
- package/esm/components/typography.spec.js +199 -0
- package/esm/components/typography.spec.js.map +1 -0
- package/esm/components/wizard/index.d.ts +2 -0
- package/esm/components/wizard/index.d.ts.map +1 -1
- package/esm/components/wizard/index.spec.js +70 -56
- package/esm/components/wizard/index.spec.js.map +1 -1
- package/esm/services/click-away-service.d.ts +5 -2
- package/esm/services/click-away-service.d.ts.map +1 -1
- package/esm/services/click-away-service.js +7 -1
- package/esm/services/click-away-service.js.map +1 -1
- package/esm/services/click-away-service.spec.js +14 -12
- package/esm/services/click-away-service.spec.js.map +1 -1
- package/esm/services/css-variable-theme.d.ts +167 -1
- package/esm/services/css-variable-theme.d.ts.map +1 -1
- package/esm/services/css-variable-theme.js +102 -0
- package/esm/services/css-variable-theme.js.map +1 -1
- package/esm/services/css-variable-theme.spec.js +131 -1
- package/esm/services/css-variable-theme.spec.js.map +1 -1
- package/esm/services/default-dark-theme.d.ts +107 -2
- package/esm/services/default-dark-theme.d.ts.map +1 -1
- package/esm/services/default-dark-theme.js +87 -1
- package/esm/services/default-dark-theme.js.map +1 -1
- package/esm/services/default-light-theme.d.ts +107 -2
- package/esm/services/default-light-theme.d.ts.map +1 -1
- package/esm/services/default-light-theme.js +86 -0
- package/esm/services/default-light-theme.js.map +1 -1
- package/esm/services/index.d.ts +6 -2
- package/esm/services/index.d.ts.map +1 -1
- package/esm/services/index.js +6 -2
- package/esm/services/index.js.map +1 -1
- package/esm/services/layout-service.d.ts +217 -0
- package/esm/services/layout-service.d.ts.map +1 -0
- package/esm/services/layout-service.js +331 -0
- package/esm/services/layout-service.js.map +1 -0
- package/esm/services/layout-service.spec.d.ts +2 -0
- package/esm/services/layout-service.spec.d.ts.map +1 -0
- package/esm/services/layout-service.spec.js +425 -0
- package/esm/services/layout-service.spec.js.map +1 -0
- package/esm/services/list-service.d.ts +31 -0
- package/esm/services/list-service.d.ts.map +1 -0
- package/esm/services/list-service.js +149 -0
- package/esm/services/list-service.js.map +1 -0
- package/esm/services/list-service.spec.d.ts +2 -0
- package/esm/services/list-service.spec.d.ts.map +1 -0
- package/esm/services/list-service.spec.js +283 -0
- package/esm/services/list-service.spec.js.map +1 -0
- package/esm/services/palette-css-vars.d.ts +12 -0
- package/esm/services/palette-css-vars.d.ts.map +1 -0
- package/esm/services/palette-css-vars.js +44 -0
- package/esm/services/palette-css-vars.js.map +1 -0
- package/esm/services/theme-provider-service.d.ts +387 -2
- package/esm/services/theme-provider-service.d.ts.map +1 -1
- package/esm/services/theme-provider-service.js.map +1 -1
- package/esm/services/tree-service.d.ts +61 -0
- package/esm/services/tree-service.d.ts.map +1 -0
- package/esm/services/tree-service.js +149 -0
- package/esm/services/tree-service.js.map +1 -0
- package/esm/services/tree-service.spec.d.ts +2 -0
- package/esm/services/tree-service.spec.d.ts.map +1 -0
- package/esm/services/tree-service.spec.js +338 -0
- package/esm/services/tree-service.spec.js.map +1 -0
- package/esm/utils/promisify-animation.d.ts.map +1 -1
- package/esm/utils/promisify-animation.js +6 -1
- package/esm/utils/promisify-animation.js.map +1 -1
- package/package.json +7 -8
- package/src/components/accordion/accordion-item.tsx +197 -0
- package/src/components/accordion/accordion.spec.tsx +418 -0
- package/src/components/accordion/accordion.tsx +50 -0
- package/src/components/accordion/index.ts +2 -0
- package/src/components/alert.spec.tsx +256 -0
- package/src/components/alert.tsx +186 -0
- package/src/components/app-bar-link.spec.tsx +22 -19
- package/src/components/app-bar-link.tsx +29 -10
- package/src/components/app-bar.spec.tsx +73 -58
- package/src/components/app-bar.tsx +19 -12
- package/src/components/avatar.tsx +46 -47
- package/src/components/badge.spec.tsx +228 -0
- package/src/components/badge.tsx +104 -0
- package/src/components/breadcrumb.spec.tsx +396 -0
- package/src/components/breadcrumb.tsx +188 -0
- package/src/components/button-group.spec.tsx +611 -0
- package/src/components/button-group.tsx +423 -0
- package/src/components/button.spec.tsx +257 -67
- package/src/components/button.tsx +130 -80
- package/src/components/card.spec.tsx +389 -0
- package/src/components/card.tsx +261 -0
- package/src/components/carousel.spec.tsx +894 -0
- package/src/components/carousel.tsx +376 -0
- package/src/components/chip.spec.tsx +200 -0
- package/src/components/chip.tsx +188 -0
- package/src/components/circular-progress.spec.tsx +289 -0
- package/src/components/circular-progress.tsx +145 -0
- package/src/components/command-palette/command-palette-input.spec.tsx +219 -219
- package/src/components/command-palette/command-palette-input.tsx +25 -9
- package/src/components/command-palette/command-palette-manager.spec.ts +132 -117
- package/src/components/command-palette/command-palette-suggestion-list.spec.tsx +358 -358
- package/src/components/command-palette/command-palette-suggestion-list.tsx +22 -20
- package/src/components/command-palette/index.spec.tsx +12 -12
- package/src/components/command-palette/index.tsx +25 -102
- package/src/components/context-menu/context-menu-item.tsx +85 -0
- package/src/components/context-menu/context-menu-manager.spec.ts +433 -0
- package/src/components/context-menu/context-menu-manager.ts +148 -0
- package/src/components/context-menu/context-menu.spec.tsx +352 -0
- package/src/components/context-menu/context-menu.tsx +116 -0
- package/src/components/context-menu/index.ts +3 -0
- package/src/components/data-grid/body.spec.tsx +287 -283
- package/src/components/data-grid/data-grid-row.spec.tsx +165 -140
- package/src/components/data-grid/data-grid-row.tsx +72 -55
- package/src/components/data-grid/data-grid.spec.tsx +659 -729
- package/src/components/data-grid/data-grid.tsx +19 -15
- package/src/components/data-grid/footer.spec.tsx +249 -237
- package/src/components/data-grid/header.spec.tsx +374 -351
- package/src/components/data-grid/header.tsx +58 -39
- package/src/components/data-grid/selection-cell.spec.tsx +46 -45
- package/src/components/data-grid/selection-cell.tsx +2 -6
- package/src/components/dialog.spec.tsx +135 -0
- package/src/components/dialog.tsx +277 -0
- package/src/components/divider.spec.tsx +197 -0
- package/src/components/divider.tsx +147 -0
- package/src/components/drawer/drawer-toggle-button.spec.tsx +374 -0
- package/src/components/drawer/drawer-toggle-button.tsx +124 -0
- package/src/components/drawer/index.spec.tsx +748 -0
- package/src/components/drawer/index.tsx +227 -0
- package/src/components/dropdown.spec.tsx +445 -0
- package/src/components/dropdown.tsx +343 -0
- package/src/components/fab.spec.tsx +51 -40
- package/src/components/fab.tsx +32 -9
- package/src/components/form.spec.tsx +303 -293
- package/src/components/form.tsx +10 -7
- package/src/components/grid.spec.tsx +276 -183
- package/src/components/grid.tsx +10 -10
- package/src/components/icons/icon-definitions.spec.ts +68 -0
- package/src/components/icons/icon-definitions.ts +509 -0
- package/src/components/icons/icon-types.ts +48 -0
- package/src/components/icons/icon.spec.tsx +314 -0
- package/src/components/icons/icon.tsx +111 -0
- package/src/components/icons/index.ts +4 -0
- package/src/components/image.spec.tsx +748 -0
- package/src/components/image.tsx +520 -0
- package/src/components/index.ts +32 -4
- package/src/components/inputs/autocomplete.spec.tsx +10 -1
- package/src/components/inputs/autocomplete.tsx +13 -7
- package/src/components/inputs/checkbox.spec.tsx +377 -0
- package/src/components/inputs/checkbox.tsx +198 -0
- package/src/components/inputs/index.ts +7 -0
- package/src/components/inputs/input-number.spec.tsx +686 -0
- package/src/components/inputs/input-number.tsx +387 -0
- package/src/components/inputs/input.spec.tsx +544 -508
- package/src/components/inputs/input.tsx +91 -132
- package/src/components/inputs/radio-group.spec.tsx +281 -0
- package/src/components/inputs/radio-group.tsx +108 -0
- package/src/components/inputs/radio.spec.tsx +273 -0
- package/src/components/inputs/radio.tsx +199 -0
- package/src/components/inputs/select.spec.tsx +1237 -0
- package/src/components/inputs/select.tsx +775 -0
- package/src/components/inputs/slider.spec.tsx +1020 -0
- package/src/components/inputs/slider.tsx +696 -0
- package/src/components/inputs/switch.spec.tsx +410 -0
- package/src/components/inputs/switch.tsx +218 -0
- package/src/components/inputs/text-area.spec.tsx +186 -171
- package/src/components/inputs/text-area.tsx +13 -19
- package/src/components/linear-progress.spec.tsx +320 -0
- package/src/components/linear-progress.tsx +127 -0
- package/src/components/list/index.ts +2 -0
- package/src/components/list/list-item.tsx +106 -0
- package/src/components/list/list.spec.tsx +817 -0
- package/src/components/list/list.tsx +92 -0
- package/src/components/loader.spec.tsx +220 -204
- package/src/components/loader.tsx +17 -9
- package/src/components/menu/index.ts +2 -0
- package/src/components/menu/menu-types.spec.ts +122 -0
- package/src/components/menu/menu-types.ts +43 -0
- package/src/components/menu/menu.spec.tsx +483 -0
- package/src/components/menu/menu.tsx +326 -0
- package/src/components/modal.spec.tsx +65 -55
- package/src/components/modal.tsx +9 -6
- package/src/components/noty-list.spec.tsx +78 -75
- package/src/components/noty-list.tsx +76 -68
- package/src/components/page-container/index.spec.tsx +274 -0
- package/src/components/page-container/index.tsx +82 -0
- package/src/components/page-container/page-header.spec.tsx +308 -0
- package/src/components/page-container/page-header.tsx +127 -0
- package/src/components/page-layout/index.spec.tsx +882 -0
- package/src/components/page-layout/index.tsx +392 -0
- package/src/components/pagination.spec.tsx +275 -0
- package/src/components/pagination.tsx +249 -0
- package/src/components/paper.spec.tsx +26 -18
- package/src/components/paper.tsx +12 -10
- package/src/components/rating.spec.tsx +866 -0
- package/src/components/rating.tsx +286 -0
- package/src/components/result.spec.tsx +221 -0
- package/src/components/result.tsx +155 -0
- package/src/components/searchable-input-styles.ts +81 -0
- package/src/components/skeleton.spec.tsx +126 -118
- package/src/components/skeleton.tsx +23 -6
- package/src/components/styles.spec.ts +27 -28
- package/src/components/styles.tsx +15 -13
- package/src/components/suggest/index.spec.tsx +611 -587
- package/src/components/suggest/index.tsx +28 -95
- package/src/components/suggest/suggest-input.spec.tsx +95 -81
- package/src/components/suggest/suggest-input.tsx +9 -7
- package/src/components/suggest/suggest-manager.spec.ts +103 -93
- package/src/components/suggest/suggestion-list.spec.tsx +194 -173
- package/src/components/suggest/suggestion-list.tsx +23 -22
- package/src/components/tabs.spec.tsx +369 -7
- package/src/components/tabs.tsx +221 -18
- package/src/components/timeline.spec.tsx +294 -0
- package/src/components/timeline.tsx +221 -0
- package/src/components/tooltip.spec.tsx +223 -0
- package/src/components/tooltip.tsx +155 -0
- package/src/components/tree/index.ts +2 -0
- package/src/components/tree/tree-item.tsx +161 -0
- package/src/components/tree/tree.spec.tsx +677 -0
- package/src/components/tree/tree.tsx +111 -0
- package/src/components/typography.spec.tsx +235 -0
- package/src/components/typography.tsx +292 -0
- package/src/components/wizard/index.spec.tsx +77 -68
- package/src/services/click-away-service.spec.ts +14 -16
- package/src/services/click-away-service.ts +9 -3
- package/src/services/css-variable-theme.spec.ts +169 -1
- package/src/services/css-variable-theme.ts +107 -2
- package/src/services/default-dark-theme.ts +89 -3
- package/src/services/default-light-theme.ts +88 -2
- package/src/services/index.ts +6 -2
- package/src/services/layout-service.spec.ts +535 -0
- package/src/services/layout-service.ts +391 -0
- package/src/services/list-service.spec.ts +362 -0
- package/src/services/list-service.ts +169 -0
- package/src/services/palette-css-vars.ts +46 -0
- package/src/services/theme-provider-service.ts +246 -1
- package/src/services/tree-service.spec.ts +412 -0
- package/src/services/tree-service.ts +179 -0
- package/src/utils/promisify-animation.ts +7 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Injector } from '@furystack/inject';
|
|
2
2
|
import { createComponent, initializeShadeRoot } from '@furystack/shades';
|
|
3
|
+
import { usingAsync } from '@furystack/utils';
|
|
3
4
|
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
|
|
4
5
|
import { Suggest } from './index.js';
|
|
5
6
|
describe('Suggest', () => {
|
|
@@ -54,461 +55,484 @@ describe('Suggest', () => {
|
|
|
54
55
|
});
|
|
55
56
|
describe('rendering', () => {
|
|
56
57
|
it('should render with shadow DOM', async () => {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
58
|
+
await usingAsync(new Injector(), async (injector) => {
|
|
59
|
+
const rootElement = document.getElementById('root');
|
|
60
|
+
const onSelectSuggestion = vi.fn();
|
|
61
|
+
initializeShadeRoot({
|
|
62
|
+
injector,
|
|
63
|
+
rootElement,
|
|
64
|
+
jsxElement: (createComponent(Suggest, { defaultPrefix: "\uD83D\uDD0D", getEntries: getTestEntries, getSuggestionEntry: getSuggestionEntry, onSelectSuggestion: onSelectSuggestion })),
|
|
65
|
+
});
|
|
66
|
+
await advanceTimers(50);
|
|
67
|
+
const suggest = document.querySelector('shade-suggest');
|
|
68
|
+
expect(suggest).not.toBeNull();
|
|
64
69
|
});
|
|
65
|
-
await advanceTimers(50);
|
|
66
|
-
const suggest = document.querySelector('shade-suggest');
|
|
67
|
-
expect(suggest).not.toBeNull();
|
|
68
70
|
});
|
|
69
71
|
it('should render the default prefix', async () => {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
72
|
+
await usingAsync(new Injector(), async (injector) => {
|
|
73
|
+
const rootElement = document.getElementById('root');
|
|
74
|
+
const onSelectSuggestion = vi.fn();
|
|
75
|
+
initializeShadeRoot({
|
|
76
|
+
injector,
|
|
77
|
+
rootElement,
|
|
78
|
+
jsxElement: (createComponent(Suggest, { defaultPrefix: "Search:", getEntries: getTestEntries, getSuggestionEntry: getSuggestionEntry, onSelectSuggestion: onSelectSuggestion })),
|
|
79
|
+
});
|
|
80
|
+
await advanceTimers(50);
|
|
81
|
+
const suggest = document.querySelector('shade-suggest');
|
|
82
|
+
const termIcon = suggest?.querySelector('.term-icon');
|
|
83
|
+
expect(termIcon?.textContent).toBe('Search:');
|
|
77
84
|
});
|
|
78
|
-
await advanceTimers(50);
|
|
79
|
-
const suggest = document.querySelector('shade-suggest');
|
|
80
|
-
const termIcon = suggest?.querySelector('.term-icon');
|
|
81
|
-
expect(termIcon?.textContent).toBe('Search:');
|
|
82
85
|
});
|
|
83
86
|
it('should render the input container', async () => {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
87
|
+
await usingAsync(new Injector(), async (injector) => {
|
|
88
|
+
const rootElement = document.getElementById('root');
|
|
89
|
+
const onSelectSuggestion = vi.fn();
|
|
90
|
+
initializeShadeRoot({
|
|
91
|
+
injector,
|
|
92
|
+
rootElement,
|
|
93
|
+
jsxElement: (createComponent(Suggest, { defaultPrefix: "\uD83D\uDD0D", getEntries: getTestEntries, getSuggestionEntry: getSuggestionEntry, onSelectSuggestion: onSelectSuggestion })),
|
|
94
|
+
});
|
|
95
|
+
await advanceTimers(50);
|
|
96
|
+
const suggest = document.querySelector('shade-suggest');
|
|
97
|
+
const inputContainer = suggest?.querySelector('.input-container');
|
|
98
|
+
expect(inputContainer).not.toBeNull();
|
|
91
99
|
});
|
|
92
|
-
await advanceTimers(50);
|
|
93
|
-
const suggest = document.querySelector('shade-suggest');
|
|
94
|
-
const inputContainer = suggest?.querySelector('.input-container');
|
|
95
|
-
expect(inputContainer).not.toBeNull();
|
|
96
100
|
});
|
|
97
101
|
it('should apply custom styles', async () => {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
102
|
+
await usingAsync(new Injector(), async (injector) => {
|
|
103
|
+
const rootElement = document.getElementById('root');
|
|
104
|
+
const onSelectSuggestion = vi.fn();
|
|
105
|
+
initializeShadeRoot({
|
|
106
|
+
injector,
|
|
107
|
+
rootElement,
|
|
108
|
+
jsxElement: (createComponent(Suggest, { defaultPrefix: "\uD83D\uDD0D", getEntries: getTestEntries, getSuggestionEntry: getSuggestionEntry, onSelectSuggestion: onSelectSuggestion, style: { backgroundColor: 'red' } })),
|
|
109
|
+
});
|
|
110
|
+
await advanceTimers(50);
|
|
111
|
+
const suggest = document.querySelector('shade-suggest');
|
|
112
|
+
const inputContainer = suggest?.querySelector('.input-container');
|
|
113
|
+
expect(inputContainer?.style.backgroundColor).toBe('red');
|
|
105
114
|
});
|
|
106
|
-
await advanceTimers(50);
|
|
107
|
-
const suggest = document.querySelector('shade-suggest');
|
|
108
|
-
const inputContainer = suggest?.querySelector('.input-container');
|
|
109
|
-
expect(inputContainer?.style.backgroundColor).toBe('red');
|
|
110
115
|
});
|
|
111
116
|
});
|
|
112
117
|
describe('keyboard navigation', () => {
|
|
113
118
|
it('should handle ArrowDown to move selection down', async () => {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
119
|
+
await usingAsync(new Injector(), async (injector) => {
|
|
120
|
+
const rootElement = document.getElementById('root');
|
|
121
|
+
const onSelectSuggestion = vi.fn();
|
|
122
|
+
initializeShadeRoot({
|
|
123
|
+
injector,
|
|
124
|
+
rootElement,
|
|
125
|
+
jsxElement: (createComponent(Suggest, { defaultPrefix: "\uD83D\uDD0D", getEntries: getTestEntries, getSuggestionEntry: getSuggestionEntry, onSelectSuggestion: onSelectSuggestion })),
|
|
126
|
+
});
|
|
127
|
+
await advanceTimers(50);
|
|
128
|
+
const suggest = document.querySelector('shade-suggest');
|
|
129
|
+
const wrapper = suggest?.querySelector('.suggest-wrapper');
|
|
130
|
+
const input = suggest?.querySelector('input');
|
|
131
|
+
input.value = 'test';
|
|
132
|
+
const keyupEvent = new KeyboardEvent('keyup', { key: 'a', bubbles: true });
|
|
133
|
+
Object.defineProperty(keyupEvent, 'target', { value: input });
|
|
134
|
+
wrapper?.dispatchEvent(keyupEvent);
|
|
135
|
+
await advanceTimers(300);
|
|
136
|
+
const arrowDownEvent = new KeyboardEvent('keyup', { key: 'ArrowDown', bubbles: true });
|
|
137
|
+
Object.defineProperty(arrowDownEvent, 'target', { value: input });
|
|
138
|
+
wrapper?.dispatchEvent(arrowDownEvent);
|
|
139
|
+
await advanceTimers(50);
|
|
140
|
+
const selectedItems = suggest?.querySelectorAll('.suggestion-item.selected');
|
|
141
|
+
expect(selectedItems?.length).toBeGreaterThanOrEqual(0);
|
|
121
142
|
});
|
|
122
|
-
await advanceTimers(50);
|
|
123
|
-
const suggest = document.querySelector('shade-suggest');
|
|
124
|
-
const wrapper = suggest?.querySelector('.suggest-wrapper');
|
|
125
|
-
const input = suggest?.querySelector('input');
|
|
126
|
-
input.value = 'test';
|
|
127
|
-
const keyupEvent = new KeyboardEvent('keyup', { key: 'a', bubbles: true });
|
|
128
|
-
Object.defineProperty(keyupEvent, 'target', { value: input });
|
|
129
|
-
wrapper?.dispatchEvent(keyupEvent);
|
|
130
|
-
await advanceTimers(300);
|
|
131
|
-
const arrowDownEvent = new KeyboardEvent('keyup', { key: 'ArrowDown', bubbles: true });
|
|
132
|
-
Object.defineProperty(arrowDownEvent, 'target', { value: input });
|
|
133
|
-
wrapper?.dispatchEvent(arrowDownEvent);
|
|
134
|
-
await advanceTimers(50);
|
|
135
|
-
const selectedItems = suggest?.querySelectorAll('.suggestion-item.selected');
|
|
136
|
-
expect(selectedItems?.length).toBeGreaterThanOrEqual(0);
|
|
137
143
|
});
|
|
138
144
|
it('should handle ArrowUp to move selection up', async () => {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
145
|
+
await usingAsync(new Injector(), async (injector) => {
|
|
146
|
+
const rootElement = document.getElementById('root');
|
|
147
|
+
const onSelectSuggestion = vi.fn();
|
|
148
|
+
initializeShadeRoot({
|
|
149
|
+
injector,
|
|
150
|
+
rootElement,
|
|
151
|
+
jsxElement: (createComponent(Suggest, { defaultPrefix: "\uD83D\uDD0D", getEntries: getTestEntries, getSuggestionEntry: getSuggestionEntry, onSelectSuggestion: onSelectSuggestion })),
|
|
152
|
+
});
|
|
153
|
+
await advanceTimers(50);
|
|
154
|
+
const suggest = document.querySelector('shade-suggest');
|
|
155
|
+
const wrapper = suggest?.querySelector('.suggest-wrapper');
|
|
156
|
+
const input = suggest?.querySelector('input');
|
|
157
|
+
input.value = 'test';
|
|
158
|
+
const keyupEvent = new KeyboardEvent('keyup', { key: 'a', bubbles: true });
|
|
159
|
+
Object.defineProperty(keyupEvent, 'target', { value: input });
|
|
160
|
+
wrapper?.dispatchEvent(keyupEvent);
|
|
161
|
+
await advanceTimers(300);
|
|
162
|
+
const arrowDownEvent = new KeyboardEvent('keyup', { key: 'ArrowDown', bubbles: true });
|
|
163
|
+
Object.defineProperty(arrowDownEvent, 'target', { value: input });
|
|
164
|
+
wrapper?.dispatchEvent(arrowDownEvent);
|
|
165
|
+
wrapper?.dispatchEvent(arrowDownEvent);
|
|
166
|
+
const arrowUpEvent = new KeyboardEvent('keyup', { key: 'ArrowUp', bubbles: true });
|
|
167
|
+
Object.defineProperty(arrowUpEvent, 'target', { value: input });
|
|
168
|
+
wrapper?.dispatchEvent(arrowUpEvent);
|
|
169
|
+
await advanceTimers(50);
|
|
170
|
+
expect(suggest).not.toBeNull();
|
|
146
171
|
});
|
|
147
|
-
await advanceTimers(50);
|
|
148
|
-
const suggest = document.querySelector('shade-suggest');
|
|
149
|
-
const wrapper = suggest?.querySelector('.suggest-wrapper');
|
|
150
|
-
const input = suggest?.querySelector('input');
|
|
151
|
-
input.value = 'test';
|
|
152
|
-
const keyupEvent = new KeyboardEvent('keyup', { key: 'a', bubbles: true });
|
|
153
|
-
Object.defineProperty(keyupEvent, 'target', { value: input });
|
|
154
|
-
wrapper?.dispatchEvent(keyupEvent);
|
|
155
|
-
await advanceTimers(300);
|
|
156
|
-
const arrowDownEvent = new KeyboardEvent('keyup', { key: 'ArrowDown', bubbles: true });
|
|
157
|
-
Object.defineProperty(arrowDownEvent, 'target', { value: input });
|
|
158
|
-
wrapper?.dispatchEvent(arrowDownEvent);
|
|
159
|
-
wrapper?.dispatchEvent(arrowDownEvent);
|
|
160
|
-
const arrowUpEvent = new KeyboardEvent('keyup', { key: 'ArrowUp', bubbles: true });
|
|
161
|
-
Object.defineProperty(arrowUpEvent, 'target', { value: input });
|
|
162
|
-
wrapper?.dispatchEvent(arrowUpEvent);
|
|
163
|
-
await advanceTimers(50);
|
|
164
|
-
expect(suggest).not.toBeNull();
|
|
165
172
|
});
|
|
166
173
|
it('should handle Enter to select current suggestion', async () => {
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
+
await usingAsync(new Injector(), async (injector) => {
|
|
175
|
+
const rootElement = document.getElementById('root');
|
|
176
|
+
const onSelectSuggestion = vi.fn();
|
|
177
|
+
initializeShadeRoot({
|
|
178
|
+
injector,
|
|
179
|
+
rootElement,
|
|
180
|
+
jsxElement: (createComponent(Suggest, { defaultPrefix: "\uD83D\uDD0D", getEntries: getTestEntries, getSuggestionEntry: getSuggestionEntry, onSelectSuggestion: onSelectSuggestion })),
|
|
181
|
+
});
|
|
182
|
+
await advanceTimers(50);
|
|
183
|
+
const suggest = document.querySelector('shade-suggest');
|
|
184
|
+
const wrapper = suggest?.querySelector('.suggest-wrapper');
|
|
185
|
+
const input = suggest?.querySelector('input');
|
|
186
|
+
input.value = 'First';
|
|
187
|
+
const keyupEvent = new KeyboardEvent('keyup', { key: 'a', bubbles: true });
|
|
188
|
+
Object.defineProperty(keyupEvent, 'target', { value: input });
|
|
189
|
+
wrapper?.dispatchEvent(keyupEvent);
|
|
190
|
+
await advanceTimers(300);
|
|
191
|
+
const enterEvent = new KeyboardEvent('keyup', { key: 'Enter', bubbles: true });
|
|
192
|
+
Object.defineProperty(enterEvent, 'target', { value: input });
|
|
193
|
+
wrapper?.dispatchEvent(enterEvent);
|
|
194
|
+
await advanceTimers(50);
|
|
195
|
+
expect(onSelectSuggestion).toHaveBeenCalled();
|
|
174
196
|
});
|
|
175
|
-
await advanceTimers(50);
|
|
176
|
-
const suggest = document.querySelector('shade-suggest');
|
|
177
|
-
const wrapper = suggest?.querySelector('.suggest-wrapper');
|
|
178
|
-
const input = suggest?.querySelector('input');
|
|
179
|
-
input.value = 'First';
|
|
180
|
-
const keyupEvent = new KeyboardEvent('keyup', { key: 'a', bubbles: true });
|
|
181
|
-
Object.defineProperty(keyupEvent, 'target', { value: input });
|
|
182
|
-
wrapper?.dispatchEvent(keyupEvent);
|
|
183
|
-
await advanceTimers(300);
|
|
184
|
-
const enterEvent = new KeyboardEvent('keyup', { key: 'Enter', bubbles: true });
|
|
185
|
-
Object.defineProperty(enterEvent, 'target', { value: input });
|
|
186
|
-
wrapper?.dispatchEvent(enterEvent);
|
|
187
|
-
await advanceTimers(50);
|
|
188
|
-
expect(onSelectSuggestion).toHaveBeenCalled();
|
|
189
197
|
});
|
|
190
198
|
it('should prevent default on Enter key', async () => {
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
199
|
+
await usingAsync(new Injector(), async (injector) => {
|
|
200
|
+
const rootElement = document.getElementById('root');
|
|
201
|
+
const onSelectSuggestion = vi.fn();
|
|
202
|
+
initializeShadeRoot({
|
|
203
|
+
injector,
|
|
204
|
+
rootElement,
|
|
205
|
+
jsxElement: (createComponent(Suggest, { defaultPrefix: "\uD83D\uDD0D", getEntries: getTestEntries, getSuggestionEntry: getSuggestionEntry, onSelectSuggestion: onSelectSuggestion })),
|
|
206
|
+
});
|
|
207
|
+
await advanceTimers(50);
|
|
208
|
+
const suggest = document.querySelector('shade-suggest');
|
|
209
|
+
const wrapper = suggest?.querySelector('.suggest-wrapper');
|
|
210
|
+
const input = suggest?.querySelector('input');
|
|
211
|
+
input.value = 'First';
|
|
212
|
+
const keyupEvent = new KeyboardEvent('keyup', { key: 'a', bubbles: true });
|
|
213
|
+
Object.defineProperty(keyupEvent, 'target', { value: input });
|
|
214
|
+
wrapper?.dispatchEvent(keyupEvent);
|
|
215
|
+
await advanceTimers(300);
|
|
216
|
+
const enterEvent = new KeyboardEvent('keyup', { key: 'Enter', bubbles: true, cancelable: true });
|
|
217
|
+
Object.defineProperty(enterEvent, 'target', { value: input });
|
|
218
|
+
const preventDefaultSpy = vi.spyOn(enterEvent, 'preventDefault');
|
|
219
|
+
wrapper?.dispatchEvent(enterEvent);
|
|
220
|
+
expect(preventDefaultSpy).toHaveBeenCalled();
|
|
198
221
|
});
|
|
199
|
-
await advanceTimers(50);
|
|
200
|
-
const suggest = document.querySelector('shade-suggest');
|
|
201
|
-
const wrapper = suggest?.querySelector('.suggest-wrapper');
|
|
202
|
-
const input = suggest?.querySelector('input');
|
|
203
|
-
input.value = 'First';
|
|
204
|
-
const keyupEvent = new KeyboardEvent('keyup', { key: 'a', bubbles: true });
|
|
205
|
-
Object.defineProperty(keyupEvent, 'target', { value: input });
|
|
206
|
-
wrapper?.dispatchEvent(keyupEvent);
|
|
207
|
-
await advanceTimers(300);
|
|
208
|
-
const enterEvent = new KeyboardEvent('keyup', { key: 'Enter', bubbles: true, cancelable: true });
|
|
209
|
-
Object.defineProperty(enterEvent, 'target', { value: input });
|
|
210
|
-
const preventDefaultSpy = vi.spyOn(enterEvent, 'preventDefault');
|
|
211
|
-
wrapper?.dispatchEvent(enterEvent);
|
|
212
|
-
expect(preventDefaultSpy).toHaveBeenCalled();
|
|
213
222
|
});
|
|
214
223
|
it('should prevent default on ArrowUp key', async () => {
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
224
|
+
await usingAsync(new Injector(), async (injector) => {
|
|
225
|
+
const rootElement = document.getElementById('root');
|
|
226
|
+
const onSelectSuggestion = vi.fn();
|
|
227
|
+
initializeShadeRoot({
|
|
228
|
+
injector,
|
|
229
|
+
rootElement,
|
|
230
|
+
jsxElement: (createComponent(Suggest, { defaultPrefix: "\uD83D\uDD0D", getEntries: getTestEntries, getSuggestionEntry: getSuggestionEntry, onSelectSuggestion: onSelectSuggestion })),
|
|
231
|
+
});
|
|
232
|
+
await advanceTimers(50);
|
|
233
|
+
const suggest = document.querySelector('shade-suggest');
|
|
234
|
+
const wrapper = suggest?.querySelector('.suggest-wrapper');
|
|
235
|
+
const input = suggest?.querySelector('input');
|
|
236
|
+
const arrowUpEvent = new KeyboardEvent('keyup', { key: 'ArrowUp', bubbles: true, cancelable: true });
|
|
237
|
+
Object.defineProperty(arrowUpEvent, 'target', { value: input });
|
|
238
|
+
const preventDefaultSpy = vi.spyOn(arrowUpEvent, 'preventDefault');
|
|
239
|
+
wrapper?.dispatchEvent(arrowUpEvent);
|
|
240
|
+
expect(preventDefaultSpy).toHaveBeenCalled();
|
|
222
241
|
});
|
|
223
|
-
await advanceTimers(50);
|
|
224
|
-
const suggest = document.querySelector('shade-suggest');
|
|
225
|
-
const wrapper = suggest?.querySelector('.suggest-wrapper');
|
|
226
|
-
const input = suggest?.querySelector('input');
|
|
227
|
-
const arrowUpEvent = new KeyboardEvent('keyup', { key: 'ArrowUp', bubbles: true, cancelable: true });
|
|
228
|
-
Object.defineProperty(arrowUpEvent, 'target', { value: input });
|
|
229
|
-
const preventDefaultSpy = vi.spyOn(arrowUpEvent, 'preventDefault');
|
|
230
|
-
wrapper?.dispatchEvent(arrowUpEvent);
|
|
231
|
-
expect(preventDefaultSpy).toHaveBeenCalled();
|
|
232
242
|
});
|
|
233
243
|
it('should prevent default on ArrowDown key', async () => {
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
244
|
+
await usingAsync(new Injector(), async (injector) => {
|
|
245
|
+
const rootElement = document.getElementById('root');
|
|
246
|
+
const onSelectSuggestion = vi.fn();
|
|
247
|
+
initializeShadeRoot({
|
|
248
|
+
injector,
|
|
249
|
+
rootElement,
|
|
250
|
+
jsxElement: (createComponent(Suggest, { defaultPrefix: "\uD83D\uDD0D", getEntries: getTestEntries, getSuggestionEntry: getSuggestionEntry, onSelectSuggestion: onSelectSuggestion })),
|
|
251
|
+
});
|
|
252
|
+
await advanceTimers(50);
|
|
253
|
+
const suggest = document.querySelector('shade-suggest');
|
|
254
|
+
const wrapper = suggest?.querySelector('.suggest-wrapper');
|
|
255
|
+
const input = suggest?.querySelector('input');
|
|
256
|
+
const arrowDownEvent = new KeyboardEvent('keyup', { key: 'ArrowDown', bubbles: true, cancelable: true });
|
|
257
|
+
Object.defineProperty(arrowDownEvent, 'target', { value: input });
|
|
258
|
+
const preventDefaultSpy = vi.spyOn(arrowDownEvent, 'preventDefault');
|
|
259
|
+
wrapper?.dispatchEvent(arrowDownEvent);
|
|
260
|
+
expect(preventDefaultSpy).toHaveBeenCalled();
|
|
241
261
|
});
|
|
242
|
-
await advanceTimers(50);
|
|
243
|
-
const suggest = document.querySelector('shade-suggest');
|
|
244
|
-
const wrapper = suggest?.querySelector('.suggest-wrapper');
|
|
245
|
-
const input = suggest?.querySelector('input');
|
|
246
|
-
const arrowDownEvent = new KeyboardEvent('keyup', { key: 'ArrowDown', bubbles: true, cancelable: true });
|
|
247
|
-
Object.defineProperty(arrowDownEvent, 'target', { value: input });
|
|
248
|
-
const preventDefaultSpy = vi.spyOn(arrowDownEvent, 'preventDefault');
|
|
249
|
-
wrapper?.dispatchEvent(arrowDownEvent);
|
|
250
|
-
expect(preventDefaultSpy).toHaveBeenCalled();
|
|
251
262
|
});
|
|
252
263
|
it('should not move selection below 0', async () => {
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
264
|
+
await usingAsync(new Injector(), async (injector) => {
|
|
265
|
+
const rootElement = document.getElementById('root');
|
|
266
|
+
const onSelectSuggestion = vi.fn();
|
|
267
|
+
initializeShadeRoot({
|
|
268
|
+
injector,
|
|
269
|
+
rootElement,
|
|
270
|
+
jsxElement: (createComponent(Suggest, { defaultPrefix: "\uD83D\uDD0D", getEntries: getTestEntries, getSuggestionEntry: getSuggestionEntry, onSelectSuggestion: onSelectSuggestion })),
|
|
271
|
+
});
|
|
272
|
+
await advanceTimers(50);
|
|
273
|
+
const suggest = document.querySelector('shade-suggest');
|
|
274
|
+
const wrapper = suggest?.querySelector('.suggest-wrapper');
|
|
275
|
+
const input = suggest?.querySelector('input');
|
|
276
|
+
for (let i = 0; i < 5; i++) {
|
|
277
|
+
const arrowUpEvent = new KeyboardEvent('keyup', { key: 'ArrowUp', bubbles: true });
|
|
278
|
+
Object.defineProperty(arrowUpEvent, 'target', { value: input });
|
|
279
|
+
wrapper?.dispatchEvent(arrowUpEvent);
|
|
280
|
+
}
|
|
281
|
+
await advanceTimers(50);
|
|
282
|
+
expect(suggest).not.toBeNull();
|
|
260
283
|
});
|
|
261
|
-
await advanceTimers(50);
|
|
262
|
-
const suggest = document.querySelector('shade-suggest');
|
|
263
|
-
const wrapper = suggest?.querySelector('.suggest-wrapper');
|
|
264
|
-
const input = suggest?.querySelector('input');
|
|
265
|
-
for (let i = 0; i < 5; i++) {
|
|
266
|
-
const arrowUpEvent = new KeyboardEvent('keyup', { key: 'ArrowUp', bubbles: true });
|
|
267
|
-
Object.defineProperty(arrowUpEvent, 'target', { value: input });
|
|
268
|
-
wrapper?.dispatchEvent(arrowUpEvent);
|
|
269
|
-
}
|
|
270
|
-
await advanceTimers(50);
|
|
271
|
-
expect(suggest).not.toBeNull();
|
|
272
284
|
});
|
|
273
285
|
});
|
|
274
286
|
describe('open/close behavior', () => {
|
|
275
287
|
it('should open when clicking term icon', async () => {
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
288
|
+
await usingAsync(new Injector(), async (injector) => {
|
|
289
|
+
const rootElement = document.getElementById('root');
|
|
290
|
+
const onSelectSuggestion = vi.fn();
|
|
291
|
+
initializeShadeRoot({
|
|
292
|
+
injector,
|
|
293
|
+
rootElement,
|
|
294
|
+
jsxElement: (createComponent(Suggest, { defaultPrefix: "\uD83D\uDD0D", getEntries: getTestEntries, getSuggestionEntry: getSuggestionEntry, onSelectSuggestion: onSelectSuggestion })),
|
|
295
|
+
});
|
|
296
|
+
await advanceTimers(50);
|
|
297
|
+
const suggest = document.querySelector('shade-suggest');
|
|
298
|
+
const termIcon = suggest?.querySelector('.term-icon');
|
|
299
|
+
termIcon?.click();
|
|
300
|
+
await advanceTimers(50);
|
|
301
|
+
expect(suggest?.hasAttribute('data-opened')).toBe(true);
|
|
283
302
|
});
|
|
284
|
-
await advanceTimers(50);
|
|
285
|
-
const suggest = document.querySelector('shade-suggest');
|
|
286
|
-
const termIcon = suggest?.querySelector('.term-icon');
|
|
287
|
-
termIcon?.click();
|
|
288
|
-
await advanceTimers(50);
|
|
289
|
-
expect(suggest?.classList.contains('opened')).toBe(true);
|
|
290
303
|
});
|
|
291
304
|
it('should close when clicking close button', async () => {
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
305
|
+
await usingAsync(new Injector(), async (injector) => {
|
|
306
|
+
const rootElement = document.getElementById('root');
|
|
307
|
+
const onSelectSuggestion = vi.fn();
|
|
308
|
+
initializeShadeRoot({
|
|
309
|
+
injector,
|
|
310
|
+
rootElement,
|
|
311
|
+
jsxElement: (createComponent(Suggest, { defaultPrefix: "\uD83D\uDD0D", getEntries: getTestEntries, getSuggestionEntry: getSuggestionEntry, onSelectSuggestion: onSelectSuggestion })),
|
|
312
|
+
});
|
|
313
|
+
await advanceTimers(50);
|
|
314
|
+
const suggest = document.querySelector('shade-suggest');
|
|
315
|
+
const termIcon = suggest?.querySelector('.term-icon');
|
|
316
|
+
termIcon?.click();
|
|
317
|
+
await advanceTimers(50);
|
|
318
|
+
const closeButton = suggest?.querySelector('.close-suggestions');
|
|
319
|
+
closeButton?.click();
|
|
320
|
+
await advanceTimers(50);
|
|
321
|
+
expect(suggest?.hasAttribute('data-opened')).toBe(false);
|
|
299
322
|
});
|
|
300
|
-
await advanceTimers(50);
|
|
301
|
-
const suggest = document.querySelector('shade-suggest');
|
|
302
|
-
const termIcon = suggest?.querySelector('.term-icon');
|
|
303
|
-
termIcon?.click();
|
|
304
|
-
await advanceTimers(50);
|
|
305
|
-
const closeButton = suggest?.querySelector('.close-suggestions');
|
|
306
|
-
closeButton?.click();
|
|
307
|
-
await advanceTimers(50);
|
|
308
|
-
expect(suggest?.classList.contains('opened')).toBe(false);
|
|
309
323
|
});
|
|
310
324
|
it('should trigger animation when opening', async () => {
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
325
|
+
await usingAsync(new Injector(), async (injector) => {
|
|
326
|
+
const rootElement = document.getElementById('root');
|
|
327
|
+
const onSelectSuggestion = vi.fn();
|
|
328
|
+
initializeShadeRoot({
|
|
329
|
+
injector,
|
|
330
|
+
rootElement,
|
|
331
|
+
jsxElement: (createComponent(Suggest, { defaultPrefix: "\uD83D\uDD0D", getEntries: getTestEntries, getSuggestionEntry: getSuggestionEntry, onSelectSuggestion: onSelectSuggestion })),
|
|
332
|
+
});
|
|
333
|
+
await advanceTimers(50);
|
|
334
|
+
const initialAnimationCount = animateCalls.length;
|
|
335
|
+
const suggest = document.querySelector('shade-suggest');
|
|
336
|
+
const termIcon = suggest?.querySelector('.term-icon');
|
|
337
|
+
termIcon?.click();
|
|
338
|
+
await advanceTimers(50);
|
|
339
|
+
expect(animateCalls.length).toBeGreaterThan(initialAnimationCount);
|
|
318
340
|
});
|
|
319
|
-
await advanceTimers(50);
|
|
320
|
-
const initialAnimationCount = animateCalls.length;
|
|
321
|
-
const suggest = document.querySelector('shade-suggest');
|
|
322
|
-
const termIcon = suggest?.querySelector('.term-icon');
|
|
323
|
-
termIcon?.click();
|
|
324
|
-
await advanceTimers(50);
|
|
325
|
-
expect(animateCalls.length).toBeGreaterThan(initialAnimationCount);
|
|
326
341
|
});
|
|
327
342
|
it('should trigger animation when closing', async () => {
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
343
|
+
await usingAsync(new Injector(), async (injector) => {
|
|
344
|
+
const rootElement = document.getElementById('root');
|
|
345
|
+
const onSelectSuggestion = vi.fn();
|
|
346
|
+
initializeShadeRoot({
|
|
347
|
+
injector,
|
|
348
|
+
rootElement,
|
|
349
|
+
jsxElement: (createComponent(Suggest, { defaultPrefix: "\uD83D\uDD0D", getEntries: getTestEntries, getSuggestionEntry: getSuggestionEntry, onSelectSuggestion: onSelectSuggestion })),
|
|
350
|
+
});
|
|
351
|
+
await advanceTimers(50);
|
|
352
|
+
const suggest = document.querySelector('shade-suggest');
|
|
353
|
+
const termIcon = suggest?.querySelector('.term-icon');
|
|
354
|
+
termIcon?.click();
|
|
355
|
+
await advanceTimers(50);
|
|
356
|
+
const animationCountAfterOpen = animateCalls.length;
|
|
357
|
+
const closeButton = suggest?.querySelector('.close-suggestions');
|
|
358
|
+
closeButton?.click();
|
|
359
|
+
await advanceTimers(50);
|
|
360
|
+
expect(animateCalls.length).toBeGreaterThan(animationCountAfterOpen);
|
|
335
361
|
});
|
|
336
|
-
await advanceTimers(50);
|
|
337
|
-
const suggest = document.querySelector('shade-suggest');
|
|
338
|
-
const termIcon = suggest?.querySelector('.term-icon');
|
|
339
|
-
termIcon?.click();
|
|
340
|
-
await advanceTimers(50);
|
|
341
|
-
const animationCountAfterOpen = animateCalls.length;
|
|
342
|
-
const closeButton = suggest?.querySelector('.close-suggestions');
|
|
343
|
-
closeButton?.click();
|
|
344
|
-
await advanceTimers(50);
|
|
345
|
-
expect(animateCalls.length).toBeGreaterThan(animationCountAfterOpen);
|
|
346
362
|
});
|
|
347
363
|
});
|
|
348
364
|
describe('suggestions loading', () => {
|
|
349
365
|
it('should fetch suggestions when typing', async () => {
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
366
|
+
await usingAsync(new Injector(), async (injector) => {
|
|
367
|
+
const rootElement = document.getElementById('root');
|
|
368
|
+
const onSelectSuggestion = vi.fn();
|
|
369
|
+
const getEntriesSpy = vi.fn(getTestEntries);
|
|
370
|
+
initializeShadeRoot({
|
|
371
|
+
injector,
|
|
372
|
+
rootElement,
|
|
373
|
+
jsxElement: (createComponent(Suggest, { defaultPrefix: "\uD83D\uDD0D", getEntries: getEntriesSpy, getSuggestionEntry: getSuggestionEntry, onSelectSuggestion: onSelectSuggestion })),
|
|
374
|
+
});
|
|
375
|
+
await advanceTimers(50);
|
|
376
|
+
const suggest = document.querySelector('shade-suggest');
|
|
377
|
+
const wrapper = suggest?.querySelector('.suggest-wrapper');
|
|
378
|
+
const input = suggest?.querySelector('input');
|
|
379
|
+
input.value = 'First';
|
|
380
|
+
const keyupEvent = new KeyboardEvent('keyup', { key: 'a', bubbles: true });
|
|
381
|
+
Object.defineProperty(keyupEvent, 'target', { value: input });
|
|
382
|
+
wrapper?.dispatchEvent(keyupEvent);
|
|
383
|
+
await advanceTimers(300);
|
|
384
|
+
expect(getEntriesSpy).toHaveBeenCalledWith('First');
|
|
358
385
|
});
|
|
359
|
-
await advanceTimers(50);
|
|
360
|
-
const suggest = document.querySelector('shade-suggest');
|
|
361
|
-
const wrapper = suggest?.querySelector('.suggest-wrapper');
|
|
362
|
-
const input = suggest?.querySelector('input');
|
|
363
|
-
input.value = 'First';
|
|
364
|
-
const keyupEvent = new KeyboardEvent('keyup', { key: 'a', bubbles: true });
|
|
365
|
-
Object.defineProperty(keyupEvent, 'target', { value: input });
|
|
366
|
-
wrapper?.dispatchEvent(keyupEvent);
|
|
367
|
-
await advanceTimers(300);
|
|
368
|
-
expect(getEntriesSpy).toHaveBeenCalledWith('First');
|
|
369
386
|
});
|
|
370
387
|
it('should show loader animation while loading', async () => {
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
388
|
+
await usingAsync(new Injector(), async (injector) => {
|
|
389
|
+
const rootElement = document.getElementById('root');
|
|
390
|
+
const onSelectSuggestion = vi.fn();
|
|
391
|
+
const resolveHolder = { resolve: null };
|
|
392
|
+
const slowGetEntries = () => new Promise((resolve) => {
|
|
393
|
+
resolveHolder.resolve = resolve;
|
|
394
|
+
});
|
|
395
|
+
initializeShadeRoot({
|
|
396
|
+
injector,
|
|
397
|
+
rootElement,
|
|
398
|
+
jsxElement: (createComponent(Suggest, { defaultPrefix: "\uD83D\uDD0D", getEntries: slowGetEntries, getSuggestionEntry: getSuggestionEntry, onSelectSuggestion: onSelectSuggestion })),
|
|
399
|
+
});
|
|
400
|
+
await advanceTimers(50);
|
|
401
|
+
const suggest = document.querySelector('shade-suggest');
|
|
402
|
+
const wrapper = suggest?.querySelector('.suggest-wrapper');
|
|
403
|
+
const input = suggest?.querySelector('input');
|
|
404
|
+
input.value = 'test';
|
|
405
|
+
const keyupEvent = new KeyboardEvent('keyup', { key: 'a', bubbles: true });
|
|
406
|
+
Object.defineProperty(keyupEvent, 'target', { value: input });
|
|
407
|
+
wrapper?.dispatchEvent(keyupEvent);
|
|
408
|
+
await advanceTimers(300);
|
|
409
|
+
const loader = suggest?.querySelector('shade-loader');
|
|
410
|
+
expect(loader).not.toBeNull();
|
|
411
|
+
resolveHolder.resolve?.(createTestEntries());
|
|
412
|
+
await advanceTimers(50);
|
|
382
413
|
});
|
|
383
|
-
await advanceTimers(50);
|
|
384
|
-
const suggest = document.querySelector('shade-suggest');
|
|
385
|
-
const wrapper = suggest?.querySelector('.suggest-wrapper');
|
|
386
|
-
const input = suggest?.querySelector('input');
|
|
387
|
-
input.value = 'test';
|
|
388
|
-
const keyupEvent = new KeyboardEvent('keyup', { key: 'a', bubbles: true });
|
|
389
|
-
Object.defineProperty(keyupEvent, 'target', { value: input });
|
|
390
|
-
wrapper?.dispatchEvent(keyupEvent);
|
|
391
|
-
await advanceTimers(300);
|
|
392
|
-
const loader = suggest?.querySelector('shade-loader');
|
|
393
|
-
expect(loader).not.toBeNull();
|
|
394
|
-
resolveHolder.resolve?.(createTestEntries());
|
|
395
|
-
await advanceTimers(50);
|
|
396
414
|
});
|
|
397
415
|
it('should render suggestions after loading', async () => {
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
416
|
+
await usingAsync(new Injector(), async (injector) => {
|
|
417
|
+
const rootElement = document.getElementById('root');
|
|
418
|
+
const onSelectSuggestion = vi.fn();
|
|
419
|
+
initializeShadeRoot({
|
|
420
|
+
injector,
|
|
421
|
+
rootElement,
|
|
422
|
+
jsxElement: (createComponent(Suggest, { defaultPrefix: "\uD83D\uDD0D", getEntries: getTestEntries, getSuggestionEntry: getSuggestionEntry, onSelectSuggestion: onSelectSuggestion })),
|
|
423
|
+
});
|
|
424
|
+
await advanceTimers(50);
|
|
425
|
+
const suggest = document.querySelector('shade-suggest');
|
|
426
|
+
const wrapper = suggest?.querySelector('.suggest-wrapper');
|
|
427
|
+
const input = suggest?.querySelector('input');
|
|
428
|
+
input.value = 'test';
|
|
429
|
+
const keyupEvent = new KeyboardEvent('keyup', { key: 'a', bubbles: true });
|
|
430
|
+
Object.defineProperty(keyupEvent, 'target', { value: input });
|
|
431
|
+
wrapper?.dispatchEvent(keyupEvent);
|
|
432
|
+
await advanceTimers(300);
|
|
433
|
+
const suggestionList = suggest?.querySelector('shade-suggest-suggestion-list');
|
|
434
|
+
expect(suggestionList).not.toBeNull();
|
|
405
435
|
});
|
|
406
|
-
await advanceTimers(50);
|
|
407
|
-
const suggest = document.querySelector('shade-suggest');
|
|
408
|
-
const wrapper = suggest?.querySelector('.suggest-wrapper');
|
|
409
|
-
const input = suggest?.querySelector('input');
|
|
410
|
-
input.value = 'test';
|
|
411
|
-
const keyupEvent = new KeyboardEvent('keyup', { key: 'a', bubbles: true });
|
|
412
|
-
Object.defineProperty(keyupEvent, 'target', { value: input });
|
|
413
|
-
wrapper?.dispatchEvent(keyupEvent);
|
|
414
|
-
await advanceTimers(300);
|
|
415
|
-
const suggestionList = suggest?.querySelector('shade-suggest-suggestion-list');
|
|
416
|
-
expect(suggestionList).not.toBeNull();
|
|
417
436
|
});
|
|
418
437
|
});
|
|
419
438
|
describe('suggestion selection', () => {
|
|
420
439
|
it('should call onSelectSuggestion when selecting via Enter', async () => {
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
440
|
+
await usingAsync(new Injector(), async (injector) => {
|
|
441
|
+
const rootElement = document.getElementById('root');
|
|
442
|
+
const onSelectSuggestion = vi.fn();
|
|
443
|
+
initializeShadeRoot({
|
|
444
|
+
injector,
|
|
445
|
+
rootElement,
|
|
446
|
+
jsxElement: (createComponent(Suggest, { defaultPrefix: "\uD83D\uDD0D", getEntries: getTestEntries, getSuggestionEntry: getSuggestionEntry, onSelectSuggestion: onSelectSuggestion })),
|
|
447
|
+
});
|
|
448
|
+
await advanceTimers(50);
|
|
449
|
+
const suggest = document.querySelector('shade-suggest');
|
|
450
|
+
const wrapper = suggest?.querySelector('.suggest-wrapper');
|
|
451
|
+
const input = suggest?.querySelector('input');
|
|
452
|
+
input.value = 'First';
|
|
453
|
+
const keyupEvent = new KeyboardEvent('keyup', { key: 'a', bubbles: true });
|
|
454
|
+
Object.defineProperty(keyupEvent, 'target', { value: input });
|
|
455
|
+
wrapper?.dispatchEvent(keyupEvent);
|
|
456
|
+
await advanceTimers(300);
|
|
457
|
+
const enterEvent = new KeyboardEvent('keyup', { key: 'Enter', bubbles: true });
|
|
458
|
+
Object.defineProperty(enterEvent, 'target', { value: input });
|
|
459
|
+
wrapper?.dispatchEvent(enterEvent);
|
|
460
|
+
await advanceTimers(50);
|
|
461
|
+
expect(onSelectSuggestion).toHaveBeenCalledWith(expect.objectContaining({ name: 'First' }));
|
|
428
462
|
});
|
|
429
|
-
await advanceTimers(50);
|
|
430
|
-
const suggest = document.querySelector('shade-suggest');
|
|
431
|
-
const wrapper = suggest?.querySelector('.suggest-wrapper');
|
|
432
|
-
const input = suggest?.querySelector('input');
|
|
433
|
-
input.value = 'First';
|
|
434
|
-
const keyupEvent = new KeyboardEvent('keyup', { key: 'a', bubbles: true });
|
|
435
|
-
Object.defineProperty(keyupEvent, 'target', { value: input });
|
|
436
|
-
wrapper?.dispatchEvent(keyupEvent);
|
|
437
|
-
await advanceTimers(300);
|
|
438
|
-
const enterEvent = new KeyboardEvent('keyup', { key: 'Enter', bubbles: true });
|
|
439
|
-
Object.defineProperty(enterEvent, 'target', { value: input });
|
|
440
|
-
wrapper?.dispatchEvent(enterEvent);
|
|
441
|
-
await advanceTimers(50);
|
|
442
|
-
expect(onSelectSuggestion).toHaveBeenCalledWith(expect.objectContaining({ name: 'First' }));
|
|
443
463
|
});
|
|
444
464
|
it('should close after selecting a suggestion', async () => {
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
465
|
+
await usingAsync(new Injector(), async (injector) => {
|
|
466
|
+
const rootElement = document.getElementById('root');
|
|
467
|
+
const onSelectSuggestion = vi.fn();
|
|
468
|
+
initializeShadeRoot({
|
|
469
|
+
injector,
|
|
470
|
+
rootElement,
|
|
471
|
+
jsxElement: (createComponent(Suggest, { defaultPrefix: "\uD83D\uDD0D", getEntries: getTestEntries, getSuggestionEntry: getSuggestionEntry, onSelectSuggestion: onSelectSuggestion })),
|
|
472
|
+
});
|
|
473
|
+
await advanceTimers(50);
|
|
474
|
+
const suggest = document.querySelector('shade-suggest');
|
|
475
|
+
const wrapper = suggest?.querySelector('.suggest-wrapper');
|
|
476
|
+
const input = suggest?.querySelector('input');
|
|
477
|
+
input.value = 'First';
|
|
478
|
+
const keyupEvent = new KeyboardEvent('keyup', { key: 'a', bubbles: true });
|
|
479
|
+
Object.defineProperty(keyupEvent, 'target', { value: input });
|
|
480
|
+
wrapper?.dispatchEvent(keyupEvent);
|
|
481
|
+
await advanceTimers(300);
|
|
482
|
+
expect(suggest?.hasAttribute('data-opened')).toBe(true);
|
|
483
|
+
const enterEvent = new KeyboardEvent('keyup', { key: 'Enter', bubbles: true });
|
|
484
|
+
Object.defineProperty(enterEvent, 'target', { value: input });
|
|
485
|
+
wrapper?.dispatchEvent(enterEvent);
|
|
486
|
+
await advanceTimers(50);
|
|
487
|
+
expect(suggest?.hasAttribute('data-opened')).toBe(false);
|
|
452
488
|
});
|
|
453
|
-
await advanceTimers(50);
|
|
454
|
-
const suggest = document.querySelector('shade-suggest');
|
|
455
|
-
const wrapper = suggest?.querySelector('.suggest-wrapper');
|
|
456
|
-
const input = suggest?.querySelector('input');
|
|
457
|
-
input.value = 'First';
|
|
458
|
-
const keyupEvent = new KeyboardEvent('keyup', { key: 'a', bubbles: true });
|
|
459
|
-
Object.defineProperty(keyupEvent, 'target', { value: input });
|
|
460
|
-
wrapper?.dispatchEvent(keyupEvent);
|
|
461
|
-
await advanceTimers(300);
|
|
462
|
-
expect(suggest?.classList.contains('opened')).toBe(true);
|
|
463
|
-
const enterEvent = new KeyboardEvent('keyup', { key: 'Enter', bubbles: true });
|
|
464
|
-
Object.defineProperty(enterEvent, 'target', { value: input });
|
|
465
|
-
wrapper?.dispatchEvent(enterEvent);
|
|
466
|
-
await advanceTimers(50);
|
|
467
|
-
expect(suggest?.classList.contains('opened')).toBe(false);
|
|
468
489
|
});
|
|
469
490
|
});
|
|
470
491
|
describe('sub-components', () => {
|
|
471
492
|
it('should render SuggestInput component', async () => {
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
493
|
+
await usingAsync(new Injector(), async (injector) => {
|
|
494
|
+
const rootElement = document.getElementById('root');
|
|
495
|
+
const onSelectSuggestion = vi.fn();
|
|
496
|
+
initializeShadeRoot({
|
|
497
|
+
injector,
|
|
498
|
+
rootElement,
|
|
499
|
+
jsxElement: (createComponent(Suggest, { defaultPrefix: "\uD83D\uDD0D", getEntries: getTestEntries, getSuggestionEntry: getSuggestionEntry, onSelectSuggestion: onSelectSuggestion })),
|
|
500
|
+
});
|
|
501
|
+
await advanceTimers(50);
|
|
502
|
+
const suggest = document.querySelector('shade-suggest');
|
|
503
|
+
const suggestInput = suggest?.querySelector('shades-suggest-input');
|
|
504
|
+
expect(suggestInput).not.toBeNull();
|
|
479
505
|
});
|
|
480
|
-
await advanceTimers(50);
|
|
481
|
-
const suggest = document.querySelector('shade-suggest');
|
|
482
|
-
const suggestInput = suggest?.querySelector('shades-suggest-input');
|
|
483
|
-
expect(suggestInput).not.toBeNull();
|
|
484
506
|
});
|
|
485
507
|
it('should render SuggestionList component', async () => {
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
508
|
+
await usingAsync(new Injector(), async (injector) => {
|
|
509
|
+
const rootElement = document.getElementById('root');
|
|
510
|
+
const onSelectSuggestion = vi.fn();
|
|
511
|
+
initializeShadeRoot({
|
|
512
|
+
injector,
|
|
513
|
+
rootElement,
|
|
514
|
+
jsxElement: (createComponent(Suggest, { defaultPrefix: "\uD83D\uDD0D", getEntries: getTestEntries, getSuggestionEntry: getSuggestionEntry, onSelectSuggestion: onSelectSuggestion })),
|
|
515
|
+
});
|
|
516
|
+
await advanceTimers(50);
|
|
517
|
+
const suggest = document.querySelector('shade-suggest');
|
|
518
|
+
const suggestionList = suggest?.querySelector('shade-suggest-suggestion-list');
|
|
519
|
+
expect(suggestionList).not.toBeNull();
|
|
493
520
|
});
|
|
494
|
-
await advanceTimers(50);
|
|
495
|
-
const suggest = document.querySelector('shade-suggest');
|
|
496
|
-
const suggestionList = suggest?.querySelector('shade-suggest-suggestion-list');
|
|
497
|
-
expect(suggestionList).not.toBeNull();
|
|
498
521
|
});
|
|
499
522
|
it('should render Loader component', async () => {
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
523
|
+
await usingAsync(new Injector(), async (injector) => {
|
|
524
|
+
const rootElement = document.getElementById('root');
|
|
525
|
+
const onSelectSuggestion = vi.fn();
|
|
526
|
+
initializeShadeRoot({
|
|
527
|
+
injector,
|
|
528
|
+
rootElement,
|
|
529
|
+
jsxElement: (createComponent(Suggest, { defaultPrefix: "\uD83D\uDD0D", getEntries: getTestEntries, getSuggestionEntry: getSuggestionEntry, onSelectSuggestion: onSelectSuggestion })),
|
|
530
|
+
});
|
|
531
|
+
await advanceTimers(50);
|
|
532
|
+
const suggest = document.querySelector('shade-suggest');
|
|
533
|
+
const loader = suggest?.querySelector('shade-loader');
|
|
534
|
+
expect(loader).not.toBeNull();
|
|
507
535
|
});
|
|
508
|
-
await advanceTimers(50);
|
|
509
|
-
const suggest = document.querySelector('shade-suggest');
|
|
510
|
-
const loader = suggest?.querySelector('shade-loader');
|
|
511
|
-
expect(loader).not.toBeNull();
|
|
512
536
|
});
|
|
513
537
|
});
|
|
514
538
|
});
|