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

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