@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,60 +0,0 @@
1
- import type {
2
- CollectionExtraInfo,
3
- PageElementName,
4
- SearchServiceInterface,
5
- SearchType,
6
- SortDirection,
7
- SortParam,
8
- } from '@internetarchive/search-service';
9
- import type { FacetLoadStrategy, SelectedFacets, SortField } from '../models';
10
- import type { CollectionBrowserDataSourceInterface } from './collection-browser-data-source-interface';
11
-
12
- /**
13
- * Properties of collection browser that affect the overall search query
14
- */
15
- export interface CollectionBrowserQueryState {
16
- baseQuery?: string;
17
- identifiers?: string[];
18
- withinCollection?: string;
19
- withinProfile?: string;
20
- profileElement?: PageElementName;
21
- searchType: SearchType;
22
- selectedFacets?: SelectedFacets;
23
- internalFilters?: SelectedFacets;
24
- minSelectedDate?: string;
25
- maxSelectedDate?: string;
26
- selectedTitleFilter: string | null;
27
- selectedCreatorFilter: string | null;
28
- selectedSort?: SortField;
29
- sortDirection: SortDirection | null;
30
- }
31
-
32
- /**
33
- * Interface representing search-related state and operations required by the
34
- * data source on its host component.
35
- */
36
- export interface CollectionBrowserSearchInterface
37
- extends CollectionBrowserQueryState {
38
- searchService?: SearchServiceInterface;
39
- isTVCollection: boolean;
40
- readonly sortParam: SortParam | null;
41
- readonly defaultSortField: SortField | null;
42
- readonly defaultSortDirection: SortDirection | null;
43
- readonly facetLoadStrategy: FacetLoadStrategy;
44
- readonly initialPageNumber: number;
45
- readonly maxPagesToManage: number;
46
- readonly currentVisiblePageNumbers: number[];
47
- readonly clearResultsOnEmptyQuery?: boolean;
48
- readonly dataSource?: CollectionBrowserDataSourceInterface;
49
-
50
- getSessionId(): Promise<string>;
51
- setSearchResultsLoading(loading: boolean): void;
52
- setFacetsLoading(loading: boolean): void;
53
- setTotalResultCount(count: number): void;
54
- setTileCount(count: number): void;
55
- applyDefaultCollectionSort(collectionInfo?: CollectionExtraInfo): void;
56
- emitEmptyResults(): void;
57
- emitSearchError(): void;
58
- emitQueryStateChanged(): void;
59
- refreshVisibleResults(): void;
60
- }
@@ -1,56 +0,0 @@
1
- import type {
2
- PageElementName,
3
- PageType,
4
- } from '@internetarchive/search-service';
5
-
6
- /**
7
- * A Map from collection identifiers to their corresponding collection titles.
8
- */
9
- export type CollectionTitles = Map<string, string>;
10
-
11
- /**
12
- * A Map from channel names to their corresponding, more human-readable network name.
13
- */
14
- export type TVChannelAliases = Map<string, string>;
15
-
16
- /**
17
- * A Map from program (show) names to a mapping of all the channels that run them.
18
- */
19
- export type TVProgramChannels = Map<string, Record<string, number>>;
20
-
21
- /**
22
- * Object storing the different TV channel mappings used by the data source.
23
- */
24
- export type TVChannelMaps = {
25
- channelToNetwork?: TVChannelAliases;
26
- programToChannels?: TVProgramChannels;
27
- };
28
-
29
- /**
30
- * The subset of search service params that uniquely specify the type of results
31
- * that are sought by an instance of collection browser.
32
- */
33
- export type PageSpecifierParams = {
34
- /**
35
- * What high-level type of page is being fetched for (search results, collection, or profile)
36
- */
37
- pageType: PageType;
38
- /**
39
- * The target identifier for collection or profile pages (e.g., "prelinger", "@brewster", ...)
40
- */
41
- pageTarget?: string;
42
- /**
43
- * Which specific elements of a profile page to fetch. Corresponds to individual tab data
44
- * (e.g., "uploads", "reviews", ...)
45
- */
46
- pageElements?: PageElementName[];
47
- };
48
-
49
- /**
50
- * List of profile page elements that do not currently allow faceting
51
- */
52
- export const FACETLESS_PAGE_ELEMENTS: PageElementName[] = [
53
- 'forum_posts',
54
- 'lending',
55
- 'web_archives',
56
- ];
@@ -1,192 +0,0 @@
1
- import {
2
- css,
3
- html,
4
- LitElement,
5
- CSSResultGroup,
6
- nothing,
7
- TemplateResult,
8
- } from 'lit';
9
- import { customElement, property } from 'lit/decorators.js';
10
- import { choose } from 'lit/directives/choose.js';
11
- import { msg } from '@lit/localize';
12
-
13
- import emptyQueryIcon from './assets/img/icons/empty-query';
14
- import nullResultIcon from './assets/img/icons/null-result';
15
-
16
- export type PlaceholderType =
17
- | 'empty-query'
18
- | 'empty-collection'
19
- | 'no-results'
20
- | 'query-error'
21
- | 'collection-error'
22
- | null;
23
- @customElement('empty-placeholder')
24
- export class EmptyPlaceholder extends LitElement {
25
- private static readonly MESSAGE_EMPTY_QUERY = msg(
26
- 'To begin searching, enter a search term in the box above and hit "Go".',
27
- );
28
-
29
- private static readonly MESSAGE_NO_SEARCH_RESULTS = msg(
30
- 'Your search did not match any items in the Archive. ' +
31
- 'Try different keywords or a more general search.',
32
- );
33
-
34
- private static readonly MESSAGE_NO_COLLECTION_RESULTS = msg(
35
- 'Your search did not match any items in this collection. ' +
36
- 'Try different keywords or a more general search.',
37
- );
38
-
39
- private static readonly MESSAGE_NO_VIEWABLE_MEMBERS = msg(
40
- 'This collection contains no viewable items.',
41
- );
42
-
43
- private static readonly MESSAGE_QUERY_ERROR = msg(
44
- html`The search engine encountered an error, which might be related to your
45
- search query.
46
- <a
47
- href="https://help.archive.org/help/search-building-powerful-complex-queries/"
48
- >
49
- Tips for constructing search queries.
50
- </a> `,
51
- );
52
-
53
- private static readonly MESSAGE_COLLECTION_ERROR = msg(
54
- html`The search engine encountered an error while loading this collection.
55
- If the problem persists, please let us know at
56
- <a href="mailto:info@archive.org">info@archive.org</a>.`,
57
- );
58
-
59
- private static readonly QUERY_ERROR_DETAILS_MESSAGE = msg('Error details:');
60
-
61
- @property({ type: String }) placeholderType: PlaceholderType = null;
62
-
63
- @property({ type: Boolean }) isMobileView?: false;
64
-
65
- @property({ type: Boolean }) isCollection?: false;
66
-
67
- @property({ type: String }) detailMessage?: string = '';
68
-
69
- render() {
70
- return this.placeholderType ? html`${this.placeholderTemplate}` : nothing;
71
- }
72
-
73
- private get placeholderTemplate(): TemplateResult {
74
- return html`
75
- <div
76
- class="placeholder ${this.placeholderType} ${this.isMobileView
77
- ? 'mobile'
78
- : 'desktop'}"
79
- >
80
- ${choose(this.placeholderType, [
81
- ['empty-query', () => this.emptyQueryTemplate],
82
- ['empty-collection', () => this.emptyCollectionTemplate],
83
- ['no-results', () => this.noResultsTemplate],
84
- ['query-error', () => this.queryErrorTemplate],
85
- ['collection-error', () => this.collectionErrorTemplate],
86
- ])}
87
- </div>
88
- `;
89
- }
90
-
91
- private get emptyQueryTemplate(): TemplateResult {
92
- // Added data-testid for Playwright testing
93
- return html`
94
- <h2 class="title" data-testid="empty-query-text-msg">
95
- ${EmptyPlaceholder.MESSAGE_EMPTY_QUERY}
96
- </h2>
97
- <div>${emptyQueryIcon}</div>
98
- `;
99
- }
100
-
101
- private get emptyCollectionTemplate(): TemplateResult {
102
- // Added data-testid for Playwright testing
103
- return html`
104
- <h2 class="title" data-testid="empty-collection-text-msg">
105
- ${EmptyPlaceholder.MESSAGE_NO_VIEWABLE_MEMBERS}
106
- </h2>
107
- <div>${nullResultIcon}</div>
108
- `;
109
- }
110
-
111
- private get noResultsTemplate(): TemplateResult {
112
- // Added data-testid for Playwright testing
113
- return html`
114
- <h2 class="title" data-testid="empty-results-text-msg">
115
- ${this.isCollection
116
- ? EmptyPlaceholder.MESSAGE_NO_COLLECTION_RESULTS
117
- : EmptyPlaceholder.MESSAGE_NO_SEARCH_RESULTS}
118
- </h2>
119
- <div>${nullResultIcon}</div>
120
- `;
121
- }
122
-
123
- private get queryErrorTemplate(): TemplateResult {
124
- // Added data-testid for Playwright testing
125
- return html`
126
- <h2 class="title" data-testid="error-query-text-msg">
127
- ${EmptyPlaceholder.MESSAGE_QUERY_ERROR}
128
- </h2>
129
- <div>${nullResultIcon}</div>
130
- <p class="error-details">
131
- ${EmptyPlaceholder.QUERY_ERROR_DETAILS_MESSAGE} ${this.detailMessage}
132
- </p>
133
- `;
134
- }
135
-
136
- private get collectionErrorTemplate(): TemplateResult {
137
- // Added data-testid for Playwright testing
138
- return html`
139
- <h2 class="title" data-testid="error-collection-text-msg">
140
- ${EmptyPlaceholder.MESSAGE_COLLECTION_ERROR}
141
- </h2>
142
- <div>${nullResultIcon}</div>
143
- <p class="error-details">
144
- ${EmptyPlaceholder.QUERY_ERROR_DETAILS_MESSAGE} ${this.detailMessage}
145
- </p>
146
- `;
147
- }
148
-
149
- static get styles(): CSSResultGroup {
150
- return css`
151
- :host {
152
- text-align: center;
153
- width: 100%;
154
- }
155
-
156
- a {
157
- text-decoration: none;
158
- }
159
- a:link {
160
- color: var(--ia-theme-link-color, #4b64ff);
161
- }
162
- a:hover {
163
- text-decoration: underline;
164
- }
165
-
166
- .placeholder {
167
- display: block;
168
- }
169
-
170
- .desktop svg {
171
- max-height: 40rem;
172
- }
173
- .desktop .title,
174
- .desktop .error-details {
175
- margin: 4rem 0;
176
- }
177
-
178
- .mobile svg {
179
- max-height: 20rem;
180
- }
181
- .mobile .title,
182
- .mobile .error-details {
183
- margin: 2rem 0.5;
184
- }
185
-
186
- .error-details {
187
- font-size: 1.2rem;
188
- word-break: break-word;
189
- }
190
- `;
191
- }
192
- }
@@ -1,191 +0,0 @@
1
- import {
2
- css,
3
- html,
4
- LitElement,
5
- CSSResultGroup,
6
- TemplateResult,
7
- nothing,
8
- } from 'lit';
9
- import { customElement, property } from 'lit/decorators.js';
10
- import { ifDefined } from 'lit/directives/if-defined.js';
11
- import { msg } from '@lit/localize';
12
- import type { ModalManagerInterface } from '@internetarchive/modal-manager';
13
- import type { AnalyticsManagerInterface } from '@internetarchive/analytics-manager';
14
- import {
15
- BarScalingOption,
16
- BinSnappingInterval,
17
- } from '@internetarchive/histogram-date-range';
18
- import {
19
- analyticsActions,
20
- analyticsCategories,
21
- } from './utils/analytics-events';
22
-
23
- import '@internetarchive/histogram-date-range';
24
-
25
- @customElement('expanded-date-picker')
26
- export class ExpandedDatePicker extends LitElement {
27
- @property({ type: String }) minDate?: string;
28
-
29
- @property({ type: String }) maxDate?: string;
30
-
31
- @property({ type: String }) minSelectedDate?: string;
32
-
33
- @property({ type: String }) maxSelectedDate?: string;
34
-
35
- @property({ type: Array }) buckets?: number[];
36
-
37
- @property({ type: String }) customDateFormat?: string;
38
-
39
- @property({ type: String }) customTooltipDateFormat?: string;
40
-
41
- @property({ type: String }) customTooltipLabel?: string;
42
-
43
- @property({ type: String }) binSnapping: BinSnappingInterval = 'none';
44
-
45
- @property({ type: String }) barScaling: BarScalingOption = 'logarithmic';
46
-
47
- @property({ type: Object, attribute: false })
48
- modalManager?: ModalManagerInterface;
49
-
50
- @property({ type: Object, attribute: false })
51
- analyticsHandler?: AnalyticsManagerInterface;
52
-
53
- render(): TemplateResult {
54
- return html`
55
- <div id="container">
56
- <histogram-date-range
57
- id="date-picker"
58
- .minDate=${this.minDate}
59
- .maxDate=${this.maxDate}
60
- .minSelectedDate=${this.minSelectedDate ?? this.minDate}
61
- .maxSelectedDate=${this.maxSelectedDate ?? this.maxDate}
62
- dateFormat=${ifDefined(this.customDateFormat)}
63
- tooltipDateFormat=${ifDefined(this.customTooltipDateFormat)}
64
- tooltipLabel=${ifDefined(this.customTooltipLabel)}
65
- .binSnapping=${this.binSnapping}
66
- .barScaling=${this.barScaling ?? nothing}
67
- .updateDelay=${0}
68
- updateWhileFocused
69
- missingDataMessage="..."
70
- .width=${560}
71
- .height=${120}
72
- .bins=${this.buckets}
73
- @histogramDateRangeUpdated=${this.histogramDateRangeUpdated}
74
- >
75
- <button
76
- id="apply-btn"
77
- slot="inputs-right-side"
78
- @click=${this.applyBtnClicked}
79
- >
80
- ${msg('Apply date range')}
81
- </button>
82
- </histogram-date-range>
83
- </div>
84
- `;
85
- }
86
-
87
- connectedCallback(): void {
88
- super.connectedCallback?.();
89
- this.setupEscapeListener();
90
- }
91
-
92
- disconnectedCallback(): void {
93
- super.disconnectedCallback?.();
94
- this.removeEscapeListener();
95
- }
96
-
97
- /**
98
- * Add an event listener to close the date picker modal when the Esc key is pressed
99
- */
100
- private setupEscapeListener() {
101
- document.addEventListener('keydown', this.boundEscapeListener);
102
- }
103
-
104
- /**
105
- * Remove the Esc key listener that was previously added
106
- */
107
- private removeEscapeListener() {
108
- document.removeEventListener('keydown', this.boundEscapeListener);
109
- }
110
-
111
- /**
112
- * Closes the modal dialog if the given event is pressing the Esc key.
113
- * Arrow function to ensure `this` remains bound to the current component.
114
- */
115
- private boundEscapeListener = (e: KeyboardEvent) => {
116
- if (e.key === 'Escape') {
117
- this.closeModal();
118
- }
119
- };
120
-
121
- /**
122
- * When the histogram is updated, keep track of the newly selected date range.
123
- * We don't commit to the new range until the apply button is clicked.
124
- */
125
- private histogramDateRangeUpdated(
126
- e: CustomEvent<{
127
- minDate: string;
128
- maxDate: string;
129
- }>,
130
- ): void {
131
- this.minSelectedDate = e.detail.minDate;
132
- this.maxSelectedDate = e.detail.maxDate;
133
- }
134
-
135
- /**
136
- * When the Apply button is clicked, emit the current date range and close the modal.
137
- */
138
- private applyBtnClicked(): void {
139
- const event = new CustomEvent('histogramDateRangeApplied', {
140
- detail: {
141
- minDate: this.minSelectedDate,
142
- maxDate: this.maxSelectedDate,
143
- },
144
- });
145
- this.dispatchEvent(event);
146
- this.closeModal();
147
-
148
- this.analyticsHandler?.sendEvent({
149
- category: analyticsCategories.default,
150
- action: analyticsActions.histogramChangedFromModal,
151
- label: window.location.href,
152
- });
153
- }
154
-
155
- /**
156
- * Closes the modal associated with this component (if it exists) and dispatches a
157
- * modalClosed event.
158
- */
159
- private closeModal(): void {
160
- if (this.modalManager) {
161
- this.modalManager.closeModal();
162
- this.dispatchEvent(new CustomEvent('modalClosed'));
163
- }
164
- }
165
-
166
- static get styles(): CSSResultGroup {
167
- return css`
168
- #container {
169
- display: flex;
170
- justify-content: center;
171
- padding: 40px 10px 10px;
172
- overflow: hidden;
173
- }
174
-
175
- #date-picker {
176
- --histogramDateRangeInputWidth: 50px;
177
- --histogramDateRangeInputRowMargin: 5px 0 0 0;
178
- }
179
-
180
- #apply-btn {
181
- margin: 0 0 0 5px;
182
- padding: 8px 10px;
183
- border: 0;
184
- border-radius: 4px;
185
- background: var(--primaryButtonBGColor, #194880);
186
- color: white;
187
- cursor: pointer;
188
- }
189
- `;
190
- }
191
- }
@@ -1,64 +0,0 @@
1
- import { codeToLanguageMap } from './language-code-mapping';
2
-
3
- // To serialize the list of potential language codes, we store
4
- // the string in the format `en-us|en|en-gb` with `|` being the separator.
5
- // This allows us to generate a query of `language:(en-us OR en OR en-gb)`
6
- // when we deserialize the string.
7
- export interface LanguageCodeHandlerInterface {
8
- /**
9
- * This takes a list of codes in the format `en-us|en|en-gb` and
10
- * returns the first language code in the list.
11
- *
12
- * The codes in the string should always represent the same language name.
13
- * eg `en-us`, `en-gb`, and `en` should always be "English"
14
- *
15
- * @param languageCodes
16
- */
17
- getLanguageNameFromCodeString(languageCodes: string): string;
18
-
19
- /**
20
- * This creates a serialized string of language codes for the given language.
21
- *
22
- * eg. `English` becomes `en-us|en|en-gb|.....`
23
- *
24
- * @param languageName
25
- */
26
- getCodeStringFromLanguageName(languageName: string): string;
27
-
28
- /**
29
- * Get an array of langauge codes from a serialized string.
30
- *
31
- * eg. `en-us|en|en-gb` becomes `['en-us', 'en', 'en-gb']`
32
- *
33
- * @param languageCodes
34
- */
35
- getCodeArrayFromCodeString(languageCodes: string): string[];
36
- }
37
-
38
- export class LanguageCodeHandler implements LanguageCodeHandlerInterface {
39
- private delimeter = '|';
40
-
41
- /** @inheritdoc */
42
- getLanguageNameFromCodeString(languageCodes: string): string {
43
- const split = this.getCodeArrayFromCodeString(languageCodes);
44
- if (split.length === 0) return '';
45
- const languageCode = split[0];
46
- const languageName = codeToLanguageMap[languageCode];
47
- return languageName ?? languageCodes;
48
- }
49
-
50
- /** @inheritdoc */
51
- getCodeStringFromLanguageName(languageName: string): string {
52
- const languageCodes = Object.keys(codeToLanguageMap).filter(
53
- code => codeToLanguageMap[code] === languageName,
54
- );
55
- const stringifiedCodes = languageCodes?.join(this.delimeter);
56
- return stringifiedCodes;
57
- }
58
-
59
- /** @inheritdoc */
60
- getCodeArrayFromCodeString(languageCodes: string): string[] {
61
- const split = languageCodes.split(this.delimeter);
62
- return split;
63
- }
64
- }