@internetarchive/collection-browser 0.0.1-alpha.9 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -11
- package/demo/app-root.ts +16 -92
- package/dist/demo/app-root.d.ts +3 -5
- package/dist/demo/app-root.js +13 -83
- package/dist/demo/app-root.js.map +1 -1
- package/dist/index.d.ts +6 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/src/assets/img/icons/chevron.d.ts +2 -0
- package/dist/src/assets/img/icons/chevron.js +4 -0
- package/dist/src/assets/img/icons/chevron.js.map +1 -0
- package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -2
- package/dist/src/assets/img/icons/mediatype/account.js +6 -4
- package/dist/src/assets/img/icons/mediatype/account.js.map +1 -1
- package/dist/src/assets/img/icons/mediatype/audio.js +7 -4
- package/dist/src/assets/img/icons/mediatype/audio.js.map +1 -1
- package/dist/src/assets/img/icons/mediatype/collection.js +7 -4
- package/dist/src/assets/img/icons/mediatype/collection.js.map +1 -1
- package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -0
- package/dist/src/assets/img/icons/mediatype/data.js +15 -0
- package/dist/src/assets/img/icons/mediatype/data.js.map +1 -0
- package/dist/src/assets/img/icons/mediatype/etree.js +10 -5
- package/dist/src/assets/img/icons/mediatype/etree.js.map +1 -1
- package/dist/src/assets/img/icons/mediatype/film.js +2 -1
- package/dist/src/assets/img/icons/mediatype/film.js.map +1 -1
- package/dist/src/assets/img/icons/mediatype/images.js +9 -6
- package/dist/src/assets/img/icons/mediatype/images.js.map +1 -1
- package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -0
- package/dist/src/assets/img/icons/mediatype/radio.js +15 -0
- package/dist/src/assets/img/icons/mediatype/radio.js.map +1 -0
- package/dist/src/assets/img/icons/mediatype/software.js +9 -6
- package/dist/src/assets/img/icons/mediatype/software.js.map +1 -1
- package/dist/src/assets/img/icons/mediatype/texts.js +9 -6
- package/dist/src/assets/img/icons/mediatype/texts.js.map +1 -1
- package/dist/src/assets/img/icons/mediatype/tv.js +10 -5
- package/dist/src/assets/img/icons/mediatype/tv.js.map +1 -1
- package/dist/src/assets/img/icons/mediatype/video.js +10 -6
- package/dist/src/assets/img/icons/mediatype/video.js.map +1 -1
- package/dist/src/assets/img/icons/mediatype/web.js +9 -6
- package/dist/src/assets/img/icons/mediatype/web.js.map +1 -1
- package/dist/src/collection-browser.d.ts +53 -31
- package/dist/src/collection-browser.js +504 -166
- package/dist/src/collection-browser.js.map +1 -1
- package/dist/src/collection-facets.d.ts +28 -13
- package/dist/src/collection-facets.js +276 -160
- package/dist/src/collection-facets.js.map +1 -1
- package/dist/src/language-code-handler/language-code-handler.d.ts +37 -0
- package/dist/src/language-code-handler/language-code-handler.js +27 -0
- package/dist/src/language-code-handler/language-code-handler.js.map +1 -0
- package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -0
- package/dist/src/language-code-handler/language-code-mapping.js +563 -0
- package/dist/src/language-code-handler/language-code-mapping.js.map +1 -0
- package/dist/src/mediatype/mediatype-config.d.ts +3 -0
- package/dist/src/mediatype/mediatype-config.js +86 -0
- package/dist/src/mediatype/mediatype-config.js.map +1 -0
- package/dist/src/models.d.ts +72 -13
- package/dist/src/models.js +57 -1
- package/dist/src/models.js.map +1 -1
- package/dist/src/restoration-state-handler.d.ts +38 -0
- package/dist/src/restoration-state-handler.js +204 -0
- package/dist/src/restoration-state-handler.js.map +1 -0
- package/dist/src/sort-filter-bar/alpha-bar.d.ts +1 -1
- package/dist/src/sort-filter-bar/alpha-bar.js +9 -2
- package/dist/src/sort-filter-bar/alpha-bar.js.map +1 -1
- package/dist/src/sort-filter-bar/img/compact.d.ts +1 -0
- package/dist/src/sort-filter-bar/img/compact.js +5 -0
- package/dist/src/sort-filter-bar/img/compact.js.map +1 -0
- package/dist/src/sort-filter-bar/img/list.js +1 -1
- package/dist/src/sort-filter-bar/img/list.js.map +1 -1
- package/dist/src/sort-filter-bar/img/tile.d.ts +1 -0
- package/dist/src/sort-filter-bar/img/tile.js +5 -0
- package/dist/src/sort-filter-bar/img/tile.js.map +1 -0
- package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +71 -14
- package/dist/src/sort-filter-bar/sort-filter-bar.js +499 -216
- package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
- package/dist/src/tiles/{loading-tile.d.ts → collection-browser-loading-tile.d.ts} +1 -1
- package/dist/src/tiles/collection-browser-loading-tile.js +32 -0
- package/dist/src/tiles/collection-browser-loading-tile.js.map +1 -0
- package/dist/src/tiles/grid/account-tile.d.ts +1 -1
- package/dist/src/tiles/grid/account-tile.js +5 -5
- package/dist/src/tiles/grid/account-tile.js.map +1 -1
- package/dist/src/tiles/grid/collection-tile.js +1 -2
- package/dist/src/tiles/grid/collection-tile.js.map +1 -1
- package/dist/src/tiles/grid/icons/views.d.ts +1 -1
- package/dist/src/tiles/grid/icons/views.js +2 -2
- package/dist/src/tiles/grid/icons/views.js.map +1 -1
- package/dist/src/tiles/grid/item-tile.d.ts +2 -2
- package/dist/src/tiles/grid/item-tile.js +57 -151
- package/dist/src/tiles/grid/item-tile.js.map +1 -1
- package/dist/src/tiles/item-image.d.ts +19 -0
- package/dist/src/tiles/item-image.js +204 -0
- package/dist/src/tiles/item-image.js.map +1 -0
- package/dist/src/tiles/list/account-label.d.ts +1 -0
- package/dist/src/tiles/list/account-label.js +7 -0
- package/dist/src/tiles/list/account-label.js.map +1 -0
- package/dist/src/tiles/list/date-label.d.ts +1 -0
- package/dist/src/tiles/list/date-label.js +13 -0
- package/dist/src/tiles/list/date-label.js.map +1 -0
- package/dist/src/tiles/list/tile-list-compact-header.d.ts +12 -0
- package/dist/src/tiles/list/tile-list-compact-header.js +84 -0
- package/dist/src/tiles/list/tile-list-compact-header.js.map +1 -0
- package/dist/src/tiles/list/tile-list-compact.d.ts +12 -0
- package/dist/src/tiles/list/tile-list-compact.js +203 -6
- package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
- package/dist/src/tiles/list/tile-list.d.ts +35 -10
- package/dist/src/tiles/list/tile-list.js +368 -104
- package/dist/src/tiles/list/tile-list.js.map +1 -1
- package/dist/src/{mediatype-icon.d.ts → tiles/mediatype-icon.d.ts} +2 -2
- package/dist/src/tiles/mediatype-icon.js +78 -0
- package/dist/src/tiles/mediatype-icon.js.map +1 -0
- package/dist/src/tiles/tile-dispatcher.d.ts +11 -4
- package/dist/src/tiles/tile-dispatcher.js +56 -19
- package/dist/src/tiles/tile-dispatcher.js.map +1 -1
- package/dist/src/utils/format-date.js +2 -2
- package/dist/src/utils/format-date.js.map +1 -1
- package/dist/test/collection-browser.test.d.ts +1 -0
- package/dist/test/collection-browser.test.js +16 -2
- package/dist/test/collection-browser.test.js.map +1 -1
- package/dist/test/mediatype-config.test.d.ts +1 -0
- package/dist/test/mediatype-config.test.js +17 -0
- package/dist/test/mediatype-config.test.js.map +1 -0
- package/dist/test/utils/format-date.test.js +1 -1
- package/dist/test/utils/format-date.test.js.map +1 -1
- package/index.ts +6 -0
- package/local.archive.org.cert +86 -0
- package/local.archive.org.key +27 -0
- package/package.json +9 -5
- package/src/assets/img/icons/chevron.ts +4 -0
- package/src/assets/img/icons/mediatype/account.ts +6 -4
- package/src/assets/img/icons/mediatype/audio.ts +7 -4
- package/src/assets/img/icons/mediatype/collection.ts +7 -4
- package/src/assets/img/icons/mediatype/data.ts +15 -0
- package/src/assets/img/icons/mediatype/etree.ts +10 -5
- package/src/assets/img/icons/mediatype/film.ts +2 -1
- package/src/assets/img/icons/mediatype/images.ts +9 -6
- package/src/assets/img/icons/mediatype/radio.ts +15 -0
- package/src/assets/img/icons/mediatype/software.ts +9 -6
- package/src/assets/img/icons/mediatype/texts.ts +9 -6
- package/src/assets/img/icons/mediatype/tv.ts +10 -5
- package/src/assets/img/icons/mediatype/video.ts +10 -6
- package/src/assets/img/icons/mediatype/web.ts +9 -6
- package/src/collection-browser.ts +529 -163
- package/src/collection-facets.ts +307 -205
- package/src/language-code-handler/language-code-handler.ts +64 -0
- package/src/language-code-handler/language-code-mapping.ts +564 -0
- package/src/mediatype/mediatype-config.ts +86 -0
- package/src/models.ts +141 -13
- package/src/restoration-state-handler.ts +266 -0
- package/src/sort-filter-bar/alpha-bar.ts +9 -3
- package/src/sort-filter-bar/img/compact.ts +5 -0
- package/src/sort-filter-bar/img/list.ts +1 -1
- package/src/sort-filter-bar/img/tile.ts +5 -0
- package/src/sort-filter-bar/sort-filter-bar.ts +557 -225
- package/src/tiles/collection-browser-loading-tile.ts +29 -0
- package/src/tiles/grid/account-tile.ts +1 -1
- package/src/tiles/grid/collection-tile.ts +1 -2
- package/src/tiles/grid/icons/views.ts +2 -2
- package/src/tiles/grid/item-tile.ts +56 -163
- package/src/tiles/item-image.ts +206 -0
- package/src/tiles/list/account-label.ts +6 -0
- package/src/tiles/list/date-label.ts +12 -0
- package/src/tiles/list/tile-list-compact-header.ts +77 -0
- package/src/tiles/list/tile-list-compact.ts +218 -0
- package/src/tiles/list/tile-list.ts +412 -107
- package/src/tiles/mediatype-icon.ts +75 -0
- package/src/tiles/tile-dispatcher.ts +66 -18
- package/src/utils/format-date.ts +2 -2
- package/test/collection-browser.test.ts +20 -1
- package/test/mediatype-config.test.ts +18 -0
- package/test/utils/format-date.test.ts +1 -1
- package/web-dev-server.config.mjs +3 -1
- package/dist/src/mediatype-icon.js +0 -89
- package/dist/src/mediatype-icon.js.map +0 -1
- package/dist/src/sort-filter-bar/img/grid.d.ts +0 -1
- package/dist/src/sort-filter-bar/img/grid.js +0 -5
- package/dist/src/sort-filter-bar/img/grid.js.map +0 -1
- package/dist/src/tiles/list/tile-list-detail.d.ts +0 -7
- package/dist/src/tiles/list/tile-list-detail.js +0 -28
- package/dist/src/tiles/list/tile-list-detail.js.map +0 -1
- package/dist/src/tiles/loading-tile.js +0 -73
- package/dist/src/tiles/loading-tile.js.map +0 -1
- package/src/mediatype-icon.ts +0 -83
- package/src/sort-filter-bar/img/grid.ts +0 -5
- package/src/tiles/loading-tile.ts +0 -70
|
@@ -5,52 +5,84 @@ import {
|
|
|
5
5
|
SharedResizeObserverInterface,
|
|
6
6
|
SharedResizeObserverResizeHandlerInterface,
|
|
7
7
|
} from '@internetarchive/shared-resize-observer';
|
|
8
|
+
import type { CollectionNameCacheInterface } from '@internetarchive/collection-name-cache';
|
|
8
9
|
import { SortParam } from '@internetarchive/search-service';
|
|
9
|
-
import type {
|
|
10
|
+
import type { TileDisplayMode, TileModel } from '../models';
|
|
10
11
|
import './grid/collection-tile';
|
|
11
12
|
import './grid/item-tile';
|
|
12
13
|
import './grid/account-tile';
|
|
13
14
|
import './list/tile-list';
|
|
15
|
+
import './list/tile-list-compact';
|
|
16
|
+
import './list/tile-list-compact-header';
|
|
14
17
|
|
|
15
18
|
@customElement('tile-dispatcher')
|
|
16
19
|
export class TileDispatcher
|
|
17
20
|
extends LitElement
|
|
18
21
|
implements SharedResizeObserverResizeHandlerInterface
|
|
19
22
|
{
|
|
20
|
-
@property({ type: String })
|
|
23
|
+
@property({ type: String }) tileDisplayMode?: TileDisplayMode;
|
|
21
24
|
|
|
22
25
|
@property({ type: Object }) model?: TileModel;
|
|
23
26
|
|
|
24
27
|
@property({ type: String }) baseNavigationUrl?: string;
|
|
25
28
|
|
|
26
|
-
@property({ type: Boolean }) showDeleteButton = false;
|
|
27
|
-
|
|
28
29
|
@property({ type: Number }) currentWidth?: number;
|
|
29
30
|
|
|
30
31
|
@property({ type: Number }) currentHeight?: number;
|
|
31
32
|
|
|
32
33
|
@property({ type: Object }) resizeObserver?: SharedResizeObserverInterface;
|
|
33
34
|
|
|
34
|
-
@property({ type: Object })
|
|
35
|
+
@property({ type: Object })
|
|
36
|
+
collectionNameCache?: CollectionNameCacheInterface;
|
|
37
|
+
|
|
38
|
+
@property({ type: Object }) sortParam: SortParam | null = null;
|
|
35
39
|
|
|
36
40
|
@query('#container') private container!: HTMLDivElement;
|
|
37
41
|
|
|
42
|
+
@property({ type: Number }) mobileBreakpoint?: number;
|
|
43
|
+
|
|
38
44
|
render() {
|
|
39
45
|
return html`
|
|
40
46
|
<div id="container">
|
|
41
|
-
${this.
|
|
42
|
-
?
|
|
43
|
-
:
|
|
44
|
-
<a
|
|
45
|
-
href="${this.baseNavigationUrl}/details/${this.model?.identifier}"
|
|
46
|
-
title=${ifDefined(this.model?.title)}
|
|
47
|
-
>
|
|
48
|
-
${this.tile}
|
|
49
|
-
</a>
|
|
47
|
+
${this.tileDisplayMode === 'list-header'
|
|
48
|
+
? this.headerTemplate
|
|
49
|
+
: this.tileTemplate}
|
|
50
50
|
</div>
|
|
51
51
|
`;
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
+
private get headerTemplate() {
|
|
55
|
+
const { currentWidth, sortParam, mobileBreakpoint } = this;
|
|
56
|
+
return html`
|
|
57
|
+
<tile-list-compact-header
|
|
58
|
+
class="header"
|
|
59
|
+
.currentWidth=${currentWidth}
|
|
60
|
+
.sortParam=${sortParam}
|
|
61
|
+
.mobileBreakpoint=${mobileBreakpoint}
|
|
62
|
+
>
|
|
63
|
+
</tile-list-compact-header>
|
|
64
|
+
`;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
private get tileTemplate() {
|
|
68
|
+
return html`
|
|
69
|
+
${this.tileDisplayMode === 'list-detail'
|
|
70
|
+
? this.tile
|
|
71
|
+
: this.linkTileTemplate}
|
|
72
|
+
`;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
private get linkTileTemplate() {
|
|
76
|
+
return html`
|
|
77
|
+
<a
|
|
78
|
+
href="${this.baseNavigationUrl}/details/${this.model?.identifier}"
|
|
79
|
+
title=${ifDefined(this.model?.title)}
|
|
80
|
+
>
|
|
81
|
+
${this.tile}
|
|
82
|
+
</a>
|
|
83
|
+
`;
|
|
84
|
+
}
|
|
85
|
+
|
|
54
86
|
handleResize(entry: ResizeObserverEntry): void {
|
|
55
87
|
this.currentWidth = entry.contentRect.width;
|
|
56
88
|
this.currentHeight = entry.contentRect.height;
|
|
@@ -86,12 +118,18 @@ export class TileDispatcher
|
|
|
86
118
|
}
|
|
87
119
|
|
|
88
120
|
private get tile() {
|
|
89
|
-
const {
|
|
90
|
-
|
|
121
|
+
const {
|
|
122
|
+
model,
|
|
123
|
+
baseNavigationUrl,
|
|
124
|
+
currentWidth,
|
|
125
|
+
currentHeight,
|
|
126
|
+
sortParam,
|
|
127
|
+
mobileBreakpoint,
|
|
128
|
+
} = this;
|
|
91
129
|
|
|
92
130
|
if (!model) return nothing;
|
|
93
131
|
|
|
94
|
-
switch (this.
|
|
132
|
+
switch (this.tileDisplayMode) {
|
|
95
133
|
case 'grid':
|
|
96
134
|
switch (model.mediatype) {
|
|
97
135
|
case 'collection':
|
|
@@ -113,17 +151,27 @@ export class TileDispatcher
|
|
|
113
151
|
.baseNavigationUrl=${this.baseNavigationUrl}
|
|
114
152
|
.currentWidth=${this.currentWidth}
|
|
115
153
|
.currentHeight=${this.currentHeight}
|
|
154
|
+
.collectionNameCache=${this.collectionNameCache}
|
|
116
155
|
></item-tile>`;
|
|
117
156
|
}
|
|
118
157
|
case 'list-compact':
|
|
158
|
+
return html`<tile-list-compact
|
|
159
|
+
.model=${model}
|
|
160
|
+
.currentWidth=${currentWidth}
|
|
161
|
+
.currentHeight=${currentHeight}
|
|
162
|
+
.baseNavigationUrl=${baseNavigationUrl}
|
|
163
|
+
.sortParam=${sortParam}
|
|
164
|
+
.mobileBreakpoint=${mobileBreakpoint}
|
|
165
|
+
></tile-list-compact>`;
|
|
119
166
|
case 'list-detail':
|
|
120
167
|
return html`<tile-list
|
|
121
168
|
.model=${model}
|
|
169
|
+
.collectionNameCache=${this.collectionNameCache}
|
|
122
170
|
.currentWidth=${currentWidth}
|
|
123
171
|
.currentHeight=${currentHeight}
|
|
124
172
|
.baseNavigationUrl=${baseNavigationUrl}
|
|
125
173
|
.sortParam=${sortParam}
|
|
126
|
-
.
|
|
174
|
+
.mobileBreakpoint=${mobileBreakpoint}
|
|
127
175
|
></tile-list>`;
|
|
128
176
|
default:
|
|
129
177
|
return nothing;
|
package/src/utils/format-date.ts
CHANGED
|
@@ -1 +1,20 @@
|
|
|
1
|
-
|
|
1
|
+
/* eslint-disable import/no-duplicates */
|
|
2
|
+
import { expect, fixture } from '@open-wc/testing';
|
|
3
|
+
import { html } from 'lit';
|
|
4
|
+
import { CollectionBrowser } from '../src/collection-browser';
|
|
5
|
+
import '../src/collection-browser';
|
|
6
|
+
|
|
7
|
+
describe('Collection Browser', () => {
|
|
8
|
+
it('should render with a sort bar, facets, and infinite scroller', async () => {
|
|
9
|
+
const el = await fixture<CollectionBrowser>(
|
|
10
|
+
html`<collection-browser></collection-browser>`
|
|
11
|
+
);
|
|
12
|
+
|
|
13
|
+
const facets = el.shadowRoot?.querySelector('collection-facets');
|
|
14
|
+
const sortBar = el.shadowRoot?.querySelector('sort-filter-bar');
|
|
15
|
+
const infiniteScroller = el.shadowRoot?.querySelector('infinite-scroller');
|
|
16
|
+
expect(facets).to.exist;
|
|
17
|
+
expect(sortBar).to.exist;
|
|
18
|
+
expect(infiniteScroller).to.exist;
|
|
19
|
+
});
|
|
20
|
+
});
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { expect } from '@open-wc/testing';
|
|
2
|
+
import { mediatypeConfig } from '../src/mediatype/mediatype-config';
|
|
3
|
+
|
|
4
|
+
describe('mediatypeConfig', () => {
|
|
5
|
+
it('returns undefined', () => {
|
|
6
|
+
expect(mediatypeConfig['']).to.equal(undefined);
|
|
7
|
+
expect(mediatypeConfig.test).to.equal(undefined);
|
|
8
|
+
expect(mediatypeConfig.media).to.equal(undefined);
|
|
9
|
+
expect(mediatypeConfig.testing).to.equal(undefined);
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
it('returns audio', () => {
|
|
13
|
+
expect(mediatypeConfig.audio).to.exist;
|
|
14
|
+
expect(mediatypeConfig.audio.color).to.exist;
|
|
15
|
+
expect(mediatypeConfig.audio.icon).to.exist;
|
|
16
|
+
expect(mediatypeConfig.audio.text).to.exist;
|
|
17
|
+
});
|
|
18
|
+
});
|
|
@@ -9,7 +9,7 @@ describe('formatDate', () => {
|
|
|
9
9
|
});
|
|
10
10
|
|
|
11
11
|
it('returns short date when no DateFormat', () => {
|
|
12
|
-
expect(formatDate(testDate)).to.equal('
|
|
12
|
+
expect(formatDate(testDate)).to.equal('Dec 2020');
|
|
13
13
|
});
|
|
14
14
|
|
|
15
15
|
it('returns long date when long DateFormat', () => {
|
|
@@ -24,5 +24,7 @@ export default /** @type {import('@web/dev-server').DevServerConfig} */ ({
|
|
|
24
24
|
// hmr && hmrPlugin({ exclude: ['**/*/node_modules/**/*'], presets: [presets.litElement] }),
|
|
25
25
|
],
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
http2: true,
|
|
28
|
+
sslCert: './local.archive.org.cert',
|
|
29
|
+
sslKey: './local.archive.org.key',
|
|
28
30
|
});
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { css, html, LitElement } from 'lit';
|
|
3
|
-
import { customElement, property } from 'lit/decorators.js';
|
|
4
|
-
import { audioIcon } from './assets/img/icons/mediatype/audio';
|
|
5
|
-
import { etreeIcon } from './assets/img/icons/mediatype/etree';
|
|
6
|
-
import { imagesIcon } from './assets/img/icons/mediatype/images';
|
|
7
|
-
import { filmIcon } from './assets/img/icons/mediatype/film';
|
|
8
|
-
import { softwareIcon } from './assets/img/icons/mediatype/software';
|
|
9
|
-
import { textsIcon } from './assets/img/icons/mediatype/texts';
|
|
10
|
-
import { tvIcon } from './assets/img/icons/mediatype/tv';
|
|
11
|
-
import { videoIcon } from './assets/img/icons/mediatype/video';
|
|
12
|
-
import { webIcon } from './assets/img/icons/mediatype/web';
|
|
13
|
-
import { collectionIcon } from './assets/img/icons/mediatype/collection';
|
|
14
|
-
let MediatypeIcon = class MediatypeIcon extends LitElement {
|
|
15
|
-
constructor() {
|
|
16
|
-
super(...arguments);
|
|
17
|
-
this.showText = false;
|
|
18
|
-
this.mediatypeIcons = {
|
|
19
|
-
audio: audioIcon,
|
|
20
|
-
collection: collectionIcon,
|
|
21
|
-
data: etreeIcon,
|
|
22
|
-
etree: etreeIcon,
|
|
23
|
-
film: filmIcon,
|
|
24
|
-
image: imagesIcon,
|
|
25
|
-
movies: filmIcon,
|
|
26
|
-
software: softwareIcon,
|
|
27
|
-
texts: textsIcon,
|
|
28
|
-
tv: tvIcon,
|
|
29
|
-
video: videoIcon,
|
|
30
|
-
web: webIcon,
|
|
31
|
-
};
|
|
32
|
-
this.mediatypeText = {
|
|
33
|
-
audio: 'Audio',
|
|
34
|
-
collection: 'Collection',
|
|
35
|
-
data: 'Data',
|
|
36
|
-
etree: 'E-tree',
|
|
37
|
-
film: 'Film',
|
|
38
|
-
image: 'Image',
|
|
39
|
-
movies: 'Movie',
|
|
40
|
-
software: 'Software',
|
|
41
|
-
texts: 'Text',
|
|
42
|
-
tv: 'TV',
|
|
43
|
-
video: 'Video',
|
|
44
|
-
web: 'Web',
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
render() {
|
|
48
|
-
if (!this.mediatype) {
|
|
49
|
-
return html ``;
|
|
50
|
-
}
|
|
51
|
-
return html `
|
|
52
|
-
<div id="icon" class="${this.showText ? 'show-text' : 'hide-text'}">
|
|
53
|
-
${this.mediatypeIcons[this.mediatype]}
|
|
54
|
-
<p class="status-text">${this.mediatypeText[this.mediatype]}</p>
|
|
55
|
-
</div>
|
|
56
|
-
`;
|
|
57
|
-
}
|
|
58
|
-
static get styles() {
|
|
59
|
-
return css `
|
|
60
|
-
.status-text {
|
|
61
|
-
font-size: 14px;
|
|
62
|
-
color: #2c2c2c;
|
|
63
|
-
margin: auto;
|
|
64
|
-
display: block;
|
|
65
|
-
text-align: center;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
#icon.hide-text p {
|
|
69
|
-
display: none;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
#icon.show-text svg {
|
|
73
|
-
height: 10px;
|
|
74
|
-
width: 10px;
|
|
75
|
-
}
|
|
76
|
-
`;
|
|
77
|
-
}
|
|
78
|
-
};
|
|
79
|
-
__decorate([
|
|
80
|
-
property({ type: String })
|
|
81
|
-
], MediatypeIcon.prototype, "mediatype", void 0);
|
|
82
|
-
__decorate([
|
|
83
|
-
property({ type: Boolean })
|
|
84
|
-
], MediatypeIcon.prototype, "showText", void 0);
|
|
85
|
-
MediatypeIcon = __decorate([
|
|
86
|
-
customElement('mediatype-icon')
|
|
87
|
-
], MediatypeIcon);
|
|
88
|
-
export { MediatypeIcon };
|
|
89
|
-
//# sourceMappingURL=mediatype-icon.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mediatype-icon.js","sourceRoot":"","sources":["../../src/mediatype-icon.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAkB,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAGzE,IAAa,aAAa,GAA1B,MAAa,aAAc,SAAQ,UAAU;IAA7C;;QAG+B,aAAQ,GAAG,KAAK,CAAC;QAE7B,mBAAc,GAA2B;YACxD,KAAK,EAAE,SAAS;YAChB,UAAU,EAAE,cAAc;YAC1B,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,YAAY;YACtB,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,MAAM;YACV,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,OAAO;SACb,CAAC;QAEe,kBAAa,GAA2B;YACvD,KAAK,EAAE,OAAO;YACd,UAAU,EAAE,YAAY;YACxB,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,OAAO;YACf,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,MAAM;YACb,EAAE,EAAE,IAAI;YACR,KAAK,EAAE,OAAO;YACd,GAAG,EAAE,KAAK;SACX,CAAC;IAkCJ,CAAC;IAhCC,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,OAAO,IAAI,CAAA,EAAE,CAAC;SACf;QACD,OAAO,IAAI,CAAA;8BACe,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW;UAC7D,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC;iCACZ,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;;KAE9D,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,MAAM;QACf,OAAO,GAAG,CAAA;;;;;;;;;;;;;;;;;KAiBT,CAAC;IACJ,CAAC;CACF,CAAA;AAlE6B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gDAA+B;AAE7B;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;+CAAkB;AAHnC,aAAa;IADzB,aAAa,CAAC,gBAAgB,CAAC;GACnB,aAAa,CAmEzB;SAnEY,aAAa","sourcesContent":["import { css, CSSResultGroup, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\nimport { audioIcon } from './assets/img/icons/mediatype/audio';\nimport { etreeIcon } from './assets/img/icons/mediatype/etree';\nimport { imagesIcon } from './assets/img/icons/mediatype/images';\nimport { filmIcon } from './assets/img/icons/mediatype/film';\nimport { softwareIcon } from './assets/img/icons/mediatype/software';\nimport { textsIcon } from './assets/img/icons/mediatype/texts';\nimport { tvIcon } from './assets/img/icons/mediatype/tv';\nimport { videoIcon } from './assets/img/icons/mediatype/video';\nimport { webIcon } from './assets/img/icons/mediatype/web';\nimport { collectionIcon } from './assets/img/icons/mediatype/collection';\n\n@customElement('mediatype-icon')\nexport class MediatypeIcon extends LitElement {\n @property({ type: String }) mediatype: string | undefined;\n\n @property({ type: Boolean }) showText = false;\n\n private readonly mediatypeIcons: { [key: string]: any } = {\n audio: audioIcon,\n collection: collectionIcon,\n data: etreeIcon,\n etree: etreeIcon,\n film: filmIcon,\n image: imagesIcon,\n movies: filmIcon,\n software: softwareIcon,\n texts: textsIcon,\n tv: tvIcon,\n video: videoIcon,\n web: webIcon,\n };\n\n private readonly mediatypeText: { [key: string]: any } = {\n audio: 'Audio',\n collection: 'Collection',\n data: 'Data',\n etree: 'E-tree',\n film: 'Film',\n image: 'Image',\n movies: 'Movie',\n software: 'Software',\n texts: 'Text',\n tv: 'TV',\n video: 'Video',\n web: 'Web',\n };\n\n render() {\n if (!this.mediatype) {\n return html``;\n }\n return html`\n <div id=\"icon\" class=\"${this.showText ? 'show-text' : 'hide-text'}\">\n ${this.mediatypeIcons[this.mediatype]}\n <p class=\"status-text\">${this.mediatypeText[this.mediatype]}</p>\n </div>\n `;\n }\n\n static get styles(): CSSResultGroup {\n return css`\n .status-text {\n font-size: 14px;\n color: #2c2c2c;\n margin: auto;\n display: block;\n text-align: center;\n }\n\n #icon.hide-text p {\n display: none;\n }\n\n #icon.show-text svg {\n height: 10px;\n width: 10px;\n }\n `;\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const gridIcon: import("lit-html").TemplateResult<2>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"grid.js","sourceRoot":"","sources":["../../../../src/sort-filter-bar/img/grid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAA;;CAE1B,CAAC","sourcesContent":["import { svg } from 'lit';\n\nexport const gridIcon = svg`\n<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"m45 13h-45v60h45zm55 0h-45v32h45zm0 42h-45v32h45z\"/></svg>\n`;\n"]}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { css, html, LitElement } from 'lit';
|
|
3
|
-
import { customElement, property } from 'lit/decorators.js';
|
|
4
|
-
let TileListDetail = class TileListDetail extends LitElement {
|
|
5
|
-
render() {
|
|
6
|
-
var _a, _b, _c, _d;
|
|
7
|
-
return html `
|
|
8
|
-
<h1>${(_a = this.model) === null || _a === void 0 ? void 0 : _a.title}</h1>
|
|
9
|
-
<h2>${(_c = (_b = this.model) === null || _b === void 0 ? void 0 : _b.datePublished) === null || _c === void 0 ? void 0 : _c.toDateString()}</h2>
|
|
10
|
-
<p>${(_d = this.model) === null || _d === void 0 ? void 0 : _d.description}</p>
|
|
11
|
-
`;
|
|
12
|
-
}
|
|
13
|
-
static get styles() {
|
|
14
|
-
return css `
|
|
15
|
-
h1 {
|
|
16
|
-
margin-top: 0;
|
|
17
|
-
}
|
|
18
|
-
`;
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
__decorate([
|
|
22
|
-
property({ type: Object })
|
|
23
|
-
], TileListDetail.prototype, "model", void 0);
|
|
24
|
-
TileListDetail = __decorate([
|
|
25
|
-
customElement('tile-list-detail')
|
|
26
|
-
], TileListDetail);
|
|
27
|
-
export { TileListDetail };
|
|
28
|
-
//# sourceMappingURL=tile-list-detail.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tile-list-detail.js","sourceRoot":"","sources":["../../../../src/tiles/list/tile-list-detail.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;AAI5D,IAAa,cAAc,GAA3B,MAAa,cAAe,SAAQ,UAAU;IAG5C,MAAM;;QACJ,OAAO,IAAI,CAAA;YACH,MAAA,IAAI,CAAC,KAAK,0CAAE,KAAK;YACjB,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,aAAa,0CAAE,YAAY,EAAE;WAC1C,MAAA,IAAI,CAAC,KAAK,0CAAE,WAAW;KAC7B,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,MAAM;QACf,OAAO,GAAG,CAAA;;;;KAIT,CAAC;IACJ,CAAC;CACF,CAAA;AAjB6B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6CAAmB;AADnC,cAAc;IAD1B,aAAa,CAAC,kBAAkB,CAAC;GACrB,cAAc,CAkB1B;SAlBY,cAAc","sourcesContent":["import { css, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { TileModel } from '../../models';\n\n@customElement('tile-list-detail')\nexport class TileListDetail extends LitElement {\n @property({ type: Object }) model?: TileModel;\n\n render() {\n return html`\n <h1>${this.model?.title}</h1>\n <h2>${this.model?.datePublished?.toDateString()}</h2>\n <p>${this.model?.description}</p>\n `;\n }\n\n static get styles() {\n return css`\n h1 {\n margin-top: 0;\n }\n `;\n }\n}\n"]}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { css, html, LitElement } from 'lit';
|
|
3
|
-
import { customElement } from 'lit/decorators.js';
|
|
4
|
-
let LoadingTile = class LoadingTile extends LitElement {
|
|
5
|
-
render() {
|
|
6
|
-
return html ` <div id="container"></div> `;
|
|
7
|
-
}
|
|
8
|
-
static get styles() {
|
|
9
|
-
return css `
|
|
10
|
-
:host {
|
|
11
|
-
display: block;
|
|
12
|
-
height: 100%;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
#container {
|
|
16
|
-
background: linear-gradient(
|
|
17
|
-
to right,
|
|
18
|
-
rgba(25, 69, 154, 0.1),
|
|
19
|
-
rgb(105, 161, 234, 0.2)
|
|
20
|
-
);
|
|
21
|
-
background-size: 400% 400%;
|
|
22
|
-
|
|
23
|
-
-webkit-animation: AnimationName 4s ease infinite;
|
|
24
|
-
-moz-animation: AnimationName 4s ease infinite;
|
|
25
|
-
animation: AnimationName 4s ease infinite;
|
|
26
|
-
|
|
27
|
-
display: block;
|
|
28
|
-
height: 100%;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
@-webkit-keyframes AnimationName {
|
|
32
|
-
0% {
|
|
33
|
-
background-position: 0% 50%;
|
|
34
|
-
}
|
|
35
|
-
50% {
|
|
36
|
-
background-position: 100% 50%;
|
|
37
|
-
}
|
|
38
|
-
100% {
|
|
39
|
-
background-position: 0% 50%;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
@-moz-keyframes AnimationName {
|
|
44
|
-
0% {
|
|
45
|
-
background-position: 0% 50%;
|
|
46
|
-
}
|
|
47
|
-
50% {
|
|
48
|
-
background-position: 100% 50%;
|
|
49
|
-
}
|
|
50
|
-
100% {
|
|
51
|
-
background-position: 0% 50%;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
@keyframes AnimationName {
|
|
56
|
-
0% {
|
|
57
|
-
background-position: 0% 50%;
|
|
58
|
-
}
|
|
59
|
-
50% {
|
|
60
|
-
background-position: 100% 50%;
|
|
61
|
-
}
|
|
62
|
-
100% {
|
|
63
|
-
background-position: 0% 50%;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
`;
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
LoadingTile = __decorate([
|
|
70
|
-
customElement('loading-tile')
|
|
71
|
-
], LoadingTile);
|
|
72
|
-
export { LoadingTile };
|
|
73
|
-
//# sourceMappingURL=loading-tile.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"loading-tile.js","sourceRoot":"","sources":["../../../src/tiles/loading-tile.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD,IAAa,WAAW,GAAxB,MAAa,WAAY,SAAQ,UAAU;IACzC,MAAM;QACJ,OAAO,IAAI,CAAA,8BAA8B,CAAC;IAC5C,CAAC;IAED,MAAM,KAAK,MAAM;QACf,OAAO,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAyDT,CAAC;IACJ,CAAC;CACF,CAAA;AAjEY,WAAW;IADvB,aAAa,CAAC,cAAc,CAAC;GACjB,WAAW,CAiEvB;SAjEY,WAAW","sourcesContent":["import { css, html, LitElement } from 'lit';\nimport { customElement } from 'lit/decorators.js';\n\n@customElement('loading-tile')\nexport class LoadingTile extends LitElement {\n render() {\n return html` <div id=\"container\"></div> `;\n }\n\n static get styles() {\n return css`\n :host {\n display: block;\n height: 100%;\n }\n\n #container {\n background: linear-gradient(\n to right,\n rgba(25, 69, 154, 0.1),\n rgb(105, 161, 234, 0.2)\n );\n background-size: 400% 400%;\n\n -webkit-animation: AnimationName 4s ease infinite;\n -moz-animation: AnimationName 4s ease infinite;\n animation: AnimationName 4s ease infinite;\n\n display: block;\n height: 100%;\n }\n\n @-webkit-keyframes AnimationName {\n 0% {\n background-position: 0% 50%;\n }\n 50% {\n background-position: 100% 50%;\n }\n 100% {\n background-position: 0% 50%;\n }\n }\n\n @-moz-keyframes AnimationName {\n 0% {\n background-position: 0% 50%;\n }\n 50% {\n background-position: 100% 50%;\n }\n 100% {\n background-position: 0% 50%;\n }\n }\n\n @keyframes AnimationName {\n 0% {\n background-position: 0% 50%;\n }\n 50% {\n background-position: 100% 50%;\n }\n 100% {\n background-position: 0% 50%;\n }\n }\n `;\n }\n}\n"]}
|
package/src/mediatype-icon.ts
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { css, CSSResultGroup, html, LitElement } from 'lit';
|
|
2
|
-
import { customElement, property } from 'lit/decorators.js';
|
|
3
|
-
|
|
4
|
-
import { audioIcon } from './assets/img/icons/mediatype/audio';
|
|
5
|
-
import { etreeIcon } from './assets/img/icons/mediatype/etree';
|
|
6
|
-
import { imagesIcon } from './assets/img/icons/mediatype/images';
|
|
7
|
-
import { filmIcon } from './assets/img/icons/mediatype/film';
|
|
8
|
-
import { softwareIcon } from './assets/img/icons/mediatype/software';
|
|
9
|
-
import { textsIcon } from './assets/img/icons/mediatype/texts';
|
|
10
|
-
import { tvIcon } from './assets/img/icons/mediatype/tv';
|
|
11
|
-
import { videoIcon } from './assets/img/icons/mediatype/video';
|
|
12
|
-
import { webIcon } from './assets/img/icons/mediatype/web';
|
|
13
|
-
import { collectionIcon } from './assets/img/icons/mediatype/collection';
|
|
14
|
-
|
|
15
|
-
@customElement('mediatype-icon')
|
|
16
|
-
export class MediatypeIcon extends LitElement {
|
|
17
|
-
@property({ type: String }) mediatype: string | undefined;
|
|
18
|
-
|
|
19
|
-
@property({ type: Boolean }) showText = false;
|
|
20
|
-
|
|
21
|
-
private readonly mediatypeIcons: { [key: string]: any } = {
|
|
22
|
-
audio: audioIcon,
|
|
23
|
-
collection: collectionIcon,
|
|
24
|
-
data: etreeIcon,
|
|
25
|
-
etree: etreeIcon,
|
|
26
|
-
film: filmIcon,
|
|
27
|
-
image: imagesIcon,
|
|
28
|
-
movies: filmIcon,
|
|
29
|
-
software: softwareIcon,
|
|
30
|
-
texts: textsIcon,
|
|
31
|
-
tv: tvIcon,
|
|
32
|
-
video: videoIcon,
|
|
33
|
-
web: webIcon,
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
private readonly mediatypeText: { [key: string]: any } = {
|
|
37
|
-
audio: 'Audio',
|
|
38
|
-
collection: 'Collection',
|
|
39
|
-
data: 'Data',
|
|
40
|
-
etree: 'E-tree',
|
|
41
|
-
film: 'Film',
|
|
42
|
-
image: 'Image',
|
|
43
|
-
movies: 'Movie',
|
|
44
|
-
software: 'Software',
|
|
45
|
-
texts: 'Text',
|
|
46
|
-
tv: 'TV',
|
|
47
|
-
video: 'Video',
|
|
48
|
-
web: 'Web',
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
render() {
|
|
52
|
-
if (!this.mediatype) {
|
|
53
|
-
return html``;
|
|
54
|
-
}
|
|
55
|
-
return html`
|
|
56
|
-
<div id="icon" class="${this.showText ? 'show-text' : 'hide-text'}">
|
|
57
|
-
${this.mediatypeIcons[this.mediatype]}
|
|
58
|
-
<p class="status-text">${this.mediatypeText[this.mediatype]}</p>
|
|
59
|
-
</div>
|
|
60
|
-
`;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
static get styles(): CSSResultGroup {
|
|
64
|
-
return css`
|
|
65
|
-
.status-text {
|
|
66
|
-
font-size: 14px;
|
|
67
|
-
color: #2c2c2c;
|
|
68
|
-
margin: auto;
|
|
69
|
-
display: block;
|
|
70
|
-
text-align: center;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
#icon.hide-text p {
|
|
74
|
-
display: none;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
#icon.show-text svg {
|
|
78
|
-
height: 10px;
|
|
79
|
-
width: 10px;
|
|
80
|
-
}
|
|
81
|
-
`;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { css, html, LitElement } from 'lit';
|
|
2
|
-
import { customElement } from 'lit/decorators.js';
|
|
3
|
-
|
|
4
|
-
@customElement('loading-tile')
|
|
5
|
-
export class LoadingTile extends LitElement {
|
|
6
|
-
render() {
|
|
7
|
-
return html` <div id="container"></div> `;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
static get styles() {
|
|
11
|
-
return css`
|
|
12
|
-
:host {
|
|
13
|
-
display: block;
|
|
14
|
-
height: 100%;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
#container {
|
|
18
|
-
background: linear-gradient(
|
|
19
|
-
to right,
|
|
20
|
-
rgba(25, 69, 154, 0.1),
|
|
21
|
-
rgb(105, 161, 234, 0.2)
|
|
22
|
-
);
|
|
23
|
-
background-size: 400% 400%;
|
|
24
|
-
|
|
25
|
-
-webkit-animation: AnimationName 4s ease infinite;
|
|
26
|
-
-moz-animation: AnimationName 4s ease infinite;
|
|
27
|
-
animation: AnimationName 4s ease infinite;
|
|
28
|
-
|
|
29
|
-
display: block;
|
|
30
|
-
height: 100%;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
@-webkit-keyframes AnimationName {
|
|
34
|
-
0% {
|
|
35
|
-
background-position: 0% 50%;
|
|
36
|
-
}
|
|
37
|
-
50% {
|
|
38
|
-
background-position: 100% 50%;
|
|
39
|
-
}
|
|
40
|
-
100% {
|
|
41
|
-
background-position: 0% 50%;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
@-moz-keyframes AnimationName {
|
|
46
|
-
0% {
|
|
47
|
-
background-position: 0% 50%;
|
|
48
|
-
}
|
|
49
|
-
50% {
|
|
50
|
-
background-position: 100% 50%;
|
|
51
|
-
}
|
|
52
|
-
100% {
|
|
53
|
-
background-position: 0% 50%;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
@keyframes AnimationName {
|
|
58
|
-
0% {
|
|
59
|
-
background-position: 0% 50%;
|
|
60
|
-
}
|
|
61
|
-
50% {
|
|
62
|
-
background-position: 100% 50%;
|
|
63
|
-
}
|
|
64
|
-
100% {
|
|
65
|
-
background-position: 0% 50%;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
`;
|
|
69
|
-
}
|
|
70
|
-
}
|