@internetarchive/collection-browser 4.3.1-alpha-webdev8257.0 → 4.3.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 (41) hide show
  1. package/dist/index.d.ts +0 -1
  2. package/dist/index.js.map +1 -1
  3. package/dist/src/app-root.d.ts +0 -8
  4. package/dist/src/app-root.js +672 -698
  5. package/dist/src/app-root.js.map +1 -1
  6. package/dist/src/collection-browser.d.ts +0 -8
  7. package/dist/src/collection-browser.js +762 -779
  8. package/dist/src/collection-browser.js.map +1 -1
  9. package/dist/src/tiles/base-tile-component.d.ts +1 -17
  10. package/dist/src/tiles/base-tile-component.js +1 -48
  11. package/dist/src/tiles/base-tile-component.js.map +1 -1
  12. package/dist/src/tiles/grid/item-tile.js +138 -139
  13. package/dist/src/tiles/grid/item-tile.js.map +1 -1
  14. package/dist/src/tiles/list/tile-list-compact-header.js +46 -66
  15. package/dist/src/tiles/list/tile-list-compact-header.js.map +1 -1
  16. package/dist/src/tiles/list/tile-list-compact.d.ts +1 -1
  17. package/dist/src/tiles/list/tile-list-compact.js +100 -132
  18. package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
  19. package/dist/src/tiles/list/tile-list.d.ts +1 -1
  20. package/dist/src/tiles/list/tile-list.js +298 -316
  21. package/dist/src/tiles/list/tile-list.js.map +1 -1
  22. package/dist/src/tiles/models.d.ts +0 -14
  23. package/dist/src/tiles/models.js.map +1 -1
  24. package/dist/src/tiles/tile-dispatcher.d.ts +0 -14
  25. package/dist/src/tiles/tile-dispatcher.js +216 -319
  26. package/dist/src/tiles/tile-dispatcher.js.map +1 -1
  27. package/index.ts +28 -29
  28. package/package.json +2 -2
  29. package/src/app-root.ts +1251 -1281
  30. package/src/collection-browser.ts +3049 -3063
  31. package/src/tiles/base-tile-component.ts +65 -121
  32. package/src/tiles/grid/item-tile.ts +346 -347
  33. package/src/tiles/list/tile-list-compact-header.ts +86 -106
  34. package/src/tiles/list/tile-list-compact.ts +239 -273
  35. package/src/tiles/list/tile-list.ts +700 -718
  36. package/src/tiles/models.ts +8 -24
  37. package/src/tiles/tile-dispatcher.ts +527 -637
  38. package/dist/src/styles/tile-action-styles.d.ts +0 -14
  39. package/dist/src/styles/tile-action-styles.js +0 -52
  40. package/dist/src/styles/tile-action-styles.js.map +0 -1
  41. package/src/styles/tile-action-styles.ts +0 -52
@@ -2,7 +2,6 @@ var TileDispatcher_1;
2
2
  import { __decorate } from "tslib";
3
3
  import { css, html, nothing } from 'lit';
4
4
  import { customElement, property, query } from 'lit/decorators.js';
5
- import { classMap } from 'lit/directives/class-map.js';
6
5
  import { ifDefined } from 'lit/directives/if-defined.js';
7
6
  import { msg } from '@lit/localize';
8
7
  import './grid/collection-tile';
@@ -16,13 +15,11 @@ import './list/tile-list-compact-header';
16
15
  import { BaseTileComponent } from './base-tile-component';
17
16
  import { HoverPaneController, } from './hover/hover-pane-controller';
18
17
  import { srOnlyStyle } from '../styles/sr-only';
19
- import { tileActionStyles } from '../styles/tile-action-styles';
20
18
  let TileDispatcher = class TileDispatcher extends BaseTileComponent {
21
19
  constructor() {
22
20
  /*
23
21
  * Reactive properties inherited from BaseTileComponent:
24
22
  * - model?: TileModel;
25
- * - tileActions: TileAction[] = [];
26
23
  * - currentWidth?: number;
27
24
  * - currentHeight?: number;
28
25
  * - baseNavigationUrl?: string;
@@ -44,14 +41,6 @@ let TileDispatcher = class TileDispatcher extends BaseTileComponent {
44
41
  /** Whether this tile should include a hover pane at all (for applicable tile modes) */
45
42
  this.enableHoverPane = false;
46
43
  this.manageCheckTitle = msg('Remove this item from the list');
47
- /**
48
- * When the mouse enters the grid-mode tile actions area, dispatch a
49
- * synthetic mouseleave on the host to cancel the hover pane's show timer
50
- * and hide any visible pane.
51
- */
52
- this.handleGridActionsMouseEnter = () => {
53
- this.dispatchEvent(new MouseEvent('mouseleave', { bubbles: false }));
54
- };
55
44
  }
56
45
  static { TileDispatcher_1 = this; }
57
46
  acquireFocus() {
@@ -69,20 +58,14 @@ let TileDispatcher = class TileDispatcher extends BaseTileComponent {
69
58
  }; }
70
59
  render() {
71
60
  const isGridMode = this.tileDisplayMode === 'grid';
72
- const hasTileActions = isGridMode && this.showGridTileActions;
73
61
  const hoverPaneTemplate = this.hoverPaneController?.getTemplate() ?? nothing;
74
- const containerClasses = classMap({
75
- hoverable: isGridMode,
76
- 'has-tile-actions': hasTileActions,
77
- });
78
- return html `
79
- <div id="container" class=${containerClasses}>
62
+ return html `
63
+ <div id="container" class=${isGridMode ? 'hoverable' : ''}>
80
64
  ${this.tileDisplayMode === 'list-header'
81
65
  ? this.headerTemplate
82
- : this.tileTemplate}
83
- ${this.gridTileActionsTemplate} ${this.manageCheckTemplate}
84
- ${hoverPaneTemplate}
85
- </div>
66
+ : this.tileTemplate}
67
+ ${this.manageCheckTemplate} ${hoverPaneTemplate}
68
+ </div>
86
69
  `;
87
70
  }
88
71
  firstUpdated() {
@@ -95,43 +78,42 @@ let TileDispatcher = class TileDispatcher extends BaseTileComponent {
95
78
  }
96
79
  get headerTemplate() {
97
80
  const { currentWidth, sortParam, defaultSortParam, mobileBreakpoint } = this;
98
- return html `
99
- <tile-list-compact-header
100
- class="header"
101
- .currentWidth=${currentWidth}
102
- .sortParam=${sortParam ?? defaultSortParam}
103
- .mobileBreakpoint=${mobileBreakpoint}
104
- .tileActions=${this.tileActions}
105
- >
106
- </tile-list-compact-header>
81
+ return html `
82
+ <tile-list-compact-header
83
+ class="header"
84
+ .currentWidth=${currentWidth}
85
+ .sortParam=${sortParam ?? defaultSortParam}
86
+ .mobileBreakpoint=${mobileBreakpoint}
87
+ >
88
+ </tile-list-compact-header>
107
89
  `;
108
90
  }
109
91
  get tileTemplate() {
110
- return html `
92
+ return html `
111
93
  ${this.tileDisplayMode === 'list-detail'
112
94
  ? this.tile
113
- : this.linkTileTemplate}
95
+ : this.linkTileTemplate}
114
96
  `;
115
97
  }
116
98
  get linkTileTemplate() {
117
- return html `
118
- <a
119
- href=${this.linkTileHref}
120
- aria-label=${this.model?.title ?? 'Untitled item'}
121
- aria-describedby="link-aria-description"
122
- aria-haspopup=${this.shouldPrepareHoverPane ? 'dialog' : 'false'}
99
+ return html `
100
+ <a
101
+ href=${this.linkTileHref}
102
+ aria-label=${this.model?.title ?? 'Untitled item'}
103
+ aria-describedby="link-aria-description"
104
+ aria-haspopup=${this.shouldPrepareHoverPane ? 'dialog' : 'false'}
123
105
  title=${this.shouldPrepareHoverPane
124
106
  ? nothing // Don't show title tooltips when we have the tile info popups
125
- : ifDefined(this.model?.title)}
126
- @click=${this.handleLinkClicked}
127
- @contextmenu=${this.handleLinkContextMenu}
128
- class="tile-link"
129
- >
130
- ${this.tile}
131
- </a>
132
- <div id="link-aria-description" class="sr-only">
133
- ${msg('Press Down Arrow to preview item details')}
134
- </div>
107
+ : ifDefined(this.model?.title)}
108
+ @click=${this.handleLinkClicked}
109
+ @contextmenu=${this.handleLinkContextMenu}
110
+ class="tile-link"
111
+ >
112
+ ${this.tile}
113
+ </a>
114
+ <div id="link-aria-description" class="sr-only">
115
+ ${msg('Press Down Arrow to preview item details')}
116
+ </div>
135
117
  `;
136
118
  }
137
119
  get linkTileHref() {
@@ -147,15 +129,15 @@ let TileDispatcher = class TileDispatcher extends BaseTileComponent {
147
129
  get manageCheckTemplate() {
148
130
  if (!this.isManageView || this.tileDisplayMode !== 'grid')
149
131
  return nothing;
150
- return html `
151
- <div class="manage-check">
152
- <input
153
- type="checkbox"
154
- title=${this.manageCheckTitle}
155
- ?checked=${this.model?.checked}
156
- @change=${this.handleLinkClicked}
157
- />
158
- </div>
132
+ return html `
133
+ <div class="manage-check">
134
+ <input
135
+ type="checkbox"
136
+ title=${this.manageCheckTitle}
137
+ ?checked=${this.model?.checked}
138
+ @change=${this.handleLinkClicked}
139
+ />
140
+ </div>
159
141
  `;
160
142
  }
161
143
  /**
@@ -244,37 +226,6 @@ let TileDispatcher = class TileDispatcher extends BaseTileComponent {
244
226
  enableTouchBackdrop: true,
245
227
  });
246
228
  }
247
- /** Whether tile action buttons should be rendered in grid mode */
248
- get showGridTileActions() {
249
- return (this.tileActions.length > 0 &&
250
- !this.isManageView &&
251
- this.tileDisplayMode === 'grid');
252
- }
253
- /**
254
- * Template for the grid-mode action buttons. Rendered alongside the inner
255
- * tile link inside the dispatcher's shadow root so the action buttons can
256
- * suppress the hover pane on hover.
257
- */
258
- get gridTileActionsTemplate() {
259
- if (!this.showGridTileActions)
260
- return nothing;
261
- return html `
262
- <div
263
- class="tile-actions grid-tile-actions"
264
- @mouseenter=${this.handleGridActionsMouseEnter}
265
- @mousemove=${(e) => e.stopPropagation()}
266
- >
267
- ${this.tileActions.map(action => html `
268
- <button
269
- class="tile-action-btn"
270
- @click=${(e) => this.handleTileActionClick(e, action)}
271
- >
272
- ${action.label}
273
- </button>
274
- `)}
275
- </div>
276
- `;
277
- }
278
229
  get tile() {
279
230
  const { model, collectionPagePath, baseNavigationUrl, currentWidth, currentHeight, sortParam, creatorFilter, mobileBreakpoint, defaultSortParam, } = this;
280
231
  if (!model)
@@ -283,105 +234,103 @@ let TileDispatcher = class TileDispatcher extends BaseTileComponent {
283
234
  case 'grid':
284
235
  switch (model.mediatype) {
285
236
  case 'collection':
286
- return html `<collection-tile
287
- .model=${model}
288
- .collectionPagePath=${collectionPagePath}
289
- .baseImageUrl=${this.baseImageUrl}
290
- .currentWidth=${currentWidth}
291
- .currentHeight=${currentHeight}
292
- .creatorFilter=${creatorFilter}
293
- .suppressBlurring=${this.suppressBlurring}
294
- .isManageView=${this.isManageView}
295
- .layoutType=${this.layoutType}
296
- ?showInfoButton=${this.shouldShowInfoButton}
297
- @infoButtonPressed=${this.tileInfoButtonPressed}
298
- >
237
+ return html `<collection-tile
238
+ .model=${model}
239
+ .collectionPagePath=${collectionPagePath}
240
+ .baseImageUrl=${this.baseImageUrl}
241
+ .currentWidth=${currentWidth}
242
+ .currentHeight=${currentHeight}
243
+ .creatorFilter=${creatorFilter}
244
+ .suppressBlurring=${this.suppressBlurring}
245
+ .isManageView=${this.isManageView}
246
+ .layoutType=${this.layoutType}
247
+ ?showInfoButton=${this.shouldShowInfoButton}
248
+ @infoButtonPressed=${this.tileInfoButtonPressed}
249
+ >
299
250
  </collection-tile>`;
300
251
  case 'account':
301
- return html `<account-tile
302
- .model=${model}
303
- .collectionPagePath=${collectionPagePath}
304
- .baseImageUrl=${this.baseImageUrl}
305
- .currentWidth=${currentWidth}
306
- .currentHeight=${currentHeight}
307
- .creatorFilter=${creatorFilter}
308
- .suppressBlurring=${this.suppressBlurring}
309
- .isManageView=${this.isManageView}
310
- ?showInfoButton=${this.shouldShowInfoButton}
311
- @infoButtonPressed=${this.tileInfoButtonPressed}
312
- >
252
+ return html `<account-tile
253
+ .model=${model}
254
+ .collectionPagePath=${collectionPagePath}
255
+ .baseImageUrl=${this.baseImageUrl}
256
+ .currentWidth=${currentWidth}
257
+ .currentHeight=${currentHeight}
258
+ .creatorFilter=${creatorFilter}
259
+ .suppressBlurring=${this.suppressBlurring}
260
+ .isManageView=${this.isManageView}
261
+ ?showInfoButton=${this.shouldShowInfoButton}
262
+ @infoButtonPressed=${this.tileInfoButtonPressed}
263
+ >
313
264
  </account-tile>`;
314
265
  case 'search':
315
- return html `<search-tile
316
- .model=${model}
317
- .collectionPagePath=${collectionPagePath}
318
- .baseImageUrl=${this.baseImageUrl}
319
- .currentWidth=${currentWidth}
320
- .currentHeight=${currentHeight}
321
- .creatorFilter=${creatorFilter}
322
- .suppressBlurring=${this.suppressBlurring}
323
- .isManageView=${this.isManageView}
324
- ?showInfoButton=${false}
325
- @infoButtonPressed=${this.tileInfoButtonPressed}
326
- >
266
+ return html `<search-tile
267
+ .model=${model}
268
+ .collectionPagePath=${collectionPagePath}
269
+ .baseImageUrl=${this.baseImageUrl}
270
+ .currentWidth=${currentWidth}
271
+ .currentHeight=${currentHeight}
272
+ .creatorFilter=${creatorFilter}
273
+ .suppressBlurring=${this.suppressBlurring}
274
+ .isManageView=${this.isManageView}
275
+ ?showInfoButton=${false}
276
+ @infoButtonPressed=${this.tileInfoButtonPressed}
277
+ >
327
278
  </search-tile>`;
328
279
  default:
329
- return html `<item-tile
330
- .model=${model}
331
- .collectionPagePath=${collectionPagePath}
332
- .currentWidth=${this.currentWidth}
333
- .currentHeight=${this.currentHeight}
334
- .baseImageUrl=${this.baseImageUrl}
335
- .sortParam=${sortParam}
336
- .defaultSortParam=${defaultSortParam}
337
- .creatorFilter=${creatorFilter}
338
- .loggedIn=${this.loggedIn}
339
- .suppressBlurring=${this.suppressBlurring}
340
- .isManageView=${this.isManageView}
341
- .layoutType=${this.layoutType}
342
- ?showTvClips=${this.showTvClips}
343
- ?showInfoButton=${this.shouldShowInfoButton}
344
- ?useLocalTime=${this.useLocalTime}
345
- @infoButtonPressed=${this.tileInfoButtonPressed}
346
- >
280
+ return html `<item-tile
281
+ .model=${model}
282
+ .collectionPagePath=${collectionPagePath}
283
+ .currentWidth=${this.currentWidth}
284
+ .currentHeight=${this.currentHeight}
285
+ .baseImageUrl=${this.baseImageUrl}
286
+ .sortParam=${sortParam}
287
+ .defaultSortParam=${defaultSortParam}
288
+ .creatorFilter=${creatorFilter}
289
+ .loggedIn=${this.loggedIn}
290
+ .suppressBlurring=${this.suppressBlurring}
291
+ .isManageView=${this.isManageView}
292
+ .layoutType=${this.layoutType}
293
+ ?showTvClips=${this.showTvClips}
294
+ ?showInfoButton=${this.shouldShowInfoButton}
295
+ ?useLocalTime=${this.useLocalTime}
296
+ @infoButtonPressed=${this.tileInfoButtonPressed}
297
+ >
347
298
  </item-tile>`;
348
299
  }
349
300
  case 'list-compact':
350
- return html `<tile-list-compact
351
- .model=${model}
352
- .collectionPagePath=${collectionPagePath}
353
- .currentWidth=${currentWidth}
354
- .currentHeight=${currentHeight}
355
- .baseNavigationUrl=${baseNavigationUrl}
356
- .sortParam=${sortParam}
357
- .defaultSortParam=${defaultSortParam}
358
- .creatorFilter=${creatorFilter}
359
- .mobileBreakpoint=${mobileBreakpoint}
360
- .baseImageUrl=${this.baseImageUrl}
361
- .loggedIn=${this.loggedIn}
362
- .suppressBlurring=${this.suppressBlurring}
363
- .tileActions=${this.isManageView ? [] : this.tileActions}
364
- ?useLocalTime=${this.useLocalTime}
365
- >
301
+ return html `<tile-list-compact
302
+ .model=${model}
303
+ .collectionPagePath=${collectionPagePath}
304
+ .currentWidth=${currentWidth}
305
+ .currentHeight=${currentHeight}
306
+ .baseNavigationUrl=${baseNavigationUrl}
307
+ .sortParam=${sortParam}
308
+ .defaultSortParam=${defaultSortParam}
309
+ .creatorFilter=${creatorFilter}
310
+ .mobileBreakpoint=${mobileBreakpoint}
311
+ .baseImageUrl=${this.baseImageUrl}
312
+ .loggedIn=${this.loggedIn}
313
+ .suppressBlurring=${this.suppressBlurring}
314
+ ?useLocalTime=${this.useLocalTime}
315
+ >
366
316
  </tile-list-compact>`;
367
317
  case 'list-detail':
368
- return html `<tile-list
369
- .model=${model}
370
- .collectionPagePath=${collectionPagePath}
371
- .collectionTitles=${this.collectionTitles}
372
- .currentWidth=${currentWidth}
373
- .currentHeight=${currentHeight}
374
- .baseNavigationUrl=${baseNavigationUrl}
375
- .sortParam=${sortParam}
376
- .defaultSortParam=${defaultSortParam}
377
- .creatorFilter=${creatorFilter}
378
- .mobileBreakpoint=${mobileBreakpoint}
379
- .baseImageUrl=${this.baseImageUrl}
380
- .loggedIn=${this.loggedIn}
381
- .suppressBlurring=${this.suppressBlurring}
382
- .tileActions=${this.isManageView ? [] : this.tileActions}
383
- ?useLocalTime=${this.useLocalTime}
384
- >
318
+ return html `<tile-list
319
+ .model=${model}
320
+ .collectionPagePath=${collectionPagePath}
321
+ .collectionTitles=${this.collectionTitles}
322
+ .currentWidth=${currentWidth}
323
+ .currentHeight=${currentHeight}
324
+ .baseNavigationUrl=${baseNavigationUrl}
325
+ .sortParam=${sortParam}
326
+ .defaultSortParam=${defaultSortParam}
327
+ .creatorFilter=${creatorFilter}
328
+ .mobileBreakpoint=${mobileBreakpoint}
329
+ .baseImageUrl=${this.baseImageUrl}
330
+ .loggedIn=${this.loggedIn}
331
+ .suppressBlurring=${this.suppressBlurring}
332
+ ?useLocalTime=${this.useLocalTime}
333
+ >
385
334
  </tile-list>`;
386
335
  default:
387
336
  return nothing;
@@ -390,148 +339,96 @@ let TileDispatcher = class TileDispatcher extends BaseTileComponent {
390
339
  static get styles() {
391
340
  return [
392
341
  srOnlyStyle,
393
- tileActionStyles,
394
- css `
395
- :host {
396
- display: block;
397
- height: 100%;
398
- }
399
-
400
- collection-tile {
401
- --tileBorderColor: #555555;
402
- --tileBackgroundColor: #666666;
403
- --imageBlockBackgroundColor: #666666;
404
- }
405
-
406
- account-tile {
407
- --tileBorderColor: #dddddd;
408
- --imageBlockBackgroundColor: #fcf5e6;
409
- }
410
-
411
- item-tile {
412
- --tileBorderColor: #dddddd;
413
- --imageBlockBackgroundColor: #f1f1f4;
414
- }
415
-
416
- search-tile {
417
- --tileBorderColor: #555555;
418
- --tileBackgroundColor: #666666;
419
- --imageBlockBackgroundColor: #666666;
420
- --iconFillColor: #2c2c2c;
421
- }
422
-
423
- #container {
424
- position: relative;
425
- height: 100%;
426
- border-radius: 4px;
427
- }
428
-
429
- /*
430
- * When tile actions are present, the container takes on the role of
431
- * the tile's visual card so the tile content and action row appear
432
- * as a single unified element. The inner tile's own shadow/radius
433
- * are disabled via CSS variable overrides to avoid visual
434
- * duplication, and the action row sits as a footer inside the same
435
- * card.
436
- */
437
- #container.has-tile-actions {
438
- display: flex;
439
- flex-direction: column;
440
- overflow: hidden;
441
- box-shadow: var(--tileShadow, 1px 1px 2px 0);
442
- --tileBoxShadow: none;
443
- --tileCornerRadius: 0;
444
- }
445
-
446
- #container.has-tile-actions .tile-link {
447
- flex: 1;
448
- min-height: 0;
449
- overflow: hidden;
450
- border-radius: 0;
451
- }
452
-
453
- /* Normal hover shadow lives on the inner anchor for plain tiles */
454
- #container.hoverable:not(.has-tile-actions) a:focus,
455
- #container.hoverable:not(.has-tile-actions) a:hover {
456
- box-shadow: var(
457
- --tileHoverBoxShadow,
458
- 0 0 6px 2px rgba(8, 8, 32, 0.8)
459
- );
460
- transition: box-shadow 0.1s ease;
461
- }
462
-
463
- /*
464
- * When the container owns the card visuals, the hover shadow needs
465
- * to move up to the container so it wraps the action row too.
466
- */
467
- #container.hoverable.has-tile-actions:hover {
468
- box-shadow: var(
469
- --tileHoverBoxShadow,
470
- 0 0 6px 2px rgba(8, 8, 32, 0.8)
471
- );
472
- transition: box-shadow 0.1s ease;
473
- }
474
-
475
- a {
476
- display: block;
477
- height: 100%;
478
- color: unset;
479
- text-decoration: none;
480
- transition: transform 0.05s ease;
481
- border-radius: 4px;
482
- outline: none;
483
- }
484
-
485
- a :first-child {
486
- display: block;
487
- height: 100%;
488
- }
489
-
490
- .manage-check {
491
- position: absolute;
492
- right: 0;
493
- top: 0;
494
- border: 5px solid #2c2c2c;
495
- border-radius: 3px;
496
- background-color: #2c2c2c;
497
- z-index: 1;
498
- }
499
-
500
- .manage-check > input[type='checkbox'] {
501
- display: block;
502
- margin: 0;
503
- }
504
-
505
- #touch-backdrop {
506
- position: fixed;
507
- width: 100vw;
508
- height: 100vh;
509
- top: 0;
510
- left: 0;
511
- z-index: 2;
512
- background: transparent;
513
- }
514
-
515
- tile-hover-pane {
516
- position: absolute;
517
- top: 0;
518
- left: -9999px;
519
- z-index: 2;
520
- }
521
-
522
- /*
523
- * Grid-mode action row sits flush against the bottom of the card —
524
- * the buttons' own borders form the visible bottom edge. The outer
525
- * buttons get rounded bottom corners to match the container so the
526
- * red border traces cleanly around the card's bottom corners.
527
- */
528
- .grid-tile-actions .tile-action-btn:first-child {
529
- border-bottom-left-radius: 4px;
530
- }
531
-
532
- .grid-tile-actions .tile-action-btn:last-child {
533
- border-bottom-right-radius: 4px;
534
- }
342
+ css `
343
+ :host {
344
+ display: block;
345
+ height: 100%;
346
+ }
347
+
348
+ collection-tile {
349
+ --tileBorderColor: #555555;
350
+ --tileBackgroundColor: #666666;
351
+ --imageBlockBackgroundColor: #666666;
352
+ }
353
+
354
+ account-tile {
355
+ --tileBorderColor: #dddddd;
356
+ --imageBlockBackgroundColor: #fcf5e6;
357
+ }
358
+
359
+ item-tile {
360
+ --tileBorderColor: #dddddd;
361
+ --imageBlockBackgroundColor: #f1f1f4;
362
+ }
363
+
364
+ search-tile {
365
+ --tileBorderColor: #555555;
366
+ --tileBackgroundColor: #666666;
367
+ --imageBlockBackgroundColor: #666666;
368
+ --iconFillColor: #2c2c2c;
369
+ }
370
+
371
+ #container {
372
+ position: relative;
373
+ height: 100%;
374
+ border-radius: 4px;
375
+ }
376
+
377
+ #container.hoverable a:focus,
378
+ #container.hoverable a:hover {
379
+ box-shadow: var(
380
+ --tileHoverBoxShadow,
381
+ 0 0 6px 2px rgba(8, 8, 32, 0.8)
382
+ );
383
+ transition: box-shadow 0.1s ease;
384
+ }
385
+
386
+ a {
387
+ display: block;
388
+ height: 100%;
389
+ color: unset;
390
+ text-decoration: none;
391
+ transition: transform 0.05s ease;
392
+ border-radius: 4px;
393
+ outline: none;
394
+ }
395
+
396
+ a :first-child {
397
+ display: block;
398
+ height: 100%;
399
+ }
400
+
401
+ .manage-check {
402
+ position: absolute;
403
+ right: 0;
404
+ top: 0;
405
+ border: 5px solid #2c2c2c;
406
+ border-radius: 3px;
407
+ background-color: #2c2c2c;
408
+ z-index: 1;
409
+ }
410
+
411
+ .manage-check > input[type='checkbox'] {
412
+ display: block;
413
+ margin: 0;
414
+ }
415
+
416
+ #touch-backdrop {
417
+ position: fixed;
418
+ width: 100vw;
419
+ height: 100vh;
420
+ top: 0;
421
+ left: 0;
422
+ z-index: 2;
423
+ background: transparent;
424
+ }
425
+
426
+ tile-hover-pane {
427
+ position: absolute;
428
+ top: 0;
429
+ left: -9999px;
430
+ z-index: 2;
431
+ }
535
432
  `,
536
433
  ];
537
434
  }