@dxc-technology/halstack-react 0.0.0-afd5470 → 0.0.0-b1729d7

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 (155) hide show
  1. package/babel.config.js +6 -2
  2. package/dist/BackgroundColorContext.js +46 -0
  3. package/dist/ThemeContext.js +235 -2
  4. package/dist/V3Textarea/V3Textarea.js +264 -0
  5. package/dist/accordion/Accordion.js +168 -63
  6. package/dist/accordion-group/AccordionGroup.js +186 -0
  7. package/dist/alert/Alert.js +183 -84
  8. package/dist/alert/index.d.ts +51 -0
  9. package/dist/badge/Badge.js +63 -0
  10. package/dist/box/Box.js +31 -23
  11. package/dist/button/Button.js +83 -26
  12. package/dist/card/Card.js +72 -35
  13. package/dist/checkbox/Checkbox.js +98 -38
  14. package/dist/chip/Chip.js +128 -36
  15. package/dist/common/RequiredComponent.js +2 -8
  16. package/dist/common/utils.js +2 -22
  17. package/dist/common/variables.js +1439 -308
  18. package/dist/date/Date.js +80 -57
  19. package/dist/date-input/DateInput.js +400 -0
  20. package/dist/date-input/index.d.ts +95 -0
  21. package/dist/dialog/Dialog.js +58 -37
  22. package/dist/dropdown/Dropdown.js +199 -71
  23. package/dist/file-input/FileInput.js +644 -0
  24. package/dist/file-input/FileItem.js +280 -0
  25. package/dist/file-input/index.d.ts +81 -0
  26. package/dist/footer/Footer.js +121 -46
  27. package/dist/footer/Icons.js +77 -0
  28. package/dist/header/Header.js +171 -97
  29. package/dist/header/Icons.js +59 -0
  30. package/dist/heading/Heading.js +81 -16
  31. package/dist/input-text/Icons.js +22 -0
  32. package/dist/input-text/InputText.js +292 -106
  33. package/dist/layout/ApplicationLayout.js +52 -45
  34. package/dist/layout/Icons.js +55 -0
  35. package/dist/link/Link.js +136 -35
  36. package/dist/main.d.ts +8 -0
  37. package/dist/main.js +95 -7
  38. package/dist/new-select/NewSelect.js +836 -0
  39. package/dist/new-select/index.d.ts +53 -0
  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 +150 -63
  45. package/dist/password-input/PasswordInput.js +198 -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 +93 -68
  50. package/dist/select/Select.js +244 -146
  51. package/dist/sidenav/Sidenav.js +86 -129
  52. package/dist/slider/Slider.js +219 -73
  53. package/dist/spinner/Spinner.js +247 -59
  54. package/dist/switch/Switch.js +50 -27
  55. package/dist/table/Table.js +52 -13
  56. package/dist/tabs/Tabs.js +206 -35
  57. package/dist/tabs-for-sections/TabsForSections.js +1 -16
  58. package/dist/tag/Tag.js +85 -37
  59. package/dist/text-input/TextInput.js +971 -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 +159 -46
  65. package/dist/upload/Upload.js +16 -11
  66. package/dist/upload/buttons-upload/ButtonsUpload.js +31 -14
  67. package/dist/upload/dragAndDropArea/DragAndDropArea.js +78 -28
  68. package/dist/upload/file-upload/FileToUpload.js +50 -24
  69. package/dist/upload/files-upload/FilesToUpload.js +16 -16
  70. package/dist/upload/readme.md +2 -2
  71. package/dist/upload/transaction/Transaction.js +44 -24
  72. package/dist/upload/transactions/Transactions.js +38 -20
  73. package/dist/useTheme.js +22 -0
  74. package/dist/wizard/Wizard.js +139 -55
  75. package/dist/wizard/invalid_icon.svg +4 -5
  76. package/dist/wizard/valid_icon.svg +4 -5
  77. package/package.json +13 -5
  78. package/test/AccordionGroup.test.js +125 -0
  79. package/test/Date.test.js +49 -45
  80. package/test/DateInput.test.js +242 -0
  81. package/test/Dropdown.test.js +15 -0
  82. package/test/FileInput.test.js +201 -0
  83. package/test/Footer.test.js +2 -7
  84. package/test/Header.test.js +5 -10
  85. package/test/InputText.test.js +53 -41
  86. package/test/Link.test.js +25 -7
  87. package/test/NumberInput.test.js +259 -0
  88. package/test/Paginator.test.js +72 -60
  89. package/test/PasswordInput.test.js +83 -0
  90. package/test/ResultsetTable.test.js +66 -19
  91. package/test/Select.test.js +55 -34
  92. package/test/Sidenav.test.js +22 -64
  93. package/test/Slider.test.js +24 -15
  94. package/test/Spinner.test.js +5 -0
  95. package/test/Tabs.test.js +21 -0
  96. package/test/TextInput.test.js +732 -0
  97. package/test/Textarea.test.js +193 -0
  98. package/test/ToggleGroup.test.js +5 -1
  99. package/test/Upload.test.js +5 -5
  100. package/test/{TextArea.test.js → V3TextArea.test.js} +6 -7
  101. package/dist/accordion/Accordion.stories.js +0 -207
  102. package/dist/accordion/readme.md +0 -96
  103. package/dist/alert/Alert.stories.js +0 -158
  104. package/dist/alert/close.svg +0 -4
  105. package/dist/alert/error.svg +0 -4
  106. package/dist/alert/info.svg +0 -4
  107. package/dist/alert/readme.md +0 -43
  108. package/dist/alert/success.svg +0 -4
  109. package/dist/alert/warning.svg +0 -4
  110. package/dist/button/Button.stories.js +0 -224
  111. package/dist/button/readme.md +0 -93
  112. package/dist/common/services/example-service.js +0 -10
  113. package/dist/common/services/example-service.test.js +0 -12
  114. package/dist/date/calendar.svg +0 -1
  115. package/dist/date/calendar_dark.svg +0 -1
  116. package/dist/dialog/Dialog.stories.js +0 -217
  117. package/dist/dialog/readme.md +0 -32
  118. package/dist/dropdown/Dropdown.stories.js +0 -249
  119. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  120. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  121. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  122. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  123. package/dist/dropdown/readme.md +0 -69
  124. package/dist/footer/Footer.stories.js +0 -94
  125. package/dist/footer/dxc_logo_wht.png +0 -0
  126. package/dist/footer/readme.md +0 -41
  127. package/dist/header/Header.stories.js +0 -176
  128. package/dist/header/close_icon.svg +0 -1
  129. package/dist/header/dxc_logo_black.png +0 -0
  130. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  131. package/dist/header/dxc_logo_white.png +0 -0
  132. package/dist/header/hamb_menu_black.svg +0 -1
  133. package/dist/header/hamb_menu_white.svg +0 -1
  134. package/dist/header/readme.md +0 -33
  135. package/dist/input-text/InputText.stories.js +0 -209
  136. package/dist/input-text/error.svg +0 -1
  137. package/dist/input-text/readme.md +0 -91
  138. package/dist/layout/SideNav.js +0 -67
  139. package/dist/layout/facebook.svg +0 -45
  140. package/dist/layout/linkedin.svg +0 -50
  141. package/dist/layout/twitter.svg +0 -53
  142. package/dist/paginator/images/next.svg +0 -3
  143. package/dist/paginator/images/nextPage.svg +0 -3
  144. package/dist/paginator/images/previous.svg +0 -3
  145. package/dist/paginator/images/previousPage.svg +0 -3
  146. package/dist/paginator/readme.md +0 -50
  147. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  148. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  149. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  150. package/dist/select/Select.stories.js +0 -235
  151. package/dist/select/readme.md +0 -72
  152. package/dist/sidenav/arrow_icon.svg +0 -3
  153. package/dist/slider/Slider.stories.js +0 -241
  154. package/dist/toggle-group/readme.md +0 -82
  155. package/test/Toggle.test.js +0 -43
@@ -9,11 +9,11 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports["default"] = void 0;
11
11
 
12
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
12
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
13
 
14
14
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
15
 
16
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
16
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
17
17
 
18
18
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
19
 
@@ -31,16 +31,26 @@ var _ExpandMore = _interopRequireDefault(require("@material-ui/icons/ExpandMore"
31
31
 
32
32
  var _propTypes = _interopRequireDefault(require("prop-types"));
33
33
 
34
- require("../common/OpenSans.css");
35
-
36
34
  var _utils = require("../common/utils.js");
37
35
 
38
36
  var _variables = require("../common/variables.js");
39
37
 
40
- var _ThemeContext = _interopRequireDefault(require("../ThemeContext.js"));
38
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
39
+
40
+ var _BackgroundColorContext = require("../BackgroundColorContext.js");
41
+
42
+ function _templateObject7() {
43
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n margin-left: ", ";\n margin-right: ", ";\n overflow: hidden;\n color: ", ";\n"]);
44
+
45
+ _templateObject7 = function _templateObject7() {
46
+ return data;
47
+ };
48
+
49
+ return data;
50
+ }
41
51
 
42
52
  function _templateObject6() {
43
- var data = (0, _taggedTemplateLiteral2["default"])(["\n max-height: 20px;\n max-width: 20px;\n margin-left: ", ";\n margin-right: ", ";\n"]);
53
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n margin-left: ", ";\n margin-right: ", ";\n overflow: hidden;\n color: ", ";\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"]);
44
54
 
45
55
  _templateObject6 = function _templateObject6() {
46
56
  return data;
@@ -50,7 +60,7 @@ function _templateObject6() {
50
60
  }
51
61
 
52
62
  function _templateObject5() {
53
- var data = (0, _taggedTemplateLiteral2["default"])(["\n margin-top: 1px;\n font-size: 14px;\n font: Italic 14px/19px Open Sans;\n letter-spacing: 0.24px;\n"]);
63
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n padding-left: ", ";\n padding-right: ", ";\n font-size: ", ";\n font-family: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n letter-spacing: ", ";\n flex: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n min-width: ", ";\n text-align: end;\n"]);
54
64
 
55
65
  _templateObject5 = function _templateObject5() {
56
66
  return data;
@@ -70,7 +80,7 @@ function _templateObject4() {
70
80
  }
71
81
 
72
82
  function _templateObject3() {
73
- var data = (0, _taggedTemplateLiteral2["default"])(["\n flex-grow: ", ";\n"]);
83
+ var data = (0, _taggedTemplateLiteral2["default"])([""]);
74
84
 
75
85
  _templateObject3 = function _templateObject3() {
76
86
  return data;
@@ -80,7 +90,7 @@ function _templateObject3() {
80
90
  }
81
91
 
82
92
  function _templateObject2() {
83
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: ", ";\n align-items: center;\n flex-grow: 1;\n margin-right: 15px;\n"]);
93
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row-reverse;\n align-items: center;\n padding-left: ", ";\n padding-right: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n"]);
84
94
 
85
95
  _templateObject2 = function _templateObject2() {
86
96
  return data;
@@ -90,7 +100,7 @@ function _templateObject2() {
90
100
  }
91
101
 
92
102
  function _templateObject() {
93
- var data = (0, _taggedTemplateLiteral2["default"])(["\n min-width: 280px;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n width: ", ";\n\n font-family: \"Open Sans\", sans-serif;\n cursor: ", ";\n .MuiPaper-root {\n left: 85px;\n background-color: ", " !important;\n color: ", ";\n box-shadow: 0px 6px 10px #00000024;\n display: block;\n position: static;\n width: 100%;\n border-radius: 4px;\n\n &.Mui-expanded {\n border-radius: 4px;\n color: \"#000000\";\n }\n\n .MuiButtonBase-root.MuiExpansionPanelSummary-root {\n :hover {\n background-color: ", ";\n color: ", ";\n }\n }\n\n .MuiButtonBase-root {\n border-radius: 4px;\n height: 72px;\n\n &.Mui-expanded {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n .MuiSvgIcon-root {\n opacity: 1;\n }\n }\n\n &.MuiIconButton-root {\n height: auto;\n }\n\n .MuiExpansionPanelSummary-content {\n padding-right: 30px;\n &.Mui-expanded {\n div:nth-child(2) {\n opacity: 1;\n }\n }\n :hover {\n div {\n opacity: 1;\n }\n }\n }\n }\n\n .MuiExpansionPanelSummary-root.Mui-expanded {\n color: ", ";\n border-bottom: 1px solid #d9d9d9;\n }\n\n .MuiTouchRipple-root {\n display: none;\n }\n }\n\n .MuiCollapse-hidden {\n display: none;\n }\n\n .MuiPaper-root.Mui-disabled {\n opacity: ", ";\n }\n\n .MuiCollapse-container {\n color: #000000;\n border-radius: 0px 0px 4px 4px;\n cursor: default;\n width: 100%;\n }\n\n .MuiSvgIcon-root {\n color: ", ";\n }\n\n .MuiExpansionPanelSummary-root {\n padding: 0 30px;\n }\n\n .MuiExpansionPanelSummary-root.Mui-disabled {\n opacity: 1;\n }\n\n .MuiExpansionPanelDetails-root {\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n }\n"]);
103
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n min-width: 280px;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n width: ", ";\n cursor: ", ";\n\n .MuiPaper-root {\n min-width: 0;\n display: flex;\n left: 85px;\n background-color: ", " !important;\n box-shadow: ", ";\n position: static;\n width: 100%;\n border-radius: ", ";\n\n &.Mui-expanded {\n border-radius: ", ";\n }\n &.MuiExpansionPanel-root {\n display: flex;\n flex-direction: column;\n min-height: 48px;\n }\n &.MuiExpansionPanel-rounded {\n border-radius: ", ";\n }\n .MuiButtonBase-root.MuiExpansionPanelSummary-root {\n min-height: 48px;\n height: 48px;\n\n :focus {\n outline-color: ", ";\n outline-style: ", ";\n outline-width: ", ";\n background-color: ", ";\n }\n :hover {\n background-color: ", ";\n }\n :active {\n background-color: ", ";\n }\n &.Mui-disabled {\n opacity: 1;\n }\n }\n .MuiButtonBase-root {\n border-radius: ", ";\n\n &.Mui-expanded {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n .MuiSvgIcon-root {\n opacity: 1;\n }\n }\n &.MuiIconButton-root {\n height: auto;\n }\n .MuiExpansionPanelSummary-content {\n padding-top: ", ";\n padding-bottom: ", ";\n padding-right: ", ";\n padding-left: ", ";\n min-width: 0;\n align-items: baseline;\n &.Mui-expanded {\n div:nth-child(2) {\n opacity: 1;\n }\n }\n :hover {\n div {\n opacity: 1;\n }\n }\n }\n }\n .MuiTouchRipple-root {\n display: none;\n }\n }\n .MuiCollapse-hidden {\n display: none;\n }\n .MuiCollapse-container {\n border-radius: 0px 0px 4px 4px;\n cursor: default;\n width: 100%;\n }\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n }\n }\n .MuiExpansionPanelDetails-root {\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n }\n"]);
94
104
 
95
105
  _templateObject = function _templateObject() {
96
106
  return data;
@@ -104,8 +114,7 @@ var DxcAccordion = function DxcAccordion(_ref) {
104
114
  label = _ref$label === void 0 ? "" : _ref$label,
105
115
  _ref$iconSrc = _ref.iconSrc,
106
116
  iconSrc = _ref$iconSrc === void 0 ? "" : _ref$iconSrc,
107
- _ref$iconPosition = _ref.iconPosition,
108
- iconPosition = _ref$iconPosition === void 0 ? "before" : _ref$iconPosition,
117
+ icon = _ref.icon,
109
118
  _ref$assistiveText = _ref.assistiveText,
110
119
  assistiveText = _ref$assistiveText === void 0 ? "" : _ref$assistiveText,
111
120
  _ref$disabled = _ref.disabled,
@@ -115,17 +124,39 @@ var DxcAccordion = function DxcAccordion(_ref) {
115
124
  isExpanded = _ref.isExpanded,
116
125
  children = _ref.children,
117
126
  margin = _ref.margin,
118
- padding = _ref.padding;
127
+ padding = _ref.padding,
128
+ _ref$tabIndex = _ref.tabIndex,
129
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
119
130
 
120
131
  var _React$useState = _react["default"].useState(false),
121
132
  _React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
122
133
  innerIsExpanded = _React$useState2[0],
123
134
  setInnerIsExpanded = _React$useState2[1];
124
135
 
125
- var customTheme = (0, _react.useContext)(_ThemeContext["default"]);
126
- var colorsTheme = (0, _react.useMemo)(function () {
127
- return (0, _utils.getCustomTheme)(_variables.theme, (0, _utils.getCustomTheme)(_variables.defaultTheme, customTheme));
128
- }, [customTheme]);
136
+ var _useState = (0, _react.useState)(),
137
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
138
+ isResponsive = _useState2[0],
139
+ setIsResponsive = _useState2[1];
140
+
141
+ var colorsTheme = (0, _useTheme["default"])();
142
+
143
+ var handleResize = function handleResize(width) {
144
+ if (width) {
145
+ if (width <= _variables.responsiveSizes.tablet ? setIsResponsive(true) : setIsResponsive(false)) ;
146
+ }
147
+ };
148
+
149
+ var handleEventListener = function handleEventListener() {
150
+ handleResize(window.innerWidth);
151
+ };
152
+
153
+ (0, _react.useEffect)(function () {
154
+ window.addEventListener("resize", handleEventListener);
155
+ handleResize(window.innerWidth);
156
+ return function () {
157
+ window.removeEventListener("resize", handleEventListener);
158
+ };
159
+ }, []);
129
160
 
130
161
  var handlerAccordion = function handlerAccordion() {
131
162
  if (isExpanded == null) {
@@ -142,50 +173,35 @@ var DxcAccordion = function DxcAccordion(_ref) {
142
173
  }, _react["default"].createElement(DXCAccordion, {
143
174
  padding: padding,
144
175
  margin: margin,
145
- disabled: disabled
176
+ disabled: disabled,
177
+ icon: icon || iconSrc,
178
+ isResponsive: isResponsive
146
179
  }, _react["default"].createElement(_ExpansionPanel["default"], {
147
180
  disabled: disabled,
148
181
  onChange: handlerAccordion,
149
182
  expanded: isExpanded != null ? isExpanded : innerIsExpanded
150
183
  }, _react["default"].createElement(_ExpansionPanelSummary["default"], {
151
- expandIcon: _react["default"].createElement(_ExpandMore["default"], null)
184
+ expandIcon: _react["default"].createElement(_ExpandMore["default"], null),
185
+ tabIndex: disabled ? -1 : tabIndex
152
186
  }, _react["default"].createElement(AccordionInfo, {
153
- iconPosition: iconPosition
154
- }, _react["default"].createElement(AccordionLabel, {
155
- iconPosition: iconPosition
156
- }, label), iconSrc && _react["default"].createElement(AccordionIcon, {
157
- iconPosition: iconPosition,
187
+ disabled: disabled
188
+ }, _react["default"].createElement(AccordionLabel, null, label), icon ? _react["default"].createElement(IconContainer, {
189
+ disabled: disabled
190
+ }, (0, _typeof2["default"])(icon) === "object" ? icon : _react["default"].createElement(icon)) : iconSrc && _react["default"].createElement(AccordionIcon, {
158
191
  src: iconSrc
159
- })), _react["default"].createElement(AccordionAssistiveText, null, assistiveText)), _react["default"].createElement(_ExpansionPanelDetails["default"], null, _react["default"].createElement(AccordionText, null, children)))));
192
+ })), assistiveText && _react["default"].createElement(AccordionAssistiveText, {
193
+ disabled: disabled
194
+ }, assistiveText)), _react["default"].createElement(_ExpansionPanelDetails["default"], null, _react["default"].createElement(AccordionContent, {
195
+ disabled: disabled
196
+ }, _react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
197
+ color: colorsTheme.accordion.backgroundColor
198
+ }, children))))));
160
199
  };
161
200
 
162
201
  var calculateWidth = function calculateWidth(margin) {
163
202
  return "calc(100% - ".concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
164
203
  };
165
204
 
166
- DxcAccordion.propTypes = {
167
- label: _propTypes["default"].string,
168
- iconSrc: _propTypes["default"].string,
169
- iconPosition: _propTypes["default"].oneOf(["before", "after"]),
170
- assistiveText: _propTypes["default"].string,
171
- disabled: _propTypes["default"].bool,
172
- onChange: _propTypes["default"].func,
173
- isExpanded: _propTypes["default"].bool,
174
- children: _propTypes["default"].element,
175
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
176
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
177
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
178
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
179
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
180
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
181
- padding: _propTypes["default"].oneOfType([_propTypes["default"].shape({
182
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
183
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
184
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
185
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
186
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
187
- };
188
-
189
205
  var DXCAccordion = _styledComponents["default"].div(_templateObject(), function (props) {
190
206
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
191
207
  }, function (props) {
@@ -200,20 +216,40 @@ var DXCAccordion = _styledComponents["default"].div(_templateObject(), function
200
216
  return calculateWidth(props.margin);
201
217
  }, function (props) {
202
218
  return props.disabled && "not-allowed" || "pointer";
219
+ }, function (props) {
220
+ return props.disabled ? props.theme.disabledBackgroundColor : props.theme.backgroundColor;
221
+ }, function (props) {
222
+ return "".concat(props.theme.boxShadowOffsetX, " ").concat(props.theme.boxShadowOffsetY, " ").concat(props.theme.boxShadowBlur, " ").concat(props.theme.boxShadowColor);
223
+ }, function (props) {
224
+ return props.theme.borderRadius;
225
+ }, function (props) {
226
+ return props.theme.borderRadius;
227
+ }, function (props) {
228
+ return props.theme.borderRadius;
229
+ }, function (props) {
230
+ return props.theme.focusBorderColor;
231
+ }, function (props) {
232
+ return props.theme.focusBorderStyle;
233
+ }, function (props) {
234
+ return props.theme.focusBorderThickness;
203
235
  }, function (props) {
204
236
  return props.theme.backgroundColor;
205
237
  }, function (props) {
206
- return props.theme.fontColor;
238
+ return "".concat(props.theme.hoverBackgroundColor);
239
+ }, function (props) {
240
+ return "".concat(props.theme.hoverBackgroundColor);
207
241
  }, function (props) {
208
- return "".concat(props.theme.arrowColor).concat(props.theme.hoverBackgroundColor);
242
+ return props.theme.borderRadius;
209
243
  }, function (props) {
210
- return props.theme.hoverFontColor;
244
+ return props.theme.titleLabelPaddingTop;
211
245
  }, function (props) {
212
- return props.theme.hoverFontColor;
246
+ return props.theme.titleLabelPaddingBottom;
213
247
  }, function (props) {
214
- return props.theme.disabled;
248
+ return props.theme.titleLabelPaddingRight;
215
249
  }, function (props) {
216
- return props.theme.arrowColor;
250
+ return props.theme.titleLabelPaddingLeft;
251
+ }, function (props) {
252
+ return props.disabled ? props.theme.disabledArrowColor : props.theme.arrowColor;
217
253
  }, function (props) {
218
254
  return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
219
255
  }, function (props) {
@@ -227,22 +263,91 @@ var DXCAccordion = _styledComponents["default"].div(_templateObject(), function
227
263
  });
228
264
 
229
265
  var AccordionInfo = _styledComponents["default"].div(_templateObject2(), function (props) {
230
- return props.iconPosition === "after" && "row" || "row-reverse";
266
+ return props.theme.titlePaddingLeft;
267
+ }, function (props) {
268
+ return props.theme.titlePaddingRight;
269
+ }, function (props) {
270
+ return props.theme.titleLabelFontFamily;
271
+ }, function (props) {
272
+ return props.theme.titleLabelFontSize;
273
+ }, function (props) {
274
+ return props.theme.titleLabelFontStyle;
275
+ }, function (props) {
276
+ return props.theme.titleFonLabeltWeight;
277
+ }, function (props) {
278
+ return props.disabled ? props.theme.disabledTitleLabelFontColor : props.theme.titleLabelFontColor;
231
279
  });
232
280
 
233
- var AccordionLabel = _styledComponents["default"].div(_templateObject3(), function (props) {
234
- return props.iconPosition === "after" && "0" || "1";
235
- });
281
+ var AccordionLabel = _styledComponents["default"].div(_templateObject3());
236
282
 
237
- var AccordionText = _styledComponents["default"].div(_templateObject4());
283
+ var AccordionContent = _styledComponents["default"].div(_templateObject4());
238
284
 
239
- var AccordionAssistiveText = _styledComponents["default"].div(_templateObject5());
285
+ var AccordionAssistiveText = _styledComponents["default"].div(_templateObject5(), function (props) {
286
+ return props.theme.assistiveTextPaddingLeft;
287
+ }, function (props) {
288
+ return props.theme.assistiveTextPaddingRight;
289
+ }, function (props) {
290
+ return props.theme.assistiveTextFontSize;
291
+ }, function (props) {
292
+ return props.theme.assistiveTextFontFamily;
293
+ }, function (props) {
294
+ return props.theme.assistiveTextFontStyle;
295
+ }, function (props) {
296
+ return props.theme.assistiveTextFontWeight;
297
+ }, function (props) {
298
+ return props.disabled ? props.theme.disabledAssistiveTextFontColor : props.theme.assistiveTextFontColor;
299
+ }, function (props) {
300
+ return props.theme.assistiveTextLetterSpacing;
301
+ }, function (props) {
302
+ return props.theme.assistiveTextMinWidth;
303
+ });
240
304
 
241
- var AccordionIcon = _styledComponents["default"].img(_templateObject6(), function (props) {
242
- return props.iconPosition === "after" && "10px" || "0px";
305
+ var IconContainer = _styledComponents["default"].div(_templateObject6(), function (props) {
306
+ return props.theme.iconSize;
307
+ }, function (props) {
308
+ return props.theme.iconSize;
309
+ }, function (props) {
310
+ return props.theme.iconMarginLeft;
243
311
  }, function (props) {
244
- return props.iconPosition === "before" && "10px" || "0px";
312
+ return props.theme.iconMarginRigth;
313
+ }, function (props) {
314
+ return props.disabled ? props.theme.disabledIconColor : props.theme.iconColor;
245
315
  });
246
316
 
317
+ var AccordionIcon = _styledComponents["default"].img(_templateObject7(), function (props) {
318
+ return props.theme.iconSize;
319
+ }, function (props) {
320
+ return props.theme.iconSize;
321
+ }, function (props) {
322
+ return props.theme.iconMarginLeft;
323
+ }, function (props) {
324
+ return props.theme.iconMarginRigth;
325
+ }, function (props) {
326
+ return props.disabled ? props.theme.disabledIconColor : props.theme.iconColor;
327
+ });
328
+
329
+ DxcAccordion.propTypes = {
330
+ label: _propTypes["default"].string,
331
+ iconSrc: _propTypes["default"].string,
332
+ icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
333
+ assistiveText: _propTypes["default"].string,
334
+ disabled: _propTypes["default"].bool,
335
+ onChange: _propTypes["default"].func,
336
+ isExpanded: _propTypes["default"].bool,
337
+ children: _propTypes["default"].element,
338
+ margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
339
+ top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
340
+ bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
341
+ left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
342
+ right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
343
+ }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
344
+ padding: _propTypes["default"].oneOfType([_propTypes["default"].shape({
345
+ top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
346
+ bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
347
+ left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
348
+ right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
349
+ }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
350
+ tabIndex: _propTypes["default"].number
351
+ };
247
352
  var _default = DxcAccordion;
248
353
  exports["default"] = _default;
@@ -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;