@internetarchive/collection-browser 3.3.2 → 3.3.3
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 +27 -27
- package/.github/workflows/gh-pages-main.yml +39 -39
- package/.github/workflows/npm-publish.yml +39 -39
- package/.github/workflows/pr-preview.yml +38 -38
- package/.husky/pre-commit +4 -4
- package/.prettierignore +1 -1
- package/LICENSE +661 -661
- package/README.md +83 -83
- package/dist/index.d.ts +16 -0
- package/dist/index.js.map +1 -0
- package/dist/src/app-root.d.ts +105 -0
- package/dist/src/app-root.js +1076 -0
- package/dist/src/app-root.js.map +1 -0
- package/dist/src/assets/img/icons/arrow-left.d.ts +2 -0
- package/dist/src/assets/img/icons/arrow-left.js +10 -0
- package/dist/src/assets/img/icons/arrow-left.js.map +1 -0
- package/dist/src/assets/img/icons/arrow-right.d.ts +2 -0
- package/dist/src/assets/img/icons/arrow-right.js +10 -0
- package/dist/src/assets/img/icons/arrow-right.js.map +1 -0
- package/dist/src/assets/img/icons/chevron.d.ts +2 -0
- package/dist/src/assets/img/icons/chevron.js +4 -0
- package/dist/src/assets/img/icons/chevron.js.map +1 -0
- package/dist/src/assets/img/icons/close-circle-dark.d.ts +2 -0
- package/dist/src/assets/img/icons/close-circle-dark.js +5 -0
- package/dist/src/assets/img/icons/close-circle-dark.js.map +1 -0
- package/dist/src/assets/img/icons/contract.d.ts +2 -0
- package/dist/src/assets/img/icons/contract.js +9 -0
- package/dist/src/assets/img/icons/contract.js.map +1 -0
- package/dist/src/assets/img/icons/empty-query.d.ts +2 -0
- package/dist/src/assets/img/icons/empty-query.js +5 -0
- package/dist/src/assets/img/icons/empty-query.js.map +1 -0
- package/dist/src/assets/img/icons/expand.d.ts +2 -0
- package/dist/src/assets/img/icons/expand.js +9 -0
- package/dist/src/assets/img/icons/expand.js.map +1 -0
- package/dist/src/assets/img/icons/eye-closed.d.ts +2 -0
- package/dist/src/assets/img/icons/eye-closed.js +5 -0
- package/dist/src/assets/img/icons/eye-closed.js.map +1 -0
- package/dist/src/assets/img/icons/eye.d.ts +2 -0
- package/dist/src/assets/img/icons/eye.js +5 -0
- package/dist/src/assets/img/icons/eye.js.map +1 -0
- package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -0
- package/dist/src/assets/img/icons/favorite-filled.js +10 -0
- package/dist/src/assets/img/icons/favorite-filled.js.map +1 -0
- package/dist/src/assets/img/icons/favorite-unfilled.d.ts +1 -0
- package/dist/src/assets/img/icons/favorite-unfilled.js +9 -0
- package/dist/src/assets/img/icons/favorite-unfilled.js.map +1 -0
- package/dist/src/assets/img/icons/filter.d.ts +2 -0
- package/dist/src/assets/img/icons/filter.js +10 -0
- package/dist/src/assets/img/icons/filter.js.map +1 -0
- package/dist/src/assets/img/icons/login-required.d.ts +1 -0
- package/dist/src/assets/img/icons/login-required.js +18 -0
- package/dist/src/assets/img/icons/login-required.js.map +1 -0
- package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -0
- package/dist/src/assets/img/icons/mediatype/account.js +14 -0
- package/dist/src/assets/img/icons/mediatype/account.js.map +1 -0
- package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -0
- package/dist/src/assets/img/icons/mediatype/audio.js +14 -0
- package/dist/src/assets/img/icons/mediatype/audio.js.map +1 -0
- package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -0
- package/dist/src/assets/img/icons/mediatype/collection.js +12 -0
- package/dist/src/assets/img/icons/mediatype/collection.js.map +1 -0
- package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -0
- package/dist/src/assets/img/icons/mediatype/data.js +15 -0
- package/dist/src/assets/img/icons/mediatype/data.js.map +1 -0
- package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -0
- package/dist/src/assets/img/icons/mediatype/etree.js +14 -0
- package/dist/src/assets/img/icons/mediatype/etree.js.map +1 -0
- package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -0
- package/dist/src/assets/img/icons/mediatype/film.js +14 -0
- package/dist/src/assets/img/icons/mediatype/film.js.map +1 -0
- package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -0
- package/dist/src/assets/img/icons/mediatype/images.js +13 -0
- package/dist/src/assets/img/icons/mediatype/images.js.map +1 -0
- package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -0
- package/dist/src/assets/img/icons/mediatype/radio.js +15 -0
- package/dist/src/assets/img/icons/mediatype/radio.js.map +1 -0
- package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -0
- package/dist/src/assets/img/icons/mediatype/search.js +14 -0
- package/dist/src/assets/img/icons/mediatype/search.js.map +1 -0
- package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -0
- package/dist/src/assets/img/icons/mediatype/software.js +13 -0
- package/dist/src/assets/img/icons/mediatype/software.js.map +1 -0
- package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -0
- package/dist/src/assets/img/icons/mediatype/texts.js +13 -0
- package/dist/src/assets/img/icons/mediatype/texts.js.map +1 -0
- package/dist/src/assets/img/icons/mediatype/tv-commercial.d.ts +1 -0
- package/dist/src/assets/img/icons/mediatype/tv-commercial.js +12 -0
- package/dist/src/assets/img/icons/mediatype/tv-commercial.js.map +1 -0
- package/dist/src/assets/img/icons/mediatype/tv-fact-check.d.ts +1 -0
- package/dist/src/assets/img/icons/mediatype/tv-fact-check.js +12 -0
- package/dist/src/assets/img/icons/mediatype/tv-fact-check.js.map +1 -0
- package/dist/src/assets/img/icons/mediatype/tv-quote.d.ts +1 -0
- package/dist/src/assets/img/icons/mediatype/tv-quote.js +12 -0
- package/dist/src/assets/img/icons/mediatype/tv-quote.js.map +1 -0
- package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -0
- package/dist/src/assets/img/icons/mediatype/tv.js +14 -0
- package/dist/src/assets/img/icons/mediatype/tv.js.map +1 -0
- package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -0
- package/dist/src/assets/img/icons/mediatype/video.js +14 -0
- package/dist/src/assets/img/icons/mediatype/video.js.map +1 -0
- package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -0
- package/dist/src/assets/img/icons/mediatype/web.js +13 -0
- package/dist/src/assets/img/icons/mediatype/web.js.map +1 -0
- package/dist/src/assets/img/icons/null-result.d.ts +2 -0
- package/dist/src/assets/img/icons/null-result.js +5 -0
- package/dist/src/assets/img/icons/null-result.js.map +1 -0
- package/dist/src/assets/img/icons/quote.d.ts +1 -0
- package/dist/src/assets/img/icons/quote.js +7 -0
- package/dist/src/assets/img/icons/quote.js.map +1 -0
- package/dist/src/assets/img/icons/restricted.d.ts +1 -0
- package/dist/src/assets/img/icons/restricted.js +13 -0
- package/dist/src/assets/img/icons/restricted.js.map +1 -0
- package/dist/src/assets/img/icons/reviews.d.ts +1 -0
- package/dist/src/assets/img/icons/reviews.js +11 -0
- package/dist/src/assets/img/icons/reviews.js.map +1 -0
- package/dist/src/assets/img/icons/upload.d.ts +1 -0
- package/dist/src/assets/img/icons/upload.js +12 -0
- package/dist/src/assets/img/icons/upload.js.map +1 -0
- package/dist/src/assets/img/icons/views.d.ts +1 -0
- package/dist/src/assets/img/icons/views.js +11 -0
- package/dist/src/assets/img/icons/views.js.map +1 -0
- package/dist/src/circular-activity-indicator.d.ts +5 -0
- package/dist/src/circular-activity-indicator.js +66 -0
- package/dist/src/circular-activity-indicator.js.map +1 -0
- package/dist/src/collection-browser.d.ts +684 -0
- package/dist/src/collection-browser.js +2567 -0
- package/dist/src/collection-browser.js.map +1 -0
- package/dist/src/collection-facets/facet-row.d.ts +30 -0
- package/dist/src/collection-facets/facet-row.js +265 -0
- package/dist/src/collection-facets/facet-row.js.map +1 -0
- package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -0
- package/dist/src/collection-facets/facet-tombstone-row.js +43 -0
- package/dist/src/collection-facets/facet-tombstone-row.js.map +1 -0
- package/dist/src/collection-facets/facets-template.d.ts +13 -0
- package/dist/src/collection-facets/facets-template.js +68 -0
- package/dist/src/collection-facets/facets-template.js.map +1 -0
- package/dist/src/collection-facets/models.d.ts +9 -0
- package/dist/src/collection-facets/models.js +10 -0
- package/dist/src/collection-facets/models.js.map +1 -0
- package/dist/src/collection-facets/more-facets-content.d.ts +109 -0
- package/dist/src/collection-facets/more-facets-content.js +547 -0
- package/dist/src/collection-facets/more-facets-content.js.map +1 -0
- package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -0
- package/dist/src/collection-facets/more-facets-pagination.js +264 -0
- package/dist/src/collection-facets/more-facets-pagination.js.map +1 -0
- package/dist/src/collection-facets/smart-facets/dedupe.d.ts +10 -0
- package/dist/src/collection-facets/smart-facets/dedupe.js +35 -0
- package/dist/src/collection-facets/smart-facets/dedupe.js.map +1 -0
- package/dist/src/collection-facets/smart-facets/heuristics/browser-language/browser-language-heuristic.d.ts +5 -0
- package/dist/src/collection-facets/smart-facets/heuristics/browser-language/browser-language-heuristic.js +24 -0
- package/dist/src/collection-facets/smart-facets/heuristics/browser-language/browser-language-heuristic.js.map +1 -0
- package/dist/src/collection-facets/smart-facets/heuristics/index.d.ts +3 -0
- package/dist/src/collection-facets/smart-facets/heuristics/index.js +4 -0
- package/dist/src/collection-facets/smart-facets/heuristics/index.js.map +1 -0
- package/dist/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-heuristic.d.ts +4 -0
- package/dist/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-heuristic.js +14 -0
- package/dist/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-heuristic.js.map +1 -0
- package/dist/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-map.d.ts +6 -0
- package/dist/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-map.js +68 -0
- package/dist/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-map.js.map +1 -0
- package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-entity-map.d.ts +9 -0
- package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-entity-map.js +69 -0
- package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-entity-map.js.map +1 -0
- package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-heuristic.d.ts +21 -0
- package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-heuristic.js +76 -0
- package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-heuristic.js.map +1 -0
- package/dist/src/collection-facets/smart-facets/models.d.ts +30 -0
- package/dist/src/collection-facets/smart-facets/models.js +2 -0
- package/dist/src/collection-facets/smart-facets/models.js.map +1 -0
- package/dist/src/collection-facets/smart-facets/smart-facet-bar.d.ts +54 -0
- package/dist/src/collection-facets/smart-facets/smart-facet-bar.js +383 -0
- package/dist/src/collection-facets/smart-facets/smart-facet-bar.js.map +1 -0
- package/dist/src/collection-facets/smart-facets/smart-facet-button.d.ts +11 -0
- package/dist/src/collection-facets/smart-facets/smart-facet-button.js +133 -0
- package/dist/src/collection-facets/smart-facets/smart-facet-button.js.map +1 -0
- package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.d.ts +28 -0
- package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js +172 -0
- package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js.map +1 -0
- package/dist/src/collection-facets/smart-facets/smart-facet-equals.d.ts +2 -0
- package/dist/src/collection-facets/smart-facets/smart-facet-equals.js +13 -0
- package/dist/src/collection-facets/smart-facets/smart-facet-equals.js.map +1 -0
- package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.d.ts +5 -0
- package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js +18 -0
- package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js.map +1 -0
- package/dist/src/collection-facets/toggle-switch.d.ts +41 -0
- package/dist/src/collection-facets/toggle-switch.js +174 -0
- package/dist/src/collection-facets/toggle-switch.js.map +1 -0
- package/dist/src/collection-facets.d.ts +113 -0
- package/dist/src/collection-facets.js +872 -0
- package/dist/src/collection-facets.js.map +1 -0
- package/dist/src/data-source/collection-browser-data-source-interface.d.ts +261 -0
- package/dist/src/data-source/collection-browser-data-source-interface.js +2 -0
- package/dist/src/data-source/collection-browser-data-source-interface.js.map +1 -0
- package/dist/src/data-source/collection-browser-data-source.d.ts +400 -0
- package/dist/src/data-source/collection-browser-data-source.js +1103 -0
- package/dist/src/data-source/collection-browser-data-source.js.map +1 -0
- package/dist/src/data-source/collection-browser-query-state.d.ts +49 -0
- package/dist/src/data-source/collection-browser-query-state.js +2 -0
- package/dist/src/data-source/collection-browser-query-state.js.map +1 -0
- package/dist/src/data-source/models.d.ts +32 -0
- package/dist/src/data-source/models.js +9 -0
- package/dist/src/data-source/models.js.map +1 -0
- package/dist/src/empty-placeholder.d.ts +23 -0
- package/dist/src/empty-placeholder.js +165 -0
- package/dist/src/empty-placeholder.js.map +1 -0
- package/dist/src/expanded-date-picker.d.ts +50 -0
- package/dist/src/expanded-date-picker.js +182 -0
- package/dist/src/expanded-date-picker.js.map +1 -0
- package/dist/src/language-code-handler/language-code-handler.d.ts +37 -0
- package/dist/src/language-code-handler/language-code-handler.js +27 -0
- package/dist/src/language-code-handler/language-code-handler.js.map +1 -0
- package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -0
- package/dist/src/language-code-handler/language-code-mapping.js +563 -0
- package/dist/src/language-code-handler/language-code-mapping.js.map +1 -0
- package/dist/src/manage/manage-bar.d.ts +58 -0
- package/dist/src/manage/manage-bar.js +237 -0
- package/dist/src/manage/manage-bar.js.map +1 -0
- package/dist/src/manage/remove-items-modal-content.d.ts +9 -0
- package/dist/src/manage/remove-items-modal-content.js +104 -0
- package/dist/src/manage/remove-items-modal-content.js.map +1 -0
- package/dist/src/mediatype/mediatype-config.d.ts +11 -0
- package/dist/src/mediatype/mediatype-config.js +116 -0
- package/dist/src/mediatype/mediatype-config.js.map +1 -0
- package/dist/src/models.d.ts +302 -0
- package/dist/src/models.js +511 -0
- package/dist/src/models.js.map +1 -0
- package/dist/src/restoration-state-handler.d.ts +75 -0
- package/dist/src/restoration-state-handler.js +403 -0
- package/dist/src/restoration-state-handler.js.map +1 -0
- package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -0
- package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +60 -0
- package/dist/src/sort-filter-bar/alpha-bar-tooltip.js.map +1 -0
- package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -0
- package/dist/src/sort-filter-bar/alpha-bar.js +241 -0
- package/dist/src/sort-filter-bar/alpha-bar.js.map +1 -0
- package/dist/src/sort-filter-bar/img/compact.d.ts +1 -0
- package/dist/src/sort-filter-bar/img/compact.js +5 -0
- package/dist/src/sort-filter-bar/img/compact.js.map +1 -0
- package/dist/src/sort-filter-bar/img/list.d.ts +1 -0
- package/dist/src/sort-filter-bar/img/list.js +5 -0
- package/dist/src/sort-filter-bar/img/list.js.map +1 -0
- package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -0
- package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +15 -0
- package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js.map +1 -0
- package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -0
- package/dist/src/sort-filter-bar/img/sort-toggle-down.js +17 -0
- package/dist/src/sort-filter-bar/img/sort-toggle-down.js.map +1 -0
- package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -0
- package/dist/src/sort-filter-bar/img/sort-toggle-up.js +17 -0
- package/dist/src/sort-filter-bar/img/sort-toggle-up.js.map +1 -0
- package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -0
- package/dist/src/sort-filter-bar/img/sort-triangle.js +5 -0
- package/dist/src/sort-filter-bar/img/sort-triangle.js.map +1 -0
- package/dist/src/sort-filter-bar/img/tile.d.ts +1 -0
- package/dist/src/sort-filter-bar/img/tile.js +5 -0
- package/dist/src/sort-filter-bar/img/tile.js.map +1 -0
- package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +278 -0
- package/dist/src/sort-filter-bar/sort-filter-bar.js +1161 -0
- package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -0
- package/dist/src/styles/ia-button.d.ts +2 -0
- package/dist/src/styles/ia-button.js +134 -0
- package/dist/src/styles/ia-button.js.map +1 -0
- package/dist/src/styles/item-image-styles.d.ts +8 -0
- package/dist/src/styles/item-image-styles.js +123 -0
- package/dist/src/styles/item-image-styles.js.map +1 -0
- package/dist/src/styles/sr-only.d.ts +1 -0
- package/dist/src/styles/sr-only.js +18 -0
- package/dist/src/styles/sr-only.js.map +1 -0
- package/dist/src/tiles/base-tile-component.d.ts +27 -0
- package/dist/src/tiles/base-tile-component.js +82 -0
- package/dist/src/tiles/base-tile-component.js.map +1 -0
- package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -0
- package/dist/src/tiles/collection-browser-loading-tile.js +29 -0
- package/dist/src/tiles/collection-browser-loading-tile.js.map +1 -0
- package/dist/src/tiles/grid/account-tile.d.ts +18 -0
- package/dist/src/tiles/grid/account-tile.js +111 -0
- package/dist/src/tiles/grid/account-tile.js.map +1 -0
- package/dist/src/tiles/grid/collection-tile.d.ts +15 -0
- package/dist/src/tiles/grid/collection-tile.js +160 -0
- package/dist/src/tiles/grid/collection-tile.js.map +1 -0
- package/dist/src/tiles/grid/item-tile.d.ts +41 -0
- package/dist/src/tiles/grid/item-tile.js +321 -0
- package/dist/src/tiles/grid/item-tile.js.map +1 -0
- package/dist/src/tiles/grid/search-tile.d.ts +10 -0
- package/dist/src/tiles/grid/search-tile.js +95 -0
- package/dist/src/tiles/grid/search-tile.js.map +1 -0
- package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -0
- package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +128 -0
- package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js.map +1 -0
- package/dist/src/tiles/grid/tile-stats.d.ts +58 -0
- package/dist/src/tiles/grid/tile-stats.js +204 -0
- package/dist/src/tiles/grid/tile-stats.js.map +1 -0
- package/dist/src/tiles/hover/hover-pane-controller.d.ts +228 -0
- package/dist/src/tiles/hover/hover-pane-controller.js +446 -0
- package/dist/src/tiles/hover/hover-pane-controller.js.map +1 -0
- package/dist/src/tiles/hover/tile-hover-pane.d.ts +20 -0
- package/dist/src/tiles/hover/tile-hover-pane.js +185 -0
- package/dist/src/tiles/hover/tile-hover-pane.js.map +1 -0
- package/dist/src/tiles/image-block.d.ts +19 -0
- package/dist/src/tiles/image-block.js +175 -0
- package/dist/src/tiles/image-block.js.map +1 -0
- package/dist/src/tiles/item-image.d.ts +40 -0
- package/dist/src/tiles/item-image.js +191 -0
- package/dist/src/tiles/item-image.js.map +1 -0
- package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -0
- package/dist/src/tiles/list/tile-list-compact-header.js +85 -0
- package/dist/src/tiles/list/tile-list-compact-header.js.map +1 -0
- package/dist/src/tiles/list/tile-list-compact.d.ts +19 -0
- package/dist/src/tiles/list/tile-list-compact.js +223 -0
- package/dist/src/tiles/list/tile-list-compact.js.map +1 -0
- package/dist/src/tiles/list/tile-list.d.ts +54 -0
- package/dist/src/tiles/list/tile-list.js +621 -0
- package/dist/src/tiles/list/tile-list.js.map +1 -0
- package/dist/src/tiles/models.d.ts +1 -0
- package/dist/src/tiles/models.js +2 -0
- package/dist/src/tiles/models.js.map +1 -0
- package/dist/src/tiles/overlay/icon-overlay.d.ts +8 -0
- package/dist/src/tiles/overlay/icon-overlay.js +55 -0
- package/dist/src/tiles/overlay/icon-overlay.js.map +1 -0
- package/dist/src/tiles/overlay/text-overlay.d.ts +9 -0
- package/dist/src/tiles/overlay/text-overlay.js +74 -0
- package/dist/src/tiles/overlay/text-overlay.js.map +1 -0
- package/dist/src/tiles/review-block.d.ts +12 -0
- package/dist/src/tiles/review-block.js +134 -0
- package/dist/src/tiles/review-block.js.map +1 -0
- package/dist/src/tiles/text-snippet-block.d.ts +27 -0
- package/dist/src/tiles/text-snippet-block.js +132 -0
- package/dist/src/tiles/text-snippet-block.js.map +1 -0
- package/dist/src/tiles/tile-dispatcher.d.ts +71 -0
- package/dist/src/tiles/tile-dispatcher.js +472 -0
- package/dist/src/tiles/tile-dispatcher.js.map +1 -0
- package/dist/src/tiles/tile-display-value-provider.d.ts +47 -0
- package/dist/src/tiles/tile-display-value-provider.js +95 -0
- package/dist/src/tiles/tile-display-value-provider.js.map +1 -0
- package/dist/src/tiles/tile-mediatype-icon.d.ts +27 -0
- package/dist/src/tiles/tile-mediatype-icon.js +130 -0
- package/dist/src/tiles/tile-mediatype-icon.js.map +1 -0
- package/dist/src/utils/analytics-events.d.ts +28 -0
- package/dist/src/utils/analytics-events.js +31 -0
- package/dist/src/utils/analytics-events.js.map +1 -0
- package/dist/src/utils/array-equals.d.ts +4 -0
- package/dist/src/utils/array-equals.js +11 -0
- package/dist/src/utils/array-equals.js.map +1 -0
- package/dist/src/utils/collapse-repeated-quotes.d.ts +11 -0
- package/dist/src/utils/collapse-repeated-quotes.js +14 -0
- package/dist/src/utils/collapse-repeated-quotes.js.map +1 -0
- package/dist/src/utils/facet-utils.d.ts +83 -0
- package/dist/src/utils/facet-utils.js +152 -0
- package/dist/src/utils/facet-utils.js.map +1 -0
- package/dist/src/utils/format-count.d.ts +7 -0
- package/dist/src/utils/format-count.js +76 -0
- package/dist/src/utils/format-count.js.map +1 -0
- package/dist/src/utils/format-date.d.ts +16 -0
- package/dist/src/utils/format-date.js +33 -0
- package/dist/src/utils/format-date.js.map +1 -0
- package/dist/src/utils/format-unit-size.d.ts +2 -0
- package/dist/src/utils/format-unit-size.js +34 -0
- package/dist/src/utils/format-unit-size.js.map +1 -0
- package/dist/src/utils/local-date-from-utc.d.ts +9 -0
- package/dist/src/utils/local-date-from-utc.js +16 -0
- package/dist/src/utils/local-date-from-utc.js.map +1 -0
- package/dist/src/utils/log.d.ts +7 -0
- package/dist/src/utils/log.js +14 -0
- package/dist/src/utils/log.js.map +1 -0
- package/dist/src/utils/resolve-mediatype.d.ts +8 -0
- package/dist/src/utils/resolve-mediatype.js +24 -0
- package/dist/src/utils/resolve-mediatype.js.map +1 -0
- package/dist/src/utils/sha1.d.ts +2 -0
- package/dist/src/utils/sha1.js +9 -0
- package/dist/src/utils/sha1.js.map +1 -0
- package/dist/test/collection-browser.test.d.ts +1 -0
- package/dist/test/collection-browser.test.js +1711 -0
- package/dist/test/collection-browser.test.js.map +1 -0
- package/dist/test/collection-facets/facet-row.test.d.ts +1 -0
- package/dist/test/collection-facets/facet-row.test.js +274 -0
- package/dist/test/collection-facets/facet-row.test.js.map +1 -0
- package/dist/test/collection-facets/facets-template.test.d.ts +1 -0
- package/dist/test/collection-facets/facets-template.test.js +101 -0
- package/dist/test/collection-facets/facets-template.test.js.map +1 -0
- package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -0
- package/dist/test/collection-facets/more-facets-content.test.js +169 -0
- package/dist/test/collection-facets/more-facets-content.test.js.map +1 -0
- package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -0
- package/dist/test/collection-facets/more-facets-pagination.test.js +132 -0
- package/dist/test/collection-facets/more-facets-pagination.test.js.map +1 -0
- package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -0
- package/dist/test/collection-facets/toggle-switch.test.js +96 -0
- package/dist/test/collection-facets/toggle-switch.test.js.map +1 -0
- package/dist/test/collection-facets.test.d.ts +2 -0
- package/dist/test/collection-facets.test.js +745 -0
- package/dist/test/collection-facets.test.js.map +1 -0
- package/dist/test/data-source/collection-browser-data-source.test.d.ts +1 -0
- package/dist/test/data-source/collection-browser-data-source.test.js +102 -0
- package/dist/test/data-source/collection-browser-data-source.test.js.map +1 -0
- package/dist/test/empty-placeholder.test.d.ts +1 -0
- package/dist/test/empty-placeholder.test.js +63 -0
- package/dist/test/empty-placeholder.test.js.map +1 -0
- package/dist/test/expanded-date-picker.test.d.ts +1 -0
- package/dist/test/expanded-date-picker.test.js +130 -0
- package/dist/test/expanded-date-picker.test.js.map +1 -0
- package/dist/test/icon-overlay.test.d.ts +1 -0
- package/dist/test/icon-overlay.test.js +30 -0
- package/dist/test/icon-overlay.test.js.map +1 -0
- package/dist/test/image-block.test.d.ts +1 -0
- package/dist/test/image-block.test.js +218 -0
- package/dist/test/image-block.test.js.map +1 -0
- package/dist/test/item-image.test.d.ts +1 -0
- package/dist/test/item-image.test.js +196 -0
- package/dist/test/item-image.test.js.map +1 -0
- package/dist/test/manage/manage-bar.test.d.ts +2 -0
- package/dist/test/manage/manage-bar.test.js +106 -0
- package/dist/test/manage/manage-bar.test.js.map +1 -0
- package/dist/test/manage/remove-items-modal-content.test.d.ts +1 -0
- package/dist/test/manage/remove-items-modal-content.test.js +65 -0
- package/dist/test/manage/remove-items-modal-content.test.js.map +1 -0
- package/dist/test/mediatype-config.test.d.ts +1 -0
- package/dist/test/mediatype-config.test.js +11 -0
- package/dist/test/mediatype-config.test.js.map +1 -0
- package/dist/test/mocks/mock-analytics-handler.d.ts +10 -0
- package/dist/test/mocks/mock-analytics-handler.js +16 -0
- package/dist/test/mocks/mock-analytics-handler.js.map +1 -0
- package/dist/test/mocks/mock-search-responses.d.ts +31 -0
- package/dist/test/mocks/mock-search-responses.js +1241 -0
- package/dist/test/mocks/mock-search-responses.js.map +1 -0
- package/dist/test/mocks/mock-search-service.d.ts +16 -0
- package/dist/test/mocks/mock-search-service.js +65 -0
- package/dist/test/mocks/mock-search-service.js.map +1 -0
- package/dist/test/restoration-state-handler.test.d.ts +1 -0
- package/dist/test/restoration-state-handler.test.js +375 -0
- package/dist/test/restoration-state-handler.test.js.map +1 -0
- package/dist/test/review-block.test.d.ts +1 -0
- package/dist/test/review-block.test.js +48 -0
- package/dist/test/review-block.test.js.map +1 -0
- package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -0
- package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +13 -0
- package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js.map +1 -0
- package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -0
- package/dist/test/sort-filter-bar/alpha-bar.test.js +74 -0
- package/dist/test/sort-filter-bar/alpha-bar.test.js.map +1 -0
- package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -0
- package/dist/test/sort-filter-bar/sort-filter-bar.test.js +609 -0
- package/dist/test/sort-filter-bar/sort-filter-bar.test.js.map +1 -0
- package/dist/test/text-overlay.test.d.ts +1 -0
- package/dist/test/text-overlay.test.js +42 -0
- package/dist/test/text-overlay.test.js.map +1 -0
- package/dist/test/text-snippet-block.test.d.ts +1 -0
- package/dist/test/text-snippet-block.test.js +63 -0
- package/dist/test/text-snippet-block.test.js.map +1 -0
- package/dist/test/tile-stats.test.d.ts +1 -0
- package/dist/test/tile-stats.test.js +128 -0
- package/dist/test/tile-stats.test.js.map +1 -0
- package/dist/test/tiles/grid/account-tile.test.d.ts +1 -0
- package/dist/test/tiles/grid/account-tile.test.js +96 -0
- package/dist/test/tiles/grid/account-tile.test.js.map +1 -0
- package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -0
- package/dist/test/tiles/grid/collection-tile.test.js +96 -0
- package/dist/test/tiles/grid/collection-tile.test.js.map +1 -0
- package/dist/test/tiles/grid/item-tile.test.d.ts +1 -0
- package/dist/test/tiles/grid/item-tile.test.js +427 -0
- package/dist/test/tiles/grid/item-tile.test.js.map +1 -0
- package/dist/test/tiles/grid/search-tile.test.d.ts +1 -0
- package/dist/test/tiles/grid/search-tile.test.js +66 -0
- package/dist/test/tiles/grid/search-tile.test.js.map +1 -0
- package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -0
- package/dist/test/tiles/hover/hover-pane-controller.test.js +329 -0
- package/dist/test/tiles/hover/hover-pane-controller.test.js.map +1 -0
- package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -0
- package/dist/test/tiles/hover/tile-hover-pane.test.js +57 -0
- package/dist/test/tiles/hover/tile-hover-pane.test.js.map +1 -0
- package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -0
- package/dist/test/tiles/list/tile-list-compact.test.js +251 -0
- package/dist/test/tiles/list/tile-list-compact.test.js.map +1 -0
- package/dist/test/tiles/list/tile-list.test.d.ts +1 -0
- package/dist/test/tiles/list/tile-list.test.js +469 -0
- package/dist/test/tiles/list/tile-list.test.js.map +1 -0
- package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -0
- package/dist/test/tiles/tile-dispatcher.test.js +231 -0
- package/dist/test/tiles/tile-dispatcher.test.js.map +1 -0
- package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -0
- package/dist/test/tiles/tile-display-value-provider.test.js +142 -0
- package/dist/test/tiles/tile-display-value-provider.test.js.map +1 -0
- package/dist/test/tiles/tile-mediatype-icon.test.d.ts +1 -0
- package/dist/test/tiles/tile-mediatype-icon.test.js +145 -0
- package/dist/test/tiles/tile-mediatype-icon.test.js.map +1 -0
- package/dist/test/utils/array-equals.test.d.ts +1 -0
- package/dist/test/utils/array-equals.test.js +27 -0
- package/dist/test/utils/array-equals.test.js.map +1 -0
- package/dist/test/utils/format-count.test.d.ts +1 -0
- package/dist/test/utils/format-count.test.js +24 -0
- package/dist/test/utils/format-count.test.js.map +1 -0
- package/dist/test/utils/format-date.test.d.ts +1 -0
- package/dist/test/utils/format-date.test.js +61 -0
- package/dist/test/utils/format-date.test.js.map +1 -0
- package/dist/test/utils/format-unit-size.test.d.ts +1 -0
- package/dist/test/utils/format-unit-size.test.js +18 -0
- package/dist/test/utils/format-unit-size.test.js.map +1 -0
- package/dist/test/utils/local-date-from-utc.test.d.ts +1 -0
- package/dist/test/utils/local-date-from-utc.test.js +27 -0
- package/dist/test/utils/local-date-from-utc.test.js.map +1 -0
- package/eslint.config.mjs +53 -53
- package/index.html +24 -24
- package/local.archive.org.cert +86 -86
- package/local.archive.org.key +27 -27
- package/package.json +118 -117
- package/renovate.json +6 -6
- package/src/collection-browser.ts +2829 -2829
- package/src/collection-facets/more-facets-content.ts +639 -639
- package/src/collection-facets.ts +994 -995
- package/src/data-source/collection-browser-data-source.ts +1401 -1401
- package/src/data-source/collection-browser-query-state.ts +65 -65
- package/src/data-source/models.ts +43 -43
- package/src/tiles/base-tile-component.ts +65 -65
- package/src/tiles/grid/account-tile.ts +113 -113
- package/src/tiles/grid/collection-tile.ts +163 -163
- package/src/tiles/grid/item-tile.ts +340 -340
- package/src/tiles/hover/hover-pane-controller.ts +613 -517
- package/src/tiles/hover/tile-hover-pane.ts +184 -180
- package/src/tiles/list/tile-list-compact.ts +239 -239
- package/src/tiles/list/tile-list.ts +700 -700
- package/src/tiles/tile-dispatcher.ts +517 -490
- package/src/utils/format-date.ts +62 -62
- package/test/collection-browser.test.ts +2403 -2403
- package/test/tiles/grid/item-tile.test.ts +520 -520
- package/test/tiles/hover/hover-pane-controller.test.ts +418 -353
- package/test/tiles/list/tile-list-compact.test.ts +282 -282
- package/test/tiles/list/tile-list.test.ts +552 -552
- package/test/tiles/tile-dispatcher.test.ts +283 -187
- package/test/utils/format-date.test.ts +89 -89
- package/tsconfig.json +20 -20
- package/web-dev-server.config.mjs +30 -30
- package/web-test-runner.config.mjs +41 -41
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
import type { TemplateResult } from 'lit';
|
|
2
|
+
import type { MediaType } from '@internetarchive/field-parsers';
|
|
3
|
+
import { AggregationSortType, HitType, SearchReview, SearchResult, SortDirection } from '@internetarchive/search-service';
|
|
4
|
+
/**
|
|
5
|
+
* Different types of tile overlays, corresponding to the above flags.
|
|
6
|
+
*/
|
|
7
|
+
export type TileOverlayType = 'login-required' | 'content-warning';
|
|
8
|
+
export declare const TILE_OVERLAY_TEXT: Record<TileOverlayType, string>;
|
|
9
|
+
export declare const TILE_OVERLAY_ICONS: Record<TileOverlayType, TemplateResult>;
|
|
10
|
+
/**
|
|
11
|
+
* What type of request produced a given set of hits:
|
|
12
|
+
* - `search_query`: Hits produced by an explicit user query and/or applied filters on any page
|
|
13
|
+
* - `collection_members`: Hits produced for a collection page without any query or filters
|
|
14
|
+
* - `profile_tab`: Hits produced for a tab of the profile page without any query or filters
|
|
15
|
+
* - `unknown`: Hits produced via any other means
|
|
16
|
+
*/
|
|
17
|
+
export type HitRequestSource = 'search_query' | 'collection_members' | 'profile_tab' | 'unknown';
|
|
18
|
+
/**
|
|
19
|
+
* Class for converting & storing raw search results in the correct format for UI tiles.
|
|
20
|
+
*/
|
|
21
|
+
export declare class TileModel {
|
|
22
|
+
/** For TV hits. List of identifiers for any commercials contained. */
|
|
23
|
+
adIds?: string[];
|
|
24
|
+
averageRating?: number;
|
|
25
|
+
/** For Web Archive hits on profile pages. List of capture dates for the current URL. */
|
|
26
|
+
captureDates?: Date[];
|
|
27
|
+
/** Whether this tile is currently checked for item management functions */
|
|
28
|
+
checked: boolean;
|
|
29
|
+
collectionIdentifier?: string;
|
|
30
|
+
collectionName?: string;
|
|
31
|
+
collectionFilesCount: number;
|
|
32
|
+
collections: string[];
|
|
33
|
+
collectionSize: number;
|
|
34
|
+
commentCount: number;
|
|
35
|
+
creator?: string;
|
|
36
|
+
creators: string[];
|
|
37
|
+
/** A string representation of the publication date, used strictly for passing preformatted dates to the parent */
|
|
38
|
+
dateStr?: string;
|
|
39
|
+
/** Date added to public search (software-defined) [from MD field: addeddate] */
|
|
40
|
+
dateAdded?: Date;
|
|
41
|
+
/** Date archived (software-defined) item created on archive.org [from MD field: publicdate] */
|
|
42
|
+
dateArchived?: Date;
|
|
43
|
+
/** Date work published in the world (user-defined) [from MD field: date] */
|
|
44
|
+
datePublished?: Date;
|
|
45
|
+
/** Date reviewed (user-created) most recent review [from MD field: reviewdate] */
|
|
46
|
+
dateReviewed?: Date;
|
|
47
|
+
description?: string;
|
|
48
|
+
/** For TV hits. List of URLs for any fact-checks of the contained clips. */
|
|
49
|
+
factChecks?: string[];
|
|
50
|
+
favCount: number;
|
|
51
|
+
hitRequestSource: HitRequestSource;
|
|
52
|
+
hitType?: HitType;
|
|
53
|
+
href?: string;
|
|
54
|
+
identifier?: string;
|
|
55
|
+
/** Whether this model represents a TV clip */
|
|
56
|
+
isClip?: boolean;
|
|
57
|
+
issue?: string;
|
|
58
|
+
itemCount: number;
|
|
59
|
+
mediatype: MediaType;
|
|
60
|
+
review?: SearchReview;
|
|
61
|
+
source?: string;
|
|
62
|
+
snippets?: string[];
|
|
63
|
+
subjects: string[];
|
|
64
|
+
thumbnailUrl?: string;
|
|
65
|
+
title: string;
|
|
66
|
+
tvClipCount?: number;
|
|
67
|
+
viewCount?: number;
|
|
68
|
+
volume?: string;
|
|
69
|
+
weeklyViewCount?: number;
|
|
70
|
+
loginRequired: boolean;
|
|
71
|
+
contentWarning: boolean;
|
|
72
|
+
constructor(result: SearchResult, hitRequestSource?: HitRequestSource);
|
|
73
|
+
/**
|
|
74
|
+
* Copies the contents of this TileModel onto a new instance
|
|
75
|
+
*/
|
|
76
|
+
clone(): TileModel;
|
|
77
|
+
/**
|
|
78
|
+
* Whether this model represents the result of a TV search query.
|
|
79
|
+
*/
|
|
80
|
+
get isTvSearchResult(): boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Determines the appropriate tile flags for the given search result
|
|
83
|
+
* (login required and/or content warning)
|
|
84
|
+
*/
|
|
85
|
+
private getFlags;
|
|
86
|
+
private static cleanIdentifier;
|
|
87
|
+
}
|
|
88
|
+
export type RequestKind = 'full' | 'hits' | 'aggregations';
|
|
89
|
+
export type CollectionDisplayMode = 'grid' | 'list-compact' | 'list-detail';
|
|
90
|
+
export type TileDisplayMode = 'grid' | 'list-compact' | 'list-detail' | 'list-header';
|
|
91
|
+
/**
|
|
92
|
+
* This is mainly used to set the cookies for the collection display mode.
|
|
93
|
+
*
|
|
94
|
+
* It allows the user to set different modes for different contexts (collection page, search page, profile page etc).
|
|
95
|
+
*/
|
|
96
|
+
export type CollectionBrowserContext = 'collection' | 'search' | 'profile';
|
|
97
|
+
/**
|
|
98
|
+
* The sort fields shown in the sort filter bar
|
|
99
|
+
*/
|
|
100
|
+
export declare enum SortField {
|
|
101
|
+
'default' = "default",
|
|
102
|
+
'unrecognized' = "unrecognized",
|
|
103
|
+
'relevance' = "relevance",
|
|
104
|
+
'alltimeview' = "alltimeview",
|
|
105
|
+
'weeklyview' = "weeklyview",
|
|
106
|
+
'title' = "title",
|
|
107
|
+
'date' = "date",
|
|
108
|
+
'datearchived' = "datearchived",
|
|
109
|
+
'datereviewed' = "datereviewed",
|
|
110
|
+
'dateadded' = "dateadded",
|
|
111
|
+
'datefavorited' = "datefavorited",
|
|
112
|
+
'creator' = "creator"
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Views-related sort fields
|
|
116
|
+
*/
|
|
117
|
+
export declare const ALL_VIEWS_SORT_FIELDS: readonly [SortField.weeklyview, SortField.alltimeview];
|
|
118
|
+
export type ViewsSortField = (typeof ALL_VIEWS_SORT_FIELDS)[number];
|
|
119
|
+
/**
|
|
120
|
+
* Date-related sort fields
|
|
121
|
+
*/
|
|
122
|
+
export declare const ALL_DATE_SORT_FIELDS: readonly [SortField.datefavorited, SortField.date, SortField.datearchived, SortField.datereviewed, SortField.dateadded];
|
|
123
|
+
export type DateSortField = (typeof ALL_DATE_SORT_FIELDS)[number];
|
|
124
|
+
export interface SortOption {
|
|
125
|
+
/**
|
|
126
|
+
* The SortField enum member corresponding to this option.
|
|
127
|
+
*/
|
|
128
|
+
field: SortField;
|
|
129
|
+
/**
|
|
130
|
+
* The default sort direction to apply when this sort option is first selected.
|
|
131
|
+
*/
|
|
132
|
+
defaultSortDirection: SortDirection | null;
|
|
133
|
+
/**
|
|
134
|
+
* Whether this sort option allows its sort direction to be changed from the default.
|
|
135
|
+
*/
|
|
136
|
+
canSetDirection: boolean;
|
|
137
|
+
/**
|
|
138
|
+
* Whether this sort option may appear in the sort bar.
|
|
139
|
+
*/
|
|
140
|
+
shownInSortBar: boolean;
|
|
141
|
+
/**
|
|
142
|
+
* Whether this sort option should be saved to the URL.
|
|
143
|
+
* If false, then no `sort` param will be added to the URL when this sort option
|
|
144
|
+
* is selected.
|
|
145
|
+
*/
|
|
146
|
+
shownInURL: boolean;
|
|
147
|
+
/**
|
|
148
|
+
* Whether this sort option is passed to the search service.
|
|
149
|
+
* If false, then no sort param will be passed to the search service at all when
|
|
150
|
+
* this sort option is selected.
|
|
151
|
+
*/
|
|
152
|
+
handledBySearchService: boolean;
|
|
153
|
+
/**
|
|
154
|
+
* The string identifying this sort field to the search service & backend API.
|
|
155
|
+
*/
|
|
156
|
+
searchServiceKey?: string;
|
|
157
|
+
/**
|
|
158
|
+
* The human-readable name to use for this option in the sort bar (if applicable).
|
|
159
|
+
*/
|
|
160
|
+
displayName: string;
|
|
161
|
+
/**
|
|
162
|
+
* A list of URL param keys that should be mapped to this sort option.
|
|
163
|
+
* E.g., both `title` and `titleSorter` in the URL map to the `SortField.title` option.
|
|
164
|
+
*/
|
|
165
|
+
urlNames: (string | null | undefined)[];
|
|
166
|
+
}
|
|
167
|
+
export declare const SORT_OPTIONS: Record<SortField, SortOption>;
|
|
168
|
+
/**
|
|
169
|
+
* Returns the SortOption corresponding to the given API sort name, or
|
|
170
|
+
* the "unrecognized" SortOption if none matches.
|
|
171
|
+
*/
|
|
172
|
+
export declare function sortOptionFromAPIString(sortName?: string | null): SortOption;
|
|
173
|
+
export declare const defaultSortAvailability: Record<SortField, boolean>;
|
|
174
|
+
export declare const favoritesSortAvailability: Record<SortField, boolean>;
|
|
175
|
+
export declare const tvSortAvailability: Record<SortField, boolean>;
|
|
176
|
+
export declare const defaultProfileElementSorts: Record<string, Exclude<SortField, SortField.default>>;
|
|
177
|
+
/** A union of the fields that permit prefix filtering (e.g., alphabetical filtering) */
|
|
178
|
+
export type PrefixFilterType = 'title' | 'creator';
|
|
179
|
+
/** A map from prefixes (e.g., initial letters) to the number of items matching that prefix */
|
|
180
|
+
export type PrefixFilterCounts = Record<string, number>;
|
|
181
|
+
/**
|
|
182
|
+
* A map from prefix filter types to the corresponding aggregation keys
|
|
183
|
+
* that are needed to fetch the filter counts from the backend.
|
|
184
|
+
*/
|
|
185
|
+
export declare const prefixFilterAggregationKeys: Record<PrefixFilterType, string>;
|
|
186
|
+
/**
|
|
187
|
+
* Different facet loading strategies that can be used with collection browser.
|
|
188
|
+
* - `eager`: Facet data is always loaded as soon as a search is performed
|
|
189
|
+
* - `lazy-mobile`: In the desktop layout, functions exactly as `eager`.
|
|
190
|
+
* In the mobile layout, facet data will only be loaded once the "Filters" accordion is opened.
|
|
191
|
+
* - `opt-in-or-login`: Same as `opt-in` for guest users not logged into an account, but same as `eager` for
|
|
192
|
+
* any logged in user.
|
|
193
|
+
* - `opt-in`: In the desktop layout, facet data will only be loaded after the user presses a "Load Facets" button.
|
|
194
|
+
* In the mobile layout, functions exactly as `lazy-mobile`.
|
|
195
|
+
* - `off`: Facet data will never be loaded, and a message will be displayed in place of facets
|
|
196
|
+
* indicating that they are unavailable.
|
|
197
|
+
*/
|
|
198
|
+
export type FacetLoadStrategy = 'eager' | 'lazy-mobile' | 'opt-in-or-login' | 'opt-in' | 'off';
|
|
199
|
+
/**
|
|
200
|
+
* Union of the facet types that are available in the sidebar.
|
|
201
|
+
*/
|
|
202
|
+
export type FacetOption = 'subject' | 'lending' | 'mediatype' | 'language' | 'creator' | 'collection' | 'year' | 'program' | 'person' | 'sponsor';
|
|
203
|
+
export type SelectedFacetState = 'selected' | 'hidden';
|
|
204
|
+
export type FacetState = SelectedFacetState | 'none';
|
|
205
|
+
export interface FacetBucket {
|
|
206
|
+
key: string;
|
|
207
|
+
count: number;
|
|
208
|
+
state: FacetState;
|
|
209
|
+
displayText?: string;
|
|
210
|
+
extraNote?: string;
|
|
211
|
+
}
|
|
212
|
+
export interface FacetGroup {
|
|
213
|
+
title: string;
|
|
214
|
+
key: FacetOption;
|
|
215
|
+
buckets: FacetBucket[];
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Information about a user interaction event on a facet.
|
|
219
|
+
*/
|
|
220
|
+
export type FacetEventDetails = {
|
|
221
|
+
/**
|
|
222
|
+
* The type of facet that was interacted with (e.g., 'mediatype', 'language', ...).
|
|
223
|
+
*/
|
|
224
|
+
facetType: FacetOption;
|
|
225
|
+
/**
|
|
226
|
+
* The bucket corresponding to the facet that was interacted with, including the
|
|
227
|
+
* updated state of the facet after the interaction.
|
|
228
|
+
*/
|
|
229
|
+
bucket: FacetBucket;
|
|
230
|
+
/**
|
|
231
|
+
* Whether the interaction occurred on a negative facet.
|
|
232
|
+
*/
|
|
233
|
+
negative: boolean;
|
|
234
|
+
};
|
|
235
|
+
export type FacetValue = string;
|
|
236
|
+
export type SelectedFacets = Partial<Record<FacetOption, Record<FacetValue, FacetBucket>>>;
|
|
237
|
+
export declare const getDefaultSelectedFacets: () => Required<SelectedFacets>;
|
|
238
|
+
/**
|
|
239
|
+
* For TV search results, what types of TV clips to restrict the results to.
|
|
240
|
+
*/
|
|
241
|
+
export type TvClipFilterType = 'all' | 'commercials' | 'factchecks' | 'quotes';
|
|
242
|
+
/**
|
|
243
|
+
* Map from TV clip filter types to their corresponding URL params
|
|
244
|
+
*/
|
|
245
|
+
export declare const tvClipFiltersToURLParams: Record<TvClipFilterType, string>;
|
|
246
|
+
/**
|
|
247
|
+
* Map from allowed TV filtering parameters in the URL to their corresponding filter type
|
|
248
|
+
*/
|
|
249
|
+
export declare const tvClipURLParamsToFilters: Record<string, TvClipFilterType>;
|
|
250
|
+
/**
|
|
251
|
+
* Facet display order when presenting results for all search types *except* TV (see below).
|
|
252
|
+
*/
|
|
253
|
+
export declare const defaultFacetDisplayOrder: FacetOption[];
|
|
254
|
+
/**
|
|
255
|
+
* Specialized facet ordering when displaying TV search results
|
|
256
|
+
*/
|
|
257
|
+
export declare const tvFacetDisplayOrder: FacetOption[];
|
|
258
|
+
/**
|
|
259
|
+
* Human-readable titles for each facet group.
|
|
260
|
+
*/
|
|
261
|
+
export declare const facetTitles: Record<FacetOption, string>;
|
|
262
|
+
/**
|
|
263
|
+
* The default sort type to use for each facet type
|
|
264
|
+
*/
|
|
265
|
+
export declare const defaultFacetSort: Record<FacetOption, AggregationSortType>;
|
|
266
|
+
/**
|
|
267
|
+
* The sort type corresponding to facet bucket values, for each facet type
|
|
268
|
+
* (i.e., the opposite of "sort by count" for that type).
|
|
269
|
+
*/
|
|
270
|
+
export declare const valueFacetSort: Record<FacetOption, AggregationSortType>;
|
|
271
|
+
export type LendingFacetKey = 'is_lendable' | 'is_borrowable' | 'available_to_borrow' | 'is_browsable' | 'available_to_browse' | 'is_readable' | 'available_to_waitlist';
|
|
272
|
+
/**
|
|
273
|
+
* Maps valid lending keys to whether they should be visible in the facet sidebar
|
|
274
|
+
*/
|
|
275
|
+
export declare const lendingFacetKeysVisibility: Record<LendingFacetKey, boolean>;
|
|
276
|
+
/**
|
|
277
|
+
* Maps valid, visible lending keys to their facet sidebar display text
|
|
278
|
+
*/
|
|
279
|
+
export declare const lendingFacetDisplayNames: Partial<Record<LendingFacetKey, string>>;
|
|
280
|
+
/**
|
|
281
|
+
* A record of which admin-only collections should be suppressed from being displayed
|
|
282
|
+
* as facets or in an item's list of collections.
|
|
283
|
+
*/
|
|
284
|
+
export declare const suppressedCollections: Record<string, boolean>;
|
|
285
|
+
/**
|
|
286
|
+
* A record of manageable item
|
|
287
|
+
*/
|
|
288
|
+
export interface ManageableItem {
|
|
289
|
+
identifier: string;
|
|
290
|
+
title?: string;
|
|
291
|
+
dateStr?: string;
|
|
292
|
+
date?: string;
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* Possible states for whether & how the user has overridden their user preference
|
|
296
|
+
* for blurring behavior on tiles with sensitive content.
|
|
297
|
+
* - `no-override`: The user has not overridden their user preference, so simply
|
|
298
|
+
* respect the preference as given.
|
|
299
|
+
* - `on`: The user has overridden their preference and wants tile blurring enabled.
|
|
300
|
+
* - `off`: The user has overridden their preference and wants tile blurring disabled.
|
|
301
|
+
*/
|
|
302
|
+
export type TileBlurOverrideState = 'no-override' | 'on' | 'off';
|