@dxc-technology/halstack-react 0.0.0-0271b6e → 0.0.0-0276e5a
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 +108 -134
- package/accordion/Accordion.stories.tsx +108 -118
- package/accordion/Accordion.test.js +10 -11
- package/accordion/types.d.ts +1 -12
- package/accordion-group/AccordionGroup.d.ts +5 -4
- package/accordion-group/AccordionGroup.js +34 -76
- package/accordion-group/AccordionGroup.stories.tsx +94 -67
- package/accordion-group/AccordionGroup.test.js +33 -50
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +43 -0
- package/accordion-group/types.d.ts +11 -12
- package/alert/Alert.js +9 -10
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +1 -1
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +5 -3
- package/badge/types.d.ts +1 -0
- package/bleed/Bleed.js +1 -34
- package/bleed/Bleed.stories.tsx +95 -95
- package/bleed/types.d.ts +1 -1
- package/box/Box.d.ts +1 -1
- package/box/Box.js +19 -48
- package/box/Box.stories.tsx +38 -51
- package/box/Box.test.js +1 -1
- package/box/types.d.ts +0 -11
- 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 +1 -1
- package/button/types.d.ts +5 -5
- package/card/Card.d.ts +1 -1
- package/card/Card.js +37 -58
- package/card/Card.stories.tsx +12 -42
- package/card/Card.test.js +1 -1
- package/card/types.d.ts +1 -6
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +104 -101
- package/checkbox/Checkbox.stories.tsx +198 -130
- package/checkbox/Checkbox.test.js +94 -17
- package/checkbox/types.d.ts +7 -3
- package/chip/Chip.js +28 -49
- package/chip/Chip.stories.tsx +121 -26
- package/chip/Chip.test.js +3 -5
- package/chip/types.d.ts +1 -1
- 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 +1100 -1112
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +258 -0
- package/date-input/DateInput.js +155 -240
- package/date-input/DateInput.stories.tsx +199 -33
- package/date-input/DateInput.test.js +502 -159
- 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 +63 -9
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.js +68 -103
- package/dialog/Dialog.stories.tsx +154 -171
- package/dialog/Dialog.test.js +334 -5
- package/dialog/types.d.ts +0 -12
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +246 -253
- package/dropdown/Dropdown.stories.tsx +245 -56
- package/dropdown/Dropdown.test.js +507 -110
- 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 +23 -3
- 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 +14 -14
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +44 -66
- package/file-input/types.d.ts +18 -1
- 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.d.ts +1 -1
- package/footer/Footer.js +49 -142
- package/footer/Footer.stories.tsx +37 -16
- package/footer/Footer.test.js +16 -26
- package/footer/Icons.js +1 -1
- package/footer/types.d.ts +11 -12
- 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 +4 -3
- package/header/Header.js +102 -150
- package/header/Header.stories.tsx +152 -63
- package/header/Header.test.js +20 -4
- package/header/Icons.js +2 -2
- package/header/types.d.ts +0 -13
- package/heading/Heading.js +1 -1
- package/heading/Heading.test.js +1 -1
- 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 +78 -135
- 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 +60 -77
- package/link/Link.stories.tsx +155 -53
- package/link/Link.test.js +9 -19
- package/link/types.d.ts +5 -21
- package/main.d.ts +8 -10
- package/main.js +47 -57
- package/nav-tabs/NavTabs.d.ts +8 -0
- package/nav-tabs/NavTabs.js +122 -0
- package/nav-tabs/NavTabs.stories.tsx +274 -0
- package/nav-tabs/NavTabs.test.js +82 -0
- package/nav-tabs/Tab.d.ts +4 -0
- package/nav-tabs/Tab.js +146 -0
- package/nav-tabs/types.d.ts +52 -0
- package/number-input/NumberInput.test.js +46 -12
- package/number-input/types.d.ts +13 -10
- package/package.json +19 -23
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +16 -28
- package/paginator/Paginator.js +20 -49
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +91 -39
- 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 +17 -19
- 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 +68 -23
- package/quick-nav/QuickNav.js +77 -26
- package/quick-nav/QuickNav.stories.tsx +145 -26
- package/quick-nav/types.d.ts +4 -4
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +46 -31
- package/radio-group/RadioGroup.js +37 -36
- package/radio-group/RadioGroup.stories.tsx +132 -18
- package/radio-group/RadioGroup.test.js +124 -97
- package/radio-group/types.d.ts +2 -2
- package/resultsetTable/Icons.d.ts +7 -0
- package/resultsetTable/Icons.js +51 -0
- package/resultsetTable/ResultsetTable.js +49 -108
- package/resultsetTable/ResultsetTable.stories.tsx +50 -25
- package/resultsetTable/ResultsetTable.test.js +61 -42
- package/resultsetTable/types.d.ts +1 -1
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +169 -0
- package/select/Option.js +11 -24
- package/select/Select.js +150 -224
- package/select/Select.stories.tsx +522 -133
- package/select/Select.test.js +551 -339
- package/select/types.d.ts +32 -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 +25 -37
- package/sidenav/types.d.ts +52 -26
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +121 -97
- package/slider/Slider.stories.tsx +64 -1
- package/slider/Slider.test.js +122 -22
- package/slider/types.d.ts +4 -0
- package/spinner/Spinner.js +18 -24
- package/spinner/Spinner.stories.jsx +53 -27
- package/spinner/Spinner.test.js +1 -1
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +138 -68
- package/switch/Switch.stories.tsx +49 -38
- package/switch/Switch.test.js +145 -18
- package/switch/types.d.ts +6 -2
- package/table/Table.js +3 -3
- package/table/Table.stories.jsx +80 -1
- package/table/Table.test.js +2 -2
- 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 +244 -17
- package/tabs/types.d.ts +17 -3
- package/tag/Tag.js +12 -17
- package/tag/Tag.stories.tsx +14 -1
- package/tag/Tag.test.js +1 -1
- package/tag/types.d.ts +1 -1
- 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 +221 -346
- package/text-input/TextInput.stories.tsx +280 -185
- package/text-input/TextInput.test.js +756 -758
- package/text-input/types.d.ts +46 -12
- package/textarea/Textarea.js +13 -23
- package/textarea/Textarea.stories.jsx +60 -1
- package/textarea/Textarea.test.js +2 -4
- package/textarea/types.d.ts +10 -7
- package/toggle-group/ToggleGroup.d.ts +2 -2
- package/toggle-group/ToggleGroup.js +12 -8
- package/toggle-group/ToggleGroup.stories.tsx +46 -4
- package/toggle-group/ToggleGroup.test.js +36 -5
- 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 +138 -0
- package/wizard/Wizard.js +44 -45
- package/wizard/Wizard.stories.tsx +40 -1
- package/wizard/Wizard.test.js +1 -1
- package/wizard/types.d.ts +3 -3
- package/ThemeContext.d.ts +0 -10
- package/ThemeContext.js +0 -243
- package/card/ice-cream.jpg +0 -0
- package/common/RequiredComponent.js +0 -32
- 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/Radio.test.js +0 -71
- 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 -28
- 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 -24
- package/text/Text.d.ts +0 -7
- package/text/Text.js +0 -30
- package/text/Text.stories.tsx +0 -19
- /package/{list → bulleted-list}/types.js +0 -0
- /package/{radio → flex}/types.js +0 -0
- /package/{row → grid}/types.js +0 -0
- /package/{stack → nav-tabs}/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.
|
|
@@ -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
|
/**
|
|
@@ -117,21 +120,21 @@ declare type SingleSelect = CommonProps & {
|
|
|
117
120
|
/**
|
|
118
121
|
* This function will be called when the user selects an option.
|
|
119
122
|
* An object including the current value and the error (if the value entered is not valid)
|
|
120
|
-
* 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.
|
|
121
124
|
*/
|
|
122
125
|
onChange?: (val: {
|
|
123
126
|
value: string;
|
|
124
|
-
error
|
|
127
|
+
error?: string;
|
|
125
128
|
}) => void;
|
|
126
129
|
/**
|
|
127
130
|
* This function will be called when the select loses the focus. An
|
|
128
131
|
* object including the value and the error (if the value
|
|
129
132
|
* selected is not valid) will be passed to this function. If there is no error,
|
|
130
|
-
* error will be
|
|
133
|
+
* error will not be defined.
|
|
131
134
|
*/
|
|
132
135
|
onBlur?: (val: {
|
|
133
136
|
value: string;
|
|
134
|
-
error
|
|
137
|
+
error?: string;
|
|
135
138
|
}) => void;
|
|
136
139
|
};
|
|
137
140
|
declare type MultipleSelect = CommonProps & {
|
|
@@ -157,7 +160,7 @@ declare type MultipleSelect = CommonProps & {
|
|
|
157
160
|
*/
|
|
158
161
|
onChange?: (val: {
|
|
159
162
|
value: string[];
|
|
160
|
-
error
|
|
163
|
+
error?: string;
|
|
161
164
|
}) => void;
|
|
162
165
|
/**
|
|
163
166
|
* This function will be called when the select loses the focus. An
|
|
@@ -167,7 +170,7 @@ declare type MultipleSelect = CommonProps & {
|
|
|
167
170
|
*/
|
|
168
171
|
onBlur?: (val: {
|
|
169
172
|
value: string[];
|
|
170
|
-
error
|
|
173
|
+
error?: string;
|
|
171
174
|
}) => void;
|
|
172
175
|
};
|
|
173
176
|
declare type Props = SingleSelect | MultipleSelect;
|
|
@@ -180,12 +183,28 @@ export declare type OptionProps = {
|
|
|
180
183
|
onClick: (option: Option) => void;
|
|
181
184
|
multiple: boolean;
|
|
182
185
|
visualFocused: boolean;
|
|
183
|
-
isGroupedOption
|
|
186
|
+
isGroupedOption?: boolean;
|
|
184
187
|
isLastOption: boolean;
|
|
185
188
|
isSelected: boolean;
|
|
186
189
|
};
|
|
187
190
|
/**
|
|
188
|
-
*
|
|
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.
|
|
189
208
|
*/
|
|
190
209
|
export declare type RefType = HTMLDivElement;
|
|
191
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;
|