@salesforcedevs/dx-components 0.25.5 → 0.26.1-alpha0.3

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 (529) hide show
  1. package/lwc.config.json +1 -0
  2. package/package.json +5 -4
  3. package/LICENSE +0 -12
  4. package/src/assets/icons/action-sprite/svg/symbols.svg +0 -1
  5. package/src/assets/icons/brand-sprite/svg/symbols.svg +0 -1381
  6. package/src/assets/icons/custom-sprite/svg/symbols.svg +0 -1
  7. package/src/assets/icons/doctype-sprite/svg/symbols.svg +0 -1
  8. package/src/assets/icons/general-sprite/svg/symbols.svg +0 -3013
  9. package/src/assets/icons/salesforcebrand-sprite/svg/symbols.svg +0 -257
  10. package/src/assets/icons/standard-sprite/svg/symbols.svg +0 -1
  11. package/src/assets/icons/utility-sprite/svg/symbols.svg +0 -1
  12. package/src/assets/svg/card-news-learn-moar.svg +0 -415
  13. package/src/assets/svg/cloud-1.svg +0 -24
  14. package/src/assets/svg/cloud-2.svg +0 -18
  15. package/src/assets/svg/codey.svg +0 -93
  16. package/src/assets/svg/command.svg +0 -9
  17. package/src/assets/svg/control.svg +0 -10
  18. package/src/assets/svg/docs-empty-state-small.svg +0 -72
  19. package/src/assets/svg/docs-empty-state.svg +0 -86
  20. package/src/assets/svg/dsc-home-news-bear.svg +0 -3
  21. package/src/assets/svg/dsc-home-news-community.png +0 -0
  22. package/src/assets/svg/dsc-home-news-goatbear.svg +0 -257
  23. package/src/assets/svg/dsc-home-news-samplegallery.svg +0 -76
  24. package/src/assets/svg/empty-state-assistant.svg +0 -1
  25. package/src/assets/svg/fch-blog-cloud-1.png +0 -0
  26. package/src/assets/svg/fch-blog-cloud-2.png +0 -0
  27. package/src/assets/svg/fch-blog-planet.png +0 -0
  28. package/src/assets/svg/feature-backdrop1.svg +0 -10
  29. package/src/assets/svg/feature-backdrop2.svg +0 -10
  30. package/src/assets/svg/featured-demo-art-blank.svg +0 -76
  31. package/src/assets/svg/featured-demo-art-eBikes.svg +0 -77
  32. package/src/assets/svg/footer-graphic-large.svg +0 -207
  33. package/src/assets/svg/footer-graphic-mountains-small.svg +0 -17
  34. package/src/assets/svg/footer-graphic-mountains.svg +0 -21
  35. package/src/assets/svg/footer-graphic-trees-small.svg +0 -33
  36. package/src/assets/svg/footer-graphic-trees.svg +0 -62
  37. package/src/assets/svg/lake-mountain.svg +0 -79
  38. package/src/assets/svg/podcast-subscription-clouds-small.svg +0 -49
  39. package/src/assets/svg/podcast-subscription-clouds.svg +0 -57
  40. package/src/assets/svg/podcasts-subscription-apple.svg +0 -164
  41. package/src/assets/svg/podcasts-subscription-google.svg +0 -29
  42. package/src/assets/svg/podcasts-subscription-spotify.svg +0 -11
  43. package/src/assets/svg/salesforce-cloud.svg +0 -7
  44. package/src/assets/svg/salesforce-logo-corporate.svg +0 -21
  45. package/src/assets/svg/salesforce-logo.svg +0 -14
  46. package/src/assets/svg/sidebar-loading.svg +0 -34
  47. package/src/assets/svg/slack-cta-podcast-background-left.svg +0 -28
  48. package/src/assets/svg/slack-cta-podcast-background-right.svg +0 -38
  49. package/src/assets/svg/trees.svg +0 -42
  50. package/src/modules/dx/banner/__tests__/banner.test.ts +0 -33
  51. package/src/modules/dx/banner/banner.css +0 -46
  52. package/src/modules/dx/banner/banner.html +0 -13
  53. package/src/modules/dx/banner/banner.ts +0 -14
  54. package/src/modules/dx/brandThemeProvider/__tests__/brandThemeProvider.test.ts +0 -49
  55. package/src/modules/dx/brandThemeProvider/brandCssVars.ts +0 -10
  56. package/src/modules/dx/brandThemeProvider/brandThemeProvider.html +0 -3
  57. package/src/modules/dx/brandThemeProvider/brandThemeProvider.stories.ts +0 -321
  58. package/src/modules/dx/brandThemeProvider/brandThemeProvider.ts +0 -46
  59. package/src/modules/dx/breadcrumbs/__tests__/breadcrumbs.test.ts +0 -140
  60. package/src/modules/dx/breadcrumbs/__tests__/mockProps.ts +0 -28
  61. package/src/modules/dx/breadcrumbs/breadcrumbs.css +0 -111
  62. package/src/modules/dx/breadcrumbs/breadcrumbs.html +0 -44
  63. package/src/modules/dx/breadcrumbs/breadcrumbs.stories.ts +0 -39
  64. package/src/modules/dx/breadcrumbs/breadcrumbs.ts +0 -122
  65. package/src/modules/dx/button/__tests__/button.test.ts +0 -107
  66. package/src/modules/dx/button/button.css +0 -175
  67. package/src/modules/dx/button/button.html +0 -43
  68. package/src/modules/dx/button/button.stories.ts +0 -150
  69. package/src/modules/dx/button/button.ts +0 -63
  70. package/src/modules/dx/cardBlogPost/__tests__/cardBlogPost.test.ts +0 -26
  71. package/src/modules/dx/cardBlogPost/__tests__/mockProps.ts +0 -12
  72. package/src/modules/dx/cardBlogPost/cardBlogPost.css +0 -13
  73. package/src/modules/dx/cardBlogPost/cardBlogPost.html +0 -24
  74. package/src/modules/dx/cardBlogPost/cardBlogPost.stories.ts +0 -164
  75. package/src/modules/dx/cardBlogPost/cardBlogPost.ts +0 -23
  76. package/src/modules/dx/cardBlogPostProvider/__tests__/cardBlogPostProvider.test.ts +0 -34
  77. package/src/modules/dx/cardBlogPostProvider/__tests__/mockWordpressPosts.ts +0 -44
  78. package/src/modules/dx/cardBlogPostProvider/cardBlogPostProvider.css +0 -3
  79. package/src/modules/dx/cardBlogPostProvider/cardBlogPostProvider.html +0 -16
  80. package/src/modules/dx/cardBlogPostProvider/cardBlogPostProvider.ts +0 -29
  81. package/src/modules/dx/cardCallout/__tests__/cardCallout.test.ts +0 -20
  82. package/src/modules/dx/cardCallout/__tests__/mockProps.ts +0 -7
  83. package/src/modules/dx/cardCallout/cardCallout.css +0 -57
  84. package/src/modules/dx/cardCallout/cardCallout.html +0 -15
  85. package/src/modules/dx/cardCallout/cardCallout.stories.ts +0 -33
  86. package/src/modules/dx/cardCallout/cardCallout.ts +0 -37
  87. package/src/modules/dx/cardContent/__tests__/cardContent.test.ts +0 -100
  88. package/src/modules/dx/cardContent/__tests__/mockProps.ts +0 -13
  89. package/src/modules/dx/cardContent/cardContent.css +0 -52
  90. package/src/modules/dx/cardContent/cardContent.html +0 -59
  91. package/src/modules/dx/cardContent/cardContent.stories.ts +0 -127
  92. package/src/modules/dx/cardContent/cardContent.ts +0 -68
  93. package/src/modules/dx/cardDemo/cardDemo.css +0 -1
  94. package/src/modules/dx/cardDemo/cardDemo.html +0 -12
  95. package/src/modules/dx/cardDemo/cardDemo.stories.ts +0 -115
  96. package/src/modules/dx/cardDemo/cardDemo.ts +0 -11
  97. package/src/modules/dx/cardDocs/__tests__/cardDocs.test.ts +0 -48
  98. package/src/modules/dx/cardDocs/__tests__/mockProps.ts +0 -9
  99. package/src/modules/dx/cardDocs/cardDocs.css +0 -50
  100. package/src/modules/dx/cardDocs/cardDocs.html +0 -20
  101. package/src/modules/dx/cardDocs/cardDocs.stories.ts +0 -299
  102. package/src/modules/dx/cardDocs/cardDocs.ts +0 -30
  103. package/src/modules/dx/cardEvent/__tests__/cardEvent.test.ts +0 -95
  104. package/src/modules/dx/cardEvent/__tests__/mockProps.ts +0 -10
  105. package/src/modules/dx/cardEvent/cardEvent.css +0 -107
  106. package/src/modules/dx/cardEvent/cardEvent.html +0 -94
  107. package/src/modules/dx/cardEvent/cardEvent.stories.ts +0 -153
  108. package/src/modules/dx/cardEvent/cardEvent.ts +0 -42
  109. package/src/modules/dx/cardExpanded/__tests__/cardExpanded.test.ts +0 -193
  110. package/src/modules/dx/cardExpanded/__tests__/mockProps.ts +0 -21
  111. package/src/modules/dx/cardExpanded/cardExpanded.css +0 -49
  112. package/src/modules/dx/cardExpanded/cardExpanded.html +0 -37
  113. package/src/modules/dx/cardExpanded/cardExpanded.stories.ts +0 -59
  114. package/src/modules/dx/cardExpanded/cardExpanded.ts +0 -45
  115. package/src/modules/dx/cardGrid/__tests__/cardMockProps.ts +0 -431
  116. package/src/modules/dx/cardGrid/__tests__/mockProps.ts +0 -15
  117. package/src/modules/dx/cardGrid/cardGrid.css +0 -89
  118. package/src/modules/dx/cardGrid/cardGrid.html +0 -46
  119. package/src/modules/dx/cardGrid/cardGrid.stories.ts +0 -111
  120. package/src/modules/dx/cardGrid/cardGrid.ts +0 -140
  121. package/src/modules/dx/cardMinimal/__tests__/cardMinimal.test.ts +0 -87
  122. package/src/modules/dx/cardMinimal/__tests__/mockProps.ts +0 -10
  123. package/src/modules/dx/cardMinimal/cardMinimal.css +0 -31
  124. package/src/modules/dx/cardMinimal/cardMinimal.html +0 -13
  125. package/src/modules/dx/cardMinimal/cardMinimal.stories.ts +0 -32
  126. package/src/modules/dx/cardMinimal/cardMinimal.ts +0 -3
  127. package/src/modules/dx/cardNews/__tests__/cardNews.test.ts +0 -58
  128. package/src/modules/dx/cardNews/__tests__/mockProps.ts +0 -7
  129. package/src/modules/dx/cardNews/cardNews.css +0 -159
  130. package/src/modules/dx/cardNews/cardNews.html +0 -37
  131. package/src/modules/dx/cardNews/cardNews.stories.ts +0 -115
  132. package/src/modules/dx/cardNews/cardNews.ts +0 -62
  133. package/src/modules/dx/cardPodcastEpisode/__tests__/cardPodcastEpisode.test.ts +0 -68
  134. package/src/modules/dx/cardPodcastEpisode/cardPodcastEpisode.css +0 -19
  135. package/src/modules/dx/cardPodcastEpisode/cardPodcastEpisode.html +0 -36
  136. package/src/modules/dx/cardPodcastEpisode/cardPodcastEpisode.stories.ts +0 -31
  137. package/src/modules/dx/cardPodcastEpisode/cardPodcastEpisode.ts +0 -36
  138. package/src/modules/dx/cardPodcastEpisodeProvider/__tests__/cardPodcastEpisodeProvider.test.ts +0 -36
  139. package/src/modules/dx/cardPodcastEpisodeProvider/__tests__/mockWordpressEpisodes.ts +0 -50
  140. package/src/modules/dx/cardPodcastEpisodeProvider/cardPodcastEpisodeProvider.css +0 -3
  141. package/src/modules/dx/cardPodcastEpisodeProvider/cardPodcastEpisodeProvider.html +0 -12
  142. package/src/modules/dx/cardPodcastEpisodeProvider/cardPodcastEpisodeProvider.ts +0 -29
  143. package/src/modules/dx/cardSmall/__tests__/cardSmall.test.ts +0 -66
  144. package/src/modules/dx/cardSmall/__tests__/mockProps.ts +0 -8
  145. package/src/modules/dx/cardSmall/cardSmall.css +0 -32
  146. package/src/modules/dx/cardSmall/cardSmall.html +0 -42
  147. package/src/modules/dx/cardSmall/cardSmall.stories.ts +0 -166
  148. package/src/modules/dx/cardSmall/cardSmall.ts +0 -38
  149. package/src/modules/dx/cardTitle/__tests__/cardTitle.test.ts +0 -46
  150. package/src/modules/dx/cardTitle/cardTitle.css +0 -41
  151. package/src/modules/dx/cardTitle/cardTitle.html +0 -20
  152. package/src/modules/dx/cardTitle/cardTitle.ts +0 -27
  153. package/src/modules/dx/cardTrailheadModule/__tests__/cardTrailheadModule.test.ts +0 -18
  154. package/src/modules/dx/cardTrailheadModule/__tests__/mockProps.ts +0 -11
  155. package/src/modules/dx/cardTrailheadModule/cardTrailheadModule.css +0 -24
  156. package/src/modules/dx/cardTrailheadModule/cardTrailheadModule.html +0 -20
  157. package/src/modules/dx/cardTrailheadModule/cardTrailheadModule.stories.ts +0 -122
  158. package/src/modules/dx/cardTrailheadModule/cardTrailheadModule.ts +0 -18
  159. package/src/modules/dx/cardVideoPreview/__tests__/cardVideoPreview.test.ts +0 -22
  160. package/src/modules/dx/cardVideoPreview/__tests__/mockProps.ts +0 -11
  161. package/src/modules/dx/cardVideoPreview/cardVideoPreview.css +0 -14
  162. package/src/modules/dx/cardVideoPreview/cardVideoPreview.html +0 -26
  163. package/src/modules/dx/cardVideoPreview/cardVideoPreview.stories.ts +0 -147
  164. package/src/modules/dx/cardVideoPreview/cardVideoPreview.ts +0 -13
  165. package/src/modules/dx/checkbox/__tests__/checkbox.test.ts +0 -85
  166. package/src/modules/dx/checkbox/__tests__/mockProps.ts +0 -5
  167. package/src/modules/dx/checkbox/checkbox.css +0 -168
  168. package/src/modules/dx/checkbox/checkbox.html +0 -26
  169. package/src/modules/dx/checkbox/checkbox.stories.ts +0 -38
  170. package/src/modules/dx/checkbox/checkbox.ts +0 -55
  171. package/src/modules/dx/checkboxGroup/__tests__/checkboxGroup.test.ts +0 -80
  172. package/src/modules/dx/checkboxGroup/__tests__/mockProps.ts +0 -14
  173. package/src/modules/dx/checkboxGroup/checkboxGroup.css +0 -12
  174. package/src/modules/dx/checkboxGroup/checkboxGroup.html +0 -15
  175. package/src/modules/dx/checkboxGroup/checkboxGroup.stories.ts +0 -33
  176. package/src/modules/dx/checkboxGroup/checkboxGroup.ts +0 -77
  177. package/src/modules/dx/codeBlock/__tests__/codeBlock.test.ts +0 -238
  178. package/src/modules/dx/codeBlock/__tests__/mockProps.ts +0 -160
  179. package/src/modules/dx/codeBlock/codeBlock.css +0 -128
  180. package/src/modules/dx/codeBlock/codeBlock.html +0 -79
  181. package/src/modules/dx/codeBlock/codeBlock.stories.ts +0 -143
  182. package/src/modules/dx/codeBlock/codeBlock.ts +0 -215
  183. package/src/modules/dx/codeBlock/darkTheme.css +0 -88
  184. package/src/modules/dx/codeBlock/lightTheme.css +0 -72
  185. package/src/modules/dx/dropdown/__tests__/dropdown.test.ts +0 -165
  186. package/src/modules/dx/dropdown/__tests__/mockNestedOptions.ts +0 -96
  187. package/src/modules/dx/dropdown/__tests__/mockOptions.ts +0 -10
  188. package/src/modules/dx/dropdown/__tests__/mockProps.ts +0 -6
  189. package/src/modules/dx/dropdown/dropdown.css +0 -93
  190. package/src/modules/dx/dropdown/dropdown.html +0 -67
  191. package/src/modules/dx/dropdown/dropdown.stories.ts +0 -89
  192. package/src/modules/dx/dropdown/dropdown.ts +0 -182
  193. package/src/modules/dx/dropdownOption/__tests__/dropdownOption.test.ts +0 -112
  194. package/src/modules/dx/dropdownOption/__tests__/mockProps.ts +0 -20
  195. package/src/modules/dx/dropdownOption/dropdownOption.css +0 -61
  196. package/src/modules/dx/dropdownOption/dropdownOption.html +0 -53
  197. package/src/modules/dx/dropdownOption/dropdownOption.ts +0 -39
  198. package/src/modules/dx/emptyState/__tests__/emptyState.test.ts +0 -52
  199. package/src/modules/dx/emptyState/__tests__/mockProps.ts +0 -4
  200. package/src/modules/dx/emptyState/emptyState.css +0 -64
  201. package/src/modules/dx/emptyState/emptyState.html +0 -9
  202. package/src/modules/dx/emptyState/emptyState.stories.ts +0 -45
  203. package/src/modules/dx/emptyState/emptyState.ts +0 -20
  204. package/src/modules/dx/feature/__tests__/feature.test.ts +0 -51
  205. package/src/modules/dx/feature/__tests__/mockProps.ts +0 -8
  206. package/src/modules/dx/feature/feature.css +0 -135
  207. package/src/modules/dx/feature/feature.html +0 -33
  208. package/src/modules/dx/feature/feature.ts +0 -34
  209. package/src/modules/dx/featureGrid/__tests__/featureGrid.test.ts +0 -21
  210. package/src/modules/dx/featureGrid/featureGrid.html +0 -3
  211. package/src/modules/dx/featureGrid/featureGrid.stories.ts +0 -120
  212. package/src/modules/dx/featureGrid/featureGrid.ts +0 -15
  213. package/src/modules/dx/featuredContentHeader/__tests__/featuredContentHeader.test.ts +0 -178
  214. package/src/modules/dx/featuredContentHeader/__tests__/mockProps.ts +0 -73
  215. package/src/modules/dx/featuredContentHeader/featuredContentHeader.css +0 -469
  216. package/src/modules/dx/featuredContentHeader/featuredContentHeader.html +0 -96
  217. package/src/modules/dx/featuredContentHeader/featuredContentHeader.stories.ts +0 -153
  218. package/src/modules/dx/featuredContentHeader/featuredContentHeader.ts +0 -113
  219. package/src/modules/dx/featuredContentHeader/svgs.ts +0 -35
  220. package/src/modules/dx/featuresList/__tests__/featuresList.test.ts +0 -43
  221. package/src/modules/dx/featuresList/__tests__/mockProps.ts +0 -17
  222. package/src/modules/dx/featuresList/featuresList.css +0 -24
  223. package/src/modules/dx/featuresList/featuresList.html +0 -20
  224. package/src/modules/dx/featuresList/featuresList.stories.ts +0 -30
  225. package/src/modules/dx/featuresList/featuresList.ts +0 -21
  226. package/src/modules/dx/footer/__tests__/footer.test.ts +0 -147
  227. package/src/modules/dx/footer/__tests__/mockLocales.ts +0 -7
  228. package/src/modules/dx/footer/footer.css +0 -405
  229. package/src/modules/dx/footer/footer.html +0 -145
  230. package/src/modules/dx/footer/footer.stories.ts +0 -88
  231. package/src/modules/dx/footer/footer.ts +0 -124
  232. package/src/modules/dx/footer/links.ts +0 -140
  233. package/src/modules/dx/footerOption/__tests__/footerOption.test.ts +0 -34
  234. package/src/modules/dx/footerOption/__tests__/mockProps.ts +0 -7
  235. package/src/modules/dx/footerOption/footerOption.css +0 -4
  236. package/src/modules/dx/footerOption/footerOption.html +0 -12
  237. package/src/modules/dx/footerOption/footerOption.ts +0 -19
  238. package/src/modules/dx/formattedDateTime/__tests__/formattedDateTime.test.ts +0 -25
  239. package/src/modules/dx/formattedDateTime/__tests__/mockProps.ts +0 -13
  240. package/src/modules/dx/formattedDateTime/formattedDateTime.html +0 -1
  241. package/src/modules/dx/formattedDateTime/formattedDateTime.stories.ts +0 -103
  242. package/src/modules/dx/formattedDateTime/formattedDateTime.ts +0 -72
  243. package/src/modules/dx/grid/__tests__/grid.test.ts +0 -32
  244. package/src/modules/dx/grid/grid.css +0 -48
  245. package/src/modules/dx/grid/grid.html +0 -3
  246. package/src/modules/dx/grid/grid.md +0 -14
  247. package/src/modules/dx/grid/grid.stories.ts +0 -134
  248. package/src/modules/dx/grid/grid.ts +0 -72
  249. package/src/modules/dx/groupBio/__tests__/groupBio.test.ts +0 -82
  250. package/src/modules/dx/groupBio/__tests__/mockProps.ts +0 -15
  251. package/src/modules/dx/groupBio/groupBio.css +0 -49
  252. package/src/modules/dx/groupBio/groupBio.html +0 -29
  253. package/src/modules/dx/groupBio/groupBio.stories.ts +0 -66
  254. package/src/modules/dx/groupBio/groupBio.ts +0 -41
  255. package/src/modules/dx/groupText/__tests__/groupText.test.ts +0 -69
  256. package/src/modules/dx/groupText/__tests__/mockProps.ts +0 -35
  257. package/src/modules/dx/groupText/groupText.css +0 -119
  258. package/src/modules/dx/groupText/groupText.html +0 -65
  259. package/src/modules/dx/groupText/groupText.stories.ts +0 -81
  260. package/src/modules/dx/groupText/groupText.ts +0 -93
  261. package/src/modules/dx/headTags/headTags.html +0 -3
  262. package/src/modules/dx/headTags/headTags.ts +0 -39
  263. package/src/modules/dx/header/__benchmarks__/header.benchmark.js +0 -45
  264. package/src/modules/dx/header/__tests__/header.test.ts +0 -236
  265. package/src/modules/dx/header/__tests__/mockNavArchitects.ts +0 -169
  266. package/src/modules/dx/header/__tests__/mockNavDevelopers.ts +0 -419
  267. package/src/modules/dx/header/__tests__/mockNavs.ts +0 -115
  268. package/src/modules/dx/header/__tests__/mockProps.ts +0 -164
  269. package/src/modules/dx/header/header.css +0 -109
  270. package/src/modules/dx/header/header.html +0 -128
  271. package/src/modules/dx/header/header.stories.ts +0 -172
  272. package/src/modules/dx/header/header.ts +0 -27
  273. package/src/modules/dx/headerMobileNavMenu/__tests__/headerMobileNavMenu.test.ts +0 -123
  274. package/src/modules/dx/headerMobileNavMenu/headerMobileNavMenu.css +0 -160
  275. package/src/modules/dx/headerMobileNavMenu/headerMobileNavMenu.html +0 -73
  276. package/src/modules/dx/headerMobileNavMenu/headerMobileNavMenu.ts +0 -102
  277. package/src/modules/dx/headerMobileNavMenuOption/__tests__/headerMobileNavMenuOption.test.ts +0 -38
  278. package/src/modules/dx/headerMobileNavMenuOption/headerMobileNavMenuOption.css +0 -5
  279. package/src/modules/dx/headerMobileNavMenuOption/headerMobileNavMenuOption.html +0 -14
  280. package/src/modules/dx/headerMobileNavMenuOption/headerMobileNavMenuOption.ts +0 -20
  281. package/src/modules/dx/headerNav/__tests__/headerNav.test.ts +0 -49
  282. package/src/modules/dx/headerNav/headerNav.css +0 -31
  283. package/src/modules/dx/headerNav/headerNav.html +0 -48
  284. package/src/modules/dx/headerNav/headerNav.ts +0 -56
  285. package/src/modules/dx/headerSearch/__tests__/headerSearch.test.ts +0 -182
  286. package/src/modules/dx/headerSearch/__tests__/mockData.ts +0 -11
  287. package/src/modules/dx/headerSearch/__tests__/mockProps.ts +0 -6
  288. package/src/modules/dx/headerSearch/headerSearch.css +0 -62
  289. package/src/modules/dx/headerSearch/headerSearch.html +0 -64
  290. package/src/modules/dx/headerSearch/headerSearch.ts +0 -159
  291. package/src/modules/dx/helmet/__tests__/helmet.test.ts +0 -52
  292. package/src/modules/dx/helmet/helmet.css +0 -83
  293. package/src/modules/dx/helmet/helmet.html +0 -39
  294. package/src/modules/dx/helmet/helmet.stories.ts +0 -53
  295. package/src/modules/dx/helmet/helmet.ts +0 -27
  296. package/src/modules/dx/hr/__tests__/hr.test.ts +0 -53
  297. package/src/modules/dx/hr/__tests__/mockProps.ts +0 -16
  298. package/src/modules/dx/hr/hr.css +0 -55
  299. package/src/modules/dx/hr/hr.html +0 -23
  300. package/src/modules/dx/hr/hr.stories.ts +0 -50
  301. package/src/modules/dx/hr/hr.ts +0 -45
  302. package/src/modules/dx/icon/__tests__/icon.test.ts +0 -54
  303. package/src/modules/dx/icon/icon.css +0 -14
  304. package/src/modules/dx/icon/icon.html +0 -11
  305. package/src/modules/dx/icon/icon.stories.ts +0 -100
  306. package/src/modules/dx/icon/icon.ts +0 -85
  307. package/src/modules/dx/iconBadge/__tests__/iconBadge.test.ts +0 -17
  308. package/src/modules/dx/iconBadge/iconBadge.css +0 -40
  309. package/src/modules/dx/iconBadge/iconBadge.html +0 -10
  310. package/src/modules/dx/iconBadge/iconBadge.stories.ts +0 -32
  311. package/src/modules/dx/iconBadge/iconBadge.ts +0 -42
  312. package/src/modules/dx/imageAndLabel/__tests__/imageAndLabel.test.ts +0 -39
  313. package/src/modules/dx/imageAndLabel/__tests__/mockProps.ts +0 -6
  314. package/src/modules/dx/imageAndLabel/imageAndLabel.css +0 -54
  315. package/src/modules/dx/imageAndLabel/imageAndLabel.html +0 -22
  316. package/src/modules/dx/imageAndLabel/imageAndLabel.stories.ts +0 -48
  317. package/src/modules/dx/imageAndLabel/imageAndLabel.ts +0 -16
  318. package/src/modules/dx/input/__tests__/input.test.ts +0 -357
  319. package/src/modules/dx/input/input.css +0 -165
  320. package/src/modules/dx/input/input.html +0 -58
  321. package/src/modules/dx/input/input.stories.ts +0 -102
  322. package/src/modules/dx/input/input.ts +0 -238
  323. package/src/modules/dx/input/validators.ts +0 -5
  324. package/src/modules/dx/instrumentation/__tests__/instrumentation.test.ts +0 -86
  325. package/src/modules/dx/instrumentation/instrumentation.html +0 -1
  326. package/src/modules/dx/instrumentation/instrumentation.ts +0 -116
  327. package/src/modules/dx/interactiveImage/__tests__/interactiveImage.test.ts +0 -83
  328. package/src/modules/dx/interactiveImage/__tests__/mockProps.ts +0 -39
  329. package/src/modules/dx/interactiveImage/interactiveImage.css +0 -59
  330. package/src/modules/dx/interactiveImage/interactiveImage.html +0 -32
  331. package/src/modules/dx/interactiveImage/interactiveImage.stories.ts +0 -31
  332. package/src/modules/dx/interactiveImage/interactiveImage.ts +0 -71
  333. package/src/modules/dx/lazy/__tests__/lazy.test.ts +0 -43
  334. package/src/modules/dx/lazy/lazy.html +0 -5
  335. package/src/modules/dx/lazy/lazy.stories.ts +0 -132
  336. package/src/modules/dx/lazy/lazy.ts +0 -163
  337. package/src/modules/dx/logo/logo.css +0 -33
  338. package/src/modules/dx/logo/logo.html +0 -6
  339. package/src/modules/dx/logo/logo.ts +0 -8
  340. package/src/modules/dx/newsletterForm/newsletterForm.css +0 -73
  341. package/src/modules/dx/newsletterForm/newsletterForm.html +0 -73
  342. package/src/modules/dx/newsletterForm/newsletterForm.ts +0 -238
  343. package/src/modules/dx/pagination/__tests__/pagination.test.ts +0 -121
  344. package/src/modules/dx/pagination/pagination.css +0 -51
  345. package/src/modules/dx/pagination/pagination.html +0 -45
  346. package/src/modules/dx/pagination/pagination.stories.ts +0 -88
  347. package/src/modules/dx/pagination/pagination.ts +0 -93
  348. package/src/modules/dx/podcastHost/__tests__/mockProps.ts +0 -8
  349. package/src/modules/dx/podcastHost/__tests__/podcastHost.test.ts +0 -21
  350. package/src/modules/dx/podcastHost/podcastHost.css +0 -62
  351. package/src/modules/dx/podcastHost/podcastHost.html +0 -28
  352. package/src/modules/dx/podcastHost/podcastHost.stories.ts +0 -17
  353. package/src/modules/dx/podcastHost/podcastHost.ts +0 -13
  354. package/src/modules/dx/podcastPlayer/__tests__/podcastPlayer.test.ts +0 -20
  355. package/src/modules/dx/podcastPlayer/podcastPlayer.css +0 -10
  356. package/src/modules/dx/podcastPlayer/podcastPlayer.html +0 -3
  357. package/src/modules/dx/podcastPlayer/podcastPlayer.stories.ts +0 -13
  358. package/src/modules/dx/podcastPlayer/podcastPlayer.ts +0 -5
  359. package/src/modules/dx/podcastSubscription/__tests__/podcastSubscription.test.ts +0 -16
  360. package/src/modules/dx/podcastSubscription/podcastSubscription.css +0 -92
  361. package/src/modules/dx/podcastSubscription/podcastSubscription.html +0 -24
  362. package/src/modules/dx/podcastSubscription/podcastSubscription.stories.ts +0 -23
  363. package/src/modules/dx/podcastSubscription/podcastSubscription.ts +0 -58
  364. package/src/modules/dx/popover/__tests__/mockProps.ts +0 -8
  365. package/src/modules/dx/popover/__tests__/popover.test.ts +0 -313
  366. package/src/modules/dx/popover/popover.css +0 -63
  367. package/src/modules/dx/popover/popover.html +0 -16
  368. package/src/modules/dx/popover/popover.stories.ts +0 -82
  369. package/src/modules/dx/popover/popover.ts +0 -313
  370. package/src/modules/dx/radioGroup/__tests__/mockProps.ts +0 -12
  371. package/src/modules/dx/radioGroup/__tests__/radioGroup.test.ts +0 -42
  372. package/src/modules/dx/radioGroup/radioGroup.css +0 -12
  373. package/src/modules/dx/radioGroup/radioGroup.html +0 -16
  374. package/src/modules/dx/radioGroup/radioGroup.stories.ts +0 -25
  375. package/src/modules/dx/radioGroup/radioGroup.ts +0 -65
  376. package/src/modules/dx/relativeDateTime/__tests__/mockProps.ts +0 -55
  377. package/src/modules/dx/relativeDateTime/__tests__/relativeDateTime.test.ts +0 -52
  378. package/src/modules/dx/relativeDateTime/relativeDateTime.html +0 -3
  379. package/src/modules/dx/relativeDateTime/relativeDateTime.stories.ts +0 -83
  380. package/src/modules/dx/relativeDateTime/relativeDateTime.ts +0 -113
  381. package/src/modules/dx/searchResults/coveo.css +0 -18989
  382. package/src/modules/dx/searchResults/searchResults.css +0 -387
  383. package/src/modules/dx/searchResults/searchResults.html +0 -104
  384. package/src/modules/dx/searchResults/searchResults.stories.ts +0 -36
  385. package/src/modules/dx/searchResults/searchResults.ts +0 -186
  386. package/src/modules/dx/section/__tests__/section.test.ts +0 -17
  387. package/src/modules/dx/section/section.css +0 -130
  388. package/src/modules/dx/section/section.html +0 -66
  389. package/src/modules/dx/section/section.stories.ts +0 -381
  390. package/src/modules/dx/section/section.ts +0 -41
  391. package/src/modules/dx/sectionSignup/__tests__/sectionSignup.test.ts +0 -66
  392. package/src/modules/dx/sectionSignup/sectionSignup.css +0 -43
  393. package/src/modules/dx/sectionSignup/sectionSignup.html +0 -23
  394. package/src/modules/dx/sectionSignup/sectionSignup.stories.ts +0 -49
  395. package/src/modules/dx/sectionSignup/sectionSignup.ts +0 -44
  396. package/src/modules/dx/select/select.css +0 -44
  397. package/src/modules/dx/select/select.html +0 -60
  398. package/src/modules/dx/select/select.stories.ts +0 -59
  399. package/src/modules/dx/select/select.ts +0 -23
  400. package/src/modules/dx/sidebar/__tests__/mockProps.ts +0 -181
  401. package/src/modules/dx/sidebar/__tests__/mockSearchChangeEmptyEvent.ts +0 -6
  402. package/src/modules/dx/sidebar/__tests__/mockSearchChangeEvent.ts +0 -527
  403. package/src/modules/dx/sidebar/__tests__/sidebar.test.ts +0 -568
  404. package/src/modules/dx/sidebar/sidebar.css +0 -192
  405. package/src/modules/dx/sidebar/sidebar.html +0 -94
  406. package/src/modules/dx/sidebar/sidebar.stories.ts +0 -188
  407. package/src/modules/dx/sidebar/sidebar.ts +0 -255
  408. package/src/modules/dx/sidebarOld/__tests__/mockProps.ts +0 -178
  409. package/src/modules/dx/sidebarOld/__tests__/sidebarOld.test.ts +0 -570
  410. package/src/modules/dx/sidebarOld/sidebarOld.css +0 -160
  411. package/src/modules/dx/sidebarOld/sidebarOld.html +0 -70
  412. package/src/modules/dx/sidebarOld/sidebarOld.stories.ts +0 -139
  413. package/src/modules/dx/sidebarOld/sidebarOld.ts +0 -187
  414. package/src/modules/dx/sidebarSearch/__tests__/mockPreloadedState.ts +0 -1686
  415. package/src/modules/dx/sidebarSearch/__tests__/sidebarSearch.test.ts +0 -175
  416. package/src/modules/dx/sidebarSearch/sidebarSearch.css +0 -3
  417. package/src/modules/dx/sidebarSearch/sidebarSearch.html +0 -26
  418. package/src/modules/dx/sidebarSearch/sidebarSearch.ts +0 -440
  419. package/src/modules/dx/sidebarSearchResult/__tests__/sidebarSearchResult.test.ts +0 -96
  420. package/src/modules/dx/sidebarSearchResult/sidebarSearchResult.css +0 -36
  421. package/src/modules/dx/sidebarSearchResult/sidebarSearchResult.html +0 -14
  422. package/src/modules/dx/sidebarSearchResult/sidebarSearchResult.ts +0 -70
  423. package/src/modules/dx/slackCta/__tests__/slackCta.test.ts +0 -48
  424. package/src/modules/dx/slackCta/slackCta.css +0 -41
  425. package/src/modules/dx/slackCta/slackCta.html +0 -17
  426. package/src/modules/dx/slackCta/slackCta.stories.ts +0 -25
  427. package/src/modules/dx/slackCta/slackCta.ts +0 -13
  428. package/src/modules/dx/socials/__tests__/socials.test.ts +0 -114
  429. package/src/modules/dx/socials/socials.css +0 -35
  430. package/src/modules/dx/socials/socials.html +0 -22
  431. package/src/modules/dx/socials/socials.stories.ts +0 -24
  432. package/src/modules/dx/socials/socials.ts +0 -81
  433. package/src/modules/dx/spinner/__tests__/spinner.test.ts +0 -37
  434. package/src/modules/dx/spinner/spinner.css +0 -750
  435. package/src/modules/dx/spinner/spinner.html +0 -6
  436. package/src/modules/dx/spinner/spinner.stories.ts +0 -69
  437. package/src/modules/dx/spinner/spinner.ts +0 -20
  438. package/src/modules/dx/tab/__tests__/tab.test.ts +0 -129
  439. package/src/modules/dx/tab/tab.css +0 -106
  440. package/src/modules/dx/tab/tab.html +0 -13
  441. package/src/modules/dx/tab/tab.stories.ts +0 -57
  442. package/src/modules/dx/tab/tab.ts +0 -52
  443. package/src/modules/dx/toc/__tests__/mockProps.ts +0 -28
  444. package/src/modules/dx/toc/__tests__/toc.test.ts +0 -109
  445. package/src/modules/dx/toc/toc.css +0 -94
  446. package/src/modules/dx/toc/toc.html +0 -28
  447. package/src/modules/dx/toc/toc.stories.ts +0 -26
  448. package/src/modules/dx/toc/toc.ts +0 -77
  449. package/src/modules/dx/tooltip/__tests__/tooltip.test.ts +0 -22
  450. package/src/modules/dx/tooltip/microtip.css +0 -269
  451. package/src/modules/dx/tooltip/tooltip.css +0 -36
  452. package/src/modules/dx/tooltip/tooltip.html +0 -5
  453. package/src/modules/dx/tooltip/tooltip.stories.ts +0 -46
  454. package/src/modules/dx/tooltip/tooltip.ts +0 -6
  455. package/src/modules/dx/topics/__tests__/mockProps.ts +0 -3
  456. package/src/modules/dx/topics/__tests__/topics.test.ts +0 -31
  457. package/src/modules/dx/topics/topics.css +0 -25
  458. package/src/modules/dx/topics/topics.html +0 -12
  459. package/src/modules/dx/topics/topics.ts +0 -25
  460. package/src/modules/dx/tree/__tests__/mockProps.ts +0 -215
  461. package/src/modules/dx/tree/__tests__/tree.test.ts +0 -346
  462. package/src/modules/dx/tree/__tests__/treeHandler.test.ts +0 -194
  463. package/src/modules/dx/tree/tree.css +0 -5
  464. package/src/modules/dx/tree/tree.html +0 -11
  465. package/src/modules/dx/tree/tree.stories.ts +0 -65
  466. package/src/modules/dx/tree/tree.ts +0 -72
  467. package/src/modules/dx/tree/treeHandler.ts +0 -100
  468. package/src/modules/dx/treeItem/__tests__/mockProps.ts +0 -46
  469. package/src/modules/dx/treeItem/__tests__/treeItem.test.ts +0 -377
  470. package/src/modules/dx/treeItem/treeItem.css +0 -14
  471. package/src/modules/dx/treeItem/treeItem.html +0 -22
  472. package/src/modules/dx/treeItem/treeItem.ts +0 -110
  473. package/src/modules/dx/treeTile/__tests__/mockProps.ts +0 -16
  474. package/src/modules/dx/treeTile/__tests__/treeTile.test.ts +0 -168
  475. package/src/modules/dx/treeTile/treeTile.css +0 -190
  476. package/src/modules/dx/treeTile/treeTile.html +0 -27
  477. package/src/modules/dx/treeTile/treeTile.ts +0 -59
  478. package/src/modules/dx/typeBadge/__tests__/typeBadge.test.ts +0 -77
  479. package/src/modules/dx/typeBadge/typeBadge.css +0 -74
  480. package/src/modules/dx/typeBadge/typeBadge.html +0 -5
  481. package/src/modules/dx/typeBadge/typeBadge.stories.ts +0 -114
  482. package/src/modules/dx/typeBadge/typeBadge.ts +0 -65
  483. package/src/modules/dx/typeBadgeGroup/__tests__/mockProps.ts +0 -11
  484. package/src/modules/dx/typeBadgeGroup/__tests__/typeBadgeGroup.test.ts +0 -72
  485. package/src/modules/dx/typeBadgeGroup/typeBadgeGroup.css +0 -12
  486. package/src/modules/dx/typeBadgeGroup/typeBadgeGroup.html +0 -11
  487. package/src/modules/dx/typeBadgeGroup/typeBadgeGroup.stories.ts +0 -19
  488. package/src/modules/dx/typeBadgeGroup/typeBadgeGroup.ts +0 -18
  489. package/src/modules/helpers/animations/animations.css +0 -15
  490. package/src/modules/helpers/button/button.css +0 -4
  491. package/src/modules/helpers/card/card.css +0 -258
  492. package/src/modules/helpers/code/code.css +0 -296
  493. package/src/modules/helpers/commonHeader/commonHeader.css +0 -130
  494. package/src/modules/helpers/reset/reset.css +0 -559
  495. package/src/modules/helpers/sidebar/sidebar.css +0 -21
  496. package/src/modules/helpers/slds/slds.css +0 -191
  497. package/src/modules/helpers/table/table.css +0 -110
  498. package/src/modules/helpers/text/text.css +0 -163
  499. package/src/modules/test-components/buttonTest/buttonTest.html +0 -3
  500. package/src/modules/test-components/buttonTest/buttonTest.ts +0 -3
  501. package/src/modules/test-components/codeBlockTest/codeBlockTest.js +0 -4
  502. package/src/modules/test-components/featureGridTest/featureGridTest.html +0 -7
  503. package/src/modules/test-components/featureGridTest/featureGridTest.ts +0 -5
  504. package/src/modules/test-components/instrumentationTest/instrumentationTest.html +0 -4
  505. package/src/modules/test-components/instrumentationTest/instrumentationTest.ts +0 -8
  506. package/src/modules/test-components/popoverTest/popoverTest.html +0 -6
  507. package/src/modules/test-components/popoverTest/popoverTest.ts +0 -5
  508. package/src/modules/utils/highlight/__tests__/highlight.test.ts +0 -108
  509. package/src/modules/utils/highlight/__tests__/mockProps.ts +0 -45
  510. package/src/modules/utils/highlight/highlight.ts +0 -32
  511. package/src/modules/utils/normalizers/normalizers.ts +0 -91
  512. package/src/modules/utils-internal/archiveCard/archiveCard.ts +0 -35
  513. package/src/modules/utils-internal/coveo/coveo.ts +0 -70
  514. package/src/modules/utils-internal/css/css.ts +0 -43
  515. package/src/modules/utils-internal/devices/devices.ts +0 -1
  516. package/src/modules/utils-internal/headerBase/headerBase.ts +0 -204
  517. package/src/modules/utils-internal/jest/jest.ts +0 -58
  518. package/src/modules/utils-internal/options/options.ts +0 -39
  519. package/src/modules/utils-internal/prismjs/prismjs.html +0 -3
  520. package/src/modules/utils-internal/prismjs/prismjs.ts +0 -3321
  521. package/src/modules/utils-internal/recentSearches/__tests__/recentSearches.test.ts +0 -83
  522. package/src/modules/utils-internal/recentSearches/recentSearches.ts +0 -57
  523. package/src/modules/utils-internal/regexps/regexps.ts +0 -5
  524. package/src/modules/utils-internal/seo/seo.ts +0 -4
  525. package/src/modules/utils-internal/slot/slot.ts +0 -17
  526. package/src/modules/utils-internal/storybook/storybook.ts +0 -32
  527. package/src/modules/utils-internal/tests/tests.ts +0 -38
  528. package/src/modules/utils-internal/wordpress/__tests__/wordpress.test.ts +0 -15
  529. package/src/modules/utils-internal/wordpress/wordpress.ts +0 -13
@@ -1,175 +0,0 @@
1
- import { createElement } from "lwc";
2
- import SidebarSearch from "dx/sidebarSearch";
3
- import {
4
- createRenderComponent,
5
- renderLightningElement
6
- } from "utils-internal/tests";
7
- import { coveoXMLDocsConfig } from "utils-internal/coveo";
8
- import { mockQueryParameter, unmockQueryParameter } from "utils-internal/jest";
9
- import { SESSION_KEY } from "dx/sidebarSearch";
10
- import mockPreloadedState from "./mockPreloadedState";
11
-
12
- const TAG = "dx-sidebar-search";
13
- const render = createRenderComponent(TAG, SidebarSearch);
14
-
15
- const PROPS = coveoXMLDocsConfig;
16
- const QUERY = "test";
17
-
18
- describe(TAG, () => {
19
- beforeEach(() => {
20
- window.sessionStorage.clear();
21
- jest.restoreAllMocks();
22
- });
23
- afterEach(unmockQueryParameter);
24
-
25
- it("correctly sets coveo advanced configuration", () => {
26
- const element = render(PROPS);
27
-
28
- element.coveoAdvancedQueryConfig = JSON.stringify(
29
- coveoXMLDocsConfig.coveoAdvancedQueryConfig
30
- );
31
-
32
- expect(element.coveoAdvancedQueryConfig).toEqual(
33
- coveoXMLDocsConfig.coveoAdvancedQueryConfig
34
- );
35
-
36
- return expect(element).toBeAccessible();
37
- });
38
-
39
- it("calls dispatchOnChangeEvent with empty query", () => {
40
- const element = render(PROPS);
41
-
42
- const mockOnChange = jest.fn();
43
-
44
- element.addEventListener("change", mockOnChange);
45
-
46
- element.setInputValue("reference");
47
- element.setInputValue("");
48
-
49
- expect(mockOnChange).toHaveBeenCalled();
50
- return expect(element).toBeAccessible();
51
- });
52
-
53
- it("renders with the correct initial empty query", () => {
54
- const element = render(PROPS);
55
-
56
- const input = element.shadowRoot.querySelector("dx-input");
57
-
58
- expect(input.value).toEqual("");
59
-
60
- return expect(element).toBeAccessible();
61
- });
62
-
63
- it("renders with the correct initial query", () => {
64
- mockQueryParameter(QUERY);
65
-
66
- const element = render(PROPS);
67
-
68
- const input = element.shadowRoot.querySelector("dx-input");
69
-
70
- expect(input.value).toEqual(QUERY);
71
-
72
- return expect(element).toBeAccessible();
73
- });
74
-
75
- describe("highlighting", () => {
76
- afterEach(unmockQueryParameter);
77
-
78
- it("triggers on initial render when a search value exists", () => {
79
- mockQueryParameter(QUERY);
80
- const element = createElement(TAG, { is: SidebarSearch });
81
- const dispatchEventSpy = jest.spyOn(element, "dispatchEvent");
82
- renderLightningElement(element, PROPS);
83
- expect(dispatchEventSpy).toHaveBeenCalledWith(
84
- expect.objectContaining({
85
- type: "highlightedtermchange",
86
- detail: QUERY
87
- })
88
- );
89
- });
90
-
91
- it("does not trigger on initial render when a search value does not exist", () => {
92
- const element = createElement(TAG, { is: SidebarSearch });
93
- const dispatchEventSpy = jest.spyOn(element, "dispatchEvent");
94
- renderLightningElement(element, PROPS);
95
- expect(dispatchEventSpy).not.toHaveBeenCalledWith(
96
- expect.objectContaining({ type: "highlightedtermchange" })
97
- );
98
- });
99
-
100
- it("triggers on input change with non-empty value", () => {
101
- const element = render(PROPS);
102
- const dxInput = element.shadowRoot.querySelector("dx-input");
103
- const dispatchEventSpy = jest.spyOn(element, "dispatchEvent");
104
-
105
- dxInput.dispatchEvent(new CustomEvent("change", { detail: QUERY }));
106
-
107
- expect(dispatchEventSpy).toHaveBeenCalledWith(
108
- expect.objectContaining({
109
- type: "highlightedtermchange",
110
- detail: QUERY
111
- })
112
- );
113
- });
114
-
115
- it("triggers on input change with empty value", () => {
116
- const element = render(PROPS);
117
- const dxInput = element.shadowRoot.querySelector("dx-input");
118
- const dispatchEventSpy = jest.spyOn(element, "dispatchEvent");
119
-
120
- dxInput.dispatchEvent(new CustomEvent("change", { detail: "" }));
121
-
122
- expect(dispatchEventSpy).toHaveBeenCalledWith(
123
- expect.objectContaining({
124
- type: "highlightedtermchange",
125
- detail: ""
126
- })
127
- );
128
- });
129
- });
130
-
131
- it("correctly consumes a valid session storage object", () => {
132
- mockQueryParameter(mockPreloadedState.state.query.q);
133
-
134
- window.sessionStorage.setItem(
135
- SESSION_KEY,
136
- JSON.stringify(mockPreloadedState)
137
- );
138
-
139
- const element = render(PROPS);
140
-
141
- expect(window.sessionStorage.getItem(SESSION_KEY)).not.toBeNull();
142
-
143
- expect(element).toBeAccessible();
144
- });
145
-
146
- it("ignores and deletes a session storage object if query and config don't match", () => {
147
- mockQueryParameter("test");
148
-
149
- window.sessionStorage.setItem(
150
- SESSION_KEY,
151
- JSON.stringify(mockPreloadedState)
152
- );
153
-
154
- const element = render(PROPS);
155
-
156
- expect(window.sessionStorage.getItem(SESSION_KEY)).toBeNull();
157
-
158
- expect(element).toBeAccessible();
159
- });
160
-
161
- it("ignores and deletes a session storage object on incorrect config", () => {
162
- mockQueryParameter(mockPreloadedState.state.query.q);
163
-
164
- window.sessionStorage.setItem(
165
- SESSION_KEY,
166
- JSON.stringify({ state: { query: { q: "test" } } })
167
- );
168
-
169
- const element = render(PROPS);
170
-
171
- expect(window.sessionStorage.getItem(SESSION_KEY)).toBeNull();
172
-
173
- expect(element).toBeAccessible();
174
- });
175
- });
@@ -1,3 +0,0 @@
1
- .search-box {
2
- --dx-c-input-width: 100%;
3
- }
@@ -1,26 +0,0 @@
1
- <template>
2
- <dx-dropdown
3
- aria-label="Recent Searches"
4
- open={isDropdownOpen}
5
- options={recentSearches}
6
- onchange={onClickRecentSearch}
7
- onrequestclose={onDropdownRequestClose}
8
- full-width
9
- >
10
- <dx-input
11
- class="search-box"
12
- type="search"
13
- placeholder="Search"
14
- role="search"
15
- aria-label="Search in this guide"
16
- icon-symbol="search"
17
- size="small"
18
- value={value}
19
- onchange={onInputChange}
20
- onfocus={onInputFocus}
21
- onclear={onInputClear}
22
- shortcut-key="j"
23
- clearable
24
- ></dx-input>
25
- </dx-dropdown>
26
- </template>
@@ -1,440 +0,0 @@
1
- import { LightningElement, api } from "lwc";
2
- import debounce from "debounce";
3
- import {
4
- Result,
5
- ResultList,
6
- Unsubscribe,
7
- ResultsPerPage,
8
- SearchBox,
9
- buildResultList,
10
- buildResultsPerPage,
11
- buildSearchBox,
12
- loadAdvancedSearchQueryActions,
13
- SearchEngine,
14
- SearchAppState,
15
- loadQueryActions
16
- } from "@coveo/headless";
17
- import {
18
- buildSearchEngine,
19
- getSidebarSearchParams
20
- } from "utils-internal/coveo";
21
- import { RecentSearches } from "utils-internal/recentSearches";
22
- import { toJson } from "utils/normalizers";
23
- import {
24
- Option,
25
- PopoverRequestCloseType,
26
- SidebarSearchResult
27
- } from "typings/custom";
28
-
29
- export const SESSION_KEY = "dx-sidebar-search-state";
30
-
31
- const DEFAULT_RESULT_COUNT = 20;
32
- const SEARCH_DEBOUNCE_DELAY = 780;
33
-
34
- const UserRecentSearches = new RecentSearches();
35
-
36
- const normalizeCoveoAdvancedQueryValue = (version: string): string =>
37
- version.split(".").join("\\.");
38
-
39
- export default class SidebarSearch extends LightningElement {
40
- @api coveoOrganizationId!: string;
41
- @api coveoPublicAccessToken!: string;
42
- @api coveoSearchHub!: string;
43
- @api
44
- get coveoAdvancedQueryConfig(): { [key: string]: any } {
45
- return this._coveoAdvancedQueryConfig;
46
- }
47
- set coveoAdvancedQueryConfig(value) {
48
- const jsonValue = toJson(value);
49
- const hasChanged =
50
- this._coveoAdvancedQueryConfig &&
51
- Object.entries(jsonValue).some(
52
- ([key, val]: [string, any]) =>
53
- this._coveoAdvancedQueryConfig[key] !== val
54
- );
55
- this._coveoAdvancedQueryConfig = jsonValue;
56
-
57
- if (hasChanged && this.engine && this.value !== "") {
58
- this.dispatchOnLoading(true);
59
- }
60
-
61
- if (hasChanged && this.engine) {
62
- // set advanced filters needs access to the latest coveoAdvancedQueryConfig
63
- this.setAdvancedFilters(this.engine);
64
- this.submitSearch(true);
65
- }
66
- }
67
-
68
- @api
69
- public fetchMoreResults() {
70
- if (this.resultList?.state?.moreResultsAvailable) {
71
- this.fetchingMoreResults = true;
72
- this.resultList.fetchMoreResults();
73
- }
74
- }
75
-
76
- @api
77
- setInputValue(searchTerm: string) {
78
- if (searchTerm !== this.value) {
79
- this.value = searchTerm || "";
80
- this.handleValueChange(true);
81
- }
82
- }
83
-
84
- private _coveoAdvancedQueryConfig!: { [key: string]: any };
85
- private dropdownRequestedOpen: boolean = false;
86
- private recentSearches: Option[] = [];
87
- private unsubscribeFromResultList: Unsubscribe = () => {};
88
- private resultList: ResultList | null = null;
89
- private resultsPerPage: ResultsPerPage | null = null;
90
- private preloadedState?: SearchAppState;
91
- private searchBox: SearchBox | null = null;
92
- private value?: string = "";
93
- private engine: SearchEngine | null = null;
94
- private fetchingMoreResults: boolean = false;
95
- private didRender = false;
96
-
97
- private get hasCorrectCoveoConfig(): boolean {
98
- const coveoConfigurations = [
99
- this.coveoOrganizationId,
100
- this.coveoPublicAccessToken,
101
- this.coveoSearchHub,
102
- this.coveoAdvancedQueryConfig
103
- ];
104
-
105
- return coveoConfigurations.every(
106
- (val) =>
107
- !!val && (typeof val === "string" || typeof val === "object")
108
- );
109
- }
110
-
111
- private get isDropdownOpen() {
112
- return (
113
- this.dropdownRequestedOpen &&
114
- this.recentSearches &&
115
- this.recentSearches.length > 0 &&
116
- !this.value
117
- );
118
- }
119
-
120
- constructor() {
121
- super();
122
-
123
- this.updateRecentSearches();
124
- this.value = getSidebarSearchParams() || "";
125
- }
126
-
127
- disconnectedCallback() {
128
- this.unsubscribeFromResultList();
129
- }
130
-
131
- renderedCallback() {
132
- // in prod some of the critical coveo configuration attributes seem to arrive later
133
- // so I needed to put this coveo startup flow here where we can wait for them to arrive
134
-
135
- if (this.hasCorrectCoveoConfig && !this.engine) {
136
- this.initializeUserSession();
137
- this.initializeCoveo();
138
- } else if (!this.hasCorrectCoveoConfig) {
139
- console.error(
140
- "Incorrect coveo search configuration provided. All coveo configuration attributes must be defined.",
141
- {
142
- coveoOrganizationId: this.coveoOrganizationId,
143
- coveoPublicAccessToken: this.coveoPublicAccessToken,
144
- coveoSearchHub: this.coveoSearchHub,
145
- coveoAdvancedQueryConfig: this.coveoAdvancedQueryConfig
146
- }
147
- );
148
- }
149
-
150
- // If this is the first render and there is a search value, trigger
151
- // term highlighting
152
- if (!this.didRender && this.value) {
153
- this.dispatchHighlightedTermChange();
154
- }
155
-
156
- this.didRender = true;
157
- }
158
-
159
- private initializeUserSession() {
160
- const stringified = window.sessionStorage.getItem(SESSION_KEY);
161
-
162
- if (!stringified) {
163
- return;
164
- }
165
-
166
- try {
167
- const json = JSON.parse(stringified);
168
-
169
- const hasSameConfig = Object.entries(
170
- json.coveoAdvancedQueryConfig
171
- ).every(
172
- ([key, value]: [string, any]) =>
173
- this.coveoAdvancedQueryConfig[key] === value
174
- );
175
- const hasSameQuery = json?.state?.query?.q === this.value;
176
-
177
- if (hasSameConfig && hasSameQuery) {
178
- this.preloadedState = json?.state;
179
- } else {
180
- window.sessionStorage.removeItem(SESSION_KEY);
181
- }
182
- } catch (e) {
183
- console.error(e);
184
- window.sessionStorage.removeItem(SESSION_KEY);
185
- }
186
- }
187
-
188
- private initializeCoveo = () => {
189
- try {
190
- this.engine = buildSearchEngine({
191
- organizationId: this.coveoOrganizationId,
192
- publicAccessToken: this.coveoPublicAccessToken,
193
- searchHub: this.coveoSearchHub,
194
- preloadedState: this.preloadedState
195
- });
196
- } catch (ex) {
197
- console.error(`Coveo engine failed to initialize (${ex})`);
198
- }
199
-
200
- if (!this.engine) {
201
- console.error("Coveo engine failed to initialize!");
202
- return;
203
- }
204
-
205
- if (this.preloadedState) {
206
- const actions = loadQueryActions(this.engine);
207
- this.engine.dispatch(actions.updateQuery({ q: this.value || "" }));
208
- }
209
-
210
- this.resultList = buildResultList(this.engine, {
211
- options: { fieldsToInclude: ["sfhtml_url__c"] }
212
- });
213
-
214
- this.resultsPerPage = buildResultsPerPage(this.engine, {
215
- initialState: {
216
- numberOfResults: DEFAULT_RESULT_COUNT
217
- }
218
- });
219
-
220
- this.searchBox = buildSearchBox(this.engine, {
221
- options: { numberOfSuggestions: 3 }
222
- });
223
-
224
- this.setAdvancedFilters(this.engine);
225
-
226
- this.unsubscribeFromResultList = this.resultList?.subscribe(
227
- this.onResultListChange
228
- );
229
-
230
- if (this.value) {
231
- this.dispatchHighlightedTermChange();
232
- }
233
-
234
- if (!this.preloadedState) {
235
- if (this.value) {
236
- this.submitSearch();
237
- } else {
238
- this.dispatchOnLoading(false);
239
- }
240
- }
241
- };
242
-
243
- private onResultListChange = () => {
244
- if (!this.resultList) {
245
- return;
246
- }
247
-
248
- const { isLoading, firstSearchExecuted, results } =
249
- this.resultList.state;
250
-
251
- if ((!firstSearchExecuted && !isLoading) || !this.value) {
252
- // coveo search is firing off some unwanted payloads on startup
253
- return;
254
- }
255
-
256
- if (!isLoading) {
257
- this.dispatchOnChangeEvent(results);
258
- }
259
-
260
- if (!this.fetchingMoreResults) {
261
- this.dispatchOnLoading(isLoading);
262
- }
263
-
264
- if (!isLoading && this.fetchingMoreResults) {
265
- this.fetchingMoreResults = false;
266
- }
267
- };
268
-
269
- private setAdvancedFilters(engine: SearchEngine) {
270
- const aq = Object.entries(this.coveoAdvancedQueryConfig).reduce(
271
- (result, [key, value]) =>
272
- `${result}(@${key}=="${normalizeCoveoAdvancedQueryValue(
273
- value
274
- )}")`,
275
- ""
276
- );
277
-
278
- const registerSearchQueryAction = loadAdvancedSearchQueryActions(
279
- engine
280
- ).registerAdvancedSearchQueries({
281
- aq: aq
282
- });
283
-
284
- engine.dispatch(registerSearchQueryAction);
285
- }
286
-
287
- private normalizeCoveoResult = ({
288
- clickUri,
289
- excerpt,
290
- excerptHighlights,
291
- raw: { sfhtml_url__c },
292
- title,
293
- titleHighlights,
294
- uniqueId
295
- }: Result): SidebarSearchResult => {
296
- // discussion about this normalization here: https://salesforce-internal.slack.com/archives/C020S6784JX/p1639506238376600
297
-
298
- let pathname;
299
- if (sfhtml_url__c) {
300
- pathname = `/docs/${sfhtml_url__c}`;
301
- } else {
302
- const isNestedGuide = clickUri.includes("/guide/");
303
- const url = new URL(clickUri);
304
- const extension =
305
- isNestedGuide && !url.pathname?.endsWith(".html")
306
- ? ".html"
307
- : "";
308
- pathname = `${url.pathname}${extension}`;
309
- }
310
-
311
- const href = `${pathname}?q=${this.value}`;
312
-
313
- return {
314
- title,
315
- titleHighlights,
316
- excerpt,
317
- excerptHighlights,
318
- uniqueId,
319
- href,
320
- selected: pathname === window.location.pathname
321
- };
322
- };
323
-
324
- private updateSessionStorage() {
325
- window.sessionStorage.setItem(
326
- SESSION_KEY,
327
- JSON.stringify({
328
- coveoAdvancedQueryConfig: this.coveoAdvancedQueryConfig,
329
- state: this.engine?.state
330
- })
331
- );
332
- }
333
-
334
- private dispatchOnChangeEvent(results: Result[]) {
335
- this.updateSessionStorage();
336
- this.dispatchEvent(
337
- new CustomEvent("change", {
338
- detail: {
339
- results: results.map(this.normalizeCoveoResult),
340
- value: this.value
341
- }
342
- })
343
- );
344
- }
345
-
346
- private dispatchOnLoading(loading: boolean) {
347
- this.dispatchEvent(new CustomEvent("loading", { detail: loading }));
348
- }
349
-
350
- private dispatchHighlightedTermChange() {
351
- this.dispatchEvent(
352
- new CustomEvent("highlightedtermchange", {
353
- detail: this.value,
354
- composed: true,
355
- bubbles: true
356
- })
357
- );
358
- }
359
-
360
- private updateRecentSearches = () =>
361
- (this.recentSearches = UserRecentSearches.get().map((item: string) => ({
362
- id: item,
363
- label: item
364
- })));
365
-
366
- private dispatchSidebarSearchChange(searchTerm: string | undefined): void {
367
- this.dispatchEvent(
368
- new CustomEvent("sidebarsearchchange", {
369
- detail: searchTerm ?? "",
370
- bubbles: true,
371
- composed: true
372
- })
373
- );
374
- }
375
-
376
- private submitSearch = debounce((isSyncingSearchValue = false) => {
377
- if (this.searchBox) {
378
- UserRecentSearches.add(this.value);
379
- this.updateRecentSearches();
380
-
381
- // When `isSyncingSearchValue` is true, we are submitting in a case
382
- // where the search box is already synced correctly.
383
- if (!isSyncingSearchValue) {
384
- this.dispatchSidebarSearchChange(this.value);
385
- }
386
-
387
- this.searchBox.updateText(this.value || "");
388
- this.searchBox.submit();
389
- }
390
- }, SEARCH_DEBOUNCE_DELAY);
391
-
392
- private onClickRecentSearch(e: CustomEvent) {
393
- this.value = e.detail;
394
- this.dispatchSidebarSearchChange(this.value);
395
- this.submitSearch(true);
396
- }
397
-
398
- private onDropdownRequestClose(e: CustomEvent) {
399
- switch (e.detail as PopoverRequestCloseType) {
400
- case "interact-outside":
401
- case "keypress-escape":
402
- this.dropdownRequestedOpen = false;
403
- break;
404
- default:
405
- break;
406
- }
407
- }
408
-
409
- private onInputChange(e: CustomEvent) {
410
- this.value = e.detail;
411
-
412
- this.handleValueChange(false);
413
- this.dispatchHighlightedTermChange();
414
- }
415
-
416
- private onInputFocus() {
417
- this.dropdownRequestedOpen = true;
418
- }
419
-
420
- private onInputClear() {
421
- this.dropdownRequestedOpen = false;
422
- }
423
-
424
- private handleValueChange(isSyncingSearchValue = false) {
425
- if (this.value) {
426
- this.dispatchOnLoading(true);
427
- if (this.searchBox) {
428
- this.submitSearch(isSyncingSearchValue);
429
- }
430
- } else {
431
- // coveo's reaction to an empty value triggers a return of results
432
- // bootlegging our own ux here`
433
- this.dispatchOnLoading(false);
434
- this.dispatchOnChangeEvent([]);
435
- // Empty search values are not submitted for search, so we need to manually
436
- // trigger a search change on our own here
437
- this.dispatchSidebarSearchChange(this.value);
438
- }
439
- }
440
- }