@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,377 +1,377 @@
1
- /* eslint-disable import/no-duplicates */
2
- import { expect, fixture } from '@open-wc/testing';
3
- import sinon from 'sinon';
4
- import { html } from 'lit';
5
- import '../../../src/tiles/grid/item-tile';
6
- describe('Item Tile', () => {
7
- it('should render initial component', async () => {
8
- var _a, _b, _c, _d, _e;
9
- const el = await fixture(html `<item-tile></item-tile>`);
10
- const container = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.container');
11
- const tileDetails = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.tile-details');
12
- const itemInfo = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.item-info');
13
- const itemTitle = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('#title');
14
- const imageBlock = (_e = el.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelector('image-block');
15
- expect(container).to.exist;
16
- expect(tileDetails).to.exist;
17
- expect(itemInfo).to.exist;
18
- expect(imageBlock).to.exist;
19
- expect(itemTitle).to.exist;
20
- });
21
- it('should render with created-by element', async () => {
22
- var _a, _b, _c, _d, _e;
23
- const el = await fixture(html `<item-tile .model=${{ creator: 'someone' }}></item-tile>`);
24
- const container = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.container');
25
- const tileDetails = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.tile-details');
26
- const itemInfo = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.item-info');
27
- const createdBy = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('.created-by');
28
- const truncatedCreatorText = createdBy === null || createdBy === void 0 ? void 0 : createdBy.querySelector('.truncated');
29
- const dateSortedBy = (_e = el.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelector('.date-sorted-by');
30
- expect(container).to.exist;
31
- expect(tileDetails).to.exist;
32
- expect(itemInfo).to.exist;
33
- expect(createdBy).to.exist;
34
- expect(truncatedCreatorText).to.exist;
35
- expect(dateSortedBy).to.not.exist;
36
- });
37
- it('should not render with created-by but date element', async () => {
38
- var _a, _b;
39
- const el = await fixture(html `<item-tile .model=${{ datePublished: new Date() }}></item-tile>`);
40
- el.sortParam = {
41
- field: 'date',
42
- direction: 'desc',
43
- };
44
- await el.updateComplete;
45
- const createdBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.created-by');
46
- const dateSortedBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.date-sorted-by');
47
- expect(createdBy).to.not.exist;
48
- expect(dateSortedBy).to.exist;
49
- });
50
- it('should not render with created-by but reviewdate element', async () => {
51
- var _a, _b;
52
- const el = await fixture(html `<item-tile .model=${{ dateReviewed: new Date() }}></item-tile>`);
53
- el.sortParam = {
54
- field: 'reviewdate',
55
- direction: 'desc',
56
- };
57
- await el.updateComplete;
58
- const createdBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.created-by');
59
- const dateSortedBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.date-sorted-by');
60
- expect(createdBy).to.not.exist;
61
- expect(dateSortedBy).to.exist;
62
- });
63
- it('should not render with created-by but publicdate element', async () => {
64
- var _a, _b;
65
- const el = await fixture(html `<item-tile .model=${{ dateArchived: new Date() }}></item-tile>`);
66
- el.sortParam = {
67
- field: 'publicdate',
68
- direction: 'desc',
69
- };
70
- await el.updateComplete;
71
- const createdBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.created-by');
72
- const dateSortedBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.date-sorted-by');
73
- expect(createdBy).to.not.exist;
74
- expect(dateSortedBy).to.exist;
75
- });
76
- it('should not render date-sorted-by element if date is not provided', async () => {
77
- var _a, _b;
78
- const el = await fixture(html `<item-tile .model=${{ dateArchived: undefined }}></item-tile>`);
79
- el.sortParam = {
80
- field: 'publicdate',
81
- direction: 'desc',
82
- };
83
- await el.updateComplete;
84
- const createdBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.created-by');
85
- const dateSortedBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.date-sorted-by');
86
- expect(createdBy).to.not.exist;
87
- expect(dateSortedBy).to.not.exist;
88
- });
89
- it('should render without created-by when sorting by a date field', async () => {
90
- var _a, _b, _c;
91
- const el = await fixture(html `<item-tile .model=${{ dateAdded: new Date() }}></item-tile>`);
92
- el.sortParam = {
93
- field: 'addeddate',
94
- direction: 'asc',
95
- };
96
- await el.updateComplete;
97
- const itemInfo = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.item-info');
98
- const createdBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.created-by');
99
- const dateSortedBy = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.date-sorted-by');
100
- expect(itemInfo).to.exist;
101
- expect(createdBy).to.not.exist;
102
- expect(dateSortedBy).to.exist;
103
- });
104
- it('should render with created-by when sort field is not a date', async () => {
105
- var _a, _b, _c;
106
- const el = await fixture(html `<item-tile .model=${{ creator: 'someone' }}></item-tile>`);
107
- el.sortParam = {
108
- field: 'week',
109
- direction: 'asc',
110
- };
111
- await el.updateComplete;
112
- const itemInfo = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.item-info');
113
- const createdBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.created-by');
114
- const dateSortedBy = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.date-sorted-by');
115
- expect(itemInfo).to.exist;
116
- expect(dateSortedBy).to.not.exist; // it should not exist because this is not a date sort
117
- expect(createdBy).to.exist;
118
- });
119
- it('should render published date when sorting by it', async () => {
120
- var _a, _b;
121
- const model = {
122
- dateAdded: new Date(2010, 0, 2),
123
- dateArchived: new Date(2011, 0, 2),
124
- datePublished: new Date(2012, 0, 2),
125
- dateReviewed: new Date(2013, 0, 2),
126
- };
1
+ /* eslint-disable import/no-duplicates */
2
+ import { expect, fixture } from '@open-wc/testing';
3
+ import sinon from 'sinon';
4
+ import { html } from 'lit';
5
+ import '../../../src/tiles/grid/item-tile';
6
+ describe('Item Tile', () => {
7
+ it('should render initial component', async () => {
8
+ var _a, _b, _c, _d, _e;
9
+ const el = await fixture(html `<item-tile></item-tile>`);
10
+ const container = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.container');
11
+ const tileDetails = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.tile-details');
12
+ const itemInfo = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.item-info');
13
+ const itemTitle = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('#title');
14
+ const imageBlock = (_e = el.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelector('image-block');
15
+ expect(container).to.exist;
16
+ expect(tileDetails).to.exist;
17
+ expect(itemInfo).to.exist;
18
+ expect(imageBlock).to.exist;
19
+ expect(itemTitle).to.exist;
20
+ });
21
+ it('should render with created-by element', async () => {
22
+ var _a, _b, _c, _d, _e;
23
+ const el = await fixture(html `<item-tile .model=${{ creator: 'someone' }}></item-tile>`);
24
+ const container = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.container');
25
+ const tileDetails = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.tile-details');
26
+ const itemInfo = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.item-info');
27
+ const createdBy = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('.created-by');
28
+ const truncatedCreatorText = createdBy === null || createdBy === void 0 ? void 0 : createdBy.querySelector('.truncated');
29
+ const dateSortedBy = (_e = el.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelector('.date-sorted-by');
30
+ expect(container).to.exist;
31
+ expect(tileDetails).to.exist;
32
+ expect(itemInfo).to.exist;
33
+ expect(createdBy).to.exist;
34
+ expect(truncatedCreatorText).to.exist;
35
+ expect(dateSortedBy).to.not.exist;
36
+ });
37
+ it('should not render with created-by but date element', async () => {
38
+ var _a, _b;
39
+ const el = await fixture(html `<item-tile .model=${{ datePublished: new Date() }}></item-tile>`);
40
+ el.sortParam = {
41
+ field: 'date',
42
+ direction: 'desc',
43
+ };
44
+ await el.updateComplete;
45
+ const createdBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.created-by');
46
+ const dateSortedBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.date-sorted-by');
47
+ expect(createdBy).to.not.exist;
48
+ expect(dateSortedBy).to.exist;
49
+ });
50
+ it('should not render with created-by but reviewdate element', async () => {
51
+ var _a, _b;
52
+ const el = await fixture(html `<item-tile .model=${{ dateReviewed: new Date() }}></item-tile>`);
53
+ el.sortParam = {
54
+ field: 'reviewdate',
55
+ direction: 'desc',
56
+ };
57
+ await el.updateComplete;
58
+ const createdBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.created-by');
59
+ const dateSortedBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.date-sorted-by');
60
+ expect(createdBy).to.not.exist;
61
+ expect(dateSortedBy).to.exist;
62
+ });
63
+ it('should not render with created-by but publicdate element', async () => {
64
+ var _a, _b;
65
+ const el = await fixture(html `<item-tile .model=${{ dateArchived: new Date() }}></item-tile>`);
66
+ el.sortParam = {
67
+ field: 'publicdate',
68
+ direction: 'desc',
69
+ };
70
+ await el.updateComplete;
71
+ const createdBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.created-by');
72
+ const dateSortedBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.date-sorted-by');
73
+ expect(createdBy).to.not.exist;
74
+ expect(dateSortedBy).to.exist;
75
+ });
76
+ it('should not render date-sorted-by element if date is not provided', async () => {
77
+ var _a, _b;
78
+ const el = await fixture(html `<item-tile .model=${{ dateArchived: undefined }}></item-tile>`);
79
+ el.sortParam = {
80
+ field: 'publicdate',
81
+ direction: 'desc',
82
+ };
83
+ await el.updateComplete;
84
+ const createdBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.created-by');
85
+ const dateSortedBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.date-sorted-by');
86
+ expect(createdBy).to.not.exist;
87
+ expect(dateSortedBy).to.not.exist;
88
+ });
89
+ it('should render without created-by when sorting by a date field', async () => {
90
+ var _a, _b, _c;
91
+ const el = await fixture(html `<item-tile .model=${{ dateAdded: new Date() }}></item-tile>`);
92
+ el.sortParam = {
93
+ field: 'addeddate',
94
+ direction: 'asc',
95
+ };
96
+ await el.updateComplete;
97
+ const itemInfo = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.item-info');
98
+ const createdBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.created-by');
99
+ const dateSortedBy = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.date-sorted-by');
100
+ expect(itemInfo).to.exist;
101
+ expect(createdBy).to.not.exist;
102
+ expect(dateSortedBy).to.exist;
103
+ });
104
+ it('should render with created-by when sort field is not a date', async () => {
105
+ var _a, _b, _c;
106
+ const el = await fixture(html `<item-tile .model=${{ creator: 'someone' }}></item-tile>`);
107
+ el.sortParam = {
108
+ field: 'week',
109
+ direction: 'asc',
110
+ };
111
+ await el.updateComplete;
112
+ const itemInfo = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.item-info');
113
+ const createdBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.created-by');
114
+ const dateSortedBy = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.date-sorted-by');
115
+ expect(itemInfo).to.exist;
116
+ expect(dateSortedBy).to.not.exist; // it should not exist because this is not a date sort
117
+ expect(createdBy).to.exist;
118
+ });
119
+ it('should render published date when sorting by it', async () => {
120
+ var _a, _b;
121
+ const model = {
122
+ dateAdded: new Date(2010, 0, 2),
123
+ dateArchived: new Date(2011, 0, 2),
124
+ datePublished: new Date(2012, 0, 2),
125
+ dateReviewed: new Date(2013, 0, 2),
126
+ };
127
127
  const el = await fixture(html `
128
128
  <item-tile
129
129
  .model=${model}
130
130
  .sortParam=${{ field: 'date', direction: 'desc' }}
131
131
  >
132
132
  </item-tile>
133
- `);
134
- const dateSortedBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.date-sorted-by');
135
- expect(dateSortedBy).to.exist;
136
- expect((_b = dateSortedBy === null || dateSortedBy === void 0 ? void 0 : dateSortedBy.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.contain('published Jan 02, 2012');
137
- });
138
- it('should render added date when sorting by it', async () => {
139
- var _a, _b;
140
- const model = {
141
- dateAdded: new Date(2010, 0, 2),
142
- dateArchived: new Date(2011, 0, 2),
143
- datePublished: new Date(2012, 0, 2),
144
- dateReviewed: new Date(2013, 0, 2),
145
- };
133
+ `);
134
+ const dateSortedBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.date-sorted-by');
135
+ expect(dateSortedBy).to.exist;
136
+ expect((_b = dateSortedBy === null || dateSortedBy === void 0 ? void 0 : dateSortedBy.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.contain('published Jan 02, 2012');
137
+ });
138
+ it('should render added date when sorting by it', async () => {
139
+ var _a, _b;
140
+ const model = {
141
+ dateAdded: new Date(2010, 0, 2),
142
+ dateArchived: new Date(2011, 0, 2),
143
+ datePublished: new Date(2012, 0, 2),
144
+ dateReviewed: new Date(2013, 0, 2),
145
+ };
146
146
  const el = await fixture(html `
147
147
  <item-tile
148
148
  .model=${model}
149
149
  .sortParam=${{ field: 'addeddate', direction: 'desc' }}
150
150
  >
151
151
  </item-tile>
152
- `);
153
- const dateSortedBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.date-sorted-by');
154
- expect(dateSortedBy).to.exist;
155
- expect((_b = dateSortedBy === null || dateSortedBy === void 0 ? void 0 : dateSortedBy.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.contain('added Jan 02, 2010');
156
- });
157
- it('should render archived date when sorting by it', async () => {
158
- var _a, _b;
159
- const model = {
160
- dateAdded: new Date(2010, 0, 2),
161
- dateArchived: new Date(2011, 0, 2),
162
- datePublished: new Date(2012, 0, 2),
163
- dateReviewed: new Date(2013, 0, 2),
164
- };
152
+ `);
153
+ const dateSortedBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.date-sorted-by');
154
+ expect(dateSortedBy).to.exist;
155
+ expect((_b = dateSortedBy === null || dateSortedBy === void 0 ? void 0 : dateSortedBy.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.contain('added Jan 02, 2010');
156
+ });
157
+ it('should render archived date when sorting by it', async () => {
158
+ var _a, _b;
159
+ const model = {
160
+ dateAdded: new Date(2010, 0, 2),
161
+ dateArchived: new Date(2011, 0, 2),
162
+ datePublished: new Date(2012, 0, 2),
163
+ dateReviewed: new Date(2013, 0, 2),
164
+ };
165
165
  const el = await fixture(html `
166
166
  <item-tile
167
167
  .model=${model}
168
168
  .sortParam=${{ field: 'publicdate', direction: 'desc' }}
169
169
  >
170
170
  </item-tile>
171
- `);
172
- const dateSortedBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.date-sorted-by');
173
- expect(dateSortedBy).to.exist;
174
- expect((_b = dateSortedBy === null || dateSortedBy === void 0 ? void 0 : dateSortedBy.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.contain('archived Jan 02, 2011');
175
- });
176
- it('should render reviewed date when sorting by it', async () => {
177
- var _a, _b;
178
- const model = {
179
- dateAdded: new Date(2010, 0, 2),
180
- dateArchived: new Date(2011, 0, 2),
181
- datePublished: new Date(2012, 0, 2),
182
- dateReviewed: new Date(2013, 0, 2),
183
- };
171
+ `);
172
+ const dateSortedBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.date-sorted-by');
173
+ expect(dateSortedBy).to.exist;
174
+ expect((_b = dateSortedBy === null || dateSortedBy === void 0 ? void 0 : dateSortedBy.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.contain('archived Jan 02, 2011');
175
+ });
176
+ it('should render reviewed date when sorting by it', async () => {
177
+ var _a, _b;
178
+ const model = {
179
+ dateAdded: new Date(2010, 0, 2),
180
+ dateArchived: new Date(2011, 0, 2),
181
+ datePublished: new Date(2012, 0, 2),
182
+ dateReviewed: new Date(2013, 0, 2),
183
+ };
184
184
  const el = await fixture(html `
185
185
  <item-tile
186
186
  .model=${model}
187
187
  .sortParam=${{ field: 'reviewdate', direction: 'desc' }}
188
188
  >
189
189
  </item-tile>
190
- `);
191
- const dateSortedBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.date-sorted-by');
192
- expect(dateSortedBy).to.exist;
193
- expect((_b = dateSortedBy === null || dateSortedBy === void 0 ? void 0 : dateSortedBy.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.contain('reviewed Jan 02, 2013');
194
- });
195
- it('should only show the year for a date published of Jan 1 at midnight UTC', async () => {
196
- var _a, _b;
197
- const model = {
198
- datePublished: new Date(2012, 0, 1, 0, 0, 0, 0),
199
- };
190
+ `);
191
+ const dateSortedBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.date-sorted-by');
192
+ expect(dateSortedBy).to.exist;
193
+ expect((_b = dateSortedBy === null || dateSortedBy === void 0 ? void 0 : dateSortedBy.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.contain('reviewed Jan 02, 2013');
194
+ });
195
+ it('should only show the year for a date published of Jan 1 at midnight UTC', async () => {
196
+ var _a, _b;
197
+ const model = {
198
+ datePublished: new Date(2012, 0, 1, 0, 0, 0, 0),
199
+ };
200
200
  const el = await fixture(html `
201
201
  <item-tile
202
202
  .model=${model}
203
203
  .sortParam=${{ field: 'date', direction: 'desc' }}
204
204
  >
205
205
  </item-tile>
206
- `);
207
- const dateSortedBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.date-sorted-by');
208
- expect(dateSortedBy).to.exist;
209
- expect((_b = dateSortedBy === null || dateSortedBy === void 0 ? void 0 : dateSortedBy.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('published 2012');
210
- });
211
- it('should show full date added/archived/reviewed, even on Jan 1 at midnight UTC', async () => {
212
- var _a, _b, _c, _d, _e, _f;
213
- const model = {
214
- dateAdded: new Date(2010, 0, 1, 0, 0, 0, 0),
215
- dateArchived: new Date(2011, 0, 1, 0, 0, 0, 0),
216
- datePublished: new Date(2012, 0, 1, 0, 0, 0, 0),
217
- dateReviewed: new Date(2013, 0, 1, 0, 0, 0, 0),
218
- };
206
+ `);
207
+ const dateSortedBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.date-sorted-by');
208
+ expect(dateSortedBy).to.exist;
209
+ expect((_b = dateSortedBy === null || dateSortedBy === void 0 ? void 0 : dateSortedBy.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('published 2012');
210
+ });
211
+ it('should show full date added/archived/reviewed, even on Jan 1 at midnight UTC', async () => {
212
+ var _a, _b, _c, _d, _e, _f;
213
+ const model = {
214
+ dateAdded: new Date(2010, 0, 1, 0, 0, 0, 0),
215
+ dateArchived: new Date(2011, 0, 1, 0, 0, 0, 0),
216
+ datePublished: new Date(2012, 0, 1, 0, 0, 0, 0),
217
+ dateReviewed: new Date(2013, 0, 1, 0, 0, 0, 0),
218
+ };
219
219
  const el = await fixture(html `
220
220
  <item-tile
221
221
  .model=${model}
222
222
  .sortParam=${{ field: 'addeddate', direction: 'desc' }}
223
223
  >
224
224
  </item-tile>
225
- `);
226
- let dateSortedBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.date-sorted-by');
227
- expect(dateSortedBy).to.exist;
228
- expect((_b = dateSortedBy === null || dateSortedBy === void 0 ? void 0 : dateSortedBy.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('added Jan 01, 2010');
229
- el.sortParam = { field: 'publicdate', direction: 'desc' };
230
- await el.updateComplete;
231
- dateSortedBy = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.date-sorted-by');
232
- expect(dateSortedBy).to.exist;
233
- expect((_d = dateSortedBy === null || dateSortedBy === void 0 ? void 0 : dateSortedBy.textContent) === null || _d === void 0 ? void 0 : _d.trim()).to.equal('archived Jan 01, 2011');
234
- el.sortParam = { field: 'reviewdate', direction: 'desc' };
235
- await el.updateComplete;
236
- dateSortedBy = (_e = el.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelector('.date-sorted-by');
237
- expect(dateSortedBy).to.exist;
238
- expect((_f = dateSortedBy === null || dateSortedBy === void 0 ? void 0 : dateSortedBy.textContent) === null || _f === void 0 ? void 0 : _f.trim()).to.equal('reviewed Jan 01, 2013');
239
- });
240
- it('should show the first creator matching the letter filter, if defined', async () => {
241
- var _a, _b;
242
- const model = {
243
- creator: 'foo',
244
- creators: ['foo', 'bar', 'baz'],
245
- };
225
+ `);
226
+ let dateSortedBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.date-sorted-by');
227
+ expect(dateSortedBy).to.exist;
228
+ expect((_b = dateSortedBy === null || dateSortedBy === void 0 ? void 0 : dateSortedBy.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('added Jan 01, 2010');
229
+ el.sortParam = { field: 'publicdate', direction: 'desc' };
230
+ await el.updateComplete;
231
+ dateSortedBy = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.date-sorted-by');
232
+ expect(dateSortedBy).to.exist;
233
+ expect((_d = dateSortedBy === null || dateSortedBy === void 0 ? void 0 : dateSortedBy.textContent) === null || _d === void 0 ? void 0 : _d.trim()).to.equal('archived Jan 01, 2011');
234
+ el.sortParam = { field: 'reviewdate', direction: 'desc' };
235
+ await el.updateComplete;
236
+ dateSortedBy = (_e = el.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelector('.date-sorted-by');
237
+ expect(dateSortedBy).to.exist;
238
+ expect((_f = dateSortedBy === null || dateSortedBy === void 0 ? void 0 : dateSortedBy.textContent) === null || _f === void 0 ? void 0 : _f.trim()).to.equal('reviewed Jan 01, 2013');
239
+ });
240
+ it('should show the first creator matching the letter filter, if defined', async () => {
241
+ var _a, _b;
242
+ const model = {
243
+ creator: 'foo',
244
+ creators: ['foo', 'bar', 'baz'],
245
+ };
246
246
  const el = await fixture(html `
247
247
  <item-tile .model=${model} .creatorFilter=${'B'}> </item-tile>
248
- `);
249
- const creator = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.created-by');
250
- expect(creator).to.exist;
251
- expect((_b = creator === null || creator === void 0 ? void 0 : creator.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.match(/by\s+bar/);
252
- });
253
- it('should render with snippet block when it has snippets', async () => {
254
- var _a;
248
+ `);
249
+ const creator = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.created-by');
250
+ expect(creator).to.exist;
251
+ expect((_b = creator === null || creator === void 0 ? void 0 : creator.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.match(/by\s+bar/);
252
+ });
253
+ it('should render with snippet block when it has snippets', async () => {
254
+ var _a;
255
255
  const el = await fixture(html `
256
256
  <item-tile .model=${{ snippets: ['some {{{snippet}}} text'] }}>
257
257
  </item-tile>
258
- `);
259
- const snippetBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-snippet-block');
260
- expect(snippetBlock).to.exist;
261
- });
262
- it('should not render snippet block when no snippets are present', async () => {
263
- var _a;
264
- const el = await fixture(html `<item-tile></item-tile>`);
265
- const snippetBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-snippet-block');
266
- expect(snippetBlock).to.not.exist;
267
- });
268
- it('should render info button when showInfoButton flag is set', async () => {
269
- var _a;
258
+ `);
259
+ const snippetBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-snippet-block');
260
+ expect(snippetBlock).to.exist;
261
+ });
262
+ it('should not render snippet block when no snippets are present', async () => {
263
+ var _a;
264
+ const el = await fixture(html `<item-tile></item-tile>`);
265
+ const snippetBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-snippet-block');
266
+ expect(snippetBlock).to.not.exist;
267
+ });
268
+ it('should render info button when showInfoButton flag is set', async () => {
269
+ var _a;
270
270
  const el = await fixture(html `
271
271
  <item-tile ?showInfoButton=${true}> </item-tile>
272
- `);
273
- const infoButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.info-button');
274
- expect(infoButton).to.exist;
275
- });
276
- it('should dispatch event when info button tapped', async () => {
277
- var _a;
278
- const infoButtonSpy = sinon.spy();
272
+ `);
273
+ const infoButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.info-button');
274
+ expect(infoButton).to.exist;
275
+ });
276
+ it('should dispatch event when info button tapped', async () => {
277
+ var _a;
278
+ const infoButtonSpy = sinon.spy();
279
279
  const el = await fixture(html `
280
280
  <item-tile ?showInfoButton=${true} @infoButtonPressed=${infoButtonSpy}>
281
281
  </item-tile>
282
- `);
283
- const infoButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.info-button');
284
- infoButton.click();
285
- await el.updateComplete;
286
- expect(infoButtonSpy.callCount).to.equal(1);
287
- });
288
- it('should render with volume/issue view', async () => {
289
- var _a;
282
+ `);
283
+ const infoButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.info-button');
284
+ infoButton.click();
285
+ await el.updateComplete;
286
+ expect(infoButtonSpy.callCount).to.equal(1);
287
+ });
288
+ it('should render with volume/issue view', async () => {
289
+ var _a;
290
290
  const el = await fixture(html `
291
291
  <item-tile .model=${{ volume: '1', issue: 'Index' }}></item-tile>
292
- `);
293
- const volumeIssueBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.volume-issue');
294
- expect(volumeIssueBlock).to.exist;
295
- });
296
- it('should render with volume/issue view to not render', async () => {
297
- var _a;
298
- const el = await fixture(html `<item-tile></item-tile>`);
299
- const volumeIssueBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.volume-issue');
300
- expect(volumeIssueBlock).to.not.exist;
301
- });
302
- it('should render web capture date links if present', async () => {
303
- var _a, _b, _c, _d, _e;
304
- const captureDates = [
305
- new Date('2010-01-02T12:34:56Z'),
306
- new Date('2011-02-03T12:43:21Z'),
307
- ];
292
+ `);
293
+ const volumeIssueBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.volume-issue');
294
+ expect(volumeIssueBlock).to.exist;
295
+ });
296
+ it('should render with volume/issue view to not render', async () => {
297
+ var _a;
298
+ const el = await fixture(html `<item-tile></item-tile>`);
299
+ const volumeIssueBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.volume-issue');
300
+ expect(volumeIssueBlock).to.not.exist;
301
+ });
302
+ it('should render web capture date links if present', async () => {
303
+ var _a, _b, _c, _d, _e;
304
+ const captureDates = [
305
+ new Date('2010-01-02T12:34:56Z'),
306
+ new Date('2011-02-03T12:43:21Z'),
307
+ ];
308
308
  const el = await fixture(html `
309
309
  <item-tile
310
- .model=${{
311
- identifier: 'foo',
312
- title: 'https://example.com/',
313
- captureDates,
310
+ .model=${{
311
+ identifier: 'foo',
312
+ title: 'https://example.com/',
313
+ captureDates,
314
314
  }}
315
315
  ></item-tile>
316
- `);
317
- const captureDatesUl = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.capture-dates');
318
- expect(captureDatesUl, 'capture dates container').to.exist;
319
- expect(captureDatesUl === null || captureDatesUl === void 0 ? void 0 : captureDatesUl.children.length).to.equal(2);
320
- const firstDateLink = (_b = captureDatesUl === null || captureDatesUl === void 0 ? void 0 : captureDatesUl.children[0]) === null || _b === void 0 ? void 0 : _b.querySelector('a[href]');
321
- expect(firstDateLink, 'first date link').to.exist;
322
- expect(firstDateLink === null || firstDateLink === void 0 ? void 0 : firstDateLink.getAttribute('href')).to.equal('https://web.archive.org/web/20100102123456/https%3A%2F%2Fexample.com%2F');
323
- expect((_c = firstDateLink === null || firstDateLink === void 0 ? void 0 : firstDateLink.textContent) === null || _c === void 0 ? void 0 : _c.trim()).to.equal('Jan 02, 2010');
324
- const secondDateLink = (_d = captureDatesUl === null || captureDatesUl === void 0 ? void 0 : captureDatesUl.children[1]) === null || _d === void 0 ? void 0 : _d.querySelector('a[href]');
325
- expect(secondDateLink, 'second date link').to.exist;
326
- expect(secondDateLink === null || secondDateLink === void 0 ? void 0 : secondDateLink.getAttribute('href')).to.equal('https://web.archive.org/web/20110203124321/https%3A%2F%2Fexample.com%2F');
327
- expect((_e = secondDateLink === null || secondDateLink === void 0 ? void 0 : secondDateLink.textContent) === null || _e === void 0 ? void 0 : _e.trim()).to.equal('Feb 03, 2011');
328
- });
329
- it('should not render web captures if no title is present', async () => {
330
- var _a;
331
- const captureDates = [
332
- new Date('2010-01-02T12:34:56Z'),
333
- new Date('2011-02-03T12:43:21Z'),
334
- ];
316
+ `);
317
+ const captureDatesUl = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.capture-dates');
318
+ expect(captureDatesUl, 'capture dates container').to.exist;
319
+ expect(captureDatesUl === null || captureDatesUl === void 0 ? void 0 : captureDatesUl.children.length).to.equal(2);
320
+ const firstDateLink = (_b = captureDatesUl === null || captureDatesUl === void 0 ? void 0 : captureDatesUl.children[0]) === null || _b === void 0 ? void 0 : _b.querySelector('a[href]');
321
+ expect(firstDateLink, 'first date link').to.exist;
322
+ expect(firstDateLink === null || firstDateLink === void 0 ? void 0 : firstDateLink.getAttribute('href')).to.equal('https://web.archive.org/web/20100102123456/https%3A%2F%2Fexample.com%2F');
323
+ expect((_c = firstDateLink === null || firstDateLink === void 0 ? void 0 : firstDateLink.textContent) === null || _c === void 0 ? void 0 : _c.trim()).to.equal('Jan 02, 2010');
324
+ const secondDateLink = (_d = captureDatesUl === null || captureDatesUl === void 0 ? void 0 : captureDatesUl.children[1]) === null || _d === void 0 ? void 0 : _d.querySelector('a[href]');
325
+ expect(secondDateLink, 'second date link').to.exist;
326
+ expect(secondDateLink === null || secondDateLink === void 0 ? void 0 : secondDateLink.getAttribute('href')).to.equal('https://web.archive.org/web/20110203124321/https%3A%2F%2Fexample.com%2F');
327
+ expect((_e = secondDateLink === null || secondDateLink === void 0 ? void 0 : secondDateLink.textContent) === null || _e === void 0 ? void 0 : _e.trim()).to.equal('Feb 03, 2011');
328
+ });
329
+ it('should not render web captures if no title is present', async () => {
330
+ var _a;
331
+ const captureDates = [
332
+ new Date('2010-01-02T12:34:56Z'),
333
+ new Date('2011-02-03T12:43:21Z'),
334
+ ];
335
335
  const el = await fixture(html `
336
336
  <item-tile
337
- .model=${{
338
- identifier: 'foo',
339
- captureDates,
337
+ .model=${{
338
+ identifier: 'foo',
339
+ captureDates,
340
340
  }}
341
341
  ></item-tile>
342
- `);
343
- const captureDatesUl = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.capture-dates');
344
- expect(captureDatesUl).not.to.exist;
345
- });
346
- it('should render review snippet if present', async () => {
347
- var _a;
348
- const review = {
349
- title: 'Foo',
350
- body: 'foo bar baz',
351
- stars: 3,
352
- };
342
+ `);
343
+ const captureDatesUl = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.capture-dates');
344
+ expect(captureDatesUl).not.to.exist;
345
+ });
346
+ it('should render review snippet if present', async () => {
347
+ var _a;
348
+ const review = {
349
+ title: 'Foo',
350
+ body: 'foo bar baz',
351
+ stars: 3,
352
+ };
353
353
  const el = await fixture(html `
354
354
  <item-tile
355
- .model=${{
356
- identifier: 'foo',
357
- review,
355
+ .model=${{
356
+ identifier: 'foo',
357
+ review,
358
358
  }}
359
359
  ></item-tile>
360
- `);
361
- const reviewBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('review-block');
362
- expect(reviewBlock).to.exist;
363
- });
364
- it('should not render review snippet block when no review is present', async () => {
365
- var _a;
360
+ `);
361
+ const reviewBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('review-block');
362
+ expect(reviewBlock).to.exist;
363
+ });
364
+ it('should not render review snippet block when no review is present', async () => {
365
+ var _a;
366
366
  const el = await fixture(html `
367
367
  <item-tile
368
- .model=${{
369
- identifier: 'foo',
368
+ .model=${{
369
+ identifier: 'foo',
370
370
  }}
371
371
  ></item-tile>
372
- `);
373
- const reviewBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('review-block');
374
- expect(reviewBlock).not.to.exist;
375
- });
376
- });
372
+ `);
373
+ const reviewBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('review-block');
374
+ expect(reviewBlock).not.to.exist;
375
+ });
376
+ });
377
377
  //# sourceMappingURL=item-tile.test.js.map