@internetarchive/collection-browser 0.1.7 → 0.1.9
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 +15 -2
- package/dist/{demo → src}/app-root.d.ts +2 -0
- package/dist/{demo → src}/app-root.js +22 -0
- package/dist/src/app-root.js.map +1 -0
- package/dist/src/assets/img/icons/restricted.d.ts +1 -0
- package/dist/src/assets/img/icons/restricted.js +29 -0
- package/dist/src/assets/img/icons/restricted.js.map +1 -0
- package/dist/src/collection-browser.d.ts +11 -0
- package/dist/src/collection-browser.js +100 -45
- package/dist/src/collection-browser.js.map +1 -1
- package/dist/src/models.d.ts +2 -0
- package/dist/src/models.js.map +1 -1
- package/dist/src/tiles/grid/account-tile.js +16 -1
- package/dist/src/tiles/grid/account-tile.js.map +1 -1
- package/dist/src/tiles/item-image.d.ts +7 -5
- package/dist/src/tiles/item-image.js +86 -23
- package/dist/src/tiles/item-image.js.map +1 -1
- package/dist/src/tiles/list/tile-list-compact.js +54 -59
- package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
- package/dist/src/tiles/list/tile-list.js +25 -22
- package/dist/src/tiles/list/tile-list.js.map +1 -1
- package/{demo/index.html → index.html} +1 -3
- package/package.json +12 -7
- package/{demo → src}/app-root.ts +20 -0
- package/src/assets/img/icons/restricted.ts +29 -0
- package/src/collection-browser.ts +80 -25
- package/src/models.ts +2 -0
- package/src/tiles/grid/account-tile.ts +16 -1
- package/src/tiles/item-image.ts +90 -31
- package/src/tiles/list/tile-list-compact.ts +45 -50
- package/src/tiles/list/tile-list.ts +22 -21
- package/tsconfig.json +1 -1
- package/vite.config.ts +22 -0
- package/web-dev-server.config.mjs +1 -1
- package/dist/demo/app-root.js.map +0 -1
- package/dist/src/assets/img/icons/mediatype/livemusic.d.ts +0 -1
- package/dist/src/assets/img/icons/mediatype/livemusic.js +0 -7
- package/dist/src/assets/img/icons/mediatype/livemusic.js.map +0 -1
- package/dist/src/assets/img/icons/mediatype/photos.d.ts +0 -1
- package/dist/src/assets/img/icons/mediatype/photos.js +0 -7
- package/dist/src/assets/img/icons/mediatype/photos.js.map +0 -1
- package/dist/src/helpers.d.ts +0 -1
- package/dist/src/helpers.js +0 -20
- package/dist/src/helpers.js.map +0 -1
- package/dist/src/mediatype/mediatype-color.d.ts +0 -3
- package/dist/src/mediatype/mediatype-color.js +0 -15
- package/dist/src/mediatype/mediatype-color.js.map +0 -1
- package/dist/src/mediatype/mediatype-display.d.ts +0 -3
- package/dist/src/mediatype/mediatype-display.js +0 -86
- package/dist/src/mediatype/mediatype-display.js.map +0 -1
- package/dist/src/mediatype/mediatype-icon.d.ts +0 -10
- package/dist/src/mediatype/mediatype-icon.js +0 -105
- package/dist/src/mediatype/mediatype-icon.js.map +0 -1
- package/dist/src/mediatype/mediatype-text.d.ts +0 -3
- package/dist/src/mediatype/mediatype-text.js +0 -17
- package/dist/src/mediatype/mediatype-text.js.map +0 -1
- package/dist/src/mediatype/mediatypeConfig.d.ts +0 -3
- package/dist/src/mediatype/mediatypeConfig.js +0 -86
- package/dist/src/mediatype/mediatypeConfig.js.map +0 -1
- package/dist/src/mediatype-icon.d.ts +0 -9
- package/dist/src/mediatype-icon.js +0 -78
- 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.d.ts +0 -5
- package/dist/src/tiles/loading-tile.js +0 -32
- package/dist/src/tiles/loading-tile.js.map +0 -1
- package/dist/src/utils/format-string.d.ts +0 -2
- package/dist/src/utils/format-string.js +0 -7
- package/dist/src/utils/format-string.js.map +0 -1
- package/dist/src/waveform-thumbnail.d.ts +0 -7
- package/dist/src/waveform-thumbnail.js +0 -106
- package/dist/src/waveform-thumbnail.js.map +0 -1
- package/dist/src/waveform-view.d.ts +0 -0
- package/dist/src/waveform-view.js +0 -2
- package/dist/src/waveform-view.js.map +0 -1
- package/dist/src/your-webcomponent.d.ts +0 -8
- package/dist/src/your-webcomponent.js +0 -38
- package/dist/src/your-webcomponent.js.map +0 -1
- package/dist/test/mediatype-icon.test.d.ts +0 -0
- package/dist/test/mediatype-icon.test.js +0 -3
- package/dist/test/mediatype-icon.test.js.map +0 -1
- package/dist/test/mediatypeConfig.test.d.ts +0 -1
- package/dist/test/mediatypeConfig.test.js +0 -17
- package/dist/test/mediatypeConfig.test.js.map +0 -1
- package/dist/test/utils/format-string.test.d.ts +0 -1
- package/dist/test/utils/format-string.test.js +0 -17
- package/dist/test/utils/format-string.test.js.map +0 -1
- package/dist/test/your-webcomponent.test.d.ts +0 -1
- package/dist/test/your-webcomponent.test.js +0 -23
- package/dist/test/your-webcomponent.test.js.map +0 -1
|
@@ -28,7 +28,9 @@ export class TileListCompact extends LitElement {
|
|
|
28
28
|
render() {
|
|
29
29
|
return html`
|
|
30
30
|
<div id="list-line" class="${this.classSize}">
|
|
31
|
-
<div id="thumb"
|
|
31
|
+
<div id="thumb" class="${ifDefined(this.model?.mediatype)}">
|
|
32
|
+
${this.imageTemplate}
|
|
33
|
+
</div>
|
|
32
34
|
<div id="title">${DOMPurify.sanitize(this.model?.title ?? '')}</div>
|
|
33
35
|
<div id="creator">
|
|
34
36
|
${this.model?.mediatype === 'account'
|
|
@@ -63,11 +65,15 @@ export class TileListCompact extends LitElement {
|
|
|
63
65
|
if (!this.model?.identifier) {
|
|
64
66
|
return nothing;
|
|
65
67
|
}
|
|
66
|
-
return html`
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
68
|
+
return html`
|
|
69
|
+
<item-image
|
|
70
|
+
.model=${this.model}
|
|
71
|
+
.baseImageUrl=${this.baseImageUrl}
|
|
72
|
+
.isListTile=${true}
|
|
73
|
+
.isCompactTile=${true}
|
|
74
|
+
>
|
|
75
|
+
</item-image>
|
|
76
|
+
`;
|
|
71
77
|
}
|
|
72
78
|
|
|
73
79
|
/*
|
|
@@ -120,43 +126,58 @@ export class TileListCompact extends LitElement {
|
|
|
120
126
|
font-size: 14px;
|
|
121
127
|
}
|
|
122
128
|
|
|
123
|
-
|
|
129
|
+
#list-line {
|
|
130
|
+
display: grid;
|
|
131
|
+
column-gap: 10px;
|
|
132
|
+
border-top: 1px solid #ddd;
|
|
133
|
+
align-items: center;
|
|
134
|
+
line-height: 20px;
|
|
135
|
+
}
|
|
124
136
|
|
|
125
|
-
#
|
|
126
|
-
|
|
137
|
+
#list-line.mobile {
|
|
138
|
+
grid-template-columns: 36px 3fr 2fr 62px 19px;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
#list-line.desktop {
|
|
142
|
+
grid-template-columns: 51px 3fr 2fr 100px 20px 60px;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
#list-line:hover #title {
|
|
146
|
+
text-decoration: underline;
|
|
127
147
|
}
|
|
128
148
|
|
|
129
|
-
|
|
149
|
+
/* fields */
|
|
150
|
+
#thumb {
|
|
130
151
|
object-fit: cover;
|
|
131
152
|
display: block;
|
|
132
153
|
}
|
|
133
154
|
|
|
134
|
-
.mobile #thumb
|
|
155
|
+
.mobile #thumb {
|
|
135
156
|
width: 30px;
|
|
136
157
|
height: 30px;
|
|
158
|
+
padding-top: 2px;
|
|
159
|
+
padding-bottom: 2px;
|
|
160
|
+
padding-left: 4px;
|
|
137
161
|
}
|
|
138
162
|
|
|
139
|
-
.desktop #thumb
|
|
163
|
+
.desktop #thumb {
|
|
140
164
|
width: 45px;
|
|
141
165
|
height: 45px;
|
|
166
|
+
padding-top: 5px;
|
|
167
|
+
padding-bottom: 5px;
|
|
168
|
+
padding-left: 6px;
|
|
142
169
|
}
|
|
143
170
|
|
|
144
|
-
#thumb
|
|
145
|
-
border-radius: 8px;
|
|
146
|
-
-webkit-border-radius: 8px;
|
|
147
|
-
-moz-border-radius: 8px;
|
|
171
|
+
#thumb.collection {
|
|
172
|
+
--border-radius: 8px;
|
|
148
173
|
}
|
|
149
174
|
|
|
150
|
-
.mobile #thumb
|
|
151
|
-
border-radius: 15px;
|
|
152
|
-
-webkit-border-radius: 15px;
|
|
153
|
-
-moz-border-radius: 15px;
|
|
175
|
+
.mobile #thumb.account {
|
|
176
|
+
--border-radius: 15px;
|
|
154
177
|
}
|
|
155
178
|
|
|
156
|
-
.desktop #thumb
|
|
157
|
-
border-radius: 22.5px;
|
|
158
|
-
-webkit-border-radius: 22.5px;
|
|
159
|
-
-moz-border-radius: 22.5px;
|
|
179
|
+
.desktop #thumb.account {
|
|
180
|
+
--border-radius: 22.5px;
|
|
160
181
|
}
|
|
161
182
|
|
|
162
183
|
#title {
|
|
@@ -189,32 +210,6 @@ export class TileListCompact extends LitElement {
|
|
|
189
210
|
--iconHeight: 20px;
|
|
190
211
|
--iconWidth: 20px;
|
|
191
212
|
}
|
|
192
|
-
|
|
193
|
-
/* list-line */
|
|
194
|
-
|
|
195
|
-
#list-line {
|
|
196
|
-
display: grid;
|
|
197
|
-
column-gap: 10px;
|
|
198
|
-
border-top: 1px solid #ddd;
|
|
199
|
-
align-items: center;
|
|
200
|
-
line-height: 20px;
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
#list-line.mobile {
|
|
204
|
-
grid-template-columns: 36px 3fr 2fr 62px 19px;
|
|
205
|
-
padding-top: 2px;
|
|
206
|
-
padding-bottom: 2px;
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
#list-line.desktop {
|
|
210
|
-
grid-template-columns: 51px 3fr 2fr 100px 20px 60px;
|
|
211
|
-
padding-top: 5px;
|
|
212
|
-
padding-bottom: 5px;
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
#list-line:hover #title {
|
|
216
|
-
text-decoration: underline;
|
|
217
|
-
}
|
|
218
213
|
`;
|
|
219
214
|
}
|
|
220
215
|
}
|
|
@@ -87,7 +87,9 @@ export class TileList extends LitElement {
|
|
|
87
87
|
return html`
|
|
88
88
|
<div id="list-line-top">
|
|
89
89
|
<div id="list-line-left">
|
|
90
|
-
<div id="thumb"
|
|
90
|
+
<div id="thumb" class="${ifDefined(this.model?.mediatype)}">
|
|
91
|
+
${this.imgTemplate}
|
|
92
|
+
</div>
|
|
91
93
|
</div>
|
|
92
94
|
<div id="list-line-right">
|
|
93
95
|
<div id="title-line">
|
|
@@ -103,7 +105,9 @@ export class TileList extends LitElement {
|
|
|
103
105
|
private get desktopTemplate() {
|
|
104
106
|
return html`
|
|
105
107
|
<div id="list-line-left">
|
|
106
|
-
<div id="thumb"
|
|
108
|
+
<div id="thumb" class="${ifDefined(this.model?.mediatype)}">
|
|
109
|
+
${this.imgTemplate}
|
|
110
|
+
</div>
|
|
107
111
|
</div>
|
|
108
112
|
<div id="list-line-right">
|
|
109
113
|
<div id="title-line">
|
|
@@ -134,11 +138,14 @@ export class TileList extends LitElement {
|
|
|
134
138
|
if (!this.model?.identifier) {
|
|
135
139
|
return nothing;
|
|
136
140
|
}
|
|
137
|
-
return html`
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
141
|
+
return html`
|
|
142
|
+
<item-image
|
|
143
|
+
.model=${this.model}
|
|
144
|
+
.baseImageUrl=${this.baseImageUrl}
|
|
145
|
+
.isListTile=${true}
|
|
146
|
+
>
|
|
147
|
+
</item-image>
|
|
148
|
+
`;
|
|
142
149
|
}
|
|
143
150
|
|
|
144
151
|
private get iconRightTemplate() {
|
|
@@ -412,32 +419,26 @@ export class TileList extends LitElement {
|
|
|
412
419
|
display: block;
|
|
413
420
|
}
|
|
414
421
|
|
|
415
|
-
.mobile #thumb
|
|
422
|
+
.mobile #thumb {
|
|
416
423
|
width: 90px;
|
|
417
424
|
height: 90px;
|
|
418
425
|
}
|
|
419
426
|
|
|
420
|
-
.desktop #thumb
|
|
427
|
+
.desktop #thumb {
|
|
421
428
|
width: 100px;
|
|
422
429
|
height: 100px;
|
|
423
430
|
}
|
|
424
431
|
|
|
425
|
-
#thumb
|
|
426
|
-
border-radius: 8px;
|
|
427
|
-
-webkit-border-radius: 8px;
|
|
428
|
-
-moz-border-radius: 8px;
|
|
432
|
+
#thumb.collection {
|
|
433
|
+
--border-radius: 8px;
|
|
429
434
|
}
|
|
430
435
|
|
|
431
|
-
.mobile #thumb
|
|
432
|
-
border-radius: 45px;
|
|
433
|
-
-webkit-border-radius: 45px;
|
|
434
|
-
-moz-border-radius: 45px;
|
|
436
|
+
.mobile #thumb.account {
|
|
437
|
+
--border-radius: 45px;
|
|
435
438
|
}
|
|
436
439
|
|
|
437
|
-
.desktop #thumb
|
|
438
|
-
border-radius: 50px;
|
|
439
|
-
-webkit-border-radius: 50px;
|
|
440
|
-
-moz-border-radius: 50px;
|
|
440
|
+
.desktop #thumb.account {
|
|
441
|
+
--border-radius: 50px;
|
|
441
442
|
}
|
|
442
443
|
|
|
443
444
|
#icon-right {
|
package/tsconfig.json
CHANGED
package/vite.config.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { defineConfig } from 'vite';
|
|
2
|
+
import { resolve } from 'path';
|
|
3
|
+
|
|
4
|
+
// https://vitejs.dev/config/
|
|
5
|
+
export default defineConfig({
|
|
6
|
+
base: '',
|
|
7
|
+
build: {
|
|
8
|
+
outDir: 'ghpages',
|
|
9
|
+
manifest: true,
|
|
10
|
+
rollupOptions: {
|
|
11
|
+
input: {
|
|
12
|
+
main: resolve(__dirname, 'index.html'),
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
server: {
|
|
17
|
+
host: true,
|
|
18
|
+
port: 8080,
|
|
19
|
+
open: true,
|
|
20
|
+
cors: true,
|
|
21
|
+
},
|
|
22
|
+
});
|
|
@@ -5,7 +5,7 @@ const hmr = process.argv.includes('--hmr');
|
|
|
5
5
|
|
|
6
6
|
export default /** @type {import('@web/dev-server').DevServerConfig} */ ({
|
|
7
7
|
nodeResolve: true,
|
|
8
|
-
open: '/
|
|
8
|
+
open: '/',
|
|
9
9
|
watch: !hmr,
|
|
10
10
|
|
|
11
11
|
/** Compile JS for older browsers. Requires @web/dev-server-esbuild plugin */
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"app-root.js","sourceRoot":"","sources":["../../demo/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 @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 <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 @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 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 +0,0 @@
|
|
|
1
|
-
export declare const livemusicIcon: import("lit-html").TemplateResult<2>;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { svg } from 'lit';
|
|
2
|
-
export const livemusicIcon = svg `
|
|
3
|
-
<svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
|
|
4
|
-
<path d="m136.125893 117.288073c14.41013-4.850562 27.83316-2.109766 39.480173 7.796632 10.335962 8.792594 14.330094 20.428621 14.288498 33.809481-.091795 25.476855-.015572 50.965113-.049872 76.441968-.003811 2.805419-.034301 5.648851-.457344 8.401051-3.376719 21.854139-21.133078 36.299386-43.127486 35.204588-20.210769-1.003564-37.307792-18.132586-37.799436-38.393946-.346818-14.513672-.060979-29.057755-.301084-43.586633 0-12.597776-.06479-25.191751.034301-37.789527.0343-3.656928.16007-7.401288.903253-10.963182 3.18997-15.36138 12.272049-25.963431 27.028997-30.920432zm69.082871-95.288073v20.8201628h-42.6892v27.2482979s2.61448.5740085 3.574902.8363038c23.797103 6.5155667 41.073252 15.8669636 55.262332 37.0824705 8.594246 12.852468 11.643202 31.380398 11.643202 46.760785v15.304359h-20.889162c0-5.538611.099091-10.750305-.038112-15.961998-.099091-3.896415-.167692-7.857454-.842274-11.689246-5.328051-30.262793-30.775402-49.8170956-57.026916-51.5315184-29.311903-1.9120945-57.1907972 18.1858064-64.1500399 46.8520184-1.6657464 6.843753-1.7799637 13.736569-1.7780383 20.63947l.0023262 1.88283c.0030489 1.883022.0050308 3.76653-.0231721 5.649734-.0228671 1.364696 0 2.72559 0 4.052272h-20.5918884c-5.5529117-51.542923 24.3078039-93.7420516 70.1221835-99.8660762v-27.3889489h-42.6205979v-20.6909159z" fill="gray" fill-rule="evenodd" transform="matrix(1 0 0 -1 0 301)"/>
|
|
5
|
-
</svg>
|
|
6
|
-
`;
|
|
7
|
-
//# sourceMappingURL=livemusic.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"livemusic.js","sourceRoot":"","sources":["../../../../../../src/assets/img/icons/mediatype/livemusic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAA;;;;CAI/B,CAAC","sourcesContent":["import { svg } from 'lit';\n\nexport const livemusicIcon = svg`\n<svg viewBox=\"0 0 300 300\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"m136.125893 117.288073c14.41013-4.850562 27.83316-2.109766 39.480173 7.796632 10.335962 8.792594 14.330094 20.428621 14.288498 33.809481-.091795 25.476855-.015572 50.965113-.049872 76.441968-.003811 2.805419-.034301 5.648851-.457344 8.401051-3.376719 21.854139-21.133078 36.299386-43.127486 35.204588-20.210769-1.003564-37.307792-18.132586-37.799436-38.393946-.346818-14.513672-.060979-29.057755-.301084-43.586633 0-12.597776-.06479-25.191751.034301-37.789527.0343-3.656928.16007-7.401288.903253-10.963182 3.18997-15.36138 12.272049-25.963431 27.028997-30.920432zm69.082871-95.288073v20.8201628h-42.6892v27.2482979s2.61448.5740085 3.574902.8363038c23.797103 6.5155667 41.073252 15.8669636 55.262332 37.0824705 8.594246 12.852468 11.643202 31.380398 11.643202 46.760785v15.304359h-20.889162c0-5.538611.099091-10.750305-.038112-15.961998-.099091-3.896415-.167692-7.857454-.842274-11.689246-5.328051-30.262793-30.775402-49.8170956-57.026916-51.5315184-29.311903-1.9120945-57.1907972 18.1858064-64.1500399 46.8520184-1.6657464 6.843753-1.7799637 13.736569-1.7780383 20.63947l.0023262 1.88283c.0030489 1.883022.0050308 3.76653-.0231721 5.649734-.0228671 1.364696 0 2.72559 0 4.052272h-20.5918884c-5.5529117-51.542923 24.3078039-93.7420516 70.1221835-99.8660762v-27.3889489h-42.6205979v-20.6909159z\" fill=\"gray\" fill-rule=\"evenodd\" transform=\"matrix(1 0 0 -1 0 301)\"/>\n</svg>\n`;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const photosIcon: import("lit-html").TemplateResult<2>;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { svg } from 'lit';
|
|
2
|
-
export const photosIcon = svg `
|
|
3
|
-
<svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
|
|
4
|
-
<path d="m43.0952612 181.159979c2.1744514 0 21.7161099 3.336499 21.7161099 3.336499v21.030628l-44.8113711-6.289709c4.5382599-51.29161 9.6729948-105.5332879 14.6089046-156.237397 66.1329874 6.484496 144.5110704 16.1138469 211.0385514 22.4035567-.987813 6.4876377-1.581132 21.8160564-1.972471 28.3005524-4.939065-.5906421-15.599873 0-20.535783-.5906421v-9.0418506c-56.065498-5.3032118-112.326666-12.180422-168.3953197-17.6847035 0 0-7.7005244 74.2858081-11.6486211 114.7730661zm31.7867547-81.562016h205.1179841v158.402037h-205.1179841zm18.9514955 140.126691h167.8051566v-64.461671l-21.122791 35.963191-28.428821-67.408598-24.2819 28.891194-66.530637-54.634392h-27.4410076zm64.5550106-40.487257c0-11.394994-9.082832-20.436845-20.731453-20.436845-11.250971 0-20.923965 9.041851-20.923965 20.436845 0 11.203349 9.672994 20.439986 20.923965 20.439986 11.648621 0 20.731453-9.236637 20.731453-20.439986z" fill="gray" transform="matrix(1 0 0 -1 0 301)"/>
|
|
5
|
-
</svg>
|
|
6
|
-
`;
|
|
7
|
-
//# sourceMappingURL=photos.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"photos.js","sourceRoot":"","sources":["../../../../../../src/assets/img/icons/mediatype/photos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAA;;;;CAI5B,CAAC","sourcesContent":["import { svg } from 'lit';\n\nexport const photosIcon = svg`\n<svg viewBox=\"0 0 300 300\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"m43.0952612 181.159979c2.1744514 0 21.7161099 3.336499 21.7161099 3.336499v21.030628l-44.8113711-6.289709c4.5382599-51.29161 9.6729948-105.5332879 14.6089046-156.237397 66.1329874 6.484496 144.5110704 16.1138469 211.0385514 22.4035567-.987813 6.4876377-1.581132 21.8160564-1.972471 28.3005524-4.939065-.5906421-15.599873 0-20.535783-.5906421v-9.0418506c-56.065498-5.3032118-112.326666-12.180422-168.3953197-17.6847035 0 0-7.7005244 74.2858081-11.6486211 114.7730661zm31.7867547-81.562016h205.1179841v158.402037h-205.1179841zm18.9514955 140.126691h167.8051566v-64.461671l-21.122791 35.963191-28.428821-67.408598-24.2819 28.891194-66.530637-54.634392h-27.4410076zm64.5550106-40.487257c0-11.394994-9.082832-20.436845-20.731453-20.436845-11.250971 0-20.923965 9.041851-20.923965 20.436845 0 11.203349 9.672994 20.439986 20.923965 20.439986 11.648621 0 20.731453-9.236637 20.731453-20.439986z\" fill=\"gray\" transform=\"matrix(1 0 0 -1 0 301)\"/>\n</svg>\n`;\n"]}
|
package/dist/src/helpers.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const nFormatter: (num: any, digits: number) => string;
|
package/dist/src/helpers.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
export const nFormatter = (num, digits) => {
|
|
2
|
-
const lookup = [
|
|
3
|
-
{ value: 1, symbol: '' },
|
|
4
|
-
{ value: 1e3, symbol: 'K' },
|
|
5
|
-
{ value: 1e6, symbol: 'M' },
|
|
6
|
-
{ value: 1e9, symbol: 'B' },
|
|
7
|
-
{ value: 1e12, symbol: 'T' },
|
|
8
|
-
{ value: 1e15, symbol: 'P' },
|
|
9
|
-
{ value: 1e18, symbol: 'E' },
|
|
10
|
-
];
|
|
11
|
-
const rx = /\.0+$|(\.[0-9]*[1-9])0+$/;
|
|
12
|
-
const item = lookup
|
|
13
|
-
.slice()
|
|
14
|
-
.reverse()
|
|
15
|
-
.find(i => num >= i.value);
|
|
16
|
-
return item
|
|
17
|
-
? (num / item.value).toFixed(digits).replace(rx, '$1') + item.symbol
|
|
18
|
-
: '0';
|
|
19
|
-
};
|
|
20
|
-
//# sourceMappingURL=helpers.js.map
|
package/dist/src/helpers.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAQ,EAAE,MAAc,EAAE,EAAE;IACrD,MAAM,MAAM,GAAG;QACb,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QACxB,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;QAC3B,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;QAC3B,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;QAC3B,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;QAC5B,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;QAC5B,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;KAC7B,CAAC;IACF,MAAM,EAAE,GAAG,0BAA0B,CAAC;IACtC,MAAM,IAAI,GAAG,MAAM;SAChB,KAAK,EAAE;SACP,OAAO,EAAE;SACT,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,IAAI;QACT,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM;QACpE,CAAC,CAAC,GAAG,CAAC;AACV,CAAC,CAAC","sourcesContent":["export const nFormatter = (num: any, digits: number) => {\n const lookup = [\n { value: 1, symbol: '' },\n { value: 1e3, symbol: 'K' },\n { value: 1e6, symbol: 'M' },\n { value: 1e9, symbol: 'B' },\n { value: 1e12, symbol: 'T' },\n { value: 1e15, symbol: 'P' },\n { value: 1e18, symbol: 'E' },\n ];\n const rx = /\\.0+$|(\\.[0-9]*[1-9])0+$/;\n const item = lookup\n .slice()\n .reverse()\n .find(i => num >= i.value);\n return item\n ? (num / item.value).toFixed(digits).replace(rx, '$1') + item.symbol\n : '0';\n};\n"]}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export const mediatypeColor = {
|
|
2
|
-
account: '#000000',
|
|
3
|
-
audio: '#8fdaef',
|
|
4
|
-
data: '#333333',
|
|
5
|
-
etree: '#3871c1',
|
|
6
|
-
film: '#bf1b2c',
|
|
7
|
-
image: '#62c4a9',
|
|
8
|
-
movies: '#bf1b2c',
|
|
9
|
-
software: '#80cc28',
|
|
10
|
-
texts: '#f9a72b',
|
|
11
|
-
tv: '#f25d54',
|
|
12
|
-
video: '#bf1b2c',
|
|
13
|
-
web: '#fddd10',
|
|
14
|
-
};
|
|
15
|
-
//# sourceMappingURL=mediatype-color.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mediatype-color.js","sourceRoot":"","sources":["../../../src/mediatype/mediatype-color.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAA8B;IACvD,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,SAAS;IACjB,QAAQ,EAAE,SAAS;IACnB,KAAK,EAAE,SAAS;IAChB,EAAE,EAAE,SAAS;IACb,KAAK,EAAE,SAAS;IAChB,GAAG,EAAE,SAAS;CACf,CAAC","sourcesContent":["export const mediatypeColor: { [key: string]: string } = {\n account: '#000000',\n audio: '#8fdaef',\n data: '#333333',\n etree: '#3871c1',\n film: '#bf1b2c',\n image: '#62c4a9',\n movies: '#bf1b2c',\n software: '#80cc28',\n texts: '#f9a72b',\n tv: '#f25d54',\n video: '#bf1b2c',\n web: '#fddd10',\n};\n"]}
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { accountIcon } from '../assets/img/icons/mediatype/account';
|
|
2
|
-
import { audioIcon } from '../assets/img/icons/mediatype/audio';
|
|
3
|
-
import { collectionIcon } from '../assets/img/icons/mediatype/collection';
|
|
4
|
-
import { dataIcon } from '../assets/img/icons/mediatype/data';
|
|
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 { radioIcon } from '../assets/img/icons/mediatype/radio';
|
|
9
|
-
import { softwareIcon } from '../assets/img/icons/mediatype/software';
|
|
10
|
-
import { textsIcon } from '../assets/img/icons/mediatype/texts';
|
|
11
|
-
import { tvIcon } from '../assets/img/icons/mediatype/tv';
|
|
12
|
-
import { videoIcon } from '../assets/img/icons/mediatype/video';
|
|
13
|
-
import { webIcon } from '../assets/img/icons/mediatype/web';
|
|
14
|
-
export const mediatypeData = {
|
|
15
|
-
account: {
|
|
16
|
-
color: '#000000',
|
|
17
|
-
icon: accountIcon,
|
|
18
|
-
text: 'Account',
|
|
19
|
-
},
|
|
20
|
-
audio: {
|
|
21
|
-
color: '#8fdaef',
|
|
22
|
-
icon: audioIcon,
|
|
23
|
-
text: 'Audio',
|
|
24
|
-
},
|
|
25
|
-
collection: {
|
|
26
|
-
color: '#000000',
|
|
27
|
-
icon: collectionIcon,
|
|
28
|
-
text: 'Collection',
|
|
29
|
-
},
|
|
30
|
-
data: {
|
|
31
|
-
color: '#333333',
|
|
32
|
-
icon: dataIcon,
|
|
33
|
-
text: 'Data',
|
|
34
|
-
},
|
|
35
|
-
etree: {
|
|
36
|
-
color: '#3871c1',
|
|
37
|
-
icon: etreeIcon,
|
|
38
|
-
text: 'E-tree',
|
|
39
|
-
},
|
|
40
|
-
film: {
|
|
41
|
-
color: '#bf1b2c',
|
|
42
|
-
icon: filmIcon,
|
|
43
|
-
text: 'Film',
|
|
44
|
-
},
|
|
45
|
-
image: {
|
|
46
|
-
color: '#62c4a9',
|
|
47
|
-
icon: imagesIcon,
|
|
48
|
-
text: 'Image',
|
|
49
|
-
},
|
|
50
|
-
movies: {
|
|
51
|
-
color: '#bf1b2c',
|
|
52
|
-
icon: filmIcon,
|
|
53
|
-
text: 'Movie',
|
|
54
|
-
},
|
|
55
|
-
radio: {
|
|
56
|
-
color: '#8fdaef',
|
|
57
|
-
icon: radioIcon,
|
|
58
|
-
text: 'Radio',
|
|
59
|
-
},
|
|
60
|
-
software: {
|
|
61
|
-
color: '#80cc28',
|
|
62
|
-
icon: softwareIcon,
|
|
63
|
-
text: 'Software',
|
|
64
|
-
},
|
|
65
|
-
texts: {
|
|
66
|
-
color: '#f9a72b',
|
|
67
|
-
icon: textsIcon,
|
|
68
|
-
text: 'Text',
|
|
69
|
-
},
|
|
70
|
-
tv: {
|
|
71
|
-
color: '#f25d54',
|
|
72
|
-
icon: tvIcon,
|
|
73
|
-
text: 'TV',
|
|
74
|
-
},
|
|
75
|
-
video: {
|
|
76
|
-
color: '#bf1b2c',
|
|
77
|
-
icon: videoIcon,
|
|
78
|
-
text: 'Video',
|
|
79
|
-
},
|
|
80
|
-
web: {
|
|
81
|
-
color: '#fddd10',
|
|
82
|
-
icon: webIcon,
|
|
83
|
-
text: 'Web',
|
|
84
|
-
},
|
|
85
|
-
};
|
|
86
|
-
//# sourceMappingURL=mediatype-display.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mediatype-display.js","sourceRoot":"","sources":["../../../src/mediatype/mediatype-display.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAE5D,MAAM,CAAC,MAAM,aAAa,GAA2B;IACnD,OAAO,EAAE;QACP,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,SAAS;KAChB;IACD,KAAK,EAAE;QACL,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,OAAO;KACd;IACD,UAAU,EAAE;QACV,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,YAAY;KACnB;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,MAAM;KACb;IACD,KAAK,EAAE;QACL,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,QAAQ;KACf;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,MAAM;KACb;IACD,KAAK,EAAE;QACL,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,OAAO;KACd;IACD,MAAM,EAAE;QACN,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,OAAO;KACd;IACD,KAAK,EAAE;QACL,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,OAAO;KACd;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,UAAU;KACjB;IACD,KAAK,EAAE;QACL,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,MAAM;KACb;IACD,EAAE,EAAE;QACF,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;KACX;IACD,KAAK,EAAE;QACL,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,OAAO;KACd;IACD,GAAG,EAAE;QACH,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,KAAK;KACZ;CACF,CAAC","sourcesContent":["import { accountIcon } from '../assets/img/icons/mediatype/account';\nimport { audioIcon } from '../assets/img/icons/mediatype/audio';\nimport { collectionIcon } from '../assets/img/icons/mediatype/collection';\nimport { dataIcon } from '../assets/img/icons/mediatype/data';\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 { radioIcon } from '../assets/img/icons/mediatype/radio';\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';\n\nexport const mediatypeData: { [key: string]: any } = {\n account: {\n color: '#000000',\n icon: accountIcon,\n text: 'Account',\n },\n audio: {\n color: '#8fdaef',\n icon: audioIcon,\n text: 'Audio',\n },\n collection: {\n color: '#000000',\n icon: collectionIcon,\n text: 'Collection',\n },\n data: {\n color: '#333333',\n icon: dataIcon,\n text: 'Data',\n },\n etree: {\n color: '#3871c1',\n icon: etreeIcon,\n text: 'E-tree',\n },\n film: {\n color: '#bf1b2c',\n icon: filmIcon,\n text: 'Film',\n },\n image: {\n color: '#62c4a9',\n icon: imagesIcon,\n text: 'Image',\n },\n movies: {\n color: '#bf1b2c',\n icon: filmIcon,\n text: 'Movie',\n },\n radio: {\n color: '#8fdaef',\n icon: radioIcon,\n text: 'Radio',\n },\n software: {\n color: '#80cc28',\n icon: softwareIcon,\n text: 'Software',\n },\n texts: {\n color: '#f9a72b',\n icon: textsIcon,\n text: 'Text',\n },\n tv: {\n color: '#f25d54',\n icon: tvIcon,\n text: 'TV',\n },\n video: {\n color: '#bf1b2c',\n icon: videoIcon,\n text: 'Video',\n },\n web: {\n color: '#fddd10',\n icon: webIcon,\n text: 'Web',\n },\n};\n"]}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { CSSResultGroup, LitElement } from 'lit';
|
|
2
|
-
export declare class MediatypeIcon extends LitElement {
|
|
3
|
-
mediatype: string | undefined;
|
|
4
|
-
collections: string[] | undefined;
|
|
5
|
-
showText: boolean;
|
|
6
|
-
private readonly mediatypeIcons;
|
|
7
|
-
private get displayMediaType();
|
|
8
|
-
render(): import("lit-html").TemplateResult<1>;
|
|
9
|
-
static get styles(): CSSResultGroup;
|
|
10
|
-
}
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { css, html, LitElement } from 'lit';
|
|
3
|
-
import { customElement, property } from 'lit/decorators.js';
|
|
4
|
-
import { accountIcon } from '../assets/img/icons/mediatype/account';
|
|
5
|
-
import { audioIcon } from '../assets/img/icons/mediatype/audio';
|
|
6
|
-
import { collectionIcon } from '../assets/img/icons/mediatype/collection';
|
|
7
|
-
import { dataIcon } from '../assets/img/icons/mediatype/data';
|
|
8
|
-
import { etreeIcon } from '../assets/img/icons/mediatype/etree';
|
|
9
|
-
import { imagesIcon } from '../assets/img/icons/mediatype/images';
|
|
10
|
-
import { filmIcon } from '../assets/img/icons/mediatype/film';
|
|
11
|
-
import { radioIcon } from '../assets/img/icons/mediatype/radio';
|
|
12
|
-
import { softwareIcon } from '../assets/img/icons/mediatype/software';
|
|
13
|
-
import { textsIcon } from '../assets/img/icons/mediatype/texts';
|
|
14
|
-
import { tvIcon } from '../assets/img/icons/mediatype/tv';
|
|
15
|
-
import { videoIcon } from '../assets/img/icons/mediatype/video';
|
|
16
|
-
import { webIcon } from '../assets/img/icons/mediatype/web';
|
|
17
|
-
import { mediatypeColor } from './mediatype-color';
|
|
18
|
-
import { mediatypeText } from './mediatype-text';
|
|
19
|
-
let MediatypeIcon = class MediatypeIcon extends LitElement {
|
|
20
|
-
constructor() {
|
|
21
|
-
super(...arguments);
|
|
22
|
-
this.showText = false;
|
|
23
|
-
this.mediatypeIcons = {
|
|
24
|
-
account: accountIcon,
|
|
25
|
-
audio: audioIcon,
|
|
26
|
-
collection: collectionIcon,
|
|
27
|
-
data: dataIcon,
|
|
28
|
-
etree: etreeIcon,
|
|
29
|
-
film: filmIcon,
|
|
30
|
-
image: imagesIcon,
|
|
31
|
-
movies: filmIcon,
|
|
32
|
-
radio: radioIcon,
|
|
33
|
-
software: softwareIcon,
|
|
34
|
-
texts: textsIcon,
|
|
35
|
-
tv: tvIcon,
|
|
36
|
-
video: videoIcon,
|
|
37
|
-
web: webIcon,
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
get displayMediaType() {
|
|
41
|
-
var _a, _b;
|
|
42
|
-
const tvIdentifier = ['tvnews', 'tvarchive', 'television'];
|
|
43
|
-
const radioIdentifier = ['radio', 'radioprogram'];
|
|
44
|
-
if (this.mediatype === 'movies' &&
|
|
45
|
-
((_a = this.collections) === null || _a === void 0 ? void 0 : _a.some(id => tvIdentifier.indexOf(id) >= 0))) {
|
|
46
|
-
return 'tv';
|
|
47
|
-
}
|
|
48
|
-
if (this.mediatype === 'audio' &&
|
|
49
|
-
((_b = this.collections) === null || _b === void 0 ? void 0 : _b.some(id => radioIdentifier.indexOf(id) >= 0))) {
|
|
50
|
-
return 'radio';
|
|
51
|
-
}
|
|
52
|
-
return this.mediatype;
|
|
53
|
-
}
|
|
54
|
-
render() {
|
|
55
|
-
if (!this.mediatype) {
|
|
56
|
-
return html ``;
|
|
57
|
-
}
|
|
58
|
-
const displayMediatype = this.displayMediaType || '';
|
|
59
|
-
const fillColor = mediatypeColor[displayMediatype];
|
|
60
|
-
return html `
|
|
61
|
-
<div id="icon" class="${this.showText ? 'show-text' : 'hide-text'}" style="--iconFillColor=${fillColor}">
|
|
62
|
-
${this.mediatypeIcons[displayMediatype]}
|
|
63
|
-
<p class="status-text">${mediatypeText[displayMediatype]}</p>
|
|
64
|
-
</div>
|
|
65
|
-
`;
|
|
66
|
-
}
|
|
67
|
-
static get styles() {
|
|
68
|
-
return css `
|
|
69
|
-
.status-text {
|
|
70
|
-
font-size: 14px;
|
|
71
|
-
color: #2c2c2c;
|
|
72
|
-
margin: auto;
|
|
73
|
-
display: block;
|
|
74
|
-
text-align: center;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
#icon.hide-text p {
|
|
78
|
-
display: none;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
svg {
|
|
82
|
-
height: var(--iconHeight, 10px);
|
|
83
|
-
width: var(--iconWidth, 10px);
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
.fill-color {
|
|
87
|
-
fill: var(--iconFillColor, '#000000');
|
|
88
|
-
}
|
|
89
|
-
`;
|
|
90
|
-
}
|
|
91
|
-
};
|
|
92
|
-
__decorate([
|
|
93
|
-
property({ type: String })
|
|
94
|
-
], MediatypeIcon.prototype, "mediatype", void 0);
|
|
95
|
-
__decorate([
|
|
96
|
-
property({ type: Array })
|
|
97
|
-
], MediatypeIcon.prototype, "collections", void 0);
|
|
98
|
-
__decorate([
|
|
99
|
-
property({ type: Boolean })
|
|
100
|
-
], MediatypeIcon.prototype, "showText", void 0);
|
|
101
|
-
MediatypeIcon = __decorate([
|
|
102
|
-
customElement('mediatype-icon')
|
|
103
|
-
], MediatypeIcon);
|
|
104
|
-
export { MediatypeIcon };
|
|
105
|
-
//# sourceMappingURL=mediatype-icon.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mediatype-icon.js","sourceRoot":"","sources":["../../../src/mediatype/mediatype-icon.ts"],"names":[],"mappings":"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","sourcesContent":["import { css, CSSResultGroup, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\nimport { accountIcon } from '../assets/img/icons/mediatype/account';\nimport { audioIcon } from '../assets/img/icons/mediatype/audio';\nimport { collectionIcon } from '../assets/img/icons/mediatype/collection';\nimport { dataIcon } from '../assets/img/icons/mediatype/data';\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 { radioIcon } from '../assets/img/icons/mediatype/radio';\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';\n\nimport { mediatypeColor } from './mediatype-color';\nimport { mediatypeText } from './mediatype-text';\n\n@customElement('mediatype-icon')\nexport class MediatypeIcon extends LitElement {\n @property({ type: String }) mediatype: string | undefined;\n\n @property({ type: Array }) collections: string[] | undefined;\n\n @property({ type: Boolean }) showText = false;\n\n private readonly mediatypeIcons: { [key: string]: any } = {\n account: accountIcon,\n audio: audioIcon,\n collection: collectionIcon,\n data: dataIcon,\n etree: etreeIcon,\n film: filmIcon,\n image: imagesIcon,\n movies: filmIcon,\n radio: radioIcon,\n software: softwareIcon,\n texts: textsIcon,\n tv: tvIcon,\n video: videoIcon,\n web: webIcon,\n };\n\n private get displayMediaType() {\n const tvIdentifier = ['tvnews', 'tvarchive', 'television'];\n const radioIdentifier = ['radio', 'radioprogram'];\n\n if (\n this.mediatype === 'movies' &&\n this.collections?.some(id => tvIdentifier.indexOf(id) >= 0)\n ) {\n return 'tv';\n }\n if (\n this.mediatype === 'audio' &&\n this.collections?.some(id => radioIdentifier.indexOf(id) >= 0)\n ) {\n return 'radio';\n }\n return this.mediatype;\n }\n\n render() {\n if (!this.mediatype) {\n return html``;\n }\n\n const displayMediatype = this.displayMediaType || '';\n const fillColor = mediatypeColor[displayMediatype];\n\n return html`\n <div id=\"icon\" class=\"${this.showText ? 'show-text' : 'hide-text'}\" style=\"--iconFillColor=${fillColor}\">\n ${this.mediatypeIcons[displayMediatype]}\n <p class=\"status-text\">${mediatypeText[displayMediatype]}</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 svg {\n height: var(--iconHeight, 10px);\n width: var(--iconWidth, 10px);\n }\n\n .fill-color {\n fill: var(--iconFillColor, '#000000');\n }\n `;\n }\n}\n"]}
|