@internetarchive/collection-browser 3.3.1 → 3.3.2
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/package.json +1 -1
- package/dist/index.d.ts +0 -16
- package/dist/index.js.map +0 -1
- package/dist/src/app-root.d.ts +0 -105
- package/dist/src/app-root.js +0 -1076
- package/dist/src/app-root.js.map +0 -1
- package/dist/src/assets/img/icons/arrow-left.d.ts +0 -2
- package/dist/src/assets/img/icons/arrow-left.js +0 -10
- package/dist/src/assets/img/icons/arrow-left.js.map +0 -1
- package/dist/src/assets/img/icons/arrow-right.d.ts +0 -2
- package/dist/src/assets/img/icons/arrow-right.js +0 -10
- package/dist/src/assets/img/icons/arrow-right.js.map +0 -1
- package/dist/src/assets/img/icons/chevron.d.ts +0 -2
- package/dist/src/assets/img/icons/chevron.js +0 -4
- package/dist/src/assets/img/icons/chevron.js.map +0 -1
- package/dist/src/assets/img/icons/close-circle-dark.d.ts +0 -2
- package/dist/src/assets/img/icons/close-circle-dark.js +0 -5
- package/dist/src/assets/img/icons/close-circle-dark.js.map +0 -1
- package/dist/src/assets/img/icons/contract.d.ts +0 -2
- package/dist/src/assets/img/icons/contract.js +0 -9
- package/dist/src/assets/img/icons/contract.js.map +0 -1
- package/dist/src/assets/img/icons/empty-query.d.ts +0 -2
- package/dist/src/assets/img/icons/empty-query.js +0 -5
- package/dist/src/assets/img/icons/empty-query.js.map +0 -1
- package/dist/src/assets/img/icons/expand.d.ts +0 -2
- package/dist/src/assets/img/icons/expand.js +0 -9
- package/dist/src/assets/img/icons/expand.js.map +0 -1
- package/dist/src/assets/img/icons/eye-closed.d.ts +0 -2
- package/dist/src/assets/img/icons/eye-closed.js +0 -5
- package/dist/src/assets/img/icons/eye-closed.js.map +0 -1
- package/dist/src/assets/img/icons/eye.d.ts +0 -2
- package/dist/src/assets/img/icons/eye.js +0 -5
- package/dist/src/assets/img/icons/eye.js.map +0 -1
- package/dist/src/assets/img/icons/favorite-filled.d.ts +0 -1
- package/dist/src/assets/img/icons/favorite-filled.js +0 -10
- package/dist/src/assets/img/icons/favorite-filled.js.map +0 -1
- package/dist/src/assets/img/icons/favorite-unfilled.d.ts +0 -1
- package/dist/src/assets/img/icons/favorite-unfilled.js +0 -9
- package/dist/src/assets/img/icons/favorite-unfilled.js.map +0 -1
- package/dist/src/assets/img/icons/filter.d.ts +0 -2
- package/dist/src/assets/img/icons/filter.js +0 -10
- package/dist/src/assets/img/icons/filter.js.map +0 -1
- package/dist/src/assets/img/icons/login-required.d.ts +0 -1
- package/dist/src/assets/img/icons/login-required.js +0 -18
- package/dist/src/assets/img/icons/login-required.js.map +0 -1
- package/dist/src/assets/img/icons/mediatype/account.d.ts +0 -1
- package/dist/src/assets/img/icons/mediatype/account.js +0 -14
- package/dist/src/assets/img/icons/mediatype/account.js.map +0 -1
- package/dist/src/assets/img/icons/mediatype/audio.d.ts +0 -1
- package/dist/src/assets/img/icons/mediatype/audio.js +0 -14
- package/dist/src/assets/img/icons/mediatype/audio.js.map +0 -1
- package/dist/src/assets/img/icons/mediatype/collection.d.ts +0 -1
- package/dist/src/assets/img/icons/mediatype/collection.js +0 -12
- package/dist/src/assets/img/icons/mediatype/collection.js.map +0 -1
- package/dist/src/assets/img/icons/mediatype/data.d.ts +0 -1
- package/dist/src/assets/img/icons/mediatype/data.js +0 -15
- package/dist/src/assets/img/icons/mediatype/data.js.map +0 -1
- package/dist/src/assets/img/icons/mediatype/etree.d.ts +0 -1
- package/dist/src/assets/img/icons/mediatype/etree.js +0 -14
- package/dist/src/assets/img/icons/mediatype/etree.js.map +0 -1
- package/dist/src/assets/img/icons/mediatype/film.d.ts +0 -1
- package/dist/src/assets/img/icons/mediatype/film.js +0 -14
- package/dist/src/assets/img/icons/mediatype/film.js.map +0 -1
- package/dist/src/assets/img/icons/mediatype/images.d.ts +0 -1
- package/dist/src/assets/img/icons/mediatype/images.js +0 -13
- package/dist/src/assets/img/icons/mediatype/images.js.map +0 -1
- package/dist/src/assets/img/icons/mediatype/radio.d.ts +0 -1
- package/dist/src/assets/img/icons/mediatype/radio.js +0 -15
- package/dist/src/assets/img/icons/mediatype/radio.js.map +0 -1
- package/dist/src/assets/img/icons/mediatype/search.d.ts +0 -1
- package/dist/src/assets/img/icons/mediatype/search.js +0 -14
- package/dist/src/assets/img/icons/mediatype/search.js.map +0 -1
- package/dist/src/assets/img/icons/mediatype/software.d.ts +0 -1
- package/dist/src/assets/img/icons/mediatype/software.js +0 -13
- package/dist/src/assets/img/icons/mediatype/software.js.map +0 -1
- package/dist/src/assets/img/icons/mediatype/texts.d.ts +0 -1
- package/dist/src/assets/img/icons/mediatype/texts.js +0 -13
- package/dist/src/assets/img/icons/mediatype/texts.js.map +0 -1
- package/dist/src/assets/img/icons/mediatype/tv-commercial.d.ts +0 -1
- package/dist/src/assets/img/icons/mediatype/tv-commercial.js +0 -12
- package/dist/src/assets/img/icons/mediatype/tv-commercial.js.map +0 -1
- package/dist/src/assets/img/icons/mediatype/tv-fact-check.d.ts +0 -1
- package/dist/src/assets/img/icons/mediatype/tv-fact-check.js +0 -12
- package/dist/src/assets/img/icons/mediatype/tv-fact-check.js.map +0 -1
- package/dist/src/assets/img/icons/mediatype/tv-quote.d.ts +0 -1
- package/dist/src/assets/img/icons/mediatype/tv-quote.js +0 -12
- package/dist/src/assets/img/icons/mediatype/tv-quote.js.map +0 -1
- package/dist/src/assets/img/icons/mediatype/tv.d.ts +0 -1
- package/dist/src/assets/img/icons/mediatype/tv.js +0 -14
- package/dist/src/assets/img/icons/mediatype/tv.js.map +0 -1
- package/dist/src/assets/img/icons/mediatype/video.d.ts +0 -1
- package/dist/src/assets/img/icons/mediatype/video.js +0 -14
- package/dist/src/assets/img/icons/mediatype/video.js.map +0 -1
- package/dist/src/assets/img/icons/mediatype/web.d.ts +0 -1
- package/dist/src/assets/img/icons/mediatype/web.js +0 -13
- package/dist/src/assets/img/icons/mediatype/web.js.map +0 -1
- package/dist/src/assets/img/icons/null-result.d.ts +0 -2
- package/dist/src/assets/img/icons/null-result.js +0 -5
- package/dist/src/assets/img/icons/null-result.js.map +0 -1
- package/dist/src/assets/img/icons/quote.d.ts +0 -1
- package/dist/src/assets/img/icons/quote.js +0 -7
- package/dist/src/assets/img/icons/quote.js.map +0 -1
- package/dist/src/assets/img/icons/restricted.d.ts +0 -1
- package/dist/src/assets/img/icons/restricted.js +0 -13
- package/dist/src/assets/img/icons/restricted.js.map +0 -1
- package/dist/src/assets/img/icons/reviews.d.ts +0 -1
- package/dist/src/assets/img/icons/reviews.js +0 -11
- package/dist/src/assets/img/icons/reviews.js.map +0 -1
- package/dist/src/assets/img/icons/upload.d.ts +0 -1
- package/dist/src/assets/img/icons/upload.js +0 -12
- package/dist/src/assets/img/icons/upload.js.map +0 -1
- package/dist/src/assets/img/icons/views.d.ts +0 -1
- package/dist/src/assets/img/icons/views.js +0 -11
- package/dist/src/assets/img/icons/views.js.map +0 -1
- package/dist/src/circular-activity-indicator.d.ts +0 -5
- package/dist/src/circular-activity-indicator.js +0 -66
- package/dist/src/circular-activity-indicator.js.map +0 -1
- package/dist/src/collection-browser.d.ts +0 -684
- package/dist/src/collection-browser.js +0 -2567
- package/dist/src/collection-browser.js.map +0 -1
- package/dist/src/collection-facets/facet-row.d.ts +0 -30
- package/dist/src/collection-facets/facet-row.js +0 -265
- package/dist/src/collection-facets/facet-row.js.map +0 -1
- package/dist/src/collection-facets/facet-tombstone-row.d.ts +0 -5
- package/dist/src/collection-facets/facet-tombstone-row.js +0 -43
- package/dist/src/collection-facets/facet-tombstone-row.js.map +0 -1
- package/dist/src/collection-facets/facets-template.d.ts +0 -13
- package/dist/src/collection-facets/facets-template.js +0 -68
- package/dist/src/collection-facets/facets-template.js.map +0 -1
- package/dist/src/collection-facets/models.d.ts +0 -9
- package/dist/src/collection-facets/models.js +0 -10
- package/dist/src/collection-facets/models.js.map +0 -1
- package/dist/src/collection-facets/more-facets-content.d.ts +0 -109
- package/dist/src/collection-facets/more-facets-content.js +0 -547
- package/dist/src/collection-facets/more-facets-content.js.map +0 -1
- package/dist/src/collection-facets/more-facets-pagination.d.ts +0 -36
- package/dist/src/collection-facets/more-facets-pagination.js +0 -264
- package/dist/src/collection-facets/more-facets-pagination.js.map +0 -1
- package/dist/src/collection-facets/smart-facets/dedupe.d.ts +0 -10
- package/dist/src/collection-facets/smart-facets/dedupe.js +0 -35
- package/dist/src/collection-facets/smart-facets/dedupe.js.map +0 -1
- package/dist/src/collection-facets/smart-facets/heuristics/browser-language/browser-language-heuristic.d.ts +0 -5
- package/dist/src/collection-facets/smart-facets/heuristics/browser-language/browser-language-heuristic.js +0 -24
- package/dist/src/collection-facets/smart-facets/heuristics/browser-language/browser-language-heuristic.js.map +0 -1
- package/dist/src/collection-facets/smart-facets/heuristics/index.d.ts +0 -3
- package/dist/src/collection-facets/smart-facets/heuristics/index.js +0 -4
- package/dist/src/collection-facets/smart-facets/heuristics/index.js.map +0 -1
- package/dist/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-heuristic.d.ts +0 -4
- package/dist/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-heuristic.js +0 -14
- package/dist/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-heuristic.js.map +0 -1
- package/dist/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-map.d.ts +0 -6
- package/dist/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-map.js +0 -68
- package/dist/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-map.js.map +0 -1
- package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-entity-map.d.ts +0 -9
- package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-entity-map.js +0 -69
- package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-entity-map.js.map +0 -1
- package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-heuristic.d.ts +0 -21
- package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-heuristic.js +0 -76
- package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-heuristic.js.map +0 -1
- package/dist/src/collection-facets/smart-facets/models.d.ts +0 -30
- package/dist/src/collection-facets/smart-facets/models.js +0 -2
- package/dist/src/collection-facets/smart-facets/models.js.map +0 -1
- package/dist/src/collection-facets/smart-facets/smart-facet-bar.d.ts +0 -54
- package/dist/src/collection-facets/smart-facets/smart-facet-bar.js +0 -383
- package/dist/src/collection-facets/smart-facets/smart-facet-bar.js.map +0 -1
- package/dist/src/collection-facets/smart-facets/smart-facet-button.d.ts +0 -11
- package/dist/src/collection-facets/smart-facets/smart-facet-button.js +0 -133
- package/dist/src/collection-facets/smart-facets/smart-facet-button.js.map +0 -1
- package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.d.ts +0 -28
- package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js +0 -172
- package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js.map +0 -1
- package/dist/src/collection-facets/smart-facets/smart-facet-equals.d.ts +0 -2
- package/dist/src/collection-facets/smart-facets/smart-facet-equals.js +0 -13
- package/dist/src/collection-facets/smart-facets/smart-facet-equals.js.map +0 -1
- package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.d.ts +0 -5
- package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js +0 -18
- package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js.map +0 -1
- package/dist/src/collection-facets/toggle-switch.d.ts +0 -41
- package/dist/src/collection-facets/toggle-switch.js +0 -174
- package/dist/src/collection-facets/toggle-switch.js.map +0 -1
- package/dist/src/collection-facets.d.ts +0 -113
- package/dist/src/collection-facets.js +0 -873
- package/dist/src/collection-facets.js.map +0 -1
- package/dist/src/data-source/collection-browser-data-source-interface.d.ts +0 -261
- package/dist/src/data-source/collection-browser-data-source-interface.js +0 -2
- package/dist/src/data-source/collection-browser-data-source-interface.js.map +0 -1
- package/dist/src/data-source/collection-browser-data-source.d.ts +0 -400
- package/dist/src/data-source/collection-browser-data-source.js +0 -1103
- package/dist/src/data-source/collection-browser-data-source.js.map +0 -1
- package/dist/src/data-source/collection-browser-query-state.d.ts +0 -49
- package/dist/src/data-source/collection-browser-query-state.js +0 -2
- package/dist/src/data-source/collection-browser-query-state.js.map +0 -1
- package/dist/src/data-source/models.d.ts +0 -32
- package/dist/src/data-source/models.js +0 -9
- package/dist/src/data-source/models.js.map +0 -1
- package/dist/src/empty-placeholder.d.ts +0 -23
- package/dist/src/empty-placeholder.js +0 -165
- package/dist/src/empty-placeholder.js.map +0 -1
- package/dist/src/expanded-date-picker.d.ts +0 -50
- package/dist/src/expanded-date-picker.js +0 -182
- package/dist/src/expanded-date-picker.js.map +0 -1
- package/dist/src/language-code-handler/language-code-handler.d.ts +0 -37
- package/dist/src/language-code-handler/language-code-handler.js +0 -27
- package/dist/src/language-code-handler/language-code-handler.js.map +0 -1
- package/dist/src/language-code-handler/language-code-mapping.d.ts +0 -1
- package/dist/src/language-code-handler/language-code-mapping.js +0 -563
- package/dist/src/language-code-handler/language-code-mapping.js.map +0 -1
- package/dist/src/manage/manage-bar.d.ts +0 -58
- package/dist/src/manage/manage-bar.js +0 -237
- package/dist/src/manage/manage-bar.js.map +0 -1
- package/dist/src/manage/remove-items-modal-content.d.ts +0 -9
- package/dist/src/manage/remove-items-modal-content.js +0 -104
- package/dist/src/manage/remove-items-modal-content.js.map +0 -1
- package/dist/src/mediatype/mediatype-config.d.ts +0 -11
- package/dist/src/mediatype/mediatype-config.js +0 -116
- package/dist/src/mediatype/mediatype-config.js.map +0 -1
- package/dist/src/models.d.ts +0 -302
- package/dist/src/models.js +0 -511
- package/dist/src/models.js.map +0 -1
- package/dist/src/restoration-state-handler.d.ts +0 -75
- package/dist/src/restoration-state-handler.js +0 -403
- package/dist/src/restoration-state-handler.js.map +0 -1
- package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +0 -6
- package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +0 -60
- package/dist/src/sort-filter-bar/alpha-bar-tooltip.js.map +0 -1
- package/dist/src/sort-filter-bar/alpha-bar.d.ts +0 -21
- package/dist/src/sort-filter-bar/alpha-bar.js +0 -241
- package/dist/src/sort-filter-bar/alpha-bar.js.map +0 -1
- package/dist/src/sort-filter-bar/img/compact.d.ts +0 -1
- package/dist/src/sort-filter-bar/img/compact.js +0 -5
- package/dist/src/sort-filter-bar/img/compact.js.map +0 -1
- package/dist/src/sort-filter-bar/img/list.d.ts +0 -1
- package/dist/src/sort-filter-bar/img/list.js +0 -5
- package/dist/src/sort-filter-bar/img/list.js.map +0 -1
- package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +0 -1
- package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +0 -15
- package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js.map +0 -1
- package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +0 -1
- package/dist/src/sort-filter-bar/img/sort-toggle-down.js +0 -17
- package/dist/src/sort-filter-bar/img/sort-toggle-down.js.map +0 -1
- package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +0 -1
- package/dist/src/sort-filter-bar/img/sort-toggle-up.js +0 -17
- package/dist/src/sort-filter-bar/img/sort-toggle-up.js.map +0 -1
- package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +0 -1
- package/dist/src/sort-filter-bar/img/sort-triangle.js +0 -5
- package/dist/src/sort-filter-bar/img/sort-triangle.js.map +0 -1
- package/dist/src/sort-filter-bar/img/tile.d.ts +0 -1
- package/dist/src/sort-filter-bar/img/tile.js +0 -5
- package/dist/src/sort-filter-bar/img/tile.js.map +0 -1
- package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +0 -278
- package/dist/src/sort-filter-bar/sort-filter-bar.js +0 -1161
- package/dist/src/sort-filter-bar/sort-filter-bar.js.map +0 -1
- package/dist/src/styles/ia-button.d.ts +0 -2
- package/dist/src/styles/ia-button.js +0 -134
- package/dist/src/styles/ia-button.js.map +0 -1
- package/dist/src/styles/item-image-styles.d.ts +0 -8
- package/dist/src/styles/item-image-styles.js +0 -123
- package/dist/src/styles/item-image-styles.js.map +0 -1
- package/dist/src/styles/sr-only.d.ts +0 -1
- package/dist/src/styles/sr-only.js +0 -18
- package/dist/src/styles/sr-only.js.map +0 -1
- package/dist/src/tiles/base-tile-component.d.ts +0 -27
- package/dist/src/tiles/base-tile-component.js +0 -82
- package/dist/src/tiles/base-tile-component.js.map +0 -1
- package/dist/src/tiles/collection-browser-loading-tile.d.ts +0 -5
- package/dist/src/tiles/collection-browser-loading-tile.js +0 -29
- package/dist/src/tiles/collection-browser-loading-tile.js.map +0 -1
- package/dist/src/tiles/grid/account-tile.d.ts +0 -18
- package/dist/src/tiles/grid/account-tile.js +0 -111
- package/dist/src/tiles/grid/account-tile.js.map +0 -1
- package/dist/src/tiles/grid/collection-tile.d.ts +0 -15
- package/dist/src/tiles/grid/collection-tile.js +0 -160
- package/dist/src/tiles/grid/collection-tile.js.map +0 -1
- package/dist/src/tiles/grid/item-tile.d.ts +0 -41
- package/dist/src/tiles/grid/item-tile.js +0 -321
- package/dist/src/tiles/grid/item-tile.js.map +0 -1
- package/dist/src/tiles/grid/search-tile.d.ts +0 -10
- package/dist/src/tiles/grid/search-tile.js +0 -95
- package/dist/src/tiles/grid/search-tile.js.map +0 -1
- package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +0 -1
- package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +0 -128
- package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js.map +0 -1
- package/dist/src/tiles/grid/tile-stats.d.ts +0 -58
- package/dist/src/tiles/grid/tile-stats.js +0 -204
- package/dist/src/tiles/grid/tile-stats.js.map +0 -1
- package/dist/src/tiles/hover/hover-pane-controller.d.ts +0 -220
- package/dist/src/tiles/hover/hover-pane-controller.js +0 -378
- package/dist/src/tiles/hover/hover-pane-controller.js.map +0 -1
- package/dist/src/tiles/hover/tile-hover-pane.d.ts +0 -19
- package/dist/src/tiles/hover/tile-hover-pane.js +0 -182
- package/dist/src/tiles/hover/tile-hover-pane.js.map +0 -1
- package/dist/src/tiles/image-block.d.ts +0 -19
- package/dist/src/tiles/image-block.js +0 -175
- package/dist/src/tiles/image-block.js.map +0 -1
- package/dist/src/tiles/item-image.d.ts +0 -40
- package/dist/src/tiles/item-image.js +0 -191
- package/dist/src/tiles/item-image.js.map +0 -1
- package/dist/src/tiles/list/tile-list-compact-header.d.ts +0 -6
- package/dist/src/tiles/list/tile-list-compact-header.js +0 -85
- package/dist/src/tiles/list/tile-list-compact-header.js.map +0 -1
- package/dist/src/tiles/list/tile-list-compact.d.ts +0 -19
- package/dist/src/tiles/list/tile-list-compact.js +0 -223
- package/dist/src/tiles/list/tile-list-compact.js.map +0 -1
- package/dist/src/tiles/list/tile-list.d.ts +0 -54
- package/dist/src/tiles/list/tile-list.js +0 -621
- package/dist/src/tiles/list/tile-list.js.map +0 -1
- package/dist/src/tiles/models.d.ts +0 -1
- package/dist/src/tiles/models.js +0 -2
- package/dist/src/tiles/models.js.map +0 -1
- package/dist/src/tiles/overlay/icon-overlay.d.ts +0 -8
- package/dist/src/tiles/overlay/icon-overlay.js +0 -55
- package/dist/src/tiles/overlay/icon-overlay.js.map +0 -1
- package/dist/src/tiles/overlay/text-overlay.d.ts +0 -9
- package/dist/src/tiles/overlay/text-overlay.js +0 -74
- package/dist/src/tiles/overlay/text-overlay.js.map +0 -1
- package/dist/src/tiles/review-block.d.ts +0 -12
- package/dist/src/tiles/review-block.js +0 -134
- package/dist/src/tiles/review-block.js.map +0 -1
- package/dist/src/tiles/text-snippet-block.d.ts +0 -27
- package/dist/src/tiles/text-snippet-block.js +0 -132
- package/dist/src/tiles/text-snippet-block.js.map +0 -1
- package/dist/src/tiles/tile-dispatcher.d.ts +0 -68
- package/dist/src/tiles/tile-dispatcher.js +0 -445
- package/dist/src/tiles/tile-dispatcher.js.map +0 -1
- package/dist/src/tiles/tile-display-value-provider.d.ts +0 -47
- package/dist/src/tiles/tile-display-value-provider.js +0 -95
- package/dist/src/tiles/tile-display-value-provider.js.map +0 -1
- package/dist/src/tiles/tile-mediatype-icon.d.ts +0 -27
- package/dist/src/tiles/tile-mediatype-icon.js +0 -130
- package/dist/src/tiles/tile-mediatype-icon.js.map +0 -1
- package/dist/src/utils/analytics-events.d.ts +0 -28
- package/dist/src/utils/analytics-events.js +0 -31
- package/dist/src/utils/analytics-events.js.map +0 -1
- package/dist/src/utils/array-equals.d.ts +0 -4
- package/dist/src/utils/array-equals.js +0 -11
- package/dist/src/utils/array-equals.js.map +0 -1
- package/dist/src/utils/collapse-repeated-quotes.d.ts +0 -11
- package/dist/src/utils/collapse-repeated-quotes.js +0 -14
- package/dist/src/utils/collapse-repeated-quotes.js.map +0 -1
- package/dist/src/utils/facet-utils.d.ts +0 -83
- package/dist/src/utils/facet-utils.js +0 -152
- package/dist/src/utils/facet-utils.js.map +0 -1
- package/dist/src/utils/format-count.d.ts +0 -7
- package/dist/src/utils/format-count.js +0 -76
- package/dist/src/utils/format-count.js.map +0 -1
- package/dist/src/utils/format-date.d.ts +0 -16
- package/dist/src/utils/format-date.js +0 -33
- package/dist/src/utils/format-date.js.map +0 -1
- package/dist/src/utils/format-unit-size.d.ts +0 -2
- package/dist/src/utils/format-unit-size.js +0 -34
- package/dist/src/utils/format-unit-size.js.map +0 -1
- package/dist/src/utils/local-date-from-utc.d.ts +0 -9
- package/dist/src/utils/local-date-from-utc.js +0 -16
- package/dist/src/utils/local-date-from-utc.js.map +0 -1
- package/dist/src/utils/log.d.ts +0 -7
- package/dist/src/utils/log.js +0 -14
- package/dist/src/utils/log.js.map +0 -1
- package/dist/src/utils/resolve-mediatype.d.ts +0 -8
- package/dist/src/utils/resolve-mediatype.js +0 -24
- package/dist/src/utils/resolve-mediatype.js.map +0 -1
- package/dist/src/utils/sha1.d.ts +0 -2
- package/dist/src/utils/sha1.js +0 -9
- package/dist/src/utils/sha1.js.map +0 -1
- package/dist/test/collection-browser.test.d.ts +0 -1
- package/dist/test/collection-browser.test.js +0 -1711
- package/dist/test/collection-browser.test.js.map +0 -1
- package/dist/test/collection-facets/facet-row.test.d.ts +0 -1
- package/dist/test/collection-facets/facet-row.test.js +0 -274
- package/dist/test/collection-facets/facet-row.test.js.map +0 -1
- package/dist/test/collection-facets/facets-template.test.d.ts +0 -1
- package/dist/test/collection-facets/facets-template.test.js +0 -101
- package/dist/test/collection-facets/facets-template.test.js.map +0 -1
- package/dist/test/collection-facets/more-facets-content.test.d.ts +0 -1
- package/dist/test/collection-facets/more-facets-content.test.js +0 -169
- package/dist/test/collection-facets/more-facets-content.test.js.map +0 -1
- package/dist/test/collection-facets/more-facets-pagination.test.d.ts +0 -1
- package/dist/test/collection-facets/more-facets-pagination.test.js +0 -132
- package/dist/test/collection-facets/more-facets-pagination.test.js.map +0 -1
- package/dist/test/collection-facets/toggle-switch.test.d.ts +0 -1
- package/dist/test/collection-facets/toggle-switch.test.js +0 -96
- package/dist/test/collection-facets/toggle-switch.test.js.map +0 -1
- package/dist/test/collection-facets.test.d.ts +0 -2
- package/dist/test/collection-facets.test.js +0 -745
- package/dist/test/collection-facets.test.js.map +0 -1
- package/dist/test/data-source/collection-browser-data-source.test.d.ts +0 -1
- package/dist/test/data-source/collection-browser-data-source.test.js +0 -102
- package/dist/test/data-source/collection-browser-data-source.test.js.map +0 -1
- package/dist/test/empty-placeholder.test.d.ts +0 -1
- package/dist/test/empty-placeholder.test.js +0 -63
- package/dist/test/empty-placeholder.test.js.map +0 -1
- package/dist/test/expanded-date-picker.test.d.ts +0 -1
- package/dist/test/expanded-date-picker.test.js +0 -130
- package/dist/test/expanded-date-picker.test.js.map +0 -1
- package/dist/test/icon-overlay.test.d.ts +0 -1
- package/dist/test/icon-overlay.test.js +0 -30
- package/dist/test/icon-overlay.test.js.map +0 -1
- package/dist/test/image-block.test.d.ts +0 -1
- package/dist/test/image-block.test.js +0 -218
- package/dist/test/image-block.test.js.map +0 -1
- package/dist/test/item-image.test.d.ts +0 -1
- package/dist/test/item-image.test.js +0 -196
- package/dist/test/item-image.test.js.map +0 -1
- package/dist/test/manage/manage-bar.test.d.ts +0 -2
- package/dist/test/manage/manage-bar.test.js +0 -106
- package/dist/test/manage/manage-bar.test.js.map +0 -1
- package/dist/test/manage/remove-items-modal-content.test.d.ts +0 -1
- package/dist/test/manage/remove-items-modal-content.test.js +0 -65
- package/dist/test/manage/remove-items-modal-content.test.js.map +0 -1
- package/dist/test/mediatype-config.test.d.ts +0 -1
- package/dist/test/mediatype-config.test.js +0 -11
- package/dist/test/mediatype-config.test.js.map +0 -1
- package/dist/test/mocks/mock-analytics-handler.d.ts +0 -10
- package/dist/test/mocks/mock-analytics-handler.js +0 -16
- package/dist/test/mocks/mock-analytics-handler.js.map +0 -1
- package/dist/test/mocks/mock-search-responses.d.ts +0 -31
- package/dist/test/mocks/mock-search-responses.js +0 -1241
- package/dist/test/mocks/mock-search-responses.js.map +0 -1
- package/dist/test/mocks/mock-search-service.d.ts +0 -16
- package/dist/test/mocks/mock-search-service.js +0 -65
- package/dist/test/mocks/mock-search-service.js.map +0 -1
- package/dist/test/restoration-state-handler.test.d.ts +0 -1
- package/dist/test/restoration-state-handler.test.js +0 -375
- package/dist/test/restoration-state-handler.test.js.map +0 -1
- package/dist/test/review-block.test.d.ts +0 -1
- package/dist/test/review-block.test.js +0 -48
- package/dist/test/review-block.test.js.map +0 -1
- package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +0 -1
- package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +0 -13
- package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js.map +0 -1
- package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +0 -1
- package/dist/test/sort-filter-bar/alpha-bar.test.js +0 -74
- package/dist/test/sort-filter-bar/alpha-bar.test.js.map +0 -1
- package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +0 -1
- package/dist/test/sort-filter-bar/sort-filter-bar.test.js +0 -609
- package/dist/test/sort-filter-bar/sort-filter-bar.test.js.map +0 -1
- package/dist/test/text-overlay.test.d.ts +0 -1
- package/dist/test/text-overlay.test.js +0 -42
- package/dist/test/text-overlay.test.js.map +0 -1
- package/dist/test/text-snippet-block.test.d.ts +0 -1
- package/dist/test/text-snippet-block.test.js +0 -63
- package/dist/test/text-snippet-block.test.js.map +0 -1
- package/dist/test/tile-stats.test.d.ts +0 -1
- package/dist/test/tile-stats.test.js +0 -128
- package/dist/test/tile-stats.test.js.map +0 -1
- package/dist/test/tiles/grid/account-tile.test.d.ts +0 -1
- package/dist/test/tiles/grid/account-tile.test.js +0 -96
- package/dist/test/tiles/grid/account-tile.test.js.map +0 -1
- package/dist/test/tiles/grid/collection-tile.test.d.ts +0 -1
- package/dist/test/tiles/grid/collection-tile.test.js +0 -96
- package/dist/test/tiles/grid/collection-tile.test.js.map +0 -1
- package/dist/test/tiles/grid/item-tile.test.d.ts +0 -1
- package/dist/test/tiles/grid/item-tile.test.js +0 -427
- package/dist/test/tiles/grid/item-tile.test.js.map +0 -1
- package/dist/test/tiles/grid/search-tile.test.d.ts +0 -1
- package/dist/test/tiles/grid/search-tile.test.js +0 -66
- package/dist/test/tiles/grid/search-tile.test.js.map +0 -1
- package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +0 -1
- package/dist/test/tiles/hover/hover-pane-controller.test.js +0 -282
- package/dist/test/tiles/hover/hover-pane-controller.test.js.map +0 -1
- package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +0 -1
- package/dist/test/tiles/hover/tile-hover-pane.test.js +0 -57
- package/dist/test/tiles/hover/tile-hover-pane.test.js.map +0 -1
- package/dist/test/tiles/list/tile-list-compact.test.d.ts +0 -1
- package/dist/test/tiles/list/tile-list-compact.test.js +0 -251
- package/dist/test/tiles/list/tile-list-compact.test.js.map +0 -1
- package/dist/test/tiles/list/tile-list.test.d.ts +0 -1
- package/dist/test/tiles/list/tile-list.test.js +0 -469
- package/dist/test/tiles/list/tile-list.test.js.map +0 -1
- package/dist/test/tiles/tile-dispatcher.test.d.ts +0 -1
- package/dist/test/tiles/tile-dispatcher.test.js +0 -153
- package/dist/test/tiles/tile-dispatcher.test.js.map +0 -1
- package/dist/test/tiles/tile-display-value-provider.test.d.ts +0 -1
- package/dist/test/tiles/tile-display-value-provider.test.js +0 -142
- package/dist/test/tiles/tile-display-value-provider.test.js.map +0 -1
- package/dist/test/tiles/tile-mediatype-icon.test.d.ts +0 -1
- package/dist/test/tiles/tile-mediatype-icon.test.js +0 -145
- package/dist/test/tiles/tile-mediatype-icon.test.js.map +0 -1
- package/dist/test/utils/array-equals.test.d.ts +0 -1
- package/dist/test/utils/array-equals.test.js +0 -27
- package/dist/test/utils/array-equals.test.js.map +0 -1
- package/dist/test/utils/format-count.test.d.ts +0 -1
- package/dist/test/utils/format-count.test.js +0 -24
- package/dist/test/utils/format-count.test.js.map +0 -1
- package/dist/test/utils/format-date.test.d.ts +0 -1
- package/dist/test/utils/format-date.test.js +0 -61
- package/dist/test/utils/format-date.test.js.map +0 -1
- package/dist/test/utils/format-unit-size.test.d.ts +0 -1
- package/dist/test/utils/format-unit-size.test.js +0 -18
- package/dist/test/utils/format-unit-size.test.js.map +0 -1
- package/dist/test/utils/local-date-from-utc.test.d.ts +0 -1
- package/dist/test/utils/local-date-from-utc.test.js +0 -27
- package/dist/test/utils/local-date-from-utc.test.js.map +0 -1
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { CSSResultGroup, LitElement } from 'lit';
|
|
2
|
-
import type { TileModel } from '../models';
|
|
3
|
-
export declare class TileMediatypeIcon extends LitElement {
|
|
4
|
-
model?: TileModel;
|
|
5
|
-
showText: boolean;
|
|
6
|
-
/**
|
|
7
|
-
* Returns the appropriate mediatype config key for the current mediatype/collections.
|
|
8
|
-
*/
|
|
9
|
-
private get displayMediatype();
|
|
10
|
-
/**
|
|
11
|
-
* Returns the appropriate TV mediatype, depending on the current collections.
|
|
12
|
-
*/
|
|
13
|
-
private get tvDisplayMediatype();
|
|
14
|
-
/**
|
|
15
|
-
* Whether this represents a TV item
|
|
16
|
-
*/
|
|
17
|
-
private get isTvItem();
|
|
18
|
-
private get isTvCommercial();
|
|
19
|
-
private get isTvFactCheck();
|
|
20
|
-
private get isTvQuote();
|
|
21
|
-
/**
|
|
22
|
-
* Whether this represents a radio item
|
|
23
|
-
*/
|
|
24
|
-
private get isRadioItem();
|
|
25
|
-
render(): import("lit").TemplateResult<1>;
|
|
26
|
-
static get styles(): CSSResultGroup;
|
|
27
|
-
}
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { css, html, LitElement } from 'lit';
|
|
3
|
-
import { customElement, property } from 'lit/decorators.js';
|
|
4
|
-
import { mediatypeConfig, } from '../mediatype/mediatype-config';
|
|
5
|
-
const TV_COMMERCIAL_COLLECTION = 'tv_ads';
|
|
6
|
-
const TV_FACT_CHECK_COLLECTION = 'factchecked';
|
|
7
|
-
const TV_COLLECTIONS = new Set(['tvnews', 'tvarchive', 'television']);
|
|
8
|
-
const RADIO_COLLECTIONS = new Set(['radio', 'radioprogram']);
|
|
9
|
-
let TileMediatypeIcon = class TileMediatypeIcon extends LitElement {
|
|
10
|
-
constructor() {
|
|
11
|
-
super(...arguments);
|
|
12
|
-
this.showText = false;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Returns the appropriate mediatype config key for the current mediatype/collections.
|
|
16
|
-
*/
|
|
17
|
-
get displayMediatype() {
|
|
18
|
-
var _a, _b;
|
|
19
|
-
if (this.isTvItem)
|
|
20
|
-
return this.tvDisplayMediatype;
|
|
21
|
-
if (this.isRadioItem)
|
|
22
|
-
return 'radio';
|
|
23
|
-
return (_b = (_a = this.model) === null || _a === void 0 ? void 0 : _a.mediatype) !== null && _b !== void 0 ? _b : 'none';
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Returns the appropriate TV mediatype, depending on the current collections.
|
|
27
|
-
*/
|
|
28
|
-
get tvDisplayMediatype() {
|
|
29
|
-
var _a, _b;
|
|
30
|
-
if (this.isTvCommercial) {
|
|
31
|
-
return 'tvCommercial';
|
|
32
|
-
}
|
|
33
|
-
else if (((_a = this.model) === null || _a === void 0 ? void 0 : _a.isTvSearchResult) && this.isTvFactCheck) {
|
|
34
|
-
return 'tvFactCheck';
|
|
35
|
-
}
|
|
36
|
-
else if (((_b = this.model) === null || _b === void 0 ? void 0 : _b.isTvSearchResult) && this.isTvQuote) {
|
|
37
|
-
return 'tvQuote';
|
|
38
|
-
}
|
|
39
|
-
return 'tv';
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Whether this represents a TV item
|
|
43
|
-
*/
|
|
44
|
-
get isTvItem() {
|
|
45
|
-
var _a, _b;
|
|
46
|
-
return !!(((_a = this.model) === null || _a === void 0 ? void 0 : _a.mediatype) === 'movies' &&
|
|
47
|
-
((_b = this.model) === null || _b === void 0 ? void 0 : _b.collections.some(id => TV_COLLECTIONS.has(id))));
|
|
48
|
-
}
|
|
49
|
-
get isTvCommercial() {
|
|
50
|
-
var _a, _b, _c;
|
|
51
|
-
// Contains one or more TV ad identifiers or is in the tv_ads collection
|
|
52
|
-
return !!(((_b = (_a = this.model) === null || _a === void 0 ? void 0 : _a.adIds) === null || _b === void 0 ? void 0 : _b.length) ||
|
|
53
|
-
((_c = this.model) === null || _c === void 0 ? void 0 : _c.collections.includes(TV_COMMERCIAL_COLLECTION)));
|
|
54
|
-
}
|
|
55
|
-
get isTvFactCheck() {
|
|
56
|
-
var _a, _b, _c;
|
|
57
|
-
// Contains one or more fact-check URLs or is in the factchecked collection
|
|
58
|
-
return !!(((_b = (_a = this.model) === null || _a === void 0 ? void 0 : _a.factChecks) === null || _b === void 0 ? void 0 : _b.length) ||
|
|
59
|
-
((_c = this.model) === null || _c === void 0 ? void 0 : _c.collections.includes(TV_FACT_CHECK_COLLECTION)));
|
|
60
|
-
}
|
|
61
|
-
get isTvQuote() {
|
|
62
|
-
var _a;
|
|
63
|
-
return !!((_a = this.model) === null || _a === void 0 ? void 0 : _a.isClip);
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Whether this represents a radio item
|
|
67
|
-
*/
|
|
68
|
-
get isRadioItem() {
|
|
69
|
-
var _a, _b;
|
|
70
|
-
return !!(((_a = this.model) === null || _a === void 0 ? void 0 : _a.mediatype) === 'audio' &&
|
|
71
|
-
((_b = this.model) === null || _b === void 0 ? void 0 : _b.collections.some(id => RADIO_COLLECTIONS.has(id))));
|
|
72
|
-
}
|
|
73
|
-
render() {
|
|
74
|
-
const config = mediatypeConfig[this.displayMediatype];
|
|
75
|
-
if (!config) {
|
|
76
|
-
return html ``;
|
|
77
|
-
}
|
|
78
|
-
return html `
|
|
79
|
-
<div
|
|
80
|
-
id="icon"
|
|
81
|
-
class="${this.showText ? 'show-text' : 'hide-text'}"
|
|
82
|
-
title="${config.text}"
|
|
83
|
-
style="--iconFillColor: ${config.color}"
|
|
84
|
-
>
|
|
85
|
-
${config.icon}
|
|
86
|
-
<p class="status-text">${config.text}</p>
|
|
87
|
-
</div>
|
|
88
|
-
`;
|
|
89
|
-
}
|
|
90
|
-
static get styles() {
|
|
91
|
-
return css `
|
|
92
|
-
#icon {
|
|
93
|
-
height: var(--iconHeight, 25px);
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
.status-text {
|
|
97
|
-
font-size: 14px;
|
|
98
|
-
color: #2c2c2c;
|
|
99
|
-
margin: auto;
|
|
100
|
-
display: block;
|
|
101
|
-
text-align: var(--iconTextAlign, center);
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
#icon.hide-text p {
|
|
105
|
-
display: none;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
svg {
|
|
109
|
-
height: var(--iconHeight, 10px);
|
|
110
|
-
width: var(--iconWidth, 10px);
|
|
111
|
-
pointer-events: none;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
.fill-color {
|
|
115
|
-
fill: var(--iconFillColor, '#000000');
|
|
116
|
-
}
|
|
117
|
-
`;
|
|
118
|
-
}
|
|
119
|
-
};
|
|
120
|
-
__decorate([
|
|
121
|
-
property({ type: Object })
|
|
122
|
-
], TileMediatypeIcon.prototype, "model", void 0);
|
|
123
|
-
__decorate([
|
|
124
|
-
property({ type: Boolean })
|
|
125
|
-
], TileMediatypeIcon.prototype, "showText", void 0);
|
|
126
|
-
TileMediatypeIcon = __decorate([
|
|
127
|
-
customElement('tile-mediatype-icon')
|
|
128
|
-
], TileMediatypeIcon);
|
|
129
|
-
export { TileMediatypeIcon };
|
|
130
|
-
//# sourceMappingURL=tile-mediatype-icon.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tile-mediatype-icon.js","sourceRoot":"","sources":["../../../src/tiles/tile-mediatype-icon.ts"],"names":[],"mappings":"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","sourcesContent":["import { css, CSSResultGroup, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\nimport {\n mediatypeConfig,\n MediatypeConfigKey,\n} from '../mediatype/mediatype-config';\nimport type { TileModel } from '../models';\n\nconst TV_COMMERCIAL_COLLECTION = 'tv_ads';\nconst TV_FACT_CHECK_COLLECTION = 'factchecked';\nconst TV_COLLECTIONS = new Set(['tvnews', 'tvarchive', 'television']);\nconst RADIO_COLLECTIONS = new Set(['radio', 'radioprogram']);\n\n@customElement('tile-mediatype-icon')\nexport class TileMediatypeIcon extends LitElement {\n @property({ type: Object }) model?: TileModel;\n\n @property({ type: Boolean }) showText = false;\n\n /**\n * Returns the appropriate mediatype config key for the current mediatype/collections.\n */\n private get displayMediatype(): MediatypeConfigKey {\n if (this.isTvItem) return this.tvDisplayMediatype;\n if (this.isRadioItem) return 'radio';\n return this.model?.mediatype ?? 'none';\n }\n\n /**\n * Returns the appropriate TV mediatype, depending on the current collections.\n */\n private get tvDisplayMediatype(): MediatypeConfigKey {\n if (this.isTvCommercial) {\n return 'tvCommercial';\n } else if (this.model?.isTvSearchResult && this.isTvFactCheck) {\n return 'tvFactCheck';\n } else if (this.model?.isTvSearchResult && this.isTvQuote) {\n return 'tvQuote';\n }\n\n return 'tv';\n }\n\n /**\n * Whether this represents a TV item\n */\n private get isTvItem(): boolean {\n return !!(\n this.model?.mediatype === 'movies' &&\n this.model?.collections.some(id => TV_COLLECTIONS.has(id))\n );\n }\n\n private get isTvCommercial(): boolean {\n // Contains one or more TV ad identifiers or is in the tv_ads collection\n return !!(\n this.model?.adIds?.length ||\n this.model?.collections.includes(TV_COMMERCIAL_COLLECTION)\n );\n }\n\n private get isTvFactCheck(): boolean {\n // Contains one or more fact-check URLs or is in the factchecked collection\n return !!(\n this.model?.factChecks?.length ||\n this.model?.collections.includes(TV_FACT_CHECK_COLLECTION)\n );\n }\n\n private get isTvQuote(): boolean {\n return !!this.model?.isClip;\n }\n\n /**\n * Whether this represents a radio item\n */\n private get isRadioItem(): boolean {\n return !!(\n this.model?.mediatype === 'audio' &&\n this.model?.collections.some(id => RADIO_COLLECTIONS.has(id))\n );\n }\n\n render() {\n const config = mediatypeConfig[this.displayMediatype];\n if (!config) {\n return html``;\n }\n\n return html`\n <div\n id=\"icon\"\n class=\"${this.showText ? 'show-text' : 'hide-text'}\"\n title=\"${config.text}\"\n style=\"--iconFillColor: ${config.color}\"\n >\n ${config.icon}\n <p class=\"status-text\">${config.text}</p>\n </div>\n `;\n }\n\n static get styles(): CSSResultGroup {\n return css`\n #icon {\n height: var(--iconHeight, 25px);\n }\n\n .status-text {\n font-size: 14px;\n color: #2c2c2c;\n margin: auto;\n display: block;\n text-align: var(--iconTextAlign, center);\n }\n\n #icon.hide-text p {\n display: none;\n }\n\n svg {\n height: var(--iconHeight, 10px);\n width: var(--iconWidth, 10px);\n pointer-events: none;\n }\n\n .fill-color {\n fill: var(--iconFillColor, '#000000');\n }\n `;\n }\n}\n"]}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Analytics categories and events. Used when building actions in
|
|
3
|
-
*/
|
|
4
|
-
export declare enum analyticsCategories {
|
|
5
|
-
default = "collection-browser"
|
|
6
|
-
}
|
|
7
|
-
export declare enum analyticsActions {
|
|
8
|
-
sortBy = "sortBy",
|
|
9
|
-
filterByCreator = "filterByCreator",
|
|
10
|
-
filterByTitle = "filterByTitle",
|
|
11
|
-
displayMode = "displayMode",
|
|
12
|
-
loadDesktopView = "loadDesktopView",
|
|
13
|
-
loadMobileView = "loadMobileView",
|
|
14
|
-
facetSelected = "facetSelected",
|
|
15
|
-
facetDeselected = "facetDeselected",
|
|
16
|
-
facetNegativeSelected = "facetNegativeSelected",
|
|
17
|
-
facetNegativeDeselected = "facetNegativeDeselected",
|
|
18
|
-
mobileFacetsToggled = "mobileFacetsToggled",
|
|
19
|
-
partOfCollectionClicked = "partOfCollectionClicked",
|
|
20
|
-
histogramChanged = "histogramChanged",
|
|
21
|
-
histogramChangedFromModal = "histogramChangedFromModal",
|
|
22
|
-
histogramExpanded = "histogramExpanded",
|
|
23
|
-
resultSelected = "resultSelected",
|
|
24
|
-
moreFacetsPageChange = "moreFacetsPageChange",
|
|
25
|
-
showMoreFacetsModal = "showMoreFacetsModal",
|
|
26
|
-
closeMoreFacetsModal = "closeMoreFacetsModal",
|
|
27
|
-
applyMoreFacetsModal = "applyMoreFacetsModal"
|
|
28
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Analytics categories and events. Used when building actions in
|
|
3
|
-
*/
|
|
4
|
-
export var analyticsCategories;
|
|
5
|
-
(function (analyticsCategories) {
|
|
6
|
-
analyticsCategories["default"] = "collection-browser";
|
|
7
|
-
})(analyticsCategories || (analyticsCategories = {}));
|
|
8
|
-
export var analyticsActions;
|
|
9
|
-
(function (analyticsActions) {
|
|
10
|
-
analyticsActions["sortBy"] = "sortBy";
|
|
11
|
-
analyticsActions["filterByCreator"] = "filterByCreator";
|
|
12
|
-
analyticsActions["filterByTitle"] = "filterByTitle";
|
|
13
|
-
analyticsActions["displayMode"] = "displayMode";
|
|
14
|
-
analyticsActions["loadDesktopView"] = "loadDesktopView";
|
|
15
|
-
analyticsActions["loadMobileView"] = "loadMobileView";
|
|
16
|
-
analyticsActions["facetSelected"] = "facetSelected";
|
|
17
|
-
analyticsActions["facetDeselected"] = "facetDeselected";
|
|
18
|
-
analyticsActions["facetNegativeSelected"] = "facetNegativeSelected";
|
|
19
|
-
analyticsActions["facetNegativeDeselected"] = "facetNegativeDeselected";
|
|
20
|
-
analyticsActions["mobileFacetsToggled"] = "mobileFacetsToggled";
|
|
21
|
-
analyticsActions["partOfCollectionClicked"] = "partOfCollectionClicked";
|
|
22
|
-
analyticsActions["histogramChanged"] = "histogramChanged";
|
|
23
|
-
analyticsActions["histogramChangedFromModal"] = "histogramChangedFromModal";
|
|
24
|
-
analyticsActions["histogramExpanded"] = "histogramExpanded";
|
|
25
|
-
analyticsActions["resultSelected"] = "resultSelected";
|
|
26
|
-
analyticsActions["moreFacetsPageChange"] = "moreFacetsPageChange";
|
|
27
|
-
analyticsActions["showMoreFacetsModal"] = "showMoreFacetsModal";
|
|
28
|
-
analyticsActions["closeMoreFacetsModal"] = "closeMoreFacetsModal";
|
|
29
|
-
analyticsActions["applyMoreFacetsModal"] = "applyMoreFacetsModal";
|
|
30
|
-
})(analyticsActions || (analyticsActions = {}));
|
|
31
|
-
//# sourceMappingURL=analytics-events.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"analytics-events.js","sourceRoot":"","sources":["../../../src/utils/analytics-events.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAN,IAAY,mBAEX;AAFD,WAAY,mBAAmB;IAC7B,qDAA8B,CAAA;AAChC,CAAC,EAFW,mBAAmB,KAAnB,mBAAmB,QAE9B;AAED,MAAM,CAAN,IAAY,gBAqBX;AArBD,WAAY,gBAAgB;IAC1B,qCAAiB,CAAA;IACjB,uDAAmC,CAAA;IACnC,mDAA+B,CAAA;IAC/B,+CAA2B,CAAA;IAC3B,uDAAmC,CAAA;IACnC,qDAAiC,CAAA;IACjC,mDAA+B,CAAA;IAC/B,uDAAmC,CAAA;IACnC,mEAA+C,CAAA;IAC/C,uEAAmD,CAAA;IACnD,+DAA2C,CAAA;IAC3C,uEAAmD,CAAA;IACnD,yDAAqC,CAAA;IACrC,2EAAuD,CAAA;IACvD,2DAAuC,CAAA;IACvC,qDAAiC,CAAA;IACjC,iEAA6C,CAAA;IAC7C,+DAA2C,CAAA;IAC3C,iEAA6C,CAAA;IAC7C,iEAA6C,CAAA;AAC/C,CAAC,EArBW,gBAAgB,KAAhB,gBAAgB,QAqB3B","sourcesContent":["/**\n * Analytics categories and events. Used when building actions in\n */\nexport enum analyticsCategories {\n default = 'collection-browser',\n}\n\nexport enum analyticsActions {\n sortBy = 'sortBy',\n filterByCreator = 'filterByCreator',\n filterByTitle = 'filterByTitle',\n displayMode = 'displayMode',\n loadDesktopView = 'loadDesktopView',\n loadMobileView = 'loadMobileView',\n facetSelected = 'facetSelected',\n facetDeselected = 'facetDeselected',\n facetNegativeSelected = 'facetNegativeSelected',\n facetNegativeDeselected = 'facetNegativeDeselected',\n mobileFacetsToggled = 'mobileFacetsToggled',\n partOfCollectionClicked = 'partOfCollectionClicked',\n histogramChanged = 'histogramChanged',\n histogramChangedFromModal = 'histogramChangedFromModal',\n histogramExpanded = 'histogramExpanded',\n resultSelected = 'resultSelected',\n moreFacetsPageChange = 'moreFacetsPageChange',\n showMoreFacetsModal = 'showMoreFacetsModal',\n closeMoreFacetsModal = 'closeMoreFacetsModal',\n applyMoreFacetsModal = 'applyMoreFacetsModal',\n}\n"]}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Determines whether two arrays have the same (shallow) contents in the same order
|
|
3
|
-
*/
|
|
4
|
-
export function arrayEquals(arr1, arr2) {
|
|
5
|
-
if (arr1 === arr2)
|
|
6
|
-
return true;
|
|
7
|
-
if (arr1.length !== arr2.length)
|
|
8
|
-
return false;
|
|
9
|
-
return arr1.every((val, i) => val === arr2[i]);
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=array-equals.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"array-equals.js","sourceRoot":"","sources":["../../../src/utils/array-equals.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,IAAe,EAAE,IAAe;IAC1D,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC","sourcesContent":["/**\n * Determines whether two arrays have the same (shallow) contents in the same order\n */\nexport function arrayEquals(arr1: unknown[], arr2: unknown[]): boolean {\n if (arr1 === arr2) return true;\n if (arr1.length !== arr2.length) return false;\n return arr1.every((val, i) => val === arr2[i]);\n}\n"]}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Returns the input string, but removing one set of quotes from all instances of
|
|
3
|
-
* ""clauses wrapped in two sets of quotes"". This assumes the quotes are already
|
|
4
|
-
* URL-encoded.
|
|
5
|
-
*
|
|
6
|
-
* This should be a temporary measure to address the fact that the __href__ field
|
|
7
|
-
* sometimes acquires extra quotation marks during query rewriting. Once there is a
|
|
8
|
-
* full Lucene parser in place that handles quoted queries correctly, this can likely
|
|
9
|
-
* be removed.
|
|
10
|
-
*/
|
|
11
|
-
export declare function collapseRepeatedQuotes(str?: string): string | undefined;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Returns the input string, but removing one set of quotes from all instances of
|
|
3
|
-
* ""clauses wrapped in two sets of quotes"". This assumes the quotes are already
|
|
4
|
-
* URL-encoded.
|
|
5
|
-
*
|
|
6
|
-
* This should be a temporary measure to address the fact that the __href__ field
|
|
7
|
-
* sometimes acquires extra quotation marks during query rewriting. Once there is a
|
|
8
|
-
* full Lucene parser in place that handles quoted queries correctly, this can likely
|
|
9
|
-
* be removed.
|
|
10
|
-
*/
|
|
11
|
-
export function collapseRepeatedQuotes(str) {
|
|
12
|
-
return str === null || str === void 0 ? void 0 : str.replace(/%22%22(?!%22%22)(.+?)%22%22/g, '%22$1%22');
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=collapse-repeated-quotes.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"collapse-repeated-quotes.js","sourceRoot":"","sources":["../../../src/utils/collapse-repeated-quotes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAY;IACjD,OAAO,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAC,8BAA8B,EAAE,UAAU,CAAC,CAAC;AAClE,CAAC","sourcesContent":["/**\n * Returns the input string, but removing one set of quotes from all instances of\n * \"\"clauses wrapped in two sets of quotes\"\". This assumes the quotes are already\n * URL-encoded.\n *\n * This should be a temporary measure to address the fact that the __href__ field\n * sometimes acquires extra quotation marks during query rewriting. Once there is a\n * full Lucene parser in place that handles quoted queries correctly, this can likely\n * be removed.\n */\nexport function collapseRepeatedQuotes(str?: string): string | undefined {\n return str?.replace(/%22%22(?!%22%22)(.+?)%22%22/g, '%22$1%22');\n}\n"]}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { AggregationSortType } from '@internetarchive/search-service';
|
|
2
|
-
import { FacetOption, type FacetBucket, type SelectedFacets } from '../models';
|
|
3
|
-
/**
|
|
4
|
-
* Calls the given function for each FacetBucket specified in the given SelectedFacets
|
|
5
|
-
* object. The function is always called with the facet type, bucket key, bucket object,
|
|
6
|
-
* and the given SelectedFacets object.
|
|
7
|
-
*
|
|
8
|
-
* @param selectedFacets The SelectedFacets object whose buckets should be iterated over
|
|
9
|
-
* @param fn The function to apply to each facet bucket.
|
|
10
|
-
*
|
|
11
|
-
* @example
|
|
12
|
-
* forEachFacetBucket(
|
|
13
|
-
* myFacets,
|
|
14
|
-
* (facetType, bucketKey, bucket) => {
|
|
15
|
-
* if (facetType === 'collection' && bucket.state === 'hidden') {
|
|
16
|
-
* console.log(`Excluding any results in the ${bucketKey} collection`);
|
|
17
|
-
* }
|
|
18
|
-
* }
|
|
19
|
-
* );
|
|
20
|
-
*/
|
|
21
|
-
export declare function forEachFacetBucket(selectedFacets: SelectedFacets | undefined, fn: (facetType: FacetOption, bucketKey: string, bucket: FacetBucket, selectedFacets: SelectedFacets) => unknown): void;
|
|
22
|
-
/**
|
|
23
|
-
* Returns a new SelectedFacets object having only the specified bucket changed to
|
|
24
|
-
* reflect its new provided value. The bucket key is determined from the provided
|
|
25
|
-
* `bucket` itself.
|
|
26
|
-
* @param selectedFacets The SelectedFacets object to produce an updated clone of
|
|
27
|
-
* @param facetType The type of facet to be modified (e.g., 'mediatype', 'subject', ...)
|
|
28
|
-
* @param bucket The new bucket that should be present on the result
|
|
29
|
-
* @param omitNoneState If set to true, the returned object will omit the given
|
|
30
|
-
* bucket entirely if it is updated to state `'none'`. Default is false, which leaves
|
|
31
|
-
* the `'none'` state in place.
|
|
32
|
-
*/
|
|
33
|
-
export declare function updateSelectedFacetBucket(selectedFacets: SelectedFacets | undefined, facetType: FacetOption, bucket: FacetBucket, omitNoneState?: boolean): SelectedFacets;
|
|
34
|
-
/**
|
|
35
|
-
* Creates a clone of the given SelectedFacets object.
|
|
36
|
-
*
|
|
37
|
-
* Note that the underlying FacetBucket objects are not deep-cloned -- they will
|
|
38
|
-
* be references to the same objects as in the input. However, the objects
|
|
39
|
-
* containing the FacetBuckets for each FacetOption are created anew.
|
|
40
|
-
*
|
|
41
|
-
* If the provided argument is undefined, returns an empty SelectedFacets object.
|
|
42
|
-
*
|
|
43
|
-
* @param selectedFacets The SelectedFacets object to be cloned
|
|
44
|
-
*/
|
|
45
|
-
export declare function cloneSelectedFacets(selectedFacets: SelectedFacets | undefined): SelectedFacets;
|
|
46
|
-
/**
|
|
47
|
-
* Creates a new SelectedFacets object representing a merge of the `source` facets object
|
|
48
|
-
* into the `destination` facets object. Any facets existing in `source` take precedence
|
|
49
|
-
* over those in `destination` in the event of conflicts.
|
|
50
|
-
*
|
|
51
|
-
* The resulting SelectedFacets object is normalized to omit any facet buckets whose
|
|
52
|
-
* state is `'none'` in the merged result. Consequently, any facets buckets with state
|
|
53
|
-
* `'none'` in `source` will always be absent from the end result. Likewise, any facet
|
|
54
|
-
* buckets with state `'none'` in `destination` will be absent _unless_ they are also
|
|
55
|
-
* present in `source` with a state of `'selected'` or `'hidden'` (in which case `source`
|
|
56
|
-
* takes precedence as usual).
|
|
57
|
-
*
|
|
58
|
-
* @param source The source of the new facets to merge in. Any facet buckets existing in
|
|
59
|
-
* this `source` object will take precedence over those in `destination` having the same
|
|
60
|
-
* key, if they exist in both. Any facet buckets that are _not_ present in `source` will
|
|
61
|
-
* remain unmodified from their state in `destination`, if they are present there at all.
|
|
62
|
-
* @param destination The destination onto which facets should be merged. Note that this
|
|
63
|
-
* object is _not_ re-used for the return value, but it is conceptually the "existing base"
|
|
64
|
-
* onto which the source facets are merged.
|
|
65
|
-
*/
|
|
66
|
-
export declare function mergeSelectedFacets(destination: SelectedFacets | undefined, source: SelectedFacets | undefined): SelectedFacets;
|
|
67
|
-
/**
|
|
68
|
-
* Sorts the provided FacetBuckets so that:
|
|
69
|
-
* - Any selected items come first
|
|
70
|
-
* - Any hidden items come after all the selected items
|
|
71
|
-
* - Any unselected / unhidden items come last
|
|
72
|
-
*
|
|
73
|
-
* Within each of the above groups, the buckets will be sorted according to
|
|
74
|
-
* the provided sort type, or by their bucket count by default.
|
|
75
|
-
*
|
|
76
|
-
* The sort is performed in-place using `Array.sort`, so the return value is
|
|
77
|
-
* a reference to the same array that was passed in, only sorted.
|
|
78
|
-
*
|
|
79
|
-
* @param buckets The array of facet buckets to sort
|
|
80
|
-
* @param sort (Optional) How buckets within each state group should be sorted.
|
|
81
|
-
* Defaults to `AggregationSortType.COUNT` (i.e., descending by bucket count).
|
|
82
|
-
*/
|
|
83
|
-
export declare function sortBucketsBySelectionState(buckets: FacetBucket[], sort?: AggregationSortType): FacetBucket[];
|
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
import { AggregationSortType } from '@internetarchive/search-service';
|
|
2
|
-
import { getDefaultSelectedFacets, } from '../models';
|
|
3
|
-
// This file contains several helper functions designed to make working immutably
|
|
4
|
-
// with SelectedFacet objects and FacetGroups cleaner & easier.
|
|
5
|
-
/**
|
|
6
|
-
* Calls the given function for each FacetBucket specified in the given SelectedFacets
|
|
7
|
-
* object. The function is always called with the facet type, bucket key, bucket object,
|
|
8
|
-
* and the given SelectedFacets object.
|
|
9
|
-
*
|
|
10
|
-
* @param selectedFacets The SelectedFacets object whose buckets should be iterated over
|
|
11
|
-
* @param fn The function to apply to each facet bucket.
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* forEachFacetBucket(
|
|
15
|
-
* myFacets,
|
|
16
|
-
* (facetType, bucketKey, bucket) => {
|
|
17
|
-
* if (facetType === 'collection' && bucket.state === 'hidden') {
|
|
18
|
-
* console.log(`Excluding any results in the ${bucketKey} collection`);
|
|
19
|
-
* }
|
|
20
|
-
* }
|
|
21
|
-
* );
|
|
22
|
-
*/
|
|
23
|
-
export function forEachFacetBucket(selectedFacets, fn) {
|
|
24
|
-
if (!selectedFacets)
|
|
25
|
-
return;
|
|
26
|
-
for (const [facetType, facetBuckets] of Object.entries(selectedFacets)) {
|
|
27
|
-
for (const [bucketKey, bucket] of Object.entries(facetBuckets)) {
|
|
28
|
-
fn(facetType, bucketKey, bucket, selectedFacets);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Returns a new SelectedFacets object having only the specified bucket changed to
|
|
34
|
-
* reflect its new provided value. The bucket key is determined from the provided
|
|
35
|
-
* `bucket` itself.
|
|
36
|
-
* @param selectedFacets The SelectedFacets object to produce an updated clone of
|
|
37
|
-
* @param facetType The type of facet to be modified (e.g., 'mediatype', 'subject', ...)
|
|
38
|
-
* @param bucket The new bucket that should be present on the result
|
|
39
|
-
* @param omitNoneState If set to true, the returned object will omit the given
|
|
40
|
-
* bucket entirely if it is updated to state `'none'`. Default is false, which leaves
|
|
41
|
-
* the `'none'` state in place.
|
|
42
|
-
*/
|
|
43
|
-
export function updateSelectedFacetBucket(selectedFacets, facetType, bucket, omitNoneState = false) {
|
|
44
|
-
var _a;
|
|
45
|
-
const defaultedSelectedFacets = selectedFacets !== null && selectedFacets !== void 0 ? selectedFacets : getDefaultSelectedFacets();
|
|
46
|
-
const newFacets = {
|
|
47
|
-
...defaultedSelectedFacets,
|
|
48
|
-
[facetType]: {
|
|
49
|
-
...defaultedSelectedFacets[facetType],
|
|
50
|
-
[bucket.key]: bucket,
|
|
51
|
-
},
|
|
52
|
-
};
|
|
53
|
-
if (omitNoneState && bucket.state === 'none') {
|
|
54
|
-
(_a = newFacets[facetType]) === null || _a === void 0 ? true : delete _a[bucket.key];
|
|
55
|
-
}
|
|
56
|
-
return newFacets;
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Creates a clone of the given SelectedFacets object.
|
|
60
|
-
*
|
|
61
|
-
* Note that the underlying FacetBucket objects are not deep-cloned -- they will
|
|
62
|
-
* be references to the same objects as in the input. However, the objects
|
|
63
|
-
* containing the FacetBuckets for each FacetOption are created anew.
|
|
64
|
-
*
|
|
65
|
-
* If the provided argument is undefined, returns an empty SelectedFacets object.
|
|
66
|
-
*
|
|
67
|
-
* @param selectedFacets The SelectedFacets object to be cloned
|
|
68
|
-
*/
|
|
69
|
-
export function cloneSelectedFacets(selectedFacets) {
|
|
70
|
-
const cloneResult = getDefaultSelectedFacets();
|
|
71
|
-
forEachFacetBucket(selectedFacets, (facetType, bucketKey, bucket) => {
|
|
72
|
-
if (!cloneResult[facetType])
|
|
73
|
-
cloneResult[facetType] = {};
|
|
74
|
-
cloneResult[facetType][bucketKey] = bucket;
|
|
75
|
-
});
|
|
76
|
-
return cloneResult;
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Creates a new SelectedFacets object representing a merge of the `source` facets object
|
|
80
|
-
* into the `destination` facets object. Any facets existing in `source` take precedence
|
|
81
|
-
* over those in `destination` in the event of conflicts.
|
|
82
|
-
*
|
|
83
|
-
* The resulting SelectedFacets object is normalized to omit any facet buckets whose
|
|
84
|
-
* state is `'none'` in the merged result. Consequently, any facets buckets with state
|
|
85
|
-
* `'none'` in `source` will always be absent from the end result. Likewise, any facet
|
|
86
|
-
* buckets with state `'none'` in `destination` will be absent _unless_ they are also
|
|
87
|
-
* present in `source` with a state of `'selected'` or `'hidden'` (in which case `source`
|
|
88
|
-
* takes precedence as usual).
|
|
89
|
-
*
|
|
90
|
-
* @param source The source of the new facets to merge in. Any facet buckets existing in
|
|
91
|
-
* this `source` object will take precedence over those in `destination` having the same
|
|
92
|
-
* key, if they exist in both. Any facet buckets that are _not_ present in `source` will
|
|
93
|
-
* remain unmodified from their state in `destination`, if they are present there at all.
|
|
94
|
-
* @param destination The destination onto which facets should be merged. Note that this
|
|
95
|
-
* object is _not_ re-used for the return value, but it is conceptually the "existing base"
|
|
96
|
-
* onto which the source facets are merged.
|
|
97
|
-
*/
|
|
98
|
-
export function mergeSelectedFacets(destination, source) {
|
|
99
|
-
const mergeResult = cloneSelectedFacets(destination);
|
|
100
|
-
forEachFacetBucket(source, (facetType, bucketKey, bucket) => {
|
|
101
|
-
if (!mergeResult[facetType])
|
|
102
|
-
mergeResult[facetType] = {};
|
|
103
|
-
mergeResult[facetType][bucketKey] = bucket;
|
|
104
|
-
});
|
|
105
|
-
// Normalize any 'none' states on the result (from either source or destination)
|
|
106
|
-
forEachFacetBucket(mergeResult, (facetType, bucketKey, bucket) => {
|
|
107
|
-
var _a;
|
|
108
|
-
if (bucket.state === 'none') {
|
|
109
|
-
(_a = mergeResult[facetType]) === null || _a === void 0 ? true : delete _a[bucketKey];
|
|
110
|
-
}
|
|
111
|
-
});
|
|
112
|
-
return mergeResult;
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Defines the order of states in which to display SelectedFacets buckets
|
|
116
|
-
*/
|
|
117
|
-
const BUCKET_STATE_ORDER = ['selected', 'hidden', 'none'];
|
|
118
|
-
/**
|
|
119
|
-
* Sorts the provided FacetBuckets so that:
|
|
120
|
-
* - Any selected items come first
|
|
121
|
-
* - Any hidden items come after all the selected items
|
|
122
|
-
* - Any unselected / unhidden items come last
|
|
123
|
-
*
|
|
124
|
-
* Within each of the above groups, the buckets will be sorted according to
|
|
125
|
-
* the provided sort type, or by their bucket count by default.
|
|
126
|
-
*
|
|
127
|
-
* The sort is performed in-place using `Array.sort`, so the return value is
|
|
128
|
-
* a reference to the same array that was passed in, only sorted.
|
|
129
|
-
*
|
|
130
|
-
* @param buckets The array of facet buckets to sort
|
|
131
|
-
* @param sort (Optional) How buckets within each state group should be sorted.
|
|
132
|
-
* Defaults to `AggregationSortType.COUNT` (i.e., descending by bucket count).
|
|
133
|
-
*/
|
|
134
|
-
export function sortBucketsBySelectionState(buckets, sort = AggregationSortType.COUNT) {
|
|
135
|
-
return buckets.sort((a, b) => {
|
|
136
|
-
const aStateIndex = BUCKET_STATE_ORDER.indexOf(a.state);
|
|
137
|
-
const bStateIndex = BUCKET_STATE_ORDER.indexOf(b.state);
|
|
138
|
-
const stateDiff = aStateIndex - bStateIndex; // Sort bucket states primarily in the order defined by BUCKET_STATE_ORDER
|
|
139
|
-
let secondaryDiff;
|
|
140
|
-
if (sort === AggregationSortType.ALPHABETICAL) {
|
|
141
|
-
secondaryDiff = a.key.localeCompare(b.key); // Ascending alphabetically by bucket key
|
|
142
|
-
}
|
|
143
|
-
else if (sort === AggregationSortType.NUMERIC) {
|
|
144
|
-
secondaryDiff = Number(b.key) - Number(a.key); // Descending numerically by bucket key
|
|
145
|
-
}
|
|
146
|
-
else {
|
|
147
|
-
secondaryDiff = b.count - a.count; // Descending by bucket count
|
|
148
|
-
}
|
|
149
|
-
return stateDiff || secondaryDiff; // Primary sort on state, secondary sort on the given sort type (defaulting to descending count)
|
|
150
|
-
});
|
|
151
|
-
}
|
|
152
|
-
//# sourceMappingURL=facet-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"facet-utils.js","sourceRoot":"","sources":["../../../src/utils/facet-utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { AggregationSortType } from '@internetarchive/search-service';\nimport {\n FacetOption,\n getDefaultSelectedFacets,\n type FacetBucket,\n type SelectedFacets,\n} from '../models';\n\n// This file contains several helper functions designed to make working immutably\n// with SelectedFacet objects and FacetGroups cleaner & easier.\n\n/**\n * Calls the given function for each FacetBucket specified in the given SelectedFacets\n * object. The function is always called with the facet type, bucket key, bucket object,\n * and the given SelectedFacets object.\n *\n * @param selectedFacets The SelectedFacets object whose buckets should be iterated over\n * @param fn The function to apply to each facet bucket.\n *\n * @example\n * forEachFacetBucket(\n * myFacets,\n * (facetType, bucketKey, bucket) => {\n * if (facetType === 'collection' && bucket.state === 'hidden') {\n * console.log(`Excluding any results in the ${bucketKey} collection`);\n * }\n * }\n * );\n */\nexport function forEachFacetBucket(\n selectedFacets: SelectedFacets | undefined,\n fn: (\n facetType: FacetOption,\n bucketKey: string,\n bucket: FacetBucket,\n selectedFacets: SelectedFacets,\n ) => unknown,\n): void {\n if (!selectedFacets) return;\n for (const [facetType, facetBuckets] of Object.entries(selectedFacets)) {\n for (const [bucketKey, bucket] of Object.entries(facetBuckets)) {\n fn(facetType as FacetOption, bucketKey, bucket, selectedFacets);\n }\n }\n}\n\n/**\n * Returns a new SelectedFacets object having only the specified bucket changed to\n * reflect its new provided value. The bucket key is determined from the provided\n * `bucket` itself.\n * @param selectedFacets The SelectedFacets object to produce an updated clone of\n * @param facetType The type of facet to be modified (e.g., 'mediatype', 'subject', ...)\n * @param bucket The new bucket that should be present on the result\n * @param omitNoneState If set to true, the returned object will omit the given\n * bucket entirely if it is updated to state `'none'`. Default is false, which leaves\n * the `'none'` state in place.\n */\nexport function updateSelectedFacetBucket(\n selectedFacets: SelectedFacets | undefined,\n facetType: FacetOption,\n bucket: FacetBucket,\n omitNoneState = false,\n): SelectedFacets {\n const defaultedSelectedFacets = selectedFacets ?? getDefaultSelectedFacets();\n const newFacets: SelectedFacets = {\n ...defaultedSelectedFacets,\n [facetType]: {\n ...defaultedSelectedFacets[facetType],\n [bucket.key]: bucket,\n },\n };\n\n if (omitNoneState && bucket.state === 'none') {\n delete newFacets[facetType]?.[bucket.key];\n }\n\n return newFacets;\n}\n\n/**\n * Creates a clone of the given SelectedFacets object.\n *\n * Note that the underlying FacetBucket objects are not deep-cloned -- they will\n * be references to the same objects as in the input. However, the objects\n * containing the FacetBuckets for each FacetOption are created anew.\n *\n * If the provided argument is undefined, returns an empty SelectedFacets object.\n *\n * @param selectedFacets The SelectedFacets object to be cloned\n */\nexport function cloneSelectedFacets(\n selectedFacets: SelectedFacets | undefined,\n): SelectedFacets {\n const cloneResult = getDefaultSelectedFacets();\n forEachFacetBucket(selectedFacets, (facetType, bucketKey, bucket) => {\n if (!cloneResult[facetType]) cloneResult[facetType] = {};\n cloneResult[facetType][bucketKey] = bucket;\n });\n return cloneResult;\n}\n\n/**\n * Creates a new SelectedFacets object representing a merge of the `source` facets object\n * into the `destination` facets object. Any facets existing in `source` take precedence\n * over those in `destination` in the event of conflicts.\n *\n * The resulting SelectedFacets object is normalized to omit any facet buckets whose\n * state is `'none'` in the merged result. Consequently, any facets buckets with state\n * `'none'` in `source` will always be absent from the end result. Likewise, any facet\n * buckets with state `'none'` in `destination` will be absent _unless_ they are also\n * present in `source` with a state of `'selected'` or `'hidden'` (in which case `source`\n * takes precedence as usual).\n *\n * @param source The source of the new facets to merge in. Any facet buckets existing in\n * this `source` object will take precedence over those in `destination` having the same\n * key, if they exist in both. Any facet buckets that are _not_ present in `source` will\n * remain unmodified from their state in `destination`, if they are present there at all.\n * @param destination The destination onto which facets should be merged. Note that this\n * object is _not_ re-used for the return value, but it is conceptually the \"existing base\"\n * onto which the source facets are merged.\n */\nexport function mergeSelectedFacets(\n destination: SelectedFacets | undefined,\n source: SelectedFacets | undefined,\n): SelectedFacets {\n const mergeResult = cloneSelectedFacets(destination);\n forEachFacetBucket(source, (facetType, bucketKey, bucket) => {\n if (!mergeResult[facetType]) mergeResult[facetType] = {};\n mergeResult[facetType][bucketKey] = bucket;\n });\n\n // Normalize any 'none' states on the result (from either source or destination)\n forEachFacetBucket(mergeResult, (facetType, bucketKey, bucket) => {\n if (bucket.state === 'none') {\n delete mergeResult[facetType]?.[bucketKey];\n }\n });\n\n return mergeResult;\n}\n\n/**\n * Defines the order of states in which to display SelectedFacets buckets\n */\nconst BUCKET_STATE_ORDER = ['selected', 'hidden', 'none'];\n\n/**\n * Sorts the provided FacetBuckets so that:\n * - Any selected items come first\n * - Any hidden items come after all the selected items\n * - Any unselected / unhidden items come last\n *\n * Within each of the above groups, the buckets will be sorted according to\n * the provided sort type, or by their bucket count by default.\n *\n * The sort is performed in-place using `Array.sort`, so the return value is\n * a reference to the same array that was passed in, only sorted.\n *\n * @param buckets The array of facet buckets to sort\n * @param sort (Optional) How buckets within each state group should be sorted.\n * Defaults to `AggregationSortType.COUNT` (i.e., descending by bucket count).\n */\nexport function sortBucketsBySelectionState(\n buckets: FacetBucket[],\n sort = AggregationSortType.COUNT,\n) {\n return buckets.sort((a, b) => {\n const aStateIndex = BUCKET_STATE_ORDER.indexOf(a.state);\n const bStateIndex = BUCKET_STATE_ORDER.indexOf(b.state);\n const stateDiff = aStateIndex - bStateIndex; // Sort bucket states primarily in the order defined by BUCKET_STATE_ORDER\n\n let secondaryDiff;\n if (sort === AggregationSortType.ALPHABETICAL) {\n secondaryDiff = a.key.localeCompare(b.key); // Ascending alphabetically by bucket key\n } else if (sort === AggregationSortType.NUMERIC) {\n secondaryDiff = Number(b.key) - Number(a.key); // Descending numerically by bucket key\n } else {\n secondaryDiff = b.count - a.count; // Descending by bucket count\n }\n\n return stateDiff || secondaryDiff; // Primary sort on state, secondary sort on the given sort type (defaulting to descending count)\n });\n}\n"]}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export type NumberFormat = 'short' | 'long';
|
|
2
|
-
export type LabelFormat = 'short' | 'long';
|
|
3
|
-
/**
|
|
4
|
-
* Format a "count" number into short "icon" or longer text string.
|
|
5
|
-
* For positive numbers only.
|
|
6
|
-
*/
|
|
7
|
-
export declare function formatCount(count: number | undefined, numberFormat?: NumberFormat, labelFormat?: LabelFormat, locale?: string): string;
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Replaces Petabox www/common/Util::number_format()
|
|
3
|
-
* For positive numbers only.
|
|
4
|
-
*/
|
|
5
|
-
import { msg, str } from '@lit/localize';
|
|
6
|
-
/**
|
|
7
|
-
* Return the magnitude of a number.
|
|
8
|
-
*/
|
|
9
|
-
function magnitude(number, numberFormat) {
|
|
10
|
-
let divisor = 1;
|
|
11
|
-
if (number >= 1000000000) {
|
|
12
|
-
divisor = 1000000000;
|
|
13
|
-
}
|
|
14
|
-
else if (number >= 1000000) {
|
|
15
|
-
divisor = 1000000;
|
|
16
|
-
}
|
|
17
|
-
else if (number >= 1000 && numberFormat === 'short') {
|
|
18
|
-
divisor = 1000;
|
|
19
|
-
}
|
|
20
|
-
return divisor;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Round a number given passed magnitude.
|
|
24
|
-
* Significant digits of value less than 10 get a decimal.
|
|
25
|
-
*/
|
|
26
|
-
function round(number = 0, divisor) {
|
|
27
|
-
const result = number / divisor;
|
|
28
|
-
const roundToOne = result < 10;
|
|
29
|
-
let rounded = 0;
|
|
30
|
-
if (roundToOne) {
|
|
31
|
-
rounded = Math.round((result + Number.EPSILON) * 10) / 10;
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
rounded = Math.round(result);
|
|
35
|
-
}
|
|
36
|
-
return rounded;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Return a label for a number and format.
|
|
40
|
-
*/
|
|
41
|
-
function labelize(rounded, divisor, format, locale) {
|
|
42
|
-
switch (divisor) {
|
|
43
|
-
case 1000000000:
|
|
44
|
-
if (format === 'short') {
|
|
45
|
-
return msg(str `${rounded}B`);
|
|
46
|
-
}
|
|
47
|
-
return msg(str `${rounded} billion`);
|
|
48
|
-
case 1000000:
|
|
49
|
-
if (format === 'short') {
|
|
50
|
-
return msg(str `${rounded}M`);
|
|
51
|
-
}
|
|
52
|
-
return msg(str `${rounded} million`);
|
|
53
|
-
case 1000:
|
|
54
|
-
if (format === 'short') {
|
|
55
|
-
return msg(str `${rounded}K`);
|
|
56
|
-
}
|
|
57
|
-
return msg(str `${rounded} thousand`);
|
|
58
|
-
default:
|
|
59
|
-
return new Intl.NumberFormat(locale).format(rounded);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Format a "count" number into short "icon" or longer text string.
|
|
64
|
-
* For positive numbers only.
|
|
65
|
-
*/
|
|
66
|
-
export function formatCount(count, numberFormat = 'long', labelFormat = 'short', locale = 'en-US') {
|
|
67
|
-
// Return blank if undefined
|
|
68
|
-
const number = count !== null && count !== void 0 ? count : -1;
|
|
69
|
-
if (number < 0) {
|
|
70
|
-
return '';
|
|
71
|
-
}
|
|
72
|
-
const divisor = magnitude(number, numberFormat);
|
|
73
|
-
const rounded = round(number, divisor);
|
|
74
|
-
return labelize(rounded, divisor, labelFormat, locale);
|
|
75
|
-
}
|
|
76
|
-
//# sourceMappingURL=format-count.js.map
|