@dxc-technology/halstack-react 0.0.0-a9032ad → 0.0.0-a9c6846

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 (123) hide show
  1. package/babel.config.js +6 -2
  2. package/dist/BackgroundColorContext.js +46 -0
  3. package/dist/ThemeContext.js +235 -2
  4. package/dist/accordion/Accordion.js +170 -65
  5. package/dist/accordion-group/AccordionGroup.js +186 -0
  6. package/dist/alert/Alert.js +180 -81
  7. package/dist/alert/index.d.ts +51 -0
  8. package/dist/badge/Badge.js +63 -0
  9. package/dist/box/Box.js +31 -23
  10. package/dist/button/Button.js +83 -26
  11. package/dist/card/Card.js +72 -35
  12. package/dist/checkbox/Checkbox.js +98 -38
  13. package/dist/chip/Chip.js +128 -36
  14. package/dist/common/RequiredComponent.js +2 -8
  15. package/dist/common/utils.js +2 -22
  16. package/dist/common/variables.js +1311 -308
  17. package/dist/date/Date.js +75 -52
  18. package/dist/dialog/Dialog.js +58 -37
  19. package/dist/dropdown/Dropdown.js +199 -71
  20. package/dist/file-input/FileInput.js +641 -0
  21. package/dist/file-input/FileItem.js +280 -0
  22. package/dist/file-input/index.d.ts +81 -0
  23. package/dist/footer/Footer.js +85 -36
  24. package/dist/footer/dxc_logo.svg +15 -0
  25. package/dist/header/Header.js +111 -68
  26. package/dist/header/dxc_logo_black.svg +8 -0
  27. package/dist/heading/Heading.js +81 -16
  28. package/dist/input-text/InputText.js +288 -100
  29. package/dist/layout/ApplicationLayout.js +105 -50
  30. package/dist/link/Link.js +136 -35
  31. package/dist/main.d.ts +7 -0
  32. package/dist/main.js +81 -1
  33. package/dist/new-date/NewDate.js +400 -0
  34. package/dist/new-date/index.d.ts +95 -0
  35. package/dist/new-input-text/NewInputText.js +982 -0
  36. package/dist/new-input-text/index.d.ts +135 -0
  37. package/dist/new-textarea/NewTextarea.js +362 -0
  38. package/dist/new-textarea/index.d.ts +117 -0
  39. package/dist/number/Number.js +138 -0
  40. package/dist/number/NumberContext.js +16 -0
  41. package/dist/number/index.d.ts +113 -0
  42. package/dist/paginator/Paginator.js +149 -56
  43. package/dist/password/Password.js +200 -0
  44. package/dist/password/index.d.ts +94 -0
  45. package/dist/password/styles.css +3 -0
  46. package/dist/progress-bar/ProgressBar.js +95 -38
  47. package/dist/radio/Radio.js +31 -17
  48. package/dist/resultsetTable/ResultsetTable.js +93 -68
  49. package/dist/select/Select.js +244 -146
  50. package/dist/sidenav/Sidenav.js +86 -129
  51. package/dist/slider/Slider.js +125 -64
  52. package/dist/spinner/Spinner.js +247 -59
  53. package/dist/switch/Switch.js +50 -27
  54. package/dist/table/Table.js +52 -13
  55. package/dist/tabs/Tabs.js +206 -35
  56. package/dist/tabs-for-sections/TabsForSections.js +1 -16
  57. package/dist/tag/Tag.js +100 -35
  58. package/dist/textarea/Textarea.js +77 -40
  59. package/dist/toggle/Toggle.js +16 -19
  60. package/dist/toggle-group/ToggleGroup.js +64 -55
  61. package/dist/upload/Upload.js +13 -8
  62. package/dist/upload/buttons-upload/ButtonsUpload.js +31 -14
  63. package/dist/upload/dragAndDropArea/DragAndDropArea.js +78 -28
  64. package/dist/upload/file-upload/FileToUpload.js +50 -24
  65. package/dist/upload/files-upload/FilesToUpload.js +16 -16
  66. package/dist/upload/transaction/Transaction.js +44 -24
  67. package/dist/upload/transactions/Transactions.js +38 -20
  68. package/dist/useTheme.js +22 -0
  69. package/dist/wizard/Wizard.js +139 -55
  70. package/dist/wizard/invalid_icon.svg +4 -5
  71. package/dist/wizard/valid_icon.svg +4 -5
  72. package/package.json +13 -5
  73. package/test/AccordionGroup.test.js +125 -0
  74. package/test/Date.test.js +13 -13
  75. package/test/Dropdown.test.js +15 -0
  76. package/test/FileInput.test.js +201 -0
  77. package/test/InputText.test.js +30 -26
  78. package/test/Link.test.js +25 -7
  79. package/test/NewDate.test.js +232 -0
  80. package/test/NewInputText.test.js +734 -0
  81. package/test/NewTextarea.test.js +195 -0
  82. package/test/Number.test.js +257 -0
  83. package/test/Paginator.test.js +72 -60
  84. package/test/Password.test.js +83 -0
  85. package/test/ResultsetTable.test.js +66 -19
  86. package/test/Select.test.js +55 -34
  87. package/test/Sidenav.test.js +22 -64
  88. package/test/Slider.test.js +17 -0
  89. package/test/Spinner.test.js +5 -0
  90. package/test/Tabs.test.js +21 -0
  91. package/dist/accordion/Accordion.stories.js +0 -207
  92. package/dist/accordion/readme.md +0 -96
  93. package/dist/alert/Alert.stories.js +0 -158
  94. package/dist/alert/close.svg +0 -4
  95. package/dist/alert/error.svg +0 -4
  96. package/dist/alert/info.svg +0 -4
  97. package/dist/alert/readme.md +0 -43
  98. package/dist/alert/success.svg +0 -4
  99. package/dist/alert/warning.svg +0 -4
  100. package/dist/button/Button.stories.js +0 -224
  101. package/dist/button/readme.md +0 -93
  102. package/dist/common/services/example-service.js +0 -10
  103. package/dist/common/services/example-service.test.js +0 -12
  104. package/dist/date/calendar.svg +0 -1
  105. package/dist/date/calendar_dark.svg +0 -1
  106. package/dist/dialog/Dialog.stories.js +0 -217
  107. package/dist/dialog/readme.md +0 -32
  108. package/dist/dropdown/Dropdown.stories.js +0 -249
  109. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  110. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  111. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  112. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  113. package/dist/dropdown/readme.md +0 -69
  114. package/dist/footer/dxc_logo_wht.png +0 -0
  115. package/dist/header/dxc_logo_black.png +0 -0
  116. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  117. package/dist/header/dxc_logo_white.png +0 -0
  118. package/dist/layout/SideNav.js +0 -67
  119. package/dist/select/Select.stories.js +0 -235
  120. package/dist/select/readme.md +0 -72
  121. package/dist/sidenav/arrow_icon.svg +0 -3
  122. package/dist/toggle-group/readme.md +0 -82
  123. package/test/Toggle.test.js +0 -43
@@ -13,16 +13,16 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
13
13
 
14
14
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
15
 
16
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
+
16
18
  var _react = _interopRequireWildcard(require("react"));
17
19
 
18
- var _halstackReact = require("@dxc-technology/halstack-react");
20
+ var _main = require("../main");
19
21
 
20
22
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
23
 
22
24
  var _propTypes = _interopRequireDefault(require("prop-types"));
23
25
 
24
- var _SideNav = _interopRequireDefault(require("./SideNav"));
25
-
26
26
  var _variables = require("../common/variables.js");
27
27
 
28
28
  var _linkedin = _interopRequireDefault(require("./linkedin.svg"));
@@ -31,12 +31,30 @@ var _twitter = _interopRequireDefault(require("./twitter.svg"));
31
31
 
32
32
  var _facebook = _interopRequireDefault(require("./facebook.svg"));
33
33
 
34
- var _utils = require("../common/utils.js");
34
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
35
+
36
+ function _templateObject10() {
37
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n position: sticky;\n top: 45vh;\n width: 42px;\n min-height: 42px;\n background-color: ", ";\n border-radius: 50%;\n transform: ", ";\n transition: transform 0.4s ease-in-out;\n z-index: 1250;\n cursor: pointer;\n & > svg {\n fill: ", ";\n }\n"]);
38
+
39
+ _templateObject10 = function _templateObject10() {
40
+ return data;
41
+ };
42
+
43
+ return data;
44
+ }
35
45
 
36
- var _ThemeContext = _interopRequireDefault(require("../ThemeContext.js"));
46
+ function _templateObject9() {
47
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n height: calc(100vh - 64px);\n left: 279px;\n"]);
48
+
49
+ _templateObject9 = function _templateObject9() {
50
+ return data;
51
+ };
52
+
53
+ return data;
54
+ }
37
55
 
38
56
  function _templateObject8() {
39
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n left: 279px;\n top: 50vh;\n width: 42px;\n min-height: 42px;\n background-color: ", ";\n border-radius: 50%;\n transform: ", ";\n transition: transform 0.4s ease-in-out;\n z-index: 10;\n cursor: pointer;\n & > svg {\n fill: ", ";\n }\n"]);
57
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n z-index: 1200;\n transform: ", ";\n transition: transform 0.4s ease-in-out;\n height: calc(100vh - 64px);\n position: sticky;\n top: 64px;\n"]);
40
58
 
41
59
  _templateObject8 = function _templateObject8() {
42
60
  return data;
@@ -46,7 +64,7 @@ function _templateObject8() {
46
64
  }
47
65
 
48
66
  function _templateObject7() {
49
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n z-index: 1;\n transform: ", ";\n transition: transform 0.4s ease-in-out;\n"]);
67
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n flex-grow: 1;\n position: relative;\n min-height: calc(100vh - 184px);\n margin-left: ", ";\n transition: margin 0.4s ease-in-out;\n"]);
50
68
 
51
69
  _templateObject7 = function _templateObject7() {
52
70
  return data;
@@ -56,7 +74,7 @@ function _templateObject7() {
56
74
  }
57
75
 
58
76
  function _templateObject6() {
59
- var data = (0, _taggedTemplateLiteral2["default"])(["\n flex-grow: 1;\n overflow: hidden;\n padding: 20px 50px;\n position: relative;\n min-height: 500px;\n margin-top: 64px;\n margin-bottom: 80px;\n margin-right: ", ";\n margin-left: ", ";\n transition: margin 0.4s ease-in-out;\n"]);
77
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: ", ";\n transition: margin 0.4s ease-in-out;\n"]);
60
78
 
61
79
  _templateObject6 = function _templateObject6() {
62
80
  return data;
@@ -66,7 +84,7 @@ function _templateObject6() {
66
84
  }
67
85
 
68
86
  function _templateObject5() {
69
- var data = (0, _taggedTemplateLiteral2["default"])([""]);
87
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n min-width: 0;\n display: flex;\n flex-direction: column;\n"]);
70
88
 
71
89
  _templateObject5 = function _templateObject5() {
72
90
  return data;
@@ -76,7 +94,7 @@ function _templateObject5() {
76
94
  }
77
95
 
78
96
  function _templateObject4() {
79
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex: 1 1 auto;\n"]);
97
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex: 1 1 auto;\n align-items: flex-start;\n"]);
80
98
 
81
99
  _templateObject4 = function _templateObject4() {
82
100
  return data;
@@ -86,7 +104,7 @@ function _templateObject4() {
86
104
  }
87
105
 
88
106
  function _templateObject3() {
89
- var data = (0, _taggedTemplateLiteral2["default"])(["\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: auto;\n"]);
107
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n flex: 1;\n display: flex;\n flex-direction: column;\n"]);
90
108
 
91
109
  _templateObject3 = function _templateObject3() {
92
110
  return data;
@@ -96,7 +114,7 @@ function _templateObject3() {
96
114
  }
97
115
 
98
116
  function _templateObject2() {
99
- var data = (0, _taggedTemplateLiteral2["default"])(["\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n"]);
117
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n z-index: 1250;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n"]);
100
118
 
101
119
  _templateObject2 = function _templateObject2() {
102
120
  return data;
@@ -119,28 +137,29 @@ var year = new Date().getFullYear();
119
137
 
120
138
  var Header = function Header(_ref) {
121
139
  var children = _ref.children;
122
- return _react["default"].createElement("div", null, children);
140
+ return _react["default"].createElement(_react["default"].Fragment, null, children);
123
141
  };
124
142
 
125
143
  var Main = function Main(_ref2) {
126
144
  var children = _ref2.children;
127
- return _react["default"].createElement("div", null, children);
145
+ return _react["default"].createElement(_react["default"].Fragment, null, children);
128
146
  };
129
147
 
130
148
  var Footer = function Footer(_ref3) {
131
149
  var children = _ref3.children;
132
- return _react["default"].createElement("div", null, children);
150
+ return _react["default"].createElement(_react["default"].Fragment, null, children);
133
151
  };
134
152
 
135
- var SideNav = function SideNav(_ref4) {
136
- var padding = _ref4.padding,
137
- children = _ref4.children;
138
- return _react["default"].createElement(_SideNav["default"], {
139
- padding: padding
140
- }, children);
153
+ var SideNav = function SideNav(props) {
154
+ var displayArrow = props.displayArrow,
155
+ mode = props.mode,
156
+ childProps = (0, _objectWithoutProperties2["default"])(props, ["displayArrow", "mode"]);
157
+ return _react["default"].createElement(_main.DxcSidenav, childProps, childProps.children);
141
158
  };
142
159
 
143
160
  SideNav.propTypes = {
161
+ mode: _propTypes["default"].oneOf(["overlay", "push", ""]),
162
+ displayArrow: _propTypes["default"].bool,
144
163
  padding: _propTypes["default"].oneOfType([_propTypes["default"].shape({
145
164
  top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
146
165
  bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
@@ -150,7 +169,7 @@ SideNav.propTypes = {
150
169
  };
151
170
 
152
171
  var defaultFooter = function defaultFooter() {
153
- return _react["default"].createElement(_halstackReact.DxcFooter, {
172
+ return _react["default"].createElement(_main.DxcFooter, {
154
173
  copyright: "\xA9 DXC Technology ".concat(year, "\u200B\u200B\u200B\u200B. All rights reserved."),
155
174
  bottomLinks: [{
156
175
  href: "https://www.linkedin.com/company/dxctechnology",
@@ -176,35 +195,38 @@ var defaultFooter = function defaultFooter() {
176
195
  };
177
196
 
178
197
  var defaultHeader = function defaultHeader() {
179
- return _react["default"].createElement(_halstackReact.DxcHeader, {
198
+ return _react["default"].createElement(_main.DxcHeader, {
180
199
  underlined: true
181
200
  });
182
201
  };
183
202
 
184
- var childExists = function childExists(children, childrenName) {
203
+ var childTypeExists = function childTypeExists(children, childType) {
185
204
  return children.find(function (child) {
186
- return child && child.type && child.type.name === childrenName;
205
+ return child && child.type && child.type === childType;
187
206
  });
188
207
  };
189
208
 
190
- var DxcApplicationLayout = function DxcApplicationLayout(_ref5) {
191
- var children = _ref5.children;
192
- var customTheme = (0, _react.useContext)(_ThemeContext["default"]);
193
- var colorsTheme = (0, _react.useMemo)(function () {
194
- return (0, _utils.getCustomTheme)(_variables.theme, (0, _utils.getCustomTheme)(_variables.defaultTheme, customTheme));
195
- }, [customTheme]);
209
+ var DxcApplicationLayout = function DxcApplicationLayout(_ref4) {
210
+ var children = _ref4.children;
211
+ var ref = (0, _react.useRef)(null);
212
+ var colorsTheme = (0, _useTheme["default"])();
196
213
 
197
214
  var _useState = (0, _react.useState)(true),
198
215
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
199
216
  isSideNavVisible = _useState2[0],
200
217
  setIsSideNavVisible = _useState2[1];
201
218
 
219
+ var _useState3 = (0, _react.useState)(),
220
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
221
+ isResponsive = _useState4[0],
222
+ setIsResponsive = _useState4[1];
223
+
202
224
  var childrenArray = _react["default"].Children.toArray(children);
203
225
 
204
- var header = childExists(childrenArray, "DxcHeader");
205
- var sideNav = childExists(childrenArray, "SideNav");
206
- var main = childExists(childrenArray, "Main");
207
- var footer = childExists(childrenArray, "DxcFooter");
226
+ var header = childTypeExists(childrenArray, _main.DxcHeader) || childTypeExists(childrenArray, Header) || defaultHeader();
227
+ var footer = childTypeExists(childrenArray, _main.DxcFooter) || childTypeExists(childrenArray, Footer) || defaultFooter();
228
+ var sideNav = childTypeExists(childrenArray, SideNav);
229
+ var main = childTypeExists(childrenArray, Main);
208
230
  var displayArrow = sideNav && sideNav.props && sideNav.props.displayArrow;
209
231
  var sideNavMode = sideNav && sideNav.props && sideNav.props.mode;
210
232
 
@@ -221,22 +243,51 @@ var DxcApplicationLayout = function DxcApplicationLayout(_ref5) {
221
243
  }));
222
244
  };
223
245
 
246
+ var handleResize = function handleResize(width) {
247
+ if (width) {
248
+ if (width <= _variables.responsiveSizes.tablet ? setIsResponsive(true) : setIsResponsive(false)) ;
249
+ setIsSideNavVisible(true);
250
+ }
251
+ };
252
+
253
+ var handleEventListener = function handleEventListener() {
254
+ handleResize(ref.current.offsetWidth);
255
+ };
256
+
257
+ (0, _react.useEffect)(function () {
258
+ if (ref.current) {
259
+ window.addEventListener("resize", handleEventListener);
260
+ handleResize(ref.current.offsetWidth);
261
+ }
262
+
263
+ return function () {
264
+ window.removeEventListener("resize", handleEventListener);
265
+ };
266
+ }, []);
267
+
224
268
  var handleSidenav = function handleSidenav() {
225
269
  setIsSideNavVisible(!isSideNavVisible);
226
270
  };
227
271
 
228
272
  return _react["default"].createElement(_styledComponents.ThemeProvider, {
229
- theme: colorsTheme.applicationLayout
230
- }, _react["default"].createElement(ApplicationLayoutContainer, null, _react["default"].createElement(HeaderContainer, null, header || defaultHeader()), _react["default"].createElement(BodyContainer, null, _react["default"].createElement(MainBodyContainer, null, _react["default"].createElement(SideNavArrowContainer, {
273
+ theme: colorsTheme.sidenav
274
+ }, _react["default"].createElement(ApplicationLayoutContainer, {
275
+ ref: ref
276
+ }, _react["default"].createElement(HeaderContainer, null, header), _react["default"].createElement(BodyContainer, null, _react["default"].createElement(ContentContainer, null, _react["default"].createElement(SideNavArrowContainer, {
231
277
  isSideNavVisible: isSideNavVisible
232
- }, sideNav, displayArrow && _react["default"].createElement(ArrowTrigger, {
278
+ }, sideNav, _react["default"].createElement(ArrowContainer, null, sideNav && (displayArrow || isResponsive) && _react["default"].createElement(ArrowTrigger, {
279
+ tabIndex: 0,
233
280
  onClick: handleSidenav,
234
281
  isSideNavVisible: isSideNavVisible
235
- }, _react["default"].createElement(ArrowIcon, null))), _react["default"].createElement(MainContent, {
282
+ }, _react["default"].createElement(ArrowIcon, null)))), _react["default"].createElement(MainBodyContainer, null, _react["default"].createElement(MainContent, {
283
+ sideNav: sideNav,
284
+ mode: isResponsive ? "overlay" : sideNavMode,
285
+ isSideNavVisible: isSideNavVisible
286
+ }, main), _react["default"].createElement(FooterContainer, {
236
287
  sideNav: sideNav,
237
- mode: sideNavMode,
288
+ mode: isResponsive ? "overlay" : sideNavMode,
238
289
  isSideNavVisible: isSideNavVisible
239
- }, main)), _react["default"].createElement(FooterContainer, null, footer || defaultFooter()))));
290
+ }, footer))))));
240
291
  };
241
292
 
242
293
  DxcApplicationLayout.Header = Header;
@@ -250,22 +301,26 @@ var HeaderContainer = _styledComponents["default"].div(_templateObject2());
250
301
 
251
302
  var BodyContainer = _styledComponents["default"].div(_templateObject3());
252
303
 
253
- var MainBodyContainer = _styledComponents["default"].div(_templateObject4());
304
+ var ContentContainer = _styledComponents["default"].div(_templateObject4());
254
305
 
255
- var FooterContainer = _styledComponents["default"].div(_templateObject5());
306
+ var MainBodyContainer = _styledComponents["default"].div(_templateObject5());
256
307
 
257
- var MainContent = _styledComponents["default"].div(_templateObject6(), function (props) {
258
- return props.mode === "push" && props.isSideNavVisible ? "8.6%" : "15.6%";
259
- }, function (props) {
260
- return props.sideNav ? props.mode === "push" && props.isSideNavVisible ? "calc(21% - 297px)}" : "calc(15.6% - 297px)" : "15.6%";
308
+ var FooterContainer = _styledComponents["default"].div(_templateObject6(), function (props) {
309
+ return props.sideNav ? props.mode === "push" && !props.isSideNavVisible || props.mode === "overlay" ? "-300px" : "" : "";
261
310
  });
262
311
 
263
- var SideNavArrowContainer = _styledComponents["default"].div(_templateObject7(), function (props) {
312
+ var MainContent = _styledComponents["default"].div(_templateObject7(), function (props) {
313
+ return props.sideNav ? props.mode === "push" && props.isSideNavVisible ? "" : "-297px" : "";
314
+ });
315
+
316
+ var SideNavArrowContainer = _styledComponents["default"].div(_templateObject8(), function (props) {
264
317
  return props.isSideNavVisible ? "translateX(0)" : !props.isSideNavVisible ? "translateX(-100%)" : "";
265
318
  });
266
319
 
267
- var ArrowTrigger = _styledComponents["default"].div(_templateObject8(), function (props) {
268
- return "".concat(props.theme.arrowContainerColor).concat(props.theme.arrowContainerOpacity);
320
+ var ArrowContainer = _styledComponents["default"].div(_templateObject9());
321
+
322
+ var ArrowTrigger = _styledComponents["default"].div(_templateObject10(), function (props) {
323
+ return "".concat(props.theme.arrowContainerColor);
269
324
  }, function (props) {
270
325
  return props.isSideNavVisible ? "rotate(-180deg)" : "rotate(0deg)";
271
326
  }, function (props) {
package/dist/link/Link.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,12 +23,50 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
23
23
 
24
24
  var _variables = require("../common/variables.js");
25
25
 
26
- var _utils = require("../common/utils.js");
26
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
27
+
28
+ function _templateObject6() {
29
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n ", ";\n overflow: hidden;\n \n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"]);
27
30
 
28
- var _ThemeContext = _interopRequireDefault(require("../ThemeContext.js"));
31
+ _templateObject6 = function _templateObject6() {
32
+ return data;
33
+ };
34
+
35
+ return data;
36
+ }
37
+
38
+ function _templateObject5() {
39
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n ", ";\n"]);
40
+
41
+ _templateObject5 = function _templateObject5() {
42
+ return data;
43
+ };
44
+
45
+ return data;
46
+ }
47
+
48
+ function _templateObject4() {
49
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n font-size: ", ";\n font-weight: ", ";\n font-style: ", ";\n font-family: ", ";\n display: inline-flex;\n flex-direction: ", ";\n justify-content: ", ";\n align-items: center;\n max-width: 100%;\n"]);
50
+
51
+ _templateObject4 = function _templateObject4() {
52
+ return data;
53
+ };
54
+
55
+ return data;
56
+ }
57
+
58
+ function _templateObject3() {
59
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n background: none;\n border: none;\n padding: 0;\n cursor: pointer;\n font-family: inherit;\n text-decoration-color: transparent;\n\n ", "\n ", "\n color: ", ";\n ", "\n\n &:hover {\n ", "\n }\n &:focus {\n outline-color: ", ";\n outline-width: 2px;\n outline-offset: 1px;\n ", "\n }\n &:active {\n ", "\n }\n"]);
60
+
61
+ _templateObject3 = function _templateObject3() {
62
+ return data;
63
+ };
64
+
65
+ return data;
66
+ }
29
67
 
30
68
  function _templateObject2() {
31
- var data = (0, _taggedTemplateLiteral2["default"])(["\n width: 16px;\n height: 16px;\n ", ": 6px;\n"]);
69
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n ", "\n\n text-decoration-color: transparent;\n ", "\n\n &:visited {\n color: ", ";\n &:hover {\n ", "\n }\n }\n &:hover {\n ", "\n }\n &:focus {\n outline-color: ", ";\n outline-width: 2px;\n ", "\n }\n &:active {\n ", "\n }\n"]);
32
70
 
33
71
  _templateObject2 = function _templateObject2() {
34
72
  return data;
@@ -38,7 +76,7 @@ function _templateObject2() {
38
76
  }
39
77
 
40
78
  function _templateObject() {
41
- var data = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n ", ";\n\n color: ", ";\n ", "\n ", "\n \n display: inline-flex;\n flex-direction: ", ";\n justify-content: ", ";\n align-items: center;\n\n max-width: 100%;\n font-size: 16px;\n padding-bottom: 2px;\n\n &:hover {\n color: ", " !important;\n text-decoration: none;\n padding-bottom: 1px !important;\n border-bottom: 1px solid;\n\n cursor: pointer;\n }\n\n &:visited {\n ", "\n }\n"]);
79
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"]);
42
80
 
43
81
  _templateObject = function _templateObject() {
44
82
  return data;
@@ -48,43 +86,56 @@ function _templateObject() {
48
86
  }
49
87
 
50
88
  var DxcLink = function DxcLink(_ref) {
51
- var _ref$underlined = _ref.underlined,
52
- underlined = _ref$underlined === void 0 ? true : _ref$underlined,
53
- _ref$inheritColor = _ref.inheritColor,
89
+ var _ref$inheritColor = _ref.inheritColor,
54
90
  inheritColor = _ref$inheritColor === void 0 ? false : _ref$inheritColor,
55
91
  _ref$disabled = _ref.disabled,
56
92
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
57
93
  iconSrc = _ref.iconSrc,
94
+ icon = _ref.icon,
58
95
  _ref$iconPosition = _ref.iconPosition,
59
96
  iconPosition = _ref$iconPosition === void 0 ? "before" : _ref$iconPosition,
60
97
  _ref$href = _ref.href,
61
98
  href = _ref$href === void 0 ? "" : _ref$href,
62
99
  _ref$newWindow = _ref.newWindow,
63
100
  newWindow = _ref$newWindow === void 0 ? false : _ref$newWindow,
101
+ onClick = _ref.onClick,
64
102
  _ref$text = _ref.text,
65
103
  text = _ref$text === void 0 ? "" : _ref$text,
66
- margin = _ref.margin;
67
- var customTheme = (0, _react.useContext)(_ThemeContext["default"]);
68
- var colorsTheme = (0, _react.useMemo)(function () {
69
- return (0, _utils.getCustomTheme)(_variables.theme, (0, _utils.getCustomTheme)(_variables.defaultTheme, customTheme));
70
- }, [customTheme]);
104
+ margin = _ref.margin,
105
+ _ref$tabIndex = _ref.tabIndex,
106
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
107
+ var colorsTheme = (0, _useTheme["default"])();
108
+
109
+ var linkContent = _react["default"].createElement(LinkText, {
110
+ iconPosition: iconPosition
111
+ }, text, icon ? _react["default"].createElement(LinkIconContainer, {
112
+ iconPosition: iconPosition
113
+ }, (0, _typeof2["default"])(icon) === "object" ? icon : _react["default"].createElement(icon)) : iconSrc && _react["default"].createElement(LinkIcon, {
114
+ src: iconSrc,
115
+ iconPosition: iconPosition
116
+ }));
117
+
71
118
  return _react["default"].createElement(_styledComponents.ThemeProvider, {
72
119
  theme: colorsTheme.link
73
- }, _react["default"].createElement(LinkText, {
74
- underlined: underlined,
75
- inheritColor: inheritColor,
120
+ }, _react["default"].createElement(DxcLinkContainer, {
121
+ margin: margin
122
+ }, onClick ? _react["default"].createElement(StyledButton, {
123
+ type: "button",
124
+ onClick: !disabled && onClick,
125
+ margin: margin,
76
126
  disabled: disabled,
77
- href: href,
127
+ inheritColor: inheritColor
128
+ }, linkContent) : _react["default"].createElement(StyledLink, {
129
+ tabIndex: tabIndex,
130
+ href: !disabled && href,
131
+ target: newWindow ? "_blank" : "_self",
78
132
  margin: margin,
79
- iconPosition: iconPosition,
80
- target: newWindow ? "_blank" : "_self"
81
- }, text, iconSrc ? _react["default"].createElement(LinkIcon, {
82
- src: iconSrc,
83
- iconPosition: iconPosition
84
- }) : ""));
133
+ disabled: disabled,
134
+ inheritColor: inheritColor
135
+ }, linkContent)));
85
136
  };
86
137
 
87
- var LinkText = _styledComponents["default"].a(_templateObject(), function (props) {
138
+ var DxcLinkContainer = _styledComponents["default"].div(_templateObject(), function (props) {
88
139
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
89
140
  }, function (props) {
90
141
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
@@ -94,35 +145,84 @@ var LinkText = _styledComponents["default"].a(_templateObject(), function (props
94
145
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
95
146
  }, function (props) {
96
147
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
148
+ });
149
+
150
+ var StyledLink = _styledComponents["default"].a(_templateObject2(), function (props) {
151
+ return props.inheritColor ? "inherit" : !props.disabled ? props.theme.fontColor : props.theme.disabledColor;
152
+ }, function (props) {
153
+ return props.disabled ? "pointer-events: none;" : "";
154
+ }, function (props) {
155
+ return "padding-bottom: ".concat(props.theme.underlineSpacing, ";\n border-bottom: ").concat(props.theme.underlineThickness, " ").concat(props.theme.underlineStyle, " transparent;");
97
156
  }, function (props) {
98
- return props.underlined ? !props.disabled ? "text-decoration: none;\n padding-bottom: 1px !important;\n border-bottom: 1px solid ".concat(props.theme.underlinedBackgroundColor) : "text-decoration: none;\n padding-bottom: 1px !important;\n border-bottom: 1px solid ".concat(props.theme.disabledUnderlinedBackgroundColor) : "text-decoration: none";
157
+ return !props.inheritColor ? props.theme.visitedFontColor : "";
99
158
  }, function (props) {
100
- return !props.disabled ? props.theme.fontColor : props.theme.disabledColor;
159
+ return "color: ".concat(props.theme.visitedFontColor, ";\n border-bottom-color: ").concat(props.theme.visitedUnderlineColor, ";");
101
160
  }, function (props) {
102
- return !props.underlined ? "text-decoration-color: transparent;" : "";
161
+ return "color: ".concat(props.theme.hoverFontColor, ";\n border-bottom-color: ").concat(props.theme.hoverUnderlineColor, ";\n cursor: pointer;");
162
+ }, function (props) {
163
+ return props.theme.focusColor;
164
+ }, function (props) {
165
+ return props.disabled && "outline: none";
166
+ }, function (props) {
167
+ return "color: ".concat(props.theme.activeFontColor, " !important;\n border-bottom-color: ").concat(props.theme.activeUnderlineColor, " !important;");
168
+ });
169
+
170
+ var StyledButton = _styledComponents["default"].button(_templateObject3(), function (props) {
171
+ return "padding-bottom: ".concat(props.theme.underlineSpacing, ";\n border-bottom: ").concat(props.theme.underlineThickness, " ").concat(props.theme.underlineStyle, " transparent;");
172
+ }, function (props) {
173
+ return props.disabled && "cursor: default;";
174
+ }, function (props) {
175
+ return props.inheritColor ? "inherit" : !props.disabled ? props.theme.fontColor : props.theme.disabledColor;
103
176
  }, function (props) {
104
177
  return props.disabled ? "pointer-events: none;" : "";
178
+ }, function (props) {
179
+ return "color: ".concat(props.theme.hoverFontColor, ";\n border-bottom-color: ").concat(props.theme.hoverUnderlineColor, ";\n cursor: pointer;");
180
+ }, function (props) {
181
+ return props.theme.focusColor;
182
+ }, function (props) {
183
+ return props.disabled && "outline: none";
184
+ }, function (props) {
185
+ return "color: ".concat(props.theme.activeFontColor, " !important;\n border-bottom-color: ").concat(props.theme.activeUnderlineColor, " !important;");
186
+ });
187
+
188
+ var LinkText = _styledComponents["default"].div(_templateObject4(), function (props) {
189
+ return props.theme.fontSize;
190
+ }, function (props) {
191
+ return props.theme.fontWeight;
192
+ }, function (props) {
193
+ return props.theme.fontStyle;
194
+ }, function (props) {
195
+ return props.theme.fontFamily;
105
196
  }, function (props) {
106
197
  return props.iconPosition === "after" ? "row" : "row-reverse";
107
198
  }, function (props) {
108
199
  return props.iconPosition === "after" ? "flex-start" : "flex-end";
200
+ });
201
+
202
+ var LinkIcon = _styledComponents["default"].img(_templateObject5(), function (props) {
203
+ return props.theme.iconSize;
109
204
  }, function (props) {
110
- return props.theme.hoverFontColor;
205
+ return props.theme.iconSize;
111
206
  }, function (props) {
112
- return props.underlined ? !props.disabled ? "color: ".concat(props.theme.visitedFontColor, " !important; border-bottom: 1px solid ").concat(props.theme.visitedUnderlinedBackgroundColor) : "" : "";
207
+ return "".concat(props.iconPosition === "before" ? "margin-right" : "margin-left", ": ").concat(props.theme.iconSpacing);
113
208
  });
114
209
 
115
- var LinkIcon = _styledComponents["default"].img(_templateObject2(), function (props) {
116
- return props.iconPosition === "before" ? "margin-right" : "margin-left";
210
+ var LinkIconContainer = _styledComponents["default"].div(_templateObject6(), function (props) {
211
+ return props.theme.iconSize;
212
+ }, function (props) {
213
+ return props.theme.iconSize;
214
+ }, function (props) {
215
+ return "".concat(props.iconPosition === "before" ? "margin-right" : "margin-left", ": ").concat(props.theme.iconSpacing);
117
216
  });
118
217
 
119
218
  DxcLink.propTypes = {
120
- underlined: _propTypes["default"].bool,
121
219
  inheritColor: _propTypes["default"].bool,
122
220
  disabled: _propTypes["default"].bool,
221
+ icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
123
222
  iconSrc: _propTypes["default"].string,
124
223
  iconPosition: _propTypes["default"].oneOf(["after", "before"]),
125
224
  href: _propTypes["default"].string,
225
+ onClick: _propTypes["default"].func,
126
226
  margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
127
227
  top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
128
228
  bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
@@ -130,7 +230,8 @@ DxcLink.propTypes = {
130
230
  right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
131
231
  }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
132
232
  newWindow: _propTypes["default"].bool,
133
- text: _propTypes["default"].string
233
+ text: _propTypes["default"].string,
234
+ tabIndex: _propTypes["default"].number
134
235
  };
135
236
  var _default = DxcLink;
136
237
  exports["default"] = _default;
package/dist/main.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ export { default as DxcAlert } from "./alert/index";
2
+ export { default as DxcNewInputText } from "./new-input-text/index";
3
+ export { default as DxcNewDate } from "./new-date/index";
4
+ export { default as DxcNewTextarea } from "./new-textarea/index";
5
+ export { default as DxcNumber } from "./number/index";
6
+ export { default as DxcPassword } from "./password/index";
7
+ export { default as DxcFileInput } from "./file-input/index";