@dxc-technology/halstack-react 0.0.0-8719165 → 0.0.0-87e1151

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 (65) 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 +4 -3
  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 +9 -2
  9. package/alert/Alert.js +1 -1
  10. package/box/Box.js +1 -1
  11. package/box/types.d.ts +1 -0
  12. package/card/types.d.ts +1 -0
  13. package/checkbox/Checkbox.js +87 -95
  14. package/checkbox/Checkbox.test.js +93 -16
  15. package/checkbox/types.d.ts +2 -2
  16. package/common/variables.js +12 -4
  17. package/dialog/Dialog.js +4 -4
  18. package/dialog/Dialog.stories.tsx +56 -0
  19. package/dialog/types.d.ts +1 -0
  20. package/dropdown/Dropdown.js +6 -5
  21. package/dropdown/Dropdown.test.js +2 -3
  22. package/dropdown/DropdownMenuItem.js +1 -1
  23. package/footer/Footer.stories.tsx +8 -1
  24. package/footer/types.d.ts +1 -0
  25. package/header/Header.js +74 -72
  26. package/header/Header.stories.tsx +4 -4
  27. package/header/Icons.js +2 -2
  28. package/header/types.d.ts +3 -2
  29. package/layout/ApplicationLayout.stories.tsx +1 -0
  30. package/number-input/NumberInput.test.js +1 -1
  31. package/package.json +8 -8
  32. package/password-input/PasswordInput.test.js +13 -12
  33. package/quick-nav/QuickNav.js +11 -12
  34. package/quick-nav/QuickNav.stories.tsx +97 -19
  35. package/radio-group/Radio.d.ts +1 -1
  36. package/radio-group/Radio.js +43 -28
  37. package/radio-group/RadioGroup.js +18 -20
  38. package/radio-group/RadioGroup.stories.tsx +1 -0
  39. package/radio-group/RadioGroup.test.js +28 -58
  40. package/radio-group/types.d.ts +2 -2
  41. package/select/Listbox.js +0 -1
  42. package/select/Select.js +2 -1
  43. package/slider/Slider.js +116 -92
  44. package/slider/Slider.stories.tsx +7 -1
  45. package/slider/Slider.test.js +121 -21
  46. package/slider/types.d.ts +2 -2
  47. package/switch/Switch.js +91 -81
  48. package/switch/Switch.test.js +26 -13
  49. package/tabs/Tab.d.ts +4 -0
  50. package/tabs/Tab.js +135 -0
  51. package/tabs/Tabs.js +360 -104
  52. package/tabs/Tabs.stories.tsx +74 -0
  53. package/tabs/Tabs.test.js +217 -6
  54. package/tabs/types.d.ts +14 -4
  55. package/tabs-nav/Tab.js +1 -1
  56. package/tag/Tag.js +1 -1
  57. package/text-input/Icons.d.ts +8 -0
  58. package/text-input/Icons.js +60 -0
  59. package/text-input/Suggestion.js +7 -5
  60. package/text-input/Suggestions.d.ts +4 -0
  61. package/text-input/Suggestions.js +134 -0
  62. package/text-input/TextInput.js +170 -258
  63. package/text-input/TextInput.stories.tsx +189 -181
  64. package/text-input/TextInput.test.js +165 -163
  65. package/text-input/types.d.ts +21 -2
@@ -1,5 +1,9 @@
1
1
  import React from "react";
2
2
  import DxcDialog from "./Dialog";
3
+ import DxcTextInput from "../text-input/TextInput";
4
+ import DxcButton from "../button/Button";
5
+ import DxcFlex from "../flex/Flex";
6
+ import DxcInset from "../inset/Inset";
3
7
  import Title from "../../.storybook/components/Title";
4
8
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
9
 
@@ -30,6 +34,50 @@ export const DefaultDialog = () => (
30
34
  </>
31
35
  );
32
36
 
37
+ export const DialogWithInputs = () => (
38
+ <>
39
+ <ExampleContainer expanded={true}>
40
+ <Title title="Dialog with inputs" theme="light" level={4} />
41
+ <DxcDialog>
42
+ <DxcInset bottom="1rem">
43
+ <DxcFlex gap="2rem" direction="column">
44
+ <DxcFlex gap="1rem" direction="column">
45
+ <DxcTextInput size="fillParent" label="Name"></DxcTextInput>
46
+ <DxcTextInput size="fillParent" label="Surname"></DxcTextInput>
47
+ </DxcFlex>
48
+ <DxcFlex justifyContent="flex-end" gap="1rem">
49
+ <DxcButton label="Save"></DxcButton>
50
+ <DxcButton label="Cancel" mode="secondary"></DxcButton>
51
+ </DxcFlex>
52
+ </DxcFlex>
53
+ </DxcInset>
54
+ </DxcDialog>
55
+ </ExampleContainer>
56
+ </>
57
+ );
58
+
59
+ const RespDialog = () => (
60
+ <>
61
+ <ExampleContainer expanded={true}>
62
+ <Title title="Responsive dialog" theme="light" level={4} />
63
+ <DxcDialog>
64
+ <DxcInset bottom="1rem">
65
+ <DxcFlex gap="2rem" direction="column">
66
+ <DxcFlex gap="1rem" direction="column">
67
+ <DxcTextInput size="fillParent" label="Name"></DxcTextInput>
68
+ <DxcTextInput size="fillParent" label="Surname"></DxcTextInput>
69
+ </DxcFlex>
70
+ <DxcFlex justifyContent="flex-end" gap="1rem">
71
+ <DxcButton label="Save"></DxcButton>
72
+ <DxcButton label="Cancel" mode="secondary"></DxcButton>
73
+ </DxcFlex>
74
+ </DxcFlex>
75
+ </DxcInset>
76
+ </DxcDialog>
77
+ </ExampleContainer>
78
+ </>
79
+ );
80
+
33
81
  export const DialogWithoutOverlay = () => (
34
82
  <ExampleContainer expanded={true}>
35
83
  <Title title="Dialog Without Overlay" theme="light" level={4} />
@@ -209,3 +257,11 @@ export const DialogWithXxlargePadding = () => (
209
257
  </DxcDialog>
210
258
  </ExampleContainer>
211
259
  );
260
+
261
+ export const ResponsiveDialog = RespDialog.bind({});
262
+ ResponsiveDialog.parameters = {
263
+ viewport: {
264
+ defaultViewport: "iphonex",
265
+ },
266
+ chromatic: { viewports: [375] },
267
+ };
package/dialog/types.d.ts CHANGED
@@ -26,6 +26,7 @@ declare type Props = {
26
26
  */
27
27
  onBackgroundClick?: () => void;
28
28
  /**
29
+ * @deprecated This prop will be removed shortly, consider using the Inset component for this purpose.
29
30
  * Size of the padding to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
30
31
  * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different padding sizes.
31
32
  */
@@ -146,7 +146,7 @@ var DxcDropdown = function DxcDropdown(_ref) {
146
146
  handleOnOpenMenu();
147
147
  break;
148
148
 
149
- case "Space":
149
+ case " ":
150
150
  case "Down":
151
151
  case "ArrowDown":
152
152
  case "Enter":
@@ -186,7 +186,7 @@ var DxcDropdown = function DxcDropdown(_ref) {
186
186
  setNextIndexFocus();
187
187
  break;
188
188
 
189
- case "Space":
189
+ case " ":
190
190
  case "Enter":
191
191
  event.preventDefault();
192
192
  handleMenuItemOnClick(options[visualFocusIndex].value);
@@ -254,7 +254,8 @@ var DxcDropdown = function DxcDropdown(_ref) {
254
254
  }, /*#__PURE__*/_react["default"].createElement(Popover.Root, {
255
255
  open: isOpen
256
256
  }, /*#__PURE__*/_react["default"].createElement(Popover.Trigger, {
257
- asChild: true
257
+ asChild: true,
258
+ type: undefined
258
259
  }, /*#__PURE__*/_react["default"].createElement(DropdownTrigger, {
259
260
  opened: isOpen,
260
261
  onClick: handleTriggerOnClick,
@@ -267,8 +268,8 @@ var DxcDropdown = function DxcDropdown(_ref) {
267
268
  margin: margin,
268
269
  size: size,
269
270
  id: triggerId,
270
- "aria-disabled": disabled,
271
271
  "aria-haspopup": "true",
272
+ "aria-controls": menuId,
272
273
  "aria-expanded": isOpen ? true : undefined,
273
274
  tabIndex: tabIndex,
274
275
  ref: triggerRef
@@ -302,7 +303,7 @@ var sizes = {
302
303
  medium: "240px",
303
304
  large: "480px",
304
305
  fillParent: "100%",
305
- fitContent: "unset"
306
+ fitContent: "fit-content"
306
307
  };
307
308
 
308
309
  var calculateWidth = function calculateWidth(margin, size) {
@@ -74,7 +74,6 @@ describe("Dropdown component tests", function () {
74
74
  getByRole = _render.getByRole;
75
75
 
76
76
  var dropdown = getByRole("button");
77
- expect(dropdown.getAttribute("aria-disabled")).toBe("false");
78
77
  expect(dropdown.getAttribute("aria-haspopup")).toBe("true");
79
78
  expect(dropdown.getAttribute("aria-expanded")).toBeNull();
80
79
  expect(dropdown.getAttribute("aria-activedescendant")).toBeNull();
@@ -82,6 +81,7 @@ describe("Dropdown component tests", function () {
82
81
  _userEvent["default"].click(dropdown);
83
82
 
84
83
  var menu = getByRole("menu");
84
+ expect(dropdown.getAttribute("aria-controls")).toBe(menu.id);
85
85
  expect(dropdown.getAttribute("aria-expanded")).toBe("true");
86
86
  expect(menu.getAttribute("aria-activedescendant")).toBe("option-0");
87
87
  expect(menu.getAttribute("aria-orientation")).toBe("vertical");
@@ -123,7 +123,6 @@ describe("Dropdown component tests", function () {
123
123
  queryByText = _render3.queryByText;
124
124
 
125
125
  var dropdown = getByRole("button");
126
- expect(dropdown.getAttribute("aria-disabled")).toBe("true");
127
126
  expect(queryByRole("menu")).toBeFalsy();
128
127
 
129
128
  _userEvent["default"].click(dropdown);
@@ -267,7 +266,7 @@ describe("Dropdown component tests", function () {
267
266
  var dropdown = getByRole("button");
268
267
 
269
268
  _react2.fireEvent.keyDown(dropdown, {
270
- key: "Space",
269
+ key: " ",
271
270
  code: "Space",
272
271
  keyCode: 32,
273
272
  charCode: 32
@@ -49,7 +49,7 @@ var DropdownMenuItem = function DropdownMenuItem(_ref) {
49
49
  }) : option.icon), iconPosition === "before" && /*#__PURE__*/_react["default"].createElement(DropdownMenuItemLabel, null, option.label)));
50
50
  };
51
51
 
52
- var DropdownMenuItemContainer = _styledComponents["default"].li(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n align-items: center;\n gap: ", ";\n min-height: 36px;\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n cursor: pointer;\n\n ", "\n :hover {\n background-color: ", ";\n }\n :active {\n background-color: ", ";\n }\n"])), function (props) {
52
+ var DropdownMenuItemContainer = _styledComponents["default"].li(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n align-items: center;\n gap: ", ";\n min-height: 36px;\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n cursor: pointer;\n\n ", "\n &:hover {\n background-color: ", ";\n }\n &:active {\n background-color: ", ";\n }\n"])), function (props) {
53
53
  return props.theme.optionIconSpacing;
54
54
  }, function (props) {
55
55
  return props.theme.optionPaddingTop;
@@ -28,7 +28,14 @@ const social = [
28
28
  },
29
29
  {
30
30
  href: "https://twitter.com/dxctechnology",
31
- logo: "http://assets.stickpng.com/images/580b57fcd9996e24bc43c53e.png",
31
+ logo: (
32
+ <svg viewBox="0 0 248 204" fill="currentColor">
33
+ <path
34
+ fill="#1d9bf0"
35
+ d="M221.95 51.29c.15 2.17.15 4.34.15 6.53 0 66.73-50.8 143.69-143.69 143.69v-.04c-27.44.04-54.31-7.82-77.41-22.64 3.99.48 8 .72 12.02.73 22.74.02 44.83-7.61 62.72-21.66-21.61-.41-40.56-14.5-47.18-35.07 7.57 1.46 15.37 1.16 22.8-.87-23.56-4.76-40.51-25.46-40.51-49.5v-.64c7.02 3.91 14.88 6.08 22.92 6.32C11.58 63.31 4.74 33.79 18.14 10.71c25.64 31.55 63.47 50.73 104.08 52.76-4.07-17.54 1.49-35.92 14.61-48.25 20.34-19.12 52.33-18.14 71.45 2.19 11.31-2.23 22.15-6.38 32.07-12.26-3.77 11.69-11.66 21.62-22.2 27.93 10.01-1.18 19.79-3.86 29-7.95-6.78 10.16-15.32 19.01-25.2 26.16z"
36
+ />
37
+ </svg>
38
+ ),
32
39
  },
33
40
  {
34
41
  href: "https://www.facebook.com/DXCTechnology/",
package/footer/types.d.ts CHANGED
@@ -57,6 +57,7 @@ declare type FooterPropsType = {
57
57
  */
58
58
  margin?: Space | Size;
59
59
  /**
60
+ * @deprecated This prop will be removed shortly, consider using the Inset component for this purpose.
60
61
  * Size of the padding to be applied to the custom area of the component.
61
62
  * You can pass an object with properties in order to specify different padding sizes.
62
63
  */
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 = () => (
@@ -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
 
package/package.json CHANGED
@@ -1,20 +1,20 @@
1
1
  {
2
2
  "name": "@dxc-technology/halstack-react",
3
- "version": "0.0.0-8719165",
3
+ "version": "0.0.0-87e1151",
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": "^18.2.0",
17
- "react-dom": "^18.2.0",
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",
@@ -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": "^18.2.0",
77
- "react-dom": "^18.2.0",
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",