@salesforcedevs/dx-components 0.26.1-alpha0.2 → 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 (533) hide show
  1. package/package.json +4 -2
  2. package/src/.DS_Store +0 -0
  3. package/src/assets/icons/action-sprite/svg/symbols.svg +0 -1
  4. package/src/assets/icons/brand-sprite/svg/symbols.svg +0 -1381
  5. package/src/assets/icons/custom-sprite/svg/symbols.svg +0 -1
  6. package/src/assets/icons/doctype-sprite/svg/symbols.svg +0 -1
  7. package/src/assets/icons/general-sprite/svg/symbols.svg +0 -3013
  8. package/src/assets/icons/salesforcebrand-sprite/svg/symbols.svg +0 -257
  9. package/src/assets/icons/standard-sprite/svg/symbols.svg +0 -1
  10. package/src/assets/icons/utility-sprite/svg/symbols.svg +0 -1
  11. package/src/assets/svg/card-news-learn-moar.svg +0 -415
  12. package/src/assets/svg/cloud-1.svg +0 -24
  13. package/src/assets/svg/cloud-2.svg +0 -18
  14. package/src/assets/svg/codey.svg +0 -93
  15. package/src/assets/svg/command.svg +0 -9
  16. package/src/assets/svg/control.svg +0 -10
  17. package/src/assets/svg/docs-empty-state-small.svg +0 -72
  18. package/src/assets/svg/docs-empty-state.svg +0 -86
  19. package/src/assets/svg/dsc-home-news-bear.svg +0 -3
  20. package/src/assets/svg/dsc-home-news-community.png +0 -0
  21. package/src/assets/svg/dsc-home-news-goatbear.svg +0 -257
  22. package/src/assets/svg/dsc-home-news-samplegallery.svg +0 -76
  23. package/src/assets/svg/empty-state-assistant.svg +0 -1
  24. package/src/assets/svg/fch-blog-cloud-1.png +0 -0
  25. package/src/assets/svg/fch-blog-cloud-2.png +0 -0
  26. package/src/assets/svg/fch-blog-planet.png +0 -0
  27. package/src/assets/svg/feature-backdrop1.svg +0 -10
  28. package/src/assets/svg/feature-backdrop2.svg +0 -10
  29. package/src/assets/svg/featured-demo-art-blank.svg +0 -76
  30. package/src/assets/svg/featured-demo-art-eBikes.svg +0 -77
  31. package/src/assets/svg/footer-graphic-large.svg +0 -207
  32. package/src/assets/svg/footer-graphic-mountains-small.svg +0 -17
  33. package/src/assets/svg/footer-graphic-mountains.svg +0 -21
  34. package/src/assets/svg/footer-graphic-trees-small.svg +0 -33
  35. package/src/assets/svg/footer-graphic-trees.svg +0 -62
  36. package/src/assets/svg/lake-mountain.svg +0 -79
  37. package/src/assets/svg/podcast-subscription-clouds-small.svg +0 -49
  38. package/src/assets/svg/podcast-subscription-clouds.svg +0 -57
  39. package/src/assets/svg/podcasts-subscription-apple.svg +0 -164
  40. package/src/assets/svg/podcasts-subscription-google.svg +0 -29
  41. package/src/assets/svg/podcasts-subscription-spotify.svg +0 -11
  42. package/src/assets/svg/salesforce-cloud.svg +0 -7
  43. package/src/assets/svg/salesforce-logo-corporate.svg +0 -21
  44. package/src/assets/svg/salesforce-logo.svg +0 -14
  45. package/src/assets/svg/sidebar-loading.svg +0 -34
  46. package/src/assets/svg/slack-cta-podcast-background-left.svg +0 -28
  47. package/src/assets/svg/slack-cta-podcast-background-right.svg +0 -38
  48. package/src/assets/svg/trees.svg +0 -42
  49. package/src/modules/.DS_Store +0 -0
  50. package/src/modules/dx/.DS_Store +0 -0
  51. package/src/modules/dx/banner/__tests__/banner.test.ts +0 -33
  52. package/src/modules/dx/banner/banner.css +0 -46
  53. package/src/modules/dx/banner/banner.html +0 -13
  54. package/src/modules/dx/banner/banner.ts +0 -14
  55. package/src/modules/dx/brandThemeProvider/__tests__/brandThemeProvider.test.ts +0 -49
  56. package/src/modules/dx/brandThemeProvider/brandCssVars.ts +0 -10
  57. package/src/modules/dx/brandThemeProvider/brandThemeProvider.html +0 -3
  58. package/src/modules/dx/brandThemeProvider/brandThemeProvider.stories.ts +0 -321
  59. package/src/modules/dx/brandThemeProvider/brandThemeProvider.ts +0 -46
  60. package/src/modules/dx/breadcrumbs/__tests__/breadcrumbs.test.ts +0 -140
  61. package/src/modules/dx/breadcrumbs/__tests__/mockProps.ts +0 -28
  62. package/src/modules/dx/breadcrumbs/breadcrumbs.css +0 -111
  63. package/src/modules/dx/breadcrumbs/breadcrumbs.html +0 -44
  64. package/src/modules/dx/breadcrumbs/breadcrumbs.stories.ts +0 -39
  65. package/src/modules/dx/breadcrumbs/breadcrumbs.ts +0 -122
  66. package/src/modules/dx/button/__tests__/button.test.ts +0 -107
  67. package/src/modules/dx/button/button.css +0 -175
  68. package/src/modules/dx/button/button.html +0 -43
  69. package/src/modules/dx/button/button.stories.ts +0 -150
  70. package/src/modules/dx/button/button.ts +0 -63
  71. package/src/modules/dx/cardBlogPost/__tests__/cardBlogPost.test.ts +0 -26
  72. package/src/modules/dx/cardBlogPost/__tests__/mockProps.ts +0 -12
  73. package/src/modules/dx/cardBlogPost/cardBlogPost.css +0 -13
  74. package/src/modules/dx/cardBlogPost/cardBlogPost.html +0 -24
  75. package/src/modules/dx/cardBlogPost/cardBlogPost.stories.ts +0 -164
  76. package/src/modules/dx/cardBlogPost/cardBlogPost.ts +0 -23
  77. package/src/modules/dx/cardBlogPostProvider/__tests__/cardBlogPostProvider.test.ts +0 -34
  78. package/src/modules/dx/cardBlogPostProvider/__tests__/mockWordpressPosts.ts +0 -44
  79. package/src/modules/dx/cardBlogPostProvider/cardBlogPostProvider.css +0 -3
  80. package/src/modules/dx/cardBlogPostProvider/cardBlogPostProvider.html +0 -16
  81. package/src/modules/dx/cardBlogPostProvider/cardBlogPostProvider.ts +0 -29
  82. package/src/modules/dx/cardCallout/__tests__/cardCallout.test.ts +0 -20
  83. package/src/modules/dx/cardCallout/__tests__/mockProps.ts +0 -7
  84. package/src/modules/dx/cardCallout/cardCallout.css +0 -57
  85. package/src/modules/dx/cardCallout/cardCallout.html +0 -15
  86. package/src/modules/dx/cardCallout/cardCallout.stories.ts +0 -33
  87. package/src/modules/dx/cardCallout/cardCallout.ts +0 -37
  88. package/src/modules/dx/cardContent/__tests__/cardContent.test.ts +0 -100
  89. package/src/modules/dx/cardContent/__tests__/mockProps.ts +0 -13
  90. package/src/modules/dx/cardContent/cardContent.css +0 -52
  91. package/src/modules/dx/cardContent/cardContent.html +0 -59
  92. package/src/modules/dx/cardContent/cardContent.stories.ts +0 -127
  93. package/src/modules/dx/cardContent/cardContent.ts +0 -68
  94. package/src/modules/dx/cardDemo/cardDemo.css +0 -1
  95. package/src/modules/dx/cardDemo/cardDemo.html +0 -12
  96. package/src/modules/dx/cardDemo/cardDemo.stories.ts +0 -115
  97. package/src/modules/dx/cardDemo/cardDemo.ts +0 -11
  98. package/src/modules/dx/cardDocs/__tests__/cardDocs.test.ts +0 -48
  99. package/src/modules/dx/cardDocs/__tests__/mockProps.ts +0 -9
  100. package/src/modules/dx/cardDocs/cardDocs.css +0 -50
  101. package/src/modules/dx/cardDocs/cardDocs.html +0 -20
  102. package/src/modules/dx/cardDocs/cardDocs.stories.ts +0 -299
  103. package/src/modules/dx/cardDocs/cardDocs.ts +0 -30
  104. package/src/modules/dx/cardEvent/__tests__/cardEvent.test.ts +0 -95
  105. package/src/modules/dx/cardEvent/__tests__/mockProps.ts +0 -10
  106. package/src/modules/dx/cardEvent/cardEvent.css +0 -107
  107. package/src/modules/dx/cardEvent/cardEvent.html +0 -94
  108. package/src/modules/dx/cardEvent/cardEvent.stories.ts +0 -153
  109. package/src/modules/dx/cardEvent/cardEvent.ts +0 -42
  110. package/src/modules/dx/cardExpanded/__tests__/cardExpanded.test.ts +0 -193
  111. package/src/modules/dx/cardExpanded/__tests__/mockProps.ts +0 -21
  112. package/src/modules/dx/cardExpanded/cardExpanded.css +0 -49
  113. package/src/modules/dx/cardExpanded/cardExpanded.html +0 -37
  114. package/src/modules/dx/cardExpanded/cardExpanded.stories.ts +0 -59
  115. package/src/modules/dx/cardExpanded/cardExpanded.ts +0 -45
  116. package/src/modules/dx/cardGrid/__tests__/cardMockProps.ts +0 -431
  117. package/src/modules/dx/cardGrid/__tests__/mockProps.ts +0 -15
  118. package/src/modules/dx/cardGrid/cardGrid.css +0 -89
  119. package/src/modules/dx/cardGrid/cardGrid.html +0 -46
  120. package/src/modules/dx/cardGrid/cardGrid.stories.ts +0 -111
  121. package/src/modules/dx/cardGrid/cardGrid.ts +0 -140
  122. package/src/modules/dx/cardMinimal/__tests__/cardMinimal.test.ts +0 -87
  123. package/src/modules/dx/cardMinimal/__tests__/mockProps.ts +0 -10
  124. package/src/modules/dx/cardMinimal/cardMinimal.css +0 -31
  125. package/src/modules/dx/cardMinimal/cardMinimal.html +0 -13
  126. package/src/modules/dx/cardMinimal/cardMinimal.stories.ts +0 -32
  127. package/src/modules/dx/cardMinimal/cardMinimal.ts +0 -3
  128. package/src/modules/dx/cardNews/__tests__/cardNews.test.ts +0 -58
  129. package/src/modules/dx/cardNews/__tests__/mockProps.ts +0 -7
  130. package/src/modules/dx/cardNews/cardNews.css +0 -159
  131. package/src/modules/dx/cardNews/cardNews.html +0 -37
  132. package/src/modules/dx/cardNews/cardNews.stories.ts +0 -115
  133. package/src/modules/dx/cardNews/cardNews.ts +0 -62
  134. package/src/modules/dx/cardPodcastEpisode/__tests__/cardPodcastEpisode.test.ts +0 -68
  135. package/src/modules/dx/cardPodcastEpisode/cardPodcastEpisode.css +0 -19
  136. package/src/modules/dx/cardPodcastEpisode/cardPodcastEpisode.html +0 -36
  137. package/src/modules/dx/cardPodcastEpisode/cardPodcastEpisode.stories.ts +0 -31
  138. package/src/modules/dx/cardPodcastEpisode/cardPodcastEpisode.ts +0 -36
  139. package/src/modules/dx/cardPodcastEpisodeProvider/__tests__/cardPodcastEpisodeProvider.test.ts +0 -36
  140. package/src/modules/dx/cardPodcastEpisodeProvider/__tests__/mockWordpressEpisodes.ts +0 -50
  141. package/src/modules/dx/cardPodcastEpisodeProvider/cardPodcastEpisodeProvider.css +0 -3
  142. package/src/modules/dx/cardPodcastEpisodeProvider/cardPodcastEpisodeProvider.html +0 -12
  143. package/src/modules/dx/cardPodcastEpisodeProvider/cardPodcastEpisodeProvider.ts +0 -29
  144. package/src/modules/dx/cardSmall/__tests__/cardSmall.test.ts +0 -66
  145. package/src/modules/dx/cardSmall/__tests__/mockProps.ts +0 -8
  146. package/src/modules/dx/cardSmall/cardSmall.css +0 -32
  147. package/src/modules/dx/cardSmall/cardSmall.html +0 -42
  148. package/src/modules/dx/cardSmall/cardSmall.stories.ts +0 -166
  149. package/src/modules/dx/cardSmall/cardSmall.ts +0 -38
  150. package/src/modules/dx/cardTitle/__tests__/cardTitle.test.ts +0 -46
  151. package/src/modules/dx/cardTitle/cardTitle.css +0 -41
  152. package/src/modules/dx/cardTitle/cardTitle.html +0 -20
  153. package/src/modules/dx/cardTitle/cardTitle.ts +0 -27
  154. package/src/modules/dx/cardTrailheadModule/__tests__/cardTrailheadModule.test.ts +0 -18
  155. package/src/modules/dx/cardTrailheadModule/__tests__/mockProps.ts +0 -11
  156. package/src/modules/dx/cardTrailheadModule/cardTrailheadModule.css +0 -24
  157. package/src/modules/dx/cardTrailheadModule/cardTrailheadModule.html +0 -20
  158. package/src/modules/dx/cardTrailheadModule/cardTrailheadModule.stories.ts +0 -122
  159. package/src/modules/dx/cardTrailheadModule/cardTrailheadModule.ts +0 -18
  160. package/src/modules/dx/cardVideoPreview/__tests__/cardVideoPreview.test.ts +0 -22
  161. package/src/modules/dx/cardVideoPreview/__tests__/mockProps.ts +0 -11
  162. package/src/modules/dx/cardVideoPreview/cardVideoPreview.css +0 -14
  163. package/src/modules/dx/cardVideoPreview/cardVideoPreview.html +0 -26
  164. package/src/modules/dx/cardVideoPreview/cardVideoPreview.stories.ts +0 -147
  165. package/src/modules/dx/cardVideoPreview/cardVideoPreview.ts +0 -13
  166. package/src/modules/dx/checkbox/__tests__/checkbox.test.ts +0 -85
  167. package/src/modules/dx/checkbox/__tests__/mockProps.ts +0 -5
  168. package/src/modules/dx/checkbox/checkbox.css +0 -168
  169. package/src/modules/dx/checkbox/checkbox.html +0 -26
  170. package/src/modules/dx/checkbox/checkbox.stories.ts +0 -38
  171. package/src/modules/dx/checkbox/checkbox.ts +0 -55
  172. package/src/modules/dx/checkboxGroup/__tests__/checkboxGroup.test.ts +0 -80
  173. package/src/modules/dx/checkboxGroup/__tests__/mockProps.ts +0 -14
  174. package/src/modules/dx/checkboxGroup/checkboxGroup.css +0 -12
  175. package/src/modules/dx/checkboxGroup/checkboxGroup.html +0 -15
  176. package/src/modules/dx/checkboxGroup/checkboxGroup.stories.ts +0 -33
  177. package/src/modules/dx/checkboxGroup/checkboxGroup.ts +0 -77
  178. package/src/modules/dx/codeBlock/__tests__/codeBlock.test.ts +0 -238
  179. package/src/modules/dx/codeBlock/__tests__/mockProps.ts +0 -160
  180. package/src/modules/dx/codeBlock/codeBlock.css +0 -128
  181. package/src/modules/dx/codeBlock/codeBlock.html +0 -79
  182. package/src/modules/dx/codeBlock/codeBlock.stories.ts +0 -143
  183. package/src/modules/dx/codeBlock/codeBlock.ts +0 -215
  184. package/src/modules/dx/codeBlock/darkTheme.css +0 -88
  185. package/src/modules/dx/codeBlock/lightTheme.css +0 -72
  186. package/src/modules/dx/dropdown/__tests__/dropdown.test.ts +0 -165
  187. package/src/modules/dx/dropdown/__tests__/mockNestedOptions.ts +0 -96
  188. package/src/modules/dx/dropdown/__tests__/mockOptions.ts +0 -10
  189. package/src/modules/dx/dropdown/__tests__/mockProps.ts +0 -6
  190. package/src/modules/dx/dropdown/dropdown.css +0 -93
  191. package/src/modules/dx/dropdown/dropdown.html +0 -67
  192. package/src/modules/dx/dropdown/dropdown.stories.ts +0 -89
  193. package/src/modules/dx/dropdown/dropdown.ts +0 -182
  194. package/src/modules/dx/dropdownOption/__tests__/dropdownOption.test.ts +0 -112
  195. package/src/modules/dx/dropdownOption/__tests__/mockProps.ts +0 -20
  196. package/src/modules/dx/dropdownOption/dropdownOption.css +0 -61
  197. package/src/modules/dx/dropdownOption/dropdownOption.html +0 -53
  198. package/src/modules/dx/dropdownOption/dropdownOption.ts +0 -39
  199. package/src/modules/dx/emptyState/__tests__/emptyState.test.ts +0 -52
  200. package/src/modules/dx/emptyState/__tests__/mockProps.ts +0 -4
  201. package/src/modules/dx/emptyState/emptyState.css +0 -64
  202. package/src/modules/dx/emptyState/emptyState.html +0 -9
  203. package/src/modules/dx/emptyState/emptyState.stories.ts +0 -45
  204. package/src/modules/dx/emptyState/emptyState.ts +0 -20
  205. package/src/modules/dx/feature/__tests__/feature.test.ts +0 -51
  206. package/src/modules/dx/feature/__tests__/mockProps.ts +0 -8
  207. package/src/modules/dx/feature/feature.css +0 -135
  208. package/src/modules/dx/feature/feature.html +0 -33
  209. package/src/modules/dx/feature/feature.ts +0 -34
  210. package/src/modules/dx/featureGrid/__tests__/featureGrid.test.ts +0 -21
  211. package/src/modules/dx/featureGrid/featureGrid.html +0 -3
  212. package/src/modules/dx/featureGrid/featureGrid.stories.ts +0 -120
  213. package/src/modules/dx/featureGrid/featureGrid.ts +0 -15
  214. package/src/modules/dx/featuredContentHeader/__tests__/featuredContentHeader.test.ts +0 -178
  215. package/src/modules/dx/featuredContentHeader/__tests__/mockProps.ts +0 -73
  216. package/src/modules/dx/featuredContentHeader/featuredContentHeader.css +0 -469
  217. package/src/modules/dx/featuredContentHeader/featuredContentHeader.html +0 -96
  218. package/src/modules/dx/featuredContentHeader/featuredContentHeader.stories.ts +0 -153
  219. package/src/modules/dx/featuredContentHeader/featuredContentHeader.ts +0 -113
  220. package/src/modules/dx/featuredContentHeader/svgs.ts +0 -35
  221. package/src/modules/dx/featuresList/__tests__/featuresList.test.ts +0 -43
  222. package/src/modules/dx/featuresList/__tests__/mockProps.ts +0 -17
  223. package/src/modules/dx/featuresList/featuresList.css +0 -24
  224. package/src/modules/dx/featuresList/featuresList.html +0 -20
  225. package/src/modules/dx/featuresList/featuresList.stories.ts +0 -30
  226. package/src/modules/dx/featuresList/featuresList.ts +0 -21
  227. package/src/modules/dx/footer/__tests__/footer.test.ts +0 -147
  228. package/src/modules/dx/footer/__tests__/mockLocales.ts +0 -7
  229. package/src/modules/dx/footer/footer.css +0 -405
  230. package/src/modules/dx/footer/footer.html +0 -145
  231. package/src/modules/dx/footer/footer.stories.ts +0 -88
  232. package/src/modules/dx/footer/footer.ts +0 -124
  233. package/src/modules/dx/footer/links.ts +0 -140
  234. package/src/modules/dx/footerOption/__tests__/footerOption.test.ts +0 -34
  235. package/src/modules/dx/footerOption/__tests__/mockProps.ts +0 -7
  236. package/src/modules/dx/footerOption/footerOption.css +0 -4
  237. package/src/modules/dx/footerOption/footerOption.html +0 -12
  238. package/src/modules/dx/footerOption/footerOption.ts +0 -19
  239. package/src/modules/dx/formattedDateTime/__tests__/formattedDateTime.test.ts +0 -25
  240. package/src/modules/dx/formattedDateTime/__tests__/mockProps.ts +0 -13
  241. package/src/modules/dx/formattedDateTime/formattedDateTime.html +0 -1
  242. package/src/modules/dx/formattedDateTime/formattedDateTime.stories.ts +0 -103
  243. package/src/modules/dx/formattedDateTime/formattedDateTime.ts +0 -72
  244. package/src/modules/dx/grid/__tests__/grid.test.ts +0 -32
  245. package/src/modules/dx/grid/grid.css +0 -48
  246. package/src/modules/dx/grid/grid.html +0 -3
  247. package/src/modules/dx/grid/grid.md +0 -14
  248. package/src/modules/dx/grid/grid.stories.ts +0 -134
  249. package/src/modules/dx/grid/grid.ts +0 -72
  250. package/src/modules/dx/groupBio/__tests__/groupBio.test.ts +0 -82
  251. package/src/modules/dx/groupBio/__tests__/mockProps.ts +0 -15
  252. package/src/modules/dx/groupBio/groupBio.css +0 -49
  253. package/src/modules/dx/groupBio/groupBio.html +0 -29
  254. package/src/modules/dx/groupBio/groupBio.stories.ts +0 -66
  255. package/src/modules/dx/groupBio/groupBio.ts +0 -41
  256. package/src/modules/dx/groupText/__tests__/groupText.test.ts +0 -69
  257. package/src/modules/dx/groupText/__tests__/mockProps.ts +0 -35
  258. package/src/modules/dx/groupText/groupText.css +0 -119
  259. package/src/modules/dx/groupText/groupText.html +0 -65
  260. package/src/modules/dx/groupText/groupText.stories.ts +0 -81
  261. package/src/modules/dx/groupText/groupText.ts +0 -93
  262. package/src/modules/dx/headTags/headTags.html +0 -3
  263. package/src/modules/dx/headTags/headTags.ts +0 -39
  264. package/src/modules/dx/header/__benchmarks__/header.benchmark.js +0 -45
  265. package/src/modules/dx/header/__tests__/header.test.ts +0 -236
  266. package/src/modules/dx/header/__tests__/mockNavArchitects.ts +0 -169
  267. package/src/modules/dx/header/__tests__/mockNavDevelopers.ts +0 -419
  268. package/src/modules/dx/header/__tests__/mockNavs.ts +0 -115
  269. package/src/modules/dx/header/__tests__/mockProps.ts +0 -164
  270. package/src/modules/dx/header/header.css +0 -109
  271. package/src/modules/dx/header/header.html +0 -129
  272. package/src/modules/dx/header/header.stories.ts +0 -172
  273. package/src/modules/dx/header/header.ts +0 -27
  274. package/src/modules/dx/headerMobileNavMenu/__tests__/headerMobileNavMenu.test.ts +0 -123
  275. package/src/modules/dx/headerMobileNavMenu/headerMobileNavMenu.css +0 -160
  276. package/src/modules/dx/headerMobileNavMenu/headerMobileNavMenu.html +0 -73
  277. package/src/modules/dx/headerMobileNavMenu/headerMobileNavMenu.ts +0 -102
  278. package/src/modules/dx/headerMobileNavMenuOption/__tests__/headerMobileNavMenuOption.test.ts +0 -38
  279. package/src/modules/dx/headerMobileNavMenuOption/headerMobileNavMenuOption.css +0 -5
  280. package/src/modules/dx/headerMobileNavMenuOption/headerMobileNavMenuOption.html +0 -14
  281. package/src/modules/dx/headerMobileNavMenuOption/headerMobileNavMenuOption.ts +0 -20
  282. package/src/modules/dx/headerNav/__tests__/headerNav.test.ts +0 -49
  283. package/src/modules/dx/headerNav/headerNav.css +0 -31
  284. package/src/modules/dx/headerNav/headerNav.html +0 -48
  285. package/src/modules/dx/headerNav/headerNav.ts +0 -56
  286. package/src/modules/dx/headerSearch/__tests__/headerSearch.test.ts +0 -182
  287. package/src/modules/dx/headerSearch/__tests__/mockData.ts +0 -11
  288. package/src/modules/dx/headerSearch/__tests__/mockProps.ts +0 -6
  289. package/src/modules/dx/headerSearch/headerSearch.css +0 -62
  290. package/src/modules/dx/headerSearch/headerSearch.html +0 -64
  291. package/src/modules/dx/headerSearch/headerSearch.ts +0 -159
  292. package/src/modules/dx/helmet/__tests__/helmet.test.ts +0 -52
  293. package/src/modules/dx/helmet/helmet.css +0 -83
  294. package/src/modules/dx/helmet/helmet.html +0 -39
  295. package/src/modules/dx/helmet/helmet.stories.ts +0 -53
  296. package/src/modules/dx/helmet/helmet.ts +0 -27
  297. package/src/modules/dx/hr/__tests__/hr.test.ts +0 -53
  298. package/src/modules/dx/hr/__tests__/mockProps.ts +0 -16
  299. package/src/modules/dx/hr/hr.css +0 -55
  300. package/src/modules/dx/hr/hr.html +0 -23
  301. package/src/modules/dx/hr/hr.stories.ts +0 -50
  302. package/src/modules/dx/hr/hr.ts +0 -45
  303. package/src/modules/dx/icon/__tests__/icon.test.ts +0 -54
  304. package/src/modules/dx/icon/icon.css +0 -14
  305. package/src/modules/dx/icon/icon.html +0 -11
  306. package/src/modules/dx/icon/icon.stories.ts +0 -100
  307. package/src/modules/dx/icon/icon.ts +0 -85
  308. package/src/modules/dx/iconBadge/__tests__/iconBadge.test.ts +0 -17
  309. package/src/modules/dx/iconBadge/iconBadge.css +0 -40
  310. package/src/modules/dx/iconBadge/iconBadge.html +0 -10
  311. package/src/modules/dx/iconBadge/iconBadge.stories.ts +0 -32
  312. package/src/modules/dx/iconBadge/iconBadge.ts +0 -42
  313. package/src/modules/dx/imageAndLabel/__tests__/imageAndLabel.test.ts +0 -39
  314. package/src/modules/dx/imageAndLabel/__tests__/mockProps.ts +0 -6
  315. package/src/modules/dx/imageAndLabel/imageAndLabel.css +0 -54
  316. package/src/modules/dx/imageAndLabel/imageAndLabel.html +0 -22
  317. package/src/modules/dx/imageAndLabel/imageAndLabel.stories.ts +0 -48
  318. package/src/modules/dx/imageAndLabel/imageAndLabel.ts +0 -16
  319. package/src/modules/dx/input/__tests__/input.test.ts +0 -357
  320. package/src/modules/dx/input/input.css +0 -165
  321. package/src/modules/dx/input/input.html +0 -58
  322. package/src/modules/dx/input/input.stories.ts +0 -102
  323. package/src/modules/dx/input/input.ts +0 -238
  324. package/src/modules/dx/input/validators.ts +0 -5
  325. package/src/modules/dx/instrumentation/__tests__/instrumentation.test.ts +0 -86
  326. package/src/modules/dx/instrumentation/instrumentation.html +0 -1
  327. package/src/modules/dx/instrumentation/instrumentation.ts +0 -116
  328. package/src/modules/dx/interactiveImage/__tests__/interactiveImage.test.ts +0 -83
  329. package/src/modules/dx/interactiveImage/__tests__/mockProps.ts +0 -39
  330. package/src/modules/dx/interactiveImage/interactiveImage.css +0 -59
  331. package/src/modules/dx/interactiveImage/interactiveImage.html +0 -32
  332. package/src/modules/dx/interactiveImage/interactiveImage.stories.ts +0 -31
  333. package/src/modules/dx/interactiveImage/interactiveImage.ts +0 -71
  334. package/src/modules/dx/lazy/__tests__/lazy.test.ts +0 -43
  335. package/src/modules/dx/lazy/lazy.html +0 -5
  336. package/src/modules/dx/lazy/lazy.stories.ts +0 -132
  337. package/src/modules/dx/lazy/lazy.ts +0 -163
  338. package/src/modules/dx/logo/logo.css +0 -33
  339. package/src/modules/dx/logo/logo.html +0 -6
  340. package/src/modules/dx/logo/logo.ts +0 -8
  341. package/src/modules/dx/newsletterForm/newsletterForm.css +0 -73
  342. package/src/modules/dx/newsletterForm/newsletterForm.html +0 -73
  343. package/src/modules/dx/newsletterForm/newsletterForm.ts +0 -238
  344. package/src/modules/dx/pagination/__tests__/pagination.test.ts +0 -121
  345. package/src/modules/dx/pagination/pagination.css +0 -51
  346. package/src/modules/dx/pagination/pagination.html +0 -45
  347. package/src/modules/dx/pagination/pagination.stories.ts +0 -88
  348. package/src/modules/dx/pagination/pagination.ts +0 -93
  349. package/src/modules/dx/podcastHost/__tests__/mockProps.ts +0 -8
  350. package/src/modules/dx/podcastHost/__tests__/podcastHost.test.ts +0 -21
  351. package/src/modules/dx/podcastHost/podcastHost.css +0 -62
  352. package/src/modules/dx/podcastHost/podcastHost.html +0 -28
  353. package/src/modules/dx/podcastHost/podcastHost.stories.ts +0 -17
  354. package/src/modules/dx/podcastHost/podcastHost.ts +0 -13
  355. package/src/modules/dx/podcastPlayer/__tests__/podcastPlayer.test.ts +0 -20
  356. package/src/modules/dx/podcastPlayer/podcastPlayer.css +0 -10
  357. package/src/modules/dx/podcastPlayer/podcastPlayer.html +0 -3
  358. package/src/modules/dx/podcastPlayer/podcastPlayer.stories.ts +0 -13
  359. package/src/modules/dx/podcastPlayer/podcastPlayer.ts +0 -5
  360. package/src/modules/dx/podcastSubscription/__tests__/podcastSubscription.test.ts +0 -16
  361. package/src/modules/dx/podcastSubscription/podcastSubscription.css +0 -92
  362. package/src/modules/dx/podcastSubscription/podcastSubscription.html +0 -24
  363. package/src/modules/dx/podcastSubscription/podcastSubscription.stories.ts +0 -23
  364. package/src/modules/dx/podcastSubscription/podcastSubscription.ts +0 -58
  365. package/src/modules/dx/popover/__tests__/mockProps.ts +0 -8
  366. package/src/modules/dx/popover/__tests__/popover.test.ts +0 -313
  367. package/src/modules/dx/popover/popover.css +0 -63
  368. package/src/modules/dx/popover/popover.html +0 -16
  369. package/src/modules/dx/popover/popover.stories.ts +0 -82
  370. package/src/modules/dx/popover/popover.ts +0 -313
  371. package/src/modules/dx/radioGroup/__tests__/mockProps.ts +0 -12
  372. package/src/modules/dx/radioGroup/__tests__/radioGroup.test.ts +0 -42
  373. package/src/modules/dx/radioGroup/radioGroup.css +0 -12
  374. package/src/modules/dx/radioGroup/radioGroup.html +0 -16
  375. package/src/modules/dx/radioGroup/radioGroup.stories.ts +0 -25
  376. package/src/modules/dx/radioGroup/radioGroup.ts +0 -65
  377. package/src/modules/dx/relativeDateTime/__tests__/mockProps.ts +0 -55
  378. package/src/modules/dx/relativeDateTime/__tests__/relativeDateTime.test.ts +0 -52
  379. package/src/modules/dx/relativeDateTime/relativeDateTime.html +0 -3
  380. package/src/modules/dx/relativeDateTime/relativeDateTime.stories.ts +0 -83
  381. package/src/modules/dx/relativeDateTime/relativeDateTime.ts +0 -113
  382. package/src/modules/dx/searchResults/coveo.css +0 -18989
  383. package/src/modules/dx/searchResults/searchResults.css +0 -387
  384. package/src/modules/dx/searchResults/searchResults.html +0 -104
  385. package/src/modules/dx/searchResults/searchResults.stories.ts +0 -36
  386. package/src/modules/dx/searchResults/searchResults.ts +0 -186
  387. package/src/modules/dx/section/__tests__/section.test.ts +0 -17
  388. package/src/modules/dx/section/section.css +0 -130
  389. package/src/modules/dx/section/section.html +0 -66
  390. package/src/modules/dx/section/section.stories.ts +0 -381
  391. package/src/modules/dx/section/section.ts +0 -41
  392. package/src/modules/dx/sectionSignup/__tests__/sectionSignup.test.ts +0 -66
  393. package/src/modules/dx/sectionSignup/sectionSignup.css +0 -43
  394. package/src/modules/dx/sectionSignup/sectionSignup.html +0 -23
  395. package/src/modules/dx/sectionSignup/sectionSignup.stories.ts +0 -49
  396. package/src/modules/dx/sectionSignup/sectionSignup.ts +0 -44
  397. package/src/modules/dx/select/select.css +0 -44
  398. package/src/modules/dx/select/select.html +0 -60
  399. package/src/modules/dx/select/select.stories.ts +0 -59
  400. package/src/modules/dx/select/select.ts +0 -23
  401. package/src/modules/dx/sidebar/__tests__/mockProps.ts +0 -181
  402. package/src/modules/dx/sidebar/__tests__/mockSearchChangeEmptyEvent.ts +0 -6
  403. package/src/modules/dx/sidebar/__tests__/mockSearchChangeEvent.ts +0 -527
  404. package/src/modules/dx/sidebar/__tests__/sidebar.test.ts +0 -568
  405. package/src/modules/dx/sidebar/sidebar.css +0 -192
  406. package/src/modules/dx/sidebar/sidebar.html +0 -94
  407. package/src/modules/dx/sidebar/sidebar.stories.ts +0 -188
  408. package/src/modules/dx/sidebar/sidebar.ts +0 -255
  409. package/src/modules/dx/sidebarOld/__tests__/mockProps.ts +0 -178
  410. package/src/modules/dx/sidebarOld/__tests__/sidebarOld.test.ts +0 -570
  411. package/src/modules/dx/sidebarOld/sidebarOld.css +0 -160
  412. package/src/modules/dx/sidebarOld/sidebarOld.html +0 -70
  413. package/src/modules/dx/sidebarOld/sidebarOld.stories.ts +0 -139
  414. package/src/modules/dx/sidebarOld/sidebarOld.ts +0 -187
  415. package/src/modules/dx/sidebarSearch/__tests__/mockPreloadedState.ts +0 -1686
  416. package/src/modules/dx/sidebarSearch/__tests__/sidebarSearch.test.ts +0 -175
  417. package/src/modules/dx/sidebarSearch/sidebarSearch.css +0 -3
  418. package/src/modules/dx/sidebarSearch/sidebarSearch.html +0 -26
  419. package/src/modules/dx/sidebarSearch/sidebarSearch.ts +0 -440
  420. package/src/modules/dx/sidebarSearchResult/__tests__/sidebarSearchResult.test.ts +0 -96
  421. package/src/modules/dx/sidebarSearchResult/sidebarSearchResult.css +0 -36
  422. package/src/modules/dx/sidebarSearchResult/sidebarSearchResult.html +0 -14
  423. package/src/modules/dx/sidebarSearchResult/sidebarSearchResult.ts +0 -70
  424. package/src/modules/dx/skipNavLink/skipNavLink.css +0 -21
  425. package/src/modules/dx/skipNavLink/skipNavLink.html +0 -3
  426. package/src/modules/dx/skipNavLink/skipNavLink.ts +0 -3
  427. package/src/modules/dx/slackCta/__tests__/slackCta.test.ts +0 -48
  428. package/src/modules/dx/slackCta/slackCta.css +0 -41
  429. package/src/modules/dx/slackCta/slackCta.html +0 -17
  430. package/src/modules/dx/slackCta/slackCta.stories.ts +0 -25
  431. package/src/modules/dx/slackCta/slackCta.ts +0 -13
  432. package/src/modules/dx/socials/__tests__/socials.test.ts +0 -114
  433. package/src/modules/dx/socials/socials.css +0 -35
  434. package/src/modules/dx/socials/socials.html +0 -22
  435. package/src/modules/dx/socials/socials.stories.ts +0 -24
  436. package/src/modules/dx/socials/socials.ts +0 -81
  437. package/src/modules/dx/spinner/__tests__/spinner.test.ts +0 -37
  438. package/src/modules/dx/spinner/spinner.css +0 -750
  439. package/src/modules/dx/spinner/spinner.html +0 -6
  440. package/src/modules/dx/spinner/spinner.stories.ts +0 -69
  441. package/src/modules/dx/spinner/spinner.ts +0 -20
  442. package/src/modules/dx/tab/__tests__/tab.test.ts +0 -129
  443. package/src/modules/dx/tab/tab.css +0 -106
  444. package/src/modules/dx/tab/tab.html +0 -13
  445. package/src/modules/dx/tab/tab.stories.ts +0 -57
  446. package/src/modules/dx/tab/tab.ts +0 -52
  447. package/src/modules/dx/toc/__tests__/mockProps.ts +0 -28
  448. package/src/modules/dx/toc/__tests__/toc.test.ts +0 -109
  449. package/src/modules/dx/toc/toc.css +0 -94
  450. package/src/modules/dx/toc/toc.html +0 -28
  451. package/src/modules/dx/toc/toc.stories.ts +0 -26
  452. package/src/modules/dx/toc/toc.ts +0 -77
  453. package/src/modules/dx/tooltip/__tests__/tooltip.test.ts +0 -22
  454. package/src/modules/dx/tooltip/microtip.css +0 -269
  455. package/src/modules/dx/tooltip/tooltip.css +0 -36
  456. package/src/modules/dx/tooltip/tooltip.html +0 -5
  457. package/src/modules/dx/tooltip/tooltip.stories.ts +0 -46
  458. package/src/modules/dx/tooltip/tooltip.ts +0 -6
  459. package/src/modules/dx/topics/__tests__/mockProps.ts +0 -3
  460. package/src/modules/dx/topics/__tests__/topics.test.ts +0 -31
  461. package/src/modules/dx/topics/topics.css +0 -25
  462. package/src/modules/dx/topics/topics.html +0 -12
  463. package/src/modules/dx/topics/topics.ts +0 -25
  464. package/src/modules/dx/tree/__tests__/mockProps.ts +0 -215
  465. package/src/modules/dx/tree/__tests__/tree.test.ts +0 -346
  466. package/src/modules/dx/tree/__tests__/treeHandler.test.ts +0 -194
  467. package/src/modules/dx/tree/tree.css +0 -5
  468. package/src/modules/dx/tree/tree.html +0 -11
  469. package/src/modules/dx/tree/tree.stories.ts +0 -65
  470. package/src/modules/dx/tree/tree.ts +0 -72
  471. package/src/modules/dx/tree/treeHandler.ts +0 -100
  472. package/src/modules/dx/treeItem/__tests__/mockProps.ts +0 -46
  473. package/src/modules/dx/treeItem/__tests__/treeItem.test.ts +0 -377
  474. package/src/modules/dx/treeItem/treeItem.css +0 -14
  475. package/src/modules/dx/treeItem/treeItem.html +0 -22
  476. package/src/modules/dx/treeItem/treeItem.ts +0 -110
  477. package/src/modules/dx/treeTile/__tests__/mockProps.ts +0 -16
  478. package/src/modules/dx/treeTile/__tests__/treeTile.test.ts +0 -168
  479. package/src/modules/dx/treeTile/treeTile.css +0 -190
  480. package/src/modules/dx/treeTile/treeTile.html +0 -27
  481. package/src/modules/dx/treeTile/treeTile.ts +0 -59
  482. package/src/modules/dx/typeBadge/__tests__/typeBadge.test.ts +0 -77
  483. package/src/modules/dx/typeBadge/typeBadge.css +0 -74
  484. package/src/modules/dx/typeBadge/typeBadge.html +0 -5
  485. package/src/modules/dx/typeBadge/typeBadge.stories.ts +0 -114
  486. package/src/modules/dx/typeBadge/typeBadge.ts +0 -65
  487. package/src/modules/dx/typeBadgeGroup/__tests__/mockProps.ts +0 -11
  488. package/src/modules/dx/typeBadgeGroup/__tests__/typeBadgeGroup.test.ts +0 -72
  489. package/src/modules/dx/typeBadgeGroup/typeBadgeGroup.css +0 -12
  490. package/src/modules/dx/typeBadgeGroup/typeBadgeGroup.html +0 -11
  491. package/src/modules/dx/typeBadgeGroup/typeBadgeGroup.stories.ts +0 -19
  492. package/src/modules/dx/typeBadgeGroup/typeBadgeGroup.ts +0 -18
  493. package/src/modules/helpers/animations/animations.css +0 -15
  494. package/src/modules/helpers/button/button.css +0 -4
  495. package/src/modules/helpers/card/card.css +0 -258
  496. package/src/modules/helpers/code/code.css +0 -296
  497. package/src/modules/helpers/commonHeader/commonHeader.css +0 -130
  498. package/src/modules/helpers/reset/reset.css +0 -559
  499. package/src/modules/helpers/sidebar/sidebar.css +0 -21
  500. package/src/modules/helpers/slds/slds.css +0 -191
  501. package/src/modules/helpers/table/table.css +0 -110
  502. package/src/modules/helpers/text/text.css +0 -163
  503. package/src/modules/test-components/buttonTest/buttonTest.html +0 -3
  504. package/src/modules/test-components/buttonTest/buttonTest.ts +0 -3
  505. package/src/modules/test-components/codeBlockTest/codeBlockTest.js +0 -4
  506. package/src/modules/test-components/featureGridTest/featureGridTest.html +0 -7
  507. package/src/modules/test-components/featureGridTest/featureGridTest.ts +0 -5
  508. package/src/modules/test-components/instrumentationTest/instrumentationTest.html +0 -4
  509. package/src/modules/test-components/instrumentationTest/instrumentationTest.ts +0 -8
  510. package/src/modules/test-components/popoverTest/popoverTest.html +0 -6
  511. package/src/modules/test-components/popoverTest/popoverTest.ts +0 -5
  512. package/src/modules/utils/highlight/__tests__/highlight.test.ts +0 -108
  513. package/src/modules/utils/highlight/__tests__/mockProps.ts +0 -45
  514. package/src/modules/utils/highlight/highlight.ts +0 -32
  515. package/src/modules/utils/normalizers/normalizers.ts +0 -91
  516. package/src/modules/utils-internal/archiveCard/archiveCard.ts +0 -35
  517. package/src/modules/utils-internal/coveo/coveo.ts +0 -70
  518. package/src/modules/utils-internal/css/css.ts +0 -43
  519. package/src/modules/utils-internal/devices/devices.ts +0 -1
  520. package/src/modules/utils-internal/headerBase/headerBase.ts +0 -204
  521. package/src/modules/utils-internal/jest/jest.ts +0 -58
  522. package/src/modules/utils-internal/options/options.ts +0 -39
  523. package/src/modules/utils-internal/prismjs/prismjs.html +0 -3
  524. package/src/modules/utils-internal/prismjs/prismjs.ts +0 -3321
  525. package/src/modules/utils-internal/recentSearches/__tests__/recentSearches.test.ts +0 -83
  526. package/src/modules/utils-internal/recentSearches/recentSearches.ts +0 -57
  527. package/src/modules/utils-internal/regexps/regexps.ts +0 -5
  528. package/src/modules/utils-internal/seo/seo.ts +0 -4
  529. package/src/modules/utils-internal/slot/slot.ts +0 -17
  530. package/src/modules/utils-internal/storybook/storybook.ts +0 -32
  531. package/src/modules/utils-internal/tests/tests.ts +0 -38
  532. package/src/modules/utils-internal/wordpress/__tests__/wordpress.test.ts +0 -15
  533. 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
- }