@internetarchive/collection-browser 0.0.1-alpha.2 → 0.0.1-alpha.22

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.
Files changed (183) hide show
  1. package/demo/app-root.ts +24 -158
  2. package/dist/demo/app-root.d.ts +2 -16
  3. package/dist/demo/app-root.js +23 -141
  4. package/dist/demo/app-root.js.map +1 -1
  5. package/dist/src/assets/img/icons/chevron.d.ts +2 -0
  6. package/dist/src/assets/img/icons/chevron.js +4 -0
  7. package/dist/src/assets/img/icons/chevron.js.map +1 -0
  8. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -0
  9. package/dist/src/assets/img/icons/eye-closed.js +5 -0
  10. package/dist/src/assets/img/icons/eye-closed.js.map +1 -0
  11. package/dist/src/assets/img/icons/eye.d.ts +2 -0
  12. package/dist/src/assets/img/icons/eye.js +5 -0
  13. package/dist/src/assets/img/icons/eye.js.map +1 -0
  14. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -2
  15. package/dist/src/assets/img/icons/mediatype/account.js +5 -4
  16. package/dist/src/assets/img/icons/mediatype/account.js.map +1 -1
  17. package/dist/src/assets/img/icons/mediatype/audio.js +7 -4
  18. package/dist/src/assets/img/icons/mediatype/audio.js.map +1 -1
  19. package/dist/src/assets/img/icons/mediatype/collection.js +7 -4
  20. package/dist/src/assets/img/icons/mediatype/collection.js.map +1 -1
  21. package/dist/src/assets/img/icons/mediatype/etree.js +10 -5
  22. package/dist/src/assets/img/icons/mediatype/etree.js.map +1 -1
  23. package/dist/src/assets/img/icons/mediatype/film.js +2 -1
  24. package/dist/src/assets/img/icons/mediatype/film.js.map +1 -1
  25. package/dist/src/assets/img/icons/mediatype/images.js +9 -6
  26. package/dist/src/assets/img/icons/mediatype/images.js.map +1 -1
  27. package/dist/src/assets/img/icons/mediatype/software.js +9 -6
  28. package/dist/src/assets/img/icons/mediatype/software.js.map +1 -1
  29. package/dist/src/assets/img/icons/mediatype/texts.js +9 -6
  30. package/dist/src/assets/img/icons/mediatype/texts.js.map +1 -1
  31. package/dist/src/assets/img/icons/mediatype/tv.js +10 -5
  32. package/dist/src/assets/img/icons/mediatype/tv.js.map +1 -1
  33. package/dist/src/assets/img/icons/mediatype/video.js +10 -6
  34. package/dist/src/assets/img/icons/mediatype/video.js.map +1 -1
  35. package/dist/src/assets/img/icons/mediatype/web.js +9 -6
  36. package/dist/src/assets/img/icons/mediatype/web.js.map +1 -1
  37. package/dist/src/async-collection-name.d.ts +11 -0
  38. package/dist/src/async-collection-name.js +38 -0
  39. package/dist/src/async-collection-name.js.map +1 -0
  40. package/dist/src/collection-browser.d.ts +55 -17
  41. package/dist/src/collection-browser.js +466 -106
  42. package/dist/src/collection-browser.js.map +1 -1
  43. package/dist/src/collection-facets.d.ts +24 -5
  44. package/dist/src/collection-facets.js +300 -78
  45. package/dist/src/collection-facets.js.map +1 -1
  46. package/dist/src/collection-name-cache.d.ts +18 -0
  47. package/dist/src/collection-name-cache.js +89 -0
  48. package/dist/src/collection-name-cache.js.map +1 -0
  49. package/dist/src/mediatype-icon.js +10 -3
  50. package/dist/src/mediatype-icon.js.map +1 -1
  51. package/dist/src/models.d.ts +72 -14
  52. package/dist/src/models.js +57 -1
  53. package/dist/src/models.js.map +1 -1
  54. package/dist/src/restoration-state-handler.d.ts +37 -0
  55. package/dist/src/restoration-state-handler.js +177 -0
  56. package/dist/src/restoration-state-handler.js.map +1 -0
  57. package/dist/src/sort-filter-bar/alpha-bar.d.ts +1 -2
  58. package/dist/src/sort-filter-bar/alpha-bar.js +19 -9
  59. package/dist/src/sort-filter-bar/alpha-bar.js.map +1 -1
  60. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -0
  61. package/dist/src/sort-filter-bar/img/compact.js +5 -0
  62. package/dist/src/sort-filter-bar/img/compact.js.map +1 -0
  63. package/dist/src/sort-filter-bar/img/grid.d.ts +1 -0
  64. package/dist/src/sort-filter-bar/img/grid.js +5 -0
  65. package/dist/src/sort-filter-bar/img/grid.js.map +1 -0
  66. package/dist/src/sort-filter-bar/img/list.d.ts +1 -0
  67. package/dist/src/sort-filter-bar/img/list.js +5 -0
  68. package/dist/src/sort-filter-bar/img/list.js.map +1 -0
  69. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -0
  70. package/dist/src/sort-filter-bar/img/sort-triangle.js +5 -0
  71. package/dist/src/sort-filter-bar/img/sort-triangle.js.map +1 -0
  72. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -0
  73. package/dist/src/sort-filter-bar/img/tile.js +5 -0
  74. package/dist/src/sort-filter-bar/img/tile.js.map +1 -0
  75. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +65 -11
  76. package/dist/src/sort-filter-bar/sort-filter-bar.js +453 -142
  77. package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
  78. package/dist/src/tiles/grid/collection-tile.js +1 -2
  79. package/dist/src/tiles/grid/collection-tile.js.map +1 -1
  80. package/dist/src/tiles/grid/item-tile.d.ts +4 -0
  81. package/dist/src/tiles/grid/item-tile.js +134 -45
  82. package/dist/src/tiles/grid/item-tile.js.map +1 -1
  83. package/dist/src/tiles/list/tile-list-compact-header.d.ts +11 -0
  84. package/dist/src/tiles/list/tile-list-compact-header.js +79 -0
  85. package/dist/src/tiles/list/tile-list-compact-header.js.map +1 -0
  86. package/dist/src/tiles/list/tile-list-compact.d.ts +1 -0
  87. package/dist/src/tiles/list/tile-list-compact.js +122 -31
  88. package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
  89. package/dist/src/tiles/list/tile-list-detail.d.ts +0 -10
  90. package/dist/src/tiles/list/tile-list-detail.js +6 -159
  91. package/dist/src/tiles/list/tile-list-detail.js.map +1 -1
  92. package/dist/src/tiles/list/tile-list.d.ts +19 -6
  93. package/dist/src/tiles/list/tile-list.js +240 -108
  94. package/dist/src/tiles/list/tile-list.js.map +1 -1
  95. package/dist/src/tiles/tile-dispatcher.d.ts +8 -1
  96. package/dist/src/tiles/tile-dispatcher.js +46 -11
  97. package/dist/src/tiles/tile-dispatcher.js.map +1 -1
  98. package/dist/src/utils/format-date.js +1 -2
  99. package/dist/src/utils/format-date.js.map +1 -1
  100. package/dist/test/{utils/format-string.test.d.ts → collection-name-cache.test.d.ts} +0 -0
  101. package/dist/test/collection-name-cache.test.js +158 -0
  102. package/dist/test/collection-name-cache.test.js.map +1 -0
  103. package/dist/test/mocks/mock-search-response.d.ts +5 -0
  104. package/dist/test/mocks/mock-search-response.js +62 -0
  105. package/dist/test/mocks/mock-search-response.js.map +1 -0
  106. package/dist/test/mocks/mock-search-service.d.ts +13 -0
  107. package/dist/test/mocks/mock-search-service.js +20 -0
  108. package/dist/test/mocks/mock-search-service.js.map +1 -0
  109. package/package.json +9 -4
  110. package/src/assets/img/icons/chevron.ts +4 -0
  111. package/src/assets/img/icons/eye-closed.ts +5 -0
  112. package/src/assets/img/icons/eye.ts +5 -0
  113. package/src/assets/img/icons/mediatype/account.ts +5 -4
  114. package/src/assets/img/icons/mediatype/audio.ts +7 -4
  115. package/src/assets/img/icons/mediatype/collection.ts +7 -4
  116. package/src/assets/img/icons/mediatype/etree.ts +10 -5
  117. package/src/assets/img/icons/mediatype/film.ts +2 -1
  118. package/src/assets/img/icons/mediatype/images.ts +9 -6
  119. package/src/assets/img/icons/mediatype/software.ts +9 -6
  120. package/src/assets/img/icons/mediatype/texts.ts +9 -6
  121. package/src/assets/img/icons/mediatype/tv.ts +10 -5
  122. package/src/assets/img/icons/mediatype/video.ts +10 -6
  123. package/src/assets/img/icons/mediatype/web.ts +9 -6
  124. package/src/collection-browser.ts +490 -105
  125. package/src/collection-facets.ts +325 -109
  126. package/src/mediatype-icon.ts +10 -3
  127. package/src/models.ts +139 -14
  128. package/src/restoration-state-handler.ts +234 -0
  129. package/src/sort-filter-bar/alpha-bar.ts +19 -9
  130. package/src/sort-filter-bar/img/compact.ts +5 -0
  131. package/src/sort-filter-bar/img/list.ts +5 -0
  132. package/src/sort-filter-bar/img/sort-triangle.ts +5 -0
  133. package/src/sort-filter-bar/img/tile.ts +5 -0
  134. package/src/sort-filter-bar/sort-filter-bar.ts +499 -149
  135. package/src/tiles/grid/collection-tile.ts +1 -2
  136. package/src/tiles/grid/item-tile.ts +138 -56
  137. package/src/tiles/list/tile-list-compact-header.ts +75 -0
  138. package/src/tiles/list/tile-list-compact.ts +209 -0
  139. package/src/tiles/list/tile-list.ts +261 -110
  140. package/src/tiles/tile-dispatcher.ts +51 -11
  141. package/src/utils/format-date.ts +1 -2
  142. package/dist/src/assets/img/icons/audio.d.ts +0 -1
  143. package/dist/src/assets/img/icons/audio.js +0 -9
  144. package/dist/src/assets/img/icons/audio.js.map +0 -1
  145. package/dist/src/assets/img/icons/collection.d.ts +0 -1
  146. package/dist/src/assets/img/icons/collection.js +0 -9
  147. package/dist/src/assets/img/icons/collection.js.map +0 -1
  148. package/dist/src/assets/img/icons/etree.d.ts +0 -1
  149. package/dist/src/assets/img/icons/etree.js +0 -9
  150. package/dist/src/assets/img/icons/etree.js.map +0 -1
  151. package/dist/src/assets/img/icons/images.d.ts +0 -1
  152. package/dist/src/assets/img/icons/images.js +0 -10
  153. package/dist/src/assets/img/icons/images.js.map +0 -1
  154. package/dist/src/assets/img/icons/mediatype/etree copy.d.ts +0 -1
  155. package/dist/src/assets/img/icons/mediatype/etree copy.js +0 -9
  156. package/dist/src/assets/img/icons/mediatype/etree copy.js.map +0 -1
  157. package/dist/src/assets/img/icons/mediatype/livemusic.d.ts +0 -1
  158. package/dist/src/assets/img/icons/mediatype/livemusic.js +0 -7
  159. package/dist/src/assets/img/icons/mediatype/livemusic.js.map +0 -1
  160. package/dist/src/assets/img/icons/mediatype/photos.d.ts +0 -1
  161. package/dist/src/assets/img/icons/mediatype/photos.js +0 -7
  162. package/dist/src/assets/img/icons/mediatype/photos.js.map +0 -1
  163. package/dist/src/assets/img/icons/software.d.ts +0 -1
  164. package/dist/src/assets/img/icons/software.js +0 -10
  165. package/dist/src/assets/img/icons/software.js.map +0 -1
  166. package/dist/src/assets/img/icons/texts.d.ts +0 -1
  167. package/dist/src/assets/img/icons/texts.js +0 -10
  168. package/dist/src/assets/img/icons/texts.js.map +0 -1
  169. package/dist/src/assets/img/icons/tv.d.ts +0 -1
  170. package/dist/src/assets/img/icons/tv.js +0 -9
  171. package/dist/src/assets/img/icons/tv.js.map +0 -1
  172. package/dist/src/assets/img/icons/video.d.ts +0 -1
  173. package/dist/src/assets/img/icons/video.js +0 -10
  174. package/dist/src/assets/img/icons/video.js.map +0 -1
  175. package/dist/src/assets/img/icons/web.d.ts +0 -1
  176. package/dist/src/assets/img/icons/web.js +0 -10
  177. package/dist/src/assets/img/icons/web.js.map +0 -1
  178. package/dist/src/utils/format-string.d.ts +0 -2
  179. package/dist/src/utils/format-string.js +0 -7
  180. package/dist/src/utils/format-string.js.map +0 -1
  181. package/dist/test/utils/format-string.test.js +0 -17
  182. package/dist/test/utils/format-string.test.js.map +0 -1
  183. package/src/assets/img/icons/mediatype/foo.svg +0 -5
@@ -1,22 +1,16 @@
1
- import { css, html, LitElement } from 'lit';
1
+ /* eslint-disable lit/no-invalid-html */
2
+ import { css, html, LitElement, nothing } from 'lit';
3
+ import { ifDefined } from 'lit/directives/if-defined.js';
4
+ import { join } from 'lit/directives/join.js';
5
+ import { map } from 'lit/directives/map.js';
2
6
  import { customElement, property } from 'lit/decorators.js';
3
7
  import { SortParam } from '@internetarchive/search-service';
4
8
  import DOMPurify from 'dompurify';
5
- // import * as HtmlSanitizer from '@jitbit/htmlsanitizer';
6
- // import sanitizeHtml from 'sanitize-html';
7
- // - error
8
- // import DOMPurify from 'dompurify';
9
- // - no types
10
- import { CollectionDisplayMode, TileModel } from '../../models';
9
+ import { TileModel } from '../../models';
11
10
  import { formatCount, NumberFormat } from '../../utils/format-count';
12
11
  import { formatDate, DateFormat } from '../../utils/format-date';
13
12
  import '../../mediatype-icon';
14
13
 
15
- /*
16
- at 750 creator, title trimmed
17
- at 530
18
- */
19
-
20
14
  @customElement('tile-list')
21
15
  export class TileList extends LitElement {
22
16
  @property({ type: Object }) model?: TileModel;
@@ -29,65 +23,201 @@ export class TileList extends LitElement {
29
23
 
30
24
  @property({ type: Object }) sortParam?: SortParam;
31
25
 
32
- @property({ type: String }) displayMode: CollectionDisplayMode =
33
- 'list-compact';
34
-
35
- // private HtmlSanitizer = HtmlSanitizer();
36
-
37
26
  render() {
38
27
  return html`
39
28
  <div id="list-line" class="${this.classSize}">
40
- <div id="views">
41
- ${formatCount(this.model?.viewCount ?? 0, this.formatSize)}
29
+ <div id="list-line-left">
30
+ <div id="thumb">${this.imgTemplate}</div>
31
+ ${this.iconLeftTemplate}
42
32
  </div>
43
- <div id="title">${this.model?.title}</div>
44
- <div id="date">${formatDate(this.date, this.formatSize)}</div>
45
- <div id="creator">${this.model?.creator}</div>
46
- <div id="icon">
47
- <mediatype-icon .mediatype=${this.model?.mediatype}></mediatype-icon>
33
+ <div id="list-line-right">
34
+ <div id="title">${this.titleTemplate}</div>
35
+ ${this.itemLineTemplate} ${this.creatorTemplate}
36
+ <div id="date" class="metadata">
37
+ <span class="label">Published:</span> ${formatDate(
38
+ this.date,
39
+ this.formatSize
40
+ )}
41
+ </div>
42
+ <div id="views-line">
43
+ ${this.viewsTemplate} ${this.ratingTemplate} ${this.reviewsTemplate}
44
+ </div>
45
+ ${this.topicsTemplate} ${this.collectionsTemplate}
46
+ ${this.descriptionTemplate}
48
47
  </div>
49
48
  </div>
50
- ${this.displayMode === 'list-detail' ? this.detail() : html``}
51
49
  `;
52
50
  }
53
51
 
54
- private detail() {
55
- const descriptionHtml = this.description();
56
- const topicHtml = this.topic();
57
- const sourceHtml = this.source();
52
+ // Display templates
53
+ private get imgTemplate() {
54
+ if (!this.model?.identifier) {
55
+ return nothing;
56
+ }
57
+ return html` <img
58
+ src="${this.baseNavigationUrl}/services/img/${this.model.identifier}"
59
+ alt="${this.model.identifier}"
60
+ class=${this.model?.mediatype}
61
+ />`;
62
+ }
58
63
 
59
- if (descriptionHtml || topicHtml || sourceHtml) {
60
- return html`
61
- <div id="list-detail" class="${this.classSize}">
62
- <div></div>
63
- <div id="details">${descriptionHtml} ${topicHtml} ${sourceHtml}</div>
64
- <div></div>
65
- </div>
66
- `;
64
+ private get iconLeftTemplate() {
65
+ if (this.classSize !== 'desktop') {
66
+ return nothing;
67
67
  }
68
- return html``;
68
+ return html`
69
+ <div id="icon-left">
70
+ <mediatype-icon
71
+ .mediatype=${this.model?.mediatype}
72
+ .showText=${true}
73
+ style="--iconHeight: 20px; --iconWidth: 20px;text-align: center;"
74
+ >
75
+ </mediatype-icon>
76
+ </div>
77
+ `;
78
+ }
79
+
80
+ private get titleTemplate() {
81
+ if (!this.model?.title) {
82
+ return nothing;
83
+ }
84
+ return html` ${this.detailsLink(this.model.identifier, this.model.title)} `;
85
+ }
86
+
87
+ private get itemLineTemplate() {
88
+ const source = this.sourceTemplate;
89
+ const volume = this.volumeTemplate;
90
+ const issue = this.issueTemplate;
91
+ if (!source && !volume && !issue) {
92
+ return nothing;
93
+ }
94
+ return html` <div id="item-line">${source} ${volume} ${issue}</div> `;
95
+ }
96
+
97
+ private get volumeTemplate() {
98
+ return this.metadataTemplate(this.model?.volume, 'Volume');
99
+ }
100
+
101
+ private get issueTemplate() {
102
+ return this.metadataTemplate(this.model?.issue, 'Issue');
103
+ }
104
+
105
+ private get sourceTemplate() {
106
+ if (!this.model?.source) {
107
+ return nothing;
108
+ }
109
+ return html`
110
+ <div id="source">
111
+ ${this.labelTemplate('Source')}
112
+ ${this.searchLink('source', this.model.source)}
113
+ </div>
114
+ `;
69
115
  }
70
116
 
71
- private description() {
72
- if (this.model?.description) {
73
- const description = DOMPurify.sanitize(`${this.model?.description}`);
74
- return html` <div id="description">${description}</div> `;
117
+ private get creatorTemplate() {
118
+ if (!this.model?.creators || this.model.creators.length === 0) {
119
+ return nothing;
75
120
  }
76
- return html``;
121
+ return html`
122
+ <div id="creator" class="metadata">
123
+ ${this.labelTemplate('By')}
124
+ ${join(
125
+ map(this.model.creators, id => this.searchLink('creator', id)),
126
+ html`, `
127
+ )}
128
+ </div>
129
+ `;
130
+ }
131
+
132
+ private get viewsTemplate() {
133
+ return this.metadataTemplate(
134
+ `${formatCount(this.model?.viewCount ?? 0, this.formatSize)}`,
135
+ 'Views'
136
+ );
137
+ }
138
+
139
+ private get ratingTemplate() {
140
+ return this.metadataTemplate(this.model?.averageRating, 'Avg Rating');
77
141
  }
78
142
 
79
- private topic() {
80
- if (this.model?.subject) {
81
- return html` <div id="topic">Topic: ${this.model?.subject}</div> `;
143
+ private get reviewsTemplate() {
144
+ return this.metadataTemplate(this.model?.commentCount, 'Reviews');
145
+ }
146
+
147
+ private get topicsTemplate() {
148
+ if (!this.model?.subjects || this.model.subjects.length === 0) {
149
+ return nothing;
82
150
  }
83
- return html``;
151
+ return html`
152
+ <div id="topics" class="metadata">
153
+ ${this.labelTemplate('Topics')}
154
+ ${join(
155
+ map(this.model.subjects, id => this.searchLink('subject', id)),
156
+ html`, `
157
+ )}
158
+ </div>
159
+ `;
84
160
  }
85
161
 
86
- private source() {
87
- if (this.model?.source) {
88
- return html` <div id="source">Source: ${this.model?.source}</div> `;
162
+ private get collectionsTemplate() {
163
+ if (!this.model?.collections) {
164
+ return nothing;
89
165
  }
90
- return html``;
166
+ return html`
167
+ <div id="collections" class="metadata">
168
+ ${this.labelTemplate('Collections')}
169
+ ${join(
170
+ map(this.model.collections, id => this.detailsLink(id)),
171
+ html`, `
172
+ )}
173
+ </div>
174
+ `;
175
+ }
176
+
177
+ private get descriptionTemplate() {
178
+ return this.metadataTemplate(
179
+ DOMPurify.sanitize(this.model?.description ?? ''),
180
+ '',
181
+ 'description'
182
+ );
183
+ }
184
+
185
+ // Utility functions
186
+ private metadataTemplate(text: any, label = '', id?: string) {
187
+ if (!text) return nothing;
188
+ return html`
189
+ <div id=${ifDefined(id)} class="metadata">
190
+ ${this.labelTemplate(label)} ${text}
191
+ </div>
192
+ `;
193
+ }
194
+
195
+ private labelTemplate(label: string) {
196
+ return html`${label
197
+ ? html`<span class="label">${label}: </span>`
198
+ : nothing}`;
199
+ }
200
+
201
+ private searchLink(field: string, searchTerm: string) {
202
+ if (!field || !searchTerm) {
203
+ return nothing;
204
+ }
205
+ const query = encodeURIComponent(`${field}:"${searchTerm}"`);
206
+ // No whitespace after closing tag
207
+ return html` <a href="${this.baseNavigationUrl}/search.php?query=${query}">
208
+ ${DOMPurify.sanitize(searchTerm)}</a
209
+ >`;
210
+ }
211
+
212
+ private detailsLink(identifier: string, text?: string) {
213
+ if (!identifier) {
214
+ return nothing;
215
+ }
216
+ const linkText = text ?? identifier;
217
+ // No whitespace after closing tag
218
+ return html` <a href="${this.baseNavigationUrl}/details/${identifier}"
219
+ >${DOMPurify.sanitize(linkText)}</a
220
+ >`;
91
221
  }
92
222
 
93
223
  /*
@@ -118,21 +248,85 @@ export class TileList extends LitElement {
118
248
 
119
249
  static get styles() {
120
250
  return css`
121
- .mobile div {
122
- font-size: 11px;
251
+ html {
252
+ font-size: unset;
123
253
  }
124
- .desktop div {
254
+
255
+ div {
125
256
  font-size: 14px;
126
257
  }
127
258
 
259
+ div a {
260
+ text-decoration: none;
261
+ }
262
+
263
+ .label {
264
+ font-weight: bold;
265
+ }
266
+
267
+ .mobile {
268
+ --infiniteScrollerRowGap: 20px;
269
+ --infiniteScrollerRowHeight: auto;
270
+ }
271
+
272
+ .desktop {
273
+ --infiniteScrollerRowGap: 30px;
274
+ --infiniteScrollerRowHeight: auto;
275
+ }
128
276
  /* fields */
129
277
 
278
+ #thumb img {
279
+ object-fit: cover;
280
+ display: block;
281
+ }
282
+
283
+ .mobile #thumb img {
284
+ width: 90px;
285
+ height: 90px;
286
+ }
287
+
288
+ .desktop #thumb img {
289
+ width: 100px;
290
+ height: 100px;
291
+ }
292
+
293
+ #thumb img.collection {
294
+ border-radius: 8px;
295
+ -webkit-border-radius: 8px;
296
+ -moz-border-radius: 8px;
297
+ }
298
+
299
+ .mobile #thumb img.account {
300
+ border-radius: 45px;
301
+ -webkit-border-radius: 45px;
302
+ -moz-border-radius: 45px;
303
+ }
304
+
305
+ .desktop #thumb img.account {
306
+ border-radius: 50px;
307
+ -webkit-border-radius: 50px;
308
+ -moz-border-radius: 50px;
309
+ }
310
+
311
+ #icon-left {
312
+ padding-top: 5px;
313
+ }
314
+
130
315
  #title {
131
316
  color: #4b64ff;
132
317
  text-decoration: none;
318
+ font-size: 22px;
319
+ font-weight: bold;
320
+ /* align top of text with image */
321
+ line-height: 25px;
322
+ margin-top: -4px;
323
+ padding-bottom: 2px;
324
+ }
325
+
326
+ .metadata {
327
+ line-height: 20px;
133
328
  }
134
329
 
135
- #title,
136
330
  #creator,
137
331
  #topic,
138
332
  #source {
@@ -140,38 +334,16 @@ export class TileList extends LitElement {
140
334
  overflow: hidden;
141
335
  }
142
336
 
143
- #title,
144
- #creator {
145
- white-space: nowrap;
146
- }
147
-
148
- #views,
149
- #date {
150
- text-align: right;
151
- }
152
-
153
- #views,
154
- #details {
155
- color: #767676;
156
- }
157
-
158
337
  #icon {
159
- padding-right: 6px;
160
- }
161
-
162
- .desktop #description,
163
- .desktop #topic,
164
- .desktop #source {
165
- font-size: 12px;
338
+ padding-top: 5px;
166
339
  }
167
340
 
168
- .mobile #description,
169
- .mobile #topic,
170
- .mobile #source {
171
- font-size: 11px;
341
+ mediatype-icon {
342
+ --iconHeight: 20px;
172
343
  }
173
344
 
174
345
  #description {
346
+ padding-top: 10px;
175
347
  overflow: hidden;
176
348
  text-overflow: ellipsis;
177
349
  -webkit-line-clamp: 2;
@@ -187,40 +359,19 @@ export class TileList extends LitElement {
187
359
  /* list-line */
188
360
 
189
361
  #list-line {
190
- display: grid;
191
- column-gap: 10px;
192
- line-height: 1.42857143;
193
- border-top: 1px solid #ddd !important;
194
- padding-top: 5px;
195
- align-items: center;
196
- }
197
-
198
- #list-line.mobile {
199
- grid-template-columns: 33px 3fr 30px 2fr 29.5px;
200
- }
201
- #list-line.desktop {
202
- grid-template-columns: 60px 3fr 90px 2fr 29.5px;
362
+ display: flex;
363
+ column-gap: 5px;
203
364
  }
204
365
 
205
- #list-line:hover #title {
366
+ div a:hover {
206
367
  text-decoration: underline;
207
368
  }
208
369
 
209
- /* list-detail */
210
-
211
- #list-detail {
212
- display: grid;
213
- column-gap: 10px;
214
- line-height: 1.42857143;
215
- align-items: center;
216
- }
217
-
218
- #list-detail.mobile {
219
- grid-template-columns: 33px auto 29.5px;
220
- }
221
-
222
- #list-detail.desktop {
223
- grid-template-columns: 60px auto 29.5px;
370
+ #item-line,
371
+ #views-line {
372
+ display: flex;
373
+ flex-direction: row;
374
+ gap: 10px;
224
375
  }
225
376
  `;
226
377
  }
@@ -6,18 +6,21 @@ import {
6
6
  SharedResizeObserverResizeHandlerInterface,
7
7
  } from '@internetarchive/shared-resize-observer';
8
8
  import { SortParam } from '@internetarchive/search-service';
9
+ import type { CollectionNameCacheInterface } from '@internetarchive/collection-name-cache';
9
10
  import type { CollectionDisplayMode, 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 }) displayMode: CollectionDisplayMode = 'grid';
23
+ @property({ type: String }) displayMode?: CollectionDisplayMode;
21
24
 
22
25
  @property({ type: Object }) model?: TileModel;
23
26
 
@@ -33,24 +36,53 @@ export class TileDispatcher
33
36
 
34
37
  @property({ type: Object }) sortParam?: SortParam;
35
38
 
39
+ @property({ type: Object })
40
+ collectionNameCache?: CollectionNameCacheInterface;
41
+
36
42
  @query('#container') private container!: HTMLDivElement;
37
43
 
38
44
  render() {
39
45
  return html`
40
46
  <div id="container">
41
- ${this.showDeleteButton
42
- ? html`<button id="delete-button">X</button>`
43
- : nothing}
44
- <a
45
- href="${this.baseNavigationUrl}/details/${this.model?.identifier}"
46
- title=${ifDefined(this.model?.title)}
47
- >
48
- ${this.tile}
49
- </a>
47
+ ${this.displayMode === '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 } = this;
56
+ return html`
57
+ <tile-list-compact-header
58
+ class="header"
59
+ .currentWidth=${currentWidth}
60
+ .sortParam=${sortParam}
61
+ >
62
+ </tile-list-compact-header>
63
+ `;
64
+ }
65
+
66
+ private get tileTemplate() {
67
+ return html`
68
+ ${this.showDeleteButton
69
+ ? html`<button id="delete-button">X</button>`
70
+ : nothing}
71
+ ${this.displayMode === 'list-detail' ? this.tile : 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;
@@ -110,11 +142,20 @@ export class TileDispatcher
110
142
  default:
111
143
  return html`<item-tile
112
144
  .model=${model}
145
+ .baseNavigationUrl=${baseNavigationUrl}
113
146
  .currentWidth=${currentWidth}
114
147
  .currentHeight=${currentHeight}
148
+ .collectionNameCache=${this.collectionNameCache}
115
149
  ></item-tile>`;
116
150
  }
117
151
  case 'list-compact':
152
+ return html`<tile-list-compact
153
+ .model=${model}
154
+ .currentWidth=${currentWidth}
155
+ .currentHeight=${currentHeight}
156
+ .baseNavigationUrl=${baseNavigationUrl}
157
+ .sortParam=${sortParam}
158
+ ></tile-list-compact>`;
118
159
  case 'list-detail':
119
160
  return html`<tile-list
120
161
  .model=${model}
@@ -122,7 +163,6 @@ export class TileDispatcher
122
163
  .currentHeight=${currentHeight}
123
164
  .baseNavigationUrl=${baseNavigationUrl}
124
165
  .sortParam=${sortParam}
125
- .displayMode=${this.displayMode}
126
166
  ></tile-list>`;
127
167
  default:
128
168
  return nothing;
@@ -19,8 +19,7 @@ export function formatDate(
19
19
  };
20
20
  switch (format) {
21
21
  case 'short':
22
- options.month = '2-digit';
23
- options.year = '2-digit';
22
+ options.year = 'numeric';
24
23
  break;
25
24
  case 'long':
26
25
  options.year = 'numeric';
@@ -1 +0,0 @@
1
- export declare const audioIcon: import("lit-html").TemplateResult<2>;
@@ -1,9 +0,0 @@
1
- import { svg } from 'lit';
2
- export const audioIcon = svg `
3
- <svg viewBox="0 0 300 300"
4
- xmlns="http://www.w3.org/2000/svg">
5
- <path d="m225.568345 20c20.949641 0 28.431655 8.5714286 28.431655 28.5714286-.928802 21.2807881-.704608 42.5615763-.400898 63.8423644l.153512 10.640394c.13351 9.458128.247386 18.916256.247386 28.374384v100c0 18.571429-5.985612 28.571429-28.431655 28.571429-50.877698-1.428571-100.258992-1.428571-151.1366903 0-20.9496403 0-28.4316547-8.571429-28.4316547-28.571429v-202.8571424c0-18.5714286 5.9856115-28.5714286 28.4316547-28.5714286 50.8776983 1.4285714 100.2589923 1.4285714 151.1366903 0zm-74.268345 127.4c-30.251351 0-53.3 24.489189-53.3 53.3 0 30.251351 24.489189 53.3 53.3 53.3 30.251351 0 53.3-24.489189 53.3-53.3s-24.489189-53.3-53.3-53.3zm0 39c7.897672 0 14.3 6.402328 14.3 14.3s-6.402328 14.3-14.3 14.3-14.3-6.402328-14.3-14.3 6.402328-14.3 14.3-14.3zm-1.3-137.8c-20.384 0-36.4 16.016-36.4 36.4s16.016 36.4 36.4 36.4 36.4-16.016 36.4-36.4-17.472-36.4-36.4-36.4z" fill="black" fill-rule="evenodd"/>
6
-
7
- </svg>
8
- `;
9
- //# sourceMappingURL=audio.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"audio.js","sourceRoot":"","sources":["../../../../../src/assets/img/icons/audio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAA;;;;;;CAM3B,CAAC","sourcesContent":["import { svg } from 'lit';\n\nexport const audioIcon = svg`\n<svg viewBox=\"0 0 300 300\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"m225.568345 20c20.949641 0 28.431655 8.5714286 28.431655 28.5714286-.928802 21.2807881-.704608 42.5615763-.400898 63.8423644l.153512 10.640394c.13351 9.458128.247386 18.916256.247386 28.374384v100c0 18.571429-5.985612 28.571429-28.431655 28.571429-50.877698-1.428571-100.258992-1.428571-151.1366903 0-20.9496403 0-28.4316547-8.571429-28.4316547-28.571429v-202.8571424c0-18.5714286 5.9856115-28.5714286 28.4316547-28.5714286 50.8776983 1.4285714 100.2589923 1.4285714 151.1366903 0zm-74.268345 127.4c-30.251351 0-53.3 24.489189-53.3 53.3 0 30.251351 24.489189 53.3 53.3 53.3 30.251351 0 53.3-24.489189 53.3-53.3s-24.489189-53.3-53.3-53.3zm0 39c7.897672 0 14.3 6.402328 14.3 14.3s-6.402328 14.3-14.3 14.3-14.3-6.402328-14.3-14.3 6.402328-14.3 14.3-14.3zm-1.3-137.8c-20.384 0-36.4 16.016-36.4 36.4s16.016 36.4 36.4 36.4 36.4-16.016 36.4-36.4-17.472-36.4-36.4-36.4z\" fill=\"black\" fill-rule=\"evenodd\"/>\n\n</svg>\n`;\n"]}
@@ -1 +0,0 @@
1
- export declare const collectionIcon: import("lit-html").TemplateResult<2>;
@@ -1,9 +0,0 @@
1
- import { svg } from 'lit';
2
- export const collectionIcon = svg `
3
- <svg viewBox="0 0 300 300"
4
- xmlns="http://www.w3.org/2000/svg">
5
- <path d="m280 262.122891v-156.834044c0-4.877026-2.063112-9.1444235-6.189337-12.8021929s-8.220563-5.4866541-12.283013-5.4866541h-225.4946834c-4.4642309 0-8.2524498 1.726748-11.3646565 5.1802441s-4.6683101 7.8230299-4.6683101 13.1086029v156.834044c0 5.279189 1.5210273 9.578505 4.5630818 12.897946 3.0420545 3.319442 6.8653495 4.979163 11.4698848 4.979163h225.4946834c4.06245 0 8.156788-1.726748 12.283013-5.180244s6.189337-7.685784 6.189337-12.696865zm-200.9382244-131.440315v7.918783c0 1.487366-.7780516 3.00984-2.334155 4.567424-1.5561034 1.557585-3.1472828 2.336377-4.7735384 2.336377h-14.8180581c-1.7601825 0-3.4183254-.743683-4.9744288-2.231048-1.5561033-1.487365-2.334155-3.044949-2.334155-4.672753v-7.918783c0-1.761858.8131278-3.964179 2.4393834-6.606966 1.6262555-2.642786 3.2493223-3.964179 4.8692004-3.964179h14.8180581c1.4859512 0 3.0420545 1.321393 4.6683101 3.964179 1.6262556 2.642787 2.4393833 4.845108 2.4393833 6.606966zm169.2740724 0v7.918783c0 1.627804-.711089 3.185388-2.133265 4.672753-1.422177 1.487365-3.080319 2.231048-4.974429 2.231048h-131.114463c-2.028037 0-3.753143-.743683-5.175319-2.231048-1.422177-1.487365-2.133265-3.044949-2.133265-4.672753v-7.918783c0-1.895912.742975-4.130152 2.228927-6.702719 1.485951-2.572567 3.175981-3.858851 5.070091-3.858851h131.114463c1.760182 0 3.383249 1.286284 4.8692 3.858851 1.485952 2.572567 2.228927 4.806807 2.228927 6.702719zm-169.2740724 50.988539v7.918784c0 1.487365-.7780516 2.977922-2.334155 4.471671s-3.1472828 2.237431-4.7735384 2.231088h-14.8180581c-1.7601825 0-3.4183254-.743723-4.9744288-2.231088-1.5561033-1.487365-2.334155-2.977922-2.334155-4.471671v-7.918784c0-1.895912.8131278-4.165261 2.4393834-6.808047 1.6262555-2.642786 3.2493223-3.964179 4.8692004-3.964179h14.8180581c1.4859512 0 3.0420545 1.353311 4.6683101 4.059932 1.6262556 2.706622 2.4393833 4.940861 2.4393833 6.702719zm169.2740724 0v7.918784c0 1.487365-.711089 2.977922-2.133265 4.471671-1.422177 1.493749-3.080319 2.237431-4.974429 2.231088h-131.114463c-2.028037 0-3.753143-.743723-5.175319-2.231088-1.422177-1.487365-2.133265-2.977922-2.133265-4.471671v-7.918784c0-2.029966.742975-4.331233 2.228927-6.9038 1.485951-2.572567 3.175981-3.858851 5.070091-3.858851h131.114463c1.760182 0 3.383249 1.321393 4.8692 3.964179 1.485952 2.642787 2.228927 4.912136 2.228927 6.808048zm-169.2740724 51.400278v6.9038c0 1.761858-.7780516 3.421579-2.334155 4.979163s-3.1472828 2.336376-4.7735384 2.336376h-14.8180581c-1.7601825 0-3.4183254-.778792-4.9744288-2.336376-1.5561033-1.557584-2.334155-3.217305-2.334155-4.979163v-6.9038c0-2.029966.7780517-4.366342 2.334155-7.009129 1.5561034-2.642786 3.2142463-3.964179 4.9744288-3.964179h14.8180581c1.4859512 0 3.0420545 1.321393 4.6683101 3.964179 1.6262556 2.642787 2.4393833 4.979163 2.4393833 7.009129zm169.2740724 0v6.9038c0 1.761858-.711089 3.421579-2.133265 4.979163-1.422177 1.557584-3.080319 2.336376-4.974429 2.336376h-131.114463c-2.028037 0-3.753143-.778792-5.175319-2.336376-1.422177-1.557584-2.133265-3.217305-2.133265-4.979163v-6.9038c0-2.170404.742975-4.54189 2.228927-7.114457 1.485951-2.572567 3.175981-3.858851 5.070091-3.858851h131.114463c1.760182 0 3.383249 1.321393 4.8692 3.964179 1.485952 2.642787 2.228927 4.979163 2.228927 7.009129z" fill="white"/>
6
-
7
- </svg>
8
- `;
9
- //# sourceMappingURL=collection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"collection.js","sourceRoot":"","sources":["../../../../../src/assets/img/icons/collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAA;;;;;;CAMhC,CAAC","sourcesContent":["import { svg } from 'lit';\n\nexport const collectionIcon = svg`\n <svg viewBox=\"0 0 300 300\"\n xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"m280 262.122891v-156.834044c0-4.877026-2.063112-9.1444235-6.189337-12.8021929s-8.220563-5.4866541-12.283013-5.4866541h-225.4946834c-4.4642309 0-8.2524498 1.726748-11.3646565 5.1802441s-4.6683101 7.8230299-4.6683101 13.1086029v156.834044c0 5.279189 1.5210273 9.578505 4.5630818 12.897946 3.0420545 3.319442 6.8653495 4.979163 11.4698848 4.979163h225.4946834c4.06245 0 8.156788-1.726748 12.283013-5.180244s6.189337-7.685784 6.189337-12.696865zm-200.9382244-131.440315v7.918783c0 1.487366-.7780516 3.00984-2.334155 4.567424-1.5561034 1.557585-3.1472828 2.336377-4.7735384 2.336377h-14.8180581c-1.7601825 0-3.4183254-.743683-4.9744288-2.231048-1.5561033-1.487365-2.334155-3.044949-2.334155-4.672753v-7.918783c0-1.761858.8131278-3.964179 2.4393834-6.606966 1.6262555-2.642786 3.2493223-3.964179 4.8692004-3.964179h14.8180581c1.4859512 0 3.0420545 1.321393 4.6683101 3.964179 1.6262556 2.642787 2.4393833 4.845108 2.4393833 6.606966zm169.2740724 0v7.918783c0 1.627804-.711089 3.185388-2.133265 4.672753-1.422177 1.487365-3.080319 2.231048-4.974429 2.231048h-131.114463c-2.028037 0-3.753143-.743683-5.175319-2.231048-1.422177-1.487365-2.133265-3.044949-2.133265-4.672753v-7.918783c0-1.895912.742975-4.130152 2.228927-6.702719 1.485951-2.572567 3.175981-3.858851 5.070091-3.858851h131.114463c1.760182 0 3.383249 1.286284 4.8692 3.858851 1.485952 2.572567 2.228927 4.806807 2.228927 6.702719zm-169.2740724 50.988539v7.918784c0 1.487365-.7780516 2.977922-2.334155 4.471671s-3.1472828 2.237431-4.7735384 2.231088h-14.8180581c-1.7601825 0-3.4183254-.743723-4.9744288-2.231088-1.5561033-1.487365-2.334155-2.977922-2.334155-4.471671v-7.918784c0-1.895912.8131278-4.165261 2.4393834-6.808047 1.6262555-2.642786 3.2493223-3.964179 4.8692004-3.964179h14.8180581c1.4859512 0 3.0420545 1.353311 4.6683101 4.059932 1.6262556 2.706622 2.4393833 4.940861 2.4393833 6.702719zm169.2740724 0v7.918784c0 1.487365-.711089 2.977922-2.133265 4.471671-1.422177 1.493749-3.080319 2.237431-4.974429 2.231088h-131.114463c-2.028037 0-3.753143-.743723-5.175319-2.231088-1.422177-1.487365-2.133265-2.977922-2.133265-4.471671v-7.918784c0-2.029966.742975-4.331233 2.228927-6.9038 1.485951-2.572567 3.175981-3.858851 5.070091-3.858851h131.114463c1.760182 0 3.383249 1.321393 4.8692 3.964179 1.485952 2.642787 2.228927 4.912136 2.228927 6.808048zm-169.2740724 51.400278v6.9038c0 1.761858-.7780516 3.421579-2.334155 4.979163s-3.1472828 2.336376-4.7735384 2.336376h-14.8180581c-1.7601825 0-3.4183254-.778792-4.9744288-2.336376-1.5561033-1.557584-2.334155-3.217305-2.334155-4.979163v-6.9038c0-2.029966.7780517-4.366342 2.334155-7.009129 1.5561034-2.642786 3.2142463-3.964179 4.9744288-3.964179h14.8180581c1.4859512 0 3.0420545 1.321393 4.6683101 3.964179 1.6262556 2.642787 2.4393833 4.979163 2.4393833 7.009129zm169.2740724 0v6.9038c0 1.761858-.711089 3.421579-2.133265 4.979163-1.422177 1.557584-3.080319 2.336376-4.974429 2.336376h-131.114463c-2.028037 0-3.753143-.778792-5.175319-2.336376-1.422177-1.557584-2.133265-3.217305-2.133265-4.979163v-6.9038c0-2.170404.742975-4.54189 2.228927-7.114457 1.485951-2.572567 3.175981-3.858851 5.070091-3.858851h131.114463c1.760182 0 3.383249 1.321393 4.8692 3.964179 1.485952 2.642787 2.228927 4.979163 2.228927 7.009129z\" fill=\"white\"/>\n\n</svg>\n`;\n"]}
@@ -1 +0,0 @@
1
- export declare const etreeIcon: import("lit-html").TemplateResult<2>;
@@ -1,9 +0,0 @@
1
- import { svg } from 'lit';
2
- export const etreeIcon = svg `
3
- <svg viewBox="0 0 300 300"
4
- xmlns="http://www.w3.org/2000/svg">
5
- <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="black" fill-rule="evenodd" transform="matrix(1 0 0 -1 0 301)"/>
6
-
7
- </svg>
8
- `;
9
- //# sourceMappingURL=etree.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"etree.js","sourceRoot":"","sources":["../../../../../src/assets/img/icons/etree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAA;;;;;;CAM3B,CAAC","sourcesContent":["import { svg } from 'lit';\n\nexport const etreeIcon = svg`\n<svg viewBox=\"0 0 300 300\"\n 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=\"black\" fill-rule=\"evenodd\" transform=\"matrix(1 0 0 -1 0 301)\"/>\n\n</svg>\n`;\n"]}
@@ -1 +0,0 @@
1
- export declare const imagesIcon: import("lit-html").TemplateResult<2>;
@@ -1,10 +0,0 @@
1
- import { svg } from 'lit';
2
- export const imagesIcon = svg `
3
- <svg viewBox="0 0 300 300"
4
- xmlns="http://www.w3.org/2000/svg">
5
- <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="black" transform="matrix(1 0 0 -1 0 301)"/>
6
-
7
-
8
- </svg>
9
- `;
10
- //# sourceMappingURL=images.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"images.js","sourceRoot":"","sources":["../../../../../src/assets/img/icons/images.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAA;;;;;;;CAO5B,CAAC","sourcesContent":["import { svg } from 'lit';\n\nexport const imagesIcon = svg`\n<svg viewBox=\"0 0 300 300\"\n 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=\"black\" transform=\"matrix(1 0 0 -1 0 301)\"/>\n\n\n</svg>\n`;\n"]}
@@ -1 +0,0 @@
1
- export declare const etreeIcon: import("lit-html").TemplateResult<2>;