@salesforcedevs/dx-components 0.26.2 → 0.26.3-alpha.1

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 (261) hide show
  1. package/lwc.config.json +2 -1
  2. package/package.json +2 -7
  3. package/src/modules/{utils-internal → base-elements}/archiveCard/archiveCard.ts +0 -0
  4. package/src/modules/{utils-internal → base-elements}/headerBase/headerBase.ts +0 -0
  5. package/src/modules/dx/cardBlogPostProvider/cardBlogPostProvider.ts +1 -1
  6. package/src/modules/dx/cardCallout/cardCallout.ts +1 -1
  7. package/src/modules/dx/cardContent/cardContent.ts +2 -2
  8. package/src/modules/dx/cardDocs/cardDocs.ts +1 -1
  9. package/src/modules/dx/cardExpanded/cardExpanded.ts +1 -1
  10. package/src/modules/dx/cardMinimal/cardMinimal.ts +1 -1
  11. package/src/modules/dx/cardNews/cardNews.ts +1 -1
  12. package/src/modules/dx/cardPodcastEpisodeProvider/cardPodcastEpisodeProvider.ts +1 -1
  13. package/src/modules/dx/cardSmall/cardSmall.ts +1 -1
  14. package/src/modules/dx/codeBlock/codeBlock.ts +1 -1
  15. package/src/modules/dx/dropdown/dropdown.ts +1 -1
  16. package/src/modules/dx/featuredContentHeader/featuredContentHeader.ts +1 -1
  17. package/src/modules/dx/groupText/groupText.ts +1 -1
  18. package/src/modules/dx/header/header.ts +1 -1
  19. package/src/modules/dx/headerMobileNavMenu/headerMobileNavMenu.ts +1 -1
  20. package/src/modules/dx/headerSearch/headerSearch.ts +1 -1
  21. package/src/modules/dx/icon/icon.ts +1 -1
  22. package/src/modules/dx/iconBadge/iconBadge.ts +1 -1
  23. package/src/modules/dx/input/input.ts +1 -1
  24. package/src/modules/dx/modalDrawer/modalDrawer.css +40 -0
  25. package/src/modules/dx/modalDrawer/modalDrawer.html +11 -0
  26. package/src/modules/dx/modalDrawer/modalDrawer.ts +27 -0
  27. package/src/modules/dx/newsletterForm/newsletterForm.html +3 -3
  28. package/src/modules/dx/popover/popover.ts +1 -1
  29. package/src/modules/dx/section/section.ts +1 -1
  30. package/src/modules/dx/sidebar/sidebar.ts +1 -1
  31. package/src/modules/dx/sidebarOld/sidebarOld.html +1 -1
  32. package/src/modules/dx/sidebarOld/sidebarOld.ts +22 -7
  33. package/src/modules/dx/sidebarSearch/sidebarSearch.ts +41 -25
  34. package/src/modules/dx/slackCta/slackCta.css +1 -1
  35. package/src/modules/dx/tooltip/microtip.css +1 -0
  36. package/src/modules/dx/tooltip/tooltip.css +1 -0
  37. package/src/modules/dx/typeBadge/typeBadge.ts +1 -1
  38. package/src/modules/{utils-internal → utils}/coveo/coveo.ts +0 -0
  39. package/src/modules/{utils-internal → utils}/css/css.ts +0 -0
  40. package/src/modules/{utils-internal → utils}/devices/devices.ts +0 -0
  41. package/src/modules/utils/highlight/highlight.ts +28 -15
  42. package/src/modules/{utils-internal → utils}/options/options.ts +0 -0
  43. package/src/modules/{utils-internal → utils}/prismjs/prismjs.html +0 -0
  44. package/src/modules/{utils-internal → utils}/prismjs/prismjs.ts +0 -0
  45. package/src/modules/{utils-internal → utils}/recentSearches/recentSearches.ts +0 -0
  46. package/src/modules/utils/regexps/regexps.ts +12 -0
  47. package/src/modules/{utils-internal → utils}/seo/seo.ts +0 -0
  48. package/src/modules/{utils-internal → utils}/slot/slot.ts +0 -0
  49. package/src/modules/{utils-internal → utils}/wordpress/wordpress.ts +0 -0
  50. package/LICENSE +0 -12
  51. package/src/modules/dx/banner/__tests__/banner.test.ts +0 -33
  52. package/src/modules/dx/brandThemeProvider/__tests__/brandThemeProvider.test.ts +0 -49
  53. package/src/modules/dx/brandThemeProvider/brandThemeProvider.stories.ts +0 -321
  54. package/src/modules/dx/breadcrumbs/__tests__/breadcrumbs.test.ts +0 -140
  55. package/src/modules/dx/breadcrumbs/__tests__/mockProps.ts +0 -28
  56. package/src/modules/dx/breadcrumbs/breadcrumbs.stories.ts +0 -39
  57. package/src/modules/dx/button/__tests__/button.test.ts +0 -107
  58. package/src/modules/dx/button/button.stories.ts +0 -150
  59. package/src/modules/dx/cardBlogPost/__tests__/cardBlogPost.test.ts +0 -26
  60. package/src/modules/dx/cardBlogPost/__tests__/mockProps.ts +0 -12
  61. package/src/modules/dx/cardBlogPost/cardBlogPost.stories.ts +0 -164
  62. package/src/modules/dx/cardBlogPostProvider/__tests__/cardBlogPostProvider.test.ts +0 -34
  63. package/src/modules/dx/cardBlogPostProvider/__tests__/mockWordpressPosts.ts +0 -44
  64. package/src/modules/dx/cardCallout/__tests__/cardCallout.test.ts +0 -20
  65. package/src/modules/dx/cardCallout/__tests__/mockProps.ts +0 -7
  66. package/src/modules/dx/cardCallout/cardCallout.stories.ts +0 -33
  67. package/src/modules/dx/cardContent/__tests__/cardContent.test.ts +0 -100
  68. package/src/modules/dx/cardContent/__tests__/mockProps.ts +0 -13
  69. package/src/modules/dx/cardContent/cardContent.stories.ts +0 -127
  70. package/src/modules/dx/cardDemo/cardDemo.stories.ts +0 -115
  71. package/src/modules/dx/cardDocs/__tests__/cardDocs.test.ts +0 -48
  72. package/src/modules/dx/cardDocs/__tests__/mockProps.ts +0 -9
  73. package/src/modules/dx/cardDocs/cardDocs.stories.ts +0 -299
  74. package/src/modules/dx/cardEvent/__tests__/cardEvent.test.ts +0 -95
  75. package/src/modules/dx/cardEvent/__tests__/mockProps.ts +0 -10
  76. package/src/modules/dx/cardEvent/cardEvent.stories.ts +0 -153
  77. package/src/modules/dx/cardExpanded/__tests__/cardExpanded.test.ts +0 -193
  78. package/src/modules/dx/cardExpanded/__tests__/mockProps.ts +0 -21
  79. package/src/modules/dx/cardExpanded/cardExpanded.stories.ts +0 -59
  80. package/src/modules/dx/cardGrid/__tests__/cardMockProps.ts +0 -431
  81. package/src/modules/dx/cardGrid/__tests__/mockProps.ts +0 -15
  82. package/src/modules/dx/cardGrid/cardGrid.stories.ts +0 -111
  83. package/src/modules/dx/cardMinimal/__tests__/cardMinimal.test.ts +0 -87
  84. package/src/modules/dx/cardMinimal/__tests__/mockProps.ts +0 -10
  85. package/src/modules/dx/cardMinimal/cardMinimal.stories.ts +0 -32
  86. package/src/modules/dx/cardNews/__tests__/cardNews.test.ts +0 -58
  87. package/src/modules/dx/cardNews/__tests__/mockProps.ts +0 -7
  88. package/src/modules/dx/cardNews/cardNews.stories.ts +0 -115
  89. package/src/modules/dx/cardPodcastEpisode/__tests__/cardPodcastEpisode.test.ts +0 -68
  90. package/src/modules/dx/cardPodcastEpisode/cardPodcastEpisode.stories.ts +0 -31
  91. package/src/modules/dx/cardPodcastEpisodeProvider/__tests__/cardPodcastEpisodeProvider.test.ts +0 -36
  92. package/src/modules/dx/cardPodcastEpisodeProvider/__tests__/mockWordpressEpisodes.ts +0 -50
  93. package/src/modules/dx/cardSmall/__tests__/cardSmall.test.ts +0 -66
  94. package/src/modules/dx/cardSmall/__tests__/mockProps.ts +0 -8
  95. package/src/modules/dx/cardSmall/cardSmall.stories.ts +0 -166
  96. package/src/modules/dx/cardTitle/__tests__/cardTitle.test.ts +0 -46
  97. package/src/modules/dx/cardTrailheadModule/__tests__/cardTrailheadModule.test.ts +0 -18
  98. package/src/modules/dx/cardTrailheadModule/__tests__/mockProps.ts +0 -11
  99. package/src/modules/dx/cardTrailheadModule/cardTrailheadModule.stories.ts +0 -122
  100. package/src/modules/dx/cardVideoPreview/__tests__/cardVideoPreview.test.ts +0 -22
  101. package/src/modules/dx/cardVideoPreview/__tests__/mockProps.ts +0 -11
  102. package/src/modules/dx/cardVideoPreview/cardVideoPreview.stories.ts +0 -147
  103. package/src/modules/dx/checkbox/__tests__/checkbox.test.ts +0 -85
  104. package/src/modules/dx/checkbox/__tests__/mockProps.ts +0 -5
  105. package/src/modules/dx/checkbox/checkbox.stories.ts +0 -38
  106. package/src/modules/dx/checkboxGroup/__tests__/checkboxGroup.test.ts +0 -80
  107. package/src/modules/dx/checkboxGroup/__tests__/mockProps.ts +0 -14
  108. package/src/modules/dx/checkboxGroup/checkboxGroup.stories.ts +0 -33
  109. package/src/modules/dx/codeBlock/__tests__/codeBlock.test.ts +0 -238
  110. package/src/modules/dx/codeBlock/__tests__/mockProps.ts +0 -160
  111. package/src/modules/dx/codeBlock/codeBlock.stories.ts +0 -143
  112. package/src/modules/dx/dropdown/__tests__/dropdown.test.ts +0 -165
  113. package/src/modules/dx/dropdown/__tests__/mockNestedOptions.ts +0 -96
  114. package/src/modules/dx/dropdown/__tests__/mockOptions.ts +0 -10
  115. package/src/modules/dx/dropdown/__tests__/mockProps.ts +0 -6
  116. package/src/modules/dx/dropdown/dropdown.stories.ts +0 -89
  117. package/src/modules/dx/dropdownOption/__tests__/dropdownOption.test.ts +0 -112
  118. package/src/modules/dx/dropdownOption/__tests__/mockProps.ts +0 -20
  119. package/src/modules/dx/emptyState/__tests__/emptyState.test.ts +0 -52
  120. package/src/modules/dx/emptyState/__tests__/mockProps.ts +0 -4
  121. package/src/modules/dx/emptyState/emptyState.stories.ts +0 -45
  122. package/src/modules/dx/feature/__tests__/feature.test.ts +0 -51
  123. package/src/modules/dx/feature/__tests__/mockProps.ts +0 -8
  124. package/src/modules/dx/featureGrid/__tests__/featureGrid.test.ts +0 -21
  125. package/src/modules/dx/featureGrid/featureGrid.stories.ts +0 -120
  126. package/src/modules/dx/featuredContentHeader/__tests__/featuredContentHeader.test.ts +0 -178
  127. package/src/modules/dx/featuredContentHeader/__tests__/mockProps.ts +0 -73
  128. package/src/modules/dx/featuredContentHeader/featuredContentHeader.stories.ts +0 -153
  129. package/src/modules/dx/featuresList/__tests__/featuresList.test.ts +0 -43
  130. package/src/modules/dx/featuresList/__tests__/mockProps.ts +0 -17
  131. package/src/modules/dx/featuresList/featuresList.stories.ts +0 -30
  132. package/src/modules/dx/footer/__tests__/footer.test.ts +0 -147
  133. package/src/modules/dx/footer/__tests__/mockLocales.ts +0 -7
  134. package/src/modules/dx/footer/footer.stories.ts +0 -88
  135. package/src/modules/dx/footerOption/__tests__/footerOption.test.ts +0 -34
  136. package/src/modules/dx/footerOption/__tests__/mockProps.ts +0 -7
  137. package/src/modules/dx/formattedDateTime/__tests__/formattedDateTime.test.ts +0 -25
  138. package/src/modules/dx/formattedDateTime/__tests__/mockProps.ts +0 -13
  139. package/src/modules/dx/formattedDateTime/formattedDateTime.stories.ts +0 -103
  140. package/src/modules/dx/grid/__tests__/grid.test.ts +0 -32
  141. package/src/modules/dx/grid/grid.stories.ts +0 -134
  142. package/src/modules/dx/groupBio/__tests__/groupBio.test.ts +0 -82
  143. package/src/modules/dx/groupBio/__tests__/mockProps.ts +0 -15
  144. package/src/modules/dx/groupBio/groupBio.stories.ts +0 -66
  145. package/src/modules/dx/groupText/__tests__/groupText.test.ts +0 -69
  146. package/src/modules/dx/groupText/__tests__/mockProps.ts +0 -35
  147. package/src/modules/dx/groupText/groupText.stories.ts +0 -81
  148. package/src/modules/dx/header/__tests__/header.test.ts +0 -236
  149. package/src/modules/dx/header/__tests__/mockNavArchitects.ts +0 -169
  150. package/src/modules/dx/header/__tests__/mockNavDevelopers.ts +0 -419
  151. package/src/modules/dx/header/__tests__/mockNavs.ts +0 -115
  152. package/src/modules/dx/header/__tests__/mockProps.ts +0 -164
  153. package/src/modules/dx/header/header.stories.ts +0 -172
  154. package/src/modules/dx/headerMobileNavMenu/__tests__/headerMobileNavMenu.test.ts +0 -123
  155. package/src/modules/dx/headerMobileNavMenuOption/__tests__/headerMobileNavMenuOption.test.ts +0 -38
  156. package/src/modules/dx/headerNav/__tests__/headerNav.test.ts +0 -49
  157. package/src/modules/dx/headerSearch/__tests__/headerSearch.test.ts +0 -182
  158. package/src/modules/dx/headerSearch/__tests__/mockData.ts +0 -11
  159. package/src/modules/dx/headerSearch/__tests__/mockProps.ts +0 -6
  160. package/src/modules/dx/helmet/__tests__/helmet.test.ts +0 -52
  161. package/src/modules/dx/helmet/helmet.stories.ts +0 -53
  162. package/src/modules/dx/hr/__tests__/hr.test.ts +0 -53
  163. package/src/modules/dx/hr/__tests__/mockProps.ts +0 -16
  164. package/src/modules/dx/hr/hr.stories.ts +0 -50
  165. package/src/modules/dx/icon/__tests__/icon.test.ts +0 -54
  166. package/src/modules/dx/icon/icon.stories.ts +0 -100
  167. package/src/modules/dx/iconBadge/__tests__/iconBadge.test.ts +0 -17
  168. package/src/modules/dx/iconBadge/iconBadge.stories.ts +0 -32
  169. package/src/modules/dx/imageAndLabel/__tests__/imageAndLabel.test.ts +0 -39
  170. package/src/modules/dx/imageAndLabel/__tests__/mockProps.ts +0 -6
  171. package/src/modules/dx/imageAndLabel/imageAndLabel.stories.ts +0 -48
  172. package/src/modules/dx/input/__tests__/input.test.ts +0 -357
  173. package/src/modules/dx/input/input.stories.ts +0 -102
  174. package/src/modules/dx/instrumentation/__tests__/instrumentation.test.ts +0 -86
  175. package/src/modules/dx/interactiveImage/__tests__/interactiveImage.test.ts +0 -83
  176. package/src/modules/dx/interactiveImage/__tests__/mockProps.ts +0 -39
  177. package/src/modules/dx/interactiveImage/interactiveImage.stories.ts +0 -31
  178. package/src/modules/dx/lazy/__tests__/lazy.test.ts +0 -43
  179. package/src/modules/dx/lazy/lazy.stories.ts +0 -132
  180. package/src/modules/dx/pagination/__tests__/pagination.test.ts +0 -121
  181. package/src/modules/dx/pagination/pagination.stories.ts +0 -88
  182. package/src/modules/dx/podcastHost/__tests__/mockProps.ts +0 -8
  183. package/src/modules/dx/podcastHost/__tests__/podcastHost.test.ts +0 -21
  184. package/src/modules/dx/podcastHost/podcastHost.stories.ts +0 -17
  185. package/src/modules/dx/podcastPlayer/__tests__/podcastPlayer.test.ts +0 -20
  186. package/src/modules/dx/podcastPlayer/podcastPlayer.stories.ts +0 -13
  187. package/src/modules/dx/podcastSubscription/__tests__/podcastSubscription.test.ts +0 -16
  188. package/src/modules/dx/podcastSubscription/podcastSubscription.stories.ts +0 -23
  189. package/src/modules/dx/popover/__tests__/mockProps.ts +0 -8
  190. package/src/modules/dx/popover/__tests__/popover.test.ts +0 -313
  191. package/src/modules/dx/popover/popover.stories.ts +0 -82
  192. package/src/modules/dx/radioGroup/__tests__/mockProps.ts +0 -12
  193. package/src/modules/dx/radioGroup/__tests__/radioGroup.test.ts +0 -42
  194. package/src/modules/dx/radioGroup/radioGroup.stories.ts +0 -25
  195. package/src/modules/dx/relativeDateTime/__tests__/mockProps.ts +0 -55
  196. package/src/modules/dx/relativeDateTime/__tests__/relativeDateTime.test.ts +0 -52
  197. package/src/modules/dx/relativeDateTime/relativeDateTime.stories.ts +0 -83
  198. package/src/modules/dx/searchResults/searchResults.stories.ts +0 -36
  199. package/src/modules/dx/section/__tests__/section.test.ts +0 -17
  200. package/src/modules/dx/section/section.stories.ts +0 -381
  201. package/src/modules/dx/sectionSignup/__tests__/sectionSignup.test.ts +0 -66
  202. package/src/modules/dx/sectionSignup/sectionSignup.stories.ts +0 -49
  203. package/src/modules/dx/select/select.stories.ts +0 -59
  204. package/src/modules/dx/sidebar/__tests__/mockProps.ts +0 -181
  205. package/src/modules/dx/sidebar/__tests__/mockSearchChangeEmptyEvent.ts +0 -6
  206. package/src/modules/dx/sidebar/__tests__/mockSearchChangeEvent.ts +0 -527
  207. package/src/modules/dx/sidebar/__tests__/sidebar.test.ts +0 -568
  208. package/src/modules/dx/sidebar/sidebar.stories.ts +0 -188
  209. package/src/modules/dx/sidebarOld/__tests__/mockProps.ts +0 -178
  210. package/src/modules/dx/sidebarOld/__tests__/sidebarOld.test.ts +0 -570
  211. package/src/modules/dx/sidebarOld/sidebarOld.stories.ts +0 -139
  212. package/src/modules/dx/sidebarSearch/__tests__/mockPreloadedState.ts +0 -1686
  213. package/src/modules/dx/sidebarSearch/__tests__/sidebarSearch.test.ts +0 -175
  214. package/src/modules/dx/sidebarSearchResult/__tests__/sidebarSearchResult.test.ts +0 -96
  215. package/src/modules/dx/slackCta/__tests__/slackCta.test.ts +0 -36
  216. package/src/modules/dx/slackCta/slackCta.stories.ts +0 -25
  217. package/src/modules/dx/socials/__tests__/socials.test.ts +0 -114
  218. package/src/modules/dx/socials/socials.stories.ts +0 -24
  219. package/src/modules/dx/spinner/__tests__/spinner.test.ts +0 -37
  220. package/src/modules/dx/spinner/spinner.stories.ts +0 -69
  221. package/src/modules/dx/tab/__tests__/tab.test.ts +0 -129
  222. package/src/modules/dx/tab/tab.stories.ts +0 -57
  223. package/src/modules/dx/toc/__tests__/mockProps.ts +0 -28
  224. package/src/modules/dx/toc/__tests__/toc.test.ts +0 -109
  225. package/src/modules/dx/toc/toc.stories.ts +0 -26
  226. package/src/modules/dx/tooltip/__tests__/tooltip.test.ts +0 -22
  227. package/src/modules/dx/tooltip/tooltip.stories.ts +0 -46
  228. package/src/modules/dx/topics/__tests__/mockProps.ts +0 -3
  229. package/src/modules/dx/topics/__tests__/topics.test.ts +0 -31
  230. package/src/modules/dx/tree/__tests__/mockProps.ts +0 -215
  231. package/src/modules/dx/tree/__tests__/tree.test.ts +0 -346
  232. package/src/modules/dx/tree/__tests__/treeHandler.test.ts +0 -194
  233. package/src/modules/dx/tree/tree.stories.ts +0 -65
  234. package/src/modules/dx/treeItem/__tests__/mockProps.ts +0 -46
  235. package/src/modules/dx/treeItem/__tests__/treeItem.test.ts +0 -377
  236. package/src/modules/dx/treeTile/__tests__/mockProps.ts +0 -16
  237. package/src/modules/dx/treeTile/__tests__/treeTile.test.ts +0 -168
  238. package/src/modules/dx/typeBadge/__tests__/typeBadge.test.ts +0 -77
  239. package/src/modules/dx/typeBadge/typeBadge.stories.ts +0 -114
  240. package/src/modules/dx/typeBadgeGroup/__tests__/mockProps.ts +0 -11
  241. package/src/modules/dx/typeBadgeGroup/__tests__/typeBadgeGroup.test.ts +0 -72
  242. package/src/modules/dx/typeBadgeGroup/typeBadgeGroup.stories.ts +0 -19
  243. package/src/modules/test-components/buttonTest/buttonTest.html +0 -3
  244. package/src/modules/test-components/buttonTest/buttonTest.ts +0 -3
  245. package/src/modules/test-components/codeBlockTest/codeBlockTest.js +0 -4
  246. package/src/modules/test-components/featureGridTest/featureGridTest.html +0 -7
  247. package/src/modules/test-components/featureGridTest/featureGridTest.ts +0 -5
  248. package/src/modules/test-components/instrumentationTest/instrumentationTest.html +0 -4
  249. package/src/modules/test-components/instrumentationTest/instrumentationTest.ts +0 -8
  250. package/src/modules/test-components/popoverTest/popoverTest.html +0 -6
  251. package/src/modules/test-components/popoverTest/popoverTest.ts +0 -5
  252. package/src/modules/test-components/slackCtaTest/slackCtaTest.html +0 -3
  253. package/src/modules/test-components/slackCtaTest/slackCtaTest.ts +0 -3
  254. package/src/modules/utils/highlight/__tests__/highlight.test.ts +0 -108
  255. package/src/modules/utils/highlight/__tests__/mockProps.ts +0 -45
  256. package/src/modules/utils-internal/jest/jest.ts +0 -58
  257. package/src/modules/utils-internal/recentSearches/__tests__/recentSearches.test.ts +0 -83
  258. package/src/modules/utils-internal/regexps/regexps.ts +0 -5
  259. package/src/modules/utils-internal/storybook/storybook.ts +0 -32
  260. package/src/modules/utils-internal/tests/tests.ts +0 -38
  261. package/src/modules/utils-internal/wordpress/__tests__/wordpress.test.ts +0 -15
@@ -1,346 +0,0 @@
1
- import Tree from "dx/tree";
2
- import TreeItem from "dx/treeItem";
3
- import { createRenderComponent } from "utils-internal/tests";
4
- import { TreeHandler } from "../treeHandler";
5
- import {
6
- INITIALIZE_MOCK_PARAMETER,
7
- INITIALIZE_MOCK_RESULT,
8
- MOCK_TILE_DETAIL,
9
- MOCK_ICON_DETAIL
10
- } from "./mockProps";
11
-
12
- const TAG = "dx-tree";
13
- const renderComponent = createRenderComponent(TAG, Tree);
14
-
15
- const mockInitialize = jest.fn();
16
- const mockGetKeyByName = jest.fn();
17
- const mockGetNode = jest.fn();
18
- const mockExpandToSelected = jest.fn();
19
- const mockRegisterSetExpanded = jest.fn();
20
-
21
- jest.mock("../treeHandler", () => {
22
- return {
23
- TreeHandler: jest.fn().mockImplementation(() => {
24
- return {
25
- initialize: mockInitialize,
26
- getNode: mockGetNode,
27
- getKeyByName: mockGetKeyByName,
28
- expandToSelected: mockExpandToSelected,
29
- registerSetExpanded: mockRegisterSetExpanded
30
- };
31
- })
32
- };
33
- });
34
-
35
- describe(TAG, () => {
36
- beforeEach(() => {
37
- mockInitialize.mockReturnValue(INITIALIZE_MOCK_RESULT);
38
- });
39
-
40
- describe("component render", () => {
41
- it("should render dx-tree-item with appropiate properties", () => {
42
- const component = renderComponent({
43
- treeRoot: INITIALIZE_MOCK_PARAMETER
44
- });
45
- expect(component.treeRoot).toEqual(INITIALIZE_MOCK_RESULT);
46
- expect(component.value).toBeUndefined();
47
-
48
- const treeItem: TreeItem =
49
- component.shadowRoot.querySelector("dx-tree-item");
50
- expect(treeItem).not.toBeNull();
51
- expect(treeItem.treeNode).toEqual(INITIALIZE_MOCK_RESULT);
52
- expect(treeItem.isRoot).toBe(true);
53
- expect(treeItem.selectedKey).toBeUndefined();
54
-
55
- expect(TreeHandler).toHaveBeenCalledTimes(1);
56
- expect(mockInitialize).toHaveBeenCalledTimes(1);
57
- expect(mockInitialize).toHaveBeenCalledWith(
58
- INITIALIZE_MOCK_PARAMETER
59
- );
60
- expect(mockGetKeyByName).not.toBeCalled();
61
- expect(mockGetNode).not.toBeCalled();
62
- expect(mockExpandToSelected).not.toBeCalled();
63
-
64
- return expect(component).toBeAccessible();
65
- });
66
-
67
- it("should render dx-tree-item with treeRoot assigned as json and provided value", () => {
68
- const expectedKey = INITIALIZE_MOCK_RESULT.key;
69
- mockGetKeyByName.mockReturnValue(expectedKey);
70
-
71
- const component = renderComponent({
72
- treeRoot: JSON.stringify(INITIALIZE_MOCK_PARAMETER),
73
- value: INITIALIZE_MOCK_PARAMETER.name
74
- });
75
-
76
- expect(component.treeRoot).toEqual(INITIALIZE_MOCK_RESULT);
77
- expect(component.value).toBe(INITIALIZE_MOCK_PARAMETER.name);
78
-
79
- const treeItem: TreeItem =
80
- component.shadowRoot.querySelector("dx-tree-item");
81
- expect(treeItem).not.toBeNull();
82
- expect(treeItem.treeNode).toEqual(INITIALIZE_MOCK_RESULT);
83
- expect(treeItem.isRoot).toBe(true);
84
- expect(treeItem.selectedKey).toBe(expectedKey);
85
-
86
- expect(TreeHandler).toHaveBeenCalledTimes(1);
87
-
88
- expect(mockInitialize).toHaveBeenCalledTimes(1);
89
- expect(mockInitialize).toHaveBeenCalledWith(
90
- INITIALIZE_MOCK_PARAMETER
91
- );
92
-
93
- expect(mockGetKeyByName).toBeCalledTimes(1);
94
- expect(mockGetKeyByName).toHaveBeenCalledWith(
95
- INITIALIZE_MOCK_PARAMETER.name
96
- );
97
-
98
- expect(mockExpandToSelected).toBeCalledTimes(1);
99
- expect(mockExpandToSelected).toHaveBeenCalledWith(expectedKey);
100
-
101
- expect(mockGetNode).not.toBeCalled();
102
-
103
- return expect(component).toBeAccessible();
104
- });
105
-
106
- it("should update selectedKey to undefined if assigned value name does not exist", () => {
107
- const expectedValue = "not_exist";
108
- const validKey = "0.1";
109
-
110
- mockGetKeyByName
111
- .mockReturnValueOnce(validKey)
112
- .mockReturnValueOnce(undefined);
113
-
114
- const component = renderComponent({
115
- treeRoot: INITIALIZE_MOCK_PARAMETER,
116
- value: INITIALIZE_MOCK_PARAMETER.name
117
- });
118
-
119
- const treeItem: TreeItem =
120
- component.shadowRoot.querySelector("dx-tree-item");
121
- expect(treeItem).not.toBeNull();
122
- expect(treeItem.selectedKey).toBe(validKey);
123
-
124
- component.value = expectedValue;
125
- expect(component.value).toBe(expectedValue);
126
-
127
- expect(TreeHandler).toHaveBeenCalledTimes(1);
128
-
129
- expect(mockInitialize).toHaveBeenCalledTimes(1);
130
- expect(mockInitialize).toHaveBeenCalledWith(
131
- INITIALIZE_MOCK_PARAMETER
132
- );
133
-
134
- expect(mockGetKeyByName).toBeCalledTimes(2);
135
- expect(mockGetKeyByName).toHaveBeenNthCalledWith(
136
- 1,
137
- INITIALIZE_MOCK_PARAMETER.name
138
- );
139
- expect(mockGetKeyByName).toHaveBeenNthCalledWith(2, expectedValue);
140
-
141
- expect(mockExpandToSelected).toHaveBeenCalledTimes(2);
142
- expect(mockExpandToSelected).toHaveBeenNthCalledWith(1, validKey);
143
- expect(mockExpandToSelected).toHaveBeenNthCalledWith(2, undefined);
144
-
145
- expect(mockGetNode).not.toBeCalled();
146
- return Promise.resolve().then(() => {
147
- expect(treeItem.selectedKey).toBeUndefined();
148
-
149
- return expect(component).toBeAccessible();
150
- });
151
- });
152
-
153
- it("should update selectedKey when value is defined before treeRoot", () => {
154
- const expectedKey = INITIALIZE_MOCK_RESULT.key;
155
- mockGetKeyByName.mockReturnValue(expectedKey);
156
-
157
- const component = renderComponent({
158
- value: INITIALIZE_MOCK_PARAMETER.name
159
- });
160
- component.treeRoot = INITIALIZE_MOCK_PARAMETER;
161
-
162
- expect(TreeHandler).toHaveBeenCalledTimes(1);
163
- expect(mockInitialize).toHaveBeenCalledTimes(1);
164
- expect(mockInitialize).toHaveBeenCalledWith(
165
- INITIALIZE_MOCK_PARAMETER
166
- );
167
-
168
- expect(mockGetKeyByName).toBeCalledTimes(1);
169
- expect(mockGetKeyByName).toBeCalledWith(
170
- INITIALIZE_MOCK_PARAMETER.name
171
- );
172
-
173
- expect(mockExpandToSelected).toHaveBeenCalledTimes(1);
174
- expect(mockExpandToSelected).toHaveBeenCalledWith(expectedKey);
175
-
176
- expect(mockGetNode).not.toBeCalled();
177
-
178
- return Promise.resolve().then(() => {
179
- const treeItem: TreeItem =
180
- component.shadowRoot.querySelector("dx-tree-item");
181
- expect(treeItem).not.toBeNull();
182
- expect(treeItem.selectedKey).toBe(expectedKey);
183
-
184
- return expect(component).toBeAccessible();
185
- });
186
- });
187
-
188
- it("should not render dx-tree-item if treeRoot is not defined", () => {
189
- const component = renderComponent();
190
- expect(
191
- component.shadowRoot.querySelector("dx-tree-item")
192
- ).toBeNull();
193
-
194
- expect(TreeHandler).not.toBeCalled();
195
- expect(mockGetKeyByName).not.toBeCalled();
196
- expect(mockGetNode).not.toBeCalled();
197
- expect(mockInitialize).not.toBeCalled();
198
- expect(mockExpandToSelected).not.toBeCalled();
199
-
200
- return expect(component).toBeAccessible();
201
- });
202
-
203
- it("should do nothing if value setter is called with the same value", () => {
204
- const { name: testName } = INITIALIZE_MOCK_PARAMETER;
205
- const component: Tree = renderComponent({
206
- treeRoot: INITIALIZE_MOCK_PARAMETER,
207
- value: testName
208
- });
209
-
210
- expect(component.value).toBe(testName);
211
- expect(TreeHandler).toBeCalledTimes(1);
212
- expect(mockInitialize).toHaveBeenCalledTimes(1);
213
- expect(mockGetKeyByName).toBeCalledTimes(1);
214
-
215
- component.value = testName;
216
-
217
- expect(component.value).toBe(testName);
218
- expect(TreeHandler).toBeCalledTimes(1);
219
- expect(mockInitialize).toHaveBeenCalledTimes(1);
220
- expect(mockGetKeyByName).toBeCalledTimes(1);
221
- });
222
- });
223
-
224
- describe("event handle", () => {
225
- it("should handle tileselected event", () => {
226
- const component = renderComponent({
227
- treeRoot: INITIALIZE_MOCK_PARAMETER
228
- });
229
-
230
- const mockSelect = jest.fn();
231
- component.addEventListener("select", mockSelect);
232
-
233
- const mockTileSelected = jest.fn();
234
- component.addEventListener("tileselected", mockTileSelected);
235
-
236
- const treeItem: TreeItem =
237
- component.shadowRoot.querySelector("dx-tree-item");
238
- treeItem.dispatchEvent(
239
- new CustomEvent("tileselected", MOCK_TILE_DETAIL)
240
- );
241
-
242
- expect(component.value).toBe(MOCK_TILE_DETAIL.detail.name);
243
-
244
- expect(TreeHandler).toBeCalledTimes(1);
245
- expect(mockInitialize).toBeCalledTimes(1);
246
- expect(mockGetNode).not.toBeCalled();
247
- expect(mockGetKeyByName).not.toBeCalled();
248
- expect(mockExpandToSelected).not.toBeCalled();
249
- expect(mockTileSelected).not.toBeCalled();
250
-
251
- expect(mockSelect).toBeCalledTimes(1);
252
-
253
- const singleCall: CustomEvent = mockSelect.mock.calls[0][0];
254
- expect(singleCall.detail).toEqual({
255
- name: MOCK_TILE_DETAIL.detail.name
256
- });
257
- expect(singleCall.composed).toBe(true);
258
- expect(singleCall.bubbles).toBe(true);
259
-
260
- return Promise.resolve().then(() => {
261
- expect(treeItem.selectedKey).toBe(MOCK_TILE_DETAIL.detail.key);
262
-
263
- return expect(component).toBeAccessible();
264
- });
265
- });
266
-
267
- it("should handle expandcollapse event", () => {
268
- const mockedResult = { isExpanded: false };
269
- mockGetNode.mockReturnValue(mockedResult);
270
-
271
- const component = renderComponent({
272
- treeRoot: INITIALIZE_MOCK_PARAMETER
273
- });
274
-
275
- const mockExpandCollapse = jest.fn();
276
- component.addEventListener("expandcollapse", mockExpandCollapse);
277
-
278
- component.shadowRoot
279
- .querySelector("dx-tree-item")
280
- .dispatchEvent(
281
- new CustomEvent("expandcollapse", MOCK_ICON_DETAIL)
282
- );
283
-
284
- expect(TreeHandler).toBeCalledTimes(1);
285
- expect(mockInitialize).toBeCalledTimes(1);
286
- expect(mockGetKeyByName).not.toBeCalled();
287
- expect(mockExpandToSelected).not.toBeCalled();
288
-
289
- expect(mockGetNode).toBeCalledTimes(1);
290
- expect(mockGetNode).toBeCalledWith(MOCK_ICON_DETAIL.detail.key);
291
- expect(mockedResult.isExpanded).toBe(true);
292
- expect(mockExpandCollapse).not.toBeCalled();
293
-
294
- return expect(component).toBeAccessible();
295
- });
296
-
297
- it("should do nothing if key is not found for expandcollapse event", () => {
298
- mockGetNode.mockReturnValue(undefined);
299
-
300
- const component = renderComponent({
301
- treeRoot: INITIALIZE_MOCK_PARAMETER
302
- });
303
- component.shadowRoot
304
- .querySelector("dx-tree-item")
305
- .dispatchEvent(
306
- new CustomEvent("expandcollapse", MOCK_ICON_DETAIL)
307
- );
308
-
309
- expect(TreeHandler).toBeCalledTimes(1);
310
- expect(mockInitialize).toBeCalledTimes(1);
311
- expect(mockGetKeyByName).not.toBeCalled();
312
- expect(mockExpandToSelected).not.toBeCalled();
313
-
314
- expect(mockGetNode).toBeCalledTimes(1);
315
- expect(mockGetNode).toBeCalledWith(MOCK_ICON_DETAIL.detail.key);
316
-
317
- return expect(component).toBeAccessible();
318
- });
319
-
320
- it("should handle register event from dx-tree-item", () => {
321
- const { key } = INITIALIZE_MOCK_RESULT;
322
- const detail = {
323
- key,
324
- setExpanded: jest.fn()
325
- };
326
- const component = renderComponent({
327
- treeRoot: INITIALIZE_MOCK_PARAMETER
328
- });
329
-
330
- const mockRegister = jest.fn();
331
- component.addEventListener("register", mockRegister);
332
-
333
- component.shadowRoot.querySelector("dx-tree-item").dispatchEvent(
334
- new CustomEvent("register", {
335
- detail,
336
- bubbles: true,
337
- composed: true
338
- })
339
- );
340
-
341
- expect(mockRegisterSetExpanded).toBeCalledTimes(1);
342
- expect(mockRegisterSetExpanded).toBeCalledWith(detail);
343
- expect(mockRegister).not.toBeCalled();
344
- });
345
- });
346
- });
@@ -1,194 +0,0 @@
1
- import { TreeHandler } from "../treeHandler";
2
- import { TreeNode, InternalTreeNode } from "typings/custom";
3
- import {
4
- SAMPLE_TREE_MULTIPLE_LEVELS,
5
- SAMPLE_TREE_ONE_LEVEL,
6
- SAMPLE_TREE_WITH_LINKS
7
- } from "./mockProps";
8
-
9
- const assertTreeNode = (
10
- internalTree: InternalTreeNode,
11
- tree: TreeNode,
12
- expectedLevel: number,
13
- expectedKey: string
14
- ) => {
15
- expect(internalTree.label).toBe(tree.label);
16
- expect(internalTree.name).toBe(tree.name);
17
- expect(internalTree.isExpanded).toBe(tree.isExpanded || false);
18
- expect(internalTree.link).toEqual(tree.link);
19
- expect(internalTree.level).toBe(expectedLevel);
20
- expect(internalTree.key).toBe(expectedKey);
21
-
22
- if (internalTree.children) {
23
- expect(internalTree.children).toHaveLength(tree.children!.length);
24
- internalTree.children.forEach((child, index) => {
25
- assertTreeNode(
26
- child as InternalTreeNode,
27
- tree.children![index],
28
- expectedLevel + 1,
29
- `${expectedKey}.${index}`
30
- );
31
- });
32
- }
33
- };
34
-
35
- const getAllKeys = (tree: InternalTreeNode): Array<string> => {
36
- if (!tree.children || tree.children.length === 0) {
37
- return [tree.key];
38
- }
39
- const keys: Array<string> = [];
40
- tree.children.forEach((child: InternalTreeNode) => {
41
- keys.push(...getAllKeys(child));
42
- });
43
-
44
- return keys;
45
- };
46
-
47
- describe("TreeHandler", () => {
48
- describe("initialize", () => {
49
- it("should convert a single level tree structure into the internal structure", () => {
50
- const treeHandler = new TreeHandler();
51
- const result = treeHandler.initialize(SAMPLE_TREE_ONE_LEVEL);
52
- expect(result).toBeTruthy();
53
- assertTreeNode(result, SAMPLE_TREE_ONE_LEVEL, 0, "0");
54
- });
55
-
56
- it("should convert a multiple level tree structure into the internal structure", () => {
57
- const treeHandler = new TreeHandler();
58
- const result = treeHandler.initialize(SAMPLE_TREE_MULTIPLE_LEVELS);
59
- expect(result).toBeTruthy();
60
- assertTreeNode(result, SAMPLE_TREE_MULTIPLE_LEVELS, 0, "0");
61
- });
62
-
63
- it("should convert a tree structure with links into the internal structure", () => {
64
- const treeHandler = new TreeHandler();
65
- const result = treeHandler.initialize(SAMPLE_TREE_WITH_LINKS);
66
- expect(result).toBeTruthy();
67
- assertTreeNode(result, SAMPLE_TREE_WITH_LINKS, 0, "0");
68
- });
69
- });
70
-
71
- describe("getNode", () => {
72
- it("should return a node when key exist", () => {
73
- const treeHandler = new TreeHandler();
74
- const treeStructure = treeHandler.initialize(SAMPLE_TREE_ONE_LEVEL);
75
- expect(treeHandler.getNode(treeStructure.key)).toEqual(
76
- treeStructure
77
- );
78
-
79
- treeStructure.children!.forEach((child) => {
80
- expect(
81
- treeHandler.getNode((child as InternalTreeNode).key)
82
- ).toEqual(child);
83
- });
84
- });
85
-
86
- it("should return undefined in case the key does not exist", () => {
87
- const treeHandler = new TreeHandler();
88
- treeHandler.initialize(SAMPLE_TREE_ONE_LEVEL);
89
- expect(treeHandler.getNode("not_exist")).toBeUndefined();
90
- });
91
- });
92
-
93
- describe("getKeyByName", () => {
94
- it("should return the key value if name exist", () => {
95
- const treeHandler = new TreeHandler();
96
- const treeStructure = treeHandler.initialize(SAMPLE_TREE_ONE_LEVEL);
97
- expect(treeHandler.getKeyByName(treeStructure.name)).toBe(
98
- treeStructure.key
99
- );
100
-
101
- treeStructure.children!.forEach((child) => {
102
- const { key, name } = child as InternalTreeNode;
103
- expect(treeHandler.getKeyByName(name)).toBe(key);
104
- });
105
- });
106
-
107
- it("should return undefined in case the name does not exist", () => {
108
- const treeHandler = new TreeHandler();
109
- treeHandler.initialize(SAMPLE_TREE_ONE_LEVEL);
110
- expect(treeHandler.getKeyByName("not_exist")).toBeUndefined();
111
- });
112
- });
113
-
114
- describe("expandToSelected", () => {
115
- it("should mark a node as isExpanded recursively until the root", () => {
116
- const expectedKeys = ["0.2.0", "0.2", "0"];
117
- const treeHandler = new TreeHandler();
118
- const treeStructure = treeHandler.initialize(
119
- SAMPLE_TREE_MULTIPLE_LEVELS
120
- );
121
- treeHandler.expandToSelected(expectedKeys[0]);
122
-
123
- expectedKeys.forEach((expectedKey) =>
124
- expect(treeHandler.getNode(expectedKey)!.isExpanded).toBe(true)
125
- );
126
- getAllKeys(treeStructure)
127
- .filter((key) =>
128
- expectedKeys.some((expectedKey) => expectedKey !== key)
129
- )
130
- .forEach((key) =>
131
- expect(treeHandler.getNode(key)!.isExpanded).toBeFalsy()
132
- );
133
- });
134
-
135
- it("should not mark any node as isExpanded if no key is provided", () => {
136
- const treeHandler = new TreeHandler();
137
- const treeStructure = treeHandler.initialize(
138
- SAMPLE_TREE_MULTIPLE_LEVELS
139
- );
140
- treeHandler.expandToSelected();
141
- getAllKeys(treeStructure).forEach((key) =>
142
- expect(treeHandler.getNode(key)!.isExpanded).toBeFalsy()
143
- );
144
- });
145
-
146
- it("should not mark any node as isExpanded if provided key does not exist", () => {
147
- const treeHandler = new TreeHandler();
148
- const treeStructure = treeHandler.initialize(
149
- SAMPLE_TREE_MULTIPLE_LEVELS
150
- );
151
- treeHandler.expandToSelected("not_exist");
152
- getAllKeys(treeStructure).forEach((key) =>
153
- expect(treeHandler.getNode(key)!.isExpanded).toBeFalsy()
154
- );
155
- });
156
- });
157
-
158
- describe("registerSetExpanded", () => {
159
- it("should register a setExpanded callback if key is valid", () => {
160
- const treeHandler = new TreeHandler();
161
- const treeStructure = treeHandler.initialize(
162
- SAMPLE_TREE_MULTIPLE_LEVELS
163
- );
164
-
165
- const { key } = treeStructure;
166
- const mockSetExpanded = jest.fn();
167
-
168
- treeHandler.registerSetExpanded({
169
- key,
170
- setExpanded: mockSetExpanded
171
- });
172
-
173
- treeHandler.expandToSelected(key);
174
- expect(mockSetExpanded).toBeCalledTimes(1);
175
- expect(mockSetExpanded).toBeCalledWith(true);
176
- });
177
-
178
- it("should not register a not valid key", () => {
179
- const treeHandler = new TreeHandler();
180
- treeHandler.initialize(SAMPLE_TREE_MULTIPLE_LEVELS);
181
-
182
- const key = "not_valid";
183
- const mockSetExpanded = jest.fn();
184
-
185
- treeHandler.registerSetExpanded({
186
- key,
187
- setExpanded: mockSetExpanded
188
- });
189
-
190
- treeHandler.expandToSelected(key);
191
- expect(mockSetExpanded).not.toBeCalled();
192
- });
193
- });
194
- });
@@ -1,65 +0,0 @@
1
- import {
2
- SAMPLE_TREE_MULTIPLE_LEVELS,
3
- SAMPLE_TREE_ONE_LEVEL,
4
- SAMPLE_TREE_WITH_BADGES,
5
- SAMPLE_TREE_WITH_LINKS
6
- } from "./__tests__/mockProps";
7
-
8
- import { html } from "lit-html";
9
-
10
- export default {
11
- title: "dx/dx-tree",
12
- component: "dx-tree"
13
- };
14
-
15
- // prettier-ignore
16
- const styles = (addStyles: string = "") => html `
17
- <style>
18
- .tree {
19
- max-width: 300px;
20
- background-color: var(--dx-g-gray-95);
21
- ${addStyles}
22
- }
23
- </style>`;
24
-
25
- const oneLevelTreeRoot = JSON.stringify(SAMPLE_TREE_ONE_LEVEL);
26
- const multipleLevelsTreeRoot = JSON.stringify(SAMPLE_TREE_MULTIPLE_LEVELS);
27
- const treeLinksTreeRoot = JSON.stringify(SAMPLE_TREE_WITH_LINKS);
28
- const treeWithBadges = JSON.stringify(SAMPLE_TREE_WITH_BADGES);
29
-
30
- // prettier-ignore
31
- export const Base = () => html` ${styles()}
32
- <dx-tree
33
- class="tree"
34
- tree-root="${oneLevelTreeRoot}"
35
- ></dx-tree>`;
36
-
37
- // prettier-ignore
38
- export const MultilevelWithValue = () => html` ${styles()}
39
- <dx-tree
40
- class="tree"
41
- value="scenario"
42
- tree-root="${multipleLevelsTreeRoot}"
43
- ></dx-tree>`;
44
-
45
- // prettier-ignore
46
- export const MultipleLevels = () => html` ${styles()}
47
- <dx-tree
48
- class="tree"
49
- tree-root="${multipleLevelsTreeRoot}"
50
- ></dx-tree>`;
51
-
52
- // prettier-ignore
53
- export const WithLinks = () => html` ${styles()}
54
- <dx-tree
55
- class="tree"
56
- tree-root="${treeLinksTreeRoot}"
57
- ></dx-tree>`;
58
-
59
- MultipleLevels.story = { parameters: { docs: { disable: true } } };
60
- WithLinks.story = { parameters: { docs: { disable: true } } };
61
-
62
- export const WithMethodBadges = () => html`
63
- ${styles()}
64
- <dx-tree class="tree" tree-root="${treeWithBadges}"></dx-tree>
65
- `;
@@ -1,46 +0,0 @@
1
- import { InternalTreeNode } from "typings/custom";
2
-
3
- export const SINGLE_NODE: InternalTreeNode = {
4
- label: "Test label",
5
- name: "test-name",
6
- key: "0.1",
7
- level: 1
8
- };
9
-
10
- export const NODE_WITH_CHILDREN: InternalTreeNode = {
11
- label: "Test label",
12
- name: "test-name",
13
- key: "0.1",
14
- level: 1,
15
- children: [
16
- {
17
- label: "First Child",
18
- name: "first-child",
19
- key: "0.1.0",
20
- level: 2
21
- },
22
- {
23
- label: "Second Child",
24
- name: "second-child",
25
- key: "0.1.1",
26
- level: 2
27
- },
28
- {
29
- label: "Third Child",
30
- name: "third-child",
31
- key: "0.1.2",
32
- level: 2
33
- }
34
- ]
35
- };
36
-
37
- export const SINGLE_NODE_WITH_LINK: InternalTreeNode = {
38
- label: "Test label",
39
- name: "test-name",
40
- key: "0.1",
41
- level: 1,
42
- link: {
43
- href: "https://salesforce.com",
44
- target: "_parent"
45
- }
46
- };