@dxc-technology/halstack-react 0.0.0-961ed8e → 0.0.0-994f952

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 (147) 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 +215 -32
  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 +31 -23
  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 +97 -40
  16. package/dist/common/utils.js +2 -22
  17. package/dist/common/variables.js +1415 -276
  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 +90 -40
  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 +211 -73
  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 +7 -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/Slider.test.js +9 -17
  91. package/test/Spinner.test.js +5 -0
  92. package/test/TextInput.test.js +732 -0
  93. package/test/Textarea.test.js +193 -0
  94. package/test/ToggleGroup.test.js +5 -1
  95. package/test/Upload.test.js +5 -5
  96. package/test/{TextArea.test.js → V3TextArea.test.js} +6 -7
  97. package/dist/accordion/Accordion.stories.js +0 -207
  98. package/dist/accordion/readme.md +0 -96
  99. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  100. package/dist/accordion-group/readme.md +0 -70
  101. package/dist/alert/Alert.stories.js +0 -158
  102. package/dist/alert/close.svg +0 -4
  103. package/dist/alert/error.svg +0 -4
  104. package/dist/alert/info.svg +0 -4
  105. package/dist/alert/readme.md +0 -43
  106. package/dist/alert/success.svg +0 -4
  107. package/dist/alert/warning.svg +0 -4
  108. package/dist/button/Button.stories.js +0 -224
  109. package/dist/button/readme.md +0 -93
  110. package/dist/common/services/example-service.js +0 -10
  111. package/dist/common/services/example-service.test.js +0 -12
  112. package/dist/date/calendar.svg +0 -1
  113. package/dist/date/calendar_dark.svg +0 -1
  114. package/dist/dialog/Dialog.stories.js +0 -217
  115. package/dist/dialog/readme.md +0 -32
  116. package/dist/dropdown/Dropdown.stories.js +0 -249
  117. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  118. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  119. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  120. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  121. package/dist/dropdown/readme.md +0 -69
  122. package/dist/footer/Footer.stories.js +0 -94
  123. package/dist/footer/dxc_logo_wht.png +0 -0
  124. package/dist/footer/readme.md +0 -41
  125. package/dist/header/Header.stories.js +0 -176
  126. package/dist/header/close_icon.svg +0 -1
  127. package/dist/header/dxc_logo_black.png +0 -0
  128. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  129. package/dist/header/dxc_logo_white.png +0 -0
  130. package/dist/header/hamb_menu_black.svg +0 -1
  131. package/dist/header/hamb_menu_white.svg +0 -1
  132. package/dist/header/readme.md +0 -33
  133. package/dist/input-text/InputText.stories.js +0 -209
  134. package/dist/input-text/error.svg +0 -1
  135. package/dist/input-text/readme.md +0 -91
  136. package/dist/layout/facebook.svg +0 -45
  137. package/dist/layout/linkedin.svg +0 -50
  138. package/dist/layout/twitter.svg +0 -53
  139. package/dist/paginator/images/next.svg +0 -3
  140. package/dist/paginator/images/nextPage.svg +0 -3
  141. package/dist/paginator/images/previous.svg +0 -3
  142. package/dist/paginator/images/previousPage.svg +0 -3
  143. package/dist/paginator/readme.md +0 -50
  144. package/dist/select/Select.stories.js +0 -235
  145. package/dist/select/readme.md +0 -72
  146. package/dist/slider/Slider.stories.js +0 -241
  147. 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
@@ -15,7 +15,7 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
15
15
 
16
16
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
17
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
 
@@ -23,14 +23,12 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
23
23
 
24
24
  var _variables = require("../common/variables.js");
25
25
 
26
- var _ThemeContext = _interopRequireDefault(require("../ThemeContext.js"));
27
-
28
- require("../common/OpenSans.css");
29
-
30
26
  var _utils = require("../common/utils.js");
31
27
 
28
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
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 opacity: ", ";\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,11 +86,10 @@ var DxcChip = function DxcChip(_ref) {
88
86
  prefixIconSrc = _ref.prefixIconSrc,
89
87
  onClickPrefix = _ref.onClickPrefix,
90
88
  disabled = _ref.disabled,
91
- margin = _ref.margin;
92
- var customTheme = (0, _react.useContext)(_ThemeContext["default"]);
93
- var colorsTheme = (0, _react.useMemo)(function () {
94
- return (0, _utils.getCustomTheme)(_variables.componentTokens, (0, _utils.getCustomTheme)(_variables.defaultTheme, customTheme));
95
- }, [customTheme]);
89
+ margin = _ref.margin,
90
+ _ref$tabIndex = _ref.tabIndex,
91
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
92
+ var colorsTheme = (0, _useTheme["default"])();
96
93
  return _react["default"].createElement(_styledComponents.ThemeProvider, {
97
94
  theme: colorsTheme.chip
98
95
  }, _react["default"].createElement(StyledDxcChip, {
@@ -102,16 +99,21 @@ var DxcChip = function DxcChip(_ref) {
102
99
  disabled: disabled,
103
100
  prefixIcon: true,
104
101
  label: label,
102
+ mode: "prefix",
103
+ tabIndex: typeof onClickPrefix === "function" && !disabled ? tabIndex : -1,
105
104
  onClick: function onClick() {
106
105
  return onClickPrefix && !disabled && onClickPrefix(label);
107
- }
106
+ },
107
+ interactuable: typeof onClickPrefix === "function" && !disabled
108
108
  }, (0, _typeof2["default"])(prefixIcon) === "object" ? prefixIcon : _react["default"].createElement(prefixIcon)) : prefixIconSrc && _react["default"].createElement(PrefixIconContainer, {
109
109
  disabled: disabled,
110
110
  src: prefixIconSrc,
111
111
  label: label,
112
+ tabIndex: typeof onClickPrefix === "function" && !disabled ? tabIndex : -1,
112
113
  onClick: function onClick() {
113
114
  return onClickPrefix && !disabled && onClickPrefix(label);
114
- }
115
+ },
116
+ interactuable: typeof onClickPrefix === "function" && !disabled
115
117
  }), label && _react["default"].createElement(ChipTextContainer, {
116
118
  disabled: disabled,
117
119
  prefixIconSrc: prefixIconSrc,
@@ -119,34 +121,58 @@ var DxcChip = function DxcChip(_ref) {
119
121
  }, label), suffixIcon ? _react["default"].createElement(IconContainer, {
120
122
  disabled: disabled,
121
123
  suffixIcon: true,
124
+ mode: "suffix",
122
125
  label: label,
126
+ tabIndex: typeof onClickSuffix === "function" && !disabled ? tabIndex : -1,
123
127
  onClick: function onClick() {
124
128
  return onClickSuffix && !disabled && onClickSuffix(label);
125
- }
129
+ },
130
+ interactuable: typeof onClickSuffix === "function" && !disabled
126
131
  }, (0, _typeof2["default"])(suffixIcon) === "object" ? suffixIcon : _react["default"].createElement(suffixIcon)) : suffixIconSrc && _react["default"].createElement(SuffixIconContainer, {
127
132
  disabled: disabled,
128
133
  src: suffixIconSrc,
129
134
  label: label,
135
+ tabIndex: typeof onClickSuffix === "function" && !disabled ? tabIndex : -1,
130
136
  onClick: function onClick() {
131
137
  return onClickSuffix && !disabled && onClickSuffix(label);
132
- }
138
+ },
139
+ interactuable: typeof onClickSuffix === "function" && !disabled
133
140
  })));
134
141
  };
135
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
+
136
155
  var StyledDxcChip = _styledComponents["default"].div(_templateObject(), function (_ref2) {
137
156
  var margin = _ref2.margin;
138
157
  return "calc(100% - 40px - ".concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
139
158
  }, function (props) {
140
- return props.theme.backgroundColor;
159
+ return props.disabled && props.theme.disabledBackgroundColor || props.theme.backgroundColor;
141
160
  }, function (props) {
142
- return props.theme.outlinedColor !== "" ? "border: 2px solid ".concat(props.theme.outlinedColor) : "";
161
+ return props.theme.borderRadius;
143
162
  }, function (props) {
144
- return props.theme.outlinedColor !== "" ? "18px" : "22px";
145
- }, function (_ref3) {
146
- var disabled = _ref3.disabled;
147
- 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;
148
170
  }, function (props) {
149
- return props.disabled && props.theme.disabled || "initial";
171
+ return props.theme.contentPaddingBottom;
172
+ }, function (props) {
173
+ return props.theme.contentPaddingLeft;
174
+ }, function (props) {
175
+ return props.theme.contentPaddingRight;
150
176
  }, function (props) {
151
177
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
152
178
  }, function (props) {
@@ -157,34 +183,64 @@ var StyledDxcChip = _styledComponents["default"].div(_templateObject(), function
157
183
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
158
184
  }, function (props) {
159
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";
160
189
  });
161
190
 
162
191
  var ChipTextContainer = _styledComponents["default"].span(_templateObject2(), function (props) {
163
- 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;
164
201
  }, function (_ref4) {
165
202
  var disabled = _ref4.disabled;
166
203
  return disabled && "not-allowed" || "default";
167
204
  });
168
205
 
169
- var SuffixIconContainer = _styledComponents["default"].img(_templateObject3(), function (_ref5) {
170
- var disabled = _ref5.disabled;
171
- 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;
172
214
  }, function (props) {
173
- return (props.label || props.suffixIconSrc) && "10px" || props.prefixIconSrc && "5px";
215
+ return props.theme.iconSize;
174
216
  });
175
217
 
176
- var PrefixIconContainer = _styledComponents["default"].img(_templateObject4(), function (_ref6) {
177
- var disabled = _ref6.disabled;
178
- return disabled && "not-allowed" || "pointer";
218
+ var PrefixIconContainer = _styledComponents["default"].img(_templateObject4(), function (props) {
219
+ return props.disabled ? props.theme.disabledIconColor : props.theme.iconColor;
179
220
  }, function (props) {
180
- 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;
181
228
  });
182
229
 
183
- var IconContainer = _styledComponents["default"].div(_templateObject5(), function (_ref7) {
184
- var disabled = _ref7.disabled;
185
- 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;
186
242
  }, function (props) {
187
- 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;";
188
244
  });
189
245
 
190
246
  DxcChip.propTypes = {
@@ -202,7 +258,8 @@ DxcChip.propTypes = {
202
258
  bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
203
259
  left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
204
260
  right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
205
- }), _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
206
263
  };
207
264
  var _default = DxcChip;
208
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;