@internetarchive/collection-browser 3.3.0 → 3.3.1-alpha1

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 (69) hide show
  1. package/.editorconfig +29 -29
  2. package/.github/workflows/ci.yml +27 -27
  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/.prettierignore +1 -1
  8. package/LICENSE +661 -661
  9. package/README.md +83 -83
  10. package/dist/src/collection-browser.js +683 -683
  11. package/dist/src/collection-browser.js.map +1 -1
  12. package/dist/src/collection-facets/more-facets-content.js +118 -118
  13. package/dist/src/collection-facets/more-facets-content.js.map +1 -1
  14. package/dist/src/collection-facets.js +266 -266
  15. package/dist/src/collection-facets.js.map +1 -1
  16. package/dist/src/data-source/collection-browser-data-source.js.map +1 -1
  17. package/dist/src/data-source/collection-browser-query-state.js.map +1 -1
  18. package/dist/src/data-source/models.js.map +1 -1
  19. package/dist/src/tiles/base-tile-component.js.map +1 -1
  20. package/dist/src/tiles/grid/account-tile.js +36 -36
  21. package/dist/src/tiles/grid/account-tile.js.map +1 -1
  22. package/dist/src/tiles/grid/collection-tile.js +77 -77
  23. package/dist/src/tiles/grid/collection-tile.js.map +1 -1
  24. package/dist/src/tiles/grid/item-tile.js +137 -137
  25. package/dist/src/tiles/grid/item-tile.js.map +1 -1
  26. package/dist/src/tiles/list/tile-list-compact.js +99 -99
  27. package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
  28. package/dist/src/tiles/list/tile-list.js +297 -297
  29. package/dist/src/tiles/list/tile-list.js.map +1 -1
  30. package/dist/src/tiles/tile-dispatcher.js +203 -203
  31. package/dist/src/tiles/tile-dispatcher.js.map +1 -1
  32. package/dist/src/utils/format-date.js.map +1 -1
  33. package/dist/test/collection-browser.test.js +189 -189
  34. package/dist/test/collection-browser.test.js.map +1 -1
  35. package/dist/test/tiles/grid/item-tile.test.js +77 -77
  36. package/dist/test/tiles/grid/item-tile.test.js.map +1 -1
  37. package/dist/test/tiles/list/tile-list-compact.test.js +70 -70
  38. package/dist/test/tiles/list/tile-list-compact.test.js.map +1 -1
  39. package/dist/test/tiles/list/tile-list.test.js +126 -126
  40. package/dist/test/tiles/list/tile-list.test.js.map +1 -1
  41. package/dist/test/utils/format-date.test.js.map +1 -1
  42. package/eslint.config.mjs +53 -53
  43. package/index.html +24 -24
  44. package/local.archive.org.cert +86 -86
  45. package/local.archive.org.key +27 -27
  46. package/package.json +117 -117
  47. package/renovate.json +6 -6
  48. package/src/collection-browser.ts +2829 -2829
  49. package/src/collection-facets/more-facets-content.ts +639 -639
  50. package/src/collection-facets.ts +995 -995
  51. package/src/data-source/collection-browser-data-source.ts +1401 -1401
  52. package/src/data-source/collection-browser-query-state.ts +65 -65
  53. package/src/data-source/models.ts +43 -43
  54. package/src/tiles/base-tile-component.ts +65 -65
  55. package/src/tiles/grid/account-tile.ts +113 -113
  56. package/src/tiles/grid/collection-tile.ts +163 -163
  57. package/src/tiles/grid/item-tile.ts +340 -340
  58. package/src/tiles/list/tile-list-compact.ts +239 -239
  59. package/src/tiles/list/tile-list.ts +700 -700
  60. package/src/tiles/tile-dispatcher.ts +490 -490
  61. package/src/utils/format-date.ts +62 -62
  62. package/test/collection-browser.test.ts +2403 -2403
  63. package/test/tiles/grid/item-tile.test.ts +520 -520
  64. package/test/tiles/list/tile-list-compact.test.ts +282 -282
  65. package/test/tiles/list/tile-list.test.ts +552 -552
  66. package/test/utils/format-date.test.ts +89 -89
  67. package/tsconfig.json +20 -20
  68. package/web-dev-server.config.mjs +30 -30
  69. package/web-test-runner.config.mjs +41 -41
@@ -1,62 +1,62 @@
1
- /*
2
- * Display date
3
- * Override browser timezone to always display same date as in data
4
- */
5
- export type DateFormat =
6
- | 'year-only' // 2020
7
- | 'short' // Dec 2020
8
- | 'long'; // Dec 20, 2020
9
-
10
- /**
11
- * Extra options accepted by the `formatDate` function
12
- */
13
- export type FormatDateOptions = {
14
- /**
15
- * Which locale to format the date string for (default `'en-US'`)
16
- */
17
- locale?: string;
18
- /**
19
- * Whether to display the date in the browser's local time zone.
20
- * Default is `false`, displaying the dates in UTC.
21
- */
22
- useLocalTime?: boolean;
23
- };
24
-
25
- export function formatDate(
26
- date: Date | undefined,
27
- format: DateFormat = 'short',
28
- { locale = 'en-US', useLocalTime = false }: FormatDateOptions = {},
29
- ): string {
30
- // Return blank if undefined
31
- if (!date) return '';
32
-
33
- // The dates provided by the backend are assumed to already be with respect to UTC,
34
- // and by default we specify that they should be rendered as such. If the
35
- // `useLocalTime` option was set, we omit the UTC time zone from our format options
36
- // so that the browser's local time zone is used instead.
37
- const options: Intl.DateTimeFormatOptions = useLocalTime
38
- ? {}
39
- : { timeZone: 'UTC' };
40
-
41
- switch (format) {
42
- case 'year-only':
43
- // If we're only using the year, ensure we output the correct UTC year and not
44
- // the local year. If the local timezone is used, we can get strange off-by-one
45
- // errors due to quirks of timezone handling for older years.
46
- return `${date.getUTCFullYear()}`;
47
- case 'short':
48
- options.month = 'short';
49
- options.year = 'numeric';
50
- break;
51
- case 'long':
52
- options.year = 'numeric';
53
- options.month = 'short';
54
- options.day = '2-digit';
55
- break;
56
- default:
57
- break;
58
- }
59
-
60
- const dateFormatter = new Intl.DateTimeFormat(locale, options);
61
- return dateFormatter.format(date);
62
- }
1
+ /*
2
+ * Display date
3
+ * Override browser timezone to always display same date as in data
4
+ */
5
+ export type DateFormat =
6
+ | 'year-only' // 2020
7
+ | 'short' // Dec 2020
8
+ | 'long'; // Dec 20, 2020
9
+
10
+ /**
11
+ * Extra options accepted by the `formatDate` function
12
+ */
13
+ export type FormatDateOptions = {
14
+ /**
15
+ * Which locale to format the date string for (default `'en-US'`)
16
+ */
17
+ locale?: string;
18
+ /**
19
+ * Whether to display the date in the browser's local time zone.
20
+ * Default is `false`, displaying the dates in UTC.
21
+ */
22
+ useLocalTime?: boolean;
23
+ };
24
+
25
+ export function formatDate(
26
+ date: Date | undefined,
27
+ format: DateFormat = 'short',
28
+ { locale = 'en-US', useLocalTime = false }: FormatDateOptions = {},
29
+ ): string {
30
+ // Return blank if undefined
31
+ if (!date) return '';
32
+
33
+ // The dates provided by the backend are assumed to already be with respect to UTC,
34
+ // and by default we specify that they should be rendered as such. If the
35
+ // `useLocalTime` option was set, we omit the UTC time zone from our format options
36
+ // so that the browser's local time zone is used instead.
37
+ const options: Intl.DateTimeFormatOptions = useLocalTime
38
+ ? {}
39
+ : { timeZone: 'UTC' };
40
+
41
+ switch (format) {
42
+ case 'year-only':
43
+ // If we're only using the year, ensure we output the correct UTC year and not
44
+ // the local year. If the local timezone is used, we can get strange off-by-one
45
+ // errors due to quirks of timezone handling for older years.
46
+ return `${date.getUTCFullYear()}`;
47
+ case 'short':
48
+ options.month = 'short';
49
+ options.year = 'numeric';
50
+ break;
51
+ case 'long':
52
+ options.year = 'numeric';
53
+ options.month = 'short';
54
+ options.day = '2-digit';
55
+ break;
56
+ default:
57
+ break;
58
+ }
59
+
60
+ const dateFormatter = new Intl.DateTimeFormat(locale, options);
61
+ return dateFormatter.format(date);
62
+ }