@internetarchive/collection-browser 2.7.12 → 2.7.13
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/.editorconfig +29 -29
- package/.husky/pre-commit +4 -4
- package/LICENSE +661 -661
- package/README.md +83 -83
- package/dist/index.d.ts +13 -13
- package/dist/index.js +13 -13
- package/dist/src/app-root.d.ts +107 -107
- package/dist/src/app-root.js +531 -531
- package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
- package/dist/src/assets/img/icons/arrow-left.js +2 -2
- package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
- package/dist/src/assets/img/icons/arrow-right.js +2 -2
- package/dist/src/assets/img/icons/chevron.d.ts +2 -2
- package/dist/src/assets/img/icons/chevron.js +2 -2
- package/dist/src/assets/img/icons/contract.d.ts +2 -2
- package/dist/src/assets/img/icons/contract.js +2 -2
- package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
- package/dist/src/assets/img/icons/empty-query.js +2 -2
- package/dist/src/assets/img/icons/expand.d.ts +2 -2
- package/dist/src/assets/img/icons/expand.js +2 -2
- package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
- package/dist/src/assets/img/icons/eye-closed.js +2 -2
- package/dist/src/assets/img/icons/eye.d.ts +2 -2
- package/dist/src/assets/img/icons/eye.js +2 -2
- package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
- package/dist/src/assets/img/icons/favorite-filled.js +2 -2
- package/dist/src/assets/img/icons/favorite-unfilled.d.ts +1 -1
- package/dist/src/assets/img/icons/favorite-unfilled.js +2 -2
- package/dist/src/assets/img/icons/filter.d.ts +2 -2
- package/dist/src/assets/img/icons/filter.js +2 -2
- package/dist/src/assets/img/icons/login-required.d.ts +1 -1
- package/dist/src/assets/img/icons/login-required.js +2 -2
- package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/account.js +2 -2
- package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
- package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
- package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/data.js +2 -2
- package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
- package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/film.js +2 -2
- package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/images.js +2 -2
- package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
- package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/search.js +2 -2
- package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/software.js +2 -2
- package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
- package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
- package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/video.js +2 -2
- package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/web.js +2 -2
- package/dist/src/assets/img/icons/null-result.d.ts +2 -2
- package/dist/src/assets/img/icons/null-result.js +2 -2
- package/dist/src/assets/img/icons/restricted.d.ts +1 -1
- package/dist/src/assets/img/icons/restricted.js +2 -2
- package/dist/src/assets/img/icons/reviews.d.ts +1 -1
- package/dist/src/assets/img/icons/reviews.js +2 -2
- package/dist/src/assets/img/icons/upload.d.ts +1 -1
- package/dist/src/assets/img/icons/upload.js +2 -2
- package/dist/src/assets/img/icons/views.d.ts +1 -1
- package/dist/src/assets/img/icons/views.js +2 -2
- package/dist/src/circular-activity-indicator.d.ts +5 -5
- package/dist/src/circular-activity-indicator.js +17 -17
- package/dist/src/collection-browser.d.ts +606 -606
- package/dist/src/collection-browser.js +1677 -1677
- package/dist/src/collection-facets/facet-row.d.ts +30 -30
- package/dist/src/collection-facets/facet-row.js +118 -118
- package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
- package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
- package/dist/src/collection-facets/facets-template.d.ts +13 -13
- package/dist/src/collection-facets/facets-template.js +44 -44
- package/dist/src/collection-facets/more-facets-content.d.ts +106 -106
- package/dist/src/collection-facets/more-facets-content.js +407 -407
- package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
- package/dist/src/collection-facets/more-facets-pagination.js +196 -196
- package/dist/src/collection-facets/smart-facets/dedupe.d.ts +10 -10
- package/dist/src/collection-facets/smart-facets/dedupe.js +33 -33
- package/dist/src/collection-facets/smart-facets/heuristics/browser-language-heuristic.d.ts +5 -5
- package/dist/src/collection-facets/smart-facets/heuristics/browser-language-heuristic.js +23 -23
- package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.d.ts +5 -5
- package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.js +44 -44
- package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.d.ts +5 -5
- package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.js +172 -172
- package/dist/src/collection-facets/smart-facets/models.d.ts +26 -26
- package/dist/src/collection-facets/smart-facets/models.js +1 -1
- package/dist/src/collection-facets/smart-facets/smart-facet-bar.d.ts +31 -31
- package/dist/src/collection-facets/smart-facets/smart-facet-bar.js +240 -240
- package/dist/src/collection-facets/smart-facets/smart-facet-button.d.ts +11 -11
- package/dist/src/collection-facets/smart-facets/smart-facet-button.js +86 -86
- package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.d.ts +16 -16
- package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js +100 -100
- package/dist/src/collection-facets/smart-facets/smart-facet-equals.d.ts +2 -2
- package/dist/src/collection-facets/smart-facets/smart-facet-equals.js +12 -12
- package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.d.ts +5 -5
- package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js +15 -15
- package/dist/src/collection-facets/toggle-switch.d.ts +41 -41
- package/dist/src/collection-facets/toggle-switch.js +94 -94
- package/dist/src/collection-facets.d.ts +103 -103
- package/dist/src/collection-facets.js +522 -522
- package/dist/src/data-source/collection-browser-data-source-interface.d.ts +245 -245
- package/dist/src/data-source/collection-browser-data-source-interface.js +1 -1
- package/dist/src/data-source/collection-browser-data-source.d.ts +377 -377
- package/dist/src/data-source/collection-browser-data-source.js +1004 -1001
- package/dist/src/data-source/collection-browser-data-source.js.map +1 -1
- package/dist/src/data-source/collection-browser-query-state.d.ts +44 -44
- package/dist/src/data-source/collection-browser-query-state.js +1 -1
- package/dist/src/data-source/models.d.ts +28 -28
- package/dist/src/data-source/models.js +8 -8
- package/dist/src/empty-placeholder.d.ts +23 -23
- package/dist/src/empty-placeholder.js +79 -79
- package/dist/src/expanded-date-picker.d.ts +43 -43
- package/dist/src/expanded-date-picker.js +109 -109
- package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
- package/dist/src/language-code-handler/language-code-handler.js +26 -26
- package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
- package/dist/src/language-code-handler/language-code-mapping.js +562 -562
- package/dist/src/manage/manage-bar.d.ts +58 -58
- package/dist/src/manage/manage-bar.js +159 -159
- package/dist/src/manage/remove-items-modal-content.d.ts +9 -9
- package/dist/src/manage/remove-items-modal-content.js +34 -34
- package/dist/src/mediatype/mediatype-config.d.ts +3 -3
- package/dist/src/mediatype/mediatype-config.js +91 -91
- package/dist/src/models.d.ts +228 -228
- package/dist/src/models.js +401 -401
- package/dist/src/restoration-state-handler.d.ts +70 -70
- package/dist/src/restoration-state-handler.js +363 -363
- package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
- package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
- package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
- package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
- package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/compact.js +2 -2
- package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/list.js +2 -2
- package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
- package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
- package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
- package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
- package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/tile.js +2 -2
- package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +223 -223
- package/dist/src/sort-filter-bar/sort-filter-bar.js +697 -697
- package/dist/src/styles/ia-button.d.ts +2 -2
- package/dist/src/styles/ia-button.js +17 -17
- package/dist/src/styles/item-image-styles.d.ts +8 -8
- package/dist/src/styles/item-image-styles.js +9 -9
- package/dist/src/styles/sr-only.d.ts +1 -1
- package/dist/src/styles/sr-only.js +2 -2
- package/dist/src/tiles/base-tile-component.d.ts +19 -19
- package/dist/src/tiles/base-tile-component.js +64 -64
- package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
- package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
- package/dist/src/tiles/grid/account-tile.d.ts +18 -18
- package/dist/src/tiles/grid/account-tile.js +72 -72
- package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
- package/dist/src/tiles/grid/collection-tile.js +80 -80
- package/dist/src/tiles/grid/item-tile.d.ts +34 -34
- package/dist/src/tiles/grid/item-tile.js +158 -158
- package/dist/src/tiles/grid/search-tile.d.ts +10 -10
- package/dist/src/tiles/grid/search-tile.js +51 -51
- package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
- package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
- package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
- package/dist/src/tiles/grid/tile-stats.js +53 -53
- package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
- package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
- package/dist/src/tiles/hover/tile-hover-pane.d.ts +18 -18
- package/dist/src/tiles/hover/tile-hover-pane.js +69 -69
- package/dist/src/tiles/image-block.d.ts +18 -18
- package/dist/src/tiles/image-block.js +89 -89
- package/dist/src/tiles/item-image.d.ts +39 -39
- package/dist/src/tiles/item-image.js +154 -154
- package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
- package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
- package/dist/src/tiles/list/tile-list-compact.d.ts +19 -19
- package/dist/src/tiles/list/tile-list-compact.js +122 -122
- package/dist/src/tiles/list/tile-list.d.ts +54 -54
- package/dist/src/tiles/list/tile-list.js +323 -323
- package/dist/src/tiles/mediatype-icon.d.ts +9 -9
- package/dist/src/tiles/mediatype-icon.js +47 -47
- package/dist/src/tiles/overlay/icon-overlay.d.ts +8 -8
- package/dist/src/tiles/overlay/icon-overlay.js +25 -25
- package/dist/src/tiles/overlay/text-overlay.d.ts +9 -9
- package/dist/src/tiles/overlay/text-overlay.js +31 -31
- package/dist/src/tiles/review-block.d.ts +12 -12
- package/dist/src/tiles/review-block.js +56 -56
- package/dist/src/tiles/text-snippet-block.d.ts +27 -27
- package/dist/src/tiles/text-snippet-block.js +73 -73
- package/dist/src/tiles/tile-dispatcher.d.ts +64 -64
- package/dist/src/tiles/tile-dispatcher.js +230 -230
- package/dist/src/tiles/tile-display-value-provider.d.ts +47 -47
- package/dist/src/tiles/tile-display-value-provider.js +94 -94
- package/dist/src/utils/analytics-events.d.ts +28 -28
- package/dist/src/utils/analytics-events.js +30 -30
- package/dist/src/utils/array-equals.d.ts +4 -4
- package/dist/src/utils/array-equals.js +10 -10
- package/dist/src/utils/collapse-repeated-quotes.d.ts +11 -11
- package/dist/src/utils/collapse-repeated-quotes.js +13 -13
- package/dist/src/utils/facet-utils.d.ts +83 -83
- package/dist/src/utils/facet-utils.js +145 -145
- package/dist/src/utils/format-count.d.ts +7 -7
- package/dist/src/utils/format-count.js +76 -76
- package/dist/src/utils/format-date.d.ts +2 -2
- package/dist/src/utils/format-date.js +27 -27
- package/dist/src/utils/format-unit-size.d.ts +2 -2
- package/dist/src/utils/format-unit-size.js +33 -33
- package/dist/src/utils/local-date-from-utc.d.ts +9 -9
- package/dist/src/utils/local-date-from-utc.js +15 -15
- package/dist/src/utils/log.d.ts +7 -7
- package/dist/src/utils/log.js +15 -15
- package/dist/src/utils/resolve-mediatype.d.ts +8 -8
- package/dist/src/utils/resolve-mediatype.js +23 -23
- package/dist/src/utils/sha1.d.ts +2 -2
- package/dist/src/utils/sha1.js +8 -8
- package/dist/test/collection-browser.test.d.ts +1 -1
- package/dist/test/collection-browser.test.js +1308 -1308
- package/dist/test/collection-facets/facet-row.test.d.ts +1 -1
- package/dist/test/collection-facets/facet-row.test.js +227 -227
- package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
- package/dist/test/collection-facets/facets-template.test.js +91 -91
- package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
- package/dist/test/collection-facets/more-facets-content.test.js +141 -141
- package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
- package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
- package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
- package/dist/test/collection-facets/toggle-switch.test.js +73 -73
- package/dist/test/collection-facets.test.d.ts +2 -2
- package/dist/test/collection-facets.test.js +690 -690
- package/dist/test/data-source/collection-browser-data-source.test.d.ts +1 -1
- package/dist/test/data-source/collection-browser-data-source.test.js +89 -89
- package/dist/test/empty-placeholder.test.d.ts +1 -1
- package/dist/test/empty-placeholder.test.js +63 -63
- package/dist/test/expanded-date-picker.test.d.ts +1 -1
- package/dist/test/expanded-date-picker.test.js +95 -95
- package/dist/test/icon-overlay.test.d.ts +1 -1
- package/dist/test/icon-overlay.test.js +24 -24
- package/dist/test/image-block.test.d.ts +1 -1
- package/dist/test/image-block.test.js +107 -107
- package/dist/test/item-image.test.d.ts +1 -1
- package/dist/test/item-image.test.js +85 -85
- package/dist/test/manage/manage-bar.test.d.ts +2 -2
- package/dist/test/manage/manage-bar.test.js +100 -100
- package/dist/test/manage/remove-items-modal-content.test.d.ts +1 -1
- package/dist/test/manage/remove-items-modal-content.test.js +45 -45
- package/dist/test/mediatype-config.test.d.ts +1 -1
- package/dist/test/mediatype-config.test.js +16 -16
- package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
- package/dist/test/mocks/mock-analytics-handler.js +15 -15
- package/dist/test/mocks/mock-search-responses.d.ts +25 -25
- package/dist/test/mocks/mock-search-responses.js +942 -942
- package/dist/test/mocks/mock-search-service.d.ts +15 -15
- package/dist/test/mocks/mock-search-service.js +54 -54
- package/dist/test/restoration-state-handler.test.d.ts +1 -1
- package/dist/test/restoration-state-handler.test.js +270 -270
- package/dist/test/review-block.test.d.ts +1 -1
- package/dist/test/review-block.test.js +44 -44
- package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
- package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
- package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
- package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
- package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
- package/dist/test/sort-filter-bar/sort-filter-bar.test.js +426 -426
- package/dist/test/text-overlay.test.d.ts +1 -1
- package/dist/test/text-overlay.test.js +38 -38
- package/dist/test/text-snippet-block.test.d.ts +1 -1
- package/dist/test/text-snippet-block.test.js +57 -57
- package/dist/test/tile-stats.test.d.ts +1 -1
- package/dist/test/tile-stats.test.js +81 -81
- package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/account-tile.test.js +76 -76
- package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/collection-tile.test.js +73 -73
- package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/item-tile.test.js +312 -312
- package/dist/test/tiles/grid/search-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/search-tile.test.js +51 -51
- package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
- package/dist/test/tiles/hover/hover-pane-controller.test.js +259 -259
- package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
- package/dist/test/tiles/hover/tile-hover-pane.test.js +56 -56
- package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
- package/dist/test/tiles/list/tile-list-compact.test.js +143 -143
- package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
- package/dist/test/tiles/list/tile-list.test.js +297 -297
- package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
- package/dist/test/tiles/tile-dispatcher.test.js +100 -100
- package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
- package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
- package/dist/test/utils/array-equals.test.d.ts +1 -1
- package/dist/test/utils/array-equals.test.js +26 -26
- package/dist/test/utils/format-count.test.d.ts +1 -1
- package/dist/test/utils/format-count.test.js +23 -23
- package/dist/test/utils/format-date.test.d.ts +1 -1
- package/dist/test/utils/format-date.test.js +30 -30
- package/dist/test/utils/format-unit-size.test.d.ts +1 -1
- package/dist/test/utils/format-unit-size.test.js +17 -17
- package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
- package/dist/test/utils/local-date-from-utc.test.js +26 -26
- package/local.archive.org.cert +86 -86
- package/local.archive.org.key +27 -27
- package/package.json +1 -1
- package/renovate.json +6 -6
- package/src/data-source/collection-browser-data-source.ts +5 -1
- package/web-dev-server.config.mjs +30 -30
- package/web-test-runner.config.mjs +41 -41
|
@@ -1,281 +1,281 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { expect, fixture } from '@open-wc/testing';
|
|
3
|
-
import { html, LitElement, nothing } from 'lit';
|
|
4
|
-
import { customElement, property, query } from 'lit/decorators.js';
|
|
5
|
-
import { HoverPaneController, } from '../../../src/tiles/hover/hover-pane-controller';
|
|
6
|
-
import { TileModel } from '../../../src/models';
|
|
7
|
-
let HostElement = class HostElement extends LitElement {
|
|
8
|
-
constructor() {
|
|
9
|
-
super(...arguments);
|
|
10
|
-
this.suppressHoverPane = false;
|
|
11
|
-
}
|
|
12
|
-
render() {
|
|
13
|
-
var _a;
|
|
14
|
-
return html ` ${(_a = this.controller) === null || _a === void 0 ? void 0 : _a.getTemplate()} `;
|
|
15
|
-
}
|
|
16
|
-
firstUpdated() {
|
|
17
|
-
this.controller = new HoverPaneController(this, this.controllerOptions);
|
|
18
|
-
}
|
|
19
|
-
getHoverPane() {
|
|
20
|
-
return this.suppressHoverPane ? undefined : this.hoverPane;
|
|
21
|
-
}
|
|
22
|
-
getHoverPaneProps() {
|
|
23
|
-
const tileModel = new TileModel({});
|
|
24
|
-
tileModel.checked = false;
|
|
25
|
-
tileModel.collectionFilesCount = 1;
|
|
26
|
-
tileModel.collections = ['foo', 'bar'];
|
|
27
|
-
tileModel.collectionSize = 1;
|
|
28
|
-
tileModel.commentCount = 1;
|
|
29
|
-
tileModel.contentWarning = false;
|
|
30
|
-
tileModel.creators = ['foo', 'bar'];
|
|
31
|
-
tileModel.favCount = 1;
|
|
32
|
-
tileModel.identifier = 'foo';
|
|
33
|
-
tileModel.itemCount = 1;
|
|
34
|
-
tileModel.loginRequired = false;
|
|
35
|
-
tileModel.mediatype = 'data';
|
|
36
|
-
tileModel.subjects = ['foo', 'bar'];
|
|
37
|
-
tileModel.title = 'foo';
|
|
38
|
-
tileModel.viewCount = 1;
|
|
39
|
-
return {
|
|
40
|
-
model: tileModel,
|
|
41
|
-
loggedIn: false,
|
|
42
|
-
sortParam: null,
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
__decorate([
|
|
47
|
-
property({ type: Object })
|
|
48
|
-
], HostElement.prototype, "controllerOptions", void 0);
|
|
49
|
-
__decorate([
|
|
50
|
-
property({ type: Boolean })
|
|
51
|
-
], HostElement.prototype, "suppressHoverPane", void 0);
|
|
52
|
-
__decorate([
|
|
53
|
-
query('tile-hover-pane')
|
|
54
|
-
], HostElement.prototype, "hoverPane", void 0);
|
|
55
|
-
HostElement = __decorate([
|
|
56
|
-
customElement('host-element')
|
|
57
|
-
], HostElement);
|
|
58
|
-
describe('Hover Pane Controller', () => {
|
|
59
|
-
let oldMatchMedia;
|
|
60
|
-
let oldOnTouchStart;
|
|
61
|
-
before(() => {
|
|
62
|
-
oldMatchMedia = window.matchMedia;
|
|
63
|
-
oldOnTouchStart = window.ontouchstart;
|
|
64
|
-
window.matchMedia = () => ({ matches: true });
|
|
65
|
-
window.ontouchstart = () => { };
|
|
66
|
-
});
|
|
67
|
-
after(() => {
|
|
68
|
-
window.matchMedia = oldMatchMedia;
|
|
69
|
-
window.ontouchstart = oldOnTouchStart;
|
|
70
|
-
});
|
|
71
|
-
it('should initially provide empty template', async () => {
|
|
72
|
-
var _a;
|
|
73
|
-
const host = await fixture(html `<host-element></host-element>`);
|
|
74
|
-
expect((_a = host.controller) === null || _a === void 0 ? void 0 : _a.getTemplate()).to.equal(nothing);
|
|
75
|
-
});
|
|
76
|
-
it('should produce a hover pane template after mousemove, and hide it after mouseleave', async () => {
|
|
77
|
-
var _a, _b;
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { expect, fixture } from '@open-wc/testing';
|
|
3
|
+
import { html, LitElement, nothing } from 'lit';
|
|
4
|
+
import { customElement, property, query } from 'lit/decorators.js';
|
|
5
|
+
import { HoverPaneController, } from '../../../src/tiles/hover/hover-pane-controller';
|
|
6
|
+
import { TileModel } from '../../../src/models';
|
|
7
|
+
let HostElement = class HostElement extends LitElement {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this.suppressHoverPane = false;
|
|
11
|
+
}
|
|
12
|
+
render() {
|
|
13
|
+
var _a;
|
|
14
|
+
return html ` ${(_a = this.controller) === null || _a === void 0 ? void 0 : _a.getTemplate()} `;
|
|
15
|
+
}
|
|
16
|
+
firstUpdated() {
|
|
17
|
+
this.controller = new HoverPaneController(this, this.controllerOptions);
|
|
18
|
+
}
|
|
19
|
+
getHoverPane() {
|
|
20
|
+
return this.suppressHoverPane ? undefined : this.hoverPane;
|
|
21
|
+
}
|
|
22
|
+
getHoverPaneProps() {
|
|
23
|
+
const tileModel = new TileModel({});
|
|
24
|
+
tileModel.checked = false;
|
|
25
|
+
tileModel.collectionFilesCount = 1;
|
|
26
|
+
tileModel.collections = ['foo', 'bar'];
|
|
27
|
+
tileModel.collectionSize = 1;
|
|
28
|
+
tileModel.commentCount = 1;
|
|
29
|
+
tileModel.contentWarning = false;
|
|
30
|
+
tileModel.creators = ['foo', 'bar'];
|
|
31
|
+
tileModel.favCount = 1;
|
|
32
|
+
tileModel.identifier = 'foo';
|
|
33
|
+
tileModel.itemCount = 1;
|
|
34
|
+
tileModel.loginRequired = false;
|
|
35
|
+
tileModel.mediatype = 'data';
|
|
36
|
+
tileModel.subjects = ['foo', 'bar'];
|
|
37
|
+
tileModel.title = 'foo';
|
|
38
|
+
tileModel.viewCount = 1;
|
|
39
|
+
return {
|
|
40
|
+
model: tileModel,
|
|
41
|
+
loggedIn: false,
|
|
42
|
+
sortParam: null,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
__decorate([
|
|
47
|
+
property({ type: Object })
|
|
48
|
+
], HostElement.prototype, "controllerOptions", void 0);
|
|
49
|
+
__decorate([
|
|
50
|
+
property({ type: Boolean })
|
|
51
|
+
], HostElement.prototype, "suppressHoverPane", void 0);
|
|
52
|
+
__decorate([
|
|
53
|
+
query('tile-hover-pane')
|
|
54
|
+
], HostElement.prototype, "hoverPane", void 0);
|
|
55
|
+
HostElement = __decorate([
|
|
56
|
+
customElement('host-element')
|
|
57
|
+
], HostElement);
|
|
58
|
+
describe('Hover Pane Controller', () => {
|
|
59
|
+
let oldMatchMedia;
|
|
60
|
+
let oldOnTouchStart;
|
|
61
|
+
before(() => {
|
|
62
|
+
oldMatchMedia = window.matchMedia;
|
|
63
|
+
oldOnTouchStart = window.ontouchstart;
|
|
64
|
+
window.matchMedia = () => ({ matches: true });
|
|
65
|
+
window.ontouchstart = () => { };
|
|
66
|
+
});
|
|
67
|
+
after(() => {
|
|
68
|
+
window.matchMedia = oldMatchMedia;
|
|
69
|
+
window.ontouchstart = oldOnTouchStart;
|
|
70
|
+
});
|
|
71
|
+
it('should initially provide empty template', async () => {
|
|
72
|
+
var _a;
|
|
73
|
+
const host = await fixture(html `<host-element></host-element>`);
|
|
74
|
+
expect((_a = host.controller) === null || _a === void 0 ? void 0 : _a.getTemplate()).to.equal(nothing);
|
|
75
|
+
});
|
|
76
|
+
it('should produce a hover pane template after mousemove, and hide it after mouseleave', async () => {
|
|
77
|
+
var _a, _b;
|
|
78
78
|
const host = await fixture(html `<host-element
|
|
79
79
|
.controllerOptions=${{ showDelay: 0, hideDelay: 0 }}
|
|
80
|
-
></host-element>`);
|
|
81
|
-
host.dispatchEvent(new MouseEvent('mousemove'));
|
|
82
|
-
// Need to wait a tick for the event handlers to run
|
|
83
|
-
await new Promise(resolve => {
|
|
84
|
-
setTimeout(resolve, 0);
|
|
85
|
-
});
|
|
86
|
-
expect((_a = host.controller) === null || _a === void 0 ? void 0 : _a.getTemplate()).not.to.equal(nothing); // Is a TemplateResult
|
|
87
|
-
host.dispatchEvent(new MouseEvent('mouseleave'));
|
|
88
|
-
// Need to wait for the fade out transition
|
|
89
|
-
await new Promise(resolve => {
|
|
90
|
-
setTimeout(resolve, 150);
|
|
91
|
-
});
|
|
92
|
-
expect((_b = host.controller) === null || _b === void 0 ? void 0 : _b.getTemplate()).to.equal(nothing);
|
|
93
|
-
});
|
|
94
|
-
it('should produce a hover pane template after mouseenter, even without mousemove', async () => {
|
|
95
|
-
var _a;
|
|
80
|
+
></host-element>`);
|
|
81
|
+
host.dispatchEvent(new MouseEvent('mousemove'));
|
|
82
|
+
// Need to wait a tick for the event handlers to run
|
|
83
|
+
await new Promise(resolve => {
|
|
84
|
+
setTimeout(resolve, 0);
|
|
85
|
+
});
|
|
86
|
+
expect((_a = host.controller) === null || _a === void 0 ? void 0 : _a.getTemplate()).not.to.equal(nothing); // Is a TemplateResult
|
|
87
|
+
host.dispatchEvent(new MouseEvent('mouseleave'));
|
|
88
|
+
// Need to wait for the fade out transition
|
|
89
|
+
await new Promise(resolve => {
|
|
90
|
+
setTimeout(resolve, 150);
|
|
91
|
+
});
|
|
92
|
+
expect((_b = host.controller) === null || _b === void 0 ? void 0 : _b.getTemplate()).to.equal(nothing);
|
|
93
|
+
});
|
|
94
|
+
it('should produce a hover pane template after mouseenter, even without mousemove', async () => {
|
|
95
|
+
var _a;
|
|
96
96
|
const host = await fixture(html `<host-element
|
|
97
97
|
.controllerOptions=${{ showDelay: 0, hideDelay: 0 }}
|
|
98
|
-
></host-element>`);
|
|
99
|
-
host.dispatchEvent(new MouseEvent('mouseenter'));
|
|
100
|
-
// Need to wait a tick for the event handlers to run
|
|
101
|
-
await new Promise(resolve => {
|
|
102
|
-
setTimeout(resolve, 0);
|
|
103
|
-
});
|
|
104
|
-
expect((_a = host.controller) === null || _a === void 0 ? void 0 : _a.getTemplate()).not.to.equal(nothing); // Is a TemplateResult
|
|
105
|
-
});
|
|
106
|
-
it('should immediately fade back in if mouse enters while fading out', async () => {
|
|
107
|
-
var _a;
|
|
98
|
+
></host-element>`);
|
|
99
|
+
host.dispatchEvent(new MouseEvent('mouseenter'));
|
|
100
|
+
// Need to wait a tick for the event handlers to run
|
|
101
|
+
await new Promise(resolve => {
|
|
102
|
+
setTimeout(resolve, 0);
|
|
103
|
+
});
|
|
104
|
+
expect((_a = host.controller) === null || _a === void 0 ? void 0 : _a.getTemplate()).not.to.equal(nothing); // Is a TemplateResult
|
|
105
|
+
});
|
|
106
|
+
it('should immediately fade back in if mouse enters while fading out', async () => {
|
|
107
|
+
var _a;
|
|
108
108
|
const host = await fixture(html `<host-element
|
|
109
109
|
.controllerOptions=${{ showDelay: 0, hideDelay: 0 }}
|
|
110
|
-
></host-element>`);
|
|
111
|
-
// Enter the host element and wait for the show handlers to run
|
|
112
|
-
host.dispatchEvent(new MouseEvent('mousemove'));
|
|
113
|
-
await new Promise(resolve => {
|
|
114
|
-
setTimeout(resolve, 0);
|
|
115
|
-
});
|
|
116
|
-
// Leave the host element so it begins fading out, but not all the way
|
|
117
|
-
host.dispatchEvent(new MouseEvent('mouseleave'));
|
|
118
|
-
await new Promise(resolve => {
|
|
119
|
-
setTimeout(resolve, 20);
|
|
120
|
-
});
|
|
121
|
-
// Re-enter the host element and wait long enough that it would disappear
|
|
122
|
-
// if the hide were not cancelled
|
|
123
|
-
host.dispatchEvent(new MouseEvent('mousemove'));
|
|
124
|
-
await new Promise(resolve => {
|
|
125
|
-
setTimeout(resolve, 150);
|
|
126
|
-
});
|
|
127
|
-
expect((_a = host.controller) === null || _a === void 0 ? void 0 : _a.getTemplate()).not.to.equal(nothing);
|
|
128
|
-
});
|
|
129
|
-
it('should flip hover pane if it would overflow the viewport', async () => {
|
|
130
|
-
var _a, _b, _c, _d, _e;
|
|
110
|
+
></host-element>`);
|
|
111
|
+
// Enter the host element and wait for the show handlers to run
|
|
112
|
+
host.dispatchEvent(new MouseEvent('mousemove'));
|
|
113
|
+
await new Promise(resolve => {
|
|
114
|
+
setTimeout(resolve, 0);
|
|
115
|
+
});
|
|
116
|
+
// Leave the host element so it begins fading out, but not all the way
|
|
117
|
+
host.dispatchEvent(new MouseEvent('mouseleave'));
|
|
118
|
+
await new Promise(resolve => {
|
|
119
|
+
setTimeout(resolve, 20);
|
|
120
|
+
});
|
|
121
|
+
// Re-enter the host element and wait long enough that it would disappear
|
|
122
|
+
// if the hide were not cancelled
|
|
123
|
+
host.dispatchEvent(new MouseEvent('mousemove'));
|
|
124
|
+
await new Promise(resolve => {
|
|
125
|
+
setTimeout(resolve, 150);
|
|
126
|
+
});
|
|
127
|
+
expect((_a = host.controller) === null || _a === void 0 ? void 0 : _a.getTemplate()).not.to.equal(nothing);
|
|
128
|
+
});
|
|
129
|
+
it('should flip hover pane if it would overflow the viewport', async () => {
|
|
130
|
+
var _a, _b, _c, _d, _e;
|
|
131
131
|
const host = await fixture(html `<host-element
|
|
132
132
|
.controllerOptions=${{ showDelay: 0, hideDelay: 0 }}
|
|
133
|
-
></host-element>`);
|
|
134
|
-
host.dispatchEvent(new MouseEvent('mousemove', { clientX: 800, clientY: 600 }));
|
|
135
|
-
// Need to wait a tick for the event handlers to run
|
|
136
|
-
await new Promise(resolve => {
|
|
137
|
-
setTimeout(resolve, 0);
|
|
138
|
-
});
|
|
139
|
-
await host.updateComplete;
|
|
140
|
-
expect((_a = host.controller) === null || _a === void 0 ? void 0 : _a.getTemplate()).not.to.equal(nothing);
|
|
141
|
-
expect((_c = (_b = host.getHoverPane()) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect()) === null || _c === void 0 ? void 0 : _c.right).to.be.lessThan(window.innerWidth);
|
|
142
|
-
expect((_e = (_d = host.getHoverPane()) === null || _d === void 0 ? void 0 : _d.getBoundingClientRect()) === null || _e === void 0 ? void 0 : _e.bottom).to.be.lessThan(window.innerHeight);
|
|
143
|
-
});
|
|
144
|
-
it('should gracefully handle undefined hover pane from host element', async () => {
|
|
145
|
-
var _a, _b;
|
|
133
|
+
></host-element>`);
|
|
134
|
+
host.dispatchEvent(new MouseEvent('mousemove', { clientX: 800, clientY: 600 }));
|
|
135
|
+
// Need to wait a tick for the event handlers to run
|
|
136
|
+
await new Promise(resolve => {
|
|
137
|
+
setTimeout(resolve, 0);
|
|
138
|
+
});
|
|
139
|
+
await host.updateComplete;
|
|
140
|
+
expect((_a = host.controller) === null || _a === void 0 ? void 0 : _a.getTemplate()).not.to.equal(nothing);
|
|
141
|
+
expect((_c = (_b = host.getHoverPane()) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect()) === null || _c === void 0 ? void 0 : _c.right).to.be.lessThan(window.innerWidth);
|
|
142
|
+
expect((_e = (_d = host.getHoverPane()) === null || _d === void 0 ? void 0 : _d.getBoundingClientRect()) === null || _e === void 0 ? void 0 : _e.bottom).to.be.lessThan(window.innerHeight);
|
|
143
|
+
});
|
|
144
|
+
it('should gracefully handle undefined hover pane from host element', async () => {
|
|
145
|
+
var _a, _b;
|
|
146
146
|
const host = await fixture(html `<host-element
|
|
147
147
|
.controllerOptions=${{ showDelay: 0, hideDelay: 0 }}
|
|
148
148
|
?suppressHoverPane=${true}
|
|
149
|
-
></host-element>`);
|
|
150
|
-
host.dispatchEvent(new MouseEvent('mousemove'));
|
|
151
|
-
// Need to wait a tick for the event handlers to run
|
|
152
|
-
await new Promise(resolve => {
|
|
153
|
-
setTimeout(resolve, 0);
|
|
154
|
-
});
|
|
155
|
-
expect((_a = host.controller) === null || _a === void 0 ? void 0 : _a.getTemplate()).not.to.equal(nothing);
|
|
156
|
-
host.dispatchEvent(new MouseEvent('mouseleave'));
|
|
157
|
-
await new Promise(resolve => {
|
|
158
|
-
setTimeout(resolve, 20);
|
|
159
|
-
});
|
|
160
|
-
host.dispatchEvent(new MouseEvent('mousemove'));
|
|
161
|
-
await new Promise(resolve => {
|
|
162
|
-
setTimeout(resolve, 0);
|
|
163
|
-
});
|
|
164
|
-
host.dispatchEvent(new MouseEvent('mouseleave'));
|
|
165
|
-
// Need to wait for the fade out transition
|
|
166
|
-
await new Promise(resolve => {
|
|
167
|
-
setTimeout(resolve, 150);
|
|
168
|
-
});
|
|
169
|
-
expect((_b = host.controller) === null || _b === void 0 ? void 0 : _b.getTemplate()).to.equal(nothing);
|
|
170
|
-
});
|
|
171
|
-
describe('Touch & long-press', () => {
|
|
172
|
-
const getTouchStartEvent = (host) => new TouchEvent('touchstart', {
|
|
173
|
-
touches: [new Touch({ identifier: 0, target: host })],
|
|
174
|
-
});
|
|
175
|
-
it('should produce a hover pane after long press', async () => {
|
|
176
|
-
var _a;
|
|
149
|
+
></host-element>`);
|
|
150
|
+
host.dispatchEvent(new MouseEvent('mousemove'));
|
|
151
|
+
// Need to wait a tick for the event handlers to run
|
|
152
|
+
await new Promise(resolve => {
|
|
153
|
+
setTimeout(resolve, 0);
|
|
154
|
+
});
|
|
155
|
+
expect((_a = host.controller) === null || _a === void 0 ? void 0 : _a.getTemplate()).not.to.equal(nothing);
|
|
156
|
+
host.dispatchEvent(new MouseEvent('mouseleave'));
|
|
157
|
+
await new Promise(resolve => {
|
|
158
|
+
setTimeout(resolve, 20);
|
|
159
|
+
});
|
|
160
|
+
host.dispatchEvent(new MouseEvent('mousemove'));
|
|
161
|
+
await new Promise(resolve => {
|
|
162
|
+
setTimeout(resolve, 0);
|
|
163
|
+
});
|
|
164
|
+
host.dispatchEvent(new MouseEvent('mouseleave'));
|
|
165
|
+
// Need to wait for the fade out transition
|
|
166
|
+
await new Promise(resolve => {
|
|
167
|
+
setTimeout(resolve, 150);
|
|
168
|
+
});
|
|
169
|
+
expect((_b = host.controller) === null || _b === void 0 ? void 0 : _b.getTemplate()).to.equal(nothing);
|
|
170
|
+
});
|
|
171
|
+
describe('Touch & long-press', () => {
|
|
172
|
+
const getTouchStartEvent = (host) => new TouchEvent('touchstart', {
|
|
173
|
+
touches: [new Touch({ identifier: 0, target: host })],
|
|
174
|
+
});
|
|
175
|
+
it('should produce a hover pane after long press', async () => {
|
|
176
|
+
var _a;
|
|
177
177
|
const host = await fixture(html `<host-element
|
|
178
|
-
.controllerOptions=${{
|
|
179
|
-
showDelay: 0,
|
|
180
|
-
longPressDelay: 0,
|
|
181
|
-
enableLongPress: true,
|
|
178
|
+
.controllerOptions=${{
|
|
179
|
+
showDelay: 0,
|
|
180
|
+
longPressDelay: 0,
|
|
181
|
+
enableLongPress: true,
|
|
182
182
|
}}
|
|
183
|
-
></host-element>`);
|
|
184
|
-
// Touch the host element and wait for the long press handlers to run
|
|
185
|
-
host.dispatchEvent(getTouchStartEvent(host));
|
|
186
|
-
await new Promise(resolve => {
|
|
187
|
-
setTimeout(resolve, 0);
|
|
188
|
-
});
|
|
189
|
-
expect((_a = host.controller) === null || _a === void 0 ? void 0 : _a.getTemplate()).not.to.equal(nothing); // Is a TemplateResult
|
|
190
|
-
});
|
|
191
|
-
it('should cancel a long press by moving', async () => {
|
|
192
|
-
var _a;
|
|
183
|
+
></host-element>`);
|
|
184
|
+
// Touch the host element and wait for the long press handlers to run
|
|
185
|
+
host.dispatchEvent(getTouchStartEvent(host));
|
|
186
|
+
await new Promise(resolve => {
|
|
187
|
+
setTimeout(resolve, 0);
|
|
188
|
+
});
|
|
189
|
+
expect((_a = host.controller) === null || _a === void 0 ? void 0 : _a.getTemplate()).not.to.equal(nothing); // Is a TemplateResult
|
|
190
|
+
});
|
|
191
|
+
it('should cancel a long press by moving', async () => {
|
|
192
|
+
var _a;
|
|
193
193
|
const host = await fixture(html `<host-element
|
|
194
|
-
.controllerOptions=${{
|
|
195
|
-
showDelay: 0,
|
|
196
|
-
longPressDelay: 100,
|
|
197
|
-
enableLongPress: true,
|
|
194
|
+
.controllerOptions=${{
|
|
195
|
+
showDelay: 0,
|
|
196
|
+
longPressDelay: 100,
|
|
197
|
+
enableLongPress: true,
|
|
198
198
|
}}
|
|
199
|
-
></host-element>`);
|
|
200
|
-
// Touch the host element
|
|
201
|
-
host.dispatchEvent(getTouchStartEvent(host));
|
|
202
|
-
await new Promise(resolve => {
|
|
203
|
-
setTimeout(resolve, 0);
|
|
204
|
-
});
|
|
205
|
-
// Move the touch point, cancelling the long press
|
|
206
|
-
host.dispatchEvent(new TouchEvent('touchmove'));
|
|
207
|
-
await new Promise(resolve => {
|
|
208
|
-
setTimeout(resolve, 150);
|
|
209
|
-
});
|
|
210
|
-
expect((_a = host.controller) === null || _a === void 0 ? void 0 : _a.getTemplate()).to.equal(nothing);
|
|
211
|
-
});
|
|
212
|
-
it('should cancel a long press by ending touch', async () => {
|
|
213
|
-
var _a;
|
|
199
|
+
></host-element>`);
|
|
200
|
+
// Touch the host element
|
|
201
|
+
host.dispatchEvent(getTouchStartEvent(host));
|
|
202
|
+
await new Promise(resolve => {
|
|
203
|
+
setTimeout(resolve, 0);
|
|
204
|
+
});
|
|
205
|
+
// Move the touch point, cancelling the long press
|
|
206
|
+
host.dispatchEvent(new TouchEvent('touchmove'));
|
|
207
|
+
await new Promise(resolve => {
|
|
208
|
+
setTimeout(resolve, 150);
|
|
209
|
+
});
|
|
210
|
+
expect((_a = host.controller) === null || _a === void 0 ? void 0 : _a.getTemplate()).to.equal(nothing);
|
|
211
|
+
});
|
|
212
|
+
it('should cancel a long press by ending touch', async () => {
|
|
213
|
+
var _a;
|
|
214
214
|
const host = await fixture(html `<host-element
|
|
215
|
-
.controllerOptions=${{
|
|
216
|
-
showDelay: 0,
|
|
217
|
-
longPressDelay: 100,
|
|
218
|
-
enableLongPress: true,
|
|
215
|
+
.controllerOptions=${{
|
|
216
|
+
showDelay: 0,
|
|
217
|
+
longPressDelay: 100,
|
|
218
|
+
enableLongPress: true,
|
|
219
219
|
}}
|
|
220
|
-
></host-element>`);
|
|
221
|
-
// Touch the host element
|
|
222
|
-
host.dispatchEvent(getTouchStartEvent(host));
|
|
223
|
-
await new Promise(resolve => {
|
|
224
|
-
setTimeout(resolve, 0);
|
|
225
|
-
});
|
|
226
|
-
// Lift the touch point, cancelling the long press
|
|
227
|
-
host.dispatchEvent(new TouchEvent('touchend'));
|
|
228
|
-
await new Promise(resolve => {
|
|
229
|
-
setTimeout(resolve, 150);
|
|
230
|
-
});
|
|
231
|
-
expect((_a = host.controller) === null || _a === void 0 ? void 0 : _a.getTemplate()).to.equal(nothing);
|
|
232
|
-
});
|
|
233
|
-
it('should cancel a long press by cancelling touch (e.g., too many touch points)', async () => {
|
|
234
|
-
var _a;
|
|
220
|
+
></host-element>`);
|
|
221
|
+
// Touch the host element
|
|
222
|
+
host.dispatchEvent(getTouchStartEvent(host));
|
|
223
|
+
await new Promise(resolve => {
|
|
224
|
+
setTimeout(resolve, 0);
|
|
225
|
+
});
|
|
226
|
+
// Lift the touch point, cancelling the long press
|
|
227
|
+
host.dispatchEvent(new TouchEvent('touchend'));
|
|
228
|
+
await new Promise(resolve => {
|
|
229
|
+
setTimeout(resolve, 150);
|
|
230
|
+
});
|
|
231
|
+
expect((_a = host.controller) === null || _a === void 0 ? void 0 : _a.getTemplate()).to.equal(nothing);
|
|
232
|
+
});
|
|
233
|
+
it('should cancel a long press by cancelling touch (e.g., too many touch points)', async () => {
|
|
234
|
+
var _a;
|
|
235
235
|
const host = await fixture(html `<host-element
|
|
236
|
-
.controllerOptions=${{
|
|
237
|
-
showDelay: 0,
|
|
238
|
-
longPressDelay: 100,
|
|
239
|
-
enableLongPress: true,
|
|
236
|
+
.controllerOptions=${{
|
|
237
|
+
showDelay: 0,
|
|
238
|
+
longPressDelay: 100,
|
|
239
|
+
enableLongPress: true,
|
|
240
240
|
}}
|
|
241
|
-
></host-element>`);
|
|
242
|
-
// Touch the host element
|
|
243
|
-
host.dispatchEvent(getTouchStartEvent(host));
|
|
244
|
-
await new Promise(resolve => {
|
|
245
|
-
setTimeout(resolve, 0);
|
|
246
|
-
});
|
|
247
|
-
// Cancel the touch point, also cancelling the long press
|
|
248
|
-
host.dispatchEvent(new TouchEvent('touchcancel'));
|
|
249
|
-
await new Promise(resolve => {
|
|
250
|
-
setTimeout(resolve, 150);
|
|
251
|
-
});
|
|
252
|
-
expect((_a = host.controller) === null || _a === void 0 ? void 0 : _a.getTemplate()).to.equal(nothing);
|
|
253
|
-
});
|
|
254
|
-
it('should close the hover pane on mobile when touching the backdrop', async () => {
|
|
255
|
-
var _a, _b, _c, _d;
|
|
241
|
+
></host-element>`);
|
|
242
|
+
// Touch the host element
|
|
243
|
+
host.dispatchEvent(getTouchStartEvent(host));
|
|
244
|
+
await new Promise(resolve => {
|
|
245
|
+
setTimeout(resolve, 0);
|
|
246
|
+
});
|
|
247
|
+
// Cancel the touch point, also cancelling the long press
|
|
248
|
+
host.dispatchEvent(new TouchEvent('touchcancel'));
|
|
249
|
+
await new Promise(resolve => {
|
|
250
|
+
setTimeout(resolve, 150);
|
|
251
|
+
});
|
|
252
|
+
expect((_a = host.controller) === null || _a === void 0 ? void 0 : _a.getTemplate()).to.equal(nothing);
|
|
253
|
+
});
|
|
254
|
+
it('should close the hover pane on mobile when touching the backdrop', async () => {
|
|
255
|
+
var _a, _b, _c, _d;
|
|
256
256
|
const host = await fixture(html `<host-element
|
|
257
|
-
.controllerOptions=${{
|
|
258
|
-
showDelay: 0,
|
|
259
|
-
hideDelay: 0,
|
|
260
|
-
longPressDelay: 0,
|
|
261
|
-
enableLongPress: true,
|
|
262
|
-
mobileBreakpoint: 9999, // Ensure we get the mobile view
|
|
257
|
+
.controllerOptions=${{
|
|
258
|
+
showDelay: 0,
|
|
259
|
+
hideDelay: 0,
|
|
260
|
+
longPressDelay: 0,
|
|
261
|
+
enableLongPress: true,
|
|
262
|
+
mobileBreakpoint: 9999, // Ensure we get the mobile view
|
|
263
263
|
}}
|
|
264
|
-
></host-element>`);
|
|
265
|
-
// Touch the host element
|
|
266
|
-
host.dispatchEvent(getTouchStartEvent(host));
|
|
267
|
-
await new Promise(resolve => {
|
|
268
|
-
setTimeout(resolve, 0);
|
|
269
|
-
});
|
|
270
|
-
expect((_a = host.controller) === null || _a === void 0 ? void 0 : _a.getTemplate()).not.to.equal(nothing);
|
|
271
|
-
await host.updateComplete;
|
|
272
|
-
// Touch the backdrop
|
|
273
|
-
(_c = (_b = host.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('#touch-backdrop')) === null || _c === void 0 ? void 0 : _c.dispatchEvent(new TouchEvent('touchstart'));
|
|
274
|
-
await new Promise(resolve => {
|
|
275
|
-
setTimeout(resolve, 150);
|
|
276
|
-
});
|
|
277
|
-
expect((_d = host.controller) === null || _d === void 0 ? void 0 : _d.getTemplate()).to.equal(nothing);
|
|
278
|
-
});
|
|
279
|
-
});
|
|
280
|
-
});
|
|
264
|
+
></host-element>`);
|
|
265
|
+
// Touch the host element
|
|
266
|
+
host.dispatchEvent(getTouchStartEvent(host));
|
|
267
|
+
await new Promise(resolve => {
|
|
268
|
+
setTimeout(resolve, 0);
|
|
269
|
+
});
|
|
270
|
+
expect((_a = host.controller) === null || _a === void 0 ? void 0 : _a.getTemplate()).not.to.equal(nothing);
|
|
271
|
+
await host.updateComplete;
|
|
272
|
+
// Touch the backdrop
|
|
273
|
+
(_c = (_b = host.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('#touch-backdrop')) === null || _c === void 0 ? void 0 : _c.dispatchEvent(new TouchEvent('touchstart'));
|
|
274
|
+
await new Promise(resolve => {
|
|
275
|
+
setTimeout(resolve, 150);
|
|
276
|
+
});
|
|
277
|
+
expect((_d = host.controller) === null || _d === void 0 ? void 0 : _d.getTemplate()).to.equal(nothing);
|
|
278
|
+
});
|
|
279
|
+
});
|
|
280
|
+
});
|
|
281
281
|
//# sourceMappingURL=hover-pane-controller.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import '../../../src/tiles/hover/tile-hover-pane';
|
|
1
|
+
import '../../../src/tiles/hover/tile-hover-pane';
|