@dxc-technology/halstack-react 0.0.0-bd364ae → 0.0.0-bf1a0c9

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 (239) hide show
  1. package/BackgroundColorContext.d.ts +2 -2
  2. package/BackgroundColorContext.js +1 -1
  3. package/HalstackContext.d.ts +1329 -5
  4. package/HalstackContext.js +117 -77
  5. package/accordion/Accordion.js +118 -110
  6. package/accordion/Accordion.stories.tsx +104 -16
  7. package/accordion/Accordion.test.js +10 -11
  8. package/accordion/types.d.ts +2 -1
  9. package/accordion-group/AccordionGroup.js +4 -23
  10. package/accordion-group/AccordionGroup.stories.tsx +27 -1
  11. package/accordion-group/AccordionGroup.test.js +21 -46
  12. package/accordion-group/types.d.ts +8 -1
  13. package/alert/Alert.js +4 -6
  14. package/alert/Alert.stories.tsx +28 -0
  15. package/alert/Alert.test.js +1 -1
  16. package/bleed/Bleed.stories.tsx +64 -63
  17. package/box/Box.js +4 -6
  18. package/box/Box.stories.tsx +15 -0
  19. package/box/Box.test.js +1 -1
  20. package/box/types.d.ts +1 -0
  21. package/bulleted-list/BulletedList.d.ts +7 -0
  22. package/bulleted-list/BulletedList.js +123 -0
  23. package/bulleted-list/BulletedList.stories.tsx +200 -0
  24. package/bulleted-list/types.d.ts +11 -0
  25. package/button/Button.js +52 -73
  26. package/button/Button.stories.tsx +159 -8
  27. package/button/Button.test.js +1 -1
  28. package/button/types.d.ts +5 -5
  29. package/card/Card.js +12 -13
  30. package/card/Card.stories.tsx +12 -13
  31. package/card/Card.test.js +1 -1
  32. package/card/types.d.ts +1 -0
  33. package/checkbox/Checkbox.d.ts +2 -2
  34. package/checkbox/Checkbox.js +94 -101
  35. package/checkbox/Checkbox.stories.tsx +131 -59
  36. package/checkbox/Checkbox.test.js +94 -17
  37. package/checkbox/types.d.ts +4 -0
  38. package/chip/Chip.js +18 -26
  39. package/chip/Chip.stories.tsx +96 -9
  40. package/chip/Chip.test.js +3 -5
  41. package/chip/types.d.ts +1 -1
  42. package/common/OpenSans.css +68 -80
  43. package/common/coreTokens.d.ts +146 -0
  44. package/common/coreTokens.js +167 -0
  45. package/common/utils.d.ts +1 -0
  46. package/common/utils.js +4 -4
  47. package/common/variables.d.ts +1482 -0
  48. package/common/variables.js +1009 -1118
  49. package/date-input/Calendar.d.ts +4 -0
  50. package/date-input/Calendar.js +258 -0
  51. package/date-input/DateInput.js +134 -237
  52. package/date-input/DateInput.stories.tsx +199 -33
  53. package/date-input/DateInput.test.js +494 -138
  54. package/date-input/DatePicker.d.ts +4 -0
  55. package/date-input/DatePicker.js +146 -0
  56. package/date-input/Icons.d.ts +6 -0
  57. package/date-input/Icons.js +75 -0
  58. package/date-input/YearPicker.d.ts +4 -0
  59. package/date-input/YearPicker.js +126 -0
  60. package/date-input/types.d.ts +51 -0
  61. package/dialog/Dialog.js +80 -69
  62. package/dialog/Dialog.stories.tsx +230 -123
  63. package/dialog/Dialog.test.js +334 -5
  64. package/dialog/types.d.ts +1 -0
  65. package/dropdown/Dropdown.d.ts +1 -1
  66. package/dropdown/Dropdown.js +246 -249
  67. package/dropdown/Dropdown.stories.tsx +245 -56
  68. package/dropdown/Dropdown.test.js +507 -110
  69. package/dropdown/DropdownMenu.d.ts +4 -0
  70. package/dropdown/DropdownMenu.js +74 -0
  71. package/dropdown/DropdownMenuItem.d.ts +4 -0
  72. package/dropdown/DropdownMenuItem.js +79 -0
  73. package/dropdown/types.d.ts +23 -3
  74. package/file-input/FileInput.d.ts +2 -2
  75. package/file-input/FileInput.js +174 -220
  76. package/file-input/FileInput.stories.tsx +122 -11
  77. package/file-input/FileInput.test.js +14 -14
  78. package/file-input/FileItem.d.ts +4 -14
  79. package/file-input/FileItem.js +39 -63
  80. package/file-input/types.d.ts +17 -0
  81. package/flex/Flex.d.ts +4 -0
  82. package/flex/Flex.js +71 -0
  83. package/flex/Flex.stories.tsx +112 -0
  84. package/flex/types.d.ts +97 -0
  85. package/footer/Footer.js +6 -8
  86. package/footer/Footer.stories.tsx +99 -1
  87. package/footer/Footer.test.js +14 -26
  88. package/footer/Icons.js +1 -1
  89. package/footer/types.d.ts +2 -1
  90. package/grid/Grid.d.ts +7 -0
  91. package/grid/Grid.js +91 -0
  92. package/grid/Grid.stories.tsx +219 -0
  93. package/grid/types.d.ts +115 -0
  94. package/header/Header.d.ts +3 -2
  95. package/header/Header.js +89 -89
  96. package/header/Header.stories.tsx +152 -9
  97. package/header/Header.test.js +2 -2
  98. package/header/Icons.js +2 -2
  99. package/header/types.d.ts +1 -0
  100. package/heading/Heading.js +1 -1
  101. package/heading/Heading.test.js +1 -1
  102. package/inset/Inset.stories.tsx +5 -4
  103. package/layout/ApplicationLayout.d.ts +15 -6
  104. package/layout/ApplicationLayout.js +38 -66
  105. package/layout/ApplicationLayout.stories.tsx +80 -44
  106. package/layout/types.d.ts +18 -29
  107. package/link/Link.js +4 -4
  108. package/link/Link.stories.tsx +73 -6
  109. package/link/Link.test.js +2 -4
  110. package/link/types.d.ts +3 -3
  111. package/main.d.ts +7 -9
  112. package/main.js +33 -49
  113. package/{tabs-nav → nav-tabs}/NavTabs.js +6 -6
  114. package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +96 -6
  115. package/{tabs-nav → nav-tabs}/NavTabs.test.js +1 -1
  116. package/{tabs-nav → nav-tabs}/Tab.js +40 -22
  117. package/{tabs-nav → nav-tabs}/types.d.ts +1 -1
  118. package/number-input/NumberInput.test.js +44 -8
  119. package/package.json +17 -21
  120. package/paginator/Icons.d.ts +5 -0
  121. package/paginator/Icons.js +16 -28
  122. package/paginator/Paginator.js +7 -15
  123. package/paginator/Paginator.stories.tsx +24 -0
  124. package/paginator/Paginator.test.js +78 -39
  125. package/paragraph/Paragraph.d.ts +5 -0
  126. package/paragraph/Paragraph.js +38 -0
  127. package/paragraph/Paragraph.stories.tsx +44 -0
  128. package/password-input/PasswordInput.test.js +14 -13
  129. package/progress-bar/ProgressBar.js +60 -54
  130. package/progress-bar/ProgressBar.stories.jsx +38 -3
  131. package/progress-bar/ProgressBar.test.js +68 -23
  132. package/quick-nav/QuickNav.js +23 -18
  133. package/quick-nav/QuickNav.stories.tsx +145 -26
  134. package/radio-group/Radio.d.ts +1 -1
  135. package/radio-group/Radio.js +43 -28
  136. package/radio-group/RadioGroup.js +23 -22
  137. package/radio-group/RadioGroup.stories.tsx +132 -18
  138. package/radio-group/RadioGroup.test.js +124 -97
  139. package/radio-group/types.d.ts +2 -2
  140. package/resultsetTable/Icons.d.ts +7 -0
  141. package/resultsetTable/Icons.js +51 -0
  142. package/resultsetTable/ResultsetTable.js +49 -108
  143. package/resultsetTable/ResultsetTable.stories.tsx +50 -25
  144. package/resultsetTable/ResultsetTable.test.js +61 -42
  145. package/resultsetTable/types.d.ts +1 -1
  146. package/select/Listbox.d.ts +1 -1
  147. package/select/Listbox.js +33 -16
  148. package/select/Option.js +11 -24
  149. package/select/Select.js +92 -71
  150. package/select/Select.stories.tsx +513 -136
  151. package/select/Select.test.js +413 -305
  152. package/select/types.d.ts +3 -6
  153. package/sidenav/Icons.d.ts +7 -0
  154. package/sidenav/Icons.js +51 -0
  155. package/sidenav/Sidenav.d.ts +6 -5
  156. package/sidenav/Sidenav.js +147 -54
  157. package/sidenav/Sidenav.stories.tsx +251 -151
  158. package/sidenav/Sidenav.test.js +25 -37
  159. package/sidenav/types.d.ts +52 -26
  160. package/slider/Slider.d.ts +2 -2
  161. package/slider/Slider.js +121 -97
  162. package/slider/Slider.stories.tsx +64 -1
  163. package/slider/Slider.test.js +122 -22
  164. package/slider/types.d.ts +4 -0
  165. package/spinner/Spinner.js +17 -23
  166. package/spinner/Spinner.stories.jsx +53 -27
  167. package/spinner/Spinner.test.js +1 -1
  168. package/switch/Switch.d.ts +2 -2
  169. package/switch/Switch.js +137 -70
  170. package/switch/Switch.stories.tsx +41 -30
  171. package/switch/Switch.test.js +145 -18
  172. package/switch/types.d.ts +4 -0
  173. package/table/Table.js +3 -3
  174. package/table/Table.stories.jsx +80 -1
  175. package/table/Table.test.js +2 -2
  176. package/tabs/Tab.d.ts +4 -0
  177. package/tabs/Tab.js +132 -0
  178. package/tabs/Tabs.js +358 -108
  179. package/tabs/Tabs.stories.tsx +119 -5
  180. package/tabs/Tabs.test.js +220 -10
  181. package/tabs/types.d.ts +13 -3
  182. package/tag/Tag.js +8 -10
  183. package/tag/Tag.stories.tsx +14 -1
  184. package/tag/Tag.test.js +1 -1
  185. package/tag/types.d.ts +1 -1
  186. package/text-input/Icons.d.ts +8 -0
  187. package/text-input/Icons.js +60 -0
  188. package/text-input/Suggestion.js +40 -11
  189. package/text-input/Suggestions.d.ts +4 -0
  190. package/text-input/Suggestions.js +134 -0
  191. package/text-input/TextInput.js +198 -295
  192. package/text-input/TextInput.stories.tsx +280 -185
  193. package/text-input/TextInput.test.js +736 -725
  194. package/text-input/types.d.ts +22 -3
  195. package/textarea/Textarea.js +3 -4
  196. package/textarea/Textarea.stories.jsx +60 -1
  197. package/textarea/Textarea.test.js +2 -4
  198. package/toggle-group/ToggleGroup.js +7 -4
  199. package/toggle-group/ToggleGroup.stories.tsx +42 -0
  200. package/toggle-group/ToggleGroup.test.js +1 -1
  201. package/toggle-group/types.d.ts +2 -2
  202. package/typography/Typography.d.ts +4 -0
  203. package/typography/Typography.js +32 -0
  204. package/typography/Typography.stories.tsx +198 -0
  205. package/typography/types.d.ts +18 -0
  206. package/typography/types.js +5 -0
  207. package/useTheme.d.ts +1234 -1
  208. package/useTheme.js +1 -1
  209. package/useTranslatedLabels.d.ts +84 -1
  210. package/utils/BaseTypography.d.ts +21 -0
  211. package/utils/BaseTypography.js +108 -0
  212. package/utils/FocusLock.d.ts +13 -0
  213. package/utils/FocusLock.js +139 -0
  214. package/wizard/Wizard.js +10 -17
  215. package/wizard/Wizard.stories.tsx +40 -1
  216. package/wizard/Wizard.test.js +1 -1
  217. package/wizard/types.d.ts +3 -3
  218. package/common/RequiredComponent.js +0 -32
  219. package/list/List.d.ts +0 -4
  220. package/list/List.js +0 -47
  221. package/list/List.stories.tsx +0 -95
  222. package/list/types.d.ts +0 -7
  223. package/row/Row.d.ts +0 -3
  224. package/row/Row.js +0 -127
  225. package/row/Row.stories.tsx +0 -237
  226. package/row/types.d.ts +0 -28
  227. package/stack/Stack.d.ts +0 -3
  228. package/stack/Stack.js +0 -97
  229. package/stack/Stack.stories.tsx +0 -164
  230. package/stack/types.d.ts +0 -24
  231. package/text/Text.d.ts +0 -7
  232. package/text/Text.js +0 -30
  233. package/text/Text.stories.tsx +0 -19
  234. /package/{list → bulleted-list}/types.js +0 -0
  235. /package/{row → flex}/types.js +0 -0
  236. /package/{stack → grid}/types.js +0 -0
  237. /package/{tabs-nav → nav-tabs}/NavTabs.d.ts +0 -0
  238. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
  239. /package/{tabs-nav → nav-tabs}/types.js +0 -0
@@ -2,6 +2,7 @@ import React from "react";
2
2
  import DxcLink from "./Link";
3
3
  import Title from "../../.storybook/components/Title";
4
4
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
+ import { HalstackProvider } from "../HalstackContext";
5
6
 
6
7
  export default {
7
8
  title: "Link",
@@ -9,7 +10,7 @@ export default {
9
10
  };
10
11
 
11
12
  const icon = (
12
- <svg viewBox="0 0 24 24" enable-background="new 0 0 24 24" fill="currentColor">
13
+ <svg viewBox="0 0 24 24" enableBackground="new 0 0 24 24" fill="currentColor">
13
14
  <g id="Bounding_Box">
14
15
  <rect fill="none" width="24" height="24" />
15
16
  </g>
@@ -19,6 +20,12 @@ const icon = (
19
20
  </svg>
20
21
  );
21
22
 
23
+ const opinionatedTheme = {
24
+ link: {
25
+ baseColor: "#5f249f",
26
+ },
27
+ };
28
+
22
29
  export const Chromatic = () => (
23
30
  <>
24
31
  <Title title="With anchor" theme="light" level={2} />
@@ -68,11 +75,18 @@ export const Chromatic = () => (
68
75
  </ExampleContainer>
69
76
  <ExampleContainer pseudoState="pseudo-hover">
70
77
  <Title title="Long text with hover" theme="light" level={4} />
71
- Lorem <DxcLink href="https://www.google.com">Test</DxcLink> ipsum dolor sit amet, consectetur adipiscing elit, sed
72
- do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation
73
- ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit
74
- esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui
75
- officia deserunt mollit anim id est laborum.
78
+ Lorem{" "}
79
+ <DxcLink href="https://www.google.com" icon={icon}>
80
+ Test
81
+ </DxcLink>{" "}
82
+ ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
83
+ aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
84
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
85
+ Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit{" "}
86
+ <DxcLink href="https://www.google.com" icon={icon} iconPosition="after">
87
+ Test
88
+ </DxcLink>{" "}
89
+ anim id est laborum.
76
90
  </ExampleContainer>
77
91
  <ExampleContainer pseudoState="pseudo-focus">
78
92
  <Title title="Long text with focus" theme="light" level={4} />
@@ -182,5 +196,58 @@ export const Chromatic = () => (
182
196
  Test
183
197
  </DxcLink>
184
198
  </ExampleContainer>
199
+ <Title title="Opinionated theme" theme="light" level={2} />
200
+ <ExampleContainer>
201
+ <Title title="Disabled" theme="light" level={4} />
202
+ <HalstackProvider theme={opinionatedTheme}>
203
+ <DxcLink disabled>Test</DxcLink>
204
+ </HalstackProvider>
205
+ </ExampleContainer>
206
+ <ExampleContainer>
207
+ <Title title="Icon before" theme="light" level={4} />
208
+ <HalstackProvider theme={opinionatedTheme}>
209
+ <DxcLink href="https://www.google.com" icon={icon} iconPosition="before">
210
+ Test
211
+ </DxcLink>
212
+ </HalstackProvider>
213
+ </ExampleContainer>
214
+ <ExampleContainer>
215
+ <Title title="Disabled" theme="light" level={4} />
216
+ <HalstackProvider theme={opinionatedTheme}>
217
+ <DxcLink disabled>Test</DxcLink>
218
+ </HalstackProvider>
219
+ </ExampleContainer>
220
+ <ExampleContainer>
221
+ <Title title="Icon after" theme="light" level={4} />{" "}
222
+ <HalstackProvider theme={opinionatedTheme}>
223
+ <DxcLink onClick={() => {}} icon={icon} iconPosition="after">
224
+ Test
225
+ </DxcLink>
226
+ </HalstackProvider>
227
+ </ExampleContainer>
228
+ <ExampleContainer pseudoState="pseudo-hover">
229
+ <Title title="With link hovered" theme="light" level={4} />
230
+ <HalstackProvider theme={opinionatedTheme}>
231
+ <DxcLink onClick={() => {}}>Test</DxcLink>
232
+ </HalstackProvider>
233
+ </ExampleContainer>
234
+ <ExampleContainer pseudoState="pseudo-focus">
235
+ <Title title="With link focused" theme="light" level={4} />
236
+ <HalstackProvider theme={opinionatedTheme}>
237
+ <DxcLink onClick={() => {}}>Test</DxcLink>
238
+ </HalstackProvider>
239
+ </ExampleContainer>
240
+ <ExampleContainer pseudoState="pseudo-active">
241
+ <Title title="With link active" theme="light" level={4} />
242
+ <HalstackProvider theme={opinionatedTheme}>
243
+ <DxcLink onClick={() => {}}>Test</DxcLink>
244
+ </HalstackProvider>
245
+ </ExampleContainer>
246
+ <ExampleContainer pseudoState="pseudo-visited">
247
+ <HalstackProvider theme={opinionatedTheme}>
248
+ <Title title="With link visited" theme="light" level={4} />
249
+ <DxcLink href="https://www.google.com">Test</DxcLink>
250
+ </HalstackProvider>
251
+ </ExampleContainer>
185
252
  </>
186
253
  );
package/link/Link.test.js CHANGED
@@ -6,7 +6,7 @@ var _react = _interopRequireDefault(require("react"));
6
6
 
7
7
  var _react2 = require("@testing-library/react");
8
8
 
9
- var _Link = _interopRequireDefault(require("./Link"));
9
+ var _Link = _interopRequireDefault(require("./Link.tsx"));
10
10
 
11
11
  describe("Link component tests", function () {
12
12
  test("Link renders with correct text", function () {
@@ -33,9 +33,7 @@ describe("Link component tests", function () {
33
33
  expect(getByText("Link").hasAttribute("href")).toBeFalsy();
34
34
 
35
35
  var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Link["default"], {
36
- onClick: function onClick() {
37
- return console.log("Andorra");
38
- },
36
+ onClick: function onClick() {},
39
37
  disabled: true
40
38
  }, "LinkButton")),
41
39
  getByTextLinkButton = _render4.getByText;
package/link/types.d.ts CHANGED
@@ -1,12 +1,12 @@
1
1
  /// <reference types="react" />
2
- export declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
- export declare type Margin = {
2
+ declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ declare type Margin = {
4
4
  top?: Space;
5
5
  bottom?: Space;
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.
package/main.d.ts CHANGED
@@ -5,8 +5,6 @@ import DxcCard from "./card/Card";
5
5
  import DxcCheckbox from "./checkbox/Checkbox";
6
6
  import DxcDialog from "./dialog/Dialog";
7
7
  import DxcDropdown from "./dropdown/Dropdown";
8
- import DxcFooter from "./footer/Footer";
9
- import DxcHeader from "./header/Header";
10
8
  import DxcSlider from "./slider/Slider";
11
9
  import DxcSwitch from "./switch/Switch";
12
10
  import DxcTabs from "./tabs/Tabs";
@@ -16,7 +14,6 @@ import DxcTable from "./table/Table";
16
14
  import DxcBox from "./box/Box";
17
15
  import DxcTag from "./tag/Tag";
18
16
  import DxcPaginator from "./paginator/Paginator";
19
- import DxcSidenav from "./sidenav/Sidenav";
20
17
  import DxcWizard from "./wizard/Wizard";
21
18
  import DxcLink from "./link/Link";
22
19
  import DxcHeading from "./heading/Heading";
@@ -33,15 +30,16 @@ import DxcNumberInput from "./number-input/NumberInput";
33
30
  import DxcTextarea from "./textarea/Textarea";
34
31
  import DxcSelect from "./select/Select";
35
32
  import DxcFileInput from "./file-input/FileInput";
36
- import DxcStack from "./stack/Stack";
37
- import DxcRow from "./row/Row";
38
- import DxcText from "./text/Text";
39
- import DxcList from "./list/List";
40
33
  import DxcRadioGroup from "./radio-group/RadioGroup";
41
34
  import DxcBleed from "./bleed/Bleed";
42
35
  import DxcInset from "./inset/Inset";
43
36
  import DxcQuickNav from "./quick-nav/QuickNav";
44
- import DxcNavTabs from "./tabs-nav/NavTabs";
37
+ import DxcNavTabs from "./nav-tabs/NavTabs";
38
+ import DxcFlex from "./flex/Flex";
39
+ import DxcTypography from "./typography/Typography";
40
+ import DxcParagraph from "./paragraph/Paragraph";
41
+ import DxcBulletedList from "./bulleted-list/BulletedList";
42
+ import DxcGrid from "./grid/Grid";
45
43
  import HalstackContext, { HalstackProvider, HalstackLanguageContext } from "./HalstackContext";
46
44
  import { BackgroundColorProvider } from "./BackgroundColorContext";
47
- export { DxcAlert, DxcButton, DxcFooter, DxcCheckbox, DxcTextInput, DxcDropdown, DxcSwitch, DxcSlider, DxcHeader, DxcTable, DxcTabs, DxcToggleGroup, DxcDialog, DxcCard, DxcProgressBar, DxcAccordion, DxcSpinner, DxcBox, DxcTag, DxcPaginator, DxcSidenav, DxcWizard, DxcLink, DxcHeading, DxcResultsetTable, DxcChip, DxcApplicationLayout, HalstackContext, HalstackLanguageContext, HalstackProvider, BackgroundColorProvider, DxcAccordionGroup, DxcBadge, DxcPasswordInput, DxcDateInput, DxcNumberInput, DxcTextarea, DxcSelect, DxcFileInput, DxcStack, DxcRow, DxcText, DxcList, DxcRadioGroup, DxcBleed, DxcInset, DxcQuickNav, DxcNavTabs, };
45
+ export { DxcAlert, DxcButton, DxcCheckbox, DxcTextInput, DxcDropdown, DxcSwitch, DxcSlider, DxcTable, DxcTabs, DxcToggleGroup, DxcDialog, DxcCard, DxcProgressBar, DxcAccordion, DxcSpinner, DxcBox, DxcTag, DxcPaginator, DxcWizard, DxcLink, DxcHeading, DxcResultsetTable, DxcChip, DxcApplicationLayout, HalstackContext, HalstackLanguageContext, HalstackProvider, BackgroundColorProvider, DxcAccordionGroup, DxcBadge, DxcPasswordInput, DxcDateInput, DxcNumberInput, DxcTextarea, DxcSelect, DxcFileInput, DxcRadioGroup, DxcBleed, DxcInset, DxcQuickNav, DxcNavTabs, DxcFlex, DxcTypography, DxcParagraph, DxcBulletedList, DxcGrid, };
package/main.js CHANGED
@@ -55,6 +55,12 @@ Object.defineProperty(exports, "DxcBox", {
55
55
  return _Box["default"];
56
56
  }
57
57
  });
58
+ Object.defineProperty(exports, "DxcBulletedList", {
59
+ enumerable: true,
60
+ get: function get() {
61
+ return _BulletedList["default"];
62
+ }
63
+ });
58
64
  Object.defineProperty(exports, "DxcButton", {
59
65
  enumerable: true,
60
66
  get: function get() {
@@ -103,16 +109,16 @@ Object.defineProperty(exports, "DxcFileInput", {
103
109
  return _FileInput["default"];
104
110
  }
105
111
  });
106
- Object.defineProperty(exports, "DxcFooter", {
112
+ Object.defineProperty(exports, "DxcFlex", {
107
113
  enumerable: true,
108
114
  get: function get() {
109
- return _Footer["default"];
115
+ return _Flex["default"];
110
116
  }
111
117
  });
112
- Object.defineProperty(exports, "DxcHeader", {
118
+ Object.defineProperty(exports, "DxcGrid", {
113
119
  enumerable: true,
114
120
  get: function get() {
115
- return _Header["default"];
121
+ return _Grid["default"];
116
122
  }
117
123
  });
118
124
  Object.defineProperty(exports, "DxcHeading", {
@@ -133,12 +139,6 @@ Object.defineProperty(exports, "DxcLink", {
133
139
  return _Link["default"];
134
140
  }
135
141
  });
136
- Object.defineProperty(exports, "DxcList", {
137
- enumerable: true,
138
- get: function get() {
139
- return _List["default"];
140
- }
141
- });
142
142
  Object.defineProperty(exports, "DxcNavTabs", {
143
143
  enumerable: true,
144
144
  get: function get() {
@@ -157,6 +157,12 @@ Object.defineProperty(exports, "DxcPaginator", {
157
157
  return _Paginator["default"];
158
158
  }
159
159
  });
160
+ Object.defineProperty(exports, "DxcParagraph", {
161
+ enumerable: true,
162
+ get: function get() {
163
+ return _Paragraph["default"];
164
+ }
165
+ });
160
166
  Object.defineProperty(exports, "DxcPasswordInput", {
161
167
  enumerable: true,
162
168
  get: function get() {
@@ -187,24 +193,12 @@ Object.defineProperty(exports, "DxcResultsetTable", {
187
193
  return _ResultsetTable["default"];
188
194
  }
189
195
  });
190
- Object.defineProperty(exports, "DxcRow", {
191
- enumerable: true,
192
- get: function get() {
193
- return _Row["default"];
194
- }
195
- });
196
196
  Object.defineProperty(exports, "DxcSelect", {
197
197
  enumerable: true,
198
198
  get: function get() {
199
199
  return _Select["default"];
200
200
  }
201
201
  });
202
- Object.defineProperty(exports, "DxcSidenav", {
203
- enumerable: true,
204
- get: function get() {
205
- return _Sidenav["default"];
206
- }
207
- });
208
202
  Object.defineProperty(exports, "DxcSlider", {
209
203
  enumerable: true,
210
204
  get: function get() {
@@ -217,12 +211,6 @@ Object.defineProperty(exports, "DxcSpinner", {
217
211
  return _Spinner["default"];
218
212
  }
219
213
  });
220
- Object.defineProperty(exports, "DxcStack", {
221
- enumerable: true,
222
- get: function get() {
223
- return _Stack["default"];
224
- }
225
- });
226
214
  Object.defineProperty(exports, "DxcSwitch", {
227
215
  enumerable: true,
228
216
  get: function get() {
@@ -247,12 +235,6 @@ Object.defineProperty(exports, "DxcTag", {
247
235
  return _Tag["default"];
248
236
  }
249
237
  });
250
- Object.defineProperty(exports, "DxcText", {
251
- enumerable: true,
252
- get: function get() {
253
- return _Text["default"];
254
- }
255
- });
256
238
  Object.defineProperty(exports, "DxcTextInput", {
257
239
  enumerable: true,
258
240
  get: function get() {
@@ -271,6 +253,12 @@ Object.defineProperty(exports, "DxcToggleGroup", {
271
253
  return _ToggleGroup["default"];
272
254
  }
273
255
  });
256
+ Object.defineProperty(exports, "DxcTypography", {
257
+ enumerable: true,
258
+ get: function get() {
259
+ return _Typography["default"];
260
+ }
261
+ });
274
262
  Object.defineProperty(exports, "DxcWizard", {
275
263
  enumerable: true,
276
264
  get: function get() {
@@ -310,10 +298,6 @@ var _Dialog = _interopRequireDefault(require("./dialog/Dialog"));
310
298
 
311
299
  var _Dropdown = _interopRequireDefault(require("./dropdown/Dropdown"));
312
300
 
313
- var _Footer = _interopRequireDefault(require("./footer/Footer"));
314
-
315
- var _Header = _interopRequireDefault(require("./header/Header"));
316
-
317
301
  var _Slider = _interopRequireDefault(require("./slider/Slider"));
318
302
 
319
303
  var _Switch = _interopRequireDefault(require("./switch/Switch"));
@@ -332,8 +316,6 @@ var _Tag = _interopRequireDefault(require("./tag/Tag"));
332
316
 
333
317
  var _Paginator = _interopRequireDefault(require("./paginator/Paginator"));
334
318
 
335
- var _Sidenav = _interopRequireDefault(require("./sidenav/Sidenav"));
336
-
337
319
  var _Wizard = _interopRequireDefault(require("./wizard/Wizard"));
338
320
 
339
321
  var _Link = _interopRequireDefault(require("./link/Link"));
@@ -366,14 +348,6 @@ var _Select = _interopRequireDefault(require("./select/Select"));
366
348
 
367
349
  var _FileInput = _interopRequireDefault(require("./file-input/FileInput"));
368
350
 
369
- var _Stack = _interopRequireDefault(require("./stack/Stack"));
370
-
371
- var _Row = _interopRequireDefault(require("./row/Row"));
372
-
373
- var _Text = _interopRequireDefault(require("./text/Text"));
374
-
375
- var _List = _interopRequireDefault(require("./list/List"));
376
-
377
351
  var _RadioGroup = _interopRequireDefault(require("./radio-group/RadioGroup"));
378
352
 
379
353
  var _Bleed = _interopRequireDefault(require("./bleed/Bleed"));
@@ -382,7 +356,17 @@ var _Inset = _interopRequireDefault(require("./inset/Inset"));
382
356
 
383
357
  var _QuickNav = _interopRequireDefault(require("./quick-nav/QuickNav"));
384
358
 
385
- var _NavTabs = _interopRequireDefault(require("./tabs-nav/NavTabs"));
359
+ var _NavTabs = _interopRequireDefault(require("./nav-tabs/NavTabs"));
360
+
361
+ var _Flex = _interopRequireDefault(require("./flex/Flex"));
362
+
363
+ var _Typography = _interopRequireDefault(require("./typography/Typography"));
364
+
365
+ var _Paragraph = _interopRequireDefault(require("./paragraph/Paragraph"));
366
+
367
+ var _BulletedList = _interopRequireDefault(require("./bulleted-list/BulletedList"));
368
+
369
+ var _Grid = _interopRequireDefault(require("./grid/Grid"));
386
370
 
387
371
  var _HalstackContext = _interopRequireWildcard(require("./HalstackContext"));
388
372
 
@@ -91,15 +91,15 @@ var DxcNavTabs = function DxcNavTabs(_ref) {
91
91
  return getPropInChild(child, "active");
92
92
  });
93
93
 
94
- switch (event.keyCode) {
95
- case 37:
96
- // arrow left
94
+ switch (event.key) {
95
+ case "Left":
96
+ case "ArrowLeft":
97
97
  event.preventDefault();
98
98
  setInnerFocus(getPreviousTabIndex(children, innerFocus === null ? activeTab : innerFocus));
99
99
  break;
100
100
 
101
- case 39:
102
- // arrow right
101
+ case "Right":
102
+ case "ArrowRight":
103
103
  event.preventDefault();
104
104
  setInnerFocus(getNextTabIndex(children, innerFocus === null ? activeTab : innerFocus));
105
105
  break;
@@ -107,7 +107,7 @@ var DxcNavTabs = function DxcNavTabs(_ref) {
107
107
  };
108
108
 
109
109
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
110
- theme: colorsTheme.tabs
110
+ theme: colorsTheme.navTabs
111
111
  }, /*#__PURE__*/_react["default"].createElement(NavTabsContainer, {
112
112
  onKeyDown: handleOnKeyDown,
113
113
  role: "tablist",
@@ -2,6 +2,7 @@ import React from "react";
2
2
  import DxcNavTabs from "./NavTabs";
3
3
  import Title from "../../.storybook/components/Title";
4
4
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
+ import { HalstackProvider } from "../HalstackContext";
5
6
 
6
7
  export default {
7
8
  title: "NavTabs",
@@ -15,6 +16,15 @@ const iconSVG = (
15
16
  </svg>
16
17
  );
17
18
 
19
+ const largeIcon = "https://www.iconpacks.net/icons/1/free-pin-icon-48-thumb.png";
20
+
21
+ const opinionatedTheme = {
22
+ navTabs: {
23
+ baseColor: "#666666",
24
+ accentColor: "#5f249f",
25
+ },
26
+ };
27
+
18
28
  export const Chromatic = () => (
19
29
  <>
20
30
  <ExampleContainer>
@@ -93,10 +103,10 @@ export const Chromatic = () => (
93
103
  <DxcNavTabs.Tab href="#" disabled icon={iconSVG}>
94
104
  Tab 2
95
105
  </DxcNavTabs.Tab>
96
- <DxcNavTabs.Tab href="#" icon={iconSVG}>
106
+ <DxcNavTabs.Tab href="#" icon={largeIcon}>
97
107
  Tab 3
98
108
  </DxcNavTabs.Tab>
99
- <DxcNavTabs.Tab href="#" icon={iconSVG}>
109
+ <DxcNavTabs.Tab href="#" icon={largeIcon}>
100
110
  Tab 4
101
111
  </DxcNavTabs.Tab>
102
112
  </DxcNavTabs>
@@ -104,7 +114,7 @@ export const Chromatic = () => (
104
114
  <ExampleContainer>
105
115
  <Title title="With icon position left" theme="light" level={4} />
106
116
  <DxcNavTabs iconPosition="left">
107
- <DxcNavTabs.Tab href="#" active icon={iconSVG}>
117
+ <DxcNavTabs.Tab href="#" active icon={largeIcon}>
108
118
  Tab 1
109
119
  </DxcNavTabs.Tab>
110
120
  <DxcNavTabs.Tab href="#" disabled icon={iconSVG}>
@@ -121,7 +131,7 @@ export const Chromatic = () => (
121
131
  <ExampleContainer>
122
132
  <Title title="With icon and notification number" theme="light" level={4} />
123
133
  <DxcNavTabs>
124
- <DxcNavTabs.Tab href="#" active icon={iconSVG} notificationNumber>
134
+ <DxcNavTabs.Tab href="#" active icon={largeIcon} notificationNumber>
125
135
  Tab 1
126
136
  </DxcNavTabs.Tab>
127
137
  <DxcNavTabs.Tab href="#" disabled icon={iconSVG} notificationNumber={5}>
@@ -130,7 +140,7 @@ export const Chromatic = () => (
130
140
  <DxcNavTabs.Tab href="#" icon={iconSVG} notificationNumber={120}>
131
141
  Tab 3
132
142
  </DxcNavTabs.Tab>
133
- <DxcNavTabs.Tab href="#" icon={iconSVG}>
143
+ <DxcNavTabs.Tab href="#" icon={largeIcon}>
134
144
  Tab 4
135
145
  </DxcNavTabs.Tab>
136
146
  </DxcNavTabs>
@@ -144,7 +154,7 @@ export const Chromatic = () => (
144
154
  <DxcNavTabs.Tab href="#" disabled icon={iconSVG} notificationNumber={5}>
145
155
  Tab 2
146
156
  </DxcNavTabs.Tab>
147
- <DxcNavTabs.Tab href="#" icon={iconSVG} notificationNumber={120}>
157
+ <DxcNavTabs.Tab href="#" icon={largeIcon} notificationNumber={120}>
148
158
  Tab 3
149
159
  </DxcNavTabs.Tab>
150
160
  <DxcNavTabs.Tab href="#" icon={iconSVG}>
@@ -166,5 +176,85 @@ export const Chromatic = () => (
166
176
  </DxcNavTabs.Tab>
167
177
  </DxcNavTabs>
168
178
  </ExampleContainer>
179
+ <Title title="Opinionated theme" theme="light" level={2} />
180
+ <ExampleContainer>
181
+ <Title title="Only label" theme="light" level={4} />
182
+ <HalstackProvider theme={opinionatedTheme}>
183
+ <DxcNavTabs>
184
+ <DxcNavTabs.Tab href="#" active>
185
+ Tab 1
186
+ </DxcNavTabs.Tab>
187
+ <DxcNavTabs.Tab href="#" disabled>
188
+ Tab 2
189
+ </DxcNavTabs.Tab>
190
+ <DxcNavTabs.Tab href="#">Tab 3</DxcNavTabs.Tab>
191
+ <DxcNavTabs.Tab href="#">Tab 4</DxcNavTabs.Tab>
192
+ </DxcNavTabs>
193
+ </HalstackProvider>
194
+ </ExampleContainer>
195
+ <ExampleContainer pseudoState="pseudo-hover">
196
+ <Title title="Hovered tabs" theme="light" level={4} />
197
+ <HalstackProvider theme={opinionatedTheme}>
198
+ <DxcNavTabs>
199
+ <DxcNavTabs.Tab href="#" active>
200
+ Tab 1
201
+ </DxcNavTabs.Tab>
202
+ <DxcNavTabs.Tab href="#" disabled>
203
+ Tab 2
204
+ </DxcNavTabs.Tab>
205
+ <DxcNavTabs.Tab href="#">Tab 3</DxcNavTabs.Tab>
206
+ <DxcNavTabs.Tab href="#">Tab 4</DxcNavTabs.Tab>
207
+ </DxcNavTabs>
208
+ </HalstackProvider>
209
+ </ExampleContainer>
210
+ <ExampleContainer pseudoState="pseudo-focus">
211
+ <Title title="Focused tabs" theme="light" level={4} />
212
+ <HalstackProvider theme={opinionatedTheme}>
213
+ <DxcNavTabs>
214
+ <DxcNavTabs.Tab href="#" active>
215
+ Tab 1
216
+ </DxcNavTabs.Tab>
217
+ <DxcNavTabs.Tab href="#" disabled>
218
+ Tab 2
219
+ </DxcNavTabs.Tab>
220
+ <DxcNavTabs.Tab href="#">Tab 3</DxcNavTabs.Tab>
221
+ <DxcNavTabs.Tab href="#">Tab 4</DxcNavTabs.Tab>
222
+ </DxcNavTabs>
223
+ </HalstackProvider>
224
+ </ExampleContainer>
225
+ <ExampleContainer pseudoState="pseudo-active">
226
+ <Title title="Actived tabs" theme="light" level={4} />
227
+ <HalstackProvider theme={opinionatedTheme}>
228
+ <DxcNavTabs>
229
+ <DxcNavTabs.Tab href="#" active>
230
+ Tab 1
231
+ </DxcNavTabs.Tab>
232
+ <DxcNavTabs.Tab href="#" disabled>
233
+ Tab 2
234
+ </DxcNavTabs.Tab>
235
+ <DxcNavTabs.Tab href="#">Tab 3</DxcNavTabs.Tab>
236
+ <DxcNavTabs.Tab href="#">Tab 4</DxcNavTabs.Tab>
237
+ </DxcNavTabs>
238
+ </HalstackProvider>
239
+ </ExampleContainer>
240
+ <ExampleContainer>
241
+ <Title title="With icon and notification number" theme="light" level={4} />
242
+ <HalstackProvider theme={opinionatedTheme}>
243
+ <DxcNavTabs>
244
+ <DxcNavTabs.Tab href="#" active icon={iconSVG} notificationNumber>
245
+ Tab 1
246
+ </DxcNavTabs.Tab>
247
+ <DxcNavTabs.Tab href="#" disabled icon={iconSVG} notificationNumber={5}>
248
+ Tab 2
249
+ </DxcNavTabs.Tab>
250
+ <DxcNavTabs.Tab href="#" icon={iconSVG} notificationNumber={120}>
251
+ Tab 3
252
+ </DxcNavTabs.Tab>
253
+ <DxcNavTabs.Tab href="#" icon={iconSVG}>
254
+ Tab 4
255
+ </DxcNavTabs.Tab>
256
+ </DxcNavTabs>
257
+ </HalstackProvider>
258
+ </ExampleContainer>
169
259
  </>
170
260
  );
@@ -6,7 +6,7 @@ var _react = _interopRequireDefault(require("react"));
6
6
 
7
7
  var _react2 = require("@testing-library/react");
8
8
 
9
- var _NavTabs = _interopRequireDefault(require("./NavTabs"));
9
+ var _NavTabs = _interopRequireDefault(require("./NavTabs.tsx"));
10
10
 
11
11
  describe("Tabs component tests", function () {
12
12
  test("Tabs render with correct labels and attributes", function () {