@internetarchive/collection-browser 0.4.11 → 0.4.13-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.editorconfig +29 -29
- package/.github/workflows/ci.yml +26 -26
- package/.github/workflows/gh-pages-main.yml +39 -39
- package/.github/workflows/npm-publish.yml +39 -39
- package/.github/workflows/pr-preview.yml +38 -38
- package/.husky/pre-commit +4 -4
- package/LICENSE +661 -661
- package/README.md +83 -83
- package/dist/index.d.ts +9 -9
- package/dist/index.js +9 -9
- package/dist/src/app-root.d.ts +50 -50
- package/dist/src/app-root.js +278 -278
- package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
- package/dist/src/assets/img/icons/arrow-left.js +2 -2
- package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
- package/dist/src/assets/img/icons/arrow-right.js +2 -2
- package/dist/src/assets/img/icons/chevron.d.ts +2 -2
- package/dist/src/assets/img/icons/chevron.js +2 -2
- package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
- package/dist/src/assets/img/icons/empty-query.js +2 -2
- package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
- package/dist/src/assets/img/icons/eye-closed.js +2 -2
- package/dist/src/assets/img/icons/eye.d.ts +2 -2
- package/dist/src/assets/img/icons/eye.js +2 -2
- package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
- package/dist/src/assets/img/icons/favorite-filled.js +2 -2
- package/dist/src/assets/img/icons/login-required.d.ts +1 -1
- package/dist/src/assets/img/icons/login-required.js +2 -2
- package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/account.js +2 -2
- package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
- package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
- package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/data.js +2 -2
- package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
- package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/film.js +2 -2
- package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/images.js +2 -2
- package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
- package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/software.js +2 -2
- package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
- package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
- package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/video.js +2 -2
- package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/web.js +2 -2
- package/dist/src/assets/img/icons/null-result.d.ts +2 -2
- package/dist/src/assets/img/icons/null-result.js +2 -2
- package/dist/src/assets/img/icons/restricted.d.ts +1 -1
- package/dist/src/assets/img/icons/restricted.js +2 -2
- package/dist/src/assets/img/icons/reviews.d.ts +1 -1
- package/dist/src/assets/img/icons/reviews.js +2 -2
- package/dist/src/assets/img/icons/upload.d.ts +1 -1
- package/dist/src/assets/img/icons/upload.js +2 -2
- package/dist/src/assets/img/icons/views.d.ts +1 -1
- package/dist/src/assets/img/icons/views.js +2 -2
- package/dist/src/circular-activity-indicator.d.ts +5 -5
- package/dist/src/circular-activity-indicator.js +17 -17
- package/dist/src/collection-browser.d.ts +280 -279
- package/dist/src/collection-browser.js +1178 -1156
- package/dist/src/collection-browser.js.map +1 -1
- package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
- package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
- package/dist/src/collection-facets/facets-template.d.ts +16 -16
- package/dist/src/collection-facets/facets-template.js +125 -125
- package/dist/src/collection-facets/more-facets-content.d.ts +76 -75
- package/dist/src/collection-facets/more-facets-content.js +354 -377
- package/dist/src/collection-facets/more-facets-content.js.map +1 -1
- package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
- package/dist/src/collection-facets/more-facets-pagination.js +197 -195
- package/dist/src/collection-facets/more-facets-pagination.js.map +1 -1
- package/dist/src/collection-facets/toggle-switch.d.ts +41 -0
- package/dist/src/collection-facets/toggle-switch.js +184 -0
- package/dist/src/collection-facets/toggle-switch.js.map +1 -0
- package/dist/src/collection-facets.d.ts +81 -81
- package/dist/src/collection-facets.js +376 -385
- package/dist/src/collection-facets.js.map +1 -1
- package/dist/src/empty-placeholder.d.ts +13 -11
- package/dist/src/empty-placeholder.js +80 -44
- package/dist/src/empty-placeholder.js.map +1 -1
- package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
- package/dist/src/language-code-handler/language-code-handler.js +26 -26
- package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
- package/dist/src/language-code-handler/language-code-mapping.js +562 -562
- package/dist/src/mediatype/mediatype-config.d.ts +3 -3
- package/dist/src/mediatype/mediatype-config.js +85 -85
- package/dist/src/models.d.ts +119 -115
- package/dist/src/models.js +136 -125
- package/dist/src/models.js.map +1 -1
- package/dist/src/restoration-state-handler.d.ts +45 -45
- package/dist/src/restoration-state-handler.js +230 -230
- package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
- package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +25 -26
- package/dist/src/sort-filter-bar/alpha-bar-tooltip.js.map +1 -1
- package/dist/src/sort-filter-bar/alpha-bar.d.ts +20 -20
- package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
- package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/compact.js +2 -2
- package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/list.js +3 -3
- package/dist/src/sort-filter-bar/img/list.js.map +1 -1
- package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -0
- package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +15 -0
- package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js.map +1 -0
- package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -0
- package/dist/src/sort-filter-bar/img/sort-toggle-down.js +17 -0
- package/dist/src/sort-filter-bar/img/sort-toggle-down.js.map +1 -0
- package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -0
- package/dist/src/sort-filter-bar/img/sort-toggle-up.js +17 -0
- package/dist/src/sort-filter-bar/img/sort-toggle-up.js.map +1 -0
- package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
- package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/tile.js +2 -2
- package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +189 -108
- package/dist/src/sort-filter-bar/sort-filter-bar.js +708 -614
- package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
- package/dist/src/styles/item-image-styles.d.ts +8 -8
- package/dist/src/styles/item-image-styles.js +9 -9
- package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
- package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
- package/dist/src/tiles/grid/account-tile.d.ts +20 -20
- package/dist/src/tiles/grid/account-tile.js +64 -64
- package/dist/src/tiles/grid/collection-tile.d.ts +17 -17
- package/dist/src/tiles/grid/collection-tile.js +71 -71
- package/dist/src/tiles/grid/item-tile.d.ts +32 -32
- package/dist/src/tiles/grid/item-tile.js +130 -126
- package/dist/src/tiles/grid/item-tile.js.map +1 -1
- package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
- package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +7 -7
- package/dist/src/tiles/grid/tile-stats.d.ts +11 -10
- package/dist/src/tiles/grid/tile-stats.js +44 -40
- package/dist/src/tiles/grid/tile-stats.js.map +1 -1
- package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
- package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
- package/dist/src/tiles/hover/tile-hover-pane.d.ts +15 -15
- package/dist/src/tiles/hover/tile-hover-pane.js +38 -38
- package/dist/src/tiles/image-block.d.ts +17 -17
- package/dist/src/tiles/image-block.js +72 -72
- package/dist/src/tiles/item-image.d.ts +35 -35
- package/dist/src/tiles/item-image.js +117 -117
- package/dist/src/tiles/list/account-label.d.ts +1 -1
- package/dist/src/tiles/list/account-label.js +6 -6
- package/dist/src/tiles/list/date-label.d.ts +1 -1
- package/dist/src/tiles/list/date-label.js +12 -12
- package/dist/src/tiles/list/tile-list-compact-header.d.ts +12 -12
- package/dist/src/tiles/list/tile-list-compact-header.js +41 -41
- package/dist/src/tiles/list/tile-list-compact.d.ts +22 -21
- package/dist/src/tiles/list/tile-list-compact.js +114 -101
- package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
- package/dist/src/tiles/list/tile-list.d.ts +55 -55
- package/dist/src/tiles/list/tile-list.js +304 -301
- package/dist/src/tiles/list/tile-list.js.map +1 -1
- package/dist/src/tiles/mediatype-icon.d.ts +9 -9
- package/dist/src/tiles/mediatype-icon.js +47 -47
- package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -10
- package/dist/src/tiles/overlay/icon-overlay.js +40 -40
- package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -9
- package/dist/src/tiles/overlay/icon-text-overlay.js +38 -38
- package/dist/src/tiles/overlay/text-overlay.d.ts +10 -10
- package/dist/src/tiles/overlay/text-overlay.js +42 -42
- package/dist/src/tiles/text-snippet-block.d.ts +27 -27
- package/dist/src/tiles/text-snippet-block.js +73 -73
- package/dist/src/tiles/tile-dispatcher.d.ts +58 -58
- package/dist/src/tiles/tile-dispatcher.js +194 -194
- package/dist/src/utils/analytics-events.d.ts +22 -22
- package/dist/src/utils/analytics-events.js +24 -24
- package/dist/src/utils/format-count.d.ts +7 -7
- package/dist/src/utils/format-count.js +76 -76
- package/dist/src/utils/format-date.d.ts +2 -2
- package/dist/src/utils/format-date.js +23 -23
- package/dist/src/utils/format-unit-size.d.ts +2 -2
- package/dist/src/utils/format-unit-size.js +33 -33
- package/dist/test/collection-browser.test.d.ts +1 -1
- package/dist/test/collection-browser.test.js +584 -584
- package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
- package/dist/test/collection-facets/facets-template.test.js +62 -62
- package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
- package/dist/test/collection-facets/more-facets-content.test.js +114 -114
- package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
- package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
- package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -0
- package/dist/test/collection-facets/toggle-switch.test.js +87 -0
- package/dist/test/collection-facets/toggle-switch.test.js.map +1 -0
- package/dist/test/collection-facets.test.d.ts +2 -2
- package/dist/test/collection-facets.test.js +460 -460
- package/dist/test/empty-placeholder.test.d.ts +1 -1
- package/dist/test/empty-placeholder.test.js +33 -33
- package/dist/test/icon-overlay.test.d.ts +1 -1
- package/dist/test/icon-overlay.test.js +24 -24
- package/dist/test/image-block.test.d.ts +1 -1
- package/dist/test/image-block.test.js +48 -48
- package/dist/test/item-image.test.d.ts +1 -1
- package/dist/test/item-image.test.js +84 -84
- package/dist/test/mediatype-config.test.d.ts +1 -1
- package/dist/test/mediatype-config.test.js +16 -16
- package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
- package/dist/test/mocks/mock-analytics-handler.js +15 -15
- package/dist/test/mocks/mock-collection-name-cache.d.ts +7 -7
- package/dist/test/mocks/mock-collection-name-cache.js +13 -13
- package/dist/test/mocks/mock-search-responses.d.ts +12 -12
- package/dist/test/mocks/mock-search-responses.js +341 -341
- package/dist/test/mocks/mock-search-service.d.ts +13 -13
- package/dist/test/mocks/mock-search-service.js +40 -40
- package/dist/test/restoration-state-handler.test.d.ts +1 -1
- package/dist/test/restoration-state-handler.test.js +125 -125
- package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
- package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
- package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
- package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
- package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
- package/dist/test/sort-filter-bar/sort-filter-bar.test.js +372 -199
- package/dist/test/sort-filter-bar/sort-filter-bar.test.js.map +1 -1
- package/dist/test/text-overlay.test.d.ts +1 -1
- package/dist/test/text-overlay.test.js +48 -48
- package/dist/test/text-snippet-block.test.d.ts +1 -1
- package/dist/test/text-snippet-block.test.js +57 -57
- package/dist/test/tile-stats.test.d.ts +1 -1
- package/dist/test/tile-stats.test.js +33 -33
- package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/account-tile.test.js +76 -76
- package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/collection-tile.test.js +73 -73
- package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/item-tile.test.js +158 -158
- package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
- package/dist/test/tiles/hover/hover-pane-controller.test.js +257 -257
- package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
- package/dist/test/tiles/hover/tile-hover-pane.test.js +13 -13
- package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
- package/dist/test/tiles/list/tile-list-compact.test.js +104 -92
- package/dist/test/tiles/list/tile-list-compact.test.js.map +1 -1
- package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
- package/dist/test/tiles/list/tile-list.test.js +175 -163
- package/dist/test/tiles/list/tile-list.test.js.map +1 -1
- package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
- package/dist/test/tiles/tile-dispatcher.test.js +67 -67
- package/dist/test/utils/format-count.test.d.ts +1 -1
- package/dist/test/utils/format-count.test.js +23 -23
- package/dist/test/utils/format-date.test.d.ts +1 -1
- package/dist/test/utils/format-date.test.js +17 -17
- package/dist/test/utils/format-unit-size.test.d.ts +1 -1
- package/dist/test/utils/format-unit-size.test.js +17 -17
- package/local.archive.org.cert +86 -86
- package/local.archive.org.key +27 -27
- package/package.json +4 -3
- package/renovate.json +6 -6
- package/src/collection-browser.ts +28 -1
- package/src/collection-facets/more-facets-content.ts +25 -48
- package/src/collection-facets/more-facets-pagination.ts +5 -3
- package/src/collection-facets/toggle-switch.ts +184 -0
- package/src/collection-facets.ts +1 -10
- package/src/empty-placeholder.ts +53 -7
- package/src/models.ts +23 -8
- package/src/sort-filter-bar/alpha-bar-tooltip.ts +1 -2
- package/src/sort-filter-bar/img/list.ts +1 -1
- package/src/sort-filter-bar/img/sort-toggle-disabled.ts +15 -0
- package/src/sort-filter-bar/img/sort-toggle-down.ts +17 -0
- package/src/sort-filter-bar/img/sort-toggle-up.ts +17 -0
- package/src/sort-filter-bar/sort-filter-bar.ts +433 -303
- package/src/tiles/grid/item-tile.ts +6 -1
- package/src/tiles/grid/tile-stats.ts +3 -1
- package/src/tiles/list/tile-list-compact.ts +15 -2
- package/src/tiles/list/tile-list.ts +3 -0
- package/test/collection-facets/toggle-switch.test.ts +154 -0
- package/test/sort-filter-bar/sort-filter-bar.test.ts +377 -101
- package/test/tiles/list/tile-list-compact.test.ts +14 -0
- package/test/tiles/list/tile-list.test.ts +14 -0
- package/tsconfig.json +21 -21
- package/web-dev-server.config.mjs +30 -30
- package/web-test-runner.config.mjs +41 -41
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function dateLabel(sortField: string | undefined): string;
|
|
1
|
+
export declare function dateLabel(sortField: string | undefined): string;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export function dateLabel(sortField) {
|
|
2
|
-
switch (sortField) {
|
|
3
|
-
case 'publicdate':
|
|
4
|
-
return 'Archived';
|
|
5
|
-
case 'reviewdate':
|
|
6
|
-
return 'Reviewed';
|
|
7
|
-
case 'addeddate':
|
|
8
|
-
return 'Added';
|
|
9
|
-
default:
|
|
10
|
-
return 'Published';
|
|
11
|
-
}
|
|
12
|
-
}
|
|
1
|
+
export function dateLabel(sortField) {
|
|
2
|
+
switch (sortField) {
|
|
3
|
+
case 'publicdate':
|
|
4
|
+
return 'Archived';
|
|
5
|
+
case 'reviewdate':
|
|
6
|
+
return 'Reviewed';
|
|
7
|
+
case 'addeddate':
|
|
8
|
+
return 'Added';
|
|
9
|
+
default:
|
|
10
|
+
return 'Published';
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
13
|
//# sourceMappingURL=date-label.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { LitElement } from 'lit';
|
|
2
|
-
import type { SortParam } from '@internetarchive/search-service';
|
|
3
|
-
import type { TileModel } from '../../models';
|
|
4
|
-
export declare class TileListCompactHeader extends LitElement {
|
|
5
|
-
model?: TileModel;
|
|
6
|
-
currentWidth?: number;
|
|
7
|
-
sortParam: SortParam | null;
|
|
8
|
-
mobileBreakpoint?: number;
|
|
9
|
-
render(): import("lit-html").TemplateResult<1>;
|
|
10
|
-
private get classSize();
|
|
11
|
-
static get styles(): import("lit").CSSResult;
|
|
12
|
-
}
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
import type { SortParam } from '@internetarchive/search-service';
|
|
3
|
+
import type { TileModel } from '../../models';
|
|
4
|
+
export declare class TileListCompactHeader extends LitElement {
|
|
5
|
+
model?: TileModel;
|
|
6
|
+
currentWidth?: number;
|
|
7
|
+
sortParam: SortParam | null;
|
|
8
|
+
mobileBreakpoint?: number;
|
|
9
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
10
|
+
private get classSize();
|
|
11
|
+
static get styles(): import("lit").CSSResult;
|
|
12
|
+
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { css, html, LitElement } from 'lit';
|
|
3
|
-
import { customElement, property } from 'lit/decorators.js';
|
|
4
|
-
import { dateLabel } from './date-label';
|
|
5
|
-
let TileListCompactHeader = class TileListCompactHeader extends LitElement {
|
|
6
|
-
constructor() {
|
|
7
|
-
super(...arguments);
|
|
8
|
-
this.sortParam = null;
|
|
9
|
-
}
|
|
10
|
-
render() {
|
|
11
|
-
var _a;
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { css, html, LitElement } from 'lit';
|
|
3
|
+
import { customElement, property } from 'lit/decorators.js';
|
|
4
|
+
import { dateLabel } from './date-label';
|
|
5
|
+
let TileListCompactHeader = class TileListCompactHeader extends LitElement {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
this.sortParam = null;
|
|
9
|
+
}
|
|
10
|
+
render() {
|
|
11
|
+
var _a;
|
|
12
12
|
return html `
|
|
13
13
|
<div id="list-line-header" class="${this.classSize}">
|
|
14
14
|
<div id="thumb"></div>
|
|
@@ -18,17 +18,17 @@ let TileListCompactHeader = class TileListCompactHeader extends LitElement {
|
|
|
18
18
|
<div id="icon">Type</div>
|
|
19
19
|
<div id="views">Views</div>
|
|
20
20
|
</div>
|
|
21
|
-
`;
|
|
22
|
-
}
|
|
23
|
-
get classSize() {
|
|
24
|
-
if (this.mobileBreakpoint &&
|
|
25
|
-
this.currentWidth &&
|
|
26
|
-
this.currentWidth < this.mobileBreakpoint) {
|
|
27
|
-
return 'mobile';
|
|
28
|
-
}
|
|
29
|
-
return 'desktop';
|
|
30
|
-
}
|
|
31
|
-
static get styles() {
|
|
21
|
+
`;
|
|
22
|
+
}
|
|
23
|
+
get classSize() {
|
|
24
|
+
if (this.mobileBreakpoint &&
|
|
25
|
+
this.currentWidth &&
|
|
26
|
+
this.currentWidth < this.mobileBreakpoint) {
|
|
27
|
+
return 'mobile';
|
|
28
|
+
}
|
|
29
|
+
return 'desktop';
|
|
30
|
+
}
|
|
31
|
+
static get styles() {
|
|
32
32
|
return css `
|
|
33
33
|
html {
|
|
34
34
|
font-size: unset;
|
|
@@ -63,23 +63,23 @@ let TileListCompactHeader = class TileListCompactHeader extends LitElement {
|
|
|
63
63
|
#list-line-header.desktop {
|
|
64
64
|
grid-template-columns: 51px 3fr 2fr 95px 30px 60px;
|
|
65
65
|
}
|
|
66
|
-
`;
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
__decorate([
|
|
70
|
-
property({ type: Object })
|
|
71
|
-
], TileListCompactHeader.prototype, "model", void 0);
|
|
72
|
-
__decorate([
|
|
73
|
-
property({ type: Number })
|
|
74
|
-
], TileListCompactHeader.prototype, "currentWidth", void 0);
|
|
75
|
-
__decorate([
|
|
76
|
-
property({ type: Object })
|
|
77
|
-
], TileListCompactHeader.prototype, "sortParam", void 0);
|
|
78
|
-
__decorate([
|
|
79
|
-
property({ type: Number })
|
|
80
|
-
], TileListCompactHeader.prototype, "mobileBreakpoint", void 0);
|
|
81
|
-
TileListCompactHeader = __decorate([
|
|
82
|
-
customElement('tile-list-compact-header')
|
|
83
|
-
], TileListCompactHeader);
|
|
84
|
-
export { TileListCompactHeader };
|
|
66
|
+
`;
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
__decorate([
|
|
70
|
+
property({ type: Object })
|
|
71
|
+
], TileListCompactHeader.prototype, "model", void 0);
|
|
72
|
+
__decorate([
|
|
73
|
+
property({ type: Number })
|
|
74
|
+
], TileListCompactHeader.prototype, "currentWidth", void 0);
|
|
75
|
+
__decorate([
|
|
76
|
+
property({ type: Object })
|
|
77
|
+
], TileListCompactHeader.prototype, "sortParam", void 0);
|
|
78
|
+
__decorate([
|
|
79
|
+
property({ type: Number })
|
|
80
|
+
], TileListCompactHeader.prototype, "mobileBreakpoint", void 0);
|
|
81
|
+
TileListCompactHeader = __decorate([
|
|
82
|
+
customElement('tile-list-compact-header')
|
|
83
|
+
], TileListCompactHeader);
|
|
84
|
+
export { TileListCompactHeader };
|
|
85
85
|
//# sourceMappingURL=tile-list-compact-header.js.map
|
|
@@ -1,21 +1,22 @@
|
|
|
1
|
-
import { LitElement } from 'lit';
|
|
2
|
-
import type { SortParam } from '@internetarchive/search-service';
|
|
3
|
-
import type { TileModel } from '../../models';
|
|
4
|
-
import '../image-block';
|
|
5
|
-
import '../mediatype-icon';
|
|
6
|
-
export declare class TileListCompact extends LitElement {
|
|
7
|
-
model?: TileModel;
|
|
8
|
-
baseNavigationUrl?: string;
|
|
9
|
-
currentWidth?: number;
|
|
10
|
-
currentHeight?: number;
|
|
11
|
-
sortParam: SortParam | null;
|
|
12
|
-
mobileBreakpoint?: number;
|
|
13
|
-
baseImageUrl?: string;
|
|
14
|
-
loggedIn: boolean;
|
|
15
|
-
render(): import("lit-html").TemplateResult<1>;
|
|
16
|
-
private get
|
|
17
|
-
private get
|
|
18
|
-
private get
|
|
19
|
-
private get
|
|
20
|
-
|
|
21
|
-
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
import type { SortParam } from '@internetarchive/search-service';
|
|
3
|
+
import type { TileModel } from '../../models';
|
|
4
|
+
import '../image-block';
|
|
5
|
+
import '../mediatype-icon';
|
|
6
|
+
export declare class TileListCompact extends LitElement {
|
|
7
|
+
model?: TileModel;
|
|
8
|
+
baseNavigationUrl?: string;
|
|
9
|
+
currentWidth?: number;
|
|
10
|
+
currentHeight?: number;
|
|
11
|
+
sortParam: SortParam | null;
|
|
12
|
+
mobileBreakpoint?: number;
|
|
13
|
+
baseImageUrl?: string;
|
|
14
|
+
loggedIn: boolean;
|
|
15
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
16
|
+
private get href();
|
|
17
|
+
private get date();
|
|
18
|
+
private get views();
|
|
19
|
+
private get classSize();
|
|
20
|
+
private get formatSize();
|
|
21
|
+
static get styles(): import("lit").CSSResult;
|
|
22
|
+
}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { css, html, LitElement } from 'lit';
|
|
3
|
-
import { customElement, property } from 'lit/decorators.js';
|
|
4
|
-
import DOMPurify from 'dompurify';
|
|
5
|
-
import { formatCount } from '../../utils/format-count';
|
|
6
|
-
import { formatDate } from '../../utils/format-date';
|
|
7
|
-
import { accountLabel } from './account-label';
|
|
8
|
-
import '../image-block';
|
|
9
|
-
import '../mediatype-icon';
|
|
10
|
-
let TileListCompact = class TileListCompact extends LitElement {
|
|
11
|
-
constructor() {
|
|
12
|
-
super(...arguments);
|
|
13
|
-
this.sortParam = null;
|
|
14
|
-
this.loggedIn = false;
|
|
15
|
-
}
|
|
16
|
-
render() {
|
|
17
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { css, html, LitElement } from 'lit';
|
|
3
|
+
import { customElement, property } from 'lit/decorators.js';
|
|
4
|
+
import DOMPurify from 'dompurify';
|
|
5
|
+
import { formatCount } from '../../utils/format-count';
|
|
6
|
+
import { formatDate } from '../../utils/format-date';
|
|
7
|
+
import { accountLabel } from './account-label';
|
|
8
|
+
import '../image-block';
|
|
9
|
+
import '../mediatype-icon';
|
|
10
|
+
let TileListCompact = class TileListCompact extends LitElement {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
this.sortParam = null;
|
|
14
|
+
this.loggedIn = false;
|
|
15
|
+
}
|
|
16
|
+
render() {
|
|
17
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
18
18
|
return html `
|
|
19
19
|
<div id="list-line" class="${this.classSize}">
|
|
20
20
|
<image-block
|
|
@@ -26,10 +26,12 @@ let TileListCompact = class TileListCompact extends LitElement {
|
|
|
26
26
|
.loggedIn=${this.loggedIn}
|
|
27
27
|
>
|
|
28
28
|
</image-block>
|
|
29
|
-
<
|
|
29
|
+
<a href=${this.href} id="title"
|
|
30
|
+
>${DOMPurify.sanitize((_b = (_a = this.model) === null || _a === void 0 ? void 0 : _a.title) !== null && _b !== void 0 ? _b : '')}</a
|
|
31
|
+
>
|
|
30
32
|
<div id="creator">
|
|
31
|
-
${((_c = this.model) === null || _c === void 0 ? void 0 : _c.mediatype) === 'account'
|
|
32
|
-
? accountLabel((_d = this.model) === null || _d === void 0 ? void 0 : _d.dateAdded)
|
|
33
|
+
${((_c = this.model) === null || _c === void 0 ? void 0 : _c.mediatype) === 'account'
|
|
34
|
+
? accountLabel((_d = this.model) === null || _d === void 0 ? void 0 : _d.dateAdded)
|
|
33
35
|
: DOMPurify.sanitize((_f = (_e = this.model) === null || _e === void 0 ? void 0 : _e.creator) !== null && _f !== void 0 ? _f : '')}
|
|
34
36
|
</div>
|
|
35
37
|
<div id="date">${formatDate(this.date, this.formatSize)}</div>
|
|
@@ -42,55 +44,63 @@ let TileListCompact = class TileListCompact extends LitElement {
|
|
|
42
44
|
</div>
|
|
43
45
|
<div id="views">${formatCount((_j = this.views) !== null && _j !== void 0 ? _j : 0, this.formatSize)}</div>
|
|
44
46
|
</div>
|
|
45
|
-
`;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
:
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
}
|
|
85
|
-
get
|
|
86
|
-
if (this.mobileBreakpoint &&
|
|
87
|
-
this.currentWidth &&
|
|
88
|
-
this.currentWidth < this.mobileBreakpoint) {
|
|
89
|
-
return '
|
|
90
|
-
}
|
|
91
|
-
return '
|
|
92
|
-
}
|
|
93
|
-
|
|
47
|
+
`;
|
|
48
|
+
}
|
|
49
|
+
get href() {
|
|
50
|
+
var _a, _b;
|
|
51
|
+
// Use the server-specified href if available.
|
|
52
|
+
// Otherwise, construct a details page URL from the item identifier.
|
|
53
|
+
return ((_a = this.model) === null || _a === void 0 ? void 0 : _a.href)
|
|
54
|
+
? `${this.baseNavigationUrl}${this.model.href}`
|
|
55
|
+
: `${this.baseNavigationUrl}/details/${(_b = this.model) === null || _b === void 0 ? void 0 : _b.identifier}`;
|
|
56
|
+
}
|
|
57
|
+
/*
|
|
58
|
+
* TODO: fix field names to match model in src/collection-browser.ts
|
|
59
|
+
* private get dateSortSelector()
|
|
60
|
+
* @see src/models.ts
|
|
61
|
+
*/
|
|
62
|
+
get date() {
|
|
63
|
+
var _a, _b, _c, _d, _e;
|
|
64
|
+
// Note on 'publicdate' vs. 'date':
|
|
65
|
+
// The search engine metadata uses 'publicdate' as the key for the date the item
|
|
66
|
+
// was created on archive.org, which in the UI is referred to as "Date Archived".
|
|
67
|
+
// In contrast, the search engine metadata uses 'date' to refer to the actual
|
|
68
|
+
// publication date of the underlying media ("Date Published" in the UI).
|
|
69
|
+
// Refer to the full metadata schema for more info.
|
|
70
|
+
switch ((_a = this.sortParam) === null || _a === void 0 ? void 0 : _a.field) {
|
|
71
|
+
case 'publicdate':
|
|
72
|
+
return (_b = this.model) === null || _b === void 0 ? void 0 : _b.dateArchived;
|
|
73
|
+
case 'reviewdate':
|
|
74
|
+
return (_c = this.model) === null || _c === void 0 ? void 0 : _c.dateReviewed;
|
|
75
|
+
case 'addeddate':
|
|
76
|
+
return (_d = this.model) === null || _d === void 0 ? void 0 : _d.dateAdded;
|
|
77
|
+
default:
|
|
78
|
+
return (_e = this.model) === null || _e === void 0 ? void 0 : _e.datePublished;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
get views() {
|
|
82
|
+
var _a, _b, _c;
|
|
83
|
+
return ((_a = this.sortParam) === null || _a === void 0 ? void 0 : _a.field) === 'week'
|
|
84
|
+
? (_b = this.model) === null || _b === void 0 ? void 0 : _b.weeklyViewCount // weekly views
|
|
85
|
+
: (_c = this.model) === null || _c === void 0 ? void 0 : _c.viewCount; // all-time views
|
|
86
|
+
}
|
|
87
|
+
get classSize() {
|
|
88
|
+
if (this.mobileBreakpoint &&
|
|
89
|
+
this.currentWidth &&
|
|
90
|
+
this.currentWidth < this.mobileBreakpoint) {
|
|
91
|
+
return 'mobile';
|
|
92
|
+
}
|
|
93
|
+
return 'desktop';
|
|
94
|
+
}
|
|
95
|
+
get formatSize() {
|
|
96
|
+
if (this.mobileBreakpoint &&
|
|
97
|
+
this.currentWidth &&
|
|
98
|
+
this.currentWidth < this.mobileBreakpoint) {
|
|
99
|
+
return 'short';
|
|
100
|
+
}
|
|
101
|
+
return 'long';
|
|
102
|
+
}
|
|
103
|
+
static get styles() {
|
|
94
104
|
return css `
|
|
95
105
|
html {
|
|
96
106
|
font-size: unset;
|
|
@@ -123,10 +133,13 @@ let TileListCompact = class TileListCompact extends LitElement {
|
|
|
123
133
|
}
|
|
124
134
|
|
|
125
135
|
#title {
|
|
126
|
-
color: #4b64ff;
|
|
127
136
|
text-decoration: none;
|
|
128
137
|
}
|
|
129
138
|
|
|
139
|
+
#title:link {
|
|
140
|
+
color: var(--ia-theme-link-color, #4b64ff);
|
|
141
|
+
}
|
|
142
|
+
|
|
130
143
|
#title,
|
|
131
144
|
#creator {
|
|
132
145
|
text-overflow: ellipsis;
|
|
@@ -161,35 +174,35 @@ let TileListCompact = class TileListCompact extends LitElement {
|
|
|
161
174
|
--imgHeight: 100%;
|
|
162
175
|
--imgWidth: 100%;
|
|
163
176
|
}
|
|
164
|
-
`;
|
|
165
|
-
}
|
|
166
|
-
};
|
|
167
|
-
__decorate([
|
|
168
|
-
property({ type: Object })
|
|
169
|
-
], TileListCompact.prototype, "model", void 0);
|
|
170
|
-
__decorate([
|
|
171
|
-
property({ type: String })
|
|
172
|
-
], TileListCompact.prototype, "baseNavigationUrl", void 0);
|
|
173
|
-
__decorate([
|
|
174
|
-
property({ type: Number })
|
|
175
|
-
], TileListCompact.prototype, "currentWidth", void 0);
|
|
176
|
-
__decorate([
|
|
177
|
-
property({ type: Number })
|
|
178
|
-
], TileListCompact.prototype, "currentHeight", void 0);
|
|
179
|
-
__decorate([
|
|
180
|
-
property({ type: Object })
|
|
181
|
-
], TileListCompact.prototype, "sortParam", void 0);
|
|
182
|
-
__decorate([
|
|
183
|
-
property({ type: Number })
|
|
184
|
-
], TileListCompact.prototype, "mobileBreakpoint", void 0);
|
|
185
|
-
__decorate([
|
|
186
|
-
property({ type: String })
|
|
187
|
-
], TileListCompact.prototype, "baseImageUrl", void 0);
|
|
188
|
-
__decorate([
|
|
189
|
-
property({ type: Boolean })
|
|
190
|
-
], TileListCompact.prototype, "loggedIn", void 0);
|
|
191
|
-
TileListCompact = __decorate([
|
|
192
|
-
customElement('tile-list-compact')
|
|
193
|
-
], TileListCompact);
|
|
194
|
-
export { TileListCompact };
|
|
177
|
+
`;
|
|
178
|
+
}
|
|
179
|
+
};
|
|
180
|
+
__decorate([
|
|
181
|
+
property({ type: Object })
|
|
182
|
+
], TileListCompact.prototype, "model", void 0);
|
|
183
|
+
__decorate([
|
|
184
|
+
property({ type: String })
|
|
185
|
+
], TileListCompact.prototype, "baseNavigationUrl", void 0);
|
|
186
|
+
__decorate([
|
|
187
|
+
property({ type: Number })
|
|
188
|
+
], TileListCompact.prototype, "currentWidth", void 0);
|
|
189
|
+
__decorate([
|
|
190
|
+
property({ type: Number })
|
|
191
|
+
], TileListCompact.prototype, "currentHeight", void 0);
|
|
192
|
+
__decorate([
|
|
193
|
+
property({ type: Object })
|
|
194
|
+
], TileListCompact.prototype, "sortParam", void 0);
|
|
195
|
+
__decorate([
|
|
196
|
+
property({ type: Number })
|
|
197
|
+
], TileListCompact.prototype, "mobileBreakpoint", void 0);
|
|
198
|
+
__decorate([
|
|
199
|
+
property({ type: String })
|
|
200
|
+
], TileListCompact.prototype, "baseImageUrl", void 0);
|
|
201
|
+
__decorate([
|
|
202
|
+
property({ type: Boolean })
|
|
203
|
+
], TileListCompact.prototype, "loggedIn", void 0);
|
|
204
|
+
TileListCompact = __decorate([
|
|
205
|
+
customElement('tile-list-compact')
|
|
206
|
+
], TileListCompact);
|
|
207
|
+
export { TileListCompact };
|
|
195
208
|
//# sourceMappingURL=tile-list-compact.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tile-list-compact.js","sourceRoot":"","sources":["../../../../src/tiles/list/tile-list-compact.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,SAAS,MAAM,WAAW,CAAC;AAIlC,OAAO,EAAE,WAAW,EAAgB,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,UAAU,EAAc,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,gBAAgB,CAAC;AACxB,OAAO,mBAAmB,CAAC;AAG3B,IAAa,eAAe,GAA5B,MAAa,eAAgB,SAAQ,UAAU;IAA/C;;QAS8B,cAAS,GAAqB,IAAI,CAAC;QAMlC,aAAQ,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"tile-list-compact.js","sourceRoot":"","sources":["../../../../src/tiles/list/tile-list-compact.ts"],"names":[],"mappings":"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","sourcesContent":["import { css, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport DOMPurify from 'dompurify';\nimport type { SortParam } from '@internetarchive/search-service';\nimport type { TileModel } from '../../models';\n\nimport { formatCount, NumberFormat } from '../../utils/format-count';\nimport { formatDate, DateFormat } from '../../utils/format-date';\nimport { accountLabel } from './account-label';\n\nimport '../image-block';\nimport '../mediatype-icon';\n\n@customElement('tile-list-compact')\nexport class TileListCompact extends LitElement {\n @property({ type: Object }) model?: TileModel;\n\n @property({ type: String }) baseNavigationUrl?: string;\n\n @property({ type: Number }) currentWidth?: number;\n\n @property({ type: Number }) currentHeight?: number;\n\n @property({ type: Object }) sortParam: SortParam | null = null;\n\n @property({ type: Number }) mobileBreakpoint?: number;\n\n @property({ type: String }) baseImageUrl?: string;\n\n @property({ type: Boolean }) loggedIn = false;\n\n render() {\n return html`\n <div id=\"list-line\" class=\"${this.classSize}\">\n <image-block\n .model=${this.model}\n .baseImageUrl=${this.baseImageUrl}\n .isCompactTile=${true}\n .isListTile=${true}\n .viewSize=${this.classSize}\n .loggedIn=${this.loggedIn}\n >\n </image-block>\n <a href=${this.href} id=\"title\"\n >${DOMPurify.sanitize(this.model?.title ?? '')}</a\n >\n <div id=\"creator\">\n ${this.model?.mediatype === 'account'\n ? accountLabel(this.model?.dateAdded)\n : DOMPurify.sanitize(this.model?.creator ?? '')}\n </div>\n <div id=\"date\">${formatDate(this.date, this.formatSize)}</div>\n <div id=\"icon\">\n <mediatype-icon\n .mediatype=${this.model?.mediatype}\n .collections=${this.model?.collections}\n >\n </mediatype-icon>\n </div>\n <div id=\"views\">${formatCount(this.views ?? 0, this.formatSize)}</div>\n </div>\n `;\n }\n\n private get href(): string {\n // Use the server-specified href if available.\n // Otherwise, construct a details page URL from the item identifier.\n return this.model?.href\n ? `${this.baseNavigationUrl}${this.model.href}`\n : `${this.baseNavigationUrl}/details/${this.model?.identifier}`;\n }\n\n /*\n * TODO: fix field names to match model in src/collection-browser.ts\n * private get dateSortSelector()\n * @see src/models.ts\n */\n private get date(): Date | undefined {\n // Note on 'publicdate' vs. 'date':\n // The search engine metadata uses 'publicdate' as the key for the date the item\n // was created on archive.org, which in the UI is referred to as \"Date Archived\".\n // In contrast, the search engine metadata uses 'date' to refer to the actual\n // publication date of the underlying media (\"Date Published\" in the UI).\n // Refer to the full metadata schema for more info.\n switch (this.sortParam?.field) {\n case 'publicdate':\n return this.model?.dateArchived;\n case 'reviewdate':\n return this.model?.dateReviewed;\n case 'addeddate':\n return this.model?.dateAdded;\n default:\n return this.model?.datePublished;\n }\n }\n\n private get views(): number | undefined {\n return this.sortParam?.field === 'week'\n ? this.model?.weeklyViewCount // weekly views\n : this.model?.viewCount; // all-time views\n }\n\n private get classSize(): string {\n if (\n this.mobileBreakpoint &&\n this.currentWidth &&\n this.currentWidth < this.mobileBreakpoint\n ) {\n return 'mobile';\n }\n return 'desktop';\n }\n\n private get formatSize(): DateFormat | NumberFormat {\n if (\n this.mobileBreakpoint &&\n this.currentWidth &&\n this.currentWidth < this.mobileBreakpoint\n ) {\n return 'short';\n }\n return 'long';\n }\n\n static get styles() {\n return css`\n html {\n font-size: unset;\n }\n\n div {\n font-size: 14px;\n }\n\n #list-line {\n display: grid;\n column-gap: 10px;\n border-top: 1px solid #ddd;\n align-items: center;\n line-height: 20px;\n padding-top: 5px;\n padding-bottom: 5px;\n }\n\n #list-line.mobile {\n grid-template-columns: 36px 3fr 2fr 68px 35px;\n }\n\n #list-line.desktop {\n grid-template-columns: 51px 3fr 2fr 95px 30px 60px;\n }\n\n #list-line:hover #title {\n text-decoration: underline;\n }\n\n #title {\n text-decoration: none;\n }\n\n #title:link {\n color: var(--ia-theme-link-color, #4b64ff);\n }\n\n #title,\n #creator {\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n }\n\n #icon {\n margin-left: 2px;\n }\n\n #views {\n text-align: right;\n padding-right: 8px;\n }\n\n .mobile #views {\n display: none;\n }\n\n .mobile mediatype-icon {\n --iconHeight: 14px;\n --iconWidth: 14px;\n }\n\n .desktop #icon {\n --iconHeight: 20px;\n --iconWidth: 20px;\n }\n\n item-image {\n --imgHeight: 100%;\n --imgWidth: 100%;\n }\n `;\n }\n}\n"]}
|
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
import { LitElement, PropertyValues, TemplateResult } from 'lit';
|
|
2
|
-
import type { CollectionNameCacheInterface } from '@internetarchive/collection-name-cache';
|
|
3
|
-
import type { SortParam } from '@internetarchive/search-service';
|
|
4
|
-
import { TileModel } from '../../models';
|
|
5
|
-
import '../image-block';
|
|
6
|
-
import '../mediatype-icon';
|
|
7
|
-
export declare class TileList extends LitElement {
|
|
8
|
-
model?: TileModel;
|
|
9
|
-
baseNavigationUrl?: string;
|
|
10
|
-
collectionNameCache?: CollectionNameCacheInterface;
|
|
11
|
-
currentWidth?: number;
|
|
12
|
-
currentHeight?: number;
|
|
13
|
-
sortParam: SortParam | null;
|
|
14
|
-
mobileBreakpoint?: number;
|
|
15
|
-
private collectionLinks;
|
|
16
|
-
baseImageUrl?: string;
|
|
17
|
-
loggedIn: boolean;
|
|
18
|
-
render(): TemplateResult<1>;
|
|
19
|
-
/**
|
|
20
|
-
* Templates
|
|
21
|
-
*/
|
|
22
|
-
private get mobileTemplate();
|
|
23
|
-
private get desktopTemplate();
|
|
24
|
-
private get imageBlockTemplate();
|
|
25
|
-
private get detailsTemplate();
|
|
26
|
-
private get iconRightTemplate();
|
|
27
|
-
private get titleTemplate();
|
|
28
|
-
private get itemLineTemplate();
|
|
29
|
-
private get sourceTemplate();
|
|
30
|
-
private get volumeTemplate();
|
|
31
|
-
private get issueTemplate();
|
|
32
|
-
private get creatorTemplate();
|
|
33
|
-
private get datePublishedTemplate();
|
|
34
|
-
private get dateSortByTemplate();
|
|
35
|
-
private get viewsTemplate();
|
|
36
|
-
private get ratingTemplate();
|
|
37
|
-
private get reviewsTemplate();
|
|
38
|
-
private get topicsTemplate();
|
|
39
|
-
private get collectionsTemplate();
|
|
40
|
-
private get descriptionTemplate();
|
|
41
|
-
private get textSnippetsTemplate();
|
|
42
|
-
private get hasSnippets();
|
|
43
|
-
private metadataTemplate;
|
|
44
|
-
private labelTemplate;
|
|
45
|
-
private searchLink;
|
|
46
|
-
private detailsLink;
|
|
47
|
-
/** The URL of this item's mediatype collection, if defined. */
|
|
48
|
-
private get mediatypeURL();
|
|
49
|
-
protected updated(changed: PropertyValues): void;
|
|
50
|
-
private fetchCollectionNames;
|
|
51
|
-
private get date();
|
|
52
|
-
private get classSize();
|
|
53
|
-
private get formatSize();
|
|
54
|
-
static get styles(): import("lit").CSSResult;
|
|
55
|
-
}
|
|
1
|
+
import { LitElement, PropertyValues, TemplateResult } from 'lit';
|
|
2
|
+
import type { CollectionNameCacheInterface } from '@internetarchive/collection-name-cache';
|
|
3
|
+
import type { SortParam } from '@internetarchive/search-service';
|
|
4
|
+
import { TileModel } from '../../models';
|
|
5
|
+
import '../image-block';
|
|
6
|
+
import '../mediatype-icon';
|
|
7
|
+
export declare class TileList extends LitElement {
|
|
8
|
+
model?: TileModel;
|
|
9
|
+
baseNavigationUrl?: string;
|
|
10
|
+
collectionNameCache?: CollectionNameCacheInterface;
|
|
11
|
+
currentWidth?: number;
|
|
12
|
+
currentHeight?: number;
|
|
13
|
+
sortParam: SortParam | null;
|
|
14
|
+
mobileBreakpoint?: number;
|
|
15
|
+
private collectionLinks;
|
|
16
|
+
baseImageUrl?: string;
|
|
17
|
+
loggedIn: boolean;
|
|
18
|
+
render(): TemplateResult<1>;
|
|
19
|
+
/**
|
|
20
|
+
* Templates
|
|
21
|
+
*/
|
|
22
|
+
private get mobileTemplate();
|
|
23
|
+
private get desktopTemplate();
|
|
24
|
+
private get imageBlockTemplate();
|
|
25
|
+
private get detailsTemplate();
|
|
26
|
+
private get iconRightTemplate();
|
|
27
|
+
private get titleTemplate();
|
|
28
|
+
private get itemLineTemplate();
|
|
29
|
+
private get sourceTemplate();
|
|
30
|
+
private get volumeTemplate();
|
|
31
|
+
private get issueTemplate();
|
|
32
|
+
private get creatorTemplate();
|
|
33
|
+
private get datePublishedTemplate();
|
|
34
|
+
private get dateSortByTemplate();
|
|
35
|
+
private get viewsTemplate();
|
|
36
|
+
private get ratingTemplate();
|
|
37
|
+
private get reviewsTemplate();
|
|
38
|
+
private get topicsTemplate();
|
|
39
|
+
private get collectionsTemplate();
|
|
40
|
+
private get descriptionTemplate();
|
|
41
|
+
private get textSnippetsTemplate();
|
|
42
|
+
private get hasSnippets();
|
|
43
|
+
private metadataTemplate;
|
|
44
|
+
private labelTemplate;
|
|
45
|
+
private searchLink;
|
|
46
|
+
private detailsLink;
|
|
47
|
+
/** The URL of this item's mediatype collection, if defined. */
|
|
48
|
+
private get mediatypeURL();
|
|
49
|
+
protected updated(changed: PropertyValues): void;
|
|
50
|
+
private fetchCollectionNames;
|
|
51
|
+
private get date();
|
|
52
|
+
private get classSize();
|
|
53
|
+
private get formatSize();
|
|
54
|
+
static get styles(): import("lit").CSSResult;
|
|
55
|
+
}
|