@internetarchive/collection-browser 0.2.11 → 0.2.12
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 +2 -2
- package/renovate.json +6 -0
- package/src/assets/img/icons/login-required.ts +30 -0
- package/src/collection-browser.ts +15 -10
- package/src/styles/item-image-styles.ts +4 -3
- package/src/tiles/grid/item-tile.ts +22 -19
- package/src/tiles/image-block.ts +124 -0
- package/src/tiles/item-image.ts +3 -1
- package/src/tiles/list/tile-list-compact.ts +19 -56
- package/src/tiles/list/tile-list.ts +18 -54
- package/src/tiles/overlay/icon-overlay.ts +34 -0
- package/src/tiles/overlay/text-overlay.ts +48 -0
- package/src/tiles/tile-dispatcher.ts +13 -4
- package/test/icon-overlay.test.ts +41 -0
- package/test/item-image.test.ts +82 -0
- package/test/text-overlay.test.ts +57 -0
- package/test/tiles/grid/item-tile.test.ts +2 -2
- package/dist/index.d.ts +0 -9
- package/dist/index.js.map +0 -1
- package/dist/src/app-root.d.ts +0 -32
- package/dist/src/app-root.js +0 -285
- package/dist/src/app-root.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/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/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 -11
- package/dist/src/assets/img/icons/favorite-filled.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/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.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/restricted.d.ts +0 -1
- package/dist/src/assets/img/icons/restricted.js +0 -29
- 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 -214
- package/dist/src/collection-browser.js +0 -1236
- package/dist/src/collection-browser.js.map +0 -1
- package/dist/src/collection-facets.d.ts +0 -63
- package/dist/src/collection-facets.js +0 -560
- package/dist/src/collection-facets.js.map +0 -1
- package/dist/src/empty-placeholder.d.ts +0 -11
- package/dist/src/empty-placeholder.js +0 -83
- package/dist/src/empty-placeholder.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/mediatype/mediatype-config.d.ts +0 -3
- package/dist/src/mediatype/mediatype-config.js +0 -86
- package/dist/src/mediatype/mediatype-config.js.map +0 -1
- package/dist/src/models.d.ts +0 -84
- package/dist/src/models.js +0 -58
- package/dist/src/models.js.map +0 -1
- package/dist/src/restoration-state-handler.d.ts +0 -38
- package/dist/src/restoration-state-handler.js +0 -204
- package/dist/src/restoration-state-handler.js.map +0 -1
- package/dist/src/sort-filter-bar/alpha-bar.d.ts +0 -9
- package/dist/src/sort-filter-bar/alpha-bar.js +0 -98
- 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-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 -85
- package/dist/src/sort-filter-bar/sort-filter-bar.js +0 -698
- package/dist/src/sort-filter-bar/sort-filter-bar.js.map +0 -1
- package/dist/src/styles/item-image-styles.d.ts +0 -8
- package/dist/src/styles/item-image-styles.js +0 -101
- package/dist/src/styles/item-image-styles.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 -32
- package/dist/src/tiles/collection-browser-loading-tile.js.map +0 -1
- package/dist/src/tiles/grid/account-tile.d.ts +0 -8
- package/dist/src/tiles/grid/account-tile.js +0 -126
- package/dist/src/tiles/grid/account-tile.js.map +0 -1
- package/dist/src/tiles/grid/collection-tile.d.ts +0 -7
- package/dist/src/tiles/grid/collection-tile.js +0 -159
- package/dist/src/tiles/grid/collection-tile.js.map +0 -1
- package/dist/src/tiles/grid/item-tile.d.ts +0 -16
- package/dist/src/tiles/grid/item-tile.js +0 -174
- package/dist/src/tiles/grid/item-tile.js.map +0 -1
- package/dist/src/tiles/grid/tile-stats.d.ts +0 -10
- package/dist/src/tiles/grid/tile-stats.js +0 -134
- package/dist/src/tiles/grid/tile-stats.js.map +0 -1
- package/dist/src/tiles/item-image.d.ts +0 -31
- package/dist/src/tiles/item-image.js +0 -117
- package/dist/src/tiles/item-image.js.map +0 -1
- package/dist/src/tiles/item-tile-image.d.ts +0 -15
- package/dist/src/tiles/item-tile-image.js +0 -68
- package/dist/src/tiles/item-tile-image.js.map +0 -1
- package/dist/src/tiles/list/account-label.d.ts +0 -1
- package/dist/src/tiles/list/account-label.js +0 -7
- package/dist/src/tiles/list/account-label.js.map +0 -1
- package/dist/src/tiles/list/date-label.d.ts +0 -1
- package/dist/src/tiles/list/date-label.js +0 -13
- package/dist/src/tiles/list/date-label.js.map +0 -1
- package/dist/src/tiles/list/tile-list-compact-header.d.ts +0 -12
- package/dist/src/tiles/list/tile-list-compact-header.js +0 -84
- package/dist/src/tiles/list/tile-list-compact-header.js.map +0 -1
- package/dist/src/tiles/list/tile-list-compact.d.ts +0 -20
- package/dist/src/tiles/list/tile-list-compact.js +0 -215
- package/dist/src/tiles/list/tile-list-compact.js.map +0 -1
- package/dist/src/tiles/list/tile-list.d.ts +0 -47
- package/dist/src/tiles/list/tile-list.js +0 -492
- package/dist/src/tiles/list/tile-list.js.map +0 -1
- package/dist/src/tiles/mediatype-icon.d.ts +0 -9
- package/dist/src/tiles/mediatype-icon.js +0 -82
- package/dist/src/tiles/mediatype-icon.js.map +0 -1
- package/dist/src/tiles/tile-dispatcher.d.ts +0 -35
- package/dist/src/tiles/tile-dispatcher.js +0 -204
- package/dist/src/tiles/tile-dispatcher.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 -2
- package/dist/src/utils/format-date.js +0 -24
- package/dist/src/utils/format-date.js.map +0 -1
- package/dist/test/collection-browser.test.d.ts +0 -1
- package/dist/test/collection-browser.test.js +0 -47
- package/dist/test/collection-browser.test.js.map +0 -1
- package/dist/test/empty-placeholder.test.d.ts +0 -1
- package/dist/test/empty-placeholder.test.js +0 -34
- package/dist/test/empty-placeholder.test.js.map +0 -1
- package/dist/test/mediatype-config.test.d.ts +0 -1
- package/dist/test/mediatype-config.test.js +0 -17
- package/dist/test/mediatype-config.test.js.map +0 -1
- package/dist/test/mocks/mock-collection-name-cache.d.ts +0 -7
- package/dist/test/mocks/mock-collection-name-cache.js +0 -14
- package/dist/test/mocks/mock-collection-name-cache.js.map +0 -1
- package/dist/test/mocks/mock-search-responses.d.ts +0 -3
- package/dist/test/mocks/mock-search-responses.js +0 -32
- package/dist/test/mocks/mock-search-responses.js.map +0 -1
- package/dist/test/mocks/mock-search-service.d.ts +0 -8
- package/dist/test/mocks/mock-search-service.js +0 -16
- package/dist/test/mocks/mock-search-service.js.map +0 -1
- package/dist/test/tile-stats.test.d.ts +0 -1
- package/dist/test/tile-stats.test.js +0 -42
- package/dist/test/tile-stats.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 -96
- package/dist/test/tiles/grid/item-tile.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 -18
- package/dist/test/utils/format-date.test.js.map +0 -1
- package/src/tiles/item-tile-image.ts +0 -61
|
@@ -43,6 +43,8 @@ export class TileDispatcher
|
|
|
43
43
|
|
|
44
44
|
@property({ type: String }) baseImageUrl?: string;
|
|
45
45
|
|
|
46
|
+
@property({ type: Boolean }) loggedIn = false;
|
|
47
|
+
|
|
46
48
|
render() {
|
|
47
49
|
return html`
|
|
48
50
|
<div id="container">
|
|
@@ -146,7 +148,8 @@ export class TileDispatcher
|
|
|
146
148
|
.model=${model}
|
|
147
149
|
.currentWidth=${currentWidth}
|
|
148
150
|
.currentHeight=${currentHeight}
|
|
149
|
-
|
|
151
|
+
>
|
|
152
|
+
</account-tile>`;
|
|
150
153
|
default:
|
|
151
154
|
return html`<item-tile
|
|
152
155
|
.model=${model}
|
|
@@ -155,7 +158,9 @@ export class TileDispatcher
|
|
|
155
158
|
.collectionNameCache=${this.collectionNameCache}
|
|
156
159
|
.baseImageUrl=${this.baseImageUrl}
|
|
157
160
|
.sortParam=${sortParam}
|
|
158
|
-
|
|
161
|
+
.loggedIn=${this.loggedIn}
|
|
162
|
+
>
|
|
163
|
+
</item-tile>`;
|
|
159
164
|
}
|
|
160
165
|
case 'list-compact':
|
|
161
166
|
return html`<tile-list-compact
|
|
@@ -166,7 +171,9 @@ export class TileDispatcher
|
|
|
166
171
|
.sortParam=${sortParam}
|
|
167
172
|
.mobileBreakpoint=${mobileBreakpoint}
|
|
168
173
|
.baseImageUrl=${this.baseImageUrl}
|
|
169
|
-
|
|
174
|
+
.loggedIn=${this.loggedIn}
|
|
175
|
+
>
|
|
176
|
+
</tile-list-compact>`;
|
|
170
177
|
case 'list-detail':
|
|
171
178
|
return html`<tile-list
|
|
172
179
|
.model=${model}
|
|
@@ -177,7 +184,9 @@ export class TileDispatcher
|
|
|
177
184
|
.sortParam=${sortParam}
|
|
178
185
|
.mobileBreakpoint=${mobileBreakpoint}
|
|
179
186
|
.baseImageUrl=${this.baseImageUrl}
|
|
180
|
-
|
|
187
|
+
.loggedIn=${this.loggedIn}
|
|
188
|
+
>
|
|
189
|
+
</tile-list>`;
|
|
181
190
|
default:
|
|
182
191
|
return nothing;
|
|
183
192
|
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/* eslint-disable import/no-duplicates */
|
|
2
|
+
import { expect, fixture } from '@open-wc/testing';
|
|
3
|
+
import { html } from 'lit';
|
|
4
|
+
import { IconOverlay } from '../src/tiles/overlay/icon-overlay';
|
|
5
|
+
|
|
6
|
+
import '../src/tiles/overlay/icon-overlay';
|
|
7
|
+
|
|
8
|
+
describe('Icon Overlay component', () => {
|
|
9
|
+
it('should render component if loggedIn required', async () => {
|
|
10
|
+
const el = await fixture<IconOverlay>(html`
|
|
11
|
+
<icon-overlay .loggedIn=${false} .loginRequired=${true}> </icon-overlay>
|
|
12
|
+
`);
|
|
13
|
+
|
|
14
|
+
const svgTitle = el.shadowRoot
|
|
15
|
+
?.querySelector('svg')
|
|
16
|
+
?.querySelector('title')?.textContent;
|
|
17
|
+
expect(svgTitle).to.equal('Log in to view this item');
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
it('should render component if content warning', async () => {
|
|
21
|
+
const el = await fixture<IconOverlay>(html`
|
|
22
|
+
<icon-overlay .loggedIn=${false} .loginRequired=${false}> </icon-overlay>
|
|
23
|
+
`);
|
|
24
|
+
|
|
25
|
+
const svgTitle = el.shadowRoot
|
|
26
|
+
?.querySelector('svg')
|
|
27
|
+
?.querySelector('title')?.textContent;
|
|
28
|
+
expect(svgTitle).to.equal('Content may be inappropriate');
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
it('should render component if content warning', async () => {
|
|
32
|
+
const el = await fixture<IconOverlay>(html`
|
|
33
|
+
<icon-overlay .loggedIn=${true} .loginRequired=${true}> </icon-overlay>
|
|
34
|
+
`);
|
|
35
|
+
|
|
36
|
+
const svgTitle = el.shadowRoot
|
|
37
|
+
?.querySelector('svg')
|
|
38
|
+
?.querySelector('title')?.textContent;
|
|
39
|
+
expect(svgTitle).to.equal('Content may be inappropriate');
|
|
40
|
+
});
|
|
41
|
+
});
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/* eslint-disable import/no-duplicates */
|
|
2
|
+
import { expect, fixture } from '@open-wc/testing';
|
|
3
|
+
import { html } from 'lit';
|
|
4
|
+
|
|
5
|
+
import { TileModel } from '../src/models';
|
|
6
|
+
import { ItemImage } from '../src/tiles/item-image';
|
|
7
|
+
|
|
8
|
+
import '../src/tiles/item-image';
|
|
9
|
+
|
|
10
|
+
const baseImageUrl = 'https://archive.org';
|
|
11
|
+
const testBookModel: TileModel = {
|
|
12
|
+
collections: [],
|
|
13
|
+
commentCount: 0,
|
|
14
|
+
creators: [],
|
|
15
|
+
favCount: 0,
|
|
16
|
+
identifier: '18730130BloomfieldRecordCompleteIssue',
|
|
17
|
+
itemCount: 0,
|
|
18
|
+
mediatype: 'texts',
|
|
19
|
+
subjects: [],
|
|
20
|
+
title: 'Sample Waveform',
|
|
21
|
+
viewCount: 0,
|
|
22
|
+
loginRequired: false,
|
|
23
|
+
contentWarning: false,
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
const testAudioModel: TileModel = {
|
|
27
|
+
collections: [],
|
|
28
|
+
commentCount: 0,
|
|
29
|
+
creators: [],
|
|
30
|
+
favCount: 0,
|
|
31
|
+
identifier: 'dwd2015-01-24',
|
|
32
|
+
itemCount: 0,
|
|
33
|
+
mediatype: 'audio',
|
|
34
|
+
subjects: [],
|
|
35
|
+
title: 'Sample Waveform',
|
|
36
|
+
viewCount: 0,
|
|
37
|
+
loginRequired: false,
|
|
38
|
+
contentWarning: false,
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
describe('ItemImage component', () => {
|
|
42
|
+
it('should render initial component', async () => {
|
|
43
|
+
const el = await fixture<ItemImage>(html`
|
|
44
|
+
<item-image
|
|
45
|
+
.isListTile=${false}
|
|
46
|
+
.isCompactTile=${false}
|
|
47
|
+
.model=${testBookModel}
|
|
48
|
+
.baseImageUrl=${baseImageUrl}
|
|
49
|
+
>
|
|
50
|
+
</item-image>
|
|
51
|
+
`);
|
|
52
|
+
|
|
53
|
+
const dropShadow = el.shadowRoot?.querySelector('.drop-shadow');
|
|
54
|
+
const imgClassName = dropShadow?.querySelector('img')?.className;
|
|
55
|
+
|
|
56
|
+
expect(dropShadow).to.exist;
|
|
57
|
+
expect(imgClassName).to.eql(' contain ');
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
it('should render component if mediatype is waveform', async () => {
|
|
61
|
+
const el = await fixture<ItemImage>(html`
|
|
62
|
+
<item-image
|
|
63
|
+
.isListTile=${false}
|
|
64
|
+
.isCompactTile=${false}
|
|
65
|
+
.model=${testAudioModel}
|
|
66
|
+
.baseImageUrl=${baseImageUrl}
|
|
67
|
+
>
|
|
68
|
+
</item-image>
|
|
69
|
+
`);
|
|
70
|
+
|
|
71
|
+
const dropShadow = el.shadowRoot?.querySelector('.drop-shadow');
|
|
72
|
+
const image = dropShadow?.querySelector('img');
|
|
73
|
+
expect(dropShadow).to.exist;
|
|
74
|
+
expect(image).to.exist;
|
|
75
|
+
|
|
76
|
+
// simulate image onLoad event check if image className is waveform
|
|
77
|
+
setTimeout(() => {
|
|
78
|
+
const imgClassName = image?.className;
|
|
79
|
+
expect(imgClassName).to.eql(' waveform ');
|
|
80
|
+
}, 1000);
|
|
81
|
+
});
|
|
82
|
+
});
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/* eslint-disable import/no-duplicates */
|
|
2
|
+
import { expect, fixture } from '@open-wc/testing';
|
|
3
|
+
import { html } from 'lit';
|
|
4
|
+
import { TextOverlay } from '../src/tiles/overlay/text-overlay';
|
|
5
|
+
|
|
6
|
+
import '../src/tiles/overlay/text-overlay';
|
|
7
|
+
|
|
8
|
+
describe('Text Overlay component', () => {
|
|
9
|
+
it('should render initial component', async () => {
|
|
10
|
+
const el = await fixture<TextOverlay>(html`<text-overlay></text-overlay>`);
|
|
11
|
+
|
|
12
|
+
const overlay = el.shadowRoot?.querySelector('.overlay');
|
|
13
|
+
const noPreview = el.shadowRoot?.querySelector('.no-preview');
|
|
14
|
+
|
|
15
|
+
expect(overlay).to.exist;
|
|
16
|
+
expect(noPreview).to.exist;
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
it('should render component if loggedIn required', async () => {
|
|
20
|
+
const el = await fixture<TextOverlay>(html`
|
|
21
|
+
<text-overlay .loggedIn=${false} .loginRequired=${true}> </text-overlay>
|
|
22
|
+
`);
|
|
23
|
+
|
|
24
|
+
const overlay = el.shadowRoot?.querySelector('.overlay');
|
|
25
|
+
const noPreview = el.shadowRoot?.querySelector('.no-preview');
|
|
26
|
+
|
|
27
|
+
expect(overlay).to.exist;
|
|
28
|
+
expect(noPreview).to.exist;
|
|
29
|
+
expect(noPreview?.textContent).to.equal('Log in\nto view this item');
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
it('should render component if content warning', async () => {
|
|
33
|
+
const el = await fixture<TextOverlay>(html`
|
|
34
|
+
<text-overlay .loggedIn=${false} .loginRequired=${false}> </text-overlay>
|
|
35
|
+
`);
|
|
36
|
+
|
|
37
|
+
const overlay = el.shadowRoot?.querySelector('.overlay');
|
|
38
|
+
const noPreview = el.shadowRoot?.querySelector('.no-preview');
|
|
39
|
+
|
|
40
|
+
expect(overlay).to.exist;
|
|
41
|
+
expect(noPreview).to.exist;
|
|
42
|
+
expect(noPreview?.textContent).to.equal('Content may be inappropriate');
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
it('should render component if content warning', async () => {
|
|
46
|
+
const el = await fixture<TextOverlay>(html`
|
|
47
|
+
<text-overlay .loggedIn=${true} .loginRequired=${true}> </text-overlay>
|
|
48
|
+
`);
|
|
49
|
+
|
|
50
|
+
const overlay = el.shadowRoot?.querySelector('.overlay');
|
|
51
|
+
const noPreview = el.shadowRoot?.querySelector('.no-preview');
|
|
52
|
+
|
|
53
|
+
expect(overlay).to.exist;
|
|
54
|
+
expect(noPreview).to.exist;
|
|
55
|
+
expect(noPreview?.textContent).to.equal('Content may be inappropriate');
|
|
56
|
+
});
|
|
57
|
+
});
|
|
@@ -10,11 +10,11 @@ describe('Item Tile', () => {
|
|
|
10
10
|
const el = await fixture<ItemTile>(html`<item-tile></item-tile>`);
|
|
11
11
|
|
|
12
12
|
const itemInfo = el.shadowRoot?.querySelector('.item-info');
|
|
13
|
-
const itemImage = el.shadowRoot?.querySelector('item-image');
|
|
14
13
|
const itemTitle = el.shadowRoot?.querySelector('#title');
|
|
14
|
+
const imageBlock = el.shadowRoot?.querySelector('image-block');
|
|
15
15
|
|
|
16
16
|
expect(itemInfo).to.exist;
|
|
17
|
-
expect(
|
|
17
|
+
expect(imageBlock).to.exist;
|
|
18
18
|
expect(itemTitle).to.exist;
|
|
19
19
|
});
|
|
20
20
|
|
package/dist/index.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export { CollectionBrowser } from './src/collection-browser';
|
|
2
|
-
export { SortFilterBar } from './src/sort-filter-bar/sort-filter-bar';
|
|
3
|
-
export { CollectionDisplayMode } from './src/models';
|
|
4
|
-
export { CollectionBrowserLoadingTile } from './src/tiles/collection-browser-loading-tile';
|
|
5
|
-
export { CollectionTile } from './src/tiles/grid/collection-tile';
|
|
6
|
-
export { AccountTile } from './src/tiles/grid/account-tile';
|
|
7
|
-
export { ItemTile } from './src/tiles/grid/item-tile';
|
|
8
|
-
export { TileList } from './src/tiles/list/tile-list';
|
|
9
|
-
export { TileListCompact } from './src/tiles/list/tile-list-compact';
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC","sourcesContent":["export { CollectionBrowser } from './src/collection-browser';\nexport { SortFilterBar } from './src/sort-filter-bar/sort-filter-bar';\nexport { CollectionDisplayMode } from './src/models';\nexport { CollectionBrowserLoadingTile } from './src/tiles/collection-browser-loading-tile';\nexport { CollectionTile } from './src/tiles/grid/collection-tile';\nexport { AccountTile } from './src/tiles/grid/account-tile';\nexport { ItemTile } from './src/tiles/grid/item-tile';\nexport { TileList } from './src/tiles/list/tile-list';\nexport { TileListCompact } from './src/tiles/list/tile-list-compact';\n"]}
|
package/dist/src/app-root.d.ts
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { LitElement, PropertyValues } from 'lit';
|
|
2
|
-
import '../src/collection-browser';
|
|
3
|
-
export declare class AppRoot extends LitElement {
|
|
4
|
-
private searchService;
|
|
5
|
-
private resizeObserver;
|
|
6
|
-
private localCache;
|
|
7
|
-
private collectionNameCache;
|
|
8
|
-
private currentPage?;
|
|
9
|
-
private searchQuery?;
|
|
10
|
-
private cellWidth;
|
|
11
|
-
private cellHeight;
|
|
12
|
-
private rowGap;
|
|
13
|
-
private colGap;
|
|
14
|
-
private loggedIn;
|
|
15
|
-
private baseQueryField;
|
|
16
|
-
private pageNumberInput;
|
|
17
|
-
private collectionBrowser;
|
|
18
|
-
private searchPressed;
|
|
19
|
-
private changePagePressed;
|
|
20
|
-
protected updated(changed: PropertyValues): void;
|
|
21
|
-
private queryUpdated;
|
|
22
|
-
render(): import("lit-html").TemplateResult<1>;
|
|
23
|
-
private baseQueryChanged;
|
|
24
|
-
private loginChanged;
|
|
25
|
-
private outlineChanged;
|
|
26
|
-
private rowGapChanged;
|
|
27
|
-
private colGapChanged;
|
|
28
|
-
private widthChanged;
|
|
29
|
-
private heightChanged;
|
|
30
|
-
private visiblePageChanged;
|
|
31
|
-
static styles: import("lit").CSSResult;
|
|
32
|
-
}
|
package/dist/src/app-root.js
DELETED
|
@@ -1,285 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { SearchService } from '@internetarchive/search-service';
|
|
3
|
-
import { LocalCache } from '@internetarchive/local-cache';
|
|
4
|
-
import { html, css, LitElement } from 'lit';
|
|
5
|
-
import { customElement, query, state } from 'lit/decorators.js';
|
|
6
|
-
import { SharedResizeObserver } from '@internetarchive/shared-resize-observer';
|
|
7
|
-
import { CollectionNameCache } from '@internetarchive/collection-name-cache';
|
|
8
|
-
import '../src/collection-browser';
|
|
9
|
-
let AppRoot = class AppRoot extends LitElement {
|
|
10
|
-
constructor() {
|
|
11
|
-
super(...arguments);
|
|
12
|
-
this.searchService = SearchService.default;
|
|
13
|
-
this.resizeObserver = new SharedResizeObserver();
|
|
14
|
-
this.localCache = new LocalCache();
|
|
15
|
-
this.collectionNameCache = new CollectionNameCache({
|
|
16
|
-
searchService: this.searchService,
|
|
17
|
-
localCache: this.localCache,
|
|
18
|
-
});
|
|
19
|
-
this.cellWidth = 18;
|
|
20
|
-
this.cellHeight = 29;
|
|
21
|
-
this.rowGap = 1.7;
|
|
22
|
-
this.colGap = 1.7;
|
|
23
|
-
this.loggedIn = false;
|
|
24
|
-
}
|
|
25
|
-
searchPressed(e) {
|
|
26
|
-
var _a, _b;
|
|
27
|
-
e.preventDefault();
|
|
28
|
-
this.searchQuery = this.baseQueryField.value;
|
|
29
|
-
if (((_a = this.currentPage) !== null && _a !== void 0 ? _a : 1) > 1) {
|
|
30
|
-
this.collectionBrowser.goToPage((_b = this.currentPage) !== null && _b !== void 0 ? _b : 1);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
changePagePressed(e) {
|
|
34
|
-
e.preventDefault();
|
|
35
|
-
this.currentPage = this.pageNumberInput.valueAsNumber;
|
|
36
|
-
this.collectionBrowser.goToPage(this.currentPage);
|
|
37
|
-
}
|
|
38
|
-
updated(changed) {
|
|
39
|
-
if (changed.has('currentPage') && this.currentPage) {
|
|
40
|
-
this.pageNumberInput.value = this.currentPage.toString();
|
|
41
|
-
}
|
|
42
|
-
if (changed.has('searchQuery')) {
|
|
43
|
-
this.queryUpdated();
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
queryUpdated() {
|
|
47
|
-
this.collectionBrowser.baseQuery = this.searchQuery;
|
|
48
|
-
}
|
|
49
|
-
render() {
|
|
50
|
-
var _a;
|
|
51
|
-
return html `
|
|
52
|
-
<div id="dev-tools">
|
|
53
|
-
<form @submit=${this.searchPressed}>
|
|
54
|
-
Query:
|
|
55
|
-
<input
|
|
56
|
-
type="text"
|
|
57
|
-
id="base-query-field"
|
|
58
|
-
.value=${(_a = this.searchQuery) !== null && _a !== void 0 ? _a : ''}
|
|
59
|
-
/>
|
|
60
|
-
<input type="submit" value="Search" />
|
|
61
|
-
</form>
|
|
62
|
-
|
|
63
|
-
<form @submit=${this.changePagePressed}>
|
|
64
|
-
Page: <input type="number" value="1" id="page-number-input" />
|
|
65
|
-
<input type="submit" value="Go" />
|
|
66
|
-
</form>
|
|
67
|
-
|
|
68
|
-
<div id="cell-controls">
|
|
69
|
-
<div id="cell-size-control">
|
|
70
|
-
<div>
|
|
71
|
-
<label for="cell-width-slider">Minimum cell width:</label>
|
|
72
|
-
<input
|
|
73
|
-
type="range"
|
|
74
|
-
min="10"
|
|
75
|
-
max="100"
|
|
76
|
-
value="18"
|
|
77
|
-
step="0.1"
|
|
78
|
-
id="cell-width-slider"
|
|
79
|
-
@input=${this.widthChanged}
|
|
80
|
-
/>
|
|
81
|
-
<span>${this.cellWidth}rem</span>
|
|
82
|
-
</div>
|
|
83
|
-
<div>
|
|
84
|
-
<label for="cell-height-slider">Cell height:</label>
|
|
85
|
-
<input
|
|
86
|
-
type="range"
|
|
87
|
-
min="10"
|
|
88
|
-
max="100"
|
|
89
|
-
value="29"
|
|
90
|
-
step="0.1"
|
|
91
|
-
id="cell-height-slider"
|
|
92
|
-
@input=${this.heightChanged}
|
|
93
|
-
/>
|
|
94
|
-
<span>${this.cellHeight}rem</span>
|
|
95
|
-
</div>
|
|
96
|
-
<div>
|
|
97
|
-
<label for="show-outline-check">Show outlines:</label>
|
|
98
|
-
<input
|
|
99
|
-
type="checkbox"
|
|
100
|
-
id="show-outline-check"
|
|
101
|
-
@click=${this.outlineChanged}
|
|
102
|
-
/>
|
|
103
|
-
</div>
|
|
104
|
-
<div>
|
|
105
|
-
<label for="simulate-login">Simulate Login:</label>
|
|
106
|
-
<input
|
|
107
|
-
type="checkbox"
|
|
108
|
-
id="simulate-login"
|
|
109
|
-
@click=${this.loginChanged}
|
|
110
|
-
/>
|
|
111
|
-
</div>
|
|
112
|
-
</div>
|
|
113
|
-
<div id="cell-gap-control">
|
|
114
|
-
<div>
|
|
115
|
-
<label for="cell-row-gap-slider">Row gap:</label>
|
|
116
|
-
<input
|
|
117
|
-
type="range"
|
|
118
|
-
min="0"
|
|
119
|
-
max="5"
|
|
120
|
-
value="1.7"
|
|
121
|
-
step="0.1"
|
|
122
|
-
id="cell-row-gap-slider"
|
|
123
|
-
@input=${this.rowGapChanged}
|
|
124
|
-
/>
|
|
125
|
-
<span>${this.rowGap}rem</span>
|
|
126
|
-
</div>
|
|
127
|
-
<div>
|
|
128
|
-
<label for="cell-col-gap-slider">Col gap:</label>
|
|
129
|
-
<input
|
|
130
|
-
type="range"
|
|
131
|
-
min="0"
|
|
132
|
-
max="5"
|
|
133
|
-
value="1.7"
|
|
134
|
-
step="0.1"
|
|
135
|
-
id="cell-col-gap-slider"
|
|
136
|
-
@input=${this.colGapChanged}
|
|
137
|
-
/>
|
|
138
|
-
<span>${this.colGap}rem</span>
|
|
139
|
-
</div>
|
|
140
|
-
</div>
|
|
141
|
-
</div>
|
|
142
|
-
</div>
|
|
143
|
-
|
|
144
|
-
<div id="collection-browser-container">
|
|
145
|
-
<collection-browser
|
|
146
|
-
.baseNavigationUrl=${'https://archive.org'}
|
|
147
|
-
.baseImageUrl=${'https://archive.org'}
|
|
148
|
-
.searchService=${this.searchService}
|
|
149
|
-
.resizeObserver=${this.resizeObserver}
|
|
150
|
-
.collectionNameCache=${this.collectionNameCache}
|
|
151
|
-
.showHistogramDatePicker=${true}
|
|
152
|
-
.loggedIn=${this.loggedIn}
|
|
153
|
-
@visiblePageChanged=${this.visiblePageChanged}
|
|
154
|
-
@baseQueryChanged=${this.baseQueryChanged}
|
|
155
|
-
>
|
|
156
|
-
</collection-browser>
|
|
157
|
-
</div>
|
|
158
|
-
`;
|
|
159
|
-
}
|
|
160
|
-
baseQueryChanged(e) {
|
|
161
|
-
this.searchQuery = e.detail.baseQuery;
|
|
162
|
-
}
|
|
163
|
-
loginChanged(e) {
|
|
164
|
-
const target = e.target;
|
|
165
|
-
if (target.checked) {
|
|
166
|
-
this.loggedIn = true;
|
|
167
|
-
}
|
|
168
|
-
else {
|
|
169
|
-
this.loggedIn = false;
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
outlineChanged(e) {
|
|
173
|
-
const target = e.target;
|
|
174
|
-
if (target.checked) {
|
|
175
|
-
this.collectionBrowser.style.setProperty('--infiniteScrollerCellOutline', '1px solid #33D1FF');
|
|
176
|
-
}
|
|
177
|
-
else {
|
|
178
|
-
this.collectionBrowser.style.removeProperty('--infiniteScrollerCellOutline');
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
rowGapChanged(e) {
|
|
182
|
-
const input = e.target;
|
|
183
|
-
this.rowGap = parseFloat(input.value);
|
|
184
|
-
this.collectionBrowser.style.setProperty('--collectionBrowserRowGap', `${input.value}rem`);
|
|
185
|
-
}
|
|
186
|
-
colGapChanged(e) {
|
|
187
|
-
const input = e.target;
|
|
188
|
-
this.colGap = parseFloat(input.value);
|
|
189
|
-
this.collectionBrowser.style.setProperty('--collectionBrowserColGap', `${input.value}rem`);
|
|
190
|
-
}
|
|
191
|
-
widthChanged(e) {
|
|
192
|
-
const input = e.target;
|
|
193
|
-
this.cellWidth = parseFloat(input.value);
|
|
194
|
-
this.collectionBrowser.style.setProperty('--collectionBrowserCellMinWidth', `${input.value}rem`);
|
|
195
|
-
}
|
|
196
|
-
heightChanged(e) {
|
|
197
|
-
const input = e.target;
|
|
198
|
-
this.cellHeight = parseFloat(input.value);
|
|
199
|
-
this.collectionBrowser.style.setProperty('--collectionBrowserCellMinHeight', `${input.value}rem`);
|
|
200
|
-
this.collectionBrowser.style.setProperty('--collectionBrowserCellMaxHeight', `${input.value}rem`);
|
|
201
|
-
}
|
|
202
|
-
visiblePageChanged(e) {
|
|
203
|
-
const { pageNumber } = e.detail;
|
|
204
|
-
if (pageNumber === this.currentPage)
|
|
205
|
-
return;
|
|
206
|
-
this.currentPage = pageNumber;
|
|
207
|
-
}
|
|
208
|
-
};
|
|
209
|
-
AppRoot.styles = css `
|
|
210
|
-
:host {
|
|
211
|
-
display: block;
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
input,
|
|
215
|
-
button {
|
|
216
|
-
font-size: 1.6rem;
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
collection-browser {
|
|
220
|
-
margin-top: 30rem;
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
#base-query-field {
|
|
224
|
-
width: 300px;
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
#dev-tools {
|
|
228
|
-
position: fixed;
|
|
229
|
-
top: 0;
|
|
230
|
-
left: 0;
|
|
231
|
-
z-index: 10;
|
|
232
|
-
-webkit-backdrop-filter: blur(10px);
|
|
233
|
-
backdrop-filter: blur(10px);
|
|
234
|
-
padding: 0.5rem 1rem;
|
|
235
|
-
border: 1px solid black;
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
#cell-controls {
|
|
239
|
-
display: flex;
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
#cell-controls label {
|
|
243
|
-
display: inline-block;
|
|
244
|
-
width: 10rem;
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
#cell-gap-control {
|
|
248
|
-
margin-left: 1rem;
|
|
249
|
-
}
|
|
250
|
-
`;
|
|
251
|
-
__decorate([
|
|
252
|
-
state()
|
|
253
|
-
], AppRoot.prototype, "currentPage", void 0);
|
|
254
|
-
__decorate([
|
|
255
|
-
state()
|
|
256
|
-
], AppRoot.prototype, "searchQuery", void 0);
|
|
257
|
-
__decorate([
|
|
258
|
-
state()
|
|
259
|
-
], AppRoot.prototype, "cellWidth", void 0);
|
|
260
|
-
__decorate([
|
|
261
|
-
state()
|
|
262
|
-
], AppRoot.prototype, "cellHeight", void 0);
|
|
263
|
-
__decorate([
|
|
264
|
-
state()
|
|
265
|
-
], AppRoot.prototype, "rowGap", void 0);
|
|
266
|
-
__decorate([
|
|
267
|
-
state()
|
|
268
|
-
], AppRoot.prototype, "colGap", void 0);
|
|
269
|
-
__decorate([
|
|
270
|
-
state()
|
|
271
|
-
], AppRoot.prototype, "loggedIn", void 0);
|
|
272
|
-
__decorate([
|
|
273
|
-
query('#base-query-field')
|
|
274
|
-
], AppRoot.prototype, "baseQueryField", void 0);
|
|
275
|
-
__decorate([
|
|
276
|
-
query('#page-number-input')
|
|
277
|
-
], AppRoot.prototype, "pageNumberInput", void 0);
|
|
278
|
-
__decorate([
|
|
279
|
-
query('collection-browser')
|
|
280
|
-
], AppRoot.prototype, "collectionBrowser", void 0);
|
|
281
|
-
AppRoot = __decorate([
|
|
282
|
-
customElement('app-root')
|
|
283
|
-
], AppRoot);
|
|
284
|
-
export { AppRoot };
|
|
285
|
-
//# sourceMappingURL=app-root.js.map
|
package/dist/src/app-root.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"app-root.js","sourceRoot":"","sources":["../../src/app-root.ts"],"names":[],"mappings":"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","sourcesContent":["import { SearchService } from '@internetarchive/search-service';\nimport { LocalCache } from '@internetarchive/local-cache';\nimport { html, css, LitElement, PropertyValues } from 'lit';\nimport { customElement, query, state } from 'lit/decorators.js';\nimport { SharedResizeObserver } from '@internetarchive/shared-resize-observer';\nimport { CollectionNameCache } from '@internetarchive/collection-name-cache';\nimport type { CollectionBrowser } from '../src/collection-browser';\nimport '../src/collection-browser';\n\n@customElement('app-root')\nexport class AppRoot extends LitElement {\n private searchService = SearchService.default;\n\n private resizeObserver = new SharedResizeObserver();\n\n private localCache = new LocalCache();\n\n private collectionNameCache = new CollectionNameCache({\n searchService: this.searchService,\n localCache: this.localCache,\n });\n\n @state() private currentPage?: number;\n\n @state() private searchQuery?: string;\n\n @state() private cellWidth: number = 18;\n\n @state() private cellHeight: number = 29;\n\n @state() private rowGap: number = 1.7;\n\n @state() private colGap: number = 1.7;\n\n @state() private loggedIn: boolean = false;\n\n @query('#base-query-field') private baseQueryField!: HTMLInputElement;\n\n @query('#page-number-input') private pageNumberInput!: HTMLInputElement;\n\n @query('collection-browser') private collectionBrowser!: CollectionBrowser;\n\n private searchPressed(e: Event) {\n e.preventDefault();\n this.searchQuery = this.baseQueryField.value;\n if ((this.currentPage ?? 1) > 1) {\n this.collectionBrowser.goToPage(this.currentPage ?? 1);\n }\n }\n\n private changePagePressed(e: Event) {\n e.preventDefault();\n this.currentPage = this.pageNumberInput.valueAsNumber;\n this.collectionBrowser.goToPage(this.currentPage);\n }\n\n protected updated(changed: PropertyValues): void {\n if (changed.has('currentPage') && this.currentPage) {\n this.pageNumberInput.value = this.currentPage.toString();\n }\n\n if (changed.has('searchQuery')) {\n this.queryUpdated();\n }\n }\n\n private queryUpdated() {\n this.collectionBrowser.baseQuery = this.searchQuery;\n }\n\n render() {\n return html`\n <div id=\"dev-tools\">\n <form @submit=${this.searchPressed}>\n Query:\n <input\n type=\"text\"\n id=\"base-query-field\"\n .value=${this.searchQuery ?? ''}\n />\n <input type=\"submit\" value=\"Search\" />\n </form>\n\n <form @submit=${this.changePagePressed}>\n Page: <input type=\"number\" value=\"1\" id=\"page-number-input\" />\n <input type=\"submit\" value=\"Go\" />\n </form>\n\n <div id=\"cell-controls\">\n <div id=\"cell-size-control\">\n <div>\n <label for=\"cell-width-slider\">Minimum cell width:</label>\n <input\n type=\"range\"\n min=\"10\"\n max=\"100\"\n value=\"18\"\n step=\"0.1\"\n id=\"cell-width-slider\"\n @input=${this.widthChanged}\n />\n <span>${this.cellWidth}rem</span>\n </div>\n <div>\n <label for=\"cell-height-slider\">Cell height:</label>\n <input\n type=\"range\"\n min=\"10\"\n max=\"100\"\n value=\"29\"\n step=\"0.1\"\n id=\"cell-height-slider\"\n @input=${this.heightChanged}\n />\n <span>${this.cellHeight}rem</span>\n </div>\n <div>\n <label for=\"show-outline-check\">Show outlines:</label>\n <input\n type=\"checkbox\"\n id=\"show-outline-check\"\n @click=${this.outlineChanged}\n />\n </div>\n <div>\n <label for=\"simulate-login\">Simulate Login:</label>\n <input\n type=\"checkbox\"\n id=\"simulate-login\"\n @click=${this.loginChanged}\n />\n </div>\n </div>\n <div id=\"cell-gap-control\">\n <div>\n <label for=\"cell-row-gap-slider\">Row gap:</label>\n <input\n type=\"range\"\n min=\"0\"\n max=\"5\"\n value=\"1.7\"\n step=\"0.1\"\n id=\"cell-row-gap-slider\"\n @input=${this.rowGapChanged}\n />\n <span>${this.rowGap}rem</span>\n </div>\n <div>\n <label for=\"cell-col-gap-slider\">Col gap:</label>\n <input\n type=\"range\"\n min=\"0\"\n max=\"5\"\n value=\"1.7\"\n step=\"0.1\"\n id=\"cell-col-gap-slider\"\n @input=${this.colGapChanged}\n />\n <span>${this.colGap}rem</span>\n </div>\n </div>\n </div>\n </div>\n\n <div id=\"collection-browser-container\">\n <collection-browser\n .baseNavigationUrl=${'https://archive.org'}\n .baseImageUrl=${'https://archive.org'}\n .searchService=${this.searchService}\n .resizeObserver=${this.resizeObserver}\n .collectionNameCache=${this.collectionNameCache}\n .showHistogramDatePicker=${true}\n .loggedIn=${this.loggedIn}\n @visiblePageChanged=${this.visiblePageChanged}\n @baseQueryChanged=${this.baseQueryChanged}\n >\n </collection-browser>\n </div>\n `;\n }\n\n private baseQueryChanged(e: CustomEvent<{ baseQuery?: string }>) {\n this.searchQuery = e.detail.baseQuery;\n }\n\n private loginChanged(e: Event) {\n const target = e.target as HTMLInputElement;\n if (target.checked) {\n this.loggedIn = true;\n } else {\n this.loggedIn = false;\n }\n }\n\n private outlineChanged(e: Event) {\n const target = e.target as HTMLInputElement;\n if (target.checked) {\n this.collectionBrowser.style.setProperty(\n '--infiniteScrollerCellOutline',\n '1px solid #33D1FF'\n );\n } else {\n this.collectionBrowser.style.removeProperty(\n '--infiniteScrollerCellOutline'\n );\n }\n }\n\n private rowGapChanged(e: Event) {\n const input = e.target as HTMLInputElement;\n this.rowGap = parseFloat(input.value);\n this.collectionBrowser.style.setProperty(\n '--collectionBrowserRowGap',\n `${input.value}rem`\n );\n }\n\n private colGapChanged(e: Event) {\n const input = e.target as HTMLInputElement;\n this.colGap = parseFloat(input.value);\n this.collectionBrowser.style.setProperty(\n '--collectionBrowserColGap',\n `${input.value}rem`\n );\n }\n\n private widthChanged(e: Event) {\n const input = e.target as HTMLInputElement;\n this.cellWidth = parseFloat(input.value);\n this.collectionBrowser.style.setProperty(\n '--collectionBrowserCellMinWidth',\n `${input.value}rem`\n );\n }\n\n private heightChanged(e: Event) {\n const input = e.target as HTMLInputElement;\n this.cellHeight = parseFloat(input.value);\n this.collectionBrowser.style.setProperty(\n '--collectionBrowserCellMinHeight',\n `${input.value}rem`\n );\n this.collectionBrowser.style.setProperty(\n '--collectionBrowserCellMaxHeight',\n `${input.value}rem`\n );\n }\n\n private visiblePageChanged(e: CustomEvent<{ pageNumber: number }>) {\n const { pageNumber } = e.detail;\n if (pageNumber === this.currentPage) return;\n this.currentPage = pageNumber;\n }\n\n static styles = css`\n :host {\n display: block;\n }\n\n input,\n button {\n font-size: 1.6rem;\n }\n\n collection-browser {\n margin-top: 30rem;\n }\n\n #base-query-field {\n width: 300px;\n }\n\n #dev-tools {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 10;\n -webkit-backdrop-filter: blur(10px);\n backdrop-filter: blur(10px);\n padding: 0.5rem 1rem;\n border: 1px solid black;\n }\n\n #cell-controls {\n display: flex;\n }\n\n #cell-controls label {\n display: inline-block;\n width: 10rem;\n }\n\n #cell-gap-control {\n margin-left: 1rem;\n }\n `;\n}\n"]}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { svg } from 'lit';
|
|
2
|
-
export default svg `<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><path d="m79.8883285 50.0035012.1116715-.1085359-43.1159942-46.61088155c-2.401537-2.18938917-4.6902018-3.28408375-6.8659943-3.28408375s-4.1642651.63837733-5.9654178 1.91513199c-1.8011528 1.27675467-3.1520173 2.97248092-4.0525937 5.08717877l39.4020173 42.99768924-39.4020173 42.9976892c.9005764 2.1146979 2.2514409 3.8104241 4.0525937 5.0871788 1.8011527 1.2767547 3.7896253 1.915132 5.9654178 1.915132 2.1013449 0 4.3900096-1.0573489 6.8659943-3.1720468l43.1159942-46.7194174z"/></svg>
|
|
3
|
-
`;
|
|
4
|
-
//# sourceMappingURL=chevron.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chevron.js","sourceRoot":"","sources":["../../../../../src/assets/img/icons/chevron.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,eAAe,GAAG,CAAA;CACjB,CAAC","sourcesContent":["import { svg } from 'lit';\n\nexport default svg`<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"m79.8883285 50.0035012.1116715-.1085359-43.1159942-46.61088155c-2.401537-2.18938917-4.6902018-3.28408375-6.8659943-3.28408375s-4.1642651.63837733-5.9654178 1.91513199c-1.8011528 1.27675467-3.1520173 2.97248092-4.0525937 5.08717877l39.4020173 42.99768924-39.4020173 42.9976892c.9005764 2.1146979 2.2514409 3.8104241 4.0525937 5.0871788 1.8011527 1.2767547 3.7896253 1.915132 5.9654178 1.915132 2.1013449 0 4.3900096-1.0573489 6.8659943-3.1720468l43.1159942-46.7194174z\"/></svg>\n`;\n"]}
|