@dxc-technology/halstack-react 0.0.0-59b9187 → 0.0.0-5a4d834
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 +41 -3
- package/HalstackContext.js +28 -18
- package/accordion/Accordion.accessibility.test.d.ts +1 -0
- package/accordion/Accordion.accessibility.test.js +4 -4
- package/accordion/Accordion.js +6 -9
- package/accordion/Accordion.stories.tsx +4 -14
- package/accordion/Accordion.test.d.ts +1 -0
- package/accordion/Accordion.test.js +3 -3
- package/accordion-group/AccordionGroup.accessibility.test.d.ts +1 -0
- package/accordion-group/AccordionGroup.accessibility.test.js +11 -17
- 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/action-icon/ActionIcon.accessibility.test.d.ts +1 -0
- package/action-icon/ActionIcon.accessibility.test.js +4 -4
- package/action-icon/ActionIcon.test.d.ts +1 -0
- package/action-icon/ActionIcon.test.js +1 -1
- package/alert/Alert.accessibility.test.d.ts +1 -0
- package/alert/Alert.accessibility.test.js +6 -6
- package/alert/Alert.js +7 -4
- 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 +5 -5
- package/badge/Badge.test.d.ts +1 -0
- package/badge/Badge.test.js +2 -2
- 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 +137 -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 +3 -3
- 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 +18 -6
- package/bulleted-list/BulletedList.js +1 -1
- package/button/Button.accessibility.test.d.ts +1 -0
- package/button/Button.accessibility.test.js +6 -6
- package/button/Button.js +1 -1
- package/button/Button.stories.tsx +3 -3
- 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 +3 -3
- 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 +5 -5
- 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 +4 -4
- package/chip/Chip.js +3 -1
- package/chip/Chip.stories.tsx +1 -1
- package/chip/Chip.test.d.ts +1 -0
- package/chip/Chip.test.js +1 -1
- package/common/coreTokens.d.ts +0 -1
- package/common/coreTokens.js +3 -4
- package/common/variables.d.ts +47 -3
- package/common/variables.js +109 -71
- 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 +15 -3
- 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 +24 -11
- package/date-input/DateInput.js +27 -21
- 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 +1 -1
- package/date-input/YearPicker.js +10 -5
- package/dialog/Dialog.accessibility.test.d.ts +1 -0
- package/dialog/Dialog.accessibility.test.js +5 -5
- package/dialog/Dialog.js +3 -2
- package/dialog/Dialog.stories.tsx +8 -4
- package/dialog/Dialog.test.d.ts +1 -0
- package/dialog/Dialog.test.js +111 -48
- package/divider/Divider.accessibility.test.d.ts +1 -0
- package/divider/Divider.accessibility.test.js +2 -2
- 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 +12 -9
- package/dropdown/Dropdown.js +19 -37
- package/dropdown/Dropdown.stories.tsx +11 -11
- 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 +2 -1
- package/file-input/FileInput.accessibility.test.d.ts +1 -0
- package/file-input/FileInput.accessibility.test.js +30 -23
- package/file-input/FileInput.js +3 -8
- package/file-input/FileInput.test.d.ts +1 -0
- package/file-input/FileInput.test.js +44 -22
- package/file-input/FileItem.js +7 -3
- package/file-input/types.d.ts +0 -4
- package/footer/Footer.accessibility.test.d.ts +1 -0
- package/footer/Footer.accessibility.test.js +13 -5
- package/footer/Footer.js +1 -1
- package/footer/Footer.stories.tsx +12 -0
- package/footer/Footer.test.d.ts +1 -0
- package/footer/Footer.test.js +1 -1
- package/footer/Icons.js +2 -30
- package/grid/Grid.stories.tsx +3 -1
- package/header/Header.accessibility.test.d.ts +1 -0
- package/header/Header.accessibility.test.js +16 -6
- package/header/Header.js +3 -2
- 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 +3 -3
- 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 +2 -2
- package/icon/Icon.js +1 -1
- package/icon/Icon.stories.tsx +1 -1
- package/image/Image.accessibility.test.d.ts +1 -0
- package/image/Image.accessibility.test.js +3 -3
- package/image/Image.js +1 -1
- package/layout/ApplicationLayout.js +4 -4
- package/link/Link.accessibility.test.d.ts +1 -0
- package/link/Link.accessibility.test.js +8 -12
- package/link/Link.js +1 -1
- package/link/Link.stories.tsx +2 -2
- package/link/Link.test.d.ts +1 -0
- package/link/Link.test.js +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 +3 -3
- package/nav-tabs/NavTabs.js +19 -4
- package/nav-tabs/NavTabs.stories.tsx +18 -3
- package/nav-tabs/NavTabs.test.d.ts +1 -0
- package/nav-tabs/NavTabs.test.js +9 -7
- package/nav-tabs/Tab.js +7 -7
- package/number-input/NumberInput.accessibility.test.d.ts +1 -0
- package/number-input/NumberInput.accessibility.test.js +9 -10
- 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 +27 -21
- package/paginator/Paginator.accessibility.test.d.ts +1 -0
- package/paginator/Paginator.accessibility.test.js +4 -5
- package/paginator/Paginator.js +9 -5
- 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 +2 -2
- package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
- package/password-input/PasswordInput.accessibility.test.js +7 -8
- package/password-input/PasswordInput.js +11 -7
- 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 +3 -3
- 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 +2 -2
- 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 +4 -4
- 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 +16 -6
- package/resultset-table/ResultsetTable.js +41 -13
- package/resultset-table/ResultsetTable.stories.tsx +14 -2
- package/resultset-table/ResultsetTable.test.d.ts +1 -0
- package/resultset-table/ResultsetTable.test.js +103 -34
- package/resultset-table/types.d.ts +4 -3
- package/select/Listbox.d.ts +3 -3
- package/select/Listbox.js +29 -27
- package/select/Option.d.ts +3 -3
- package/select/Option.js +13 -8
- package/select/Select.accessibility.test.d.ts +1 -0
- package/select/Select.accessibility.test.js +18 -8
- package/select/Select.js +75 -190
- package/select/Select.stories.tsx +41 -20
- package/select/Select.test.d.ts +1 -0
- package/select/Select.test.js +42 -150
- package/select/selectUtils.d.ts +41 -0
- package/select/selectUtils.js +129 -0
- package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
- package/sidenav/Sidenav.accessibility.test.js +3 -3
- package/sidenav/Sidenav.js +1 -1
- package/sidenav/Sidenav.stories.tsx +1 -1
- package/sidenav/Sidenav.test.d.ts +1 -0
- package/sidenav/Sidenav.test.js +1 -1
- package/slider/Slider.accessibility.test.d.ts +1 -0
- package/slider/Slider.accessibility.test.js +5 -6
- 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 +6 -6
- 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 +8 -8
- 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 +14 -5
- 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 +16 -6
- package/table/Table.js +1 -1
- package/table/Table.stories.tsx +13 -1
- package/table/Table.test.d.ts +1 -0
- package/table/Table.test.js +2 -4
- package/tabs/Tab.js +1 -1
- package/tabs/Tabs.accessibility.test.d.ts +1 -0
- package/tabs/Tabs.accessibility.test.js +3 -3
- package/tabs/Tabs.js +1 -1
- package/tabs/Tabs.stories.tsx +7 -1
- package/tabs/Tabs.test.d.ts +1 -0
- package/tabs/Tabs.test.js +1 -1
- package/tag/Tag.accessibility.test.d.ts +1 -0
- package/tag/Tag.accessibility.test.js +4 -4
- package/tag/Tag.js +1 -1
- package/tag/Tag.stories.tsx +1 -1
- package/tag/Tag.test.d.ts +1 -0
- package/tag/Tag.test.js +1 -1
- package/text-input/Suggestion.js +1 -1
- package/text-input/Suggestions.js +14 -6
- package/text-input/TextInput.accessibility.test.d.ts +1 -0
- package/text-input/TextInput.accessibility.test.js +11 -12
- package/text-input/TextInput.js +49 -68
- package/text-input/TextInput.stories.tsx +19 -7
- 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 +7 -7
- 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 +5 -5
- package/toggle-group/ToggleGroup.js +6 -9
- package/toggle-group/ToggleGroup.stories.tsx +1 -1
- package/toggle-group/ToggleGroup.test.d.ts +1 -0
- package/toggle-group/ToggleGroup.test.js +1 -1
- 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 +12 -12
- package/typography/Typography.stories.tsx +1 -3
- package/typography/Typography.test.js +23 -0
- package/useTheme.d.ts +30 -3
- 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 +3 -3
- package/wizard/Wizard.js +1 -9
- package/wizard/Wizard.stories.tsx +1 -1
- package/wizard/Wizard.test.d.ts +1 -0
- package/wizard/Wizard.test.js +1 -1
- package/contextual-menu/MenuItemAction.d.ts +0 -4
- package/contextual-menu/MenuItemAction.js +0 -46
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.notOptionalCheck = exports.isOptionGroup = exports.isArrayOfOptionGroups = exports.groupsHaveOptions = exports.getSelectedOptionLabel = exports.getSelectedOption = exports.getLastOptionIndex = exports.filterOptionsBySearchValue = exports.canOpenOptions = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Check if the value is not optional and is empty.
|
|
9
|
+
*/
|
|
10
|
+
var notOptionalCheck = exports.notOptionalCheck = function notOptionalCheck(value, multiple, optional) {
|
|
11
|
+
return !optional && (multiple ? value.length === 0 : value === "");
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Checks if the option is a group.
|
|
16
|
+
*/
|
|
17
|
+
var isOptionGroup = exports.isOptionGroup = function isOptionGroup(option) {
|
|
18
|
+
return "options" in option && option.options != null;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Checks if the options are an array of groups.
|
|
23
|
+
*/
|
|
24
|
+
var isArrayOfOptionGroups = exports.isArrayOfOptionGroups = function isArrayOfOptionGroups(options) {
|
|
25
|
+
return isOptionGroup(options[0]);
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Checks if the groups have options.
|
|
30
|
+
*/
|
|
31
|
+
var groupsHaveOptions = exports.groupsHaveOptions = function groupsHaveOptions(options) {
|
|
32
|
+
return isArrayOfOptionGroups(options) ? options.some(function (groupOption) {
|
|
33
|
+
var _groupOption$options;
|
|
34
|
+
return ((_groupOption$options = groupOption.options) === null || _groupOption$options === void 0 ? void 0 : _groupOption$options.length) > 0;
|
|
35
|
+
}) : true;
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Checks if the listbox can be opened.
|
|
40
|
+
*/
|
|
41
|
+
var canOpenListbox = exports.canOpenOptions = function canOpenListbox(options, disabled) {
|
|
42
|
+
return !disabled && (options === null || options === void 0 ? void 0 : options.length) > 0 && groupsHaveOptions(options);
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Filters the options by the search value.
|
|
47
|
+
*/
|
|
48
|
+
var filterOptionsBySearchValue = exports.filterOptionsBySearchValue = function filterOptionsBySearchValue(options, searchValue) {
|
|
49
|
+
if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
|
|
50
|
+
if (isArrayOfOptionGroups(options)) return options.map(function (optionGroup) {
|
|
51
|
+
var group = {
|
|
52
|
+
label: optionGroup.label,
|
|
53
|
+
options: optionGroup.options.filter(function (option) {
|
|
54
|
+
return option.label.toUpperCase().includes(searchValue.toUpperCase());
|
|
55
|
+
})
|
|
56
|
+
};
|
|
57
|
+
return group;
|
|
58
|
+
});else return options.filter(function (option) {
|
|
59
|
+
return option.label.toUpperCase().includes(searchValue.toUpperCase());
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Returns the index of the last option, depending on several conditions.
|
|
66
|
+
*/
|
|
67
|
+
var getLastOptionIndex = exports.getLastOptionIndex = function getLastOptionIndex(options, filteredOptions, searchable, optional, multiple) {
|
|
68
|
+
var last = 0;
|
|
69
|
+
var reducer = function reducer(acc, current) {
|
|
70
|
+
var _current$options;
|
|
71
|
+
return acc + ((_current$options = current.options) === null || _current$options === void 0 ? void 0 : _current$options.length);
|
|
72
|
+
};
|
|
73
|
+
if (searchable && (filteredOptions === null || filteredOptions === void 0 ? void 0 : filteredOptions.length) > 0) isArrayOfOptionGroups(filteredOptions) ? last = filteredOptions.reduce(reducer, 0) - 1 : last = filteredOptions.length - 1;else if ((options === null || options === void 0 ? void 0 : options.length) > 0) isArrayOfOptionGroups(options) ? last = options.reduce(reducer, 0) - 1 : last = options.length - 1;
|
|
74
|
+
return optional && !multiple ? last + 1 : last;
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Return the current selection.
|
|
79
|
+
*/
|
|
80
|
+
var getSelectedOption = exports.getSelectedOption = function getSelectedOption(value, options, multiple, optional, optionalItem) {
|
|
81
|
+
var selectedOption = multiple ? [] : {};
|
|
82
|
+
var singleSelectionIndex;
|
|
83
|
+
if (multiple) {
|
|
84
|
+
if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
|
|
85
|
+
options.forEach(function (option) {
|
|
86
|
+
if (isOptionGroup(option)) option.options.forEach(function (singleOption) {
|
|
87
|
+
if (value.includes(singleOption.value) && Array.isArray(selectedOption)) selectedOption.push(singleOption);
|
|
88
|
+
});else if (value.includes(option.value) && Array.isArray(selectedOption)) selectedOption.push(option);
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
} else {
|
|
92
|
+
if (optional && value === "") {
|
|
93
|
+
selectedOption = optionalItem;
|
|
94
|
+
singleSelectionIndex = 0;
|
|
95
|
+
} else if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
|
|
96
|
+
var group_index = 0;
|
|
97
|
+
options.some(function (option, index) {
|
|
98
|
+
if (isOptionGroup(option)) {
|
|
99
|
+
option.options.some(function (singleOption) {
|
|
100
|
+
if (singleOption.value === value) {
|
|
101
|
+
selectedOption = singleOption;
|
|
102
|
+
singleSelectionIndex = optional ? group_index + 1 : group_index;
|
|
103
|
+
return true;
|
|
104
|
+
}
|
|
105
|
+
group_index++;
|
|
106
|
+
});
|
|
107
|
+
} else if (option.value === value) {
|
|
108
|
+
selectedOption = option;
|
|
109
|
+
singleSelectionIndex = optional ? index + 1 : index;
|
|
110
|
+
return true;
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
return {
|
|
116
|
+
selectedOption: selectedOption,
|
|
117
|
+
singleSelectionIndex: singleSelectionIndex
|
|
118
|
+
};
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Return the label or labels of the selected option(s) for the internal input.
|
|
123
|
+
*/
|
|
124
|
+
var getSelectedOptionLabel = exports.getSelectedOptionLabel = function getSelectedOptionLabel(placeholder, selectedOption) {
|
|
125
|
+
var _selectedOption$label;
|
|
126
|
+
return Array.isArray(selectedOption) ? selectedOption.length === 0 ? placeholder : selectedOption.map(function (option) {
|
|
127
|
+
return option.label;
|
|
128
|
+
}).join(", ") : (_selectedOption$label = selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) !== null && _selectedOption$label !== void 0 ? _selectedOption$label : placeholder;
|
|
129
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -5,8 +5,8 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
|
|
|
5
5
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
6
6
|
var _react = _interopRequireDefault(require("react"));
|
|
7
7
|
var _react2 = require("@testing-library/react");
|
|
8
|
-
var
|
|
9
|
-
var _Sidenav = _interopRequireDefault(require("./Sidenav
|
|
8
|
+
var _axeHelper = require("../../test/accessibility/axe-helper.js");
|
|
9
|
+
var _Sidenav = _interopRequireDefault(require("./Sidenav"));
|
|
10
10
|
var iconSVG = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
11
11
|
version: "1.1",
|
|
12
12
|
x: "0px",
|
|
@@ -46,7 +46,7 @@ describe("Sidenav component accessibility tests", function () {
|
|
|
46
46
|
href: "#"
|
|
47
47
|
}, "Lorem ipsum"))))), container = _render.container;
|
|
48
48
|
_context.next = 3;
|
|
49
|
-
return (0,
|
|
49
|
+
return (0, _axeHelper.axe)(container);
|
|
50
50
|
case 3:
|
|
51
51
|
results = _context.sent;
|
|
52
52
|
expect(results).toHaveNoViolations();
|
package/sidenav/Sidenav.js
CHANGED
|
@@ -22,7 +22,7 @@ var _Icon = _interopRequireDefault(require("../icon/Icon"));
|
|
|
22
22
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
|
|
23
23
|
var _excluded = ["href", "newWindow", "selected", "icon", "onClick", "tabIndex", "children"];
|
|
24
24
|
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); }
|
|
25
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(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 &&
|
|
25
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(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; }
|
|
26
26
|
var DxcSidenav = function DxcSidenav(_ref) {
|
|
27
27
|
var title = _ref.title,
|
|
28
28
|
children = _ref.children;
|
|
@@ -4,7 +4,7 @@ import DxcSelect from "../select/Select";
|
|
|
4
4
|
import DxcInset from "../inset/Inset";
|
|
5
5
|
import Title from "../../.storybook/components/Title";
|
|
6
6
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
7
|
-
import { userEvent, within } from "@storybook/
|
|
7
|
+
import { userEvent, within } from "@storybook/test";
|
|
8
8
|
import { HalstackProvider } from "../HalstackContext";
|
|
9
9
|
|
|
10
10
|
export default {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/sidenav/Sidenav.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 _Sidenav = _interopRequireDefault(require("./Sidenav
|
|
6
|
+
var _Sidenav = _interopRequireDefault(require("./Sidenav"));
|
|
7
7
|
describe("Sidenav component tests", function () {
|
|
8
8
|
test("Sidenav renders anchors and Section correctly", function () {
|
|
9
9
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Sidenav["default"], null, /*#__PURE__*/_react["default"].createElement(_Sidenav["default"].Section, null, /*#__PURE__*/_react["default"].createElement("p", null, "nav-content-test"), /*#__PURE__*/_react["default"].createElement(_Sidenav["default"].Link, {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -7,8 +7,8 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/cl
|
|
|
7
7
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
var _react2 = require("@testing-library/react");
|
|
10
|
-
var
|
|
11
|
-
var _Slider = _interopRequireDefault(require("./Slider
|
|
10
|
+
var _axeHelper = require("../../test/accessibility/axe-helper.js");
|
|
11
|
+
var _Slider = _interopRequireDefault(require("./Slider"));
|
|
12
12
|
// Mocking DOMRect for Radix Primitive Popover
|
|
13
13
|
global.globalThis = global;
|
|
14
14
|
global.DOMRect = {
|
|
@@ -27,7 +27,7 @@ global.ResizeObserver = /*#__PURE__*/function () {
|
|
|
27
27
|
function ResizeObserver() {
|
|
28
28
|
(0, _classCallCheck2["default"])(this, ResizeObserver);
|
|
29
29
|
}
|
|
30
|
-
(0, _createClass2["default"])(ResizeObserver, [{
|
|
30
|
+
return (0, _createClass2["default"])(ResizeObserver, [{
|
|
31
31
|
key: "observe",
|
|
32
32
|
value: function observe() {}
|
|
33
33
|
}, {
|
|
@@ -37,7 +37,6 @@ global.ResizeObserver = /*#__PURE__*/function () {
|
|
|
37
37
|
key: "disconnect",
|
|
38
38
|
value: function disconnect() {}
|
|
39
39
|
}]);
|
|
40
|
-
return ResizeObserver;
|
|
41
40
|
}();
|
|
42
41
|
describe("Slider component accessibility tests", function () {
|
|
43
42
|
it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
@@ -60,7 +59,7 @@ describe("Slider component accessibility tests", function () {
|
|
|
60
59
|
marks: true
|
|
61
60
|
})), container = _render.container;
|
|
62
61
|
_context.next = 3;
|
|
63
|
-
return (0,
|
|
62
|
+
return (0, _axeHelper.axe)(container);
|
|
64
63
|
case 3:
|
|
65
64
|
results = _context.sent;
|
|
66
65
|
expect(results).toHaveNoViolations();
|
|
@@ -91,7 +90,7 @@ describe("Slider component accessibility tests", function () {
|
|
|
91
90
|
disabled: true
|
|
92
91
|
})), container = _render2.container;
|
|
93
92
|
_context2.next = 3;
|
|
94
|
-
return (0,
|
|
93
|
+
return (0, _axeHelper.axe)(container);
|
|
95
94
|
case 3:
|
|
96
95
|
results = _context2.sent;
|
|
97
96
|
expect(results).toHaveNoViolations();
|
package/slider/Slider.js
CHANGED
|
@@ -15,10 +15,9 @@ var _TextInput = _interopRequireDefault(require("../text-input/TextInput"));
|
|
|
15
15
|
var _variables = require("../common/variables");
|
|
16
16
|
var _utils = require("../common/utils");
|
|
17
17
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
18
|
-
var _uuid = require("uuid");
|
|
19
18
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12;
|
|
20
19
|
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); }
|
|
21
|
-
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 &&
|
|
20
|
+
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; }
|
|
22
21
|
var DxcSlider = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
23
22
|
var _navigator;
|
|
24
23
|
var _ref$label = _ref.label,
|
|
@@ -49,17 +48,15 @@ var DxcSlider = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
49
48
|
margin = _ref.margin,
|
|
50
49
|
_ref$size = _ref.size,
|
|
51
50
|
size = _ref$size === void 0 ? "fillParent" : _ref$size;
|
|
52
|
-
var
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
51
|
+
var labelId = "label-".concat((0, _react.useId)());
|
|
52
|
+
var _useState = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : 0),
|
|
53
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
54
|
+
innerValue = _useState2[0],
|
|
55
|
+
setInnerValue = _useState2[1];
|
|
56
|
+
var _useState3 = (0, _react.useState)(false),
|
|
56
57
|
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
var _useState5 = (0, _react.useState)(false),
|
|
60
|
-
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
61
|
-
dragging = _useState6[0],
|
|
62
|
-
setDragging = _useState6[1];
|
|
58
|
+
dragging = _useState4[0],
|
|
59
|
+
setDragging = _useState4[1];
|
|
63
60
|
var colorsTheme = (0, _useTheme["default"])();
|
|
64
61
|
var isFirefox = ((_navigator = navigator) === null || _navigator === void 0 ? void 0 : _navigator.userAgent.indexOf("Firefox")) !== -1;
|
|
65
62
|
var minLabel = (0, _react.useMemo)(function () {
|
|
@@ -78,7 +75,8 @@ var DxcSlider = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
78
75
|
ticks.push( /*#__PURE__*/_react["default"].createElement(TickMark, {
|
|
79
76
|
disabled: disabled,
|
|
80
77
|
stepPosition: step * index / range,
|
|
81
|
-
stepValue: (value !== null && value !== void 0 ? value : innerValue) / maxValue
|
|
78
|
+
stepValue: (value !== null && value !== void 0 ? value : innerValue) / maxValue,
|
|
79
|
+
key: "tickmark-".concat(index, "-").concat(labelId)
|
|
82
80
|
}));
|
|
83
81
|
index++;
|
|
84
82
|
}
|
|
@@ -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 {};
|
|
@@ -5,9 +5,9 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
|
|
|
5
5
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
6
6
|
var _react = _interopRequireDefault(require("react"));
|
|
7
7
|
var _react2 = require("@testing-library/react");
|
|
8
|
-
var
|
|
9
|
-
var _Spinner = _interopRequireDefault(require("./Spinner
|
|
10
|
-
var _Flex = _interopRequireDefault(require("../flex/Flex
|
|
8
|
+
var _axeHelper = require("../../test/accessibility/axe-helper.js");
|
|
9
|
+
var _Spinner = _interopRequireDefault(require("./Spinner"));
|
|
10
|
+
var _Flex = _interopRequireDefault(require("../flex/Flex"));
|
|
11
11
|
describe("Spinner component accessibility tests", function () {
|
|
12
12
|
it("Should not have basic accessibility issues for overlay mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
13
13
|
var _render, container, results;
|
|
@@ -27,7 +27,7 @@ describe("Spinner component accessibility tests", function () {
|
|
|
27
27
|
value: 50
|
|
28
28
|
}))), container = _render.container;
|
|
29
29
|
_context.next = 3;
|
|
30
|
-
return (0,
|
|
30
|
+
return (0, _axeHelper.axe)(container);
|
|
31
31
|
case 3:
|
|
32
32
|
results = _context.sent;
|
|
33
33
|
expect(results).toHaveNoViolations();
|
|
@@ -55,7 +55,7 @@ describe("Spinner component accessibility tests", function () {
|
|
|
55
55
|
value: 50
|
|
56
56
|
}))), container = _render2.container;
|
|
57
57
|
_context2.next = 3;
|
|
58
|
-
return (0,
|
|
58
|
+
return (0, _axeHelper.axe)(container);
|
|
59
59
|
case 3:
|
|
60
60
|
results = _context2.sent;
|
|
61
61
|
expect(results).toHaveNoViolations();
|
|
@@ -83,7 +83,7 @@ describe("Spinner component accessibility tests", function () {
|
|
|
83
83
|
value: 50
|
|
84
84
|
}))), container = _render3.container;
|
|
85
85
|
_context3.next = 3;
|
|
86
|
-
return (0,
|
|
86
|
+
return (0, _axeHelper.axe)(container);
|
|
87
87
|
case 3:
|
|
88
88
|
results = _context3.sent;
|
|
89
89
|
expect(results).toHaveNoViolations();
|
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;
|