@salesforcedevs/arch-components 1.20.17-alpha1 → 1.20.17-alpha10

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 (362) hide show
  1. package/package.json +45 -2
  2. package/src/{modules/common → common}/context/context.ts +10 -10
  3. package/src/{modules/common → common}/effectAdapter/effectAdapter.ts +1 -1
  4. package/src/modules/sa/coverage/coverage.css +0 -35
  5. package/src/modules/sa/coverage/coverage.html +0 -15
  6. package/src/modules/sa/coverage/coverage.ts +0 -406
  7. package/src/modules/sa/coverage/types.d.ts +0 -26
  8. package/src/modules/sa/expandableSection/expandableSection.css +0 -24
  9. package/src/modules/sa/expandableSection/expandableSection.html +0 -20
  10. package/src/modules/sa/expandableSection/expandableSection.stories.ts +0 -37
  11. package/src/modules/sa/expandableSection/expandableSection.ts +0 -24
  12. package/src/modules/sa/explorer/explorer.css +0 -303
  13. package/src/modules/sa/explorer/explorer.html +0 -403
  14. package/src/modules/sa/explorer/explorer.ts +0 -664
  15. package/src/modules/sa/explorer/types.d.ts +0 -60
  16. package/src/modules/sa/gallery/gallery.css +0 -358
  17. package/src/modules/sa/gallery/gallery.html +0 -65
  18. package/src/modules/sa/gallery/gallery.ts +0 -300
  19. package/src/modules/sa/gallery/types.d.ts +0 -35
  20. package/src/modules/sa/socialShare/socialShare.css +0 -49
  21. package/src/modules/sa/socialShare/socialShare.html +0 -56
  22. package/src/modules/sa/socialShare/socialShare.ts +0 -29
  23. package/src/modules/shared/a11y/a11y.ts +0 -25
  24. package/src/modules/shared/children/children.ts +0 -29
  25. package/src/modules/shared/color/color.ts +0 -52
  26. package/src/modules/shared/debounce/debounce.ts +0 -32
  27. package/src/modules/shared/dialog/dialog.ts +0 -154
  28. package/src/modules/shared/elements/__tests__/overflow.test.ts +0 -39
  29. package/src/modules/shared/elements/overflow.ts +0 -71
  30. package/src/modules/shared/fetch/fetch.ts +0 -52
  31. package/src/modules/shared/helpers/helpers.ts +0 -141
  32. package/src/modules/shared/i18n/i18n.ts +0 -74
  33. package/src/modules/shared/labels/__tests__/helpers.test.ts +0 -107
  34. package/src/modules/shared/labels/__tests__/pointHelpers.test.ts +0 -33
  35. package/src/modules/shared/labels/__tests__/timeHelpers.test.ts +0 -89
  36. package/src/modules/shared/labels/helpers.ts +0 -23
  37. package/src/modules/shared/labels/pointHelpers.ts +0 -47
  38. package/src/modules/shared/labels/timeHelpers.ts +0 -182
  39. package/src/modules/shared/labels/types.d.ts +0 -5
  40. package/src/modules/shared/logger/logger.ts +0 -33
  41. package/src/modules/shared/menu/menu.ts +0 -239
  42. package/src/modules/shared/overflow/__tests__/overflow.test.ts +0 -39
  43. package/src/modules/shared/overflow/overflow.ts +0 -71
  44. package/src/modules/shared/polling-request.ts +0 -97
  45. package/src/modules/shared/testutils.ts +0 -118
  46. package/src/modules/shared/track/track.ts +0 -23
  47. package/src/modules/shared/trailhead.ts +0 -123
  48. package/src/modules/shared/types.d.ts +0 -1
  49. package/src/modules/shared/useEffectAttr.ts +0 -16
  50. package/src/modules/shared/withState.ts +0 -21
  51. package/src/modules/tds/appLauncher/__fixtures__/index.ts +0 -34
  52. package/src/modules/tds/appLauncher/__tests__/appLauncher.test.ts +0 -119
  53. package/src/modules/tds/appLauncher/appLauncher.css +0 -65
  54. package/src/modules/tds/appLauncher/appLauncher.html +0 -38
  55. package/src/modules/tds/appLauncher/appLauncher.stories.ts +0 -39
  56. package/src/modules/tds/appLauncher/appLauncher.ts +0 -79
  57. package/src/modules/tds/appLauncher/types.ts +0 -8
  58. package/src/modules/tds/avatar/__tests__/avatar.test.ts +0 -11
  59. package/src/modules/tds/avatar/avatar.css +0 -77
  60. package/src/modules/tds/avatar/avatar.html +0 -36
  61. package/src/modules/tds/avatar/avatar.stories.ts +0 -64
  62. package/src/modules/tds/avatar/avatar.ts +0 -50
  63. package/src/modules/tds/badge/__tests__/badge.test.js +0 -11
  64. package/src/modules/tds/badge/badge.css +0 -22
  65. package/src/modules/tds/badge/badge.html +0 -5
  66. package/src/modules/tds/badge/badge.stories.ts +0 -10
  67. package/src/modules/tds/badge/badge.ts +0 -9
  68. package/src/modules/tds/button/__tests__/button.test.ts +0 -52
  69. package/src/modules/tds/button/button.css +0 -1
  70. package/src/modules/tds/button/button.html +0 -20
  71. package/src/modules/tds/button/button.stories.js +0 -54
  72. package/src/modules/tds/button/button.ts +0 -59
  73. package/src/modules/tds/buttonIcon/__tests__/buttonIcon.test.ts +0 -17
  74. package/src/modules/tds/buttonIcon/buttonIcon.css +0 -1
  75. package/src/modules/tds/buttonIcon/buttonIcon.html +0 -12
  76. package/src/modules/tds/buttonIcon/buttonIcon.stories.js +0 -38
  77. package/src/modules/tds/buttonIcon/buttonIcon.ts +0 -6
  78. package/src/modules/tds/buttonIconLink/buttonIconLink.css +0 -1
  79. package/src/modules/tds/buttonIconLink/buttonIconLink.html +0 -14
  80. package/src/modules/tds/buttonIconLink/buttonIconLink.stories.ts +0 -32
  81. package/src/modules/tds/buttonIconLink/buttonIconLink.ts +0 -9
  82. package/src/modules/tds/buttonLink/__tests__/buttonLink.test.ts +0 -17
  83. package/src/modules/tds/buttonLink/buttonLink.css +0 -1
  84. package/src/modules/tds/buttonLink/buttonLink.html +0 -19
  85. package/src/modules/tds/buttonLink/buttonLink.stories.js +0 -24
  86. package/src/modules/tds/buttonLink/buttonLink.ts +0 -8
  87. package/src/modules/tds/buttonStyles/buttonStyles.css +0 -232
  88. package/src/modules/tds/childSummary/__tests__/childSummary.test.js +0 -99
  89. package/src/modules/tds/childSummary/childSummary.css +0 -74
  90. package/src/modules/tds/childSummary/childSummary.html +0 -38
  91. package/src/modules/tds/childSummary/childSummary.stories.ts +0 -40
  92. package/src/modules/tds/childSummary/childSummary.ts +0 -63
  93. package/src/modules/tds/childSummary/types.d.ts +0 -10
  94. package/src/modules/tds/contentChildListItem/__tests__/contentChildListItem.test.ts +0 -32
  95. package/src/modules/tds/contentChildListItem/contentChildListItem.css +0 -1
  96. package/src/modules/tds/contentChildListItem/contentChildListItem.html +0 -10
  97. package/src/modules/tds/contentChildListItem/contentChildListItem.stories.ts +0 -46
  98. package/src/modules/tds/contentChildListItem/contentChildListItem.ts +0 -34
  99. package/src/modules/tds/contentIcon/contentIcon.css +0 -47
  100. package/src/modules/tds/contentIcon/contentIcon.html +0 -15
  101. package/src/modules/tds/contentIcon/contentIcon.stories.js +0 -110
  102. package/src/modules/tds/contentIcon/contentIcon.ts +0 -66
  103. package/src/modules/tds/contextAdapter/__tests__/contextAdapter.test.ts +0 -76
  104. package/src/modules/tds/contextAdapter/constants.ts +0 -1
  105. package/src/modules/tds/contextAdapter/contextAdapter.html +0 -1
  106. package/src/modules/tds/contextAdapter/contextAdapter.ts +0 -54
  107. package/src/modules/tds/dialogStyles/dialogStyles.css +0 -90
  108. package/src/modules/tds/footerLinks/__tests__/__snapshots__/footerLinks.test.ts.snap +0 -3
  109. package/src/modules/tds/footerLinks/__tests__/footerLinks.test.ts +0 -142
  110. package/src/modules/tds/footerLinks/footerLinks.css +0 -80
  111. package/src/modules/tds/footerLinks/footerLinks.html +0 -30
  112. package/src/modules/tds/footerLinks/footerLinks.ts +0 -48
  113. package/src/modules/tds/footerLinks/types.ts +0 -11
  114. package/src/modules/tds/footerMfe/footerMfe.html +0 -3
  115. package/src/modules/tds/footerMfe/footerMfe.ts +0 -19
  116. package/src/modules/tds/headerAvatar/__tests__/headerAvatar.test.ts +0 -43
  117. package/src/modules/tds/headerAvatar/headerAvatar.css +0 -45
  118. package/src/modules/tds/headerAvatar/headerAvatar.html +0 -25
  119. package/src/modules/tds/headerAvatar/headerAvatar.ts +0 -15
  120. package/src/modules/tds/headerHelpButton/__tests__/headerHelpButton.test.ts +0 -32
  121. package/src/modules/tds/headerHelpButton/headerHelpButton.css +0 -14
  122. package/src/modules/tds/headerHelpButton/headerHelpButton.html +0 -19
  123. package/src/modules/tds/headerHelpButton/headerHelpButton.ts +0 -12
  124. package/src/modules/tds/heading/__tests__/heading.test.ts +0 -50
  125. package/src/modules/tds/heading/heading.css +0 -1
  126. package/src/modules/tds/heading/heading.html +0 -9
  127. package/src/modules/tds/heading/heading.stories.ts +0 -36
  128. package/src/modules/tds/heading/heading.ts +0 -36
  129. package/src/modules/tds/icon/icon.css +0 -28
  130. package/src/modules/tds/icon/icon.html +0 -17
  131. package/src/modules/tds/icon/icon.stories.js +0 -18
  132. package/src/modules/tds/icon/icon.ts +0 -79
  133. package/src/modules/tds/input/__tests__/input.test.ts +0 -41
  134. package/src/modules/tds/input/input.css +0 -34
  135. package/src/modules/tds/input/input.html +0 -12
  136. package/src/modules/tds/input/input.stories.ts +0 -25
  137. package/src/modules/tds/input/input.ts +0 -41
  138. package/src/modules/tds/instrumentation/instrumentation.css +0 -0
  139. package/src/modules/tds/instrumentation/instrumentation.html +0 -1
  140. package/src/modules/tds/instrumentation/instrumentation.ts +0 -113
  141. package/src/modules/tds/pbCard/pbCard.css +0 -28
  142. package/src/modules/tds/pbCard/pbCard.html +0 -21
  143. package/src/modules/tds/pbCard/pbCard.ts +0 -18
  144. package/src/modules/tds/pill/__tests__/pill.test.ts +0 -56
  145. package/src/modules/tds/pill/pill.css +0 -70
  146. package/src/modules/tds/pill/pill.html +0 -17
  147. package/src/modules/tds/pill/pill.stories.ts +0 -41
  148. package/src/modules/tds/pill/pill.ts +0 -34
  149. package/src/modules/tds/progressBar/__tests__/progressBar.test.js +0 -11
  150. package/src/modules/tds/progressBar/progressBar.css +0 -42
  151. package/src/modules/tds/progressBar/progressBar.html +0 -14
  152. package/src/modules/tds/progressBar/progressBar.stories.ts +0 -24
  153. package/src/modules/tds/progressBar/progressBar.ts +0 -14
  154. package/src/modules/tds/radio/__tests__/radio.test.ts +0 -29
  155. package/src/modules/tds/radio/radio.css +0 -89
  156. package/src/modules/tds/radio/radio.html +0 -17
  157. package/src/modules/tds/radio/radio.stories.ts +0 -31
  158. package/src/modules/tds/radio/radio.ts +0 -32
  159. package/src/modules/tds/reset/reset.css +0 -39
  160. package/src/modules/tds/search/__fixtures__/index.ts +0 -32
  161. package/src/modules/tds/search/__tests__/search.test.ts +0 -235
  162. package/src/modules/tds/search/lib/__tests__/__snapshots__/listbox.test.ts.snap +0 -115
  163. package/src/modules/tds/search/lib/__tests__/listbox.test.ts +0 -192
  164. package/src/modules/tds/search/lib/listbox.ts +0 -209
  165. package/src/modules/tds/search/search.css +0 -122
  166. package/src/modules/tds/search/search.html +0 -21
  167. package/src/modules/tds/search/search.stories.ts +0 -20
  168. package/src/modules/tds/search/search.ts +0 -107
  169. package/src/modules/tds/search/types.d.ts +0 -22
  170. package/src/modules/tds/searchList/searchList.css +0 -120
  171. package/src/modules/tds/searchList/searchList.html +0 -43
  172. package/src/modules/tds/searchList/searchList.stories.ts +0 -10
  173. package/src/modules/tds/searchList/searchList.ts +0 -53
  174. package/src/modules/tds/select/__tests__/select.test.ts +0 -150
  175. package/src/modules/tds/select/select.css +0 -42
  176. package/src/modules/tds/select/select.html +0 -24
  177. package/src/modules/tds/select/select.stories.ts +0 -59
  178. package/src/modules/tds/select/select.ts +0 -60
  179. package/src/modules/tds/spinner/__tests__/spinner.test.ts +0 -11
  180. package/src/modules/tds/spinner/spinner.css +0 -194
  181. package/src/modules/tds/spinner/spinner.html +0 -9
  182. package/src/modules/tds/spinner/spinner.stories.ts +0 -20
  183. package/src/modules/tds/spinner/spinner.ts +0 -15
  184. package/src/modules/tds/styles/styles.css +0 -24
  185. package/src/modules/tds/summary/__tests__/summary.test.ts +0 -135
  186. package/src/modules/tds/summary/summary.css +0 -135
  187. package/src/modules/tds/summary/summary.html +0 -69
  188. package/src/modules/tds/summary/summary.stories.js +0 -148
  189. package/src/modules/tds/summary/summary.ts +0 -95
  190. package/src/modules/tds/tab/__tests__/tab.test.ts +0 -25
  191. package/src/modules/tds/tab/tab.css +0 -3
  192. package/src/modules/tds/tab/tab.html +0 -5
  193. package/src/modules/tds/tab/tab.ts +0 -46
  194. package/src/modules/tds/tabset/__tests__/tabset.test.ts +0 -108
  195. package/src/modules/tds/tabset/tabset.css +0 -112
  196. package/src/modules/tds/tabset/tabset.html +0 -63
  197. package/src/modules/tds/tabset/tabset.stories.ts +0 -32
  198. package/src/modules/tds/tabset/tabset.ts +0 -232
  199. package/src/modules/tds/themeProvider/themeProvider.css +0 -502
  200. package/src/modules/tds/themeProvider/themeProvider.html +0 -3
  201. package/src/modules/tds/themeProvider/themeProvider.ts +0 -37
  202. package/src/modules/tds/tile/tile.css +0 -23
  203. package/src/modules/tds/tile/tile.html +0 -5
  204. package/src/modules/tds/tile/tile.stories.js +0 -14
  205. package/src/modules/tds/tile/tile.ts +0 -12
  206. package/src/modules/tds/xsfMfeEvents/xsfMfeEvents.html +0 -1
  207. package/src/modules/tds/xsfMfeEvents/xsfMfeEvents.ts +0 -47
  208. package/src/modules/th/contextAdapter/__tests__/contextAdapter.test.ts +0 -104
  209. package/src/modules/th/contextAdapter/contextAdapter.html +0 -1
  210. package/src/modules/th/contextAdapter/contextAdapter.ts +0 -49
  211. package/src/modules/th/favoriteButton/__tests__/favoriteButton.test.ts +0 -56
  212. package/src/modules/th/favoriteButton/favoriteButton.css +0 -3
  213. package/src/modules/th/favoriteButton/favoriteButton.html +0 -15
  214. package/src/modules/th/favoriteButton/favoriteButton.stories.js +0 -30
  215. package/src/modules/th/favoriteButton/favoriteButton.ts +0 -84
  216. package/src/modules/th/favoriteButton/mocks/index.ts +0 -12
  217. package/src/modules/th/search/__fixtures__/index.ts +0 -14
  218. package/src/modules/th/search/__tests__/search.test.ts +0 -233
  219. package/src/modules/th/search/constants.ts +0 -2
  220. package/src/modules/th/search/mocks/index.ts +0 -30
  221. package/src/modules/th/search/mocks/responses.ts +0 -54
  222. package/src/modules/th/search/search.css +0 -4
  223. package/src/modules/th/search/search.html +0 -12
  224. package/src/modules/th/search/search.ts +0 -172
  225. package/src/modules/th/search/types.d.ts +0 -29
  226. package/src/modules/th/tbid/__tests__/__snapshots__/tbid.test.ts.snap +0 -3
  227. package/src/modules/th/tbid/__tests__/tbid.test.ts +0 -242
  228. package/src/modules/th/tbid/tbid.html +0 -1
  229. package/src/modules/th/tbid/tbid.stories.mdx +0 -25
  230. package/src/modules/th/tbid/tbid.ts +0 -215
  231. package/src/modules/tm/card/__tests__/card.test.ts +0 -65
  232. package/src/modules/tm/card/card.css +0 -131
  233. package/src/modules/tm/card/card.html +0 -81
  234. package/src/modules/tm/card/card.ts +0 -269
  235. package/src/modules/tm/cardBase/cardBase.css +0 -11
  236. package/src/modules/tm/cardGridA/cardGridA.css +0 -11
  237. package/src/modules/tm/cardGridA/cardGridA.html +0 -21
  238. package/src/modules/tm/cardGridA/cardGridA.stories.js +0 -107
  239. package/src/modules/tm/cardGridA/cardGridA.ts +0 -24
  240. package/src/modules/tm/cardGridB/cardGridB.css +0 -88
  241. package/src/modules/tm/cardGridB/cardGridB.html +0 -20
  242. package/src/modules/tm/cardGridB/cardGridB.stories.js +0 -58
  243. package/src/modules/tm/cardGridB/cardGridB.ts +0 -19
  244. package/src/modules/tm/cardGridC/cardGridC.css +0 -24
  245. package/src/modules/tm/cardGridC/cardGridC.html +0 -22
  246. package/src/modules/tm/cardGridC/cardGridC.stories.js +0 -42
  247. package/src/modules/tm/cardGridC/cardGridC.ts +0 -11
  248. package/src/modules/tm/cardGridD/cardGridD.css +0 -17
  249. package/src/modules/tm/cardGridD/cardGridD.html +0 -20
  250. package/src/modules/tm/cardGridD/cardGridD.stories.js +0 -34
  251. package/src/modules/tm/cardGridD/cardGridD.ts +0 -7
  252. package/src/modules/tm/cardNew/cardNew.css +0 -31
  253. package/src/modules/tm/cardNew/cardNew.html +0 -29
  254. package/src/modules/tm/cardNew/cardNew.ts +0 -66
  255. package/src/modules/tm/content/__fixtures__/index.ts +0 -884
  256. package/src/modules/tm/content/__tests__/content.test.ts +0 -95
  257. package/src/modules/tm/content/content.css +0 -641
  258. package/src/modules/tm/content/content.html +0 -53
  259. package/src/modules/tm/content/content.stories.js +0 -14
  260. package/src/modules/tm/content/content.ts +0 -171
  261. package/src/modules/tm/endCapA/__tests__/endCapA.test.ts +0 -52
  262. package/src/modules/tm/endCapA/endCapA.css +0 -64
  263. package/src/modules/tm/endCapA/endCapA.html +0 -21
  264. package/src/modules/tm/endCapA/endCapA.stories.js +0 -37
  265. package/src/modules/tm/endCapA/endCapA.ts +0 -23
  266. package/src/modules/tm/eventsA/eventsA.css +0 -107
  267. package/src/modules/tm/eventsA/eventsA.html +0 -26
  268. package/src/modules/tm/eventsA/eventsA.stories.js +0 -51
  269. package/src/modules/tm/eventsA/eventsA.ts +0 -48
  270. package/src/modules/tm/faqA/faqA.css +0 -87
  271. package/src/modules/tm/faqA/faqA.html +0 -27
  272. package/src/modules/tm/faqA/faqA.stories.js +0 -25
  273. package/src/modules/tm/faqA/faqA.ts +0 -40
  274. package/src/modules/tm/featureGridA/__tests__/featureGridA.test.ts +0 -116
  275. package/src/modules/tm/featureGridA/featureGridA.css +0 -95
  276. package/src/modules/tm/featureGridA/featureGridA.html +0 -34
  277. package/src/modules/tm/featureGridA/featureGridA.stories.js +0 -45
  278. package/src/modules/tm/featureGridA/featureGridA.ts +0 -59
  279. package/src/modules/tm/footnote/footnote.css +0 -28
  280. package/src/modules/tm/footnote/footnote.html +0 -3
  281. package/src/modules/tm/footnote/footnote.stories.js +0 -29
  282. package/src/modules/tm/footnote/footnote.ts +0 -35
  283. package/src/modules/tm/heroA/__tests__/heroA.test.ts +0 -51
  284. package/src/modules/tm/heroA/heroA.css +0 -116
  285. package/src/modules/tm/heroA/heroA.html +0 -27
  286. package/src/modules/tm/heroA/heroA.stories.js +0 -49
  287. package/src/modules/tm/heroA/heroA.ts +0 -56
  288. package/src/modules/tm/heroB/heroB.css +0 -78
  289. package/src/modules/tm/heroB/heroB.html +0 -26
  290. package/src/modules/tm/heroB/heroB.stories.js +0 -44
  291. package/src/modules/tm/heroB/heroB.ts +0 -26
  292. package/src/modules/tm/page/__tests__/page.test.ts +0 -35
  293. package/src/modules/tm/page/page.css +0 -3
  294. package/src/modules/tm/page/page.html +0 -3
  295. package/src/modules/tm/page/page.stories.js +0 -10
  296. package/src/modules/tm/page/page.ts +0 -3
  297. package/src/modules/tm/pageHeaderA/pageHeaderA.css +0 -82
  298. package/src/modules/tm/pageHeaderA/pageHeaderA.html +0 -24
  299. package/src/modules/tm/pageHeaderA/pageHeaderA.stories.js +0 -18
  300. package/src/modules/tm/pageHeaderA/pageHeaderA.ts +0 -51
  301. package/src/modules/tm/pageNavigationA/pageNavigationA.css +0 -41
  302. package/src/modules/tm/pageNavigationA/pageNavigationA.html +0 -9
  303. package/src/modules/tm/pageNavigationA/pageNavigationA.stories.js +0 -34
  304. package/src/modules/tm/pageNavigationA/pageNavigationA.ts +0 -18
  305. package/src/modules/tm/promoA/__tests__/promoA.test.ts +0 -89
  306. package/src/modules/tm/promoA/promoA.css +0 -95
  307. package/src/modules/tm/promoA/promoA.html +0 -22
  308. package/src/modules/tm/promoA/promoA.stories.js +0 -38
  309. package/src/modules/tm/promoA/promoA.ts +0 -62
  310. package/src/modules/tm/sectionA/sectionA.css +0 -64
  311. package/src/modules/tm/sectionA/sectionA.html +0 -21
  312. package/src/modules/tm/sectionA/sectionA.stories.js +0 -18
  313. package/src/modules/tm/sectionA/sectionA.ts +0 -27
  314. package/src/modules/tm/sectionSpacer/sectionSpacer.css +0 -4
  315. package/src/modules/tm/sectionSpacer/sectionSpacer.html +0 -1
  316. package/src/modules/tm/sectionSpacer/sectionSpacer.ts +0 -3
  317. package/src/modules/tm/skillsCardA/skillsCardA.css +0 -73
  318. package/src/modules/tm/skillsCardA/skillsCardA.html +0 -37
  319. package/src/modules/tm/skillsCardA/skillsCardA.ts +0 -38
  320. package/src/modules/tm/skillsGridA/skillsGridA.css +0 -12
  321. package/src/modules/tm/skillsGridA/skillsGridA.html +0 -5
  322. package/src/modules/tm/skillsGridA/skillsGridA.stories.ts +0 -65
  323. package/src/modules/tm/skillsGridA/skillsGridA.ts +0 -3
  324. package/src/modules/tm/statsA/statsA.css +0 -26
  325. package/src/modules/tm/statsA/statsA.html +0 -10
  326. package/src/modules/tm/statsA/statsA.stories.js +0 -29
  327. package/src/modules/tm/statsA/statsA.ts +0 -20
  328. package/src/modules/tm/textItem/textItem.css +0 -53
  329. package/src/modules/tm/textItem/textItem.html +0 -18
  330. package/src/modules/tm/textItem/textItem.ts +0 -32
  331. package/src/modules/tm/textItemGridA/textItemGridA.css +0 -11
  332. package/src/modules/tm/textItemGridA/textItemGridA.html +0 -15
  333. package/src/modules/tm/textItemGridA/textItemGridA.stories.js +0 -67
  334. package/src/modules/tm/textItemGridA/textItemGridA.ts +0 -20
  335. package/src/modules/tm/threeCardGrid/threeCardGrid.css +0 -6
  336. package/src/modules/tm/threeCardGrid/threeCardGrid.html +0 -5
  337. package/src/modules/tm/threeCardGrid/threeCardGrid.ts +0 -3
  338. package/src/modules/tm/trailblazersA/trailblazersA.css +0 -70
  339. package/src/modules/tm/trailblazersA/trailblazersA.html +0 -42
  340. package/src/modules/tm/trailblazersA/trailblazersA.stories.js +0 -52
  341. package/src/modules/tm/trailblazersA/trailblazersA.ts +0 -43
  342. package/src/modules/tm/utils/utils.ts +0 -18
  343. package/src/modules/tm/youtube/youtube.css +0 -7
  344. package/src/modules/tm/youtube/youtube.html +0 -10
  345. package/src/modules/tm/youtube/youtube.stories.js +0 -15
  346. package/src/modules/tm/youtube/youtube.ts +0 -27
  347. package/src/modules/ui/focusTrap/focusTrap.html +0 -5
  348. package/src/modules/ui/focusTrap/focusTrap.ts +0 -104
  349. package/src/modules/ui/focusVisible/__tests__/focusVisible.test.ts +0 -95
  350. package/src/modules/ui/focusVisible/focusVisible.html +0 -3
  351. package/src/modules/ui/focusVisible/focusVisible.ts +0 -46
  352. /package/src/{modules/common → common}/context/context.html +0 -0
  353. /package/src/{modules/common → common}/effectAdapter/__tests__/effectAdapter.test.ts +0 -0
  354. /package/src/{modules/common → common}/effectAdapter/effectAdapter.html +0 -0
  355. /package/src/{modules/common → common}/reflectedElement/__tests__/modules/test/select/select.html +0 -0
  356. /package/src/{modules/common → common}/reflectedElement/__tests__/modules/test/select/select.ts +0 -0
  357. /package/src/{modules/common → common}/reflectedElement/__tests__/modules/test/selectTransform/selectTransform.html +0 -0
  358. /package/src/{modules/common → common}/reflectedElement/__tests__/modules/test/selectTransform/selectTransform.ts +0 -0
  359. /package/src/{modules/common → common}/reflectedElement/__tests__/reflectedElement.test.ts +0 -0
  360. /package/src/{modules/common → common}/reflectedElement/reflectedElement.ts +0 -0
  361. /package/src/{modules/common → common}/slot/__tests__/slot.test.ts +0 -0
  362. /package/src/{modules/common → common}/slot/slot.ts +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
- let 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
- let 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
- let 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
- let 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
- let 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
- }