@internetarchive/collection-browser 0.3.2 → 0.3.3-alpha.1

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 (206) hide show
  1. package/.editorconfig +29 -29
  2. package/.github/workflows/ci.yml +26 -26
  3. package/.github/workflows/gh-pages-main.yml +39 -39
  4. package/.github/workflows/npm-publish.yml +39 -39
  5. package/.github/workflows/pr-preview.yml +38 -38
  6. package/.husky/pre-commit +4 -4
  7. package/LICENSE +661 -661
  8. package/README.md +83 -83
  9. package/dist/index.d.ts +9 -9
  10. package/dist/index.js +9 -9
  11. package/dist/src/app-root.d.ts +44 -43
  12. package/dist/src/app-root.js +242 -233
  13. package/dist/src/app-root.js.map +1 -1
  14. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  15. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  16. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  17. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  18. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  19. package/dist/src/assets/img/icons/chevron.js +2 -2
  20. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  21. package/dist/src/assets/img/icons/empty-query.js +2 -2
  22. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  23. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  24. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  25. package/dist/src/assets/img/icons/eye.js +2 -2
  26. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  27. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  28. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  29. package/dist/src/assets/img/icons/login-required.js +2 -2
  30. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  31. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  32. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  33. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  34. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  35. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  36. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  37. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  38. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  39. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  40. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  41. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  42. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  43. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  44. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  45. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  46. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  47. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  48. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  49. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  50. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  51. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  52. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  53. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  54. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  55. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  56. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  57. package/dist/src/assets/img/icons/null-result.js +2 -2
  58. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  59. package/dist/src/assets/img/icons/restricted.js +2 -2
  60. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  61. package/dist/src/assets/img/icons/reviews.js +2 -2
  62. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  63. package/dist/src/assets/img/icons/upload.js +2 -2
  64. package/dist/src/assets/img/icons/views.d.ts +1 -1
  65. package/dist/src/assets/img/icons/views.js +2 -2
  66. package/dist/src/circular-activity-indicator.d.ts +5 -5
  67. package/dist/src/circular-activity-indicator.js +17 -17
  68. package/dist/src/collection-browser.d.ts +247 -247
  69. package/dist/src/collection-browser.js +1065 -1077
  70. package/dist/src/collection-browser.js.map +1 -1
  71. package/dist/src/collection-facets/facets-template.d.ts +16 -16
  72. package/dist/src/collection-facets/facets-template.js +125 -125
  73. package/dist/src/collection-facets/more-facets-content.d.ts +74 -74
  74. package/dist/src/collection-facets/more-facets-content.js +330 -330
  75. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  76. package/dist/src/collection-facets/more-facets-pagination.js +192 -192
  77. package/dist/src/collection-facets.d.ts +73 -73
  78. package/dist/src/collection-facets.js +359 -359
  79. package/dist/src/empty-placeholder.d.ts +11 -11
  80. package/dist/src/empty-placeholder.js +42 -42
  81. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  82. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  83. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  84. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  85. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  86. package/dist/src/mediatype/mediatype-config.js +85 -85
  87. package/dist/src/models.d.ts +97 -97
  88. package/dist/src/models.js +100 -100
  89. package/dist/src/restoration-state-handler.d.ts +46 -45
  90. package/dist/src/restoration-state-handler.js +230 -220
  91. package/dist/src/restoration-state-handler.js.map +1 -1
  92. package/dist/src/sort-filter-bar/alpha-bar.d.ts +9 -9
  93. package/dist/src/sort-filter-bar/alpha-bar.js +41 -41
  94. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  95. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  96. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  97. package/dist/src/sort-filter-bar/img/list.js +2 -2
  98. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  99. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  100. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  101. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  102. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +107 -107
  103. package/dist/src/sort-filter-bar/sort-filter-bar.js +423 -423
  104. package/dist/src/styles/item-image-styles.d.ts +8 -8
  105. package/dist/src/styles/item-image-styles.js +9 -9
  106. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  107. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  108. package/dist/src/tiles/grid/account-tile.d.ts +8 -8
  109. package/dist/src/tiles/grid/account-tile.js +20 -20
  110. package/dist/src/tiles/grid/collection-tile.d.ts +7 -7
  111. package/dist/src/tiles/grid/collection-tile.js +23 -23
  112. package/dist/src/tiles/grid/item-tile.d.ts +24 -24
  113. package/dist/src/tiles/grid/item-tile.js +87 -87
  114. package/dist/src/tiles/grid/tile-stats.d.ts +10 -10
  115. package/dist/src/tiles/grid/tile-stats.js +35 -35
  116. package/dist/src/tiles/image-block.d.ts +17 -17
  117. package/dist/src/tiles/image-block.js +69 -69
  118. package/dist/src/tiles/item-image.d.ts +31 -31
  119. package/dist/src/tiles/item-image.js +103 -103
  120. package/dist/src/tiles/list/account-label.d.ts +1 -1
  121. package/dist/src/tiles/list/account-label.js +6 -6
  122. package/dist/src/tiles/list/date-label.d.ts +1 -1
  123. package/dist/src/tiles/list/date-label.js +12 -12
  124. package/dist/src/tiles/list/tile-list-compact-header.d.ts +12 -12
  125. package/dist/src/tiles/list/tile-list-compact-header.js +41 -41
  126. package/dist/src/tiles/list/tile-list-compact.d.ts +20 -20
  127. package/dist/src/tiles/list/tile-list-compact.js +87 -87
  128. package/dist/src/tiles/list/tile-list.d.ts +50 -50
  129. package/dist/src/tiles/list/tile-list.js +264 -264
  130. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  131. package/dist/src/tiles/mediatype-icon.js +47 -47
  132. package/dist/src/tiles/overlay/icon-overlay.d.ts +7 -7
  133. package/dist/src/tiles/overlay/icon-overlay.js +30 -30
  134. package/dist/src/tiles/overlay/text-overlay.d.ts +8 -8
  135. package/dist/src/tiles/overlay/text-overlay.js +31 -31
  136. package/dist/src/tiles/text-snippet-block.d.ts +29 -29
  137. package/dist/src/tiles/text-snippet-block.js +81 -81
  138. package/dist/src/tiles/tile-dispatcher.d.ts +36 -36
  139. package/dist/src/tiles/tile-dispatcher.js +128 -128
  140. package/dist/src/utils/analytics-events.d.ts +18 -18
  141. package/dist/src/utils/analytics-events.js +20 -20
  142. package/dist/src/utils/format-count.d.ts +7 -7
  143. package/dist/src/utils/format-count.js +76 -76
  144. package/dist/src/utils/format-date.d.ts +2 -2
  145. package/dist/src/utils/format-date.js +23 -23
  146. package/dist/test/collection-browser.test.d.ts +1 -1
  147. package/dist/test/collection-browser.test.js +356 -330
  148. package/dist/test/collection-browser.test.js.map +1 -1
  149. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  150. package/dist/test/collection-facets/facets-template.test.js +62 -62
  151. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  152. package/dist/test/collection-facets/more-facets-content.test.js +91 -91
  153. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  154. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  155. package/dist/test/collection-facets.test.d.ts +2 -2
  156. package/dist/test/collection-facets.test.js +421 -421
  157. package/dist/test/empty-placeholder.test.d.ts +1 -1
  158. package/dist/test/empty-placeholder.test.js +33 -33
  159. package/dist/test/icon-overlay.test.d.ts +1 -1
  160. package/dist/test/icon-overlay.test.js +24 -24
  161. package/dist/test/image-block.test.d.ts +1 -1
  162. package/dist/test/image-block.test.js +48 -48
  163. package/dist/test/item-image.test.d.ts +1 -1
  164. package/dist/test/item-image.test.js +56 -56
  165. package/dist/test/mediatype-config.test.d.ts +1 -1
  166. package/dist/test/mediatype-config.test.js +16 -16
  167. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  168. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  169. package/dist/test/mocks/mock-collection-name-cache.d.ts +7 -7
  170. package/dist/test/mocks/mock-collection-name-cache.js +13 -13
  171. package/dist/test/mocks/mock-search-responses.d.ts +5 -5
  172. package/dist/test/mocks/mock-search-responses.js +103 -103
  173. package/dist/test/mocks/mock-search-service.d.ts +13 -13
  174. package/dist/test/mocks/mock-search-service.js +25 -25
  175. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  176. package/dist/test/restoration-state-handler.test.js +117 -117
  177. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  178. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +113 -113
  179. package/dist/test/text-overlay.test.d.ts +1 -1
  180. package/dist/test/text-overlay.test.js +41 -41
  181. package/dist/test/text-snippet-block.test.d.ts +1 -1
  182. package/dist/test/text-snippet-block.test.js +57 -57
  183. package/dist/test/tile-stats.test.d.ts +1 -1
  184. package/dist/test/tile-stats.test.js +33 -33
  185. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  186. package/dist/test/tiles/grid/item-tile.test.js +107 -107
  187. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  188. package/dist/test/tiles/list/tile-list-compact.test.js +26 -26
  189. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  190. package/dist/test/tiles/list/tile-list.test.js +36 -36
  191. package/dist/test/utils/format-count.test.d.ts +1 -1
  192. package/dist/test/utils/format-count.test.js +23 -23
  193. package/dist/test/utils/format-date.test.d.ts +1 -1
  194. package/dist/test/utils/format-date.test.js +17 -17
  195. package/index.html +24 -24
  196. package/local.archive.org.cert +86 -86
  197. package/local.archive.org.key +27 -27
  198. package/package.json +115 -115
  199. package/renovate.json +6 -6
  200. package/src/app-root.ts +12 -1
  201. package/src/collection-browser.ts +24 -21
  202. package/src/restoration-state-handler.ts +19 -1
  203. package/test/collection-browser.test.ts +31 -2
  204. package/tsconfig.json +21 -21
  205. package/web-dev-server.config.mjs +30 -30
  206. package/web-test-runner.config.mjs +41 -41
@@ -1,30 +1,30 @@
1
- import { __decorate } from "tslib";
2
- import { css, html, LitElement, nothing } from 'lit';
3
- import { customElement, property, query } from 'lit/decorators.js';
4
- import { ifDefined } from 'lit/directives/if-defined.js';
5
- import './grid/collection-tile';
6
- import './grid/item-tile';
7
- import './grid/account-tile';
8
- import './list/tile-list';
9
- import './list/tile-list-compact';
10
- import './list/tile-list-compact-header';
11
- let TileDispatcher = class TileDispatcher extends LitElement {
12
- constructor() {
13
- super(...arguments);
14
- this.sortParam = null;
15
- this.loggedIn = false;
16
- }
17
- render() {
1
+ import { __decorate } from "tslib";
2
+ import { css, html, LitElement, nothing } from 'lit';
3
+ import { customElement, property, query } from 'lit/decorators.js';
4
+ import { ifDefined } from 'lit/directives/if-defined.js';
5
+ import './grid/collection-tile';
6
+ import './grid/item-tile';
7
+ import './grid/account-tile';
8
+ import './list/tile-list';
9
+ import './list/tile-list-compact';
10
+ import './list/tile-list-compact-header';
11
+ let TileDispatcher = class TileDispatcher extends LitElement {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.sortParam = null;
15
+ this.loggedIn = false;
16
+ }
17
+ render() {
18
18
  return html `
19
19
  <div id="container">
20
- ${this.tileDisplayMode === 'list-header'
21
- ? this.headerTemplate
20
+ ${this.tileDisplayMode === 'list-header'
21
+ ? this.headerTemplate
22
22
  : this.tileTemplate}
23
23
  </div>
24
- `;
25
- }
26
- get headerTemplate() {
27
- const { currentWidth, sortParam, mobileBreakpoint } = this;
24
+ `;
25
+ }
26
+ get headerTemplate() {
27
+ const { currentWidth, sortParam, mobileBreakpoint } = this;
28
28
  return html `
29
29
  <tile-list-compact-header
30
30
  class="header"
@@ -33,17 +33,17 @@ let TileDispatcher = class TileDispatcher extends LitElement {
33
33
  .mobileBreakpoint=${mobileBreakpoint}
34
34
  >
35
35
  </tile-list-compact-header>
36
- `;
37
- }
38
- get tileTemplate() {
36
+ `;
37
+ }
38
+ get tileTemplate() {
39
39
  return html `
40
- ${this.tileDisplayMode === 'list-detail'
41
- ? this.tile
40
+ ${this.tileDisplayMode === 'list-detail'
41
+ ? this.tile
42
42
  : this.linkTileTemplate}
43
- `;
44
- }
45
- get linkTileTemplate() {
46
- var _a, _b;
43
+ `;
44
+ }
45
+ get linkTileTemplate() {
46
+ var _a, _b;
47
47
  return html `
48
48
  <a
49
49
  href="${this.baseNavigationUrl}/details/${(_a = this.model) === null || _a === void 0 ? void 0 : _a.identifier}"
@@ -52,58 +52,58 @@ let TileDispatcher = class TileDispatcher extends LitElement {
52
52
  >
53
53
  ${this.tile}
54
54
  </a>
55
- `;
56
- }
57
- handleResize(entry) {
58
- this.currentWidth = entry.contentRect.width;
59
- this.currentHeight = entry.contentRect.height;
60
- }
61
- disconnectedCallback() {
62
- this.stopResizeObservation(this.resizeObserver);
63
- }
64
- stopResizeObservation(observer) {
65
- observer === null || observer === void 0 ? void 0 : observer.removeObserver({
66
- handler: this,
67
- target: this.container,
68
- });
69
- }
70
- startResizeObservation() {
71
- var _a;
72
- this.stopResizeObservation(this.resizeObserver);
73
- (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.addObserver({
74
- handler: this,
75
- target: this.container,
76
- });
77
- }
78
- updated(props) {
79
- if (props.has('resizeObserver')) {
80
- const previousObserver = props.get('resizeObserver');
81
- this.stopResizeObservation(previousObserver);
82
- this.startResizeObservation();
83
- }
84
- }
85
- get tile() {
86
- const { model, baseNavigationUrl, currentWidth, currentHeight, sortParam, mobileBreakpoint, } = this;
87
- if (!model)
88
- return nothing;
89
- switch (this.tileDisplayMode) {
90
- case 'grid':
91
- switch (model.mediatype) {
92
- case 'collection':
55
+ `;
56
+ }
57
+ handleResize(entry) {
58
+ this.currentWidth = entry.contentRect.width;
59
+ this.currentHeight = entry.contentRect.height;
60
+ }
61
+ disconnectedCallback() {
62
+ this.stopResizeObservation(this.resizeObserver);
63
+ }
64
+ stopResizeObservation(observer) {
65
+ observer === null || observer === void 0 ? void 0 : observer.removeObserver({
66
+ handler: this,
67
+ target: this.container,
68
+ });
69
+ }
70
+ startResizeObservation() {
71
+ var _a;
72
+ this.stopResizeObservation(this.resizeObserver);
73
+ (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.addObserver({
74
+ handler: this,
75
+ target: this.container,
76
+ });
77
+ }
78
+ updated(props) {
79
+ if (props.has('resizeObserver')) {
80
+ const previousObserver = props.get('resizeObserver');
81
+ this.stopResizeObservation(previousObserver);
82
+ this.startResizeObservation();
83
+ }
84
+ }
85
+ get tile() {
86
+ const { model, baseNavigationUrl, currentWidth, currentHeight, sortParam, mobileBreakpoint, } = this;
87
+ if (!model)
88
+ return nothing;
89
+ switch (this.tileDisplayMode) {
90
+ case 'grid':
91
+ switch (model.mediatype) {
92
+ case 'collection':
93
93
  return html `<collection-tile
94
94
  .model=${model}
95
95
  .currentWidth=${currentWidth}
96
96
  .currentHeight=${currentHeight}
97
97
  >
98
- </collection-tile>`;
99
- case 'account':
98
+ </collection-tile>`;
99
+ case 'account':
100
100
  return html `<account-tile
101
101
  .model=${model}
102
102
  .currentWidth=${currentWidth}
103
103
  .currentHeight=${currentHeight}
104
104
  >
105
- </account-tile>`;
106
- default:
105
+ </account-tile>`;
106
+ default:
107
107
  return html `<item-tile
108
108
  .model=${model}
109
109
  .currentWidth=${this.currentWidth}
@@ -113,9 +113,9 @@ let TileDispatcher = class TileDispatcher extends LitElement {
113
113
  .sortParam=${sortParam}
114
114
  .loggedIn=${this.loggedIn}
115
115
  >
116
- </item-tile>`;
117
- }
118
- case 'list-compact':
116
+ </item-tile>`;
117
+ }
118
+ case 'list-compact':
119
119
  return html `<tile-list-compact
120
120
  .model=${model}
121
121
  .currentWidth=${currentWidth}
@@ -126,8 +126,8 @@ let TileDispatcher = class TileDispatcher extends LitElement {
126
126
  .baseImageUrl=${this.baseImageUrl}
127
127
  .loggedIn=${this.loggedIn}
128
128
  >
129
- </tile-list-compact>`;
130
- case 'list-detail':
129
+ </tile-list-compact>`;
130
+ case 'list-detail':
131
131
  return html `<tile-list
132
132
  .model=${model}
133
133
  .collectionNameCache=${this.collectionNameCache}
@@ -139,12 +139,12 @@ let TileDispatcher = class TileDispatcher extends LitElement {
139
139
  .baseImageUrl=${this.baseImageUrl}
140
140
  .loggedIn=${this.loggedIn}
141
141
  >
142
- </tile-list>`;
143
- default:
144
- return nothing;
145
- }
146
- }
147
- static get styles() {
142
+ </tile-list>`;
143
+ default:
144
+ return nothing;
145
+ }
146
+ }
147
+ static get styles() {
148
148
  return css `
149
149
  :host {
150
150
  display: block;
@@ -170,47 +170,47 @@ let TileDispatcher = class TileDispatcher extends LitElement {
170
170
  display: block;
171
171
  height: 100%;
172
172
  }
173
- `;
174
- }
175
- };
176
- __decorate([
177
- property({ type: String })
178
- ], TileDispatcher.prototype, "tileDisplayMode", void 0);
179
- __decorate([
180
- property({ type: Object })
181
- ], TileDispatcher.prototype, "model", void 0);
182
- __decorate([
183
- property({ type: String })
184
- ], TileDispatcher.prototype, "baseNavigationUrl", void 0);
185
- __decorate([
186
- property({ type: Number })
187
- ], TileDispatcher.prototype, "currentWidth", void 0);
188
- __decorate([
189
- property({ type: Number })
190
- ], TileDispatcher.prototype, "currentHeight", void 0);
191
- __decorate([
192
- property({ type: Object })
193
- ], TileDispatcher.prototype, "resizeObserver", void 0);
194
- __decorate([
195
- property({ type: Object })
196
- ], TileDispatcher.prototype, "collectionNameCache", void 0);
197
- __decorate([
198
- property({ type: Object })
199
- ], TileDispatcher.prototype, "sortParam", void 0);
200
- __decorate([
201
- query('#container')
202
- ], TileDispatcher.prototype, "container", void 0);
203
- __decorate([
204
- property({ type: Number })
205
- ], TileDispatcher.prototype, "mobileBreakpoint", void 0);
206
- __decorate([
207
- property({ type: String })
208
- ], TileDispatcher.prototype, "baseImageUrl", void 0);
209
- __decorate([
210
- property({ type: Boolean })
211
- ], TileDispatcher.prototype, "loggedIn", void 0);
212
- TileDispatcher = __decorate([
213
- customElement('tile-dispatcher')
214
- ], TileDispatcher);
215
- export { TileDispatcher };
173
+ `;
174
+ }
175
+ };
176
+ __decorate([
177
+ property({ type: String })
178
+ ], TileDispatcher.prototype, "tileDisplayMode", void 0);
179
+ __decorate([
180
+ property({ type: Object })
181
+ ], TileDispatcher.prototype, "model", void 0);
182
+ __decorate([
183
+ property({ type: String })
184
+ ], TileDispatcher.prototype, "baseNavigationUrl", void 0);
185
+ __decorate([
186
+ property({ type: Number })
187
+ ], TileDispatcher.prototype, "currentWidth", void 0);
188
+ __decorate([
189
+ property({ type: Number })
190
+ ], TileDispatcher.prototype, "currentHeight", void 0);
191
+ __decorate([
192
+ property({ type: Object })
193
+ ], TileDispatcher.prototype, "resizeObserver", void 0);
194
+ __decorate([
195
+ property({ type: Object })
196
+ ], TileDispatcher.prototype, "collectionNameCache", void 0);
197
+ __decorate([
198
+ property({ type: Object })
199
+ ], TileDispatcher.prototype, "sortParam", void 0);
200
+ __decorate([
201
+ query('#container')
202
+ ], TileDispatcher.prototype, "container", void 0);
203
+ __decorate([
204
+ property({ type: Number })
205
+ ], TileDispatcher.prototype, "mobileBreakpoint", void 0);
206
+ __decorate([
207
+ property({ type: String })
208
+ ], TileDispatcher.prototype, "baseImageUrl", void 0);
209
+ __decorate([
210
+ property({ type: Boolean })
211
+ ], TileDispatcher.prototype, "loggedIn", void 0);
212
+ TileDispatcher = __decorate([
213
+ customElement('tile-dispatcher')
214
+ ], TileDispatcher);
215
+ export { TileDispatcher };
216
216
  //# sourceMappingURL=tile-dispatcher.js.map
@@ -1,18 +1,18 @@
1
- /**
2
- * Analytics categories and events. Used when building actions in
3
- */
4
- export declare enum analyticsCategories {
5
- default = "collection-browser"
6
- }
7
- export declare enum analyticsActions {
8
- sortBy = "sortBy",
9
- filterByCreator = "filterByCreator",
10
- filterByTitle = "filterByTitle",
11
- displayMode = "displayMode",
12
- facetSelected = "facetSelected",
13
- facetDeselected = "facetDeselected",
14
- facetNegativeSelected = "facetNegativeSelected",
15
- facetNegativeDeselected = "facetNegativeDeselected",
16
- histogramChanged = "histogramChanged",
17
- resultSelected = "resultSelected"
18
- }
1
+ /**
2
+ * Analytics categories and events. Used when building actions in
3
+ */
4
+ export declare enum analyticsCategories {
5
+ default = "collection-browser"
6
+ }
7
+ export declare enum analyticsActions {
8
+ sortBy = "sortBy",
9
+ filterByCreator = "filterByCreator",
10
+ filterByTitle = "filterByTitle",
11
+ displayMode = "displayMode",
12
+ facetSelected = "facetSelected",
13
+ facetDeselected = "facetDeselected",
14
+ facetNegativeSelected = "facetNegativeSelected",
15
+ facetNegativeDeselected = "facetNegativeDeselected",
16
+ histogramChanged = "histogramChanged",
17
+ resultSelected = "resultSelected"
18
+ }
@@ -1,21 +1,21 @@
1
- /**
2
- * Analytics categories and events. Used when building actions in
3
- */
4
- export var analyticsCategories;
5
- (function (analyticsCategories) {
6
- analyticsCategories["default"] = "collection-browser";
7
- })(analyticsCategories || (analyticsCategories = {}));
8
- export var analyticsActions;
9
- (function (analyticsActions) {
10
- analyticsActions["sortBy"] = "sortBy";
11
- analyticsActions["filterByCreator"] = "filterByCreator";
12
- analyticsActions["filterByTitle"] = "filterByTitle";
13
- analyticsActions["displayMode"] = "displayMode";
14
- analyticsActions["facetSelected"] = "facetSelected";
15
- analyticsActions["facetDeselected"] = "facetDeselected";
16
- analyticsActions["facetNegativeSelected"] = "facetNegativeSelected";
17
- analyticsActions["facetNegativeDeselected"] = "facetNegativeDeselected";
18
- analyticsActions["histogramChanged"] = "histogramChanged";
19
- analyticsActions["resultSelected"] = "resultSelected";
20
- })(analyticsActions || (analyticsActions = {}));
1
+ /**
2
+ * Analytics categories and events. Used when building actions in
3
+ */
4
+ export var analyticsCategories;
5
+ (function (analyticsCategories) {
6
+ analyticsCategories["default"] = "collection-browser";
7
+ })(analyticsCategories || (analyticsCategories = {}));
8
+ export var analyticsActions;
9
+ (function (analyticsActions) {
10
+ analyticsActions["sortBy"] = "sortBy";
11
+ analyticsActions["filterByCreator"] = "filterByCreator";
12
+ analyticsActions["filterByTitle"] = "filterByTitle";
13
+ analyticsActions["displayMode"] = "displayMode";
14
+ analyticsActions["facetSelected"] = "facetSelected";
15
+ analyticsActions["facetDeselected"] = "facetDeselected";
16
+ analyticsActions["facetNegativeSelected"] = "facetNegativeSelected";
17
+ analyticsActions["facetNegativeDeselected"] = "facetNegativeDeselected";
18
+ analyticsActions["histogramChanged"] = "histogramChanged";
19
+ analyticsActions["resultSelected"] = "resultSelected";
20
+ })(analyticsActions || (analyticsActions = {}));
21
21
  //# sourceMappingURL=analytics-events.js.map
@@ -1,7 +1,7 @@
1
- export declare type NumberFormat = 'short' | 'long';
2
- export declare type LabelFormat = 'short' | 'long';
3
- /**
4
- * Format a "count" number into short "icon" or longer text string.
5
- * For positive numbers only.
6
- */
7
- export declare function formatCount(count: number | undefined, numberFormat?: NumberFormat, labelFormat?: LabelFormat, locale?: string): string;
1
+ export declare type NumberFormat = 'short' | 'long';
2
+ export declare type LabelFormat = 'short' | 'long';
3
+ /**
4
+ * Format a "count" number into short "icon" or longer text string.
5
+ * For positive numbers only.
6
+ */
7
+ export declare function formatCount(count: number | undefined, numberFormat?: NumberFormat, labelFormat?: LabelFormat, locale?: string): string;
@@ -1,77 +1,77 @@
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
+ // 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
+ }
77
77
  //# sourceMappingURL=format-count.js.map
@@ -1,2 +1,2 @@
1
- export declare type DateFormat = 'short' | 'long';
2
- export declare function formatDate(date: Date | undefined, format?: DateFormat, locale?: string): string;
1
+ export declare type DateFormat = 'short' | 'long';
2
+ export declare function formatDate(date: Date | undefined, format?: DateFormat, locale?: string): string;
@@ -1,24 +1,24 @@
1
- export function formatDate(date, format = 'short', locale = 'en-US') {
2
- // Return blank if undefined
3
- if (!date)
4
- return '';
5
- const options = {
6
- timeZone: 'UTC', // Override browser timezone
7
- };
8
- switch (format) {
9
- case 'short':
10
- options.month = 'short';
11
- options.year = 'numeric';
12
- break;
13
- case 'long':
14
- options.year = 'numeric';
15
- options.month = 'short';
16
- options.day = '2-digit';
17
- break;
18
- default:
19
- break;
20
- }
21
- const dateFormatter = new Intl.DateTimeFormat(locale, options);
22
- return dateFormatter.format(date);
23
- }
1
+ export function formatDate(date, format = 'short', locale = 'en-US') {
2
+ // Return blank if undefined
3
+ if (!date)
4
+ return '';
5
+ const options = {
6
+ timeZone: 'UTC', // Override browser timezone
7
+ };
8
+ switch (format) {
9
+ case 'short':
10
+ options.month = 'short';
11
+ options.year = 'numeric';
12
+ break;
13
+ case 'long':
14
+ options.year = 'numeric';
15
+ options.month = 'short';
16
+ options.day = '2-digit';
17
+ break;
18
+ default:
19
+ break;
20
+ }
21
+ const dateFormatter = new Intl.DateTimeFormat(locale, options);
22
+ return dateFormatter.format(date);
23
+ }
24
24
  //# sourceMappingURL=format-date.js.map
@@ -1 +1 @@
1
- import '../src/collection-browser';
1
+ import '../src/collection-browser';