@salesforcedevs/dx-components 0.53.11 → 0.54.0-alpha03

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 (165) hide show
  1. package/lwc.config.json +24 -26
  2. package/package.json +3 -6
  3. package/src/assets/svg/sidebar-item-loading.svg +2 -8
  4. package/src/modules/dx/banner/banner.css +2 -2
  5. package/src/modules/dx/breadcrumbs/breadcrumbs.css +2 -2
  6. package/src/modules/dx/breadcrumbs/breadcrumbs.ts +1 -1
  7. package/src/modules/dx/button/button.css +1 -1
  8. package/src/modules/dx/cardBlogPost/cardBlogPost.css +1 -1
  9. package/src/modules/dx/cardCallout/cardCallout.css +3 -3
  10. package/src/modules/dx/cardCallout/cardCallout.ts +5 -5
  11. package/src/modules/dx/cardContent/cardContent.css +3 -3
  12. package/src/modules/dx/cardContent/cardContent.ts +2 -2
  13. package/src/modules/dx/cardDemo/cardDemo.css +1 -1
  14. package/src/modules/dx/cardDocs/cardDocs.css +3 -3
  15. package/src/modules/dx/cardDocs/cardDocs.ts +1 -1
  16. package/src/modules/dx/cardEvent/cardEvent.css +3 -3
  17. package/src/modules/dx/cardExpanded/cardExpanded.css +1 -1
  18. package/src/modules/dx/cardExpanded/cardExpanded.ts +1 -1
  19. package/src/modules/dx/cardMinimal/cardMinimal.css +2 -2
  20. package/src/modules/dx/cardMinimal/cardMinimal.ts +1 -1
  21. package/src/modules/dx/cardNews/cardNews.css +3 -3
  22. package/src/modules/dx/cardNews/cardNews.ts +2 -2
  23. package/src/modules/dx/cardPodcastEpisode/cardPodcastEpisode.css +3 -3
  24. package/src/modules/dx/cardSmall/cardSmall.css +3 -3
  25. package/src/modules/dx/cardSmall/cardSmall.ts +1 -1
  26. package/src/modules/dx/cardTitle/cardTitle.css +2 -2
  27. package/src/modules/dx/cardTrailheadModule/cardTrailheadModule.css +1 -1
  28. package/src/modules/dx/cardTrial/cardTrial.css +3 -3
  29. package/src/modules/dx/cardTrial/cardTrial.ts +1 -1
  30. package/src/modules/dx/cardVideoPreview/cardVideoPreview.css +1 -1
  31. package/src/modules/dx/checkbox/checkbox.css +2 -2
  32. package/src/modules/dx/checkboxGroup/checkboxGroup.css +1 -1
  33. package/src/modules/dx/checkboxGroup/checkboxGroup.ts +1 -1
  34. package/src/modules/dx/codeBlock/codeBlock.css +2 -2
  35. package/src/modules/dx/codeBlock/codeBlock.ts +2 -2
  36. package/src/modules/dx/dropdown/dropdown.css +1 -1
  37. package/src/modules/dx/dropdown/dropdown.ts +2 -2
  38. package/src/modules/dx/dropdownOption/dropdownOption.css +1 -1
  39. package/src/modules/dx/dropdownOption/dropdownOption.ts +1 -1
  40. package/src/modules/dx/emptyState/emptyState.css +2 -2
  41. package/src/modules/dx/feature/feature.css +2 -2
  42. package/src/modules/dx/featuredContentHeader/featuredContentHeader.css +4 -4
  43. package/src/modules/dx/featuredContentHeader/featuredContentHeader.ts +2 -2
  44. package/src/modules/dx/featuresList/featuresList.css +2 -2
  45. package/src/modules/dx/featuresList/featuresList.ts +1 -1
  46. package/src/modules/dx/filterMenu/filterMenu.css +1 -1
  47. package/src/modules/dx/footer/footer.css +2 -2
  48. package/src/modules/dx/footer/footer.ts +2 -2
  49. package/src/modules/dx/footerOption/footerOption.ts +1 -1
  50. package/src/modules/dx/formattedDateTime/formattedDateTime.ts +5 -0
  51. package/src/modules/dx/groupText/groupText.css +2 -2
  52. package/src/modules/dx/groupText/groupText.ts +3 -3
  53. package/src/modules/dx/header/header.css +1 -1
  54. package/src/modules/dx/header/header.ts +2 -2
  55. package/src/modules/dx/headerMobileNavMenu/headerMobileNavMenu.css +1 -1
  56. package/src/modules/dx/headerMobileNavMenu/headerMobileNavMenu.ts +1 -1
  57. package/src/modules/dx/headerMobileNavMenuOption/headerMobileNavMenuOption.ts +1 -1
  58. package/src/modules/dx/headerNav/headerNav.css +1 -1
  59. package/src/modules/dx/headerSearch/headerSearch.css +1 -1
  60. package/src/modules/dx/headerSearch/headerSearch.ts +1 -1
  61. package/src/modules/dx/helmet/helmet.css +2 -2
  62. package/src/modules/dx/hr/hr.css +2 -2
  63. package/src/modules/dx/icon/icon.css +1 -1
  64. package/src/modules/dx/icon/icon.ts +1 -1
  65. package/src/modules/dx/iconBadge/iconBadge.css +1 -1
  66. package/src/modules/dx/iconBadge/iconBadge.ts +1 -1
  67. package/src/modules/dx/imageAndLabel/imageAndLabel.css +3 -3
  68. package/src/modules/dx/input/input.css +2 -2
  69. package/src/modules/dx/input/input.ts +1 -1
  70. package/src/modules/dx/logo/logo.css +2 -2
  71. package/src/modules/dx/modalDrawer/modalDrawer.ts +1 -1
  72. package/src/modules/dx/pagination/pagination.css +1 -1
  73. package/src/modules/dx/pagination/pagination.ts +1 -1
  74. package/src/modules/dx/podcastHost/podcastHost.css +2 -2
  75. package/src/modules/dx/popover/popover.css +1 -1
  76. package/src/modules/dx/popover/popover.ts +1 -1
  77. package/src/modules/dx/radioGroup/radioGroup.css +1 -1
  78. package/src/modules/dx/radioGroup/radioGroup.ts +1 -1
  79. package/src/modules/dx/section/section.css +2 -2
  80. package/src/modules/dx/section/section.ts +1 -1
  81. package/src/modules/dx/select/select.css +1 -1
  82. package/src/modules/dx/select/select.ts +1 -1
  83. package/src/modules/dx/sidebar/sidebar.css +2 -2
  84. package/src/modules/dx/sidebar/sidebar.ts +4 -4
  85. package/src/modules/dx/sidebarOld/sidebarOld.css +2 -2
  86. package/src/modules/dx/sidebarOld/sidebarOld.ts +3 -3
  87. package/src/modules/dx/sidebarSearch/sidebarSearch.ts +3 -3
  88. package/src/modules/dx/sidebarSearchResult/sidebarSearchResult.css +3 -3
  89. package/src/modules/dx/skipNavLink/skipNavLink.css +1 -1
  90. package/src/modules/dx/socials/socials.ts +1 -1
  91. package/src/modules/dx/tab/tab.css +1 -1
  92. package/src/modules/dx/tab/tab.ts +2 -2
  93. package/src/modules/dx/toc/toc.css +2 -2
  94. package/src/modules/dx/toc/toc.ts +1 -1
  95. package/src/modules/dx/topics/topics.ts +1 -1
  96. package/src/modules/dx/tree/tree.css +1 -1
  97. package/src/modules/dx/tree/tree.ts +1 -1
  98. package/src/modules/dx/treeItem/treeItem.css +6 -1
  99. package/src/modules/dx/treeItem/treeItem.ts +2 -2
  100. package/src/modules/dx/treeTile/treeTile.css +2 -2
  101. package/src/modules/dx/typeBadge/typeBadge.css +1 -1
  102. package/src/modules/dx/typeBadge/typeBadge.ts +1 -1
  103. package/src/modules/dx/typeBadgeGroup/typeBadgeGroup.ts +1 -1
  104. package/src/modules/dx/vimeoPlayer/vimeoPlayer.css +1 -1
  105. package/src/modules/{base-elements → dxBaseElements}/archiveCard/archiveCard.ts +0 -0
  106. package/src/modules/{base-elements → dxBaseElements}/headerBase/headerBase.ts +2 -2
  107. package/src/modules/{base-elements → dxBaseElements}/matchMediaElement/matchMediaElement.ts +1 -1
  108. package/src/modules/{base-elements → dxBaseElements}/sidebarBase/sidebarBase.ts +0 -0
  109. package/src/modules/{helpers → dxHelpers}/animations/animations.css +0 -0
  110. package/src/modules/{helpers → dxHelpers}/button/button.css +0 -0
  111. package/src/modules/{helpers → dxHelpers}/card/card.css +1 -1
  112. package/src/modules/{helpers → dxHelpers}/code/code.css +0 -0
  113. package/src/modules/{helpers → dxHelpers}/commonHeader/commonHeader.css +2 -2
  114. package/src/modules/{helpers → dxHelpers}/reset/reset.css +0 -0
  115. package/src/modules/{helpers → dxHelpers}/sidebar/sidebar.css +0 -0
  116. package/src/modules/{helpers → dxHelpers}/slds/slds.css +0 -0
  117. package/src/modules/{helpers → dxHelpers}/table/table.css +0 -0
  118. package/src/modules/{helpers → dxHelpers}/text/text.css +0 -0
  119. package/src/modules/dxUtils/analytics/analytics.ts +24 -0
  120. package/src/modules/{utils → dxUtils}/browser/browser.ts +0 -0
  121. package/src/modules/{utils → dxUtils}/constants/breakpoints.ts +0 -0
  122. package/src/modules/{utils → dxUtils}/constants/constants.ts +0 -0
  123. package/src/modules/{utils → dxUtils}/coveo/coveo.ts +0 -0
  124. package/src/modules/{utils → dxUtils}/css/css.ts +0 -0
  125. package/src/modules/{utils → dxUtils}/dates/dates.ts +0 -0
  126. package/src/modules/{utils → dxUtils}/devices/devices.ts +0 -0
  127. package/src/modules/{utils → dxUtils}/highlight/highlight.ts +1 -1
  128. package/src/modules/{utils → dxUtils}/normalizers/normalizers.ts +9 -21
  129. package/src/modules/{utils → dxUtils}/options/options.ts +0 -0
  130. package/src/modules/{utils → dxUtils}/prismjs/prismjs.html +0 -0
  131. package/src/modules/{utils → dxUtils}/prismjs/prismjs.ts +0 -0
  132. package/src/modules/{utils → dxUtils}/queryCoordinator/queryCoordinator.ts +0 -0
  133. package/src/modules/{utils → dxUtils}/recentSearches/recentSearches.ts +0 -0
  134. package/src/modules/{utils → dxUtils}/regexps/regexps.ts +0 -0
  135. package/src/modules/{utils → dxUtils}/seo/seo.ts +0 -0
  136. package/src/modules/{utils → dxUtils}/slot/slot.ts +0 -0
  137. package/src/modules/{utils → dxUtils}/wordpress/wordpress.ts +0 -0
  138. package/LICENSE +0 -12
  139. package/src/modules/dx/cardBlogPostProvider/cardBlogPostProvider.css +0 -3
  140. package/src/modules/dx/cardBlogPostProvider/cardBlogPostProvider.html +0 -16
  141. package/src/modules/dx/cardBlogPostProvider/cardBlogPostProvider.ts +0 -29
  142. package/src/modules/dx/cardPodcastEpisodeProvider/cardPodcastEpisodeProvider.css +0 -3
  143. package/src/modules/dx/cardPodcastEpisodeProvider/cardPodcastEpisodeProvider.html +0 -12
  144. package/src/modules/dx/cardPodcastEpisodeProvider/cardPodcastEpisodeProvider.ts +0 -29
  145. package/src/modules/dx/contentArchive/contentArchive.css +0 -242
  146. package/src/modules/dx/contentArchive/contentArchive.html +0 -337
  147. package/src/modules/dx/contentArchive/contentArchive.ts +0 -457
  148. package/src/modules/dx/contentArchive/contentArchive.types.ts +0 -6
  149. package/src/modules/dx/instrumentation/instrumentation.html +0 -1
  150. package/src/modules/dx/instrumentation/instrumentation.ts +0 -116
  151. package/src/modules/dx/newsletterForm/newsletterForm.css +0 -73
  152. package/src/modules/dx/newsletterForm/newsletterForm.html +0 -73
  153. package/src/modules/dx/newsletterForm/newsletterForm.ts +0 -238
  154. package/src/modules/dx/podcastSubscription/podcastSubscription.css +0 -91
  155. package/src/modules/dx/podcastSubscription/podcastSubscription.html +0 -24
  156. package/src/modules/dx/podcastSubscription/podcastSubscription.ts +0 -52
  157. package/src/modules/dx/searchResults/coveo.css +0 -18989
  158. package/src/modules/dx/searchResults/searchResults.css +0 -387
  159. package/src/modules/dx/searchResults/searchResults.html +0 -104
  160. package/src/modules/dx/searchResults/searchResults.ts +0 -186
  161. package/src/modules/dx/slackCta/slackCta.css +0 -47
  162. package/src/modules/dx/slackCta/slackCta.html +0 -17
  163. package/src/modules/dx/slackCta/slackCta.ts +0 -12
  164. package/src/modules/utils/contentArchive/altData.js +0 -3
  165. package/src/modules/utils/contentArchive/contentArchive.ts +0 -163
@@ -1,163 +0,0 @@
1
- import qs from "query-string";
2
-
3
- import {
4
- ArchivePost,
5
- ArchivePostNormalized,
6
- FilterMenuData
7
- } from "typings/custom";
8
- import altData from "./altData.js";
9
-
10
- let controller: AbortController | null = null;
11
-
12
- const ARCHIVE_BASE_URL = "https://developer.salesforce.com/blogs/wp-json/wp/v2";
13
- const ARCHIVE_CONTENT_URL = `${ARCHIVE_BASE_URL}/latest-post-per-site`;
14
- const ARCHIVE_FILTER_LIST_URL = `${ARCHIVE_BASE_URL}/archives-filters?order=DESC`;
15
-
16
- async function postsFetchHandler(url: string) {
17
- if (controller) {
18
- controller.abort();
19
- }
20
-
21
- controller = new AbortController();
22
- const { signal } = controller;
23
-
24
- const response = await fetch(url, { signal });
25
-
26
- if (response.ok) {
27
- return {
28
- posts: await response.json(),
29
- totalPages: Number(response.headers.get("x-wp-totalpages")),
30
- totalResults: Number(response.headers.get("x-wp-total"))
31
- };
32
- }
33
-
34
- console.error("Error fetching posts");
35
-
36
- return {
37
- posts: [],
38
- totalResults: 0,
39
- totalPages: 0
40
- };
41
- }
42
-
43
- function getAudioDuration(duration: string) {
44
- const durationSplit = duration.split(":");
45
- const hours = Number(durationSplit[0]);
46
- const minutes = Number(durationSplit[1]);
47
- const seconds = Number(durationSplit[2]);
48
-
49
- const roundSecondsIntoMinutes = Math.round(seconds / 60);
50
-
51
- return hours
52
- ? `${minutes + roundSecondsIntoMinutes * (hours * 60)} MIN`
53
- : `${minutes + roundSecondsIntoMinutes} MIN`;
54
- }
55
-
56
- function normalizePosts(posts: Array<ArchivePost>, contentType: string) {
57
- return posts.map((post) => ({
58
- id: post.id,
59
- title: post.title.rendered,
60
- date: post.date,
61
- contentType: post.sitename,
62
- href: post.link,
63
- ...(contentType === "expanded" && {
64
- excerpt: post.excerpt,
65
- duration: getAudioDuration(post.podcast_audio.duration),
66
- ...(post._embedded &&
67
- post._embedded.author[0].id && {
68
- author: post._embedded.author[0],
69
- authorImgSrc: post._embedded.author[0].avatar_urls["24"],
70
- topics: post._embedded["wp:term"][0].map(
71
- (term: any) => term.name
72
- )
73
- })
74
- })
75
- }));
76
- }
77
-
78
- export async function getArchivePosts(
79
- count: number = 10,
80
- page: number = 1,
81
- contentType: string = "minimal",
82
- filterMenuData: FilterMenuData
83
- ): Promise<ArchivePostNormalized> {
84
- const filterQuery = {
85
- site: filterMenuData.site.map((siteType) => siteType.id),
86
- dates: filterMenuData.dates.map((date) =>
87
- date.shortName ? date.shortName : date.id
88
- ),
89
- author: filterMenuData.authors.map((author) => author.id),
90
- category: filterMenuData.categories.map((category) => category.id)
91
- };
92
-
93
- const COMMON_FIELDS = [
94
- "id",
95
- "title",
96
- "date",
97
- "sitename",
98
- "link",
99
- "podcast_audio"
100
- ];
101
- const EXPANDED_FIELDS = [
102
- "excerpt",
103
- "_embedded",
104
- "_links.author",
105
- "_links.wp:term.0"
106
- ];
107
-
108
- const query: any = {
109
- ...filterQuery,
110
- _fields: ["id", "title", "date", "sitename", "link"],
111
- per_page: count,
112
- page
113
- };
114
-
115
- if (contentType === "minimal") {
116
- query._fields.filter((field: string) =>
117
- EXPANDED_FIELDS.includes(field)
118
- );
119
- delete query._embed;
120
- } else {
121
- query._fields = [...COMMON_FIELDS, ...EXPANDED_FIELDS];
122
- query._embed = ["author", "wp:term"];
123
- }
124
-
125
- const postsUrl = `${qs.stringifyUrl(
126
- {
127
- url: ARCHIVE_CONTENT_URL,
128
- query
129
- },
130
- { arrayFormat: "comma" }
131
- )}`;
132
-
133
- // need to format dates with brackets instead of commas
134
- const urlWithoutDates = qs.pick(
135
- postsUrl,
136
- (name: string) => name !== "dates"
137
- );
138
- const dateString = qs.stringify(
139
- { dates: query.dates },
140
- { arrayFormat: "bracket" }
141
- );
142
-
143
- const { posts, totalPages, totalResults } = await postsFetchHandler(
144
- `${urlWithoutDates}${dateString && "&"}${dateString}`
145
- );
146
-
147
- return {
148
- posts: normalizePosts(posts, contentType),
149
- totalPages,
150
- totalResults
151
- };
152
- }
153
-
154
- export async function getArchiveFilterList() {
155
- const response = await fetch(ARCHIVE_FILTER_LIST_URL);
156
-
157
- if (response.ok) {
158
- return response.json();
159
- }
160
-
161
- console.error("Error fetching filter list, using fallback instead");
162
- return altData;
163
- }