@dxc-technology/halstack-react 0.0.0-9e83fd2 → 0.0.0-9ef63cd

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 (353) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +4 -21
  3. package/HalstackContext.d.ts +53 -143
  4. package/HalstackContext.js +10 -35
  5. package/README.md +47 -0
  6. package/accordion/Accordion.accessibility.test.js +71 -0
  7. package/accordion/Accordion.js +33 -87
  8. package/accordion/Accordion.stories.tsx +8 -64
  9. package/accordion/Accordion.test.js +18 -33
  10. package/accordion/types.d.ts +6 -6
  11. package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
  12. package/accordion-group/AccordionGroup.d.ts +2 -3
  13. package/accordion-group/AccordionGroup.js +17 -44
  14. package/accordion-group/AccordionGroup.stories.tsx +24 -24
  15. package/accordion-group/AccordionGroup.test.js +42 -60
  16. package/accordion-group/AccordionGroupAccordion.js +11 -23
  17. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  18. package/accordion-group/AccordionGroupContext.js +8 -0
  19. package/accordion-group/types.d.ts +7 -7
  20. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  21. package/action-icon/ActionIcon.d.ts +4 -0
  22. package/action-icon/ActionIcon.js +48 -0
  23. package/action-icon/ActionIcon.stories.tsx +41 -0
  24. package/action-icon/ActionIcon.test.js +64 -0
  25. package/action-icon/types.d.ts +26 -0
  26. package/alert/Alert.accessibility.test.js +95 -0
  27. package/alert/Alert.js +34 -120
  28. package/alert/Alert.test.js +28 -45
  29. package/alert/types.d.ts +5 -5
  30. package/badge/Badge.accessibility.test.js +129 -0
  31. package/badge/Badge.d.ts +1 -1
  32. package/badge/Badge.js +142 -42
  33. package/badge/Badge.stories.tsx +210 -0
  34. package/badge/Badge.test.js +30 -0
  35. package/badge/types.d.ts +52 -3
  36. package/bleed/Bleed.js +13 -21
  37. package/bleed/types.d.ts +2 -2
  38. package/box/Box.accessibility.test.js +33 -0
  39. package/box/Box.js +11 -33
  40. package/box/Box.test.js +1 -6
  41. package/box/types.d.ts +3 -3
  42. package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
  43. package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
  44. package/breadcrumbs/Breadcrumbs.d.ts +4 -0
  45. package/breadcrumbs/Breadcrumbs.js +79 -0
  46. package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
  47. package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
  48. package/breadcrumbs/Breadcrumbs.test.js +169 -0
  49. package/breadcrumbs/Item.d.ts +4 -0
  50. package/breadcrumbs/Item.js +52 -0
  51. package/breadcrumbs/dropdownTheme.d.ts +53 -0
  52. package/breadcrumbs/dropdownTheme.js +62 -0
  53. package/breadcrumbs/types.d.ts +16 -0
  54. package/breadcrumbs/types.js +5 -0
  55. package/bulleted-list/BulletedList.accessibility.test.js +119 -0
  56. package/bulleted-list/BulletedList.js +22 -55
  57. package/bulleted-list/BulletedList.stories.tsx +2 -93
  58. package/bulleted-list/types.d.ts +5 -5
  59. package/button/Button.accessibility.test.js +127 -0
  60. package/button/Button.js +36 -59
  61. package/button/Button.stories.tsx +35 -135
  62. package/button/Button.test.js +13 -21
  63. package/button/types.d.ts +5 -5
  64. package/card/Card.accessibility.test.js +36 -0
  65. package/card/Card.js +23 -45
  66. package/card/Card.test.js +10 -21
  67. package/card/types.d.ts +5 -5
  68. package/checkbox/Checkbox.accessibility.test.js +87 -0
  69. package/checkbox/Checkbox.js +88 -126
  70. package/checkbox/Checkbox.stories.tsx +16 -54
  71. package/checkbox/Checkbox.test.js +107 -63
  72. package/checkbox/types.d.ts +8 -4
  73. package/chip/Chip.accessibility.test.js +67 -0
  74. package/chip/Chip.js +22 -36
  75. package/chip/Chip.stories.tsx +10 -25
  76. package/chip/Chip.test.js +17 -30
  77. package/chip/types.d.ts +4 -4
  78. package/common/coreTokens.d.ts +105 -14
  79. package/common/coreTokens.js +40 -23
  80. package/common/utils.js +2 -8
  81. package/common/variables.d.ts +54 -144
  82. package/common/variables.js +128 -225
  83. package/container/Container.d.ts +4 -0
  84. package/container/Container.js +194 -0
  85. package/container/Container.stories.tsx +214 -0
  86. package/container/types.d.ts +74 -0
  87. package/container/types.js +5 -0
  88. package/contextual-menu/ContextualMenu.accessibility.test.js +97 -0
  89. package/contextual-menu/ContextualMenu.d.ts +5 -0
  90. package/contextual-menu/ContextualMenu.js +88 -0
  91. package/contextual-menu/ContextualMenu.stories.tsx +232 -0
  92. package/contextual-menu/ContextualMenu.test.js +205 -0
  93. package/contextual-menu/GroupItem.d.ts +4 -0
  94. package/contextual-menu/GroupItem.js +67 -0
  95. package/contextual-menu/ItemAction.d.ts +4 -0
  96. package/contextual-menu/ItemAction.js +51 -0
  97. package/contextual-menu/MenuItem.d.ts +4 -0
  98. package/contextual-menu/MenuItem.js +29 -0
  99. package/contextual-menu/SingleItem.d.ts +4 -0
  100. package/contextual-menu/SingleItem.js +38 -0
  101. package/contextual-menu/types.d.ts +58 -0
  102. package/contextual-menu/types.js +5 -0
  103. package/date-input/Calendar.js +13 -57
  104. package/date-input/DateInput.accessibility.test.js +228 -0
  105. package/date-input/DateInput.js +61 -108
  106. package/date-input/DateInput.stories.tsx +19 -31
  107. package/date-input/DateInput.test.js +674 -701
  108. package/date-input/DatePicker.js +23 -48
  109. package/date-input/YearPicker.js +8 -34
  110. package/date-input/types.d.ts +28 -22
  111. package/dialog/Dialog.accessibility.test.js +69 -0
  112. package/dialog/Dialog.js +21 -59
  113. package/dialog/Dialog.stories.tsx +175 -0
  114. package/dialog/Dialog.test.js +206 -204
  115. package/dialog/types.d.ts +18 -13
  116. package/divider/Divider.accessibility.test.js +33 -0
  117. package/divider/Divider.d.ts +4 -0
  118. package/divider/Divider.js +36 -0
  119. package/divider/Divider.stories.tsx +223 -0
  120. package/divider/Divider.test.js +38 -0
  121. package/divider/types.d.ts +21 -0
  122. package/divider/types.js +5 -0
  123. package/dropdown/Dropdown.accessibility.test.js +180 -0
  124. package/dropdown/Dropdown.js +67 -135
  125. package/dropdown/Dropdown.stories.tsx +15 -26
  126. package/dropdown/Dropdown.test.js +402 -389
  127. package/dropdown/DropdownMenu.js +12 -23
  128. package/dropdown/DropdownMenuItem.js +13 -21
  129. package/dropdown/types.d.ts +20 -24
  130. package/file-input/FileInput.accessibility.test.js +160 -0
  131. package/file-input/FileInput.js +179 -286
  132. package/file-input/FileInput.stories.tsx +1 -1
  133. package/file-input/FileInput.test.js +293 -354
  134. package/file-input/FileItem.js +29 -66
  135. package/file-input/types.d.ts +9 -9
  136. package/flex/Flex.js +25 -39
  137. package/flex/types.d.ts +6 -6
  138. package/footer/Footer.accessibility.test.js +125 -0
  139. package/footer/Footer.d.ts +1 -1
  140. package/footer/Footer.js +43 -68
  141. package/footer/Footer.stories.tsx +66 -9
  142. package/footer/Footer.test.js +18 -32
  143. package/footer/Icons.d.ts +3 -2
  144. package/footer/Icons.js +53 -22
  145. package/footer/types.d.ts +17 -17
  146. package/grid/Grid.js +1 -16
  147. package/grid/types.d.ts +10 -10
  148. package/header/Header.accessibility.test.js +93 -0
  149. package/header/Header.d.ts +1 -1
  150. package/header/Header.js +38 -104
  151. package/header/Header.stories.tsx +16 -0
  152. package/header/Header.test.js +12 -25
  153. package/header/Icons.d.ts +2 -2
  154. package/header/Icons.js +3 -13
  155. package/header/types.d.ts +7 -8
  156. package/heading/Heading.accessibility.test.js +33 -0
  157. package/heading/Heading.js +9 -31
  158. package/heading/Heading.test.js +70 -87
  159. package/heading/types.d.ts +7 -7
  160. package/icon/Icon.accessibility.test.js +30 -0
  161. package/icon/Icon.d.ts +4 -0
  162. package/icon/Icon.js +33 -0
  163. package/icon/Icon.stories.tsx +28 -0
  164. package/icon/types.d.ts +4 -0
  165. package/icon/types.js +5 -0
  166. package/image/Image.accessibility.test.js +56 -0
  167. package/image/Image.d.ts +4 -0
  168. package/image/Image.js +70 -0
  169. package/image/Image.stories.tsx +129 -0
  170. package/image/types.d.ts +72 -0
  171. package/image/types.js +5 -0
  172. package/inset/Inset.js +13 -21
  173. package/inset/types.d.ts +2 -2
  174. package/layout/ApplicationLayout.d.ts +2 -2
  175. package/layout/ApplicationLayout.js +32 -69
  176. package/layout/ApplicationLayout.stories.tsx +1 -1
  177. package/layout/Icons.d.ts +7 -5
  178. package/layout/Icons.js +41 -59
  179. package/layout/types.d.ts +3 -3
  180. package/link/Link.accessibility.test.js +108 -0
  181. package/link/Link.js +28 -47
  182. package/link/Link.stories.tsx +4 -4
  183. package/link/Link.test.js +23 -41
  184. package/link/types.d.ts +14 -14
  185. package/main.d.ts +9 -4
  186. package/main.js +46 -59
  187. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  188. package/nav-tabs/NavTabs.d.ts +1 -2
  189. package/nav-tabs/NavTabs.js +19 -48
  190. package/nav-tabs/NavTabs.stories.tsx +30 -25
  191. package/nav-tabs/NavTabs.test.js +45 -50
  192. package/nav-tabs/NavTabsContext.d.ts +3 -0
  193. package/nav-tabs/NavTabsContext.js +8 -0
  194. package/nav-tabs/Tab.js +38 -67
  195. package/nav-tabs/types.d.ts +10 -10
  196. package/number-input/NumberInput.accessibility.test.js +228 -0
  197. package/number-input/NumberInput.d.ts +0 -7
  198. package/number-input/NumberInput.js +47 -39
  199. package/number-input/NumberInput.stories.tsx +42 -26
  200. package/number-input/NumberInput.test.js +839 -575
  201. package/number-input/NumberInputContext.d.ts +3 -0
  202. package/number-input/NumberInputContext.js +8 -0
  203. package/number-input/types.d.ts +17 -5
  204. package/package.json +42 -40
  205. package/paginator/Paginator.accessibility.test.js +79 -0
  206. package/paginator/Paginator.js +27 -52
  207. package/paginator/Paginator.test.js +224 -207
  208. package/paginator/types.d.ts +3 -3
  209. package/paragraph/Paragraph.accessibility.test.js +28 -0
  210. package/paragraph/Paragraph.js +3 -19
  211. package/paragraph/Paragraph.stories.tsx +0 -17
  212. package/password-input/PasswordInput.accessibility.test.js +153 -0
  213. package/password-input/PasswordInput.js +32 -54
  214. package/password-input/PasswordInput.stories.tsx +1 -34
  215. package/password-input/PasswordInput.test.js +153 -129
  216. package/password-input/types.d.ts +8 -7
  217. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  218. package/progress-bar/ProgressBar.js +26 -56
  219. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +1 -1
  220. package/progress-bar/ProgressBar.test.js +35 -52
  221. package/progress-bar/types.d.ts +3 -3
  222. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  223. package/quick-nav/QuickNav.js +4 -27
  224. package/quick-nav/QuickNav.stories.tsx +1 -1
  225. package/quick-nav/types.d.ts +10 -10
  226. package/radio-group/Radio.d.ts +1 -1
  227. package/radio-group/Radio.js +22 -57
  228. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  229. package/radio-group/RadioGroup.js +40 -88
  230. package/radio-group/RadioGroup.stories.tsx +10 -10
  231. package/radio-group/RadioGroup.test.js +504 -472
  232. package/radio-group/types.d.ts +8 -8
  233. package/resultset-table/Icons.d.ts +7 -0
  234. package/{resultsetTable → resultset-table}/Icons.js +1 -5
  235. package/resultset-table/ResultsetTable.accessibility.test.js +285 -0
  236. package/resultset-table/ResultsetTable.d.ts +7 -0
  237. package/{resultsetTable → resultset-table}/ResultsetTable.js +45 -69
  238. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +118 -5
  239. package/{resultsetTable → resultset-table}/ResultsetTable.test.js +148 -92
  240. package/{resultsetTable → resultset-table}/types.d.ts +44 -11
  241. package/resultset-table/types.js +5 -0
  242. package/select/Listbox.js +36 -54
  243. package/select/Option.js +28 -36
  244. package/select/Select.accessibility.test.js +228 -0
  245. package/select/Select.js +111 -177
  246. package/select/Select.stories.tsx +59 -111
  247. package/select/Select.test.js +1895 -1858
  248. package/select/types.d.ts +15 -16
  249. package/sidenav/Sidenav.accessibility.test.js +59 -0
  250. package/sidenav/Sidenav.js +44 -81
  251. package/sidenav/Sidenav.stories.tsx +4 -9
  252. package/sidenav/Sidenav.test.js +3 -10
  253. package/{layout → sidenav}/SidenavContext.d.ts +1 -1
  254. package/{layout → sidenav}/SidenavContext.js +3 -9
  255. package/sidenav/types.d.ts +20 -20
  256. package/slider/Slider.accessibility.test.js +104 -0
  257. package/slider/Slider.js +66 -125
  258. package/slider/Slider.stories.tsx +0 -60
  259. package/slider/Slider.test.js +107 -103
  260. package/slider/types.d.ts +4 -4
  261. package/spinner/Spinner.accessibility.test.js +96 -0
  262. package/spinner/Spinner.js +21 -55
  263. package/spinner/Spinner.test.js +25 -34
  264. package/spinner/types.d.ts +3 -3
  265. package/status-light/StatusLight.accessibility.test.js +157 -0
  266. package/status-light/StatusLight.d.ts +4 -0
  267. package/status-light/StatusLight.js +51 -0
  268. package/status-light/StatusLight.stories.tsx +74 -0
  269. package/status-light/StatusLight.test.js +25 -0
  270. package/status-light/types.d.ts +17 -0
  271. package/status-light/types.js +5 -0
  272. package/switch/Switch.accessibility.test.js +98 -0
  273. package/switch/Switch.js +49 -100
  274. package/switch/Switch.stories.tsx +12 -34
  275. package/switch/Switch.test.js +51 -96
  276. package/switch/types.d.ts +4 -4
  277. package/table/DropdownTheme.js +62 -0
  278. package/table/Table.accessibility.test.js +93 -0
  279. package/table/Table.d.ts +6 -2
  280. package/table/Table.js +76 -33
  281. package/table/{Table.stories.jsx → Table.stories.tsx} +309 -2
  282. package/table/Table.test.js +93 -6
  283. package/table/types.d.ts +34 -6
  284. package/tabs/Tab.js +22 -37
  285. package/tabs/Tabs.accessibility.test.js +56 -0
  286. package/tabs/Tabs.js +59 -147
  287. package/tabs/Tabs.stories.tsx +8 -4
  288. package/tabs/Tabs.test.js +57 -131
  289. package/tabs/types.d.ts +21 -21
  290. package/tag/Tag.accessibility.test.js +69 -0
  291. package/tag/Tag.js +27 -57
  292. package/tag/Tag.stories.tsx +4 -7
  293. package/tag/Tag.test.js +17 -36
  294. package/tag/types.d.ts +9 -9
  295. package/text-input/Suggestion.js +9 -26
  296. package/text-input/Suggestions.d.ts +1 -1
  297. package/text-input/Suggestions.js +30 -70
  298. package/text-input/TextInput.accessibility.test.js +321 -0
  299. package/text-input/TextInput.js +198 -286
  300. package/text-input/TextInput.stories.tsx +65 -160
  301. package/text-input/TextInput.test.js +1227 -1194
  302. package/text-input/types.d.ts +25 -17
  303. package/textarea/Textarea.accessibility.test.js +155 -0
  304. package/textarea/Textarea.js +67 -111
  305. package/textarea/{Textarea.stories.jsx → Textarea.stories.tsx} +58 -100
  306. package/textarea/Textarea.test.js +150 -179
  307. package/textarea/types.d.ts +9 -5
  308. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  309. package/toggle-group/ToggleGroup.js +25 -67
  310. package/toggle-group/ToggleGroup.stories.tsx +7 -7
  311. package/toggle-group/ToggleGroup.test.js +48 -81
  312. package/toggle-group/types.d.ts +12 -12
  313. package/typography/Typography.accessibility.test.js +339 -0
  314. package/typography/Typography.js +4 -13
  315. package/typography/types.d.ts +1 -1
  316. package/useTheme.d.ts +51 -141
  317. package/useTheme.js +1 -8
  318. package/useTranslatedLabels.js +1 -7
  319. package/utils/BaseTypography.d.ts +2 -2
  320. package/utils/BaseTypography.js +16 -30
  321. package/utils/FocusLock.js +25 -39
  322. package/wizard/Wizard.accessibility.test.js +55 -0
  323. package/wizard/Wizard.js +27 -73
  324. package/wizard/Wizard.stories.tsx +19 -0
  325. package/wizard/Wizard.test.js +53 -80
  326. package/wizard/types.d.ts +8 -8
  327. package/common/OpenSans.css +0 -69
  328. package/common/fonts/OpenSans-Bold.ttf +0 -0
  329. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  330. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  331. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  332. package/common/fonts/OpenSans-Italic.ttf +0 -0
  333. package/common/fonts/OpenSans-Light.ttf +0 -0
  334. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  335. package/common/fonts/OpenSans-Regular.ttf +0 -0
  336. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  337. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  338. package/date-input/Icons.d.ts +0 -6
  339. package/date-input/Icons.js +0 -75
  340. package/paginator/Icons.d.ts +0 -5
  341. package/paginator/Icons.js +0 -54
  342. package/password-input/Icons.d.ts +0 -6
  343. package/password-input/Icons.js +0 -39
  344. package/resultsetTable/Icons.d.ts +0 -7
  345. package/resultsetTable/ResultsetTable.d.ts +0 -4
  346. package/select/Icons.d.ts +0 -10
  347. package/select/Icons.js +0 -93
  348. package/sidenav/Icons.d.ts +0 -7
  349. package/sidenav/Icons.js +0 -51
  350. package/text-input/Icons.d.ts +0 -8
  351. package/text-input/Icons.js +0 -60
  352. /package/{resultsetTable → action-icon}/types.js +0 -0
  353. /package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +0 -0
@@ -1,12 +1,11 @@
1
1
  import React from "react";
2
2
  import styled from "styled-components";
3
3
  import Title from "../../.storybook/components/Title";
4
- import { BackgroundColorProvider } from "../BackgroundColorContext";
5
4
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
5
  import DxcBulletedList from "./BulletedList";
7
6
 
8
7
  export default {
9
- title: "BulletedList",
8
+ title: "Bulleted List",
10
9
  component: DxcBulletedList,
11
10
  };
12
11
 
@@ -27,7 +26,7 @@ export const Chromatic = () => (
27
26
  <DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
28
27
  </DxcBulletedList>
29
28
  <Title title="Icon list (path)" level={4} />
30
- <DxcBulletedList type="icon" icon="https://upload.wikimedia.org/wikipedia/commons/e/e0/Check_green_icon.svg">
29
+ <DxcBulletedList type="icon" icon="filled_check_circle">
31
30
  <DxcBulletedList.Item>Code</DxcBulletedList.Item>
32
31
  <DxcBulletedList.Item>Usage</DxcBulletedList.Item>
33
32
  <DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
@@ -108,99 +107,9 @@ export const Chromatic = () => (
108
107
  </DxcBulletedList>
109
108
  </Container>
110
109
  </ExampleContainer>
111
- <BackgroundColorProvider color="#333333">
112
- <DarkContainerForBulletedList>
113
- <Title title="Icon list" theme="dark" level={4} />
114
- <DxcBulletedList type="icon" icon={icon}>
115
- <DxcBulletedList.Item>Code</DxcBulletedList.Item>
116
- <DxcBulletedList.Item>Usage</DxcBulletedList.Item>
117
- <DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
118
- </DxcBulletedList>
119
- <Title title="Number list" theme="dark" level={4} />
120
- <DxcBulletedList type="number">
121
- <DxcBulletedList.Item>Code</DxcBulletedList.Item>
122
- <DxcBulletedList.Item>Usage</DxcBulletedList.Item>
123
- <DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
124
- </DxcBulletedList>
125
- <Title title="Square" theme="dark" level={4} />
126
- <DxcBulletedList type="square">
127
- <DxcBulletedList.Item>Code</DxcBulletedList.Item>
128
- <DxcBulletedList.Item>Usage</DxcBulletedList.Item>
129
- <DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
130
- </DxcBulletedList>
131
- <Title title="Circle" theme="dark" level={4} />
132
- <DxcBulletedList type="circle">
133
- <DxcBulletedList.Item>Code</DxcBulletedList.Item>
134
- <DxcBulletedList.Item>Usage</DxcBulletedList.Item>
135
- <DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
136
- </DxcBulletedList>
137
- <Title title="Disc" theme="dark" level={4} />
138
- <DxcBulletedList>
139
- <DxcBulletedList.Item>Code</DxcBulletedList.Item>
140
- <DxcBulletedList.Item>Usage</DxcBulletedList.Item>
141
- <DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
142
- </DxcBulletedList>
143
- <Title title="Multiple lines" theme="dark" level={4} />
144
- <Container>
145
- <Title title="Number" theme="dark" level={4} />
146
- <DxcBulletedList type="number">
147
- <DxcBulletedList.Item>
148
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
149
- dolore magna aliqua.
150
- </DxcBulletedList.Item>
151
- <DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
152
- </DxcBulletedList>
153
- </Container>
154
- <Container>
155
- <Title title="Square" theme="dark" level={4} />
156
- <DxcBulletedList type="square">
157
- <DxcBulletedList.Item>
158
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
159
- dolore magna aliqua.
160
- </DxcBulletedList.Item>
161
- <DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
162
- </DxcBulletedList>
163
- </Container>
164
- <Container>
165
- <Title title="Circle" theme="dark" level={4} />
166
- <DxcBulletedList type="circle">
167
- <DxcBulletedList.Item>
168
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
169
- dolore magna aliqua.
170
- </DxcBulletedList.Item>
171
- <DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
172
- </DxcBulletedList>
173
- </Container>
174
- <Title title="Disc" theme="dark" level={4} />
175
- <Container>
176
- <DxcBulletedList>
177
- <DxcBulletedList.Item>
178
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
179
- dolore magna aliqua.
180
- </DxcBulletedList.Item>
181
- <DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
182
- </DxcBulletedList>
183
- </Container>
184
- <Container>
185
- <Title title="Icon" theme="dark" level={4} />
186
- <DxcBulletedList type="icon" icon={icon}>
187
- <DxcBulletedList.Item>
188
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
189
- dolore magna aliqua.
190
- </DxcBulletedList.Item>
191
- <DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
192
- </DxcBulletedList>
193
- </Container>
194
- </DarkContainerForBulletedList>
195
- </BackgroundColorProvider>
196
110
  </>
197
111
  );
198
112
 
199
113
  const Container = styled.div`
200
114
  width: 400px;
201
115
  `;
202
-
203
- const DarkContainerForBulletedList = styled.div`
204
- background-color: #333333;
205
- padding: 5px;
206
- `;
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
- declare type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
3
- declare type IconProps = {
2
+ type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
3
+ type IconProps = {
4
4
  /**
5
5
  * Defines the style of the bullet point in the list.
6
6
  */
@@ -14,7 +14,7 @@ declare type IconProps = {
14
14
  */
15
15
  children: React.ReactNode;
16
16
  };
17
- declare type OtherProps = {
17
+ type OtherProps = {
18
18
  /**
19
19
  * Defines the style of the bullet point in the list.
20
20
  */
@@ -28,9 +28,9 @@ declare type OtherProps = {
28
28
  */
29
29
  children: React.ReactNode;
30
30
  };
31
- declare type Props = IconProps | OtherProps;
31
+ type Props = IconProps | OtherProps;
32
32
  export default Props;
33
- export declare type BulletedListItemPropsType = {
33
+ export type BulletedListItemPropsType = {
34
34
  /**
35
35
  * Text to be shown in the list.
36
36
  */
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
5
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
+ var _react = _interopRequireDefault(require("react"));
7
+ var _react2 = require("@testing-library/react");
8
+ var _axeHelper = require("../../test/accessibility/axe-helper.js");
9
+ var _Button = _interopRequireDefault(require("./Button.tsx"));
10
+ var iconSVG = /*#__PURE__*/_react["default"].createElement("svg", {
11
+ width: "24px",
12
+ height: "24px",
13
+ viewBox: "0 0 24 24",
14
+ fill: "currentColor"
15
+ }, /*#__PURE__*/_react["default"].createElement("path", {
16
+ d: "M0 0h24v24H0z",
17
+ fill: "none"
18
+ }), /*#__PURE__*/_react["default"].createElement("path", {
19
+ d: "M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"
20
+ }));
21
+ describe("Button component accessibility tests", function () {
22
+ it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
23
+ var _render, container, results;
24
+ return _regenerator["default"].wrap(function _callee$(_context) {
25
+ while (1) switch (_context.prev = _context.next) {
26
+ case 0:
27
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
28
+ label: "Primary",
29
+ icon: iconSVG,
30
+ iconPosition: "after",
31
+ margin: "small",
32
+ mode: "primary",
33
+ title: "Button Title",
34
+ size: "fitContent",
35
+ type: "button"
36
+ })), container = _render.container;
37
+ _context.next = 3;
38
+ return (0, _axeHelper.axe)(container);
39
+ case 3:
40
+ results = _context.sent;
41
+ expect(results).toHaveNoViolations();
42
+ case 5:
43
+ case "end":
44
+ return _context.stop();
45
+ }
46
+ }, _callee);
47
+ })));
48
+ it("Should not have basic accessibility issues for disabled mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
49
+ var _render2, container, results;
50
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
51
+ while (1) switch (_context2.prev = _context2.next) {
52
+ case 0:
53
+ _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
54
+ label: "Primary",
55
+ icon: iconSVG,
56
+ iconPosition: "after",
57
+ margin: "small",
58
+ mode: "primary",
59
+ title: "Button Title",
60
+ size: "fitContent",
61
+ type: "button",
62
+ disabled: true
63
+ })), container = _render2.container;
64
+ _context2.next = 3;
65
+ return (0, _axeHelper.axe)(container);
66
+ case 3:
67
+ results = _context2.sent;
68
+ expect(results).toHaveNoViolations();
69
+ case 5:
70
+ case "end":
71
+ return _context2.stop();
72
+ }
73
+ }, _callee2);
74
+ })));
75
+ it("Should not have basic accessibility issues for secondary mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
76
+ var _render3, container, results;
77
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
78
+ while (1) switch (_context3.prev = _context3.next) {
79
+ case 0:
80
+ _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
81
+ label: "Primary",
82
+ icon: iconSVG,
83
+ iconPosition: "after",
84
+ margin: "small",
85
+ mode: "secondary",
86
+ title: "Button Title",
87
+ size: "fitContent",
88
+ type: "button"
89
+ })), container = _render3.container;
90
+ _context3.next = 3;
91
+ return (0, _axeHelper.axe)(container);
92
+ case 3:
93
+ results = _context3.sent;
94
+ expect(results).toHaveNoViolations();
95
+ case 5:
96
+ case "end":
97
+ return _context3.stop();
98
+ }
99
+ }, _callee3);
100
+ })));
101
+ it("Should not have basic accessibility issues for text mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
102
+ var _render4, container, results;
103
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
104
+ while (1) switch (_context4.prev = _context4.next) {
105
+ case 0:
106
+ _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
107
+ label: "Primary",
108
+ icon: iconSVG,
109
+ iconPosition: "after",
110
+ margin: "small",
111
+ mode: "text",
112
+ title: "Button Title",
113
+ size: "fitContent",
114
+ type: "button"
115
+ })), container = _render4.container;
116
+ _context4.next = 3;
117
+ return (0, _axeHelper.axe)(container);
118
+ case 3:
119
+ results = _context4.sent;
120
+ expect(results).toHaveNoViolations();
121
+ case 5:
122
+ case "end":
123
+ return _context4.stop();
124
+ }
125
+ }, _callee4);
126
+ })));
127
+ });
package/button/Button.js CHANGED
@@ -1,59 +1,43 @@
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
- var _react = _interopRequireWildcard(require("react"));
17
-
11
+ var _react = _interopRequireDefault(require("react"));
18
12
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
19
-
20
13
  var _variables = require("../common/variables");
21
-
22
14
  var _utils = require("../common/utils");
23
-
24
15
  var _useTheme = _interopRequireDefault(require("../useTheme"));
25
-
26
- var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
27
-
16
+ var _Icon = _interopRequireDefault(require("../icon/Icon"));
28
17
  var _templateObject, _templateObject2, _templateObject3;
29
-
30
- 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); }
31
-
32
- 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; }
33
-
18
+ 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); }
19
+ 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 && {}.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; }
34
20
  var DxcButton = function DxcButton(_ref) {
35
21
  var _ref$label = _ref.label,
36
- label = _ref$label === void 0 ? "" : _ref$label,
37
- _ref$mode = _ref.mode,
38
- mode = _ref$mode === void 0 ? "primary" : _ref$mode,
39
- _ref$disabled = _ref.disabled,
40
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
41
- _ref$iconPosition = _ref.iconPosition,
42
- iconPosition = _ref$iconPosition === void 0 ? "before" : _ref$iconPosition,
43
- title = _ref.title,
44
- _ref$type = _ref.type,
45
- type = _ref$type === void 0 ? "button" : _ref$type,
46
- icon = _ref.icon,
47
- _ref$onClick = _ref.onClick,
48
- _onClick = _ref$onClick === void 0 ? function () {} : _ref$onClick,
49
- margin = _ref.margin,
50
- _ref$size = _ref.size,
51
- size = _ref$size === void 0 ? "fitContent" : _ref$size,
52
- _ref$tabIndex = _ref.tabIndex,
53
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
54
-
22
+ label = _ref$label === void 0 ? "" : _ref$label,
23
+ _ref$mode = _ref.mode,
24
+ mode = _ref$mode === void 0 ? "primary" : _ref$mode,
25
+ _ref$disabled = _ref.disabled,
26
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
27
+ _ref$iconPosition = _ref.iconPosition,
28
+ iconPosition = _ref$iconPosition === void 0 ? "before" : _ref$iconPosition,
29
+ title = _ref.title,
30
+ _ref$type = _ref.type,
31
+ type = _ref$type === void 0 ? "button" : _ref$type,
32
+ icon = _ref.icon,
33
+ _ref$onClick = _ref.onClick,
34
+ _onClick = _ref$onClick === void 0 ? function () {} : _ref$onClick,
35
+ margin = _ref.margin,
36
+ _ref$size = _ref.size,
37
+ size = _ref$size === void 0 ? "fitContent" : _ref$size,
38
+ _ref$tabIndex = _ref.tabIndex,
39
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
55
40
  var colorsTheme = (0, _useTheme["default"])();
56
- var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
57
41
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
58
42
  theme: colorsTheme.button
59
43
  }, /*#__PURE__*/_react["default"].createElement(Button, {
@@ -69,14 +53,12 @@ var DxcButton = function DxcButton(_ref) {
69
53
  hasLabel: label ? true : false,
70
54
  hasIcon: icon ? true : false,
71
55
  iconPosition: iconPosition,
72
- backgroundType: backgroundType,
73
56
  size: size,
74
57
  margin: margin
75
- }, label && /*#__PURE__*/_react["default"].createElement(LabelContainer, null, label), icon && /*#__PURE__*/_react["default"].createElement(IconContainer, null, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
76
- src: icon
58
+ }, label && /*#__PURE__*/_react["default"].createElement(LabelContainer, null, label), icon && /*#__PURE__*/_react["default"].createElement(IconContainer, null, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
59
+ icon: icon
77
60
  }) : icon)));
78
61
  };
79
-
80
62
  var sizes = {
81
63
  small: "42px",
82
64
  medium: "120px",
@@ -84,19 +66,16 @@ var sizes = {
84
66
  fillParent: "100%",
85
67
  fitContent: "fit-content"
86
68
  };
87
-
88
69
  var calculateWidth = function calculateWidth(margin, size) {
89
70
  return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
90
71
  };
91
-
92
- var getButtonStyles = function getButtonStyles(props) {
93
- var $mode = props.$mode,
94
- backgroundType = props.backgroundType,
95
- disabled = props.disabled;
96
- return "\n border-radius: ".concat($mode === "primary" ? props.theme.primaryBorderRadius : $mode === "secondary" ? props.theme.secondaryBorderRadius : props.theme.textBorderRadius, ";\n border-width: ").concat($mode === "primary" ? props.theme.primaryBorderThickness : $mode === "secondary" ? props.theme.secondaryBorderThickness : props.theme.textBorderThickness, ";\n border-style: ").concat($mode === "primary" ? props.theme.primaryBorderStyle : $mode === "secondary" ? props.theme.secondaryBorderStyle : props.theme.textBorderStyle, ";\n font-family: ").concat($mode === "primary" ? props.theme.primaryFontFamily : $mode === "secondary" ? props.theme.secondaryFontFamily : props.theme.textFontFamily, ";\n font-size: ").concat($mode === "primary" ? props.theme.primaryFontSize : $mode === "secondary" ? props.theme.secondaryFontSize : props.theme.textFontSize, ";\n font-weight: ").concat($mode === "primary" ? props.theme.primaryFontWeight : $mode === "secondary" ? props.theme.secondaryFontWeight : props.theme.textFontWeight, ";\n background-color: ").concat($mode === "primary" ? backgroundType === "dark" ? props.theme.primaryBackgroundColorOnDark : props.theme.primaryBackgroundColor : $mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryBackgroundColorOnDark : props.theme.secondaryBackgroundColor : backgroundType === "dark" ? props.theme.textBackgroundColorOnDark : props.theme.textBackgroundColor, ";\n color: ").concat($mode === "primary" ? backgroundType === "dark" ? props.theme.primaryFontColorOnDark : props.theme.primaryFontColor : $mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryFontColorOnDark : props.theme.secondaryFontColor : backgroundType === "dark" ? props.theme.textFontColorOnDark : props.theme.textFontColor, ";\n border-color: ").concat($mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryBorderColorOnDark : props.theme.secondaryBorderColor : "", ";\n &:hover {\n background-color: ").concat($mode === "primary" ? backgroundType === "dark" ? props.theme.primaryHoverBackgroundColorOnDark : props.theme.primaryHoverBackgroundColor : $mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryHoverBackgroundColorOnDark : props.theme.secondaryHoverBackgroundColor : backgroundType === "dark" ? props.theme.textHoverBackgroundColorOnDark : props.theme.textHoverBackgroundColor, ";\n color: ").concat($mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryHoverFontColorOnDark : props.theme.secondaryHoverFontColor : "", ";\n }\n &:focus {\n border-color: ").concat($mode === "secondary" ? "transparent" : "", ";\n }\n &:active {\n background-color: ").concat($mode === "primary" ? backgroundType === "dark" ? props.theme.primaryActiveBackgroundColorOnDark : props.theme.primaryActiveBackgroundColor : $mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryActiveBackgroundColorOnDark : props.theme.secondaryActiveBackgroundColor : backgroundType === "dark" ? props.theme.textActiveBackgroundColorOnDark : props.theme.textActiveBackgroundColor, ";\n color: ").concat($mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryHoverFontColorOnDark : props.theme.secondaryHoverFontColor : "", ";\n border-color: ").concat($mode === "secondary" ? "transparent" : "", ";\n outline: none;\n box-shadow: ").concat(!disabled ? "0 0 0 2px ".concat(backgroundType === "dark" ? props.theme.focusBorderColorOnDark : props.theme.focusBorderColor) : "", ";\n }\n &:disabled {\n cursor: not-allowed;\n background-color: ").concat($mode === "primary" ? backgroundType === "dark" ? props.theme.primaryDisabledBackgroundColorOnDark : props.theme.primaryDisabledBackgroundColor : $mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryDisabledBackgroundColorOnDark : props.theme.secondaryDisabledBackgroundColor : backgroundType === "dark" ? props.theme.textDisabledBackgroundColorOnDark : props.theme.textDisabledBackgroundColor, ";\n color: ").concat($mode === "primary" ? backgroundType === "dark" ? props.theme.primaryDisabledFontColorOnDark : props.theme.primaryDisabledFontColor : $mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryDisabledFontColorOnDark : props.theme.secondaryDisabledFontColor : backgroundType === "dark" ? props.theme.textDisabledFontColorOnDark : props.theme.textDisabledFontColor, ";\n border-color: ").concat($mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryDisabledBorderColorOnDark : props.theme.secondaryDisabledBorderColor : "", ";\n }\n ");
72
+ var getButtonStyles = function getButtonStyles($mode, theme) {
73
+ return "\n border-color: ".concat($mode === "secondary" ? theme.secondaryBorderColor : "", ";\n border-radius: ").concat($mode === "primary" ? theme.primaryBorderRadius : $mode === "secondary" ? theme.secondaryBorderRadius : theme.textBorderRadius, ";\n border-width: ").concat($mode === "primary" ? theme.primaryBorderThickness : $mode === "secondary" ? theme.secondaryBorderThickness : theme.textBorderThickness, ";\n border-style: ").concat($mode === "primary" ? theme.primaryBorderStyle : $mode === "secondary" ? theme.secondaryBorderStyle : theme.textBorderStyle, ";\n font-family: ").concat($mode === "primary" ? theme.primaryFontFamily : $mode === "secondary" ? theme.secondaryFontFamily : theme.textFontFamily, ";\n font-size: ").concat($mode === "primary" ? theme.primaryFontSize : $mode === "secondary" ? theme.secondaryFontSize : theme.textFontSize, ";\n font-weight: ").concat($mode === "primary" ? theme.primaryFontWeight : $mode === "secondary" ? theme.secondaryFontWeight : theme.textFontWeight, ";\n background-color: ").concat($mode === "primary" ? theme.primaryBackgroundColor : $mode === "secondary" ? theme.secondaryBackgroundColor : theme.textBackgroundColor, ";\n color: ").concat($mode === "primary" ? theme.primaryFontColor : $mode === "secondary" ? theme.secondaryFontColor : theme.textFontColor, ";\n ");
97
74
  };
98
-
99
- var Button = _styledComponents["default"].button(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n flex-direction: ", ";\n gap: 0.5rem;\n align-items: center;\n justify-content: center;\n width: ", ";\n height: 40px;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n box-shadow: 0 0 0 2px transparent;\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n cursor: pointer;\n\n &:focus {\n outline: none;\n box-shadow: 0 0 0 2px\n ", ";\n }\n\n ", "\n"])), function (props) {
75
+ var getButtonStates = function getButtonStates(disabled, $mode, theme) {
76
+ return "\n &:hover {\n background-color: ".concat($mode === "primary" ? theme.primaryHoverBackgroundColor : $mode === "secondary" ? theme.secondaryHoverBackgroundColor : theme.textHoverBackgroundColor, ";\n color: ").concat($mode === "secondary" ? theme.secondaryHoverFontColor : "", ";\n }\n &:focus {\n border-color: ").concat($mode === "secondary" ? "transparent" : "", ";\n }\n &:active {\n background-color: ").concat($mode === "primary" ? theme.primaryActiveBackgroundColor : $mode === "secondary" ? theme.secondaryActiveBackgroundColor : theme.textActiveBackgroundColor, ";\n color: ").concat($mode === "secondary" ? theme.secondaryHoverFontColor : "", ";\n border-color: ").concat($mode === "secondary" ? "transparent" : "", ";\n outline: none;\n box-shadow: ").concat(!disabled ? "0 0 0 2px ".concat(theme.focusBorderColor) : "", ";\n }\n &:disabled {\n cursor: not-allowed;\n background-color: ").concat($mode === "primary" ? theme.primaryDisabledBackgroundColor : $mode === "secondary" ? theme.secondaryDisabledBackgroundColor : theme.textDisabledBackgroundColor, ";\n color: ").concat($mode === "primary" ? theme.primaryDisabledFontColor : $mode === "secondary" ? theme.secondaryDisabledFontColor : theme.textDisabledFontColor, ";\n border-color: ").concat($mode === "secondary" ? theme.secondaryDisabledBorderColor : "", ";\n }\n");
77
+ };
78
+ var Button = _styledComponents["default"].button(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n flex-direction: ", ";\n gap: 0.5rem;\n align-items: center;\n justify-content: center;\n width: ", ";\n height: 40px;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n box-shadow: 0 0 0 2px transparent;\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n cursor: pointer;\n\n &:focus {\n outline: none;\n box-shadow: 0 0 0 2px ", ";\n }\n\n ", "\n ", "\n"])), function (props) {
100
79
  return props.iconPosition === "after" ? "row" : "row-reverse";
101
80
  }, function (props) {
102
81
  return calculateWidth(props.margin, props.size);
@@ -127,18 +106,16 @@ var Button = _styledComponents["default"].button(_templateObject || (_templateOb
127
106
  }, function (props) {
128
107
  return props.theme.labelLetterSpacing;
129
108
  }, function (props) {
130
- return props.backgroundType === "dark" ? props.theme.focusBorderColorOnDark : props.theme.focusBorderColor;
109
+ return props.theme.focusBorderColor;
110
+ }, function (props) {
111
+ return getButtonStyles(props.$mode, props.theme);
131
112
  }, function (props) {
132
- return getButtonStyles(props);
113
+ return getButtonStates(props.disabled, props.$mode, props.theme);
133
114
  });
134
-
135
115
  var LabelContainer = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n line-height: ", ";\n font-size: ", ";\n text-overflow: ellipsis;\n overflow: hidden;\n text-transform: none;\n white-space: nowrap;\n"])), function (props) {
136
116
  return props.theme.labelFontLineHeight;
137
117
  }, function (props) {
138
118
  return props.theme.fontSize;
139
119
  });
140
-
141
- var IconContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n img,\n svg {\n height: 24px;\n width: 24px;\n }\n"])));
142
-
143
- var _default = DxcButton;
144
- exports["default"] = _default;
120
+ var IconContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n font-size: 24px;\n\n svg {\n height: 24px;\n width: 24px;\n }\n"])));
121
+ var _default = exports["default"] = DxcButton;