@internetarchive/collection-browser 0.4.2 → 0.4.3-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 +48 -48
- package/dist/src/app-root.js +258 -258
- 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 +315 -315
- package/dist/src/collection-browser.js +1279 -1270
- 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 +77 -77
- package/dist/src/collection-facets/more-facets-content.js +357 -357
- package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
- package/dist/src/collection-facets/more-facets-pagination.js +192 -192
- package/dist/src/collection-facets.d.ts +78 -78
- package/dist/src/collection-facets.js +391 -391
- package/dist/src/empty-placeholder.d.ts +11 -11
- package/dist/src/empty-placeholder.js +42 -42
- 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 +112 -112
- package/dist/src/models.js +125 -125
- package/dist/src/restoration-state-handler.d.ts +46 -45
- package/dist/src/restoration-state-handler.js +269 -230
- package/dist/src/restoration-state-handler.js.map +1 -1
- package/dist/src/sort-filter-bar/alpha-bar.d.ts +12 -12
- package/dist/src/sort-filter-bar/alpha-bar.js +52 -52
- package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/compact.js +2 -2
- package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/list.js +2 -2
- package/dist/src/sort-filter-bar/img/sort-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 +108 -108
- package/dist/src/sort-filter-bar/sort-filter-bar.js +428 -428
- 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 +8 -8
- package/dist/src/tiles/grid/account-tile.js +20 -20
- package/dist/src/tiles/grid/collection-tile.d.ts +7 -7
- package/dist/src/tiles/grid/collection-tile.js +23 -23
- package/dist/src/tiles/grid/item-tile.d.ts +24 -24
- package/dist/src/tiles/grid/item-tile.js +87 -87
- package/dist/src/tiles/grid/tile-stats.d.ts +10 -10
- package/dist/src/tiles/grid/tile-stats.js +40 -40
- package/dist/src/tiles/image-block.d.ts +17 -17
- package/dist/src/tiles/image-block.js +69 -69
- package/dist/src/tiles/item-image.d.ts +31 -31
- package/dist/src/tiles/item-image.js +106 -106
- 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 +21 -21
- package/dist/src/tiles/list/tile-list-compact.js +93 -93
- package/dist/src/tiles/list/tile-list.d.ts +50 -50
- package/dist/src/tiles/list/tile-list.js +276 -276
- 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 +29 -29
- package/dist/src/tiles/text-snippet-block.js +81 -81
- package/dist/src/tiles/tile-dispatcher.d.ts +36 -36
- package/dist/src/tiles/tile-dispatcher.js +128 -128
- 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/test/collection-browser.test.d.ts +1 -1
- package/dist/test/collection-browser.test.js +646 -646
- 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.test.d.ts +2 -2
- package/dist/test/collection-facets.test.js +544 -544
- 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 +80 -80
- 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.test.d.ts +1 -1
- package/dist/test/sort-filter-bar/alpha-bar.test.js +43 -43
- 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 +141 -141
- 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/item-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/item-tile.test.js +107 -107
- package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
- package/dist/test/tiles/list/tile-list-compact.test.js +92 -92
- package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
- package/dist/test/tiles/list/tile-list.test.js +123 -123
- 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/index.html +24 -24
- package/local.archive.org.cert +86 -86
- package/local.archive.org.key +27 -27
- package/package.json +1 -1
- package/renovate.json +6 -6
- package/src/collection-browser.ts +18 -1
- package/src/restoration-state-handler.ts +59 -12
- package/tsconfig.json +21 -21
- package/web-dev-server.config.mjs +30 -30
- package/web-test-runner.config.mjs +41 -41
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { CSSResultGroup, LitElement, nothing } from 'lit';
|
|
2
|
-
import type { TileModel } from '../models';
|
|
3
|
-
import './overlay/icon-overlay';
|
|
4
|
-
import './overlay/text-overlay';
|
|
5
|
-
export declare class ImageBlock extends LitElement {
|
|
6
|
-
baseImageUrl?: string;
|
|
7
|
-
isCompactTile: boolean;
|
|
8
|
-
isListTile: boolean;
|
|
9
|
-
loggedIn: boolean;
|
|
10
|
-
model?: TileModel;
|
|
11
|
-
viewSize: string;
|
|
12
|
-
render(): import("lit-html").TemplateResult<1> | typeof nothing;
|
|
13
|
-
private get baseClass();
|
|
14
|
-
private get iconOverlayTemplate();
|
|
15
|
-
private get textOverlayTemplate();
|
|
16
|
-
static get styles(): CSSResultGroup;
|
|
17
|
-
}
|
|
1
|
+
import { CSSResultGroup, LitElement, nothing } from 'lit';
|
|
2
|
+
import type { TileModel } from '../models';
|
|
3
|
+
import './overlay/icon-overlay';
|
|
4
|
+
import './overlay/text-overlay';
|
|
5
|
+
export declare class ImageBlock extends LitElement {
|
|
6
|
+
baseImageUrl?: string;
|
|
7
|
+
isCompactTile: boolean;
|
|
8
|
+
isListTile: boolean;
|
|
9
|
+
loggedIn: boolean;
|
|
10
|
+
model?: TileModel;
|
|
11
|
+
viewSize: string;
|
|
12
|
+
render(): import("lit-html").TemplateResult<1> | typeof nothing;
|
|
13
|
+
private get baseClass();
|
|
14
|
+
private get iconOverlayTemplate();
|
|
15
|
+
private get textOverlayTemplate();
|
|
16
|
+
static get styles(): CSSResultGroup;
|
|
17
|
+
}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { css, html, LitElement, nothing } from 'lit';
|
|
3
|
-
import { customElement, property } from 'lit/decorators.js';
|
|
4
|
-
import { classMap } from 'lit/directives/class-map.js';
|
|
5
|
-
import './overlay/icon-overlay';
|
|
6
|
-
import './overlay/text-overlay';
|
|
7
|
-
let ImageBlock = class ImageBlock extends LitElement {
|
|
8
|
-
constructor() {
|
|
9
|
-
super(...arguments);
|
|
10
|
-
this.isCompactTile = false;
|
|
11
|
-
this.isListTile = false;
|
|
12
|
-
this.loggedIn = false;
|
|
13
|
-
this.viewSize = 'desktop';
|
|
14
|
-
}
|
|
15
|
-
render() {
|
|
16
|
-
var _a;
|
|
17
|
-
if (!((_a = this.model) === null || _a === void 0 ? void 0 : _a.identifier))
|
|
18
|
-
return nothing;
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { css, html, LitElement, nothing } from 'lit';
|
|
3
|
+
import { customElement, property } from 'lit/decorators.js';
|
|
4
|
+
import { classMap } from 'lit/directives/class-map.js';
|
|
5
|
+
import './overlay/icon-overlay';
|
|
6
|
+
import './overlay/text-overlay';
|
|
7
|
+
let ImageBlock = class ImageBlock extends LitElement {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this.isCompactTile = false;
|
|
11
|
+
this.isListTile = false;
|
|
12
|
+
this.loggedIn = false;
|
|
13
|
+
this.viewSize = 'desktop';
|
|
14
|
+
}
|
|
15
|
+
render() {
|
|
16
|
+
var _a;
|
|
17
|
+
if (!((_a = this.model) === null || _a === void 0 ? void 0 : _a.identifier))
|
|
18
|
+
return nothing;
|
|
19
19
|
return html `
|
|
20
20
|
<div class=${classMap(this.baseClass)}>
|
|
21
21
|
<item-image
|
|
@@ -29,21 +29,21 @@ let ImageBlock = class ImageBlock extends LitElement {
|
|
|
29
29
|
</item-image>
|
|
30
30
|
${this.textOverlayTemplate} ${this.iconOverlayTemplate}
|
|
31
31
|
</div>
|
|
32
|
-
`;
|
|
33
|
-
}
|
|
34
|
-
get baseClass() {
|
|
35
|
-
return {
|
|
36
|
-
list: this.isListTile && !this.isCompactTile,
|
|
37
|
-
'list-compact': this.isListTile && this.isCompactTile,
|
|
38
|
-
[this.viewSize]: true,
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
get iconOverlayTemplate() {
|
|
42
|
-
var _a, _b, _c;
|
|
43
|
-
if (!this.isListTile)
|
|
44
|
-
return nothing;
|
|
45
|
-
if (!((_a = this.model) === null || _a === void 0 ? void 0 : _a.loginRequired) && !((_b = this.model) === null || _b === void 0 ? void 0 : _b.contentWarning))
|
|
46
|
-
return nothing;
|
|
32
|
+
`;
|
|
33
|
+
}
|
|
34
|
+
get baseClass() {
|
|
35
|
+
return {
|
|
36
|
+
list: this.isListTile && !this.isCompactTile,
|
|
37
|
+
'list-compact': this.isListTile && this.isCompactTile,
|
|
38
|
+
[this.viewSize]: true,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
get iconOverlayTemplate() {
|
|
42
|
+
var _a, _b, _c;
|
|
43
|
+
if (!this.isListTile)
|
|
44
|
+
return nothing;
|
|
45
|
+
if (!((_a = this.model) === null || _a === void 0 ? void 0 : _a.loginRequired) && !((_b = this.model) === null || _b === void 0 ? void 0 : _b.contentWarning))
|
|
46
|
+
return nothing;
|
|
47
47
|
return html `
|
|
48
48
|
<icon-overlay
|
|
49
49
|
.loggedIn=${this.loggedIn}
|
|
@@ -51,14 +51,14 @@ let ImageBlock = class ImageBlock extends LitElement {
|
|
|
51
51
|
.isCompactTile=${this.isCompactTile}
|
|
52
52
|
>
|
|
53
53
|
</icon-overlay>
|
|
54
|
-
`;
|
|
55
|
-
}
|
|
56
|
-
get textOverlayTemplate() {
|
|
57
|
-
var _a, _b, _c;
|
|
58
|
-
if (this.isListTile)
|
|
59
|
-
return nothing;
|
|
60
|
-
if (!((_a = this.model) === null || _a === void 0 ? void 0 : _a.loginRequired) && !((_b = this.model) === null || _b === void 0 ? void 0 : _b.contentWarning))
|
|
61
|
-
return nothing;
|
|
54
|
+
`;
|
|
55
|
+
}
|
|
56
|
+
get textOverlayTemplate() {
|
|
57
|
+
var _a, _b, _c;
|
|
58
|
+
if (this.isListTile)
|
|
59
|
+
return nothing;
|
|
60
|
+
if (!((_a = this.model) === null || _a === void 0 ? void 0 : _a.loginRequired) && !((_b = this.model) === null || _b === void 0 ? void 0 : _b.contentWarning))
|
|
61
|
+
return nothing;
|
|
62
62
|
return html `
|
|
63
63
|
<text-overlay
|
|
64
64
|
.loggedIn=${this.loggedIn}
|
|
@@ -66,9 +66,9 @@ let ImageBlock = class ImageBlock extends LitElement {
|
|
|
66
66
|
?iconRequired=${true}
|
|
67
67
|
>
|
|
68
68
|
</text-overlay>
|
|
69
|
-
`;
|
|
70
|
-
}
|
|
71
|
-
static get styles() {
|
|
69
|
+
`;
|
|
70
|
+
}
|
|
71
|
+
static get styles() {
|
|
72
72
|
return css `
|
|
73
73
|
div {
|
|
74
74
|
display: flex;
|
|
@@ -111,29 +111,29 @@ let ImageBlock = class ImageBlock extends LitElement {
|
|
|
111
111
|
width: 30px;
|
|
112
112
|
height: 30px;
|
|
113
113
|
}
|
|
114
|
-
`;
|
|
115
|
-
}
|
|
116
|
-
};
|
|
117
|
-
__decorate([
|
|
118
|
-
property({ type: String })
|
|
119
|
-
], ImageBlock.prototype, "baseImageUrl", void 0);
|
|
120
|
-
__decorate([
|
|
121
|
-
property({ type: Boolean })
|
|
122
|
-
], ImageBlock.prototype, "isCompactTile", void 0);
|
|
123
|
-
__decorate([
|
|
124
|
-
property({ type: Boolean })
|
|
125
|
-
], ImageBlock.prototype, "isListTile", void 0);
|
|
126
|
-
__decorate([
|
|
127
|
-
property({ type: Boolean })
|
|
128
|
-
], ImageBlock.prototype, "loggedIn", void 0);
|
|
129
|
-
__decorate([
|
|
130
|
-
property({ type: Object })
|
|
131
|
-
], ImageBlock.prototype, "model", void 0);
|
|
132
|
-
__decorate([
|
|
133
|
-
property({ type: String })
|
|
134
|
-
], ImageBlock.prototype, "viewSize", void 0);
|
|
135
|
-
ImageBlock = __decorate([
|
|
136
|
-
customElement('image-block')
|
|
137
|
-
], ImageBlock);
|
|
138
|
-
export { ImageBlock };
|
|
114
|
+
`;
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
__decorate([
|
|
118
|
+
property({ type: String })
|
|
119
|
+
], ImageBlock.prototype, "baseImageUrl", void 0);
|
|
120
|
+
__decorate([
|
|
121
|
+
property({ type: Boolean })
|
|
122
|
+
], ImageBlock.prototype, "isCompactTile", void 0);
|
|
123
|
+
__decorate([
|
|
124
|
+
property({ type: Boolean })
|
|
125
|
+
], ImageBlock.prototype, "isListTile", void 0);
|
|
126
|
+
__decorate([
|
|
127
|
+
property({ type: Boolean })
|
|
128
|
+
], ImageBlock.prototype, "loggedIn", void 0);
|
|
129
|
+
__decorate([
|
|
130
|
+
property({ type: Object })
|
|
131
|
+
], ImageBlock.prototype, "model", void 0);
|
|
132
|
+
__decorate([
|
|
133
|
+
property({ type: String })
|
|
134
|
+
], ImageBlock.prototype, "viewSize", void 0);
|
|
135
|
+
ImageBlock = __decorate([
|
|
136
|
+
customElement('image-block')
|
|
137
|
+
], ImageBlock);
|
|
138
|
+
export { ImageBlock };
|
|
139
139
|
//# sourceMappingURL=image-block.js.map
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
import { CSSResultGroup, LitElement } from 'lit';
|
|
2
|
-
import type { TileModel } from '../models';
|
|
3
|
-
export declare class ItemImage extends LitElement {
|
|
4
|
-
model?: TileModel;
|
|
5
|
-
baseImageUrl?: string;
|
|
6
|
-
isListTile: boolean;
|
|
7
|
-
isCompactTile: boolean;
|
|
8
|
-
loggedIn: boolean;
|
|
9
|
-
private isWaveform;
|
|
10
|
-
private baseImage;
|
|
11
|
-
render(): import("lit-html").TemplateResult<1>;
|
|
12
|
-
/**
|
|
13
|
-
* Helpers
|
|
14
|
-
*/
|
|
15
|
-
private get imageSrc();
|
|
16
|
-
private get hashBasedGradient();
|
|
17
|
-
private hashStrToInt;
|
|
18
|
-
/**
|
|
19
|
-
* Classes
|
|
20
|
-
*/
|
|
21
|
-
private get itemBaseClass();
|
|
22
|
-
private get itemImageClass();
|
|
23
|
-
/**
|
|
24
|
-
* Event listener sets isWaveform true if image is waveform
|
|
25
|
-
*/
|
|
26
|
-
private onLoad;
|
|
27
|
-
/**
|
|
28
|
-
* CSS
|
|
29
|
-
*/
|
|
30
|
-
static get styles(): CSSResultGroup;
|
|
31
|
-
}
|
|
1
|
+
import { CSSResultGroup, LitElement } from 'lit';
|
|
2
|
+
import type { TileModel } from '../models';
|
|
3
|
+
export declare class ItemImage extends LitElement {
|
|
4
|
+
model?: TileModel;
|
|
5
|
+
baseImageUrl?: string;
|
|
6
|
+
isListTile: boolean;
|
|
7
|
+
isCompactTile: boolean;
|
|
8
|
+
loggedIn: boolean;
|
|
9
|
+
private isWaveform;
|
|
10
|
+
private baseImage;
|
|
11
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
12
|
+
/**
|
|
13
|
+
* Helpers
|
|
14
|
+
*/
|
|
15
|
+
private get imageSrc();
|
|
16
|
+
private get hashBasedGradient();
|
|
17
|
+
private hashStrToInt;
|
|
18
|
+
/**
|
|
19
|
+
* Classes
|
|
20
|
+
*/
|
|
21
|
+
private get itemBaseClass();
|
|
22
|
+
private get itemImageClass();
|
|
23
|
+
/**
|
|
24
|
+
* Event listener sets isWaveform true if image is waveform
|
|
25
|
+
*/
|
|
26
|
+
private onLoad;
|
|
27
|
+
/**
|
|
28
|
+
* CSS
|
|
29
|
+
*/
|
|
30
|
+
static get styles(): CSSResultGroup;
|
|
31
|
+
}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { css, html, LitElement, nothing } from 'lit';
|
|
3
|
-
import { customElement, property, query, state } from 'lit/decorators.js';
|
|
4
|
-
import { classMap } from 'lit/directives/class-map.js';
|
|
5
|
-
import { baseItemImageStyles, waveformGradientStyles, } from '../styles/item-image-styles';
|
|
6
|
-
let ItemImage = class ItemImage extends LitElement {
|
|
7
|
-
constructor() {
|
|
8
|
-
super(...arguments);
|
|
9
|
-
this.isListTile = false;
|
|
10
|
-
this.isCompactTile = false;
|
|
11
|
-
this.loggedIn = false;
|
|
12
|
-
this.isWaveform = false;
|
|
13
|
-
}
|
|
14
|
-
render() {
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { css, html, LitElement, nothing } from 'lit';
|
|
3
|
+
import { customElement, property, query, state } from 'lit/decorators.js';
|
|
4
|
+
import { classMap } from 'lit/directives/class-map.js';
|
|
5
|
+
import { baseItemImageStyles, waveformGradientStyles, } from '../styles/item-image-styles';
|
|
6
|
+
let ItemImage = class ItemImage extends LitElement {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this.isListTile = false;
|
|
10
|
+
this.isCompactTile = false;
|
|
11
|
+
this.loggedIn = false;
|
|
12
|
+
this.isWaveform = false;
|
|
13
|
+
}
|
|
14
|
+
render() {
|
|
15
15
|
return html `
|
|
16
16
|
<div class=${classMap(this.itemBaseClass)}>
|
|
17
17
|
<img
|
|
@@ -21,101 +21,101 @@ let ItemImage = class ItemImage extends LitElement {
|
|
|
21
21
|
@load=${this.onLoad}
|
|
22
22
|
/>
|
|
23
23
|
</div>
|
|
24
|
-
`;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Helpers
|
|
28
|
-
*/
|
|
29
|
-
get imageSrc() {
|
|
30
|
-
var _a;
|
|
31
|
-
// Don't try to load invalid image URLs
|
|
32
|
-
return this.baseImageUrl && ((_a = this.model) === null || _a === void 0 ? void 0 : _a.identifier)
|
|
33
|
-
? `${this.baseImageUrl}/services/img/${this.model.identifier}`
|
|
34
|
-
: nothing;
|
|
35
|
-
}
|
|
36
|
-
get hashBasedGradient() {
|
|
37
|
-
var _a;
|
|
38
|
-
if (!((_a = this.model) === null || _a === void 0 ? void 0 : _a.identifier)) {
|
|
39
|
-
return 'waveform-grad0';
|
|
40
|
-
}
|
|
41
|
-
const gradient = this.hashStrToInt(this.model.identifier) % 6; // returns 0-5
|
|
42
|
-
return `waveform-grad${gradient}`;
|
|
43
|
-
}
|
|
44
|
-
hashStrToInt(str) {
|
|
45
|
-
return str
|
|
46
|
-
.split('')
|
|
47
|
-
.reduce((acc, char) => acc + char.charCodeAt(0), 0);
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Classes
|
|
51
|
-
*/
|
|
52
|
-
get itemBaseClass() {
|
|
53
|
-
return {
|
|
54
|
-
'drop-shadow': true,
|
|
55
|
-
'list-box': this.isListTile,
|
|
56
|
-
[this.hashBasedGradient]: this.isWaveform,
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
get itemImageClass() {
|
|
60
|
-
var _a, _b;
|
|
61
|
-
const toBlur = ((_a = this.model) === null || _a === void 0 ? void 0 : _a.contentWarning) || ((_b = this.model) === null || _b === void 0 ? void 0 : _b.loginRequired);
|
|
62
|
-
return {
|
|
63
|
-
contain: !this.isCompactTile && !this.isWaveform,
|
|
64
|
-
cover: this.isCompactTile,
|
|
65
|
-
blur: toBlur || false,
|
|
66
|
-
waveform: this.isWaveform,
|
|
67
|
-
};
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Event listener sets isWaveform true if image is waveform
|
|
71
|
-
*/
|
|
72
|
-
onLoad() {
|
|
73
|
-
var _a, _b;
|
|
74
|
-
if ((((_a = this.model) === null || _a === void 0 ? void 0 : _a.mediatype) === 'audio' ||
|
|
75
|
-
((_b = this.model) === null || _b === void 0 ? void 0 : _b.mediatype) === 'etree') &&
|
|
76
|
-
this.baseImage.naturalWidth / this.baseImage.naturalHeight === 4) {
|
|
77
|
-
this.isWaveform = true;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* CSS
|
|
82
|
-
*/
|
|
83
|
-
static get styles() {
|
|
84
|
-
return [
|
|
85
|
-
baseItemImageStyles,
|
|
86
|
-
waveformGradientStyles,
|
|
24
|
+
`;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Helpers
|
|
28
|
+
*/
|
|
29
|
+
get imageSrc() {
|
|
30
|
+
var _a;
|
|
31
|
+
// Don't try to load invalid image URLs
|
|
32
|
+
return this.baseImageUrl && ((_a = this.model) === null || _a === void 0 ? void 0 : _a.identifier)
|
|
33
|
+
? `${this.baseImageUrl}/services/img/${this.model.identifier}`
|
|
34
|
+
: nothing;
|
|
35
|
+
}
|
|
36
|
+
get hashBasedGradient() {
|
|
37
|
+
var _a;
|
|
38
|
+
if (!((_a = this.model) === null || _a === void 0 ? void 0 : _a.identifier)) {
|
|
39
|
+
return 'waveform-grad0';
|
|
40
|
+
}
|
|
41
|
+
const gradient = this.hashStrToInt(this.model.identifier) % 6; // returns 0-5
|
|
42
|
+
return `waveform-grad${gradient}`;
|
|
43
|
+
}
|
|
44
|
+
hashStrToInt(str) {
|
|
45
|
+
return str
|
|
46
|
+
.split('')
|
|
47
|
+
.reduce((acc, char) => acc + char.charCodeAt(0), 0);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Classes
|
|
51
|
+
*/
|
|
52
|
+
get itemBaseClass() {
|
|
53
|
+
return {
|
|
54
|
+
'drop-shadow': true,
|
|
55
|
+
'list-box': this.isListTile,
|
|
56
|
+
[this.hashBasedGradient]: this.isWaveform,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
get itemImageClass() {
|
|
60
|
+
var _a, _b;
|
|
61
|
+
const toBlur = ((_a = this.model) === null || _a === void 0 ? void 0 : _a.contentWarning) || ((_b = this.model) === null || _b === void 0 ? void 0 : _b.loginRequired);
|
|
62
|
+
return {
|
|
63
|
+
contain: !this.isCompactTile && !this.isWaveform,
|
|
64
|
+
cover: this.isCompactTile,
|
|
65
|
+
blur: toBlur || false,
|
|
66
|
+
waveform: this.isWaveform,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Event listener sets isWaveform true if image is waveform
|
|
71
|
+
*/
|
|
72
|
+
onLoad() {
|
|
73
|
+
var _a, _b;
|
|
74
|
+
if ((((_a = this.model) === null || _a === void 0 ? void 0 : _a.mediatype) === 'audio' ||
|
|
75
|
+
((_b = this.model) === null || _b === void 0 ? void 0 : _b.mediatype) === 'etree') &&
|
|
76
|
+
this.baseImage.naturalWidth / this.baseImage.naturalHeight === 4) {
|
|
77
|
+
this.isWaveform = true;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* CSS
|
|
82
|
+
*/
|
|
83
|
+
static get styles() {
|
|
84
|
+
return [
|
|
85
|
+
baseItemImageStyles,
|
|
86
|
+
waveformGradientStyles,
|
|
87
87
|
css `
|
|
88
88
|
img {
|
|
89
89
|
height: var(--imgHeight, 16rem);
|
|
90
90
|
width: var(--imgWidth, 16rem);
|
|
91
91
|
}
|
|
92
|
-
`,
|
|
93
|
-
];
|
|
94
|
-
}
|
|
95
|
-
};
|
|
96
|
-
__decorate([
|
|
97
|
-
property({ type: Object })
|
|
98
|
-
], ItemImage.prototype, "model", void 0);
|
|
99
|
-
__decorate([
|
|
100
|
-
property({ type: String })
|
|
101
|
-
], ItemImage.prototype, "baseImageUrl", void 0);
|
|
102
|
-
__decorate([
|
|
103
|
-
property({ type: Boolean })
|
|
104
|
-
], ItemImage.prototype, "isListTile", void 0);
|
|
105
|
-
__decorate([
|
|
106
|
-
property({ type: Boolean })
|
|
107
|
-
], ItemImage.prototype, "isCompactTile", void 0);
|
|
108
|
-
__decorate([
|
|
109
|
-
property({ type: Boolean })
|
|
110
|
-
], ItemImage.prototype, "loggedIn", void 0);
|
|
111
|
-
__decorate([
|
|
112
|
-
state()
|
|
113
|
-
], ItemImage.prototype, "isWaveform", void 0);
|
|
114
|
-
__decorate([
|
|
115
|
-
query('img')
|
|
116
|
-
], ItemImage.prototype, "baseImage", void 0);
|
|
117
|
-
ItemImage = __decorate([
|
|
118
|
-
customElement('item-image')
|
|
119
|
-
], ItemImage);
|
|
120
|
-
export { ItemImage };
|
|
92
|
+
`,
|
|
93
|
+
];
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
__decorate([
|
|
97
|
+
property({ type: Object })
|
|
98
|
+
], ItemImage.prototype, "model", void 0);
|
|
99
|
+
__decorate([
|
|
100
|
+
property({ type: String })
|
|
101
|
+
], ItemImage.prototype, "baseImageUrl", void 0);
|
|
102
|
+
__decorate([
|
|
103
|
+
property({ type: Boolean })
|
|
104
|
+
], ItemImage.prototype, "isListTile", void 0);
|
|
105
|
+
__decorate([
|
|
106
|
+
property({ type: Boolean })
|
|
107
|
+
], ItemImage.prototype, "isCompactTile", void 0);
|
|
108
|
+
__decorate([
|
|
109
|
+
property({ type: Boolean })
|
|
110
|
+
], ItemImage.prototype, "loggedIn", void 0);
|
|
111
|
+
__decorate([
|
|
112
|
+
state()
|
|
113
|
+
], ItemImage.prototype, "isWaveform", void 0);
|
|
114
|
+
__decorate([
|
|
115
|
+
query('img')
|
|
116
|
+
], ItemImage.prototype, "baseImage", void 0);
|
|
117
|
+
ItemImage = __decorate([
|
|
118
|
+
customElement('item-image')
|
|
119
|
+
], ItemImage);
|
|
120
|
+
export { ItemImage };
|
|
121
121
|
//# sourceMappingURL=item-image.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function accountLabel(date: Date | undefined): string;
|
|
1
|
+
export declare function accountLabel(date: Date | undefined): string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export function accountLabel(date) {
|
|
2
|
-
if (!date) {
|
|
3
|
-
return '';
|
|
4
|
-
}
|
|
5
|
-
return `Archivist since ${date.getFullYear()}`;
|
|
6
|
-
}
|
|
1
|
+
export function accountLabel(date) {
|
|
2
|
+
if (!date) {
|
|
3
|
+
return '';
|
|
4
|
+
}
|
|
5
|
+
return `Archivist since ${date.getFullYear()}`;
|
|
6
|
+
}
|
|
7
7
|
//# sourceMappingURL=account-label.js.map
|
|
@@ -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 'date':
|
|
4
|
-
return 'Published';
|
|
5
|
-
case 'reviewdate':
|
|
6
|
-
return 'Reviewed';
|
|
7
|
-
case 'addeddate':
|
|
8
|
-
return 'Added';
|
|
9
|
-
default:
|
|
10
|
-
return 'Archived';
|
|
11
|
-
}
|
|
12
|
-
}
|
|
1
|
+
export function dateLabel(sortField) {
|
|
2
|
+
switch (sortField) {
|
|
3
|
+
case 'date':
|
|
4
|
+
return 'Published';
|
|
5
|
+
case 'reviewdate':
|
|
6
|
+
return 'Reviewed';
|
|
7
|
+
case 'addeddate':
|
|
8
|
+
return 'Added';
|
|
9
|
+
default:
|
|
10
|
+
return 'Archived';
|
|
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"></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;
|
|
@@ -62,23 +62,23 @@ let TileListCompactHeader = class TileListCompactHeader extends LitElement {
|
|
|
62
62
|
#list-line-header.desktop {
|
|
63
63
|
grid-template-columns: 51px 3fr 2fr 100px 20px 60px;
|
|
64
64
|
}
|
|
65
|
-
`;
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
__decorate([
|
|
69
|
-
property({ type: Object })
|
|
70
|
-
], TileListCompactHeader.prototype, "model", void 0);
|
|
71
|
-
__decorate([
|
|
72
|
-
property({ type: Number })
|
|
73
|
-
], TileListCompactHeader.prototype, "currentWidth", void 0);
|
|
74
|
-
__decorate([
|
|
75
|
-
property({ type: Object })
|
|
76
|
-
], TileListCompactHeader.prototype, "sortParam", void 0);
|
|
77
|
-
__decorate([
|
|
78
|
-
property({ type: Number })
|
|
79
|
-
], TileListCompactHeader.prototype, "mobileBreakpoint", void 0);
|
|
80
|
-
TileListCompactHeader = __decorate([
|
|
81
|
-
customElement('tile-list-compact-header')
|
|
82
|
-
], TileListCompactHeader);
|
|
83
|
-
export { TileListCompactHeader };
|
|
65
|
+
`;
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
__decorate([
|
|
69
|
+
property({ type: Object })
|
|
70
|
+
], TileListCompactHeader.prototype, "model", void 0);
|
|
71
|
+
__decorate([
|
|
72
|
+
property({ type: Number })
|
|
73
|
+
], TileListCompactHeader.prototype, "currentWidth", void 0);
|
|
74
|
+
__decorate([
|
|
75
|
+
property({ type: Object })
|
|
76
|
+
], TileListCompactHeader.prototype, "sortParam", void 0);
|
|
77
|
+
__decorate([
|
|
78
|
+
property({ type: Number })
|
|
79
|
+
], TileListCompactHeader.prototype, "mobileBreakpoint", void 0);
|
|
80
|
+
TileListCompactHeader = __decorate([
|
|
81
|
+
customElement('tile-list-compact-header')
|
|
82
|
+
], TileListCompactHeader);
|
|
83
|
+
export { TileListCompactHeader };
|
|
84
84
|
//# sourceMappingURL=tile-list-compact-header.js.map
|