@dxc-technology/halstack-react 0.0.0-26ebe9c → 0.0.0-283b4b6

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 (266) hide show
  1. package/BackgroundColorContext.js +46 -0
  2. package/ThemeContext.js +250 -0
  3. package/V3Select/V3Select.js +549 -0
  4. package/V3Select/index.d.ts +27 -0
  5. package/V3Textarea/V3Textarea.js +264 -0
  6. package/V3Textarea/index.d.ts +27 -0
  7. package/accordion/Accordion.js +353 -0
  8. package/accordion/index.d.ts +28 -0
  9. package/accordion-group/AccordionGroup.js +186 -0
  10. package/accordion-group/index.d.ts +16 -0
  11. package/alert/Alert.js +403 -0
  12. package/alert/index.d.ts +51 -0
  13. package/badge/Badge.js +63 -0
  14. package/{dist/box → box}/Box.js +39 -19
  15. package/box/index.d.ts +25 -0
  16. package/button/Button.js +238 -0
  17. package/button/Button.stories.js +27 -0
  18. package/button/index.d.ts +24 -0
  19. package/{dist/card → card}/Card.js +64 -56
  20. package/card/index.d.ts +22 -0
  21. package/checkbox/Checkbox.js +299 -0
  22. package/checkbox/index.d.ts +24 -0
  23. package/chip/Chip.js +265 -0
  24. package/chip/index.d.ts +22 -0
  25. package/{dist/common → common}/OpenSans.css +0 -0
  26. package/{dist/common → common}/RequiredComponent.js +5 -15
  27. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  28. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  29. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  30. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  31. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  32. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  33. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  34. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  35. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  36. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  37. package/{dist/common → common}/utils.js +0 -0
  38. package/common/variables.js +1574 -0
  39. package/{dist/date → date}/Date.js +110 -76
  40. package/date/index.d.ts +27 -0
  41. package/date-input/DateInput.js +400 -0
  42. package/date-input/index.d.ts +95 -0
  43. package/{dist/dialog → dialog}/Dialog.js +87 -33
  44. package/dialog/index.d.ts +18 -0
  45. package/dropdown/Dropdown.js +544 -0
  46. package/dropdown/index.d.ts +26 -0
  47. package/file-input/FileInput.js +644 -0
  48. package/file-input/FileItem.js +287 -0
  49. package/file-input/index.d.ts +81 -0
  50. package/{dist/footer → footer}/Footer.js +125 -45
  51. package/footer/Icons.js +77 -0
  52. package/footer/index.d.ts +25 -0
  53. package/header/Header.js +470 -0
  54. package/header/Icons.js +59 -0
  55. package/header/index.d.ts +25 -0
  56. package/{dist/heading → heading}/Heading.js +93 -22
  57. package/heading/index.d.ts +17 -0
  58. package/input-text/Icons.js +22 -0
  59. package/input-text/InputText.js +705 -0
  60. package/input-text/index.d.ts +36 -0
  61. package/layout/ApplicationLayout.js +327 -0
  62. package/layout/Icons.js +55 -0
  63. package/link/Link.js +237 -0
  64. package/link/index.d.ts +23 -0
  65. package/main.d.ts +40 -0
  66. package/{dist/main.js → main.js} +120 -24
  67. package/number-input/NumberInput.js +136 -0
  68. package/{dist/ThemeContext.js → number-input/NumberInputContext.js} +3 -2
  69. package/number-input/index.d.ts +113 -0
  70. package/package.json +34 -19
  71. package/paginator/Icons.js +66 -0
  72. package/paginator/Paginator.js +305 -0
  73. package/paginator/index.d.ts +20 -0
  74. package/password-input/PasswordInput.js +203 -0
  75. package/password-input/index.d.ts +94 -0
  76. package/{dist/progress-bar → progress-bar}/ProgressBar.js +97 -44
  77. package/progress-bar/index.d.ts +18 -0
  78. package/{dist/radio → radio}/Radio.js +39 -34
  79. package/radio/index.d.ts +23 -0
  80. package/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +94 -70
  81. package/resultsetTable/index.d.ts +19 -0
  82. package/select/Select.js +1137 -0
  83. package/select/index.d.ts +131 -0
  84. package/sidenav/Sidenav.js +179 -0
  85. package/sidenav/index.d.ts +13 -0
  86. package/slider/Slider.js +404 -0
  87. package/slider/index.d.ts +29 -0
  88. package/spinner/Spinner.js +381 -0
  89. package/spinner/index.d.ts +17 -0
  90. package/{dist/switch → switch}/Switch.js +54 -51
  91. package/switch/index.d.ts +24 -0
  92. package/table/Table.js +132 -0
  93. package/table/index.d.ts +13 -0
  94. package/tabs/Tabs.js +343 -0
  95. package/tabs/index.d.ts +19 -0
  96. package/{dist/tag → tag}/Tag.js +100 -35
  97. package/tag/index.d.ts +24 -0
  98. package/text-input/TextInput.js +974 -0
  99. package/text-input/index.d.ts +135 -0
  100. package/textarea/Textarea.js +369 -0
  101. package/textarea/index.d.ts +117 -0
  102. package/{dist/toggle → toggle}/Toggle.js +16 -19
  103. package/toggle/index.d.ts +21 -0
  104. package/toggle-group/ToggleGroup.js +327 -0
  105. package/toggle-group/index.d.ts +21 -0
  106. package/{dist/upload → upload}/Upload.js +13 -8
  107. package/{dist/upload → upload}/buttons-upload/ButtonsUpload.js +35 -25
  108. package/upload/buttons-upload/Icons.js +40 -0
  109. package/{dist/upload → upload}/dragAndDropArea/DragAndDropArea.js +84 -37
  110. package/upload/dragAndDropArea/Icons.js +39 -0
  111. package/upload/file-upload/FileToUpload.js +189 -0
  112. package/upload/file-upload/Icons.js +66 -0
  113. package/{dist/upload → upload}/files-upload/FilesToUpload.js +16 -16
  114. package/upload/index.d.ts +15 -0
  115. package/upload/transaction/Icons.js +160 -0
  116. package/upload/transaction/Transaction.js +148 -0
  117. package/{dist/upload → upload}/transactions/Transactions.js +38 -20
  118. package/useTheme.js +22 -0
  119. package/wizard/Icons.js +65 -0
  120. package/wizard/Wizard.js +405 -0
  121. package/wizard/index.d.ts +18 -0
  122. package/babel.config.js +0 -4
  123. package/dist/accordion/Accordion.js +0 -264
  124. package/dist/accordion/Accordion.stories.js +0 -207
  125. package/dist/accordion/readme.md +0 -96
  126. package/dist/alert/Alert.js +0 -302
  127. package/dist/alert/Alert.stories.js +0 -158
  128. package/dist/alert/close.svg +0 -4
  129. package/dist/alert/error.svg +0 -4
  130. package/dist/alert/info.svg +0 -4
  131. package/dist/alert/readme.md +0 -43
  132. package/dist/alert/success.svg +0 -4
  133. package/dist/alert/warning.svg +0 -4
  134. package/dist/button/Button.js +0 -187
  135. package/dist/button/Button.stories.js +0 -224
  136. package/dist/button/readme.md +0 -93
  137. package/dist/checkbox/Checkbox.js +0 -221
  138. package/dist/checkbox/Checkbox.stories.js +0 -144
  139. package/dist/checkbox/readme.md +0 -116
  140. package/dist/common/services/example-service.js +0 -10
  141. package/dist/common/services/example-service.test.js +0 -12
  142. package/dist/common/variables.js +0 -77
  143. package/dist/date/Date.stories.js +0 -205
  144. package/dist/date/calendar.svg +0 -1
  145. package/dist/date/calendar_dark.svg +0 -1
  146. package/dist/date/readme.md +0 -73
  147. package/dist/dialog/Dialog.stories.js +0 -217
  148. package/dist/dialog/readme.md +0 -32
  149. package/dist/dropdown/Dropdown.js +0 -412
  150. package/dist/dropdown/Dropdown.stories.js +0 -249
  151. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  152. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  153. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  154. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  155. package/dist/dropdown/readme.md +0 -69
  156. package/dist/footer/Footer.stories.js +0 -94
  157. package/dist/footer/dxc_logo_wht.png +0 -0
  158. package/dist/footer/readme.md +0 -41
  159. package/dist/header/Header.js +0 -343
  160. package/dist/header/Header.stories.js +0 -176
  161. package/dist/header/close_icon.svg +0 -1
  162. package/dist/header/dxc_logo_black.png +0 -0
  163. package/dist/header/dxc_logo_white.png +0 -0
  164. package/dist/header/hamb_menu_black.svg +0 -1
  165. package/dist/header/hamb_menu_white.svg +0 -1
  166. package/dist/header/readme.md +0 -33
  167. package/dist/input-text/InputText.js +0 -510
  168. package/dist/input-text/InputText.stories.js +0 -209
  169. package/dist/input-text/error.svg +0 -1
  170. package/dist/input-text/readme.md +0 -91
  171. package/dist/link/Link.js +0 -129
  172. package/dist/link/readme.md +0 -51
  173. package/dist/paginator/Paginator.js +0 -178
  174. package/dist/paginator/images/next.svg +0 -3
  175. package/dist/paginator/images/nextPage.svg +0 -3
  176. package/dist/paginator/images/previous.svg +0 -3
  177. package/dist/paginator/images/previousPage.svg +0 -3
  178. package/dist/paginator/readme.md +0 -50
  179. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  180. package/dist/progress-bar/readme.md +0 -63
  181. package/dist/radio/Radio.stories.js +0 -166
  182. package/dist/radio/readme.md +0 -70
  183. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  184. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  185. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  186. package/dist/select/Select.js +0 -425
  187. package/dist/select/Select.stories.js +0 -235
  188. package/dist/select/readme.md +0 -72
  189. package/dist/sidenav/Sidenav.js +0 -217
  190. package/dist/sidenav/arrow_icon.svg +0 -3
  191. package/dist/slider/Slider.js +0 -268
  192. package/dist/slider/Slider.stories.js +0 -241
  193. package/dist/slider/readme.md +0 -64
  194. package/dist/spinner/Spinner.js +0 -196
  195. package/dist/spinner/Spinner.stories.js +0 -183
  196. package/dist/spinner/readme.md +0 -65
  197. package/dist/switch/Switch.stories.js +0 -134
  198. package/dist/switch/readme.md +0 -133
  199. package/dist/table/Table.js +0 -84
  200. package/dist/tabs/Tabs.js +0 -183
  201. package/dist/tabs/Tabs.stories.js +0 -130
  202. package/dist/tabs/readme.md +0 -78
  203. package/dist/tabs-for-sections/TabsForSections.js +0 -107
  204. package/dist/tabs-for-sections/readme.md +0 -78
  205. package/dist/textarea/Textarea.js +0 -226
  206. package/dist/toggle/Toggle.stories.js +0 -297
  207. package/dist/toggle/readme.md +0 -80
  208. package/dist/upload/Upload.stories.js +0 -72
  209. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  210. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  211. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  212. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  213. package/dist/upload/file-upload/FileToUpload.js +0 -158
  214. package/dist/upload/file-upload/audio-icon.svg +0 -4
  215. package/dist/upload/file-upload/close.svg +0 -4
  216. package/dist/upload/file-upload/file-icon.svg +0 -4
  217. package/dist/upload/file-upload/video-icon.svg +0 -4
  218. package/dist/upload/readme.md +0 -37
  219. package/dist/upload/transaction/Transaction.js +0 -155
  220. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  221. package/dist/upload/transaction/audio-icon.svg +0 -4
  222. package/dist/upload/transaction/error-icon.svg +0 -4
  223. package/dist/upload/transaction/file-icon-err.svg +0 -4
  224. package/dist/upload/transaction/file-icon.svg +0 -4
  225. package/dist/upload/transaction/image-icon-err.svg +0 -4
  226. package/dist/upload/transaction/image-icon.svg +0 -4
  227. package/dist/upload/transaction/success-icon.svg +0 -4
  228. package/dist/upload/transaction/video-icon-err.svg +0 -4
  229. package/dist/upload/transaction/video-icon.svg +0 -4
  230. package/dist/wizard/Wizard.js +0 -310
  231. package/dist/wizard/invalid_icon.svg +0 -6
  232. package/dist/wizard/valid_icon.svg +0 -6
  233. package/dist/wizard/validation-wrong.svg +0 -6
  234. package/test/Accordion.test.js +0 -33
  235. package/test/Alert.test.js +0 -53
  236. package/test/Box.test.js +0 -10
  237. package/test/Button.test.js +0 -18
  238. package/test/Card.test.js +0 -30
  239. package/test/Checkbox.test.js +0 -45
  240. package/test/Date.test.js +0 -393
  241. package/test/Dialog.test.js +0 -23
  242. package/test/Dropdown.test.js +0 -130
  243. package/test/Footer.test.js +0 -99
  244. package/test/Header.test.js +0 -39
  245. package/test/Heading.test.js +0 -35
  246. package/test/InputText.test.js +0 -236
  247. package/test/Link.test.js +0 -25
  248. package/test/Paginator.test.js +0 -165
  249. package/test/ProgressBar.test.js +0 -35
  250. package/test/Radio.test.js +0 -37
  251. package/test/ResultsetTable.test.js +0 -282
  252. package/test/Select.test.js +0 -191
  253. package/test/Sidenav.test.js +0 -87
  254. package/test/Slider.test.js +0 -65
  255. package/test/Spinner.test.js +0 -27
  256. package/test/Switch.test.js +0 -45
  257. package/test/Table.test.js +0 -36
  258. package/test/Tabs.test.js +0 -88
  259. package/test/TabsForSections.test.js +0 -34
  260. package/test/Tag.test.js +0 -32
  261. package/test/TextArea.test.js +0 -52
  262. package/test/Toggle.test.js +0 -43
  263. package/test/Upload.test.js +0 -60
  264. package/test/Wizard.test.js +0 -130
  265. package/test/mocks/pngMock.js +0 -1
  266. package/test/mocks/svgMock.js +0 -1
@@ -25,12 +25,12 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
25
25
 
26
26
  var _variables = require("../common/variables.js");
27
27
 
28
- var _Box = _interopRequireDefault(require("../box/Box"));
28
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
29
29
 
30
- var _ThemeContext = _interopRequireDefault(require("../ThemeContext.js"));
30
+ var _Box = _interopRequireDefault(require("../box/Box"));
31
31
 
32
32
  function _templateObject6() {
33
- var data = (0, _taggedTemplateLiteral2["default"])(["\n flex-grow: 1;\n height: 100%;\n overflow: hidden;\n"]);
33
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n flex-grow: 1;\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n overflow: hidden;\n"]);
34
34
 
35
35
  _templateObject6 = function _templateObject6() {
36
36
  return data;
@@ -40,7 +40,7 @@ function _templateObject6() {
40
40
  }
41
41
 
42
42
  function _templateObject5() {
43
- var data = (0, _taggedTemplateLiteral2["default"])(["\n width: 140px;\n height: 100%;\n flex-shrink: 0;\n background: ", ";\n justify-content: center;\n align-items: center;\n display: inline-flex;\n"]);
43
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n width: 35%;\n height: 100%;\n flex-shrink: 0;\n background: ", ";\n justify-content: center;\n align-items: center;\n display: inline-flex;\n"]);
44
44
 
45
45
  _templateObject5 = function _templateObject5() {
46
46
  return data;
@@ -60,7 +60,7 @@ function _templateObject4() {
60
60
  }
61
61
 
62
62
  function _templateObject3() {
63
- var data = (0, _taggedTemplateLiteral2["default"])(["\n text-decoration: none;\n"]);
63
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n cursor: pointer;\n text-decoration: none;\n"]);
64
64
 
65
65
  _templateObject3 = function _templateObject3() {
66
66
  return data;
@@ -70,7 +70,7 @@ function _templateObject3() {
70
70
  }
71
71
 
72
72
  function _templateObject2() {
73
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n background: ", ";\n color: ", ";\n align-items: center;\n flex-direction: ", ";\n height: ", ";\n width: ", ";\n border: ", ";\n &:hover {\n border-color: ", ";\n }\n"]);
73
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n flex-direction: ", ";\n height: ", ";\n width: ", ";\n &:hover {\n border-color: ", ";\n }\n"]);
74
74
 
75
75
  _templateObject2 = function _templateObject2() {
76
76
  return data;
@@ -80,7 +80,7 @@ function _templateObject2() {
80
80
  }
81
81
 
82
82
  function _templateObject() {
83
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n cursor: ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"]);
83
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n cursor: ", ";\n outline: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"]);
84
84
 
85
85
  _templateObject = function _templateObject() {
86
86
  return data;
@@ -93,46 +93,42 @@ var DxcCard = function DxcCard(_ref) {
93
93
  var imageSrc = _ref.imageSrc,
94
94
  children = _ref.children,
95
95
  margin = _ref.margin,
96
+ contentPadding = _ref.contentPadding,
96
97
  linkHref = _ref.linkHref,
97
98
  onClick = _ref.onClick,
98
99
  imageBgColor = _ref.imageBgColor,
99
100
  imagePadding = _ref.imagePadding,
100
101
  imagePosition = _ref.imagePosition,
101
- theme = _ref.theme,
102
102
  outlined = _ref.outlined,
103
- imageCover = _ref.imageCover;
103
+ imageCover = _ref.imageCover,
104
+ _ref$tabIndex = _ref.tabIndex,
105
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
106
+ var colorsTheme = (0, _useTheme["default"])();
104
107
 
105
108
  var _useState = (0, _react.useState)(false),
106
109
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
107
110
  isHovered = _useState2[0],
108
111
  changeIsHovered = _useState2[1];
109
112
 
110
- var colorsTheme = (0, _react.useContext)(_ThemeContext["default"]) || _variables.colors;
111
-
112
- var clickHandler = function clickHandler() {
113
- if (onClick) {
114
- onClick();
115
- }
116
- };
117
-
118
113
  var tagContent = _react["default"].createElement(_Box["default"], {
119
114
  shadowDepth: outlined ? 0 : isHovered && (onClick || linkHref) ? 2 : 1
115
+ }, _react["default"].createElement(_styledComponents.ThemeProvider, {
116
+ theme: colorsTheme.card
120
117
  }, _react["default"].createElement(CardContainer, {
121
- brightness: theme,
122
118
  hasAction: onClick || linkHref,
123
119
  outlined: outlined,
124
120
  imagePosition: imagePosition
125
- }, _react["default"].createElement(ImageContainer, {
121
+ }, imageSrc && _react["default"].createElement(ImageContainer, {
126
122
  imageBgColor: imageBgColor
127
123
  }, _react["default"].createElement(TagImage, {
128
124
  imagePadding: imagePadding,
129
125
  cover: imageCover,
130
126
  src: imageSrc
131
- })), _react["default"].createElement(CardContent, null, children)));
127
+ })), _react["default"].createElement(CardContent, {
128
+ contentPadding: contentPadding
129
+ }, children))));
132
130
 
133
- return _react["default"].createElement(_styledComponents.ThemeProvider, {
134
- theme: colorsTheme
135
- }, _react["default"].createElement(StyledDxcCard, {
131
+ return _react["default"].createElement(StyledDxcCard, {
136
132
  margin: margin,
137
133
  onMouseEnter: function onMouseEnter() {
138
134
  return changeIsHovered(true);
@@ -140,57 +136,48 @@ var DxcCard = function DxcCard(_ref) {
140
136
  onMouseLeave: function onMouseLeave() {
141
137
  return changeIsHovered(false);
142
138
  },
143
- onClick: clickHandler,
144
- hasAction: onClick || linkHref
139
+ onClick: onClick,
140
+ hasAction: onClick,
141
+ tabIndex: typeof onClick === "function" && !linkHref ? tabIndex : -1
145
142
  }, linkHref && _react["default"].createElement(StyledLink, {
143
+ tabIndex: tabIndex,
146
144
  href: linkHref
147
- }, tagContent) || tagContent));
145
+ }, tagContent) || tagContent);
148
146
  };
149
147
 
150
148
  var StyledDxcCard = _styledComponents["default"].div(_templateObject(), function (_ref2) {
151
149
  var hasAction = _ref2.hasAction;
152
150
  return hasAction && "pointer" || "unset";
153
151
  }, function (_ref3) {
154
- var margin = _ref3.margin;
155
- return margin && (0, _typeof2["default"])(margin) !== "object" ? _variables.spaces[margin] : "0px";
152
+ var hasAction = _ref3.hasAction;
153
+ return !hasAction && "none";
156
154
  }, function (_ref4) {
157
155
  var margin = _ref4.margin;
158
- return margin && margin.top ? _variables.spaces[margin.top] : "";
156
+ return margin && (0, _typeof2["default"])(margin) !== "object" ? _variables.spaces[margin] : "0px";
159
157
  }, function (_ref5) {
160
158
  var margin = _ref5.margin;
161
- return margin && margin.right ? _variables.spaces[margin.right] : "";
159
+ return margin && margin.top ? _variables.spaces[margin.top] : "";
162
160
  }, function (_ref6) {
163
161
  var margin = _ref6.margin;
164
- return margin && margin.bottom ? _variables.spaces[margin.bottom] : "";
162
+ return margin && margin.right ? _variables.spaces[margin.right] : "";
165
163
  }, function (_ref7) {
166
164
  var margin = _ref7.margin;
165
+ return margin && margin.bottom ? _variables.spaces[margin.bottom] : "";
166
+ }, function (_ref8) {
167
+ var margin = _ref8.margin;
167
168
  return margin && margin.left ? _variables.spaces[margin.left] : "";
168
169
  });
169
170
 
170
- var borderSizePx = "2";
171
-
172
- var getBorder = function getBorder(props) {
173
- var color = props.brightness === "dark" || props.brightness === "medium" ? props.theme.white : props.theme.black;
174
- return props.outlined ? "".concat(borderSizePx, "px solid ").concat(color) : "none";
175
- };
176
-
177
- var CardContainer = _styledComponents["default"].div(_templateObject2(), function (props) {
178
- return props.brightness === "dark" ? props.theme.black : props.brightness === "medium" ? "#212121" : props.theme.white;
179
- }, function (props) {
180
- return props.brightness === "dark" || props.brightness === "medium" ? props.theme.white : props.theme.black;
181
- }, function (_ref8) {
182
- var imagePosition = _ref8.imagePosition;
171
+ var CardContainer = _styledComponents["default"].div(_templateObject2(), function (_ref9) {
172
+ var imagePosition = _ref9.imagePosition;
183
173
  return imagePosition === "before" && "row" || "row-reverse";
184
- }, function (_ref9) {
185
- var outlined = _ref9.outlined;
186
- return outlined ? "".concat(220 - 2 * borderSizePx, "px") : "220px";
187
- }, function (_ref10) {
188
- var outlined = _ref10.outlined;
189
- return outlined ? "".concat(400 - 2 * borderSizePx, "px") : "400px";
190
174
  }, function (props) {
191
- return getBorder(props);
175
+ return props.theme.height;
192
176
  }, function (props) {
193
- return props.hasAction ? props.theme.yellow : "unset";
177
+ return props.theme.width;
178
+ }, function (_ref10) {
179
+ var hasAction = _ref10.hasAction;
180
+ return hasAction ? "" : "unset";
194
181
  });
195
182
 
196
183
  var StyledLink = _styledComponents["default"].a(_templateObject3());
@@ -211,7 +198,22 @@ var ImageContainer = _styledComponents["default"].div(_templateObject5(), functi
211
198
  return imageBgColor;
212
199
  });
213
200
 
214
- var CardContent = _styledComponents["default"].div(_templateObject6());
201
+ var CardContent = _styledComponents["default"].div(_templateObject6(), function (_ref15) {
202
+ var contentPadding = _ref15.contentPadding;
203
+ return contentPadding && (0, _typeof2["default"])(contentPadding) !== "object" ? _variables.spaces[contentPadding] : "0px";
204
+ }, function (_ref16) {
205
+ var contentPadding = _ref16.contentPadding;
206
+ return contentPadding && (0, _typeof2["default"])(contentPadding) === "object" && contentPadding.top ? _variables.spaces[contentPadding.top] : "";
207
+ }, function (_ref17) {
208
+ var contentPadding = _ref17.contentPadding;
209
+ return contentPadding && (0, _typeof2["default"])(contentPadding) === "object" && contentPadding.right ? _variables.spaces[contentPadding.right] : "";
210
+ }, function (_ref18) {
211
+ var contentPadding = _ref18.contentPadding;
212
+ return contentPadding && (0, _typeof2["default"])(contentPadding) === "object" && contentPadding.bottom ? _variables.spaces[contentPadding.bottom] : "";
213
+ }, function (_ref19) {
214
+ var contentPadding = _ref19.contentPadding;
215
+ return contentPadding && (0, _typeof2["default"])(contentPadding) === "object" && contentPadding.left ? _variables.spaces[contentPadding.left] : "";
216
+ });
215
217
 
216
218
  DxcCard.propTypes = {
217
219
  imageSrc: _propTypes["default"].string,
@@ -222,18 +224,24 @@ DxcCard.propTypes = {
222
224
  onClick: _propTypes["default"].func,
223
225
  outlined: _propTypes["default"].bool,
224
226
  imageCover: _propTypes["default"].bool,
225
- theme: _propTypes["default"].oneOf(["dark", "medium", "light"]),
226
227
  margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
227
228
  top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
228
229
  bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
229
230
  left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
230
231
  right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
231
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
232
+ }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
233
+ contentPadding: _propTypes["default"].oneOfType([_propTypes["default"].shape({
234
+ top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
235
+ bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
236
+ left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
237
+ right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
238
+ }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
239
+ tabIndex: _propTypes["default"].number
232
240
  };
233
241
  DxcCard.defaultProps = {
234
242
  imageSrc: null,
235
243
  margin: null,
236
- theme: "light",
244
+ contentPadding: null,
237
245
  outlined: false,
238
246
  imagePadding: null,
239
247
  imageCover: false,
@@ -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
+ imageSrc?: string;
11
+ margin?: Space | Margin;
12
+ contentPadding?: any;
13
+ linkHref?: string;
14
+ onClick?: void;
15
+ imageBgColor?: string;
16
+ imagePadding?: any;
17
+ imagePosition?: "before" | "after";
18
+ outlined?: boolean;
19
+ imageCover?: boolean;
20
+ };
21
+
22
+ export default function DxcCard(props: Props): JSX.Element;
@@ -0,0 +1,299 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
+
14
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
+
16
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
17
+
18
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
+
20
+ var _react = _interopRequireWildcard(require("react"));
21
+
22
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
+
24
+ var _Checkbox = _interopRequireDefault(require("@material-ui/core/Checkbox"));
25
+
26
+ var _propTypes = _interopRequireDefault(require("prop-types"));
27
+
28
+ var _RequiredComponent = _interopRequireDefault(require("../common/RequiredComponent"));
29
+
30
+ var _variables = require("../common/variables.js");
31
+
32
+ var _utils = require("../common/utils.js");
33
+
34
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
35
+
36
+ var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext.js"));
37
+
38
+ function _templateObject3() {
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
+
41
+ _templateObject3 = function _templateObject3() {
42
+ return data;
43
+ };
44
+
45
+ return data;
46
+ }
47
+
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 .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
+
51
+ _templateObject2 = function _templateObject2() {
52
+ return data;
53
+ };
54
+
55
+ return data;
56
+ }
57
+
58
+ function _templateObject() {
59
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n cursor: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n"]);
60
+
61
+ _templateObject = function _templateObject() {
62
+ return data;
63
+ };
64
+
65
+ return data;
66
+ }
67
+
68
+ var DxcCheckbox = function DxcCheckbox(_ref) {
69
+ var checked = _ref.checked,
70
+ value = _ref.value,
71
+ _ref$label = _ref.label,
72
+ label = _ref$label === void 0 ? "" : _ref$label,
73
+ _ref$labelPosition = _ref.labelPosition,
74
+ labelPosition = _ref$labelPosition === void 0 ? "before" : _ref$labelPosition,
75
+ _ref$name = _ref.name,
76
+ name = _ref$name === void 0 ? "" : _ref$name,
77
+ _ref$disabled = _ref.disabled,
78
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
79
+ onChange = _ref.onChange,
80
+ _ref$required = _ref.required,
81
+ required = _ref$required === void 0 ? false : _ref$required,
82
+ margin = _ref.margin,
83
+ _ref$size = _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;
87
+
88
+ var _useState = (0, _react.useState)(false),
89
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
90
+ innerChecked = _useState2[0],
91
+ setInnerChecked = _useState2[1];
92
+
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"]);
100
+
101
+ var handlerCheckboxChange = function handlerCheckboxChange(checkboxValue) {
102
+ if (checked === undefined) {
103
+ var isChecked = checkboxValue.target.checked === undefined ? !innerChecked : checkboxValue.target.checked;
104
+ setInnerChecked(isChecked);
105
+
106
+ if (typeof onChange === "function") {
107
+ onChange(isChecked);
108
+ }
109
+ } else {
110
+ if (typeof onChange === "function") {
111
+ onChange(!checked);
112
+ }
113
+ }
114
+ };
115
+
116
+ var handleLabelHover = function handleLabelHover() {
117
+ setIsLabelHovered(!isLabelHovered);
118
+ };
119
+
120
+ return _react["default"].createElement(_styledComponents.ThemeProvider, {
121
+ theme: colorsTheme.checkbox
122
+ }, _react["default"].createElement(CheckboxContainer, {
123
+ id: name,
124
+ brightness: _variables.componentTokens,
125
+ label: label,
126
+ labelPosition: labelPosition,
127
+ disabled: disabled,
128
+ margin: margin,
129
+ size: size,
130
+ backgroundType: backgroundType,
131
+ isLabelHovered: isLabelHovered
132
+ }, _react["default"].createElement(_Checkbox["default"], {
133
+ checked: checked != undefined ? checked : innerChecked,
134
+ inputProps: {
135
+ name: name,
136
+ "aria-label": label,
137
+ role: "checkbox",
138
+ "aria-checked": checked != undefined ? checked : innerChecked
139
+ },
140
+ onChange: handlerCheckboxChange,
141
+ value: value,
142
+ disabled: disabled,
143
+ disableRipple: true,
144
+ className: "test",
145
+ tabIndex: tabIndex
146
+ }), _react["default"].createElement(CheckboxBlackBack, {
147
+ labelPosition: labelPosition,
148
+ disabled: disabled,
149
+ checked: checked != undefined ? checked : innerChecked,
150
+ backgroundType: backgroundType
151
+ }), required && _react["default"].createElement(_RequiredComponent["default"], null), label && _react["default"].createElement(LabelContainer, {
152
+ labelPosition: labelPosition,
153
+ onClick: disabled === true ? function (e) {} : handlerCheckboxChange,
154
+ disabled: disabled,
155
+ className: "labelContainer",
156
+ backgroundType: backgroundType,
157
+ onMouseOver: handleLabelHover,
158
+ onMouseOut: handleLabelHover
159
+ }, label)));
160
+ };
161
+
162
+ var sizes = {
163
+ small: "120px",
164
+ medium: "240px",
165
+ large: "480px",
166
+ fillParent: "100%",
167
+ fitContent: "unset"
168
+ };
169
+
170
+ var calculateWidth = function calculateWidth(margin, size) {
171
+ if (size === "fillParent") {
172
+ return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
173
+ }
174
+
175
+ return sizes[size];
176
+ };
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
+
218
+ var LabelContainer = _styledComponents["default"].span(_templateObject(), function (props) {
219
+ return props.disabled ? getDisabledColor(props, "label") : getNotDisabledColor(props, "label");
220
+ }, function (props) {
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;
228
+ });
229
+
230
+ var CheckboxContainer = _styledComponents["default"].span(_templateObject2(), function (props) {
231
+ return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
232
+ }, function (props) {
233
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
234
+ }, function (props) {
235
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
236
+ }, function (props) {
237
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
238
+ }, function (props) {
239
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
240
+ }, function (props) {
241
+ return calculateWidth(props.margin, props.size);
242
+ }, function (props) {
243
+ return props.disabled ? "not-allowed" : "pointer";
244
+ }, function (props) {
245
+ return props.labelPosition === "before" ? "row-reverse" : "row";
246
+ }, function (props) {
247
+ return props.isLabelHovered ? props.backgroundType === "dark" ? props.theme.hoverBorderColorOnDark : props.theme.hoverBorderColor : getNotDisabledColor(props, "border");
248
+ }, function (props) {
249
+ return getDisabledColor(props, "border");
250
+ }, function (props) {
251
+ return props.disabled ? getDisabledColor(props, "background") : getNotDisabledColor(props, "background");
252
+ }, function (props) {
253
+ return props.backgroundType === "dark" ? props.theme.hoverBackgroundColorCheckedOnDark : props.theme.hoverBackgroundColorChecked;
254
+ }, function (props) {
255
+ return props.backgroundType === "dark" ? props.theme.hoverBorderColorOnDark : props.theme.hoverBorderColor;
256
+ }, function (props) {
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";
264
+ }, function (props) {
265
+ return props.labelPosition === "before" ? "1px" : "unset";
266
+ });
267
+
268
+ var CheckboxBlackBack = _styledComponents["default"].span(_templateObject3(), function (props) {
269
+ return !props.checked ? "transparent" : props.disabled ? getDisabledColor(props, "check") : getNotDisabledColor(props, "check");
270
+ }, function (props) {
271
+ return props.labelPosition === "before" ? "unset" : "5px";
272
+ }, function (props) {
273
+ return props.labelPosition === "before" ? "5px" : "unset";
274
+ }, function (props) {
275
+ return props.labelPosition === "after" ? "0px" : "";
276
+ }, function (props) {
277
+ return props.labelPosition === "before" ? "0px" : "";
278
+ });
279
+
280
+ DxcCheckbox.propTypes = {
281
+ checked: _propTypes["default"].bool,
282
+ value: _propTypes["default"].any,
283
+ label: _propTypes["default"].string,
284
+ labelPosition: _propTypes["default"].oneOf(["after", "before", ""]),
285
+ name: _propTypes["default"].string,
286
+ disabled: _propTypes["default"].bool,
287
+ onChange: _propTypes["default"].func,
288
+ required: _propTypes["default"].bool,
289
+ size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
290
+ margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
291
+ top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
292
+ bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
293
+ left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
294
+ right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
295
+ }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
296
+ tabIndex: _propTypes["default"].number
297
+ };
298
+ var _default = DxcCheckbox;
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;