@internetarchive/collection-browser 4.5.1 → 4.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/.editorconfig +29 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/.github/workflows/ci.yml +27 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/.github/workflows/gh-pages-main.yml +39 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/.github/workflows/npm-publish.yml +39 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/.github/workflows/pr-preview.yml +38 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/.husky/pre-commit +1 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/.prettierignore +1 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/LICENSE +661 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/README.md +84 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/eslint.config.mjs +53 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/index.html +24 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/index.ts +29 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/local.archive.org.cert +86 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/local.archive.org.key +27 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/package.json +120 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/renovate.json +6 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/app-root.ts +1284 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/arrow-left.ts +10 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/arrow-right.ts +10 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/chevron.ts +4 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/close-circle-dark.ts +5 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/contract.ts +9 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/empty-query.ts +5 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/expand.ts +9 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/eye-closed.ts +5 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/eye.ts +5 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/favorite-filled.ts +10 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/favorite-unfilled.ts +9 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/filter.ts +10 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/login-required.ts +18 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/mediatype/account.ts +14 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/mediatype/audio.ts +14 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/mediatype/collection.ts +12 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/mediatype/data.ts +15 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/mediatype/etree.ts +14 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/mediatype/film.ts +14 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/mediatype/images.ts +13 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/mediatype/radio.ts +15 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/mediatype/search.ts +14 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/mediatype/software.ts +13 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/mediatype/texts.ts +13 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/mediatype/tv-commercial.ts +12 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/mediatype/tv-fact-check.ts +12 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/mediatype/tv-quote.ts +12 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/mediatype/tv.ts +14 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/mediatype/video.ts +14 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/mediatype/web.ts +13 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/null-result.ts +5 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/quote.ts +7 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/restricted.ts +13 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/reviews.ts +11 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/upload.ts +12 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/views.ts +11 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/circular-activity-indicator.ts +64 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-browser.ts +3165 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/facet-row.ts +309 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/facet-tombstone-row.ts +40 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/facets-template.ts +85 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/models.ts +10 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/more-facets-content.ts +644 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/more-facets-pagination.ts +294 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/smart-facets/dedupe.ts +44 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/smart-facets/heuristics/browser-language/browser-language-heuristic.ts +27 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/smart-facets/heuristics/index.ts +3 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-heuristic.ts +17 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-map.ts +70 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-entity-map.ts +79 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-heuristic.ts +93 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/smart-facets/models.ts +36 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/smart-facets/smart-facet-bar.ts +437 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/smart-facets/smart-facet-button.ts +145 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/smart-facets/smart-facet-dropdown.ts +185 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/smart-facets/smart-facet-equals.ts +16 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/smart-facets/smart-facet-heuristics.ts +26 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/toggle-switch.ts +174 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets.ts +1013 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/data-source/collection-browser-data-source-interface.ts +351 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/data-source/collection-browser-data-source.ts +1474 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/data-source/collection-browser-query-state.ts +60 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/data-source/models.ts +56 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/empty-placeholder.ts +192 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/expanded-date-picker.ts +191 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/language-code-handler/language-code-handler.ts +64 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/language-code-handler/language-code-mapping.ts +564 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/manage/manage-bar.ts +276 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/manage/remove-items-modal-content.ts +102 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/mediatype/mediatype-config.ts +146 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/models.ts +895 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/restoration-state-handler.ts +550 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/sort-filter-bar/alpha-bar-tooltip.ts +53 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/sort-filter-bar/alpha-bar.ts +252 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/sort-filter-bar/img/compact.ts +5 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/sort-filter-bar/img/list.ts +5 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/sort-filter-bar/img/sort-toggle-disabled.ts +15 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/sort-filter-bar/img/sort-toggle-down.ts +17 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/sort-filter-bar/img/sort-toggle-up.ts +17 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/sort-filter-bar/img/sort-triangle.ts +5 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/sort-filter-bar/img/tile.ts +5 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/sort-filter-bar/sort-filter-bar.ts +733 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/styles/ia-button.ts +139 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/styles/item-image-styles.ts +124 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/styles/sr-only.ts +18 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/styles/tile-action-styles.ts +59 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/base-tile-component.ts +124 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/collection-browser-loading-tile.ts +26 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/grid/account-tile.ts +113 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/grid/collection-tile.ts +184 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/grid/item-tile.ts +347 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/grid/search-tile.ts +90 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/grid/styles/tile-grid-shared-styles.ts +130 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/grid/tile-stats.ts +211 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/hover/hover-pane-controller.ts +638 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/hover/tile-hover-pane.ts +184 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/image-block.ts +162 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/item-image.ts +214 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/list/tile-list-compact-header.ts +112 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/list/tile-list-compact.ts +278 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/list/tile-list.ts +718 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/models.ts +21 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/overlay/icon-overlay.ts +57 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/overlay/text-overlay.ts +79 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/review-block.ts +130 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/text-snippet-block.ts +132 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/tile-dispatcher.ts +637 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/tile-display-value-provider.ts +133 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/tile-mediatype-icon.ts +133 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/utils/analytics-events.ts +29 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/utils/array-equals.ts +8 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/utils/collapse-repeated-quotes.ts +13 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/utils/date-filter-field.ts +11 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/utils/facet-utils.ts +183 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/utils/format-count.ts +95 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/utils/format-date.ts +62 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/utils/format-unit-size.ts +43 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/utils/local-date-from-utc.ts +15 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/utils/log.ts +14 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/utils/resolve-mediatype.ts +26 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/utils/sha1.ts +9 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/collection-browser.test.ts +2639 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/collection-facets/facet-row.test.ts +421 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/collection-facets/facets-template.test.ts +139 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/collection-facets/more-facets-content.test.ts +231 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/collection-facets/more-facets-pagination.test.ts +201 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/collection-facets/toggle-switch.test.ts +164 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/collection-facets.test.ts +928 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/data-source/collection-browser-data-source.test.ts +193 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/empty-placeholder.test.ts +88 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/expanded-date-picker.test.ts +201 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/icon-overlay.test.ts +38 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/image-block.test.ts +247 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/item-image.test.ts +220 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/manage/manage-bar.test.ts +347 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/manage/remove-items-modal-content.test.ts +81 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/mediatype-config.test.ts +11 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/mocks/mock-analytics-handler.ts +30 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/mocks/mock-search-responses.ts +1364 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/mocks/mock-search-service.ts +134 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/restoration-state-handler.test.ts +480 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/review-block.test.ts +62 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/sort-filter-bar/alpha-bar-tooltip.test.ts +17 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/sort-filter-bar/alpha-bar.test.ts +101 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/sort-filter-bar/sort-filter-bar.test.ts +443 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/text-overlay.test.ts +55 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/text-snippet-block.test.ts +85 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/tile-stats.test.ts +191 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/tiles/grid/account-tile.test.ts +121 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/tiles/grid/collection-tile.test.ts +114 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/tiles/grid/item-tile.test.ts +520 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/tiles/grid/search-tile.test.ts +75 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/tiles/hover/hover-pane-controller.test.ts +482 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/tiles/hover/tile-hover-pane.test.ts +80 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/tiles/list/tile-list-compact-header.test.ts +43 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/tiles/list/tile-list-compact.test.ts +282 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/tiles/list/tile-list.test.ts +576 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/tiles/tile-dispatcher.test.ts +320 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/tiles/tile-display-value-provider.test.ts +172 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/tiles/tile-mediatype-icon.test.ts +160 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/utils/array-equals.test.ts +31 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/utils/format-count.test.ts +32 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/utils/format-date.test.ts +89 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/utils/format-unit-size.test.ts +21 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/utils/local-date-from-utc.test.ts +37 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/tsconfig.json +25 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/types/dompurify.d.ts +1 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/vite.config.ts +29 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/web-dev-server.config.mjs +30 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/web-test-runner.config.mjs +52 -0
- package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/yarn.lock +5965 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/.editorconfig +29 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/.github/workflows/ci.yml +29 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/.github/workflows/gh-pages-main.yml +41 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/.github/workflows/npm-publish.yml +42 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/.github/workflows/pr-preview.yml +40 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/.husky/pre-commit +1 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/.prettierignore +1 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/LICENSE +661 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/README.md +68 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/eslint.config.mjs +53 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/index.html +24 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/index.ts +29 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/local.archive.org.cert +86 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/local.archive.org.key +27 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/package.json +129 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/pnpm-lock.yaml +7366 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/pnpm-workspace.yaml +46 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/renovate.json +6 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/app-root.ts +1284 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/arrow-left.ts +10 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/arrow-right.ts +10 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/chevron.ts +4 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/close-circle-dark.ts +5 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/contract.ts +9 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/empty-query.ts +5 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/expand.ts +9 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/eye-closed.ts +5 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/eye.ts +5 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/favorite-filled.ts +10 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/favorite-unfilled.ts +9 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/filter.ts +10 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/login-required.ts +18 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/mediatype/account.ts +14 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/mediatype/audio.ts +14 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/mediatype/collection.ts +12 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/mediatype/data.ts +15 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/mediatype/etree.ts +14 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/mediatype/film.ts +14 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/mediatype/images.ts +13 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/mediatype/radio.ts +15 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/mediatype/search.ts +14 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/mediatype/software.ts +13 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/mediatype/texts.ts +13 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/mediatype/tv-commercial.ts +12 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/mediatype/tv-fact-check.ts +12 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/mediatype/tv-quote.ts +12 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/mediatype/tv.ts +14 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/mediatype/video.ts +14 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/mediatype/web.ts +13 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/null-result.ts +5 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/quote.ts +7 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/restricted.ts +13 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/reviews.ts +11 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/upload.ts +12 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/views.ts +11 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/circular-activity-indicator.ts +64 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-browser.ts +3165 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/facet-row.ts +309 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/facet-tombstone-row.ts +40 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/facets-template.ts +85 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/models.ts +10 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/more-facets-content.ts +644 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/more-facets-pagination.ts +294 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/smart-facets/dedupe.ts +44 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/smart-facets/heuristics/browser-language/browser-language-heuristic.ts +27 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/smart-facets/heuristics/index.ts +3 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-heuristic.ts +17 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-map.ts +70 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-entity-map.ts +79 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-heuristic.ts +93 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/smart-facets/models.ts +36 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/smart-facets/smart-facet-bar.ts +437 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/smart-facets/smart-facet-button.ts +145 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/smart-facets/smart-facet-dropdown.ts +185 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/smart-facets/smart-facet-equals.ts +16 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/smart-facets/smart-facet-heuristics.ts +26 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/toggle-switch.ts +174 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets.ts +1013 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/data-source/collection-browser-data-source-interface.ts +351 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/data-source/collection-browser-data-source.ts +1474 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/data-source/collection-browser-query-state.ts +60 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/data-source/models.ts +56 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/empty-placeholder.ts +192 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/expanded-date-picker.ts +191 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/language-code-handler/language-code-handler.ts +64 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/language-code-handler/language-code-mapping.ts +564 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/manage/manage-bar.ts +276 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/manage/remove-items-modal-content.ts +102 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/mediatype/mediatype-config.ts +146 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/models.ts +895 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/restoration-state-handler.ts +550 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/sort-filter-bar/alpha-bar-tooltip.ts +53 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/sort-filter-bar/alpha-bar.ts +252 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/sort-filter-bar/img/compact.ts +5 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/sort-filter-bar/img/list.ts +5 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/sort-filter-bar/img/sort-toggle-disabled.ts +15 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/sort-filter-bar/img/sort-toggle-down.ts +17 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/sort-filter-bar/img/sort-toggle-up.ts +17 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/sort-filter-bar/img/sort-triangle.ts +5 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/sort-filter-bar/img/tile.ts +5 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/sort-filter-bar/sort-filter-bar.ts +733 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/styles/ia-button.ts +139 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/styles/item-image-styles.ts +124 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/styles/sr-only.ts +18 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/styles/tile-action-styles.ts +59 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/base-tile-component.ts +124 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/collection-browser-loading-tile.ts +26 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/grid/account-tile.ts +113 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/grid/collection-tile.ts +184 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/grid/item-tile.ts +347 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/grid/search-tile.ts +90 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/grid/styles/tile-grid-shared-styles.ts +130 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/grid/tile-stats.ts +211 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/hover/hover-pane-controller.ts +638 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/hover/tile-hover-pane.ts +184 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/image-block.ts +162 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/item-image.ts +214 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/list/tile-list-compact-header.ts +112 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/list/tile-list-compact.ts +278 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/list/tile-list.ts +718 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/models.ts +21 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/overlay/icon-overlay.ts +57 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/overlay/text-overlay.ts +79 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/review-block.ts +130 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/text-snippet-block.ts +132 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/tile-dispatcher.ts +637 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/tile-display-value-provider.ts +133 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/tile-mediatype-icon.ts +133 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/utils/analytics-events.ts +29 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/utils/array-equals.ts +8 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/utils/collapse-repeated-quotes.ts +13 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/utils/date-filter-field.ts +11 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/utils/facet-utils.ts +183 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/utils/format-count.ts +95 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/utils/format-date.ts +62 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/utils/format-unit-size.ts +43 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/utils/local-date-from-utc.ts +15 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/utils/log.ts +14 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/utils/resolve-mediatype.ts +26 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/utils/sha1.ts +9 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/collection-browser.test.ts +2639 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/collection-facets/facet-row.test.ts +421 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/collection-facets/facets-template.test.ts +139 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/collection-facets/more-facets-content.test.ts +231 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/collection-facets/more-facets-pagination.test.ts +201 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/collection-facets/toggle-switch.test.ts +164 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/collection-facets.test.ts +928 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/data-source/collection-browser-data-source.test.ts +193 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/empty-placeholder.test.ts +88 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/expanded-date-picker.test.ts +201 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/icon-overlay.test.ts +38 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/image-block.test.ts +247 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/item-image.test.ts +220 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/manage/manage-bar.test.ts +347 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/manage/remove-items-modal-content.test.ts +81 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/mediatype-config.test.ts +11 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/mocks/mock-analytics-handler.ts +30 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/mocks/mock-search-responses.ts +1364 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/mocks/mock-search-service.ts +134 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/restoration-state-handler.test.ts +480 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/review-block.test.ts +62 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/sort-filter-bar/alpha-bar-tooltip.test.ts +17 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/sort-filter-bar/alpha-bar.test.ts +101 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/sort-filter-bar/sort-filter-bar.test.ts +443 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/text-overlay.test.ts +55 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/text-snippet-block.test.ts +85 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/tile-stats.test.ts +191 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/tiles/grid/account-tile.test.ts +121 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/tiles/grid/collection-tile.test.ts +114 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/tiles/grid/item-tile.test.ts +520 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/tiles/grid/search-tile.test.ts +75 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/tiles/hover/hover-pane-controller.test.ts +482 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/tiles/hover/tile-hover-pane.test.ts +80 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/tiles/list/tile-list-compact-header.test.ts +43 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/tiles/list/tile-list-compact.test.ts +282 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/tiles/list/tile-list.test.ts +576 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/tiles/tile-dispatcher.test.ts +320 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/tiles/tile-display-value-provider.test.ts +172 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/tiles/tile-mediatype-icon.test.ts +160 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/utils/array-equals.test.ts +31 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/utils/format-count.test.ts +32 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/utils/format-date.test.ts +89 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/utils/format-unit-size.test.ts +21 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/utils/local-date-from-utc.test.ts +37 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/tsconfig.json +25 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/types/dompurify.d.ts +1 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/vite.config.ts +29 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/web-dev-server.config.mjs +30 -0
- package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/web-test-runner.config.mjs +52 -0
- 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 +1 -1
- package/.prettierignore +1 -1
- package/LICENSE +661 -661
- package/README.md +83 -83
- package/dist/index.js.map +1 -1
- package/dist/src/app-root.d.ts +1 -1
- package/dist/src/app-root.js +683 -683
- package/dist/src/app-root.js.map +1 -1
- package/dist/src/assets/img/icons/arrow-left.d.ts +1 -1
- package/dist/src/assets/img/icons/arrow-right.d.ts +1 -1
- package/dist/src/assets/img/icons/chevron.d.ts +1 -1
- package/dist/src/assets/img/icons/close-circle-dark.d.ts +1 -1
- package/dist/src/assets/img/icons/contract.d.ts +1 -1
- package/dist/src/assets/img/icons/empty-query.d.ts +1 -1
- package/dist/src/assets/img/icons/expand.d.ts +1 -1
- package/dist/src/assets/img/icons/eye-closed.d.ts +1 -1
- package/dist/src/assets/img/icons/eye.d.ts +1 -1
- package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
- package/dist/src/assets/img/icons/favorite-unfilled.d.ts +1 -1
- package/dist/src/assets/img/icons/filter.d.ts +1 -1
- package/dist/src/assets/img/icons/login-required.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/tv-commercial.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/tv-fact-check.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/tv-quote.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
- package/dist/src/assets/img/icons/null-result.d.ts +1 -1
- package/dist/src/assets/img/icons/quote.d.ts +1 -1
- package/dist/src/assets/img/icons/restricted.d.ts +1 -1
- package/dist/src/assets/img/icons/reviews.d.ts +1 -1
- package/dist/src/assets/img/icons/upload.d.ts +1 -1
- package/dist/src/assets/img/icons/views.d.ts +1 -1
- package/dist/src/circular-activity-indicator.d.ts +1 -1
- package/dist/src/collection-browser.js +766 -766
- package/dist/src/collection-browser.js.map +1 -1
- package/dist/src/collection-facets/facet-row.js +143 -143
- package/dist/src/collection-facets/facet-row.js.map +1 -1
- package/dist/src/collection-facets/facet-tombstone-row.d.ts +1 -1
- package/dist/src/collection-facets/facets-template.js +24 -24
- package/dist/src/collection-facets/facets-template.js.map +1 -1
- package/dist/src/collection-facets/smart-facets/smart-facet-button.d.ts +1 -1
- package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.d.ts +1 -1
- package/dist/src/collection-facets/toggle-switch.d.ts +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.js.map +1 -1
- package/dist/src/restoration-state-handler.js.map +1 -1
- package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
- package/dist/src/styles/tile-action-styles.js +43 -43
- package/dist/src/styles/tile-action-styles.js.map +1 -1
- package/dist/src/tiles/base-tile-component.js +11 -11
- package/dist/src/tiles/base-tile-component.js.map +1 -1
- package/dist/src/tiles/collection-browser-loading-tile.d.ts +1 -1
- package/dist/src/tiles/grid/item-tile.js +138 -138
- package/dist/src/tiles/grid/item-tile.js.map +1 -1
- package/dist/src/tiles/hover/hover-pane-controller.js +15 -5
- package/dist/src/tiles/hover/hover-pane-controller.js.map +1 -1
- package/dist/src/tiles/image-block.d.ts +1 -1
- package/dist/src/tiles/item-image.d.ts +1 -1
- package/dist/src/tiles/list/tile-list-compact-header.d.ts +1 -1
- package/dist/src/tiles/list/tile-list-compact-header.js +62 -62
- package/dist/src/tiles/list/tile-list-compact-header.js.map +1 -1
- package/dist/src/tiles/list/tile-list-compact.d.ts +1 -1
- package/dist/src/tiles/list/tile-list-compact.js +123 -123
- package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
- package/dist/src/tiles/list/tile-list.js +310 -310
- package/dist/src/tiles/list/tile-list.js.map +1 -1
- package/dist/src/tiles/models.js.map +1 -1
- package/dist/src/tiles/tile-dispatcher.d.ts +1 -1
- package/dist/src/tiles/tile-dispatcher.js +286 -286
- package/dist/src/tiles/tile-dispatcher.js.map +1 -1
- package/dist/src/tiles/tile-display-value-provider.js.map +1 -1
- package/dist/src/tiles/tile-mediatype-icon.d.ts +1 -1
- package/dist/src/utils/date-filter-field.js.map +1 -1
- package/dist/test/collection-browser.test.js +203 -203
- package/dist/test/collection-browser.test.js.map +1 -1
- package/dist/test/collection-facets/facet-row.test.js +31 -31
- package/dist/test/collection-facets/facet-row.test.js.map +1 -1
- package/dist/test/tiles/grid/item-tile.test.js +77 -77
- package/dist/test/tiles/grid/item-tile.test.js.map +1 -1
- package/dist/test/tiles/hover/hover-pane-controller.test.js +55 -21
- package/dist/test/tiles/hover/hover-pane-controller.test.js.map +1 -1
- package/dist/test/tiles/list/tile-list.test.js +134 -134
- package/dist/test/tiles/list/tile-list.test.js.map +1 -1
- package/dist/test/tiles/tile-dispatcher.test.js +92 -92
- package/dist/test/tiles/tile-dispatcher.test.js.map +1 -1
- package/eslint.config.mjs +53 -53
- package/index.html +24 -24
- package/index.ts +29 -29
- package/local.archive.org.cert +86 -86
- package/local.archive.org.key +27 -27
- package/package.json +120 -120
- package/renovate.json +6 -6
- package/src/app-root.ts +1284 -1284
- package/src/collection-browser.ts +3165 -3165
- package/src/collection-facets/facet-row.ts +309 -309
- package/src/collection-facets/facets-template.ts +85 -85
- package/src/data-source/collection-browser-data-source-interface.ts +351 -351
- package/src/data-source/collection-browser-data-source.ts +1474 -1474
- package/src/restoration-state-handler.ts +550 -550
- package/src/styles/tile-action-styles.ts +59 -59
- package/src/tiles/base-tile-component.ts +124 -124
- package/src/tiles/grid/item-tile.ts +347 -347
- package/src/tiles/hover/hover-pane-controller.ts +15 -5
- package/src/tiles/list/tile-list-compact-header.ts +112 -112
- package/src/tiles/list/tile-list-compact.ts +278 -278
- package/src/tiles/list/tile-list.ts +718 -718
- package/src/tiles/models.ts +21 -21
- package/src/tiles/tile-dispatcher.ts +637 -637
- package/src/tiles/tile-display-value-provider.ts +133 -133
- package/src/utils/date-filter-field.ts +11 -11
- package/test/collection-browser.test.ts +2639 -2639
- package/test/collection-facets/facet-row.test.ts +421 -421
- package/test/tiles/grid/item-tile.test.ts +520 -520
- package/test/tiles/hover/hover-pane-controller.test.ts +87 -23
- package/test/tiles/list/tile-list.test.ts +576 -576
- package/test/tiles/tile-dispatcher.test.ts +320 -320
- package/tsconfig.json +25 -25
- package/web-dev-server.config.mjs +30 -30
- package/web-test-runner.config.mjs +52 -52
|
@@ -458,32 +458,32 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
458
458
|
}
|
|
459
459
|
}
|
|
460
460
|
render() {
|
|
461
|
-
return html `
|
|
461
|
+
return html `
|
|
462
462
|
${this.showSmartFacetBar && this.placeholderType === null
|
|
463
|
-
? html `<smart-facet-bar
|
|
464
|
-
.query=${this.baseQuery}
|
|
465
|
-
.aggregations=${this.dataSource.aggregations}
|
|
466
|
-
.selectedFacets=${this.selectedFacets}
|
|
467
|
-
.collectionTitles=${this.dataSource.collectionTitles}
|
|
468
|
-
.filterToggleShown=${!this.mobileView}
|
|
469
|
-
.filterToggleActive=${this.facetPaneVisible}
|
|
470
|
-
.label=${this.smartFacetBarLabel}
|
|
471
|
-
@facetsChanged=${this.facetsChanged}
|
|
463
|
+
? html `<smart-facet-bar
|
|
464
|
+
.query=${this.baseQuery}
|
|
465
|
+
.aggregations=${this.dataSource.aggregations}
|
|
466
|
+
.selectedFacets=${this.selectedFacets}
|
|
467
|
+
.collectionTitles=${this.dataSource.collectionTitles}
|
|
468
|
+
.filterToggleShown=${!this.mobileView}
|
|
469
|
+
.filterToggleActive=${this.facetPaneVisible}
|
|
470
|
+
.label=${this.smartFacetBarLabel}
|
|
471
|
+
@facetsChanged=${this.facetsChanged}
|
|
472
472
|
@filtersToggled=${() => {
|
|
473
473
|
this.facetPaneVisible = !this.facetPaneVisible;
|
|
474
474
|
this.emitFacetPaneVisibilityChanged();
|
|
475
|
-
}}
|
|
475
|
+
}}
|
|
476
476
|
></smart-facet-bar>`
|
|
477
|
-
: nothing}
|
|
478
|
-
|
|
479
|
-
<div
|
|
480
|
-
id="content-container"
|
|
481
|
-
class=${this.mobileView ? 'mobile' : 'desktop'}
|
|
482
|
-
>
|
|
477
|
+
: nothing}
|
|
478
|
+
|
|
479
|
+
<div
|
|
480
|
+
id="content-container"
|
|
481
|
+
class=${this.mobileView ? 'mobile' : 'desktop'}
|
|
482
|
+
>
|
|
483
483
|
${this.placeholderType
|
|
484
484
|
? this.emptyPlaceholderTemplate
|
|
485
|
-
: this.collectionBrowserTemplate}
|
|
486
|
-
</div>
|
|
485
|
+
: this.collectionBrowserTemplate}
|
|
486
|
+
</div>
|
|
487
487
|
`;
|
|
488
488
|
}
|
|
489
489
|
/**
|
|
@@ -527,23 +527,23 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
527
527
|
* Template for the placeholder content to show when no results are available.
|
|
528
528
|
*/
|
|
529
529
|
get emptyPlaceholderTemplate() {
|
|
530
|
-
return html `
|
|
531
|
-
<empty-placeholder
|
|
532
|
-
.placeholderType=${this.placeholderType}
|
|
533
|
-
?isMobileView=${this.mobileView}
|
|
534
|
-
?isCollection=${!!this.withinCollection}
|
|
535
|
-
.detailMessage=${this.dataSource.queryErrorMessage ?? ''}
|
|
536
|
-
.baseNavigationUrl=${this.baseNavigationUrl}
|
|
537
|
-
></empty-placeholder>
|
|
530
|
+
return html `
|
|
531
|
+
<empty-placeholder
|
|
532
|
+
.placeholderType=${this.placeholderType}
|
|
533
|
+
?isMobileView=${this.mobileView}
|
|
534
|
+
?isCollection=${!!this.withinCollection}
|
|
535
|
+
.detailMessage=${this.dataSource.queryErrorMessage ?? ''}
|
|
536
|
+
.baseNavigationUrl=${this.baseNavigationUrl}
|
|
537
|
+
></empty-placeholder>
|
|
538
538
|
`;
|
|
539
539
|
}
|
|
540
540
|
/**
|
|
541
541
|
* Top-level template for rendering the left (facets) and right (results) columns.
|
|
542
542
|
*/
|
|
543
543
|
get collectionBrowserTemplate() {
|
|
544
|
-
return html `
|
|
545
|
-
<div id="left-column-scroll-sentinel"></div>
|
|
546
|
-
${this.leftColumnTemplate} ${this.rightColumnTemplate}
|
|
544
|
+
return html `
|
|
545
|
+
<div id="left-column-scroll-sentinel"></div>
|
|
546
|
+
${this.leftColumnTemplate} ${this.rightColumnTemplate}
|
|
547
547
|
`;
|
|
548
548
|
}
|
|
549
549
|
/**
|
|
@@ -562,33 +562,33 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
562
562
|
* accordion-style facets.
|
|
563
563
|
*/
|
|
564
564
|
get mobileLeftColumnTemplate() {
|
|
565
|
-
return html `
|
|
566
|
-
<div
|
|
567
|
-
id="left-column"
|
|
568
|
-
class="column${this.isResizeToMobile ? ' preload' : ''}"
|
|
569
|
-
>
|
|
570
|
-
${this.facetTopViewSlot} ${this.resultsCountTemplate}
|
|
571
|
-
<div id="facets-header-container">${this.mobileFacetsTemplate}</div>
|
|
572
|
-
</div>
|
|
565
|
+
return html `
|
|
566
|
+
<div
|
|
567
|
+
id="left-column"
|
|
568
|
+
class="column${this.isResizeToMobile ? ' preload' : ''}"
|
|
569
|
+
>
|
|
570
|
+
${this.facetTopViewSlot} ${this.resultsCountTemplate}
|
|
571
|
+
<div id="facets-header-container">${this.mobileFacetsTemplate}</div>
|
|
572
|
+
</div>
|
|
573
573
|
`;
|
|
574
574
|
}
|
|
575
575
|
/**
|
|
576
576
|
* Template for the desktop version of the left column, displaying the facets sidebar.
|
|
577
577
|
*/
|
|
578
578
|
get desktopLeftColumnTemplate() {
|
|
579
|
-
return html `
|
|
580
|
-
<div id="left-column" class="column" ?hidden=${!this.facetPaneVisible}>
|
|
581
|
-
${this.facetTopViewSlot}
|
|
582
|
-
<div id="facets-header-container">
|
|
583
|
-
<h2 id="facets-header" class="sr-only">${msg('Filters')}</h2>
|
|
584
|
-
${this.resultsCountTemplate} ${this.clearFiltersBtnTemplate(false)}
|
|
585
|
-
</div>
|
|
586
|
-
<div id="facets-container" aria-labelledby="facets-header">
|
|
587
|
-
${this.facetsTemplate}
|
|
588
|
-
<div id="facets-scroll-sentinel"></div>
|
|
589
|
-
</div>
|
|
590
|
-
<div id="facets-bottom-fade"></div>
|
|
591
|
-
</div>
|
|
579
|
+
return html `
|
|
580
|
+
<div id="left-column" class="column" ?hidden=${!this.facetPaneVisible}>
|
|
581
|
+
${this.facetTopViewSlot}
|
|
582
|
+
<div id="facets-header-container">
|
|
583
|
+
<h2 id="facets-header" class="sr-only">${msg('Filters')}</h2>
|
|
584
|
+
${this.resultsCountTemplate} ${this.clearFiltersBtnTemplate(false)}
|
|
585
|
+
</div>
|
|
586
|
+
<div id="facets-container" aria-labelledby="facets-header">
|
|
587
|
+
${this.facetsTemplate}
|
|
588
|
+
<div id="facets-scroll-sentinel"></div>
|
|
589
|
+
</div>
|
|
590
|
+
<div id="facets-bottom-fade"></div>
|
|
591
|
+
</div>
|
|
592
592
|
`;
|
|
593
593
|
}
|
|
594
594
|
/**
|
|
@@ -596,8 +596,8 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
596
596
|
* - mainly used to render userlists
|
|
597
597
|
*/
|
|
598
598
|
get facetTopViewSlot() {
|
|
599
|
-
return html `<div id="facet-top-view">
|
|
600
|
-
<slot name="facet-top-slot"></slot>
|
|
599
|
+
return html `<div id="facet-top-view">
|
|
600
|
+
<slot name="facet-top-slot"></slot>
|
|
601
601
|
</div>`;
|
|
602
602
|
}
|
|
603
603
|
/**
|
|
@@ -612,15 +612,15 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
612
612
|
const resultsCount = this.totalResults?.toLocaleString();
|
|
613
613
|
const resultsLabel = this.totalResults === 1 ? 'Result' : 'Results';
|
|
614
614
|
// Added data-testid for Playwright testing
|
|
615
|
-
return html `
|
|
616
|
-
<div id="results-total" class=${classes} data-testid="results-total">
|
|
617
|
-
<span id="big-results-count">
|
|
618
|
-
${shouldShowSearching ? html `Searching…` : resultsCount}
|
|
619
|
-
</span>
|
|
620
|
-
<span id="big-results-label">
|
|
621
|
-
${shouldShowSearching ? nothing : resultsLabel}
|
|
622
|
-
</span>
|
|
623
|
-
</div>
|
|
615
|
+
return html `
|
|
616
|
+
<div id="results-total" class=${classes} data-testid="results-total">
|
|
617
|
+
<span id="big-results-count">
|
|
618
|
+
${shouldShowSearching ? html `Searching…` : resultsCount}
|
|
619
|
+
</span>
|
|
620
|
+
<span id="big-results-label">
|
|
621
|
+
${shouldShowSearching ? nothing : resultsLabel}
|
|
622
|
+
</span>
|
|
623
|
+
</div>
|
|
624
624
|
`;
|
|
625
625
|
}
|
|
626
626
|
/**
|
|
@@ -633,47 +633,47 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
633
633
|
'full-width': !this.facetPaneVisible,
|
|
634
634
|
'smart-results-spacing': !!this.showSmartResults,
|
|
635
635
|
});
|
|
636
|
-
return html `
|
|
637
|
-
<div id="right-column" class=${rightColumnClasses}>
|
|
636
|
+
return html `
|
|
637
|
+
<div id="right-column" class=${rightColumnClasses}>
|
|
638
638
|
${this.showSmartResults
|
|
639
639
|
? html `<slot name="smart-results"></slot>`
|
|
640
|
-
: nothing}
|
|
641
|
-
<section id="results">
|
|
642
|
-
<h2 class="results-section-heading">
|
|
643
|
-
<slot name="results-heading"></slot>
|
|
644
|
-
</h2>
|
|
645
|
-
<div id="cb-top-view">
|
|
646
|
-
<slot name="cb-top-slot"></slot>
|
|
647
|
-
</div>
|
|
640
|
+
: nothing}
|
|
641
|
+
<section id="results">
|
|
642
|
+
<h2 class="results-section-heading">
|
|
643
|
+
<slot name="results-heading"></slot>
|
|
644
|
+
</h2>
|
|
645
|
+
<div id="cb-top-view">
|
|
646
|
+
<slot name="cb-top-slot"></slot>
|
|
647
|
+
</div>
|
|
648
648
|
${this.isManageView
|
|
649
649
|
? this.manageBarTemplate
|
|
650
|
-
: this.sortFilterBarTemplate}
|
|
651
|
-
<slot name="cb-results"></slot>
|
|
650
|
+
: this.sortFilterBarTemplate}
|
|
651
|
+
<slot name="cb-results"></slot>
|
|
652
652
|
${this.displayMode === `list-compact` && this.totalResults
|
|
653
653
|
? this.listHeaderTemplate
|
|
654
|
-
: nothing}
|
|
655
|
-
${this.suppressResultTiles ? nothing : this.infiniteScrollerTemplate}
|
|
656
|
-
</section>
|
|
657
|
-
</div>
|
|
654
|
+
: nothing}
|
|
655
|
+
${this.suppressResultTiles ? nothing : this.infiniteScrollerTemplate}
|
|
656
|
+
</section>
|
|
657
|
+
</div>
|
|
658
658
|
`;
|
|
659
659
|
}
|
|
660
660
|
/**
|
|
661
661
|
* Template for the infinite scroller widget that contains the result tiles.
|
|
662
662
|
*/
|
|
663
663
|
get infiniteScrollerTemplate() {
|
|
664
|
-
return html `<infinite-scroller
|
|
665
|
-
class=${this.infiniteScrollerClasses}
|
|
666
|
-
itemCount=${this.placeholderType ? 0 : nothing}
|
|
667
|
-
ariaLandmarkLabel="Search results"
|
|
668
|
-
.estimatedCellHeight=${this.estimatedTileHeight}
|
|
669
|
-
.minBufferMarginCells=${this.pageSize}
|
|
670
|
-
.cellProvider=${this}
|
|
671
|
-
.placeholderCellTemplate=${this.placeholderCellTemplate}
|
|
672
|
-
@scrollThresholdReached=${this.scrollThresholdReached}
|
|
673
|
-
@visibleCellsChanged=${this.visibleCellsChanged}
|
|
664
|
+
return html `<infinite-scroller
|
|
665
|
+
class=${this.infiniteScrollerClasses}
|
|
666
|
+
itemCount=${this.placeholderType ? 0 : nothing}
|
|
667
|
+
ariaLandmarkLabel="Search results"
|
|
668
|
+
.estimatedCellHeight=${this.estimatedTileHeight}
|
|
669
|
+
.minBufferMarginCells=${this.pageSize}
|
|
670
|
+
.cellProvider=${this}
|
|
671
|
+
.placeholderCellTemplate=${this.placeholderCellTemplate}
|
|
672
|
+
@scrollThresholdReached=${this.scrollThresholdReached}
|
|
673
|
+
@visibleCellsChanged=${this.visibleCellsChanged}
|
|
674
674
|
>${this.displayMode === 'grid'
|
|
675
675
|
? html `<slot name="result-last-tile" slot="result-last-tile"></slot>`
|
|
676
|
-
: nothing}
|
|
676
|
+
: nothing}
|
|
677
677
|
</infinite-scroller>`;
|
|
678
678
|
}
|
|
679
679
|
/**
|
|
@@ -725,29 +725,29 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
725
725
|
}
|
|
726
726
|
// We only show relevance sort if a search query is currently defined
|
|
727
727
|
sortFieldAvailability.relevance = this.isRelevanceSortAvailable;
|
|
728
|
-
return html `
|
|
729
|
-
<sort-filter-bar
|
|
730
|
-
.defaultSortField=${this.defaultSortField}
|
|
731
|
-
.defaultSortDirection=${this.defaultSortDirection}
|
|
732
|
-
.selectedSort=${this.selectedSort}
|
|
733
|
-
.sortDirection=${this.sortDirection}
|
|
734
|
-
.sortFieldAvailability=${sortFieldAvailability}
|
|
735
|
-
.displayMode=${this.displayMode}
|
|
736
|
-
.selectedTitleFilter=${this.selectedTitleFilter}
|
|
737
|
-
.selectedCreatorFilter=${this.selectedCreatorFilter}
|
|
738
|
-
.prefixFilterCountMap=${this.dataSource.prefixFilterCountMap}
|
|
739
|
-
.enableSortOptionsSlot=${this.enableSortOptionsSlot}
|
|
740
|
-
.suppressDisplayModes=${this.suppressDisplayModes}
|
|
741
|
-
@sortChanged=${this.userChangedSort}
|
|
742
|
-
@displayModeChanged=${this.displayModeChanged}
|
|
743
|
-
@titleLetterChanged=${this.titleLetterSelected}
|
|
744
|
-
@creatorLetterChanged=${this.creatorLetterSelected}
|
|
745
|
-
>
|
|
746
|
-
${this.tileBlurCheckboxTemplate}
|
|
747
|
-
<slot name="sort-options-left" slot="sort-options-left"></slot>
|
|
748
|
-
<slot name="sort-options" slot="sort-options"></slot>
|
|
749
|
-
<slot name="sort-options-right" slot="sort-options-right"></slot>
|
|
750
|
-
</sort-filter-bar>
|
|
728
|
+
return html `
|
|
729
|
+
<sort-filter-bar
|
|
730
|
+
.defaultSortField=${this.defaultSortField}
|
|
731
|
+
.defaultSortDirection=${this.defaultSortDirection}
|
|
732
|
+
.selectedSort=${this.selectedSort}
|
|
733
|
+
.sortDirection=${this.sortDirection}
|
|
734
|
+
.sortFieldAvailability=${sortFieldAvailability}
|
|
735
|
+
.displayMode=${this.displayMode}
|
|
736
|
+
.selectedTitleFilter=${this.selectedTitleFilter}
|
|
737
|
+
.selectedCreatorFilter=${this.selectedCreatorFilter}
|
|
738
|
+
.prefixFilterCountMap=${this.dataSource.prefixFilterCountMap}
|
|
739
|
+
.enableSortOptionsSlot=${this.enableSortOptionsSlot}
|
|
740
|
+
.suppressDisplayModes=${this.suppressDisplayModes}
|
|
741
|
+
@sortChanged=${this.userChangedSort}
|
|
742
|
+
@displayModeChanged=${this.displayModeChanged}
|
|
743
|
+
@titleLetterChanged=${this.titleLetterSelected}
|
|
744
|
+
@creatorLetterChanged=${this.creatorLetterSelected}
|
|
745
|
+
>
|
|
746
|
+
${this.tileBlurCheckboxTemplate}
|
|
747
|
+
<slot name="sort-options-left" slot="sort-options-left"></slot>
|
|
748
|
+
<slot name="sort-options" slot="sort-options"></slot>
|
|
749
|
+
<slot name="sort-options-right" slot="sort-options-right"></slot>
|
|
750
|
+
</sort-filter-bar>
|
|
751
751
|
`;
|
|
752
752
|
}
|
|
753
753
|
/**
|
|
@@ -758,20 +758,20 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
758
758
|
// Only show the checkbox for @archive.org users
|
|
759
759
|
if (!this.dataSource.sessionContext?.is_archive_user)
|
|
760
760
|
return nothing;
|
|
761
|
-
return html `
|
|
762
|
-
<label
|
|
763
|
-
id="tile-blur-label"
|
|
764
|
-
for="tile-blur-check"
|
|
765
|
-
slot="sort-options-right"
|
|
766
|
-
>
|
|
767
|
-
${msg('Blurring')}
|
|
768
|
-
<input
|
|
769
|
-
id="tile-blur-check"
|
|
770
|
-
type="checkbox"
|
|
771
|
-
?checked=${!this.shouldSuppressTileBlurring}
|
|
772
|
-
@change=${this.tileBlurCheckboxChanged}
|
|
773
|
-
/>
|
|
774
|
-
</label>
|
|
761
|
+
return html `
|
|
762
|
+
<label
|
|
763
|
+
id="tile-blur-label"
|
|
764
|
+
for="tile-blur-check"
|
|
765
|
+
slot="sort-options-right"
|
|
766
|
+
>
|
|
767
|
+
${msg('Blurring')}
|
|
768
|
+
<input
|
|
769
|
+
id="tile-blur-check"
|
|
770
|
+
type="checkbox"
|
|
771
|
+
?checked=${!this.shouldSuppressTileBlurring}
|
|
772
|
+
@change=${this.tileBlurCheckboxChanged}
|
|
773
|
+
/>
|
|
774
|
+
</label>
|
|
775
775
|
`;
|
|
776
776
|
}
|
|
777
777
|
/**
|
|
@@ -779,27 +779,27 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
779
779
|
* showing the management view. This generally replaces the sort bar when present.
|
|
780
780
|
*/
|
|
781
781
|
get manageBarTemplate() {
|
|
782
|
-
return html `
|
|
783
|
-
<manage-bar
|
|
784
|
-
.label=${this.manageViewLabel}
|
|
785
|
-
.modalManager=${this.modalManager}
|
|
786
|
-
.selectedItems=${this.dataSource.checkedTileModels}
|
|
787
|
-
.profileElement=${this.profileElement}
|
|
788
|
-
showSelectAll
|
|
789
|
-
showUnselectAll
|
|
790
|
-
?showItemManageButton=${this.pageContext === 'search'}
|
|
791
|
-
?removeAllowed=${this.dataSource.checkedTileModels.length !== 0}
|
|
792
|
-
@removeItems=${this.handleRemoveItems}
|
|
793
|
-
@manageItems=${this.handleManageItems}
|
|
794
|
-
@selectAll=${() => this.dataSource.checkAllTiles()}
|
|
795
|
-
@unselectAll=${() => this.dataSource.uncheckAllTiles()}
|
|
782
|
+
return html `
|
|
783
|
+
<manage-bar
|
|
784
|
+
.label=${this.manageViewLabel}
|
|
785
|
+
.modalManager=${this.modalManager}
|
|
786
|
+
.selectedItems=${this.dataSource.checkedTileModels}
|
|
787
|
+
.profileElement=${this.profileElement}
|
|
788
|
+
showSelectAll
|
|
789
|
+
showUnselectAll
|
|
790
|
+
?showItemManageButton=${this.pageContext === 'search'}
|
|
791
|
+
?removeAllowed=${this.dataSource.checkedTileModels.length !== 0}
|
|
792
|
+
@removeItems=${this.handleRemoveItems}
|
|
793
|
+
@manageItems=${this.handleManageItems}
|
|
794
|
+
@selectAll=${() => this.dataSource.checkAllTiles()}
|
|
795
|
+
@unselectAll=${() => this.dataSource.uncheckAllTiles()}
|
|
796
796
|
@cancel=${() => {
|
|
797
797
|
this.isManageView = false;
|
|
798
798
|
this.dataSource.uncheckAllTiles();
|
|
799
799
|
if (this.searchResultsLoading)
|
|
800
800
|
this.dataSource.resetPages();
|
|
801
|
-
}}
|
|
802
|
-
></manage-bar>
|
|
801
|
+
}}
|
|
802
|
+
></manage-bar>
|
|
803
803
|
`;
|
|
804
804
|
}
|
|
805
805
|
/**
|
|
@@ -1034,15 +1034,15 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
1034
1034
|
label: target.open ? 'open' : 'closed',
|
|
1035
1035
|
});
|
|
1036
1036
|
};
|
|
1037
|
-
return html `
|
|
1038
|
-
<details id="mobile-filter-collapse" @toggle=${toggleFacetsVisible}>
|
|
1039
|
-
<summary>
|
|
1040
|
-
<span class="collapser-icon">${chevronIcon}</span>
|
|
1041
|
-
<h2>${msg('Filters')}</h2>
|
|
1042
|
-
${this.clearFiltersBtnTemplate(true)}
|
|
1043
|
-
</summary>
|
|
1044
|
-
${this.facetsTemplate}
|
|
1045
|
-
</details>
|
|
1037
|
+
return html `
|
|
1038
|
+
<details id="mobile-filter-collapse" @toggle=${toggleFacetsVisible}>
|
|
1039
|
+
<summary>
|
|
1040
|
+
<span class="collapser-icon">${chevronIcon}</span>
|
|
1041
|
+
<h2>${msg('Filters')}</h2>
|
|
1042
|
+
${this.clearFiltersBtnTemplate(true)}
|
|
1043
|
+
</summary>
|
|
1044
|
+
${this.facetsTemplate}
|
|
1045
|
+
</details>
|
|
1046
1046
|
`;
|
|
1047
1047
|
}
|
|
1048
1048
|
/**
|
|
@@ -1126,50 +1126,50 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
1126
1126
|
const filterByNetworkLabel = msg('Filter by Network');
|
|
1127
1127
|
const filterByShowLabel = msg('Filter by Show');
|
|
1128
1128
|
const shows = showEntries.map(([show]) => show);
|
|
1129
|
-
const loadingIndicator = html `
|
|
1130
|
-
<span slot="empty-options">
|
|
1131
|
-
<img src="https://archive.org/images/loading.gif" />
|
|
1132
|
-
</span>
|
|
1129
|
+
const loadingIndicator = html `
|
|
1130
|
+
<span slot="empty-options">
|
|
1131
|
+
<img src="https://archive.org/images/loading.gif" />
|
|
1132
|
+
</span>
|
|
1133
1133
|
`;
|
|
1134
|
-
const errorMessage = html `
|
|
1135
|
-
<span slot="empty-options">
|
|
1136
|
-
${msg('Unable to fetch options, try again later')}
|
|
1137
|
-
</span>
|
|
1134
|
+
const errorMessage = html `
|
|
1135
|
+
<span slot="empty-options">
|
|
1136
|
+
${msg('Unable to fetch options, try again later')}
|
|
1137
|
+
</span>
|
|
1138
1138
|
`;
|
|
1139
|
-
return html `
|
|
1140
|
-
<div id="tv-filters" slot="facets-top">
|
|
1141
|
-
<ia-combo-box
|
|
1142
|
-
id="tv-networks"
|
|
1143
|
-
class="tv-filter-dropdown"
|
|
1144
|
-
placeholder=${filterByNetworkLabel}
|
|
1145
|
-
clearable
|
|
1146
|
-
wrap-arrow-keys
|
|
1147
|
-
sort
|
|
1148
|
-
.options=${networks.map((n, i) => ({ id: `network-${i}`, text: n }))}
|
|
1149
|
-
@toggle=${this.tvDropdownToggled}
|
|
1150
|
-
@change=${this.networksDropdownChanged}
|
|
1151
|
-
>
|
|
1152
|
-
<span slot="label" class="sr-only">${filterByNetworkLabel}</span>
|
|
1153
|
-
${this.tvMapsLoading ? loadingIndicator : nothing}
|
|
1154
|
-
${this.tvMapsErrored ? errorMessage : nothing}
|
|
1155
|
-
</ia-combo-box>
|
|
1156
|
-
<ia-combo-box
|
|
1157
|
-
id="tv-shows"
|
|
1158
|
-
class="tv-filter-dropdown"
|
|
1159
|
-
placeholder=${filterByShowLabel}
|
|
1160
|
-
max-autocomplete-entries="500"
|
|
1161
|
-
clearable
|
|
1162
|
-
wrap-arrow-keys
|
|
1163
|
-
sort
|
|
1164
|
-
.options=${shows.map((s, i) => ({ id: `show-${i}`, text: s }))}
|
|
1165
|
-
@toggle=${this.tvDropdownToggled}
|
|
1166
|
-
@change=${this.showsDropdownChanged}
|
|
1167
|
-
>
|
|
1168
|
-
<span slot="label" class="sr-only">${filterByShowLabel}</span>
|
|
1169
|
-
${this.tvMapsLoading ? loadingIndicator : nothing}
|
|
1170
|
-
${this.tvMapsErrored ? errorMessage : nothing}
|
|
1171
|
-
</ia-combo-box>
|
|
1172
|
-
</div>
|
|
1139
|
+
return html `
|
|
1140
|
+
<div id="tv-filters" slot="facets-top">
|
|
1141
|
+
<ia-combo-box
|
|
1142
|
+
id="tv-networks"
|
|
1143
|
+
class="tv-filter-dropdown"
|
|
1144
|
+
placeholder=${filterByNetworkLabel}
|
|
1145
|
+
clearable
|
|
1146
|
+
wrap-arrow-keys
|
|
1147
|
+
sort
|
|
1148
|
+
.options=${networks.map((n, i) => ({ id: `network-${i}`, text: n }))}
|
|
1149
|
+
@toggle=${this.tvDropdownToggled}
|
|
1150
|
+
@change=${this.networksDropdownChanged}
|
|
1151
|
+
>
|
|
1152
|
+
<span slot="label" class="sr-only">${filterByNetworkLabel}</span>
|
|
1153
|
+
${this.tvMapsLoading ? loadingIndicator : nothing}
|
|
1154
|
+
${this.tvMapsErrored ? errorMessage : nothing}
|
|
1155
|
+
</ia-combo-box>
|
|
1156
|
+
<ia-combo-box
|
|
1157
|
+
id="tv-shows"
|
|
1158
|
+
class="tv-filter-dropdown"
|
|
1159
|
+
placeholder=${filterByShowLabel}
|
|
1160
|
+
max-autocomplete-entries="500"
|
|
1161
|
+
clearable
|
|
1162
|
+
wrap-arrow-keys
|
|
1163
|
+
sort
|
|
1164
|
+
.options=${shows.map((s, i) => ({ id: `show-${i}`, text: s }))}
|
|
1165
|
+
@toggle=${this.tvDropdownToggled}
|
|
1166
|
+
@change=${this.showsDropdownChanged}
|
|
1167
|
+
>
|
|
1168
|
+
<span slot="label" class="sr-only">${filterByShowLabel}</span>
|
|
1169
|
+
${this.tvMapsLoading ? loadingIndicator : nothing}
|
|
1170
|
+
${this.tvMapsErrored ? errorMessage : nothing}
|
|
1171
|
+
</ia-combo-box>
|
|
1172
|
+
</div>
|
|
1173
1173
|
`;
|
|
1174
1174
|
}
|
|
1175
1175
|
/**
|
|
@@ -1179,10 +1179,10 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
1179
1179
|
if (FACETLESS_PAGE_ELEMENTS.includes(this.profileElement))
|
|
1180
1180
|
return nothing;
|
|
1181
1181
|
if (this.facetLoadStrategy === 'off') {
|
|
1182
|
-
return html `
|
|
1183
|
-
<p class="facets-message">
|
|
1184
|
-
${msg('Facets are temporarily unavailable.')}
|
|
1185
|
-
</p>
|
|
1182
|
+
return html `
|
|
1183
|
+
<p class="facets-message">
|
|
1184
|
+
${msg('Facets are temporarily unavailable.')}
|
|
1185
|
+
</p>
|
|
1186
1186
|
`;
|
|
1187
1187
|
}
|
|
1188
1188
|
// We switch to TV facet ordering & date picker if we are in a TV collection or showing TV search results
|
|
@@ -1191,46 +1191,46 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
1191
1191
|
const facetDisplayOrder = shouldUseTvInterface
|
|
1192
1192
|
? tvFacetDisplayOrder
|
|
1193
1193
|
: defaultFacetDisplayOrder;
|
|
1194
|
-
const facets = html `
|
|
1195
|
-
<collection-facets
|
|
1196
|
-
.collectionPagePath=${this.collectionPagePath}
|
|
1197
|
-
.parentCollections=${this.dataSource.parentCollections}
|
|
1198
|
-
.pageSpecifierParams=${this.dataSource.pageSpecifierParams}
|
|
1199
|
-
.searchService=${this.searchService}
|
|
1200
|
-
.featureFeedbackService=${this.featureFeedbackService}
|
|
1201
|
-
.recaptchaManager=${this.recaptchaManager}
|
|
1202
|
-
.resizeObserver=${this.resizeObserver}
|
|
1203
|
-
.searchType=${this.searchType}
|
|
1204
|
-
.aggregations=${this.dataSource.aggregations}
|
|
1205
|
-
.histogramAggregation=${this.dataSource.histogramAggregation}
|
|
1206
|
-
.minSelectedDate=${this.minSelectedDate}
|
|
1207
|
-
.maxSelectedDate=${this.maxSelectedDate}
|
|
1208
|
-
.selectedFacets=${this.selectedFacets}
|
|
1209
|
-
.baseNavigationUrl=${this.baseNavigationUrl}
|
|
1210
|
-
.collectionTitles=${this.dataSource.collectionTitles}
|
|
1211
|
-
.tvChannelAliases=${this.dataSource.tvChannelAliases}
|
|
1212
|
-
.showHistogramDatePicker=${this.showHistogramDatePicker}
|
|
1213
|
-
.allowExpandingDatePicker=${!this.mobileView}
|
|
1214
|
-
.allowDatePickerMonths=${shouldUseTvInterface}
|
|
1215
|
-
.contentWidth=${this.contentWidth}
|
|
1216
|
-
.query=${this.baseQuery}
|
|
1217
|
-
.identifiers=${this.identifiers}
|
|
1218
|
-
.filterMap=${this.dataSource.filterMap}
|
|
1219
|
-
.isManageView=${this.isManageView}
|
|
1220
|
-
.modalManager=${this.modalManager}
|
|
1221
|
-
.analyticsHandler=${this.analyticsHandler}
|
|
1222
|
-
.facetDisplayOrder=${facetDisplayOrder}
|
|
1223
|
-
.isTvSearch=${shouldUseTvInterface}
|
|
1224
|
-
?collapsableFacets=${this.mobileView}
|
|
1225
|
-
?facetsLoading=${this.facetsLoading}
|
|
1226
|
-
?histogramAggregationLoading=${this.facetsLoading}
|
|
1227
|
-
?suppressMediatypeFacets=${this.suppressMediatypeFacets}
|
|
1228
|
-
@facetClick=${this.facetClickHandler}
|
|
1229
|
-
@facetsChanged=${this.facetsChanged}
|
|
1230
|
-
@histogramDateRangeUpdated=${this.histogramDateRangeUpdated}
|
|
1231
|
-
>
|
|
1232
|
-
${this.tvDropdownFiltersTemplate}
|
|
1233
|
-
</collection-facets>
|
|
1194
|
+
const facets = html `
|
|
1195
|
+
<collection-facets
|
|
1196
|
+
.collectionPagePath=${this.collectionPagePath}
|
|
1197
|
+
.parentCollections=${this.dataSource.parentCollections}
|
|
1198
|
+
.pageSpecifierParams=${this.dataSource.pageSpecifierParams}
|
|
1199
|
+
.searchService=${this.searchService}
|
|
1200
|
+
.featureFeedbackService=${this.featureFeedbackService}
|
|
1201
|
+
.recaptchaManager=${this.recaptchaManager}
|
|
1202
|
+
.resizeObserver=${this.resizeObserver}
|
|
1203
|
+
.searchType=${this.searchType}
|
|
1204
|
+
.aggregations=${this.dataSource.aggregations}
|
|
1205
|
+
.histogramAggregation=${this.dataSource.histogramAggregation}
|
|
1206
|
+
.minSelectedDate=${this.minSelectedDate}
|
|
1207
|
+
.maxSelectedDate=${this.maxSelectedDate}
|
|
1208
|
+
.selectedFacets=${this.selectedFacets}
|
|
1209
|
+
.baseNavigationUrl=${this.baseNavigationUrl}
|
|
1210
|
+
.collectionTitles=${this.dataSource.collectionTitles}
|
|
1211
|
+
.tvChannelAliases=${this.dataSource.tvChannelAliases}
|
|
1212
|
+
.showHistogramDatePicker=${this.showHistogramDatePicker}
|
|
1213
|
+
.allowExpandingDatePicker=${!this.mobileView}
|
|
1214
|
+
.allowDatePickerMonths=${shouldUseTvInterface}
|
|
1215
|
+
.contentWidth=${this.contentWidth}
|
|
1216
|
+
.query=${this.baseQuery}
|
|
1217
|
+
.identifiers=${this.identifiers}
|
|
1218
|
+
.filterMap=${this.dataSource.filterMap}
|
|
1219
|
+
.isManageView=${this.isManageView}
|
|
1220
|
+
.modalManager=${this.modalManager}
|
|
1221
|
+
.analyticsHandler=${this.analyticsHandler}
|
|
1222
|
+
.facetDisplayOrder=${facetDisplayOrder}
|
|
1223
|
+
.isTvSearch=${shouldUseTvInterface}
|
|
1224
|
+
?collapsableFacets=${this.mobileView}
|
|
1225
|
+
?facetsLoading=${this.facetsLoading}
|
|
1226
|
+
?histogramAggregationLoading=${this.facetsLoading}
|
|
1227
|
+
?suppressMediatypeFacets=${this.suppressMediatypeFacets}
|
|
1228
|
+
@facetClick=${this.facetClickHandler}
|
|
1229
|
+
@facetsChanged=${this.facetsChanged}
|
|
1230
|
+
@histogramDateRangeUpdated=${this.histogramDateRangeUpdated}
|
|
1231
|
+
>
|
|
1232
|
+
${this.tvDropdownFiltersTemplate}
|
|
1233
|
+
</collection-facets>
|
|
1234
1234
|
`;
|
|
1235
1235
|
// If we are using one of the opt-in facet load strategies, we may need to wrap the
|
|
1236
1236
|
// desktop view facets in a <details> widget so that patrons can opt into loading them.
|
|
@@ -1238,20 +1238,20 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
1238
1238
|
const showDesktopOptInWidget = this.facetLoadStrategy === 'opt-in' ||
|
|
1239
1239
|
(this.facetLoadStrategy === 'opt-in-or-login' && !this.loggedIn);
|
|
1240
1240
|
if (showDesktopOptInWidget && !this.mobileView) {
|
|
1241
|
-
return html `
|
|
1242
|
-
<details
|
|
1243
|
-
class="desktop-facets-dropdown"
|
|
1241
|
+
return html `
|
|
1242
|
+
<details
|
|
1243
|
+
class="desktop-facets-dropdown"
|
|
1244
1244
|
@toggle=${(e) => {
|
|
1245
1245
|
const target = e.target;
|
|
1246
1246
|
this.collapsibleFacetsVisible = target.open;
|
|
1247
|
-
}}
|
|
1248
|
-
>
|
|
1249
|
-
<summary>
|
|
1250
|
-
<span class="collapser-icon">${chevronIcon}</span>
|
|
1251
|
-
<h2>${msg('Filters')}</h2>
|
|
1252
|
-
</summary>
|
|
1253
|
-
${facets}
|
|
1254
|
-
</details>
|
|
1247
|
+
}}
|
|
1248
|
+
>
|
|
1249
|
+
<summary>
|
|
1250
|
+
<span class="collapser-icon">${chevronIcon}</span>
|
|
1251
|
+
<h2>${msg('Filters')}</h2>
|
|
1252
|
+
</summary>
|
|
1253
|
+
${facets}
|
|
1254
|
+
</details>
|
|
1255
1255
|
`;
|
|
1256
1256
|
}
|
|
1257
1257
|
// Otherwise, just render the facets component bare
|
|
@@ -1271,35 +1271,35 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
1271
1271
|
mobile,
|
|
1272
1272
|
});
|
|
1273
1273
|
const buttonText = mobile ? 'Clear all' : 'Clear all filters';
|
|
1274
|
-
return html `
|
|
1275
|
-
<div class="clear-filters-btn-row">
|
|
1274
|
+
return html `
|
|
1275
|
+
<div class="clear-filters-btn-row">
|
|
1276
1276
|
${mobile
|
|
1277
1277
|
? html `<span class="clear-filters-btn-separator"> </span>`
|
|
1278
|
-
: nothing}
|
|
1279
|
-
<button class=${buttonClasses} @click=${this.clearFilters}>
|
|
1280
|
-
${buttonText}
|
|
1281
|
-
</button>
|
|
1282
|
-
</div>
|
|
1278
|
+
: nothing}
|
|
1279
|
+
<button class=${buttonClasses} @click=${this.clearFilters}>
|
|
1280
|
+
${buttonText}
|
|
1281
|
+
</button>
|
|
1282
|
+
</div>
|
|
1283
1283
|
`;
|
|
1284
1284
|
}
|
|
1285
1285
|
/**
|
|
1286
1286
|
* Template for the table header content that appears atop the compact list view.
|
|
1287
1287
|
*/
|
|
1288
1288
|
get listHeaderTemplate() {
|
|
1289
|
-
return html `
|
|
1290
|
-
<div id="list-header">
|
|
1291
|
-
<tile-dispatcher
|
|
1292
|
-
.tileDisplayMode=${'list-header'}
|
|
1293
|
-
.resizeObserver=${this.resizeObserver}
|
|
1294
|
-
.sortParam=${this.sortParam}
|
|
1295
|
-
.defaultSortParam=${this.defaultSortParam}
|
|
1296
|
-
.mobileBreakpoint=${this.mobileBreakpoint}
|
|
1297
|
-
.loggedIn=${this.loggedIn}
|
|
1298
|
-
.suppressBlurring=${this.shouldSuppressTileBlurring}
|
|
1299
|
-
.tileActions=${this.tileActions}
|
|
1300
|
-
>
|
|
1301
|
-
</tile-dispatcher>
|
|
1302
|
-
</div>
|
|
1289
|
+
return html `
|
|
1290
|
+
<div id="list-header">
|
|
1291
|
+
<tile-dispatcher
|
|
1292
|
+
.tileDisplayMode=${'list-header'}
|
|
1293
|
+
.resizeObserver=${this.resizeObserver}
|
|
1294
|
+
.sortParam=${this.sortParam}
|
|
1295
|
+
.defaultSortParam=${this.defaultSortParam}
|
|
1296
|
+
.mobileBreakpoint=${this.mobileBreakpoint}
|
|
1297
|
+
.loggedIn=${this.loggedIn}
|
|
1298
|
+
.suppressBlurring=${this.shouldSuppressTileBlurring}
|
|
1299
|
+
.tileActions=${this.tileActions}
|
|
1300
|
+
>
|
|
1301
|
+
</tile-dispatcher>
|
|
1302
|
+
</div>
|
|
1303
1303
|
`;
|
|
1304
1304
|
}
|
|
1305
1305
|
/**
|
|
@@ -2050,30 +2050,30 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
2050
2050
|
const isRadioSearch = this.searchType === SearchType.RADIO;
|
|
2051
2051
|
const { isTVCollection, isRadioCollection } = this;
|
|
2052
2052
|
const shouldUseLocalTime = isTVSearch || isRadioSearch || isTVCollection || isRadioCollection;
|
|
2053
|
-
return html `
|
|
2054
|
-
<tile-dispatcher
|
|
2055
|
-
.collectionPagePath=${this.collectionPagePath}
|
|
2056
|
-
.baseNavigationUrl=${this.baseNavigationUrl}
|
|
2057
|
-
.baseImageUrl=${this.baseImageUrl}
|
|
2058
|
-
.model=${model}
|
|
2059
|
-
.tileDisplayMode=${this.displayMode}
|
|
2060
|
-
.resizeObserver=${this.resizeObserver}
|
|
2061
|
-
.collectionTitles=${this.dataSource.collectionTitles}
|
|
2062
|
-
.sortParam=${this.sortParam}
|
|
2063
|
-
.defaultSortParam=${this.defaultSortParam}
|
|
2064
|
-
.creatorFilter=${this.selectedCreatorFilter}
|
|
2065
|
-
.mobileBreakpoint=${this.mobileBreakpoint}
|
|
2066
|
-
.loggedIn=${this.loggedIn}
|
|
2067
|
-
.suppressBlurring=${this.shouldSuppressTileBlurring}
|
|
2068
|
-
.isManageView=${this.isManageView}
|
|
2069
|
-
.tileActions=${this.tileActions}
|
|
2070
|
-
.layoutType=${this.tileLayoutType}
|
|
2071
|
-
?showTvClips=${isTVSearch || isTVCollection}
|
|
2072
|
-
?enableHoverPane=${true}
|
|
2073
|
-
?useLocalTime=${shouldUseLocalTime}
|
|
2074
|
-
@resultSelected=${(e) => this.resultSelected(e)}
|
|
2075
|
-
>
|
|
2076
|
-
</tile-dispatcher>
|
|
2053
|
+
return html `
|
|
2054
|
+
<tile-dispatcher
|
|
2055
|
+
.collectionPagePath=${this.collectionPagePath}
|
|
2056
|
+
.baseNavigationUrl=${this.baseNavigationUrl}
|
|
2057
|
+
.baseImageUrl=${this.baseImageUrl}
|
|
2058
|
+
.model=${model}
|
|
2059
|
+
.tileDisplayMode=${this.displayMode}
|
|
2060
|
+
.resizeObserver=${this.resizeObserver}
|
|
2061
|
+
.collectionTitles=${this.dataSource.collectionTitles}
|
|
2062
|
+
.sortParam=${this.sortParam}
|
|
2063
|
+
.defaultSortParam=${this.defaultSortParam}
|
|
2064
|
+
.creatorFilter=${this.selectedCreatorFilter}
|
|
2065
|
+
.mobileBreakpoint=${this.mobileBreakpoint}
|
|
2066
|
+
.loggedIn=${this.loggedIn}
|
|
2067
|
+
.suppressBlurring=${this.shouldSuppressTileBlurring}
|
|
2068
|
+
.isManageView=${this.isManageView}
|
|
2069
|
+
.tileActions=${this.tileActions}
|
|
2070
|
+
.layoutType=${this.tileLayoutType}
|
|
2071
|
+
?showTvClips=${isTVSearch || isTVCollection}
|
|
2072
|
+
?enableHoverPane=${true}
|
|
2073
|
+
?useLocalTime=${shouldUseLocalTime}
|
|
2074
|
+
@resultSelected=${(e) => this.resultSelected(e)}
|
|
2075
|
+
>
|
|
2076
|
+
</tile-dispatcher>
|
|
2077
2077
|
`;
|
|
2078
2078
|
}
|
|
2079
2079
|
/**
|
|
@@ -2108,479 +2108,479 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
2108
2108
|
static get styles() {
|
|
2109
2109
|
return [
|
|
2110
2110
|
srOnlyStyle,
|
|
2111
|
-
css `
|
|
2112
|
-
:host {
|
|
2113
|
-
display: block;
|
|
2114
|
-
--leftColumnWidth: 18rem;
|
|
2115
|
-
--leftColumnPaddingTop: 2rem;
|
|
2116
|
-
--leftColumnPaddingRight: 2.5rem;
|
|
2117
|
-
}
|
|
2118
|
-
|
|
2119
|
-
#facet-top-view {
|
|
2120
|
-
display: flex;
|
|
2121
|
-
}
|
|
2122
|
-
|
|
2123
|
-
/**
|
|
2124
|
-
* When page width resizes from desktop to mobile, use this class to
|
|
2125
|
-
* disable expand/collapse transition when loading.
|
|
2126
|
-
*/
|
|
2127
|
-
.preload * {
|
|
2128
|
-
transition: none !important;
|
|
2129
|
-
-webkit-transition: none !important;
|
|
2130
|
-
-moz-transition: none !important;
|
|
2131
|
-
-ms-transition: none !important;
|
|
2132
|
-
-o-transition: none !important;
|
|
2133
|
-
}
|
|
2134
|
-
|
|
2135
|
-
#content-container {
|
|
2136
|
-
display: flex;
|
|
2137
|
-
}
|
|
2138
|
-
|
|
2139
|
-
empty-placeholder {
|
|
2140
|
-
margin-top: var(--placeholderMarginTop, 0);
|
|
2141
|
-
}
|
|
2142
|
-
|
|
2143
|
-
.collapser-icon {
|
|
2144
|
-
display: inline-block;
|
|
2145
|
-
}
|
|
2146
|
-
|
|
2147
|
-
.collapser-icon svg {
|
|
2148
|
-
display: inline-block;
|
|
2149
|
-
width: 12px;
|
|
2150
|
-
height: 12px;
|
|
2151
|
-
transition: transform 0.2s ease-out;
|
|
2152
|
-
}
|
|
2153
|
-
|
|
2154
|
-
#mobile-filter-collapse {
|
|
2155
|
-
width: 100%;
|
|
2156
|
-
}
|
|
2157
|
-
|
|
2158
|
-
#mobile-filter-collapse > summary {
|
|
2159
|
-
cursor: pointer;
|
|
2160
|
-
list-style: none;
|
|
2161
|
-
}
|
|
2162
|
-
|
|
2163
|
-
#mobile-filter-collapse[open] > summary {
|
|
2164
|
-
margin-bottom: 10px;
|
|
2165
|
-
}
|
|
2166
|
-
|
|
2167
|
-
#mobile-filter-collapse h2 {
|
|
2168
|
-
display: inline-block;
|
|
2169
|
-
margin: 0;
|
|
2170
|
-
font-size: 2rem;
|
|
2171
|
-
}
|
|
2172
|
-
|
|
2173
|
-
#mobile-filter-collapse[open] svg {
|
|
2174
|
-
transform: rotate(90deg);
|
|
2175
|
-
}
|
|
2176
|
-
|
|
2177
|
-
#content-container.mobile {
|
|
2178
|
-
display: block;
|
|
2179
|
-
}
|
|
2180
|
-
|
|
2181
|
-
#right-column {
|
|
2182
|
-
flex: 1;
|
|
2183
|
-
position: relative;
|
|
2184
|
-
min-height: 90vh;
|
|
2185
|
-
border-right: 1px solid rgb(232, 232, 232);
|
|
2186
|
-
margin-top: var(--rightColumnMarginTop, 0);
|
|
2187
|
-
padding-top: var(--rightColumnPaddingTop, 2rem);
|
|
2188
|
-
background: #fff;
|
|
2189
|
-
}
|
|
2190
|
-
|
|
2191
|
-
#left-column:not([hidden]) + #right-column {
|
|
2192
|
-
border-left: 1px solid rgb(232, 232, 232);
|
|
2193
|
-
}
|
|
2194
|
-
|
|
2195
|
-
#right-column.smart-results-spacing {
|
|
2196
|
-
padding-top: 0.5rem;
|
|
2197
|
-
border-right: none;
|
|
2198
|
-
background: transparent;
|
|
2199
|
-
min-width: 0;
|
|
2200
|
-
}
|
|
2201
|
-
|
|
2202
|
-
#results {
|
|
2203
|
-
background: #fff;
|
|
2204
|
-
padding-left: 1rem;
|
|
2205
|
-
padding-right: 1rem;
|
|
2206
|
-
}
|
|
2207
|
-
|
|
2208
|
-
#right-column.smart-results-spacing #results {
|
|
2209
|
-
border-radius: 10px 10px 0px 0px;
|
|
2210
|
-
padding-top: 0.5rem;
|
|
2211
|
-
margin-top: 1rem;
|
|
2212
|
-
}
|
|
2213
|
-
|
|
2214
|
-
.mobile #right-column {
|
|
2215
|
-
border-left: none;
|
|
2216
|
-
}
|
|
2217
|
-
|
|
2218
|
-
.mobile #results {
|
|
2219
|
-
padding: 5px 5px 0;
|
|
2220
|
-
}
|
|
2221
|
-
|
|
2222
|
-
#left-column {
|
|
2223
|
-
width: var(--leftColumnWidth, 18rem);
|
|
2224
|
-
/* Prevents Safari from shrinking col at first draw */
|
|
2225
|
-
min-width: var(--leftColumnWidth, 18rem);
|
|
2226
|
-
padding-top: var(--leftColumnPaddingTop, 2rem);
|
|
2227
|
-
/* Reduced padding by 0.2rem to add the invisible border in the rule below */
|
|
2228
|
-
padding-right: calc(var(--leftColumnPaddingRight, 2.5rem) - 0.2rem);
|
|
2229
|
-
border-right: 0.2rem solid transparent; /* Pads to the right of the scrollbar a bit */
|
|
2230
|
-
z-index: 1;
|
|
2231
|
-
}
|
|
2232
|
-
|
|
2233
|
-
.desktop #left-column {
|
|
2234
|
-
top: 0;
|
|
2235
|
-
position: sticky;
|
|
2236
|
-
height: calc(100vh - 2rem);
|
|
2237
|
-
max-height: calc(100vh - 2rem);
|
|
2238
|
-
overflow-x: hidden;
|
|
2239
|
-
overflow-y: scroll;
|
|
2240
|
-
|
|
2241
|
-
/*
|
|
2242
|
-
* Firefox doesn't support any of the -webkit-scrollbar stuff below, but
|
|
2243
|
-
* does at least give us a tiny bit of control over width & color.
|
|
2244
|
-
*/
|
|
2245
|
-
scrollbar-width: thin;
|
|
2246
|
-
scrollbar-color: transparent transparent;
|
|
2247
|
-
}
|
|
2248
|
-
.desktop #left-column:hover {
|
|
2249
|
-
scrollbar-color: auto;
|
|
2250
|
-
}
|
|
2251
|
-
.desktop #left-column::-webkit-scrollbar {
|
|
2252
|
-
appearance: none;
|
|
2253
|
-
width: 6px;
|
|
2254
|
-
}
|
|
2255
|
-
.desktop #left-column::-webkit-scrollbar-button {
|
|
2256
|
-
height: 3px;
|
|
2257
|
-
background: transparent;
|
|
2258
|
-
}
|
|
2259
|
-
.desktop #left-column::-webkit-scrollbar-corner {
|
|
2260
|
-
background: transparent;
|
|
2261
|
-
}
|
|
2262
|
-
.desktop #left-column::-webkit-scrollbar-thumb {
|
|
2263
|
-
border-radius: 4px;
|
|
2264
|
-
}
|
|
2265
|
-
.desktop #left-column:hover::-webkit-scrollbar-thumb {
|
|
2266
|
-
background: rgba(0, 0, 0, 0.15);
|
|
2267
|
-
}
|
|
2268
|
-
.desktop #left-column:hover::-webkit-scrollbar-thumb:hover {
|
|
2269
|
-
background: rgba(0, 0, 0, 0.2);
|
|
2270
|
-
}
|
|
2271
|
-
.desktop #left-column:hover::-webkit-scrollbar-thumb:active {
|
|
2272
|
-
background: rgba(0, 0, 0, 0.3);
|
|
2273
|
-
}
|
|
2274
|
-
|
|
2275
|
-
#facets-bottom-fade {
|
|
2276
|
-
background: linear-gradient(
|
|
2277
|
-
to bottom,
|
|
2278
|
-
#fbfbfd00 0%,
|
|
2279
|
-
#fbfbfdc0 50%,
|
|
2280
|
-
#fbfbfd 80%,
|
|
2281
|
-
#fbfbfd 100%
|
|
2282
|
-
);
|
|
2283
|
-
position: fixed;
|
|
2284
|
-
bottom: 0;
|
|
2285
|
-
height: 50px;
|
|
2286
|
-
/* Wide enough to cover the content, but leave the scrollbar uncovered */
|
|
2287
|
-
width: calc(
|
|
2288
|
-
var(--leftColumnWidth) + var(--leftColumnPaddingRight) - 10px
|
|
2289
|
-
);
|
|
2290
|
-
z-index: 2;
|
|
2291
|
-
pointer-events: none;
|
|
2292
|
-
transition: height 0.1s ease;
|
|
2293
|
-
}
|
|
2294
|
-
#facets-bottom-fade.hidden {
|
|
2295
|
-
height: 0;
|
|
2296
|
-
}
|
|
2297
|
-
|
|
2298
|
-
.facets-message {
|
|
2299
|
-
font-size: 1.4rem;
|
|
2300
|
-
}
|
|
2301
|
-
|
|
2302
|
-
.desktop-facets-dropdown > summary {
|
|
2303
|
-
cursor: pointer;
|
|
2304
|
-
list-style: none;
|
|
2305
|
-
}
|
|
2306
|
-
|
|
2307
|
-
.desktop-facets-dropdown h2 {
|
|
2308
|
-
display: inline-block;
|
|
2309
|
-
margin: 0;
|
|
2310
|
-
font-size: 1.6rem;
|
|
2311
|
-
}
|
|
2312
|
-
|
|
2313
|
-
.desktop-facets-dropdown[open] > summary {
|
|
2314
|
-
margin-bottom: 10px;
|
|
2315
|
-
}
|
|
2316
|
-
|
|
2317
|
-
.desktop-facets-dropdown[open] svg {
|
|
2318
|
-
transform: rotate(90deg);
|
|
2319
|
-
}
|
|
2320
|
-
|
|
2321
|
-
.desktop #left-column-scroll-sentinel {
|
|
2322
|
-
width: 1px;
|
|
2323
|
-
height: 100vh;
|
|
2324
|
-
background: transparent;
|
|
2325
|
-
}
|
|
2326
|
-
|
|
2327
|
-
.desktop #facets-scroll-sentinel {
|
|
2328
|
-
width: 1px;
|
|
2329
|
-
height: 1px;
|
|
2330
|
-
background: transparent;
|
|
2331
|
-
}
|
|
2332
|
-
|
|
2333
|
-
#facets-header-container {
|
|
2334
|
-
display: flex;
|
|
2335
|
-
justify-content: space-between;
|
|
2336
|
-
align-items: flex-start;
|
|
2337
|
-
clear: both;
|
|
2338
|
-
}
|
|
2339
|
-
|
|
2340
|
-
.desktop #facets-header-container {
|
|
2341
|
-
flex-wrap: wrap;
|
|
2342
|
-
}
|
|
2343
|
-
|
|
2344
|
-
.mobile #left-column {
|
|
2345
|
-
width: 100%;
|
|
2346
|
-
min-width: 0;
|
|
2347
|
-
padding: 5px 0;
|
|
2348
|
-
border: 0;
|
|
2349
|
-
}
|
|
2350
|
-
|
|
2351
|
-
.clear-filters-btn-row {
|
|
2352
|
-
display: inline-block;
|
|
2353
|
-
}
|
|
2354
|
-
|
|
2355
|
-
.desktop .clear-filters-btn-row {
|
|
2356
|
-
width: 100%;
|
|
2357
|
-
}
|
|
2358
|
-
|
|
2359
|
-
.clear-filters-btn {
|
|
2360
|
-
display: inline-block;
|
|
2361
|
-
appearance: none;
|
|
2362
|
-
margin: 0;
|
|
2363
|
-
padding: 0;
|
|
2364
|
-
border: 0;
|
|
2365
|
-
background: none;
|
|
2366
|
-
color: var(--ia-theme-link-color);
|
|
2367
|
-
font-size: 1.4rem;
|
|
2368
|
-
font-family: inherit;
|
|
2369
|
-
cursor: pointer;
|
|
2370
|
-
}
|
|
2371
|
-
|
|
2372
|
-
.clear-filters-btn:hover {
|
|
2373
|
-
text-decoration: underline;
|
|
2374
|
-
}
|
|
2375
|
-
|
|
2376
|
-
.clear-filters-btn-separator {
|
|
2377
|
-
display: inline-block;
|
|
2378
|
-
margin-left: 5px;
|
|
2379
|
-
border-left: 1px solid #2c2c2c;
|
|
2380
|
-
font-size: 1.4rem;
|
|
2381
|
-
line-height: 1.3rem;
|
|
2382
|
-
}
|
|
2383
|
-
|
|
2384
|
-
#tv-filters {
|
|
2385
|
-
margin-bottom: 15px;
|
|
2386
|
-
}
|
|
2387
|
-
|
|
2388
|
-
#tv-shows {
|
|
2389
|
-
--comboBoxListWidth: 300px;
|
|
2390
|
-
}
|
|
2391
|
-
|
|
2392
|
-
.tv-filter-dropdown {
|
|
2393
|
-
display: block;
|
|
2394
|
-
font-size: 14px;
|
|
2395
|
-
margin-left: 1px;
|
|
2396
|
-
margin-bottom: 5px;
|
|
2397
|
-
}
|
|
2398
|
-
|
|
2399
|
-
.tv-filter-dropdown::part(combo-box) {
|
|
2400
|
-
outline-offset: 1px;
|
|
2401
|
-
}
|
|
2402
|
-
|
|
2403
|
-
.tv-filter-dropdown::part(option) {
|
|
2404
|
-
line-height: 1.1;
|
|
2405
|
-
padding: 7px;
|
|
2406
|
-
}
|
|
2407
|
-
|
|
2408
|
-
.tv-filter-dropdown::part(clear-button) {
|
|
2409
|
-
flex: 0 0 26px;
|
|
2410
|
-
--combo-box-clear-icon-size: 14px;
|
|
2411
|
-
}
|
|
2412
|
-
|
|
2413
|
-
.tv-filter-dropdown::part(icon) {
|
|
2414
|
-
width: 1.4rem;
|
|
2415
|
-
height: 1.4rem;
|
|
2416
|
-
}
|
|
2417
|
-
|
|
2418
|
-
#facets-container {
|
|
2419
|
-
position: relative;
|
|
2420
|
-
max-height: 0;
|
|
2421
|
-
transition: max-height 0.2s ease-in-out;
|
|
2422
|
-
z-index: 1;
|
|
2423
|
-
margin-top: var(--facetsContainerMarginTop, 3rem);
|
|
2424
|
-
padding-bottom: 2rem;
|
|
2425
|
-
}
|
|
2426
|
-
|
|
2427
|
-
.desktop #facets-container {
|
|
2428
|
-
width: 18rem;
|
|
2429
|
-
}
|
|
2430
|
-
|
|
2431
|
-
.mobile #facets-container {
|
|
2432
|
-
overflow: hidden;
|
|
2433
|
-
padding-bottom: 0;
|
|
2434
|
-
padding-left: 10px;
|
|
2435
|
-
padding-right: 10px;
|
|
2436
|
-
}
|
|
2437
|
-
|
|
2438
|
-
#facets-container.expanded {
|
|
2439
|
-
max-height: 2000px;
|
|
2440
|
-
}
|
|
2441
|
-
|
|
2442
|
-
.results-section-heading {
|
|
2443
|
-
margin: 0.5rem 0.3rem;
|
|
2444
|
-
font-size: 2rem;
|
|
2445
|
-
line-height: 25px;
|
|
2446
|
-
}
|
|
2447
|
-
|
|
2448
|
-
#results-total {
|
|
2449
|
-
display: flex;
|
|
2450
|
-
align-items: baseline;
|
|
2451
|
-
}
|
|
2452
|
-
|
|
2453
|
-
#results-total:not(.filtered) {
|
|
2454
|
-
padding-bottom: 2rem;
|
|
2455
|
-
}
|
|
2456
|
-
|
|
2457
|
-
.mobile #results-total {
|
|
2458
|
-
position: absolute;
|
|
2459
|
-
right: 10px;
|
|
2460
|
-
}
|
|
2461
|
-
|
|
2462
|
-
#big-results-count {
|
|
2463
|
-
font-size: 2.4rem;
|
|
2464
|
-
font-weight: 500;
|
|
2465
|
-
margin-right: 5px;
|
|
2466
|
-
}
|
|
2467
|
-
|
|
2468
|
-
.mobile #big-results-count {
|
|
2469
|
-
font-size: 2rem;
|
|
2470
|
-
}
|
|
2471
|
-
|
|
2472
|
-
#big-results-label {
|
|
2473
|
-
font-size: 1.4rem;
|
|
2474
|
-
font-weight: 200;
|
|
2475
|
-
}
|
|
2476
|
-
|
|
2477
|
-
#list-header {
|
|
2478
|
-
max-height: 4.2rem;
|
|
2479
|
-
}
|
|
2480
|
-
|
|
2481
|
-
.loading-cover {
|
|
2482
|
-
position: absolute;
|
|
2483
|
-
top: 0;
|
|
2484
|
-
left: 0;
|
|
2485
|
-
width: 100%;
|
|
2486
|
-
height: 100%;
|
|
2487
|
-
display: flex;
|
|
2488
|
-
justify-content: center;
|
|
2489
|
-
z-index: 1;
|
|
2490
|
-
padding-top: 50px;
|
|
2491
|
-
}
|
|
2492
|
-
|
|
2493
|
-
#tile-blur-label {
|
|
2494
|
-
display: flex;
|
|
2495
|
-
align-items: center;
|
|
2496
|
-
column-gap: 5px;
|
|
2497
|
-
}
|
|
2498
|
-
|
|
2499
|
-
#tile-blur-check {
|
|
2500
|
-
margin: 0 5px 0 0;
|
|
2501
|
-
width: 15px;
|
|
2502
|
-
}
|
|
2503
|
-
|
|
2504
|
-
circular-activity-indicator {
|
|
2505
|
-
width: 30px;
|
|
2506
|
-
height: 30px;
|
|
2507
|
-
}
|
|
2508
|
-
|
|
2509
|
-
sort-filter-bar {
|
|
2510
|
-
display: block;
|
|
2511
|
-
margin-bottom: 4rem;
|
|
2512
|
-
}
|
|
2513
|
-
|
|
2514
|
-
infinite-scroller {
|
|
2515
|
-
display: block;
|
|
2516
|
-
--infiniteScrollerRowGap: var(--collectionBrowserRowGap, 1.7rem);
|
|
2517
|
-
--infiniteScrollerColGap: var(--collectionBrowserColGap, 1.7rem);
|
|
2518
|
-
}
|
|
2519
|
-
|
|
2520
|
-
infinite-scroller.list-compact {
|
|
2521
|
-
--infiniteScrollerCellMinWidth: var(
|
|
2522
|
-
--collectionBrowserCellMinWidth,
|
|
2523
|
-
100%
|
|
2524
|
-
);
|
|
2525
|
-
--infiniteScrollerCellMinHeight: 45px; /* override infinite scroller component */
|
|
2526
|
-
--infiniteScrollerCellMaxHeight: 56px;
|
|
2527
|
-
--infiniteScrollerRowGap: 10px;
|
|
2528
|
-
}
|
|
2529
|
-
|
|
2530
|
-
infinite-scroller.list-detail {
|
|
2531
|
-
--infiniteScrollerCellMinWidth: var(
|
|
2532
|
-
--collectionBrowserCellMinWidth,
|
|
2533
|
-
100%
|
|
2534
|
-
);
|
|
2535
|
-
--infiniteScrollerCellMinHeight: var(
|
|
2536
|
-
--collectionBrowserCellMinHeight,
|
|
2537
|
-
5rem
|
|
2538
|
-
);
|
|
2539
|
-
/*
|
|
2540
|
-
30px in spec, compensating for a -4px margin
|
|
2541
|
-
to align title with top of item image
|
|
2542
|
-
src/tiles/list/tile-list.ts
|
|
2543
|
-
*/
|
|
2544
|
-
--infiniteScrollerRowGap: 34px;
|
|
2545
|
-
}
|
|
2546
|
-
|
|
2547
|
-
.mobile infinite-scroller.list-detail {
|
|
2548
|
-
--infiniteScrollerRowGap: 24px;
|
|
2549
|
-
}
|
|
2550
|
-
|
|
2551
|
-
infinite-scroller.grid {
|
|
2552
|
-
--infiniteScrollerCellMinWidth: var(
|
|
2553
|
-
--collectionBrowserCellMinWidth,
|
|
2554
|
-
17rem
|
|
2555
|
-
);
|
|
2556
|
-
--infiniteScrollerCellMaxWidth: var(
|
|
2557
|
-
--collectionBrowserCellMaxWidth,
|
|
2558
|
-
1fr
|
|
2559
|
-
);
|
|
2560
|
-
}
|
|
2561
|
-
|
|
2562
|
-
/* Allow tiles to shrink a bit further at smaller viewport widths */
|
|
2563
|
-
@media screen and (max-width: 880px) {
|
|
2564
|
-
infinite-scroller.grid {
|
|
2565
|
-
--infiniteScrollerCellMinWidth: var(
|
|
2566
|
-
--collectionBrowserCellMinWidth,
|
|
2567
|
-
15rem
|
|
2568
|
-
);
|
|
2569
|
-
}
|
|
2570
|
-
}
|
|
2571
|
-
/* At very small widths, maintain a 2-tile layout as far as it can reasonably go */
|
|
2572
|
-
@media screen and (max-width: 360px) {
|
|
2573
|
-
infinite-scroller.grid {
|
|
2574
|
-
--infiniteScrollerCellMinWidth: var(
|
|
2575
|
-
--collectionBrowserCellMinWidth,
|
|
2576
|
-
12rem
|
|
2577
|
-
);
|
|
2578
|
-
}
|
|
2579
|
-
}
|
|
2580
|
-
|
|
2581
|
-
infinite-scroller.hidden {
|
|
2582
|
-
display: none;
|
|
2583
|
-
}
|
|
2111
|
+
css `
|
|
2112
|
+
:host {
|
|
2113
|
+
display: block;
|
|
2114
|
+
--leftColumnWidth: 18rem;
|
|
2115
|
+
--leftColumnPaddingTop: 2rem;
|
|
2116
|
+
--leftColumnPaddingRight: 2.5rem;
|
|
2117
|
+
}
|
|
2118
|
+
|
|
2119
|
+
#facet-top-view {
|
|
2120
|
+
display: flex;
|
|
2121
|
+
}
|
|
2122
|
+
|
|
2123
|
+
/**
|
|
2124
|
+
* When page width resizes from desktop to mobile, use this class to
|
|
2125
|
+
* disable expand/collapse transition when loading.
|
|
2126
|
+
*/
|
|
2127
|
+
.preload * {
|
|
2128
|
+
transition: none !important;
|
|
2129
|
+
-webkit-transition: none !important;
|
|
2130
|
+
-moz-transition: none !important;
|
|
2131
|
+
-ms-transition: none !important;
|
|
2132
|
+
-o-transition: none !important;
|
|
2133
|
+
}
|
|
2134
|
+
|
|
2135
|
+
#content-container {
|
|
2136
|
+
display: flex;
|
|
2137
|
+
}
|
|
2138
|
+
|
|
2139
|
+
empty-placeholder {
|
|
2140
|
+
margin-top: var(--placeholderMarginTop, 0);
|
|
2141
|
+
}
|
|
2142
|
+
|
|
2143
|
+
.collapser-icon {
|
|
2144
|
+
display: inline-block;
|
|
2145
|
+
}
|
|
2146
|
+
|
|
2147
|
+
.collapser-icon svg {
|
|
2148
|
+
display: inline-block;
|
|
2149
|
+
width: 12px;
|
|
2150
|
+
height: 12px;
|
|
2151
|
+
transition: transform 0.2s ease-out;
|
|
2152
|
+
}
|
|
2153
|
+
|
|
2154
|
+
#mobile-filter-collapse {
|
|
2155
|
+
width: 100%;
|
|
2156
|
+
}
|
|
2157
|
+
|
|
2158
|
+
#mobile-filter-collapse > summary {
|
|
2159
|
+
cursor: pointer;
|
|
2160
|
+
list-style: none;
|
|
2161
|
+
}
|
|
2162
|
+
|
|
2163
|
+
#mobile-filter-collapse[open] > summary {
|
|
2164
|
+
margin-bottom: 10px;
|
|
2165
|
+
}
|
|
2166
|
+
|
|
2167
|
+
#mobile-filter-collapse h2 {
|
|
2168
|
+
display: inline-block;
|
|
2169
|
+
margin: 0;
|
|
2170
|
+
font-size: 2rem;
|
|
2171
|
+
}
|
|
2172
|
+
|
|
2173
|
+
#mobile-filter-collapse[open] svg {
|
|
2174
|
+
transform: rotate(90deg);
|
|
2175
|
+
}
|
|
2176
|
+
|
|
2177
|
+
#content-container.mobile {
|
|
2178
|
+
display: block;
|
|
2179
|
+
}
|
|
2180
|
+
|
|
2181
|
+
#right-column {
|
|
2182
|
+
flex: 1;
|
|
2183
|
+
position: relative;
|
|
2184
|
+
min-height: 90vh;
|
|
2185
|
+
border-right: 1px solid rgb(232, 232, 232);
|
|
2186
|
+
margin-top: var(--rightColumnMarginTop, 0);
|
|
2187
|
+
padding-top: var(--rightColumnPaddingTop, 2rem);
|
|
2188
|
+
background: #fff;
|
|
2189
|
+
}
|
|
2190
|
+
|
|
2191
|
+
#left-column:not([hidden]) + #right-column {
|
|
2192
|
+
border-left: 1px solid rgb(232, 232, 232);
|
|
2193
|
+
}
|
|
2194
|
+
|
|
2195
|
+
#right-column.smart-results-spacing {
|
|
2196
|
+
padding-top: 0.5rem;
|
|
2197
|
+
border-right: none;
|
|
2198
|
+
background: transparent;
|
|
2199
|
+
min-width: 0;
|
|
2200
|
+
}
|
|
2201
|
+
|
|
2202
|
+
#results {
|
|
2203
|
+
background: #fff;
|
|
2204
|
+
padding-left: 1rem;
|
|
2205
|
+
padding-right: 1rem;
|
|
2206
|
+
}
|
|
2207
|
+
|
|
2208
|
+
#right-column.smart-results-spacing #results {
|
|
2209
|
+
border-radius: 10px 10px 0px 0px;
|
|
2210
|
+
padding-top: 0.5rem;
|
|
2211
|
+
margin-top: 1rem;
|
|
2212
|
+
}
|
|
2213
|
+
|
|
2214
|
+
.mobile #right-column {
|
|
2215
|
+
border-left: none;
|
|
2216
|
+
}
|
|
2217
|
+
|
|
2218
|
+
.mobile #results {
|
|
2219
|
+
padding: 5px 5px 0;
|
|
2220
|
+
}
|
|
2221
|
+
|
|
2222
|
+
#left-column {
|
|
2223
|
+
width: var(--leftColumnWidth, 18rem);
|
|
2224
|
+
/* Prevents Safari from shrinking col at first draw */
|
|
2225
|
+
min-width: var(--leftColumnWidth, 18rem);
|
|
2226
|
+
padding-top: var(--leftColumnPaddingTop, 2rem);
|
|
2227
|
+
/* Reduced padding by 0.2rem to add the invisible border in the rule below */
|
|
2228
|
+
padding-right: calc(var(--leftColumnPaddingRight, 2.5rem) - 0.2rem);
|
|
2229
|
+
border-right: 0.2rem solid transparent; /* Pads to the right of the scrollbar a bit */
|
|
2230
|
+
z-index: 1;
|
|
2231
|
+
}
|
|
2232
|
+
|
|
2233
|
+
.desktop #left-column {
|
|
2234
|
+
top: 0;
|
|
2235
|
+
position: sticky;
|
|
2236
|
+
height: calc(100vh - 2rem);
|
|
2237
|
+
max-height: calc(100vh - 2rem);
|
|
2238
|
+
overflow-x: hidden;
|
|
2239
|
+
overflow-y: scroll;
|
|
2240
|
+
|
|
2241
|
+
/*
|
|
2242
|
+
* Firefox doesn't support any of the -webkit-scrollbar stuff below, but
|
|
2243
|
+
* does at least give us a tiny bit of control over width & color.
|
|
2244
|
+
*/
|
|
2245
|
+
scrollbar-width: thin;
|
|
2246
|
+
scrollbar-color: transparent transparent;
|
|
2247
|
+
}
|
|
2248
|
+
.desktop #left-column:hover {
|
|
2249
|
+
scrollbar-color: auto;
|
|
2250
|
+
}
|
|
2251
|
+
.desktop #left-column::-webkit-scrollbar {
|
|
2252
|
+
appearance: none;
|
|
2253
|
+
width: 6px;
|
|
2254
|
+
}
|
|
2255
|
+
.desktop #left-column::-webkit-scrollbar-button {
|
|
2256
|
+
height: 3px;
|
|
2257
|
+
background: transparent;
|
|
2258
|
+
}
|
|
2259
|
+
.desktop #left-column::-webkit-scrollbar-corner {
|
|
2260
|
+
background: transparent;
|
|
2261
|
+
}
|
|
2262
|
+
.desktop #left-column::-webkit-scrollbar-thumb {
|
|
2263
|
+
border-radius: 4px;
|
|
2264
|
+
}
|
|
2265
|
+
.desktop #left-column:hover::-webkit-scrollbar-thumb {
|
|
2266
|
+
background: rgba(0, 0, 0, 0.15);
|
|
2267
|
+
}
|
|
2268
|
+
.desktop #left-column:hover::-webkit-scrollbar-thumb:hover {
|
|
2269
|
+
background: rgba(0, 0, 0, 0.2);
|
|
2270
|
+
}
|
|
2271
|
+
.desktop #left-column:hover::-webkit-scrollbar-thumb:active {
|
|
2272
|
+
background: rgba(0, 0, 0, 0.3);
|
|
2273
|
+
}
|
|
2274
|
+
|
|
2275
|
+
#facets-bottom-fade {
|
|
2276
|
+
background: linear-gradient(
|
|
2277
|
+
to bottom,
|
|
2278
|
+
#fbfbfd00 0%,
|
|
2279
|
+
#fbfbfdc0 50%,
|
|
2280
|
+
#fbfbfd 80%,
|
|
2281
|
+
#fbfbfd 100%
|
|
2282
|
+
);
|
|
2283
|
+
position: fixed;
|
|
2284
|
+
bottom: 0;
|
|
2285
|
+
height: 50px;
|
|
2286
|
+
/* Wide enough to cover the content, but leave the scrollbar uncovered */
|
|
2287
|
+
width: calc(
|
|
2288
|
+
var(--leftColumnWidth) + var(--leftColumnPaddingRight) - 10px
|
|
2289
|
+
);
|
|
2290
|
+
z-index: 2;
|
|
2291
|
+
pointer-events: none;
|
|
2292
|
+
transition: height 0.1s ease;
|
|
2293
|
+
}
|
|
2294
|
+
#facets-bottom-fade.hidden {
|
|
2295
|
+
height: 0;
|
|
2296
|
+
}
|
|
2297
|
+
|
|
2298
|
+
.facets-message {
|
|
2299
|
+
font-size: 1.4rem;
|
|
2300
|
+
}
|
|
2301
|
+
|
|
2302
|
+
.desktop-facets-dropdown > summary {
|
|
2303
|
+
cursor: pointer;
|
|
2304
|
+
list-style: none;
|
|
2305
|
+
}
|
|
2306
|
+
|
|
2307
|
+
.desktop-facets-dropdown h2 {
|
|
2308
|
+
display: inline-block;
|
|
2309
|
+
margin: 0;
|
|
2310
|
+
font-size: 1.6rem;
|
|
2311
|
+
}
|
|
2312
|
+
|
|
2313
|
+
.desktop-facets-dropdown[open] > summary {
|
|
2314
|
+
margin-bottom: 10px;
|
|
2315
|
+
}
|
|
2316
|
+
|
|
2317
|
+
.desktop-facets-dropdown[open] svg {
|
|
2318
|
+
transform: rotate(90deg);
|
|
2319
|
+
}
|
|
2320
|
+
|
|
2321
|
+
.desktop #left-column-scroll-sentinel {
|
|
2322
|
+
width: 1px;
|
|
2323
|
+
height: 100vh;
|
|
2324
|
+
background: transparent;
|
|
2325
|
+
}
|
|
2326
|
+
|
|
2327
|
+
.desktop #facets-scroll-sentinel {
|
|
2328
|
+
width: 1px;
|
|
2329
|
+
height: 1px;
|
|
2330
|
+
background: transparent;
|
|
2331
|
+
}
|
|
2332
|
+
|
|
2333
|
+
#facets-header-container {
|
|
2334
|
+
display: flex;
|
|
2335
|
+
justify-content: space-between;
|
|
2336
|
+
align-items: flex-start;
|
|
2337
|
+
clear: both;
|
|
2338
|
+
}
|
|
2339
|
+
|
|
2340
|
+
.desktop #facets-header-container {
|
|
2341
|
+
flex-wrap: wrap;
|
|
2342
|
+
}
|
|
2343
|
+
|
|
2344
|
+
.mobile #left-column {
|
|
2345
|
+
width: 100%;
|
|
2346
|
+
min-width: 0;
|
|
2347
|
+
padding: 5px 0;
|
|
2348
|
+
border: 0;
|
|
2349
|
+
}
|
|
2350
|
+
|
|
2351
|
+
.clear-filters-btn-row {
|
|
2352
|
+
display: inline-block;
|
|
2353
|
+
}
|
|
2354
|
+
|
|
2355
|
+
.desktop .clear-filters-btn-row {
|
|
2356
|
+
width: 100%;
|
|
2357
|
+
}
|
|
2358
|
+
|
|
2359
|
+
.clear-filters-btn {
|
|
2360
|
+
display: inline-block;
|
|
2361
|
+
appearance: none;
|
|
2362
|
+
margin: 0;
|
|
2363
|
+
padding: 0;
|
|
2364
|
+
border: 0;
|
|
2365
|
+
background: none;
|
|
2366
|
+
color: var(--ia-theme-link-color);
|
|
2367
|
+
font-size: 1.4rem;
|
|
2368
|
+
font-family: inherit;
|
|
2369
|
+
cursor: pointer;
|
|
2370
|
+
}
|
|
2371
|
+
|
|
2372
|
+
.clear-filters-btn:hover {
|
|
2373
|
+
text-decoration: underline;
|
|
2374
|
+
}
|
|
2375
|
+
|
|
2376
|
+
.clear-filters-btn-separator {
|
|
2377
|
+
display: inline-block;
|
|
2378
|
+
margin-left: 5px;
|
|
2379
|
+
border-left: 1px solid #2c2c2c;
|
|
2380
|
+
font-size: 1.4rem;
|
|
2381
|
+
line-height: 1.3rem;
|
|
2382
|
+
}
|
|
2383
|
+
|
|
2384
|
+
#tv-filters {
|
|
2385
|
+
margin-bottom: 15px;
|
|
2386
|
+
}
|
|
2387
|
+
|
|
2388
|
+
#tv-shows {
|
|
2389
|
+
--comboBoxListWidth: 300px;
|
|
2390
|
+
}
|
|
2391
|
+
|
|
2392
|
+
.tv-filter-dropdown {
|
|
2393
|
+
display: block;
|
|
2394
|
+
font-size: 14px;
|
|
2395
|
+
margin-left: 1px;
|
|
2396
|
+
margin-bottom: 5px;
|
|
2397
|
+
}
|
|
2398
|
+
|
|
2399
|
+
.tv-filter-dropdown::part(combo-box) {
|
|
2400
|
+
outline-offset: 1px;
|
|
2401
|
+
}
|
|
2402
|
+
|
|
2403
|
+
.tv-filter-dropdown::part(option) {
|
|
2404
|
+
line-height: 1.1;
|
|
2405
|
+
padding: 7px;
|
|
2406
|
+
}
|
|
2407
|
+
|
|
2408
|
+
.tv-filter-dropdown::part(clear-button) {
|
|
2409
|
+
flex: 0 0 26px;
|
|
2410
|
+
--combo-box-clear-icon-size: 14px;
|
|
2411
|
+
}
|
|
2412
|
+
|
|
2413
|
+
.tv-filter-dropdown::part(icon) {
|
|
2414
|
+
width: 1.4rem;
|
|
2415
|
+
height: 1.4rem;
|
|
2416
|
+
}
|
|
2417
|
+
|
|
2418
|
+
#facets-container {
|
|
2419
|
+
position: relative;
|
|
2420
|
+
max-height: 0;
|
|
2421
|
+
transition: max-height 0.2s ease-in-out;
|
|
2422
|
+
z-index: 1;
|
|
2423
|
+
margin-top: var(--facetsContainerMarginTop, 3rem);
|
|
2424
|
+
padding-bottom: 2rem;
|
|
2425
|
+
}
|
|
2426
|
+
|
|
2427
|
+
.desktop #facets-container {
|
|
2428
|
+
width: 18rem;
|
|
2429
|
+
}
|
|
2430
|
+
|
|
2431
|
+
.mobile #facets-container {
|
|
2432
|
+
overflow: hidden;
|
|
2433
|
+
padding-bottom: 0;
|
|
2434
|
+
padding-left: 10px;
|
|
2435
|
+
padding-right: 10px;
|
|
2436
|
+
}
|
|
2437
|
+
|
|
2438
|
+
#facets-container.expanded {
|
|
2439
|
+
max-height: 2000px;
|
|
2440
|
+
}
|
|
2441
|
+
|
|
2442
|
+
.results-section-heading {
|
|
2443
|
+
margin: 0.5rem 0.3rem;
|
|
2444
|
+
font-size: 2rem;
|
|
2445
|
+
line-height: 25px;
|
|
2446
|
+
}
|
|
2447
|
+
|
|
2448
|
+
#results-total {
|
|
2449
|
+
display: flex;
|
|
2450
|
+
align-items: baseline;
|
|
2451
|
+
}
|
|
2452
|
+
|
|
2453
|
+
#results-total:not(.filtered) {
|
|
2454
|
+
padding-bottom: 2rem;
|
|
2455
|
+
}
|
|
2456
|
+
|
|
2457
|
+
.mobile #results-total {
|
|
2458
|
+
position: absolute;
|
|
2459
|
+
right: 10px;
|
|
2460
|
+
}
|
|
2461
|
+
|
|
2462
|
+
#big-results-count {
|
|
2463
|
+
font-size: 2.4rem;
|
|
2464
|
+
font-weight: 500;
|
|
2465
|
+
margin-right: 5px;
|
|
2466
|
+
}
|
|
2467
|
+
|
|
2468
|
+
.mobile #big-results-count {
|
|
2469
|
+
font-size: 2rem;
|
|
2470
|
+
}
|
|
2471
|
+
|
|
2472
|
+
#big-results-label {
|
|
2473
|
+
font-size: 1.4rem;
|
|
2474
|
+
font-weight: 200;
|
|
2475
|
+
}
|
|
2476
|
+
|
|
2477
|
+
#list-header {
|
|
2478
|
+
max-height: 4.2rem;
|
|
2479
|
+
}
|
|
2480
|
+
|
|
2481
|
+
.loading-cover {
|
|
2482
|
+
position: absolute;
|
|
2483
|
+
top: 0;
|
|
2484
|
+
left: 0;
|
|
2485
|
+
width: 100%;
|
|
2486
|
+
height: 100%;
|
|
2487
|
+
display: flex;
|
|
2488
|
+
justify-content: center;
|
|
2489
|
+
z-index: 1;
|
|
2490
|
+
padding-top: 50px;
|
|
2491
|
+
}
|
|
2492
|
+
|
|
2493
|
+
#tile-blur-label {
|
|
2494
|
+
display: flex;
|
|
2495
|
+
align-items: center;
|
|
2496
|
+
column-gap: 5px;
|
|
2497
|
+
}
|
|
2498
|
+
|
|
2499
|
+
#tile-blur-check {
|
|
2500
|
+
margin: 0 5px 0 0;
|
|
2501
|
+
width: 15px;
|
|
2502
|
+
}
|
|
2503
|
+
|
|
2504
|
+
circular-activity-indicator {
|
|
2505
|
+
width: 30px;
|
|
2506
|
+
height: 30px;
|
|
2507
|
+
}
|
|
2508
|
+
|
|
2509
|
+
sort-filter-bar {
|
|
2510
|
+
display: block;
|
|
2511
|
+
margin-bottom: 4rem;
|
|
2512
|
+
}
|
|
2513
|
+
|
|
2514
|
+
infinite-scroller {
|
|
2515
|
+
display: block;
|
|
2516
|
+
--infiniteScrollerRowGap: var(--collectionBrowserRowGap, 1.7rem);
|
|
2517
|
+
--infiniteScrollerColGap: var(--collectionBrowserColGap, 1.7rem);
|
|
2518
|
+
}
|
|
2519
|
+
|
|
2520
|
+
infinite-scroller.list-compact {
|
|
2521
|
+
--infiniteScrollerCellMinWidth: var(
|
|
2522
|
+
--collectionBrowserCellMinWidth,
|
|
2523
|
+
100%
|
|
2524
|
+
);
|
|
2525
|
+
--infiniteScrollerCellMinHeight: 45px; /* override infinite scroller component */
|
|
2526
|
+
--infiniteScrollerCellMaxHeight: 56px;
|
|
2527
|
+
--infiniteScrollerRowGap: 10px;
|
|
2528
|
+
}
|
|
2529
|
+
|
|
2530
|
+
infinite-scroller.list-detail {
|
|
2531
|
+
--infiniteScrollerCellMinWidth: var(
|
|
2532
|
+
--collectionBrowserCellMinWidth,
|
|
2533
|
+
100%
|
|
2534
|
+
);
|
|
2535
|
+
--infiniteScrollerCellMinHeight: var(
|
|
2536
|
+
--collectionBrowserCellMinHeight,
|
|
2537
|
+
5rem
|
|
2538
|
+
);
|
|
2539
|
+
/*
|
|
2540
|
+
30px in spec, compensating for a -4px margin
|
|
2541
|
+
to align title with top of item image
|
|
2542
|
+
src/tiles/list/tile-list.ts
|
|
2543
|
+
*/
|
|
2544
|
+
--infiniteScrollerRowGap: 34px;
|
|
2545
|
+
}
|
|
2546
|
+
|
|
2547
|
+
.mobile infinite-scroller.list-detail {
|
|
2548
|
+
--infiniteScrollerRowGap: 24px;
|
|
2549
|
+
}
|
|
2550
|
+
|
|
2551
|
+
infinite-scroller.grid {
|
|
2552
|
+
--infiniteScrollerCellMinWidth: var(
|
|
2553
|
+
--collectionBrowserCellMinWidth,
|
|
2554
|
+
17rem
|
|
2555
|
+
);
|
|
2556
|
+
--infiniteScrollerCellMaxWidth: var(
|
|
2557
|
+
--collectionBrowserCellMaxWidth,
|
|
2558
|
+
1fr
|
|
2559
|
+
);
|
|
2560
|
+
}
|
|
2561
|
+
|
|
2562
|
+
/* Allow tiles to shrink a bit further at smaller viewport widths */
|
|
2563
|
+
@media screen and (max-width: 880px) {
|
|
2564
|
+
infinite-scroller.grid {
|
|
2565
|
+
--infiniteScrollerCellMinWidth: var(
|
|
2566
|
+
--collectionBrowserCellMinWidth,
|
|
2567
|
+
15rem
|
|
2568
|
+
);
|
|
2569
|
+
}
|
|
2570
|
+
}
|
|
2571
|
+
/* At very small widths, maintain a 2-tile layout as far as it can reasonably go */
|
|
2572
|
+
@media screen and (max-width: 360px) {
|
|
2573
|
+
infinite-scroller.grid {
|
|
2574
|
+
--infiniteScrollerCellMinWidth: var(
|
|
2575
|
+
--collectionBrowserCellMinWidth,
|
|
2576
|
+
12rem
|
|
2577
|
+
);
|
|
2578
|
+
}
|
|
2579
|
+
}
|
|
2580
|
+
|
|
2581
|
+
infinite-scroller.hidden {
|
|
2582
|
+
display: none;
|
|
2583
|
+
}
|
|
2584
2584
|
`,
|
|
2585
2585
|
];
|
|
2586
2586
|
}
|