@dxc-technology/halstack-react 0.0.0-3a8852f → 0.0.0-3e57f0d

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 (126) hide show
  1. package/{dist/README.md → README.md} +1 -1
  2. package/babel.config.js +6 -2
  3. package/dist/BackgroundColorContext.js +46 -0
  4. package/dist/ThemeContext.js +235 -2
  5. package/dist/accordion/Accordion.js +170 -81
  6. package/dist/accordion-group/AccordionGroup.js +186 -0
  7. package/dist/alert/Alert.js +181 -80
  8. package/dist/alert/index.d.ts +51 -0
  9. package/dist/badge/Badge.js +63 -0
  10. package/dist/box/Box.js +39 -19
  11. package/dist/button/Button.js +91 -40
  12. package/dist/card/Card.js +64 -56
  13. package/dist/checkbox/Checkbox.js +118 -39
  14. package/dist/chip/Chip.js +135 -40
  15. package/dist/common/RequiredComponent.js +5 -15
  16. package/dist/common/variables.js +1377 -10
  17. package/dist/date/Date.js +110 -73
  18. package/dist/dialog/Dialog.js +87 -33
  19. package/dist/dropdown/Dropdown.js +226 -94
  20. package/dist/file-input/FileInput.js +644 -0
  21. package/dist/file-input/FileItem.js +280 -0
  22. package/dist/file-input/index.d.ts +81 -0
  23. package/dist/footer/Footer.js +90 -36
  24. package/dist/footer/dxc_logo.svg +15 -0
  25. package/dist/footer/readme.md +1 -1
  26. package/dist/header/Header.js +132 -72
  27. package/dist/header/dxc_logo_black.svg +8 -0
  28. package/dist/header/readme.md +1 -1
  29. package/dist/heading/Heading.js +81 -22
  30. package/dist/input-text/InputText.js +298 -101
  31. package/dist/layout/ApplicationLayout.js +331 -0
  32. package/dist/layout/facebook.svg +45 -0
  33. package/dist/layout/linkedin.svg +50 -0
  34. package/dist/layout/twitter.svg +53 -0
  35. package/dist/link/Link.js +142 -34
  36. package/dist/main.d.ts +7 -0
  37. package/dist/main.js +97 -1
  38. package/dist/new-date/NewDate.js +400 -0
  39. package/dist/new-date/index.d.ts +95 -0
  40. package/dist/new-input-text/NewInputText.js +967 -0
  41. package/dist/new-input-text/index.d.ts +135 -0
  42. package/dist/new-textarea/NewTextarea.js +365 -0
  43. package/dist/new-textarea/index.d.ts +117 -0
  44. package/dist/number/Number.js +136 -0
  45. package/dist/number/NumberContext.js +16 -0
  46. package/dist/number/index.d.ts +113 -0
  47. package/dist/paginator/Paginator.js +160 -49
  48. package/dist/password/Password.js +200 -0
  49. package/dist/password/index.d.ts +94 -0
  50. package/dist/password/styles.css +3 -0
  51. package/dist/progress-bar/ProgressBar.js +97 -44
  52. package/dist/radio/Radio.js +39 -34
  53. package/dist/resultsetTable/ResultsetTable.js +94 -70
  54. package/dist/select/Select.js +253 -129
  55. package/dist/sidenav/Sidenav.js +87 -125
  56. package/dist/slider/Slider.js +125 -74
  57. package/dist/spinner/Spinner.js +249 -64
  58. package/dist/switch/Switch.js +54 -51
  59. package/dist/table/Table.js +63 -15
  60. package/dist/tabs/Tabs.js +210 -50
  61. package/dist/tabs-for-sections/TabsForSections.js +1 -16
  62. package/dist/tag/Tag.js +100 -35
  63. package/dist/textarea/Textarea.js +81 -43
  64. package/dist/toggle/Toggle.js +16 -19
  65. package/dist/toggle-group/ToggleGroup.js +223 -0
  66. package/dist/upload/Upload.js +13 -8
  67. package/dist/upload/buttons-upload/ButtonsUpload.js +34 -20
  68. package/dist/upload/dragAndDropArea/DragAndDropArea.js +78 -31
  69. package/dist/upload/file-upload/FileToUpload.js +50 -24
  70. package/dist/upload/files-upload/FilesToUpload.js +16 -16
  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 +156 -55
  75. package/dist/wizard/invalid_icon.svg +4 -5
  76. package/dist/wizard/valid_icon.svg +4 -5
  77. package/package.json +17 -6
  78. package/test/AccordionGroup.test.js +125 -0
  79. package/test/Date.test.js +13 -13
  80. package/test/Dropdown.test.js +19 -4
  81. package/test/FileInput.test.js +201 -0
  82. package/test/InputText.test.js +30 -26
  83. package/test/Link.test.js +25 -7
  84. package/test/NewDate.test.js +232 -0
  85. package/test/NewInputText.test.js +734 -0
  86. package/test/NewTextarea.test.js +195 -0
  87. package/test/Number.test.js +257 -0
  88. package/test/Paginator.test.js +72 -60
  89. package/test/Password.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 +17 -0
  94. package/test/Spinner.test.js +5 -0
  95. package/test/Tabs.test.js +21 -0
  96. package/test/ToggleGroup.test.js +81 -0
  97. package/dist/accordion/Accordion.stories.js +0 -207
  98. package/dist/accordion/readme.md +0 -96
  99. package/dist/alert/Alert.stories.js +0 -158
  100. package/dist/alert/close.svg +0 -4
  101. package/dist/alert/error.svg +0 -4
  102. package/dist/alert/info.svg +0 -4
  103. package/dist/alert/readme.md +0 -43
  104. package/dist/alert/success.svg +0 -4
  105. package/dist/alert/warning.svg +0 -4
  106. package/dist/button/Button.stories.js +0 -224
  107. package/dist/button/readme.md +0 -93
  108. package/dist/common/services/example-service.js +0 -10
  109. package/dist/common/services/example-service.test.js +0 -12
  110. package/dist/date/calendar.svg +0 -1
  111. package/dist/date/calendar_dark.svg +0 -1
  112. package/dist/dialog/Dialog.stories.js +0 -217
  113. package/dist/dialog/readme.md +0 -32
  114. package/dist/dropdown/Dropdown.stories.js +0 -249
  115. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  116. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  117. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  118. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  119. package/dist/dropdown/readme.md +0 -69
  120. package/dist/footer/dxc_logo_wht.png +0 -0
  121. package/dist/header/dxc_logo_black.png +0 -0
  122. package/dist/header/dxc_logo_white.png +0 -0
  123. package/dist/select/Select.stories.js +0 -235
  124. package/dist/select/readme.md +0 -72
  125. package/dist/sidenav/arrow_icon.svg +0 -3
  126. package/test/Toggle.test.js +0 -43
@@ -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"]);
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 display: inline-flex;\n align-items: center;\n cursor: ", ";\n position: relative;\n flex-direction: ", ";\n .MuiButtonBase-root {\n padding: 10px 10px;\n margin: 0px 2px;\n color: ", ";\n\n :hover {\n background-color: transparent;\n }\n &.Mui-checked {\n color: ", ";\n &:hover {\n background-color: transparent;\n }\n }\n &.Mui-disabled {\n color: ", ";\n }\n .MuiTouchRipple-child {\n background-color: ", ";\n }\n .MuiSvgIcon-root {\n width: 26.6px;\n height: 26.6px;\n }\n .MuiIconButton-label {\n z-index: 1;\n }\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: ", ";\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;
@@ -72,27 +72,31 @@ var DxcCheckbox = function DxcCheckbox(_ref) {
72
72
  label = _ref$label === void 0 ? "" : _ref$label,
73
73
  _ref$labelPosition = _ref.labelPosition,
74
74
  labelPosition = _ref$labelPosition === void 0 ? "before" : _ref$labelPosition,
75
- _ref$theme = _ref.theme,
76
- theme = _ref$theme === void 0 ? "light" : _ref$theme,
77
75
  _ref$name = _ref.name,
78
76
  name = _ref$name === void 0 ? "" : _ref$name,
79
77
  _ref$disabled = _ref.disabled,
80
78
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
81
- _ref$disableRipple = _ref.disableRipple,
82
- disableRipple = _ref$disableRipple === void 0 ? false : _ref$disableRipple,
83
79
  onChange = _ref.onChange,
84
80
  _ref$required = _ref.required,
85
81
  required = _ref$required === void 0 ? false : _ref$required,
86
82
  margin = _ref.margin,
87
83
  _ref$size = _ref.size,
88
- 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;
89
87
 
90
88
  var _useState = (0, _react.useState)(false),
91
89
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
92
90
  innerChecked = _useState2[0],
93
91
  setInnerChecked = _useState2[1];
94
92
 
95
- var colorsTheme = (0, _react.useContext)(_ThemeContext["default"]) || _variables.colors;
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"]);
96
100
 
97
101
  var handlerCheckboxChange = function handlerCheckboxChange(checkboxValue) {
98
102
  if (checked === undefined) {
@@ -109,37 +113,49 @@ var DxcCheckbox = function DxcCheckbox(_ref) {
109
113
  }
110
114
  };
111
115
 
116
+ var handleLabelHover = function handleLabelHover() {
117
+ setIsLabelHovered(!isLabelHovered);
118
+ };
119
+
112
120
  return _react["default"].createElement(_styledComponents.ThemeProvider, {
113
- theme: colorsTheme
121
+ theme: colorsTheme.checkbox
114
122
  }, _react["default"].createElement(CheckboxContainer, {
115
123
  id: name,
116
- brightness: theme,
124
+ brightness: _variables.componentTokens,
117
125
  labelPosition: labelPosition,
118
126
  disabled: disabled,
119
127
  margin: margin,
120
- size: size
128
+ size: size,
129
+ backgroundType: backgroundType,
130
+ isLabelHovered: isLabelHovered
121
131
  }, _react["default"].createElement(_Checkbox["default"], {
122
132
  checked: checked != undefined ? checked : innerChecked,
123
- inputProps: name = {
124
- name: name
133
+ inputProps: {
134
+ name: name,
135
+ "aria-label": label,
136
+ role: "checkbox",
137
+ "aria-checked": checked != undefined ? checked : innerChecked
125
138
  },
126
139
  onChange: handlerCheckboxChange,
127
140
  value: value,
128
141
  disabled: disabled,
129
- disableRipple: disableRipple
130
- }), required && _react["default"].createElement(_RequiredComponent["default"], {
131
- brightness: theme
132
- }), label && _react["default"].createElement(LabelContainer, {
133
- labelPosition: labelPosition,
134
- brightness: theme,
135
- onClick: disabled === true ? function (e) {} : handlerCheckboxChange,
136
- disabled: disabled
137
- }, label), _react["default"].createElement(CheckboxBlackBack, {
142
+ disableRipple: true,
143
+ className: "test",
144
+ tabIndex: tabIndex
145
+ }), _react["default"].createElement(CheckboxBlackBack, {
138
146
  labelPosition: labelPosition,
139
147
  disabled: disabled,
140
148
  checked: checked != undefined ? checked : innerChecked,
141
- brightness: theme
142
- })));
149
+ backgroundType: backgroundType
150
+ }), required && _react["default"].createElement(_RequiredComponent["default"], null), label && _react["default"].createElement(LabelContainer, {
151
+ labelPosition: labelPosition,
152
+ onClick: disabled === true ? function (e) {} : handlerCheckboxChange,
153
+ disabled: disabled,
154
+ className: "labelContainer",
155
+ backgroundType: backgroundType,
156
+ onMouseOver: handleLabelHover,
157
+ onMouseOut: handleLabelHover
158
+ }, label)));
143
159
  };
144
160
 
145
161
  var sizes = {
@@ -158,10 +174,56 @@ var calculateWidth = function calculateWidth(margin, size) {
158
174
  return sizes[size];
159
175
  };
160
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
+
161
217
  var LabelContainer = _styledComponents["default"].span(_templateObject(), function (props) {
162
- return props.disabled ? props.brightness === "dark" ? props.theme.darkGrey : props.theme.lightGrey : props.brightness === "dark" ? props.theme.white : props.theme.black;
218
+ return props.disabled ? getDisabledColor(props, "label") : getNotDisabledColor(props, "label");
163
219
  }, function (props) {
164
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;
165
227
  });
166
228
 
167
229
  var CheckboxContainer = _styledComponents["default"].span(_templateObject2(), function (props) {
@@ -181,21 +243,39 @@ var CheckboxContainer = _styledComponents["default"].span(_templateObject2(), fu
181
243
  }, function (props) {
182
244
  return props.labelPosition === "before" ? "row-reverse" : "row";
183
245
  }, function (props) {
184
- return props.brightness === "dark" ? props.theme.white : props.theme.darkGrey;
246
+ return props.isLabelHovered ? props.backgroundType === "dark" ? props.theme.hoverBorderColorOnDark : props.theme.hoverBorderColor : getNotDisabledColor(props, "border");
247
+ }, function (props) {
248
+ return getDisabledColor(props, "border");
185
249
  }, function (props) {
186
- return props.theme.yellow;
250
+ return props.disabled ? getDisabledColor(props, "background") : getNotDisabledColor(props, "background");
187
251
  }, function (props) {
188
- return props.brightness === "dark" ? props.theme.darkGrey : props.theme.lightGrey;
252
+ return props.backgroundType === "dark" ? props.theme.hoverBackgroundColorCheckedOnDark : props.theme.hoverBackgroundColorChecked;
189
253
  }, function (props) {
190
- return props.brightness === "dark" ? props.theme.white : props.theme.darkGrey;
254
+ return props.backgroundType === "dark" ? props.theme.hoverBorderColorOnDark : props.theme.hoverBorderColor;
255
+ }, function (props) {
256
+ return props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
257
+ }, function (props) {
258
+ return props.theme.checkLabelSpacing;
259
+ }, function (props) {
260
+ return props.labelPosition === "after" ? "0px" : "";
261
+ }, function (props) {
262
+ return props.labelPosition === "before" ? "0px" : "";
263
+ }, function (props) {
264
+ return props.labelPosition === "before" ? "unset" : "1px";
265
+ }, function (props) {
266
+ return props.labelPosition === "before" ? "1px" : "unset";
191
267
  });
192
268
 
193
269
  var CheckboxBlackBack = _styledComponents["default"].span(_templateObject3(), function (props) {
194
- return props.checked !== true ? "transparent" : props.brightness === "light" && props.disabled === true ? props.theme.white : props.theme.black;
270
+ return !props.checked ? "transparent" : props.disabled ? getDisabledColor(props, "check") : getNotDisabledColor(props, "check");
271
+ }, function (props) {
272
+ return props.labelPosition === "before" ? "unset" : "5px";
273
+ }, function (props) {
274
+ return props.labelPosition === "before" ? "5px" : "unset";
195
275
  }, function (props) {
196
- return props.labelPosition === "before" ? "unset" : "17px";
276
+ return props.labelPosition === "after" ? "0px" : "";
197
277
  }, function (props) {
198
- return props.labelPosition === "before" ? "17px" : "unset";
278
+ return props.labelPosition === "before" ? "0px" : "";
199
279
  });
200
280
 
201
281
  DxcCheckbox.propTypes = {
@@ -203,10 +283,8 @@ DxcCheckbox.propTypes = {
203
283
  value: _propTypes["default"].any,
204
284
  label: _propTypes["default"].string,
205
285
  labelPosition: _propTypes["default"].oneOf(["after", "before", ""]),
206
- theme: _propTypes["default"].oneOf(["light", "dark", ""]),
207
286
  name: _propTypes["default"].string,
208
287
  disabled: _propTypes["default"].bool,
209
- disableRipple: _propTypes["default"].bool,
210
288
  onChange: _propTypes["default"].func,
211
289
  required: _propTypes["default"].bool,
212
290
  size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
@@ -215,7 +293,8 @@ DxcCheckbox.propTypes = {
215
293
  bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
216
294
  left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
217
295
  right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
218
- }), _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
219
298
  };
220
299
  var _default = DxcCheckbox;
221
300
  exports["default"] = _default;
package/dist/chip/Chip.js CHANGED
@@ -11,11 +11,11 @@ exports["default"] = void 0;
11
11
 
12
12
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
13
 
14
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
-
16
14
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
17
15
 
18
- var _react = _interopRequireWildcard(require("react"));
16
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
17
+
18
+ var _react = _interopRequireDefault(require("react"));
19
19
 
20
20
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
21
 
@@ -23,14 +23,22 @@ 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"));
26
+ var _utils = require("../common/utils.js");
27
27
 
28
- require("../common/OpenSans.css");
28
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
29
29
 
30
- var _utils = require("../common/utils.js");
30
+ function _templateObject5() {
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"]);
32
+
33
+ _templateObject5 = function _templateObject5() {
34
+ return data;
35
+ };
36
+
37
+ return data;
38
+ }
31
39
 
32
40
  function _templateObject4() {
33
- var data = (0, _taggedTemplateLiteral2["default"])(["\n cursor: ", ";\n padding-right: ", ";\n"]);
41
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n ", "\n margin-right: ", ";\n width: ", ";\n height: ", ";\n"]);
34
42
 
35
43
  _templateObject4 = function _templateObject4() {
36
44
  return data;
@@ -40,7 +48,7 @@ function _templateObject4() {
40
48
  }
41
49
 
42
50
  function _templateObject3() {
43
- var data = (0, _taggedTemplateLiteral2["default"])(["\n cursor: ", ";\n padding-left: ", ";\n"]);
51
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n ", "\n margin-left: ", ";\n width: ", ";\n height: ", ";\n"]);
44
52
 
45
53
  _templateObject3 = function _templateObject3() {
46
54
  return data;
@@ -50,7 +58,7 @@ function _templateObject3() {
50
58
  }
51
59
 
52
60
  function _templateObject2() {
53
- 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"]);
54
62
 
55
63
  _templateObject2 = function _templateObject2() {
56
64
  return data;
@@ -60,7 +68,7 @@ function _templateObject2() {
60
68
  }
61
69
 
62
70
  function _templateObject() {
63
- var data = (0, _taggedTemplateLiteral2["default"])(["\n height: 22px;\n display: inline-flex;\n align-items: center;\n border-radius: 50px;\n margin: 2px;\n max-width: ", ";\n\n padding: 10px 20px;\n cursor: ", ";\n opacity: ", ";\n background: ", ";\n\nmargin: ", ";\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"]);
64
72
 
65
73
  _templateObject = function _templateObject() {
66
74
  return data;
@@ -71,52 +79,100 @@ function _templateObject() {
71
79
 
72
80
  var DxcChip = function DxcChip(_ref) {
73
81
  var label = _ref.label,
82
+ suffixIcon = _ref.suffixIcon,
83
+ prefixIcon = _ref.prefixIcon,
74
84
  suffixIconSrc = _ref.suffixIconSrc,
75
85
  onClickSuffix = _ref.onClickSuffix,
76
86
  prefixIconSrc = _ref.prefixIconSrc,
77
87
  onClickPrefix = _ref.onClickPrefix,
78
88
  disabled = _ref.disabled,
79
- margin = _ref.margin;
80
-
81
- var colorsTheme = (0, _react.useContext)(_ThemeContext["default"]) || _variables.colors;
82
-
89
+ margin = _ref.margin,
90
+ _ref$tabIndex = _ref.tabIndex,
91
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
92
+ var colorsTheme = (0, _useTheme["default"])();
83
93
  return _react["default"].createElement(_styledComponents.ThemeProvider, {
84
- theme: colorsTheme
94
+ theme: colorsTheme.chip
85
95
  }, _react["default"].createElement(StyledDxcChip, {
86
96
  disabled: disabled,
87
97
  margin: margin
88
- }, prefixIconSrc && _react["default"].createElement(PrefixIconContainer, {
98
+ }, prefixIcon ? _react["default"].createElement(IconContainer, {
99
+ disabled: disabled,
100
+ prefixIcon: true,
101
+ label: label,
102
+ mode: "prefix",
103
+ tabIndex: typeof onClickPrefix === "function" && !disabled ? tabIndex : -1,
104
+ onClick: function onClick() {
105
+ return onClickPrefix && !disabled && onClickPrefix(label);
106
+ },
107
+ interactuable: typeof onClickPrefix === "function" && !disabled
108
+ }, (0, _typeof2["default"])(prefixIcon) === "object" ? prefixIcon : _react["default"].createElement(prefixIcon)) : prefixIconSrc && _react["default"].createElement(PrefixIconContainer, {
89
109
  disabled: disabled,
90
110
  src: prefixIconSrc,
91
111
  label: label,
112
+ tabIndex: typeof onClickPrefix === "function" && !disabled ? tabIndex : -1,
92
113
  onClick: function onClick() {
93
114
  return onClickPrefix && !disabled && onClickPrefix(label);
94
- }
115
+ },
116
+ interactuable: typeof onClickPrefix === "function" && !disabled
95
117
  }), label && _react["default"].createElement(ChipTextContainer, {
96
118
  disabled: disabled,
97
119
  prefixIconSrc: prefixIconSrc,
98
120
  suffixIconSrc: suffixIconSrc
99
- }, label), suffixIconSrc && _react["default"].createElement(SuffixIconContainer, {
121
+ }, label), suffixIcon ? _react["default"].createElement(IconContainer, {
122
+ disabled: disabled,
123
+ suffixIcon: true,
124
+ mode: "suffix",
125
+ label: label,
126
+ tabIndex: typeof onClickSuffix === "function" && !disabled ? tabIndex : -1,
127
+ onClick: function onClick() {
128
+ return onClickSuffix && !disabled && onClickSuffix(label);
129
+ },
130
+ interactuable: typeof onClickSuffix === "function" && !disabled
131
+ }, (0, _typeof2["default"])(suffixIcon) === "object" ? suffixIcon : _react["default"].createElement(suffixIcon)) : suffixIconSrc && _react["default"].createElement(SuffixIconContainer, {
100
132
  disabled: disabled,
101
133
  src: suffixIconSrc,
102
134
  label: label,
135
+ tabIndex: typeof onClickSuffix === "function" && !disabled ? tabIndex : -1,
103
136
  onClick: function onClick() {
104
137
  return onClickSuffix && !disabled && onClickSuffix(label);
105
- }
138
+ },
139
+ interactuable: typeof onClickSuffix === "function" && !disabled
106
140
  })));
107
141
  };
108
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
+
109
155
  var StyledDxcChip = _styledComponents["default"].div(_templateObject(), function (_ref2) {
110
156
  var margin = _ref2.margin;
111
157
  return "calc(100% - 40px - ".concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
112
- }, function (_ref3) {
113
- var disabled = _ref3.disabled;
114
- return disabled && "not-allowed";
115
- }, function (_ref4) {
116
- var disabled = _ref4.disabled;
117
- return disabled && "0.34" || "initial";
118
158
  }, function (props) {
119
- return props.theme.darkWhite;
159
+ return props.disabled && props.theme.disabledBackgroundColor || props.theme.backgroundColor;
160
+ }, function (props) {
161
+ return props.theme.borderRadius;
162
+ }, function (props) {
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;
120
176
  }, function (props) {
121
177
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
122
178
  }, function (props) {
@@ -127,34 +183,72 @@ var StyledDxcChip = _styledComponents["default"].div(_templateObject(), function
127
183
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
128
184
  }, function (props) {
129
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";
130
189
  });
131
190
 
132
- var ChipTextContainer = _styledComponents["default"].span(_templateObject2(), function (_ref5) {
133
- var theme = _ref5.theme;
134
- return theme.black;
135
- }, function (_ref6) {
136
- var disabled = _ref6.disabled;
191
+ var ChipTextContainer = _styledComponents["default"].span(_templateObject2(), function (props) {
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;
201
+ }, function (_ref4) {
202
+ var disabled = _ref4.disabled;
137
203
  return disabled && "not-allowed" || "default";
138
204
  });
139
205
 
140
- var SuffixIconContainer = _styledComponents["default"].img(_templateObject3(), function (_ref7) {
141
- var disabled = _ref7.disabled;
142
- 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;
143
214
  }, function (props) {
144
- return (props.label || props.suffixIconSrc) && "10px" || props.prefixIconSrc && "5px";
215
+ return props.theme.iconSize;
145
216
  });
146
217
 
147
- var PrefixIconContainer = _styledComponents["default"].img(_templateObject4(), function (_ref8) {
148
- var disabled = _ref8.disabled;
149
- return disabled && "not-allowed" || "pointer";
218
+ var PrefixIconContainer = _styledComponents["default"].img(_templateObject4(), function (props) {
219
+ return props.disabled ? props.theme.disabledIconColor : props.theme.iconColor;
220
+ }, function (props) {
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;
228
+ });
229
+
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;
150
242
  }, function (props) {
151
- return (props.label || props.suffixIconSrc) && "10px" || props.prefixIconSrc && "5px";
243
+ return props.disabled && "outline: none;";
152
244
  });
153
245
 
154
246
  DxcChip.propTypes = {
155
247
  label: _propTypes["default"].string,
156
248
  disabled: _propTypes["default"].bool,
157
249
  theme: _propTypes["default"].oneOf(["dark", "light"]),
250
+ suffixIcon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
251
+ prefixIcon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
158
252
  suffixIconSrc: _propTypes["default"].string,
159
253
  prefixIconSrc: _propTypes["default"].string,
160
254
  onClickSuffix: _propTypes["default"].func,
@@ -164,7 +258,8 @@ DxcChip.propTypes = {
164
258
  bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
165
259
  left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
166
260
  right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
167
- }), _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
168
263
  };
169
264
  var _default = DxcChip;
170
265
  exports["default"] = _default;
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
4
 
7
5
  Object.defineProperty(exports, "__esModule", {
@@ -11,18 +9,14 @@ exports["default"] = void 0;
11
9
 
12
10
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
11
 
14
- var _react = _interopRequireWildcard(require("react"));
12
+ var _react = _interopRequireDefault(require("react"));
15
13
 
16
- var _styledComponents = _interopRequireWildcard(require("styled-components"));
14
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
17
15
 
18
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
19
17
 
20
- var _variables = require("./variables.js");
21
-
22
- var _ThemeContext = _interopRequireDefault(require("../ThemeContext.js"));
23
-
24
18
  function _templateObject() {
25
- var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n margin-right: 1px;\n cursor: default;\n"]);
19
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n color: #d0011b;\n margin-right: 1px;\n cursor: default;\n"]);
26
20
 
27
21
  _templateObject = function _templateObject() {
28
22
  return data;
@@ -34,14 +28,10 @@ function _templateObject() {
34
28
  var DxcRequired = function DxcRequired(_ref) {
35
29
  var _ref$theme = _ref.theme,
36
30
  theme = _ref$theme === void 0 ? "light" : _ref$theme;
37
- return _react["default"].createElement(RequiredSpan, {
38
- brightness: theme
39
- }, "*");
31
+ return _react["default"].createElement(RequiredSpan, null, "*");
40
32
  };
41
33
 
42
- var RequiredSpan = _styledComponents["default"].span(_templateObject(), function (props) {
43
- return props.brightness === "dark" ? props.theme.lightRed : props.theme.darkRed;
44
- });
34
+ var RequiredSpan = _styledComponents["default"].span(_templateObject());
45
35
 
46
36
  DxcRequired.propTypes = {
47
37
  theme: _propTypes["default"].oneOf(["dark", "light"])