@internetarchive/collection-browser 3.3.2 → 3.3.3

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 (532) hide show
  1. package/.editorconfig +29 -29
  2. package/.github/workflows/ci.yml +27 -27
  3. package/.github/workflows/gh-pages-main.yml +39 -39
  4. package/.github/workflows/npm-publish.yml +39 -39
  5. package/.github/workflows/pr-preview.yml +38 -38
  6. package/.husky/pre-commit +4 -4
  7. package/.prettierignore +1 -1
  8. package/LICENSE +661 -661
  9. package/README.md +83 -83
  10. package/dist/index.d.ts +16 -0
  11. package/dist/index.js.map +1 -0
  12. package/dist/src/app-root.d.ts +105 -0
  13. package/dist/src/app-root.js +1076 -0
  14. package/dist/src/app-root.js.map +1 -0
  15. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -0
  16. package/dist/src/assets/img/icons/arrow-left.js +10 -0
  17. package/dist/src/assets/img/icons/arrow-left.js.map +1 -0
  18. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -0
  19. package/dist/src/assets/img/icons/arrow-right.js +10 -0
  20. package/dist/src/assets/img/icons/arrow-right.js.map +1 -0
  21. package/dist/src/assets/img/icons/chevron.d.ts +2 -0
  22. package/dist/src/assets/img/icons/chevron.js +4 -0
  23. package/dist/src/assets/img/icons/chevron.js.map +1 -0
  24. package/dist/src/assets/img/icons/close-circle-dark.d.ts +2 -0
  25. package/dist/src/assets/img/icons/close-circle-dark.js +5 -0
  26. package/dist/src/assets/img/icons/close-circle-dark.js.map +1 -0
  27. package/dist/src/assets/img/icons/contract.d.ts +2 -0
  28. package/dist/src/assets/img/icons/contract.js +9 -0
  29. package/dist/src/assets/img/icons/contract.js.map +1 -0
  30. package/dist/src/assets/img/icons/empty-query.d.ts +2 -0
  31. package/dist/src/assets/img/icons/empty-query.js +5 -0
  32. package/dist/src/assets/img/icons/empty-query.js.map +1 -0
  33. package/dist/src/assets/img/icons/expand.d.ts +2 -0
  34. package/dist/src/assets/img/icons/expand.js +9 -0
  35. package/dist/src/assets/img/icons/expand.js.map +1 -0
  36. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -0
  37. package/dist/src/assets/img/icons/eye-closed.js +5 -0
  38. package/dist/src/assets/img/icons/eye-closed.js.map +1 -0
  39. package/dist/src/assets/img/icons/eye.d.ts +2 -0
  40. package/dist/src/assets/img/icons/eye.js +5 -0
  41. package/dist/src/assets/img/icons/eye.js.map +1 -0
  42. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -0
  43. package/dist/src/assets/img/icons/favorite-filled.js +10 -0
  44. package/dist/src/assets/img/icons/favorite-filled.js.map +1 -0
  45. package/dist/src/assets/img/icons/favorite-unfilled.d.ts +1 -0
  46. package/dist/src/assets/img/icons/favorite-unfilled.js +9 -0
  47. package/dist/src/assets/img/icons/favorite-unfilled.js.map +1 -0
  48. package/dist/src/assets/img/icons/filter.d.ts +2 -0
  49. package/dist/src/assets/img/icons/filter.js +10 -0
  50. package/dist/src/assets/img/icons/filter.js.map +1 -0
  51. package/dist/src/assets/img/icons/login-required.d.ts +1 -0
  52. package/dist/src/assets/img/icons/login-required.js +18 -0
  53. package/dist/src/assets/img/icons/login-required.js.map +1 -0
  54. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -0
  55. package/dist/src/assets/img/icons/mediatype/account.js +14 -0
  56. package/dist/src/assets/img/icons/mediatype/account.js.map +1 -0
  57. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -0
  58. package/dist/src/assets/img/icons/mediatype/audio.js +14 -0
  59. package/dist/src/assets/img/icons/mediatype/audio.js.map +1 -0
  60. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -0
  61. package/dist/src/assets/img/icons/mediatype/collection.js +12 -0
  62. package/dist/src/assets/img/icons/mediatype/collection.js.map +1 -0
  63. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -0
  64. package/dist/src/assets/img/icons/mediatype/data.js +15 -0
  65. package/dist/src/assets/img/icons/mediatype/data.js.map +1 -0
  66. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -0
  67. package/dist/src/assets/img/icons/mediatype/etree.js +14 -0
  68. package/dist/src/assets/img/icons/mediatype/etree.js.map +1 -0
  69. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -0
  70. package/dist/src/assets/img/icons/mediatype/film.js +14 -0
  71. package/dist/src/assets/img/icons/mediatype/film.js.map +1 -0
  72. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -0
  73. package/dist/src/assets/img/icons/mediatype/images.js +13 -0
  74. package/dist/src/assets/img/icons/mediatype/images.js.map +1 -0
  75. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -0
  76. package/dist/src/assets/img/icons/mediatype/radio.js +15 -0
  77. package/dist/src/assets/img/icons/mediatype/radio.js.map +1 -0
  78. package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -0
  79. package/dist/src/assets/img/icons/mediatype/search.js +14 -0
  80. package/dist/src/assets/img/icons/mediatype/search.js.map +1 -0
  81. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -0
  82. package/dist/src/assets/img/icons/mediatype/software.js +13 -0
  83. package/dist/src/assets/img/icons/mediatype/software.js.map +1 -0
  84. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -0
  85. package/dist/src/assets/img/icons/mediatype/texts.js +13 -0
  86. package/dist/src/assets/img/icons/mediatype/texts.js.map +1 -0
  87. package/dist/src/assets/img/icons/mediatype/tv-commercial.d.ts +1 -0
  88. package/dist/src/assets/img/icons/mediatype/tv-commercial.js +12 -0
  89. package/dist/src/assets/img/icons/mediatype/tv-commercial.js.map +1 -0
  90. package/dist/src/assets/img/icons/mediatype/tv-fact-check.d.ts +1 -0
  91. package/dist/src/assets/img/icons/mediatype/tv-fact-check.js +12 -0
  92. package/dist/src/assets/img/icons/mediatype/tv-fact-check.js.map +1 -0
  93. package/dist/src/assets/img/icons/mediatype/tv-quote.d.ts +1 -0
  94. package/dist/src/assets/img/icons/mediatype/tv-quote.js +12 -0
  95. package/dist/src/assets/img/icons/mediatype/tv-quote.js.map +1 -0
  96. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -0
  97. package/dist/src/assets/img/icons/mediatype/tv.js +14 -0
  98. package/dist/src/assets/img/icons/mediatype/tv.js.map +1 -0
  99. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -0
  100. package/dist/src/assets/img/icons/mediatype/video.js +14 -0
  101. package/dist/src/assets/img/icons/mediatype/video.js.map +1 -0
  102. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -0
  103. package/dist/src/assets/img/icons/mediatype/web.js +13 -0
  104. package/dist/src/assets/img/icons/mediatype/web.js.map +1 -0
  105. package/dist/src/assets/img/icons/null-result.d.ts +2 -0
  106. package/dist/src/assets/img/icons/null-result.js +5 -0
  107. package/dist/src/assets/img/icons/null-result.js.map +1 -0
  108. package/dist/src/assets/img/icons/quote.d.ts +1 -0
  109. package/dist/src/assets/img/icons/quote.js +7 -0
  110. package/dist/src/assets/img/icons/quote.js.map +1 -0
  111. package/dist/src/assets/img/icons/restricted.d.ts +1 -0
  112. package/dist/src/assets/img/icons/restricted.js +13 -0
  113. package/dist/src/assets/img/icons/restricted.js.map +1 -0
  114. package/dist/src/assets/img/icons/reviews.d.ts +1 -0
  115. package/dist/src/assets/img/icons/reviews.js +11 -0
  116. package/dist/src/assets/img/icons/reviews.js.map +1 -0
  117. package/dist/src/assets/img/icons/upload.d.ts +1 -0
  118. package/dist/src/assets/img/icons/upload.js +12 -0
  119. package/dist/src/assets/img/icons/upload.js.map +1 -0
  120. package/dist/src/assets/img/icons/views.d.ts +1 -0
  121. package/dist/src/assets/img/icons/views.js +11 -0
  122. package/dist/src/assets/img/icons/views.js.map +1 -0
  123. package/dist/src/circular-activity-indicator.d.ts +5 -0
  124. package/dist/src/circular-activity-indicator.js +66 -0
  125. package/dist/src/circular-activity-indicator.js.map +1 -0
  126. package/dist/src/collection-browser.d.ts +684 -0
  127. package/dist/src/collection-browser.js +2567 -0
  128. package/dist/src/collection-browser.js.map +1 -0
  129. package/dist/src/collection-facets/facet-row.d.ts +30 -0
  130. package/dist/src/collection-facets/facet-row.js +265 -0
  131. package/dist/src/collection-facets/facet-row.js.map +1 -0
  132. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -0
  133. package/dist/src/collection-facets/facet-tombstone-row.js +43 -0
  134. package/dist/src/collection-facets/facet-tombstone-row.js.map +1 -0
  135. package/dist/src/collection-facets/facets-template.d.ts +13 -0
  136. package/dist/src/collection-facets/facets-template.js +68 -0
  137. package/dist/src/collection-facets/facets-template.js.map +1 -0
  138. package/dist/src/collection-facets/models.d.ts +9 -0
  139. package/dist/src/collection-facets/models.js +10 -0
  140. package/dist/src/collection-facets/models.js.map +1 -0
  141. package/dist/src/collection-facets/more-facets-content.d.ts +109 -0
  142. package/dist/src/collection-facets/more-facets-content.js +547 -0
  143. package/dist/src/collection-facets/more-facets-content.js.map +1 -0
  144. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -0
  145. package/dist/src/collection-facets/more-facets-pagination.js +264 -0
  146. package/dist/src/collection-facets/more-facets-pagination.js.map +1 -0
  147. package/dist/src/collection-facets/smart-facets/dedupe.d.ts +10 -0
  148. package/dist/src/collection-facets/smart-facets/dedupe.js +35 -0
  149. package/dist/src/collection-facets/smart-facets/dedupe.js.map +1 -0
  150. package/dist/src/collection-facets/smart-facets/heuristics/browser-language/browser-language-heuristic.d.ts +5 -0
  151. package/dist/src/collection-facets/smart-facets/heuristics/browser-language/browser-language-heuristic.js +24 -0
  152. package/dist/src/collection-facets/smart-facets/heuristics/browser-language/browser-language-heuristic.js.map +1 -0
  153. package/dist/src/collection-facets/smart-facets/heuristics/index.d.ts +3 -0
  154. package/dist/src/collection-facets/smart-facets/heuristics/index.js +4 -0
  155. package/dist/src/collection-facets/smart-facets/heuristics/index.js.map +1 -0
  156. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-heuristic.d.ts +4 -0
  157. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-heuristic.js +14 -0
  158. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-heuristic.js.map +1 -0
  159. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-map.d.ts +6 -0
  160. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-map.js +68 -0
  161. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-map.js.map +1 -0
  162. package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-entity-map.d.ts +9 -0
  163. package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-entity-map.js +69 -0
  164. package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-entity-map.js.map +1 -0
  165. package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-heuristic.d.ts +21 -0
  166. package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-heuristic.js +76 -0
  167. package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-heuristic.js.map +1 -0
  168. package/dist/src/collection-facets/smart-facets/models.d.ts +30 -0
  169. package/dist/src/collection-facets/smart-facets/models.js +2 -0
  170. package/dist/src/collection-facets/smart-facets/models.js.map +1 -0
  171. package/dist/src/collection-facets/smart-facets/smart-facet-bar.d.ts +54 -0
  172. package/dist/src/collection-facets/smart-facets/smart-facet-bar.js +383 -0
  173. package/dist/src/collection-facets/smart-facets/smart-facet-bar.js.map +1 -0
  174. package/dist/src/collection-facets/smart-facets/smart-facet-button.d.ts +11 -0
  175. package/dist/src/collection-facets/smart-facets/smart-facet-button.js +133 -0
  176. package/dist/src/collection-facets/smart-facets/smart-facet-button.js.map +1 -0
  177. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.d.ts +28 -0
  178. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js +172 -0
  179. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js.map +1 -0
  180. package/dist/src/collection-facets/smart-facets/smart-facet-equals.d.ts +2 -0
  181. package/dist/src/collection-facets/smart-facets/smart-facet-equals.js +13 -0
  182. package/dist/src/collection-facets/smart-facets/smart-facet-equals.js.map +1 -0
  183. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.d.ts +5 -0
  184. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js +18 -0
  185. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js.map +1 -0
  186. package/dist/src/collection-facets/toggle-switch.d.ts +41 -0
  187. package/dist/src/collection-facets/toggle-switch.js +174 -0
  188. package/dist/src/collection-facets/toggle-switch.js.map +1 -0
  189. package/dist/src/collection-facets.d.ts +113 -0
  190. package/dist/src/collection-facets.js +872 -0
  191. package/dist/src/collection-facets.js.map +1 -0
  192. package/dist/src/data-source/collection-browser-data-source-interface.d.ts +261 -0
  193. package/dist/src/data-source/collection-browser-data-source-interface.js +2 -0
  194. package/dist/src/data-source/collection-browser-data-source-interface.js.map +1 -0
  195. package/dist/src/data-source/collection-browser-data-source.d.ts +400 -0
  196. package/dist/src/data-source/collection-browser-data-source.js +1103 -0
  197. package/dist/src/data-source/collection-browser-data-source.js.map +1 -0
  198. package/dist/src/data-source/collection-browser-query-state.d.ts +49 -0
  199. package/dist/src/data-source/collection-browser-query-state.js +2 -0
  200. package/dist/src/data-source/collection-browser-query-state.js.map +1 -0
  201. package/dist/src/data-source/models.d.ts +32 -0
  202. package/dist/src/data-source/models.js +9 -0
  203. package/dist/src/data-source/models.js.map +1 -0
  204. package/dist/src/empty-placeholder.d.ts +23 -0
  205. package/dist/src/empty-placeholder.js +165 -0
  206. package/dist/src/empty-placeholder.js.map +1 -0
  207. package/dist/src/expanded-date-picker.d.ts +50 -0
  208. package/dist/src/expanded-date-picker.js +182 -0
  209. package/dist/src/expanded-date-picker.js.map +1 -0
  210. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -0
  211. package/dist/src/language-code-handler/language-code-handler.js +27 -0
  212. package/dist/src/language-code-handler/language-code-handler.js.map +1 -0
  213. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -0
  214. package/dist/src/language-code-handler/language-code-mapping.js +563 -0
  215. package/dist/src/language-code-handler/language-code-mapping.js.map +1 -0
  216. package/dist/src/manage/manage-bar.d.ts +58 -0
  217. package/dist/src/manage/manage-bar.js +237 -0
  218. package/dist/src/manage/manage-bar.js.map +1 -0
  219. package/dist/src/manage/remove-items-modal-content.d.ts +9 -0
  220. package/dist/src/manage/remove-items-modal-content.js +104 -0
  221. package/dist/src/manage/remove-items-modal-content.js.map +1 -0
  222. package/dist/src/mediatype/mediatype-config.d.ts +11 -0
  223. package/dist/src/mediatype/mediatype-config.js +116 -0
  224. package/dist/src/mediatype/mediatype-config.js.map +1 -0
  225. package/dist/src/models.d.ts +302 -0
  226. package/dist/src/models.js +511 -0
  227. package/dist/src/models.js.map +1 -0
  228. package/dist/src/restoration-state-handler.d.ts +75 -0
  229. package/dist/src/restoration-state-handler.js +403 -0
  230. package/dist/src/restoration-state-handler.js.map +1 -0
  231. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -0
  232. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +60 -0
  233. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js.map +1 -0
  234. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -0
  235. package/dist/src/sort-filter-bar/alpha-bar.js +241 -0
  236. package/dist/src/sort-filter-bar/alpha-bar.js.map +1 -0
  237. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -0
  238. package/dist/src/sort-filter-bar/img/compact.js +5 -0
  239. package/dist/src/sort-filter-bar/img/compact.js.map +1 -0
  240. package/dist/src/sort-filter-bar/img/list.d.ts +1 -0
  241. package/dist/src/sort-filter-bar/img/list.js +5 -0
  242. package/dist/src/sort-filter-bar/img/list.js.map +1 -0
  243. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -0
  244. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +15 -0
  245. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js.map +1 -0
  246. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -0
  247. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +17 -0
  248. package/dist/src/sort-filter-bar/img/sort-toggle-down.js.map +1 -0
  249. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -0
  250. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +17 -0
  251. package/dist/src/sort-filter-bar/img/sort-toggle-up.js.map +1 -0
  252. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -0
  253. package/dist/src/sort-filter-bar/img/sort-triangle.js +5 -0
  254. package/dist/src/sort-filter-bar/img/sort-triangle.js.map +1 -0
  255. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -0
  256. package/dist/src/sort-filter-bar/img/tile.js +5 -0
  257. package/dist/src/sort-filter-bar/img/tile.js.map +1 -0
  258. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +278 -0
  259. package/dist/src/sort-filter-bar/sort-filter-bar.js +1161 -0
  260. package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -0
  261. package/dist/src/styles/ia-button.d.ts +2 -0
  262. package/dist/src/styles/ia-button.js +134 -0
  263. package/dist/src/styles/ia-button.js.map +1 -0
  264. package/dist/src/styles/item-image-styles.d.ts +8 -0
  265. package/dist/src/styles/item-image-styles.js +123 -0
  266. package/dist/src/styles/item-image-styles.js.map +1 -0
  267. package/dist/src/styles/sr-only.d.ts +1 -0
  268. package/dist/src/styles/sr-only.js +18 -0
  269. package/dist/src/styles/sr-only.js.map +1 -0
  270. package/dist/src/tiles/base-tile-component.d.ts +27 -0
  271. package/dist/src/tiles/base-tile-component.js +82 -0
  272. package/dist/src/tiles/base-tile-component.js.map +1 -0
  273. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -0
  274. package/dist/src/tiles/collection-browser-loading-tile.js +29 -0
  275. package/dist/src/tiles/collection-browser-loading-tile.js.map +1 -0
  276. package/dist/src/tiles/grid/account-tile.d.ts +18 -0
  277. package/dist/src/tiles/grid/account-tile.js +111 -0
  278. package/dist/src/tiles/grid/account-tile.js.map +1 -0
  279. package/dist/src/tiles/grid/collection-tile.d.ts +15 -0
  280. package/dist/src/tiles/grid/collection-tile.js +160 -0
  281. package/dist/src/tiles/grid/collection-tile.js.map +1 -0
  282. package/dist/src/tiles/grid/item-tile.d.ts +41 -0
  283. package/dist/src/tiles/grid/item-tile.js +321 -0
  284. package/dist/src/tiles/grid/item-tile.js.map +1 -0
  285. package/dist/src/tiles/grid/search-tile.d.ts +10 -0
  286. package/dist/src/tiles/grid/search-tile.js +95 -0
  287. package/dist/src/tiles/grid/search-tile.js.map +1 -0
  288. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -0
  289. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +128 -0
  290. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js.map +1 -0
  291. package/dist/src/tiles/grid/tile-stats.d.ts +58 -0
  292. package/dist/src/tiles/grid/tile-stats.js +204 -0
  293. package/dist/src/tiles/grid/tile-stats.js.map +1 -0
  294. package/dist/src/tiles/hover/hover-pane-controller.d.ts +228 -0
  295. package/dist/src/tiles/hover/hover-pane-controller.js +446 -0
  296. package/dist/src/tiles/hover/hover-pane-controller.js.map +1 -0
  297. package/dist/src/tiles/hover/tile-hover-pane.d.ts +20 -0
  298. package/dist/src/tiles/hover/tile-hover-pane.js +185 -0
  299. package/dist/src/tiles/hover/tile-hover-pane.js.map +1 -0
  300. package/dist/src/tiles/image-block.d.ts +19 -0
  301. package/dist/src/tiles/image-block.js +175 -0
  302. package/dist/src/tiles/image-block.js.map +1 -0
  303. package/dist/src/tiles/item-image.d.ts +40 -0
  304. package/dist/src/tiles/item-image.js +191 -0
  305. package/dist/src/tiles/item-image.js.map +1 -0
  306. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -0
  307. package/dist/src/tiles/list/tile-list-compact-header.js +85 -0
  308. package/dist/src/tiles/list/tile-list-compact-header.js.map +1 -0
  309. package/dist/src/tiles/list/tile-list-compact.d.ts +19 -0
  310. package/dist/src/tiles/list/tile-list-compact.js +223 -0
  311. package/dist/src/tiles/list/tile-list-compact.js.map +1 -0
  312. package/dist/src/tiles/list/tile-list.d.ts +54 -0
  313. package/dist/src/tiles/list/tile-list.js +621 -0
  314. package/dist/src/tiles/list/tile-list.js.map +1 -0
  315. package/dist/src/tiles/models.d.ts +1 -0
  316. package/dist/src/tiles/models.js +2 -0
  317. package/dist/src/tiles/models.js.map +1 -0
  318. package/dist/src/tiles/overlay/icon-overlay.d.ts +8 -0
  319. package/dist/src/tiles/overlay/icon-overlay.js +55 -0
  320. package/dist/src/tiles/overlay/icon-overlay.js.map +1 -0
  321. package/dist/src/tiles/overlay/text-overlay.d.ts +9 -0
  322. package/dist/src/tiles/overlay/text-overlay.js +74 -0
  323. package/dist/src/tiles/overlay/text-overlay.js.map +1 -0
  324. package/dist/src/tiles/review-block.d.ts +12 -0
  325. package/dist/src/tiles/review-block.js +134 -0
  326. package/dist/src/tiles/review-block.js.map +1 -0
  327. package/dist/src/tiles/text-snippet-block.d.ts +27 -0
  328. package/dist/src/tiles/text-snippet-block.js +132 -0
  329. package/dist/src/tiles/text-snippet-block.js.map +1 -0
  330. package/dist/src/tiles/tile-dispatcher.d.ts +71 -0
  331. package/dist/src/tiles/tile-dispatcher.js +472 -0
  332. package/dist/src/tiles/tile-dispatcher.js.map +1 -0
  333. package/dist/src/tiles/tile-display-value-provider.d.ts +47 -0
  334. package/dist/src/tiles/tile-display-value-provider.js +95 -0
  335. package/dist/src/tiles/tile-display-value-provider.js.map +1 -0
  336. package/dist/src/tiles/tile-mediatype-icon.d.ts +27 -0
  337. package/dist/src/tiles/tile-mediatype-icon.js +130 -0
  338. package/dist/src/tiles/tile-mediatype-icon.js.map +1 -0
  339. package/dist/src/utils/analytics-events.d.ts +28 -0
  340. package/dist/src/utils/analytics-events.js +31 -0
  341. package/dist/src/utils/analytics-events.js.map +1 -0
  342. package/dist/src/utils/array-equals.d.ts +4 -0
  343. package/dist/src/utils/array-equals.js +11 -0
  344. package/dist/src/utils/array-equals.js.map +1 -0
  345. package/dist/src/utils/collapse-repeated-quotes.d.ts +11 -0
  346. package/dist/src/utils/collapse-repeated-quotes.js +14 -0
  347. package/dist/src/utils/collapse-repeated-quotes.js.map +1 -0
  348. package/dist/src/utils/facet-utils.d.ts +83 -0
  349. package/dist/src/utils/facet-utils.js +152 -0
  350. package/dist/src/utils/facet-utils.js.map +1 -0
  351. package/dist/src/utils/format-count.d.ts +7 -0
  352. package/dist/src/utils/format-count.js +76 -0
  353. package/dist/src/utils/format-count.js.map +1 -0
  354. package/dist/src/utils/format-date.d.ts +16 -0
  355. package/dist/src/utils/format-date.js +33 -0
  356. package/dist/src/utils/format-date.js.map +1 -0
  357. package/dist/src/utils/format-unit-size.d.ts +2 -0
  358. package/dist/src/utils/format-unit-size.js +34 -0
  359. package/dist/src/utils/format-unit-size.js.map +1 -0
  360. package/dist/src/utils/local-date-from-utc.d.ts +9 -0
  361. package/dist/src/utils/local-date-from-utc.js +16 -0
  362. package/dist/src/utils/local-date-from-utc.js.map +1 -0
  363. package/dist/src/utils/log.d.ts +7 -0
  364. package/dist/src/utils/log.js +14 -0
  365. package/dist/src/utils/log.js.map +1 -0
  366. package/dist/src/utils/resolve-mediatype.d.ts +8 -0
  367. package/dist/src/utils/resolve-mediatype.js +24 -0
  368. package/dist/src/utils/resolve-mediatype.js.map +1 -0
  369. package/dist/src/utils/sha1.d.ts +2 -0
  370. package/dist/src/utils/sha1.js +9 -0
  371. package/dist/src/utils/sha1.js.map +1 -0
  372. package/dist/test/collection-browser.test.d.ts +1 -0
  373. package/dist/test/collection-browser.test.js +1711 -0
  374. package/dist/test/collection-browser.test.js.map +1 -0
  375. package/dist/test/collection-facets/facet-row.test.d.ts +1 -0
  376. package/dist/test/collection-facets/facet-row.test.js +274 -0
  377. package/dist/test/collection-facets/facet-row.test.js.map +1 -0
  378. package/dist/test/collection-facets/facets-template.test.d.ts +1 -0
  379. package/dist/test/collection-facets/facets-template.test.js +101 -0
  380. package/dist/test/collection-facets/facets-template.test.js.map +1 -0
  381. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -0
  382. package/dist/test/collection-facets/more-facets-content.test.js +169 -0
  383. package/dist/test/collection-facets/more-facets-content.test.js.map +1 -0
  384. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -0
  385. package/dist/test/collection-facets/more-facets-pagination.test.js +132 -0
  386. package/dist/test/collection-facets/more-facets-pagination.test.js.map +1 -0
  387. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -0
  388. package/dist/test/collection-facets/toggle-switch.test.js +96 -0
  389. package/dist/test/collection-facets/toggle-switch.test.js.map +1 -0
  390. package/dist/test/collection-facets.test.d.ts +2 -0
  391. package/dist/test/collection-facets.test.js +745 -0
  392. package/dist/test/collection-facets.test.js.map +1 -0
  393. package/dist/test/data-source/collection-browser-data-source.test.d.ts +1 -0
  394. package/dist/test/data-source/collection-browser-data-source.test.js +102 -0
  395. package/dist/test/data-source/collection-browser-data-source.test.js.map +1 -0
  396. package/dist/test/empty-placeholder.test.d.ts +1 -0
  397. package/dist/test/empty-placeholder.test.js +63 -0
  398. package/dist/test/empty-placeholder.test.js.map +1 -0
  399. package/dist/test/expanded-date-picker.test.d.ts +1 -0
  400. package/dist/test/expanded-date-picker.test.js +130 -0
  401. package/dist/test/expanded-date-picker.test.js.map +1 -0
  402. package/dist/test/icon-overlay.test.d.ts +1 -0
  403. package/dist/test/icon-overlay.test.js +30 -0
  404. package/dist/test/icon-overlay.test.js.map +1 -0
  405. package/dist/test/image-block.test.d.ts +1 -0
  406. package/dist/test/image-block.test.js +218 -0
  407. package/dist/test/image-block.test.js.map +1 -0
  408. package/dist/test/item-image.test.d.ts +1 -0
  409. package/dist/test/item-image.test.js +196 -0
  410. package/dist/test/item-image.test.js.map +1 -0
  411. package/dist/test/manage/manage-bar.test.d.ts +2 -0
  412. package/dist/test/manage/manage-bar.test.js +106 -0
  413. package/dist/test/manage/manage-bar.test.js.map +1 -0
  414. package/dist/test/manage/remove-items-modal-content.test.d.ts +1 -0
  415. package/dist/test/manage/remove-items-modal-content.test.js +65 -0
  416. package/dist/test/manage/remove-items-modal-content.test.js.map +1 -0
  417. package/dist/test/mediatype-config.test.d.ts +1 -0
  418. package/dist/test/mediatype-config.test.js +11 -0
  419. package/dist/test/mediatype-config.test.js.map +1 -0
  420. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -0
  421. package/dist/test/mocks/mock-analytics-handler.js +16 -0
  422. package/dist/test/mocks/mock-analytics-handler.js.map +1 -0
  423. package/dist/test/mocks/mock-search-responses.d.ts +31 -0
  424. package/dist/test/mocks/mock-search-responses.js +1241 -0
  425. package/dist/test/mocks/mock-search-responses.js.map +1 -0
  426. package/dist/test/mocks/mock-search-service.d.ts +16 -0
  427. package/dist/test/mocks/mock-search-service.js +65 -0
  428. package/dist/test/mocks/mock-search-service.js.map +1 -0
  429. package/dist/test/restoration-state-handler.test.d.ts +1 -0
  430. package/dist/test/restoration-state-handler.test.js +375 -0
  431. package/dist/test/restoration-state-handler.test.js.map +1 -0
  432. package/dist/test/review-block.test.d.ts +1 -0
  433. package/dist/test/review-block.test.js +48 -0
  434. package/dist/test/review-block.test.js.map +1 -0
  435. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -0
  436. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +13 -0
  437. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js.map +1 -0
  438. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -0
  439. package/dist/test/sort-filter-bar/alpha-bar.test.js +74 -0
  440. package/dist/test/sort-filter-bar/alpha-bar.test.js.map +1 -0
  441. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -0
  442. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +609 -0
  443. package/dist/test/sort-filter-bar/sort-filter-bar.test.js.map +1 -0
  444. package/dist/test/text-overlay.test.d.ts +1 -0
  445. package/dist/test/text-overlay.test.js +42 -0
  446. package/dist/test/text-overlay.test.js.map +1 -0
  447. package/dist/test/text-snippet-block.test.d.ts +1 -0
  448. package/dist/test/text-snippet-block.test.js +63 -0
  449. package/dist/test/text-snippet-block.test.js.map +1 -0
  450. package/dist/test/tile-stats.test.d.ts +1 -0
  451. package/dist/test/tile-stats.test.js +128 -0
  452. package/dist/test/tile-stats.test.js.map +1 -0
  453. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -0
  454. package/dist/test/tiles/grid/account-tile.test.js +96 -0
  455. package/dist/test/tiles/grid/account-tile.test.js.map +1 -0
  456. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -0
  457. package/dist/test/tiles/grid/collection-tile.test.js +96 -0
  458. package/dist/test/tiles/grid/collection-tile.test.js.map +1 -0
  459. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -0
  460. package/dist/test/tiles/grid/item-tile.test.js +427 -0
  461. package/dist/test/tiles/grid/item-tile.test.js.map +1 -0
  462. package/dist/test/tiles/grid/search-tile.test.d.ts +1 -0
  463. package/dist/test/tiles/grid/search-tile.test.js +66 -0
  464. package/dist/test/tiles/grid/search-tile.test.js.map +1 -0
  465. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -0
  466. package/dist/test/tiles/hover/hover-pane-controller.test.js +329 -0
  467. package/dist/test/tiles/hover/hover-pane-controller.test.js.map +1 -0
  468. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -0
  469. package/dist/test/tiles/hover/tile-hover-pane.test.js +57 -0
  470. package/dist/test/tiles/hover/tile-hover-pane.test.js.map +1 -0
  471. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -0
  472. package/dist/test/tiles/list/tile-list-compact.test.js +251 -0
  473. package/dist/test/tiles/list/tile-list-compact.test.js.map +1 -0
  474. package/dist/test/tiles/list/tile-list.test.d.ts +1 -0
  475. package/dist/test/tiles/list/tile-list.test.js +469 -0
  476. package/dist/test/tiles/list/tile-list.test.js.map +1 -0
  477. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -0
  478. package/dist/test/tiles/tile-dispatcher.test.js +231 -0
  479. package/dist/test/tiles/tile-dispatcher.test.js.map +1 -0
  480. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -0
  481. package/dist/test/tiles/tile-display-value-provider.test.js +142 -0
  482. package/dist/test/tiles/tile-display-value-provider.test.js.map +1 -0
  483. package/dist/test/tiles/tile-mediatype-icon.test.d.ts +1 -0
  484. package/dist/test/tiles/tile-mediatype-icon.test.js +145 -0
  485. package/dist/test/tiles/tile-mediatype-icon.test.js.map +1 -0
  486. package/dist/test/utils/array-equals.test.d.ts +1 -0
  487. package/dist/test/utils/array-equals.test.js +27 -0
  488. package/dist/test/utils/array-equals.test.js.map +1 -0
  489. package/dist/test/utils/format-count.test.d.ts +1 -0
  490. package/dist/test/utils/format-count.test.js +24 -0
  491. package/dist/test/utils/format-count.test.js.map +1 -0
  492. package/dist/test/utils/format-date.test.d.ts +1 -0
  493. package/dist/test/utils/format-date.test.js +61 -0
  494. package/dist/test/utils/format-date.test.js.map +1 -0
  495. package/dist/test/utils/format-unit-size.test.d.ts +1 -0
  496. package/dist/test/utils/format-unit-size.test.js +18 -0
  497. package/dist/test/utils/format-unit-size.test.js.map +1 -0
  498. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -0
  499. package/dist/test/utils/local-date-from-utc.test.js +27 -0
  500. package/dist/test/utils/local-date-from-utc.test.js.map +1 -0
  501. package/eslint.config.mjs +53 -53
  502. package/index.html +24 -24
  503. package/local.archive.org.cert +86 -86
  504. package/local.archive.org.key +27 -27
  505. package/package.json +118 -117
  506. package/renovate.json +6 -6
  507. package/src/collection-browser.ts +2829 -2829
  508. package/src/collection-facets/more-facets-content.ts +639 -639
  509. package/src/collection-facets.ts +994 -995
  510. package/src/data-source/collection-browser-data-source.ts +1401 -1401
  511. package/src/data-source/collection-browser-query-state.ts +65 -65
  512. package/src/data-source/models.ts +43 -43
  513. package/src/tiles/base-tile-component.ts +65 -65
  514. package/src/tiles/grid/account-tile.ts +113 -113
  515. package/src/tiles/grid/collection-tile.ts +163 -163
  516. package/src/tiles/grid/item-tile.ts +340 -340
  517. package/src/tiles/hover/hover-pane-controller.ts +613 -517
  518. package/src/tiles/hover/tile-hover-pane.ts +184 -180
  519. package/src/tiles/list/tile-list-compact.ts +239 -239
  520. package/src/tiles/list/tile-list.ts +700 -700
  521. package/src/tiles/tile-dispatcher.ts +517 -490
  522. package/src/utils/format-date.ts +62 -62
  523. package/test/collection-browser.test.ts +2403 -2403
  524. package/test/tiles/grid/item-tile.test.ts +520 -520
  525. package/test/tiles/hover/hover-pane-controller.test.ts +418 -353
  526. package/test/tiles/list/tile-list-compact.test.ts +282 -282
  527. package/test/tiles/list/tile-list.test.ts +552 -552
  528. package/test/tiles/tile-dispatcher.test.ts +283 -187
  529. package/test/utils/format-date.test.ts +89 -89
  530. package/tsconfig.json +20 -20
  531. package/web-dev-server.config.mjs +30 -30
  532. package/web-test-runner.config.mjs +41 -41
@@ -0,0 +1,1076 @@
1
+ import { __decorate } from "tslib";
2
+ import { AnalyticsManager, } from '@internetarchive/analytics-manager';
3
+ import { SearchService, SearchType, } from '@internetarchive/search-service';
4
+ import { html, css, LitElement, nothing } from 'lit';
5
+ import { customElement, property, query, state } from 'lit/decorators.js';
6
+ import { SharedResizeObserver } from '@internetarchive/shared-resize-observer';
7
+ import '../src/collection-browser';
8
+ let AppRoot = class AppRoot extends LitElement {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.searchService = this.initSearchServiceFromUrlParams();
12
+ this.resizeObserver = new SharedResizeObserver();
13
+ this.toggleSlots = false;
14
+ this.cellWidth = 18;
15
+ this.cellHeight = 29;
16
+ this.rowGap = 1.7;
17
+ this.colGap = 1.7;
18
+ this.suppressFacets = false;
19
+ this.lazyLoadFacets = false;
20
+ this.loggedIn = false;
21
+ this.searchType = SearchType.METADATA;
22
+ this.analyticsManager = new AnalyticsManager();
23
+ this.analyticsHandler = {
24
+ sendPing: this.sendAnalytics.bind(this),
25
+ sendEvent: this.sendAnalytics.bind(this),
26
+ sendEventNoSampling: this.sendAnalytics.bind(this),
27
+ };
28
+ }
29
+ sendAnalytics(ae) {
30
+ var _a;
31
+ console.log('Analytics Received ----', ae);
32
+ this.latestAction = ae;
33
+ (_a = this.analyticsManager) === null || _a === void 0 ? void 0 : _a.sendEvent(ae);
34
+ }
35
+ initSearchServiceFromUrlParams() {
36
+ var _a, _b;
37
+ const params = new URL(window.location.href).searchParams;
38
+ return new SearchService({
39
+ includeCredentials: false,
40
+ baseUrl: (_a = params.get('search_base_url')) !== null && _a !== void 0 ? _a : undefined,
41
+ servicePath: (_b = params.get('search_service_path')) !== null && _b !== void 0 ? _b : undefined,
42
+ debuggingEnabled: !!params.get('debugging'),
43
+ });
44
+ }
45
+ searchPressed(e) {
46
+ e.preventDefault();
47
+ this.searchQuery = this.baseQueryField.value;
48
+ this.collectionBrowser.searchType = this.searchType;
49
+ this.goToCurrentPage();
50
+ }
51
+ collectionChanged(e) {
52
+ e.preventDefault();
53
+ this.withinCollection = this.baseCollectionField.value;
54
+ this.collectionBrowser.withinCollection = this.withinCollection;
55
+ this.goToCurrentPage();
56
+ }
57
+ goToCurrentPage() {
58
+ var _a;
59
+ const page = (_a = this.currentPage) !== null && _a !== void 0 ? _a : 1;
60
+ if (page > 1) {
61
+ this.collectionBrowser.goToPage(page);
62
+ }
63
+ }
64
+ changePagePressed(e) {
65
+ e.preventDefault();
66
+ this.currentPage = this.pageNumberInput.valueAsNumber;
67
+ this.collectionBrowser.goToPage(this.currentPage);
68
+ }
69
+ updated(changed) {
70
+ if (changed.has('currentPage') && this.currentPage) {
71
+ this.pageNumberInput.value = this.currentPage.toString();
72
+ }
73
+ if (changed.has('searchQuery')) {
74
+ this.queryUpdated();
75
+ }
76
+ }
77
+ queryUpdated() {
78
+ this.collectionBrowser.baseQuery = this.searchQuery;
79
+ }
80
+ get getClass() {
81
+ const searchParams = new URLSearchParams(window.location.search);
82
+ return searchParams.get('hide-dev-tools') ? 'hidden' : '';
83
+ }
84
+ render() {
85
+ var _a, _b;
86
+ return html `
87
+ <div class="dev-tool-container">
88
+ <div id="dev-tools" class=${this.getClass}>
89
+ <div id="search-and-page-inputs">
90
+ <form @submit=${this.searchPressed}>
91
+ <label for="base-query-field"> Query: </label>
92
+ <input
93
+ type="text"
94
+ id="base-query-field"
95
+ .value=${(_a = this.searchQuery) !== null && _a !== void 0 ? _a : ''}
96
+ />
97
+ <input type="submit" value="Search" />
98
+ </form>
99
+ <form @submit=${this.changePagePressed}>
100
+ <label for="page-number-input"> Page: </label>
101
+ <input type="number" value="1" id="page-number-input" />
102
+ <input type="submit" value="Go" />
103
+ </form>
104
+ </div>
105
+ <div>
106
+ <form @submit=${this.collectionChanged}>
107
+ <label for="base-collection-field"> Within collection: </label>
108
+ <input
109
+ type="text"
110
+ id="base-collection-field"
111
+ .value=${(_b = this.withinCollection) !== null && _b !== void 0 ? _b : ''}
112
+ />
113
+ <input type="submit" value="Search" />
114
+ </form>
115
+ </div>
116
+
117
+ <div id="search-types">
118
+ Search type:
119
+ <span class="search-type">
120
+ <input
121
+ type="radio"
122
+ id="default-search"
123
+ name="search-type"
124
+ value="default"
125
+ .checked=${this.searchType === SearchType.DEFAULT}
126
+ @click=${this.searchTypeSelected}
127
+ />
128
+ <label for="default-search">Default</label>
129
+ </span>
130
+ <span class="search-type">
131
+ <input
132
+ type="radio"
133
+ id="metadata-search"
134
+ name="search-type"
135
+ value="metadata"
136
+ .checked=${this.searchType === SearchType.METADATA}
137
+ @click=${this.searchTypeSelected}
138
+ />
139
+ <label for="metadata-search">Metadata</label>
140
+ </span>
141
+ <span class="search-type">
142
+ <input
143
+ type="radio"
144
+ id="fulltext-search"
145
+ name="search-type"
146
+ value="fulltext"
147
+ .checked=${this.searchType === SearchType.FULLTEXT}
148
+ @click=${this.searchTypeSelected}
149
+ />
150
+ <label for="fulltext-search">Full text</label>
151
+ </span>
152
+ <span class="search-type">
153
+ <input
154
+ type="radio"
155
+ id="tv-search"
156
+ name="search-type"
157
+ value="tv"
158
+ .checked=${this.searchType === SearchType.TV}
159
+ @click=${this.searchTypeSelected}
160
+ />
161
+ <label for="tv-search">TV</label>
162
+ </span>
163
+ <span class="search-type">
164
+ <input
165
+ type="radio"
166
+ id="radio-search"
167
+ name="search-type"
168
+ value="radio"
169
+ .checked=${this.searchType === SearchType.RADIO}
170
+ @click=${this.searchTypeSelected}
171
+ />
172
+ <label for="radio-search">Radio</label>
173
+ </span>
174
+ </div>
175
+
176
+ <div id="toggle-controls">
177
+ <button
178
+ @click=${() => {
179
+ var _a, _b;
180
+ const details = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('cell-size-control');
181
+ details === null || details === void 0 ? void 0 : details.classList.toggle('hidden');
182
+ const rowGapControls = (_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.getElementById('cell-gap-control');
183
+ rowGapControls === null || rowGapControls === void 0 ? void 0 : rowGapControls.classList.toggle('hidden');
184
+ }}
185
+ >
186
+ Toggle Cell Controls
187
+ </button>
188
+ <button
189
+ @click=${() => {
190
+ var _a;
191
+ const details = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('latest-event-details');
192
+ details === null || details === void 0 ? void 0 : details.classList.toggle('hidden');
193
+ }}
194
+ >
195
+ Last Event Captured
196
+ </button>
197
+ </div>
198
+
199
+ <div id="last-event">
200
+ <pre id="latest-event-details" class="hidden">
201
+ ${JSON.stringify(this.latestAction, null, 2)}
202
+ </pre
203
+ >
204
+ </div>
205
+
206
+ <fieldset class="cell-controls">
207
+ <legend>Cell Controls</legend>
208
+ <div>
209
+ <label for="cell-width-slider">Cell width:</label>
210
+ <input
211
+ type="range"
212
+ min="10"
213
+ max="100"
214
+ value="18"
215
+ step="0.1"
216
+ id="cell-width-slider"
217
+ @input=${this.widthChanged}
218
+ />
219
+ <span>${this.cellWidth}rem</span>
220
+ </div>
221
+ <div>
222
+ <label for="cell-height-slider">Cell height:</label>
223
+ <input
224
+ type="range"
225
+ min="10"
226
+ max="100"
227
+ value="29"
228
+ step="0.1"
229
+ id="cell-height-slider"
230
+ @input=${this.heightChanged}
231
+ />
232
+ <span>${this.cellHeight}rem</span>
233
+ </div>
234
+ <div>
235
+ <label for="cell-row-gap-slider">Row gap:</label>
236
+ <input
237
+ type="range"
238
+ min="0"
239
+ max="5"
240
+ value="1.7"
241
+ step="0.1"
242
+ id="cell-row-gap-slider"
243
+ @input=${this.rowGapChanged}
244
+ />
245
+ <span>${this.rowGap}rem</span>
246
+ </div>
247
+ <div>
248
+ <label for="cell-col-gap-slider">Col gap:</label>
249
+ <input
250
+ type="range"
251
+ min="0"
252
+ max="5"
253
+ value="1.7"
254
+ step="0.1"
255
+ id="cell-col-gap-slider"
256
+ @input=${this.colGapChanged}
257
+ />
258
+ <span>${this.colGap}rem</span>
259
+ </div>
260
+ </fieldset>
261
+
262
+ <fieldset class="other-controls">
263
+ <legend>Other Controls</legend>
264
+ <div class="checkbox-control">
265
+ <input
266
+ type="checkbox"
267
+ id="simulate-login"
268
+ @click=${this.loginChanged}
269
+ />
270
+ <label for="simulate-login">Simulate login</label>
271
+ </div>
272
+ <div class="checkbox-control">
273
+ <input
274
+ type="checkbox"
275
+ id="enable-date-picker"
276
+ checked
277
+ @click=${this.datePickerChanged}
278
+ />
279
+ <label for="enable-date-picker">Enable date picker</label>
280
+ </div>
281
+ <div class="checkbox-control">
282
+ <input
283
+ type="checkbox"
284
+ id="enable-facets"
285
+ checked
286
+ @click=${this.facetsChanged}
287
+ />
288
+ <label for="enable-facets">Enable facets</label>
289
+ </div>
290
+ <div class="checkbox-control indent">
291
+ <input
292
+ type="checkbox"
293
+ id="lazy-load-facets"
294
+ ?disabled=${this.suppressFacets}
295
+ @click=${this.lazyLoadFacetsChanged}
296
+ />
297
+ <label for="lazy-load-facets">Lazy load facets</label>
298
+ </div>
299
+ <div class="checkbox-control">
300
+ <input
301
+ type="checkbox"
302
+ id="enable-management"
303
+ @click=${this.manageModeCheckboxChanged}
304
+ />
305
+ <label for="enable-management">Enable manage mode</label>
306
+ </div>
307
+ <div class="checkbox-control indent">
308
+ <input
309
+ type="checkbox"
310
+ id="enable-search-management"
311
+ @click=${this.SearchManageModeCheckboxChanged}
312
+ />
313
+ <label for="enable-search-management">Search</label>
314
+ </div>
315
+ <div class="checkbox-control">
316
+ <input
317
+ type="checkbox"
318
+ id="enable-smart-facet-bar"
319
+ @click=${this.smartFacetBarCheckboxChanged}
320
+ />
321
+ <label for="enable-smart-facet-bar">Enable smart facet bar</label>
322
+ </div>
323
+ </fieldset>
324
+
325
+ <fieldset class="cb-visual-appearance">
326
+ <legend>CB Visual Appearance</legend>
327
+ <div class="checkbox-control">
328
+ <input
329
+ type="checkbox"
330
+ id="show-facet-group-outline-check"
331
+ @click=${this.toggleFacetGroupOutline}
332
+ />
333
+ <label for="show-facet-group-outline-check">
334
+ Show facet group outlines
335
+ </label>
336
+ </div>
337
+ <div class="checkbox-control">
338
+ <input
339
+ type="checkbox"
340
+ id="show-outline-check"
341
+ @click=${this.outlineChanged}
342
+ />
343
+ <label for="show-outline-check">Show cell outlines</label>
344
+ </div>
345
+ </fieldset>
346
+
347
+ <fieldset class="user-profile-controls">
348
+ <legend>User Profile Controls</legend>
349
+ <div class="checkbox-control">
350
+ <input
351
+ type="checkbox"
352
+ id="enable-facet-top-slot"
353
+ @click=${this.facetTopSlotCheckboxChanged}
354
+ />
355
+ <label for="enable-facet-top-slot">Show facet top slot</label>
356
+ </div>
357
+ <div class="checkbox-control">
358
+ <input
359
+ type="checkbox"
360
+ id="enable-cb-top-slot"
361
+ @click=${this.cbTopSlotCheckboxChanged}
362
+ />
363
+ <label for="enable-cb-top-slot">Show CB top slot</label>
364
+ </div>
365
+ <div class="checkbox-control">
366
+ <input
367
+ type="checkbox"
368
+ id="enable-sortbar-left-slot"
369
+ @click=${this.sortBarLeftSlotCheckboxChanged}
370
+ />
371
+ <label for="enable-sortbar-left-slot"
372
+ >Show sortbar left slot</label
373
+ >
374
+ </div>
375
+ <div class="checkbox-control">
376
+ <input
377
+ type="checkbox"
378
+ id="enable-sortbar-right-slot"
379
+ @click=${this.sortBarRightSlotCheckboxChanged}
380
+ />
381
+ <label for="enable-sortbar-right-slot"
382
+ >Show sortbar right slot</label
383
+ >
384
+ </div>
385
+ <div class="checkbox-control">
386
+ <input
387
+ type="checkbox"
388
+ id="enable-result-last-tile-slot"
389
+ @click=${this.resultLastTileSlotCheckboxChanged}
390
+ />
391
+ <label for="enable-result-last-tile-slot">
392
+ Show result last tile slot
393
+ </label>
394
+ </div>
395
+ <div class="checkbox-control">
396
+ <input
397
+ type="checkbox"
398
+ id="enable-replaced-sort-options"
399
+ @click=${this.replaceSortOptionsChanged}
400
+ />
401
+ <label for="enable-replaced-sort-options">
402
+ Show replaced sort options
403
+ </label>
404
+ </div>
405
+ </fieldset>
406
+
407
+ <fieldset class="user-profile-controls">
408
+ <legend>Set Placeholder Types</legend>
409
+ <div class="checkbox-control">
410
+ <input
411
+ id="enable-loading-placeholder"
412
+ type="radio"
413
+ @click=${() => this.setPlaceholderType('loading-placeholder')}
414
+ name="placeholder-radio"
415
+ />
416
+ <label for="enable-loading-placeholder"
417
+ >Loading Placeholder</label
418
+ >
419
+ </div>
420
+ <div class="checkbox-control">
421
+ <input
422
+ id="enable-empty-placeholder"
423
+ type="radio"
424
+ @click=${() => this.setPlaceholderType('error-placeholder')}
425
+ value="empty-placeholder"
426
+ name="placeholder-radio"
427
+ />
428
+ <label for="enable-empty-placeholder">Empty Placeholder</label>
429
+ </div>
430
+ </fieldset>
431
+ </div>
432
+ <button id="toggle-dev-tools-btn" @click=${this.toggleDevTools}>
433
+ Toggle Search Controls
434
+ </button>
435
+ </div>
436
+ <div id="collection-browser-container">
437
+ <collection-browser
438
+ facetPaneVisible
439
+ .baseNavigationUrl=${'https://archive.org'}
440
+ .baseImageUrl=${'https://archive.org'}
441
+ .searchService=${this.searchService}
442
+ .resizeObserver=${this.resizeObserver}
443
+ .showHistogramDatePicker=${true}
444
+ .suppressFacets=${this.suppressFacets}
445
+ .lazyLoadFacets=${this.lazyLoadFacets}
446
+ .loggedIn=${this.loggedIn}
447
+ .modalManager=${this.modalManager}
448
+ .analyticsHandler=${this.analyticsHandler}
449
+ .pageContext=${'search'}
450
+ @visiblePageChanged=${this.visiblePageChanged}
451
+ @baseQueryChanged=${this.baseQueryChanged}
452
+ @searchTypeChanged=${this.searchTypeChanged}
453
+ @manageModeChanged=${this.manageModeChanged}
454
+ @itemRemovalRequested=${this.handleItemRemovalRequest}
455
+ @itemManagerRequested=${this.handleItemManagerRequest}
456
+ >
457
+ ${this.toggleSlots
458
+ ? html `<div slot="sortbar-left-slot">Sort Slot</div>`
459
+ : nothing}
460
+ ${this.toggleSlots
461
+ ? html `<div slot="facet-top-slot">Facet Slot</div>`
462
+ : nothing}
463
+ </collection-browser>
464
+ </div>
465
+ <modal-manager></modal-manager>
466
+ `;
467
+ }
468
+ async setPlaceholderType(type) {
469
+ switch (type) {
470
+ case 'loading-placeholder':
471
+ this.collectionBrowser.baseQuery = '';
472
+ this.collectionBrowser.suppressPlaceholders = true;
473
+ this.collectionBrowser.clearResultsOnEmptyQuery = true;
474
+ this.requestUpdate();
475
+ await this.collectionBrowser.updateComplete;
476
+ break;
477
+ default:
478
+ break;
479
+ }
480
+ }
481
+ baseQueryChanged(e) {
482
+ this.searchQuery = e.detail.baseQuery;
483
+ }
484
+ /** Handler for search type changes coming from collection browser */
485
+ searchTypeChanged(e) {
486
+ this.searchType = e.detail;
487
+ }
488
+ /** Handler for user input selecting a search type */
489
+ searchTypeSelected(e) {
490
+ const target = e.target;
491
+ this.searchType = this.searchTypeFromSelectedOption(target.value);
492
+ }
493
+ searchTypeFromSelectedOption(option) {
494
+ switch (option) {
495
+ case 'metadata':
496
+ return SearchType.METADATA;
497
+ case 'fulltext':
498
+ return SearchType.FULLTEXT;
499
+ case 'tv':
500
+ return SearchType.TV;
501
+ case 'radio':
502
+ return SearchType.RADIO;
503
+ default:
504
+ return SearchType.DEFAULT;
505
+ }
506
+ }
507
+ loginChanged(e) {
508
+ const target = e.target;
509
+ if (target.checked) {
510
+ this.loggedIn = true;
511
+ }
512
+ else {
513
+ this.loggedIn = false;
514
+ }
515
+ }
516
+ outlineChanged(e) {
517
+ const target = e.target;
518
+ if (target.checked) {
519
+ this.collectionBrowser.style.setProperty('--infiniteScrollerCellOutline', '1px solid #33D1FF');
520
+ }
521
+ else {
522
+ this.collectionBrowser.style.removeProperty('--infiniteScrollerCellOutline');
523
+ }
524
+ }
525
+ toggleDevTools() {
526
+ var _a, _b;
527
+ const pageUrl = new URL(window.location.href);
528
+ const { searchParams } = pageUrl;
529
+ if (searchParams.get('hide-dev-tools')) {
530
+ searchParams.delete('hide-dev-tools');
531
+ }
532
+ else {
533
+ searchParams.set('hide-dev-tools', 'true');
534
+ }
535
+ (_b = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('dev-tools')) === null || _b === void 0 ? void 0 : _b.classList.toggle('hidden');
536
+ if (window.history.replaceState) {
537
+ window.history.replaceState({
538
+ path: pageUrl.toString(),
539
+ }, '', pageUrl.toString());
540
+ }
541
+ }
542
+ toggleFacetGroupOutline(e) {
543
+ const target = e.target;
544
+ if (target.checked) {
545
+ this.collectionBrowser.classList.add('showFacetGroupOutlines');
546
+ this.modalManager.classList.add('showFacetGroupOutlines');
547
+ }
548
+ else {
549
+ this.collectionBrowser.classList.remove('showFacetGroupOutlines');
550
+ this.modalManager.classList.remove('showFacetGroupOutlines');
551
+ }
552
+ }
553
+ datePickerChanged(e) {
554
+ const target = e.target;
555
+ this.collectionBrowser.showHistogramDatePicker = target.checked;
556
+ // When disabling the date picker from the demo app, also clear any existing date range params
557
+ if (!this.collectionBrowser.showHistogramDatePicker) {
558
+ this.collectionBrowser.minSelectedDate = undefined;
559
+ this.collectionBrowser.maxSelectedDate = undefined;
560
+ }
561
+ }
562
+ facetsChanged(e) {
563
+ const target = e.target;
564
+ this.suppressFacets = !target.checked;
565
+ }
566
+ lazyLoadFacetsChanged(e) {
567
+ const target = e.target;
568
+ this.lazyLoadFacets = target.checked;
569
+ }
570
+ /**
571
+ * Handler for when collection browser's manage mode changes.
572
+ * This lets us disable the checkbox in the dev panel when the user cancels out
573
+ * of manage mode from within collection browser.
574
+ */
575
+ manageModeChanged(e) {
576
+ var _a;
577
+ const manageCheckbox = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#enable-management');
578
+ if (manageCheckbox)
579
+ manageCheckbox.checked = e.detail;
580
+ }
581
+ /**
582
+ * Handler for item removal
583
+ */
584
+ handleItemRemovalRequest(e) {
585
+ this.collectionBrowser.showRemoveItemsProcessingModal();
586
+ console.log('itemRemovalRequested: ', e.detail.items);
587
+ setTimeout(() => {
588
+ var _a, _b;
589
+ // execute item-removal-service, and response is successfully deleted
590
+ const status = false;
591
+ if (status) {
592
+ // looking for success?
593
+ this.collectionBrowser.isManageView = false;
594
+ (_a = this.modalManager) === null || _a === void 0 ? void 0 : _a.closeModal();
595
+ (_b = this.modalManager) === null || _b === void 0 ? void 0 : _b.classList.remove('remove-items');
596
+ }
597
+ else {
598
+ // looking for failure?
599
+ this.collectionBrowser.showRemoveItemsErrorModal();
600
+ }
601
+ }, 2000); // let's wait to see processing modal
602
+ }
603
+ /**
604
+ * Handler when item manage requested
605
+ */
606
+ handleItemManagerRequest(e) {
607
+ console.log('itemManagerRequested: ', e.detail.items);
608
+ }
609
+ /**
610
+ * Handler for when the dev panel's "Enable manage mode" checkbox is changed.
611
+ */
612
+ manageModeCheckboxChanged(e) {
613
+ const target = e.target;
614
+ this.collectionBrowser.isManageView = target.checked;
615
+ this.collectionBrowser.manageViewLabel =
616
+ 'Select items to remove (customizable texts)';
617
+ }
618
+ /**
619
+ * Handler when the dev panel's "Enable manage mode -> Search" checkbox is changed.
620
+ */
621
+ SearchManageModeCheckboxChanged(e) {
622
+ const target = e.target;
623
+ this.collectionBrowser.pageContext = target.checked
624
+ ? 'search'
625
+ : 'collection';
626
+ }
627
+ /**
628
+ * Handler for when the dev panel's "Enable smart facet bar" checkbox is changed.
629
+ */
630
+ smartFacetBarCheckboxChanged(e) {
631
+ const target = e.target;
632
+ this.collectionBrowser.showSmartFacetBar = target.checked;
633
+ }
634
+ /**
635
+ * Handler for when the dev panel's "Show facet top slot" checkbox is changed.
636
+ */
637
+ facetTopSlotCheckboxChanged(e) {
638
+ const target = e.target;
639
+ const p = document.createElement('p');
640
+ p.style.setProperty('border', '1px solid #000');
641
+ p.textContent = 'New stuff as a child.';
642
+ p.style.setProperty('height', '20rem');
643
+ p.style.backgroundColor = '#00000';
644
+ p.setAttribute('slot', 'facet-top-slot');
645
+ if (target.checked) {
646
+ this.collectionBrowser.appendChild(p);
647
+ }
648
+ else {
649
+ this.collectionBrowser.removeChild(this.collectionBrowser.lastElementChild);
650
+ }
651
+ }
652
+ toggleSlotOptions() {
653
+ this.toggleSlots = !this.toggleSlots;
654
+ }
655
+ resultLastTileSlotCheckboxChanged(e) {
656
+ const target = e.target;
657
+ const div = document.createElement('div');
658
+ const title = document.createElement('h3');
659
+ title.textContent = 'Upload';
660
+ div.setAttribute('slot', 'result-last-tile');
661
+ div.setAttribute('class', 'result-last-tile');
662
+ div.appendChild(title);
663
+ if (target.checked) {
664
+ this.collectionBrowser.appendChild(div);
665
+ }
666
+ else {
667
+ this.collectionBrowser.removeChild(this.collectionBrowser.lastElementChild);
668
+ }
669
+ }
670
+ /**
671
+ * Handler for when the dev panel's "Show cb top slot" checkbox is changed.
672
+ */
673
+ cbTopSlotCheckboxChanged(e) {
674
+ const target = e.target;
675
+ const p = document.createElement('p');
676
+ p.style.setProperty('border', '1px solid #000');
677
+ p.textContent = 'My Favorite list header.';
678
+ p.style.setProperty('height', '10rem');
679
+ p.style.backgroundColor = '#00000';
680
+ p.setAttribute('slot', 'cb-top-slot');
681
+ if (target.checked) {
682
+ this.collectionBrowser.appendChild(p);
683
+ }
684
+ else {
685
+ this.collectionBrowser.removeChild(this.collectionBrowser.lastElementChild);
686
+ }
687
+ }
688
+ /**
689
+ * Handler for when the dev panel's "Show sort bar top left slot" checkbox is changed.
690
+ */
691
+ sortBarLeftSlotCheckboxChanged(e) {
692
+ const target = e.target;
693
+ if (target.checked) {
694
+ const div = document.createElement('div');
695
+ div.style.setProperty('border', '1px solid #000');
696
+ div.textContent = 'Btn';
697
+ div.style.setProperty('height', '3rem');
698
+ div.style.setProperty('width', '3rem');
699
+ div.setAttribute('slot', 'sort-options-left');
700
+ this.collectionBrowser.appendChild(div);
701
+ }
702
+ else {
703
+ const slottedEl = this.collectionBrowser.querySelector('[slot="sort-options-left"]');
704
+ if (slottedEl)
705
+ this.collectionBrowser.removeChild(slottedEl);
706
+ }
707
+ }
708
+ /**
709
+ * Handler for when the dev panel's "Show sort bar top right slot" checkbox is changed.
710
+ */
711
+ sortBarRightSlotCheckboxChanged(e) {
712
+ const target = e.target;
713
+ if (target.checked) {
714
+ const div = document.createElement('div');
715
+ div.style.setProperty('border', '1px solid #000');
716
+ div.textContent = 'Search bar';
717
+ div.style.setProperty('height', '3rem');
718
+ div.style.setProperty('width', '15rem');
719
+ div.setAttribute('slot', 'sort-options-right');
720
+ this.collectionBrowser.appendChild(div);
721
+ }
722
+ else {
723
+ const slottedEl = this.collectionBrowser.querySelector('[slot="sort-options-right"]');
724
+ if (slottedEl)
725
+ this.collectionBrowser.removeChild(slottedEl);
726
+ }
727
+ }
728
+ rowGapChanged(e) {
729
+ const input = e.target;
730
+ this.rowGap = parseFloat(input.value);
731
+ this.collectionBrowser.style.setProperty('--collectionBrowserRowGap', `${input.value}rem`);
732
+ }
733
+ colGapChanged(e) {
734
+ const input = e.target;
735
+ this.colGap = parseFloat(input.value);
736
+ this.collectionBrowser.style.setProperty('--collectionBrowserColGap', `${input.value}rem`);
737
+ }
738
+ widthChanged(e) {
739
+ const input = e.target;
740
+ this.cellWidth = parseFloat(input.value);
741
+ this.collectionBrowser.style.setProperty('--collectionBrowserCellMinWidth', `${input.value}rem`);
742
+ }
743
+ heightChanged(e) {
744
+ const input = e.target;
745
+ this.cellHeight = parseFloat(input.value);
746
+ this.collectionBrowser.style.setProperty('--collectionBrowserCellMinHeight', `${input.value}rem`);
747
+ this.collectionBrowser.style.setProperty('--collectionBrowserCellMaxHeight', `${input.value}rem`);
748
+ }
749
+ visiblePageChanged(e) {
750
+ const { pageNumber } = e.detail;
751
+ if (pageNumber === this.currentPage)
752
+ return;
753
+ this.currentPage = pageNumber;
754
+ }
755
+ /**
756
+ * Handler for when the dev panel's "Replace sort options" checkbox is changed.
757
+ */
758
+ replaceSortOptionsChanged(e) {
759
+ const target = e.target;
760
+ if (target.checked) {
761
+ const p = document.createElement('p');
762
+ p.style.setProperty('border', '1px solid #000');
763
+ p.textContent = 'New stuff as a child.';
764
+ p.style.setProperty('height', '20px');
765
+ p.setAttribute('slot', 'sort-options');
766
+ this.collectionBrowser.appendChild(p);
767
+ this.collectionBrowser.enableSortOptionsSlot = true;
768
+ }
769
+ else {
770
+ const slottedEl = this.collectionBrowser.querySelector('[slot="sort-options"]');
771
+ if (slottedEl)
772
+ this.collectionBrowser.removeChild(slottedEl);
773
+ this.collectionBrowser.enableSortOptionsSlot = false;
774
+ }
775
+ }
776
+ };
777
+ AppRoot.styles = css `
778
+ :host {
779
+ display: block;
780
+ --primaryButtonBGColor: #194880;
781
+ --ia-theme-link-color: #4b64ff;
782
+ }
783
+
784
+ /* add the following styles to ensure proper modal visibility */
785
+ body.modal-manager-open {
786
+ overflow: hidden;
787
+ }
788
+ modal-manager {
789
+ display: none;
790
+ }
791
+ modal-manager[mode='open'] {
792
+ display: block;
793
+ }
794
+ modal-manager.remove-items {
795
+ --modalWidth: 58rem;
796
+ --modalBorder: 2px solid var(--primaryButtonBGColor, #194880);
797
+ --modalTitleLineHeight: 4rem;
798
+ --modalTitleFontSize: 1.8rem;
799
+ }
800
+ modal-manager.more-search-facets {
801
+ --modalWidth: 85rem;
802
+ --modalBorder: 2px solid var(--primaryButtonBGColor, #194880);
803
+ --modalTitleLineHeight: 4rem;
804
+ --modalTitleFontSize: 1.8rem;
805
+ --modalCornerRadius: 0;
806
+ --modalBottomPadding: 0;
807
+ --modalBottomMargin: 0;
808
+ --modalScrollOffset: 0;
809
+ --modalCornerRadius: 0.5rem;
810
+ }
811
+ modal-manager.expanded-date-picker {
812
+ --modalWidth: 58rem;
813
+ --modalBorder: 2px solid var(--primaryButtonBGColor, #194880);
814
+ --modalTitleLineHeight: 4rem;
815
+ --modalTitleFontSize: 1.8rem;
816
+ --modalCornerRadius: 0;
817
+ --modalBottomPadding: 0;
818
+ --modalBottomMargin: 0;
819
+ --modalScrollOffset: 0;
820
+ --modalCornerRadius: 0.5rem;
821
+ }
822
+
823
+ input,
824
+ button {
825
+ font-size: 1.6rem;
826
+ }
827
+
828
+ modal-manager.showFacetGroupOutlines,
829
+ collection-browser.showFacetGroupOutlines {
830
+ --facet-row-border-top: 1px solid red;
831
+ --facet-row-border-bottom: 1px solid blue;
832
+ }
833
+
834
+ collection-browser {
835
+ /* Same as production */
836
+ max-width: 135rem;
837
+ margin: auto;
838
+ }
839
+
840
+ #collection-browser-container {
841
+ /* Same as production */
842
+ padding-left: 0.5rem;
843
+ margin-bottom: 2rem;
844
+ }
845
+
846
+ #base-query-field {
847
+ width: 300px;
848
+ }
849
+
850
+ .dev-tool-container {
851
+ position: relative;
852
+ }
853
+ #dev-tools {
854
+ position: relative;
855
+ top: 0;
856
+ left: 0;
857
+ z-index: 1;
858
+ -webkit-backdrop-filter: blur(10px);
859
+ backdrop-filter: blur(10px);
860
+ padding: 0.5rem 1rem;
861
+ border: 1px solid black;
862
+ font-size: 1.4rem;
863
+ background: #ffffffb3;
864
+ }
865
+
866
+ #dev-tools > * {
867
+ display: flex;
868
+ }
869
+
870
+ #toggle-dev-tools-btn {
871
+ position: fixed;
872
+ left: 77.4%;
873
+ top: 0;
874
+ background: red;
875
+ padding: 5px;
876
+ color: white;
877
+ font-size: 1.4rem;
878
+ margin: 0;
879
+ z-index: 1;
880
+ cursor: pointer;
881
+ }
882
+
883
+ #search-and-page-inputs {
884
+ flex-wrap: wrap;
885
+ row-gap: 2px;
886
+ }
887
+
888
+ #search-and-page-inputs > form {
889
+ margin-right: 1rem;
890
+ }
891
+
892
+ #search-and-page-inputs label {
893
+ display: inline-block;
894
+ min-width: 50px;
895
+ }
896
+
897
+ #page-number-input {
898
+ width: 75px;
899
+ }
900
+
901
+ .search-type {
902
+ margin-right: 1rem;
903
+ }
904
+
905
+ .cell-controls {
906
+ display: flex;
907
+ flex-wrap: wrap;
908
+ }
909
+ .cell-controls div {
910
+ display: flex;
911
+ align-items: center;
912
+ }
913
+ .cell-controls input[type='range'] {
914
+ width: 120px;
915
+ }
916
+ #cell-controls label {
917
+ display: inline-block;
918
+ width: 10rem;
919
+ }
920
+
921
+ #cell-size-control,
922
+ #cell-gap-control {
923
+ flex-basis: calc(50% - 1rem);
924
+ flex-grow: 1;
925
+ }
926
+
927
+ #cell-gap-control {
928
+ margin-left: 1rem;
929
+ }
930
+
931
+ #checkbox-controls {
932
+ padding-top: 0.5rem;
933
+ flex-wrap: wrap;
934
+ }
935
+
936
+ .checkbox-control {
937
+ flex-basis: 50%;
938
+ }
939
+ .checkbox-control.indent {
940
+ margin-left: 10px;
941
+ }
942
+ .checkbox-control label {
943
+ user-select: none;
944
+ }
945
+
946
+ #last-event {
947
+ background-color: aliceblue;
948
+ padding: 5px;
949
+ margin: 5px auto;
950
+ }
951
+
952
+ .hidden {
953
+ display: none;
954
+ }
955
+
956
+ #toggle-controls {
957
+ background-color: lightskyblue;
958
+ padding: 5px;
959
+ margin: 5px auto;
960
+ }
961
+
962
+ #search-types {
963
+ margin: 5px auto;
964
+ background-color: aliceblue;
965
+ font-size: 1.6rem;
966
+ }
967
+
968
+ // slots
969
+ div[slot='cb-top-slot'] {
970
+ height: 50px;
971
+ border: 1px solid red;
972
+ background: bisque;
973
+ }
974
+ div[slot='facet-top-slot'] {
975
+ border: 1px solid red;
976
+ width: 100%;
977
+ height: 150px;
978
+ background-color: darkseagreen;
979
+ }
980
+ div[slot='sort-slot-left'] {
981
+ height: 50px;
982
+ border: 1px solid red;
983
+ background: bisque;
984
+ }
985
+
986
+ /* user profile controls */
987
+ .user-profile-controls {
988
+ width: fit-content;
989
+ }
990
+
991
+ fieldset {
992
+ display: inline-block !important;
993
+ }
994
+
995
+ .result-last-tile {
996
+ border-radius: 4px;
997
+ background-color: white;
998
+ border: 3px dashed #555;
999
+ box-shadow: none;
1000
+ display: grid;
1001
+ align-content: center;
1002
+ }
1003
+ .result-last-tile:hover {
1004
+ box-shadow: rgba(8, 8, 32, 0.8) 0 0 6px 2px;
1005
+ transition: box-shadow 0.1s ease 0s;
1006
+ cursor: pointer;
1007
+ border: 3px dashed #4b64ff;
1008
+ }
1009
+ .result-last-tile h3 {
1010
+ margin-bottom: 4rem;
1011
+ margin: 0px auto;
1012
+ font-size: 2.8rem;
1013
+ color: rgb(44, 44, 44);
1014
+ font-weight: 200;
1015
+ text-align: center;
1016
+ }
1017
+ `;
1018
+ __decorate([
1019
+ state()
1020
+ ], AppRoot.prototype, "toggleSlots", void 0);
1021
+ __decorate([
1022
+ state()
1023
+ ], AppRoot.prototype, "currentPage", void 0);
1024
+ __decorate([
1025
+ state()
1026
+ ], AppRoot.prototype, "searchQuery", void 0);
1027
+ __decorate([
1028
+ state()
1029
+ ], AppRoot.prototype, "withinCollection", void 0);
1030
+ __decorate([
1031
+ state()
1032
+ ], AppRoot.prototype, "cellWidth", void 0);
1033
+ __decorate([
1034
+ state()
1035
+ ], AppRoot.prototype, "cellHeight", void 0);
1036
+ __decorate([
1037
+ state()
1038
+ ], AppRoot.prototype, "rowGap", void 0);
1039
+ __decorate([
1040
+ state()
1041
+ ], AppRoot.prototype, "colGap", void 0);
1042
+ __decorate([
1043
+ state()
1044
+ ], AppRoot.prototype, "suppressFacets", void 0);
1045
+ __decorate([
1046
+ state()
1047
+ ], AppRoot.prototype, "lazyLoadFacets", void 0);
1048
+ __decorate([
1049
+ state()
1050
+ ], AppRoot.prototype, "loggedIn", void 0);
1051
+ __decorate([
1052
+ state()
1053
+ ], AppRoot.prototype, "searchType", void 0);
1054
+ __decorate([
1055
+ property({ type: Object, reflect: false })
1056
+ ], AppRoot.prototype, "latestAction", void 0);
1057
+ __decorate([
1058
+ query('#base-query-field')
1059
+ ], AppRoot.prototype, "baseQueryField", void 0);
1060
+ __decorate([
1061
+ query('#base-collection-field')
1062
+ ], AppRoot.prototype, "baseCollectionField", void 0);
1063
+ __decorate([
1064
+ query('#page-number-input')
1065
+ ], AppRoot.prototype, "pageNumberInput", void 0);
1066
+ __decorate([
1067
+ query('collection-browser')
1068
+ ], AppRoot.prototype, "collectionBrowser", void 0);
1069
+ __decorate([
1070
+ query('modal-manager')
1071
+ ], AppRoot.prototype, "modalManager", void 0);
1072
+ AppRoot = __decorate([
1073
+ customElement('app-root')
1074
+ ], AppRoot);
1075
+ export { AppRoot };
1076
+ //# sourceMappingURL=app-root.js.map