@dxc-technology/halstack-react 0.0.0-da90bf9 → 0.0.0-da9270d
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BackgroundColorContext.d.ts +1 -0
- package/BackgroundColorContext.js +8 -24
- package/HalstackContext.d.ts +1235 -0
- package/HalstackContext.js +310 -0
- package/README.md +47 -0
- package/accordion/Accordion.d.ts +4 -0
- package/accordion/Accordion.js +120 -291
- package/accordion/Accordion.stories.tsx +283 -0
- package/accordion/Accordion.test.js +56 -0
- package/accordion/types.d.ts +57 -0
- package/accordion/types.js +5 -0
- package/accordion-group/AccordionGroup.d.ts +8 -0
- package/accordion-group/AccordionGroup.js +57 -142
- package/accordion-group/AccordionGroup.stories.tsx +252 -0
- package/accordion-group/AccordionGroup.test.js +98 -0
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +31 -0
- package/accordion-group/types.d.ts +67 -0
- package/accordion-group/types.js +5 -0
- package/alert/Alert.d.ts +4 -0
- package/alert/Alert.js +55 -204
- package/alert/Alert.stories.tsx +198 -0
- package/alert/Alert.test.js +75 -0
- package/alert/types.d.ts +49 -0
- package/alert/types.js +5 -0
- package/badge/Badge.d.ts +4 -0
- package/badge/Badge.js +15 -30
- package/badge/types.d.ts +5 -0
- package/badge/types.js +5 -0
- package/bleed/Bleed.d.ts +3 -0
- package/bleed/Bleed.js +43 -0
- package/bleed/Bleed.stories.tsx +342 -0
- package/bleed/types.d.ts +37 -0
- package/bleed/types.js +5 -0
- package/box/Box.d.ts +4 -0
- package/box/Box.js +35 -116
- package/box/Box.stories.tsx +119 -0
- package/box/Box.test.js +13 -0
- package/box/types.d.ts +32 -0
- package/box/types.js +5 -0
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +89 -0
- package/bulleted-list/BulletedList.stories.tsx +115 -0
- package/bulleted-list/types.d.ts +38 -0
- package/bulleted-list/types.js +5 -0
- package/button/Button.d.ts +4 -0
- package/button/Button.js +67 -185
- package/button/Button.stories.tsx +344 -0
- package/button/Button.test.js +36 -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 +60 -194
- package/card/Card.stories.tsx +171 -0
- package/card/Card.test.js +39 -0
- package/card/types.d.ts +62 -0
- package/card/types.js +5 -0
- package/checkbox/Checkbox.d.ts +4 -0
- package/checkbox/Checkbox.js +147 -231
- package/checkbox/Checkbox.stories.tsx +222 -0
- package/checkbox/Checkbox.test.js +199 -0
- package/checkbox/types.d.ts +72 -0
- package/checkbox/types.js +5 -0
- package/chip/Chip.d.ts +4 -0
- package/chip/Chip.js +50 -194
- package/chip/Chip.stories.tsx +214 -0
- package/chip/Chip.test.js +41 -0
- package/chip/types.d.ts +45 -0
- package/chip/types.js +5 -0
- package/common/OpenSans.css +68 -80
- package/common/coreTokens.d.ts +237 -0
- package/common/coreTokens.js +184 -0
- package/common/utils.d.ts +1 -0
- package/common/utils.js +6 -12
- package/common/variables.d.ts +1381 -0
- package/common/variables.js +1006 -1319
- package/container/Container.d.ts +4 -0
- package/container/Container.js +194 -0
- package/container/Container.stories.tsx +214 -0
- package/container/types.d.ts +74 -0
- package/container/types.js +5 -0
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +214 -0
- package/date-input/DateInput.d.ts +4 -0
- package/date-input/DateInput.js +179 -356
- package/date-input/DateInput.stories.tsx +285 -0
- package/date-input/DateInput.test.js +808 -0
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +115 -0
- package/date-input/Icons.d.ts +6 -0
- package/date-input/Icons.js +58 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +100 -0
- package/date-input/types.d.ts +164 -0
- package/date-input/types.js +5 -0
- package/dialog/Dialog.d.ts +4 -0
- package/dialog/Dialog.js +70 -184
- package/dialog/Dialog.stories.tsx +365 -0
- package/dialog/Dialog.test.js +307 -0
- package/dialog/types.d.ts +36 -0
- package/dialog/types.js +5 -0
- package/dropdown/Dropdown.d.ts +4 -0
- package/dropdown/Dropdown.js +247 -457
- package/dropdown/Dropdown.stories.tsx +438 -0
- package/dropdown/Dropdown.test.js +599 -0
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +63 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +67 -0
- package/dropdown/types.d.ts +98 -0
- package/dropdown/types.js +5 -0
- package/file-input/FileInput.d.ts +4 -0
- package/file-input/FileInput.js +297 -462
- package/file-input/FileInput.stories.tsx +618 -0
- package/file-input/FileInput.test.js +459 -0
- package/file-input/FileItem.d.ts +4 -0
- package/file-input/FileItem.js +61 -213
- package/file-input/types.d.ts +129 -0
- package/file-input/types.js +5 -0
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +57 -0
- package/flex/Flex.stories.tsx +112 -0
- package/flex/types.d.ts +97 -0
- package/flex/types.js +5 -0
- package/footer/Footer.d.ts +4 -0
- package/footer/Footer.js +64 -360
- package/footer/Footer.stories.tsx +152 -0
- package/footer/Footer.test.js +85 -0
- package/footer/Icons.d.ts +2 -0
- package/footer/Icons.js +16 -21
- package/footer/types.d.ts +58 -0
- package/footer/types.js +5 -0
- package/grid/Grid.d.ts +7 -0
- package/grid/Grid.js +76 -0
- package/grid/Grid.stories.tsx +219 -0
- package/grid/types.d.ts +115 -0
- package/grid/types.js +5 -0
- package/header/Header.d.ts +8 -0
- package/header/Header.js +122 -372
- package/header/Header.stories.tsx +251 -0
- package/header/Header.test.js +66 -0
- package/header/Icons.d.ts +2 -0
- package/header/Icons.js +9 -39
- package/header/types.d.ts +33 -0
- package/header/types.js +5 -0
- package/heading/Heading.d.ts +4 -0
- package/heading/Heading.js +31 -124
- package/heading/Heading.stories.tsx +54 -0
- package/heading/Heading.test.js +169 -0
- package/heading/types.d.ts +33 -0
- package/heading/types.js +5 -0
- package/image/Image.d.ts +4 -0
- package/image/Image.js +70 -0
- package/image/Image.stories.tsx +127 -0
- package/image/types.d.ts +72 -0
- package/image/types.js +5 -0
- package/inset/Inset.d.ts +3 -0
- package/inset/Inset.js +43 -0
- package/inset/Inset.stories.tsx +230 -0
- package/inset/types.d.ts +37 -0
- package/inset/types.js +5 -0
- package/layout/ApplicationLayout.d.ts +20 -0
- package/layout/ApplicationLayout.js +85 -278
- package/layout/ApplicationLayout.stories.tsx +162 -0
- package/layout/Icons.d.ts +8 -0
- package/layout/Icons.js +51 -48
- package/layout/SidenavContext.d.ts +5 -0
- package/layout/SidenavContext.js +13 -0
- package/layout/types.d.ts +41 -0
- package/layout/types.js +5 -0
- package/link/Link.d.ts +4 -0
- package/link/Link.js +67 -189
- package/link/Link.stories.tsx +253 -0
- package/link/Link.test.js +63 -0
- package/link/types.d.ts +54 -0
- package/link/types.js +5 -0
- package/main.d.ts +46 -40
- package/main.js +117 -140
- package/nav-tabs/NavTabs.d.ts +8 -0
- package/nav-tabs/NavTabs.js +90 -0
- package/nav-tabs/NavTabs.stories.tsx +274 -0
- package/nav-tabs/NavTabs.test.js +75 -0
- package/nav-tabs/Tab.d.ts +4 -0
- package/nav-tabs/Tab.js +117 -0
- package/nav-tabs/types.d.ts +52 -0
- package/nav-tabs/types.js +5 -0
- package/number-input/NumberInput.d.ts +11 -0
- package/number-input/NumberInput.js +32 -101
- package/number-input/NumberInput.stories.tsx +131 -0
- package/number-input/NumberInput.test.js +830 -0
- package/number-input/types.d.ts +130 -0
- package/number-input/types.js +5 -0
- package/package.json +53 -49
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +26 -52
- package/paginator/Paginator.d.ts +4 -0
- package/paginator/Paginator.js +41 -211
- package/paginator/Paginator.stories.tsx +87 -0
- package/paginator/Paginator.test.js +335 -0
- package/paginator/types.d.ts +38 -0
- package/paginator/types.js +5 -0
- package/paragraph/Paragraph.d.ts +5 -0
- package/paragraph/Paragraph.js +22 -0
- package/paragraph/Paragraph.stories.tsx +27 -0
- package/password-input/Icons.d.ts +6 -0
- package/password-input/Icons.js +35 -0
- package/password-input/PasswordInput.d.ts +4 -0
- package/password-input/PasswordInput.js +66 -172
- package/password-input/PasswordInput.stories.tsx +99 -0
- package/password-input/PasswordInput.test.js +198 -0
- package/password-input/types.d.ts +111 -0
- package/password-input/types.js +5 -0
- package/progress-bar/ProgressBar.d.ts +4 -0
- package/progress-bar/ProgressBar.js +76 -174
- package/progress-bar/ProgressBar.stories.tsx +93 -0
- package/progress-bar/ProgressBar.test.js +93 -0
- package/progress-bar/types.d.ts +37 -0
- package/progress-bar/types.js +5 -0
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +94 -0
- package/quick-nav/QuickNav.stories.tsx +356 -0
- package/quick-nav/types.d.ts +21 -0
- package/quick-nav/types.js +5 -0
- package/radio-group/Radio.d.ts +4 -0
- package/radio-group/Radio.js +124 -0
- package/radio-group/RadioGroup.d.ts +4 -0
- package/radio-group/RadioGroup.js +235 -0
- package/radio-group/RadioGroup.stories.tsx +214 -0
- package/radio-group/RadioGroup.test.js +756 -0
- package/radio-group/types.d.ts +114 -0
- package/radio-group/types.js +5 -0
- package/resultset-table/Icons.d.ts +7 -0
- package/resultset-table/Icons.js +47 -0
- package/resultset-table/ResultsetTable.d.ts +4 -0
- package/resultset-table/ResultsetTable.js +159 -0
- package/resultset-table/ResultsetTable.stories.tsx +300 -0
- package/resultset-table/ResultsetTable.test.js +305 -0
- package/resultset-table/types.d.ts +67 -0
- package/resultset-table/types.js +5 -0
- package/select/Icons.d.ts +10 -0
- package/select/Icons.js +89 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +143 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +80 -0
- package/select/Select.d.ts +4 -0
- package/select/Select.js +294 -849
- package/select/Select.stories.tsx +971 -0
- package/select/Select.test.js +2370 -0
- package/select/types.d.ts +209 -0
- package/select/types.js +5 -0
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +47 -0
- package/sidenav/Sidenav.d.ts +10 -0
- package/sidenav/Sidenav.js +134 -117
- package/sidenav/Sidenav.stories.tsx +282 -0
- package/sidenav/Sidenav.test.js +37 -0
- package/sidenav/types.d.ts +76 -0
- package/sidenav/types.js +5 -0
- package/slider/Slider.d.ts +4 -0
- package/slider/Slider.js +172 -291
- package/slider/Slider.test.js +254 -0
- package/slider/types.d.ts +86 -0
- package/slider/types.js +5 -0
- package/spinner/Spinner.d.ts +4 -0
- package/spinner/Spinner.js +66 -241
- package/spinner/Spinner.stories.tsx +129 -0
- package/spinner/Spinner.test.js +55 -0
- package/spinner/types.d.ts +32 -0
- package/spinner/types.js +5 -0
- package/switch/Switch.d.ts +4 -0
- package/switch/Switch.js +153 -161
- package/switch/Switch.stories.tsx +137 -0
- package/switch/Switch.test.js +180 -0
- package/switch/types.d.ts +66 -0
- package/switch/types.js +5 -0
- package/table/Table.d.ts +4 -0
- package/table/Table.js +14 -50
- package/table/Table.stories.tsx +356 -0
- package/table/Table.test.js +21 -0
- package/table/types.d.ts +21 -0
- package/table/types.js +5 -0
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +113 -0
- package/tabs/Tabs.d.ts +4 -0
- package/tabs/Tabs.js +322 -281
- package/tabs/Tabs.stories.tsx +226 -0
- package/tabs/Tabs.test.js +294 -0
- package/tabs/types.d.ts +92 -0
- package/tabs/types.js +5 -0
- package/tag/Tag.d.ts +4 -0
- package/tag/Tag.js +61 -192
- package/tag/Tag.stories.tsx +155 -0
- package/tag/Tag.test.js +49 -0
- package/tag/types.d.ts +69 -0
- package/tag/types.js +5 -0
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +56 -0
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +67 -0
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +84 -0
- package/text-input/TextInput.d.ts +4 -0
- package/text-input/TextInput.js +360 -757
- package/text-input/TextInput.stories.tsx +465 -0
- package/text-input/TextInput.test.js +1739 -0
- package/text-input/types.d.ts +205 -0
- package/text-input/types.js +5 -0
- package/textarea/Textarea.d.ts +4 -0
- package/textarea/Textarea.js +105 -240
- package/textarea/Textarea.stories.tsx +174 -0
- package/textarea/Textarea.test.js +406 -0
- package/textarea/types.d.ts +141 -0
- package/textarea/types.js +5 -0
- package/toggle-group/ToggleGroup.d.ts +4 -0
- package/toggle-group/ToggleGroup.js +107 -233
- package/toggle-group/ToggleGroup.stories.tsx +218 -0
- package/toggle-group/ToggleGroup.test.js +137 -0
- package/toggle-group/types.d.ts +114 -0
- package/toggle-group/types.js +5 -0
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +23 -0
- package/typography/Typography.stories.tsx +198 -0
- package/typography/types.d.ts +18 -0
- package/typography/types.js +5 -0
- package/useTheme.d.ts +1134 -0
- package/useTheme.js +4 -11
- package/useTranslatedLabels.d.ts +85 -0
- package/useTranslatedLabels.js +14 -0
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +94 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +121 -0
- package/wizard/Wizard.d.ts +4 -0
- package/wizard/Wizard.js +138 -293
- package/wizard/Wizard.stories.tsx +253 -0
- package/wizard/Wizard.test.js +114 -0
- package/wizard/types.d.ts +64 -0
- package/wizard/types.js +5 -0
- package/ThemeContext.js +0 -250
- package/V3Select/V3Select.js +0 -549
- package/V3Select/index.d.ts +0 -27
- package/V3Textarea/V3Textarea.js +0 -264
- package/V3Textarea/index.d.ts +0 -27
- package/accordion/index.d.ts +0 -28
- package/accordion-group/index.d.ts +0 -16
- package/alert/index.d.ts +0 -51
- package/box/index.d.ts +0 -25
- package/button/Button.stories.js +0 -27
- package/button/index.d.ts +0 -24
- package/card/index.d.ts +0 -22
- package/checkbox/index.d.ts +0 -24
- package/chip/index.d.ts +0 -22
- package/common/RequiredComponent.js +0 -40
- package/date/Date.js +0 -379
- package/date/index.d.ts +0 -27
- package/date-input/index.d.ts +0 -95
- package/dialog/index.d.ts +0 -18
- package/dropdown/index.d.ts +0 -26
- package/file-input/index.d.ts +0 -81
- package/footer/index.d.ts +0 -25
- package/header/index.d.ts +0 -25
- package/heading/index.d.ts +0 -17
- package/input-text/Icons.js +0 -22
- package/input-text/InputText.js +0 -705
- package/input-text/index.d.ts +0 -36
- package/link/index.d.ts +0 -23
- package/number-input/NumberInputContext.js +0 -16
- package/number-input/index.d.ts +0 -113
- package/paginator/index.d.ts +0 -20
- package/password-input/index.d.ts +0 -94
- package/progress-bar/index.d.ts +0 -18
- package/radio/Radio.js +0 -209
- package/radio/index.d.ts +0 -23
- package/resultsetTable/ResultsetTable.js +0 -358
- package/resultsetTable/index.d.ts +0 -19
- package/select/index.d.ts +0 -131
- package/sidenav/index.d.ts +0 -13
- package/slider/index.d.ts +0 -29
- package/spinner/index.d.ts +0 -17
- package/switch/index.d.ts +0 -24
- package/table/index.d.ts +0 -13
- package/tabs/index.d.ts +0 -19
- package/tag/index.d.ts +0 -24
- package/text-input/index.d.ts +0 -135
- package/textarea/index.d.ts +0 -117
- package/toggle/Toggle.js +0 -220
- package/toggle/index.d.ts +0 -21
- package/toggle-group/index.d.ts +0 -21
- package/upload/Upload.js +0 -205
- package/upload/buttons-upload/ButtonsUpload.js +0 -135
- package/upload/buttons-upload/Icons.js +0 -40
- package/upload/dragAndDropArea/DragAndDropArea.js +0 -329
- package/upload/dragAndDropArea/Icons.js +0 -39
- package/upload/file-upload/FileToUpload.js +0 -189
- package/upload/file-upload/Icons.js +0 -66
- package/upload/files-upload/FilesToUpload.js +0 -123
- package/upload/index.d.ts +0 -15
- package/upload/transaction/Icons.js +0 -160
- package/upload/transaction/Transaction.js +0 -148
- package/upload/transactions/Transactions.js +0 -138
- package/wizard/Icons.js +0 -65
- package/wizard/index.d.ts +0 -18
|
@@ -0,0 +1,111 @@
|
|
|
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
|
+
type Props = {
|
|
9
|
+
/**
|
|
10
|
+
* Text to be placed above the password input.
|
|
11
|
+
*/
|
|
12
|
+
label?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Name attribute of the input element.
|
|
15
|
+
*/
|
|
16
|
+
name?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Value of the input element. If undefined, the component will be uncontrolled and the value will be managed internally by the component.
|
|
19
|
+
*/
|
|
20
|
+
value?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Helper text to be placed above the password.
|
|
23
|
+
*/
|
|
24
|
+
helperText?: string;
|
|
25
|
+
/**
|
|
26
|
+
* If true, the password input will have an action to clear the entered value.
|
|
27
|
+
*/
|
|
28
|
+
clearable?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* This function will be called when the user types within the input
|
|
31
|
+
* element of the component. An object including the current value and
|
|
32
|
+
* the error (if the value entered is not valid) will be passed to this
|
|
33
|
+
* function. If there is no error, error will not be defined.
|
|
34
|
+
* */
|
|
35
|
+
onChange?: (val: {
|
|
36
|
+
value: string;
|
|
37
|
+
error?: string;
|
|
38
|
+
}) => void;
|
|
39
|
+
/**
|
|
40
|
+
* This function will be called when the input element loses the focus.
|
|
41
|
+
* An object including the input value and the error (if the value entered is
|
|
42
|
+
* not valid) will be passed to this function. If there is no error, error will
|
|
43
|
+
* not be defined.
|
|
44
|
+
*/
|
|
45
|
+
onBlur?: (val: {
|
|
46
|
+
value: string;
|
|
47
|
+
error?: string;
|
|
48
|
+
}) => void;
|
|
49
|
+
/**
|
|
50
|
+
* If it is a defined value and also a truthy string, the component will
|
|
51
|
+
* change its appearance, showing the error below the password input
|
|
52
|
+
* component. If the defined value is an empty string, it will reserve a
|
|
53
|
+
* space below the component for a future error, but it would not change
|
|
54
|
+
* its look. In case of being undefined or null, both the appearance and
|
|
55
|
+
* the space for the error message would not be modified.
|
|
56
|
+
*/
|
|
57
|
+
error?: string;
|
|
58
|
+
/**
|
|
59
|
+
* Regular expression that defines the valid format allowed by the
|
|
60
|
+
* password input. This will be checked both when the input element loses the
|
|
61
|
+
* focus and while typing within it. If the string entered does not match
|
|
62
|
+
* the pattern, the onBlur and onChange functions will be called with the
|
|
63
|
+
* current value and an internal error informing that this value does not
|
|
64
|
+
* match the pattern. If the pattern is met, the error parameter of both
|
|
65
|
+
* events will not be defined.
|
|
66
|
+
*/
|
|
67
|
+
pattern?: string;
|
|
68
|
+
/**
|
|
69
|
+
* Specifies the minimum length allowed by the password input.
|
|
70
|
+
* This will be checked both when the input element loses the
|
|
71
|
+
* focus and while typing within it. If the string entered does not
|
|
72
|
+
* comply the minimum length, the onBlur and onChange functions will be called
|
|
73
|
+
* with the current value and an internal error informing that the value
|
|
74
|
+
* length does not comply the specified range. If a valid length is
|
|
75
|
+
* reached, the error parameter of both events will not be defined.
|
|
76
|
+
*/
|
|
77
|
+
minLength?: number;
|
|
78
|
+
/**
|
|
79
|
+
* Specifies the maximum length allowed by the password input.
|
|
80
|
+
* This will be checked both when the input element loses the
|
|
81
|
+
* focus and while typing within it. If the string entered does not
|
|
82
|
+
* comply the maximum length, the onBlur and onChange functions will be called
|
|
83
|
+
* with the current value and an internal error informing that the value
|
|
84
|
+
* length does not comply the specified range. If a valid length is
|
|
85
|
+
* reached, the error parameter of both events will not be defined.
|
|
86
|
+
*/
|
|
87
|
+
maxLength?: number;
|
|
88
|
+
/**
|
|
89
|
+
* HTML autocomplete attribute. Lets the user specify if any permission the user agent has to provide automated assistance in filling out the input value.
|
|
90
|
+
* Its value must be one of all the possible values of the HTML autocomplete attribute: 'on', 'off', 'email', 'username', 'new-password', ...
|
|
91
|
+
*/
|
|
92
|
+
autocomplete?: string;
|
|
93
|
+
/**
|
|
94
|
+
* Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
|
|
95
|
+
* You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
|
|
96
|
+
*/
|
|
97
|
+
margin?: Space | Margin;
|
|
98
|
+
/**
|
|
99
|
+
* Size of the component.
|
|
100
|
+
*/
|
|
101
|
+
size?: "small" | "medium" | "large" | "fillParent";
|
|
102
|
+
/**
|
|
103
|
+
* Value of the tabindex attribute.
|
|
104
|
+
*/
|
|
105
|
+
tabIndex?: number;
|
|
106
|
+
};
|
|
107
|
+
/**
|
|
108
|
+
* Reference to the component.
|
|
109
|
+
*/
|
|
110
|
+
export type RefType = HTMLDivElement;
|
|
111
|
+
export default Props;
|
|
@@ -1,174 +1,75 @@
|
|
|
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
|
+
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports["default"] = void 0;
|
|
11
|
-
|
|
12
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
-
|
|
14
9
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
15
|
-
|
|
16
10
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
17
|
-
|
|
11
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
18
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
-
|
|
20
13
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
21
|
-
|
|
22
|
-
var
|
|
23
|
-
|
|
24
|
-
var
|
|
25
|
-
|
|
26
|
-
var _variables = require("../common/variables.js");
|
|
27
|
-
|
|
28
|
-
var _useTheme = _interopRequireDefault(require("../useTheme.js"));
|
|
29
|
-
|
|
30
|
-
var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext.js"));
|
|
31
|
-
|
|
32
|
-
function _templateObject6() {
|
|
33
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: 1.5em;\n"]);
|
|
34
|
-
|
|
35
|
-
_templateObject6 = function _templateObject6() {
|
|
36
|
-
return data;
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
return data;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
function _templateObject5() {
|
|
43
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n font-weight: ", ";\n text-transform: ", ";\n color: ", ";\n display: ", ";\n flex-shrink: 0;\n"]);
|
|
44
|
-
|
|
45
|
-
_templateObject5 = function _templateObject5() {
|
|
46
|
-
return data;
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
return data;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
function _templateObject4() {
|
|
53
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n font-weight: ", ";\n text-transform: ", ";\n color: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n text-overflow: ellipsis;\n"]);
|
|
54
|
-
|
|
55
|
-
_templateObject4 = function _templateObject4() {
|
|
56
|
-
return data;
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
return data;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
function _templateObject3() {
|
|
63
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n width: 685px;\n flex-wrap: wrap;\n width: 100%;\n margin-bottom: 8px;\n align-items: baseline;\n justify-content: space-between;\n"]);
|
|
64
|
-
|
|
65
|
-
_templateObject3 = function _templateObject3() {
|
|
66
|
-
return data;
|
|
67
|
-
};
|
|
68
|
-
|
|
69
|
-
return data;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
function _templateObject2() {
|
|
73
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n z-index: ", ";\n width: ", ";\n .MuiLinearProgress-root {\n height: ", ";\n background-color: ", ";\n border-radius: ", ";\n margin-bottom: ", ";\n }\n .MuiLinearProgress-bar {\n background-color: ", ";\n }\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"]);
|
|
74
|
-
|
|
75
|
-
_templateObject2 = function _templateObject2() {
|
|
76
|
-
return data;
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
return data;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
function _templateObject() {
|
|
83
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n opacity: ", ";\n width: ", ";\n display: flex;\n flex-wrap: wrap;\n justify-content: ", ";\n height: ", ";\n align-items: ", ";\n min-width: 100px;\n max-width: ", ";\n position: ", ";\n top: ", ";\n bottom: ", ";\n left: ", ";\n right: ", ";\n z-index: ", ";\n width: 100%;\n"]);
|
|
84
|
-
|
|
85
|
-
_templateObject = function _templateObject() {
|
|
86
|
-
return data;
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
return data;
|
|
90
|
-
}
|
|
91
|
-
|
|
14
|
+
var _variables = require("../common/variables");
|
|
15
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
16
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
|
|
17
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
18
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
92
19
|
var DxcProgressBar = function DxcProgressBar(_ref) {
|
|
93
20
|
var _ref$label = _ref.label,
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
21
|
+
label = _ref$label === void 0 ? "" : _ref$label,
|
|
22
|
+
_ref$helperText = _ref.helperText,
|
|
23
|
+
helperText = _ref$helperText === void 0 ? "" : _ref$helperText,
|
|
24
|
+
_ref$overlay = _ref.overlay,
|
|
25
|
+
overlay = _ref$overlay === void 0 ? false : _ref$overlay,
|
|
26
|
+
value = _ref.value,
|
|
27
|
+
_ref$showValue = _ref.showValue,
|
|
28
|
+
showValue = _ref$showValue === void 0 ? false : _ref$showValue,
|
|
29
|
+
margin = _ref.margin;
|
|
103
30
|
var colorsTheme = (0, _useTheme["default"])();
|
|
104
|
-
var
|
|
105
|
-
|
|
31
|
+
var _useState = (0, _react.useState)(0),
|
|
32
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
33
|
+
valueProgressBar = _useState2[0],
|
|
34
|
+
setValueProgressBar = _useState2[1];
|
|
35
|
+
(0, _react.useEffect)(function () {
|
|
36
|
+
setValueProgressBar(value === null || value === undefined || value < 0 ? 0 : value >= 0 && value <= 100 ? value : 100);
|
|
37
|
+
}, [value]);
|
|
38
|
+
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
106
39
|
theme: colorsTheme.progressBar
|
|
107
|
-
}, _react["default"].createElement(BackgroundProgressBar, {
|
|
40
|
+
}, /*#__PURE__*/_react["default"].createElement(BackgroundProgressBar, {
|
|
108
41
|
overlay: overlay
|
|
109
|
-
}, _react["default"].createElement(
|
|
42
|
+
}, /*#__PURE__*/_react["default"].createElement(ProgressBarContainer, {
|
|
110
43
|
overlay: overlay,
|
|
111
|
-
margin: margin
|
|
112
|
-
|
|
113
|
-
}, _react["default"].createElement(InfoProgressBar, null, _react["default"].createElement(ProgressBarLabel, {
|
|
44
|
+
margin: margin
|
|
45
|
+
}, /*#__PURE__*/_react["default"].createElement(InfoProgressBar, null, /*#__PURE__*/_react["default"].createElement(ProgressBarLabel, {
|
|
114
46
|
overlay: overlay,
|
|
115
|
-
|
|
116
|
-
}, label), _react["default"].createElement(ProgressBarProgress, {
|
|
47
|
+
"aria-label": label || undefined
|
|
48
|
+
}, label), /*#__PURE__*/_react["default"].createElement(ProgressBarProgress, {
|
|
117
49
|
overlay: overlay,
|
|
118
50
|
showValue: showValue,
|
|
119
|
-
|
|
120
|
-
},
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
|
|
51
|
+
value: valueProgressBar
|
|
52
|
+
}, valueProgressBar, " %")), /*#__PURE__*/_react["default"].createElement(LinearProgress, {
|
|
53
|
+
role: "progressbar",
|
|
54
|
+
helperText: helperText,
|
|
55
|
+
"aria-valuenow": showValue ? valueProgressBar : undefined
|
|
56
|
+
}, /*#__PURE__*/_react["default"].createElement(LinearProgressBar, {
|
|
57
|
+
variant: value === null || value === undefined ? "indeterminate" : "determinate",
|
|
58
|
+
container: "first",
|
|
59
|
+
value: valueProgressBar
|
|
60
|
+
})), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
|
|
61
|
+
overlay: overlay
|
|
127
62
|
}, helperText))));
|
|
128
63
|
};
|
|
129
|
-
|
|
130
|
-
var
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
return props.overlay === true && "0.8";
|
|
134
|
-
}, function (props) {
|
|
135
|
-
return props.overlay === true ? "100%" : "";
|
|
136
|
-
}, function (props) {
|
|
137
|
-
return props.overlay === true ? "center" : "";
|
|
138
|
-
}, function (props) {
|
|
139
|
-
return props.overlay === true ? "100vh" : "";
|
|
140
|
-
}, function (props) {
|
|
141
|
-
return props.overlay === true ? "center" : "";
|
|
142
|
-
}, function (props) {
|
|
143
|
-
return props.overlay === true ? "100%" : "";
|
|
144
|
-
}, function (props) {
|
|
145
|
-
return props.overlay === true ? "fixed" : "";
|
|
146
|
-
}, function (props) {
|
|
147
|
-
return props.overlay === true ? "0" : "";
|
|
148
|
-
}, function (props) {
|
|
149
|
-
return props.overlay === true ? "0" : "";
|
|
150
|
-
}, function (props) {
|
|
151
|
-
return props.overlay === true ? "0" : "";
|
|
152
|
-
}, function (props) {
|
|
153
|
-
return props.overlay === true ? "0" : "";
|
|
154
|
-
}, function (props) {
|
|
155
|
-
return props.overlay ? 1300 : "";
|
|
64
|
+
var BackgroundProgressBar = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n display: flex;\n flex-wrap: wrap;\n min-width: 100px;\n width: 100%;\n"])), function (_ref2) {
|
|
65
|
+
var overlay = _ref2.overlay,
|
|
66
|
+
theme = _ref2.theme;
|
|
67
|
+
return overlay ? "background-color: ".concat(theme.overlayColor, ";\n width: 100%;\n justify-content: center;\n height: 100vh;\n align-items: center;\n max-width: 100%;\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1300;") : "background-color: \"transparent\";";
|
|
156
68
|
});
|
|
157
|
-
|
|
158
|
-
var DXCProgressBar = _styledComponents["default"].div(_templateObject2(), function (props) {
|
|
69
|
+
var ProgressBarContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n z-index: ", ";\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
159
70
|
return props.overlay === true && "100" || "0";
|
|
160
71
|
}, function (props) {
|
|
161
72
|
return props.overlay === true ? "80%" : "100%";
|
|
162
|
-
}, function (props) {
|
|
163
|
-
return props.theme.thickness;
|
|
164
|
-
}, function (props) {
|
|
165
|
-
return props.theme.totalLineColor;
|
|
166
|
-
}, function (props) {
|
|
167
|
-
return props.theme.borderRadius;
|
|
168
|
-
}, function (props) {
|
|
169
|
-
return props.helperText !== "" && "8px";
|
|
170
|
-
}, function (props) {
|
|
171
|
-
return props.backgroundType === "dark" ? props.theme.trackLineColorOnDark : props.theme.trackLineColor;
|
|
172
73
|
}, function (props) {
|
|
173
74
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
174
75
|
}, function (props) {
|
|
@@ -180,10 +81,8 @@ var DXCProgressBar = _styledComponents["default"].div(_templateObject2(), functi
|
|
|
180
81
|
}, function (props) {
|
|
181
82
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
182
83
|
});
|
|
183
|
-
|
|
184
|
-
var
|
|
185
|
-
|
|
186
|
-
var ProgressBarLabel = _styledComponents["default"].div(_templateObject4(), function (props) {
|
|
84
|
+
var InfoProgressBar = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n width: 685px;\n flex-wrap: wrap;\n width: 100%;\n margin-bottom: 8px;\n align-items: baseline;\n justify-content: space-between;\n"])));
|
|
85
|
+
var ProgressBarLabel = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n font-weight: ", ";\n text-transform: ", ";\n color: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n text-overflow: ellipsis;\n"])), function (props) {
|
|
187
86
|
return props.theme.labelFontFamily;
|
|
188
87
|
}, function (props) {
|
|
189
88
|
return props.theme.labelFontStyle;
|
|
@@ -194,10 +93,9 @@ var ProgressBarLabel = _styledComponents["default"].div(_templateObject4(), func
|
|
|
194
93
|
}, function (props) {
|
|
195
94
|
return props.theme.labelFontTextTransform;
|
|
196
95
|
}, function (props) {
|
|
197
|
-
return props.
|
|
96
|
+
return props.overlay === true ? props.theme.overlayFontColor : props.theme.labelFontColor;
|
|
198
97
|
});
|
|
199
|
-
|
|
200
|
-
var ProgressBarProgress = _styledComponents["default"].div(_templateObject5(), function (props) {
|
|
98
|
+
var ProgressBarProgress = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n font-weight: ", ";\n text-transform: ", ";\n color: ", ";\n display: ", ";\n flex-shrink: 0;\n"])), function (props) {
|
|
201
99
|
return props.theme.valueFontFamily;
|
|
202
100
|
}, function (props) {
|
|
203
101
|
return props.theme.valueFontStyle;
|
|
@@ -208,15 +106,14 @@ var ProgressBarProgress = _styledComponents["default"].div(_templateObject5(), f
|
|
|
208
106
|
}, function (props) {
|
|
209
107
|
return props.theme.valueFontTextTransform;
|
|
210
108
|
}, function (props) {
|
|
211
|
-
return props.
|
|
109
|
+
return props.overlay === true ? props.theme.overlayFontColor : props.theme.valueFontColor;
|
|
212
110
|
}, function (props) {
|
|
213
|
-
return props.value !==
|
|
111
|
+
return props.value !== undefined && props.value !== null && props.showValue === true && "block" || "none";
|
|
214
112
|
});
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
return props.backgroundType === "dark" ? props.theme.helperTextFontColorOnDark : props.overlay === true ? "#FFFFFF" : props.theme.helperTextFontColor;
|
|
113
|
+
var HelperText = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: 1.5em;\n"])), function (props) {
|
|
114
|
+
return props.overlay === true ? props.theme.overlayFontColor : props.theme.helperTextFontColor;
|
|
218
115
|
}, function (props) {
|
|
219
|
-
return props.theme.
|
|
116
|
+
return props.theme.helperTextFontFamily;
|
|
220
117
|
}, function (props) {
|
|
221
118
|
return props.theme.helperTextFontSize;
|
|
222
119
|
}, function (props) {
|
|
@@ -224,19 +121,24 @@ var HelperText = _styledComponents["default"].span(_templateObject6(), function
|
|
|
224
121
|
}, function (props) {
|
|
225
122
|
return props.theme.helperTextFontWeight;
|
|
226
123
|
});
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
|
|
124
|
+
var LinearProgress = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n background-color: ", ";\n border-radius: ", ";\n margin-bottom: ", ";\n overflow: hidden;\n position: relative;\n"])), function (props) {
|
|
125
|
+
return props.theme.thickness;
|
|
126
|
+
}, function (props) {
|
|
127
|
+
return props.theme.totalLineColor;
|
|
128
|
+
}, function (props) {
|
|
129
|
+
return props.theme.borderRadius;
|
|
130
|
+
}, function (props) {
|
|
131
|
+
return props.helperText !== "" && "8px";
|
|
132
|
+
});
|
|
133
|
+
var LinearProgressBar = _styledComponents["default"].span(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n transform: ", ";\n top: 0;\n left: 0;\n width: 100%;\n bottom: 0;\n position: absolute;\n transition: ", ";\n transform-origin: left;\n ", ";\n ", ";\n\n @keyframes keyframes-indeterminate-first {\n 0% {\n left: -35%;\n right: 100%;\n }\n 60% {\n left: 100%;\n right: -90%;\n }\n 100% {\n left: 100%;\n right: -90%;\n }\n }\n\n @keyframes keyframes-indeterminate-second {\n 0% {\n left: -200%;\n right: 100%;\n }\n 60% {\n left: 107%;\n right: -8%;\n }\n 100% {\n left: 107%;\n right: -8%;\n }\n }\n"])), function (props) {
|
|
134
|
+
return props.theme.trackLineColor;
|
|
135
|
+
}, function (props) {
|
|
136
|
+
return "translateX(-".concat(props.variant === "determinate" ? 100 - props.value : 0, "%)");
|
|
137
|
+
}, function (props) {
|
|
138
|
+
return props.variant === "determinate" ? "transform .4s linear" : "transform 0.2s linear";
|
|
139
|
+
}, function (props) {
|
|
140
|
+
return props.variant === "indeterminate" && "width: auto;";
|
|
141
|
+
}, function (props) {
|
|
142
|
+
return props.variant === "indeterminate" ? props.container === "first" ? "animation: keyframes-indeterminate-first 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;" : "animation: keyframes-indeterminate-second 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite;" : "";
|
|
143
|
+
});
|
|
144
|
+
var _default = exports["default"] = DxcProgressBar;
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import DxcProgressBar from "./ProgressBar";
|
|
3
|
+
import Title from "../../.storybook/components/Title";
|
|
4
|
+
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
5
|
+
import { HalstackProvider } from "../HalstackContext";
|
|
6
|
+
|
|
7
|
+
export default {
|
|
8
|
+
title: "Progress Bar",
|
|
9
|
+
component: DxcProgressBar,
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const opinionatedTheme = {
|
|
13
|
+
progressBar: {
|
|
14
|
+
accentColor: "#5f249f",
|
|
15
|
+
baseColor: "#e6e6e6",
|
|
16
|
+
fontColor: "#000000",
|
|
17
|
+
overlayColor: "#000000b3",
|
|
18
|
+
overlayFontColor: "#ffffff",
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export const Chromatic = () => (
|
|
23
|
+
<>
|
|
24
|
+
<ExampleContainer>
|
|
25
|
+
<Title title="Without labels" theme="light" level={4} />
|
|
26
|
+
<DxcProgressBar value={50} showValue />
|
|
27
|
+
<Title title="With helperText" theme="light" level={4} />
|
|
28
|
+
<DxcProgressBar helperText="Helper text" value={24} showValue />
|
|
29
|
+
<Title title="Without default value" theme="light" level={4} />
|
|
30
|
+
<DxcProgressBar label="Loading..." showValue />
|
|
31
|
+
<Title title="With full value" theme="light" level={4} />
|
|
32
|
+
<DxcProgressBar label="Loading..." value={100} showValue />
|
|
33
|
+
</ExampleContainer>
|
|
34
|
+
<Title title="Margins" theme="light" level={2} />
|
|
35
|
+
<ExampleContainer>
|
|
36
|
+
<Title title="Xxsmall margin" theme="light" level={4} />
|
|
37
|
+
<DxcProgressBar label="Margin xxsmall" margin="xxsmall" value={50} showValue />
|
|
38
|
+
</ExampleContainer>
|
|
39
|
+
<ExampleContainer>
|
|
40
|
+
<Title title="Xsmall margin" theme="light" level={4} />
|
|
41
|
+
<DxcProgressBar label="Margin xsmall" margin="xsmall" value={50} showValue />
|
|
42
|
+
</ExampleContainer>
|
|
43
|
+
<ExampleContainer>
|
|
44
|
+
<Title title="Small margin" theme="light" level={4} />
|
|
45
|
+
<DxcProgressBar label="Margin small" margin="small" value={50} showValue />
|
|
46
|
+
</ExampleContainer>
|
|
47
|
+
<ExampleContainer>
|
|
48
|
+
<Title title="Medium margin" theme="light" level={4} />
|
|
49
|
+
<DxcProgressBar label="Margin medium" margin="medium" value={50} showValue />
|
|
50
|
+
</ExampleContainer>
|
|
51
|
+
<ExampleContainer>
|
|
52
|
+
<Title title="Large margin" theme="light" level={4} />
|
|
53
|
+
<DxcProgressBar label="Margin large" margin="large" value={50} showValue />
|
|
54
|
+
</ExampleContainer>
|
|
55
|
+
<ExampleContainer>
|
|
56
|
+
<Title title="Xlarge margin" theme="light" level={4} />
|
|
57
|
+
<DxcProgressBar label="Margin xlarge" margin="xlarge" value={50} showValue />
|
|
58
|
+
</ExampleContainer>
|
|
59
|
+
<ExampleContainer>
|
|
60
|
+
<Title title="Xxlarge margin" theme="light" level={4} />
|
|
61
|
+
<DxcProgressBar label="Margin xxlarge" margin="xxlarge" value={50} showValue />
|
|
62
|
+
</ExampleContainer>
|
|
63
|
+
<Title title="Opinionated theme" theme="light" level={2} />
|
|
64
|
+
<ExampleContainer>
|
|
65
|
+
<Title title="Label and helper text" theme="light" level={4} />
|
|
66
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
67
|
+
<DxcProgressBar label="Loading..." helperText="Helper text" value={24} showValue />
|
|
68
|
+
</HalstackProvider>
|
|
69
|
+
</ExampleContainer>
|
|
70
|
+
<ExampleContainer>
|
|
71
|
+
<Title title="Without default value" theme="light" level={4} />
|
|
72
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
73
|
+
<DxcProgressBar label="Loading..." helperText="Helper text" showValue />
|
|
74
|
+
</HalstackProvider>
|
|
75
|
+
</ExampleContainer>
|
|
76
|
+
</>
|
|
77
|
+
);
|
|
78
|
+
|
|
79
|
+
export const ProgressBarOverlay = () => (
|
|
80
|
+
<ExampleContainer>
|
|
81
|
+
<Title title="Overlay" theme="dark" level={4} />
|
|
82
|
+
<DxcProgressBar label="Overlay" helperText="Helper text" overlay showValue value={50} />
|
|
83
|
+
</ExampleContainer>
|
|
84
|
+
);
|
|
85
|
+
|
|
86
|
+
export const ProgressBarOverlayOpinionated = () => (
|
|
87
|
+
<ExampleContainer>
|
|
88
|
+
<Title title="Overlay" theme="dark" level={4} />
|
|
89
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
90
|
+
<DxcProgressBar label="Overlay" helperText="Helper text" overlay showValue value={50} />
|
|
91
|
+
</HalstackProvider>
|
|
92
|
+
</ExampleContainer>
|
|
93
|
+
);
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _react = _interopRequireDefault(require("react"));
|
|
5
|
+
var _react2 = require("@testing-library/react");
|
|
6
|
+
var _ProgressBar = _interopRequireDefault(require("./ProgressBar.tsx"));
|
|
7
|
+
describe("ProgressBar component tests", function () {
|
|
8
|
+
test("ProgressBar renders with label and helperText", function () {
|
|
9
|
+
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], {
|
|
10
|
+
label: "test-label",
|
|
11
|
+
helperText: "helper-text"
|
|
12
|
+
})),
|
|
13
|
+
getByText = _render.getByText;
|
|
14
|
+
expect(getByText("test-label")).toBeTruthy();
|
|
15
|
+
expect(getByText("helper-text")).toBeTruthy();
|
|
16
|
+
});
|
|
17
|
+
test("ProgressBar renders with default value", function () {
|
|
18
|
+
var value = 0;
|
|
19
|
+
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], {
|
|
20
|
+
showValue: true
|
|
21
|
+
})),
|
|
22
|
+
getByText = _render2.getByText,
|
|
23
|
+
getByRole = _render2.getByRole;
|
|
24
|
+
var progressBar = getByRole("progressbar");
|
|
25
|
+
expect(getByText("0 %")).toBeTruthy();
|
|
26
|
+
expect(progressBar.getAttribute("aria-valuenow")).toEqual(value.toString());
|
|
27
|
+
});
|
|
28
|
+
test("ProgressBar renders with value", function () {
|
|
29
|
+
var value = 25;
|
|
30
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], {
|
|
31
|
+
showValue: true,
|
|
32
|
+
value: value
|
|
33
|
+
})),
|
|
34
|
+
getByText = _render3.getByText,
|
|
35
|
+
getByRole = _render3.getByRole;
|
|
36
|
+
var progressBar = getByRole("progressbar");
|
|
37
|
+
expect(getByText("25 %")).toBeTruthy();
|
|
38
|
+
expect(progressBar.getAttribute("aria-valuenow")).toEqual(value.toString());
|
|
39
|
+
});
|
|
40
|
+
test("ProgressBar renders with negative value", function () {
|
|
41
|
+
var value = 0;
|
|
42
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], {
|
|
43
|
+
showValue: true,
|
|
44
|
+
value: -20
|
|
45
|
+
})),
|
|
46
|
+
getByText = _render4.getByText,
|
|
47
|
+
getByRole = _render4.getByRole;
|
|
48
|
+
var progressBar = getByRole("progressbar");
|
|
49
|
+
expect(getByText("0 %")).toBeTruthy();
|
|
50
|
+
expect(progressBar.getAttribute("aria-valuenow")).toEqual(value.toString());
|
|
51
|
+
});
|
|
52
|
+
test("ProgressBar renders as indeterminate", function () {
|
|
53
|
+
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], null)),
|
|
54
|
+
getByRole = _render5.getByRole;
|
|
55
|
+
var progressBar = getByRole("progressbar");
|
|
56
|
+
expect(progressBar.getAttribute("aria-valuenow")).toBe(null);
|
|
57
|
+
});
|
|
58
|
+
test("Overlay progressBar renders with label and helperText", function () {
|
|
59
|
+
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], {
|
|
60
|
+
label: "test-label",
|
|
61
|
+
helperText: "helper-text",
|
|
62
|
+
overlay: true
|
|
63
|
+
})),
|
|
64
|
+
getByText = _render6.getByText;
|
|
65
|
+
expect(getByText("test-label")).toBeTruthy();
|
|
66
|
+
expect(getByText("helper-text")).toBeTruthy();
|
|
67
|
+
});
|
|
68
|
+
test("Overlay progressBar renders with default value", function () {
|
|
69
|
+
var value = 0;
|
|
70
|
+
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], {
|
|
71
|
+
showValue: true,
|
|
72
|
+
overlay: true
|
|
73
|
+
})),
|
|
74
|
+
getByText = _render7.getByText,
|
|
75
|
+
getByRole = _render7.getByRole;
|
|
76
|
+
var progressBar = getByRole("progressbar");
|
|
77
|
+
expect(getByText("0 %")).toBeTruthy();
|
|
78
|
+
expect(progressBar.getAttribute("aria-valuenow")).toEqual(value.toString());
|
|
79
|
+
});
|
|
80
|
+
test("Overlay progressBar renders with value", function () {
|
|
81
|
+
var value = 25;
|
|
82
|
+
var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], {
|
|
83
|
+
showValue: true,
|
|
84
|
+
value: value,
|
|
85
|
+
overlay: true
|
|
86
|
+
})),
|
|
87
|
+
getByText = _render8.getByText,
|
|
88
|
+
getByRole = _render8.getByRole;
|
|
89
|
+
var progressBar = getByRole("progressbar");
|
|
90
|
+
expect(getByText("25 %")).toBeTruthy();
|
|
91
|
+
expect(progressBar.getAttribute("aria-valuenow")).toEqual(value.toString());
|
|
92
|
+
});
|
|
93
|
+
});
|