@internetarchive/collection-browser 2.7.14-alpha-webdev7002.3 → 2.7.14-alpha-webdev7397.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (490) hide show
  1. package/.github/workflows/ci.yml +3 -3
  2. package/.github/workflows/gh-pages-main.yml +2 -2
  3. package/.github/workflows/pr-preview.yml +2 -2
  4. package/.prettierignore +1 -0
  5. package/dist/index.d.ts +13 -15
  6. package/dist/index.js +11 -15
  7. package/dist/index.js.map +1 -1
  8. package/dist/src/app-root.d.ts +107 -107
  9. package/dist/src/app-root.js +531 -531
  10. package/dist/src/app-root.js.map +1 -1
  11. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  12. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  13. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  14. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  15. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  16. package/dist/src/assets/img/icons/chevron.js +2 -2
  17. package/dist/src/assets/img/icons/contract.d.ts +2 -2
  18. package/dist/src/assets/img/icons/contract.js +2 -2
  19. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  20. package/dist/src/assets/img/icons/empty-query.js +2 -2
  21. package/dist/src/assets/img/icons/expand.d.ts +2 -2
  22. package/dist/src/assets/img/icons/expand.js +2 -2
  23. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  24. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  25. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  26. package/dist/src/assets/img/icons/eye.js +2 -2
  27. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  28. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  29. package/dist/src/assets/img/icons/favorite-unfilled.d.ts +1 -1
  30. package/dist/src/assets/img/icons/favorite-unfilled.js +2 -2
  31. package/dist/src/assets/img/icons/filter.d.ts +2 -2
  32. package/dist/src/assets/img/icons/filter.js +2 -2
  33. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  34. package/dist/src/assets/img/icons/login-required.js +2 -2
  35. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  36. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  37. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  38. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  39. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  40. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  41. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  42. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  43. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  44. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  45. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  46. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  47. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  48. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  49. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  50. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  51. package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -1
  52. package/dist/src/assets/img/icons/mediatype/search.js +2 -2
  53. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  54. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  55. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  56. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  57. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  58. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  59. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  60. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  61. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  62. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  63. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  64. package/dist/src/assets/img/icons/null-result.js +2 -2
  65. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  66. package/dist/src/assets/img/icons/restricted.js +2 -2
  67. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  68. package/dist/src/assets/img/icons/reviews.js +2 -2
  69. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  70. package/dist/src/assets/img/icons/upload.js +2 -2
  71. package/dist/src/assets/img/icons/views.d.ts +1 -1
  72. package/dist/src/assets/img/icons/views.js +2 -2
  73. package/dist/src/circular-activity-indicator.d.ts +5 -5
  74. package/dist/src/circular-activity-indicator.js +17 -17
  75. package/dist/src/circular-activity-indicator.js.map +1 -1
  76. package/dist/src/collection-browser.d.ts +606 -606
  77. package/dist/src/collection-browser.js +1679 -1677
  78. package/dist/src/collection-browser.js.map +1 -1
  79. package/dist/src/collection-facets/facet-row.d.ts +30 -30
  80. package/dist/src/collection-facets/facet-row.js +118 -118
  81. package/dist/src/collection-facets/facet-row.js.map +1 -1
  82. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  83. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  84. package/dist/src/collection-facets/facet-tombstone-row.js.map +1 -1
  85. package/dist/src/collection-facets/facets-template.d.ts +13 -13
  86. package/dist/src/collection-facets/facets-template.js +49 -49
  87. package/dist/src/collection-facets/facets-template.js.map +1 -1
  88. package/dist/src/collection-facets/more-facets-content.d.ts +106 -106
  89. package/dist/src/collection-facets/more-facets-content.js +406 -408
  90. package/dist/src/collection-facets/more-facets-content.js.map +1 -1
  91. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  92. package/dist/src/collection-facets/more-facets-pagination.js +197 -196
  93. package/dist/src/collection-facets/more-facets-pagination.js.map +1 -1
  94. package/dist/src/collection-facets/smart-facets/dedupe.d.ts +10 -10
  95. package/dist/src/collection-facets/smart-facets/dedupe.js +33 -33
  96. package/dist/src/collection-facets/smart-facets/dedupe.js.map +1 -1
  97. package/dist/src/collection-facets/smart-facets/heuristics/browser-language-heuristic.d.ts +5 -5
  98. package/dist/src/collection-facets/smart-facets/heuristics/browser-language-heuristic.js +23 -23
  99. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.d.ts +5 -5
  100. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.js +44 -44
  101. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.js.map +1 -1
  102. package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.d.ts +5 -5
  103. package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.js +172 -172
  104. package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.js.map +1 -1
  105. package/dist/src/collection-facets/smart-facets/models.d.ts +26 -26
  106. package/dist/src/collection-facets/smart-facets/models.js +1 -1
  107. package/dist/src/collection-facets/smart-facets/smart-facet-bar.d.ts +31 -31
  108. package/dist/src/collection-facets/smart-facets/smart-facet-bar.js +237 -240
  109. package/dist/src/collection-facets/smart-facets/smart-facet-bar.js.map +1 -1
  110. package/dist/src/collection-facets/smart-facets/smart-facet-button.d.ts +11 -11
  111. package/dist/src/collection-facets/smart-facets/smart-facet-button.js +86 -86
  112. package/dist/src/collection-facets/smart-facets/smart-facet-button.js.map +1 -1
  113. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.d.ts +16 -16
  114. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js +100 -100
  115. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js.map +1 -1
  116. package/dist/src/collection-facets/smart-facets/smart-facet-equals.d.ts +2 -2
  117. package/dist/src/collection-facets/smart-facets/smart-facet-equals.js +12 -12
  118. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.d.ts +5 -5
  119. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js +15 -15
  120. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js.map +1 -1
  121. package/dist/src/collection-facets/toggle-switch.d.ts +41 -41
  122. package/dist/src/collection-facets/toggle-switch.js +94 -94
  123. package/dist/src/collection-facets/toggle-switch.js.map +1 -1
  124. package/dist/src/collection-facets.d.ts +103 -103
  125. package/dist/src/collection-facets.js +521 -522
  126. package/dist/src/collection-facets.js.map +1 -1
  127. package/dist/src/data-source/collection-browser-data-source-interface.d.ts +245 -245
  128. package/dist/src/data-source/collection-browser-data-source-interface.js +1 -1
  129. package/dist/src/data-source/collection-browser-data-source-interface.js.map +1 -1
  130. package/dist/src/data-source/collection-browser-data-source.d.ts +377 -377
  131. package/dist/src/data-source/collection-browser-data-source.js +1003 -1004
  132. package/dist/src/data-source/collection-browser-data-source.js.map +1 -1
  133. package/dist/src/data-source/collection-browser-query-state.d.ts +44 -44
  134. package/dist/src/data-source/collection-browser-query-state.js +1 -1
  135. package/dist/src/data-source/models.d.ts +28 -28
  136. package/dist/src/data-source/models.js +8 -8
  137. package/dist/src/empty-placeholder.d.ts +23 -23
  138. package/dist/src/empty-placeholder.js +87 -88
  139. package/dist/src/empty-placeholder.js.map +1 -1
  140. package/dist/src/expanded-date-picker.d.ts +43 -43
  141. package/dist/src/expanded-date-picker.js +109 -109
  142. package/dist/src/expanded-date-picker.js.map +1 -1
  143. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  144. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  145. package/dist/src/language-code-handler/language-code-handler.js.map +1 -1
  146. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  147. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  148. package/dist/src/language-code-handler/language-code-mapping.js.map +1 -1
  149. package/dist/src/manage/manage-bar.d.ts +58 -58
  150. package/dist/src/manage/manage-bar.js +175 -175
  151. package/dist/src/manage/manage-bar.js.map +1 -1
  152. package/dist/src/manage/remove-items-modal-content.d.ts +9 -9
  153. package/dist/src/manage/remove-items-modal-content.js +34 -34
  154. package/dist/src/manage/remove-items-modal-content.js.map +1 -1
  155. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  156. package/dist/src/mediatype/mediatype-config.js +92 -91
  157. package/dist/src/mediatype/mediatype-config.js.map +1 -1
  158. package/dist/src/models.d.ts +228 -228
  159. package/dist/src/models.js +401 -401
  160. package/dist/src/models.js.map +1 -1
  161. package/dist/src/restoration-state-handler.d.ts +70 -70
  162. package/dist/src/restoration-state-handler.js +362 -363
  163. package/dist/src/restoration-state-handler.js.map +1 -1
  164. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  165. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  166. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js.map +1 -1
  167. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
  168. package/dist/src/sort-filter-bar/alpha-bar.js +136 -136
  169. package/dist/src/sort-filter-bar/alpha-bar.js.map +1 -1
  170. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  171. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  172. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  173. package/dist/src/sort-filter-bar/img/list.js +2 -2
  174. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  175. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
  176. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  177. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
  178. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  179. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
  180. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  181. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  182. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  183. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  184. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +223 -223
  185. package/dist/src/sort-filter-bar/sort-filter-bar.js +696 -697
  186. package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
  187. package/dist/src/styles/ia-button.d.ts +2 -2
  188. package/dist/src/styles/ia-button.js +17 -17
  189. package/dist/src/styles/item-image-styles.d.ts +8 -8
  190. package/dist/src/styles/item-image-styles.js +9 -9
  191. package/dist/src/styles/sr-only.d.ts +1 -1
  192. package/dist/src/styles/sr-only.js +2 -2
  193. package/dist/src/tiles/base-tile-component.d.ts +19 -19
  194. package/dist/src/tiles/base-tile-component.js +64 -64
  195. package/dist/src/tiles/base-tile-component.js.map +1 -1
  196. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  197. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  198. package/dist/src/tiles/collection-browser-loading-tile.js.map +1 -1
  199. package/dist/src/tiles/grid/account-tile.d.ts +18 -18
  200. package/dist/src/tiles/grid/account-tile.js +72 -72
  201. package/dist/src/tiles/grid/account-tile.js.map +1 -1
  202. package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
  203. package/dist/src/tiles/grid/collection-tile.js +80 -80
  204. package/dist/src/tiles/grid/collection-tile.js.map +1 -1
  205. package/dist/src/tiles/grid/item-tile.d.ts +34 -34
  206. package/dist/src/tiles/grid/item-tile.js +159 -160
  207. package/dist/src/tiles/grid/item-tile.js.map +1 -1
  208. package/dist/src/tiles/grid/search-tile.d.ts +10 -10
  209. package/dist/src/tiles/grid/search-tile.js +51 -51
  210. package/dist/src/tiles/grid/search-tile.js.map +1 -1
  211. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  212. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
  213. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  214. package/dist/src/tiles/grid/tile-stats.js +54 -54
  215. package/dist/src/tiles/grid/tile-stats.js.map +1 -1
  216. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  217. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  218. package/dist/src/tiles/hover/hover-pane-controller.js.map +1 -1
  219. package/dist/src/tiles/hover/tile-hover-pane.d.ts +18 -18
  220. package/dist/src/tiles/hover/tile-hover-pane.js +72 -70
  221. package/dist/src/tiles/hover/tile-hover-pane.js.map +1 -1
  222. package/dist/src/tiles/image-block.d.ts +18 -18
  223. package/dist/src/tiles/image-block.js +89 -89
  224. package/dist/src/tiles/image-block.js.map +1 -1
  225. package/dist/src/tiles/item-image.d.ts +39 -39
  226. package/dist/src/tiles/item-image.js +154 -154
  227. package/dist/src/tiles/item-image.js.map +1 -1
  228. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
  229. package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
  230. package/dist/src/tiles/list/tile-list-compact-header.js.map +1 -1
  231. package/dist/src/tiles/list/tile-list-compact.d.ts +19 -19
  232. package/dist/src/tiles/list/tile-list-compact.js +122 -122
  233. package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
  234. package/dist/src/tiles/list/tile-list.d.ts +54 -54
  235. package/dist/src/tiles/list/tile-list.js +324 -326
  236. package/dist/src/tiles/list/tile-list.js.map +1 -1
  237. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  238. package/dist/src/tiles/mediatype-icon.js +47 -47
  239. package/dist/src/tiles/mediatype-icon.js.map +1 -1
  240. package/dist/src/tiles/overlay/icon-overlay.d.ts +8 -8
  241. package/dist/src/tiles/overlay/icon-overlay.js +25 -25
  242. package/dist/src/tiles/overlay/icon-overlay.js.map +1 -1
  243. package/dist/src/tiles/overlay/text-overlay.d.ts +9 -9
  244. package/dist/src/tiles/overlay/text-overlay.js +31 -31
  245. package/dist/src/tiles/overlay/text-overlay.js.map +1 -1
  246. package/dist/src/tiles/review-block.d.ts +12 -12
  247. package/dist/src/tiles/review-block.js +56 -56
  248. package/dist/src/tiles/review-block.js.map +1 -1
  249. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  250. package/dist/src/tiles/text-snippet-block.js +73 -73
  251. package/dist/src/tiles/text-snippet-block.js.map +1 -1
  252. package/dist/src/tiles/tile-dispatcher.d.ts +64 -64
  253. package/dist/src/tiles/tile-dispatcher.js +230 -230
  254. package/dist/src/tiles/tile-dispatcher.js.map +1 -1
  255. package/dist/src/tiles/tile-display-value-provider.d.ts +47 -47
  256. package/dist/src/tiles/tile-display-value-provider.js +94 -94
  257. package/dist/src/tiles/tile-display-value-provider.js.map +1 -1
  258. package/dist/src/utils/analytics-events.d.ts +28 -28
  259. package/dist/src/utils/analytics-events.js +30 -30
  260. package/dist/src/utils/array-equals.d.ts +4 -4
  261. package/dist/src/utils/array-equals.js +10 -10
  262. package/dist/src/utils/collapse-repeated-quotes.d.ts +11 -11
  263. package/dist/src/utils/collapse-repeated-quotes.js +13 -13
  264. package/dist/src/utils/facet-utils.d.ts +83 -83
  265. package/dist/src/utils/facet-utils.js +145 -145
  266. package/dist/src/utils/facet-utils.js.map +1 -1
  267. package/dist/src/utils/format-count.d.ts +7 -7
  268. package/dist/src/utils/format-count.js +75 -76
  269. package/dist/src/utils/format-count.js.map +1 -1
  270. package/dist/src/utils/format-date.d.ts +2 -2
  271. package/dist/src/utils/format-date.js +27 -27
  272. package/dist/src/utils/format-date.js.map +1 -1
  273. package/dist/src/utils/format-unit-size.d.ts +2 -2
  274. package/dist/src/utils/format-unit-size.js +33 -33
  275. package/dist/src/utils/format-unit-size.js.map +1 -1
  276. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  277. package/dist/src/utils/local-date-from-utc.js +15 -15
  278. package/dist/src/utils/log.d.ts +7 -7
  279. package/dist/src/utils/log.js +13 -15
  280. package/dist/src/utils/log.js.map +1 -1
  281. package/dist/src/utils/resolve-mediatype.d.ts +8 -8
  282. package/dist/src/utils/resolve-mediatype.js +23 -23
  283. package/dist/src/utils/resolve-mediatype.js.map +1 -1
  284. package/dist/src/utils/sha1.d.ts +2 -2
  285. package/dist/src/utils/sha1.js +8 -8
  286. package/dist/test/collection-browser.test.d.ts +1 -1
  287. package/dist/test/collection-browser.test.js +1309 -1308
  288. package/dist/test/collection-browser.test.js.map +1 -1
  289. package/dist/test/collection-facets/facet-row.test.d.ts +1 -1
  290. package/dist/test/collection-facets/facet-row.test.js +230 -227
  291. package/dist/test/collection-facets/facet-row.test.js.map +1 -1
  292. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  293. package/dist/test/collection-facets/facets-template.test.js +91 -91
  294. package/dist/test/collection-facets/facets-template.test.js.map +1 -1
  295. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  296. package/dist/test/collection-facets/more-facets-content.test.js +140 -141
  297. package/dist/test/collection-facets/more-facets-content.test.js.map +1 -1
  298. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  299. package/dist/test/collection-facets/more-facets-pagination.test.js +116 -117
  300. package/dist/test/collection-facets/more-facets-pagination.test.js.map +1 -1
  301. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  302. package/dist/test/collection-facets/toggle-switch.test.js +82 -73
  303. package/dist/test/collection-facets/toggle-switch.test.js.map +1 -1
  304. package/dist/test/collection-facets.test.d.ts +2 -2
  305. package/dist/test/collection-facets.test.js +692 -692
  306. package/dist/test/collection-facets.test.js.map +1 -1
  307. package/dist/test/data-source/collection-browser-data-source.test.d.ts +1 -1
  308. package/dist/test/data-source/collection-browser-data-source.test.js +89 -89
  309. package/dist/test/data-source/collection-browser-data-source.test.js.map +1 -1
  310. package/dist/test/empty-placeholder.test.d.ts +1 -1
  311. package/dist/test/empty-placeholder.test.js +62 -63
  312. package/dist/test/empty-placeholder.test.js.map +1 -1
  313. package/dist/test/expanded-date-picker.test.d.ts +1 -1
  314. package/dist/test/expanded-date-picker.test.js +97 -96
  315. package/dist/test/expanded-date-picker.test.js.map +1 -1
  316. package/dist/test/icon-overlay.test.d.ts +1 -1
  317. package/dist/test/icon-overlay.test.js +23 -24
  318. package/dist/test/icon-overlay.test.js.map +1 -1
  319. package/dist/test/image-block.test.d.ts +1 -1
  320. package/dist/test/image-block.test.js +106 -107
  321. package/dist/test/image-block.test.js.map +1 -1
  322. package/dist/test/item-image.test.d.ts +1 -1
  323. package/dist/test/item-image.test.js +84 -85
  324. package/dist/test/item-image.test.js.map +1 -1
  325. package/dist/test/manage/manage-bar.test.d.ts +2 -2
  326. package/dist/test/manage/manage-bar.test.js +100 -101
  327. package/dist/test/manage/manage-bar.test.js.map +1 -1
  328. package/dist/test/manage/remove-items-modal-content.test.d.ts +1 -1
  329. package/dist/test/manage/remove-items-modal-content.test.js +44 -45
  330. package/dist/test/manage/remove-items-modal-content.test.js.map +1 -1
  331. package/dist/test/mediatype-config.test.d.ts +1 -1
  332. package/dist/test/mediatype-config.test.js +16 -16
  333. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  334. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  335. package/dist/test/mocks/mock-search-responses.d.ts +25 -25
  336. package/dist/test/mocks/mock-search-responses.js +942 -942
  337. package/dist/test/mocks/mock-search-responses.js.map +1 -1
  338. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  339. package/dist/test/mocks/mock-search-service.js +54 -54
  340. package/dist/test/mocks/mock-search-service.js.map +1 -1
  341. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  342. package/dist/test/restoration-state-handler.test.js +270 -270
  343. package/dist/test/restoration-state-handler.test.js.map +1 -1
  344. package/dist/test/review-block.test.d.ts +1 -1
  345. package/dist/test/review-block.test.js +43 -44
  346. package/dist/test/review-block.test.js.map +1 -1
  347. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  348. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  349. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js.map +1 -1
  350. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  351. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  352. package/dist/test/sort-filter-bar/alpha-bar.test.js.map +1 -1
  353. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  354. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +425 -426
  355. package/dist/test/sort-filter-bar/sort-filter-bar.test.js.map +1 -1
  356. package/dist/test/text-overlay.test.d.ts +1 -1
  357. package/dist/test/text-overlay.test.js +37 -38
  358. package/dist/test/text-overlay.test.js.map +1 -1
  359. package/dist/test/text-snippet-block.test.d.ts +1 -1
  360. package/dist/test/text-snippet-block.test.js +56 -57
  361. package/dist/test/text-snippet-block.test.js.map +1 -1
  362. package/dist/test/tile-stats.test.d.ts +1 -1
  363. package/dist/test/tile-stats.test.js +98 -99
  364. package/dist/test/tile-stats.test.js.map +1 -1
  365. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  366. package/dist/test/tiles/grid/account-tile.test.js +75 -76
  367. package/dist/test/tiles/grid/account-tile.test.js.map +1 -1
  368. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  369. package/dist/test/tiles/grid/collection-tile.test.js +72 -73
  370. package/dist/test/tiles/grid/collection-tile.test.js.map +1 -1
  371. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  372. package/dist/test/tiles/grid/item-tile.test.js +311 -312
  373. package/dist/test/tiles/grid/item-tile.test.js.map +1 -1
  374. package/dist/test/tiles/grid/search-tile.test.d.ts +1 -1
  375. package/dist/test/tiles/grid/search-tile.test.js +50 -51
  376. package/dist/test/tiles/grid/search-tile.test.js.map +1 -1
  377. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  378. package/dist/test/tiles/hover/hover-pane-controller.test.js +259 -259
  379. package/dist/test/tiles/hover/hover-pane-controller.test.js.map +1 -1
  380. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  381. package/dist/test/tiles/hover/tile-hover-pane.test.js +56 -56
  382. package/dist/test/tiles/hover/tile-hover-pane.test.js.map +1 -1
  383. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  384. package/dist/test/tiles/list/tile-list-compact.test.js +142 -143
  385. package/dist/test/tiles/list/tile-list-compact.test.js.map +1 -1
  386. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  387. package/dist/test/tiles/list/tile-list.test.js +296 -297
  388. package/dist/test/tiles/list/tile-list.test.js.map +1 -1
  389. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  390. package/dist/test/tiles/tile-dispatcher.test.js +100 -100
  391. package/dist/test/tiles/tile-dispatcher.test.js.map +1 -1
  392. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
  393. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  394. package/dist/test/utils/array-equals.test.d.ts +1 -1
  395. package/dist/test/utils/array-equals.test.js +26 -26
  396. package/dist/test/utils/format-count.test.d.ts +1 -1
  397. package/dist/test/utils/format-count.test.js +23 -23
  398. package/dist/test/utils/format-count.test.js.map +1 -1
  399. package/dist/test/utils/format-date.test.d.ts +1 -1
  400. package/dist/test/utils/format-date.test.js +30 -30
  401. package/dist/test/utils/format-date.test.js.map +1 -1
  402. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  403. package/dist/test/utils/format-unit-size.test.js +17 -17
  404. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  405. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  406. package/dist/test/utils/local-date-from-utc.test.js.map +1 -1
  407. package/eslint.config.mjs +53 -0
  408. package/index.html +0 -3
  409. package/index.ts +1 -7
  410. package/package.json +41 -39
  411. package/src/app-root.ts +21 -22
  412. package/src/collection-browser.ts +44 -40
  413. package/src/collection-facets/facets-template.ts +7 -6
  414. package/src/collection-facets/more-facets-content.ts +11 -13
  415. package/src/collection-facets/more-facets-pagination.ts +3 -2
  416. package/src/collection-facets/smart-facets/dedupe.ts +2 -2
  417. package/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.ts +1 -1
  418. package/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.ts +6 -6
  419. package/src/collection-facets/smart-facets/smart-facet-bar.ts +6 -8
  420. package/src/collection-facets/smart-facets/smart-facet-button.ts +5 -3
  421. package/src/collection-facets/smart-facets/smart-facet-dropdown.ts +4 -4
  422. package/src/collection-facets/smart-facets/smart-facet-heuristics.ts +1 -1
  423. package/src/collection-facets/toggle-switch.ts +2 -2
  424. package/src/collection-facets.ts +18 -19
  425. package/src/data-source/collection-browser-data-source-interface.ts +5 -1
  426. package/src/data-source/collection-browser-data-source.ts +37 -34
  427. package/src/empty-placeholder.ts +19 -16
  428. package/src/expanded-date-picker.ts +1 -1
  429. package/src/language-code-handler/language-code-handler.ts +1 -1
  430. package/src/manage/manage-bar.ts +23 -20
  431. package/src/manage/remove-items-modal-content.ts +2 -2
  432. package/src/mediatype/mediatype-config.ts +1 -0
  433. package/src/models.ts +3 -3
  434. package/src/restoration-state-handler.ts +14 -15
  435. package/src/sort-filter-bar/alpha-bar.ts +16 -17
  436. package/src/sort-filter-bar/sort-filter-bar.ts +14 -15
  437. package/src/tiles/grid/account-tile.ts +1 -1
  438. package/src/tiles/grid/collection-tile.ts +1 -1
  439. package/src/tiles/grid/item-tile.ts +9 -9
  440. package/src/tiles/grid/tile-stats.ts +4 -4
  441. package/src/tiles/hover/hover-pane-controller.ts +1 -1
  442. package/src/tiles/hover/tile-hover-pane.ts +4 -2
  443. package/src/tiles/item-image.ts +1 -1
  444. package/src/tiles/list/tile-list-compact.ts +2 -2
  445. package/src/tiles/list/tile-list.ts +22 -24
  446. package/src/tiles/tile-dispatcher.ts +5 -5
  447. package/src/tiles/tile-display-value-provider.ts +4 -4
  448. package/src/utils/facet-utils.ts +6 -6
  449. package/src/utils/format-count.ts +2 -3
  450. package/src/utils/format-date.ts +1 -1
  451. package/src/utils/format-unit-size.ts +1 -1
  452. package/src/utils/log.ts +1 -3
  453. package/test/collection-browser.test.ts +125 -124
  454. package/test/collection-facets/facet-row.test.ts +31 -28
  455. package/test/collection-facets/facets-template.test.ts +9 -9
  456. package/test/collection-facets/more-facets-content.test.ts +14 -15
  457. package/test/collection-facets/more-facets-pagination.test.ts +18 -19
  458. package/test/collection-facets/toggle-switch.test.ts +28 -18
  459. package/test/collection-facets.test.ts +46 -39
  460. package/test/data-source/collection-browser-data-source.test.ts +2 -2
  461. package/test/empty-placeholder.test.ts +6 -7
  462. package/test/expanded-date-picker.test.ts +25 -20
  463. package/test/icon-overlay.test.ts +0 -1
  464. package/test/image-block.test.ts +6 -7
  465. package/test/item-image.test.ts +0 -1
  466. package/test/manage/manage-bar.test.ts +19 -16
  467. package/test/manage/remove-items-modal-content.test.ts +4 -5
  468. package/test/mocks/mock-search-responses.ts +2 -1
  469. package/test/mocks/mock-search-service.ts +1 -1
  470. package/test/restoration-state-handler.test.ts +12 -12
  471. package/test/review-block.test.ts +1 -2
  472. package/test/sort-filter-bar/alpha-bar-tooltip.test.ts +1 -1
  473. package/test/sort-filter-bar/alpha-bar.test.ts +5 -5
  474. package/test/sort-filter-bar/sort-filter-bar.test.ts +38 -39
  475. package/test/text-overlay.test.ts +0 -1
  476. package/test/text-snippet-block.test.ts +5 -6
  477. package/test/tile-stats.test.ts +26 -35
  478. package/test/tiles/grid/account-tile.test.ts +2 -3
  479. package/test/tiles/grid/collection-tile.test.ts +3 -4
  480. package/test/tiles/grid/item-tile.test.ts +13 -14
  481. package/test/tiles/grid/search-tile.test.ts +1 -2
  482. package/test/tiles/hover/hover-pane-controller.test.ts +15 -15
  483. package/test/tiles/hover/tile-hover-pane.test.ts +5 -5
  484. package/test/tiles/list/tile-list-compact.test.ts +1 -2
  485. package/test/tiles/list/tile-list.test.ts +10 -11
  486. package/test/tiles/tile-dispatcher.test.ts +5 -5
  487. package/test/utils/format-count.test.ts +1 -1
  488. package/test/utils/format-date.test.ts +1 -1
  489. package/test/utils/local-date-from-utc.test.ts +1 -1
  490. package/tsconfig.json +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"more-facets-pagination.js","sourceRoot":"","sources":["../../../src/collection-facets/more-facets-pagination.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n css,\n CSSResultGroup,\n html,\n LitElement,\n nothing,\n TemplateResult,\n} from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport arrowLeftIcon from '../assets/img/icons/arrow-left';\nimport arrowRightIcon from '../assets/img/icons/arrow-right';\nimport { srOnlyStyle } from '../styles/sr-only';\n\n@customElement('more-facets-pagination')\nexport class MoreFacetsPagination extends LitElement {\n /**\n * Total number of pages\n */\n @property({ type: Number }) size!: number;\n\n /**\n * Number of pages can be moved in back/forward\n */\n @property({ type: Number }) step = 2;\n\n @property({ type: Number }) currentPage: number = 1;\n\n @state() pages?: number[] = [];\n\n firstUpdated() {\n this.observePageCount();\n }\n\n override updated(changed: Map<string, any>) {\n if (changed.has('size')) {\n this.observePageCount();\n }\n if (changed.has('currentPage')) {\n this.observePageCount();\n this.emitPageClick();\n }\n }\n\n /** creates `this.pages` array that notes which pages to draw\n * - `0` is elipses marker\n * - rule: selected page is centered between -2/+2 pages\n * - outlier: first page selected, show _1_ 2 3 ... N\n * - outlier: second page selected, show 1 _2_ 3 4 ... N\n * - outlier: last page selected, show 1 ... N-2 N-1 _N_\n * - outlier: if page count = 7, & selected is either [2, 3, 4, 5, 6], show all pages\n */\n observePageCount() {\n this.pages = []; /* `0` is elipses marker */\n\n const paginatorMaxPagesToShow = 7;\n const atMinThreshold = this.size <= paginatorMaxPagesToShow;\n\n /** Display outliers */\n if (this.size <= 5) {\n // display all pages\n this.pages = [...Array(this.size).keys()].map(i => i + 1);\n return;\n }\n\n if (this.size === paginatorMaxPagesToShow) {\n // edge: 7 pages\n if (this.currentPage === 2) {\n this.pages = [1, 2, 3, 4, 0, this.size];\n return;\n }\n\n if (this.currentPage === this.size - 1) {\n this.pages = [1, 0, 4, 5, this.size - 1, this.size];\n return;\n }\n }\n\n if (this.currentPage === 1) {\n // first page\n this.pages = [1, 2, 3, 0, this.size];\n return;\n }\n\n if (this.currentPage === this.size) {\n // last page\n this.pages = [1, 0, this.size - 2, this.size - 1, this.size];\n return;\n }\n\n if (this.currentPage === this.size - 1) {\n // second last page\n this.pages = [\n 1,\n 0,\n this.size - 3,\n this.size - 2,\n this.size - 1,\n this.size,\n ];\n return;\n }\n\n if (\n atMinThreshold &&\n this.currentPage > 1 &&\n this.currentPage < paginatorMaxPagesToShow\n ) {\n this.pages = [...Array(this.size).keys()].map(i => i + 1);\n return;\n }\n\n /* The rest here calculates the range to display in \"page window\" */\n let startPage = this.currentPage - this.step;\n let endPage = this.currentPage + this.step;\n\n if (startPage <= 0) {\n endPage += -startPage + 1;\n startPage = 1;\n }\n\n if (endPage >= this.size) {\n startPage = Math.max(startPage - (endPage - this.size), 1);\n endPage = this.size;\n }\n\n if (startPage === 2) {\n endPage -= 1;\n }\n\n if (endPage === this.size - 1) {\n startPage += 1;\n }\n\n // create first page node\n this.createFirstNode(startPage);\n\n // create middle pages node\n this.createMiddelNode(startPage, endPage);\n\n // create last page node\n this.createLastNode(endPage);\n }\n\n private createFirstNode(startPage: number) {\n if (startPage > 1) {\n this.pages?.push(1);\n }\n if (startPage > 2) {\n this.pages?.push(0); // let's asssume 0 is for ellipsis template\n }\n }\n\n private createMiddelNode(startPage: number, endPage: number) {\n for (let page = startPage; page <= endPage; page += 1) {\n this.pages?.push(page);\n }\n }\n\n private createLastNode(endPage: number) {\n if (endPage < this.size - 1) {\n this.pages?.push(0); // let's asssume 0 is for ellipsis template\n }\n if (endPage < this.size) {\n this.pages?.push(this.size);\n }\n }\n\n private get getEllipsisTemplate() {\n return html`<i class=\"ellipses\">...</i>`;\n }\n\n emitPageClick() {\n this.dispatchEvent(\n new CustomEvent('pageNumberClicked', {\n detail: { page: this.currentPage },\n bubbles: true,\n composed: true,\n })\n );\n }\n\n private onRewind() {\n this.currentPage -= 1;\n if (this.currentPage < 1) {\n this.currentPage = 1;\n }\n }\n\n private onForward() {\n this.currentPage += 1;\n if (this.currentPage > this.size) {\n this.currentPage = this.size;\n }\n }\n\n private onChange(page: number) {\n this.currentPage = page;\n }\n\n private getPageTemplate(page: number) {\n return html`\n <button\n @click=${() => this.onChange(page)}\n class=${this.currentPage === page ? 'current' : ''}\n data-page=${page}\n >\n ${page}\n </button>\n `;\n }\n\n private get getPagesTemplate(): TemplateResult | typeof nothing {\n if (!this.pages || !this.pages.length) {\n return nothing;\n }\n\n return html`\n ${this.pages?.map(\n page =>\n html`${page !== 0\n ? this.getPageTemplate(page)\n : this.getEllipsisTemplate}`\n )}\n `;\n }\n\n render() {\n return html`\n <div class=\"facets-pagination\">\n <button class=\"arrow-icon rewind\" @click=${this.onRewind}>\n <span class=\"sr-only\">Rewind pagination:</span>\n ${arrowLeftIcon}\n </button>\n <div class=\"page-numbers\">${this.getPagesTemplate}</div>\n <button class=\"arrow-icon forward\" @click=${this.onForward}>\n <span class=\"sr-only\">Forward pagination:</span>\n ${arrowRightIcon}\n </button>\n </div>\n `;\n }\n\n static get styles(): CSSResultGroup {\n return [\n srOnlyStyle,\n css`\n .facets-pagination {\n user-select: none;\n margin-top: 10px;\n background-color: #eee;\n text-align: center;\n }\n .facets-pagination button {\n border: none;\n background: none;\n }\n .facets-pagination .arrow-icon {\n width: 2.5rem;\n vertical-align: middle;\n }\n .facets-pagination .arrow-icon svg {\n height: 14px;\n fill: #2c2c2c;\n }\n .facets-pagination button,\n .facets-pagination i {\n background: none;\n border: 0;\n cursor: pointer;\n border-radius: 4px;\n margin: 10px 5px;\n padding: 5px;\n font-size: 1.4rem;\n color: inherit;\n vertical-align: baseline;\n display: inline-block;\n min-width: 2.5rem;\n }\n .facets-pagination i {\n cursor: auto;\n display: inline;\n }\n .facets-pagination button.current {\n background: #2c2c2c;\n color: white;\n }\n .page-numbers {\n display: inline-block;\n }\n `,\n ];\n }\n}\n"]}
1
+ {"version":3,"file":"more-facets-pagination.js","sourceRoot":"","sources":["../../../src/collection-facets/more-facets-pagination.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n css,\n CSSResultGroup,\n html,\n LitElement,\n nothing,\n TemplateResult,\n} from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport arrowLeftIcon from '../assets/img/icons/arrow-left';\nimport arrowRightIcon from '../assets/img/icons/arrow-right';\nimport { srOnlyStyle } from '../styles/sr-only';\n\n@customElement('more-facets-pagination')\nexport class MoreFacetsPagination extends LitElement {\n /**\n * Total number of pages\n */\n @property({ type: Number }) size!: number;\n\n /**\n * Number of pages can be moved in back/forward\n */\n @property({ type: Number }) step = 2;\n\n @property({ type: Number }) currentPage: number = 1;\n\n @state() pages?: number[] = [];\n\n firstUpdated() {\n this.observePageCount();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n override updated(changed: Map<string, any>) {\n if (changed.has('size')) {\n this.observePageCount();\n }\n if (changed.has('currentPage')) {\n this.observePageCount();\n this.emitPageClick();\n }\n }\n\n /** creates `this.pages` array that notes which pages to draw\n * - `0` is elipses marker\n * - rule: selected page is centered between -2/+2 pages\n * - outlier: first page selected, show _1_ 2 3 ... N\n * - outlier: second page selected, show 1 _2_ 3 4 ... N\n * - outlier: last page selected, show 1 ... N-2 N-1 _N_\n * - outlier: if page count = 7, & selected is either [2, 3, 4, 5, 6], show all pages\n */\n observePageCount() {\n this.pages = []; /* `0` is elipses marker */\n\n const paginatorMaxPagesToShow = 7;\n const atMinThreshold = this.size <= paginatorMaxPagesToShow;\n\n /** Display outliers */\n if (this.size <= 5) {\n // display all pages\n this.pages = [...Array(this.size).keys()].map(i => i + 1);\n return;\n }\n\n if (this.size === paginatorMaxPagesToShow) {\n // edge: 7 pages\n if (this.currentPage === 2) {\n this.pages = [1, 2, 3, 4, 0, this.size];\n return;\n }\n\n if (this.currentPage === this.size - 1) {\n this.pages = [1, 0, 4, 5, this.size - 1, this.size];\n return;\n }\n }\n\n if (this.currentPage === 1) {\n // first page\n this.pages = [1, 2, 3, 0, this.size];\n return;\n }\n\n if (this.currentPage === this.size) {\n // last page\n this.pages = [1, 0, this.size - 2, this.size - 1, this.size];\n return;\n }\n\n if (this.currentPage === this.size - 1) {\n // second last page\n this.pages = [\n 1,\n 0,\n this.size - 3,\n this.size - 2,\n this.size - 1,\n this.size,\n ];\n return;\n }\n\n if (\n atMinThreshold &&\n this.currentPage > 1 &&\n this.currentPage < paginatorMaxPagesToShow\n ) {\n this.pages = [...Array(this.size).keys()].map(i => i + 1);\n return;\n }\n\n /* The rest here calculates the range to display in \"page window\" */\n let startPage = this.currentPage - this.step;\n let endPage = this.currentPage + this.step;\n\n if (startPage <= 0) {\n endPage += -startPage + 1;\n startPage = 1;\n }\n\n if (endPage >= this.size) {\n startPage = Math.max(startPage - (endPage - this.size), 1);\n endPage = this.size;\n }\n\n if (startPage === 2) {\n endPage -= 1;\n }\n\n if (endPage === this.size - 1) {\n startPage += 1;\n }\n\n // create first page node\n this.createFirstNode(startPage);\n\n // create middle pages node\n this.createMiddelNode(startPage, endPage);\n\n // create last page node\n this.createLastNode(endPage);\n }\n\n private createFirstNode(startPage: number) {\n if (startPage > 1) {\n this.pages?.push(1);\n }\n if (startPage > 2) {\n this.pages?.push(0); // let's asssume 0 is for ellipsis template\n }\n }\n\n private createMiddelNode(startPage: number, endPage: number) {\n for (let page = startPage; page <= endPage; page += 1) {\n this.pages?.push(page);\n }\n }\n\n private createLastNode(endPage: number) {\n if (endPage < this.size - 1) {\n this.pages?.push(0); // let's asssume 0 is for ellipsis template\n }\n if (endPage < this.size) {\n this.pages?.push(this.size);\n }\n }\n\n private get getEllipsisTemplate() {\n return html`<i class=\"ellipses\">...</i>`;\n }\n\n emitPageClick() {\n this.dispatchEvent(\n new CustomEvent('pageNumberClicked', {\n detail: { page: this.currentPage },\n bubbles: true,\n composed: true,\n }),\n );\n }\n\n private onRewind() {\n this.currentPage -= 1;\n if (this.currentPage < 1) {\n this.currentPage = 1;\n }\n }\n\n private onForward() {\n this.currentPage += 1;\n if (this.currentPage > this.size) {\n this.currentPage = this.size;\n }\n }\n\n private onChange(page: number) {\n this.currentPage = page;\n }\n\n private getPageTemplate(page: number) {\n return html`\n <button\n @click=${() => this.onChange(page)}\n class=${this.currentPage === page ? 'current' : ''}\n data-page=${page}\n >\n ${page}\n </button>\n `;\n }\n\n private get getPagesTemplate(): TemplateResult | typeof nothing {\n if (!this.pages || !this.pages.length) {\n return nothing;\n }\n\n return html`\n ${this.pages?.map(\n page =>\n html`${page !== 0\n ? this.getPageTemplate(page)\n : this.getEllipsisTemplate}`,\n )}\n `;\n }\n\n render() {\n return html`\n <div class=\"facets-pagination\">\n <button class=\"arrow-icon rewind\" @click=${this.onRewind}>\n <span class=\"sr-only\">Rewind pagination:</span>\n ${arrowLeftIcon}\n </button>\n <div class=\"page-numbers\">${this.getPagesTemplate}</div>\n <button class=\"arrow-icon forward\" @click=${this.onForward}>\n <span class=\"sr-only\">Forward pagination:</span>\n ${arrowRightIcon}\n </button>\n </div>\n `;\n }\n\n static get styles(): CSSResultGroup {\n return [\n srOnlyStyle,\n css`\n .facets-pagination {\n user-select: none;\n margin-top: 10px;\n background-color: #eee;\n text-align: center;\n }\n .facets-pagination button {\n border: none;\n background: none;\n }\n .facets-pagination .arrow-icon {\n width: 2.5rem;\n vertical-align: middle;\n }\n .facets-pagination .arrow-icon svg {\n height: 14px;\n fill: #2c2c2c;\n }\n .facets-pagination button,\n .facets-pagination i {\n background: none;\n border: 0;\n cursor: pointer;\n border-radius: 4px;\n margin: 10px 5px;\n padding: 5px;\n font-size: 1.4rem;\n color: inherit;\n vertical-align: baseline;\n display: inline-block;\n min-width: 2.5rem;\n }\n .facets-pagination i {\n cursor: auto;\n display: inline;\n }\n .facets-pagination button.current {\n background: #2c2c2c;\n color: white;\n }\n .page-numbers {\n display: inline-block;\n }\n `,\n ];\n }\n}\n"]}
@@ -1,10 +1,10 @@
1
- import type { SmartFacet } from './models';
2
- /**
3
- * Removes any duplicated smart facets from the given array.
4
- * Smart facets are equal if they have the same `label` and same
5
- * set of facet refs. Only the first occurrence of a given smart
6
- * facet is kept.
7
- * @param facets The array of smart facets to deduplicate
8
- * @returns A new array containing the deduplicated set of facets
9
- */
10
- export declare function dedupe<T extends SmartFacet[] | SmartFacet[][]>(facets: T): T;
1
+ import type { SmartFacet } from './models';
2
+ /**
3
+ * Removes any duplicated smart facets from the given array.
4
+ * Smart facets are equal if they have the same `label` and same
5
+ * set of facet refs. Only the first occurrence of a given smart
6
+ * facet is kept.
7
+ * @param facets The array of smart facets to deduplicate
8
+ * @returns A new array containing the deduplicated set of facets
9
+ */
10
+ export declare function dedupe<T extends SmartFacet[] | SmartFacet[][]>(facets: T): T;
@@ -1,34 +1,34 @@
1
- import { smartFacetEquals } from './smart-facet-equals';
2
- /**
3
- * Removes any duplicated smart facets from the given array.
4
- * Smart facets are equal if they have the same `label` and same
5
- * set of facet refs. Only the first occurrence of a given smart
6
- * facet is kept.
7
- * @param facets The array of smart facets to deduplicate
8
- * @returns A new array containing the deduplicated set of facets
9
- */
10
- export function dedupe(facets) {
11
- if (!Array.isArray(facets[0])) {
12
- const facetsUnnested = facets;
13
- let result = [...facetsUnnested];
14
- for (const curFacet of facetsUnnested) {
15
- result = result.filter(sf => curFacet === sf || !smartFacetEquals(curFacet, sf));
16
- }
17
- return result;
18
- }
19
- const facetsNested = facets;
20
- const result = [];
21
- for (const curFacetArray of facetsNested) {
22
- const subresult = [];
23
- for (const curFacet of curFacetArray) {
24
- const existing = result.find(sfa => sfa.find(sf => smartFacetEquals(curFacet, sf)));
25
- if (!existing)
26
- subresult.push(curFacet);
27
- }
28
- if (subresult.length > 0) {
29
- result.push(subresult);
30
- }
31
- }
32
- return result;
33
- }
1
+ import { smartFacetEquals } from './smart-facet-equals';
2
+ /**
3
+ * Removes any duplicated smart facets from the given array.
4
+ * Smart facets are equal if they have the same `label` and same
5
+ * set of facet refs. Only the first occurrence of a given smart
6
+ * facet is kept.
7
+ * @param facets The array of smart facets to deduplicate
8
+ * @returns A new array containing the deduplicated set of facets
9
+ */
10
+ export function dedupe(facets) {
11
+ if (!Array.isArray(facets[0])) {
12
+ const facetsUnnested = facets;
13
+ let result = [...facetsUnnested];
14
+ for (const curFacet of facetsUnnested) {
15
+ result = result.filter(sf => curFacet === sf || !smartFacetEquals(curFacet, sf));
16
+ }
17
+ return result;
18
+ }
19
+ const facetsNested = facets;
20
+ const result = [];
21
+ for (const curFacetArray of facetsNested) {
22
+ const subresult = [];
23
+ for (const curFacet of curFacetArray) {
24
+ const existing = result.find(sfa => sfa.find(sf => smartFacetEquals(curFacet, sf)));
25
+ if (!existing)
26
+ subresult.push(curFacet);
27
+ }
28
+ if (subresult.length > 0) {
29
+ result.push(subresult);
30
+ }
31
+ }
32
+ return result;
33
+ }
34
34
  //# sourceMappingURL=dedupe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dedupe.js","sourceRoot":"","sources":["../../../../src/collection-facets/smart-facets/dedupe.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD;;;;;;;GAOG;AACH,MAAM,UAAU,MAAM,CAA0C,MAAS;IACvE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;QAC7B,MAAM,cAAc,GAAG,MAAsB,CAAC;QAE9C,IAAI,MAAM,GAAiB,CAAC,GAAG,cAAc,CAAC,CAAC;QAC/C,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE;YACrC,MAAM,GAAG,MAAM,CAAC,MAAM,CACpB,EAAE,CAAC,EAAE,CAAC,QAAQ,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,CAAC,CACzD,CAAC;SACH;QAED,OAAO,MAAW,CAAC;KACpB;IAED,MAAM,YAAY,GAAG,MAAwB,CAAC;IAE9C,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,KAAK,MAAM,aAAa,IAAI,YAAY,EAAE;QACxC,MAAM,SAAS,GAAiB,EAAE,CAAC;QACnC,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE;YACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CACjC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAC/C,CAAC;YACF,IAAI,CAAC,QAAQ;gBAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACzC;QACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACxB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACxB;KACF;IAED,OAAO,MAAW,CAAC;AACrB,CAAC","sourcesContent":["import type { SmartFacet } from './models';\nimport { smartFacetEquals } from './smart-facet-equals';\n\n/**\n * Removes any duplicated smart facets from the given array.\n * Smart facets are equal if they have the same `label` and same\n * set of facet refs. Only the first occurrence of a given smart\n * facet is kept.\n * @param facets The array of smart facets to deduplicate\n * @returns A new array containing the deduplicated set of facets\n */\nexport function dedupe<T extends SmartFacet[] | SmartFacet[][]>(facets: T): T {\n if (!Array.isArray(facets[0])) {\n const facetsUnnested = facets as SmartFacet[];\n\n let result: SmartFacet[] = [...facetsUnnested];\n for (const curFacet of facetsUnnested) {\n result = result.filter(\n sf => curFacet === sf || !smartFacetEquals(curFacet, sf)\n );\n }\n\n return result as T;\n }\n\n const facetsNested = facets as SmartFacet[][];\n\n const result: SmartFacet[][] = [];\n for (const curFacetArray of facetsNested) {\n const subresult: SmartFacet[] = [];\n for (const curFacet of curFacetArray) {\n const existing = result.find(sfa =>\n sfa.find(sf => smartFacetEquals(curFacet, sf))\n );\n if (!existing) subresult.push(curFacet);\n }\n if (subresult.length > 0) {\n result.push(subresult);\n }\n }\n\n return result as T;\n}\n"]}
1
+ {"version":3,"file":"dedupe.js","sourceRoot":"","sources":["../../../../src/collection-facets/smart-facets/dedupe.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD;;;;;;;GAOG;AACH,MAAM,UAAU,MAAM,CAA0C,MAAS;IACvE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9B,MAAM,cAAc,GAAG,MAAsB,CAAC;QAE9C,IAAI,MAAM,GAAiB,CAAC,GAAG,cAAc,CAAC,CAAC;QAC/C,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC;YACtC,MAAM,GAAG,MAAM,CAAC,MAAM,CACpB,EAAE,CAAC,EAAE,CAAC,QAAQ,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,CAAC,CACzD,CAAC;QACJ,CAAC;QAED,OAAO,MAAW,CAAC;IACrB,CAAC;IAED,MAAM,YAAY,GAAG,MAAwB,CAAC;IAE9C,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,KAAK,MAAM,aAAa,IAAI,YAAY,EAAE,CAAC;QACzC,MAAM,SAAS,GAAiB,EAAE,CAAC;QACnC,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CACjC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAC/C,CAAC;YACF,IAAI,CAAC,QAAQ;gBAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,OAAO,MAAW,CAAC;AACrB,CAAC","sourcesContent":["import type { SmartFacet } from './models';\nimport { smartFacetEquals } from './smart-facet-equals';\n\n/**\n * Removes any duplicated smart facets from the given array.\n * Smart facets are equal if they have the same `label` and same\n * set of facet refs. Only the first occurrence of a given smart\n * facet is kept.\n * @param facets The array of smart facets to deduplicate\n * @returns A new array containing the deduplicated set of facets\n */\nexport function dedupe<T extends SmartFacet[] | SmartFacet[][]>(facets: T): T {\n if (!Array.isArray(facets[0])) {\n const facetsUnnested = facets as SmartFacet[];\n\n let result: SmartFacet[] = [...facetsUnnested];\n for (const curFacet of facetsUnnested) {\n result = result.filter(\n sf => curFacet === sf || !smartFacetEquals(curFacet, sf),\n );\n }\n\n return result as T;\n }\n\n const facetsNested = facets as SmartFacet[][];\n\n const result: SmartFacet[][] = [];\n for (const curFacetArray of facetsNested) {\n const subresult: SmartFacet[] = [];\n for (const curFacet of curFacetArray) {\n const existing = result.find(sfa =>\n sfa.find(sf => smartFacetEquals(curFacet, sf)),\n );\n if (!existing) subresult.push(curFacet);\n }\n if (subresult.length > 0) {\n result.push(subresult);\n }\n }\n\n return result as T;\n}\n"]}
@@ -1,5 +1,5 @@
1
- import type { SmartQueryHeuristic, SmartFacet } from '../models';
2
- export declare class BrowserLanguageHeuristic implements SmartQueryHeuristic {
3
- getRecommendedFacets(): Promise<SmartFacet[]>;
4
- private static getLanguageDisplayName;
5
- }
1
+ import type { SmartQueryHeuristic, SmartFacet } from '../models';
2
+ export declare class BrowserLanguageHeuristic implements SmartQueryHeuristic {
3
+ getRecommendedFacets(): Promise<SmartFacet[]>;
4
+ private static getLanguageDisplayName;
5
+ }
@@ -1,24 +1,24 @@
1
- export class BrowserLanguageHeuristic {
2
- async getRecommendedFacets() {
3
- const browserLanguageCode = navigator.language;
4
- const languageName = BrowserLanguageHeuristic.getLanguageDisplayName(browserLanguageCode);
5
- if (!languageName)
6
- return [];
7
- return [
8
- {
9
- facets: [
10
- {
11
- facetType: 'language',
12
- bucketKey: languageName,
13
- },
14
- ],
15
- },
16
- ];
17
- }
18
- static getLanguageDisplayName(langCode) {
19
- // Strip off any script/region/variant codes for greater generality
20
- const languageOnly = langCode.split('-')[0];
21
- return new Intl.DisplayNames(['en'], { type: 'language' }).of(languageOnly);
22
- }
23
- }
1
+ export class BrowserLanguageHeuristic {
2
+ async getRecommendedFacets() {
3
+ const browserLanguageCode = navigator.language;
4
+ const languageName = BrowserLanguageHeuristic.getLanguageDisplayName(browserLanguageCode);
5
+ if (!languageName)
6
+ return [];
7
+ return [
8
+ {
9
+ facets: [
10
+ {
11
+ facetType: 'language',
12
+ bucketKey: languageName,
13
+ },
14
+ ],
15
+ },
16
+ ];
17
+ }
18
+ static getLanguageDisplayName(langCode) {
19
+ // Strip off any script/region/variant codes for greater generality
20
+ const languageOnly = langCode.split('-')[0];
21
+ return new Intl.DisplayNames(['en'], { type: 'language' }).of(languageOnly);
22
+ }
23
+ }
24
24
  //# sourceMappingURL=browser-language-heuristic.js.map
@@ -1,5 +1,5 @@
1
- import type { SmartQueryHeuristic, SmartFacet } from '../models';
2
- export declare class QueryKeywordsHeuristic implements SmartQueryHeuristic {
3
- private static readonly KEYWORDS;
4
- getRecommendedFacets(query: string): Promise<SmartFacet[]>;
5
- }
1
+ import type { SmartQueryHeuristic, SmartFacet } from '../models';
2
+ export declare class QueryKeywordsHeuristic implements SmartQueryHeuristic {
3
+ private static readonly KEYWORDS;
4
+ getRecommendedFacets(query: string): Promise<SmartFacet[]>;
5
+ }
@@ -1,45 +1,45 @@
1
- // If the query contains X word but Y facet isn't selected, recommend facet Y
2
- export class QueryKeywordsHeuristic {
3
- async getRecommendedFacets(query) {
4
- const recommendations = [];
5
- for (const [keyword, facets] of Object.entries(QueryKeywordsHeuristic.KEYWORDS)) {
6
- if (query.includes(keyword)) {
7
- recommendations.push(...facets);
8
- }
9
- }
10
- return recommendations;
11
- }
12
- }
13
- QueryKeywordsHeuristic.KEYWORDS = {
14
- text: [{ facets: [{ facetType: 'mediatype', bucketKey: 'texts' }] }],
15
- book: [{ facets: [{ facetType: 'mediatype', bucketKey: 'texts' }] }],
16
- pdf: [{ facets: [{ facetType: 'mediatype', bucketKey: 'texts' }] }],
17
- epub: [{ facets: [{ facetType: 'mediatype', bucketKey: 'texts' }] }],
18
- audio: [{ facets: [{ facetType: 'mediatype', bucketKey: 'audio' }] }],
19
- song: [{ facets: [{ facetType: 'mediatype', bucketKey: 'audio' }] }],
20
- music: [{ facets: [{ facetType: 'mediatype', bucketKey: 'audio' }] }],
21
- listen: [{ facets: [{ facetType: 'mediatype', bucketKey: 'audio' }] }],
22
- podcast: [{ facets: [{ facetType: 'mediatype', bucketKey: 'audio' }] }],
23
- radio: [{ facets: [{ facetType: 'mediatype', bucketKey: 'audio' }] }],
24
- stream: [
25
- { facets: [{ facetType: 'mediatype', bucketKey: 'audio' }] },
26
- { facets: [{ facetType: 'mediatype', bucketKey: 'movies' }] },
27
- ],
28
- video: [{ facets: [{ facetType: 'mediatype', bucketKey: 'movies' }] }],
29
- movie: [{ facets: [{ facetType: 'mediatype', bucketKey: 'movies' }] }],
30
- film: [{ facets: [{ facetType: 'mediatype', bucketKey: 'movies' }] }],
31
- image: [{ facets: [{ facetType: 'mediatype', bucketKey: 'image' }] }],
32
- photo: [{ facets: [{ facetType: 'mediatype', bucketKey: 'image' }] }],
33
- picture: [{ facets: [{ facetType: 'mediatype', bucketKey: 'image' }] }],
34
- software: [{ facets: [{ facetType: 'mediatype', bucketKey: 'software' }] }],
35
- app: [{ facets: [{ facetType: 'mediatype', bucketKey: 'software' }] }],
36
- program: [{ facets: [{ facetType: 'mediatype', bucketKey: 'software' }] }],
37
- game: [{ facets: [{ facetType: 'mediatype', bucketKey: 'software' }] }],
38
- etree: [{ facets: [{ facetType: 'mediatype', bucketKey: 'etree' }] }],
39
- concert: [{ facets: [{ facetType: 'mediatype', bucketKey: 'etree' }] }],
40
- 'live music': [
41
- { facets: [{ facetType: 'mediatype', bucketKey: 'etree' }] },
42
- ],
43
- dataset: [{ facets: [{ facetType: 'mediatype', bucketKey: 'data' }] }],
44
- };
1
+ // If the query contains X word but Y facet isn't selected, recommend facet Y
2
+ export class QueryKeywordsHeuristic {
3
+ async getRecommendedFacets(query) {
4
+ const recommendations = [];
5
+ for (const [keyword, facets] of Object.entries(QueryKeywordsHeuristic.KEYWORDS)) {
6
+ if (query.includes(keyword)) {
7
+ recommendations.push(...facets);
8
+ }
9
+ }
10
+ return recommendations;
11
+ }
12
+ }
13
+ QueryKeywordsHeuristic.KEYWORDS = {
14
+ text: [{ facets: [{ facetType: 'mediatype', bucketKey: 'texts' }] }],
15
+ book: [{ facets: [{ facetType: 'mediatype', bucketKey: 'texts' }] }],
16
+ pdf: [{ facets: [{ facetType: 'mediatype', bucketKey: 'texts' }] }],
17
+ epub: [{ facets: [{ facetType: 'mediatype', bucketKey: 'texts' }] }],
18
+ audio: [{ facets: [{ facetType: 'mediatype', bucketKey: 'audio' }] }],
19
+ song: [{ facets: [{ facetType: 'mediatype', bucketKey: 'audio' }] }],
20
+ music: [{ facets: [{ facetType: 'mediatype', bucketKey: 'audio' }] }],
21
+ listen: [{ facets: [{ facetType: 'mediatype', bucketKey: 'audio' }] }],
22
+ podcast: [{ facets: [{ facetType: 'mediatype', bucketKey: 'audio' }] }],
23
+ radio: [{ facets: [{ facetType: 'mediatype', bucketKey: 'audio' }] }],
24
+ stream: [
25
+ { facets: [{ facetType: 'mediatype', bucketKey: 'audio' }] },
26
+ { facets: [{ facetType: 'mediatype', bucketKey: 'movies' }] },
27
+ ],
28
+ video: [{ facets: [{ facetType: 'mediatype', bucketKey: 'movies' }] }],
29
+ movie: [{ facets: [{ facetType: 'mediatype', bucketKey: 'movies' }] }],
30
+ film: [{ facets: [{ facetType: 'mediatype', bucketKey: 'movies' }] }],
31
+ image: [{ facets: [{ facetType: 'mediatype', bucketKey: 'image' }] }],
32
+ photo: [{ facets: [{ facetType: 'mediatype', bucketKey: 'image' }] }],
33
+ picture: [{ facets: [{ facetType: 'mediatype', bucketKey: 'image' }] }],
34
+ software: [{ facets: [{ facetType: 'mediatype', bucketKey: 'software' }] }],
35
+ app: [{ facets: [{ facetType: 'mediatype', bucketKey: 'software' }] }],
36
+ program: [{ facets: [{ facetType: 'mediatype', bucketKey: 'software' }] }],
37
+ game: [{ facets: [{ facetType: 'mediatype', bucketKey: 'software' }] }],
38
+ etree: [{ facets: [{ facetType: 'mediatype', bucketKey: 'etree' }] }],
39
+ concert: [{ facets: [{ facetType: 'mediatype', bucketKey: 'etree' }] }],
40
+ 'live music': [
41
+ { facets: [{ facetType: 'mediatype', bucketKey: 'etree' }] },
42
+ ],
43
+ dataset: [{ facets: [{ facetType: 'mediatype', bucketKey: 'data' }] }],
44
+ };
45
45
  //# sourceMappingURL=query-keywords-heuristic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"query-keywords-heuristic.js","sourceRoot":"","sources":["../../../../../src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n SmartQueryHeuristic,\n KeywordFacetMap,\n SmartFacet,\n} from '../models';\n\n// If the query contains X word but Y facet isn't selected, recommend facet Y\nexport class QueryKeywordsHeuristic implements SmartQueryHeuristic {\n private static readonly KEYWORDS: KeywordFacetMap = {\n text: [{ facets: [{ facetType: 'mediatype', bucketKey: 'texts' }] }],\n book: [{ facets: [{ facetType: 'mediatype', bucketKey: 'texts' }] }],\n pdf: [{ facets: [{ facetType: 'mediatype', bucketKey: 'texts' }] }],\n epub: [{ facets: [{ facetType: 'mediatype', bucketKey: 'texts' }] }],\n audio: [{ facets: [{ facetType: 'mediatype', bucketKey: 'audio' }] }],\n song: [{ facets: [{ facetType: 'mediatype', bucketKey: 'audio' }] }],\n music: [{ facets: [{ facetType: 'mediatype', bucketKey: 'audio' }] }],\n listen: [{ facets: [{ facetType: 'mediatype', bucketKey: 'audio' }] }],\n podcast: [{ facets: [{ facetType: 'mediatype', bucketKey: 'audio' }] }],\n radio: [{ facets: [{ facetType: 'mediatype', bucketKey: 'audio' }] }],\n stream: [\n { facets: [{ facetType: 'mediatype', bucketKey: 'audio' }] },\n { facets: [{ facetType: 'mediatype', bucketKey: 'movies' }] },\n ],\n video: [{ facets: [{ facetType: 'mediatype', bucketKey: 'movies' }] }],\n movie: [{ facets: [{ facetType: 'mediatype', bucketKey: 'movies' }] }],\n film: [{ facets: [{ facetType: 'mediatype', bucketKey: 'movies' }] }],\n image: [{ facets: [{ facetType: 'mediatype', bucketKey: 'image' }] }],\n photo: [{ facets: [{ facetType: 'mediatype', bucketKey: 'image' }] }],\n picture: [{ facets: [{ facetType: 'mediatype', bucketKey: 'image' }] }],\n software: [{ facets: [{ facetType: 'mediatype', bucketKey: 'software' }] }],\n app: [{ facets: [{ facetType: 'mediatype', bucketKey: 'software' }] }],\n program: [{ facets: [{ facetType: 'mediatype', bucketKey: 'software' }] }],\n game: [{ facets: [{ facetType: 'mediatype', bucketKey: 'software' }] }],\n etree: [{ facets: [{ facetType: 'mediatype', bucketKey: 'etree' }] }],\n concert: [{ facets: [{ facetType: 'mediatype', bucketKey: 'etree' }] }],\n 'live music': [\n { facets: [{ facetType: 'mediatype', bucketKey: 'etree' }] },\n ],\n dataset: [{ facets: [{ facetType: 'mediatype', bucketKey: 'data' }] }],\n };\n\n async getRecommendedFacets(query: string): Promise<SmartFacet[]> {\n const recommendations: SmartFacet[] = [];\n\n for (const [keyword, facets] of Object.entries(\n QueryKeywordsHeuristic.KEYWORDS\n )) {\n if (query.includes(keyword)) {\n recommendations.push(...facets);\n }\n }\n\n return recommendations;\n }\n}\n"]}
1
+ {"version":3,"file":"query-keywords-heuristic.js","sourceRoot":"","sources":["../../../../../src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n SmartQueryHeuristic,\n KeywordFacetMap,\n SmartFacet,\n} from '../models';\n\n// If the query contains X word but Y facet isn't selected, recommend facet Y\nexport class QueryKeywordsHeuristic implements SmartQueryHeuristic {\n private static readonly KEYWORDS: KeywordFacetMap = {\n text: [{ facets: [{ facetType: 'mediatype', bucketKey: 'texts' }] }],\n book: [{ facets: [{ facetType: 'mediatype', bucketKey: 'texts' }] }],\n pdf: [{ facets: [{ facetType: 'mediatype', bucketKey: 'texts' }] }],\n epub: [{ facets: [{ facetType: 'mediatype', bucketKey: 'texts' }] }],\n audio: [{ facets: [{ facetType: 'mediatype', bucketKey: 'audio' }] }],\n song: [{ facets: [{ facetType: 'mediatype', bucketKey: 'audio' }] }],\n music: [{ facets: [{ facetType: 'mediatype', bucketKey: 'audio' }] }],\n listen: [{ facets: [{ facetType: 'mediatype', bucketKey: 'audio' }] }],\n podcast: [{ facets: [{ facetType: 'mediatype', bucketKey: 'audio' }] }],\n radio: [{ facets: [{ facetType: 'mediatype', bucketKey: 'audio' }] }],\n stream: [\n { facets: [{ facetType: 'mediatype', bucketKey: 'audio' }] },\n { facets: [{ facetType: 'mediatype', bucketKey: 'movies' }] },\n ],\n video: [{ facets: [{ facetType: 'mediatype', bucketKey: 'movies' }] }],\n movie: [{ facets: [{ facetType: 'mediatype', bucketKey: 'movies' }] }],\n film: [{ facets: [{ facetType: 'mediatype', bucketKey: 'movies' }] }],\n image: [{ facets: [{ facetType: 'mediatype', bucketKey: 'image' }] }],\n photo: [{ facets: [{ facetType: 'mediatype', bucketKey: 'image' }] }],\n picture: [{ facets: [{ facetType: 'mediatype', bucketKey: 'image' }] }],\n software: [{ facets: [{ facetType: 'mediatype', bucketKey: 'software' }] }],\n app: [{ facets: [{ facetType: 'mediatype', bucketKey: 'software' }] }],\n program: [{ facets: [{ facetType: 'mediatype', bucketKey: 'software' }] }],\n game: [{ facets: [{ facetType: 'mediatype', bucketKey: 'software' }] }],\n etree: [{ facets: [{ facetType: 'mediatype', bucketKey: 'etree' }] }],\n concert: [{ facets: [{ facetType: 'mediatype', bucketKey: 'etree' }] }],\n 'live music': [\n { facets: [{ facetType: 'mediatype', bucketKey: 'etree' }] },\n ],\n dataset: [{ facets: [{ facetType: 'mediatype', bucketKey: 'data' }] }],\n };\n\n async getRecommendedFacets(query: string): Promise<SmartFacet[]> {\n const recommendations: SmartFacet[] = [];\n\n for (const [keyword, facets] of Object.entries(\n QueryKeywordsHeuristic.KEYWORDS,\n )) {\n if (query.includes(keyword)) {\n recommendations.push(...facets);\n }\n }\n\n return recommendations;\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
- import type { SmartQueryHeuristic, SmartFacet } from '../models';
2
- export declare class WikidataHeuristic implements SmartQueryHeuristic {
3
- private static readonly ENTITIES;
4
- getRecommendedFacets(query: string): Promise<SmartFacet[]>;
5
- }
1
+ import type { SmartQueryHeuristic, SmartFacet } from '../models';
2
+ export declare class WikidataHeuristic implements SmartQueryHeuristic {
3
+ private static readonly ENTITIES;
4
+ getRecommendedFacets(query: string): Promise<SmartFacet[]>;
5
+ }