@dxc-technology/halstack-react 0.0.0-e081e21 → 0.0.0-e19ca5f

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 (493) hide show
  1. package/BackgroundColorContext.d.ts +1 -0
  2. package/BackgroundColorContext.js +6 -26
  3. package/HalstackContext.d.ts +1246 -0
  4. package/HalstackContext.js +310 -0
  5. package/README.md +47 -0
  6. package/accordion/Accordion.accessibility.test.js +71 -0
  7. package/accordion/Accordion.d.ts +4 -0
  8. package/accordion/Accordion.js +106 -224
  9. package/accordion/Accordion.stories.tsx +241 -0
  10. package/accordion/Accordion.test.js +56 -0
  11. package/accordion/types.d.ts +57 -0
  12. package/accordion/types.js +5 -0
  13. package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
  14. package/accordion-group/AccordionGroup.d.ts +7 -0
  15. package/accordion-group/AccordionGroup.js +52 -135
  16. package/accordion-group/AccordionGroup.stories.tsx +252 -0
  17. package/accordion-group/AccordionGroup.test.js +98 -0
  18. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  19. package/accordion-group/AccordionGroupAccordion.js +31 -0
  20. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  21. package/accordion-group/AccordionGroupContext.js +8 -0
  22. package/accordion-group/types.d.ts +67 -0
  23. package/accordion-group/types.js +5 -0
  24. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  25. package/action-icon/ActionIcon.d.ts +4 -0
  26. package/action-icon/ActionIcon.js +48 -0
  27. package/action-icon/ActionIcon.stories.tsx +41 -0
  28. package/action-icon/ActionIcon.test.js +64 -0
  29. package/action-icon/types.d.ts +26 -0
  30. package/action-icon/types.js +5 -0
  31. package/alert/Alert.accessibility.test.js +95 -0
  32. package/alert/Alert.js +41 -128
  33. package/alert/Alert.stories.tsx +198 -0
  34. package/alert/Alert.test.js +75 -0
  35. package/alert/types.d.ts +6 -6
  36. package/badge/Badge.accessibility.test.js +129 -0
  37. package/badge/Badge.d.ts +4 -0
  38. package/badge/Badge.js +142 -40
  39. package/badge/Badge.stories.tsx +210 -0
  40. package/badge/Badge.test.js +30 -0
  41. package/badge/types.d.ts +54 -0
  42. package/badge/types.js +5 -0
  43. package/bleed/Bleed.d.ts +3 -0
  44. package/bleed/Bleed.js +43 -0
  45. package/bleed/Bleed.stories.tsx +342 -0
  46. package/bleed/types.d.ts +37 -0
  47. package/bleed/types.js +5 -0
  48. package/box/Box.accessibility.test.js +33 -0
  49. package/box/Box.d.ts +4 -0
  50. package/box/Box.js +32 -109
  51. package/box/Box.stories.tsx +119 -0
  52. package/box/Box.test.js +13 -0
  53. package/box/types.d.ts +32 -0
  54. package/box/types.js +5 -0
  55. package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
  56. package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
  57. package/breadcrumbs/Breadcrumbs.d.ts +4 -0
  58. package/breadcrumbs/Breadcrumbs.js +79 -0
  59. package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
  60. package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
  61. package/breadcrumbs/Breadcrumbs.test.js +169 -0
  62. package/breadcrumbs/Item.d.ts +4 -0
  63. package/breadcrumbs/Item.js +52 -0
  64. package/breadcrumbs/dropdownTheme.d.ts +53 -0
  65. package/breadcrumbs/dropdownTheme.js +62 -0
  66. package/breadcrumbs/types.d.ts +16 -0
  67. package/breadcrumbs/types.js +5 -0
  68. package/bulleted-list/BulletedList.accessibility.test.js +119 -0
  69. package/bulleted-list/BulletedList.d.ts +7 -0
  70. package/bulleted-list/BulletedList.js +92 -0
  71. package/bulleted-list/BulletedList.stories.tsx +115 -0
  72. package/bulleted-list/types.d.ts +38 -0
  73. package/bulleted-list/types.js +5 -0
  74. package/button/Button.accessibility.test.js +127 -0
  75. package/button/Button.d.ts +1 -1
  76. package/button/Button.js +65 -126
  77. package/button/Button.stories.tsx +313 -294
  78. package/button/Button.test.js +38 -0
  79. package/button/types.d.ts +18 -18
  80. package/card/Card.accessibility.test.js +36 -0
  81. package/card/Card.d.ts +4 -0
  82. package/card/Card.js +60 -139
  83. package/card/Card.stories.tsx +171 -0
  84. package/card/Card.test.js +39 -0
  85. package/card/types.d.ts +62 -0
  86. package/card/types.js +5 -0
  87. package/checkbox/Checkbox.accessibility.test.js +87 -0
  88. package/checkbox/Checkbox.d.ts +2 -2
  89. package/checkbox/Checkbox.js +144 -182
  90. package/checkbox/Checkbox.stories.tsx +222 -0
  91. package/checkbox/Checkbox.test.js +199 -0
  92. package/checkbox/types.d.ts +20 -9
  93. package/chip/Chip.accessibility.test.js +67 -0
  94. package/chip/Chip.d.ts +4 -0
  95. package/chip/Chip.js +51 -146
  96. package/chip/Chip.stories.tsx +199 -0
  97. package/chip/Chip.test.js +41 -0
  98. package/chip/types.d.ts +45 -0
  99. package/chip/types.js +5 -0
  100. package/common/coreTokens.d.ts +237 -0
  101. package/common/coreTokens.js +184 -0
  102. package/common/utils.d.ts +1 -0
  103. package/common/utils.js +6 -12
  104. package/common/variables.d.ts +1392 -0
  105. package/common/variables.js +1084 -1389
  106. package/container/Container.d.ts +4 -0
  107. package/container/Container.js +194 -0
  108. package/container/Container.stories.tsx +214 -0
  109. package/container/types.d.ts +74 -0
  110. package/container/types.js +5 -0
  111. package/contextual-menu/ContextualMenu.accessibility.test.js +97 -0
  112. package/contextual-menu/ContextualMenu.d.ts +5 -0
  113. package/contextual-menu/ContextualMenu.js +88 -0
  114. package/contextual-menu/ContextualMenu.stories.tsx +232 -0
  115. package/contextual-menu/ContextualMenu.test.js +205 -0
  116. package/contextual-menu/GroupItem.d.ts +4 -0
  117. package/contextual-menu/GroupItem.js +67 -0
  118. package/contextual-menu/ItemAction.d.ts +4 -0
  119. package/contextual-menu/ItemAction.js +51 -0
  120. package/contextual-menu/MenuItem.d.ts +4 -0
  121. package/contextual-menu/MenuItem.js +29 -0
  122. package/contextual-menu/SingleItem.d.ts +4 -0
  123. package/contextual-menu/SingleItem.js +38 -0
  124. package/contextual-menu/types.d.ts +58 -0
  125. package/contextual-menu/types.js +5 -0
  126. package/date-input/Calendar.d.ts +4 -0
  127. package/date-input/Calendar.js +214 -0
  128. package/date-input/DateInput.accessibility.test.js +228 -0
  129. package/date-input/DateInput.d.ts +4 -0
  130. package/date-input/DateInput.js +174 -348
  131. package/date-input/DateInput.stories.tsx +292 -0
  132. package/date-input/DateInput.test.js +808 -0
  133. package/date-input/DatePicker.d.ts +4 -0
  134. package/date-input/DatePicker.js +121 -0
  135. package/date-input/YearPicker.d.ts +4 -0
  136. package/date-input/YearPicker.js +100 -0
  137. package/date-input/types.d.ts +164 -0
  138. package/date-input/types.js +5 -0
  139. package/dialog/Dialog.accessibility.test.js +69 -0
  140. package/dialog/Dialog.d.ts +4 -0
  141. package/dialog/Dialog.js +57 -148
  142. package/dialog/Dialog.stories.tsx +371 -0
  143. package/dialog/Dialog.test.js +307 -0
  144. package/dialog/types.d.ts +36 -0
  145. package/dialog/types.js +5 -0
  146. package/divider/Divider.accessibility.test.js +33 -0
  147. package/divider/Divider.d.ts +4 -0
  148. package/divider/Divider.js +36 -0
  149. package/divider/Divider.stories.tsx +223 -0
  150. package/divider/Divider.test.js +38 -0
  151. package/divider/types.d.ts +21 -0
  152. package/divider/types.js +5 -0
  153. package/dropdown/Dropdown.accessibility.test.js +180 -0
  154. package/dropdown/Dropdown.d.ts +4 -0
  155. package/dropdown/Dropdown.js +235 -364
  156. package/dropdown/Dropdown.stories.tsx +427 -0
  157. package/dropdown/Dropdown.test.js +599 -0
  158. package/dropdown/DropdownMenu.d.ts +4 -0
  159. package/dropdown/DropdownMenu.js +63 -0
  160. package/dropdown/DropdownMenuItem.d.ts +4 -0
  161. package/dropdown/DropdownMenuItem.js +71 -0
  162. package/dropdown/types.d.ts +96 -0
  163. package/dropdown/types.js +5 -0
  164. package/file-input/FileInput.accessibility.test.js +160 -0
  165. package/file-input/FileInput.d.ts +4 -0
  166. package/file-input/FileInput.js +274 -363
  167. package/file-input/FileInput.stories.tsx +618 -0
  168. package/file-input/FileInput.test.js +382 -0
  169. package/file-input/FileItem.d.ts +4 -0
  170. package/file-input/FileItem.js +65 -133
  171. package/file-input/types.d.ts +129 -0
  172. package/file-input/types.js +5 -0
  173. package/flex/Flex.d.ts +4 -0
  174. package/flex/Flex.js +57 -0
  175. package/flex/Flex.stories.tsx +112 -0
  176. package/flex/types.d.ts +97 -0
  177. package/flex/types.js +5 -0
  178. package/footer/Footer.accessibility.test.js +125 -0
  179. package/footer/Footer.d.ts +4 -0
  180. package/footer/Footer.js +75 -232
  181. package/footer/Footer.stories.tsx +208 -0
  182. package/footer/Footer.test.js +85 -0
  183. package/footer/Icons.d.ts +3 -0
  184. package/footer/Icons.js +54 -23
  185. package/footer/types.d.ts +64 -0
  186. package/footer/types.js +5 -0
  187. package/grid/Grid.d.ts +7 -0
  188. package/grid/Grid.js +76 -0
  189. package/grid/Grid.stories.tsx +219 -0
  190. package/grid/types.d.ts +115 -0
  191. package/grid/types.js +5 -0
  192. package/header/Header.accessibility.test.js +93 -0
  193. package/header/Header.d.ts +8 -0
  194. package/header/Header.js +106 -222
  195. package/header/Header.stories.tsx +267 -0
  196. package/header/Header.test.js +66 -0
  197. package/header/Icons.d.ts +2 -0
  198. package/header/Icons.js +6 -41
  199. package/header/types.d.ts +33 -0
  200. package/header/types.js +5 -0
  201. package/heading/Heading.accessibility.test.js +33 -0
  202. package/heading/Heading.d.ts +4 -0
  203. package/heading/Heading.js +16 -55
  204. package/heading/Heading.stories.tsx +54 -0
  205. package/heading/Heading.test.js +169 -0
  206. package/heading/types.d.ts +33 -0
  207. package/heading/types.js +5 -0
  208. package/icon/Icon.accessibility.test.js +30 -0
  209. package/icon/Icon.d.ts +4 -0
  210. package/icon/Icon.js +33 -0
  211. package/icon/Icon.stories.tsx +28 -0
  212. package/icon/types.d.ts +4 -0
  213. package/icon/types.js +5 -0
  214. package/image/Image.accessibility.test.js +56 -0
  215. package/image/Image.d.ts +4 -0
  216. package/image/Image.js +70 -0
  217. package/image/Image.stories.tsx +129 -0
  218. package/image/types.d.ts +72 -0
  219. package/image/types.js +5 -0
  220. package/inset/Inset.d.ts +3 -0
  221. package/inset/Inset.js +43 -0
  222. package/inset/Inset.stories.tsx +230 -0
  223. package/inset/types.d.ts +37 -0
  224. package/inset/types.js +5 -0
  225. package/layout/ApplicationLayout.d.ts +20 -0
  226. package/layout/ApplicationLayout.js +88 -186
  227. package/layout/ApplicationLayout.stories.tsx +162 -0
  228. package/layout/Icons.d.ts +7 -0
  229. package/layout/Icons.js +41 -48
  230. package/layout/types.d.ts +41 -0
  231. package/layout/types.js +5 -0
  232. package/link/Link.accessibility.test.js +108 -0
  233. package/link/Link.d.ts +4 -0
  234. package/link/Link.js +65 -131
  235. package/link/Link.stories.tsx +253 -0
  236. package/link/Link.test.js +63 -0
  237. package/link/types.d.ts +54 -0
  238. package/link/types.js +5 -0
  239. package/main.d.ts +20 -14
  240. package/main.js +99 -98
  241. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  242. package/nav-tabs/NavTabs.d.ts +7 -0
  243. package/nav-tabs/NavTabs.js +93 -0
  244. package/nav-tabs/NavTabs.stories.tsx +279 -0
  245. package/nav-tabs/NavTabs.test.js +77 -0
  246. package/nav-tabs/NavTabsContext.d.ts +3 -0
  247. package/nav-tabs/NavTabsContext.js +8 -0
  248. package/nav-tabs/Tab.d.ts +4 -0
  249. package/nav-tabs/Tab.js +117 -0
  250. package/nav-tabs/types.d.ts +52 -0
  251. package/nav-tabs/types.js +5 -0
  252. package/number-input/NumberInput.accessibility.test.js +228 -0
  253. package/number-input/NumberInput.d.ts +4 -0
  254. package/number-input/NumberInput.js +48 -90
  255. package/number-input/NumberInput.stories.tsx +131 -0
  256. package/number-input/NumberInput.test.js +989 -0
  257. package/number-input/NumberInputContext.d.ts +3 -0
  258. package/number-input/NumberInputContext.js +3 -11
  259. package/number-input/types.d.ts +136 -0
  260. package/number-input/types.js +5 -0
  261. package/package.json +54 -51
  262. package/paginator/Paginator.accessibility.test.js +79 -0
  263. package/paginator/Paginator.js +47 -107
  264. package/paginator/Paginator.stories.tsx +87 -0
  265. package/paginator/Paginator.test.js +335 -0
  266. package/paginator/types.d.ts +3 -3
  267. package/paragraph/Paragraph.accessibility.test.js +28 -0
  268. package/paragraph/Paragraph.d.ts +5 -0
  269. package/paragraph/Paragraph.js +22 -0
  270. package/paragraph/Paragraph.stories.tsx +27 -0
  271. package/password-input/PasswordInput.accessibility.test.js +153 -0
  272. package/password-input/PasswordInput.d.ts +4 -0
  273. package/password-input/PasswordInput.js +61 -163
  274. package/password-input/PasswordInput.stories.tsx +99 -0
  275. package/password-input/PasswordInput.test.js +198 -0
  276. package/password-input/types.d.ts +111 -0
  277. package/password-input/types.js +5 -0
  278. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  279. package/progress-bar/ProgressBar.d.ts +4 -0
  280. package/progress-bar/ProgressBar.js +70 -112
  281. package/progress-bar/ProgressBar.stories.tsx +93 -0
  282. package/progress-bar/ProgressBar.test.js +93 -0
  283. package/progress-bar/types.d.ts +37 -0
  284. package/progress-bar/types.js +5 -0
  285. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  286. package/quick-nav/QuickNav.d.ts +4 -0
  287. package/quick-nav/QuickNav.js +94 -0
  288. package/quick-nav/QuickNav.stories.tsx +356 -0
  289. package/quick-nav/types.d.ts +21 -0
  290. package/quick-nav/types.js +5 -0
  291. package/radio-group/Radio.d.ts +4 -0
  292. package/radio-group/Radio.js +124 -0
  293. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  294. package/radio-group/RadioGroup.d.ts +4 -0
  295. package/radio-group/RadioGroup.js +236 -0
  296. package/radio-group/RadioGroup.stories.tsx +214 -0
  297. package/radio-group/RadioGroup.test.js +756 -0
  298. package/radio-group/types.d.ts +114 -0
  299. package/radio-group/types.js +5 -0
  300. package/resultset-table/Icons.d.ts +7 -0
  301. package/resultset-table/Icons.js +47 -0
  302. package/resultset-table/ResultsetTable.accessibility.test.js +285 -0
  303. package/resultset-table/ResultsetTable.d.ts +7 -0
  304. package/resultset-table/ResultsetTable.js +171 -0
  305. package/resultset-table/ResultsetTable.stories.tsx +413 -0
  306. package/resultset-table/ResultsetTable.test.js +381 -0
  307. package/resultset-table/types.d.ts +100 -0
  308. package/resultset-table/types.js +5 -0
  309. package/select/Listbox.d.ts +4 -0
  310. package/select/Listbox.js +155 -0
  311. package/select/Option.d.ts +4 -0
  312. package/select/Option.js +89 -0
  313. package/select/Select.accessibility.test.js +228 -0
  314. package/select/Select.d.ts +4 -0
  315. package/select/Select.js +252 -515
  316. package/select/Select.stories.tsx +919 -0
  317. package/select/Select.test.js +2265 -0
  318. package/select/types.d.ts +209 -0
  319. package/select/types.js +5 -0
  320. package/sidenav/Sidenav.accessibility.test.js +59 -0
  321. package/sidenav/Sidenav.d.ts +10 -0
  322. package/sidenav/Sidenav.js +137 -81
  323. package/sidenav/Sidenav.stories.tsx +277 -0
  324. package/sidenav/Sidenav.test.js +37 -0
  325. package/sidenav/SidenavContext.d.ts +5 -0
  326. package/sidenav/SidenavContext.js +13 -0
  327. package/sidenav/types.d.ts +76 -0
  328. package/sidenav/types.js +5 -0
  329. package/slider/Slider.accessibility.test.js +104 -0
  330. package/slider/Slider.d.ts +4 -0
  331. package/slider/Slider.js +166 -220
  332. package/slider/Slider.test.js +254 -0
  333. package/slider/types.d.ts +86 -0
  334. package/slider/types.js +5 -0
  335. package/spinner/Spinner.accessibility.test.js +96 -0
  336. package/spinner/Spinner.d.ts +4 -0
  337. package/spinner/Spinner.js +41 -98
  338. package/spinner/Spinner.stories.tsx +129 -0
  339. package/spinner/Spinner.test.js +55 -0
  340. package/spinner/types.d.ts +32 -0
  341. package/spinner/types.js +5 -0
  342. package/status-light/StatusLight.accessibility.test.js +157 -0
  343. package/status-light/StatusLight.d.ts +4 -0
  344. package/status-light/StatusLight.js +51 -0
  345. package/status-light/StatusLight.stories.tsx +74 -0
  346. package/status-light/StatusLight.test.js +25 -0
  347. package/status-light/types.d.ts +17 -0
  348. package/status-light/types.js +5 -0
  349. package/switch/Switch.accessibility.test.js +98 -0
  350. package/switch/Switch.d.ts +2 -2
  351. package/switch/Switch.js +150 -115
  352. package/switch/Switch.stories.tsx +149 -0
  353. package/switch/Switch.test.js +180 -0
  354. package/switch/types.d.ts +13 -5
  355. package/table/DropdownTheme.js +62 -0
  356. package/table/Table.accessibility.test.js +93 -0
  357. package/table/Table.d.ts +8 -0
  358. package/table/Table.js +80 -37
  359. package/table/Table.stories.tsx +663 -0
  360. package/table/Table.test.js +113 -0
  361. package/table/types.d.ts +49 -0
  362. package/table/types.js +5 -0
  363. package/tabs/Tab.d.ts +4 -0
  364. package/tabs/Tab.js +117 -0
  365. package/tabs/Tabs.accessibility.test.js +56 -0
  366. package/tabs/Tabs.d.ts +4 -0
  367. package/tabs/Tabs.js +308 -194
  368. package/tabs/Tabs.stories.tsx +230 -0
  369. package/tabs/Tabs.test.js +276 -0
  370. package/tabs/types.d.ts +92 -0
  371. package/tabs/types.js +5 -0
  372. package/tag/Tag.accessibility.test.js +69 -0
  373. package/tag/Tag.d.ts +4 -0
  374. package/tag/Tag.js +55 -112
  375. package/tag/Tag.stories.tsx +152 -0
  376. package/tag/Tag.test.js +41 -0
  377. package/tag/types.d.ts +69 -0
  378. package/tag/types.js +5 -0
  379. package/text-input/Suggestion.d.ts +4 -0
  380. package/text-input/Suggestion.js +67 -0
  381. package/text-input/Suggestions.d.ts +4 -0
  382. package/text-input/Suggestions.js +94 -0
  383. package/text-input/TextInput.accessibility.test.js +321 -0
  384. package/text-input/TextInput.d.ts +4 -0
  385. package/text-input/TextInput.js +340 -594
  386. package/text-input/TextInput.stories.tsx +474 -0
  387. package/text-input/TextInput.test.js +1756 -0
  388. package/text-input/types.d.ts +205 -0
  389. package/text-input/types.js +5 -0
  390. package/textarea/Textarea.accessibility.test.js +155 -0
  391. package/textarea/Textarea.d.ts +4 -0
  392. package/textarea/Textarea.js +99 -181
  393. package/textarea/Textarea.stories.tsx +174 -0
  394. package/textarea/Textarea.test.js +406 -0
  395. package/textarea/types.d.ts +141 -0
  396. package/textarea/types.js +5 -0
  397. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  398. package/toggle-group/ToggleGroup.d.ts +4 -0
  399. package/toggle-group/ToggleGroup.js +101 -142
  400. package/toggle-group/ToggleGroup.stories.tsx +218 -0
  401. package/toggle-group/ToggleGroup.test.js +137 -0
  402. package/toggle-group/types.d.ts +114 -0
  403. package/toggle-group/types.js +5 -0
  404. package/typography/Typography.accessibility.test.js +339 -0
  405. package/typography/Typography.d.ts +4 -0
  406. package/typography/Typography.js +23 -0
  407. package/typography/Typography.stories.tsx +198 -0
  408. package/typography/types.d.ts +18 -0
  409. package/typography/types.js +5 -0
  410. package/useTheme.d.ts +1145 -0
  411. package/useTheme.js +4 -11
  412. package/useTranslatedLabels.d.ts +85 -0
  413. package/useTranslatedLabels.js +14 -0
  414. package/utils/BaseTypography.d.ts +21 -0
  415. package/utils/BaseTypography.js +94 -0
  416. package/utils/FocusLock.d.ts +13 -0
  417. package/utils/FocusLock.js +124 -0
  418. package/wizard/Wizard.accessibility.test.js +55 -0
  419. package/wizard/Wizard.d.ts +4 -0
  420. package/wizard/Wizard.js +122 -154
  421. package/wizard/Wizard.stories.tsx +272 -0
  422. package/wizard/Wizard.test.js +114 -0
  423. package/wizard/types.d.ts +64 -0
  424. package/wizard/types.js +5 -0
  425. package/ThemeContext.js +0 -246
  426. package/V3Select/V3Select.js +0 -455
  427. package/V3Select/index.d.ts +0 -27
  428. package/V3Textarea/V3Textarea.js +0 -260
  429. package/V3Textarea/index.d.ts +0 -27
  430. package/accordion/index.d.ts +0 -28
  431. package/accordion-group/index.d.ts +0 -16
  432. package/box/index.d.ts +0 -25
  433. package/card/index.d.ts +0 -22
  434. package/chip/index.d.ts +0 -22
  435. package/common/OpenSans.css +0 -81
  436. package/common/RequiredComponent.js +0 -32
  437. package/common/fonts/OpenSans-Bold.ttf +0 -0
  438. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  439. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  440. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  441. package/common/fonts/OpenSans-Italic.ttf +0 -0
  442. package/common/fonts/OpenSans-Light.ttf +0 -0
  443. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  444. package/common/fonts/OpenSans-Regular.ttf +0 -0
  445. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  446. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  447. package/date/Date.js +0 -373
  448. package/date/index.d.ts +0 -27
  449. package/date-input/index.d.ts +0 -95
  450. package/dialog/index.d.ts +0 -18
  451. package/dropdown/index.d.ts +0 -26
  452. package/file-input/index.d.ts +0 -81
  453. package/footer/index.d.ts +0 -25
  454. package/header/index.d.ts +0 -25
  455. package/heading/index.d.ts +0 -17
  456. package/input-text/Icons.js +0 -22
  457. package/input-text/InputText.js +0 -611
  458. package/input-text/index.d.ts +0 -36
  459. package/link/index.d.ts +0 -23
  460. package/number-input/index.d.ts +0 -113
  461. package/paginator/Icons.js +0 -66
  462. package/password-input/index.d.ts +0 -94
  463. package/progress-bar/index.d.ts +0 -18
  464. package/radio/Radio.js +0 -195
  465. package/radio/index.d.ts +0 -23
  466. package/resultsetTable/ResultsetTable.js +0 -274
  467. package/resultsetTable/index.d.ts +0 -19
  468. package/select/index.d.ts +0 -131
  469. package/sidenav/index.d.ts +0 -13
  470. package/slider/index.d.ts +0 -29
  471. package/spinner/index.d.ts +0 -17
  472. package/table/index.d.ts +0 -13
  473. package/tabs/index.d.ts +0 -19
  474. package/tag/index.d.ts +0 -24
  475. package/text-input/index.d.ts +0 -135
  476. package/textarea/index.d.ts +0 -117
  477. package/toggle/Toggle.js +0 -186
  478. package/toggle/index.d.ts +0 -21
  479. package/toggle-group/index.d.ts +0 -21
  480. package/upload/Upload.js +0 -201
  481. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  482. package/upload/buttons-upload/Icons.js +0 -40
  483. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  484. package/upload/dragAndDropArea/Icons.js +0 -39
  485. package/upload/file-upload/FileToUpload.js +0 -115
  486. package/upload/file-upload/Icons.js +0 -66
  487. package/upload/files-upload/FilesToUpload.js +0 -109
  488. package/upload/index.d.ts +0 -15
  489. package/upload/transaction/Icons.js +0 -160
  490. package/upload/transaction/Transaction.js +0 -104
  491. package/upload/transactions/Transactions.js +0 -94
  492. package/wizard/Icons.js +0 -65
  493. package/wizard/index.d.ts +0 -18
@@ -1,306 +1,325 @@
1
1
  import React from "react";
2
- import styled from "styled-components";
3
2
  import DxcButton from "./Button";
4
- import { BackgroundColorProvider } from "../BackgroundColorContext";
3
+ import DxcFlex from "./../flex/Flex";
4
+ import Title from "../../.storybook/components/Title";
5
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
+ import { HalstackProvider } from "../HalstackContext";
5
7
 
6
8
  export default {
7
- title: "Button ",
9
+ title: "Button",
8
10
  component: DxcButton,
9
11
  };
10
12
 
11
- const iconSVG = () => {
12
- return (
13
- <svg viewBox="0 0 24 24" fill="currentColor">
14
- <path d="M0 0h24v24H0z" fill="none" />
15
- <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" />
16
- </svg>
17
- );
18
- };
19
- export const Chromatic = () => (
20
- <>
21
- <>
22
- <MainTitle>Primary</MainTitle>
23
- <Container>
24
- <ContainerTitle>Enabled</ContainerTitle>
25
- <DxcButton label="Primary enabled" />
26
- </Container>
27
- <Container className="pseudo-hover">
28
- <ContainerTitle>Hovered</ContainerTitle>
29
- <DxcButton label="Primary hovered" />
30
- </Container>
31
- <Container className="pseudo-focus">
32
- <ContainerTitle>Focused</ContainerTitle>
33
- <DxcButton label="Primary focused" />
34
- </Container>
35
- <Container className="pseudo-active">
36
- <ContainerTitle>Actived</ContainerTitle>
37
- <DxcButton label="Primary actived" />
38
- </Container>
39
- <Container>
40
- <ContainerTitle>Disabled</ContainerTitle>
41
- <DxcButton label="Primary disabled" disabled />
42
- </Container>
43
- <Container>
44
- <ContainerTitle>With left icon</ContainerTitle>
45
- <DxcButton label="Primary" icon={iconSVG} />
46
- </Container>
47
- <Container>
48
- <ContainerTitle>With right icon</ContainerTitle>
49
- <DxcButton label="Primary" icon={iconSVG} iconPosition="after" />
50
- </Container>
51
- <Container>
52
- <ContainerTitle>Only icon</ContainerTitle>
53
- <DxcButton icon={iconSVG} />
54
- </Container>
55
- </>
56
- <>
57
- <>
58
- <MainTitle>Secondary</MainTitle>
59
- <Container>
60
- <ContainerTitle>Enabled</ContainerTitle>
61
- <DxcButton mode="secondary" label="Secondary enabled" />
62
- </Container>
63
- <Container className="pseudo-hover">
64
- <ContainerTitle>Hovered</ContainerTitle>
65
- <DxcButton mode="secondary" label="Secondary hovered" />
66
- </Container>
67
- <Container className="pseudo-focus">
68
- <ContainerTitle>Focused</ContainerTitle>
69
- <DxcButton mode="secondary" label="Secondary focused" />
70
- </Container>
71
- <Container className="pseudo-active">
72
- <ContainerTitle>Actived</ContainerTitle>
73
- <DxcButton mode="secondary" label="Secondary actived" />
74
- </Container>
75
- <Container>
76
- <ContainerTitle>Disabled</ContainerTitle>
77
- <DxcButton mode="secondary" disabled label="Secondary disabled" />
78
- </Container>
79
- <Container>
80
- <ContainerTitle>With icon</ContainerTitle>
81
- <DxcButton mode="secondary" label="Secondary" icon={iconSVG} />
82
- </Container>
83
- </>
84
- <>
85
- <MainTitle>Text</MainTitle>
86
- <Container>
87
- <ContainerTitle>Enabled</ContainerTitle>
88
- <DxcButton mode="text" label="Text enabled" />
89
- </Container>
90
- <Container className="pseudo-hover">
91
- <ContainerTitle>Hovered</ContainerTitle>
92
- <DxcButton mode="text" label="Text hovered" />
93
- </Container>
94
- <Container className="pseudo-focus">
95
- <ContainerTitle>Focused</ContainerTitle>
96
- <DxcButton mode="text" label="Text focused" />
97
- </Container>
98
- <Container className="pseudo-active">
99
- <ContainerTitle>Actived</ContainerTitle>
100
- <DxcButton mode="text" label="Text actived" />
101
- </Container>
102
- <Container>
103
- <ContainerTitle>Disabled</ContainerTitle>
104
- <DxcButton mode="text" label="Text disabled" disabled />
105
- </Container>
106
- <Container>
107
- <ContainerTitle>With icon</ContainerTitle>
108
- <DxcButton label="Text" mode="text" icon={iconSVG} />
109
- </Container>
110
- </>
111
- </>
112
- <BackgroundColorProvider color="#333333">
113
- <DarkContainer>
114
- <>
115
- <MainTitle style={{ color: "white" }}>Primary</MainTitle>
116
- <Container>
117
- <ContainerTitle style={{ color: "white" }}>Enabled</ContainerTitle>
118
- <DxcButton label="Primary enabled" />
119
- </Container>
120
- <Container className="pseudo-hover">
121
- <ContainerTitle style={{ color: "white" }}>Hovered</ContainerTitle>
122
- <DxcButton label="Primary hovered" />
123
- </Container>
124
- <Container className="pseudo-focus">
125
- <ContainerTitle style={{ color: "white" }}>Focused</ContainerTitle>
126
- <DxcButton label="Primary focused" />
127
- </Container>
128
- <Container className="pseudo-active">
129
- <ContainerTitle style={{ color: "white" }}>Actived</ContainerTitle>
130
- <DxcButton label="Primary actived" />
131
- </Container>
132
- <Container>
133
- <ContainerTitle style={{ color: "white" }}>Disabled</ContainerTitle>
134
- <DxcButton label="Primary disabled" disabled />
135
- </Container>
136
- <Container style={{ color: "white" }}>
137
- <ContainerTitle>With icon</ContainerTitle>
138
- <DxcButton label="Primary" icon={iconSVG} />
139
- </Container>
140
- </>
141
- <>
142
- <MainTitle style={{ color: "white" }}>Secondary</MainTitle>
143
- <Container>
144
- <ContainerTitle style={{ color: "white" }}>Enabled</ContainerTitle>
145
- <DxcButton mode="secondary" label="Secondary enabled" />
146
- </Container>
147
- <Container className="pseudo-hover">
148
- <ContainerTitle style={{ color: "white" }}>Hovered</ContainerTitle>
149
- <DxcButton mode="secondary" label="Secondary hovered" />
150
- </Container>
151
- <Container className="pseudo-focus">
152
- <ContainerTitle style={{ color: "white" }}>Focused</ContainerTitle>
153
- <DxcButton mode="secondary" label="Secondary focused" />
154
- </Container>
155
- <Container className="pseudo-active">
156
- <ContainerTitle style={{ color: "white" }}>Actived</ContainerTitle>
157
- <DxcButton mode="secondary" label="Secondary actived" />
158
- </Container>
159
- <Container>
160
- <ContainerTitle style={{ color: "white" }}>Disabled</ContainerTitle>
161
- <DxcButton mode="secondary" disabled label="Secondary disabled" />
162
- </Container>
163
- <Container style={{ color: "white" }}>
164
- <ContainerTitle>With icon</ContainerTitle>
165
- <DxcButton mode="secondary" label="Primary" icon={iconSVG} />
166
- </Container>
167
- </>
168
- <>
169
- <MainTitle style={{ color: "white" }}>Text</MainTitle>
170
- <Container>
171
- <ContainerTitle style={{ color: "white" }}>Enabled</ContainerTitle>
172
- <DxcButton mode="text" label="Text enabled" />
173
- </Container>
174
- <Container className="pseudo-hover">
175
- <ContainerTitle style={{ color: "white" }}>Hovered</ContainerTitle>
176
- <DxcButton mode="text" label="Text hovered" />
177
- </Container>
178
- <Container className="pseudo-focus">
179
- <ContainerTitle style={{ color: "white" }}>Focused</ContainerTitle>
180
- <DxcButton mode="text" label="Text focused" />
181
- </Container>
182
- <Container className="pseudo-active">
183
- <ContainerTitle style={{ color: "white" }}>Actived</ContainerTitle>
184
- <DxcButton mode="text" label="Text actived" />
185
- </Container>
186
- <Container>
187
- <ContainerTitle style={{ color: "white" }}>Disabled</ContainerTitle>
188
- <DxcButton mode="text" label="Text disabled" disabled />
189
- </Container>
190
- <Container style={{ color: "white" }}>
191
- <ContainerTitle>With icon</ContainerTitle>
192
- <DxcButton mode="text" label="Primary" icon={iconSVG} />
193
- </Container>
194
- </>
195
- </DarkContainer>
196
- </BackgroundColorProvider>
197
- <>
198
- <MainTitle>Sizes</MainTitle>
199
- <Container>
200
- <ContainerTitle>Small size</ContainerTitle>
201
- <DxcButton label="Small" size="small" />
202
- </Container>
203
- <Container>
204
- <ContainerTitle>Medium size</ContainerTitle>
205
- <DxcButton label="MediumSiz" size="medium" />
206
- </Container>
207
- <Container>
208
- <ContainerTitle>Medium size with ellipsis</ContainerTitle>
209
- <DxcButton label="MediumSize" size="medium" />
210
- </Container>
211
- <Container>
212
- <ContainerTitle>Medium size icon after</ContainerTitle>
213
- <DxcButton label="Mediu" iconPosition="after" icon={iconSVG} size="medium" />
214
- </Container>
215
- <Container>
216
- <ContainerTitle>Medium size icon before</ContainerTitle>
217
- <DxcButton label="Mediu" iconPosition="before" icon={iconSVG} size="medium" />
218
- </Container>
219
- <Container>
220
- <ContainerTitle>Medium size icon after with ellipsis</ContainerTitle>
221
- <DxcButton label="Medium" iconPosition="after" icon={iconSVG} size="medium" />
222
- </Container>
223
- <Container>
224
- <ContainerTitle>Medium size icon before with ellipsis</ContainerTitle>
225
- <DxcButton label="Medium" iconPosition="before" icon={iconSVG} size="medium" />
226
- </Container>
227
- <Container>
228
- <ContainerTitle>Large size</ContainerTitle>
229
- <DxcButton label="LargeSizePrimaryButtonEx" size="large" />
230
- </Container>
231
- <Container>
232
- <ContainerTitle>Large size with ellipsis</ContainerTitle>
233
- <DxcButton label="LargeSizePrimaryButtonExa" size="large" />
234
- </Container>
235
- <Container>
236
- <ContainerTitle>Large size icon after</ContainerTitle>
237
- <DxcButton label="LargeSizePrimaryButto" iconPosition="after" icon={iconSVG} size="large" />
238
- </Container>
239
- <Container>
240
- <ContainerTitle>Large size icon before</ContainerTitle>
241
- <DxcButton label="LargeSizePrimaryButto" iconPosition="before" icon={iconSVG} size="large" />
242
- </Container>
243
- <Container>
244
- <ContainerTitle>Large size icon after with ellipsis</ContainerTitle>
245
- <DxcButton label="LargeSizePrimaryButton" iconPosition="after" icon={iconSVG} size="large" />
246
- </Container>
247
- <Container>
248
- <ContainerTitle>Large size icon before with ellipsis</ContainerTitle>
249
- <DxcButton label="LargeSizePrimaryButton" iconPosition="before" icon={iconSVG} size="large" />
250
- </Container>
251
- <Container>
252
- <ContainerTitle>Fill parent size</ContainerTitle>
253
- <DxcButton label="FillParent" size="fillParent" />
254
- </Container>
255
- <Container>
256
- <ContainerTitle>Fit content size</ContainerTitle>
257
- <DxcButton label="FitContent" size="fitContent" />
258
- </Container>
259
- <MainTitle>Margins</MainTitle>
260
- <Container>
261
- <ContainerTitle>Xxsmall margin</ContainerTitle>
262
- <DxcButton label="Xxsmall margin" margin="xxsmall" />
263
- </Container>
264
- <Container>
265
- <ContainerTitle>Xsmall margin</ContainerTitle>
266
- <DxcButton label="Xsmall margin" margin="xsmall" />
267
- </Container>
268
- <Container>
269
- <ContainerTitle>Small margin</ContainerTitle>
270
- <DxcButton label="Small margin" margin="small" />
271
- </Container>
272
- <Container>
273
- <ContainerTitle>Medium margin</ContainerTitle>
274
- <DxcButton label="Medium margin" margin="medium" />
275
- </Container>
276
- <Container>
277
- <ContainerTitle>Large margin</ContainerTitle>
278
- <DxcButton label="Large margin" margin="large" />
279
- </Container>
280
- <Container>
281
- <ContainerTitle>Xlarge margin</ContainerTitle>
282
- <DxcButton label="Xlarge margin" margin="xlarge" />
283
- </Container>
284
- <Container>
285
- <ContainerTitle>Xxlarge margin</ContainerTitle>
286
- <DxcButton label="Xxlarge margin" margin="xxlarge" />
287
- </Container>
288
- </>
289
- </>
13
+ const iconSVG = (
14
+ <svg width="24px" height="24px" viewBox="0 0 24 24" fill="currentColor">
15
+ <path d="M0 0h24v24H0z" fill="none" />
16
+ <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" />
17
+ </svg>
290
18
  );
291
19
 
292
- const MainTitle = styled.h2`
293
- font-family: Open Sans, sans-serif;
294
- `;
20
+ const facebookIcon = (
21
+ <svg
22
+ version="1.1"
23
+ x="0px"
24
+ y="0px"
25
+ width="438.536px"
26
+ height="438.536px"
27
+ viewBox="0 0 438.536 438.536"
28
+ fill="currentColor"
29
+ >
30
+ <g>
31
+ <path
32
+ 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
33
+ 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
34
+ h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225
35
+ 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
36
+ 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
37
+ 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"
38
+ />
39
+ </g>
40
+ </svg>
41
+ );
295
42
 
296
- const ContainerTitle = styled.h4`
297
- font-family: Open Sans, sans-serif;
298
- `;
43
+ const smallIcon = (
44
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" height="20" width="20" fill="currentColor">
45
+ <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" />
46
+ </svg>
47
+ );
299
48
 
300
- const Container = styled.div`
301
- margin: 15px;
302
- `;
49
+ const opinionatedTheme = {
50
+ button: {
51
+ baseColor: "#5f249f",
52
+ primaryFontColor: "#ffffff",
53
+ secondaryHoverFontColor: "#ffffff",
54
+ },
55
+ };
303
56
 
304
- const DarkContainer = styled.div`
305
- background-color: #333333;
306
- `;
57
+ export const Chromatic = () => (
58
+ <>
59
+ <Title title="Primary" theme="light" level={2} />
60
+ <ExampleContainer>
61
+ <Title title="Enabled" theme="light" level={4} />
62
+ <DxcButton label="Primary enabled" />
63
+ </ExampleContainer>
64
+ <ExampleContainer pseudoState="pseudo-hover">
65
+ <Title title="Hovered" theme="light" level={4} />
66
+ <DxcButton label="Primary hovered" />
67
+ </ExampleContainer>
68
+ <ExampleContainer pseudoState="pseudo-focus">
69
+ <Title title="Focused" theme="light" level={4} />
70
+ <DxcButton label="Primary focused" />
71
+ </ExampleContainer>
72
+ <ExampleContainer pseudoState="pseudo-active">
73
+ <Title title="Actived" theme="light" level={4} />
74
+ <DxcButton label="Primary actived" />
75
+ </ExampleContainer>
76
+ <ExampleContainer>
77
+ <Title title="Disabled" theme="light" level={4} />
78
+ <DxcButton label="Primary disabled" disabled icon="filled_bottom_app_bar" />
79
+ </ExampleContainer>
80
+ <ExampleContainer>
81
+ <Title title="With left icon" theme="light" level={4} />
82
+ <DxcButton label="Primary" icon="filled_bottom_app_bar" />
83
+ </ExampleContainer>
84
+ <ExampleContainer>
85
+ <Title title="With right icon" theme="light" level={4} />
86
+ <DxcButton label="Primary" icon="filled_bottom_app_bar" iconPosition="after" />
87
+ </ExampleContainer>
88
+ <ExampleContainer>
89
+ <Title title="Only icon" theme="light" level={4} />
90
+ <DxcButton icon="filled_bottom_app_bar" title="Button with no label" />
91
+ </ExampleContainer>
92
+ <ExampleContainer>
93
+ <Title title="Big icon (SVG)" theme="light" level={4} />
94
+ <DxcButton icon={facebookIcon} title="Facebook" />
95
+ </ExampleContainer>
96
+ <ExampleContainer>
97
+ <Title title="Small icon (SVG)" theme="light" level={4} />
98
+ <DxcButton icon={smallIcon} title="Button with no label" />
99
+ </ExampleContainer>
100
+ <Title title="Secondary" theme="light" level={2} />
101
+ <ExampleContainer>
102
+ <Title title="Enabled" theme="light" level={4} />
103
+ <DxcButton mode="secondary" label="Secondary enabled" />
104
+ </ExampleContainer>
105
+ <ExampleContainer pseudoState="pseudo-hover">
106
+ <Title title="Hovered" theme="light" level={4} />
107
+ <DxcButton mode="secondary" label="Secondary hovered" />
108
+ </ExampleContainer>
109
+ <ExampleContainer pseudoState="pseudo-focus">
110
+ <Title title="Focused" theme="light" level={4} />
111
+ <DxcButton mode="secondary" label="Secondary focused" />
112
+ </ExampleContainer>
113
+ <ExampleContainer pseudoState="pseudo-active">
114
+ <Title title="Actived" theme="light" level={4} />
115
+ <DxcButton mode="secondary" label="Secondary actived" />
116
+ </ExampleContainer>
117
+ <ExampleContainer>
118
+ <Title title="Disabled" theme="light" level={4} />
119
+ <DxcButton mode="secondary" disabled label="Secondary disabled" icon="filled_bottom_app_bar" />
120
+ </ExampleContainer>
121
+ <ExampleContainer>
122
+ <Title title="With icon" theme="light" level={4} />
123
+ <DxcButton mode="secondary" label="Secondary" icon="filled_bottom_app_bar" />
124
+ </ExampleContainer>
125
+ <Title title="Text" theme="light" level={2} />
126
+ <ExampleContainer>
127
+ <Title title="Enabled" theme="light" level={4} />
128
+ <DxcButton mode="text" label="Text enabled" />
129
+ </ExampleContainer>
130
+ <ExampleContainer pseudoState="pseudo-hover">
131
+ <Title title="Hovered" theme="light" level={4} />
132
+ <DxcButton mode="text" label="Text hovered" />
133
+ </ExampleContainer>
134
+ <ExampleContainer pseudoState="pseudo-focus">
135
+ <Title title="Focused" theme="light" level={4} />
136
+ <DxcButton mode="text" label="Text focused" />
137
+ </ExampleContainer>
138
+ <ExampleContainer pseudoState="pseudo-active">
139
+ <Title title="Actived" theme="light" level={4} />
140
+ <DxcButton mode="text" label="Text actived" />
141
+ </ExampleContainer>
142
+ <ExampleContainer>
143
+ <Title title="Disabled" theme="light" level={4} />
144
+ <DxcButton mode="text" label="Text disabled" disabled icon="filled_bottom_app_bar" />
145
+ </ExampleContainer>
146
+ <ExampleContainer>
147
+ <Title title="With icon" theme="light" level={4} />
148
+ <DxcButton label="Text" mode="text" icon="filled_bottom_app_bar" />
149
+ </ExampleContainer>
150
+ <Title title="Sizes" theme="light" level={2} />
151
+ <ExampleContainer>
152
+ <Title title="Small size" theme="light" level={4} />
153
+ <DxcButton label="Small" size="small" />
154
+ </ExampleContainer>
155
+ <ExampleContainer>
156
+ <Title title="Medium size" theme="light" level={4} />
157
+ <DxcButton label="MediumSize" size="medium" />
158
+ </ExampleContainer>
159
+ <ExampleContainer>
160
+ <Title title="Medium size with ellipsis" theme="light" level={4} />
161
+ <DxcButton label="MediumSize" size="medium" />
162
+ </ExampleContainer>
163
+ <ExampleContainer>
164
+ <Title title="Medium size icon after" theme="light" level={4} />
165
+ <DxcButton label="Medium" iconPosition="after" icon="filled_bottom_app_bar" size="medium" />
166
+ </ExampleContainer>
167
+ <ExampleContainer>
168
+ <Title title="Medium size icon before" theme="light" level={4} />
169
+ <DxcButton label="Medium" iconPosition="before" icon="filled_bottom_app_bar" size="medium" />
170
+ </ExampleContainer>
171
+ <ExampleContainer>
172
+ <Title title="Medium size icon after with ellipsis" theme="light" level={4} />
173
+ <DxcButton label="Medium" iconPosition="after" icon="filled_bottom_app_bar" size="medium" />
174
+ </ExampleContainer>
175
+ <ExampleContainer>
176
+ <Title title="Medium size icon before with ellipsis" theme="light" level={4} />
177
+ <DxcButton label="Medium" iconPosition="before" icon="filled_bottom_app_bar" size="medium" />
178
+ </ExampleContainer>
179
+ <ExampleContainer>
180
+ <Title title="Large size" theme="light" level={4} />
181
+ <DxcButton label="LargeSizePrimaryButtonEx" size="large" />
182
+ </ExampleContainer>
183
+ <ExampleContainer>
184
+ <Title title="Large size with ellipsis" theme="light" level={4} />
185
+ <DxcButton label="LargeSizePrimaryButtonExa" size="large" />
186
+ </ExampleContainer>
187
+ <ExampleContainer>
188
+ <Title title="Large size icon after" theme="light" level={4} />
189
+ <DxcButton label="LargeSizePrimaryButton" iconPosition="after" icon="filled_bottom_app_bar" size="large" />
190
+ </ExampleContainer>
191
+ <ExampleContainer>
192
+ <Title title="Large size icon before" theme="light" level={4} />
193
+ <DxcButton label="LargeSizePrimaryButton" iconPosition="before" icon="filled_bottom_app_bar" size="large" />
194
+ </ExampleContainer>
195
+ <ExampleContainer>
196
+ <Title title="Large size icon after with ellipsis" theme="light" level={4} />
197
+ <DxcButton label="LargeSizePrimaryButton" iconPosition="after" icon="filled_bottom_app_bar" size="large" />
198
+ </ExampleContainer>
199
+ <ExampleContainer>
200
+ <Title title="Large size icon before with ellipsis" theme="light" level={4} />
201
+ <DxcButton label="LargeSizePrimaryButton" iconPosition="before" icon="filled_bottom_app_bar" size="large" />
202
+ </ExampleContainer>
203
+ <ExampleContainer>
204
+ <Title title="FillParent size" theme="light" level={4} />
205
+ <DxcButton label="FillParent" size="fillParent" />
206
+ </ExampleContainer>
207
+ <ExampleContainer>
208
+ <Title title="FitContent size" theme="light" level={4} />
209
+ <DxcButton label="FitContent" size="fitContent" />
210
+ </ExampleContainer>
211
+ <Title title="Margins" theme="light" level={2} />
212
+ <ExampleContainer>
213
+ <Title title="Xxsmall margin" theme="light" level={4} />
214
+ <DxcButton label="Xxsmall margin" margin="xxsmall" />
215
+ </ExampleContainer>
216
+ <ExampleContainer>
217
+ <Title title="Xsmall margin" theme="light" level={4} />
218
+ <DxcButton label="Xsmall margin" margin="xsmall" />
219
+ </ExampleContainer>
220
+ <ExampleContainer>
221
+ <Title title="Small margin" theme="light" level={4} />
222
+ <DxcButton label="Small margin" margin="small" />
223
+ </ExampleContainer>
224
+ <ExampleContainer>
225
+ <Title title="Medium margin" theme="light" level={4} />
226
+ <DxcButton label="Medium margin" margin="medium" />
227
+ </ExampleContainer>
228
+ <ExampleContainer>
229
+ <Title title="Large margin" theme="light" level={4} />
230
+ <DxcButton label="Large margin" margin="large" />
231
+ </ExampleContainer>
232
+ <ExampleContainer>
233
+ <Title title="Xlarge margin" theme="light" level={4} />
234
+ <DxcButton label="Xlarge margin" margin="xlarge" />
235
+ </ExampleContainer>
236
+ <ExampleContainer>
237
+ <Title title="Xxlarge margin" theme="light" level={4} />
238
+ <DxcButton label="Xxlarge margin" margin="xxlarge" />
239
+ </ExampleContainer>
240
+ <Title title="Inside a flex" theme="light" level={2} />
241
+ <ExampleContainer>
242
+ <DxcFlex direction="column" gap="1rem">
243
+ <DxcButton label="Button" />
244
+ <DxcButton label="Button" />
245
+ <DxcButton label="Button" />
246
+ </DxcFlex>
247
+ </ExampleContainer>
248
+ <Title title="Opinionated theme" theme="light" level={2} />
249
+ <Title title="Primary" theme="light" level={3} />
250
+ <ExampleContainer>
251
+ <Title title="Enabled" theme="light" level={4} />
252
+ <HalstackProvider theme={opinionatedTheme}>
253
+ <DxcButton label="Primary" icon="filled_bottom_app_bar" />
254
+ </HalstackProvider>
255
+ </ExampleContainer>
256
+ <ExampleContainer pseudoState="pseudo-hover">
257
+ <Title title="Hovered" theme="light" level={4} />
258
+ <DxcButton label="Primary hovered" icon="filled_bottom_app_bar" />
259
+ </ExampleContainer>
260
+ <ExampleContainer pseudoState="pseudo-focus">
261
+ <Title title="Focused" theme="light" level={4} />
262
+ <DxcButton label="Primary focused" icon="filled_bottom_app_bar" />
263
+ </ExampleContainer>
264
+ <ExampleContainer pseudoState="pseudo-active">
265
+ <Title title="Actived" theme="light" level={4} />
266
+ <DxcButton label="Primary actived" icon="filled_bottom_app_bar" />
267
+ </ExampleContainer>
268
+ <ExampleContainer>
269
+ <Title title="Disabled" theme="light" level={4} />
270
+ <HalstackProvider theme={opinionatedTheme}>
271
+ <DxcButton label="Primary" icon="filled_bottom_app_bar" disabled />
272
+ </HalstackProvider>
273
+ </ExampleContainer>
274
+ <Title title="Secondary" theme="light" level={3} />
275
+ <ExampleContainer>
276
+ <Title title="Enabled" theme="light" level={4} />
277
+ <HalstackProvider theme={opinionatedTheme}>
278
+ <DxcButton mode="secondary" label="Secondary" icon="filled_bottom_app_bar" />
279
+ </HalstackProvider>
280
+ </ExampleContainer>
281
+ <ExampleContainer pseudoState="pseudo-hover">
282
+ <Title title="Hovered" theme="light" level={4} />
283
+ <DxcButton mode="secondary" label="Secondary hovered" icon="filled_bottom_app_bar" />
284
+ </ExampleContainer>
285
+ <ExampleContainer pseudoState="pseudo-focus">
286
+ <Title title="Focused" theme="light" level={4} />
287
+ <DxcButton mode="secondary" label="Secondary focused" icon="filled_bottom_app_bar" />
288
+ </ExampleContainer>
289
+ <ExampleContainer pseudoState="pseudo-active">
290
+ <Title title="Actived" theme="light" level={4} />
291
+ <DxcButton mode="secondary" label="Secondary actived" icon="filled_bottom_app_bar" />
292
+ </ExampleContainer>
293
+ <ExampleContainer>
294
+ <Title title="Disabled" theme="light" level={4} />
295
+ <HalstackProvider theme={opinionatedTheme}>
296
+ <DxcButton mode="secondary" label="Secondary" icon="filled_bottom_app_bar" disabled />
297
+ </HalstackProvider>
298
+ </ExampleContainer>
299
+ <Title title="Text" theme="light" level={3} />
300
+ <ExampleContainer>
301
+ <Title title="Enabled" theme="light" level={4} />
302
+ <HalstackProvider theme={opinionatedTheme}>
303
+ <DxcButton mode="text" label="Text" icon="filled_bottom_app_bar" />
304
+ </HalstackProvider>
305
+ </ExampleContainer>
306
+ <ExampleContainer pseudoState="pseudo-hover">
307
+ <Title title="Hovered" theme="light" level={4} />
308
+ <DxcButton mode="text" label="Text hovered" icon="filled_bottom_app_bar" />
309
+ </ExampleContainer>
310
+ <ExampleContainer pseudoState="pseudo-focus">
311
+ <Title title="Focused" theme="light" level={4} />
312
+ <DxcButton mode="text" label="Text focused" icon="filled_bottom_app_bar" />
313
+ </ExampleContainer>
314
+ <ExampleContainer pseudoState="pseudo-active">
315
+ <Title title="Actived" theme="light" level={4} />
316
+ <DxcButton mode="text" label="Text actived" icon="filled_bottom_app_bar" />
317
+ </ExampleContainer>
318
+ <ExampleContainer>
319
+ <Title title="Disabled" theme="light" level={4} />
320
+ <HalstackProvider theme={opinionatedTheme}>
321
+ <DxcButton mode="text" label="Text disabled" icon="filled_bottom_app_bar" disabled />
322
+ </HalstackProvider>
323
+ </ExampleContainer>
324
+ </>
325
+ );
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _react = _interopRequireDefault(require("react"));
5
+ var _react2 = require("@testing-library/react");
6
+ var _Button = _interopRequireDefault(require("./Button.tsx"));
7
+ describe("Button component tests", function () {
8
+ test("Button renders with correct text", function () {
9
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
10
+ label: "Button"
11
+ })),
12
+ getByText = _render.getByText;
13
+ expect(getByText("Button")).toBeTruthy();
14
+ });
15
+ test("Calls correct function on click", function () {
16
+ var onClick = jest.fn();
17
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
18
+ label: "Button",
19
+ onClick: onClick
20
+ })),
21
+ getByText = _render2.getByText;
22
+ var button = getByText("Button");
23
+ _react2.fireEvent.click(button);
24
+ expect(onClick).toHaveBeenCalled();
25
+ });
26
+ test("Renders with correct accessibility attributes", function () {
27
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
28
+ label: "Home",
29
+ title: "Go home",
30
+ tabIndex: 1
31
+ })),
32
+ getByRole = _render3.getByRole;
33
+ var button = getByRole("button");
34
+ expect(button.getAttribute("aria-label")).toBe("Go home");
35
+ expect(button.getAttribute("title")).toBe("Go home");
36
+ expect(button.getAttribute("tabindex")).toBe("1");
37
+ });
38
+ });