@salesforcedevs/dx-components 0.16.3 → 0.17.1-review-diff1

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 (611) hide show
  1. package/lwc.config.json +85 -26
  2. package/package.json +34 -19
  3. package/src/assets/icons/brand-sprite/svg/symbols.svg +23 -5
  4. package/src/assets/icons/salesforcebrand-sprite/svg/symbols.svg +909 -107
  5. package/src/assets/icons/utility-sprite/svg/symbols.svg +2 -1
  6. package/src/modules/dx/agenda/agenda.css +97 -0
  7. package/src/modules/dx/agenda/agenda.html +32 -0
  8. package/src/modules/dx/agenda/agenda.ts +26 -0
  9. package/src/modules/dx/alert/alert.css +103 -0
  10. package/src/modules/dx/alert/alert.html +37 -0
  11. package/src/modules/dx/alert/alert.ts +137 -0
  12. package/src/modules/dx/audio/audio.css +276 -0
  13. package/src/modules/dx/audio/audio.html +158 -0
  14. package/src/modules/dx/audio/audio.ts +484 -0
  15. package/src/modules/dx/banner/banner.css +3 -3
  16. package/src/modules/dx/banner/banner.ts +3 -5
  17. package/src/modules/dx/brandThemeProvider/brandThemeProvider.ts +1 -1
  18. package/src/modules/dx/breadcrumbs/breadcrumbs.css +4 -4
  19. package/src/modules/dx/breadcrumbs/breadcrumbs.html +1 -1
  20. package/src/modules/dx/breadcrumbs/breadcrumbs.ts +28 -27
  21. package/src/modules/dx/button/button.css +79 -25
  22. package/src/modules/dx/button/button.html +4 -2
  23. package/src/modules/dx/button/button.ts +41 -14
  24. package/src/modules/dx/buttonToggle/buttonToggle.css +50 -0
  25. package/src/modules/dx/buttonToggle/buttonToggle.html +17 -0
  26. package/src/modules/dx/buttonToggle/buttonToggle.ts +75 -0
  27. package/src/modules/dx/cardBlogPost/cardBlogPost.css +2 -2
  28. package/src/modules/dx/cardBlogPost/cardBlogPost.html +5 -4
  29. package/src/modules/dx/cardBlogPost/cardBlogPost.ts +27 -4
  30. package/src/modules/dx/cardCallout/cardCallout.css +5 -5
  31. package/src/modules/dx/cardCallout/cardCallout.html +1 -1
  32. package/src/modules/dx/cardCallout/cardCallout.ts +14 -10
  33. package/src/modules/dx/cardClickthrough/cardClickthrough.css +105 -0
  34. package/src/modules/dx/cardClickthrough/cardClickthrough.html +42 -0
  35. package/src/modules/dx/cardClickthrough/cardClickthrough.ts +139 -0
  36. package/src/modules/dx/cardContent/cardContent.css +21 -9
  37. package/src/modules/dx/cardContent/cardContent.html +33 -14
  38. package/src/modules/dx/cardContent/cardContent.ts +80 -15
  39. package/src/modules/dx/cardDemo/cardDemo.css +1 -1
  40. package/src/modules/dx/cardDemo/cardDemo.html +1 -1
  41. package/src/modules/dx/cardDemo/cardDemo.ts +1 -1
  42. package/src/modules/dx/cardDocs/cardDocs.css +8 -8
  43. package/src/modules/dx/cardDocs/cardDocs.html +25 -5
  44. package/src/modules/dx/cardDocs/cardDocs.ts +51 -2
  45. package/src/modules/dx/cardEvent/cardEvent.css +31 -17
  46. package/src/modules/dx/cardEvent/cardEvent.html +17 -18
  47. package/src/modules/dx/cardEvent/cardEvent.ts +11 -3
  48. package/src/modules/dx/cardExpanded/cardExpanded.css +60 -0
  49. package/src/modules/dx/cardExpanded/cardExpanded.html +35 -0
  50. package/src/modules/dx/cardExpanded/cardExpanded.ts +63 -0
  51. package/src/modules/dx/cardGrid/cardGrid.css +1 -85
  52. package/src/modules/dx/cardGrid/cardGrid.html +16 -44
  53. package/src/modules/dx/cardGrid/cardGrid.ts +32 -139
  54. package/src/modules/dx/cardGridDocs/cardGridDocs.css +73 -0
  55. package/src/modules/dx/cardGridDocs/cardGridDocs.html +67 -0
  56. package/src/modules/dx/cardGridDocs/cardGridDocs.ts +86 -0
  57. package/src/modules/dx/cardMinimal/cardMinimal.css +31 -0
  58. package/src/modules/dx/cardMinimal/cardMinimal.html +8 -0
  59. package/src/modules/dx/cardMinimal/cardMinimal.ts +3 -0
  60. package/src/modules/dx/cardNews/cardNews.css +34 -15
  61. package/src/modules/dx/cardNews/cardNews.html +8 -1
  62. package/src/modules/dx/cardNews/cardNews.ts +23 -5
  63. package/src/modules/dx/cardPodcastEpisode/cardPodcastEpisode.css +3 -3
  64. package/src/modules/dx/cardPodcastEpisode/cardPodcastEpisode.html +2 -1
  65. package/src/modules/dx/cardPodcastEpisode/cardPodcastEpisode.ts +1 -1
  66. package/src/modules/dx/cardSmall/cardSmall.css +3 -7
  67. package/src/modules/dx/cardSmall/cardSmall.html +2 -2
  68. package/src/modules/dx/cardSmall/cardSmall.ts +2 -2
  69. package/src/modules/dx/cardStep/cardStep.css +128 -0
  70. package/src/modules/dx/cardStep/cardStep.html +31 -0
  71. package/src/modules/dx/cardStep/cardStep.ts +55 -0
  72. package/src/modules/dx/cardStep/mockProps.ts +59 -0
  73. package/src/modules/dx/cardTestimonial/cardTestimonial.css +24 -0
  74. package/src/modules/dx/cardTestimonial/cardTestimonial.html +15 -0
  75. package/src/modules/dx/cardTestimonial/cardTestimonial.ts +18 -0
  76. package/src/modules/dx/cardTitle/cardTitle.css +6 -4
  77. package/src/modules/dx/cardTitle/cardTitle.html +1 -1
  78. package/src/modules/dx/cardTitle/cardTitle.ts +4 -4
  79. package/src/modules/dx/cardTrailheadModule/cardTrailheadModule.css +2 -2
  80. package/src/modules/dx/cardTrailheadModule/cardTrailheadModule.html +2 -2
  81. package/src/modules/dx/cardTrailheadModule/cardTrailheadModule.ts +2 -1
  82. package/src/modules/dx/cardTrial/cardTrial.css +134 -0
  83. package/src/modules/dx/cardTrial/cardTrial.html +207 -0
  84. package/src/modules/dx/cardTrial/cardTrial.ts +147 -0
  85. package/src/modules/dx/cardTrialExpanded/cardTrialExpanded.css +159 -0
  86. package/src/modules/dx/cardTrialExpanded/cardTrialExpanded.html +91 -0
  87. package/src/modules/dx/cardTrialExpanded/cardTrialExpanded.ts +84 -0
  88. package/src/modules/dx/cardVideoPreview/cardVideoPreview.css +2 -2
  89. package/src/modules/dx/cardVideoPreview/cardVideoPreview.html +3 -2
  90. package/src/modules/dx/cardVideoPreview/cardVideoPreview.ts +2 -2
  91. package/src/modules/dx/checkbox/checkbox.css +9 -4
  92. package/src/modules/dx/checkbox/checkbox.ts +27 -2
  93. package/src/modules/dx/checkboxGroup/checkboxGroup.css +1 -1
  94. package/src/modules/dx/checkboxGroup/checkboxGroup.ts +1 -1
  95. package/src/modules/dx/checkboxNative/checkboxNative.css +18 -0
  96. package/src/modules/dx/checkboxNative/checkboxNative.html +14 -0
  97. package/src/modules/dx/checkboxNative/checkboxNative.ts +39 -0
  98. package/src/modules/dx/codeBlock/codeBlock.css +22 -15
  99. package/src/modules/dx/codeBlock/codeBlock.html +3 -3
  100. package/src/modules/dx/codeBlock/codeBlock.ts +149 -61
  101. package/src/modules/dx/codeBlock/customLanguages.js +48 -0
  102. package/src/modules/dx/codeBlock/darkAndLightThemes.css +177 -0
  103. package/src/modules/dx/coveoRecommendations/coveoRecommendations.css +8 -0
  104. package/src/modules/dx/coveoRecommendations/coveoRecommendations.html +27 -0
  105. package/src/modules/dx/coveoRecommendations/coveoRecommendations.ts +171 -0
  106. package/src/modules/dx/darkModeManager/darkModeManager.ts +86 -0
  107. package/src/modules/dx/dropdown/dropdown.css +3 -5
  108. package/src/modules/dx/dropdown/dropdown.html +7 -1
  109. package/src/modules/dx/dropdown/dropdown.ts +18 -9
  110. package/src/modules/dx/dropdownOption/dropdownOption.css +125 -5
  111. package/src/modules/dx/dropdownOption/dropdownOption.html +7 -2
  112. package/src/modules/dx/dropdownOption/dropdownOption.ts +27 -9
  113. package/src/modules/dx/embeddedVideo/embeddedVideo.css +35 -0
  114. package/src/modules/dx/embeddedVideo/embeddedVideo.html +56 -0
  115. package/src/modules/dx/embeddedVideo/embeddedVideo.ts +40 -0
  116. package/src/modules/dx/emptyState/emptyState.css +76 -4
  117. package/src/modules/dx/emptyState/emptyState.html +16 -4
  118. package/src/modules/dx/emptyState/emptyState.ts +57 -7
  119. package/src/modules/dx/errorFallback/errorFallback.css +27 -0
  120. package/src/modules/dx/errorFallback/errorFallback.html +11 -0
  121. package/src/modules/dx/errorFallback/errorFallback.ts +7 -0
  122. package/src/modules/dx/eyebrow/eyebrow.css +44 -0
  123. package/src/modules/dx/eyebrow/eyebrow.html +16 -0
  124. package/src/modules/dx/eyebrow/eyebrow.ts +32 -0
  125. package/src/modules/dx/faq/faq.css +58 -0
  126. package/src/modules/dx/faq/faq.html +36 -0
  127. package/src/modules/dx/faq/faq.ts +16 -0
  128. package/src/modules/dx/feature/feature.css +16 -6
  129. package/src/modules/dx/feature/feature.html +9 -7
  130. package/src/modules/dx/feature/feature.ts +17 -4
  131. package/src/modules/dx/featureFlag/featureFlag.css +3 -0
  132. package/src/modules/dx/featureFlag/featureFlag.html +3 -0
  133. package/src/modules/dx/featureFlag/featureFlag.ts +41 -0
  134. package/src/modules/dx/featuredContentHeader/featuredContentHeader.css +182 -146
  135. package/src/modules/dx/featuredContentHeader/featuredContentHeader.html +123 -87
  136. package/src/modules/dx/featuredContentHeader/featuredContentHeader.ts +179 -30
  137. package/src/modules/dx/featuredContentHeader/svgs.ts +5 -4
  138. package/src/modules/dx/featuresList/featuresList.css +5 -5
  139. package/src/modules/dx/featuresList/featuresList.html +2 -2
  140. package/src/modules/dx/featuresList/featuresList.ts +2 -3
  141. package/src/modules/dx/featuresListHeader/featuresListHeader.css +144 -0
  142. package/src/modules/dx/featuresListHeader/featuresListHeader.html +58 -0
  143. package/src/modules/dx/featuresListHeader/featuresListHeader.ts +103 -0
  144. package/src/modules/dx/filterMenu/filterMenu.css +134 -0
  145. package/src/modules/dx/filterMenu/filterMenu.html +111 -0
  146. package/src/modules/dx/filterMenu/filterMenu.ts +119 -0
  147. package/src/modules/dx/footer/footer.css +72 -41
  148. package/src/modules/dx/footer/footer.html +65 -65
  149. package/src/modules/dx/footer/footer.ts +66 -31
  150. package/src/modules/dx/footer/links.ts +142 -54
  151. package/src/modules/dx/footerOption/footerOption.css +10 -3
  152. package/src/modules/dx/footerOption/footerOption.html +1 -10
  153. package/src/modules/dx/footerOption/footerOption.ts +21 -7
  154. package/src/modules/dx/formattedDateTime/formattedDateTime.ts +22 -14
  155. package/src/modules/dx/formattedRichText/formattedRichText.css +32 -0
  156. package/src/modules/dx/formattedRichText/formattedRichText.html +3 -0
  157. package/src/modules/dx/formattedRichText/formattedRichText.ts +17 -0
  158. package/src/modules/dx/grid/grid.css +7 -2
  159. package/src/modules/dx/grid/grid.html +15 -0
  160. package/src/modules/dx/grid/grid.ts +78 -2
  161. package/src/modules/dx/groupText/groupText.css +5 -9
  162. package/src/modules/dx/groupText/groupText.html +8 -3
  163. package/src/modules/dx/groupText/groupText.ts +21 -14
  164. package/src/modules/dx/headerMobileNavMenu/headerMobileNavMenu.css +3 -2
  165. package/src/modules/dx/headerMobileNavMenu/headerMobileNavMenu.ts +5 -5
  166. package/src/modules/dx/headerMobileNavMenuOption/headerMobileNavMenuOption.ts +10 -2
  167. package/src/modules/dx/headerNav/headerNav.css +9 -1
  168. package/src/modules/dx/headerNav/headerNav.html +2 -0
  169. package/src/modules/dx/headerNav/headerNav.ts +10 -6
  170. package/src/modules/dx/helmet/helmet.css +3 -3
  171. package/src/modules/dx/helmet/helmet.html +2 -2
  172. package/src/modules/dx/helmet/helmet.ts +2 -2
  173. package/src/modules/dx/hr/hr.css +10 -10
  174. package/src/modules/dx/hr/hr.ts +7 -1
  175. package/src/modules/dx/icon/icon.css +2 -2
  176. package/src/modules/dx/icon/icon.html +20 -9
  177. package/src/modules/dx/icon/icon.ts +6 -1
  178. package/src/modules/dx/iconBadge/iconBadge.css +13 -1
  179. package/src/modules/dx/iconBadge/iconBadge.html +3 -3
  180. package/src/modules/dx/iconBadge/iconBadge.ts +23 -7
  181. package/src/modules/dx/imageAndLabel/imageAndLabel.css +4 -8
  182. package/src/modules/dx/imageAndLabel/imageAndLabel.html +18 -2
  183. package/src/modules/dx/input/input.css +24 -6
  184. package/src/modules/dx/input/input.html +6 -1
  185. package/src/modules/dx/input/input.ts +76 -10
  186. package/src/modules/dx/interactiveImage/interactiveImage.css +2 -2
  187. package/src/modules/dx/interactiveImage/interactiveImage.html +2 -2
  188. package/src/modules/dx/interactiveImage/interactiveImage.ts +2 -2
  189. package/src/modules/dx/logo/logo.css +2 -3
  190. package/src/modules/dx/logo/logo.html +1 -1
  191. package/src/modules/dx/logo/logo.ts +3 -2
  192. package/src/modules/dx/mainContentHeader/mainContentHeader.css +197 -0
  193. package/src/modules/dx/mainContentHeader/mainContentHeader.html +75 -0
  194. package/src/modules/dx/mainContentHeader/mainContentHeader.ts +98 -0
  195. package/src/modules/dx/metadataBadge/metadataBadge.css +41 -0
  196. package/src/modules/dx/metadataBadge/metadataBadge.html +5 -0
  197. package/src/modules/dx/metadataBadge/metadataBadge.ts +24 -0
  198. package/src/modules/dx/modal/modal.css +7 -0
  199. package/src/modules/dx/modal/modal.html +13 -0
  200. package/src/modules/dx/modal/modal.ts +98 -0
  201. package/src/modules/dx/modalDrawer/modalDrawer.css +41 -0
  202. package/src/modules/dx/modalDrawer/modalDrawer.html +11 -0
  203. package/src/modules/dx/modalDrawer/modalDrawer.ts +33 -0
  204. package/src/modules/dx/pagination/pagination.css +2 -3
  205. package/src/modules/dx/pagination/pagination.ts +45 -8
  206. package/src/modules/dx/podcastHost/podcastHost.css +11 -4
  207. package/src/modules/dx/podcastHost/podcastHost.html +8 -9
  208. package/src/modules/dx/popover/popover.css +31 -6
  209. package/src/modules/dx/popover/popover.html +1 -1
  210. package/src/modules/dx/popover/popover.ts +112 -47
  211. package/src/modules/dx/radioGroup/radioGroup.css +1 -1
  212. package/src/modules/dx/radioGroup/radioGroup.ts +1 -1
  213. package/src/modules/dx/redirectChecker/redirectChecker.html +1 -0
  214. package/src/modules/dx/redirectChecker/redirectChecker.ts +10 -0
  215. package/src/modules/dx/relativeDateTime/relativeDateTime.ts +23 -94
  216. package/src/modules/dx/scrollManager/scrollManager.html +1 -0
  217. package/src/modules/dx/scrollManager/scrollManager.ts +212 -0
  218. package/src/modules/dx/searchResults/coveo.css +2138 -3126
  219. package/src/modules/dx/searchResults/resultsTemplate.js +141 -0
  220. package/src/modules/dx/searchResults/searchResults.css +136 -19
  221. package/src/modules/dx/searchResults/searchResults.html +7 -4
  222. package/src/modules/dx/searchResults/searchResults.ts +378 -37
  223. package/src/modules/dx/section/section.css +40 -7
  224. package/src/modules/dx/section/section.html +37 -7
  225. package/src/modules/dx/section/section.ts +45 -13
  226. package/src/modules/dx/sectionBanner/sectionBanner.css +145 -0
  227. package/src/modules/dx/sectionBanner/sectionBanner.html +41 -0
  228. package/src/modules/dx/sectionBanner/sectionBanner.ts +128 -0
  229. package/src/modules/dx/sectionSignup/sectionSignup.ts +2 -2
  230. package/src/modules/dx/select/select.css +173 -10
  231. package/src/modules/dx/select/select.html +54 -53
  232. package/src/modules/dx/select/select.ts +153 -10
  233. package/src/modules/dx/sidebar/sidebar.css +44 -130
  234. package/src/modules/dx/sidebar/sidebar.html +114 -50
  235. package/src/modules/dx/sidebar/sidebar.ts +159 -116
  236. package/src/modules/dx/sidebarFooterNav/sidebarFooterNav.css +49 -0
  237. package/src/modules/dx/sidebarFooterNav/sidebarFooterNav.html +55 -0
  238. package/src/modules/dx/sidebarFooterNav/sidebarFooterNav.ts +106 -0
  239. package/src/modules/dx/sidebarOld/sidebarOld.css +33 -0
  240. package/src/modules/dx/sidebarOld/sidebarOld.html +111 -0
  241. package/src/modules/dx/sidebarOld/sidebarOld.ts +170 -0
  242. package/src/modules/dx/sidebarSearch/sidebarSearch.css +3 -0
  243. package/src/modules/dx/sidebarSearch/sidebarSearch.html +25 -0
  244. package/src/modules/dx/sidebarSearch/sidebarSearch.ts +493 -0
  245. package/src/modules/dx/sidebarSearchResult/sidebarSearchResult.css +67 -0
  246. package/src/modules/dx/sidebarSearchResult/sidebarSearchResult.html +20 -0
  247. package/src/modules/dx/sidebarSearchResult/sidebarSearchResult.ts +78 -0
  248. package/src/modules/dx/skipNavLink/skipNavLink.css +21 -0
  249. package/src/modules/dx/skipNavLink/skipNavLink.html +3 -0
  250. package/src/modules/dx/skipNavLink/skipNavLink.ts +3 -0
  251. package/src/modules/dx/socials/socials.css +4 -3
  252. package/src/modules/dx/socials/socials.ts +1 -6
  253. package/src/modules/dx/spinner/spinner.css +28 -232
  254. package/src/modules/dx/stepSequence/stepSequence.css +42 -0
  255. package/src/modules/dx/stepSequence/stepSequence.html +10 -0
  256. package/src/modules/dx/stepSequence/stepSequence.ts +334 -0
  257. package/src/modules/dx/stepSequenceStep/stepSequenceStep.html +3 -0
  258. package/src/modules/dx/stepSequenceStep/stepSequenceStep.ts +60 -0
  259. package/src/modules/dx/tab/tab.css +49 -24
  260. package/src/modules/dx/tab/tab.ts +16 -5
  261. package/src/modules/dx/tabPanel/tabPanel.css +20 -0
  262. package/src/modules/dx/tabPanel/tabPanel.html +13 -0
  263. package/src/modules/dx/tabPanel/tabPanel.ts +27 -0
  264. package/src/modules/dx/tabPanelItem/tabPanelItem.css +54 -0
  265. package/src/modules/dx/tabPanelItem/tabPanelItem.html +26 -0
  266. package/src/modules/dx/tabPanelItem/tabPanelItem.ts +45 -0
  267. package/src/modules/dx/tabPanelList/tabPanelList.css +37 -0
  268. package/src/modules/dx/tabPanelList/tabPanelList.html +56 -0
  269. package/src/modules/dx/tabPanelList/tabPanelList.ts +178 -0
  270. package/src/modules/dx/tabPanelList/uniqueId.ts +6 -0
  271. package/src/modules/dx/tabbedCodeBlock/tabbedCodeBlock.css +8 -0
  272. package/src/modules/dx/tabbedCodeBlock/tabbedCodeBlock.html +16 -0
  273. package/src/modules/dx/tabbedCodeBlock/tabbedCodeBlock.ts +44 -0
  274. package/src/modules/dx/tbidAvatarButton/tbidAvatarButton.css +33 -0
  275. package/src/modules/dx/tbidAvatarButton/tbidAvatarButton.html +53 -0
  276. package/src/modules/dx/tbidAvatarButton/tbidAvatarButton.ts +450 -0
  277. package/src/modules/dx/toast/toast.css +78 -0
  278. package/src/modules/dx/toast/toast.html +20 -0
  279. package/src/modules/dx/toast/toast.ts +41 -0
  280. package/src/modules/dx/toc/toc.css +18 -46
  281. package/src/modules/dx/toc/toc.html +5 -11
  282. package/src/modules/dx/toc/toc.ts +20 -31
  283. package/src/modules/dx/tooltip/tooltip.css +1 -0
  284. package/src/modules/dx/topics/topics.css +26 -0
  285. package/src/modules/dx/topics/topics.html +12 -0
  286. package/src/modules/dx/topics/topics.ts +25 -0
  287. package/src/modules/dx/trafficLabeler/trafficLabeler.html +1 -0
  288. package/src/modules/dx/trafficLabeler/trafficLabeler.ts +58 -0
  289. package/src/modules/dx/tree/tree.css +1 -1
  290. package/src/modules/dx/tree/tree.ts +9 -1
  291. package/src/modules/dx/tree/treeHandler.ts +5 -1
  292. package/src/modules/dx/treeItem/treeItem.css +12 -1
  293. package/src/modules/dx/treeItem/treeItem.html +10 -2
  294. package/src/modules/dx/treeItem/treeItem.ts +103 -15
  295. package/src/modules/dx/treeTile/treeTile.css +77 -64
  296. package/src/modules/dx/treeTile/treeTile.html +24 -10
  297. package/src/modules/dx/treeTile/treeTile.ts +31 -6
  298. package/src/modules/dx/typeBadge/typeBadge.css +2 -59
  299. package/src/modules/dx/typeBadge/typeBadge.html +7 -1
  300. package/src/modules/dx/typeBadge/typeBadge.ts +97 -8
  301. package/src/modules/dx/vimeoPlayer/vimeoPlayer.css +1 -0
  302. package/src/modules/dx/vimeoPlayer/vimeoPlayer.html +3 -0
  303. package/src/modules/dx/vimeoPlayer/vimeoPlayer.ts +31 -0
  304. package/src/modules/dxBaseElements/archiveCard/archiveCard.ts +31 -0
  305. package/src/modules/{utils → dxBaseElements}/headerBase/headerBase.ts +37 -13
  306. package/src/modules/dxBaseElements/lightningElementWithState/lightningElementWithState.ts +93 -0
  307. package/src/modules/dxBaseElements/matchMediaElement/matchMediaElement.ts +63 -0
  308. package/src/modules/dxBaseElements/sidebarBase/sidebarBase.ts +176 -0
  309. package/src/modules/dxConstants/brands/brands.ts +18 -0
  310. package/src/modules/dxConstants/colors/colors.ts +14 -0
  311. package/src/modules/dxConstants/contentTypes/contentTypes.ts +72 -0
  312. package/src/modules/{helpers → dxHelpers}/animations/animations.css +1 -1
  313. package/src/modules/dxHelpers/button/button.css +4 -0
  314. package/src/modules/{helpers → dxHelpers}/card/card.css +33 -32
  315. package/src/modules/{helpers → dxHelpers}/code/code.css +5 -13
  316. package/src/modules/{helpers → dxHelpers}/commonHeader/commonHeader.css +13 -11
  317. package/src/modules/dxHelpers/commonSidebar/commonSidebar.css +179 -0
  318. package/src/modules/dxHelpers/commonTreeItem/commonTreeItem.css +44 -0
  319. package/src/modules/{helpers → dxHelpers}/reset/reset.css +6 -13
  320. package/src/modules/dxHelpers/scrollbar/scrollbar.css +31 -0
  321. package/src/modules/{helpers → dxHelpers}/table/table.css +2 -6
  322. package/src/modules/{helpers → dxHelpers}/text/text.css +71 -32
  323. package/src/modules/dxHelpers/typeBadge/typeBadge.css +32 -0
  324. package/src/modules/dxUtils/analytics/analytics.ts +24 -0
  325. package/src/modules/dxUtils/async/async.ts +45 -0
  326. package/src/modules/dxUtils/browser/browser.ts +17 -0
  327. package/src/modules/dxUtils/constants/breakpoints.ts +9 -0
  328. package/src/modules/dxUtils/constants/constants.ts +1 -0
  329. package/src/modules/dxUtils/contentTypes/contentTypes.ts +30 -0
  330. package/src/modules/dxUtils/coveo/coveo.ts +70 -0
  331. package/src/modules/dxUtils/css/css.ts +58 -0
  332. package/src/modules/dxUtils/dates/dates.ts +72 -0
  333. package/src/modules/{utils → dxUtils}/highlight/highlight.ts +3 -2
  334. package/src/modules/dxUtils/language/language.ts +21 -0
  335. package/src/modules/dxUtils/list/list.ts +11 -0
  336. package/src/modules/dxUtils/lwc/lwc.ts +24 -0
  337. package/src/modules/dxUtils/normalizers/normalizers.ts +112 -0
  338. package/src/modules/{utils → dxUtils}/options/options.ts +13 -9
  339. package/src/modules/dxUtils/prismjs/prismjs.ts +4183 -0
  340. package/src/modules/dxUtils/queryCoordinator/queryCoordinator.ts +43 -0
  341. package/src/modules/dxUtils/recentSearches/recentSearches.ts +57 -0
  342. package/src/modules/dxUtils/sanitizeHtml/sanitizeHtml.ts +8 -0
  343. package/src/modules/dxUtils/urlWatcher/urlWatcher.ts +79 -0
  344. package/src/modules/dxUtils/withTypedRefs/withTypedRefs.ts +26 -0
  345. package/src/modules/{utils → dxUtils}/wordpress/wordpress.ts +14 -0
  346. package/LICENSE +0 -12
  347. package/src/assets/svg/card-news-learn-moar.svg +0 -415
  348. package/src/assets/svg/cloud-1.svg +0 -24
  349. package/src/assets/svg/cloud-2.svg +0 -18
  350. package/src/assets/svg/codey.svg +0 -93
  351. package/src/assets/svg/command.svg +0 -9
  352. package/src/assets/svg/control.svg +0 -10
  353. package/src/assets/svg/docs-empty-state-small.svg +0 -72
  354. package/src/assets/svg/docs-empty-state.svg +0 -86
  355. package/src/assets/svg/dsc-home-news-bear.svg +0 -3
  356. package/src/assets/svg/dsc-home-news-community.png +0 -0
  357. package/src/assets/svg/dsc-home-news-goatbear.svg +0 -257
  358. package/src/assets/svg/dsc-home-news-samplegallery.svg +0 -76
  359. package/src/assets/svg/empty-state-assistant.svg +0 -1
  360. package/src/assets/svg/fch-blog-cloud-1.png +0 -0
  361. package/src/assets/svg/fch-blog-cloud-2.png +0 -0
  362. package/src/assets/svg/fch-blog-planet.png +0 -0
  363. package/src/assets/svg/feature-backdrop1.svg +0 -10
  364. package/src/assets/svg/feature-backdrop2.svg +0 -10
  365. package/src/assets/svg/featured-demo-art-blank.svg +0 -76
  366. package/src/assets/svg/featured-demo-art-eBikes.svg +0 -77
  367. package/src/assets/svg/footer-graphic-large.svg +0 -207
  368. package/src/assets/svg/footer-graphic-mountains-small.svg +0 -17
  369. package/src/assets/svg/footer-graphic-mountains.svg +0 -21
  370. package/src/assets/svg/footer-graphic-trees-small.svg +0 -33
  371. package/src/assets/svg/footer-graphic-trees.svg +0 -62
  372. package/src/assets/svg/lake-mountain.svg +0 -79
  373. package/src/assets/svg/podcast-subscription-clouds-small.svg +0 -49
  374. package/src/assets/svg/podcast-subscription-clouds.svg +0 -57
  375. package/src/assets/svg/podcasts-subscription-apple.svg +0 -164
  376. package/src/assets/svg/podcasts-subscription-google.svg +0 -29
  377. package/src/assets/svg/podcasts-subscription-spotify.svg +0 -11
  378. package/src/assets/svg/salesforce-cloud.svg +0 -7
  379. package/src/assets/svg/salesforce-logo-corporate.svg +0 -21
  380. package/src/assets/svg/salesforce-logo.svg +0 -14
  381. package/src/assets/svg/trees.svg +0 -42
  382. package/src/modules/dx/banner/__tests__/banner.test.ts +0 -31
  383. package/src/modules/dx/brandThemeProvider/__tests__/brandThemeProvider.test.ts +0 -49
  384. package/src/modules/dx/brandThemeProvider/brandThemeProvider.stories.ts +0 -321
  385. package/src/modules/dx/breadcrumbs/__tests__/breadcrumbs.test.ts +0 -143
  386. package/src/modules/dx/breadcrumbs/__tests__/mockProps.ts +0 -28
  387. package/src/modules/dx/breadcrumbs/breadcrumbs.stories.ts +0 -39
  388. package/src/modules/dx/button/__tests__/button.test.ts +0 -107
  389. package/src/modules/dx/button/button.stories.ts +0 -150
  390. package/src/modules/dx/cardBlogPost/__tests__/cardBlogPost.test.ts +0 -27
  391. package/src/modules/dx/cardBlogPost/__tests__/mockProps.ts +0 -12
  392. package/src/modules/dx/cardBlogPost/cardBlogPost.stories.ts +0 -164
  393. package/src/modules/dx/cardBlogPostProvider/__tests__/cardBlogPostProvider.test.ts +0 -34
  394. package/src/modules/dx/cardBlogPostProvider/__tests__/mockWordpressPosts.ts +0 -44
  395. package/src/modules/dx/cardBlogPostProvider/cardBlogPostProvider.css +0 -3
  396. package/src/modules/dx/cardBlogPostProvider/cardBlogPostProvider.html +0 -16
  397. package/src/modules/dx/cardBlogPostProvider/cardBlogPostProvider.ts +0 -29
  398. package/src/modules/dx/cardCallout/__tests__/cardCallout.test.ts +0 -23
  399. package/src/modules/dx/cardCallout/__tests__/mockProps.ts +0 -7
  400. package/src/modules/dx/cardCallout/cardCallout.stories.ts +0 -33
  401. package/src/modules/dx/cardContent/__tests__/cardContent.test.ts +0 -112
  402. package/src/modules/dx/cardContent/__tests__/mockProps.ts +0 -13
  403. package/src/modules/dx/cardContent/cardContent.stories.ts +0 -127
  404. package/src/modules/dx/cardDemo/cardDemo.stories.ts +0 -115
  405. package/src/modules/dx/cardDocs/__tests__/cardDocs.test.ts +0 -48
  406. package/src/modules/dx/cardDocs/__tests__/mockProps.ts +0 -9
  407. package/src/modules/dx/cardDocs/cardDocs.stories.ts +0 -299
  408. package/src/modules/dx/cardEvent/__tests__/cardEvent.test.ts +0 -99
  409. package/src/modules/dx/cardEvent/__tests__/mockProps.ts +0 -10
  410. package/src/modules/dx/cardEvent/cardEvent.stories.ts +0 -152
  411. package/src/modules/dx/cardGrid/__tests__/cardMockProps.ts +0 -431
  412. package/src/modules/dx/cardGrid/__tests__/mockProps.ts +0 -15
  413. package/src/modules/dx/cardGrid/cardGrid.stories.ts +0 -111
  414. package/src/modules/dx/cardNews/__tests__/cardNews.test.ts +0 -59
  415. package/src/modules/dx/cardNews/__tests__/mockProps.ts +0 -7
  416. package/src/modules/dx/cardNews/cardNews.stories.ts +0 -115
  417. package/src/modules/dx/cardPodcastEpisode/__tests__/cardPodcastEpisode.test.ts +0 -70
  418. package/src/modules/dx/cardPodcastEpisode/cardPodcastEpisode.stories.ts +0 -31
  419. package/src/modules/dx/cardPodcastEpisodeProvider/__tests__/cardPodcastEpisodeProvider.test.ts +0 -36
  420. package/src/modules/dx/cardPodcastEpisodeProvider/__tests__/mockWordpressEpisodes.ts +0 -50
  421. package/src/modules/dx/cardPodcastEpisodeProvider/cardPodcastEpisodeProvider.css +0 -3
  422. package/src/modules/dx/cardPodcastEpisodeProvider/cardPodcastEpisodeProvider.html +0 -12
  423. package/src/modules/dx/cardPodcastEpisodeProvider/cardPodcastEpisodeProvider.ts +0 -29
  424. package/src/modules/dx/cardSmall/__tests__/cardSmall.test.ts +0 -70
  425. package/src/modules/dx/cardSmall/__tests__/mockProps.ts +0 -8
  426. package/src/modules/dx/cardSmall/cardSmall.stories.ts +0 -166
  427. package/src/modules/dx/cardTitle/__tests__/cardTitle.test.ts +0 -46
  428. package/src/modules/dx/cardTrailheadModule/__tests__/cardTrailheadModule.test.ts +0 -18
  429. package/src/modules/dx/cardTrailheadModule/__tests__/mockProps.ts +0 -11
  430. package/src/modules/dx/cardTrailheadModule/cardTrailheadModule.stories.ts +0 -122
  431. package/src/modules/dx/cardVideoPreview/__tests__/cardVideoPreview.test.ts +0 -22
  432. package/src/modules/dx/cardVideoPreview/__tests__/mockProps.ts +0 -11
  433. package/src/modules/dx/cardVideoPreview/cardVideoPreview.stories.ts +0 -147
  434. package/src/modules/dx/checkbox/__tests__/checkbox.test.ts +0 -86
  435. package/src/modules/dx/checkbox/__tests__/mockProps.ts +0 -5
  436. package/src/modules/dx/checkbox/checkbox.stories.ts +0 -38
  437. package/src/modules/dx/checkboxGroup/__tests__/checkboxGroup.test.ts +0 -80
  438. package/src/modules/dx/checkboxGroup/__tests__/mockProps.ts +0 -14
  439. package/src/modules/dx/checkboxGroup/checkboxGroup.stories.ts +0 -33
  440. package/src/modules/dx/codeBlock/__tests__/codeBlock.test.ts +0 -242
  441. package/src/modules/dx/codeBlock/__tests__/mockProps.ts +0 -160
  442. package/src/modules/dx/codeBlock/codeBlock.stories.ts +0 -143
  443. package/src/modules/dx/codeBlock/darkTheme.css +0 -88
  444. package/src/modules/dx/codeBlock/lightTheme.css +0 -72
  445. package/src/modules/dx/dropdown/__tests__/dropdown.test.ts +0 -172
  446. package/src/modules/dx/dropdown/__tests__/mockNestedOptions.ts +0 -96
  447. package/src/modules/dx/dropdown/__tests__/mockOptions.ts +0 -10
  448. package/src/modules/dx/dropdown/__tests__/mockProps.ts +0 -6
  449. package/src/modules/dx/dropdown/dropdown.stories.ts +0 -89
  450. package/src/modules/dx/dropdownOption/__tests__/dropdownOption.test.ts +0 -112
  451. package/src/modules/dx/dropdownOption/__tests__/mockProps.ts +0 -20
  452. package/src/modules/dx/emptyState/__tests__/emptyState.test.ts +0 -52
  453. package/src/modules/dx/emptyState/__tests__/mockProps.ts +0 -4
  454. package/src/modules/dx/emptyState/emptyState.stories.ts +0 -45
  455. package/src/modules/dx/feature/__tests__/feature.test.ts +0 -50
  456. package/src/modules/dx/feature/__tests__/mockProps.ts +0 -8
  457. package/src/modules/dx/featureGrid/__tests__/featureGrid.test.ts +0 -21
  458. package/src/modules/dx/featureGrid/featureGrid.stories.ts +0 -120
  459. package/src/modules/dx/featuredContentHeader/__tests__/featuredContentHeader.test.ts +0 -191
  460. package/src/modules/dx/featuredContentHeader/__tests__/mockProps.ts +0 -73
  461. package/src/modules/dx/featuredContentHeader/featuredContentHeader.stories.ts +0 -153
  462. package/src/modules/dx/featuresList/__tests__/featuresList.test.ts +0 -47
  463. package/src/modules/dx/featuresList/__tests__/mockProps.ts +0 -17
  464. package/src/modules/dx/featuresList/featuresList.stories.ts +0 -30
  465. package/src/modules/dx/footer/__tests__/footer.test.ts +0 -147
  466. package/src/modules/dx/footer/__tests__/mockLocales.ts +0 -7
  467. package/src/modules/dx/footer/footer.stories.ts +0 -88
  468. package/src/modules/dx/footerOption/__tests__/footerOption.test.ts +0 -34
  469. package/src/modules/dx/footerOption/__tests__/mockProps.ts +0 -7
  470. package/src/modules/dx/formattedDateTime/__tests__/formattedDateTime.test.ts +0 -25
  471. package/src/modules/dx/formattedDateTime/__tests__/mockProps.ts +0 -13
  472. package/src/modules/dx/formattedDateTime/formattedDateTime.stories.ts +0 -103
  473. package/src/modules/dx/grid/__tests__/grid.test.ts +0 -37
  474. package/src/modules/dx/grid/grid.stories.ts +0 -134
  475. package/src/modules/dx/groupBio/__tests__/groupBio.test.ts +0 -82
  476. package/src/modules/dx/groupBio/__tests__/mockProps.ts +0 -15
  477. package/src/modules/dx/groupBio/groupBio.css +0 -49
  478. package/src/modules/dx/groupBio/groupBio.html +0 -29
  479. package/src/modules/dx/groupBio/groupBio.stories.ts +0 -66
  480. package/src/modules/dx/groupBio/groupBio.ts +0 -41
  481. package/src/modules/dx/groupText/__tests__/groupText.test.ts +0 -73
  482. package/src/modules/dx/groupText/__tests__/mockProps.ts +0 -35
  483. package/src/modules/dx/groupText/groupText.stories.ts +0 -81
  484. package/src/modules/dx/headTags/headTags.html +0 -3
  485. package/src/modules/dx/headTags/headTags.ts +0 -39
  486. package/src/modules/dx/header/__benchmarks__/header.benchmark.js +0 -45
  487. package/src/modules/dx/header/__tests__/header.test.ts +0 -242
  488. package/src/modules/dx/header/__tests__/mockNavArchitects.ts +0 -169
  489. package/src/modules/dx/header/__tests__/mockNavDevelopers.ts +0 -419
  490. package/src/modules/dx/header/__tests__/mockNavs.ts +0 -115
  491. package/src/modules/dx/header/__tests__/mockProps.ts +0 -164
  492. package/src/modules/dx/header/header.css +0 -109
  493. package/src/modules/dx/header/header.html +0 -128
  494. package/src/modules/dx/header/header.stories.ts +0 -172
  495. package/src/modules/dx/header/header.ts +0 -27
  496. package/src/modules/dx/headerMobileNavMenu/__tests__/headerMobileNavMenu.test.ts +0 -123
  497. package/src/modules/dx/headerMobileNavMenuOption/__tests__/headerMobileNavMenuOption.test.ts +0 -38
  498. package/src/modules/dx/headerNav/__tests__/headerNav.test.ts +0 -49
  499. package/src/modules/dx/headerSearch/__tests__/headerSearch.test.ts +0 -198
  500. package/src/modules/dx/headerSearch/__tests__/mockData.ts +0 -11
  501. package/src/modules/dx/headerSearch/__tests__/mockProps.ts +0 -11
  502. package/src/modules/dx/headerSearch/headerSearch.css +0 -62
  503. package/src/modules/dx/headerSearch/headerSearch.html +0 -65
  504. package/src/modules/dx/headerSearch/headerSearch.ts +0 -161
  505. package/src/modules/dx/helmet/__tests__/helmet.test.ts +0 -53
  506. package/src/modules/dx/helmet/helmet.stories.ts +0 -53
  507. package/src/modules/dx/hr/__tests__/hr.test.ts +0 -53
  508. package/src/modules/dx/hr/__tests__/mockProps.ts +0 -16
  509. package/src/modules/dx/hr/hr.stories.ts +0 -50
  510. package/src/modules/dx/icon/__tests__/icon.test.ts +0 -54
  511. package/src/modules/dx/icon/icon.stories.ts +0 -100
  512. package/src/modules/dx/iconBadge/__tests__/iconBadge.test.ts +0 -17
  513. package/src/modules/dx/iconBadge/iconBadge.stories.ts +0 -32
  514. package/src/modules/dx/imageAndLabel/__tests__/imageAndLabel.test.ts +0 -39
  515. package/src/modules/dx/imageAndLabel/__tests__/mockProps.ts +0 -6
  516. package/src/modules/dx/imageAndLabel/imageAndLabel.stories.ts +0 -48
  517. package/src/modules/dx/input/__tests__/input.test.ts +0 -368
  518. package/src/modules/dx/input/input.stories.ts +0 -102
  519. package/src/modules/dx/instrumentation/__tests__/instrumentation.test.ts +0 -86
  520. package/src/modules/dx/instrumentation/instrumentation.ts +0 -116
  521. package/src/modules/dx/interactiveImage/__tests__/interactiveImage.test.ts +0 -86
  522. package/src/modules/dx/interactiveImage/__tests__/mockProps.ts +0 -39
  523. package/src/modules/dx/interactiveImage/interactiveImage.stories.ts +0 -31
  524. package/src/modules/dx/lazy/__tests__/lazy.test.ts +0 -43
  525. package/src/modules/dx/lazy/lazy.html +0 -5
  526. package/src/modules/dx/lazy/lazy.stories.ts +0 -132
  527. package/src/modules/dx/lazy/lazy.ts +0 -170
  528. package/src/modules/dx/newsletterForm/newsletterForm.css +0 -73
  529. package/src/modules/dx/newsletterForm/newsletterForm.html +0 -73
  530. package/src/modules/dx/newsletterForm/newsletterForm.ts +0 -229
  531. package/src/modules/dx/pagination/__tests__/pagination.test.ts +0 -121
  532. package/src/modules/dx/pagination/pagination.stories.ts +0 -88
  533. package/src/modules/dx/podcastHost/__tests__/mockProps.ts +0 -8
  534. package/src/modules/dx/podcastHost/__tests__/podcastHost.test.ts +0 -21
  535. package/src/modules/dx/podcastHost/podcastHost.stories.ts +0 -17
  536. package/src/modules/dx/podcastPlayer/__tests__/podcastPlayer.test.ts +0 -20
  537. package/src/modules/dx/podcastPlayer/podcastPlayer.stories.ts +0 -13
  538. package/src/modules/dx/podcastSubscription/__tests__/podcastSubscription.test.ts +0 -16
  539. package/src/modules/dx/podcastSubscription/podcastSubscription.css +0 -92
  540. package/src/modules/dx/podcastSubscription/podcastSubscription.html +0 -24
  541. package/src/modules/dx/podcastSubscription/podcastSubscription.stories.ts +0 -23
  542. package/src/modules/dx/podcastSubscription/podcastSubscription.ts +0 -58
  543. package/src/modules/dx/popover/__tests__/mockProps.ts +0 -8
  544. package/src/modules/dx/popover/__tests__/popover.test.ts +0 -321
  545. package/src/modules/dx/popover/popover.stories.ts +0 -82
  546. package/src/modules/dx/radioGroup/__tests__/mockProps.ts +0 -12
  547. package/src/modules/dx/radioGroup/__tests__/radioGroup.test.ts +0 -42
  548. package/src/modules/dx/radioGroup/radioGroup.stories.ts +0 -25
  549. package/src/modules/dx/relativeDateTime/__tests__/mockProps.ts +0 -55
  550. package/src/modules/dx/relativeDateTime/__tests__/relativeDateTime.test.ts +0 -52
  551. package/src/modules/dx/relativeDateTime/relativeDateTime.stories.ts +0 -83
  552. package/src/modules/dx/searchResults/searchResults.stories.ts +0 -36
  553. package/src/modules/dx/section/__tests__/section.test.ts +0 -17
  554. package/src/modules/dx/section/section.stories.ts +0 -381
  555. package/src/modules/dx/sectionSignup/__tests__/sectionSignup.test.ts +0 -66
  556. package/src/modules/dx/sectionSignup/sectionSignup.stories.ts +0 -49
  557. package/src/modules/dx/select/select.stories.ts +0 -59
  558. package/src/modules/dx/sidebar/__tests__/mockProps.ts +0 -181
  559. package/src/modules/dx/sidebar/__tests__/sidebar.test.ts +0 -609
  560. package/src/modules/dx/sidebar/sidebar.stories.ts +0 -139
  561. package/src/modules/dx/socials/__tests__/socials.test.ts +0 -124
  562. package/src/modules/dx/socials/socials.stories.ts +0 -24
  563. package/src/modules/dx/spinner/__tests__/spinner.test.ts +0 -37
  564. package/src/modules/dx/spinner/spinner.stories.ts +0 -69
  565. package/src/modules/dx/tab/__tests__/tab.test.ts +0 -129
  566. package/src/modules/dx/tab/tab.stories.ts +0 -57
  567. package/src/modules/dx/toc/__tests__/mockProps.ts +0 -22
  568. package/src/modules/dx/toc/__tests__/toc.test.ts +0 -115
  569. package/src/modules/dx/toc/toc.stories.ts +0 -26
  570. package/src/modules/dx/tooltip/__tests__/tooltip.test.ts +0 -23
  571. package/src/modules/dx/tooltip/tooltip.stories.ts +0 -46
  572. package/src/modules/dx/tree/__tests__/mockProps.ts +0 -215
  573. package/src/modules/dx/tree/__tests__/tree.test.ts +0 -357
  574. package/src/modules/dx/tree/__tests__/treeHandler.test.ts +0 -194
  575. package/src/modules/dx/tree/tree.stories.ts +0 -65
  576. package/src/modules/dx/treeItem/__tests__/mockProps.ts +0 -46
  577. package/src/modules/dx/treeItem/__tests__/treeItem.test.ts +0 -400
  578. package/src/modules/dx/treeTile/__tests__/mockProps.ts +0 -16
  579. package/src/modules/dx/treeTile/__tests__/treeTile.test.ts +0 -179
  580. package/src/modules/dx/typeBadge/__tests__/typeBadge.test.ts +0 -63
  581. package/src/modules/dx/typeBadge/typeBadge.stories.ts +0 -79
  582. package/src/modules/dx/typeBadgeGroup/__tests__/mockProps.ts +0 -11
  583. package/src/modules/dx/typeBadgeGroup/__tests__/typeBadgeGroup.test.ts +0 -76
  584. package/src/modules/dx/typeBadgeGroup/typeBadgeGroup.css +0 -12
  585. package/src/modules/dx/typeBadgeGroup/typeBadgeGroup.html +0 -11
  586. package/src/modules/dx/typeBadgeGroup/typeBadgeGroup.stories.ts +0 -19
  587. package/src/modules/dx/typeBadgeGroup/typeBadgeGroup.ts +0 -18
  588. package/src/modules/helpers/button/button.css +0 -4
  589. package/src/modules/helpers/slds/slds.css +0 -191
  590. package/src/modules/tests/buttonTest/buttonTest.html +0 -3
  591. package/src/modules/tests/buttonTest/buttonTest.ts +0 -3
  592. package/src/modules/tests/codeBlockTest/codeBlockTest.js +0 -4
  593. package/src/modules/tests/featureGridTest/featureGridTest.html +0 -7
  594. package/src/modules/tests/featureGridTest/featureGridTest.ts +0 -5
  595. package/src/modules/tests/instrumentationTest/instrumentationTest.html +0 -4
  596. package/src/modules/tests/instrumentationTest/instrumentationTest.ts +0 -8
  597. package/src/modules/tests/popoverTest/popoverTest.html +0 -6
  598. package/src/modules/tests/popoverTest/popoverTest.ts +0 -5
  599. package/src/modules/utils/css/css.ts +0 -2
  600. package/src/modules/utils/jest/jest.ts +0 -23
  601. package/src/modules/utils/normalizers/normalizers.ts +0 -91
  602. package/src/modules/utils/prismjs/prismjs.ts +0 -3225
  603. package/src/modules/utils/storybook/storybook.ts +0 -33
  604. package/src/modules/utils/tests/tests.ts +0 -31
  605. package/src/modules/utils/wordpress/__tests__/wordpress.test.ts +0 -15
  606. /package/src/modules/dx/{instrumentation/instrumentation.html → darkModeManager/darkModeManager.html} +0 -0
  607. /package/src/modules/{utils → dxUtils}/devices/devices.ts +0 -0
  608. /package/src/modules/{utils → dxUtils}/prismjs/prismjs.html +0 -0
  609. /package/src/modules/{utils → dxUtils}/regexps/regexps.ts +0 -0
  610. /package/src/modules/{utils → dxUtils}/seo/seo.ts +0 -0
  611. /package/src/modules/{utils → dxUtils}/slot/slot.ts +0 -0
@@ -5,10 +5,19 @@ import {
5
5
  PopperPlacement
6
6
  } from "typings/custom";
7
7
 
8
- import { createPopper } from "@popperjs/core";
8
+ import {
9
+ autoUpdate,
10
+ computePosition,
11
+ flip,
12
+ size,
13
+ shift,
14
+ arrow,
15
+ platform
16
+ } from "@floating-ui/dom";
17
+ import { offsetParent } from "composed-offset-position";
9
18
  import cx from "classnames";
10
19
  import debounce from "debounce";
11
- import { isPrerender } from "utils/seo";
20
+ import { isPrerender } from "dxUtils/seo";
12
21
 
13
22
  const isEventOutsideElements = (
14
23
  e: Event,
@@ -23,7 +32,8 @@ const isEventOutsideElements = (
23
32
  );
24
33
 
25
34
  export default class Popover extends LightningElement {
26
- @api ariaLabel: string | null = null;
35
+ private autoUpdateCleanup?: () => void;
36
+
27
37
  @api offset?: "small" | "medium";
28
38
  @api pagePadding?: number = 16; // padding between dropdown and the edge of the page
29
39
  @api placement?: PopperPlacement = "bottom-start";
@@ -31,6 +41,7 @@ export default class Popover extends LightningElement {
31
41
  @api openOnHover?: boolean = false; // dropdown opens/closes with hover
32
42
  @api width?: string | null = null;
33
43
  @api fullWidth?: boolean | null;
44
+ @api showArrow?: boolean | null;
34
45
 
35
46
  @api
36
47
  get open() {
@@ -68,11 +79,12 @@ export default class Popover extends LightningElement {
68
79
  this._open = true;
69
80
  this.control.setAttribute("aria-expanded", "true");
70
81
 
82
+ if (this.popover) {
83
+ this.autoUpdateCleanup = autoUpdate(this.control, this.popover, this.setPosition);
84
+ }
85
+
71
86
  this.dispatchEvent(new CustomEvent("open"));
72
87
 
73
- // awaiting .popover-container to receive 'visibility: visible;' in order to execute functions on it;
74
- // another approach would be to use IntersectionObserver to determine exactly when the visiblity
75
- // is applied before running
76
88
  setTimeout(() => {
77
89
  this.setPosition();
78
90
  this.attachListenersTopopover();
@@ -83,6 +95,7 @@ export default class Popover extends LightningElement {
83
95
  @api
84
96
  closePopover(focusControl: boolean = false) {
85
97
  this._open = false;
98
+ this.autoUpdateCleanup?.();
86
99
  if (focusControl && this.control && this.control.focus) {
87
100
  this.control.focus();
88
101
  }
@@ -106,9 +119,11 @@ export default class Popover extends LightningElement {
106
119
  private _open: boolean = false;
107
120
  private _rendered: boolean = isPrerender();
108
121
  private _role: string | null = null;
122
+ private arrow: HTMLElement | null = null;
109
123
  private control: (HTMLElement & { disabled?: boolean }) | null = null;
110
124
  private focusedValue: string | null = null;
111
125
  private popover: HTMLElement | null = null;
126
+ private popoverContent: HTMLElement | null = null;
112
127
 
113
128
  // LIFECYCLE METHODS
114
129
 
@@ -123,6 +138,12 @@ export default class Popover extends LightningElement {
123
138
  if (!this.popover) {
124
139
  this.popover = this.template.querySelector(".popover-container");
125
140
  }
141
+ if (!this.popoverContent) {
142
+ this.popoverContent = this.template.querySelector(".popover");
143
+ }
144
+ if (!this.arrow && this.showArrow) {
145
+ this.arrow = this.template.querySelector(".popover-arrow");
146
+ }
126
147
  }
127
148
 
128
149
  // GETTERS
@@ -235,23 +256,27 @@ export default class Popover extends LightningElement {
235
256
  this.openPopover();
236
257
  };
237
258
 
238
- private onSlotChange(e: LightningSlotElement) {
239
- const slot = e.target;
259
+ private onSlotChange(e: Event) {
260
+ const slot = e.target as LightningSlotElement;
240
261
  const elements = slot.assignedElements();
241
262
  const slotted = elements.length === 0 ? null : elements[0];
242
263
  // allows dropdown/select to compose popover
243
- const control =
244
- slotted.tagName === "SLOT" ? slotted.firstChild : slotted;
245
- const onboardControl =
246
- (!this.control || (control && !control.isSameNode(this.control))) &&
247
- control;
248
- if (onboardControl) {
249
- control.setAttribute("aria-haspopup", "true");
250
- control.style.cursor = this.openOnHover ? "default" : "cursor";
251
- this.control = control;
252
- this.addControlListeners();
253
- this.setPosition();
264
+ const slotElement = (
265
+ slotted?.tagName === "SLOT" ? slotted.firstChild : slotted
266
+ ) as HTMLElement | null;
267
+ const isWorkToDo =
268
+ slotElement &&
269
+ (!this.control || !slotElement.isSameNode(this.control));
270
+
271
+ if (!isWorkToDo) {
272
+ return;
254
273
  }
274
+
275
+ slotElement.setAttribute("aria-haspopup", "true");
276
+ slotElement.style.cursor = this.openOnHover ? "default" : "cursor";
277
+ this.control = slotElement;
278
+ this.addControlListeners();
279
+ this.setPosition();
255
280
  }
256
281
 
257
282
  private onKeyDown(e: KeyboardEvent): void {
@@ -276,38 +301,78 @@ export default class Popover extends LightningElement {
276
301
  }
277
302
  }
278
303
 
279
- private setPosition = async () => {
304
+ private _setPosition = async () => {
280
305
  if (this.popover && this.control) {
281
306
  await Promise.resolve();
282
- createPopper(this.control, this.popover, {
283
- placement: this.placement,
284
- modifiers: [
285
- {
286
- name: "preventOverflow",
287
- options: {
288
- boundary: document.documentElement,
289
- padding: this.pagePadding
290
- }
291
- },
292
- {
293
- name: "flip",
294
- options: {
295
- fallbackPlacements: []
307
+ const popoverEl = this.popover;
308
+ const middleware = [flip(), shift({ padding: this.pagePadding })];
309
+
310
+ if (this.fullWidth) {
311
+ middleware.unshift(
312
+ size({
313
+ apply({ rects }) {
314
+ Object.assign(popoverEl.style, {
315
+ width: `${rects.reference.width}px`
316
+ });
296
317
  }
297
- },
298
- this.fullWidth
299
- ? {
300
- name: "fullWidth",
301
- enabled: true,
302
- fn: ({ state }) => {
303
- state.styles.popper.width = `${state.rects.reference.width}px`;
304
- },
305
- phase: "beforeWrite",
306
- requires: ["computeStyles"]
307
- }
308
- : {}
309
- ]
318
+ })
319
+ );
320
+ }
321
+
322
+ if (this.arrow) {
323
+ middleware.push(arrow({ element: this.arrow, padding: 24 }));
324
+ }
325
+
326
+ computePosition(this.control, popoverEl, {
327
+ placement: this.placement,
328
+ platform: {
329
+ ...platform,
330
+ getOffsetParent: (element) =>
331
+ platform.getOffsetParent(element, offsetParent)
332
+ },
333
+ middleware
334
+ }).then(({ x, y, placement, middlewareData }) => {
335
+ Object.assign(popoverEl.style, {
336
+ left: `${x}px`,
337
+ top: `${y}px`
338
+ });
339
+
340
+ if (this.arrow && middlewareData.arrow) {
341
+ const { x: arrowX, y: arrowY } = middlewareData.arrow;
342
+ const popoverPlacementSide = placement.split("-")[0] as
343
+ | "top"
344
+ | "bottom"
345
+ | "left"
346
+ | "right";
347
+ const staticSide = {
348
+ top: "bottom",
349
+ right: "left",
350
+ bottom: "top",
351
+ left: "right"
352
+ }[popoverPlacementSide];
353
+ const arrowStyles = {
354
+ left: arrowX != null ? `${arrowX}px` : "",
355
+ top: arrowY != null ? `${arrowY}px` : "",
356
+ right: "",
357
+ bottom: "",
358
+ [staticSide]: "-4px"
359
+ };
360
+
361
+ if (this.offset && this.popoverContent) {
362
+ arrowStyles.marginTop = getComputedStyle(
363
+ this.popoverContent
364
+ ).marginTop;
365
+ }
366
+
367
+ Object.assign(this.arrow.style, arrowStyles);
368
+ }
310
369
  });
311
370
  }
312
371
  };
372
+ public get setPosition() {
373
+ return this._setPosition;
374
+ }
375
+ public set setPosition(value) {
376
+ this._setPosition = value;
377
+ }
313
378
  }
@@ -1,4 +1,4 @@
1
- @import "helpers/reset";
1
+ @import "dxHelpers/reset";
2
2
 
3
3
  fieldset {
4
4
  display: grid;
@@ -1,5 +1,5 @@
1
1
  import { LightningElement, api } from "lwc";
2
- import { toJson } from "utils/normalizers";
2
+ import { toJson } from "dxUtils/normalizers";
3
3
 
4
4
  type Option = {
5
5
  value: string;
@@ -0,0 +1 @@
1
+ <template></template>
@@ -0,0 +1,10 @@
1
+ // urlWatcherComponent.ts
2
+ import { LightningElement } from "lwc";
3
+ import { UrlWatcher } from "dxUtils/urlWatcher";
4
+
5
+ export default class UrlWatcherComponent extends LightningElement {
6
+ watcher = UrlWatcher.getInstance();
7
+ connectedCallback() {
8
+ // Just ensure the singleton initializes
9
+ }
10
+ }
@@ -1,12 +1,6 @@
1
1
  import { LightningElement, api } from "lwc";
2
2
 
3
3
  export default class RelativeDateTime extends LightningElement {
4
- @api messageWhenHoursPast: String = "";
5
- @api messageWhenDaysPast: String = "";
6
- @api messageWhenWeeksPast: String = "";
7
- @api messageWhenMonthsPast: String = "";
8
- @api messageWhenYearsPast: String = "";
9
-
10
4
  @api
11
5
  set value(value) {
12
6
  if (!value) {
@@ -14,100 +8,35 @@ export default class RelativeDateTime extends LightningElement {
14
8
  return;
15
9
  }
16
10
 
17
- this._selectedDateTime = new Date(value);
11
+ this._inputDateTime = new Date(value);
18
12
  }
19
13
  get value() {
20
- const relativeDateTimeInHours = this.formatDate(this._selectedDateTime);
21
- this._relativeDateTime = this.getRelativeDateTimeAsString(
22
- this._selectedDateTime,
23
- relativeDateTimeInHours
14
+ this._relativeDateTime = this.getFormattedDateTime(
15
+ this._inputDateTime!
24
16
  );
25
17
  return this._relativeDateTime;
26
18
  }
27
19
  get original() {
28
- return this._selectedDateTime;
29
- }
30
-
31
- private _relativeDateTime: String;
32
- private _selectedDateTime: Date;
33
-
34
- formatDate(selectedDateTime: Date) {
35
- const currentDateTime = new Date();
36
- const relativeDateTimeInHours = this.getDifferenceInHours(
37
- selectedDateTime,
38
- currentDateTime
39
- );
40
- return relativeDateTimeInHours;
41
- }
42
-
43
- getDifferenceInHours(selectedDateTime: Date, currentDateTime: Date) {
44
- const milliseconds = Math.abs(+selectedDateTime - +currentDateTime);
45
- const hours = Math.floor(milliseconds / 36e5);
46
- return hours;
47
- }
48
-
49
- getRelativeDateTimeAsString(
50
- selectedDateTime: Date,
51
- relativeDateTimeInHours: Number
52
- ) {
53
- const daysPast = Math.floor(+relativeDateTimeInHours / 24);
54
- const weeksPast = Math.floor(+daysPast / 7);
55
- const monthsPast = Math.floor(+daysPast / 30);
56
- const yearsPast = Math.floor(+monthsPast / 12);
57
- if (yearsPast >= 1) {
58
- return this.timeLabel("year", yearsPast);
59
- } else if (monthsPast <= 11 && monthsPast >= 1) {
60
- return this.timeLabel("month", monthsPast);
61
- } else if (monthsPast < 1 && daysPast >= 7) {
62
- return this.timeLabel("week", weeksPast);
63
- } else if (daysPast <= 7 && daysPast >= 1) {
64
- return this.timeLabel("day", daysPast);
65
- } else if (relativeDateTimeInHours < 24) {
66
- return this.timeLabel("hour", relativeDateTimeInHours);
20
+ return this._inputDateTime?.toLocaleString();
21
+ }
22
+
23
+ private _inputDateTime?: Date;
24
+ private _relativeDateTime?: string;
25
+
26
+ getFormattedDateTime(inputDateTime: Date) {
27
+ const now = new Date();
28
+ const yesterday = new Date(
29
+ now.getTime() - 24 * 60 * 60 * 1000
30
+ ).toLocaleDateString();
31
+ const twoDaysAgo = new Date(
32
+ now.getTime() - 48 * 60 * 60 * 1000
33
+ ).toLocaleDateString();
34
+ const dateStringFromInput = inputDateTime?.toLocaleDateString();
35
+ if (dateStringFromInput === yesterday) {
36
+ return "1 day ago";
37
+ } else if (dateStringFromInput === twoDaysAgo) {
38
+ return "2 days ago";
67
39
  }
68
- return "";
69
- }
70
-
71
- timeLabel(type: String, number: Number) {
72
- let suffix: String = "";
73
- switch (type) {
74
- case "hour": {
75
- suffix =
76
- this.messageWhenHoursPast ||
77
- `${this.pluralize(type, number)} ago`;
78
- break;
79
- }
80
- case "day": {
81
- suffix =
82
- this.messageWhenDaysPast ||
83
- `${this.pluralize(type, number)} ago`;
84
- break;
85
- }
86
- case "week": {
87
- suffix =
88
- this.messageWhenWeeksPast ||
89
- `${this.pluralize(type, number)} ago`;
90
- break;
91
- }
92
- case "month": {
93
- suffix =
94
- this.messageWhenMonthsPast ||
95
- `${this.pluralize(type, number)} ago`;
96
- break;
97
- }
98
- case "year": {
99
- suffix =
100
- this.messageWhenYearsPast ||
101
- `${this.pluralize(type, number)} ago`;
102
- break;
103
- }
104
- default:
105
- suffix = "";
106
- }
107
- return suffix ? `${number} ${suffix}` : "";
108
- }
109
-
110
- pluralize(type: String, number: Number) {
111
- return `${type}${number !== 1 ? "s" : ""}`;
40
+ return dateStringFromInput;
112
41
  }
113
42
  }
@@ -0,0 +1 @@
1
+ <template></template>
@@ -0,0 +1,212 @@
1
+ import { LightningElement } from "lwc";
2
+ import { throttle } from "throttle-debounce";
3
+ import { track } from "dxUtils/analytics";
4
+
5
+ const RESTORE_SCROLL_EVENT_NAME = "restore-scroll";
6
+ const SCROLL_EVENT_NAME = "scroll";
7
+ const GLOBAL_NAV_TOGGLE_EVENT_NAME = "toggle_global_nav";
8
+
9
+ const LOAD_TIME_SCROLL_RESTORE_DELAY = 750;
10
+ const REDUNDANT_INSTANCE_ERROR_MESSAGE =
11
+ "Multiple <dx-scroll-manager>s detected, this should never be the case.";
12
+ const HTML_ELEMENT = document.querySelector("html");
13
+
14
+ declare module globalThis {
15
+ let singletonScrollManagerRendered: boolean;
16
+ let singletonScrollManagerConnected: boolean;
17
+ }
18
+ // mostly components shouldn't be using this, but there are a few exceptions such as amfReference
19
+
20
+ let scrollUnlocked: boolean = false;
21
+
22
+ export const restoreScroll = () => {
23
+ if (scrollUnlocked) {
24
+ return;
25
+ }
26
+ const value = window.history.state?.scroll?.value;
27
+ if (value) {
28
+ document.body.scrollTop = document.documentElement.scrollTop = value;
29
+ }
30
+ };
31
+
32
+ export default class ScrollManager extends LightningElement {
33
+ /*
34
+ WARNING: Dark Magic(TM) follows. This code is likely to be unreliable if:
35
+ - Our load times significantly change (in this case, LOAD_TIME_SCROLL_RESTORE_DELAY may need to be adjusted)
36
+ - Any other components attempt to manipulate the body scroll (including #a links) before LOAD_TIME_SCROLL_RESTORE_DELAY has expired
37
+
38
+ This Dark Magic(TM) was required because of the following super annoying race condition occuring while trying to restore scroll position:
39
+ 1. Load a page on our site (reproducible consistently at time of writing at https://developer.salesforce.com)
40
+ 2. Scroll down somewhere (remember where)
41
+ 3. Navigate to another page
42
+ 4. Navigate back/forward/back, using the browser forward/back buttons (sometimes it takes a few tries to reproduce the race condition)
43
+ 5. If the page you're on takes long enough for its components to finish rendering asynchronously, sometimes your scroll position will be incorrect
44
+ (until the second scroll restore is called. To see the really bad behavior, simply remove the window.setTimeout bit)
45
+ This is because basically it scrolls you down a bit, then a component gets bigger above you as it finishes rendering
46
+ This pushes your whole view down, so unless we do this Dark Magic(TM) where we attempt to restore scroll _again_
47
+ after some reasonable interval, your window will be in the wrong spot when everything finishes rendering
48
+ */
49
+
50
+ protected scrollCount = 0; // this is for dark magic, basically we lock the user out of scrolling in the first quarter second, unless they really mean it. We do this because load timings mean that the scroll can get messed up in that period
51
+
52
+ private scrollPosition = 0;
53
+ private scrolledTwentyFivePercent = false;
54
+ private scrolledFiftyPercent = false;
55
+ private scrolledSevenFivePercent = false;
56
+ private scrolledOneHundredPercent = false;
57
+ private scrollUnlocked = false;
58
+
59
+ renderedCallback() {
60
+ scrollUnlocked = window.location.hash !== ""; // if we have anchor links, skip the entire scroll restore
61
+ if (!globalThis.singletonScrollManagerRendered && !scrollUnlocked) {
62
+ globalThis.singletonScrollManagerRendered = true;
63
+ if (
64
+ window.history.state?.scroll?.docSize ===
65
+ document.body.scrollHeight
66
+ ) {
67
+ // only do this if loading is complete and the scrollHeight matches expectations
68
+ // otherwise, we're likely still loading, so just chill to avoid jumping around so much
69
+ restoreScroll();
70
+ this.setScrolledPercentagesFromRestore(
71
+ this.calculateScrollPercentage(
72
+ +window.history.state?.scroll?.value
73
+ )
74
+ );
75
+ } else {
76
+ window.setTimeout(() => {
77
+ // sometimes loading is slow, so we may want to reset the scroll to
78
+ // the correct position after loading is complete, to avoid weird behavior
79
+ // but only if the user hasn't scrolled around in the meantime
80
+ restoreScroll();
81
+ this.setScrolledPercentagesFromRestore(
82
+ this.calculateScrollPercentage(
83
+ +window.history.state?.scroll?.value
84
+ )
85
+ );
86
+ scrollUnlocked = true;
87
+ }, LOAD_TIME_SCROLL_RESTORE_DELAY);
88
+ }
89
+ } else {
90
+ console.error(REDUNDANT_INSTANCE_ERROR_MESSAGE);
91
+ }
92
+ }
93
+
94
+ connectedCallback(): void {
95
+ if (!globalThis.singletonScrollManagerConnected) {
96
+ globalThis.singletonScrollManagerConnected = true;
97
+ window.addEventListener(RESTORE_SCROLL_EVENT_NAME, restoreScroll);
98
+ window.addEventListener(SCROLL_EVENT_NAME, this.onWindowScroll);
99
+ /*
100
+ this global nav emits this event when it is shown or hidden
101
+ their full logic for when this occurs can be found here
102
+ https://github.com/sfdc-www/hgf-www/blob/main/packages/lwc-components/src/modules/hgf/c360nav/c360nav.ts#L1316
103
+ */
104
+ window.addEventListener(
105
+ GLOBAL_NAV_TOGGLE_EVENT_NAME,
106
+ this.onGlobalNavToggle
107
+ );
108
+ } else {
109
+ console.error(REDUNDANT_INSTANCE_ERROR_MESSAGE);
110
+ }
111
+ }
112
+
113
+ onWindowScroll = () => {
114
+ this.updateScrollState();
115
+ };
116
+
117
+ onGlobalNavToggle = (event: Event) => {
118
+ const isGlobalNavShowing: boolean = (event as CustomEvent).detail;
119
+ HTML_ELEMENT?.setAttribute(
120
+ "style",
121
+ `--dx-g-global-header-nav-row-count: ${isGlobalNavShowing ? 2 : 1}`
122
+ );
123
+ };
124
+
125
+ sendGtmScrollThresholdEvent(threshold: "25" | "50" | "75" | "100") {
126
+ track(document.body, "custEv_scroll", {
127
+ scrollDepth: threshold
128
+ });
129
+ }
130
+
131
+ calculateScrollPercentage(scrollTopOverride?: number) {
132
+ const scrollingElement = document.scrollingElement || document.body;
133
+ return (
134
+ ((scrollTopOverride || scrollingElement.scrollTop) /
135
+ (scrollingElement.scrollHeight - window.innerHeight)) *
136
+ 100
137
+ );
138
+ }
139
+
140
+ // do not re-send scrolled events when scroll position is restored and user scrolls up
141
+ setScrolledPercentagesFromRestore(scrollPercentage: number) {
142
+ if (scrollPercentage > 25) {
143
+ this.scrolledTwentyFivePercent = true;
144
+ }
145
+ if (scrollPercentage > 50) {
146
+ this.scrolledFiftyPercent = true;
147
+ }
148
+ if (scrollPercentage > 75) {
149
+ this.scrolledSevenFivePercent = true;
150
+ }
151
+ if (scrollPercentage > 100) {
152
+ this.scrolledOneHundredPercent = true;
153
+ }
154
+ }
155
+
156
+ scrollThresholdHandler() {
157
+ this.scrollPosition = this.calculateScrollPercentage();
158
+
159
+ if (this.scrollPosition > 25 && !this.scrolledTwentyFivePercent) {
160
+ this.scrolledTwentyFivePercent = true;
161
+ this.sendGtmScrollThresholdEvent("25");
162
+ } else if (this.scrollPosition > 50 && !this.scrolledFiftyPercent) {
163
+ this.scrolledFiftyPercent = true;
164
+ this.sendGtmScrollThresholdEvent("50");
165
+ } else if (this.scrollPosition > 75 && !this.scrolledSevenFivePercent) {
166
+ this.scrolledSevenFivePercent = true;
167
+ this.sendGtmScrollThresholdEvent("75");
168
+ } else if (
169
+ this.scrollPosition === 100 &&
170
+ !this.scrolledOneHundredPercent
171
+ ) {
172
+ this.scrolledOneHundredPercent = true;
173
+ this.sendGtmScrollThresholdEvent("100");
174
+ }
175
+ }
176
+
177
+ saveScroll = throttle(500, () => {
178
+ const scrollingElement = document.scrollingElement || document.body;
179
+ window.history.replaceState(
180
+ {
181
+ ...window.history.state,
182
+ scroll: {
183
+ value: scrollingElement.scrollTop,
184
+ docSize: scrollingElement.scrollHeight
185
+ }
186
+ },
187
+ "",
188
+ window.location.href
189
+ );
190
+ });
191
+
192
+ updateScrollState = () => {
193
+ if (this.scrollCount < 5) {
194
+ this.scrollCount++;
195
+ } else {
196
+ this.scrollUnlocked = true;
197
+ }
198
+ if (this.scrollUnlocked) {
199
+ this.saveScroll();
200
+ this.scrollThresholdHandler();
201
+ }
202
+ };
203
+
204
+ disconnectedCallback(): void {
205
+ window.removeEventListener(RESTORE_SCROLL_EVENT_NAME, restoreScroll);
206
+ window.removeEventListener(SCROLL_EVENT_NAME, this.onWindowScroll);
207
+ window.removeEventListener(
208
+ GLOBAL_NAV_TOGGLE_EVENT_NAME,
209
+ this.onGlobalNavToggle
210
+ );
211
+ }
212
+ }