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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (509) hide show
  1. package/.github/workflows/ci.yml +3 -3
  2. package/.github/workflows/gh-pages-main.yml +2 -2
  3. package/.github/workflows/pr-preview.yml +2 -2
  4. package/.prettierignore +1 -0
  5. package/dist/index.d.ts +13 -16
  6. package/dist/index.js +11 -16
  7. package/dist/index.js.map +1 -1
  8. package/dist/src/app-root.d.ts +107 -107
  9. package/dist/src/app-root.js +531 -531
  10. package/dist/src/app-root.js.map +1 -1
  11. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  12. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  13. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  14. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  15. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  16. package/dist/src/assets/img/icons/chevron.js +2 -2
  17. package/dist/src/assets/img/icons/contract.d.ts +2 -2
  18. package/dist/src/assets/img/icons/contract.js +2 -2
  19. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  20. package/dist/src/assets/img/icons/empty-query.js +2 -2
  21. package/dist/src/assets/img/icons/expand.d.ts +2 -2
  22. package/dist/src/assets/img/icons/expand.js +2 -2
  23. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  24. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  25. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  26. package/dist/src/assets/img/icons/eye.js +2 -2
  27. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  28. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  29. package/dist/src/assets/img/icons/favorite-unfilled.d.ts +1 -1
  30. package/dist/src/assets/img/icons/favorite-unfilled.js +2 -2
  31. package/dist/src/assets/img/icons/filter.d.ts +2 -2
  32. package/dist/src/assets/img/icons/filter.js +2 -2
  33. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  34. package/dist/src/assets/img/icons/login-required.js +2 -2
  35. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  36. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  37. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  38. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  39. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  40. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  41. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  42. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  43. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  44. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  45. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  46. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  47. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  48. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  49. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  50. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  51. package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -1
  52. package/dist/src/assets/img/icons/mediatype/search.js +2 -2
  53. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  54. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  55. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  56. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  57. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  58. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  59. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  60. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  61. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  62. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  63. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  64. package/dist/src/assets/img/icons/null-result.js +2 -2
  65. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  66. package/dist/src/assets/img/icons/restricted.js +2 -2
  67. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  68. package/dist/src/assets/img/icons/reviews.js +2 -2
  69. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  70. package/dist/src/assets/img/icons/upload.js +2 -2
  71. package/dist/src/assets/img/icons/views.d.ts +1 -1
  72. package/dist/src/assets/img/icons/views.js +2 -2
  73. package/dist/src/circular-activity-indicator.d.ts +5 -5
  74. package/dist/src/circular-activity-indicator.js +17 -17
  75. package/dist/src/circular-activity-indicator.js.map +1 -1
  76. package/dist/src/collection-browser.d.ts +606 -606
  77. package/dist/src/collection-browser.js +1679 -1677
  78. package/dist/src/collection-browser.js.map +1 -1
  79. package/dist/src/collection-facets/facet-row.d.ts +30 -30
  80. package/dist/src/collection-facets/facet-row.js +118 -118
  81. package/dist/src/collection-facets/facet-row.js.map +1 -1
  82. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  83. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  84. package/dist/src/collection-facets/facet-tombstone-row.js.map +1 -1
  85. package/dist/src/collection-facets/facets-template.d.ts +13 -13
  86. package/dist/src/collection-facets/facets-template.js +49 -49
  87. package/dist/src/collection-facets/facets-template.js.map +1 -1
  88. package/dist/src/collection-facets/more-facets-content.d.ts +106 -106
  89. package/dist/src/collection-facets/more-facets-content.js +406 -408
  90. package/dist/src/collection-facets/more-facets-content.js.map +1 -1
  91. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  92. package/dist/src/collection-facets/more-facets-pagination.js +197 -196
  93. package/dist/src/collection-facets/more-facets-pagination.js.map +1 -1
  94. package/dist/src/collection-facets/smart-facets/dedupe.d.ts +10 -10
  95. package/dist/src/collection-facets/smart-facets/dedupe.js +33 -33
  96. package/dist/src/collection-facets/smart-facets/dedupe.js.map +1 -1
  97. package/dist/src/collection-facets/smart-facets/heuristics/{browser-language/browser-language-heuristic.d.ts → browser-language-heuristic.d.ts} +5 -5
  98. package/dist/src/collection-facets/smart-facets/heuristics/{browser-language/browser-language-heuristic.js → browser-language-heuristic.js} +23 -23
  99. package/dist/src/collection-facets/smart-facets/heuristics/browser-language-heuristic.js.map +1 -0
  100. package/dist/src/collection-facets/smart-facets/heuristics/{query-keywords/query-keywords-heuristic.d.ts → query-keywords-heuristic.d.ts} +5 -4
  101. package/dist/src/collection-facets/smart-facets/heuristics/{query-keywords/query-keywords-map.js → query-keywords-heuristic.js} +45 -35
  102. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.js.map +1 -0
  103. package/dist/src/collection-facets/smart-facets/heuristics/{wikidata/wikidata-heuristic.d.ts → wikidata-heuristic.d.ts} +5 -4
  104. package/dist/src/collection-facets/smart-facets/heuristics/{wikidata/wikidata-entity-map.js → wikidata-heuristic.js} +173 -133
  105. package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.js.map +1 -0
  106. package/dist/src/collection-facets/smart-facets/models.d.ts +26 -26
  107. package/dist/src/collection-facets/smart-facets/models.js +1 -1
  108. package/dist/src/collection-facets/smart-facets/smart-facet-bar.d.ts +31 -31
  109. package/dist/src/collection-facets/smart-facets/smart-facet-bar.js +237 -240
  110. package/dist/src/collection-facets/smart-facets/smart-facet-bar.js.map +1 -1
  111. package/dist/src/collection-facets/smart-facets/smart-facet-button.d.ts +11 -11
  112. package/dist/src/collection-facets/smart-facets/smart-facet-button.js +86 -86
  113. package/dist/src/collection-facets/smart-facets/smart-facet-button.js.map +1 -1
  114. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.d.ts +16 -16
  115. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js +100 -100
  116. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js.map +1 -1
  117. package/dist/src/collection-facets/smart-facets/smart-facet-equals.d.ts +2 -2
  118. package/dist/src/collection-facets/smart-facets/smart-facet-equals.js +12 -12
  119. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.d.ts +5 -5
  120. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js +15 -17
  121. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js.map +1 -1
  122. package/dist/src/collection-facets/toggle-switch.d.ts +41 -41
  123. package/dist/src/collection-facets/toggle-switch.js +94 -94
  124. package/dist/src/collection-facets/toggle-switch.js.map +1 -1
  125. package/dist/src/collection-facets.d.ts +103 -103
  126. package/dist/src/collection-facets.js +521 -522
  127. package/dist/src/collection-facets.js.map +1 -1
  128. package/dist/src/data-source/collection-browser-data-source-interface.d.ts +245 -245
  129. package/dist/src/data-source/collection-browser-data-source-interface.js +1 -1
  130. package/dist/src/data-source/collection-browser-data-source-interface.js.map +1 -1
  131. package/dist/src/data-source/collection-browser-data-source.d.ts +377 -377
  132. package/dist/src/data-source/collection-browser-data-source.js +1003 -1004
  133. package/dist/src/data-source/collection-browser-data-source.js.map +1 -1
  134. package/dist/src/data-source/collection-browser-query-state.d.ts +44 -44
  135. package/dist/src/data-source/collection-browser-query-state.js +1 -1
  136. package/dist/src/data-source/models.d.ts +28 -28
  137. package/dist/src/data-source/models.js +8 -8
  138. package/dist/src/empty-placeholder.d.ts +23 -23
  139. package/dist/src/empty-placeholder.js +87 -88
  140. package/dist/src/empty-placeholder.js.map +1 -1
  141. package/dist/src/expanded-date-picker.d.ts +43 -43
  142. package/dist/src/expanded-date-picker.js +109 -109
  143. package/dist/src/expanded-date-picker.js.map +1 -1
  144. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  145. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  146. package/dist/src/language-code-handler/language-code-handler.js.map +1 -1
  147. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  148. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  149. package/dist/src/language-code-handler/language-code-mapping.js.map +1 -1
  150. package/dist/src/manage/manage-bar.d.ts +58 -58
  151. package/dist/src/manage/manage-bar.js +175 -175
  152. package/dist/src/manage/manage-bar.js.map +1 -1
  153. package/dist/src/manage/remove-items-modal-content.d.ts +9 -9
  154. package/dist/src/manage/remove-items-modal-content.js +34 -34
  155. package/dist/src/manage/remove-items-modal-content.js.map +1 -1
  156. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  157. package/dist/src/mediatype/mediatype-config.js +92 -91
  158. package/dist/src/mediatype/mediatype-config.js.map +1 -1
  159. package/dist/src/models.d.ts +228 -228
  160. package/dist/src/models.js +401 -401
  161. package/dist/src/models.js.map +1 -1
  162. package/dist/src/restoration-state-handler.d.ts +70 -70
  163. package/dist/src/restoration-state-handler.js +362 -363
  164. package/dist/src/restoration-state-handler.js.map +1 -1
  165. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  166. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  167. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js.map +1 -1
  168. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
  169. package/dist/src/sort-filter-bar/alpha-bar.js +136 -136
  170. package/dist/src/sort-filter-bar/alpha-bar.js.map +1 -1
  171. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  172. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  173. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  174. package/dist/src/sort-filter-bar/img/list.js +2 -2
  175. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  176. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
  177. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  178. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
  179. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  180. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
  181. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  182. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  183. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  184. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  185. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +223 -223
  186. package/dist/src/sort-filter-bar/sort-filter-bar.js +696 -697
  187. package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
  188. package/dist/src/styles/ia-button.d.ts +2 -2
  189. package/dist/src/styles/ia-button.js +17 -17
  190. package/dist/src/styles/item-image-styles.d.ts +8 -8
  191. package/dist/src/styles/item-image-styles.js +9 -9
  192. package/dist/src/styles/sr-only.d.ts +1 -1
  193. package/dist/src/styles/sr-only.js +2 -2
  194. package/dist/src/tiles/base-tile-component.d.ts +19 -19
  195. package/dist/src/tiles/base-tile-component.js +64 -64
  196. package/dist/src/tiles/base-tile-component.js.map +1 -1
  197. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  198. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  199. package/dist/src/tiles/collection-browser-loading-tile.js.map +1 -1
  200. package/dist/src/tiles/grid/account-tile.d.ts +18 -18
  201. package/dist/src/tiles/grid/account-tile.js +72 -72
  202. package/dist/src/tiles/grid/account-tile.js.map +1 -1
  203. package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
  204. package/dist/src/tiles/grid/collection-tile.js +80 -80
  205. package/dist/src/tiles/grid/collection-tile.js.map +1 -1
  206. package/dist/src/tiles/grid/item-tile.d.ts +34 -34
  207. package/dist/src/tiles/grid/item-tile.js +159 -160
  208. package/dist/src/tiles/grid/item-tile.js.map +1 -1
  209. package/dist/src/tiles/grid/search-tile.d.ts +10 -10
  210. package/dist/src/tiles/grid/search-tile.js +51 -51
  211. package/dist/src/tiles/grid/search-tile.js.map +1 -1
  212. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  213. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
  214. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  215. package/dist/src/tiles/grid/tile-stats.js +54 -54
  216. package/dist/src/tiles/grid/tile-stats.js.map +1 -1
  217. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  218. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  219. package/dist/src/tiles/hover/hover-pane-controller.js.map +1 -1
  220. package/dist/src/tiles/hover/tile-hover-pane.d.ts +18 -18
  221. package/dist/src/tiles/hover/tile-hover-pane.js +72 -70
  222. package/dist/src/tiles/hover/tile-hover-pane.js.map +1 -1
  223. package/dist/src/tiles/image-block.d.ts +18 -18
  224. package/dist/src/tiles/image-block.js +89 -89
  225. package/dist/src/tiles/image-block.js.map +1 -1
  226. package/dist/src/tiles/item-image.d.ts +39 -39
  227. package/dist/src/tiles/item-image.js +154 -154
  228. package/dist/src/tiles/item-image.js.map +1 -1
  229. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
  230. package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
  231. package/dist/src/tiles/list/tile-list-compact-header.js.map +1 -1
  232. package/dist/src/tiles/list/tile-list-compact.d.ts +19 -19
  233. package/dist/src/tiles/list/tile-list-compact.js +122 -122
  234. package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
  235. package/dist/src/tiles/list/tile-list.d.ts +54 -54
  236. package/dist/src/tiles/list/tile-list.js +324 -326
  237. package/dist/src/tiles/list/tile-list.js.map +1 -1
  238. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  239. package/dist/src/tiles/mediatype-icon.js +47 -47
  240. package/dist/src/tiles/mediatype-icon.js.map +1 -1
  241. package/dist/src/tiles/overlay/icon-overlay.d.ts +8 -8
  242. package/dist/src/tiles/overlay/icon-overlay.js +25 -25
  243. package/dist/src/tiles/overlay/icon-overlay.js.map +1 -1
  244. package/dist/src/tiles/overlay/text-overlay.d.ts +9 -9
  245. package/dist/src/tiles/overlay/text-overlay.js +31 -31
  246. package/dist/src/tiles/overlay/text-overlay.js.map +1 -1
  247. package/dist/src/tiles/review-block.d.ts +12 -12
  248. package/dist/src/tiles/review-block.js +56 -56
  249. package/dist/src/tiles/review-block.js.map +1 -1
  250. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  251. package/dist/src/tiles/text-snippet-block.js +73 -73
  252. package/dist/src/tiles/text-snippet-block.js.map +1 -1
  253. package/dist/src/tiles/tile-dispatcher.d.ts +64 -64
  254. package/dist/src/tiles/tile-dispatcher.js +230 -230
  255. package/dist/src/tiles/tile-dispatcher.js.map +1 -1
  256. package/dist/src/tiles/tile-display-value-provider.d.ts +47 -47
  257. package/dist/src/tiles/tile-display-value-provider.js +94 -94
  258. package/dist/src/tiles/tile-display-value-provider.js.map +1 -1
  259. package/dist/src/utils/analytics-events.d.ts +28 -28
  260. package/dist/src/utils/analytics-events.js +30 -30
  261. package/dist/src/utils/array-equals.d.ts +4 -4
  262. package/dist/src/utils/array-equals.js +10 -10
  263. package/dist/src/utils/collapse-repeated-quotes.d.ts +11 -11
  264. package/dist/src/utils/collapse-repeated-quotes.js +13 -13
  265. package/dist/src/utils/facet-utils.d.ts +83 -83
  266. package/dist/src/utils/facet-utils.js +145 -145
  267. package/dist/src/utils/facet-utils.js.map +1 -1
  268. package/dist/src/utils/format-count.d.ts +7 -7
  269. package/dist/src/utils/format-count.js +75 -76
  270. package/dist/src/utils/format-count.js.map +1 -1
  271. package/dist/src/utils/format-date.d.ts +2 -2
  272. package/dist/src/utils/format-date.js +27 -27
  273. package/dist/src/utils/format-date.js.map +1 -1
  274. package/dist/src/utils/format-unit-size.d.ts +2 -2
  275. package/dist/src/utils/format-unit-size.js +33 -33
  276. package/dist/src/utils/format-unit-size.js.map +1 -1
  277. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  278. package/dist/src/utils/local-date-from-utc.js +15 -15
  279. package/dist/src/utils/log.d.ts +7 -7
  280. package/dist/src/utils/log.js +13 -15
  281. package/dist/src/utils/log.js.map +1 -1
  282. package/dist/src/utils/resolve-mediatype.d.ts +8 -8
  283. package/dist/src/utils/resolve-mediatype.js +23 -23
  284. package/dist/src/utils/resolve-mediatype.js.map +1 -1
  285. package/dist/src/utils/sha1.d.ts +2 -2
  286. package/dist/src/utils/sha1.js +8 -8
  287. package/dist/test/collection-browser.test.d.ts +1 -1
  288. package/dist/test/collection-browser.test.js +1309 -1308
  289. package/dist/test/collection-browser.test.js.map +1 -1
  290. package/dist/test/collection-facets/facet-row.test.d.ts +1 -1
  291. package/dist/test/collection-facets/facet-row.test.js +230 -227
  292. package/dist/test/collection-facets/facet-row.test.js.map +1 -1
  293. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  294. package/dist/test/collection-facets/facets-template.test.js +91 -91
  295. package/dist/test/collection-facets/facets-template.test.js.map +1 -1
  296. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  297. package/dist/test/collection-facets/more-facets-content.test.js +140 -141
  298. package/dist/test/collection-facets/more-facets-content.test.js.map +1 -1
  299. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  300. package/dist/test/collection-facets/more-facets-pagination.test.js +116 -117
  301. package/dist/test/collection-facets/more-facets-pagination.test.js.map +1 -1
  302. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  303. package/dist/test/collection-facets/toggle-switch.test.js +82 -73
  304. package/dist/test/collection-facets/toggle-switch.test.js.map +1 -1
  305. package/dist/test/collection-facets.test.d.ts +2 -2
  306. package/dist/test/collection-facets.test.js +692 -692
  307. package/dist/test/collection-facets.test.js.map +1 -1
  308. package/dist/test/data-source/collection-browser-data-source.test.d.ts +1 -1
  309. package/dist/test/data-source/collection-browser-data-source.test.js +89 -89
  310. package/dist/test/data-source/collection-browser-data-source.test.js.map +1 -1
  311. package/dist/test/empty-placeholder.test.d.ts +1 -1
  312. package/dist/test/empty-placeholder.test.js +62 -63
  313. package/dist/test/empty-placeholder.test.js.map +1 -1
  314. package/dist/test/expanded-date-picker.test.d.ts +1 -1
  315. package/dist/test/expanded-date-picker.test.js +97 -96
  316. package/dist/test/expanded-date-picker.test.js.map +1 -1
  317. package/dist/test/icon-overlay.test.d.ts +1 -1
  318. package/dist/test/icon-overlay.test.js +23 -24
  319. package/dist/test/icon-overlay.test.js.map +1 -1
  320. package/dist/test/image-block.test.d.ts +1 -1
  321. package/dist/test/image-block.test.js +106 -107
  322. package/dist/test/image-block.test.js.map +1 -1
  323. package/dist/test/item-image.test.d.ts +1 -1
  324. package/dist/test/item-image.test.js +84 -85
  325. package/dist/test/item-image.test.js.map +1 -1
  326. package/dist/test/manage/manage-bar.test.d.ts +2 -2
  327. package/dist/test/manage/manage-bar.test.js +100 -101
  328. package/dist/test/manage/manage-bar.test.js.map +1 -1
  329. package/dist/test/manage/remove-items-modal-content.test.d.ts +1 -1
  330. package/dist/test/manage/remove-items-modal-content.test.js +44 -45
  331. package/dist/test/manage/remove-items-modal-content.test.js.map +1 -1
  332. package/dist/test/mediatype-config.test.d.ts +1 -1
  333. package/dist/test/mediatype-config.test.js +16 -16
  334. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  335. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  336. package/dist/test/mocks/mock-search-responses.d.ts +25 -25
  337. package/dist/test/mocks/mock-search-responses.js +942 -942
  338. package/dist/test/mocks/mock-search-responses.js.map +1 -1
  339. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  340. package/dist/test/mocks/mock-search-service.js +54 -54
  341. package/dist/test/mocks/mock-search-service.js.map +1 -1
  342. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  343. package/dist/test/restoration-state-handler.test.js +270 -270
  344. package/dist/test/restoration-state-handler.test.js.map +1 -1
  345. package/dist/test/review-block.test.d.ts +1 -1
  346. package/dist/test/review-block.test.js +43 -44
  347. package/dist/test/review-block.test.js.map +1 -1
  348. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  349. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  350. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js.map +1 -1
  351. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  352. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  353. package/dist/test/sort-filter-bar/alpha-bar.test.js.map +1 -1
  354. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  355. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +425 -426
  356. package/dist/test/sort-filter-bar/sort-filter-bar.test.js.map +1 -1
  357. package/dist/test/text-overlay.test.d.ts +1 -1
  358. package/dist/test/text-overlay.test.js +37 -38
  359. package/dist/test/text-overlay.test.js.map +1 -1
  360. package/dist/test/text-snippet-block.test.d.ts +1 -1
  361. package/dist/test/text-snippet-block.test.js +56 -57
  362. package/dist/test/text-snippet-block.test.js.map +1 -1
  363. package/dist/test/tile-stats.test.d.ts +1 -1
  364. package/dist/test/tile-stats.test.js +98 -99
  365. package/dist/test/tile-stats.test.js.map +1 -1
  366. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  367. package/dist/test/tiles/grid/account-tile.test.js +75 -76
  368. package/dist/test/tiles/grid/account-tile.test.js.map +1 -1
  369. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  370. package/dist/test/tiles/grid/collection-tile.test.js +72 -73
  371. package/dist/test/tiles/grid/collection-tile.test.js.map +1 -1
  372. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  373. package/dist/test/tiles/grid/item-tile.test.js +311 -312
  374. package/dist/test/tiles/grid/item-tile.test.js.map +1 -1
  375. package/dist/test/tiles/grid/search-tile.test.d.ts +1 -1
  376. package/dist/test/tiles/grid/search-tile.test.js +50 -51
  377. package/dist/test/tiles/grid/search-tile.test.js.map +1 -1
  378. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  379. package/dist/test/tiles/hover/hover-pane-controller.test.js +259 -259
  380. package/dist/test/tiles/hover/hover-pane-controller.test.js.map +1 -1
  381. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  382. package/dist/test/tiles/hover/tile-hover-pane.test.js +56 -56
  383. package/dist/test/tiles/hover/tile-hover-pane.test.js.map +1 -1
  384. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  385. package/dist/test/tiles/list/tile-list-compact.test.js +142 -143
  386. package/dist/test/tiles/list/tile-list-compact.test.js.map +1 -1
  387. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  388. package/dist/test/tiles/list/tile-list.test.js +296 -297
  389. package/dist/test/tiles/list/tile-list.test.js.map +1 -1
  390. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  391. package/dist/test/tiles/tile-dispatcher.test.js +100 -100
  392. package/dist/test/tiles/tile-dispatcher.test.js.map +1 -1
  393. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
  394. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  395. package/dist/test/utils/array-equals.test.d.ts +1 -1
  396. package/dist/test/utils/array-equals.test.js +26 -26
  397. package/dist/test/utils/format-count.test.d.ts +1 -1
  398. package/dist/test/utils/format-count.test.js +23 -23
  399. package/dist/test/utils/format-count.test.js.map +1 -1
  400. package/dist/test/utils/format-date.test.d.ts +1 -1
  401. package/dist/test/utils/format-date.test.js +30 -30
  402. package/dist/test/utils/format-date.test.js.map +1 -1
  403. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  404. package/dist/test/utils/format-unit-size.test.js +17 -17
  405. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  406. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  407. package/dist/test/utils/local-date-from-utc.test.js.map +1 -1
  408. package/eslint.config.mjs +53 -0
  409. package/index.html +0 -3
  410. package/index.ts +1 -15
  411. package/package.json +41 -39
  412. package/src/app-root.ts +21 -22
  413. package/src/collection-browser.ts +44 -40
  414. package/src/collection-facets/facets-template.ts +7 -6
  415. package/src/collection-facets/more-facets-content.ts +11 -13
  416. package/src/collection-facets/more-facets-pagination.ts +3 -2
  417. package/src/collection-facets/smart-facets/dedupe.ts +2 -2
  418. package/src/collection-facets/smart-facets/heuristics/{browser-language/browser-language-heuristic.ts → browser-language-heuristic.ts} +1 -1
  419. package/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.ts +55 -0
  420. package/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.ts +191 -0
  421. package/src/collection-facets/smart-facets/smart-facet-bar.ts +6 -8
  422. package/src/collection-facets/smart-facets/smart-facet-button.ts +5 -3
  423. package/src/collection-facets/smart-facets/smart-facet-dropdown.ts +4 -4
  424. package/src/collection-facets/smart-facets/smart-facet-heuristics.ts +8 -13
  425. package/src/collection-facets/toggle-switch.ts +2 -2
  426. package/src/collection-facets.ts +18 -19
  427. package/src/data-source/collection-browser-data-source-interface.ts +5 -1
  428. package/src/data-source/collection-browser-data-source.ts +37 -34
  429. package/src/empty-placeholder.ts +19 -16
  430. package/src/expanded-date-picker.ts +1 -1
  431. package/src/language-code-handler/language-code-handler.ts +1 -1
  432. package/src/manage/manage-bar.ts +23 -20
  433. package/src/manage/remove-items-modal-content.ts +2 -2
  434. package/src/mediatype/mediatype-config.ts +1 -0
  435. package/src/models.ts +3 -3
  436. package/src/restoration-state-handler.ts +14 -15
  437. package/src/sort-filter-bar/alpha-bar.ts +16 -17
  438. package/src/sort-filter-bar/sort-filter-bar.ts +14 -15
  439. package/src/tiles/grid/account-tile.ts +1 -1
  440. package/src/tiles/grid/collection-tile.ts +1 -1
  441. package/src/tiles/grid/item-tile.ts +9 -9
  442. package/src/tiles/grid/tile-stats.ts +4 -4
  443. package/src/tiles/hover/hover-pane-controller.ts +1 -1
  444. package/src/tiles/hover/tile-hover-pane.ts +4 -2
  445. package/src/tiles/item-image.ts +1 -1
  446. package/src/tiles/list/tile-list-compact.ts +2 -2
  447. package/src/tiles/list/tile-list.ts +22 -24
  448. package/src/tiles/tile-dispatcher.ts +5 -5
  449. package/src/tiles/tile-display-value-provider.ts +4 -4
  450. package/src/utils/facet-utils.ts +6 -6
  451. package/src/utils/format-count.ts +2 -3
  452. package/src/utils/format-date.ts +1 -1
  453. package/src/utils/format-unit-size.ts +1 -1
  454. package/src/utils/log.ts +1 -3
  455. package/test/collection-browser.test.ts +125 -124
  456. package/test/collection-facets/facet-row.test.ts +31 -28
  457. package/test/collection-facets/facets-template.test.ts +9 -9
  458. package/test/collection-facets/more-facets-content.test.ts +14 -15
  459. package/test/collection-facets/more-facets-pagination.test.ts +18 -19
  460. package/test/collection-facets/toggle-switch.test.ts +28 -18
  461. package/test/collection-facets.test.ts +46 -39
  462. package/test/data-source/collection-browser-data-source.test.ts +2 -2
  463. package/test/empty-placeholder.test.ts +6 -7
  464. package/test/expanded-date-picker.test.ts +25 -20
  465. package/test/icon-overlay.test.ts +0 -1
  466. package/test/image-block.test.ts +6 -7
  467. package/test/item-image.test.ts +0 -1
  468. package/test/manage/manage-bar.test.ts +19 -16
  469. package/test/manage/remove-items-modal-content.test.ts +4 -5
  470. package/test/mocks/mock-search-responses.ts +2 -1
  471. package/test/mocks/mock-search-service.ts +1 -1
  472. package/test/restoration-state-handler.test.ts +12 -12
  473. package/test/review-block.test.ts +1 -2
  474. package/test/sort-filter-bar/alpha-bar-tooltip.test.ts +1 -1
  475. package/test/sort-filter-bar/alpha-bar.test.ts +5 -5
  476. package/test/sort-filter-bar/sort-filter-bar.test.ts +38 -39
  477. package/test/text-overlay.test.ts +0 -1
  478. package/test/text-snippet-block.test.ts +5 -6
  479. package/test/tile-stats.test.ts +26 -35
  480. package/test/tiles/grid/account-tile.test.ts +2 -3
  481. package/test/tiles/grid/collection-tile.test.ts +3 -4
  482. package/test/tiles/grid/item-tile.test.ts +13 -14
  483. package/test/tiles/grid/search-tile.test.ts +1 -2
  484. package/test/tiles/hover/hover-pane-controller.test.ts +15 -15
  485. package/test/tiles/hover/tile-hover-pane.test.ts +5 -5
  486. package/test/tiles/list/tile-list-compact.test.ts +1 -2
  487. package/test/tiles/list/tile-list.test.ts +10 -11
  488. package/test/tiles/tile-dispatcher.test.ts +5 -5
  489. package/test/utils/format-count.test.ts +1 -1
  490. package/test/utils/format-date.test.ts +1 -1
  491. package/test/utils/local-date-from-utc.test.ts +1 -1
  492. package/tsconfig.json +0 -1
  493. package/dist/src/collection-facets/smart-facets/heuristics/browser-language/browser-language-heuristic.js.map +0 -1
  494. package/dist/src/collection-facets/smart-facets/heuristics/index.d.ts +0 -3
  495. package/dist/src/collection-facets/smart-facets/heuristics/index.js +0 -4
  496. package/dist/src/collection-facets/smart-facets/heuristics/index.js.map +0 -1
  497. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-heuristic.js +0 -14
  498. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-heuristic.js.map +0 -1
  499. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-map.d.ts +0 -6
  500. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-map.js.map +0 -1
  501. package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-entity-map.d.ts +0 -9
  502. package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-entity-map.js.map +0 -1
  503. package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-heuristic.js +0 -49
  504. package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-heuristic.js.map +0 -1
  505. package/src/collection-facets/smart-facets/heuristics/index.ts +0 -3
  506. package/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-heuristic.ts +0 -17
  507. package/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-map.ts +0 -36
  508. package/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-entity-map.ts +0 -134
  509. package/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-heuristic.ts +0 -60
@@ -1,77 +1,76 @@
1
- /*
2
- * Replaces Petabox www/common/Util::number_format()
3
- * For positive numbers only.
4
- */
5
- import { msg, str } from '@lit/localize';
6
- /**
7
- * Return the magnitude of a number.
8
- */
9
- function magnitude(number, numberFormat) {
10
- let divisor = 1;
11
- if (number >= 1000000000) {
12
- divisor = 1000000000;
13
- }
14
- else if (number >= 1000000) {
15
- divisor = 1000000;
16
- }
17
- else if (number >= 1000 && numberFormat === 'short') {
18
- divisor = 1000;
19
- }
20
- return divisor;
21
- }
22
- /**
23
- * Round a number given passed magnitude.
24
- * Significant digits of value less than 10 get a decimal.
25
- */
26
- // eslint-disable-next-line default-param-last
27
- function round(number = 0, divisor) {
28
- const result = number / divisor;
29
- const roundToOne = result < 10;
30
- let rounded = 0;
31
- if (roundToOne) {
32
- rounded = Math.round((result + Number.EPSILON) * 10) / 10;
33
- }
34
- else {
35
- rounded = Math.round(result);
36
- }
37
- return rounded;
38
- }
39
- /**
40
- * Return a label for a number and format.
41
- */
42
- function labelize(rounded, divisor, format, locale) {
43
- switch (divisor) {
44
- case 1000000000:
45
- if (format === 'short') {
46
- return msg(str `${rounded}B`);
47
- }
48
- return msg(str `${rounded} billion`);
49
- case 1000000:
50
- if (format === 'short') {
51
- return msg(str `${rounded}M`);
52
- }
53
- return msg(str `${rounded} million`);
54
- case 1000:
55
- if (format === 'short') {
56
- return msg(str `${rounded}K`);
57
- }
58
- return msg(str `${rounded} thousand`);
59
- default:
60
- return new Intl.NumberFormat(locale).format(rounded);
61
- }
62
- }
63
- /**
64
- * Format a "count" number into short "icon" or longer text string.
65
- * For positive numbers only.
66
- */
67
- export function formatCount(count, numberFormat = 'long', labelFormat = 'short', locale = 'en-US') {
68
- // Return blank if undefined
69
- const number = count !== null && count !== void 0 ? count : -1;
70
- if (number < 0) {
71
- return '';
72
- }
73
- const divisor = magnitude(number, numberFormat);
74
- const rounded = round(number, divisor);
75
- return labelize(rounded, divisor, labelFormat, locale);
76
- }
1
+ /*
2
+ * Replaces Petabox www/common/Util::number_format()
3
+ * For positive numbers only.
4
+ */
5
+ import { msg, str } from '@lit/localize';
6
+ /**
7
+ * Return the magnitude of a number.
8
+ */
9
+ function magnitude(number, numberFormat) {
10
+ let divisor = 1;
11
+ if (number >= 1000000000) {
12
+ divisor = 1000000000;
13
+ }
14
+ else if (number >= 1000000) {
15
+ divisor = 1000000;
16
+ }
17
+ else if (number >= 1000 && numberFormat === 'short') {
18
+ divisor = 1000;
19
+ }
20
+ return divisor;
21
+ }
22
+ /**
23
+ * Round a number given passed magnitude.
24
+ * Significant digits of value less than 10 get a decimal.
25
+ */
26
+ function round(number = 0, divisor) {
27
+ const result = number / divisor;
28
+ const roundToOne = result < 10;
29
+ let rounded = 0;
30
+ if (roundToOne) {
31
+ rounded = Math.round((result + Number.EPSILON) * 10) / 10;
32
+ }
33
+ else {
34
+ rounded = Math.round(result);
35
+ }
36
+ return rounded;
37
+ }
38
+ /**
39
+ * Return a label for a number and format.
40
+ */
41
+ function labelize(rounded, divisor, format, locale) {
42
+ switch (divisor) {
43
+ case 1000000000:
44
+ if (format === 'short') {
45
+ return msg(str `${rounded}B`);
46
+ }
47
+ return msg(str `${rounded} billion`);
48
+ case 1000000:
49
+ if (format === 'short') {
50
+ return msg(str `${rounded}M`);
51
+ }
52
+ return msg(str `${rounded} million`);
53
+ case 1000:
54
+ if (format === 'short') {
55
+ return msg(str `${rounded}K`);
56
+ }
57
+ return msg(str `${rounded} thousand`);
58
+ default:
59
+ return new Intl.NumberFormat(locale).format(rounded);
60
+ }
61
+ }
62
+ /**
63
+ * Format a "count" number into short "icon" or longer text string.
64
+ * For positive numbers only.
65
+ */
66
+ export function formatCount(count, numberFormat = 'long', labelFormat = 'short', locale = 'en-US') {
67
+ // Return blank if undefined
68
+ const number = count !== null && count !== void 0 ? count : -1;
69
+ if (number < 0) {
70
+ return '';
71
+ }
72
+ const divisor = magnitude(number, numberFormat);
73
+ const rounded = round(number, divisor);
74
+ return labelize(rounded, divisor, labelFormat, locale);
75
+ }
77
76
  //# sourceMappingURL=format-count.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"format-count.js","sourceRoot":"","sources":["../../../src/utils/format-count.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAUzC;;GAEG;AACH,SAAS,SAAS,CAAC,MAAc,EAAE,YAA0B;IAC3D,IAAI,OAAO,GAAY,CAAC,CAAC;IACzB,IAAI,MAAM,IAAI,UAAa,EAAE;QAC3B,OAAO,GAAG,UAAa,CAAC;KACzB;SAAM,IAAI,MAAM,IAAI,OAAS,EAAE;QAC9B,OAAO,GAAG,OAAS,CAAC;KACrB;SAAM,IAAI,MAAM,IAAI,IAAK,IAAI,YAAY,KAAK,OAAO,EAAE;QACtD,OAAO,GAAG,IAAK,CAAC;KACjB;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,8CAA8C;AAC9C,SAAS,KAAK,CAAC,SAAiB,CAAC,EAAE,OAAgB;IACjD,MAAM,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAChC,MAAM,UAAU,GAAG,MAAM,GAAG,EAAE,CAAC;IAC/B,IAAI,OAAO,GAAW,CAAC,CAAC;IACxB,IAAI,UAAU,EAAE;QACd,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;KAC3D;SAAM;QACL,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KAC9B;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ,CACf,OAAe,EACf,OAAgB,EAChB,MAAmB,EACnB,MAAc;IAEd,QAAQ,OAAO,EAAE;QACf,KAAK,UAAa;YAChB,IAAI,MAAM,KAAK,OAAO,EAAE;gBACtB,OAAO,GAAG,CAAC,GAAG,CAAA,GAAG,OAAO,GAAG,CAAC,CAAC;aAC9B;YACD,OAAO,GAAG,CAAC,GAAG,CAAA,GAAG,OAAO,UAAU,CAAC,CAAC;QACtC,KAAK,OAAS;YACZ,IAAI,MAAM,KAAK,OAAO,EAAE;gBACtB,OAAO,GAAG,CAAC,GAAG,CAAA,GAAG,OAAO,GAAG,CAAC,CAAC;aAC9B;YACD,OAAO,GAAG,CAAC,GAAG,CAAA,GAAG,OAAO,UAAU,CAAC,CAAC;QACtC,KAAK,IAAK;YACR,IAAI,MAAM,KAAK,OAAO,EAAE;gBACtB,OAAO,GAAG,CAAC,GAAG,CAAA,GAAG,OAAO,GAAG,CAAC,CAAC;aAC9B;YACD,OAAO,GAAG,CAAC,GAAG,CAAA,GAAG,OAAO,WAAW,CAAC,CAAC;QAEvC;YACE,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;KACxD;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CACzB,KAAyB,EACzB,eAA6B,MAAM,EACnC,cAA2B,OAAO,EAClC,SAAiB,OAAO;IAExB,4BAA4B;IAC5B,MAAM,MAAM,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,CAAC,CAAC,CAAC;IAC3B,IAAI,MAAM,GAAG,CAAC,EAAE;QACd,OAAO,EAAE,CAAC;KACX;IACD,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,OAAO,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;AACzD,CAAC","sourcesContent":["/*\n * Replaces Petabox www/common/Util::number_format()\n * For positive numbers only.\n */\nimport { msg, str } from '@lit/localize';\n\nexport type NumberFormat =\n | 'short' // 1.2 [K | thousand]\n | 'long'; // 1,200 [No label for numbers < 1,000,000]\nexport type LabelFormat =\n | 'short' // [1.2]K\n | 'long'; // [1.2] thousand\ntype Divisor = 1_000_000_000 | 1_000_000 | 1_000 | 1;\n\n/**\n * Return the magnitude of a number.\n */\nfunction magnitude(number: number, numberFormat: NumberFormat): Divisor {\n let divisor: Divisor = 1;\n if (number >= 1_000_000_000) {\n divisor = 1_000_000_000;\n } else if (number >= 1_000_000) {\n divisor = 1_000_000;\n } else if (number >= 1_000 && numberFormat === 'short') {\n divisor = 1_000;\n }\n return divisor;\n}\n\n/**\n * Round a number given passed magnitude.\n * Significant digits of value less than 10 get a decimal.\n */\n// eslint-disable-next-line default-param-last\nfunction round(number: number = 0, divisor: Divisor): number {\n const result = number / divisor;\n const roundToOne = result < 10;\n let rounded: number = 0;\n if (roundToOne) {\n rounded = Math.round((result + Number.EPSILON) * 10) / 10;\n } else {\n rounded = Math.round(result);\n }\n return rounded;\n}\n\n/**\n * Return a label for a number and format.\n */\nfunction labelize(\n rounded: number,\n divisor: Divisor,\n format: LabelFormat,\n locale: string\n): string {\n switch (divisor) {\n case 1_000_000_000:\n if (format === 'short') {\n return msg(str`${rounded}B`);\n }\n return msg(str`${rounded} billion`);\n case 1_000_000:\n if (format === 'short') {\n return msg(str`${rounded}M`);\n }\n return msg(str`${rounded} million`);\n case 1_000:\n if (format === 'short') {\n return msg(str`${rounded}K`);\n }\n return msg(str`${rounded} thousand`);\n\n default:\n return new Intl.NumberFormat(locale).format(rounded);\n }\n}\n\n/**\n * Format a \"count\" number into short \"icon\" or longer text string.\n * For positive numbers only.\n */\nexport function formatCount(\n count: number | undefined,\n numberFormat: NumberFormat = 'long',\n labelFormat: LabelFormat = 'short',\n locale: string = 'en-US'\n): string {\n // Return blank if undefined\n const number = count ?? -1;\n if (number < 0) {\n return '';\n }\n const divisor = magnitude(number, numberFormat);\n const rounded = round(number, divisor);\n return labelize(rounded, divisor, labelFormat, locale);\n}\n"]}
1
+ {"version":3,"file":"format-count.js","sourceRoot":"","sources":["../../../src/utils/format-count.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAUzC;;GAEG;AACH,SAAS,SAAS,CAAC,MAAc,EAAE,YAA0B;IAC3D,IAAI,OAAO,GAAY,CAAC,CAAC;IACzB,IAAI,MAAM,IAAI,UAAa,EAAE,CAAC;QAC5B,OAAO,GAAG,UAAa,CAAC;IAC1B,CAAC;SAAM,IAAI,MAAM,IAAI,OAAS,EAAE,CAAC;QAC/B,OAAO,GAAG,OAAS,CAAC;IACtB,CAAC;SAAM,IAAI,MAAM,IAAI,IAAK,IAAI,YAAY,KAAK,OAAO,EAAE,CAAC;QACvD,OAAO,GAAG,IAAK,CAAC;IAClB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,SAAS,KAAK,CAAC,SAAiB,CAAC,EAAE,OAAgB;IACjD,MAAM,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAChC,MAAM,UAAU,GAAG,MAAM,GAAG,EAAE,CAAC;IAC/B,IAAI,OAAO,GAAW,CAAC,CAAC;IACxB,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;IAC5D,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ,CACf,OAAe,EACf,OAAgB,EAChB,MAAmB,EACnB,MAAc;IAEd,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,UAAa;YAChB,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;gBACvB,OAAO,GAAG,CAAC,GAAG,CAAA,GAAG,OAAO,GAAG,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO,GAAG,CAAC,GAAG,CAAA,GAAG,OAAO,UAAU,CAAC,CAAC;QACtC,KAAK,OAAS;YACZ,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;gBACvB,OAAO,GAAG,CAAC,GAAG,CAAA,GAAG,OAAO,GAAG,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO,GAAG,CAAC,GAAG,CAAA,GAAG,OAAO,UAAU,CAAC,CAAC;QACtC,KAAK,IAAK;YACR,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;gBACvB,OAAO,GAAG,CAAC,GAAG,CAAA,GAAG,OAAO,GAAG,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO,GAAG,CAAC,GAAG,CAAA,GAAG,OAAO,WAAW,CAAC,CAAC;QAEvC;YACE,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CACzB,KAAyB,EACzB,eAA6B,MAAM,EACnC,cAA2B,OAAO,EAClC,SAAiB,OAAO;IAExB,4BAA4B;IAC5B,MAAM,MAAM,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,CAAC,CAAC,CAAC;IAC3B,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACf,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,OAAO,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;AACzD,CAAC","sourcesContent":["/*\n * Replaces Petabox www/common/Util::number_format()\n * For positive numbers only.\n */\nimport { msg, str } from '@lit/localize';\n\nexport type NumberFormat =\n | 'short' // 1.2 [K | thousand]\n | 'long'; // 1,200 [No label for numbers < 1,000,000]\nexport type LabelFormat =\n | 'short' // [1.2]K\n | 'long'; // [1.2] thousand\ntype Divisor = 1_000_000_000 | 1_000_000 | 1_000 | 1;\n\n/**\n * Return the magnitude of a number.\n */\nfunction magnitude(number: number, numberFormat: NumberFormat): Divisor {\n let divisor: Divisor = 1;\n if (number >= 1_000_000_000) {\n divisor = 1_000_000_000;\n } else if (number >= 1_000_000) {\n divisor = 1_000_000;\n } else if (number >= 1_000 && numberFormat === 'short') {\n divisor = 1_000;\n }\n return divisor;\n}\n\n/**\n * Round a number given passed magnitude.\n * Significant digits of value less than 10 get a decimal.\n */\nfunction round(number: number = 0, divisor: Divisor): number {\n const result = number / divisor;\n const roundToOne = result < 10;\n let rounded: number = 0;\n if (roundToOne) {\n rounded = Math.round((result + Number.EPSILON) * 10) / 10;\n } else {\n rounded = Math.round(result);\n }\n return rounded;\n}\n\n/**\n * Return a label for a number and format.\n */\nfunction labelize(\n rounded: number,\n divisor: Divisor,\n format: LabelFormat,\n locale: string,\n): string {\n switch (divisor) {\n case 1_000_000_000:\n if (format === 'short') {\n return msg(str`${rounded}B`);\n }\n return msg(str`${rounded} billion`);\n case 1_000_000:\n if (format === 'short') {\n return msg(str`${rounded}M`);\n }\n return msg(str`${rounded} million`);\n case 1_000:\n if (format === 'short') {\n return msg(str`${rounded}K`);\n }\n return msg(str`${rounded} thousand`);\n\n default:\n return new Intl.NumberFormat(locale).format(rounded);\n }\n}\n\n/**\n * Format a \"count\" number into short \"icon\" or longer text string.\n * For positive numbers only.\n */\nexport function formatCount(\n count: number | undefined,\n numberFormat: NumberFormat = 'long',\n labelFormat: LabelFormat = 'short',\n locale: string = 'en-US',\n): string {\n // Return blank if undefined\n const number = count ?? -1;\n if (number < 0) {\n return '';\n }\n const divisor = magnitude(number, numberFormat);\n const rounded = round(number, divisor);\n return labelize(rounded, divisor, labelFormat, locale);\n}\n"]}
@@ -1,2 +1,2 @@
1
- export declare type DateFormat = 'year-only' | 'short' | 'long';
2
- export declare function formatDate(date: Date | undefined, format?: DateFormat, locale?: string): string;
1
+ export type DateFormat = 'year-only' | 'short' | 'long';
2
+ export declare function formatDate(date: Date | undefined, format?: DateFormat, locale?: string): string;
@@ -1,28 +1,28 @@
1
- export function formatDate(date, format = 'short', locale = 'en-US') {
2
- // Return blank if undefined
3
- if (!date)
4
- return '';
5
- // the date is already in UTC timezone so we should not add timeZone here again.
6
- const options = {};
7
- switch (format) {
8
- case 'year-only':
9
- // If we're only using the year, ensure we output the correct UTC year and not
10
- // the local year. If the local timezone is used, we can get strange off-by-one
11
- // errors due to quirks of timezone handling for older years.
12
- return `${date.getUTCFullYear()}`;
13
- case 'short':
14
- options.month = 'short';
15
- options.year = 'numeric';
16
- break;
17
- case 'long':
18
- options.year = 'numeric';
19
- options.month = 'short';
20
- options.day = '2-digit';
21
- break;
22
- default:
23
- break;
24
- }
25
- const dateFormatter = new Intl.DateTimeFormat(locale, options);
26
- return dateFormatter.format(date);
27
- }
1
+ export function formatDate(date, format = 'short', locale = 'en-US') {
2
+ // Return blank if undefined
3
+ if (!date)
4
+ return '';
5
+ // the date is already in UTC timezone so we should not add timeZone here again.
6
+ const options = {};
7
+ switch (format) {
8
+ case 'year-only':
9
+ // If we're only using the year, ensure we output the correct UTC year and not
10
+ // the local year. If the local timezone is used, we can get strange off-by-one
11
+ // errors due to quirks of timezone handling for older years.
12
+ return `${date.getUTCFullYear()}`;
13
+ case 'short':
14
+ options.month = 'short';
15
+ options.year = 'numeric';
16
+ break;
17
+ case 'long':
18
+ options.year = 'numeric';
19
+ options.month = 'short';
20
+ options.day = '2-digit';
21
+ break;
22
+ default:
23
+ break;
24
+ }
25
+ const dateFormatter = new Intl.DateTimeFormat(locale, options);
26
+ return dateFormatter.format(date);
27
+ }
28
28
  //# sourceMappingURL=format-date.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"format-date.js","sourceRoot":"","sources":["../../../src/utils/format-date.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,UAAU,CACxB,IAAsB,EACtB,SAAqB,OAAO,EAC5B,SAAiB,OAAO;IAExB,4BAA4B;IAC5B,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAErB,gFAAgF;IAChF,MAAM,OAAO,GAA+B,EAAE,CAAC;IAE/C,QAAQ,MAAM,EAAE;QACd,KAAK,WAAW;YACd,8EAA8E;YAC9E,+EAA+E;YAC/E,6DAA6D;YAC7D,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;QACpC,KAAK,OAAO;YACV,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC;YACxB,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;YACzB,MAAM;QACR,KAAK,MAAM;YACT,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;YACzB,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC;YACxB,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC;YACxB,MAAM;QACR;YACE,MAAM;KACT;IAED,MAAM,aAAa,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/D,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC","sourcesContent":["/*\n * Display date\n * Override browser timezone to always display same date as in data\n */\nexport type DateFormat =\n | 'year-only' // 2020\n | 'short' // Dec 2020\n | 'long'; // Dec 20, 2020\n\nexport function formatDate(\n date: Date | undefined,\n format: DateFormat = 'short',\n locale: string = 'en-US'\n): string {\n // Return blank if undefined\n if (!date) return '';\n\n // the date is already in UTC timezone so we should not add timeZone here again.\n const options: Intl.DateTimeFormatOptions = {};\n\n switch (format) {\n case 'year-only':\n // If we're only using the year, ensure we output the correct UTC year and not\n // the local year. If the local timezone is used, we can get strange off-by-one\n // errors due to quirks of timezone handling for older years.\n return `${date.getUTCFullYear()}`;\n case 'short':\n options.month = 'short';\n options.year = 'numeric';\n break;\n case 'long':\n options.year = 'numeric';\n options.month = 'short';\n options.day = '2-digit';\n break;\n default:\n break;\n }\n\n const dateFormatter = new Intl.DateTimeFormat(locale, options);\n return dateFormatter.format(date);\n}\n"]}
1
+ {"version":3,"file":"format-date.js","sourceRoot":"","sources":["../../../src/utils/format-date.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,UAAU,CACxB,IAAsB,EACtB,SAAqB,OAAO,EAC5B,SAAiB,OAAO;IAExB,4BAA4B;IAC5B,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAErB,gFAAgF;IAChF,MAAM,OAAO,GAA+B,EAAE,CAAC;IAE/C,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,WAAW;YACd,8EAA8E;YAC9E,+EAA+E;YAC/E,6DAA6D;YAC7D,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;QACpC,KAAK,OAAO;YACV,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC;YACxB,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;YACzB,MAAM;QACR,KAAK,MAAM;YACT,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;YACzB,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC;YACxB,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC;YACxB,MAAM;QACR;YACE,MAAM;IACV,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/D,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC","sourcesContent":["/*\n * Display date\n * Override browser timezone to always display same date as in data\n */\nexport type DateFormat =\n | 'year-only' // 2020\n | 'short' // Dec 2020\n | 'long'; // Dec 20, 2020\n\nexport function formatDate(\n date: Date | undefined,\n format: DateFormat = 'short',\n locale: string = 'en-US',\n): string {\n // Return blank if undefined\n if (!date) return '';\n\n // the date is already in UTC timezone so we should not add timeZone here again.\n const options: Intl.DateTimeFormatOptions = {};\n\n switch (format) {\n case 'year-only':\n // If we're only using the year, ensure we output the correct UTC year and not\n // the local year. If the local timezone is used, we can get strange off-by-one\n // errors due to quirks of timezone handling for older years.\n return `${date.getUTCFullYear()}`;\n case 'short':\n options.month = 'short';\n options.year = 'numeric';\n break;\n case 'long':\n options.year = 'numeric';\n options.month = 'short';\n options.day = '2-digit';\n break;\n default:\n break;\n }\n\n const dateFormatter = new Intl.DateTimeFormat(locale, options);\n return dateFormatter.format(date);\n}\n"]}
@@ -1,2 +1,2 @@
1
- import { nothing } from 'lit';
2
- export declare function formatUnitSize(size: number | undefined, nDecimals: number, separator?: string): string | typeof nothing;
1
+ import { nothing } from 'lit';
2
+ export declare function formatUnitSize(size: number | undefined, nDecimals: number, separator?: string): string | typeof nothing;
@@ -1,34 +1,34 @@
1
- /*
2
- * Replaces Petabox www/common/Util::humanSize()
3
- */
4
- import { nothing } from 'lit';
5
- var unitSizes;
6
- (function (unitSizes) {
7
- unitSizes[unitSizes["bytes"] = 0] = "bytes";
8
- unitSizes[unitSizes["kilobytes"] = 1] = "kilobytes";
9
- unitSizes[unitSizes["megabytes"] = 2] = "megabytes";
10
- unitSizes[unitSizes["gigabytes"] = 3] = "gigabytes";
11
- unitSizes[unitSizes["terabytes"] = 4] = "terabytes";
12
- unitSizes[unitSizes["petabytes"] = 5] = "petabytes";
13
- unitSizes[unitSizes["exabytes"] = 6] = "exabytes";
14
- unitSizes[unitSizes["zettabytes"] = 7] = "zettabytes";
15
- unitSizes[unitSizes["yottabytes"] = 8] = "yottabytes";
16
- })(unitSizes || (unitSizes = {}));
17
- export function formatUnitSize(size, nDecimals, separator = ' ') {
18
- let itemSize = size;
19
- if (itemSize === undefined)
20
- return nothing; // early return.
21
- let unitIndex = 0;
22
- // convert byte to highest possible unit
23
- while (itemSize > 1024) {
24
- itemSize /= 1024;
25
- unitIndex += 1;
26
- }
27
- const magnitude = 10 ** nDecimals;
28
- itemSize = Math.round(itemSize * magnitude) / magnitude;
29
- let unitText = unitSizes[unitIndex];
30
- // convert plural to singular.
31
- unitText = itemSize === 1 ? unitText.slice(0, -1) : unitText;
32
- return `${itemSize.toLocaleString() + separator + unitText}`;
33
- }
1
+ /*
2
+ * Replaces Petabox www/common/Util::humanSize()
3
+ */
4
+ import { nothing } from 'lit';
5
+ var unitSizes;
6
+ (function (unitSizes) {
7
+ unitSizes[unitSizes["bytes"] = 0] = "bytes";
8
+ unitSizes[unitSizes["kilobytes"] = 1] = "kilobytes";
9
+ unitSizes[unitSizes["megabytes"] = 2] = "megabytes";
10
+ unitSizes[unitSizes["gigabytes"] = 3] = "gigabytes";
11
+ unitSizes[unitSizes["terabytes"] = 4] = "terabytes";
12
+ unitSizes[unitSizes["petabytes"] = 5] = "petabytes";
13
+ unitSizes[unitSizes["exabytes"] = 6] = "exabytes";
14
+ unitSizes[unitSizes["zettabytes"] = 7] = "zettabytes";
15
+ unitSizes[unitSizes["yottabytes"] = 8] = "yottabytes";
16
+ })(unitSizes || (unitSizes = {}));
17
+ export function formatUnitSize(size, nDecimals, separator = ' ') {
18
+ let itemSize = size;
19
+ if (itemSize === undefined)
20
+ return nothing; // early return.
21
+ let unitIndex = 0;
22
+ // convert byte to highest possible unit
23
+ while (itemSize > 1024) {
24
+ itemSize /= 1024;
25
+ unitIndex += 1;
26
+ }
27
+ const magnitude = 10 ** nDecimals;
28
+ itemSize = Math.round(itemSize * magnitude) / magnitude;
29
+ let unitText = unitSizes[unitIndex];
30
+ // convert plural to singular.
31
+ unitText = itemSize === 1 ? unitText.slice(0, -1) : unitText;
32
+ return `${itemSize.toLocaleString() + separator + unitText}`;
33
+ }
34
34
  //# sourceMappingURL=format-unit-size.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"format-unit-size.js","sourceRoot":"","sources":["../../../src/utils/format-unit-size.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAE9B,IAAK,SAUJ;AAVD,WAAK,SAAS;IACZ,2CAAO,CAAA;IACP,mDAAW,CAAA;IACX,mDAAW,CAAA;IACX,mDAAW,CAAA;IACX,mDAAW,CAAA;IACX,mDAAW,CAAA;IACX,iDAAU,CAAA;IACV,qDAAY,CAAA;IACZ,qDAAY,CAAA;AACd,CAAC,EAVI,SAAS,KAAT,SAAS,QAUb;AAED,MAAM,UAAU,cAAc,CAC5B,IAAwB,EACxB,SAAiB,EACjB,YAAoB,GAAG;IAEvB,IAAI,QAAQ,GAAG,IAAI,CAAC;IACpB,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,CAAC,gBAAgB;IAE5D,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,wCAAwC;IACxC,OAAO,QAAQ,GAAG,IAAI,EAAE;QACtB,QAAQ,IAAI,IAAI,CAAC;QACjB,SAAS,IAAI,CAAC,CAAC;KAChB;IAED,MAAM,SAAS,GAAG,EAAE,IAAI,SAAS,CAAC;IAClC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;IAExD,IAAI,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IAEpC,8BAA8B;IAC9B,QAAQ,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAE7D,OAAO,GAAG,QAAQ,CAAC,cAAc,EAAE,GAAG,SAAS,GAAG,QAAQ,EAAE,CAAC;AAC/D,CAAC","sourcesContent":["/*\n * Replaces Petabox www/common/Util::humanSize()\n */\nimport { nothing } from 'lit';\n\nenum unitSizes {\n 'bytes',\n 'kilobytes',\n 'megabytes',\n 'gigabytes',\n 'terabytes',\n 'petabytes',\n 'exabytes',\n 'zettabytes',\n 'yottabytes',\n}\n\nexport function formatUnitSize(\n size: number | undefined,\n nDecimals: number,\n separator: string = ' '\n) {\n let itemSize = size;\n if (itemSize === undefined) return nothing; // early return.\n\n let unitIndex = 0;\n\n // convert byte to highest possible unit\n while (itemSize > 1024) {\n itemSize /= 1024;\n unitIndex += 1;\n }\n\n const magnitude = 10 ** nDecimals;\n itemSize = Math.round(itemSize * magnitude) / magnitude;\n\n let unitText = unitSizes[unitIndex];\n\n // convert plural to singular.\n unitText = itemSize === 1 ? unitText.slice(0, -1) : unitText;\n\n return `${itemSize.toLocaleString() + separator + unitText}`;\n}\n"]}
1
+ {"version":3,"file":"format-unit-size.js","sourceRoot":"","sources":["../../../src/utils/format-unit-size.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAE9B,IAAK,SAUJ;AAVD,WAAK,SAAS;IACZ,2CAAO,CAAA;IACP,mDAAW,CAAA;IACX,mDAAW,CAAA;IACX,mDAAW,CAAA;IACX,mDAAW,CAAA;IACX,mDAAW,CAAA;IACX,iDAAU,CAAA;IACV,qDAAY,CAAA;IACZ,qDAAY,CAAA;AACd,CAAC,EAVI,SAAS,KAAT,SAAS,QAUb;AAED,MAAM,UAAU,cAAc,CAC5B,IAAwB,EACxB,SAAiB,EACjB,YAAoB,GAAG;IAEvB,IAAI,QAAQ,GAAG,IAAI,CAAC;IACpB,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,CAAC,gBAAgB;IAE5D,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,wCAAwC;IACxC,OAAO,QAAQ,GAAG,IAAI,EAAE,CAAC;QACvB,QAAQ,IAAI,IAAI,CAAC;QACjB,SAAS,IAAI,CAAC,CAAC;IACjB,CAAC;IAED,MAAM,SAAS,GAAG,EAAE,IAAI,SAAS,CAAC;IAClC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;IAExD,IAAI,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IAEpC,8BAA8B;IAC9B,QAAQ,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAE7D,OAAO,GAAG,QAAQ,CAAC,cAAc,EAAE,GAAG,SAAS,GAAG,QAAQ,EAAE,CAAC;AAC/D,CAAC","sourcesContent":["/*\n * Replaces Petabox www/common/Util::humanSize()\n */\nimport { nothing } from 'lit';\n\nenum unitSizes {\n 'bytes',\n 'kilobytes',\n 'megabytes',\n 'gigabytes',\n 'terabytes',\n 'petabytes',\n 'exabytes',\n 'zettabytes',\n 'yottabytes',\n}\n\nexport function formatUnitSize(\n size: number | undefined,\n nDecimals: number,\n separator: string = ' ',\n) {\n let itemSize = size;\n if (itemSize === undefined) return nothing; // early return.\n\n let unitIndex = 0;\n\n // convert byte to highest possible unit\n while (itemSize > 1024) {\n itemSize /= 1024;\n unitIndex += 1;\n }\n\n const magnitude = 10 ** nDecimals;\n itemSize = Math.round(itemSize * magnitude) / magnitude;\n\n let unitText = unitSizes[unitIndex];\n\n // convert plural to singular.\n unitText = itemSize === 1 ? unitText.slice(0, -1) : unitText;\n\n return `${itemSize.toLocaleString() + separator + unitText}`;\n}\n"]}
@@ -1,9 +1,9 @@
1
- /**
2
- * Converts a given UTC date into the equivalent local-timestamp one.
3
- */
4
- export declare function localDateFromUTC(date: Date): Date;
5
- /**
6
- * Returns whether a given UTC date corresponds to the first
7
- * millisecond of the year (e.g., Jan 1 at exactly midnight).
8
- */
9
- export declare function isFirstMillisecondOfUTCYear(date?: Date): boolean;
1
+ /**
2
+ * Converts a given UTC date into the equivalent local-timestamp one.
3
+ */
4
+ export declare function localDateFromUTC(date: Date): Date;
5
+ /**
6
+ * Returns whether a given UTC date corresponds to the first
7
+ * millisecond of the year (e.g., Jan 1 at exactly midnight).
8
+ */
9
+ export declare function isFirstMillisecondOfUTCYear(date?: Date): boolean;
@@ -1,16 +1,16 @@
1
- /**
2
- * Converts a given UTC date into the equivalent local-timestamp one.
3
- */
4
- export function localDateFromUTC(date) {
5
- return new Date(date.getTime() - date.getTimezoneOffset() * 1000 * 60);
6
- }
7
- /**
8
- * Returns whether a given UTC date corresponds to the first
9
- * millisecond of the year (e.g., Jan 1 at exactly midnight).
10
- */
11
- export function isFirstMillisecondOfUTCYear(date) {
12
- if (!date)
13
- return false;
14
- return localDateFromUTC(date).toISOString().endsWith('-01-01T00:00:00.000Z');
15
- }
1
+ /**
2
+ * Converts a given UTC date into the equivalent local-timestamp one.
3
+ */
4
+ export function localDateFromUTC(date) {
5
+ return new Date(date.getTime() - date.getTimezoneOffset() * 1000 * 60);
6
+ }
7
+ /**
8
+ * Returns whether a given UTC date corresponds to the first
9
+ * millisecond of the year (e.g., Jan 1 at exactly midnight).
10
+ */
11
+ export function isFirstMillisecondOfUTCYear(date) {
12
+ if (!date)
13
+ return false;
14
+ return localDateFromUTC(date).toISOString().endsWith('-01-01T00:00:00.000Z');
15
+ }
16
16
  //# sourceMappingURL=local-date-from-utc.js.map
@@ -1,7 +1,7 @@
1
- /**
2
- * console.log() utility -- production ignores 'log()' JS calls; dev invokes 'console.log()'
3
- */
4
- export declare const log: {
5
- (...data: any[]): void;
6
- (message?: any, ...optionalParams: any[]): void;
7
- };
1
+ /**
2
+ * console.log() utility -- production ignores 'log()' JS calls; dev invokes 'console.log()'
3
+ */
4
+ export declare const log: {
5
+ (...data: any[]): void;
6
+ (message?: any, ...optionalParams: any[]): void;
7
+ };
@@ -1,16 +1,14 @@
1
- /* eslint-disable semi */
2
- /**
3
- * console.log() utility -- production ignores 'log()' JS calls; dev invokes 'console.log()'
4
- */
5
- export const log = window.location &&
6
- (window.location.hostname === 'localhost' ||
7
- window.location.host.match(/^(www|cat)-[a-z0-9]+\.archive\.org$/) ||
8
- window.location.host.match(/\.code\.archive\.org$/) ||
9
- window.location.host.match(/\.dev\.archive\.org$/) ||
10
- window.location.host.match(/^ia-petabox-/) ||
11
- window.location.host.match(/^local\.archive\.org/) ||
12
- window.location.host.match(/^internetarchive\.github\.io$/))
13
- ? // eslint-disable-next-line no-console
14
- console.log.bind(console) // convenient, no? Stateless function
15
- : () => { };
1
+ /**
2
+ * console.log() utility -- production ignores 'log()' JS calls; dev invokes 'console.log()'
3
+ */
4
+ export const log = window.location &&
5
+ (window.location.hostname === 'localhost' ||
6
+ window.location.host.match(/^(www|cat)-[a-z0-9]+\.archive\.org$/) ||
7
+ window.location.host.match(/\.code\.archive\.org$/) ||
8
+ window.location.host.match(/\.dev\.archive\.org$/) ||
9
+ window.location.host.match(/^ia-petabox-/) ||
10
+ window.location.host.match(/^local\.archive\.org/) ||
11
+ window.location.host.match(/^internetarchive\.github\.io$/))
12
+ ? console.log.bind(console) // convenient, no? Stateless function
13
+ : () => { };
16
14
  //# sourceMappingURL=log.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"log.js","sourceRoot":"","sources":["../../../src/utils/log.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GACd,MAAM,CAAC,QAAQ;IACf,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,KAAK,WAAW;QACvC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,qCAAqC,CAAC;QACjE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC;QACnD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC;QAClD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;QAC1C,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC;QAClD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC5D,CAAC,CAAC,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,sCAAsC;IAClE,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC","sourcesContent":["/* eslint-disable semi */\n/**\n * console.log() utility -- production ignores 'log()' JS calls; dev invokes 'console.log()'\n */\nexport const log =\n window.location &&\n (window.location.hostname === 'localhost' ||\n window.location.host.match(/^(www|cat)-[a-z0-9]+\\.archive\\.org$/) ||\n window.location.host.match(/\\.code\\.archive\\.org$/) ||\n window.location.host.match(/\\.dev\\.archive\\.org$/) ||\n window.location.host.match(/^ia-petabox-/) ||\n window.location.host.match(/^local\\.archive\\.org/) ||\n window.location.host.match(/^internetarchive\\.github\\.io$/))\n ? // eslint-disable-next-line no-console\n console.log.bind(console) // convenient, no? Stateless function\n : () => {};\n"]}
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../../../src/utils/log.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GACd,MAAM,CAAC,QAAQ;IACf,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,KAAK,WAAW;QACvC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,qCAAqC,CAAC;QACjE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC;QACnD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC;QAClD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;QAC1C,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC;QAClD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC5D,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,sCAAsC;IAClE,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC","sourcesContent":["/**\n * console.log() utility -- production ignores 'log()' JS calls; dev invokes 'console.log()'\n */\nexport const log =\n window.location &&\n (window.location.hostname === 'localhost' ||\n window.location.host.match(/^(www|cat)-[a-z0-9]+\\.archive\\.org$/) ||\n window.location.host.match(/\\.code\\.archive\\.org$/) ||\n window.location.host.match(/\\.dev\\.archive\\.org$/) ||\n window.location.host.match(/^ia-petabox-/) ||\n window.location.host.match(/^local\\.archive\\.org/) ||\n window.location.host.match(/^internetarchive\\.github\\.io$/))\n ? console.log.bind(console) // convenient, no? Stateless function\n : () => {};\n"]}
@@ -1,8 +1,8 @@
1
- import type { MediaType } from '@internetarchive/field-parsers';
2
- import type { SearchResult } from '@internetarchive/search-service';
3
- /**
4
- * Returns the mediatype string for the given search result, taking into account
5
- * the special `favorited_search` hit type.
6
- * @param result The search result to extract a mediatype from
7
- */
8
- export declare function resolveMediatype(result: SearchResult): MediaType;
1
+ import type { MediaType } from '@internetarchive/field-parsers';
2
+ import type { SearchResult } from '@internetarchive/search-service';
3
+ /**
4
+ * Returns the mediatype string for the given search result, taking into account
5
+ * the special `favorited_search` hit type.
6
+ * @param result The search result to extract a mediatype from
7
+ */
8
+ export declare function resolveMediatype(result: SearchResult): MediaType;
@@ -1,24 +1,24 @@
1
- /**
2
- * Returns the mediatype string for the given search result, taking into account
3
- * the special `favorited_search` hit type.
4
- * @param result The search result to extract a mediatype from
5
- */
6
- export function resolveMediatype(result) {
7
- var _a, _b, _c;
8
- /**
9
- * hit_type == 'favorited_search' is basically a new hit_type
10
- * - we are getting from PPS.
11
- * - which gives response for fav- collection
12
- * - having favorited items like account/collection/item etc..
13
- * - as user can also favorite a search result (a search page)
14
- * - so we need to have response (having fav- items and fav- search results)
15
- *
16
- * if backend hit_type == 'favorited_search'
17
- * - let's assume a "search" as new mediatype
18
- */
19
- if (((_a = result === null || result === void 0 ? void 0 : result.rawMetadata) === null || _a === void 0 ? void 0 : _a.hit_type) === 'favorited_search') {
20
- return 'search';
21
- }
22
- return (_c = (_b = result.mediatype) === null || _b === void 0 ? void 0 : _b.value) !== null && _c !== void 0 ? _c : 'data';
23
- }
1
+ /**
2
+ * Returns the mediatype string for the given search result, taking into account
3
+ * the special `favorited_search` hit type.
4
+ * @param result The search result to extract a mediatype from
5
+ */
6
+ export function resolveMediatype(result) {
7
+ var _a, _b, _c;
8
+ /**
9
+ * hit_type == 'favorited_search' is basically a new hit_type
10
+ * - we are getting from PPS.
11
+ * - which gives response for fav- collection
12
+ * - having favorited items like account/collection/item etc..
13
+ * - as user can also favorite a search result (a search page)
14
+ * - so we need to have response (having fav- items and fav- search results)
15
+ *
16
+ * if backend hit_type == 'favorited_search'
17
+ * - let's assume a "search" as new mediatype
18
+ */
19
+ if (((_a = result === null || result === void 0 ? void 0 : result.rawMetadata) === null || _a === void 0 ? void 0 : _a.hit_type) === 'favorited_search') {
20
+ return 'search';
21
+ }
22
+ return (_c = (_b = result.mediatype) === null || _b === void 0 ? void 0 : _b.value) !== null && _c !== void 0 ? _c : 'data';
23
+ }
24
24
  //# sourceMappingURL=resolve-mediatype.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-mediatype.js","sourceRoot":"","sources":["../../../src/utils/resolve-mediatype.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAoB;;IACnD;;;;;;;;;;OAUG;IACH,IAAI,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,0CAAE,QAAQ,MAAK,kBAAkB,EAAE;QACxD,OAAO,QAAQ,CAAC;KACjB;IAED,OAAO,MAAA,MAAA,MAAM,CAAC,SAAS,0CAAE,KAAK,mCAAI,MAAM,CAAC;AAC3C,CAAC","sourcesContent":["import type { MediaType } from '@internetarchive/field-parsers';\nimport type { SearchResult } from '@internetarchive/search-service';\n\n/**\n * Returns the mediatype string for the given search result, taking into account\n * the special `favorited_search` hit type.\n * @param result The search result to extract a mediatype from\n */\nexport function resolveMediatype(result: SearchResult): MediaType {\n /**\n * hit_type == 'favorited_search' is basically a new hit_type\n * - we are getting from PPS.\n * - which gives response for fav- collection\n * - having favorited items like account/collection/item etc..\n * - as user can also favorite a search result (a search page)\n * - so we need to have response (having fav- items and fav- search results)\n *\n * if backend hit_type == 'favorited_search'\n * - let's assume a \"search\" as new mediatype\n */\n if (result?.rawMetadata?.hit_type === 'favorited_search') {\n return 'search';\n }\n\n return result.mediatype?.value ?? 'data';\n}\n"]}
1
+ {"version":3,"file":"resolve-mediatype.js","sourceRoot":"","sources":["../../../src/utils/resolve-mediatype.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAoB;;IACnD;;;;;;;;;;OAUG;IACH,IAAI,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,0CAAE,QAAQ,MAAK,kBAAkB,EAAE,CAAC;QACzD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,MAAA,MAAA,MAAM,CAAC,SAAS,0CAAE,KAAK,mCAAI,MAAM,CAAC;AAC3C,CAAC","sourcesContent":["import type { MediaType } from '@internetarchive/field-parsers';\nimport type { SearchResult } from '@internetarchive/search-service';\n\n/**\n * Returns the mediatype string for the given search result, taking into account\n * the special `favorited_search` hit type.\n * @param result The search result to extract a mediatype from\n */\nexport function resolveMediatype(result: SearchResult): MediaType {\n /**\n * hit_type == 'favorited_search' is basically a new hit_type\n * - we are getting from PPS.\n * - which gives response for fav- collection\n * - having favorited items like account/collection/item etc..\n * - as user can also favorite a search result (a search page)\n * - so we need to have response (having fav- items and fav- search results)\n *\n * if backend hit_type == 'favorited_search'\n * - let's assume a \"search\" as new mediatype\n */\n if (result?.rawMetadata?.hit_type === 'favorited_search') {\n return 'search';\n }\n\n return result.mediatype?.value ?? 'data';\n}\n"]}
@@ -1,2 +1,2 @@
1
- /** Returns (asynchronously) the hex-encoded SHA-1 hash of the input string */
2
- export declare function sha1(input: string): Promise<string>;
1
+ /** Returns (asynchronously) the hex-encoded SHA-1 hash of the input string */
2
+ export declare function sha1(input: string): Promise<string>;
@@ -1,9 +1,9 @@
1
- const encoder = new TextEncoder();
2
- /** Returns (asynchronously) the hex-encoded SHA-1 hash of the input string */
3
- export async function sha1(input) {
4
- const hashBuffer = await crypto.subtle.digest('SHA-1', encoder.encode(input));
5
- return [...new Uint8Array(hashBuffer)]
6
- .map(byte => byte.toString(16).padStart(2, '0'))
7
- .join('');
8
- }
1
+ const encoder = new TextEncoder();
2
+ /** Returns (asynchronously) the hex-encoded SHA-1 hash of the input string */
3
+ export async function sha1(input) {
4
+ const hashBuffer = await crypto.subtle.digest('SHA-1', encoder.encode(input));
5
+ return [...new Uint8Array(hashBuffer)]
6
+ .map(byte => byte.toString(16).padStart(2, '0'))
7
+ .join('');
8
+ }
9
9
  //# sourceMappingURL=sha1.js.map
@@ -1 +1 @@
1
- import '../src/collection-browser';
1
+ import '../src/collection-browser';