@internetarchive/collection-browser 4.6.0 → 4.7.1-alpha-webdev9189.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (468) hide show
  1. package/.github/workflows/ci.yml +5 -3
  2. package/.github/workflows/gh-pages-main.yml +5 -3
  3. package/.github/workflows/npm-publish.yml +7 -4
  4. package/.github/workflows/pr-preview.yml +5 -3
  5. package/README.md +7 -23
  6. package/dist/src/app-root.d.ts +1 -1
  7. package/dist/src/assets/img/icons/arrow-left.d.ts +1 -1
  8. package/dist/src/assets/img/icons/arrow-right.d.ts +1 -1
  9. package/dist/src/assets/img/icons/chevron.d.ts +1 -1
  10. package/dist/src/assets/img/icons/close-circle-dark.d.ts +1 -1
  11. package/dist/src/assets/img/icons/contract.d.ts +1 -1
  12. package/dist/src/assets/img/icons/empty-query.d.ts +1 -1
  13. package/dist/src/assets/img/icons/expand.d.ts +1 -1
  14. package/dist/src/assets/img/icons/eye-closed.d.ts +1 -1
  15. package/dist/src/assets/img/icons/eye.d.ts +1 -1
  16. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  17. package/dist/src/assets/img/icons/favorite-unfilled.d.ts +1 -1
  18. package/dist/src/assets/img/icons/filter.d.ts +1 -1
  19. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  20. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  21. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  22. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  23. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  24. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  25. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  26. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  27. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  28. package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -1
  29. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  30. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  31. package/dist/src/assets/img/icons/mediatype/tv-commercial.d.ts +1 -1
  32. package/dist/src/assets/img/icons/mediatype/tv-fact-check.d.ts +1 -1
  33. package/dist/src/assets/img/icons/mediatype/tv-quote.d.ts +1 -1
  34. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  35. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  36. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  37. package/dist/src/assets/img/icons/null-result.d.ts +1 -1
  38. package/dist/src/assets/img/icons/quote.d.ts +1 -1
  39. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  40. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  41. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  42. package/dist/src/assets/img/icons/views.d.ts +1 -1
  43. package/dist/src/circular-activity-indicator.d.ts +1 -1
  44. package/dist/src/collection-browser.js +24 -2
  45. package/dist/src/collection-browser.js.map +1 -1
  46. package/dist/src/collection-facets/facet-tombstone-row.d.ts +1 -1
  47. package/dist/src/collection-facets/smart-facets/smart-facet-button.d.ts +1 -1
  48. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.d.ts +1 -1
  49. package/dist/src/collection-facets/toggle-switch.d.ts +1 -1
  50. package/dist/src/collection-facets.d.ts +2 -2
  51. package/dist/src/collection-facets.js +5 -5
  52. package/dist/src/collection-facets.js.map +1 -1
  53. package/dist/src/expanded-date-picker.d.ts +2 -2
  54. package/dist/src/expanded-date-picker.js +3 -3
  55. package/dist/src/expanded-date-picker.js.map +1 -1
  56. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +1 -1
  57. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  58. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  59. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  60. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  61. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  62. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  63. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  64. package/dist/src/sort-filter-bar/sort-filter-bar.js +1 -0
  65. package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
  66. package/dist/src/tiles/collection-browser-loading-tile.d.ts +1 -1
  67. package/dist/src/tiles/image-block.d.ts +1 -1
  68. package/dist/src/tiles/item-image.d.ts +1 -1
  69. package/dist/src/tiles/item-image.js +1 -1
  70. package/dist/src/tiles/item-image.js.map +1 -1
  71. package/dist/src/tiles/list/tile-list-compact-header.d.ts +1 -1
  72. package/dist/src/tiles/list/tile-list-compact.d.ts +1 -1
  73. package/dist/src/tiles/tile-dispatcher.d.ts +1 -1
  74. package/dist/src/tiles/tile-mediatype-icon.d.ts +1 -1
  75. package/dist/test/collection-browser.test.js +38 -4
  76. package/dist/test/collection-browser.test.js.map +1 -1
  77. package/dist/test/collection-facets.test.js +2 -2
  78. package/dist/test/collection-facets.test.js.map +1 -1
  79. package/dist/test/expanded-date-picker.test.js.map +1 -1
  80. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +22 -0
  81. package/dist/test/sort-filter-bar/sort-filter-bar.test.js.map +1 -1
  82. package/package.json +18 -10
  83. package/{.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/pnpm-workspace.yaml → pnpm-workspace.yaml} +0 -16
  84. package/src/collection-browser.ts +26 -4
  85. package/src/collection-facets.ts +6 -6
  86. package/src/expanded-date-picker.ts +4 -4
  87. package/src/sort-filter-bar/sort-filter-bar.ts +1 -0
  88. package/src/tiles/item-image.ts +1 -1
  89. package/test/collection-browser.test.ts +64 -9
  90. package/test/collection-facets.test.ts +2 -2
  91. package/test/expanded-date-picker.test.ts +3 -3
  92. package/test/sort-filter-bar/sort-filter-bar.test.ts +29 -0
  93. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/.editorconfig +0 -29
  94. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/.github/workflows/ci.yml +0 -27
  95. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/.github/workflows/gh-pages-main.yml +0 -39
  96. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/.github/workflows/npm-publish.yml +0 -39
  97. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/.github/workflows/pr-preview.yml +0 -38
  98. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/.husky/pre-commit +0 -1
  99. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/.prettierignore +0 -1
  100. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/LICENSE +0 -661
  101. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/README.md +0 -84
  102. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/eslint.config.mjs +0 -53
  103. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/index.html +0 -24
  104. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/index.ts +0 -29
  105. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/local.archive.org.cert +0 -86
  106. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/local.archive.org.key +0 -27
  107. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/package.json +0 -120
  108. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/renovate.json +0 -6
  109. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/app-root.ts +0 -1284
  110. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/arrow-left.ts +0 -10
  111. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/arrow-right.ts +0 -10
  112. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/chevron.ts +0 -4
  113. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/close-circle-dark.ts +0 -5
  114. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/contract.ts +0 -9
  115. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/empty-query.ts +0 -5
  116. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/expand.ts +0 -9
  117. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/eye-closed.ts +0 -5
  118. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/eye.ts +0 -5
  119. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/favorite-filled.ts +0 -10
  120. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/favorite-unfilled.ts +0 -9
  121. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/filter.ts +0 -10
  122. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/login-required.ts +0 -18
  123. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/mediatype/account.ts +0 -14
  124. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/mediatype/audio.ts +0 -14
  125. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/mediatype/collection.ts +0 -12
  126. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/mediatype/data.ts +0 -15
  127. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/mediatype/etree.ts +0 -14
  128. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/mediatype/film.ts +0 -14
  129. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/mediatype/images.ts +0 -13
  130. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/mediatype/radio.ts +0 -15
  131. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/mediatype/search.ts +0 -14
  132. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/mediatype/software.ts +0 -13
  133. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/mediatype/texts.ts +0 -13
  134. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/mediatype/tv-commercial.ts +0 -12
  135. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/mediatype/tv-fact-check.ts +0 -12
  136. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/mediatype/tv-quote.ts +0 -12
  137. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/mediatype/tv.ts +0 -14
  138. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/mediatype/video.ts +0 -14
  139. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/mediatype/web.ts +0 -13
  140. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/null-result.ts +0 -5
  141. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/quote.ts +0 -7
  142. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/restricted.ts +0 -13
  143. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/reviews.ts +0 -11
  144. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/upload.ts +0 -12
  145. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/assets/img/icons/views.ts +0 -11
  146. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/circular-activity-indicator.ts +0 -64
  147. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-browser.ts +0 -3165
  148. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/facet-row.ts +0 -309
  149. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/facet-tombstone-row.ts +0 -40
  150. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/facets-template.ts +0 -85
  151. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/models.ts +0 -10
  152. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/more-facets-content.ts +0 -644
  153. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/more-facets-pagination.ts +0 -294
  154. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/smart-facets/dedupe.ts +0 -44
  155. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/smart-facets/heuristics/browser-language/browser-language-heuristic.ts +0 -27
  156. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/smart-facets/heuristics/index.ts +0 -3
  157. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-heuristic.ts +0 -17
  158. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-map.ts +0 -70
  159. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-entity-map.ts +0 -79
  160. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-heuristic.ts +0 -93
  161. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/smart-facets/models.ts +0 -36
  162. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/smart-facets/smart-facet-bar.ts +0 -437
  163. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/smart-facets/smart-facet-button.ts +0 -145
  164. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/smart-facets/smart-facet-dropdown.ts +0 -185
  165. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/smart-facets/smart-facet-equals.ts +0 -16
  166. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/smart-facets/smart-facet-heuristics.ts +0 -26
  167. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets/toggle-switch.ts +0 -174
  168. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/collection-facets.ts +0 -1013
  169. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/data-source/collection-browser-data-source-interface.ts +0 -351
  170. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/data-source/collection-browser-data-source.ts +0 -1474
  171. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/data-source/collection-browser-query-state.ts +0 -60
  172. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/data-source/models.ts +0 -56
  173. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/empty-placeholder.ts +0 -192
  174. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/expanded-date-picker.ts +0 -191
  175. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/language-code-handler/language-code-handler.ts +0 -64
  176. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/language-code-handler/language-code-mapping.ts +0 -564
  177. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/manage/manage-bar.ts +0 -276
  178. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/manage/remove-items-modal-content.ts +0 -102
  179. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/mediatype/mediatype-config.ts +0 -146
  180. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/models.ts +0 -895
  181. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/restoration-state-handler.ts +0 -550
  182. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/sort-filter-bar/alpha-bar-tooltip.ts +0 -53
  183. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/sort-filter-bar/alpha-bar.ts +0 -252
  184. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/sort-filter-bar/img/compact.ts +0 -5
  185. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/sort-filter-bar/img/list.ts +0 -5
  186. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/sort-filter-bar/img/sort-toggle-disabled.ts +0 -15
  187. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/sort-filter-bar/img/sort-toggle-down.ts +0 -17
  188. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/sort-filter-bar/img/sort-toggle-up.ts +0 -17
  189. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/sort-filter-bar/img/sort-triangle.ts +0 -5
  190. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/sort-filter-bar/img/tile.ts +0 -5
  191. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/sort-filter-bar/sort-filter-bar.ts +0 -733
  192. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/styles/ia-button.ts +0 -139
  193. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/styles/item-image-styles.ts +0 -124
  194. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/styles/sr-only.ts +0 -18
  195. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/styles/tile-action-styles.ts +0 -59
  196. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/base-tile-component.ts +0 -124
  197. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/collection-browser-loading-tile.ts +0 -26
  198. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/grid/account-tile.ts +0 -113
  199. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/grid/collection-tile.ts +0 -184
  200. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/grid/item-tile.ts +0 -347
  201. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/grid/search-tile.ts +0 -90
  202. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/grid/styles/tile-grid-shared-styles.ts +0 -130
  203. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/grid/tile-stats.ts +0 -211
  204. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/hover/hover-pane-controller.ts +0 -638
  205. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/hover/tile-hover-pane.ts +0 -184
  206. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/image-block.ts +0 -162
  207. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/item-image.ts +0 -214
  208. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/list/tile-list-compact-header.ts +0 -112
  209. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/list/tile-list-compact.ts +0 -278
  210. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/list/tile-list.ts +0 -718
  211. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/models.ts +0 -21
  212. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/overlay/icon-overlay.ts +0 -57
  213. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/overlay/text-overlay.ts +0 -79
  214. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/review-block.ts +0 -130
  215. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/text-snippet-block.ts +0 -132
  216. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/tile-dispatcher.ts +0 -637
  217. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/tile-display-value-provider.ts +0 -133
  218. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/tiles/tile-mediatype-icon.ts +0 -133
  219. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/utils/analytics-events.ts +0 -29
  220. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/utils/array-equals.ts +0 -8
  221. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/utils/collapse-repeated-quotes.ts +0 -13
  222. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/utils/date-filter-field.ts +0 -11
  223. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/utils/facet-utils.ts +0 -183
  224. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/utils/format-count.ts +0 -95
  225. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/utils/format-date.ts +0 -62
  226. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/utils/format-unit-size.ts +0 -43
  227. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/utils/local-date-from-utc.ts +0 -15
  228. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/utils/log.ts +0 -14
  229. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/utils/resolve-mediatype.ts +0 -26
  230. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/src/utils/sha1.ts +0 -9
  231. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/collection-browser.test.ts +0 -2639
  232. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/collection-facets/facet-row.test.ts +0 -421
  233. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/collection-facets/facets-template.test.ts +0 -139
  234. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/collection-facets/more-facets-content.test.ts +0 -231
  235. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/collection-facets/more-facets-pagination.test.ts +0 -201
  236. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/collection-facets/toggle-switch.test.ts +0 -164
  237. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/collection-facets.test.ts +0 -928
  238. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/data-source/collection-browser-data-source.test.ts +0 -193
  239. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/empty-placeholder.test.ts +0 -88
  240. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/expanded-date-picker.test.ts +0 -201
  241. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/icon-overlay.test.ts +0 -38
  242. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/image-block.test.ts +0 -247
  243. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/item-image.test.ts +0 -220
  244. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/manage/manage-bar.test.ts +0 -347
  245. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/manage/remove-items-modal-content.test.ts +0 -81
  246. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/mediatype-config.test.ts +0 -11
  247. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/mocks/mock-analytics-handler.ts +0 -30
  248. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/mocks/mock-search-responses.ts +0 -1364
  249. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/mocks/mock-search-service.ts +0 -134
  250. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/restoration-state-handler.test.ts +0 -480
  251. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/review-block.test.ts +0 -62
  252. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/sort-filter-bar/alpha-bar-tooltip.test.ts +0 -17
  253. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/sort-filter-bar/alpha-bar.test.ts +0 -101
  254. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/sort-filter-bar/sort-filter-bar.test.ts +0 -443
  255. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/text-overlay.test.ts +0 -55
  256. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/text-snippet-block.test.ts +0 -85
  257. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/tile-stats.test.ts +0 -191
  258. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/tiles/grid/account-tile.test.ts +0 -121
  259. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/tiles/grid/collection-tile.test.ts +0 -114
  260. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/tiles/grid/item-tile.test.ts +0 -520
  261. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/tiles/grid/search-tile.test.ts +0 -75
  262. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/tiles/hover/hover-pane-controller.test.ts +0 -482
  263. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/tiles/hover/tile-hover-pane.test.ts +0 -80
  264. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/tiles/list/tile-list-compact-header.test.ts +0 -43
  265. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/tiles/list/tile-list-compact.test.ts +0 -282
  266. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/tiles/list/tile-list.test.ts +0 -576
  267. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/tiles/tile-dispatcher.test.ts +0 -320
  268. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/tiles/tile-display-value-provider.test.ts +0 -172
  269. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/tiles/tile-mediatype-icon.test.ts +0 -160
  270. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/utils/array-equals.test.ts +0 -31
  271. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/utils/format-count.test.ts +0 -32
  272. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/utils/format-date.test.ts +0 -89
  273. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/utils/format-unit-size.test.ts +0 -21
  274. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/test/utils/local-date-from-utc.test.ts +0 -37
  275. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/tsconfig.json +0 -25
  276. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/types/dompurify.d.ts +0 -1
  277. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/vite.config.ts +0 -29
  278. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/web-dev-server.config.mjs +0 -30
  279. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/web-test-runner.config.mjs +0 -52
  280. package/.claude/worktrees/WEBDEV-8677-bump-field-parsers/yarn.lock +0 -5965
  281. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/.editorconfig +0 -29
  282. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/.github/workflows/ci.yml +0 -29
  283. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/.github/workflows/gh-pages-main.yml +0 -41
  284. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/.github/workflows/npm-publish.yml +0 -42
  285. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/.github/workflows/pr-preview.yml +0 -40
  286. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/.husky/pre-commit +0 -1
  287. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/.prettierignore +0 -1
  288. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/LICENSE +0 -661
  289. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/README.md +0 -68
  290. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/eslint.config.mjs +0 -53
  291. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/index.html +0 -24
  292. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/index.ts +0 -29
  293. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/local.archive.org.cert +0 -86
  294. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/local.archive.org.key +0 -27
  295. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/package.json +0 -129
  296. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/pnpm-lock.yaml +0 -7366
  297. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/renovate.json +0 -6
  298. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/app-root.ts +0 -1284
  299. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/arrow-left.ts +0 -10
  300. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/arrow-right.ts +0 -10
  301. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/chevron.ts +0 -4
  302. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/close-circle-dark.ts +0 -5
  303. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/contract.ts +0 -9
  304. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/empty-query.ts +0 -5
  305. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/expand.ts +0 -9
  306. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/eye-closed.ts +0 -5
  307. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/eye.ts +0 -5
  308. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/favorite-filled.ts +0 -10
  309. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/favorite-unfilled.ts +0 -9
  310. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/filter.ts +0 -10
  311. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/login-required.ts +0 -18
  312. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/mediatype/account.ts +0 -14
  313. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/mediatype/audio.ts +0 -14
  314. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/mediatype/collection.ts +0 -12
  315. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/mediatype/data.ts +0 -15
  316. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/mediatype/etree.ts +0 -14
  317. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/mediatype/film.ts +0 -14
  318. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/mediatype/images.ts +0 -13
  319. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/mediatype/radio.ts +0 -15
  320. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/mediatype/search.ts +0 -14
  321. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/mediatype/software.ts +0 -13
  322. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/mediatype/texts.ts +0 -13
  323. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/mediatype/tv-commercial.ts +0 -12
  324. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/mediatype/tv-fact-check.ts +0 -12
  325. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/mediatype/tv-quote.ts +0 -12
  326. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/mediatype/tv.ts +0 -14
  327. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/mediatype/video.ts +0 -14
  328. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/mediatype/web.ts +0 -13
  329. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/null-result.ts +0 -5
  330. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/quote.ts +0 -7
  331. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/restricted.ts +0 -13
  332. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/reviews.ts +0 -11
  333. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/upload.ts +0 -12
  334. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/assets/img/icons/views.ts +0 -11
  335. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/circular-activity-indicator.ts +0 -64
  336. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-browser.ts +0 -3165
  337. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/facet-row.ts +0 -309
  338. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/facet-tombstone-row.ts +0 -40
  339. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/facets-template.ts +0 -85
  340. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/models.ts +0 -10
  341. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/more-facets-content.ts +0 -644
  342. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/more-facets-pagination.ts +0 -294
  343. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/smart-facets/dedupe.ts +0 -44
  344. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/smart-facets/heuristics/browser-language/browser-language-heuristic.ts +0 -27
  345. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/smart-facets/heuristics/index.ts +0 -3
  346. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-heuristic.ts +0 -17
  347. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-map.ts +0 -70
  348. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-entity-map.ts +0 -79
  349. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-heuristic.ts +0 -93
  350. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/smart-facets/models.ts +0 -36
  351. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/smart-facets/smart-facet-bar.ts +0 -437
  352. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/smart-facets/smart-facet-button.ts +0 -145
  353. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/smart-facets/smart-facet-dropdown.ts +0 -185
  354. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/smart-facets/smart-facet-equals.ts +0 -16
  355. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/smart-facets/smart-facet-heuristics.ts +0 -26
  356. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets/toggle-switch.ts +0 -174
  357. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/collection-facets.ts +0 -1013
  358. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/data-source/collection-browser-data-source-interface.ts +0 -351
  359. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/data-source/collection-browser-data-source.ts +0 -1474
  360. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/data-source/collection-browser-query-state.ts +0 -60
  361. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/data-source/models.ts +0 -56
  362. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/empty-placeholder.ts +0 -192
  363. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/expanded-date-picker.ts +0 -191
  364. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/language-code-handler/language-code-handler.ts +0 -64
  365. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/language-code-handler/language-code-mapping.ts +0 -564
  366. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/manage/manage-bar.ts +0 -276
  367. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/manage/remove-items-modal-content.ts +0 -102
  368. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/mediatype/mediatype-config.ts +0 -146
  369. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/models.ts +0 -895
  370. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/restoration-state-handler.ts +0 -550
  371. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/sort-filter-bar/alpha-bar-tooltip.ts +0 -53
  372. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/sort-filter-bar/alpha-bar.ts +0 -252
  373. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/sort-filter-bar/img/compact.ts +0 -5
  374. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/sort-filter-bar/img/list.ts +0 -5
  375. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/sort-filter-bar/img/sort-toggle-disabled.ts +0 -15
  376. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/sort-filter-bar/img/sort-toggle-down.ts +0 -17
  377. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/sort-filter-bar/img/sort-toggle-up.ts +0 -17
  378. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/sort-filter-bar/img/sort-triangle.ts +0 -5
  379. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/sort-filter-bar/img/tile.ts +0 -5
  380. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/sort-filter-bar/sort-filter-bar.ts +0 -733
  381. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/styles/ia-button.ts +0 -139
  382. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/styles/item-image-styles.ts +0 -124
  383. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/styles/sr-only.ts +0 -18
  384. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/styles/tile-action-styles.ts +0 -59
  385. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/base-tile-component.ts +0 -124
  386. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/collection-browser-loading-tile.ts +0 -26
  387. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/grid/account-tile.ts +0 -113
  388. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/grid/collection-tile.ts +0 -184
  389. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/grid/item-tile.ts +0 -347
  390. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/grid/search-tile.ts +0 -90
  391. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/grid/styles/tile-grid-shared-styles.ts +0 -130
  392. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/grid/tile-stats.ts +0 -211
  393. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/hover/hover-pane-controller.ts +0 -638
  394. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/hover/tile-hover-pane.ts +0 -184
  395. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/image-block.ts +0 -162
  396. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/item-image.ts +0 -214
  397. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/list/tile-list-compact-header.ts +0 -112
  398. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/list/tile-list-compact.ts +0 -278
  399. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/list/tile-list.ts +0 -718
  400. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/models.ts +0 -21
  401. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/overlay/icon-overlay.ts +0 -57
  402. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/overlay/text-overlay.ts +0 -79
  403. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/review-block.ts +0 -130
  404. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/text-snippet-block.ts +0 -132
  405. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/tile-dispatcher.ts +0 -637
  406. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/tile-display-value-provider.ts +0 -133
  407. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/tiles/tile-mediatype-icon.ts +0 -133
  408. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/utils/analytics-events.ts +0 -29
  409. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/utils/array-equals.ts +0 -8
  410. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/utils/collapse-repeated-quotes.ts +0 -13
  411. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/utils/date-filter-field.ts +0 -11
  412. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/utils/facet-utils.ts +0 -183
  413. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/utils/format-count.ts +0 -95
  414. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/utils/format-date.ts +0 -62
  415. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/utils/format-unit-size.ts +0 -43
  416. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/utils/local-date-from-utc.ts +0 -15
  417. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/utils/log.ts +0 -14
  418. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/utils/resolve-mediatype.ts +0 -26
  419. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/src/utils/sha1.ts +0 -9
  420. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/collection-browser.test.ts +0 -2639
  421. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/collection-facets/facet-row.test.ts +0 -421
  422. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/collection-facets/facets-template.test.ts +0 -139
  423. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/collection-facets/more-facets-content.test.ts +0 -231
  424. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/collection-facets/more-facets-pagination.test.ts +0 -201
  425. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/collection-facets/toggle-switch.test.ts +0 -164
  426. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/collection-facets.test.ts +0 -928
  427. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/data-source/collection-browser-data-source.test.ts +0 -193
  428. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/empty-placeholder.test.ts +0 -88
  429. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/expanded-date-picker.test.ts +0 -201
  430. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/icon-overlay.test.ts +0 -38
  431. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/image-block.test.ts +0 -247
  432. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/item-image.test.ts +0 -220
  433. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/manage/manage-bar.test.ts +0 -347
  434. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/manage/remove-items-modal-content.test.ts +0 -81
  435. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/mediatype-config.test.ts +0 -11
  436. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/mocks/mock-analytics-handler.ts +0 -30
  437. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/mocks/mock-search-responses.ts +0 -1364
  438. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/mocks/mock-search-service.ts +0 -134
  439. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/restoration-state-handler.test.ts +0 -480
  440. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/review-block.test.ts +0 -62
  441. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/sort-filter-bar/alpha-bar-tooltip.test.ts +0 -17
  442. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/sort-filter-bar/alpha-bar.test.ts +0 -101
  443. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/sort-filter-bar/sort-filter-bar.test.ts +0 -443
  444. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/text-overlay.test.ts +0 -55
  445. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/text-snippet-block.test.ts +0 -85
  446. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/tile-stats.test.ts +0 -191
  447. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/tiles/grid/account-tile.test.ts +0 -121
  448. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/tiles/grid/collection-tile.test.ts +0 -114
  449. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/tiles/grid/item-tile.test.ts +0 -520
  450. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/tiles/grid/search-tile.test.ts +0 -75
  451. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/tiles/hover/hover-pane-controller.test.ts +0 -482
  452. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/tiles/hover/tile-hover-pane.test.ts +0 -80
  453. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/tiles/list/tile-list-compact-header.test.ts +0 -43
  454. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/tiles/list/tile-list-compact.test.ts +0 -282
  455. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/tiles/list/tile-list.test.ts +0 -576
  456. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/tiles/tile-dispatcher.test.ts +0 -320
  457. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/tiles/tile-display-value-provider.test.ts +0 -172
  458. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/tiles/tile-mediatype-icon.test.ts +0 -160
  459. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/utils/array-equals.test.ts +0 -31
  460. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/utils/format-count.test.ts +0 -32
  461. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/utils/format-date.test.ts +0 -89
  462. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/utils/format-unit-size.test.ts +0 -21
  463. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/test/utils/local-date-from-utc.test.ts +0 -37
  464. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/tsconfig.json +0 -25
  465. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/types/dompurify.d.ts +0 -1
  466. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/vite.config.ts +0 -29
  467. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/web-dev-server.config.mjs +0 -30
  468. package/.claude/worktrees/WEBDEV-9119-migrate-to-pnpm/web-test-runner.config.mjs +0 -52
@@ -1,184 +0,0 @@
1
- import { css, CSSResultGroup, html, nothing, TemplateResult } from 'lit';
2
- import { customElement, property } from 'lit/decorators.js';
3
- import { classMap } from 'lit/directives/class-map.js';
4
- import { msg } from '@lit/localize';
5
- import { collectionIcon } from '../../assets/img/icons/mediatype/collection';
6
- import { formatUnitSize } from '../../utils/format-unit-size';
7
- import { baseTileStyles } from './styles/tile-grid-shared-styles';
8
- import { BaseTileComponent } from '../base-tile-component';
9
- import { LayoutType } from '../models';
10
- import '../image-block';
11
-
12
- @customElement('collection-tile')
13
- export class CollectionTile extends BaseTileComponent {
14
- /*
15
- * Reactive properties inherited from BaseTileComponent:
16
- * - model?: TileModel;
17
- * - currentWidth?: number;
18
- * - currentHeight?: number;
19
- * - baseNavigationUrl?: string;
20
- * - baseImageUrl?: string;
21
- * - collectionPagePath?: string;
22
- * - sortParam: SortParam | null = null;
23
- * - creatorFilter?: string;
24
- * - mobileBreakpoint?: number;
25
- * - loggedIn = false;
26
- * - suppressBlurring = false;
27
- * - useLocalTime = false;
28
- */
29
-
30
- @property({ type: Boolean }) showInfoButton = false;
31
-
32
- @property({ type: String }) layoutType: LayoutType = 'default';
33
-
34
- render() {
35
- const containerClasses = classMap({
36
- container: true,
37
- minimal: this.layoutType === 'minimal',
38
- });
39
-
40
- return html`
41
- <div class=${containerClasses}>
42
- ${this.infoButtonTemplate}
43
- <div class="tile-details">
44
- <div class="item-info">
45
- ${this.getImageBlockTemplate} ${this.getTitleTemplate}
46
- </div>
47
- </div>
48
-
49
- ${this.getTileStatsTemplate}
50
- </div>
51
- `;
52
- }
53
-
54
- private get getImageBlockTemplate(): TemplateResult {
55
- return html`
56
- <image-block
57
- .model=${this.model}
58
- .baseImageUrl=${this.baseImageUrl}
59
- .viewSize=${'grid'}
60
- .suppressBlurring=${this.suppressBlurring}
61
- >
62
- </image-block>
63
- `;
64
- }
65
-
66
- private get getTitleTemplate() {
67
- return html`<div id="title">
68
- <h3 class="truncated">${this.model?.title}</h3>
69
- </div>`;
70
- }
71
-
72
- private get getTileStatsTemplate() {
73
- return html`
74
- <div id="item-stats">
75
- <div id="item-mediatype">${collectionIcon}</div>
76
-
77
- <div id="stats-row">
78
- ${this.getItemsTemplate} ${this.getSizeTemplate}
79
- </div>
80
- </div>
81
- `;
82
- }
83
-
84
- private get getItemsTemplate() {
85
- const collectionItems = this.model?.itemCount?.toLocaleString();
86
-
87
- return html`<span id="item-count"
88
- >${collectionItems} item${Number(collectionItems) !== 1 ? 's' : ''}</span
89
- >`;
90
- }
91
-
92
- private get getSizeTemplate() {
93
- const collectionSize = this.model?.collectionSize ?? 0;
94
-
95
- return collectionSize
96
- ? html`<span id="item-size">${formatUnitSize(collectionSize, 1)}</span>`
97
- : ``;
98
- }
99
-
100
- private get infoButtonTemplate(): TemplateResult | typeof nothing {
101
- // &#9432; is an information icon
102
- return this.showInfoButton
103
- ? html`<button class="info-button" @click=${this.infoButtonPressed}>
104
- &#9432;
105
- <span class="sr-only">${msg('More info')}</span>
106
- </button>`
107
- : nothing;
108
- }
109
-
110
- private infoButtonPressed(e: PointerEvent) {
111
- e.preventDefault();
112
- const event = new CustomEvent<{ x: number; y: number }>(
113
- 'infoButtonPressed',
114
- { detail: { x: e.clientX, y: e.clientY } },
115
- );
116
- this.dispatchEvent(event);
117
- }
118
-
119
- static get styles(): CSSResultGroup {
120
- const tileBorderColor = css`var(--tileBorderColor, #555555)`;
121
- const tileBackgroundColor = css`var(--tileBackgroundColor, #666666)`;
122
- const whiteColor = css`#fff`;
123
-
124
- return [
125
- baseTileStyles,
126
- css`
127
- .container {
128
- background-color: ${tileBackgroundColor};
129
- border: 1px solid ${tileBorderColor};
130
- }
131
-
132
- .item-info {
133
- flex-grow: initial;
134
- }
135
-
136
- h4.truncated,
137
- h3.truncated {
138
- color: ${whiteColor};
139
- }
140
-
141
- #item-mediatype svg {
142
- filter: invert(100%);
143
- height: 2.5rem;
144
- align-items: baseline;
145
- }
146
-
147
- .container:hover > #title {
148
- text-decoration: underline;
149
- }
150
-
151
- /* this is a workaround for Safari 15 where the hover effects are not working */
152
- image-block:hover > #title {
153
- text-decoration: underline;
154
- }
155
-
156
- #item-stats {
157
- display: flex;
158
- padding: 0 5px 5px;
159
- align-items: center;
160
- }
161
-
162
- #stats-row {
163
- display: flex;
164
- align-items: baseline;
165
- color: ${whiteColor};
166
- flex-direction: column;
167
- margin-left: 10px;
168
- }
169
-
170
- .minimal #item-stats {
171
- display: none;
172
- }
173
-
174
- .minimal .truncated {
175
- -webkit-line-clamp: initial;
176
- }
177
-
178
- .minimal .item-info {
179
- padding-bottom: 5px;
180
- }
181
- `,
182
- ];
183
- }
184
- }
@@ -1,347 +0,0 @@
1
- import { css, CSSResultGroup, html, nothing, TemplateResult } from 'lit';
2
- import { customElement, property } from 'lit/decorators.js';
3
- import { ifDefined } from 'lit/directives/if-defined.js';
4
- import { map } from 'lit/directives/map.js';
5
- import { classMap } from 'lit/directives/class-map.js';
6
- import { msg } from '@lit/localize';
7
-
8
- import type { SortParam } from '@internetarchive/search-service';
9
- import type { DateFormat } from '../../utils/format-date';
10
- import { isFirstMillisecondOfUTCYear } from '../../utils/local-date-from-utc';
11
- import { BaseTileComponent } from '../base-tile-component';
12
- import { baseTileStyles } from './styles/tile-grid-shared-styles';
13
- import { LayoutType } from '../models';
14
-
15
- import '../image-block';
16
- import '../review-block';
17
- import '../text-snippet-block';
18
- import '../item-image';
19
- import '../tile-mediatype-icon';
20
- import './tile-stats';
21
-
22
- @customElement('item-tile')
23
- export class ItemTile extends BaseTileComponent {
24
- /*
25
- * Reactive properties inherited from BaseTileComponent:
26
- * - model?: TileModel;
27
- * - tileActions: TileAction[] = [];
28
- * - currentWidth?: number;
29
- * - currentHeight?: number;
30
- * - baseNavigationUrl?: string;
31
- * - baseImageUrl?: string;
32
- * - collectionPagePath?: string;
33
- * - sortParam: SortParam | null = null;
34
- * - defaultSortParam: SortParam | null = null;
35
- * - creatorFilter?: string;
36
- * - mobileBreakpoint?: number;
37
- * - loggedIn = false;
38
- * - suppressBlurring = false;
39
- * - useLocalTime = false;
40
- */
41
-
42
- @property({ type: Boolean }) showInfoButton = false;
43
-
44
- @property({ type: Boolean }) showTvClips = false;
45
-
46
- @property({ type: String }) layoutType: LayoutType = 'default';
47
-
48
- render() {
49
- const itemTitle = this.model?.title;
50
- const containerClasses = classMap({
51
- container: true,
52
- simple: this.layoutType !== 'default',
53
- 'stats-only': this.layoutType === 'stats-only',
54
- 'snippets-only': this.layoutType === 'snippets-only',
55
- minimal: this.layoutType === 'minimal',
56
- });
57
-
58
- return html`
59
- <div class=${containerClasses}>
60
- ${this.infoButtonTemplate}
61
- <div class="tile-details">
62
- <div class="item-info">
63
- ${this.imageBlockTemplate}
64
-
65
- <div id="title">
66
- <h3 class="truncated" title=${ifDefined(itemTitle)}>
67
- ${itemTitle}
68
- </h3>
69
- </div>
70
-
71
- ${this.volumeIssueTemplate}
72
- ${this.isSortedByDate
73
- ? this.sortedDateInfoTemplate
74
- : this.creatorTemplate}
75
- ${this.webArchivesCaptureDatesTemplate} ${this.textSnippetsTemplate}
76
- ${this.reviewBlockTemplate}
77
- </div>
78
-
79
- ${this.tileStatsTemplate}
80
- </div>
81
- </div>
82
- `;
83
- }
84
-
85
- /**
86
- * Templates
87
- */
88
- private get creatorTemplate(): TemplateResult | typeof nothing {
89
- const displayedCreator =
90
- this.displayValueProvider.firstCreatorMatchingFilter;
91
- if (!displayedCreator) return nothing;
92
-
93
- return html`
94
- <div class="created-by">
95
- <span class="truncated" title=${displayedCreator}>
96
- by&nbsp;${displayedCreator}
97
- </span>
98
- </div>
99
- `;
100
- }
101
-
102
- private get imageBlockTemplate(): TemplateResult {
103
- return html`
104
- <image-block
105
- .model=${this.model}
106
- .baseImageUrl=${this.baseImageUrl}
107
- .loggedIn=${this.loggedIn}
108
- .suppressBlurring=${this.suppressBlurring}
109
- .isCompactTile=${false}
110
- .isListTile=${false}
111
- .viewSize=${'grid'}
112
- >
113
- </image-block>
114
- `;
115
- }
116
-
117
- private get sortedDateInfoTemplate() {
118
- let sortedValue;
119
- let format: DateFormat = 'long';
120
- switch (this.effectiveSort?.field) {
121
- case 'date': {
122
- const datePublished = this.model?.datePublished;
123
- sortedValue = { field: 'published', value: datePublished };
124
- if (isFirstMillisecondOfUTCYear(datePublished)) {
125
- format = 'year-only';
126
- }
127
- break;
128
- }
129
- case 'reviewdate':
130
- sortedValue = { field: 'reviewed', value: this.model?.dateReviewed };
131
- break;
132
- case 'addeddate':
133
- sortedValue = { field: 'added', value: this.model?.dateAdded };
134
- break;
135
- case 'publicdate':
136
- sortedValue = { field: 'archived', value: this.model?.dateArchived };
137
- break;
138
- default:
139
- break;
140
- }
141
-
142
- if (!sortedValue?.value) {
143
- return nothing;
144
- }
145
-
146
- const formattedDate = this.getFormattedDate(sortedValue.value, format);
147
- return html`
148
- <div class="date-sorted-by truncated">
149
- <span>${sortedValue.field} ${formattedDate}</span>
150
- </div>
151
- `;
152
- }
153
-
154
- private get infoButtonTemplate(): TemplateResult | typeof nothing {
155
- // &#9432; is an information icon
156
- return this.showInfoButton
157
- ? html`<button class="info-button" @click=${this.infoButtonPressed}>
158
- &#9432;
159
- <span class="sr-only">${msg('More info')}</span>
160
- </button>`
161
- : nothing;
162
- }
163
-
164
- private get reviewBlockTemplate(): TemplateResult | typeof nothing {
165
- if (!this.model?.review) return nothing;
166
-
167
- const { reviewtitle, reviewbody, stars } = this.model.review;
168
- return html`
169
- <review-block
170
- viewsize="grid"
171
- title=${ifDefined(reviewtitle)}
172
- body=${ifDefined(reviewbody)}
173
- starRating=${ifDefined(stars)}
174
- >
175
- </review-block>
176
- `;
177
- }
178
-
179
- private get textSnippetsTemplate(): TemplateResult | typeof nothing {
180
- if (!this.hasSnippets) return nothing;
181
- if (['stats-only', 'minimal'].includes(this.layoutType)) {
182
- return nothing;
183
- }
184
-
185
- return html`
186
- <text-snippet-block viewsize="grid" .snippets=${this.model?.snippets}>
187
- </text-snippet-block>
188
- `;
189
- }
190
-
191
- private get volumeIssueTemplate(): TemplateResult | typeof nothing {
192
- if (!this.model?.volume || !this.model?.issue) return nothing;
193
-
194
- return html`
195
- <div class="volume-issue">
196
- <span class="truncated" title="volume|issue">
197
- Volume&nbsp;${this.model?.volume}, Issue&nbsp;${this.model?.issue}
198
- </span>
199
- </div>
200
- `;
201
- }
202
-
203
- private get webArchivesCaptureDatesTemplate():
204
- | TemplateResult
205
- | typeof nothing {
206
- if (!this.model?.captureDates || !this.model.title) return nothing;
207
-
208
- return html`
209
- <ul class="capture-dates">
210
- ${map(
211
- this.model.captureDates,
212
- date =>
213
- html`<li>
214
- ${this.displayValueProvider.webArchivesCaptureLink(
215
- this.model!.title,
216
- date,
217
- )}
218
- </li>`,
219
- )}
220
- </ul>
221
- `;
222
- }
223
-
224
- /**
225
- * Template for the stats row along the bottom of the tile.
226
- */
227
- private get tileStatsTemplate(): TemplateResult | typeof nothing {
228
- if (['snippets-only', 'minimal'].includes(this.layoutType)) {
229
- return nothing;
230
- }
231
-
232
- const effectiveSort = this.sortParam ?? this.defaultSortParam;
233
- const [viewCount, viewLabel] =
234
- effectiveSort?.field === 'week'
235
- ? [this.model?.weeklyViewCount, 'weekly views']
236
- : [this.model?.viewCount, 'all-time views'];
237
-
238
- return html`
239
- <tile-stats
240
- .model=${this.model}
241
- .mediatype=${this.model?.mediatype}
242
- .viewCount=${viewCount}
243
- .viewLabel=${viewLabel}
244
- .favCount=${this.model?.favCount}
245
- .commentCount=${this.model?.commentCount}
246
- .tvClipCount=${this.model?.tvClipCount}
247
- .showTvClips=${this.showTvClips}
248
- >
249
- </tile-stats>
250
- `;
251
- }
252
-
253
- private get isSortedByDate(): boolean {
254
- return ['date', 'reviewdate', 'addeddate', 'publicdate'].includes(
255
- this.effectiveSort?.field as string,
256
- );
257
- }
258
-
259
- /**
260
- * Returns the active sort param if one is set, or the default sort param otherwise.
261
- */
262
- private get effectiveSort(): SortParam | null {
263
- return this.sortParam ?? this.defaultSortParam;
264
- }
265
-
266
- private get hasSnippets(): boolean {
267
- return !!this.model?.snippets?.length;
268
- }
269
-
270
- private infoButtonPressed(e: PointerEvent): void {
271
- e.preventDefault();
272
- const event = new CustomEvent<{ x: number; y: number }>(
273
- 'infoButtonPressed',
274
- { detail: { x: e.clientX, y: e.clientY } },
275
- );
276
- this.dispatchEvent(event);
277
- }
278
-
279
- /**
280
- * CSS
281
- */
282
- static get styles(): CSSResultGroup {
283
- const tileBorderColor = css`var(--tileBorderColor, #dddddd)`;
284
-
285
- return [
286
- baseTileStyles,
287
- css`
288
- a:link {
289
- text-decoration: none;
290
- color: var(--ia-theme-link-color, #4b64ff);
291
- }
292
- a:hover {
293
- text-decoration: underline;
294
- }
295
-
296
- .container {
297
- border: 1px solid ${tileBorderColor};
298
- }
299
-
300
- .simple #title > .truncated {
301
- -webkit-line-clamp: 2;
302
- }
303
-
304
- .simple .created-by > .truncated,
305
- .simple .date-sorted-by > .truncated,
306
- .simple .volume-issue > .truncated {
307
- -webkit-line-clamp: 1;
308
- }
309
-
310
- .simple.snippets-only .item-info,
311
- .simple.minimal .item-info {
312
- padding-bottom: 5px;
313
- }
314
-
315
- .simple.snippets-only text-snippet-block {
316
- margin-top: auto; /* Force the snippets to the bottom of the tile */
317
- }
318
-
319
- .capture-dates {
320
- margin: 0;
321
- padding: 0 5px;
322
- list-style-type: none;
323
- }
324
-
325
- review-block,
326
- text-snippet-block {
327
- --containerLeftMargin: 5px;
328
- --containerTopMargin: 5px;
329
- }
330
-
331
- /**
332
- * iOS Safari long-press on tiles (to bring up hover pane)
333
- * gets messy without this
334
- */
335
- @media screen and (pointer: coarse) and (hover: none) {
336
- .container {
337
- -webkit-touch-callout: none;
338
- }
339
-
340
- .truncated {
341
- -webkit-touch-callout: default;
342
- }
343
- }
344
- `,
345
- ];
346
- }
347
- }
@@ -1,90 +0,0 @@
1
- import { css, CSSResultGroup, html, TemplateResult } from 'lit';
2
- import { customElement, property } from 'lit/decorators.js';
3
- import { baseTileStyles } from './styles/tile-grid-shared-styles';
4
- import { BaseTileComponent } from '../base-tile-component';
5
- import '../image-block';
6
-
7
- @customElement('search-tile')
8
- export class SearchTile extends BaseTileComponent {
9
- /*
10
- * Reactive properties inherited from BaseTileComponent:
11
- * - model?: TileModel;
12
- * - currentWidth?: number;
13
- * - currentHeight?: number;
14
- * - baseNavigationUrl?: string;
15
- * - baseImageUrl?: string;
16
- * - collectionPagePath?: string;
17
- * - sortParam: SortParam | null = null;
18
- * - creatorFilter?: string;
19
- * - mobileBreakpoint?: number;
20
- * - loggedIn = false;
21
- * - suppressBlurring = false;
22
- */
23
-
24
- @property({ type: Boolean }) showInfoButton = false;
25
-
26
- render() {
27
- return html`
28
- <div class="container">
29
- <div class="tile-details">
30
- <div class="item-info">
31
- ${this.getImageBlockTemplate} ${this.getTitleTemplate}
32
- </div>
33
- </div>
34
- </div>
35
- `;
36
- }
37
-
38
- private get getImageBlockTemplate(): TemplateResult {
39
- return html`
40
- <image-block
41
- .model=${this.model}
42
- .baseImageUrl=${this.baseImageUrl}
43
- .viewSize=${'grid'}
44
- .suppressBlurring=${this.suppressBlurring}
45
- >
46
- </image-block>
47
- `;
48
- }
49
-
50
- private get getTitleTemplate() {
51
- return html`<div id="title">
52
- <h3 class="truncated">${this.model?.title}</h3>
53
- </div>`;
54
- }
55
-
56
- static get styles(): CSSResultGroup {
57
- const tileBorderColor = css`var(--tileBorderColor, #555555)`;
58
- const tileBackgroundColor = css`var(--tileBackgroundColor, #666666)`;
59
- const whiteColor = css`#fff`;
60
-
61
- return [
62
- baseTileStyles,
63
- css`
64
- .container {
65
- background-color: ${tileBackgroundColor};
66
- border: 1px solid ${tileBorderColor};
67
- }
68
-
69
- .item-info {
70
- flex-grow: initial;
71
- }
72
-
73
- h4.truncated,
74
- h3.truncated {
75
- color: ${whiteColor};
76
- -webkit-line-clamp: 4;
77
- }
78
-
79
- .container:hover > #title {
80
- text-decoration: underline;
81
- }
82
-
83
- /* this is a workaround for Safari 15 where the hover effects are not working */
84
- image-block:hover > #title {
85
- text-decoration: underline;
86
- }
87
- `,
88
- ];
89
- }
90
- }