@dxc-technology/halstack-react 0.0.0-7ffdc43 → 0.0.0-824a373

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 (112) hide show
  1. package/accordion/Accordion.js +122 -103
  2. package/accordion/Accordion.stories.tsx +1 -2
  3. package/accordion/Accordion.test.js +9 -10
  4. package/accordion/types.d.ts +5 -4
  5. package/accordion-group/AccordionGroup.js +1 -21
  6. package/accordion-group/AccordionGroup.stories.tsx +27 -1
  7. package/accordion-group/AccordionGroup.test.js +20 -45
  8. package/accordion-group/types.d.ts +10 -3
  9. package/alert/Alert.js +1 -1
  10. package/box/Box.js +1 -1
  11. package/box/types.d.ts +1 -0
  12. package/bulleted-list/types.d.ts +1 -1
  13. package/button/types.d.ts +1 -1
  14. package/card/types.d.ts +1 -0
  15. package/checkbox/Checkbox.d.ts +2 -2
  16. package/checkbox/Checkbox.js +92 -99
  17. package/checkbox/Checkbox.stories.tsx +79 -59
  18. package/checkbox/Checkbox.test.js +93 -16
  19. package/checkbox/types.d.ts +6 -2
  20. package/chip/types.d.ts +1 -1
  21. package/common/variables.js +26 -14
  22. package/date-input/DateInput.js +3 -3
  23. package/dialog/Dialog.js +52 -28
  24. package/dialog/Dialog.stories.tsx +57 -2
  25. package/dialog/Dialog.test.js +34 -4
  26. package/dialog/types.d.ts +3 -2
  27. package/dropdown/Dropdown.d.ts +1 -1
  28. package/dropdown/Dropdown.js +244 -247
  29. package/dropdown/Dropdown.stories.tsx +126 -63
  30. package/dropdown/Dropdown.test.js +509 -108
  31. package/dropdown/DropdownMenu.d.ts +4 -0
  32. package/dropdown/DropdownMenu.js +80 -0
  33. package/dropdown/DropdownMenuItem.d.ts +4 -0
  34. package/dropdown/DropdownMenuItem.js +92 -0
  35. package/dropdown/types.d.ts +25 -5
  36. package/file-input/FileInput.d.ts +2 -2
  37. package/file-input/FileInput.js +173 -217
  38. package/file-input/FileInput.stories.tsx +38 -10
  39. package/file-input/FileInput.test.js +53 -12
  40. package/file-input/FileItem.d.ts +4 -14
  41. package/file-input/FileItem.js +38 -63
  42. package/file-input/types.d.ts +17 -0
  43. package/flex/Flex.d.ts +1 -1
  44. package/flex/Flex.js +31 -19
  45. package/flex/types.d.ts +15 -4
  46. package/footer/Footer.stories.tsx +8 -1
  47. package/footer/types.d.ts +2 -1
  48. package/header/Header.js +74 -72
  49. package/header/Header.stories.tsx +4 -4
  50. package/header/Icons.js +2 -2
  51. package/header/types.d.ts +3 -2
  52. package/layout/ApplicationLayout.stories.tsx +1 -0
  53. package/link/types.d.ts +1 -1
  54. package/number-input/NumberInput.test.js +38 -1
  55. package/package.json +10 -10
  56. package/paginator/Paginator.js +2 -2
  57. package/paginator/Paginator.test.js +1 -1
  58. package/password-input/PasswordInput.test.js +13 -12
  59. package/progress-bar/ProgressBar.d.ts +2 -2
  60. package/progress-bar/ProgressBar.js +56 -50
  61. package/progress-bar/ProgressBar.stories.jsx +3 -1
  62. package/progress-bar/ProgressBar.test.js +67 -22
  63. package/progress-bar/types.d.ts +3 -4
  64. package/quick-nav/QuickNav.js +11 -12
  65. package/quick-nav/QuickNav.stories.tsx +97 -19
  66. package/radio-group/Radio.d.ts +1 -1
  67. package/radio-group/Radio.js +43 -28
  68. package/radio-group/RadioGroup.js +24 -24
  69. package/radio-group/RadioGroup.stories.tsx +1 -0
  70. package/radio-group/RadioGroup.test.js +123 -96
  71. package/radio-group/types.d.ts +2 -2
  72. package/resultsetTable/ResultsetTable.js +1 -3
  73. package/select/Listbox.d.ts +1 -1
  74. package/select/Listbox.js +25 -2
  75. package/select/Select.js +17 -32
  76. package/select/Select.stories.tsx +6 -5
  77. package/select/Select.test.js +321 -250
  78. package/select/types.d.ts +2 -4
  79. package/sidenav/types.d.ts +1 -1
  80. package/slider/Slider.d.ts +2 -2
  81. package/slider/Slider.js +120 -95
  82. package/slider/Slider.stories.tsx +7 -1
  83. package/slider/Slider.test.js +121 -21
  84. package/slider/types.d.ts +6 -2
  85. package/switch/Switch.d.ts +2 -2
  86. package/switch/Switch.js +135 -68
  87. package/switch/Switch.stories.tsx +8 -30
  88. package/switch/Switch.test.js +144 -17
  89. package/switch/types.d.ts +6 -2
  90. package/table/Table.js +1 -1
  91. package/tabs/Tab.d.ts +4 -0
  92. package/tabs/Tab.js +135 -0
  93. package/tabs/Tabs.js +360 -104
  94. package/tabs/Tabs.stories.tsx +74 -0
  95. package/tabs/Tabs.test.js +217 -6
  96. package/tabs/types.d.ts +15 -5
  97. package/tabs-nav/NavTabs.js +5 -5
  98. package/tabs-nav/Tab.js +3 -5
  99. package/tabs-nav/types.d.ts +1 -1
  100. package/tag/Tag.js +1 -1
  101. package/tag/types.d.ts +1 -1
  102. package/text-input/Icons.d.ts +8 -0
  103. package/text-input/Icons.js +60 -0
  104. package/text-input/Suggestion.js +7 -5
  105. package/text-input/Suggestions.d.ts +4 -0
  106. package/text-input/Suggestions.js +134 -0
  107. package/text-input/TextInput.js +189 -282
  108. package/text-input/TextInput.stories.tsx +189 -182
  109. package/text-input/TextInput.test.js +222 -163
  110. package/text-input/types.d.ts +22 -3
  111. package/toggle-group/types.d.ts +1 -1
  112. package/wizard/types.d.ts +1 -1
package/header/Header.js CHANGED
@@ -19,8 +19,6 @@ var _react = _interopRequireWildcard(require("react"));
19
19
 
20
20
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
21
 
22
- var _AppBar = _interopRequireDefault(require("@material-ui/core/AppBar"));
23
-
24
22
  var _Dropdown = _interopRequireDefault(require("../dropdown/Dropdown"));
25
23
 
26
24
  var _Icons = require("./Icons");
@@ -67,30 +65,37 @@ var Dropdown = function Dropdown(props) {
67
65
  var HeaderDropdown = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n button {\n background-color: transparent;\n :hover {\n background-color: transparent;\n }\n }\n"])));
68
66
 
69
67
  var getLogoElement = function getLogoElement(themeInput, logoLabel) {
70
- if (!themeInput) {
71
- return _Icons.dxcLogo;
72
- }
73
-
74
- if (typeof themeInput === "string") {
75
- return /*#__PURE__*/_react["default"].createElement(LogoImg, {
76
- alt: logoLabel,
77
- src: themeInput
78
- });
79
- }
80
-
81
- return themeInput;
68
+ if (!themeInput) return _Icons.dxcLogo;else if (typeof themeInput === "string") return /*#__PURE__*/_react["default"].createElement(LogoImg, {
69
+ alt: logoLabel,
70
+ src: themeInput
71
+ });else return themeInput;
82
72
  };
83
73
 
84
- var DxcHeader = function DxcHeader(_ref) {
85
- var _ref$underlined = _ref.underlined,
86
- underlined = _ref$underlined === void 0 ? false : _ref$underlined,
87
- content = _ref.content,
74
+ var Content = function Content(_ref) {
75
+ var isResponsive = _ref.isResponsive,
88
76
  responsiveContent = _ref.responsiveContent,
89
- onClick = _ref.onClick,
90
- margin = _ref.margin,
77
+ handleMenu = _ref.handleMenu,
91
78
  padding = _ref.padding,
92
- _ref$tabIndex = _ref.tabIndex,
93
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
79
+ content = _ref.content;
80
+ var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
81
+ return isResponsive ? /*#__PURE__*/_react["default"].createElement(MenuContent, {
82
+ backgroundType: backgroundType
83
+ }, responsiveContent(handleMenu)) : /*#__PURE__*/_react["default"].createElement(ContentContainer, {
84
+ padding: padding,
85
+ backgroundType: backgroundType
86
+ }, content);
87
+ };
88
+
89
+ var DxcHeader = function DxcHeader(_ref2) {
90
+ var _ref2$underlined = _ref2.underlined,
91
+ underlined = _ref2$underlined === void 0 ? false : _ref2$underlined,
92
+ content = _ref2.content,
93
+ responsiveContent = _ref2.responsiveContent,
94
+ onClick = _ref2.onClick,
95
+ margin = _ref2.margin,
96
+ padding = _ref2.padding,
97
+ _ref2$tabIndex = _ref2.tabIndex,
98
+ tabIndex = _ref2$tabIndex === void 0 ? 0 : _ref2$tabIndex;
94
99
  var colorsTheme = (0, _useTheme["default"])();
95
100
  var translatedLabels = (0, _useTranslatedLabels["default"])();
96
101
  var ref = (0, _react.useRef)(null);
@@ -106,17 +111,7 @@ var DxcHeader = function DxcHeader(_ref) {
106
111
  setIsMenuVisible = _useState4[1];
107
112
 
108
113
  var handleResize = function handleResize() {
109
- setIsResponsive(window.matchMedia("(max-width: ".concat(_variables.responsiveSizes.medium, "rem)")).matches && !isResponsive);
110
- };
111
-
112
- var ContentContainerComponent = function ContentContainerComponent() {
113
- var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
114
- return isResponsive && /*#__PURE__*/_react["default"].createElement(MenuContent, {
115
- backgroundType: backgroundType
116
- }, responsiveContent(handleMenu)) || /*#__PURE__*/_react["default"].createElement(ContentContainer, {
117
- padding: padding,
118
- backgroundType: backgroundType
119
- }, content);
114
+ setIsResponsive(window.matchMedia("(max-width: ".concat(_variables.responsiveSizes.medium, "rem)")).matches);
120
115
  };
121
116
 
122
117
  var handleMenu = function handleMenu() {
@@ -134,67 +129,74 @@ var DxcHeader = function DxcHeader(_ref) {
134
129
  return getLogoElement(colorsTheme.header.logoResponsive, translatedLabels.formFields.logoAlternativeText);
135
130
  }, [colorsTheme.header.logoResponsive]);
136
131
  (0, _react.useEffect)(function () {
137
- if (ref.current) {
138
- window.addEventListener("resize", handleResize);
139
- handleResize();
140
- }
141
-
132
+ handleResize();
133
+ window.addEventListener("resize", handleResize);
142
134
  return function () {
143
135
  window.removeEventListener("resize", handleResize);
144
136
  };
145
137
  }, []);
138
+ (0, _react.useEffect)(function () {
139
+ !isResponsive && setIsMenuVisible(false);
140
+ }, [isResponsive]);
146
141
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
147
142
  theme: colorsTheme.header
148
143
  }, /*#__PURE__*/_react["default"].createElement(HeaderContainer, {
149
- $underlined: underlined,
150
- position: "static",
144
+ underlined: underlined,
151
145
  margin: margin,
152
146
  ref: ref
153
147
  }, /*#__PURE__*/_react["default"].createElement(LogoAnchor, {
154
- tabIndex: typeof onClick === "function" ? tabIndex : -1,
155
- interactuable: typeof onClick === "function",
148
+ tabIndex: onClick ? tabIndex : -1,
149
+ interactuable: onClick ? true : false,
156
150
  onClick: onClick
157
151
  }, /*#__PURE__*/_react["default"].createElement(LogoContainer, null, headerLogo)), isResponsive && responsiveContent && /*#__PURE__*/_react["default"].createElement(MainContainer, null, /*#__PURE__*/_react["default"].createElement(ChildContainer, {
158
152
  padding: padding
159
- }, /*#__PURE__*/_react["default"].createElement(HamburguerItem, {
153
+ }, /*#__PURE__*/_react["default"].createElement(HamburguerTrigger, {
160
154
  tabIndex: tabIndex,
161
- underlined: underlined,
162
155
  onClick: handleMenu
163
- }, hamburgerIcon, /*#__PURE__*/_react["default"].createElement(HamburguerTitle, null, "Menu"))), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(ResponsiveMenu, {
156
+ }, hamburgerIcon, translatedLabels.header.hamburguerTitle)), /*#__PURE__*/_react["default"].createElement(ResponsiveMenu, {
164
157
  hasVisibility: isMenuVisible
165
- }, /*#__PURE__*/_react["default"].createElement(ResponsiveLogoContainer, null, headerResponsiveLogo), /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
166
- color: colorsTheme.header.menuBackgroundColor
167
- }, /*#__PURE__*/_react["default"].createElement(ContentContainerComponent, null)), /*#__PURE__*/_react["default"].createElement(CloseContainer, {
158
+ }, /*#__PURE__*/_react["default"].createElement(ResponsiveIconsContainer, null, /*#__PURE__*/_react["default"].createElement(ResponsiveLogoContainer, null, headerResponsiveLogo), /*#__PURE__*/_react["default"].createElement(CloseAction, {
168
159
  tabIndex: tabIndex,
169
160
  onClick: handleMenu,
170
- className: "closeIcon"
171
- }, closeIcon)), /*#__PURE__*/_react["default"].createElement(Overlay, {
161
+ "aria-label": translatedLabels.header.closeIcon
162
+ }, closeIcon)), /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
163
+ color: colorsTheme.header.menuBackgroundColor
164
+ }, /*#__PURE__*/_react["default"].createElement(Content, {
165
+ isResponsive: isResponsive,
166
+ responsiveContent: responsiveContent,
167
+ handleMenu: handleMenu,
168
+ padding: padding,
169
+ content: content
170
+ }))), /*#__PURE__*/_react["default"].createElement(Overlay, {
172
171
  onClick: handleMenu,
173
172
  hasVisibility: isMenuVisible
174
- }))), !isResponsive && /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
173
+ })), !isResponsive && /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
175
174
  color: colorsTheme.header.backgroundColor
176
- }, /*#__PURE__*/_react["default"].createElement(ContentContainerComponent, null))));
175
+ }, /*#__PURE__*/_react["default"].createElement(Content, {
176
+ isResponsive: isResponsive,
177
+ responsiveContent: responsiveContent,
178
+ handleMenu: handleMenu,
179
+ padding: padding,
180
+ content: content
181
+ }))));
177
182
  };
178
183
 
179
184
  DxcHeader.Dropdown = Dropdown;
180
- var HeaderContainer = (0, _styledComponents["default"])(_AppBar["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: ", ";\n\n &.MuiAppBar-colorPrimary {\n background-color: ", ";\n border-bottom: ", ";\n\n &.MuiPaper-elevation4 {\n box-shadow: none;\n }\n .ChildComponents {\n display: flex;\n align-items: center;\n }\n }\n & {\n min-height: ", ";\n }\n &.MuiAppBar-root {\n flex-direction: row;\n align-items: center;\n padding: ", ";\n justify-content: space-between;\n }\n"])), function (props) {
185
+
186
+ var HeaderContainer = _styledComponents["default"].header(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: ", ";\n padding: ", ";\n background-color: ", ";\n border-bottom: ", ";\n min-height: ", ";\n box-shadow: none;\n display: flex;\n align-items: center;\n flex-direction: row;\n justify-content: space-between;\n box-sizing: border-box;\n"])), function (props) {
181
187
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
188
+ }, function (props) {
189
+ return "".concat(props.theme.paddingTop, " ").concat(props.theme.paddingRight, " ").concat(props.theme.paddingBottom, " ").concat(props.theme.paddingLeft);
182
190
  }, function (props) {
183
191
  return props.theme.backgroundColor;
184
192
  }, function (props) {
185
- return props.$underlined && "".concat(props.theme.underlinedThickness, " ").concat(props.theme.underlinedStyle, " ").concat(props.theme.underlinedColor);
193
+ return props.underlined && "".concat(props.theme.underlinedThickness, " ").concat(props.theme.underlinedStyle, " ").concat(props.theme.underlinedColor);
186
194
  }, function (props) {
187
195
  return props.theme.minHeight;
188
- }, function (props) {
189
- return "".concat(props.theme.paddingTop, " ").concat(props.theme.paddingRight, " ").concat(props.theme.paddingBottom, " ").concat(props.theme.paddingLeft);
190
196
  });
191
197
 
192
- var LogoAnchor = _styledComponents["default"].a(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n"])), function (props) {
193
- if (!props.interactuable) {
194
- return "cursor: default; outline:none;";
195
- }
196
-
197
- return "cursor: pointer;";
198
+ var LogoAnchor = _styledComponents["default"].a(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
199
+ return props.interactuable ? "cursor: pointer" : "cursor: default; outline:none";
198
200
  });
199
201
 
200
202
  var LogoImg = _styledComponents["default"].img(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n"])), function (props) {
@@ -235,15 +237,13 @@ var ContentContainer = _styledComponents["default"].div(_templateObject7 || (_te
235
237
  return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
236
238
  });
237
239
 
238
- var HamburguerItem = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 54px;\n cursor: pointer;\n :hover {\n background-color: ", ";\n }\n &:focus {\n outline: ", " auto 1px;\n }\n & > svg {\n fill: ", ";\n }\n"])), function (props) {
240
+ var HamburguerTrigger = _styledComponents["default"].button(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 54px;\n cursor: pointer;\n border: 1px solid transparent;\n border-radius: 2px;\n background-color: transparent;\n :hover {\n background-color: ", ";\n }\n &:focus {\n outline: ", " auto 1px;\n }\n & > svg {\n fill: ", ";\n }\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n text-transform: ", ";\n font-weight: ", ";\n color: ", ";\n"])), function (props) {
239
241
  return props.theme.hamburguerHoverColor;
240
242
  }, function (props) {
241
243
  return props.theme.hamburguerFocusColor;
242
244
  }, function (props) {
243
245
  return props.theme.hamburguerIconColor;
244
- });
245
-
246
- var HamburguerTitle = _styledComponents["default"].span(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n text-transform: ", ";\n font-weight: ", ";\n color: ", ";\n"])), function (props) {
246
+ }, function (props) {
247
247
  return props.theme.hamburguerFontFamily;
248
248
  }, function (props) {
249
249
  return props.theme.hamburguerFontStyle;
@@ -257,9 +257,9 @@ var HamburguerTitle = _styledComponents["default"].span(_templateObject9 || (_te
257
257
  return props.theme.hamburguerFontColor;
258
258
  });
259
259
 
260
- var MainContainer = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-grow: 1;\n"])));
260
+ var MainContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-grow: 1;\n"])));
261
261
 
262
- var ResponsiveMenu = _styledComponents["default"].div(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: space-evenly;\n background-color: ", ";\n position: fixed;\n top: 0;\n right: 0;\n z-index: ", ";\n\n @media (max-width: ", "rem) and (min-width: ", "rem) {\n //tablet\n width: ", ";\n }\n\n @media not((max-width: ", "rem) and (min-width: ", "rem)) {\n //mobile phones\n width: ", ";\n }\n\n height: 100vh;\n padding: 20px;\n transform: ", ";\n opacity: ", ";\n transition-property: transform, opacity;\n transition-duration: 0.6s;\n transition-timing-function: ease-in-out;\n box-sizing: border-box;\n"])), function (props) {
262
+ var ResponsiveMenu = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n background-color: ", ";\n position: fixed;\n top: 0;\n right: 0;\n z-index: ", ";\n\n @media (max-width: ", "rem) and (min-width: ", "rem) {\n //tablet\n width: ", ";\n }\n\n @media (not((max-width: ", "rem) and (min-width: ", "rem))) {\n //mobile phones\n width: ", ";\n }\n\n height: 100vh;\n padding: 20px;\n transform: ", ";\n opacity: ", ";\n transition-property: transform, opacity;\n transition-duration: 0.6s;\n transition-timing-function: ease-in-out;\n box-sizing: border-box;\n"])), function (props) {
263
263
  return props.theme.menuBackgroundColor;
264
264
  }, function (props) {
265
265
  return props.theme.menuZindex;
@@ -273,17 +273,19 @@ var ResponsiveMenu = _styledComponents["default"].div(_templateObject11 || (_tem
273
273
  return props.hasVisibility ? "1" : "0.96";
274
274
  });
275
275
 
276
- var ResponsiveLogoContainer = _styledComponents["default"].div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n position: absolute;\n top: 23px;\n left: 20px;\n"])), function (props) {
276
+ var ResponsiveLogoContainer = _styledComponents["default"].div(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n display: flex;\n"])), function (props) {
277
277
  return props.theme.logoHeight;
278
278
  }, function (props) {
279
279
  return props.theme.logoWidth;
280
280
  });
281
281
 
282
- var CloseContainer = _styledComponents["default"].div(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n cursor: pointer;\n :focus {\n outline: ", " auto 1px;\n }\n position: fixed;\n top: 23px;\n right: 20px;\n width: 24px;\n height: 24px;\n padding: ", ";\n"])), function (props) {
282
+ var ResponsiveIconsContainer = _styledComponents["default"].div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n"])));
283
+
284
+ var CloseAction = _styledComponents["default"].button(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n cursor: pointer;\n padding: 6px;\n height: 36px;\n width: 36px;\n border: 1px solid transparent;\n border-radius: 2px;\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n background-color: transparent;\n :focus,\n :focus-visible {\n outline: ", " auto 1px;\n }\n"])), function (props) {
283
285
  return props.theme.hamburguerFocusColor;
284
- }, _variables.spaces.xxsmall);
286
+ });
285
287
 
286
- var MenuContent = _styledComponents["default"].div(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n height: 100%;\n margin-top: 40px;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n color: ", ";\n"])), function (props) {
288
+ var MenuContent = _styledComponents["default"].div(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n height: 100%;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n color: ", ";\n"])), function (props) {
287
289
  return props.backgroundType === "dark" ? props.theme.contentColorOnDark : props.theme.contentColor;
288
290
  });
289
291
 
@@ -131,7 +131,7 @@ ResponsiveHeader.parameters = {
131
131
  viewport: {
132
132
  defaultViewport: "iphonex",
133
133
  },
134
- chromatic: { viewports: [720] },
134
+ chromatic: { viewports: [375] },
135
135
  };
136
136
 
137
137
  export const ResponsiveHeaderFocus = RespHeaderFocus.bind({});
@@ -139,7 +139,7 @@ ResponsiveHeaderFocus.parameters = {
139
139
  viewport: {
140
140
  defaultViewport: "iphonex",
141
141
  },
142
- chromatic: { viewports: [720] },
142
+ chromatic: { viewports: [375] },
143
143
  };
144
144
  ResponsiveHeaderFocus.play = async ({ canvasElement }) => {
145
145
  const canvas = within(canvasElement);
@@ -151,7 +151,7 @@ ResponsiveHeaderHover.parameters = {
151
151
  viewport: {
152
152
  defaultViewport: "iphonex",
153
153
  },
154
- chromatic: { viewports: [720] },
154
+ chromatic: { viewports: [375] },
155
155
  };
156
156
  ResponsiveHeaderHover.play = async ({ canvasElement }) => {
157
157
  const canvas = within(canvasElement);
@@ -163,7 +163,7 @@ ResponsiveHeaderMenu.parameters = {
163
163
  viewport: {
164
164
  defaultViewport: "iphonex",
165
165
  },
166
- chromatic: { viewports: [720] },
166
+ chromatic: { viewports: [375] },
167
167
  };
168
168
  ResponsiveHeaderMenu.play = async ({ canvasElement }) => {
169
169
  const canvas = within(canvasElement);
package/header/Icons.js CHANGED
@@ -23,12 +23,12 @@ var dxcLogo = /*#__PURE__*/_react["default"].createElement("svg", {
23
23
  id: "path14",
24
24
  d: "M91.613-28.177v2.514H90.231V-28.15l-2.415-3.82h1.616l1.5,2.532,1.526-2.532h1.571ZM83.9-25.555A3.15,3.15,0,0,1,80.6-28.8v-.018a3.231,3.231,0,0,1,3.294-3.262,3.442,3.442,0,0,1,2.469.865l-.87,1.054a2.311,2.311,0,0,0-1.643-.64,1.891,1.891,0,0,0-1.8,1.964v.018a1.886,1.886,0,0,0,1.9,2,2.2,2.2,0,0,0,1.3-.378v-.9H83.858v-1.2h2.729v2.738A4.071,4.071,0,0,1,83.9-25.555Zm-6.416-3.261a1.913,1.913,0,0,0-1.9-1.982A1.883,1.883,0,0,0,73.7-28.835v.018a1.913,1.913,0,0,0,1.9,1.982A1.883,1.883,0,0,0,77.486-28.8Zm-1.9,3.261a3.225,3.225,0,0,1-3.33-3.243v-.018A3.255,3.255,0,0,1,75.6-32.078a3.225,3.225,0,0,1,3.331,3.243v.018A3.255,3.255,0,0,1,75.583-25.555Zm-9.173-.108V-31.97h1.382v5.045h3.133v1.261Zm-3.433-3.153a1.913,1.913,0,0,0-1.9-1.982,1.883,1.883,0,0,0-1.886,1.964v.018a1.913,1.913,0,0,0,1.9,1.982A1.883,1.883,0,0,0,62.978-28.8Zm-1.9,3.261a3.225,3.225,0,0,1-3.33-3.243v-.018a3.255,3.255,0,0,1,3.348-3.262,3.225,3.225,0,0,1,3.331,3.243v.018A3.255,3.255,0,0,1,61.075-25.555Zm-6.508-.108-3.043-4.009v4.009H50.159V-31.97h1.275l2.944,3.883V-31.97h1.364v6.306Zm-8.246,0v-2.531h-2.55v2.531H42.389V-31.97h1.382v2.5h2.55v-2.5H47.7v6.306Zm-8.432.108A3.178,3.178,0,0,1,34.666-28.8v-.018a3.2,3.2,0,0,1,3.276-3.262,3.237,3.237,0,0,1,2.478.973l-.88,1.018a2.315,2.315,0,0,0-1.606-.712,1.866,1.866,0,0,0-1.822,1.964v.018a1.87,1.87,0,0,0,1.822,1.982,2.265,2.265,0,0,0,1.651-.739l.88.891A3.206,3.206,0,0,1,37.889-25.555Zm-9.805-.108V-31.97h4.739v1.235H29.458v1.279h2.962v1.234H29.458V-26.9h3.411v1.234ZM24.322-30.69v5.027H22.939V-30.69H21.028v-1.28h5.206v1.28H24.322",
25
25
  transform: "translate(-21.028 65.555)",
26
- fill: "#100f0d"
26
+ fill: "#010101"
27
27
  }), /*#__PURE__*/_react["default"].createElement("path", {
28
28
  id: "path16",
29
29
  d: "M75.836-76.712a8.975,8.975,0,0,1,2.246-3.9,8.393,8.393,0,0,1,6.058-2.457h9.824v-5.67H84.139a14.611,14.611,0,0,0-10.232,4.221,14.509,14.509,0,0,0-3.076,4.536,11.913,11.913,0,0,0-.973,3.271Zm0,4.325a8.978,8.978,0,0,0,2.246,3.9,8.394,8.394,0,0,0,6.058,2.457h9.824v5.67H84.139A14.611,14.611,0,0,1,73.907-64.58a14.506,14.506,0,0,1-3.076-4.536,11.91,11.91,0,0,1-.973-3.271ZM57.522-69.832l-7.5,9.473H42.581L53.818-74.55,42.581-88.739H50.02l7.5,9.472,7.5-9.472h7.439L61.225-74.55l11.237,14.19H65.023Zm-12.336-6.88a11.935,11.935,0,0,0-.973-3.271,14.515,14.515,0,0,0-3.076-4.536A14.612,14.612,0,0,0,30.9-88.739H21.081v5.67H30.9a8.394,8.394,0,0,1,6.058,2.457,8.978,8.978,0,0,1,2.246,3.9Zm0,4.325a11.932,11.932,0,0,1-.973,3.271,14.511,14.511,0,0,1-3.076,4.536A14.611,14.611,0,0,1,30.9-60.359H21.081v-5.67H30.9a8.4,8.4,0,0,0,6.058-2.457,8.981,8.981,0,0,0,2.246-3.9h5.978",
30
30
  transform: "translate(-21.049 88.739)",
31
- fill: "#100f0d"
31
+ fill: "#603494"
32
32
  }))));
33
33
 
34
34
  exports.dxcLogo = dxcLogo;
package/header/types.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
- declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
- declare type Padding = {
2
+ export declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ export declare type Padding = {
4
4
  top?: Space;
5
5
  bottom?: Space;
6
6
  left?: Space;
@@ -32,6 +32,7 @@ declare type Props = {
32
32
  */
33
33
  margin?: Space;
34
34
  /**
35
+ * @deprecated This prop will be removed shortly, consider using the Inset component for this purpose.
35
36
  * Size of the padding to be applied to the custom area of the component
36
37
  * ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
37
38
  * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in
@@ -94,6 +94,7 @@ ApplicationLayoutWithResponsiveSidenav.parameters = {
94
94
  viewport: {
95
95
  defaultViewport: "pixel",
96
96
  },
97
+ chromatic: { viewports: [540] },
97
98
  };
98
99
 
99
100
  export const ApplicationLayoutWithCustomHeader = () => (
package/link/types.d.ts CHANGED
@@ -6,7 +6,7 @@ export declare type Margin = {
6
6
  left?: Space;
7
7
  right?: Space;
8
8
  };
9
- declare type SVG = React.SVGProps<SVGSVGElement>;
9
+ declare type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
10
10
  export declare type LinkProps = {
11
11
  /**
12
12
  * If true, the color is inherited from parent.
@@ -83,7 +83,7 @@ describe("Number input component tests", function () {
83
83
  })),
84
84
  getByRole = _render8.getByRole;
85
85
 
86
- var input = getByRole("textbox");
86
+ var input = getByRole("spinbutton");
87
87
 
88
88
  _userEvent["default"].type(input, "1");
89
89
 
@@ -503,4 +503,41 @@ describe("Number input component tests", function () {
503
503
  var increment = getAllByRole("button")[1];
504
504
  expect(increment.getAttribute("aria-label")).toBe("Increment value");
505
505
  });
506
+ test("Number input submits correct values in a form", function () {
507
+ var handlerOnSubmit = jest.fn(function (e) {
508
+ e.preventDefault();
509
+ var formData = new FormData(e.target);
510
+ var formProps = Object.fromEntries(formData);
511
+ expect(formProps).toStrictEqual({
512
+ data: "0"
513
+ });
514
+ });
515
+
516
+ var _render23 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement("form", {
517
+ onSubmit: handlerOnSubmit
518
+ }, /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
519
+ label: "Number input label",
520
+ name: "data"
521
+ }), /*#__PURE__*/_react["default"].createElement("button", {
522
+ type: "submit"
523
+ }, "Submit"))),
524
+ getByText = _render23.getByText,
525
+ getAllByRole = _render23.getAllByRole;
526
+
527
+ var less = getAllByRole("button")[0];
528
+ var more = getAllByRole("button")[1];
529
+ var submit = getByText("Submit");
530
+
531
+ _userEvent["default"].click(more);
532
+
533
+ expect(handlerOnSubmit).not.toHaveBeenCalled();
534
+
535
+ _userEvent["default"].click(less);
536
+
537
+ expect(handlerOnSubmit).not.toHaveBeenCalled();
538
+
539
+ _userEvent["default"].click(submit);
540
+
541
+ expect(handlerOnSubmit).toHaveBeenCalled();
542
+ });
506
543
  });
package/package.json CHANGED
@@ -1,20 +1,20 @@
1
1
  {
2
2
  "name": "@dxc-technology/halstack-react",
3
- "version": "0.0.0-7ffdc43",
3
+ "version": "0.0.0-824a373",
4
4
  "description": "DXC Halstack React components library",
5
5
  "repository": "dxc-technology/halstack-react",
6
- "homepage": "http://developer.dxc.com/tools/react",
6
+ "homepage": "https://developer.dxc.com/halstack",
7
7
  "license": "Apache-2.0",
8
8
  "author": {
9
9
  "name": "DXC Technology",
10
10
  "email": "DigitalInsurance@dxc.com",
11
- "url": "https://dxc.com"
11
+ "url": "https://developer.dxc.com"
12
12
  },
13
13
  "main": "./main.js",
14
14
  "types": "./main.d.ts",
15
15
  "peerDependencies": {
16
- "react": "^17.0.1",
17
- "react-dom": "^17.0.1",
16
+ "react": "^18.x",
17
+ "react-dom": "^18.x",
18
18
  "styled-components": "^5.0.1"
19
19
  },
20
20
  "dependencies": {
@@ -24,7 +24,7 @@
24
24
  "@material-ui/lab": "4.0.0-alpha.17",
25
25
  "@material-ui/pickers": "3.2.2",
26
26
  "@material-ui/styles": "4.0.2",
27
- "@radix-ui/react-popover": "^0.1.6",
27
+ "@radix-ui/react-popover": "0.1.6",
28
28
  "@types/styled-components": "^5.1.24",
29
29
  "@types/uuid": "^8.3.4",
30
30
  "color": "^3.1.3",
@@ -56,9 +56,9 @@
56
56
  "@storybook/addon-links": "^6.4.9",
57
57
  "@storybook/react": "^6.4.9",
58
58
  "@storybook/testing-library": "0.0.7",
59
- "@testing-library/react": "^11.2.5",
59
+ "@testing-library/react": "^13.0.0",
60
60
  "@testing-library/user-event": "^12.6.3",
61
- "@types/react": "16.9.5",
61
+ "@types/react": "^18.0.18",
62
62
  "babel-jest": "^24.8.0",
63
63
  "babel-loader": "^8.0.6",
64
64
  "chromatic": "^6.3.3",
@@ -73,8 +73,8 @@
73
73
  "eslint-plugin-storybook": "^0.5.5",
74
74
  "identity-obj-proxy": "^3.0.0",
75
75
  "jest": "^25.5.4",
76
- "react": "^17.0.1",
77
- "react-dom": "^17.0.1",
76
+ "react": "^18.x",
77
+ "react-dom": "^18.x",
78
78
  "react-test-renderer": "^16.8.6",
79
79
  "storybook-addon-pseudo-states": "^1.0.0",
80
80
  "styled-components": "^5.0.1",
@@ -153,7 +153,7 @@ var ItemsPageContainer = _styledComponents["default"].span(_templateObject3 || (
153
153
 
154
154
  var ItemsLabel = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: 0.5rem;\n"])));
155
155
 
156
- var GoToLabel = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: 0.5rem;\n margin-left: 1rem;\n"])));
156
+ var GoToLabel = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: 0.5rem;\n margin-left: 0.5rem;\n"])));
157
157
 
158
158
  var TotalItemsContainer = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: ", ";\n margin-left: ", ";\n"])), function (props) {
159
159
  return props.theme.totalItemsContainerMarginRight;
@@ -163,7 +163,7 @@ var TotalItemsContainer = _styledComponents["default"].span(_templateObject6 ||
163
163
 
164
164
  var LabelsContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n gap: 0.5rem;\n width: 100%;\n justify-content: flex-end;\n align-items: center;\n"])));
165
165
 
166
- var PageToSelectContainer = _styledComponents["default"].span(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n\n label {\n height: 0px;\n }\n label + .MuiInput-formControl {\n margin-top: 0px;\n }\n"])));
166
+ var PageToSelectContainer = _styledComponents["default"].span(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n margin-right: 0.5rem;\n\n label {\n height: 0px;\n }\n label + .MuiInput-formControl {\n margin-top: 0px;\n }\n"])));
167
167
 
168
168
  var TextContainer = _styledComponents["default"].span(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])([""])));
169
169
 
@@ -77,7 +77,7 @@ describe("Paginator component tests", function () {
77
77
  })),
78
78
  getByText = _render3.getByText;
79
79
 
80
- expect(getByText("Items per page")).toBeTruthy();
80
+ expect(getByText("Items per page:")).toBeTruthy();
81
81
  });
82
82
  test("Paginator renders with itemsPerPageOptions", function () {
83
83
  var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
@@ -46,9 +46,9 @@ describe("Password input component tests", function () {
46
46
  label: "Password input",
47
47
  onChange: onChange
48
48
  })),
49
- getByRole = _render4.getByRole;
49
+ getByLabelText = _render4.getByLabelText;
50
50
 
51
- var passwordInput = getByRole("textbox");
51
+ var passwordInput = getByLabelText("Password input");
52
52
 
53
53
  _userEvent["default"].type(passwordInput, "Pa$$w0rd");
54
54
 
@@ -64,9 +64,9 @@ describe("Password input component tests", function () {
64
64
  label: "Password input",
65
65
  onBlur: onBlur
66
66
  })),
67
- getByRole = _render5.getByRole;
67
+ getByLabelText = _render5.getByLabelText;
68
68
 
69
- var passwordInput = getByRole("textbox");
69
+ var passwordInput = getByLabelText("Password input");
70
70
 
71
71
  _userEvent["default"].type(passwordInput, "Pa$$w0rd");
72
72
 
@@ -83,9 +83,9 @@ describe("Password input component tests", function () {
83
83
  clearable: true
84
84
  })),
85
85
  getAllByRole = _render6.getAllByRole,
86
- getByRole = _render6.getByRole;
86
+ getByLabelText = _render6.getByLabelText;
87
87
 
88
- var passwordInput = getByRole("textbox");
88
+ var passwordInput = getByLabelText("Password input");
89
89
 
90
90
  _userEvent["default"].type(passwordInput, "Pa$$w0rd");
91
91
 
@@ -101,9 +101,9 @@ describe("Password input component tests", function () {
101
101
  label: "Password input"
102
102
  })),
103
103
  getAllByRole = _render7.getAllByRole,
104
- getByRole = _render7.getByRole;
104
+ getByLabelText = _render7.getByLabelText;
105
105
 
106
- var passwordInput = getByRole("textbox");
106
+ var passwordInput = getByLabelText("Password input");
107
107
 
108
108
  _userEvent["default"].type(passwordInput, "Pa$$w0rd");
109
109
 
@@ -117,9 +117,9 @@ describe("Password input component tests", function () {
117
117
  clearable: true
118
118
  })),
119
119
  getAllByRole = _render8.getAllByRole,
120
- getByRole = _render8.getByRole;
120
+ getByLabelText = _render8.getByLabelText;
121
121
 
122
- var passwordInput = getByRole("textbox");
122
+ var passwordInput = getByLabelText("Password input");
123
123
 
124
124
  _userEvent["default"].type(passwordInput, "Pa$$w0rd");
125
125
 
@@ -164,9 +164,10 @@ describe("Password input component tests", function () {
164
164
  var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_PasswordInput["default"], {
165
165
  label: "Password input"
166
166
  })),
167
- getByRole = _render10.getByRole;
167
+ getByRole = _render10.getByRole,
168
+ getByLabelText = _render10.getByLabelText;
168
169
 
169
- var passwordInput = getByRole("textbox");
170
+ var passwordInput = getByLabelText("Password input");
170
171
  expect(passwordInput.getAttribute("aria-autocomplete")).toBeNull();
171
172
  expect(passwordInput.getAttribute("aria-controls")).toBeNull();
172
173
  expect(passwordInput.getAttribute("aria-expanded")).toBeNull();
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
- import ProgressBarPropsType from "./types";
3
- declare const DxcProgressBar: ({ label, helperText, overlay, value, showValue, margin, }: ProgressBarPropsType) => JSX.Element;
2
+ import { Props } from "./types";
3
+ declare const DxcProgressBar: ({ label, helperText, overlay, value, showValue, margin, }: Props) => JSX.Element;
4
4
  export default DxcProgressBar;