@dxc-technology/halstack-react 0.0.0-d5ae9d7 → 0.0.0-d618bea
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 +10 -0
- package/BackgroundColorContext.js +1 -3
- package/ThemeContext.d.ts +15 -0
- package/ThemeContext.js +5 -8
- package/V3Select/V3Select.js +2 -2
- package/V3Textarea/V3Textarea.js +2 -2
- package/accordion/Accordion.d.ts +2 -2
- package/accordion/Accordion.js +2 -2
- package/accordion/types.d.ts +1 -1
- package/accordion-group/AccordionGroup.d.ts +7 -0
- package/accordion-group/AccordionGroup.js +59 -73
- package/accordion-group/AccordionGroup.stories.tsx +225 -0
- package/accordion-group/types.d.ts +72 -0
- package/accordion-group/types.js +5 -0
- package/alert/Alert.js +2 -2
- package/alert/Alert.stories.tsx +170 -0
- package/alert/types.d.ts +1 -1
- package/badge/Badge.js +1 -1
- package/box/Box.d.ts +4 -0
- package/box/Box.js +6 -32
- package/box/Box.stories.tsx +132 -0
- package/box/types.d.ts +43 -0
- package/box/types.js +5 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +9 -12
- package/button/Button.stories.tsx +217 -234
- package/button/types.d.ts +11 -11
- package/card/Card.d.ts +4 -0
- package/card/Card.js +17 -53
- package/card/Card.stories.tsx +201 -0
- package/card/ice-cream.jpg +0 -0
- package/card/types.d.ts +67 -0
- package/card/types.js +5 -0
- package/checkbox/Checkbox.js +2 -2
- package/checkbox/Checkbox.stories.tsx +192 -0
- package/checkbox/types.d.ts +3 -4
- package/chip/Chip.d.ts +4 -0
- package/chip/Chip.js +1 -23
- package/chip/Chip.stories.tsx +121 -0
- package/chip/types.d.ts +53 -0
- package/chip/types.js +5 -0
- package/common/variables.js +45 -38
- package/date/Date.js +1 -1
- package/date-input/DateInput.js +4 -7
- package/date-input/DateInput.stories.tsx +138 -0
- package/dialog/Dialog.d.ts +4 -0
- package/dialog/Dialog.js +6 -25
- package/dialog/Dialog.stories.tsx +212 -0
- package/dialog/types.d.ts +43 -0
- package/dialog/types.js +5 -0
- package/dropdown/Dropdown.d.ts +4 -0
- package/dropdown/Dropdown.js +8 -41
- package/dropdown/types.d.ts +89 -0
- package/dropdown/types.js +5 -0
- package/file-input/FileInput.d.ts +4 -0
- package/file-input/FileInput.js +65 -76
- package/file-input/FileItem.d.ts +14 -0
- package/file-input/FileItem.js +12 -21
- package/file-input/types.d.ts +112 -0
- package/file-input/types.js +5 -0
- package/footer/Footer.d.ts +4 -0
- package/footer/Footer.js +11 -42
- package/footer/Footer.stories.tsx +151 -0
- package/footer/types.d.ts +65 -0
- package/footer/types.js +5 -0
- package/header/Header.d.ts +7 -0
- package/header/Header.js +28 -30
- package/header/Header.stories.tsx +162 -0
- package/header/Icons.js +2 -27
- package/header/types.d.ts +47 -0
- package/header/types.js +5 -0
- package/heading/Heading.d.ts +4 -0
- package/heading/Heading.js +7 -24
- package/heading/Heading.stories.tsx +53 -0
- package/heading/types.d.ts +33 -0
- package/heading/types.js +5 -0
- package/input-text/InputText.js +2 -2
- package/layout/ApplicationLayout.d.ts +10 -0
- package/layout/ApplicationLayout.js +8 -18
- package/layout/ApplicationLayout.stories.tsx +171 -0
- package/layout/types.d.ts +57 -0
- package/layout/types.js +5 -0
- package/link/Link.d.ts +3 -0
- package/link/Link.js +4 -26
- package/link/Link.stories.tsx +146 -0
- package/link/types.d.ts +74 -0
- package/link/types.js +5 -0
- package/list/List.d.ts +7 -0
- package/list/List.js +37 -0
- package/list/List.stories.tsx +70 -0
- package/main.d.ts +7 -3
- package/main.js +34 -2
- package/number-input/NumberInput.d.ts +4 -0
- package/number-input/NumberInput.js +5 -50
- package/number-input/NumberInput.stories.tsx +115 -0
- package/number-input/NumberInputContext.d.ts +4 -0
- package/number-input/NumberInputContext.js +5 -2
- package/number-input/numberInputContextTypes.d.ts +19 -0
- package/number-input/numberInputContextTypes.js +5 -0
- package/number-input/types.d.ts +117 -0
- package/number-input/types.js +5 -0
- package/package.json +1 -1
- package/paginator/Paginator.js +2 -8
- package/paginator/Paginator.stories.tsx +63 -0
- package/password-input/PasswordInput.d.ts +4 -0
- package/password-input/PasswordInput.js +19 -55
- package/password-input/{PasswordInput.stories.jsx → PasswordInput.stories.tsx} +1 -1
- package/password-input/types.d.ts +107 -0
- package/password-input/types.js +5 -0
- package/progress-bar/ProgressBar.d.ts +4 -0
- package/progress-bar/ProgressBar.js +5 -23
- package/progress-bar/ProgressBar.stories.jsx +58 -0
- package/progress-bar/types.d.ts +37 -0
- package/progress-bar/types.js +5 -0
- package/radio/Radio.js +2 -2
- package/radio/Radio.stories.tsx +192 -0
- package/radio/types.d.ts +2 -2
- package/resultsetTable/ResultsetTable.d.ts +4 -0
- package/resultsetTable/ResultsetTable.js +4 -27
- package/resultsetTable/types.d.ts +67 -0
- package/resultsetTable/types.js +5 -0
- package/row/Row.d.ts +11 -0
- package/row/Row.js +124 -0
- package/row/Row.stories.tsx +223 -0
- package/select/Select.js +15 -17
- package/select/Select.stories.tsx +572 -0
- package/select/index.d.ts +4 -4
- package/sidenav/Sidenav.d.ts +9 -0
- package/sidenav/Sidenav.js +6 -15
- package/sidenav/Sidenav.stories.tsx +165 -0
- package/sidenav/types.d.ts +50 -0
- package/sidenav/types.js +5 -0
- package/slider/Slider.d.ts +4 -0
- package/slider/Slider.js +61 -84
- package/slider/Slider.stories.tsx +177 -0
- package/slider/types.d.ts +78 -0
- package/slider/types.js +5 -0
- package/spinner/Spinner.d.ts +4 -0
- package/spinner/Spinner.js +8 -25
- package/spinner/Spinner.stories.jsx +102 -0
- package/spinner/types.d.ts +32 -0
- package/spinner/types.js +5 -0
- package/stack/Stack.d.ts +10 -0
- package/stack/Stack.js +94 -0
- package/stack/Stack.stories.tsx +150 -0
- package/switch/Switch.js +4 -4
- package/switch/Switch.stories.tsx +160 -0
- package/table/Table.d.ts +4 -0
- package/table/Table.js +3 -3
- package/table/Table.stories.jsx +276 -0
- package/table/types.d.ts +21 -0
- package/table/types.js +5 -0
- package/tabs/Tabs.d.ts +4 -0
- package/tabs/Tabs.js +9 -55
- package/tabs/Tabs.stories.tsx +121 -0
- package/tabs/types.d.ts +70 -0
- package/tabs/types.js +5 -0
- package/tag/Tag.d.ts +4 -0
- package/tag/Tag.js +21 -36
- package/tag/Tag.stories.tsx +145 -0
- package/tag/types.d.ts +60 -0
- package/tag/types.js +5 -0
- package/text/Text.d.ts +7 -0
- package/text/Text.js +30 -0
- package/text/Text.stories.tsx +19 -0
- package/text-input/TextInput.d.ts +4 -0
- package/text-input/TextInput.js +42 -81
- package/text-input/TextInput.stories.tsx +456 -0
- package/text-input/types.d.ts +159 -0
- package/text-input/types.js +5 -0
- package/textarea/Textarea.js +29 -32
- package/textarea/Textarea.stories.jsx +135 -0
- package/textarea/index.d.ts +18 -8
- package/toggle/Toggle.js +1 -1
- package/toggle-group/ToggleGroup.d.ts +4 -0
- package/toggle-group/ToggleGroup.js +8 -34
- package/toggle-group/ToggleGroup.stories.tsx +178 -0
- package/toggle-group/types.d.ts +84 -0
- package/toggle-group/types.js +5 -0
- package/upload/buttons-upload/ButtonsUpload.js +2 -2
- package/upload/dragAndDropArea/DragAndDropArea.js +2 -2
- package/upload/file-upload/FileToUpload.js +1 -1
- package/upload/files-upload/FilesToUpload.js +1 -1
- package/upload/transaction/Transaction.js +2 -2
- package/upload/transactions/Transactions.js +1 -1
- package/useTheme.d.ts +2 -0
- package/useTheme.js +1 -1
- package/wizard/Wizard.d.ts +4 -0
- package/wizard/Wizard.js +13 -53
- package/wizard/Wizard.stories.jsx +224 -0
- package/wizard/types.d.ts +64 -0
- package/wizard/types.js +5 -0
- package/accordion-group/index.d.ts +0 -16
- package/box/index.d.ts +0 -25
- package/card/index.d.ts +0 -22
- package/chip/index.d.ts +0 -22
- package/dialog/index.d.ts +0 -18
- package/dropdown/index.d.ts +0 -26
- package/file-input/index.d.ts +0 -81
- package/footer/index.d.ts +0 -25
- package/header/index.d.ts +0 -25
- package/heading/index.d.ts +0 -17
- package/link/index.d.ts +0 -23
- package/number-input/index.d.ts +0 -113
- package/password-input/index.d.ts +0 -94
- package/progress-bar/index.d.ts +0 -18
- package/resultsetTable/index.d.ts +0 -19
- package/sidenav/index.d.ts +0 -13
- package/slider/index.d.ts +0 -29
- package/spinner/index.d.ts +0 -17
- package/table/index.d.ts +0 -13
- package/tabs/index.d.ts +0 -19
- package/tag/index.d.ts +0 -24
- package/text-input/index.d.ts +0 -135
- package/toggle-group/index.d.ts +0 -21
- package/wizard/index.d.ts +0 -18
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import styled from "styled-components";
|
|
3
|
+
import DxcSidenav from "./Sidenav";
|
|
4
|
+
import Title from "../../.storybook/components/Title";
|
|
5
|
+
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
6
|
+
|
|
7
|
+
export default {
|
|
8
|
+
title: "Sidenav",
|
|
9
|
+
component: DxcSidenav,
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const linkClick = () => {
|
|
13
|
+
console.log("click");
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const StyledContainer = styled["div"]`
|
|
17
|
+
display: flex;
|
|
18
|
+
flex-direction: row;
|
|
19
|
+
height: 500px;
|
|
20
|
+
`;
|
|
21
|
+
|
|
22
|
+
export const Chromatic = () => (
|
|
23
|
+
<>
|
|
24
|
+
<ExampleContainer>
|
|
25
|
+
<Title title="Deafult sidenav" theme="light" level={4} />
|
|
26
|
+
<DxcSidenav>
|
|
27
|
+
{" "}
|
|
28
|
+
<p>Lorem ipsum</p>
|
|
29
|
+
<p>Lorem ipsum</p>
|
|
30
|
+
<p>Lorem ipsum</p>
|
|
31
|
+
<p>Lorem ipsum</p>
|
|
32
|
+
<p>Lorem ipsum</p>{" "}
|
|
33
|
+
</DxcSidenav>
|
|
34
|
+
</ExampleContainer>
|
|
35
|
+
|
|
36
|
+
<ExampleContainer>
|
|
37
|
+
<Title title="Sidenav with xxsmall padding" theme="light" level={4} />
|
|
38
|
+
<DxcSidenav padding="xxsmall">
|
|
39
|
+
{" "}
|
|
40
|
+
<p>Lorem ipsum</p>
|
|
41
|
+
<p>Lorem ipsum</p>
|
|
42
|
+
<p>Lorem ipsum</p>
|
|
43
|
+
<p>Lorem ipsum</p>
|
|
44
|
+
<p>Lorem ipsum</p>{" "}
|
|
45
|
+
</DxcSidenav>
|
|
46
|
+
</ExampleContainer>
|
|
47
|
+
|
|
48
|
+
<ExampleContainer>
|
|
49
|
+
<Title title="Sidenav with xsmall padding" theme="light" level={4} />
|
|
50
|
+
<DxcSidenav padding="xsmall">
|
|
51
|
+
{" "}
|
|
52
|
+
<p>Lorem ipsum</p>
|
|
53
|
+
<p>Lorem ipsum</p>
|
|
54
|
+
<p>Lorem ipsum</p>
|
|
55
|
+
<p>Lorem ipsum</p>
|
|
56
|
+
<p>Lorem ipsum</p>{" "}
|
|
57
|
+
</DxcSidenav>
|
|
58
|
+
</ExampleContainer>
|
|
59
|
+
|
|
60
|
+
<ExampleContainer>
|
|
61
|
+
<Title title="Sidenav with small padding" theme="light" level={4} />
|
|
62
|
+
<DxcSidenav padding="small">
|
|
63
|
+
{" "}
|
|
64
|
+
<p>Lorem ipsum</p>
|
|
65
|
+
<p>Lorem ipsum</p>
|
|
66
|
+
<p>Lorem ipsum</p>
|
|
67
|
+
<p>Lorem ipsum</p>
|
|
68
|
+
<p>Lorem ipsum</p>{" "}
|
|
69
|
+
</DxcSidenav>
|
|
70
|
+
</ExampleContainer>
|
|
71
|
+
|
|
72
|
+
<ExampleContainer>
|
|
73
|
+
<Title title="Sidenav with medium padding" theme="light" level={4} />
|
|
74
|
+
<DxcSidenav padding="medium">
|
|
75
|
+
{" "}
|
|
76
|
+
<p>Lorem ipsum</p>
|
|
77
|
+
<p>Lorem ipsum</p>
|
|
78
|
+
<p>Lorem ipsum</p>
|
|
79
|
+
<p>Lorem ipsum</p>
|
|
80
|
+
<p>Lorem ipsum</p>{" "}
|
|
81
|
+
</DxcSidenav>
|
|
82
|
+
</ExampleContainer>
|
|
83
|
+
|
|
84
|
+
<ExampleContainer>
|
|
85
|
+
<Title title="Sidenav with large padding" theme="light" level={4} />
|
|
86
|
+
<DxcSidenav padding="large">
|
|
87
|
+
{" "}
|
|
88
|
+
<p>Lorem ipsum</p>
|
|
89
|
+
<p>Lorem ipsum</p>
|
|
90
|
+
<p>Lorem ipsum</p>
|
|
91
|
+
<p>Lorem ipsum</p>
|
|
92
|
+
<p>Lorem ipsum</p>{" "}
|
|
93
|
+
</DxcSidenav>
|
|
94
|
+
</ExampleContainer>
|
|
95
|
+
|
|
96
|
+
<ExampleContainer>
|
|
97
|
+
<Title title="Sidenav with xlarge padding" theme="light" level={4} />
|
|
98
|
+
<DxcSidenav padding="xlarge">
|
|
99
|
+
{" "}
|
|
100
|
+
<p>Lorem ipsum</p>
|
|
101
|
+
<p>Lorem ipsum</p>
|
|
102
|
+
<p>Lorem ipsum</p>
|
|
103
|
+
<p>Lorem ipsum</p>
|
|
104
|
+
<p>Lorem ipsum</p>{" "}
|
|
105
|
+
</DxcSidenav>
|
|
106
|
+
</ExampleContainer>
|
|
107
|
+
|
|
108
|
+
<ExampleContainer>
|
|
109
|
+
<Title title="Sidenav with xxlarge padding" theme="light" level={4} />
|
|
110
|
+
<DxcSidenav padding="xxlarge">
|
|
111
|
+
{" "}
|
|
112
|
+
<p>Lorem ipsum</p>
|
|
113
|
+
<p>Lorem ipsum</p>
|
|
114
|
+
<p>Lorem ipsum</p>
|
|
115
|
+
<p>Lorem ipsum</p>
|
|
116
|
+
<p>Lorem ipsum</p>{" "}
|
|
117
|
+
</DxcSidenav>
|
|
118
|
+
</ExampleContainer>
|
|
119
|
+
|
|
120
|
+
<ExampleContainer>
|
|
121
|
+
<Title title="Sidenav compound components" theme="light" level={4} />
|
|
122
|
+
<DxcSidenav>
|
|
123
|
+
<DxcSidenav.Title>My sidenav</DxcSidenav.Title>
|
|
124
|
+
<DxcSidenav.Subtitle>Components</DxcSidenav.Subtitle>
|
|
125
|
+
<DxcSidenav.Link href="#">Button</DxcSidenav.Link>
|
|
126
|
+
<DxcSidenav.Link href="#">Date</DxcSidenav.Link>
|
|
127
|
+
<DxcSidenav.Subtitle>Guidelines</DxcSidenav.Subtitle>
|
|
128
|
+
<DxcSidenav.Link onClick={linkClick}>Layout</DxcSidenav.Link>
|
|
129
|
+
<DxcSidenav.Link onClick={linkClick}>Footer</DxcSidenav.Link>
|
|
130
|
+
</DxcSidenav>
|
|
131
|
+
</ExampleContainer>
|
|
132
|
+
|
|
133
|
+
<ExampleContainer>
|
|
134
|
+
<Title title="Sidenav with scroll" theme="light" level={4} />
|
|
135
|
+
<StyledContainer>
|
|
136
|
+
<DxcSidenav>
|
|
137
|
+
<p>
|
|
138
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
|
|
139
|
+
placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
|
|
140
|
+
elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
|
|
141
|
+
tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
|
|
142
|
+
eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue
|
|
143
|
+
gravida enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare,
|
|
144
|
+
malesuada urna eu, fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam
|
|
145
|
+
sit amet maximus augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo.
|
|
146
|
+
Praesent quis nunc dignissim, pharetra neque molestie, molestie lectus.
|
|
147
|
+
</p>
|
|
148
|
+
</DxcSidenav>
|
|
149
|
+
</StyledContainer>
|
|
150
|
+
</ExampleContainer>
|
|
151
|
+
|
|
152
|
+
<ExampleContainer pseudoState="pseudo-focus-visible">
|
|
153
|
+
<Title title="Focused" theme="light" level={4} />
|
|
154
|
+
<DxcSidenav>
|
|
155
|
+
<DxcSidenav.Title>My sidenav</DxcSidenav.Title>
|
|
156
|
+
<DxcSidenav.Subtitle>Components</DxcSidenav.Subtitle>
|
|
157
|
+
<DxcSidenav.Link href="#">Button</DxcSidenav.Link>
|
|
158
|
+
<DxcSidenav.Link href="#">Date</DxcSidenav.Link>
|
|
159
|
+
<DxcSidenav.Subtitle>Guidelines</DxcSidenav.Subtitle>
|
|
160
|
+
<DxcSidenav.Link onClick={linkClick}>Layout</DxcSidenav.Link>
|
|
161
|
+
<DxcSidenav.Link onClick={linkClick}>Footer</DxcSidenav.Link>
|
|
162
|
+
</DxcSidenav>
|
|
163
|
+
</ExampleContainer>
|
|
164
|
+
</>
|
|
165
|
+
);
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
|
+
declare type Padding = {
|
|
4
|
+
top?: Space;
|
|
5
|
+
bottom?: Space;
|
|
6
|
+
left?: Space;
|
|
7
|
+
right?: Space;
|
|
8
|
+
};
|
|
9
|
+
export declare type SidenavLinkPropsType = {
|
|
10
|
+
/**
|
|
11
|
+
* Value of the tabindex.
|
|
12
|
+
*/
|
|
13
|
+
tabIndex?: number;
|
|
14
|
+
/**
|
|
15
|
+
* Page to be opened when the user clicks on the link.
|
|
16
|
+
*/
|
|
17
|
+
href?: string;
|
|
18
|
+
/**
|
|
19
|
+
* This function will be called when the user clicks the link.
|
|
20
|
+
*/
|
|
21
|
+
onClick?: () => void;
|
|
22
|
+
/**
|
|
23
|
+
* The area inside the sidenav link. This area can be used to render custom content.
|
|
24
|
+
*/
|
|
25
|
+
children: React.ReactNode;
|
|
26
|
+
};
|
|
27
|
+
export declare type SidenavTitlePropsType = {
|
|
28
|
+
/**
|
|
29
|
+
* The area inside the sidenav title. This area can be used to render custom content.
|
|
30
|
+
*/
|
|
31
|
+
children: React.ReactNode;
|
|
32
|
+
};
|
|
33
|
+
export declare type SidenavSubtitlePropsType = {
|
|
34
|
+
/**
|
|
35
|
+
* The area inside the sidenav subtitle. This area can be used to render custom content.
|
|
36
|
+
*/
|
|
37
|
+
children: React.ReactNode;
|
|
38
|
+
};
|
|
39
|
+
declare type SidenavPropsType = {
|
|
40
|
+
/**
|
|
41
|
+
* Size of the padding to be applied to the custom area ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
|
|
42
|
+
* You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different padding sizes.
|
|
43
|
+
*/
|
|
44
|
+
padding?: Space | Padding;
|
|
45
|
+
/**
|
|
46
|
+
* The area inside the sidenav. This area can be used to render custom content.
|
|
47
|
+
*/
|
|
48
|
+
children: React.ReactNode;
|
|
49
|
+
};
|
|
50
|
+
export default SidenavPropsType;
|
package/sidenav/types.js
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import SliderPropsType from "./types";
|
|
3
|
+
declare const DxcSlider: ({ label, name, value, helperText, minValue, maxValue, step, showLimitsValues, showInput, disabled, marks, onChange, onDragEnd, labelFormatCallback, margin, size, }: SliderPropsType) => JSX.Element;
|
|
4
|
+
export default DxcSlider;
|
package/slider/Slider.js
CHANGED
|
@@ -9,8 +9,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
});
|
|
10
10
|
exports["default"] = void 0;
|
|
11
11
|
|
|
12
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
-
|
|
14
12
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
15
13
|
|
|
16
14
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
@@ -23,17 +21,17 @@ var _Slider = _interopRequireDefault(require("@material-ui/lab/Slider"));
|
|
|
23
21
|
|
|
24
22
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
25
23
|
|
|
26
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
27
|
-
|
|
28
24
|
var _TextInput = _interopRequireDefault(require("../text-input/TextInput"));
|
|
29
25
|
|
|
30
26
|
var _variables = require("../common/variables.js");
|
|
31
27
|
|
|
32
28
|
var _utils = require("../common/utils.js");
|
|
33
29
|
|
|
34
|
-
var _useTheme = _interopRequireDefault(require("../useTheme
|
|
30
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
35
31
|
|
|
36
|
-
var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext
|
|
32
|
+
var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
|
|
33
|
+
|
|
34
|
+
var _uuid = require("uuid");
|
|
37
35
|
|
|
38
36
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
|
|
39
37
|
|
|
@@ -42,26 +40,29 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
42
40
|
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; }
|
|
43
41
|
|
|
44
42
|
var DxcSlider = function DxcSlider(_ref) {
|
|
45
|
-
var label = _ref.label,
|
|
46
|
-
|
|
43
|
+
var _ref$label = _ref.label,
|
|
44
|
+
label = _ref$label === void 0 ? "" : _ref$label,
|
|
45
|
+
_ref$name = _ref.name,
|
|
46
|
+
name = _ref$name === void 0 ? "" : _ref$name,
|
|
47
|
+
value = _ref.value,
|
|
48
|
+
_ref$helperText = _ref.helperText,
|
|
49
|
+
helperText = _ref$helperText === void 0 ? "" : _ref$helperText,
|
|
47
50
|
_ref$minValue = _ref.minValue,
|
|
48
51
|
minValue = _ref$minValue === void 0 ? 0 : _ref$minValue,
|
|
49
52
|
_ref$maxValue = _ref.maxValue,
|
|
50
53
|
maxValue = _ref$maxValue === void 0 ? 100 : _ref$maxValue,
|
|
51
54
|
_ref$step = _ref.step,
|
|
52
55
|
step = _ref$step === void 0 ? 1 : _ref$step,
|
|
53
|
-
value = _ref.value,
|
|
54
56
|
_ref$showLimitsValues = _ref.showLimitsValues,
|
|
55
57
|
showLimitsValues = _ref$showLimitsValues === void 0 ? false : _ref$showLimitsValues,
|
|
56
58
|
_ref$showInput = _ref.showInput,
|
|
57
59
|
showInput = _ref$showInput === void 0 ? false : _ref$showInput,
|
|
58
|
-
name = _ref.name,
|
|
59
|
-
onChange = _ref.onChange,
|
|
60
|
-
onDragEnd = _ref.onDragEnd,
|
|
61
60
|
_ref$disabled = _ref.disabled,
|
|
62
61
|
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
63
62
|
_ref$marks = _ref.marks,
|
|
64
63
|
marks = _ref$marks === void 0 ? false : _ref$marks,
|
|
64
|
+
onChange = _ref.onChange,
|
|
65
|
+
onDragEnd = _ref.onDragEnd,
|
|
65
66
|
labelFormatCallback = _ref.labelFormatCallback,
|
|
66
67
|
margin = _ref.margin,
|
|
67
68
|
_ref$size = _ref.size,
|
|
@@ -74,6 +75,11 @@ var DxcSlider = function DxcSlider(_ref) {
|
|
|
74
75
|
|
|
75
76
|
var colorsTheme = (0, _useTheme["default"])();
|
|
76
77
|
var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
|
|
78
|
+
|
|
79
|
+
var _useState3 = (0, _react.useState)("label-".concat((0, _uuid.v4)())),
|
|
80
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
|
|
81
|
+
labelId = _useState4[0];
|
|
82
|
+
|
|
77
83
|
var minLabel = (0, _react.useMemo)(function () {
|
|
78
84
|
return labelFormatCallback ? labelFormatCallback(minValue) : minValue;
|
|
79
85
|
}, [labelFormatCallback, minValue]);
|
|
@@ -82,36 +88,24 @@ var DxcSlider = function DxcSlider(_ref) {
|
|
|
82
88
|
}, [labelFormatCallback, maxValue]);
|
|
83
89
|
|
|
84
90
|
var handlerSliderChange = function handlerSliderChange(event, newValue) {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
setInnerValue(newValue);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
91
|
+
var valueToCheck = value !== null && value !== void 0 ? value : innerValue;
|
|
92
|
+
valueToCheck !== newValue && setInnerValue(newValue);
|
|
93
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(newValue);
|
|
94
|
+
};
|
|
92
95
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
}
|
|
96
|
+
var handleSliderOnChangeCommited = function handleSliderOnChangeCommited(event, selectedValue) {
|
|
97
|
+
onDragEnd === null || onDragEnd === void 0 ? void 0 : onDragEnd(selectedValue);
|
|
96
98
|
};
|
|
97
99
|
|
|
98
100
|
var handlerInputChange = function handlerInputChange(event) {
|
|
99
101
|
var intValue = parseInt(event.value, 10);
|
|
100
102
|
|
|
101
103
|
if (value == null) {
|
|
102
|
-
if (!Number.isNaN(intValue))
|
|
103
|
-
setInnerValue(intValue > maxValue ? maxValue : intValue);
|
|
104
|
-
} else {
|
|
105
|
-
setInnerValue("");
|
|
106
|
-
}
|
|
104
|
+
if (!Number.isNaN(intValue)) setInnerValue(intValue > maxValue ? maxValue : intValue);
|
|
107
105
|
}
|
|
108
106
|
|
|
109
|
-
if (
|
|
110
|
-
|
|
111
|
-
onChange(intValue > maxValue ? maxValue : intValue);
|
|
112
|
-
} else {
|
|
113
|
-
onChange("");
|
|
114
|
-
}
|
|
107
|
+
if (!Number.isNaN(intValue)) {
|
|
108
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(intValue > maxValue ? maxValue : intValue);
|
|
115
109
|
}
|
|
116
110
|
};
|
|
117
111
|
|
|
@@ -120,7 +114,14 @@ var DxcSlider = function DxcSlider(_ref) {
|
|
|
120
114
|
}, /*#__PURE__*/_react["default"].createElement(Container, {
|
|
121
115
|
margin: margin,
|
|
122
116
|
size: size
|
|
123
|
-
}, /*#__PURE__*/_react["default"].createElement(Label,
|
|
117
|
+
}, /*#__PURE__*/_react["default"].createElement(Label, {
|
|
118
|
+
id: labelId,
|
|
119
|
+
disabled: disabled,
|
|
120
|
+
backgroundType: backgroundType
|
|
121
|
+
}, label), /*#__PURE__*/_react["default"].createElement(HelperText, {
|
|
122
|
+
disabled: disabled,
|
|
123
|
+
backgroundType: backgroundType
|
|
124
|
+
}, helperText), /*#__PURE__*/_react["default"].createElement(SliderContainer, {
|
|
124
125
|
backgroundType: backgroundType
|
|
125
126
|
}, showLimitsValues && /*#__PURE__*/_react["default"].createElement(MinLabelContainer, {
|
|
126
127
|
backgroundType: backgroundType,
|
|
@@ -130,19 +131,18 @@ var DxcSlider = function DxcSlider(_ref) {
|
|
|
130
131
|
min: minValue,
|
|
131
132
|
max: maxValue,
|
|
132
133
|
onChange: handlerSliderChange,
|
|
133
|
-
onChangeCommitted:
|
|
134
|
-
return onDragEnd(selectedValue);
|
|
135
|
-
},
|
|
134
|
+
onChangeCommitted: handleSliderOnChangeCommited,
|
|
136
135
|
step: step,
|
|
137
136
|
marks: marks || [],
|
|
138
|
-
disabled: disabled
|
|
137
|
+
disabled: disabled,
|
|
138
|
+
"aria-labelledby": labelId
|
|
139
139
|
}), showLimitsValues && /*#__PURE__*/_react["default"].createElement(MaxLabelContainer, {
|
|
140
140
|
backgroundType: backgroundType,
|
|
141
141
|
disabled: disabled,
|
|
142
142
|
step: step
|
|
143
143
|
}, maxLabel), showInput && /*#__PURE__*/_react["default"].createElement(StyledTextInput, null, /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
144
144
|
name: name,
|
|
145
|
-
value: value != null && value >= 0 && value || innerValue,
|
|
145
|
+
value: value != null && value >= 0 && value.toString() || innerValue.toString(),
|
|
146
146
|
disabled: disabled,
|
|
147
147
|
onChange: handlerInputChange,
|
|
148
148
|
size: "fillParent"
|
|
@@ -150,7 +150,7 @@ var DxcSlider = function DxcSlider(_ref) {
|
|
|
150
150
|
};
|
|
151
151
|
|
|
152
152
|
var sizes = {
|
|
153
|
-
medium: "
|
|
153
|
+
medium: "360px",
|
|
154
154
|
large: "480px",
|
|
155
155
|
fillParent: "100%"
|
|
156
156
|
};
|
|
@@ -173,10 +173,10 @@ var Container = _styledComponents["default"].div(_templateObject || (_templateOb
|
|
|
173
173
|
return calculateWidth(props.margin, props.size);
|
|
174
174
|
});
|
|
175
175
|
|
|
176
|
-
var Label = _styledComponents["default"].label(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
|
|
177
|
-
return props.theme.labelFontColor;
|
|
176
|
+
var Label = _styledComponents["default"].label(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
|
|
177
|
+
return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledLabelFontColorOnDark : props.theme.disabledLabelFontColor : props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.theme.labelFontColor;
|
|
178
178
|
}, function (props) {
|
|
179
|
-
return props.theme.
|
|
179
|
+
return props.theme.fontFamily;
|
|
180
180
|
}, function (props) {
|
|
181
181
|
return props.theme.labelFontSize;
|
|
182
182
|
}, function (props) {
|
|
@@ -188,20 +188,20 @@ var Label = _styledComponents["default"].label(_templateObject2 || (_templateObj
|
|
|
188
188
|
});
|
|
189
189
|
|
|
190
190
|
var HelperText = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
|
|
191
|
-
return props.theme.helperTextFontColor;
|
|
191
|
+
return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledHelperTextFontColorOnDark : props.theme.disabledHelperTextFontColor : props.backgroundType === "dark" ? props.theme.helperTextFontColorOnDark : props.theme.helperTextFontColor;
|
|
192
192
|
}, function (props) {
|
|
193
|
-
return props.theme.
|
|
193
|
+
return props.theme.fontFamily;
|
|
194
194
|
}, function (props) {
|
|
195
195
|
return props.theme.helperTextFontSize;
|
|
196
196
|
}, function (props) {
|
|
197
|
-
return props.theme.
|
|
197
|
+
return props.theme.helperTextFontStyle;
|
|
198
198
|
}, function (props) {
|
|
199
199
|
return props.theme.helperTextFontWeight;
|
|
200
200
|
}, function (props) {
|
|
201
201
|
return props.theme.helperTextLineHeight;
|
|
202
202
|
});
|
|
203
203
|
|
|
204
|
-
var SliderContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n height: 48px;\n align-items: center;\n\n .
|
|
204
|
+
var SliderContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n height: 48px;\n align-items: center;\n\n .MuiSlider-root {\n min-width: 15rem;\n }\n .MuiSlider-container {\n padding: 30px 24px;\n }\n .MuiSlider-root.Mui-disabled {\n color: ", ";\n cursor: not-allowed;\n }\n .Mui-disabled {\n & .MuiSlider-thumb {\n height: ", ";\n width: ", ";\n background-color: ", ";\n top: ", ";\n }\n & .MuiSlider-track {\n background-color: ", ";\n }\n & .MuiSlider-rail {\n background-color: ", ";\n }\n & > .MuiSlider-mark.MuiSlider-markActive {\n background-color: ", " !important;\n }\n & > .MuiSlider-mark {\n background-color: ", ";\n height: ", ";\n width: ", ";\n border-radius: 18px;\n top: ", ";\n }\n }\n .MuiSlider-thumb {\n height: ", ";\n width: ", ";\n background-color: ", ";\n top: ", ";\n border-radius: 9999px;\n\n :hover,\n &.Mui-focusVisible {\n box-shadow: none;\n }\n &.MuiSlider-active {\n box-shadow: none;\n }\n :focus {\n outline: ", "\n auto 1px;\n outline-offset: 2px;\n background-color: ", ";\n }\n :hover {\n background-color: ", ";\n transform: scale(", ");\n transform-origin: center;\n height: ", ";\n width: ", ";\n top: ", ";\n }\n :active {\n background-color: ", ";\n transform: scale(", ");\n transform-origin: center;\n }\n }\n .MuiSlider-track {\n background-color: ", ";\n height: ", ";\n top: ", ";\n border-radius: 9999px;\n }\n .MuiSlider-track.MuiSlider-trackAfter {\n background-color: ", ";\n }\n .MuiSlider-rail {\n background-color: ", ";\n height: ", ";\n top: ", ";\n }\n .MuiSlider-mark.MuiSlider-markActive {\n background-color: ", ";\n }\n .MuiSlider-mark {\n background-color: ", ";\n height: ", ";\n width: ", ";\n border-radius: 18px;\n top: ", ";\n }\n"])), function (props) {
|
|
205
205
|
return props.backgroundType === "dark" ? props.theme.disabledThumbBackgroundColorOnDark : props.theme.disabledThumbBackgroundColor;
|
|
206
206
|
}, function (props) {
|
|
207
207
|
return props.theme.thumbHeight;
|
|
@@ -277,34 +277,34 @@ var SliderContainer = _styledComponents["default"].div(_templateObject4 || (_tem
|
|
|
277
277
|
return props.theme.tickVerticalPosition;
|
|
278
278
|
});
|
|
279
279
|
|
|
280
|
-
var MinLabelContainer = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
281
|
-
return props.theme.
|
|
280
|
+
var MinLabelContainer = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n white-space: nowrap;\n margin-right: ", ";\n"])), function (props) {
|
|
281
|
+
return props.disabled ? props.theme.disabledLimitValuesFontColor : props.backgroundType === "dark" ? props.theme.limitValuesFontColorOnDark : props.theme.limitValuesFontColor;
|
|
282
282
|
}, function (props) {
|
|
283
|
-
return props.theme.
|
|
283
|
+
return props.theme.fontFamily;
|
|
284
284
|
}, function (props) {
|
|
285
|
-
return props.theme.
|
|
285
|
+
return props.theme.limitValuesFontSize;
|
|
286
286
|
}, function (props) {
|
|
287
|
-
return props.theme.
|
|
287
|
+
return props.theme.limitValuesFontStyle;
|
|
288
288
|
}, function (props) {
|
|
289
|
-
return props.
|
|
289
|
+
return props.theme.limitValuesFontWeight;
|
|
290
290
|
}, function (props) {
|
|
291
|
-
return props.theme.
|
|
291
|
+
return props.theme.limitValuesFontLetterSpacing;
|
|
292
292
|
}, function (props) {
|
|
293
293
|
return props.theme.floorLabelMarginRight;
|
|
294
294
|
});
|
|
295
295
|
|
|
296
|
-
var MaxLabelContainer = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
297
|
-
return props.theme.
|
|
296
|
+
var MaxLabelContainer = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n white-space: nowrap;\n margin-left: ", ";\n"])), function (props) {
|
|
297
|
+
return props.disabled ? props.theme.disabledLimitValuesFontColor : props.backgroundType === "dark" ? props.theme.limitValuesFontColorOnDark : props.theme.limitValuesFontColor;
|
|
298
298
|
}, function (props) {
|
|
299
|
-
return props.theme.
|
|
299
|
+
return props.theme.fontFamily;
|
|
300
300
|
}, function (props) {
|
|
301
|
-
return props.theme.
|
|
301
|
+
return props.theme.limitValuesFontSize;
|
|
302
302
|
}, function (props) {
|
|
303
|
-
return props.theme.
|
|
303
|
+
return props.theme.limitValuesFontStyle;
|
|
304
304
|
}, function (props) {
|
|
305
|
-
return props.
|
|
305
|
+
return props.theme.limitValuesFontWeight;
|
|
306
306
|
}, function (props) {
|
|
307
|
-
return props.theme.
|
|
307
|
+
return props.theme.limitValuesFontLetterSpacing;
|
|
308
308
|
}, function (props) {
|
|
309
309
|
return props.step === 1 ? props.theme.ceilLabelMarginLeft : "1.25rem";
|
|
310
310
|
});
|
|
@@ -313,28 +313,5 @@ var StyledTextInput = _styledComponents["default"].div(_templateObject7 || (_tem
|
|
|
313
313
|
return props.theme.inputMarginLeft;
|
|
314
314
|
});
|
|
315
315
|
|
|
316
|
-
DxcSlider.propTypes = {
|
|
317
|
-
label: _propTypes["default"].string,
|
|
318
|
-
helperText: _propTypes["default"].string,
|
|
319
|
-
size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
|
|
320
|
-
minValue: _propTypes["default"].number,
|
|
321
|
-
maxValue: _propTypes["default"].number,
|
|
322
|
-
step: _propTypes["default"].number,
|
|
323
|
-
value: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string]),
|
|
324
|
-
showLimitsValues: _propTypes["default"].bool,
|
|
325
|
-
showInput: _propTypes["default"].bool,
|
|
326
|
-
name: _propTypes["default"].string,
|
|
327
|
-
onChange: _propTypes["default"].func,
|
|
328
|
-
onDragEnd: _propTypes["default"].func,
|
|
329
|
-
disabled: _propTypes["default"].bool,
|
|
330
|
-
marks: _propTypes["default"].bool,
|
|
331
|
-
labelFormatCallback: _propTypes["default"].func,
|
|
332
|
-
margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
|
|
333
|
-
top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
334
|
-
bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
335
|
-
left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
336
|
-
right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
|
|
337
|
-
}), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
|
|
338
|
-
};
|
|
339
316
|
var _default = DxcSlider;
|
|
340
317
|
exports["default"] = _default;
|