@dxc-technology/halstack-react 0.0.0-f6d6be5 → 0.0.0-f70a97e

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 (270) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +4 -21
  3. package/HalstackContext.d.ts +43 -138
  4. package/HalstackContext.js +10 -35
  5. package/accordion/Accordion.js +23 -63
  6. package/accordion/Accordion.stories.tsx +1 -15
  7. package/accordion/Accordion.test.js +18 -33
  8. package/accordion/types.d.ts +5 -5
  9. package/accordion-group/AccordionGroup.js +15 -42
  10. package/accordion-group/AccordionGroup.stories.tsx +1 -1
  11. package/accordion-group/AccordionGroup.test.js +42 -60
  12. package/accordion-group/AccordionGroupAccordion.js +9 -21
  13. package/accordion-group/types.d.ts +6 -6
  14. package/action-icon/ActionIcon.d.ts +4 -0
  15. package/action-icon/ActionIcon.js +47 -0
  16. package/action-icon/ActionIcon.stories.tsx +41 -0
  17. package/action-icon/ActionIcon.test.js +64 -0
  18. package/action-icon/types.d.ts +26 -0
  19. package/alert/Alert.js +15 -50
  20. package/alert/Alert.test.js +28 -45
  21. package/alert/types.d.ts +5 -5
  22. package/badge/Badge.d.ts +1 -1
  23. package/badge/Badge.js +141 -43
  24. package/badge/Badge.stories.tsx +210 -0
  25. package/badge/Badge.test.js +30 -0
  26. package/badge/types.d.ts +52 -3
  27. package/bleed/Bleed.js +13 -21
  28. package/bleed/types.d.ts +2 -2
  29. package/box/Box.js +11 -33
  30. package/box/Box.test.js +1 -6
  31. package/box/types.d.ts +3 -3
  32. package/bulleted-list/BulletedList.js +18 -54
  33. package/bulleted-list/BulletedList.stories.tsx +1 -92
  34. package/bulleted-list/types.d.ts +5 -5
  35. package/button/Button.js +36 -59
  36. package/button/Button.stories.tsx +33 -132
  37. package/button/Button.test.js +13 -21
  38. package/button/types.d.ts +5 -5
  39. package/card/Card.js +21 -44
  40. package/card/Card.test.js +10 -21
  41. package/card/types.d.ts +5 -5
  42. package/checkbox/Checkbox.js +85 -120
  43. package/checkbox/Checkbox.stories.tsx +16 -54
  44. package/checkbox/Checkbox.test.js +107 -63
  45. package/checkbox/types.d.ts +8 -4
  46. package/chip/Chip.js +12 -31
  47. package/chip/Chip.stories.tsx +1 -1
  48. package/chip/Chip.test.js +15 -28
  49. package/chip/types.d.ts +4 -4
  50. package/common/coreTokens.d.ts +105 -14
  51. package/common/coreTokens.js +40 -23
  52. package/common/utils.js +2 -8
  53. package/common/variables.d.ts +44 -139
  54. package/common/variables.js +55 -157
  55. package/container/Container.d.ts +4 -0
  56. package/container/Container.js +194 -0
  57. package/container/Container.stories.tsx +214 -0
  58. package/container/types.d.ts +74 -0
  59. package/container/types.js +5 -0
  60. package/contextual-menu/ContextualMenu.d.ts +7 -0
  61. package/contextual-menu/ContextualMenu.js +71 -0
  62. package/contextual-menu/ContextualMenu.stories.tsx +182 -0
  63. package/contextual-menu/ContextualMenu.test.js +71 -0
  64. package/contextual-menu/MenuItemAction.d.ts +4 -0
  65. package/contextual-menu/MenuItemAction.js +46 -0
  66. package/contextual-menu/types.d.ts +22 -0
  67. package/contextual-menu/types.js +5 -0
  68. package/date-input/Calendar.js +13 -57
  69. package/date-input/DateInput.js +50 -96
  70. package/date-input/DateInput.stories.tsx +11 -30
  71. package/date-input/DateInput.test.js +674 -701
  72. package/date-input/DatePicker.js +11 -42
  73. package/date-input/Icons.d.ts +6 -6
  74. package/date-input/Icons.js +6 -23
  75. package/date-input/YearPicker.js +8 -34
  76. package/date-input/types.d.ts +28 -22
  77. package/dialog/Dialog.js +13 -40
  78. package/dialog/Dialog.stories.tsx +170 -0
  79. package/dialog/Dialog.test.js +125 -187
  80. package/dialog/types.d.ts +18 -13
  81. package/divider/Divider.d.ts +4 -0
  82. package/divider/Divider.js +36 -0
  83. package/divider/Divider.stories.tsx +223 -0
  84. package/divider/Divider.test.js +38 -0
  85. package/divider/types.d.ts +19 -0
  86. package/divider/types.js +5 -0
  87. package/dropdown/Dropdown.js +48 -100
  88. package/dropdown/Dropdown.test.js +391 -378
  89. package/dropdown/DropdownMenu.js +8 -19
  90. package/dropdown/DropdownMenuItem.js +5 -17
  91. package/dropdown/types.d.ts +18 -20
  92. package/file-input/FileInput.js +180 -248
  93. package/file-input/FileInput.stories.tsx +1 -1
  94. package/file-input/FileInput.test.js +356 -354
  95. package/file-input/FileItem.js +12 -39
  96. package/file-input/types.d.ts +9 -9
  97. package/flex/Flex.js +25 -39
  98. package/flex/types.d.ts +6 -6
  99. package/footer/Footer.d.ts +1 -1
  100. package/footer/Footer.js +38 -65
  101. package/footer/Footer.stories.tsx +19 -0
  102. package/footer/Footer.test.js +18 -32
  103. package/footer/Icons.d.ts +3 -2
  104. package/footer/Icons.js +66 -7
  105. package/footer/types.d.ts +16 -16
  106. package/grid/Grid.js +1 -16
  107. package/grid/types.d.ts +10 -10
  108. package/header/Header.d.ts +1 -1
  109. package/header/Header.js +28 -84
  110. package/header/Header.test.js +12 -25
  111. package/header/Icons.d.ts +2 -2
  112. package/header/Icons.js +2 -7
  113. package/header/types.d.ts +7 -8
  114. package/heading/Heading.js +9 -31
  115. package/heading/Heading.test.js +70 -87
  116. package/heading/types.d.ts +7 -7
  117. package/icon/Icon.d.ts +4 -0
  118. package/icon/Icon.js +33 -0
  119. package/icon/Icon.stories.tsx +26 -0
  120. package/icon/types.d.ts +4 -0
  121. package/icon/types.js +5 -0
  122. package/image/Image.d.ts +2 -2
  123. package/image/Image.js +17 -32
  124. package/image/Image.stories.tsx +3 -1
  125. package/image/types.d.ts +2 -2
  126. package/inset/Inset.js +13 -21
  127. package/inset/types.d.ts +2 -2
  128. package/layout/ApplicationLayout.d.ts +2 -2
  129. package/layout/ApplicationLayout.js +14 -54
  130. package/layout/Icons.d.ts +5 -5
  131. package/layout/Icons.js +1 -5
  132. package/layout/SidenavContext.d.ts +1 -1
  133. package/layout/SidenavContext.js +3 -9
  134. package/layout/types.d.ts +3 -3
  135. package/link/Link.js +21 -42
  136. package/link/Link.test.js +23 -41
  137. package/link/types.d.ts +14 -14
  138. package/main.d.ts +7 -4
  139. package/main.js +32 -60
  140. package/nav-tabs/NavTabs.js +17 -46
  141. package/nav-tabs/NavTabs.stories.tsx +7 -5
  142. package/nav-tabs/NavTabs.test.js +38 -44
  143. package/nav-tabs/Tab.js +22 -50
  144. package/nav-tabs/types.d.ts +9 -9
  145. package/number-input/NumberInput.d.ts +1 -1
  146. package/number-input/NumberInput.js +45 -37
  147. package/number-input/NumberInput.stories.tsx +42 -26
  148. package/number-input/NumberInput.test.js +839 -575
  149. package/number-input/types.d.ts +11 -5
  150. package/package.json +29 -27
  151. package/paginator/Icons.d.ts +5 -5
  152. package/paginator/Icons.js +5 -19
  153. package/paginator/Paginator.js +15 -43
  154. package/paginator/Paginator.test.js +224 -207
  155. package/paginator/types.d.ts +3 -3
  156. package/paragraph/Paragraph.js +3 -19
  157. package/paragraph/Paragraph.stories.tsx +0 -17
  158. package/password-input/Icons.d.ts +3 -3
  159. package/password-input/Icons.js +1 -5
  160. package/password-input/PasswordInput.js +26 -48
  161. package/password-input/PasswordInput.stories.tsx +1 -34
  162. package/password-input/PasswordInput.test.js +153 -129
  163. package/password-input/types.d.ts +8 -7
  164. package/progress-bar/ProgressBar.js +21 -53
  165. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +1 -1
  166. package/progress-bar/ProgressBar.test.js +35 -52
  167. package/progress-bar/types.d.ts +3 -3
  168. package/quick-nav/QuickNav.js +4 -27
  169. package/quick-nav/QuickNav.stories.tsx +1 -1
  170. package/quick-nav/types.d.ts +10 -10
  171. package/radio-group/Radio.d.ts +1 -1
  172. package/radio-group/Radio.js +22 -54
  173. package/radio-group/RadioGroup.js +37 -83
  174. package/radio-group/RadioGroup.stories.tsx +10 -10
  175. package/radio-group/RadioGroup.test.js +504 -470
  176. package/radio-group/types.d.ts +8 -8
  177. package/resultset-table/Icons.d.ts +7 -0
  178. package/{resultsetTable → resultset-table}/Icons.js +1 -5
  179. package/resultset-table/ResultsetTable.d.ts +7 -0
  180. package/{resultsetTable → resultset-table}/ResultsetTable.js +35 -64
  181. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +102 -5
  182. package/{resultsetTable → resultset-table}/ResultsetTable.test.js +138 -92
  183. package/{resultsetTable → resultset-table}/types.d.ts +13 -7
  184. package/resultset-table/types.js +5 -0
  185. package/select/Icons.d.ts +7 -7
  186. package/select/Icons.js +1 -5
  187. package/select/Listbox.js +13 -39
  188. package/select/Option.js +17 -27
  189. package/select/Select.js +87 -163
  190. package/select/Select.test.js +1942 -1800
  191. package/select/types.d.ts +14 -15
  192. package/sidenav/Icons.d.ts +4 -4
  193. package/sidenav/Icons.js +1 -5
  194. package/sidenav/Sidenav.js +28 -69
  195. package/sidenav/Sidenav.test.js +3 -10
  196. package/sidenav/types.d.ts +18 -18
  197. package/slider/Slider.js +68 -125
  198. package/slider/Slider.test.js +107 -103
  199. package/slider/types.d.ts +4 -4
  200. package/spinner/Spinner.js +16 -54
  201. package/spinner/Spinner.test.js +25 -34
  202. package/spinner/types.d.ts +3 -3
  203. package/status-light/StatusLight.d.ts +4 -0
  204. package/status-light/StatusLight.js +51 -0
  205. package/status-light/StatusLight.stories.tsx +74 -0
  206. package/status-light/StatusLight.test.js +25 -0
  207. package/status-light/types.d.ts +17 -0
  208. package/status-light/types.js +5 -0
  209. package/switch/Switch.js +49 -97
  210. package/switch/Switch.stories.tsx +0 -34
  211. package/switch/Switch.test.js +51 -96
  212. package/switch/types.d.ts +4 -4
  213. package/table/DropdownTheme.js +62 -0
  214. package/table/Table.d.ts +6 -2
  215. package/table/Table.js +85 -33
  216. package/table/{Table.stories.jsx → Table.stories.tsx} +304 -2
  217. package/table/Table.test.js +93 -6
  218. package/table/types.d.ts +48 -6
  219. package/tabs/Tab.js +17 -33
  220. package/tabs/Tabs.js +52 -129
  221. package/tabs/Tabs.stories.tsx +1 -1
  222. package/tabs/Tabs.test.js +62 -118
  223. package/tabs/types.d.ts +19 -19
  224. package/tag/Tag.js +21 -51
  225. package/tag/Tag.test.js +19 -30
  226. package/tag/types.d.ts +7 -7
  227. package/text-input/Icons.d.ts +5 -5
  228. package/text-input/Icons.js +1 -5
  229. package/text-input/Suggestion.js +9 -26
  230. package/text-input/Suggestions.d.ts +1 -1
  231. package/text-input/Suggestions.js +15 -65
  232. package/text-input/TextInput.js +192 -284
  233. package/text-input/TextInput.stories.tsx +48 -152
  234. package/text-input/TextInput.test.js +1227 -1194
  235. package/text-input/types.d.ts +25 -17
  236. package/textarea/Textarea.js +67 -109
  237. package/textarea/{Textarea.stories.jsx → Textarea.stories.tsx} +58 -100
  238. package/textarea/Textarea.test.js +150 -179
  239. package/textarea/types.d.ts +9 -5
  240. package/toggle-group/ToggleGroup.js +21 -61
  241. package/toggle-group/ToggleGroup.stories.tsx +1 -1
  242. package/toggle-group/ToggleGroup.test.js +48 -81
  243. package/toggle-group/types.d.ts +10 -10
  244. package/typography/Typography.js +4 -13
  245. package/typography/types.d.ts +1 -1
  246. package/useTheme.d.ts +41 -136
  247. package/useTheme.js +1 -8
  248. package/useTranslatedLabels.js +1 -7
  249. package/utils/BaseTypography.d.ts +2 -2
  250. package/utils/BaseTypography.js +16 -30
  251. package/utils/FocusLock.js +25 -39
  252. package/wizard/Wizard.js +14 -49
  253. package/wizard/Wizard.test.js +53 -80
  254. package/wizard/types.d.ts +7 -7
  255. package/common/OpenSans.css +0 -69
  256. package/common/fonts/OpenSans-Bold.ttf +0 -0
  257. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  258. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  259. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  260. package/common/fonts/OpenSans-Italic.ttf +0 -0
  261. package/common/fonts/OpenSans-Light.ttf +0 -0
  262. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  263. package/common/fonts/OpenSans-Regular.ttf +0 -0
  264. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  265. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  266. package/resultsetTable/Icons.d.ts +0 -7
  267. package/resultsetTable/ResultsetTable.d.ts +0 -4
  268. package/slider/Slider.stories.tsx +0 -240
  269. /package/{resultsetTable → action-icon}/types.js +0 -0
  270. /package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +0 -0
@@ -0,0 +1,223 @@
1
+ import React from "react";
2
+ import Title from "../../.storybook/components/Title";
3
+ import DxcDivider from "./Divider";
4
+ import { DxcFlex, DxcParagraph } from "../main";
5
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
+
7
+ export default {
8
+ title: "Divider",
9
+ component: DxcDivider,
10
+ };
11
+
12
+ export const Chromatic = () => (
13
+ <>
14
+ <Title title="Default" level={4} />
15
+ <ExampleContainer>
16
+ <DxcFlex gap="1rem" direction="column">
17
+ <DxcParagraph>
18
+ Lorem ipsum dolor sit amet consectetur. Tincidunt sed pharetra mollis duis volutpat urna. Hendrerit aliquet et
19
+ arcu purus. Sodales elementum sollicitudin consequat elementum tortor. Lectus eget cursus ut ac pharetra
20
+ lobortis integer eu. Potenti amet ac id risus ac nunc orci nibh. Tempus vitae vitae aenean arcu. Nibh
21
+ tristique porta dui enim eget tristique rutrum. Quisque faucibus suscipit nibh est sed. Netus venenatis congue
22
+ diam in dui morbi dignissim lorem. Urna aliquet sem in tincidunt. Nunc arcu nec fringilla enim purus ut justo
23
+ nisi. Vel mus ut ornare faucibus blandit diam sit vestibulum massa. Semper nullam sit sagittis hendrerit
24
+ augue. In fermentum metus proin arcu faucibus proin nibh sit. Vel integer sed enim in sed vel nec ut vitae.
25
+ Commodo sagittis volutpat id lorem.
26
+ </DxcParagraph>
27
+ <DxcDivider />
28
+ <DxcParagraph>
29
+ Lorem ipsum dolor sit amet consectetur. Tincidunt sed pharetra mollis duis volutpat urna. Hendrerit aliquet et
30
+ arcu purus. Sodales elementum sollicitudin consequat elementum tortor. Lectus eget cursus ut ac pharetra
31
+ lobortis integer eu. Potenti amet ac id risus ac nunc orci nibh. Tempus vitae vitae aenean arcu. Nibh
32
+ tristique porta dui enim eget tristique rutrum. Quisque faucibus suscipit nibh est sed. Netus venenatis congue
33
+ diam in dui morbi dignissim lorem. Urna aliquet sem in tincidunt. Nunc arcu nec fringilla enim purus ut justo
34
+ nisi. Vel mus ut ornare faucibus blandit diam sit vestibulum massa. Semper nullam sit sagittis hendrerit
35
+ augue. In fermentum metus proin arcu faucibus proin nibh sit. Vel integer sed enim in sed vel nec ut vitae.
36
+ Commodo sagittis volutpat id lorem.
37
+ </DxcParagraph>
38
+ </DxcFlex>
39
+ </ExampleContainer>
40
+ <Title title="Default strong" level={4} />
41
+ <ExampleContainer>
42
+ <DxcFlex gap="1rem" direction="column">
43
+ <DxcParagraph>
44
+ Lorem ipsum dolor sit amet consectetur. Tincidunt sed pharetra mollis duis volutpat urna. Hendrerit aliquet et
45
+ arcu purus. Sodales elementum sollicitudin consequat elementum tortor. Lectus eget cursus ut ac pharetra
46
+ lobortis integer eu. Potenti amet ac id risus ac nunc orci nibh. Tempus vitae vitae aenean arcu. Nibh
47
+ tristique porta dui enim eget tristique rutrum. Quisque faucibus suscipit nibh est sed. Netus venenatis congue
48
+ diam in dui morbi dignissim lorem. Urna aliquet sem in tincidunt. Nunc arcu nec fringilla enim purus ut justo
49
+ nisi. Vel mus ut ornare faucibus blandit diam sit vestibulum massa. Semper nullam sit sagittis hendrerit
50
+ augue. In fermentum metus proin arcu faucibus proin nibh sit. Vel integer sed enim in sed vel nec ut vitae.
51
+ Commodo sagittis volutpat id lorem.
52
+ </DxcParagraph>
53
+ <DxcDivider weight="strong" />
54
+ <DxcParagraph>
55
+ Lorem ipsum dolor sit amet consectetur. Tincidunt sed pharetra mollis duis volutpat urna. Hendrerit aliquet et
56
+ arcu purus. Sodales elementum sollicitudin consequat elementum tortor. Lectus eget cursus ut ac pharetra
57
+ lobortis integer eu. Potenti amet ac id risus ac nunc orci nibh. Tempus vitae vitae aenean arcu. Nibh
58
+ tristique porta dui enim eget tristique rutrum. Quisque faucibus suscipit nibh est sed. Netus venenatis congue
59
+ diam in dui morbi dignissim lorem. Urna aliquet sem in tincidunt. Nunc arcu nec fringilla enim purus ut justo
60
+ nisi. Vel mus ut ornare faucibus blandit diam sit vestibulum massa. Semper nullam sit sagittis hendrerit
61
+ augue. In fermentum metus proin arcu faucibus proin nibh sit. Vel integer sed enim in sed vel nec ut vitae.
62
+ Commodo sagittis volutpat id lorem.
63
+ </DxcParagraph>
64
+ </DxcFlex>
65
+ </ExampleContainer>
66
+ <Title title="Default light grey" level={4} />
67
+ <ExampleContainer>
68
+ <DxcFlex gap="1rem" direction="column">
69
+ <DxcParagraph>
70
+ Lorem ipsum dolor sit amet consectetur. Tincidunt sed pharetra mollis duis volutpat urna. Hendrerit aliquet et
71
+ arcu purus. Sodales elementum sollicitudin consequat elementum tortor. Lectus eget cursus ut ac pharetra
72
+ lobortis integer eu. Potenti amet ac id risus ac nunc orci nibh. Tempus vitae vitae aenean arcu. Nibh
73
+ tristique porta dui enim eget tristique rutrum. Quisque faucibus suscipit nibh est sed. Netus venenatis congue
74
+ diam in dui morbi dignissim lorem. Urna aliquet sem in tincidunt. Nunc arcu nec fringilla enim purus ut justo
75
+ nisi. Vel mus ut ornare faucibus blandit diam sit vestibulum massa. Semper nullam sit sagittis hendrerit
76
+ augue. In fermentum metus proin arcu faucibus proin nibh sit. Vel integer sed enim in sed vel nec ut vitae.
77
+ Commodo sagittis volutpat id lorem.
78
+ </DxcParagraph>
79
+ <DxcDivider color="lightGrey" />
80
+ <DxcParagraph>
81
+ Lorem ipsum dolor sit amet consectetur. Tincidunt sed pharetra mollis duis volutpat urna. Hendrerit aliquet et
82
+ arcu purus. Sodales elementum sollicitudin consequat elementum tortor. Lectus eget cursus ut ac pharetra
83
+ lobortis integer eu. Potenti amet ac id risus ac nunc orci nibh. Tempus vitae vitae aenean arcu. Nibh
84
+ tristique porta dui enim eget tristique rutrum. Quisque faucibus suscipit nibh est sed. Netus venenatis congue
85
+ diam in dui morbi dignissim lorem. Urna aliquet sem in tincidunt. Nunc arcu nec fringilla enim purus ut justo
86
+ nisi. Vel mus ut ornare faucibus blandit diam sit vestibulum massa. Semper nullam sit sagittis hendrerit
87
+ augue. In fermentum metus proin arcu faucibus proin nibh sit. Vel integer sed enim in sed vel nec ut vitae.
88
+ Commodo sagittis volutpat id lorem.
89
+ </DxcParagraph>
90
+ </DxcFlex>
91
+ </ExampleContainer>
92
+ <Title title="Default dark grey" level={4} />
93
+ <ExampleContainer>
94
+ <DxcFlex gap="1rem" direction="column">
95
+ <DxcParagraph>
96
+ Lorem ipsum dolor sit amet consectetur. Tincidunt sed pharetra mollis duis volutpat urna. Hendrerit aliquet et
97
+ arcu purus. Sodales elementum sollicitudin consequat elementum tortor. Lectus eget cursus ut ac pharetra
98
+ lobortis integer eu. Potenti amet ac id risus ac nunc orci nibh. Tempus vitae vitae aenean arcu. Nibh
99
+ tristique porta dui enim eget tristique rutrum. Quisque faucibus suscipit nibh est sed. Netus venenatis congue
100
+ diam in dui morbi dignissim lorem. Urna aliquet sem in tincidunt. Nunc arcu nec fringilla enim purus ut justo
101
+ nisi. Vel mus ut ornare faucibus blandit diam sit vestibulum massa. Semper nullam sit sagittis hendrerit
102
+ augue. In fermentum metus proin arcu faucibus proin nibh sit. Vel integer sed enim in sed vel nec ut vitae.
103
+ Commodo sagittis volutpat id lorem.
104
+ </DxcParagraph>
105
+ <DxcDivider color="darkGrey" />
106
+ <DxcParagraph>
107
+ Lorem ipsum dolor sit amet consectetur. Tincidunt sed pharetra mollis duis volutpat urna. Hendrerit aliquet et
108
+ arcu purus. Sodales elementum sollicitudin consequat elementum tortor. Lectus eget cursus ut ac pharetra
109
+ lobortis integer eu. Potenti amet ac id risus ac nunc orci nibh. Tempus vitae vitae aenean arcu. Nibh
110
+ tristique porta dui enim eget tristique rutrum. Quisque faucibus suscipit nibh est sed. Netus venenatis congue
111
+ diam in dui morbi dignissim lorem. Urna aliquet sem in tincidunt. Nunc arcu nec fringilla enim purus ut justo
112
+ nisi. Vel mus ut ornare faucibus blandit diam sit vestibulum massa. Semper nullam sit sagittis hendrerit
113
+ augue. In fermentum metus proin arcu faucibus proin nibh sit. Vel integer sed enim in sed vel nec ut vitae.
114
+ Commodo sagittis volutpat id lorem.
115
+ </DxcParagraph>
116
+ </DxcFlex>
117
+ </ExampleContainer>
118
+ <Title title="Vertical" level={4} />
119
+ <ExampleContainer>
120
+ <DxcFlex gap="1rem" direction="row">
121
+ <DxcParagraph>
122
+ Lorem ipsum dolor sit amet consectetur. Tincidunt sed pharetra mollis duis volutpat urna. Hendrerit aliquet et
123
+ arcu purus. Sodales elementum sollicitudin consequat elementum tortor. Lectus eget cursus ut ac pharetra
124
+ lobortis integer eu. Potenti amet ac id risus ac nunc orci nibh. Tempus vitae vitae aenean arcu. Nibh
125
+ tristique porta dui enim eget tristique rutrum. Quisque faucibus suscipit nibh est sed. Netus venenatis congue
126
+ diam in dui morbi dignissim lorem. Urna aliquet sem in tincidunt. Nunc arcu nec fringilla enim purus ut justo
127
+ nisi. Vel mus ut ornare faucibus blandit diam sit vestibulum massa. Semper nullam sit sagittis hendrerit
128
+ augue. In fermentum metus proin arcu faucibus proin nibh sit. Vel integer sed enim in sed vel nec ut vitae.
129
+ Commodo sagittis volutpat id lorem.
130
+ </DxcParagraph>
131
+ <DxcDivider orientation="vertical" />
132
+ <DxcParagraph>
133
+ Lorem ipsum dolor sit amet consectetur. Tincidunt sed pharetra mollis duis volutpat urna. Hendrerit aliquet et
134
+ arcu purus. Sodales elementum sollicitudin consequat elementum tortor. Lectus eget cursus ut ac pharetra
135
+ lobortis integer eu. Potenti amet ac id risus ac nunc orci nibh. Tempus vitae vitae aenean arcu. Nibh
136
+ tristique porta dui enim eget tristique rutrum. Quisque faucibus suscipit nibh est sed. Netus venenatis congue
137
+ diam in dui morbi dignissim lorem. Urna aliquet sem in tincidunt. Nunc arcu nec fringilla enim purus ut justo
138
+ nisi. Vel mus ut ornare faucibus blandit diam sit vestibulum massa. Semper nullam sit sagittis hendrerit
139
+ augue. In fermentum metus proin arcu faucibus proin nibh sit. Vel integer sed enim in sed vel nec ut vitae.
140
+ Commodo sagittis volutpat id lorem.
141
+ </DxcParagraph>
142
+ </DxcFlex>
143
+ </ExampleContainer>
144
+ <Title title="Vertical strong" level={4} />
145
+ <ExampleContainer>
146
+ <DxcFlex gap="1rem" direction="row">
147
+ <DxcParagraph>
148
+ Lorem ipsum dolor sit amet consectetur. Tincidunt sed pharetra mollis duis volutpat urna. Hendrerit aliquet et
149
+ arcu purus. Sodales elementum sollicitudin consequat elementum tortor. Lectus eget cursus ut ac pharetra
150
+ lobortis integer eu. Potenti amet ac id risus ac nunc orci nibh. Tempus vitae vitae aenean arcu. Nibh
151
+ tristique porta dui enim eget tristique rutrum. Quisque faucibus suscipit nibh est sed. Netus venenatis congue
152
+ diam in dui morbi dignissim lorem. Urna aliquet sem in tincidunt. Nunc arcu nec fringilla enim purus ut justo
153
+ nisi. Vel mus ut ornare faucibus blandit diam sit vestibulum massa. Semper nullam sit sagittis hendrerit
154
+ augue. In fermentum metus proin arcu faucibus proin nibh sit. Vel integer sed enim in sed vel nec ut vitae.
155
+ Commodo sagittis volutpat id lorem.
156
+ </DxcParagraph>
157
+ <DxcDivider orientation="vertical" weight="strong" />
158
+ <DxcParagraph>
159
+ Lorem ipsum dolor sit amet consectetur. Tincidunt sed pharetra mollis duis volutpat urna. Hendrerit aliquet et
160
+ arcu purus. Sodales elementum sollicitudin consequat elementum tortor. Lectus eget cursus ut ac pharetra
161
+ lobortis integer eu. Potenti amet ac id risus ac nunc orci nibh. Tempus vitae vitae aenean arcu. Nibh
162
+ tristique porta dui enim eget tristique rutrum. Quisque faucibus suscipit nibh est sed. Netus venenatis congue
163
+ diam in dui morbi dignissim lorem. Urna aliquet sem in tincidunt. Nunc arcu nec fringilla enim purus ut justo
164
+ nisi. Vel mus ut ornare faucibus blandit diam sit vestibulum massa. Semper nullam sit sagittis hendrerit
165
+ augue. In fermentum metus proin arcu faucibus proin nibh sit. Vel integer sed enim in sed vel nec ut vitae.
166
+ Commodo sagittis volutpat id lorem.
167
+ </DxcParagraph>
168
+ </DxcFlex>
169
+ </ExampleContainer>
170
+ <Title title="Vertical light grey" level={4} />
171
+ <ExampleContainer>
172
+ <DxcFlex gap="1rem" direction="row">
173
+ <DxcParagraph>
174
+ Lorem ipsum dolor sit amet consectetur. Tincidunt sed pharetra mollis duis volutpat urna. Hendrerit aliquet et
175
+ arcu purus. Sodales elementum sollicitudin consequat elementum tortor. Lectus eget cursus ut ac pharetra
176
+ lobortis integer eu. Potenti amet ac id risus ac nunc orci nibh. Tempus vitae vitae aenean arcu. Nibh
177
+ tristique porta dui enim eget tristique rutrum. Quisque faucibus suscipit nibh est sed. Netus venenatis congue
178
+ diam in dui morbi dignissim lorem. Urna aliquet sem in tincidunt. Nunc arcu nec fringilla enim purus ut justo
179
+ nisi. Vel mus ut ornare faucibus blandit diam sit vestibulum massa. Semper nullam sit sagittis hendrerit
180
+ augue. In fermentum metus proin arcu faucibus proin nibh sit. Vel integer sed enim in sed vel nec ut vitae.
181
+ Commodo sagittis volutpat id lorem.
182
+ </DxcParagraph>
183
+ <DxcDivider orientation="vertical" color="lightGrey" />
184
+ <DxcParagraph>
185
+ Lorem ipsum dolor sit amet consectetur. Tincidunt sed pharetra mollis duis volutpat urna. Hendrerit aliquet et
186
+ arcu purus. Sodales elementum sollicitudin consequat elementum tortor. Lectus eget cursus ut ac pharetra
187
+ lobortis integer eu. Potenti amet ac id risus ac nunc orci nibh. Tempus vitae vitae aenean arcu. Nibh
188
+ tristique porta dui enim eget tristique rutrum. Quisque faucibus suscipit nibh est sed. Netus venenatis congue
189
+ diam in dui morbi dignissim lorem. Urna aliquet sem in tincidunt. Nunc arcu nec fringilla enim purus ut justo
190
+ nisi. Vel mus ut ornare faucibus blandit diam sit vestibulum massa. Semper nullam sit sagittis hendrerit
191
+ augue. In fermentum metus proin arcu faucibus proin nibh sit. Vel integer sed enim in sed vel nec ut vitae.
192
+ Commodo sagittis volutpat id lorem.
193
+ </DxcParagraph>
194
+ </DxcFlex>
195
+ </ExampleContainer>
196
+ <Title title="Vertical dark grey" level={4} />
197
+ <ExampleContainer>
198
+ <DxcFlex gap="1rem" direction="row">
199
+ <DxcParagraph>
200
+ Lorem ipsum dolor sit amet consectetur. Tincidunt sed pharetra mollis duis volutpat urna. Hendrerit aliquet et
201
+ arcu purus. Sodales elementum sollicitudin consequat elementum tortor. Lectus eget cursus ut ac pharetra
202
+ lobortis integer eu. Potenti amet ac id risus ac nunc orci nibh. Tempus vitae vitae aenean arcu. Nibh
203
+ tristique porta dui enim eget tristique rutrum. Quisque faucibus suscipit nibh est sed. Netus venenatis congue
204
+ diam in dui morbi dignissim lorem. Urna aliquet sem in tincidunt. Nunc arcu nec fringilla enim purus ut justo
205
+ nisi. Vel mus ut ornare faucibus blandit diam sit vestibulum massa. Semper nullam sit sagittis hendrerit
206
+ augue. In fermentum metus proin arcu faucibus proin nibh sit. Vel integer sed enim in sed vel nec ut vitae.
207
+ Commodo sagittis volutpat id lorem.
208
+ </DxcParagraph>
209
+ <DxcDivider orientation="vertical" color="darkGrey" />
210
+ <DxcParagraph>
211
+ Lorem ipsum dolor sit amet consectetur. Tincidunt sed pharetra mollis duis volutpat urna. Hendrerit aliquet et
212
+ arcu purus. Sodales elementum sollicitudin consequat elementum tortor. Lectus eget cursus ut ac pharetra
213
+ lobortis integer eu. Potenti amet ac id risus ac nunc orci nibh. Tempus vitae vitae aenean arcu. Nibh
214
+ tristique porta dui enim eget tristique rutrum. Quisque faucibus suscipit nibh est sed. Netus venenatis congue
215
+ diam in dui morbi dignissim lorem. Urna aliquet sem in tincidunt. Nunc arcu nec fringilla enim purus ut justo
216
+ nisi. Vel mus ut ornare faucibus blandit diam sit vestibulum massa. Semper nullam sit sagittis hendrerit
217
+ augue. In fermentum metus proin arcu faucibus proin nibh sit. Vel integer sed enim in sed vel nec ut vitae.
218
+ Commodo sagittis volutpat id lorem.
219
+ </DxcParagraph>
220
+ </DxcFlex>
221
+ </ExampleContainer>
222
+ </>
223
+ );
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _react = _interopRequireDefault(require("react"));
5
+ var _react2 = require("@testing-library/react");
6
+ var _Divider = _interopRequireDefault(require("./Divider"));
7
+ describe("Divider Component", function () {
8
+ test("Default renders horizontal divider correctly", function () {
9
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Divider["default"], null)),
10
+ container = _render.container;
11
+ var divider = container.querySelector("hr");
12
+ expect(divider.getAttribute("aria-orientation")).toBe("horizontal");
13
+ });
14
+ test("Renders vertical divider correctly", function () {
15
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Divider["default"], {
16
+ orientation: "vertical"
17
+ })),
18
+ container = _render2.container;
19
+ var divider = container.querySelector("hr");
20
+ expect(divider.getAttribute("aria-orientation")).toBe("vertical");
21
+ });
22
+ test("Renders divider as a decorative resource by default", function () {
23
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Divider["default"], null)),
24
+ container = _render3.container;
25
+ var divider = container.querySelector("hr");
26
+ expect(divider).toBeTruthy();
27
+ expect(divider.getAttribute("aria-hidden")).toBe("true");
28
+ });
29
+ test("Renders divider as a separator if it is not decorative", function () {
30
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Divider["default"], {
31
+ decorative: false
32
+ })),
33
+ getByRole = _render4.getByRole;
34
+ var divider = getByRole("separator");
35
+ expect(divider).toBeTruthy();
36
+ expect(divider.getAttribute("aria-hidden")).toBe("false");
37
+ });
38
+ });
@@ -0,0 +1,19 @@
1
+ type Props = {
2
+ /**
3
+ * The divider can be shown in horizontal or vertical.
4
+ */
5
+ orientation?: "horizontal" | "vertical";
6
+ /**
7
+ * Modifies the thickness of the divider.
8
+ */
9
+ weight?: "regular" | "strong";
10
+ /**
11
+ * Modifies the color of the divider.
12
+ */
13
+ color?: "lightGrey" | "mediumGrey" | "darkGrey";
14
+ /**
15
+ * Indicates whether the divider is just a decorative resource or it works as a semantic separator of content.
16
+ */
17
+ decorative?: boolean;
18
+ };
19
+ export default Props;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -1,42 +1,25 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof3 = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
9
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
-
14
10
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
-
16
11
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
-
18
12
  var _react = _interopRequireWildcard(require("react"));
19
-
20
13
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
-
22
14
  var _variables = require("../common/variables");
23
-
24
15
  var _utils = require("../common/utils");
25
-
26
16
  var _useTheme = _interopRequireDefault(require("../useTheme"));
27
-
28
17
  var _uuid = require("uuid");
29
-
30
18
  var Popover = _interopRequireWildcard(require("@radix-ui/react-popover"));
31
-
32
19
  var _DropdownMenu = _interopRequireDefault(require("./DropdownMenu"));
33
-
34
20
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
35
-
36
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
37
-
38
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
39
-
21
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
22
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
40
23
  var upArrowIcon = /*#__PURE__*/_react["default"].createElement("svg", {
41
24
  xmlns: "http://www.w3.org/2000/svg",
42
25
  width: "24",
@@ -49,7 +32,6 @@ var upArrowIcon = /*#__PURE__*/_react["default"].createElement("svg", {
49
32
  d: "M0 0h24v24H0z",
50
33
  fill: "none"
51
34
  }));
52
-
53
35
  var downArrowIcon = /*#__PURE__*/_react["default"].createElement("svg", {
54
36
  xmlns: "http://www.w3.org/2000/svg",
55
37
  width: "24",
@@ -62,13 +44,11 @@ var downArrowIcon = /*#__PURE__*/_react["default"].createElement("svg", {
62
44
  d: "M0 0h24v24H0z",
63
45
  fill: "none"
64
46
  }));
65
-
66
47
  var useWidth = function useWidth(target) {
67
48
  var _useState = (0, _react.useState)(0),
68
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
69
- width = _useState2[0],
70
- setWidth = _useState2[1];
71
-
49
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
50
+ width = _useState2[0],
51
+ setWidth = _useState2[1];
72
52
  (0, _react.useEffect)(function () {
73
53
  if (target != null) {
74
54
  setWidth(target.getBoundingClientRect().width);
@@ -84,77 +64,64 @@ var useWidth = function useWidth(target) {
84
64
  }, [target]);
85
65
  return width;
86
66
  };
87
-
88
67
  var DxcDropdown = function DxcDropdown(_ref) {
89
68
  var options = _ref.options,
90
- _ref$optionsIconPosit = _ref.optionsIconPosition,
91
- optionsIconPosition = _ref$optionsIconPosit === void 0 ? "before" : _ref$optionsIconPosit,
92
- icon = _ref.icon,
93
- _ref$iconPosition = _ref.iconPosition,
94
- iconPosition = _ref$iconPosition === void 0 ? "before" : _ref$iconPosition,
95
- _ref$label = _ref.label,
96
- label = _ref$label === void 0 ? "" : _ref$label,
97
- _ref$caretHidden = _ref.caretHidden,
98
- caretHidden = _ref$caretHidden === void 0 ? false : _ref$caretHidden,
99
- _ref$disabled = _ref.disabled,
100
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
101
- _ref$expandOnHover = _ref.expandOnHover,
102
- expandOnHover = _ref$expandOnHover === void 0 ? false : _ref$expandOnHover,
103
- onSelectOption = _ref.onSelectOption,
104
- margin = _ref.margin,
105
- _ref$size = _ref.size,
106
- size = _ref$size === void 0 ? "fitContent" : _ref$size,
107
- _ref$tabIndex = _ref.tabIndex,
108
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
109
-
69
+ _ref$optionsIconPosit = _ref.optionsIconPosition,
70
+ optionsIconPosition = _ref$optionsIconPosit === void 0 ? "before" : _ref$optionsIconPosit,
71
+ icon = _ref.icon,
72
+ _ref$iconPosition = _ref.iconPosition,
73
+ iconPosition = _ref$iconPosition === void 0 ? "before" : _ref$iconPosition,
74
+ _ref$label = _ref.label,
75
+ label = _ref$label === void 0 ? "" : _ref$label,
76
+ _ref$caretHidden = _ref.caretHidden,
77
+ caretHidden = _ref$caretHidden === void 0 ? false : _ref$caretHidden,
78
+ _ref$disabled = _ref.disabled,
79
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
80
+ _ref$expandOnHover = _ref.expandOnHover,
81
+ expandOnHover = _ref$expandOnHover === void 0 ? false : _ref$expandOnHover,
82
+ onSelectOption = _ref.onSelectOption,
83
+ margin = _ref.margin,
84
+ _ref$size = _ref.size,
85
+ size = _ref$size === void 0 ? "fitContent" : _ref$size,
86
+ _ref$tabIndex = _ref.tabIndex,
87
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
110
88
  var _useState3 = (0, _react.useState)("trigger-".concat((0, _uuid.v4)())),
111
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
112
- triggerId = _useState4[0];
113
-
89
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
90
+ triggerId = _useState4[0];
114
91
  var menuId = "menu-".concat(triggerId);
115
-
116
92
  var _useState5 = (0, _react.useState)(false),
117
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
118
- isOpen = _useState6[0],
119
- changeIsOpen = _useState6[1];
120
-
93
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
94
+ isOpen = _useState6[0],
95
+ changeIsOpen = _useState6[1];
121
96
  var _useState7 = (0, _react.useState)(0),
122
- _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
123
- visualFocusIndex = _useState8[0],
124
- setVisualFocusIndex = _useState8[1];
125
-
97
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
98
+ visualFocusIndex = _useState8[0],
99
+ setVisualFocusIndex = _useState8[1];
126
100
  var colorsTheme = (0, _useTheme["default"])();
127
101
  var triggerRef = (0, _react.useRef)(null);
128
102
  var menuRef = (0, _react.useRef)(null);
129
103
  var width = useWidth(triggerRef.current);
130
-
131
104
  var handleOnOpenMenu = function handleOnOpenMenu() {
132
105
  changeIsOpen(true);
133
106
  };
134
-
135
107
  var handleOnCloseMenu = function handleOnCloseMenu() {
136
108
  changeIsOpen(false);
137
109
  setVisualFocusIndex(0);
138
110
  };
139
-
140
111
  var handleMenuItemOnClick = (0, _react.useCallback)(function (value) {
141
112
  var _triggerRef$current;
142
-
143
113
  onSelectOption(value);
144
114
  handleOnCloseMenu();
145
115
  (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.focus();
146
116
  }, [onSelectOption]);
147
-
148
117
  var handleOnBlur = function handleOnBlur(event) {
149
118
  !event.currentTarget.contains(event.relatedTarget) && handleOnCloseMenu();
150
119
  };
151
-
152
120
  var handleTriggerOnClick = function handleTriggerOnClick() {
153
121
  changeIsOpen(function (isOpen) {
154
122
  return !isOpen;
155
123
  });
156
124
  };
157
-
158
125
  var handleTriggerOnKeyDown = function handleTriggerOnKeyDown(event) {
159
126
  switch (event.key) {
160
127
  case "Up":
@@ -163,7 +130,6 @@ var DxcDropdown = function DxcDropdown(_ref) {
163
130
  setVisualFocusIndex(options.length - 1);
164
131
  handleOnOpenMenu();
165
132
  break;
166
-
167
133
  case " ":
168
134
  case "Down":
169
135
  case "ArrowDown":
@@ -173,62 +139,52 @@ var DxcDropdown = function DxcDropdown(_ref) {
173
139
  break;
174
140
  }
175
141
  };
176
-
177
142
  var setPreviousIndexFocus = function setPreviousIndexFocus() {
178
143
  setVisualFocusIndex(function (currentFocusIndex) {
179
144
  var index = currentFocusIndex === 0 ? options.length - 1 : currentFocusIndex - 1;
180
145
  return index;
181
146
  });
182
147
  };
183
-
184
148
  var setNextIndexFocus = function setNextIndexFocus() {
185
149
  setVisualFocusIndex(function (currentFocusIndex) {
186
150
  var index = currentFocusIndex === options.length - 1 ? 0 : currentFocusIndex + 1;
187
151
  return index;
188
152
  });
189
153
  };
190
-
191
154
  var handleMenuOnKeyDown = (0, _react.useCallback)(function (event) {
192
155
  var _triggerRef$current2, _triggerRef$current3;
193
-
194
156
  switch (event.key) {
195
157
  case "Up":
196
158
  case "ArrowUp":
197
159
  event.preventDefault();
198
160
  setPreviousIndexFocus();
199
161
  break;
200
-
201
162
  case "Down":
202
163
  case "ArrowDown":
203
164
  event.preventDefault();
204
165
  setNextIndexFocus();
205
166
  break;
206
-
207
167
  case " ":
208
168
  case "Enter":
209
169
  event.preventDefault();
210
170
  handleMenuItemOnClick(options[visualFocusIndex].value);
211
171
  break;
212
-
213
172
  case "Esc":
214
173
  case "Escape":
215
174
  event.preventDefault();
216
175
  handleOnCloseMenu();
217
176
  (_triggerRef$current2 = triggerRef.current) === null || _triggerRef$current2 === void 0 ? void 0 : _triggerRef$current2.focus();
218
177
  break;
219
-
220
178
  case "Home":
221
179
  case "PageUp":
222
180
  event.preventDefault();
223
181
  setVisualFocusIndex(0);
224
182
  break;
225
-
226
183
  case "End":
227
184
  case "PageDown":
228
185
  event.preventDefault();
229
186
  setVisualFocusIndex(options.length - 1);
230
187
  break;
231
-
232
188
  case "Tab":
233
189
  handleOnCloseMenu();
234
190
  (_triggerRef$current3 = triggerRef.current) === null || _triggerRef$current3 === void 0 ? void 0 : _triggerRef$current3.focus();
@@ -237,7 +193,6 @@ var DxcDropdown = function DxcDropdown(_ref) {
237
193
  }, [onSelectOption, visualFocusIndex, options]);
238
194
  (0, _react.useLayoutEffect)(function () {
239
195
  var _menuRef$current, _visualFocusedMenuIte;
240
-
241
196
  var visualFocusedMenuItem = menuRef === null || menuRef === void 0 ? void 0 : (_menuRef$current = menuRef.current) === null || _menuRef$current === void 0 ? void 0 : _menuRef$current.querySelectorAll("[role='menuitem']")[visualFocusIndex];
242
197
  visualFocusedMenuItem === null || visualFocusedMenuItem === void 0 ? void 0 : (_visualFocusedMenuIte = visualFocusedMenuItem.scrollIntoView) === null || _visualFocusedMenuIte === void 0 ? void 0 : _visualFocusedMenuIte.call(visualFocusedMenuItem, {
243
198
  block: "nearest",
@@ -280,9 +235,9 @@ var DxcDropdown = function DxcDropdown(_ref) {
280
235
  src: icon
281
236
  }) : icon), label && iconPosition === "before" && /*#__PURE__*/_react["default"].createElement(DropdownTriggerLabel, null, label)), !caretHidden && /*#__PURE__*/_react["default"].createElement(CaretIcon, {
282
237
  disabled: disabled
283
- }, isOpen ? upArrowIcon : downArrowIcon))), /*#__PURE__*/_react["default"].createElement(Popover.Content, {
284
- sideOffset: 1,
285
- asChild: true
238
+ }, isOpen ? upArrowIcon : downArrowIcon))), /*#__PURE__*/_react["default"].createElement(Popover.Portal, null, /*#__PURE__*/_react["default"].createElement(Popover.Content, {
239
+ asChild: true,
240
+ sideOffset: 1
286
241
  }, /*#__PURE__*/_react["default"].createElement(_DropdownMenu["default"], {
287
242
  id: menuId,
288
243
  dropdownTriggerId: triggerId,
@@ -292,12 +247,12 @@ var DxcDropdown = function DxcDropdown(_ref) {
292
247
  menuItemOnClick: handleMenuItemOnClick,
293
248
  onKeyDown: handleMenuOnKeyDown,
294
249
  styles: {
295
- width: width
250
+ width: width,
251
+ zIndex: "2147483647"
296
252
  },
297
253
  ref: menuRef
298
- })))));
254
+ }))))));
299
255
  };
300
-
301
256
  var sizes = {
302
257
  small: "60px",
303
258
  medium: "240px",
@@ -305,12 +260,10 @@ var sizes = {
305
260
  fillParent: "100%",
306
261
  fitContent: "fit-content"
307
262
  };
308
-
309
263
  var calculateWidth = function calculateWidth(margin, size) {
310
264
  return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
311
265
  };
312
-
313
- var DropdownContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-block;\n width: ", ";\n text-overflow: ellipsis;\n overflow: hidden;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
266
+ var DropdownContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
314
267
  return calculateWidth(props.margin, props.size);
315
268
  }, function (props) {
316
269
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
@@ -323,19 +276,20 @@ var DropdownContainer = _styledComponents["default"].div(_templateObject || (_te
323
276
  }, function (props) {
324
277
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
325
278
  });
326
-
327
- var DropdownTrigger = _styledComponents["default"].button(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: ", ";\n width: 100%;\n min-height: 40px;\n min-width: ", ";\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n background-color: ", ";\n color: ", ";\n cursor: ", ";\n\n ", ";\n"])), function (props) {
279
+ var DropdownTrigger = _styledComponents["default"].button(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: ", ";\n width: 100%;\n height: ", ";\n min-width: ", ";\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n background-color: ", ";\n color: ", ";\n cursor: ", ";\n\n ", ";\n"])), function (props) {
328
280
  return props.theme.caretIconSpacing;
281
+ }, function (props) {
282
+ return props.theme.buttonHeight;
329
283
  }, function (props) {
330
284
  return props.label === "" ? "0px" : calculateWidth(props.margin, props.size);
331
285
  }, function (props) {
332
- return props.theme.borderRadius;
286
+ return props.theme.buttonBorderRadius;
333
287
  }, function (props) {
334
- return props.theme.borderThickness;
288
+ return props.theme.buttonBorderThickness;
335
289
  }, function (props) {
336
- return props.theme.borderStyle;
290
+ return props.theme.buttonBorderStyle;
337
291
  }, function (props) {
338
- return props.disabled ? props.theme.disabledBorderColor : props.theme.borderColor;
292
+ return props.disabled ? props.theme.disabledButtonBorderColor : props.theme.buttonBorderColor;
339
293
  }, function (props) {
340
294
  return props.theme.buttonPaddingTop;
341
295
  }, function (props) {
@@ -351,13 +305,11 @@ var DropdownTrigger = _styledComponents["default"].button(_templateObject2 || (_
351
305
  }, function (props) {
352
306
  return props.disabled ? "not-allowed" : "pointer";
353
307
  }, function (props) {
354
- return !props.disabled && "\n &:focus {\n outline: ".concat(props.theme.focusColor, " solid 2px;\n outline-offset: -2px;\n }\n &:hover {\n background-color: ").concat(props.theme.hoverButtonBackgroundColor, ";\n }\n &:active {\n background-color: ").concat(props.theme.activeButtonBackgroundColor, ";\n }\n ");
308
+ return !props.disabled && "\n &:focus {\n outline: 2px solid ".concat(props.theme.focusColor, ";\n }\n &:hover {\n background-color: ").concat(props.theme.hoverButtonBackgroundColor, ";\n }\n &:active {\n background-color: ").concat(props.theme.activeButtonBackgroundColor, ";\n }\n ");
355
309
  });
356
-
357
310
  var DropdownTriggerContent = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n gap: ", ";\n margin-left: 0px;\n margin-right: 0px;\n width: 100%;\n overflow: hidden;\n white-space: nowrap;\n"])), function (props) {
358
311
  return props.theme.buttonIconSpacing;
359
312
  });
360
-
361
313
  var DropdownTriggerLabel = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n text-overflow: ellipsis;\n overflow: hidden;\n"])), function (props) {
362
314
  return props.theme.buttonFontFamily;
363
315
  }, function (props) {
@@ -367,7 +319,6 @@ var DropdownTriggerLabel = _styledComponents["default"].span(_templateObject4 ||
367
319
  }, function (props) {
368
320
  return props.theme.buttonFontWeight;
369
321
  });
370
-
371
322
  var DropdownTriggerIcon = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n color: ", ";\n\n img,\n svg {\n width: ", ";\n height: ", ";\n }\n"])), function (props) {
372
323
  return props.disabled ? props.theme.disabledColor : props.theme.buttonIconColor;
373
324
  }, function (props) {
@@ -375,7 +326,6 @@ var DropdownTriggerIcon = _styledComponents["default"].span(_templateObject5 ||
375
326
  }, function (props) {
376
327
  return props.theme.buttonIconSize;
377
328
  });
378
-
379
329
  var CaretIcon = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n color: ", ";\n\n svg {\n width: ", ";\n height: ", ";\n }\n"])), function (props) {
380
330
  return props.disabled ? props.theme.disabledColor : props.theme.caretIconColor;
381
331
  }, function (props) {
@@ -383,6 +333,4 @@ var CaretIcon = _styledComponents["default"].span(_templateObject6 || (_template
383
333
  }, function (props) {
384
334
  return props.theme.caretIconSize;
385
335
  });
386
-
387
- var _default = DxcDropdown;
388
- exports["default"] = _default;
336
+ var _default = exports["default"] = DxcDropdown;