@dxc-technology/halstack-react 0.0.0-c6243ef → 0.0.0-c67081d

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 (513) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +47 -0
  3. package/HalstackContext.d.ts +1356 -0
  4. package/HalstackContext.js +335 -0
  5. package/README.md +28 -47
  6. package/accordion/Accordion.d.ts +4 -0
  7. package/accordion/Accordion.js +222 -0
  8. package/accordion/Accordion.stories.tsx +297 -0
  9. package/accordion/Accordion.test.js +71 -0
  10. package/accordion/types.d.ts +57 -0
  11. package/accordion/types.js +5 -0
  12. package/accordion-group/AccordionGroup.d.ts +8 -0
  13. package/accordion-group/AccordionGroup.js +128 -0
  14. package/accordion-group/AccordionGroup.stories.tsx +252 -0
  15. package/accordion-group/AccordionGroup.test.js +116 -0
  16. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  17. package/accordion-group/AccordionGroupAccordion.js +43 -0
  18. package/accordion-group/types.d.ts +67 -0
  19. package/accordion-group/types.js +5 -0
  20. package/alert/Alert.d.ts +4 -0
  21. package/{dist/alert → alert}/Alert.js +45 -159
  22. package/alert/Alert.stories.tsx +198 -0
  23. package/alert/Alert.test.js +92 -0
  24. package/alert/types.d.ts +49 -0
  25. package/alert/types.js +5 -0
  26. package/badge/Badge.d.ts +4 -0
  27. package/badge/Badge.js +61 -0
  28. package/badge/types.d.ts +5 -0
  29. package/badge/types.js +5 -0
  30. package/bleed/Bleed.d.ts +3 -0
  31. package/bleed/Bleed.js +51 -0
  32. package/bleed/Bleed.stories.tsx +342 -0
  33. package/bleed/types.d.ts +37 -0
  34. package/bleed/types.js +5 -0
  35. package/box/Box.d.ts +4 -0
  36. package/box/Box.js +97 -0
  37. package/box/Box.stories.tsx +119 -0
  38. package/box/Box.test.js +18 -0
  39. package/box/types.d.ts +32 -0
  40. package/box/types.js +5 -0
  41. package/bulleted-list/BulletedList.d.ts +7 -0
  42. package/bulleted-list/BulletedList.js +125 -0
  43. package/bulleted-list/BulletedList.stories.tsx +206 -0
  44. package/bulleted-list/types.d.ts +38 -0
  45. package/bulleted-list/types.js +5 -0
  46. package/button/Button.d.ts +4 -0
  47. package/button/Button.js +144 -0
  48. package/button/Button.stories.tsx +425 -0
  49. package/button/Button.test.js +46 -0
  50. package/button/types.d.ts +57 -0
  51. package/button/types.js +5 -0
  52. package/card/Card.d.ts +4 -0
  53. package/card/Card.js +143 -0
  54. package/card/Card.stories.tsx +171 -0
  55. package/card/Card.test.js +50 -0
  56. package/card/types.d.ts +62 -0
  57. package/card/types.js +5 -0
  58. package/checkbox/Checkbox.d.ts +4 -0
  59. package/checkbox/Checkbox.js +269 -0
  60. package/checkbox/Checkbox.stories.tsx +276 -0
  61. package/checkbox/Checkbox.test.js +228 -0
  62. package/checkbox/types.d.ts +72 -0
  63. package/checkbox/types.js +5 -0
  64. package/chip/Chip.d.ts +4 -0
  65. package/chip/Chip.js +140 -0
  66. package/chip/Chip.stories.tsx +214 -0
  67. package/chip/Chip.test.js +54 -0
  68. package/chip/types.d.ts +45 -0
  69. package/chip/types.js +5 -0
  70. package/common/OpenSans.css +69 -0
  71. package/common/coreTokens.d.ts +146 -0
  72. package/common/coreTokens.js +167 -0
  73. package/common/utils.d.ts +1 -0
  74. package/{dist/common → common}/utils.js +4 -4
  75. package/common/variables.d.ts +1499 -0
  76. package/common/variables.js +1378 -0
  77. package/date-input/Calendar.d.ts +4 -0
  78. package/date-input/Calendar.js +258 -0
  79. package/date-input/DateInput.d.ts +4 -0
  80. package/date-input/DateInput.js +271 -0
  81. package/date-input/DateInput.stories.tsx +314 -0
  82. package/date-input/DateInput.test.js +849 -0
  83. package/date-input/DatePicker.d.ts +4 -0
  84. package/date-input/DatePicker.js +146 -0
  85. package/date-input/Icons.d.ts +6 -0
  86. package/date-input/Icons.js +75 -0
  87. package/date-input/YearPicker.d.ts +4 -0
  88. package/date-input/YearPicker.js +126 -0
  89. package/date-input/types.d.ts +164 -0
  90. package/date-input/types.js +5 -0
  91. package/dialog/Dialog.d.ts +4 -0
  92. package/dialog/Dialog.js +131 -0
  93. package/dialog/Dialog.stories.tsx +195 -0
  94. package/dialog/Dialog.test.js +369 -0
  95. package/dialog/types.d.ts +31 -0
  96. package/dialog/types.js +5 -0
  97. package/dropdown/Dropdown.d.ts +4 -0
  98. package/dropdown/Dropdown.js +388 -0
  99. package/dropdown/Dropdown.stories.tsx +438 -0
  100. package/dropdown/Dropdown.test.js +586 -0
  101. package/dropdown/DropdownMenu.d.ts +4 -0
  102. package/dropdown/DropdownMenu.js +74 -0
  103. package/dropdown/DropdownMenuItem.d.ts +4 -0
  104. package/dropdown/DropdownMenuItem.js +79 -0
  105. package/dropdown/types.d.ts +100 -0
  106. package/dropdown/types.js +5 -0
  107. package/file-input/FileInput.d.ts +4 -0
  108. package/file-input/FileInput.js +547 -0
  109. package/file-input/FileInput.stories.tsx +618 -0
  110. package/file-input/FileInput.test.js +457 -0
  111. package/file-input/FileItem.d.ts +4 -0
  112. package/file-input/FileItem.js +162 -0
  113. package/file-input/types.d.ts +129 -0
  114. package/file-input/types.js +5 -0
  115. package/flex/Flex.d.ts +4 -0
  116. package/flex/Flex.js +71 -0
  117. package/flex/Flex.stories.tsx +112 -0
  118. package/flex/types.d.ts +97 -0
  119. package/flex/types.js +5 -0
  120. package/footer/Footer.d.ts +4 -0
  121. package/footer/Footer.js +165 -0
  122. package/footer/Footer.stories.tsx +152 -0
  123. package/footer/Footer.test.js +99 -0
  124. package/footer/Icons.d.ts +2 -0
  125. package/footer/Icons.js +77 -0
  126. package/footer/types.d.ts +64 -0
  127. package/footer/types.js +5 -0
  128. package/grid/Grid.d.ts +7 -0
  129. package/grid/Grid.js +91 -0
  130. package/grid/Grid.stories.tsx +219 -0
  131. package/grid/types.d.ts +115 -0
  132. package/grid/types.js +5 -0
  133. package/header/Header.d.ts +8 -0
  134. package/header/Header.js +276 -0
  135. package/header/Header.stories.tsx +251 -0
  136. package/header/Header.test.js +79 -0
  137. package/header/Icons.d.ts +2 -0
  138. package/header/Icons.js +34 -0
  139. package/header/types.d.ts +34 -0
  140. package/header/types.js +5 -0
  141. package/heading/Heading.d.ts +4 -0
  142. package/{dist/heading → heading}/Heading.js +32 -91
  143. package/heading/Heading.stories.tsx +54 -0
  144. package/heading/Heading.test.js +186 -0
  145. package/heading/types.d.ts +33 -0
  146. package/heading/types.js +5 -0
  147. package/image/Image.d.ts +4 -0
  148. package/image/Image.js +85 -0
  149. package/image/Image.stories.tsx +127 -0
  150. package/image/types.d.ts +72 -0
  151. package/image/types.js +5 -0
  152. package/inset/Inset.d.ts +3 -0
  153. package/inset/Inset.js +51 -0
  154. package/inset/Inset.stories.tsx +230 -0
  155. package/inset/types.d.ts +37 -0
  156. package/inset/types.js +5 -0
  157. package/layout/ApplicationLayout.d.ts +20 -0
  158. package/layout/ApplicationLayout.js +174 -0
  159. package/layout/ApplicationLayout.stories.tsx +162 -0
  160. package/layout/Icons.d.ts +8 -0
  161. package/layout/Icons.js +62 -0
  162. package/layout/SidenavContext.d.ts +5 -0
  163. package/layout/SidenavContext.js +19 -0
  164. package/layout/types.d.ts +41 -0
  165. package/layout/types.js +5 -0
  166. package/link/Link.d.ts +4 -0
  167. package/link/Link.js +136 -0
  168. package/link/Link.stories.tsx +253 -0
  169. package/link/Link.test.js +81 -0
  170. package/link/types.d.ts +54 -0
  171. package/link/types.js +5 -0
  172. package/main.d.ts +46 -0
  173. package/{dist/main.js → main.js} +130 -112
  174. package/nav-tabs/NavTabs.d.ts +8 -0
  175. package/nav-tabs/NavTabs.js +122 -0
  176. package/nav-tabs/NavTabs.stories.tsx +274 -0
  177. package/nav-tabs/NavTabs.test.js +82 -0
  178. package/nav-tabs/Tab.d.ts +4 -0
  179. package/nav-tabs/Tab.js +146 -0
  180. package/nav-tabs/types.d.ts +52 -0
  181. package/nav-tabs/types.js +5 -0
  182. package/number-input/NumberInput.d.ts +11 -0
  183. package/number-input/NumberInput.js +80 -0
  184. package/number-input/NumberInput.stories.tsx +160 -0
  185. package/number-input/NumberInput.test.js +768 -0
  186. package/number-input/types.d.ts +130 -0
  187. package/number-input/types.js +5 -0
  188. package/package.json +47 -41
  189. package/paginator/Icons.d.ts +5 -0
  190. package/paginator/Icons.js +54 -0
  191. package/paginator/Paginator.d.ts +4 -0
  192. package/paginator/Paginator.js +163 -0
  193. package/paginator/Paginator.stories.tsx +87 -0
  194. package/paginator/Paginator.test.js +318 -0
  195. package/paginator/types.d.ts +38 -0
  196. package/paginator/types.js +5 -0
  197. package/paragraph/Paragraph.d.ts +5 -0
  198. package/paragraph/Paragraph.js +38 -0
  199. package/paragraph/Paragraph.stories.tsx +44 -0
  200. package/password-input/Icons.d.ts +6 -0
  201. package/password-input/Icons.js +39 -0
  202. package/password-input/PasswordInput.d.ts +4 -0
  203. package/password-input/PasswordInput.js +119 -0
  204. package/password-input/PasswordInput.stories.tsx +132 -0
  205. package/password-input/PasswordInput.test.js +174 -0
  206. package/password-input/types.d.ts +110 -0
  207. package/password-input/types.js +5 -0
  208. package/progress-bar/ProgressBar.d.ts +4 -0
  209. package/progress-bar/ProgressBar.js +176 -0
  210. package/progress-bar/ProgressBar.stories.jsx +93 -0
  211. package/progress-bar/ProgressBar.test.js +110 -0
  212. package/progress-bar/types.d.ts +37 -0
  213. package/progress-bar/types.js +5 -0
  214. package/quick-nav/QuickNav.d.ts +4 -0
  215. package/quick-nav/QuickNav.js +117 -0
  216. package/quick-nav/QuickNav.stories.tsx +356 -0
  217. package/quick-nav/types.d.ts +21 -0
  218. package/quick-nav/types.js +5 -0
  219. package/radio-group/Radio.d.ts +4 -0
  220. package/radio-group/Radio.js +156 -0
  221. package/radio-group/RadioGroup.d.ts +4 -0
  222. package/radio-group/RadioGroup.js +281 -0
  223. package/radio-group/RadioGroup.stories.tsx +214 -0
  224. package/radio-group/RadioGroup.test.js +749 -0
  225. package/radio-group/types.d.ts +114 -0
  226. package/radio-group/types.js +5 -0
  227. package/resultsetTable/Icons.d.ts +7 -0
  228. package/resultsetTable/Icons.js +51 -0
  229. package/resultsetTable/ResultsetTable.d.ts +4 -0
  230. package/resultsetTable/ResultsetTable.js +195 -0
  231. package/resultsetTable/ResultsetTable.stories.tsx +300 -0
  232. package/resultsetTable/ResultsetTable.test.js +325 -0
  233. package/resultsetTable/types.d.ts +67 -0
  234. package/resultsetTable/types.js +5 -0
  235. package/select/Icons.d.ts +10 -0
  236. package/select/Icons.js +93 -0
  237. package/select/Listbox.d.ts +4 -0
  238. package/select/Listbox.js +169 -0
  239. package/select/Option.d.ts +4 -0
  240. package/select/Option.js +97 -0
  241. package/select/Select.d.ts +4 -0
  242. package/select/Select.js +666 -0
  243. package/select/Select.stories.tsx +971 -0
  244. package/select/Select.test.js +2228 -0
  245. package/select/types.d.ts +210 -0
  246. package/select/types.js +5 -0
  247. package/sidenav/Icons.d.ts +7 -0
  248. package/sidenav/Icons.js +51 -0
  249. package/sidenav/Sidenav.d.ts +10 -0
  250. package/sidenav/Sidenav.js +238 -0
  251. package/sidenav/Sidenav.stories.tsx +282 -0
  252. package/sidenav/Sidenav.test.js +44 -0
  253. package/sidenav/types.d.ts +76 -0
  254. package/sidenav/types.js +5 -0
  255. package/slider/Slider.d.ts +4 -0
  256. package/slider/Slider.js +342 -0
  257. package/slider/Slider.stories.tsx +240 -0
  258. package/slider/Slider.test.js +250 -0
  259. package/slider/types.d.ts +86 -0
  260. package/slider/types.js +5 -0
  261. package/spinner/Spinner.d.ts +4 -0
  262. package/spinner/Spinner.js +244 -0
  263. package/spinner/Spinner.stories.jsx +129 -0
  264. package/spinner/Spinner.test.js +64 -0
  265. package/spinner/types.d.ts +32 -0
  266. package/spinner/types.js +5 -0
  267. package/switch/Switch.d.ts +4 -0
  268. package/switch/Switch.js +262 -0
  269. package/switch/Switch.stories.tsx +171 -0
  270. package/switch/Switch.test.js +225 -0
  271. package/switch/types.d.ts +66 -0
  272. package/switch/types.js +5 -0
  273. package/table/Table.d.ts +4 -0
  274. package/{dist/table → table}/Table.js +14 -28
  275. package/table/Table.stories.jsx +356 -0
  276. package/table/Table.test.js +26 -0
  277. package/table/types.d.ts +21 -0
  278. package/table/types.js +5 -0
  279. package/tabs/Tab.d.ts +4 -0
  280. package/tabs/Tab.js +132 -0
  281. package/tabs/Tabs.d.ts +4 -0
  282. package/tabs/Tabs.js +461 -0
  283. package/tabs/Tabs.stories.tsx +226 -0
  284. package/tabs/Tabs.test.js +350 -0
  285. package/tabs/types.d.ts +92 -0
  286. package/tabs/types.js +5 -0
  287. package/tag/Tag.d.ts +4 -0
  288. package/tag/Tag.js +181 -0
  289. package/tag/Tag.stories.tsx +155 -0
  290. package/tag/Tag.test.js +60 -0
  291. package/tag/types.d.ts +69 -0
  292. package/tag/types.js +5 -0
  293. package/text-input/Icons.d.ts +8 -0
  294. package/text-input/Icons.js +60 -0
  295. package/text-input/Suggestion.d.ts +4 -0
  296. package/text-input/Suggestion.js +84 -0
  297. package/text-input/Suggestions.d.ts +4 -0
  298. package/text-input/Suggestions.js +134 -0
  299. package/text-input/TextInput.d.ts +4 -0
  300. package/text-input/TextInput.js +651 -0
  301. package/text-input/TextInput.stories.tsx +608 -0
  302. package/text-input/TextInput.test.js +1834 -0
  303. package/text-input/types.d.ts +203 -0
  304. package/text-input/types.js +5 -0
  305. package/textarea/Textarea.d.ts +4 -0
  306. package/textarea/Textarea.js +278 -0
  307. package/textarea/Textarea.stories.jsx +224 -0
  308. package/textarea/Textarea.test.js +479 -0
  309. package/textarea/types.d.ts +141 -0
  310. package/textarea/types.js +5 -0
  311. package/toggle-group/ToggleGroup.d.ts +4 -0
  312. package/toggle-group/ToggleGroup.js +241 -0
  313. package/toggle-group/ToggleGroup.stories.tsx +218 -0
  314. package/toggle-group/ToggleGroup.test.js +170 -0
  315. package/toggle-group/types.d.ts +114 -0
  316. package/toggle-group/types.js +5 -0
  317. package/typography/Typography.d.ts +4 -0
  318. package/typography/Typography.js +32 -0
  319. package/typography/Typography.stories.tsx +198 -0
  320. package/typography/types.d.ts +18 -0
  321. package/typography/types.js +5 -0
  322. package/useTheme.d.ts +1252 -0
  323. package/{dist/useTheme.js → useTheme.js} +3 -3
  324. package/useTranslatedLabels.d.ts +85 -0
  325. package/useTranslatedLabels.js +20 -0
  326. package/utils/BaseTypography.d.ts +21 -0
  327. package/utils/BaseTypography.js +108 -0
  328. package/utils/FocusLock.d.ts +13 -0
  329. package/utils/FocusLock.js +138 -0
  330. package/wizard/Wizard.d.ts +4 -0
  331. package/wizard/Wizard.js +285 -0
  332. package/wizard/Wizard.stories.tsx +253 -0
  333. package/wizard/Wizard.test.js +141 -0
  334. package/wizard/types.d.ts +64 -0
  335. package/wizard/types.js +5 -0
  336. package/babel.config.js +0 -8
  337. package/dist/BackgroundColorContext.js +0 -46
  338. package/dist/ThemeContext.js +0 -248
  339. package/dist/accordion/Accordion.js +0 -353
  340. package/dist/accordion-group/AccordionGroup.js +0 -186
  341. package/dist/alert/index.d.ts +0 -51
  342. package/dist/badge/Badge.js +0 -63
  343. package/dist/box/Box.js +0 -156
  344. package/dist/button/Button.js +0 -238
  345. package/dist/card/Card.js +0 -254
  346. package/dist/checkbox/Checkbox.js +0 -300
  347. package/dist/checkbox/Checkbox.stories.js +0 -144
  348. package/dist/checkbox/readme.md +0 -116
  349. package/dist/chip/Chip.js +0 -265
  350. package/dist/common/OpenSans.css +0 -81
  351. package/dist/common/RequiredComponent.js +0 -40
  352. package/dist/common/variables.js +0 -1569
  353. package/dist/date/Date.js +0 -379
  354. package/dist/date/Date.stories.js +0 -205
  355. package/dist/date/readme.md +0 -73
  356. package/dist/dialog/Dialog.js +0 -218
  357. package/dist/dropdown/Dropdown.js +0 -544
  358. package/dist/file-input/FileInput.js +0 -644
  359. package/dist/file-input/FileItem.js +0 -280
  360. package/dist/file-input/index.d.ts +0 -81
  361. package/dist/footer/Footer.js +0 -395
  362. package/dist/footer/dxc_logo.svg +0 -15
  363. package/dist/footer/readme.md +0 -41
  364. package/dist/header/Header.js +0 -403
  365. package/dist/header/Header.stories.js +0 -176
  366. package/dist/header/close_icon.svg +0 -1
  367. package/dist/header/dxc_logo_black.svg +0 -8
  368. package/dist/header/hamb_menu_black.svg +0 -1
  369. package/dist/header/hamb_menu_white.svg +0 -1
  370. package/dist/header/readme.md +0 -33
  371. package/dist/input-text/InputText.js +0 -707
  372. package/dist/input-text/error.svg +0 -1
  373. package/dist/input-text/readme.md +0 -91
  374. package/dist/layout/ApplicationLayout.js +0 -331
  375. package/dist/layout/facebook.svg +0 -45
  376. package/dist/layout/linkedin.svg +0 -50
  377. package/dist/layout/twitter.svg +0 -53
  378. package/dist/link/Link.js +0 -237
  379. package/dist/link/readme.md +0 -51
  380. package/dist/main.d.ts +0 -8
  381. package/dist/new-date/NewDate.js +0 -400
  382. package/dist/new-date/index.d.ts +0 -95
  383. package/dist/new-select/NewSelect.js +0 -836
  384. package/dist/new-select/index.d.ts +0 -53
  385. package/dist/new-textarea/NewTextarea.js +0 -369
  386. package/dist/new-textarea/index.d.ts +0 -117
  387. package/dist/number/Number.js +0 -136
  388. package/dist/number/NumberContext.js +0 -16
  389. package/dist/number/index.d.ts +0 -113
  390. package/dist/paginator/Paginator.js +0 -289
  391. package/dist/paginator/images/next.svg +0 -3
  392. package/dist/paginator/images/nextPage.svg +0 -3
  393. package/dist/paginator/images/previous.svg +0 -3
  394. package/dist/paginator/images/previousPage.svg +0 -3
  395. package/dist/paginator/readme.md +0 -50
  396. package/dist/password-input/PasswordInput.js +0 -198
  397. package/dist/password-input/index.d.ts +0 -94
  398. package/dist/progress-bar/ProgressBar.js +0 -242
  399. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  400. package/dist/progress-bar/readme.md +0 -63
  401. package/dist/radio/Radio.js +0 -209
  402. package/dist/radio/Radio.stories.js +0 -166
  403. package/dist/radio/readme.md +0 -70
  404. package/dist/resultsetTable/ResultsetTable.js +0 -358
  405. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  406. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  407. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  408. package/dist/select/Select.js +0 -549
  409. package/dist/sidenav/Sidenav.js +0 -179
  410. package/dist/slider/Slider.js +0 -394
  411. package/dist/slider/Slider.stories.js +0 -241
  412. package/dist/slider/readme.md +0 -64
  413. package/dist/spinner/Spinner.js +0 -381
  414. package/dist/spinner/Spinner.stories.js +0 -183
  415. package/dist/spinner/readme.md +0 -65
  416. package/dist/switch/Switch.js +0 -222
  417. package/dist/switch/Switch.stories.js +0 -134
  418. package/dist/switch/readme.md +0 -133
  419. package/dist/tabs/Tabs.js +0 -343
  420. package/dist/tabs/Tabs.stories.js +0 -130
  421. package/dist/tabs/readme.md +0 -78
  422. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  423. package/dist/tabs-for-sections/readme.md +0 -78
  424. package/dist/tag/Tag.js +0 -282
  425. package/dist/text-input/TextInput.js +0 -971
  426. package/dist/text-input/index.d.ts +0 -135
  427. package/dist/textarea/Textarea.js +0 -264
  428. package/dist/toggle/Toggle.js +0 -220
  429. package/dist/toggle/Toggle.stories.js +0 -297
  430. package/dist/toggle/readme.md +0 -80
  431. package/dist/toggle-group/ToggleGroup.js +0 -327
  432. package/dist/upload/Upload.js +0 -205
  433. package/dist/upload/Upload.stories.js +0 -72
  434. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -139
  435. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  436. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  437. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  438. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  439. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  440. package/dist/upload/file-upload/FileToUpload.js +0 -184
  441. package/dist/upload/file-upload/audio-icon.svg +0 -4
  442. package/dist/upload/file-upload/close.svg +0 -4
  443. package/dist/upload/file-upload/file-icon.svg +0 -4
  444. package/dist/upload/file-upload/video-icon.svg +0 -4
  445. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  446. package/dist/upload/readme.md +0 -37
  447. package/dist/upload/transaction/Transaction.js +0 -175
  448. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  449. package/dist/upload/transaction/audio-icon.svg +0 -4
  450. package/dist/upload/transaction/error-icon.svg +0 -4
  451. package/dist/upload/transaction/file-icon-err.svg +0 -4
  452. package/dist/upload/transaction/file-icon.svg +0 -4
  453. package/dist/upload/transaction/image-icon-err.svg +0 -4
  454. package/dist/upload/transaction/image-icon.svg +0 -4
  455. package/dist/upload/transaction/success-icon.svg +0 -4
  456. package/dist/upload/transaction/video-icon-err.svg +0 -4
  457. package/dist/upload/transaction/video-icon.svg +0 -4
  458. package/dist/upload/transactions/Transactions.js +0 -138
  459. package/dist/wizard/Wizard.js +0 -411
  460. package/dist/wizard/invalid_icon.svg +0 -5
  461. package/dist/wizard/valid_icon.svg +0 -5
  462. package/dist/wizard/validation-wrong.svg +0 -6
  463. package/test/Accordion.test.js +0 -33
  464. package/test/AccordionGroup.test.js +0 -125
  465. package/test/Alert.test.js +0 -53
  466. package/test/Box.test.js +0 -10
  467. package/test/Button.test.js +0 -18
  468. package/test/Card.test.js +0 -30
  469. package/test/Checkbox.test.js +0 -45
  470. package/test/Chip.test.js +0 -25
  471. package/test/Date.test.js +0 -393
  472. package/test/Dialog.test.js +0 -23
  473. package/test/Dropdown.test.js +0 -145
  474. package/test/FileInput.test.js +0 -201
  475. package/test/Footer.test.js +0 -99
  476. package/test/Header.test.js +0 -39
  477. package/test/Heading.test.js +0 -35
  478. package/test/InputText.test.js +0 -240
  479. package/test/Link.test.js +0 -43
  480. package/test/NewDate.test.js +0 -232
  481. package/test/NewTextarea.test.js +0 -195
  482. package/test/Number.test.js +0 -257
  483. package/test/Paginator.test.js +0 -177
  484. package/test/PasswordInput.test.js +0 -83
  485. package/test/ProgressBar.test.js +0 -35
  486. package/test/Radio.test.js +0 -37
  487. package/test/ResultsetTable.test.js +0 -329
  488. package/test/Select.test.js +0 -212
  489. package/test/Sidenav.test.js +0 -45
  490. package/test/Slider.test.js +0 -82
  491. package/test/Spinner.test.js +0 -32
  492. package/test/Switch.test.js +0 -45
  493. package/test/Table.test.js +0 -36
  494. package/test/Tabs.test.js +0 -109
  495. package/test/TabsForSections.test.js +0 -34
  496. package/test/Tag.test.js +0 -32
  497. package/test/TextArea.test.js +0 -52
  498. package/test/TextInput.test.js +0 -732
  499. package/test/ToggleGroup.test.js +0 -85
  500. package/test/Upload.test.js +0 -60
  501. package/test/Wizard.test.js +0 -130
  502. package/test/mocks/pngMock.js +0 -1
  503. package/test/mocks/svgMock.js +0 -1
  504. /package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  505. /package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  506. /package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  507. /package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  508. /package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  509. /package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  510. /package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  511. /package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  512. /package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  513. /package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import ButtonPropsType from "./types";
3
+ declare const DxcButton: ({ label, mode, disabled, iconPosition, title, type, icon, onClick, margin, size, tabIndex, }: ButtonPropsType) => JSX.Element;
4
+ export default DxcButton;
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
+
14
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
+
16
+ var _react = _interopRequireWildcard(require("react"));
17
+
18
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
19
+
20
+ var _variables = require("../common/variables");
21
+
22
+ var _utils = require("../common/utils");
23
+
24
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
25
+
26
+ var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
27
+
28
+ 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
+
34
+ var DxcButton = function DxcButton(_ref) {
35
+ 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
+
55
+ var colorsTheme = (0, _useTheme["default"])();
56
+ var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
57
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
58
+ theme: colorsTheme.button
59
+ }, /*#__PURE__*/_react["default"].createElement(Button, {
60
+ "aria-label": title,
61
+ disabled: disabled,
62
+ onClick: function onClick() {
63
+ _onClick();
64
+ },
65
+ tabIndex: disabled ? -1 : tabIndex,
66
+ title: title,
67
+ type: type,
68
+ $mode: mode !== "primary" && mode !== "secondary" && mode !== "text" ? "primary" : mode,
69
+ hasLabel: label ? true : false,
70
+ hasIcon: icon ? true : false,
71
+ iconPosition: iconPosition,
72
+ backgroundType: backgroundType,
73
+ size: size,
74
+ 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
77
+ }) : icon)));
78
+ };
79
+
80
+ var sizes = {
81
+ small: "42px",
82
+ medium: "120px",
83
+ large: "240px",
84
+ fillParent: "100%",
85
+ fitContent: "fit-content"
86
+ };
87
+
88
+ var calculateWidth = function calculateWidth(margin, size) {
89
+ return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
90
+ };
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 ");
97
+ };
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) {
100
+ return props.iconPosition === "after" ? "row" : "row-reverse";
101
+ }, function (props) {
102
+ return calculateWidth(props.margin, props.size);
103
+ }, function (props) {
104
+ return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
105
+ }, function (props) {
106
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
107
+ }, function (props) {
108
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
109
+ }, function (props) {
110
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
111
+ }, function (props) {
112
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
113
+ }, function (props) {
114
+ return props.theme.paddingTop;
115
+ }, function (props) {
116
+ return props.theme.paddingBottom;
117
+ }, function (props) {
118
+ return props.hasIcon && !props.hasLabel ? props.theme.paddingLeft : "calc(".concat(props.theme.paddingLeft, " + 8px)");
119
+ }, function (props) {
120
+ return props.hasIcon && !props.hasLabel ? props.theme.paddingRight : "calc(".concat(props.theme.paddingRight, " + 8px)");
121
+ }, function (props) {
122
+ return props.theme.fontFamily;
123
+ }, function (props) {
124
+ return props.theme.fontSize;
125
+ }, function (props) {
126
+ return props.theme.fontWeight;
127
+ }, function (props) {
128
+ return props.theme.labelLetterSpacing;
129
+ }, function (props) {
130
+ return props.backgroundType === "dark" ? props.theme.focusBorderColorOnDark : props.theme.focusBorderColor;
131
+ }, function (props) {
132
+ return getButtonStyles(props);
133
+ });
134
+
135
+ 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
+ return props.theme.labelFontLineHeight;
137
+ }, function (props) {
138
+ return props.theme.fontSize;
139
+ });
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;
@@ -0,0 +1,425 @@
1
+ import React from "react";
2
+ import { BackgroundColorProvider } from "../BackgroundColorContext";
3
+ import DxcButton from "./Button";
4
+ import DxcFlex from "./../flex/Flex";
5
+ import Title from "../../.storybook/components/Title";
6
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
7
+ import DarkContainer from "../../.storybook/components/DarkSection";
8
+ import { HalstackProvider } from "../HalstackContext";
9
+
10
+ export default {
11
+ title: "Button",
12
+ component: DxcButton,
13
+ };
14
+
15
+ const iconSVG = (
16
+ <svg width="24px" height="24px" viewBox="0 0 24 24" fill="currentColor">
17
+ <path d="M0 0h24v24H0z" fill="none" />
18
+ <path 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" />
19
+ </svg>
20
+ );
21
+
22
+ const facebookIcon = (
23
+ <svg
24
+ version="1.1"
25
+ id="Capa_1"
26
+ x="0px"
27
+ y="0px"
28
+ width="438.536px"
29
+ height="438.536px"
30
+ viewBox="0 0 438.536 438.536"
31
+ fill="currentColor"
32
+ >
33
+ <g>
34
+ <path
35
+ d="M414.41,24.123C398.333,8.042,378.963,0,356.315,0H82.228C59.58,0,40.21,8.042,24.126,24.123
36
+ C8.045,40.207,0.003,59.576,0.003,82.225v274.084c0,22.647,8.042,42.018,24.123,58.102c16.084,16.084,35.454,24.126,58.102,24.126
37
+ h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225
38
+ C438.532,59.576,430.49,40.204,414.41,24.123z M373.155,225.548h-49.963V406.84h-74.802V225.548H210.99V163.02h37.401v-37.402
39
+ c0-26.838,6.283-47.107,18.843-60.813c12.559-13.706,33.304-20.555,62.242-20.555h49.963v62.526h-31.401
40
+ c-10.663,0-17.467,1.853-20.417,5.568c-2.949,3.711-4.428,10.23-4.428,19.558v31.119h56.534L373.155,225.548z"
41
+ />
42
+ </g>
43
+ </svg>
44
+ );
45
+
46
+ const smallIcon = (
47
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" height="20" width="20" fill="currentColor">
48
+ <path d="m7.646 18.333-.313-2.625q-.208-.125-.458-.27-.25-.146-.458-.271l-2.438 1.021-2.354-4.063 2.083-1.583V9.458L1.625 7.875l2.354-4.063 2.438 1.021q.208-.125.458-.27.25-.146.458-.271l.313-2.625h4.708l.313 2.625q.208.125.458.271.25.145.458.27l2.438-1.021 2.354 4.063-2.063 1.583v1.084l2.063 1.583-2.354 4.063-2.438-1.021q-.208.125-.458.271-.25.145-.458.27l-.313 2.625ZM10 12.979q1.229 0 2.104-.875T12.979 10q0-1.229-.875-2.104T10 7.021q-1.229 0-2.104.875T7.021 10q0 1.229.875 2.104t2.104.875Zm0-1.75q-.5 0-.865-.364-.364-.365-.364-.865t.364-.865q.365-.364.865-.364t.865.364q.364.365.364.865t-.364.865q-.365.364-.865.364ZM10.021 10Zm-.854 6.583h1.666l.25-2.166q.605-.167 1.167-.5.562-.334 1.021-.792l2.021.854.833-1.375-1.771-1.354q.104-.292.146-.604.042-.313.042-.646 0-.292-.042-.594t-.125-.635l1.771-1.375-.834-1.375-2.02.875q-.48-.479-1.032-.802-.552-.323-1.156-.49l-.271-2.187H9.167l-.271 2.187q-.604.167-1.156.49-.552.323-1.011.781l-2.021-.854-.833 1.375 1.75 1.354q-.083.333-.125.646-.042.312-.042.604t.042.594q.042.302.125.635l-1.75 1.375.833 1.375 2.021-.854q.459.458 1.011.781.552.323 1.156.49Z" />
49
+ </svg>
50
+ );
51
+
52
+ const opinionatedTheme = {
53
+ button: {
54
+ baseColor: "#5f249f",
55
+ primaryFontColor: "#ffffff",
56
+ secondaryHoverFontColor: "#ffffff",
57
+ },
58
+ };
59
+
60
+ export const Chromatic = () => (
61
+ <>
62
+ <Title title="Primary" theme="light" level={2} />
63
+ <ExampleContainer>
64
+ <Title title="Enabled" theme="light" level={4} />
65
+ <DxcButton label="Primary enabled" />
66
+ </ExampleContainer>
67
+ <ExampleContainer pseudoState="pseudo-hover">
68
+ <Title title="Hovered" theme="light" level={4} />
69
+ <DxcButton label="Primary hovered" />
70
+ </ExampleContainer>
71
+ <ExampleContainer pseudoState="pseudo-focus">
72
+ <Title title="Focused" theme="light" level={4} />
73
+ <DxcButton label="Primary focused" />
74
+ </ExampleContainer>
75
+ <ExampleContainer pseudoState="pseudo-active">
76
+ <Title title="Actived" theme="light" level={4} />
77
+ <DxcButton label="Primary actived" />
78
+ </ExampleContainer>
79
+ <ExampleContainer>
80
+ <Title title="Disabled" theme="light" level={4} />
81
+ <DxcButton label="Primary disabled" disabled icon={iconSVG} />
82
+ </ExampleContainer>
83
+ <ExampleContainer>
84
+ <Title title="With left icon" theme="light" level={4} />
85
+ <DxcButton label="Primary" icon={iconSVG} />
86
+ </ExampleContainer>
87
+ <ExampleContainer>
88
+ <Title title="With right icon" theme="light" level={4} />
89
+ <DxcButton label="Primary" icon={iconSVG} iconPosition="after" />
90
+ </ExampleContainer>
91
+ <ExampleContainer>
92
+ <Title title="Only icon" theme="light" level={4} />
93
+ <DxcButton icon={iconSVG} />
94
+ </ExampleContainer>
95
+ <ExampleContainer>
96
+ <Title title="Big icon (SVG)" theme="light" level={4} />
97
+ <DxcButton icon={facebookIcon} />
98
+ </ExampleContainer>
99
+ <ExampleContainer>
100
+ <Title title="Big icon (image)" theme="light" level={4} />
101
+ <DxcButton icon="https://www.freepnglogos.com/uploads/facebook-logo-design-1.png" />
102
+ </ExampleContainer>
103
+ <ExampleContainer>
104
+ <Title title="Small icon" theme="light" level={4} />
105
+ <DxcButton icon={smallIcon} />
106
+ </ExampleContainer>
107
+ <Title title="Secondary" theme="light" level={2} />
108
+ <ExampleContainer>
109
+ <Title title="Enabled" theme="light" level={4} />
110
+ <DxcButton mode="secondary" label="Secondary enabled" />
111
+ </ExampleContainer>
112
+ <ExampleContainer pseudoState="pseudo-hover">
113
+ <Title title="Hovered" theme="light" level={4} />
114
+ <DxcButton mode="secondary" label="Secondary hovered" />
115
+ </ExampleContainer>
116
+ <ExampleContainer pseudoState="pseudo-focus">
117
+ <Title title="Focused" theme="light" level={4} />
118
+ <DxcButton mode="secondary" label="Secondary focused" />
119
+ </ExampleContainer>
120
+ <ExampleContainer pseudoState="pseudo-active">
121
+ <Title title="Actived" theme="light" level={4} />
122
+ <DxcButton mode="secondary" label="Secondary actived" />
123
+ </ExampleContainer>
124
+ <ExampleContainer>
125
+ <Title title="Disabled" theme="light" level={4} />
126
+ <DxcButton mode="secondary" disabled label="Secondary disabled" icon={iconSVG} />
127
+ </ExampleContainer>
128
+ <ExampleContainer>
129
+ <Title title="With icon" theme="light" level={4} />
130
+ <DxcButton mode="secondary" label="Secondary" icon={iconSVG} />
131
+ </ExampleContainer>
132
+ <ExampleContainer>
133
+ <Title title="Only icon (image)" theme="light" level={4} />
134
+ <DxcButton
135
+ mode="secondary"
136
+ icon="https://www.freepnglogos.com/uploads/facebook-logo-design-1.png"
137
+ />
138
+ </ExampleContainer>
139
+ <Title title="Text" theme="light" level={2} />
140
+ <ExampleContainer>
141
+ <Title title="Enabled" theme="light" level={4} />
142
+ <DxcButton mode="text" label="Text enabled" />
143
+ </ExampleContainer>
144
+ <ExampleContainer pseudoState="pseudo-hover">
145
+ <Title title="Hovered" theme="light" level={4} />
146
+ <DxcButton mode="text" label="Text hovered" />
147
+ </ExampleContainer>
148
+ <ExampleContainer pseudoState="pseudo-focus">
149
+ <Title title="Focused" theme="light" level={4} />
150
+ <DxcButton mode="text" label="Text focused" />
151
+ </ExampleContainer>
152
+ <ExampleContainer pseudoState="pseudo-active">
153
+ <Title title="Actived" theme="light" level={4} />
154
+ <DxcButton mode="text" label="Text actived" />
155
+ </ExampleContainer>
156
+ <ExampleContainer>
157
+ <Title title="Disabled" theme="light" level={4} />
158
+ <DxcButton mode="text" label="Text disabled" disabled icon={iconSVG} />
159
+ </ExampleContainer>
160
+ <ExampleContainer>
161
+ <Title title="With icon" theme="light" level={4} />
162
+ <DxcButton label="Text" mode="text" icon={iconSVG} />
163
+ </ExampleContainer>
164
+ <ExampleContainer>
165
+ <Title title="Only icon (image)" theme="light" level={4} />
166
+ <DxcButton
167
+ mode="text"
168
+ icon="https://www.freepnglogos.com/uploads/facebook-logo-design-1.png"
169
+ />
170
+ </ExampleContainer>
171
+ <BackgroundColorProvider color="#333333">
172
+ <DarkContainer>
173
+ <Title title="Primary" theme="dark" level={2} />
174
+ <ExampleContainer>
175
+ <Title title="Enabled" theme="dark" level={4} />
176
+ <DxcButton label="Primary enabled" />
177
+ </ExampleContainer>
178
+ <ExampleContainer pseudoState="pseudo-hover">
179
+ <Title title="Hovered" theme="dark" level={4} />
180
+ <DxcButton label="Primary hovered" />
181
+ </ExampleContainer>
182
+ <ExampleContainer pseudoState="pseudo-focus">
183
+ <Title title="Focused" theme="dark" level={4} />
184
+ <DxcButton label="Primary focused" />
185
+ </ExampleContainer>
186
+ <ExampleContainer pseudoState="pseudo-active">
187
+ <Title title="Actived" theme="dark" level={4} />
188
+ <DxcButton label="Primary actived" />
189
+ </ExampleContainer>
190
+ <ExampleContainer>
191
+ <Title title="Disabled" theme="dark" level={4} />
192
+ <DxcButton label="Primary disabled" disabled icon={iconSVG} />
193
+ </ExampleContainer>
194
+ <ExampleContainer>
195
+ <Title title="With icon" theme="dark" level={4} />
196
+ <DxcButton label="Primary" icon={iconSVG} />
197
+ </ExampleContainer>
198
+ <Title title="Secondary" theme="dark" level={2} />
199
+ <ExampleContainer>
200
+ <Title title="Enabled" theme="dark" level={4} />
201
+ <DxcButton mode="secondary" label="Secondary enabled" />
202
+ </ExampleContainer>
203
+ <ExampleContainer pseudoState="pseudo-hover">
204
+ <Title title="Hovered" theme="dark" level={4} />
205
+ <DxcButton mode="secondary" label="Secondary hovered" />
206
+ </ExampleContainer>
207
+ <ExampleContainer pseudoState="pseudo-focus">
208
+ <Title title="Focused" theme="dark" level={4} />
209
+ <DxcButton mode="secondary" label="Secondary focused" />
210
+ </ExampleContainer>
211
+ <ExampleContainer pseudoState="pseudo-active">
212
+ <Title title="Actived" theme="dark" level={4} />
213
+ <DxcButton mode="secondary" label="Secondary actived" />
214
+ </ExampleContainer>
215
+ <ExampleContainer>
216
+ <Title title="Disabled" theme="dark" level={4} />
217
+ <DxcButton mode="secondary" disabled label="Secondary disabled" icon={iconSVG} />
218
+ </ExampleContainer>
219
+ <ExampleContainer>
220
+ <Title title="With icon" theme="dark" level={4} />
221
+ <DxcButton mode="secondary" label="Primary" icon={iconSVG} />
222
+ </ExampleContainer>
223
+ <Title title="Text" theme="dark" level={2} />
224
+ <ExampleContainer>
225
+ <Title title="Enabled" theme="dark" level={4} />
226
+ <DxcButton mode="text" label="Text enabled" />
227
+ </ExampleContainer>
228
+ <ExampleContainer pseudoState="pseudo-hover">
229
+ <Title title="Hovered" theme="dark" level={4} />
230
+ <DxcButton mode="text" label="Text hovered" />
231
+ </ExampleContainer>
232
+ <ExampleContainer pseudoState="pseudo-focus">
233
+ <Title title="Focused" theme="dark" level={4} />
234
+ <DxcButton mode="text" label="Text focused" />
235
+ </ExampleContainer>
236
+ <ExampleContainer pseudoState="pseudo-active">
237
+ <Title title="Actived" theme="dark" level={4} />
238
+ <DxcButton mode="text" label="Text actived" />
239
+ </ExampleContainer>
240
+ <ExampleContainer>
241
+ <Title title="Disabled" theme="dark" level={4} />
242
+ <DxcButton mode="text" label="Text disabled" disabled icon={iconSVG} />
243
+ </ExampleContainer>
244
+ <ExampleContainer>
245
+ <Title title="With icon" theme="dark" level={4} />
246
+ <DxcButton mode="text" label="Primary" icon={iconSVG} />
247
+ </ExampleContainer>
248
+ </DarkContainer>
249
+ </BackgroundColorProvider>
250
+ <Title title="Sizes" theme="light" level={2} />
251
+ <ExampleContainer>
252
+ <Title title="Small size" theme="light" level={4} />
253
+ <DxcButton label="Small" size="small" />
254
+ </ExampleContainer>
255
+ <ExampleContainer>
256
+ <Title title="Medium size" theme="light" level={4} />
257
+ <DxcButton label="MediumSiz" size="medium" />
258
+ </ExampleContainer>
259
+ <ExampleContainer>
260
+ <Title title="Medium size with ellipsis" theme="light" level={4} />
261
+ <DxcButton label="MediumSize" size="medium" />
262
+ </ExampleContainer>
263
+ <ExampleContainer>
264
+ <Title title="Medium size icon after" theme="light" level={4} />
265
+ <DxcButton label="Mediu" iconPosition="after" icon={iconSVG} size="medium" />
266
+ </ExampleContainer>
267
+ <ExampleContainer>
268
+ <Title title="Medium size icon before" theme="light" level={4} />
269
+ <DxcButton label="Mediu" iconPosition="before" icon={iconSVG} size="medium" />
270
+ </ExampleContainer>
271
+ <ExampleContainer>
272
+ <Title title="Medium size icon after with ellipsis" theme="light" level={4} />
273
+ <DxcButton label="Medium" iconPosition="after" icon={iconSVG} size="medium" />
274
+ </ExampleContainer>
275
+ <ExampleContainer>
276
+ <Title title="Medium size icon before with ellipsis" theme="light" level={4} />
277
+ <DxcButton label="Medium" iconPosition="before" icon={iconSVG} size="medium" />
278
+ </ExampleContainer>
279
+ <ExampleContainer>
280
+ <Title title="Large size" theme="light" level={4} />
281
+ <DxcButton label="LargeSizePrimaryButtonEx" size="large" />
282
+ </ExampleContainer>
283
+ <ExampleContainer>
284
+ <Title title="Large size with ellipsis" theme="light" level={4} />
285
+ <DxcButton label="LargeSizePrimaryButtonExa" size="large" />
286
+ </ExampleContainer>
287
+ <ExampleContainer>
288
+ <Title title="Large size icon after" theme="light" level={4} />
289
+ <DxcButton label="LargeSizePrimaryButto" iconPosition="after" icon={iconSVG} size="large" />
290
+ </ExampleContainer>
291
+ <ExampleContainer>
292
+ <Title title="Large size icon before" theme="light" level={4} />
293
+ <DxcButton label="LargeSizePrimaryButto" iconPosition="before" icon={iconSVG} size="large" />
294
+ </ExampleContainer>
295
+ <ExampleContainer>
296
+ <Title title="Large size icon after with ellipsis" theme="light" level={4} />
297
+ <DxcButton label="LargeSizePrimaryButton" iconPosition="after" icon={iconSVG} size="large" />
298
+ </ExampleContainer>
299
+ <ExampleContainer>
300
+ <Title title="Large size icon before with ellipsis" theme="light" level={4} />
301
+ <DxcButton label="LargeSizePrimaryButton" iconPosition="before" icon={iconSVG} size="large" />
302
+ </ExampleContainer>
303
+ <ExampleContainer>
304
+ <Title title="FillParent size" theme="light" level={4} />
305
+ <DxcButton label="FillParent" size="fillParent" />
306
+ </ExampleContainer>
307
+ <ExampleContainer>
308
+ <Title title="FitContent size" theme="light" level={4} />
309
+ <DxcButton label="FitContent" size="fitContent" />
310
+ </ExampleContainer>
311
+ <Title title="Margins" theme="light" level={2} />
312
+ <ExampleContainer>
313
+ <Title title="Xxsmall margin" theme="light" level={4} />
314
+ <DxcButton label="Xxsmall margin" margin="xxsmall" />
315
+ </ExampleContainer>
316
+ <ExampleContainer>
317
+ <Title title="Xsmall margin" theme="light" level={4} />
318
+ <DxcButton label="Xsmall margin" margin="xsmall" />
319
+ </ExampleContainer>
320
+ <ExampleContainer>
321
+ <Title title="Small margin" theme="light" level={4} />
322
+ <DxcButton label="Small margin" margin="small" />
323
+ </ExampleContainer>
324
+ <ExampleContainer>
325
+ <Title title="Medium margin" theme="light" level={4} />
326
+ <DxcButton label="Medium margin" margin="medium" />
327
+ </ExampleContainer>
328
+ <ExampleContainer>
329
+ <Title title="Large margin" theme="light" level={4} />
330
+ <DxcButton label="Large margin" margin="large" />
331
+ </ExampleContainer>
332
+ <ExampleContainer>
333
+ <Title title="Xlarge margin" theme="light" level={4} />
334
+ <DxcButton label="Xlarge margin" margin="xlarge" />
335
+ </ExampleContainer>
336
+ <ExampleContainer>
337
+ <Title title="Xxlarge margin" theme="light" level={4} />
338
+ <DxcButton label="Xxlarge margin" margin="xxlarge" />
339
+ </ExampleContainer>
340
+ <Title title="Inside a flex" theme="light" level={2} />
341
+ <ExampleContainer>
342
+ <DxcFlex direction="column" gap="1rem">
343
+ <DxcButton label="Button" />
344
+ <DxcButton label="Button" />
345
+ <DxcButton label="Button" />
346
+ </DxcFlex>
347
+ </ExampleContainer>
348
+ <Title title="Opinionated theme" theme="light" level={2} />
349
+ <Title title="Primary" theme="light" level={3} />
350
+ <ExampleContainer>
351
+ <Title title="Enabled" theme="light" level={4} />
352
+ <HalstackProvider theme={opinionatedTheme}>
353
+ <DxcButton label="Primary" icon={iconSVG} />
354
+ </HalstackProvider>
355
+ </ExampleContainer>
356
+ <ExampleContainer pseudoState="pseudo-hover">
357
+ <Title title="Hovered" theme="light" level={4} />
358
+ <DxcButton label="Primary hovered" icon={iconSVG} />
359
+ </ExampleContainer>
360
+ <ExampleContainer pseudoState="pseudo-focus">
361
+ <Title title="Focused" theme="light" level={4} />
362
+ <DxcButton label="Primary focused" icon={iconSVG} />
363
+ </ExampleContainer>
364
+ <ExampleContainer pseudoState="pseudo-active">
365
+ <Title title="Actived" theme="light" level={4} />
366
+ <DxcButton label="Primary actived" icon={iconSVG} />
367
+ </ExampleContainer>
368
+ <ExampleContainer>
369
+ <Title title="Disabled" theme="light" level={4} />
370
+ <HalstackProvider theme={opinionatedTheme}>
371
+ <DxcButton label="Primary" icon={iconSVG} disabled />
372
+ </HalstackProvider>
373
+ </ExampleContainer>
374
+ <Title title="Secondary" theme="light" level={3} />
375
+ <ExampleContainer>
376
+ <Title title="Enabled" theme="light" level={4} />
377
+ <HalstackProvider theme={opinionatedTheme}>
378
+ <DxcButton mode="secondary" label="Secondary" icon={iconSVG} />
379
+ </HalstackProvider>
380
+ </ExampleContainer>
381
+ <ExampleContainer pseudoState="pseudo-hover">
382
+ <Title title="Hovered" theme="light" level={4} />
383
+ <DxcButton mode="secondary" label="Secondary hovered" icon={iconSVG} />
384
+ </ExampleContainer>
385
+ <ExampleContainer pseudoState="pseudo-focus">
386
+ <Title title="Focused" theme="light" level={4} />
387
+ <DxcButton mode="secondary" label="Secondary focused" icon={iconSVG} />
388
+ </ExampleContainer>
389
+ <ExampleContainer pseudoState="pseudo-active">
390
+ <Title title="Actived" theme="light" level={4} />
391
+ <DxcButton mode="secondary" label="Secondary actived" icon={iconSVG} />
392
+ </ExampleContainer>
393
+ <ExampleContainer>
394
+ <Title title="Disabled" theme="light" level={4} />
395
+ <HalstackProvider theme={opinionatedTheme}>
396
+ <DxcButton mode="secondary" label="Secondary" icon={iconSVG} disabled />
397
+ </HalstackProvider>
398
+ </ExampleContainer>
399
+ <Title title="Text" theme="light" level={3} />
400
+ <ExampleContainer>
401
+ <Title title="Enabled" theme="light" level={4} />
402
+ <HalstackProvider theme={opinionatedTheme}>
403
+ <DxcButton mode="text" label="Text" icon={iconSVG} />
404
+ </HalstackProvider>
405
+ </ExampleContainer>
406
+ <ExampleContainer pseudoState="pseudo-hover">
407
+ <Title title="Hovered" theme="light" level={4} />
408
+ <DxcButton mode="text" label="Text hovered" icon={iconSVG} />
409
+ </ExampleContainer>
410
+ <ExampleContainer pseudoState="pseudo-focus">
411
+ <Title title="Focused" theme="light" level={4} />
412
+ <DxcButton mode="text" label="Text focused" icon={iconSVG} />
413
+ </ExampleContainer>
414
+ <ExampleContainer pseudoState="pseudo-active">
415
+ <Title title="Actived" theme="light" level={4} />
416
+ <DxcButton mode="text" label="Text actived" icon={iconSVG} />
417
+ </ExampleContainer>
418
+ <ExampleContainer>
419
+ <Title title="Disabled" theme="light" level={4} />
420
+ <HalstackProvider theme={opinionatedTheme}>
421
+ <DxcButton mode="text" label="Text disabled" icon={iconSVG} disabled />
422
+ </HalstackProvider>
423
+ </ExampleContainer>
424
+ </>
425
+ );
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _react = _interopRequireDefault(require("react"));
6
+
7
+ var _react2 = require("@testing-library/react");
8
+
9
+ var _Button = _interopRequireDefault(require("./Button.tsx"));
10
+
11
+ describe("Button component tests", function () {
12
+ test("Button renders with correct text", function () {
13
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
14
+ label: "Button"
15
+ })),
16
+ getByText = _render.getByText;
17
+
18
+ expect(getByText("Button")).toBeTruthy();
19
+ });
20
+ test("Calls correct function on click", function () {
21
+ var onClick = jest.fn();
22
+
23
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
24
+ label: "Button",
25
+ onClick: onClick
26
+ })),
27
+ getByText = _render2.getByText;
28
+
29
+ var button = getByText("Button");
30
+
31
+ _react2.fireEvent.click(button);
32
+
33
+ expect(onClick).toHaveBeenCalled();
34
+ });
35
+ test("Renders with correct accessibility attributes", function () {
36
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
37
+ label: "Home",
38
+ title: "Go home"
39
+ })),
40
+ getByRole = _render3.getByRole;
41
+
42
+ var button = getByRole("button");
43
+ expect(button.getAttribute("aria-label")).toBe("Go home");
44
+ expect(button.getAttribute("title")).toBe("Go home");
45
+ });
46
+ });