@dxc-technology/halstack-react 0.0.0-dddc3c4 → 0.0.0-de7c6b0
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.d.ts +1 -1
- package/accordion/Accordion.js +110 -114
- package/accordion/Accordion.stories.tsx +104 -114
- package/accordion/Accordion.test.js +10 -11
- package/accordion/types.d.ts +0 -11
- package/accordion-group/AccordionGroup.d.ts +4 -3
- package/accordion-group/AccordionGroup.js +24 -65
- package/accordion-group/AccordionGroup.stories.tsx +93 -66
- package/accordion-group/AccordionGroup.test.js +27 -62
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +43 -0
- package/accordion-group/types.d.ts +6 -11
- package/alert/Alert.js +5 -9
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +1 -1
- package/bleed/Bleed.stories.tsx +1 -0
- package/box/Box.d.ts +1 -1
- package/box/Box.js +8 -27
- package/box/Box.stories.tsx +38 -51
- package/box/Box.test.js +1 -1
- package/box/types.d.ts +0 -11
- package/bulleted-list/BulletedList.js +4 -2
- package/bulleted-list/BulletedList.stories.tsx +7 -1
- package/bulleted-list/types.d.ts +31 -4
- package/button/Button.js +13 -16
- package/button/Button.stories.tsx +151 -9
- package/button/Button.test.js +1 -1
- package/button/types.d.ts +3 -3
- package/card/Card.d.ts +1 -1
- package/card/Card.js +27 -45
- package/card/Card.stories.tsx +12 -42
- package/card/Card.test.js +1 -1
- package/card/types.d.ts +1 -6
- 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 +28 -49
- package/chip/Chip.stories.tsx +121 -26
- package/chip/Chip.test.js +3 -5
- 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 +990 -1137
- 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.d.ts +1 -1
- package/dialog/Dialog.js +54 -85
- package/dialog/Dialog.stories.tsx +154 -170
- package/dialog/Dialog.test.js +302 -3
- package/dialog/types.d.ts +0 -12
- package/dropdown/Dropdown.js +43 -42
- package/dropdown/Dropdown.stories.tsx +210 -84
- package/dropdown/Dropdown.test.js +22 -27
- package/dropdown/DropdownMenu.js +12 -18
- package/dropdown/DropdownMenuItem.js +5 -18
- package/dropdown/types.d.ts +3 -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 +1 -1
- package/flex/Flex.js +33 -19
- package/flex/Flex.stories.tsx +35 -26
- package/flex/types.d.ts +83 -7
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +8 -23
- package/footer/Footer.stories.tsx +26 -16
- package/footer/Footer.test.js +14 -26
- package/footer/types.d.ts +0 -5
- 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 +4 -3
- package/header/Header.js +20 -49
- package/header/Header.stories.tsx +115 -36
- package/header/Header.test.js +2 -2
- package/header/types.d.ts +1 -14
- package/heading/Heading.js +1 -1
- package/heading/Heading.test.js +1 -1
- package/inset/Inset.stories.tsx +2 -1
- package/layout/ApplicationLayout.d.ts +5 -5
- package/layout/ApplicationLayout.js +1 -1
- package/layout/types.d.ts +2 -3
- package/link/Link.js +4 -4
- package/link/Link.stories.tsx +60 -0
- package/link/Link.test.js +2 -4
- package/link/types.d.ts +2 -2
- package/main.d.ts +3 -2
- package/main.js +9 -1
- package/{tabs-nav → nav-tabs}/NavTabs.d.ts +2 -2
- package/{tabs-nav → nav-tabs}/NavTabs.js +8 -11
- package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +110 -6
- package/{tabs-nav → nav-tabs}/NavTabs.test.js +1 -1
- package/{tabs-nav → nav-tabs}/Tab.js +49 -33
- package/{tabs-nav → nav-tabs}/types.d.ts +8 -9
- package/nav-tabs/types.js +5 -0
- package/number-input/NumberInput.test.js +44 -8
- package/package.json +13 -18
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +16 -28
- package/paginator/Paginator.js +8 -16
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +58 -48
- package/paragraph/Paragraph.d.ts +3 -4
- package/paragraph/Paragraph.js +5 -5
- package/password-input/PasswordInput.test.js +14 -13
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +5 -5
- package/progress-bar/ProgressBar.stories.jsx +35 -2
- package/progress-bar/ProgressBar.test.js +1 -1
- package/progress-bar/types.d.ts +4 -3
- package/quick-nav/QuickNav.js +11 -12
- package/quick-nav/QuickNav.stories.tsx +111 -19
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +46 -31
- package/radio-group/RadioGroup.js +23 -23
- 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 +41 -64
- package/resultsetTable/types.d.ts +1 -1
- package/select/Listbox.d.ts +1 -1
- package/select/Listbox.js +5 -35
- package/select/Option.js +11 -24
- package/select/Select.js +59 -36
- package/select/Select.stories.tsx +494 -150
- package/select/Select.test.js +341 -288
- package/select/types.d.ts +2 -2
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +51 -0
- package/sidenav/Sidenav.d.ts +2 -2
- package/sidenav/Sidenav.js +66 -96
- package/sidenav/Sidenav.stories.tsx +165 -63
- package/sidenav/types.d.ts +21 -18
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +24 -15
- package/slider/Slider.stories.tsx +57 -0
- package/slider/Slider.test.js +1 -1
- package/slider/types.d.ts +6 -2
- 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 +3 -3
- package/switch/Switch.js +96 -85
- package/switch/Switch.stories.tsx +33 -0
- package/switch/Switch.test.js +27 -14
- package/switch/types.d.ts +8 -3
- package/table/Table.js +3 -3
- package/table/Table.stories.jsx +80 -1
- package/table/Table.test.js +2 -2
- package/tabs/Tab.js +12 -15
- package/tabs/Tabs.js +11 -17
- package/tabs/Tabs.stories.tsx +45 -5
- package/tabs/Tabs.test.js +4 -5
- package/tabs/types.d.ts +2 -2
- package/tag/Tag.js +8 -10
- package/tag/Tag.stories.tsx +14 -1
- package/tag/Tag.test.js +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 +189 -277
- package/text-input/TextInput.stories.tsx +280 -184
- package/text-input/TextInput.test.js +736 -725
- package/text-input/types.d.ts +21 -2
- package/textarea/Textarea.js +3 -4
- package/textarea/Textarea.stories.jsx +60 -1
- package/textarea/Textarea.test.js +2 -4
- package/toggle-group/ToggleGroup.d.ts +2 -2
- 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 +1 -1
- package/typography/Typography.d.ts +2 -2
- package/typography/Typography.js +14 -113
- package/typography/Typography.stories.tsx +1 -1
- 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 +138 -0
- package/wizard/Wizard.js +2 -2
- package/wizard/Wizard.stories.tsx +20 -0
- package/wizard/Wizard.test.js +1 -1
- package/wizard/types.d.ts +5 -6
- package/card/ice-cream.jpg +0 -0
- package/common/RequiredComponent.js +0 -32
- /package/{tabs-nav → grid}/types.js +0 -0
- /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
package/card/Card.stories.tsx
CHANGED
|
@@ -2,7 +2,6 @@ import React from "react";
|
|
|
2
2
|
import Title from "../../.storybook/components/Title";
|
|
3
3
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
4
4
|
import DxcCard from "./Card";
|
|
5
|
-
import imagePath from "./ice-cream.jpg";
|
|
6
5
|
import { userEvent, within } from "@storybook/testing-library";
|
|
7
6
|
|
|
8
7
|
export default {
|
|
@@ -38,104 +37,75 @@ const Card = () => (
|
|
|
38
37
|
</ExampleContainer>
|
|
39
38
|
<Title title="Default with image" theme="light" level={4} />
|
|
40
39
|
<ExampleContainer>
|
|
41
|
-
<DxcCard imageSrc=
|
|
40
|
+
<DxcCard imageSrc="https://picsum.photos/id/1022/200/300">Default</DxcCard>
|
|
42
41
|
</ExampleContainer>
|
|
43
42
|
<Title title="Default image with background color" theme="light" level={4} />
|
|
44
43
|
<ExampleContainer>
|
|
45
|
-
<DxcCard imageSrc=
|
|
44
|
+
<DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imageBgColor="yellow">
|
|
46
45
|
Background color
|
|
47
46
|
</DxcCard>
|
|
48
47
|
</ExampleContainer>
|
|
49
48
|
<Title title="Default image with position after" theme="light" level={4} />
|
|
50
49
|
<ExampleContainer>
|
|
51
|
-
<DxcCard imageSrc=
|
|
50
|
+
<DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePosition="after">
|
|
52
51
|
Position after
|
|
53
52
|
</DxcCard>
|
|
54
53
|
</ExampleContainer>
|
|
55
54
|
<Title title="Image cover" theme="light" level={4} />
|
|
56
55
|
<ExampleContainer>
|
|
57
|
-
<DxcCard imageSrc=
|
|
56
|
+
<DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imageCover>
|
|
58
57
|
Image cover
|
|
59
58
|
</DxcCard>
|
|
60
59
|
</ExampleContainer>
|
|
61
60
|
<Title title="Image cover with position after" theme="light" level={4} />
|
|
62
61
|
<ExampleContainer>
|
|
63
|
-
<DxcCard imageSrc=
|
|
62
|
+
<DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imageCover imagePosition="after">
|
|
64
63
|
Image cover with position after
|
|
65
64
|
</DxcCard>
|
|
66
65
|
</ExampleContainer>
|
|
67
66
|
<Title title="Image padding" theme="light" level={2} />
|
|
68
67
|
<ExampleContainer>
|
|
69
68
|
<Title title="Xxsmall" theme="light" level={4} />
|
|
70
|
-
<DxcCard imageSrc=
|
|
69
|
+
<DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePadding="xxsmall" imageCover>
|
|
71
70
|
Xxsmall
|
|
72
71
|
</DxcCard>
|
|
73
72
|
</ExampleContainer>
|
|
74
73
|
<ExampleContainer>
|
|
75
74
|
<Title title="Xsmall" theme="light" level={4} />
|
|
76
|
-
<DxcCard imageSrc=
|
|
75
|
+
<DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePadding="xsmall" imageCover>
|
|
77
76
|
Xsmall
|
|
78
77
|
</DxcCard>
|
|
79
78
|
</ExampleContainer>
|
|
80
79
|
<ExampleContainer>
|
|
81
80
|
<Title title="Small" theme="light" level={4} />
|
|
82
|
-
<DxcCard imageSrc=
|
|
81
|
+
<DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePadding="small" imageCover>
|
|
83
82
|
Small
|
|
84
83
|
</DxcCard>
|
|
85
84
|
</ExampleContainer>
|
|
86
85
|
<ExampleContainer>
|
|
87
86
|
<Title title="Medium" theme="light" level={4} />
|
|
88
|
-
<DxcCard imageSrc=
|
|
87
|
+
<DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePadding="medium" imageCover>
|
|
89
88
|
Medium
|
|
90
89
|
</DxcCard>
|
|
91
90
|
</ExampleContainer>
|
|
92
91
|
<ExampleContainer>
|
|
93
92
|
<Title title="Large" theme="light" level={4} />
|
|
94
|
-
<DxcCard imageSrc=
|
|
93
|
+
<DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePadding="large" imageCover>
|
|
95
94
|
Large
|
|
96
95
|
</DxcCard>
|
|
97
96
|
</ExampleContainer>
|
|
98
97
|
<ExampleContainer>
|
|
99
98
|
<Title title="Xlarge" theme="light" level={4} />
|
|
100
|
-
<DxcCard imageSrc=
|
|
99
|
+
<DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePadding="xlarge" imageCover>
|
|
101
100
|
Xlarge
|
|
102
101
|
</DxcCard>
|
|
103
102
|
</ExampleContainer>
|
|
104
103
|
<ExampleContainer>
|
|
105
104
|
<Title title="Xxlarge" theme="light" level={4} />
|
|
106
|
-
<DxcCard imageSrc=
|
|
105
|
+
<DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePadding="xxlarge" imageCover>
|
|
107
106
|
Xxlarge
|
|
108
107
|
</DxcCard>
|
|
109
108
|
</ExampleContainer>
|
|
110
|
-
<Title title="Content padding" theme="light" level={2} />
|
|
111
|
-
<ExampleContainer>
|
|
112
|
-
<Title title="Xxsmall" theme="light" level={4} />
|
|
113
|
-
<DxcCard contentPadding="xxsmall">Xxsmall</DxcCard>
|
|
114
|
-
</ExampleContainer>
|
|
115
|
-
<ExampleContainer>
|
|
116
|
-
<Title title="Xsmall" theme="light" level={4} />
|
|
117
|
-
<DxcCard contentPadding="xsmall">Xsmall</DxcCard>
|
|
118
|
-
</ExampleContainer>
|
|
119
|
-
<ExampleContainer>
|
|
120
|
-
<Title title="Small" theme="light" level={4} />
|
|
121
|
-
<DxcCard contentPadding="small">Small</DxcCard>
|
|
122
|
-
</ExampleContainer>
|
|
123
|
-
<ExampleContainer>
|
|
124
|
-
<Title title="Medium" theme="light" level={4} />
|
|
125
|
-
<DxcCard contentPadding="medium">Medium</DxcCard>
|
|
126
|
-
</ExampleContainer>
|
|
127
|
-
<ExampleContainer>
|
|
128
|
-
<Title title="Large" theme="light" level={4} />
|
|
129
|
-
<DxcCard contentPadding="large">Large</DxcCard>
|
|
130
|
-
</ExampleContainer>
|
|
131
|
-
<ExampleContainer>
|
|
132
|
-
<Title title="Xlarge" theme="light" level={4} />
|
|
133
|
-
<DxcCard contentPadding="xlarge">Xlarge</DxcCard>
|
|
134
|
-
</ExampleContainer>
|
|
135
|
-
<ExampleContainer>
|
|
136
|
-
<Title title="Xxlarge" theme="light" level={4} />
|
|
137
|
-
<DxcCard contentPadding="xxlarge">Xxlarge</DxcCard>
|
|
138
|
-
</ExampleContainer>
|
|
139
109
|
<Title title="Margin" theme="light" level={2} />
|
|
140
110
|
<ExampleContainer>
|
|
141
111
|
<Title title="Xxsmall" theme="light" level={4} />
|
package/card/Card.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 _Card = _interopRequireDefault(require("./Card"));
|
|
9
|
+
var _Card = _interopRequireDefault(require("./Card.tsx"));
|
|
10
10
|
|
|
11
11
|
describe("Card component tests", function () {
|
|
12
12
|
test("Card renders with correct content", function () {
|
package/card/types.d.ts
CHANGED
|
@@ -46,17 +46,12 @@ declare type Props = {
|
|
|
46
46
|
* You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
|
|
47
47
|
*/
|
|
48
48
|
margin?: Space | Size;
|
|
49
|
-
/**
|
|
50
|
-
* Size of the padding to be applied to the content area ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
|
|
51
|
-
* You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different padding sizes.
|
|
52
|
-
*/
|
|
53
|
-
contentPadding?: Space | Size;
|
|
54
49
|
/**
|
|
55
50
|
* Value of the tabindex given when there is an href.
|
|
56
51
|
*/
|
|
57
52
|
tabIndex?: number;
|
|
58
53
|
/**
|
|
59
|
-
*
|
|
54
|
+
* Determines whether or not the component should have an outline.
|
|
60
55
|
*/
|
|
61
56
|
outlined?: boolean;
|
|
62
57
|
/**
|
package/checkbox/Checkbox.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import React from "react";
|
|
2
2
|
import CheckboxPropsType from "./types";
|
|
3
|
-
declare const DxcCheckbox:
|
|
3
|
+
declare const DxcCheckbox: React.ForwardRefExoticComponent<CheckboxPropsType & React.RefAttributes<HTMLDivElement>>;
|
|
4
4
|
export default DxcCheckbox;
|
package/checkbox/Checkbox.js
CHANGED
|
@@ -19,11 +19,9 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
19
19
|
|
|
20
20
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
21
21
|
|
|
22
|
-
var
|
|
22
|
+
var _variables = require("../common/variables");
|
|
23
23
|
|
|
24
|
-
var
|
|
25
|
-
|
|
26
|
-
var _utils = require("../common/utils.js");
|
|
24
|
+
var _utils = require("../common/utils");
|
|
27
25
|
|
|
28
26
|
var _uuid = require("uuid");
|
|
29
27
|
|
|
@@ -33,13 +31,22 @@ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabel
|
|
|
33
31
|
|
|
34
32
|
var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
|
|
35
33
|
|
|
36
|
-
var _templateObject, _templateObject2, _templateObject3;
|
|
34
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
37
35
|
|
|
38
36
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
39
37
|
|
|
40
38
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
41
39
|
|
|
42
|
-
var
|
|
40
|
+
var checkedIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
41
|
+
fill: "currentColor",
|
|
42
|
+
focusable: "false",
|
|
43
|
+
"aria-hidden": "true",
|
|
44
|
+
viewBox: "0 0 24 24"
|
|
45
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
46
|
+
d: "M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"
|
|
47
|
+
}));
|
|
48
|
+
|
|
49
|
+
var DxcCheckbox = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
43
50
|
var checked = _ref.checked,
|
|
44
51
|
_ref$defaultChecked = _ref.defaultChecked,
|
|
45
52
|
defaultChecked = _ref$defaultChecked === void 0 ? false : _ref$defaultChecked,
|
|
@@ -61,96 +68,86 @@ var DxcCheckbox = function DxcCheckbox(_ref) {
|
|
|
61
68
|
_ref$tabIndex = _ref.tabIndex,
|
|
62
69
|
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
63
70
|
|
|
64
|
-
var _useState = (0, _react.useState)("checkbox-".concat((0, _uuid.v4)())),
|
|
71
|
+
var _useState = (0, _react.useState)("label-checkbox-".concat((0, _uuid.v4)())),
|
|
65
72
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 1),
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
var labelId = "label-".concat(switchId);
|
|
73
|
+
labelId = _useState2[0];
|
|
69
74
|
|
|
70
75
|
var _useState3 = (0, _react.useState)(defaultChecked),
|
|
71
76
|
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
72
77
|
innerChecked = _useState4[0],
|
|
73
78
|
setInnerChecked = _useState4[1];
|
|
74
79
|
|
|
75
|
-
var
|
|
76
|
-
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
77
|
-
isLabelHovered = _useState6[0],
|
|
78
|
-
setIsLabelHovered = _useState6[1];
|
|
79
|
-
|
|
80
|
+
var checkboxRef = (0, _react.useRef)(null);
|
|
80
81
|
var colorsTheme = (0, _useTheme["default"])();
|
|
81
82
|
var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
|
|
82
83
|
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
83
84
|
|
|
84
|
-
var
|
|
85
|
-
|
|
86
|
-
var isChecked = checkboxValue.target.checked === undefined ? !innerChecked : checkboxValue.target.checked;
|
|
87
|
-
setInnerChecked(isChecked);
|
|
88
|
-
|
|
89
|
-
if (typeof onChange === "function") {
|
|
90
|
-
onChange(isChecked);
|
|
91
|
-
}
|
|
92
|
-
} else {
|
|
93
|
-
if (typeof onChange === "function") {
|
|
94
|
-
onChange(!checked);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
};
|
|
85
|
+
var handleCheckboxChange = function handleCheckboxChange() {
|
|
86
|
+
var _checkboxRef$current;
|
|
98
87
|
|
|
99
|
-
|
|
100
|
-
|
|
88
|
+
document.activeElement !== (checkboxRef === null || checkboxRef === void 0 ? void 0 : checkboxRef.current) && (checkboxRef === null || checkboxRef === void 0 ? void 0 : (_checkboxRef$current = checkboxRef.current) === null || _checkboxRef$current === void 0 ? void 0 : _checkboxRef$current.focus());
|
|
89
|
+
var newChecked = checked !== null && checked !== void 0 ? checked : innerChecked;
|
|
90
|
+
checked !== null && checked !== void 0 ? checked : setInnerChecked(function (innerChecked) {
|
|
91
|
+
return !innerChecked;
|
|
92
|
+
});
|
|
93
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(!newChecked);
|
|
101
94
|
};
|
|
102
95
|
|
|
103
|
-
var
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
onMouseOver: handleLabelHover,
|
|
111
|
-
onMouseOut: handleLabelHover
|
|
112
|
-
}, labelPosition === "before" ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, label, " ", optional && /*#__PURE__*/_react["default"].createElement("span", null, translatedLabels.formFields.optionalLabel)) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, optional && /*#__PURE__*/_react["default"].createElement("span", null, "(Optional)"), " ", label));
|
|
96
|
+
var handleKeyboard = function handleKeyboard(event) {
|
|
97
|
+
switch (event.key) {
|
|
98
|
+
case " ":
|
|
99
|
+
event.preventDefault();
|
|
100
|
+
handleCheckboxChange();
|
|
101
|
+
}
|
|
102
|
+
};
|
|
113
103
|
|
|
114
104
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
115
105
|
theme: colorsTheme.checkbox
|
|
116
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
117
|
-
id: name,
|
|
118
|
-
brightness: _variables.componentTokens,
|
|
119
|
-
label: label,
|
|
120
|
-
labelPosition: labelPosition,
|
|
106
|
+
}, /*#__PURE__*/_react["default"].createElement(MainContainer, {
|
|
121
107
|
disabled: disabled,
|
|
108
|
+
onClick: disabled ? undefined : handleCheckboxChange,
|
|
122
109
|
margin: margin,
|
|
123
110
|
size: size,
|
|
111
|
+
checked: checked !== null && checked !== void 0 ? checked : innerChecked,
|
|
124
112
|
backgroundType: backgroundType,
|
|
125
|
-
|
|
126
|
-
}, label && labelPosition === "before" &&
|
|
113
|
+
ref: ref
|
|
114
|
+
}, label && labelPosition === "before" && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
|
|
115
|
+
id: labelId,
|
|
116
|
+
disabled: disabled,
|
|
117
|
+
backgroundType: backgroundType
|
|
118
|
+
}, label, optional && " ".concat(translatedLabels.formFields.optionalLabel)), /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
119
|
+
type: "checkbox",
|
|
127
120
|
checked: checked !== null && checked !== void 0 ? checked : innerChecked,
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
"aria-labelledby": labelId,
|
|
131
|
-
role: "checkbox",
|
|
132
|
-
"aria-checked": checked !== null && checked !== void 0 ? checked : innerChecked
|
|
133
|
-
},
|
|
134
|
-
onChange: handlerCheckboxChange,
|
|
121
|
+
name: name,
|
|
122
|
+
"aria-hidden": "true",
|
|
135
123
|
value: value,
|
|
136
124
|
disabled: disabled,
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
125
|
+
readOnly: true
|
|
126
|
+
}), /*#__PURE__*/_react["default"].createElement(CheckboxContainer, null, /*#__PURE__*/_react["default"].createElement(Checkbox, {
|
|
127
|
+
onKeyDown: handleKeyboard,
|
|
128
|
+
role: "checkbox",
|
|
129
|
+
tabIndex: disabled ? -1 : tabIndex,
|
|
130
|
+
"aria-checked": checked !== null && checked !== void 0 ? checked : innerChecked,
|
|
131
|
+
"aria-disabled": disabled,
|
|
132
|
+
"aria-required": !disabled && !optional,
|
|
133
|
+
"aria-labelledby": labelId,
|
|
134
|
+
backgroundType: backgroundType,
|
|
143
135
|
checked: checked !== null && checked !== void 0 ? checked : innerChecked,
|
|
136
|
+
disabled: disabled,
|
|
137
|
+
ref: checkboxRef
|
|
138
|
+
}, (checked !== null && checked !== void 0 ? checked : innerChecked) && checkedIcon)), label && labelPosition === "after" && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
|
|
139
|
+
id: labelId,
|
|
140
|
+
disabled: disabled,
|
|
144
141
|
backgroundType: backgroundType
|
|
145
|
-
}
|
|
146
|
-
};
|
|
142
|
+
}, optional && "".concat(translatedLabels.formFields.optionalLabel, " "), label)));
|
|
143
|
+
});
|
|
147
144
|
|
|
148
145
|
var sizes = {
|
|
149
146
|
small: "120px",
|
|
150
147
|
medium: "240px",
|
|
151
148
|
large: "480px",
|
|
152
149
|
fillParent: "100%",
|
|
153
|
-
fitContent: "
|
|
150
|
+
fitContent: "fit-content"
|
|
154
151
|
};
|
|
155
152
|
|
|
156
153
|
var calculateWidth = function calculateWidth(margin, size) {
|
|
@@ -177,7 +174,7 @@ var getDisabledColor = function getDisabledColor(props, element) {
|
|
|
177
174
|
}
|
|
178
175
|
};
|
|
179
176
|
|
|
180
|
-
var
|
|
177
|
+
var getEnabledColor = function getEnabledColor(props, element) {
|
|
181
178
|
switch (element) {
|
|
182
179
|
case "check":
|
|
183
180
|
return props.backgroundType && props.backgroundType === "dark" ? props.theme.checkColorOnDark : props.theme.checkColor;
|
|
@@ -185,72 +182,68 @@ var getNotDisabledColor = function getNotDisabledColor(props, element) {
|
|
|
185
182
|
case "background":
|
|
186
183
|
return props.backgroundType && props.backgroundType === "dark" ? props.theme.backgroundColorCheckedOnDark : props.theme.backgroundColorChecked;
|
|
187
184
|
|
|
185
|
+
case "hoverBackground":
|
|
186
|
+
return props.backgroundType && props.backgroundType === "dark" ? props.theme.hoverBackgroundColorCheckedOnDark : props.theme.hoverBackgroundColorChecked;
|
|
187
|
+
|
|
188
188
|
case "border":
|
|
189
189
|
return props.backgroundType && props.backgroundType === "dark" ? props.theme.borderColorOnDark : props.theme.borderColor;
|
|
190
190
|
|
|
191
|
+
case "hoverBorder":
|
|
192
|
+
return props.backgroundType && props.backgroundType === "dark" ? props.theme.hoverBorderColorOnDark : props.theme.hoverBorderColor;
|
|
193
|
+
|
|
191
194
|
case "label":
|
|
192
195
|
return props.backgroundType && props.backgroundType === "dark" ? props.theme.fontColorOnDark : props.theme.fontColor;
|
|
193
196
|
}
|
|
194
197
|
};
|
|
195
198
|
|
|
196
|
-
var LabelContainer = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n
|
|
197
|
-
return props.disabled ? getDisabledColor(props, "label") :
|
|
199
|
+
var LabelContainer = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n"])), function (props) {
|
|
200
|
+
return props.disabled ? getDisabledColor(props, "label") : getEnabledColor(props, "label");
|
|
198
201
|
}, function (props) {
|
|
199
202
|
return props.theme.fontFamily;
|
|
200
203
|
}, function (props) {
|
|
201
204
|
return props.theme.fontSize;
|
|
202
205
|
}, function (props) {
|
|
203
206
|
return props.theme.fontWeight;
|
|
204
|
-
}, function (props) {
|
|
205
|
-
return props.disabled ? "not-allowed" : "pointer";
|
|
206
207
|
});
|
|
207
208
|
|
|
208
|
-
var
|
|
209
|
-
|
|
209
|
+
var ValueInput = _styledComponents["default"].input(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
|
|
210
|
+
|
|
211
|
+
var CheckboxContainer = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n height: 24px;\n width: 24px;\n"])));
|
|
212
|
+
|
|
213
|
+
var Checkbox = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 18px;\n width: 18px;\n border: 2px solid\n ", ";\n border-radius: 2px;\n background-color: ", ";\n color: ", ";\n\n &:focus {\n outline: 2px solid\n ", ";\n outline-offset: 2px;\n }\n svg {\n position: absolute;\n width: 22px;\n height: 22px;\n }\n ", "\n"])), function (props) {
|
|
214
|
+
return props.disabled ? getDisabledColor(props, "border") : getEnabledColor(props, "border");
|
|
210
215
|
}, function (props) {
|
|
211
|
-
return props.
|
|
216
|
+
return props.checked ? props.disabled ? getDisabledColor(props, "check") : getEnabledColor(props, "check") : "transparent";
|
|
212
217
|
}, function (props) {
|
|
213
|
-
return props.
|
|
218
|
+
return props.disabled ? getDisabledColor(props, "background") : getEnabledColor(props, "background");
|
|
214
219
|
}, function (props) {
|
|
215
|
-
return props.
|
|
220
|
+
return props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
|
|
216
221
|
}, function (props) {
|
|
217
|
-
return props.
|
|
222
|
+
return props.disabled && "pointer-events: none;";
|
|
223
|
+
});
|
|
224
|
+
|
|
225
|
+
var MainContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n align-items: center;\n gap: ", ";\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n cursor: ", ";\n\n &:hover ", " {\n border: 2px solid\n ", ";\n background-color: ", ";\n color: ", ";\n }\n"])), function (props) {
|
|
226
|
+
return props.theme.checkLabelSpacing;
|
|
218
227
|
}, function (props) {
|
|
219
228
|
return calculateWidth(props.margin, props.size);
|
|
220
229
|
}, function (props) {
|
|
221
|
-
return props.
|
|
222
|
-
}, function (props) {
|
|
223
|
-
return props.isLabelHovered ? props.backgroundType === "dark" ? props.theme.hoverBorderColorOnDark : props.theme.hoverBorderColor : getNotDisabledColor(props, "border");
|
|
224
|
-
}, function (props) {
|
|
225
|
-
return getDisabledColor(props, "border");
|
|
226
|
-
}, function (props) {
|
|
227
|
-
return props.disabled ? getDisabledColor(props, "background") : getNotDisabledColor(props, "background");
|
|
228
|
-
}, function (props) {
|
|
229
|
-
return props.backgroundType === "dark" ? props.theme.hoverBackgroundColorCheckedOnDark : props.theme.hoverBackgroundColorChecked;
|
|
230
|
-
}, function (props) {
|
|
231
|
-
return props.backgroundType === "dark" ? props.theme.hoverBorderColorOnDark : props.theme.hoverBorderColor;
|
|
232
|
-
}, function (props) {
|
|
233
|
-
return props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
|
|
234
|
-
}, function (props) {
|
|
235
|
-
return props.labelPosition === "before" && props.label ? props.theme.checkLabelSpacing : "0";
|
|
230
|
+
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
236
231
|
}, function (props) {
|
|
237
|
-
return props.
|
|
232
|
+
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
|
|
238
233
|
}, function (props) {
|
|
239
|
-
return props.
|
|
234
|
+
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
|
|
240
235
|
}, function (props) {
|
|
241
|
-
return props.
|
|
242
|
-
});
|
|
243
|
-
|
|
244
|
-
var CheckboxBlackBack = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n width: 16px;\n height: 16px;\n position: absolute;\n left: ", ";\n right: ", ";\n z-index: 0;\n margin-left: ", ";\n margin-right: ", ";\n"])), function (props) {
|
|
245
|
-
return !props.checked ? "transparent" : props.disabled ? getDisabledColor(props, "check") : getNotDisabledColor(props, "check");
|
|
236
|
+
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
|
|
246
237
|
}, function (props) {
|
|
247
|
-
return props.
|
|
238
|
+
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
248
239
|
}, function (props) {
|
|
249
|
-
return props.
|
|
240
|
+
return props.disabled ? "not-allowed" : "pointer";
|
|
241
|
+
}, Checkbox, function (props) {
|
|
242
|
+
return props.disabled ? getDisabledColor(props, "border") : getEnabledColor(props, "hoverBorder");
|
|
250
243
|
}, function (props) {
|
|
251
|
-
return props.
|
|
244
|
+
return props.checked ? props.disabled ? getDisabledColor(props, "check") : getEnabledColor(props, "check") : "transparent";
|
|
252
245
|
}, function (props) {
|
|
253
|
-
return props.
|
|
246
|
+
return props.disabled ? getDisabledColor(props, "background") : getEnabledColor(props, "hoverBackground");
|
|
254
247
|
});
|
|
255
248
|
|
|
256
249
|
var _default = DxcCheckbox;
|