@dxc-technology/halstack-react 0.0.0-23f04da → 0.0.0-2455fac

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 (480) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +47 -0
  3. package/HalstackContext.d.ts +1336 -0
  4. package/HalstackContext.js +335 -0
  5. package/accordion/Accordion.d.ts +4 -0
  6. package/accordion/Accordion.js +222 -0
  7. package/accordion/Accordion.stories.tsx +297 -0
  8. package/accordion/Accordion.test.js +71 -0
  9. package/accordion/types.d.ts +57 -0
  10. package/accordion/types.js +5 -0
  11. package/accordion-group/AccordionGroup.d.ts +8 -0
  12. package/accordion-group/AccordionGroup.js +128 -0
  13. package/accordion-group/AccordionGroup.stories.tsx +252 -0
  14. package/accordion-group/AccordionGroup.test.js +116 -0
  15. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  16. package/accordion-group/AccordionGroupAccordion.js +43 -0
  17. package/accordion-group/types.d.ts +67 -0
  18. package/accordion-group/types.js +5 -0
  19. package/alert/Alert.d.ts +4 -0
  20. package/{dist/alert → alert}/Alert.js +45 -159
  21. package/alert/Alert.stories.tsx +198 -0
  22. package/alert/Alert.test.js +92 -0
  23. package/alert/types.d.ts +49 -0
  24. package/alert/types.js +5 -0
  25. package/badge/Badge.d.ts +4 -0
  26. package/badge/Badge.js +61 -0
  27. package/badge/types.d.ts +5 -0
  28. package/badge/types.js +5 -0
  29. package/bleed/Bleed.d.ts +3 -0
  30. package/bleed/Bleed.js +51 -0
  31. package/bleed/Bleed.stories.tsx +342 -0
  32. package/bleed/types.d.ts +37 -0
  33. package/bleed/types.js +5 -0
  34. package/box/Box.d.ts +4 -0
  35. package/box/Box.js +97 -0
  36. package/box/Box.stories.tsx +119 -0
  37. package/box/Box.test.js +18 -0
  38. package/box/types.d.ts +32 -0
  39. package/box/types.js +5 -0
  40. package/bulleted-list/BulletedList.d.ts +7 -0
  41. package/bulleted-list/BulletedList.js +125 -0
  42. package/bulleted-list/BulletedList.stories.tsx +206 -0
  43. package/bulleted-list/types.d.ts +38 -0
  44. package/bulleted-list/types.js +5 -0
  45. package/button/Button.d.ts +4 -0
  46. package/button/Button.js +153 -0
  47. package/button/Button.stories.tsx +425 -0
  48. package/button/Button.test.js +35 -0
  49. package/button/types.d.ts +53 -0
  50. package/button/types.js +5 -0
  51. package/card/Card.d.ts +4 -0
  52. package/card/Card.js +143 -0
  53. package/card/Card.stories.tsx +171 -0
  54. package/card/Card.test.js +50 -0
  55. package/card/types.d.ts +62 -0
  56. package/card/types.js +5 -0
  57. package/checkbox/Checkbox.d.ts +4 -0
  58. package/checkbox/Checkbox.js +250 -0
  59. package/checkbox/Checkbox.stories.tsx +260 -0
  60. package/checkbox/Checkbox.test.js +155 -0
  61. package/checkbox/types.d.ts +68 -0
  62. package/checkbox/types.js +5 -0
  63. package/chip/Chip.d.ts +4 -0
  64. package/chip/Chip.js +140 -0
  65. package/chip/Chip.stories.tsx +214 -0
  66. package/chip/Chip.test.js +54 -0
  67. package/chip/types.d.ts +45 -0
  68. package/chip/types.js +5 -0
  69. package/common/OpenSans.css +69 -0
  70. package/common/coreTokens.d.ts +146 -0
  71. package/common/coreTokens.js +167 -0
  72. package/common/utils.d.ts +1 -0
  73. package/{dist/common → common}/utils.js +4 -4
  74. package/common/variables.d.ts +1482 -0
  75. package/common/variables.js +1361 -0
  76. package/date-input/Calendar.d.ts +4 -0
  77. package/date-input/Calendar.js +258 -0
  78. package/date-input/DateInput.d.ts +4 -0
  79. package/date-input/DateInput.js +269 -0
  80. package/date-input/DateInput.stories.tsx +304 -0
  81. package/date-input/DateInput.test.js +835 -0
  82. package/date-input/DatePicker.d.ts +4 -0
  83. package/date-input/DatePicker.js +146 -0
  84. package/date-input/Icons.d.ts +6 -0
  85. package/date-input/Icons.js +75 -0
  86. package/date-input/YearPicker.d.ts +4 -0
  87. package/date-input/YearPicker.js +126 -0
  88. package/date-input/types.d.ts +158 -0
  89. package/date-input/types.js +5 -0
  90. package/dialog/Dialog.d.ts +4 -0
  91. package/dialog/Dialog.js +131 -0
  92. package/dialog/Dialog.stories.tsx +195 -0
  93. package/dialog/Dialog.test.js +369 -0
  94. package/dialog/types.d.ts +31 -0
  95. package/dialog/types.js +5 -0
  96. package/dropdown/Dropdown.d.ts +4 -0
  97. package/dropdown/Dropdown.js +388 -0
  98. package/dropdown/Dropdown.stories.tsx +438 -0
  99. package/dropdown/Dropdown.test.js +586 -0
  100. package/dropdown/DropdownMenu.d.ts +4 -0
  101. package/dropdown/DropdownMenu.js +74 -0
  102. package/dropdown/DropdownMenuItem.d.ts +4 -0
  103. package/dropdown/DropdownMenuItem.js +79 -0
  104. package/dropdown/types.d.ts +100 -0
  105. package/dropdown/types.js +5 -0
  106. package/file-input/FileInput.d.ts +4 -0
  107. package/file-input/FileInput.js +547 -0
  108. package/file-input/FileInput.stories.tsx +618 -0
  109. package/file-input/FileInput.test.js +457 -0
  110. package/file-input/FileItem.d.ts +4 -0
  111. package/file-input/FileItem.js +162 -0
  112. package/file-input/types.d.ts +129 -0
  113. package/file-input/types.js +5 -0
  114. package/flex/Flex.d.ts +4 -0
  115. package/flex/Flex.js +71 -0
  116. package/flex/Flex.stories.tsx +112 -0
  117. package/flex/types.d.ts +97 -0
  118. package/flex/types.js +5 -0
  119. package/footer/Footer.d.ts +4 -0
  120. package/footer/Footer.js +165 -0
  121. package/footer/Footer.stories.tsx +151 -0
  122. package/footer/Footer.test.js +99 -0
  123. package/footer/Icons.d.ts +2 -0
  124. package/{dist/footer → footer}/Icons.js +16 -16
  125. package/footer/types.d.ts +64 -0
  126. package/footer/types.js +5 -0
  127. package/grid/Grid.d.ts +7 -0
  128. package/grid/Grid.js +91 -0
  129. package/grid/Grid.stories.tsx +219 -0
  130. package/grid/types.d.ts +115 -0
  131. package/grid/types.js +5 -0
  132. package/header/Header.d.ts +8 -0
  133. package/header/Header.js +276 -0
  134. package/header/Header.stories.tsx +251 -0
  135. package/header/Header.test.js +79 -0
  136. package/header/Icons.d.ts +2 -0
  137. package/{dist/header → header}/Icons.js +9 -34
  138. package/header/types.d.ts +34 -0
  139. package/header/types.js +5 -0
  140. package/heading/Heading.d.ts +4 -0
  141. package/{dist/heading → heading}/Heading.js +26 -97
  142. package/heading/Heading.stories.tsx +54 -0
  143. package/heading/Heading.test.js +186 -0
  144. package/heading/types.d.ts +33 -0
  145. package/heading/types.js +5 -0
  146. package/inset/Inset.d.ts +3 -0
  147. package/inset/Inset.js +51 -0
  148. package/inset/Inset.stories.tsx +230 -0
  149. package/inset/types.d.ts +37 -0
  150. package/inset/types.js +5 -0
  151. package/layout/ApplicationLayout.d.ts +20 -0
  152. package/layout/ApplicationLayout.js +174 -0
  153. package/layout/ApplicationLayout.stories.tsx +162 -0
  154. package/layout/Icons.d.ts +5 -0
  155. package/{dist/layout → layout}/Icons.js +19 -8
  156. package/layout/SidenavContext.d.ts +5 -0
  157. package/layout/SidenavContext.js +19 -0
  158. package/layout/types.d.ts +41 -0
  159. package/layout/types.js +5 -0
  160. package/link/Link.d.ts +4 -0
  161. package/link/Link.js +136 -0
  162. package/link/Link.stories.tsx +253 -0
  163. package/link/Link.test.js +81 -0
  164. package/link/types.d.ts +54 -0
  165. package/link/types.js +5 -0
  166. package/main.d.ts +45 -0
  167. package/{dist/main.js → main.js} +122 -104
  168. package/nav-tabs/NavTabs.d.ts +8 -0
  169. package/nav-tabs/NavTabs.js +122 -0
  170. package/nav-tabs/NavTabs.stories.tsx +274 -0
  171. package/nav-tabs/NavTabs.test.js +82 -0
  172. package/nav-tabs/Tab.d.ts +4 -0
  173. package/nav-tabs/Tab.js +146 -0
  174. package/nav-tabs/types.d.ts +52 -0
  175. package/nav-tabs/types.js +5 -0
  176. package/number-input/NumberInput.d.ts +4 -0
  177. package/number-input/NumberInput.js +76 -0
  178. package/number-input/NumberInput.stories.tsx +115 -0
  179. package/number-input/NumberInput.test.js +542 -0
  180. package/number-input/NumberInputContext.d.ts +4 -0
  181. package/{dist/number-input → number-input}/NumberInputContext.js +5 -2
  182. package/number-input/numberInputContextTypes.d.ts +19 -0
  183. package/number-input/numberInputContextTypes.js +5 -0
  184. package/number-input/types.d.ts +124 -0
  185. package/number-input/types.js +5 -0
  186. package/package.json +45 -35
  187. package/paginator/Icons.d.ts +5 -0
  188. package/paginator/Icons.js +54 -0
  189. package/paginator/Paginator.d.ts +4 -0
  190. package/paginator/Paginator.js +163 -0
  191. package/paginator/Paginator.stories.tsx +87 -0
  192. package/paginator/Paginator.test.js +318 -0
  193. package/paginator/types.d.ts +38 -0
  194. package/paginator/types.js +5 -0
  195. package/paragraph/Paragraph.d.ts +5 -0
  196. package/paragraph/Paragraph.js +38 -0
  197. package/paragraph/Paragraph.stories.tsx +44 -0
  198. package/password-input/PasswordInput.d.ts +4 -0
  199. package/{dist/password-input → password-input}/PasswordInput.js +40 -77
  200. package/password-input/PasswordInput.stories.tsx +131 -0
  201. package/password-input/PasswordInput.test.js +181 -0
  202. package/password-input/types.d.ts +110 -0
  203. package/password-input/types.js +5 -0
  204. package/progress-bar/ProgressBar.d.ts +4 -0
  205. package/progress-bar/ProgressBar.js +176 -0
  206. package/progress-bar/ProgressBar.stories.jsx +93 -0
  207. package/progress-bar/ProgressBar.test.js +110 -0
  208. package/progress-bar/types.d.ts +37 -0
  209. package/progress-bar/types.js +5 -0
  210. package/quick-nav/QuickNav.d.ts +4 -0
  211. package/quick-nav/QuickNav.js +117 -0
  212. package/quick-nav/QuickNav.stories.tsx +356 -0
  213. package/quick-nav/types.d.ts +21 -0
  214. package/quick-nav/types.js +5 -0
  215. package/radio-group/Radio.d.ts +4 -0
  216. package/radio-group/Radio.js +156 -0
  217. package/radio-group/RadioGroup.d.ts +4 -0
  218. package/radio-group/RadioGroup.js +281 -0
  219. package/radio-group/RadioGroup.stories.tsx +214 -0
  220. package/radio-group/RadioGroup.test.js +722 -0
  221. package/radio-group/types.d.ts +114 -0
  222. package/radio-group/types.js +5 -0
  223. package/resultsetTable/Icons.d.ts +7 -0
  224. package/resultsetTable/Icons.js +51 -0
  225. package/resultsetTable/ResultsetTable.d.ts +4 -0
  226. package/resultsetTable/ResultsetTable.js +195 -0
  227. package/resultsetTable/ResultsetTable.stories.tsx +300 -0
  228. package/resultsetTable/ResultsetTable.test.js +325 -0
  229. package/resultsetTable/types.d.ts +67 -0
  230. package/resultsetTable/types.js +5 -0
  231. package/select/Icons.d.ts +10 -0
  232. package/select/Icons.js +93 -0
  233. package/select/Listbox.d.ts +4 -0
  234. package/select/Listbox.js +169 -0
  235. package/select/Option.d.ts +4 -0
  236. package/select/Option.js +97 -0
  237. package/select/Select.d.ts +4 -0
  238. package/select/Select.js +666 -0
  239. package/select/Select.stories.tsx +971 -0
  240. package/select/Select.test.js +2228 -0
  241. package/select/types.d.ts +210 -0
  242. package/select/types.js +5 -0
  243. package/sidenav/Icons.d.ts +7 -0
  244. package/sidenav/Icons.js +51 -0
  245. package/sidenav/Sidenav.d.ts +10 -0
  246. package/sidenav/Sidenav.js +238 -0
  247. package/sidenav/Sidenav.stories.tsx +282 -0
  248. package/sidenav/Sidenav.test.js +44 -0
  249. package/sidenav/types.d.ts +76 -0
  250. package/sidenav/types.js +5 -0
  251. package/slider/Slider.d.ts +4 -0
  252. package/slider/Slider.js +342 -0
  253. package/slider/Slider.stories.tsx +240 -0
  254. package/slider/Slider.test.js +250 -0
  255. package/slider/types.d.ts +86 -0
  256. package/slider/types.js +5 -0
  257. package/spinner/Spinner.d.ts +4 -0
  258. package/spinner/Spinner.js +244 -0
  259. package/spinner/Spinner.stories.jsx +129 -0
  260. package/spinner/Spinner.test.js +64 -0
  261. package/spinner/types.d.ts +32 -0
  262. package/spinner/types.js +5 -0
  263. package/switch/Switch.d.ts +4 -0
  264. package/switch/Switch.js +262 -0
  265. package/switch/Switch.stories.tsx +171 -0
  266. package/switch/Switch.test.js +225 -0
  267. package/switch/types.d.ts +66 -0
  268. package/switch/types.js +5 -0
  269. package/table/Table.d.ts +4 -0
  270. package/{dist/table → table}/Table.js +14 -28
  271. package/table/Table.stories.jsx +356 -0
  272. package/table/Table.test.js +26 -0
  273. package/table/types.d.ts +21 -0
  274. package/table/types.js +5 -0
  275. package/tabs/Tab.d.ts +4 -0
  276. package/tabs/Tab.js +132 -0
  277. package/tabs/Tabs.d.ts +4 -0
  278. package/tabs/Tabs.js +461 -0
  279. package/tabs/Tabs.stories.tsx +226 -0
  280. package/tabs/Tabs.test.js +350 -0
  281. package/tabs/types.d.ts +92 -0
  282. package/tabs/types.js +5 -0
  283. package/tag/Tag.d.ts +4 -0
  284. package/tag/Tag.js +181 -0
  285. package/tag/Tag.stories.tsx +155 -0
  286. package/tag/Tag.test.js +60 -0
  287. package/tag/types.d.ts +69 -0
  288. package/tag/types.js +5 -0
  289. package/text-input/Icons.d.ts +8 -0
  290. package/text-input/Icons.js +60 -0
  291. package/text-input/Suggestion.d.ts +4 -0
  292. package/text-input/Suggestion.js +84 -0
  293. package/text-input/Suggestions.d.ts +4 -0
  294. package/text-input/Suggestions.js +134 -0
  295. package/text-input/TextInput.d.ts +4 -0
  296. package/text-input/TextInput.js +673 -0
  297. package/text-input/TextInput.stories.tsx +569 -0
  298. package/text-input/TextInput.test.js +1723 -0
  299. package/text-input/types.d.ts +197 -0
  300. package/text-input/types.js +5 -0
  301. package/textarea/Textarea.d.ts +4 -0
  302. package/{dist/textarea → textarea}/Textarea.js +51 -144
  303. package/textarea/Textarea.stories.jsx +216 -0
  304. package/textarea/Textarea.test.js +435 -0
  305. package/textarea/types.d.ts +137 -0
  306. package/textarea/types.js +5 -0
  307. package/toggle-group/ToggleGroup.d.ts +4 -0
  308. package/{dist/toggle-group → toggle-group}/ToggleGroup.js +42 -151
  309. package/toggle-group/ToggleGroup.stories.tsx +215 -0
  310. package/toggle-group/ToggleGroup.test.js +156 -0
  311. package/toggle-group/types.d.ts +105 -0
  312. package/toggle-group/types.js +5 -0
  313. package/typography/Typography.d.ts +4 -0
  314. package/typography/Typography.js +32 -0
  315. package/typography/Typography.stories.tsx +198 -0
  316. package/typography/types.d.ts +18 -0
  317. package/typography/types.js +5 -0
  318. package/useTheme.d.ts +1235 -0
  319. package/{dist/useTheme.js → useTheme.js} +3 -3
  320. package/useTranslatedLabels.d.ts +85 -0
  321. package/useTranslatedLabels.js +20 -0
  322. package/utils/BaseTypography.d.ts +21 -0
  323. package/utils/BaseTypography.js +108 -0
  324. package/utils/FocusLock.d.ts +13 -0
  325. package/utils/FocusLock.js +138 -0
  326. package/wizard/Wizard.d.ts +4 -0
  327. package/wizard/Wizard.js +285 -0
  328. package/wizard/Wizard.stories.tsx +253 -0
  329. package/wizard/Wizard.test.js +141 -0
  330. package/wizard/types.d.ts +64 -0
  331. package/wizard/types.js +5 -0
  332. package/README.md +0 -66
  333. package/babel.config.js +0 -8
  334. package/dist/BackgroundColorContext.js +0 -46
  335. package/dist/ThemeContext.js +0 -250
  336. package/dist/V3Select/V3Select.js +0 -549
  337. package/dist/V3Select/index.d.ts +0 -27
  338. package/dist/V3Textarea/V3Textarea.js +0 -264
  339. package/dist/V3Textarea/index.d.ts +0 -27
  340. package/dist/accordion/Accordion.js +0 -353
  341. package/dist/accordion/index.d.ts +0 -28
  342. package/dist/accordion-group/AccordionGroup.js +0 -186
  343. package/dist/accordion-group/index.d.ts +0 -16
  344. package/dist/alert/index.d.ts +0 -51
  345. package/dist/badge/Badge.js +0 -63
  346. package/dist/box/Box.js +0 -156
  347. package/dist/box/index.d.ts +0 -25
  348. package/dist/button/Button.js +0 -238
  349. package/dist/button/index.d.ts +0 -24
  350. package/dist/card/Card.js +0 -254
  351. package/dist/card/index.d.ts +0 -22
  352. package/dist/checkbox/Checkbox.js +0 -299
  353. package/dist/checkbox/index.d.ts +0 -24
  354. package/dist/chip/Chip.js +0 -265
  355. package/dist/chip/index.d.ts +0 -22
  356. package/dist/common/OpenSans.css +0 -81
  357. package/dist/common/RequiredComponent.js +0 -40
  358. package/dist/common/variables.js +0 -1574
  359. package/dist/date/Date.js +0 -379
  360. package/dist/date/index.d.ts +0 -27
  361. package/dist/date-input/DateInput.js +0 -400
  362. package/dist/date-input/index.d.ts +0 -95
  363. package/dist/dialog/Dialog.js +0 -218
  364. package/dist/dialog/index.d.ts +0 -18
  365. package/dist/dropdown/Dropdown.js +0 -544
  366. package/dist/dropdown/index.d.ts +0 -26
  367. package/dist/file-input/FileInput.js +0 -644
  368. package/dist/file-input/FileItem.js +0 -287
  369. package/dist/file-input/index.d.ts +0 -81
  370. package/dist/footer/Footer.js +0 -421
  371. package/dist/footer/index.d.ts +0 -25
  372. package/dist/header/Header.js +0 -470
  373. package/dist/header/index.d.ts +0 -25
  374. package/dist/heading/index.d.ts +0 -17
  375. package/dist/input-text/Icons.js +0 -22
  376. package/dist/input-text/InputText.js +0 -705
  377. package/dist/input-text/index.d.ts +0 -36
  378. package/dist/layout/ApplicationLayout.js +0 -327
  379. package/dist/link/Link.js +0 -237
  380. package/dist/link/index.d.ts +0 -23
  381. package/dist/main.d.ts +0 -40
  382. package/dist/number-input/NumberInput.js +0 -136
  383. package/dist/number-input/index.d.ts +0 -113
  384. package/dist/paginator/Icons.js +0 -66
  385. package/dist/paginator/Paginator.js +0 -305
  386. package/dist/paginator/index.d.ts +0 -20
  387. package/dist/password-input/index.d.ts +0 -94
  388. package/dist/progress-bar/ProgressBar.js +0 -242
  389. package/dist/progress-bar/index.d.ts +0 -18
  390. package/dist/radio/Radio.js +0 -209
  391. package/dist/radio/index.d.ts +0 -23
  392. package/dist/resultsetTable/ResultsetTable.js +0 -358
  393. package/dist/resultsetTable/index.d.ts +0 -19
  394. package/dist/select/Select.js +0 -1096
  395. package/dist/select/index.d.ts +0 -53
  396. package/dist/sidenav/Sidenav.js +0 -179
  397. package/dist/sidenav/index.d.ts +0 -13
  398. package/dist/slider/Slider.js +0 -404
  399. package/dist/slider/index.d.ts +0 -29
  400. package/dist/spinner/Spinner.js +0 -381
  401. package/dist/spinner/index.d.ts +0 -17
  402. package/dist/switch/Switch.js +0 -222
  403. package/dist/switch/index.d.ts +0 -24
  404. package/dist/table/index.d.ts +0 -13
  405. package/dist/tabs/Tabs.js +0 -343
  406. package/dist/tabs/index.d.ts +0 -19
  407. package/dist/tag/Tag.js +0 -282
  408. package/dist/tag/index.d.ts +0 -24
  409. package/dist/text-input/TextInput.js +0 -974
  410. package/dist/text-input/index.d.ts +0 -135
  411. package/dist/textarea/index.d.ts +0 -117
  412. package/dist/toggle/Toggle.js +0 -220
  413. package/dist/toggle/index.d.ts +0 -21
  414. package/dist/toggle-group/index.d.ts +0 -21
  415. package/dist/upload/Upload.js +0 -205
  416. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -135
  417. package/dist/upload/buttons-upload/Icons.js +0 -40
  418. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  419. package/dist/upload/dragAndDropArea/Icons.js +0 -39
  420. package/dist/upload/file-upload/FileToUpload.js +0 -189
  421. package/dist/upload/file-upload/Icons.js +0 -66
  422. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  423. package/dist/upload/index.d.ts +0 -15
  424. package/dist/upload/transaction/Icons.js +0 -160
  425. package/dist/upload/transaction/Transaction.js +0 -148
  426. package/dist/upload/transactions/Transactions.js +0 -138
  427. package/dist/wizard/Icons.js +0 -65
  428. package/dist/wizard/Wizard.js +0 -405
  429. package/dist/wizard/index.d.ts +0 -18
  430. package/test/Accordion.test.js +0 -33
  431. package/test/AccordionGroup.test.js +0 -125
  432. package/test/Alert.test.js +0 -53
  433. package/test/Box.test.js +0 -10
  434. package/test/Button.test.js +0 -18
  435. package/test/Card.test.js +0 -30
  436. package/test/Checkbox.test.js +0 -45
  437. package/test/Chip.test.js +0 -25
  438. package/test/Date.test.js +0 -395
  439. package/test/DateInput.test.js +0 -242
  440. package/test/Dialog.test.js +0 -23
  441. package/test/Dropdown.test.js +0 -145
  442. package/test/FileInput.test.js +0 -201
  443. package/test/Footer.test.js +0 -94
  444. package/test/Header.test.js +0 -34
  445. package/test/Heading.test.js +0 -83
  446. package/test/InputText.test.js +0 -240
  447. package/test/Link.test.js +0 -43
  448. package/test/NumberInput.test.js +0 -259
  449. package/test/Paginator.test.js +0 -181
  450. package/test/PasswordInput.test.js +0 -83
  451. package/test/ProgressBar.test.js +0 -35
  452. package/test/Radio.test.js +0 -37
  453. package/test/ResultsetTable.test.js +0 -330
  454. package/test/Select.test.js +0 -415
  455. package/test/Sidenav.test.js +0 -45
  456. package/test/Slider.test.js +0 -74
  457. package/test/Spinner.test.js +0 -32
  458. package/test/Switch.test.js +0 -45
  459. package/test/Table.test.js +0 -36
  460. package/test/Tabs.test.js +0 -109
  461. package/test/Tag.test.js +0 -32
  462. package/test/TextInput.test.js +0 -732
  463. package/test/Textarea.test.js +0 -193
  464. package/test/ToggleGroup.test.js +0 -85
  465. package/test/Upload.test.js +0 -60
  466. package/test/V3Select.test.js +0 -212
  467. package/test/V3TextArea.test.js +0 -51
  468. package/test/Wizard.test.js +0 -130
  469. package/test/mocks/pngMock.js +0 -1
  470. package/test/mocks/svgMock.js +0 -1
  471. /package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  472. /package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  473. /package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  474. /package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  475. /package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  476. /package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  477. /package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  478. /package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  479. /package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  480. /package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
@@ -0,0 +1,219 @@
1
+ import React from "react";
2
+ import Title from "../../.storybook/components/Title";
3
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
4
+ import styled from "styled-components";
5
+ import DxcGrid from "./Grid";
6
+ import DxcInset from "../inset/Inset";
7
+
8
+ export default {
9
+ title: "Grid",
10
+ component: DxcGrid,
11
+ };
12
+
13
+ export const Chromatic = () => (
14
+ <>
15
+ <Title title="Default" level={4} />
16
+ <ExampleContainer>
17
+ <DxcGrid>
18
+ <ColoredContainer />
19
+ <ColoredContainer />
20
+ <ColoredContainer />
21
+ </DxcGrid>
22
+ </ExampleContainer>
23
+ <Title title="Place items" level={4} />
24
+ <ExampleContainer>
25
+ <DxcGrid templateRows={["200px"]} placeItems="center">
26
+ <ColoredContainer height="50px" width="50px" />
27
+ </DxcGrid>
28
+ <DxcGrid placeItems={{ justifyItems: "end" }}>
29
+ <ColoredContainer />
30
+ <ColoredContainer />
31
+ <ColoredContainer />
32
+ </DxcGrid>
33
+ <DxcGrid templateRows={["repeat(3, 100px)"]} placeItems={{ alignItems: "end", justifyItems: "center" }}>
34
+ <ColoredContainer height="50px" width="50px" />
35
+ <ColoredContainer height="50px" width="50px" />
36
+ <ColoredContainer height="50px" width="50px" />
37
+ </DxcGrid>
38
+ </ExampleContainer>
39
+ <Title title="Place content" level={4} />
40
+ <Container height="200px">
41
+ <DxcGrid placeContent="center">
42
+ <ColoredContainer height="50px" width="50px" />
43
+ <ColoredContainer height="50px" width="50px" />
44
+ </DxcGrid>
45
+ </Container>
46
+ <Container height="200px">
47
+ <DxcGrid placeContent={{ alignContent: "center" }}>
48
+ <ColoredContainer height="50px" width="50px" />
49
+ </DxcGrid>
50
+ </Container>
51
+ <Container height="200px">
52
+ <DxcGrid placeContent={{ alignContent: "center", justifyContent: "end" }}>
53
+ <ColoredContainer height="50px" width="50px" />
54
+ </DxcGrid>
55
+ </Container>
56
+ <Title title="Place self" level={4} />
57
+ <ExampleContainer>
58
+ <DxcGrid templateRows={["repeat(3, 100px)"]}>
59
+ <DxcGrid.GridItem placeSelf="center">
60
+ <ColoredContainer height="50px" width="50px" />
61
+ </DxcGrid.GridItem>
62
+ <DxcGrid.GridItem placeSelf={{ alignSelf: "end" }}>
63
+ <ColoredContainer height="40px" width="40px" />
64
+ <ColoredContainer height="30px" width="30px" />
65
+ </DxcGrid.GridItem>
66
+ <DxcGrid.GridItem placeSelf={{ alignSelf: "center", justifySelf: "end" }}>
67
+ <ColoredContainer height="50px" width="50px" />
68
+ </DxcGrid.GridItem>
69
+ </DxcGrid>
70
+ </ExampleContainer>
71
+ <Title title="Halstack layout using template areas" level={4} />
72
+ <ExampleContainer>
73
+ <DxcGrid
74
+ templateColumns={["repeat(4, 1fr)"]}
75
+ templateRows={["40px", "200px", "60px"]}
76
+ templateAreas={["header header header header", "sidenav main main main", "sidenav footer footer footer"]}
77
+ gap={{ rowGap: "0.5rem", columnGap: "1rem" }}
78
+ >
79
+ <DxcGrid.GridItem areaName="header" as="header">
80
+ <ColoredContainer height="100%" />
81
+ </DxcGrid.GridItem>
82
+ <DxcGrid.GridItem areaName="main" as="main">
83
+ <ColoredContainer height="100%" />
84
+ </DxcGrid.GridItem>
85
+ <DxcGrid.GridItem areaName="sidenav" as="nav">
86
+ <ColoredContainer height="100%" />
87
+ </DxcGrid.GridItem>
88
+ <DxcGrid.GridItem areaName="footer" as="footer">
89
+ <ColoredContainer height="100%" />
90
+ </DxcGrid.GridItem>
91
+ </DxcGrid>
92
+ </ExampleContainer>
93
+ <Title title="Template rows and columns with flexible sizes" level={4} />
94
+ <ExampleContainer>
95
+ <DxcGrid templateColumns={["1fr", "1fr", "1fr"]} templateRows={["1fr", "3fr", "1fr"]} gap="0.5rem">
96
+ <DxcGrid.GridItem column={{ start: 1, end: -1 }}>
97
+ <ColoredContainer color="yellow" height="100%">
98
+ Header
99
+ </ColoredContainer>
100
+ </DxcGrid.GridItem>
101
+ <DxcGrid.GridItem column={1}>
102
+ <ColoredContainer color="lightcyan" height="100%">
103
+ Sidenav
104
+ </ColoredContainer>
105
+ </DxcGrid.GridItem>
106
+ <DxcGrid
107
+ column={{ start: 2, end: -1 }}
108
+ templateRows={["repeat(4, 1fr)"]}
109
+ templateColumns={["repeat(2, 1fr)"]}
110
+ gap="1rem"
111
+ >
112
+ <ColoredContainer />
113
+ <ColoredContainer />
114
+ <ColoredContainer />
115
+ <ColoredContainer />
116
+ <ColoredContainer />
117
+ <ColoredContainer />
118
+ <ColoredContainer />
119
+ <ColoredContainer />
120
+ </DxcGrid>
121
+ <DxcGrid.GridItem column={{ start: 1, end: -1 }}>
122
+ <ColoredContainer color="black" height="100%">
123
+ Footer
124
+ </ColoredContainer>
125
+ </DxcGrid.GridItem>
126
+ </DxcGrid>
127
+ </ExampleContainer>
128
+ <Title title="Overlapping" level={4} />
129
+ <DxcInset bottom="2rem">
130
+ <ExampleContainer>
131
+ <DxcGrid templateRows={["50px", "50px"]}>
132
+ <ColoredContainer color="yellow" height="100px">
133
+ 1
134
+ </ColoredContainer>
135
+ <ColoredContainer color="transparent" height="100px">
136
+ 2
137
+ </ColoredContainer>
138
+ </DxcGrid>
139
+ </ExampleContainer>
140
+ </DxcInset>
141
+ <Title title="Implicit rows and columns" level={4} />
142
+ <ExampleContainer>
143
+ <DxcGrid templateColumns={["50px"]} templateRows={["50px", "50px"]} autoRows="50px" autoColumns="50px">
144
+ <DxcGrid.GridItem>
145
+ <ColoredContainer height="50px">1</ColoredContainer>
146
+ </DxcGrid.GridItem>
147
+ <DxcGrid.GridItem row={2}>
148
+ <ColoredContainer height="50px">3</ColoredContainer>
149
+ </DxcGrid.GridItem>
150
+ <DxcGrid.GridItem row={6} column={1}>
151
+ <ColoredContainer height="50px">5</ColoredContainer>
152
+ </DxcGrid.GridItem>
153
+ <DxcGrid.GridItem row={3}>
154
+ <ColoredContainer height="50px">4</ColoredContainer>
155
+ </DxcGrid.GridItem>
156
+ <DxcGrid.GridItem row={{ start: 1, end: 2 }} column={{ start: 5, end: "span 2" }}>
157
+ <ColoredContainer height="50px">2</ColoredContainer>
158
+ </DxcGrid.GridItem>
159
+ </DxcGrid>
160
+ </ExampleContainer>
161
+ <Title title="Autoflow 'row' (default)" level={4} />
162
+ <ExampleContainer>
163
+ <DxcGrid templateColumns={["repeat(5, 1fr)"]} templateRows={["1fr", "1fr"]} autoFlow="row" autoColumns="1fr">
164
+ <DxcGrid.GridItem row={{ start: 1, end: "span 2" }} column={1}>
165
+ <ColoredContainer height="100%">1</ColoredContainer>
166
+ </DxcGrid.GridItem>
167
+ <ColoredContainer color="lightyellow">2</ColoredContainer>
168
+ <ColoredContainer color="lightcyan">3</ColoredContainer>
169
+ <ColoredContainer color="lightgreen">4</ColoredContainer>
170
+ <DxcGrid.GridItem row={{ start: 1, end: -1 }} column={-2}>
171
+ <ColoredContainer color="lightpink" height="100%">
172
+ 5
173
+ </ColoredContainer>
174
+ </DxcGrid.GridItem>
175
+ </DxcGrid>
176
+ </ExampleContainer>
177
+ <Title title="Autoflow 'column'" level={4} />
178
+ <ExampleContainer>
179
+ <DxcGrid templateColumns={["repeat(5, 1fr)"]} templateRows={["1fr", "1fr"]} autoFlow="column" autoColumns="1fr">
180
+ <DxcGrid.GridItem row={{ start: 1, end: -1 }} column={1}>
181
+ <ColoredContainer height="100%">1</ColoredContainer>
182
+ </DxcGrid.GridItem>
183
+ <ColoredContainer color="lightyellow">2</ColoredContainer>
184
+ <ColoredContainer color="lightcyan">3</ColoredContainer>
185
+ <ColoredContainer color="lightgreen">4</ColoredContainer>
186
+ <DxcGrid.GridItem row={{ start: 1, end: -1 }} column={-2}>
187
+ <ColoredContainer color="lightpink" height="100%">
188
+ 5
189
+ </ColoredContainer>
190
+ </DxcGrid.GridItem>
191
+ </DxcGrid>
192
+ </ExampleContainer>
193
+ </>
194
+ );
195
+
196
+ const Container = styled.div<{ height?: string }>`
197
+ display: grid;
198
+ overflow: auto;
199
+ margin: 2.5rem;
200
+ ${({ height }) => height && `height: ${height}`};
201
+ `;
202
+
203
+ const ColoredContainer = styled.div<{ color?: string; width?: string; height?: string }>`
204
+ box-sizing: border-box;
205
+ display: flex;
206
+ justify-content: center;
207
+ align-items: center;
208
+ background-color: ${({ color }) => color ?? "#e5d5f6"};
209
+ padding: 1rem;
210
+ border: 1px solid #a46ede;
211
+ border-radius: 0.5rem;
212
+ font-family: Open Sans, sans-serif;
213
+ font-size: 1.5rem;
214
+ font-weight: bold;
215
+ color: #a46ede;
216
+
217
+ ${({ width }) => width && `width: ${width}`};
218
+ ${({ height }) => height && `height: ${height}`};
219
+ `;
@@ -0,0 +1,115 @@
1
+ /// <reference types="react" />
2
+ declare type Spaces = "0rem" | "0.125rem" | "0.25rem" | "0.5rem" | "1rem" | "1.5rem" | "2rem" | "3rem" | "4rem" | "5rem";
3
+ declare type Gap = {
4
+ rowGap: Spaces;
5
+ columnGap?: Spaces;
6
+ } | {
7
+ rowGap?: Spaces;
8
+ columnGap: Spaces;
9
+ } | Spaces;
10
+ declare type GridCell = {
11
+ start: number | string;
12
+ end: number | string;
13
+ };
14
+ declare type PlaceSelfValues = "auto" | "start" | "end" | "center" | "stretch" | "baseline";
15
+ declare type PlaceContentValues = "normal" | "start" | "end" | "center" | "stretch" | "space-between" | "space-around" | "space-evenly" | "baseline";
16
+ declare type PlaceItemsValues = "normal" | "start" | "end" | "center" | "stretch" | "baseline";
17
+ declare type PlaceObject<Type, Suffix extends string> = {
18
+ [Property in keyof Type as `${string & Property}${Capitalize<string & Suffix>}`]: Type[Property];
19
+ };
20
+ declare type PlaceGeneric<PlaceValues, Element extends string> = PlaceObject<{
21
+ justify?: PlaceValues;
22
+ align: PlaceValues;
23
+ }, Element> | PlaceObject<{
24
+ justify: PlaceValues;
25
+ align?: PlaceValues;
26
+ }, Element> | PlaceValues;
27
+ export declare type GridItemProps = {
28
+ /**
29
+ * Sets the name of an item so that it can be referenced by a template created with the grid-template-areas property.
30
+ */
31
+ areaName?: string;
32
+ /**
33
+ * Sets the grid-column CSS property.
34
+ *
35
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-column
36
+ */
37
+ column?: number | string | GridCell;
38
+ /**
39
+ * Sets the grid-row CSS property.
40
+ *
41
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-row
42
+ */
43
+ row?: number | string | GridCell;
44
+ /**
45
+ * Sets the place-self CSS property.
46
+ *
47
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/place-self
48
+ */
49
+ placeSelf?: PlaceGeneric<PlaceSelfValues, "self">;
50
+ /**
51
+ * Sets a custom HTML tag.
52
+ */
53
+ as?: keyof HTMLElementTagNameMap;
54
+ /**
55
+ * Custom content inside the grid container.
56
+ */
57
+ children: React.ReactNode;
58
+ };
59
+ declare type Props = GridItemProps & {
60
+ /**
61
+ * Sets the grid-auto-columns CSS property.
62
+ *
63
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-auto-columns
64
+ */
65
+ autoColumns?: string;
66
+ /**
67
+ * Sets the grid-auto-flow CSS property.
68
+ *
69
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-auto-flow
70
+ */
71
+ autoFlow?: "row" | "column" | "row dense" | "column dense";
72
+ /**
73
+ * Sets the grid-auto-rows CSS property.
74
+ *
75
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-auto-rows
76
+ */
77
+ autoRows?: string;
78
+ /**
79
+ * Sets the gap CSS property.
80
+ *
81
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/gap
82
+ */
83
+ gap?: Spaces | Gap;
84
+ /**
85
+ * Sets the place-content CSS property.
86
+ *
87
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/place-content
88
+ */
89
+ placeContent?: PlaceGeneric<PlaceContentValues, "content">;
90
+ /**
91
+ * Sets the place-items CSS property.
92
+ *
93
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/place-items
94
+ */
95
+ placeItems?: PlaceGeneric<PlaceItemsValues, "items">;
96
+ /**
97
+ * Sets the grid-template-areas CSS property.
98
+ *
99
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-areas
100
+ */
101
+ templateAreas?: string[];
102
+ /**
103
+ * Sets the grid-template-columns CSS property.
104
+ *
105
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-columns
106
+ */
107
+ templateColumns?: string[];
108
+ /**
109
+ * Sets the grid-template-rows CSS property.
110
+ *
111
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-rows
112
+ */
113
+ templateRows?: string[];
114
+ };
115
+ export default Props;
package/grid/types.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import DxcDropdown from "../dropdown/Dropdown";
3
+ import HeaderPropsType from "./types";
4
+ declare const DxcHeader: {
5
+ ({ underlined, content, responsiveContent, onClick, margin, tabIndex, }: HeaderPropsType): JSX.Element;
6
+ Dropdown: (props: React.ComponentProps<typeof DxcDropdown>) => JSX.Element;
7
+ };
8
+ export default DxcHeader;
@@ -0,0 +1,276 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
16
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
+
22
+ var _Dropdown = _interopRequireDefault(require("../dropdown/Dropdown"));
23
+
24
+ var _Icons = require("./Icons");
25
+
26
+ var _variables = require("../common/variables");
27
+
28
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
29
+
30
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
31
+
32
+ var _BackgroundColorContext = _interopRequireWildcard(require("../BackgroundColorContext"));
33
+
34
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15;
35
+
36
+ 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); }
37
+
38
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
39
+
40
+ var closeIcon = /*#__PURE__*/_react["default"].createElement("svg", {
41
+ xmlns: "http://www.w3.org/2000/svg",
42
+ viewBox: "0 0 24 24",
43
+ height: "24",
44
+ width: "24"
45
+ }, /*#__PURE__*/_react["default"].createElement("path", {
46
+ d: "M6.4 19 5 17.6l5.6-5.6L5 6.4 6.4 5l5.6 5.6L17.6 5 19 6.4 13.4 12l5.6 5.6-1.4 1.4-5.6-5.6Z"
47
+ }));
48
+
49
+ var hamburgerIcon = /*#__PURE__*/_react["default"].createElement("svg", {
50
+ xmlns: "http://www.w3.org/2000/svg",
51
+ viewBox: "0 0 24 24",
52
+ width: "24",
53
+ height: "24"
54
+ }, /*#__PURE__*/_react["default"].createElement("path", {
55
+ d: "M3,8H21a1,1,0,0,0,0-2H3A1,1,0,0,0,3,8Zm18,8H3a1,1,0,0,0,0,2H21a1,1,0,0,0,0-2Zm0-5H3a1,1,0,0,0,0,2H21a1,1,0,0,0,0-2Z"
56
+ }));
57
+
58
+ var Dropdown = function Dropdown(props) {
59
+ return /*#__PURE__*/_react["default"].createElement(HeaderDropdown, null, /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], props));
60
+ };
61
+
62
+ var HeaderDropdown = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n button {\n background-color: transparent;\n :hover {\n background-color: transparent;\n }\n }\n"])));
63
+
64
+ var getLogoElement = function getLogoElement(themeInput, logoLabel) {
65
+ if (!themeInput) return _Icons.dxcLogo;else if (typeof themeInput === "string") return /*#__PURE__*/_react["default"].createElement(LogoImg, {
66
+ alt: logoLabel,
67
+ src: themeInput
68
+ });else return themeInput;
69
+ };
70
+
71
+ var Content = function Content(_ref) {
72
+ var isResponsive = _ref.isResponsive,
73
+ responsiveContent = _ref.responsiveContent,
74
+ handleMenu = _ref.handleMenu,
75
+ content = _ref.content;
76
+ var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
77
+ return isResponsive ? /*#__PURE__*/_react["default"].createElement(MenuContent, {
78
+ backgroundType: backgroundType
79
+ }, responsiveContent(handleMenu)) : /*#__PURE__*/_react["default"].createElement(ContentContainer, {
80
+ backgroundType: backgroundType
81
+ }, content);
82
+ };
83
+
84
+ var DxcHeader = function DxcHeader(_ref2) {
85
+ var _ref2$underlined = _ref2.underlined,
86
+ underlined = _ref2$underlined === void 0 ? false : _ref2$underlined,
87
+ content = _ref2.content,
88
+ responsiveContent = _ref2.responsiveContent,
89
+ onClick = _ref2.onClick,
90
+ margin = _ref2.margin,
91
+ _ref2$tabIndex = _ref2.tabIndex,
92
+ tabIndex = _ref2$tabIndex === void 0 ? 0 : _ref2$tabIndex;
93
+ var colorsTheme = (0, _useTheme["default"])();
94
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
95
+ var ref = (0, _react.useRef)(null);
96
+
97
+ var _useState = (0, _react.useState)(false),
98
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
99
+ isResponsive = _useState2[0],
100
+ setIsResponsive = _useState2[1];
101
+
102
+ var _useState3 = (0, _react.useState)(false),
103
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
104
+ isMenuVisible = _useState4[0],
105
+ setIsMenuVisible = _useState4[1];
106
+
107
+ var handleResize = (0, _react.useCallback)(function () {
108
+ setIsResponsive(window.matchMedia("(max-width: ".concat(_variables.responsiveSizes.medium, "rem)")).matches);
109
+ }, []);
110
+
111
+ var handleMenu = function handleMenu() {
112
+ if (isResponsive && !isMenuVisible) {
113
+ setIsMenuVisible(!isMenuVisible);
114
+ } else {
115
+ setIsMenuVisible(!isMenuVisible);
116
+ }
117
+ };
118
+
119
+ var headerLogo = (0, _react.useMemo)(function () {
120
+ return getLogoElement(colorsTheme.header.logo, translatedLabels.formFields.logoAlternativeText);
121
+ }, [colorsTheme.header.logo]);
122
+ var headerResponsiveLogo = (0, _react.useMemo)(function () {
123
+ return getLogoElement(colorsTheme.header.logoResponsive, translatedLabels.formFields.logoAlternativeText);
124
+ }, [colorsTheme.header.logoResponsive]);
125
+ (0, _react.useEffect)(function () {
126
+ handleResize();
127
+ window.addEventListener("resize", handleResize);
128
+ return function () {
129
+ window.removeEventListener("resize", handleResize);
130
+ };
131
+ }, [handleResize]);
132
+ (0, _react.useEffect)(function () {
133
+ !isResponsive && setIsMenuVisible(false);
134
+ }, [isResponsive]);
135
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
136
+ theme: colorsTheme.header
137
+ }, /*#__PURE__*/_react["default"].createElement(HeaderContainer, {
138
+ underlined: underlined,
139
+ margin: margin,
140
+ ref: ref
141
+ }, /*#__PURE__*/_react["default"].createElement(LogoAnchor, {
142
+ tabIndex: onClick ? tabIndex : -1,
143
+ interactuable: onClick ? true : false,
144
+ onClick: onClick
145
+ }, /*#__PURE__*/_react["default"].createElement(LogoContainer, null, headerLogo)), isResponsive && responsiveContent && /*#__PURE__*/_react["default"].createElement(MainContainer, null, /*#__PURE__*/_react["default"].createElement(ChildContainer, null, /*#__PURE__*/_react["default"].createElement(HamburguerTrigger, {
146
+ tabIndex: tabIndex,
147
+ onClick: handleMenu
148
+ }, hamburgerIcon, translatedLabels.header.hamburguerTitle)), /*#__PURE__*/_react["default"].createElement(ResponsiveMenu, {
149
+ hasVisibility: isMenuVisible
150
+ }, /*#__PURE__*/_react["default"].createElement(ResponsiveIconsContainer, null, /*#__PURE__*/_react["default"].createElement(ResponsiveLogoContainer, null, headerResponsiveLogo), /*#__PURE__*/_react["default"].createElement(CloseAction, {
151
+ tabIndex: tabIndex,
152
+ onClick: handleMenu,
153
+ "aria-label": translatedLabels.header.closeIcon,
154
+ title: translatedLabels.header.closeIcon
155
+ }, closeIcon)), /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
156
+ color: colorsTheme.header.menuBackgroundColor
157
+ }, /*#__PURE__*/_react["default"].createElement(Content, {
158
+ isResponsive: isResponsive,
159
+ responsiveContent: responsiveContent,
160
+ handleMenu: handleMenu,
161
+ content: content
162
+ }))), /*#__PURE__*/_react["default"].createElement(Overlay, {
163
+ onClick: handleMenu,
164
+ hasVisibility: isMenuVisible
165
+ })), !isResponsive && /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
166
+ color: colorsTheme.header.backgroundColor
167
+ }, /*#__PURE__*/_react["default"].createElement(Content, {
168
+ isResponsive: isResponsive,
169
+ responsiveContent: responsiveContent,
170
+ handleMenu: handleMenu,
171
+ content: content
172
+ }))));
173
+ };
174
+
175
+ DxcHeader.Dropdown = Dropdown;
176
+
177
+ var HeaderContainer = _styledComponents["default"].header(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n min-height: ", ";\n margin-bottom: ", ";\n padding: ", ";\n background-color: ", ";\n border-bottom: ", ";\n"])), function (props) {
178
+ return props.theme.minHeight;
179
+ }, function (props) {
180
+ return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
181
+ }, function (props) {
182
+ return "".concat(props.theme.paddingTop, " ").concat(props.theme.paddingRight, " ").concat(props.theme.paddingBottom, " ").concat(props.theme.paddingLeft);
183
+ }, function (props) {
184
+ return props.theme.backgroundColor;
185
+ }, function (props) {
186
+ return props.underlined && "".concat(props.theme.underlinedThickness, " ").concat(props.theme.underlinedStyle, " ").concat(props.theme.underlinedColor);
187
+ });
188
+
189
+ var LogoAnchor = _styledComponents["default"].a(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
190
+ return props.interactuable ? "cursor: pointer" : "cursor: default; outline:none;";
191
+ });
192
+
193
+ var LogoImg = _styledComponents["default"].img(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n"])), function (props) {
194
+ return props.theme.logoHeight;
195
+ }, function (props) {
196
+ return props.theme.logoWidth;
197
+ });
198
+
199
+ var LogoContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n vertical-align: middle;\n"])), function (props) {
200
+ return props.theme.logoHeight;
201
+ }, function (props) {
202
+ return props.theme.logoWidth;
203
+ });
204
+
205
+ var ChildContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: flex-end;\n flex-grow: 1;\n width: calc(100% - 186px);\n"])));
206
+
207
+ var ContentContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n flex-grow: 1;\n justify-content: flex-end;\n width: calc(100% - 186px);\n color: ", ";\n"])), function (props) {
208
+ return props.backgroundType === "dark" ? props.theme.contentColorOnDark : props.theme.contentColor;
209
+ });
210
+
211
+ var HamburguerTrigger = _styledComponents["default"].button(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 54px;\n cursor: pointer;\n border: 1px solid transparent;\n border-radius: 2px;\n background-color: transparent;\n :hover {\n background-color: ", ";\n }\n &:focus {\n outline: ", " auto 1px;\n }\n & > svg {\n fill: ", ";\n }\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n text-transform: ", ";\n font-weight: ", ";\n color: ", ";\n"])), function (props) {
212
+ return props.theme.hamburguerHoverColor;
213
+ }, function (props) {
214
+ return props.theme.hamburguerFocusColor;
215
+ }, function (props) {
216
+ return props.theme.hamburguerIconColor;
217
+ }, function (props) {
218
+ return props.theme.hamburguerFontFamily;
219
+ }, function (props) {
220
+ return props.theme.hamburguerFontStyle;
221
+ }, function (props) {
222
+ return props.theme.hamburguerFontSize;
223
+ }, function (props) {
224
+ return props.theme.hamburguerTextTransform;
225
+ }, function (props) {
226
+ return props.theme.hamburguerFontWeight;
227
+ }, function (props) {
228
+ return props.theme.hamburguerFontColor;
229
+ });
230
+
231
+ var MainContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-grow: 1;\n"])));
232
+
233
+ var ResponsiveMenu = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n background-color: ", ";\n position: fixed;\n top: 0;\n right: 0;\n z-index: ", ";\n\n @media (max-width: ", "rem) and (min-width: ", "rem) {\n width: ", ";\n }\n\n @media (not((max-width: ", "rem) and (min-width: ", "rem))) {\n width: ", ";\n }\n\n height: 100vh;\n padding: 20px;\n transform: ", ";\n opacity: ", ";\n transition-property: transform, opacity;\n transition-duration: 0.6s;\n transition-timing-function: ease-in-out;\n box-sizing: border-box;\n"])), function (props) {
234
+ return props.theme.menuBackgroundColor;
235
+ }, function (props) {
236
+ return props.theme.menuZindex;
237
+ }, _variables.responsiveSizes.large, _variables.responsiveSizes.small, function (props) {
238
+ return props.theme.menuTabletWidth;
239
+ }, _variables.responsiveSizes.large, _variables.responsiveSizes.small, function (props) {
240
+ return props.theme.menuMobileWidth;
241
+ }, function (props) {
242
+ return props.hasVisibility ? "translateX(0)" : "translateX(100vw)";
243
+ }, function (props) {
244
+ return props.hasVisibility ? "1" : "0.96";
245
+ });
246
+
247
+ var ResponsiveLogoContainer = _styledComponents["default"].div(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n display: flex;\n"])), function (props) {
248
+ return props.theme.logoHeight;
249
+ }, function (props) {
250
+ return props.theme.logoWidth;
251
+ });
252
+
253
+ var ResponsiveIconsContainer = _styledComponents["default"].div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n"])));
254
+
255
+ var CloseAction = _styledComponents["default"].button(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: center;\n align-content: center;\n padding: 6px;\n border: unset;\n border-radius: 2px;\n background-color: transparent;\n cursor: pointer;\n\n :focus,\n :focus-visible {\n outline: ", " auto 1px;\n }\n\n svg {\n height: 24px;\n width: 24px;\n }\n"])), function (props) {
256
+ return props.theme.hamburguerFocusColor;
257
+ });
258
+
259
+ var MenuContent = _styledComponents["default"].div(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n height: 100%;\n color: ", ";\n"])), function (props) {
260
+ return props.backgroundType === "dark" ? props.theme.contentColorOnDark : props.theme.contentColor;
261
+ });
262
+
263
+ var Overlay = _styledComponents["default"].div(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2["default"])(["\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background-color: ", ";\n opacity: ", " !important;\n visibility: ", ";\n opacity: ", ";\n\n @media (max-width: ", "rem) {\n display: none;\n }\n\n transition: opacity 0.2s 0.2s ease-in-out;\n z-index: ", ";\n"])), function (props) {
264
+ return props.theme.overlayColor;
265
+ }, function (props) {
266
+ return props.theme.overlayOpacity;
267
+ }, function (props) {
268
+ return props.hasVisibility ? "visible" : "hidden";
269
+ }, function (props) {
270
+ return props.hasVisibility ? "1" : "0";
271
+ }, _variables.responsiveSizes.small, function (props) {
272
+ return props.theme.overlayZindex;
273
+ });
274
+
275
+ var _default = DxcHeader;
276
+ exports["default"] = _default;