@internetarchive/collection-browser 4.7.1-alpha-webdev9189.0 → 4.8.1-alpha-webdev9189.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 (351) hide show
  1. package/dist/src/app-root.js +0 -2
  2. package/dist/src/app-root.js.map +1 -1
  3. package/dist/src/assets/img/icons/check.d.ts +2 -0
  4. package/dist/src/assets/img/icons/check.js +5 -0
  5. package/dist/src/assets/img/icons/check.js.map +1 -0
  6. package/dist/src/collection-facets/facet-row-template.d.ts +38 -0
  7. package/dist/src/collection-facets/facet-row-template.js +200 -0
  8. package/dist/src/collection-facets/facet-row-template.js.map +1 -0
  9. package/dist/src/collection-facets/facet-row.js +11 -186
  10. package/dist/src/collection-facets/facet-row.js.map +1 -1
  11. package/dist/src/collection-facets/models.d.ts +7 -2
  12. package/dist/src/collection-facets/models.js +7 -2
  13. package/dist/src/collection-facets/models.js.map +1 -1
  14. package/dist/src/collection-facets/more-facets-content.d.ts +87 -21
  15. package/dist/src/collection-facets/more-facets-content.js +477 -200
  16. package/dist/src/collection-facets/more-facets-content.js.map +1 -1
  17. package/dist/src/collection-facets/more-facets-scroller.d.ts +85 -0
  18. package/dist/src/collection-facets/more-facets-scroller.js +428 -0
  19. package/dist/src/collection-facets/more-facets-scroller.js.map +1 -0
  20. package/dist/src/collection-facets/page-window.d.ts +73 -0
  21. package/dist/src/collection-facets/page-window.js +202 -0
  22. package/dist/src/collection-facets/page-window.js.map +1 -0
  23. package/dist/src/collection-facets/toggle-switch.js +1 -0
  24. package/dist/src/collection-facets/toggle-switch.js.map +1 -1
  25. package/dist/src/models.d.ts +4 -0
  26. package/dist/src/models.js +16 -0
  27. package/dist/src/models.js.map +1 -1
  28. package/dist/src/utils/normalize-filter-text.d.ts +28 -0
  29. package/dist/src/utils/normalize-filter-text.js +35 -0
  30. package/dist/src/utils/normalize-filter-text.js.map +1 -0
  31. package/package.json +7 -1
  32. package/.editorconfig +0 -29
  33. package/.github/workflows/ci.yml +0 -29
  34. package/.github/workflows/gh-pages-main.yml +0 -41
  35. package/.github/workflows/npm-publish.yml +0 -42
  36. package/.github/workflows/pr-preview.yml +0 -40
  37. package/.husky/pre-commit +0 -1
  38. package/.prettierignore +0 -1
  39. package/dist/src/collection-facets/more-facets-pagination.d.ts +0 -36
  40. package/dist/src/collection-facets/more-facets-pagination.js +0 -260
  41. package/dist/src/collection-facets/more-facets-pagination.js.map +0 -1
  42. package/dist/test/collection-browser.test.d.ts +0 -1
  43. package/dist/test/collection-browser.test.js +0 -1849
  44. package/dist/test/collection-browser.test.js.map +0 -1
  45. package/dist/test/collection-facets/facet-row.test.d.ts +0 -1
  46. package/dist/test/collection-facets/facet-row.test.js +0 -291
  47. package/dist/test/collection-facets/facet-row.test.js.map +0 -1
  48. package/dist/test/collection-facets/facets-template.test.d.ts +0 -1
  49. package/dist/test/collection-facets/facets-template.test.js +0 -95
  50. package/dist/test/collection-facets/facets-template.test.js.map +0 -1
  51. package/dist/test/collection-facets/more-facets-content.test.d.ts +0 -1
  52. package/dist/test/collection-facets/more-facets-content.test.js +0 -159
  53. package/dist/test/collection-facets/more-facets-content.test.js.map +0 -1
  54. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +0 -1
  55. package/dist/test/collection-facets/more-facets-pagination.test.js +0 -126
  56. package/dist/test/collection-facets/more-facets-pagination.test.js.map +0 -1
  57. package/dist/test/collection-facets/toggle-switch.test.d.ts +0 -1
  58. package/dist/test/collection-facets/toggle-switch.test.js +0 -99
  59. package/dist/test/collection-facets/toggle-switch.test.js.map +0 -1
  60. package/dist/test/collection-facets.test.d.ts +0 -2
  61. package/dist/test/collection-facets.test.js +0 -728
  62. package/dist/test/collection-facets.test.js.map +0 -1
  63. package/dist/test/data-source/collection-browser-data-source.test.d.ts +0 -1
  64. package/dist/test/data-source/collection-browser-data-source.test.js +0 -154
  65. package/dist/test/data-source/collection-browser-data-source.test.js.map +0 -1
  66. package/dist/test/empty-placeholder.test.d.ts +0 -1
  67. package/dist/test/empty-placeholder.test.js +0 -57
  68. package/dist/test/empty-placeholder.test.js.map +0 -1
  69. package/dist/test/expanded-date-picker.test.d.ts +0 -1
  70. package/dist/test/expanded-date-picker.test.js +0 -124
  71. package/dist/test/expanded-date-picker.test.js.map +0 -1
  72. package/dist/test/icon-overlay.test.d.ts +0 -1
  73. package/dist/test/icon-overlay.test.js +0 -31
  74. package/dist/test/icon-overlay.test.js.map +0 -1
  75. package/dist/test/image-block.test.d.ts +0 -1
  76. package/dist/test/image-block.test.js +0 -208
  77. package/dist/test/image-block.test.js.map +0 -1
  78. package/dist/test/item-image.test.d.ts +0 -1
  79. package/dist/test/item-image.test.js +0 -187
  80. package/dist/test/item-image.test.js.map +0 -1
  81. package/dist/test/manage/manage-bar.test.d.ts +0 -3
  82. package/dist/test/manage/manage-bar.test.js +0 -216
  83. package/dist/test/manage/manage-bar.test.js.map +0 -1
  84. package/dist/test/manage/remove-items-modal-content.test.d.ts +0 -1
  85. package/dist/test/manage/remove-items-modal-content.test.js +0 -60
  86. package/dist/test/manage/remove-items-modal-content.test.js.map +0 -1
  87. package/dist/test/mediatype-config.test.d.ts +0 -1
  88. package/dist/test/mediatype-config.test.js +0 -11
  89. package/dist/test/mediatype-config.test.js.map +0 -1
  90. package/dist/test/mocks/mock-analytics-handler.d.ts +0 -10
  91. package/dist/test/mocks/mock-analytics-handler.js +0 -16
  92. package/dist/test/mocks/mock-analytics-handler.js.map +0 -1
  93. package/dist/test/mocks/mock-search-responses.d.ts +0 -31
  94. package/dist/test/mocks/mock-search-responses.js +0 -1241
  95. package/dist/test/mocks/mock-search-responses.js.map +0 -1
  96. package/dist/test/mocks/mock-search-service.d.ts +0 -16
  97. package/dist/test/mocks/mock-search-service.js +0 -64
  98. package/dist/test/mocks/mock-search-service.js.map +0 -1
  99. package/dist/test/restoration-state-handler.test.d.ts +0 -1
  100. package/dist/test/restoration-state-handler.test.js +0 -335
  101. package/dist/test/restoration-state-handler.test.js.map +0 -1
  102. package/dist/test/review-block.test.d.ts +0 -1
  103. package/dist/test/review-block.test.js +0 -46
  104. package/dist/test/review-block.test.js.map +0 -1
  105. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +0 -1
  106. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +0 -12
  107. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js.map +0 -1
  108. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +0 -1
  109. package/dist/test/sort-filter-bar/alpha-bar.test.js +0 -68
  110. package/dist/test/sort-filter-bar/alpha-bar.test.js.map +0 -1
  111. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +0 -1
  112. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +0 -326
  113. package/dist/test/sort-filter-bar/sort-filter-bar.test.js.map +0 -1
  114. package/dist/test/text-overlay.test.d.ts +0 -1
  115. package/dist/test/text-overlay.test.js +0 -43
  116. package/dist/test/text-overlay.test.js.map +0 -1
  117. package/dist/test/text-snippet-block.test.d.ts +0 -1
  118. package/dist/test/text-snippet-block.test.js +0 -58
  119. package/dist/test/text-snippet-block.test.js.map +0 -1
  120. package/dist/test/tile-stats.test.d.ts +0 -1
  121. package/dist/test/tile-stats.test.js +0 -167
  122. package/dist/test/tile-stats.test.js.map +0 -1
  123. package/dist/test/tiles/grid/account-tile.test.d.ts +0 -1
  124. package/dist/test/tiles/grid/account-tile.test.js +0 -96
  125. package/dist/test/tiles/grid/account-tile.test.js.map +0 -1
  126. package/dist/test/tiles/grid/collection-tile.test.d.ts +0 -1
  127. package/dist/test/tiles/grid/collection-tile.test.js +0 -90
  128. package/dist/test/tiles/grid/collection-tile.test.js.map +0 -1
  129. package/dist/test/tiles/grid/item-tile.test.d.ts +0 -1
  130. package/dist/test/tiles/grid/item-tile.test.js +0 -400
  131. package/dist/test/tiles/grid/item-tile.test.js.map +0 -1
  132. package/dist/test/tiles/grid/search-tile.test.d.ts +0 -1
  133. package/dist/test/tiles/grid/search-tile.test.js +0 -62
  134. package/dist/test/tiles/grid/search-tile.test.js.map +0 -1
  135. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +0 -1
  136. package/dist/test/tiles/hover/hover-pane-controller.test.js +0 -351
  137. package/dist/test/tiles/hover/hover-pane-controller.test.js.map +0 -1
  138. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +0 -1
  139. package/dist/test/tiles/hover/tile-hover-pane.test.js +0 -53
  140. package/dist/test/tiles/hover/tile-hover-pane.test.js.map +0 -1
  141. package/dist/test/tiles/list/tile-list-compact-header.test.d.ts +0 -1
  142. package/dist/test/tiles/list/tile-list-compact-header.test.js +0 -36
  143. package/dist/test/tiles/list/tile-list-compact-header.test.js.map +0 -1
  144. package/dist/test/tiles/list/tile-list-compact.test.d.ts +0 -1
  145. package/dist/test/tiles/list/tile-list-compact.test.js +0 -237
  146. package/dist/test/tiles/list/tile-list-compact.test.js.map +0 -1
  147. package/dist/test/tiles/list/tile-list.test.d.ts +0 -1
  148. package/dist/test/tiles/list/tile-list.test.js +0 -460
  149. package/dist/test/tiles/list/tile-list.test.js.map +0 -1
  150. package/dist/test/tiles/tile-dispatcher.test.d.ts +0 -1
  151. package/dist/test/tiles/tile-dispatcher.test.js +0 -246
  152. package/dist/test/tiles/tile-dispatcher.test.js.map +0 -1
  153. package/dist/test/tiles/tile-display-value-provider.test.d.ts +0 -1
  154. package/dist/test/tiles/tile-display-value-provider.test.js +0 -142
  155. package/dist/test/tiles/tile-display-value-provider.test.js.map +0 -1
  156. package/dist/test/tiles/tile-mediatype-icon.test.d.ts +0 -1
  157. package/dist/test/tiles/tile-mediatype-icon.test.js +0 -133
  158. package/dist/test/tiles/tile-mediatype-icon.test.js.map +0 -1
  159. package/dist/test/utils/array-equals.test.d.ts +0 -1
  160. package/dist/test/utils/array-equals.test.js +0 -27
  161. package/dist/test/utils/array-equals.test.js.map +0 -1
  162. package/dist/test/utils/format-count.test.d.ts +0 -1
  163. package/dist/test/utils/format-count.test.js +0 -24
  164. package/dist/test/utils/format-count.test.js.map +0 -1
  165. package/dist/test/utils/format-date.test.d.ts +0 -1
  166. package/dist/test/utils/format-date.test.js +0 -61
  167. package/dist/test/utils/format-date.test.js.map +0 -1
  168. package/dist/test/utils/format-unit-size.test.d.ts +0 -1
  169. package/dist/test/utils/format-unit-size.test.js +0 -18
  170. package/dist/test/utils/format-unit-size.test.js.map +0 -1
  171. package/dist/test/utils/local-date-from-utc.test.d.ts +0 -1
  172. package/dist/test/utils/local-date-from-utc.test.js +0 -27
  173. package/dist/test/utils/local-date-from-utc.test.js.map +0 -1
  174. package/eslint.config.mjs +0 -53
  175. package/index.html +0 -24
  176. package/index.ts +0 -29
  177. package/local.archive.org.cert +0 -86
  178. package/local.archive.org.key +0 -27
  179. package/pnpm-workspace.yaml +0 -30
  180. package/renovate.json +0 -6
  181. package/src/app-root.ts +0 -1284
  182. package/src/assets/img/icons/arrow-left.ts +0 -10
  183. package/src/assets/img/icons/arrow-right.ts +0 -10
  184. package/src/assets/img/icons/chevron.ts +0 -4
  185. package/src/assets/img/icons/close-circle-dark.ts +0 -5
  186. package/src/assets/img/icons/contract.ts +0 -9
  187. package/src/assets/img/icons/empty-query.ts +0 -5
  188. package/src/assets/img/icons/expand.ts +0 -9
  189. package/src/assets/img/icons/eye-closed.ts +0 -5
  190. package/src/assets/img/icons/eye.ts +0 -5
  191. package/src/assets/img/icons/favorite-filled.ts +0 -10
  192. package/src/assets/img/icons/favorite-unfilled.ts +0 -9
  193. package/src/assets/img/icons/filter.ts +0 -10
  194. package/src/assets/img/icons/login-required.ts +0 -18
  195. package/src/assets/img/icons/mediatype/account.ts +0 -14
  196. package/src/assets/img/icons/mediatype/audio.ts +0 -14
  197. package/src/assets/img/icons/mediatype/collection.ts +0 -12
  198. package/src/assets/img/icons/mediatype/data.ts +0 -15
  199. package/src/assets/img/icons/mediatype/etree.ts +0 -14
  200. package/src/assets/img/icons/mediatype/film.ts +0 -14
  201. package/src/assets/img/icons/mediatype/images.ts +0 -13
  202. package/src/assets/img/icons/mediatype/radio.ts +0 -15
  203. package/src/assets/img/icons/mediatype/search.ts +0 -14
  204. package/src/assets/img/icons/mediatype/software.ts +0 -13
  205. package/src/assets/img/icons/mediatype/texts.ts +0 -13
  206. package/src/assets/img/icons/mediatype/tv-commercial.ts +0 -12
  207. package/src/assets/img/icons/mediatype/tv-fact-check.ts +0 -12
  208. package/src/assets/img/icons/mediatype/tv-quote.ts +0 -12
  209. package/src/assets/img/icons/mediatype/tv.ts +0 -14
  210. package/src/assets/img/icons/mediatype/video.ts +0 -14
  211. package/src/assets/img/icons/mediatype/web.ts +0 -13
  212. package/src/assets/img/icons/null-result.ts +0 -5
  213. package/src/assets/img/icons/quote.ts +0 -7
  214. package/src/assets/img/icons/restricted.ts +0 -13
  215. package/src/assets/img/icons/reviews.ts +0 -11
  216. package/src/assets/img/icons/upload.ts +0 -12
  217. package/src/assets/img/icons/views.ts +0 -11
  218. package/src/circular-activity-indicator.ts +0 -64
  219. package/src/collection-browser.ts +0 -3187
  220. package/src/collection-facets/facet-row.ts +0 -309
  221. package/src/collection-facets/facet-tombstone-row.ts +0 -40
  222. package/src/collection-facets/facets-template.ts +0 -85
  223. package/src/collection-facets/models.ts +0 -10
  224. package/src/collection-facets/more-facets-content.ts +0 -644
  225. package/src/collection-facets/more-facets-pagination.ts +0 -294
  226. package/src/collection-facets/smart-facets/dedupe.ts +0 -44
  227. package/src/collection-facets/smart-facets/heuristics/browser-language/browser-language-heuristic.ts +0 -27
  228. package/src/collection-facets/smart-facets/heuristics/index.ts +0 -3
  229. package/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-heuristic.ts +0 -17
  230. package/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-map.ts +0 -70
  231. package/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-entity-map.ts +0 -79
  232. package/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-heuristic.ts +0 -93
  233. package/src/collection-facets/smart-facets/models.ts +0 -36
  234. package/src/collection-facets/smart-facets/smart-facet-bar.ts +0 -437
  235. package/src/collection-facets/smart-facets/smart-facet-button.ts +0 -145
  236. package/src/collection-facets/smart-facets/smart-facet-dropdown.ts +0 -185
  237. package/src/collection-facets/smart-facets/smart-facet-equals.ts +0 -16
  238. package/src/collection-facets/smart-facets/smart-facet-heuristics.ts +0 -26
  239. package/src/collection-facets/toggle-switch.ts +0 -174
  240. package/src/collection-facets.ts +0 -1013
  241. package/src/data-source/collection-browser-data-source-interface.ts +0 -351
  242. package/src/data-source/collection-browser-data-source.ts +0 -1474
  243. package/src/data-source/collection-browser-query-state.ts +0 -60
  244. package/src/data-source/models.ts +0 -56
  245. package/src/empty-placeholder.ts +0 -192
  246. package/src/expanded-date-picker.ts +0 -191
  247. package/src/language-code-handler/language-code-handler.ts +0 -64
  248. package/src/language-code-handler/language-code-mapping.ts +0 -564
  249. package/src/manage/manage-bar.ts +0 -276
  250. package/src/manage/remove-items-modal-content.ts +0 -102
  251. package/src/mediatype/mediatype-config.ts +0 -146
  252. package/src/models.ts +0 -895
  253. package/src/restoration-state-handler.ts +0 -550
  254. package/src/sort-filter-bar/alpha-bar-tooltip.ts +0 -53
  255. package/src/sort-filter-bar/alpha-bar.ts +0 -252
  256. package/src/sort-filter-bar/img/compact.ts +0 -5
  257. package/src/sort-filter-bar/img/list.ts +0 -5
  258. package/src/sort-filter-bar/img/sort-toggle-disabled.ts +0 -15
  259. package/src/sort-filter-bar/img/sort-toggle-down.ts +0 -17
  260. package/src/sort-filter-bar/img/sort-toggle-up.ts +0 -17
  261. package/src/sort-filter-bar/img/sort-triangle.ts +0 -5
  262. package/src/sort-filter-bar/img/tile.ts +0 -5
  263. package/src/sort-filter-bar/sort-filter-bar.ts +0 -734
  264. package/src/styles/ia-button.ts +0 -139
  265. package/src/styles/item-image-styles.ts +0 -124
  266. package/src/styles/sr-only.ts +0 -18
  267. package/src/styles/tile-action-styles.ts +0 -59
  268. package/src/tiles/base-tile-component.ts +0 -124
  269. package/src/tiles/collection-browser-loading-tile.ts +0 -26
  270. package/src/tiles/grid/account-tile.ts +0 -113
  271. package/src/tiles/grid/collection-tile.ts +0 -184
  272. package/src/tiles/grid/item-tile.ts +0 -347
  273. package/src/tiles/grid/search-tile.ts +0 -90
  274. package/src/tiles/grid/styles/tile-grid-shared-styles.ts +0 -130
  275. package/src/tiles/grid/tile-stats.ts +0 -211
  276. package/src/tiles/hover/hover-pane-controller.ts +0 -638
  277. package/src/tiles/hover/tile-hover-pane.ts +0 -184
  278. package/src/tiles/image-block.ts +0 -162
  279. package/src/tiles/item-image.ts +0 -214
  280. package/src/tiles/list/tile-list-compact-header.ts +0 -112
  281. package/src/tiles/list/tile-list-compact.ts +0 -278
  282. package/src/tiles/list/tile-list.ts +0 -718
  283. package/src/tiles/models.ts +0 -21
  284. package/src/tiles/overlay/icon-overlay.ts +0 -57
  285. package/src/tiles/overlay/text-overlay.ts +0 -79
  286. package/src/tiles/review-block.ts +0 -130
  287. package/src/tiles/text-snippet-block.ts +0 -132
  288. package/src/tiles/tile-dispatcher.ts +0 -637
  289. package/src/tiles/tile-display-value-provider.ts +0 -133
  290. package/src/tiles/tile-mediatype-icon.ts +0 -133
  291. package/src/utils/analytics-events.ts +0 -29
  292. package/src/utils/array-equals.ts +0 -8
  293. package/src/utils/collapse-repeated-quotes.ts +0 -13
  294. package/src/utils/date-filter-field.ts +0 -11
  295. package/src/utils/facet-utils.ts +0 -183
  296. package/src/utils/format-count.ts +0 -95
  297. package/src/utils/format-date.ts +0 -62
  298. package/src/utils/format-unit-size.ts +0 -43
  299. package/src/utils/local-date-from-utc.ts +0 -15
  300. package/src/utils/log.ts +0 -14
  301. package/src/utils/resolve-mediatype.ts +0 -26
  302. package/src/utils/sha1.ts +0 -9
  303. package/test/collection-browser.test.ts +0 -2694
  304. package/test/collection-facets/facet-row.test.ts +0 -421
  305. package/test/collection-facets/facets-template.test.ts +0 -139
  306. package/test/collection-facets/more-facets-content.test.ts +0 -231
  307. package/test/collection-facets/more-facets-pagination.test.ts +0 -201
  308. package/test/collection-facets/toggle-switch.test.ts +0 -164
  309. package/test/collection-facets.test.ts +0 -928
  310. package/test/data-source/collection-browser-data-source.test.ts +0 -193
  311. package/test/empty-placeholder.test.ts +0 -88
  312. package/test/expanded-date-picker.test.ts +0 -201
  313. package/test/icon-overlay.test.ts +0 -38
  314. package/test/image-block.test.ts +0 -247
  315. package/test/item-image.test.ts +0 -220
  316. package/test/manage/manage-bar.test.ts +0 -347
  317. package/test/manage/remove-items-modal-content.test.ts +0 -81
  318. package/test/mediatype-config.test.ts +0 -11
  319. package/test/mocks/mock-analytics-handler.ts +0 -30
  320. package/test/mocks/mock-search-responses.ts +0 -1364
  321. package/test/mocks/mock-search-service.ts +0 -134
  322. package/test/restoration-state-handler.test.ts +0 -480
  323. package/test/review-block.test.ts +0 -62
  324. package/test/sort-filter-bar/alpha-bar-tooltip.test.ts +0 -17
  325. package/test/sort-filter-bar/alpha-bar.test.ts +0 -101
  326. package/test/sort-filter-bar/sort-filter-bar.test.ts +0 -472
  327. package/test/text-overlay.test.ts +0 -55
  328. package/test/text-snippet-block.test.ts +0 -85
  329. package/test/tile-stats.test.ts +0 -191
  330. package/test/tiles/grid/account-tile.test.ts +0 -121
  331. package/test/tiles/grid/collection-tile.test.ts +0 -114
  332. package/test/tiles/grid/item-tile.test.ts +0 -520
  333. package/test/tiles/grid/search-tile.test.ts +0 -75
  334. package/test/tiles/hover/hover-pane-controller.test.ts +0 -482
  335. package/test/tiles/hover/tile-hover-pane.test.ts +0 -80
  336. package/test/tiles/list/tile-list-compact-header.test.ts +0 -43
  337. package/test/tiles/list/tile-list-compact.test.ts +0 -282
  338. package/test/tiles/list/tile-list.test.ts +0 -576
  339. package/test/tiles/tile-dispatcher.test.ts +0 -320
  340. package/test/tiles/tile-display-value-provider.test.ts +0 -172
  341. package/test/tiles/tile-mediatype-icon.test.ts +0 -160
  342. package/test/utils/array-equals.test.ts +0 -31
  343. package/test/utils/format-count.test.ts +0 -32
  344. package/test/utils/format-date.test.ts +0 -89
  345. package/test/utils/format-unit-size.test.ts +0 -21
  346. package/test/utils/local-date-from-utc.test.ts +0 -37
  347. package/tsconfig.json +0 -25
  348. package/types/dompurify.d.ts +0 -1
  349. package/vite.config.ts +0 -29
  350. package/web-dev-server.config.mjs +0 -30
  351. package/web-test-runner.config.mjs +0 -52
@@ -1 +0,0 @@
1
- {"version":3,"file":"more-facets-content.test.js","sourceRoot":"","sources":["../../../test/collection-facets/more-facets-content.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { aTimeout, expect, fixture } from '@open-wc/testing';\nimport { html } from 'lit';\nimport type { MoreFacetsContent } from '../../src/collection-facets/more-facets-content';\nimport '../../src/collection-facets/more-facets-content';\nimport { MockSearchService } from '../mocks/mock-search-service';\nimport { MockAnalyticsHandler } from '../mocks/mock-analytics-handler';\nimport type { FacetsTemplate } from '../../src/collection-facets/facets-template';\nimport type { SelectedFacets } from '../../src/models';\n\nconst selectedFacetsGroup = {\n title: 'Media Type',\n key: 'mediatype',\n buckets: [\n { displayText: 'audio', key: 'audio', count: 1001, state: 'none' },\n { displayText: 'movies', key: 'movies', count: 901, state: 'none' },\n { displayText: 'texts', key: 'texts', count: 2101, state: 'none' },\n { displayText: 'data', key: 'data', count: 230, state: 'none' },\n { displayText: 'web', key: 'web', count: 453, state: 'none' },\n ],\n};\n\nconst yearSelectedFacets: SelectedFacets = {\n mediatype: {},\n lending: {},\n year: {\n '2000': { key: '2000', count: 5, state: 'selected' },\n },\n subject: {},\n collection: {},\n creator: {},\n language: {},\n};\n\ndescribe('More facets content', () => {\n it('should render more facets template', async () => {\n const el = await fixture<MoreFacetsContent>(\n html`<more-facets-content></more-facets-content>`,\n );\n\n el.facetsLoading = false;\n await el.updateComplete;\n\n expect(el.shadowRoot?.querySelector('.facets-content')).to.exist;\n });\n\n it('should render more facets loader template', async () => {\n const el = await fixture<MoreFacetsContent>(\n html`<more-facets-content></more-facets-content>`,\n );\n\n el.facetsLoading = true;\n await el.updateComplete;\n\n expect(el.shadowRoot?.querySelector('.facets-loader')).to.exist;\n });\n\n it('should render pagination for more facets', async () => {\n const searchService = new MockSearchService();\n\n const el = await fixture<MoreFacetsContent>(\n html`<more-facets-content\n .searchService=${searchService}\n ></more-facets-content>`,\n );\n\n el.facetKey = 'year';\n el.query = 'more-facets'; // Produces a response with 40+ aggregations for multiple pages\n await el.updateComplete;\n await aTimeout(50); // Give it a moment to perform the (mock) search query after the initial update\n\n expect(el.shadowRoot?.querySelectorAll('more-facets-pagination')).to.exist;\n });\n\n it('query for more facets content using search service', async () => {\n const searchService = new MockSearchService();\n\n const el = await fixture<MoreFacetsContent>(\n html`<more-facets-content\n .searchService=${searchService}\n ></more-facets-content>`,\n );\n\n el.facetKey = 'collection';\n el.query = 'collection-aggregations';\n await el.updateComplete;\n\n expect(searchService.searchParams?.query).to.equal(\n 'collection-aggregations',\n );\n });\n\n it('queries for more facets using search service within a collection (no query)', async () => {\n const searchService = new MockSearchService();\n\n const el = await fixture<MoreFacetsContent>(\n html`<more-facets-content\n .searchService=${searchService}\n .pageSpecifierParams=${{\n pageType: 'collection_details',\n pageTarget: 'foobar',\n }}\n ></more-facets-content>`,\n );\n\n el.facetKey = 'subject';\n await el.updateComplete;\n\n expect(searchService.searchParams?.query).to.be.empty;\n expect(searchService.searchParams?.pageTarget).to.equal('foobar');\n });\n\n it('queries for more facets using search service within a collection (with query)', async () => {\n const searchService = new MockSearchService();\n\n const el = await fixture<MoreFacetsContent>(\n html`<more-facets-content\n .searchService=${searchService}\n .pageSpecifierParams=${{\n pageType: 'collection_details',\n pageTarget: 'foobar',\n }}\n ></more-facets-content>`,\n );\n\n el.facetKey = 'subject';\n el.query = 'title:hello';\n await el.updateComplete;\n\n expect(searchService.searchParams?.query).to.equal('title:hello');\n expect(searchService.searchParams?.pageTarget).to.equal('foobar');\n });\n\n it('filter raw selectedFacets object', async () => {\n const searchService = new MockSearchService();\n\n const el = await fixture<MoreFacetsContent>(\n html`<more-facets-content\n .searchService=${searchService}\n .selectedFacets=${selectedFacetsGroup}\n ></more-facets-content>`,\n );\n\n el.facetKey = 'collection';\n el.query = 'title:hello';\n await el.updateComplete;\n\n expect(searchService.searchParams?.query).to.equal('title:hello');\n });\n\n it('combines selectedFacets and aggregationFacets and renders on modal', async () => {\n const searchService = new MockSearchService();\n\n const el = await fixture<MoreFacetsContent>(\n html`<more-facets-content\n .facetKey=${'year'}\n .query=${'more-facets'}\n .searchService=${searchService}\n .selectedFacets=${yearSelectedFacets}\n ></more-facets-content>`,\n );\n\n const facetsTemplate = el.shadowRoot?.querySelector(\n 'facets-template',\n ) as FacetsTemplate;\n expect(facetsTemplate).to.exist;\n\n const { facetGroup } = facetsTemplate;\n expect(facetGroup?.key).to.equal('year');\n expect(facetGroup?.title).to.equal('Year');\n\n // First bucket is the one that was included in the selected facets\n const firstBucket = facetGroup?.buckets[0];\n expect(firstBucket?.key).to.equal('2000');\n expect(firstBucket?.count).to.equal(5);\n\n // Second bucket is the most recent year, since year facets default to descending order of year\n const secondBucket = facetGroup?.buckets[1];\n expect(secondBucket?.key).to.equal('2024');\n expect(secondBucket?.count).to.equal(5);\n });\n\n it('cancel button clicked event', async () => {\n const searchService = new MockSearchService();\n const mockAnalyticsHandler = new MockAnalyticsHandler();\n\n const el = await fixture<MoreFacetsContent>(\n html`<more-facets-content\n .facetKey=${'collection'}\n .query=${'collection-aggregations'}\n .searchService=${searchService}\n .analyticsHandler=${mockAnalyticsHandler}\n ></more-facets-content>`,\n );\n\n // select cancel button\n const cancelButton = el.shadowRoot?.querySelector(\n '.footer > .btn-cancel',\n ) as HTMLButtonElement;\n expect(cancelButton).to.exist;\n cancelButton?.click();\n\n expect(mockAnalyticsHandler.callCategory).to.equal('collection-browser');\n expect(mockAnalyticsHandler.callAction).to.equal('closeMoreFacetsModal');\n expect(mockAnalyticsHandler.callLabel).to.equal('collection');\n });\n\n it('facet apply button clicked event', async () => {\n const searchService = new MockSearchService();\n const mockAnalyticsHandler = new MockAnalyticsHandler();\n\n const el = await fixture<MoreFacetsContent>(\n html`<more-facets-content\n .facetKey=${'collection'}\n .query=${'collection-aggregations'}\n .searchService=${searchService}\n .analyticsHandler=${mockAnalyticsHandler}\n ></more-facets-content>`,\n );\n\n // select submit button\n const submitButton = el.shadowRoot?.querySelector(\n '.footer > .btn-submit',\n ) as HTMLButtonElement;\n expect(submitButton).to.exist;\n submitButton?.click();\n\n expect(mockAnalyticsHandler.callCategory).to.equal('collection-browser');\n expect(mockAnalyticsHandler.callAction).to.equal('applyMoreFacetsModal');\n expect(mockAnalyticsHandler.callLabel).to.equal('collection');\n });\n});\n"]}
@@ -1 +0,0 @@
1
- import '../../src/collection-facets/more-facets-pagination';
@@ -1,126 +0,0 @@
1
- import { expect, fixture, oneEvent } from '@open-wc/testing';
2
- import { html } from 'lit';
3
- import sinon from 'sinon';
4
- import '../../src/collection-facets/more-facets-pagination';
5
- afterEach(() => {
6
- sinon.restore();
7
- });
8
- describe('More facets pagination', () => {
9
- describe('5 pages or less', () => {
10
- it('shows all pages', async () => {
11
- const el = await fixture(html `<more-facets-pagination .size=${5}></more-facets-pagination>`);
12
- await el.updateComplete;
13
- const pageButtons = el.shadowRoot?.querySelectorAll('button[data-page]');
14
- expect(pageButtons.length).to.greaterThan(0);
15
- pageButtons.forEach((button, index) => {
16
- expect(button.textContent).to.contain(index + 1);
17
- });
18
- });
19
- });
20
- it('should render pagination template', async () => {
21
- const el = await fixture(html `<more-facets-pagination .size=${10}></more-facets-pagination>`);
22
- await el.updateComplete;
23
- expect(el.shadowRoot?.querySelector('.facets-pagination')).to.exist;
24
- expect(el.shadowRoot?.querySelector('.arrow-icon')).to.exist;
25
- });
26
- it('should render page numbers', async () => {
27
- const el = await fixture(html `<more-facets-pagination .size=${3}></more-facets-pagination>`);
28
- await el.updateComplete;
29
- const pageNumberElement = el.shadowRoot?.querySelector('.page-numbers');
30
- expect(pageNumberElement).to.exist;
31
- expect(pageNumberElement?.querySelectorAll('button').length).to.equal(3);
32
- });
33
- it('check current page and total pages', async () => {
34
- const el = await fixture(html `<more-facets-pagination
35
- .size=${4}
36
- .currentPage=${2}
37
- ></more-facets-pagination>`);
38
- await el.updateComplete;
39
- const pageNumberElement = el.shadowRoot?.querySelector('.page-numbers');
40
- expect(pageNumberElement).to.exist;
41
- expect(pageNumberElement
42
- ?.querySelectorAll('button')[1]
43
- .classList.contains('current')).to.be.true;
44
- expect(el.pages?.length).to.equal(4);
45
- });
46
- it('get page numbers based of size and currentPage', async () => {
47
- const el = await fixture(html `<more-facets-pagination
48
- .size=${4}
49
- .currentPage=${2}
50
- ></more-facets-pagination>`);
51
- await el.updateComplete;
52
- expect(el.pages?.length).to.equal(4);
53
- });
54
- describe('Selecting a page', () => {
55
- it('fires event', async () => {
56
- const el = await fixture(html `<more-facets-pagination></more-facets-pagination>`);
57
- await el.updateComplete;
58
- setTimeout(() => el.dispatchEvent(new CustomEvent('pageNumberClicked', { detail: { page: 15 } })));
59
- const { detail } = await oneEvent(el, 'pageNumberClicked');
60
- expect(detail?.page).to.equal(15);
61
- });
62
- it('sets off side effects with `onChange`', async () => {
63
- const el = await fixture(html `<more-facets-pagination
64
- .size=${'10'}
65
- .currentPage=${2}
66
- ></more-facets-pagination>`);
67
- expect(el.currentPage).to.equal(2); // confirm current page
68
- const fake1 = sinon.fake();
69
- const fake2 = sinon.fake();
70
- el.observePageCount = fake1;
71
- el.emitPageClick = fake2;
72
- // select first page button
73
- const pageButton = el.shadowRoot?.querySelector('.page-numbers > button');
74
- // confirm button isn't selected
75
- expect(pageButton.classList.contains('current')).to.be.false;
76
- pageButton.click();
77
- await el.updateComplete;
78
- expect(fake1.callCount).to.equal(1);
79
- expect(fake2.callCount).to.equal(1);
80
- expect(el.currentPage).to.equal(1); // brings us back to currentPage
81
- // confirm button is selected
82
- expect(pageButton.classList.contains('current')).to.be.true;
83
- });
84
- });
85
- describe('Using Arrows', () => {
86
- it('going backwards', async () => {
87
- const el = await fixture(html `<more-facets-pagination
88
- .size=${'10'}
89
- .currentPage=${2}
90
- ></more-facets-pagination>`);
91
- expect(el.currentPage).to.equal(2); // confirm current page
92
- const fake1 = sinon.fake();
93
- const fake2 = sinon.fake();
94
- el.observePageCount = fake1;
95
- el.emitPageClick = fake2;
96
- // select first page button
97
- const rewindButton = el.shadowRoot?.querySelector('.facets-pagination > button.rewind');
98
- rewindButton.click();
99
- await el.updateComplete;
100
- expect(fake1.callCount).to.equal(1);
101
- expect(fake2.callCount).to.equal(1);
102
- expect(el.currentPage).to.equal(1); // brings us back 1 page
103
- // confirm button is selected
104
- expect((el.shadowRoot?.querySelector('.page-numbers > button[data-page="1"]')).classList.contains('current')).to.be.true;
105
- });
106
- it('going forwards', async () => {
107
- const el = await fixture(html `<more-facets-pagination
108
- .size=${'10'}
109
- .currentPage=${5}
110
- ></more-facets-pagination>`);
111
- expect(el.currentPage).to.equal(5); // confirm current page
112
- const fake1 = sinon.fake();
113
- const fake2 = sinon.fake();
114
- el.observePageCount = fake1;
115
- el.emitPageClick = fake2;
116
- // select first page button
117
- const forwardButton = el.shadowRoot?.querySelector('.facets-pagination > button.forward');
118
- forwardButton.click();
119
- await el.updateComplete;
120
- expect(fake1.callCount).to.equal(1);
121
- expect(fake2.callCount).to.equal(1);
122
- expect(el.currentPage).to.equal(6); // brings us forward 1 page
123
- });
124
- });
125
- });
126
- //# sourceMappingURL=more-facets-pagination.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"more-facets-pagination.test.js","sourceRoot":"","sources":["../../../test/collection-facets/more-facets-pagination.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect, fixture, oneEvent } from '@open-wc/testing';\nimport { html } from 'lit';\nimport sinon from 'sinon';\nimport '../../src/collection-facets/more-facets-pagination';\nimport type { MoreFacetsPagination } from '../../src/collection-facets/more-facets-pagination';\n\nafterEach(() => {\n sinon.restore();\n});\n\ndescribe('More facets pagination', () => {\n describe('5 pages or less', () => {\n it('shows all pages', async () => {\n const el = await fixture<MoreFacetsPagination>(\n html`<more-facets-pagination .size=${5}></more-facets-pagination>`,\n );\n\n await el.updateComplete;\n\n const pageButtons = el.shadowRoot?.querySelectorAll(\n 'button[data-page]',\n ) as NodeList;\n expect(pageButtons.length).to.greaterThan(0);\n\n pageButtons.forEach((button, index) => {\n expect(button.textContent).to.contain(index + 1);\n });\n });\n });\n\n it('should render pagination template', async () => {\n const el = await fixture<MoreFacetsPagination>(\n html`<more-facets-pagination .size=${10}></more-facets-pagination>`,\n );\n\n await el.updateComplete;\n\n expect(el.shadowRoot?.querySelector('.facets-pagination')).to.exist;\n expect(el.shadowRoot?.querySelector('.arrow-icon')).to.exist;\n });\n\n it('should render page numbers', async () => {\n const el = await fixture<MoreFacetsPagination>(\n html`<more-facets-pagination .size=${3}></more-facets-pagination>`,\n );\n\n await el.updateComplete;\n\n const pageNumberElement = el.shadowRoot?.querySelector('.page-numbers');\n expect(pageNumberElement).to.exist;\n expect(pageNumberElement?.querySelectorAll('button').length).to.equal(3);\n });\n\n it('check current page and total pages', async () => {\n const el = await fixture<MoreFacetsPagination>(\n html`<more-facets-pagination\n .size=${4}\n .currentPage=${2}\n ></more-facets-pagination>`,\n );\n\n await el.updateComplete;\n\n const pageNumberElement = el.shadowRoot?.querySelector('.page-numbers');\n expect(pageNumberElement).to.exist;\n expect(\n pageNumberElement\n ?.querySelectorAll('button')[1]\n .classList.contains('current'),\n ).to.be.true;\n expect(el.pages?.length).to.equal(4);\n });\n\n it('get page numbers based of size and currentPage', async () => {\n const el = await fixture<MoreFacetsPagination>(\n html`<more-facets-pagination\n .size=${4}\n .currentPage=${2}\n ></more-facets-pagination>`,\n );\n\n await el.updateComplete;\n\n expect(el.pages?.length).to.equal(4);\n });\n\n describe('Selecting a page', () => {\n it('fires event', async () => {\n const el = await fixture<MoreFacetsPagination>(\n html`<more-facets-pagination></more-facets-pagination>`,\n );\n\n await el.updateComplete;\n\n setTimeout(() =>\n el.dispatchEvent(\n new CustomEvent('pageNumberClicked', { detail: { page: 15 } }),\n ),\n );\n const { detail } = await oneEvent(el, 'pageNumberClicked');\n expect(detail?.page).to.equal(15);\n });\n it('sets off side effects with `onChange`', async () => {\n const el = await fixture<MoreFacetsPagination>(\n html`<more-facets-pagination\n .size=${'10'}\n .currentPage=${2}\n ></more-facets-pagination>`,\n );\n\n expect(el.currentPage).to.equal(2); // confirm current page\n\n const fake1 = sinon.fake();\n const fake2 = sinon.fake();\n el.observePageCount = fake1;\n el.emitPageClick = fake2;\n\n // select first page button\n const pageButton = el.shadowRoot?.querySelector(\n '.page-numbers > button',\n ) as HTMLButtonElement;\n // confirm button isn't selected\n expect(pageButton.classList.contains('current')).to.be.false;\n pageButton.click();\n\n await el.updateComplete;\n\n expect(fake1.callCount).to.equal(1);\n expect(fake2.callCount).to.equal(1);\n expect(el.currentPage).to.equal(1); // brings us back to currentPage\n // confirm button is selected\n expect(pageButton.classList.contains('current')).to.be.true;\n });\n });\n\n describe('Using Arrows', () => {\n it('going backwards', async () => {\n const el = await fixture<MoreFacetsPagination>(\n html`<more-facets-pagination\n .size=${'10'}\n .currentPage=${2}\n ></more-facets-pagination>`,\n );\n\n expect(el.currentPage).to.equal(2); // confirm current page\n\n const fake1 = sinon.fake();\n const fake2 = sinon.fake();\n el.observePageCount = fake1;\n el.emitPageClick = fake2;\n\n // select first page button\n const rewindButton = el.shadowRoot?.querySelector(\n '.facets-pagination > button.rewind',\n ) as HTMLButtonElement;\n rewindButton.click();\n\n await el.updateComplete;\n\n expect(fake1.callCount).to.equal(1);\n expect(fake2.callCount).to.equal(1);\n expect(el.currentPage).to.equal(1); // brings us back 1 page\n // confirm button is selected\n expect(\n (\n el.shadowRoot?.querySelector(\n '.page-numbers > button[data-page=\"1\"]',\n ) as HTMLButtonElement\n ).classList.contains('current'),\n ).to.be.true;\n });\n\n it('going forwards', async () => {\n const el = await fixture<MoreFacetsPagination>(\n html`<more-facets-pagination\n .size=${'10'}\n .currentPage=${5}\n ></more-facets-pagination>`,\n );\n\n expect(el.currentPage).to.equal(5); // confirm current page\n\n const fake1 = sinon.fake();\n const fake2 = sinon.fake();\n el.observePageCount = fake1;\n el.emitPageClick = fake2;\n\n // select first page button\n const forwardButton = el.shadowRoot?.querySelector(\n '.facets-pagination > button.forward',\n ) as HTMLButtonElement;\n forwardButton.click();\n\n await el.updateComplete;\n\n expect(fake1.callCount).to.equal(1);\n expect(fake2.callCount).to.equal(1);\n expect(el.currentPage).to.equal(6); // brings us forward 1 page\n });\n });\n});\n"]}
@@ -1 +0,0 @@
1
- import '../../src/collection-facets/toggle-switch';
@@ -1,99 +0,0 @@
1
- import { expect, fixture } from '@open-wc/testing';
2
- import sinon from 'sinon';
3
- import { html } from 'lit';
4
- import '../../src/collection-facets/toggle-switch';
5
- describe('Toggle switch', () => {
6
- it('renders component', async () => {
7
- const el = await fixture(html `<toggle-switch></toggle-switch>`);
8
- expect(el.shadowRoot?.querySelector('#switch-button')).to.exist;
9
- expect(el.shadowRoot?.querySelector('#knob')).to.exist;
10
- });
11
- it('renders provided L/R values', async () => {
12
- const el = await fixture(html `<toggle-switch
13
- .leftValue=${'L'}
14
- .rightValue=${'R'}
15
- ></toggle-switch>`);
16
- expect(el.value).to.equal('L');
17
- expect(el.selectedLabel).to.equal('L');
18
- expect(el.shadowRoot
19
- ?.querySelector('label[for=switch-left]')
20
- ?.textContent?.trim()).to.equal('L');
21
- expect(el.shadowRoot
22
- ?.querySelector('label[for=switch-right]')
23
- ?.textContent?.trim()).to.equal('R');
24
- });
25
- it('renders provided L/R labels instead of values', async () => {
26
- const el = await fixture(html `<toggle-switch
27
- .leftValue=${'L'}
28
- .leftLabel=${'L-label'}
29
- .rightValue=${'R'}
30
- .rightLabel=${'R-label'}
31
- ></toggle-switch>`);
32
- expect(el.value).to.equal('L');
33
- expect(el.selectedLabel).to.equal('L-label');
34
- expect(el.shadowRoot?.querySelector('#switch-left')?.value).to.equal('L');
35
- expect(el.shadowRoot?.querySelector('#switch-right')
36
- ?.value).to.equal('R');
37
- expect(el.shadowRoot
38
- ?.querySelector('label[for=switch-left]')
39
- ?.textContent?.trim()).to.equal('L-label');
40
- expect(el.shadowRoot
41
- ?.querySelector('label[for=switch-right]')
42
- ?.textContent?.trim()).to.equal('R-label');
43
- });
44
- it('sets the initial side', async () => {
45
- const el = await fixture(html `<toggle-switch
46
- .leftValue=${'L'}
47
- .rightValue=${'R'}
48
- .side=${'right'}
49
- ></toggle-switch>`);
50
- expect(el.value).to.equal('R');
51
- expect(el.selectedLabel).to.equal('R');
52
- });
53
- it('toggles on click', async () => {
54
- const el = await fixture(html `<toggle-switch
55
- .leftValue=${'L'}
56
- .rightValue=${'R'}
57
- ></toggle-switch>`);
58
- const button = el.shadowRoot?.querySelector('#switch-button');
59
- expect(el.value).to.equal('L');
60
- button.click();
61
- await el.updateComplete;
62
- expect(el.value).to.equal('R');
63
- button.click();
64
- await el.updateComplete;
65
- expect(el.value).to.equal('L');
66
- });
67
- it('toggles on radio change', async () => {
68
- const el = await fixture(html `<toggle-switch
69
- .leftValue=${'L'}
70
- .rightValue=${'R'}
71
- ></toggle-switch>`);
72
- const leftRadio = el.shadowRoot?.querySelector('#switch-left');
73
- const rightRadio = el.shadowRoot?.querySelector('#switch-right');
74
- expect(el.value).to.equal('L');
75
- rightRadio.click();
76
- await el.updateComplete;
77
- expect(el.value).to.equal('R');
78
- leftRadio.click();
79
- await el.updateComplete;
80
- expect(el.value).to.equal('L');
81
- });
82
- it('emits change event when toggled', async () => {
83
- const changeSpy = sinon.spy();
84
- const el = await fixture(html `<toggle-switch
85
- .leftValue=${'L'}
86
- .rightValue=${'R'}
87
- @change=${changeSpy}
88
- ></toggle-switch>`);
89
- const button = el.shadowRoot?.querySelector('#switch-button');
90
- button.click();
91
- await el.updateComplete;
92
- expect(changeSpy.callCount).to.equal(1);
93
- const leftRadio = el.shadowRoot?.querySelector('#switch-left');
94
- leftRadio.click();
95
- await el.updateComplete;
96
- expect(changeSpy.callCount).to.equal(2);
97
- });
98
- });
99
- //# sourceMappingURL=toggle-switch.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"toggle-switch.test.js","sourceRoot":"","sources":["../../../test/collection-facets/toggle-switch.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAG3B,OAAO,2CAA2C,CAAC;AAEnD,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;QACjC,MAAM,EAAE,GAAG,MAAM,OAAO,CACtB,IAAI,CAAA,iCAAiC,CACtC,CAAC;QAEF,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAChE,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,EAAE,GAAG,MAAM,OAAO,CACtB,IAAI,CAAA;qBACW,GAAG;sBACF,GAAG;wBACD,CACnB,CAAC;QAEF,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEvC,MAAM,CACJ,EAAE,CAAC,UAAU;YACX,EAAE,aAAa,CAAC,wBAAwB,CAAC;YACzC,EAAE,WAAW,EAAE,IAAI,EAAE,CACxB,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChB,MAAM,CACJ,EAAE,CAAC,UAAU;YACX,EAAE,aAAa,CAAC,yBAAyB,CAAC;YAC1C,EAAE,WAAW,EAAE,IAAI,EAAE,CACxB,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,EAAE,GAAG,MAAM,OAAO,CACtB,IAAI,CAAA;qBACW,GAAG;qBACH,SAAS;sBACR,GAAG;sBACH,SAAS;wBACP,CACnB,CAAC;QAEF,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAE7C,MAAM,CACH,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,cAAc,CAAsB,EAAE,KAAK,CAC1E,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChB,MAAM,CACH,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,eAAe,CAAsB;YACjE,EAAE,KAAK,CACV,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEhB,MAAM,CACJ,EAAE,CAAC,UAAU;YACX,EAAE,aAAa,CAAC,wBAAwB,CAAC;YACzC,EAAE,WAAW,EAAE,IAAI,EAAE,CACxB,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACtB,MAAM,CACJ,EAAE,CAAC,UAAU;YACX,EAAE,aAAa,CAAC,yBAAyB,CAAC;YAC1C,EAAE,WAAW,EAAE,IAAI,EAAE,CACxB,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,EAAE,GAAG,MAAM,OAAO,CACtB,IAAI,CAAA;qBACW,GAAG;sBACF,GAAG;gBACT,OAAO;wBACC,CACnB,CAAC;QAEF,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAChC,MAAM,EAAE,GAAG,MAAM,OAAO,CACtB,IAAI,CAAA;qBACW,GAAG;sBACF,GAAG;wBACD,CACnB,CAAC;QAEF,MAAM,MAAM,GAAG,EAAE,CAAC,UAAU,EAAE,aAAa,CACzC,gBAAgB,CACI,CAAC;QAEvB,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,EAAE,CAAC,cAAc,CAAC;QAExB,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,EAAE,CAAC,cAAc,CAAC;QAExB,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,EAAE,GAAG,MAAM,OAAO,CACtB,IAAI,CAAA;qBACW,GAAG;sBACF,GAAG;wBACD,CACnB,CAAC;QAEF,MAAM,SAAS,GAAG,EAAE,CAAC,UAAU,EAAE,aAAa,CAC5C,cAAc,CACK,CAAC;QACtB,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,EAAE,aAAa,CAC7C,eAAe,CACI,CAAC;QAEtB,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,UAAU,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,EAAE,CAAC,cAAc,CAAC;QAExB,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,SAAS,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,EAAE,CAAC,cAAc,CAAC;QAExB,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QAC9B,MAAM,EAAE,GAAG,MAAM,OAAO,CACtB,IAAI,CAAA;qBACW,GAAG;sBACF,GAAG;kBACP,SAAS;wBACH,CACnB,CAAC;QAEF,MAAM,MAAM,GAAG,EAAE,CAAC,UAAU,EAAE,aAAa,CACzC,gBAAgB,CACI,CAAC;QAEvB,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,EAAE,CAAC,cAAc,CAAC;QAExB,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAExC,MAAM,SAAS,GAAG,EAAE,CAAC,UAAU,EAAE,aAAa,CAC5C,cAAc,CACK,CAAC;QAEtB,SAAS,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,EAAE,CAAC,cAAc,CAAC;QAExB,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { expect, fixture } from '@open-wc/testing';\nimport sinon from 'sinon';\nimport { html } from 'lit';\nimport type { ToggleSwitch } from '../../src/collection-facets/toggle-switch';\n\nimport '../../src/collection-facets/toggle-switch';\n\ndescribe('Toggle switch', () => {\n it('renders component', async () => {\n const el = await fixture<ToggleSwitch>(\n html`<toggle-switch></toggle-switch>`,\n );\n\n expect(el.shadowRoot?.querySelector('#switch-button')).to.exist;\n expect(el.shadowRoot?.querySelector('#knob')).to.exist;\n });\n\n it('renders provided L/R values', async () => {\n const el = await fixture<ToggleSwitch>(\n html`<toggle-switch\n .leftValue=${'L'}\n .rightValue=${'R'}\n ></toggle-switch>`,\n );\n\n expect(el.value).to.equal('L');\n expect(el.selectedLabel).to.equal('L');\n\n expect(\n el.shadowRoot\n ?.querySelector('label[for=switch-left]')\n ?.textContent?.trim(),\n ).to.equal('L');\n expect(\n el.shadowRoot\n ?.querySelector('label[for=switch-right]')\n ?.textContent?.trim(),\n ).to.equal('R');\n });\n\n it('renders provided L/R labels instead of values', async () => {\n const el = await fixture<ToggleSwitch>(\n html`<toggle-switch\n .leftValue=${'L'}\n .leftLabel=${'L-label'}\n .rightValue=${'R'}\n .rightLabel=${'R-label'}\n ></toggle-switch>`,\n );\n\n expect(el.value).to.equal('L');\n expect(el.selectedLabel).to.equal('L-label');\n\n expect(\n (el.shadowRoot?.querySelector('#switch-left') as HTMLInputElement)?.value,\n ).to.equal('L');\n expect(\n (el.shadowRoot?.querySelector('#switch-right') as HTMLInputElement)\n ?.value,\n ).to.equal('R');\n\n expect(\n el.shadowRoot\n ?.querySelector('label[for=switch-left]')\n ?.textContent?.trim(),\n ).to.equal('L-label');\n expect(\n el.shadowRoot\n ?.querySelector('label[for=switch-right]')\n ?.textContent?.trim(),\n ).to.equal('R-label');\n });\n\n it('sets the initial side', async () => {\n const el = await fixture<ToggleSwitch>(\n html`<toggle-switch\n .leftValue=${'L'}\n .rightValue=${'R'}\n .side=${'right'}\n ></toggle-switch>`,\n );\n\n expect(el.value).to.equal('R');\n expect(el.selectedLabel).to.equal('R');\n });\n\n it('toggles on click', async () => {\n const el = await fixture<ToggleSwitch>(\n html`<toggle-switch\n .leftValue=${'L'}\n .rightValue=${'R'}\n ></toggle-switch>`,\n );\n\n const button = el.shadowRoot?.querySelector(\n '#switch-button',\n ) as HTMLButtonElement;\n\n expect(el.value).to.equal('L');\n button.click();\n await el.updateComplete;\n\n expect(el.value).to.equal('R');\n button.click();\n await el.updateComplete;\n\n expect(el.value).to.equal('L');\n });\n\n it('toggles on radio change', async () => {\n const el = await fixture<ToggleSwitch>(\n html`<toggle-switch\n .leftValue=${'L'}\n .rightValue=${'R'}\n ></toggle-switch>`,\n );\n\n const leftRadio = el.shadowRoot?.querySelector(\n '#switch-left',\n ) as HTMLInputElement;\n const rightRadio = el.shadowRoot?.querySelector(\n '#switch-right',\n ) as HTMLInputElement;\n\n expect(el.value).to.equal('L');\n rightRadio.click();\n await el.updateComplete;\n\n expect(el.value).to.equal('R');\n leftRadio.click();\n await el.updateComplete;\n\n expect(el.value).to.equal('L');\n });\n\n it('emits change event when toggled', async () => {\n const changeSpy = sinon.spy();\n const el = await fixture<ToggleSwitch>(\n html`<toggle-switch\n .leftValue=${'L'}\n .rightValue=${'R'}\n @change=${changeSpy}\n ></toggle-switch>`,\n );\n\n const button = el.shadowRoot?.querySelector(\n '#switch-button',\n ) as HTMLButtonElement;\n\n button.click();\n await el.updateComplete;\n\n expect(changeSpy.callCount).to.equal(1);\n\n const leftRadio = el.shadowRoot?.querySelector(\n '#switch-left',\n ) as HTMLInputElement;\n\n leftRadio.click();\n await el.updateComplete;\n\n expect(changeSpy.callCount).to.equal(2);\n });\n});\n"]}
@@ -1,2 +0,0 @@
1
- import '@internetarchive/modal-manager';
2
- import '../src/collection-facets';