@internetarchive/collection-browser 0.3.10-alpha.1 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (254) hide show
  1. package/.editorconfig +29 -29
  2. package/.github/workflows/ci.yml +26 -26
  3. package/.github/workflows/gh-pages-main.yml +39 -39
  4. package/.github/workflows/npm-publish.yml +39 -39
  5. package/.github/workflows/pr-preview.yml +38 -38
  6. package/.husky/pre-commit +4 -4
  7. package/LICENSE +661 -661
  8. package/README.md +83 -83
  9. package/dist/index.d.ts +9 -9
  10. package/dist/index.js +9 -9
  11. package/dist/src/app-root.d.ts +48 -48
  12. package/dist/src/app-root.js +258 -258
  13. package/dist/src/app-root.js.map +1 -1
  14. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  15. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  16. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  17. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  18. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  19. package/dist/src/assets/img/icons/chevron.js +2 -2
  20. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  21. package/dist/src/assets/img/icons/empty-query.js +2 -2
  22. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  23. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  24. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  25. package/dist/src/assets/img/icons/eye.js +2 -2
  26. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  27. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  28. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  29. package/dist/src/assets/img/icons/login-required.js +5 -17
  30. package/dist/src/assets/img/icons/login-required.js.map +1 -1
  31. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  32. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  33. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  34. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  35. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  36. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  37. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  38. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  39. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  40. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  41. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  42. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  43. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  44. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  45. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  46. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  47. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  48. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  49. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  50. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  51. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  52. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  53. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  54. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  55. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  56. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  57. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  58. package/dist/src/assets/img/icons/null-result.js +2 -2
  59. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  60. package/dist/src/assets/img/icons/restricted.js +3 -19
  61. package/dist/src/assets/img/icons/restricted.js.map +1 -1
  62. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  63. package/dist/src/assets/img/icons/reviews.js +2 -2
  64. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  65. package/dist/src/assets/img/icons/upload.js +2 -2
  66. package/dist/src/assets/img/icons/views.d.ts +1 -1
  67. package/dist/src/assets/img/icons/views.js +2 -2
  68. package/dist/src/circular-activity-indicator.d.ts +5 -5
  69. package/dist/src/circular-activity-indicator.js +17 -17
  70. package/dist/src/collection-browser.d.ts +315 -278
  71. package/dist/src/collection-browser.js +1275 -1119
  72. package/dist/src/collection-browser.js.map +1 -1
  73. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  74. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  75. package/dist/src/collection-facets/facets-template.d.ts +16 -16
  76. package/dist/src/collection-facets/facets-template.js +125 -125
  77. package/dist/src/collection-facets/more-facets-content.d.ts +77 -76
  78. package/dist/src/collection-facets/more-facets-content.js +357 -353
  79. package/dist/src/collection-facets/more-facets-content.js.map +1 -1
  80. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  81. package/dist/src/collection-facets/more-facets-pagination.js +192 -192
  82. package/dist/src/collection-facets.d.ts +78 -77
  83. package/dist/src/collection-facets.js +393 -389
  84. package/dist/src/collection-facets.js.map +1 -1
  85. package/dist/src/empty-placeholder.d.ts +11 -11
  86. package/dist/src/empty-placeholder.js +42 -42
  87. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  88. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  89. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  90. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  91. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  92. package/dist/src/mediatype/mediatype-config.js +85 -85
  93. package/dist/src/models.d.ts +112 -103
  94. package/dist/src/models.js +125 -117
  95. package/dist/src/models.js.map +1 -1
  96. package/dist/src/restoration-state-handler.d.ts +45 -46
  97. package/dist/src/restoration-state-handler.js +230 -230
  98. package/dist/src/restoration-state-handler.js.map +1 -1
  99. package/dist/src/sort-filter-bar/alpha-bar.d.ts +12 -9
  100. package/dist/src/sort-filter-bar/alpha-bar.js +69 -50
  101. package/dist/src/sort-filter-bar/alpha-bar.js.map +1 -1
  102. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  103. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  104. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  105. package/dist/src/sort-filter-bar/img/list.js +2 -2
  106. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  107. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  108. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  109. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  110. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +108 -107
  111. package/dist/src/sort-filter-bar/sort-filter-bar.js +430 -423
  112. package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
  113. package/dist/src/styles/item-image-styles.d.ts +8 -8
  114. package/dist/src/styles/item-image-styles.js +12 -15
  115. package/dist/src/styles/item-image-styles.js.map +1 -1
  116. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  117. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  118. package/dist/src/tiles/grid/account-tile.d.ts +8 -8
  119. package/dist/src/tiles/grid/account-tile.js +20 -20
  120. package/dist/src/tiles/grid/collection-tile.d.ts +7 -7
  121. package/dist/src/tiles/grid/collection-tile.js +23 -23
  122. package/dist/src/tiles/grid/item-tile.d.ts +24 -24
  123. package/dist/src/tiles/grid/item-tile.js +89 -87
  124. package/dist/src/tiles/grid/item-tile.js.map +1 -1
  125. package/dist/src/tiles/grid/tile-stats.d.ts +10 -10
  126. package/dist/src/tiles/grid/tile-stats.js +40 -40
  127. package/dist/src/tiles/image-block.d.ts +17 -17
  128. package/dist/src/tiles/image-block.js +77 -69
  129. package/dist/src/tiles/image-block.js.map +1 -1
  130. package/dist/src/tiles/item-image.d.ts +31 -31
  131. package/dist/src/tiles/item-image.js +106 -106
  132. package/dist/src/tiles/list/account-label.d.ts +1 -1
  133. package/dist/src/tiles/list/account-label.js +6 -6
  134. package/dist/src/tiles/list/date-label.d.ts +1 -1
  135. package/dist/src/tiles/list/date-label.js +12 -12
  136. package/dist/src/tiles/list/tile-list-compact-header.d.ts +12 -12
  137. package/dist/src/tiles/list/tile-list-compact-header.js +41 -41
  138. package/dist/src/tiles/list/tile-list-compact.d.ts +21 -21
  139. package/dist/src/tiles/list/tile-list-compact.js +93 -93
  140. package/dist/src/tiles/list/tile-list.d.ts +50 -50
  141. package/dist/src/tiles/list/tile-list.js +276 -276
  142. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  143. package/dist/src/tiles/mediatype-icon.js +47 -47
  144. package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -7
  145. package/dist/src/tiles/overlay/icon-overlay.js +63 -33
  146. package/dist/src/tiles/overlay/icon-overlay.js.map +1 -1
  147. package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -0
  148. package/dist/src/tiles/overlay/icon-text-overlay.js +83 -0
  149. package/dist/src/tiles/overlay/icon-text-overlay.js.map +1 -0
  150. package/dist/src/tiles/overlay/text-overlay.d.ts +10 -8
  151. package/dist/src/tiles/overlay/text-overlay.js +63 -35
  152. package/dist/src/tiles/overlay/text-overlay.js.map +1 -1
  153. package/dist/src/tiles/text-snippet-block.d.ts +29 -29
  154. package/dist/src/tiles/text-snippet-block.js +81 -81
  155. package/dist/src/tiles/tile-dispatcher.d.ts +36 -36
  156. package/dist/src/tiles/tile-dispatcher.js +128 -128
  157. package/dist/src/utils/analytics-events.d.ts +22 -22
  158. package/dist/src/utils/analytics-events.js +24 -24
  159. package/dist/src/utils/format-count.d.ts +7 -7
  160. package/dist/src/utils/format-count.js +76 -76
  161. package/dist/src/utils/format-date.d.ts +2 -2
  162. package/dist/src/utils/format-date.js +23 -23
  163. package/dist/test/collection-browser.test.d.ts +1 -1
  164. package/dist/test/collection-browser.test.js +647 -575
  165. package/dist/test/collection-browser.test.js.map +1 -1
  166. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  167. package/dist/test/collection-facets/facets-template.test.js +62 -62
  168. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  169. package/dist/test/collection-facets/more-facets-content.test.js +114 -114
  170. package/dist/test/collection-facets/more-facets-content.test.js.map +1 -1
  171. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  172. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  173. package/dist/test/collection-facets.test.d.ts +2 -2
  174. package/dist/test/collection-facets.test.js +544 -544
  175. package/dist/test/empty-placeholder.test.d.ts +1 -1
  176. package/dist/test/empty-placeholder.test.js +33 -33
  177. package/dist/test/icon-overlay.test.d.ts +1 -1
  178. package/dist/test/icon-overlay.test.js +24 -24
  179. package/dist/test/image-block.test.d.ts +1 -1
  180. package/dist/test/image-block.test.js +48 -48
  181. package/dist/test/item-image.test.d.ts +1 -1
  182. package/dist/test/item-image.test.js +80 -80
  183. package/dist/test/item-image.test.js.map +1 -1
  184. package/dist/test/mediatype-config.test.d.ts +1 -1
  185. package/dist/test/mediatype-config.test.js +16 -16
  186. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  187. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  188. package/dist/test/mocks/mock-collection-name-cache.d.ts +7 -7
  189. package/dist/test/mocks/mock-collection-name-cache.js +13 -13
  190. package/dist/test/mocks/mock-search-responses.d.ts +12 -10
  191. package/dist/test/mocks/mock-search-responses.js +341 -271
  192. package/dist/test/mocks/mock-search-responses.js.map +1 -1
  193. package/dist/test/mocks/mock-search-service.d.ts +13 -13
  194. package/dist/test/mocks/mock-search-service.js +40 -36
  195. package/dist/test/mocks/mock-search-service.js.map +1 -1
  196. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  197. package/dist/test/restoration-state-handler.test.js +125 -126
  198. package/dist/test/restoration-state-handler.test.js.map +1 -1
  199. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -0
  200. package/dist/test/sort-filter-bar/alpha-bar.test.js +44 -0
  201. package/dist/test/sort-filter-bar/alpha-bar.test.js.map +1 -0
  202. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  203. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +145 -113
  204. package/dist/test/sort-filter-bar/sort-filter-bar.test.js.map +1 -1
  205. package/dist/test/text-overlay.test.d.ts +1 -1
  206. package/dist/test/text-overlay.test.js +48 -41
  207. package/dist/test/text-overlay.test.js.map +1 -1
  208. package/dist/test/text-snippet-block.test.d.ts +1 -1
  209. package/dist/test/text-snippet-block.test.js +57 -57
  210. package/dist/test/tile-stats.test.d.ts +1 -1
  211. package/dist/test/tile-stats.test.js +33 -33
  212. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  213. package/dist/test/tiles/grid/item-tile.test.js +107 -107
  214. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  215. package/dist/test/tiles/list/tile-list-compact.test.js +92 -92
  216. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  217. package/dist/test/tiles/list/tile-list.test.js +123 -123
  218. package/dist/test/utils/format-count.test.d.ts +1 -1
  219. package/dist/test/utils/format-count.test.js +23 -23
  220. package/dist/test/utils/format-date.test.d.ts +1 -1
  221. package/dist/test/utils/format-date.test.js +17 -17
  222. package/index.html +24 -24
  223. package/local.archive.org.cert +86 -86
  224. package/local.archive.org.key +27 -27
  225. package/package.json +3 -3
  226. package/renovate.json +6 -6
  227. package/src/app-root.ts +1 -1
  228. package/src/assets/img/icons/login-required.ts +3 -15
  229. package/src/assets/img/icons/restricted.ts +1 -17
  230. package/src/collection-browser.ts +273 -57
  231. package/src/collection-facets/more-facets-content.ts +6 -2
  232. package/src/collection-facets.ts +6 -2
  233. package/src/models.ts +15 -0
  234. package/src/restoration-state-handler.ts +7 -5
  235. package/src/sort-filter-bar/alpha-bar.ts +26 -9
  236. package/src/sort-filter-bar/sort-filter-bar.ts +9 -0
  237. package/src/styles/item-image-styles.ts +3 -6
  238. package/src/tiles/grid/item-tile.ts +2 -0
  239. package/src/tiles/image-block.ts +8 -0
  240. package/src/tiles/overlay/icon-overlay.ts +33 -3
  241. package/src/tiles/overlay/icon-text-overlay.ts +75 -0
  242. package/src/tiles/overlay/text-overlay.ts +34 -7
  243. package/test/collection-browser.test.ts +90 -10
  244. package/test/collection-facets/more-facets-content.test.ts +2 -2
  245. package/test/item-image.test.ts +2 -2
  246. package/test/mocks/mock-search-responses.ts +78 -0
  247. package/test/mocks/mock-search-service.ts +6 -0
  248. package/test/restoration-state-handler.test.ts +0 -3
  249. package/test/sort-filter-bar/alpha-bar.test.ts +52 -0
  250. package/test/sort-filter-bar/sort-filter-bar.test.ts +44 -0
  251. package/test/text-overlay.test.ts +10 -3
  252. package/tsconfig.json +21 -21
  253. package/web-dev-server.config.mjs +30 -30
  254. package/web-test-runner.config.mjs +41 -41
@@ -1,31 +1,31 @@
1
- import { __decorate } from "tslib";
2
- import { css, html, LitElement } from 'lit';
3
- import { customElement, property } from 'lit/decorators.js';
4
- import { mediatypeConfig } from '../mediatype/mediatype-config';
5
- let MediatypeIcon = class MediatypeIcon extends LitElement {
6
- constructor() {
7
- super(...arguments);
8
- this.showText = false;
9
- }
10
- get displayMediatype() {
11
- var _a, _b;
12
- const tvIdentifier = ['tvnews', 'tvarchive', 'television'];
13
- const radioIdentifier = ['radio', 'radioprogram'];
14
- if (this.mediatype === 'movies' &&
15
- ((_a = this.collections) === null || _a === void 0 ? void 0 : _a.some(id => tvIdentifier.indexOf(id) >= 0))) {
16
- return 'tv';
17
- }
18
- if (this.mediatype === 'audio' &&
19
- ((_b = this.collections) === null || _b === void 0 ? void 0 : _b.some(id => radioIdentifier.indexOf(id) >= 0))) {
20
- return 'radio';
21
- }
22
- return this.mediatype || '';
23
- }
24
- render() {
25
- const config = mediatypeConfig[this.displayMediatype];
26
- if (!config) {
27
- return html ``;
28
- }
1
+ import { __decorate } from "tslib";
2
+ import { css, html, LitElement } from 'lit';
3
+ import { customElement, property } from 'lit/decorators.js';
4
+ import { mediatypeConfig } from '../mediatype/mediatype-config';
5
+ let MediatypeIcon = class MediatypeIcon extends LitElement {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.showText = false;
9
+ }
10
+ get displayMediatype() {
11
+ var _a, _b;
12
+ const tvIdentifier = ['tvnews', 'tvarchive', 'television'];
13
+ const radioIdentifier = ['radio', 'radioprogram'];
14
+ if (this.mediatype === 'movies' &&
15
+ ((_a = this.collections) === null || _a === void 0 ? void 0 : _a.some(id => tvIdentifier.indexOf(id) >= 0))) {
16
+ return 'tv';
17
+ }
18
+ if (this.mediatype === 'audio' &&
19
+ ((_b = this.collections) === null || _b === void 0 ? void 0 : _b.some(id => radioIdentifier.indexOf(id) >= 0))) {
20
+ return 'radio';
21
+ }
22
+ return this.mediatype || '';
23
+ }
24
+ render() {
25
+ const config = mediatypeConfig[this.displayMediatype];
26
+ if (!config) {
27
+ return html ``;
28
+ }
29
29
  return html `
30
30
  <div
31
31
  id="icon"
@@ -36,9 +36,9 @@ let MediatypeIcon = class MediatypeIcon extends LitElement {
36
36
  ${config.icon}
37
37
  <p class="status-text">${config.text}</p>
38
38
  </div>
39
- `;
40
- }
41
- static get styles() {
39
+ `;
40
+ }
41
+ static get styles() {
42
42
  return css `
43
43
  #icon {
44
44
  height: var(--iconHeight, 25px);
@@ -65,20 +65,20 @@ let MediatypeIcon = class MediatypeIcon extends LitElement {
65
65
  .fill-color {
66
66
  fill: var(--iconFillColor, '#000000');
67
67
  }
68
- `;
69
- }
70
- };
71
- __decorate([
72
- property({ type: String })
73
- ], MediatypeIcon.prototype, "mediatype", void 0);
74
- __decorate([
75
- property({ type: Array })
76
- ], MediatypeIcon.prototype, "collections", void 0);
77
- __decorate([
78
- property({ type: Boolean })
79
- ], MediatypeIcon.prototype, "showText", void 0);
80
- MediatypeIcon = __decorate([
81
- customElement('mediatype-icon')
82
- ], MediatypeIcon);
83
- export { MediatypeIcon };
68
+ `;
69
+ }
70
+ };
71
+ __decorate([
72
+ property({ type: String })
73
+ ], MediatypeIcon.prototype, "mediatype", void 0);
74
+ __decorate([
75
+ property({ type: Array })
76
+ ], MediatypeIcon.prototype, "collections", void 0);
77
+ __decorate([
78
+ property({ type: Boolean })
79
+ ], MediatypeIcon.prototype, "showText", void 0);
80
+ MediatypeIcon = __decorate([
81
+ customElement('mediatype-icon')
82
+ ], MediatypeIcon);
83
+ export { MediatypeIcon };
84
84
  //# sourceMappingURL=mediatype-icon.js.map
@@ -1,7 +1,10 @@
1
- import { CSSResultGroup, LitElement } from 'lit';
2
- export declare class IconOverlay extends LitElement {
3
- loggedIn: boolean;
4
- loginRequired: boolean;
5
- render(): import("lit-html").TemplateResult<1>;
6
- static get styles(): CSSResultGroup;
7
- }
1
+ import { CSSResultGroup, LitElement } from 'lit';
2
+ export declare class IconOverlay extends LitElement {
3
+ loggedIn: boolean;
4
+ loginRequired: boolean;
5
+ isCompactTile: boolean;
6
+ render(): import("lit-html").TemplateResult<1>;
7
+ private get getClass();
8
+ private get iconDisplay();
9
+ static get styles(): CSSResultGroup;
10
+ }
@@ -1,42 +1,72 @@
1
- import { __decorate } from "tslib";
2
- import { css, html, LitElement } from 'lit';
3
- import { customElement, property } from 'lit/decorators.js';
4
- import { restrictedIcon } from '../../assets/img/icons/restricted';
5
- import { loginRequiredIcon } from '../../assets/img/icons/login-required';
6
- let IconOverlay = class IconOverlay extends LitElement {
7
- constructor() {
8
- super(...arguments);
9
- this.loggedIn = false;
10
- this.loginRequired = false;
11
- }
12
- render() {
13
- return this.loginRequired && !this.loggedIn
14
- ? html `${loginRequiredIcon}`
15
- : html `${restrictedIcon}`;
16
- }
17
- static get styles() {
1
+ import { __decorate } from "tslib";
2
+ import { css, html, LitElement } from 'lit';
3
+ import { customElement, property } from 'lit/decorators.js';
4
+ import { restrictedIcon } from '../../assets/img/icons/restricted';
5
+ import { loginRequiredIcon } from '../../assets/img/icons/login-required';
6
+ let IconOverlay = class IconOverlay extends LitElement {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.loggedIn = false;
10
+ this.loginRequired = false;
11
+ this.isCompactTile = false;
12
+ }
13
+ render() {
14
+ return html `<div class="icon-overlay ${this.getClass}">
15
+ ${this.iconDisplay}
16
+ </div>`;
17
+ }
18
+ get getClass() {
19
+ return this.isCompactTile ? 'list-compact' : 'list-detail';
20
+ }
21
+ get iconDisplay() {
22
+ return this.loginRequired && !this.loggedIn
23
+ ? html `${loginRequiredIcon}`
24
+ : html `${restrictedIcon}`;
25
+ }
26
+ static get styles() {
18
27
  return css `
19
28
  :host {
20
29
  position: absolute;
21
30
  top: 50%;
22
31
  left: 50%;
23
32
  transform: translate(-50%, -50%);
24
- -ms-transform: translate(-50%, -50%);
25
- width: 50%;
26
- height: 50%;
33
+ width: 100%;
27
34
  z-index: 2;
35
+ background-color: rgb(255, 254, 203);
36
+ display: flex;
37
+ justify-content: center;
38
+ border: 1px solid #2c2c2c;
28
39
  }
29
- `;
30
- }
31
- };
32
- __decorate([
33
- property({ type: Boolean })
34
- ], IconOverlay.prototype, "loggedIn", void 0);
35
- __decorate([
36
- property({ type: Boolean })
37
- ], IconOverlay.prototype, "loginRequired", void 0);
38
- IconOverlay = __decorate([
39
- customElement('icon-overlay')
40
- ], IconOverlay);
41
- export { IconOverlay };
40
+
41
+ .icon-overlay {
42
+ height: 20px;
43
+ width: 20px;
44
+ padding: 2px;
45
+ padding: 2px;
46
+ }
47
+
48
+ .list-detail {
49
+ height: 20px;
50
+ width: 20px;
51
+ }
52
+ .list-compact {
53
+ height: 15px;
54
+ width: 15px;
55
+ }
56
+ `;
57
+ }
58
+ };
59
+ __decorate([
60
+ property({ type: Boolean })
61
+ ], IconOverlay.prototype, "loggedIn", void 0);
62
+ __decorate([
63
+ property({ type: Boolean })
64
+ ], IconOverlay.prototype, "loginRequired", void 0);
65
+ __decorate([
66
+ property({ type: Boolean })
67
+ ], IconOverlay.prototype, "isCompactTile", void 0);
68
+ IconOverlay = __decorate([
69
+ customElement('icon-overlay')
70
+ ], IconOverlay);
71
+ export { IconOverlay };
42
72
  //# sourceMappingURL=icon-overlay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"icon-overlay.js","sourceRoot":"","sources":["../../../../src/tiles/overlay/icon-overlay.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,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAG1E,IAAa,WAAW,GAAxB,MAAa,WAAY,SAAQ,UAAU;IAA3C;;QAC+B,aAAQ,GAAG,KAAK,CAAC;QAEjB,kBAAa,GAAG,KAAK,CAAC;IAsBrD,CAAC;IApBC,MAAM;QACJ,OAAO,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,QAAQ;YACzC,CAAC,CAAC,IAAI,CAAA,GAAG,iBAAiB,EAAE;YAC5B,CAAC,CAAC,IAAI,CAAA,GAAG,cAAc,EAAE,CAAC;IAC9B,CAAC;IAED,MAAM,KAAK,MAAM;QACf,OAAO,GAAG,CAAA;;;;;;;;;;;KAWT,CAAC;IACJ,CAAC;CACF,CAAA;AAxB8B;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;6CAAkB;AAEjB;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;kDAAuB;AAHxC,WAAW;IADvB,aAAa,CAAC,cAAc,CAAC;GACjB,WAAW,CAyBvB;SAzBY,WAAW","sourcesContent":["import { css, CSSResultGroup, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\nimport { restrictedIcon } from '../../assets/img/icons/restricted';\nimport { loginRequiredIcon } from '../../assets/img/icons/login-required';\n\n@customElement('icon-overlay')\nexport class IconOverlay extends LitElement {\n @property({ type: Boolean }) loggedIn = false;\n\n @property({ type: Boolean }) loginRequired = false;\n\n render() {\n return this.loginRequired && !this.loggedIn\n ? html`${loginRequiredIcon}`\n : html`${restrictedIcon}`;\n }\n\n static get styles(): CSSResultGroup {\n return css`\n :host {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n -ms-transform: translate(-50%, -50%);\n width: 50%;\n height: 50%;\n z-index: 2;\n }\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"icon-overlay.js","sourceRoot":"","sources":["../../../../src/tiles/overlay/icon-overlay.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,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAG1E,IAAa,WAAW,GAAxB,MAAa,WAAY,SAAQ,UAAU;IAA3C;;QAC+B,aAAQ,GAAG,KAAK,CAAC;QAEjB,kBAAa,GAAG,KAAK,CAAC;QAEtB,kBAAa,GAAG,KAAK,CAAC;IAkDrD,CAAC;IAhDC,MAAM;QACJ,OAAO,IAAI,CAAA,4BAA4B,IAAI,CAAC,QAAQ;QAChD,IAAI,CAAC,WAAW;WACb,CAAC;IACV,CAAC;IAED,IAAY,QAAQ;QAClB,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC;IAC7D,CAAC;IAED,IAAY,WAAW;QACrB,OAAO,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,QAAQ;YACzC,CAAC,CAAC,IAAI,CAAA,GAAG,iBAAiB,EAAE;YAC5B,CAAC,CAAC,IAAI,CAAA,GAAG,cAAc,EAAE,CAAC;IAC9B,CAAC;IAED,MAAM,KAAK,MAAM;QACf,OAAO,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA6BT,CAAC;IACJ,CAAC;CACF,CAAA;AAtD8B;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;6CAAkB;AAEjB;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;kDAAuB;AAEtB;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;kDAAuB;AALxC,WAAW;IADvB,aAAa,CAAC,cAAc,CAAC;GACjB,WAAW,CAuDvB;SAvDY,WAAW","sourcesContent":["import { css, CSSResultGroup, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\nimport { restrictedIcon } from '../../assets/img/icons/restricted';\nimport { loginRequiredIcon } from '../../assets/img/icons/login-required';\n\n@customElement('icon-overlay')\nexport class IconOverlay extends LitElement {\n @property({ type: Boolean }) loggedIn = false;\n\n @property({ type: Boolean }) loginRequired = false;\n\n @property({ type: Boolean }) isCompactTile = false;\n\n render() {\n return html`<div class=\"icon-overlay ${this.getClass}\">\n ${this.iconDisplay}\n </div>`;\n }\n\n private get getClass() {\n return this.isCompactTile ? 'list-compact' : 'list-detail';\n }\n\n private get iconDisplay() {\n return this.loginRequired && !this.loggedIn\n ? html`${loginRequiredIcon}`\n : html`${restrictedIcon}`;\n }\n\n static get styles(): CSSResultGroup {\n return css`\n :host {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 100%;\n z-index: 2;\n background-color: rgb(255, 254, 203);\n display: flex;\n justify-content: center;\n border: 1px solid #2c2c2c;\n }\n\n .icon-overlay {\n height: 20px;\n width: 20px;\n padding: 2px;\n padding: 2px;\n }\n\n .list-detail {\n height: 20px;\n width: 20px;\n }\n .list-compact {\n height: 15px;\n width: 15px;\n }\n `;\n }\n}\n"]}
@@ -0,0 +1,9 @@
1
+ import { CSSResultGroup, LitElement } from 'lit';
2
+ export declare class IconTextOverlay extends LitElement {
3
+ loggedIn: boolean;
4
+ loginRequired: boolean;
5
+ render(): import("lit-html").TemplateResult<1>;
6
+ private get iconDisplay();
7
+ private get textDisplay();
8
+ static get styles(): CSSResultGroup;
9
+ }
@@ -0,0 +1,83 @@
1
+ import { __decorate } from "tslib";
2
+ import { css, html, LitElement } from 'lit';
3
+ import { customElement, property } from 'lit/decorators.js';
4
+ import { loginRequiredIcon } from '../../assets/img/icons/login-required';
5
+ import { restrictedIcon } from '../../assets/img/icons/restricted';
6
+ let IconTextOverlay = class IconTextOverlay extends LitElement {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.loggedIn = false;
10
+ this.loginRequired = false;
11
+ }
12
+ render() {
13
+ return html `
14
+ <div class="overlay no-preview">
15
+ <div class="icon-overlay">${this.iconDisplay}</div>
16
+ <p class="text-overlay">${this.textDisplay}</p>
17
+ </div>
18
+ `;
19
+ }
20
+ get iconDisplay() {
21
+ return this.loginRequired && !this.loggedIn
22
+ ? html `${loginRequiredIcon}`
23
+ : html `${restrictedIcon}`;
24
+ }
25
+ get textDisplay() {
26
+ return this.loginRequired && !this.loggedIn
27
+ ? 'Log in\nto view this item'
28
+ : 'Content may be inappropriate';
29
+ }
30
+ static get styles() {
31
+ return css `
32
+ :host {
33
+ align-items: center;
34
+ display: flex;
35
+ }
36
+
37
+ .overlay {
38
+ border: 1px solid #2c2c2c;
39
+ border-radius: 1px;
40
+ position: absolute;
41
+ right: 0;
42
+ left: 0;
43
+ width: auto;
44
+ height: auto;
45
+ padding: 5px;
46
+ display: flex;
47
+ align-items: center;
48
+ border-radius: 1px;
49
+ text-align: center;
50
+ }
51
+
52
+ .icon-overlay {
53
+ width: 40px;
54
+ height: 40px;
55
+ display: inherit;
56
+ }
57
+ .text-overlay {
58
+ margin: 0;
59
+ vertical-align: bottom;
60
+ padding-left: 5px;
61
+ }
62
+
63
+ .no-preview {
64
+ background-color: #fffecb;
65
+ border: 1px solid #2c2c2c;
66
+ color: #2c2c2c;
67
+ font-size: 1.4rem;
68
+ line-height: 2rem;
69
+ }
70
+ `;
71
+ }
72
+ };
73
+ __decorate([
74
+ property({ type: Boolean })
75
+ ], IconTextOverlay.prototype, "loggedIn", void 0);
76
+ __decorate([
77
+ property({ type: Boolean })
78
+ ], IconTextOverlay.prototype, "loginRequired", void 0);
79
+ IconTextOverlay = __decorate([
80
+ customElement('icon-text-overlay')
81
+ ], IconTextOverlay);
82
+ export { IconTextOverlay };
83
+ //# sourceMappingURL=icon-text-overlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon-text-overlay.js","sourceRoot":"","sources":["../../../../src/tiles/overlay/icon-text-overlay.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;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAGnE,IAAa,eAAe,GAA5B,MAAa,eAAgB,SAAQ,UAAU;IAA/C;;QAC+B,aAAQ,GAAG,KAAK,CAAC;QAEjB,kBAAa,GAAG,KAAK,CAAC;IAiErD,CAAC;IA/DC,MAAM;QACJ,OAAO,IAAI,CAAA;;oCAEqB,IAAI,CAAC,WAAW;kCAClB,IAAI,CAAC,WAAW;;KAE7C,CAAC;IACJ,CAAC;IAED,IAAY,WAAW;QACrB,OAAO,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,QAAQ;YACzC,CAAC,CAAC,IAAI,CAAA,GAAG,iBAAiB,EAAE;YAC5B,CAAC,CAAC,IAAI,CAAA,GAAG,cAAc,EAAE,CAAC;IAC9B,CAAC;IAED,IAAY,WAAW;QACrB,OAAO,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,QAAQ;YACzC,CAAC,CAAC,2BAA2B;YAC7B,CAAC,CAAC,8BAA8B,CAAC;IACrC,CAAC;IAED,MAAM,KAAK,MAAM;QACf,OAAO,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAuCT,CAAC;IACJ,CAAC;CACF,CAAA;AAnE8B;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;iDAAkB;AAEjB;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;sDAAuB;AAHxC,eAAe;IAD3B,aAAa,CAAC,mBAAmB,CAAC;GACtB,eAAe,CAoE3B;SApEY,eAAe","sourcesContent":["import { css, CSSResultGroup, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { loginRequiredIcon } from '../../assets/img/icons/login-required';\nimport { restrictedIcon } from '../../assets/img/icons/restricted';\n\n@customElement('icon-text-overlay')\nexport class IconTextOverlay extends LitElement {\n @property({ type: Boolean }) loggedIn = false;\n\n @property({ type: Boolean }) loginRequired = false;\n\n render() {\n return html`\n <div class=\"overlay no-preview\">\n <div class=\"icon-overlay\">${this.iconDisplay}</div>\n <p class=\"text-overlay\">${this.textDisplay}</p>\n </div>\n `;\n }\n\n private get iconDisplay() {\n return this.loginRequired && !this.loggedIn\n ? html`${loginRequiredIcon}`\n : html`${restrictedIcon}`;\n }\n\n private get textDisplay() {\n return this.loginRequired && !this.loggedIn\n ? 'Log in\\nto view this item'\n : 'Content may be inappropriate';\n }\n\n static get styles(): CSSResultGroup {\n return css`\n :host {\n align-items: center;\n display: flex;\n }\n\n .overlay {\n border: 1px solid #2c2c2c;\n border-radius: 1px;\n position: absolute;\n right: 0;\n left: 0;\n width: auto;\n height: auto;\n padding: 5px;\n display: flex;\n align-items: center;\n border-radius: 1px;\n text-align: center;\n }\n\n .icon-overlay {\n width: 40px;\n height: 40px;\n display: inherit;\n }\n .text-overlay {\n margin: 0;\n vertical-align: bottom;\n padding-left: 5px;\n }\n\n .no-preview {\n background-color: #fffecb;\n border: 1px solid #2c2c2c;\n color: #2c2c2c;\n font-size: 1.4rem;\n line-height: 2rem;\n }\n `;\n }\n}\n"]}
@@ -1,8 +1,10 @@
1
- import { CSSResultGroup, LitElement } from 'lit';
2
- export declare class TextOverlay extends LitElement {
3
- loggedIn: boolean;
4
- loginRequired: boolean;
5
- render(): import("lit-html").TemplateResult<1>;
6
- private get textDisplay();
7
- static get styles(): CSSResultGroup;
8
- }
1
+ import { CSSResultGroup, LitElement } from 'lit';
2
+ export declare class TextOverlay extends LitElement {
3
+ loggedIn: boolean;
4
+ loginRequired: boolean;
5
+ iconRequired: boolean;
6
+ render(): import("lit-html").TemplateResult<1>;
7
+ private get iconDisplay();
8
+ private get textDisplay();
9
+ static get styles(): CSSResultGroup;
10
+ }
@@ -1,21 +1,34 @@
1
- import { __decorate } from "tslib";
2
- import { css, html, LitElement } from 'lit';
3
- import { customElement, property } from 'lit/decorators.js';
4
- let TextOverlay = class TextOverlay extends LitElement {
5
- constructor() {
6
- super(...arguments);
7
- this.loggedIn = false;
8
- this.loginRequired = false;
9
- }
10
- render() {
11
- return html ` <div class="overlay no-preview">${this.textDisplay}</div> `;
12
- }
13
- get textDisplay() {
14
- return this.loginRequired && !this.loggedIn
15
- ? 'Log in\nto view this item'
16
- : 'Content may be inappropriate';
17
- }
18
- static get styles() {
1
+ import { __decorate } from "tslib";
2
+ import { css, html, LitElement } from 'lit';
3
+ import { customElement, property } from 'lit/decorators.js';
4
+ import { loginRequiredIcon } from '../../assets/img/icons/login-required';
5
+ import { restrictedIcon } from '../../assets/img/icons/restricted';
6
+ let TextOverlay = class TextOverlay extends LitElement {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.loggedIn = false;
10
+ this.loginRequired = false;
11
+ this.iconRequired = false;
12
+ }
13
+ render() {
14
+ return html `
15
+ <div class="overlay no-preview">
16
+ <div class="icon-overlay">${this.iconDisplay}</div>
17
+ <p class="text-overlay">${this.textDisplay}</p>
18
+ </div>
19
+ `;
20
+ }
21
+ get iconDisplay() {
22
+ return this.loginRequired && !this.loggedIn
23
+ ? html `${loginRequiredIcon}`
24
+ : html `${restrictedIcon}`;
25
+ }
26
+ get textDisplay() {
27
+ return this.loginRequired && !this.loggedIn
28
+ ? html `Log in to view this item`
29
+ : html `Content may be inappropriate`;
30
+ }
31
+ static get styles() {
19
32
  return css `
20
33
  :host {
21
34
  align-items: center;
@@ -28,30 +41,45 @@ let TextOverlay = class TextOverlay extends LitElement {
28
41
  position: absolute;
29
42
  right: 0;
30
43
  left: 0;
44
+ top: 50%;
45
+ transform: translate(0px, -50%);
31
46
  width: auto;
32
47
  height: auto;
33
48
  padding: 5px;
49
+ background-color: #fffecb;
50
+ display: flex;
51
+ align-items: center;
52
+ border-radius: 1px;
34
53
  }
35
54
 
36
- .no-preview {
37
- background-color: #fffecb;
55
+ .icon-overlay {
56
+ width: 40px;
57
+ height: 40px;
58
+ display: inherit;
59
+ }
60
+ .text-overlay {
61
+ margin: 0;
62
+ vertical-align: bottom;
63
+ padding-left: 5px;
64
+ text-align: center;
38
65
  color: #2c2c2c;
39
66
  font-size: 1.4rem;
40
67
  line-height: 2rem;
41
- text-align: center;
42
- white-space: pre-wrap; // for the newline character
43
68
  }
44
- `;
45
- }
46
- };
47
- __decorate([
48
- property({ type: Boolean })
49
- ], TextOverlay.prototype, "loggedIn", void 0);
50
- __decorate([
51
- property({ type: Boolean })
52
- ], TextOverlay.prototype, "loginRequired", void 0);
53
- TextOverlay = __decorate([
54
- customElement('text-overlay')
55
- ], TextOverlay);
56
- export { TextOverlay };
69
+ `;
70
+ }
71
+ };
72
+ __decorate([
73
+ property({ type: Boolean })
74
+ ], TextOverlay.prototype, "loggedIn", void 0);
75
+ __decorate([
76
+ property({ type: Boolean })
77
+ ], TextOverlay.prototype, "loginRequired", void 0);
78
+ __decorate([
79
+ property({ type: Boolean })
80
+ ], TextOverlay.prototype, "iconRequired", void 0);
81
+ TextOverlay = __decorate([
82
+ customElement('text-overlay')
83
+ ], TextOverlay);
84
+ export { TextOverlay };
57
85
  //# sourceMappingURL=text-overlay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"text-overlay.js","sourceRoot":"","sources":["../../../../src/tiles/overlay/text-overlay.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;AAG5D,IAAa,WAAW,GAAxB,MAAa,WAAY,SAAQ,UAAU;IAA3C;;QAC+B,aAAQ,GAAG,KAAK,CAAC;QAEjB,kBAAa,GAAG,KAAK,CAAC;IAwCrD,CAAC;IAtCC,MAAM;QACJ,OAAO,IAAI,CAAA,oCAAoC,IAAI,CAAC,WAAW,SAAS,CAAC;IAC3E,CAAC;IAED,IAAY,WAAW;QACrB,OAAO,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,QAAQ;YACzC,CAAC,CAAC,2BAA2B;YAC7B,CAAC,CAAC,8BAA8B,CAAC;IACrC,CAAC;IAED,MAAM,KAAK,MAAM;QACf,OAAO,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;KAyBT,CAAC;IACJ,CAAC;CACF,CAAA;AA1C8B;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;6CAAkB;AAEjB;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;kDAAuB;AAHxC,WAAW;IADvB,aAAa,CAAC,cAAc,CAAC;GACjB,WAAW,CA2CvB;SA3CY,WAAW","sourcesContent":["import { css, CSSResultGroup, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\n@customElement('text-overlay')\nexport class TextOverlay extends LitElement {\n @property({ type: Boolean }) loggedIn = false;\n\n @property({ type: Boolean }) loginRequired = false;\n\n render() {\n return html` <div class=\"overlay no-preview\">${this.textDisplay}</div> `;\n }\n\n private get textDisplay() {\n return this.loginRequired && !this.loggedIn\n ? 'Log in\\nto view this item'\n : 'Content may be inappropriate';\n }\n\n static get styles(): CSSResultGroup {\n return css`\n :host {\n align-items: center;\n display: flex;\n }\n\n .overlay {\n border: 1px solid #2c2c2c;\n border-radius: 1px;\n position: absolute;\n right: 0;\n left: 0;\n width: auto;\n height: auto;\n padding: 5px;\n }\n\n .no-preview {\n background-color: #fffecb;\n color: #2c2c2c;\n font-size: 1.4rem;\n line-height: 2rem;\n text-align: center;\n white-space: pre-wrap; // for the newline character\n }\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"text-overlay.js","sourceRoot":"","sources":["../../../../src/tiles/overlay/text-overlay.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;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAGnE,IAAa,WAAW,GAAxB,MAAa,WAAY,SAAQ,UAAU;IAA3C;;QAC+B,aAAQ,GAAG,KAAK,CAAC;QAEjB,kBAAa,GAAG,KAAK,CAAC;QAEtB,iBAAY,GAAG,KAAK,CAAC;IA+DpD,CAAC;IA7DC,MAAM;QACJ,OAAO,IAAI,CAAA;;oCAEqB,IAAI,CAAC,WAAW;kCAClB,IAAI,CAAC,WAAW;;KAE7C,CAAC;IACJ,CAAC;IAED,IAAY,WAAW;QACrB,OAAO,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,QAAQ;YACzC,CAAC,CAAC,IAAI,CAAA,GAAG,iBAAiB,EAAE;YAC5B,CAAC,CAAC,IAAI,CAAA,GAAG,cAAc,EAAE,CAAC;IAC9B,CAAC;IAED,IAAY,WAAW;QACrB,OAAO,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,QAAQ;YACzC,CAAC,CAAC,IAAI,CAAA,0BAA0B;YAChC,CAAC,CAAC,IAAI,CAAA,8BAA8B,CAAC;IACzC,CAAC;IAED,MAAM,KAAK,MAAM;QACf,OAAO,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAqCT,CAAC;IACJ,CAAC;CACF,CAAA;AAnE8B;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;6CAAkB;AAEjB;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;kDAAuB;AAEtB;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;iDAAsB;AALvC,WAAW;IADvB,aAAa,CAAC,cAAc,CAAC;GACjB,WAAW,CAoEvB;SApEY,WAAW","sourcesContent":["import { css, CSSResultGroup, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { loginRequiredIcon } from '../../assets/img/icons/login-required';\nimport { restrictedIcon } from '../../assets/img/icons/restricted';\n\n@customElement('text-overlay')\nexport class TextOverlay extends LitElement {\n @property({ type: Boolean }) loggedIn = false;\n\n @property({ type: Boolean }) loginRequired = false;\n\n @property({ type: Boolean }) iconRequired = false;\n\n render() {\n return html`\n <div class=\"overlay no-preview\">\n <div class=\"icon-overlay\">${this.iconDisplay}</div>\n <p class=\"text-overlay\">${this.textDisplay}</p>\n </div>\n `;\n }\n\n private get iconDisplay() {\n return this.loginRequired && !this.loggedIn\n ? html`${loginRequiredIcon}`\n : html`${restrictedIcon}`;\n }\n\n private get textDisplay() {\n return this.loginRequired && !this.loggedIn\n ? html`Log in to view this item`\n : html`Content may be inappropriate`;\n }\n\n static get styles(): CSSResultGroup {\n return css`\n :host {\n align-items: center;\n display: flex;\n }\n\n .overlay {\n border: 1px solid #2c2c2c;\n border-radius: 1px;\n position: absolute;\n right: 0;\n left: 0;\n top: 50%;\n transform: translate(0px, -50%);\n width: auto;\n height: auto;\n padding: 5px;\n background-color: #fffecb;\n display: flex;\n align-items: center;\n border-radius: 1px;\n }\n\n .icon-overlay {\n width: 40px;\n height: 40px;\n display: inherit;\n }\n .text-overlay {\n margin: 0;\n vertical-align: bottom;\n padding-left: 5px;\n text-align: center;\n color: #2c2c2c;\n font-size: 1.4rem;\n line-height: 2rem;\n }\n `;\n }\n}\n"]}
@@ -1,29 +1,29 @@
1
- import { CSSResultGroup, LitElement, TemplateResult } from 'lit';
2
- export declare class TextSnippetBlock extends LitElement {
3
- snippets?: string[];
4
- viewSize: string;
5
- render(): TemplateResult<1>;
6
- private get viewSizeClass();
7
- private get containerClasses();
8
- /**
9
- * An array of HTML templates derived from the snippets, with ellipses inserted
10
- * at the beginning, end, and between each pair of snippets.
11
- */
12
- private get ellipsisJoinedSnippets();
13
- /**
14
- * Returns an array of HTML span templates containing this item's snippets with all of
15
- * their `{{{triple-brace-delimited}}}` matches replaced by `<mark>HTML mark tags</mark>`.
16
- *
17
- * This approach safely avoids the use of `unsafeHTML` and leaves any existing HTML tags
18
- * in the snippets intact (as inert text), rather than stripping them away with DOMPurify.
19
- *
20
- * Note on `<em>` vs. `<mark>`:
21
- * The old search page snippets had search keywords demarcated with `<em>` tags.
22
- * The `<mark>` tag is semantically more accurate for this use case than `<em>`,
23
- * but screen-reader behavior may be different. `<em>` will likely be read in a
24
- * different tone, while `<mark>` is often read no differently than ordinary text
25
- * in many screen-readers (though there are ways to work around this if needed).
26
- */
27
- private get snippetTemplates();
28
- static get styles(): CSSResultGroup;
29
- }
1
+ import { CSSResultGroup, LitElement, TemplateResult } from 'lit';
2
+ export declare class TextSnippetBlock extends LitElement {
3
+ snippets?: string[];
4
+ viewSize: string;
5
+ render(): TemplateResult<1>;
6
+ private get viewSizeClass();
7
+ private get containerClasses();
8
+ /**
9
+ * An array of HTML templates derived from the snippets, with ellipses inserted
10
+ * at the beginning, end, and between each pair of snippets.
11
+ */
12
+ private get ellipsisJoinedSnippets();
13
+ /**
14
+ * Returns an array of HTML span templates containing this item's snippets with all of
15
+ * their `{{{triple-brace-delimited}}}` matches replaced by `<mark>HTML mark tags</mark>`.
16
+ *
17
+ * This approach safely avoids the use of `unsafeHTML` and leaves any existing HTML tags
18
+ * in the snippets intact (as inert text), rather than stripping them away with DOMPurify.
19
+ *
20
+ * Note on `<em>` vs. `<mark>`:
21
+ * The old search page snippets had search keywords demarcated with `<em>` tags.
22
+ * The `<mark>` tag is semantically more accurate for this use case than `<em>`,
23
+ * but screen-reader behavior may be different. `<em>` will likely be read in a
24
+ * different tone, while `<mark>` is often read no differently than ordinary text
25
+ * in many screen-readers (though there are ways to work around this if needed).
26
+ */
27
+ private get snippetTemplates();
28
+ static get styles(): CSSResultGroup;
29
+ }