@dxc-technology/halstack-react 0.0.0-f0d662d → 0.0.0-f1bbdfe
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 +2 -2
- package/BackgroundColorContext.js +1 -1
- package/HalstackContext.d.ts +1336 -0
- package/HalstackContext.js +335 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +118 -142
- package/accordion/Accordion.stories.tsx +115 -27
- package/accordion/Accordion.test.js +71 -0
- package/accordion/types.d.ts +8 -7
- package/accordion-group/AccordionGroup.d.ts +1 -1
- package/accordion-group/AccordionGroup.js +17 -38
- package/accordion-group/AccordionGroup.stories.tsx +28 -2
- package/accordion-group/AccordionGroup.test.js +126 -0
- package/accordion-group/types.d.ts +14 -7
- package/alert/Alert.js +8 -7
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +92 -0
- package/badge/Badge.d.ts +4 -0
- package/badge/Badge.js +5 -3
- package/badge/types.d.ts +5 -0
- package/bleed/Bleed.js +1 -34
- package/bleed/Bleed.stories.tsx +95 -95
- package/bleed/types.d.ts +25 -1
- package/box/Box.js +25 -37
- package/box/Box.stories.tsx +15 -0
- package/box/Box.test.js +18 -0
- package/box/types.d.ts +1 -0
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +125 -0
- package/bulleted-list/BulletedList.stories.tsx +206 -0
- package/bulleted-list/types.d.ts +38 -0
- package/button/Button.js +52 -70
- package/button/Button.stories.tsx +159 -8
- package/button/Button.test.js +35 -0
- package/button/types.d.ts +5 -5
- package/card/Card.js +33 -37
- package/card/Card.stories.tsx +12 -13
- package/card/Card.test.js +50 -0
- package/card/types.d.ts +1 -0
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +107 -110
- package/checkbox/Checkbox.stories.tsx +198 -130
- package/checkbox/Checkbox.test.js +155 -0
- package/checkbox/types.d.ts +11 -3
- package/chip/Chip.d.ts +1 -1
- package/chip/Chip.js +22 -68
- package/chip/Chip.stories.tsx +98 -13
- package/chip/Chip.test.js +54 -0
- package/chip/types.d.ts +5 -13
- package/common/OpenSans.css +68 -80
- package/common/coreTokens.d.ts +146 -0
- package/common/coreTokens.js +167 -0
- package/common/utils.d.ts +1 -0
- package/common/utils.js +4 -4
- package/common/variables.d.ts +1482 -0
- package/common/variables.js +1097 -1348
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +258 -0
- package/date-input/DateInput.js +169 -258
- package/date-input/DateInput.stories.tsx +199 -33
- package/date-input/DateInput.test.js +835 -0
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +146 -0
- package/date-input/Icons.d.ts +6 -0
- package/date-input/Icons.js +75 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +126 -0
- package/date-input/types.d.ts +67 -9
- package/dialog/Dialog.js +76 -93
- package/dialog/Dialog.stories.tsx +230 -123
- package/dialog/Dialog.test.js +369 -0
- package/dialog/types.d.ts +1 -0
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +248 -277
- package/dropdown/Dropdown.stories.tsx +255 -64
- package/dropdown/Dropdown.test.js +586 -0
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +74 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +79 -0
- package/dropdown/types.d.ts +27 -16
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +180 -223
- package/file-input/FileInput.stories.tsx +122 -11
- package/file-input/FileInput.test.js +457 -0
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +44 -66
- package/file-input/types.d.ts +17 -0
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +71 -0
- package/flex/Flex.stories.tsx +112 -0
- package/flex/types.d.ts +97 -0
- package/footer/Footer.js +17 -92
- package/footer/Footer.stories.tsx +99 -1
- package/footer/Footer.test.js +97 -0
- package/footer/Icons.js +1 -1
- package/footer/types.d.ts +2 -1
- package/grid/Grid.d.ts +7 -0
- package/grid/Grid.js +91 -0
- package/grid/Grid.stories.tsx +219 -0
- package/grid/types.d.ts +115 -0
- package/header/Header.d.ts +3 -2
- package/header/Header.js +108 -129
- package/header/Header.stories.tsx +189 -36
- package/header/Header.test.js +79 -0
- package/header/Icons.js +2 -2
- package/header/types.d.ts +1 -0
- package/heading/Heading.js +1 -1
- package/heading/Heading.test.js +186 -0
- package/inset/Inset.js +1 -34
- package/inset/Inset.stories.tsx +37 -36
- package/inset/types.d.ts +25 -1
- package/layout/ApplicationLayout.d.ts +16 -6
- package/layout/ApplicationLayout.js +72 -126
- package/layout/ApplicationLayout.stories.tsx +84 -93
- package/layout/Icons.d.ts +5 -0
- package/layout/Icons.js +13 -2
- package/layout/SidenavContext.d.ts +5 -0
- package/layout/SidenavContext.js +19 -0
- package/layout/types.d.ts +19 -35
- package/link/Link.d.ts +3 -2
- package/link/Link.js +63 -88
- package/link/Link.stories.tsx +159 -52
- package/link/Link.test.js +81 -0
- package/link/types.d.ts +7 -27
- package/main.d.ts +12 -15
- package/main.js +57 -75
- package/nav-tabs/NavTabs.d.ts +8 -0
- package/nav-tabs/NavTabs.js +125 -0
- package/nav-tabs/NavTabs.stories.tsx +260 -0
- package/nav-tabs/NavTabs.test.js +82 -0
- package/nav-tabs/Tab.d.ts +4 -0
- package/nav-tabs/Tab.js +150 -0
- package/nav-tabs/types.d.ts +53 -0
- package/nav-tabs/types.js +5 -0
- package/number-input/NumberInput.js +11 -18
- package/number-input/NumberInput.stories.tsx +5 -5
- package/number-input/NumberInput.test.js +542 -0
- package/number-input/types.d.ts +17 -10
- package/package.json +20 -23
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +16 -28
- package/paginator/Paginator.js +19 -48
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +305 -0
- package/paragraph/Paragraph.d.ts +5 -0
- package/paragraph/Paragraph.js +38 -0
- package/paragraph/Paragraph.stories.tsx +44 -0
- package/password-input/PasswordInput.js +7 -4
- package/password-input/PasswordInput.test.js +181 -0
- package/password-input/types.d.ts +14 -11
- package/progress-bar/ProgressBar.js +61 -55
- package/progress-bar/ProgressBar.stories.jsx +47 -12
- package/progress-bar/ProgressBar.test.js +110 -0
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +117 -0
- package/quick-nav/QuickNav.stories.tsx +356 -0
- package/quick-nav/types.d.ts +21 -0
- package/quick-nav/types.js +5 -0
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +53 -37
- package/radio-group/RadioGroup.js +67 -57
- package/radio-group/RadioGroup.stories.tsx +171 -36
- package/radio-group/RadioGroup.test.js +563 -89
- package/radio-group/types.d.ts +82 -4
- package/resultsetTable/Icons.d.ts +7 -0
- package/resultsetTable/Icons.js +51 -0
- package/resultsetTable/ResultsetTable.js +50 -106
- package/resultsetTable/ResultsetTable.stories.tsx +50 -25
- package/resultsetTable/ResultsetTable.test.js +325 -0
- package/resultsetTable/types.d.ts +1 -1
- package/select/Icons.d.ts +10 -0
- package/select/Icons.js +93 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +169 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +97 -0
- package/select/Select.js +189 -386
- package/select/Select.stories.tsx +600 -201
- package/select/Select.test.js +2228 -0
- package/select/types.d.ts +53 -13
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +51 -0
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +146 -44
- package/sidenav/Sidenav.stories.tsx +251 -151
- package/sidenav/Sidenav.test.js +44 -0
- package/sidenav/types.d.ts +52 -26
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +123 -98
- package/slider/Slider.stories.tsx +72 -9
- package/slider/Slider.test.js +250 -0
- package/slider/types.d.ts +8 -0
- package/spinner/Spinner.js +18 -24
- package/spinner/Spinner.stories.jsx +53 -27
- package/spinner/Spinner.test.js +64 -0
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +152 -69
- package/switch/Switch.stories.tsx +53 -42
- package/switch/Switch.test.js +225 -0
- package/switch/types.d.ts +10 -2
- package/table/Table.js +3 -3
- package/table/Table.stories.jsx +80 -1
- package/table/Table.test.js +26 -0
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +132 -0
- package/tabs/Tabs.d.ts +1 -1
- package/tabs/Tabs.js +360 -112
- package/tabs/Tabs.stories.tsx +119 -13
- package/tabs/Tabs.test.js +350 -0
- package/tabs/types.d.ts +17 -3
- package/tag/Tag.d.ts +1 -1
- package/tag/Tag.js +24 -36
- package/tag/Tag.stories.tsx +37 -27
- package/tag/Tag.test.js +60 -0
- package/tag/types.d.ts +23 -14
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +60 -0
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +84 -0
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +134 -0
- package/text-input/TextInput.js +224 -345
- package/text-input/TextInput.stories.tsx +310 -197
- package/text-input/TextInput.test.js +1723 -0
- package/text-input/types.d.ts +50 -12
- package/textarea/Textarea.js +22 -30
- package/textarea/Textarea.stories.jsx +93 -13
- package/textarea/Textarea.test.js +435 -0
- package/textarea/types.d.ts +18 -11
- package/toggle-group/ToggleGroup.d.ts +1 -1
- package/toggle-group/ToggleGroup.js +12 -8
- package/toggle-group/ToggleGroup.stories.tsx +46 -4
- package/toggle-group/ToggleGroup.test.js +156 -0
- package/toggle-group/types.d.ts +10 -2
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +32 -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 +1234 -1
- package/useTheme.js +3 -3
- package/useTranslatedLabels.d.ts +85 -0
- package/useTranslatedLabels.js +20 -0
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +108 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +139 -0
- package/wizard/Wizard.d.ts +1 -1
- package/wizard/Wizard.js +59 -55
- package/wizard/Wizard.stories.tsx +48 -19
- package/wizard/Wizard.test.js +141 -0
- package/wizard/types.d.ts +8 -4
- package/ThemeContext.d.ts +0 -15
- package/ThemeContext.js +0 -243
- package/V3Select/V3Select.js +0 -455
- package/V3Select/index.d.ts +0 -27
- package/V3Textarea/V3Textarea.js +0 -260
- package/V3Textarea/index.d.ts +0 -27
- package/common/RequiredComponent.js +0 -32
- package/date/Date.js +0 -373
- package/date/index.d.ts +0 -27
- package/input-text/Icons.js +0 -22
- package/input-text/InputText.js +0 -611
- package/input-text/index.d.ts +0 -36
- package/list/List.d.ts +0 -4
- package/list/List.js +0 -47
- package/list/List.stories.tsx +0 -95
- package/list/types.d.ts +0 -7
- package/radio/Radio.d.ts +0 -4
- package/radio/Radio.js +0 -174
- package/radio/Radio.stories.tsx +0 -192
- package/radio/types.d.ts +0 -54
- package/row/Row.d.ts +0 -3
- package/row/Row.js +0 -127
- package/row/Row.stories.tsx +0 -237
- package/row/types.d.ts +0 -10
- package/stack/Stack.d.ts +0 -3
- package/stack/Stack.js +0 -97
- package/stack/Stack.stories.tsx +0 -164
- package/stack/types.d.ts +0 -9
- package/text/Text.d.ts +0 -7
- package/text/Text.js +0 -30
- package/text/Text.stories.tsx +0 -19
- package/toggle/Toggle.js +0 -186
- package/toggle/index.d.ts +0 -21
- package/upload/Upload.js +0 -201
- package/upload/buttons-upload/ButtonsUpload.js +0 -111
- package/upload/buttons-upload/Icons.js +0 -40
- package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
- package/upload/dragAndDropArea/Icons.js +0 -39
- package/upload/file-upload/FileToUpload.js +0 -115
- package/upload/file-upload/Icons.js +0 -66
- package/upload/files-upload/FilesToUpload.js +0 -109
- package/upload/index.d.ts +0 -15
- package/upload/transaction/Icons.js +0 -160
- package/upload/transaction/Transaction.js +0 -104
- package/upload/transactions/Transactions.js +0 -94
- /package/{list → badge}/types.js +0 -0
- /package/{radio → bulleted-list}/types.js +0 -0
- /package/{row → flex}/types.js +0 -0
- /package/{stack → grid}/types.js +0 -0
package/select/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import React from "react";
|
|
2
2
|
declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
3
|
declare type Margin = {
|
|
4
4
|
top?: Space;
|
|
@@ -6,7 +6,7 @@ declare type Margin = {
|
|
|
6
6
|
left?: Space;
|
|
7
7
|
right?: Space;
|
|
8
8
|
};
|
|
9
|
-
declare type SVG = React.SVGProps<SVGSVGElement>;
|
|
9
|
+
declare type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
|
|
10
10
|
declare type OptionGroup = {
|
|
11
11
|
/**
|
|
12
12
|
* Label of the group to be shown in the select's listbox.
|
|
@@ -53,7 +53,7 @@ declare type CommonProps = {
|
|
|
53
53
|
/**
|
|
54
54
|
* An array of objects representing the selectable options.
|
|
55
55
|
*/
|
|
56
|
-
options
|
|
56
|
+
options: Option[] | OptionGroup[];
|
|
57
57
|
/**
|
|
58
58
|
* Helper text to be placed above the select.
|
|
59
59
|
*/
|
|
@@ -79,9 +79,12 @@ declare type CommonProps = {
|
|
|
79
79
|
*/
|
|
80
80
|
searchable?: boolean;
|
|
81
81
|
/**
|
|
82
|
-
* If it is defined
|
|
83
|
-
* the error below the select component.
|
|
84
|
-
*
|
|
82
|
+
* If it is a defined value and also a truthy string, the component will
|
|
83
|
+
* change its appearance, showing the error below the select component.
|
|
84
|
+
* If the defined value is an empty string, it will reserve a space below
|
|
85
|
+
* the component for a future error, but it would not change its look. In
|
|
86
|
+
* case of being undefined or null, both the appearance and the space for
|
|
87
|
+
* the error message would not be modified.
|
|
85
88
|
*/
|
|
86
89
|
error?: string;
|
|
87
90
|
/**
|
|
@@ -105,6 +108,10 @@ declare type SingleSelect = CommonProps & {
|
|
|
105
108
|
* option value.
|
|
106
109
|
*/
|
|
107
110
|
multiple?: false;
|
|
111
|
+
/**
|
|
112
|
+
* Initial value of the select, only when it is uncontrolled.
|
|
113
|
+
*/
|
|
114
|
+
defaultValue?: string;
|
|
108
115
|
/**
|
|
109
116
|
* Value of the select. If undefined, the component will be uncontrolled
|
|
110
117
|
* and the value will be managed internally by the component.
|
|
@@ -113,21 +120,21 @@ declare type SingleSelect = CommonProps & {
|
|
|
113
120
|
/**
|
|
114
121
|
* This function will be called when the user selects an option.
|
|
115
122
|
* An object including the current value and the error (if the value entered is not valid)
|
|
116
|
-
* will be passed to this function. If there is no error, error will be
|
|
123
|
+
* will be passed to this function. If there is no error, error will not be defined.
|
|
117
124
|
*/
|
|
118
125
|
onChange?: (val: {
|
|
119
126
|
value: string;
|
|
120
|
-
error
|
|
127
|
+
error?: string;
|
|
121
128
|
}) => void;
|
|
122
129
|
/**
|
|
123
130
|
* This function will be called when the select loses the focus. An
|
|
124
131
|
* object including the value and the error (if the value
|
|
125
132
|
* selected is not valid) will be passed to this function. If there is no error,
|
|
126
|
-
* error will be
|
|
133
|
+
* error will not be defined.
|
|
127
134
|
*/
|
|
128
135
|
onBlur?: (val: {
|
|
129
136
|
value: string;
|
|
130
|
-
error
|
|
137
|
+
error?: string;
|
|
131
138
|
}) => void;
|
|
132
139
|
};
|
|
133
140
|
declare type MultipleSelect = CommonProps & {
|
|
@@ -137,6 +144,10 @@ declare type MultipleSelect = CommonProps & {
|
|
|
137
144
|
* option value.
|
|
138
145
|
*/
|
|
139
146
|
multiple: true;
|
|
147
|
+
/**
|
|
148
|
+
* Initial value of the select, only when it is uncontrolled.
|
|
149
|
+
*/
|
|
150
|
+
defaultValue?: string[];
|
|
140
151
|
/**
|
|
141
152
|
* Value of the select. If undefined, the component will be uncontrolled
|
|
142
153
|
* and the value will be managed internally by the component.
|
|
@@ -149,7 +160,7 @@ declare type MultipleSelect = CommonProps & {
|
|
|
149
160
|
*/
|
|
150
161
|
onChange?: (val: {
|
|
151
162
|
value: string[];
|
|
152
|
-
error
|
|
163
|
+
error?: string;
|
|
153
164
|
}) => void;
|
|
154
165
|
/**
|
|
155
166
|
* This function will be called when the select loses the focus. An
|
|
@@ -159,12 +170,41 @@ declare type MultipleSelect = CommonProps & {
|
|
|
159
170
|
*/
|
|
160
171
|
onBlur?: (val: {
|
|
161
172
|
value: string[];
|
|
162
|
-
error
|
|
173
|
+
error?: string;
|
|
163
174
|
}) => void;
|
|
164
175
|
};
|
|
165
176
|
declare type Props = SingleSelect | MultipleSelect;
|
|
166
177
|
/**
|
|
167
|
-
*
|
|
178
|
+
* Single option of the select component.
|
|
179
|
+
*/
|
|
180
|
+
export declare type OptionProps = {
|
|
181
|
+
id: string;
|
|
182
|
+
option: Option;
|
|
183
|
+
onClick: (option: Option) => void;
|
|
184
|
+
multiple: boolean;
|
|
185
|
+
visualFocused: boolean;
|
|
186
|
+
isGroupedOption?: boolean;
|
|
187
|
+
isLastOption: boolean;
|
|
188
|
+
isSelected: boolean;
|
|
189
|
+
};
|
|
190
|
+
/**
|
|
191
|
+
* Listbox from the select component.
|
|
192
|
+
*/
|
|
193
|
+
export declare type ListboxProps = {
|
|
194
|
+
id: string;
|
|
195
|
+
currentValue: string | string[];
|
|
196
|
+
options: Option[] | OptionGroup[];
|
|
197
|
+
visualFocusIndex: number;
|
|
198
|
+
lastOptionIndex: number;
|
|
199
|
+
multiple: boolean;
|
|
200
|
+
optional: boolean;
|
|
201
|
+
optionalItem: Option;
|
|
202
|
+
searchable: boolean;
|
|
203
|
+
handleOptionOnClick: (option: Option) => void;
|
|
204
|
+
styles: React.CSSProperties;
|
|
205
|
+
};
|
|
206
|
+
/**
|
|
207
|
+
* Reference to the select component.
|
|
168
208
|
*/
|
|
169
209
|
export declare type RefType = HTMLDivElement;
|
|
170
210
|
export default Props;
|
package/sidenav/Icons.js
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var icons = {
|
|
13
|
+
collapsedIcon: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
14
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
15
|
+
height: "24px",
|
|
16
|
+
viewBox: "0 0 24 24",
|
|
17
|
+
width: "24px",
|
|
18
|
+
fill: "currentColor"
|
|
19
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
20
|
+
d: "M0 0h24v24H0z",
|
|
21
|
+
fill: "none"
|
|
22
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
23
|
+
d: "M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"
|
|
24
|
+
})),
|
|
25
|
+
collapsableIcon: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
26
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
27
|
+
height: "24px",
|
|
28
|
+
viewBox: "0 0 24 24",
|
|
29
|
+
width: "24px",
|
|
30
|
+
fill: "currentColor"
|
|
31
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
32
|
+
d: "M0 0h24v24H0z",
|
|
33
|
+
fill: "none"
|
|
34
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
35
|
+
d: "M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z"
|
|
36
|
+
})),
|
|
37
|
+
externalLinkIcon: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
38
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
39
|
+
height: "24",
|
|
40
|
+
viewBox: "0 0 24 24",
|
|
41
|
+
width: "24",
|
|
42
|
+
fill: "currentColor"
|
|
43
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
44
|
+
d: "M0 0h24v24H0z",
|
|
45
|
+
fill: "none"
|
|
46
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
47
|
+
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"
|
|
48
|
+
}))
|
|
49
|
+
};
|
|
50
|
+
var _default = icons;
|
|
51
|
+
exports["default"] = _default;
|
package/sidenav/Sidenav.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
import SidenavPropsType, {
|
|
1
|
+
import React from "react";
|
|
2
|
+
import SidenavPropsType, { SidenavGroupPropsType, SidenavLinkPropsType, SidenavSectionPropsType, SidenavTitlePropsType } from "./types.js";
|
|
3
3
|
declare const DxcSidenav: {
|
|
4
|
-
({
|
|
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>>;
|
|
5
8
|
Title: ({ children }: SidenavTitlePropsType) => JSX.Element;
|
|
6
|
-
Subtitle: ({ children }: SidenavSubtitlePropsType) => JSX.Element;
|
|
7
|
-
Link: ({ tabIndex, href, onClick, children }: SidenavLinkPropsType) => JSX.Element;
|
|
8
9
|
};
|
|
9
10
|
export default DxcSidenav;
|
package/sidenav/Sidenav.js
CHANGED
|
@@ -11,78 +11,161 @@ exports["default"] = void 0;
|
|
|
11
11
|
|
|
12
12
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
15
|
+
|
|
16
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
17
|
+
|
|
18
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
19
|
+
|
|
20
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
15
21
|
|
|
16
22
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
17
23
|
|
|
18
|
-
var _variables = require("../common/variables
|
|
24
|
+
var _variables = require("../common/variables");
|
|
25
|
+
|
|
26
|
+
var _SidenavContext = require("../layout/SidenavContext");
|
|
19
27
|
|
|
20
28
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
21
29
|
|
|
22
30
|
var _BackgroundColorContext = require("../BackgroundColorContext");
|
|
23
31
|
|
|
24
|
-
var
|
|
32
|
+
var _Flex = _interopRequireDefault(require("../flex/Flex"));
|
|
33
|
+
|
|
34
|
+
var _Bleed = _interopRequireDefault(require("../bleed/Bleed"));
|
|
35
|
+
|
|
36
|
+
var _Icons = _interopRequireDefault(require("./Icons"));
|
|
37
|
+
|
|
38
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
|
|
39
|
+
|
|
40
|
+
var _excluded = ["href", "newWindow", "selected", "icon", "onClick", "tabIndex", "children"];
|
|
25
41
|
|
|
26
42
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
27
43
|
|
|
28
44
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
29
45
|
|
|
30
46
|
var DxcSidenav = function DxcSidenav(_ref) {
|
|
31
|
-
var
|
|
47
|
+
var title = _ref.title,
|
|
32
48
|
children = _ref.children;
|
|
33
49
|
var colorsTheme = (0, _useTheme["default"])();
|
|
34
50
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
35
51
|
theme: colorsTheme.sidenav
|
|
36
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
37
|
-
padding: padding
|
|
38
|
-
}, /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
|
|
52
|
+
}, /*#__PURE__*/_react["default"].createElement(SidenavContainer, null, /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
|
|
39
53
|
color: colorsTheme.sidenav.backgroundColor
|
|
40
|
-
},
|
|
54
|
+
}, title, /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
|
|
55
|
+
direction: "column",
|
|
56
|
+
gap: "1rem"
|
|
57
|
+
}, children))));
|
|
41
58
|
};
|
|
42
59
|
|
|
43
60
|
var Title = function Title(_ref2) {
|
|
44
61
|
var children = _ref2.children;
|
|
45
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
62
|
+
return /*#__PURE__*/_react["default"].createElement(_Bleed["default"], {
|
|
63
|
+
horizontal: "1rem"
|
|
64
|
+
}, /*#__PURE__*/_react["default"].createElement(SidenavTitle, null, children));
|
|
46
65
|
};
|
|
47
66
|
|
|
48
|
-
var
|
|
67
|
+
var Section = function Section(_ref3) {
|
|
49
68
|
var children = _ref3.children;
|
|
50
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
69
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_Bleed["default"], {
|
|
70
|
+
horizontal: "1rem"
|
|
71
|
+
}, /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
|
|
72
|
+
direction: "column"
|
|
73
|
+
}, children)), /*#__PURE__*/_react["default"].createElement(Divider, null));
|
|
51
74
|
};
|
|
52
75
|
|
|
53
|
-
var
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
76
|
+
var GroupContext = /*#__PURE__*/_react["default"].createContext(null);
|
|
77
|
+
|
|
78
|
+
var Group = function Group(_ref4) {
|
|
79
|
+
var title = _ref4.title,
|
|
80
|
+
_ref4$collapsable = _ref4.collapsable,
|
|
81
|
+
collapsable = _ref4$collapsable === void 0 ? false : _ref4$collapsable,
|
|
82
|
+
icon = _ref4.icon,
|
|
58
83
|
children = _ref4.children;
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
84
|
+
|
|
85
|
+
var _useState = (0, _react.useState)(false),
|
|
86
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
87
|
+
collapsed = _useState2[0],
|
|
88
|
+
setCollapsed = _useState2[1];
|
|
89
|
+
|
|
90
|
+
var _useState3 = (0, _react.useState)(false),
|
|
91
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
92
|
+
isSelected = _useState4[0],
|
|
93
|
+
changeIsSelected = _useState4[1];
|
|
94
|
+
|
|
95
|
+
return /*#__PURE__*/_react["default"].createElement(GroupContext.Provider, {
|
|
96
|
+
value: changeIsSelected
|
|
97
|
+
}, /*#__PURE__*/_react["default"].createElement(SidenavGroup, null, collapsable && title ? /*#__PURE__*/_react["default"].createElement(SidenavGroupTitleButton, {
|
|
98
|
+
"aria-expanded": !collapsed,
|
|
99
|
+
onClick: function onClick() {
|
|
100
|
+
return setCollapsed(!collapsed);
|
|
101
|
+
},
|
|
102
|
+
selectedGroup: collapsed && isSelected
|
|
103
|
+
}, /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
|
|
104
|
+
alignItems: "center",
|
|
105
|
+
gap: "0.5rem"
|
|
106
|
+
}, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
|
|
107
|
+
src: icon
|
|
108
|
+
}) : icon, title), collapsed ? _Icons["default"].collapsedIcon : _Icons["default"].collapsableIcon) : title && /*#__PURE__*/_react["default"].createElement(SidenavGroupTitle, null, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
|
|
109
|
+
src: icon
|
|
110
|
+
}) : icon, title), !collapsed && children));
|
|
64
111
|
};
|
|
65
112
|
|
|
66
|
-
var
|
|
113
|
+
var Link = /*#__PURE__*/(0, _react.forwardRef)(function (_ref5, ref) {
|
|
114
|
+
var href = _ref5.href,
|
|
115
|
+
_ref5$newWindow = _ref5.newWindow,
|
|
116
|
+
newWindow = _ref5$newWindow === void 0 ? false : _ref5$newWindow,
|
|
117
|
+
_ref5$selected = _ref5.selected,
|
|
118
|
+
selected = _ref5$selected === void 0 ? false : _ref5$selected,
|
|
119
|
+
icon = _ref5.icon,
|
|
120
|
+
onClick = _ref5.onClick,
|
|
121
|
+
_ref5$tabIndex = _ref5.tabIndex,
|
|
122
|
+
tabIndex = _ref5$tabIndex === void 0 ? 0 : _ref5$tabIndex,
|
|
123
|
+
children = _ref5.children,
|
|
124
|
+
otherProps = (0, _objectWithoutProperties2["default"])(_ref5, _excluded);
|
|
125
|
+
var changeIsGroupSelected = (0, _react.useContext)(GroupContext);
|
|
126
|
+
var setIsSidenavVisibleResponsive = (0, _SidenavContext.useResponsiveSidenavVisibility)();
|
|
127
|
+
|
|
128
|
+
var handleClick = function handleClick($event) {
|
|
129
|
+
onClick === null || onClick === void 0 ? void 0 : onClick($event);
|
|
130
|
+
setIsSidenavVisibleResponsive === null || setIsSidenavVisibleResponsive === void 0 ? void 0 : setIsSidenavVisibleResponsive(false);
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
(0, _react.useEffect)(function () {
|
|
134
|
+
changeIsGroupSelected === null || changeIsGroupSelected === void 0 ? void 0 : changeIsGroupSelected(function (isGroupSelected) {
|
|
135
|
+
return !isGroupSelected ? selected : isGroupSelected;
|
|
136
|
+
});
|
|
137
|
+
}, [selected, changeIsGroupSelected]);
|
|
138
|
+
return /*#__PURE__*/_react["default"].createElement(SidenavLink, (0, _extends2["default"])({
|
|
139
|
+
selected: selected,
|
|
140
|
+
href: href ? href : undefined,
|
|
141
|
+
target: href ? newWindow ? "_blank" : "_self" : undefined,
|
|
142
|
+
ref: ref,
|
|
143
|
+
tabIndex: tabIndex,
|
|
144
|
+
onClick: handleClick
|
|
145
|
+
}, otherProps), /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
|
|
146
|
+
alignItems: "center",
|
|
147
|
+
gap: "0.5rem"
|
|
148
|
+
}, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
|
|
149
|
+
src: icon
|
|
150
|
+
}) : icon, children), newWindow && _Icons["default"].externalLinkIcon);
|
|
151
|
+
});
|
|
152
|
+
|
|
153
|
+
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) {
|
|
67
154
|
return props.theme.backgroundColor;
|
|
68
|
-
}, function (props) {
|
|
69
|
-
return props.padding ? "calc(300px - ".concat(_variables.spaces[props.padding], " - ").concat(_variables.spaces[props.padding], ")") : "300px";
|
|
70
|
-
}, function (props) {
|
|
71
|
-
return props.padding ? _variables.spaces[props.padding] : "";
|
|
72
155
|
}, function (props) {
|
|
73
156
|
return props.theme.scrollBarTrackColor;
|
|
74
157
|
}, function (props) {
|
|
75
158
|
return props.theme.scrollBarThumbColor;
|
|
76
159
|
});
|
|
77
160
|
|
|
78
|
-
var
|
|
161
|
+
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) {
|
|
79
162
|
return props.theme.titleFontFamily;
|
|
80
|
-
}, function (props) {
|
|
81
|
-
return props.theme.titleFontSize;
|
|
82
163
|
}, function (props) {
|
|
83
164
|
return props.theme.titleFontStyle;
|
|
84
165
|
}, function (props) {
|
|
85
166
|
return props.theme.titleFontWeight;
|
|
167
|
+
}, function (props) {
|
|
168
|
+
return props.theme.titleFontSize;
|
|
86
169
|
}, function (props) {
|
|
87
170
|
return props.theme.titleFontColor;
|
|
88
171
|
}, function (props) {
|
|
@@ -91,32 +174,46 @@ var SideNavMenuTitle = _styledComponents["default"].div(_templateObject2 || (_te
|
|
|
91
174
|
return props.theme.titleFontTextTransform;
|
|
92
175
|
});
|
|
93
176
|
|
|
94
|
-
var
|
|
95
|
-
|
|
177
|
+
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"])));
|
|
178
|
+
|
|
179
|
+
var SidenavGroup = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n a {\n padding: 0.5rem 1.2rem 0.5rem 2.25rem;\n }\n"])));
|
|
180
|
+
|
|
181
|
+
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) {
|
|
182
|
+
return props.theme.groupTitleFontFamily;
|
|
183
|
+
}, function (props) {
|
|
184
|
+
return props.theme.groupTitleFontStyle;
|
|
185
|
+
}, function (props) {
|
|
186
|
+
return props.theme.groupTitleFontWeight;
|
|
187
|
+
}, function (props) {
|
|
188
|
+
return props.theme.groupTitleFontSize;
|
|
189
|
+
});
|
|
190
|
+
|
|
191
|
+
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) {
|
|
192
|
+
return props.theme.groupTitleFontFamily;
|
|
96
193
|
}, function (props) {
|
|
97
|
-
return props.theme.
|
|
194
|
+
return props.theme.groupTitleFontStyle;
|
|
98
195
|
}, function (props) {
|
|
99
|
-
return props.theme.
|
|
196
|
+
return props.theme.groupTitleFontWeight;
|
|
100
197
|
}, function (props) {
|
|
101
|
-
return props.theme.
|
|
198
|
+
return props.theme.groupTitleFontSize;
|
|
102
199
|
}, function (props) {
|
|
103
|
-
return props.theme.
|
|
200
|
+
return props.selectedGroup ? "color: ".concat(props.theme.groupTitleSelectedFontColor, "; background-color: ").concat(props.theme.groupTitleSelectedBackgroundColor, ";") : "color: ".concat(props.theme.groupTitleFontColor, "; background-color: transparent;");
|
|
104
201
|
}, function (props) {
|
|
105
|
-
return props.theme.
|
|
202
|
+
return props.theme.linkFocusColor;
|
|
203
|
+
}, function (props) {
|
|
204
|
+
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, ";");
|
|
106
205
|
}, function (props) {
|
|
107
|
-
return props.theme.
|
|
206
|
+
return props.selectedGroup ? "#333" : props.theme.groupTitleActiveBackgroundColor;
|
|
108
207
|
});
|
|
109
208
|
|
|
110
|
-
var
|
|
209
|
+
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) {
|
|
111
210
|
return props.theme.linkFontFamily;
|
|
112
|
-
}, function (props) {
|
|
113
|
-
return props.theme.linkFontSize;
|
|
114
211
|
}, function (props) {
|
|
115
212
|
return props.theme.linkFontStyle;
|
|
116
213
|
}, function (props) {
|
|
117
214
|
return props.theme.linkFontWeight;
|
|
118
215
|
}, function (props) {
|
|
119
|
-
return props.theme.
|
|
216
|
+
return props.theme.linkFontSize;
|
|
120
217
|
}, function (props) {
|
|
121
218
|
return props.theme.linkFontLetterSpacing;
|
|
122
219
|
}, function (props) {
|
|
@@ -124,13 +221,18 @@ var SideNavMenuLink = _styledComponents["default"].a(_templateObject4 || (_templ
|
|
|
124
221
|
}, function (props) {
|
|
125
222
|
return props.theme.linkTextDecoration;
|
|
126
223
|
}, function (props) {
|
|
127
|
-
return "".concat(props.theme.
|
|
224
|
+
return props.selected ? "color: ".concat(props.theme.linkSelectedFontColor, "; background-color: ").concat(props.theme.linkSelectedBackgroundColor, ";") : "color: ".concat(props.theme.linkFontColor, "; background-color: transparent;");
|
|
128
225
|
}, function (props) {
|
|
129
226
|
return props.theme.linkFocusColor;
|
|
227
|
+
}, function (props) {
|
|
228
|
+
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, ";");
|
|
229
|
+
}, function (props) {
|
|
230
|
+
return props.selected ? "#333" : "#4d4d4d";
|
|
130
231
|
});
|
|
131
232
|
|
|
132
|
-
DxcSidenav.
|
|
133
|
-
DxcSidenav.
|
|
233
|
+
DxcSidenav.Section = Section;
|
|
234
|
+
DxcSidenav.Group = Group;
|
|
134
235
|
DxcSidenav.Link = Link;
|
|
236
|
+
DxcSidenav.Title = Title;
|
|
135
237
|
var _default = DxcSidenav;
|
|
136
238
|
exports["default"] = _default;
|