@internetarchive/collection-browser 2.7.13 → 2.7.14

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 (296) 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.js +0 -2
  6. package/dist/index.js.map +1 -1
  7. package/dist/src/app-root.d.ts +1 -1
  8. package/dist/src/app-root.js +4 -4
  9. package/dist/src/app-root.js.map +1 -1
  10. package/dist/src/assets/img/icons/arrow-left.d.ts +1 -1
  11. package/dist/src/assets/img/icons/arrow-right.d.ts +1 -1
  12. package/dist/src/assets/img/icons/chevron.d.ts +1 -1
  13. package/dist/src/assets/img/icons/contract.d.ts +1 -1
  14. package/dist/src/assets/img/icons/empty-query.d.ts +1 -1
  15. package/dist/src/assets/img/icons/expand.d.ts +1 -1
  16. package/dist/src/assets/img/icons/eye-closed.d.ts +1 -1
  17. package/dist/src/assets/img/icons/eye.d.ts +1 -1
  18. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  19. package/dist/src/assets/img/icons/favorite-unfilled.d.ts +1 -1
  20. package/dist/src/assets/img/icons/filter.d.ts +1 -1
  21. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  22. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  23. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  24. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  25. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  26. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  27. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  28. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  29. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  30. package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -1
  31. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  32. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  33. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  34. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  35. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  36. package/dist/src/assets/img/icons/null-result.d.ts +1 -1
  37. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  38. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  39. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  40. package/dist/src/assets/img/icons/views.d.ts +1 -1
  41. package/dist/src/circular-activity-indicator.d.ts +1 -1
  42. package/dist/src/circular-activity-indicator.js.map +1 -1
  43. package/dist/src/collection-browser.js +1 -2
  44. package/dist/src/collection-browser.js.map +1 -1
  45. package/dist/src/collection-facets/facet-row.js.map +1 -1
  46. package/dist/src/collection-facets/facet-tombstone-row.d.ts +1 -1
  47. package/dist/src/collection-facets/facet-tombstone-row.js.map +1 -1
  48. package/dist/src/collection-facets/facets-template.js +5 -5
  49. package/dist/src/collection-facets/facets-template.js.map +1 -1
  50. package/dist/src/collection-facets/more-facets-content.d.ts +1 -1
  51. package/dist/src/collection-facets/more-facets-content.js +2 -4
  52. package/dist/src/collection-facets/more-facets-content.js.map +1 -1
  53. package/dist/src/collection-facets/more-facets-pagination.js +1 -0
  54. package/dist/src/collection-facets/more-facets-pagination.js.map +1 -1
  55. package/dist/src/collection-facets/smart-facets/dedupe.js.map +1 -1
  56. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.js.map +1 -1
  57. package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.js +1 -1
  58. package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.js.map +1 -1
  59. package/dist/src/collection-facets/smart-facets/models.d.ts +2 -2
  60. package/dist/src/collection-facets/smart-facets/smart-facet-bar.js +1 -4
  61. package/dist/src/collection-facets/smart-facets/smart-facet-bar.js.map +1 -1
  62. package/dist/src/collection-facets/smart-facets/smart-facet-button.d.ts +1 -1
  63. package/dist/src/collection-facets/smart-facets/smart-facet-button.js.map +1 -1
  64. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.d.ts +1 -1
  65. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js.map +1 -1
  66. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js.map +1 -1
  67. package/dist/src/collection-facets/toggle-switch.d.ts +2 -2
  68. package/dist/src/collection-facets/toggle-switch.js +2 -2
  69. package/dist/src/collection-facets/toggle-switch.js.map +1 -1
  70. package/dist/src/collection-facets.js +2 -3
  71. package/dist/src/collection-facets.js.map +1 -1
  72. package/dist/src/data-source/collection-browser-data-source-interface.js.map +1 -1
  73. package/dist/src/data-source/collection-browser-data-source.js +8 -9
  74. package/dist/src/data-source/collection-browser-data-source.js.map +1 -1
  75. package/dist/src/data-source/models.d.ts +2 -2
  76. package/dist/src/empty-placeholder.d.ts +1 -1
  77. package/dist/src/empty-placeholder.js +10 -11
  78. package/dist/src/empty-placeholder.js.map +1 -1
  79. package/dist/src/expanded-date-picker.js.map +1 -1
  80. package/dist/src/language-code-handler/language-code-handler.js.map +1 -1
  81. package/dist/src/language-code-handler/language-code-mapping.js +86 -86
  82. package/dist/src/language-code-handler/language-code-mapping.js.map +1 -1
  83. package/dist/src/manage/manage-bar.js +16 -16
  84. package/dist/src/manage/manage-bar.js.map +1 -1
  85. package/dist/src/manage/remove-items-modal-content.js.map +1 -1
  86. package/dist/src/mediatype/mediatype-config.js +1 -0
  87. package/dist/src/mediatype/mediatype-config.js.map +1 -1
  88. package/dist/src/models.d.ts +15 -15
  89. package/dist/src/models.js +3 -3
  90. package/dist/src/models.js.map +1 -1
  91. package/dist/src/restoration-state-handler.js +0 -1
  92. package/dist/src/restoration-state-handler.js.map +1 -1
  93. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +1 -1
  94. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js.map +1 -1
  95. package/dist/src/sort-filter-bar/alpha-bar.js +9 -9
  96. package/dist/src/sort-filter-bar/alpha-bar.js.map +1 -1
  97. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  98. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  99. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  100. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  101. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  102. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  103. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  104. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +1 -1
  105. package/dist/src/sort-filter-bar/sort-filter-bar.js +1 -2
  106. package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
  107. package/dist/src/tiles/base-tile-component.js.map +1 -1
  108. package/dist/src/tiles/collection-browser-loading-tile.d.ts +1 -1
  109. package/dist/src/tiles/collection-browser-loading-tile.js.map +1 -1
  110. package/dist/src/tiles/grid/account-tile.js.map +1 -1
  111. package/dist/src/tiles/grid/collection-tile.js.map +1 -1
  112. package/dist/src/tiles/grid/item-tile.js +2 -3
  113. package/dist/src/tiles/grid/item-tile.js.map +1 -1
  114. package/dist/src/tiles/grid/search-tile.js.map +1 -1
  115. package/dist/src/tiles/grid/tile-stats.d.ts +1 -1
  116. package/dist/src/tiles/grid/tile-stats.js +2 -2
  117. package/dist/src/tiles/grid/tile-stats.js.map +1 -1
  118. package/dist/src/tiles/hover/hover-pane-controller.js.map +1 -1
  119. package/dist/src/tiles/hover/tile-hover-pane.d.ts +1 -1
  120. package/dist/src/tiles/hover/tile-hover-pane.js +3 -1
  121. package/dist/src/tiles/hover/tile-hover-pane.js.map +1 -1
  122. package/dist/src/tiles/image-block.d.ts +1 -1
  123. package/dist/src/tiles/image-block.js +1 -1
  124. package/dist/src/tiles/image-block.js.map +1 -1
  125. package/dist/src/tiles/item-image.d.ts +1 -1
  126. package/dist/src/tiles/item-image.js +2 -2
  127. package/dist/src/tiles/item-image.js.map +1 -1
  128. package/dist/src/tiles/list/tile-list-compact-header.d.ts +1 -1
  129. package/dist/src/tiles/list/tile-list-compact-header.js.map +1 -1
  130. package/dist/src/tiles/list/tile-list-compact.d.ts +1 -1
  131. package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
  132. package/dist/src/tiles/list/tile-list.js +4 -6
  133. package/dist/src/tiles/list/tile-list.js.map +1 -1
  134. package/dist/src/tiles/mediatype-icon.d.ts +1 -1
  135. package/dist/src/tiles/mediatype-icon.js.map +1 -1
  136. package/dist/src/tiles/overlay/icon-overlay.js.map +1 -1
  137. package/dist/src/tiles/overlay/text-overlay.js.map +1 -1
  138. package/dist/src/tiles/review-block.js.map +1 -1
  139. package/dist/src/tiles/text-snippet-block.js.map +1 -1
  140. package/dist/src/tiles/tile-dispatcher.d.ts +1 -1
  141. package/dist/src/tiles/tile-dispatcher.js.map +1 -1
  142. package/dist/src/tiles/tile-display-value-provider.js.map +1 -1
  143. package/dist/src/utils/facet-utils.js.map +1 -1
  144. package/dist/src/utils/format-count.d.ts +2 -2
  145. package/dist/src/utils/format-count.js +0 -1
  146. package/dist/src/utils/format-count.js.map +1 -1
  147. package/dist/src/utils/format-date.d.ts +1 -1
  148. package/dist/src/utils/format-date.js.map +1 -1
  149. package/dist/src/utils/format-unit-size.js.map +1 -1
  150. package/dist/src/utils/log.js +1 -3
  151. package/dist/src/utils/log.js.map +1 -1
  152. package/dist/src/utils/resolve-mediatype.js.map +1 -1
  153. package/dist/test/collection-browser.test.js +4 -3
  154. package/dist/test/collection-browser.test.js.map +1 -1
  155. package/dist/test/collection-facets/facet-row.test.js +4 -1
  156. package/dist/test/collection-facets/facet-row.test.js.map +1 -1
  157. package/dist/test/collection-facets/facets-template.test.js.map +1 -1
  158. package/dist/test/collection-facets/more-facets-content.test.js +0 -1
  159. package/dist/test/collection-facets/more-facets-content.test.js.map +1 -1
  160. package/dist/test/collection-facets/more-facets-pagination.test.js +0 -1
  161. package/dist/test/collection-facets/more-facets-pagination.test.js.map +1 -1
  162. package/dist/test/collection-facets/toggle-switch.test.js +12 -3
  163. package/dist/test/collection-facets/toggle-switch.test.js.map +1 -1
  164. package/dist/test/collection-facets.test.js +4 -4
  165. package/dist/test/collection-facets.test.js.map +1 -1
  166. package/dist/test/data-source/collection-browser-data-source.test.js.map +1 -1
  167. package/dist/test/empty-placeholder.test.js +0 -1
  168. package/dist/test/empty-placeholder.test.js.map +1 -1
  169. package/dist/test/expanded-date-picker.test.js +4 -3
  170. package/dist/test/expanded-date-picker.test.js.map +1 -1
  171. package/dist/test/icon-overlay.test.js +0 -1
  172. package/dist/test/icon-overlay.test.js.map +1 -1
  173. package/dist/test/image-block.test.js +0 -1
  174. package/dist/test/image-block.test.js.map +1 -1
  175. package/dist/test/item-image.test.js +0 -1
  176. package/dist/test/item-image.test.js.map +1 -1
  177. package/dist/test/manage/manage-bar.test.js +2 -3
  178. package/dist/test/manage/manage-bar.test.js.map +1 -1
  179. package/dist/test/manage/remove-items-modal-content.test.js +0 -1
  180. package/dist/test/manage/remove-items-modal-content.test.js.map +1 -1
  181. package/dist/test/mocks/mock-search-responses.js.map +1 -1
  182. package/dist/test/mocks/mock-search-service.js.map +1 -1
  183. package/dist/test/restoration-state-handler.test.js.map +1 -1
  184. package/dist/test/review-block.test.js +0 -1
  185. package/dist/test/review-block.test.js.map +1 -1
  186. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js.map +1 -1
  187. package/dist/test/sort-filter-bar/alpha-bar.test.js.map +1 -1
  188. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +0 -1
  189. package/dist/test/sort-filter-bar/sort-filter-bar.test.js.map +1 -1
  190. package/dist/test/text-overlay.test.js +0 -1
  191. package/dist/test/text-overlay.test.js.map +1 -1
  192. package/dist/test/text-snippet-block.test.js +0 -1
  193. package/dist/test/text-snippet-block.test.js.map +1 -1
  194. package/dist/test/tile-stats.test.js +22 -23
  195. package/dist/test/tile-stats.test.js.map +1 -1
  196. package/dist/test/tiles/grid/account-tile.test.js +0 -1
  197. package/dist/test/tiles/grid/account-tile.test.js.map +1 -1
  198. package/dist/test/tiles/grid/collection-tile.test.js +0 -1
  199. package/dist/test/tiles/grid/collection-tile.test.js.map +1 -1
  200. package/dist/test/tiles/grid/item-tile.test.js +0 -1
  201. package/dist/test/tiles/grid/item-tile.test.js.map +1 -1
  202. package/dist/test/tiles/grid/search-tile.test.js +0 -1
  203. package/dist/test/tiles/grid/search-tile.test.js.map +1 -1
  204. package/dist/test/tiles/hover/hover-pane-controller.test.js.map +1 -1
  205. package/dist/test/tiles/hover/tile-hover-pane.test.js.map +1 -1
  206. package/dist/test/tiles/list/tile-list-compact.test.js +0 -1
  207. package/dist/test/tiles/list/tile-list-compact.test.js.map +1 -1
  208. package/dist/test/tiles/list/tile-list.test.js +0 -1
  209. package/dist/test/tiles/list/tile-list.test.js.map +1 -1
  210. package/dist/test/tiles/tile-dispatcher.test.js.map +1 -1
  211. package/dist/test/utils/format-count.test.js.map +1 -1
  212. package/dist/test/utils/format-date.test.js.map +1 -1
  213. package/dist/test/utils/local-date-from-utc.test.js.map +1 -1
  214. package/eslint.config.mjs +53 -0
  215. package/index.html +0 -3
  216. package/package.json +41 -39
  217. package/src/app-root.ts +21 -22
  218. package/src/collection-browser.ts +36 -38
  219. package/src/collection-facets/facets-template.ts +7 -6
  220. package/src/collection-facets/more-facets-content.ts +11 -13
  221. package/src/collection-facets/more-facets-pagination.ts +3 -2
  222. package/src/collection-facets/smart-facets/dedupe.ts +2 -2
  223. package/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.ts +1 -1
  224. package/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.ts +6 -6
  225. package/src/collection-facets/smart-facets/smart-facet-bar.ts +6 -8
  226. package/src/collection-facets/smart-facets/smart-facet-button.ts +5 -3
  227. package/src/collection-facets/smart-facets/smart-facet-dropdown.ts +4 -4
  228. package/src/collection-facets/smart-facets/smart-facet-heuristics.ts +1 -1
  229. package/src/collection-facets/toggle-switch.ts +2 -2
  230. package/src/collection-facets.ts +18 -19
  231. package/src/data-source/collection-browser-data-source-interface.ts +5 -1
  232. package/src/data-source/collection-browser-data-source.ts +37 -34
  233. package/src/empty-placeholder.ts +19 -16
  234. package/src/expanded-date-picker.ts +1 -1
  235. package/src/language-code-handler/language-code-handler.ts +1 -1
  236. package/src/manage/manage-bar.ts +23 -20
  237. package/src/manage/remove-items-modal-content.ts +2 -2
  238. package/src/mediatype/mediatype-config.ts +1 -0
  239. package/src/models.ts +3 -3
  240. package/src/restoration-state-handler.ts +14 -15
  241. package/src/sort-filter-bar/alpha-bar.ts +16 -17
  242. package/src/sort-filter-bar/sort-filter-bar.ts +14 -15
  243. package/src/tiles/grid/account-tile.ts +1 -1
  244. package/src/tiles/grid/collection-tile.ts +1 -1
  245. package/src/tiles/grid/item-tile.ts +9 -9
  246. package/src/tiles/grid/tile-stats.ts +4 -4
  247. package/src/tiles/hover/hover-pane-controller.ts +1 -1
  248. package/src/tiles/hover/tile-hover-pane.ts +4 -2
  249. package/src/tiles/item-image.ts +1 -1
  250. package/src/tiles/list/tile-list-compact.ts +2 -2
  251. package/src/tiles/list/tile-list.ts +22 -24
  252. package/src/tiles/tile-dispatcher.ts +5 -5
  253. package/src/tiles/tile-display-value-provider.ts +4 -4
  254. package/src/utils/facet-utils.ts +6 -6
  255. package/src/utils/format-count.ts +2 -3
  256. package/src/utils/format-date.ts +1 -1
  257. package/src/utils/format-unit-size.ts +1 -1
  258. package/src/utils/log.ts +1 -3
  259. package/test/collection-browser.test.ts +125 -124
  260. package/test/collection-facets/facet-row.test.ts +31 -28
  261. package/test/collection-facets/facets-template.test.ts +9 -9
  262. package/test/collection-facets/more-facets-content.test.ts +14 -15
  263. package/test/collection-facets/more-facets-pagination.test.ts +18 -19
  264. package/test/collection-facets/toggle-switch.test.ts +28 -18
  265. package/test/collection-facets.test.ts +46 -39
  266. package/test/data-source/collection-browser-data-source.test.ts +2 -2
  267. package/test/empty-placeholder.test.ts +6 -7
  268. package/test/expanded-date-picker.test.ts +25 -20
  269. package/test/icon-overlay.test.ts +0 -1
  270. package/test/image-block.test.ts +6 -7
  271. package/test/item-image.test.ts +0 -1
  272. package/test/manage/manage-bar.test.ts +19 -16
  273. package/test/manage/remove-items-modal-content.test.ts +4 -5
  274. package/test/mocks/mock-search-responses.ts +2 -1
  275. package/test/mocks/mock-search-service.ts +1 -1
  276. package/test/restoration-state-handler.test.ts +12 -12
  277. package/test/review-block.test.ts +1 -2
  278. package/test/sort-filter-bar/alpha-bar-tooltip.test.ts +1 -1
  279. package/test/sort-filter-bar/alpha-bar.test.ts +5 -5
  280. package/test/sort-filter-bar/sort-filter-bar.test.ts +38 -39
  281. package/test/text-overlay.test.ts +0 -1
  282. package/test/text-snippet-block.test.ts +5 -6
  283. package/test/tile-stats.test.ts +26 -35
  284. package/test/tiles/grid/account-tile.test.ts +2 -3
  285. package/test/tiles/grid/collection-tile.test.ts +3 -4
  286. package/test/tiles/grid/item-tile.test.ts +13 -14
  287. package/test/tiles/grid/search-tile.test.ts +1 -2
  288. package/test/tiles/hover/hover-pane-controller.test.ts +15 -15
  289. package/test/tiles/hover/tile-hover-pane.test.ts +5 -5
  290. package/test/tiles/list/tile-list-compact.test.ts +1 -2
  291. package/test/tiles/list/tile-list.test.ts +10 -11
  292. package/test/tiles/tile-dispatcher.test.ts +5 -5
  293. package/test/utils/format-count.test.ts +1 -1
  294. package/test/utils/format-date.test.ts +1 -1
  295. package/test/utils/local-date-from-utc.test.ts +1 -1
  296. package/tsconfig.json +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tile-dispatcher.test.js","sourceRoot":"","sources":["../../../test/tiles/tile-dispatcher.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { aTimeout, expect, fixture } from '@open-wc/testing';\nimport { html } from 'lit';\nimport sinon from 'sinon';\nimport type { TileDispatcher } from '../../src/tiles/tile-dispatcher';\n\nimport '../../src/tiles/tile-dispatcher';\nimport type { ItemTile } from '../../src/tiles/grid/item-tile';\nimport { TileHoverPane } from '../../src/tiles/hover/tile-hover-pane';\nimport type { HoverPaneProperties } from '../../src/tiles/hover/hover-pane-controller';\n\ndescribe('Tile Dispatcher', () => {\n it('should render item-tile for grid mode by default', async () => {\n const el = await fixture<TileDispatcher>(html`\n <tile-dispatcher\n .tileDisplayMode=${'grid'}\n .model=${{ mediatype: 'texts' }}\n >\n </tile-dispatcher>\n `);\n\n const itemTile = el.shadowRoot?.querySelector('item-tile');\n expect(itemTile).to.exist;\n });\n\n it('should render collection-tile for grid mode and collection mediatype', async () => {\n const el = await fixture<TileDispatcher>(html`\n <tile-dispatcher\n .tileDisplayMode=${'grid'}\n .model=${{ mediatype: 'collection' }}\n >\n </tile-dispatcher>\n `);\n\n const collectionTile = el.shadowRoot?.querySelector('collection-tile');\n expect(collectionTile).to.exist;\n });\n\n it('should render account-tile for grid mode and account mediatype', async () => {\n const el = await fixture<TileDispatcher>(html`\n <tile-dispatcher\n .tileDisplayMode=${'grid'}\n .model=${{ mediatype: 'account' }}\n >\n </tile-dispatcher>\n `);\n\n const accountTile = el.shadowRoot?.querySelector('account-tile');\n expect(accountTile).to.exist;\n });\n\n it('should render search-tile for grid mode and search mediatype', async () => {\n const el = await fixture<TileDispatcher>(html`\n <tile-dispatcher\n .tileDisplayMode=${'grid'}\n .model=${{ mediatype: 'search' }}\n >\n </tile-dispatcher>\n `);\n\n const searchTile = el.shadowRoot?.querySelector('search-tile');\n expect(searchTile).to.exist;\n });\n\n it('should render tile-list for extended list mode', async () => {\n const el = await fixture<TileDispatcher>(html`\n <tile-dispatcher .tileDisplayMode=${'list-detail'} .model=${{}}>\n </tile-dispatcher>\n `);\n\n const listTile = el.shadowRoot?.querySelector('tile-list');\n expect(listTile).to.exist;\n });\n\n it('should render tile-list-compact for compact list mode', async () => {\n const el = await fixture<TileDispatcher>(html`\n <tile-dispatcher .tileDisplayMode=${'list-compact'} .model=${{}}>\n </tile-dispatcher>\n `);\n\n const compactListTile = el.shadowRoot?.querySelector('tile-list-compact');\n expect(compactListTile).to.exist;\n });\n\n it('should open item in new tab when right-clicked in manage mode', async () => {\n const oldWindowOpen = window.open;\n const spy = sinon.spy();\n window.open = spy;\n\n const el = await fixture<TileDispatcher>(html`\n <tile-dispatcher\n isManageView\n .model=${{ identifier: 'foo', href: '/foo' }}\n .baseNavigationUrl=${''}\n >\n </tile-dispatcher>\n `);\n\n const tileLink = el.shadowRoot?.querySelector(\n 'a[href]'\n ) as HTMLAnchorElement;\n expect(tileLink).to.exist;\n\n tileLink.dispatchEvent(new Event('contextmenu'));\n await el.updateComplete;\n\n expect(spy.callCount).to.equal(1);\n expect(spy.args[0][0]).to.equal('/foo');\n expect(spy.args[0][1]).to.equal('_blank');\n\n window.open = oldWindowOpen;\n });\n\n it('should toggle model checked state when manage check clicked', async () => {\n const el = await fixture<TileDispatcher>(html`\n <tile-dispatcher\n isManageView\n .model=${{ identifier: 'foo', href: '/foo' }}\n .tileDisplayMode=${'grid'}\n ></tile-dispatcher>\n `);\n\n const manageCheck = el.shadowRoot?.querySelector(\n '.manage-check > input[type=\"checkbox\"]'\n ) as HTMLButtonElement;\n\n manageCheck.click();\n await el.updateComplete;\n expect(el.model?.checked).to.be.true;\n\n manageCheck.click();\n await el.updateComplete;\n expect(el.model?.checked).to.be.false;\n });\n\n it('should return hover pane props', async () => {\n const el = await fixture<TileDispatcher>(html`\n <tile-dispatcher .model=${{ identifier: 'foo' }}> </tile-dispatcher>\n `);\n\n expect(el.getHoverPaneProps()).to.satisfy(\n (props: HoverPaneProperties) => props?.model?.identifier === 'foo'\n );\n });\n\n describe('Hover pane info button behavior', () => {\n let oldMatchMedia: typeof window.matchMedia;\n\n before(() => {\n oldMatchMedia = window.matchMedia;\n // Pretend that there is no hover-capable input device\n window.matchMedia = () => ({ matches: false } as MediaQueryList);\n });\n\n after(() => {\n window.matchMedia = oldMatchMedia;\n });\n\n it('should toggle hover pane when tile info button is pressed', async () => {\n const el = await fixture<TileDispatcher>(html`\n <tile-dispatcher\n .tileDisplayMode=${'grid'}\n .model=${{ mediatype: 'texts' }}\n .enableHoverPane=${true}\n >\n </tile-dispatcher>\n `);\n\n const itemTile = el.shadowRoot?.querySelector('item-tile') as ItemTile;\n expect(itemTile).to.exist;\n\n const infoButton = itemTile.shadowRoot?.querySelector(\n '.info-button'\n ) as HTMLButtonElement;\n expect(infoButton).to.exist;\n\n infoButton.click();\n await aTimeout(500);\n await el.updateComplete;\n expect(el.getHoverPane()).to.be.instanceOf(TileHoverPane);\n\n infoButton.click();\n await aTimeout(500);\n await el.updateComplete;\n expect(el.getHoverPane()).not.to.exist;\n });\n });\n});\n"]}
1
+ {"version":3,"file":"tile-dispatcher.test.js","sourceRoot":"","sources":["../../../test/tiles/tile-dispatcher.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { aTimeout, expect, fixture } from '@open-wc/testing';\nimport { html } from 'lit';\nimport sinon from 'sinon';\nimport type { TileDispatcher } from '../../src/tiles/tile-dispatcher';\n\nimport '../../src/tiles/tile-dispatcher';\nimport type { ItemTile } from '../../src/tiles/grid/item-tile';\nimport { TileHoverPane } from '../../src/tiles/hover/tile-hover-pane';\nimport type { HoverPaneProperties } from '../../src/tiles/hover/hover-pane-controller';\n\ndescribe('Tile Dispatcher', () => {\n it('should render item-tile for grid mode by default', async () => {\n const el = await fixture<TileDispatcher>(html`\n <tile-dispatcher\n .tileDisplayMode=${'grid'}\n .model=${{ mediatype: 'texts' }}\n >\n </tile-dispatcher>\n `);\n\n const itemTile = el.shadowRoot?.querySelector('item-tile');\n expect(itemTile).to.exist;\n });\n\n it('should render collection-tile for grid mode and collection mediatype', async () => {\n const el = await fixture<TileDispatcher>(html`\n <tile-dispatcher\n .tileDisplayMode=${'grid'}\n .model=${{ mediatype: 'collection' }}\n >\n </tile-dispatcher>\n `);\n\n const collectionTile = el.shadowRoot?.querySelector('collection-tile');\n expect(collectionTile).to.exist;\n });\n\n it('should render account-tile for grid mode and account mediatype', async () => {\n const el = await fixture<TileDispatcher>(html`\n <tile-dispatcher\n .tileDisplayMode=${'grid'}\n .model=${{ mediatype: 'account' }}\n >\n </tile-dispatcher>\n `);\n\n const accountTile = el.shadowRoot?.querySelector('account-tile');\n expect(accountTile).to.exist;\n });\n\n it('should render search-tile for grid mode and search mediatype', async () => {\n const el = await fixture<TileDispatcher>(html`\n <tile-dispatcher\n .tileDisplayMode=${'grid'}\n .model=${{ mediatype: 'search' }}\n >\n </tile-dispatcher>\n `);\n\n const searchTile = el.shadowRoot?.querySelector('search-tile');\n expect(searchTile).to.exist;\n });\n\n it('should render tile-list for extended list mode', async () => {\n const el = await fixture<TileDispatcher>(html`\n <tile-dispatcher .tileDisplayMode=${'list-detail'} .model=${{}}>\n </tile-dispatcher>\n `);\n\n const listTile = el.shadowRoot?.querySelector('tile-list');\n expect(listTile).to.exist;\n });\n\n it('should render tile-list-compact for compact list mode', async () => {\n const el = await fixture<TileDispatcher>(html`\n <tile-dispatcher .tileDisplayMode=${'list-compact'} .model=${{}}>\n </tile-dispatcher>\n `);\n\n const compactListTile = el.shadowRoot?.querySelector('tile-list-compact');\n expect(compactListTile).to.exist;\n });\n\n it('should open item in new tab when right-clicked in manage mode', async () => {\n const oldWindowOpen = window.open;\n const spy = sinon.spy();\n window.open = spy;\n\n const el = await fixture<TileDispatcher>(html`\n <tile-dispatcher\n isManageView\n .model=${{ identifier: 'foo', href: '/foo' }}\n .baseNavigationUrl=${''}\n >\n </tile-dispatcher>\n `);\n\n const tileLink = el.shadowRoot?.querySelector(\n 'a[href]',\n ) as HTMLAnchorElement;\n expect(tileLink).to.exist;\n\n tileLink.dispatchEvent(new Event('contextmenu'));\n await el.updateComplete;\n\n expect(spy.callCount).to.equal(1);\n expect(spy.args[0][0]).to.equal('/foo');\n expect(spy.args[0][1]).to.equal('_blank');\n\n window.open = oldWindowOpen;\n });\n\n it('should toggle model checked state when manage check clicked', async () => {\n const el = await fixture<TileDispatcher>(html`\n <tile-dispatcher\n isManageView\n .model=${{ identifier: 'foo', href: '/foo' }}\n .tileDisplayMode=${'grid'}\n ></tile-dispatcher>\n `);\n\n const manageCheck = el.shadowRoot?.querySelector(\n '.manage-check > input[type=\"checkbox\"]',\n ) as HTMLButtonElement;\n\n manageCheck.click();\n await el.updateComplete;\n expect(el.model?.checked).to.be.true;\n\n manageCheck.click();\n await el.updateComplete;\n expect(el.model?.checked).to.be.false;\n });\n\n it('should return hover pane props', async () => {\n const el = await fixture<TileDispatcher>(html`\n <tile-dispatcher .model=${{ identifier: 'foo' }}> </tile-dispatcher>\n `);\n\n expect(el.getHoverPaneProps()).to.satisfy(\n (props: HoverPaneProperties) => props?.model?.identifier === 'foo',\n );\n });\n\n describe('Hover pane info button behavior', () => {\n let oldMatchMedia: typeof window.matchMedia;\n\n before(() => {\n oldMatchMedia = window.matchMedia;\n // Pretend that there is no hover-capable input device\n window.matchMedia = () => ({ matches: false }) as MediaQueryList;\n });\n\n after(() => {\n window.matchMedia = oldMatchMedia;\n });\n\n it('should toggle hover pane when tile info button is pressed', async () => {\n const el = await fixture<TileDispatcher>(html`\n <tile-dispatcher\n .tileDisplayMode=${'grid'}\n .model=${{ mediatype: 'texts' }}\n .enableHoverPane=${true}\n >\n </tile-dispatcher>\n `);\n\n const itemTile = el.shadowRoot?.querySelector('item-tile') as ItemTile;\n expect(itemTile).to.exist;\n\n const infoButton = itemTile.shadowRoot?.querySelector(\n '.info-button',\n ) as HTMLButtonElement;\n expect(infoButton).to.exist;\n\n infoButton.click();\n await aTimeout(500);\n await el.updateComplete;\n expect(el.getHoverPane()).to.be.instanceOf(TileHoverPane);\n\n infoButton.click();\n await aTimeout(500);\n await el.updateComplete;\n expect(el.getHoverPane()).not.to.exist;\n });\n });\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"format-count.test.js","sourceRoot":"","sources":["../../../test/utils/format-count.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,MAAM,SAAS,GAAG,MAAM,CAAC;AAEzB,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,CAAC,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,CAAC,WAAW,CAAC,SAAS,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAC3D,aAAa,CACd,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { expect } from '@open-wc/testing';\nimport { formatCount } from '../../src/utils/format-count';\n\nconst testCount = 805342;\n\ndescribe('formatCount', () => {\n it('returns blank when undefined number', () => {\n expect(formatCount(undefined)).to.equal('');\n });\n\n it('returns blank when negative number', () => {\n expect(formatCount(testCount * -1)).to.equal('');\n });\n\n it('returns long number when no NumberFormat', () => {\n expect(formatCount(testCount)).to.equal('805,342');\n });\n\n it('returns short number when short NumberFormat', () => {\n expect(formatCount(testCount, 'short')).to.equal('805K');\n });\n\n it('returns decimal when value of significant digits < 10', () => {\n expect(formatCount(testCount * 10, 'short', 'long')).to.equal(\n '8.1 million'\n );\n });\n\n it('returns locale formatted number', () => {\n expect(formatCount(testCount, 'long', 'long', 'de-DE')).to.equal('805.342');\n });\n});\n"]}
1
+ {"version":3,"file":"format-count.test.js","sourceRoot":"","sources":["../../../test/utils/format-count.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,MAAM,SAAS,GAAG,MAAM,CAAC;AAEzB,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,CAAC,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,CAAC,WAAW,CAAC,SAAS,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAC3D,aAAa,CACd,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { expect } from '@open-wc/testing';\nimport { formatCount } from '../../src/utils/format-count';\n\nconst testCount = 805342;\n\ndescribe('formatCount', () => {\n it('returns blank when undefined number', () => {\n expect(formatCount(undefined)).to.equal('');\n });\n\n it('returns blank when negative number', () => {\n expect(formatCount(testCount * -1)).to.equal('');\n });\n\n it('returns long number when no NumberFormat', () => {\n expect(formatCount(testCount)).to.equal('805,342');\n });\n\n it('returns short number when short NumberFormat', () => {\n expect(formatCount(testCount, 'short')).to.equal('805K');\n });\n\n it('returns decimal when value of significant digits < 10', () => {\n expect(formatCount(testCount * 10, 'short', 'long')).to.equal(\n '8.1 million',\n );\n });\n\n it('returns locale formatted number', () => {\n expect(formatCount(testCount, 'long', 'long', 'de-DE')).to.equal('805.342');\n });\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"format-date.test.js","sourceRoot":"","sources":["../../../test/utils/format-date.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzD,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AAEvC,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iFAAiF,EAAE,GAAG,EAAE;QACzF,oFAAoF;QACpF,2EAA2E;QAC3E,qFAAqF;QACrF,wFAAwF;QACxF,oFAAoF;QACpF,iFAAiF;QACjF,wFAAwF;QACxF,MAAM,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,sBAAsB,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CACxE,MAAM,CACP,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { expect } from '@open-wc/testing';\nimport { formatDate } from '../../src/utils/format-date';\n\nconst testDate = new Date(2020, 11, 9);\n\ndescribe('formatDate', () => {\n it('returns blank when undefined date', () => {\n expect(formatDate(undefined)).to.equal('');\n });\n\n it('returns short date when no DateFormat', () => {\n expect(formatDate(testDate)).to.equal('Dec 2020');\n });\n\n it('returns long date when long DateFormat', () => {\n expect(formatDate(testDate, 'long')).to.equal('Dec 09, 2020');\n });\n\n it('returns year-only date when year-only DateFormat', () => {\n expect(formatDate(testDate, 'year-only')).to.equal('2020');\n });\n\n it('returns correct year for old \"Jan 1 at midnight\" dates and year-only DateFormat', () => {\n // Many standard timezones have a discontinuity in date parsing at some point during\n // the 19th or 20th century, corresponding to the creation of the timezone.\n // Dates prior to the discontinuity generally have a non-hour-aligned timezone offset\n // which can throw off the calculated year for dates which are close to a year boundary.\n // This is particularly problematic for \"Jan 1 at midnight\" dates, which are what we\n // receive from the search engine for date metadata that only specifies the year.\n // So we must ensure these older dates still output the correct year, not the prior one.\n expect(formatDate(new Date('1234-01-01T00:00:00Z'), 'year-only')).to.equal(\n '1234'\n );\n });\n\n it('returns locale formatted date', () => {\n expect(formatDate(testDate, 'long', 'de-DE')).to.equal('09. Dez. 2020');\n });\n});\n"]}
1
+ {"version":3,"file":"format-date.test.js","sourceRoot":"","sources":["../../../test/utils/format-date.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzD,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AAEvC,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iFAAiF,EAAE,GAAG,EAAE;QACzF,oFAAoF;QACpF,2EAA2E;QAC3E,qFAAqF;QACrF,wFAAwF;QACxF,oFAAoF;QACpF,iFAAiF;QACjF,wFAAwF;QACxF,MAAM,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,sBAAsB,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CACxE,MAAM,CACP,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { expect } from '@open-wc/testing';\nimport { formatDate } from '../../src/utils/format-date';\n\nconst testDate = new Date(2020, 11, 9);\n\ndescribe('formatDate', () => {\n it('returns blank when undefined date', () => {\n expect(formatDate(undefined)).to.equal('');\n });\n\n it('returns short date when no DateFormat', () => {\n expect(formatDate(testDate)).to.equal('Dec 2020');\n });\n\n it('returns long date when long DateFormat', () => {\n expect(formatDate(testDate, 'long')).to.equal('Dec 09, 2020');\n });\n\n it('returns year-only date when year-only DateFormat', () => {\n expect(formatDate(testDate, 'year-only')).to.equal('2020');\n });\n\n it('returns correct year for old \"Jan 1 at midnight\" dates and year-only DateFormat', () => {\n // Many standard timezones have a discontinuity in date parsing at some point during\n // the 19th or 20th century, corresponding to the creation of the timezone.\n // Dates prior to the discontinuity generally have a non-hour-aligned timezone offset\n // which can throw off the calculated year for dates which are close to a year boundary.\n // This is particularly problematic for \"Jan 1 at midnight\" dates, which are what we\n // receive from the search engine for date metadata that only specifies the year.\n // So we must ensure these older dates still output the correct year, not the prior one.\n expect(formatDate(new Date('1234-01-01T00:00:00Z'), 'year-only')).to.equal(\n '1234',\n );\n });\n\n it('returns locale formatted date', () => {\n expect(formatDate(testDate, 'long', 'de-DE')).to.equal('09. Dez. 2020');\n });\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"local-date-from-utc.test.js","sourceRoot":"","sources":["../../../test/utils/local-date-from-utc.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EACL,gBAAgB,EAChB,2BAA2B,GAC5B,MAAM,qCAAqC,CAAC;AAE7C,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/D,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CACnD,WAAW,CAAC,WAAW,EAAE,CAC1B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,qBAAqB,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/D,MAAM,CAAC,2BAA2B,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;QAC/E,MAAM,sBAAsB,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QACvE,MAAM,CAAC,2BAA2B,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QAExE,MAAM,qBAAqB,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/D,MAAM,CAAC,2BAA2B,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QAEvE,MAAM,eAAe,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,2BAA2B,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { expect } from '@open-wc/testing';\nimport {\n localDateFromUTC,\n isFirstMillisecondOfUTCYear,\n} from '../../src/utils/local-date-from-utc';\n\ndescribe('localDateFromUTC', () => {\n it('converts dates from UTC to local timezone', async () => {\n const date = new Date(1990, 1, 2, 3, 4, 5, 6);\n const dateFromUTC = new Date(Date.UTC(1990, 1, 2, 3, 4, 5, 6));\n expect(localDateFromUTC(date).toISOString()).to.equal(\n dateFromUTC.toISOString()\n );\n });\n});\n\ndescribe('isFirstMillisecondOfUTCYear', () => {\n it('returns true when date is exactly Jan 1 at midnight in UTC', async () => {\n const midnightOnNewYearsDay = new Date(2010, 0, 1, 0, 0, 0, 0);\n expect(isFirstMillisecondOfUTCYear(midnightOnNewYearsDay)).to.be.true;\n });\n\n it('returns false when date is not exactly Jan 1 at midnight in UTC', async () => {\n const oneMillisecondTooEarly = new Date(2009, 11, 31, 23, 59, 59, 999);\n expect(isFirstMillisecondOfUTCYear(oneMillisecondTooEarly)).to.be.false;\n\n const oneMillisecondTooLate = new Date(2010, 0, 1, 0, 0, 0, 1);\n expect(isFirstMillisecondOfUTCYear(oneMillisecondTooLate)).to.be.false;\n\n const middleOfTheYear = new Date(2010, 6, 1, 0, 0, 0, 0);\n expect(isFirstMillisecondOfUTCYear(middleOfTheYear)).to.be.false;\n });\n\n it('returns false when no date provided', async () => {\n expect(isFirstMillisecondOfUTCYear(undefined)).to.be.false;\n });\n});\n"]}
1
+ {"version":3,"file":"local-date-from-utc.test.js","sourceRoot":"","sources":["../../../test/utils/local-date-from-utc.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EACL,gBAAgB,EAChB,2BAA2B,GAC5B,MAAM,qCAAqC,CAAC;AAE7C,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/D,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CACnD,WAAW,CAAC,WAAW,EAAE,CAC1B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,qBAAqB,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/D,MAAM,CAAC,2BAA2B,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;QAC/E,MAAM,sBAAsB,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QACvE,MAAM,CAAC,2BAA2B,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QAExE,MAAM,qBAAqB,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/D,MAAM,CAAC,2BAA2B,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QAEvE,MAAM,eAAe,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,2BAA2B,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { expect } from '@open-wc/testing';\nimport {\n localDateFromUTC,\n isFirstMillisecondOfUTCYear,\n} from '../../src/utils/local-date-from-utc';\n\ndescribe('localDateFromUTC', () => {\n it('converts dates from UTC to local timezone', async () => {\n const date = new Date(1990, 1, 2, 3, 4, 5, 6);\n const dateFromUTC = new Date(Date.UTC(1990, 1, 2, 3, 4, 5, 6));\n expect(localDateFromUTC(date).toISOString()).to.equal(\n dateFromUTC.toISOString(),\n );\n });\n});\n\ndescribe('isFirstMillisecondOfUTCYear', () => {\n it('returns true when date is exactly Jan 1 at midnight in UTC', async () => {\n const midnightOnNewYearsDay = new Date(2010, 0, 1, 0, 0, 0, 0);\n expect(isFirstMillisecondOfUTCYear(midnightOnNewYearsDay)).to.be.true;\n });\n\n it('returns false when date is not exactly Jan 1 at midnight in UTC', async () => {\n const oneMillisecondTooEarly = new Date(2009, 11, 31, 23, 59, 59, 999);\n expect(isFirstMillisecondOfUTCYear(oneMillisecondTooEarly)).to.be.false;\n\n const oneMillisecondTooLate = new Date(2010, 0, 1, 0, 0, 0, 1);\n expect(isFirstMillisecondOfUTCYear(oneMillisecondTooLate)).to.be.false;\n\n const middleOfTheYear = new Date(2010, 6, 1, 0, 0, 0, 0);\n expect(isFirstMillisecondOfUTCYear(middleOfTheYear)).to.be.false;\n });\n\n it('returns false when no date provided', async () => {\n expect(isFirstMillisecondOfUTCYear(undefined)).to.be.false;\n });\n});\n"]}
@@ -0,0 +1,53 @@
1
+ import typescriptEslint from '@typescript-eslint/eslint-plugin';
2
+ import html from 'eslint-plugin-html';
3
+ import tsParser from '@typescript-eslint/parser';
4
+ import path from 'node:path';
5
+ import { fileURLToPath } from 'node:url';
6
+ import js from '@eslint/js';
7
+ import { FlatCompat } from '@eslint/eslintrc';
8
+
9
+ const __filename = fileURLToPath(import.meta.url);
10
+ const __dirname = path.dirname(__filename);
11
+ const compat = new FlatCompat({
12
+ baseDirectory: __dirname,
13
+ recommendedConfig: js.configs.recommended,
14
+ allConfig: js.configs.all,
15
+ });
16
+
17
+ export default [
18
+ ...compat.extends('plugin:@typescript-eslint/recommended'),
19
+ {
20
+ plugins: {
21
+ '@typescript-eslint': typescriptEslint,
22
+ html,
23
+ },
24
+
25
+ languageOptions: {
26
+ parser: tsParser,
27
+ },
28
+
29
+ settings: {
30
+ 'import/resolver': {
31
+ node: {
32
+ extensions: ['.ts', '.tsx'],
33
+ moduleDirectory: ['node_modules', 'src', 'demo'],
34
+ },
35
+ },
36
+ },
37
+
38
+ rules: {
39
+ '@typescript-eslint/no-unsafe-function-type': 'warn',
40
+ '@typescript-eslint/no-unused-vars': 'warn',
41
+ '@typescript-eslint/no-explicit-any': 'warn',
42
+ },
43
+ },
44
+ {
45
+ ignores: ['**/*.js', '**/*.mjs', '**/*.d.ts'],
46
+ },
47
+ {
48
+ files: ['**/*.test.ts'],
49
+ rules: {
50
+ '@typescript-eslint/no-unused-expressions': 'off',
51
+ },
52
+ },
53
+ ];
package/index.html CHANGED
@@ -16,9 +16,6 @@
16
16
  }
17
17
  </style>
18
18
 
19
- <script
20
- src="https://polyfill.archive.org/v3/polyfill.min.js?features=scrollIntoView%2CElement.prototype.scrollIntoView"></script>
21
-
22
19
  </head>
23
20
  <body>
24
21
  <app-root></app-root>
package/package.json CHANGED
@@ -3,15 +3,15 @@
3
3
  "description": "The Internet Archive Collection Browser.",
4
4
  "license": "AGPL-3.0-only",
5
5
  "author": "Internet Archive",
6
- "version": "2.7.13",
6
+ "version": "2.7.14",
7
7
  "main": "dist/index.js",
8
8
  "module": "dist/index.js",
9
9
  "scripts": {
10
10
  "start": "yarn run prepare && tsc && concurrently -k -r \"tsc --watch --preserveWatchOutput\" \"wds\"",
11
11
  "prepare:ghpages": "rimraf ghpages && yarn run prepare && vite build",
12
12
  "prepare": "rimraf dist && tsc && husky install",
13
- "lint": "eslint --ext .ts,.html . --ignore-path .gitignore && prettier \"**/*.ts\" --check --ignore-path .gitignore",
14
- "format": "eslint --ext .ts,.html . --fix --ignore-path .gitignore && prettier \"**/*.ts\" --write --ignore-path .gitignore",
13
+ "lint": "eslint . && prettier \"**/*.ts\" --check",
14
+ "format": "eslint . --fix && prettier \"**/*.ts\" --write",
15
15
  "circular": "madge --circular --extensions ts .",
16
16
  "test": "tsc && yarn run lint && yarn run circular && wtr --coverage",
17
17
  "test:fast": "tsc && wtr --coverage",
@@ -23,48 +23,50 @@
23
23
  },
24
24
  "types": "dist/index.d.ts",
25
25
  "dependencies": {
26
- "@internetarchive/analytics-manager": "^0.1.2",
26
+ "@internetarchive/analytics-manager": "^0.1.4",
27
27
  "@internetarchive/feature-feedback": "^0.1.4",
28
28
  "@internetarchive/field-parsers": "^0.1.4",
29
- "@internetarchive/histogram-date-range": "1.2.0",
30
- "@internetarchive/ia-activity-indicator": "^0.0.4",
31
- "@internetarchive/ia-dropdown": "1.3.8",
32
- "@internetarchive/infinite-scroller": "1.0.1",
33
- "@internetarchive/modal-manager": "^0.2.8",
34
- "@internetarchive/search-service": "^1.4.2",
29
+ "@internetarchive/histogram-date-range": "^1.2.1",
30
+ "@internetarchive/ia-activity-indicator": "^0.0.6",
31
+ "@internetarchive/ia-dropdown": "^1.3.10",
32
+ "@internetarchive/iaux-item-metadata": "^1.0.4",
33
+ "@internetarchive/infinite-scroller": "^1.0.1",
34
+ "@internetarchive/modal-manager": "^2.0.1",
35
+ "@internetarchive/search-service": "^2.0.0",
35
36
  "@internetarchive/shared-resize-observer": "^0.2.0",
36
- "@lit/localize": "^0.11.2",
37
- "dompurify": "^3.1.7",
38
- "eslint-plugin-lit": "^1.6.1",
39
- "lit": "^2.2.2",
40
- "typescript-cookie": "^1.0.3"
37
+ "@lit/localize": "^0.12.2",
38
+ "dompurify": "^3.2.4",
39
+ "lit": "^2.8.0",
40
+ "typescript-cookie": "^1.0.6"
41
41
  },
42
42
  "devDependencies": {
43
43
  "@internetarchive/result-type": "^0.0.1",
44
- "@open-wc/eslint-config": "^8.0.2",
45
- "@open-wc/testing": "^3.0.3",
46
- "@types/dompurify": "^3.0.5",
47
- "@typescript-eslint/eslint-plugin": "^5.3.1",
48
- "@typescript-eslint/parser": "^5.3.1",
49
- "@web/dev-server": "^0.1.28",
50
- "@web/test-runner": "^0.13.22",
51
- "concurrently": "^6.3.0",
52
- "eslint": "^8.2.0",
53
- "eslint-config-prettier": "^8.3.0",
54
- "eslint-plugin-html": "^7.1.0",
55
- "eslint-plugin-import": "^2.25.3",
56
- "eslint-plugin-lit-a11y": "^2.2.0",
57
- "eslint-plugin-no-only-tests": "^3.0.0",
58
- "eslint-plugin-wc": "^1.3.2",
59
- "gh-pages": "^4.0.0",
60
- "husky": "^7.0.0",
61
- "madge": "^7.0.0",
62
- "prettier": "^2.4.1",
63
- "rimraf": "^3.0.2",
64
- "sinon": "^12.0.1",
65
- "tslib": "^2.3.1",
66
- "typescript": "^4.4.4",
67
- "vite": "^2.9.9"
44
+ "@open-wc/eslint-config": "^12.0.3",
45
+ "@open-wc/testing": "^4.0.0",
46
+ "@types/dompurify": "^3.2.0",
47
+ "@types/mocha": "^10.0.10",
48
+ "@typescript-eslint/eslint-plugin": "^8.27.0",
49
+ "@typescript-eslint/parser": "^8.27.0",
50
+ "@web/dev-server": "^0.4.6",
51
+ "@web/test-runner": "^0.20.0",
52
+ "concurrently": "^9.1.2",
53
+ "eslint": "^9.22.0",
54
+ "eslint-config-prettier": "^10.1.1",
55
+ "eslint-plugin-html": "^8.1.2",
56
+ "eslint-plugin-import": "^2.31.0",
57
+ "eslint-plugin-lit": "^2.0.0",
58
+ "eslint-plugin-lit-a11y": "^4.1.4",
59
+ "eslint-plugin-no-only-tests": "^3.3.0",
60
+ "eslint-plugin-wc": "^3.0.0",
61
+ "gh-pages": "^6.3.0",
62
+ "husky": "^9.1.7",
63
+ "madge": "^8.0.0",
64
+ "prettier": "^3.5.3",
65
+ "rimraf": "^6.0.1",
66
+ "sinon": "^19.0.4",
67
+ "tslib": "^2.8.1",
68
+ "typescript": "^5.8.2",
69
+ "vite": "^6.2.2"
68
70
  },
69
71
  "publishConfig": {
70
72
  "access": "public"
package/src/app-root.ts CHANGED
@@ -1,4 +1,3 @@
1
- /* eslint-disable no-console */
2
1
  import {
3
2
  AnalyticsEvent,
4
3
  AnalyticsManager,
@@ -7,7 +6,6 @@ import {
7
6
  SearchService,
8
7
  SearchServiceInterface,
9
8
  SearchType,
10
- StringField,
11
9
  } from '@internetarchive/search-service';
12
10
  import { html, css, LitElement, PropertyValues, nothing } from 'lit';
13
11
  import { customElement, property, query, state } from 'lit/decorators.js';
@@ -18,6 +16,7 @@ import type { AnalyticsManagerInterface } from '@internetarchive/analytics-manag
18
16
  import type { CollectionBrowser } from '../src/collection-browser';
19
17
 
20
18
  import '../src/collection-browser';
19
+ import { StringField } from '@internetarchive/iaux-item-metadata';
21
20
 
22
21
  @customElement('app-root')
23
22
  export class AppRoot extends LitElement {
@@ -83,7 +82,7 @@ export class AppRoot extends LitElement {
83
82
  includeCredentials: false,
84
83
  baseUrl: params.get('search_base_url') ?? undefined,
85
84
  servicePath: params.get('search_service_path') ?? undefined,
86
- debuggingEnabled: !!params.get('debugging') ?? undefined,
85
+ debuggingEnabled: !!params.get('debugging'),
87
86
  });
88
87
  }
89
88
 
@@ -210,7 +209,7 @@ export class AppRoot extends LitElement {
210
209
  <button
211
210
  @click=${() => {
212
211
  const details = this.shadowRoot?.getElementById(
213
- 'latest-event-details'
212
+ 'latest-event-details',
214
213
  );
215
214
  details?.classList.toggle('hidden');
216
215
  }}
@@ -504,7 +503,7 @@ export class AppRoot extends LitElement {
504
503
  `;
505
504
  }
506
505
 
507
- private async setPlaceholderType(type: String) {
506
+ private async setPlaceholderType(type: string) {
508
507
  switch (type) {
509
508
  case 'loading-placeholder':
510
509
  this.collectionBrowser.baseQuery = '';
@@ -548,11 +547,11 @@ export class AppRoot extends LitElement {
548
547
  if (target.checked) {
549
548
  this.collectionBrowser.style.setProperty(
550
549
  '--infiniteScrollerCellOutline',
551
- '1px solid #33D1FF'
550
+ '1px solid #33D1FF',
552
551
  );
553
552
  } else {
554
553
  this.collectionBrowser.style.removeProperty(
555
- '--infiniteScrollerCellOutline'
554
+ '--infiniteScrollerCellOutline',
556
555
  );
557
556
  }
558
557
  }
@@ -575,7 +574,7 @@ export class AppRoot extends LitElement {
575
574
  path: pageUrl.toString(),
576
575
  },
577
576
  '',
578
- pageUrl.toString()
577
+ pageUrl.toString(),
579
578
  );
580
579
  }
581
580
  }
@@ -600,7 +599,7 @@ export class AppRoot extends LitElement {
600
599
  async search(params, searchType) {
601
600
  const searchResponse = await SearchService.default.search(
602
601
  params,
603
- searchType
602
+ searchType,
604
603
  );
605
604
  searchResponse.success?.response.results.forEach(result => {
606
605
  Object.defineProperty(result, 'highlight', {
@@ -638,7 +637,7 @@ export class AppRoot extends LitElement {
638
637
  async search(params, searchType) {
639
638
  const searchResponse = await SearchService.default.search(
640
639
  params,
641
- searchType
640
+ searchType,
642
641
  );
643
642
  searchResponse.success?.response.results.forEach((result, i) => {
644
643
  Object.defineProperty(result, 'review', {
@@ -700,7 +699,7 @@ export class AppRoot extends LitElement {
700
699
  */
701
700
  private manageModeChanged(e: CustomEvent<boolean>): void {
702
701
  const manageCheckbox = this.shadowRoot?.querySelector(
703
- '#enable-management'
702
+ '#enable-management',
704
703
  ) as HTMLInputElement;
705
704
  if (manageCheckbox) manageCheckbox.checked = e.detail;
706
705
  }
@@ -780,7 +779,7 @@ export class AppRoot extends LitElement {
780
779
  this.collectionBrowser.appendChild(p);
781
780
  } else {
782
781
  this.collectionBrowser.removeChild(
783
- this.collectionBrowser.lastElementChild as Element
782
+ this.collectionBrowser.lastElementChild as Element,
784
783
  );
785
784
  }
786
785
  }
@@ -804,7 +803,7 @@ export class AppRoot extends LitElement {
804
803
  this.collectionBrowser.appendChild(div);
805
804
  } else {
806
805
  this.collectionBrowser.removeChild(
807
- this.collectionBrowser.lastElementChild as Element
806
+ this.collectionBrowser.lastElementChild as Element,
808
807
  );
809
808
  }
810
809
  }
@@ -826,7 +825,7 @@ export class AppRoot extends LitElement {
826
825
  this.collectionBrowser.appendChild(p);
827
826
  } else {
828
827
  this.collectionBrowser.removeChild(
829
- this.collectionBrowser.lastElementChild as Element
828
+ this.collectionBrowser.lastElementChild as Element,
830
829
  );
831
830
  }
832
831
  }
@@ -848,7 +847,7 @@ export class AppRoot extends LitElement {
848
847
  this.collectionBrowser.appendChild(div);
849
848
  } else {
850
849
  const slottedEl = this.collectionBrowser.querySelector(
851
- '[slot="sort-options-left"]'
850
+ '[slot="sort-options-left"]',
852
851
  );
853
852
  if (slottedEl) this.collectionBrowser.removeChild(slottedEl);
854
853
  }
@@ -871,7 +870,7 @@ export class AppRoot extends LitElement {
871
870
  this.collectionBrowser.appendChild(div);
872
871
  } else {
873
872
  const slottedEl = this.collectionBrowser.querySelector(
874
- '[slot="sort-options-right"]'
873
+ '[slot="sort-options-right"]',
875
874
  );
876
875
  if (slottedEl) this.collectionBrowser.removeChild(slottedEl);
877
876
  }
@@ -882,7 +881,7 @@ export class AppRoot extends LitElement {
882
881
  this.rowGap = parseFloat(input.value);
883
882
  this.collectionBrowser.style.setProperty(
884
883
  '--collectionBrowserRowGap',
885
- `${input.value}rem`
884
+ `${input.value}rem`,
886
885
  );
887
886
  }
888
887
 
@@ -891,7 +890,7 @@ export class AppRoot extends LitElement {
891
890
  this.colGap = parseFloat(input.value);
892
891
  this.collectionBrowser.style.setProperty(
893
892
  '--collectionBrowserColGap',
894
- `${input.value}rem`
893
+ `${input.value}rem`,
895
894
  );
896
895
  }
897
896
 
@@ -900,7 +899,7 @@ export class AppRoot extends LitElement {
900
899
  this.cellWidth = parseFloat(input.value);
901
900
  this.collectionBrowser.style.setProperty(
902
901
  '--collectionBrowserCellMinWidth',
903
- `${input.value}rem`
902
+ `${input.value}rem`,
904
903
  );
905
904
  }
906
905
 
@@ -909,11 +908,11 @@ export class AppRoot extends LitElement {
909
908
  this.cellHeight = parseFloat(input.value);
910
909
  this.collectionBrowser.style.setProperty(
911
910
  '--collectionBrowserCellMinHeight',
912
- `${input.value}rem`
911
+ `${input.value}rem`,
913
912
  );
914
913
  this.collectionBrowser.style.setProperty(
915
914
  '--collectionBrowserCellMaxHeight',
916
- `${input.value}rem`
915
+ `${input.value}rem`,
917
916
  );
918
917
  }
919
918
 
@@ -940,7 +939,7 @@ export class AppRoot extends LitElement {
940
939
  this.collectionBrowser.enableSortOptionsSlot = true;
941
940
  } else {
942
941
  const slottedEl = this.collectionBrowser.querySelector(
943
- '[slot="sort-options"]'
942
+ '[slot="sort-options"]',
944
943
  );
945
944
  if (slottedEl) this.collectionBrowser.removeChild(slottedEl);
946
945
  this.collectionBrowser.enableSortOptionsSlot = false;