@dxc-technology/halstack-react 0.0.0-c7d5596 → 0.0.0-c7ec4d1

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 (199) hide show
  1. package/README.md +1 -1
  2. package/babel.config.js +6 -2
  3. package/dist/BackgroundColorContext.js +46 -0
  4. package/dist/ThemeContext.js +237 -2
  5. package/dist/V3Select/V3Select.js +549 -0
  6. package/dist/V3Textarea/V3Textarea.js +264 -0
  7. package/dist/accordion/Accordion.js +152 -67
  8. package/dist/accordion-group/AccordionGroup.js +186 -0
  9. package/dist/alert/Alert.js +183 -84
  10. package/dist/alert/index.d.ts +51 -0
  11. package/dist/badge/Badge.js +63 -0
  12. package/dist/box/Box.js +31 -23
  13. package/dist/button/Button.js +63 -27
  14. package/dist/card/Card.js +72 -35
  15. package/dist/checkbox/Checkbox.js +99 -40
  16. package/dist/chip/Chip.js +97 -40
  17. package/dist/common/RequiredComponent.js +2 -8
  18. package/dist/common/utils.js +2 -22
  19. package/dist/common/variables.js +1452 -304
  20. package/dist/date/Date.js +80 -57
  21. package/dist/date-input/DateInput.js +400 -0
  22. package/dist/date-input/index.d.ts +95 -0
  23. package/dist/dialog/Dialog.js +58 -37
  24. package/dist/dropdown/Dropdown.js +177 -82
  25. package/dist/file-input/FileInput.js +644 -0
  26. package/dist/file-input/FileItem.js +287 -0
  27. package/dist/file-input/index.d.ts +81 -0
  28. package/dist/footer/Footer.js +90 -40
  29. package/dist/footer/Icons.js +77 -0
  30. package/dist/header/Header.js +192 -95
  31. package/dist/header/Icons.js +59 -0
  32. package/dist/heading/Heading.js +93 -16
  33. package/dist/input-text/Icons.js +22 -0
  34. package/dist/input-text/InputText.js +251 -116
  35. package/dist/layout/ApplicationLayout.js +18 -26
  36. package/dist/layout/Icons.js +55 -0
  37. package/dist/link/Link.js +89 -41
  38. package/dist/main.d.ts +8 -0
  39. package/dist/main.js +98 -18
  40. package/dist/number-input/NumberInput.js +136 -0
  41. package/dist/number-input/NumberInputContext.js +16 -0
  42. package/dist/number-input/index.d.ts +113 -0
  43. package/dist/paginator/Icons.js +66 -0
  44. package/dist/paginator/Paginator.js +122 -66
  45. package/dist/password-input/PasswordInput.js +203 -0
  46. package/dist/password-input/index.d.ts +94 -0
  47. package/dist/progress-bar/ProgressBar.js +95 -38
  48. package/dist/radio/Radio.js +31 -17
  49. package/dist/resultsetTable/ResultsetTable.js +82 -65
  50. package/dist/select/Select.js +896 -284
  51. package/dist/select/index.d.ts +53 -0
  52. package/dist/sidenav/Sidenav.js +66 -15
  53. package/dist/slider/Slider.js +211 -73
  54. package/dist/spinner/Spinner.js +247 -59
  55. package/dist/switch/Switch.js +50 -27
  56. package/dist/table/Table.js +51 -24
  57. package/dist/tabs/Tabs.js +193 -35
  58. package/dist/tag/Tag.js +68 -35
  59. package/dist/text-input/TextInput.js +974 -0
  60. package/dist/text-input/index.d.ts +135 -0
  61. package/dist/textarea/Textarea.js +248 -106
  62. package/dist/textarea/index.d.ts +117 -0
  63. package/dist/toggle/Toggle.js +16 -19
  64. package/dist/toggle-group/ToggleGroup.js +142 -41
  65. package/dist/upload/Upload.js +16 -11
  66. package/dist/upload/buttons-upload/ButtonsUpload.js +32 -19
  67. package/dist/upload/buttons-upload/Icons.js +40 -0
  68. package/dist/upload/dragAndDropArea/DragAndDropArea.js +84 -34
  69. package/dist/upload/dragAndDropArea/Icons.js +39 -0
  70. package/dist/upload/file-upload/FileToUpload.js +64 -33
  71. package/dist/upload/file-upload/Icons.js +66 -0
  72. package/dist/upload/files-upload/FilesToUpload.js +16 -16
  73. package/dist/upload/transaction/Icons.js +160 -0
  74. package/dist/upload/transaction/Transaction.js +42 -49
  75. package/dist/upload/transactions/Transactions.js +38 -20
  76. package/dist/useTheme.js +22 -0
  77. package/dist/wizard/Icons.js +65 -0
  78. package/dist/wizard/Wizard.js +125 -60
  79. package/package.json +14 -11
  80. package/test/AccordionGroup.test.js +125 -0
  81. package/test/Date.test.js +49 -45
  82. package/test/DateInput.test.js +242 -0
  83. package/test/Dropdown.test.js +15 -0
  84. package/test/FileInput.test.js +201 -0
  85. package/test/Footer.test.js +2 -7
  86. package/test/Header.test.js +5 -10
  87. package/test/Heading.test.js +60 -12
  88. package/test/InputText.test.js +53 -41
  89. package/test/Link.test.js +12 -2
  90. package/test/NumberInput.test.js +259 -0
  91. package/test/Paginator.test.js +50 -77
  92. package/test/PasswordInput.test.js +83 -0
  93. package/test/ResultsetTable.test.js +61 -25
  94. package/test/Slider.test.js +9 -17
  95. package/test/Spinner.test.js +5 -0
  96. package/test/Tabs.test.js +21 -0
  97. package/test/TextInput.test.js +732 -0
  98. package/test/Textarea.test.js +193 -0
  99. package/test/ToggleGroup.test.js +5 -1
  100. package/test/Upload.test.js +5 -5
  101. package/test/{Select.test.js → V3Select.test.js} +67 -46
  102. package/test/{TextArea.test.js → V3TextArea.test.js} +6 -7
  103. package/dist/accordion/Accordion.stories.js +0 -207
  104. package/dist/accordion/readme.md +0 -96
  105. package/dist/alert/Alert.stories.js +0 -158
  106. package/dist/alert/close.svg +0 -4
  107. package/dist/alert/error.svg +0 -4
  108. package/dist/alert/info.svg +0 -4
  109. package/dist/alert/readme.md +0 -43
  110. package/dist/alert/success.svg +0 -4
  111. package/dist/alert/warning.svg +0 -4
  112. package/dist/button/Button.stories.js +0 -224
  113. package/dist/button/readme.md +0 -93
  114. package/dist/checkbox/Checkbox.stories.js +0 -144
  115. package/dist/checkbox/readme.md +0 -116
  116. package/dist/common/services/example-service.js +0 -10
  117. package/dist/common/services/example-service.test.js +0 -12
  118. package/dist/date/Date.stories.js +0 -205
  119. package/dist/date/calendar.svg +0 -1
  120. package/dist/date/calendar_dark.svg +0 -1
  121. package/dist/date/readme.md +0 -73
  122. package/dist/dialog/Dialog.stories.js +0 -217
  123. package/dist/dialog/readme.md +0 -32
  124. package/dist/dropdown/Dropdown.stories.js +0 -249
  125. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  126. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  127. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  128. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  129. package/dist/dropdown/readme.md +0 -69
  130. package/dist/footer/Footer.stories.js +0 -94
  131. package/dist/footer/dxc_logo_wht.png +0 -0
  132. package/dist/footer/readme.md +0 -41
  133. package/dist/header/Header.stories.js +0 -176
  134. package/dist/header/close_icon.svg +0 -1
  135. package/dist/header/dxc_logo_black.png +0 -0
  136. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  137. package/dist/header/dxc_logo_white.png +0 -0
  138. package/dist/header/hamb_menu_black.svg +0 -1
  139. package/dist/header/hamb_menu_white.svg +0 -1
  140. package/dist/header/readme.md +0 -33
  141. package/dist/input-text/InputText.stories.js +0 -209
  142. package/dist/input-text/error.svg +0 -1
  143. package/dist/input-text/readme.md +0 -91
  144. package/dist/layout/facebook.svg +0 -45
  145. package/dist/layout/linkedin.svg +0 -50
  146. package/dist/layout/twitter.svg +0 -53
  147. package/dist/link/readme.md +0 -51
  148. package/dist/paginator/images/next.svg +0 -3
  149. package/dist/paginator/images/nextPage.svg +0 -3
  150. package/dist/paginator/images/previous.svg +0 -3
  151. package/dist/paginator/images/previousPage.svg +0 -3
  152. package/dist/paginator/readme.md +0 -50
  153. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  154. package/dist/progress-bar/readme.md +0 -63
  155. package/dist/radio/Radio.stories.js +0 -166
  156. package/dist/radio/readme.md +0 -70
  157. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  158. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  159. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  160. package/dist/select/Select.stories.js +0 -235
  161. package/dist/select/readme.md +0 -72
  162. package/dist/slider/Slider.stories.js +0 -241
  163. package/dist/slider/readme.md +0 -64
  164. package/dist/spinner/Spinner.stories.js +0 -183
  165. package/dist/spinner/readme.md +0 -65
  166. package/dist/switch/Switch.stories.js +0 -134
  167. package/dist/switch/readme.md +0 -133
  168. package/dist/tabs/Tabs.stories.js +0 -130
  169. package/dist/tabs/readme.md +0 -78
  170. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  171. package/dist/tabs-for-sections/readme.md +0 -78
  172. package/dist/toggle/Toggle.stories.js +0 -297
  173. package/dist/toggle/readme.md +0 -80
  174. package/dist/toggle-group/readme.md +0 -82
  175. package/dist/upload/Upload.stories.js +0 -72
  176. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  177. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  178. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  179. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  180. package/dist/upload/file-upload/audio-icon.svg +0 -4
  181. package/dist/upload/file-upload/close.svg +0 -4
  182. package/dist/upload/file-upload/file-icon.svg +0 -4
  183. package/dist/upload/file-upload/video-icon.svg +0 -4
  184. package/dist/upload/readme.md +0 -37
  185. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  186. package/dist/upload/transaction/audio-icon.svg +0 -4
  187. package/dist/upload/transaction/error-icon.svg +0 -4
  188. package/dist/upload/transaction/file-icon-err.svg +0 -4
  189. package/dist/upload/transaction/file-icon.svg +0 -4
  190. package/dist/upload/transaction/image-icon-err.svg +0 -4
  191. package/dist/upload/transaction/image-icon.svg +0 -4
  192. package/dist/upload/transaction/success-icon.svg +0 -4
  193. package/dist/upload/transaction/video-icon-err.svg +0 -4
  194. package/dist/upload/transaction/video-icon.svg +0 -4
  195. package/dist/wizard/invalid_icon.svg +0 -6
  196. package/dist/wizard/valid_icon.svg +0 -6
  197. package/dist/wizard/validation-wrong.svg +0 -6
  198. package/test/TabsForSections.test.js +0 -34
  199. package/test/Toggle.test.js +0 -43
@@ -0,0 +1,186 @@
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 _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
+
16
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
17
+
18
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
+
20
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
21
+
22
+ var _react = _interopRequireWildcard(require("react"));
23
+
24
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
25
+
26
+ var _propTypes = _interopRequireDefault(require("prop-types"));
27
+
28
+ var _Accordion = _interopRequireDefault(require("../accordion/Accordion"));
29
+
30
+ var _utils = require("../common/utils.js");
31
+
32
+ var _variables = require("../common/variables.js");
33
+
34
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
35
+
36
+ function _templateObject() {
37
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n cursor: ", ";\n\n & > :not(div:last-child) {\n & > div:first-child {\n border-radius: 0;\n border-bottom: ", ";\n border-color: ", ";\n\n & > .Mui-expanded {\n border-radius: 0;\n }\n\n & > .MuiButtonBase-root {\n border-radius: 0;\n }\n }\n }\n\n & > div:first-child {\n & > div:first-child {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border-top-left-radius: ", ";\n border-top-right-radius: ", ";\n border-bottom: ", ";\n border-color: ", ";\n\n & > .Mui-expanded {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border-top-left-radius: ", ";\n border-top-right-radius: ", ";\n }\n\n & > .MuiButtonBase-root {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border-top-left-radius: ", ";\n border-top-right-radius: ", ";\n }\n }\n }\n\n & > div:last-child {\n & > div:first-child {\n border-bottom-left-radius: ", ";\n border-bottom-right-radius: ", ";\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n\n & > .Mui-expanded {\n border-bottom-left-radius: ", ";\n border-bottom-right-radius: ", ";\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n\n & > .MuiButtonBase-root {\n border-bottom-left-radius: ", ";\n border-bottom-right-radius: ", ";\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n }\n }\n"]);
38
+
39
+ _templateObject = function _templateObject() {
40
+ return data;
41
+ };
42
+
43
+ return data;
44
+ }
45
+
46
+ var Accordion = function Accordion(_ref) {
47
+ var margin = _ref.margin,
48
+ childProps = (0, _objectWithoutProperties2["default"])(_ref, ["margin"]);
49
+ return _react["default"].createElement(_Accordion["default"], childProps, childProps.children);
50
+ };
51
+
52
+ var DxcAccordionGroup = function DxcAccordionGroup(_ref2) {
53
+ var _ref2$disabled = _ref2.disabled,
54
+ disabled = _ref2$disabled === void 0 ? false : _ref2$disabled,
55
+ onActiveChange = _ref2.onActiveChange,
56
+ _ref2$indexActive = _ref2.indexActive,
57
+ indexActive = _ref2$indexActive === void 0 ? undefined : _ref2$indexActive,
58
+ margin = _ref2.margin,
59
+ _ref2$children = _ref2.children,
60
+ children = _ref2$children === void 0 ? [] : _ref2$children;
61
+ var colorsTheme = (0, _useTheme["default"])();
62
+
63
+ var _React$useState = _react["default"].useState(indexActive),
64
+ _React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
65
+ innerIsExpanded = _React$useState2[0],
66
+ setInnerIsExpanded = _React$useState2[1];
67
+
68
+ var handlerActiveChange = function handlerActiveChange(index) {
69
+ if (indexActive === undefined) {
70
+ setInnerIsExpanded(index === innerIsExpanded ? -1 : index);
71
+ } else {
72
+ setInnerIsExpanded(indexActive);
73
+ }
74
+
75
+ if (typeof onActiveChange === "function" && !disabled) {
76
+ onActiveChange(index);
77
+ }
78
+ };
79
+
80
+ (0, _react.useEffect)(function () {
81
+ setInnerIsExpanded(indexActive);
82
+ }, [indexActive]);
83
+ return _react["default"].createElement(_styledComponents.ThemeProvider, {
84
+ theme: colorsTheme.accordion
85
+ }, _react["default"].createElement(AccordionGroupContainer, {
86
+ margin: margin,
87
+ disabled: disabled
88
+ }, (Array.isArray(children) ? children : [children]).filter(function (el) {
89
+ return el.type === Accordion;
90
+ }).map(function (el, index) {
91
+ return _react["default"].cloneElement(el, {
92
+ onChange: function onChange() {
93
+ handlerActiveChange(index);
94
+ },
95
+ isExpanded: index === innerIsExpanded,
96
+ disabled: disabled || el.props.disabled
97
+ });
98
+ })));
99
+ };
100
+
101
+ var calculateWidth = function calculateWidth(margin) {
102
+ return "calc(100% - ".concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
103
+ };
104
+
105
+ var AccordionGroupContainer = _styledComponents["default"].div(_templateObject(), function (props) {
106
+ return calculateWidth(props.margin);
107
+ }, function (_ref3) {
108
+ var margin = _ref3.margin;
109
+ return margin && (0, _typeof2["default"])(margin) !== "object" ? _variables.spaces[margin] : "0px";
110
+ }, function (_ref4) {
111
+ var margin = _ref4.margin;
112
+ return margin && (0, _typeof2["default"])(margin) === "object" && margin.top ? _variables.spaces[margin.top] : "";
113
+ }, function (_ref5) {
114
+ var margin = _ref5.margin;
115
+ return margin && (0, _typeof2["default"])(margin) === "object" && margin.right ? _variables.spaces[margin.right] : "";
116
+ }, function (_ref6) {
117
+ var margin = _ref6.margin;
118
+ return margin && (0, _typeof2["default"])(margin) === "object" && margin.bottom ? _variables.spaces[margin.bottom] : "";
119
+ }, function (_ref7) {
120
+ var margin = _ref7.margin;
121
+ return margin && (0, _typeof2["default"])(margin) === "object" && margin.left ? _variables.spaces[margin.left] : "";
122
+ }, function (props) {
123
+ return props.disabled && "not-allowed" || "pointer";
124
+ }, function (props) {
125
+ return "".concat(props.theme.accordionGroupSeparatorBorderThickness, " ").concat(props.theme.accordionGroupSeparatorBorderStyle);
126
+ }, function (props) {
127
+ return props.theme.accordionGroupSeparatorBorderColor;
128
+ }, function (props) {
129
+ return props.theme.borderRadius;
130
+ }, function (props) {
131
+ return props.theme.borderRadius;
132
+ }, function (props) {
133
+ return "".concat(props.theme.accordionGroupSeparatorBorderThickness, " ").concat(props.theme.accordionGroupSeparatorBorderStyle);
134
+ }, function (props) {
135
+ return props.theme.accordionGroupSeparatorBorderColor;
136
+ }, function (props) {
137
+ return props.theme.borderRadius;
138
+ }, function (props) {
139
+ return props.theme.borderRadius;
140
+ }, function (props) {
141
+ return props.theme.borderRadius;
142
+ }, function (props) {
143
+ return props.theme.borderRadius;
144
+ }, function (props) {
145
+ return props.theme.borderRadius;
146
+ }, function (props) {
147
+ return props.theme.borderRadius;
148
+ }, function (props) {
149
+ return props.theme.borderRadius;
150
+ }, function (props) {
151
+ return props.theme.borderRadius;
152
+ }, function (props) {
153
+ return props.theme.borderRadius;
154
+ }, function (props) {
155
+ return props.theme.borderRadius;
156
+ });
157
+
158
+ DxcAccordionGroup.propTypes = {
159
+ disabled: _propTypes["default"].bool,
160
+ onActiveChange: _propTypes["default"].func,
161
+ indexActive: _propTypes["default"].number,
162
+ children: _propTypes["default"].arrayOf(_propTypes["default"].shape({
163
+ label: _propTypes["default"].string,
164
+ icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
165
+ iconSrc: _propTypes["default"].string,
166
+ iconPosition: _propTypes["default"].oneOf(["before", "after"]),
167
+ assistiveText: _propTypes["default"].string,
168
+ disabled: _propTypes["default"].bool,
169
+ children: _propTypes["default"].element,
170
+ padding: _propTypes["default"].oneOfType([_propTypes["default"].shape({
171
+ top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
172
+ bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
173
+ left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
174
+ right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
175
+ }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
176
+ })),
177
+ margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
178
+ top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
179
+ bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
180
+ left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
181
+ right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
182
+ }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
183
+ };
184
+ DxcAccordionGroup.Accordion = Accordion;
185
+ var _default = DxcAccordionGroup;
186
+ exports["default"] = _default;
@@ -9,48 +9,28 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports["default"] = void 0;
11
11
 
12
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
+
12
14
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
15
 
14
16
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
17
 
16
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
17
-
18
- var _react = _interopRequireWildcard(require("react"));
18
+ var _react = _interopRequireDefault(require("react"));
19
19
 
20
20
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
21
 
22
22
  var _propTypes = _interopRequireDefault(require("prop-types"));
23
23
 
24
- require("../common/OpenSans.css");
25
-
26
24
  var _variables = require("../common/variables.js");
27
25
 
28
- var _close = _interopRequireDefault(require("./close.svg"));
29
-
30
- var _error = _interopRequireDefault(require("./error.svg"));
31
-
32
- var _info = _interopRequireDefault(require("./info.svg"));
33
-
34
- var _success = _interopRequireDefault(require("./success.svg"));
35
-
36
- var _warning = _interopRequireDefault(require("./warning.svg"));
37
-
38
26
  var _utils = require("../common/utils.js");
39
27
 
40
- var _ThemeContext = _interopRequireDefault(require("../ThemeContext.js"));
28
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
41
29
 
42
- function _templateObject11() {
43
- var data = (0, _taggedTemplateLiteral2["default"])([""]);
44
-
45
- _templateObject11 = function _templateObject11() {
46
- return data;
47
- };
48
-
49
- return data;
50
- }
30
+ var _BackgroundColorContext = require("../BackgroundColorContext.js");
51
31
 
52
32
  function _templateObject10() {
53
- var data = (0, _taggedTemplateLiteral2["default"])(["\n cursor: pointer;\n padding: 0;\n margin: 0;\n background: none;\n border: none;\n height: 20px;\n width: 20px;\n display: inline-flex;\n"]);
33
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n border: 1px solid transparent;\n border-radius: 2px;\n box-shadow: 0 0 0 2px transparent;\n padding: 3px;\n margin-left: 12px;\n background-color: transparent;\n color: #000000;\n cursor: pointer;\n\n &:hover {\n background-color: ", ";\n }\n &:focus {\n outline: none;\n box-shadow: 0 0 0 2px ", ";\n }\n &:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px ", ";\n }\n &:active {\n background-color: ", ";\n }\n"]);
54
34
 
55
35
  _templateObject10 = function _templateObject10() {
56
36
  return data;
@@ -60,7 +40,7 @@ function _templateObject10() {
60
40
  }
61
41
 
62
42
  function _templateObject9() {
63
- var data = (0, _taggedTemplateLiteral2["default"])(["\n flex: 1 1 auto;\n padding: 8px 12px 20px 46px;\n overflow-y: auto;\n"]);
43
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n flex: 1 1 auto;\n padding: ", ";\n overflow-y: auto;\n"]);
64
44
 
65
45
  _templateObject9 = function _templateObject9() {
66
46
  return data;
@@ -70,7 +50,7 @@ function _templateObject9() {
70
50
  }
71
51
 
72
52
  function _templateObject8() {
73
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n padding-left: 12px;\n padding-right: 12px;\n overflow: hidden;\n flex-grow: 1;\n align-items: center;\n"]);
53
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n flex-grow: 1;\n align-items: center;\n overflow: hidden;\n"]);
74
54
 
75
55
  _templateObject8 = function _templateObject8() {
76
56
  return data;
@@ -80,7 +60,7 @@ function _templateObject8() {
80
60
  }
81
61
 
82
62
  function _templateObject7() {
83
- var data = (0, _taggedTemplateLiteral2["default"])(["\n padding-left: 12px;\n"]);
63
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n margin-right: 12px;\n padding-right: ", ";\n padding-left: ", ";\n\n color: ", ";\n\n svg {\n width: ", ";\n height: ", ";\n }\n"]);
84
64
 
85
65
  _templateObject7 = function _templateObject7() {
86
66
  return data;
@@ -90,7 +70,7 @@ function _templateObject7() {
90
70
  }
91
71
 
92
72
  function _templateObject6() {
93
- var data = (0, _taggedTemplateLiteral2["default"])(["\n padding-left: 10px;\n padding-right: 10px;\n flex-grow: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n"]);
73
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: 8px;\n padding-right: ", ";\n padding-left: ", ";\n flex-grow: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n"]);
94
74
 
95
75
  _templateObject6 = function _templateObject6() {
96
76
  return data;
@@ -100,7 +80,7 @@ function _templateObject6() {
100
80
  }
101
81
 
102
82
  function _templateObject5() {
103
- var data = (0, _taggedTemplateLiteral2["default"])(["\n text-transform: uppercase;\n padding-right: 10px;\n font-weight: bold;\n"]);
83
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: 8px;\n padding-right: ", ";\n padding-left: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n text-transform: ", ";\n"]);
104
84
 
105
85
  _templateObject5 = function _templateObject5() {
106
86
  return data;
@@ -110,7 +90,7 @@ function _templateObject5() {
110
90
  }
111
91
 
112
92
  function _templateObject4() {
113
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n height: 48px;\n align-items: center;\n width: 100%;\n"]);
93
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n height: calc(48px - calc(", " * 2));\n align-items: center;\n width: 100%;\n"]);
114
94
 
115
95
  _templateObject4 = function _templateObject4() {
116
96
  return data;
@@ -120,7 +100,7 @@ function _templateObject4() {
120
100
  }
121
101
 
122
102
  function _templateObject3() {
123
- var data = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n display: ", ";\n font-size: 12px;\n overflow: hidden;\n box-shadow: 0px 3px 6px #00000012;\n border-radius: 4px;\n font-family: \"Open Sans\", sans-serif;\n justify-content: ", ";\n align-items: ", ";\n max-width: ", ";\n width: ", ";\n min-height: ", ";\n background-color: ", ";\n z-index: 300;\n cursor: default;\n"]);
103
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n display: ", ";\n overflow: hidden;\n box-sizing: border-box;\n\n background-color: ", ";\n\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n\n padding-left: 12px;\n padding-right: 12px;\n justify-content: ", ";\n align-items: ", ";\n max-width: ", ";\n width: ", ";\n z-index: ", ";\n"]);
124
104
 
125
105
  _templateObject3 = function _templateObject3() {
126
106
  return data;
@@ -140,7 +120,7 @@ function _templateObject2() {
140
120
  }
141
121
 
142
122
  function _templateObject() {
143
- var data = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n justify-content: ", ";\n align-items: ", ";\n top: ", ";\n left: ", ";\n position: ", ";\n display: ", ";\n z-index: 200;\n"]);
123
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n font-size: ", ";\n width: ", ";\n height: ", ";\n justify-content: ", ";\n align-items: ", ";\n top: ", ";\n left: ", ";\n position: ", ";\n display: ", ";\n z-index: ", ";\n"]);
144
124
 
145
125
  _templateObject = function _templateObject() {
146
126
  return data;
@@ -149,6 +129,70 @@ function _templateObject() {
149
129
  return data;
150
130
  }
151
131
 
132
+ var alertIcons = {
133
+ close: _react["default"].createElement("svg", {
134
+ xmlns: "http://www.w3.org/2000/svg",
135
+ width: "20",
136
+ height: "20",
137
+ viewBox: "0 0 24 24",
138
+ fill: "currentColor"
139
+ }, _react["default"].createElement("path", {
140
+ 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"
141
+ }), _react["default"].createElement("path", {
142
+ d: "M0 0h24v24H0z",
143
+ fill: "none"
144
+ })),
145
+ info: _react["default"].createElement("svg", {
146
+ xmlns: "http://www.w3.org/2000/svg",
147
+ width: "23",
148
+ height: "23",
149
+ viewBox: "0 0 24 24",
150
+ fill: "currentColor"
151
+ }, _react["default"].createElement("path", {
152
+ d: "M0 0h24v24H0z",
153
+ fill: "none"
154
+ }), _react["default"].createElement("path", {
155
+ d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z"
156
+ })),
157
+ success: _react["default"].createElement("svg", {
158
+ xmlns: "http://www.w3.org/2000/svg",
159
+ width: "23",
160
+ height: "23",
161
+ viewBox: "0 0 24 24",
162
+ fill: "currentColor"
163
+ }, _react["default"].createElement("path", {
164
+ d: "M0 0h24v24H0z",
165
+ fill: "none"
166
+ }), _react["default"].createElement("path", {
167
+ d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"
168
+ })),
169
+ warning: _react["default"].createElement("svg", {
170
+ xmlns: "http://www.w3.org/2000/svg",
171
+ width: "23",
172
+ height: "23",
173
+ viewBox: "0 0 24 24",
174
+ fill: "currentColor"
175
+ }, _react["default"].createElement("path", {
176
+ d: "M0 0h24v24H0z",
177
+ fill: "none"
178
+ }), _react["default"].createElement("path", {
179
+ d: "M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"
180
+ })),
181
+ error: _react["default"].createElement("svg", {
182
+ xmlns: "http://www.w3.org/2000/svg",
183
+ width: "23",
184
+ height: "23",
185
+ viewBox: "0 0 24 24",
186
+ fill: "currentColor"
187
+ }, _react["default"].createElement("path", {
188
+ d: "M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z",
189
+ fill: "currentColor"
190
+ }), _react["default"].createElement("path", {
191
+ d: "M0 0h24v24H0z",
192
+ fill: "none"
193
+ }))
194
+ };
195
+
152
196
  var DxcAlert = function DxcAlert(_ref) {
153
197
  var _ref$type = _ref.type,
154
198
  type = _ref$type === void 0 ? "info" : _ref$type,
@@ -160,11 +204,9 @@ var DxcAlert = function DxcAlert(_ref) {
160
204
  children = _ref.children,
161
205
  margin = _ref.margin,
162
206
  _ref$size = _ref.size,
163
- size = _ref$size === void 0 ? "fitContent" : _ref$size;
164
- var customTheme = (0, _react.useContext)(_ThemeContext["default"]);
165
- var colorsTheme = (0, _react.useMemo)(function () {
166
- return (0, _utils.getCustomTheme)(_variables.theme, (0, _utils.getCustomTheme)(_variables.defaultTheme, customTheme));
167
- }, [customTheme]);
207
+ size = _ref$size === void 0 ? "fitContent" : _ref$size,
208
+ tabIndex = _ref.tabIndex;
209
+ var colorsTheme = (0, _useTheme["default"])();
168
210
 
169
211
  var getTypeText = function getTypeText() {
170
212
  return type === "info" ? "information" : type === "confirm" ? "success" : type === "warning" ? "warning" : "error";
@@ -183,14 +225,15 @@ var DxcAlert = function DxcAlert(_ref) {
183
225
  margin: margin,
184
226
  size: size
185
227
  }, _react["default"].createElement(AlertInfo, null, _react["default"].createElement(AlertIcon, {
186
- src: type === "info" && _info["default"] || type === "confirm" && _success["default"] || type === "warning" && _warning["default"] || type === "error" && _error["default"] || _error["default"]
187
- }), _react["default"].createElement(AlertInfoText, null, _react["default"].createElement(AlertType, {
188
228
  type: type
189
- }, getTypeText(type)), inlineText && inlineText !== "" && "-", _react["default"].createElement(AlertText, null, inlineText), onClose && _react["default"].createElement(CloseAlertIcon, {
190
- onClick: onClose
191
- }, _react["default"].createElement(CloseImg, {
192
- src: _close["default"]
193
- })))), children && _react["default"].createElement(AlertContent, null, children))));
229
+ }, type === "info" && alertIcons.info || type === "confirm" && alertIcons.success || type === "warning" && alertIcons.warning || type === "error" && alertIcons.error), _react["default"].createElement(AlertText, null, _react["default"].createElement(AlertTitle, {
230
+ type: type
231
+ }, getTypeText(type)), inlineText && inlineText !== "" && "-", _react["default"].createElement(AlertInlineText, null, inlineText)), onClose && _react["default"].createElement(AlertCloseAction, {
232
+ onClick: onClose,
233
+ tabIndex: tabIndex
234
+ }, alertIcons.close)), children && _react["default"].createElement(AlertContent, null, _react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
235
+ color: type === "info" && colorsTheme.alert.infoBackgroundColor || type === "confirm" && colorsTheme.alert.successBackgroundColor || type === "warning" && colorsTheme.alert.warningBackgroundColor || type === "error" && colorsTheme.alert.errorBackgroundColor
236
+ }, children)))));
194
237
  };
195
238
 
196
239
  var sizes = {
@@ -202,29 +245,12 @@ var sizes = {
202
245
  };
203
246
 
204
247
  var calculateWidth = function calculateWidth(margin, size) {
205
- if (size === "fillParent") {
206
- return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
207
- }
208
-
209
- return sizes[size];
210
- };
211
-
212
- DxcAlert.propTypes = {
213
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
214
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
215
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
216
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
217
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
218
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
219
- type: _propTypes["default"].oneOf(["info", "confirm", "warning", "error"]),
220
- mode: _propTypes["default"].oneOf(["inline", "modal"]),
221
- inlineText: _propTypes["default"].string,
222
- onClose: _propTypes["default"].func,
223
- children: _propTypes["default"].element,
224
- size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes)))
248
+ return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
225
249
  };
226
250
 
227
251
  var AlertModal = _styledComponents["default"].div(_templateObject(), function (props) {
252
+ return props.theme.fontSizeBase;
253
+ }, function (props) {
228
254
  return props.mode === "modal" ? "100%" : "";
229
255
  }, function (props) {
230
256
  return props.mode === "modal" ? "100%" : "";
@@ -240,10 +266,12 @@ var AlertModal = _styledComponents["default"].div(_templateObject(), function (p
240
266
  return props.mode === "modal" ? "fixed" : "";
241
267
  }, function (props) {
242
268
  return props.mode === "modal" ? "flex" : "";
269
+ }, function (props) {
270
+ return props.mode === "modal" ? "1200" : "";
243
271
  });
244
272
 
245
273
  var OverlayContainer = _styledComponents["default"].div(_templateObject2(), function (props) {
246
- return props.mode === "modal" ? "".concat(props.theme.overlayColor).concat(props.theme.overlayOpacity) : "transparent";
274
+ return props.mode === "modal" ? "".concat(props.theme.overlayColor) : "transparent";
247
275
  }, function (props) {
248
276
  return props.mode === "modal" ? "fixed" : "";
249
277
  }, function (props) {
@@ -267,38 +295,109 @@ var AlertContainer = _styledComponents["default"].div(_templateObject3(), functi
267
295
  }, function (props) {
268
296
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
269
297
  }, function (props) {
270
- return props.children && "inline-block" || "inline-flex";
298
+ return props.size === "fitContent" ? "inline-block" : "block";
271
299
  }, function (props) {
272
- return props.mode === "modal" ? "center" : "";
300
+ return props.type === "info" && props.theme.infoBackgroundColor || props.type === "confirm" && props.theme.successBackgroundColor || props.type === "warning" && props.theme.warningBackgroundColor || props.type === "error" && props.theme.errorBackgroundColor;
301
+ }, function (props) {
302
+ return props.theme.borderRadius;
303
+ }, function (props) {
304
+ return props.theme.borderThickness;
305
+ }, function (props) {
306
+ return props.theme.borderStyle;
307
+ }, function (props) {
308
+ return props.type === "info" && props.theme.infoBorderColor || props.type === "confirm" && props.theme.successBorderColor || props.type === "warning" && props.theme.warningBorderColor || props.type === "error" && props.theme.errorBorderColor;
273
309
  }, function (props) {
274
310
  return props.mode === "modal" ? "center" : "";
275
311
  }, function (props) {
276
- return props.size === "fitContent" ? calculateWidth(props.margin, "fillParent") : calculateWidth(props.margin, props.size);
312
+ return props.mode === "modal" ? "center" : "";
277
313
  }, function (props) {
278
- return calculateWidth(props.margin, props.size);
314
+ return props.size !== "fillParent" && calculateWidth(props.margin, "fillParent");
279
315
  }, function (props) {
280
- return props.children && props.children.filter(function (child) {
281
- return child === undefined;
282
- }).length === 0 && "92px" || "48px";
316
+ return props.size !== "fillParent" && calculateWidth(props.margin, props.size);
283
317
  }, function (props) {
284
- return props.type === "info" && props.theme.infoColor || props.type === "confirm" && props.theme.confirmColor || props.type === "warning" && props.theme.warningColor || props.type === "error" && props.theme.errorColor || props.theme.lightPink;
318
+ return props.mode === "modal" ? "1300" : "";
285
319
  });
286
320
 
287
- var AlertInfo = _styledComponents["default"].div(_templateObject4());
288
-
289
- var AlertType = _styledComponents["default"].div(_templateObject5());
321
+ var AlertInfo = _styledComponents["default"].div(_templateObject4(), function (props) {
322
+ return props.theme.borderThickness;
323
+ });
290
324
 
291
- var AlertText = _styledComponents["default"].div(_templateObject6());
325
+ var AlertTitle = _styledComponents["default"].div(_templateObject5(), function (props) {
326
+ return props.theme.titlePaddingRight;
327
+ }, function (props) {
328
+ return props.theme.titlePaddingLeft;
329
+ }, function (props) {
330
+ return props.theme.titleFontFamily;
331
+ }, function (props) {
332
+ return props.theme.titleFontSize;
333
+ }, function (props) {
334
+ return props.theme.titleFontStyle;
335
+ }, function (props) {
336
+ return props.theme.titleFontWeight;
337
+ }, function (props) {
338
+ return props.theme.titleFontColor;
339
+ }, function (props) {
340
+ return props.theme.titleTextTransform;
341
+ });
292
342
 
293
- var AlertIcon = _styledComponents["default"].img(_templateObject7());
343
+ var AlertInlineText = _styledComponents["default"].div(_templateObject6(), function (props) {
344
+ return props.theme.inlineTextPaddingRight;
345
+ }, function (props) {
346
+ return props.theme.inlineTextPaddingLeft;
347
+ }, function (props) {
348
+ return props.theme.inlineTextFontFamily;
349
+ }, function (props) {
350
+ return props.theme.inlineTextFontSize;
351
+ }, function (props) {
352
+ return props.theme.inlineTextFontStyle;
353
+ }, function (props) {
354
+ return props.theme.inlineTextFontWeight;
355
+ }, function (props) {
356
+ return props.theme.inlineTextFontColor;
357
+ });
294
358
 
295
- var AlertInfoText = _styledComponents["default"].div(_templateObject8());
359
+ var AlertIcon = _styledComponents["default"].span(_templateObject7(), function (props) {
360
+ return props.theme.iconPaddingRight;
361
+ }, function (props) {
362
+ return props.theme.iconPaddingLeft;
363
+ }, function (props) {
364
+ return props.type === "info" && props.theme.infoIconColor || props.type === "confirm" && props.theme.successIconColor || props.type === "warning" && props.theme.warningIconColor || props.type === "error" && props.theme.errorIconColor;
365
+ }, function (props) {
366
+ return props.theme.iconSize;
367
+ }, function (props) {
368
+ return props.theme.iconSize;
369
+ });
296
370
 
297
- var AlertContent = _styledComponents["default"].div(_templateObject9());
371
+ var AlertText = _styledComponents["default"].div(_templateObject8());
298
372
 
299
- var CloseAlertIcon = _styledComponents["default"].button(_templateObject10());
373
+ var AlertContent = _styledComponents["default"].div(_templateObject9(), function (props) {
374
+ return "".concat(props.theme.contentPaddingTop, " ").concat(props.theme.contentPaddingRight, " ").concat(props.theme.contentPaddingBottom, " ").concat(props.theme.contentPaddingLeft);
375
+ });
300
376
 
301
- var CloseImg = _styledComponents["default"].img(_templateObject11());
377
+ var AlertCloseAction = _styledComponents["default"].button(_templateObject10(), function (props) {
378
+ return props.theme.hoverActionBackgroundColor;
379
+ }, function (props) {
380
+ return props.theme.focusActionBorderColor;
381
+ }, function (props) {
382
+ return props.theme.focusActionBorderColor;
383
+ }, function (props) {
384
+ return props.theme.activeActionBackgroundColor;
385
+ });
302
386
 
387
+ DxcAlert.propTypes = {
388
+ margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
389
+ top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
390
+ bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
391
+ left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
392
+ right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
393
+ }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
394
+ type: _propTypes["default"].oneOf(["info", "confirm", "warning", "error"]),
395
+ mode: _propTypes["default"].oneOf(["inline", "modal"]),
396
+ inlineText: _propTypes["default"].string,
397
+ onClose: _propTypes["default"].func,
398
+ children: _propTypes["default"].element,
399
+ size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
400
+ tabIndex: _propTypes["default"].number
401
+ };
303
402
  var _default = DxcAlert;
304
403
  exports["default"] = _default;
@@ -0,0 +1,51 @@
1
+ type Size = "small" | "medium" | "large" | "fillParent" | "fitContent";
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
+
10
+ type Props = {
11
+ /**
12
+ * Uses on of the available alert types.
13
+ */
14
+ type?: "info" | "confirm" | "warning" | "error";
15
+ /**
16
+ * Uses on of the available alert modes:
17
+ * 'inline': If onClose function is received, close button will be visible and the function will be executed when it's clicked.
18
+ * There is no overlay layer. Position should be decided by the user.
19
+ * 'modal': The alert will be displayed in the middle of the screen with an overlay layer behind.
20
+ * The onClose function will be executed when the X button or the overlay is clicked. d
21
+ * The user has the responsibility of hidding the modal in the onClose function, otherwise the modal will remain visible.
22
+ */
23
+ mode?: "inline" | "modal";
24
+ /**
25
+ * Text to display after icon and alert type and before content.
26
+ */
27
+ inlineText?: string;
28
+ /**
29
+ * This function will be called when the user clicks the close button. If there is no function we should close the alert by default.
30
+ */
31
+ onClose?: () => void;
32
+ /**
33
+ * The details section of the alert. Can be used to render custom content in this area.
34
+ */
35
+ children?: React.ReactNode;
36
+ /**
37
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
38
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
39
+ */
40
+ margin?: Space | Margin;
41
+ /**
42
+ * Size of the component ('small' | 'medium' | 'large' | 'fillParent' | 'fitContent').
43
+ */
44
+ size?: Size;
45
+ /**
46
+ * Tabindex value given to the close button.
47
+ */
48
+ tabIndex?: number;
49
+ };
50
+
51
+ export default function Alert(props: Props): JSX.Element;