@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,129 +0,0 @@
1
- import Tab from "dx/tab";
2
- import Icon from "dx/icon";
3
- import { track } from "dx/instrumentation";
4
- import { createRenderComponent } from "utils-internal/tests";
5
-
6
- jest.mock("dx/instrumentation");
7
-
8
- const TAG = "dx-tab";
9
- const render = createRenderComponent(TAG, Tab);
10
-
11
- const PROPS = {
12
- label: "documentation",
13
- href: "/test"
14
- };
15
-
16
- describe(TAG, () => {
17
- it("renders a single link with a label", () => {
18
- const element = render(PROPS);
19
-
20
- const links: Array<HTMLAnchorElement> =
21
- element.shadowRoot.querySelectorAll("a");
22
-
23
- expect(links.length).toEqual(1);
24
- const [singleLink] = links;
25
- expect(singleLink.href).toMatch(PROPS.href);
26
- expect(singleLink.classList).toHaveLength(2);
27
- expect(singleLink.classList).toContain("nav-list-item");
28
- expect(singleLink.classList).toContain("nav-list-item_default");
29
-
30
- const span: HTMLElement = singleLink.querySelector("span")!;
31
- expect(span.textContent).toBe(PROPS.label);
32
-
33
- expect(element.shadowRoot.querySelector("button")).toBeNull();
34
-
35
- return expect(element).toBeAccessible();
36
- });
37
-
38
- it("renders a link as active and small variant", () => {
39
- const element = render({ ...PROPS, isActive: true, variant: "small" });
40
-
41
- const link: HTMLAnchorElement = element.shadowRoot.querySelector("a");
42
-
43
- expect(link.href).toMatch(PROPS.href);
44
- expect(link.classList).toHaveLength(3);
45
- expect(link.classList).toContain("nav-list-item");
46
- expect(link.classList).toContain("nav-list-item_small");
47
- expect(link.classList).toContain("state-active");
48
-
49
- expect(element.shadowRoot.querySelector("button")).toBeNull();
50
-
51
- return expect(element).toBeAccessible();
52
- });
53
-
54
- it("renders a button if no href provided", () => {
55
- const label = "test button";
56
- const element = render({ label });
57
-
58
- const buttons: Array<HTMLButtonElement> =
59
- element.shadowRoot.querySelectorAll("button");
60
-
61
- expect(buttons).toHaveLength(1);
62
- const [singleButton] = buttons;
63
-
64
- expect(singleButton.classList).toHaveLength(2);
65
- expect(singleButton.classList).toContain("nav-list-item");
66
- expect(singleButton.classList).toContain("nav-list-item_default");
67
-
68
- const span: HTMLElement = singleButton.querySelector("span")!;
69
- expect(span.textContent).toBe(label);
70
-
71
- return expect(element).toBeAccessible();
72
- });
73
-
74
- it("renders a button with an icon if useIcon is passed as true", () => {
75
- const label = "test button";
76
- const element = render({ label, useIcon: true });
77
-
78
- const buttons: Array<HTMLButtonElement> =
79
- element.shadowRoot.querySelectorAll("button");
80
-
81
- expect(buttons).toHaveLength(1);
82
- const [singleButton] = buttons;
83
-
84
- const span: HTMLElement = singleButton.querySelector("span")!;
85
- expect(span.textContent).toBe(label);
86
-
87
- const icon: Element & Icon = singleButton.querySelector("dx-icon")!;
88
- expect(icon).not.toBeNull();
89
- expect(icon.size).toBe("small");
90
-
91
- return expect(element).toBeAccessible();
92
- });
93
-
94
- it("renders a button with label only if variant is small", () => {
95
- const label = "test button";
96
- const element = render({ label, variant: "small", useIcon: "true" });
97
-
98
- const button: HTMLButtonElement =
99
- element.shadowRoot.querySelector("button");
100
-
101
- expect(button.classList).toHaveLength(2);
102
- expect(button.classList).toContain("nav-list-item");
103
- expect(button.classList).toContain("nav-list-item_small");
104
-
105
- const span: HTMLElement = button.querySelector("span")!;
106
- expect(span.textContent).toBe(label);
107
-
108
- const icon: Element & Icon = button.querySelector("dx-icon")!;
109
- expect(icon).not.toBeNull();
110
- expect(icon.size).toBe("xsmall");
111
-
112
- return expect(element).toBeAccessible();
113
- });
114
-
115
- it("calls track when the link is clicked", () => {
116
- const element = render(PROPS);
117
-
118
- const link: HTMLElement = element.shadowRoot.querySelector("a");
119
- expect(link).not.toBeNull();
120
- link.click();
121
-
122
- expect(track).toHaveBeenCalledTimes(1);
123
- expect(track).toBeCalledWith(link, "custEv_topNavLinkClick", {
124
- navHeading: PROPS.label,
125
- clickText: PROPS.href,
126
- pageLocation: window.location.pathname
127
- });
128
- });
129
- });
@@ -1,57 +0,0 @@
1
- import { html } from "lit-html";
2
- import { TabVariant } from "typings/custom";
3
-
4
- type StoryArgs = {
5
- isActive: boolean;
6
- label: string;
7
- useIcon: boolean;
8
- variant: TabVariant;
9
- };
10
- const VARIANT_OPTIONS: Array<TabVariant> = ["default", "small"];
11
-
12
- export default {
13
- title: "dx/dx-tab",
14
- component: "dx-tab",
15
- argTypes: {
16
- variant: {
17
- control: {
18
- type: "select",
19
- options: VARIANT_OPTIONS
20
- }
21
- }
22
- }
23
- };
24
-
25
- const Template = ({ variant, label, isActive, useIcon }: StoryArgs) => html`
26
- <dx-tab
27
- label="${label}"
28
- is-active="${isActive}"
29
- variant="${variant}"
30
- use-icon="${useIcon}"
31
- ></dx-tab>
32
- `;
33
-
34
- export const Base = (args: StoryArgs) => Template(args);
35
- Base.args = {
36
- isActive: false,
37
- useIcon: false,
38
- label: "Banana",
39
- variant: VARIANT_OPTIONS[0]
40
- };
41
-
42
- export const TabGroup = ({ variant }: { variant: TabVariant }) => html`
43
- <style>
44
- .container {
45
- display: flex;
46
- --dx-c-tab-horizontal-spacing: var(--dx-g-spacing-xs);
47
- }
48
- </style>
49
- <nav class="container">
50
- <dx-tab label="Banana" variant="${variant}"></dx-tab>
51
- <dx-tab label="Apple" variant="${variant}"></dx-tab>
52
- </nav>
53
- `;
54
-
55
- TabGroup.args = {
56
- variant: VARIANT_OPTIONS[0]
57
- };
@@ -1,28 +0,0 @@
1
- export default {
2
- title: "In this guide",
3
- value: "intro",
4
- options: [
5
- {
6
- label: "Introduction",
7
- id: "intro",
8
- anchor: "#test1"
9
- },
10
- {
11
- label: "Deep dive: Registering the Record Class",
12
- id: "deepdive",
13
- anchor: "#test2"
14
- },
15
- {
16
- label:
17
- "Why build on Quip? This is an extra long blurb to test the toc wrapping ability",
18
- id: "quip",
19
- anchor: "#test3"
20
- },
21
- {
22
- label:
23
- "SomeLongExampleWordWithoutAnyBreaks and Then a Word",
24
- id: "long-word",
25
- anchor: "#test4"
26
- }
27
- ]
28
- };
@@ -1,109 +0,0 @@
1
- import Button from "dx/button";
2
- import Toc from "dx/toc";
3
- import { createRenderComponent } from "utils-internal/tests";
4
- import mockProps from "./mockProps";
5
-
6
- const TAG = "dx-toc";
7
- const render = createRenderComponent(TAG, Toc);
8
-
9
- describe(TAG, () => {
10
- it("renders", () => {
11
- const element = render(mockProps);
12
-
13
- const container: HTMLElement = element.shadowRoot.querySelector(".toc");
14
- const renderedTitle: HTMLElement =
15
- element.shadowRoot.querySelector("h2");
16
- const button: Button =
17
- element.shadowRoot.querySelector(".toggle-button");
18
- expect(renderedTitle).not.toBeNull();
19
- expect(container).not.toBeNull();
20
- expect(renderedTitle.textContent).toEqual(mockProps.title);
21
- expect(button.iconSymbol).toEqual("open_panel");
22
- return expect(element).toBeAccessible();
23
- });
24
-
25
- it("renders table of contents buttons, and the first one is selected", () => {
26
- const element = render(mockProps);
27
-
28
- const optionsListComponent: Array<HTMLElement> =
29
- element.shadowRoot.querySelectorAll("a");
30
- expect(optionsListComponent).toHaveLength(mockProps.options.length);
31
- expect(optionsListComponent[0].className).toEqual(
32
- "content-button selected"
33
- );
34
- return expect(element).toBeAccessible();
35
- });
36
-
37
- it('sends custom event "selectedcontent" with id on click', () => {
38
- const element = render(mockProps);
39
-
40
- const EVENT_DETAIL_PARAMETER = { name: mockProps.options[0].id };
41
- const handler = jest.fn();
42
- element.addEventListener("selectedcontent", handler);
43
-
44
- return Promise.resolve().then(() => {
45
- const linkEl = element.shadowRoot.querySelector("a");
46
- linkEl.click();
47
- expect(handler).toHaveBeenCalled();
48
- expect(handler.mock.calls[0][0].detail).toEqual(
49
- EVENT_DETAIL_PARAMETER
50
- );
51
- return expect(element).toBeAccessible();
52
- });
53
- });
54
-
55
- it('Validate "value" recieved ', () => {
56
- const element = render({ ...mockProps });
57
-
58
- return Promise.resolve().then(() => {
59
- const optionsListComponent: Array<HTMLElement> =
60
- element.shadowRoot.querySelectorAll("a");
61
- optionsListComponent.forEach((e) => {
62
- if (e.getAttribute("contentid") === mockProps.value) {
63
- expect(e.className).toEqual("content-button selected");
64
- }
65
- });
66
- return expect(element).toBeAccessible();
67
- });
68
- });
69
-
70
- it('Validate no "value" recieved', () => {
71
- const element = render({ ...mockProps, value: undefined });
72
-
73
- return Promise.resolve().then(() => {
74
- const buttons: Array<HTMLElement> =
75
- element.shadowRoot.querySelectorAll("a");
76
- expect(buttons[0].className).toEqual("content-button selected");
77
- return expect(element).toBeAccessible();
78
- });
79
- });
80
-
81
- it("toggles the hidden className on click of toggle button", () => {
82
- const element = render(mockProps);
83
-
84
- const linkToggle = element.shadowRoot.querySelector(".toggle-button");
85
- linkToggle.click();
86
- return Promise.resolve().then(() => {
87
- const container = element.shadowRoot.querySelector(".toc_content");
88
- expect(container).toBe(null);
89
- return expect(element).toBeAccessible();
90
- });
91
- });
92
-
93
- it("test list recieved as string ", () => {
94
- const optionsListParameter = [
95
- { label: "Introduction", id: "12312", anchor: "#test" }
96
- ];
97
- const element = render({
98
- ...mockProps,
99
- options: JSON.stringify(optionsListParameter)
100
- });
101
-
102
- return Promise.resolve().then(() => {
103
- const optionListComponent: Array<HTMLElement> =
104
- element.shadowRoot.querySelectorAll("a");
105
- expect(optionListComponent).toHaveLength(element.options.length);
106
- return expect(element).toBeAccessible();
107
- });
108
- });
109
- });
@@ -1,26 +0,0 @@
1
- import { html } from "lit-html";
2
- import mockProps from "./__tests__/mockProps";
3
-
4
- export default {
5
- title: "dx/dx-toc",
6
- component: "dx-toc"
7
- };
8
-
9
- const options = JSON.stringify(mockProps.options);
10
- // prettier-ignore
11
- export const Base = () => html`
12
- <dx-toc
13
- title="In this guide"
14
- options="${options}"
15
- value="intro"
16
- >
17
- <dx-button
18
- slot="view-pdf"
19
- href="http://www.google.com"
20
- target="_blank"
21
- variant="inline"
22
- icon-symbol="new_window"
23
- >
24
- View PDF
25
- </dx-button>
26
- </dx-toc>`;
@@ -1,22 +0,0 @@
1
- import Tooltip from "dx/tooltip";
2
- import { createRenderComponent } from "utils-internal/tests";
3
-
4
- const TAG = "dx-tooltip";
5
- const render = createRenderComponent(TAG, Tooltip);
6
-
7
- describe(TAG, () => {
8
- it("calls tippy constructor with correct parameters", () => {
9
- const element = render({ label: "First Label", placement: "top" });
10
-
11
- const slotContainer: HTMLElement =
12
- element.shadowRoot.querySelector("div");
13
-
14
- expect(slotContainer).not.toBeNull();
15
- expect(slotContainer.getAttribute("data-microtip-position")).toEqual(
16
- "top"
17
- );
18
- expect(slotContainer.getAttribute("aria-label")).toEqual("First Label");
19
-
20
- return expect(element).toBeAccessible();
21
- });
22
- });
@@ -1,46 +0,0 @@
1
- import { html } from "lit-html";
2
-
3
- export default {
4
- title: "dx/dx-tooltip",
5
- component: "dx-tooltip",
6
- argTypes: {
7
- placement: {
8
- defaultValue: "top",
9
- control: {
10
- type: "select",
11
- options: [
12
- "top",
13
- "top-left",
14
- "top-right",
15
- "bottom",
16
- "bottom-left",
17
- "bottom-right",
18
- "left",
19
- "right"
20
- ]
21
- }
22
- },
23
- label: {
24
- defaultValue: "Hello, world!",
25
- control: {
26
- type: "text"
27
- }
28
- }
29
- }
30
- };
31
-
32
- // prettier-ignore
33
- const createStyles = () => html `
34
- <style>
35
- .story-container {
36
- margin: 100px;
37
- }
38
- </style>`;
39
-
40
- // prettier-ignore
41
- export const Default = (args: any) => html `${createStyles()}
42
- <div class="story-container">
43
- <dx-tooltip label="${args.label}" placement="${args.placement}">
44
- <button>Hover</button>
45
- </dx-tooltip>
46
- </div>`;
@@ -1,3 +0,0 @@
1
- export default {
2
- topics: ["mobile", "performance"]
3
- };
@@ -1,31 +0,0 @@
1
- import Topics from "dx/topics";
2
- import { createRenderComponent } from "utils-internal/tests";
3
- import mockProps from "./mockProps";
4
-
5
- const TAG = "dx-topics";
6
- const render = createRenderComponent(TAG, Topics);
7
- describe(TAG, () => {
8
- it("renders", () => {
9
- const component = render(mockProps);
10
- expect(component.topics).toEqual(mockProps.topics);
11
-
12
- const spans: Array<HTMLElement> =
13
- component.shadowRoot.querySelectorAll("span");
14
- expect(spans).toHaveLength(3);
15
-
16
- const [expectedFirst, expectedSecond] = mockProps.topics;
17
- const [first, dot, second] = spans;
18
- expect(first.textContent).toBe(expectedFirst);
19
- expect(second.textContent).toBe(expectedSecond);
20
- expect(dot.classList).toContain("dot-separator");
21
-
22
- return expect(component).toBeAccessible();
23
- });
24
-
25
- it("doesn't render any span if list is empty", () => {
26
- const component = render();
27
- const spans: Array<HTMLElement> =
28
- component.shadowRoot.querySelectorAll("span");
29
- expect(spans).toHaveLength(0);
30
- });
31
- });
@@ -1,215 +0,0 @@
1
- import { InternalTreeNode, TreeNode } from "typings/custom";
2
-
3
- export const SAMPLE_TREE_ONE_LEVEL: TreeNode = {
4
- label: "Getting started",
5
- name: "started",
6
- isExpanded: true,
7
- children: [
8
- {
9
- label: "Introduction",
10
- name: "introduction"
11
- },
12
- {
13
- label: "Getting started",
14
- name: "started-child"
15
- },
16
- {
17
- label: "Authentication",
18
- name: "authentication"
19
- },
20
- {
21
- label: "Token",
22
- name: "token"
23
- },
24
- {
25
- label: "Error",
26
- name: "error"
27
- },
28
- {
29
- label: "Limits",
30
- name: "limit"
31
- },
32
- {
33
- label: "Release note",
34
- name: "release-note"
35
- }
36
- ]
37
- };
38
-
39
- export const SAMPLE_TREE_MULTIPLE_LEVELS: TreeNode = {
40
- label: "Einstein Vision",
41
- name: "einstein-vision",
42
- children: [
43
- {
44
- label: "Introduction",
45
- name: "introduction"
46
- },
47
- {
48
- label: "Terminology",
49
- name: "terminology"
50
- },
51
- {
52
- label: "Object detection quickstart for beginner",
53
- name: "object-quickstart",
54
- children: [
55
- {
56
- label: "Scenario",
57
- name: "scenario",
58
- children: [
59
- {
60
- label: "Scenario A",
61
- name: "scenario-a"
62
- },
63
- {
64
- label: "Scenario B",
65
- name: "scenario-b"
66
- }
67
- ]
68
- },
69
- {
70
- label: "Prerequisites",
71
- name: "prerequisites"
72
- }
73
- ]
74
- },
75
- {
76
- label: "Best Practices",
77
- name: "best-practices"
78
- }
79
- ]
80
- };
81
-
82
- export const SAMPLE_TREE_WITH_LINKS: TreeNode = {
83
- label: "Introduction",
84
- name: "introduction",
85
- isExpanded: true,
86
- children: [
87
- {
88
- label: "Generate an OAuth Token",
89
- name: "oauth-token",
90
- link: {
91
- href: "/oauth"
92
- }
93
- },
94
- {
95
- label: "Delete a Refresh Token",
96
- name: "refresh-token",
97
- link: {
98
- href: "/refresh"
99
- }
100
- },
101
- {
102
- label: "Get API Usage",
103
- name: "api-usage",
104
- link: {
105
- href: "/usage"
106
- }
107
- },
108
- {
109
- label: "Error",
110
- name: "error",
111
- link: {
112
- href: "/error"
113
- }
114
- },
115
- {
116
- label: "External",
117
- name: "external",
118
- children: [
119
- {
120
- label: "Salesforce",
121
- name: "salesforce",
122
- link: {
123
- href: "https://www.salesforce.com/",
124
- target: "_blank"
125
- }
126
- },
127
- {
128
- label: "Google",
129
- name: "google",
130
- link: {
131
- href: "https://www.google.com/",
132
- target: "_blank"
133
- }
134
- }
135
- ]
136
- }
137
- ]
138
- };
139
-
140
- export const SAMPLE_TREE_WITH_BADGES: TreeNode = {
141
- label: "Getting started",
142
- name: "started",
143
- isExpanded: true,
144
- children: [
145
- {
146
- label: "Introduction",
147
- name: "introduction",
148
- method: "post"
149
- },
150
- {
151
- label: "Getting started",
152
- name: "started-child",
153
- method: "get"
154
- },
155
- {
156
- label: "Authentication",
157
- name: "authentication",
158
- method: "delete"
159
- },
160
- {
161
- label: "Token",
162
- name: "token",
163
- method: "patch"
164
- },
165
- {
166
- label: "Error",
167
- name: "error",
168
- method: "put"
169
- },
170
- {
171
- label: "Limits",
172
- name: "limit",
173
- method: "get"
174
- },
175
- {
176
- label: "Release note",
177
- name: "release-note",
178
- method: "post"
179
- }
180
- ]
181
- };
182
-
183
- export const INITIALIZE_MOCK_PARAMETER: TreeNode = {
184
- label: "Test Label",
185
- name: "test-name",
186
- isExpanded: true,
187
- link: {
188
- href: "https://salesforce.com",
189
- target: "_blank"
190
- }
191
- };
192
-
193
- export const INITIALIZE_MOCK_RESULT: InternalTreeNode = {
194
- ...INITIALIZE_MOCK_PARAMETER,
195
- key: "0",
196
- level: 0,
197
- children: []
198
- };
199
-
200
- export const MOCK_TILE_DETAIL = {
201
- detail: {
202
- key: "0.1",
203
- name: "test name"
204
- },
205
- composed: true,
206
- bubble: true
207
- };
208
-
209
- export const MOCK_ICON_DETAIL = {
210
- detail: {
211
- key: "0.1"
212
- },
213
- composed: true,
214
- bubble: true
215
- };