@dxc-technology/halstack-react 0.0.0-4d89cae → 0.0.0-4dc980c

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 (372) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +7 -6
  3. package/HalstackContext.d.ts +12 -0
  4. package/HalstackContext.js +294 -0
  5. package/accordion/Accordion.d.ts +4 -0
  6. package/accordion/Accordion.js +129 -237
  7. package/accordion/Accordion.stories.tsx +306 -0
  8. package/accordion/Accordion.test.js +71 -0
  9. package/accordion/types.d.ts +69 -0
  10. package/accordion/types.js +5 -0
  11. package/accordion-group/AccordionGroup.d.ts +7 -0
  12. package/accordion-group/AccordionGroup.js +68 -105
  13. package/accordion-group/AccordionGroup.stories.tsx +251 -0
  14. package/accordion-group/AccordionGroup.test.js +126 -0
  15. package/accordion-group/types.d.ts +79 -0
  16. package/accordion-group/types.js +5 -0
  17. package/alert/Alert.d.ts +4 -0
  18. package/alert/Alert.js +44 -154
  19. package/alert/Alert.stories.tsx +170 -0
  20. package/alert/Alert.test.js +92 -0
  21. package/alert/types.d.ts +49 -0
  22. package/alert/types.js +5 -0
  23. package/badge/Badge.d.ts +4 -0
  24. package/badge/Badge.js +15 -17
  25. package/badge/types.d.ts +5 -0
  26. package/badge/types.js +5 -0
  27. package/bleed/Bleed.d.ts +3 -0
  28. package/bleed/Bleed.js +51 -0
  29. package/bleed/Bleed.stories.tsx +341 -0
  30. package/bleed/types.d.ts +37 -0
  31. package/bleed/types.js +5 -0
  32. package/box/Box.d.ts +4 -0
  33. package/box/Box.js +37 -77
  34. package/box/Box.stories.tsx +132 -0
  35. package/box/Box.test.js +18 -0
  36. package/box/types.d.ts +44 -0
  37. package/box/types.js +5 -0
  38. package/bulleted-list/BulletedList.d.ts +7 -0
  39. package/bulleted-list/BulletedList.js +123 -0
  40. package/bulleted-list/BulletedList.stories.tsx +200 -0
  41. package/bulleted-list/types.d.ts +11 -0
  42. package/bulleted-list/types.js +5 -0
  43. package/button/Button.d.ts +4 -0
  44. package/button/Button.js +63 -145
  45. package/button/Button.stories.tsx +283 -0
  46. package/button/Button.test.js +35 -0
  47. package/button/types.d.ts +53 -0
  48. package/button/types.js +5 -0
  49. package/card/Card.d.ts +4 -0
  50. package/card/Card.js +44 -137
  51. package/card/Card.stories.tsx +201 -0
  52. package/card/Card.test.js +50 -0
  53. package/card/ice-cream.jpg +0 -0
  54. package/card/types.d.ts +68 -0
  55. package/card/types.js +5 -0
  56. package/checkbox/Checkbox.d.ts +4 -0
  57. package/checkbox/Checkbox.js +110 -159
  58. package/checkbox/Checkbox.stories.tsx +208 -0
  59. package/checkbox/Checkbox.test.js +155 -0
  60. package/checkbox/types.d.ts +68 -0
  61. package/checkbox/types.js +5 -0
  62. package/chip/Chip.d.ts +4 -0
  63. package/chip/Chip.js +26 -130
  64. package/chip/Chip.stories.tsx +119 -0
  65. package/chip/Chip.test.js +56 -0
  66. package/chip/types.d.ts +45 -0
  67. package/chip/types.js +5 -0
  68. package/common/variables.js +327 -382
  69. package/date-input/Calendar.d.ts +4 -0
  70. package/date-input/Calendar.js +258 -0
  71. package/date-input/DateInput.d.ts +4 -0
  72. package/date-input/DateInput.js +130 -303
  73. package/date-input/DateInput.stories.tsx +151 -0
  74. package/date-input/DateInput.test.js +752 -0
  75. package/date-input/DatePicker.d.ts +4 -0
  76. package/date-input/DatePicker.js +160 -0
  77. package/date-input/YearPicker.d.ts +4 -0
  78. package/date-input/YearPicker.js +115 -0
  79. package/date-input/types.d.ts +160 -0
  80. package/date-input/types.js +5 -0
  81. package/dialog/Dialog.d.ts +4 -0
  82. package/dialog/Dialog.js +60 -116
  83. package/dialog/Dialog.stories.tsx +267 -0
  84. package/dialog/Dialog.test.js +70 -0
  85. package/dialog/types.d.ts +44 -0
  86. package/dialog/types.js +5 -0
  87. package/dropdown/Dropdown.d.ts +4 -0
  88. package/dropdown/Dropdown.js +243 -396
  89. package/dropdown/Dropdown.stories.tsx +312 -0
  90. package/dropdown/Dropdown.test.js +585 -0
  91. package/dropdown/DropdownMenu.d.ts +4 -0
  92. package/dropdown/DropdownMenu.js +80 -0
  93. package/dropdown/DropdownMenuItem.d.ts +4 -0
  94. package/dropdown/DropdownMenuItem.js +92 -0
  95. package/dropdown/types.d.ts +100 -0
  96. package/dropdown/types.js +5 -0
  97. package/file-input/FileInput.d.ts +4 -0
  98. package/file-input/FileInput.js +212 -305
  99. package/file-input/FileInput.stories.tsx +535 -0
  100. package/file-input/FileInput.test.js +498 -0
  101. package/file-input/FileItem.d.ts +4 -0
  102. package/file-input/FileItem.js +57 -183
  103. package/file-input/types.d.ts +129 -0
  104. package/file-input/types.js +5 -0
  105. package/flex/Flex.d.ts +4 -0
  106. package/flex/Flex.js +69 -0
  107. package/flex/Flex.stories.tsx +103 -0
  108. package/flex/types.d.ts +32 -0
  109. package/flex/types.js +5 -0
  110. package/footer/Footer.d.ts +4 -0
  111. package/footer/Footer.js +50 -286
  112. package/footer/Footer.stories.tsx +137 -0
  113. package/footer/Footer.test.js +109 -0
  114. package/footer/Icons.d.ts +2 -0
  115. package/footer/Icons.js +16 -16
  116. package/footer/types.d.ts +66 -0
  117. package/footer/types.js +5 -0
  118. package/header/Header.d.ts +7 -0
  119. package/header/Header.js +131 -296
  120. package/header/Header.stories.tsx +172 -0
  121. package/header/Header.test.js +79 -0
  122. package/header/Icons.d.ts +2 -0
  123. package/header/Icons.js +9 -34
  124. package/header/types.d.ts +48 -0
  125. package/header/types.js +5 -0
  126. package/heading/Heading.d.ts +4 -0
  127. package/heading/Heading.js +25 -96
  128. package/heading/Heading.stories.tsx +54 -0
  129. package/heading/Heading.test.js +186 -0
  130. package/heading/types.d.ts +33 -0
  131. package/heading/types.js +5 -0
  132. package/inset/Inset.d.ts +3 -0
  133. package/inset/Inset.js +51 -0
  134. package/inset/Inset.stories.tsx +229 -0
  135. package/inset/types.d.ts +37 -0
  136. package/inset/types.js +5 -0
  137. package/layout/ApplicationLayout.d.ts +20 -0
  138. package/layout/ApplicationLayout.js +76 -232
  139. package/layout/ApplicationLayout.stories.tsx +162 -0
  140. package/layout/Icons.d.ts +5 -0
  141. package/layout/Icons.js +19 -8
  142. package/layout/SidenavContext.d.ts +5 -0
  143. package/layout/SidenavContext.js +19 -0
  144. package/layout/types.d.ts +42 -0
  145. package/layout/types.js +5 -0
  146. package/link/Link.d.ts +4 -0
  147. package/link/Link.js +65 -166
  148. package/link/Link.stories.tsx +193 -0
  149. package/link/Link.test.js +83 -0
  150. package/link/types.d.ts +54 -0
  151. package/link/types.js +5 -0
  152. package/main.d.ts +44 -40
  153. package/main.js +114 -104
  154. package/number-input/NumberInput.d.ts +4 -0
  155. package/number-input/NumberInput.js +21 -81
  156. package/number-input/NumberInput.stories.tsx +115 -0
  157. package/number-input/NumberInput.test.js +542 -0
  158. package/number-input/NumberInputContext.d.ts +4 -0
  159. package/number-input/NumberInputContext.js +5 -2
  160. package/number-input/numberInputContextTypes.d.ts +19 -0
  161. package/number-input/numberInputContextTypes.js +5 -0
  162. package/number-input/types.d.ts +124 -0
  163. package/number-input/types.js +5 -0
  164. package/package.json +34 -32
  165. package/paginator/Icons.js +9 -9
  166. package/paginator/Paginator.d.ts +4 -0
  167. package/paginator/Paginator.js +32 -166
  168. package/paginator/Paginator.stories.tsx +63 -0
  169. package/paginator/Paginator.test.js +308 -0
  170. package/paginator/types.d.ts +38 -0
  171. package/paginator/types.js +5 -0
  172. package/paragraph/Paragraph.d.ts +6 -0
  173. package/paragraph/Paragraph.js +38 -0
  174. package/paragraph/Paragraph.stories.tsx +44 -0
  175. package/password-input/PasswordInput.d.ts +4 -0
  176. package/password-input/PasswordInput.js +40 -77
  177. package/password-input/PasswordInput.stories.tsx +131 -0
  178. package/password-input/PasswordInput.test.js +181 -0
  179. package/password-input/types.d.ts +110 -0
  180. package/password-input/types.js +5 -0
  181. package/progress-bar/ProgressBar.d.ts +4 -0
  182. package/progress-bar/ProgressBar.js +72 -138
  183. package/progress-bar/ProgressBar.stories.jsx +60 -0
  184. package/progress-bar/ProgressBar.test.js +110 -0
  185. package/progress-bar/types.d.ts +36 -0
  186. package/progress-bar/types.js +5 -0
  187. package/quick-nav/QuickNav.d.ts +4 -0
  188. package/quick-nav/QuickNav.js +117 -0
  189. package/quick-nav/QuickNav.stories.tsx +342 -0
  190. package/quick-nav/types.d.ts +21 -0
  191. package/quick-nav/types.js +5 -0
  192. package/radio-group/Radio.d.ts +4 -0
  193. package/radio-group/Radio.js +156 -0
  194. package/radio-group/RadioGroup.d.ts +4 -0
  195. package/radio-group/RadioGroup.js +283 -0
  196. package/radio-group/RadioGroup.stories.tsx +101 -0
  197. package/radio-group/RadioGroup.test.js +722 -0
  198. package/radio-group/types.d.ts +114 -0
  199. package/radio-group/types.js +5 -0
  200. package/resultsetTable/Icons.d.ts +7 -0
  201. package/resultsetTable/Icons.js +51 -0
  202. package/resultsetTable/ResultsetTable.d.ts +4 -0
  203. package/resultsetTable/ResultsetTable.js +60 -223
  204. package/resultsetTable/ResultsetTable.stories.tsx +300 -0
  205. package/resultsetTable/ResultsetTable.test.js +330 -0
  206. package/resultsetTable/types.d.ts +67 -0
  207. package/resultsetTable/types.js +5 -0
  208. package/select/Icons.d.ts +10 -0
  209. package/select/Icons.js +93 -0
  210. package/select/Listbox.d.ts +4 -0
  211. package/select/Listbox.js +198 -0
  212. package/select/Option.d.ts +4 -0
  213. package/select/Option.js +110 -0
  214. package/select/Select.d.ts +4 -0
  215. package/select/Select.js +231 -724
  216. package/select/Select.stories.tsx +624 -0
  217. package/select/Select.test.js +2233 -0
  218. package/select/types.d.ts +210 -0
  219. package/select/types.js +5 -0
  220. package/sidenav/Sidenav.d.ts +10 -0
  221. package/sidenav/Sidenav.js +194 -105
  222. package/sidenav/Sidenav.stories.tsx +180 -0
  223. package/sidenav/Sidenav.test.js +44 -0
  224. package/sidenav/types.d.ts +73 -0
  225. package/sidenav/types.js +5 -0
  226. package/slider/Slider.d.ts +4 -0
  227. package/slider/Slider.js +166 -227
  228. package/slider/Slider.stories.tsx +183 -0
  229. package/slider/Slider.test.js +250 -0
  230. package/slider/types.d.ts +86 -0
  231. package/slider/types.js +5 -0
  232. package/spinner/Spinner.d.ts +4 -0
  233. package/spinner/Spinner.js +46 -177
  234. package/spinner/Spinner.stories.jsx +103 -0
  235. package/spinner/Spinner.test.js +64 -0
  236. package/spinner/types.d.ts +32 -0
  237. package/spinner/types.js +5 -0
  238. package/switch/Switch.d.ts +4 -0
  239. package/switch/Switch.js +161 -121
  240. package/switch/Switch.stories.tsx +138 -0
  241. package/switch/Switch.test.js +225 -0
  242. package/switch/types.d.ts +66 -0
  243. package/switch/types.js +5 -0
  244. package/table/Table.d.ts +4 -0
  245. package/table/Table.js +12 -26
  246. package/table/Table.stories.jsx +277 -0
  247. package/table/Table.test.js +26 -0
  248. package/table/types.d.ts +21 -0
  249. package/table/types.js +5 -0
  250. package/tabs/Tab.d.ts +4 -0
  251. package/tabs/Tab.js +135 -0
  252. package/tabs/Tabs.d.ts +4 -0
  253. package/tabs/Tabs.js +353 -229
  254. package/tabs/Tabs.stories.tsx +185 -0
  255. package/tabs/Tabs.test.js +351 -0
  256. package/tabs/types.d.ts +92 -0
  257. package/tabs/types.js +5 -0
  258. package/tabs-nav/NavTabs.d.ts +8 -0
  259. package/tabs-nav/NavTabs.js +125 -0
  260. package/tabs-nav/NavTabs.stories.tsx +170 -0
  261. package/tabs-nav/NavTabs.test.js +82 -0
  262. package/tabs-nav/Tab.d.ts +4 -0
  263. package/tabs-nav/Tab.js +130 -0
  264. package/tabs-nav/types.d.ts +53 -0
  265. package/tabs-nav/types.js +5 -0
  266. package/tag/Tag.d.ts +4 -0
  267. package/tag/Tag.js +45 -144
  268. package/tag/Tag.stories.tsx +142 -0
  269. package/tag/Tag.test.js +60 -0
  270. package/tag/types.d.ts +69 -0
  271. package/tag/types.js +5 -0
  272. package/text-input/Icons.d.ts +8 -0
  273. package/text-input/Icons.js +60 -0
  274. package/text-input/Suggestion.d.ts +4 -0
  275. package/text-input/Suggestion.js +57 -0
  276. package/text-input/Suggestions.d.ts +4 -0
  277. package/text-input/Suggestions.js +134 -0
  278. package/text-input/TextInput.d.ts +4 -0
  279. package/text-input/TextInput.js +261 -576
  280. package/text-input/TextInput.stories.tsx +481 -0
  281. package/text-input/TextInput.test.js +1624 -0
  282. package/text-input/types.d.ts +197 -0
  283. package/text-input/types.js +5 -0
  284. package/textarea/Textarea.d.ts +4 -0
  285. package/textarea/Textarea.js +50 -142
  286. package/textarea/Textarea.stories.jsx +157 -0
  287. package/textarea/Textarea.test.js +437 -0
  288. package/textarea/types.d.ts +137 -0
  289. package/textarea/types.js +5 -0
  290. package/toggle-group/ToggleGroup.d.ts +4 -0
  291. package/toggle-group/ToggleGroup.js +36 -148
  292. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  293. package/toggle-group/ToggleGroup.test.js +156 -0
  294. package/toggle-group/types.d.ts +105 -0
  295. package/toggle-group/types.js +5 -0
  296. package/typography/Typography.d.ts +4 -0
  297. package/typography/Typography.js +131 -0
  298. package/typography/Typography.stories.tsx +198 -0
  299. package/typography/types.d.ts +18 -0
  300. package/typography/types.js +5 -0
  301. package/useTheme.d.ts +2 -0
  302. package/useTheme.js +2 -2
  303. package/useTranslatedLabels.d.ts +2 -0
  304. package/useTranslatedLabels.js +20 -0
  305. package/wizard/Wizard.d.ts +4 -0
  306. package/wizard/Wizard.js +132 -252
  307. package/wizard/Wizard.stories.tsx +233 -0
  308. package/wizard/Wizard.test.js +141 -0
  309. package/wizard/types.d.ts +65 -0
  310. package/wizard/types.js +5 -0
  311. package/ThemeContext.js +0 -250
  312. package/V3Select/V3Select.js +0 -549
  313. package/V3Select/index.d.ts +0 -27
  314. package/V3Textarea/V3Textarea.js +0 -264
  315. package/V3Textarea/index.d.ts +0 -27
  316. package/accordion/index.d.ts +0 -28
  317. package/accordion-group/index.d.ts +0 -16
  318. package/alert/index.d.ts +0 -51
  319. package/box/index.d.ts +0 -25
  320. package/button/Button.stories.js +0 -27
  321. package/button/index.d.ts +0 -24
  322. package/card/index.d.ts +0 -22
  323. package/checkbox/index.d.ts +0 -24
  324. package/chip/index.d.ts +0 -22
  325. package/common/RequiredComponent.js +0 -40
  326. package/date/Date.js +0 -379
  327. package/date/index.d.ts +0 -27
  328. package/date-input/index.d.ts +0 -95
  329. package/dialog/index.d.ts +0 -18
  330. package/dropdown/index.d.ts +0 -26
  331. package/file-input/index.d.ts +0 -81
  332. package/footer/index.d.ts +0 -25
  333. package/header/index.d.ts +0 -25
  334. package/heading/index.d.ts +0 -17
  335. package/input-text/Icons.js +0 -22
  336. package/input-text/InputText.js +0 -705
  337. package/input-text/index.d.ts +0 -36
  338. package/link/index.d.ts +0 -23
  339. package/number-input/index.d.ts +0 -113
  340. package/paginator/index.d.ts +0 -20
  341. package/password-input/index.d.ts +0 -94
  342. package/progress-bar/index.d.ts +0 -18
  343. package/radio/Radio.js +0 -209
  344. package/radio/index.d.ts +0 -23
  345. package/resultsetTable/index.d.ts +0 -19
  346. package/select/index.d.ts +0 -131
  347. package/sidenav/index.d.ts +0 -13
  348. package/slider/index.d.ts +0 -29
  349. package/spinner/index.d.ts +0 -17
  350. package/switch/index.d.ts +0 -24
  351. package/table/index.d.ts +0 -13
  352. package/tabs/index.d.ts +0 -19
  353. package/tag/index.d.ts +0 -24
  354. package/text-input/index.d.ts +0 -135
  355. package/textarea/index.d.ts +0 -117
  356. package/toggle/Toggle.js +0 -220
  357. package/toggle/index.d.ts +0 -21
  358. package/toggle-group/index.d.ts +0 -21
  359. package/upload/Upload.js +0 -205
  360. package/upload/buttons-upload/ButtonsUpload.js +0 -135
  361. package/upload/buttons-upload/Icons.js +0 -40
  362. package/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  363. package/upload/dragAndDropArea/Icons.js +0 -39
  364. package/upload/file-upload/FileToUpload.js +0 -189
  365. package/upload/file-upload/Icons.js +0 -66
  366. package/upload/files-upload/FilesToUpload.js +0 -123
  367. package/upload/index.d.ts +0 -15
  368. package/upload/transaction/Icons.js +0 -160
  369. package/upload/transaction/Transaction.js +0 -148
  370. package/upload/transactions/Transactions.js +0 -138
  371. package/wizard/Icons.js +0 -65
  372. package/wizard/index.d.ts +0 -18
@@ -0,0 +1,200 @@
1
+ import React from "react";
2
+ import styled from "styled-components";
3
+ import Title from "../../.storybook/components/Title";
4
+ import { BackgroundColorProvider } from "../BackgroundColorContext";
5
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
+ import DxcBulletedList from "./BulletedList";
7
+
8
+ export default {
9
+ title: "BulletedList",
10
+ component: DxcBulletedList,
11
+ };
12
+
13
+ const icon = (
14
+ <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
15
+ <path d="M0 0h24v24H0V0z" fill="none" />
16
+ <path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z" />
17
+ </svg>
18
+ );
19
+
20
+ export const Chromatic = () => (
21
+ <>
22
+ <ExampleContainer>
23
+ <Title title="Icon list" level={4} />
24
+ <DxcBulletedList type="icon" icon={icon}>
25
+ <DxcBulletedList.Item>Code</DxcBulletedList.Item>
26
+ <DxcBulletedList.Item>Usage</DxcBulletedList.Item>
27
+ <DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
28
+ </DxcBulletedList>
29
+ <Title title="Number list" level={4} />
30
+ <DxcBulletedList type="number">
31
+ <DxcBulletedList.Item>Code</DxcBulletedList.Item>
32
+ <DxcBulletedList.Item>Usage</DxcBulletedList.Item>
33
+ <DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
34
+ </DxcBulletedList>
35
+ <Title title="Square" level={4} />
36
+ <DxcBulletedList type="square">
37
+ <DxcBulletedList.Item>Code</DxcBulletedList.Item>
38
+ <DxcBulletedList.Item>Usage</DxcBulletedList.Item>
39
+ <DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
40
+ </DxcBulletedList>
41
+ <Title title="Circle" level={4} />
42
+ <DxcBulletedList type="circle">
43
+ <DxcBulletedList.Item>Code</DxcBulletedList.Item>
44
+ <DxcBulletedList.Item>Usage</DxcBulletedList.Item>
45
+ <DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
46
+ </DxcBulletedList>
47
+ <Title title="Disc" level={4} />
48
+ <DxcBulletedList>
49
+ <DxcBulletedList.Item>Code</DxcBulletedList.Item>
50
+ <DxcBulletedList.Item>Usage</DxcBulletedList.Item>
51
+ <DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
52
+ </DxcBulletedList>
53
+ <Title title="Multiple lines" level={4} />
54
+ <Container>
55
+ <Title title="Number" level={4} />
56
+ <DxcBulletedList type="number">
57
+ <DxcBulletedList.Item>
58
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
59
+ dolore magna aliqua.
60
+ </DxcBulletedList.Item>
61
+ <DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
62
+ </DxcBulletedList>
63
+ </Container>
64
+ <Container>
65
+ <Title title="Square" level={4} />
66
+ <DxcBulletedList type="square">
67
+ <DxcBulletedList.Item>
68
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
69
+ dolore magna aliqua.
70
+ </DxcBulletedList.Item>
71
+ <DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
72
+ </DxcBulletedList>
73
+ </Container>
74
+ <Container>
75
+ <Title title="Circle" level={4} />
76
+ <DxcBulletedList type="circle">
77
+ <DxcBulletedList.Item>
78
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
79
+ dolore magna aliqua.
80
+ </DxcBulletedList.Item>
81
+ <DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
82
+ </DxcBulletedList>
83
+ </Container>
84
+ <Title title="Disc" level={4} />
85
+ <Container>
86
+ <DxcBulletedList>
87
+ <DxcBulletedList.Item>
88
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
89
+ dolore magna aliqua.
90
+ </DxcBulletedList.Item>
91
+ <DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
92
+ </DxcBulletedList>
93
+ </Container>
94
+ <Container>
95
+ <Title title="Icon" level={4} />
96
+ <DxcBulletedList type="icon" icon={icon}>
97
+ <DxcBulletedList.Item>
98
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
99
+ dolore magna aliqua.
100
+ </DxcBulletedList.Item>
101
+ <DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
102
+ </DxcBulletedList>
103
+ </Container>
104
+ </ExampleContainer>
105
+ <BackgroundColorProvider color="#333333">
106
+ <DarkContainerForBulletedList>
107
+ <Title title="Icon list" theme="dark" level={4} />
108
+ <DxcBulletedList type="icon" icon={icon}>
109
+ <DxcBulletedList.Item>Code</DxcBulletedList.Item>
110
+ <DxcBulletedList.Item>Usage</DxcBulletedList.Item>
111
+ <DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
112
+ </DxcBulletedList>
113
+ <Title title="Number list" theme="dark" level={4} />
114
+ <DxcBulletedList type="number">
115
+ <DxcBulletedList.Item>Code</DxcBulletedList.Item>
116
+ <DxcBulletedList.Item>Usage</DxcBulletedList.Item>
117
+ <DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
118
+ </DxcBulletedList>
119
+ <Title title="Square" theme="dark" level={4} />
120
+ <DxcBulletedList type="square">
121
+ <DxcBulletedList.Item>Code</DxcBulletedList.Item>
122
+ <DxcBulletedList.Item>Usage</DxcBulletedList.Item>
123
+ <DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
124
+ </DxcBulletedList>
125
+ <Title title="Circle" theme="dark" level={4} />
126
+ <DxcBulletedList type="circle">
127
+ <DxcBulletedList.Item>Code</DxcBulletedList.Item>
128
+ <DxcBulletedList.Item>Usage</DxcBulletedList.Item>
129
+ <DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
130
+ </DxcBulletedList>
131
+ <Title title="Disc" theme="dark" level={4} />
132
+ <DxcBulletedList>
133
+ <DxcBulletedList.Item>Code</DxcBulletedList.Item>
134
+ <DxcBulletedList.Item>Usage</DxcBulletedList.Item>
135
+ <DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
136
+ </DxcBulletedList>
137
+ <Title title="Multiple lines" theme="dark" level={4} />
138
+ <Container>
139
+ <Title title="Number" theme="dark" level={4} />
140
+ <DxcBulletedList type="number">
141
+ <DxcBulletedList.Item>
142
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
143
+ dolore magna aliqua.
144
+ </DxcBulletedList.Item>
145
+ <DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
146
+ </DxcBulletedList>
147
+ </Container>
148
+ <Container>
149
+ <Title title="Square" theme="dark" level={4} />
150
+ <DxcBulletedList type="square">
151
+ <DxcBulletedList.Item>
152
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
153
+ dolore magna aliqua.
154
+ </DxcBulletedList.Item>
155
+ <DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
156
+ </DxcBulletedList>
157
+ </Container>
158
+ <Container>
159
+ <Title title="Circle" theme="dark" level={4} />
160
+ <DxcBulletedList type="circle">
161
+ <DxcBulletedList.Item>
162
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
163
+ dolore magna aliqua.
164
+ </DxcBulletedList.Item>
165
+ <DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
166
+ </DxcBulletedList>
167
+ </Container>
168
+ <Title title="Disc" theme="dark" level={4} />
169
+ <Container>
170
+ <DxcBulletedList>
171
+ <DxcBulletedList.Item>
172
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
173
+ dolore magna aliqua.
174
+ </DxcBulletedList.Item>
175
+ <DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
176
+ </DxcBulletedList>
177
+ </Container>
178
+ <Container>
179
+ <Title title="Icon" theme="dark" level={4} />
180
+ <DxcBulletedList type="icon" icon={icon}>
181
+ <DxcBulletedList.Item>
182
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
183
+ dolore magna aliqua.
184
+ </DxcBulletedList.Item>
185
+ <DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
186
+ </DxcBulletedList>
187
+ </Container>
188
+ </DarkContainerForBulletedList>
189
+ </BackgroundColorProvider>
190
+ </>
191
+ );
192
+
193
+ const Container = styled.div`
194
+ width: 400px;
195
+ `;
196
+
197
+ const DarkContainerForBulletedList = styled.div`
198
+ background-color: #333333;
199
+ padding: 5px;
200
+ `;
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ declare type SVG = React.ReactNode & (React.SVGProps<SVGSVGElement> | React.FunctionComponent<React.SVGProps<SVGSVGElement>>);
3
+ declare type Props = {
4
+ children: React.ReactNode;
5
+ type?: "disc" | "circle" | "square" | "number" | "icon";
6
+ icon?: string | SVG;
7
+ };
8
+ export default Props;
9
+ export declare type BulletedListItemPropsType = {
10
+ children?: React.ReactNode;
11
+ };
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import ButtonPropsType from "./types";
3
+ declare const DxcButton: ({ label, mode, disabled, iconPosition, type, icon, onClick, margin, size, tabIndex, }: ButtonPropsType) => JSX.Element;
4
+ export default DxcButton;
package/button/Button.js CHANGED
@@ -1,75 +1,51 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
4
 
5
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
6
+
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
10
  exports["default"] = void 0;
11
11
 
12
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
12
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
13
 
14
14
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
15
 
16
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
17
-
18
16
  var _react = _interopRequireWildcard(require("react"));
19
17
 
20
- var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
21
-
22
- var _propTypes = _interopRequireDefault(require("prop-types"));
23
-
24
18
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
25
19
 
26
20
  var _variables = require("../common/variables.js");
27
21
 
28
22
  var _utils = require("../common/utils.js");
29
23
 
30
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
31
-
32
- var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext.js"));
33
-
34
- function _templateObject4() {
35
- var data = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n display: inline-block;\n width: ", ";\n cursor: ", ";\n\n .MuiButtonBase-root {\n padding-left: ", ";\n padding-right: ", ";\n padding-top: ", ";\n padding-bottom: ", ";\n\n .MuiButton-label {\n display: flex;\n flex-direction: ", ";\n align-items: center;\n }\n\n box-shadow: 0 0 0 2px transparent;\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n min-width: ", ";\n width: 100%;\n height: 40px;\n transition: none !important;\n\n &:focus {\n border-color: transparent;\n box-shadow: 0 0 0 2px\n ", ";\n }\n\n ", "\n }\n"]);
36
-
37
- _templateObject4 = function _templateObject4() {
38
- return data;
39
- };
40
-
41
- return data;
42
- }
43
-
44
- function _templateObject3() {
45
- var data = (0, _taggedTemplateLiteral2["default"])(["\n max-height: 24px;\n max-width: 24px;\n margin-left: ", ";\n margin-right: ", ";\n"]);
24
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
46
25
 
47
- _templateObject3 = function _templateObject3() {
48
- return data;
49
- };
26
+ var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
50
27
 
51
- return data;
52
- }
28
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
53
29
 
54
- function _templateObject2() {
55
- var data = (0, _taggedTemplateLiteral2["default"])(["\n max-height: 24px;\n max-width: 24px;\n margin-left: ", ";\n margin-right: ", ";\n overflow: hidden;\n display: flex;\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"]);
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); }
56
31
 
57
- _templateObject2 = function _templateObject2() {
58
- return data;
59
- };
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; }
60
33
 
61
- return data;
62
- }
63
-
64
- function _templateObject() {
65
- var data = (0, _taggedTemplateLiteral2["default"])(["\n line-height: ", ";\n font-size: ", ";\n text-overflow: ellipsis;\n overflow: hidden;\n text-transform: none;\n margin-right: ", ";\n margin-left: ", ";\n"]);
34
+ var sizes = {
35
+ small: "42px",
36
+ medium: "120px",
37
+ large: "240px",
38
+ fillParent: "100%",
39
+ fitContent: "fit-content"
40
+ };
66
41
 
67
- _templateObject = function _templateObject() {
68
- return data;
69
- };
42
+ var calculateWidth = function calculateWidth(margin, size) {
43
+ if (size === "fillParent") {
44
+ return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
45
+ }
70
46
 
71
- return data;
72
- }
47
+ return sizes[size];
48
+ };
73
49
 
74
50
  var DxcButton = function DxcButton(_ref) {
75
51
  var _ref$label = _ref.label,
@@ -82,92 +58,46 @@ var DxcButton = function DxcButton(_ref) {
82
58
  iconPosition = _ref$iconPosition === void 0 ? "before" : _ref$iconPosition,
83
59
  _ref$type = _ref.type,
84
60
  type = _ref$type === void 0 ? "button" : _ref$type,
85
- _ref$iconSrc = _ref.iconSrc,
86
- iconSrc = _ref$iconSrc === void 0 ? "" : _ref$iconSrc,
87
61
  icon = _ref.icon,
88
62
  _ref$onClick = _ref.onClick,
89
- _onClick = _ref$onClick === void 0 ? "" : _ref$onClick,
63
+ _onClick = _ref$onClick === void 0 ? function () {} : _ref$onClick,
90
64
  margin = _ref.margin,
91
- size = _ref.size,
65
+ _ref$size = _ref.size,
66
+ size = _ref$size === void 0 ? "fitContent" : _ref$size,
92
67
  _ref$tabIndex = _ref.tabIndex,
93
68
  tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
94
69
 
95
70
  var colorsTheme = (0, _useTheme["default"])();
96
71
  var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
97
- return _react["default"].createElement(_styledComponents.ThemeProvider, {
72
+
73
+ var labelComponent = /*#__PURE__*/_react["default"].createElement(LabelContainer, {
74
+ icon: icon,
75
+ iconPosition: iconPosition
76
+ }, label);
77
+
78
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
98
79
  theme: colorsTheme.button
99
- }, _react["default"].createElement(DxCButton, {
80
+ }, /*#__PURE__*/_react["default"].createElement(Button, {
100
81
  type: type,
101
- margin: margin,
102
82
  mode: mode !== "primary" && mode !== "secondary" && mode !== "text" ? "primary" : mode,
103
83
  disabled: disabled,
104
- iconPosition: iconPosition,
105
- size: size,
106
- backgroundType: backgroundType,
107
- icon: icon
108
- }, _react["default"].createElement(_Button["default"], {
109
- disabled: disabled,
110
- type: type,
111
- disableRipple: true,
112
- "aria-disabled": disabled ? true : false,
84
+ "aria-disabled": disabled,
113
85
  tabIndex: disabled ? -1 : tabIndex,
86
+ backgroundType: backgroundType,
87
+ size: size,
88
+ margin: margin,
114
89
  onClick: function onClick() {
115
- if (_onClick) {
116
- _onClick();
117
- }
90
+ _onClick();
118
91
  }
119
- }, label && _react["default"].createElement(LabelContainer, {
120
- icon: icon,
121
- iconPosition: iconPosition
122
- }, label), icon ? _react["default"].createElement(IconContainer, {
92
+ }, label && iconPosition === "after" && labelComponent, icon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
123
93
  label: label,
124
94
  iconPosition: iconPosition
125
- }, (0, _typeof2["default"])(icon) === "object" ? icon : _react["default"].createElement(icon)) : iconSrc && _react["default"].createElement(ButtonIcon, {
126
- label: label,
127
- iconPosition: iconPosition,
128
- src: iconSrc
129
- }))));
130
- };
131
-
132
- var sizes = {
133
- small: "42px",
134
- medium: "120px",
135
- large: "240px",
136
- fillParent: "100%",
137
- fitContent: "unset"
138
- };
139
-
140
- var calculateWidth = function calculateWidth(margin, size) {
141
- if (size === "fillParent") {
142
- return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
143
- }
144
-
145
- return sizes[size];
95
+ }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(ButtonIcon, {
96
+ src: icon
97
+ }) : icon), label && iconPosition === "before" && labelComponent));
146
98
  };
147
99
 
148
- var LabelContainer = _styledComponents["default"].span(_templateObject(), function (props) {
149
- return props.theme.labelFontLineHeight;
150
- }, function (props) {
151
- return props.theme.fontSize;
152
- }, function (props) {
153
- return !props.icon || props.iconPosition === "before" ? "8px" : "0px";
154
- }, function (props) {
155
- return !props.icon || props.iconPosition === "after" ? "8px" : "0px";
156
- });
157
-
158
- var IconContainer = _styledComponents["default"].div(_templateObject2(), function (props) {
159
- return !props.label ? "0px" : props.iconPosition === "after" && props.label !== "" && "8px" || "8px";
160
- }, function (props) {
161
- return !props.label ? "0px" : props.iconPosition === "before" && props.label !== "" && "8px" || "8px";
162
- });
163
-
164
- var ButtonIcon = _styledComponents["default"].img(_templateObject3(), function (props) {
165
- return props.iconPosition === "after" && props.label !== "" && "10px" || "0px";
166
- }, function (props) {
167
- return props.iconPosition === "before" && props.label !== "" && "10px" || "0px";
168
- });
169
-
170
- var DxCButton = _styledComponents["default"].div(_templateObject4(), function (props) {
100
+ var Button = _styledComponents["default"].button(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n display: inline-flex;\n width: ", ";\n height: 40px;\n padding-left: ", ";\n padding-right: ", ";\n padding-top: ", ";\n padding-bottom: ", ";\n align-items: center;\n justify-content: center;\n box-shadow: 0 0 0 2px transparent;\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n cursor: pointer;\n &:focus {\n outline: none;\n box-shadow: 0 0 0 2px\n ", ";\n }\n ", "\n"])), function (props) {
171
101
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
172
102
  }, function (props) {
173
103
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
@@ -179,8 +109,6 @@ var DxCButton = _styledComponents["default"].div(_templateObject4(), function (p
179
109
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
180
110
  }, function (props) {
181
111
  return calculateWidth(props.margin, props.size);
182
- }, function (props) {
183
- return props.disabled && "not-allowed" || "pointer";
184
112
  }, function (props) {
185
113
  return props.theme.paddingLeft;
186
114
  }, function (props) {
@@ -189,8 +117,6 @@ var DxCButton = _styledComponents["default"].div(_templateObject4(), function (p
189
117
  return props.theme.paddingTop;
190
118
  }, function (props) {
191
119
  return props.theme.paddingBottom;
192
- }, function (props) {
193
- return props.iconPosition === "after" && "row" || "row-reverse";
194
120
  }, function (props) {
195
121
  return props.theme.fontFamily;
196
122
  }, function (props) {
@@ -199,40 +125,32 @@ var DxCButton = _styledComponents["default"].div(_templateObject4(), function (p
199
125
  return props.theme.fontWeight;
200
126
  }, function (props) {
201
127
  return props.theme.labelLetterSpacing;
202
- }, function (props) {
203
- return props.size === "small" && "calc(100% - 22px)" || "unset";
204
128
  }, function (props) {
205
129
  return props.backgroundType === "dark" ? props.theme.focusBorderColorOnDark : props.theme.focusBorderColor;
206
130
  }, function (props) {
207
131
  var mode = props.mode,
208
- backgroundType = props.backgroundType;
209
-
210
- if (mode === "primary") {
211
- return "\n border-radius: ".concat(props.theme.primaryBorderRadius, ";\n border-width: ").concat(props.theme.primaryBorderThickness, ";\n border-style: ").concat(props.theme.primaryBorderStyle, ";\n font-family: ").concat(props.theme.primaryFontFamily, ";\n font-size: ").concat(props.theme.primaryFontSize, ";\n font-weight: ").concat(props.theme.primaryFontWeight, ";\n background-color: ").concat(backgroundType === "dark" ? props.theme.primaryBackgroundColorOnDark : props.theme.primaryBackgroundColor, ";\n color: ").concat(backgroundType && backgroundType === "dark" ? props.theme.primaryFontColorOnDark : props.theme.primaryFontColor, " !important;\n\n &:hover {\n background-color: ").concat(backgroundType === "dark" ? props.theme.primaryHoverBackgroundColorOnDark : props.theme.primaryHoverBackgroundColor, ";\n }\n &:active {\n background-color: ").concat(backgroundType === "dark" ? props.theme.primaryActiveBackgroundColorOnDark : props.theme.primaryActiveBackgroundColor, " !important;\n border-color: transparent;\n box-shadow: 0 0 0 2px ").concat(backgroundType === "dark" ? props.theme.focusBorderColorOnDark : props.theme.focusBorderColor, ";\n }\n &:disabled { \n cursor: not-allowed;\n background-color: ").concat(backgroundType === "dark" ? props.theme.primaryDisabledBackgroundColorOnDark : props.theme.primaryDisabledBackgroundColor, ";\n color: ").concat(backgroundType === "dark" ? props.theme.primaryDisabledFontColorOnDark : props.theme.primaryDisabledFontColor, "!important; \n }\n .MuiButton-label {\n z-index: 5;\n }\n ");
212
- } else if (mode === "secondary") {
213
- return "\n border-radius: ".concat(props.theme.secondaryBorderRadius, ";\n border-width: ").concat(props.theme.secondaryBorderThickness, ";\n border-style: ").concat(props.theme.secondaryBorderStyle, ";\n font-family: ").concat(props.theme.secondaryFontFamily, ";\n font-size: ").concat(props.theme.secondaryFontSize, ";\n font-weight: ").concat(props.theme.secondaryFontWeight, ";\n background-color: ").concat(backgroundType === "dark" ? props.theme.secondaryBackgroundColorOnDark : props.theme.secondaryBackgroundColor, ";\n color: ").concat(backgroundType === "dark" ? props.theme.secondaryFontColorOnDark : props.theme.secondaryFontColor, " !important;\n border-color: ").concat(backgroundType === "dark" ? props.theme.secondaryBorderColorOnDark : props.theme.secondaryBorderColor, ";\n\n &:hover {\n background-color: ").concat(backgroundType === "dark" ? props.theme.secondaryHoverBackgroundColorOnDark : props.theme.secondaryHoverBackgroundColor, ";\n color: ").concat(backgroundType === "dark" ? props.theme.secondaryHoverFontColorOnDark : props.theme.secondaryHoverFontColor, " !important;\n }\n &:active {\n background-color: ").concat(backgroundType === "dark" ? props.theme.secondaryActiveBackgroundColorOnDark : props.theme.secondaryActiveBackgroundColor, " !important;\n color: ").concat(backgroundType === "dark" ? props.theme.secondaryHoverFontColorOnDark : props.theme.secondaryHoverFontColor, " !important;\n border-color: transparent;\n box-shadow: 0 0 0 2px ").concat(backgroundType === "dark" ? props.theme.focusBorderColorOnDark : props.theme.focusBorderColor, ";\n }\n &:disabled {\n cursor: not-allowed;\n background-color: ").concat(backgroundType === "dark" ? props.theme.secondaryDisabledBackgroundColorOnDark : props.theme.secondaryDisabledBackgroundColor, " !important;\n color: ").concat(backgroundType === "dark" ? props.theme.secondaryDisabledFontColorOnDark : props.theme.secondaryDisabledFontColor, " !important;\n border-color: ").concat(backgroundType === "dark" ? props.theme.secondaryDisabledBorderColorOnDark : props.theme.secondaryDisabledBorderColor, ";\n }\n .MuiButton-label {\n z-index: 5;\n }\n ");
214
- } else if (mode === "text") {
215
- return "\n border-radius: ".concat(props.theme.textBorderRadius, ";\n border-width: ").concat(props.theme.textBorderThickness, ";\n border-style: ").concat(props.theme.textBorderStyle, ";\n font-family: ").concat(props.theme.textFontFamily, ";\n font-size: ").concat(props.theme.textFontSize, ";\n font-weight: ").concat(props.theme.textFontWeight, ";\n background-color: ").concat(backgroundType === "dark" ? props.theme.textBackgroundColorOnDark : props.theme.textBackgroundColor, ";\n color: ").concat(backgroundType === "dark" ? props.theme.textFontColorOnDark : props.theme.textFontColor, " !important;\n\n &:hover {\n background-color: ").concat(backgroundType === "dark" ? props.theme.textHoverBackgroundColorOnDark : props.theme.textHoverBackgroundColor, ";\n }\n &:active {\n background-color: ").concat(backgroundType === "dark" ? props.theme.textActiveBackgroundColorOnDark : props.theme.textActiveBackgroundColor, " !important;\n border-color: transparent;\n box-shadow: 0 0 0 2px ").concat(backgroundType === "dark" ? props.theme.focusBorderColorOnDark : props.theme.focusBorderColor, ";\n }\n &:disabled {\n cursor:not-allowed;\n color: ").concat(backgroundType === "dark" ? props.theme.textDisabledFontColorOnDark : props.theme.textDisabledFontColor, " !important;\n background-color: ").concat(backgroundType === "dark" ? props.theme.textDisabledBackgroundColorOnDark : props.theme.textDisabledBackgroundColor, ";\n }\n ");
216
- }
132
+ backgroundType = props.backgroundType,
133
+ disabled = props.disabled;
134
+ return "\n border-radius: ".concat(props.mode === "primary" ? props.theme.primaryBorderRadius : props.mode === "secondary" ? props.theme.secondaryBorderRadius : props.theme.textBorderRadius, ";\n border-width: ").concat(props.mode === "primary" ? props.theme.primaryBorderThickness : props.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 ");
217
135
  });
218
136
 
219
- DxcButton.propTypes = {
220
- size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
221
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
222
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
223
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
224
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
225
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
226
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
227
- label: _propTypes["default"].string,
228
- mode: _propTypes["default"].oneOf(["primary", "secondary", "text"]),
229
- disabled: _propTypes["default"].bool,
230
- iconPosition: _propTypes["default"].oneOf(["after", "before"]),
231
- onClick: _propTypes["default"].func,
232
- iconSrc: _propTypes["default"].string,
233
- icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
234
- type: _propTypes["default"].oneOf(["button", "reset", "submit"]),
235
- tabIndex: _propTypes["default"].number
236
- };
137
+ 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 margin-right: ", ";\n margin-left: ", ";\n"])), function (props) {
138
+ return props.theme.labelFontLineHeight;
139
+ }, function (props) {
140
+ return props.theme.fontSize;
141
+ }, function (props) {
142
+ return !props.icon || props.iconPosition === "before" ? "8px" : "0px";
143
+ }, function (props) {
144
+ return !props.icon || props.iconPosition === "after" ? "8px" : "0px";
145
+ });
146
+
147
+ var IconContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: 24px;\n max-width: 24px;\n margin-left: ", ";\n margin-right: ", ";\n overflow: hidden;\n display: flex;\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
148
+ return !props.label ? "0px" : props.iconPosition === "after" && props.label !== "" && "8px" || "8px";
149
+ }, function (props) {
150
+ return !props.label ? "0px" : props.iconPosition === "before" && props.label !== "" && "8px" || "8px";
151
+ });
152
+
153
+ var ButtonIcon = _styledComponents["default"].img(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])));
154
+
237
155
  var _default = DxcButton;
238
156
  exports["default"] = _default;