@internetarchive/collection-browser 2.7.12 → 2.7.13-alpha2
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/.github/workflows/ci.yml +3 -3
- package/.github/workflows/gh-pages-main.yml +2 -2
- package/.github/workflows/pr-preview.yml +2 -2
- package/.husky/pre-commit +4 -4
- package/.prettierignore +1 -0
- package/LICENSE +661 -661
- package/README.md +83 -83
- package/dist/index.d.ts +13 -13
- package/dist/index.js +11 -13
- package/dist/index.js.map +1 -1
- package/dist/src/app-root.d.ts +109 -107
- package/dist/src/app-root.js +541 -531
- package/dist/src/app-root.js.map +1 -1
- 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/circular-activity-indicator.js.map +1 -1
- package/dist/src/collection-browser.d.ts +607 -606
- package/dist/src/collection-browser.js +1683 -1677
- package/dist/src/collection-browser.js.map +1 -1
- 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-row.js.map +1 -1
- 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/facet-tombstone-row.js.map +1 -1
- package/dist/src/collection-facets/facets-template.d.ts +13 -13
- package/dist/src/collection-facets/facets-template.js +49 -49
- package/dist/src/collection-facets/facets-template.js.map +1 -1
- package/dist/src/collection-facets/more-facets-content.d.ts +106 -106
- package/dist/src/collection-facets/more-facets-content.js +406 -408
- package/dist/src/collection-facets/more-facets-content.js.map +1 -1
- package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
- package/dist/src/collection-facets/more-facets-pagination.js +197 -196
- package/dist/src/collection-facets/more-facets-pagination.js.map +1 -1
- 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/dedupe.js.map +1 -1
- 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/query-keywords-heuristic.js.map +1 -1
- 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/heuristics/wikidata-heuristic.js.map +1 -1
- 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 +237 -240
- package/dist/src/collection-facets/smart-facets/smart-facet-bar.js.map +1 -1
- 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-button.js.map +1 -1
- 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-dropdown.js.map +1 -1
- 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/smart-facets/smart-facet-heuristics.js.map +1 -1
- 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/toggle-switch.js.map +1 -1
- package/dist/src/collection-facets.d.ts +103 -103
- package/dist/src/collection-facets.js +521 -522
- package/dist/src/collection-facets.js.map +1 -1
- 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-interface.js.map +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 +1003 -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 +87 -88
- package/dist/src/empty-placeholder.js.map +1 -1
- package/dist/src/expanded-date-picker.d.ts +43 -43
- package/dist/src/expanded-date-picker.js +109 -109
- package/dist/src/expanded-date-picker.js.map +1 -1
- 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-handler.js.map +1 -1
- 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/language-code-handler/language-code-mapping.js.map +1 -1
- package/dist/src/manage/manage-bar.d.ts +58 -58
- package/dist/src/manage/manage-bar.js +175 -175
- package/dist/src/manage/manage-bar.js.map +1 -1
- 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/manage/remove-items-modal-content.js.map +1 -1
- package/dist/src/mediatype/mediatype-config.d.ts +3 -3
- package/dist/src/mediatype/mediatype-config.js +92 -91
- package/dist/src/mediatype/mediatype-config.js.map +1 -1
- package/dist/src/models.d.ts +228 -228
- package/dist/src/models.js +401 -401
- package/dist/src/models.js.map +1 -1
- package/dist/src/restoration-state-handler.d.ts +70 -70
- package/dist/src/restoration-state-handler.js +362 -363
- package/dist/src/restoration-state-handler.js.map +1 -1
- 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-tooltip.js.map +1 -1
- package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
- package/dist/src/sort-filter-bar/alpha-bar.js +136 -136
- package/dist/src/sort-filter-bar/alpha-bar.js.map +1 -1
- 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 +696 -697
- package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
- 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/base-tile-component.js.map +1 -1
- 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/collection-browser-loading-tile.js.map +1 -1
- 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/account-tile.js.map +1 -1
- 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/collection-tile.js.map +1 -1
- package/dist/src/tiles/grid/item-tile.d.ts +34 -34
- package/dist/src/tiles/grid/item-tile.js +159 -160
- package/dist/src/tiles/grid/item-tile.js.map +1 -1
- 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/search-tile.js.map +1 -1
- 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 +54 -54
- package/dist/src/tiles/grid/tile-stats.js.map +1 -1
- 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/hover-pane-controller.js.map +1 -1
- package/dist/src/tiles/hover/tile-hover-pane.d.ts +18 -18
- package/dist/src/tiles/hover/tile-hover-pane.js +72 -70
- package/dist/src/tiles/hover/tile-hover-pane.js.map +1 -1
- package/dist/src/tiles/image-block.d.ts +18 -18
- package/dist/src/tiles/image-block.js +89 -89
- package/dist/src/tiles/image-block.js.map +1 -1
- package/dist/src/tiles/item-image.d.ts +39 -39
- package/dist/src/tiles/item-image.js +154 -154
- package/dist/src/tiles/item-image.js.map +1 -1
- 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-header.js.map +1 -1
- 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-compact.js.map +1 -1
- package/dist/src/tiles/list/tile-list.d.ts +54 -54
- package/dist/src/tiles/list/tile-list.js +324 -326
- package/dist/src/tiles/list/tile-list.js.map +1 -1
- package/dist/src/tiles/mediatype-icon.d.ts +9 -9
- package/dist/src/tiles/mediatype-icon.js +47 -47
- package/dist/src/tiles/mediatype-icon.js.map +1 -1
- 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/icon-overlay.js.map +1 -1
- 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/overlay/text-overlay.js.map +1 -1
- package/dist/src/tiles/review-block.d.ts +12 -12
- package/dist/src/tiles/review-block.js +56 -56
- package/dist/src/tiles/review-block.js.map +1 -1
- 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/text-snippet-block.js.map +1 -1
- package/dist/src/tiles/tile-dispatcher.d.ts +64 -64
- package/dist/src/tiles/tile-dispatcher.js +230 -230
- package/dist/src/tiles/tile-dispatcher.js.map +1 -1
- 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/tiles/tile-display-value-provider.js.map +1 -1
- 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/facet-utils.js.map +1 -1
- package/dist/src/utils/format-count.d.ts +7 -7
- package/dist/src/utils/format-count.js +75 -76
- package/dist/src/utils/format-count.js.map +1 -1
- package/dist/src/utils/format-date.d.ts +2 -2
- package/dist/src/utils/format-date.js +27 -27
- package/dist/src/utils/format-date.js.map +1 -1
- 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/format-unit-size.js.map +1 -1
- 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 +13 -15
- package/dist/src/utils/log.js.map +1 -1
- package/dist/src/utils/resolve-mediatype.d.ts +8 -8
- package/dist/src/utils/resolve-mediatype.js +23 -23
- package/dist/src/utils/resolve-mediatype.js.map +1 -1
- 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 +1309 -1308
- package/dist/test/collection-browser.test.js.map +1 -1
- package/dist/test/collection-facets/facet-row.test.d.ts +1 -1
- package/dist/test/collection-facets/facet-row.test.js +230 -227
- package/dist/test/collection-facets/facet-row.test.js.map +1 -1
- 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/facets-template.test.js.map +1 -1
- package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
- package/dist/test/collection-facets/more-facets-content.test.js +140 -141
- package/dist/test/collection-facets/more-facets-content.test.js.map +1 -1
- package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
- package/dist/test/collection-facets/more-facets-pagination.test.js +116 -117
- package/dist/test/collection-facets/more-facets-pagination.test.js.map +1 -1
- package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
- package/dist/test/collection-facets/toggle-switch.test.js +82 -73
- package/dist/test/collection-facets/toggle-switch.test.js.map +1 -1
- package/dist/test/collection-facets.test.d.ts +2 -2
- package/dist/test/collection-facets.test.js +692 -692
- package/dist/test/collection-facets.test.js.map +1 -1
- 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/data-source/collection-browser-data-source.test.js.map +1 -1
- package/dist/test/empty-placeholder.test.d.ts +1 -1
- package/dist/test/empty-placeholder.test.js +62 -63
- package/dist/test/empty-placeholder.test.js.map +1 -1
- package/dist/test/expanded-date-picker.test.d.ts +1 -1
- package/dist/test/expanded-date-picker.test.js +97 -96
- package/dist/test/expanded-date-picker.test.js.map +1 -1
- package/dist/test/icon-overlay.test.d.ts +1 -1
- package/dist/test/icon-overlay.test.js +23 -24
- package/dist/test/icon-overlay.test.js.map +1 -1
- package/dist/test/image-block.test.d.ts +1 -1
- package/dist/test/image-block.test.js +106 -107
- package/dist/test/image-block.test.js.map +1 -1
- package/dist/test/item-image.test.d.ts +1 -1
- package/dist/test/item-image.test.js +84 -85
- package/dist/test/item-image.test.js.map +1 -1
- package/dist/test/manage/manage-bar.test.d.ts +2 -2
- package/dist/test/manage/manage-bar.test.js +100 -101
- package/dist/test/manage/manage-bar.test.js.map +1 -1
- package/dist/test/manage/remove-items-modal-content.test.d.ts +1 -1
- package/dist/test/manage/remove-items-modal-content.test.js +44 -45
- package/dist/test/manage/remove-items-modal-content.test.js.map +1 -1
- 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-responses.js.map +1 -1
- package/dist/test/mocks/mock-search-service.d.ts +15 -15
- package/dist/test/mocks/mock-search-service.js +54 -54
- package/dist/test/mocks/mock-search-service.js.map +1 -1
- package/dist/test/restoration-state-handler.test.d.ts +1 -1
- package/dist/test/restoration-state-handler.test.js +270 -270
- package/dist/test/restoration-state-handler.test.js.map +1 -1
- package/dist/test/review-block.test.d.ts +1 -1
- package/dist/test/review-block.test.js +43 -44
- package/dist/test/review-block.test.js.map +1 -1
- 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-tooltip.test.js.map +1 -1
- 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/alpha-bar.test.js.map +1 -1
- 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 +425 -426
- package/dist/test/sort-filter-bar/sort-filter-bar.test.js.map +1 -1
- package/dist/test/text-overlay.test.d.ts +1 -1
- package/dist/test/text-overlay.test.js +37 -38
- package/dist/test/text-overlay.test.js.map +1 -1
- package/dist/test/text-snippet-block.test.d.ts +1 -1
- package/dist/test/text-snippet-block.test.js +56 -57
- package/dist/test/text-snippet-block.test.js.map +1 -1
- package/dist/test/tile-stats.test.d.ts +1 -1
- package/dist/test/tile-stats.test.js +98 -99
- package/dist/test/tile-stats.test.js.map +1 -1
- package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/account-tile.test.js +75 -76
- package/dist/test/tiles/grid/account-tile.test.js.map +1 -1
- package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/collection-tile.test.js +72 -73
- package/dist/test/tiles/grid/collection-tile.test.js.map +1 -1
- package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/item-tile.test.js +311 -312
- package/dist/test/tiles/grid/item-tile.test.js.map +1 -1
- package/dist/test/tiles/grid/search-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/search-tile.test.js +50 -51
- package/dist/test/tiles/grid/search-tile.test.js.map +1 -1
- 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/hover-pane-controller.test.js.map +1 -1
- 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/hover/tile-hover-pane.test.js.map +1 -1
- package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
- package/dist/test/tiles/list/tile-list-compact.test.js +142 -143
- package/dist/test/tiles/list/tile-list-compact.test.js.map +1 -1
- package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
- package/dist/test/tiles/list/tile-list.test.js +296 -297
- package/dist/test/tiles/list/tile-list.test.js.map +1 -1
- 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-dispatcher.test.js.map +1 -1
- 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-count.test.js.map +1 -1
- 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-date.test.js.map +1 -1
- 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/dist/test/utils/local-date-from-utc.test.js.map +1 -1
- package/eslint.config.mjs +53 -0
- package/index.html +0 -3
- package/local.archive.org.cert +86 -86
- package/local.archive.org.key +27 -27
- package/package.json +41 -39
- package/renovate.json +6 -6
- package/src/app-root.ts +33 -23
- package/src/collection-browser.ts +44 -42
- package/src/collection-facets/facets-template.ts +7 -6
- package/src/collection-facets/more-facets-content.ts +11 -13
- package/src/collection-facets/more-facets-pagination.ts +3 -2
- package/src/collection-facets/smart-facets/dedupe.ts +2 -2
- package/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.ts +1 -1
- package/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.ts +6 -6
- package/src/collection-facets/smart-facets/smart-facet-bar.ts +6 -8
- package/src/collection-facets/smart-facets/smart-facet-button.ts +5 -3
- package/src/collection-facets/smart-facets/smart-facet-dropdown.ts +4 -4
- package/src/collection-facets/smart-facets/smart-facet-heuristics.ts +1 -1
- package/src/collection-facets/toggle-switch.ts +2 -2
- package/src/collection-facets.ts +18 -19
- package/src/data-source/collection-browser-data-source-interface.ts +5 -1
- package/src/data-source/collection-browser-data-source.ts +42 -35
- package/src/empty-placeholder.ts +19 -16
- package/src/expanded-date-picker.ts +1 -1
- package/src/language-code-handler/language-code-handler.ts +1 -1
- package/src/manage/manage-bar.ts +23 -20
- package/src/manage/remove-items-modal-content.ts +2 -2
- package/src/mediatype/mediatype-config.ts +1 -0
- package/src/models.ts +3 -3
- package/src/restoration-state-handler.ts +14 -15
- package/src/sort-filter-bar/alpha-bar.ts +16 -17
- package/src/sort-filter-bar/sort-filter-bar.ts +14 -15
- package/src/tiles/grid/account-tile.ts +1 -1
- package/src/tiles/grid/collection-tile.ts +1 -1
- package/src/tiles/grid/item-tile.ts +9 -9
- package/src/tiles/grid/tile-stats.ts +4 -4
- package/src/tiles/hover/hover-pane-controller.ts +1 -1
- package/src/tiles/hover/tile-hover-pane.ts +4 -2
- package/src/tiles/item-image.ts +1 -1
- package/src/tiles/list/tile-list-compact.ts +2 -2
- package/src/tiles/list/tile-list.ts +22 -24
- package/src/tiles/tile-dispatcher.ts +5 -5
- package/src/tiles/tile-display-value-provider.ts +4 -4
- package/src/utils/facet-utils.ts +6 -6
- package/src/utils/format-count.ts +2 -3
- package/src/utils/format-date.ts +1 -1
- package/src/utils/format-unit-size.ts +1 -1
- package/src/utils/log.ts +1 -3
- package/test/collection-browser.test.ts +125 -124
- package/test/collection-facets/facet-row.test.ts +31 -28
- package/test/collection-facets/facets-template.test.ts +9 -9
- package/test/collection-facets/more-facets-content.test.ts +14 -15
- package/test/collection-facets/more-facets-pagination.test.ts +18 -19
- package/test/collection-facets/toggle-switch.test.ts +28 -18
- package/test/collection-facets.test.ts +46 -39
- package/test/data-source/collection-browser-data-source.test.ts +2 -2
- package/test/empty-placeholder.test.ts +6 -7
- package/test/expanded-date-picker.test.ts +25 -20
- package/test/icon-overlay.test.ts +0 -1
- package/test/image-block.test.ts +6 -7
- package/test/item-image.test.ts +0 -1
- package/test/manage/manage-bar.test.ts +19 -16
- package/test/manage/remove-items-modal-content.test.ts +4 -5
- package/test/mocks/mock-search-responses.ts +2 -1
- package/test/mocks/mock-search-service.ts +1 -1
- package/test/restoration-state-handler.test.ts +12 -12
- package/test/review-block.test.ts +1 -2
- package/test/sort-filter-bar/alpha-bar-tooltip.test.ts +1 -1
- package/test/sort-filter-bar/alpha-bar.test.ts +5 -5
- package/test/sort-filter-bar/sort-filter-bar.test.ts +38 -39
- package/test/text-overlay.test.ts +0 -1
- package/test/text-snippet-block.test.ts +5 -6
- package/test/tile-stats.test.ts +26 -35
- package/test/tiles/grid/account-tile.test.ts +2 -3
- package/test/tiles/grid/collection-tile.test.ts +3 -4
- package/test/tiles/grid/item-tile.test.ts +13 -14
- package/test/tiles/grid/search-tile.test.ts +1 -2
- package/test/tiles/hover/hover-pane-controller.test.ts +15 -15
- package/test/tiles/hover/tile-hover-pane.test.ts +5 -5
- package/test/tiles/list/tile-list-compact.test.ts +1 -2
- package/test/tiles/list/tile-list.test.ts +10 -11
- package/test/tiles/tile-dispatcher.test.ts +5 -5
- package/test/utils/format-count.test.ts +1 -1
- package/test/utils/format-date.test.ts +1 -1
- package/test/utils/local-date-from-utc.test.ts +1 -1
- package/tsconfig.json +0 -1
- package/web-dev-server.config.mjs +30 -30
- package/web-test-runner.config.mjs +41 -41
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var _a, _b, _c;
|
|
1
|
+
import { expect, fixture } from '@open-wc/testing';
|
|
2
|
+
import { html } from 'lit';
|
|
3
|
+
import '../src/tiles/image-block';
|
|
4
|
+
describe('Image block component', () => {
|
|
5
|
+
it('should render component grid display mode', async () => {
|
|
6
|
+
var _a, _b, _c;
|
|
8
7
|
const el = await fixture(html `
|
|
9
8
|
<image-block
|
|
10
|
-
.model=${{
|
|
11
|
-
loginRequired: true,
|
|
12
|
-
contentWarning: true,
|
|
13
|
-
identifier: 'goody',
|
|
9
|
+
.model=${{
|
|
10
|
+
loginRequired: true,
|
|
11
|
+
contentWarning: true,
|
|
12
|
+
identifier: 'goody',
|
|
14
13
|
}}
|
|
15
14
|
.baseImageUrl=${'https://archive.org'}
|
|
16
15
|
.isCompactTile=${false}
|
|
@@ -19,22 +18,22 @@ describe('Image block component', () => {
|
|
|
19
18
|
.loggedIn=${false}
|
|
20
19
|
>
|
|
21
20
|
</image-block>
|
|
22
|
-
`);
|
|
23
|
-
const viewSize = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.grid');
|
|
24
|
-
const itemImage = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('item-image');
|
|
25
|
-
const textOverlay = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('text-overlay');
|
|
26
|
-
expect(viewSize).to.exist;
|
|
27
|
-
expect(itemImage).to.exist;
|
|
28
|
-
expect(textOverlay).to.exist;
|
|
29
|
-
});
|
|
30
|
-
it('should render component list display mode', async () => {
|
|
31
|
-
var _a, _b, _c;
|
|
21
|
+
`);
|
|
22
|
+
const viewSize = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.grid');
|
|
23
|
+
const itemImage = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('item-image');
|
|
24
|
+
const textOverlay = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('text-overlay');
|
|
25
|
+
expect(viewSize).to.exist;
|
|
26
|
+
expect(itemImage).to.exist;
|
|
27
|
+
expect(textOverlay).to.exist;
|
|
28
|
+
});
|
|
29
|
+
it('should render component list display mode', async () => {
|
|
30
|
+
var _a, _b, _c;
|
|
32
31
|
const el = await fixture(html `
|
|
33
32
|
<image-block
|
|
34
|
-
.model=${{
|
|
35
|
-
loginRequired: true,
|
|
36
|
-
contentWarning: true,
|
|
37
|
-
identifier: 'goody',
|
|
33
|
+
.model=${{
|
|
34
|
+
loginRequired: true,
|
|
35
|
+
contentWarning: true,
|
|
36
|
+
identifier: 'goody',
|
|
38
37
|
}}
|
|
39
38
|
.baseImageUrl=${'https://archive.org'}
|
|
40
39
|
.isCompactTile=${false}
|
|
@@ -43,22 +42,22 @@ describe('Image block component', () => {
|
|
|
43
42
|
.loggedIn=${false}
|
|
44
43
|
>
|
|
45
44
|
</image-block>
|
|
46
|
-
`);
|
|
47
|
-
const viewSize = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.list.desktop');
|
|
48
|
-
const itemImage = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('item-image');
|
|
49
|
-
const iconOverlay = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('icon-overlay');
|
|
50
|
-
expect(viewSize).to.exist;
|
|
51
|
-
expect(itemImage).to.exist;
|
|
52
|
-
expect(iconOverlay).to.exist;
|
|
53
|
-
});
|
|
54
|
-
it('should render component compact display mode', async () => {
|
|
55
|
-
var _a, _b, _c;
|
|
45
|
+
`);
|
|
46
|
+
const viewSize = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.list.desktop');
|
|
47
|
+
const itemImage = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('item-image');
|
|
48
|
+
const iconOverlay = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('icon-overlay');
|
|
49
|
+
expect(viewSize).to.exist;
|
|
50
|
+
expect(itemImage).to.exist;
|
|
51
|
+
expect(iconOverlay).to.exist;
|
|
52
|
+
});
|
|
53
|
+
it('should render component compact display mode', async () => {
|
|
54
|
+
var _a, _b, _c;
|
|
56
55
|
const el = await fixture(html `
|
|
57
56
|
<image-block
|
|
58
|
-
.model=${{
|
|
59
|
-
loginRequired: true,
|
|
60
|
-
contentWarning: true,
|
|
61
|
-
identifier: 'goody',
|
|
57
|
+
.model=${{
|
|
58
|
+
loginRequired: true,
|
|
59
|
+
contentWarning: true,
|
|
60
|
+
identifier: 'goody',
|
|
62
61
|
}}
|
|
63
62
|
.baseImageUrl=${'https://archive.org'}
|
|
64
63
|
.isCompactTile=${true}
|
|
@@ -67,21 +66,21 @@ describe('Image block component', () => {
|
|
|
67
66
|
.loggedIn=${false}
|
|
68
67
|
>
|
|
69
68
|
</image-block>
|
|
70
|
-
`);
|
|
71
|
-
const viewSize = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.list-compact.desktop');
|
|
72
|
-
const itemImage = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('item-image');
|
|
73
|
-
const iconOverlay = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('icon-overlay');
|
|
74
|
-
expect(viewSize).to.exist;
|
|
75
|
-
expect(itemImage).to.exist;
|
|
76
|
-
expect(iconOverlay).to.exist;
|
|
77
|
-
});
|
|
78
|
-
it('should render a login-required overlay if model requires it and not logged in', async () => {
|
|
79
|
-
var _a;
|
|
69
|
+
`);
|
|
70
|
+
const viewSize = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.list-compact.desktop');
|
|
71
|
+
const itemImage = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('item-image');
|
|
72
|
+
const iconOverlay = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('icon-overlay');
|
|
73
|
+
expect(viewSize).to.exist;
|
|
74
|
+
expect(itemImage).to.exist;
|
|
75
|
+
expect(iconOverlay).to.exist;
|
|
76
|
+
});
|
|
77
|
+
it('should render a login-required overlay if model requires it and not logged in', async () => {
|
|
78
|
+
var _a;
|
|
80
79
|
const el = await fixture(html `
|
|
81
80
|
<image-block
|
|
82
|
-
.model=${{
|
|
83
|
-
loginRequired: true,
|
|
84
|
-
identifier: 'goody',
|
|
81
|
+
.model=${{
|
|
82
|
+
loginRequired: true,
|
|
83
|
+
identifier: 'goody',
|
|
85
84
|
}}
|
|
86
85
|
.baseImageUrl=${'https://archive.org'}
|
|
87
86
|
.isCompactTile=${false}
|
|
@@ -90,18 +89,18 @@ describe('Image block component', () => {
|
|
|
90
89
|
.loggedIn=${false}
|
|
91
90
|
>
|
|
92
91
|
</image-block>
|
|
93
|
-
`);
|
|
94
|
-
const textOverlay = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-overlay');
|
|
95
|
-
expect(textOverlay).to.exist;
|
|
96
|
-
expect(textOverlay.type).to.equal('login-required');
|
|
97
|
-
});
|
|
98
|
-
it('should render no overlay if logged in and model only requires login', async () => {
|
|
99
|
-
var _a;
|
|
92
|
+
`);
|
|
93
|
+
const textOverlay = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-overlay');
|
|
94
|
+
expect(textOverlay).to.exist;
|
|
95
|
+
expect(textOverlay.type).to.equal('login-required');
|
|
96
|
+
});
|
|
97
|
+
it('should render no overlay if logged in and model only requires login', async () => {
|
|
98
|
+
var _a;
|
|
100
99
|
const el = await fixture(html `
|
|
101
100
|
<image-block
|
|
102
|
-
.model=${{
|
|
103
|
-
loginRequired: true,
|
|
104
|
-
identifier: 'goody',
|
|
101
|
+
.model=${{
|
|
102
|
+
loginRequired: true,
|
|
103
|
+
identifier: 'goody',
|
|
105
104
|
}}
|
|
106
105
|
.baseImageUrl=${'https://archive.org'}
|
|
107
106
|
.isCompactTile=${false}
|
|
@@ -110,17 +109,17 @@ describe('Image block component', () => {
|
|
|
110
109
|
.loggedIn=${true}
|
|
111
110
|
>
|
|
112
111
|
</image-block>
|
|
113
|
-
`);
|
|
114
|
-
const textOverlay = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-overlay');
|
|
115
|
-
expect(textOverlay).not.to.exist;
|
|
116
|
-
});
|
|
117
|
-
it('should render a content-warning overlay if model requires it and no login overlay is present', async () => {
|
|
118
|
-
var _a;
|
|
112
|
+
`);
|
|
113
|
+
const textOverlay = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-overlay');
|
|
114
|
+
expect(textOverlay).not.to.exist;
|
|
115
|
+
});
|
|
116
|
+
it('should render a content-warning overlay if model requires it and no login overlay is present', async () => {
|
|
117
|
+
var _a;
|
|
119
118
|
const el = await fixture(html `
|
|
120
119
|
<image-block
|
|
121
|
-
.model=${{
|
|
122
|
-
contentWarning: true,
|
|
123
|
-
identifier: 'goody',
|
|
120
|
+
.model=${{
|
|
121
|
+
contentWarning: true,
|
|
122
|
+
identifier: 'goody',
|
|
124
123
|
}}
|
|
125
124
|
.baseImageUrl=${'https://archive.org'}
|
|
126
125
|
.isCompactTile=${false}
|
|
@@ -129,19 +128,19 @@ describe('Image block component', () => {
|
|
|
129
128
|
.loggedIn=${false}
|
|
130
129
|
>
|
|
131
130
|
</image-block>
|
|
132
|
-
`);
|
|
133
|
-
const textOverlay = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-overlay');
|
|
134
|
-
expect(textOverlay).to.exist;
|
|
135
|
-
expect(textOverlay.type).to.equal('content-warning');
|
|
136
|
-
});
|
|
137
|
-
it('should prioritize login-required overlay over content-warning if both required and logged out', async () => {
|
|
138
|
-
var _a;
|
|
131
|
+
`);
|
|
132
|
+
const textOverlay = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-overlay');
|
|
133
|
+
expect(textOverlay).to.exist;
|
|
134
|
+
expect(textOverlay.type).to.equal('content-warning');
|
|
135
|
+
});
|
|
136
|
+
it('should prioritize login-required overlay over content-warning if both required and logged out', async () => {
|
|
137
|
+
var _a;
|
|
139
138
|
const el = await fixture(html `
|
|
140
139
|
<image-block
|
|
141
|
-
.model=${{
|
|
142
|
-
loginRequired: true,
|
|
143
|
-
contentWarning: true,
|
|
144
|
-
identifier: 'goody',
|
|
140
|
+
.model=${{
|
|
141
|
+
loginRequired: true,
|
|
142
|
+
contentWarning: true,
|
|
143
|
+
identifier: 'goody',
|
|
145
144
|
}}
|
|
146
145
|
.baseImageUrl=${'https://archive.org'}
|
|
147
146
|
.isCompactTile=${false}
|
|
@@ -150,19 +149,19 @@ describe('Image block component', () => {
|
|
|
150
149
|
.loggedIn=${false}
|
|
151
150
|
>
|
|
152
151
|
</image-block>
|
|
153
|
-
`);
|
|
154
|
-
const textOverlay = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-overlay');
|
|
155
|
-
expect(textOverlay).to.exist;
|
|
156
|
-
expect(textOverlay.type).to.equal('login-required');
|
|
157
|
-
});
|
|
158
|
-
it('should show content-warning overlay if both types required and logged in', async () => {
|
|
159
|
-
var _a;
|
|
152
|
+
`);
|
|
153
|
+
const textOverlay = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-overlay');
|
|
154
|
+
expect(textOverlay).to.exist;
|
|
155
|
+
expect(textOverlay.type).to.equal('login-required');
|
|
156
|
+
});
|
|
157
|
+
it('should show content-warning overlay if both types required and logged in', async () => {
|
|
158
|
+
var _a;
|
|
160
159
|
const el = await fixture(html `
|
|
161
160
|
<image-block
|
|
162
|
-
.model=${{
|
|
163
|
-
loginRequired: true,
|
|
164
|
-
contentWarning: true,
|
|
165
|
-
identifier: 'goody',
|
|
161
|
+
.model=${{
|
|
162
|
+
loginRequired: true,
|
|
163
|
+
contentWarning: true,
|
|
164
|
+
identifier: 'goody',
|
|
166
165
|
}}
|
|
167
166
|
.baseImageUrl=${'https://archive.org'}
|
|
168
167
|
.isCompactTile=${false}
|
|
@@ -171,17 +170,17 @@ describe('Image block component', () => {
|
|
|
171
170
|
.loggedIn=${true}
|
|
172
171
|
>
|
|
173
172
|
</image-block>
|
|
174
|
-
`);
|
|
175
|
-
const textOverlay = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-overlay');
|
|
176
|
-
expect(textOverlay).to.exist;
|
|
177
|
-
expect(textOverlay.type).to.equal('content-warning');
|
|
178
|
-
});
|
|
179
|
-
it('should render no overlay if neither loginRequired nor contentWarning flag present', async () => {
|
|
180
|
-
var _a;
|
|
173
|
+
`);
|
|
174
|
+
const textOverlay = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-overlay');
|
|
175
|
+
expect(textOverlay).to.exist;
|
|
176
|
+
expect(textOverlay.type).to.equal('content-warning');
|
|
177
|
+
});
|
|
178
|
+
it('should render no overlay if neither loginRequired nor contentWarning flag present', async () => {
|
|
179
|
+
var _a;
|
|
181
180
|
const el = await fixture(html `
|
|
182
181
|
<image-block
|
|
183
|
-
.model=${{
|
|
184
|
-
identifier: 'goody',
|
|
182
|
+
.model=${{
|
|
183
|
+
identifier: 'goody',
|
|
185
184
|
}}
|
|
186
185
|
.baseImageUrl=${'https://archive.org'}
|
|
187
186
|
.isCompactTile=${false}
|
|
@@ -190,9 +189,9 @@ describe('Image block component', () => {
|
|
|
190
189
|
.loggedIn=${false}
|
|
191
190
|
>
|
|
192
191
|
</image-block>
|
|
193
|
-
`);
|
|
194
|
-
const textOverlay = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-overlay');
|
|
195
|
-
expect(textOverlay).not.to.exist;
|
|
196
|
-
});
|
|
197
|
-
});
|
|
192
|
+
`);
|
|
193
|
+
const textOverlay = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-overlay');
|
|
194
|
+
expect(textOverlay).not.to.exist;
|
|
195
|
+
});
|
|
196
|
+
});
|
|
198
197
|
//# sourceMappingURL=image-block.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-block.test.js","sourceRoot":"","sources":["../../test/image-block.test.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable import/no-duplicates */\nimport { expect, fixture } from '@open-wc/testing';\nimport { html } from 'lit';\nimport type { ImageBlock } from '../src/tiles/image-block';\nimport type { TextOverlay } from '../src/tiles/overlay/text-overlay';\n\nimport '../src/tiles/image-block';\n\ndescribe('Image block component', () => {\n it('should render component grid display mode', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n contentWarning: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'grid'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const viewSize = el.shadowRoot?.querySelector('.grid');\n const itemImage = el.shadowRoot?.querySelector('item-image');\n const textOverlay = el.shadowRoot?.querySelector('text-overlay');\n\n expect(viewSize).to.exist;\n expect(itemImage).to.exist;\n expect(textOverlay).to.exist;\n });\n\n it('should render component list display mode', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n contentWarning: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${true}\n .viewSize=${'desktop'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const viewSize = el.shadowRoot?.querySelector('.list.desktop');\n const itemImage = el.shadowRoot?.querySelector('item-image');\n const iconOverlay = el.shadowRoot?.querySelector('icon-overlay');\n\n expect(viewSize).to.exist;\n expect(itemImage).to.exist;\n expect(iconOverlay).to.exist;\n });\n\n it('should render component compact display mode', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n contentWarning: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${true}\n .isListTile=${true}\n .viewSize=${'desktop'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const viewSize = el.shadowRoot?.querySelector('.list-compact.desktop');\n const itemImage = el.shadowRoot?.querySelector('item-image');\n const iconOverlay = el.shadowRoot?.querySelector('icon-overlay');\n\n expect(viewSize).to.exist;\n expect(itemImage).to.exist;\n expect(iconOverlay).to.exist;\n });\n\n it('should render a login-required overlay if model requires it and not logged in', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'desktop'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const textOverlay = el.shadowRoot?.querySelector(\n 'text-overlay'\n ) as TextOverlay;\n expect(textOverlay).to.exist;\n expect(textOverlay.type).to.equal('login-required');\n });\n\n it('should render no overlay if logged in and model only requires login', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'desktop'}\n .loggedIn=${true}\n >\n </image-block>\n `);\n\n const textOverlay = el.shadowRoot?.querySelector(\n 'text-overlay'\n ) as TextOverlay;\n expect(textOverlay).not.to.exist;\n });\n\n it('should render a content-warning overlay if model requires it and no login overlay is present', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n contentWarning: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'desktop'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const textOverlay = el.shadowRoot?.querySelector(\n 'text-overlay'\n ) as TextOverlay;\n expect(textOverlay).to.exist;\n expect(textOverlay.type).to.equal('content-warning');\n });\n\n it('should prioritize login-required overlay over content-warning if both required and logged out', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n contentWarning: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'desktop'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const textOverlay = el.shadowRoot?.querySelector(\n 'text-overlay'\n ) as TextOverlay;\n expect(textOverlay).to.exist;\n expect(textOverlay.type).to.equal('login-required');\n });\n\n it('should show content-warning overlay if both types required and logged in', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n contentWarning: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'desktop'}\n .loggedIn=${true}\n >\n </image-block>\n `);\n\n const textOverlay = el.shadowRoot?.querySelector(\n 'text-overlay'\n ) as TextOverlay;\n expect(textOverlay).to.exist;\n expect(textOverlay.type).to.equal('content-warning');\n });\n\n it('should render no overlay if neither loginRequired nor contentWarning flag present', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'desktop'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const textOverlay = el.shadowRoot?.querySelector(\n 'text-overlay'\n ) as TextOverlay;\n expect(textOverlay).not.to.exist;\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"image-block.test.js","sourceRoot":"","sources":["../../test/image-block.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect, fixture } from '@open-wc/testing';\nimport { html } from 'lit';\nimport type { ImageBlock } from '../src/tiles/image-block';\nimport type { TextOverlay } from '../src/tiles/overlay/text-overlay';\n\nimport '../src/tiles/image-block';\n\ndescribe('Image block component', () => {\n it('should render component grid display mode', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n contentWarning: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'grid'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const viewSize = el.shadowRoot?.querySelector('.grid');\n const itemImage = el.shadowRoot?.querySelector('item-image');\n const textOverlay = el.shadowRoot?.querySelector('text-overlay');\n\n expect(viewSize).to.exist;\n expect(itemImage).to.exist;\n expect(textOverlay).to.exist;\n });\n\n it('should render component list display mode', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n contentWarning: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${true}\n .viewSize=${'desktop'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const viewSize = el.shadowRoot?.querySelector('.list.desktop');\n const itemImage = el.shadowRoot?.querySelector('item-image');\n const iconOverlay = el.shadowRoot?.querySelector('icon-overlay');\n\n expect(viewSize).to.exist;\n expect(itemImage).to.exist;\n expect(iconOverlay).to.exist;\n });\n\n it('should render component compact display mode', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n contentWarning: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${true}\n .isListTile=${true}\n .viewSize=${'desktop'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const viewSize = el.shadowRoot?.querySelector('.list-compact.desktop');\n const itemImage = el.shadowRoot?.querySelector('item-image');\n const iconOverlay = el.shadowRoot?.querySelector('icon-overlay');\n\n expect(viewSize).to.exist;\n expect(itemImage).to.exist;\n expect(iconOverlay).to.exist;\n });\n\n it('should render a login-required overlay if model requires it and not logged in', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'desktop'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const textOverlay = el.shadowRoot?.querySelector(\n 'text-overlay',\n ) as TextOverlay;\n expect(textOverlay).to.exist;\n expect(textOverlay.type).to.equal('login-required');\n });\n\n it('should render no overlay if logged in and model only requires login', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'desktop'}\n .loggedIn=${true}\n >\n </image-block>\n `);\n\n const textOverlay = el.shadowRoot?.querySelector(\n 'text-overlay',\n ) as TextOverlay;\n expect(textOverlay).not.to.exist;\n });\n\n it('should render a content-warning overlay if model requires it and no login overlay is present', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n contentWarning: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'desktop'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const textOverlay = el.shadowRoot?.querySelector(\n 'text-overlay',\n ) as TextOverlay;\n expect(textOverlay).to.exist;\n expect(textOverlay.type).to.equal('content-warning');\n });\n\n it('should prioritize login-required overlay over content-warning if both required and logged out', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n contentWarning: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'desktop'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const textOverlay = el.shadowRoot?.querySelector(\n 'text-overlay',\n ) as TextOverlay;\n expect(textOverlay).to.exist;\n expect(textOverlay.type).to.equal('login-required');\n });\n\n it('should show content-warning overlay if both types required and logged in', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n contentWarning: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'desktop'}\n .loggedIn=${true}\n >\n </image-block>\n `);\n\n const textOverlay = el.shadowRoot?.querySelector(\n 'text-overlay',\n ) as TextOverlay;\n expect(textOverlay).to.exist;\n expect(textOverlay.type).to.equal('content-warning');\n });\n\n it('should render no overlay if neither loginRequired nor contentWarning flag present', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'desktop'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const textOverlay = el.shadowRoot?.querySelector(\n 'text-overlay',\n ) as TextOverlay;\n expect(textOverlay).not.to.exist;\n });\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import '../src/tiles/item-image';
|
|
1
|
+
import '../src/tiles/item-image';
|
|
@@ -1,44 +1,43 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
testBookModel.
|
|
9
|
-
testBookModel.
|
|
10
|
-
testBookModel.
|
|
11
|
-
testBookModel.
|
|
12
|
-
testBookModel.
|
|
13
|
-
testBookModel.
|
|
14
|
-
testBookModel.
|
|
15
|
-
testBookModel.
|
|
16
|
-
testBookModel.
|
|
17
|
-
testBookModel.
|
|
18
|
-
testBookModel.
|
|
19
|
-
testBookModel.
|
|
20
|
-
testBookModel.
|
|
21
|
-
testBookModel.
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
testAudioModel.
|
|
25
|
-
testAudioModel.
|
|
26
|
-
testAudioModel.
|
|
27
|
-
testAudioModel.
|
|
28
|
-
testAudioModel.
|
|
29
|
-
testAudioModel.
|
|
30
|
-
testAudioModel.
|
|
31
|
-
testAudioModel.
|
|
32
|
-
testAudioModel.
|
|
33
|
-
testAudioModel.
|
|
34
|
-
testAudioModel.
|
|
35
|
-
testAudioModel.
|
|
36
|
-
testAudioModel.
|
|
37
|
-
testAudioModel.
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
var _a, _b;
|
|
1
|
+
import { expect, fixture } from '@open-wc/testing';
|
|
2
|
+
import { html } from 'lit';
|
|
3
|
+
import { TileModel } from '../src/models';
|
|
4
|
+
import '../src/tiles/item-image';
|
|
5
|
+
const baseImageUrl = 'https://archive.org';
|
|
6
|
+
const testBookModel = new TileModel({});
|
|
7
|
+
testBookModel.checked = false;
|
|
8
|
+
testBookModel.collections = [];
|
|
9
|
+
testBookModel.commentCount = 0;
|
|
10
|
+
testBookModel.creators = [];
|
|
11
|
+
testBookModel.favCount = 0;
|
|
12
|
+
testBookModel.identifier = '18730130BloomfieldRecordCompleteIssue';
|
|
13
|
+
testBookModel.itemCount = 0;
|
|
14
|
+
testBookModel.mediatype = 'texts';
|
|
15
|
+
testBookModel.subjects = [];
|
|
16
|
+
testBookModel.title = 'Sample Waveform';
|
|
17
|
+
testBookModel.viewCount = 0;
|
|
18
|
+
testBookModel.loginRequired = false;
|
|
19
|
+
testBookModel.contentWarning = false;
|
|
20
|
+
testBookModel.collectionFilesCount = 0;
|
|
21
|
+
testBookModel.collectionSize = 0;
|
|
22
|
+
const testAudioModel = new TileModel({});
|
|
23
|
+
testAudioModel.checked = false;
|
|
24
|
+
testAudioModel.collections = [];
|
|
25
|
+
testAudioModel.commentCount = 0;
|
|
26
|
+
testAudioModel.creators = [];
|
|
27
|
+
testAudioModel.favCount = 0;
|
|
28
|
+
testAudioModel.identifier = 'dwd2015-01-24';
|
|
29
|
+
testAudioModel.itemCount = 0;
|
|
30
|
+
testAudioModel.mediatype = 'audio';
|
|
31
|
+
testAudioModel.subjects = [];
|
|
32
|
+
testAudioModel.title = 'Sample Waveform';
|
|
33
|
+
testAudioModel.viewCount = 0;
|
|
34
|
+
testAudioModel.loginRequired = false;
|
|
35
|
+
testAudioModel.contentWarning = false;
|
|
36
|
+
testAudioModel.collectionFilesCount = 0;
|
|
37
|
+
testAudioModel.collectionSize = 0;
|
|
38
|
+
describe('ItemImage component', () => {
|
|
39
|
+
it('should render initial component', async () => {
|
|
40
|
+
var _a, _b;
|
|
42
41
|
const el = await fixture(html `
|
|
43
42
|
<item-image
|
|
44
43
|
.isListTile=${false}
|
|
@@ -47,14 +46,14 @@ describe('ItemImage component', () => {
|
|
|
47
46
|
.baseImageUrl=${baseImageUrl}
|
|
48
47
|
>
|
|
49
48
|
</item-image>
|
|
50
|
-
`);
|
|
51
|
-
const dropShadow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.drop-shadow');
|
|
52
|
-
const imgClassName = (_b = dropShadow === null || dropShadow === void 0 ? void 0 : dropShadow.querySelector('img')) === null || _b === void 0 ? void 0 : _b.className;
|
|
53
|
-
expect(dropShadow).to.exist;
|
|
54
|
-
expect(imgClassName).to.eql(' contain ');
|
|
55
|
-
});
|
|
56
|
-
it('should render component if mediatype is waveform', async () => {
|
|
57
|
-
var _a;
|
|
49
|
+
`);
|
|
50
|
+
const dropShadow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.drop-shadow');
|
|
51
|
+
const imgClassName = (_b = dropShadow === null || dropShadow === void 0 ? void 0 : dropShadow.querySelector('img')) === null || _b === void 0 ? void 0 : _b.className;
|
|
52
|
+
expect(dropShadow).to.exist;
|
|
53
|
+
expect(imgClassName).to.eql(' contain ');
|
|
54
|
+
});
|
|
55
|
+
it('should render component if mediatype is waveform', async () => {
|
|
56
|
+
var _a;
|
|
58
57
|
const el = await fixture(html `
|
|
59
58
|
<item-image
|
|
60
59
|
.isListTile=${false}
|
|
@@ -63,19 +62,19 @@ describe('ItemImage component', () => {
|
|
|
63
62
|
.baseImageUrl=${baseImageUrl}
|
|
64
63
|
>
|
|
65
64
|
</item-image>
|
|
66
|
-
`);
|
|
67
|
-
const dropShadow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.drop-shadow');
|
|
68
|
-
const image = dropShadow === null || dropShadow === void 0 ? void 0 : dropShadow.querySelector('img');
|
|
69
|
-
expect(dropShadow).to.exist;
|
|
70
|
-
expect(image).to.exist;
|
|
71
|
-
// simulate image onLoad event check if image className is waveform
|
|
72
|
-
setTimeout(() => {
|
|
73
|
-
const imgClassName = image === null || image === void 0 ? void 0 : image.className;
|
|
74
|
-
expect(imgClassName).to.eql(' waveform ');
|
|
75
|
-
}, 1000);
|
|
76
|
-
});
|
|
77
|
-
it('should not fetch image with undefined base url', async () => {
|
|
78
|
-
var _a;
|
|
65
|
+
`);
|
|
66
|
+
const dropShadow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.drop-shadow');
|
|
67
|
+
const image = dropShadow === null || dropShadow === void 0 ? void 0 : dropShadow.querySelector('img');
|
|
68
|
+
expect(dropShadow).to.exist;
|
|
69
|
+
expect(image).to.exist;
|
|
70
|
+
// simulate image onLoad event check if image className is waveform
|
|
71
|
+
setTimeout(() => {
|
|
72
|
+
const imgClassName = image === null || image === void 0 ? void 0 : image.className;
|
|
73
|
+
expect(imgClassName).to.eql(' waveform ');
|
|
74
|
+
}, 1000);
|
|
75
|
+
});
|
|
76
|
+
it('should not fetch image with undefined base url', async () => {
|
|
77
|
+
var _a;
|
|
79
78
|
const el = await fixture(html `
|
|
80
79
|
<item-image
|
|
81
80
|
.isListTile=${false}
|
|
@@ -83,14 +82,14 @@ describe('ItemImage component', () => {
|
|
|
83
82
|
.model=${testBookModel}
|
|
84
83
|
>
|
|
85
84
|
</item-image>
|
|
86
|
-
`);
|
|
87
|
-
// Doesn't set the image src if base url is undefined
|
|
88
|
-
const img = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('img');
|
|
89
|
-
expect(img).to.exist;
|
|
90
|
-
expect(img === null || img === void 0 ? void 0 : img.getAttribute('src')).not.to.exist;
|
|
91
|
-
});
|
|
92
|
-
it('should not fetch image with undefined model', async () => {
|
|
93
|
-
var _a;
|
|
85
|
+
`);
|
|
86
|
+
// Doesn't set the image src if base url is undefined
|
|
87
|
+
const img = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('img');
|
|
88
|
+
expect(img).to.exist;
|
|
89
|
+
expect(img === null || img === void 0 ? void 0 : img.getAttribute('src')).not.to.exist;
|
|
90
|
+
});
|
|
91
|
+
it('should not fetch image with undefined model', async () => {
|
|
92
|
+
var _a;
|
|
94
93
|
const el = await fixture(html `
|
|
95
94
|
<item-image
|
|
96
95
|
.isListTile=${false}
|
|
@@ -98,14 +97,14 @@ describe('ItemImage component', () => {
|
|
|
98
97
|
.baseImageUrl=${baseImageUrl}
|
|
99
98
|
>
|
|
100
99
|
</item-image>
|
|
101
|
-
`);
|
|
102
|
-
// Doesn't set the image src if model is not present
|
|
103
|
-
const img = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('img');
|
|
104
|
-
expect(img).to.exist;
|
|
105
|
-
expect(img === null || img === void 0 ? void 0 : img.getAttribute('src')).not.to.exist;
|
|
106
|
-
});
|
|
107
|
-
it('should not fetch image with undefined identifier', async () => {
|
|
108
|
-
var _a;
|
|
100
|
+
`);
|
|
101
|
+
// Doesn't set the image src if model is not present
|
|
102
|
+
const img = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('img');
|
|
103
|
+
expect(img).to.exist;
|
|
104
|
+
expect(img === null || img === void 0 ? void 0 : img.getAttribute('src')).not.to.exist;
|
|
105
|
+
});
|
|
106
|
+
it('should not fetch image with undefined identifier', async () => {
|
|
107
|
+
var _a;
|
|
109
108
|
const el = await fixture(html `
|
|
110
109
|
<item-image
|
|
111
110
|
.isListTile=${false}
|
|
@@ -114,11 +113,11 @@ describe('ItemImage component', () => {
|
|
|
114
113
|
.baseImageUrl=${baseImageUrl}
|
|
115
114
|
>
|
|
116
115
|
</item-image>
|
|
117
|
-
`);
|
|
118
|
-
// Doesn't set the image src if identifier is not present
|
|
119
|
-
const img = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('img');
|
|
120
|
-
expect(img).to.exist;
|
|
121
|
-
expect(img === null || img === void 0 ? void 0 : img.getAttribute('src')).not.to.exist;
|
|
122
|
-
});
|
|
123
|
-
});
|
|
116
|
+
`);
|
|
117
|
+
// Doesn't set the image src if identifier is not present
|
|
118
|
+
const img = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('img');
|
|
119
|
+
expect(img).to.exist;
|
|
120
|
+
expect(img === null || img === void 0 ? void 0 : img.getAttribute('src')).not.to.exist;
|
|
121
|
+
});
|
|
122
|
+
});
|
|
124
123
|
//# sourceMappingURL=item-image.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item-image.test.js","sourceRoot":"","sources":["../../test/item-image.test.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"item-image.test.js","sourceRoot":"","sources":["../../test/item-image.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect, fixture } from '@open-wc/testing';\nimport { html } from 'lit';\n\nimport { TileModel } from '../src/models';\nimport type { ItemImage } from '../src/tiles/item-image';\n\nimport '../src/tiles/item-image';\n\nconst baseImageUrl = 'https://archive.org';\nconst testBookModel: TileModel = new TileModel({});\ntestBookModel.checked = false;\ntestBookModel.collections = [];\ntestBookModel.commentCount = 0;\ntestBookModel.creators = [];\ntestBookModel.favCount = 0;\ntestBookModel.identifier = '18730130BloomfieldRecordCompleteIssue';\ntestBookModel.itemCount = 0;\ntestBookModel.mediatype = 'texts';\ntestBookModel.subjects = [];\ntestBookModel.title = 'Sample Waveform';\ntestBookModel.viewCount = 0;\ntestBookModel.loginRequired = false;\ntestBookModel.contentWarning = false;\ntestBookModel.collectionFilesCount = 0;\ntestBookModel.collectionSize = 0;\n\nconst testAudioModel: TileModel = new TileModel({});\ntestAudioModel.checked = false;\ntestAudioModel.collections = [];\ntestAudioModel.commentCount = 0;\ntestAudioModel.creators = [];\ntestAudioModel.favCount = 0;\ntestAudioModel.identifier = 'dwd2015-01-24';\ntestAudioModel.itemCount = 0;\ntestAudioModel.mediatype = 'audio';\ntestAudioModel.subjects = [];\ntestAudioModel.title = 'Sample Waveform';\ntestAudioModel.viewCount = 0;\ntestAudioModel.loginRequired = false;\ntestAudioModel.contentWarning = false;\ntestAudioModel.collectionFilesCount = 0;\ntestAudioModel.collectionSize = 0;\n\ndescribe('ItemImage component', () => {\n it('should render initial component', async () => {\n const el = await fixture<ItemImage>(html`\n <item-image\n .isListTile=${false}\n .isCompactTile=${false}\n .model=${testBookModel}\n .baseImageUrl=${baseImageUrl}\n >\n </item-image>\n `);\n\n const dropShadow = el.shadowRoot?.querySelector('.drop-shadow');\n const imgClassName = dropShadow?.querySelector('img')?.className;\n\n expect(dropShadow).to.exist;\n expect(imgClassName).to.eql(' contain ');\n });\n\n it('should render component if mediatype is waveform', async () => {\n const el = await fixture<ItemImage>(html`\n <item-image\n .isListTile=${false}\n .isCompactTile=${false}\n .model=${testAudioModel}\n .baseImageUrl=${baseImageUrl}\n >\n </item-image>\n `);\n\n const dropShadow = el.shadowRoot?.querySelector('.drop-shadow');\n const image = dropShadow?.querySelector('img');\n expect(dropShadow).to.exist;\n expect(image).to.exist;\n\n // simulate image onLoad event check if image className is waveform\n setTimeout(() => {\n const imgClassName = image?.className;\n expect(imgClassName).to.eql(' waveform ');\n }, 1000);\n });\n\n it('should not fetch image with undefined base url', async () => {\n const el = await fixture<ItemImage>(html`\n <item-image\n .isListTile=${false}\n .isCompactTile=${false}\n .model=${testBookModel}\n >\n </item-image>\n `);\n\n // Doesn't set the image src if base url is undefined\n const img = el.shadowRoot?.querySelector('img');\n expect(img).to.exist;\n expect(img?.getAttribute('src')).not.to.exist;\n });\n\n it('should not fetch image with undefined model', async () => {\n const el = await fixture<ItemImage>(html`\n <item-image\n .isListTile=${false}\n .isCompactTile=${false}\n .baseImageUrl=${baseImageUrl}\n >\n </item-image>\n `);\n\n // Doesn't set the image src if model is not present\n const img = el.shadowRoot?.querySelector('img');\n expect(img).to.exist;\n expect(img?.getAttribute('src')).not.to.exist;\n });\n\n it('should not fetch image with undefined identifier', async () => {\n const el = await fixture<ItemImage>(html`\n <item-image\n .isListTile=${false}\n .isCompactTile=${false}\n .model=${{}}\n .baseImageUrl=${baseImageUrl}\n >\n </item-image>\n `);\n\n // Doesn't set the image src if identifier is not present\n const img = el.shadowRoot?.querySelector('img');\n expect(img).to.exist;\n expect(img?.getAttribute('src')).not.to.exist;\n });\n});\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import '../../src/manage/manage-bar';
|
|
2
|
-
import '@internetarchive/modal-manager';
|
|
1
|
+
import '../../src/manage/manage-bar';
|
|
2
|
+
import '@internetarchive/modal-manager';
|