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

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 (137) hide show
  1. package/accordion/Accordion.d.ts +4 -0
  2. package/accordion/Accordion.js +12 -43
  3. package/accordion/types.d.ts +68 -0
  4. package/accordion/types.js +5 -0
  5. package/accordion-group/AccordionGroup.d.ts +7 -0
  6. package/accordion-group/AccordionGroup.js +58 -72
  7. package/accordion-group/types.d.ts +72 -0
  8. package/accordion-group/types.js +5 -0
  9. package/alert/Alert.stories.tsx +170 -0
  10. package/box/Box.d.ts +4 -0
  11. package/box/Box.js +9 -32
  12. package/box/Box.stories.tsx +132 -0
  13. package/box/types.d.ts +47 -0
  14. package/box/types.js +5 -0
  15. package/button/Button.d.ts +1 -1
  16. package/button/Button.js +7 -12
  17. package/button/Button.stories.tsx +244 -274
  18. package/button/types.d.ts +10 -10
  19. package/card/Card.d.ts +4 -0
  20. package/card/Card.js +13 -48
  21. package/card/types.d.ts +69 -0
  22. package/card/types.js +5 -0
  23. package/checkbox/Checkbox.stories.tsx +192 -0
  24. package/checkbox/types.d.ts +2 -3
  25. package/chip/Chip.stories.tsx +121 -0
  26. package/common/variables.js +30 -22
  27. package/date-input/DateInput.d.ts +4 -0
  28. package/date-input/DateInput.js +3 -38
  29. package/date-input/DateInput.stories.tsx +138 -0
  30. package/date-input/types.d.ts +100 -0
  31. package/date-input/types.js +5 -0
  32. package/dialog/Dialog.d.ts +4 -0
  33. package/dialog/Dialog.js +4 -23
  34. package/dialog/Dialog.stories.tsx +212 -0
  35. package/dialog/types.d.ts +43 -0
  36. package/dialog/types.js +5 -0
  37. package/dropdown/Dropdown.d.ts +4 -0
  38. package/dropdown/Dropdown.js +7 -40
  39. package/dropdown/types.d.ts +89 -0
  40. package/dropdown/types.js +5 -0
  41. package/footer/Footer.d.ts +4 -0
  42. package/footer/Footer.js +4 -35
  43. package/footer/Footer.stories.jsx +151 -0
  44. package/footer/types.d.ts +61 -0
  45. package/footer/types.js +5 -0
  46. package/header/Header.d.ts +7 -0
  47. package/header/Header.js +26 -28
  48. package/header/Icons.js +2 -27
  49. package/header/types.d.ts +45 -0
  50. package/header/types.js +5 -0
  51. package/link/Link.d.ts +3 -0
  52. package/link/Link.js +1 -23
  53. package/link/Link.stories.tsx +70 -0
  54. package/link/types.d.ts +74 -0
  55. package/link/types.js +5 -0
  56. package/number-input/NumberInput.d.ts +4 -0
  57. package/number-input/NumberInput.js +2 -44
  58. package/number-input/NumberInput.stories.tsx +115 -0
  59. package/number-input/types.d.ts +117 -0
  60. package/number-input/types.js +5 -0
  61. package/package.json +3 -3
  62. package/paginator/Paginator.stories.tsx +63 -0
  63. package/password-input/PasswordInput.d.ts +4 -0
  64. package/password-input/PasswordInput.js +2 -39
  65. package/password-input/PasswordInput.stories.tsx +131 -0
  66. package/password-input/types.d.ts +100 -0
  67. package/password-input/types.js +5 -0
  68. package/progress-bar/ProgressBar.d.ts +4 -0
  69. package/progress-bar/ProgressBar.js +3 -21
  70. package/progress-bar/ProgressBar.stories.jsx +58 -0
  71. package/progress-bar/types.d.ts +37 -0
  72. package/progress-bar/types.js +5 -0
  73. package/radio/Radio.d.ts +4 -0
  74. package/radio/Radio.js +3 -24
  75. package/radio/Radio.stories.tsx +192 -0
  76. package/radio/types.d.ts +54 -0
  77. package/radio/types.js +5 -0
  78. package/select/Select.stories.tsx +572 -0
  79. package/select/index.d.ts +4 -4
  80. package/sidenav/Sidenav.d.ts +9 -0
  81. package/sidenav/Sidenav.js +4 -13
  82. package/sidenav/types.d.ts +50 -0
  83. package/sidenav/types.js +5 -0
  84. package/slider/Slider.d.ts +4 -0
  85. package/slider/Slider.js +59 -82
  86. package/slider/Slider.stories.tsx +177 -0
  87. package/slider/types.d.ts +78 -0
  88. package/slider/types.js +5 -0
  89. package/spinner/Spinner.d.ts +4 -0
  90. package/spinner/Spinner.js +6 -23
  91. package/spinner/Spinner.stories.jsx +102 -0
  92. package/spinner/types.d.ts +32 -0
  93. package/spinner/types.js +5 -0
  94. package/switch/Switch.js +2 -2
  95. package/switch/Switch.stories.tsx +160 -0
  96. package/table/Table.d.ts +4 -0
  97. package/table/Table.stories.jsx +276 -0
  98. package/table/types.d.ts +21 -0
  99. package/table/types.js +5 -0
  100. package/tabs/Tabs.d.ts +4 -0
  101. package/tabs/Tabs.js +5 -53
  102. package/tabs/types.d.ts +71 -0
  103. package/tabs/types.js +5 -0
  104. package/tag/Tag.d.ts +4 -0
  105. package/tag/Tag.js +20 -35
  106. package/tag/Tag.stories.tsx +145 -0
  107. package/tag/types.d.ts +60 -0
  108. package/tag/types.js +5 -0
  109. package/text-input/index.d.ts +2 -2
  110. package/textarea/Textarea.stories.jsx +135 -0
  111. package/toggle-group/ToggleGroup.stories.tsx +178 -0
  112. package/wizard/Wizard.d.ts +4 -0
  113. package/wizard/Wizard.js +11 -51
  114. package/wizard/Wizard.stories.jsx +224 -0
  115. package/wizard/types.d.ts +64 -0
  116. package/wizard/types.js +5 -0
  117. package/accordion/index.d.ts +0 -28
  118. package/accordion-group/index.d.ts +0 -16
  119. package/box/index.d.ts +0 -25
  120. package/card/index.d.ts +0 -22
  121. package/date-input/index.d.ts +0 -95
  122. package/dialog/index.d.ts +0 -18
  123. package/dropdown/index.d.ts +0 -26
  124. package/footer/index.d.ts +0 -25
  125. package/header/index.d.ts +0 -25
  126. package/link/index.d.ts +0 -23
  127. package/number-input/index.d.ts +0 -113
  128. package/password-input/index.d.ts +0 -94
  129. package/progress-bar/index.d.ts +0 -18
  130. package/radio/index.d.ts +0 -23
  131. package/sidenav/index.d.ts +0 -13
  132. package/slider/index.d.ts +0 -29
  133. package/spinner/index.d.ts +0 -17
  134. package/table/index.d.ts +0 -13
  135. package/tabs/index.d.ts +0 -19
  136. package/tag/index.d.ts +0 -24
  137. package/wizard/index.d.ts +0 -18
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import DropdownPropsType from "./types";
3
+ declare const DxcDropdown: ({ options, optionsIconPosition, icon, iconSrc, iconPosition, label, caretHidden, onSelectOption, expandOnHover, margin, size, tabIndex, disabled, }: DropdownPropsType) => JSX.Element;
4
+ export default DxcDropdown;
@@ -9,8 +9,6 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports["default"] = void 0;
11
11
 
12
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
-
14
12
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
13
 
16
14
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
@@ -21,8 +19,6 @@ var _react = _interopRequireWildcard(require("react"));
21
19
 
22
20
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
21
 
24
- var _propTypes = _interopRequireDefault(require("prop-types"));
25
-
26
22
  var _Popper = _interopRequireDefault(require("@material-ui/core/Popper"));
27
23
 
28
24
  var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem"));
@@ -48,8 +44,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
48
44
  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; }
49
45
 
50
46
  var DxcDropdown = function DxcDropdown(_ref) {
51
- var _ref$options = _ref.options,
52
- options = _ref$options === void 0 ? [] : _ref$options,
47
+ var options = _ref.options,
53
48
  _ref$optionsIconPosit = _ref.optionsIconPosition,
54
49
  optionsIconPosition = _ref$optionsIconPosit === void 0 ? "before" : _ref$optionsIconPosit,
55
50
  icon = _ref.icon,
@@ -59,18 +54,18 @@ var DxcDropdown = function DxcDropdown(_ref) {
59
54
  iconPosition = _ref$iconPosition === void 0 ? "before" : _ref$iconPosition,
60
55
  _ref$label = _ref.label,
61
56
  label = _ref$label === void 0 ? "" : _ref$label,
62
- _ref$disabled = _ref.disabled,
63
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
64
57
  _ref$caretHidden = _ref.caretHidden,
65
58
  caretHidden = _ref$caretHidden === void 0 ? false : _ref$caretHidden,
66
59
  onSelectOption = _ref.onSelectOption,
60
+ _ref$expandOnHover = _ref.expandOnHover,
61
+ expandOnHover = _ref$expandOnHover === void 0 ? false : _ref$expandOnHover,
67
62
  margin = _ref.margin,
68
63
  _ref$size = _ref.size,
69
64
  size = _ref$size === void 0 ? "fitContent" : _ref$size,
70
- _ref$expandOnHover = _ref.expandOnHover,
71
- expandOnHover = _ref$expandOnHover === void 0 ? false : _ref$expandOnHover,
72
65
  _ref$tabIndex = _ref.tabIndex,
73
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
66
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,
67
+ _ref$disabled = _ref.disabled,
68
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled;
74
69
 
75
70
  var _useState = (0, _react.useState)(),
76
71
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
@@ -106,10 +101,7 @@ var DxcDropdown = function DxcDropdown(_ref) {
106
101
 
107
102
  function handleMenuItemClick(option) {
108
103
  setAnchorEl(null);
109
-
110
- if (typeof onSelectOption === "function") {
111
- onSelectOption(option.value);
112
- }
104
+ onSelectOption(option.value);
113
105
  }
114
106
 
115
107
  function handleClose() {
@@ -421,30 +413,5 @@ var CaretIconContainer = _styledComponents["default"].div(_templateObject10 || (
421
413
  return props.theme.caretIconSize;
422
414
  });
423
415
 
424
- DxcDropdown.propTypes = {
425
- size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
426
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
427
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
428
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
429
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
430
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
431
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
432
- optionsIconPosition: _propTypes["default"].oneOf(["after", "before", ""]),
433
- icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
434
- iconSrc: _propTypes["default"].string,
435
- iconPosition: _propTypes["default"].oneOf(["after", "before", ""]),
436
- label: _propTypes["default"].string,
437
- caretHidden: _propTypes["default"].bool,
438
- disabled: _propTypes["default"].bool,
439
- expandOnHover: _propTypes["default"].bool,
440
- onSelectOption: _propTypes["default"].func,
441
- options: _propTypes["default"].arrayOf(_propTypes["default"].shape({
442
- value: _propTypes["default"].any.isRequired,
443
- label: _propTypes["default"].any.isRequired,
444
- icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
445
- iconSrc: _propTypes["default"].string
446
- })),
447
- tabIndex: _propTypes["default"].number
448
- };
449
416
  var _default = DxcDropdown;
450
417
  exports["default"] = _default;
@@ -0,0 +1,89 @@
1
+ /// <reference types="react" />
2
+ declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ declare type Margin = {
4
+ top?: Space;
5
+ bottom?: Space;
6
+ left?: Space;
7
+ right?: Space;
8
+ };
9
+ declare type SVG = React.SVGProps<SVGSVGElement> | React.FunctionComponent<React.SVGProps<SVGSVGElement>>;
10
+ declare type Option = {
11
+ /**
12
+ * Option display value.
13
+ */
14
+ label?: string;
15
+ /**
16
+ * Element used as the icon that will be placed next to the
17
+ * option label.
18
+ */
19
+ icon?: SVG;
20
+ /**
21
+ * @deprecated URL of the icon that will be placed next to the option label.
22
+ */
23
+ iconSrc?: string;
24
+ /**
25
+ * Option inner value.
26
+ */
27
+ value: string;
28
+ };
29
+ declare type Props = {
30
+ /**
31
+ * An array of objects representing the options.
32
+ */
33
+ options: [Option, ...Option[]];
34
+ /**
35
+ * In case options include icons, whether the icon should appear
36
+ * after or before the label.
37
+ */
38
+ optionsIconPosition?: "before" | "after";
39
+ /**
40
+ * Element used as the icon that will be placed next to the
41
+ * dropdown label.
42
+ */
43
+ icon?: SVG;
44
+ /**
45
+ * @deprecated URL of the icon that will be placed next to the
46
+ * dropdown label.
47
+ */
48
+ iconSrc?: string;
49
+ /**
50
+ * Whether the icon should appear after or before the label.
51
+ */
52
+ iconPosition?: "before" | "after";
53
+ /**
54
+ * Text to be placed within the dropdown.
55
+ */
56
+ label?: string;
57
+ /**
58
+ * Whether the arrow next to the label must be displayed or not.
59
+ */
60
+ caretHidden?: boolean;
61
+ /**
62
+ * This function will be called every time the selection changes.
63
+ * The value of the selected option will be passed as a parameter.
64
+ */
65
+ onSelectOption: (value: string) => void;
66
+ /**
67
+ * If true, the options are showed when the dropdown is hover.
68
+ */
69
+ expandOnHover?: boolean;
70
+ /**
71
+ * Size of the margin to be applied to the component.
72
+ * You can pass an object with 'top', 'bottom', 'left' and 'right'
73
+ * properties in order to specify different margin sizes.
74
+ */
75
+ margin?: Space | Margin;
76
+ /**
77
+ * Size of the component.
78
+ */
79
+ size?: "small" | "medium" | "large" | "fillParent" | "fitContent";
80
+ /**
81
+ * Value of the tabindex.
82
+ */
83
+ tabIndex?: number;
84
+ /**
85
+ * If true, the component will be disabled.
86
+ */
87
+ disabled?: boolean;
88
+ };
89
+ export default Props;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import FooterPropsType from "./types";
3
+ declare const DxcFooter: ({ socialLinks, bottomLinks, copyright, children, padding, margin, tabIndex }: FooterPropsType) => JSX.Element;
4
+ export default DxcFooter;
package/footer/Footer.js CHANGED
@@ -9,8 +9,6 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports["default"] = void 0;
11
11
 
12
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
-
14
12
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
13
 
16
14
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
@@ -21,8 +19,6 @@ var _react = _interopRequireWildcard(require("react"));
21
19
 
22
20
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
21
 
24
- var _propTypes = _interopRequireDefault(require("prop-types"));
25
-
26
22
  var _variables = require("../common/variables.js");
27
23
 
28
24
  var _useTheme = _interopRequireDefault(require("../useTheme.js"));
@@ -38,10 +34,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
38
34
  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
35
 
40
36
  var DxcFooter = function DxcFooter(_ref) {
41
- var _ref$socialLinks = _ref.socialLinks,
42
- socialLinks = _ref$socialLinks === void 0 ? [] : _ref$socialLinks,
43
- _ref$bottomLinks = _ref.bottomLinks,
44
- bottomLinks = _ref$bottomLinks === void 0 ? [] : _ref$bottomLinks,
37
+ var socialLinks = _ref.socialLinks,
38
+ bottomLinks = _ref.bottomLinks,
45
39
  _ref$copyright = _ref.copyright,
46
40
  copyright = _ref$copyright === void 0 ? "" : _ref$copyright,
47
41
  children = _ref.children,
@@ -110,7 +104,7 @@ var DxcFooter = function DxcFooter(_ref) {
110
104
  window.removeEventListener("resize", handleEventListener);
111
105
  };
112
106
  }, []);
113
- var socialLink = socialLinks.map(function (link, index) {
107
+ var socialLink = socialLinks === null || socialLinks === void 0 ? void 0 : socialLinks.map(function (link, index) {
114
108
  return /*#__PURE__*/_react["default"].createElement(SocialAnchor, {
115
109
  tabIndex: tabIndex,
116
110
  key: "social".concat(index).concat(link.href),
@@ -120,7 +114,7 @@ var DxcFooter = function DxcFooter(_ref) {
120
114
  src: link.logoSrc
121
115
  }));
122
116
  });
123
- var bottomLink = bottomLinks.map(function (link, index) {
117
+ var bottomLink = bottomLinks === null || bottomLinks === void 0 ? void 0 : bottomLinks.map(function (link, index) {
124
118
  return /*#__PURE__*/_react["default"].createElement("span", {
125
119
  key: "bottom".concat(index).concat(link.text)
126
120
  }, /*#__PURE__*/_react["default"].createElement(BottomLink, {
@@ -268,30 +262,5 @@ var BottomLink = _styledComponents["default"].a(_templateObject13 || (_templateO
268
262
  return props.theme.bottomLinksFontWeight;
269
263
  });
270
264
 
271
- DxcFooter.propTypes = {
272
- socialLinks: _propTypes["default"].arrayOf(_propTypes["default"].shape({
273
- logo: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
274
- logoSrc: _propTypes["default"].string.isRequired,
275
- href: _propTypes["default"].string
276
- })),
277
- bottomLinks: _propTypes["default"].arrayOf(_propTypes["default"].shape({
278
- text: _propTypes["default"].string.isRequired,
279
- href: _propTypes["default"].string
280
- })),
281
- copyright: _propTypes["default"].string,
282
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
283
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
284
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
285
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
286
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
287
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
288
- padding: _propTypes["default"].oneOfType([_propTypes["default"].shape({
289
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
290
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
291
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
292
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
293
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
294
- tabIndex: _propTypes["default"].number
295
- };
296
265
  var _default = DxcFooter;
297
266
  exports["default"] = _default;
@@ -0,0 +1,151 @@
1
+ import React from "react";
2
+ import DxcFooter from "./Footer";
3
+ import Title from "../../.storybook/components/Title";
4
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
+
6
+ const social = [
7
+ {
8
+ href: "https://www.linkedin.com/company/dxctechnology",
9
+ logo: (
10
+ <svg version="1.1" id="Capa_1" x="0px" y="0px" viewBox="0 0 438.536 438.536" fill="currentColor">
11
+ <g>
12
+ <path
13
+ d="M414.41,24.123C398.333,8.042,378.963,0,356.315,0H82.228C59.58,0,40.21,8.042,24.126,24.123
14
+ C8.045,40.207,0.003,59.576,0.003,82.225v274.084c0,22.647,8.042,42.018,24.123,58.102c16.084,16.084,35.454,24.126,58.102,24.126
15
+ h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225
16
+ C438.532,59.576,430.49,40.204,414.41,24.123z M133.618,367.157H67.666V169.016h65.952V367.157z M127.626,132.332
17
+ c-6.851,6.567-15.893,9.851-27.124,9.851h-0.288c-10.848,0-19.648-3.284-26.407-9.851c-6.76-6.567-10.138-14.703-10.138-24.41
18
+ c0-9.897,3.476-18.083,10.421-24.556c6.95-6.471,15.942-9.708,26.98-9.708c11.039,0,19.89,3.237,26.553,9.708
19
+ c6.661,6.473,10.088,14.659,10.277,24.556C137.899,117.625,134.477,125.761,127.626,132.332z M370.873,367.157h-65.952v-105.92
20
+ c0-29.879-11.036-44.823-33.116-44.823c-8.374,0-15.42,2.331-21.128,6.995c-5.715,4.661-9.996,10.324-12.847,16.991
21
+ c-1.335,3.422-1.999,8.75-1.999,15.981v110.775h-65.952c0.571-119.529,0.571-185.579,0-198.142h65.952v27.974
22
+ c13.867-21.681,33.558-32.544,59.101-32.544c22.84,0,41.21,7.52,55.104,22.554c13.895,15.037,20.841,37.214,20.841,66.519v113.64
23
+ H370.873z"
24
+ />
25
+ </g>
26
+ </svg>
27
+ ),
28
+ },
29
+ {
30
+ href: "https://twitter.com/dxctechnology",
31
+ logo: (
32
+ <svg version="1.1" id="Capa_1" x="0px" y="0px" viewBox="0 0 438.536 438.536" fill="currentColor">
33
+ <g>
34
+ <path
35
+ d="M414.41,24.123C398.333,8.042,378.963,0,356.315,0H82.228C59.58,0,40.21,8.042,24.126,24.123
36
+ C8.045,40.207,0.003,59.576,0.003,82.225v274.084c0,22.647,8.042,42.018,24.123,58.102c16.084,16.084,35.454,24.126,58.102,24.126
37
+ h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225
38
+ C438.532,59.576,430.49,40.204,414.41,24.123z M335.471,168.735c0.191,1.713,0.288,4.278,0.288,7.71
39
+ c0,15.989-2.334,32.025-6.995,48.104c-4.661,16.087-11.8,31.504-21.416,46.254c-9.606,14.749-21.074,27.791-34.396,39.115
40
+ c-13.325,11.32-29.311,20.365-47.968,27.117c-18.648,6.762-38.637,10.143-59.953,10.143c-33.116,0-63.76-8.952-91.931-26.836
41
+ c4.568,0.568,9.329,0.855,14.275,0.855c27.6,0,52.439-8.565,74.519-25.7c-12.941-0.185-24.506-4.179-34.688-11.991
42
+ c-10.185-7.803-17.273-17.699-21.271-29.691c4.947,0.76,8.658,1.137,11.132,1.137c4.187,0,9.042-0.76,14.56-2.279
43
+ c-13.894-2.669-25.598-9.562-35.115-20.697c-9.519-11.136-14.277-23.84-14.277-38.114v-0.571
44
+ c10.085,4.755,19.602,7.229,28.549,7.422c-17.321-11.613-25.981-28.265-25.981-49.963c0-10.66,2.758-20.747,8.278-30.264
45
+ c15.035,18.464,33.311,33.213,54.816,44.252c21.507,11.038,44.54,17.227,69.092,18.558c-0.95-3.616-1.427-8.186-1.427-13.704
46
+ c0-16.562,5.853-30.692,17.56-42.399c11.703-11.706,25.837-17.561,42.394-17.561c17.515,0,32.079,6.283,43.688,18.846
47
+ c13.134-2.474,25.892-7.33,38.26-14.56c-4.757,14.652-13.613,25.788-26.55,33.402c12.368-1.716,23.88-4.95,34.537-9.708
48
+ C357.458,149.793,347.462,160.166,335.471,168.735z"
49
+ />
50
+ </g>
51
+ </svg>
52
+ ),
53
+ },
54
+ {
55
+ href: "https://www.facebook.com/DXCTechnology/",
56
+ logo: (
57
+ <svg
58
+ version="1.1"
59
+ id="Capa_1"
60
+ x="0px"
61
+ y="0px"
62
+ viewBox="0 0 438.536 438.536"
63
+ fill="currentColor"
64
+ width="1000px"
65
+ height="500px"
66
+ >
67
+ <g>
68
+ <path
69
+ d="M414.41,24.123C398.333,8.042,378.963,0,356.315,0H82.228C59.58,0,40.21,8.042,24.126,24.123
70
+ C8.045,40.207,0.003,59.576,0.003,82.225v274.084c0,22.647,8.042,42.018,24.123,58.102c16.084,16.084,35.454,24.126,58.102,24.126
71
+ h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225
72
+ C438.532,59.576,430.49,40.204,414.41,24.123z M373.155,225.548h-49.963V406.84h-74.802V225.548H210.99V163.02h37.401v-37.402
73
+ c0-26.838,6.283-47.107,18.843-60.813c12.559-13.706,33.304-20.555,62.242-20.555h49.963v62.526h-31.401
74
+ c-10.663,0-17.467,1.853-20.417,5.568c-2.949,3.711-4.428,10.23-4.428,19.558v31.119h56.534L373.155,225.548z"
75
+ />
76
+ </g>
77
+ </svg>
78
+ ),
79
+ },
80
+ ];
81
+
82
+ const bottom = [
83
+ {
84
+ href: "https://www.linkedin.com/company/dxctechnology",
85
+ text: "Linkedin",
86
+ },
87
+ {
88
+ href: "https://twitter.com/dxctechnology",
89
+ text: "Twitter",
90
+ },
91
+ {
92
+ href: "https://www.facebook.com/DXCTechnology/",
93
+ text: "Facebook",
94
+ },
95
+ ];
96
+
97
+ export default {
98
+ title: "Footer",
99
+ component: DxcFooter,
100
+ };
101
+
102
+ export const Chromatic = () => (
103
+ <>
104
+ <ExampleContainer>
105
+ <Title title="Default" theme="light" level={4} />
106
+ <DxcFooter />
107
+ </ExampleContainer>
108
+ <ExampleContainer>
109
+ <Title title="With children, copyright, bottom links and social links" theme="light" level={4} />
110
+ <DxcFooter copyright="Copyright" socialLinks={social} bottomLinks={bottom}>
111
+ <div>
112
+ <a href="https://www.linkedin.com/company/dxctechnology">Linkedin</a>
113
+ </div>
114
+ </DxcFooter>
115
+ </ExampleContainer>
116
+ <Title title="Margins" theme="light" level={2} />
117
+ <ExampleContainer>
118
+ <Title title="Xxsmall margin" theme="light" level={4} />
119
+ <DxcFooter margin="xxsmall"></DxcFooter>
120
+ <Title title="Xsmall margin" theme="light" level={4} />
121
+ <DxcFooter margin="xsmall"></DxcFooter>
122
+ <Title title="Small margin" theme="light" level={4} />
123
+ <DxcFooter margin="small"></DxcFooter>
124
+ <Title title="Medium margin" theme="light" level={4} />
125
+ <DxcFooter margin="medium"></DxcFooter>
126
+ <Title title="Large margin" theme="light" level={4} />
127
+ <DxcFooter margin="large"></DxcFooter>
128
+ <Title title="Xlarge margin" theme="light" level={4} />
129
+ <DxcFooter margin="xlarge"></DxcFooter>
130
+ <Title title="Xxlarge margin" theme="light" level={4} />
131
+ <DxcFooter margin="xxlarge"></DxcFooter>
132
+ </ExampleContainer>
133
+ <Title title="Padding" theme="light" level={2} />
134
+ <ExampleContainer>
135
+ <Title title="Xxsmall padding" theme="light" level={4} />
136
+ <DxcFooter padding="xxsmall"></DxcFooter>
137
+ <Title title="Xsmall padding" theme="light" level={4} />
138
+ <DxcFooter padding="xsmall"></DxcFooter>
139
+ <Title title="Small padding" theme="light" level={4} />
140
+ <DxcFooter padding="small"></DxcFooter>
141
+ <Title title="Medium padding" theme="light" level={4} />
142
+ <DxcFooter padding="medium"></DxcFooter>
143
+ <Title title="Large padding" theme="light" level={4} />
144
+ <DxcFooter padding="large"></DxcFooter>
145
+ <Title title="Xlarge padding" theme="light" level={4} />
146
+ <DxcFooter padding="xlarge"></DxcFooter>
147
+ <Title title="Xxlarge padding" theme="light" level={4} />
148
+ <DxcFooter padding="xxlarge"></DxcFooter>
149
+ </ExampleContainer>
150
+ </>
151
+ );
@@ -0,0 +1,61 @@
1
+ /// <reference types="react" />
2
+ declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ declare type Size = {
4
+ top?: Space;
5
+ bottom?: Space;
6
+ left?: Space;
7
+ right?: Space;
8
+ };
9
+ declare type SocialLink = {
10
+ logo?: ImgElement;
11
+ logoSrc?: string;
12
+ href?: string;
13
+ };
14
+ declare type BottomLink = {
15
+ text?: string;
16
+ href?: string;
17
+ };
18
+ declare type ImgElement = HTMLElement & (SVGElement | HTMLImageElement);
19
+ declare type FooterPropsType = {
20
+ /**
21
+ * An array of objects representing the links that will be rendered as
22
+ * icons at the top-right side of the footer. Each object has the
23
+ * following properties:
24
+ * - logo: Element used as the icon for the link.
25
+ * - logoSrc: The path of an icon for the link. @deprecated
26
+ * - href: URL of the page the link goes to.
27
+ */
28
+ socialLinks?: [SocialLink, ...SocialLink[]];
29
+ /**
30
+ * An array of objects representing the links that will be rendered at
31
+ * the bottom part of the footer. Each object has the following
32
+ * properties:
33
+ * - text: Text for the link.
34
+ * - href: URL of the page the link goes to.
35
+ */
36
+ bottomLinks?: [BottomLink, ...BottomLink[]];
37
+ /**
38
+ * The center section of the footer. Can be used to render custom
39
+ * content in this area.
40
+ */
41
+ children: React.ReactNode;
42
+ /**
43
+ * The text that will be displayed as copyright disclaimer.
44
+ */
45
+ copyright?: string;
46
+ /**
47
+ * Value of the tabindex for all interactuable elements, except those
48
+ * inside the custom area.
49
+ */
50
+ tabIndex?: number;
51
+ /**
52
+ * Size of the top margin to be applied to the footer.
53
+ */
54
+ margin?: Space | Size;
55
+ /**
56
+ * Size of the padding to be applied to the custom area of the component.
57
+ * You can pass an object with properties in order to specify different padding sizes.
58
+ */
59
+ padding?: Space | Size;
60
+ };
61
+ export default FooterPropsType;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import HeaderPropsType from "./types";
3
+ declare const DxcHeader: {
4
+ ({ underlined, content, responsiveContent, onClick, margin, padding, tabIndex, }: HeaderPropsType): JSX.Element;
5
+ Dropdown: (props: any) => JSX.Element;
6
+ };
7
+ export default DxcHeader;
package/header/Header.js CHANGED
@@ -9,8 +9,6 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports["default"] = void 0;
11
11
 
12
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
-
14
12
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
13
 
16
14
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
@@ -23,8 +21,6 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
21
 
24
22
  var _AppBar = _interopRequireDefault(require("@material-ui/core/AppBar"));
25
23
 
26
- var _propTypes = _interopRequireDefault(require("prop-types"));
27
-
28
24
  var _Dropdown = _interopRequireDefault(require("../dropdown/Dropdown"));
29
25
 
30
26
  var _Icons = require("./Icons");
@@ -41,6 +37,27 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
41
37
 
42
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; }
43
39
 
40
+ var closeIcon = /*#__PURE__*/_react["default"].createElement("svg", {
41
+ xmlns: "http://www.w3.org/2000/svg",
42
+ height: "24",
43
+ viewBox: "0 0 24 24",
44
+ width: "24"
45
+ }, /*#__PURE__*/_react["default"].createElement("path", {
46
+ d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"
47
+ }), /*#__PURE__*/_react["default"].createElement("path", {
48
+ d: "M0 0h24v24H0z",
49
+ fill: "none"
50
+ }));
51
+
52
+ var hamburgerIcon = /*#__PURE__*/_react["default"].createElement("svg", {
53
+ xmlns: "http://www.w3.org/2000/svg",
54
+ viewBox: "0 0 24 24",
55
+ width: "24",
56
+ height: "24"
57
+ }, /*#__PURE__*/_react["default"].createElement("path", {
58
+ 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"
59
+ }));
60
+
44
61
  var Dropdown = function Dropdown(props) {
45
62
  return /*#__PURE__*/_react["default"].createElement(HeaderDropdown, null, /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], props));
46
63
  };
@@ -65,9 +82,9 @@ var getLogoElement = function getLogoElement(themeInput) {
65
82
  var DxcHeader = function DxcHeader(_ref) {
66
83
  var _ref$underlined = _ref.underlined,
67
84
  underlined = _ref$underlined === void 0 ? false : _ref$underlined,
68
- onClick = _ref.onClick,
69
85
  content = _ref.content,
70
86
  responsiveContent = _ref.responsiveContent,
87
+ onClick = _ref.onClick,
71
88
  margin = _ref.margin,
72
89
  padding = _ref.padding,
73
90
  _ref$tabIndex = _ref.tabIndex,
@@ -80,7 +97,7 @@ var DxcHeader = function DxcHeader(_ref) {
80
97
  refSize = _useState2[0],
81
98
  setRefSize = _useState2[1];
82
99
 
83
- var _useState3 = (0, _react.useState)(),
100
+ var _useState3 = (0, _react.useState)(false),
84
101
  _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
85
102
  isResponsive = _useState4[0],
86
103
  setIsResponsive = _useState4[1];
@@ -158,16 +175,16 @@ var DxcHeader = function DxcHeader(_ref) {
158
175
  tabIndex: tabIndex,
159
176
  underlined: underlined,
160
177
  onClick: handleMenu
161
- }, _Icons.hamburgerIcon, /*#__PURE__*/_react["default"].createElement(HamburguerTitle, null, "Menu"))), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(ResponsiveMenu, {
178
+ }, hamburgerIcon, /*#__PURE__*/_react["default"].createElement(HamburguerTitle, null, "Menu"))), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(ResponsiveMenu, {
162
179
  hasVisibility: isMenuVisible,
163
180
  refSize: refSize
164
181
  }, /*#__PURE__*/_react["default"].createElement(ResponsiveLogoContainer, null, headerResponsiveLogo), /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
165
182
  color: colorsTheme.header.menuBackgroundColor
166
- }, /*#__PURE__*/_react["default"].createElement(ContentContainerComponent, null, responsiveContent(handleMenu))), /*#__PURE__*/_react["default"].createElement(CloseContainer, {
183
+ }, /*#__PURE__*/_react["default"].createElement(ContentContainerComponent, null)), /*#__PURE__*/_react["default"].createElement(CloseContainer, {
167
184
  tabIndex: tabIndex,
168
185
  onClick: handleMenu,
169
186
  className: "closeIcon"
170
- }, _Icons.closeIcon)), /*#__PURE__*/_react["default"].createElement(Overlay, {
187
+ }, closeIcon)), /*#__PURE__*/_react["default"].createElement(Overlay, {
171
188
  onClick: handleMenu,
172
189
  hasVisibility: isMenuVisible,
173
190
  refSize: refSize
@@ -303,24 +320,5 @@ var Overlay = _styledComponents["default"].div(_templateObject15 || (_templateOb
303
320
  return props.theme.overlayZindex;
304
321
  });
305
322
 
306
- DxcHeader.propTypes = {
307
- underlined: _propTypes["default"].bool,
308
- onClick: _propTypes["default"].func,
309
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
310
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
311
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
312
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
313
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
314
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
315
- padding: _propTypes["default"].oneOfType([_propTypes["default"].shape({
316
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
317
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
318
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
319
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
320
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
321
- content: _propTypes["default"].object,
322
- responsiveContent: _propTypes["default"].func,
323
- tabIndex: _propTypes["default"].number
324
- };
325
323
  var _default = DxcHeader;
326
324
  exports["default"] = _default;
package/header/Icons.js CHANGED
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.hamburgerIcon = exports.dxcLogo = exports.closeIcon = void 0;
8
+ exports.dxcLogo = void 0;
9
9
 
10
10
  var _react = _interopRequireDefault(require("react"));
11
11
 
@@ -31,29 +31,4 @@ var dxcLogo = /*#__PURE__*/_react["default"].createElement("svg", {
31
31
  fill: "#100f0d"
32
32
  }))));
33
33
 
34
- exports.dxcLogo = dxcLogo;
35
-
36
- var closeIcon = /*#__PURE__*/_react["default"].createElement("svg", {
37
- xmlns: "http://www.w3.org/2000/svg",
38
- height: "24",
39
- viewBox: "0 0 24 24",
40
- width: "24"
41
- }, /*#__PURE__*/_react["default"].createElement("path", {
42
- d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"
43
- }), /*#__PURE__*/_react["default"].createElement("path", {
44
- d: "M0 0h24v24H0z",
45
- fill: "none"
46
- }));
47
-
48
- exports.closeIcon = closeIcon;
49
-
50
- var hamburgerIcon = /*#__PURE__*/_react["default"].createElement("svg", {
51
- xmlns: "http://www.w3.org/2000/svg",
52
- viewBox: "0 0 24 24",
53
- width: "24",
54
- height: "24"
55
- }, /*#__PURE__*/_react["default"].createElement("path", {
56
- 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"
57
- }));
58
-
59
- exports.hamburgerIcon = hamburgerIcon;
34
+ exports.dxcLogo = dxcLogo;