@dxc-technology/halstack-react 0.0.0-b646454 → 0.0.0-b915415
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/README.md +1 -1
- package/babel.config.js +5 -2
- package/dist/BackgroundColorContext.js +46 -0
- package/dist/ThemeContext.js +237 -2
- package/dist/V3Select/V3Select.js +549 -0
- package/dist/V3Select/index.d.ts +27 -0
- package/dist/V3Textarea/V3Textarea.js +264 -0
- package/dist/V3Textarea/index.d.ts +27 -0
- package/dist/accordion/Accordion.js +174 -63
- package/dist/accordion/index.d.ts +28 -0
- package/dist/accordion-group/AccordionGroup.js +186 -0
- package/dist/accordion-group/index.d.ts +16 -0
- package/dist/alert/Alert.js +183 -84
- package/dist/alert/index.d.ts +51 -0
- package/dist/badge/Badge.js +63 -0
- package/dist/box/Box.js +31 -23
- package/dist/box/index.d.ts +25 -0
- package/dist/button/Button.js +85 -28
- package/dist/button/Button.stories.js +14 -211
- package/dist/button/index.d.ts +24 -0
- package/dist/card/Card.js +72 -35
- package/dist/card/index.d.ts +22 -0
- package/dist/checkbox/Checkbox.js +107 -32
- package/dist/checkbox/index.d.ts +24 -0
- package/dist/chip/Chip.js +128 -36
- package/dist/chip/index.d.ts +22 -0
- package/dist/common/RequiredComponent.js +2 -8
- package/dist/common/utils.js +2 -22
- package/dist/common/variables.js +1451 -277
- package/dist/date/Date.js +81 -59
- package/dist/date/index.d.ts +27 -0
- package/dist/date-input/DateInput.js +400 -0
- package/dist/date-input/index.d.ts +95 -0
- package/dist/dialog/Dialog.js +58 -37
- package/dist/dialog/index.d.ts +18 -0
- package/dist/dropdown/Dropdown.js +205 -85
- package/dist/dropdown/index.d.ts +26 -0
- package/dist/file-input/FileInput.js +644 -0
- package/dist/file-input/FileItem.js +287 -0
- package/dist/file-input/index.d.ts +81 -0
- package/dist/footer/Footer.js +121 -46
- package/dist/footer/Icons.js +77 -0
- package/dist/footer/index.d.ts +25 -0
- package/dist/header/Header.js +200 -102
- package/dist/header/Icons.js +59 -0
- package/dist/header/index.d.ts +25 -0
- package/dist/heading/Heading.js +93 -16
- package/dist/heading/index.d.ts +17 -0
- package/dist/input-text/Icons.js +22 -0
- package/dist/input-text/InputText.js +289 -103
- package/dist/input-text/index.d.ts +36 -0
- package/dist/layout/ApplicationLayout.js +327 -0
- package/dist/layout/Icons.js +55 -0
- package/dist/link/Link.js +136 -35
- package/dist/link/index.d.ts +23 -0
- package/dist/main.d.ts +40 -0
- package/dist/main.js +112 -16
- package/dist/number-input/NumberInput.js +136 -0
- package/dist/number-input/NumberInputContext.js +16 -0
- package/dist/number-input/index.d.ts +113 -0
- package/dist/paginator/Icons.js +66 -0
- package/dist/paginator/Paginator.js +172 -63
- package/dist/paginator/index.d.ts +20 -0
- package/dist/password-input/PasswordInput.js +203 -0
- package/dist/password-input/index.d.ts +94 -0
- package/dist/progress-bar/ProgressBar.js +95 -38
- package/dist/progress-bar/index.d.ts +18 -0
- package/dist/radio/Radio.js +39 -17
- package/dist/radio/index.d.ts +23 -0
- package/dist/resultsetTable/ResultsetTable.js +93 -68
- package/dist/resultsetTable/index.d.ts +19 -0
- package/dist/select/Select.js +916 -265
- package/dist/select/index.d.ts +53 -0
- package/dist/sidenav/Sidenav.js +84 -141
- package/dist/sidenav/index.d.ts +13 -0
- package/dist/slider/Slider.js +219 -73
- package/dist/slider/index.d.ts +29 -0
- package/dist/spinner/Spinner.js +247 -59
- package/dist/spinner/index.d.ts +17 -0
- package/dist/switch/Switch.js +50 -27
- package/dist/switch/index.d.ts +24 -0
- package/dist/table/Table.js +58 -13
- package/dist/table/index.d.ts +13 -0
- package/dist/tabs/Tabs.js +207 -36
- package/dist/tabs/index.d.ts +19 -0
- package/dist/tag/Tag.js +100 -35
- package/dist/tag/index.d.ts +24 -0
- package/dist/text-input/TextInput.js +974 -0
- package/dist/text-input/index.d.ts +135 -0
- package/dist/textarea/Textarea.js +248 -106
- package/dist/textarea/index.d.ts +117 -0
- package/dist/toggle/Toggle.js +16 -19
- package/dist/toggle/index.d.ts +21 -0
- package/dist/toggle-group/ToggleGroup.js +327 -0
- package/dist/toggle-group/index.d.ts +21 -0
- package/dist/upload/Upload.js +13 -8
- package/dist/upload/buttons-upload/ButtonsUpload.js +32 -19
- package/dist/upload/buttons-upload/Icons.js +40 -0
- package/dist/upload/dragAndDropArea/DragAndDropArea.js +84 -34
- package/dist/upload/dragAndDropArea/Icons.js +39 -0
- package/dist/upload/file-upload/FileToUpload.js +64 -33
- package/dist/upload/file-upload/Icons.js +66 -0
- package/dist/upload/files-upload/FilesToUpload.js +16 -16
- package/dist/upload/index.d.ts +15 -0
- package/dist/upload/transaction/Icons.js +160 -0
- package/dist/upload/transaction/Transaction.js +42 -49
- package/dist/upload/transactions/Transactions.js +38 -20
- package/dist/useTheme.js +22 -0
- package/dist/wizard/Icons.js +65 -0
- package/dist/wizard/Wizard.js +138 -60
- package/dist/wizard/index.d.ts +18 -0
- package/package.json +26 -14
- package/test/AccordionGroup.test.js +125 -0
- package/test/Date.test.js +15 -13
- package/test/DateInput.test.js +242 -0
- package/test/Dropdown.test.js +15 -0
- package/test/FileInput.test.js +201 -0
- package/test/Footer.test.js +2 -7
- package/test/Header.test.js +5 -10
- package/test/Heading.test.js +60 -12
- package/test/InputText.test.js +31 -28
- package/test/Link.test.js +25 -7
- package/test/NumberInput.test.js +259 -0
- package/test/Paginator.test.js +76 -60
- package/test/PasswordInput.test.js +83 -0
- package/test/ResultsetTable.test.js +65 -17
- package/test/Select.test.js +371 -147
- package/test/Sidenav.test.js +22 -64
- package/test/Slider.test.js +24 -15
- package/test/Spinner.test.js +5 -0
- package/test/Tabs.test.js +21 -0
- package/test/TextInput.test.js +732 -0
- package/test/Textarea.test.js +193 -0
- package/test/ToggleGroup.test.js +85 -0
- package/test/Upload.test.js +1 -1
- package/test/V3Select.test.js +212 -0
- package/test/{TextArea.test.js → V3TextArea.test.js} +6 -7
- package/dist/accordion/Accordion.stories.js +0 -207
- package/dist/accordion/readme.md +0 -96
- package/dist/alert/Alert.stories.js +0 -158
- package/dist/alert/close.svg +0 -4
- package/dist/alert/error.svg +0 -4
- package/dist/alert/info.svg +0 -4
- package/dist/alert/readme.md +0 -43
- package/dist/alert/success.svg +0 -4
- package/dist/alert/warning.svg +0 -4
- package/dist/button/readme.md +0 -93
- package/dist/checkbox/Checkbox.stories.js +0 -144
- package/dist/checkbox/readme.md +0 -116
- package/dist/common/services/example-service.js +0 -10
- package/dist/common/services/example-service.test.js +0 -12
- package/dist/date/Date.stories.js +0 -205
- package/dist/date/calendar.svg +0 -1
- package/dist/date/calendar_dark.svg +0 -1
- package/dist/date/readme.md +0 -73
- package/dist/dialog/Dialog.stories.js +0 -217
- package/dist/dialog/readme.md +0 -32
- package/dist/dropdown/Dropdown.stories.js +0 -249
- package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
- package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
- package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
- package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
- package/dist/dropdown/readme.md +0 -69
- package/dist/footer/Footer.stories.js +0 -94
- package/dist/footer/dxc_logo_wht.png +0 -0
- package/dist/footer/readme.md +0 -41
- package/dist/header/Header.stories.js +0 -176
- package/dist/header/close_icon.svg +0 -1
- package/dist/header/dxc_logo_black.png +0 -0
- package/dist/header/dxc_logo_white.png +0 -0
- package/dist/header/hamb_menu_black.svg +0 -1
- package/dist/header/hamb_menu_white.svg +0 -1
- package/dist/header/readme.md +0 -33
- package/dist/input-text/InputText.stories.js +0 -209
- package/dist/input-text/error.svg +0 -1
- package/dist/input-text/readme.md +0 -91
- package/dist/link/readme.md +0 -51
- package/dist/paginator/images/next.svg +0 -3
- package/dist/paginator/images/nextPage.svg +0 -3
- package/dist/paginator/images/previous.svg +0 -3
- package/dist/paginator/images/previousPage.svg +0 -3
- package/dist/paginator/readme.md +0 -50
- package/dist/progress-bar/ProgressBar.stories.js +0 -280
- package/dist/progress-bar/readme.md +0 -63
- package/dist/radio/Radio.stories.js +0 -166
- package/dist/radio/readme.md +0 -70
- package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
- package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
- package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
- package/dist/select/Select.stories.js +0 -235
- package/dist/select/readme.md +0 -72
- package/dist/sidenav/arrow_icon.svg +0 -3
- package/dist/slider/Slider.stories.js +0 -241
- package/dist/slider/readme.md +0 -64
- package/dist/spinner/Spinner.stories.js +0 -183
- package/dist/spinner/readme.md +0 -65
- package/dist/switch/Switch.stories.js +0 -134
- package/dist/switch/readme.md +0 -133
- package/dist/tabs/Tabs.stories.js +0 -130
- package/dist/tabs/readme.md +0 -78
- package/dist/tabs-for-sections/TabsForSections.js +0 -107
- package/dist/tabs-for-sections/readme.md +0 -78
- package/dist/toggle/Toggle.stories.js +0 -297
- package/dist/toggle/readme.md +0 -80
- package/dist/upload/Upload.stories.js +0 -72
- package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
- package/dist/upload/buttons-upload/upload-button.svg +0 -1
- package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
- package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
- package/dist/upload/file-upload/audio-icon.svg +0 -4
- package/dist/upload/file-upload/close.svg +0 -4
- package/dist/upload/file-upload/file-icon.svg +0 -4
- package/dist/upload/file-upload/video-icon.svg +0 -4
- package/dist/upload/readme.md +0 -37
- package/dist/upload/transaction/audio-icon-err.svg +0 -4
- package/dist/upload/transaction/audio-icon.svg +0 -4
- package/dist/upload/transaction/error-icon.svg +0 -4
- package/dist/upload/transaction/file-icon-err.svg +0 -4
- package/dist/upload/transaction/file-icon.svg +0 -4
- package/dist/upload/transaction/image-icon-err.svg +0 -4
- package/dist/upload/transaction/image-icon.svg +0 -4
- package/dist/upload/transaction/success-icon.svg +0 -4
- package/dist/upload/transaction/video-icon-err.svg +0 -4
- package/dist/upload/transaction/video-icon.svg +0 -4
- package/dist/wizard/invalid_icon.svg +0 -6
- package/dist/wizard/valid_icon.svg +0 -6
- package/dist/wizard/validation-wrong.svg +0 -6
- package/test/TabsForSections.test.js +0 -34
- package/test/Toggle.test.js +0 -43
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
2
|
+
type Padding = {
|
|
3
|
+
top?: Space;
|
|
4
|
+
bottom?: Space;
|
|
5
|
+
left?: Space;
|
|
6
|
+
right?: Space;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
type Props = {
|
|
10
|
+
isCloseVisible?: boolean;
|
|
11
|
+
onCloseClick?: void;
|
|
12
|
+
overlay?: boolean;
|
|
13
|
+
onBackgroundClick?: void;
|
|
14
|
+
padding?: Padding,
|
|
15
|
+
tabIndex?: number;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export default function DxcDialog(props: Props): JSX.Element;
|
|
@@ -11,10 +11,10 @@ exports["default"] = void 0;
|
|
|
11
11
|
|
|
12
12
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
13
|
|
|
14
|
-
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
15
|
-
|
|
16
14
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
17
15
|
|
|
16
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
17
|
+
|
|
18
18
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
19
19
|
|
|
20
20
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -35,20 +35,44 @@ var _Paper = _interopRequireDefault(require("@material-ui/core/Paper"));
|
|
|
35
35
|
|
|
36
36
|
var _MenuList = _interopRequireDefault(require("@material-ui/core/MenuList"));
|
|
37
37
|
|
|
38
|
-
var
|
|
38
|
+
var _variables = require("../common/variables.js");
|
|
39
|
+
|
|
40
|
+
var _utils = require("../common/utils.js");
|
|
39
41
|
|
|
40
|
-
var
|
|
42
|
+
var _useTheme = _interopRequireDefault(require("../useTheme.js"));
|
|
41
43
|
|
|
42
|
-
|
|
44
|
+
function _templateObject10() {
|
|
45
|
+
var data = (0, _taggedTemplateLiteral2["default"])(["\n display: ", ";\n margin-left: ", ";\n color: ", ";\n\n svg {\n width: ", ";\n height: ", ";\n }\n"]);
|
|
43
46
|
|
|
44
|
-
|
|
47
|
+
_templateObject10 = function _templateObject10() {
|
|
48
|
+
return data;
|
|
49
|
+
};
|
|
45
50
|
|
|
46
|
-
|
|
51
|
+
return data;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
function _templateObject9() {
|
|
55
|
+
var data = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n width: ", ";\n height: ", ";\n margin-left: ", ";\n margin-right: ", ";\n color: ", ";\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"]);
|
|
56
|
+
|
|
57
|
+
_templateObject9 = function _templateObject9() {
|
|
58
|
+
return data;
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
return data;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
function _templateObject8() {
|
|
65
|
+
var data = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n margin-left: ", ";\n margin-right: ", ";\n"]);
|
|
66
|
+
|
|
67
|
+
_templateObject8 = function _templateObject8() {
|
|
68
|
+
return data;
|
|
69
|
+
};
|
|
47
70
|
|
|
48
|
-
|
|
71
|
+
return data;
|
|
72
|
+
}
|
|
49
73
|
|
|
50
74
|
function _templateObject7() {
|
|
51
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
75
|
+
var data = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n width: ", ";\n height: ", ";\n margin-left: ", ";\n margin-right: ", ";\n color: ", ";\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"]);
|
|
52
76
|
|
|
53
77
|
_templateObject7 = function _templateObject7() {
|
|
54
78
|
return data;
|
|
@@ -58,7 +82,7 @@ function _templateObject7() {
|
|
|
58
82
|
}
|
|
59
83
|
|
|
60
84
|
function _templateObject6() {
|
|
61
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
85
|
+
var data = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n margin-left: ", ";\n margin-right: ", ";\n"]);
|
|
62
86
|
|
|
63
87
|
_templateObject6 = function _templateObject6() {
|
|
64
88
|
return data;
|
|
@@ -88,7 +112,7 @@ function _templateObject4() {
|
|
|
88
112
|
}
|
|
89
113
|
|
|
90
114
|
function _templateObject3() {
|
|
91
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
115
|
+
var data = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n height: auto;\n min-height: 40px;\n cursor: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n min-width: ", ";\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n background-color: ", ";\n color: ", ";\n border-bottom-right-radius: ", ";\n border-bottom-left-radius: ", ";\n\n ", ";\n"]);
|
|
92
116
|
|
|
93
117
|
_templateObject3 = function _templateObject3() {
|
|
94
118
|
return data;
|
|
@@ -98,7 +122,7 @@ function _templateObject3() {
|
|
|
98
122
|
}
|
|
99
123
|
|
|
100
124
|
function _templateObject2() {
|
|
101
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n z-index: 1;\n\n .MuiMenuItem-gutters {\n width: ", ";\n }\n .MuiMenuItem-root {\n min-height:
|
|
125
|
+
var data = (0, _taggedTemplateLiteral2["default"])(["\n z-index: 1;\n\n .MuiMenuItem-gutters {\n width: ", ";\n }\n .MuiMenuItem-root {\n min-height: 36px;\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n height: auto;\n }\n .MuiPaper-root {\n min-width: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n border-bottom-left-radius: ", ";\n border-bottom-right-radius: ", ";\n border-top-left-radius: 0px;\n border-top-right-radius: 0px;\n max-height: 230px;\n overflow-y: auto;\n\n ::-webkit-scrollbar {\n width: 3px;\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\n .MuiList-padding {\n padding-top: 0px;\n padding-bottom: 0px;\n }\n .MuiListItem-button {\n display: flex;\n flex-direction: ", ";\n justify-content: ", ";\n background-color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n cursor: pointer;\n }\n .MuiListItem-button:focus {\n outline: ", " solid 2px;\n outline-offset: -2px;\n }\n .MuiListItem-button:hover {\n background-color: ", ";\n }\n .MuiListItem-button:active {\n background-color: ", ";\n outline: ", " solid 2px;\n outline-offset: -2px;\n }\n }\n"]);
|
|
102
126
|
|
|
103
127
|
_templateObject2 = function _templateObject2() {
|
|
104
128
|
return data;
|
|
@@ -108,7 +132,7 @@ function _templateObject2() {
|
|
|
108
132
|
}
|
|
109
133
|
|
|
110
134
|
function _templateObject() {
|
|
111
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n text-overflow: ellipsis;\n overflow: hidden;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n display: inline-block;\n
|
|
135
|
+
var data = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n text-overflow: ellipsis;\n overflow: hidden;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n display: inline-block;\n"]);
|
|
112
136
|
|
|
113
137
|
_templateObject = function _templateObject() {
|
|
114
138
|
return data;
|
|
@@ -122,12 +146,15 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
122
146
|
options = _ref$options === void 0 ? [] : _ref$options,
|
|
123
147
|
_ref$optionsIconPosit = _ref.optionsIconPosition,
|
|
124
148
|
optionsIconPosition = _ref$optionsIconPosit === void 0 ? "before" : _ref$optionsIconPosit,
|
|
149
|
+
icon = _ref.icon,
|
|
125
150
|
_ref$iconSrc = _ref.iconSrc,
|
|
126
151
|
iconSrc = _ref$iconSrc === void 0 ? "" : _ref$iconSrc,
|
|
127
152
|
_ref$iconPosition = _ref.iconPosition,
|
|
128
153
|
iconPosition = _ref$iconPosition === void 0 ? "before" : _ref$iconPosition,
|
|
129
154
|
_ref$label = _ref.label,
|
|
130
155
|
label = _ref$label === void 0 ? "" : _ref$label,
|
|
156
|
+
_ref$disabled = _ref.disabled,
|
|
157
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
131
158
|
_ref$caretHidden = _ref.caretHidden,
|
|
132
159
|
caretHidden = _ref$caretHidden === void 0 ? false : _ref$caretHidden,
|
|
133
160
|
onSelectOption = _ref.onSelectOption,
|
|
@@ -135,28 +162,30 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
135
162
|
_ref$size = _ref.size,
|
|
136
163
|
size = _ref$size === void 0 ? "fitContent" : _ref$size,
|
|
137
164
|
_ref$expandOnHover = _ref.expandOnHover,
|
|
138
|
-
expandOnHover = _ref$expandOnHover === void 0 ? false : _ref$expandOnHover
|
|
165
|
+
expandOnHover = _ref$expandOnHover === void 0 ? false : _ref$expandOnHover,
|
|
166
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
167
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
139
168
|
|
|
140
169
|
var _useState = (0, _react.useState)(),
|
|
141
170
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
142
171
|
width = _useState2[0],
|
|
143
172
|
setWidth = _useState2[1];
|
|
144
173
|
|
|
145
|
-
var
|
|
146
|
-
var colorsTheme = (0, _react.useMemo)(function () {
|
|
147
|
-
return (0, _utils.getCustomTheme)(_variables.theme, (0, _utils.getCustomTheme)(_variables.defaultTheme, customTheme));
|
|
148
|
-
}, [customTheme]);
|
|
174
|
+
var colorsTheme = (0, _useTheme["default"])();
|
|
149
175
|
var ref = (0, _react.useRef)(null);
|
|
150
176
|
|
|
151
177
|
var handleResize = function handleResize() {
|
|
152
|
-
setWidth(ref.current.offsetWidth);
|
|
178
|
+
if (ref.current) setWidth(ref.current.offsetWidth);
|
|
153
179
|
};
|
|
154
180
|
|
|
155
181
|
(0, _react.useEffect)(function () {
|
|
156
|
-
if (ref.current)
|
|
157
|
-
|
|
182
|
+
if (ref.current) {
|
|
183
|
+
ref.current.addEventListener("resize", handleResize);
|
|
184
|
+
handleResize();
|
|
185
|
+
}
|
|
186
|
+
|
|
158
187
|
return function () {
|
|
159
|
-
ref.current.removeEventListener("resize", handleResize);
|
|
188
|
+
if (ref.current) ref.current.removeEventListener("resize", handleResize);
|
|
160
189
|
};
|
|
161
190
|
}, []);
|
|
162
191
|
|
|
@@ -183,32 +212,30 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
183
212
|
|
|
184
213
|
var handleCloseOver = expandOnHover ? handleClose : undefined;
|
|
185
214
|
|
|
186
|
-
var UpArrowIcon = function UpArrowIcon(
|
|
187
|
-
var fill = _ref2.fill;
|
|
215
|
+
var UpArrowIcon = function UpArrowIcon() {
|
|
188
216
|
return _react["default"].createElement("svg", {
|
|
189
217
|
xmlns: "http://www.w3.org/2000/svg",
|
|
190
218
|
width: "24",
|
|
191
219
|
height: "24",
|
|
192
|
-
viewBox: "0 0 24 24"
|
|
220
|
+
viewBox: "0 0 24 24",
|
|
221
|
+
fill: "currentColor"
|
|
193
222
|
}, _react["default"].createElement("path", {
|
|
194
|
-
d: "M7 14l5-5 5 5z"
|
|
195
|
-
fill: fill
|
|
223
|
+
d: "M7 14l5-5 5 5z"
|
|
196
224
|
}), _react["default"].createElement("path", {
|
|
197
225
|
d: "M0 0h24v24H0z",
|
|
198
226
|
fill: "none"
|
|
199
227
|
}));
|
|
200
228
|
};
|
|
201
229
|
|
|
202
|
-
var DownArrowIcon = function DownArrowIcon(
|
|
203
|
-
var fill = _ref3.fill;
|
|
230
|
+
var DownArrowIcon = function DownArrowIcon() {
|
|
204
231
|
return _react["default"].createElement("svg", {
|
|
205
232
|
xmlns: "http://www.w3.org/2000/svg",
|
|
206
233
|
width: "24",
|
|
207
234
|
height: "24",
|
|
208
|
-
viewBox: "0 0 24 24"
|
|
235
|
+
viewBox: "0 0 24 24",
|
|
236
|
+
fill: "currentColor"
|
|
209
237
|
}, _react["default"].createElement("path", {
|
|
210
|
-
d: "M7 10l5 5 5-5z"
|
|
211
|
-
fill: fill
|
|
238
|
+
d: "M7 10l5 5 5-5z"
|
|
212
239
|
}), _react["default"].createElement("path", {
|
|
213
240
|
d: "M0 0h24v24H0z",
|
|
214
241
|
fill: "none"
|
|
@@ -217,42 +244,43 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
217
244
|
|
|
218
245
|
return _react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
219
246
|
theme: colorsTheme.dropdown
|
|
220
|
-
}, _react["default"].createElement(
|
|
247
|
+
}, _react["default"].createElement(DXCDropdownContainer, {
|
|
221
248
|
margin: margin,
|
|
222
249
|
size: size,
|
|
223
|
-
|
|
250
|
+
disabled: disabled
|
|
224
251
|
}, _react["default"].createElement("div", {
|
|
225
|
-
onMouseOver: expandOnHover ? handleClickListItem : undefined,
|
|
252
|
+
onMouseOver: expandOnHover && !disabled ? handleClickListItem : undefined,
|
|
226
253
|
onMouseOut: handleCloseOver,
|
|
227
254
|
onFocus: handleCloseOver,
|
|
228
255
|
onBlur: handleCloseOver
|
|
229
256
|
}, _react["default"].createElement(DropdownTrigger, {
|
|
230
257
|
opened: anchorEl === null ? false : true,
|
|
231
258
|
onClick: handleClickListItem,
|
|
259
|
+
disabled: disabled,
|
|
232
260
|
label: label,
|
|
233
261
|
caretHidden: caretHidden,
|
|
234
262
|
margin: margin,
|
|
235
263
|
size: size,
|
|
236
|
-
ref: ref
|
|
264
|
+
ref: ref,
|
|
265
|
+
tabIndex: tabIndex
|
|
237
266
|
}, _react["default"].createElement(DropdownTriggerContainer, {
|
|
238
267
|
iconPosition: iconPosition,
|
|
239
268
|
caretHidden: caretHidden
|
|
240
|
-
},
|
|
269
|
+
}, icon ? _react["default"].createElement(ButtonIconContainer, {
|
|
270
|
+
label: label,
|
|
271
|
+
iconPosition: iconPosition,
|
|
272
|
+
disabled: disabled
|
|
273
|
+
}, (0, _typeof2["default"])(icon) === "object" ? icon : _react["default"].createElement(icon)) : iconSrc && _react["default"].createElement(ButtonIcon, {
|
|
241
274
|
label: label,
|
|
242
275
|
src: iconSrc,
|
|
243
276
|
iconPosition: iconPosition
|
|
244
277
|
}), _react["default"].createElement(DropdownTriggerLabel, {
|
|
245
278
|
iconPosition: iconPosition,
|
|
246
279
|
label: label
|
|
247
|
-
}, label)), _react["default"].createElement(
|
|
280
|
+
}, label)), _react["default"].createElement(CaretIconContainer, {
|
|
248
281
|
caretHidden: caretHidden,
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
}) : _react["default"].createElement(UpArrowIcon, {
|
|
252
|
-
caretHidden: caretHidden,
|
|
253
|
-
margin: margin,
|
|
254
|
-
fill: _variables.theme.dropdown.fontColor
|
|
255
|
-
}))), _react["default"].createElement(DxcMenu, {
|
|
282
|
+
disabled: disabled
|
|
283
|
+
}, !caretHidden && (anchorEl === null ? _react["default"].createElement(DownArrowIcon, null) : _react["default"].createElement(UpArrowIcon, null)))), _react["default"].createElement(DXCMenu, {
|
|
256
284
|
anchorEl: anchorEl,
|
|
257
285
|
open: Boolean(anchorEl),
|
|
258
286
|
onClose: handleClose,
|
|
@@ -272,14 +300,13 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
272
300
|
transition: true,
|
|
273
301
|
disablePortal: true,
|
|
274
302
|
placement: "bottom-start"
|
|
275
|
-
}, function (
|
|
276
|
-
var TransitionProps =
|
|
303
|
+
}, function (_ref2) {
|
|
304
|
+
var TransitionProps = _ref2.TransitionProps;
|
|
277
305
|
return _react["default"].createElement(_Grow["default"], TransitionProps, _react["default"].createElement(_Paper["default"], null, _react["default"].createElement(_core.ClickAwayListener, {
|
|
278
306
|
onClickAway: handleClose
|
|
279
307
|
}, _react["default"].createElement(_MenuList["default"], {
|
|
280
308
|
autoFocusItem: Boolean(anchorEl),
|
|
281
|
-
id: "menu-list-grow"
|
|
282
|
-
onKeyDown: handleClose
|
|
309
|
+
id: "menu-list-grow"
|
|
283
310
|
}, options.map(function (option) {
|
|
284
311
|
return _react["default"].createElement(_MenuItem["default"], {
|
|
285
312
|
key: option.value,
|
|
@@ -288,7 +315,10 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
288
315
|
onClick: function onClick(event) {
|
|
289
316
|
return handleMenuItemClick(option);
|
|
290
317
|
}
|
|
291
|
-
}, option.
|
|
318
|
+
}, option.icon ? _react["default"].createElement(ListIconContainer, {
|
|
319
|
+
label: option.label,
|
|
320
|
+
iconPosition: optionsIconPosition
|
|
321
|
+
}, (0, _typeof2["default"])(option.icon) === "object" ? option.icon : _react["default"].createElement(option.icon)) : option.iconSrc && _react["default"].createElement(ListIcon, {
|
|
292
322
|
label: option.label,
|
|
293
323
|
src: option.iconSrc,
|
|
294
324
|
iconPosition: optionsIconPosition
|
|
@@ -315,7 +345,7 @@ var calculateWidth = function calculateWidth(margin, size) {
|
|
|
315
345
|
return sizes[size];
|
|
316
346
|
};
|
|
317
347
|
|
|
318
|
-
var
|
|
348
|
+
var DXCDropdownContainer = _styledComponents["default"].div(_templateObject(), function (props) {
|
|
319
349
|
return calculateWidth(props.margin, props.size);
|
|
320
350
|
}, function (props) {
|
|
321
351
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
@@ -327,50 +357,98 @@ var DxCDropdownContainer = _styledComponents["default"].div(_templateObject(), f
|
|
|
327
357
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
|
|
328
358
|
}, function (props) {
|
|
329
359
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
330
|
-
}, function (props) {
|
|
331
|
-
return props.theme.focusColor;
|
|
332
360
|
});
|
|
333
361
|
|
|
334
|
-
var
|
|
362
|
+
var DXCMenu = (0, _styledComponents["default"])(_Popper["default"])(_templateObject2(), function (props) {
|
|
335
363
|
return calculateWidth(props.margin, props.size);
|
|
364
|
+
}, function (props) {
|
|
365
|
+
return props.theme.optionPaddingTop;
|
|
366
|
+
}, function (props) {
|
|
367
|
+
return props.theme.optionPaddingBottom;
|
|
368
|
+
}, function (props) {
|
|
369
|
+
return props.theme.optionPaddingLeft;
|
|
370
|
+
}, function (props) {
|
|
371
|
+
return props.theme.optionPaddingRight;
|
|
336
372
|
}, function (props) {
|
|
337
373
|
return "".concat(props.width, "px");
|
|
338
374
|
}, function (props) {
|
|
339
|
-
return props.theme.
|
|
375
|
+
return props.theme.borderThickness;
|
|
376
|
+
}, function (props) {
|
|
377
|
+
return props.theme.borderStyle;
|
|
340
378
|
}, function (props) {
|
|
341
|
-
return props.theme.
|
|
379
|
+
return props.theme.borderColor;
|
|
380
|
+
}, function (props) {
|
|
381
|
+
return props.theme.borderRadius;
|
|
382
|
+
}, function (props) {
|
|
383
|
+
return props.theme.borderRadius;
|
|
384
|
+
}, function (props) {
|
|
385
|
+
return props.theme.scrollBarTrackColor;
|
|
386
|
+
}, function (props) {
|
|
387
|
+
return props.theme.scrollBarThumbColor;
|
|
342
388
|
}, function (props) {
|
|
343
389
|
return props.optionsIconPosition === "after" && "row-reverse" || "row";
|
|
344
390
|
}, function (props) {
|
|
345
391
|
return props.optionsIconPosition === "after" && "flex-end" || "";
|
|
346
392
|
}, function (props) {
|
|
347
|
-
return props.theme.
|
|
393
|
+
return props.theme.optionBackgroundColor;
|
|
348
394
|
}, function (props) {
|
|
349
|
-
return props.theme.
|
|
395
|
+
return props.theme.optionFontFamily;
|
|
350
396
|
}, function (props) {
|
|
351
|
-
return props.theme.
|
|
397
|
+
return props.theme.optionFontSize;
|
|
352
398
|
}, function (props) {
|
|
353
|
-
return props.theme.
|
|
399
|
+
return props.theme.optionFontStyle;
|
|
400
|
+
}, function (props) {
|
|
401
|
+
return props.theme.optionFontWeight;
|
|
402
|
+
}, function (props) {
|
|
403
|
+
return props.theme.optionFontColor;
|
|
404
|
+
}, function (props) {
|
|
405
|
+
return props.theme.focusColor;
|
|
406
|
+
}, function (props) {
|
|
407
|
+
return props.theme.hoverOptionBackgroundColor;
|
|
408
|
+
}, function (props) {
|
|
409
|
+
return props.theme.activeOptionBackgroundColor;
|
|
410
|
+
}, function (props) {
|
|
411
|
+
return props.theme.focusColor;
|
|
354
412
|
});
|
|
355
413
|
|
|
356
414
|
var DropdownTrigger = _styledComponents["default"].button(_templateObject3(), function (props) {
|
|
415
|
+
return props.disabled ? "not-allowed" : "pointer";
|
|
416
|
+
}, function (props) {
|
|
417
|
+
return props.theme.buttonFontFamily;
|
|
418
|
+
}, function (props) {
|
|
419
|
+
return props.theme.buttonFontSize;
|
|
420
|
+
}, function (props) {
|
|
421
|
+
return props.theme.buttonFontStyle;
|
|
422
|
+
}, function (props) {
|
|
423
|
+
return props.theme.buttonFontWeight;
|
|
424
|
+
}, function (props) {
|
|
425
|
+
return props.theme.borderRadius;
|
|
426
|
+
}, function (props) {
|
|
427
|
+
return props.theme.borderThickness;
|
|
428
|
+
}, function (props) {
|
|
429
|
+
return props.theme.borderStyle;
|
|
430
|
+
}, function (props) {
|
|
431
|
+
return props.disabled ? props.theme.disabledBorderColor : props.theme.borderColor;
|
|
432
|
+
}, function (props) {
|
|
357
433
|
return props.label === "" ? "0px" : calculateWidth(props.margin, props.size);
|
|
358
434
|
}, function (props) {
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
return "10px 15px 10px 20px";
|
|
363
|
-
}
|
|
435
|
+
return props.theme.buttonPaddingTop;
|
|
436
|
+
}, function (props) {
|
|
437
|
+
return props.theme.buttonPaddingBottom;
|
|
364
438
|
}, function (props) {
|
|
365
|
-
return props.
|
|
439
|
+
return props.theme.buttonPaddingLeft;
|
|
366
440
|
}, function (props) {
|
|
367
|
-
return props.theme.
|
|
441
|
+
return props.theme.buttonPaddingRight;
|
|
368
442
|
}, function (props) {
|
|
369
|
-
return props.
|
|
443
|
+
return props.disabled ? props.theme.disabledButtonBackgroundColor : props.theme.buttonBackgroundColor;
|
|
370
444
|
}, function (props) {
|
|
371
|
-
return props.
|
|
445
|
+
return props.disabled ? props.theme.disabledColor : props.theme.buttonFontColor;
|
|
372
446
|
}, function (props) {
|
|
373
|
-
return props.
|
|
447
|
+
return props.opened ? "0px" : props.theme.borderRadius;
|
|
448
|
+
}, function (props) {
|
|
449
|
+
return props.opened ? "0px" : props.theme.borderRadius;
|
|
450
|
+
}, function (props) {
|
|
451
|
+
return !props.disabled && " \n &:focus {\n outline: none;\n }\n &:focus-visible {\n outline: ".concat(props.theme.focusColor, " solid 2px;\n outline-offset: -2px;\n }\n &:hover {\n background-color: ").concat(props.theme.hoverButtonBackgroundColor, ";\n }\n &:active {\n background-color: ").concat(props.theme.activeButtonBackgroundColor, ";\n }\n ");
|
|
374
452
|
});
|
|
375
453
|
|
|
376
454
|
var DropdownTriggerLabel = _styledComponents["default"].span(_templateObject4());
|
|
@@ -378,25 +456,63 @@ var DropdownTriggerLabel = _styledComponents["default"].span(_templateObject4())
|
|
|
378
456
|
var DropdownTriggerContainer = _styledComponents["default"].span(_templateObject5(), function (props) {
|
|
379
457
|
return props.iconPosition === "after" && "row-reverse" || "row";
|
|
380
458
|
}, function (props) {
|
|
381
|
-
return props.caretHidden ? "100%" : "calc(100% -
|
|
459
|
+
return props.caretHidden ? "100%" : "calc(100% - 36px)";
|
|
382
460
|
});
|
|
383
461
|
|
|
384
|
-
var
|
|
385
|
-
|
|
386
|
-
return "10px";
|
|
387
|
-
} else {
|
|
388
|
-
return "0px";
|
|
389
|
-
}
|
|
462
|
+
var ButtonIcon = _styledComponents["default"].img(_templateObject6(), function (props) {
|
|
463
|
+
return props.theme.buttonIconSize;
|
|
390
464
|
}, function (props) {
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
465
|
+
return props.theme.buttonIconSize;
|
|
466
|
+
}, function (props) {
|
|
467
|
+
return props.iconPosition === "after" && props.label !== "" && props.theme.buttonIconSpacing || "0px";
|
|
468
|
+
}, function (props) {
|
|
469
|
+
return props.iconPosition === "before" && props.label !== "" && props.theme.buttonIconSpacing || "0px";
|
|
470
|
+
});
|
|
471
|
+
|
|
472
|
+
var ButtonIconContainer = _styledComponents["default"].div(_templateObject7(), function (props) {
|
|
473
|
+
return props.theme.buttonIconSize;
|
|
474
|
+
}, function (props) {
|
|
475
|
+
return props.theme.buttonIconSize;
|
|
476
|
+
}, function (props) {
|
|
477
|
+
return props.iconPosition === "after" && props.label !== "" && props.theme.buttonIconSpacing || "0px";
|
|
478
|
+
}, function (props) {
|
|
479
|
+
return props.iconPosition === "before" && props.label !== "" && props.theme.buttonIconSpacing || "0px";
|
|
480
|
+
}, function (props) {
|
|
481
|
+
return props.disabled ? props.theme.disabledColor : props.theme.buttonIconColor;
|
|
482
|
+
});
|
|
483
|
+
|
|
484
|
+
var ListIcon = _styledComponents["default"].img(_templateObject8(), function (props) {
|
|
485
|
+
return props.theme.optionIconSize;
|
|
486
|
+
}, function (props) {
|
|
487
|
+
return props.theme.optionIconSize;
|
|
488
|
+
}, function (props) {
|
|
489
|
+
return props.iconPosition === "after" && props.label !== "" && props.theme.optionIconSpacing || "0px";
|
|
490
|
+
}, function (props) {
|
|
491
|
+
return props.iconPosition === "before" && props.label !== "" && props.theme.optionIconSpacing || "0px";
|
|
492
|
+
});
|
|
493
|
+
|
|
494
|
+
var ListIconContainer = _styledComponents["default"].div(_templateObject9(), function (props) {
|
|
495
|
+
return props.theme.optionIconSize;
|
|
496
|
+
}, function (props) {
|
|
497
|
+
return props.theme.optionIconSize;
|
|
498
|
+
}, function (props) {
|
|
499
|
+
return props.iconPosition === "after" && props.label !== "" && props.theme.optionIconSpacing || "0px";
|
|
500
|
+
}, function (props) {
|
|
501
|
+
return props.iconPosition === "before" && props.label !== "" && props.theme.optionIconSpacing || "0px";
|
|
502
|
+
}, function (props) {
|
|
503
|
+
return props.theme.optionIconColor;
|
|
396
504
|
});
|
|
397
505
|
|
|
398
|
-
var
|
|
399
|
-
return props.caretHidden
|
|
506
|
+
var CaretIconContainer = _styledComponents["default"].div(_templateObject10(), function (props) {
|
|
507
|
+
return props.caretHidden ? "none" : "inline-flex";
|
|
508
|
+
}, function (props) {
|
|
509
|
+
return props.theme.caretIconSpacing;
|
|
510
|
+
}, function (props) {
|
|
511
|
+
return props.disabled ? props.theme.disabledColor : props.theme.caretIconColor;
|
|
512
|
+
}, function (props) {
|
|
513
|
+
return props.theme.caretIconSize;
|
|
514
|
+
}, function (props) {
|
|
515
|
+
return props.theme.caretIconSize;
|
|
400
516
|
});
|
|
401
517
|
|
|
402
518
|
DxcDropdown.propTypes = {
|
|
@@ -408,17 +524,21 @@ DxcDropdown.propTypes = {
|
|
|
408
524
|
right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
|
|
409
525
|
}), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
|
|
410
526
|
optionsIconPosition: _propTypes["default"].oneOf(["after", "before", ""]),
|
|
527
|
+
icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
|
|
411
528
|
iconSrc: _propTypes["default"].string,
|
|
412
529
|
iconPosition: _propTypes["default"].oneOf(["after", "before", ""]),
|
|
413
530
|
label: _propTypes["default"].string,
|
|
414
531
|
caretHidden: _propTypes["default"].bool,
|
|
532
|
+
disabled: _propTypes["default"].bool,
|
|
415
533
|
expandOnHover: _propTypes["default"].bool,
|
|
416
534
|
onSelectOption: _propTypes["default"].func,
|
|
417
535
|
options: _propTypes["default"].arrayOf(_propTypes["default"].shape({
|
|
418
536
|
value: _propTypes["default"].any.isRequired,
|
|
419
537
|
label: _propTypes["default"].any.isRequired,
|
|
538
|
+
icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
|
|
420
539
|
iconSrc: _propTypes["default"].string
|
|
421
|
-
}))
|
|
540
|
+
})),
|
|
541
|
+
tabIndex: _propTypes["default"].number
|
|
422
542
|
};
|
|
423
543
|
var _default = DxcDropdown;
|
|
424
544
|
exports["default"] = _default;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
type Size = "small" | "medium" | "large" | "fillParent" | "fitContent";
|
|
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
|
+
|
|
10
|
+
type Props = {
|
|
11
|
+
options?: any;
|
|
12
|
+
optionsIconPosition?: "before" | "after";
|
|
13
|
+
icon?: any;
|
|
14
|
+
iconSrc?: string;
|
|
15
|
+
iconPosition?: "before" | "after";
|
|
16
|
+
label?: string;
|
|
17
|
+
disabled?: boolean;
|
|
18
|
+
caretHidden?: boolean;
|
|
19
|
+
onSelectOption?: void;
|
|
20
|
+
expandOnHover?: boolean;
|
|
21
|
+
margin?: Space | Margin;
|
|
22
|
+
size?: Size;
|
|
23
|
+
tabIndex?: number;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export default function DxcDropdown(props: Props): JSX.Element;
|