@dxc-technology/halstack-react 0.0.0-e792e0c → 0.0.0-e832ef8

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 (170) hide show
  1. package/babel.config.js +6 -2
  2. package/dist/BackgroundColorContext.js +46 -0
  3. package/dist/ThemeContext.js +235 -2
  4. package/dist/V3Textarea/V3Textarea.js +264 -0
  5. package/dist/accordion/Accordion.js +170 -81
  6. package/dist/accordion-group/AccordionGroup.js +186 -0
  7. package/dist/alert/Alert.js +184 -83
  8. package/dist/alert/index.d.ts +51 -0
  9. package/dist/badge/Badge.js +63 -0
  10. package/dist/box/Box.js +31 -23
  11. package/dist/button/Button.js +82 -27
  12. package/dist/card/Card.js +72 -35
  13. package/dist/checkbox/Checkbox.js +108 -32
  14. package/dist/chip/Chip.js +129 -35
  15. package/dist/common/RequiredComponent.js +2 -8
  16. package/dist/common/utils.js +2 -22
  17. package/dist/common/variables.js +1459 -197
  18. package/dist/date/Date.js +86 -64
  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 +226 -94
  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 +122 -47
  27. package/dist/footer/Icons.js +77 -0
  28. package/dist/header/Header.js +171 -91
  29. package/dist/header/Icons.js +59 -0
  30. package/dist/heading/Heading.js +81 -22
  31. package/dist/input-text/Icons.js +22 -0
  32. package/dist/input-text/InputText.js +293 -107
  33. package/dist/layout/ApplicationLayout.js +327 -0
  34. package/dist/layout/Icons.js +55 -0
  35. package/dist/link/Link.js +136 -35
  36. package/dist/main.d.ts +8 -0
  37. package/dist/main.js +111 -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 +162 -57
  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 +97 -44
  48. package/dist/radio/Radio.js +39 -21
  49. package/dist/resultsetTable/ResultsetTable.js +93 -69
  50. package/dist/select/Select.js +250 -143
  51. package/dist/sidenav/Sidenav.js +85 -143
  52. package/dist/slider/Slider.js +219 -73
  53. package/dist/spinner/Spinner.js +249 -64
  54. package/dist/switch/Switch.js +51 -26
  55. package/dist/table/Table.js +63 -15
  56. package/dist/tabs/Tabs.js +208 -35
  57. package/dist/tabs-for-sections/TabsForSections.js +1 -16
  58. package/dist/tag/Tag.js +100 -35
  59. package/dist/text-input/TextInput.js +971 -0
  60. package/dist/text-input/index.d.ts +135 -0
  61. package/dist/textarea/Textarea.js +250 -107
  62. package/dist/textarea/index.d.ts +117 -0
  63. package/dist/toggle/Toggle.js +16 -19
  64. package/dist/toggle-group/ToggleGroup.js +327 -0
  65. package/dist/upload/Upload.js +16 -11
  66. package/dist/upload/buttons-upload/ButtonsUpload.js +35 -25
  67. package/dist/upload/buttons-upload/Icons.js +40 -0
  68. package/dist/upload/dragAndDropArea/DragAndDropArea.js +78 -31
  69. package/dist/upload/file-upload/FileToUpload.js +64 -33
  70. package/dist/upload/file-upload/Icons.js +66 -0
  71. package/dist/upload/files-upload/FilesToUpload.js +16 -16
  72. package/dist/upload/readme.md +2 -2
  73. package/dist/upload/transaction/Icons.js +160 -0
  74. package/dist/upload/transaction/Transaction.js +42 -49
  75. package/dist/upload/transactions/Transactions.js +38 -20
  76. package/dist/useTheme.js +22 -0
  77. package/dist/wizard/Icons.js +65 -0
  78. package/dist/wizard/Wizard.js +141 -56
  79. package/package.json +14 -6
  80. package/test/AccordionGroup.test.js +125 -0
  81. package/test/Date.test.js +49 -45
  82. package/test/DateInput.test.js +242 -0
  83. package/test/Dropdown.test.js +19 -4
  84. package/test/FileInput.test.js +201 -0
  85. package/test/Footer.test.js +2 -7
  86. package/test/Header.test.js +5 -10
  87. package/test/InputText.test.js +53 -41
  88. package/test/Link.test.js +25 -7
  89. package/test/NumberInput.test.js +259 -0
  90. package/test/Paginator.test.js +72 -60
  91. package/test/PasswordInput.test.js +83 -0
  92. package/test/ResultsetTable.test.js +66 -19
  93. package/test/Select.test.js +55 -34
  94. package/test/Sidenav.test.js +22 -64
  95. package/test/Slider.test.js +24 -15
  96. package/test/Spinner.test.js +5 -0
  97. package/test/Tabs.test.js +21 -0
  98. package/test/TextInput.test.js +732 -0
  99. package/test/Textarea.test.js +193 -0
  100. package/test/ToggleGroup.test.js +85 -0
  101. package/test/Upload.test.js +5 -5
  102. package/test/{TextArea.test.js → V3TextArea.test.js} +6 -7
  103. package/dist/accordion/Accordion.stories.js +0 -207
  104. package/dist/accordion/readme.md +0 -96
  105. package/dist/alert/Alert.stories.js +0 -158
  106. package/dist/alert/close.svg +0 -4
  107. package/dist/alert/error.svg +0 -4
  108. package/dist/alert/info.svg +0 -4
  109. package/dist/alert/readme.md +0 -43
  110. package/dist/alert/success.svg +0 -4
  111. package/dist/alert/warning.svg +0 -4
  112. package/dist/button/Button.stories.js +0 -224
  113. package/dist/button/readme.md +0 -93
  114. package/dist/common/services/example-service.js +0 -10
  115. package/dist/common/services/example-service.test.js +0 -12
  116. package/dist/date/calendar.svg +0 -1
  117. package/dist/date/calendar_dark.svg +0 -1
  118. package/dist/dialog/Dialog.stories.js +0 -217
  119. package/dist/dialog/readme.md +0 -32
  120. package/dist/dropdown/Dropdown.stories.js +0 -249
  121. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  122. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  123. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  124. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  125. package/dist/dropdown/readme.md +0 -69
  126. package/dist/footer/Footer.stories.js +0 -94
  127. package/dist/footer/dxc_logo_wht.png +0 -0
  128. package/dist/footer/readme.md +0 -41
  129. package/dist/header/Header.stories.js +0 -176
  130. package/dist/header/close_icon.svg +0 -1
  131. package/dist/header/dxc_logo_black.png +0 -0
  132. package/dist/header/dxc_logo_white.png +0 -0
  133. package/dist/header/hamb_menu_black.svg +0 -1
  134. package/dist/header/hamb_menu_white.svg +0 -1
  135. package/dist/header/readme.md +0 -33
  136. package/dist/input-text/InputText.stories.js +0 -209
  137. package/dist/input-text/error.svg +0 -1
  138. package/dist/input-text/readme.md +0 -91
  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/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  145. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  146. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  147. package/dist/select/Select.stories.js +0 -235
  148. package/dist/select/readme.md +0 -72
  149. package/dist/sidenav/arrow_icon.svg +0 -3
  150. package/dist/slider/Slider.stories.js +0 -241
  151. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  152. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  153. package/dist/upload/file-upload/audio-icon.svg +0 -4
  154. package/dist/upload/file-upload/close.svg +0 -4
  155. package/dist/upload/file-upload/file-icon.svg +0 -4
  156. package/dist/upload/file-upload/video-icon.svg +0 -4
  157. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  158. package/dist/upload/transaction/audio-icon.svg +0 -4
  159. package/dist/upload/transaction/error-icon.svg +0 -4
  160. package/dist/upload/transaction/file-icon-err.svg +0 -4
  161. package/dist/upload/transaction/file-icon.svg +0 -4
  162. package/dist/upload/transaction/image-icon-err.svg +0 -4
  163. package/dist/upload/transaction/image-icon.svg +0 -4
  164. package/dist/upload/transaction/success-icon.svg +0 -4
  165. package/dist/upload/transaction/video-icon-err.svg +0 -4
  166. package/dist/upload/transaction/video-icon.svg +0 -4
  167. package/dist/wizard/invalid_icon.svg +0 -6
  168. package/dist/wizard/valid_icon.svg +0 -6
  169. package/dist/wizard/validation-wrong.svg +0 -6
  170. 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 opacity: ", ";\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 10px;\n margin: 0px 2px;\n color: ", "};\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 }\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.theme, (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,34 +113,48 @@ 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, {
114
123
  id: name,
115
- brightness: _variables.theme,
124
+ brightness: _variables.componentTokens,
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,36 +238,44 @@ 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");
247
+ }, function (props) {
248
+ return getDisabledColor(props, "border");
249
+ }, function (props) {
250
+ return props.disabled ? getDisabledColor(props, "background") : getNotDisabledColor(props, "background");
182
251
  }, function (props) {
183
- return props.theme.color;
252
+ return props.backgroundType === "dark" ? props.theme.hoverBackgroundColorCheckedOnDark : props.theme.hoverBackgroundColorChecked;
184
253
  }, function (props) {
185
- return props.theme.color;
254
+ return props.backgroundType === "dark" ? props.theme.hoverBorderColorOnDark : props.theme.hoverBorderColor;
186
255
  }, function (props) {
187
- return props.theme.focusColor;
256
+ return props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
188
257
  }, function (props) {
189
- return props.theme.color;
258
+ return props.theme.checkLabelSpacing;
190
259
  }, function (props) {
191
- return props.theme.color;
260
+ return props.labelPosition === "after" ? "0px" : "";
192
261
  }, function (props) {
193
- return props.theme.disabled;
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";
194
267
  });
195
268
 
196
269
  var CheckboxBlackBack = _styledComponents["default"].span(_templateObject3(), function (props) {
197
- return props.checked !== true ? "transparent" : props.theme.checkColor;
270
+ return !props.checked ? "transparent" : props.disabled ? getDisabledColor(props, "check") : getNotDisabledColor(props, "check");
271
+ }, function (props) {
272
+ return props.labelPosition === "before" ? "unset" : "5px";
198
273
  }, function (props) {
199
- return props.labelPosition === "before" ? "unset" : "17px";
274
+ return props.labelPosition === "before" ? "5px" : "unset";
200
275
  }, function (props) {
201
- return props.labelPosition === "before" ? "17px" : "unset";
276
+ return props.labelPosition === "after" ? "0px" : "";
202
277
  }, function (props) {
203
- return props.disabled ? props.theme.disabled : "1";
278
+ return props.labelPosition === "before" ? "0px" : "";
204
279
  });
205
280
 
206
281
  DxcCheckbox.propTypes = {
@@ -218,7 +293,8 @@ DxcCheckbox.propTypes = {
218
293
  bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
219
294
  left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
220
295
  right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
221
- }), _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
222
298
  };
223
299
  var _default = DxcCheckbox;
224
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 ", ";\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,54 +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
- var customTheme = (0, _react.useContext)(_ThemeContext["default"]);
81
- var colorsTheme = (0, _react.useMemo)(function () {
82
- return (0, _utils.getCustomTheme)(_variables.theme, (0, _utils.getCustomTheme)(_variables.defaultTheme, customTheme));
83
- }, [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"])();
84
93
  return _react["default"].createElement(_styledComponents.ThemeProvider, {
85
94
  theme: colorsTheme.chip
86
95
  }, _react["default"].createElement(StyledDxcChip, {
87
96
  disabled: disabled,
88
97
  margin: margin
89
- }, 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, {
90
109
  disabled: disabled,
91
110
  src: prefixIconSrc,
92
111
  label: label,
112
+ tabIndex: typeof onClickPrefix === "function" && !disabled ? tabIndex : -1,
93
113
  onClick: function onClick() {
94
114
  return onClickPrefix && !disabled && onClickPrefix(label);
95
- }
115
+ },
116
+ interactuable: typeof onClickPrefix === "function" && !disabled
96
117
  }), label && _react["default"].createElement(ChipTextContainer, {
97
118
  disabled: disabled,
98
119
  prefixIconSrc: prefixIconSrc,
99
120
  suffixIconSrc: suffixIconSrc
100
- }, 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, {
101
132
  disabled: disabled,
102
133
  src: suffixIconSrc,
103
134
  label: label,
135
+ tabIndex: typeof onClickSuffix === "function" && !disabled ? tabIndex : -1,
104
136
  onClick: function onClick() {
105
137
  return onClickSuffix && !disabled && onClickSuffix(label);
106
- }
138
+ },
139
+ interactuable: typeof onClickSuffix === "function" && !disabled
107
140
  })));
108
141
  };
109
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
+
110
155
  var StyledDxcChip = _styledComponents["default"].div(_templateObject(), function (_ref2) {
111
156
  var margin = _ref2.margin;
112
157
  return "calc(100% - 40px - ".concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
113
158
  }, function (props) {
114
- return props.theme.outlinedColor !== "" ? "border: 1px solid ".concat(props.theme.outlinedColor) : "";
115
- }, function (_ref3) {
116
- var disabled = _ref3.disabled;
117
- return disabled && "not-allowed";
159
+ return props.disabled && props.theme.disabledBackgroundColor || props.theme.backgroundColor;
118
160
  }, function (props) {
119
- return props.disabled && props.theme.disabled || "initial";
161
+ return props.theme.borderRadius;
120
162
  }, function (props) {
121
- return props.theme.backgroundColor;
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;
122
176
  }, function (props) {
123
177
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
124
178
  }, function (props) {
@@ -129,33 +183,72 @@ var StyledDxcChip = _styledComponents["default"].div(_templateObject(), function
129
183
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
130
184
  }, function (props) {
131
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";
132
189
  });
133
190
 
134
191
  var ChipTextContainer = _styledComponents["default"].span(_templateObject2(), function (props) {
135
- 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;
136
201
  }, function (_ref4) {
137
202
  var disabled = _ref4.disabled;
138
203
  return disabled && "not-allowed" || "default";
139
204
  });
140
205
 
141
- var SuffixIconContainer = _styledComponents["default"].img(_templateObject3(), function (_ref5) {
142
- var disabled = _ref5.disabled;
143
- 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);
144
210
  }, function (props) {
145
- return (props.label || props.suffixIconSrc) && "10px" || props.prefixIconSrc && "5px";
211
+ return (props.label || props.suffixIconSrc) && props.theme.iconSpacing || props.prefixIconSrc && "5px";
212
+ }, function (props) {
213
+ return props.theme.iconSize;
214
+ }, function (props) {
215
+ return props.theme.iconSize;
146
216
  });
147
217
 
148
- var PrefixIconContainer = _styledComponents["default"].img(_templateObject4(), function (_ref6) {
149
- var disabled = _ref6.disabled;
150
- 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;
151
242
  }, function (props) {
152
- return (props.label || props.suffixIconSrc) && "10px" || props.prefixIconSrc && "5px";
243
+ return props.disabled && "outline: none;";
153
244
  });
154
245
 
155
246
  DxcChip.propTypes = {
156
247
  label: _propTypes["default"].string,
157
248
  disabled: _propTypes["default"].bool,
158
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]),
159
252
  suffixIconSrc: _propTypes["default"].string,
160
253
  prefixIconSrc: _propTypes["default"].string,
161
254
  onClickSuffix: _propTypes["default"].func,
@@ -165,7 +258,8 @@ DxcChip.propTypes = {
165
258
  bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
166
259
  left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
167
260
  right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
168
- }), _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
169
263
  };
170
264
  var _default = DxcChip;
171
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,16 +9,12 @@ 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
19
  var data = (0, _taggedTemplateLiteral2["default"])(["\n color: #d0011b;\n margin-right: 1px;\n cursor: default;\n"]);
26
20
 
@@ -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 = 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;