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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (490) hide show
  1. package/.github/workflows/ci.yml +3 -3
  2. package/.github/workflows/gh-pages-main.yml +2 -2
  3. package/.github/workflows/pr-preview.yml +2 -2
  4. package/.prettierignore +1 -0
  5. package/dist/index.d.ts +13 -15
  6. package/dist/index.js +11 -15
  7. package/dist/index.js.map +1 -1
  8. package/dist/src/app-root.d.ts +107 -107
  9. package/dist/src/app-root.js +531 -531
  10. package/dist/src/app-root.js.map +1 -1
  11. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  12. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  13. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  14. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  15. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  16. package/dist/src/assets/img/icons/chevron.js +2 -2
  17. package/dist/src/assets/img/icons/contract.d.ts +2 -2
  18. package/dist/src/assets/img/icons/contract.js +2 -2
  19. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  20. package/dist/src/assets/img/icons/empty-query.js +2 -2
  21. package/dist/src/assets/img/icons/expand.d.ts +2 -2
  22. package/dist/src/assets/img/icons/expand.js +2 -2
  23. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  24. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  25. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  26. package/dist/src/assets/img/icons/eye.js +2 -2
  27. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  28. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  29. package/dist/src/assets/img/icons/favorite-unfilled.d.ts +1 -1
  30. package/dist/src/assets/img/icons/favorite-unfilled.js +2 -2
  31. package/dist/src/assets/img/icons/filter.d.ts +2 -2
  32. package/dist/src/assets/img/icons/filter.js +2 -2
  33. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  34. package/dist/src/assets/img/icons/login-required.js +2 -2
  35. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  36. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  37. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  38. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  39. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  40. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  41. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  42. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  43. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  44. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  45. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  46. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  47. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  48. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  49. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  50. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  51. package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -1
  52. package/dist/src/assets/img/icons/mediatype/search.js +2 -2
  53. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  54. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  55. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  56. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  57. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  58. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  59. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  60. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  61. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  62. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  63. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  64. package/dist/src/assets/img/icons/null-result.js +2 -2
  65. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  66. package/dist/src/assets/img/icons/restricted.js +2 -2
  67. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  68. package/dist/src/assets/img/icons/reviews.js +2 -2
  69. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  70. package/dist/src/assets/img/icons/upload.js +2 -2
  71. package/dist/src/assets/img/icons/views.d.ts +1 -1
  72. package/dist/src/assets/img/icons/views.js +2 -2
  73. package/dist/src/circular-activity-indicator.d.ts +5 -5
  74. package/dist/src/circular-activity-indicator.js +17 -17
  75. package/dist/src/circular-activity-indicator.js.map +1 -1
  76. package/dist/src/collection-browser.d.ts +606 -606
  77. package/dist/src/collection-browser.js +1679 -1677
  78. package/dist/src/collection-browser.js.map +1 -1
  79. package/dist/src/collection-facets/facet-row.d.ts +30 -30
  80. package/dist/src/collection-facets/facet-row.js +118 -118
  81. package/dist/src/collection-facets/facet-row.js.map +1 -1
  82. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  83. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  84. package/dist/src/collection-facets/facet-tombstone-row.js.map +1 -1
  85. package/dist/src/collection-facets/facets-template.d.ts +13 -13
  86. package/dist/src/collection-facets/facets-template.js +49 -49
  87. package/dist/src/collection-facets/facets-template.js.map +1 -1
  88. package/dist/src/collection-facets/more-facets-content.d.ts +106 -106
  89. package/dist/src/collection-facets/more-facets-content.js +406 -408
  90. package/dist/src/collection-facets/more-facets-content.js.map +1 -1
  91. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  92. package/dist/src/collection-facets/more-facets-pagination.js +197 -196
  93. package/dist/src/collection-facets/more-facets-pagination.js.map +1 -1
  94. package/dist/src/collection-facets/smart-facets/dedupe.d.ts +10 -10
  95. package/dist/src/collection-facets/smart-facets/dedupe.js +33 -33
  96. package/dist/src/collection-facets/smart-facets/dedupe.js.map +1 -1
  97. package/dist/src/collection-facets/smart-facets/heuristics/browser-language-heuristic.d.ts +5 -5
  98. package/dist/src/collection-facets/smart-facets/heuristics/browser-language-heuristic.js +23 -23
  99. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.d.ts +5 -5
  100. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.js +44 -44
  101. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.js.map +1 -1
  102. package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.d.ts +5 -5
  103. package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.js +172 -172
  104. package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.js.map +1 -1
  105. package/dist/src/collection-facets/smart-facets/models.d.ts +26 -26
  106. package/dist/src/collection-facets/smart-facets/models.js +1 -1
  107. package/dist/src/collection-facets/smart-facets/smart-facet-bar.d.ts +31 -31
  108. package/dist/src/collection-facets/smart-facets/smart-facet-bar.js +237 -240
  109. package/dist/src/collection-facets/smart-facets/smart-facet-bar.js.map +1 -1
  110. package/dist/src/collection-facets/smart-facets/smart-facet-button.d.ts +11 -11
  111. package/dist/src/collection-facets/smart-facets/smart-facet-button.js +86 -86
  112. package/dist/src/collection-facets/smart-facets/smart-facet-button.js.map +1 -1
  113. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.d.ts +16 -16
  114. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js +100 -100
  115. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js.map +1 -1
  116. package/dist/src/collection-facets/smart-facets/smart-facet-equals.d.ts +2 -2
  117. package/dist/src/collection-facets/smart-facets/smart-facet-equals.js +12 -12
  118. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.d.ts +5 -5
  119. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js +15 -15
  120. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js.map +1 -1
  121. package/dist/src/collection-facets/toggle-switch.d.ts +41 -41
  122. package/dist/src/collection-facets/toggle-switch.js +94 -94
  123. package/dist/src/collection-facets/toggle-switch.js.map +1 -1
  124. package/dist/src/collection-facets.d.ts +103 -103
  125. package/dist/src/collection-facets.js +521 -522
  126. package/dist/src/collection-facets.js.map +1 -1
  127. package/dist/src/data-source/collection-browser-data-source-interface.d.ts +245 -245
  128. package/dist/src/data-source/collection-browser-data-source-interface.js +1 -1
  129. package/dist/src/data-source/collection-browser-data-source-interface.js.map +1 -1
  130. package/dist/src/data-source/collection-browser-data-source.d.ts +377 -377
  131. package/dist/src/data-source/collection-browser-data-source.js +1003 -1004
  132. package/dist/src/data-source/collection-browser-data-source.js.map +1 -1
  133. package/dist/src/data-source/collection-browser-query-state.d.ts +44 -44
  134. package/dist/src/data-source/collection-browser-query-state.js +1 -1
  135. package/dist/src/data-source/models.d.ts +28 -28
  136. package/dist/src/data-source/models.js +8 -8
  137. package/dist/src/empty-placeholder.d.ts +23 -23
  138. package/dist/src/empty-placeholder.js +87 -88
  139. package/dist/src/empty-placeholder.js.map +1 -1
  140. package/dist/src/expanded-date-picker.d.ts +43 -43
  141. package/dist/src/expanded-date-picker.js +109 -109
  142. package/dist/src/expanded-date-picker.js.map +1 -1
  143. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  144. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  145. package/dist/src/language-code-handler/language-code-handler.js.map +1 -1
  146. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  147. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  148. package/dist/src/language-code-handler/language-code-mapping.js.map +1 -1
  149. package/dist/src/manage/manage-bar.d.ts +58 -58
  150. package/dist/src/manage/manage-bar.js +175 -175
  151. package/dist/src/manage/manage-bar.js.map +1 -1
  152. package/dist/src/manage/remove-items-modal-content.d.ts +9 -9
  153. package/dist/src/manage/remove-items-modal-content.js +34 -34
  154. package/dist/src/manage/remove-items-modal-content.js.map +1 -1
  155. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  156. package/dist/src/mediatype/mediatype-config.js +92 -91
  157. package/dist/src/mediatype/mediatype-config.js.map +1 -1
  158. package/dist/src/models.d.ts +228 -228
  159. package/dist/src/models.js +401 -401
  160. package/dist/src/models.js.map +1 -1
  161. package/dist/src/restoration-state-handler.d.ts +70 -70
  162. package/dist/src/restoration-state-handler.js +362 -363
  163. package/dist/src/restoration-state-handler.js.map +1 -1
  164. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  165. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  166. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js.map +1 -1
  167. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
  168. package/dist/src/sort-filter-bar/alpha-bar.js +136 -136
  169. package/dist/src/sort-filter-bar/alpha-bar.js.map +1 -1
  170. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  171. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  172. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  173. package/dist/src/sort-filter-bar/img/list.js +2 -2
  174. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  175. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
  176. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  177. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
  178. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  179. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
  180. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  181. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  182. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  183. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  184. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +223 -223
  185. package/dist/src/sort-filter-bar/sort-filter-bar.js +696 -697
  186. package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
  187. package/dist/src/styles/ia-button.d.ts +2 -2
  188. package/dist/src/styles/ia-button.js +17 -17
  189. package/dist/src/styles/item-image-styles.d.ts +8 -8
  190. package/dist/src/styles/item-image-styles.js +9 -9
  191. package/dist/src/styles/sr-only.d.ts +1 -1
  192. package/dist/src/styles/sr-only.js +2 -2
  193. package/dist/src/tiles/base-tile-component.d.ts +19 -19
  194. package/dist/src/tiles/base-tile-component.js +64 -64
  195. package/dist/src/tiles/base-tile-component.js.map +1 -1
  196. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  197. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  198. package/dist/src/tiles/collection-browser-loading-tile.js.map +1 -1
  199. package/dist/src/tiles/grid/account-tile.d.ts +18 -18
  200. package/dist/src/tiles/grid/account-tile.js +72 -72
  201. package/dist/src/tiles/grid/account-tile.js.map +1 -1
  202. package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
  203. package/dist/src/tiles/grid/collection-tile.js +80 -80
  204. package/dist/src/tiles/grid/collection-tile.js.map +1 -1
  205. package/dist/src/tiles/grid/item-tile.d.ts +34 -34
  206. package/dist/src/tiles/grid/item-tile.js +159 -160
  207. package/dist/src/tiles/grid/item-tile.js.map +1 -1
  208. package/dist/src/tiles/grid/search-tile.d.ts +10 -10
  209. package/dist/src/tiles/grid/search-tile.js +51 -51
  210. package/dist/src/tiles/grid/search-tile.js.map +1 -1
  211. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  212. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
  213. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  214. package/dist/src/tiles/grid/tile-stats.js +54 -54
  215. package/dist/src/tiles/grid/tile-stats.js.map +1 -1
  216. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  217. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  218. package/dist/src/tiles/hover/hover-pane-controller.js.map +1 -1
  219. package/dist/src/tiles/hover/tile-hover-pane.d.ts +18 -18
  220. package/dist/src/tiles/hover/tile-hover-pane.js +72 -70
  221. package/dist/src/tiles/hover/tile-hover-pane.js.map +1 -1
  222. package/dist/src/tiles/image-block.d.ts +18 -18
  223. package/dist/src/tiles/image-block.js +89 -89
  224. package/dist/src/tiles/image-block.js.map +1 -1
  225. package/dist/src/tiles/item-image.d.ts +39 -39
  226. package/dist/src/tiles/item-image.js +154 -154
  227. package/dist/src/tiles/item-image.js.map +1 -1
  228. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
  229. package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
  230. package/dist/src/tiles/list/tile-list-compact-header.js.map +1 -1
  231. package/dist/src/tiles/list/tile-list-compact.d.ts +19 -19
  232. package/dist/src/tiles/list/tile-list-compact.js +122 -122
  233. package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
  234. package/dist/src/tiles/list/tile-list.d.ts +54 -54
  235. package/dist/src/tiles/list/tile-list.js +324 -326
  236. package/dist/src/tiles/list/tile-list.js.map +1 -1
  237. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  238. package/dist/src/tiles/mediatype-icon.js +47 -47
  239. package/dist/src/tiles/mediatype-icon.js.map +1 -1
  240. package/dist/src/tiles/overlay/icon-overlay.d.ts +8 -8
  241. package/dist/src/tiles/overlay/icon-overlay.js +25 -25
  242. package/dist/src/tiles/overlay/icon-overlay.js.map +1 -1
  243. package/dist/src/tiles/overlay/text-overlay.d.ts +9 -9
  244. package/dist/src/tiles/overlay/text-overlay.js +31 -31
  245. package/dist/src/tiles/overlay/text-overlay.js.map +1 -1
  246. package/dist/src/tiles/review-block.d.ts +12 -12
  247. package/dist/src/tiles/review-block.js +56 -56
  248. package/dist/src/tiles/review-block.js.map +1 -1
  249. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  250. package/dist/src/tiles/text-snippet-block.js +73 -73
  251. package/dist/src/tiles/text-snippet-block.js.map +1 -1
  252. package/dist/src/tiles/tile-dispatcher.d.ts +64 -64
  253. package/dist/src/tiles/tile-dispatcher.js +230 -230
  254. package/dist/src/tiles/tile-dispatcher.js.map +1 -1
  255. package/dist/src/tiles/tile-display-value-provider.d.ts +47 -47
  256. package/dist/src/tiles/tile-display-value-provider.js +94 -94
  257. package/dist/src/tiles/tile-display-value-provider.js.map +1 -1
  258. package/dist/src/utils/analytics-events.d.ts +28 -28
  259. package/dist/src/utils/analytics-events.js +30 -30
  260. package/dist/src/utils/array-equals.d.ts +4 -4
  261. package/dist/src/utils/array-equals.js +10 -10
  262. package/dist/src/utils/collapse-repeated-quotes.d.ts +11 -11
  263. package/dist/src/utils/collapse-repeated-quotes.js +13 -13
  264. package/dist/src/utils/facet-utils.d.ts +83 -83
  265. package/dist/src/utils/facet-utils.js +145 -145
  266. package/dist/src/utils/facet-utils.js.map +1 -1
  267. package/dist/src/utils/format-count.d.ts +7 -7
  268. package/dist/src/utils/format-count.js +75 -76
  269. package/dist/src/utils/format-count.js.map +1 -1
  270. package/dist/src/utils/format-date.d.ts +2 -2
  271. package/dist/src/utils/format-date.js +27 -27
  272. package/dist/src/utils/format-date.js.map +1 -1
  273. package/dist/src/utils/format-unit-size.d.ts +2 -2
  274. package/dist/src/utils/format-unit-size.js +33 -33
  275. package/dist/src/utils/format-unit-size.js.map +1 -1
  276. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  277. package/dist/src/utils/local-date-from-utc.js +15 -15
  278. package/dist/src/utils/log.d.ts +7 -7
  279. package/dist/src/utils/log.js +13 -15
  280. package/dist/src/utils/log.js.map +1 -1
  281. package/dist/src/utils/resolve-mediatype.d.ts +8 -8
  282. package/dist/src/utils/resolve-mediatype.js +23 -23
  283. package/dist/src/utils/resolve-mediatype.js.map +1 -1
  284. package/dist/src/utils/sha1.d.ts +2 -2
  285. package/dist/src/utils/sha1.js +8 -8
  286. package/dist/test/collection-browser.test.d.ts +1 -1
  287. package/dist/test/collection-browser.test.js +1309 -1308
  288. package/dist/test/collection-browser.test.js.map +1 -1
  289. package/dist/test/collection-facets/facet-row.test.d.ts +1 -1
  290. package/dist/test/collection-facets/facet-row.test.js +230 -227
  291. package/dist/test/collection-facets/facet-row.test.js.map +1 -1
  292. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  293. package/dist/test/collection-facets/facets-template.test.js +91 -91
  294. package/dist/test/collection-facets/facets-template.test.js.map +1 -1
  295. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  296. package/dist/test/collection-facets/more-facets-content.test.js +140 -141
  297. package/dist/test/collection-facets/more-facets-content.test.js.map +1 -1
  298. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  299. package/dist/test/collection-facets/more-facets-pagination.test.js +116 -117
  300. package/dist/test/collection-facets/more-facets-pagination.test.js.map +1 -1
  301. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  302. package/dist/test/collection-facets/toggle-switch.test.js +82 -73
  303. package/dist/test/collection-facets/toggle-switch.test.js.map +1 -1
  304. package/dist/test/collection-facets.test.d.ts +2 -2
  305. package/dist/test/collection-facets.test.js +692 -692
  306. package/dist/test/collection-facets.test.js.map +1 -1
  307. package/dist/test/data-source/collection-browser-data-source.test.d.ts +1 -1
  308. package/dist/test/data-source/collection-browser-data-source.test.js +89 -89
  309. package/dist/test/data-source/collection-browser-data-source.test.js.map +1 -1
  310. package/dist/test/empty-placeholder.test.d.ts +1 -1
  311. package/dist/test/empty-placeholder.test.js +62 -63
  312. package/dist/test/empty-placeholder.test.js.map +1 -1
  313. package/dist/test/expanded-date-picker.test.d.ts +1 -1
  314. package/dist/test/expanded-date-picker.test.js +97 -96
  315. package/dist/test/expanded-date-picker.test.js.map +1 -1
  316. package/dist/test/icon-overlay.test.d.ts +1 -1
  317. package/dist/test/icon-overlay.test.js +23 -24
  318. package/dist/test/icon-overlay.test.js.map +1 -1
  319. package/dist/test/image-block.test.d.ts +1 -1
  320. package/dist/test/image-block.test.js +106 -107
  321. package/dist/test/image-block.test.js.map +1 -1
  322. package/dist/test/item-image.test.d.ts +1 -1
  323. package/dist/test/item-image.test.js +84 -85
  324. package/dist/test/item-image.test.js.map +1 -1
  325. package/dist/test/manage/manage-bar.test.d.ts +2 -2
  326. package/dist/test/manage/manage-bar.test.js +100 -101
  327. package/dist/test/manage/manage-bar.test.js.map +1 -1
  328. package/dist/test/manage/remove-items-modal-content.test.d.ts +1 -1
  329. package/dist/test/manage/remove-items-modal-content.test.js +44 -45
  330. package/dist/test/manage/remove-items-modal-content.test.js.map +1 -1
  331. package/dist/test/mediatype-config.test.d.ts +1 -1
  332. package/dist/test/mediatype-config.test.js +16 -16
  333. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  334. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  335. package/dist/test/mocks/mock-search-responses.d.ts +25 -25
  336. package/dist/test/mocks/mock-search-responses.js +942 -942
  337. package/dist/test/mocks/mock-search-responses.js.map +1 -1
  338. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  339. package/dist/test/mocks/mock-search-service.js +54 -54
  340. package/dist/test/mocks/mock-search-service.js.map +1 -1
  341. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  342. package/dist/test/restoration-state-handler.test.js +270 -270
  343. package/dist/test/restoration-state-handler.test.js.map +1 -1
  344. package/dist/test/review-block.test.d.ts +1 -1
  345. package/dist/test/review-block.test.js +43 -44
  346. package/dist/test/review-block.test.js.map +1 -1
  347. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  348. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  349. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js.map +1 -1
  350. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  351. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  352. package/dist/test/sort-filter-bar/alpha-bar.test.js.map +1 -1
  353. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  354. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +425 -426
  355. package/dist/test/sort-filter-bar/sort-filter-bar.test.js.map +1 -1
  356. package/dist/test/text-overlay.test.d.ts +1 -1
  357. package/dist/test/text-overlay.test.js +37 -38
  358. package/dist/test/text-overlay.test.js.map +1 -1
  359. package/dist/test/text-snippet-block.test.d.ts +1 -1
  360. package/dist/test/text-snippet-block.test.js +56 -57
  361. package/dist/test/text-snippet-block.test.js.map +1 -1
  362. package/dist/test/tile-stats.test.d.ts +1 -1
  363. package/dist/test/tile-stats.test.js +98 -99
  364. package/dist/test/tile-stats.test.js.map +1 -1
  365. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  366. package/dist/test/tiles/grid/account-tile.test.js +75 -76
  367. package/dist/test/tiles/grid/account-tile.test.js.map +1 -1
  368. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  369. package/dist/test/tiles/grid/collection-tile.test.js +72 -73
  370. package/dist/test/tiles/grid/collection-tile.test.js.map +1 -1
  371. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  372. package/dist/test/tiles/grid/item-tile.test.js +311 -312
  373. package/dist/test/tiles/grid/item-tile.test.js.map +1 -1
  374. package/dist/test/tiles/grid/search-tile.test.d.ts +1 -1
  375. package/dist/test/tiles/grid/search-tile.test.js +50 -51
  376. package/dist/test/tiles/grid/search-tile.test.js.map +1 -1
  377. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  378. package/dist/test/tiles/hover/hover-pane-controller.test.js +259 -259
  379. package/dist/test/tiles/hover/hover-pane-controller.test.js.map +1 -1
  380. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  381. package/dist/test/tiles/hover/tile-hover-pane.test.js +56 -56
  382. package/dist/test/tiles/hover/tile-hover-pane.test.js.map +1 -1
  383. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  384. package/dist/test/tiles/list/tile-list-compact.test.js +142 -143
  385. package/dist/test/tiles/list/tile-list-compact.test.js.map +1 -1
  386. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  387. package/dist/test/tiles/list/tile-list.test.js +296 -297
  388. package/dist/test/tiles/list/tile-list.test.js.map +1 -1
  389. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  390. package/dist/test/tiles/tile-dispatcher.test.js +100 -100
  391. package/dist/test/tiles/tile-dispatcher.test.js.map +1 -1
  392. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
  393. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  394. package/dist/test/utils/array-equals.test.d.ts +1 -1
  395. package/dist/test/utils/array-equals.test.js +26 -26
  396. package/dist/test/utils/format-count.test.d.ts +1 -1
  397. package/dist/test/utils/format-count.test.js +23 -23
  398. package/dist/test/utils/format-count.test.js.map +1 -1
  399. package/dist/test/utils/format-date.test.d.ts +1 -1
  400. package/dist/test/utils/format-date.test.js +30 -30
  401. package/dist/test/utils/format-date.test.js.map +1 -1
  402. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  403. package/dist/test/utils/format-unit-size.test.js +17 -17
  404. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  405. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  406. package/dist/test/utils/local-date-from-utc.test.js.map +1 -1
  407. package/eslint.config.mjs +53 -0
  408. package/index.html +0 -3
  409. package/index.ts +1 -7
  410. package/package.json +41 -39
  411. package/src/app-root.ts +21 -22
  412. package/src/collection-browser.ts +44 -40
  413. package/src/collection-facets/facets-template.ts +7 -6
  414. package/src/collection-facets/more-facets-content.ts +11 -13
  415. package/src/collection-facets/more-facets-pagination.ts +3 -2
  416. package/src/collection-facets/smart-facets/dedupe.ts +2 -2
  417. package/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.ts +1 -1
  418. package/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.ts +6 -6
  419. package/src/collection-facets/smart-facets/smart-facet-bar.ts +6 -8
  420. package/src/collection-facets/smart-facets/smart-facet-button.ts +5 -3
  421. package/src/collection-facets/smart-facets/smart-facet-dropdown.ts +4 -4
  422. package/src/collection-facets/smart-facets/smart-facet-heuristics.ts +1 -1
  423. package/src/collection-facets/toggle-switch.ts +2 -2
  424. package/src/collection-facets.ts +18 -19
  425. package/src/data-source/collection-browser-data-source-interface.ts +5 -1
  426. package/src/data-source/collection-browser-data-source.ts +37 -34
  427. package/src/empty-placeholder.ts +19 -16
  428. package/src/expanded-date-picker.ts +1 -1
  429. package/src/language-code-handler/language-code-handler.ts +1 -1
  430. package/src/manage/manage-bar.ts +23 -20
  431. package/src/manage/remove-items-modal-content.ts +2 -2
  432. package/src/mediatype/mediatype-config.ts +1 -0
  433. package/src/models.ts +3 -3
  434. package/src/restoration-state-handler.ts +14 -15
  435. package/src/sort-filter-bar/alpha-bar.ts +16 -17
  436. package/src/sort-filter-bar/sort-filter-bar.ts +14 -15
  437. package/src/tiles/grid/account-tile.ts +1 -1
  438. package/src/tiles/grid/collection-tile.ts +1 -1
  439. package/src/tiles/grid/item-tile.ts +9 -9
  440. package/src/tiles/grid/tile-stats.ts +4 -4
  441. package/src/tiles/hover/hover-pane-controller.ts +1 -1
  442. package/src/tiles/hover/tile-hover-pane.ts +4 -2
  443. package/src/tiles/item-image.ts +1 -1
  444. package/src/tiles/list/tile-list-compact.ts +2 -2
  445. package/src/tiles/list/tile-list.ts +22 -24
  446. package/src/tiles/tile-dispatcher.ts +5 -5
  447. package/src/tiles/tile-display-value-provider.ts +4 -4
  448. package/src/utils/facet-utils.ts +6 -6
  449. package/src/utils/format-count.ts +2 -3
  450. package/src/utils/format-date.ts +1 -1
  451. package/src/utils/format-unit-size.ts +1 -1
  452. package/src/utils/log.ts +1 -3
  453. package/test/collection-browser.test.ts +125 -124
  454. package/test/collection-facets/facet-row.test.ts +31 -28
  455. package/test/collection-facets/facets-template.test.ts +9 -9
  456. package/test/collection-facets/more-facets-content.test.ts +14 -15
  457. package/test/collection-facets/more-facets-pagination.test.ts +18 -19
  458. package/test/collection-facets/toggle-switch.test.ts +28 -18
  459. package/test/collection-facets.test.ts +46 -39
  460. package/test/data-source/collection-browser-data-source.test.ts +2 -2
  461. package/test/empty-placeholder.test.ts +6 -7
  462. package/test/expanded-date-picker.test.ts +25 -20
  463. package/test/icon-overlay.test.ts +0 -1
  464. package/test/image-block.test.ts +6 -7
  465. package/test/item-image.test.ts +0 -1
  466. package/test/manage/manage-bar.test.ts +19 -16
  467. package/test/manage/remove-items-modal-content.test.ts +4 -5
  468. package/test/mocks/mock-search-responses.ts +2 -1
  469. package/test/mocks/mock-search-service.ts +1 -1
  470. package/test/restoration-state-handler.test.ts +12 -12
  471. package/test/review-block.test.ts +1 -2
  472. package/test/sort-filter-bar/alpha-bar-tooltip.test.ts +1 -1
  473. package/test/sort-filter-bar/alpha-bar.test.ts +5 -5
  474. package/test/sort-filter-bar/sort-filter-bar.test.ts +38 -39
  475. package/test/text-overlay.test.ts +0 -1
  476. package/test/text-snippet-block.test.ts +5 -6
  477. package/test/tile-stats.test.ts +26 -35
  478. package/test/tiles/grid/account-tile.test.ts +2 -3
  479. package/test/tiles/grid/collection-tile.test.ts +3 -4
  480. package/test/tiles/grid/item-tile.test.ts +13 -14
  481. package/test/tiles/grid/search-tile.test.ts +1 -2
  482. package/test/tiles/hover/hover-pane-controller.test.ts +15 -15
  483. package/test/tiles/hover/tile-hover-pane.test.ts +5 -5
  484. package/test/tiles/list/tile-list-compact.test.ts +1 -2
  485. package/test/tiles/list/tile-list.test.ts +10 -11
  486. package/test/tiles/tile-dispatcher.test.ts +5 -5
  487. package/test/utils/format-count.test.ts +1 -1
  488. package/test/utils/format-date.test.ts +1 -1
  489. package/test/utils/local-date-from-utc.test.ts +1 -1
  490. package/tsconfig.json +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"hover-pane-controller.test.js","sourceRoot":"","sources":["../../../../test/tiles/hover/hover-pane-controller.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect, fixture } from '@open-wc/testing';\nimport { html, LitElement, nothing, TemplateResult } from 'lit';\nimport { customElement, property, query } from 'lit/decorators.js';\nimport {\n HoverPaneController,\n HoverPaneControllerInterface,\n HoverPaneControllerOptions,\n HoverPaneProperties,\n HoverPaneProviderInterface,\n} from '../../../src/tiles/hover/hover-pane-controller';\nimport type { TileHoverPane } from '../../../src/tiles/hover/tile-hover-pane';\nimport { TileModel } from '../../../src/models';\n\n@customElement('host-element')\nclass HostElement extends LitElement implements HoverPaneProviderInterface {\n @property({ type: Object }) controllerOptions?: HoverPaneControllerOptions;\n\n @property({ type: Boolean }) suppressHoverPane: boolean = false;\n\n @query('tile-hover-pane') hoverPane?: TileHoverPane;\n\n controller?: HoverPaneControllerInterface;\n\n render(): TemplateResult {\n return html` ${this.controller?.getTemplate()} `;\n }\n\n protected firstUpdated(): void {\n this.controller = new HoverPaneController(this, this.controllerOptions);\n }\n\n getHoverPane(): HTMLElement | undefined {\n return this.suppressHoverPane ? undefined : this.hoverPane;\n }\n\n getHoverPaneProps(): HoverPaneProperties {\n const tileModel = new TileModel({});\n tileModel.checked = false;\n tileModel.collectionFilesCount = 1;\n tileModel.collections = ['foo', 'bar'];\n tileModel.collectionSize = 1;\n tileModel.commentCount = 1;\n tileModel.contentWarning = false;\n tileModel.creators = ['foo', 'bar'];\n tileModel.favCount = 1;\n tileModel.identifier = 'foo';\n tileModel.itemCount = 1;\n tileModel.loginRequired = false;\n tileModel.mediatype = 'data';\n tileModel.subjects = ['foo', 'bar'];\n tileModel.title = 'foo';\n tileModel.viewCount = 1;\n\n return {\n model: tileModel,\n loggedIn: false,\n sortParam: null,\n };\n }\n}\n\ndescribe('Hover Pane Controller', () => {\n let oldMatchMedia: typeof window.matchMedia;\n let oldOnTouchStart: typeof window.ontouchstart;\n\n before(() => {\n oldMatchMedia = window.matchMedia;\n oldOnTouchStart = window.ontouchstart;\n window.matchMedia = () => ({ matches: true } as MediaQueryList);\n window.ontouchstart = () => {};\n });\n\n after(() => {\n window.matchMedia = oldMatchMedia;\n window.ontouchstart = oldOnTouchStart;\n });\n\n it('should initially provide empty template', async () => {\n const host = await fixture<HostElement>(\n html`<host-element></host-element>`\n );\n expect(host.controller?.getTemplate()).to.equal(nothing);\n });\n\n it('should produce a hover pane template after mousemove, and hide it after mouseleave', async () => {\n const host = await fixture<HostElement>(\n html`<host-element\n .controllerOptions=${{ showDelay: 0, hideDelay: 0 }}\n ></host-element>`\n );\n\n host.dispatchEvent(new MouseEvent('mousemove'));\n // Need to wait a tick for the event handlers to run\n await new Promise(resolve => {\n setTimeout(resolve, 0);\n });\n\n expect(host.controller?.getTemplate()).not.to.equal(nothing); // Is a TemplateResult\n\n host.dispatchEvent(new MouseEvent('mouseleave'));\n // Need to wait for the fade out transition\n await new Promise(resolve => {\n setTimeout(resolve, 150);\n });\n\n expect(host.controller?.getTemplate()).to.equal(nothing);\n });\n\n it('should produce a hover pane template after mouseenter, even without mousemove', async () => {\n const host = await fixture<HostElement>(\n html`<host-element\n .controllerOptions=${{ showDelay: 0, hideDelay: 0 }}\n ></host-element>`\n );\n\n host.dispatchEvent(new MouseEvent('mouseenter'));\n // Need to wait a tick for the event handlers to run\n await new Promise(resolve => {\n setTimeout(resolve, 0);\n });\n\n expect(host.controller?.getTemplate()).not.to.equal(nothing); // Is a TemplateResult\n });\n\n it('should immediately fade back in if mouse enters while fading out', async () => {\n const host = await fixture<HostElement>(\n html`<host-element\n .controllerOptions=${{ showDelay: 0, hideDelay: 0 }}\n ></host-element>`\n );\n\n // Enter the host element and wait for the show handlers to run\n host.dispatchEvent(new MouseEvent('mousemove'));\n await new Promise(resolve => {\n setTimeout(resolve, 0);\n });\n\n // Leave the host element so it begins fading out, but not all the way\n host.dispatchEvent(new MouseEvent('mouseleave'));\n await new Promise(resolve => {\n setTimeout(resolve, 20);\n });\n\n // Re-enter the host element and wait long enough that it would disappear\n // if the hide were not cancelled\n host.dispatchEvent(new MouseEvent('mousemove'));\n await new Promise(resolve => {\n setTimeout(resolve, 150);\n });\n\n expect(host.controller?.getTemplate()).not.to.equal(nothing);\n });\n\n it('should flip hover pane if it would overflow the viewport', async () => {\n const host = await fixture<HostElement>(\n html`<host-element\n .controllerOptions=${{ showDelay: 0, hideDelay: 0 }}\n ></host-element>`\n );\n\n host.dispatchEvent(\n new MouseEvent('mousemove', { clientX: 800, clientY: 600 })\n );\n // Need to wait a tick for the event handlers to run\n await new Promise(resolve => {\n setTimeout(resolve, 0);\n });\n await host.updateComplete;\n\n expect(host.controller?.getTemplate()).not.to.equal(nothing);\n expect(host.getHoverPane()?.getBoundingClientRect()?.right).to.be.lessThan(\n window.innerWidth\n );\n expect(host.getHoverPane()?.getBoundingClientRect()?.bottom).to.be.lessThan(\n window.innerHeight\n );\n });\n\n it('should gracefully handle undefined hover pane from host element', async () => {\n const host = await fixture<HostElement>(\n html`<host-element\n .controllerOptions=${{ showDelay: 0, hideDelay: 0 }}\n ?suppressHoverPane=${true}\n ></host-element>`\n );\n\n host.dispatchEvent(new MouseEvent('mousemove'));\n // Need to wait a tick for the event handlers to run\n await new Promise(resolve => {\n setTimeout(resolve, 0);\n });\n\n expect(host.controller?.getTemplate()).not.to.equal(nothing);\n\n host.dispatchEvent(new MouseEvent('mouseleave'));\n await new Promise(resolve => {\n setTimeout(resolve, 20);\n });\n\n host.dispatchEvent(new MouseEvent('mousemove'));\n await new Promise(resolve => {\n setTimeout(resolve, 0);\n });\n\n host.dispatchEvent(new MouseEvent('mouseleave'));\n // Need to wait for the fade out transition\n await new Promise(resolve => {\n setTimeout(resolve, 150);\n });\n\n expect(host.controller?.getTemplate()).to.equal(nothing);\n });\n\n describe('Touch & long-press', () => {\n const getTouchStartEvent = (host: EventTarget) =>\n new TouchEvent('touchstart', {\n touches: [new Touch({ identifier: 0, target: host })],\n });\n\n it('should produce a hover pane after long press', async () => {\n const host = await fixture<HostElement>(\n html`<host-element\n .controllerOptions=${{\n showDelay: 0,\n longPressDelay: 0,\n enableLongPress: true,\n }}\n ></host-element>`\n );\n\n // Touch the host element and wait for the long press handlers to run\n host.dispatchEvent(getTouchStartEvent(host));\n await new Promise(resolve => {\n setTimeout(resolve, 0);\n });\n\n expect(host.controller?.getTemplate()).not.to.equal(nothing); // Is a TemplateResult\n });\n\n it('should cancel a long press by moving', async () => {\n const host = await fixture<HostElement>(\n html`<host-element\n .controllerOptions=${{\n showDelay: 0,\n longPressDelay: 100,\n enableLongPress: true,\n }}\n ></host-element>`\n );\n\n // Touch the host element\n host.dispatchEvent(getTouchStartEvent(host));\n await new Promise(resolve => {\n setTimeout(resolve, 0);\n });\n\n // Move the touch point, cancelling the long press\n host.dispatchEvent(new TouchEvent('touchmove'));\n await new Promise(resolve => {\n setTimeout(resolve, 150);\n });\n\n expect(host.controller?.getTemplate()).to.equal(nothing);\n });\n\n it('should cancel a long press by ending touch', async () => {\n const host = await fixture<HostElement>(\n html`<host-element\n .controllerOptions=${{\n showDelay: 0,\n longPressDelay: 100,\n enableLongPress: true,\n }}\n ></host-element>`\n );\n\n // Touch the host element\n host.dispatchEvent(getTouchStartEvent(host));\n await new Promise(resolve => {\n setTimeout(resolve, 0);\n });\n\n // Lift the touch point, cancelling the long press\n host.dispatchEvent(new TouchEvent('touchend'));\n await new Promise(resolve => {\n setTimeout(resolve, 150);\n });\n\n expect(host.controller?.getTemplate()).to.equal(nothing);\n });\n\n it('should cancel a long press by cancelling touch (e.g., too many touch points)', async () => {\n const host = await fixture<HostElement>(\n html`<host-element\n .controllerOptions=${{\n showDelay: 0,\n longPressDelay: 100,\n enableLongPress: true,\n }}\n ></host-element>`\n );\n\n // Touch the host element\n host.dispatchEvent(getTouchStartEvent(host));\n await new Promise(resolve => {\n setTimeout(resolve, 0);\n });\n\n // Cancel the touch point, also cancelling the long press\n host.dispatchEvent(new TouchEvent('touchcancel'));\n await new Promise(resolve => {\n setTimeout(resolve, 150);\n });\n\n expect(host.controller?.getTemplate()).to.equal(nothing);\n });\n\n it('should close the hover pane on mobile when touching the backdrop', async () => {\n const host = await fixture<HostElement>(\n html`<host-element\n .controllerOptions=${{\n showDelay: 0,\n hideDelay: 0,\n longPressDelay: 0,\n enableLongPress: true,\n mobileBreakpoint: 9999, // Ensure we get the mobile view\n }}\n ></host-element>`\n );\n\n // Touch the host element\n host.dispatchEvent(getTouchStartEvent(host));\n await new Promise(resolve => {\n setTimeout(resolve, 0);\n });\n\n expect(host.controller?.getTemplate()).not.to.equal(nothing);\n\n await host.updateComplete;\n\n // Touch the backdrop\n host.shadowRoot\n ?.querySelector('#touch-backdrop')\n ?.dispatchEvent(new TouchEvent('touchstart'));\n await new Promise(resolve => {\n setTimeout(resolve, 150);\n });\n\n expect(host.controller?.getTemplate()).to.equal(nothing);\n });\n });\n});\n"]}
1
+ {"version":3,"file":"hover-pane-controller.test.js","sourceRoot":"","sources":["../../../../test/tiles/hover/hover-pane-controller.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect, fixture } from '@open-wc/testing';\nimport { html, LitElement, nothing, TemplateResult } from 'lit';\nimport { customElement, property, query } from 'lit/decorators.js';\nimport {\n HoverPaneController,\n HoverPaneControllerInterface,\n HoverPaneControllerOptions,\n HoverPaneProperties,\n HoverPaneProviderInterface,\n} from '../../../src/tiles/hover/hover-pane-controller';\nimport type { TileHoverPane } from '../../../src/tiles/hover/tile-hover-pane';\nimport { TileModel } from '../../../src/models';\n\n@customElement('host-element')\nclass HostElement extends LitElement implements HoverPaneProviderInterface {\n @property({ type: Object }) controllerOptions?: HoverPaneControllerOptions;\n\n @property({ type: Boolean }) suppressHoverPane: boolean = false;\n\n @query('tile-hover-pane') hoverPane?: TileHoverPane;\n\n controller?: HoverPaneControllerInterface;\n\n render(): TemplateResult {\n return html` ${this.controller?.getTemplate()} `;\n }\n\n protected firstUpdated(): void {\n this.controller = new HoverPaneController(this, this.controllerOptions);\n }\n\n getHoverPane(): HTMLElement | undefined {\n return this.suppressHoverPane ? undefined : this.hoverPane;\n }\n\n getHoverPaneProps(): HoverPaneProperties {\n const tileModel = new TileModel({});\n tileModel.checked = false;\n tileModel.collectionFilesCount = 1;\n tileModel.collections = ['foo', 'bar'];\n tileModel.collectionSize = 1;\n tileModel.commentCount = 1;\n tileModel.contentWarning = false;\n tileModel.creators = ['foo', 'bar'];\n tileModel.favCount = 1;\n tileModel.identifier = 'foo';\n tileModel.itemCount = 1;\n tileModel.loginRequired = false;\n tileModel.mediatype = 'data';\n tileModel.subjects = ['foo', 'bar'];\n tileModel.title = 'foo';\n tileModel.viewCount = 1;\n\n return {\n model: tileModel,\n loggedIn: false,\n sortParam: null,\n };\n }\n}\n\ndescribe('Hover Pane Controller', () => {\n let oldMatchMedia: typeof window.matchMedia;\n let oldOnTouchStart: typeof window.ontouchstart;\n\n before(() => {\n oldMatchMedia = window.matchMedia;\n oldOnTouchStart = window.ontouchstart;\n window.matchMedia = () => ({ matches: true }) as MediaQueryList;\n window.ontouchstart = () => {};\n });\n\n after(() => {\n window.matchMedia = oldMatchMedia;\n window.ontouchstart = oldOnTouchStart;\n });\n\n it('should initially provide empty template', async () => {\n const host = await fixture<HostElement>(\n html`<host-element></host-element>`,\n );\n expect(host.controller?.getTemplate()).to.equal(nothing);\n });\n\n it('should produce a hover pane template after mousemove, and hide it after mouseleave', async () => {\n const host = await fixture<HostElement>(\n html`<host-element\n .controllerOptions=${{ showDelay: 0, hideDelay: 0 }}\n ></host-element>`,\n );\n\n host.dispatchEvent(new MouseEvent('mousemove'));\n // Need to wait a tick for the event handlers to run\n await new Promise(resolve => {\n setTimeout(resolve, 0);\n });\n\n expect(host.controller?.getTemplate()).not.to.equal(nothing); // Is a TemplateResult\n\n host.dispatchEvent(new MouseEvent('mouseleave'));\n // Need to wait for the fade out transition\n await new Promise(resolve => {\n setTimeout(resolve, 150);\n });\n\n expect(host.controller?.getTemplate()).to.equal(nothing);\n });\n\n it('should produce a hover pane template after mouseenter, even without mousemove', async () => {\n const host = await fixture<HostElement>(\n html`<host-element\n .controllerOptions=${{ showDelay: 0, hideDelay: 0 }}\n ></host-element>`,\n );\n\n host.dispatchEvent(new MouseEvent('mouseenter'));\n // Need to wait a tick for the event handlers to run\n await new Promise(resolve => {\n setTimeout(resolve, 0);\n });\n\n expect(host.controller?.getTemplate()).not.to.equal(nothing); // Is a TemplateResult\n });\n\n it('should immediately fade back in if mouse enters while fading out', async () => {\n const host = await fixture<HostElement>(\n html`<host-element\n .controllerOptions=${{ showDelay: 0, hideDelay: 0 }}\n ></host-element>`,\n );\n\n // Enter the host element and wait for the show handlers to run\n host.dispatchEvent(new MouseEvent('mousemove'));\n await new Promise(resolve => {\n setTimeout(resolve, 0);\n });\n\n // Leave the host element so it begins fading out, but not all the way\n host.dispatchEvent(new MouseEvent('mouseleave'));\n await new Promise(resolve => {\n setTimeout(resolve, 20);\n });\n\n // Re-enter the host element and wait long enough that it would disappear\n // if the hide were not cancelled\n host.dispatchEvent(new MouseEvent('mousemove'));\n await new Promise(resolve => {\n setTimeout(resolve, 150);\n });\n\n expect(host.controller?.getTemplate()).not.to.equal(nothing);\n });\n\n it('should flip hover pane if it would overflow the viewport', async () => {\n const host = await fixture<HostElement>(\n html`<host-element\n .controllerOptions=${{ showDelay: 0, hideDelay: 0 }}\n ></host-element>`,\n );\n\n host.dispatchEvent(\n new MouseEvent('mousemove', { clientX: 800, clientY: 600 }),\n );\n // Need to wait a tick for the event handlers to run\n await new Promise(resolve => {\n setTimeout(resolve, 0);\n });\n await host.updateComplete;\n\n expect(host.controller?.getTemplate()).not.to.equal(nothing);\n expect(host.getHoverPane()?.getBoundingClientRect()?.right).to.be.lessThan(\n window.innerWidth,\n );\n expect(host.getHoverPane()?.getBoundingClientRect()?.bottom).to.be.lessThan(\n window.innerHeight,\n );\n });\n\n it('should gracefully handle undefined hover pane from host element', async () => {\n const host = await fixture<HostElement>(\n html`<host-element\n .controllerOptions=${{ showDelay: 0, hideDelay: 0 }}\n ?suppressHoverPane=${true}\n ></host-element>`,\n );\n\n host.dispatchEvent(new MouseEvent('mousemove'));\n // Need to wait a tick for the event handlers to run\n await new Promise(resolve => {\n setTimeout(resolve, 0);\n });\n\n expect(host.controller?.getTemplate()).not.to.equal(nothing);\n\n host.dispatchEvent(new MouseEvent('mouseleave'));\n await new Promise(resolve => {\n setTimeout(resolve, 20);\n });\n\n host.dispatchEvent(new MouseEvent('mousemove'));\n await new Promise(resolve => {\n setTimeout(resolve, 0);\n });\n\n host.dispatchEvent(new MouseEvent('mouseleave'));\n // Need to wait for the fade out transition\n await new Promise(resolve => {\n setTimeout(resolve, 150);\n });\n\n expect(host.controller?.getTemplate()).to.equal(nothing);\n });\n\n describe('Touch & long-press', () => {\n const getTouchStartEvent = (host: EventTarget) =>\n new TouchEvent('touchstart', {\n touches: [new Touch({ identifier: 0, target: host })],\n });\n\n it('should produce a hover pane after long press', async () => {\n const host = await fixture<HostElement>(\n html`<host-element\n .controllerOptions=${{\n showDelay: 0,\n longPressDelay: 0,\n enableLongPress: true,\n }}\n ></host-element>`,\n );\n\n // Touch the host element and wait for the long press handlers to run\n host.dispatchEvent(getTouchStartEvent(host));\n await new Promise(resolve => {\n setTimeout(resolve, 0);\n });\n\n expect(host.controller?.getTemplate()).not.to.equal(nothing); // Is a TemplateResult\n });\n\n it('should cancel a long press by moving', async () => {\n const host = await fixture<HostElement>(\n html`<host-element\n .controllerOptions=${{\n showDelay: 0,\n longPressDelay: 100,\n enableLongPress: true,\n }}\n ></host-element>`,\n );\n\n // Touch the host element\n host.dispatchEvent(getTouchStartEvent(host));\n await new Promise(resolve => {\n setTimeout(resolve, 0);\n });\n\n // Move the touch point, cancelling the long press\n host.dispatchEvent(new TouchEvent('touchmove'));\n await new Promise(resolve => {\n setTimeout(resolve, 150);\n });\n\n expect(host.controller?.getTemplate()).to.equal(nothing);\n });\n\n it('should cancel a long press by ending touch', async () => {\n const host = await fixture<HostElement>(\n html`<host-element\n .controllerOptions=${{\n showDelay: 0,\n longPressDelay: 100,\n enableLongPress: true,\n }}\n ></host-element>`,\n );\n\n // Touch the host element\n host.dispatchEvent(getTouchStartEvent(host));\n await new Promise(resolve => {\n setTimeout(resolve, 0);\n });\n\n // Lift the touch point, cancelling the long press\n host.dispatchEvent(new TouchEvent('touchend'));\n await new Promise(resolve => {\n setTimeout(resolve, 150);\n });\n\n expect(host.controller?.getTemplate()).to.equal(nothing);\n });\n\n it('should cancel a long press by cancelling touch (e.g., too many touch points)', async () => {\n const host = await fixture<HostElement>(\n html`<host-element\n .controllerOptions=${{\n showDelay: 0,\n longPressDelay: 100,\n enableLongPress: true,\n }}\n ></host-element>`,\n );\n\n // Touch the host element\n host.dispatchEvent(getTouchStartEvent(host));\n await new Promise(resolve => {\n setTimeout(resolve, 0);\n });\n\n // Cancel the touch point, also cancelling the long press\n host.dispatchEvent(new TouchEvent('touchcancel'));\n await new Promise(resolve => {\n setTimeout(resolve, 150);\n });\n\n expect(host.controller?.getTemplate()).to.equal(nothing);\n });\n\n it('should close the hover pane on mobile when touching the backdrop', async () => {\n const host = await fixture<HostElement>(\n html`<host-element\n .controllerOptions=${{\n showDelay: 0,\n hideDelay: 0,\n longPressDelay: 0,\n enableLongPress: true,\n mobileBreakpoint: 9999, // Ensure we get the mobile view\n }}\n ></host-element>`,\n );\n\n // Touch the host element\n host.dispatchEvent(getTouchStartEvent(host));\n await new Promise(resolve => {\n setTimeout(resolve, 0);\n });\n\n expect(host.controller?.getTemplate()).not.to.equal(nothing);\n\n await host.updateComplete;\n\n // Touch the backdrop\n host.shadowRoot\n ?.querySelector('#touch-backdrop')\n ?.dispatchEvent(new TouchEvent('touchstart'));\n await new Promise(resolve => {\n setTimeout(resolve, 150);\n });\n\n expect(host.controller?.getTemplate()).to.equal(nothing);\n });\n });\n});\n"]}
@@ -1 +1 @@
1
- import '../../../src/tiles/hover/tile-hover-pane';
1
+ import '../../../src/tiles/hover/tile-hover-pane';
@@ -1,57 +1,57 @@
1
- import { expect, fixture } from '@open-wc/testing';
2
- import { html } from 'lit';
3
- import '../../../src/tiles/hover/tile-hover-pane';
4
- describe('Tile Hover Pane', () => {
5
- it('should render initial component', async () => {
6
- var _a, _b;
7
- const el = await fixture(html `<tile-hover-pane></tile-hover-pane>`);
8
- const container = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#container');
9
- const listView = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('tile-list');
10
- expect(container).to.exist;
11
- expect(listView).to.exist;
12
- });
13
- it('should render component with header element', async () => {
14
- var _a, _b;
15
- const model = {
16
- mediatype: 'texts',
17
- collections: ['collection1', 'fav-jack-sparrow'],
18
- };
19
- const el = await fixture(html `<tile-hover-pane .model=${model}></tile-hover-pane>`);
20
- const container = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#container');
21
- const listView = container === null || container === void 0 ? void 0 : container.querySelector('tile-list');
22
- const headerElement = container === null || container === void 0 ? void 0 : container.querySelector('#list-line-header');
23
- expect(container).to.exist;
24
- expect(listView).to.exist;
25
- expect(headerElement).to.exist;
26
- expect((_b = headerElement === null || headerElement === void 0 ? void 0 : headerElement.querySelector('a')) === null || _b === void 0 ? void 0 : _b.getAttribute('href')).contains('/details/collection1');
27
- });
28
- it('should NOT render header element when fav- collection', async () => {
29
- var _a;
30
- const model = {
31
- mediatype: 'texts',
32
- collections: ['fav-jack-sparrow'],
33
- };
34
- const el = await fixture(html `<tile-hover-pane .model=${model}></tile-hover-pane>`);
35
- const container = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#container');
36
- const listView = container === null || container === void 0 ? void 0 : container.querySelector('tile-list');
37
- const headerElement = container === null || container === void 0 ? void 0 : container.querySelector('#list-line-header');
38
- expect(container).to.exist;
39
- expect(listView).to.exist;
40
- expect(headerElement).not.exist;
41
- });
42
- it('should NOT render header element when no collections', async () => {
43
- var _a;
44
- const model = {
45
- mediatype: 'texts',
46
- collections: [],
47
- };
48
- const el = await fixture(html `<tile-hover-pane .model=${model}></tile-hover-pane>`);
49
- const container = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#container');
50
- const listView = container === null || container === void 0 ? void 0 : container.querySelector('tile-list');
51
- const headerElement = container === null || container === void 0 ? void 0 : container.querySelector('#list-line-header');
52
- expect(container).to.exist;
53
- expect(listView).to.exist;
54
- expect(headerElement).not.exist;
55
- });
56
- });
1
+ import { expect, fixture } from '@open-wc/testing';
2
+ import { html } from 'lit';
3
+ import '../../../src/tiles/hover/tile-hover-pane';
4
+ describe('Tile Hover Pane', () => {
5
+ it('should render initial component', async () => {
6
+ var _a, _b;
7
+ const el = await fixture(html `<tile-hover-pane></tile-hover-pane>`);
8
+ const container = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#container');
9
+ const listView = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('tile-list');
10
+ expect(container).to.exist;
11
+ expect(listView).to.exist;
12
+ });
13
+ it('should render component with header element', async () => {
14
+ var _a, _b;
15
+ const model = {
16
+ mediatype: 'texts',
17
+ collections: ['collection1', 'fav-jack-sparrow'],
18
+ };
19
+ const el = await fixture(html `<tile-hover-pane .model=${model}></tile-hover-pane>`);
20
+ const container = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#container');
21
+ const listView = container === null || container === void 0 ? void 0 : container.querySelector('tile-list');
22
+ const headerElement = container === null || container === void 0 ? void 0 : container.querySelector('#list-line-header');
23
+ expect(container).to.exist;
24
+ expect(listView).to.exist;
25
+ expect(headerElement).to.exist;
26
+ expect((_b = headerElement === null || headerElement === void 0 ? void 0 : headerElement.querySelector('a')) === null || _b === void 0 ? void 0 : _b.getAttribute('href')).contains('/details/collection1');
27
+ });
28
+ it('should NOT render header element when fav- collection', async () => {
29
+ var _a;
30
+ const model = {
31
+ mediatype: 'texts',
32
+ collections: ['fav-jack-sparrow'],
33
+ };
34
+ const el = await fixture(html `<tile-hover-pane .model=${model}></tile-hover-pane>`);
35
+ const container = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#container');
36
+ const listView = container === null || container === void 0 ? void 0 : container.querySelector('tile-list');
37
+ const headerElement = container === null || container === void 0 ? void 0 : container.querySelector('#list-line-header');
38
+ expect(container).to.exist;
39
+ expect(listView).to.exist;
40
+ expect(headerElement).not.exist;
41
+ });
42
+ it('should NOT render header element when no collections', async () => {
43
+ var _a;
44
+ const model = {
45
+ mediatype: 'texts',
46
+ collections: [],
47
+ };
48
+ const el = await fixture(html `<tile-hover-pane .model=${model}></tile-hover-pane>`);
49
+ const container = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#container');
50
+ const listView = container === null || container === void 0 ? void 0 : container.querySelector('tile-list');
51
+ const headerElement = container === null || container === void 0 ? void 0 : container.querySelector('#list-line-header');
52
+ expect(container).to.exist;
53
+ expect(listView).to.exist;
54
+ expect(headerElement).not.exist;
55
+ });
56
+ });
57
57
  //# sourceMappingURL=tile-hover-pane.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tile-hover-pane.test.js","sourceRoot":"","sources":["../../../../test/tiles/hover/tile-hover-pane.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect, fixture } from '@open-wc/testing';\nimport { html } from 'lit';\nimport type { TileModel } from '../../../src/models';\nimport type { TileHoverPane } from '../../../src/tiles/hover/tile-hover-pane';\n\nimport '../../../src/tiles/hover/tile-hover-pane';\n\ndescribe('Tile Hover Pane', () => {\n it('should render initial component', async () => {\n const el = await fixture<TileHoverPane>(\n html`<tile-hover-pane></tile-hover-pane>`\n );\n\n const container = el.shadowRoot?.querySelector('#container');\n const listView = el.shadowRoot?.querySelector('tile-list');\n\n expect(container).to.exist;\n expect(listView).to.exist;\n });\n\n it('should render component with header element', async () => {\n const model: Partial<TileModel> = {\n mediatype: 'texts',\n collections: ['collection1', 'fav-jack-sparrow'],\n };\n\n const el = await fixture<TileHoverPane>(\n html`<tile-hover-pane .model=${model}></tile-hover-pane>`\n );\n\n const container = el.shadowRoot?.querySelector('#container');\n const listView = container?.querySelector('tile-list');\n const headerElement = container?.querySelector('#list-line-header');\n\n expect(container).to.exist;\n expect(listView).to.exist;\n expect(headerElement).to.exist;\n expect(headerElement?.querySelector('a')?.getAttribute('href')).contains(\n '/details/collection1'\n );\n });\n\n it('should NOT render header element when fav- collection', async () => {\n const model: Partial<TileModel> = {\n mediatype: 'texts',\n collections: ['fav-jack-sparrow'],\n };\n\n const el = await fixture<TileHoverPane>(\n html`<tile-hover-pane .model=${model}></tile-hover-pane>`\n );\n\n const container = el.shadowRoot?.querySelector('#container');\n const listView = container?.querySelector('tile-list');\n const headerElement = container?.querySelector('#list-line-header');\n\n expect(container).to.exist;\n expect(listView).to.exist;\n expect(headerElement).not.exist;\n });\n\n it('should NOT render header element when no collections', async () => {\n const model: Partial<TileModel> = {\n mediatype: 'texts',\n collections: [],\n };\n\n const el = await fixture<TileHoverPane>(\n html`<tile-hover-pane .model=${model}></tile-hover-pane>`\n );\n\n const container = el.shadowRoot?.querySelector('#container');\n const listView = container?.querySelector('tile-list');\n const headerElement = container?.querySelector('#list-line-header');\n\n expect(container).to.exist;\n expect(listView).to.exist;\n expect(headerElement).not.exist;\n });\n});\n"]}
1
+ {"version":3,"file":"tile-hover-pane.test.js","sourceRoot":"","sources":["../../../../test/tiles/hover/tile-hover-pane.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect, fixture } from '@open-wc/testing';\nimport { html } from 'lit';\nimport type { TileModel } from '../../../src/models';\nimport type { TileHoverPane } from '../../../src/tiles/hover/tile-hover-pane';\n\nimport '../../../src/tiles/hover/tile-hover-pane';\n\ndescribe('Tile Hover Pane', () => {\n it('should render initial component', async () => {\n const el = await fixture<TileHoverPane>(\n html`<tile-hover-pane></tile-hover-pane>`,\n );\n\n const container = el.shadowRoot?.querySelector('#container');\n const listView = el.shadowRoot?.querySelector('tile-list');\n\n expect(container).to.exist;\n expect(listView).to.exist;\n });\n\n it('should render component with header element', async () => {\n const model: Partial<TileModel> = {\n mediatype: 'texts',\n collections: ['collection1', 'fav-jack-sparrow'],\n };\n\n const el = await fixture<TileHoverPane>(\n html`<tile-hover-pane .model=${model}></tile-hover-pane>`,\n );\n\n const container = el.shadowRoot?.querySelector('#container');\n const listView = container?.querySelector('tile-list');\n const headerElement = container?.querySelector('#list-line-header');\n\n expect(container).to.exist;\n expect(listView).to.exist;\n expect(headerElement).to.exist;\n expect(headerElement?.querySelector('a')?.getAttribute('href')).contains(\n '/details/collection1',\n );\n });\n\n it('should NOT render header element when fav- collection', async () => {\n const model: Partial<TileModel> = {\n mediatype: 'texts',\n collections: ['fav-jack-sparrow'],\n };\n\n const el = await fixture<TileHoverPane>(\n html`<tile-hover-pane .model=${model}></tile-hover-pane>`,\n );\n\n const container = el.shadowRoot?.querySelector('#container');\n const listView = container?.querySelector('tile-list');\n const headerElement = container?.querySelector('#list-line-header');\n\n expect(container).to.exist;\n expect(listView).to.exist;\n expect(headerElement).not.exist;\n });\n\n it('should NOT render header element when no collections', async () => {\n const model: Partial<TileModel> = {\n mediatype: 'texts',\n collections: [],\n };\n\n const el = await fixture<TileHoverPane>(\n html`<tile-hover-pane .model=${model}></tile-hover-pane>`,\n );\n\n const container = el.shadowRoot?.querySelector('#container');\n const listView = container?.querySelector('tile-list');\n const headerElement = container?.querySelector('#list-line-header');\n\n expect(container).to.exist;\n expect(listView).to.exist;\n expect(headerElement).not.exist;\n });\n});\n"]}
@@ -1 +1 @@
1
- import '../../../src/tiles/list/tile-list-compact';
1
+ import '../../../src/tiles/list/tile-list-compact';
@@ -1,201 +1,200 @@
1
- /* eslint-disable import/no-duplicates */
2
- import { expect, fixture } from '@open-wc/testing';
3
- import { html } from 'lit';
4
- import '../../../src/tiles/list/tile-list-compact';
5
- describe('List Tile Compact', () => {
6
- it('should render initial component', async () => {
7
- var _a, _b, _c, _d, _e;
8
- const el = await fixture(html `<tile-list-compact></tile-list-compact>`);
9
- const listContainer = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#list-line');
10
- const itemTitle = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('#title');
11
- const imageBlock = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('image-block');
12
- const itemIcon = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('#icon');
13
- const itemViews = (_e = el.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelector('#views');
14
- expect(listContainer).to.exist;
15
- expect(itemTitle).to.exist;
16
- expect(imageBlock).to.exist;
17
- expect(itemIcon).to.exist;
18
- expect(itemViews).to.exist;
19
- });
20
- it('should render with creator element with title', async () => {
21
- var _a;
1
+ import { expect, fixture } from '@open-wc/testing';
2
+ import { html } from 'lit';
3
+ import '../../../src/tiles/list/tile-list-compact';
4
+ describe('List Tile Compact', () => {
5
+ it('should render initial component', async () => {
6
+ var _a, _b, _c, _d, _e;
7
+ const el = await fixture(html `<tile-list-compact></tile-list-compact>`);
8
+ const listContainer = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#list-line');
9
+ const itemTitle = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('#title');
10
+ const imageBlock = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('image-block');
11
+ const itemIcon = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('#icon');
12
+ const itemViews = (_e = el.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelector('#views');
13
+ expect(listContainer).to.exist;
14
+ expect(itemTitle).to.exist;
15
+ expect(imageBlock).to.exist;
16
+ expect(itemIcon).to.exist;
17
+ expect(itemViews).to.exist;
18
+ });
19
+ it('should render with creator element with title', async () => {
20
+ var _a;
22
21
  const el = await fixture(html `
23
22
  <tile-list-compact
24
23
  .model=${{ creators: ['someone'] }}
25
24
  ></tile-list-compact>
26
- `);
27
- const creator = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#creator');
28
- expect(creator).to.exist;
29
- });
30
- it('should render title link with model href if provided', async () => {
31
- var _a;
25
+ `);
26
+ const creator = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#creator');
27
+ expect(creator).to.exist;
28
+ });
29
+ it('should render title link with model href if provided', async () => {
30
+ var _a;
32
31
  const el = await fixture(html `
33
32
  <tile-list-compact
34
33
  .baseNavigationUrl=${''}
35
34
  .model=${{ identifier: 'id', title: 'foo', href: '/foo/bar' }}
36
35
  ></tile-list-compact>
37
- `);
38
- const title = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#title');
39
- expect(title).to.exist;
40
- expect(title === null || title === void 0 ? void 0 : title.getAttribute('href')).to.equal('/foo/bar');
41
- });
42
- it('should render weekly views when sorting by week', async () => {
43
- var _a, _b;
36
+ `);
37
+ const title = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#title');
38
+ expect(title).to.exist;
39
+ expect(title === null || title === void 0 ? void 0 : title.getAttribute('href')).to.equal('/foo/bar');
40
+ });
41
+ it('should render weekly views when sorting by week', async () => {
42
+ var _a, _b;
44
43
  const el = await fixture(html `
45
44
  <tile-list-compact
46
45
  .model=${{ viewCount: 50, weeklyViewCount: 10 }}
47
46
  .sortParam=${{ field: 'week', direction: 'desc' }}
48
47
  >
49
48
  </tile-list-compact>
50
- `);
51
- const viewsColumn = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('views');
52
- expect(viewsColumn).to.exist;
53
- expect((_b = viewsColumn === null || viewsColumn === void 0 ? void 0 : viewsColumn.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('10');
54
- });
55
- it('should render 0 for views if missing model', async () => {
56
- var _a, _b;
49
+ `);
50
+ const viewsColumn = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('views');
51
+ expect(viewsColumn).to.exist;
52
+ expect((_b = viewsColumn === null || viewsColumn === void 0 ? void 0 : viewsColumn.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('10');
53
+ });
54
+ it('should render 0 for views if missing model', async () => {
55
+ var _a, _b;
57
56
  const el = await fixture(html `
58
57
  <tile-list-compact .sortParam=${{ field: 'week', direction: 'desc' }}>
59
58
  </tile-list-compact>
60
- `);
61
- const viewsColumn = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('views');
62
- expect(viewsColumn).to.exist;
63
- expect((_b = viewsColumn === null || viewsColumn === void 0 ? void 0 : viewsColumn.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('0');
64
- });
65
- it('should render published date when sorting by it', async () => {
66
- var _a, _b;
67
- const model = {
68
- dateAdded: new Date(2010, 0, 2),
69
- dateArchived: new Date(2011, 0, 2),
70
- datePublished: new Date(2012, 0, 2),
71
- dateReviewed: new Date(2013, 0, 2),
72
- };
59
+ `);
60
+ const viewsColumn = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('views');
61
+ expect(viewsColumn).to.exist;
62
+ expect((_b = viewsColumn === null || viewsColumn === void 0 ? void 0 : viewsColumn.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('0');
63
+ });
64
+ it('should render published date when sorting by it', async () => {
65
+ var _a, _b;
66
+ const model = {
67
+ dateAdded: new Date(2010, 0, 2),
68
+ dateArchived: new Date(2011, 0, 2),
69
+ datePublished: new Date(2012, 0, 2),
70
+ dateReviewed: new Date(2013, 0, 2),
71
+ };
73
72
  const el = await fixture(html `
74
73
  <tile-list-compact
75
74
  .model=${model}
76
75
  .sortParam=${{ field: 'date', direction: 'desc' }}
77
76
  >
78
77
  </tile-list-compact>
79
- `);
80
- const dateColumn = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('date');
81
- expect(dateColumn).to.exist;
82
- expect((_b = dateColumn === null || dateColumn === void 0 ? void 0 : dateColumn.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('Jan 02, 2012');
83
- });
84
- it('should render added date when sorting by it', async () => {
85
- var _a, _b;
86
- const model = {
87
- dateAdded: new Date(2010, 0, 2),
88
- dateArchived: new Date(2011, 0, 2),
89
- datePublished: new Date(2012, 0, 2),
90
- dateReviewed: new Date(2013, 0, 2),
91
- };
78
+ `);
79
+ const dateColumn = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('date');
80
+ expect(dateColumn).to.exist;
81
+ expect((_b = dateColumn === null || dateColumn === void 0 ? void 0 : dateColumn.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('Jan 02, 2012');
82
+ });
83
+ it('should render added date when sorting by it', async () => {
84
+ var _a, _b;
85
+ const model = {
86
+ dateAdded: new Date(2010, 0, 2),
87
+ dateArchived: new Date(2011, 0, 2),
88
+ datePublished: new Date(2012, 0, 2),
89
+ dateReviewed: new Date(2013, 0, 2),
90
+ };
92
91
  const el = await fixture(html `
93
92
  <tile-list-compact
94
93
  .model=${model}
95
94
  .sortParam=${{ field: 'addeddate', direction: 'desc' }}
96
95
  >
97
96
  </tile-list-compact>
98
- `);
99
- const dateColumn = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('date');
100
- expect(dateColumn).to.exist;
101
- expect((_b = dateColumn === null || dateColumn === void 0 ? void 0 : dateColumn.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('Jan 02, 2010');
102
- });
103
- it('should render archived date when sorting by it', async () => {
104
- var _a, _b;
105
- const model = {
106
- dateAdded: new Date(2010, 0, 2),
107
- dateArchived: new Date(2011, 0, 2),
108
- datePublished: new Date(2012, 0, 2),
109
- dateReviewed: new Date(2013, 0, 2),
110
- };
97
+ `);
98
+ const dateColumn = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('date');
99
+ expect(dateColumn).to.exist;
100
+ expect((_b = dateColumn === null || dateColumn === void 0 ? void 0 : dateColumn.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('Jan 02, 2010');
101
+ });
102
+ it('should render archived date when sorting by it', async () => {
103
+ var _a, _b;
104
+ const model = {
105
+ dateAdded: new Date(2010, 0, 2),
106
+ dateArchived: new Date(2011, 0, 2),
107
+ datePublished: new Date(2012, 0, 2),
108
+ dateReviewed: new Date(2013, 0, 2),
109
+ };
111
110
  const el = await fixture(html `
112
111
  <tile-list-compact
113
112
  .model=${model}
114
113
  .sortParam=${{ field: 'publicdate', direction: 'desc' }}
115
114
  >
116
115
  </tile-list-compact>
117
- `);
118
- const dateColumn = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('date');
119
- expect(dateColumn).to.exist;
120
- expect((_b = dateColumn === null || dateColumn === void 0 ? void 0 : dateColumn.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('Jan 02, 2011');
121
- });
122
- it('should render reviewed date when sorting by it', async () => {
123
- var _a, _b;
124
- const model = {
125
- dateAdded: new Date(2010, 0, 2),
126
- dateArchived: new Date(2011, 0, 2),
127
- datePublished: new Date(2012, 0, 2),
128
- dateReviewed: new Date(2013, 0, 2),
129
- };
116
+ `);
117
+ const dateColumn = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('date');
118
+ expect(dateColumn).to.exist;
119
+ expect((_b = dateColumn === null || dateColumn === void 0 ? void 0 : dateColumn.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('Jan 02, 2011');
120
+ });
121
+ it('should render reviewed date when sorting by it', async () => {
122
+ var _a, _b;
123
+ const model = {
124
+ dateAdded: new Date(2010, 0, 2),
125
+ dateArchived: new Date(2011, 0, 2),
126
+ datePublished: new Date(2012, 0, 2),
127
+ dateReviewed: new Date(2013, 0, 2),
128
+ };
130
129
  const el = await fixture(html `
131
130
  <tile-list-compact
132
131
  .model=${model}
133
132
  .sortParam=${{ field: 'reviewdate', direction: 'desc' }}
134
133
  >
135
134
  </tile-list-compact>
136
- `);
137
- const dateColumn = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('date');
138
- expect(dateColumn).to.exist;
139
- expect((_b = dateColumn === null || dateColumn === void 0 ? void 0 : dateColumn.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('Jan 02, 2013');
140
- });
141
- it('should only show the year for a date published of Jan 1 at midnight UTC', async () => {
142
- var _a, _b;
143
- const model = {
144
- datePublished: new Date(2012, 0, 1, 0, 0, 0, 0),
145
- };
135
+ `);
136
+ const dateColumn = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('date');
137
+ expect(dateColumn).to.exist;
138
+ expect((_b = dateColumn === null || dateColumn === void 0 ? void 0 : dateColumn.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('Jan 02, 2013');
139
+ });
140
+ it('should only show the year for a date published of Jan 1 at midnight UTC', async () => {
141
+ var _a, _b;
142
+ const model = {
143
+ datePublished: new Date(2012, 0, 1, 0, 0, 0, 0),
144
+ };
146
145
  const el = await fixture(html `
147
146
  <tile-list-compact
148
147
  .model=${model}
149
148
  .sortParam=${{ field: 'date', direction: 'desc' }}
150
149
  >
151
150
  </tile-list-compact>
152
- `);
153
- const dateColumn = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('date');
154
- expect(dateColumn).to.exist;
155
- expect((_b = dateColumn === null || dateColumn === void 0 ? void 0 : dateColumn.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('2012');
156
- });
157
- it('should show full date added/archived/reviewed, even on Jan 1 at midnight UTC', async () => {
158
- var _a, _b, _c, _d, _e, _f;
159
- const model = {
160
- dateAdded: new Date(2010, 0, 1, 0, 0, 0, 0),
161
- dateArchived: new Date(2011, 0, 1, 0, 0, 0, 0),
162
- datePublished: new Date(2012, 0, 1, 0, 0, 0, 0),
163
- dateReviewed: new Date(2013, 0, 1, 0, 0, 0, 0),
164
- };
151
+ `);
152
+ const dateColumn = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('date');
153
+ expect(dateColumn).to.exist;
154
+ expect((_b = dateColumn === null || dateColumn === void 0 ? void 0 : dateColumn.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('2012');
155
+ });
156
+ it('should show full date added/archived/reviewed, even on Jan 1 at midnight UTC', async () => {
157
+ var _a, _b, _c, _d, _e, _f;
158
+ const model = {
159
+ dateAdded: new Date(2010, 0, 1, 0, 0, 0, 0),
160
+ dateArchived: new Date(2011, 0, 1, 0, 0, 0, 0),
161
+ datePublished: new Date(2012, 0, 1, 0, 0, 0, 0),
162
+ dateReviewed: new Date(2013, 0, 1, 0, 0, 0, 0),
163
+ };
165
164
  const el = await fixture(html `
166
165
  <tile-list-compact
167
166
  .model=${model}
168
167
  .sortParam=${{ field: 'addeddate', direction: 'desc' }}
169
168
  >
170
169
  </tile-list-compact>
171
- `);
172
- let dateColumn = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('date');
173
- expect(dateColumn).to.exist;
174
- expect((_b = dateColumn === null || dateColumn === void 0 ? void 0 : dateColumn.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('Jan 01, 2010');
175
- el.sortParam = { field: 'publicdate', direction: 'desc' };
176
- await el.updateComplete;
177
- dateColumn = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.getElementById('date');
178
- expect(dateColumn).to.exist;
179
- expect((_d = dateColumn === null || dateColumn === void 0 ? void 0 : dateColumn.textContent) === null || _d === void 0 ? void 0 : _d.trim()).to.equal('Jan 01, 2011');
180
- el.sortParam = { field: 'reviewdate', direction: 'desc' };
181
- await el.updateComplete;
182
- dateColumn = (_e = el.shadowRoot) === null || _e === void 0 ? void 0 : _e.getElementById('date');
183
- expect(dateColumn).to.exist;
184
- expect((_f = dateColumn === null || dateColumn === void 0 ? void 0 : dateColumn.textContent) === null || _f === void 0 ? void 0 : _f.trim()).to.equal('Jan 01, 2013');
185
- });
186
- it('should show the first creator matching the letter filter, if defined', async () => {
187
- var _a, _b;
188
- const model = {
189
- creator: 'foo',
190
- creators: ['foo', 'bar', 'baz'],
191
- };
170
+ `);
171
+ let dateColumn = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('date');
172
+ expect(dateColumn).to.exist;
173
+ expect((_b = dateColumn === null || dateColumn === void 0 ? void 0 : dateColumn.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('Jan 01, 2010');
174
+ el.sortParam = { field: 'publicdate', direction: 'desc' };
175
+ await el.updateComplete;
176
+ dateColumn = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.getElementById('date');
177
+ expect(dateColumn).to.exist;
178
+ expect((_d = dateColumn === null || dateColumn === void 0 ? void 0 : dateColumn.textContent) === null || _d === void 0 ? void 0 : _d.trim()).to.equal('Jan 01, 2011');
179
+ el.sortParam = { field: 'reviewdate', direction: 'desc' };
180
+ await el.updateComplete;
181
+ dateColumn = (_e = el.shadowRoot) === null || _e === void 0 ? void 0 : _e.getElementById('date');
182
+ expect(dateColumn).to.exist;
183
+ expect((_f = dateColumn === null || dateColumn === void 0 ? void 0 : dateColumn.textContent) === null || _f === void 0 ? void 0 : _f.trim()).to.equal('Jan 01, 2013');
184
+ });
185
+ it('should show the first creator matching the letter filter, if defined', async () => {
186
+ var _a, _b;
187
+ const model = {
188
+ creator: 'foo',
189
+ creators: ['foo', 'bar', 'baz'],
190
+ };
192
191
  const el = await fixture(html `
193
192
  <tile-list-compact .model=${model} .creatorFilter=${'B'}>
194
193
  </tile-list-compact>
195
- `);
196
- const creator = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('creator');
197
- expect(creator).to.exist;
198
- expect((_b = creator === null || creator === void 0 ? void 0 : creator.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('bar');
199
- });
200
- });
194
+ `);
195
+ const creator = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('creator');
196
+ expect(creator).to.exist;
197
+ expect((_b = creator === null || creator === void 0 ? void 0 : creator.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('bar');
198
+ });
199
+ });
201
200
  //# sourceMappingURL=tile-list-compact.test.js.map