@dxc-technology/halstack-react 0.0.0-459df48 → 0.0.0-460d7ec

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 (75) 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/box/Box.stories.jsx +132 -0
  10. package/card/Card.d.ts +4 -0
  11. package/card/Card.js +13 -48
  12. package/card/types.d.ts +69 -0
  13. package/card/types.js +5 -0
  14. package/checkbox/Checkbox.stories.tsx +192 -0
  15. package/checkbox/types.d.ts +2 -3
  16. package/common/variables.js +1 -1
  17. package/dialog/Dialog.d.ts +4 -0
  18. package/dialog/Dialog.js +4 -23
  19. package/dialog/types.d.ts +43 -0
  20. package/dialog/types.js +5 -0
  21. package/dropdown/Dropdown.d.ts +4 -0
  22. package/dropdown/Dropdown.js +7 -40
  23. package/dropdown/types.d.ts +89 -0
  24. package/dropdown/types.js +5 -0
  25. package/footer/Footer.d.ts +4 -0
  26. package/footer/Footer.js +4 -35
  27. package/footer/Footer.stories.jsx +151 -0
  28. package/footer/types.d.ts +61 -0
  29. package/footer/types.js +5 -0
  30. package/header/Header.d.ts +7 -0
  31. package/header/Header.js +26 -28
  32. package/header/Icons.js +2 -27
  33. package/header/types.d.ts +45 -0
  34. package/header/types.js +5 -0
  35. package/number-input/NumberInput.stories.jsx +115 -0
  36. package/package.json +1 -1
  37. package/paginator/Paginator.stories.tsx +63 -0
  38. package/progress-bar/ProgressBar.d.ts +4 -0
  39. package/progress-bar/ProgressBar.js +3 -21
  40. package/progress-bar/types.d.ts +37 -0
  41. package/progress-bar/types.js +5 -0
  42. package/radio/Radio.d.ts +4 -0
  43. package/radio/Radio.js +3 -24
  44. package/radio/Radio.stories.tsx +192 -0
  45. package/radio/types.d.ts +54 -0
  46. package/radio/types.js +5 -0
  47. package/select/index.d.ts +4 -4
  48. package/slider/Slider.d.ts +4 -0
  49. package/slider/Slider.js +26 -60
  50. package/slider/types.d.ts +83 -0
  51. package/slider/types.js +5 -0
  52. package/spinner/Spinner.js +6 -6
  53. package/spinner/Spinner.stories.jsx +102 -0
  54. package/table/Table.d.ts +4 -0
  55. package/table/Table.stories.jsx +276 -0
  56. package/table/types.d.ts +21 -0
  57. package/table/types.js +5 -0
  58. package/tabs/Tabs.d.ts +4 -0
  59. package/tabs/Tabs.js +5 -53
  60. package/tabs/types.d.ts +71 -0
  61. package/tabs/types.js +5 -0
  62. package/text-input/index.d.ts +2 -2
  63. package/textarea/Textarea.stories.jsx +135 -0
  64. package/accordion/index.d.ts +0 -28
  65. package/accordion-group/index.d.ts +0 -16
  66. package/card/index.d.ts +0 -22
  67. package/dialog/index.d.ts +0 -18
  68. package/dropdown/index.d.ts +0 -26
  69. package/footer/index.d.ts +0 -25
  70. package/header/index.d.ts +0 -25
  71. package/progress-bar/index.d.ts +0 -18
  72. package/radio/index.d.ts +0 -23
  73. package/slider/index.d.ts +0 -29
  74. package/table/index.d.ts +0 -13
  75. package/tabs/index.d.ts +0 -19
package/card/Card.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 _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
@@ -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"));
@@ -37,18 +33,22 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
37
33
 
38
34
  var DxcCard = function DxcCard(_ref) {
39
35
  var imageSrc = _ref.imageSrc,
40
- children = _ref.children,
41
- margin = _ref.margin,
42
- contentPadding = _ref.contentPadding,
36
+ _ref$imageBgColor = _ref.imageBgColor,
37
+ imageBgColor = _ref$imageBgColor === void 0 ? "black" : _ref$imageBgColor,
38
+ imagePadding = _ref.imagePadding,
39
+ _ref$imagePosition = _ref.imagePosition,
40
+ imagePosition = _ref$imagePosition === void 0 ? "before" : _ref$imagePosition,
43
41
  linkHref = _ref.linkHref,
44
42
  onClick = _ref.onClick,
45
- imageBgColor = _ref.imageBgColor,
46
- imagePadding = _ref.imagePadding,
47
- imagePosition = _ref.imagePosition,
48
- outlined = _ref.outlined,
49
- imageCover = _ref.imageCover,
43
+ _ref$imageCover = _ref.imageCover,
44
+ imageCover = _ref$imageCover === void 0 ? false : _ref$imageCover,
45
+ margin = _ref.margin,
46
+ contentPadding = _ref.contentPadding,
50
47
  _ref$tabIndex = _ref.tabIndex,
51
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
48
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,
49
+ _ref$outlined = _ref.outlined,
50
+ outlined = _ref$outlined === void 0 ? false : _ref$outlined,
51
+ children = _ref.children;
52
52
  var colorsTheme = (0, _useTheme["default"])();
53
53
 
54
54
  var _useState = (0, _react.useState)(false),
@@ -161,40 +161,5 @@ var CardContent = _styledComponents["default"].div(_templateObject6 || (_templat
161
161
  return contentPadding && (0, _typeof2["default"])(contentPadding) === "object" && contentPadding.left ? _variables.spaces[contentPadding.left] : "";
162
162
  });
163
163
 
164
- DxcCard.propTypes = {
165
- imageSrc: _propTypes["default"].string,
166
- imageBgColor: _propTypes["default"].string,
167
- imagePadding: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces))),
168
- imagePosition: _propTypes["default"].oneOf(["before", "after"]),
169
- linkHref: _propTypes["default"].string,
170
- onClick: _propTypes["default"].func,
171
- outlined: _propTypes["default"].bool,
172
- imageCover: _propTypes["default"].bool,
173
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
174
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
175
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
176
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
177
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
178
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
179
- contentPadding: _propTypes["default"].oneOfType([_propTypes["default"].shape({
180
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
181
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
182
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
183
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
184
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
185
- tabIndex: _propTypes["default"].number
186
- };
187
- DxcCard.defaultProps = {
188
- imageSrc: null,
189
- margin: null,
190
- contentPadding: null,
191
- outlined: false,
192
- imagePadding: null,
193
- imageCover: false,
194
- linkHref: null,
195
- onClick: null,
196
- imageBgColor: "black",
197
- imagePosition: "before"
198
- };
199
164
  var _default = DxcCard;
200
165
  exports["default"] = _default;
@@ -0,0 +1,69 @@
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 Props = {
10
+ /**
11
+ * URL of the image that will be placed in the card component.
12
+ * In case of omission, the image container will not appear and
13
+ * the content will occupy its space.
14
+ */
15
+ imageSrc?: string;
16
+ /**
17
+ * Color of the image background.
18
+ */
19
+ imageBgColor?: string;
20
+ /**
21
+ * Size of the padding to be applied to the image section of the
22
+ * component. You can pass an object with 'top', 'bottom', 'left'
23
+ * and 'right' properties in order to specify different padding sizes.
24
+ */
25
+ imagePadding?: Space | Size;
26
+ /**
27
+ * Whether the image should appear in relation to the content.
28
+ */
29
+ imagePosition?: "before" | "after";
30
+ /**
31
+ * If defined, the tag will be displayed as an anchor, using this prop
32
+ * as "href". Component will show some visual feedback on hover.
33
+ */
34
+ linkHref?: string;
35
+ /**
36
+ * This function will be called when the user clicks the card. Component
37
+ * will show some visual feedback on hover.
38
+ */
39
+ onClick?: () => void;
40
+ /**
41
+ * Whether the image must cover the whole image area of the card.
42
+ */
43
+ imageCover?: boolean;
44
+ /**
45
+ * Size of the margin to be applied to the component. You can pass
46
+ * an object with 'top', 'bottom', 'left' and 'right' properties
47
+ * in order to specify different margin sizes.
48
+ */
49
+ margin?: Space | Size;
50
+ /**
51
+ * Size of the padding to be applied to the content area. You can pass
52
+ * an object with 'top', 'bottom', 'left' and 'right' properties in
53
+ * order to specify different padding sizes.
54
+ */
55
+ contentPadding?: Space | Size;
56
+ /**
57
+ * Value of the tabindex given when there is an href.
58
+ */
59
+ tabIndex?: number;
60
+ /**
61
+ * Whether the card must be outlined.
62
+ */
63
+ outlined?: boolean;
64
+ /**
65
+ * Custom content that will be placed in the card component.
66
+ */
67
+ children?: React.ReactNode;
68
+ };
69
+ export default Props;
package/card/types.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,192 @@
1
+ import React from "react";
2
+ import DxcCheckbox from "./Checkbox";
3
+ import { BackgroundColorProvider } from "../BackgroundColorContext";
4
+ import Title from "../../.storybook/components/Title";
5
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
+ import DarkContainer from "../../.storybook/components/DarkSection";
7
+ import { userEvent, within } from "@storybook/testing-library";
8
+
9
+ export default {
10
+ title: "Checkbox",
11
+ component: DxcCheckbox,
12
+ };
13
+
14
+ const Checkbox = () => (
15
+ <>
16
+ <>
17
+ <ExampleContainer>
18
+ <Title title="Default" theme="light" level={4} />
19
+ <DxcCheckbox label="Checkbox" />
20
+ </ExampleContainer>
21
+ <ExampleContainer>
22
+ <Title title="Focused" theme="light" level={4} />
23
+ <DxcCheckbox label="Focused" />
24
+ </ExampleContainer>
25
+ <ExampleContainer>
26
+ <Title title="Checked" theme="light" level={4} />
27
+ <DxcCheckbox label="Checkbox" checked />
28
+ </ExampleContainer>
29
+ <ExampleContainer>
30
+ <Title title="Required" theme="light" level={4} />
31
+ <DxcCheckbox label="Checkbox" required />
32
+ </ExampleContainer>
33
+ <ExampleContainer>
34
+ <Title title="Disabled and checked" theme="light" level={4} />
35
+ <DxcCheckbox label="Checkbox" disabled checked />
36
+ </ExampleContainer>
37
+ <ExampleContainer>
38
+ <Title title="Disabled and required" theme="light" level={4} />
39
+ <DxcCheckbox label="Checkbox" disabled required />
40
+ </ExampleContainer>
41
+ <ExampleContainer>
42
+ <Title title="Disabled, required and checked" theme="light" level={4} />
43
+ <DxcCheckbox label="Checkbox" disabled required checked />
44
+ </ExampleContainer>
45
+ <ExampleContainer>
46
+ <Title title="Label after" theme="light" level={4} />
47
+ <DxcCheckbox label="Checkbox" labelPosition="after" />
48
+ </ExampleContainer>
49
+ <ExampleContainer>
50
+ <Title title="Checked with label after" theme="light" level={4} />
51
+ <DxcCheckbox label="Checkbox" checked labelPosition="after" />
52
+ </ExampleContainer>
53
+ <ExampleContainer>
54
+ <Title title="Required with label after" theme="light" level={4} />
55
+ <DxcCheckbox label="Checkbox" required labelPosition="after" />
56
+ </ExampleContainer>
57
+ <ExampleContainer>
58
+ <Title title="Disabled and checked with label after" theme="light" level={4} />
59
+ <DxcCheckbox label="Checkbox" disabled checked labelPosition="after" />
60
+ </ExampleContainer>
61
+ <ExampleContainer>
62
+ <Title title="Disabled and required with label after" theme="light" level={4} />
63
+ <DxcCheckbox label="Checkbox" disabled required labelPosition="after" />
64
+ </ExampleContainer>
65
+ <ExampleContainer>
66
+ <Title title="Disabled, required and checked with label after" theme="light" level={4} />
67
+ <DxcCheckbox label="Checkbox" disabled required checked labelPosition="after" />
68
+ </ExampleContainer>
69
+ <ExampleContainer pseudoState="pseudo-hover">
70
+ <Title title="Hovered" theme="light" level={4} />
71
+ <DxcCheckbox label="Hovered" />
72
+ </ExampleContainer>
73
+ <ExampleContainer pseudoState="pseudo-hover">
74
+ <Title title="Hovered and checked" theme="light" level={4} />
75
+ <DxcCheckbox label="Hovered" checked />
76
+ </ExampleContainer>
77
+ </>
78
+ <BackgroundColorProvider color="#333333">
79
+ <DarkContainer>
80
+ <>
81
+ <ExampleContainer>
82
+ <Title title="Default" theme="dark" level={4} />
83
+ <DxcCheckbox label="Checkbox" />
84
+ </ExampleContainer>
85
+ <ExampleContainer>
86
+ <Title title="Checked" theme="dark" level={4} />
87
+ <DxcCheckbox label="Checkbox" checked />
88
+ </ExampleContainer>
89
+ <ExampleContainer>
90
+ <Title title="Required" theme="dark" level={4} />
91
+ <DxcCheckbox label="Checkbox" required />
92
+ </ExampleContainer>
93
+ <ExampleContainer>
94
+ <Title title="Disabled and checked" theme="dark" level={4} />
95
+ <DxcCheckbox label="Checkbox" disabled checked />
96
+ </ExampleContainer>
97
+ <ExampleContainer>
98
+ <Title title="Disabled and required" theme="dark" level={4} />
99
+ <DxcCheckbox label="Checkbox" disabled required />
100
+ </ExampleContainer>
101
+ <ExampleContainer>
102
+ <Title title="Disabled, required and checked" theme="dark" level={4} />
103
+ <DxcCheckbox label="Checkbox" disabled required checked />
104
+ </ExampleContainer>
105
+ <ExampleContainer>
106
+ <Title title="Label after" theme="dark" level={4} />
107
+ <DxcCheckbox label="Checkbox" labelPosition="after" />
108
+ </ExampleContainer>
109
+ <ExampleContainer>
110
+ <Title title="Checked with label after" theme="dark" level={4} />
111
+ <DxcCheckbox label="Checkbox" checked labelPosition="after" />
112
+ </ExampleContainer>
113
+ <ExampleContainer>
114
+ <Title title="Required with label after" theme="dark" level={4} />
115
+ <DxcCheckbox label="Checkbox" required labelPosition="after" />
116
+ </ExampleContainer>
117
+ <ExampleContainer>
118
+ <Title title="Disabled and checked with label after" theme="dark" level={4} />
119
+ <DxcCheckbox label="Checkbox" disabled checked labelPosition="after" />
120
+ </ExampleContainer>
121
+ <ExampleContainer>
122
+ <Title title="Disabled and required with label after" theme="dark" level={4} />
123
+ <DxcCheckbox label="Checkbox" disabled required labelPosition="after" />
124
+ </ExampleContainer>
125
+ <ExampleContainer>
126
+ <Title title="Disabled, required and checked with label after" theme="dark" level={4} />
127
+ <DxcCheckbox label="Checkbox" disabled required checked labelPosition="after" />
128
+ </ExampleContainer>
129
+ <ExampleContainer pseudoState="pseudo-hover">
130
+ <Title title="Hovered" theme="dark" level={4} />
131
+ <DxcCheckbox label="Hovered" />
132
+ </ExampleContainer>
133
+ <ExampleContainer pseudoState="pseudo-hover">
134
+ <Title title="Hovered and checked" theme="dark" level={4} />
135
+ <DxcCheckbox label="Hovered" checked />
136
+ </ExampleContainer>
137
+ </>
138
+ </DarkContainer>
139
+ </BackgroundColorProvider>
140
+ <Title title="Sizes" theme="light" level={2} />
141
+ <ExampleContainer>
142
+ <DxcCheckbox label="Small" size="small" />
143
+ </ExampleContainer>
144
+ <ExampleContainer>
145
+ <DxcCheckbox label="Medium" size="medium" />
146
+ </ExampleContainer>
147
+ <ExampleContainer>
148
+ <DxcCheckbox label="Large" size="large" />
149
+ </ExampleContainer>
150
+ <ExampleContainer>
151
+ <DxcCheckbox label="FitContent" size="fitContent" />
152
+ </ExampleContainer>
153
+ <ExampleContainer>
154
+ <DxcCheckbox label="FillParent" size="fillParent" />
155
+ </ExampleContainer>
156
+ <Title title="Margins" theme="light" level={2} />
157
+ <ExampleContainer>
158
+ <Title title="Xxsmall" theme="light" level={4} />
159
+ <DxcCheckbox label="Xxsmall" margin={"xxsmall"} />
160
+ </ExampleContainer>
161
+ <ExampleContainer>
162
+ <Title title="Xsmall" theme="light" level={4} />
163
+ <DxcCheckbox label="Xsmall" margin={"xsmall"} />
164
+ </ExampleContainer>
165
+ <ExampleContainer>
166
+ <Title title="Small" theme="light" level={4} />
167
+ <DxcCheckbox label="Small" margin={"small"} />
168
+ </ExampleContainer>
169
+ <ExampleContainer>
170
+ <Title title="Medium" theme="light" level={4} />
171
+ <DxcCheckbox label="Medium" margin={"medium"} />
172
+ </ExampleContainer>
173
+ <ExampleContainer>
174
+ <Title title="Large" theme="light" level={4} />
175
+ <DxcCheckbox label="Large" margin={"large"} />
176
+ </ExampleContainer>
177
+ <ExampleContainer>
178
+ <Title title="Xlarge" theme="light" level={4} />
179
+ <DxcCheckbox label="Xlarge" margin={"xlarge"} />
180
+ </ExampleContainer>
181
+ <ExampleContainer>
182
+ <Title title="Xxlarge" theme="light" level={4} />
183
+ <DxcCheckbox label="Xxlarge" margin={"xxlarge"} />
184
+ </ExampleContainer>
185
+ </>
186
+ );
187
+
188
+ export const Chromatic = Checkbox.bind({});
189
+ Chromatic.play = async () => {
190
+ await userEvent.tab();
191
+ await userEvent.tab();
192
+ };
@@ -1,4 +1,3 @@
1
- declare type Size = "small" | "medium" | "large" | "fillParent" | "fitContent";
2
1
  declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
2
  declare type Margin = {
4
3
  top?: Space;
@@ -20,7 +19,7 @@ declare type Props = {
20
19
  /**
21
20
  * Text to be placed next to the checkbox.
22
21
  */
23
- label?: string;
22
+ label: string;
24
23
  /**
25
24
  * Whether the label should appear after or before the checkbox.
26
25
  */
@@ -52,7 +51,7 @@ declare type Props = {
52
51
  /**
53
52
  * Size of the component ('small' | 'medium' | 'large' | 'fillParent' | 'fitContent').
54
53
  */
55
- size?: Size;
54
+ size?: "small" | "medium" | "large" | "fillParent" | "fitContent";
56
55
  /**
57
56
  * Value of the tabindex.
58
57
  */
@@ -780,7 +780,7 @@ var componentTokens = {
780
780
  activeActionBackgroundColor: globalTokens.hal_grey_l_80,
781
781
  activeActionBackgroundColorOnDark: globalTokens.hal_grey_l_60,
782
782
  listDialogBackgroundColor: globalTokens.hal_white,
783
- listDialogBorderColor: globalTokens.hal_black,
783
+ listDialogBorderColor: globalTokens.hal_grey_l_75,
784
784
  listOptionDividerColor: globalTokens.hal_grey_l_90,
785
785
  listOptionFontColor: globalTokens.hal_black,
786
786
  listOptionFontSize: globalTokens.type_scale_02,
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import DialogPropsType from "./types";
3
+ declare const DxcDialog: ({ isCloseVisible, onCloseClick, children, overlay, onBackgroundClick, padding, tabIndex, }: DialogPropsType) => JSX.Element;
4
+ export default DxcDialog;
package/dialog/Dialog.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 _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
@@ -23,8 +21,6 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
21
 
24
22
  var _Dialog = _interopRequireDefault(require("@material-ui/core/Dialog"));
25
23
 
26
- var _propTypes = _interopRequireDefault(require("prop-types"));
27
-
28
24
  var _variables = require("../common/variables.js");
29
25
 
30
26
  var _useTheme = _interopRequireDefault(require("../useTheme.js"));
@@ -49,7 +45,7 @@ var DxcDialog = function DxcDialog(_ref) {
49
45
  _ref$tabIndex = _ref.tabIndex,
50
46
  tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
51
47
 
52
- var _useState = (0, _react.useState)(),
48
+ var _useState = (0, _react.useState)(false),
53
49
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
54
50
  isResponsive = _useState2[0],
55
51
  setIsResponsive = _useState2[1];
@@ -57,15 +53,15 @@ var DxcDialog = function DxcDialog(_ref) {
57
53
  var colorsTheme = (0, _useTheme["default"])();
58
54
 
59
55
  var handleClose = function handleClose() {
60
- typeof onCloseClick === "function" && onCloseClick();
56
+ onCloseClick === null || onCloseClick === void 0 ? void 0 : onCloseClick();
61
57
  };
62
58
 
63
59
  var handleOverlayClick = function handleOverlayClick() {
64
- typeof onBackgroundClick === "function" && onBackgroundClick();
60
+ onBackgroundClick === null || onBackgroundClick === void 0 ? void 0 : onBackgroundClick();
65
61
  };
66
62
 
67
63
  var handleResize = function handleResize(width) {
68
- width && width <= _variables.responsiveSizes.tablet ? setIsResponsive(true) : setIsResponsive(false);
64
+ setIsResponsive(width && width <= _variables.responsiveSizes.tablet);
69
65
  };
70
66
 
71
67
  var handleEventListener = function handleEventListener() {
@@ -165,20 +161,5 @@ var CloseIcon = _styledComponents["default"].svg(_templateObject4 || (_templateO
165
161
  return props.theme.closeIconBorderColor;
166
162
  });
167
163
 
168
- DxcDialog.propTypes = {
169
- padding: _propTypes["default"].oneOfType([_propTypes["default"].shape({
170
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
171
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
172
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
173
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
174
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
175
- isVisible: _propTypes["default"].bool,
176
- isCloseVisible: _propTypes["default"].bool,
177
- onClose: _propTypes["default"].func,
178
- onCloseClick: _propTypes["default"].func,
179
- onBackgroundClick: _propTypes["default"].func,
180
- overlay: _propTypes["default"].bool,
181
- tabIndex: _propTypes["default"].number
182
- };
183
164
  var _default = DxcDialog;
184
165
  exports["default"] = _default;
@@ -0,0 +1,43 @@
1
+ /// <reference types="react" />
2
+ declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ declare type Padding = {
4
+ top?: Space;
5
+ bottom?: Space;
6
+ left?: Space;
7
+ right?: Space;
8
+ };
9
+ declare type Props = {
10
+ /**
11
+ * If true, the close 'x' button will be visible.
12
+ */
13
+ isCloseVisible?: boolean;
14
+ /**
15
+ * This function will be called when the user clicks the close 'x' button.
16
+ * The responsibility of hiding the modal lies with the user.
17
+ */
18
+ onCloseClick?: () => void;
19
+ /**
20
+ * If true, the dialog will be displayed over a darker background that covers the content behind.
21
+ */
22
+ overlay?: boolean;
23
+ /**
24
+ * This function will be called when the user clicks background of the modal.
25
+ * The responsibility of hiding the modal lies with the user.
26
+ */
27
+ onBackgroundClick?: () => void;
28
+ /**
29
+ * Size of the padding to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
30
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different padding sizes.
31
+ */
32
+ padding?: Padding | Space;
33
+ /**
34
+ * Value of the tabindex given to the close 'x' button.
35
+ */
36
+ tabIndex?: number;
37
+ /**
38
+ * The area inside the dialog. This area can be used to render
39
+ * custom content.
40
+ */
41
+ children: React.ReactNode;
42
+ };
43
+ 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 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;