@dxc-technology/halstack-react 0.0.0-e441916 → 0.0.0-e628009

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 (195) 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 +235 -2
  5. package/dist/V3Textarea/V3Textarea.js +264 -0
  6. package/dist/accordion/Accordion.js +170 -81
  7. package/dist/accordion-group/AccordionGroup.js +186 -0
  8. package/dist/alert/Alert.js +184 -83
  9. package/dist/alert/index.d.ts +51 -0
  10. package/dist/badge/Badge.js +63 -0
  11. package/dist/box/Box.js +39 -19
  12. package/dist/button/Button.js +84 -29
  13. package/dist/card/Card.js +64 -56
  14. package/dist/checkbox/Checkbox.js +108 -32
  15. package/dist/chip/Chip.js +135 -40
  16. package/dist/common/RequiredComponent.js +2 -8
  17. package/dist/common/utils.js +2 -22
  18. package/dist/common/variables.js +1486 -105
  19. package/dist/date/Date.js +115 -78
  20. package/dist/date-input/DateInput.js +400 -0
  21. package/dist/date-input/index.d.ts +95 -0
  22. package/dist/dialog/Dialog.js +61 -36
  23. package/dist/dropdown/Dropdown.js +226 -94
  24. package/dist/file-input/FileInput.js +644 -0
  25. package/dist/file-input/FileItem.js +280 -0
  26. package/dist/file-input/index.d.ts +81 -0
  27. package/dist/footer/Footer.js +125 -45
  28. package/dist/footer/Icons.js +77 -0
  29. package/dist/header/Header.js +174 -90
  30. package/dist/header/Icons.js +59 -0
  31. package/dist/heading/Heading.js +93 -22
  32. package/dist/input-text/Icons.js +22 -0
  33. package/dist/input-text/InputText.js +298 -108
  34. package/dist/layout/ApplicationLayout.js +327 -0
  35. package/dist/layout/Icons.js +55 -0
  36. package/dist/link/Link.js +142 -34
  37. package/dist/main.d.ts +8 -0
  38. package/dist/main.js +111 -7
  39. package/dist/new-select/NewSelect.js +836 -0
  40. package/dist/new-select/index.d.ts +53 -0
  41. package/dist/number-input/NumberInput.js +136 -0
  42. package/dist/number-input/NumberInputContext.js +16 -0
  43. package/dist/number-input/index.d.ts +113 -0
  44. package/dist/paginator/Icons.js +66 -0
  45. package/dist/paginator/Paginator.js +162 -57
  46. package/dist/password-input/PasswordInput.js +198 -0
  47. package/dist/password-input/index.d.ts +94 -0
  48. package/dist/progress-bar/ProgressBar.js +97 -44
  49. package/dist/radio/Radio.js +39 -21
  50. package/dist/resultsetTable/ResultsetTable.js +93 -69
  51. package/dist/select/Select.js +253 -129
  52. package/dist/sidenav/Sidenav.js +87 -125
  53. package/dist/slider/Slider.js +219 -73
  54. package/dist/spinner/Spinner.js +249 -64
  55. package/dist/switch/Switch.js +52 -25
  56. package/dist/table/Table.js +63 -15
  57. package/dist/tabs/Tabs.js +210 -50
  58. package/dist/tabs-for-sections/TabsForSections.js +1 -16
  59. package/dist/tag/Tag.js +100 -35
  60. package/dist/text-input/TextInput.js +971 -0
  61. package/dist/text-input/index.d.ts +135 -0
  62. package/dist/textarea/Textarea.js +250 -107
  63. package/dist/textarea/index.d.ts +117 -0
  64. package/dist/toggle/Toggle.js +16 -19
  65. package/dist/toggle-group/ToggleGroup.js +327 -0
  66. package/dist/upload/Upload.js +16 -11
  67. package/dist/upload/buttons-upload/ButtonsUpload.js +35 -25
  68. package/dist/upload/buttons-upload/Icons.js +40 -0
  69. package/dist/upload/dragAndDropArea/DragAndDropArea.js +84 -37
  70. package/dist/upload/dragAndDropArea/Icons.js +39 -0
  71. package/dist/upload/file-upload/FileToUpload.js +64 -33
  72. package/dist/upload/file-upload/Icons.js +66 -0
  73. package/dist/upload/files-upload/FilesToUpload.js +16 -16
  74. package/dist/upload/transaction/Icons.js +160 -0
  75. package/dist/upload/transaction/Transaction.js +42 -49
  76. package/dist/upload/transactions/Transactions.js +38 -20
  77. package/dist/useTheme.js +22 -0
  78. package/dist/wizard/Icons.js +65 -0
  79. package/dist/wizard/Wizard.js +156 -61
  80. package/package.json +14 -6
  81. package/test/AccordionGroup.test.js +125 -0
  82. package/test/Date.test.js +49 -45
  83. package/test/DateInput.test.js +242 -0
  84. package/test/Dropdown.test.js +19 -4
  85. package/test/FileInput.test.js +201 -0
  86. package/test/Footer.test.js +2 -7
  87. package/test/Header.test.js +5 -10
  88. package/test/Heading.test.js +60 -12
  89. package/test/InputText.test.js +53 -41
  90. package/test/Link.test.js +25 -7
  91. package/test/NumberInput.test.js +259 -0
  92. package/test/Paginator.test.js +72 -60
  93. package/test/PasswordInput.test.js +83 -0
  94. package/test/ResultsetTable.test.js +66 -19
  95. package/test/Select.test.js +55 -34
  96. package/test/Sidenav.test.js +22 -64
  97. package/test/Slider.test.js +24 -15
  98. package/test/Spinner.test.js +5 -0
  99. package/test/Tabs.test.js +21 -0
  100. package/test/TextInput.test.js +732 -0
  101. package/test/Textarea.test.js +193 -0
  102. package/test/ToggleGroup.test.js +85 -0
  103. package/test/Upload.test.js +5 -5
  104. package/test/{TextArea.test.js → V3TextArea.test.js} +6 -7
  105. package/dist/accordion/Accordion.stories.js +0 -207
  106. package/dist/accordion/readme.md +0 -96
  107. package/dist/alert/Alert.stories.js +0 -158
  108. package/dist/alert/close.svg +0 -4
  109. package/dist/alert/error.svg +0 -4
  110. package/dist/alert/info.svg +0 -4
  111. package/dist/alert/readme.md +0 -43
  112. package/dist/alert/success.svg +0 -4
  113. package/dist/alert/warning.svg +0 -4
  114. package/dist/button/Button.stories.js +0 -224
  115. package/dist/button/readme.md +0 -93
  116. package/dist/checkbox/Checkbox.stories.js +0 -144
  117. package/dist/checkbox/readme.md +0 -116
  118. package/dist/common/services/example-service.js +0 -10
  119. package/dist/common/services/example-service.test.js +0 -12
  120. package/dist/date/Date.stories.js +0 -205
  121. package/dist/date/calendar.svg +0 -1
  122. package/dist/date/calendar_dark.svg +0 -1
  123. package/dist/date/readme.md +0 -73
  124. package/dist/dialog/Dialog.stories.js +0 -217
  125. package/dist/dialog/readme.md +0 -32
  126. package/dist/dropdown/Dropdown.stories.js +0 -249
  127. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  128. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  129. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  130. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  131. package/dist/dropdown/readme.md +0 -69
  132. package/dist/footer/Footer.stories.js +0 -94
  133. package/dist/footer/dxc_logo_wht.png +0 -0
  134. package/dist/footer/readme.md +0 -41
  135. package/dist/header/Header.stories.js +0 -176
  136. package/dist/header/close_icon.svg +0 -1
  137. package/dist/header/dxc_logo_black.png +0 -0
  138. package/dist/header/dxc_logo_white.png +0 -0
  139. package/dist/header/hamb_menu_black.svg +0 -1
  140. package/dist/header/hamb_menu_white.svg +0 -1
  141. package/dist/header/readme.md +0 -33
  142. package/dist/input-text/InputText.stories.js +0 -209
  143. package/dist/input-text/error.svg +0 -1
  144. package/dist/input-text/readme.md +0 -91
  145. package/dist/link/readme.md +0 -51
  146. package/dist/paginator/images/next.svg +0 -3
  147. package/dist/paginator/images/nextPage.svg +0 -3
  148. package/dist/paginator/images/previous.svg +0 -3
  149. package/dist/paginator/images/previousPage.svg +0 -3
  150. package/dist/paginator/readme.md +0 -50
  151. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  152. package/dist/progress-bar/readme.md +0 -63
  153. package/dist/radio/Radio.stories.js +0 -166
  154. package/dist/radio/readme.md +0 -70
  155. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  156. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  157. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  158. package/dist/select/Select.stories.js +0 -235
  159. package/dist/select/readme.md +0 -72
  160. package/dist/sidenav/arrow_icon.svg +0 -3
  161. package/dist/slider/Slider.stories.js +0 -241
  162. package/dist/slider/readme.md +0 -64
  163. package/dist/spinner/Spinner.stories.js +0 -183
  164. package/dist/spinner/readme.md +0 -65
  165. package/dist/switch/Switch.stories.js +0 -134
  166. package/dist/switch/readme.md +0 -133
  167. package/dist/tabs/Tabs.stories.js +0 -130
  168. package/dist/tabs/readme.md +0 -78
  169. package/dist/tabs-for-sections/readme.md +0 -78
  170. package/dist/toggle/Toggle.stories.js +0 -297
  171. package/dist/toggle/readme.md +0 -80
  172. package/dist/upload/Upload.stories.js +0 -72
  173. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  174. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  175. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  176. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  177. package/dist/upload/file-upload/audio-icon.svg +0 -4
  178. package/dist/upload/file-upload/close.svg +0 -4
  179. package/dist/upload/file-upload/file-icon.svg +0 -4
  180. package/dist/upload/file-upload/video-icon.svg +0 -4
  181. package/dist/upload/readme.md +0 -37
  182. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  183. package/dist/upload/transaction/audio-icon.svg +0 -4
  184. package/dist/upload/transaction/error-icon.svg +0 -4
  185. package/dist/upload/transaction/file-icon-err.svg +0 -4
  186. package/dist/upload/transaction/file-icon.svg +0 -4
  187. package/dist/upload/transaction/image-icon-err.svg +0 -4
  188. package/dist/upload/transaction/image-icon.svg +0 -4
  189. package/dist/upload/transaction/success-icon.svg +0 -4
  190. package/dist/upload/transaction/video-icon-err.svg +0 -4
  191. package/dist/upload/transaction/video-icon.svg +0 -4
  192. package/dist/wizard/invalid_icon.svg +0 -6
  193. package/dist/wizard/valid_icon.svg +0 -6
  194. package/dist/wizard/validation-wrong.svg +0 -6
  195. 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 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,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;