@dxc-technology/halstack-react 0.0.0-636b51b → 0.0.0-6623548

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 (146) 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 +210 -56
  5. package/dist/V3Textarea/V3Textarea.js +264 -0
  6. package/dist/accordion/Accordion.js +131 -46
  7. package/dist/accordion-group/AccordionGroup.js +36 -9
  8. package/dist/alert/Alert.js +183 -84
  9. package/dist/alert/index.d.ts +51 -0
  10. package/dist/badge/Badge.js +23 -18
  11. package/dist/box/Box.js +29 -18
  12. package/dist/button/Button.js +61 -25
  13. package/dist/card/Card.js +72 -35
  14. package/dist/checkbox/Checkbox.js +97 -37
  15. package/dist/chip/Chip.js +93 -31
  16. package/dist/common/utils.js +2 -22
  17. package/dist/common/variables.js +1413 -270
  18. package/dist/date/Date.js +74 -52
  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 +175 -80
  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 +89 -34
  27. package/dist/footer/Icons.js +77 -0
  28. package/dist/header/Header.js +154 -93
  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 +251 -116
  33. package/dist/layout/ApplicationLayout.js +18 -26
  34. package/dist/layout/Icons.js +55 -0
  35. package/dist/link/Link.js +86 -41
  36. package/dist/main.d.ts +8 -0
  37. package/dist/main.js +71 -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 +69 -40
  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 +79 -48
  50. package/dist/select/Select.js +226 -150
  51. package/dist/sidenav/Sidenav.js +66 -15
  52. package/dist/slider/Slider.js +197 -69
  53. package/dist/spinner/Spinner.js +247 -59
  54. package/dist/switch/Switch.js +50 -27
  55. package/dist/table/Table.js +51 -24
  56. package/dist/tabs/Tabs.js +58 -17
  57. package/dist/tag/Tag.js +68 -35
  58. package/dist/text-input/TextInput.js +971 -0
  59. package/dist/text-input/index.d.ts +135 -0
  60. package/dist/textarea/Textarea.js +248 -106
  61. package/dist/textarea/index.d.ts +117 -0
  62. package/dist/toggle/Toggle.js +16 -19
  63. package/dist/toggle-group/ToggleGroup.js +142 -41
  64. package/dist/upload/Upload.js +16 -11
  65. package/dist/upload/buttons-upload/ButtonsUpload.js +31 -14
  66. package/dist/upload/dragAndDropArea/DragAndDropArea.js +78 -28
  67. package/dist/upload/file-upload/FileToUpload.js +50 -24
  68. package/dist/upload/files-upload/FilesToUpload.js +16 -16
  69. package/dist/upload/readme.md +2 -2
  70. package/dist/upload/transaction/Transaction.js +44 -24
  71. package/dist/upload/transactions/Transactions.js +38 -20
  72. package/dist/wizard/Wizard.js +127 -47
  73. package/dist/wizard/invalid_icon.svg +4 -5
  74. package/dist/wizard/valid_icon.svg +4 -5
  75. package/package.json +6 -2
  76. package/test/AccordionGroup.test.js +16 -0
  77. package/test/Date.test.js +49 -45
  78. package/test/DateInput.test.js +242 -0
  79. package/test/Dropdown.test.js +15 -0
  80. package/test/FileInput.test.js +201 -0
  81. package/test/Footer.test.js +2 -7
  82. package/test/Header.test.js +5 -10
  83. package/test/InputText.test.js +25 -17
  84. package/test/Link.test.js +3 -2
  85. package/test/NumberInput.test.js +259 -0
  86. package/test/Paginator.test.js +1 -1
  87. package/test/PasswordInput.test.js +83 -0
  88. package/test/ResultsetTable.test.js +1 -2
  89. package/test/Select.test.js +44 -24
  90. package/test/Spinner.test.js +5 -0
  91. package/test/TextInput.test.js +732 -0
  92. package/test/Textarea.test.js +193 -0
  93. package/test/ToggleGroup.test.js +5 -1
  94. package/test/Upload.test.js +5 -5
  95. package/test/{TextArea.test.js → V3TextArea.test.js} +6 -7
  96. package/dist/accordion/Accordion.stories.js +0 -207
  97. package/dist/accordion/readme.md +0 -96
  98. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  99. package/dist/accordion-group/readme.md +0 -70
  100. package/dist/alert/Alert.stories.js +0 -158
  101. package/dist/alert/close.svg +0 -4
  102. package/dist/alert/error.svg +0 -4
  103. package/dist/alert/info.svg +0 -4
  104. package/dist/alert/readme.md +0 -43
  105. package/dist/alert/success.svg +0 -4
  106. package/dist/alert/warning.svg +0 -4
  107. package/dist/button/Button.stories.js +0 -224
  108. package/dist/button/readme.md +0 -93
  109. package/dist/common/services/example-service.js +0 -10
  110. package/dist/common/services/example-service.test.js +0 -12
  111. package/dist/date/calendar.svg +0 -1
  112. package/dist/date/calendar_dark.svg +0 -1
  113. package/dist/dialog/Dialog.stories.js +0 -217
  114. package/dist/dialog/readme.md +0 -32
  115. package/dist/dropdown/Dropdown.stories.js +0 -249
  116. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  117. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  118. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  119. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  120. package/dist/dropdown/readme.md +0 -69
  121. package/dist/footer/Footer.stories.js +0 -94
  122. package/dist/footer/dxc_logo_wht.png +0 -0
  123. package/dist/footer/readme.md +0 -41
  124. package/dist/header/Header.stories.js +0 -176
  125. package/dist/header/close_icon.svg +0 -1
  126. package/dist/header/dxc_logo_black.png +0 -0
  127. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  128. package/dist/header/dxc_logo_white.png +0 -0
  129. package/dist/header/hamb_menu_black.svg +0 -1
  130. package/dist/header/hamb_menu_white.svg +0 -1
  131. package/dist/header/readme.md +0 -33
  132. package/dist/input-text/InputText.stories.js +0 -209
  133. package/dist/input-text/error.svg +0 -1
  134. package/dist/input-text/readme.md +0 -91
  135. package/dist/layout/facebook.svg +0 -45
  136. package/dist/layout/linkedin.svg +0 -50
  137. package/dist/layout/twitter.svg +0 -53
  138. package/dist/paginator/images/next.svg +0 -3
  139. package/dist/paginator/images/nextPage.svg +0 -3
  140. package/dist/paginator/images/previous.svg +0 -3
  141. package/dist/paginator/images/previousPage.svg +0 -3
  142. package/dist/paginator/readme.md +0 -50
  143. package/dist/select/Select.stories.js +0 -235
  144. package/dist/select/readme.md +0 -72
  145. package/dist/slider/Slider.stories.js +0 -241
  146. package/dist/toggle-group/readme.md +0 -82
@@ -27,16 +27,16 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
27
27
 
28
28
  var _RequiredComponent = _interopRequireDefault(require("../common/RequiredComponent"));
29
29
 
30
- require("../common/OpenSans.css");
31
-
32
30
  var _variables = require("../common/variables.js");
33
31
 
34
32
  var _utils = require("../common/utils.js");
35
33
 
36
- var _ThemeContext = _interopRequireDefault(require("../ThemeContext.js"));
34
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
35
+
36
+ var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext.js"));
37
37
 
38
38
  function _templateObject3() {
39
- var data = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n width: 17px;\n height: 17px;\n position: absolute;\n left: ", ";\n right: ", ";\n z-index: 0;\n opacity: ", ";\n padding-left: ", ";\n padding-right: ", ";\n margin-left: ", ";\n margin-right: ", ";\n"]);
39
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n width: 16px;\n height: 16px;\n position: absolute;\n left: ", ";\n right: ", ";\n z-index: 0;\n margin-left: ", ";\n margin-right: ", ";\n"]);
40
40
 
41
41
  _templateObject3 = function _templateObject3() {
42
42
  return data;
@@ -46,7 +46,7 @@ function _templateObject3() {
46
46
  }
47
47
 
48
48
  function _templateObject2() {
49
- var data = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n width: ", ";\n\n opacity: ", ";\n display: inline-flex;\n align-items: center;\n cursor: ", ";\n position: relative;\n flex-direction: ", ";\n .MuiCheckbox-colorSecondary {\n &.Mui-checked {\n color: ", ";\n &.Mui-disabled {\n color: ", ";\n }\n &:hover {\n background-color: transparent;\n }\n }\n &.Mui-disabled {\n color: ", ";\n }\n }\n .MuiIconButton-colorSecondary {\n &:hover {\n background-color: transparent;\n }\n }\n .MuiButtonBase-root {\n &.Mui-focusVisible {\n .MuiIconButton-label {\n outline: ", " auto 1px;\n }\n }\n z-index: 1;\n padding: 10px;\n padding-left: ", ";\n padding-right: ", ";\n margin: 2px;\n margin-left: ", ";\n margin-right: ", ";\n color: ", ";\n }\n &.Mui-checked {\n color: ", ";\n &:hover {\n background-color: transparent;\n }\n }\n &.Mui-disabled {\n opacity: ", ";\n }\n .MuiSvgIcon-root {\n width: 26.6px;\n height: 26.6px;\n }\n"]);
49
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n width: ", ";\n display: inline-flex;\n align-items: center;\n cursor: ", ";\n position: relative;\n flex-direction: ", ";\n .MuiCheckbox-colorSecondary {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n }\n }\n &.Mui-disabled {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n opacity: 0.34;\n }\n }\n }\n &.Mui-checked {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n }\n }\n\n &:hover {\n background-color: transparent;\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n background-color: transparent;\n color: ", ";\n }\n }\n }\n }\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n width: 24px;\n height: 24px;\n }\n }\n }\n\n .MuiIconButton-colorSecondary {\n &:hover {\n background-color: transparent;\n }\n }\n .MuiButtonBase-root {\n &:hover {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n }\n }\n }\n\n &.Mui-focusVisible {\n .MuiIconButton-label {\n box-shadow: 0 0 0 2px\n ", ";\n }\n }\n z-index: 1;\n margin: ", ";\n margin-left: ", ";\n margin-right: ", ";\n padding: 0px;\n left: ", ";\n right: ", ";\n }\n"]);
50
50
 
51
51
  _templateObject2 = function _templateObject2() {
52
52
  return data;
@@ -56,7 +56,7 @@ function _templateObject2() {
56
56
  }
57
57
 
58
58
  function _templateObject() {
59
- var data = (0, _taggedTemplateLiteral2["default"])(["\n color: black;\n cursor: ", ";\n font-family: \"Open Sans\", sans-serif;\n"]);
59
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n cursor: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n"]);
60
60
 
61
61
  _templateObject = function _templateObject() {
62
62
  return data;
@@ -81,17 +81,22 @@ var DxcCheckbox = function DxcCheckbox(_ref) {
81
81
  required = _ref$required === void 0 ? false : _ref$required,
82
82
  margin = _ref.margin,
83
83
  _ref$size = _ref.size,
84
- size = _ref$size === void 0 ? "fitContent" : _ref$size;
84
+ size = _ref$size === void 0 ? "fitContent" : _ref$size,
85
+ _ref$tabIndex = _ref.tabIndex,
86
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
85
87
 
86
88
  var _useState = (0, _react.useState)(false),
87
89
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
88
90
  innerChecked = _useState2[0],
89
91
  setInnerChecked = _useState2[1];
90
92
 
91
- var customTheme = (0, _react.useContext)(_ThemeContext["default"]);
92
- var colorsTheme = (0, _react.useMemo)(function () {
93
- return (0, _utils.getCustomTheme)(_variables.componentTokens, (0, _utils.getCustomTheme)(_variables.defaultTheme, customTheme));
94
- }, [customTheme]);
93
+ var _useState3 = (0, _react.useState)(false),
94
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
95
+ isLabelHovered = _useState4[0],
96
+ setIsLabelHovered = _useState4[1];
97
+
98
+ var colorsTheme = (0, _useTheme["default"])();
99
+ var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
95
100
 
96
101
  var handlerCheckboxChange = function handlerCheckboxChange(checkboxValue) {
97
102
  if (checked === undefined) {
@@ -108,6 +113,10 @@ var DxcCheckbox = function DxcCheckbox(_ref) {
108
113
  }
109
114
  };
110
115
 
116
+ var handleLabelHover = function handleLabelHover() {
117
+ setIsLabelHovered(!isLabelHovered);
118
+ };
119
+
111
120
  return _react["default"].createElement(_styledComponents.ThemeProvider, {
112
121
  theme: colorsTheme.checkbox
113
122
  }, _react["default"].createElement(CheckboxContainer, {
@@ -116,26 +125,36 @@ var DxcCheckbox = function DxcCheckbox(_ref) {
116
125
  labelPosition: labelPosition,
117
126
  disabled: disabled,
118
127
  margin: margin,
119
- size: size
128
+ size: size,
129
+ backgroundType: backgroundType,
130
+ isLabelHovered: isLabelHovered
120
131
  }, _react["default"].createElement(_Checkbox["default"], {
121
132
  checked: checked != undefined ? checked : innerChecked,
122
- inputProps: name = {
123
- name: name
133
+ inputProps: {
134
+ name: name,
135
+ "aria-label": label,
136
+ role: "checkbox",
137
+ "aria-checked": checked != undefined ? checked : innerChecked
124
138
  },
125
139
  onChange: handlerCheckboxChange,
126
140
  value: value,
127
141
  disabled: disabled,
128
142
  disableRipple: true,
129
- className: "test"
143
+ className: "test",
144
+ tabIndex: tabIndex
130
145
  }), _react["default"].createElement(CheckboxBlackBack, {
131
146
  labelPosition: labelPosition,
132
147
  disabled: disabled,
133
- checked: checked != undefined ? checked : innerChecked
148
+ checked: checked != undefined ? checked : innerChecked,
149
+ backgroundType: backgroundType
134
150
  }), required && _react["default"].createElement(_RequiredComponent["default"], null), label && _react["default"].createElement(LabelContainer, {
135
151
  labelPosition: labelPosition,
136
152
  onClick: disabled === true ? function (e) {} : handlerCheckboxChange,
137
153
  disabled: disabled,
138
- className: "labelContainer"
154
+ className: "labelContainer",
155
+ backgroundType: backgroundType,
156
+ onMouseOver: handleLabelHover,
157
+ onMouseOut: handleLabelHover
139
158
  }, label)));
140
159
  };
141
160
 
@@ -155,8 +174,56 @@ var calculateWidth = function calculateWidth(margin, size) {
155
174
  return sizes[size];
156
175
  };
157
176
 
177
+ var getDisabledColor = function getDisabledColor(props, element) {
178
+ switch (element) {
179
+ case "check":
180
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledCheckColorOnDark : props.theme.disabledCheckColor;
181
+ break;
182
+
183
+ case "background":
184
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledBackgroundColorCheckedOnDark : props.theme.disabledBackgroundColorChecked;
185
+ break;
186
+
187
+ case "border":
188
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledBorderColorOnDark : props.theme.disabledBorderColor;
189
+ break;
190
+
191
+ case "label":
192
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledFontColorOnDark : props.theme.disabledFontColor;
193
+ break;
194
+ }
195
+ };
196
+
197
+ var getNotDisabledColor = function getNotDisabledColor(props, element) {
198
+ switch (element) {
199
+ case "check":
200
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.checkColorOnDark : props.theme.checkColor;
201
+ break;
202
+
203
+ case "background":
204
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.backgroundColorCheckedOnDark : props.theme.backgroundColorChecked;
205
+ break;
206
+
207
+ case "border":
208
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.borderColorOnDark : props.theme.borderColor;
209
+ break;
210
+
211
+ case "label":
212
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.fontColorOnDark : props.theme.fontColor;
213
+ break;
214
+ }
215
+ };
216
+
158
217
  var LabelContainer = _styledComponents["default"].span(_templateObject(), function (props) {
218
+ return props.disabled ? getDisabledColor(props, "label") : getNotDisabledColor(props, "label");
219
+ }, function (props) {
159
220
  return props.disabled ? "not-allowed" : "pointer";
221
+ }, function (props) {
222
+ return props.theme.fontFamily;
223
+ }, function (props) {
224
+ return props.theme.fontSize;
225
+ }, function (props) {
226
+ return props.theme.fontWeight;
160
227
  });
161
228
 
162
229
  var CheckboxContainer = _styledComponents["default"].span(_templateObject2(), function (props) {
@@ -171,48 +238,40 @@ var CheckboxContainer = _styledComponents["default"].span(_templateObject2(), fu
171
238
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
172
239
  }, function (props) {
173
240
  return calculateWidth(props.margin, props.size);
174
- }, function (props) {
175
- return props.disabled ? props.theme.disabled : "1";
176
241
  }, function (props) {
177
242
  return props.disabled ? "not-allowed" : "pointer";
178
243
  }, function (props) {
179
244
  return props.labelPosition === "before" ? "row-reverse" : "row";
180
245
  }, function (props) {
181
- return props.theme.color;
246
+ return props.isLabelHovered ? props.backgroundType === "dark" ? props.theme.hoverBorderColorOnDark : props.theme.hoverBorderColor : getNotDisabledColor(props, "border");
182
247
  }, function (props) {
183
- return props.theme.color;
248
+ return getDisabledColor(props, "border");
184
249
  }, function (props) {
185
- return props.theme.color;
250
+ return props.disabled ? getDisabledColor(props, "background") : getNotDisabledColor(props, "background");
186
251
  }, function (props) {
187
- return props.theme.focusColor;
252
+ return props.backgroundType === "dark" ? props.theme.hoverBackgroundColorCheckedOnDark : props.theme.hoverBackgroundColorChecked;
188
253
  }, function (props) {
189
- return props.labelPosition === "after" ? "0px" : "";
254
+ return props.backgroundType === "dark" ? props.theme.hoverBorderColorOnDark : props.theme.hoverBorderColor;
190
255
  }, function (props) {
191
- return props.labelPosition === "before" ? "0px" : "";
256
+ return props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
257
+ }, function (props) {
258
+ return props.theme.checkLabelSpacing;
192
259
  }, function (props) {
193
260
  return props.labelPosition === "after" ? "0px" : "";
194
261
  }, function (props) {
195
262
  return props.labelPosition === "before" ? "0px" : "";
196
263
  }, function (props) {
197
- return props.theme.color;
264
+ return props.labelPosition === "before" ? "unset" : "1px";
198
265
  }, function (props) {
199
- return props.theme.color;
200
- }, function (props) {
201
- return props.theme.disabled;
266
+ return props.labelPosition === "before" ? "1px" : "unset";
202
267
  });
203
268
 
204
269
  var CheckboxBlackBack = _styledComponents["default"].span(_templateObject3(), function (props) {
205
- return props.checked !== true ? "transparent" : props.theme.checkColor;
270
+ return !props.checked ? "transparent" : props.disabled ? getDisabledColor(props, "check") : getNotDisabledColor(props, "check");
206
271
  }, function (props) {
207
272
  return props.labelPosition === "before" ? "unset" : "5px";
208
273
  }, function (props) {
209
274
  return props.labelPosition === "before" ? "5px" : "unset";
210
- }, function (props) {
211
- return props.disabled ? props.theme.disabled : "1";
212
- }, function (props) {
213
- return props.labelPosition === "after" ? "0px" : "";
214
- }, function (props) {
215
- return props.labelPosition === "before" ? "0px" : "";
216
275
  }, function (props) {
217
276
  return props.labelPosition === "after" ? "0px" : "";
218
277
  }, function (props) {
@@ -234,7 +293,8 @@ DxcCheckbox.propTypes = {
234
293
  bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
235
294
  left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
236
295
  right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
237
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
296
+ }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
297
+ tabIndex: _propTypes["default"].number
238
298
  };
239
299
  var _default = DxcCheckbox;
240
300
  exports["default"] = _default;
package/dist/chip/Chip.js CHANGED
@@ -23,14 +23,12 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
23
23
 
24
24
  var _variables = require("../common/variables.js");
25
25
 
26
- require("../common/OpenSans.css");
27
-
28
26
  var _utils = require("../common/utils.js");
29
27
 
30
28
  var _useTheme = _interopRequireDefault(require("../useTheme.js"));
31
29
 
32
30
  function _templateObject5() {
33
- var data = (0, _taggedTemplateLiteral2["default"])(["\n cursor: ", ";\n ", "\n max-width: 24px;\n max-height: 24px;\n overflow: hidden;\n"]);
31
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n ", "\n ", "\n width: ", ";\n height: ", ";\n overflow: hidden;\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n &:focus {\n outline-color: ", ";\n outline-width: 2px;\n ", "\n }\n"]);
34
32
 
35
33
  _templateObject5 = function _templateObject5() {
36
34
  return data;
@@ -40,7 +38,7 @@ function _templateObject5() {
40
38
  }
41
39
 
42
40
  function _templateObject4() {
43
- var data = (0, _taggedTemplateLiteral2["default"])(["\n cursor: ", ";\n margin-right: ", ";\n max-width: 24px;\n max-height: 24px;\n"]);
41
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n ", "\n margin-right: ", ";\n width: ", ";\n height: ", ";\n"]);
44
42
 
45
43
  _templateObject4 = function _templateObject4() {
46
44
  return data;
@@ -50,7 +48,7 @@ function _templateObject4() {
50
48
  }
51
49
 
52
50
  function _templateObject3() {
53
- var data = (0, _taggedTemplateLiteral2["default"])(["\n cursor: ", ";\n margin-left: ", ";\n max-width: 24px;\n max-height: 24px;\n"]);
51
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n ", "\n margin-left: ", ";\n width: ", ";\n height: ", ";\n"]);
54
52
 
55
53
  _templateObject3 = function _templateObject3() {
56
54
  return data;
@@ -60,7 +58,7 @@ function _templateObject3() {
60
58
  }
61
59
 
62
60
  function _templateObject2() {
63
- var data = (0, _taggedTemplateLiteral2["default"])(["\n font-size: 16px;\n font-family: \"Open Sans\";\n line-height: 24px;\n color: ", ";\n cursor: ", ";\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n"]);
61
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n font-size: ", ";\n font-family: ", ";\n font-weight: ", ";\n font-style: ", ";\n color: ", ";\n cursor: ", ";\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n"]);
64
62
 
65
63
  _templateObject2 = function _templateObject2() {
66
64
  return data;
@@ -70,7 +68,7 @@ function _templateObject2() {
70
68
  }
71
69
 
72
70
  function _templateObject() {
73
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n align-items: center;\n border-radius: 50px;\n margin: 2px;\n max-width: ", ";\n background-color: ", ";\n ", ";\n height: ", ";\n\n padding: 10px 20px;\n cursor: ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"]);
71
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n align-items: center;\n min-height: 40px;\n max-width: ", ";\n background-color: ", ";\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n cursor: ", ";\n"]);
74
72
 
75
73
  _templateObject = function _templateObject() {
76
74
  return data;
@@ -88,7 +86,9 @@ var DxcChip = function DxcChip(_ref) {
88
86
  prefixIconSrc = _ref.prefixIconSrc,
89
87
  onClickPrefix = _ref.onClickPrefix,
90
88
  disabled = _ref.disabled,
91
- margin = _ref.margin;
89
+ margin = _ref.margin,
90
+ _ref$tabIndex = _ref.tabIndex,
91
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
92
92
  var colorsTheme = (0, _useTheme["default"])();
93
93
  return _react["default"].createElement(_styledComponents.ThemeProvider, {
94
94
  theme: colorsTheme.chip
@@ -99,16 +99,21 @@ var DxcChip = function DxcChip(_ref) {
99
99
  disabled: disabled,
100
100
  prefixIcon: true,
101
101
  label: label,
102
+ mode: "prefix",
103
+ tabIndex: typeof onClickPrefix === "function" && !disabled ? tabIndex : -1,
102
104
  onClick: function onClick() {
103
105
  return onClickPrefix && !disabled && onClickPrefix(label);
104
- }
106
+ },
107
+ interactuable: typeof onClickPrefix === "function" && !disabled
105
108
  }, (0, _typeof2["default"])(prefixIcon) === "object" ? prefixIcon : _react["default"].createElement(prefixIcon)) : prefixIconSrc && _react["default"].createElement(PrefixIconContainer, {
106
109
  disabled: disabled,
107
110
  src: prefixIconSrc,
108
111
  label: label,
112
+ tabIndex: typeof onClickPrefix === "function" && !disabled ? tabIndex : -1,
109
113
  onClick: function onClick() {
110
114
  return onClickPrefix && !disabled && onClickPrefix(label);
111
- }
115
+ },
116
+ interactuable: typeof onClickPrefix === "function" && !disabled
112
117
  }), label && _react["default"].createElement(ChipTextContainer, {
113
118
  disabled: disabled,
114
119
  prefixIconSrc: prefixIconSrc,
@@ -116,32 +121,58 @@ var DxcChip = function DxcChip(_ref) {
116
121
  }, label), suffixIcon ? _react["default"].createElement(IconContainer, {
117
122
  disabled: disabled,
118
123
  suffixIcon: true,
124
+ mode: "suffix",
119
125
  label: label,
126
+ tabIndex: typeof onClickSuffix === "function" && !disabled ? tabIndex : -1,
120
127
  onClick: function onClick() {
121
128
  return onClickSuffix && !disabled && onClickSuffix(label);
122
- }
129
+ },
130
+ interactuable: typeof onClickSuffix === "function" && !disabled
123
131
  }, (0, _typeof2["default"])(suffixIcon) === "object" ? suffixIcon : _react["default"].createElement(suffixIcon)) : suffixIconSrc && _react["default"].createElement(SuffixIconContainer, {
124
132
  disabled: disabled,
125
133
  src: suffixIconSrc,
126
134
  label: label,
135
+ tabIndex: typeof onClickSuffix === "function" && !disabled ? tabIndex : -1,
127
136
  onClick: function onClick() {
128
137
  return onClickSuffix && !disabled && onClickSuffix(label);
129
- }
138
+ },
139
+ interactuable: typeof onClickSuffix === "function" && !disabled
130
140
  })));
131
141
  };
132
142
 
143
+ var getCursor = function getCursor(interactuable, disabled) {
144
+ if (disabled) {
145
+ return "cursor:not-allowed;";
146
+ }
147
+
148
+ if (interactuable) {
149
+ return "cursor:pointer;";
150
+ }
151
+
152
+ return "cursor:default; outline:none;";
153
+ };
154
+
133
155
  var StyledDxcChip = _styledComponents["default"].div(_templateObject(), function (_ref2) {
134
156
  var margin = _ref2.margin;
135
157
  return "calc(100% - 40px - ".concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
136
158
  }, function (props) {
137
159
  return props.disabled && props.theme.disabledBackgroundColor || props.theme.backgroundColor;
138
160
  }, function (props) {
139
- return props.theme.outlinedColor !== "" ? "border: 2px solid ".concat(props.theme.outlinedColor) : "";
161
+ return props.theme.borderRadius;
140
162
  }, function (props) {
141
- return props.theme.outlinedColor !== "" ? "18px" : "22px";
142
- }, function (_ref3) {
143
- var disabled = _ref3.disabled;
144
- return disabled && "not-allowed";
163
+ return props.theme.borderThickness;
164
+ }, function (props) {
165
+ return props.theme.borderStyle;
166
+ }, function (props) {
167
+ return props.theme.borderColor;
168
+ }, function (props) {
169
+ return props.theme.contentPaddingTop;
170
+ }, function (props) {
171
+ return props.theme.contentPaddingBottom;
172
+ }, function (props) {
173
+ return props.theme.contentPaddingLeft;
174
+ }, function (props) {
175
+ return props.theme.contentPaddingRight;
145
176
  }, function (props) {
146
177
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
147
178
  }, function (props) {
@@ -152,34 +183,64 @@ var StyledDxcChip = _styledComponents["default"].div(_templateObject(), function
152
183
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
153
184
  }, function (props) {
154
185
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
186
+ }, function (_ref3) {
187
+ var disabled = _ref3.disabled;
188
+ return disabled && "not-allowed";
155
189
  });
156
190
 
157
191
  var ChipTextContainer = _styledComponents["default"].span(_templateObject2(), function (props) {
158
- return props.theme.fontColor;
192
+ return props.theme.fontSize;
193
+ }, function (props) {
194
+ return props.theme.fontFamily;
195
+ }, function (props) {
196
+ return props.theme.fontWeight;
197
+ }, function (props) {
198
+ return props.theme.fontStyle;
199
+ }, function (props) {
200
+ return props.disabled ? props.theme.disabledFontColor : props.theme.fontColor;
159
201
  }, function (_ref4) {
160
202
  var disabled = _ref4.disabled;
161
203
  return disabled && "not-allowed" || "default";
162
204
  });
163
205
 
164
- var SuffixIconContainer = _styledComponents["default"].img(_templateObject3(), function (_ref5) {
165
- var disabled = _ref5.disabled;
166
- return disabled && "not-allowed" || "pointer";
206
+ var SuffixIconContainer = _styledComponents["default"].img(_templateObject3(), function (props) {
207
+ return props.disabled ? props.theme.disabledIconColor : props.theme.iconColor;
208
+ }, function (props) {
209
+ return getCursor(props.interactuable, props.disabled);
210
+ }, function (props) {
211
+ return (props.label || props.suffixIconSrc) && props.theme.iconSpacing || props.prefixIconSrc && "5px";
212
+ }, function (props) {
213
+ return props.theme.iconSize;
167
214
  }, function (props) {
168
- return (props.label || props.suffixIconSrc) && "10px" || props.prefixIconSrc && "5px";
215
+ return props.theme.iconSize;
169
216
  });
170
217
 
171
- var PrefixIconContainer = _styledComponents["default"].img(_templateObject4(), function (_ref6) {
172
- var disabled = _ref6.disabled;
173
- return disabled && "not-allowed" || "pointer";
218
+ var PrefixIconContainer = _styledComponents["default"].img(_templateObject4(), function (props) {
219
+ return props.disabled ? props.theme.disabledIconColor : props.theme.iconColor;
174
220
  }, function (props) {
175
- return (props.label || props.suffixIconSrc) && "10px" || props.prefixIconSrc && "5px";
221
+ return getCursor(props.interactuable, props.disabled);
222
+ }, function (props) {
223
+ return (props.label || props.suffixIconSrc) && props.theme.iconSpacing || props.prefixIconSrc && "5px";
224
+ }, function (props) {
225
+ return props.theme.iconSize;
226
+ }, function (props) {
227
+ return props.theme.iconSize;
176
228
  });
177
229
 
178
- var IconContainer = _styledComponents["default"].div(_templateObject5(), function (_ref7) {
179
- var disabled = _ref7.disabled;
180
- return disabled && "not-allowed" || "pointer";
230
+ var IconContainer = _styledComponents["default"].div(_templateObject5(), function (props) {
231
+ return props.disabled ? props.theme.disabledIconColor : props.theme.iconColor;
232
+ }, function (props) {
233
+ return props.prefixIcon ? "margin-right: ".concat((props.label || props.suffixIcon || props.suffixIconSrc) && props.theme.iconSpacing || (props.prefixIcon || props.prefixIconSrc) && "0", ";") : "margin-left: ".concat((props.label || props.prefixIcon || props.prefixIconSrc) && props.theme.iconSpacing || (props.prefixIcon || props.prefixIconSrc) && "0", ";");
234
+ }, function (props) {
235
+ return getCursor(props.interactuable, props.disabled);
236
+ }, function (props) {
237
+ return props.theme.iconSize;
238
+ }, function (props) {
239
+ return props.theme.iconSize;
240
+ }, function (props) {
241
+ return props.theme.focusColor;
181
242
  }, function (props) {
182
- return props.prefixIcon ? "margin-right: ".concat((props.label || props.suffixIcon || props.suffixIconSrc) && "10px" || (props.prefixIcon || props.prefixIconSrc) && "0", ";") : "margin-left: ".concat((props.label || props.prefixIcon || props.prefixIconSrc) && "10px" || (props.prefixIcon || props.prefixIconSrc) && "0", ";");
243
+ return props.disabled && "outline: none;";
183
244
  });
184
245
 
185
246
  DxcChip.propTypes = {
@@ -197,7 +258,8 @@ DxcChip.propTypes = {
197
258
  bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
198
259
  left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
199
260
  right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
200
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
261
+ }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
262
+ tabIndex: _propTypes["default"].number
201
263
  };
202
264
  var _default = DxcChip;
203
265
  exports["default"] = _default;
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.getCustomTheme = exports.getMargin = void 0;
8
+ exports.getMargin = void 0;
9
9
 
10
10
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
11
11
 
@@ -19,24 +19,4 @@ var getMargin = function getMargin(marginProp, side) {
19
19
  }
20
20
  };
21
21
 
22
- exports.getMargin = getMargin;
23
-
24
- var getCustomTheme = function getCustomTheme(defaultTheme, customTheme) {
25
- var newTheme = JSON.parse(JSON.stringify(defaultTheme));
26
-
27
- if (customTheme) {
28
- Object.keys(newTheme).map(function (component) {
29
- if (customTheme[component]) {
30
- Object.keys(newTheme[component]).map(function (objectKey) {
31
- if (customTheme[component][objectKey]) {
32
- newTheme[component][objectKey] = customTheme[component][objectKey];
33
- }
34
- });
35
- }
36
- });
37
- }
38
-
39
- return newTheme;
40
- };
41
-
42
- exports.getCustomTheme = getCustomTheme;
22
+ exports.getMargin = getMargin;