@dxc-technology/halstack-react 9.1.0 → 10.0.0

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 (81) hide show
  1. package/HalstackContext.d.ts +3 -6
  2. package/HalstackContext.js +1 -1
  3. package/accordion/Accordion.d.ts +1 -1
  4. package/accordion/Accordion.js +2 -14
  5. package/accordion/Accordion.stories.tsx +2 -100
  6. package/accordion/types.d.ts +0 -12
  7. package/accordion-group/AccordionGroup.d.ts +4 -3
  8. package/accordion-group/AccordionGroup.js +21 -42
  9. package/accordion-group/AccordionGroup.stories.tsx +77 -76
  10. package/accordion-group/AccordionGroup.test.js +6 -16
  11. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  12. package/accordion-group/AccordionGroupAccordion.js +43 -0
  13. package/accordion-group/types.d.ts +0 -12
  14. package/alert/Alert.js +1 -3
  15. package/box/Box.d.ts +1 -1
  16. package/box/Box.js +5 -22
  17. package/box/Box.stories.tsx +25 -53
  18. package/box/types.d.ts +0 -12
  19. package/bulleted-list/BulletedList.js +4 -2
  20. package/bulleted-list/BulletedList.stories.tsx +7 -1
  21. package/bulleted-list/types.d.ts +31 -4
  22. package/button/Button.d.ts +1 -1
  23. package/button/Button.js +45 -54
  24. package/button/Button.stories.tsx +3 -3
  25. package/button/Button.test.js +11 -0
  26. package/button/types.d.ts +4 -0
  27. package/card/Card.d.ts +1 -1
  28. package/card/Card.js +18 -35
  29. package/card/Card.stories.tsx +0 -29
  30. package/card/types.d.ts +1 -7
  31. package/chip/Chip.js +23 -36
  32. package/chip/Chip.stories.tsx +25 -17
  33. package/common/OpenSans.css +68 -80
  34. package/common/coreTokens.d.ts +146 -0
  35. package/common/coreTokens.js +167 -0
  36. package/common/variables.d.ts +1 -144
  37. package/common/variables.js +952 -1095
  38. package/date-input/Calendar.js +2 -2
  39. package/dialog/Dialog.d.ts +1 -1
  40. package/dialog/Dialog.js +4 -22
  41. package/dialog/Dialog.stories.tsx +52 -176
  42. package/dialog/types.d.ts +0 -13
  43. package/dropdown/DropdownMenu.js +5 -1
  44. package/file-input/FileItem.js +2 -2
  45. package/file-input/types.d.ts +1 -1
  46. package/flex/Flex.js +4 -2
  47. package/flex/Flex.stories.tsx +24 -10
  48. package/flex/types.d.ts +70 -5
  49. package/footer/Footer.d.ts +1 -1
  50. package/footer/Footer.js +43 -61
  51. package/footer/Footer.stories.tsx +12 -89
  52. package/footer/Footer.test.js +3 -1
  53. package/footer/types.d.ts +10 -12
  54. package/grid/Grid.d.ts +1 -1
  55. package/grid/Grid.js +1 -1
  56. package/grid/Grid.stories.tsx +38 -38
  57. package/header/Header.d.ts +1 -1
  58. package/header/Header.js +3 -30
  59. package/header/Header.stories.tsx +7 -71
  60. package/header/types.d.ts +0 -14
  61. package/inset/Inset.stories.tsx +1 -1
  62. package/layout/ApplicationLayout.d.ts +2 -2
  63. package/layout/ApplicationLayout.js +7 -4
  64. package/link/Link.js +1 -1
  65. package/nav-tabs/NavTabs.d.ts +2 -2
  66. package/nav-tabs/NavTabs.js +7 -10
  67. package/nav-tabs/NavTabs.stories.tsx +14 -0
  68. package/nav-tabs/Tab.js +22 -26
  69. package/nav-tabs/types.d.ts +8 -9
  70. package/package.json +1 -1
  71. package/paginator/Paginator.js +1 -1
  72. package/paginator/Paginator.test.js +13 -0
  73. package/radio-group/Radio.js +10 -10
  74. package/radio-group/RadioGroup.js +8 -10
  75. package/sidenav/Sidenav.js +21 -23
  76. package/text-input/TextInput.js +1 -1
  77. package/text-input/TextInput.stories.tsx +1 -1
  78. package/toggle-group/ToggleGroup.d.ts +2 -2
  79. package/useTheme.d.ts +1 -1
  80. package/utils/FocusLock.js +2 -3
  81. package/card/ice-cream.jpg +0 -0
@@ -56,16 +56,16 @@ export const Chromatic = () => (
56
56
  <Title title="Place self" level={4} />
57
57
  <ExampleContainer>
58
58
  <DxcGrid templateRows={["repeat(3, 100px)"]}>
59
- <DxcGrid.GridItem placeSelf="center">
59
+ <DxcGrid.Item placeSelf="center">
60
60
  <ColoredContainer height="50px" width="50px" />
61
- </DxcGrid.GridItem>
62
- <DxcGrid.GridItem placeSelf={{ alignSelf: "end" }}>
61
+ </DxcGrid.Item>
62
+ <DxcGrid.Item placeSelf={{ alignSelf: "end" }}>
63
63
  <ColoredContainer height="40px" width="40px" />
64
64
  <ColoredContainer height="30px" width="30px" />
65
- </DxcGrid.GridItem>
66
- <DxcGrid.GridItem placeSelf={{ alignSelf: "center", justifySelf: "end" }}>
65
+ </DxcGrid.Item>
66
+ <DxcGrid.Item placeSelf={{ alignSelf: "center", justifySelf: "end" }}>
67
67
  <ColoredContainer height="50px" width="50px" />
68
- </DxcGrid.GridItem>
68
+ </DxcGrid.Item>
69
69
  </DxcGrid>
70
70
  </ExampleContainer>
71
71
  <Title title="Halstack layout using template areas" level={4} />
@@ -76,33 +76,33 @@ export const Chromatic = () => (
76
76
  templateAreas={["header header header header", "sidenav main main main", "sidenav footer footer footer"]}
77
77
  gap={{ rowGap: "0.5rem", columnGap: "1rem" }}
78
78
  >
79
- <DxcGrid.GridItem areaName="header" as="header">
79
+ <DxcGrid.Item areaName="header" as="header">
80
80
  <ColoredContainer height="100%" />
81
- </DxcGrid.GridItem>
82
- <DxcGrid.GridItem areaName="main" as="main">
81
+ </DxcGrid.Item>
82
+ <DxcGrid.Item areaName="main" as="main">
83
83
  <ColoredContainer height="100%" />
84
- </DxcGrid.GridItem>
85
- <DxcGrid.GridItem areaName="sidenav" as="nav">
84
+ </DxcGrid.Item>
85
+ <DxcGrid.Item areaName="sidenav" as="nav">
86
86
  <ColoredContainer height="100%" />
87
- </DxcGrid.GridItem>
88
- <DxcGrid.GridItem areaName="footer" as="footer">
87
+ </DxcGrid.Item>
88
+ <DxcGrid.Item areaName="footer" as="footer">
89
89
  <ColoredContainer height="100%" />
90
- </DxcGrid.GridItem>
90
+ </DxcGrid.Item>
91
91
  </DxcGrid>
92
92
  </ExampleContainer>
93
93
  <Title title="Template rows and columns with flexible sizes" level={4} />
94
94
  <ExampleContainer>
95
95
  <DxcGrid templateColumns={["1fr", "1fr", "1fr"]} templateRows={["1fr", "3fr", "1fr"]} gap="0.5rem">
96
- <DxcGrid.GridItem column={{ start: 1, end: -1 }}>
96
+ <DxcGrid.Item column={{ start: 1, end: -1 }}>
97
97
  <ColoredContainer color="yellow" height="100%">
98
98
  Header
99
99
  </ColoredContainer>
100
- </DxcGrid.GridItem>
101
- <DxcGrid.GridItem column={1}>
100
+ </DxcGrid.Item>
101
+ <DxcGrid.Item column={1}>
102
102
  <ColoredContainer color="lightcyan" height="100%">
103
103
  Sidenav
104
104
  </ColoredContainer>
105
- </DxcGrid.GridItem>
105
+ </DxcGrid.Item>
106
106
  <DxcGrid
107
107
  column={{ start: 2, end: -1 }}
108
108
  templateRows={["repeat(4, 1fr)"]}
@@ -118,11 +118,11 @@ export const Chromatic = () => (
118
118
  <ColoredContainer />
119
119
  <ColoredContainer />
120
120
  </DxcGrid>
121
- <DxcGrid.GridItem column={{ start: 1, end: -1 }}>
121
+ <DxcGrid.Item column={{ start: 1, end: -1 }}>
122
122
  <ColoredContainer color="black" height="100%">
123
123
  Footer
124
124
  </ColoredContainer>
125
- </DxcGrid.GridItem>
125
+ </DxcGrid.Item>
126
126
  </DxcGrid>
127
127
  </ExampleContainer>
128
128
  <Title title="Overlapping" level={4} />
@@ -141,53 +141,53 @@ export const Chromatic = () => (
141
141
  <Title title="Implicit rows and columns" level={4} />
142
142
  <ExampleContainer>
143
143
  <DxcGrid templateColumns={["50px"]} templateRows={["50px", "50px"]} autoRows="50px" autoColumns="50px">
144
- <DxcGrid.GridItem>
144
+ <DxcGrid.Item>
145
145
  <ColoredContainer height="50px">1</ColoredContainer>
146
- </DxcGrid.GridItem>
147
- <DxcGrid.GridItem row={2}>
146
+ </DxcGrid.Item>
147
+ <DxcGrid.Item row={2}>
148
148
  <ColoredContainer height="50px">3</ColoredContainer>
149
- </DxcGrid.GridItem>
150
- <DxcGrid.GridItem row={6} column={1}>
149
+ </DxcGrid.Item>
150
+ <DxcGrid.Item row={6} column={1}>
151
151
  <ColoredContainer height="50px">5</ColoredContainer>
152
- </DxcGrid.GridItem>
153
- <DxcGrid.GridItem row={3}>
152
+ </DxcGrid.Item>
153
+ <DxcGrid.Item row={3}>
154
154
  <ColoredContainer height="50px">4</ColoredContainer>
155
- </DxcGrid.GridItem>
156
- <DxcGrid.GridItem row={{ start: 1, end: 2 }} column={{ start: 5, end: "span 2" }}>
155
+ </DxcGrid.Item>
156
+ <DxcGrid.Item row={{ start: 1, end: 2 }} column={{ start: 5, end: "span 2" }}>
157
157
  <ColoredContainer height="50px">2</ColoredContainer>
158
- </DxcGrid.GridItem>
158
+ </DxcGrid.Item>
159
159
  </DxcGrid>
160
160
  </ExampleContainer>
161
161
  <Title title="Autoflow 'row' (default)" level={4} />
162
162
  <ExampleContainer>
163
163
  <DxcGrid templateColumns={["repeat(5, 1fr)"]} templateRows={["1fr", "1fr"]} autoFlow="row" autoColumns="1fr">
164
- <DxcGrid.GridItem row={{ start: 1, end: "span 2" }} column={1}>
164
+ <DxcGrid.Item row={{ start: 1, end: "span 2" }} column={1}>
165
165
  <ColoredContainer height="100%">1</ColoredContainer>
166
- </DxcGrid.GridItem>
166
+ </DxcGrid.Item>
167
167
  <ColoredContainer color="lightyellow">2</ColoredContainer>
168
168
  <ColoredContainer color="lightcyan">3</ColoredContainer>
169
169
  <ColoredContainer color="lightgreen">4</ColoredContainer>
170
- <DxcGrid.GridItem row={{ start: 1, end: -1 }} column={-2}>
170
+ <DxcGrid.Item row={{ start: 1, end: -1 }} column={-2}>
171
171
  <ColoredContainer color="lightpink" height="100%">
172
172
  5
173
173
  </ColoredContainer>
174
- </DxcGrid.GridItem>
174
+ </DxcGrid.Item>
175
175
  </DxcGrid>
176
176
  </ExampleContainer>
177
177
  <Title title="Autoflow 'column'" level={4} />
178
178
  <ExampleContainer>
179
179
  <DxcGrid templateColumns={["repeat(5, 1fr)"]} templateRows={["1fr", "1fr"]} autoFlow="column" autoColumns="1fr">
180
- <DxcGrid.GridItem row={{ start: 1, end: -1 }} column={1}>
180
+ <DxcGrid.Item row={{ start: 1, end: -1 }} column={1}>
181
181
  <ColoredContainer height="100%">1</ColoredContainer>
182
- </DxcGrid.GridItem>
182
+ </DxcGrid.Item>
183
183
  <ColoredContainer color="lightyellow">2</ColoredContainer>
184
184
  <ColoredContainer color="lightcyan">3</ColoredContainer>
185
185
  <ColoredContainer color="lightgreen">4</ColoredContainer>
186
- <DxcGrid.GridItem row={{ start: 1, end: -1 }} column={-2}>
186
+ <DxcGrid.Item row={{ start: 1, end: -1 }} column={-2}>
187
187
  <ColoredContainer color="lightpink" height="100%">
188
188
  5
189
189
  </ColoredContainer>
190
- </DxcGrid.GridItem>
190
+ </DxcGrid.Item>
191
191
  </DxcGrid>
192
192
  </ExampleContainer>
193
193
  </>
@@ -2,7 +2,7 @@ import React from "react";
2
2
  import DxcDropdown from "../dropdown/Dropdown";
3
3
  import HeaderPropsType from "./types";
4
4
  declare const DxcHeader: {
5
- ({ underlined, content, responsiveContent, onClick, margin, padding, tabIndex, }: HeaderPropsType): JSX.Element;
5
+ ({ underlined, content, responsiveContent, onClick, margin, tabIndex, }: HeaderPropsType): JSX.Element;
6
6
  Dropdown: (props: React.ComponentProps<typeof DxcDropdown>) => JSX.Element;
7
7
  };
8
8
  export default DxcHeader;
package/header/Header.js CHANGED
@@ -72,13 +72,11 @@ var Content = function Content(_ref) {
72
72
  var isResponsive = _ref.isResponsive,
73
73
  responsiveContent = _ref.responsiveContent,
74
74
  handleMenu = _ref.handleMenu,
75
- padding = _ref.padding,
76
75
  content = _ref.content;
77
76
  var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
78
77
  return isResponsive ? /*#__PURE__*/_react["default"].createElement(MenuContent, {
79
78
  backgroundType: backgroundType
80
79
  }, responsiveContent(handleMenu)) : /*#__PURE__*/_react["default"].createElement(ContentContainer, {
81
- padding: padding,
82
80
  backgroundType: backgroundType
83
81
  }, content);
84
82
  };
@@ -90,7 +88,6 @@ var DxcHeader = function DxcHeader(_ref2) {
90
88
  responsiveContent = _ref2.responsiveContent,
91
89
  onClick = _ref2.onClick,
92
90
  margin = _ref2.margin,
93
- padding = _ref2.padding,
94
91
  _ref2$tabIndex = _ref2.tabIndex,
95
92
  tabIndex = _ref2$tabIndex === void 0 ? 0 : _ref2$tabIndex;
96
93
  var colorsTheme = (0, _useTheme["default"])();
@@ -145,9 +142,7 @@ var DxcHeader = function DxcHeader(_ref2) {
145
142
  tabIndex: onClick ? tabIndex : -1,
146
143
  interactuable: onClick ? true : false,
147
144
  onClick: onClick
148
- }, /*#__PURE__*/_react["default"].createElement(LogoContainer, null, headerLogo)), isResponsive && responsiveContent && /*#__PURE__*/_react["default"].createElement(MainContainer, null, /*#__PURE__*/_react["default"].createElement(ChildContainer, {
149
- padding: padding
150
- }, /*#__PURE__*/_react["default"].createElement(HamburguerTrigger, {
145
+ }, /*#__PURE__*/_react["default"].createElement(LogoContainer, null, headerLogo)), isResponsive && responsiveContent && /*#__PURE__*/_react["default"].createElement(MainContainer, null, /*#__PURE__*/_react["default"].createElement(ChildContainer, null, /*#__PURE__*/_react["default"].createElement(HamburguerTrigger, {
151
146
  tabIndex: tabIndex,
152
147
  onClick: handleMenu
153
148
  }, hamburgerIcon, translatedLabels.header.hamburguerTitle)), /*#__PURE__*/_react["default"].createElement(ResponsiveMenu, {
@@ -163,7 +158,6 @@ var DxcHeader = function DxcHeader(_ref2) {
163
158
  isResponsive: isResponsive,
164
159
  responsiveContent: responsiveContent,
165
160
  handleMenu: handleMenu,
166
- padding: padding,
167
161
  content: content
168
162
  }))), /*#__PURE__*/_react["default"].createElement(Overlay, {
169
163
  onClick: handleMenu,
@@ -174,7 +168,6 @@ var DxcHeader = function DxcHeader(_ref2) {
174
168
  isResponsive: isResponsive,
175
169
  responsiveContent: responsiveContent,
176
170
  handleMenu: handleMenu,
177
- padding: padding,
178
171
  content: content
179
172
  }))));
180
173
  };
@@ -209,29 +202,9 @@ var LogoContainer = _styledComponents["default"].div(_templateObject5 || (_templ
209
202
  return props.theme.logoWidth;
210
203
  });
211
204
 
212
- var ChildContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: flex-end;\n flex-grow: 1;\n width: calc(100% - 186px);\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n"])), function (props) {
213
- return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
214
- }, function (props) {
215
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
216
- }, function (props) {
217
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.right ? _variables.spaces[props.padding.right] : "";
218
- }, function (props) {
219
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
220
- }, function (props) {
221
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
222
- });
205
+ var ChildContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: flex-end;\n flex-grow: 1;\n width: calc(100% - 186px);\n"])));
223
206
 
224
- var ContentContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n flex-grow: 1;\n justify-content: flex-end;\n width: calc(100% - 186px);\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n color: ", ";\n"])), function (props) {
225
- return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
226
- }, function (props) {
227
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
228
- }, function (props) {
229
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.right ? _variables.spaces[props.padding.right] : "";
230
- }, function (props) {
231
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
232
- }, function (props) {
233
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
234
- }, function (props) {
207
+ var ContentContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n flex-grow: 1;\n justify-content: flex-end;\n width: calc(100% - 186px);\n color: ", ";\n"])), function (props) {
235
208
  return props.backgroundType === "dark" ? props.theme.contentColorOnDark : props.theme.contentColor;
236
209
  });
237
210
 
@@ -42,46 +42,9 @@ const opinionatedTheme = {
42
42
  fontColor: "#000000",
43
43
  menuBaseColor: "#ffffff",
44
44
  hamburguerColor: "#000000",
45
- logo: (
46
- <svg xmlns="http://www.w3.org/2000/svg" width="73" height="40" viewBox="0 0 73 40">
47
- <g id="g10" transform="translate(0)">
48
- <g id="g12">
49
- <path
50
- id="path14"
51
- 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"
52
- transform="translate(-21.028 65.555)"
53
- fill="#100f0d"
54
- />
55
- <path
56
- id="path16"
57
- 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"
58
- transform="translate(-21.049 88.739)"
59
- fill="#5f249f"
60
- />
61
- </g>
62
- </g>
63
- </svg>
64
- ),
65
- logoResponsive: (
66
- <svg xmlns="http://www.w3.org/2000/svg" width="73" height="40" viewBox="0 0 73 40">
67
- <g id="g10" transform="translate(0)">
68
- <g id="g12">
69
- <path
70
- id="path14"
71
- 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"
72
- transform="translate(-21.028 65.555)"
73
- fill="#100f0d"
74
- />
75
- <path
76
- id="path16"
77
- 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"
78
- transform="translate(-21.049 88.739)"
79
- fill="#5f249f"
80
- />
81
- </g>
82
- </g>
83
- </svg>
84
- ),
45
+ logo: "https://upload.wikimedia.org/wikipedia/commons/thumb/b/b8/2021_Facebook_icon.svg/2048px-2021_Facebook_icon.svg.png",
46
+ logoResponsive:
47
+ "https://upload.wikimedia.org/wikipedia/commons/thumb/b/b8/2021_Facebook_icon.svg/2048px-2021_Facebook_icon.svg.png",
85
48
  contentColor: "#000000",
86
49
  overlayColor: "#000000b3",
87
50
  },
@@ -149,35 +112,6 @@ export const Chromatic = () => (
149
112
  <DxcHeader underlined margin="xxlarge" />
150
113
  <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
151
114
  </ExampleContainer>
152
- <Title title="Paddings" theme="light" level={2} />
153
- <ExampleContainer>
154
- <Title title="Xxsmall padding" theme="light" level={4} />
155
- <DxcHeader underlined padding="xxsmall" />
156
- </ExampleContainer>
157
- <ExampleContainer>
158
- <Title title="Xsmall padding" theme="light" level={4} />
159
- <DxcHeader underlined padding="xsmall" />
160
- </ExampleContainer>
161
- <ExampleContainer>
162
- <Title title="Small padding" theme="light" level={4} />
163
- <DxcHeader underlined padding="small" />
164
- </ExampleContainer>
165
- <ExampleContainer>
166
- <Title title="Medium padding" theme="light" level={4} />
167
- <DxcHeader underlined padding="medium" />
168
- </ExampleContainer>
169
- <ExampleContainer>
170
- <Title title="Large padding" theme="light" level={4} />
171
- <DxcHeader underlined padding="large" />
172
- </ExampleContainer>
173
- <ExampleContainer>
174
- <Title title="Xlarge padding" theme="light" level={4} />
175
- <DxcHeader underlined padding="xlarge" />
176
- </ExampleContainer>
177
- <ExampleContainer>
178
- <Title title="Xxlarge padding" theme="light" level={4} />
179
- <DxcHeader underlined padding="xxlarge" />
180
- </ExampleContainer>
181
115
  <Title title="Opinionated theme" theme="light" level={2} />
182
116
  <ExampleContainer>
183
117
  <HalstackProvider theme={opinionatedTheme}>
@@ -200,8 +134,10 @@ export const ResponsiveHeader = () => (
200
134
  <ExampleContainer>
201
135
  <Title title="Responsive" theme="light" level={4} />
202
136
  <DxcHeader
203
- content={<DxcHeader.Dropdown options={options} label="Default Dropdown" />}
204
- responsiveContent={(closeHandler) => <DxcHeader.Dropdown options={options} label="Default Dropdown" />}
137
+ content={<DxcHeader.Dropdown options={options} label="Default Dropdown" onSelectOption={() => {}} />}
138
+ responsiveContent={(closeHandler) => (
139
+ <DxcHeader.Dropdown options={options} label="Default Dropdown" onSelectOption={() => {}} />
140
+ )}
205
141
  underlined
206
142
  />
207
143
  </ExampleContainer>
package/header/types.d.ts CHANGED
@@ -1,11 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
- declare type Padding = {
4
- top?: Space;
5
- bottom?: Space;
6
- left?: Space;
7
- right?: Space;
8
- };
9
3
  declare type Props = {
10
4
  /**
11
5
  * Wether a contrast line should appear at the bottom of the header.
@@ -31,14 +25,6 @@ declare type Props = {
31
25
  * ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
32
26
  */
33
27
  margin?: Space;
34
- /**
35
- * @deprecated This prop will be removed shortly, consider using the Inset component for this purpose.
36
- * Size of the padding to be applied to the custom area of the component
37
- * ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
38
- * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in
39
- * order to specify different padding sizes.
40
- */
41
- padding?: Space | Padding;
42
28
  /**
43
29
  * Value of the tabindex for all interactuable elements, except those inside the
44
30
  * custom area.
@@ -205,7 +205,7 @@ export const Chromatic = () => (
205
205
  </Container>
206
206
  <Title title="Inside a flex column" level={4} />
207
207
  <Container>
208
- <DxcFlex direction="column" gap="0.75rem">
208
+ <DxcFlex direction="column" gap="1rem">
209
209
  <Placeholder></Placeholder>
210
210
  <DxcInset top="0.25rem" right="1.5rem" bottom="2rem" left="4rem">
211
211
  <Placeholder></Placeholder>
@@ -3,11 +3,11 @@ import AppLayoutPropsType, { AppLayoutMainPropsType } from "./types";
3
3
  declare const DxcApplicationLayout: {
4
4
  ({ visibilityToggleLabel, header, sidenav, footer, children, }: AppLayoutPropsType): JSX.Element;
5
5
  Header: {
6
- ({ underlined, content, responsiveContent, onClick, margin, padding, tabIndex, }: import("../header/types").default): JSX.Element;
6
+ ({ underlined, content, responsiveContent, onClick, margin, tabIndex, }: import("../header/types").default): JSX.Element;
7
7
  Dropdown: (props: import("../dropdown/types").default) => JSX.Element;
8
8
  };
9
9
  Main: ({ children }: AppLayoutMainPropsType) => JSX.Element;
10
- Footer: ({ socialLinks, bottomLinks, copyright, children, padding, margin, tabIndex, }: import("../footer/types").default) => JSX.Element;
10
+ Footer: ({ socialLinks, bottomLinks, copyright, children, margin, tabIndex, }: import("../footer/types").default) => JSX.Element;
11
11
  SideNav: {
12
12
  ({ title, children }: import("../sidenav/types").default): JSX.Element;
13
13
  Section: ({ children }: import("../sidenav/types").SidenavSectionPropsType) => JSX.Element;
@@ -65,13 +65,16 @@ var defaultFooter = function defaultFooter() {
65
65
  }],
66
66
  socialLinks: [{
67
67
  href: "https://www.linkedin.com/company/dxctechnology",
68
- logo: _Icons.linkedinLogo
68
+ logo: _Icons.linkedinLogo,
69
+ title: "Linkedin"
69
70
  }, {
70
71
  href: "https://twitter.com/dxctechnology",
71
- logo: _Icons.twitterLogo
72
+ logo: _Icons.twitterLogo,
73
+ title: "Twitter"
72
74
  }, {
73
75
  href: "https://www.facebook.com/DXCTechnology/",
74
- logo: _Icons.facebookLogo
76
+ logo: _Icons.facebookLogo,
77
+ title: "Facebook"
75
78
  }]
76
79
  });
77
80
  };
@@ -160,7 +163,7 @@ var SidenavContainer = _styledComponents["default"].div(_templateObject6 || (_te
160
163
 
161
164
  var MainContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n width: 100%;\n"])));
162
165
 
163
- var MainContentContainer = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n flex: 1;\n"])));
166
+ var MainContentContainer = _styledComponents["default"].main(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n flex: 1;\n background-color: #fff;\n"])));
164
167
 
165
168
  DxcApplicationLayout.Header = _Header["default"];
166
169
  DxcApplicationLayout.Main = Main;
package/link/Link.js CHANGED
@@ -105,7 +105,7 @@ var StyledLink = _styledComponents["default"].div(_templateObject || (_templateO
105
105
  }, function (props) {
106
106
  return props.disabled && "cursor: default;";
107
107
  }, function (props) {
108
- return props.inheritColor ? "inherit" : !props.disabled ? props.theme.fontColor : props.theme.disabledColor;
108
+ return props.inheritColor ? "inherit" : !props.disabled ? props.theme.fontColor : props.theme.disabledFontColor;
109
109
  }, function (props) {
110
110
  return props.disabled ? "pointer-events: none;" : "";
111
111
  }, function (props) {
@@ -1,8 +1,8 @@
1
1
  import React from "react";
2
- import { NavTabsContextProps, NavTabsProps } from "./types";
2
+ import NavTabsPropsType, { NavTabsContextProps } from "./types";
3
3
  export declare const NavTabsContext: React.Context<NavTabsContextProps>;
4
4
  declare const DxcNavTabs: {
5
- ({ iconPosition, tabIndex, children }: NavTabsProps): JSX.Element;
5
+ ({ iconPosition, tabIndex, children }: NavTabsPropsType): JSX.Element;
6
6
  Tab: React.ForwardRefExoticComponent<import("./types").TabProps & React.RefAttributes<HTMLAnchorElement>>;
7
7
  };
8
8
  export default DxcNavTabs;
@@ -68,23 +68,20 @@ var DxcNavTabs = function DxcNavTabs(_ref) {
68
68
  _ref$tabIndex = _ref.tabIndex,
69
69
  tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,
70
70
  children = _ref.children;
71
- var colorsTheme = (0, _useTheme["default"])();
72
71
 
73
72
  var _useState = (0, _react.useState)(null),
74
73
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
75
- innerFocus = _useState2[0],
76
- setInnerFocus = _useState2[1];
74
+ innerFocusIndex = _useState2[0],
75
+ setInnerFocusIndex = _useState2[1];
77
76
 
77
+ var colorsTheme = (0, _useTheme["default"])();
78
78
  var contextValue = (0, _react.useMemo)(function () {
79
79
  return {
80
80
  iconPosition: iconPosition,
81
81
  tabIndex: tabIndex,
82
- hasIcons: _react["default"].Children.toArray(children).some(function (child) {
83
- return getPropInChild(child, "icon");
84
- }),
85
- focusedLabel: innerFocus === null ? undefined : getLabelFromTab(children[innerFocus])
82
+ focusedLabel: innerFocusIndex === null ? undefined : getLabelFromTab(children[innerFocusIndex])
86
83
  };
87
- }, [iconPosition, tabIndex, innerFocus]);
84
+ }, [iconPosition, tabIndex, innerFocusIndex]);
88
85
 
89
86
  var handleOnKeyDown = function handleOnKeyDown(event) {
90
87
  var activeTab = _react["default"].Children.toArray(children).findIndex(function (child) {
@@ -95,13 +92,13 @@ var DxcNavTabs = function DxcNavTabs(_ref) {
95
92
  case "Left":
96
93
  case "ArrowLeft":
97
94
  event.preventDefault();
98
- setInnerFocus(getPreviousTabIndex(children, innerFocus === null ? activeTab : innerFocus));
95
+ setInnerFocusIndex(getPreviousTabIndex(children, innerFocusIndex === null ? activeTab : innerFocusIndex));
99
96
  break;
100
97
 
101
98
  case "Right":
102
99
  case "ArrowRight":
103
100
  event.preventDefault();
104
- setInnerFocus(getNextTabIndex(children, innerFocus === null ? activeTab : innerFocus));
101
+ setInnerFocusIndex(getNextTabIndex(children, innerFocusIndex === null ? activeTab : innerFocusIndex));
105
102
  break;
106
103
  }
107
104
  };
@@ -176,6 +176,20 @@ export const Chromatic = () => (
176
176
  </DxcNavTabs.Tab>
177
177
  </DxcNavTabs>
178
178
  </ExampleContainer>
179
+ <ExampleContainer>
180
+ <Title title="With long label and left icon alignment" theme="light" level={4} />
181
+ <DxcNavTabs iconPosition="left">
182
+ <DxcNavTabs.Tab href="#" active>
183
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit
184
+ </DxcNavTabs.Tab>
185
+ <DxcNavTabs.Tab href="#" icon={iconSVG} disabled notificationNumber={3}>
186
+ Tab 2
187
+ </DxcNavTabs.Tab>
188
+ <DxcNavTabs.Tab href="#" icon={iconSVG}>
189
+ Tab 3
190
+ </DxcNavTabs.Tab>
191
+ </DxcNavTabs>
192
+ </ExampleContainer>
179
193
  <Title title="Opinionated theme" theme="light" level={2} />
180
194
  <ExampleContainer>
181
195
  <Title title="Only label" theme="light" level={4} />