@dxc-technology/halstack-react 0.0.0-4e1277a → 0.0.0-4e3dbad
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 +1 -1
- package/HalstackContext.d.ts +42 -5
- package/HalstackContext.js +28 -18
- package/accordion/Accordion.accessibility.test.d.ts +1 -0
- package/accordion/Accordion.accessibility.test.js +71 -0
- package/accordion/Accordion.js +16 -30
- package/accordion/Accordion.stories.tsx +7 -49
- package/accordion/Accordion.test.d.ts +1 -0
- package/accordion/Accordion.test.js +3 -3
- package/accordion/types.d.ts +1 -1
- package/accordion-group/AccordionGroup.accessibility.test.d.ts +1 -0
- package/accordion-group/AccordionGroup.accessibility.test.js +82 -0
- package/accordion-group/AccordionGroup.js +1 -1
- package/accordion-group/AccordionGroup.stories.tsx +23 -23
- package/accordion-group/AccordionGroup.test.d.ts +1 -0
- package/accordion-group/AccordionGroup.test.js +5 -9
- package/accordion-group/AccordionGroupAccordion.js +1 -1
- package/accordion-group/types.d.ts +1 -1
- package/action-icon/ActionIcon.accessibility.test.d.ts +1 -0
- package/action-icon/ActionIcon.accessibility.test.js +63 -0
- package/action-icon/ActionIcon.js +4 -3
- package/action-icon/ActionIcon.stories.tsx +3 -3
- package/action-icon/ActionIcon.test.d.ts +1 -0
- package/action-icon/ActionIcon.test.js +1 -1
- package/action-icon/types.d.ts +1 -1
- package/alert/Alert.accessibility.test.d.ts +1 -0
- package/alert/Alert.accessibility.test.js +95 -0
- package/alert/Alert.js +21 -72
- package/alert/Alert.test.d.ts +1 -0
- package/alert/Alert.test.js +1 -1
- package/badge/Badge.accessibility.test.d.ts +1 -0
- package/badge/Badge.accessibility.test.js +129 -0
- package/badge/Badge.js +6 -4
- package/badge/Badge.stories.tsx +11 -11
- package/badge/Badge.test.d.ts +1 -0
- package/badge/Badge.test.js +2 -2
- package/badge/types.d.ts +1 -1
- package/bar-chart/BarChart.d.ts +4 -0
- package/bar-chart/BarChart.js +152 -0
- package/bar-chart/BarChart.stories.tsx +281 -0
- package/bar-chart/BarChart.test.d.ts +1 -0
- package/bar-chart/BarChart.test.js +194 -0
- package/bar-chart/theme.d.ts +3 -0
- package/bar-chart/theme.js +31 -0
- package/bar-chart/types.d.ts +118 -0
- package/bar-chart/types.js +5 -0
- package/bleed/Bleed.stories.tsx +0 -1
- package/box/Box.accessibility.test.d.ts +1 -0
- package/box/Box.accessibility.test.js +33 -0
- package/box/Box.js +1 -1
- package/box/Box.test.d.ts +1 -0
- package/box/Box.test.js +1 -1
- package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
- package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
- package/breadcrumbs/Breadcrumbs.d.ts +4 -0
- package/breadcrumbs/Breadcrumbs.js +79 -0
- package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
- package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
- package/breadcrumbs/Breadcrumbs.test.js +168 -0
- package/breadcrumbs/Item.d.ts +4 -0
- package/breadcrumbs/Item.js +52 -0
- package/breadcrumbs/dropdownTheme.d.ts +53 -0
- package/breadcrumbs/dropdownTheme.js +62 -0
- package/breadcrumbs/types.d.ts +40 -0
- package/breadcrumbs/types.js +5 -0
- package/bulleted-list/BulletedList.accessibility.test.d.ts +1 -0
- package/bulleted-list/BulletedList.accessibility.test.js +119 -0
- package/bulleted-list/BulletedList.js +7 -4
- package/bulleted-list/BulletedList.stories.tsx +1 -1
- package/button/Button.accessibility.test.d.ts +1 -0
- package/button/Button.accessibility.test.js +127 -0
- package/button/Button.js +2 -2
- package/button/Button.stories.tsx +3 -4
- package/button/Button.test.d.ts +1 -0
- package/button/Button.test.js +1 -1
- package/card/Card.accessibility.test.d.ts +1 -0
- package/card/Card.accessibility.test.js +36 -0
- package/card/Card.js +3 -2
- package/card/Card.stories.tsx +1 -1
- package/card/Card.test.d.ts +1 -0
- package/card/Card.test.js +1 -1
- package/checkbox/Checkbox.accessibility.test.d.ts +1 -0
- package/checkbox/Checkbox.accessibility.test.js +87 -0
- package/checkbox/Checkbox.js +10 -13
- package/checkbox/Checkbox.test.d.ts +1 -0
- package/checkbox/Checkbox.test.js +1 -1
- package/chip/Chip.accessibility.test.d.ts +1 -0
- package/chip/Chip.accessibility.test.js +67 -0
- package/chip/Chip.js +11 -6
- package/chip/Chip.stories.tsx +6 -25
- package/chip/Chip.test.d.ts +1 -0
- package/chip/Chip.test.js +5 -5
- package/common/coreTokens.d.ts +0 -1
- package/common/coreTokens.js +3 -4
- package/common/variables.d.ts +48 -5
- package/common/variables.js +110 -73
- package/container/Container.stories.tsx +3 -3
- package/container/types.d.ts +113 -11
- package/contextual-menu/ContextualMenu.accessibility.test.d.ts +1 -0
- package/contextual-menu/ContextualMenu.accessibility.test.js +98 -0
- package/contextual-menu/ContextualMenu.d.ts +3 -5
- package/contextual-menu/ContextualMenu.js +118 -53
- package/contextual-menu/ContextualMenu.stories.tsx +124 -75
- package/contextual-menu/ContextualMenu.test.d.ts +1 -0
- package/contextual-menu/ContextualMenu.test.js +200 -24
- package/contextual-menu/GroupItem.d.ts +4 -0
- package/contextual-menu/GroupItem.js +67 -0
- package/contextual-menu/ItemAction.d.ts +4 -0
- package/contextual-menu/ItemAction.js +88 -0
- package/contextual-menu/MenuItem.d.ts +4 -0
- package/contextual-menu/MenuItem.js +29 -0
- package/contextual-menu/SingleItem.d.ts +4 -0
- package/contextual-menu/SingleItem.js +38 -0
- package/contextual-menu/types.d.ts +54 -11
- package/date-input/Calendar.js +47 -31
- package/date-input/DateInput.accessibility.test.d.ts +1 -0
- package/date-input/DateInput.accessibility.test.js +229 -0
- package/date-input/DateInput.js +28 -23
- package/date-input/DateInput.stories.tsx +18 -12
- package/date-input/DateInput.test.d.ts +1 -0
- package/date-input/DateInput.test.js +39 -39
- package/date-input/DatePicker.js +13 -7
- package/date-input/YearPicker.js +10 -5
- package/dialog/Dialog.accessibility.test.d.ts +1 -0
- package/dialog/Dialog.accessibility.test.js +69 -0
- package/dialog/Dialog.js +9 -20
- package/dialog/Dialog.stories.tsx +8 -4
- package/dialog/Dialog.test.d.ts +1 -0
- package/dialog/Dialog.test.js +112 -49
- package/divider/Divider.accessibility.test.d.ts +1 -0
- package/divider/Divider.accessibility.test.js +33 -0
- package/divider/Divider.stories.tsx +2 -1
- package/divider/Divider.test.d.ts +1 -0
- package/dropdown/Dropdown.accessibility.test.d.ts +1 -0
- package/dropdown/Dropdown.accessibility.test.js +183 -0
- package/dropdown/Dropdown.js +31 -66
- package/dropdown/Dropdown.stories.tsx +16 -27
- package/dropdown/Dropdown.test.d.ts +1 -0
- package/dropdown/Dropdown.test.js +101 -72
- package/dropdown/DropdownMenu.js +4 -4
- package/dropdown/DropdownMenuItem.js +8 -4
- package/dropdown/types.d.ts +2 -4
- package/file-input/FileInput.accessibility.test.d.ts +1 -0
- package/file-input/FileInput.accessibility.test.js +167 -0
- package/file-input/FileInput.js +6 -47
- package/file-input/FileInput.test.d.ts +1 -0
- package/file-input/FileInput.test.js +51 -106
- package/file-input/FileItem.js +18 -28
- package/file-input/types.d.ts +0 -4
- package/footer/Footer.accessibility.test.d.ts +1 -0
- package/footer/Footer.accessibility.test.js +125 -0
- package/footer/Footer.js +8 -6
- package/footer/Footer.stories.tsx +40 -3
- package/footer/Footer.test.d.ts +1 -0
- package/footer/Footer.test.js +1 -1
- package/footer/Icons.js +2 -30
- package/footer/types.d.ts +1 -1
- package/grid/Grid.stories.tsx +3 -1
- package/header/Header.accessibility.test.d.ts +1 -0
- package/header/Header.accessibility.test.js +94 -0
- package/header/Header.js +12 -22
- package/header/Header.stories.tsx +17 -1
- package/header/Header.test.d.ts +1 -0
- package/header/Header.test.js +1 -1
- package/header/Icons.js +1 -6
- package/heading/Heading.accessibility.test.d.ts +1 -0
- package/heading/Heading.accessibility.test.js +33 -0
- package/heading/Heading.js +1 -1
- package/heading/Heading.test.d.ts +1 -0
- package/heading/Heading.test.js +1 -14
- package/icon/Icon.accessibility.test.d.ts +1 -0
- package/icon/Icon.accessibility.test.js +30 -0
- package/icon/Icon.js +1 -1
- package/icon/Icon.stories.tsx +6 -4
- package/image/Image.accessibility.test.d.ts +1 -0
- package/image/Image.accessibility.test.js +56 -0
- package/image/Image.js +1 -1
- package/layout/ApplicationLayout.js +9 -6
- package/layout/Icons.d.ts +0 -1
- package/layout/Icons.js +1 -11
- package/link/Link.accessibility.test.d.ts +1 -0
- package/link/Link.accessibility.test.js +108 -0
- package/link/Link.js +8 -6
- package/link/Link.stories.tsx +4 -4
- package/link/Link.test.d.ts +1 -0
- package/link/Link.test.js +1 -1
- package/link/types.d.ts +1 -1
- package/main.d.ts +3 -1
- package/main.js +15 -1
- package/nav-tabs/NavTabs.accessibility.test.d.ts +1 -0
- package/nav-tabs/NavTabs.accessibility.test.js +44 -0
- package/nav-tabs/NavTabs.js +19 -4
- package/nav-tabs/NavTabs.stories.tsx +41 -23
- package/nav-tabs/NavTabs.test.d.ts +1 -0
- package/nav-tabs/NavTabs.test.js +10 -9
- package/nav-tabs/Tab.js +17 -18
- package/nav-tabs/types.d.ts +1 -1
- package/number-input/NumberInput.accessibility.test.d.ts +1 -0
- package/number-input/NumberInput.accessibility.test.js +227 -0
- package/number-input/NumberInput.js +6 -3
- package/number-input/NumberInput.stories.tsx +11 -16
- package/number-input/NumberInput.test.d.ts +1 -0
- package/number-input/NumberInput.test.js +6 -7
- package/package.json +34 -28
- package/paginator/Paginator.accessibility.test.d.ts +1 -0
- package/paginator/Paginator.accessibility.test.js +78 -0
- package/paginator/Paginator.js +13 -10
- package/paginator/Paginator.test.d.ts +1 -0
- package/paginator/Paginator.test.js +2 -3
- package/paragraph/Paragraph.accessibility.test.d.ts +1 -0
- package/paragraph/Paragraph.accessibility.test.js +28 -0
- package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
- package/password-input/PasswordInput.accessibility.test.js +152 -0
- package/password-input/PasswordInput.js +11 -8
- package/password-input/PasswordInput.stories.tsx +10 -1
- package/password-input/PasswordInput.test.d.ts +1 -0
- package/password-input/PasswordInput.test.js +6 -7
- package/progress-bar/ProgressBar.accessibility.test.d.ts +1 -0
- package/progress-bar/ProgressBar.accessibility.test.js +35 -0
- package/progress-bar/ProgressBar.js +6 -4
- package/progress-bar/ProgressBar.test.d.ts +1 -0
- package/progress-bar/ProgressBar.test.js +1 -1
- package/quick-nav/QuickNav.accessibility.test.d.ts +1 -0
- package/quick-nav/QuickNav.accessibility.test.js +57 -0
- package/quick-nav/QuickNav.js +1 -1
- package/radio-group/Radio.js +6 -9
- package/radio-group/RadioGroup.accessibility.test.d.ts +1 -0
- package/radio-group/RadioGroup.accessibility.test.js +97 -0
- package/radio-group/RadioGroup.js +14 -16
- package/radio-group/RadioGroup.test.d.ts +1 -0
- package/radio-group/RadioGroup.test.js +3 -5
- package/resultset-table/ResultsetTable.accessibility.test.d.ts +1 -0
- package/resultset-table/ResultsetTable.accessibility.test.js +284 -0
- package/resultset-table/ResultsetTable.d.ts +1 -1
- package/resultset-table/ResultsetTable.js +47 -15
- package/resultset-table/ResultsetTable.stories.tsx +19 -3
- package/resultset-table/ResultsetTable.test.d.ts +1 -0
- package/resultset-table/ResultsetTable.test.js +111 -32
- package/resultset-table/types.d.ts +41 -13
- package/select/Listbox.d.ts +3 -3
- package/select/Listbox.js +33 -29
- package/select/Option.d.ts +3 -3
- package/select/Option.js +21 -15
- package/select/Select.accessibility.test.d.ts +1 -0
- package/select/Select.accessibility.test.js +227 -0
- package/select/Select.js +85 -192
- package/select/Select.stories.tsx +74 -117
- package/select/Select.test.d.ts +1 -0
- package/select/Select.test.js +348 -550
- package/select/selectUtils.d.ts +41 -0
- package/select/selectUtils.js +129 -0
- package/select/types.d.ts +1 -1
- package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
- package/sidenav/Sidenav.accessibility.test.js +59 -0
- package/sidenav/Sidenav.js +16 -12
- package/sidenav/Sidenav.stories.tsx +5 -10
- package/sidenav/Sidenav.test.d.ts +1 -0
- package/sidenav/Sidenav.test.js +1 -1
- package/sidenav/types.d.ts +2 -2
- package/slider/Slider.accessibility.test.d.ts +1 -0
- package/slider/Slider.accessibility.test.js +103 -0
- package/slider/Slider.js +11 -13
- package/slider/Slider.stories.tsx +180 -0
- package/slider/Slider.test.d.ts +1 -0
- package/slider/Slider.test.js +13 -11
- package/spinner/Spinner.accessibility.test.d.ts +1 -0
- package/spinner/Spinner.accessibility.test.js +96 -0
- package/spinner/Spinner.d.ts +1 -1
- package/spinner/Spinner.js +32 -47
- package/spinner/Spinner.test.d.ts +1 -0
- package/spinner/Spinner.test.js +1 -1
- package/status-light/StatusLight.accessibility.test.d.ts +1 -0
- package/status-light/StatusLight.accessibility.test.js +157 -0
- package/status-light/StatusLight.test.d.ts +1 -0
- package/status-light/StatusLight.test.js +1 -1
- package/switch/Switch.accessibility.test.d.ts +1 -0
- package/switch/Switch.accessibility.test.js +98 -0
- package/switch/Switch.js +6 -9
- package/switch/Switch.stories.tsx +12 -0
- package/switch/Switch.test.d.ts +1 -0
- package/switch/Switch.test.js +1 -1
- package/table/Table.accessibility.test.d.ts +1 -0
- package/table/Table.accessibility.test.js +92 -0
- package/table/Table.js +2 -11
- package/table/Table.stories.tsx +15 -10
- package/table/Table.test.d.ts +1 -0
- package/table/Table.test.js +2 -4
- package/table/types.d.ts +1 -15
- package/tabs/Tab.js +6 -5
- package/tabs/Tabs.accessibility.test.d.ts +1 -0
- package/tabs/Tabs.accessibility.test.js +56 -0
- package/tabs/Tabs.js +9 -20
- package/tabs/Tabs.stories.tsx +7 -3
- package/tabs/Tabs.test.d.ts +1 -0
- package/tabs/Tabs.test.js +20 -38
- package/tabs/types.d.ts +2 -2
- package/tag/Tag.accessibility.test.d.ts +1 -0
- package/tag/Tag.accessibility.test.js +69 -0
- package/tag/Tag.js +7 -7
- package/tag/Tag.stories.tsx +5 -8
- package/tag/Tag.test.d.ts +1 -0
- package/tag/Tag.test.js +5 -13
- package/tag/types.d.ts +2 -2
- package/text-input/Suggestion.js +1 -1
- package/text-input/Suggestions.js +17 -7
- package/text-input/TextInput.accessibility.test.d.ts +1 -0
- package/text-input/TextInput.accessibility.test.js +320 -0
- package/text-input/TextInput.js +56 -73
- package/text-input/TextInput.stories.tsx +20 -8
- package/text-input/TextInput.test.d.ts +1 -0
- package/text-input/TextInput.test.js +2 -3
- package/textarea/Textarea.accessibility.test.d.ts +1 -0
- package/textarea/Textarea.accessibility.test.js +155 -0
- package/textarea/Textarea.js +14 -13
- package/textarea/Textarea.test.d.ts +1 -0
- package/textarea/Textarea.test.js +1 -1
- package/toggle-group/ToggleGroup.accessibility.test.d.ts +1 -0
- package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
- package/toggle-group/ToggleGroup.js +10 -12
- package/toggle-group/ToggleGroup.stories.tsx +4 -4
- package/toggle-group/ToggleGroup.test.d.ts +1 -0
- package/toggle-group/ToggleGroup.test.js +1 -1
- package/toggle-group/types.d.ts +2 -2
- package/tooltip/Tooltip.accessibility.test.d.ts +1 -0
- package/tooltip/Tooltip.accessibility.test.js +144 -0
- package/tooltip/Tooltip.d.ts +4 -0
- package/tooltip/Tooltip.js +50 -0
- package/tooltip/Tooltip.stories.tsx +111 -0
- package/tooltip/Tooltip.test.d.ts +1 -0
- package/tooltip/Tooltip.test.js +112 -0
- package/tooltip/types.d.ts +16 -0
- package/tooltip/types.js +5 -0
- package/typography/Typography.accessibility.test.d.ts +1 -0
- package/typography/Typography.accessibility.test.js +339 -0
- package/typography/Typography.stories.tsx +1 -3
- package/typography/Typography.test.js +23 -0
- package/useTheme.d.ts +31 -5
- package/useTranslatedLabels.d.ts +11 -0
- package/utils/BaseTypography.js +45 -41
- package/utils/FocusLock.js +3 -2
- package/utils/useWidth.d.ts +2 -0
- package/utils/useWidth.js +30 -0
- package/wizard/Wizard.accessibility.test.d.ts +1 -0
- package/wizard/Wizard.accessibility.test.js +55 -0
- package/wizard/Wizard.js +14 -25
- package/wizard/Wizard.stories.tsx +20 -1
- package/wizard/Wizard.test.d.ts +1 -0
- package/wizard/Wizard.test.js +1 -1
- package/wizard/types.d.ts +1 -1
- package/contextual-menu/MenuItemAction.d.ts +0 -4
- package/contextual-menu/MenuItemAction.js +0 -46
- package/date-input/Icons.d.ts +0 -6
- package/date-input/Icons.js +0 -58
- package/paginator/Icons.d.ts +0 -5
- package/paginator/Icons.js +0 -40
- package/password-input/Icons.d.ts +0 -6
- package/password-input/Icons.js +0 -35
- package/select/Icons.d.ts +0 -10
- package/select/Icons.js +0 -89
- package/sidenav/Icons.d.ts +0 -7
- package/sidenav/Icons.js +0 -47
- package/text-input/Icons.d.ts +0 -8
- package/text-input/Icons.js +0 -56
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import DxcSlider from "./Slider";
|
|
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: "Slider",
|
|
9
|
+
component: DxcSlider,
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const labelFormat = (value) => `${value}E100000000000000000000000`;
|
|
13
|
+
|
|
14
|
+
const opinionatedTheme = {
|
|
15
|
+
slider: {
|
|
16
|
+
baseColor: "#0067b3",
|
|
17
|
+
fontColor: "#000000",
|
|
18
|
+
totalLineColor: "#e6e6e6",
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export const Chromatic = () => (
|
|
23
|
+
<>
|
|
24
|
+
<Title title="States" theme="light" level={2} />
|
|
25
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
26
|
+
<Title title="Hovered" theme="light" level={4} />
|
|
27
|
+
<DxcSlider label="Slider" helperText="Help message" showLimitsValues />
|
|
28
|
+
</ExampleContainer>
|
|
29
|
+
<ExampleContainer pseudoState="pseudo-active">
|
|
30
|
+
<Title title="Active" theme="light" level={4} />
|
|
31
|
+
<DxcSlider label="Slider" helperText="Help message" showLimitsValues />
|
|
32
|
+
</ExampleContainer>
|
|
33
|
+
<ExampleContainer pseudoState="pseudo-focus">
|
|
34
|
+
<Title title="Focused" theme="light" level={4} />
|
|
35
|
+
<DxcSlider label="Slider" helperText="Help message" showLimitsValues />
|
|
36
|
+
</ExampleContainer>
|
|
37
|
+
<ExampleContainer>
|
|
38
|
+
<Title title="Disabled" theme="light" level={4} />
|
|
39
|
+
<DxcSlider label="Slider" helperText="Help message" disabled showLimitsValues />
|
|
40
|
+
</ExampleContainer>
|
|
41
|
+
<ExampleContainer>
|
|
42
|
+
<Title title="Disabled discrete slider with input" theme="light" level={4} />
|
|
43
|
+
<DxcSlider
|
|
44
|
+
label="Slider"
|
|
45
|
+
helperText="Help message"
|
|
46
|
+
disabled
|
|
47
|
+
defaultValue={40}
|
|
48
|
+
minValue={0}
|
|
49
|
+
maxValue={50}
|
|
50
|
+
showLimitsValues
|
|
51
|
+
showInput
|
|
52
|
+
marks
|
|
53
|
+
step={10}
|
|
54
|
+
/>
|
|
55
|
+
</ExampleContainer>
|
|
56
|
+
<Title title="Variants" theme="light" level={2} />
|
|
57
|
+
<ExampleContainer>
|
|
58
|
+
<Title title="Continuous slider" theme="light" level={4} />
|
|
59
|
+
<DxcSlider defaultValue={65} label="Slider" helperText="Help message" showLimitsValues />
|
|
60
|
+
</ExampleContainer>
|
|
61
|
+
<ExampleContainer>
|
|
62
|
+
<Title title="Discrete slider" theme="light" level={4} />
|
|
63
|
+
<DxcSlider defaultValue={20} label="Slider" helperText="Help message" showLimitsValues marks step={5} />
|
|
64
|
+
</ExampleContainer>
|
|
65
|
+
<ExampleContainer>
|
|
66
|
+
<Title title="Discrete slider with input" theme="light" level={4} />
|
|
67
|
+
<DxcSlider
|
|
68
|
+
defaultValue={20}
|
|
69
|
+
minValue={0}
|
|
70
|
+
maxValue={50}
|
|
71
|
+
label="Slider"
|
|
72
|
+
helperText="Help message"
|
|
73
|
+
showLimitsValues
|
|
74
|
+
showInput
|
|
75
|
+
marks
|
|
76
|
+
step={10}
|
|
77
|
+
/>
|
|
78
|
+
</ExampleContainer>
|
|
79
|
+
<Title title="Margins" theme="light" level={2} />
|
|
80
|
+
<ExampleContainer>
|
|
81
|
+
<Title title="Xxsmall" theme="light" level={4} />
|
|
82
|
+
<DxcSlider label="Xxsmall" margin="xxsmall" />
|
|
83
|
+
</ExampleContainer>
|
|
84
|
+
<ExampleContainer>
|
|
85
|
+
<Title title="Xsmall" theme="light" level={4} />
|
|
86
|
+
<DxcSlider label="Xsmall" margin="xsmall" />
|
|
87
|
+
</ExampleContainer>
|
|
88
|
+
<ExampleContainer>
|
|
89
|
+
<Title title="Small" theme="light" level={4} />
|
|
90
|
+
<DxcSlider label="Small" margin="small" />
|
|
91
|
+
</ExampleContainer>
|
|
92
|
+
<ExampleContainer>
|
|
93
|
+
<Title title="Medium" theme="light" level={4} />
|
|
94
|
+
<DxcSlider label="Medium" margin="medium" />
|
|
95
|
+
</ExampleContainer>
|
|
96
|
+
<ExampleContainer>
|
|
97
|
+
<Title title="Large" theme="light" level={4} />
|
|
98
|
+
<DxcSlider label="Large" margin="large" />
|
|
99
|
+
</ExampleContainer>
|
|
100
|
+
<ExampleContainer>
|
|
101
|
+
<Title title="Xlarge" theme="light" level={4} />
|
|
102
|
+
<DxcSlider label="Xlarge" margin="xlarge" />
|
|
103
|
+
</ExampleContainer>
|
|
104
|
+
<ExampleContainer>
|
|
105
|
+
<Title title="Xxlarge" theme="light" level={4} />
|
|
106
|
+
<DxcSlider label="Xxlarge" margin="xxlarge" />
|
|
107
|
+
</ExampleContainer>
|
|
108
|
+
<Title title="Sizes" theme="light" level={2} />
|
|
109
|
+
<ExampleContainer>
|
|
110
|
+
<Title title="Medium" theme="light" level={4} />
|
|
111
|
+
<DxcSlider label="Medium" size="medium" />
|
|
112
|
+
</ExampleContainer>
|
|
113
|
+
<ExampleContainer>
|
|
114
|
+
<Title title="Large" theme="light" level={4} />
|
|
115
|
+
<DxcSlider label="Large" size="large" />
|
|
116
|
+
</ExampleContainer>
|
|
117
|
+
<ExampleContainer>
|
|
118
|
+
<Title title="FillParent" theme="light" level={4} />
|
|
119
|
+
<DxcSlider label="FillParent" size="fillParent" />
|
|
120
|
+
</ExampleContainer>
|
|
121
|
+
<ExampleContainer>
|
|
122
|
+
<Title title="Large limit values labels" theme="light" level={4} />
|
|
123
|
+
<DxcSlider
|
|
124
|
+
label="Slider"
|
|
125
|
+
helperText="Help message"
|
|
126
|
+
showLimitsValues
|
|
127
|
+
labelFormatCallback={labelFormat}
|
|
128
|
+
size="large"
|
|
129
|
+
/>
|
|
130
|
+
</ExampleContainer>
|
|
131
|
+
<Title title="Opinionated theme" theme="light" level={2} />
|
|
132
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
133
|
+
<Title title="Hovered" theme="light" level={4} />
|
|
134
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
135
|
+
<DxcSlider label="Slider" helperText="Help message" showLimitsValues />
|
|
136
|
+
</HalstackProvider>
|
|
137
|
+
</ExampleContainer>
|
|
138
|
+
<ExampleContainer pseudoState="pseudo-active">
|
|
139
|
+
<Title title="Active" theme="light" level={4} />
|
|
140
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
141
|
+
<DxcSlider label="Slider" helperText="Help message" showLimitsValues />
|
|
142
|
+
</HalstackProvider>
|
|
143
|
+
</ExampleContainer>
|
|
144
|
+
<ExampleContainer pseudoState="pseudo-focus">
|
|
145
|
+
<Title title="Focused" theme="light" level={4} />
|
|
146
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
147
|
+
<DxcSlider label="Slider" helperText="Help message" showLimitsValues />
|
|
148
|
+
</HalstackProvider>
|
|
149
|
+
</ExampleContainer>
|
|
150
|
+
<ExampleContainer>
|
|
151
|
+
<Title title="Disabled discrete slider with input" theme="light" level={4} />{" "}
|
|
152
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
153
|
+
<DxcSlider
|
|
154
|
+
label="Slider"
|
|
155
|
+
helperText="Help message"
|
|
156
|
+
disabled
|
|
157
|
+
defaultValue={40}
|
|
158
|
+
minValue={0}
|
|
159
|
+
maxValue={50}
|
|
160
|
+
showLimitsValues
|
|
161
|
+
showInput
|
|
162
|
+
marks
|
|
163
|
+
step={10}
|
|
164
|
+
/>
|
|
165
|
+
</HalstackProvider>
|
|
166
|
+
</ExampleContainer>
|
|
167
|
+
<ExampleContainer>
|
|
168
|
+
<Title title="Continuous slider" theme="light" level={4} />
|
|
169
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
170
|
+
<DxcSlider defaultValue={65} label="Slider" helperText="Help message" showLimitsValues />
|
|
171
|
+
</HalstackProvider>
|
|
172
|
+
</ExampleContainer>
|
|
173
|
+
<ExampleContainer>
|
|
174
|
+
<Title title="Discrete slider" theme="light" level={4} />
|
|
175
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
176
|
+
<DxcSlider defaultValue={20} label="Slider" helperText="Help message" showLimitsValues marks step={5} />
|
|
177
|
+
</HalstackProvider>
|
|
178
|
+
</ExampleContainer>
|
|
179
|
+
</>
|
|
180
|
+
);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/slider/Slider.test.js
CHANGED
|
@@ -6,7 +6,7 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
|
|
|
6
6
|
var _react = _interopRequireDefault(require("react"));
|
|
7
7
|
var _react2 = require("@testing-library/react");
|
|
8
8
|
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
9
|
-
var _Slider = _interopRequireDefault(require("./Slider
|
|
9
|
+
var _Slider = _interopRequireDefault(require("./Slider"));
|
|
10
10
|
// Mocking DOMRect for Radix Primitive Popover
|
|
11
11
|
global.globalThis = global;
|
|
12
12
|
global.DOMRect = {
|
|
@@ -25,7 +25,7 @@ global.ResizeObserver = /*#__PURE__*/function () {
|
|
|
25
25
|
function ResizeObserver() {
|
|
26
26
|
(0, _classCallCheck2["default"])(this, ResizeObserver);
|
|
27
27
|
}
|
|
28
|
-
(0, _createClass2["default"])(ResizeObserver, [{
|
|
28
|
+
return (0, _createClass2["default"])(ResizeObserver, [{
|
|
29
29
|
key: "observe",
|
|
30
30
|
value: function observe() {}
|
|
31
31
|
}, {
|
|
@@ -35,7 +35,6 @@ global.ResizeObserver = /*#__PURE__*/function () {
|
|
|
35
35
|
key: "disconnect",
|
|
36
36
|
value: function disconnect() {}
|
|
37
37
|
}]);
|
|
38
|
-
return ResizeObserver;
|
|
39
38
|
}();
|
|
40
39
|
describe("Slider component tests", function () {
|
|
41
40
|
test("Slider renders with correct text and label id", function () {
|
|
@@ -101,10 +100,11 @@ describe("Slider component tests", function () {
|
|
|
101
100
|
showInput: true
|
|
102
101
|
})),
|
|
103
102
|
getByRole = _render4.getByRole;
|
|
103
|
+
var input = getByRole("textbox");
|
|
104
104
|
expect(getByRole("slider").getAttribute("aria-valuenow")).toBe("13");
|
|
105
|
-
expect(
|
|
105
|
+
expect(input.value).toBe("13");
|
|
106
106
|
(0, _react2.act)(function () {
|
|
107
|
-
_react2.fireEvent.change(
|
|
107
|
+
_react2.fireEvent.change(input, {
|
|
108
108
|
target: {
|
|
109
109
|
value: 25
|
|
110
110
|
}
|
|
@@ -112,7 +112,7 @@ describe("Slider component tests", function () {
|
|
|
112
112
|
});
|
|
113
113
|
expect(onChange).toHaveBeenCalledWith(25);
|
|
114
114
|
expect(getByRole("slider").getAttribute("aria-valuenow")).toBe("13");
|
|
115
|
-
expect(
|
|
115
|
+
expect(input.value).toBe("13");
|
|
116
116
|
});
|
|
117
117
|
test("Calls correct function onChange in uncontrolled slider", function () {
|
|
118
118
|
var onChange = jest.fn();
|
|
@@ -124,8 +124,9 @@ describe("Slider component tests", function () {
|
|
|
124
124
|
showInput: true
|
|
125
125
|
})),
|
|
126
126
|
getByRole = _render5.getByRole;
|
|
127
|
+
var input = getByRole("textbox");
|
|
127
128
|
(0, _react2.act)(function () {
|
|
128
|
-
_react2.fireEvent.change(
|
|
129
|
+
_react2.fireEvent.change(input, {
|
|
129
130
|
target: {
|
|
130
131
|
value: 25
|
|
131
132
|
}
|
|
@@ -133,7 +134,7 @@ describe("Slider component tests", function () {
|
|
|
133
134
|
});
|
|
134
135
|
expect(onChange).toHaveBeenCalledWith(25);
|
|
135
136
|
expect(getByRole("slider").getAttribute("aria-valuenow")).toBe("25");
|
|
136
|
-
expect(
|
|
137
|
+
expect(input.value).toBe("25");
|
|
137
138
|
});
|
|
138
139
|
test("Disabled slider have disabled input and slider", function () {
|
|
139
140
|
var onChange = jest.fn();
|
|
@@ -147,15 +148,16 @@ describe("Slider component tests", function () {
|
|
|
147
148
|
value: 13
|
|
148
149
|
})),
|
|
149
150
|
getByRole = _render6.getByRole;
|
|
151
|
+
var input = getByRole("textbox");
|
|
150
152
|
(0, _react2.act)(function () {
|
|
151
|
-
_react2.fireEvent.change(
|
|
153
|
+
_react2.fireEvent.change(input, {
|
|
152
154
|
target: {
|
|
153
155
|
value: 25
|
|
154
156
|
}
|
|
155
157
|
});
|
|
156
158
|
});
|
|
157
|
-
expect(
|
|
158
|
-
expect(
|
|
159
|
+
expect(input.hasAttribute("disabled")).toBeTruthy();
|
|
160
|
+
expect(input.value).toBe("13");
|
|
159
161
|
expect(getByRole("slider").hasAttribute("disabled")).toBeTruthy();
|
|
160
162
|
});
|
|
161
163
|
test("Calls correct function onDragEnd when it is uncontrolled", function () {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
5
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
6
|
+
var _react = _interopRequireDefault(require("react"));
|
|
7
|
+
var _react2 = require("@testing-library/react");
|
|
8
|
+
var _axeHelper = require("../../test/accessibility/axe-helper.js");
|
|
9
|
+
var _Spinner = _interopRequireDefault(require("./Spinner"));
|
|
10
|
+
var _Flex = _interopRequireDefault(require("../flex/Flex"));
|
|
11
|
+
describe("Spinner component accessibility tests", function () {
|
|
12
|
+
it("Should not have basic accessibility issues for overlay mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
13
|
+
var _render, container, results;
|
|
14
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
15
|
+
while (1) switch (_context.prev = _context.next) {
|
|
16
|
+
case 0:
|
|
17
|
+
_render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Flex["default"], null, /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
|
|
18
|
+
label: "test-loading",
|
|
19
|
+
margin: "medium",
|
|
20
|
+
mode: "overlay",
|
|
21
|
+
value: 50,
|
|
22
|
+
showValue: true
|
|
23
|
+
}), /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
|
|
24
|
+
label: "test-loading",
|
|
25
|
+
margin: "medium",
|
|
26
|
+
mode: "overlay",
|
|
27
|
+
value: 50
|
|
28
|
+
}))), container = _render.container;
|
|
29
|
+
_context.next = 3;
|
|
30
|
+
return (0, _axeHelper.axe)(container);
|
|
31
|
+
case 3:
|
|
32
|
+
results = _context.sent;
|
|
33
|
+
expect(results).toHaveNoViolations();
|
|
34
|
+
case 5:
|
|
35
|
+
case "end":
|
|
36
|
+
return _context.stop();
|
|
37
|
+
}
|
|
38
|
+
}, _callee);
|
|
39
|
+
})));
|
|
40
|
+
it("Should not have basic accessibility issues for large mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
41
|
+
var _render2, container, results;
|
|
42
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
43
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
44
|
+
case 0:
|
|
45
|
+
_render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Flex["default"], null, /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
|
|
46
|
+
label: "test-loading",
|
|
47
|
+
margin: "medium",
|
|
48
|
+
mode: "large",
|
|
49
|
+
value: 50,
|
|
50
|
+
showValue: true
|
|
51
|
+
}), /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
|
|
52
|
+
label: "test-loading",
|
|
53
|
+
margin: "medium",
|
|
54
|
+
mode: "large",
|
|
55
|
+
value: 50
|
|
56
|
+
}))), container = _render2.container;
|
|
57
|
+
_context2.next = 3;
|
|
58
|
+
return (0, _axeHelper.axe)(container);
|
|
59
|
+
case 3:
|
|
60
|
+
results = _context2.sent;
|
|
61
|
+
expect(results).toHaveNoViolations();
|
|
62
|
+
case 5:
|
|
63
|
+
case "end":
|
|
64
|
+
return _context2.stop();
|
|
65
|
+
}
|
|
66
|
+
}, _callee2);
|
|
67
|
+
})));
|
|
68
|
+
it("Should not have basic accessibility issues for small mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
69
|
+
var _render3, container, results;
|
|
70
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
71
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
72
|
+
case 0:
|
|
73
|
+
_render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Flex["default"], null, /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
|
|
74
|
+
label: "test-loading",
|
|
75
|
+
margin: "medium",
|
|
76
|
+
mode: "small",
|
|
77
|
+
value: 50,
|
|
78
|
+
showValue: true
|
|
79
|
+
}), /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
|
|
80
|
+
label: "test-loading",
|
|
81
|
+
margin: "medium",
|
|
82
|
+
mode: "small",
|
|
83
|
+
value: 50
|
|
84
|
+
}))), container = _render3.container;
|
|
85
|
+
_context3.next = 3;
|
|
86
|
+
return (0, _axeHelper.axe)(container);
|
|
87
|
+
case 3:
|
|
88
|
+
results = _context3.sent;
|
|
89
|
+
expect(results).toHaveNoViolations();
|
|
90
|
+
case 5:
|
|
91
|
+
case "end":
|
|
92
|
+
return _context3.stop();
|
|
93
|
+
}
|
|
94
|
+
}, _callee3);
|
|
95
|
+
})));
|
|
96
|
+
});
|
package/spinner/Spinner.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import SpinnerPropsType from "./types";
|
|
3
|
-
declare const DxcSpinner: ({ label, value, showValue, mode, margin
|
|
3
|
+
declare const DxcSpinner: ({ label, value, showValue, mode, margin }: SpinnerPropsType) => JSX.Element;
|
|
4
4
|
export default DxcSpinner;
|
package/spinner/Spinner.js
CHANGED
|
@@ -8,23 +8,26 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports["default"] = void 0;
|
|
9
9
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
10
10
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
11
|
-
var _react =
|
|
11
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
12
12
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
13
13
|
var _variables = require("../common/variables");
|
|
14
14
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
15
15
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12;
|
|
16
16
|
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); }
|
|
17
|
-
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 &&
|
|
17
|
+
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 && {}.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; }
|
|
18
18
|
var DxcSpinner = function DxcSpinner(_ref) {
|
|
19
|
-
var
|
|
20
|
-
label = _ref$label === void 0 ? "" : _ref$label,
|
|
19
|
+
var label = _ref.label,
|
|
21
20
|
value = _ref.value,
|
|
22
21
|
_ref$showValue = _ref.showValue,
|
|
23
22
|
showValue = _ref$showValue === void 0 ? false : _ref$showValue,
|
|
24
23
|
_ref$mode = _ref.mode,
|
|
25
24
|
mode = _ref$mode === void 0 ? "large" : _ref$mode,
|
|
26
25
|
margin = _ref.margin;
|
|
26
|
+
var labelId = (0, _react.useId)();
|
|
27
27
|
var colorsTheme = (0, _useTheme["default"])();
|
|
28
|
+
var determinated = (0, _react.useMemo)(function () {
|
|
29
|
+
return value >= 0 && value <= 100;
|
|
30
|
+
}, [value]);
|
|
28
31
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
29
32
|
theme: colorsTheme.spinner
|
|
30
33
|
}, /*#__PURE__*/_react["default"].createElement(DXCSpinner, {
|
|
@@ -32,65 +35,49 @@ var DxcSpinner = function DxcSpinner(_ref) {
|
|
|
32
35
|
mode: mode
|
|
33
36
|
}, /*#__PURE__*/_react["default"].createElement(SpinnerContainer, {
|
|
34
37
|
mode: mode
|
|
35
|
-
}, mode === "overlay" && /*#__PURE__*/_react["default"].createElement(BackOverlay, null), /*#__PURE__*/_react["default"].createElement(BackgroundSpinner, null, mode
|
|
36
|
-
viewBox: "0 0 140 140"
|
|
37
|
-
}, /*#__PURE__*/_react["default"].createElement(CircleBackground, {
|
|
38
|
-
cx: "70",
|
|
39
|
-
cy: "70",
|
|
40
|
-
r: "65",
|
|
41
|
-
mode: mode
|
|
42
|
-
})), mode === "small" && /*#__PURE__*/_react["default"].createElement(SVGBackground, {
|
|
38
|
+
}, mode === "overlay" && /*#__PURE__*/_react["default"].createElement(BackOverlay, null), /*#__PURE__*/_react["default"].createElement(BackgroundSpinner, null, mode === "small" ? /*#__PURE__*/_react["default"].createElement(SVGBackground, {
|
|
43
39
|
viewBox: "0 0 16 16"
|
|
44
40
|
}, /*#__PURE__*/_react["default"].createElement(CircleBackground, {
|
|
45
41
|
cx: "8",
|
|
46
42
|
cy: "8",
|
|
47
43
|
r: "6",
|
|
48
44
|
mode: mode
|
|
49
|
-
}))
|
|
50
|
-
|
|
51
|
-
},
|
|
52
|
-
viewBox: "0 0 140 140",
|
|
53
|
-
isDeterminated: true
|
|
54
|
-
}, /*#__PURE__*/_react["default"].createElement(CircleSpinner, {
|
|
45
|
+
})) : /*#__PURE__*/_react["default"].createElement(SVGBackground, {
|
|
46
|
+
viewBox: "0 0 140 140"
|
|
47
|
+
}, /*#__PURE__*/_react["default"].createElement(CircleBackground, {
|
|
55
48
|
cx: "70",
|
|
56
49
|
cy: "70",
|
|
57
50
|
r: "65",
|
|
58
|
-
mode: mode
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
51
|
+
mode: mode
|
|
52
|
+
}))), /*#__PURE__*/_react["default"].createElement(Spinner, {
|
|
53
|
+
role: "progressbar",
|
|
54
|
+
"aria-valuenow": determinated && showValue ? value : undefined,
|
|
55
|
+
"aria-valuemin": determinated ? 0 : undefined,
|
|
56
|
+
"aria-valuemax": determinated ? 100 : undefined,
|
|
57
|
+
"aria-labelledby": label && mode !== "small" ? labelId : undefined,
|
|
58
|
+
"aria-label": !label ? "Loading indicator" : mode === "small" ? label : undefined
|
|
59
|
+
}, mode === "small" ? /*#__PURE__*/_react["default"].createElement(SVGSpinner, {
|
|
62
60
|
viewBox: "0 0 16 16",
|
|
63
|
-
|
|
61
|
+
determinated: determinated
|
|
64
62
|
}, /*#__PURE__*/_react["default"].createElement(CircleSpinner, {
|
|
65
63
|
cx: "8",
|
|
66
64
|
cy: "8",
|
|
67
65
|
r: "6",
|
|
68
66
|
mode: mode,
|
|
69
|
-
|
|
67
|
+
determinated: determinated,
|
|
70
68
|
value: value
|
|
71
|
-
}))
|
|
72
|
-
role: "progressbar"
|
|
73
|
-
}, mode !== "small" && /*#__PURE__*/_react["default"].createElement(SVGSpinner, {
|
|
69
|
+
})) : /*#__PURE__*/_react["default"].createElement(SVGSpinner, {
|
|
74
70
|
viewBox: "0 0 140 140",
|
|
75
|
-
|
|
71
|
+
determinated: determinated
|
|
76
72
|
}, /*#__PURE__*/_react["default"].createElement(CircleSpinner, {
|
|
77
73
|
cx: "70",
|
|
78
74
|
cy: "70",
|
|
79
75
|
r: "65",
|
|
80
76
|
mode: mode,
|
|
81
|
-
|
|
82
|
-
value: value
|
|
83
|
-
})), mode === "small" && /*#__PURE__*/_react["default"].createElement(SVGSpinner, {
|
|
84
|
-
viewBox: "0 0 16 16",
|
|
85
|
-
isDeterminated: false
|
|
86
|
-
}, /*#__PURE__*/_react["default"].createElement(CircleSpinner, {
|
|
87
|
-
cx: "8",
|
|
88
|
-
cy: "8",
|
|
89
|
-
r: "6",
|
|
90
|
-
mode: mode,
|
|
91
|
-
isDeterminated: false,
|
|
77
|
+
determinated: determinated,
|
|
92
78
|
value: value
|
|
93
79
|
}))), mode !== "small" && /*#__PURE__*/_react["default"].createElement(LabelsContainer, null, /*#__PURE__*/_react["default"].createElement(SpinnerLabel, {
|
|
80
|
+
id: labelId,
|
|
94
81
|
mode: mode
|
|
95
82
|
}, label), (value || value === 0) && showValue && /*#__PURE__*/_react["default"].createElement(SpinnerProgress, {
|
|
96
83
|
value: value,
|
|
@@ -100,9 +87,7 @@ var DxcSpinner = function DxcSpinner(_ref) {
|
|
|
100
87
|
};
|
|
101
88
|
var determinateValue = function determinateValue(value, strokeDashArray) {
|
|
102
89
|
var val = 0;
|
|
103
|
-
if (value >= 0 && value <= 100)
|
|
104
|
-
val = strokeDashArray * (1 - value / 100);
|
|
105
|
-
}
|
|
90
|
+
if (value >= 0 && value <= 100) val = strokeDashArray * (1 - value / 100);
|
|
106
91
|
return val;
|
|
107
92
|
};
|
|
108
93
|
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) {
|
|
@@ -155,22 +140,22 @@ var CircleBackground = _styledComponents["default"].circle(_templateObject6 || (
|
|
|
155
140
|
});
|
|
156
141
|
var Spinner = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n height: inherit;\n width: inherit;\n position: relative;\n"])));
|
|
157
142
|
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) {
|
|
158
|
-
return !props.
|
|
143
|
+
return !props.determinated ? "1.4s linear infinite both spinner-svg" : "";
|
|
159
144
|
});
|
|
160
145
|
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) {
|
|
161
|
-
return props.
|
|
146
|
+
return props.determinated ? "none" : props.mode !== "small" ? "1.4s ease-in-out infinite both svg-circle-large" : "1.4s ease-in-out infinite both svg-circle-small";
|
|
162
147
|
}, function (props) {
|
|
163
148
|
return props.mode === "overlay" ? props.theme.trackCircleColorOverlay : props.theme.trackCircleColor;
|
|
164
149
|
}, function (props) {
|
|
165
|
-
return !props.
|
|
150
|
+
return !props.determinated ? "50% 50%" : "";
|
|
166
151
|
}, function (props) {
|
|
167
152
|
return props.mode !== "small" ? "409" : "38";
|
|
168
153
|
}, function (props) {
|
|
169
154
|
return props.mode !== "small" ? "8.5px" : "2px";
|
|
170
155
|
}, function (props) {
|
|
171
|
-
return props.
|
|
156
|
+
return props.determinated ? props.mode !== "small" ? determinateValue(props.value, 409) : determinateValue(props.value, 38) : "";
|
|
172
157
|
});
|
|
173
|
-
var LabelsContainer = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
158
|
+
var LabelsContainer = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n margin: 0 auto;\n width: 110px;\n text-align: center;\n"])));
|
|
174
159
|
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) {
|
|
175
160
|
return props.mode === "overlay" ? props.theme.overlayLabelFontFamily : props.theme.labelFontFamily;
|
|
176
161
|
}, function (props) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/spinner/Spinner.test.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
var _react = _interopRequireDefault(require("react"));
|
|
5
5
|
var _react2 = require("@testing-library/react");
|
|
6
|
-
var _Spinner = _interopRequireDefault(require("./Spinner
|
|
6
|
+
var _Spinner = _interopRequireDefault(require("./Spinner"));
|
|
7
7
|
describe("Spinner component tests", function () {
|
|
8
8
|
test("Spinner renders with correct label", function () {
|
|
9
9
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|