@dxc-technology/halstack-react 0.0.0-da90bf9 → 0.0.0-da9270d
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BackgroundColorContext.d.ts +1 -0
- package/BackgroundColorContext.js +8 -24
- package/HalstackContext.d.ts +1235 -0
- package/HalstackContext.js +310 -0
- package/README.md +47 -0
- package/accordion/Accordion.d.ts +4 -0
- package/accordion/Accordion.js +120 -291
- package/accordion/Accordion.stories.tsx +283 -0
- package/accordion/Accordion.test.js +56 -0
- package/accordion/types.d.ts +57 -0
- package/accordion/types.js +5 -0
- package/accordion-group/AccordionGroup.d.ts +8 -0
- package/accordion-group/AccordionGroup.js +57 -142
- package/accordion-group/AccordionGroup.stories.tsx +252 -0
- package/accordion-group/AccordionGroup.test.js +98 -0
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +31 -0
- package/accordion-group/types.d.ts +67 -0
- package/accordion-group/types.js +5 -0
- package/alert/Alert.d.ts +4 -0
- package/alert/Alert.js +55 -204
- package/alert/Alert.stories.tsx +198 -0
- package/alert/Alert.test.js +75 -0
- package/alert/types.d.ts +49 -0
- package/alert/types.js +5 -0
- package/badge/Badge.d.ts +4 -0
- package/badge/Badge.js +15 -30
- package/badge/types.d.ts +5 -0
- package/badge/types.js +5 -0
- package/bleed/Bleed.d.ts +3 -0
- package/bleed/Bleed.js +43 -0
- package/bleed/Bleed.stories.tsx +342 -0
- package/bleed/types.d.ts +37 -0
- package/bleed/types.js +5 -0
- package/box/Box.d.ts +4 -0
- package/box/Box.js +35 -116
- package/box/Box.stories.tsx +119 -0
- package/box/Box.test.js +13 -0
- package/box/types.d.ts +32 -0
- package/box/types.js +5 -0
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +89 -0
- package/bulleted-list/BulletedList.stories.tsx +115 -0
- package/bulleted-list/types.d.ts +38 -0
- package/bulleted-list/types.js +5 -0
- package/button/Button.d.ts +4 -0
- package/button/Button.js +67 -185
- package/button/Button.stories.tsx +344 -0
- package/button/Button.test.js +36 -0
- package/button/types.d.ts +57 -0
- package/button/types.js +5 -0
- package/card/Card.d.ts +4 -0
- package/card/Card.js +60 -194
- package/card/Card.stories.tsx +171 -0
- package/card/Card.test.js +39 -0
- package/card/types.d.ts +62 -0
- package/card/types.js +5 -0
- package/checkbox/Checkbox.d.ts +4 -0
- package/checkbox/Checkbox.js +147 -231
- package/checkbox/Checkbox.stories.tsx +222 -0
- package/checkbox/Checkbox.test.js +199 -0
- package/checkbox/types.d.ts +72 -0
- package/checkbox/types.js +5 -0
- package/chip/Chip.d.ts +4 -0
- package/chip/Chip.js +50 -194
- package/chip/Chip.stories.tsx +214 -0
- package/chip/Chip.test.js +41 -0
- package/chip/types.d.ts +45 -0
- package/chip/types.js +5 -0
- package/common/OpenSans.css +68 -80
- package/common/coreTokens.d.ts +237 -0
- package/common/coreTokens.js +184 -0
- package/common/utils.d.ts +1 -0
- package/common/utils.js +6 -12
- package/common/variables.d.ts +1381 -0
- package/common/variables.js +1006 -1319
- package/container/Container.d.ts +4 -0
- package/container/Container.js +194 -0
- package/container/Container.stories.tsx +214 -0
- package/container/types.d.ts +74 -0
- package/container/types.js +5 -0
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +214 -0
- package/date-input/DateInput.d.ts +4 -0
- package/date-input/DateInput.js +179 -356
- package/date-input/DateInput.stories.tsx +285 -0
- package/date-input/DateInput.test.js +808 -0
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +115 -0
- package/date-input/Icons.d.ts +6 -0
- package/date-input/Icons.js +58 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +100 -0
- package/date-input/types.d.ts +164 -0
- package/date-input/types.js +5 -0
- package/dialog/Dialog.d.ts +4 -0
- package/dialog/Dialog.js +70 -184
- package/dialog/Dialog.stories.tsx +365 -0
- package/dialog/Dialog.test.js +307 -0
- package/dialog/types.d.ts +36 -0
- package/dialog/types.js +5 -0
- package/dropdown/Dropdown.d.ts +4 -0
- package/dropdown/Dropdown.js +247 -457
- package/dropdown/Dropdown.stories.tsx +438 -0
- package/dropdown/Dropdown.test.js +599 -0
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +63 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +67 -0
- package/dropdown/types.d.ts +98 -0
- package/dropdown/types.js +5 -0
- package/file-input/FileInput.d.ts +4 -0
- package/file-input/FileInput.js +297 -462
- package/file-input/FileInput.stories.tsx +618 -0
- package/file-input/FileInput.test.js +459 -0
- package/file-input/FileItem.d.ts +4 -0
- package/file-input/FileItem.js +61 -213
- package/file-input/types.d.ts +129 -0
- package/file-input/types.js +5 -0
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +57 -0
- package/flex/Flex.stories.tsx +112 -0
- package/flex/types.d.ts +97 -0
- package/flex/types.js +5 -0
- package/footer/Footer.d.ts +4 -0
- package/footer/Footer.js +64 -360
- package/footer/Footer.stories.tsx +152 -0
- package/footer/Footer.test.js +85 -0
- package/footer/Icons.d.ts +2 -0
- package/footer/Icons.js +16 -21
- package/footer/types.d.ts +58 -0
- package/footer/types.js +5 -0
- package/grid/Grid.d.ts +7 -0
- package/grid/Grid.js +76 -0
- package/grid/Grid.stories.tsx +219 -0
- package/grid/types.d.ts +115 -0
- package/grid/types.js +5 -0
- package/header/Header.d.ts +8 -0
- package/header/Header.js +122 -372
- package/header/Header.stories.tsx +251 -0
- package/header/Header.test.js +66 -0
- package/header/Icons.d.ts +2 -0
- package/header/Icons.js +9 -39
- package/header/types.d.ts +33 -0
- package/header/types.js +5 -0
- package/heading/Heading.d.ts +4 -0
- package/heading/Heading.js +31 -124
- package/heading/Heading.stories.tsx +54 -0
- package/heading/Heading.test.js +169 -0
- package/heading/types.d.ts +33 -0
- package/heading/types.js +5 -0
- package/image/Image.d.ts +4 -0
- package/image/Image.js +70 -0
- package/image/Image.stories.tsx +127 -0
- package/image/types.d.ts +72 -0
- package/image/types.js +5 -0
- package/inset/Inset.d.ts +3 -0
- package/inset/Inset.js +43 -0
- package/inset/Inset.stories.tsx +230 -0
- package/inset/types.d.ts +37 -0
- package/inset/types.js +5 -0
- package/layout/ApplicationLayout.d.ts +20 -0
- package/layout/ApplicationLayout.js +85 -278
- package/layout/ApplicationLayout.stories.tsx +162 -0
- package/layout/Icons.d.ts +8 -0
- package/layout/Icons.js +51 -48
- package/layout/SidenavContext.d.ts +5 -0
- package/layout/SidenavContext.js +13 -0
- package/layout/types.d.ts +41 -0
- package/layout/types.js +5 -0
- package/link/Link.d.ts +4 -0
- package/link/Link.js +67 -189
- package/link/Link.stories.tsx +253 -0
- package/link/Link.test.js +63 -0
- package/link/types.d.ts +54 -0
- package/link/types.js +5 -0
- package/main.d.ts +46 -40
- package/main.js +117 -140
- package/nav-tabs/NavTabs.d.ts +8 -0
- package/nav-tabs/NavTabs.js +90 -0
- package/nav-tabs/NavTabs.stories.tsx +274 -0
- package/nav-tabs/NavTabs.test.js +75 -0
- package/nav-tabs/Tab.d.ts +4 -0
- package/nav-tabs/Tab.js +117 -0
- package/nav-tabs/types.d.ts +52 -0
- package/nav-tabs/types.js +5 -0
- package/number-input/NumberInput.d.ts +11 -0
- package/number-input/NumberInput.js +32 -101
- package/number-input/NumberInput.stories.tsx +131 -0
- package/number-input/NumberInput.test.js +830 -0
- package/number-input/types.d.ts +130 -0
- package/number-input/types.js +5 -0
- package/package.json +53 -49
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +26 -52
- package/paginator/Paginator.d.ts +4 -0
- package/paginator/Paginator.js +41 -211
- package/paginator/Paginator.stories.tsx +87 -0
- package/paginator/Paginator.test.js +335 -0
- package/paginator/types.d.ts +38 -0
- package/paginator/types.js +5 -0
- package/paragraph/Paragraph.d.ts +5 -0
- package/paragraph/Paragraph.js +22 -0
- package/paragraph/Paragraph.stories.tsx +27 -0
- package/password-input/Icons.d.ts +6 -0
- package/password-input/Icons.js +35 -0
- package/password-input/PasswordInput.d.ts +4 -0
- package/password-input/PasswordInput.js +66 -172
- package/password-input/PasswordInput.stories.tsx +99 -0
- package/password-input/PasswordInput.test.js +198 -0
- package/password-input/types.d.ts +111 -0
- package/password-input/types.js +5 -0
- package/progress-bar/ProgressBar.d.ts +4 -0
- package/progress-bar/ProgressBar.js +76 -174
- package/progress-bar/ProgressBar.stories.tsx +93 -0
- package/progress-bar/ProgressBar.test.js +93 -0
- package/progress-bar/types.d.ts +37 -0
- package/progress-bar/types.js +5 -0
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +94 -0
- package/quick-nav/QuickNav.stories.tsx +356 -0
- package/quick-nav/types.d.ts +21 -0
- package/quick-nav/types.js +5 -0
- package/radio-group/Radio.d.ts +4 -0
- package/radio-group/Radio.js +124 -0
- package/radio-group/RadioGroup.d.ts +4 -0
- package/radio-group/RadioGroup.js +235 -0
- package/radio-group/RadioGroup.stories.tsx +214 -0
- package/radio-group/RadioGroup.test.js +756 -0
- package/radio-group/types.d.ts +114 -0
- package/radio-group/types.js +5 -0
- package/resultset-table/Icons.d.ts +7 -0
- package/resultset-table/Icons.js +47 -0
- package/resultset-table/ResultsetTable.d.ts +4 -0
- package/resultset-table/ResultsetTable.js +159 -0
- package/resultset-table/ResultsetTable.stories.tsx +300 -0
- package/resultset-table/ResultsetTable.test.js +305 -0
- package/resultset-table/types.d.ts +67 -0
- package/resultset-table/types.js +5 -0
- package/select/Icons.d.ts +10 -0
- package/select/Icons.js +89 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +143 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +80 -0
- package/select/Select.d.ts +4 -0
- package/select/Select.js +294 -849
- package/select/Select.stories.tsx +971 -0
- package/select/Select.test.js +2370 -0
- package/select/types.d.ts +209 -0
- package/select/types.js +5 -0
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +47 -0
- package/sidenav/Sidenav.d.ts +10 -0
- package/sidenav/Sidenav.js +134 -117
- package/sidenav/Sidenav.stories.tsx +282 -0
- package/sidenav/Sidenav.test.js +37 -0
- package/sidenav/types.d.ts +76 -0
- package/sidenav/types.js +5 -0
- package/slider/Slider.d.ts +4 -0
- package/slider/Slider.js +172 -291
- package/slider/Slider.test.js +254 -0
- package/slider/types.d.ts +86 -0
- package/slider/types.js +5 -0
- package/spinner/Spinner.d.ts +4 -0
- package/spinner/Spinner.js +66 -241
- package/spinner/Spinner.stories.tsx +129 -0
- package/spinner/Spinner.test.js +55 -0
- package/spinner/types.d.ts +32 -0
- package/spinner/types.js +5 -0
- package/switch/Switch.d.ts +4 -0
- package/switch/Switch.js +153 -161
- package/switch/Switch.stories.tsx +137 -0
- package/switch/Switch.test.js +180 -0
- package/switch/types.d.ts +66 -0
- package/switch/types.js +5 -0
- package/table/Table.d.ts +4 -0
- package/table/Table.js +14 -50
- package/table/Table.stories.tsx +356 -0
- package/table/Table.test.js +21 -0
- package/table/types.d.ts +21 -0
- package/table/types.js +5 -0
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +113 -0
- package/tabs/Tabs.d.ts +4 -0
- package/tabs/Tabs.js +322 -281
- package/tabs/Tabs.stories.tsx +226 -0
- package/tabs/Tabs.test.js +294 -0
- package/tabs/types.d.ts +92 -0
- package/tabs/types.js +5 -0
- package/tag/Tag.d.ts +4 -0
- package/tag/Tag.js +61 -192
- package/tag/Tag.stories.tsx +155 -0
- package/tag/Tag.test.js +49 -0
- package/tag/types.d.ts +69 -0
- package/tag/types.js +5 -0
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +56 -0
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +67 -0
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +84 -0
- package/text-input/TextInput.d.ts +4 -0
- package/text-input/TextInput.js +360 -757
- package/text-input/TextInput.stories.tsx +465 -0
- package/text-input/TextInput.test.js +1739 -0
- package/text-input/types.d.ts +205 -0
- package/text-input/types.js +5 -0
- package/textarea/Textarea.d.ts +4 -0
- package/textarea/Textarea.js +105 -240
- package/textarea/Textarea.stories.tsx +174 -0
- package/textarea/Textarea.test.js +406 -0
- package/textarea/types.d.ts +141 -0
- package/textarea/types.js +5 -0
- package/toggle-group/ToggleGroup.d.ts +4 -0
- package/toggle-group/ToggleGroup.js +107 -233
- package/toggle-group/ToggleGroup.stories.tsx +218 -0
- package/toggle-group/ToggleGroup.test.js +137 -0
- package/toggle-group/types.d.ts +114 -0
- package/toggle-group/types.js +5 -0
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +23 -0
- package/typography/Typography.stories.tsx +198 -0
- package/typography/types.d.ts +18 -0
- package/typography/types.js +5 -0
- package/useTheme.d.ts +1134 -0
- package/useTheme.js +4 -11
- package/useTranslatedLabels.d.ts +85 -0
- package/useTranslatedLabels.js +14 -0
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +94 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +121 -0
- package/wizard/Wizard.d.ts +4 -0
- package/wizard/Wizard.js +138 -293
- package/wizard/Wizard.stories.tsx +253 -0
- package/wizard/Wizard.test.js +114 -0
- package/wizard/types.d.ts +64 -0
- package/wizard/types.js +5 -0
- package/ThemeContext.js +0 -250
- package/V3Select/V3Select.js +0 -549
- package/V3Select/index.d.ts +0 -27
- package/V3Textarea/V3Textarea.js +0 -264
- package/V3Textarea/index.d.ts +0 -27
- package/accordion/index.d.ts +0 -28
- package/accordion-group/index.d.ts +0 -16
- package/alert/index.d.ts +0 -51
- package/box/index.d.ts +0 -25
- package/button/Button.stories.js +0 -27
- package/button/index.d.ts +0 -24
- package/card/index.d.ts +0 -22
- package/checkbox/index.d.ts +0 -24
- package/chip/index.d.ts +0 -22
- package/common/RequiredComponent.js +0 -40
- package/date/Date.js +0 -379
- package/date/index.d.ts +0 -27
- package/date-input/index.d.ts +0 -95
- package/dialog/index.d.ts +0 -18
- package/dropdown/index.d.ts +0 -26
- package/file-input/index.d.ts +0 -81
- package/footer/index.d.ts +0 -25
- package/header/index.d.ts +0 -25
- package/heading/index.d.ts +0 -17
- package/input-text/Icons.js +0 -22
- package/input-text/InputText.js +0 -705
- package/input-text/index.d.ts +0 -36
- package/link/index.d.ts +0 -23
- package/number-input/NumberInputContext.js +0 -16
- package/number-input/index.d.ts +0 -113
- package/paginator/index.d.ts +0 -20
- package/password-input/index.d.ts +0 -94
- package/progress-bar/index.d.ts +0 -18
- package/radio/Radio.js +0 -209
- package/radio/index.d.ts +0 -23
- package/resultsetTable/ResultsetTable.js +0 -358
- package/resultsetTable/index.d.ts +0 -19
- package/select/index.d.ts +0 -131
- package/sidenav/index.d.ts +0 -13
- package/slider/index.d.ts +0 -29
- package/spinner/index.d.ts +0 -17
- package/switch/index.d.ts +0 -24
- package/table/index.d.ts +0 -13
- package/tabs/index.d.ts +0 -19
- package/tag/index.d.ts +0 -24
- package/text-input/index.d.ts +0 -135
- package/textarea/index.d.ts +0 -117
- package/toggle/Toggle.js +0 -220
- package/toggle/index.d.ts +0 -21
- package/toggle-group/index.d.ts +0 -21
- package/upload/Upload.js +0 -205
- package/upload/buttons-upload/ButtonsUpload.js +0 -135
- package/upload/buttons-upload/Icons.js +0 -40
- package/upload/dragAndDropArea/DragAndDropArea.js +0 -329
- package/upload/dragAndDropArea/Icons.js +0 -39
- package/upload/file-upload/FileToUpload.js +0 -189
- package/upload/file-upload/Icons.js +0 -66
- package/upload/files-upload/FilesToUpload.js +0 -123
- package/upload/index.d.ts +0 -15
- package/upload/transaction/Icons.js +0 -160
- package/upload/transaction/Transaction.js +0 -148
- package/upload/transactions/Transactions.js +0 -138
- package/wizard/Icons.js +0 -65
- package/wizard/index.d.ts +0 -18
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
|
+
type Margin = {
|
|
4
|
+
top?: Space;
|
|
5
|
+
bottom?: Space;
|
|
6
|
+
left?: Space;
|
|
7
|
+
right?: Space;
|
|
8
|
+
};
|
|
9
|
+
type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
|
|
10
|
+
export type OptionGroup = {
|
|
11
|
+
/**
|
|
12
|
+
* Label of the group to be shown in the select's listbox.
|
|
13
|
+
*/
|
|
14
|
+
label: string;
|
|
15
|
+
/**
|
|
16
|
+
* List of the grouped options.
|
|
17
|
+
*/
|
|
18
|
+
options: Option[];
|
|
19
|
+
};
|
|
20
|
+
export type Option = {
|
|
21
|
+
/**
|
|
22
|
+
* Element used as the icon that will be placed before the option label.
|
|
23
|
+
* It can be a url of an image or an inline SVG. If the url option
|
|
24
|
+
* is the chosen one, take into account that the component's
|
|
25
|
+
* color styling tokens will not be applied to the image.
|
|
26
|
+
*/
|
|
27
|
+
icon?: string | SVG;
|
|
28
|
+
/**
|
|
29
|
+
* Label of the option to be shown in the select's listbox.
|
|
30
|
+
*/
|
|
31
|
+
label: string;
|
|
32
|
+
/**
|
|
33
|
+
* Value of the option. It should be unique and
|
|
34
|
+
* not an empty string, which is reserved to the empty option added
|
|
35
|
+
* by optional prop.
|
|
36
|
+
*/
|
|
37
|
+
value: string;
|
|
38
|
+
};
|
|
39
|
+
type CommonProps = {
|
|
40
|
+
/**
|
|
41
|
+
* Text to be placed above the select.
|
|
42
|
+
*/
|
|
43
|
+
label?: string;
|
|
44
|
+
/**
|
|
45
|
+
* Name attribute of the input element. This attribute will allow users
|
|
46
|
+
* to find the component's value during the submit event. In this event,
|
|
47
|
+
* the component's value will always be a regular string, for both single
|
|
48
|
+
* and multiple selection modes, being a single option value in the first case
|
|
49
|
+
* and more than one value when multiple selection is available, separated by commas.
|
|
50
|
+
*/
|
|
51
|
+
name?: string;
|
|
52
|
+
/**
|
|
53
|
+
* An array of objects representing the selectable options.
|
|
54
|
+
*/
|
|
55
|
+
options: Option[] | OptionGroup[];
|
|
56
|
+
/**
|
|
57
|
+
* Helper text to be placed above the select.
|
|
58
|
+
*/
|
|
59
|
+
helperText?: string;
|
|
60
|
+
/**
|
|
61
|
+
* Text to be put as placeholder of the select.
|
|
62
|
+
*/
|
|
63
|
+
placeholder?: string;
|
|
64
|
+
/**
|
|
65
|
+
* If true, the component will be disabled.
|
|
66
|
+
*/
|
|
67
|
+
disabled?: boolean;
|
|
68
|
+
/**
|
|
69
|
+
* If true, the select will be optional, showing '(Optional)'
|
|
70
|
+
* next to the label and adding a default first option with an empty string as value,
|
|
71
|
+
* been the placeholder (if defined) its label. Otherwise, the field will be
|
|
72
|
+
* considered required and an error will be passed as a parameter to the
|
|
73
|
+
* OnBlur and onChange functions if an option wasn't selected.
|
|
74
|
+
*/
|
|
75
|
+
optional?: boolean;
|
|
76
|
+
/**
|
|
77
|
+
* If true, enables search functionality.
|
|
78
|
+
*/
|
|
79
|
+
searchable?: boolean;
|
|
80
|
+
/**
|
|
81
|
+
* If it is a defined value and also a truthy string, the component will
|
|
82
|
+
* change its appearance, showing the error below the select component.
|
|
83
|
+
* If the defined value is an empty string, it will reserve a space below
|
|
84
|
+
* the component for a future error, but it would not change its look. In
|
|
85
|
+
* case of being undefined or null, both the appearance and the space for
|
|
86
|
+
* the error message would not be modified.
|
|
87
|
+
*/
|
|
88
|
+
error?: string;
|
|
89
|
+
/**
|
|
90
|
+
* Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
|
|
91
|
+
* You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
|
|
92
|
+
*/
|
|
93
|
+
margin?: Space | Margin;
|
|
94
|
+
/**
|
|
95
|
+
* Size of the component.
|
|
96
|
+
*/
|
|
97
|
+
size?: "small" | "medium" | "large" | "fillParent";
|
|
98
|
+
/**
|
|
99
|
+
* Value of the tabindex attribute.
|
|
100
|
+
*/
|
|
101
|
+
tabIndex?: number;
|
|
102
|
+
};
|
|
103
|
+
type SingleSelect = CommonProps & {
|
|
104
|
+
/**
|
|
105
|
+
* If true, the select component will support multiple selected options.
|
|
106
|
+
* In that case, value will be an array of strings with each selected
|
|
107
|
+
* option value.
|
|
108
|
+
*/
|
|
109
|
+
multiple?: false;
|
|
110
|
+
/**
|
|
111
|
+
* Initial value of the select, only when it is uncontrolled.
|
|
112
|
+
*/
|
|
113
|
+
defaultValue?: string;
|
|
114
|
+
/**
|
|
115
|
+
* Value of the select. If undefined, the component will be uncontrolled
|
|
116
|
+
* and the value will be managed internally by the component.
|
|
117
|
+
*/
|
|
118
|
+
value?: string;
|
|
119
|
+
/**
|
|
120
|
+
* This function will be called when the user selects an option.
|
|
121
|
+
* An object including the current value and the error (if the value entered is not valid)
|
|
122
|
+
* will be passed to this function. If there is no error, error will not be defined.
|
|
123
|
+
*/
|
|
124
|
+
onChange?: (val: {
|
|
125
|
+
value: string;
|
|
126
|
+
error?: string;
|
|
127
|
+
}) => void;
|
|
128
|
+
/**
|
|
129
|
+
* This function will be called when the select loses the focus. An
|
|
130
|
+
* object including the value and the error (if the value
|
|
131
|
+
* selected is not valid) will be passed to this function. If there is no error,
|
|
132
|
+
* error will not be defined.
|
|
133
|
+
*/
|
|
134
|
+
onBlur?: (val: {
|
|
135
|
+
value: string;
|
|
136
|
+
error?: string;
|
|
137
|
+
}) => void;
|
|
138
|
+
};
|
|
139
|
+
type MultipleSelect = CommonProps & {
|
|
140
|
+
/**
|
|
141
|
+
* If true, the select component will support multiple selected options.
|
|
142
|
+
* In that case, value will be an array of strings with each selected
|
|
143
|
+
* option value.
|
|
144
|
+
*/
|
|
145
|
+
multiple: true;
|
|
146
|
+
/**
|
|
147
|
+
* Initial value of the select, only when it is uncontrolled.
|
|
148
|
+
*/
|
|
149
|
+
defaultValue?: string[];
|
|
150
|
+
/**
|
|
151
|
+
* Value of the select. If undefined, the component will be uncontrolled
|
|
152
|
+
* and the value will be managed internally by the component.
|
|
153
|
+
*/
|
|
154
|
+
value?: string[];
|
|
155
|
+
/**
|
|
156
|
+
* This function will be called when the user selects an option.
|
|
157
|
+
* An object including the current selected values and the error (if the value entered is not valid)
|
|
158
|
+
* will be passed to this function. If there is no error, error will be null.
|
|
159
|
+
*/
|
|
160
|
+
onChange?: (val: {
|
|
161
|
+
value: string[];
|
|
162
|
+
error?: string;
|
|
163
|
+
}) => void;
|
|
164
|
+
/**
|
|
165
|
+
* This function will be called when the select loses the focus. An
|
|
166
|
+
* object including the selected values and the error (if the value
|
|
167
|
+
* selected is not valid) will be passed to this function. If there is no error,
|
|
168
|
+
* error will be null.
|
|
169
|
+
*/
|
|
170
|
+
onBlur?: (val: {
|
|
171
|
+
value: string[];
|
|
172
|
+
error?: string;
|
|
173
|
+
}) => void;
|
|
174
|
+
};
|
|
175
|
+
type Props = SingleSelect | MultipleSelect;
|
|
176
|
+
/**
|
|
177
|
+
* Single option of the select component.
|
|
178
|
+
*/
|
|
179
|
+
export type OptionProps = {
|
|
180
|
+
id: string;
|
|
181
|
+
option: Option;
|
|
182
|
+
onClick: (option: Option) => void;
|
|
183
|
+
multiple: boolean;
|
|
184
|
+
visualFocused: boolean;
|
|
185
|
+
isGroupedOption?: boolean;
|
|
186
|
+
isLastOption: boolean;
|
|
187
|
+
isSelected: boolean;
|
|
188
|
+
};
|
|
189
|
+
/**
|
|
190
|
+
* Listbox from the select component.
|
|
191
|
+
*/
|
|
192
|
+
export type ListboxProps = {
|
|
193
|
+
id: string;
|
|
194
|
+
currentValue: string | string[];
|
|
195
|
+
options: Option[] | OptionGroup[];
|
|
196
|
+
visualFocusIndex: number;
|
|
197
|
+
lastOptionIndex: number;
|
|
198
|
+
multiple: boolean;
|
|
199
|
+
optional: boolean;
|
|
200
|
+
optionalItem: Option;
|
|
201
|
+
searchable: boolean;
|
|
202
|
+
handleOptionOnClick: (option: Option) => void;
|
|
203
|
+
styles: React.CSSProperties;
|
|
204
|
+
};
|
|
205
|
+
/**
|
|
206
|
+
* Reference to the select component.
|
|
207
|
+
*/
|
|
208
|
+
export type RefType = HTMLDivElement;
|
|
209
|
+
export default Props;
|
package/select/types.js
ADDED
package/sidenav/Icons.js
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var icons = {
|
|
10
|
+
collapsedIcon: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
11
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
12
|
+
height: "24px",
|
|
13
|
+
viewBox: "0 0 24 24",
|
|
14
|
+
width: "24px",
|
|
15
|
+
fill: "currentColor"
|
|
16
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
17
|
+
d: "M0 0h24v24H0z",
|
|
18
|
+
fill: "none"
|
|
19
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
20
|
+
d: "M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"
|
|
21
|
+
})),
|
|
22
|
+
collapsableIcon: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
23
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
24
|
+
height: "24px",
|
|
25
|
+
viewBox: "0 0 24 24",
|
|
26
|
+
width: "24px",
|
|
27
|
+
fill: "currentColor"
|
|
28
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
29
|
+
d: "M0 0h24v24H0z",
|
|
30
|
+
fill: "none"
|
|
31
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
32
|
+
d: "M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z"
|
|
33
|
+
})),
|
|
34
|
+
externalLinkIcon: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
35
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
36
|
+
height: "24",
|
|
37
|
+
viewBox: "0 0 24 24",
|
|
38
|
+
width: "24",
|
|
39
|
+
fill: "currentColor"
|
|
40
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
41
|
+
d: "M0 0h24v24H0z",
|
|
42
|
+
fill: "none"
|
|
43
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
44
|
+
d: "M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"
|
|
45
|
+
}))
|
|
46
|
+
};
|
|
47
|
+
var _default = exports["default"] = icons;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import SidenavPropsType, { SidenavGroupPropsType, SidenavLinkPropsType, SidenavSectionPropsType, SidenavTitlePropsType } from "./types.js";
|
|
3
|
+
declare const DxcSidenav: {
|
|
4
|
+
({ title, children }: SidenavPropsType): JSX.Element;
|
|
5
|
+
Section: ({ children }: SidenavSectionPropsType) => JSX.Element;
|
|
6
|
+
Group: ({ title, collapsable, icon, children }: SidenavGroupPropsType) => JSX.Element;
|
|
7
|
+
Link: React.ForwardRefExoticComponent<SidenavLinkPropsType & React.RefAttributes<HTMLAnchorElement>>;
|
|
8
|
+
Title: ({ children }: SidenavTitlePropsType) => JSX.Element;
|
|
9
|
+
};
|
|
10
|
+
export default DxcSidenav;
|
package/sidenav/Sidenav.js
CHANGED
|
@@ -1,123 +1,136 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
-
|
|
5
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
|
-
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports["default"] = void 0;
|
|
11
|
-
|
|
12
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
-
|
|
14
9
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
|
-
|
|
16
|
-
var
|
|
17
|
-
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
18
14
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
19
|
-
|
|
20
|
-
var
|
|
21
|
-
|
|
22
|
-
var
|
|
23
|
-
|
|
24
|
-
var
|
|
25
|
-
|
|
26
|
-
var
|
|
27
|
-
|
|
28
|
-
function
|
|
29
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n letter-spacing: ", ";\n text-transform: ", ";\n text-decoration: ", ";\n margin: ", ";\n cursor: pointer;\n\n :focus-visible {\n outline: 2px solid ", ";\n outline-offset: 1px;\n }\n"]);
|
|
30
|
-
|
|
31
|
-
_templateObject4 = function _templateObject4() {
|
|
32
|
-
return data;
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
return data;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
function _templateObject3() {
|
|
39
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n letter-spacing: ", ";\n text-transform: ", ";\n margin-bottom: 4px;\n"]);
|
|
40
|
-
|
|
41
|
-
_templateObject3 = function _templateObject3() {
|
|
42
|
-
return data;
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
return data;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
function _templateObject2() {
|
|
49
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n letter-spacing: ", ";\n text-transform: ", ";\n margin-bottom: 16px;\n"]);
|
|
50
|
-
|
|
51
|
-
_templateObject2 = function _templateObject2() {
|
|
52
|
-
return data;
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
return data;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
function _templateObject() {
|
|
59
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n background-color: ", ";\n max-width: 300px;\n width: ", ";\n padding: ", ";\n\n overflow-y: auto;\n overflow-x: hidden;\n ::-webkit-scrollbar {\n width: 2px;\n }\n ::-webkit-scrollbar-track {\n background-color: ", ";\n border-radius: 3px;\n }\n ::-webkit-scrollbar-thumb {\n background-color: ", ";\n border-radius: 3px;\n }\n"]);
|
|
60
|
-
|
|
61
|
-
_templateObject = function _templateObject() {
|
|
62
|
-
return data;
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
return data;
|
|
66
|
-
}
|
|
67
|
-
|
|
15
|
+
var _variables = require("../common/variables");
|
|
16
|
+
var _SidenavContext = require("../layout/SidenavContext");
|
|
17
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
18
|
+
var _Flex = _interopRequireDefault(require("../flex/Flex"));
|
|
19
|
+
var _Bleed = _interopRequireDefault(require("../bleed/Bleed"));
|
|
20
|
+
var _Icons = _interopRequireDefault(require("./Icons"));
|
|
21
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
|
|
22
|
+
var _excluded = ["href", "newWindow", "selected", "icon", "onClick", "tabIndex", "children"];
|
|
23
|
+
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); }
|
|
24
|
+
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 && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
68
25
|
var DxcSidenav = function DxcSidenav(_ref) {
|
|
69
|
-
var
|
|
70
|
-
|
|
26
|
+
var title = _ref.title,
|
|
27
|
+
children = _ref.children;
|
|
71
28
|
var colorsTheme = (0, _useTheme["default"])();
|
|
72
|
-
return _react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
29
|
+
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
73
30
|
theme: colorsTheme.sidenav
|
|
74
|
-
}, _react["default"].createElement(
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
color: colorsTheme.sidenav.backgroundColor
|
|
31
|
+
}, /*#__PURE__*/_react["default"].createElement(SidenavContainer, null, title, /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
|
|
32
|
+
direction: "column",
|
|
33
|
+
gap: "1rem"
|
|
78
34
|
}, children)));
|
|
79
35
|
};
|
|
80
|
-
|
|
81
36
|
var Title = function Title(_ref2) {
|
|
82
37
|
var children = _ref2.children;
|
|
83
|
-
return _react["default"].createElement(
|
|
38
|
+
return /*#__PURE__*/_react["default"].createElement(_Bleed["default"], {
|
|
39
|
+
horizontal: "1rem"
|
|
40
|
+
}, /*#__PURE__*/_react["default"].createElement(SidenavTitle, null, children));
|
|
84
41
|
};
|
|
85
|
-
|
|
86
|
-
var Subtitle = function Subtitle(_ref3) {
|
|
42
|
+
var Section = function Section(_ref3) {
|
|
87
43
|
var children = _ref3.children;
|
|
88
|
-
return _react["default"].createElement(
|
|
44
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_Bleed["default"], {
|
|
45
|
+
horizontal: "1rem"
|
|
46
|
+
}, /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
|
|
47
|
+
direction: "column"
|
|
48
|
+
}, children)), /*#__PURE__*/_react["default"].createElement(Divider, null));
|
|
89
49
|
};
|
|
90
|
-
|
|
91
|
-
var
|
|
92
|
-
var
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
50
|
+
var GroupContext = /*#__PURE__*/_react["default"].createContext(null);
|
|
51
|
+
var Group = function Group(_ref4) {
|
|
52
|
+
var title = _ref4.title,
|
|
53
|
+
_ref4$collapsable = _ref4.collapsable,
|
|
54
|
+
collapsable = _ref4$collapsable === void 0 ? false : _ref4$collapsable,
|
|
55
|
+
icon = _ref4.icon,
|
|
56
|
+
children = _ref4.children;
|
|
57
|
+
var _useState = (0, _react.useState)(false),
|
|
58
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
59
|
+
collapsed = _useState2[0],
|
|
60
|
+
setCollapsed = _useState2[1];
|
|
61
|
+
var _useState3 = (0, _react.useState)(false),
|
|
62
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
63
|
+
isSelected = _useState4[0],
|
|
64
|
+
changeIsSelected = _useState4[1];
|
|
65
|
+
return /*#__PURE__*/_react["default"].createElement(GroupContext.Provider, {
|
|
66
|
+
value: changeIsSelected
|
|
67
|
+
}, /*#__PURE__*/_react["default"].createElement(SidenavGroup, null, collapsable && title ? /*#__PURE__*/_react["default"].createElement(SidenavGroupTitleButton, {
|
|
68
|
+
"aria-expanded": !collapsed,
|
|
69
|
+
onClick: function onClick() {
|
|
70
|
+
return setCollapsed(!collapsed);
|
|
71
|
+
},
|
|
72
|
+
selectedGroup: collapsed && isSelected
|
|
73
|
+
}, /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
|
|
74
|
+
alignItems: "center",
|
|
75
|
+
gap: "0.5rem"
|
|
76
|
+
}, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
|
|
77
|
+
src: icon
|
|
78
|
+
}) : icon, title), collapsed ? _Icons["default"].collapsedIcon : _Icons["default"].collapsableIcon) : title && /*#__PURE__*/_react["default"].createElement(SidenavGroupTitle, null, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
|
|
79
|
+
src: icon
|
|
80
|
+
}) : icon, title), !collapsed && children));
|
|
99
81
|
};
|
|
100
|
-
|
|
101
|
-
var
|
|
82
|
+
var Link = /*#__PURE__*/(0, _react.forwardRef)(function (_ref5, ref) {
|
|
83
|
+
var href = _ref5.href,
|
|
84
|
+
_ref5$newWindow = _ref5.newWindow,
|
|
85
|
+
newWindow = _ref5$newWindow === void 0 ? false : _ref5$newWindow,
|
|
86
|
+
_ref5$selected = _ref5.selected,
|
|
87
|
+
selected = _ref5$selected === void 0 ? false : _ref5$selected,
|
|
88
|
+
icon = _ref5.icon,
|
|
89
|
+
onClick = _ref5.onClick,
|
|
90
|
+
_ref5$tabIndex = _ref5.tabIndex,
|
|
91
|
+
tabIndex = _ref5$tabIndex === void 0 ? 0 : _ref5$tabIndex,
|
|
92
|
+
children = _ref5.children,
|
|
93
|
+
otherProps = (0, _objectWithoutProperties2["default"])(_ref5, _excluded);
|
|
94
|
+
var changeIsGroupSelected = (0, _react.useContext)(GroupContext);
|
|
95
|
+
var setIsSidenavVisibleResponsive = (0, _SidenavContext.useResponsiveSidenavVisibility)();
|
|
96
|
+
var handleClick = function handleClick($event) {
|
|
97
|
+
onClick === null || onClick === void 0 ? void 0 : onClick($event);
|
|
98
|
+
setIsSidenavVisibleResponsive === null || setIsSidenavVisibleResponsive === void 0 ? void 0 : setIsSidenavVisibleResponsive(false);
|
|
99
|
+
};
|
|
100
|
+
(0, _react.useEffect)(function () {
|
|
101
|
+
changeIsGroupSelected === null || changeIsGroupSelected === void 0 ? void 0 : changeIsGroupSelected(function (isGroupSelected) {
|
|
102
|
+
return !isGroupSelected ? selected : isGroupSelected;
|
|
103
|
+
});
|
|
104
|
+
}, [selected, changeIsGroupSelected]);
|
|
105
|
+
return /*#__PURE__*/_react["default"].createElement(SidenavLink, (0, _extends2["default"])({
|
|
106
|
+
selected: selected,
|
|
107
|
+
href: href ? href : undefined,
|
|
108
|
+
target: href ? newWindow ? "_blank" : "_self" : undefined,
|
|
109
|
+
ref: ref,
|
|
110
|
+
tabIndex: tabIndex,
|
|
111
|
+
onClick: handleClick
|
|
112
|
+
}, otherProps), /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
|
|
113
|
+
alignItems: "center",
|
|
114
|
+
gap: "0.5rem"
|
|
115
|
+
}, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
|
|
116
|
+
src: icon
|
|
117
|
+
}) : icon, children), newWindow && _Icons["default"].externalLinkIcon);
|
|
118
|
+
});
|
|
119
|
+
var SidenavContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n width: 280px;\n @media (max-width: ", "rem) {\n width: 100vw;\n }\n padding: 2rem 1rem;\n background-color: ", ";\n\n overflow-y: auto;\n overflow-x: hidden;\n ::-webkit-scrollbar {\n width: 2px;\n }\n ::-webkit-scrollbar-track {\n background-color: ", ";\n border-radius: 3px;\n }\n ::-webkit-scrollbar-thumb {\n background-color: ", ";\n border-radius: 3px;\n }\n"])), _variables.responsiveSizes.medium, function (props) {
|
|
102
120
|
return props.theme.backgroundColor;
|
|
103
|
-
}, function (props) {
|
|
104
|
-
return props.padding ? "calc(300px - ".concat(_variables.spaces[props.padding], " - ").concat(_variables.spaces[props.padding], ")") : "300px";
|
|
105
|
-
}, function (props) {
|
|
106
|
-
return props.padding ? _variables.spaces[props.padding] : "";
|
|
107
121
|
}, function (props) {
|
|
108
122
|
return props.theme.scrollBarTrackColor;
|
|
109
123
|
}, function (props) {
|
|
110
124
|
return props.theme.scrollBarThumbColor;
|
|
111
125
|
});
|
|
112
|
-
|
|
113
|
-
var SideNavMenuTitle = _styledComponents["default"].div(_templateObject2(), function (props) {
|
|
126
|
+
var SidenavTitle = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n padding: 0.5rem 1.2rem;\n font-family: ", ";\n font-style: ", ";\n font-weight: ", ";\n font-size: ", ";\n color: ", ";\n letter-spacing: ", ";\n text-transform: ", ";\n"])), function (props) {
|
|
114
127
|
return props.theme.titleFontFamily;
|
|
115
|
-
}, function (props) {
|
|
116
|
-
return props.theme.titleFontSize;
|
|
117
128
|
}, function (props) {
|
|
118
129
|
return props.theme.titleFontStyle;
|
|
119
130
|
}, function (props) {
|
|
120
131
|
return props.theme.titleFontWeight;
|
|
132
|
+
}, function (props) {
|
|
133
|
+
return props.theme.titleFontSize;
|
|
121
134
|
}, function (props) {
|
|
122
135
|
return props.theme.titleFontColor;
|
|
123
136
|
}, function (props) {
|
|
@@ -125,33 +138,42 @@ var SideNavMenuTitle = _styledComponents["default"].div(_templateObject2(), func
|
|
|
125
138
|
}, function (props) {
|
|
126
139
|
return props.theme.titleFontTextTransform;
|
|
127
140
|
});
|
|
128
|
-
|
|
129
|
-
var
|
|
130
|
-
|
|
141
|
+
var Divider = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n height: 1px;\n background-color: #999999;\n\n &:last-child {\n display: none;\n }\n"])));
|
|
142
|
+
var SidenavGroup = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n a {\n padding: 0.5rem 1.2rem 0.5rem 2.25rem;\n }\n"])));
|
|
143
|
+
var SidenavGroupTitle = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n padding: 0.5rem 1.2rem;\n font-family: ", ";\n font-style: ", ";\n font-weight: ", ";\n font-size: ", ";\n\n img,\n svg {\n height: 16px;\n width: 16px;\n }\n"])), function (props) {
|
|
144
|
+
return props.theme.groupTitleFontFamily;
|
|
145
|
+
}, function (props) {
|
|
146
|
+
return props.theme.groupTitleFontStyle;
|
|
147
|
+
}, function (props) {
|
|
148
|
+
return props.theme.groupTitleFontWeight;
|
|
131
149
|
}, function (props) {
|
|
132
|
-
return props.theme.
|
|
150
|
+
return props.theme.groupTitleFontSize;
|
|
151
|
+
});
|
|
152
|
+
var SidenavGroupTitleButton = _styledComponents["default"].button(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n all: unset;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding: 0.5rem 1.2rem;\n font-family: ", ";\n font-style: ", ";\n font-weight: ", ";\n font-size: ", ";\n cursor: pointer;\n\n ", "\n\n &:focus, &:focus-visible {\n outline: 2px solid ", ";\n outline-offset: -2px;\n }\n &:hover {\n ", "\n }\n &:active {\n color: #fff;\n background-color: ", ";\n }\n\n img,\n svg {\n height: 16px;\n width: 16px;\n }\n"])), function (props) {
|
|
153
|
+
return props.theme.groupTitleFontFamily;
|
|
154
|
+
}, function (props) {
|
|
155
|
+
return props.theme.groupTitleFontStyle;
|
|
133
156
|
}, function (props) {
|
|
134
|
-
return props.theme.
|
|
157
|
+
return props.theme.groupTitleFontWeight;
|
|
135
158
|
}, function (props) {
|
|
136
|
-
return props.theme.
|
|
159
|
+
return props.theme.groupTitleFontSize;
|
|
137
160
|
}, function (props) {
|
|
138
|
-
return props.theme.
|
|
161
|
+
return props.selectedGroup ? "color: ".concat(props.theme.groupTitleSelectedFontColor, "; background-color: ").concat(props.theme.groupTitleSelectedBackgroundColor, ";") : "color: ".concat(props.theme.groupTitleFontColor, "; background-color: transparent;");
|
|
162
|
+
}, function (props) {
|
|
163
|
+
return props.theme.linkFocusColor;
|
|
139
164
|
}, function (props) {
|
|
140
|
-
return props.theme.
|
|
165
|
+
return props.selectedGroup ? "color: ".concat(props.theme.groupTitleSelectedHoverFontColor, "; background-color: ").concat(props.theme.groupTitleSelectedHoverBackgroundColor, ";") : "color: ".concat(props.theme.groupTitleFontColor, "; background-color: ").concat(props.theme.groupTitleHoverBackgroundColor, ";");
|
|
141
166
|
}, function (props) {
|
|
142
|
-
return props.theme.
|
|
167
|
+
return props.selectedGroup ? "#333" : props.theme.groupTitleActiveBackgroundColor;
|
|
143
168
|
});
|
|
144
|
-
|
|
145
|
-
var SideNavMenuLink = _styledComponents["default"].a(_templateObject4(), function (props) {
|
|
169
|
+
var SidenavLink = _styledComponents["default"].a(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 0.5rem;\n padding: 0.5rem 1.2rem;\n box-shadow: 0 0 0 2px transparent;\n font-family: ", ";\n font-style: ", ";\n font-weight: ", ";\n font-size: ", ";\n letter-spacing: ", ";\n text-transform: ", ";\n text-decoration: ", ";\n cursor: pointer;\n\n ", "\n\n &:focus, &:focus-visible {\n outline: 2px solid ", ";\n outline-offset: -2px;\n }\n &:hover {\n ", "\n }\n &:active {\n color: #fff;\n background-color: ", ";\n outline: 2px solid #0095ff;\n outline-offset: -2px;\n }\n\n img,\n svg {\n height: 16px;\n width: 16px;\n }\n"])), function (props) {
|
|
146
170
|
return props.theme.linkFontFamily;
|
|
147
|
-
}, function (props) {
|
|
148
|
-
return props.theme.linkFontSize;
|
|
149
171
|
}, function (props) {
|
|
150
172
|
return props.theme.linkFontStyle;
|
|
151
173
|
}, function (props) {
|
|
152
174
|
return props.theme.linkFontWeight;
|
|
153
175
|
}, function (props) {
|
|
154
|
-
return props.theme.
|
|
176
|
+
return props.theme.linkFontSize;
|
|
155
177
|
}, function (props) {
|
|
156
178
|
return props.theme.linkFontLetterSpacing;
|
|
157
179
|
}, function (props) {
|
|
@@ -159,21 +181,16 @@ var SideNavMenuLink = _styledComponents["default"].a(_templateObject4(), functio
|
|
|
159
181
|
}, function (props) {
|
|
160
182
|
return props.theme.linkTextDecoration;
|
|
161
183
|
}, function (props) {
|
|
162
|
-
return "".concat(props.theme.
|
|
184
|
+
return props.selected ? "color: ".concat(props.theme.linkSelectedFontColor, "; background-color: ").concat(props.theme.linkSelectedBackgroundColor, ";") : "color: ".concat(props.theme.linkFontColor, "; background-color: transparent;");
|
|
163
185
|
}, function (props) {
|
|
164
186
|
return props.theme.linkFocusColor;
|
|
187
|
+
}, function (props) {
|
|
188
|
+
return props.selected ? "color: ".concat(props.theme.linkSelectedHoverFontColor, "; background-color: ").concat(props.theme.linkSelectedHoverBackgroundColor, ";") : "color: ".concat(props.theme.linkFontColor, "; background-color: ").concat(props.theme.linkHoverBackgroundColor, ";");
|
|
189
|
+
}, function (props) {
|
|
190
|
+
return props.selected ? "#333" : "#4d4d4d";
|
|
165
191
|
});
|
|
166
|
-
|
|
167
|
-
DxcSidenav.
|
|
168
|
-
padding: _propTypes["default"].oneOfType([_propTypes["default"].shape({
|
|
169
|
-
top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
170
|
-
bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
171
|
-
left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
172
|
-
right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
|
|
173
|
-
}), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
|
|
174
|
-
};
|
|
175
|
-
DxcSidenav.Title = Title;
|
|
176
|
-
DxcSidenav.Subtitle = Subtitle;
|
|
192
|
+
DxcSidenav.Section = Section;
|
|
193
|
+
DxcSidenav.Group = Group;
|
|
177
194
|
DxcSidenav.Link = Link;
|
|
178
|
-
|
|
179
|
-
exports["default"] =
|
|
195
|
+
DxcSidenav.Title = Title;
|
|
196
|
+
var _default = exports["default"] = DxcSidenav;
|