@internetarchive/collection-browser 2.7.12 → 2.7.13-alpha1

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 (498) hide show
  1. package/.editorconfig +29 -29
  2. package/.github/workflows/ci.yml +3 -3
  3. package/.github/workflows/gh-pages-main.yml +2 -2
  4. package/.github/workflows/pr-preview.yml +2 -2
  5. package/.husky/pre-commit +4 -4
  6. package/.prettierignore +1 -0
  7. package/LICENSE +661 -661
  8. package/README.md +83 -83
  9. package/dist/index.d.ts +13 -13
  10. package/dist/index.js +11 -13
  11. package/dist/index.js.map +1 -1
  12. package/dist/src/app-root.d.ts +108 -107
  13. package/dist/src/app-root.js +541 -531
  14. package/dist/src/app-root.js.map +1 -1
  15. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  16. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  17. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  18. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  19. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  20. package/dist/src/assets/img/icons/chevron.js +2 -2
  21. package/dist/src/assets/img/icons/contract.d.ts +2 -2
  22. package/dist/src/assets/img/icons/contract.js +2 -2
  23. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  24. package/dist/src/assets/img/icons/empty-query.js +2 -2
  25. package/dist/src/assets/img/icons/expand.d.ts +2 -2
  26. package/dist/src/assets/img/icons/expand.js +2 -2
  27. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  28. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  29. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  30. package/dist/src/assets/img/icons/eye.js +2 -2
  31. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  32. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  33. package/dist/src/assets/img/icons/favorite-unfilled.d.ts +1 -1
  34. package/dist/src/assets/img/icons/favorite-unfilled.js +2 -2
  35. package/dist/src/assets/img/icons/filter.d.ts +2 -2
  36. package/dist/src/assets/img/icons/filter.js +2 -2
  37. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  38. package/dist/src/assets/img/icons/login-required.js +2 -2
  39. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  40. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  41. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  42. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  43. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  44. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  45. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  46. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  47. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  48. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  49. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  50. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  51. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  52. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  53. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  54. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  55. package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -1
  56. package/dist/src/assets/img/icons/mediatype/search.js +2 -2
  57. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  58. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  59. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  60. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  61. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  62. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  63. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  64. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  65. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  66. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  67. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  68. package/dist/src/assets/img/icons/null-result.js +2 -2
  69. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  70. package/dist/src/assets/img/icons/restricted.js +2 -2
  71. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  72. package/dist/src/assets/img/icons/reviews.js +2 -2
  73. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  74. package/dist/src/assets/img/icons/upload.js +2 -2
  75. package/dist/src/assets/img/icons/views.d.ts +1 -1
  76. package/dist/src/assets/img/icons/views.js +2 -2
  77. package/dist/src/circular-activity-indicator.d.ts +5 -5
  78. package/dist/src/circular-activity-indicator.js +17 -17
  79. package/dist/src/circular-activity-indicator.js.map +1 -1
  80. package/dist/src/collection-browser.d.ts +611 -606
  81. package/dist/src/collection-browser.js +1688 -1679
  82. package/dist/src/collection-browser.js.map +1 -1
  83. package/dist/src/collection-facets/facet-row.d.ts +30 -30
  84. package/dist/src/collection-facets/facet-row.js +118 -118
  85. package/dist/src/collection-facets/facet-row.js.map +1 -1
  86. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  87. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  88. package/dist/src/collection-facets/facet-tombstone-row.js.map +1 -1
  89. package/dist/src/collection-facets/facets-template.d.ts +13 -13
  90. package/dist/src/collection-facets/facets-template.js +49 -49
  91. package/dist/src/collection-facets/facets-template.js.map +1 -1
  92. package/dist/src/collection-facets/more-facets-content.d.ts +106 -106
  93. package/dist/src/collection-facets/more-facets-content.js +406 -408
  94. package/dist/src/collection-facets/more-facets-content.js.map +1 -1
  95. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  96. package/dist/src/collection-facets/more-facets-pagination.js +197 -196
  97. package/dist/src/collection-facets/more-facets-pagination.js.map +1 -1
  98. package/dist/src/collection-facets/smart-facets/dedupe.d.ts +10 -10
  99. package/dist/src/collection-facets/smart-facets/dedupe.js +33 -33
  100. package/dist/src/collection-facets/smart-facets/dedupe.js.map +1 -1
  101. package/dist/src/collection-facets/smart-facets/heuristics/browser-language-heuristic.d.ts +5 -5
  102. package/dist/src/collection-facets/smart-facets/heuristics/browser-language-heuristic.js +23 -23
  103. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.d.ts +5 -5
  104. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.js +44 -44
  105. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.js.map +1 -1
  106. package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.d.ts +5 -5
  107. package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.js +172 -172
  108. package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.js.map +1 -1
  109. package/dist/src/collection-facets/smart-facets/models.d.ts +26 -26
  110. package/dist/src/collection-facets/smart-facets/models.js +1 -1
  111. package/dist/src/collection-facets/smart-facets/smart-facet-bar.d.ts +31 -31
  112. package/dist/src/collection-facets/smart-facets/smart-facet-bar.js +237 -240
  113. package/dist/src/collection-facets/smart-facets/smart-facet-bar.js.map +1 -1
  114. package/dist/src/collection-facets/smart-facets/smart-facet-button.d.ts +11 -11
  115. package/dist/src/collection-facets/smart-facets/smart-facet-button.js +86 -86
  116. package/dist/src/collection-facets/smart-facets/smart-facet-button.js.map +1 -1
  117. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.d.ts +16 -16
  118. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js +100 -100
  119. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js.map +1 -1
  120. package/dist/src/collection-facets/smart-facets/smart-facet-equals.d.ts +2 -2
  121. package/dist/src/collection-facets/smart-facets/smart-facet-equals.js +12 -12
  122. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.d.ts +5 -5
  123. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js +15 -15
  124. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js.map +1 -1
  125. package/dist/src/collection-facets/toggle-switch.d.ts +41 -41
  126. package/dist/src/collection-facets/toggle-switch.js +94 -94
  127. package/dist/src/collection-facets/toggle-switch.js.map +1 -1
  128. package/dist/src/collection-facets.d.ts +103 -103
  129. package/dist/src/collection-facets.js +521 -522
  130. package/dist/src/collection-facets.js.map +1 -1
  131. package/dist/src/data-source/collection-browser-data-source-interface.d.ts +245 -245
  132. package/dist/src/data-source/collection-browser-data-source-interface.js +1 -1
  133. package/dist/src/data-source/collection-browser-data-source-interface.js.map +1 -1
  134. package/dist/src/data-source/collection-browser-data-source.d.ts +377 -377
  135. package/dist/src/data-source/collection-browser-data-source.js +1003 -1001
  136. package/dist/src/data-source/collection-browser-data-source.js.map +1 -1
  137. package/dist/src/data-source/collection-browser-query-state.d.ts +44 -44
  138. package/dist/src/data-source/collection-browser-query-state.js +1 -1
  139. package/dist/src/data-source/models.d.ts +28 -28
  140. package/dist/src/data-source/models.js +8 -8
  141. package/dist/src/empty-placeholder.d.ts +23 -23
  142. package/dist/src/empty-placeholder.js +87 -88
  143. package/dist/src/empty-placeholder.js.map +1 -1
  144. package/dist/src/expanded-date-picker.d.ts +43 -43
  145. package/dist/src/expanded-date-picker.js +109 -109
  146. package/dist/src/expanded-date-picker.js.map +1 -1
  147. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  148. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  149. package/dist/src/language-code-handler/language-code-handler.js.map +1 -1
  150. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  151. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  152. package/dist/src/language-code-handler/language-code-mapping.js.map +1 -1
  153. package/dist/src/manage/manage-bar.d.ts +58 -58
  154. package/dist/src/manage/manage-bar.js +175 -175
  155. package/dist/src/manage/manage-bar.js.map +1 -1
  156. package/dist/src/manage/remove-items-modal-content.d.ts +9 -9
  157. package/dist/src/manage/remove-items-modal-content.js +34 -34
  158. package/dist/src/manage/remove-items-modal-content.js.map +1 -1
  159. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  160. package/dist/src/mediatype/mediatype-config.js +92 -91
  161. package/dist/src/mediatype/mediatype-config.js.map +1 -1
  162. package/dist/src/models.d.ts +228 -228
  163. package/dist/src/models.js +401 -401
  164. package/dist/src/models.js.map +1 -1
  165. package/dist/src/restoration-state-handler.d.ts +70 -70
  166. package/dist/src/restoration-state-handler.js +362 -363
  167. package/dist/src/restoration-state-handler.js.map +1 -1
  168. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  169. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  170. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js.map +1 -1
  171. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
  172. package/dist/src/sort-filter-bar/alpha-bar.js +136 -136
  173. package/dist/src/sort-filter-bar/alpha-bar.js.map +1 -1
  174. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  175. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  176. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  177. package/dist/src/sort-filter-bar/img/list.js +2 -2
  178. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  179. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
  180. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  181. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
  182. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  183. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
  184. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  185. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  186. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  187. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  188. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +223 -223
  189. package/dist/src/sort-filter-bar/sort-filter-bar.js +696 -697
  190. package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
  191. package/dist/src/styles/ia-button.d.ts +2 -2
  192. package/dist/src/styles/ia-button.js +17 -17
  193. package/dist/src/styles/item-image-styles.d.ts +8 -8
  194. package/dist/src/styles/item-image-styles.js +9 -9
  195. package/dist/src/styles/sr-only.d.ts +1 -1
  196. package/dist/src/styles/sr-only.js +2 -2
  197. package/dist/src/tiles/base-tile-component.d.ts +19 -19
  198. package/dist/src/tiles/base-tile-component.js +64 -64
  199. package/dist/src/tiles/base-tile-component.js.map +1 -1
  200. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  201. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  202. package/dist/src/tiles/collection-browser-loading-tile.js.map +1 -1
  203. package/dist/src/tiles/grid/account-tile.d.ts +18 -18
  204. package/dist/src/tiles/grid/account-tile.js +72 -72
  205. package/dist/src/tiles/grid/account-tile.js.map +1 -1
  206. package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
  207. package/dist/src/tiles/grid/collection-tile.js +80 -80
  208. package/dist/src/tiles/grid/collection-tile.js.map +1 -1
  209. package/dist/src/tiles/grid/item-tile.d.ts +34 -34
  210. package/dist/src/tiles/grid/item-tile.js +159 -160
  211. package/dist/src/tiles/grid/item-tile.js.map +1 -1
  212. package/dist/src/tiles/grid/search-tile.d.ts +10 -10
  213. package/dist/src/tiles/grid/search-tile.js +51 -51
  214. package/dist/src/tiles/grid/search-tile.js.map +1 -1
  215. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  216. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
  217. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  218. package/dist/src/tiles/grid/tile-stats.js +54 -54
  219. package/dist/src/tiles/grid/tile-stats.js.map +1 -1
  220. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  221. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  222. package/dist/src/tiles/hover/hover-pane-controller.js.map +1 -1
  223. package/dist/src/tiles/hover/tile-hover-pane.d.ts +18 -18
  224. package/dist/src/tiles/hover/tile-hover-pane.js +72 -70
  225. package/dist/src/tiles/hover/tile-hover-pane.js.map +1 -1
  226. package/dist/src/tiles/image-block.d.ts +18 -18
  227. package/dist/src/tiles/image-block.js +89 -89
  228. package/dist/src/tiles/image-block.js.map +1 -1
  229. package/dist/src/tiles/item-image.d.ts +39 -39
  230. package/dist/src/tiles/item-image.js +154 -154
  231. package/dist/src/tiles/item-image.js.map +1 -1
  232. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
  233. package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
  234. package/dist/src/tiles/list/tile-list-compact-header.js.map +1 -1
  235. package/dist/src/tiles/list/tile-list-compact.d.ts +19 -19
  236. package/dist/src/tiles/list/tile-list-compact.js +122 -122
  237. package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
  238. package/dist/src/tiles/list/tile-list.d.ts +54 -54
  239. package/dist/src/tiles/list/tile-list.js +324 -326
  240. package/dist/src/tiles/list/tile-list.js.map +1 -1
  241. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  242. package/dist/src/tiles/mediatype-icon.js +47 -47
  243. package/dist/src/tiles/mediatype-icon.js.map +1 -1
  244. package/dist/src/tiles/overlay/icon-overlay.d.ts +8 -8
  245. package/dist/src/tiles/overlay/icon-overlay.js +25 -25
  246. package/dist/src/tiles/overlay/icon-overlay.js.map +1 -1
  247. package/dist/src/tiles/overlay/text-overlay.d.ts +9 -9
  248. package/dist/src/tiles/overlay/text-overlay.js +31 -31
  249. package/dist/src/tiles/overlay/text-overlay.js.map +1 -1
  250. package/dist/src/tiles/review-block.d.ts +12 -12
  251. package/dist/src/tiles/review-block.js +56 -56
  252. package/dist/src/tiles/review-block.js.map +1 -1
  253. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  254. package/dist/src/tiles/text-snippet-block.js +73 -73
  255. package/dist/src/tiles/text-snippet-block.js.map +1 -1
  256. package/dist/src/tiles/tile-dispatcher.d.ts +64 -64
  257. package/dist/src/tiles/tile-dispatcher.js +230 -230
  258. package/dist/src/tiles/tile-dispatcher.js.map +1 -1
  259. package/dist/src/tiles/tile-display-value-provider.d.ts +47 -47
  260. package/dist/src/tiles/tile-display-value-provider.js +94 -94
  261. package/dist/src/tiles/tile-display-value-provider.js.map +1 -1
  262. package/dist/src/utils/analytics-events.d.ts +28 -28
  263. package/dist/src/utils/analytics-events.js +30 -30
  264. package/dist/src/utils/array-equals.d.ts +4 -4
  265. package/dist/src/utils/array-equals.js +10 -10
  266. package/dist/src/utils/collapse-repeated-quotes.d.ts +11 -11
  267. package/dist/src/utils/collapse-repeated-quotes.js +13 -13
  268. package/dist/src/utils/facet-utils.d.ts +83 -83
  269. package/dist/src/utils/facet-utils.js +145 -145
  270. package/dist/src/utils/facet-utils.js.map +1 -1
  271. package/dist/src/utils/format-count.d.ts +7 -7
  272. package/dist/src/utils/format-count.js +75 -76
  273. package/dist/src/utils/format-count.js.map +1 -1
  274. package/dist/src/utils/format-date.d.ts +2 -2
  275. package/dist/src/utils/format-date.js +27 -27
  276. package/dist/src/utils/format-date.js.map +1 -1
  277. package/dist/src/utils/format-unit-size.d.ts +2 -2
  278. package/dist/src/utils/format-unit-size.js +33 -33
  279. package/dist/src/utils/format-unit-size.js.map +1 -1
  280. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  281. package/dist/src/utils/local-date-from-utc.js +15 -15
  282. package/dist/src/utils/log.d.ts +7 -7
  283. package/dist/src/utils/log.js +13 -15
  284. package/dist/src/utils/log.js.map +1 -1
  285. package/dist/src/utils/resolve-mediatype.d.ts +8 -8
  286. package/dist/src/utils/resolve-mediatype.js +23 -23
  287. package/dist/src/utils/resolve-mediatype.js.map +1 -1
  288. package/dist/src/utils/sha1.d.ts +2 -2
  289. package/dist/src/utils/sha1.js +8 -8
  290. package/dist/test/collection-browser.test.d.ts +1 -1
  291. package/dist/test/collection-browser.test.js +1309 -1308
  292. package/dist/test/collection-browser.test.js.map +1 -1
  293. package/dist/test/collection-facets/facet-row.test.d.ts +1 -1
  294. package/dist/test/collection-facets/facet-row.test.js +230 -227
  295. package/dist/test/collection-facets/facet-row.test.js.map +1 -1
  296. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  297. package/dist/test/collection-facets/facets-template.test.js +91 -91
  298. package/dist/test/collection-facets/facets-template.test.js.map +1 -1
  299. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  300. package/dist/test/collection-facets/more-facets-content.test.js +140 -141
  301. package/dist/test/collection-facets/more-facets-content.test.js.map +1 -1
  302. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  303. package/dist/test/collection-facets/more-facets-pagination.test.js +116 -117
  304. package/dist/test/collection-facets/more-facets-pagination.test.js.map +1 -1
  305. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  306. package/dist/test/collection-facets/toggle-switch.test.js +82 -73
  307. package/dist/test/collection-facets/toggle-switch.test.js.map +1 -1
  308. package/dist/test/collection-facets.test.d.ts +2 -2
  309. package/dist/test/collection-facets.test.js +692 -692
  310. package/dist/test/collection-facets.test.js.map +1 -1
  311. package/dist/test/data-source/collection-browser-data-source.test.d.ts +1 -1
  312. package/dist/test/data-source/collection-browser-data-source.test.js +89 -89
  313. package/dist/test/data-source/collection-browser-data-source.test.js.map +1 -1
  314. package/dist/test/empty-placeholder.test.d.ts +1 -1
  315. package/dist/test/empty-placeholder.test.js +62 -63
  316. package/dist/test/empty-placeholder.test.js.map +1 -1
  317. package/dist/test/expanded-date-picker.test.d.ts +1 -1
  318. package/dist/test/expanded-date-picker.test.js +97 -96
  319. package/dist/test/expanded-date-picker.test.js.map +1 -1
  320. package/dist/test/icon-overlay.test.d.ts +1 -1
  321. package/dist/test/icon-overlay.test.js +23 -24
  322. package/dist/test/icon-overlay.test.js.map +1 -1
  323. package/dist/test/image-block.test.d.ts +1 -1
  324. package/dist/test/image-block.test.js +106 -107
  325. package/dist/test/image-block.test.js.map +1 -1
  326. package/dist/test/item-image.test.d.ts +1 -1
  327. package/dist/test/item-image.test.js +84 -85
  328. package/dist/test/item-image.test.js.map +1 -1
  329. package/dist/test/manage/manage-bar.test.d.ts +2 -2
  330. package/dist/test/manage/manage-bar.test.js +100 -101
  331. package/dist/test/manage/manage-bar.test.js.map +1 -1
  332. package/dist/test/manage/remove-items-modal-content.test.d.ts +1 -1
  333. package/dist/test/manage/remove-items-modal-content.test.js +44 -45
  334. package/dist/test/manage/remove-items-modal-content.test.js.map +1 -1
  335. package/dist/test/mediatype-config.test.d.ts +1 -1
  336. package/dist/test/mediatype-config.test.js +16 -16
  337. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  338. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  339. package/dist/test/mocks/mock-search-responses.d.ts +25 -25
  340. package/dist/test/mocks/mock-search-responses.js +942 -942
  341. package/dist/test/mocks/mock-search-responses.js.map +1 -1
  342. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  343. package/dist/test/mocks/mock-search-service.js +54 -54
  344. package/dist/test/mocks/mock-search-service.js.map +1 -1
  345. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  346. package/dist/test/restoration-state-handler.test.js +270 -270
  347. package/dist/test/restoration-state-handler.test.js.map +1 -1
  348. package/dist/test/review-block.test.d.ts +1 -1
  349. package/dist/test/review-block.test.js +43 -44
  350. package/dist/test/review-block.test.js.map +1 -1
  351. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  352. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  353. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js.map +1 -1
  354. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  355. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  356. package/dist/test/sort-filter-bar/alpha-bar.test.js.map +1 -1
  357. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  358. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +425 -426
  359. package/dist/test/sort-filter-bar/sort-filter-bar.test.js.map +1 -1
  360. package/dist/test/text-overlay.test.d.ts +1 -1
  361. package/dist/test/text-overlay.test.js +37 -38
  362. package/dist/test/text-overlay.test.js.map +1 -1
  363. package/dist/test/text-snippet-block.test.d.ts +1 -1
  364. package/dist/test/text-snippet-block.test.js +56 -57
  365. package/dist/test/text-snippet-block.test.js.map +1 -1
  366. package/dist/test/tile-stats.test.d.ts +1 -1
  367. package/dist/test/tile-stats.test.js +98 -99
  368. package/dist/test/tile-stats.test.js.map +1 -1
  369. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  370. package/dist/test/tiles/grid/account-tile.test.js +75 -76
  371. package/dist/test/tiles/grid/account-tile.test.js.map +1 -1
  372. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  373. package/dist/test/tiles/grid/collection-tile.test.js +72 -73
  374. package/dist/test/tiles/grid/collection-tile.test.js.map +1 -1
  375. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  376. package/dist/test/tiles/grid/item-tile.test.js +311 -312
  377. package/dist/test/tiles/grid/item-tile.test.js.map +1 -1
  378. package/dist/test/tiles/grid/search-tile.test.d.ts +1 -1
  379. package/dist/test/tiles/grid/search-tile.test.js +50 -51
  380. package/dist/test/tiles/grid/search-tile.test.js.map +1 -1
  381. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  382. package/dist/test/tiles/hover/hover-pane-controller.test.js +259 -259
  383. package/dist/test/tiles/hover/hover-pane-controller.test.js.map +1 -1
  384. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  385. package/dist/test/tiles/hover/tile-hover-pane.test.js +56 -56
  386. package/dist/test/tiles/hover/tile-hover-pane.test.js.map +1 -1
  387. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  388. package/dist/test/tiles/list/tile-list-compact.test.js +142 -143
  389. package/dist/test/tiles/list/tile-list-compact.test.js.map +1 -1
  390. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  391. package/dist/test/tiles/list/tile-list.test.js +296 -297
  392. package/dist/test/tiles/list/tile-list.test.js.map +1 -1
  393. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  394. package/dist/test/tiles/tile-dispatcher.test.js +100 -100
  395. package/dist/test/tiles/tile-dispatcher.test.js.map +1 -1
  396. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
  397. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  398. package/dist/test/utils/array-equals.test.d.ts +1 -1
  399. package/dist/test/utils/array-equals.test.js +26 -26
  400. package/dist/test/utils/format-count.test.d.ts +1 -1
  401. package/dist/test/utils/format-count.test.js +23 -23
  402. package/dist/test/utils/format-count.test.js.map +1 -1
  403. package/dist/test/utils/format-date.test.d.ts +1 -1
  404. package/dist/test/utils/format-date.test.js +30 -30
  405. package/dist/test/utils/format-date.test.js.map +1 -1
  406. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  407. package/dist/test/utils/format-unit-size.test.js +17 -17
  408. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  409. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  410. package/dist/test/utils/local-date-from-utc.test.js.map +1 -1
  411. package/eslint.config.mjs +53 -0
  412. package/index.html +0 -3
  413. package/local.archive.org.cert +86 -86
  414. package/local.archive.org.key +27 -27
  415. package/package.json +41 -39
  416. package/renovate.json +6 -6
  417. package/src/app-root.ts +33 -24
  418. package/src/collection-browser.ts +62 -53
  419. package/src/collection-facets/facets-template.ts +7 -6
  420. package/src/collection-facets/more-facets-content.ts +11 -13
  421. package/src/collection-facets/more-facets-pagination.ts +3 -2
  422. package/src/collection-facets/smart-facets/dedupe.ts +2 -2
  423. package/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.ts +1 -1
  424. package/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.ts +6 -6
  425. package/src/collection-facets/smart-facets/smart-facet-bar.ts +6 -8
  426. package/src/collection-facets/smart-facets/smart-facet-button.ts +5 -3
  427. package/src/collection-facets/smart-facets/smart-facet-dropdown.ts +4 -4
  428. package/src/collection-facets/smart-facets/smart-facet-heuristics.ts +1 -1
  429. package/src/collection-facets/toggle-switch.ts +2 -2
  430. package/src/collection-facets.ts +18 -19
  431. package/src/data-source/collection-browser-data-source-interface.ts +5 -1
  432. package/src/data-source/collection-browser-data-source.ts +42 -35
  433. package/src/empty-placeholder.ts +19 -16
  434. package/src/expanded-date-picker.ts +1 -1
  435. package/src/language-code-handler/language-code-handler.ts +1 -1
  436. package/src/manage/manage-bar.ts +23 -20
  437. package/src/manage/remove-items-modal-content.ts +2 -2
  438. package/src/mediatype/mediatype-config.ts +1 -0
  439. package/src/models.ts +3 -3
  440. package/src/restoration-state-handler.ts +14 -15
  441. package/src/sort-filter-bar/alpha-bar.ts +16 -17
  442. package/src/sort-filter-bar/sort-filter-bar.ts +14 -15
  443. package/src/tiles/grid/account-tile.ts +1 -1
  444. package/src/tiles/grid/collection-tile.ts +1 -1
  445. package/src/tiles/grid/item-tile.ts +9 -9
  446. package/src/tiles/grid/tile-stats.ts +4 -4
  447. package/src/tiles/hover/hover-pane-controller.ts +1 -1
  448. package/src/tiles/hover/tile-hover-pane.ts +4 -2
  449. package/src/tiles/item-image.ts +1 -1
  450. package/src/tiles/list/tile-list-compact.ts +2 -2
  451. package/src/tiles/list/tile-list.ts +22 -24
  452. package/src/tiles/tile-dispatcher.ts +5 -5
  453. package/src/tiles/tile-display-value-provider.ts +4 -4
  454. package/src/utils/facet-utils.ts +6 -6
  455. package/src/utils/format-count.ts +2 -3
  456. package/src/utils/format-date.ts +1 -1
  457. package/src/utils/format-unit-size.ts +1 -1
  458. package/src/utils/log.ts +1 -3
  459. package/test/collection-browser.test.ts +135 -134
  460. package/test/collection-facets/facet-row.test.ts +31 -28
  461. package/test/collection-facets/facets-template.test.ts +9 -9
  462. package/test/collection-facets/more-facets-content.test.ts +14 -15
  463. package/test/collection-facets/more-facets-pagination.test.ts +18 -19
  464. package/test/collection-facets/toggle-switch.test.ts +28 -18
  465. package/test/collection-facets.test.ts +46 -39
  466. package/test/data-source/collection-browser-data-source.test.ts +2 -2
  467. package/test/empty-placeholder.test.ts +6 -7
  468. package/test/expanded-date-picker.test.ts +25 -20
  469. package/test/icon-overlay.test.ts +0 -1
  470. package/test/image-block.test.ts +6 -7
  471. package/test/item-image.test.ts +0 -1
  472. package/test/manage/manage-bar.test.ts +19 -16
  473. package/test/manage/remove-items-modal-content.test.ts +4 -5
  474. package/test/mocks/mock-search-responses.ts +2 -1
  475. package/test/mocks/mock-search-service.ts +1 -1
  476. package/test/restoration-state-handler.test.ts +12 -12
  477. package/test/review-block.test.ts +1 -2
  478. package/test/sort-filter-bar/alpha-bar-tooltip.test.ts +1 -1
  479. package/test/sort-filter-bar/alpha-bar.test.ts +5 -5
  480. package/test/sort-filter-bar/sort-filter-bar.test.ts +38 -39
  481. package/test/text-overlay.test.ts +0 -1
  482. package/test/text-snippet-block.test.ts +5 -6
  483. package/test/tile-stats.test.ts +26 -35
  484. package/test/tiles/grid/account-tile.test.ts +2 -3
  485. package/test/tiles/grid/collection-tile.test.ts +3 -4
  486. package/test/tiles/grid/item-tile.test.ts +13 -14
  487. package/test/tiles/grid/search-tile.test.ts +1 -2
  488. package/test/tiles/hover/hover-pane-controller.test.ts +15 -15
  489. package/test/tiles/hover/tile-hover-pane.test.ts +5 -5
  490. package/test/tiles/list/tile-list-compact.test.ts +1 -2
  491. package/test/tiles/list/tile-list.test.ts +10 -11
  492. package/test/tiles/tile-dispatcher.test.ts +5 -5
  493. package/test/utils/format-count.test.ts +1 -1
  494. package/test/utils/format-date.test.ts +1 -1
  495. package/test/utils/local-date-from-utc.test.ts +1 -1
  496. package/tsconfig.json +0 -1
  497. package/web-dev-server.config.mjs +30 -30
  498. package/web-test-runner.config.mjs +41 -41
@@ -1,89 +1,93 @@
1
- import { __decorate } from "tslib";
2
- /* eslint-disable no-console */
3
- import { AnalyticsManager, } from '@internetarchive/analytics-manager';
4
- import { SearchService, SearchType, StringField, } from '@internetarchive/search-service';
5
- import { html, css, LitElement, nothing } from 'lit';
6
- import { customElement, property, query, state } from 'lit/decorators.js';
7
- import { SharedResizeObserver } from '@internetarchive/shared-resize-observer';
8
- import '../src/collection-browser';
9
- let AppRoot = class AppRoot extends LitElement {
10
- constructor() {
11
- super(...arguments);
12
- this.searchService = this.initSearchServiceFromUrlParams();
13
- this.resizeObserver = new SharedResizeObserver();
14
- this.toggleSlots = false;
15
- this.cellWidth = 18;
16
- this.cellHeight = 29;
17
- this.rowGap = 1.7;
18
- this.colGap = 1.7;
19
- this.suppressFacets = false;
20
- this.lazyLoadFacets = false;
21
- this.loggedIn = false;
22
- this.searchType = SearchType.METADATA;
23
- this.analyticsManager = new AnalyticsManager();
24
- this.analyticsHandler = {
25
- sendPing: this.sendAnalytics.bind(this),
26
- sendEvent: this.sendAnalytics.bind(this),
27
- sendEventNoSampling: this.sendAnalytics.bind(this),
28
- };
29
- }
30
- sendAnalytics(ae) {
31
- var _a;
32
- console.log('Analytics Received ----', ae);
33
- this.latestAction = ae;
34
- (_a = this.analyticsManager) === null || _a === void 0 ? void 0 : _a.sendEvent(ae);
35
- }
36
- initSearchServiceFromUrlParams() {
37
- var _a, _b, _c;
38
- const params = new URL(window.location.href).searchParams;
39
- return new SearchService({
40
- includeCredentials: false,
41
- baseUrl: (_a = params.get('search_base_url')) !== null && _a !== void 0 ? _a : undefined,
42
- servicePath: (_b = params.get('search_service_path')) !== null && _b !== void 0 ? _b : undefined,
43
- debuggingEnabled: (_c = !!params.get('debugging')) !== null && _c !== void 0 ? _c : undefined,
44
- });
45
- }
46
- searchPressed(e) {
47
- e.preventDefault();
48
- this.searchQuery = this.baseQueryField.value;
49
- this.collectionBrowser.searchType = this.searchType;
50
- this.goToCurrentPage();
51
- }
52
- collectionChanged(e) {
53
- e.preventDefault();
54
- this.withinCollection = this.baseCollectionField.value;
55
- this.collectionBrowser.withinCollection = this.withinCollection;
56
- this.goToCurrentPage();
57
- }
58
- goToCurrentPage() {
59
- var _a;
60
- const page = (_a = this.currentPage) !== null && _a !== void 0 ? _a : 1;
61
- if (page > 1) {
62
- this.collectionBrowser.goToPage(page);
63
- }
64
- }
65
- changePagePressed(e) {
66
- e.preventDefault();
67
- this.currentPage = this.pageNumberInput.valueAsNumber;
68
- this.collectionBrowser.goToPage(this.currentPage);
69
- }
70
- updated(changed) {
71
- if (changed.has('currentPage') && this.currentPage) {
72
- this.pageNumberInput.value = this.currentPage.toString();
73
- }
74
- if (changed.has('searchQuery')) {
75
- this.queryUpdated();
76
- }
77
- }
78
- queryUpdated() {
79
- this.collectionBrowser.baseQuery = this.searchQuery;
80
- }
81
- get getClass() {
82
- const searchParams = new URLSearchParams(window.location.search);
83
- return searchParams.get('hide-dev-tools') ? 'hidden' : '';
84
- }
85
- render() {
86
- var _a, _b;
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
+ import { StringField } from '@internetarchive/iaux-item-metadata';
9
+ let AppRoot = class AppRoot extends LitElement {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.searchService = this.initSearchServiceFromUrlParams();
13
+ this.resizeObserver = new SharedResizeObserver();
14
+ this.toggleSlots = false;
15
+ this.cellWidth = 18;
16
+ this.cellHeight = 29;
17
+ this.rowGap = 1.7;
18
+ this.colGap = 1.7;
19
+ this.suppressFacets = false;
20
+ this.lazyLoadFacets = false;
21
+ this.loggedIn = false;
22
+ this.searchType = SearchType.METADATA;
23
+ this.analyticsManager = new AnalyticsManager();
24
+ this.analyticsHandler = {
25
+ sendPing: this.sendAnalytics.bind(this),
26
+ sendEvent: this.sendAnalytics.bind(this),
27
+ sendEventNoSampling: this.sendAnalytics.bind(this),
28
+ };
29
+ }
30
+ sendAnalytics(ae) {
31
+ var _a;
32
+ console.log('Analytics Received ----', ae);
33
+ this.latestAction = ae;
34
+ (_a = this.analyticsManager) === null || _a === void 0 ? void 0 : _a.sendEvent(ae);
35
+ }
36
+ initSearchServiceFromUrlParams() {
37
+ var _a, _b;
38
+ const params = new URL(window.location.href).searchParams;
39
+ return new SearchService({
40
+ includeCredentials: false,
41
+ baseUrl: (_a = params.get('search_base_url')) !== null && _a !== void 0 ? _a : undefined,
42
+ servicePath: (_b = params.get('search_service_path')) !== null && _b !== void 0 ? _b : undefined,
43
+ debuggingEnabled: !!params.get('debugging'),
44
+ });
45
+ }
46
+ searchPressed(e) {
47
+ e.preventDefault();
48
+ this.searchQuery = this.baseQueryField.value;
49
+ this.collectionBrowser.searchType = this.searchType;
50
+ this.goToCurrentPage();
51
+ }
52
+ collectionChanged(e) {
53
+ e.preventDefault();
54
+ this.withinCollection = this.baseCollectionField.value;
55
+ this.collectionBrowser.withinCollection = this.withinCollection;
56
+ this.goToCurrentPage();
57
+ }
58
+ goToCurrentPage() {
59
+ var _a;
60
+ const page = (_a = this.currentPage) !== null && _a !== void 0 ? _a : 1;
61
+ if (page > 1) {
62
+ this.collectionBrowser.goToPage(page);
63
+ }
64
+ }
65
+ changePagePressed(e) {
66
+ e.preventDefault();
67
+ this.currentPage = this.pageNumberInput.valueAsNumber;
68
+ this.collectionBrowser.goToPage(this.currentPage);
69
+ }
70
+ updated(changed) {
71
+ if (changed.has('currentPage') && this.currentPage) {
72
+ this.pageNumberInput.value = this.currentPage.toString();
73
+ }
74
+ if (changed.has('searchQuery')) {
75
+ this.queryUpdated();
76
+ }
77
+ }
78
+ queryUpdated() {
79
+ this.collectionBrowser.baseQuery = this.searchQuery;
80
+ }
81
+ get getClass() {
82
+ const searchParams = new URLSearchParams(window.location.search);
83
+ return searchParams.get('hide-dev-tools') ? 'hidden' : '';
84
+ }
85
+ get manageViewMode() {
86
+ const searchParams = new URLSearchParams(window.location.search);
87
+ return searchParams.get('manage') ? 'initial' : '';
88
+ }
89
+ render() {
90
+ var _a, _b;
87
91
  return html `
88
92
  <div class="dev-tool-container">
89
93
  <div id="dev-tools" class=${this.getClass}>
@@ -143,21 +147,21 @@ let AppRoot = class AppRoot extends LitElement {
143
147
 
144
148
  <div id="toggle-controls">
145
149
  <button
146
- @click=${() => {
147
- var _a, _b;
148
- const details = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('cell-size-control');
149
- details === null || details === void 0 ? void 0 : details.classList.toggle('hidden');
150
- const rowGapControls = (_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.getElementById('cell-gap-control');
151
- rowGapControls === null || rowGapControls === void 0 ? void 0 : rowGapControls.classList.toggle('hidden');
150
+ @click=${() => {
151
+ var _a, _b;
152
+ const details = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('cell-size-control');
153
+ details === null || details === void 0 ? void 0 : details.classList.toggle('hidden');
154
+ const rowGapControls = (_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.getElementById('cell-gap-control');
155
+ rowGapControls === null || rowGapControls === void 0 ? void 0 : rowGapControls.classList.toggle('hidden');
152
156
  }}
153
157
  >
154
158
  Toggle Cell Controls
155
159
  </button>
156
160
  <button
157
- @click=${() => {
158
- var _a;
159
- const details = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('latest-event-details');
160
- details === null || details === void 0 ? void 0 : details.classList.toggle('hidden');
161
+ @click=${() => {
162
+ var _a;
163
+ const details = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('latest-event-details');
164
+ details === null || details === void 0 ? void 0 : details.classList.toggle('hidden');
161
165
  }}
162
166
  >
163
167
  Last Event Captured
@@ -430,6 +434,7 @@ let AppRoot = class AppRoot extends LitElement {
430
434
  .modalManager=${this.modalManager}
431
435
  .analyticsHandler=${this.analyticsHandler}
432
436
  .pageContext=${'search'}
437
+ .manageViewMode=${this.manageViewMode}
433
438
  @visiblePageChanged=${this.visiblePageChanged}
434
439
  @baseQueryChanged=${this.baseQueryChanged}
435
440
  @searchTypeChanged=${this.searchTypeChanged}
@@ -437,387 +442,392 @@ let AppRoot = class AppRoot extends LitElement {
437
442
  @itemRemovalRequested=${this.handleItemRemovalRequest}
438
443
  @itemManagerRequested=${this.handleItemManagerRequest}
439
444
  >
440
- ${this.toggleSlots
441
- ? html `<div slot="sortbar-left-slot">Sort Slot</div>`
445
+ ${this.toggleSlots
446
+ ? html `<div slot="sortbar-left-slot">Sort Slot</div>`
442
447
  : nothing}
443
- ${this.toggleSlots
444
- ? html `<div slot="facet-top-slot">Facet Slot</div>`
448
+ ${this.toggleSlots
449
+ ? html `<div slot="facet-top-slot">Facet Slot</div>`
445
450
  : nothing}
446
451
  </collection-browser>
447
452
  </div>
448
453
  <modal-manager></modal-manager>
449
- `;
450
- }
451
- async setPlaceholderType(type) {
452
- switch (type) {
453
- case 'loading-placeholder':
454
- this.collectionBrowser.baseQuery = '';
455
- this.collectionBrowser.suppressPlaceholders = true;
456
- this.collectionBrowser.clearResultsOnEmptyQuery = true;
457
- this.requestUpdate();
458
- await this.collectionBrowser.updateComplete;
459
- break;
460
- default:
461
- break;
462
- }
463
- }
464
- baseQueryChanged(e) {
465
- this.searchQuery = e.detail.baseQuery;
466
- }
467
- /** Handler for search type changes coming from collection browser */
468
- searchTypeChanged(e) {
469
- this.searchType = e.detail;
470
- }
471
- /** Handler for user input selecting a search type */
472
- searchTypeSelected(e) {
473
- const target = e.target;
474
- this.searchType =
475
- target.value === 'fulltext' ? SearchType.FULLTEXT : SearchType.METADATA;
476
- }
477
- loginChanged(e) {
478
- const target = e.target;
479
- if (target.checked) {
480
- this.loggedIn = true;
481
- }
482
- else {
483
- this.loggedIn = false;
484
- }
485
- }
486
- outlineChanged(e) {
487
- const target = e.target;
488
- if (target.checked) {
489
- this.collectionBrowser.style.setProperty('--infiniteScrollerCellOutline', '1px solid #33D1FF');
490
- }
491
- else {
492
- this.collectionBrowser.style.removeProperty('--infiniteScrollerCellOutline');
493
- }
494
- }
495
- toggleDevTools() {
496
- var _a, _b;
497
- const pageUrl = new URL(window.location.href);
498
- const { searchParams } = pageUrl;
499
- if (searchParams.get('hide-dev-tools')) {
500
- searchParams.delete('hide-dev-tools');
501
- }
502
- else {
503
- searchParams.set('hide-dev-tools', 'true');
504
- }
505
- (_b = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('dev-tools')) === null || _b === void 0 ? void 0 : _b.classList.toggle('hidden');
506
- if (window.history.replaceState) {
507
- window.history.replaceState({
508
- path: pageUrl.toString(),
509
- }, '', pageUrl.toString());
510
- }
511
- }
512
- toggleFacetGroupOutline(e) {
513
- const target = e.target;
514
- if (target.checked) {
515
- this.collectionBrowser.classList.add('showFacetGroupOutlines');
516
- this.modalManager.classList.add('showFacetGroupOutlines');
517
- }
518
- else {
519
- this.collectionBrowser.classList.remove('showFacetGroupOutlines');
520
- this.modalManager.classList.remove('showFacetGroupOutlines');
521
- }
522
- }
523
- async snippetsChanged(e) {
524
- const target = e.target;
525
- if (target.checked) {
526
- // Decorate the default search service with a wrapper that adds
527
- // dummy snippets to any successful searches
528
- this.searchService = {
529
- async search(params, searchType) {
530
- var _a;
531
- const searchResponse = await SearchService.default.search(params, searchType);
532
- (_a = searchResponse.success) === null || _a === void 0 ? void 0 : _a.response.results.forEach(result => {
533
- Object.defineProperty(result, 'highlight', {
534
- value: new StringField([
535
- 'this is a text {{{snippet}}} block with potentially',
536
- 'multiple {{{snippets}}} and such',
537
- 'but the {{{snippet}}} block may be quite long perhaps',
538
- 'depending on how many {{{snippet}}} matches there are',
539
- 'there may be multiple lines of {{{snippets}}} to show',
540
- 'but each {{{snippet}}} should be relatively short',
541
- 'and {{{snippets}}} are each a {{{snippet}}} of text',
542
- 'but every {{{snippet}}} might have multiple matches',
543
- 'the {{{snippets}}} should be separated and surrounded by ellipses',
544
- ]),
545
- });
546
- });
547
- return searchResponse;
548
- },
549
- };
550
- }
551
- else {
552
- // Restore the default seach service
553
- this.searchService = SearchService.default;
554
- }
555
- // Re-perform the current search to show/hide the snippets immediately
556
- this.reperformCurrentSearch();
557
- }
558
- async reviewsChanged(e) {
559
- const target = e.target;
560
- if (target.checked) {
561
- // Decorate the default search service with a wrapper that adds
562
- // dummy reviews to any successful searches
563
- this.searchService = {
564
- async search(params, searchType) {
565
- var _a;
566
- const searchResponse = await SearchService.default.search(params, searchType);
567
- (_a = searchResponse.success) === null || _a === void 0 ? void 0 : _a.response.results.forEach((result, i) => {
568
- Object.defineProperty(result, 'review', {
569
- value: {
570
- title: 'My Great Review',
571
- body: "This item is really great and that's why I'm leaving this review on it and giving it so many star...",
572
- stars: (i + 3) % 6,
573
- },
574
- });
575
- });
576
- return searchResponse;
577
- },
578
- };
579
- }
580
- else {
581
- // Restore the default seach service
582
- this.searchService = SearchService.default;
583
- }
584
- // Re-perform the current search to show/hide the reviews immediately
585
- this.reperformCurrentSearch();
586
- }
587
- async reperformCurrentSearch() {
588
- const oldQuery = this.searchQuery;
589
- this.searchQuery = '-'; // Should just reset to the placeholder
590
- await this.updateComplete;
591
- // For unclear reasons, Safari refuses to re-apply the old query until the next tick, hence:
592
- await new Promise(res => {
593
- setTimeout(res, 0);
594
- });
595
- this.searchQuery = oldQuery; // Re-apply the original query
596
- }
597
- datePickerChanged(e) {
598
- const target = e.target;
599
- this.collectionBrowser.showHistogramDatePicker = target.checked;
600
- // When disabling the date picker from the demo app, also clear any existing date range params
601
- if (!this.collectionBrowser.showHistogramDatePicker) {
602
- this.collectionBrowser.minSelectedDate = undefined;
603
- this.collectionBrowser.maxSelectedDate = undefined;
604
- }
605
- }
606
- facetsChanged(e) {
607
- const target = e.target;
608
- this.suppressFacets = !target.checked;
609
- }
610
- lazyLoadFacetsChanged(e) {
611
- const target = e.target;
612
- this.lazyLoadFacets = target.checked;
613
- }
614
- /**
615
- * Handler for when collection browser's manage mode changes.
616
- * This lets us disable the checkbox in the dev panel when the user cancels out
617
- * of manage mode from within collection browser.
618
- */
619
- manageModeChanged(e) {
620
- var _a;
621
- const manageCheckbox = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#enable-management');
622
- if (manageCheckbox)
623
- manageCheckbox.checked = e.detail;
624
- }
625
- /**
626
- * Handler for item removal
627
- */
628
- handleItemRemovalRequest(e) {
629
- this.collectionBrowser.showRemoveItemsProcessingModal();
630
- console.log('itemRemovalRequested: ', e.detail.items);
631
- setTimeout(() => {
632
- var _a, _b;
633
- // execute item-removal-service, and response is successfully deleted
634
- const status = false;
635
- if (status) {
636
- // looking for success?
637
- this.collectionBrowser.isManageView = false;
638
- (_a = this.modalManager) === null || _a === void 0 ? void 0 : _a.closeModal();
639
- (_b = this.modalManager) === null || _b === void 0 ? void 0 : _b.classList.remove('remove-items');
640
- }
641
- else {
642
- // looking for failure?
643
- this.collectionBrowser.showRemoveItemsErrorModal();
644
- }
645
- }, 2000); // let's wait to see processing modal
646
- }
647
- /**
648
- * Handler when item manage requested
649
- */
650
- handleItemManagerRequest(e) {
651
- console.log('itemManagerRequested: ', e.detail.items);
652
- }
653
- /**
654
- * Handler for when the dev panel's "Enable manage mode" checkbox is changed.
655
- */
656
- manageModeCheckboxChanged(e) {
657
- const target = e.target;
658
- this.collectionBrowser.isManageView = target.checked;
659
- this.collectionBrowser.manageViewLabel =
660
- 'Select items to remove (customizable texts)';
661
- }
662
- /**
663
- * Handler when the dev panel's "Enable manage mode -> Search" checkbox is changed.
664
- */
665
- SearchManageModeCheckboxChanged(e) {
666
- const target = e.target;
667
- this.collectionBrowser.pageContext = target.checked
668
- ? 'search'
669
- : 'collection';
670
- }
671
- /**
672
- * Handler for when the dev panel's "Enable smart facet bar" checkbox is changed.
673
- */
674
- smartFacetBarCheckboxChanged(e) {
675
- const target = e.target;
676
- this.collectionBrowser.showSmartFacetBar = target.checked;
677
- }
678
- /**
679
- * Handler for when the dev panel's "Show facet top slot" checkbox is changed.
680
- */
681
- facetTopSlotCheckboxChanged(e) {
682
- const target = e.target;
683
- const p = document.createElement('p');
684
- p.style.setProperty('border', '1px solid #000');
685
- p.textContent = 'New stuff as a child.';
686
- p.style.setProperty('height', '20rem');
687
- p.style.backgroundColor = '#00000';
688
- p.setAttribute('slot', 'facet-top-slot');
689
- if (target.checked) {
690
- this.collectionBrowser.appendChild(p);
691
- }
692
- else {
693
- this.collectionBrowser.removeChild(this.collectionBrowser.lastElementChild);
694
- }
695
- }
696
- toggleSlotOptions() {
697
- this.toggleSlots = !this.toggleSlots;
698
- }
699
- resultLastTileSlotCheckboxChanged(e) {
700
- const target = e.target;
701
- const div = document.createElement('div');
702
- const title = document.createElement('h3');
703
- title.textContent = 'Upload';
704
- div.setAttribute('slot', 'result-last-tile');
705
- div.setAttribute('class', 'result-last-tile');
706
- div.appendChild(title);
707
- if (target.checked) {
708
- this.collectionBrowser.appendChild(div);
709
- }
710
- else {
711
- this.collectionBrowser.removeChild(this.collectionBrowser.lastElementChild);
712
- }
713
- }
714
- /**
715
- * Handler for when the dev panel's "Show cb top slot" checkbox is changed.
716
- */
717
- cbTopSlotCheckboxChanged(e) {
718
- const target = e.target;
719
- const p = document.createElement('p');
720
- p.style.setProperty('border', '1px solid #000');
721
- p.textContent = 'My Favorite list header.';
722
- p.style.setProperty('height', '10rem');
723
- p.style.backgroundColor = '#00000';
724
- p.setAttribute('slot', 'cb-top-slot');
725
- if (target.checked) {
726
- this.collectionBrowser.appendChild(p);
727
- }
728
- else {
729
- this.collectionBrowser.removeChild(this.collectionBrowser.lastElementChild);
730
- }
731
- }
732
- /**
733
- * Handler for when the dev panel's "Show sort bar top left slot" checkbox is changed.
734
- */
735
- sortBarLeftSlotCheckboxChanged(e) {
736
- const target = e.target;
737
- if (target.checked) {
738
- const div = document.createElement('div');
739
- div.style.setProperty('border', '1px solid #000');
740
- div.textContent = 'Btn';
741
- div.style.setProperty('height', '3rem');
742
- div.style.setProperty('width', '3rem');
743
- div.setAttribute('slot', 'sort-options-left');
744
- this.collectionBrowser.appendChild(div);
745
- }
746
- else {
747
- const slottedEl = this.collectionBrowser.querySelector('[slot="sort-options-left"]');
748
- if (slottedEl)
749
- this.collectionBrowser.removeChild(slottedEl);
750
- }
751
- }
752
- /**
753
- * Handler for when the dev panel's "Show sort bar top right slot" checkbox is changed.
754
- */
755
- sortBarRightSlotCheckboxChanged(e) {
756
- const target = e.target;
757
- if (target.checked) {
758
- const div = document.createElement('div');
759
- div.style.setProperty('border', '1px solid #000');
760
- div.textContent = 'Search bar';
761
- div.style.setProperty('height', '3rem');
762
- div.style.setProperty('width', '15rem');
763
- div.setAttribute('slot', 'sort-options-right');
764
- this.collectionBrowser.appendChild(div);
765
- }
766
- else {
767
- const slottedEl = this.collectionBrowser.querySelector('[slot="sort-options-right"]');
768
- if (slottedEl)
769
- this.collectionBrowser.removeChild(slottedEl);
770
- }
771
- }
772
- rowGapChanged(e) {
773
- const input = e.target;
774
- this.rowGap = parseFloat(input.value);
775
- this.collectionBrowser.style.setProperty('--collectionBrowserRowGap', `${input.value}rem`);
776
- }
777
- colGapChanged(e) {
778
- const input = e.target;
779
- this.colGap = parseFloat(input.value);
780
- this.collectionBrowser.style.setProperty('--collectionBrowserColGap', `${input.value}rem`);
781
- }
782
- widthChanged(e) {
783
- const input = e.target;
784
- this.cellWidth = parseFloat(input.value);
785
- this.collectionBrowser.style.setProperty('--collectionBrowserCellMinWidth', `${input.value}rem`);
786
- }
787
- heightChanged(e) {
788
- const input = e.target;
789
- this.cellHeight = parseFloat(input.value);
790
- this.collectionBrowser.style.setProperty('--collectionBrowserCellMinHeight', `${input.value}rem`);
791
- this.collectionBrowser.style.setProperty('--collectionBrowserCellMaxHeight', `${input.value}rem`);
792
- }
793
- visiblePageChanged(e) {
794
- const { pageNumber } = e.detail;
795
- if (pageNumber === this.currentPage)
796
- return;
797
- this.currentPage = pageNumber;
798
- }
799
- /**
800
- * Handler for when the dev panel's "Replace sort options" checkbox is changed.
801
- */
802
- replaceSortOptionsChanged(e) {
803
- const target = e.target;
804
- if (target.checked) {
805
- const p = document.createElement('p');
806
- p.style.setProperty('border', '1px solid #000');
807
- p.textContent = 'New stuff as a child.';
808
- p.style.setProperty('height', '20px');
809
- p.setAttribute('slot', 'sort-options');
810
- this.collectionBrowser.appendChild(p);
811
- this.collectionBrowser.enableSortOptionsSlot = true;
812
- }
813
- else {
814
- const slottedEl = this.collectionBrowser.querySelector('[slot="sort-options"]');
815
- if (slottedEl)
816
- this.collectionBrowser.removeChild(slottedEl);
817
- this.collectionBrowser.enableSortOptionsSlot = false;
818
- }
819
- }
820
- };
454
+ `;
455
+ }
456
+ async setPlaceholderType(type) {
457
+ switch (type) {
458
+ case 'loading-placeholder':
459
+ this.collectionBrowser.baseQuery = '';
460
+ this.collectionBrowser.suppressPlaceholders = true;
461
+ this.collectionBrowser.clearResultsOnEmptyQuery = true;
462
+ this.requestUpdate();
463
+ await this.collectionBrowser.updateComplete;
464
+ break;
465
+ default:
466
+ break;
467
+ }
468
+ }
469
+ baseQueryChanged(e) {
470
+ this.searchQuery = e.detail.baseQuery;
471
+ }
472
+ /** Handler for search type changes coming from collection browser */
473
+ searchTypeChanged(e) {
474
+ this.searchType = e.detail;
475
+ }
476
+ /** Handler for user input selecting a search type */
477
+ searchTypeSelected(e) {
478
+ const target = e.target;
479
+ this.searchType =
480
+ target.value === 'fulltext' ? SearchType.FULLTEXT : SearchType.METADATA;
481
+ }
482
+ loginChanged(e) {
483
+ const target = e.target;
484
+ if (target.checked) {
485
+ this.loggedIn = true;
486
+ }
487
+ else {
488
+ this.loggedIn = false;
489
+ }
490
+ }
491
+ outlineChanged(e) {
492
+ const target = e.target;
493
+ if (target.checked) {
494
+ this.collectionBrowser.style.setProperty('--infiniteScrollerCellOutline', '1px solid #33D1FF');
495
+ }
496
+ else {
497
+ this.collectionBrowser.style.removeProperty('--infiniteScrollerCellOutline');
498
+ }
499
+ }
500
+ toggleDevTools() {
501
+ var _a, _b;
502
+ const pageUrl = new URL(window.location.href);
503
+ const { searchParams } = pageUrl;
504
+ if (searchParams.get('hide-dev-tools')) {
505
+ searchParams.delete('hide-dev-tools');
506
+ }
507
+ else {
508
+ searchParams.set('hide-dev-tools', 'true');
509
+ }
510
+ (_b = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('dev-tools')) === null || _b === void 0 ? void 0 : _b.classList.toggle('hidden');
511
+ if (window.history.replaceState) {
512
+ window.history.replaceState({
513
+ path: pageUrl.toString(),
514
+ }, '', pageUrl.toString());
515
+ }
516
+ }
517
+ toggleFacetGroupOutline(e) {
518
+ const target = e.target;
519
+ if (target.checked) {
520
+ this.collectionBrowser.classList.add('showFacetGroupOutlines');
521
+ this.modalManager.classList.add('showFacetGroupOutlines');
522
+ }
523
+ else {
524
+ this.collectionBrowser.classList.remove('showFacetGroupOutlines');
525
+ this.modalManager.classList.remove('showFacetGroupOutlines');
526
+ }
527
+ }
528
+ async snippetsChanged(e) {
529
+ const target = e.target;
530
+ if (target.checked) {
531
+ // Decorate the default search service with a wrapper that adds
532
+ // dummy snippets to any successful searches
533
+ this.searchService = {
534
+ async search(params, searchType) {
535
+ var _a;
536
+ const searchResponse = await SearchService.default.search(params, searchType);
537
+ (_a = searchResponse.success) === null || _a === void 0 ? void 0 : _a.response.results.forEach(result => {
538
+ Object.defineProperty(result, 'highlight', {
539
+ value: new StringField([
540
+ 'this is a text {{{snippet}}} block with potentially',
541
+ 'multiple {{{snippets}}} and such',
542
+ 'but the {{{snippet}}} block may be quite long perhaps',
543
+ 'depending on how many {{{snippet}}} matches there are',
544
+ 'there may be multiple lines of {{{snippets}}} to show',
545
+ 'but each {{{snippet}}} should be relatively short',
546
+ 'and {{{snippets}}} are each a {{{snippet}}} of text',
547
+ 'but every {{{snippet}}} might have multiple matches',
548
+ 'the {{{snippets}}} should be separated and surrounded by ellipses',
549
+ ]),
550
+ });
551
+ });
552
+ return searchResponse;
553
+ },
554
+ };
555
+ }
556
+ else {
557
+ // Restore the default seach service
558
+ this.searchService = SearchService.default;
559
+ }
560
+ // Re-perform the current search to show/hide the snippets immediately
561
+ this.reperformCurrentSearch();
562
+ }
563
+ async reviewsChanged(e) {
564
+ const target = e.target;
565
+ if (target.checked) {
566
+ // Decorate the default search service with a wrapper that adds
567
+ // dummy reviews to any successful searches
568
+ this.searchService = {
569
+ async search(params, searchType) {
570
+ var _a;
571
+ const searchResponse = await SearchService.default.search(params, searchType);
572
+ (_a = searchResponse.success) === null || _a === void 0 ? void 0 : _a.response.results.forEach((result, i) => {
573
+ Object.defineProperty(result, 'review', {
574
+ value: {
575
+ title: 'My Great Review',
576
+ body: "This item is really great and that's why I'm leaving this review on it and giving it so many star...",
577
+ stars: (i + 3) % 6,
578
+ },
579
+ });
580
+ });
581
+ return searchResponse;
582
+ },
583
+ };
584
+ }
585
+ else {
586
+ // Restore the default seach service
587
+ this.searchService = SearchService.default;
588
+ }
589
+ // Re-perform the current search to show/hide the reviews immediately
590
+ this.reperformCurrentSearch();
591
+ }
592
+ async reperformCurrentSearch() {
593
+ const oldQuery = this.searchQuery;
594
+ this.searchQuery = '-'; // Should just reset to the placeholder
595
+ await this.updateComplete;
596
+ // For unclear reasons, Safari refuses to re-apply the old query until the next tick, hence:
597
+ await new Promise(res => {
598
+ setTimeout(res, 0);
599
+ });
600
+ this.searchQuery = oldQuery; // Re-apply the original query
601
+ }
602
+ datePickerChanged(e) {
603
+ const target = e.target;
604
+ this.collectionBrowser.showHistogramDatePicker = target.checked;
605
+ // When disabling the date picker from the demo app, also clear any existing date range params
606
+ if (!this.collectionBrowser.showHistogramDatePicker) {
607
+ this.collectionBrowser.minSelectedDate = undefined;
608
+ this.collectionBrowser.maxSelectedDate = undefined;
609
+ }
610
+ }
611
+ facetsChanged(e) {
612
+ const target = e.target;
613
+ this.suppressFacets = !target.checked;
614
+ }
615
+ lazyLoadFacetsChanged(e) {
616
+ const target = e.target;
617
+ this.lazyLoadFacets = target.checked;
618
+ }
619
+ /**
620
+ * Handler for when collection browser's manage mode changes.
621
+ * This lets us disable the checkbox in the dev panel when the user cancels out
622
+ * of manage mode from within collection browser.
623
+ */
624
+ manageModeChanged(e) {
625
+ var _a;
626
+ const manageCheckbox = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#enable-management');
627
+ if (manageCheckbox)
628
+ manageCheckbox.checked = e.detail;
629
+ }
630
+ /**
631
+ * Handler for item removal
632
+ */
633
+ handleItemRemovalRequest(e) {
634
+ this.collectionBrowser.showRemoveItemsProcessingModal();
635
+ console.log('itemRemovalRequested: ', e.detail.items);
636
+ setTimeout(() => {
637
+ var _a, _b;
638
+ // execute item-removal-service, and response is successfully deleted
639
+ const status = false;
640
+ if (status) {
641
+ // looking for success?
642
+ this.collectionBrowser.manageViewMode = '';
643
+ (_a = this.modalManager) === null || _a === void 0 ? void 0 : _a.closeModal();
644
+ (_b = this.modalManager) === null || _b === void 0 ? void 0 : _b.classList.remove('remove-items');
645
+ }
646
+ else {
647
+ // looking for failure?
648
+ this.collectionBrowser.showRemoveItemsErrorModal();
649
+ }
650
+ }, 2000); // let's wait to see processing modal
651
+ }
652
+ /**
653
+ * Handler when item manage requested
654
+ */
655
+ handleItemManagerRequest(e) {
656
+ console.log('itemManagerRequested: ', e.detail.items);
657
+ }
658
+ /**
659
+ * Handler for when the dev panel's "Enable manage mode" checkbox is changed.
660
+ */
661
+ manageModeCheckboxChanged(e) {
662
+ const target = e.target;
663
+ if (target.checked) {
664
+ this.collectionBrowser.manageViewMode = 'manual';
665
+ }
666
+ else {
667
+ this.collectionBrowser.manageViewMode = '';
668
+ }
669
+ this.collectionBrowser.manageViewLabel =
670
+ 'Select items to remove (customizable texts)';
671
+ }
672
+ /**
673
+ * Handler when the dev panel's "Enable manage mode -> Search" checkbox is changed.
674
+ */
675
+ SearchManageModeCheckboxChanged(e) {
676
+ const target = e.target;
677
+ this.collectionBrowser.pageContext = target.checked
678
+ ? 'search'
679
+ : 'collection';
680
+ }
681
+ /**
682
+ * Handler for when the dev panel's "Enable smart facet bar" checkbox is changed.
683
+ */
684
+ smartFacetBarCheckboxChanged(e) {
685
+ const target = e.target;
686
+ this.collectionBrowser.showSmartFacetBar = target.checked;
687
+ }
688
+ /**
689
+ * Handler for when the dev panel's "Show facet top slot" checkbox is changed.
690
+ */
691
+ facetTopSlotCheckboxChanged(e) {
692
+ const target = e.target;
693
+ const p = document.createElement('p');
694
+ p.style.setProperty('border', '1px solid #000');
695
+ p.textContent = 'New stuff as a child.';
696
+ p.style.setProperty('height', '20rem');
697
+ p.style.backgroundColor = '#00000';
698
+ p.setAttribute('slot', 'facet-top-slot');
699
+ if (target.checked) {
700
+ this.collectionBrowser.appendChild(p);
701
+ }
702
+ else {
703
+ this.collectionBrowser.removeChild(this.collectionBrowser.lastElementChild);
704
+ }
705
+ }
706
+ toggleSlotOptions() {
707
+ this.toggleSlots = !this.toggleSlots;
708
+ }
709
+ resultLastTileSlotCheckboxChanged(e) {
710
+ const target = e.target;
711
+ const div = document.createElement('div');
712
+ const title = document.createElement('h3');
713
+ title.textContent = 'Upload';
714
+ div.setAttribute('slot', 'result-last-tile');
715
+ div.setAttribute('class', 'result-last-tile');
716
+ div.appendChild(title);
717
+ if (target.checked) {
718
+ this.collectionBrowser.appendChild(div);
719
+ }
720
+ else {
721
+ this.collectionBrowser.removeChild(this.collectionBrowser.lastElementChild);
722
+ }
723
+ }
724
+ /**
725
+ * Handler for when the dev panel's "Show cb top slot" checkbox is changed.
726
+ */
727
+ cbTopSlotCheckboxChanged(e) {
728
+ const target = e.target;
729
+ const p = document.createElement('p');
730
+ p.style.setProperty('border', '1px solid #000');
731
+ p.textContent = 'My Favorite list header.';
732
+ p.style.setProperty('height', '10rem');
733
+ p.style.backgroundColor = '#00000';
734
+ p.setAttribute('slot', 'cb-top-slot');
735
+ if (target.checked) {
736
+ this.collectionBrowser.appendChild(p);
737
+ }
738
+ else {
739
+ this.collectionBrowser.removeChild(this.collectionBrowser.lastElementChild);
740
+ }
741
+ }
742
+ /**
743
+ * Handler for when the dev panel's "Show sort bar top left slot" checkbox is changed.
744
+ */
745
+ sortBarLeftSlotCheckboxChanged(e) {
746
+ const target = e.target;
747
+ if (target.checked) {
748
+ const div = document.createElement('div');
749
+ div.style.setProperty('border', '1px solid #000');
750
+ div.textContent = 'Btn';
751
+ div.style.setProperty('height', '3rem');
752
+ div.style.setProperty('width', '3rem');
753
+ div.setAttribute('slot', 'sort-options-left');
754
+ this.collectionBrowser.appendChild(div);
755
+ }
756
+ else {
757
+ const slottedEl = this.collectionBrowser.querySelector('[slot="sort-options-left"]');
758
+ if (slottedEl)
759
+ this.collectionBrowser.removeChild(slottedEl);
760
+ }
761
+ }
762
+ /**
763
+ * Handler for when the dev panel's "Show sort bar top right slot" checkbox is changed.
764
+ */
765
+ sortBarRightSlotCheckboxChanged(e) {
766
+ const target = e.target;
767
+ if (target.checked) {
768
+ const div = document.createElement('div');
769
+ div.style.setProperty('border', '1px solid #000');
770
+ div.textContent = 'Search bar';
771
+ div.style.setProperty('height', '3rem');
772
+ div.style.setProperty('width', '15rem');
773
+ div.setAttribute('slot', 'sort-options-right');
774
+ this.collectionBrowser.appendChild(div);
775
+ }
776
+ else {
777
+ const slottedEl = this.collectionBrowser.querySelector('[slot="sort-options-right"]');
778
+ if (slottedEl)
779
+ this.collectionBrowser.removeChild(slottedEl);
780
+ }
781
+ }
782
+ rowGapChanged(e) {
783
+ const input = e.target;
784
+ this.rowGap = parseFloat(input.value);
785
+ this.collectionBrowser.style.setProperty('--collectionBrowserRowGap', `${input.value}rem`);
786
+ }
787
+ colGapChanged(e) {
788
+ const input = e.target;
789
+ this.colGap = parseFloat(input.value);
790
+ this.collectionBrowser.style.setProperty('--collectionBrowserColGap', `${input.value}rem`);
791
+ }
792
+ widthChanged(e) {
793
+ const input = e.target;
794
+ this.cellWidth = parseFloat(input.value);
795
+ this.collectionBrowser.style.setProperty('--collectionBrowserCellMinWidth', `${input.value}rem`);
796
+ }
797
+ heightChanged(e) {
798
+ const input = e.target;
799
+ this.cellHeight = parseFloat(input.value);
800
+ this.collectionBrowser.style.setProperty('--collectionBrowserCellMinHeight', `${input.value}rem`);
801
+ this.collectionBrowser.style.setProperty('--collectionBrowserCellMaxHeight', `${input.value}rem`);
802
+ }
803
+ visiblePageChanged(e) {
804
+ const { pageNumber } = e.detail;
805
+ if (pageNumber === this.currentPage)
806
+ return;
807
+ this.currentPage = pageNumber;
808
+ }
809
+ /**
810
+ * Handler for when the dev panel's "Replace sort options" checkbox is changed.
811
+ */
812
+ replaceSortOptionsChanged(e) {
813
+ const target = e.target;
814
+ if (target.checked) {
815
+ const p = document.createElement('p');
816
+ p.style.setProperty('border', '1px solid #000');
817
+ p.textContent = 'New stuff as a child.';
818
+ p.style.setProperty('height', '20px');
819
+ p.setAttribute('slot', 'sort-options');
820
+ this.collectionBrowser.appendChild(p);
821
+ this.collectionBrowser.enableSortOptionsSlot = true;
822
+ }
823
+ else {
824
+ const slottedEl = this.collectionBrowser.querySelector('[slot="sort-options"]');
825
+ if (slottedEl)
826
+ this.collectionBrowser.removeChild(slottedEl);
827
+ this.collectionBrowser.enableSortOptionsSlot = false;
828
+ }
829
+ }
830
+ };
821
831
  AppRoot.styles = css `
822
832
  :host {
823
833
  display: block;
@@ -1058,63 +1068,63 @@ AppRoot.styles = css `
1058
1068
  font-weight: 200;
1059
1069
  text-align: center;
1060
1070
  }
1061
- `;
1062
- __decorate([
1063
- state()
1064
- ], AppRoot.prototype, "toggleSlots", void 0);
1065
- __decorate([
1066
- state()
1067
- ], AppRoot.prototype, "currentPage", void 0);
1068
- __decorate([
1069
- state()
1070
- ], AppRoot.prototype, "searchQuery", void 0);
1071
- __decorate([
1072
- state()
1073
- ], AppRoot.prototype, "withinCollection", void 0);
1074
- __decorate([
1075
- state()
1076
- ], AppRoot.prototype, "cellWidth", void 0);
1077
- __decorate([
1078
- state()
1079
- ], AppRoot.prototype, "cellHeight", void 0);
1080
- __decorate([
1081
- state()
1082
- ], AppRoot.prototype, "rowGap", void 0);
1083
- __decorate([
1084
- state()
1085
- ], AppRoot.prototype, "colGap", void 0);
1086
- __decorate([
1087
- state()
1088
- ], AppRoot.prototype, "suppressFacets", void 0);
1089
- __decorate([
1090
- state()
1091
- ], AppRoot.prototype, "lazyLoadFacets", void 0);
1092
- __decorate([
1093
- state()
1094
- ], AppRoot.prototype, "loggedIn", void 0);
1095
- __decorate([
1096
- state()
1097
- ], AppRoot.prototype, "searchType", void 0);
1098
- __decorate([
1099
- property({ type: Object, reflect: false })
1100
- ], AppRoot.prototype, "latestAction", void 0);
1101
- __decorate([
1102
- query('#base-query-field')
1103
- ], AppRoot.prototype, "baseQueryField", void 0);
1104
- __decorate([
1105
- query('#base-collection-field')
1106
- ], AppRoot.prototype, "baseCollectionField", void 0);
1107
- __decorate([
1108
- query('#page-number-input')
1109
- ], AppRoot.prototype, "pageNumberInput", void 0);
1110
- __decorate([
1111
- query('collection-browser')
1112
- ], AppRoot.prototype, "collectionBrowser", void 0);
1113
- __decorate([
1114
- query('modal-manager')
1115
- ], AppRoot.prototype, "modalManager", void 0);
1116
- AppRoot = __decorate([
1117
- customElement('app-root')
1118
- ], AppRoot);
1119
- export { AppRoot };
1071
+ `;
1072
+ __decorate([
1073
+ state()
1074
+ ], AppRoot.prototype, "toggleSlots", void 0);
1075
+ __decorate([
1076
+ state()
1077
+ ], AppRoot.prototype, "currentPage", void 0);
1078
+ __decorate([
1079
+ state()
1080
+ ], AppRoot.prototype, "searchQuery", void 0);
1081
+ __decorate([
1082
+ state()
1083
+ ], AppRoot.prototype, "withinCollection", void 0);
1084
+ __decorate([
1085
+ state()
1086
+ ], AppRoot.prototype, "cellWidth", void 0);
1087
+ __decorate([
1088
+ state()
1089
+ ], AppRoot.prototype, "cellHeight", void 0);
1090
+ __decorate([
1091
+ state()
1092
+ ], AppRoot.prototype, "rowGap", void 0);
1093
+ __decorate([
1094
+ state()
1095
+ ], AppRoot.prototype, "colGap", void 0);
1096
+ __decorate([
1097
+ state()
1098
+ ], AppRoot.prototype, "suppressFacets", void 0);
1099
+ __decorate([
1100
+ state()
1101
+ ], AppRoot.prototype, "lazyLoadFacets", void 0);
1102
+ __decorate([
1103
+ state()
1104
+ ], AppRoot.prototype, "loggedIn", void 0);
1105
+ __decorate([
1106
+ state()
1107
+ ], AppRoot.prototype, "searchType", void 0);
1108
+ __decorate([
1109
+ property({ type: Object, reflect: false })
1110
+ ], AppRoot.prototype, "latestAction", void 0);
1111
+ __decorate([
1112
+ query('#base-query-field')
1113
+ ], AppRoot.prototype, "baseQueryField", void 0);
1114
+ __decorate([
1115
+ query('#base-collection-field')
1116
+ ], AppRoot.prototype, "baseCollectionField", void 0);
1117
+ __decorate([
1118
+ query('#page-number-input')
1119
+ ], AppRoot.prototype, "pageNumberInput", void 0);
1120
+ __decorate([
1121
+ query('collection-browser')
1122
+ ], AppRoot.prototype, "collectionBrowser", void 0);
1123
+ __decorate([
1124
+ query('modal-manager')
1125
+ ], AppRoot.prototype, "modalManager", void 0);
1126
+ AppRoot = __decorate([
1127
+ customElement('app-root')
1128
+ ], AppRoot);
1129
+ export { AppRoot };
1120
1130
  //# sourceMappingURL=app-root.js.map