@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.
- package/BackgroundColorContext.d.ts +2 -2
- package/BackgroundColorContext.js +1 -1
- package/HalstackContext.d.ts +1329 -5
- package/HalstackContext.js +117 -77
- package/accordion/Accordion.js +118 -110
- package/accordion/Accordion.stories.tsx +104 -16
- package/accordion/Accordion.test.js +10 -11
- package/accordion/types.d.ts +2 -1
- package/accordion-group/AccordionGroup.js +4 -23
- package/accordion-group/AccordionGroup.stories.tsx +27 -1
- package/accordion-group/AccordionGroup.test.js +21 -46
- package/accordion-group/types.d.ts +8 -1
- package/alert/Alert.js +4 -6
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +1 -1
- package/bleed/Bleed.stories.tsx +64 -63
- package/box/Box.js +4 -6
- package/box/Box.stories.tsx +15 -0
- package/box/Box.test.js +1 -1
- package/box/types.d.ts +1 -0
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +123 -0
- package/bulleted-list/BulletedList.stories.tsx +200 -0
- package/bulleted-list/types.d.ts +11 -0
- package/button/Button.js +52 -73
- package/button/Button.stories.tsx +159 -8
- package/button/Button.test.js +1 -1
- package/button/types.d.ts +5 -5
- package/card/Card.js +12 -13
- package/card/Card.stories.tsx +12 -13
- package/card/Card.test.js +1 -1
- package/card/types.d.ts +1 -0
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +94 -101
- package/checkbox/Checkbox.stories.tsx +131 -59
- package/checkbox/Checkbox.test.js +94 -17
- package/checkbox/types.d.ts +4 -0
- package/chip/Chip.js +18 -26
- package/chip/Chip.stories.tsx +96 -9
- package/chip/Chip.test.js +3 -5
- package/chip/types.d.ts +1 -1
- package/common/OpenSans.css +68 -80
- package/common/coreTokens.d.ts +146 -0
- package/common/coreTokens.js +167 -0
- package/common/utils.d.ts +1 -0
- package/common/utils.js +4 -4
- package/common/variables.d.ts +1482 -0
- package/common/variables.js +1009 -1118
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +258 -0
- package/date-input/DateInput.js +134 -237
- package/date-input/DateInput.stories.tsx +199 -33
- package/date-input/DateInput.test.js +494 -138
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +146 -0
- package/date-input/Icons.d.ts +6 -0
- package/date-input/Icons.js +75 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +126 -0
- package/date-input/types.d.ts +51 -0
- package/dialog/Dialog.js +80 -69
- package/dialog/Dialog.stories.tsx +230 -123
- package/dialog/Dialog.test.js +334 -5
- package/dialog/types.d.ts +1 -0
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +246 -249
- package/dropdown/Dropdown.stories.tsx +245 -56
- package/dropdown/Dropdown.test.js +507 -110
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +74 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +79 -0
- package/dropdown/types.d.ts +23 -3
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +174 -220
- package/file-input/FileInput.stories.tsx +122 -11
- package/file-input/FileInput.test.js +14 -14
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +39 -63
- package/file-input/types.d.ts +17 -0
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +71 -0
- package/flex/Flex.stories.tsx +112 -0
- package/flex/types.d.ts +97 -0
- package/footer/Footer.js +6 -8
- package/footer/Footer.stories.tsx +99 -1
- package/footer/Footer.test.js +14 -26
- package/footer/Icons.js +1 -1
- package/footer/types.d.ts +2 -1
- package/grid/Grid.d.ts +7 -0
- package/grid/Grid.js +91 -0
- package/grid/Grid.stories.tsx +219 -0
- package/grid/types.d.ts +115 -0
- package/header/Header.d.ts +3 -2
- package/header/Header.js +89 -89
- package/header/Header.stories.tsx +152 -9
- package/header/Header.test.js +2 -2
- package/header/Icons.js +2 -2
- package/header/types.d.ts +1 -0
- package/heading/Heading.js +1 -1
- package/heading/Heading.test.js +1 -1
- package/inset/Inset.stories.tsx +5 -4
- package/layout/ApplicationLayout.d.ts +15 -6
- package/layout/ApplicationLayout.js +38 -66
- package/layout/ApplicationLayout.stories.tsx +80 -44
- package/layout/types.d.ts +18 -29
- package/link/Link.js +4 -4
- package/link/Link.stories.tsx +73 -6
- package/link/Link.test.js +2 -4
- package/link/types.d.ts +3 -3
- package/main.d.ts +7 -9
- package/main.js +33 -49
- package/{tabs-nav → nav-tabs}/NavTabs.js +6 -6
- package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +96 -6
- package/{tabs-nav → nav-tabs}/NavTabs.test.js +1 -1
- package/{tabs-nav → nav-tabs}/Tab.js +40 -22
- package/{tabs-nav → nav-tabs}/types.d.ts +1 -1
- package/number-input/NumberInput.test.js +44 -8
- package/package.json +17 -21
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +16 -28
- package/paginator/Paginator.js +7 -15
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +78 -39
- package/paragraph/Paragraph.d.ts +5 -0
- package/paragraph/Paragraph.js +38 -0
- package/paragraph/Paragraph.stories.tsx +44 -0
- package/password-input/PasswordInput.test.js +14 -13
- package/progress-bar/ProgressBar.js +60 -54
- package/progress-bar/ProgressBar.stories.jsx +38 -3
- package/progress-bar/ProgressBar.test.js +68 -23
- package/quick-nav/QuickNav.js +23 -18
- package/quick-nav/QuickNav.stories.tsx +145 -26
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +43 -28
- package/radio-group/RadioGroup.js +23 -22
- package/radio-group/RadioGroup.stories.tsx +132 -18
- package/radio-group/RadioGroup.test.js +124 -97
- package/radio-group/types.d.ts +2 -2
- package/resultsetTable/Icons.d.ts +7 -0
- package/resultsetTable/Icons.js +51 -0
- package/resultsetTable/ResultsetTable.js +49 -108
- package/resultsetTable/ResultsetTable.stories.tsx +50 -25
- package/resultsetTable/ResultsetTable.test.js +61 -42
- package/resultsetTable/types.d.ts +1 -1
- package/select/Listbox.d.ts +1 -1
- package/select/Listbox.js +33 -16
- package/select/Option.js +11 -24
- package/select/Select.js +92 -71
- package/select/Select.stories.tsx +513 -136
- package/select/Select.test.js +413 -305
- package/select/types.d.ts +3 -6
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +51 -0
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +147 -54
- package/sidenav/Sidenav.stories.tsx +251 -151
- package/sidenav/Sidenav.test.js +25 -37
- package/sidenav/types.d.ts +52 -26
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +121 -97
- package/slider/Slider.stories.tsx +64 -1
- package/slider/Slider.test.js +122 -22
- package/slider/types.d.ts +4 -0
- package/spinner/Spinner.js +17 -23
- package/spinner/Spinner.stories.jsx +53 -27
- package/spinner/Spinner.test.js +1 -1
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +137 -70
- package/switch/Switch.stories.tsx +41 -30
- package/switch/Switch.test.js +145 -18
- package/switch/types.d.ts +4 -0
- package/table/Table.js +3 -3
- package/table/Table.stories.jsx +80 -1
- package/table/Table.test.js +2 -2
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +132 -0
- package/tabs/Tabs.js +358 -108
- package/tabs/Tabs.stories.tsx +119 -5
- package/tabs/Tabs.test.js +220 -10
- package/tabs/types.d.ts +13 -3
- package/tag/Tag.js +8 -10
- package/tag/Tag.stories.tsx +14 -1
- package/tag/Tag.test.js +1 -1
- package/tag/types.d.ts +1 -1
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +60 -0
- package/text-input/Suggestion.js +40 -11
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +134 -0
- package/text-input/TextInput.js +198 -295
- package/text-input/TextInput.stories.tsx +280 -185
- package/text-input/TextInput.test.js +736 -725
- package/text-input/types.d.ts +22 -3
- package/textarea/Textarea.js +3 -4
- package/textarea/Textarea.stories.jsx +60 -1
- package/textarea/Textarea.test.js +2 -4
- package/toggle-group/ToggleGroup.js +7 -4
- package/toggle-group/ToggleGroup.stories.tsx +42 -0
- package/toggle-group/ToggleGroup.test.js +1 -1
- package/toggle-group/types.d.ts +2 -2
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +32 -0
- package/typography/Typography.stories.tsx +198 -0
- package/typography/types.d.ts +18 -0
- package/typography/types.js +5 -0
- package/useTheme.d.ts +1234 -1
- package/useTheme.js +1 -1
- package/useTranslatedLabels.d.ts +84 -1
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +108 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +139 -0
- package/wizard/Wizard.js +10 -17
- package/wizard/Wizard.stories.tsx +40 -1
- package/wizard/Wizard.test.js +1 -1
- package/wizard/types.d.ts +3 -3
- package/common/RequiredComponent.js +0 -32
- package/list/List.d.ts +0 -4
- package/list/List.js +0 -47
- package/list/List.stories.tsx +0 -95
- package/list/types.d.ts +0 -7
- package/row/Row.d.ts +0 -3
- package/row/Row.js +0 -127
- package/row/Row.stories.tsx +0 -237
- package/row/types.d.ts +0 -28
- package/stack/Stack.d.ts +0 -3
- package/stack/Stack.js +0 -97
- package/stack/Stack.stories.tsx +0 -164
- package/stack/types.d.ts +0 -24
- package/text/Text.d.ts +0 -7
- package/text/Text.js +0 -30
- package/text/Text.stories.tsx +0 -19
- /package/{list → bulleted-list}/types.js +0 -0
- /package/{row → flex}/types.js +0 -0
- /package/{stack → grid}/types.js +0 -0
- /package/{tabs-nav → nav-tabs}/NavTabs.d.ts +0 -0
- /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
- /package/{tabs-nav → nav-tabs}/types.js +0 -0
package/link/Link.stories.tsx
CHANGED
|
@@ -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"
|
|
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
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
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
|
-
|
|
3
|
-
|
|
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
|
|
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,
|
|
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, "
|
|
112
|
+
Object.defineProperty(exports, "DxcFlex", {
|
|
107
113
|
enumerable: true,
|
|
108
114
|
get: function get() {
|
|
109
|
-
return
|
|
115
|
+
return _Flex["default"];
|
|
110
116
|
}
|
|
111
117
|
});
|
|
112
|
-
Object.defineProperty(exports, "
|
|
118
|
+
Object.defineProperty(exports, "DxcGrid", {
|
|
113
119
|
enumerable: true,
|
|
114
120
|
get: function get() {
|
|
115
|
-
return
|
|
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
|
|
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.
|
|
95
|
-
case
|
|
96
|
-
|
|
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
|
|
102
|
-
|
|
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.
|
|
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={
|
|
106
|
+
<DxcNavTabs.Tab href="#" icon={largeIcon}>
|
|
97
107
|
Tab 3
|
|
98
108
|
</DxcNavTabs.Tab>
|
|
99
|
-
<DxcNavTabs.Tab href="#" icon={
|
|
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={
|
|
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={
|
|
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={
|
|
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={
|
|
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 () {
|