@dxc-technology/halstack-react 0.0.0-ff6151e → 0.0.0-ff99b25
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.js +50 -0
- package/ThemeContext.js +246 -0
- package/V3Select/V3Select.js +455 -0
- package/V3Select/index.d.ts +27 -0
- package/V3Textarea/V3Textarea.js +260 -0
- package/V3Textarea/index.d.ts +27 -0
- package/accordion/Accordion.d.ts +4 -0
- package/accordion/Accordion.js +258 -0
- package/accordion/types.d.ts +68 -0
- package/accordion/types.js +5 -0
- package/accordion-group/AccordionGroup.d.ts +7 -0
- package/accordion-group/AccordionGroup.js +170 -0
- package/accordion-group/types.d.ts +72 -0
- package/accordion-group/types.js +5 -0
- package/alert/Alert.d.ts +4 -0
- package/alert/Alert.js +290 -0
- package/alert/types.d.ts +49 -0
- package/alert/types.js +5 -0
- package/badge/Badge.js +59 -0
- package/{dist/box → box}/Box.js +38 -34
- package/box/Box.stories.jsx +132 -0
- package/box/index.d.ts +25 -0
- package/button/Button.d.ts +4 -0
- package/button/Button.js +182 -0
- package/button/Button.stories.tsx +293 -0
- package/button/types.d.ts +57 -0
- package/button/types.js +5 -0
- package/card/Card.d.ts +4 -0
- package/card/Card.js +165 -0
- package/card/types.d.ts +69 -0
- package/card/types.js +5 -0
- package/checkbox/Checkbox.d.ts +4 -0
- package/checkbox/Checkbox.js +253 -0
- package/checkbox/types.d.ts +60 -0
- package/checkbox/types.js +5 -0
- package/chip/Chip.js +221 -0
- package/chip/index.d.ts +22 -0
- package/{dist/common → common}/OpenSans.css +0 -0
- package/{dist/common → common}/RequiredComponent.js +3 -11
- package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
- package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
- package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
- package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
- package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
- package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
- package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
- package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
- package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
- package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
- package/common/utils.js +22 -0
- package/common/variables.js +1569 -0
- package/{dist/date → date}/Date.js +81 -65
- package/date/index.d.ts +27 -0
- package/date-input/DateInput.d.ts +4 -0
- package/date-input/DateInput.js +361 -0
- package/date-input/types.d.ts +100 -0
- package/date-input/types.js +5 -0
- package/dialog/Dialog.d.ts +4 -0
- package/dialog/Dialog.js +165 -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 +417 -0
- package/dropdown/types.d.ts +89 -0
- package/dropdown/types.js +5 -0
- package/file-input/FileInput.js +532 -0
- package/file-input/FileItem.js +193 -0
- package/file-input/index.d.ts +81 -0
- package/footer/Footer.d.ts +4 -0
- package/footer/Footer.js +266 -0
- package/footer/Footer.stories.jsx +151 -0
- package/footer/Icons.js +77 -0
- package/footer/types.d.ts +61 -0
- package/footer/types.js +5 -0
- package/header/Header.js +326 -0
- package/header/Icons.js +59 -0
- package/header/index.d.ts +25 -0
- package/heading/Heading.js +176 -0
- package/heading/index.d.ts +17 -0
- package/input-text/Icons.js +22 -0
- package/input-text/InputText.js +611 -0
- package/input-text/index.d.ts +36 -0
- package/{dist/layout → layout}/ApplicationLayout.js +42 -142
- package/layout/Icons.js +55 -0
- package/link/Link.js +183 -0
- package/link/index.d.ts +23 -0
- package/main.d.ts +44 -0
- package/{dist/main.js → main.js} +125 -65
- package/number-input/NumberInput.js +128 -0
- package/number-input/NumberInput.stories.jsx +115 -0
- package/number-input/NumberInputContext.js +16 -0
- package/number-input/index.d.ts +113 -0
- package/package.json +34 -22
- package/paginator/Icons.js +66 -0
- package/paginator/Paginator.d.ts +4 -0
- package/paginator/Paginator.js +198 -0
- package/paginator/types.d.ts +38 -0
- package/paginator/types.js +5 -0
- package/password-input/PasswordInput.js +199 -0
- package/password-input/PasswordInput.stories.jsx +131 -0
- package/password-input/index.d.ts +94 -0
- package/progress-bar/ProgressBar.d.ts +4 -0
- package/progress-bar/ProgressBar.js +170 -0
- package/progress-bar/types.d.ts +37 -0
- package/progress-bar/types.js +5 -0
- package/radio/Radio.d.ts +4 -0
- package/radio/Radio.js +174 -0
- package/radio/types.d.ts +54 -0
- package/radio/types.js +5 -0
- package/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +95 -162
- package/resultsetTable/index.d.ts +19 -0
- package/select/Select.js +865 -0
- package/select/index.d.ts +131 -0
- package/sidenav/Sidenav.js +145 -0
- package/sidenav/index.d.ts +13 -0
- package/slider/Slider.d.ts +4 -0
- package/slider/Slider.js +306 -0
- package/slider/types.d.ts +83 -0
- package/slider/types.js +5 -0
- package/spinner/Spinner.js +267 -0
- package/spinner/index.d.ts +17 -0
- package/switch/Switch.d.ts +4 -0
- package/switch/Switch.js +179 -0
- package/switch/types.d.ts +58 -0
- package/switch/types.js +5 -0
- package/table/Table.js +118 -0
- package/table/index.d.ts +13 -0
- package/tabs/Tabs.d.ts +4 -0
- package/tabs/Tabs.js +211 -0
- package/tabs/types.d.ts +71 -0
- package/tabs/types.js +5 -0
- package/tag/Tag.js +208 -0
- package/tag/index.d.ts +24 -0
- package/text-input/TextInput.js +825 -0
- package/text-input/index.d.ts +135 -0
- package/textarea/Textarea.js +317 -0
- package/textarea/Textarea.stories.jsx +135 -0
- package/textarea/index.d.ts +117 -0
- package/{dist/toggle → toggle}/Toggle.js +30 -67
- package/toggle/index.d.ts +21 -0
- package/toggle-group/ToggleGroup.js +243 -0
- package/toggle-group/index.d.ts +21 -0
- package/{dist/upload → upload}/Upload.js +23 -22
- package/upload/buttons-upload/ButtonsUpload.js +111 -0
- package/upload/buttons-upload/Icons.js +40 -0
- package/upload/dragAndDropArea/DragAndDropArea.js +225 -0
- package/upload/dragAndDropArea/Icons.js +39 -0
- package/upload/file-upload/FileToUpload.js +115 -0
- package/upload/file-upload/Icons.js +66 -0
- package/upload/files-upload/FilesToUpload.js +109 -0
- package/upload/index.d.ts +15 -0
- package/upload/transaction/Icons.js +160 -0
- package/upload/transaction/Transaction.js +104 -0
- package/upload/transactions/Transactions.js +94 -0
- package/{dist/useTheme.js → useTheme.js} +0 -0
- package/wizard/Icons.js +65 -0
- package/wizard/Wizard.js +271 -0
- package/wizard/index.d.ts +18 -0
- package/README.md +0 -66
- package/babel.config.js +0 -4
- package/dist/ThemeContext.js +0 -54
- package/dist/accordion/Accordion.js +0 -273
- package/dist/accordion/Accordion.stories.js +0 -207
- package/dist/accordion/readme.md +0 -96
- package/dist/accordion-group/AccordionGroup.js +0 -159
- package/dist/accordion-group/AccordionGroup.stories.js +0 -207
- package/dist/accordion-group/readme.md +0 -70
- package/dist/alert/Alert.js +0 -304
- package/dist/alert/Alert.stories.js +0 -158
- package/dist/alert/close.svg +0 -4
- package/dist/alert/error.svg +0 -4
- package/dist/alert/info.svg +0 -4
- package/dist/alert/readme.md +0 -43
- package/dist/alert/success.svg +0 -4
- package/dist/alert/warning.svg +0 -4
- package/dist/badge/Badge.js +0 -58
- package/dist/button/Button.js +0 -202
- package/dist/button/Button.stories.js +0 -224
- package/dist/button/readme.md +0 -93
- package/dist/card/Card.js +0 -217
- package/dist/checkbox/Checkbox.js +0 -240
- package/dist/checkbox/Checkbox.stories.js +0 -144
- package/dist/checkbox/readme.md +0 -116
- package/dist/chip/Chip.js +0 -208
- package/dist/common/services/example-service.js +0 -10
- package/dist/common/services/example-service.test.js +0 -12
- package/dist/common/utils.js +0 -42
- package/dist/common/variables.js +0 -436
- package/dist/date/Date.stories.js +0 -205
- package/dist/date/calendar.svg +0 -1
- package/dist/date/calendar_dark.svg +0 -1
- package/dist/date/readme.md +0 -73
- package/dist/dialog/Dialog.js +0 -197
- package/dist/dialog/Dialog.stories.js +0 -217
- package/dist/dialog/readme.md +0 -32
- package/dist/dropdown/Dropdown.js +0 -449
- package/dist/dropdown/Dropdown.stories.js +0 -249
- package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
- package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
- package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
- package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
- package/dist/dropdown/readme.md +0 -69
- package/dist/footer/Footer.js +0 -371
- package/dist/footer/Footer.stories.js +0 -94
- package/dist/footer/dxc_logo_wht.png +0 -0
- package/dist/footer/readme.md +0 -41
- package/dist/header/Header.js +0 -373
- package/dist/header/Header.stories.js +0 -176
- package/dist/header/close_icon.svg +0 -1
- package/dist/header/dxc_logo_black.png +0 -0
- package/dist/header/dxc_logo_blk_rgb.svg +0 -6
- package/dist/header/dxc_logo_white.png +0 -0
- package/dist/header/hamb_menu_black.svg +0 -1
- package/dist/header/hamb_menu_white.svg +0 -1
- package/dist/header/readme.md +0 -33
- package/dist/heading/Heading.js +0 -153
- package/dist/input-text/InputText.js +0 -570
- package/dist/input-text/InputText.stories.js +0 -209
- package/dist/input-text/error.svg +0 -1
- package/dist/input-text/readme.md +0 -91
- package/dist/layout/facebook.svg +0 -45
- package/dist/layout/linkedin.svg +0 -50
- package/dist/layout/twitter.svg +0 -53
- package/dist/link/Link.js +0 -192
- package/dist/link/readme.md +0 -51
- package/dist/paginator/Paginator.js +0 -232
- package/dist/paginator/images/next.svg +0 -3
- package/dist/paginator/images/nextPage.svg +0 -3
- package/dist/paginator/images/previous.svg +0 -3
- package/dist/paginator/images/previousPage.svg +0 -3
- package/dist/paginator/readme.md +0 -50
- package/dist/progress-bar/ProgressBar.js +0 -185
- package/dist/progress-bar/ProgressBar.stories.js +0 -280
- package/dist/progress-bar/readme.md +0 -63
- package/dist/radio/Radio.js +0 -195
- package/dist/radio/Radio.stories.js +0 -166
- package/dist/radio/readme.md +0 -70
- package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
- package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
- package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
- package/dist/select/Select.js +0 -473
- package/dist/select/Select.stories.js +0 -235
- package/dist/select/readme.md +0 -72
- package/dist/sidenav/Sidenav.js +0 -128
- package/dist/slider/Slider.js +0 -266
- package/dist/slider/Slider.stories.js +0 -241
- package/dist/slider/readme.md +0 -64
- package/dist/spinner/Spinner.js +0 -193
- package/dist/spinner/Spinner.stories.js +0 -183
- package/dist/spinner/readme.md +0 -65
- package/dist/switch/Switch.js +0 -199
- package/dist/switch/Switch.stories.js +0 -134
- package/dist/switch/readme.md +0 -133
- package/dist/table/Table.js +0 -105
- package/dist/tabs/Tabs.js +0 -292
- package/dist/tabs/Tabs.stories.js +0 -130
- package/dist/tabs/readme.md +0 -78
- package/dist/tabs-for-sections/TabsForSections.js +0 -92
- package/dist/tabs-for-sections/readme.md +0 -78
- package/dist/tag/Tag.js +0 -249
- package/dist/textarea/Textarea.js +0 -227
- package/dist/toggle/Toggle.stories.js +0 -297
- package/dist/toggle/readme.md +0 -80
- package/dist/toggle-group/ToggleGroup.js +0 -226
- package/dist/toggle-group/readme.md +0 -82
- package/dist/upload/Upload.stories.js +0 -72
- package/dist/upload/buttons-upload/ButtonsUpload.js +0 -122
- package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
- package/dist/upload/buttons-upload/upload-button.svg +0 -1
- package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -279
- package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
- package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
- package/dist/upload/file-upload/FileToUpload.js +0 -158
- package/dist/upload/file-upload/audio-icon.svg +0 -4
- package/dist/upload/file-upload/close.svg +0 -4
- package/dist/upload/file-upload/file-icon.svg +0 -4
- package/dist/upload/file-upload/video-icon.svg +0 -4
- package/dist/upload/files-upload/FilesToUpload.js +0 -123
- package/dist/upload/readme.md +0 -37
- package/dist/upload/transaction/Transaction.js +0 -155
- package/dist/upload/transaction/audio-icon-err.svg +0 -4
- package/dist/upload/transaction/audio-icon.svg +0 -4
- package/dist/upload/transaction/error-icon.svg +0 -4
- package/dist/upload/transaction/file-icon-err.svg +0 -4
- package/dist/upload/transaction/file-icon.svg +0 -4
- package/dist/upload/transaction/image-icon-err.svg +0 -4
- package/dist/upload/transaction/image-icon.svg +0 -4
- package/dist/upload/transaction/success-icon.svg +0 -4
- package/dist/upload/transaction/video-icon-err.svg +0 -4
- package/dist/upload/transaction/video-icon.svg +0 -4
- package/dist/upload/transactions/Transactions.js +0 -120
- package/dist/wizard/Wizard.js +0 -331
- package/dist/wizard/invalid_icon.svg +0 -6
- package/dist/wizard/valid_icon.svg +0 -6
- package/dist/wizard/validation-wrong.svg +0 -6
- package/test/Accordion.test.js +0 -33
- package/test/AccordionGroup.test.js +0 -109
- package/test/Alert.test.js +0 -53
- package/test/Box.test.js +0 -10
- package/test/Button.test.js +0 -18
- package/test/Card.test.js +0 -30
- package/test/Checkbox.test.js +0 -45
- package/test/Chip.test.js +0 -25
- package/test/Date.test.js +0 -393
- package/test/Dialog.test.js +0 -23
- package/test/Dropdown.test.js +0 -130
- package/test/Footer.test.js +0 -99
- package/test/Header.test.js +0 -39
- package/test/Heading.test.js +0 -35
- package/test/InputText.test.js +0 -240
- package/test/Link.test.js +0 -42
- package/test/Paginator.test.js +0 -194
- package/test/ProgressBar.test.js +0 -35
- package/test/Radio.test.js +0 -37
- package/test/ResultsetTable.test.js +0 -304
- package/test/Select.test.js +0 -192
- package/test/Sidenav.test.js +0 -45
- package/test/Slider.test.js +0 -82
- package/test/Spinner.test.js +0 -27
- package/test/Switch.test.js +0 -45
- package/test/Table.test.js +0 -36
- package/test/Tabs.test.js +0 -109
- package/test/TabsForSections.test.js +0 -34
- package/test/Tag.test.js +0 -32
- package/test/TextArea.test.js +0 -52
- package/test/ToggleGroup.test.js +0 -81
- package/test/Upload.test.js +0 -60
- package/test/Wizard.test.js +0 -130
- package/test/mocks/pngMock.js +0 -1
- package/test/mocks/svgMock.js +0 -1
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
declare type Size = "medium" | "large" | "fillParent";
|
|
2
|
+
declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
|
+
declare type Margin = {
|
|
4
|
+
top?: Space;
|
|
5
|
+
bottom?: Space;
|
|
6
|
+
left?: Space;
|
|
7
|
+
right?: Space;
|
|
8
|
+
};
|
|
9
|
+
declare type Props = {
|
|
10
|
+
/**
|
|
11
|
+
* Text to be placed above the slider.
|
|
12
|
+
*/
|
|
13
|
+
label?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Name attribute of the input element.
|
|
16
|
+
*/
|
|
17
|
+
name?: string;
|
|
18
|
+
/**
|
|
19
|
+
* The selected value. If undefined, the component will be uncontrolled and the value will be managed internally by the component.
|
|
20
|
+
*/
|
|
21
|
+
value?: number;
|
|
22
|
+
/**
|
|
23
|
+
* Helper text to be placed above the slider.
|
|
24
|
+
*/
|
|
25
|
+
helperText?: string;
|
|
26
|
+
/**
|
|
27
|
+
* The minimum value available for selection.
|
|
28
|
+
*/
|
|
29
|
+
minValue?: number;
|
|
30
|
+
/**
|
|
31
|
+
* The maximum value available for selection.
|
|
32
|
+
*/
|
|
33
|
+
maxValue?: number;
|
|
34
|
+
/**
|
|
35
|
+
* The step interval between values available for selection.
|
|
36
|
+
*/
|
|
37
|
+
step?: number;
|
|
38
|
+
/**
|
|
39
|
+
* Whether the min/max value labels should be displayed next to the slider
|
|
40
|
+
*/
|
|
41
|
+
showLimitsValues?: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Whether the input element for displaying/controlling the slider value should be displayed next to the slider.
|
|
44
|
+
*/
|
|
45
|
+
showInput?: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* If true, the component will be disabled.
|
|
48
|
+
*/
|
|
49
|
+
disabled?: boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Whether the marks between each step should be shown or not.
|
|
52
|
+
*/
|
|
53
|
+
marks?: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* This function will be called when the slider changes its value, as it's being dragged.
|
|
56
|
+
* The new value will be passed as a parameter when this function is executed.
|
|
57
|
+
*/
|
|
58
|
+
onChange?: (value: number) => void;
|
|
59
|
+
/**
|
|
60
|
+
* This function will be called when the slider changes its value, but only when the thumb is released.
|
|
61
|
+
* The new value will be passed as a parameter when this function is executed.
|
|
62
|
+
*/
|
|
63
|
+
onDragEnd?: (value: number) => void;
|
|
64
|
+
/**
|
|
65
|
+
* This function will be used to format the labels displayed next to the slider.
|
|
66
|
+
* The value will be passed as parameter and the function must return the formatted value.
|
|
67
|
+
*/
|
|
68
|
+
labelFormatCallback?: (value: number) => void;
|
|
69
|
+
/**
|
|
70
|
+
* Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
|
|
71
|
+
* You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
|
|
72
|
+
*/
|
|
73
|
+
margin?: Space | Margin;
|
|
74
|
+
/**
|
|
75
|
+
* Size of the component.
|
|
76
|
+
*/
|
|
77
|
+
size?: Size;
|
|
78
|
+
/**
|
|
79
|
+
* Value of the tabindex attribute.
|
|
80
|
+
*/
|
|
81
|
+
tabIndex?: number;
|
|
82
|
+
};
|
|
83
|
+
export default Props;
|
package/slider/types.js
ADDED
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports["default"] = void 0;
|
|
11
|
+
|
|
12
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
13
|
+
|
|
14
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
|
+
|
|
16
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
17
|
+
|
|
18
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
+
|
|
20
|
+
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
21
|
+
|
|
22
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
23
|
+
|
|
24
|
+
var _variables = require("../common/variables.js");
|
|
25
|
+
|
|
26
|
+
var _useTheme = _interopRequireDefault(require("../useTheme.js"));
|
|
27
|
+
|
|
28
|
+
var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext.js"));
|
|
29
|
+
|
|
30
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12;
|
|
31
|
+
|
|
32
|
+
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); }
|
|
33
|
+
|
|
34
|
+
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; }
|
|
35
|
+
|
|
36
|
+
var DxcSpinner = function DxcSpinner(_ref) {
|
|
37
|
+
var _ref$label = _ref.label,
|
|
38
|
+
label = _ref$label === void 0 ? "" : _ref$label,
|
|
39
|
+
value = _ref.value,
|
|
40
|
+
_ref$showValue = _ref.showValue,
|
|
41
|
+
showValue = _ref$showValue === void 0 ? false : _ref$showValue,
|
|
42
|
+
_ref$mode = _ref.mode,
|
|
43
|
+
mode = _ref$mode === void 0 ? "large" : _ref$mode,
|
|
44
|
+
margin = _ref.margin;
|
|
45
|
+
var colorsTheme = (0, _useTheme["default"])();
|
|
46
|
+
var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
|
|
47
|
+
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
48
|
+
theme: colorsTheme.spinner
|
|
49
|
+
}, /*#__PURE__*/_react["default"].createElement(DXCSpinner, {
|
|
50
|
+
margin: margin,
|
|
51
|
+
mode: mode
|
|
52
|
+
}, /*#__PURE__*/_react["default"].createElement(SpinnerContainer, {
|
|
53
|
+
backgroundType: backgroundType,
|
|
54
|
+
mode: mode
|
|
55
|
+
}, mode === "overlay" && /*#__PURE__*/_react["default"].createElement(BackOverlay, null), /*#__PURE__*/_react["default"].createElement(BackgroundSpinner, {
|
|
56
|
+
mode: mode
|
|
57
|
+
}, mode !== "small" && /*#__PURE__*/_react["default"].createElement(SVGBackground, {
|
|
58
|
+
viewBox: "0 0 140 140"
|
|
59
|
+
}, /*#__PURE__*/_react["default"].createElement(CircleBackground, {
|
|
60
|
+
cx: "70",
|
|
61
|
+
cy: "70",
|
|
62
|
+
r: "65",
|
|
63
|
+
mode: mode
|
|
64
|
+
})), mode === "small" && /*#__PURE__*/_react["default"].createElement(SVGBackground, {
|
|
65
|
+
viewBox: "0 0 16 16"
|
|
66
|
+
}, /*#__PURE__*/_react["default"].createElement(CircleBackground, {
|
|
67
|
+
cx: "8",
|
|
68
|
+
cy: "8",
|
|
69
|
+
r: "6",
|
|
70
|
+
mode: mode
|
|
71
|
+
}))), value >= 0 && value <= 100 ? /*#__PURE__*/_react["default"].createElement(Spinner, {
|
|
72
|
+
role: "progressbar",
|
|
73
|
+
mode: mode
|
|
74
|
+
}, mode !== "small" && /*#__PURE__*/_react["default"].createElement(SVGSpinner, {
|
|
75
|
+
viewBox: "0 0 140 140",
|
|
76
|
+
isDeterminated: true
|
|
77
|
+
}, /*#__PURE__*/_react["default"].createElement(CircleSpinner, {
|
|
78
|
+
cx: "70",
|
|
79
|
+
cy: "70",
|
|
80
|
+
r: "65",
|
|
81
|
+
backgroundType: backgroundType,
|
|
82
|
+
mode: mode,
|
|
83
|
+
isDeterminated: true,
|
|
84
|
+
value: value
|
|
85
|
+
})), mode === "small" && /*#__PURE__*/_react["default"].createElement(SVGSpinner, {
|
|
86
|
+
viewBox: "0 0 16 16",
|
|
87
|
+
isDeterminated: true
|
|
88
|
+
}, /*#__PURE__*/_react["default"].createElement(CircleSpinner, {
|
|
89
|
+
cx: "8",
|
|
90
|
+
cy: "8",
|
|
91
|
+
r: "6",
|
|
92
|
+
backgroundType: backgroundType,
|
|
93
|
+
mode: mode,
|
|
94
|
+
isDeterminated: true,
|
|
95
|
+
value: value
|
|
96
|
+
}))) : /*#__PURE__*/_react["default"].createElement(Spinner, {
|
|
97
|
+
role: "progressbar",
|
|
98
|
+
mode: mode
|
|
99
|
+
}, mode !== "small" && /*#__PURE__*/_react["default"].createElement(SVGSpinner, {
|
|
100
|
+
viewBox: "0 0 140 140",
|
|
101
|
+
isDeterminated: false
|
|
102
|
+
}, /*#__PURE__*/_react["default"].createElement(CircleSpinner, {
|
|
103
|
+
cx: "70",
|
|
104
|
+
cy: "70",
|
|
105
|
+
r: "65",
|
|
106
|
+
backgroundType: backgroundType,
|
|
107
|
+
mode: mode,
|
|
108
|
+
isDeterminated: false
|
|
109
|
+
})), mode === "small" && /*#__PURE__*/_react["default"].createElement(SVGSpinner, {
|
|
110
|
+
viewBox: "0 0 16 16",
|
|
111
|
+
isDeterminated: false
|
|
112
|
+
}, /*#__PURE__*/_react["default"].createElement(CircleSpinner, {
|
|
113
|
+
cx: "8",
|
|
114
|
+
cy: "8",
|
|
115
|
+
r: "6",
|
|
116
|
+
backgroundType: backgroundType,
|
|
117
|
+
mode: mode,
|
|
118
|
+
isDeterminated: false
|
|
119
|
+
}))), mode !== "small" && /*#__PURE__*/_react["default"].createElement(LabelsContainer, {
|
|
120
|
+
label: label,
|
|
121
|
+
value: value,
|
|
122
|
+
showValue: showValue
|
|
123
|
+
}, /*#__PURE__*/_react["default"].createElement(SpinnerLabel, {
|
|
124
|
+
backgroundType: backgroundType,
|
|
125
|
+
mode: mode
|
|
126
|
+
}, label), (value || value === 0) && showValue && /*#__PURE__*/_react["default"].createElement(SpinnerProgress, {
|
|
127
|
+
backgroundType: backgroundType,
|
|
128
|
+
mode: mode,
|
|
129
|
+
showValue: showValue
|
|
130
|
+
}, value, "%")))));
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
var determinatedValue = function determinatedValue(props, strokeDashArray) {
|
|
134
|
+
var val = 0;
|
|
135
|
+
|
|
136
|
+
if (props.value >= 0 && props.value <= 100) {
|
|
137
|
+
val = strokeDashArray * (1 - props.value / 100);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
return val;
|
|
141
|
+
};
|
|
142
|
+
|
|
143
|
+
DxcSpinner.propTypes = {
|
|
144
|
+
label: _propTypes["default"].string,
|
|
145
|
+
value: _propTypes["default"].number,
|
|
146
|
+
showValue: _propTypes["default"].bool,
|
|
147
|
+
mode: _propTypes["default"].oneOf(["large", "small", "overlay"]),
|
|
148
|
+
margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
|
|
149
|
+
top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
150
|
+
bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
151
|
+
left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
152
|
+
right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
|
|
153
|
+
}), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
|
|
154
|
+
};
|
|
155
|
+
|
|
156
|
+
var DXCSpinner = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n display: ", ";\n position: ", ";\n top: ", ";\n left: ", ";\n justify-content: ", ";\n align-items: ", ";\n z-index: ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
157
|
+
return props.mode === "overlay" ? "100vh" : "";
|
|
158
|
+
}, function (props) {
|
|
159
|
+
return props.mode === "overlay" ? "100vw" : "";
|
|
160
|
+
}, function (props) {
|
|
161
|
+
return props.mode === "overlay" ? "flex" : "";
|
|
162
|
+
}, function (props) {
|
|
163
|
+
return props.mode === "overlay" ? "fixed" : "";
|
|
164
|
+
}, function (props) {
|
|
165
|
+
return props.mode === "overlay" ? 0 : "";
|
|
166
|
+
}, function (props) {
|
|
167
|
+
return props.mode === "overlay" ? 0 : "";
|
|
168
|
+
}, function (props) {
|
|
169
|
+
return props.mode === "overlay" ? "center" : "";
|
|
170
|
+
}, function (props) {
|
|
171
|
+
return props.mode === "overlay" ? "center" : "";
|
|
172
|
+
}, function (props) {
|
|
173
|
+
return props.mode === "overlay" ? 1300 : "";
|
|
174
|
+
}, function (props) {
|
|
175
|
+
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
176
|
+
}, function (props) {
|
|
177
|
+
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
|
|
178
|
+
}, function (props) {
|
|
179
|
+
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
|
|
180
|
+
}, function (props) {
|
|
181
|
+
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
|
|
182
|
+
}, function (props) {
|
|
183
|
+
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
184
|
+
});
|
|
185
|
+
|
|
186
|
+
var SpinnerContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n align-items: center;\n display: flex;\n height: ", ";\n width: ", ";\n justify-content: center;\n position: relative;\n background-color: transparent;\n\n @keyframes spinner-svg {\n 0% {\n transform: rotateZ(0deg);\n }\n 100% {\n transform: rotateZ(360deg);\n }\n }\n @keyframes svg-circle-large {\n 0% {\n stroke-dashoffset: 400;\n transform: rotate(0);\n }\n\n 50% {\n stroke-dashoffset: 75;\n transform: rotate(45deg);\n }\n\n 100% {\n stroke-dashoffset: 400;\n transform: rotate(360deg);\n }\n }\n @keyframes svg-circle-small {\n 0% {\n stroke-dashoffset: 35;\n transform: rotate(0);\n }\n\n 50% {\n stroke-dashoffset: 8;\n transform: rotate(45deg);\n }\n\n 100% {\n stroke-dashoffset: 35;\n transform: rotate(360deg);\n }\n }\n"])), function (props) {
|
|
187
|
+
return props.mode === "small" ? "16px" : "140px";
|
|
188
|
+
}, function (props) {
|
|
189
|
+
return props.mode === "small" ? "16px" : "140px";
|
|
190
|
+
});
|
|
191
|
+
|
|
192
|
+
var BackOverlay = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100vw;\n height: 100vh;\n opacity: 1;\n transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n position: fixed;\n top: 0;\n left: 0;\n background-color: ", ";\n opacity: ", ";\n"])), function (props) {
|
|
193
|
+
return "".concat(props.theme.overlayBackgroundColor);
|
|
194
|
+
}, function (props) {
|
|
195
|
+
return "".concat(props.theme.overlayOpacity);
|
|
196
|
+
});
|
|
197
|
+
|
|
198
|
+
var BackgroundSpinner = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n height: inherit;\n width: inherit;\n position: absolute;\n z-index: 1;\n"])));
|
|
199
|
+
|
|
200
|
+
var SVGBackground = _styledComponents["default"].svg(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n height: inherit;\n width: inherit;\n"])));
|
|
201
|
+
|
|
202
|
+
var CircleBackground = _styledComponents["default"].circle(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n animation: none;\n fill: transparent;\n stroke: ", ";\n stroke-dasharray: ", ";\n stroke-linecap: initial;\n stroke-width: ", ";\n transform-origin: 50% 50%;\n vector-effect: non-scaling-stroke;\n"])), function (props) {
|
|
203
|
+
return "".concat(props.theme.totalCircleColor);
|
|
204
|
+
}, function (props) {
|
|
205
|
+
return props.mode !== "small" ? "409" : "38";
|
|
206
|
+
}, function (props) {
|
|
207
|
+
return props.mode !== "small" ? "8.5px" : "2px";
|
|
208
|
+
});
|
|
209
|
+
|
|
210
|
+
var Spinner = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n height: inherit;\n width: inherit;\n position: relative;\n z-index: 2;\n"])));
|
|
211
|
+
|
|
212
|
+
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) {
|
|
213
|
+
return !props.isDeterminated ? "1.4s linear infinite both spinner-svg" : "";
|
|
214
|
+
});
|
|
215
|
+
|
|
216
|
+
var CircleSpinner = _styledComponents["default"].circle(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n fill: transparent;\n stroke-linecap: initial;\n vector-effect: non-scaling-stroke;\n animation: ", ";\n stroke: ", ";\n transform-origin: ", ";\n stroke-dasharray: ", ";\n stroke-width: ", ";\n stroke-dashoffset: ", ";\n"])), function (props) {
|
|
217
|
+
return props.isDeterminated ? "none" : props.mode !== "small" ? "1.4s ease-in-out infinite both svg-circle-large" : "1.4s ease-in-out infinite both svg-circle-small";
|
|
218
|
+
}, function (props) {
|
|
219
|
+
return props.backgroundType === "dark" ? props.theme.trackCircleColorOnDark : props.theme.trackCircleColor;
|
|
220
|
+
}, function (props) {
|
|
221
|
+
return !props.isDeterminated ? "50% 50%" : "";
|
|
222
|
+
}, function (props) {
|
|
223
|
+
return props.mode !== "small" ? "409" : "38";
|
|
224
|
+
}, function (props) {
|
|
225
|
+
return props.mode !== "small" ? "8.5px" : "2px";
|
|
226
|
+
}, function (props) {
|
|
227
|
+
return props.isDeterminated ? props.mode !== "small" ? determinatedValue(props, 409) : determinatedValue(props, 38) : "";
|
|
228
|
+
});
|
|
229
|
+
|
|
230
|
+
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"])));
|
|
231
|
+
|
|
232
|
+
var SpinnerLabel = _styledComponents["default"].p(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n margin: 0;\n width: 100%;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-family: ", ";\n font-weight: ", ";\n font-size: ", ";\n font-style: ", ";\n color: ", ";\n text-align: ", ";\n letter-spacing: ", ";\n"])), function (props) {
|
|
233
|
+
return props.mode === "overlay" ? props.theme.overlayLabelFontFamily : props.theme.labelFontFamily;
|
|
234
|
+
}, function (props) {
|
|
235
|
+
return props.mode === "overlay" ? props.theme.overlayLabelFontWeight : props.theme.labelFontWeight;
|
|
236
|
+
}, function (props) {
|
|
237
|
+
return props.mode === "overlay" ? props.theme.overlayLabelFontSize : props.theme.labelFontSize;
|
|
238
|
+
}, function (props) {
|
|
239
|
+
return props.mode === "overlay" ? props.theme.overlayLabelFontStyle : props.theme.labelFontStyle;
|
|
240
|
+
}, function (props) {
|
|
241
|
+
return props.mode === "overlay" ? props.theme.overlayLabelFontColor : props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.theme.labelFontColor;
|
|
242
|
+
}, function (props) {
|
|
243
|
+
return props.mode === "overlay" ? props.theme.overlayLabelTextAlign : props.theme.labelTextAlign;
|
|
244
|
+
}, function (props) {
|
|
245
|
+
return props.mode === "overlay" ? props.theme.overlayLabelLetterSpacing : props.theme.labelLetterSpacing;
|
|
246
|
+
});
|
|
247
|
+
|
|
248
|
+
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) {
|
|
249
|
+
return props.value !== "" && props.showValue === true && "block" || "none";
|
|
250
|
+
}, function (props) {
|
|
251
|
+
return props.mode === "overlay" ? props.theme.overlayProgressValueFontFamily : props.theme.progressValueFontFamily;
|
|
252
|
+
}, function (props) {
|
|
253
|
+
return props.mode === "overlay" ? props.theme.overlayProgressValueFontWeight : props.theme.progressValueFontWeight;
|
|
254
|
+
}, function (props) {
|
|
255
|
+
return props.mode === "overlay" ? props.theme.overlayProgressValueFontSize : props.theme.progressValueFontSize;
|
|
256
|
+
}, function (props) {
|
|
257
|
+
return props.mode === "overlay" ? props.theme.overlayProgressValueFontStyle : props.theme.progressValueFontStyle;
|
|
258
|
+
}, function (props) {
|
|
259
|
+
return props.mode === "overlay" ? props.theme.overlayProgressValueFontColor : props.backgroundType === "dark" ? props.theme.progressValueFontColorOnDark : props.theme.progressValueFontColor;
|
|
260
|
+
}, function (props) {
|
|
261
|
+
return props.mode === "overlay" ? props.theme.overlayProgressValueTextAlign : props.theme.progressValueTextAlign;
|
|
262
|
+
}, function (props) {
|
|
263
|
+
return props.mode === "overlay" ? props.theme.overlayProgressValueLetterSpacing : props.theme.progressValueLetterSpacing;
|
|
264
|
+
});
|
|
265
|
+
|
|
266
|
+
var _default = DxcSpinner;
|
|
267
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
2
|
+
type Margin = {
|
|
3
|
+
top?: Space;
|
|
4
|
+
bottom?: Space;
|
|
5
|
+
left?: Space;
|
|
6
|
+
right?: Space;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
type Props = {
|
|
10
|
+
label?: string;
|
|
11
|
+
value?: number;
|
|
12
|
+
showValue?: boolean;
|
|
13
|
+
mode?: "large" | "small" | "overlay";
|
|
14
|
+
margin?: Space | Margin;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export default function DxcSpinner(props: Props): JSX.Element;
|
package/switch/Switch.js
ADDED
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports["default"] = void 0;
|
|
11
|
+
|
|
12
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
13
|
+
|
|
14
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
|
+
|
|
16
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
|
+
|
|
18
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
+
|
|
20
|
+
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
21
|
+
|
|
22
|
+
var _core = require("@material-ui/core");
|
|
23
|
+
|
|
24
|
+
var _RequiredComponent = _interopRequireDefault(require("../common/RequiredComponent"));
|
|
25
|
+
|
|
26
|
+
var _variables = require("../common/variables.js");
|
|
27
|
+
|
|
28
|
+
var _utils = require("../common/utils.js");
|
|
29
|
+
|
|
30
|
+
var _useTheme = _interopRequireDefault(require("../useTheme.js"));
|
|
31
|
+
|
|
32
|
+
var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext.js"));
|
|
33
|
+
|
|
34
|
+
var _templateObject, _templateObject2;
|
|
35
|
+
|
|
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); }
|
|
37
|
+
|
|
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; }
|
|
39
|
+
|
|
40
|
+
var DxcSwitch = function DxcSwitch(_ref) {
|
|
41
|
+
var checked = _ref.checked,
|
|
42
|
+
value = _ref.value,
|
|
43
|
+
_ref$label = _ref.label,
|
|
44
|
+
label = _ref$label === void 0 ? "" : _ref$label,
|
|
45
|
+
_ref$labelPosition = _ref.labelPosition,
|
|
46
|
+
labelPosition = _ref$labelPosition === void 0 ? "before" : _ref$labelPosition,
|
|
47
|
+
_ref$name = _ref.name,
|
|
48
|
+
name = _ref$name === void 0 ? "" : _ref$name,
|
|
49
|
+
_ref$disabled = _ref.disabled,
|
|
50
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
51
|
+
onChange = _ref.onChange,
|
|
52
|
+
_ref$required = _ref.required,
|
|
53
|
+
required = _ref$required === void 0 ? false : _ref$required,
|
|
54
|
+
margin = _ref.margin,
|
|
55
|
+
_ref$size = _ref.size,
|
|
56
|
+
size = _ref$size === void 0 ? "fitContent" : _ref$size,
|
|
57
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
58
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
59
|
+
|
|
60
|
+
var _useState = (0, _react.useState)(false),
|
|
61
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
62
|
+
innerChecked = _useState2[0],
|
|
63
|
+
setInnerChecked = _useState2[1];
|
|
64
|
+
|
|
65
|
+
var colorsTheme = (0, _useTheme["default"])();
|
|
66
|
+
var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
|
|
67
|
+
|
|
68
|
+
var handlerSwitchChange = function handlerSwitchChange(event) {
|
|
69
|
+
if (checked === undefined) {
|
|
70
|
+
var _event$target$checked;
|
|
71
|
+
|
|
72
|
+
var isChecked = (_event$target$checked = event.target.checked) !== null && _event$target$checked !== void 0 ? _event$target$checked : !innerChecked;
|
|
73
|
+
setInnerChecked(isChecked);
|
|
74
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(isChecked);
|
|
75
|
+
} else onChange === null || onChange === void 0 ? void 0 : onChange(!checked);
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
79
|
+
theme: colorsTheme["switch"]
|
|
80
|
+
}, /*#__PURE__*/_react["default"].createElement(SwitchContainer, {
|
|
81
|
+
margin: margin,
|
|
82
|
+
disabled: disabled,
|
|
83
|
+
labelPosition: labelPosition,
|
|
84
|
+
size: size,
|
|
85
|
+
backgroundType: backgroundType
|
|
86
|
+
}, /*#__PURE__*/_react["default"].createElement(_core.Switch, {
|
|
87
|
+
checked: checked !== null && checked !== void 0 ? checked : innerChecked,
|
|
88
|
+
inputProps: {
|
|
89
|
+
name: name,
|
|
90
|
+
tabIndex: tabIndex
|
|
91
|
+
},
|
|
92
|
+
onChange: handlerSwitchChange,
|
|
93
|
+
value: value,
|
|
94
|
+
disabled: disabled,
|
|
95
|
+
disableRipple: true
|
|
96
|
+
}), /*#__PURE__*/_react["default"].createElement(LabelContainer, {
|
|
97
|
+
labelPosition: labelPosition,
|
|
98
|
+
onClick: !disabled && handlerSwitchChange,
|
|
99
|
+
disabled: disabled,
|
|
100
|
+
backgroundType: backgroundType
|
|
101
|
+
}, required && /*#__PURE__*/_react["default"].createElement(_RequiredComponent["default"], null), label)));
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
var sizes = {
|
|
105
|
+
small: "60px",
|
|
106
|
+
medium: "240px",
|
|
107
|
+
large: "480px",
|
|
108
|
+
fillParent: "100%",
|
|
109
|
+
fitContent: "unset"
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
var calculateWidth = function calculateWidth(margin, size) {
|
|
113
|
+
return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
var SwitchContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n display: inline-flex;\n align-items: center;\n flex-direction: ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n cursor: ", ";\n\n .MuiSwitch-root {\n align-items: center;\n width: ", ";\n height: 45px;\n margin: 3px;\n\n .Mui-focusVisible {\n border: ", ";\n padding: 7px;\n }\n\n .MuiSwitch-track {\n /*Enabled and unchecked bar*/\n background-color: ", ";\n height: ", ";\n }\n\n .MuiSwitch-switchBase + .MuiSwitch-track {\n opacity: 1;\n }\n\n .MuiIconButton-root {\n /*Enabled and unchecked*/\n top: unset;\n .MuiSwitch-thumb {\n /*Only for thumb in all states*/\n width: ", ";\n height: ", ";\n }\n color: ", ";\n &:hover {\n background-color: transparent;\n }\n &.Mui-disabled {\n /*Disabled and unchecked*/\n color: ", ";\n + .MuiSwitch-track {\n /*Disabled and unchecked bar*/\n background-color: ", ";\n }\n }\n &.Mui-disabled.Mui-checked {\n /*Disabled and checked*/\n color: ", ";\n + .MuiSwitch-track {\n /*Disabled and checked bar*/\n background-color: ", ";\n }\n }\n &.Mui-checked {\n /*Enabled and checked*/\n color: ", ";\n transform: translateX(", ");\n &:hover {\n background-color: transparent;\n }\n + .MuiSwitch-track {\n /*Enabled and checked bar*/\n background-color: ", ";\n }\n }\n }\n }\n"])), function (props) {
|
|
117
|
+
return calculateWidth(props.margin, props.size);
|
|
118
|
+
}, function (props) {
|
|
119
|
+
return props.labelPosition === "after" ? "row" : "row-reverse";
|
|
120
|
+
}, function (props) {
|
|
121
|
+
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
122
|
+
}, function (props) {
|
|
123
|
+
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
|
|
124
|
+
}, function (props) {
|
|
125
|
+
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
|
|
126
|
+
}, function (props) {
|
|
127
|
+
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
|
|
128
|
+
}, function (props) {
|
|
129
|
+
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
130
|
+
}, function (props) {
|
|
131
|
+
return props.disabled ? "not-allowed" : "default";
|
|
132
|
+
}, function (props) {
|
|
133
|
+
return props.theme.trackWidth;
|
|
134
|
+
}, function (props) {
|
|
135
|
+
return "".concat(props.backgroundType === "dark" ? props.theme.thumbFocusColorOnDark : props.theme.thumbFocusColor, " solid 2px");
|
|
136
|
+
}, function (props) {
|
|
137
|
+
return props.backgroundType === "dark" ? props.theme.uncheckedTrackBackgroundColorOnDark : props.theme.uncheckedTrackBackgroundColor;
|
|
138
|
+
}, function (props) {
|
|
139
|
+
return props.theme.trackHeight;
|
|
140
|
+
}, function (props) {
|
|
141
|
+
return props.theme.thumbWidth;
|
|
142
|
+
}, function (props) {
|
|
143
|
+
return props.theme.thumbHeight;
|
|
144
|
+
}, function (props) {
|
|
145
|
+
return props.backgroundType === "dark" ? props.theme.uncheckedThumbBackgroundColorOnDark : props.theme.uncheckedThumbBackgroundColor;
|
|
146
|
+
}, function (props) {
|
|
147
|
+
return props.backgroundType === "dark" ? props.theme.disabledUncheckedThumbBackgroundColorOnDark : props.theme.disabledUncheckedThumbBackgroundColor;
|
|
148
|
+
}, function (props) {
|
|
149
|
+
return props.backgroundType === "dark" ? props.theme.disabledUncheckedTrackBackgroundColorOnDark : props.theme.disabledUncheckedTrackBackgroundColor;
|
|
150
|
+
}, function (props) {
|
|
151
|
+
return props.backgroundType === "dark" ? props.theme.disabledCheckedThumbBackgroundColorOnDark : props.theme.disabledCheckedThumbBackgroundColor;
|
|
152
|
+
}, function (props) {
|
|
153
|
+
return props.backgroundType === "dark" ? props.theme.disabledCheckedTrackBackgroundColorOnDark : props.theme.disabledCheckedTrackBackgroundColor;
|
|
154
|
+
}, function (props) {
|
|
155
|
+
return props.backgroundType === "dark" ? props.theme.checkedThumbBackgroundColorOnDark : props.theme.checkedThumbBackgroundColor;
|
|
156
|
+
}, function (props) {
|
|
157
|
+
return props.theme.thumbShift;
|
|
158
|
+
}, function (props) {
|
|
159
|
+
return props.backgroundType === "dark" ? props.theme.checkedTrackBackgroundColorOnDark : props.theme.checkedTrackBackgroundColor;
|
|
160
|
+
});
|
|
161
|
+
|
|
162
|
+
var LabelContainer = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n opacity: 1;\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n cursor: ", ";\n ", "\n"])), function (props) {
|
|
163
|
+
return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledLabelFontColorOnDark : props.theme.disabledLabelFontColor : props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.theme.labelFontColor;
|
|
164
|
+
}, function (props) {
|
|
165
|
+
return props.theme.labelFontFamily;
|
|
166
|
+
}, function (props) {
|
|
167
|
+
return props.theme.labelFontSize;
|
|
168
|
+
}, function (props) {
|
|
169
|
+
return props.disabled ? props.theme.disabledLabelFontStyle : props.theme.labelFontStyle;
|
|
170
|
+
}, function (props) {
|
|
171
|
+
return props.theme.labelFontWeight;
|
|
172
|
+
}, function (props) {
|
|
173
|
+
return props.disabled === true ? "not-allowed" : "pointer";
|
|
174
|
+
}, function (props) {
|
|
175
|
+
return props.labelPosition === "after" ? "margin-left: ".concat(props.theme.spaceBetweenLabelSwitch, ";") : "margin-right: ".concat(props.theme.spaceBetweenLabelSwitch, ";");
|
|
176
|
+
});
|
|
177
|
+
|
|
178
|
+
var _default = DxcSwitch;
|
|
179
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
2
|
+
declare type Margin = {
|
|
3
|
+
top?: Space;
|
|
4
|
+
bottom?: Space;
|
|
5
|
+
left?: Space;
|
|
6
|
+
right?: Space;
|
|
7
|
+
};
|
|
8
|
+
declare type Props = {
|
|
9
|
+
/**
|
|
10
|
+
* If true, the component is checked. If undefined, the component will be uncontrolled
|
|
11
|
+
* and the checked attribute will be managed internally by the component.
|
|
12
|
+
*/
|
|
13
|
+
checked?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Will be passed to the value attribute of the html input element. When inside a form,
|
|
16
|
+
* this value will be only submitted if the switch is checked.
|
|
17
|
+
*/
|
|
18
|
+
value?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Text to be placed next to the switch.
|
|
21
|
+
*/
|
|
22
|
+
label?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Whether the label should appear after or before the switch.
|
|
25
|
+
*/
|
|
26
|
+
labelPosition?: "before" | "after";
|
|
27
|
+
/**
|
|
28
|
+
* Name attribute of the input element.
|
|
29
|
+
*/
|
|
30
|
+
name?: string;
|
|
31
|
+
/**
|
|
32
|
+
* If true, the component will be disabled.
|
|
33
|
+
*/
|
|
34
|
+
disabled?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* This function will be called when the user changes the state of the switch.
|
|
37
|
+
* The new value of the checked attribute will be passed as a parameter.
|
|
38
|
+
*/
|
|
39
|
+
onChange?: (checked: boolean) => void;
|
|
40
|
+
/**
|
|
41
|
+
* If true, the switch will change its appearence, showing that the value is required.
|
|
42
|
+
*/
|
|
43
|
+
required?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
|
|
46
|
+
* You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
|
|
47
|
+
*/
|
|
48
|
+
margin?: Space | Margin;
|
|
49
|
+
/**
|
|
50
|
+
* Size of the component.
|
|
51
|
+
*/
|
|
52
|
+
size?: "small" | "medium" | "large" | "fillParent" | "fitContent";
|
|
53
|
+
/**
|
|
54
|
+
* Value of the tabindex.
|
|
55
|
+
*/
|
|
56
|
+
tabIndex?: number;
|
|
57
|
+
};
|
|
58
|
+
export default Props;
|