@dxc-technology/halstack-react 0.0.0-f44cd28 → 0.0.0-f77ec3a

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