@dxc-technology/halstack-react 0.0.0-d3554d7 → 0.0.0-d3624d0
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 -10
- package/BackgroundColorContext.js +5 -22
- package/HalstackContext.d.ts +1246 -0
- package/HalstackContext.js +310 -0
- package/README.md +47 -0
- package/accordion/Accordion.accessibility.test.js +71 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +105 -181
- package/accordion/Accordion.stories.tsx +83 -149
- package/accordion/Accordion.test.js +32 -33
- package/accordion/types.d.ts +10 -17
- package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
- package/accordion-group/AccordionGroup.d.ts +3 -3
- package/accordion-group/AccordionGroup.js +38 -107
- package/accordion-group/AccordionGroup.stories.tsx +95 -68
- package/accordion-group/AccordionGroup.test.js +55 -90
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +31 -0
- package/accordion-group/AccordionGroupContext.d.ts +3 -0
- package/accordion-group/AccordionGroupContext.js +8 -0
- package/accordion-group/types.d.ts +16 -17
- package/action-icon/ActionIcon.accessibility.test.js +63 -0
- package/action-icon/ActionIcon.d.ts +4 -0
- package/action-icon/ActionIcon.js +48 -0
- package/action-icon/ActionIcon.stories.tsx +41 -0
- package/action-icon/ActionIcon.test.js +64 -0
- package/action-icon/types.d.ts +26 -0
- package/alert/Alert.accessibility.test.js +95 -0
- package/alert/Alert.js +40 -127
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +29 -46
- package/alert/types.d.ts +5 -5
- package/badge/Badge.accessibility.test.js +129 -0
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +142 -40
- package/badge/Badge.stories.tsx +210 -0
- package/badge/Badge.test.js +30 -0
- package/badge/types.d.ts +52 -2
- package/bleed/Bleed.js +14 -55
- package/bleed/Bleed.stories.tsx +95 -95
- package/bleed/types.d.ts +26 -2
- package/box/Box.accessibility.test.js +33 -0
- package/box/Box.d.ts +1 -1
- package/box/Box.js +30 -81
- package/box/Box.stories.tsx +38 -51
- package/box/Box.test.js +2 -7
- package/box/types.d.ts +3 -14
- 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 +169 -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 +16 -0
- package/bulleted-list/BulletedList.accessibility.test.js +119 -0
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +92 -0
- package/bulleted-list/BulletedList.stories.tsx +115 -0
- package/bulleted-list/types.d.ts +38 -0
- package/button/Button.accessibility.test.js +127 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +63 -113
- package/button/Button.stories.tsx +151 -100
- package/button/Button.test.js +20 -17
- package/button/types.d.ts +12 -8
- package/card/Card.accessibility.test.js +36 -0
- package/card/Card.d.ts +1 -1
- package/card/Card.js +59 -102
- package/card/Card.stories.tsx +12 -42
- package/card/Card.test.js +11 -22
- package/card/types.d.ts +6 -11
- package/checkbox/Checkbox.accessibility.test.js +87 -0
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +143 -181
- package/checkbox/Checkbox.stories.tsx +166 -136
- package/checkbox/Checkbox.test.js +163 -29
- package/checkbox/types.d.ts +18 -6
- package/chip/Chip.accessibility.test.js +67 -0
- package/chip/Chip.js +45 -80
- package/chip/Chip.stories.tsx +107 -27
- package/chip/Chip.test.js +18 -33
- package/chip/types.d.ts +4 -4
- 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 +1392 -0
- package/common/variables.js +1081 -1190
- 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/contextual-menu/ContextualMenu.accessibility.test.js +97 -0
- package/contextual-menu/ContextualMenu.d.ts +5 -0
- package/contextual-menu/ContextualMenu.js +88 -0
- package/contextual-menu/ContextualMenu.stories.tsx +232 -0
- package/contextual-menu/ContextualMenu.test.js +205 -0
- 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 +51 -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 +58 -0
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +214 -0
- package/date-input/DateInput.accessibility.test.js +228 -0
- package/date-input/DateInput.js +170 -306
- package/date-input/DateInput.stories.tsx +210 -56
- package/date-input/DateInput.test.js +708 -369
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +121 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +100 -0
- package/date-input/types.d.ts +86 -22
- package/dialog/Dialog.accessibility.test.js +69 -0
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.js +56 -129
- package/dialog/Dialog.stories.tsx +326 -167
- package/dialog/Dialog.test.js +287 -20
- package/dialog/types.d.ts +18 -25
- package/divider/Divider.accessibility.test.js +33 -0
- package/divider/Divider.d.ts +4 -0
- package/divider/Divider.js +36 -0
- package/divider/Divider.stories.tsx +223 -0
- package/divider/Divider.test.js +38 -0
- package/divider/types.d.ts +21 -0
- package/dropdown/Dropdown.accessibility.test.js +180 -0
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +233 -307
- package/dropdown/Dropdown.stories.tsx +235 -57
- package/dropdown/Dropdown.test.js +575 -165
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +63 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +71 -0
- package/dropdown/types.d.ts +35 -19
- package/file-input/FileInput.accessibility.test.js +160 -0
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +246 -393
- package/file-input/FileInput.stories.tsx +123 -12
- package/file-input/FileInput.test.js +292 -367
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +61 -120
- package/file-input/types.d.ts +25 -8
- 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.accessibility.test.js +125 -0
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +73 -191
- package/footer/Footer.stories.tsx +99 -21
- package/footer/Footer.test.js +33 -57
- package/footer/Icons.d.ts +3 -2
- package/footer/Icons.js +54 -23
- package/footer/types.d.ts +26 -27
- 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.accessibility.test.js +93 -0
- package/header/Header.d.ts +4 -3
- package/header/Header.js +104 -218
- package/header/Header.stories.tsx +168 -63
- package/header/Header.test.js +31 -28
- package/header/Icons.d.ts +2 -2
- package/header/Icons.js +5 -15
- package/header/types.d.ts +7 -21
- package/heading/Heading.accessibility.test.js +33 -0
- package/heading/Heading.js +10 -32
- package/heading/Heading.test.js +71 -88
- package/heading/types.d.ts +7 -7
- package/icon/Icon.accessibility.test.js +30 -0
- package/icon/Icon.d.ts +4 -0
- package/icon/Icon.js +33 -0
- package/icon/Icon.stories.tsx +28 -0
- package/icon/types.d.ts +4 -0
- package/icon/types.js +5 -0
- package/image/Image.accessibility.test.js +56 -0
- package/image/Image.d.ts +4 -0
- package/image/Image.js +70 -0
- package/image/Image.stories.tsx +129 -0
- package/image/types.d.ts +72 -0
- package/image/types.js +5 -0
- package/inset/Inset.js +14 -55
- package/inset/Inset.stories.tsx +37 -36
- package/inset/types.d.ts +26 -2
- package/layout/ApplicationLayout.d.ts +16 -6
- package/layout/ApplicationLayout.js +88 -182
- package/layout/ApplicationLayout.stories.tsx +85 -94
- package/layout/Icons.d.ts +7 -0
- package/layout/Icons.js +41 -48
- package/layout/types.d.ts +19 -35
- package/link/Link.accessibility.test.js +108 -0
- package/link/Link.d.ts +3 -2
- package/link/Link.js +65 -101
- package/link/Link.stories.tsx +157 -55
- package/link/Link.test.js +25 -53
- package/link/types.d.ts +15 -31
- package/main.d.ts +17 -13
- package/main.js +86 -101
- package/nav-tabs/NavTabs.accessibility.test.js +44 -0
- package/nav-tabs/NavTabs.d.ts +7 -0
- package/nav-tabs/NavTabs.js +93 -0
- package/nav-tabs/NavTabs.stories.tsx +279 -0
- package/nav-tabs/NavTabs.test.js +77 -0
- package/nav-tabs/NavTabsContext.d.ts +3 -0
- package/nav-tabs/NavTabsContext.js +8 -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.accessibility.test.js +228 -0
- package/number-input/NumberInput.js +47 -44
- package/number-input/NumberInput.stories.tsx +44 -28
- package/number-input/NumberInput.test.js +862 -381
- package/number-input/NumberInputContext.d.ts +3 -4
- package/number-input/NumberInputContext.js +3 -14
- package/number-input/types.d.ts +34 -15
- package/package.json +54 -53
- package/paginator/Paginator.accessibility.test.js +79 -0
- package/paginator/Paginator.js +46 -100
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +280 -211
- package/paginator/types.d.ts +3 -3
- package/paragraph/Paragraph.accessibility.test.js +28 -0
- package/paragraph/Paragraph.d.ts +5 -0
- package/paragraph/Paragraph.js +22 -0
- package/paragraph/Paragraph.stories.tsx +27 -0
- package/password-input/PasswordInput.accessibility.test.js +153 -0
- package/password-input/PasswordInput.js +58 -124
- package/password-input/PasswordInput.stories.tsx +1 -33
- package/password-input/PasswordInput.test.js +162 -147
- package/password-input/types.d.ts +21 -17
- package/progress-bar/ProgressBar.accessibility.test.js +35 -0
- package/progress-bar/ProgressBar.js +68 -92
- package/progress-bar/ProgressBar.stories.tsx +93 -0
- package/progress-bar/ProgressBar.test.js +72 -44
- package/progress-bar/types.d.ts +3 -3
- package/quick-nav/QuickNav.accessibility.test.js +57 -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 +1 -1
- package/radio-group/Radio.js +59 -76
- package/radio-group/RadioGroup.accessibility.test.js +97 -0
- package/radio-group/RadioGroup.js +73 -116
- package/radio-group/RadioGroup.stories.tsx +135 -17
- package/radio-group/RadioGroup.test.js +529 -467
- package/radio-group/types.d.ts +86 -9
- package/resultset-table/Icons.d.ts +7 -0
- package/resultset-table/Icons.js +47 -0
- package/resultset-table/ResultsetTable.accessibility.test.js +285 -0
- package/resultset-table/ResultsetTable.d.ts +7 -0
- package/resultset-table/ResultsetTable.js +171 -0
- package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +168 -30
- package/resultset-table/ResultsetTable.test.js +381 -0
- package/{resultsetTable → resultset-table}/types.d.ts +44 -11
- package/resultset-table/types.js +5 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +155 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +89 -0
- package/select/Select.accessibility.test.js +228 -0
- package/select/Select.js +237 -504
- package/select/Select.stories.tsx +533 -196
- package/select/Select.test.js +1953 -1588
- package/select/types.d.ts +65 -26
- package/sidenav/Sidenav.accessibility.test.js +59 -0
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +136 -71
- package/sidenav/Sidenav.stories.tsx +246 -151
- package/sidenav/Sidenav.test.js +26 -45
- package/sidenav/SidenavContext.d.ts +5 -0
- package/sidenav/SidenavContext.js +13 -0
- package/sidenav/types.d.ts +52 -26
- package/slider/Slider.accessibility.test.js +104 -0
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +149 -180
- package/slider/Slider.test.js +198 -73
- package/slider/types.d.ts +11 -3
- package/spinner/Spinner.accessibility.test.js +96 -0
- package/spinner/Spinner.js +34 -74
- package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
- package/spinner/Spinner.test.js +26 -35
- package/spinner/types.d.ts +3 -3
- package/status-light/StatusLight.accessibility.test.js +157 -0
- package/status-light/StatusLight.d.ts +4 -0
- package/status-light/StatusLight.js +51 -0
- package/status-light/StatusLight.stories.tsx +74 -0
- package/status-light/StatusLight.test.js +25 -0
- package/status-light/types.d.ts +17 -0
- package/status-light/types.js +5 -0
- package/switch/Switch.accessibility.test.js +98 -0
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +149 -114
- package/switch/Switch.stories.tsx +56 -67
- package/switch/Switch.test.js +146 -39
- package/switch/types.d.ts +13 -5
- package/table/DropdownTheme.js +62 -0
- package/table/Table.accessibility.test.js +93 -0
- package/table/Table.d.ts +6 -2
- package/table/Table.js +78 -35
- package/table/Table.stories.tsx +663 -0
- package/table/Table.test.js +95 -8
- package/table/types.d.ts +34 -6
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +117 -0
- package/tabs/Tabs.accessibility.test.js +56 -0
- package/tabs/Tabs.d.ts +1 -1
- package/tabs/Tabs.js +305 -145
- package/tabs/Tabs.stories.tsx +124 -14
- package/tabs/Tabs.test.js +220 -67
- package/tabs/types.d.ts +31 -17
- package/tag/Tag.accessibility.test.js +69 -0
- package/tag/Tag.js +42 -79
- package/tag/Tag.stories.tsx +24 -10
- package/tag/Tag.test.js +18 -37
- package/tag/types.d.ts +9 -9
- 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 +94 -0
- package/text-input/TextInput.accessibility.test.js +321 -0
- package/text-input/TextInput.js +332 -557
- package/text-input/TextInput.stories.tsx +282 -282
- package/text-input/TextInput.test.js +1442 -1377
- package/text-input/types.d.ts +70 -24
- package/textarea/Textarea.accessibility.test.js +155 -0
- package/textarea/Textarea.js +83 -134
- package/textarea/Textarea.stories.tsx +174 -0
- package/textarea/Textarea.test.js +168 -198
- package/textarea/types.d.ts +27 -16
- package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
- package/toggle-group/ToggleGroup.d.ts +2 -2
- package/toggle-group/ToggleGroup.js +94 -106
- package/toggle-group/ToggleGroup.stories.tsx +56 -11
- package/toggle-group/ToggleGroup.test.js +78 -66
- package/toggle-group/types.d.ts +36 -19
- package/typography/Typography.accessibility.test.js +339 -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 +1144 -1
- 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 +124 -0
- package/wizard/Wizard.accessibility.test.js +55 -0
- package/wizard/Wizard.d.ts +1 -1
- package/wizard/Wizard.js +78 -120
- package/wizard/Wizard.stories.tsx +67 -19
- package/wizard/Wizard.test.js +73 -87
- package/wizard/types.d.ts +14 -10
- package/ThemeContext.d.ts +0 -10
- package/ThemeContext.js +0 -243
- package/card/ice-cream.jpg +0 -0
- package/common/OpenSans.css +0 -81
- package/common/RequiredComponent.js +0 -32
- package/common/fonts/OpenSans-Bold.ttf +0 -0
- package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-Italic.ttf +0 -0
- package/common/fonts/OpenSans-Light.ttf +0 -0
- package/common/fonts/OpenSans-LightItalic.ttf +0 -0
- package/common/fonts/OpenSans-Regular.ttf +0 -0
- package/common/fonts/OpenSans-SemiBold.ttf +0 -0
- package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
- package/list/List.d.ts +0 -4
- package/list/List.js +0 -47
- package/list/List.stories.tsx +0 -95
- package/list/types.d.ts +0 -7
- package/number-input/numberInputContextTypes.d.ts +0 -19
- package/paginator/Icons.js +0 -66
- package/progress-bar/ProgressBar.stories.jsx +0 -58
- package/radio/Radio.d.ts +0 -4
- package/radio/Radio.js +0 -174
- package/radio/Radio.stories.tsx +0 -192
- package/radio/Radio.test.js +0 -71
- package/radio/types.d.ts +0 -54
- package/resultsetTable/ResultsetTable.d.ts +0 -4
- package/resultsetTable/ResultsetTable.js +0 -254
- package/resultsetTable/ResultsetTable.test.js +0 -306
- package/row/Row.d.ts +0 -3
- package/row/Row.js +0 -127
- package/row/Row.stories.tsx +0 -237
- package/row/types.d.ts +0 -10
- package/slider/Slider.stories.tsx +0 -177
- package/stack/Stack.d.ts +0 -3
- package/stack/Stack.js +0 -97
- package/stack/Stack.stories.tsx +0 -164
- package/stack/types.d.ts +0 -9
- package/table/Table.stories.jsx +0 -277
- package/text/Text.d.ts +0 -7
- package/text/Text.js +0 -30
- package/text/Text.stories.tsx +0 -19
- package/textarea/Textarea.stories.jsx +0 -157
- /package/{list → action-icon}/types.js +0 -0
- /package/{radio → breadcrumbs}/types.js +0 -0
- /package/{resultsetTable → bulleted-list}/types.js +0 -0
- /package/{row → container}/types.js +0 -0
- /package/{stack → contextual-menu}/types.js +0 -0
- /package/{number-input/numberInputContextTypes.js → divider/types.js} +0 -0
package/text-input/types.d.ts
CHANGED
|
@@ -1,27 +1,29 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
|
+
type Margin = {
|
|
4
4
|
top?: Space;
|
|
5
5
|
bottom?: Space;
|
|
6
6
|
left?: Space;
|
|
7
7
|
right?: Space;
|
|
8
8
|
};
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
|
|
10
|
+
type Action = {
|
|
11
11
|
/**
|
|
12
12
|
* This function will be called when the user clicks the action.
|
|
13
13
|
*/
|
|
14
14
|
onClick: () => void;
|
|
15
15
|
/**
|
|
16
|
-
* Icon to be
|
|
16
|
+
* Icon to be placed in the action..
|
|
17
17
|
*/
|
|
18
18
|
icon: string | SVG;
|
|
19
19
|
/**
|
|
20
|
-
*
|
|
20
|
+
* Text representing advisory information related
|
|
21
|
+
* to the button's action. Under the hood, this prop also serves
|
|
22
|
+
* as an accessible label for the component.
|
|
21
23
|
*/
|
|
22
24
|
title?: string;
|
|
23
25
|
};
|
|
24
|
-
|
|
26
|
+
type Props = {
|
|
25
27
|
/**
|
|
26
28
|
* Text to be placed above the input. This label will be used as the aria-label attribute of the list of suggestions.
|
|
27
29
|
*/
|
|
@@ -30,6 +32,10 @@ declare type Props = {
|
|
|
30
32
|
* Name attribute of the input element.
|
|
31
33
|
*/
|
|
32
34
|
name?: string;
|
|
35
|
+
/**
|
|
36
|
+
* Initial value of the input, only when it is uncontrolled.
|
|
37
|
+
*/
|
|
38
|
+
defaultValue?: string;
|
|
33
39
|
/**
|
|
34
40
|
* Value of the input. If undefined, the component will be uncontrolled and the value will be managed internally by the component.
|
|
35
41
|
*/
|
|
@@ -43,8 +49,7 @@ declare type Props = {
|
|
|
43
49
|
*/
|
|
44
50
|
placeholder?: string;
|
|
45
51
|
/**
|
|
46
|
-
* Action to be shown in the input.
|
|
47
|
-
* being the latter either an inline svg or a URL to the image.
|
|
52
|
+
* Action to be shown in the input.
|
|
48
53
|
*/
|
|
49
54
|
action?: Action;
|
|
50
55
|
/**
|
|
@@ -55,6 +60,12 @@ declare type Props = {
|
|
|
55
60
|
* If true, the component will be disabled.
|
|
56
61
|
*/
|
|
57
62
|
disabled?: boolean;
|
|
63
|
+
/**
|
|
64
|
+
* If true, the component will not be mutable, meaning the user can not edit the control.
|
|
65
|
+
* In addition, the clear action will not be displayed even if the flag is set to true
|
|
66
|
+
* and the custom action will not execute its onClick event.
|
|
67
|
+
*/
|
|
68
|
+
readOnly?: boolean;
|
|
58
69
|
/**
|
|
59
70
|
* If true, the input will be optional, showing '(Optional)'
|
|
60
71
|
* next to the label. Otherwise, the field will be considered required and an error will be
|
|
@@ -74,33 +85,37 @@ declare type Props = {
|
|
|
74
85
|
* This function will be called when the user types within the input
|
|
75
86
|
* element of the component. An object including the current value and
|
|
76
87
|
* the error (if the value entered is not valid) will be passed to this
|
|
77
|
-
* function. If there is no error, error will be
|
|
88
|
+
* function. If there is no error, error will not be defined.
|
|
78
89
|
*/
|
|
79
90
|
onChange?: (val: {
|
|
80
91
|
value: string;
|
|
81
|
-
error
|
|
92
|
+
error?: string;
|
|
82
93
|
}) => void;
|
|
83
94
|
/**
|
|
84
95
|
* This function will be called when the input element loses the focus.
|
|
85
96
|
* An object including the input value and the error (if the value
|
|
86
97
|
* entered is not valid) will be passed to this function. If there is no error,
|
|
87
|
-
* error will be
|
|
98
|
+
* error will not be defined.
|
|
88
99
|
*/
|
|
89
100
|
onBlur?: (val: {
|
|
90
101
|
value: string;
|
|
91
|
-
error
|
|
102
|
+
error?: string;
|
|
92
103
|
}) => void;
|
|
93
104
|
/**
|
|
94
|
-
* If it is defined
|
|
95
|
-
* the error below the input component. If
|
|
96
|
-
*
|
|
105
|
+
* If it is a defined value and also a truthy string, the component will
|
|
106
|
+
* change its appearance, showing the error below the input component. If
|
|
107
|
+
* the defined value is an empty string, it will reserve a space below
|
|
108
|
+
* the component for a future error, but it would not change its look. In
|
|
109
|
+
* case of being undefined or null, both the appearance and the space for
|
|
110
|
+
* the error message would not be modified.
|
|
97
111
|
*/
|
|
98
112
|
error?: string;
|
|
99
113
|
/**
|
|
100
114
|
* These are the options to be displayed as suggestions. It can be either an array or a function:
|
|
101
115
|
* - Array: Array of options that will be filtered by the component.
|
|
102
|
-
* - Function: This function will be called when the user changes the value
|
|
103
|
-
*
|
|
116
|
+
* - Function: This function will be called when the user changes the value.
|
|
117
|
+
* It will receive the new value as a parameter and should return a promise
|
|
118
|
+
* that resolves to an array with the filtered options.
|
|
104
119
|
*/
|
|
105
120
|
suggestions?: string[] | ((value: string) => Promise<string[]>);
|
|
106
121
|
/**
|
|
@@ -110,17 +125,17 @@ declare type Props = {
|
|
|
110
125
|
* pattern, the onBlur and onChange functions will be called with the
|
|
111
126
|
* current value and an internal error informing that this value does not
|
|
112
127
|
* match the pattern. If the pattern is met, the error parameter of both
|
|
113
|
-
* events will be
|
|
128
|
+
* events will not be defined.
|
|
114
129
|
*/
|
|
115
130
|
pattern?: string;
|
|
116
131
|
/**
|
|
117
|
-
* Specifies the
|
|
132
|
+
* Specifies the minimum length allowed by the input.
|
|
118
133
|
* This will be checked both when the input element loses the
|
|
119
134
|
* focus and while typing within it. If the string entered does not
|
|
120
135
|
* comply the minimum length, the onBlur and onChange functions will be called
|
|
121
136
|
* with the current value and an internal error informing that the value
|
|
122
137
|
* length does not comply the specified range. If a valid length is
|
|
123
|
-
* reached, the error parameter of both events will be
|
|
138
|
+
* reached, the error parameter of both events will not be defined.
|
|
124
139
|
*/
|
|
125
140
|
minLength?: number;
|
|
126
141
|
/**
|
|
@@ -130,7 +145,7 @@ declare type Props = {
|
|
|
130
145
|
* comply the maximum length, the onBlur and onChange functions will be called
|
|
131
146
|
* with the current value and an internal error informing that the value
|
|
132
147
|
* length does not comply the specified range. If a valid length is
|
|
133
|
-
* reached, the error parameter of both events will be
|
|
148
|
+
* reached, the error parameter of both events will not be defined.
|
|
134
149
|
*/
|
|
135
150
|
maxLength?: number;
|
|
136
151
|
/**
|
|
@@ -144,7 +159,7 @@ declare type Props = {
|
|
|
144
159
|
*/
|
|
145
160
|
margin?: Space | Margin;
|
|
146
161
|
/**
|
|
147
|
-
* Size of the component
|
|
162
|
+
* Size of the component.
|
|
148
163
|
*/
|
|
149
164
|
size?: "small" | "medium" | "large" | "fillParent";
|
|
150
165
|
/**
|
|
@@ -152,8 +167,39 @@ declare type Props = {
|
|
|
152
167
|
*/
|
|
153
168
|
tabIndex?: number;
|
|
154
169
|
};
|
|
170
|
+
/**
|
|
171
|
+
* List of suggestions of an Text Input component.
|
|
172
|
+
*/
|
|
173
|
+
export type SuggestionsProps = {
|
|
174
|
+
id: string;
|
|
175
|
+
value: string;
|
|
176
|
+
suggestions: string[];
|
|
177
|
+
visualFocusIndex: number;
|
|
178
|
+
highlightedSuggestions: boolean;
|
|
179
|
+
searchHasErrors: boolean;
|
|
180
|
+
isSearching: boolean;
|
|
181
|
+
suggestionOnClick: (suggestion: string) => void;
|
|
182
|
+
styles: React.CSSProperties;
|
|
183
|
+
};
|
|
155
184
|
/**
|
|
156
185
|
* Reference to the component.
|
|
157
186
|
*/
|
|
158
|
-
export
|
|
187
|
+
export type RefType = HTMLDivElement;
|
|
188
|
+
/**
|
|
189
|
+
* Single suggestion of an Text Input component.
|
|
190
|
+
*/
|
|
191
|
+
export type SuggestionProps = {
|
|
192
|
+
id: string;
|
|
193
|
+
value: string;
|
|
194
|
+
onClick: (suggestion: string) => void;
|
|
195
|
+
suggestion: string;
|
|
196
|
+
isLast: boolean;
|
|
197
|
+
visuallyFocused: boolean;
|
|
198
|
+
highlighted: boolean;
|
|
199
|
+
};
|
|
200
|
+
export type AutosuggestWrapperProps = {
|
|
201
|
+
condition: boolean;
|
|
202
|
+
wrapper: (children: React.ReactNode) => JSX.Element;
|
|
203
|
+
children: React.ReactNode;
|
|
204
|
+
};
|
|
159
205
|
export default Props;
|
|
@@ -0,0 +1,155 @@
|
|
|
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 _Textarea = _interopRequireDefault(require("./Textarea.tsx"));
|
|
10
|
+
describe("Textarea component accessibility tests", function () {
|
|
11
|
+
it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
12
|
+
var _render, container, results;
|
|
13
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
14
|
+
while (1) switch (_context.prev = _context.next) {
|
|
15
|
+
case 0:
|
|
16
|
+
_render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
17
|
+
label: "Example label",
|
|
18
|
+
helperText: "Helper Text",
|
|
19
|
+
defaultValue: "Value",
|
|
20
|
+
margin: "medium",
|
|
21
|
+
placeholder: "Placeholder",
|
|
22
|
+
verticalGrow: "manual",
|
|
23
|
+
name: "Name",
|
|
24
|
+
autocomplete: "on",
|
|
25
|
+
minLength: 0,
|
|
26
|
+
maxLength: 100,
|
|
27
|
+
optional: true
|
|
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 pattern 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(_Textarea["default"], {
|
|
46
|
+
label: "Example label",
|
|
47
|
+
helperText: "Helper Text",
|
|
48
|
+
defaultValue: "Value",
|
|
49
|
+
margin: "medium",
|
|
50
|
+
placeholder: "Placeholder",
|
|
51
|
+
verticalGrow: "manual",
|
|
52
|
+
name: "Name",
|
|
53
|
+
autocomplete: "on",
|
|
54
|
+
minLength: 0,
|
|
55
|
+
maxLength: 100,
|
|
56
|
+
pattern: "^.*(?=.*[a-zA-Z])(?=.*)(?=.*[!&$%&? \"]).*$"
|
|
57
|
+
})), container = _render2.container;
|
|
58
|
+
_context2.next = 3;
|
|
59
|
+
return (0, _axeHelper.axe)(container);
|
|
60
|
+
case 3:
|
|
61
|
+
results = _context2.sent;
|
|
62
|
+
expect(results).toHaveNoViolations();
|
|
63
|
+
case 5:
|
|
64
|
+
case "end":
|
|
65
|
+
return _context2.stop();
|
|
66
|
+
}
|
|
67
|
+
}, _callee2);
|
|
68
|
+
})));
|
|
69
|
+
it("Should not have basic accessibility issues for error mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
70
|
+
var _render3, container, results;
|
|
71
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
72
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
73
|
+
case 0:
|
|
74
|
+
_render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
75
|
+
label: "Example label",
|
|
76
|
+
helperText: "Helper Text",
|
|
77
|
+
defaultValue: "Value",
|
|
78
|
+
margin: "medium",
|
|
79
|
+
placeholder: "Placeholder",
|
|
80
|
+
verticalGrow: "manual",
|
|
81
|
+
name: "Name",
|
|
82
|
+
error: "Error message.",
|
|
83
|
+
minLength: 0,
|
|
84
|
+
maxLength: 100
|
|
85
|
+
})), container = _render3.container;
|
|
86
|
+
_context3.next = 3;
|
|
87
|
+
return (0, _axeHelper.axe)(container);
|
|
88
|
+
case 3:
|
|
89
|
+
results = _context3.sent;
|
|
90
|
+
expect(results).toHaveNoViolations();
|
|
91
|
+
case 5:
|
|
92
|
+
case "end":
|
|
93
|
+
return _context3.stop();
|
|
94
|
+
}
|
|
95
|
+
}, _callee3);
|
|
96
|
+
})));
|
|
97
|
+
it("Should not have basic accessibility issues for disabled mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
98
|
+
var _render4, container, results;
|
|
99
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
100
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
101
|
+
case 0:
|
|
102
|
+
_render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
103
|
+
label: "Example label",
|
|
104
|
+
helperText: "Helper Text",
|
|
105
|
+
defaultValue: "Value",
|
|
106
|
+
margin: "medium",
|
|
107
|
+
placeholder: "Placeholder",
|
|
108
|
+
verticalGrow: "manual",
|
|
109
|
+
name: "Name",
|
|
110
|
+
autocomplete: "on",
|
|
111
|
+
minLength: 0,
|
|
112
|
+
maxLength: 100,
|
|
113
|
+
disabled: true
|
|
114
|
+
})), container = _render4.container;
|
|
115
|
+
_context4.next = 3;
|
|
116
|
+
return (0, _axeHelper.axe)(container);
|
|
117
|
+
case 3:
|
|
118
|
+
results = _context4.sent;
|
|
119
|
+
expect(results).toHaveNoViolations();
|
|
120
|
+
case 5:
|
|
121
|
+
case "end":
|
|
122
|
+
return _context4.stop();
|
|
123
|
+
}
|
|
124
|
+
}, _callee4);
|
|
125
|
+
})));
|
|
126
|
+
it("Should not have basic accessibility issues for read-only mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
|
|
127
|
+
var _render5, container, results;
|
|
128
|
+
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
129
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
130
|
+
case 0:
|
|
131
|
+
_render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
132
|
+
label: "Example label",
|
|
133
|
+
helperText: "Helper Text",
|
|
134
|
+
defaultValue: "Value",
|
|
135
|
+
margin: "medium",
|
|
136
|
+
placeholder: "Placeholder",
|
|
137
|
+
verticalGrow: "manual",
|
|
138
|
+
name: "Name",
|
|
139
|
+
autocomplete: "on",
|
|
140
|
+
minLength: 0,
|
|
141
|
+
maxLength: 100,
|
|
142
|
+
readOnly: true
|
|
143
|
+
})), container = _render5.container;
|
|
144
|
+
_context5.next = 3;
|
|
145
|
+
return (0, _axeHelper.axe)(container);
|
|
146
|
+
case 3:
|
|
147
|
+
results = _context5.sent;
|
|
148
|
+
expect(results).toHaveNoViolations();
|
|
149
|
+
case 5:
|
|
150
|
+
case "end":
|
|
151
|
+
return _context5.stop();
|
|
152
|
+
}
|
|
153
|
+
}, _callee5);
|
|
154
|
+
})));
|
|
155
|
+
});
|