@salesforcedevs/dx-components 0.26.1-alpha.10 → 0.26.1-alpha.14

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 (281) hide show
  1. package/lwc.config.json +1 -1
  2. package/package.json +1 -7
  3. package/src/assets/icons/action-sprite/svg/symbols.svg +1 -0
  4. package/src/assets/icons/brand-sprite/svg/symbols.svg +1381 -0
  5. package/src/assets/icons/custom-sprite/svg/symbols.svg +1 -0
  6. package/src/assets/icons/doctype-sprite/svg/symbols.svg +1 -0
  7. package/src/assets/icons/general-sprite/svg/symbols.svg +3013 -0
  8. package/src/assets/icons/salesforcebrand-sprite/svg/symbols.svg +257 -0
  9. package/src/assets/icons/standard-sprite/svg/symbols.svg +1 -0
  10. package/src/assets/icons/utility-sprite/svg/symbols.svg +1 -0
  11. package/src/assets/svg/card-news-learn-moar.svg +415 -0
  12. package/src/assets/svg/cloud-1.svg +24 -0
  13. package/src/assets/svg/cloud-2.svg +18 -0
  14. package/src/assets/svg/codey.svg +93 -0
  15. package/src/assets/svg/command.svg +9 -0
  16. package/src/assets/svg/control.svg +10 -0
  17. package/src/assets/svg/docs-empty-state-small.svg +72 -0
  18. package/src/assets/svg/docs-empty-state.svg +86 -0
  19. package/src/assets/svg/dsc-home-news-bear.svg +3 -0
  20. package/src/assets/svg/dsc-home-news-community.png +0 -0
  21. package/src/assets/svg/dsc-home-news-goatbear.svg +257 -0
  22. package/src/assets/svg/dsc-home-news-samplegallery.svg +76 -0
  23. package/src/assets/svg/empty-state-assistant.svg +1 -0
  24. package/src/assets/svg/fch-blog-cloud-1.png +0 -0
  25. package/src/assets/svg/fch-blog-cloud-2.png +0 -0
  26. package/src/assets/svg/fch-blog-planet.png +0 -0
  27. package/src/assets/svg/feature-backdrop1.svg +10 -0
  28. package/src/assets/svg/feature-backdrop2.svg +10 -0
  29. package/src/assets/svg/featured-demo-art-blank.svg +76 -0
  30. package/src/assets/svg/featured-demo-art-eBikes.svg +77 -0
  31. package/src/assets/svg/footer-graphic-large.svg +207 -0
  32. package/src/assets/svg/footer-graphic-mountains-small.svg +17 -0
  33. package/src/assets/svg/footer-graphic-mountains.svg +21 -0
  34. package/src/assets/svg/footer-graphic-trees-small.svg +33 -0
  35. package/src/assets/svg/footer-graphic-trees.svg +62 -0
  36. package/src/assets/svg/lake-mountain.svg +79 -0
  37. package/src/assets/svg/podcast-subscription-clouds-small.svg +49 -0
  38. package/src/assets/svg/podcast-subscription-clouds.svg +57 -0
  39. package/src/assets/svg/podcasts-subscription-apple.svg +164 -0
  40. package/src/assets/svg/podcasts-subscription-google.svg +29 -0
  41. package/src/assets/svg/podcasts-subscription-spotify.svg +11 -0
  42. package/src/assets/svg/salesforce-cloud.svg +7 -0
  43. package/src/assets/svg/salesforce-logo-corporate.svg +21 -0
  44. package/src/assets/svg/salesforce-logo.svg +14 -0
  45. package/src/assets/svg/sidebar-loading.svg +34 -0
  46. package/src/assets/svg/slack-cta-podcast-background-left.svg +28 -0
  47. package/src/assets/svg/slack-cta-podcast-background-right.svg +38 -0
  48. package/src/assets/svg/trees.svg +42 -0
  49. package/src/modules/dx/cardBlogPostProvider/cardBlogPostProvider.ts +1 -1
  50. package/src/modules/dx/cardCallout/cardCallout.ts +1 -1
  51. package/src/modules/dx/cardContent/cardContent.ts +2 -2
  52. package/src/modules/dx/cardDocs/cardDocs.ts +1 -1
  53. package/src/modules/dx/cardExpanded/cardExpanded.ts +1 -1
  54. package/src/modules/dx/cardMinimal/cardMinimal.ts +1 -1
  55. package/src/modules/dx/cardNews/cardNews.ts +1 -1
  56. package/src/modules/dx/cardPodcastEpisodeProvider/cardPodcastEpisodeProvider.ts +1 -1
  57. package/src/modules/dx/cardSmall/cardSmall.ts +1 -1
  58. package/src/modules/dx/codeBlock/codeBlock.ts +1 -1
  59. package/src/modules/dx/dropdown/dropdown.ts +1 -1
  60. package/src/modules/dx/featuredContentHeader/featuredContentHeader.ts +1 -1
  61. package/src/modules/dx/groupText/groupText.ts +1 -1
  62. package/src/modules/dx/header/header.ts +1 -1
  63. package/src/modules/dx/headerMobileNavMenu/headerMobileNavMenu.ts +1 -1
  64. package/src/modules/dx/headerSearch/headerSearch.ts +1 -1
  65. package/src/modules/dx/icon/icon.ts +1 -1
  66. package/src/modules/dx/iconBadge/iconBadge.ts +1 -1
  67. package/src/modules/dx/input/input.ts +1 -1
  68. package/src/modules/dx/popover/popover.ts +1 -1
  69. package/src/modules/dx/section/section.ts +1 -1
  70. package/src/modules/dx/sidebar/sidebar.ts +1 -1
  71. package/src/modules/dx/sidebarSearch/sidebarSearch.ts +2 -2
  72. package/src/modules/dx/typeBadge/typeBadge.ts +1 -1
  73. package/src/modules/utils/archiveCard/archiveCard.ts +35 -0
  74. package/src/modules/utils/coveo/coveo.ts +70 -0
  75. package/src/modules/utils/css/css.ts +43 -0
  76. package/src/modules/utils/devices/devices.ts +1 -0
  77. package/src/modules/utils/headerBase/headerBase.ts +204 -0
  78. package/src/modules/utils/highlight/highlight.ts +1 -1
  79. package/src/modules/utils/options/options.ts +39 -0
  80. package/src/modules/utils/prismjs/prismjs.html +3 -0
  81. package/src/modules/utils/prismjs/prismjs.ts +3321 -0
  82. package/src/modules/utils/recentSearches/recentSearches.ts +57 -0
  83. package/src/modules/utils/regexps/regexps.ts +5 -0
  84. package/src/modules/utils/seo/seo.ts +4 -0
  85. package/src/modules/utils/slot/slot.ts +17 -0
  86. package/src/modules/utils/wordpress/wordpress.ts +13 -0
  87. package/src/modules/dx/.DS_Store +0 -0
  88. package/src/modules/dx/banner/__tests__/banner.test.ts +0 -33
  89. package/src/modules/dx/brandThemeProvider/__tests__/brandThemeProvider.test.ts +0 -49
  90. package/src/modules/dx/brandThemeProvider/brandThemeProvider.stories.ts +0 -321
  91. package/src/modules/dx/breadcrumbs/__tests__/breadcrumbs.test.ts +0 -140
  92. package/src/modules/dx/breadcrumbs/__tests__/mockProps.ts +0 -28
  93. package/src/modules/dx/breadcrumbs/breadcrumbs.stories.ts +0 -39
  94. package/src/modules/dx/button/__tests__/button.test.ts +0 -107
  95. package/src/modules/dx/button/button.stories.ts +0 -150
  96. package/src/modules/dx/cardBlogPost/__tests__/cardBlogPost.test.ts +0 -26
  97. package/src/modules/dx/cardBlogPost/__tests__/mockProps.ts +0 -12
  98. package/src/modules/dx/cardBlogPost/cardBlogPost.stories.ts +0 -164
  99. package/src/modules/dx/cardBlogPostProvider/__tests__/cardBlogPostProvider.test.ts +0 -34
  100. package/src/modules/dx/cardBlogPostProvider/__tests__/mockWordpressPosts.ts +0 -44
  101. package/src/modules/dx/cardCallout/__tests__/cardCallout.test.ts +0 -20
  102. package/src/modules/dx/cardCallout/__tests__/mockProps.ts +0 -7
  103. package/src/modules/dx/cardCallout/cardCallout.stories.ts +0 -33
  104. package/src/modules/dx/cardContent/__tests__/cardContent.test.ts +0 -100
  105. package/src/modules/dx/cardContent/__tests__/mockProps.ts +0 -13
  106. package/src/modules/dx/cardContent/cardContent.stories.ts +0 -127
  107. package/src/modules/dx/cardDemo/cardDemo.stories.ts +0 -115
  108. package/src/modules/dx/cardDocs/__tests__/cardDocs.test.ts +0 -48
  109. package/src/modules/dx/cardDocs/__tests__/mockProps.ts +0 -9
  110. package/src/modules/dx/cardDocs/cardDocs.stories.ts +0 -299
  111. package/src/modules/dx/cardEvent/__tests__/cardEvent.test.ts +0 -95
  112. package/src/modules/dx/cardEvent/__tests__/mockProps.ts +0 -10
  113. package/src/modules/dx/cardEvent/cardEvent.stories.ts +0 -153
  114. package/src/modules/dx/cardExpanded/__tests__/cardExpanded.test.ts +0 -193
  115. package/src/modules/dx/cardExpanded/__tests__/mockProps.ts +0 -21
  116. package/src/modules/dx/cardExpanded/cardExpanded.stories.ts +0 -59
  117. package/src/modules/dx/cardGrid/__tests__/cardMockProps.ts +0 -431
  118. package/src/modules/dx/cardGrid/__tests__/mockProps.ts +0 -15
  119. package/src/modules/dx/cardGrid/cardGrid.stories.ts +0 -111
  120. package/src/modules/dx/cardMinimal/__tests__/cardMinimal.test.ts +0 -87
  121. package/src/modules/dx/cardMinimal/__tests__/mockProps.ts +0 -10
  122. package/src/modules/dx/cardMinimal/cardMinimal.stories.ts +0 -32
  123. package/src/modules/dx/cardNews/__tests__/cardNews.test.ts +0 -58
  124. package/src/modules/dx/cardNews/__tests__/mockProps.ts +0 -7
  125. package/src/modules/dx/cardNews/cardNews.stories.ts +0 -115
  126. package/src/modules/dx/cardPodcastEpisode/__tests__/cardPodcastEpisode.test.ts +0 -68
  127. package/src/modules/dx/cardPodcastEpisode/cardPodcastEpisode.stories.ts +0 -31
  128. package/src/modules/dx/cardPodcastEpisodeProvider/__tests__/cardPodcastEpisodeProvider.test.ts +0 -36
  129. package/src/modules/dx/cardPodcastEpisodeProvider/__tests__/mockWordpressEpisodes.ts +0 -50
  130. package/src/modules/dx/cardSmall/__tests__/cardSmall.test.ts +0 -66
  131. package/src/modules/dx/cardSmall/__tests__/mockProps.ts +0 -8
  132. package/src/modules/dx/cardSmall/cardSmall.stories.ts +0 -166
  133. package/src/modules/dx/cardTitle/__tests__/cardTitle.test.ts +0 -46
  134. package/src/modules/dx/cardTrailheadModule/__tests__/cardTrailheadModule.test.ts +0 -18
  135. package/src/modules/dx/cardTrailheadModule/__tests__/mockProps.ts +0 -11
  136. package/src/modules/dx/cardTrailheadModule/cardTrailheadModule.stories.ts +0 -122
  137. package/src/modules/dx/cardVideoPreview/__tests__/cardVideoPreview.test.ts +0 -22
  138. package/src/modules/dx/cardVideoPreview/__tests__/mockProps.ts +0 -11
  139. package/src/modules/dx/cardVideoPreview/cardVideoPreview.stories.ts +0 -147
  140. package/src/modules/dx/checkbox/__tests__/checkbox.test.ts +0 -85
  141. package/src/modules/dx/checkbox/__tests__/mockProps.ts +0 -5
  142. package/src/modules/dx/checkbox/checkbox.stories.ts +0 -38
  143. package/src/modules/dx/checkboxGroup/__tests__/checkboxGroup.test.ts +0 -80
  144. package/src/modules/dx/checkboxGroup/__tests__/mockProps.ts +0 -14
  145. package/src/modules/dx/checkboxGroup/checkboxGroup.stories.ts +0 -33
  146. package/src/modules/dx/codeBlock/__tests__/codeBlock.test.ts +0 -238
  147. package/src/modules/dx/codeBlock/__tests__/mockProps.ts +0 -160
  148. package/src/modules/dx/codeBlock/codeBlock.stories.ts +0 -143
  149. package/src/modules/dx/dropdown/__tests__/dropdown.test.ts +0 -165
  150. package/src/modules/dx/dropdown/__tests__/mockNestedOptions.ts +0 -96
  151. package/src/modules/dx/dropdown/__tests__/mockOptions.ts +0 -10
  152. package/src/modules/dx/dropdown/__tests__/mockProps.ts +0 -6
  153. package/src/modules/dx/dropdown/dropdown.stories.ts +0 -89
  154. package/src/modules/dx/dropdownOption/__tests__/dropdownOption.test.ts +0 -112
  155. package/src/modules/dx/dropdownOption/__tests__/mockProps.ts +0 -20
  156. package/src/modules/dx/emptyState/__tests__/emptyState.test.ts +0 -52
  157. package/src/modules/dx/emptyState/__tests__/mockProps.ts +0 -4
  158. package/src/modules/dx/emptyState/emptyState.stories.ts +0 -45
  159. package/src/modules/dx/feature/__tests__/feature.test.ts +0 -51
  160. package/src/modules/dx/feature/__tests__/mockProps.ts +0 -8
  161. package/src/modules/dx/featureGrid/__tests__/featureGrid.test.ts +0 -21
  162. package/src/modules/dx/featureGrid/featureGrid.stories.ts +0 -120
  163. package/src/modules/dx/featuredContentHeader/__tests__/featuredContentHeader.test.ts +0 -178
  164. package/src/modules/dx/featuredContentHeader/__tests__/mockProps.ts +0 -73
  165. package/src/modules/dx/featuredContentHeader/featuredContentHeader.stories.ts +0 -153
  166. package/src/modules/dx/featuresList/__tests__/featuresList.test.ts +0 -43
  167. package/src/modules/dx/featuresList/__tests__/mockProps.ts +0 -17
  168. package/src/modules/dx/featuresList/featuresList.stories.ts +0 -30
  169. package/src/modules/dx/footer/__tests__/footer.test.ts +0 -147
  170. package/src/modules/dx/footer/__tests__/mockLocales.ts +0 -7
  171. package/src/modules/dx/footer/footer.stories.ts +0 -88
  172. package/src/modules/dx/footerOption/__tests__/footerOption.test.ts +0 -34
  173. package/src/modules/dx/footerOption/__tests__/mockProps.ts +0 -7
  174. package/src/modules/dx/formattedDateTime/__tests__/formattedDateTime.test.ts +0 -25
  175. package/src/modules/dx/formattedDateTime/__tests__/mockProps.ts +0 -13
  176. package/src/modules/dx/formattedDateTime/formattedDateTime.stories.ts +0 -103
  177. package/src/modules/dx/grid/__tests__/grid.test.ts +0 -32
  178. package/src/modules/dx/grid/grid.stories.ts +0 -134
  179. package/src/modules/dx/groupBio/__tests__/groupBio.test.ts +0 -82
  180. package/src/modules/dx/groupBio/__tests__/mockProps.ts +0 -15
  181. package/src/modules/dx/groupBio/groupBio.stories.ts +0 -66
  182. package/src/modules/dx/groupText/__tests__/groupText.test.ts +0 -69
  183. package/src/modules/dx/groupText/__tests__/mockProps.ts +0 -35
  184. package/src/modules/dx/groupText/groupText.stories.ts +0 -81
  185. package/src/modules/dx/header/__tests__/header.test.ts +0 -236
  186. package/src/modules/dx/header/__tests__/mockNavArchitects.ts +0 -169
  187. package/src/modules/dx/header/__tests__/mockNavDevelopers.ts +0 -419
  188. package/src/modules/dx/header/__tests__/mockNavs.ts +0 -115
  189. package/src/modules/dx/header/__tests__/mockProps.ts +0 -164
  190. package/src/modules/dx/header/header.stories.ts +0 -172
  191. package/src/modules/dx/headerMobileNavMenu/__tests__/headerMobileNavMenu.test.ts +0 -123
  192. package/src/modules/dx/headerMobileNavMenuOption/__tests__/headerMobileNavMenuOption.test.ts +0 -38
  193. package/src/modules/dx/headerNav/__tests__/headerNav.test.ts +0 -49
  194. package/src/modules/dx/headerSearch/__tests__/headerSearch.test.ts +0 -182
  195. package/src/modules/dx/headerSearch/__tests__/mockData.ts +0 -11
  196. package/src/modules/dx/headerSearch/__tests__/mockProps.ts +0 -6
  197. package/src/modules/dx/helmet/__tests__/helmet.test.ts +0 -52
  198. package/src/modules/dx/helmet/helmet.stories.ts +0 -53
  199. package/src/modules/dx/hr/__tests__/hr.test.ts +0 -53
  200. package/src/modules/dx/hr/__tests__/mockProps.ts +0 -16
  201. package/src/modules/dx/hr/hr.stories.ts +0 -50
  202. package/src/modules/dx/icon/__tests__/icon.test.ts +0 -54
  203. package/src/modules/dx/icon/icon.stories.ts +0 -100
  204. package/src/modules/dx/iconBadge/__tests__/iconBadge.test.ts +0 -17
  205. package/src/modules/dx/iconBadge/iconBadge.stories.ts +0 -32
  206. package/src/modules/dx/imageAndLabel/__tests__/imageAndLabel.test.ts +0 -39
  207. package/src/modules/dx/imageAndLabel/__tests__/mockProps.ts +0 -6
  208. package/src/modules/dx/imageAndLabel/imageAndLabel.stories.ts +0 -48
  209. package/src/modules/dx/input/__tests__/input.test.ts +0 -357
  210. package/src/modules/dx/input/input.stories.ts +0 -102
  211. package/src/modules/dx/instrumentation/__tests__/instrumentation.test.ts +0 -86
  212. package/src/modules/dx/interactiveImage/__tests__/interactiveImage.test.ts +0 -83
  213. package/src/modules/dx/interactiveImage/__tests__/mockProps.ts +0 -39
  214. package/src/modules/dx/interactiveImage/interactiveImage.stories.ts +0 -31
  215. package/src/modules/dx/lazy/__tests__/lazy.test.ts +0 -43
  216. package/src/modules/dx/lazy/lazy.stories.ts +0 -132
  217. package/src/modules/dx/pagination/__tests__/pagination.test.ts +0 -121
  218. package/src/modules/dx/pagination/pagination.stories.ts +0 -88
  219. package/src/modules/dx/podcastHost/__tests__/mockProps.ts +0 -8
  220. package/src/modules/dx/podcastHost/__tests__/podcastHost.test.ts +0 -21
  221. package/src/modules/dx/podcastHost/podcastHost.stories.ts +0 -17
  222. package/src/modules/dx/podcastPlayer/__tests__/podcastPlayer.test.ts +0 -20
  223. package/src/modules/dx/podcastPlayer/podcastPlayer.stories.ts +0 -13
  224. package/src/modules/dx/podcastSubscription/__tests__/podcastSubscription.test.ts +0 -16
  225. package/src/modules/dx/podcastSubscription/podcastSubscription.stories.ts +0 -23
  226. package/src/modules/dx/popover/__tests__/mockProps.ts +0 -8
  227. package/src/modules/dx/popover/__tests__/popover.test.ts +0 -313
  228. package/src/modules/dx/popover/popover.stories.ts +0 -82
  229. package/src/modules/dx/radioGroup/__tests__/mockProps.ts +0 -12
  230. package/src/modules/dx/radioGroup/__tests__/radioGroup.test.ts +0 -42
  231. package/src/modules/dx/radioGroup/radioGroup.stories.ts +0 -25
  232. package/src/modules/dx/relativeDateTime/__tests__/mockProps.ts +0 -55
  233. package/src/modules/dx/relativeDateTime/__tests__/relativeDateTime.test.ts +0 -52
  234. package/src/modules/dx/relativeDateTime/relativeDateTime.stories.ts +0 -83
  235. package/src/modules/dx/searchResults/searchResults.stories.ts +0 -36
  236. package/src/modules/dx/section/__tests__/section.test.ts +0 -17
  237. package/src/modules/dx/section/section.stories.ts +0 -381
  238. package/src/modules/dx/sectionSignup/__tests__/sectionSignup.test.ts +0 -66
  239. package/src/modules/dx/sectionSignup/sectionSignup.stories.ts +0 -49
  240. package/src/modules/dx/select/select.stories.ts +0 -59
  241. package/src/modules/dx/sidebar/__tests__/mockProps.ts +0 -181
  242. package/src/modules/dx/sidebar/__tests__/mockSearchChangeEmptyEvent.ts +0 -6
  243. package/src/modules/dx/sidebar/__tests__/mockSearchChangeEvent.ts +0 -527
  244. package/src/modules/dx/sidebar/__tests__/sidebar.test.ts +0 -568
  245. package/src/modules/dx/sidebar/sidebar.stories.ts +0 -188
  246. package/src/modules/dx/sidebarOld/__tests__/mockProps.ts +0 -178
  247. package/src/modules/dx/sidebarOld/__tests__/sidebarOld.test.ts +0 -570
  248. package/src/modules/dx/sidebarOld/sidebarOld.stories.ts +0 -139
  249. package/src/modules/dx/sidebarSearch/__tests__/mockPreloadedState.ts +0 -1686
  250. package/src/modules/dx/sidebarSearch/__tests__/sidebarSearch.test.ts +0 -175
  251. package/src/modules/dx/sidebarSearchResult/__tests__/sidebarSearchResult.test.ts +0 -96
  252. package/src/modules/dx/slackCta/__tests__/slackCta.test.ts +0 -48
  253. package/src/modules/dx/slackCta/slackCta.stories.ts +0 -25
  254. package/src/modules/dx/socials/__tests__/socials.test.ts +0 -114
  255. package/src/modules/dx/socials/socials.stories.ts +0 -24
  256. package/src/modules/dx/spinner/__tests__/spinner.test.ts +0 -37
  257. package/src/modules/dx/spinner/spinner.stories.ts +0 -69
  258. package/src/modules/dx/tab/__tests__/tab.test.ts +0 -129
  259. package/src/modules/dx/tab/tab.stories.ts +0 -57
  260. package/src/modules/dx/toc/__tests__/mockProps.ts +0 -28
  261. package/src/modules/dx/toc/__tests__/toc.test.ts +0 -109
  262. package/src/modules/dx/toc/toc.stories.ts +0 -26
  263. package/src/modules/dx/tooltip/__tests__/tooltip.test.ts +0 -22
  264. package/src/modules/dx/tooltip/tooltip.stories.ts +0 -46
  265. package/src/modules/dx/topics/__tests__/mockProps.ts +0 -3
  266. package/src/modules/dx/topics/__tests__/topics.test.ts +0 -31
  267. package/src/modules/dx/tree/__tests__/mockProps.ts +0 -215
  268. package/src/modules/dx/tree/__tests__/tree.test.ts +0 -346
  269. package/src/modules/dx/tree/__tests__/treeHandler.test.ts +0 -194
  270. package/src/modules/dx/tree/tree.stories.ts +0 -65
  271. package/src/modules/dx/treeItem/__tests__/mockProps.ts +0 -46
  272. package/src/modules/dx/treeItem/__tests__/treeItem.test.ts +0 -377
  273. package/src/modules/dx/treeTile/__tests__/mockProps.ts +0 -16
  274. package/src/modules/dx/treeTile/__tests__/treeTile.test.ts +0 -168
  275. package/src/modules/dx/typeBadge/__tests__/typeBadge.test.ts +0 -77
  276. package/src/modules/dx/typeBadge/typeBadge.stories.ts +0 -114
  277. package/src/modules/dx/typeBadgeGroup/__tests__/mockProps.ts +0 -11
  278. package/src/modules/dx/typeBadgeGroup/__tests__/typeBadgeGroup.test.ts +0 -72
  279. package/src/modules/dx/typeBadgeGroup/typeBadgeGroup.stories.ts +0 -19
  280. package/src/modules/utils/highlight/__tests__/highlight.test.ts +0 -108
  281. package/src/modules/utils/highlight/__tests__/mockProps.ts +0 -45
@@ -1,175 +0,0 @@
1
- import { createElement } from "lwc";
2
- import SidebarSearch from "dx/sidebarSearch";
3
- import {
4
- createRenderComponent,
5
- renderLightningElement
6
- } from "utils-internal/tests";
7
- import { coveoXMLDocsConfig } from "utils-internal/coveo";
8
- import { mockQueryParameter, unmockQueryParameter } from "utils-internal/jest";
9
- import { SESSION_KEY } from "dx/sidebarSearch";
10
- import mockPreloadedState from "./mockPreloadedState";
11
-
12
- const TAG = "dx-sidebar-search";
13
- const render = createRenderComponent(TAG, SidebarSearch);
14
-
15
- const PROPS = coveoXMLDocsConfig;
16
- const QUERY = "test";
17
-
18
- describe(TAG, () => {
19
- beforeEach(() => {
20
- window.sessionStorage.clear();
21
- jest.restoreAllMocks();
22
- });
23
- afterEach(unmockQueryParameter);
24
-
25
- it("correctly sets coveo advanced configuration", () => {
26
- const element = render(PROPS);
27
-
28
- element.coveoAdvancedQueryConfig = JSON.stringify(
29
- coveoXMLDocsConfig.coveoAdvancedQueryConfig
30
- );
31
-
32
- expect(element.coveoAdvancedQueryConfig).toEqual(
33
- coveoXMLDocsConfig.coveoAdvancedQueryConfig
34
- );
35
-
36
- return expect(element).toBeAccessible();
37
- });
38
-
39
- it("calls dispatchOnChangeEvent with empty query", () => {
40
- const element = render(PROPS);
41
-
42
- const mockOnChange = jest.fn();
43
-
44
- element.addEventListener("change", mockOnChange);
45
-
46
- element.setInputValue("reference");
47
- element.setInputValue("");
48
-
49
- expect(mockOnChange).toHaveBeenCalled();
50
- return expect(element).toBeAccessible();
51
- });
52
-
53
- it("renders with the correct initial empty query", () => {
54
- const element = render(PROPS);
55
-
56
- const input = element.shadowRoot.querySelector("dx-input");
57
-
58
- expect(input.value).toEqual("");
59
-
60
- return expect(element).toBeAccessible();
61
- });
62
-
63
- it("renders with the correct initial query", () => {
64
- mockQueryParameter(QUERY);
65
-
66
- const element = render(PROPS);
67
-
68
- const input = element.shadowRoot.querySelector("dx-input");
69
-
70
- expect(input.value).toEqual(QUERY);
71
-
72
- return expect(element).toBeAccessible();
73
- });
74
-
75
- describe("highlighting", () => {
76
- afterEach(unmockQueryParameter);
77
-
78
- it("triggers on initial render when a search value exists", () => {
79
- mockQueryParameter(QUERY);
80
- const element = createElement(TAG, { is: SidebarSearch });
81
- const dispatchEventSpy = jest.spyOn(element, "dispatchEvent");
82
- renderLightningElement(element, PROPS);
83
- expect(dispatchEventSpy).toHaveBeenCalledWith(
84
- expect.objectContaining({
85
- type: "highlightedtermchange",
86
- detail: QUERY
87
- })
88
- );
89
- });
90
-
91
- it("does not trigger on initial render when a search value does not exist", () => {
92
- const element = createElement(TAG, { is: SidebarSearch });
93
- const dispatchEventSpy = jest.spyOn(element, "dispatchEvent");
94
- renderLightningElement(element, PROPS);
95
- expect(dispatchEventSpy).not.toHaveBeenCalledWith(
96
- expect.objectContaining({ type: "highlightedtermchange" })
97
- );
98
- });
99
-
100
- it("triggers on input change with non-empty value", () => {
101
- const element = render(PROPS);
102
- const dxInput = element.shadowRoot.querySelector("dx-input");
103
- const dispatchEventSpy = jest.spyOn(element, "dispatchEvent");
104
-
105
- dxInput.dispatchEvent(new CustomEvent("change", { detail: QUERY }));
106
-
107
- expect(dispatchEventSpy).toHaveBeenCalledWith(
108
- expect.objectContaining({
109
- type: "highlightedtermchange",
110
- detail: QUERY
111
- })
112
- );
113
- });
114
-
115
- it("triggers on input change with empty value", () => {
116
- const element = render(PROPS);
117
- const dxInput = element.shadowRoot.querySelector("dx-input");
118
- const dispatchEventSpy = jest.spyOn(element, "dispatchEvent");
119
-
120
- dxInput.dispatchEvent(new CustomEvent("change", { detail: "" }));
121
-
122
- expect(dispatchEventSpy).toHaveBeenCalledWith(
123
- expect.objectContaining({
124
- type: "highlightedtermchange",
125
- detail: ""
126
- })
127
- );
128
- });
129
- });
130
-
131
- it("correctly consumes a valid session storage object", () => {
132
- mockQueryParameter(mockPreloadedState.state.query.q);
133
-
134
- window.sessionStorage.setItem(
135
- SESSION_KEY,
136
- JSON.stringify(mockPreloadedState)
137
- );
138
-
139
- const element = render(PROPS);
140
-
141
- expect(window.sessionStorage.getItem(SESSION_KEY)).not.toBeNull();
142
-
143
- expect(element).toBeAccessible();
144
- });
145
-
146
- it("ignores and deletes a session storage object if query and config don't match", () => {
147
- mockQueryParameter("test");
148
-
149
- window.sessionStorage.setItem(
150
- SESSION_KEY,
151
- JSON.stringify(mockPreloadedState)
152
- );
153
-
154
- const element = render(PROPS);
155
-
156
- expect(window.sessionStorage.getItem(SESSION_KEY)).toBeNull();
157
-
158
- expect(element).toBeAccessible();
159
- });
160
-
161
- it("ignores and deletes a session storage object on incorrect config", () => {
162
- mockQueryParameter(mockPreloadedState.state.query.q);
163
-
164
- window.sessionStorage.setItem(
165
- SESSION_KEY,
166
- JSON.stringify({ state: { query: { q: "test" } } })
167
- );
168
-
169
- const element = render(PROPS);
170
-
171
- expect(window.sessionStorage.getItem(SESSION_KEY)).toBeNull();
172
-
173
- expect(element).toBeAccessible();
174
- });
175
- });
@@ -1,96 +0,0 @@
1
- import SidebarSearchResult from "dx/sidebarSearchResult";
2
- import { createRenderComponent } from "utils-internal/tests";
3
-
4
- const TAG = "dx-sidebar-search-result";
5
- const render = createRenderComponent(TAG, SidebarSearchResult);
6
-
7
- const MOCK_RESULT = {
8
- description: "test description here",
9
- descriptionHighlights: [{ length: 5, offset: 5 }],
10
- href: "/test",
11
- selected: false,
12
- title: "test title here",
13
- titleHighlights: [{ length: 5, offset: 5 }]
14
- };
15
-
16
- const MOCK_RESULT_2 = {
17
- description:
18
- "Auth.MyDomainLoginDiscoveryHandler to show a custom error message on the My Domain login page ... Auth.LoginDiscoveryHandler to show an error message on the Experience Cloud site login page",
19
- descriptionHighlights: [
20
- { length: 4, offset: 0 },
21
- { length: 4, offset: 98 }
22
- ],
23
- href: "/test",
24
- selected: false,
25
- title: "Auth Exceptions | Apex Reference Guide | Salesforce Developers",
26
- titleHighlights: [{ length: 4, offset: 0 }]
27
- };
28
-
29
- describe(TAG, () => {
30
- it("renders a result with the correct highlighted content", () => {
31
- const element = render(MOCK_RESULT);
32
-
33
- const title = element.shadowRoot.querySelector(".title");
34
- const titleBolds = element.shadowRoot.querySelectorAll(".title .bold");
35
- expect(title.textContent).toEqual(MOCK_RESULT.title);
36
- expect(titleBolds.length).toEqual(MOCK_RESULT.titleHighlights.length);
37
- expect(titleBolds[0].textContent).toEqual("title");
38
-
39
- const description = element.shadowRoot.querySelector(".description");
40
- const descriptionBolds =
41
- element.shadowRoot.querySelectorAll(".description .bold");
42
- expect(description.textContent).toEqual(MOCK_RESULT.description);
43
- expect(descriptionBolds.length).toEqual(
44
- MOCK_RESULT.descriptionHighlights.length
45
- );
46
- expect(descriptionBolds[0].textContent).toEqual("descr");
47
-
48
- return expect(element).toBeAccessible();
49
- });
50
-
51
- it("renders another result variant with the correct highlighted content", () => {
52
- const element = render(MOCK_RESULT_2);
53
-
54
- const title = element.shadowRoot.querySelector(".title");
55
- const titleBolds = element.shadowRoot.querySelectorAll(".title .bold");
56
- expect(title.textContent).toEqual(MOCK_RESULT_2.title);
57
- expect(titleBolds.length).toEqual(MOCK_RESULT_2.titleHighlights.length);
58
- expect(titleBolds[0].textContent).toEqual("Auth");
59
-
60
- const description = element.shadowRoot.querySelector(".description");
61
- const descriptionBolds =
62
- element.shadowRoot.querySelectorAll(".description .bold");
63
- expect(description.textContent).toEqual(MOCK_RESULT_2.description);
64
- expect(descriptionBolds.length).toEqual(
65
- MOCK_RESULT_2.descriptionHighlights.length
66
- );
67
- expect(descriptionBolds[0].textContent).toEqual("Auth");
68
- expect(descriptionBolds[1].textContent).toEqual("Auth");
69
-
70
- return expect(element).toBeAccessible();
71
- });
72
-
73
- it("renders a result as selected when specified", () => {
74
- const element = render({ ...MOCK_RESULT, selected: true });
75
-
76
- const selected = element.shadowRoot.querySelector(
77
- ".sidebar-item-selected"
78
- );
79
- expect(selected).not.toBeNull();
80
-
81
- return expect(element).toBeAccessible();
82
- });
83
-
84
- it("doesn't add bold class when there is no highlighted term", () => {
85
- const element = render({
86
- ...MOCK_RESULT,
87
- descriptionHighlights: [],
88
- titleHighlights: []
89
- });
90
-
91
- const selected = element.shadowRoot.querySelector(".bold");
92
- expect(selected).toBeNull();
93
-
94
- return expect(element).toBeAccessible();
95
- });
96
- });
@@ -1,48 +0,0 @@
1
- import slackCta from "dx/slackCta";
2
- import { createRenderComponent } from "utils-internal/tests";
3
-
4
- const TAG = "dx-slack-cta";
5
- const render = createRenderComponent(TAG, slackCta);
6
-
7
- describe(TAG, () => {
8
- it("renders the button linking to slack", () => {
9
- const element = render();
10
-
11
- const slackBtn = element.shadowRoot.querySelectorAll(".button");
12
- expect(slackBtn).not.toBe(undefined);
13
- return expect(slackBtn.length).toBe(1);
14
- });
15
-
16
- it("renders a button meeting all accesibilty requirements", () => {
17
- const element = render();
18
- return expect(element).toBeAccessible();
19
- });
20
-
21
- it("renders the inner button text correctly", () => {
22
- const element = render({
23
- innerText: "foobar"
24
- });
25
-
26
- const header = element.shadowRoot
27
- .querySelectorAll(".container")
28
- .item(0);
29
- expect(header.textContent).toBe("Follow along with Slackfoobar");
30
-
31
- const slackBtn = element.shadowRoot.querySelectorAll(".button").item(0);
32
- return expect(slackBtn.textContent).toBe("foobar");
33
- });
34
-
35
- it("renders the header text correctly", () => {
36
- const element = render({
37
- headerText: "foobar"
38
- });
39
-
40
- const slackBtn = element.shadowRoot.querySelectorAll(".button").item(0);
41
- expect(slackBtn.textContent).toBe("Add to Slack");
42
-
43
- const header = element.shadowRoot
44
- .querySelectorAll(".container")
45
- .item(0);
46
- return expect(header.textContent).toBe("foobarAdd to Slack");
47
- });
48
- });
@@ -1,25 +0,0 @@
1
- export default {
2
- title: "dx/dx-slack-cta",
3
- component: "dx-slack-cta"
4
- };
5
-
6
- const createStyles = () => `
7
- <style>
8
- h2 {
9
- font-weight: bold;
10
- font-size: 24px;
11
- margin: 10px 0 30px 0;
12
- }
13
- </style>
14
- `;
15
-
16
- export const Base = () => `
17
- ${createStyles()}
18
- <h2>Add to Slack</h2>
19
-
20
- <dx-slack-cta header-text="Get notified of new episodes with the new Salesforce Developers Slack app" background="podcast"></dx-slack-cta>
21
-
22
- <dx-slack-cta header-text="Get the latest Salesforce Developer posts exactly how you want." inner-text="Send posts to Slack" background="blog"></dx-slack-cta>
23
-
24
- <dx-slack-cta header-text="Get notified of new events with the new Salesforce Developers Slack app"></dx-slack-cta>
25
- `;
@@ -1,114 +0,0 @@
1
- import Socials from "dx/socials";
2
- import IconBadge from "dx/iconBadge";
3
- import { createRenderComponent } from "utils-internal/tests";
4
-
5
- const TAG = "dx-socials";
6
- const render = createRenderComponent(TAG, Socials);
7
-
8
- const TEST_URL = encodeURIComponent(window.location.href);
9
-
10
- describe(TAG, () => {
11
- const originalConsole = global.console;
12
-
13
- beforeAll(() => {
14
- global.console = { ...global.console, error: jest.fn() };
15
- });
16
-
17
- afterAll(() => {
18
- global.console = originalConsole;
19
- });
20
-
21
- it("renders dx-icon-badge for each social link", () => {
22
- const component = render();
23
-
24
- const links: Array<HTMLAnchorElement> =
25
- component.shadowRoot.querySelectorAll("a");
26
- expect(links).toHaveLength(3);
27
-
28
- const [facebookLink, twitterLink, linkedinLink] = links;
29
-
30
- expect(facebookLink.href).toBe(
31
- `https://www.facebook.com/sharer/sharer.php?u=${TEST_URL}`
32
- );
33
- expect(facebookLink.target).toBe("_blank");
34
- expect(facebookLink.title).toBe("Facebook");
35
-
36
- expect(twitterLink.href).toBe(
37
- `https://twitter.com/intent/tweet?url=${TEST_URL}&text=${document.title}`
38
- );
39
- expect(twitterLink.target).toBe("_blank");
40
- expect(twitterLink.title).toBe("Twitter");
41
-
42
- expect(linkedinLink.href).toBe(
43
- `http://www.linkedin.com/sharing/share-offsite/?url=${TEST_URL}`
44
- );
45
- expect(linkedinLink.target).toBe("_blank");
46
- expect(linkedinLink.title).toBe("Linkedin");
47
-
48
- const iconBadge: Array<IconBadge> =
49
- component.shadowRoot.querySelectorAll("dx-icon-badge");
50
- expect(iconBadge).toHaveLength(3);
51
-
52
- const [facebookIcon, twitterIcon, linkedinIcon] = iconBadge;
53
-
54
- expect(facebookIcon.sprite).toBe("brand");
55
- expect(facebookIcon.symbol).toBe("facebook-f");
56
-
57
- expect(twitterIcon.sprite).toBe("brand");
58
- expect(twitterIcon.symbol).toBe("twitter");
59
-
60
- expect(linkedinIcon.sprite).toBe("brand");
61
- expect(linkedinIcon.symbol).toBe("linkedin-in");
62
-
63
- const detailSection =
64
- component.shadowRoot.querySelector(".details-section");
65
- expect(detailSection).toBeNull();
66
-
67
- return expect(component).toBeAccessible();
68
- });
69
-
70
- it("renders the specified target for each 'a' tag", () => {
71
- const expectedTarget = "_self";
72
- const component = render({ linksTarget: expectedTarget });
73
-
74
- const links: Array<HTMLAnchorElement> =
75
- component.shadowRoot.querySelectorAll("a");
76
- expect(links).toHaveLength(3);
77
- links.forEach(({ target }) => expect(target).toBe(expectedTarget));
78
-
79
- expect(global.console.error).not.toBeCalled();
80
-
81
- return expect(component).toBeAccessible();
82
- });
83
-
84
- it("doesn't update target if not valid", () => {
85
- const testTarget = "not_valid_at_all";
86
- const component = render({ linksTarget: testTarget });
87
-
88
- const links: Array<HTMLAnchorElement> =
89
- component.shadowRoot.querySelectorAll("a");
90
- expect(links).toHaveLength(3);
91
- links.forEach(({ target }) => expect(target).toBe("_blank"));
92
-
93
- expect(global.console.error).toBeCalledTimes(1);
94
- expect(global.console.error).toBeCalledWith(
95
- "Invalid links target, valid options are: _self, _blank, _parent, _top, framename"
96
- );
97
-
98
- return expect(component).toBeAccessible();
99
- });
100
-
101
- it("renders details section", () => {
102
- const component = render({ details: "Test|Another Test" });
103
-
104
- const details: Array<HTMLElement> =
105
- component.shadowRoot.querySelectorAll(".details-section span");
106
- expect(details).toHaveLength(2);
107
-
108
- const [testDetail, anotherTestDetail] = details;
109
- expect(testDetail.textContent).toBe("Test");
110
- expect(anotherTestDetail.textContent).toBe("Another Test");
111
-
112
- return expect(component).toBeAccessible();
113
- });
114
- });
@@ -1,24 +0,0 @@
1
- import { html } from "lit-html";
2
-
3
- export default {
4
- title: "dx/dx-socials",
5
- component: "dx-socials"
6
- };
7
-
8
- export const Base = () => html` <dx-socials></dx-socials> `;
9
-
10
- export const SocialWithTarget = ({ target }: any) => html`
11
- <dx-socials links-target="${target}"></dx-socials>
12
- `;
13
-
14
- SocialWithTarget.args = {
15
- target: "_top"
16
- };
17
-
18
- export const SocialWithDetails = ({ details }: any) => html`
19
- <dx-socials details="${details}"></dx-socials>
20
- `;
21
-
22
- SocialWithDetails.args = {
23
- details: "jan 18, 2021|12 min read"
24
- };
@@ -1,37 +0,0 @@
1
- import Spinner from "dx/spinner";
2
- import { createRenderComponent } from "utils-internal/tests";
3
-
4
- const TAG = "dx-spinner";
5
- const render = createRenderComponent(TAG, Spinner);
6
-
7
- describe(TAG, () => {
8
- it("renders", () => {
9
- const component: HTMLElement = render();
10
-
11
- expect(component.classList).toHaveLength(1);
12
- expect(component.classList).toContain("spinner_container");
13
- const container = component.shadowRoot!.querySelector(".spinner");
14
-
15
- expect(container).not.toBeNull();
16
- expect(container?.classList).toHaveLength(2);
17
- expect(container?.classList).toContain(`spinner_medium`);
18
-
19
- return expect(component).toBeAccessible();
20
- });
21
-
22
- it("renders with size and variant", () => {
23
- const size = "large";
24
- const variant = "inverse";
25
- const component: HTMLElement = render({
26
- size,
27
- variant
28
- });
29
-
30
- const container = component.shadowRoot?.querySelector(".spinner");
31
- expect(container?.classList).toHaveLength(3);
32
- expect(container?.classList).toContain(`spinner_${size}`);
33
- expect(container?.classList).toContain(`spinner_${variant}`);
34
-
35
- return expect(component).toBeAccessible();
36
- });
37
- });
@@ -1,69 +0,0 @@
1
- import { html } from "lit-html";
2
- import { SpinnerSize, SpinnerVariant } from "typings/custom";
3
-
4
- type SpinnerStoryArgs = {
5
- size: SpinnerSize;
6
- variant: SpinnerVariant;
7
- };
8
-
9
- const sizeOptions: Array<SpinnerSize> = ["medium", "x-small", "small", "large"];
10
- const variantOptions: Array<SpinnerVariant> = ["base", "brand", "inverse"];
11
- const variantToBackgroundColor: { [key: string]: string } = {
12
- inverse: "black"
13
- };
14
-
15
- export default {
16
- title: "dx/dx-spinner",
17
- component: "dx-spinner",
18
- argTypes: {
19
- size: {
20
- control: {
21
- type: "select",
22
- options: sizeOptions
23
- }
24
- },
25
- variant: {
26
- control: {
27
- type: "select",
28
- options: variantOptions
29
- }
30
- }
31
- }
32
- };
33
-
34
- const style = (variant: SpinnerVariant = "base") => html`
35
- <style>
36
- .spinner-wrapper {
37
- position: relative;
38
- height: 100vh;
39
- background-color: ${variantToBackgroundColor[variant] || "white"};
40
- }
41
- </style>
42
- `;
43
-
44
- const [defaultSize] = sizeOptions;
45
- const [defaultVariant] = variantOptions;
46
-
47
- const Template = ({ size, variant }: SpinnerStoryArgs) => html`
48
- ${style(variant)}
49
- <div class="spinner-wrapper">
50
- <dx-spinner
51
- size="${size || defaultSize}"
52
- variant="${variant || defaultVariant}"
53
- ></dx-spinner>
54
- </div>
55
- `;
56
-
57
- export const Base = Template;
58
-
59
- export const BrandLarge = (args: SpinnerStoryArgs) => Template(args);
60
- BrandLarge.args = {
61
- size: "large",
62
- variant: "brand"
63
- };
64
-
65
- export const InverseSmall = (args: SpinnerStoryArgs) => Template(args);
66
- InverseSmall.args = {
67
- size: "small",
68
- variant: "inverse"
69
- };