@dxc-technology/halstack-react 0.0.0-8719165 → 0.0.0-87842b8
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 +1243 -6
- package/HalstackContext.js +126 -111
- package/README.md +47 -0
- package/accordion/Accordion.accessibility.test.js +71 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +104 -161
- package/accordion/Accordion.stories.tsx +84 -140
- package/accordion/Accordion.test.js +25 -41
- package/accordion/types.d.ts +6 -17
- package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
- package/accordion-group/AccordionGroup.d.ts +2 -2
- package/accordion-group/AccordionGroup.js +30 -98
- package/accordion-group/AccordionGroup.stories.tsx +94 -67
- package/accordion-group/AccordionGroup.test.js +52 -105
- 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 +12 -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 +32 -125
- 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 +141 -43
- package/badge/Badge.stories.tsx +210 -0
- package/badge/Badge.test.js +30 -0
- package/badge/types.d.ts +52 -3
- package/bleed/Bleed.js +13 -21
- package/bleed/Bleed.stories.tsx +1 -0
- package/bleed/types.d.ts +2 -2
- package/box/Box.accessibility.test.js +33 -0
- package/box/Box.d.ts +1 -1
- package/box/Box.js +19 -60
- package/box/Box.stories.tsx +38 -51
- package/box/Box.test.js +2 -7
- package/box/types.d.ts +3 -14
- package/bulleted-list/BulletedList.accessibility.test.js +107 -0
- package/bulleted-list/BulletedList.js +22 -53
- package/bulleted-list/BulletedList.stories.tsx +8 -93
- package/bulleted-list/types.d.ts +32 -5
- package/button/Button.accessibility.test.js +127 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +71 -106
- package/button/Button.stories.tsx +143 -101
- package/button/Button.test.js +20 -17
- package/button/types.d.ts +9 -5
- package/card/Card.accessibility.test.js +36 -0
- package/card/Card.d.ts +1 -1
- package/card/Card.js +48 -89
- 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 +140 -182
- package/checkbox/Checkbox.stories.tsx +128 -94
- package/checkbox/Checkbox.test.js +160 -39
- package/checkbox/types.d.ts +11 -3
- package/chip/Chip.accessibility.test.js +67 -0
- package/chip/Chip.js +43 -80
- package/chip/Chip.stories.tsx +102 -26
- 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 +1395 -0
- package/common/variables.js +931 -1164
- 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 +86 -0
- package/contextual-menu/ContextualMenu.d.ts +7 -0
- package/contextual-menu/ContextualMenu.js +71 -0
- package/contextual-menu/ContextualMenu.stories.tsx +182 -0
- package/contextual-menu/ContextualMenu.test.js +71 -0
- package/contextual-menu/MenuItemAction.d.ts +4 -0
- package/contextual-menu/MenuItemAction.js +46 -0
- package/contextual-menu/types.d.ts +22 -0
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +214 -0
- package/date-input/DateInput.accessibility.test.js +216 -0
- package/date-input/DateInput.js +150 -299
- package/date-input/DateInput.stories.tsx +203 -56
- package/date-input/DateInput.test.js +700 -371
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +115 -0
- package/date-input/Icons.d.ts +6 -0
- package/date-input/Icons.js +58 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +100 -0
- package/date-input/types.d.ts +72 -15
- package/dialog/Dialog.accessibility.test.js +69 -0
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.js +60 -118
- package/dialog/Dialog.stories.tsx +320 -166
- package/dialog/Dialog.test.js +270 -33
- 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/divider/types.js +5 -0
- package/dropdown/Dropdown.accessibility.test.js +180 -0
- package/dropdown/Dropdown.js +90 -158
- package/dropdown/Dropdown.stories.tsx +209 -94
- package/dropdown/Dropdown.test.js +410 -402
- package/dropdown/DropdownMenu.js +20 -37
- package/dropdown/DropdownMenuItem.js +16 -38
- package/dropdown/types.d.ts +20 -24
- package/file-input/FileInput.accessibility.test.js +160 -0
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +241 -355
- package/file-input/FileInput.stories.tsx +123 -12
- package/file-input/FileInput.test.js +369 -367
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +45 -96
- package/file-input/types.d.ts +25 -8
- package/flex/Flex.d.ts +1 -1
- package/flex/Flex.js +40 -40
- package/flex/Flex.stories.tsx +35 -26
- package/flex/types.d.ts +84 -8
- package/footer/Footer.accessibility.test.js +117 -0
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +73 -118
- package/footer/Footer.stories.tsx +87 -21
- package/footer/Footer.test.js +33 -57
- package/footer/Icons.d.ts +3 -2
- package/footer/Icons.js +66 -7
- 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 +84 -0
- package/header/Header.d.ts +4 -3
- package/header/Header.js +85 -168
- package/header/Header.stories.tsx +118 -39
- package/header/Header.test.js +13 -26
- package/header/Icons.d.ts +2 -2
- package/header/Icons.js +4 -9
- 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 +13 -21
- package/inset/Inset.stories.tsx +2 -1
- package/inset/types.d.ts +2 -2
- package/layout/ApplicationLayout.d.ts +5 -5
- package/layout/ApplicationLayout.js +30 -67
- package/layout/ApplicationLayout.stories.tsx +2 -1
- package/layout/Icons.d.ts +8 -5
- package/layout/Icons.js +49 -59
- package/layout/types.d.ts +5 -6
- package/link/Link.accessibility.test.js +112 -0
- package/link/Link.js +32 -51
- package/link/Link.stories.tsx +62 -2
- package/link/Link.test.js +24 -44
- package/link/types.d.ts +14 -14
- package/main.d.ts +10 -5
- package/main.js +47 -59
- package/nav-tabs/NavTabs.accessibility.test.js +52 -0
- package/nav-tabs/NavTabs.d.ts +7 -0
- package/{tabs-nav → nav-tabs}/NavTabs.js +25 -57
- package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +115 -9
- package/{tabs-nav → nav-tabs}/NavTabs.test.js +39 -45
- package/nav-tabs/NavTabsContext.d.ts +3 -0
- package/nav-tabs/NavTabsContext.js +8 -0
- package/nav-tabs/Tab.js +118 -0
- package/{tabs-nav → nav-tabs}/types.d.ts +14 -15
- package/nav-tabs/types.js +5 -0
- package/number-input/NumberInput.accessibility.test.js +228 -0
- package/number-input/NumberInput.js +46 -36
- package/number-input/NumberInput.stories.tsx +42 -26
- package/number-input/NumberInput.test.js +860 -377
- package/number-input/NumberInputContext.d.ts +3 -4
- package/number-input/NumberInputContext.js +3 -14
- package/number-input/types.d.ts +17 -5
- package/package.json +45 -48
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +21 -47
- package/paginator/Paginator.accessibility.test.js +79 -0
- package/paginator/Paginator.js +23 -59
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +253 -226
- package/paginator/types.d.ts +3 -3
- package/paragraph/Paragraph.accessibility.test.js +28 -0
- package/paragraph/Paragraph.d.ts +3 -4
- package/paragraph/Paragraph.js +6 -22
- package/paragraph/Paragraph.stories.tsx +0 -17
- package/password-input/Icons.d.ts +6 -0
- package/password-input/Icons.js +35 -0
- package/password-input/PasswordInput.accessibility.test.js +153 -0
- package/password-input/PasswordInput.js +57 -126
- package/password-input/PasswordInput.stories.tsx +1 -33
- package/password-input/PasswordInput.test.js +160 -142
- package/password-input/types.d.ts +8 -7
- package/progress-bar/ProgressBar.accessibility.test.js +35 -0
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +23 -55
- package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +36 -3
- package/progress-bar/ProgressBar.test.js +36 -53
- package/progress-bar/types.d.ts +4 -3
- package/quick-nav/QuickNav.accessibility.test.js +57 -0
- package/quick-nav/QuickNav.js +15 -39
- package/quick-nav/QuickNav.stories.tsx +112 -20
- package/quick-nav/types.d.ts +10 -10
- 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 +59 -105
- package/radio-group/RadioGroup.stories.tsx +132 -18
- package/radio-group/RadioGroup.test.js +518 -457
- package/radio-group/types.d.ts +10 -10
- package/resultset-table/Icons.d.ts +7 -0
- package/resultset-table/Icons.js +47 -0
- package/resultset-table/ResultsetTable.accessibility.test.js +274 -0
- package/resultset-table/ResultsetTable.d.ts +7 -0
- package/resultset-table/ResultsetTable.js +170 -0
- package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +156 -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/Icons.d.ts +7 -7
- package/select/Icons.js +1 -5
- package/select/Listbox.d.ts +1 -1
- package/select/Listbox.js +17 -73
- package/select/Option.js +27 -50
- package/select/Select.accessibility.test.js +217 -0
- package/select/Select.js +123 -176
- package/select/Select.stories.tsx +496 -153
- package/select/Select.test.js +1970 -1775
- package/select/types.d.ts +16 -17
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +47 -0
- package/sidenav/Sidenav.accessibility.test.js +59 -0
- package/sidenav/Sidenav.d.ts +2 -2
- package/sidenav/Sidenav.js +83 -154
- package/sidenav/Sidenav.stories.tsx +164 -63
- package/sidenav/Sidenav.test.js +3 -10
- package/{layout → sidenav}/SidenavContext.d.ts +1 -1
- package/{layout → sidenav}/SidenavContext.js +3 -9
- package/sidenav/types.d.ts +31 -28
- package/slider/Slider.accessibility.test.js +104 -0
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +148 -181
- package/slider/Slider.test.js +185 -81
- package/slider/types.d.ts +7 -3
- package/spinner/Spinner.accessibility.test.js +96 -0
- package/spinner/Spinner.js +31 -75
- 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 +89 -0
- package/switch/Switch.d.ts +3 -3
- package/switch/Switch.js +113 -150
- package/switch/Switch.stories.tsx +33 -34
- package/switch/Switch.test.js +70 -102
- package/switch/types.d.ts +8 -3
- package/table/DropdownTheme.js +62 -0
- package/table/Table.accessibility.test.js +82 -0
- package/table/Table.d.ts +6 -2
- package/table/Table.js +78 -35
- package/table/Table.stories.tsx +651 -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 +116 -0
- package/tabs/Tabs.accessibility.test.js +56 -0
- package/tabs/Tabs.js +314 -141
- package/tabs/Tabs.stories.tsx +120 -6
- package/tabs/Tabs.test.js +223 -69
- package/tabs/types.d.ts +28 -18
- package/tag/Tag.accessibility.test.js +69 -0
- package/tag/Tag.js +29 -61
- package/tag/Tag.stories.tsx +14 -1
- package/tag/Tag.test.js +20 -31
- package/tag/types.d.ts +7 -7
- package/text-input/Suggestion.js +40 -28
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +86 -0
- package/text-input/TextInput.accessibility.test.js +321 -0
- package/text-input/TextInput.js +303 -497
- package/text-input/TextInput.stories.tsx +266 -274
- package/text-input/TextInput.test.js +1419 -1375
- package/text-input/types.d.ts +43 -16
- package/textarea/Textarea.accessibility.test.js +155 -0
- package/textarea/Textarea.js +70 -113
- package/textarea/Textarea.stories.tsx +174 -0
- package/textarea/Textarea.test.js +152 -183
- package/textarea/types.d.ts +9 -5
- package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
- package/toggle-group/ToggleGroup.d.ts +2 -2
- package/toggle-group/ToggleGroup.js +92 -106
- package/toggle-group/ToggleGroup.stories.tsx +49 -4
- package/toggle-group/ToggleGroup.test.js +69 -88
- package/toggle-group/types.d.ts +26 -17
- package/typography/Typography.accessibility.test.js +339 -0
- package/typography/Typography.d.ts +2 -2
- package/typography/Typography.js +15 -123
- package/typography/Typography.stories.tsx +1 -1
- package/typography/types.d.ts +1 -1
- package/useTheme.d.ts +1147 -1
- package/useTheme.js +2 -9
- package/useTranslatedLabels.d.ts +84 -1
- package/useTranslatedLabels.js +1 -7
- 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.js +16 -51
- package/wizard/Wizard.stories.tsx +20 -0
- package/wizard/Wizard.test.js +54 -81
- package/wizard/types.d.ts +9 -10
- 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/number-input/numberInputContextTypes.d.ts +0 -19
- package/resultsetTable/ResultsetTable.d.ts +0 -4
- package/resultsetTable/ResultsetTable.js +0 -254
- package/resultsetTable/ResultsetTable.test.js +0 -348
- package/slider/Slider.stories.tsx +0 -177
- package/table/Table.stories.jsx +0 -277
- package/tabs-nav/NavTabs.d.ts +0 -8
- package/tabs-nav/Tab.js +0 -130
- package/textarea/Textarea.stories.jsx +0 -157
- /package/{resultsetTable → action-icon}/types.js +0 -0
- /package/{tabs-nav → container}/types.js +0 -0
- /package/{number-input/numberInputContextTypes.js → contextual-menu/types.js} +0 -0
- /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { userEvent, within
|
|
2
|
+
import { userEvent, within } from "@storybook/testing-library";
|
|
3
3
|
import Title from "../../.storybook/components/Title";
|
|
4
4
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
5
5
|
import DxcSelect from "./Select";
|
|
6
6
|
import Listbox from "./Listbox";
|
|
7
|
-
import
|
|
8
|
-
import
|
|
7
|
+
import { ThemeProvider } from "styled-components";
|
|
8
|
+
import useTheme from "../useTheme";
|
|
9
|
+
import { HalstackProvider } from "../HalstackContext";
|
|
9
10
|
|
|
10
11
|
export default {
|
|
11
12
|
title: "Select",
|
|
@@ -13,12 +14,14 @@ export default {
|
|
|
13
14
|
};
|
|
14
15
|
|
|
15
16
|
const one_option = [{ label: "Option 01", value: "1" }];
|
|
17
|
+
|
|
16
18
|
const single_options = [
|
|
17
19
|
{ label: "Option 01", value: "1" },
|
|
18
20
|
{ label: "Option 02", value: "2" },
|
|
19
21
|
{ label: "Option 03", value: "3" },
|
|
20
22
|
{ label: "Option 04", value: "4" },
|
|
21
23
|
];
|
|
24
|
+
|
|
22
25
|
const group_options = [
|
|
23
26
|
{
|
|
24
27
|
label: "Group 001",
|
|
@@ -61,6 +64,7 @@ const group_options = [
|
|
|
61
64
|
],
|
|
62
65
|
},
|
|
63
66
|
];
|
|
67
|
+
|
|
64
68
|
const icon_options_grouped = [
|
|
65
69
|
{
|
|
66
70
|
label: "Group 001",
|
|
@@ -124,6 +128,7 @@ const icon_options_grouped = [
|
|
|
124
128
|
],
|
|
125
129
|
},
|
|
126
130
|
];
|
|
131
|
+
|
|
127
132
|
const icon_options = [
|
|
128
133
|
{
|
|
129
134
|
label: "3G Mobile",
|
|
@@ -172,6 +177,7 @@ const icon_options = [
|
|
|
172
177
|
),
|
|
173
178
|
},
|
|
174
179
|
];
|
|
180
|
+
|
|
175
181
|
const url_options = [
|
|
176
182
|
{
|
|
177
183
|
label: "Social Media",
|
|
@@ -182,14 +188,35 @@ const url_options = [
|
|
|
182
188
|
icon: "https://upload.wikimedia.org/wikipedia/commons/thumb/e/e7/Instagram_logo_2016.svg/800px-Instagram_logo_2016.svg.png",
|
|
183
189
|
},
|
|
184
190
|
{
|
|
185
|
-
label: "
|
|
186
|
-
value: "
|
|
187
|
-
icon: "https://
|
|
191
|
+
label: "X",
|
|
192
|
+
value: "x",
|
|
193
|
+
icon: "https://static.dezeen.com/uploads/2023/07/x-logo-twitter-elon-musk_dezeen_2364_col_0.jpg",
|
|
188
194
|
},
|
|
189
195
|
{
|
|
190
196
|
label: "Facebook",
|
|
191
197
|
value: "facebook",
|
|
192
|
-
icon:
|
|
198
|
+
icon: (
|
|
199
|
+
<svg
|
|
200
|
+
version="1.1"
|
|
201
|
+
x="0px"
|
|
202
|
+
y="0px"
|
|
203
|
+
width="438.536px"
|
|
204
|
+
height="438.536px"
|
|
205
|
+
viewBox="0 0 438.536 438.536"
|
|
206
|
+
fill="#4267B2"
|
|
207
|
+
>
|
|
208
|
+
<g>
|
|
209
|
+
<path
|
|
210
|
+
d="M414.41,24.123C398.333,8.042,378.963,0,356.315,0H82.228C59.58,0,40.21,8.042,24.126,24.123
|
|
211
|
+
C8.045,40.207,0.003,59.576,0.003,82.225v274.084c0,22.647,8.042,42.018,24.123,58.102c16.084,16.084,35.454,24.126,58.102,24.126
|
|
212
|
+
h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225
|
|
213
|
+
C438.532,59.576,430.49,40.204,414.41,24.123z M373.155,225.548h-49.963V406.84h-74.802V225.548H210.99V163.02h37.401v-37.402
|
|
214
|
+
c0-26.838,6.283-47.107,18.843-60.813c12.559-13.706,33.304-20.555,62.242-20.555h49.963v62.526h-31.401
|
|
215
|
+
c-10.663,0-17.467,1.853-20.417,5.568c-2.949,3.711-4.428,10.23-4.428,19.558v31.119h56.534L373.155,225.548z"
|
|
216
|
+
/>
|
|
217
|
+
</g>
|
|
218
|
+
</svg>
|
|
219
|
+
),
|
|
193
220
|
},
|
|
194
221
|
{
|
|
195
222
|
label: "Pinterest",
|
|
@@ -219,13 +246,22 @@ const url_options = [
|
|
|
219
246
|
],
|
|
220
247
|
},
|
|
221
248
|
];
|
|
249
|
+
|
|
222
250
|
const optionsWithEllipsisMedium = [
|
|
223
251
|
{ label: "Optiond1234567890123456789012345678901234", value: "1" },
|
|
224
252
|
{ label: "Optiond12345678901234567890123456789012345", value: "2" },
|
|
225
253
|
{ label: "Option 031111111111111111111111111111222", value: "3" },
|
|
226
|
-
{ label: "Option 03111111111111111111111111111222", value: "4" },
|
|
227
254
|
];
|
|
228
255
|
|
|
256
|
+
const opinionatedTheme = {
|
|
257
|
+
select: {
|
|
258
|
+
selectedOptionBackgroundColor: "#e6f4ff",
|
|
259
|
+
fontColor: "#000000",
|
|
260
|
+
optionFontColor: "#000000",
|
|
261
|
+
hoverBorderColor: "#a46ede",
|
|
262
|
+
},
|
|
263
|
+
};
|
|
264
|
+
|
|
229
265
|
const Select = () => (
|
|
230
266
|
<>
|
|
231
267
|
<Title title="States" theme="light" level={2} />
|
|
@@ -338,123 +374,380 @@ const Select = () => (
|
|
|
338
374
|
<Title title="Multiple selection with ellipsis" theme="light" level={4} />
|
|
339
375
|
<DxcSelect label="Label" options={single_options} multiple defaultValue={["1", "2", "3", "4"]} />
|
|
340
376
|
<Title title="Value with ellipsis" theme="light" level={4} />
|
|
341
|
-
<DxcSelect label="Label" options={optionsWithEllipsisMedium} defaultValue="1"
|
|
377
|
+
<DxcSelect label="Label" options={optionsWithEllipsisMedium} defaultValue="1" />
|
|
342
378
|
<Title title="Options with ellipsis" theme="light" level={4} />
|
|
343
379
|
<DxcSelect
|
|
344
380
|
label="Label"
|
|
345
381
|
placeholder="Choose an option"
|
|
346
382
|
defaultValue="1"
|
|
347
383
|
options={optionsWithEllipsisMedium}
|
|
348
|
-
|
|
384
|
+
margin={{ top: "xxlarge" }}
|
|
349
385
|
/>
|
|
350
386
|
</ExampleContainer>
|
|
351
|
-
|
|
352
|
-
);
|
|
353
|
-
const SelectListbox = () => (
|
|
354
|
-
<>
|
|
355
|
-
<Title title="Listbox" theme="light" level={2} />
|
|
356
|
-
<Title title="Default with opened listbox" theme="light" level={3} />
|
|
357
|
-
<ExampleContainer>
|
|
358
|
-
<div style={{ display: "flex", gap: "30px", flexDirection: "column", marginBottom: "80px" }}>
|
|
359
|
-
<DxcSelect label="Label" options={single_options} optional placeholder="Choose an option" />
|
|
360
|
-
<DxcCheckbox
|
|
361
|
-
label="You understand the selection and give your consent"
|
|
362
|
-
onChange={() => {}}
|
|
363
|
-
labelPosition="after"
|
|
364
|
-
/>
|
|
365
|
-
<DxcButton label="Submit" onClick={() => {}} size="medium" />
|
|
366
|
-
</div>
|
|
367
|
-
</ExampleContainer>
|
|
368
|
-
<Title title="Listbox option states" theme="light" level={3} />
|
|
387
|
+
<Title title="Opinionated theme" theme="light" level={2} />
|
|
369
388
|
<ExampleContainer pseudoState="pseudo-hover">
|
|
370
|
-
<Title title="Hovered
|
|
371
|
-
<
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
options={one_option}
|
|
375
|
-
visualFocusIndex={-1}
|
|
376
|
-
lastOptionIndex={0}
|
|
377
|
-
multiple={false}
|
|
378
|
-
optional={false}
|
|
379
|
-
optionalItem={{ label: "Empty", value: "" }}
|
|
380
|
-
searchable={false}
|
|
381
|
-
handleOptionOnClick={() => {}}
|
|
382
|
-
getSelectWidth={() => 360}
|
|
383
|
-
/>
|
|
389
|
+
<Title title="Hovered" theme="light" level={4} />
|
|
390
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
391
|
+
<DxcSelect label="Hovered" options={single_options} />
|
|
392
|
+
</HalstackProvider>
|
|
384
393
|
</ExampleContainer>
|
|
385
|
-
<ExampleContainer pseudoState="pseudo-
|
|
386
|
-
<Title title="
|
|
387
|
-
<
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
options={one_option}
|
|
391
|
-
visualFocusIndex={-1}
|
|
392
|
-
lastOptionIndex={0}
|
|
393
|
-
multiple={false}
|
|
394
|
-
optional={false}
|
|
395
|
-
optionalItem={{ label: "Empty", value: "" }}
|
|
396
|
-
searchable={false}
|
|
397
|
-
handleOptionOnClick={() => {}}
|
|
398
|
-
getSelectWidth={() => 360}
|
|
399
|
-
|
|
400
|
-
/>
|
|
394
|
+
<ExampleContainer pseudoState="pseudo-focus-within">
|
|
395
|
+
<Title title="Focused" theme="light" level={4} />
|
|
396
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
397
|
+
<DxcSelect label="Focused" options={single_options} />
|
|
398
|
+
</HalstackProvider>
|
|
401
399
|
</ExampleContainer>
|
|
402
400
|
<ExampleContainer>
|
|
403
|
-
<Title title="
|
|
404
|
-
<
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
options={one_option}
|
|
408
|
-
visualFocusIndex={0}
|
|
409
|
-
lastOptionIndex={0}
|
|
410
|
-
multiple={false}
|
|
411
|
-
optional={false}
|
|
412
|
-
optionalItem={{ label: "Empty", value: "" }}
|
|
413
|
-
searchable={false}
|
|
414
|
-
handleOptionOnClick={() => {}}
|
|
415
|
-
getSelectWidth={() => 360}
|
|
416
|
-
/>
|
|
401
|
+
<Title title="Disabled" theme="light" level={4} />
|
|
402
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
403
|
+
<DxcSelect label="Disabled" placeholder="Placeholder" disabled options={single_options} />
|
|
404
|
+
</HalstackProvider>
|
|
417
405
|
</ExampleContainer>
|
|
418
|
-
<ExampleContainer
|
|
419
|
-
<Title title="
|
|
420
|
-
<
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
options={single_options}
|
|
424
|
-
visualFocusIndex={-1}
|
|
425
|
-
lastOptionIndex={3}
|
|
426
|
-
multiple={false}
|
|
427
|
-
optional={false}
|
|
428
|
-
optionalItem={{ label: "Empty", value: "" }}
|
|
429
|
-
searchable={false}
|
|
430
|
-
handleOptionOnClick={() => {}}
|
|
431
|
-
getSelectWidth={() => 360}
|
|
432
|
-
/>
|
|
406
|
+
<ExampleContainer>
|
|
407
|
+
<Title title="Disabled with value" theme="light" level={4} />
|
|
408
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
409
|
+
<DxcSelect label="Disabled with value" disabled options={single_options} defaultValue="1" />
|
|
410
|
+
</HalstackProvider>
|
|
433
411
|
</ExampleContainer>
|
|
434
|
-
<ExampleContainer
|
|
435
|
-
<Title title="
|
|
436
|
-
<
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
412
|
+
<ExampleContainer>
|
|
413
|
+
<Title title="Error" theme="light" level={4} />
|
|
414
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
415
|
+
<DxcSelect
|
|
416
|
+
label="Label"
|
|
417
|
+
options={single_options}
|
|
418
|
+
error="Error message."
|
|
419
|
+
helperText="Helper text"
|
|
420
|
+
placeholder="Placeholder"
|
|
421
|
+
/>
|
|
422
|
+
<ExampleContainer>
|
|
423
|
+
<Title title="Multiple selection" theme="light" level={4} />
|
|
424
|
+
<DxcSelect label="Multiple select" searchable options={single_options} multiple defaultValue={["1", "2"]} />
|
|
425
|
+
</ExampleContainer>
|
|
426
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
427
|
+
<Title title="Multiple clear hovered" theme="light" level={4} />
|
|
428
|
+
<DxcSelect label="Multiple select" options={single_options} multiple defaultValue={["1", "2"]} />
|
|
429
|
+
</ExampleContainer>
|
|
430
|
+
<ExampleContainer pseudoState="pseudo-active">
|
|
431
|
+
<Title title="Multiple clear actived" theme="light" level={4} />
|
|
432
|
+
<DxcSelect label="Multiple select" options={single_options} multiple defaultValue={["1", "2"]} />
|
|
433
|
+
</ExampleContainer>
|
|
434
|
+
</HalstackProvider>
|
|
449
435
|
</ExampleContainer>
|
|
450
436
|
</>
|
|
451
437
|
);
|
|
438
|
+
|
|
439
|
+
const SelectListbox = () => {
|
|
440
|
+
const colorsTheme: any = useTheme();
|
|
441
|
+
|
|
442
|
+
return (
|
|
443
|
+
<>
|
|
444
|
+
<ThemeProvider theme={colorsTheme.select}>
|
|
445
|
+
<Title title="Listbox" theme="light" level={2} />
|
|
446
|
+
<ExampleContainer>
|
|
447
|
+
<Title
|
|
448
|
+
title="List dialog uses a Radix Popover to appear over elements with a certain z-index"
|
|
449
|
+
theme="light"
|
|
450
|
+
level={3}
|
|
451
|
+
/>
|
|
452
|
+
<div
|
|
453
|
+
style={{
|
|
454
|
+
position: "relative",
|
|
455
|
+
display: "flex",
|
|
456
|
+
flexDirection: "column",
|
|
457
|
+
gap: "20px",
|
|
458
|
+
height: "150px",
|
|
459
|
+
width: "min-content",
|
|
460
|
+
marginBottom: "100px",
|
|
461
|
+
padding: "20px",
|
|
462
|
+
border: "1px solid black",
|
|
463
|
+
borderRadius: "4px",
|
|
464
|
+
overflow: "auto",
|
|
465
|
+
zIndex: "1300",
|
|
466
|
+
}}
|
|
467
|
+
>
|
|
468
|
+
<DxcSelect label="Label" options={single_options} optional placeholder="Choose an option" />
|
|
469
|
+
<button style={{ zIndex: "1", width: "100px" }}>Submit</button>
|
|
470
|
+
</div>
|
|
471
|
+
</ExampleContainer>
|
|
472
|
+
<Title title="Listbox option states" theme="light" level={3} />
|
|
473
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
474
|
+
<Title title="Hovered option" theme="light" level={4} />
|
|
475
|
+
<Listbox
|
|
476
|
+
id="x"
|
|
477
|
+
currentValue=""
|
|
478
|
+
options={one_option}
|
|
479
|
+
visualFocusIndex={-1}
|
|
480
|
+
lastOptionIndex={0}
|
|
481
|
+
multiple={false}
|
|
482
|
+
optional={false}
|
|
483
|
+
optionalItem={{ label: "Empty", value: "" }}
|
|
484
|
+
searchable={false}
|
|
485
|
+
handleOptionOnClick={() => {}}
|
|
486
|
+
styles={{ width: 360 }}
|
|
487
|
+
/>
|
|
488
|
+
</ExampleContainer>
|
|
489
|
+
<ExampleContainer pseudoState="pseudo-active">
|
|
490
|
+
<Title title="Active option" theme="light" level={4} />
|
|
491
|
+
<Listbox
|
|
492
|
+
id="x"
|
|
493
|
+
currentValue=""
|
|
494
|
+
options={one_option}
|
|
495
|
+
visualFocusIndex={-1}
|
|
496
|
+
lastOptionIndex={0}
|
|
497
|
+
multiple={false}
|
|
498
|
+
optional={false}
|
|
499
|
+
optionalItem={{ label: "Empty", value: "" }}
|
|
500
|
+
searchable={false}
|
|
501
|
+
handleOptionOnClick={() => {}}
|
|
502
|
+
styles={{ width: 360 }}
|
|
503
|
+
/>
|
|
504
|
+
</ExampleContainer>
|
|
505
|
+
<ExampleContainer>
|
|
506
|
+
<Title title="Focused option" theme="light" level={4} />
|
|
507
|
+
<Listbox
|
|
508
|
+
id="x"
|
|
509
|
+
currentValue=""
|
|
510
|
+
options={one_option}
|
|
511
|
+
visualFocusIndex={0}
|
|
512
|
+
lastOptionIndex={0}
|
|
513
|
+
multiple={false}
|
|
514
|
+
optional={false}
|
|
515
|
+
optionalItem={{ label: "Empty", value: "" }}
|
|
516
|
+
searchable={false}
|
|
517
|
+
handleOptionOnClick={() => {}}
|
|
518
|
+
styles={{ width: 360 }}
|
|
519
|
+
/>
|
|
520
|
+
</ExampleContainer>
|
|
521
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
522
|
+
<Title title="Hovered selected option" theme="light" level={4} />
|
|
523
|
+
<Listbox
|
|
524
|
+
id="x"
|
|
525
|
+
currentValue="1"
|
|
526
|
+
options={single_options}
|
|
527
|
+
visualFocusIndex={-1}
|
|
528
|
+
lastOptionIndex={3}
|
|
529
|
+
multiple={false}
|
|
530
|
+
optional={false}
|
|
531
|
+
optionalItem={{ label: "Empty", value: "" }}
|
|
532
|
+
searchable={false}
|
|
533
|
+
handleOptionOnClick={() => {}}
|
|
534
|
+
styles={{ width: 360 }}
|
|
535
|
+
/>
|
|
536
|
+
</ExampleContainer>
|
|
537
|
+
<ExampleContainer pseudoState="pseudo-active">
|
|
538
|
+
<Title title="Active selected option" theme="light" level={4} />
|
|
539
|
+
<Listbox
|
|
540
|
+
id="x"
|
|
541
|
+
currentValue="2"
|
|
542
|
+
options={single_options}
|
|
543
|
+
visualFocusIndex={0}
|
|
544
|
+
lastOptionIndex={3}
|
|
545
|
+
multiple={false}
|
|
546
|
+
optional={false}
|
|
547
|
+
optionalItem={{ label: "Empty", value: "" }}
|
|
548
|
+
searchable={false}
|
|
549
|
+
handleOptionOnClick={() => {}}
|
|
550
|
+
styles={{ width: 360 }}
|
|
551
|
+
/>
|
|
552
|
+
</ExampleContainer>
|
|
553
|
+
<Title title="Listbox with icons" theme="light" level={3} />
|
|
554
|
+
<ExampleContainer>
|
|
555
|
+
<Title title="Icons (SVGs)" theme="light" level={4} />
|
|
556
|
+
<Listbox
|
|
557
|
+
id="x"
|
|
558
|
+
currentValue="3"
|
|
559
|
+
options={icon_options}
|
|
560
|
+
visualFocusIndex={-1}
|
|
561
|
+
lastOptionIndex={3}
|
|
562
|
+
multiple={false}
|
|
563
|
+
optional={false}
|
|
564
|
+
optionalItem={{ label: "Empty", value: "" }}
|
|
565
|
+
searchable={false}
|
|
566
|
+
handleOptionOnClick={() => {}}
|
|
567
|
+
styles={{ width: 360 }}
|
|
568
|
+
/>
|
|
569
|
+
</ExampleContainer>
|
|
570
|
+
<ExampleContainer>
|
|
571
|
+
<Title title="Icons (Images)" theme="light" level={4} />
|
|
572
|
+
<Listbox
|
|
573
|
+
id="x"
|
|
574
|
+
currentValue="facebook"
|
|
575
|
+
options={url_options}
|
|
576
|
+
visualFocusIndex={-1}
|
|
577
|
+
lastOptionIndex={6}
|
|
578
|
+
multiple={false}
|
|
579
|
+
optional={false}
|
|
580
|
+
optionalItem={{ label: "Empty", value: "" }}
|
|
581
|
+
searchable={false}
|
|
582
|
+
handleOptionOnClick={() => {}}
|
|
583
|
+
styles={{ width: 360 }}
|
|
584
|
+
/>
|
|
585
|
+
</ExampleContainer>
|
|
586
|
+
<ExampleContainer>
|
|
587
|
+
<Title title="Grouped icons (SVGs)" theme="light" level={4} />
|
|
588
|
+
<Listbox
|
|
589
|
+
id="x"
|
|
590
|
+
currentValue={["0", "3"]}
|
|
591
|
+
options={icon_options_grouped}
|
|
592
|
+
visualFocusIndex={-1}
|
|
593
|
+
lastOptionIndex={3}
|
|
594
|
+
multiple={false}
|
|
595
|
+
optional={false}
|
|
596
|
+
optionalItem={{ label: "Empty", value: "" }}
|
|
597
|
+
searchable={false}
|
|
598
|
+
handleOptionOnClick={() => {}}
|
|
599
|
+
styles={{ width: 360 }}
|
|
600
|
+
/>
|
|
601
|
+
</ExampleContainer>
|
|
602
|
+
<ExampleContainer>
|
|
603
|
+
<Title title="Grouped icons (Images)" theme="light" level={4} />
|
|
604
|
+
<Listbox
|
|
605
|
+
id="x"
|
|
606
|
+
currentValue={["facebook", "figma"]}
|
|
607
|
+
options={url_options}
|
|
608
|
+
visualFocusIndex={-1}
|
|
609
|
+
lastOptionIndex={6}
|
|
610
|
+
multiple={true}
|
|
611
|
+
optional={false}
|
|
612
|
+
optionalItem={{ label: "Empty", value: "" }}
|
|
613
|
+
searchable={false}
|
|
614
|
+
handleOptionOnClick={() => {}}
|
|
615
|
+
styles={{ width: 360 }}
|
|
616
|
+
/>
|
|
617
|
+
</ExampleContainer>
|
|
618
|
+
</ThemeProvider>
|
|
619
|
+
<ThemeProvider theme={colorsTheme.select}>
|
|
620
|
+
<Title title="Opinionated theme" theme="light" level={2} />
|
|
621
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
622
|
+
<Title title="Hovered option" theme="light" level={4} />
|
|
623
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
624
|
+
<Listbox
|
|
625
|
+
id="x"
|
|
626
|
+
currentValue=""
|
|
627
|
+
options={one_option}
|
|
628
|
+
visualFocusIndex={-1}
|
|
629
|
+
lastOptionIndex={0}
|
|
630
|
+
multiple={false}
|
|
631
|
+
optional={false}
|
|
632
|
+
optionalItem={{ label: "Empty", value: "" }}
|
|
633
|
+
searchable={false}
|
|
634
|
+
handleOptionOnClick={() => {}}
|
|
635
|
+
styles={{ width: 360 }}
|
|
636
|
+
/>
|
|
637
|
+
</HalstackProvider>
|
|
638
|
+
</ExampleContainer>
|
|
639
|
+
<ExampleContainer pseudoState="pseudo-active">
|
|
640
|
+
<Title title="Active option" theme="light" level={4} />{" "}
|
|
641
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
642
|
+
<Listbox
|
|
643
|
+
id="x"
|
|
644
|
+
currentValue=""
|
|
645
|
+
options={one_option}
|
|
646
|
+
visualFocusIndex={-1}
|
|
647
|
+
lastOptionIndex={0}
|
|
648
|
+
multiple={false}
|
|
649
|
+
optional={false}
|
|
650
|
+
optionalItem={{ label: "Empty", value: "" }}
|
|
651
|
+
searchable={false}
|
|
652
|
+
handleOptionOnClick={() => {}}
|
|
653
|
+
styles={{ width: 360 }}
|
|
654
|
+
/>
|
|
655
|
+
</HalstackProvider>
|
|
656
|
+
</ExampleContainer>
|
|
657
|
+
<ExampleContainer>
|
|
658
|
+
<Title title="Focused option" theme="light" level={4} />{" "}
|
|
659
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
660
|
+
<Listbox
|
|
661
|
+
id="x"
|
|
662
|
+
currentValue=""
|
|
663
|
+
options={one_option}
|
|
664
|
+
visualFocusIndex={0}
|
|
665
|
+
lastOptionIndex={0}
|
|
666
|
+
multiple={false}
|
|
667
|
+
optional={false}
|
|
668
|
+
optionalItem={{ label: "Empty", value: "" }}
|
|
669
|
+
searchable={false}
|
|
670
|
+
handleOptionOnClick={() => {}}
|
|
671
|
+
styles={{ width: 360 }}
|
|
672
|
+
/>
|
|
673
|
+
</HalstackProvider>
|
|
674
|
+
</ExampleContainer>
|
|
675
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
676
|
+
<Title title="Hovered selected option" theme="light" level={4} />{" "}
|
|
677
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
678
|
+
<Listbox
|
|
679
|
+
id="x"
|
|
680
|
+
currentValue="1"
|
|
681
|
+
options={single_options}
|
|
682
|
+
visualFocusIndex={-1}
|
|
683
|
+
lastOptionIndex={3}
|
|
684
|
+
multiple={false}
|
|
685
|
+
optional={false}
|
|
686
|
+
optionalItem={{ label: "Empty", value: "" }}
|
|
687
|
+
searchable={false}
|
|
688
|
+
handleOptionOnClick={() => {}}
|
|
689
|
+
styles={{ width: 360 }}
|
|
690
|
+
/>
|
|
691
|
+
</HalstackProvider>
|
|
692
|
+
</ExampleContainer>
|
|
693
|
+
<ExampleContainer pseudoState="pseudo-active">
|
|
694
|
+
<Title title="Active selected option" theme="light" level={4} />{" "}
|
|
695
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
696
|
+
<Listbox
|
|
697
|
+
id="x"
|
|
698
|
+
currentValue="2"
|
|
699
|
+
options={single_options}
|
|
700
|
+
visualFocusIndex={0}
|
|
701
|
+
lastOptionIndex={3}
|
|
702
|
+
multiple={false}
|
|
703
|
+
optional={false}
|
|
704
|
+
optionalItem={{ label: "Empty", value: "" }}
|
|
705
|
+
searchable={false}
|
|
706
|
+
handleOptionOnClick={() => {}}
|
|
707
|
+
styles={{ width: 360 }}
|
|
708
|
+
/>
|
|
709
|
+
</HalstackProvider>
|
|
710
|
+
</ExampleContainer>
|
|
711
|
+
<Title title="Listbox with icons" theme="light" level={3} />
|
|
712
|
+
<ExampleContainer>
|
|
713
|
+
<Title title="Icons (SVGs)" theme="light" level={4} />{" "}
|
|
714
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
715
|
+
<Listbox
|
|
716
|
+
id="x"
|
|
717
|
+
currentValue="3"
|
|
718
|
+
options={icon_options}
|
|
719
|
+
visualFocusIndex={-1}
|
|
720
|
+
lastOptionIndex={3}
|
|
721
|
+
multiple={false}
|
|
722
|
+
optional={false}
|
|
723
|
+
optionalItem={{ label: "Empty", value: "" }}
|
|
724
|
+
searchable={false}
|
|
725
|
+
handleOptionOnClick={() => {}}
|
|
726
|
+
styles={{ width: 360 }}
|
|
727
|
+
/>
|
|
728
|
+
</HalstackProvider>
|
|
729
|
+
</ExampleContainer>
|
|
730
|
+
</ThemeProvider>
|
|
731
|
+
</>
|
|
732
|
+
);
|
|
733
|
+
};
|
|
734
|
+
|
|
452
735
|
const SearchableSelect = () => (
|
|
453
736
|
<ExampleContainer expanded>
|
|
454
737
|
<Title title="Searchable select" theme="light" level={4} />
|
|
455
738
|
<DxcSelect label="Select Label" searchable options={single_options} placeholder="Choose an option" />
|
|
456
739
|
</ExampleContainer>
|
|
457
740
|
);
|
|
741
|
+
|
|
742
|
+
const SearchableSelectOpinionated = () => (
|
|
743
|
+
<ExampleContainer expanded>
|
|
744
|
+
<Title title="Searchable select" theme="light" level={4} />
|
|
745
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
746
|
+
<DxcSelect label="Select Label" searchable options={single_options} placeholder="Choose an option" />
|
|
747
|
+
</HalstackProvider>
|
|
748
|
+
</ExampleContainer>
|
|
749
|
+
);
|
|
750
|
+
|
|
458
751
|
const SearchValue = () => (
|
|
459
752
|
<ExampleContainer expanded>
|
|
460
753
|
<Title title="Searchable select with value" theme="light" level={4} />
|
|
@@ -467,6 +760,22 @@ const SearchValue = () => (
|
|
|
467
760
|
/>
|
|
468
761
|
</ExampleContainer>
|
|
469
762
|
);
|
|
763
|
+
|
|
764
|
+
const SearchValueOpinionated = () => (
|
|
765
|
+
<ExampleContainer expanded>
|
|
766
|
+
<Title title="Searchable select with value" theme="light" level={4} />
|
|
767
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
768
|
+
<DxcSelect
|
|
769
|
+
label="Select Label"
|
|
770
|
+
searchable
|
|
771
|
+
defaultValue="1"
|
|
772
|
+
options={single_options}
|
|
773
|
+
placeholder="Choose an option"
|
|
774
|
+
/>
|
|
775
|
+
</HalstackProvider>
|
|
776
|
+
</ExampleContainer>
|
|
777
|
+
);
|
|
778
|
+
|
|
470
779
|
const MultipleSelect = () => (
|
|
471
780
|
<>
|
|
472
781
|
<ExampleContainer expanded>
|
|
@@ -481,12 +790,38 @@ const MultipleSelect = () => (
|
|
|
481
790
|
</ExampleContainer>
|
|
482
791
|
</>
|
|
483
792
|
);
|
|
793
|
+
|
|
794
|
+
const MultipleSelectOpinioated = () => (
|
|
795
|
+
<ExampleContainer expanded>
|
|
796
|
+
<Title title="Multiple select" theme="light" level={4} />
|
|
797
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
798
|
+
<DxcSelect
|
|
799
|
+
label="Select label"
|
|
800
|
+
options={single_options}
|
|
801
|
+
defaultValue={["1", "4"]}
|
|
802
|
+
multiple
|
|
803
|
+
placeholder="Choose an option"
|
|
804
|
+
/>
|
|
805
|
+
</HalstackProvider>
|
|
806
|
+
</ExampleContainer>
|
|
807
|
+
);
|
|
808
|
+
|
|
484
809
|
const DefaultGroupedOptionsSelect = () => (
|
|
485
810
|
<ExampleContainer expanded>
|
|
486
811
|
<Title title="Grouped options simple select" theme="light" level={4} />
|
|
487
812
|
<DxcSelect label="Label" options={group_options} defaultValue="9" placeholder="Choose an option" />
|
|
488
813
|
</ExampleContainer>
|
|
489
814
|
);
|
|
815
|
+
|
|
816
|
+
const DefaultGroupedOptionsSelectOpinionated = () => (
|
|
817
|
+
<ExampleContainer expanded>
|
|
818
|
+
<Title title="Grouped options simple select" theme="light" level={4} />
|
|
819
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
820
|
+
<DxcSelect label="Label" options={group_options} defaultValue="9" placeholder="Choose an option" />
|
|
821
|
+
</HalstackProvider>
|
|
822
|
+
</ExampleContainer>
|
|
823
|
+
);
|
|
824
|
+
|
|
490
825
|
const MultipleGroupedOptionsSelect = () => (
|
|
491
826
|
<ExampleContainer expanded>
|
|
492
827
|
<Title title="Grouped options multiple select" theme="light" level={4} />
|
|
@@ -499,34 +834,19 @@ const MultipleGroupedOptionsSelect = () => (
|
|
|
499
834
|
/>
|
|
500
835
|
</ExampleContainer>
|
|
501
836
|
);
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
<Title title="Rescaled icons displayed" theme="light" level={4} />
|
|
505
|
-
<DxcSelect label="Label" options={url_options} defaultValue="facebook" placeholder="Choose an option" />
|
|
506
|
-
</ExampleContainer>
|
|
507
|
-
);
|
|
508
|
-
const SelectWithIcons = () => (
|
|
509
|
-
<ExampleContainer expanded>
|
|
510
|
-
<Title title="Normal icons displayed" theme="light" level={4} />
|
|
511
|
-
<DxcSelect label="Label" options={icon_options} defaultValue="3" placeholder="Choose an option" />
|
|
512
|
-
</ExampleContainer>
|
|
513
|
-
);
|
|
514
|
-
const SelectMultipleWithIcons = () => (
|
|
515
|
-
<ExampleContainer expanded>
|
|
516
|
-
<Title title="Multiple select with icons" theme="light" level={4} />
|
|
517
|
-
<DxcSelect label="Label" options={icon_options} multiple defaultValue={["1", "3"]} placeholder="Choose an option" />
|
|
518
|
-
</ExampleContainer>
|
|
519
|
-
);
|
|
520
|
-
const MultipleGroupedOptionsSelectWithIcons = () => (
|
|
837
|
+
|
|
838
|
+
const MultipleGroupedOptionsSelectOpinionated = () => (
|
|
521
839
|
<ExampleContainer expanded>
|
|
522
|
-
<Title title="
|
|
523
|
-
<
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
840
|
+
<Title title="Grouped options multiple select" theme="light" level={4} />
|
|
841
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
842
|
+
<DxcSelect
|
|
843
|
+
label="Label"
|
|
844
|
+
options={group_options}
|
|
845
|
+
defaultValue={["0", "2"]}
|
|
846
|
+
multiple
|
|
847
|
+
placeholder="Choose an option"
|
|
848
|
+
/>
|
|
849
|
+
</HalstackProvider>
|
|
530
850
|
</ExampleContainer>
|
|
531
851
|
);
|
|
532
852
|
|
|
@@ -544,6 +864,22 @@ const MultipleSearchable = () => (
|
|
|
544
864
|
</ExampleContainer>
|
|
545
865
|
);
|
|
546
866
|
|
|
867
|
+
const MultipleSearchableOpinionated = () => (
|
|
868
|
+
<ExampleContainer expanded>
|
|
869
|
+
<Title title="Searchable multiple select with value" theme="light" level={4} />
|
|
870
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
871
|
+
<DxcSelect
|
|
872
|
+
label="Select Label"
|
|
873
|
+
searchable
|
|
874
|
+
multiple
|
|
875
|
+
defaultValue={["1", "4"]}
|
|
876
|
+
options={single_options}
|
|
877
|
+
placeholder="Choose an option"
|
|
878
|
+
/>
|
|
879
|
+
</HalstackProvider>
|
|
880
|
+
</ExampleContainer>
|
|
881
|
+
);
|
|
882
|
+
|
|
547
883
|
export const Chromatic = Select.bind({});
|
|
548
884
|
Chromatic.play = async ({ canvasElement }) => {
|
|
549
885
|
const canvas = within(canvasElement);
|
|
@@ -560,10 +896,13 @@ ListboxStates.play = async ({ canvasElement }) => {
|
|
|
560
896
|
export const Searchable = SearchableSelect.bind({});
|
|
561
897
|
Searchable.play = async ({ canvasElement }) => {
|
|
562
898
|
const canvas = within(canvasElement);
|
|
563
|
-
await userEvent.
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
899
|
+
await userEvent.type(canvas.getByRole("combobox"), "r");
|
|
900
|
+
};
|
|
901
|
+
|
|
902
|
+
export const SearchableOpinionated = SearchableSelectOpinionated.bind({});
|
|
903
|
+
SearchableOpinionated.play = async ({ canvasElement }) => {
|
|
904
|
+
const canvas = within(canvasElement);
|
|
905
|
+
await userEvent.type(canvas.getByRole("combobox"), "r");
|
|
567
906
|
};
|
|
568
907
|
|
|
569
908
|
export const SearchableWithValue = SearchValue.bind({});
|
|
@@ -572,12 +911,24 @@ SearchableWithValue.play = async ({ canvasElement }) => {
|
|
|
572
911
|
await userEvent.click(canvas.getByRole("combobox"));
|
|
573
912
|
};
|
|
574
913
|
|
|
914
|
+
export const SearchableWithValueOpinionated = SearchValueOpinionated.bind({});
|
|
915
|
+
SearchableWithValueOpinionated.play = async ({ canvasElement }) => {
|
|
916
|
+
const canvas = within(canvasElement);
|
|
917
|
+
await userEvent.click(canvas.getByRole("combobox"));
|
|
918
|
+
};
|
|
919
|
+
|
|
575
920
|
export const MultipleSearchableWithValue = MultipleSearchable.bind({});
|
|
576
921
|
MultipleSearchableWithValue.play = async ({ canvasElement }) => {
|
|
577
922
|
const canvas = within(canvasElement);
|
|
578
923
|
await userEvent.click(canvas.getAllByRole("combobox")[0]);
|
|
579
924
|
};
|
|
580
925
|
|
|
926
|
+
export const MultipleSearchableWithValueOpinionated = MultipleSearchableOpinionated.bind({});
|
|
927
|
+
MultipleSearchableWithValueOpinionated.play = async ({ canvasElement }) => {
|
|
928
|
+
const canvas = within(canvasElement);
|
|
929
|
+
await userEvent.click(canvas.getAllByRole("combobox")[0]);
|
|
930
|
+
};
|
|
931
|
+
|
|
581
932
|
export const GroupOptionsDisplayed = DefaultGroupedOptionsSelect.bind({});
|
|
582
933
|
GroupOptionsDisplayed.play = async ({ canvasElement }) => {
|
|
583
934
|
const canvas = within(canvasElement);
|
|
@@ -585,42 +936,34 @@ GroupOptionsDisplayed.play = async ({ canvasElement }) => {
|
|
|
585
936
|
await userEvent.click(select);
|
|
586
937
|
};
|
|
587
938
|
|
|
588
|
-
export const
|
|
589
|
-
|
|
590
|
-
const canvas = within(canvasElement);
|
|
591
|
-
await userEvent.click(canvas.getAllByRole("combobox")[0]);
|
|
592
|
-
};
|
|
593
|
-
|
|
594
|
-
export const MultipleGroupedOptionsDisplayed = MultipleGroupedOptionsSelect.bind({});
|
|
595
|
-
MultipleGroupedOptionsDisplayed.play = async ({ canvasElement }) => {
|
|
939
|
+
export const GroupOptionsDisplayedOpinionated = DefaultGroupedOptionsSelectOpinionated.bind({});
|
|
940
|
+
GroupOptionsDisplayedOpinionated.play = async ({ canvasElement }) => {
|
|
596
941
|
const canvas = within(canvasElement);
|
|
597
942
|
const select = canvas.getByRole("combobox");
|
|
598
943
|
await userEvent.click(select);
|
|
599
944
|
};
|
|
600
945
|
|
|
601
|
-
export const
|
|
602
|
-
|
|
946
|
+
export const MultipleOptionsDisplayed = MultipleSelect.bind({});
|
|
947
|
+
MultipleOptionsDisplayed.play = async ({ canvasElement }) => {
|
|
603
948
|
const canvas = within(canvasElement);
|
|
604
|
-
|
|
605
|
-
await userEvent.click(select);
|
|
949
|
+
await userEvent.click(canvas.getAllByRole("combobox")[0]);
|
|
606
950
|
};
|
|
607
951
|
|
|
608
|
-
export const
|
|
609
|
-
|
|
952
|
+
export const MultipleOptionsDisplayedOpinionated = MultipleSelectOpinioated.bind({});
|
|
953
|
+
MultipleOptionsDisplayedOpinionated.play = async ({ canvasElement }) => {
|
|
610
954
|
const canvas = within(canvasElement);
|
|
611
|
-
|
|
612
|
-
await userEvent.click(select);
|
|
955
|
+
await userEvent.click(canvas.getAllByRole("combobox")[0]);
|
|
613
956
|
};
|
|
614
957
|
|
|
615
|
-
export const
|
|
616
|
-
|
|
958
|
+
export const MultipleGroupedOptionsDisplayed = MultipleGroupedOptionsSelect.bind({});
|
|
959
|
+
MultipleGroupedOptionsDisplayed.play = async ({ canvasElement }) => {
|
|
617
960
|
const canvas = within(canvasElement);
|
|
618
961
|
const select = canvas.getByRole("combobox");
|
|
619
962
|
await userEvent.click(select);
|
|
620
963
|
};
|
|
621
964
|
|
|
622
|
-
export const
|
|
623
|
-
|
|
965
|
+
export const MultipleGroupedOptionsDisplayedOpinionated = MultipleGroupedOptionsSelectOpinionated.bind({});
|
|
966
|
+
MultipleGroupedOptionsDisplayedOpinionated.play = async ({ canvasElement }) => {
|
|
624
967
|
const canvas = within(canvasElement);
|
|
625
968
|
const select = canvas.getByRole("combobox");
|
|
626
969
|
await userEvent.click(select);
|