@dxc-technology/halstack-react 0.0.0-d30020b → 0.0.0-d3624d0

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 (443) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  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 +1 -1
  8. package/accordion/Accordion.js +105 -181
  9. package/accordion/Accordion.stories.tsx +83 -149
  10. package/accordion/Accordion.test.js +56 -0
  11. package/accordion/types.d.ts +10 -17
  12. package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
  13. package/accordion-group/AccordionGroup.d.ts +3 -3
  14. package/accordion-group/AccordionGroup.js +38 -107
  15. package/accordion-group/AccordionGroup.stories.tsx +95 -68
  16. package/accordion-group/AccordionGroup.test.js +98 -0
  17. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  18. package/accordion-group/AccordionGroupAccordion.js +31 -0
  19. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  20. package/accordion-group/AccordionGroupContext.js +8 -0
  21. package/accordion-group/types.d.ts +16 -17
  22. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  23. package/action-icon/ActionIcon.d.ts +4 -0
  24. package/action-icon/ActionIcon.js +48 -0
  25. package/action-icon/ActionIcon.stories.tsx +41 -0
  26. package/action-icon/ActionIcon.test.js +64 -0
  27. package/action-icon/types.d.ts +26 -0
  28. package/alert/Alert.accessibility.test.js +95 -0
  29. package/alert/Alert.js +40 -127
  30. package/alert/Alert.stories.tsx +28 -0
  31. package/alert/Alert.test.js +75 -0
  32. package/alert/types.d.ts +5 -5
  33. package/badge/Badge.accessibility.test.js +129 -0
  34. package/badge/Badge.d.ts +4 -0
  35. package/badge/Badge.js +142 -40
  36. package/badge/Badge.stories.tsx +210 -0
  37. package/badge/Badge.test.js +30 -0
  38. package/badge/types.d.ts +54 -0
  39. package/bleed/Bleed.js +14 -55
  40. package/bleed/Bleed.stories.tsx +95 -95
  41. package/bleed/types.d.ts +26 -2
  42. package/box/Box.accessibility.test.js +33 -0
  43. package/box/Box.d.ts +1 -1
  44. package/box/Box.js +30 -81
  45. package/box/Box.stories.tsx +38 -51
  46. package/box/Box.test.js +13 -0
  47. package/box/types.d.ts +3 -14
  48. package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
  49. package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
  50. package/breadcrumbs/Breadcrumbs.d.ts +4 -0
  51. package/breadcrumbs/Breadcrumbs.js +79 -0
  52. package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
  53. package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
  54. package/breadcrumbs/Breadcrumbs.test.js +169 -0
  55. package/breadcrumbs/Item.d.ts +4 -0
  56. package/breadcrumbs/Item.js +52 -0
  57. package/breadcrumbs/dropdownTheme.d.ts +53 -0
  58. package/breadcrumbs/dropdownTheme.js +62 -0
  59. package/breadcrumbs/types.d.ts +16 -0
  60. package/bulleted-list/BulletedList.accessibility.test.js +119 -0
  61. package/bulleted-list/BulletedList.d.ts +7 -0
  62. package/bulleted-list/BulletedList.js +92 -0
  63. package/bulleted-list/BulletedList.stories.tsx +115 -0
  64. package/bulleted-list/types.d.ts +38 -0
  65. package/button/Button.accessibility.test.js +127 -0
  66. package/button/Button.d.ts +1 -1
  67. package/button/Button.js +63 -113
  68. package/button/Button.stories.tsx +151 -100
  69. package/button/Button.test.js +38 -0
  70. package/button/types.d.ts +12 -8
  71. package/card/Card.accessibility.test.js +36 -0
  72. package/card/Card.d.ts +1 -1
  73. package/card/Card.js +59 -102
  74. package/card/Card.stories.tsx +12 -42
  75. package/card/Card.test.js +39 -0
  76. package/card/types.d.ts +6 -11
  77. package/checkbox/Checkbox.accessibility.test.js +87 -0
  78. package/checkbox/Checkbox.d.ts +2 -2
  79. package/checkbox/Checkbox.js +143 -181
  80. package/checkbox/Checkbox.stories.tsx +166 -136
  81. package/checkbox/Checkbox.test.js +199 -0
  82. package/checkbox/types.d.ts +18 -6
  83. package/chip/Chip.accessibility.test.js +67 -0
  84. package/chip/Chip.js +45 -80
  85. package/chip/Chip.stories.tsx +107 -27
  86. package/chip/Chip.test.js +41 -0
  87. package/chip/types.d.ts +4 -4
  88. package/common/coreTokens.d.ts +237 -0
  89. package/common/coreTokens.js +184 -0
  90. package/common/utils.d.ts +1 -0
  91. package/common/utils.js +6 -12
  92. package/common/variables.d.ts +1392 -0
  93. package/common/variables.js +1080 -1427
  94. package/container/Container.d.ts +4 -0
  95. package/container/Container.js +194 -0
  96. package/container/Container.stories.tsx +214 -0
  97. package/container/types.d.ts +74 -0
  98. package/contextual-menu/ContextualMenu.accessibility.test.js +97 -0
  99. package/contextual-menu/ContextualMenu.d.ts +5 -0
  100. package/contextual-menu/ContextualMenu.js +88 -0
  101. package/contextual-menu/ContextualMenu.stories.tsx +232 -0
  102. package/contextual-menu/ContextualMenu.test.js +205 -0
  103. package/contextual-menu/GroupItem.d.ts +4 -0
  104. package/contextual-menu/GroupItem.js +67 -0
  105. package/contextual-menu/ItemAction.d.ts +4 -0
  106. package/contextual-menu/ItemAction.js +51 -0
  107. package/contextual-menu/MenuItem.d.ts +4 -0
  108. package/contextual-menu/MenuItem.js +29 -0
  109. package/contextual-menu/SingleItem.d.ts +4 -0
  110. package/contextual-menu/SingleItem.js +38 -0
  111. package/contextual-menu/types.d.ts +58 -0
  112. package/date-input/Calendar.d.ts +4 -0
  113. package/date-input/Calendar.js +214 -0
  114. package/date-input/DateInput.accessibility.test.js +228 -0
  115. package/date-input/DateInput.js +170 -306
  116. package/date-input/DateInput.stories.tsx +210 -56
  117. package/date-input/DateInput.test.js +808 -0
  118. package/date-input/DatePicker.d.ts +4 -0
  119. package/date-input/DatePicker.js +121 -0
  120. package/date-input/YearPicker.d.ts +4 -0
  121. package/date-input/YearPicker.js +100 -0
  122. package/date-input/types.d.ts +86 -22
  123. package/dialog/Dialog.accessibility.test.js +69 -0
  124. package/dialog/Dialog.d.ts +1 -1
  125. package/dialog/Dialog.js +56 -129
  126. package/dialog/Dialog.stories.tsx +326 -167
  127. package/dialog/Dialog.test.js +307 -0
  128. package/dialog/types.d.ts +18 -25
  129. package/divider/Divider.accessibility.test.js +33 -0
  130. package/divider/Divider.d.ts +4 -0
  131. package/divider/Divider.js +36 -0
  132. package/divider/Divider.stories.tsx +223 -0
  133. package/divider/Divider.test.js +38 -0
  134. package/divider/types.d.ts +21 -0
  135. package/divider/types.js +5 -0
  136. package/dropdown/Dropdown.accessibility.test.js +180 -0
  137. package/dropdown/Dropdown.d.ts +1 -1
  138. package/dropdown/Dropdown.js +233 -307
  139. package/dropdown/Dropdown.stories.tsx +235 -57
  140. package/dropdown/Dropdown.test.js +599 -0
  141. package/dropdown/DropdownMenu.d.ts +4 -0
  142. package/dropdown/DropdownMenu.js +63 -0
  143. package/dropdown/DropdownMenuItem.d.ts +4 -0
  144. package/dropdown/DropdownMenuItem.js +71 -0
  145. package/dropdown/types.d.ts +35 -19
  146. package/file-input/FileInput.accessibility.test.js +160 -0
  147. package/file-input/FileInput.d.ts +2 -2
  148. package/file-input/FileInput.js +246 -393
  149. package/file-input/FileInput.stories.tsx +123 -12
  150. package/file-input/FileInput.test.js +382 -0
  151. package/file-input/FileItem.d.ts +4 -14
  152. package/file-input/FileItem.js +61 -120
  153. package/file-input/types.d.ts +25 -8
  154. package/flex/Flex.d.ts +4 -0
  155. package/flex/Flex.js +57 -0
  156. package/flex/Flex.stories.tsx +112 -0
  157. package/flex/types.d.ts +97 -0
  158. package/flex/types.js +5 -0
  159. package/footer/Footer.accessibility.test.js +125 -0
  160. package/footer/Footer.d.ts +1 -1
  161. package/footer/Footer.js +73 -191
  162. package/footer/Footer.stories.tsx +99 -21
  163. package/footer/Footer.test.js +85 -0
  164. package/footer/Icons.d.ts +3 -2
  165. package/footer/Icons.js +54 -23
  166. package/footer/types.d.ts +26 -27
  167. package/grid/Grid.d.ts +7 -0
  168. package/grid/Grid.js +76 -0
  169. package/grid/Grid.stories.tsx +219 -0
  170. package/grid/types.d.ts +115 -0
  171. package/grid/types.js +5 -0
  172. package/header/Header.accessibility.test.js +93 -0
  173. package/header/Header.d.ts +4 -3
  174. package/header/Header.js +104 -218
  175. package/header/Header.stories.tsx +168 -63
  176. package/header/Header.test.js +66 -0
  177. package/header/Icons.d.ts +2 -2
  178. package/header/Icons.js +5 -15
  179. package/header/types.d.ts +7 -21
  180. package/heading/Heading.accessibility.test.js +33 -0
  181. package/heading/Heading.js +10 -32
  182. package/heading/Heading.test.js +169 -0
  183. package/heading/types.d.ts +7 -7
  184. package/icon/Icon.accessibility.test.js +30 -0
  185. package/icon/Icon.d.ts +4 -0
  186. package/icon/Icon.js +33 -0
  187. package/icon/Icon.stories.tsx +28 -0
  188. package/icon/types.d.ts +4 -0
  189. package/icon/types.js +5 -0
  190. package/image/Image.accessibility.test.js +56 -0
  191. package/image/Image.d.ts +4 -0
  192. package/image/Image.js +70 -0
  193. package/image/Image.stories.tsx +129 -0
  194. package/image/types.d.ts +72 -0
  195. package/image/types.js +5 -0
  196. package/inset/Inset.js +14 -55
  197. package/inset/Inset.stories.tsx +37 -36
  198. package/inset/types.d.ts +26 -2
  199. package/layout/ApplicationLayout.d.ts +16 -6
  200. package/layout/ApplicationLayout.js +88 -182
  201. package/layout/ApplicationLayout.stories.tsx +85 -94
  202. package/layout/Icons.d.ts +7 -0
  203. package/layout/Icons.js +41 -48
  204. package/layout/types.d.ts +19 -35
  205. package/link/Link.accessibility.test.js +108 -0
  206. package/link/Link.d.ts +3 -2
  207. package/link/Link.js +65 -101
  208. package/link/Link.stories.tsx +157 -55
  209. package/link/Link.test.js +63 -0
  210. package/link/types.d.ts +15 -31
  211. package/main.d.ts +19 -18
  212. package/main.js +84 -123
  213. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  214. package/nav-tabs/NavTabs.d.ts +7 -0
  215. package/nav-tabs/NavTabs.js +93 -0
  216. package/nav-tabs/NavTabs.stories.tsx +279 -0
  217. package/nav-tabs/NavTabs.test.js +77 -0
  218. package/nav-tabs/NavTabsContext.d.ts +3 -0
  219. package/nav-tabs/NavTabsContext.js +8 -0
  220. package/nav-tabs/Tab.d.ts +4 -0
  221. package/nav-tabs/Tab.js +117 -0
  222. package/nav-tabs/types.d.ts +52 -0
  223. package/nav-tabs/types.js +5 -0
  224. package/number-input/NumberInput.accessibility.test.js +228 -0
  225. package/number-input/NumberInput.js +47 -44
  226. package/number-input/NumberInput.stories.tsx +44 -28
  227. package/number-input/NumberInput.test.js +989 -0
  228. package/number-input/NumberInputContext.d.ts +3 -4
  229. package/number-input/NumberInputContext.js +3 -14
  230. package/number-input/types.d.ts +34 -15
  231. package/package.json +54 -53
  232. package/paginator/Paginator.accessibility.test.js +79 -0
  233. package/paginator/Paginator.js +46 -100
  234. package/paginator/Paginator.stories.tsx +24 -0
  235. package/paginator/Paginator.test.js +335 -0
  236. package/paginator/types.d.ts +3 -3
  237. package/paragraph/Paragraph.accessibility.test.js +28 -0
  238. package/paragraph/Paragraph.d.ts +5 -0
  239. package/paragraph/Paragraph.js +22 -0
  240. package/paragraph/Paragraph.stories.tsx +27 -0
  241. package/password-input/PasswordInput.accessibility.test.js +153 -0
  242. package/password-input/PasswordInput.js +58 -124
  243. package/password-input/PasswordInput.stories.tsx +1 -33
  244. package/password-input/PasswordInput.test.js +198 -0
  245. package/password-input/types.d.ts +21 -17
  246. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  247. package/progress-bar/ProgressBar.js +68 -92
  248. package/progress-bar/ProgressBar.stories.tsx +93 -0
  249. package/progress-bar/ProgressBar.test.js +93 -0
  250. package/progress-bar/types.d.ts +3 -3
  251. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  252. package/quick-nav/QuickNav.d.ts +4 -0
  253. package/quick-nav/QuickNav.js +94 -0
  254. package/quick-nav/QuickNav.stories.tsx +356 -0
  255. package/quick-nav/types.d.ts +21 -0
  256. package/quick-nav/types.js +5 -0
  257. package/radio-group/Radio.d.ts +1 -1
  258. package/radio-group/Radio.js +64 -80
  259. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  260. package/radio-group/RadioGroup.js +102 -139
  261. package/radio-group/RadioGroup.stories.tsx +171 -36
  262. package/radio-group/RadioGroup.test.js +691 -183
  263. package/radio-group/types.d.ts +89 -11
  264. package/resultset-table/Icons.d.ts +7 -0
  265. package/resultset-table/Icons.js +47 -0
  266. package/resultset-table/ResultsetTable.accessibility.test.js +285 -0
  267. package/resultset-table/ResultsetTable.d.ts +7 -0
  268. package/resultset-table/ResultsetTable.js +171 -0
  269. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +168 -30
  270. package/resultset-table/ResultsetTable.test.js +381 -0
  271. package/{resultsetTable → resultset-table}/types.d.ts +44 -11
  272. package/resultset-table/types.js +5 -0
  273. package/select/Listbox.d.ts +4 -0
  274. package/select/Listbox.js +155 -0
  275. package/select/Option.d.ts +4 -0
  276. package/select/Option.js +89 -0
  277. package/select/Select.accessibility.test.js +228 -0
  278. package/select/Select.js +243 -504
  279. package/select/Select.stories.tsx +602 -255
  280. package/select/Select.test.js +2265 -0
  281. package/select/types.d.ts +65 -26
  282. package/sidenav/Sidenav.accessibility.test.js +59 -0
  283. package/sidenav/Sidenav.d.ts +6 -5
  284. package/sidenav/Sidenav.js +136 -71
  285. package/sidenav/Sidenav.stories.tsx +246 -151
  286. package/sidenav/Sidenav.test.js +37 -0
  287. package/sidenav/SidenavContext.d.ts +5 -0
  288. package/sidenav/SidenavContext.js +13 -0
  289. package/sidenav/types.d.ts +52 -26
  290. package/slider/Slider.accessibility.test.js +104 -0
  291. package/slider/Slider.d.ts +2 -2
  292. package/slider/Slider.js +149 -180
  293. package/slider/Slider.test.js +254 -0
  294. package/slider/types.d.ts +11 -3
  295. package/spinner/Spinner.accessibility.test.js +96 -0
  296. package/spinner/Spinner.js +34 -74
  297. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  298. package/spinner/Spinner.test.js +55 -0
  299. package/spinner/types.d.ts +3 -3
  300. package/status-light/StatusLight.accessibility.test.js +157 -0
  301. package/status-light/StatusLight.d.ts +4 -0
  302. package/status-light/StatusLight.js +51 -0
  303. package/status-light/StatusLight.stories.tsx +74 -0
  304. package/status-light/StatusLight.test.js +25 -0
  305. package/status-light/types.d.ts +17 -0
  306. package/status-light/types.js +5 -0
  307. package/switch/Switch.accessibility.test.js +98 -0
  308. package/switch/Switch.d.ts +2 -2
  309. package/switch/Switch.js +149 -114
  310. package/switch/Switch.stories.tsx +56 -67
  311. package/switch/Switch.test.js +180 -0
  312. package/switch/types.d.ts +13 -5
  313. package/table/DropdownTheme.js +62 -0
  314. package/table/Table.accessibility.test.js +93 -0
  315. package/table/Table.d.ts +6 -2
  316. package/table/Table.js +78 -35
  317. package/table/Table.stories.tsx +663 -0
  318. package/table/Table.test.js +113 -0
  319. package/table/types.d.ts +34 -6
  320. package/tabs/Tab.d.ts +4 -0
  321. package/tabs/Tab.js +117 -0
  322. package/tabs/Tabs.accessibility.test.js +56 -0
  323. package/tabs/Tabs.d.ts +1 -1
  324. package/tabs/Tabs.js +305 -145
  325. package/tabs/Tabs.stories.tsx +124 -14
  326. package/tabs/Tabs.test.js +276 -0
  327. package/tabs/types.d.ts +31 -17
  328. package/tag/Tag.accessibility.test.js +69 -0
  329. package/tag/Tag.js +42 -79
  330. package/tag/Tag.stories.tsx +24 -10
  331. package/tag/Tag.test.js +41 -0
  332. package/tag/types.d.ts +9 -9
  333. package/text-input/Suggestion.d.ts +4 -0
  334. package/text-input/Suggestion.js +67 -0
  335. package/text-input/Suggestions.d.ts +4 -0
  336. package/text-input/Suggestions.js +94 -0
  337. package/text-input/TextInput.accessibility.test.js +321 -0
  338. package/text-input/TextInput.js +334 -557
  339. package/text-input/TextInput.stories.tsx +291 -273
  340. package/text-input/TextInput.test.js +1756 -0
  341. package/text-input/types.d.ts +70 -24
  342. package/textarea/Textarea.accessibility.test.js +155 -0
  343. package/textarea/Textarea.js +86 -135
  344. package/textarea/Textarea.stories.tsx +174 -0
  345. package/textarea/Textarea.test.js +406 -0
  346. package/textarea/types.d.ts +27 -16
  347. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  348. package/toggle-group/ToggleGroup.d.ts +2 -2
  349. package/toggle-group/ToggleGroup.js +94 -106
  350. package/toggle-group/ToggleGroup.stories.tsx +56 -11
  351. package/toggle-group/ToggleGroup.test.js +137 -0
  352. package/toggle-group/types.d.ts +36 -19
  353. package/typography/Typography.accessibility.test.js +339 -0
  354. package/typography/Typography.d.ts +4 -0
  355. package/typography/Typography.js +23 -0
  356. package/typography/Typography.stories.tsx +198 -0
  357. package/typography/types.d.ts +18 -0
  358. package/typography/types.js +5 -0
  359. package/useTheme.d.ts +1144 -1
  360. package/useTheme.js +4 -11
  361. package/useTranslatedLabels.d.ts +85 -0
  362. package/useTranslatedLabels.js +14 -0
  363. package/utils/BaseTypography.d.ts +21 -0
  364. package/utils/BaseTypography.js +94 -0
  365. package/utils/FocusLock.d.ts +13 -0
  366. package/utils/FocusLock.js +124 -0
  367. package/wizard/Wizard.accessibility.test.js +55 -0
  368. package/wizard/Wizard.d.ts +1 -1
  369. package/wizard/Wizard.js +78 -120
  370. package/wizard/Wizard.stories.tsx +67 -19
  371. package/wizard/Wizard.test.js +114 -0
  372. package/wizard/types.d.ts +14 -10
  373. package/ThemeContext.d.ts +0 -15
  374. package/ThemeContext.js +0 -243
  375. package/V3Select/V3Select.js +0 -455
  376. package/V3Select/index.d.ts +0 -27
  377. package/V3Textarea/V3Textarea.js +0 -260
  378. package/V3Textarea/index.d.ts +0 -27
  379. package/card/ice-cream.jpg +0 -0
  380. package/common/OpenSans.css +0 -81
  381. package/common/RequiredComponent.js +0 -32
  382. package/common/fonts/OpenSans-Bold.ttf +0 -0
  383. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  384. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  385. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  386. package/common/fonts/OpenSans-Italic.ttf +0 -0
  387. package/common/fonts/OpenSans-Light.ttf +0 -0
  388. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  389. package/common/fonts/OpenSans-Regular.ttf +0 -0
  390. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  391. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  392. package/date/Date.js +0 -373
  393. package/date/index.d.ts +0 -27
  394. package/input-text/Icons.js +0 -22
  395. package/input-text/InputText.js +0 -611
  396. package/input-text/index.d.ts +0 -36
  397. package/list/List.d.ts +0 -4
  398. package/list/List.js +0 -47
  399. package/list/List.stories.tsx +0 -95
  400. package/list/types.d.ts +0 -7
  401. package/number-input/numberInputContextTypes.d.ts +0 -19
  402. package/paginator/Icons.js +0 -66
  403. package/progress-bar/ProgressBar.stories.jsx +0 -58
  404. package/radio/Radio.d.ts +0 -4
  405. package/radio/Radio.js +0 -174
  406. package/radio/Radio.stories.tsx +0 -192
  407. package/radio/types.d.ts +0 -54
  408. package/resultsetTable/ResultsetTable.d.ts +0 -4
  409. package/resultsetTable/ResultsetTable.js +0 -254
  410. package/row/Row.d.ts +0 -3
  411. package/row/Row.js +0 -127
  412. package/row/Row.stories.tsx +0 -237
  413. package/row/types.d.ts +0 -10
  414. package/slider/Slider.stories.tsx +0 -177
  415. package/stack/Stack.d.ts +0 -3
  416. package/stack/Stack.js +0 -97
  417. package/stack/Stack.stories.tsx +0 -164
  418. package/stack/types.d.ts +0 -9
  419. package/table/Table.stories.jsx +0 -277
  420. package/text/Text.d.ts +0 -7
  421. package/text/Text.js +0 -30
  422. package/text/Text.stories.tsx +0 -19
  423. package/textarea/Textarea.stories.jsx +0 -136
  424. package/toggle/Toggle.js +0 -186
  425. package/toggle/index.d.ts +0 -21
  426. package/upload/Upload.js +0 -201
  427. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  428. package/upload/buttons-upload/Icons.js +0 -40
  429. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  430. package/upload/dragAndDropArea/Icons.js +0 -39
  431. package/upload/file-upload/FileToUpload.js +0 -115
  432. package/upload/file-upload/Icons.js +0 -66
  433. package/upload/files-upload/FilesToUpload.js +0 -109
  434. package/upload/index.d.ts +0 -15
  435. package/upload/transaction/Icons.js +0 -160
  436. package/upload/transaction/Transaction.js +0 -104
  437. package/upload/transactions/Transactions.js +0 -94
  438. /package/{list → action-icon}/types.js +0 -0
  439. /package/{radio → badge}/types.js +0 -0
  440. /package/{resultsetTable → breadcrumbs}/types.js +0 -0
  441. /package/{row → bulleted-list}/types.js +0 -0
  442. /package/{stack → container}/types.js +0 -0
  443. /package/{number-input/numberInputContextTypes.js → contextual-menu/types.js} +0 -0
@@ -0,0 +1,356 @@
1
+ import React from "react";
2
+ import styled from "styled-components";
3
+ import DxcQuickNav from "./QuickNav";
4
+ import DxcHeading from "../heading/Heading";
5
+ import DxcParagraph from "../paragraph/Paragraph";
6
+ import Title from "../../.storybook/components/Title";
7
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
8
+ import { HalstackProvider } from "../HalstackContext";
9
+
10
+ export default {
11
+ title: "Quick Nav",
12
+ component: DxcQuickNav,
13
+ };
14
+
15
+ const opinionatedTheme = {
16
+ quickNav: {
17
+ fontColor: "#666666",
18
+ accentColor: "#9a6bb2",
19
+ },
20
+ };
21
+
22
+ const defaultLinks = [
23
+ {
24
+ label: "Overview",
25
+ },
26
+ {
27
+ label: "Principles",
28
+ links: [{ label: "Color" }, { label: "Spacing" }, { label: "Typography" }],
29
+ },
30
+ {
31
+ label: "Components",
32
+ links: [
33
+ {
34
+ label: "Accordion",
35
+ },
36
+ {
37
+ label: "Button",
38
+ },
39
+ ],
40
+ },
41
+ ];
42
+
43
+ const links = [
44
+ {
45
+ label: "Overview",
46
+ links: [
47
+ {
48
+ label: "Introduction",
49
+ },
50
+ ],
51
+ },
52
+ {
53
+ label: "Components",
54
+ links: [
55
+ {
56
+ label: "Introduction",
57
+ },
58
+ {
59
+ label: "Accordion",
60
+ },
61
+ ],
62
+ },
63
+ {
64
+ label: "Principles very very very very very very very very long",
65
+ links: [
66
+ { label: "Color very very very very very very very very long" },
67
+ { label: "Spacingveryveryveryveryveryveryveryverylong" },
68
+ { label: "Typography" },
69
+ ],
70
+ },
71
+ {
72
+ label: "Componentsveryveryveryveryveryveryveryverylong",
73
+ links: [
74
+ {
75
+ label: "Accordion",
76
+ },
77
+ ],
78
+ },
79
+ ];
80
+
81
+ export const Chromatic = () => (
82
+ <>
83
+ <ExampleContainer>
84
+ <Title title="Default" level={4} />
85
+ <QuickNavContainer>
86
+ <DxcQuickNav links={defaultLinks} />
87
+ </QuickNavContainer>
88
+ </ExampleContainer>
89
+ <ExampleContainer>
90
+ <Title title="Text overflow" level={4} />
91
+ <QuickNavContainer>
92
+ <DxcQuickNav links={links} />
93
+ </QuickNavContainer>
94
+ </ExampleContainer>
95
+ <ExampleContainer pseudoState="pseudo-hover">
96
+ <Title title="Link hovered" level={4} />
97
+ <QuickNavContainer>
98
+ <DxcQuickNav links={links} />
99
+ </QuickNavContainer>
100
+ </ExampleContainer>
101
+ <ExampleContainer pseudoState="pseudo-focus">
102
+ <Title title="Link focus" level={4} />
103
+ <QuickNavContainer>
104
+ <DxcQuickNav links={links} />
105
+ </QuickNavContainer>
106
+ </ExampleContainer>
107
+ <ExampleContainer>
108
+ <Title title="QuickNav with content" level={4} />
109
+ <Container>
110
+ <ContentContainer>
111
+ <Content id="overview">
112
+ <DxcHeading level={1} text="Overview" margin={{ bottom: "small" }} />
113
+ <DxcParagraph>
114
+ Halstack is the DXC Technology's open source design system for insurance products and digital experiences.
115
+ Our system provides all the tools and resources needed to create superior, beautiful but above all,
116
+ functional user experiences. Halstack is the DXC Technology's open source design system for insurance
117
+ products and digital experiences. Our system provides all the tools and resources needed to create
118
+ superior, beautiful but above all, functional user experiences.Halstack is the DXC Technology's open
119
+ source design system for insurance products and digital experiences. Our system provides all the tools and
120
+ resources needed to create superior, beautiful but above all, functional user experiences.Halstack is the
121
+ DXC Technology's open source design system for insurance products and digital experiences. Our system
122
+ provides all the tools and resources needed to create superior, beautiful but above all, functional user
123
+ experiences.Halstack is the DXC Technology's open source design system for insurance products and digital
124
+ experiences. Our system provides all the tools and resources needed to create superior, beautiful but
125
+ above all, functional user experiences.Halstack is the DXC Technology's open source design system for
126
+ insurance products and digital experiences. Our system provides all the tools and resources needed to
127
+ create superior, beautiful but above all, functional user experiences.Halstack is the DXC Technology's
128
+ open source design system for insurance products and digital experiences. Our system provides all the
129
+ tools and resources needed to create superior, beautiful but above all, functional user experiences.
130
+ </DxcParagraph>
131
+ <Content id="overview-introduction">
132
+ <DxcHeading level={2} text="Introduction" margin={{ top: "xsmall", bottom: "xsmall" }} />
133
+ <DxcParagraph>
134
+ Design principles Halstack design principles are the fundamental part of DXC Technology's approach to
135
+ provide guidance for development teams in order to deliver delightful and consistent user experiences to
136
+ our customers: Balance Consistency Visual hierarchy All our components, design tokens, accessibility
137
+ guidelines, responsive design techniques, and layout proposals have been carefully curated by DXC design
138
+ and engineering teams with the objective of creating a unique visual language and ecosystem for our
139
+ applications. This is the DXC way of creating User Experiences. Open Source Halstack is an open source
140
+ design system, this means that we work towards DXC Technology bussines needs, but it is open for anyone
141
+ to use and contribute back to. We are charmed to receive external contributions to help us find bugs,
142
+ design new features, or help us improve the project documentation. If you're interested, definitely
143
+ check out our contribution guidelines.Design principles Halstack design principles are the fundamental
144
+ part of DXC Technology's approach to provide guidance for development teams in order to deliver
145
+ delightful and consistent user experiences to our customers: Balance Consistency Visual hierarchy All
146
+ our components, design tokens, accessibility guidelines, responsive design techniques, and layout
147
+ proposals have been carefully curated by DXC design and engineering teams with the objective of creating
148
+ a unique visual language and ecosystem for our applications. This is the DXC way of creating User
149
+ Experiences. Open Source Halstack is an open source design system, this means that we work towards DXC
150
+ Technology bussines needs, but it is open for anyone to use and contribute back to. We are charmed to
151
+ receive external contributions to help us find bugs, design new features, or help us improve the project
152
+ documentation. If you're interested, definitely check out our contribution guidelines.Design principles
153
+ Halstack design principles are the fundamental part of DXC Technology's approach to provide guidance for
154
+ development teams in order to deliver delightful and consistent user experiences to our customers:
155
+ Balance Consistency Visual hierarchy All our components, design tokens, accessibility guidelines,
156
+ responsive design techniques, and layout proposals have been carefully curated by DXC design and
157
+ engineering teams with the objective of creating a unique visual language and ecosystem for our
158
+ applications. This is the DXC way of creating User Experiences. Open Source Halstack is an open source
159
+ design system, this means that we work towards DXC Technology bussines needs, but it is open for anyone
160
+ to use and contribute back to. We are charmed to receive external contributions to help us find bugs,
161
+ design new features, or help us improve the project documentation. If you're interested, definitely
162
+ check out our contribution guidelines.
163
+ </DxcParagraph>
164
+ </Content>
165
+ </Content>
166
+ <Content id="components">
167
+ <DxcHeading level={1} text="Components" margin={{ top: "small", bottom: "xsmall" }} />
168
+ <Content id="components-introduction">
169
+ <DxcHeading level={2} text="Introduction" margin={{ top: "xsmall", bottom: "xsmall" }} />
170
+ <DxcParagraph>
171
+ Design principles Halstack design principles are the fundamental part of DXC Technology's approach to
172
+ provide guidance for development teams in order to deliver delightful and consistent user experiences to
173
+ our customers: Balance Consistency Visual hierarchy All our components, design tokens, accessibility
174
+ guidelines, responsive design techniques, and layout proposals have been carefully curated by DXC design
175
+ and engineering teams with the objective of creating a unique visual language and ecosystem for our
176
+ applications. This is the DXC way of creating User Experiences. Open Source Halstack is an open source
177
+ design system, this means that we work towards DXC Technology bussines needs, but it is open for anyone
178
+ to use and contribute back to. We are charmed to receive external contributions to help us find bugs,
179
+ design new features, or help us improve the project documentation. If you're interested, definitely
180
+ check out our contribution guidelines.Design principles Halstack design principles are the fundamental
181
+ part of DXC Technology's approach to provide guidance for development teams in order to deliver
182
+ delightful and consistent user experiences to our customers: Balance Consistency Visual hierarchy All
183
+ our components, design tokens, accessibility guidelines, responsive design techniques, and layout
184
+ proposals have been carefully curated by DXC design and engineering teams with the objective of creating
185
+ a unique visual language and ecosystem for our applications. This is the DXC way of creating User
186
+ Experiences. Open Source Halstack is an open source design system, this means that we work towards DXC
187
+ Technology bussines needs, but it is open for anyone to use and contribute back to. We are charmed to
188
+ receive external contributions to help us find bugs, design new features, or help us improve the project
189
+ documentation. If you're interested, definitely check out our contribution guidelines.Design principles
190
+ Halstack design principles are the fundamental part of DXC Technology's approach to provide guidance for
191
+ development teams in order to deliver delightful and consistent user experiences to our customers:
192
+ Balance Consistency Visual hierarchy All our components, design tokens, accessibility guidelines,
193
+ responsive design techniques, and layout proposals have been carefully curated by DXC design and
194
+ engineering teams with the objective of creating a unique visual language and ecosystem for our
195
+ applications. This is the DXC way of creating User Experiences. Open Source Halstack is an open source
196
+ design system, this means that we work towards DXC Technology bussines needs, but it is open for anyone
197
+ to use and contribute back to. We are charmed to receive external contributions to help us find bugs,
198
+ design new features, or help us improve the project documentation. If you're interested, definitely
199
+ check out our contribution guidelines.
200
+ </DxcParagraph>
201
+ </Content>
202
+ <Content id="components-accordion">
203
+ <DxcHeading level={2} text="Accordion" margin={{ top: "xsmall", bottom: "xsmall" }} />
204
+ <DxcParagraph>
205
+ Accordions are used to group similar content and hide or show it depending on user needs or preferences.
206
+ Accordions give users more granular control over the interface and help digest content in stages, rather
207
+ than all at once.
208
+ </DxcParagraph>
209
+ </Content>
210
+ </Content>
211
+ <Content id="principles-very-very-very-very-very-very-very-very-long">
212
+ <DxcHeading level={1} text="Principles" margin={{ top: "small", bottom: "xsmall" }} />
213
+ <Content id="principles-very-very-very-very-very-very-very-very-long-color-very-very-very-very-very-very-very-very-long">
214
+ <DxcHeading level={2} text="Color" margin={{ top: "xsmall", bottom: "xsmall" }} />
215
+ <DxcParagraph>
216
+ The color palette is an essential asset as a communication resource of our design system. Halstack color
217
+ palette brings a unified consistency and helps in guiding the user's perception order. Our color palette
218
+ is based in the HSL model . All our color families are calculated using the lightness value of the
219
+ standard DXC palette colors. Color Tokens Halstack uses tokens to manage color. Appart from a
220
+ multi-purpose greyscale family, purple and blue are the core color families used in our set of
221
+ components. Additional families as red, green and yellow help as feedback role-based color palettes and
222
+ must not be used outside this context.The color palette is an essential asset as a communication
223
+ resource of our design system. Halstack color palette brings a unified consistency and helps in guiding
224
+ the user's perception order. Our color palette is based in the HSL model . All our color families are
225
+ calculated using the lightness value of the standard DXC palette colors. Color Tokens Halstack uses
226
+ tokens to manage color. Appart from a multi-purpose greyscale family, purple and blue are the core color
227
+ families used in our set of components. Additional families as red, green and yellow help as feedback
228
+ role-based color palettes and must not be used outside this context.The color palette is an essential
229
+ asset as a communication resource of our design system. Halstack color palette brings a unified
230
+ consistency and helps in guiding the user's perception order. Our color palette is based in the HSL
231
+ model . All our color families are calculated using the lightness value of the standard DXC palette
232
+ colors. Color Tokens Halstack uses tokens to manage color. Appart from a multi-purpose greyscale family,
233
+ purple and blue are the core color families used in our set of components. Additional families as red,
234
+ green and yellow help as feedback role-based color palettes and must not be used outside this
235
+ context.The color palette is an essential asset as a communication resource of our design system.
236
+ Halstack color palette brings a unified consistency and helps in guiding the user's perception order.
237
+ Our color palette is based in the HSL model . All our color families are calculated using the lightness
238
+ value of the standard DXC palette colors. Color Tokens Halstack uses tokens to manage color. Appart from
239
+ a multi-purpose greyscale family, purple and blue are the core color families used in our set of
240
+ components. Additional families as red, green and yellow help as feedback role-based color palettes and
241
+ must not be used outside this context.The color palette is an essential asset as a communication
242
+ resource of our design system. Halstack color palette brings a unified consistency and helps in guiding
243
+ the user's perception order. Our color palette is based in the HSL model . All our color families are
244
+ calculated using the lightness value of the standard DXC palette colors. Color Tokens Halstack uses
245
+ tokens to manage color. Appart from a multi-purpose greyscale family, purple and blue are the core color
246
+ families used in our set of components. Additional families as red, green and yellow help as feedback
247
+ role-based color palettes and must not be used outside this context.
248
+ </DxcParagraph>
249
+ </Content>
250
+ <Content id="principles-very-very-very-very-very-very-very-very-long-spacingveryveryveryveryveryveryveryverylong">
251
+ <DxcHeading level={2} text="Spacing" margin={{ top: "xsmall", bottom: "xsmall" }} />
252
+ <DxcParagraph>
253
+ In the search of consistent alignment between the elements we provide a spacing scale based on a root
254
+ values of 8px and 4px. The numbers 4 and 8 are easily multiplied, they provide flexible and consistent,
255
+ yet distinct enough, steps between them.In the search of consistent alignment between the elements we
256
+ provide a spacing scale based on a root values of 8px and 4px. The numbers 4 and 8 are easily
257
+ multiplied, they provide flexible and consistent, yet distinct enough, steps between them.In the search
258
+ of consistent alignment between the elements we provide a spacing scale based on a root values of 8px
259
+ and 4px. The numbers 4 and 8 are easily multiplied, they provide flexible and consistent, yet distinct
260
+ enough, steps between them.In the search of consistent alignment between the elements we provide a
261
+ spacing scale based on a root values of 8px and 4px. The numbers 4 and 8 are easily multiplied, they
262
+ provide flexible and consistent, yet distinct enough, steps between them.In the search of consistent
263
+ alignment between the elements we provide a spacing scale based on a root values of 8px and 4px. The
264
+ numbers 4 and 8 are easily multiplied, they provide flexible and consistent, yet distinct enough, steps
265
+ between them.In the search of consistent alignment between the elements we provide a spacing scale based
266
+ on a root values of 8px and 4px. The numbers 4 and 8 are easily multiplied, they provide flexible and
267
+ consistent, yet distinct enough, steps between them.In the search of consistent alignment between the
268
+ elements we provide a spacing scale based on a root values of 8px and 4px. The numbers 4 and 8 are
269
+ easily multiplied, they provide flexible and consistent, yet distinct enough, steps between them.
270
+ </DxcParagraph>
271
+ </Content>
272
+ <Content id="principles-very-very-very-very-very-very-very-very-long-typography">
273
+ <DxcHeading level={2} text="Typography" margin={{ top: "xsmall", bottom: "xsmall" }} />
274
+ <DxcParagraph>
275
+ Our selected typography helps in structuring our user's experience based on the visual impact that it
276
+ has on the user interface content. It defines what is the first noticeable piece of information or data
277
+ based on the font shape, size, color, or type and it highlights some pieces of text over the rest. Some
278
+ typographic elements used in Halstack Design System include headers, body, taglines, captions, and
279
+ labels. Make sure you include all the different typographic variants in order to enhance the
280
+ application's content structure, including the Heading component which defines different levels of page
281
+ and section titles.Our selected typography helps in structuring our user's experience based on the
282
+ visual impact that it has on the user interface content. It defines what is the first noticeable piece
283
+ of information or data based on the font shape, size, color, or type and it highlights some pieces of
284
+ text over the rest. Some typographic elements used in Halstack Design System include headers, body,
285
+ taglines, captions, and labels. Make sure you include all the different typographic variants in order to
286
+ enhance the application's content structure, including the Heading component which defines different
287
+ levels of page and section titles.Our selected typography helps in structuring our user's experience
288
+ based on the visual impact that it has on the user interface content. It defines what is the first
289
+ noticeable piece of information or data based on the font shape, size, color, or type and it highlights
290
+ some pieces of text over the rest. Some typographic elements used in Halstack Design System include
291
+ headers, body, taglines, captions, and labels. Make sure you include all the different typographic
292
+ variants in order to enhance the application's content structure, including the Heading component which
293
+ defines different levels of page and section titles.Our selected typography helps in structuring our
294
+ user's experience based on the visual impact that it has on the user interface content. It defines what
295
+ is the first noticeable piece of information or data based on the font shape, size, color, or type and
296
+ it highlights some pieces of text over the rest. Some typographic elements used in Halstack Design
297
+ System include headers, body, taglines, captions, and labels. Make sure you include all the different
298
+ typographic variants in order to enhance the application's content structure, including the Heading
299
+ component which defines different levels of page and section titles.Our selected typography helps in
300
+ structuring our user's experience based on the visual impact that it has on the user interface content.
301
+ It defines what is the first noticeable piece of information or data based on the font shape, size,
302
+ color, or type and it highlights some pieces of text over the rest. Some typographic elements used in
303
+ Halstack Design System include headers, body, taglines, captions, and labels. Make sure you include all
304
+ the different typographic variants in order to enhance the application's content structure, including
305
+ the Heading component which defines different levels of page and section titles.
306
+ </DxcParagraph>
307
+ </Content>
308
+ </Content>
309
+ <Content id="componentsveryveryveryveryveryveryveryverylong">
310
+ <DxcHeading level={1} text="Components" margin={{ top: "small", bottom: "xsmall" }} />
311
+ <Content id="componentsveryveryveryveryveryveryveryverylong-accordion">
312
+ <DxcHeading level={2} text="Accordion" margin={{ top: "xsmall", bottom: "xsmall" }} />
313
+ <DxcParagraph>
314
+ Accordions are used to group similar content and hide or show it depending on user needs or preferences.
315
+ Accordions give users more granular control over the interface and help digest content in stages, rather
316
+ than all at once.
317
+ </DxcParagraph>
318
+ </Content>
319
+ </Content>
320
+ </ContentContainer>
321
+ <QuickNavContainer>
322
+ <DxcQuickNav title="Sections" links={links} />
323
+ </QuickNavContainer>
324
+ </Container>
325
+ </ExampleContainer>
326
+ <Title title="Opinionated theme" level={2} />
327
+ <ExampleContainer>
328
+ <HalstackProvider theme={opinionatedTheme}>
329
+ <DxcQuickNav links={defaultLinks} />
330
+ </HalstackProvider>
331
+ </ExampleContainer>
332
+ </>
333
+ );
334
+
335
+ const Container = styled.div`
336
+ display: flex;
337
+ flex-direction: row;
338
+ width: 100%;
339
+ `;
340
+
341
+ const ContentContainer = styled.div`
342
+ display: flex;
343
+ flex-direction: column;
344
+ padding: 60px;
345
+ margin: 0 auto;
346
+ width: 800px;
347
+ `;
348
+
349
+ const Content = styled.div``;
350
+
351
+ const QuickNavContainer = styled.div`
352
+ max-height: calc(100vh - 100px);
353
+ position: sticky;
354
+ top: 100px;
355
+ width: 300px;
356
+ `;
@@ -0,0 +1,21 @@
1
+ type Link = {
2
+ /**
3
+ * Label to be shown in the link.
4
+ */
5
+ label: string;
6
+ /**
7
+ * Sublinks of the link.
8
+ */
9
+ links?: Link[];
10
+ };
11
+ type Props = {
12
+ /**
13
+ * Title of the quick nav component.
14
+ */
15
+ title?: string;
16
+ /**
17
+ * Links to be shown inside the quick nav component.
18
+ */
19
+ links: Link[];
20
+ };
21
+ export default Props;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -1,4 +1,4 @@
1
1
  import React from "react";
2
2
  import { RadioProps } from "./types";
3
- declare const _default: React.MemoExoticComponent<({ option, currentValue, onClick, onFocus, error, disabled, focused, readonly, }: RadioProps) => JSX.Element>;
3
+ declare const _default: React.MemoExoticComponent<({ label, checked, onClick, error, disabled, focused, readOnly, tabIndex, }: RadioProps) => JSX.Element>;
4
4
  export default _default;
@@ -1,125 +1,101 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
9
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
-
14
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
-
16
11
  var _react = _interopRequireWildcard(require("react"));
17
-
18
12
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
19
-
20
13
  var _uuid = require("uuid");
21
-
22
14
  var _useTheme = _interopRequireDefault(require("../useTheme"));
23
-
24
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
25
-
26
- 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); }
27
-
28
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(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; }
29
-
15
+ var _Flex = _interopRequireDefault(require("../flex/Flex"));
16
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
17
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
18
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
30
19
  var DxcRadio = function DxcRadio(_ref) {
31
- var option = _ref.option,
32
- currentValue = _ref.currentValue,
33
- _onClick = _ref.onClick,
34
- onFocus = _ref.onFocus,
35
- error = _ref.error,
36
- disabled = _ref.disabled,
37
- focused = _ref.focused,
38
- readonly = _ref.readonly;
39
-
20
+ var label = _ref.label,
21
+ checked = _ref.checked,
22
+ onClick = _ref.onClick,
23
+ error = _ref.error,
24
+ disabled = _ref.disabled,
25
+ focused = _ref.focused,
26
+ readOnly = _ref.readOnly,
27
+ tabIndex = _ref.tabIndex;
40
28
  var _useState = (0, _react.useState)("radio-".concat((0, _uuid.v4)())),
41
- _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
42
- radioLabelId = _useState2[0];
43
-
29
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
30
+ radioLabelId = _useState2[0];
44
31
  var ref = (0, _react.useRef)(null);
45
32
  var colorsTheme = (0, _useTheme["default"])();
46
- var checked = option.value === currentValue;
47
-
48
- var _useState3 = (0, _react.useState)(true),
49
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
50
- firstUpdate = _useState4[0],
51
- setFirstUpdate = _useState4[1];
52
-
53
- (0, _react.useLayoutEffect)(function () {
33
+ var handleOnClick = function handleOnClick() {
54
34
  var _ref$current;
55
-
35
+ onClick();
36
+ document.activeElement !== (ref === null || ref === void 0 ? void 0 : ref.current) && (ref === null || ref === void 0 ? void 0 : (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.focus());
37
+ };
38
+ var _useState3 = (0, _react.useState)(true),
39
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
40
+ firstUpdate = _useState4[0],
41
+ setFirstUpdate = _useState4[1];
42
+ (0, _react.useEffect)(function () {
43
+ var _ref$current2;
56
44
  // Don't apply in the first render
57
45
  if (firstUpdate) {
58
46
  setFirstUpdate(false);
59
47
  return;
60
48
  }
61
-
62
- focused && (ref === null || ref === void 0 ? void 0 : (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.focus());
49
+ focused && (ref === null || ref === void 0 ? void 0 : (_ref$current2 = ref.current) === null || _ref$current2 === void 0 ? void 0 : _ref$current2.focus());
63
50
  }, [focused]);
64
51
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
65
52
  theme: colorsTheme.radioGroup
66
- }, /*#__PURE__*/_react["default"].createElement(RadioMainContainer, null, /*#__PURE__*/_react["default"].createElement(RadioContainer, {
53
+ }, /*#__PURE__*/_react["default"].createElement(_Flex["default"], null, /*#__PURE__*/_react["default"].createElement(RadioContainer, {
67
54
  error: error,
68
55
  disabled: disabled,
69
- readonly: readonly,
70
- onMouseDown: function onMouseDown(event) {
71
- // Prevents div's onclick from stealing the radio button's focus
72
- event.preventDefault();
73
- },
74
- onClick: function onClick() {
75
- var _ref$current2;
76
-
77
- ref === null || ref === void 0 ? void 0 : (_ref$current2 = ref.current) === null || _ref$current2 === void 0 ? void 0 : _ref$current2.focus();
78
-
79
- _onClick();
80
- }
56
+ readOnly: readOnly,
57
+ onClick: disabled ? undefined : handleOnClick
81
58
  }, /*#__PURE__*/_react["default"].createElement(RadioInputContainer, null, /*#__PURE__*/_react["default"].createElement(RadioInput, {
82
59
  error: error,
83
60
  disabled: disabled,
84
- readonly: readonly,
85
- onFocus: onFocus,
61
+ readOnly: readOnly,
86
62
  role: "radio",
87
63
  "aria-checked": checked,
88
- "aria-disabled": option.disabled,
64
+ "aria-disabled": disabled,
89
65
  "aria-labelledby": radioLabelId,
90
- tabIndex: disabled ? -1 : focused ? 0 : -1,
66
+ tabIndex: disabled ? -1 : focused ? tabIndex : -1,
91
67
  ref: ref
92
68
  }, checked && /*#__PURE__*/_react["default"].createElement(Dot, {
93
69
  disabled: disabled,
94
- readonly: readonly,
70
+ readOnly: readOnly,
95
71
  error: error
96
72
  }))), /*#__PURE__*/_react["default"].createElement(Label, {
97
73
  id: radioLabelId,
98
74
  disabled: disabled
99
- }, option.label))));
75
+ }, label))));
100
76
  };
101
-
102
- var RadioMainContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n"])));
103
-
104
- var RadioContainer = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n align-items: center;\n cursor: ", ";\n \n ", "\n"])), function (props) {
105
- return props.disabled ? "not-allowed" : props.readonly ? "default" : "pointer";
77
+ var getRadioInputStateColor = function getRadioInputStateColor(props, state) {
78
+ switch (state) {
79
+ case "enabled":
80
+ return props.disabled ? props.theme.disabledRadioInputColor : props.error ? props.theme.errorRadioInputColor : props.readOnly ? props.theme.readOnlyRadioInputColor : props.theme.radioInputColor;
81
+ case "hover":
82
+ return props.error ? props.theme.hoverErrorRadioInputColor : props.readOnly ? props.theme.hoverReadOnlyRadioInputColor : props.theme.hoverRadioInputColor;
83
+ case "active":
84
+ return props.error ? props.theme.activeErrorRadioInputColor : props.readOnly ? props.theme.activeReadOnlyRadioInputColor : props.theme.activeRadioInputColor;
85
+ }
86
+ };
87
+ var RadioInputContainer = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n height: 24px;\n width: 24px;\n"])));
88
+ var RadioInput = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 18px;\n height: 18px;\n border: 2px solid ", ";\n border-radius: 50%;\n\n &:focus {\n outline: 2px solid ", ";\n outline-offset: 1px;\n }\n ", "\n"])), function (props) {
89
+ return getRadioInputStateColor(props, "enabled");
106
90
  }, function (props) {
107
- return !props.disabled && "\n &:hover {\n & > div > div { \n border-color: ".concat(props.error ? props.theme.hoverErrorRadioInputColor : props.readonly ? props.theme.hoverReadonlyRadioInputColor : props.theme.hoverRadioInputColor, ";\n & > span {\n background-color: ").concat(props.error ? props.theme.hoverErrorRadioInputColor : props.readonly ? props.theme.hoverReadonlyRadioInputColor : props.theme.hoverRadioInputColor, ";\n }\n };\n }\n &:active {\n & > div > div {\n border-color: ").concat(props.error ? props.theme.activeErrorRadioInputColor : props.readonly ? props.theme.activeReadonlyRadioInputColor : props.theme.activeRadioInputColor, ";\n & > span {\n background-color: ").concat(props.error ? props.theme.activeErrorRadioInputColor : props.readonly ? props.theme.activeReadonlyRadioInputColor : props.theme.activeRadioInputColor, ";\n }\n }\n }\n ");
108
- });
109
-
110
- var RadioInputContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n height: 24px;\n width: 24px;\n"])));
111
-
112
- var RadioInput = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n width: 18px;\n height: 18px;\n border: 2px solid\n ", ";\n border-radius: 50%;\n box-shadow: 0 0 0 2px transparent;\n\n ", "\n"])), function (props) {
113
- if (props.disabled) return props.theme.disabledRadioInputColor;else if (props.error) return props.theme.errorRadioInputColor;else if (props.readonly) return props.theme.readonlyRadioInputColor;else return props.theme.radioInputColor;
91
+ return props.theme.focusBorderColor;
114
92
  }, function (props) {
115
- return !props.disabled ? "&:focus {\n outline: 2px solid ".concat(props.theme.focusBorderColor, ";\n outline-offset: 1px;\n }\n &:focus-visible {\n outline: 2px solid ").concat(props.theme.focusBorderColor, ";\n outline-offset: 1px;\n }\n ") : "\n pointer-events: none;\n :focus-visible {\n outline: none;\n }\n ";
93
+ return props.disabled && "pointer-events: none;";
116
94
  });
117
-
118
- var Dot = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n height: 10px;\n width: 10px;\n border-radius: 50%;\n background-color: ", ";\n"])), function (props) {
119
- if (props.disabled) return props.theme.disabledRadioInputColor;else if (props.error) return props.theme.errorRadioInputColor;else if (props.readonly) return props.theme.readonlyRadioInputColor;else return props.theme.radioInputColor;
95
+ var Dot = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n height: 10px;\n width: 10px;\n border-radius: 50%;\n background-color: ", ";\n"])), function (props) {
96
+ return getRadioInputStateColor(props, "enabled");
120
97
  });
121
-
122
- var Label = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n ", "\n"])), function (props) {
98
+ var Label = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n ", "\n"])), function (props) {
123
99
  return props.theme.radioInputLabelMargin;
124
100
  }, function (props) {
125
101
  return props.theme.fontFamily;
@@ -132,9 +108,17 @@ var Label = _styledComponents["default"].span(_templateObject6 || (_templateObje
132
108
  }, function (props) {
133
109
  return props.theme.radioInputLabelLineHeight;
134
110
  }, function (props) {
135
- return props.disabled && "color: ".concat(props.theme.disabledRadioInputLabelFontColor, "; pointer-events: none;");
111
+ return props.disabled ? "color: ".concat(props.theme.disabledRadioInputLabelFontColor, ";") : "color: ".concat(props.theme.radioInputLabelFontColor);
136
112
  });
137
-
138
- var _default = /*#__PURE__*/_react["default"].memo(DxcRadio);
139
-
140
- exports["default"] = _default;
113
+ var RadioContainer = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n align-items: center;\n cursor: ", ";\n\n &:hover {\n ", " {\n border-color: ", ";\n }\n ", " {\n background-color: ", ";\n }\n }\n &:active {\n ", " {\n border-color: ", ";\n }\n ", " {\n background-color: ", ";\n }\n }\n"])), function (props) {
114
+ return props.disabled ? "not-allowed" : props.readOnly ? "default" : "pointer";
115
+ }, RadioInput, function (props) {
116
+ return !props.disabled && getRadioInputStateColor(props, "hover");
117
+ }, Dot, function (props) {
118
+ return !props.disabled && getRadioInputStateColor(props, "hover");
119
+ }, RadioInput, function (props) {
120
+ return !props.disabled && getRadioInputStateColor(props, "active");
121
+ }, Dot, function (props) {
122
+ return !props.disabled && getRadioInputStateColor(props, "active");
123
+ });
124
+ var _default = exports["default"] = /*#__PURE__*/_react["default"].memo(DxcRadio);