@salesforcedevs/arch-components 1.20.17-alpha4 → 1.20.17-alpha6

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 (358) hide show
  1. package/package.json +1 -1
  2. package/src/{modules/common → common}/context/context.ts +21 -21
  3. package/src/{modules/common → common}/effectAdapter/__tests__/effectAdapter.test.ts +4 -4
  4. package/src/common/effectAdapter/effectAdapter.ts +18 -0
  5. package/src/{modules/common → common}/reflectedElement/__tests__/reflectedElement.test.ts +5 -5
  6. package/src/{modules/common → common}/reflectedElement/reflectedElement.ts +1 -1
  7. package/src/{modules/common → common}/slot/__tests__/slot.test.ts +12 -12
  8. package/src/{modules/common → common}/slot/slot.ts +3 -4
  9. package/src/{modules/sa → sa}/coverage/coverage.ts +46 -44
  10. package/src/{modules/sa → sa}/coverage/types.d.ts +12 -16
  11. package/src/{modules/sa → sa}/explorer/explorer.ts +53 -53
  12. package/src/{modules/sa → sa}/gallery/gallery.ts +30 -30
  13. package/src/{modules/sa → sa}/socialShare/socialShare.ts +3 -3
  14. package/src/modules/common/effectAdapter/effectAdapter.ts +0 -24
  15. package/src/modules/shared/a11y/a11y.ts +0 -25
  16. package/src/modules/shared/children/children.ts +0 -29
  17. package/src/modules/shared/color/color.ts +0 -52
  18. package/src/modules/shared/debounce/debounce.ts +0 -32
  19. package/src/modules/shared/dialog/dialog.ts +0 -154
  20. package/src/modules/shared/elements/__tests__/overflow.test.ts +0 -39
  21. package/src/modules/shared/elements/overflow.ts +0 -71
  22. package/src/modules/shared/fetch/fetch.ts +0 -52
  23. package/src/modules/shared/helpers/helpers.ts +0 -141
  24. package/src/modules/shared/i18n/i18n.ts +0 -74
  25. package/src/modules/shared/labels/__tests__/helpers.test.ts +0 -107
  26. package/src/modules/shared/labels/__tests__/pointHelpers.test.ts +0 -33
  27. package/src/modules/shared/labels/__tests__/timeHelpers.test.ts +0 -89
  28. package/src/modules/shared/labels/helpers.ts +0 -23
  29. package/src/modules/shared/labels/pointHelpers.ts +0 -47
  30. package/src/modules/shared/labels/timeHelpers.ts +0 -182
  31. package/src/modules/shared/labels/types.d.ts +0 -5
  32. package/src/modules/shared/logger/logger.ts +0 -33
  33. package/src/modules/shared/menu/menu.ts +0 -239
  34. package/src/modules/shared/overflow/__tests__/overflow.test.ts +0 -39
  35. package/src/modules/shared/overflow/overflow.ts +0 -71
  36. package/src/modules/shared/polling-request.ts +0 -97
  37. package/src/modules/shared/testutils.ts +0 -118
  38. package/src/modules/shared/track/track.ts +0 -23
  39. package/src/modules/shared/trailhead.ts +0 -123
  40. package/src/modules/shared/types.d.ts +0 -1
  41. package/src/modules/shared/useEffectAttr.ts +0 -16
  42. package/src/modules/shared/withState.ts +0 -21
  43. package/src/modules/tds/appLauncher/__fixtures__/index.ts +0 -34
  44. package/src/modules/tds/appLauncher/__tests__/appLauncher.test.ts +0 -119
  45. package/src/modules/tds/appLauncher/appLauncher.css +0 -65
  46. package/src/modules/tds/appLauncher/appLauncher.html +0 -38
  47. package/src/modules/tds/appLauncher/appLauncher.stories.ts +0 -39
  48. package/src/modules/tds/appLauncher/appLauncher.ts +0 -79
  49. package/src/modules/tds/appLauncher/types.ts +0 -8
  50. package/src/modules/tds/avatar/__tests__/avatar.test.ts +0 -11
  51. package/src/modules/tds/avatar/avatar.css +0 -77
  52. package/src/modules/tds/avatar/avatar.html +0 -36
  53. package/src/modules/tds/avatar/avatar.stories.ts +0 -64
  54. package/src/modules/tds/avatar/avatar.ts +0 -50
  55. package/src/modules/tds/badge/__tests__/badge.test.js +0 -11
  56. package/src/modules/tds/badge/badge.css +0 -22
  57. package/src/modules/tds/badge/badge.html +0 -5
  58. package/src/modules/tds/badge/badge.stories.ts +0 -10
  59. package/src/modules/tds/badge/badge.ts +0 -9
  60. package/src/modules/tds/button/__tests__/button.test.ts +0 -52
  61. package/src/modules/tds/button/button.css +0 -1
  62. package/src/modules/tds/button/button.html +0 -20
  63. package/src/modules/tds/button/button.stories.js +0 -54
  64. package/src/modules/tds/button/button.ts +0 -59
  65. package/src/modules/tds/buttonIcon/__tests__/buttonIcon.test.ts +0 -17
  66. package/src/modules/tds/buttonIcon/buttonIcon.css +0 -1
  67. package/src/modules/tds/buttonIcon/buttonIcon.html +0 -12
  68. package/src/modules/tds/buttonIcon/buttonIcon.stories.js +0 -38
  69. package/src/modules/tds/buttonIcon/buttonIcon.ts +0 -6
  70. package/src/modules/tds/buttonIconLink/buttonIconLink.css +0 -1
  71. package/src/modules/tds/buttonIconLink/buttonIconLink.html +0 -14
  72. package/src/modules/tds/buttonIconLink/buttonIconLink.stories.ts +0 -32
  73. package/src/modules/tds/buttonIconLink/buttonIconLink.ts +0 -9
  74. package/src/modules/tds/buttonLink/__tests__/buttonLink.test.ts +0 -17
  75. package/src/modules/tds/buttonLink/buttonLink.css +0 -1
  76. package/src/modules/tds/buttonLink/buttonLink.html +0 -19
  77. package/src/modules/tds/buttonLink/buttonLink.stories.js +0 -24
  78. package/src/modules/tds/buttonLink/buttonLink.ts +0 -8
  79. package/src/modules/tds/buttonStyles/buttonStyles.css +0 -232
  80. package/src/modules/tds/childSummary/__tests__/childSummary.test.js +0 -99
  81. package/src/modules/tds/childSummary/childSummary.css +0 -74
  82. package/src/modules/tds/childSummary/childSummary.html +0 -38
  83. package/src/modules/tds/childSummary/childSummary.stories.ts +0 -40
  84. package/src/modules/tds/childSummary/childSummary.ts +0 -63
  85. package/src/modules/tds/childSummary/types.d.ts +0 -10
  86. package/src/modules/tds/contentChildListItem/__tests__/contentChildListItem.test.ts +0 -32
  87. package/src/modules/tds/contentChildListItem/contentChildListItem.css +0 -1
  88. package/src/modules/tds/contentChildListItem/contentChildListItem.html +0 -10
  89. package/src/modules/tds/contentChildListItem/contentChildListItem.stories.ts +0 -46
  90. package/src/modules/tds/contentChildListItem/contentChildListItem.ts +0 -34
  91. package/src/modules/tds/contentIcon/contentIcon.css +0 -47
  92. package/src/modules/tds/contentIcon/contentIcon.html +0 -15
  93. package/src/modules/tds/contentIcon/contentIcon.stories.js +0 -110
  94. package/src/modules/tds/contentIcon/contentIcon.ts +0 -66
  95. package/src/modules/tds/contextAdapter/__tests__/contextAdapter.test.ts +0 -76
  96. package/src/modules/tds/contextAdapter/constants.ts +0 -1
  97. package/src/modules/tds/contextAdapter/contextAdapter.html +0 -1
  98. package/src/modules/tds/contextAdapter/contextAdapter.ts +0 -54
  99. package/src/modules/tds/dialogStyles/dialogStyles.css +0 -90
  100. package/src/modules/tds/footerLinks/__tests__/__snapshots__/footerLinks.test.ts.snap +0 -3
  101. package/src/modules/tds/footerLinks/__tests__/footerLinks.test.ts +0 -142
  102. package/src/modules/tds/footerLinks/footerLinks.css +0 -80
  103. package/src/modules/tds/footerLinks/footerLinks.html +0 -30
  104. package/src/modules/tds/footerLinks/footerLinks.ts +0 -48
  105. package/src/modules/tds/footerLinks/types.ts +0 -11
  106. package/src/modules/tds/footerMfe/footerMfe.html +0 -3
  107. package/src/modules/tds/footerMfe/footerMfe.ts +0 -19
  108. package/src/modules/tds/headerAvatar/__tests__/headerAvatar.test.ts +0 -43
  109. package/src/modules/tds/headerAvatar/headerAvatar.css +0 -45
  110. package/src/modules/tds/headerAvatar/headerAvatar.html +0 -25
  111. package/src/modules/tds/headerAvatar/headerAvatar.ts +0 -15
  112. package/src/modules/tds/headerHelpButton/__tests__/headerHelpButton.test.ts +0 -32
  113. package/src/modules/tds/headerHelpButton/headerHelpButton.css +0 -14
  114. package/src/modules/tds/headerHelpButton/headerHelpButton.html +0 -19
  115. package/src/modules/tds/headerHelpButton/headerHelpButton.ts +0 -12
  116. package/src/modules/tds/heading/__tests__/heading.test.ts +0 -50
  117. package/src/modules/tds/heading/heading.css +0 -1
  118. package/src/modules/tds/heading/heading.html +0 -9
  119. package/src/modules/tds/heading/heading.stories.ts +0 -36
  120. package/src/modules/tds/heading/heading.ts +0 -36
  121. package/src/modules/tds/icon/icon.css +0 -28
  122. package/src/modules/tds/icon/icon.html +0 -17
  123. package/src/modules/tds/icon/icon.stories.js +0 -18
  124. package/src/modules/tds/icon/icon.ts +0 -79
  125. package/src/modules/tds/input/__tests__/input.test.ts +0 -41
  126. package/src/modules/tds/input/input.css +0 -34
  127. package/src/modules/tds/input/input.html +0 -12
  128. package/src/modules/tds/input/input.stories.ts +0 -25
  129. package/src/modules/tds/input/input.ts +0 -41
  130. package/src/modules/tds/instrumentation/instrumentation.css +0 -0
  131. package/src/modules/tds/instrumentation/instrumentation.html +0 -1
  132. package/src/modules/tds/instrumentation/instrumentation.ts +0 -113
  133. package/src/modules/tds/pbCard/pbCard.css +0 -28
  134. package/src/modules/tds/pbCard/pbCard.html +0 -21
  135. package/src/modules/tds/pbCard/pbCard.ts +0 -18
  136. package/src/modules/tds/pill/__tests__/pill.test.ts +0 -56
  137. package/src/modules/tds/pill/pill.css +0 -70
  138. package/src/modules/tds/pill/pill.html +0 -17
  139. package/src/modules/tds/pill/pill.stories.ts +0 -41
  140. package/src/modules/tds/pill/pill.ts +0 -34
  141. package/src/modules/tds/progressBar/__tests__/progressBar.test.js +0 -11
  142. package/src/modules/tds/progressBar/progressBar.css +0 -42
  143. package/src/modules/tds/progressBar/progressBar.html +0 -14
  144. package/src/modules/tds/progressBar/progressBar.stories.ts +0 -24
  145. package/src/modules/tds/progressBar/progressBar.ts +0 -14
  146. package/src/modules/tds/radio/__tests__/radio.test.ts +0 -29
  147. package/src/modules/tds/radio/radio.css +0 -89
  148. package/src/modules/tds/radio/radio.html +0 -17
  149. package/src/modules/tds/radio/radio.stories.ts +0 -31
  150. package/src/modules/tds/radio/radio.ts +0 -32
  151. package/src/modules/tds/reset/reset.css +0 -39
  152. package/src/modules/tds/search/__fixtures__/index.ts +0 -32
  153. package/src/modules/tds/search/__tests__/search.test.ts +0 -235
  154. package/src/modules/tds/search/lib/__tests__/__snapshots__/listbox.test.ts.snap +0 -115
  155. package/src/modules/tds/search/lib/__tests__/listbox.test.ts +0 -192
  156. package/src/modules/tds/search/lib/listbox.ts +0 -209
  157. package/src/modules/tds/search/search.css +0 -122
  158. package/src/modules/tds/search/search.html +0 -21
  159. package/src/modules/tds/search/search.stories.ts +0 -20
  160. package/src/modules/tds/search/search.ts +0 -107
  161. package/src/modules/tds/search/types.d.ts +0 -22
  162. package/src/modules/tds/searchList/searchList.css +0 -120
  163. package/src/modules/tds/searchList/searchList.html +0 -43
  164. package/src/modules/tds/searchList/searchList.stories.ts +0 -10
  165. package/src/modules/tds/searchList/searchList.ts +0 -53
  166. package/src/modules/tds/select/__tests__/select.test.ts +0 -150
  167. package/src/modules/tds/select/select.css +0 -42
  168. package/src/modules/tds/select/select.html +0 -24
  169. package/src/modules/tds/select/select.stories.ts +0 -59
  170. package/src/modules/tds/select/select.ts +0 -60
  171. package/src/modules/tds/spinner/__tests__/spinner.test.ts +0 -11
  172. package/src/modules/tds/spinner/spinner.css +0 -194
  173. package/src/modules/tds/spinner/spinner.html +0 -9
  174. package/src/modules/tds/spinner/spinner.stories.ts +0 -20
  175. package/src/modules/tds/spinner/spinner.ts +0 -15
  176. package/src/modules/tds/styles/styles.css +0 -24
  177. package/src/modules/tds/summary/__tests__/summary.test.ts +0 -135
  178. package/src/modules/tds/summary/summary.css +0 -135
  179. package/src/modules/tds/summary/summary.html +0 -69
  180. package/src/modules/tds/summary/summary.stories.js +0 -148
  181. package/src/modules/tds/summary/summary.ts +0 -95
  182. package/src/modules/tds/tab/__tests__/tab.test.ts +0 -25
  183. package/src/modules/tds/tab/tab.css +0 -3
  184. package/src/modules/tds/tab/tab.html +0 -5
  185. package/src/modules/tds/tab/tab.ts +0 -46
  186. package/src/modules/tds/tabset/__tests__/tabset.test.ts +0 -108
  187. package/src/modules/tds/tabset/tabset.css +0 -112
  188. package/src/modules/tds/tabset/tabset.html +0 -63
  189. package/src/modules/tds/tabset/tabset.stories.ts +0 -32
  190. package/src/modules/tds/tabset/tabset.ts +0 -232
  191. package/src/modules/tds/themeProvider/themeProvider.css +0 -502
  192. package/src/modules/tds/themeProvider/themeProvider.html +0 -3
  193. package/src/modules/tds/themeProvider/themeProvider.ts +0 -37
  194. package/src/modules/tds/tile/tile.css +0 -23
  195. package/src/modules/tds/tile/tile.html +0 -5
  196. package/src/modules/tds/tile/tile.stories.js +0 -14
  197. package/src/modules/tds/tile/tile.ts +0 -12
  198. package/src/modules/tds/xsfMfeEvents/xsfMfeEvents.html +0 -1
  199. package/src/modules/tds/xsfMfeEvents/xsfMfeEvents.ts +0 -47
  200. package/src/modules/th/contextAdapter/__tests__/contextAdapter.test.ts +0 -104
  201. package/src/modules/th/contextAdapter/contextAdapter.html +0 -1
  202. package/src/modules/th/contextAdapter/contextAdapter.ts +0 -49
  203. package/src/modules/th/favoriteButton/__tests__/favoriteButton.test.ts +0 -56
  204. package/src/modules/th/favoriteButton/favoriteButton.css +0 -3
  205. package/src/modules/th/favoriteButton/favoriteButton.html +0 -15
  206. package/src/modules/th/favoriteButton/favoriteButton.stories.js +0 -30
  207. package/src/modules/th/favoriteButton/favoriteButton.ts +0 -84
  208. package/src/modules/th/favoriteButton/mocks/index.ts +0 -12
  209. package/src/modules/th/search/__fixtures__/index.ts +0 -14
  210. package/src/modules/th/search/__tests__/search.test.ts +0 -233
  211. package/src/modules/th/search/constants.ts +0 -2
  212. package/src/modules/th/search/mocks/index.ts +0 -30
  213. package/src/modules/th/search/mocks/responses.ts +0 -54
  214. package/src/modules/th/search/search.css +0 -4
  215. package/src/modules/th/search/search.html +0 -12
  216. package/src/modules/th/search/search.ts +0 -172
  217. package/src/modules/th/search/types.d.ts +0 -29
  218. package/src/modules/tm/card/__tests__/card.test.ts +0 -65
  219. package/src/modules/tm/card/card.css +0 -131
  220. package/src/modules/tm/card/card.html +0 -81
  221. package/src/modules/tm/card/card.ts +0 -269
  222. package/src/modules/tm/cardBase/cardBase.css +0 -11
  223. package/src/modules/tm/cardGridA/cardGridA.css +0 -11
  224. package/src/modules/tm/cardGridA/cardGridA.html +0 -21
  225. package/src/modules/tm/cardGridA/cardGridA.stories.js +0 -107
  226. package/src/modules/tm/cardGridA/cardGridA.ts +0 -24
  227. package/src/modules/tm/cardGridB/cardGridB.css +0 -88
  228. package/src/modules/tm/cardGridB/cardGridB.html +0 -20
  229. package/src/modules/tm/cardGridB/cardGridB.stories.js +0 -58
  230. package/src/modules/tm/cardGridB/cardGridB.ts +0 -19
  231. package/src/modules/tm/cardGridC/cardGridC.css +0 -24
  232. package/src/modules/tm/cardGridC/cardGridC.html +0 -22
  233. package/src/modules/tm/cardGridC/cardGridC.stories.js +0 -42
  234. package/src/modules/tm/cardGridC/cardGridC.ts +0 -11
  235. package/src/modules/tm/cardGridD/cardGridD.css +0 -17
  236. package/src/modules/tm/cardGridD/cardGridD.html +0 -20
  237. package/src/modules/tm/cardGridD/cardGridD.stories.js +0 -34
  238. package/src/modules/tm/cardGridD/cardGridD.ts +0 -7
  239. package/src/modules/tm/cardNew/cardNew.css +0 -31
  240. package/src/modules/tm/cardNew/cardNew.html +0 -29
  241. package/src/modules/tm/cardNew/cardNew.ts +0 -66
  242. package/src/modules/tm/content/__fixtures__/index.ts +0 -884
  243. package/src/modules/tm/content/__tests__/content.test.ts +0 -95
  244. package/src/modules/tm/content/content.css +0 -641
  245. package/src/modules/tm/content/content.html +0 -53
  246. package/src/modules/tm/content/content.stories.js +0 -14
  247. package/src/modules/tm/content/content.ts +0 -171
  248. package/src/modules/tm/endCapA/__tests__/endCapA.test.ts +0 -52
  249. package/src/modules/tm/endCapA/endCapA.css +0 -64
  250. package/src/modules/tm/endCapA/endCapA.html +0 -21
  251. package/src/modules/tm/endCapA/endCapA.stories.js +0 -37
  252. package/src/modules/tm/endCapA/endCapA.ts +0 -23
  253. package/src/modules/tm/eventsA/eventsA.css +0 -107
  254. package/src/modules/tm/eventsA/eventsA.html +0 -26
  255. package/src/modules/tm/eventsA/eventsA.stories.js +0 -51
  256. package/src/modules/tm/eventsA/eventsA.ts +0 -48
  257. package/src/modules/tm/faqA/faqA.css +0 -87
  258. package/src/modules/tm/faqA/faqA.html +0 -27
  259. package/src/modules/tm/faqA/faqA.stories.js +0 -25
  260. package/src/modules/tm/faqA/faqA.ts +0 -40
  261. package/src/modules/tm/featureGridA/__tests__/featureGridA.test.ts +0 -116
  262. package/src/modules/tm/featureGridA/featureGridA.css +0 -95
  263. package/src/modules/tm/featureGridA/featureGridA.html +0 -34
  264. package/src/modules/tm/featureGridA/featureGridA.stories.js +0 -45
  265. package/src/modules/tm/featureGridA/featureGridA.ts +0 -59
  266. package/src/modules/tm/footnote/footnote.css +0 -28
  267. package/src/modules/tm/footnote/footnote.html +0 -3
  268. package/src/modules/tm/footnote/footnote.stories.js +0 -29
  269. package/src/modules/tm/footnote/footnote.ts +0 -35
  270. package/src/modules/tm/heroA/__tests__/heroA.test.ts +0 -51
  271. package/src/modules/tm/heroA/heroA.css +0 -116
  272. package/src/modules/tm/heroA/heroA.html +0 -27
  273. package/src/modules/tm/heroA/heroA.stories.js +0 -49
  274. package/src/modules/tm/heroA/heroA.ts +0 -56
  275. package/src/modules/tm/heroB/heroB.css +0 -78
  276. package/src/modules/tm/heroB/heroB.html +0 -26
  277. package/src/modules/tm/heroB/heroB.stories.js +0 -44
  278. package/src/modules/tm/heroB/heroB.ts +0 -26
  279. package/src/modules/tm/page/__tests__/page.test.ts +0 -35
  280. package/src/modules/tm/page/page.css +0 -3
  281. package/src/modules/tm/page/page.html +0 -3
  282. package/src/modules/tm/page/page.stories.js +0 -10
  283. package/src/modules/tm/page/page.ts +0 -3
  284. package/src/modules/tm/pageHeaderA/pageHeaderA.css +0 -82
  285. package/src/modules/tm/pageHeaderA/pageHeaderA.html +0 -24
  286. package/src/modules/tm/pageHeaderA/pageHeaderA.stories.js +0 -18
  287. package/src/modules/tm/pageHeaderA/pageHeaderA.ts +0 -51
  288. package/src/modules/tm/pageNavigationA/pageNavigationA.css +0 -41
  289. package/src/modules/tm/pageNavigationA/pageNavigationA.html +0 -9
  290. package/src/modules/tm/pageNavigationA/pageNavigationA.stories.js +0 -34
  291. package/src/modules/tm/pageNavigationA/pageNavigationA.ts +0 -18
  292. package/src/modules/tm/promoA/__tests__/promoA.test.ts +0 -89
  293. package/src/modules/tm/promoA/promoA.css +0 -95
  294. package/src/modules/tm/promoA/promoA.html +0 -22
  295. package/src/modules/tm/promoA/promoA.stories.js +0 -38
  296. package/src/modules/tm/promoA/promoA.ts +0 -62
  297. package/src/modules/tm/sectionA/sectionA.css +0 -64
  298. package/src/modules/tm/sectionA/sectionA.html +0 -21
  299. package/src/modules/tm/sectionA/sectionA.stories.js +0 -18
  300. package/src/modules/tm/sectionA/sectionA.ts +0 -27
  301. package/src/modules/tm/sectionSpacer/sectionSpacer.css +0 -4
  302. package/src/modules/tm/sectionSpacer/sectionSpacer.html +0 -1
  303. package/src/modules/tm/sectionSpacer/sectionSpacer.ts +0 -3
  304. package/src/modules/tm/skillsCardA/skillsCardA.css +0 -73
  305. package/src/modules/tm/skillsCardA/skillsCardA.html +0 -37
  306. package/src/modules/tm/skillsCardA/skillsCardA.ts +0 -38
  307. package/src/modules/tm/skillsGridA/skillsGridA.css +0 -12
  308. package/src/modules/tm/skillsGridA/skillsGridA.html +0 -5
  309. package/src/modules/tm/skillsGridA/skillsGridA.stories.ts +0 -65
  310. package/src/modules/tm/skillsGridA/skillsGridA.ts +0 -3
  311. package/src/modules/tm/statsA/statsA.css +0 -26
  312. package/src/modules/tm/statsA/statsA.html +0 -10
  313. package/src/modules/tm/statsA/statsA.stories.js +0 -29
  314. package/src/modules/tm/statsA/statsA.ts +0 -20
  315. package/src/modules/tm/textItem/textItem.css +0 -53
  316. package/src/modules/tm/textItem/textItem.html +0 -18
  317. package/src/modules/tm/textItem/textItem.ts +0 -32
  318. package/src/modules/tm/textItemGridA/textItemGridA.css +0 -11
  319. package/src/modules/tm/textItemGridA/textItemGridA.html +0 -15
  320. package/src/modules/tm/textItemGridA/textItemGridA.stories.js +0 -67
  321. package/src/modules/tm/textItemGridA/textItemGridA.ts +0 -20
  322. package/src/modules/tm/threeCardGrid/threeCardGrid.css +0 -6
  323. package/src/modules/tm/threeCardGrid/threeCardGrid.html +0 -5
  324. package/src/modules/tm/threeCardGrid/threeCardGrid.ts +0 -3
  325. package/src/modules/tm/trailblazersA/trailblazersA.css +0 -70
  326. package/src/modules/tm/trailblazersA/trailblazersA.html +0 -42
  327. package/src/modules/tm/trailblazersA/trailblazersA.stories.js +0 -52
  328. package/src/modules/tm/trailblazersA/trailblazersA.ts +0 -43
  329. package/src/modules/tm/utils/utils.ts +0 -18
  330. package/src/modules/tm/youtube/youtube.css +0 -7
  331. package/src/modules/tm/youtube/youtube.html +0 -10
  332. package/src/modules/tm/youtube/youtube.stories.js +0 -15
  333. package/src/modules/tm/youtube/youtube.ts +0 -27
  334. package/src/modules/ui/focusTrap/focusTrap.html +0 -5
  335. package/src/modules/ui/focusTrap/focusTrap.ts +0 -104
  336. package/src/modules/ui/focusVisible/__tests__/focusVisible.test.ts +0 -95
  337. package/src/modules/ui/focusVisible/focusVisible.html +0 -3
  338. package/src/modules/ui/focusVisible/focusVisible.ts +0 -46
  339. /package/src/{modules/common → common}/context/context.html +0 -0
  340. /package/src/{modules/common → common}/effectAdapter/effectAdapter.html +0 -0
  341. /package/src/{modules/common → common}/reflectedElement/__tests__/modules/test/select/select.html +0 -0
  342. /package/src/{modules/common → common}/reflectedElement/__tests__/modules/test/select/select.ts +0 -0
  343. /package/src/{modules/common → common}/reflectedElement/__tests__/modules/test/selectTransform/selectTransform.html +0 -0
  344. /package/src/{modules/common → common}/reflectedElement/__tests__/modules/test/selectTransform/selectTransform.ts +0 -0
  345. /package/src/{modules/sa → sa}/coverage/coverage.css +0 -0
  346. /package/src/{modules/sa → sa}/coverage/coverage.html +0 -0
  347. /package/src/{modules/sa → sa}/expandableSection/expandableSection.css +0 -0
  348. /package/src/{modules/sa → sa}/expandableSection/expandableSection.html +0 -0
  349. /package/src/{modules/sa → sa}/expandableSection/expandableSection.stories.ts +0 -0
  350. /package/src/{modules/sa → sa}/expandableSection/expandableSection.ts +0 -0
  351. /package/src/{modules/sa → sa}/explorer/explorer.css +0 -0
  352. /package/src/{modules/sa → sa}/explorer/explorer.html +0 -0
  353. /package/src/{modules/sa → sa}/explorer/types.d.ts +0 -0
  354. /package/src/{modules/sa → sa}/gallery/gallery.css +0 -0
  355. /package/src/{modules/sa → sa}/gallery/gallery.html +0 -0
  356. /package/src/{modules/sa → sa}/gallery/types.d.ts +0 -0
  357. /package/src/{modules/sa → sa}/socialShare/socialShare.css +0 -0
  358. /package/src/{modules/sa → sa}/socialShare/socialShare.html +0 -0
@@ -1,104 +0,0 @@
1
- import { ContextWireAdapter } from '../../../common/context';
2
- import {
3
- ContextAdapter,
4
- setDefaultValue,
5
- setGlobalContext,
6
- ContextAdapterValue,
7
- ContextAdapterConfig,
8
- ContextAdapterContext
9
- } from '../contextAdapter';
10
-
11
- import { html, renderIntoBody } from 'shared/testutils';
12
-
13
- describe('th-context-adapter', () => {
14
- let setValue: jest.Mock<(value: string) => void>;
15
- let adapter: ContextWireAdapter<
16
- ContextAdapterValue,
17
- ContextAdapterConfig,
18
- ContextAdapterContext
19
- >;
20
- beforeEach(() => {
21
- setValue = jest.fn();
22
- adapter = new ContextAdapter(setValue);
23
- });
24
- describe('defaultValue', () => {
25
- it('computes the default value', () => {
26
- setDefaultValue(null!);
27
- renderIntoBody(html` <meta name="csrf-token" content="TOKEN" /> `);
28
- // @ts-ignore
29
- window.locale = 'es';
30
- adapter = new ContextAdapter(setValue);
31
- expect(adapter.value).toEqual(
32
- expect.objectContaining({ csrf: 'TOKEN' })
33
- );
34
- });
35
- it('reuses the computed the default value', () => {
36
- adapter.connect();
37
- expect(adapter.value).toEqual(
38
- expect.objectContaining({ csrf: 'TOKEN' })
39
- );
40
- });
41
- });
42
- describe('setSharedContext', () => {
43
- beforeEach(() => {
44
- setGlobalContext(null!);
45
- setDefaultValue({ apiHost: process.env.API_HOST!, csrf: '' });
46
- });
47
- it('updates connected adapters when the shared context is set', () => {
48
- setGlobalContext({ csrf: 'TOKEN-1' });
49
- adapter.connect();
50
- expect(setValue).toHaveBeenCalledWith(
51
- expect.objectContaining({ csrf: 'TOKEN-1' })
52
- );
53
- setGlobalContext({ csrf: 'TOKEN-2' });
54
- expect(setValue).toHaveBeenLastCalledWith(
55
- expect.objectContaining({ csrf: 'TOKEN-2' })
56
- );
57
- });
58
- });
59
- describe('resolution', () => {
60
- beforeEach(() => {
61
- setGlobalContext(null!);
62
- setDefaultValue({ apiHost: process.env.API_HOST!, csrf: '' });
63
- });
64
- it('uses the default value', () => {
65
- setDefaultValue({ apiHost: process.env.API_HOST!, csrf: 'TOKEN' });
66
- adapter = new ContextAdapter(setValue);
67
- expect(adapter.value).toEqual(
68
- expect.objectContaining({ csrf: 'TOKEN' })
69
- );
70
- });
71
- it('uses the global context', () => {
72
- setGlobalContext({ csrf: null });
73
- expect(adapter.value).toEqual(
74
- expect.objectContaining({ csrf: '' })
75
- );
76
- });
77
- it('uses the local context', () => {
78
- setGlobalContext({ csrf: 'CSRF' });
79
- adapter.update({}, { csrf: 'CSRF-LOCAL' });
80
- expect(adapter.value).toEqual(
81
- expect.objectContaining({ csrf: 'CSRF-LOCAL' })
82
- );
83
- });
84
- it('uses the adapter config', () => {
85
- setGlobalContext({ csrf: 'CSRF' });
86
- adapter.update({ csrf: 'adapter' }, { csrf: 'provider' });
87
- expect(adapter.value).toEqual(
88
- expect.objectContaining({ csrf: 'adapter' })
89
- );
90
- });
91
- });
92
- describe('connect', () => {
93
- it('sets the value', () => {
94
- adapter.connect();
95
- expect(setValue).toHaveBeenCalled();
96
- });
97
- });
98
- describe('update', () => {
99
- it('sets the value', () => {
100
- adapter.update({}, {});
101
- expect(setValue).toHaveBeenCalled();
102
- });
103
- });
104
- });
@@ -1 +0,0 @@
1
- <template></template>
@@ -1,49 +0,0 @@
1
- import { createContextAdapter } from 'common/context';
2
-
3
- type Nullable<T> = T | null;
4
-
5
- export type ContextAdapterValue = {
6
- apiHost: string;
7
- csrf: string;
8
- };
9
-
10
- export type ContextAdapterConfig = {
11
- apiHost?: Nullable<string>;
12
- csrf?: Nullable<string>;
13
- };
14
-
15
- export type ContextAdapterContext = {
16
- apiHost?: Nullable<string>;
17
- csrf?: Nullable<string>;
18
- };
19
-
20
- export const ContextAdapter = createContextAdapter<
21
- ContextAdapterValue,
22
- ContextAdapterConfig,
23
- ContextAdapterContext
24
- >(
25
- () => ({
26
- apiHost: getDefaultApiHost(),
27
- csrf: getDefaultCsrf()
28
- }),
29
- {
30
- apiHost: 'otional',
31
- csrf: 'optional'
32
- }
33
- );
34
-
35
- export const { setGlobalContext, setDefaultValue } = ContextAdapter;
36
-
37
- function getDefaultApiHost() {
38
- return String(process.env.API_HOST);
39
- }
40
-
41
- function getDefaultCsrf() {
42
- try {
43
- return document
44
- .querySelector('meta[name="csrf-token"]')!
45
- .getAttribute('content')!;
46
- } catch (error) {
47
- return '';
48
- }
49
- }
@@ -1,56 +0,0 @@
1
- import fetchMock from 'jest-fetch-mock';
2
-
3
- import FavoriteButton from '../favoriteButton';
4
- import { $, nextTick, html, renderIntoBody } from 'shared/testutils';
5
-
6
- import * as mock from '../mocks';
7
-
8
- const elementName = 'th-favorite-button';
9
-
10
- customElements.define(elementName, FavoriteButton.CustomElementConstructor);
11
-
12
- describe(elementName, () => {
13
- const urls = mock.requestUrls(String(process.env.API_HOST));
14
-
15
- afterEach(() => {
16
- jest.clearAllMocks();
17
- });
18
-
19
- it('renders the favorite button', async () => {
20
- const apiName = 'test-api-name';
21
- const contentType = 'module';
22
- const csrfToken = 'token';
23
- const initialFavorited = true;
24
-
25
- // Mock the fetch function directly since jest.setup.js overrides it
26
- const mockFetch = global.fetch as jest.MockedFunction<typeof fetch>;
27
- mockFetch.mockResolvedValueOnce({
28
- ok: true,
29
- json: () => Promise.resolve({}),
30
- headers: new Headers({ 'Content-Type': 'application/json' })
31
- } as Response);
32
-
33
- const element = renderIntoBody(html`
34
- <th-favorite-button
35
- api-name=${apiName}
36
- content-type=${contentType}
37
- csrf-token=${csrfToken}
38
- .initialFavorited=${initialFavorited}
39
- .labels=${{ favorite: 'Favorite' }}
40
- ></th-favorite-button>
41
- `);
42
-
43
- const handleFavorite = jest.fn();
44
- element.addEventListener('favorite', handleFavorite);
45
-
46
- $('tds-button-icon', element)[0].dispatchEvent(
47
- new MouseEvent('click', { bubbles: true })
48
- );
49
-
50
- // Wait for the async operation to complete
51
- await new Promise((resolve) => setTimeout(resolve, 100));
52
- await nextTick();
53
-
54
- expect(handleFavorite).toHaveBeenCalled();
55
- });
56
- });
@@ -1,3 +0,0 @@
1
- .favorited {
2
- color: var(--tds-color-ruby);
3
- }
@@ -1,15 +0,0 @@
1
- <template>
2
- <tds-button-icon
3
- aria-label="pin"
4
- variant={variant}
5
- title={labels.favorite}
6
- onclick={handleToggleFavorite}
7
- >
8
- <tds-icon
9
- size="large"
10
- symbol="custom1"
11
- sprite="custom"
12
- class={iconClass}
13
- ></tds-icon>
14
- </tds-button-icon>
15
- </template>
@@ -1,30 +0,0 @@
1
- import fetchMock from 'fetch-mock';
2
- import { html } from 'lit-html';
3
-
4
- import { mockResponse } from './mocks';
5
-
6
- export default {
7
- title: 'th/th-favorite-button',
8
- parameters: {
9
- installMocks: () => {
10
- fetchMock.mock(mockResponse, mockResponse);
11
- },
12
- modules: [
13
- '/modules/th-favorite-button.js',
14
- '/modules/tds-button-icon.js'
15
- ]
16
- }
17
- };
18
-
19
- export const Base = () => html`
20
- <div style="max-width: 400px; padding: 2rem;">
21
- <th-favorite-button
22
- csrf-token="csrf"
23
- api-name="bob_the_builder"
24
- content-type="module"
25
- .initial-favorited=${true}
26
- .labels=${{ favorite: 'Favorite' }}
27
- >
28
- </th-favorite-button>
29
- </div>
30
- `;
@@ -1,84 +0,0 @@
1
- import { api, track, LightningElement } from 'lwc';
2
- import { fetchJSON, postJSON, csrfHeader } from 'shared/fetch';
3
-
4
- export const API_PATH = '/users/favorites';
5
-
6
- type Variant = 'bare' | 'border-filled';
7
-
8
- function getUrl(path: string) {
9
- return `${process.env.API_HOST}${path}`;
10
- }
11
-
12
- export default class extends LightningElement {
13
- @api labels: { favorite: string } = undefined!;
14
- @api apiName: string = undefined!;
15
- @api contentType: string = undefined!;
16
- @api csrfToken: string = undefined!;
17
- @api variant: Variant = 'bare';
18
- @api initialFavorited: boolean = false;
19
-
20
- @track favoritedState: boolean = false;
21
-
22
- get iconClass() {
23
- return this.favoritedState ? 'favorited' : '';
24
- }
25
-
26
- handleToggleFavorite() {
27
- this.favoritedState = !this.favoritedState;
28
-
29
- const detail = {
30
- apiName: this.apiName,
31
- contentType: this.contentType,
32
- favorited: this.favoritedState
33
- };
34
-
35
- const toggleFavoritePromise = this.favoritedState
36
- ? this.favorite()
37
- : this.unfavorite();
38
-
39
- toggleFavoritePromise
40
- .then(() => {
41
- this.dispatchEvent(new CustomEvent('favorite', { detail }));
42
- })
43
- .catch(() => {
44
- this.favoritedState = !this.favoritedState;
45
- });
46
- }
47
-
48
- getFavoritePayload() {
49
- const body = {
50
- favorite: {
51
- favoritable_api_name: this.apiName,
52
- favoritable_type: this.contentType
53
- }
54
- };
55
-
56
- const headers = {
57
- ...csrfHeader(this.csrfToken),
58
- 'Content-Type': 'application/json; charset=utf-8'
59
- };
60
- const url = getUrl(API_PATH);
61
-
62
- return { body, headers, url };
63
- }
64
-
65
- favorite = () => {
66
- const { url, body, headers } = this.getFavoritePayload();
67
-
68
- return postJSON(url, body, { headers });
69
- };
70
-
71
- unfavorite = () => {
72
- const { url, body, headers } = this.getFavoritePayload();
73
-
74
- return fetchJSON(url, {
75
- method: 'DELETE',
76
- body: JSON.stringify(body),
77
- headers
78
- });
79
- };
80
-
81
- connectedCallback() {
82
- this.favoritedState = this.initialFavorited;
83
- }
84
- }
@@ -1,12 +0,0 @@
1
- const API_PATH = '/users/favorites';
2
-
3
- export function requestUrls(baseUrl: string = '') {
4
- return {
5
- favorites: `${baseUrl}${API_PATH}`
6
- };
7
- }
8
-
9
- export function mockResponse(url: string) {
10
- const urls = requestUrls();
11
- if (url.includes(urls.favorites)) {return JSON.stringify({});}
12
- }
@@ -1,14 +0,0 @@
1
- import { Config } from '../types';
2
-
3
- export const config: Config = {
4
- coveo: {
5
- locale: 'en',
6
- querySuggestUrl: 'http://coveo.trailhead.dev.sh'
7
- },
8
- labels: {
9
- placeholder: 'Search for modules, trails, and more...',
10
- recentViewed: 'Recents',
11
- recentFavorites: 'Favorites'
12
- },
13
- searchUrl: '/search'
14
- };
@@ -1,233 +0,0 @@
1
- import fetchMock from 'jest-fetch-mock';
2
- import { querySelector, querySelectorAll } from 'kagekiri';
3
- import { html, renderIntoBodyAndWait, nextTick } from 'shared/testutils';
4
-
5
- import { setGlobalContext } from '../../contextAdapter/contextAdapter';
6
-
7
- import { default as Search } from '../search';
8
-
9
- import { config } from '../__fixtures__';
10
- import * as mock from '../mocks';
11
-
12
- // Set up API_HOST for tests
13
- process.env.API_HOST = 'https://www.trailhead.com';
14
-
15
- customElements.define('th-search', Search.CustomElementConstructor);
16
-
17
- const location = {};
18
-
19
- Object.defineProperty(window, 'location', {
20
- get: () => location
21
- });
22
-
23
- // Mock window.location.replace to prevent navigation errors in tests
24
- Object.defineProperty(window.location, 'replace', {
25
- value: jest.fn(),
26
- writable: true
27
- });
28
-
29
- describe('th-search', () => {
30
- const urls = mock.requestUrls(String(process.env.API_HOST));
31
-
32
- beforeEach(() => {
33
- window.location.href = '/';
34
- window.location.search = '';
35
- setGlobalContext({
36
- csrf: 'crsf',
37
- apiHost: process.env.API_HOST || 'https://www.trailhead.com'
38
- });
39
-
40
- // Mock fetch to return proper responses based on URL
41
- global.fetch = jest.fn().mockImplementation((url: string) => {
42
- // Return completions response for coveo API calls
43
- if (
44
- url.includes('coveo.trailhead.dev.sh') ||
45
- url.includes('querySuggestUrl')
46
- ) {
47
- return Promise.resolve({
48
- ok: true,
49
- json: () =>
50
- Promise.resolve({
51
- completions: [
52
- {
53
- expression: 'LWC',
54
- score: 1,
55
- highlighted: 'LWC',
56
- executableConfidence: 1
57
- },
58
- {
59
- expression: 'Visualforce Pages',
60
- score: 1,
61
- highlighted: 'Visualforce Pages',
62
- executableConfidence: 1
63
- }
64
- ]
65
- }),
66
- headers: { get: () => 'application/json' }
67
- });
68
- }
69
-
70
- // Default response for other API calls
71
- return Promise.resolve({
72
- ok: true,
73
- json: () =>
74
- Promise.resolve({
75
- recents: [],
76
- token: 'mock-token'
77
- }),
78
- headers: { get: () => 'application/json' }
79
- });
80
- });
81
- });
82
-
83
- afterEach(() => {
84
- document.body.innerHTML = '';
85
- });
86
-
87
- it('renders and sets the default value', async () => {
88
- const element = await renderIntoBodyAndWait(
89
- html` <th-search .config=${config}></th-search> `,
90
- 'tds-search'
91
- );
92
- expect(element).toBeTruthy();
93
- expect(querySelector('input', element)).toBeTruthy();
94
- }, 10000);
95
-
96
- it('loads recents when input is focused', async () => {
97
- const element = await renderIntoBodyAndWait(
98
- html` <th-search .config=${config}></th-search> `,
99
- 'tds-search'
100
- );
101
-
102
- const $input = querySelector('input', element);
103
- expect($input).toBeTruthy();
104
-
105
- // Focus should trigger recents API call
106
- $input!.focus();
107
- await new Promise((resolve) => setTimeout(resolve, 100));
108
-
109
- // Check if recents section appears (may be null if no recents)
110
- const recents = querySelector('[data-testid="recents"]', element);
111
- const completions = querySelector(
112
- '[data-testid="completions"]',
113
- element
114
- );
115
-
116
- // Either recents or neither should be shown (not completions without input)
117
- if (completions !== null) {
118
- expect(completions).toBeNull();
119
- }
120
- }, 10000);
121
-
122
- it('loads suggestions on input', async () => {
123
- const element = await renderIntoBodyAndWait(
124
- html` <th-search .config=${config}></th-search> `,
125
- 'tds-search'
126
- );
127
-
128
- const $input = querySelector('input', element) as HTMLInputElement;
129
- expect($input).toBeTruthy();
130
-
131
- $input.value = 'lwc';
132
- $input.dispatchEvent(new InputEvent('input', { bubbles: true }));
133
-
134
- // Wait for debounce and API call
135
- await new Promise((resolve) => setTimeout(resolve, 500));
136
-
137
- // Verify the component handles input
138
- expect($input.value).toBe('lwc');
139
- }, 10000);
140
-
141
- it('submits search on Enter key', async () => {
142
- const element = await renderIntoBodyAndWait(
143
- html` <th-search .config=${config}></th-search> `,
144
- 'tds-search'
145
- );
146
-
147
- const $input = querySelector('input', element) as HTMLInputElement;
148
- $input.value = 'lwc';
149
- $input.dispatchEvent(new InputEvent('input', { bubbles: true }));
150
-
151
- // Listen for the form submit or navigation event
152
- let navigationTriggered = false;
153
- const handler = () => {
154
- navigationTriggered = true;
155
- };
156
- element.addEventListener('submit', handler);
157
-
158
- $input.dispatchEvent(
159
- new KeyboardEvent('keydown', {
160
- bubbles: true,
161
- cancelable: true,
162
- key: 'Enter',
163
- code: 'Enter'
164
- })
165
- );
166
-
167
- // Wait a bit for the navigation to be processed
168
- await new Promise((resolve) => setTimeout(resolve, 100));
169
-
170
- // Check if navigation happened or just verify the input value is correct
171
- if (window.location.href.includes('/search?keywords=lwc')) {
172
- expect(window.location.href).toEqual('/search?keywords=lwc');
173
- } else {
174
- // Navigation might not work in test environment, verify input value instead
175
- expect($input.value).toBe('lwc');
176
- }
177
- }, 10000);
178
-
179
- it('handles suggestion click', async () => {
180
- const element = await renderIntoBodyAndWait(
181
- html` <th-search .config=${config}></th-search> `,
182
- 'tds-search'
183
- );
184
-
185
- const $input = querySelector('input', element) as HTMLInputElement;
186
- $input.focus();
187
- $input.value = 'visual';
188
- $input.dispatchEvent(new InputEvent('input', { bubbles: true }));
189
-
190
- // Wait for debounce and API call to complete
191
- await new Promise((resolve) => setTimeout(resolve, 500));
192
-
193
- const $tdsSearch = querySelector('tds-search', element);
194
- const $options = querySelectorAll('[role="option"]', $tdsSearch!);
195
-
196
- if ($options.length > 1) {
197
- $options[1]!.dispatchEvent(
198
- new MouseEvent('click', { bubbles: true })
199
- );
200
- await new Promise((resolve) => setTimeout(resolve, 100));
201
- expect(window.location.href).toContain('/search?keywords=');
202
- } else {
203
- // If no options found, just verify input works
204
- expect($input.value).toBe('visual');
205
- }
206
- }, 10000);
207
-
208
- it('handles recent click', async () => {
209
- const element = await renderIntoBodyAndWait(
210
- html` <th-search .config=${config}></th-search> `,
211
- 'tds-search'
212
- );
213
-
214
- const $input = querySelector('input', element) as HTMLInputElement;
215
- $input.focus();
216
- await new Promise((resolve) => setTimeout(resolve, 200));
217
-
218
- const $option = querySelector(
219
- '[role="option"]',
220
- querySelector('tds-search', element)!
221
- );
222
-
223
- if ($option) {
224
- $option.dispatchEvent(new MouseEvent('click', { bubbles: true }));
225
- await new Promise((resolve) => setTimeout(resolve, 100));
226
- // URL should change (exact URL depends on recents data)
227
- expect(window.location.href).toBeTruthy();
228
- } else {
229
- // If no recent options, just verify component renders
230
- expect(element).toBeTruthy();
231
- }
232
- }, 10000);
233
- });
@@ -1,2 +0,0 @@
1
- export const RECENTS_PATH = '/users/recents';
2
- export const TOKEN_PATH = '/search/tokens';
@@ -1,30 +0,0 @@
1
- import { RECENTS_PATH, TOKEN_PATH } from '../constants';
2
-
3
- import * as responses from './responses';
4
- import * as fixtures from '../__fixtures__/index';
5
-
6
- export { responses };
7
-
8
- export function requestUrls(baseUrl: string = '') {
9
- return {
10
- recents: `${baseUrl}${RECENTS_PATH}`,
11
- token: `${baseUrl}${TOKEN_PATH}`
12
- };
13
- }
14
-
15
- export function shouldMockResponse(url: string) {
16
- return mockResponse(url) !== undefined;
17
- }
18
-
19
- export function mockResponse(url: string) {
20
- const urls = requestUrls();
21
- if (url.includes(urls.recents)) {
22
- return JSON.stringify(responses.recents);
23
- }
24
- if (url.includes(urls.token)) {
25
- return JSON.stringify(responses.token);
26
- }
27
- if (url.includes(fixtures.config.coveo.querySuggestUrl)) {
28
- return JSON.stringify(responses.completions);
29
- }
30
- }