@dxc-technology/halstack-react 0.0.0-7197f3e → 0.0.0-7303985

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 (317) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +48 -0
  3. package/ThemeContext.d.ts +15 -0
  4. package/ThemeContext.js +243 -0
  5. package/{dist/select/Select.js → V3Select/V3Select.js} +40 -134
  6. package/V3Select/index.d.ts +27 -0
  7. package/{dist/V3Textarea → V3Textarea}/V3Textarea.js +12 -16
  8. package/V3Textarea/index.d.ts +27 -0
  9. package/accordion/Accordion.d.ts +4 -0
  10. package/{dist/accordion → accordion}/Accordion.js +37 -132
  11. package/accordion/Accordion.stories.tsx +300 -0
  12. package/accordion/types.d.ts +68 -0
  13. package/accordion/types.js +5 -0
  14. package/accordion-group/AccordionGroup.d.ts +7 -0
  15. package/accordion-group/AccordionGroup.js +170 -0
  16. package/accordion-group/AccordionGroup.stories.tsx +225 -0
  17. package/accordion-group/types.d.ts +72 -0
  18. package/accordion-group/types.js +5 -0
  19. package/alert/Alert.d.ts +4 -0
  20. package/{dist/alert → alert}/Alert.js +40 -153
  21. package/alert/Alert.stories.tsx +170 -0
  22. package/alert/types.d.ts +49 -0
  23. package/alert/types.js +5 -0
  24. package/badge/Badge.js +59 -0
  25. package/box/Box.d.ts +4 -0
  26. package/{dist/box → box}/Box.js +15 -45
  27. package/box/Box.stories.tsx +132 -0
  28. package/box/types.d.ts +43 -0
  29. package/box/types.js +5 -0
  30. package/button/Button.d.ts +4 -0
  31. package/{dist/button → button}/Button.js +24 -83
  32. package/button/Button.stories.tsx +276 -0
  33. package/button/types.d.ts +57 -0
  34. package/button/types.js +5 -0
  35. package/card/Card.d.ts +4 -0
  36. package/{dist/card → card}/Card.js +34 -124
  37. package/card/Card.stories.tsx +201 -0
  38. package/card/ice-cream.jpg +0 -0
  39. package/card/types.d.ts +67 -0
  40. package/card/types.js +5 -0
  41. package/checkbox/Checkbox.d.ts +4 -0
  42. package/{dist/checkbox → checkbox}/Checkbox.js +18 -65
  43. package/checkbox/Checkbox.stories.tsx +192 -0
  44. package/checkbox/types.d.ts +60 -0
  45. package/checkbox/types.js +5 -0
  46. package/chip/Chip.d.ts +4 -0
  47. package/{dist/chip → chip}/Chip.js +22 -88
  48. package/chip/Chip.stories.tsx +121 -0
  49. package/chip/types.d.ts +53 -0
  50. package/chip/types.js +5 -0
  51. package/{dist/common → common}/OpenSans.css +0 -0
  52. package/{dist/common → common}/RequiredComponent.js +3 -11
  53. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  54. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  55. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  56. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  57. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  58. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  59. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  60. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  61. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  62. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  63. package/{dist/common → common}/utils.js +0 -0
  64. package/{dist/common → common}/variables.js +175 -170
  65. package/{dist/date → date}/Date.js +22 -28
  66. package/date/index.d.ts +27 -0
  67. package/date-input/DateInput.d.ts +4 -0
  68. package/{dist/date-input → date-input}/DateInput.js +26 -68
  69. package/date-input/DateInput.stories.tsx +138 -0
  70. package/date-input/types.d.ts +100 -0
  71. package/date-input/types.js +5 -0
  72. package/dialog/Dialog.d.ts +4 -0
  73. package/{dist/dialog → dialog}/Dialog.js +22 -75
  74. package/dialog/Dialog.stories.tsx +212 -0
  75. package/dialog/types.d.ts +43 -0
  76. package/dialog/types.js +5 -0
  77. package/dropdown/Dropdown.d.ts +4 -0
  78. package/{dist/dropdown → dropdown}/Dropdown.js +45 -172
  79. package/dropdown/Dropdown.stories.tsx +247 -0
  80. package/dropdown/types.d.ts +89 -0
  81. package/dropdown/types.js +5 -0
  82. package/file-input/FileInput.d.ts +4 -0
  83. package/{dist/file-input → file-input}/FileInput.js +98 -221
  84. package/file-input/FileItem.d.ts +14 -0
  85. package/file-input/FileItem.js +184 -0
  86. package/file-input/types.d.ts +112 -0
  87. package/file-input/types.js +5 -0
  88. package/footer/Footer.d.ts +4 -0
  89. package/footer/Footer.js +260 -0
  90. package/footer/Footer.stories.tsx +130 -0
  91. package/footer/Icons.d.ts +2 -0
  92. package/{dist/footer → footer}/Icons.js +15 -15
  93. package/footer/types.d.ts +65 -0
  94. package/footer/types.js +5 -0
  95. package/header/Header.d.ts +7 -0
  96. package/header/Header.js +324 -0
  97. package/header/Header.stories.tsx +162 -0
  98. package/header/Icons.d.ts +2 -0
  99. package/{dist/header → header}/Icons.js +7 -32
  100. package/header/types.d.ts +47 -0
  101. package/header/types.js +5 -0
  102. package/heading/Heading.d.ts +4 -0
  103. package/{dist/heading → heading}/Heading.js +31 -90
  104. package/heading/Heading.stories.tsx +53 -0
  105. package/heading/types.d.ts +33 -0
  106. package/heading/types.js +5 -0
  107. package/{dist/input-text → input-text}/Icons.js +2 -2
  108. package/{dist/input-text → input-text}/InputText.js +38 -132
  109. package/input-text/index.d.ts +36 -0
  110. package/layout/ApplicationLayout.d.ts +10 -0
  111. package/{dist/layout → layout}/ApplicationLayout.js +39 -141
  112. package/layout/ApplicationLayout.stories.tsx +171 -0
  113. package/{dist/layout → layout}/Icons.js +7 -7
  114. package/layout/types.d.ts +57 -0
  115. package/layout/types.js +5 -0
  116. package/link/Link.d.ts +3 -0
  117. package/{dist/link → link}/Link.js +19 -95
  118. package/link/Link.stories.tsx +146 -0
  119. package/link/types.d.ts +74 -0
  120. package/link/types.js +5 -0
  121. package/list/List.d.ts +8 -0
  122. package/list/List.js +47 -0
  123. package/list/List.stories.tsx +85 -0
  124. package/main.d.ts +48 -0
  125. package/{dist/main.js → main.js} +116 -88
  126. package/number-input/NumberInput.d.ts +4 -0
  127. package/number-input/NumberInput.js +83 -0
  128. package/number-input/NumberInput.stories.tsx +115 -0
  129. package/number-input/NumberInputContext.d.ts +4 -0
  130. package/{dist/number-input → number-input}/NumberInputContext.js +5 -2
  131. package/number-input/numberInputContextTypes.d.ts +19 -0
  132. package/number-input/numberInputContextTypes.js +5 -0
  133. package/number-input/types.d.ts +117 -0
  134. package/number-input/types.js +5 -0
  135. package/package.json +32 -25
  136. package/{dist/paginator → paginator}/Icons.js +9 -9
  137. package/paginator/Paginator.d.ts +4 -0
  138. package/paginator/Paginator.js +192 -0
  139. package/paginator/Paginator.stories.tsx +63 -0
  140. package/paginator/types.d.ts +38 -0
  141. package/paginator/types.js +5 -0
  142. package/password-input/PasswordInput.d.ts +4 -0
  143. package/{dist/password-input → password-input}/PasswordInput.js +43 -78
  144. package/password-input/PasswordInput.stories.tsx +131 -0
  145. package/password-input/types.d.ts +107 -0
  146. package/password-input/types.js +5 -0
  147. package/progress-bar/ProgressBar.d.ts +4 -0
  148. package/{dist/progress-bar → progress-bar}/ProgressBar.js +22 -94
  149. package/progress-bar/ProgressBar.stories.jsx +58 -0
  150. package/progress-bar/types.d.ts +37 -0
  151. package/progress-bar/types.js +5 -0
  152. package/radio/Radio.d.ts +4 -0
  153. package/{dist/radio → radio}/Radio.js +17 -52
  154. package/radio/Radio.stories.tsx +192 -0
  155. package/radio/types.d.ts +54 -0
  156. package/radio/types.js +5 -0
  157. package/resultsetTable/ResultsetTable.d.ts +4 -0
  158. package/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +39 -146
  159. package/resultsetTable/ResultsetTable.stories.tsx +276 -0
  160. package/resultsetTable/types.d.ts +67 -0
  161. package/resultsetTable/types.js +5 -0
  162. package/row/Row.d.ts +11 -0
  163. package/row/Row.js +124 -0
  164. package/row/Row.stories.tsx +223 -0
  165. package/select/Select.js +863 -0
  166. package/select/Select.stories.tsx +572 -0
  167. package/select/index.d.ts +131 -0
  168. package/sidenav/Sidenav.d.ts +9 -0
  169. package/{dist/sidenav → sidenav}/Sidenav.js +21 -64
  170. package/sidenav/Sidenav.stories.tsx +165 -0
  171. package/sidenav/types.d.ts +50 -0
  172. package/sidenav/types.js +5 -0
  173. package/slider/Slider.d.ts +4 -0
  174. package/{dist/slider → slider}/Slider.js +74 -161
  175. package/slider/Slider.stories.tsx +177 -0
  176. package/slider/types.d.ts +78 -0
  177. package/slider/types.js +5 -0
  178. package/spinner/Spinner.d.ts +4 -0
  179. package/spinner/Spinner.js +250 -0
  180. package/spinner/Spinner.stories.jsx +102 -0
  181. package/spinner/types.d.ts +32 -0
  182. package/spinner/types.js +5 -0
  183. package/stack/Stack.d.ts +10 -0
  184. package/stack/Stack.js +94 -0
  185. package/stack/Stack.stories.tsx +150 -0
  186. package/switch/Switch.d.ts +4 -0
  187. package/{dist/switch → switch}/Switch.js +28 -71
  188. package/switch/Switch.stories.tsx +160 -0
  189. package/switch/types.d.ts +58 -0
  190. package/switch/types.js +5 -0
  191. package/table/Table.d.ts +4 -0
  192. package/{dist/table → table}/Table.js +12 -26
  193. package/table/Table.stories.jsx +276 -0
  194. package/table/types.d.ts +21 -0
  195. package/table/types.js +5 -0
  196. package/tabs/Tabs.d.ts +4 -0
  197. package/tabs/Tabs.js +213 -0
  198. package/tabs/Tabs.stories.tsx +121 -0
  199. package/tabs/types.d.ts +70 -0
  200. package/tabs/types.js +5 -0
  201. package/tag/Tag.d.ts +4 -0
  202. package/tag/Tag.js +193 -0
  203. package/tag/Tag.stories.tsx +145 -0
  204. package/tag/types.d.ts +60 -0
  205. package/tag/types.js +5 -0
  206. package/text/Text.d.ts +7 -0
  207. package/text/Text.js +30 -0
  208. package/text/Text.stories.tsx +19 -0
  209. package/text-input/TextInput.d.ts +4 -0
  210. package/{dist/text-input → text-input}/TextInput.js +270 -455
  211. package/text-input/TextInput.stories.tsx +456 -0
  212. package/text-input/types.d.ts +159 -0
  213. package/text-input/types.js +5 -0
  214. package/textarea/Textarea.d.ts +4 -0
  215. package/{dist/textarea → textarea}/Textarea.js +38 -123
  216. package/textarea/Textarea.stories.jsx +135 -0
  217. package/textarea/types.d.ts +130 -0
  218. package/textarea/types.js +5 -0
  219. package/{dist/toggle → toggle}/Toggle.js +16 -50
  220. package/toggle/index.d.ts +21 -0
  221. package/toggle-group/ToggleGroup.d.ts +4 -0
  222. package/{dist/toggle-group → toggle-group}/ToggleGroup.js +35 -148
  223. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  224. package/toggle-group/types.d.ts +97 -0
  225. package/toggle-group/types.js +5 -0
  226. package/{dist/upload → upload}/Upload.js +14 -18
  227. package/upload/buttons-upload/ButtonsUpload.js +111 -0
  228. package/{dist/upload → upload}/buttons-upload/Icons.js +7 -7
  229. package/upload/dragAndDropArea/DragAndDropArea.js +225 -0
  230. package/{dist/upload → upload}/dragAndDropArea/Icons.js +6 -6
  231. package/upload/file-upload/FileToUpload.js +115 -0
  232. package/{dist/upload → upload}/file-upload/Icons.js +13 -13
  233. package/{dist/upload → upload}/files-upload/FilesToUpload.js +13 -27
  234. package/upload/index.d.ts +15 -0
  235. package/{dist/upload → upload}/transaction/Icons.js +31 -31
  236. package/upload/transaction/Transaction.js +104 -0
  237. package/upload/transactions/Transactions.js +94 -0
  238. package/useTheme.d.ts +2 -0
  239. package/{dist/useTheme.js → useTheme.js} +1 -1
  240. package/wizard/Wizard.d.ts +4 -0
  241. package/wizard/Wizard.js +281 -0
  242. package/wizard/Wizard.stories.tsx +224 -0
  243. package/wizard/types.d.ts +60 -0
  244. package/wizard/types.js +5 -0
  245. package/README.md +0 -66
  246. package/babel.config.js +0 -8
  247. package/dist/BackgroundColorContext.js +0 -46
  248. package/dist/ThemeContext.js +0 -248
  249. package/dist/accordion-group/AccordionGroup.js +0 -186
  250. package/dist/alert/index.d.ts +0 -51
  251. package/dist/badge/Badge.js +0 -63
  252. package/dist/date-input/index.d.ts +0 -95
  253. package/dist/file-input/FileItem.js +0 -280
  254. package/dist/file-input/index.d.ts +0 -81
  255. package/dist/footer/Footer.js +0 -421
  256. package/dist/header/Header.js +0 -434
  257. package/dist/main.d.ts +0 -8
  258. package/dist/new-select/NewSelect.js +0 -836
  259. package/dist/new-select/index.d.ts +0 -53
  260. package/dist/number-input/NumberInput.js +0 -136
  261. package/dist/number-input/index.d.ts +0 -113
  262. package/dist/paginator/Paginator.js +0 -283
  263. package/dist/password-input/index.d.ts +0 -94
  264. package/dist/spinner/Spinner.js +0 -381
  265. package/dist/tabs/Tabs.js +0 -343
  266. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  267. package/dist/tag/Tag.js +0 -282
  268. package/dist/text-input/index.d.ts +0 -135
  269. package/dist/textarea/index.d.ts +0 -117
  270. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -135
  271. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  272. package/dist/upload/file-upload/FileToUpload.js +0 -189
  273. package/dist/upload/transaction/Transaction.js +0 -148
  274. package/dist/upload/transactions/Transactions.js +0 -138
  275. package/dist/wizard/Icons.js +0 -65
  276. package/dist/wizard/Wizard.js +0 -405
  277. package/test/Accordion.test.js +0 -33
  278. package/test/AccordionGroup.test.js +0 -125
  279. package/test/Alert.test.js +0 -53
  280. package/test/Box.test.js +0 -10
  281. package/test/Button.test.js +0 -18
  282. package/test/Card.test.js +0 -30
  283. package/test/Checkbox.test.js +0 -45
  284. package/test/Chip.test.js +0 -25
  285. package/test/Date.test.js +0 -397
  286. package/test/DateInput.test.js +0 -242
  287. package/test/Dialog.test.js +0 -23
  288. package/test/Dropdown.test.js +0 -145
  289. package/test/FileInput.test.js +0 -201
  290. package/test/Footer.test.js +0 -94
  291. package/test/Header.test.js +0 -34
  292. package/test/Heading.test.js +0 -35
  293. package/test/InputText.test.js +0 -248
  294. package/test/Link.test.js +0 -43
  295. package/test/NumberInput.test.js +0 -259
  296. package/test/Paginator.test.js +0 -177
  297. package/test/PasswordInput.test.js +0 -83
  298. package/test/ProgressBar.test.js +0 -35
  299. package/test/Radio.test.js +0 -37
  300. package/test/ResultsetTable.test.js +0 -329
  301. package/test/Select.test.js +0 -212
  302. package/test/Sidenav.test.js +0 -45
  303. package/test/Slider.test.js +0 -74
  304. package/test/Spinner.test.js +0 -32
  305. package/test/Switch.test.js +0 -45
  306. package/test/Table.test.js +0 -36
  307. package/test/Tabs.test.js +0 -109
  308. package/test/TabsForSections.test.js +0 -34
  309. package/test/Tag.test.js +0 -32
  310. package/test/TextInput.test.js +0 -732
  311. package/test/Textarea.test.js +0 -193
  312. package/test/ToggleGroup.test.js +0 -85
  313. package/test/Upload.test.js +0 -60
  314. package/test/V3TextArea.test.js +0 -51
  315. package/test/Wizard.test.js +0 -130
  316. package/test/mocks/pngMock.js +0 -1
  317. package/test/mocks/svgMock.js +0 -1
@@ -1,81 +0,0 @@
1
- type Size = "small" | "medium" | "large" | "fillParent";
2
- type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
- type Margin = {
4
- top?: Space;
5
- bottom?: Space;
6
- left?: Space;
7
- right?: Space;
8
- };
9
- type FileData = {
10
- error?: string;
11
- file?: File;
12
- preview?: string;
13
- };
14
-
15
- type Props = {
16
- /**
17
- * Name attribute of the file input element.
18
- */
19
- name?: string;
20
- /**
21
- * Text to be placed above the file input.
22
- */
23
- label?: string;
24
- /**
25
- * Uses one of the available file input modes:
26
- * 'file': Files are selected by clicking the button and selecting it through the file explorer.
27
- * 'filedrop': Files can be selected by clicking the button and selecting it through the file explorer or by dropping them inside the drag and drop area.
28
- * 'dropzone': Files can be selected by clicking the button and selecting it through the file explorer or by dropping them inside the drag and drop area.
29
- * The drag and drop area of this mode is bigger than the one of the filedrop mode.
30
- */
31
- mode?: "file" | "filedrop" | "dropzone";
32
- /**
33
- * Helper text to be placed above the file input.
34
- */
35
- helperText?: string;
36
- /**
37
- * Defines the file types accepted by the component. It is not possible to select a file with a non valid type.
38
- */
39
- accept?: string;
40
- /**
41
- * An array of FileData representing the selected files.
42
- */
43
- value?: FileData[];
44
- /**
45
- * Minimum file size allowed (in bytes). If the file size does not comply the minSize, an error will be passed to the FileData.
46
- */
47
- minSize?: number;
48
- /**
49
- * Maximum file size allowed (in bytes). If the file size does not comply the maxSize, an error will be passed to the FileData.
50
- */
51
- maxSize?: number;
52
- /**
53
- * If true and if the file is an image, a preview of it will be shown. If it is not an image, an icon refering to the file's type will be shown.
54
- * If mode is not multiple and there is one file already selected, the file will be replaced by the last selected one.
55
- */
56
- showPreview?: boolean;
57
- /**
58
- * If true, more than one file can be selected. If false, only one file can be selected.
59
- */
60
- multiple?: boolean;
61
- /**
62
- * If true, the component will be disabled.
63
- */
64
- disabled?: boolean;
65
- /**
66
- * This function will be called when the user selects or drops a file. The list of files will be sent as a parameter.
67
- * In this function, the files can be updated or returned as they come. These files must be passed to the value in order to be shown.
68
- */
69
- callbackFile?: (files: FileData[]) => void;
70
- /**
71
- * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
72
- * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
73
- */
74
- margin?: Space | Margin;
75
- /**
76
- * Value of the tabindex attribute.
77
- */
78
- tabIndex?: number;
79
- };
80
-
81
- export default function DxcTextInput(props: Props): JSX.Element;
@@ -1,421 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- exports["default"] = void 0;
11
-
12
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
-
14
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
-
16
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
17
-
18
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
-
20
- var _react = _interopRequireWildcard(require("react"));
21
-
22
- var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
-
24
- var _propTypes = _interopRequireDefault(require("prop-types"));
25
-
26
- var _variables = require("../common/variables.js");
27
-
28
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
29
-
30
- var _BackgroundColorContext = require("../BackgroundColorContext.js");
31
-
32
- var _Icons = _interopRequireDefault(require("./Icons"));
33
-
34
- function _templateObject13() {
35
- var data = (0, _taggedTemplateLiteral2["default"])(["\n text-decoration: ", ";\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"]);
36
-
37
- _templateObject13 = function _templateObject13() {
38
- return data;
39
- };
40
-
41
- return data;
42
- }
43
-
44
- function _templateObject12() {
45
- var data = (0, _taggedTemplateLiteral2["default"])(["\n margin: 0px 10px;\n color: ", ";\n"]);
46
-
47
- _templateObject12 = function _templateObject12() {
48
- return data;
49
- };
50
-
51
- return data;
52
- }
53
-
54
- function _templateObject11() {
55
- var data = (0, _taggedTemplateLiteral2["default"])(["\n & {\n display: inline-flex;\n height: ", ";\n width: ", ";\n color: ", ";\n }\n\n overflow: hidden;\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"]);
56
-
57
- _templateObject11 = function _templateObject11() {
58
- return data;
59
- };
60
-
61
- return data;
62
- }
63
-
64
- function _templateObject10() {
65
- var data = (0, _taggedTemplateLiteral2["default"])(["\n & {\n display: inline-flex;\n height: ", ";\n width: ", ";\n fill: ", ";\n }\n"]);
66
-
67
- _templateObject10 = function _templateObject10() {
68
- return data;
69
- };
70
-
71
- return data;
72
- }
73
-
74
- function _templateObject9() {
75
- var data = (0, _taggedTemplateLiteral2["default"])(["\n & {\n display: inline-flex;\n margin-left: ", ";\n }\n"]);
76
-
77
- _templateObject9 = function _templateObject9() {
78
- return data;
79
- };
80
-
81
- return data;
82
- }
83
-
84
- function _templateObject8() {
85
- var data = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n"]);
86
-
87
- _templateObject8 = function _templateObject8() {
88
- return data;
89
- };
90
-
91
- return data;
92
- }
93
-
94
- function _templateObject7() {
95
- var data = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n"]);
96
-
97
- _templateObject7 = function _templateObject7() {
98
- return data;
99
- };
100
-
101
- return data;
102
- }
103
-
104
- function _templateObject6() {
105
- var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n max-width: ", ";\n width: ", ";\n text-align: ", ";\n padding-top: ", ";\n"]);
106
-
107
- _templateObject6 = function _templateObject6() {
108
- return data;
109
- };
110
-
111
- return data;
112
- }
113
-
114
- function _templateObject5() {
115
- var data = (0, _taggedTemplateLiteral2["default"])(["\n min-height: 15px;\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n overflow: hidden;\n"]);
116
-
117
- _templateObject5 = function _templateObject5() {
118
- return data;
119
- };
120
-
121
- return data;
122
- }
123
-
124
- function _templateObject4() {
125
- var data = (0, _taggedTemplateLiteral2["default"])(["\n padding-top: ", ";\n display: inline-flex;\n flex-wrap: wrap;\n max-width: ", ";\n width: ", ";\n & > span:last-child span {\n display: none;\n }\n margin: ", ";\n"]);
126
-
127
- _templateObject4 = function _templateObject4() {
128
- return data;
129
- };
130
-
131
- return data;
132
- }
133
-
134
- function _templateObject3() {
135
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n align-items: flex-end;\n flex-direction: ", ";\n align-items: ", ";\n border-top: ", ";\n"]);
136
-
137
- _templateObject3 = function _templateObject3() {
138
- return data;
139
- };
140
-
141
- return data;
142
- }
143
-
144
- function _templateObject2() {
145
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n"]);
146
-
147
- _templateObject2 = function _templateObject2() {
148
- return data;
149
- };
150
-
151
- return data;
152
- }
153
-
154
- function _templateObject() {
155
- var data = (0, _taggedTemplateLiteral2["default"])(["\n padding: ", ";\n background-color: ", ";\n margin-top: ", ";\n width: 100%;\n box-sizing: border-box;\n min-height: ", ";\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n"]);
156
-
157
- _templateObject = function _templateObject() {
158
- return data;
159
- };
160
-
161
- return data;
162
- }
163
-
164
- var DxcFooter = function DxcFooter(_ref) {
165
- var _ref$socialLinks = _ref.socialLinks,
166
- socialLinks = _ref$socialLinks === void 0 ? [] : _ref$socialLinks,
167
- _ref$bottomLinks = _ref.bottomLinks,
168
- bottomLinks = _ref$bottomLinks === void 0 ? [] : _ref$bottomLinks,
169
- _ref$copyright = _ref.copyright,
170
- copyright = _ref$copyright === void 0 ? "" : _ref$copyright,
171
- children = _ref.children,
172
- padding = _ref.padding,
173
- margin = _ref.margin,
174
- _ref$tabIndex = _ref.tabIndex,
175
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
176
- var ref = (0, _react.useRef)(null);
177
-
178
- var _useState = (0, _react.useState)(),
179
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
180
- refSize = _useState2[0],
181
- setRefSize = _useState2[1];
182
-
183
- var _useState3 = (0, _react.useState)(false),
184
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
185
- isResponsiveTablet = _useState4[0],
186
- setIsResponsiveTablet = _useState4[1];
187
-
188
- var _useState5 = (0, _react.useState)(false),
189
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
190
- isResponsivePhone = _useState6[0],
191
- setIsResponsivePhone = _useState6[1];
192
-
193
- var colorsTheme = (0, _useTheme["default"])();
194
- var footerLogo = (0, _react.useMemo)(function () {
195
- if (!colorsTheme.footer.logo) {
196
- return _Icons["default"];
197
- }
198
-
199
- if (typeof colorsTheme.footer.logo === "string") {
200
- return _react["default"].createElement(LogoImg, {
201
- alt: "Logo",
202
- src: colorsTheme.footer.logo
203
- });
204
- }
205
-
206
- return colorsTheme.footer.logo;
207
- }, [colorsTheme.footer.logo]);
208
-
209
- var handleResize = function handleResize(refWidth) {
210
- if (ref.current) {
211
- setRefSize(refWidth);
212
-
213
- if (refWidth <= _variables.responsiveSizes.tablet && refWidth > _variables.responsiveSizes.mobileLarge) {
214
- setIsResponsiveTablet(true);
215
- setIsResponsivePhone(false);
216
- } else if (refWidth <= _variables.responsiveSizes.tablet && refWidth <= _variables.responsiveSizes.mobileLarge) {
217
- setIsResponsivePhone(true);
218
- setIsResponsiveTablet(false);
219
- } else {
220
- setIsResponsiveTablet(false);
221
- setIsResponsivePhone(false);
222
- }
223
- }
224
- };
225
-
226
- var handleEventListener = function handleEventListener() {
227
- handleResize(ref.current.offsetWidth);
228
- };
229
-
230
- (0, _react.useEffect)(function () {
231
- window.addEventListener("resize", handleEventListener);
232
- handleResize(ref.current.offsetWidth);
233
- return function () {
234
- window.removeEventListener("resize", handleEventListener);
235
- };
236
- }, []);
237
- var socialLink = socialLinks.map(function (link, index) {
238
- return _react["default"].createElement(SocialAnchor, {
239
- tabIndex: tabIndex,
240
- key: "social".concat(index).concat(link.href),
241
- index: index,
242
- href: link && link.href ? link.href : ""
243
- }, link.logo ? _react["default"].createElement(SocialIconContainer, null, (0, _typeof2["default"])(link.logo) === "object" ? link.logo : _react["default"].createElement(link.logo)) : link && link.logoSrc && _react["default"].createElement(SocialIcon, {
244
- src: link.logoSrc
245
- }));
246
- });
247
- var bottomLink = bottomLinks.map(function (link, index) {
248
- return _react["default"].createElement("span", {
249
- key: "bottom".concat(index).concat(link.text)
250
- }, _react["default"].createElement(BottomLink, {
251
- tabIndex: tabIndex,
252
- href: link && link.href ? link.href : ""
253
- }, link && link.text ? link.text : ""), _react["default"].createElement(Point, {
254
- index: index
255
- }, "\xB7"));
256
- });
257
- return _react["default"].createElement(_styledComponents.ThemeProvider, {
258
- theme: colorsTheme.footer
259
- }, _react["default"].createElement(FooterContainer, {
260
- margin: margin,
261
- refSize: refSize,
262
- ref: ref
263
- }, _react["default"].createElement(FooterHeader, null, _react["default"].createElement(LogoContainer, null, footerLogo), _react["default"].createElement("div", null, socialLink)), isResponsivePhone && _react["default"].createElement("div", null, _react["default"].createElement(FooterFooter, {
264
- className: "footerFooter",
265
- refSize: refSize
266
- }, _react["default"].createElement(BottomLinks, {
267
- refSize: refSize
268
- }, bottomLink), _react["default"].createElement(Copyright, {
269
- refSize: refSize
270
- }, copyright))), (!isResponsiveTablet && !isResponsivePhone || isResponsiveTablet) && _react["default"].createElement("div", null, _react["default"].createElement(ChildComponents, {
271
- padding: padding
272
- }, _react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
273
- color: colorsTheme.footer.backgroundColor
274
- }, children)), _react["default"].createElement(FooterFooter, {
275
- className: "footerFooter"
276
- }, _react["default"].createElement(BottomLinks, {
277
- refSize: refSize
278
- }, bottomLink), _react["default"].createElement(Copyright, {
279
- refSize: refSize
280
- }, copyright)))));
281
- };
282
-
283
- var FooterContainer = _styledComponents["default"].footer(_templateObject(), function (props) {
284
- return props.refSize <= _variables.responsiveSizes.mobileLarge ? "20px 20px 20px 20px" : "24px 36px 24px 36px";
285
- }, function (props) {
286
- return props.theme.backgroundColor;
287
- }, function (props) {
288
- return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
289
- }, function (props) {
290
- return props.theme.height;
291
- });
292
-
293
- var FooterHeader = _styledComponents["default"].div(_templateObject2());
294
-
295
- var FooterFooter = _styledComponents["default"].div(_templateObject3(), function (props) {
296
- return props.refSize <= _variables.responsiveSizes.mobileLarge ? "column" : "row";
297
- }, function (props) {
298
- return props.refSize <= _variables.responsiveSizes.mobileLarge ? "center" : "";
299
- }, function (props) {
300
- return "".concat(props.theme.bottomLinksDividerThickness, " ").concat(props.theme.bottomLinksDividerStyle, " ").concat(props.theme.bottomLinksDividerColor);
301
- });
302
-
303
- var BottomLinks = _styledComponents["default"].div(_templateObject4(), function (props) {
304
- return props.theme.bottomLinksDividerSpacing;
305
- }, function (props) {
306
- return props.refSize <= _variables.responsiveSizes.mobileLarge ? "100%" : "60%";
307
- }, function (props) {
308
- return props.refSize <= _variables.responsiveSizes.mobileLarge ? "100%" : "";
309
- }, function (props) {
310
- return props.refSize <= _variables.responsiveSizes.mobileLarge ? "40px 0 40px 0" : "";
311
- });
312
-
313
- var ChildComponents = _styledComponents["default"].div(_templateObject5(), function (props) {
314
- return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
315
- }, function (props) {
316
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
317
- }, function (props) {
318
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.right ? _variables.spaces[props.padding.right] : "";
319
- }, function (props) {
320
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
321
- }, function (props) {
322
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
323
- });
324
-
325
- var Copyright = _styledComponents["default"].div(_templateObject6(), function (props) {
326
- return props.theme.copyrightFontFamily;
327
- }, function (props) {
328
- return props.theme.copyrightFontSize;
329
- }, function (props) {
330
- return props.theme.copyrightFontStyle;
331
- }, function (props) {
332
- return props.theme.copyrightFontWeight;
333
- }, function (props) {
334
- return props.theme.copyrightFontColor;
335
- }, function (props) {
336
- return props.refSize <= _variables.responsiveSizes.mobileLarge ? "100%" : "40%";
337
- }, function (props) {
338
- return props.refSize <= _variables.responsiveSizes.mobileLarge ? "100%" : "";
339
- }, function (props) {
340
- return props.refSize <= _variables.responsiveSizes.mobileLarge ? "center" : "right";
341
- }, function (props) {
342
- return props.theme.bottomLinksDividerSpacing;
343
- });
344
-
345
- var LogoContainer = _styledComponents["default"].div(_templateObject7(), function (props) {
346
- return props.theme.logoHeight;
347
- }, function (props) {
348
- return props.theme.logoWidth;
349
- });
350
-
351
- var LogoImg = _styledComponents["default"].img(_templateObject8(), function (props) {
352
- return props.theme.logoHeight;
353
- }, function (props) {
354
- return props.theme.logoWidth;
355
- });
356
-
357
- var SocialAnchor = _styledComponents["default"].a(_templateObject9(), function (props) {
358
- return props.index === 0 ? "0px" : props.theme.socialLinksGutter;
359
- });
360
-
361
- var SocialIcon = _styledComponents["default"].img(_templateObject10(), function (props) {
362
- return props.theme.socialLinksSize;
363
- }, function (props) {
364
- return props.theme.socialLinksSize;
365
- }, function (props) {
366
- return props.theme.socialLinksColor;
367
- });
368
-
369
- var SocialIconContainer = _styledComponents["default"].div(_templateObject11(), function (props) {
370
- return props.theme.socialLinksSize;
371
- }, function (props) {
372
- return props.theme.socialLinksSize;
373
- }, function (props) {
374
- return props.theme.socialLinksColor;
375
- });
376
-
377
- var Point = _styledComponents["default"].span(_templateObject12(), function (props) {
378
- return props.theme.bottomLinksFontColor;
379
- });
380
-
381
- var BottomLink = _styledComponents["default"].a(_templateObject13(), function (props) {
382
- return props.theme.bottomLinksTextDecoration;
383
- }, function (props) {
384
- return props.theme.bottomLinksFontColor;
385
- }, function (props) {
386
- return props.theme.bottomLinksFontFamily;
387
- }, function (props) {
388
- return props.theme.bottomLinksFontSize;
389
- }, function (props) {
390
- return props.theme.bottomLinksFontStyle;
391
- }, function (props) {
392
- return props.theme.bottomLinksFontWeight;
393
- });
394
-
395
- DxcFooter.propTypes = {
396
- socialLinks: _propTypes["default"].arrayOf(_propTypes["default"].shape({
397
- logo: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
398
- logoSrc: _propTypes["default"].string.isRequired,
399
- href: _propTypes["default"].string
400
- })),
401
- bottomLinks: _propTypes["default"].arrayOf(_propTypes["default"].shape({
402
- text: _propTypes["default"].string.isRequired,
403
- href: _propTypes["default"].string
404
- })),
405
- copyright: _propTypes["default"].string,
406
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
407
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
408
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
409
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
410
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
411
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
412
- padding: _propTypes["default"].oneOfType([_propTypes["default"].shape({
413
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
414
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
415
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
416
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
417
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
418
- tabIndex: _propTypes["default"].number
419
- };
420
- var _default = DxcFooter;
421
- exports["default"] = _default;