@internetarchive/collection-browser 2.7.7 → 2.7.8

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 (330) hide show
  1. package/.editorconfig +29 -29
  2. package/.husky/pre-commit +4 -4
  3. package/LICENSE +661 -661
  4. package/README.md +83 -83
  5. package/dist/index.d.ts +13 -13
  6. package/dist/index.js +13 -13
  7. package/dist/src/app-root.d.ts +107 -99
  8. package/dist/src/app-root.js +539 -505
  9. package/dist/src/app-root.js.map +1 -1
  10. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  11. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  12. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  13. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  14. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  15. package/dist/src/assets/img/icons/chevron.js +2 -2
  16. package/dist/src/assets/img/icons/contract.d.ts +2 -2
  17. package/dist/src/assets/img/icons/contract.js +2 -2
  18. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  19. package/dist/src/assets/img/icons/empty-query.js +2 -2
  20. package/dist/src/assets/img/icons/expand.d.ts +2 -2
  21. package/dist/src/assets/img/icons/expand.js +2 -2
  22. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  23. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  24. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  25. package/dist/src/assets/img/icons/eye.js +2 -2
  26. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  27. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  28. package/dist/src/assets/img/icons/favorite-unfilled.d.ts +1 -1
  29. package/dist/src/assets/img/icons/favorite-unfilled.js +2 -2
  30. package/dist/src/assets/img/icons/filter.d.ts +2 -2
  31. package/dist/src/assets/img/icons/filter.js +2 -2
  32. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  33. package/dist/src/assets/img/icons/login-required.js +2 -2
  34. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  35. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  36. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  37. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  38. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  39. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  40. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  41. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  42. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  43. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  44. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  45. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  46. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  47. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  48. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  49. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  50. package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -1
  51. package/dist/src/assets/img/icons/mediatype/search.js +2 -2
  52. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  53. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  54. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  55. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  56. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  57. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  58. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  59. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  60. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  61. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  62. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  63. package/dist/src/assets/img/icons/null-result.js +2 -2
  64. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  65. package/dist/src/assets/img/icons/restricted.js +2 -2
  66. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  67. package/dist/src/assets/img/icons/reviews.js +2 -2
  68. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  69. package/dist/src/assets/img/icons/upload.js +2 -2
  70. package/dist/src/assets/img/icons/views.d.ts +1 -1
  71. package/dist/src/assets/img/icons/views.js +2 -2
  72. package/dist/src/circular-activity-indicator.d.ts +5 -5
  73. package/dist/src/circular-activity-indicator.js +17 -17
  74. package/dist/src/collection-browser.d.ts +591 -582
  75. package/dist/src/collection-browser.js +1644 -1629
  76. package/dist/src/collection-browser.js.map +1 -1
  77. package/dist/src/collection-facets/facet-row.d.ts +30 -30
  78. package/dist/src/collection-facets/facet-row.js +118 -118
  79. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  80. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  81. package/dist/src/collection-facets/facets-template.d.ts +13 -13
  82. package/dist/src/collection-facets/facets-template.js +44 -44
  83. package/dist/src/collection-facets/more-facets-content.d.ts +106 -106
  84. package/dist/src/collection-facets/more-facets-content.js +407 -407
  85. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  86. package/dist/src/collection-facets/more-facets-pagination.js +196 -196
  87. package/dist/src/collection-facets/smart-facets/dedupe.d.ts +10 -10
  88. package/dist/src/collection-facets/smart-facets/dedupe.js +33 -33
  89. package/dist/src/collection-facets/smart-facets/heuristics/browser-language-heuristic.d.ts +5 -5
  90. package/dist/src/collection-facets/smart-facets/heuristics/browser-language-heuristic.js +23 -23
  91. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.d.ts +5 -5
  92. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.js +44 -44
  93. package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.d.ts +5 -5
  94. package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.js +172 -172
  95. package/dist/src/collection-facets/smart-facets/models.d.ts +26 -26
  96. package/dist/src/collection-facets/smart-facets/models.js +1 -1
  97. package/dist/src/collection-facets/smart-facets/smart-facet-bar.d.ts +31 -31
  98. package/dist/src/collection-facets/smart-facets/smart-facet-bar.js +240 -240
  99. package/dist/src/collection-facets/smart-facets/smart-facet-button.d.ts +11 -11
  100. package/dist/src/collection-facets/smart-facets/smart-facet-button.js +86 -86
  101. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.d.ts +16 -16
  102. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js +100 -100
  103. package/dist/src/collection-facets/smart-facets/smart-facet-equals.d.ts +2 -2
  104. package/dist/src/collection-facets/smart-facets/smart-facet-equals.js +12 -12
  105. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.d.ts +5 -5
  106. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js +15 -15
  107. package/dist/src/collection-facets/toggle-switch.d.ts +41 -41
  108. package/dist/src/collection-facets/toggle-switch.js +94 -94
  109. package/dist/src/collection-facets.d.ts +103 -103
  110. package/dist/src/collection-facets.js +522 -522
  111. package/dist/src/data-source/collection-browser-data-source-interface.d.ts +241 -241
  112. package/dist/src/data-source/collection-browser-data-source-interface.js +1 -1
  113. package/dist/src/data-source/collection-browser-data-source.d.ts +373 -373
  114. package/dist/src/data-source/collection-browser-data-source.js +982 -982
  115. package/dist/src/data-source/collection-browser-query-state.d.ts +43 -43
  116. package/dist/src/data-source/collection-browser-query-state.js +1 -1
  117. package/dist/src/data-source/models.d.ts +28 -28
  118. package/dist/src/data-source/models.js +8 -8
  119. package/dist/src/empty-placeholder.d.ts +23 -23
  120. package/dist/src/empty-placeholder.js +79 -79
  121. package/dist/src/expanded-date-picker.d.ts +43 -43
  122. package/dist/src/expanded-date-picker.js +109 -109
  123. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  124. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  125. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  126. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  127. package/dist/src/manage/manage-bar.d.ts +58 -35
  128. package/dist/src/manage/manage-bar.js +173 -79
  129. package/dist/src/manage/manage-bar.js.map +1 -1
  130. package/dist/src/manage/remove-items-modal-content.d.ts +9 -0
  131. package/dist/src/manage/remove-items-modal-content.js +104 -0
  132. package/dist/src/manage/remove-items-modal-content.js.map +1 -0
  133. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  134. package/dist/src/mediatype/mediatype-config.js +91 -91
  135. package/dist/src/models.d.ts +228 -219
  136. package/dist/src/models.js +401 -401
  137. package/dist/src/models.js.map +1 -1
  138. package/dist/src/restoration-state-handler.d.ts +70 -70
  139. package/dist/src/restoration-state-handler.js +363 -363
  140. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  141. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  142. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
  143. package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
  144. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  145. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  146. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  147. package/dist/src/sort-filter-bar/img/list.js +2 -2
  148. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  149. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
  150. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  151. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
  152. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  153. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
  154. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  155. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  156. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  157. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  158. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +223 -223
  159. package/dist/src/sort-filter-bar/sort-filter-bar.js +697 -697
  160. package/dist/src/styles/ia-button.d.ts +2 -2
  161. package/dist/src/styles/ia-button.js +17 -17
  162. package/dist/src/styles/item-image-styles.d.ts +8 -8
  163. package/dist/src/styles/item-image-styles.js +9 -9
  164. package/dist/src/styles/sr-only.d.ts +1 -1
  165. package/dist/src/styles/sr-only.js +2 -2
  166. package/dist/src/tiles/base-tile-component.d.ts +19 -19
  167. package/dist/src/tiles/base-tile-component.js +64 -64
  168. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  169. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  170. package/dist/src/tiles/grid/account-tile.d.ts +18 -18
  171. package/dist/src/tiles/grid/account-tile.js +72 -72
  172. package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
  173. package/dist/src/tiles/grid/collection-tile.js +80 -80
  174. package/dist/src/tiles/grid/item-tile.d.ts +34 -34
  175. package/dist/src/tiles/grid/item-tile.js +158 -158
  176. package/dist/src/tiles/grid/search-tile.d.ts +10 -10
  177. package/dist/src/tiles/grid/search-tile.js +51 -51
  178. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  179. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
  180. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  181. package/dist/src/tiles/grid/tile-stats.js +53 -53
  182. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  183. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  184. package/dist/src/tiles/hover/tile-hover-pane.d.ts +18 -18
  185. package/dist/src/tiles/hover/tile-hover-pane.js +69 -69
  186. package/dist/src/tiles/image-block.d.ts +18 -18
  187. package/dist/src/tiles/image-block.js +89 -89
  188. package/dist/src/tiles/item-image.d.ts +39 -39
  189. package/dist/src/tiles/item-image.js +154 -154
  190. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
  191. package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
  192. package/dist/src/tiles/list/tile-list-compact.d.ts +19 -19
  193. package/dist/src/tiles/list/tile-list-compact.js +122 -122
  194. package/dist/src/tiles/list/tile-list.d.ts +54 -54
  195. package/dist/src/tiles/list/tile-list.js +323 -323
  196. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  197. package/dist/src/tiles/mediatype-icon.js +47 -47
  198. package/dist/src/tiles/overlay/icon-overlay.d.ts +8 -8
  199. package/dist/src/tiles/overlay/icon-overlay.js +25 -25
  200. package/dist/src/tiles/overlay/text-overlay.d.ts +9 -9
  201. package/dist/src/tiles/overlay/text-overlay.js +31 -31
  202. package/dist/src/tiles/review-block.d.ts +12 -12
  203. package/dist/src/tiles/review-block.js +56 -56
  204. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  205. package/dist/src/tiles/text-snippet-block.js +73 -73
  206. package/dist/src/tiles/tile-dispatcher.d.ts +64 -64
  207. package/dist/src/tiles/tile-dispatcher.js +230 -230
  208. package/dist/src/tiles/tile-display-value-provider.d.ts +47 -47
  209. package/dist/src/tiles/tile-display-value-provider.js +94 -94
  210. package/dist/src/utils/analytics-events.d.ts +28 -28
  211. package/dist/src/utils/analytics-events.js +30 -30
  212. package/dist/src/utils/array-equals.d.ts +4 -4
  213. package/dist/src/utils/array-equals.js +10 -10
  214. package/dist/src/utils/collapse-repeated-quotes.d.ts +11 -11
  215. package/dist/src/utils/collapse-repeated-quotes.js +13 -13
  216. package/dist/src/utils/facet-utils.d.ts +83 -83
  217. package/dist/src/utils/facet-utils.js +145 -145
  218. package/dist/src/utils/format-count.d.ts +7 -7
  219. package/dist/src/utils/format-count.js +76 -76
  220. package/dist/src/utils/format-date.d.ts +2 -2
  221. package/dist/src/utils/format-date.js +27 -27
  222. package/dist/src/utils/format-unit-size.d.ts +2 -2
  223. package/dist/src/utils/format-unit-size.js +33 -33
  224. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  225. package/dist/src/utils/local-date-from-utc.js +15 -15
  226. package/dist/src/utils/log.d.ts +7 -7
  227. package/dist/src/utils/log.js +15 -15
  228. package/dist/src/utils/resolve-mediatype.d.ts +8 -8
  229. package/dist/src/utils/resolve-mediatype.js +23 -23
  230. package/dist/src/utils/sha1.d.ts +2 -2
  231. package/dist/src/utils/sha1.js +8 -8
  232. package/dist/test/collection-browser.test.d.ts +1 -1
  233. package/dist/test/collection-browser.test.js +1293 -1293
  234. package/dist/test/collection-facets/facet-row.test.d.ts +1 -1
  235. package/dist/test/collection-facets/facet-row.test.js +227 -227
  236. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  237. package/dist/test/collection-facets/facets-template.test.js +91 -91
  238. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  239. package/dist/test/collection-facets/more-facets-content.test.js +141 -141
  240. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  241. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  242. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  243. package/dist/test/collection-facets/toggle-switch.test.js +73 -73
  244. package/dist/test/collection-facets.test.d.ts +2 -2
  245. package/dist/test/collection-facets.test.js +690 -690
  246. package/dist/test/data-source/collection-browser-data-source.test.d.ts +1 -1
  247. package/dist/test/data-source/collection-browser-data-source.test.js +89 -89
  248. package/dist/test/empty-placeholder.test.d.ts +1 -1
  249. package/dist/test/empty-placeholder.test.js +63 -63
  250. package/dist/test/expanded-date-picker.test.d.ts +1 -1
  251. package/dist/test/expanded-date-picker.test.js +95 -95
  252. package/dist/test/icon-overlay.test.d.ts +1 -1
  253. package/dist/test/icon-overlay.test.js +24 -24
  254. package/dist/test/image-block.test.d.ts +1 -1
  255. package/dist/test/image-block.test.js +107 -107
  256. package/dist/test/item-image.test.d.ts +1 -1
  257. package/dist/test/item-image.test.js +85 -85
  258. package/dist/test/manage/manage-bar.test.d.ts +2 -1
  259. package/dist/test/manage/manage-bar.test.js +106 -91
  260. package/dist/test/manage/manage-bar.test.js.map +1 -1
  261. package/dist/test/manage/remove-items-modal-content.test.d.ts +1 -0
  262. package/dist/test/manage/remove-items-modal-content.test.js +66 -0
  263. package/dist/test/manage/remove-items-modal-content.test.js.map +1 -0
  264. package/dist/test/mediatype-config.test.d.ts +1 -1
  265. package/dist/test/mediatype-config.test.js +16 -16
  266. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  267. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  268. package/dist/test/mocks/mock-search-responses.d.ts +25 -25
  269. package/dist/test/mocks/mock-search-responses.js +942 -942
  270. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  271. package/dist/test/mocks/mock-search-service.js +54 -54
  272. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  273. package/dist/test/restoration-state-handler.test.js +270 -270
  274. package/dist/test/review-block.test.d.ts +1 -1
  275. package/dist/test/review-block.test.js +44 -44
  276. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  277. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  278. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  279. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  280. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  281. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +426 -426
  282. package/dist/test/text-overlay.test.d.ts +1 -1
  283. package/dist/test/text-overlay.test.js +38 -38
  284. package/dist/test/text-snippet-block.test.d.ts +1 -1
  285. package/dist/test/text-snippet-block.test.js +57 -57
  286. package/dist/test/tile-stats.test.d.ts +1 -1
  287. package/dist/test/tile-stats.test.js +81 -81
  288. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  289. package/dist/test/tiles/grid/account-tile.test.js +76 -76
  290. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  291. package/dist/test/tiles/grid/collection-tile.test.js +73 -73
  292. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  293. package/dist/test/tiles/grid/item-tile.test.js +312 -312
  294. package/dist/test/tiles/grid/search-tile.test.d.ts +1 -1
  295. package/dist/test/tiles/grid/search-tile.test.js +51 -51
  296. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  297. package/dist/test/tiles/hover/hover-pane-controller.test.js +259 -259
  298. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  299. package/dist/test/tiles/hover/tile-hover-pane.test.js +56 -56
  300. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  301. package/dist/test/tiles/list/tile-list-compact.test.js +143 -143
  302. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  303. package/dist/test/tiles/list/tile-list.test.js +297 -297
  304. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  305. package/dist/test/tiles/tile-dispatcher.test.js +100 -100
  306. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
  307. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  308. package/dist/test/utils/array-equals.test.d.ts +1 -1
  309. package/dist/test/utils/array-equals.test.js +26 -26
  310. package/dist/test/utils/format-count.test.d.ts +1 -1
  311. package/dist/test/utils/format-count.test.js +23 -23
  312. package/dist/test/utils/format-date.test.d.ts +1 -1
  313. package/dist/test/utils/format-date.test.js +30 -30
  314. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  315. package/dist/test/utils/format-unit-size.test.js +17 -17
  316. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  317. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  318. package/local.archive.org.cert +86 -86
  319. package/local.archive.org.key +27 -27
  320. package/package.json +1 -1
  321. package/renovate.json +6 -6
  322. package/src/app-root.ts +38 -4
  323. package/src/collection-browser.ts +36 -16
  324. package/src/manage/manage-bar.ts +119 -23
  325. package/src/manage/remove-items-modal-content.ts +102 -0
  326. package/src/models.ts +10 -0
  327. package/test/manage/manage-bar.test.ts +41 -18
  328. package/test/manage/remove-items-modal-content.test.ts +82 -0
  329. package/web-dev-server.config.mjs +30 -30
  330. package/web-test-runner.config.mjs +41 -41
@@ -1,92 +1,107 @@
1
- /* eslint-disable import/no-duplicates */
2
- import { expect, fixture } from '@open-wc/testing';
3
- import { html } from 'lit';
4
- import Sinon from 'sinon';
5
- import '../../src/manage/manage-bar';
6
- describe('Manage bar', () => {
7
- it('renders basic component', async () => {
8
- var _a, _b, _c, _d;
9
- const el = await fixture(html `<manage-bar></manage-bar>`);
10
- expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.manage-label')).to.exist;
11
- expect((_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.manage-buttons')).to.exist;
12
- expect((_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.ia-button.dark')).to.exist;
13
- expect((_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('.ia-button.danger')).to.exist;
14
- });
15
- it('can set the label', async () => {
16
- var _a, _b;
17
- const el = await fixture(html `<manage-bar label="foo bar"></manage-bar>`);
18
- expect((_b = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.manage-label')) === null || _b === void 0 ? void 0 : _b.textContent).to.equal('foo bar');
19
- });
20
- it('does not include Select All/Unselect All buttons by default', async () => {
21
- var _a, _b;
22
- const el = await fixture(html `<manage-bar></manage-bar>`);
23
- expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.select-all-btn')).not.to.exist;
24
- expect((_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.unselect-all-btn')).not.to.exist;
25
- });
26
- it('does not render item manager button except /search/ page', async () => {
27
- var _a;
28
- const el = await fixture(html `<manage-bar></manage-bar>`);
29
- expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.ia-button.warning')).not.to.exist;
30
- });
31
- it('render item manager button for /search/ page', async () => {
32
- var _a;
33
- const el = await fixture(html `<manage-bar .pageContext=${'search'}></manage-bar>`);
34
- expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.ia-button.warning')).to.exist;
35
- });
36
- it('includes Select All button when requested', async () => {
37
- var _a;
38
- const el = await fixture(html `<manage-bar showSelectAll></manage-bar>`);
39
- expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.select-all-btn')).to.exist;
40
- });
41
- it('includes Unselect All button when requested', async () => {
42
- var _a;
43
- const el = await fixture(html `<manage-bar showUnselectAll></manage-bar>`);
44
- expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.unselect-all-btn')).to.exist;
45
- });
46
- it('default and toggle state of remove button', async () => {
47
- var _a, _b;
48
- const el = await fixture(html `<manage-bar></manage-bar>`);
49
- expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.ia-button.danger:disabled')).to.exist;
50
- el.removeAllowed = true;
51
- await el.updateComplete;
52
- expect((_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.ia-button.danger:disabled')).to.not
53
- .exist;
54
- });
55
- it('emits event when Cancel button clicked', async () => {
56
- var _a;
57
- const spy = Sinon.spy();
58
- const el = await fixture(html `<manage-bar @cancel=${spy}></manage-bar>`);
59
- const cancelBtn = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.ia-button.dark');
60
- expect(cancelBtn).to.exist;
61
- cancelBtn.click();
62
- expect(spy.callCount).to.equal(1);
63
- });
64
- it('emits event when Remove Items button clicked', async () => {
65
- var _a;
66
- const spy = Sinon.spy();
67
- const el = await fixture(html `<manage-bar @removeItems=${spy} removeAllowed></manage-bar>`);
68
- const removeItemsBtn = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.ia-button.danger');
69
- expect(removeItemsBtn).to.exist;
70
- removeItemsBtn.click();
71
- expect(spy.callCount).to.equal(1);
72
- });
73
- it('emits event when Select All button clicked', async () => {
74
- var _a;
75
- const spy = Sinon.spy();
76
- const el = await fixture(html `<manage-bar showSelectAll @selectAll=${spy}></manage-bar>`);
77
- const selectAllBtn = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.select-all-btn');
78
- expect(selectAllBtn).to.exist;
79
- selectAllBtn.click();
80
- expect(spy.callCount).to.equal(1);
81
- });
82
- it('emits event when Unselect All button clicked', async () => {
83
- var _a;
84
- const spy = Sinon.spy();
85
- const el = await fixture(html `<manage-bar showUnselectAll @unselectAll=${spy}></manage-bar>`);
86
- const unselectAllBtn = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.unselect-all-btn');
87
- expect(unselectAllBtn).to.exist;
88
- unselectAllBtn.click();
89
- expect(spy.callCount).to.equal(1);
90
- });
91
- });
1
+ /* eslint-disable import/no-duplicates */
2
+ import { expect, fixture } from '@open-wc/testing';
3
+ import { html } from 'lit';
4
+ import Sinon from 'sinon';
5
+ import '../../src/manage/manage-bar';
6
+ import { ModalManager, } from '@internetarchive/modal-manager';
7
+ import '@internetarchive/modal-manager';
8
+ import { msg } from '@lit/localize';
9
+ describe('Manage bar', () => {
10
+ it('renders basic component', async () => {
11
+ var _a, _b, _c, _d;
12
+ const el = await fixture(html `<manage-bar></manage-bar>`);
13
+ expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.manage-label')).to.exist;
14
+ expect((_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.manage-buttons')).to.exist;
15
+ expect((_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.ia-button.dark')).to.exist;
16
+ expect((_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('.ia-button.danger')).to.exist;
17
+ });
18
+ it('can set the label', async () => {
19
+ var _a, _b;
20
+ const el = await fixture(html `<manage-bar label="foo bar"></manage-bar>`);
21
+ expect((_b = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.manage-label')) === null || _b === void 0 ? void 0 : _b.textContent).to.equal('foo bar');
22
+ });
23
+ it('does not include Select All/Unselect All buttons by default', async () => {
24
+ var _a, _b;
25
+ const el = await fixture(html `<manage-bar></manage-bar>`);
26
+ expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.select-all-btn')).not.to.exist;
27
+ expect((_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.unselect-all-btn')).not.to.exist;
28
+ });
29
+ it('does not render item manager button except /search/ page', async () => {
30
+ var _a;
31
+ const el = await fixture(html `<manage-bar></manage-bar>`);
32
+ expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.ia-button.warning')).not.to.exist;
33
+ });
34
+ it('render item manager button for /search/ page', async () => {
35
+ var _a;
36
+ const el = await fixture(html `<manage-bar showItemManageButton></manage-bar>`);
37
+ expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.ia-button.warning')).to.exist;
38
+ });
39
+ it('includes Select All button when requested', async () => {
40
+ var _a;
41
+ const el = await fixture(html `<manage-bar showSelectAll></manage-bar>`);
42
+ expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.select-all-btn')).to.exist;
43
+ });
44
+ it('includes Unselect All button when requested', async () => {
45
+ var _a;
46
+ const el = await fixture(html `<manage-bar showUnselectAll></manage-bar>`);
47
+ expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.unselect-all-btn')).to.exist;
48
+ });
49
+ it('default and toggle state of remove button', async () => {
50
+ var _a, _b;
51
+ const el = await fixture(html `<manage-bar></manage-bar>`);
52
+ expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.ia-button.danger:disabled')).to.exist;
53
+ el.removeAllowed = true;
54
+ await el.updateComplete;
55
+ expect((_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.ia-button.danger:disabled')).to.not
56
+ .exist;
57
+ });
58
+ it('emits event when Cancel button clicked', async () => {
59
+ var _a;
60
+ const spy = Sinon.spy();
61
+ const el = await fixture(html `<manage-bar @cancel=${spy}></manage-bar>`);
62
+ const cancelBtn = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.ia-button.dark');
63
+ expect(cancelBtn).to.exist;
64
+ cancelBtn.click();
65
+ expect(spy.callCount).to.equal(1);
66
+ });
67
+ it('emits event when Select All button clicked', async () => {
68
+ var _a;
69
+ const spy = Sinon.spy();
70
+ const el = await fixture(html `<manage-bar showSelectAll @selectAll=${spy}></manage-bar>`);
71
+ const selectAllBtn = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.select-all-btn');
72
+ expect(selectAllBtn).to.exist;
73
+ selectAllBtn.click();
74
+ expect(spy.callCount).to.equal(1);
75
+ });
76
+ it('emits event when Unselect All button clicked', async () => {
77
+ var _a;
78
+ const spy = Sinon.spy();
79
+ const el = await fixture(html `<manage-bar showUnselectAll @unselectAll=${spy}></manage-bar>`);
80
+ const unselectAllBtn = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.unselect-all-btn');
81
+ expect(unselectAllBtn).to.exist;
82
+ unselectAllBtn.click();
83
+ expect(spy.callCount).to.equal(1);
84
+ });
85
+ it('opens the remove items modal when showRemoveItemsModal is clicked', async () => {
86
+ var _a, _b, _c, _d;
87
+ const el = await fixture(html `
88
+ <manage-bar
89
+ .modalManager=${new ModalManager()}
90
+ .selectedItems=${[{ identifier: '1', title: 'Item 1' }]}
91
+ removeAllowed
92
+ ></manage-bar>
93
+ `);
94
+ await el.updateComplete;
95
+ const removeButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.ia-button.danger');
96
+ expect(removeButton).to.exist;
97
+ const showModalSpy = Sinon.spy(el.modalManager, 'showModal');
98
+ await el.updateComplete;
99
+ removeButton === null || removeButton === void 0 ? void 0 : removeButton.click();
100
+ console.log((_b = showModalSpy.args[0][0].config.title) === null || _b === void 0 ? void 0 : _b.values[0]);
101
+ expect(showModalSpy.callCount).to.equal(1);
102
+ expect((_c = el.modalManager) === null || _c === void 0 ? void 0 : _c.classList.contains('remove-items')).to.be;
103
+ expect((_d = showModalSpy.args[0][0].config.title) === null || _d === void 0 ? void 0 : _d.values[0]).to.equal(msg('Are you sure you want to remove these items?'));
104
+ expect(showModalSpy.args[0][0].customModalContent).to.exist;
105
+ });
106
+ });
92
107
  //# sourceMappingURL=manage-bar.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"manage-bar.test.js","sourceRoot":"","sources":["../../../test/manage/manage-bar.test.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,6BAA6B,CAAC;AAErC,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;;QACvC,MAAM,EAAE,GAAG,MAAM,OAAO,CAAY,IAAI,CAAA,2BAA2B,CAAC,CAAC;QAErE,MAAM,CAAC,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAC/D,MAAM,CAAC,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QACjE,MAAM,CAAC,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QACjE,MAAM,CAAC,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;;QACjC,MAAM,EAAE,GAAG,MAAM,OAAO,CACtB,IAAI,CAAA,2CAA2C,CAChD,CAAC;QACF,MAAM,CAAC,MAAA,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,eAAe,CAAC,0CAAE,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CACzE,SAAS,CACV,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;;QAC3E,MAAM,EAAE,GAAG,MAAM,OAAO,CAAY,IAAI,CAAA,2BAA2B,CAAC,CAAC;QACrE,MAAM,CAAC,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC;QACrE,MAAM,CAAC,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;;QACxE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAY,IAAI,CAAA,2BAA2B,CAAC,CAAC;QACrE,MAAM,CAAC,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;;QAC5D,MAAM,EAAE,GAAG,MAAM,OAAO,CACtB,IAAI,CAAA,4BAA4B,QAAQ,gBAAgB,CACzD,CAAC;QACF,MAAM,CAAC,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;;QACzD,MAAM,EAAE,GAAG,MAAM,OAAO,CACtB,IAAI,CAAA,yCAAyC,CAC9C,CAAC;QACF,MAAM,CAAC,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;;QAC3D,MAAM,EAAE,GAAG,MAAM,OAAO,CACtB,IAAI,CAAA,2CAA2C,CAChD,CAAC;QACF,MAAM,CAAC,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;;QACzD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAY,IAAI,CAAA,2BAA2B,CAAC,CAAC;QAErE,MAAM,CAAC,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAE5E,EAAE,CAAC,aAAa,GAAG,IAAI,CAAC;QACxB,MAAM,EAAE,CAAC,cAAc,CAAC;QAExB,MAAM,CAAC,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG;aACtE,KAAK,CAAC;IACX,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;;QACtD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QACxB,MAAM,EAAE,GAAG,MAAM,OAAO,CACtB,IAAI,CAAA,uBAAuB,GAAG,gBAAgB,CAC/C,CAAC;QAEF,MAAM,SAAS,GAAG,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAC5C,iBAAiB,CACG,CAAC;QACvB,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAE3B,SAAS,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;;QAC5D,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QACxB,MAAM,EAAE,GAAG,MAAM,OAAO,CACtB,IAAI,CAAA,4BAA4B,GAAG,8BAA8B,CAClE,CAAC;QAEF,MAAM,cAAc,GAAG,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CACjD,mBAAmB,CACC,CAAC;QACvB,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAEhC,cAAc,CAAC,KAAK,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;;QAC1D,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QACxB,MAAM,EAAE,GAAG,MAAM,OAAO,CACtB,IAAI,CAAA,wCAAwC,GAAG,gBAAgB,CAChE,CAAC;QAEF,MAAM,YAAY,GAAG,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAC/C,iBAAiB,CACG,CAAC;QACvB,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAE9B,YAAY,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;;QAC5D,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QACxB,MAAM,EAAE,GAAG,MAAM,OAAO,CACtB,IAAI,CAAA,4CAA4C,GAAG,gBAAgB,CACpE,CAAC;QAEF,MAAM,cAAc,GAAG,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CACjD,mBAAmB,CACC,CAAC;QACvB,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAEhC,cAAc,CAAC,KAAK,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["/* eslint-disable import/no-duplicates */\nimport { expect, fixture } from '@open-wc/testing';\nimport { html } from 'lit';\nimport Sinon from 'sinon';\nimport type { ManageBar } from '../../src/manage/manage-bar';\n\nimport '../../src/manage/manage-bar';\n\ndescribe('Manage bar', () => {\n it('renders basic component', async () => {\n const el = await fixture<ManageBar>(html`<manage-bar></manage-bar>`);\n\n expect(el.shadowRoot?.querySelector('.manage-label')).to.exist;\n expect(el.shadowRoot?.querySelector('.manage-buttons')).to.exist;\n expect(el.shadowRoot?.querySelector('.ia-button.dark')).to.exist;\n expect(el.shadowRoot?.querySelector('.ia-button.danger')).to.exist;\n });\n\n it('can set the label', async () => {\n const el = await fixture<ManageBar>(\n html`<manage-bar label=\"foo bar\"></manage-bar>`\n );\n expect(el.shadowRoot?.querySelector('.manage-label')?.textContent).to.equal(\n 'foo bar'\n );\n });\n\n it('does not include Select All/Unselect All buttons by default', async () => {\n const el = await fixture<ManageBar>(html`<manage-bar></manage-bar>`);\n expect(el.shadowRoot?.querySelector('.select-all-btn')).not.to.exist;\n expect(el.shadowRoot?.querySelector('.unselect-all-btn')).not.to.exist;\n });\n\n it('does not render item manager button except /search/ page', async () => {\n const el = await fixture<ManageBar>(html`<manage-bar></manage-bar>`);\n expect(el.shadowRoot?.querySelector('.ia-button.warning')).not.to.exist;\n });\n\n it('render item manager button for /search/ page', async () => {\n const el = await fixture<ManageBar>(\n html`<manage-bar .pageContext=${'search'}></manage-bar>`\n );\n expect(el.shadowRoot?.querySelector('.ia-button.warning')).to.exist;\n });\n\n it('includes Select All button when requested', async () => {\n const el = await fixture<ManageBar>(\n html`<manage-bar showSelectAll></manage-bar>`\n );\n expect(el.shadowRoot?.querySelector('.select-all-btn')).to.exist;\n });\n\n it('includes Unselect All button when requested', async () => {\n const el = await fixture<ManageBar>(\n html`<manage-bar showUnselectAll></manage-bar>`\n );\n expect(el.shadowRoot?.querySelector('.unselect-all-btn')).to.exist;\n });\n\n it('default and toggle state of remove button', async () => {\n const el = await fixture<ManageBar>(html`<manage-bar></manage-bar>`);\n\n expect(el.shadowRoot?.querySelector('.ia-button.danger:disabled')).to.exist;\n\n el.removeAllowed = true;\n await el.updateComplete;\n\n expect(el.shadowRoot?.querySelector('.ia-button.danger:disabled')).to.not\n .exist;\n });\n\n it('emits event when Cancel button clicked', async () => {\n const spy = Sinon.spy();\n const el = await fixture<ManageBar>(\n html`<manage-bar @cancel=${spy}></manage-bar>`\n );\n\n const cancelBtn = el.shadowRoot?.querySelector(\n '.ia-button.dark'\n ) as HTMLButtonElement;\n expect(cancelBtn).to.exist;\n\n cancelBtn.click();\n expect(spy.callCount).to.equal(1);\n });\n\n it('emits event when Remove Items button clicked', async () => {\n const spy = Sinon.spy();\n const el = await fixture<ManageBar>(\n html`<manage-bar @removeItems=${spy} removeAllowed></manage-bar>`\n );\n\n const removeItemsBtn = el.shadowRoot?.querySelector(\n '.ia-button.danger'\n ) as HTMLButtonElement;\n expect(removeItemsBtn).to.exist;\n\n removeItemsBtn.click();\n expect(spy.callCount).to.equal(1);\n });\n\n it('emits event when Select All button clicked', async () => {\n const spy = Sinon.spy();\n const el = await fixture<ManageBar>(\n html`<manage-bar showSelectAll @selectAll=${spy}></manage-bar>`\n );\n\n const selectAllBtn = el.shadowRoot?.querySelector(\n '.select-all-btn'\n ) as HTMLButtonElement;\n expect(selectAllBtn).to.exist;\n\n selectAllBtn.click();\n expect(spy.callCount).to.equal(1);\n });\n\n it('emits event when Unselect All button clicked', async () => {\n const spy = Sinon.spy();\n const el = await fixture<ManageBar>(\n html`<manage-bar showUnselectAll @unselectAll=${spy}></manage-bar>`\n );\n\n const unselectAllBtn = el.shadowRoot?.querySelector(\n '.unselect-all-btn'\n ) as HTMLButtonElement;\n expect(unselectAllBtn).to.exist;\n\n unselectAllBtn.click();\n expect(spy.callCount).to.equal(1);\n });\n});\n"]}
1
+ {"version":3,"file":"manage-bar.test.js","sourceRoot":"","sources":["../../../test/manage/manage-bar.test.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable import/no-duplicates */\nimport { expect, fixture } from '@open-wc/testing';\nimport { html } from 'lit';\nimport Sinon from 'sinon';\nimport '../../src/manage/manage-bar';\nimport {\n ModalManager,\n ModalManagerInterface,\n} from '@internetarchive/modal-manager';\nimport '@internetarchive/modal-manager';\nimport { msg } from '@lit/localize';\nimport type { ManageBar } from '../../src/manage/manage-bar';\n\ndescribe('Manage bar', () => {\n it('renders basic component', async () => {\n const el = await fixture<ManageBar>(html`<manage-bar></manage-bar>`);\n\n expect(el.shadowRoot?.querySelector('.manage-label')).to.exist;\n expect(el.shadowRoot?.querySelector('.manage-buttons')).to.exist;\n expect(el.shadowRoot?.querySelector('.ia-button.dark')).to.exist;\n expect(el.shadowRoot?.querySelector('.ia-button.danger')).to.exist;\n });\n\n it('can set the label', async () => {\n const el = await fixture<ManageBar>(\n html`<manage-bar label=\"foo bar\"></manage-bar>`\n );\n expect(el.shadowRoot?.querySelector('.manage-label')?.textContent).to.equal(\n 'foo bar'\n );\n });\n\n it('does not include Select All/Unselect All buttons by default', async () => {\n const el = await fixture<ManageBar>(html`<manage-bar></manage-bar>`);\n expect(el.shadowRoot?.querySelector('.select-all-btn')).not.to.exist;\n expect(el.shadowRoot?.querySelector('.unselect-all-btn')).not.to.exist;\n });\n\n it('does not render item manager button except /search/ page', async () => {\n const el = await fixture<ManageBar>(html`<manage-bar></manage-bar>`);\n expect(el.shadowRoot?.querySelector('.ia-button.warning')).not.to.exist;\n });\n\n it('render item manager button for /search/ page', async () => {\n const el = await fixture<ManageBar>(\n html`<manage-bar showItemManageButton></manage-bar>`\n );\n expect(el.shadowRoot?.querySelector('.ia-button.warning')).to.exist;\n });\n\n it('includes Select All button when requested', async () => {\n const el = await fixture<ManageBar>(\n html`<manage-bar showSelectAll></manage-bar>`\n );\n expect(el.shadowRoot?.querySelector('.select-all-btn')).to.exist;\n });\n\n it('includes Unselect All button when requested', async () => {\n const el = await fixture<ManageBar>(\n html`<manage-bar showUnselectAll></manage-bar>`\n );\n expect(el.shadowRoot?.querySelector('.unselect-all-btn')).to.exist;\n });\n\n it('default and toggle state of remove button', async () => {\n const el = await fixture<ManageBar>(html`<manage-bar></manage-bar>`);\n\n expect(el.shadowRoot?.querySelector('.ia-button.danger:disabled')).to.exist;\n\n el.removeAllowed = true;\n await el.updateComplete;\n\n expect(el.shadowRoot?.querySelector('.ia-button.danger:disabled')).to.not\n .exist;\n });\n\n it('emits event when Cancel button clicked', async () => {\n const spy = Sinon.spy();\n const el = await fixture<ManageBar>(\n html`<manage-bar @cancel=${spy}></manage-bar>`\n );\n\n const cancelBtn = el.shadowRoot?.querySelector(\n '.ia-button.dark'\n ) as HTMLButtonElement;\n expect(cancelBtn).to.exist;\n\n cancelBtn.click();\n expect(spy.callCount).to.equal(1);\n });\n\n it('emits event when Select All button clicked', async () => {\n const spy = Sinon.spy();\n const el = await fixture<ManageBar>(\n html`<manage-bar showSelectAll @selectAll=${spy}></manage-bar>`\n );\n\n const selectAllBtn = el.shadowRoot?.querySelector(\n '.select-all-btn'\n ) as HTMLButtonElement;\n expect(selectAllBtn).to.exist;\n\n selectAllBtn.click();\n expect(spy.callCount).to.equal(1);\n });\n\n it('emits event when Unselect All button clicked', async () => {\n const spy = Sinon.spy();\n const el = await fixture<ManageBar>(\n html`<manage-bar showUnselectAll @unselectAll=${spy}></manage-bar>`\n );\n\n const unselectAllBtn = el.shadowRoot?.querySelector(\n '.unselect-all-btn'\n ) as HTMLButtonElement;\n expect(unselectAllBtn).to.exist;\n\n unselectAllBtn.click();\n expect(spy.callCount).to.equal(1);\n });\n\n it('opens the remove items modal when showRemoveItemsModal is clicked', async () => {\n const el = await fixture<ManageBar>(html`\n <manage-bar\n .modalManager=${new ModalManager()}\n .selectedItems=${[{ identifier: '1', title: 'Item 1' }]}\n removeAllowed\n ></manage-bar>\n `);\n await el.updateComplete;\n\n const removeButton = el.shadowRoot?.querySelector(\n '.ia-button.danger'\n ) as HTMLButtonElement;\n expect(removeButton).to.exist;\n\n const showModalSpy = Sinon.spy(\n el.modalManager as ModalManagerInterface,\n 'showModal'\n );\n\n await el.updateComplete;\n removeButton?.click();\n\n console.log(showModalSpy.args[0][0].config.title?.values[0]);\n\n expect(showModalSpy.callCount).to.equal(1);\n expect(el.modalManager?.classList.contains('remove-items')).to.be;\n expect(showModalSpy.args[0][0].config.title?.values[0]).to.equal(\n msg('Are you sure you want to remove these items?')\n );\n expect(showModalSpy.args[0][0].customModalContent).to.exist;\n });\n});\n"]}
@@ -0,0 +1 @@
1
+ import '../../src/manage/remove-items-modal-content';
@@ -0,0 +1,66 @@
1
+ /* eslint-disable import/no-duplicates */
2
+ import { expect, fixture } from '@open-wc/testing';
3
+ import { html } from 'lit';
4
+ import Sinon from 'sinon';
5
+ import '../../src/manage/remove-items-modal-content';
6
+ describe('RemoveItemsModalContent', () => {
7
+ const items = [
8
+ { identifier: '1', title: 'Item 1', date: '2022-01-01' },
9
+ { identifier: '2', title: 'Item 2', date: '2022-01-02' },
10
+ ];
11
+ it('renders basic component', async () => {
12
+ var _a, _b, _c;
13
+ const el = await fixture(html `
14
+ <remove-items-modal-content
15
+ .items=${items}
16
+ .message=${''}
17
+ ></remove-items-modal-content>
18
+ `);
19
+ expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('ul')).to.exist;
20
+ expect((_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.button-bar')).to.exist;
21
+ expect((_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.remove-items-btn')).to.exist;
22
+ });
23
+ it('renders list of items', async () => {
24
+ var _a;
25
+ const el = await fixture(html `
26
+ <remove-items-modal-content
27
+ .items=${items}
28
+ .message=${''}
29
+ ></remove-items-modal-content>
30
+ `);
31
+ const listItems = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('li');
32
+ expect(listItems).to.have.lengthOf(2);
33
+ listItems === null || listItems === void 0 ? void 0 : listItems.forEach((item, index) => {
34
+ var _a, _b;
35
+ expect((_a = item.querySelector('.item-title')) === null || _a === void 0 ? void 0 : _a.textContent).to.equal(items[index].title);
36
+ expect((_b = item.querySelector('.item-date')) === null || _b === void 0 ? void 0 : _b.textContent).to.equal(items[index].date);
37
+ });
38
+ });
39
+ it('renders message', async () => {
40
+ var _a, _b;
41
+ const message = 'This is a test message';
42
+ const el = await fixture(html `
43
+ <remove-items-modal-content
44
+ .items=${[]}
45
+ .message=${message}
46
+ ></remove-items-modal-content>
47
+ `);
48
+ expect((_b = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.message')) === null || _b === void 0 ? void 0 : _b.textContent).to.equal(message);
49
+ });
50
+ it('dispatches confirm event when remove items button is clicked', async () => {
51
+ var _a;
52
+ const el = await fixture(html `
53
+ <remove-items-modal-content
54
+ .items=${items}
55
+ .message=${''}
56
+ ></remove-items-modal-content>
57
+ `);
58
+ const spy = Sinon.spy();
59
+ el.addEventListener('confirm', spy);
60
+ const button = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.remove-items-btn');
61
+ button === null || button === void 0 ? void 0 : button.click();
62
+ expect(spy.calledOnce).to.be.true;
63
+ expect(spy.args[0][0].detail.items).to.deep.equal(items);
64
+ });
65
+ });
66
+ //# sourceMappingURL=remove-items-modal-content.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove-items-modal-content.test.js","sourceRoot":"","sources":["../../../test/manage/remove-items-modal-content.test.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,6CAA6C,CAAC;AAErD,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,MAAM,KAAK,GAAqB;QAC9B,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE;QACxD,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE;KACzD,CAAC;IAEF,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;;QACvC,MAAM,EAAE,GAAG,MAAM,OAAO,CAA0B,IAAI,CAAA;;iBAEzC,KAAK;mBACH,EAAE;;KAEhB,CAAC,CAAC;QAEH,MAAM,CAAC,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QACpD,MAAM,CAAC,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAC7D,MAAM,CAAC,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;;QACrC,MAAM,EAAE,GAAG,MAAM,OAAO,CAA0B,IAAI,CAAA;;iBAEzC,KAAK;mBACH,EAAE;;KAEhB,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,MAAA,EAAE,CAAC,UAAU,0CAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAEtC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;;YACjC,MAAM,CAAC,MAAA,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,0CAAE,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CAC7D,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CACnB,CAAC;YACF,MAAM,CAAC,MAAA,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,0CAAE,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CAC5D,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAClB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;;QAC/B,MAAM,OAAO,GAAG,wBAAwB,CAAC;QACzC,MAAM,EAAE,GAAG,MAAM,OAAO,CAA0B,IAAI,CAAA;;iBAEzC,EAAE;mBACA,OAAO;;KAErB,CAAC,CAAC;QAEH,MAAM,CAAC,MAAA,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,UAAU,CAAC,0CAAE,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CACpE,OAAO,CACR,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;;QAC5E,MAAM,EAAE,GAAG,MAAM,OAAO,CAA0B,IAAI,CAAA;;iBAEzC,KAAK;mBACH,EAAE;;KAEhB,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QACxB,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAEpC,MAAM,MAAM,GAAG,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CACzC,mBAAmB,CACA,CAAC;QACtB,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,EAAE,CAAC;QAEhB,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["/* eslint-disable import/no-duplicates */\nimport { expect, fixture } from '@open-wc/testing';\nimport { html } from 'lit';\nimport Sinon from 'sinon';\nimport type { ManageableItem } from '../../src/models';\nimport type { RemoveItemsModalContent } from '../../src/manage/remove-items-modal-content';\nimport '../../src/manage/remove-items-modal-content';\n\ndescribe('RemoveItemsModalContent', () => {\n const items: ManageableItem[] = [\n { identifier: '1', title: 'Item 1', date: '2022-01-01' },\n { identifier: '2', title: 'Item 2', date: '2022-01-02' },\n ];\n\n it('renders basic component', async () => {\n const el = await fixture<RemoveItemsModalContent>(html`\n <remove-items-modal-content\n .items=${items}\n .message=${''}\n ></remove-items-modal-content>\n `);\n\n expect(el.shadowRoot?.querySelector('ul')).to.exist;\n expect(el.shadowRoot?.querySelector('.button-bar')).to.exist;\n expect(el.shadowRoot?.querySelector('.remove-items-btn')).to.exist;\n });\n\n it('renders list of items', async () => {\n const el = await fixture<RemoveItemsModalContent>(html`\n <remove-items-modal-content\n .items=${items}\n .message=${''}\n ></remove-items-modal-content>\n `);\n\n const listItems = el.shadowRoot?.querySelectorAll('li');\n expect(listItems).to.have.lengthOf(2);\n\n listItems?.forEach((item, index) => {\n expect(item.querySelector('.item-title')?.textContent).to.equal(\n items[index].title\n );\n expect(item.querySelector('.item-date')?.textContent).to.equal(\n items[index].date\n );\n });\n });\n\n it('renders message', async () => {\n const message = 'This is a test message';\n const el = await fixture<RemoveItemsModalContent>(html`\n <remove-items-modal-content\n .items=${[]}\n .message=${message}\n ></remove-items-modal-content>\n `);\n\n expect(el.shadowRoot?.querySelector('.message')?.textContent).to.equal(\n message\n );\n });\n\n it('dispatches confirm event when remove items button is clicked', async () => {\n const el = await fixture<RemoveItemsModalContent>(html`\n <remove-items-modal-content\n .items=${items}\n .message=${''}\n ></remove-items-modal-content>\n `);\n\n const spy = Sinon.spy();\n el.addEventListener('confirm', spy);\n\n const button = el.shadowRoot?.querySelector(\n '.remove-items-btn'\n ) as HTMLInputElement;\n button?.click();\n\n expect(spy.calledOnce).to.be.true;\n expect(spy.args[0][0].detail.items).to.deep.equal(items);\n });\n});\n"]}
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1,17 +1,17 @@
1
- import { expect } from '@open-wc/testing';
2
- import { mediatypeConfig } from '../src/mediatype/mediatype-config';
3
- describe('mediatypeConfig', () => {
4
- it('returns undefined', () => {
5
- expect(mediatypeConfig['']).to.equal(undefined);
6
- expect(mediatypeConfig.test).to.equal(undefined);
7
- expect(mediatypeConfig.media).to.equal(undefined);
8
- expect(mediatypeConfig.testing).to.equal(undefined);
9
- });
10
- it('returns audio', () => {
11
- expect(mediatypeConfig.audio).to.exist;
12
- expect(mediatypeConfig.audio.color).to.exist;
13
- expect(mediatypeConfig.audio.icon).to.exist;
14
- expect(mediatypeConfig.audio.text).to.exist;
15
- });
16
- });
1
+ import { expect } from '@open-wc/testing';
2
+ import { mediatypeConfig } from '../src/mediatype/mediatype-config';
3
+ describe('mediatypeConfig', () => {
4
+ it('returns undefined', () => {
5
+ expect(mediatypeConfig['']).to.equal(undefined);
6
+ expect(mediatypeConfig.test).to.equal(undefined);
7
+ expect(mediatypeConfig.media).to.equal(undefined);
8
+ expect(mediatypeConfig.testing).to.equal(undefined);
9
+ });
10
+ it('returns audio', () => {
11
+ expect(mediatypeConfig.audio).to.exist;
12
+ expect(mediatypeConfig.audio.color).to.exist;
13
+ expect(mediatypeConfig.audio.icon).to.exist;
14
+ expect(mediatypeConfig.audio.text).to.exist;
15
+ });
16
+ });
17
17
  //# sourceMappingURL=mediatype-config.test.js.map
@@ -1,10 +1,10 @@
1
- import type { AnalyticsEvent, AnalyticsManagerInterface } from '@internetarchive/analytics-manager';
2
- export declare class MockAnalyticsHandler implements AnalyticsManagerInterface {
3
- callCategory?: string;
4
- callAction?: string;
5
- callLabel?: string;
6
- callEventConfiguration?: object;
7
- sendPing(): void;
8
- sendEvent(options: AnalyticsEvent): void;
9
- sendEventNoSampling(options: AnalyticsEvent): void;
10
- }
1
+ import type { AnalyticsEvent, AnalyticsManagerInterface } from '@internetarchive/analytics-manager';
2
+ export declare class MockAnalyticsHandler implements AnalyticsManagerInterface {
3
+ callCategory?: string;
4
+ callAction?: string;
5
+ callLabel?: string;
6
+ callEventConfiguration?: object;
7
+ sendPing(): void;
8
+ sendEvent(options: AnalyticsEvent): void;
9
+ sendEventNoSampling(options: AnalyticsEvent): void;
10
+ }
@@ -1,16 +1,16 @@
1
- export class MockAnalyticsHandler {
2
- sendPing() { }
3
- sendEvent(options) {
4
- this.callCategory = options.category;
5
- this.callAction = options.action;
6
- this.callLabel = options.label;
7
- this.callEventConfiguration = options.eventConfiguration;
8
- }
9
- sendEventNoSampling(options) {
10
- this.callCategory = options.category;
11
- this.callAction = options.action;
12
- this.callLabel = options.label;
13
- this.callEventConfiguration = options.eventConfiguration;
14
- }
15
- }
1
+ export class MockAnalyticsHandler {
2
+ sendPing() { }
3
+ sendEvent(options) {
4
+ this.callCategory = options.category;
5
+ this.callAction = options.action;
6
+ this.callLabel = options.label;
7
+ this.callEventConfiguration = options.eventConfiguration;
8
+ }
9
+ sendEventNoSampling(options) {
10
+ this.callCategory = options.category;
11
+ this.callAction = options.action;
12
+ this.callLabel = options.label;
13
+ this.callEventConfiguration = options.eventConfiguration;
14
+ }
15
+ }
16
16
  //# sourceMappingURL=mock-analytics-handler.js.map
@@ -1,25 +1,25 @@
1
- import type { Result } from '@internetarchive/result-type';
2
- import { SearchResponse, SearchServiceError } from '@internetarchive/search-service';
3
- export declare const getMockSuccessSingleResult: () => Result<SearchResponse, SearchServiceError>;
4
- export declare const getMockSuccessManyFields: () => Result<SearchResponse, SearchServiceError>;
5
- export declare const getMockSuccessWithYearHistogramAggs: () => Result<SearchResponse, SearchServiceError>;
6
- export declare const getMockSuccessLoggedInResult: () => Result<SearchResponse, SearchServiceError>;
7
- export declare const getMockSuccessNoPreviewResult: () => Result<SearchResponse, SearchServiceError>;
8
- export declare const getMockSuccessLoggedInAndNoPreviewResult: () => Result<SearchResponse, SearchServiceError>;
9
- export declare const getMockSuccessFirstTitleResult: () => Result<SearchResponse, SearchServiceError>;
10
- export declare const getMockSuccessFirstCreatorResult: () => Result<SearchResponse, SearchServiceError>;
11
- export declare const getMockSuccessWithCollectionTitles: () => Result<SearchResponse, SearchServiceError>;
12
- export declare const getMockSuccessWithCollectionAggregations: () => Result<SearchResponse, SearchServiceError>;
13
- export declare const getMockSuccessSingleResultWithSort: (resultsSpy: Function) => Result<SearchResponse, SearchServiceError>;
14
- export declare const getMockSuccessMultipleResults: () => Result<SearchResponse, SearchServiceError>;
15
- export declare const getMockSuccessNoResults: () => Result<SearchResponse, SearchServiceError>;
16
- export declare const getMockSuccessMultiLineDescription: () => Result<SearchResponse, SearchServiceError>;
17
- export declare const getMockSuccessExtraQuotedHref: () => Result<SearchResponse, SearchServiceError>;
18
- export declare const getMockSuccessWithDefaultSort: () => Result<SearchResponse, SearchServiceError>;
19
- export declare const getMockSuccessWithConciseDefaultSort: () => Result<SearchResponse, SearchServiceError>;
20
- export declare const getMockSuccessWithDefaultFavSort: () => Result<SearchResponse, SearchServiceError>;
21
- export declare const getMockSuccessWithParentCollections: () => Result<SearchResponse, SearchServiceError>;
22
- export declare const getMockSuccessWithWebArchiveHits: () => Result<SearchResponse, SearchServiceError>;
23
- export declare const getMockSuccessWithManyAggregations: () => Result<SearchResponse, SearchServiceError>;
24
- export declare const getMockErrorResult: () => Result<SearchResponse, SearchServiceError>;
25
- export declare const getMockMalformedResult: () => Result<SearchResponse, SearchServiceError>;
1
+ import type { Result } from '@internetarchive/result-type';
2
+ import { SearchResponse, SearchServiceError } from '@internetarchive/search-service';
3
+ export declare const getMockSuccessSingleResult: () => Result<SearchResponse, SearchServiceError>;
4
+ export declare const getMockSuccessManyFields: () => Result<SearchResponse, SearchServiceError>;
5
+ export declare const getMockSuccessWithYearHistogramAggs: () => Result<SearchResponse, SearchServiceError>;
6
+ export declare const getMockSuccessLoggedInResult: () => Result<SearchResponse, SearchServiceError>;
7
+ export declare const getMockSuccessNoPreviewResult: () => Result<SearchResponse, SearchServiceError>;
8
+ export declare const getMockSuccessLoggedInAndNoPreviewResult: () => Result<SearchResponse, SearchServiceError>;
9
+ export declare const getMockSuccessFirstTitleResult: () => Result<SearchResponse, SearchServiceError>;
10
+ export declare const getMockSuccessFirstCreatorResult: () => Result<SearchResponse, SearchServiceError>;
11
+ export declare const getMockSuccessWithCollectionTitles: () => Result<SearchResponse, SearchServiceError>;
12
+ export declare const getMockSuccessWithCollectionAggregations: () => Result<SearchResponse, SearchServiceError>;
13
+ export declare const getMockSuccessSingleResultWithSort: (resultsSpy: Function) => Result<SearchResponse, SearchServiceError>;
14
+ export declare const getMockSuccessMultipleResults: () => Result<SearchResponse, SearchServiceError>;
15
+ export declare const getMockSuccessNoResults: () => Result<SearchResponse, SearchServiceError>;
16
+ export declare const getMockSuccessMultiLineDescription: () => Result<SearchResponse, SearchServiceError>;
17
+ export declare const getMockSuccessExtraQuotedHref: () => Result<SearchResponse, SearchServiceError>;
18
+ export declare const getMockSuccessWithDefaultSort: () => Result<SearchResponse, SearchServiceError>;
19
+ export declare const getMockSuccessWithConciseDefaultSort: () => Result<SearchResponse, SearchServiceError>;
20
+ export declare const getMockSuccessWithDefaultFavSort: () => Result<SearchResponse, SearchServiceError>;
21
+ export declare const getMockSuccessWithParentCollections: () => Result<SearchResponse, SearchServiceError>;
22
+ export declare const getMockSuccessWithWebArchiveHits: () => Result<SearchResponse, SearchServiceError>;
23
+ export declare const getMockSuccessWithManyAggregations: () => Result<SearchResponse, SearchServiceError>;
24
+ export declare const getMockErrorResult: () => Result<SearchResponse, SearchServiceError>;
25
+ export declare const getMockMalformedResult: () => Result<SearchResponse, SearchServiceError>;