@dxc-technology/halstack-react 0.0.0-fce22b8 → 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/{dist/textarea/Textarea.js → V3Textarea/V3Textarea.js} +39 -39
- 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 +9 -21
- 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/{dist/card → card}/Card.js +32 -123
- package/card/types.d.ts +69 -0
- package/card/types.js +5 -0
- package/checkbox/Checkbox.d.ts +4 -0
- package/{dist/checkbox → checkbox}/Checkbox.js +44 -82
- package/checkbox/types.d.ts +60 -0
- package/checkbox/types.js +5 -0
- package/{dist/chip → chip}/Chip.js +42 -84
- 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/{dist/common → common}/utils.js +0 -0
- package/common/variables.js +1569 -0
- package/{dist/date → date}/Date.js +33 -51
- 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/{dist/dialog → dialog}/Dialog.js +29 -100
- 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/{dist/heading → heading}/Heading.js +30 -76
- package/heading/index.d.ts +17 -0
- package/input-text/Icons.js +22 -0
- package/{dist/input-text → input-text}/InputText.js +120 -178
- package/input-text/index.d.ts +36 -0
- package/{dist/layout → layout}/ApplicationLayout.js +35 -131
- 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} +121 -69
- 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 -25
- 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/{dist/radio → radio}/Radio.js +15 -50
- package/radio/types.d.ts +54 -0
- package/radio/types.js +5 -0
- package/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +35 -136
- package/resultsetTable/index.d.ts +19 -0
- package/select/Select.js +865 -0
- package/select/index.d.ts +131 -0
- package/{dist/sidenav → sidenav}/Sidenav.js +20 -58
- 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/{dist/switch → switch}/Switch.js +28 -71
- 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/{dist/tag → tag}/Tag.js +50 -122
- 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 +15 -49
- 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 +11 -15
- 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/{dist/upload → upload}/files-upload/FilesToUpload.js +12 -26
- 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 -8
- package/dist/BackgroundColorContext.js +0 -46
- package/dist/ThemeContext.js +0 -216
- package/dist/accordion/Accordion.js +0 -340
- package/dist/accordion/Accordion.stories.js +0 -207
- package/dist/accordion/readme.md +0 -96
- package/dist/accordion-group/AccordionGroup.js +0 -188
- package/dist/accordion-group/AccordionGroup.stories.js +0 -207
- package/dist/accordion-group/readme.md +0 -70
- package/dist/alert/Alert.js +0 -388
- 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 -61
- package/dist/button/Button.js +0 -228
- package/dist/button/Button.stories.js +0 -224
- package/dist/button/readme.md +0 -93
- package/dist/checkbox/Checkbox.stories.js +0 -144
- package/dist/checkbox/readme.md +0 -116
- package/dist/common/variables.js +0 -1154
- 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.stories.js +0 -217
- package/dist/dialog/readme.md +0 -32
- package/dist/dropdown/Dropdown.js +0 -492
- 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 -405
- 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 -431
- 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/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 -212
- package/dist/link/readme.md +0 -51
- package/dist/paginator/Paginator.js +0 -283
- 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 -206
- package/dist/progress-bar/ProgressBar.stories.js +0 -280
- package/dist/progress-bar/readme.md +0 -63
- 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 -525
- package/dist/select/Select.stories.js +0 -235
- package/dist/select/readme.md +0 -72
- package/dist/slider/Slider.js +0 -315
- package/dist/slider/Slider.stories.js +0 -241
- package/dist/slider/readme.md +0 -64
- package/dist/spinner/Spinner.js +0 -214
- package/dist/spinner/Spinner.stories.js +0 -183
- package/dist/spinner/readme.md +0 -65
- package/dist/switch/Switch.stories.js +0 -134
- package/dist/switch/readme.md +0 -133
- package/dist/table/Table.js +0 -122
- package/dist/tabs/Tabs.js +0 -347
- 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/toggle/Toggle.stories.js +0 -297
- package/dist/toggle/readme.md +0 -80
- package/dist/toggle-group/ToggleGroup.js +0 -241
- package/dist/toggle-group/readme.md +0 -82
- package/dist/upload/Upload.stories.js +0 -72
- package/dist/upload/buttons-upload/ButtonsUpload.js +0 -135
- 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 -325
- 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 -184
- 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/readme.md +0 -37
- package/dist/upload/transaction/Transaction.js +0 -171
- 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 -138
- package/dist/wizard/Wizard.js +0 -383
- 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 -125
- 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 -177
- package/test/ProgressBar.test.js +0 -35
- package/test/Radio.test.js +0 -37
- package/test/ResultsetTable.test.js +0 -330
- 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;
|
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
-
|
|
5
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
4
|
|
|
5
|
+
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
10
10
|
exports["default"] = void 0;
|
|
11
11
|
|
|
12
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
-
|
|
14
12
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
15
13
|
|
|
16
14
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
@@ -21,8 +19,6 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
21
19
|
|
|
22
20
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
23
21
|
|
|
24
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
25
|
-
|
|
26
22
|
var _core = require("@material-ui/core");
|
|
27
23
|
|
|
28
24
|
var _RequiredComponent = _interopRequireDefault(require("../common/RequiredComponent"));
|
|
@@ -35,33 +31,21 @@ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
|
|
|
35
31
|
|
|
36
32
|
var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext.js"));
|
|
37
33
|
|
|
38
|
-
|
|
39
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n opacity: 1;\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n cursor: ", ";\n margin-right: ", ";\n"]);
|
|
34
|
+
var _templateObject, _templateObject2;
|
|
40
35
|
|
|
41
|
-
|
|
42
|
-
return data;
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
return data;
|
|
46
|
-
}
|
|
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); }
|
|
47
37
|
|
|
48
|
-
function
|
|
49
|
-
var data = (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 opacity: 1;\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"]);
|
|
50
|
-
|
|
51
|
-
_templateObject = function _templateObject() {
|
|
52
|
-
return data;
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
return data;
|
|
56
|
-
}
|
|
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; }
|
|
57
39
|
|
|
58
40
|
var DxcSwitch = function DxcSwitch(_ref) {
|
|
59
41
|
var checked = _ref.checked,
|
|
60
42
|
value = _ref.value,
|
|
61
|
-
label = _ref.label,
|
|
43
|
+
_ref$label = _ref.label,
|
|
44
|
+
label = _ref$label === void 0 ? "" : _ref$label,
|
|
62
45
|
_ref$labelPosition = _ref.labelPosition,
|
|
63
46
|
labelPosition = _ref$labelPosition === void 0 ? "before" : _ref$labelPosition,
|
|
64
|
-
name = _ref.name,
|
|
47
|
+
_ref$name = _ref.name,
|
|
48
|
+
name = _ref$name === void 0 ? "" : _ref$name,
|
|
65
49
|
_ref$disabled = _ref.disabled,
|
|
66
50
|
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
67
51
|
onChange = _ref.onChange,
|
|
@@ -73,7 +57,7 @@ var DxcSwitch = function DxcSwitch(_ref) {
|
|
|
73
57
|
_ref$tabIndex = _ref.tabIndex,
|
|
74
58
|
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
75
59
|
|
|
76
|
-
var _useState = (0, _react.useState)(
|
|
60
|
+
var _useState = (0, _react.useState)(false),
|
|
77
61
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
78
62
|
innerChecked = _useState2[0],
|
|
79
63
|
setInnerChecked = _useState2[1];
|
|
@@ -81,31 +65,26 @@ var DxcSwitch = function DxcSwitch(_ref) {
|
|
|
81
65
|
var colorsTheme = (0, _useTheme["default"])();
|
|
82
66
|
var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
|
|
83
67
|
|
|
84
|
-
var handlerSwitchChange = function handlerSwitchChange(
|
|
68
|
+
var handlerSwitchChange = function handlerSwitchChange(event) {
|
|
85
69
|
if (checked === undefined) {
|
|
86
|
-
var
|
|
87
|
-
setInnerChecked(isChecked);
|
|
70
|
+
var _event$target$checked;
|
|
88
71
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
} else
|
|
93
|
-
if (typeof onChange === "function") {
|
|
94
|
-
onChange(!checked);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
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);
|
|
97
76
|
};
|
|
98
77
|
|
|
99
|
-
return _react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
78
|
+
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
100
79
|
theme: colorsTheme["switch"]
|
|
101
|
-
}, _react["default"].createElement(SwitchContainer, {
|
|
80
|
+
}, /*#__PURE__*/_react["default"].createElement(SwitchContainer, {
|
|
102
81
|
margin: margin,
|
|
103
82
|
disabled: disabled,
|
|
104
83
|
labelPosition: labelPosition,
|
|
105
84
|
size: size,
|
|
106
85
|
backgroundType: backgroundType
|
|
107
|
-
}, _react["default"].createElement(_core.Switch, {
|
|
108
|
-
checked: checked
|
|
86
|
+
}, /*#__PURE__*/_react["default"].createElement(_core.Switch, {
|
|
87
|
+
checked: checked !== null && checked !== void 0 ? checked : innerChecked,
|
|
109
88
|
inputProps: {
|
|
110
89
|
name: name,
|
|
111
90
|
tabIndex: tabIndex
|
|
@@ -114,12 +93,12 @@ var DxcSwitch = function DxcSwitch(_ref) {
|
|
|
114
93
|
value: value,
|
|
115
94
|
disabled: disabled,
|
|
116
95
|
disableRipple: true
|
|
117
|
-
}), _react["default"].createElement(LabelContainer, {
|
|
96
|
+
}), /*#__PURE__*/_react["default"].createElement(LabelContainer, {
|
|
118
97
|
labelPosition: labelPosition,
|
|
119
|
-
onClick: disabled
|
|
98
|
+
onClick: !disabled && handlerSwitchChange,
|
|
120
99
|
disabled: disabled,
|
|
121
100
|
backgroundType: backgroundType
|
|
122
|
-
}, required && _react["default"].createElement(_RequiredComponent["default"], null), label)));
|
|
101
|
+
}, required && /*#__PURE__*/_react["default"].createElement(_RequiredComponent["default"], null), label)));
|
|
123
102
|
};
|
|
124
103
|
|
|
125
104
|
var sizes = {
|
|
@@ -131,14 +110,10 @@ var sizes = {
|
|
|
131
110
|
};
|
|
132
111
|
|
|
133
112
|
var calculateWidth = function calculateWidth(margin, size) {
|
|
134
|
-
|
|
135
|
-
return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
return sizes[size];
|
|
113
|
+
return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
|
|
139
114
|
};
|
|
140
115
|
|
|
141
|
-
var SwitchContainer = _styledComponents["default"].div(_templateObject(), function (props) {
|
|
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) {
|
|
142
117
|
return calculateWidth(props.margin, props.size);
|
|
143
118
|
}, function (props) {
|
|
144
119
|
return props.labelPosition === "after" ? "row" : "row-reverse";
|
|
@@ -179,12 +154,12 @@ var SwitchContainer = _styledComponents["default"].div(_templateObject(), functi
|
|
|
179
154
|
}, function (props) {
|
|
180
155
|
return props.backgroundType === "dark" ? props.theme.checkedThumbBackgroundColorOnDark : props.theme.checkedThumbBackgroundColor;
|
|
181
156
|
}, function (props) {
|
|
182
|
-
return props.theme.
|
|
157
|
+
return props.theme.thumbShift;
|
|
183
158
|
}, function (props) {
|
|
184
159
|
return props.backgroundType === "dark" ? props.theme.checkedTrackBackgroundColorOnDark : props.theme.checkedTrackBackgroundColor;
|
|
185
160
|
});
|
|
186
161
|
|
|
187
|
-
var LabelContainer = _styledComponents["default"].span(_templateObject2(), function (props) {
|
|
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) {
|
|
188
163
|
return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledLabelFontColorOnDark : props.theme.disabledLabelFontColor : props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.theme.labelFontColor;
|
|
189
164
|
}, function (props) {
|
|
190
165
|
return props.theme.labelFontFamily;
|
|
@@ -197,26 +172,8 @@ var LabelContainer = _styledComponents["default"].span(_templateObject2(), funct
|
|
|
197
172
|
}, function (props) {
|
|
198
173
|
return props.disabled === true ? "not-allowed" : "pointer";
|
|
199
174
|
}, function (props) {
|
|
200
|
-
return props.theme.
|
|
175
|
+
return props.labelPosition === "after" ? "margin-left: ".concat(props.theme.spaceBetweenLabelSwitch, ";") : "margin-right: ".concat(props.theme.spaceBetweenLabelSwitch, ";");
|
|
201
176
|
});
|
|
202
177
|
|
|
203
|
-
DxcSwitch.propTypes = {
|
|
204
|
-
size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
|
|
205
|
-
checked: _propTypes["default"].bool,
|
|
206
|
-
value: _propTypes["default"].any,
|
|
207
|
-
label: _propTypes["default"].string,
|
|
208
|
-
labelPosition: _propTypes["default"].oneOf(["after", "before", ""]),
|
|
209
|
-
name: _propTypes["default"].string,
|
|
210
|
-
disabled: _propTypes["default"].bool,
|
|
211
|
-
onChange: _propTypes["default"].func,
|
|
212
|
-
required: _propTypes["default"].bool,
|
|
213
|
-
margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
|
|
214
|
-
top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
215
|
-
bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
216
|
-
left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
217
|
-
right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
|
|
218
|
-
}), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
|
|
219
|
-
tabIndex: _propTypes["default"].number
|
|
220
|
-
};
|
|
221
178
|
var _default = DxcSwitch;
|
|
222
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;
|