@dxc-technology/halstack-react 0.0.0-f54247d → 0.0.0-f6d6be5
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 +1337 -5
- package/HalstackContext.js +113 -72
- package/README.md +47 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +14 -37
- package/accordion/Accordion.stories.tsx +104 -113
- package/accordion/Accordion.test.js +1 -1
- package/accordion/types.d.ts +2 -14
- package/accordion-group/AccordionGroup.d.ts +4 -3
- package/accordion-group/AccordionGroup.js +23 -44
- package/accordion-group/AccordionGroup.stories.tsx +77 -76
- package/accordion-group/AccordionGroup.test.js +7 -17
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +43 -0
- package/accordion-group/types.d.ts +2 -14
- package/alert/Alert.js +4 -8
- 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 +7 -26
- package/box/Box.stories.tsx +38 -51
- package/box/Box.test.js +1 -1
- package/box/types.d.ts +0 -12
- 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.d.ts +1 -1
- package/button/Button.js +48 -60
- package/button/Button.stories.tsx +151 -9
- package/button/Button.test.js +12 -1
- package/button/types.d.ts +7 -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 -7
- package/checkbox/Checkbox.js +3 -3
- package/checkbox/Checkbox.stories.tsx +52 -0
- package/checkbox/Checkbox.test.js +1 -1
- package/checkbox/types.d.ts +2 -2
- 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 +1490 -0
- package/common/variables.js +984 -1127
- package/date-input/Calendar.d.ts +1 -1
- package/date-input/Calendar.js +45 -45
- package/date-input/DateInput.js +74 -32
- package/date-input/DateInput.stories.tsx +183 -30
- package/date-input/DateInput.test.js +120 -37
- package/date-input/DatePicker.js +38 -52
- package/date-input/Icons.d.ts +6 -0
- package/date-input/Icons.js +75 -0
- package/date-input/YearPicker.d.ts +1 -1
- package/date-input/YearPicker.js +23 -12
- package/date-input/types.d.ts +6 -8
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.js +55 -86
- package/dialog/Dialog.stories.tsx +145 -217
- package/dialog/Dialog.test.js +302 -3
- package/dialog/types.d.ts +0 -13
- package/dropdown/Dropdown.js +5 -8
- package/dropdown/Dropdown.stories.tsx +210 -84
- package/dropdown/Dropdown.test.js +3 -2
- package/dropdown/DropdownMenu.js +12 -18
- package/dropdown/DropdownMenuItem.js +4 -17
- package/dropdown/types.d.ts +3 -3
- package/file-input/FileInput.js +4 -8
- package/file-input/FileInput.stories.tsx +85 -2
- package/file-input/FileInput.test.js +1 -42
- package/file-input/FileItem.js +3 -2
- package/file-input/types.d.ts +1 -1
- package/flex/Flex.js +4 -2
- package/flex/Flex.stories.tsx +35 -26
- package/flex/types.d.ts +70 -5
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +44 -64
- package/footer/Footer.stories.tsx +36 -21
- package/footer/Footer.test.js +16 -26
- package/footer/types.d.ts +10 -12
- 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 -15
- package/heading/Heading.js +1 -1
- package/heading/Heading.test.js +1 -1
- package/image/Image.d.ts +4 -0
- package/image/Image.js +85 -0
- package/image/Image.stories.tsx +127 -0
- package/image/types.d.ts +72 -0
- package/inset/Inset.stories.tsx +2 -1
- package/layout/ApplicationLayout.d.ts +5 -5
- package/layout/ApplicationLayout.js +15 -12
- package/layout/ApplicationLayout.stories.tsx +1 -1
- package/layout/Icons.d.ts +7 -4
- package/layout/Icons.js +52 -56
- package/layout/types.d.ts +2 -3
- package/link/Link.js +3 -3
- 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 +4 -2
- package/main.js +17 -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 +48 -32
- package/{tabs-nav → nav-tabs}/types.d.ts +8 -9
- package/nav-tabs/types.js +5 -0
- package/number-input/NumberInput.d.ts +7 -0
- package/number-input/NumberInput.js +6 -4
- package/number-input/NumberInput.test.js +279 -96
- package/package.json +3 -3
- 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 +57 -47
- package/paragraph/Paragraph.d.ts +3 -4
- package/paragraph/Paragraph.js +5 -5
- package/password-input/Icons.d.ts +6 -0
- package/password-input/Icons.js +39 -0
- package/password-input/PasswordInput.js +35 -82
- package/password-input/PasswordInput.stories.tsx +1 -0
- package/password-input/PasswordInput.test.js +28 -35
- 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.stories.tsx +14 -0
- package/radio-group/Radio.js +10 -10
- package/radio-group/RadioGroup.js +8 -10
- package/radio-group/RadioGroup.stories.tsx +131 -18
- package/radio-group/RadioGroup.test.js +1 -1
- package/resultsetTable/ResultsetTable.js +2 -2
- package/resultsetTable/ResultsetTable.test.js +18 -23
- package/resultsetTable/types.d.ts +3 -3
- package/select/Listbox.d.ts +1 -1
- package/select/Listbox.js +5 -34
- package/select/Option.js +11 -24
- package/select/Select.js +56 -35
- package/select/Select.stories.tsx +495 -148
- package/select/Select.test.js +80 -85
- 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.js +6 -7
- package/slider/Slider.stories.tsx +57 -0
- package/slider/Slider.test.js +1 -1
- package/slider/types.d.ts +2 -2
- package/spinner/Spinner.js +17 -23
- package/spinner/Spinner.stories.jsx +53 -27
- package/spinner/Spinner.test.js +1 -1
- package/switch/Switch.js +3 -3
- package/switch/Switch.stories.tsx +33 -0
- package/switch/Switch.test.js +1 -1
- package/switch/types.d.ts +2 -2
- package/table/Table.js +2 -2
- package/table/Table.stories.jsx +80 -1
- package/table/Table.test.js +1 -1
- 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 +7 -9
- package/tag/Tag.stories.tsx +14 -1
- package/tag/Tag.test.js +1 -1
- package/text-input/Suggestion.js +34 -7
- package/text-input/TextInput.js +71 -91
- package/text-input/TextInput.stories.tsx +93 -5
- package/text-input/TextInput.test.js +125 -26
- 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 +85 -59
- package/toggle-group/ToggleGroup.stories.tsx +48 -3
- package/toggle-group/ToggleGroup.test.js +38 -24
- package/toggle-group/types.d.ts +22 -13
- package/typography/Typography.d.ts +2 -2
- package/typography/Typography.js +14 -113
- package/typography/Typography.stories.tsx +1 -1
- package/useTheme.d.ts +1242 -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/number-input/NumberInputContext.d.ts +0 -4
- package/number-input/NumberInputContext.js +0 -19
- package/number-input/numberInputContextTypes.d.ts +0 -19
- /package/{tabs-nav → grid}/types.js +0 -0
- /package/{number-input/numberInputContextTypes.js → image/types.js} +0 -0
- /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
package/sidenav/types.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
declare type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
|
|
3
3
|
declare type SidenavPropsType = {
|
|
4
|
-
/**
|
|
5
|
-
* The area inside the sidenav. This area can be used to render the content inside the sidenav.
|
|
6
|
-
*/
|
|
7
|
-
children: React.ReactNode;
|
|
8
4
|
/**
|
|
9
5
|
* The area assigned to render the sidenav title. It is highly recommended to use the sidenav title.
|
|
10
6
|
*/
|
|
11
7
|
title?: React.ReactNode;
|
|
8
|
+
/**
|
|
9
|
+
* The area inside the sidenav. This area can be used to render the content inside the sidenav.
|
|
10
|
+
*/
|
|
11
|
+
children: React.ReactNode;
|
|
12
12
|
};
|
|
13
13
|
export declare type SidenavTitlePropsType = {
|
|
14
14
|
/**
|
|
@@ -23,28 +23,25 @@ export declare type SidenavSectionPropsType = {
|
|
|
23
23
|
children: React.ReactNode;
|
|
24
24
|
};
|
|
25
25
|
export declare type SidenavGroupPropsType = {
|
|
26
|
-
/**
|
|
27
|
-
* The area inside the sidenav group. This area can be used to render sidenav links.
|
|
28
|
-
*/
|
|
29
|
-
children: React.ReactNode;
|
|
30
26
|
/**
|
|
31
27
|
* The title of the sidenav group.
|
|
32
28
|
*/
|
|
33
29
|
title?: string;
|
|
34
30
|
/**
|
|
35
|
-
* If true the sidenav group
|
|
31
|
+
* If true, the sidenav group will be a button that will allow you to collapse the links contained within it.
|
|
32
|
+
* In addition, if it's collapsed and contains the currently selected link, the group title will also be marked as selected.
|
|
36
33
|
*/
|
|
37
34
|
collapsable?: boolean;
|
|
38
35
|
/**
|
|
39
36
|
* The icon to be displayed next to the title of the group.
|
|
40
37
|
*/
|
|
41
38
|
icon?: string | SVG;
|
|
42
|
-
};
|
|
43
|
-
export declare type SidenavLinkPropsType = {
|
|
44
39
|
/**
|
|
45
|
-
*
|
|
40
|
+
* The area inside the sidenav group. This area can be used to render sidenav links.
|
|
46
41
|
*/
|
|
47
|
-
|
|
42
|
+
children: React.ReactNode;
|
|
43
|
+
};
|
|
44
|
+
export declare type SidenavLinkPropsType = {
|
|
48
45
|
/**
|
|
49
46
|
* Page to be opened when the user clicks on the link.
|
|
50
47
|
*/
|
|
@@ -58,16 +55,22 @@ export declare type SidenavLinkPropsType = {
|
|
|
58
55
|
*/
|
|
59
56
|
icon?: string | SVG;
|
|
60
57
|
/**
|
|
61
|
-
* If true, the link will be marked as selected.
|
|
58
|
+
* If true, the link will be marked as selected. Moreover, in that same case,
|
|
59
|
+
* if it is contained within a collapsed group, and consequently, the currently selected link is not visible,
|
|
60
|
+
* the group title will appear as selected too.
|
|
62
61
|
*/
|
|
63
62
|
selected?: boolean;
|
|
64
63
|
/**
|
|
65
|
-
*
|
|
64
|
+
* This function will be called when the user clicks the link and the event will be passed to this function.
|
|
66
65
|
*/
|
|
67
|
-
|
|
66
|
+
onClick?: ($event: React.MouseEvent<HTMLAnchorElement>) => void;
|
|
68
67
|
/**
|
|
69
|
-
*
|
|
68
|
+
* Value of the tabindex.
|
|
69
|
+
*/
|
|
70
|
+
tabIndex?: number;
|
|
71
|
+
/**
|
|
72
|
+
* The area inside the sidenav link.
|
|
70
73
|
*/
|
|
71
|
-
|
|
74
|
+
children: React.ReactNode;
|
|
72
75
|
};
|
|
73
76
|
export default SidenavPropsType;
|
package/slider/Slider.js
CHANGED
|
@@ -21,9 +21,9 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
|
21
21
|
|
|
22
22
|
var _TextInput = _interopRequireDefault(require("../text-input/TextInput"));
|
|
23
23
|
|
|
24
|
-
var _variables = require("../common/variables
|
|
24
|
+
var _variables = require("../common/variables");
|
|
25
25
|
|
|
26
|
-
var _utils = require("../common/utils
|
|
26
|
+
var _utils = require("../common/utils");
|
|
27
27
|
|
|
28
28
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
29
29
|
|
|
@@ -166,7 +166,6 @@ var DxcSlider = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
166
166
|
min: minValue,
|
|
167
167
|
max: maxValue,
|
|
168
168
|
step: step,
|
|
169
|
-
marks: marks,
|
|
170
169
|
disabled: disabled,
|
|
171
170
|
"aria-labelledby": labelId,
|
|
172
171
|
"aria-orientation": "horizontal",
|
|
@@ -252,7 +251,7 @@ var HelperText = _styledComponents["default"].span(_templateObject3 || (_templat
|
|
|
252
251
|
return props.theme.helperTextLineHeight;
|
|
253
252
|
});
|
|
254
253
|
|
|
255
|
-
var SliderInput = _styledComponents["default"].input(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n min-width: 240px;\n height: ", ";\n display: inline-block;\n vertical-align: middle;\n -webkit-appearance: none;\n background-color: ", ";\n background-image: ", ";\n background-repeat: no-repeat;\n background-size: ", ";\n border-radius: 5px;\n
|
|
254
|
+
var SliderInput = _styledComponents["default"].input(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n min-width: 240px;\n height: ", ";\n display: inline-block;\n vertical-align: middle;\n -webkit-appearance: none;\n background-color: ", ";\n background-image: ", ";\n background-repeat: no-repeat;\n background-size: ", ";\n border-radius: 5px;\n cursor: ", ";\n &::-webkit-slider-runnable-track {\n -webkit-appearance: none;\n box-shadow: none;\n border: none;\n background: transparent;\n margin: 0px -8px;\n }\n\n &::-webkit-slider-thumb {\n -webkit-appearance: none;\n border: none;\n height: ", ";\n width: ", ";\n border-radius: 25px;\n background: ", ";\n &:active {\n ", "\n }\n &:hover {\n ", "\n }\n }\n &::-moz-range-track {\n -webkit-appearance: none;\n box-shadow: none;\n border: none;\n background: transparent;\n }\n &::-moz-range-thumb {\n -webkit-appearance: none;\n border: none;\n height: ", ";\n width: ", ";\n border-radius: 25px;\n background: ", ";\n &:active {\n background: ", ";\n transform: scale(1.16667);\n }\n &:hover {\n ", "\n }\n }\n &:focus {\n outline: none;\n &::-webkit-slider-thumb {\n outline: ", "\n auto 1px;\n outline-offset: 2px;\n }\n &::-moz-range-thumb {\n outline: ", "\n auto 1px;\n outline-offset: 2px;\n }\n }\n"])), function (props) {
|
|
256
255
|
return props.theme.trackLineThickness;
|
|
257
256
|
}, function (props) {
|
|
258
257
|
return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledTotalLineColorOnDark + "61" : props.theme.disabledTotalLineColor + "61" : props.backgroundType === "dark" ? props.theme.totalLineColorOnDark + "61" : props.theme.totalLineColor;
|
|
@@ -317,13 +316,13 @@ var MaxLabelContainer = (0, _styledComponents["default"])(LimitLabelContainer)(_
|
|
|
317
316
|
return props.step === 1 ? props.theme.ceilLabelMarginLeft : "1.25rem";
|
|
318
317
|
});
|
|
319
318
|
|
|
320
|
-
var SliderInputContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n width: 100%;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: -2px;\n padding-top: 1px;\n"])));
|
|
319
|
+
var SliderInputContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n width: 100%;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: -2px;\n padding-top: 1px;\n z-index: 0;\n"])));
|
|
321
320
|
|
|
322
321
|
var MarksContainer = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n position: absolute;\n pointer-events: none;\n height: 100%;\n display: flex;\n align-items: center;\n"])), function (props) {
|
|
323
322
|
return props.isFirefox ? getFireFoxStyles() : getChromeStyles();
|
|
324
323
|
});
|
|
325
324
|
|
|
326
|
-
var TickMark = _styledComponents["default"].span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n background: ", ";\n height: ", ";\n width: ", ";\n border-radius: 18px;\n left: ", ";\n ", ";\n"])), function (props) {
|
|
325
|
+
var TickMark = _styledComponents["default"].span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n background: ", ";\n height: ", ";\n width: ", ";\n border-radius: 18px;\n left: ", ";\n z-index: ", ";\n"])), function (props) {
|
|
327
326
|
return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledTickBackgroundColorOnDark : props.theme.disabledTickBackgroundColor : props.backgroundType === "dark" ? props.theme.tickBackgroundColorOnDark : props.theme.tickBackgroundColor;
|
|
328
327
|
}, function (props) {
|
|
329
328
|
return props.theme.tickHeight;
|
|
@@ -332,7 +331,7 @@ var TickMark = _styledComponents["default"].span(_templateObject11 || (_template
|
|
|
332
331
|
}, function (props) {
|
|
333
332
|
return "calc(".concat(props.stepPosition, " * 100%)");
|
|
334
333
|
}, function (props) {
|
|
335
|
-
return
|
|
334
|
+
return "".concat(props.stepPosition <= props.stepValue ? "-1" : "0");
|
|
336
335
|
});
|
|
337
336
|
|
|
338
337
|
var StyledTextInput = _styledComponents["default"].div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: ", ";\n max-width: 70px;\n"])), function (props) {
|
|
@@ -4,6 +4,7 @@ import { BackgroundColorProvider } from "../BackgroundColorContext";
|
|
|
4
4
|
import Title from "../../.storybook/components/Title";
|
|
5
5
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
6
6
|
import DarkContainer from "../../.storybook/components/DarkSection";
|
|
7
|
+
import { HalstackProvider } from "../HalstackContext";
|
|
7
8
|
|
|
8
9
|
export default {
|
|
9
10
|
title: "Slider",
|
|
@@ -12,6 +13,14 @@ export default {
|
|
|
12
13
|
|
|
13
14
|
const labelFormat = (value) => `${value}E100000000000000000000000`;
|
|
14
15
|
|
|
16
|
+
const opinionatedTheme = {
|
|
17
|
+
slider: {
|
|
18
|
+
baseColor: "#0067b3",
|
|
19
|
+
fontColor: "#000000",
|
|
20
|
+
totalLineColor: "#e6e6e6",
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
|
|
15
24
|
export const Chromatic = () => (
|
|
16
25
|
<>
|
|
17
26
|
<Title title="States" theme="light" level={2} />
|
|
@@ -179,5 +188,53 @@ export const Chromatic = () => (
|
|
|
179
188
|
size="large"
|
|
180
189
|
/>
|
|
181
190
|
</ExampleContainer>
|
|
191
|
+
<Title title="Opinionated theme" theme="light" level={2} />
|
|
192
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
193
|
+
<Title title="Hovered" theme="light" level={4} />
|
|
194
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
195
|
+
<DxcSlider label="Slider" helperText="Help message" showLimitsValues />
|
|
196
|
+
</HalstackProvider>
|
|
197
|
+
</ExampleContainer>
|
|
198
|
+
<ExampleContainer pseudoState="pseudo-active">
|
|
199
|
+
<Title title="Active" theme="light" level={4} />
|
|
200
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
201
|
+
<DxcSlider label="Slider" helperText="Help message" showLimitsValues />
|
|
202
|
+
</HalstackProvider>
|
|
203
|
+
</ExampleContainer>
|
|
204
|
+
<ExampleContainer pseudoState="pseudo-focus">
|
|
205
|
+
<Title title="Focused" theme="light" level={4} />
|
|
206
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
207
|
+
<DxcSlider label="Slider" helperText="Help message" showLimitsValues />
|
|
208
|
+
</HalstackProvider>
|
|
209
|
+
</ExampleContainer>
|
|
210
|
+
<ExampleContainer>
|
|
211
|
+
<Title title="Disabled discrete slider with input" theme="light" level={4} />{" "}
|
|
212
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
213
|
+
<DxcSlider
|
|
214
|
+
label="Slider"
|
|
215
|
+
helperText="Help message"
|
|
216
|
+
disabled
|
|
217
|
+
defaultValue={40}
|
|
218
|
+
minValue={0}
|
|
219
|
+
maxValue={50}
|
|
220
|
+
showLimitsValues
|
|
221
|
+
showInput
|
|
222
|
+
marks
|
|
223
|
+
step={10}
|
|
224
|
+
/>
|
|
225
|
+
</HalstackProvider>
|
|
226
|
+
</ExampleContainer>
|
|
227
|
+
<ExampleContainer>
|
|
228
|
+
<Title title="Continuous slider" theme="light" level={4} />
|
|
229
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
230
|
+
<DxcSlider defaultValue={65} label="Slider" helperText="Help message" showLimitsValues />
|
|
231
|
+
</HalstackProvider>
|
|
232
|
+
</ExampleContainer>
|
|
233
|
+
<ExampleContainer>
|
|
234
|
+
<Title title="Discrete slider" theme="light" level={4} />
|
|
235
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
236
|
+
<DxcSlider defaultValue={20} label="Slider" helperText="Help message" showLimitsValues marks step={5} />
|
|
237
|
+
</HalstackProvider>
|
|
238
|
+
</ExampleContainer>
|
|
182
239
|
</>
|
|
183
240
|
);
|
package/slider/Slider.test.js
CHANGED
|
@@ -8,7 +8,7 @@ var _react2 = require("@testing-library/react");
|
|
|
8
8
|
|
|
9
9
|
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
10
10
|
|
|
11
|
-
var _Slider = _interopRequireDefault(require("./Slider"));
|
|
11
|
+
var _Slider = _interopRequireDefault(require("./Slider.tsx"));
|
|
12
12
|
|
|
13
13
|
describe("Slider component tests", function () {
|
|
14
14
|
test("Slider renders with correct text and label id", function () {
|
package/slider/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
2
|
+
declare type Margin = {
|
|
3
3
|
top?: Space;
|
|
4
4
|
bottom?: Space;
|
|
5
5
|
left?: Space;
|
package/spinner/Spinner.js
CHANGED
|
@@ -17,7 +17,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
17
17
|
|
|
18
18
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
19
19
|
|
|
20
|
-
var _variables = require("../common/variables
|
|
20
|
+
var _variables = require("../common/variables");
|
|
21
21
|
|
|
22
22
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
23
23
|
|
|
@@ -46,11 +46,8 @@ var DxcSpinner = function DxcSpinner(_ref) {
|
|
|
46
46
|
margin: margin,
|
|
47
47
|
mode: mode
|
|
48
48
|
}, /*#__PURE__*/_react["default"].createElement(SpinnerContainer, {
|
|
49
|
-
backgroundType: backgroundType,
|
|
50
|
-
mode: mode
|
|
51
|
-
}, mode === "overlay" && /*#__PURE__*/_react["default"].createElement(BackOverlay, null), /*#__PURE__*/_react["default"].createElement(BackgroundSpinner, {
|
|
52
49
|
mode: mode
|
|
53
|
-
}, mode !== "small" && /*#__PURE__*/_react["default"].createElement(SVGBackground, {
|
|
50
|
+
}, mode === "overlay" && /*#__PURE__*/_react["default"].createElement(BackOverlay, null), /*#__PURE__*/_react["default"].createElement(BackgroundSpinner, null, mode !== "small" && /*#__PURE__*/_react["default"].createElement(SVGBackground, {
|
|
54
51
|
viewBox: "0 0 140 140"
|
|
55
52
|
}, /*#__PURE__*/_react["default"].createElement(CircleBackground, {
|
|
56
53
|
cx: "70",
|
|
@@ -65,8 +62,7 @@ var DxcSpinner = function DxcSpinner(_ref) {
|
|
|
65
62
|
r: "6",
|
|
66
63
|
mode: mode
|
|
67
64
|
}))), value >= 0 && value <= 100 ? /*#__PURE__*/_react["default"].createElement(Spinner, {
|
|
68
|
-
role: "progressbar"
|
|
69
|
-
mode: mode
|
|
65
|
+
role: "progressbar"
|
|
70
66
|
}, mode !== "small" && /*#__PURE__*/_react["default"].createElement(SVGSpinner, {
|
|
71
67
|
viewBox: "0 0 140 140",
|
|
72
68
|
isDeterminated: true
|
|
@@ -90,8 +86,7 @@ var DxcSpinner = function DxcSpinner(_ref) {
|
|
|
90
86
|
isDeterminated: true,
|
|
91
87
|
value: value
|
|
92
88
|
}))) : /*#__PURE__*/_react["default"].createElement(Spinner, {
|
|
93
|
-
role: "progressbar"
|
|
94
|
-
mode: mode
|
|
89
|
+
role: "progressbar"
|
|
95
90
|
}, mode !== "small" && /*#__PURE__*/_react["default"].createElement(SVGSpinner, {
|
|
96
91
|
viewBox: "0 0 140 140",
|
|
97
92
|
isDeterminated: false
|
|
@@ -101,7 +96,8 @@ var DxcSpinner = function DxcSpinner(_ref) {
|
|
|
101
96
|
r: "65",
|
|
102
97
|
backgroundType: backgroundType,
|
|
103
98
|
mode: mode,
|
|
104
|
-
isDeterminated: false
|
|
99
|
+
isDeterminated: false,
|
|
100
|
+
value: value
|
|
105
101
|
})), mode === "small" && /*#__PURE__*/_react["default"].createElement(SVGSpinner, {
|
|
106
102
|
viewBox: "0 0 16 16",
|
|
107
103
|
isDeterminated: false
|
|
@@ -111,26 +107,24 @@ var DxcSpinner = function DxcSpinner(_ref) {
|
|
|
111
107
|
r: "6",
|
|
112
108
|
backgroundType: backgroundType,
|
|
113
109
|
mode: mode,
|
|
114
|
-
isDeterminated: false
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
value: value,
|
|
118
|
-
showValue: showValue
|
|
119
|
-
}, /*#__PURE__*/_react["default"].createElement(SpinnerLabel, {
|
|
110
|
+
isDeterminated: false,
|
|
111
|
+
value: value
|
|
112
|
+
}))), mode !== "small" && /*#__PURE__*/_react["default"].createElement(LabelsContainer, null, /*#__PURE__*/_react["default"].createElement(SpinnerLabel, {
|
|
120
113
|
backgroundType: backgroundType,
|
|
121
114
|
mode: mode
|
|
122
115
|
}, label), (value || value === 0) && showValue && /*#__PURE__*/_react["default"].createElement(SpinnerProgress, {
|
|
116
|
+
value: value,
|
|
123
117
|
backgroundType: backgroundType,
|
|
124
118
|
mode: mode,
|
|
125
119
|
showValue: showValue
|
|
126
120
|
}, value, "%")))));
|
|
127
121
|
};
|
|
128
122
|
|
|
129
|
-
var determinatedValue = function determinatedValue(
|
|
123
|
+
var determinatedValue = function determinatedValue(value, strokeDashArray) {
|
|
130
124
|
var val = 0;
|
|
131
125
|
|
|
132
|
-
if (
|
|
133
|
-
val = strokeDashArray * (1 -
|
|
126
|
+
if (value >= 0 && value <= 100) {
|
|
127
|
+
val = strokeDashArray * (1 - value / 100);
|
|
134
128
|
}
|
|
135
129
|
|
|
136
130
|
return val;
|
|
@@ -178,7 +172,7 @@ var BackOverlay = _styledComponents["default"].div(_templateObject3 || (_templat
|
|
|
178
172
|
return "".concat(props.theme.overlayOpacity);
|
|
179
173
|
});
|
|
180
174
|
|
|
181
|
-
var BackgroundSpinner = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n height: inherit;\n width: inherit;\n position: absolute;\n
|
|
175
|
+
var BackgroundSpinner = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n height: inherit;\n width: inherit;\n position: absolute;\n"])));
|
|
182
176
|
|
|
183
177
|
var SVGBackground = _styledComponents["default"].svg(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n height: inherit;\n width: inherit;\n"])));
|
|
184
178
|
|
|
@@ -190,7 +184,7 @@ var CircleBackground = _styledComponents["default"].circle(_templateObject6 || (
|
|
|
190
184
|
return props.mode !== "small" ? "8.5px" : "2px";
|
|
191
185
|
});
|
|
192
186
|
|
|
193
|
-
var Spinner = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n height: inherit;\n width: inherit;\n position: relative;\n
|
|
187
|
+
var Spinner = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n height: inherit;\n width: inherit;\n position: relative;\n"])));
|
|
194
188
|
|
|
195
189
|
var SVGSpinner = _styledComponents["default"].svg(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n height: inherit;\n width: inherit;\n transform: rotate(-90deg);\n top: 0;\n left: 0;\n transform-origin: center;\n overflow: visible;\n animation: ", ";\n"])), function (props) {
|
|
196
190
|
return !props.isDeterminated ? "1.4s linear infinite both spinner-svg" : "";
|
|
@@ -207,7 +201,7 @@ var CircleSpinner = _styledComponents["default"].circle(_templateObject9 || (_te
|
|
|
207
201
|
}, function (props) {
|
|
208
202
|
return props.mode !== "small" ? "8.5px" : "2px";
|
|
209
203
|
}, function (props) {
|
|
210
|
-
return props.isDeterminated ? props.mode !== "small" ? determinatedValue(props, 409) : determinatedValue(props, 38) : "";
|
|
204
|
+
return props.isDeterminated ? props.mode !== "small" ? determinatedValue(props.value, 409) : determinatedValue(props.value, 38) : "";
|
|
211
205
|
});
|
|
212
206
|
|
|
213
207
|
var LabelsContainer = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n display: block;\n margin: 0 auto;\n position: absolute;\n text-align: center;\n width: 110px;\n"])));
|
|
@@ -229,7 +223,7 @@ var SpinnerLabel = _styledComponents["default"].p(_templateObject11 || (_templat
|
|
|
229
223
|
});
|
|
230
224
|
|
|
231
225
|
var SpinnerProgress = _styledComponents["default"].p(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n margin: 0;\n width: 100%;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: ", ";\n font-family: ", ";\n font-weight: ", ";\n font-size: ", ";\n font-style: ", ";\n color: ", ";\n text-align: ", ";\n letter-spacing: ", ";\n"])), function (props) {
|
|
232
|
-
return props.value
|
|
226
|
+
return props.value && props.showValue === true && "block" || "none";
|
|
233
227
|
}, function (props) {
|
|
234
228
|
return props.mode === "overlay" ? props.theme.overlayProgressValueFontFamily : props.theme.progressValueFontFamily;
|
|
235
229
|
}, function (props) {
|
|
@@ -2,67 +2,84 @@ import React from "react";
|
|
|
2
2
|
import DxcSpinner from "./Spinner";
|
|
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: "Spinner",
|
|
8
9
|
component: DxcSpinner,
|
|
9
10
|
};
|
|
10
11
|
|
|
12
|
+
const opinionatedTheme = {
|
|
13
|
+
spinner: {
|
|
14
|
+
accentColor: "#5f249f",
|
|
15
|
+
baseColor: "#ffffff",
|
|
16
|
+
fontColor: "#000000",
|
|
17
|
+
overlayColor: "#a46ede",
|
|
18
|
+
overlayFontColor: "#ffffff",
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
|
|
11
22
|
export const Chromatic = () => (
|
|
12
23
|
<>
|
|
13
24
|
<ExampleContainer>
|
|
14
25
|
<Title title="With label" theme="light" level={4} />
|
|
15
|
-
<DxcSpinner label="Label" value=
|
|
26
|
+
<DxcSpinner label="Label" value={50}></DxcSpinner>
|
|
16
27
|
<Title title="With value label" theme="light" level={4} />
|
|
17
|
-
<DxcSpinner value=
|
|
28
|
+
<DxcSpinner value={50} showValue></DxcSpinner>
|
|
18
29
|
<Title title="With label and value label" theme="light" level={4} />
|
|
19
|
-
<DxcSpinner label="Label" value=
|
|
30
|
+
<DxcSpinner label="Label" value={50} showValue></DxcSpinner>
|
|
20
31
|
<Title title="With 100%" theme="light" level={4} />
|
|
21
|
-
<DxcSpinner label="Label" value=
|
|
32
|
+
<DxcSpinner label="Label" value={100} showValue></DxcSpinner>
|
|
22
33
|
</ExampleContainer>
|
|
23
34
|
<Title title="Modes" theme="light" level={2} />
|
|
24
35
|
<ExampleContainer>
|
|
25
36
|
<Title title="Mode large" theme="light" level={4} />
|
|
26
|
-
<DxcSpinner mode="large" value=
|
|
37
|
+
<DxcSpinner mode="large" value={50}></DxcSpinner>
|
|
27
38
|
<Title title="Mode small" theme="light" level={4} />
|
|
28
|
-
<DxcSpinner mode="small" value=
|
|
39
|
+
<DxcSpinner mode="small" value={50}></DxcSpinner>
|
|
29
40
|
<Title title="Mode small with 100%" theme="light" level={4} />
|
|
30
|
-
<DxcSpinner mode="small" value=
|
|
41
|
+
<DxcSpinner mode="small" value={100} showValue></DxcSpinner>
|
|
31
42
|
</ExampleContainer>
|
|
32
43
|
<Title title="Margins with large mode" theme="light" level={2} />
|
|
33
44
|
<ExampleContainer>
|
|
34
45
|
<Title title="Xxsmall margin" theme="light" level={4} />
|
|
35
|
-
<DxcSpinner margin="xxsmall" value=
|
|
46
|
+
<DxcSpinner margin="xxsmall" value={75}></DxcSpinner>
|
|
36
47
|
<Title title="Xsmall margin" theme="light" level={4} />
|
|
37
|
-
<DxcSpinner margin="xsmall" value=
|
|
48
|
+
<DxcSpinner margin="xsmall" value={75}></DxcSpinner>
|
|
38
49
|
<Title title="Small margin" theme="light" level={4} />
|
|
39
|
-
<DxcSpinner margin="small" value=
|
|
50
|
+
<DxcSpinner margin="small" value={75}></DxcSpinner>
|
|
40
51
|
<Title title="Medium margin" theme="light" level={4} />
|
|
41
|
-
<DxcSpinner margin="medium" value=
|
|
52
|
+
<DxcSpinner margin="medium" value={75}></DxcSpinner>
|
|
42
53
|
<Title title="Large margin" theme="light" level={4} />
|
|
43
|
-
<DxcSpinner margin="large" value=
|
|
54
|
+
<DxcSpinner margin="large" value={75}></DxcSpinner>
|
|
44
55
|
<Title title="Xlarge margin" theme="light" level={4} />
|
|
45
|
-
<DxcSpinner margin="xlarge" value=
|
|
56
|
+
<DxcSpinner margin="xlarge" value={75}></DxcSpinner>
|
|
46
57
|
<Title title="Xxlarge margin" theme="light" level={4} />
|
|
47
|
-
<DxcSpinner margin="xxlarge" value=
|
|
58
|
+
<DxcSpinner margin="xxlarge" value={75}></DxcSpinner>
|
|
48
59
|
</ExampleContainer>
|
|
49
60
|
<Title title="Margins with small mode" theme="light" level={2} />
|
|
50
61
|
<ExampleContainer>
|
|
51
62
|
<Title title="Xxsmall margin" theme="light" level={4} />
|
|
52
|
-
<DxcSpinner margin="xxsmall" mode="small" value=
|
|
63
|
+
<DxcSpinner margin="xxsmall" mode="small" value={75}></DxcSpinner>
|
|
53
64
|
<Title title="Xsmall margin" theme="light" level={4} />
|
|
54
|
-
<DxcSpinner margin="xsmall" mode="small" value=
|
|
65
|
+
<DxcSpinner margin="xsmall" mode="small" value={75}></DxcSpinner>
|
|
55
66
|
<Title title="Small margin" theme="light" level={4} />
|
|
56
|
-
<DxcSpinner margin="small" mode="small" value=
|
|
67
|
+
<DxcSpinner margin="small" mode="small" value={75}></DxcSpinner>
|
|
57
68
|
<Title title="Medium margin" theme="light" level={4} />
|
|
58
|
-
<DxcSpinner margin="medium" mode="small" value=
|
|
69
|
+
<DxcSpinner margin="medium" mode="small" value={75}></DxcSpinner>
|
|
59
70
|
<Title title="Large margin" theme="light" level={4} />
|
|
60
|
-
<DxcSpinner margin="large" mode="small" value=
|
|
71
|
+
<DxcSpinner margin="large" mode="small" value={75}></DxcSpinner>
|
|
61
72
|
<Title title="Xlarge margin" theme="light" level={4} />
|
|
62
|
-
<DxcSpinner margin="xlarge" mode="small" value=
|
|
73
|
+
<DxcSpinner margin="xlarge" mode="small" value={75}></DxcSpinner>
|
|
63
74
|
<Title title="Xxlarge margin" theme="light" level={4} />
|
|
64
|
-
<DxcSpinner margin="xxlarge" mode="small" value=
|
|
65
|
-
|
|
75
|
+
<DxcSpinner margin="xxlarge" mode="small" value={75}></DxcSpinner>
|
|
76
|
+
</ExampleContainer>
|
|
77
|
+
<Title title="Opinionated theme" theme="light" level={2} />
|
|
78
|
+
<ExampleContainer>
|
|
79
|
+
<Title title="With label and value label" theme="light" level={4} />
|
|
80
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
81
|
+
<DxcSpinner label="Label" value={50} showValue></DxcSpinner>
|
|
82
|
+
</HalstackProvider>
|
|
66
83
|
</ExampleContainer>
|
|
67
84
|
</>
|
|
68
85
|
);
|
|
@@ -70,34 +87,43 @@ export const Chromatic = () => (
|
|
|
70
87
|
export const SpinnerOverlay = () => (
|
|
71
88
|
<ExampleContainer>
|
|
72
89
|
<Title title="Mode overlay" theme="light" level={4} />
|
|
73
|
-
<DxcSpinner mode="overlay" value=
|
|
90
|
+
<DxcSpinner mode="overlay" value={25}></DxcSpinner>
|
|
74
91
|
</ExampleContainer>
|
|
75
92
|
);
|
|
76
93
|
|
|
77
94
|
export const SpinnerOverlayWith100 = () => (
|
|
78
95
|
<ExampleContainer>
|
|
79
96
|
<Title title="Mode overlay" theme="light" level={4} />
|
|
80
|
-
<DxcSpinner mode="overlay" value=
|
|
97
|
+
<DxcSpinner mode="overlay" value={100}></DxcSpinner>
|
|
81
98
|
</ExampleContainer>
|
|
82
99
|
);
|
|
83
100
|
|
|
84
101
|
export const SpinnerOverlayWithLabel = () => (
|
|
85
102
|
<ExampleContainer>
|
|
86
103
|
<Title title="Mode overlay" theme="light" level={4} />
|
|
87
|
-
<DxcSpinner mode="overlay" value=
|
|
104
|
+
<DxcSpinner mode="overlay" value={50} label="Label"></DxcSpinner>
|
|
88
105
|
</ExampleContainer>
|
|
89
106
|
);
|
|
90
107
|
|
|
91
108
|
export const SpinnerOverlayWithValue = () => (
|
|
92
109
|
<ExampleContainer>
|
|
93
110
|
<Title title="Mode overlay" theme="light" level={4} />
|
|
94
|
-
<DxcSpinner mode="overlay" value=
|
|
111
|
+
<DxcSpinner mode="overlay" value={50} showValue></DxcSpinner>
|
|
95
112
|
</ExampleContainer>
|
|
96
113
|
);
|
|
97
114
|
|
|
98
115
|
export const SpinnerOverlayWithValueAndLabel = () => (
|
|
99
116
|
<ExampleContainer>
|
|
100
117
|
<Title title="Mode overlay" theme="light" level={4} />
|
|
101
|
-
<DxcSpinner mode="overlay" label="Label" value=
|
|
118
|
+
<DxcSpinner mode="overlay" label="Label" value={50} showValue></DxcSpinner>
|
|
119
|
+
</ExampleContainer>
|
|
120
|
+
);
|
|
121
|
+
|
|
122
|
+
export const SpinnerOverlayWithValueAndLabelOpinionated = () => (
|
|
123
|
+
<ExampleContainer>
|
|
124
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
125
|
+
<Title title="Mode overlay" theme="light" level={4} />
|
|
126
|
+
<DxcSpinner mode="overlay" label="Label" value={50} showValue></DxcSpinner>
|
|
127
|
+
</HalstackProvider>
|
|
102
128
|
</ExampleContainer>
|
|
103
129
|
);
|
package/spinner/Spinner.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 _Spinner = _interopRequireDefault(require("./Spinner"));
|
|
9
|
+
var _Spinner = _interopRequireDefault(require("./Spinner.tsx"));
|
|
10
10
|
|
|
11
11
|
describe("Spinner component tests", function () {
|
|
12
12
|
test("Spinner renders with correct label", function () {
|
package/switch/Switch.js
CHANGED
|
@@ -21,9 +21,9 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
|
21
21
|
|
|
22
22
|
var _uuid = require("uuid");
|
|
23
23
|
|
|
24
|
-
var _variables = require("../common/variables
|
|
24
|
+
var _variables = require("../common/variables");
|
|
25
25
|
|
|
26
|
-
var _utils = require("../common/utils
|
|
26
|
+
var _utils = require("../common/utils");
|
|
27
27
|
|
|
28
28
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
29
29
|
|
|
@@ -234,7 +234,7 @@ var SwitchBase = _styledComponents["default"].label(_templateObject3 || (_templa
|
|
|
234
234
|
|
|
235
235
|
var ValueInput = _styledComponents["default"].input(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
|
|
236
236
|
|
|
237
|
-
var SwitchTrack = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n border-radius: 15px;\n width: ", ";\n height: ", ";\n position: relative;\n cursor: ", ";\n\n &:focus-visible {\n outline: none;\n ::before {\n outline: ", ";\n outline-offset: 6px;\n }\n }\n\n /* Thumb element */\n ::before {\n content: \"\";\n transform: initial;\n position: absolute;\n width: ", ";\n height: ", ";\n border-radius: 50%;\n
|
|
237
|
+
var SwitchTrack = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n border-radius: 15px;\n width: ", ";\n height: ", ";\n position: relative;\n cursor: ", ";\n\n &:focus-visible {\n outline: none;\n ::before {\n outline: ", ";\n outline-offset: 6px;\n }\n }\n\n /* Thumb element */\n ::before {\n content: \"\";\n transform: initial;\n position: absolute;\n width: ", ";\n height: ", ";\n border-radius: 50%;\n box-shadow: 0px 2px 1px -1px rgb(0 0 0 / 20%), 0px 1px 1px 0px rgb(0 0 0 / 14%), 0px 1px 3px 0px rgb(0 0 0 / 12%);\n bottom: -6px;\n left: -4px;\n transform: translateX(0px);\n background-color: ", ";\n }\n\n /* Unchecked */\n background-color: ", ";\n\n /* Checked */\n &[aria-checked=\"true\"] {\n background-color: ", ";\n ::before {\n transform: translateX(", ");\n background-color: ", ";\n }\n }\n"])), function (props) {
|
|
238
238
|
return props.theme.trackWidth;
|
|
239
239
|
}, function (props) {
|
|
240
240
|
return props.theme.trackHeight;
|
|
@@ -4,12 +4,20 @@ import { BackgroundColorProvider } from "../BackgroundColorContext";
|
|
|
4
4
|
import Title from "../../.storybook/components/Title";
|
|
5
5
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
6
6
|
import DarkContainer from "../../.storybook/components/DarkSection";
|
|
7
|
+
import { HalstackProvider } from "../HalstackContext";
|
|
7
8
|
|
|
8
9
|
export default {
|
|
9
10
|
title: "Switch",
|
|
10
11
|
component: DxcSwitch,
|
|
11
12
|
};
|
|
12
13
|
|
|
14
|
+
const opinionatedTheme = {
|
|
15
|
+
switch: {
|
|
16
|
+
checkedBaseColor: "#5f249f",
|
|
17
|
+
fontColor: "#000000",
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
|
|
13
21
|
export const Chromatic = () => (
|
|
14
22
|
<>
|
|
15
23
|
<ExampleContainer>
|
|
@@ -134,5 +142,30 @@ export const Chromatic = () => (
|
|
|
134
142
|
<Title title="FitContent size" theme="light" level={4} />
|
|
135
143
|
<DxcSwitch label="FitContent" size="fitContent" />
|
|
136
144
|
</ExampleContainer>
|
|
145
|
+
<Title title="Opinionated theme" theme="light" level={2} />
|
|
146
|
+
<ExampleContainer>
|
|
147
|
+
<Title title="Checked" theme="light" level={4} />
|
|
148
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
149
|
+
<DxcSwitch label="Switch" defaultChecked />
|
|
150
|
+
</HalstackProvider>
|
|
151
|
+
</ExampleContainer>
|
|
152
|
+
<ExampleContainer>
|
|
153
|
+
<Title title="Default" theme="light" level={4} />
|
|
154
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
155
|
+
<DxcSwitch label="Switch" />
|
|
156
|
+
</HalstackProvider>
|
|
157
|
+
</ExampleContainer>
|
|
158
|
+
<ExampleContainer>
|
|
159
|
+
<Title title="Disabled" theme="light" level={4} />
|
|
160
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
161
|
+
<DxcSwitch label="Switch" disabled />
|
|
162
|
+
</HalstackProvider>
|
|
163
|
+
</ExampleContainer>
|
|
164
|
+
<ExampleContainer>
|
|
165
|
+
<Title title="Disabled checked" theme="light" level={4} />
|
|
166
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
167
|
+
<DxcSwitch label="Switch" disabled defaultChecked />
|
|
168
|
+
</HalstackProvider>
|
|
169
|
+
</ExampleContainer>
|
|
137
170
|
</>
|
|
138
171
|
);
|
package/switch/Switch.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 _Switch = _interopRequireDefault(require("./Switch"));
|
|
9
|
+
var _Switch = _interopRequireDefault(require("./Switch.tsx"));
|
|
10
10
|
|
|
11
11
|
describe("Switch component tests", function () {
|
|
12
12
|
test("Switch renders with correct text", function () {
|
package/switch/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
2
|
+
declare type Margin = {
|
|
3
3
|
top?: Space;
|
|
4
4
|
bottom?: Space;
|
|
5
5
|
left?: Space;
|
package/table/Table.js
CHANGED
|
@@ -17,9 +17,9 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
17
17
|
|
|
18
18
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
19
19
|
|
|
20
|
-
var _variables = require("../common/variables
|
|
20
|
+
var _variables = require("../common/variables");
|
|
21
21
|
|
|
22
|
-
var _utils = require("../common/utils
|
|
22
|
+
var _utils = require("../common/utils");
|
|
23
23
|
|
|
24
24
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
25
25
|
|