@dxc-technology/halstack-react 0.0.0-eb2a4cc → 0.0.0-ebb089f
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 +2 -2
- 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 +170 -81
- 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 +184 -83
- 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 +84 -29
- 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 +135 -40
- 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 +1472 -159
- 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 +61 -36
- package/dist/dialog/index.d.ts +18 -0
- package/dist/dropdown/Dropdown.js +226 -94
- 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 +122 -47
- package/dist/footer/Icons.js +77 -0
- package/dist/footer/index.d.ts +25 -0
- package/dist/header/Header.js +211 -91
- package/dist/header/Icons.js +59 -0
- package/dist/header/index.d.ts +25 -0
- package/dist/heading/Heading.js +93 -22
- package/dist/heading/index.d.ts +17 -0
- package/dist/input-text/Icons.js +22 -0
- package/dist/input-text/InputText.js +290 -104
- 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 +184 -57
- 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 +97 -44
- package/dist/progress-bar/index.d.ts +18 -0
- package/dist/radio/Radio.js +39 -21
- package/dist/radio/index.d.ts +23 -0
- package/dist/resultsetTable/ResultsetTable.js +93 -69
- package/dist/resultsetTable/index.d.ts +19 -0
- package/dist/select/Select.js +957 -262
- package/dist/select/index.d.ts +131 -0
- package/dist/sidenav/Sidenav.js +87 -125
- 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 +249 -64
- package/dist/spinner/index.d.ts +17 -0
- package/dist/switch/Switch.js +51 -26
- package/dist/switch/index.d.ts +24 -0
- package/dist/table/Table.js +63 -15
- package/dist/table/index.d.ts +13 -0
- package/dist/tabs/Tabs.js +208 -35
- 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 +250 -107
- 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 +35 -25
- package/dist/upload/buttons-upload/Icons.js +40 -0
- package/dist/upload/dragAndDropArea/DragAndDropArea.js +84 -37
- 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 +156 -61
- 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 +19 -4
- 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 +869 -132
- 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 +731 -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,24 +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
39
|
|
|
40
|
-
var
|
|
40
|
+
var _utils = require("../common/utils.js");
|
|
41
41
|
|
|
42
|
-
var
|
|
42
|
+
var _useTheme = _interopRequireDefault(require("../useTheme.js"));
|
|
43
43
|
|
|
44
|
-
|
|
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"]);
|
|
45
46
|
|
|
46
|
-
|
|
47
|
+
_templateObject10 = function _templateObject10() {
|
|
48
|
+
return data;
|
|
49
|
+
};
|
|
47
50
|
|
|
48
|
-
|
|
51
|
+
return data;
|
|
52
|
+
}
|
|
49
53
|
|
|
50
|
-
|
|
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"]);
|
|
51
56
|
|
|
52
|
-
|
|
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
|
+
};
|
|
70
|
+
|
|
71
|
+
return data;
|
|
72
|
+
}
|
|
53
73
|
|
|
54
74
|
function _templateObject7() {
|
|
55
|
-
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"]);
|
|
56
76
|
|
|
57
77
|
_templateObject7 = function _templateObject7() {
|
|
58
78
|
return data;
|
|
@@ -62,7 +82,7 @@ function _templateObject7() {
|
|
|
62
82
|
}
|
|
63
83
|
|
|
64
84
|
function _templateObject6() {
|
|
65
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
85
|
+
var data = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n margin-left: ", ";\n margin-right: ", ";\n"]);
|
|
66
86
|
|
|
67
87
|
_templateObject6 = function _templateObject6() {
|
|
68
88
|
return data;
|
|
@@ -92,7 +112,7 @@ function _templateObject4() {
|
|
|
92
112
|
}
|
|
93
113
|
|
|
94
114
|
function _templateObject3() {
|
|
95
|
-
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"]);
|
|
96
116
|
|
|
97
117
|
_templateObject3 = function _templateObject3() {
|
|
98
118
|
return data;
|
|
@@ -102,7 +122,7 @@ function _templateObject3() {
|
|
|
102
122
|
}
|
|
103
123
|
|
|
104
124
|
function _templateObject2() {
|
|
105
|
-
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"]);
|
|
106
126
|
|
|
107
127
|
_templateObject2 = function _templateObject2() {
|
|
108
128
|
return data;
|
|
@@ -126,45 +146,46 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
126
146
|
options = _ref$options === void 0 ? [] : _ref$options,
|
|
127
147
|
_ref$optionsIconPosit = _ref.optionsIconPosition,
|
|
128
148
|
optionsIconPosition = _ref$optionsIconPosit === void 0 ? "before" : _ref$optionsIconPosit,
|
|
149
|
+
icon = _ref.icon,
|
|
129
150
|
_ref$iconSrc = _ref.iconSrc,
|
|
130
151
|
iconSrc = _ref$iconSrc === void 0 ? "" : _ref$iconSrc,
|
|
131
152
|
_ref$iconPosition = _ref.iconPosition,
|
|
132
153
|
iconPosition = _ref$iconPosition === void 0 ? "before" : _ref$iconPosition,
|
|
133
154
|
_ref$label = _ref.label,
|
|
134
155
|
label = _ref$label === void 0 ? "" : _ref$label,
|
|
135
|
-
_ref$
|
|
136
|
-
|
|
137
|
-
_ref$mode = _ref.mode,
|
|
138
|
-
mode = _ref$mode === void 0 ? "basic" : _ref$mode,
|
|
156
|
+
_ref$disabled = _ref.disabled,
|
|
157
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
139
158
|
_ref$caretHidden = _ref.caretHidden,
|
|
140
159
|
caretHidden = _ref$caretHidden === void 0 ? false : _ref$caretHidden,
|
|
141
|
-
_ref$disableRipple = _ref.disableRipple,
|
|
142
|
-
disableRipple = _ref$disableRipple === void 0 ? false : _ref$disableRipple,
|
|
143
160
|
onSelectOption = _ref.onSelectOption,
|
|
144
161
|
margin = _ref.margin,
|
|
145
162
|
_ref$size = _ref.size,
|
|
146
163
|
size = _ref$size === void 0 ? "fitContent" : _ref$size,
|
|
147
164
|
_ref$expandOnHover = _ref.expandOnHover,
|
|
148
|
-
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;
|
|
149
168
|
|
|
150
169
|
var _useState = (0, _react.useState)(),
|
|
151
170
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
152
171
|
width = _useState2[0],
|
|
153
172
|
setWidth = _useState2[1];
|
|
154
173
|
|
|
155
|
-
var colorsTheme = (0,
|
|
156
|
-
|
|
174
|
+
var colorsTheme = (0, _useTheme["default"])();
|
|
157
175
|
var ref = (0, _react.useRef)(null);
|
|
158
176
|
|
|
159
177
|
var handleResize = function handleResize() {
|
|
160
|
-
setWidth(ref.current.offsetWidth);
|
|
178
|
+
if (ref.current) setWidth(ref.current.offsetWidth);
|
|
161
179
|
};
|
|
162
180
|
|
|
163
181
|
(0, _react.useEffect)(function () {
|
|
164
|
-
if (ref.current)
|
|
165
|
-
|
|
182
|
+
if (ref.current) {
|
|
183
|
+
ref.current.addEventListener("resize", handleResize);
|
|
184
|
+
handleResize();
|
|
185
|
+
}
|
|
186
|
+
|
|
166
187
|
return function () {
|
|
167
|
-
ref.current.removeEventListener("resize", handleResize);
|
|
188
|
+
if (ref.current) ref.current.removeEventListener("resize", handleResize);
|
|
168
189
|
};
|
|
169
190
|
}, []);
|
|
170
191
|
|
|
@@ -190,42 +211,76 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
190
211
|
}
|
|
191
212
|
|
|
192
213
|
var handleCloseOver = expandOnHover ? handleClose : undefined;
|
|
214
|
+
|
|
215
|
+
var UpArrowIcon = function UpArrowIcon() {
|
|
216
|
+
return _react["default"].createElement("svg", {
|
|
217
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
218
|
+
width: "24",
|
|
219
|
+
height: "24",
|
|
220
|
+
viewBox: "0 0 24 24",
|
|
221
|
+
fill: "currentColor"
|
|
222
|
+
}, _react["default"].createElement("path", {
|
|
223
|
+
d: "M7 14l5-5 5 5z"
|
|
224
|
+
}), _react["default"].createElement("path", {
|
|
225
|
+
d: "M0 0h24v24H0z",
|
|
226
|
+
fill: "none"
|
|
227
|
+
}));
|
|
228
|
+
};
|
|
229
|
+
|
|
230
|
+
var DownArrowIcon = function DownArrowIcon() {
|
|
231
|
+
return _react["default"].createElement("svg", {
|
|
232
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
233
|
+
width: "24",
|
|
234
|
+
height: "24",
|
|
235
|
+
viewBox: "0 0 24 24",
|
|
236
|
+
fill: "currentColor"
|
|
237
|
+
}, _react["default"].createElement("path", {
|
|
238
|
+
d: "M7 10l5 5 5-5z"
|
|
239
|
+
}), _react["default"].createElement("path", {
|
|
240
|
+
d: "M0 0h24v24H0z",
|
|
241
|
+
fill: "none"
|
|
242
|
+
}));
|
|
243
|
+
};
|
|
244
|
+
|
|
193
245
|
return _react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
194
|
-
theme: colorsTheme
|
|
195
|
-
}, _react["default"].createElement(
|
|
196
|
-
mode: mode,
|
|
246
|
+
theme: colorsTheme.dropdown
|
|
247
|
+
}, _react["default"].createElement(DXCDropdownContainer, {
|
|
197
248
|
margin: margin,
|
|
198
249
|
size: size,
|
|
199
|
-
|
|
250
|
+
disabled: disabled
|
|
200
251
|
}, _react["default"].createElement("div", {
|
|
201
|
-
onMouseOver: expandOnHover ? handleClickListItem : undefined,
|
|
252
|
+
onMouseOver: expandOnHover && !disabled ? handleClickListItem : undefined,
|
|
202
253
|
onMouseOut: handleCloseOver,
|
|
203
254
|
onFocus: handleCloseOver,
|
|
204
255
|
onBlur: handleCloseOver
|
|
205
256
|
}, _react["default"].createElement(DropdownTrigger, {
|
|
206
257
|
opened: anchorEl === null ? false : true,
|
|
207
258
|
onClick: handleClickListItem,
|
|
208
|
-
|
|
209
|
-
brightness: theme,
|
|
259
|
+
disabled: disabled,
|
|
210
260
|
label: label,
|
|
211
261
|
caretHidden: caretHidden,
|
|
212
262
|
margin: margin,
|
|
213
|
-
size: size
|
|
263
|
+
size: size,
|
|
264
|
+
ref: ref,
|
|
265
|
+
tabIndex: tabIndex
|
|
214
266
|
}, _react["default"].createElement(DropdownTriggerContainer, {
|
|
215
267
|
iconPosition: iconPosition,
|
|
216
268
|
caretHidden: caretHidden
|
|
217
|
-
},
|
|
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, {
|
|
218
274
|
label: label,
|
|
219
275
|
src: iconSrc,
|
|
220
276
|
iconPosition: iconPosition
|
|
221
277
|
}), _react["default"].createElement(DropdownTriggerLabel, {
|
|
222
278
|
iconPosition: iconPosition,
|
|
223
279
|
label: label
|
|
224
|
-
}, label)), _react["default"].createElement(
|
|
280
|
+
}, label)), _react["default"].createElement(CaretIconContainer, {
|
|
225
281
|
caretHidden: caretHidden,
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
})), _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, {
|
|
229
284
|
anchorEl: anchorEl,
|
|
230
285
|
open: Boolean(anchorEl),
|
|
231
286
|
onClose: handleClose,
|
|
@@ -239,8 +294,6 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
239
294
|
horizontal: "left"
|
|
240
295
|
},
|
|
241
296
|
optionsIconPosition: optionsIconPosition,
|
|
242
|
-
mode: mode,
|
|
243
|
-
brightness: theme,
|
|
244
297
|
size: size,
|
|
245
298
|
width: width,
|
|
246
299
|
role: undefined,
|
|
@@ -253,17 +306,19 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
253
306
|
onClickAway: handleClose
|
|
254
307
|
}, _react["default"].createElement(_MenuList["default"], {
|
|
255
308
|
autoFocusItem: Boolean(anchorEl),
|
|
256
|
-
id: "menu-list-grow"
|
|
257
|
-
onKeyDown: handleClose
|
|
309
|
+
id: "menu-list-grow"
|
|
258
310
|
}, options.map(function (option) {
|
|
259
311
|
return _react["default"].createElement(_MenuItem["default"], {
|
|
260
312
|
key: option.value,
|
|
261
313
|
value: option.value,
|
|
262
|
-
disableRipple:
|
|
314
|
+
disableRipple: true,
|
|
263
315
|
onClick: function onClick(event) {
|
|
264
316
|
return handleMenuItemClick(option);
|
|
265
317
|
}
|
|
266
|
-
}, 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, {
|
|
267
322
|
label: option.label,
|
|
268
323
|
src: option.iconSrc,
|
|
269
324
|
iconPosition: optionsIconPosition
|
|
@@ -290,8 +345,8 @@ var calculateWidth = function calculateWidth(margin, size) {
|
|
|
290
345
|
return sizes[size];
|
|
291
346
|
};
|
|
292
347
|
|
|
293
|
-
var
|
|
294
|
-
return
|
|
348
|
+
var DXCDropdownContainer = _styledComponents["default"].div(_templateObject(), function (props) {
|
|
349
|
+
return calculateWidth(props.margin, props.size);
|
|
295
350
|
}, function (props) {
|
|
296
351
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
297
352
|
}, function (props) {
|
|
@@ -304,58 +359,96 @@ var DxCDropdownContainer = _styledComponents["default"].div(_templateObject(), f
|
|
|
304
359
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
305
360
|
});
|
|
306
361
|
|
|
307
|
-
var
|
|
308
|
-
return
|
|
362
|
+
var DXCMenu = (0, _styledComponents["default"])(_Popper["default"])(_templateObject2(), function (props) {
|
|
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;
|
|
309
372
|
}, function (props) {
|
|
310
373
|
return "".concat(props.width, "px");
|
|
311
374
|
}, function (props) {
|
|
312
|
-
return props.
|
|
375
|
+
return props.theme.borderThickness;
|
|
376
|
+
}, function (props) {
|
|
377
|
+
return props.theme.borderStyle;
|
|
378
|
+
}, function (props) {
|
|
379
|
+
return props.theme.borderColor;
|
|
313
380
|
}, function (props) {
|
|
314
|
-
return props.
|
|
381
|
+
return props.theme.borderRadius;
|
|
315
382
|
}, function (props) {
|
|
316
|
-
return props.
|
|
383
|
+
return props.theme.borderRadius;
|
|
317
384
|
}, function (props) {
|
|
318
|
-
return props.
|
|
385
|
+
return props.theme.scrollBarTrackColor;
|
|
319
386
|
}, function (props) {
|
|
320
|
-
return props.
|
|
387
|
+
return props.theme.scrollBarThumbColor;
|
|
321
388
|
}, function (props) {
|
|
322
389
|
return props.optionsIconPosition === "after" && "row-reverse" || "row";
|
|
323
390
|
}, function (props) {
|
|
324
391
|
return props.optionsIconPosition === "after" && "flex-end" || "";
|
|
325
392
|
}, function (props) {
|
|
326
|
-
return props.theme.
|
|
393
|
+
return props.theme.optionBackgroundColor;
|
|
394
|
+
}, function (props) {
|
|
395
|
+
return props.theme.optionFontFamily;
|
|
396
|
+
}, function (props) {
|
|
397
|
+
return props.theme.optionFontSize;
|
|
327
398
|
}, function (props) {
|
|
328
|
-
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;
|
|
329
412
|
});
|
|
330
413
|
|
|
331
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) {
|
|
332
433
|
return props.label === "" ? "0px" : calculateWidth(props.margin, props.size);
|
|
333
434
|
}, function (props) {
|
|
334
|
-
|
|
335
|
-
if (props.mode === "outlined") {
|
|
336
|
-
return "8px 13px";
|
|
337
|
-
} else {
|
|
338
|
-
return "10px 15px";
|
|
339
|
-
}
|
|
340
|
-
} else {
|
|
341
|
-
if (props.mode === "outlined") {
|
|
342
|
-
return "8px 13px 8px 18px";
|
|
343
|
-
} else {
|
|
344
|
-
return "10px 15px 10px 20px";
|
|
345
|
-
}
|
|
346
|
-
}
|
|
435
|
+
return props.theme.buttonPaddingTop;
|
|
347
436
|
}, function (props) {
|
|
348
|
-
return props.
|
|
437
|
+
return props.theme.buttonPaddingBottom;
|
|
349
438
|
}, function (props) {
|
|
350
|
-
return props.
|
|
439
|
+
return props.theme.buttonPaddingLeft;
|
|
351
440
|
}, function (props) {
|
|
352
|
-
return props.
|
|
441
|
+
return props.theme.buttonPaddingRight;
|
|
353
442
|
}, function (props) {
|
|
354
|
-
return props.
|
|
443
|
+
return props.disabled ? props.theme.disabledButtonBackgroundColor : props.theme.buttonBackgroundColor;
|
|
355
444
|
}, function (props) {
|
|
356
|
-
return props.
|
|
445
|
+
return props.disabled ? props.theme.disabledColor : props.theme.buttonFontColor;
|
|
357
446
|
}, function (props) {
|
|
358
|
-
return props.opened
|
|
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 ");
|
|
359
452
|
});
|
|
360
453
|
|
|
361
454
|
var DropdownTriggerLabel = _styledComponents["default"].span(_templateObject4());
|
|
@@ -363,25 +456,63 @@ var DropdownTriggerLabel = _styledComponents["default"].span(_templateObject4())
|
|
|
363
456
|
var DropdownTriggerContainer = _styledComponents["default"].span(_templateObject5(), function (props) {
|
|
364
457
|
return props.iconPosition === "after" && "row-reverse" || "row";
|
|
365
458
|
}, function (props) {
|
|
366
|
-
return props.caretHidden ? "100%" : "calc(100% -
|
|
459
|
+
return props.caretHidden ? "100%" : "calc(100% - 36px)";
|
|
367
460
|
});
|
|
368
461
|
|
|
369
|
-
var
|
|
370
|
-
|
|
371
|
-
return "10px";
|
|
372
|
-
} else {
|
|
373
|
-
return "0px";
|
|
374
|
-
}
|
|
462
|
+
var ButtonIcon = _styledComponents["default"].img(_templateObject6(), function (props) {
|
|
463
|
+
return props.theme.buttonIconSize;
|
|
375
464
|
}, function (props) {
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
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";
|
|
381
492
|
});
|
|
382
493
|
|
|
383
|
-
var
|
|
384
|
-
return props.
|
|
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;
|
|
504
|
+
});
|
|
505
|
+
|
|
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;
|
|
385
516
|
});
|
|
386
517
|
|
|
387
518
|
DxcDropdown.propTypes = {
|
|
@@ -393,20 +524,21 @@ DxcDropdown.propTypes = {
|
|
|
393
524
|
right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
|
|
394
525
|
}), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
|
|
395
526
|
optionsIconPosition: _propTypes["default"].oneOf(["after", "before", ""]),
|
|
527
|
+
icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
|
|
396
528
|
iconSrc: _propTypes["default"].string,
|
|
397
529
|
iconPosition: _propTypes["default"].oneOf(["after", "before", ""]),
|
|
398
530
|
label: _propTypes["default"].string,
|
|
399
|
-
theme: _propTypes["default"].oneOf(["light", "dark", ""]),
|
|
400
|
-
mode: _propTypes["default"].oneOf(["basic", "outlined", ""]),
|
|
401
531
|
caretHidden: _propTypes["default"].bool,
|
|
402
|
-
|
|
532
|
+
disabled: _propTypes["default"].bool,
|
|
403
533
|
expandOnHover: _propTypes["default"].bool,
|
|
404
534
|
onSelectOption: _propTypes["default"].func,
|
|
405
535
|
options: _propTypes["default"].arrayOf(_propTypes["default"].shape({
|
|
406
536
|
value: _propTypes["default"].any.isRequired,
|
|
407
537
|
label: _propTypes["default"].any.isRequired,
|
|
538
|
+
icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
|
|
408
539
|
iconSrc: _propTypes["default"].string
|
|
409
|
-
}))
|
|
540
|
+
})),
|
|
541
|
+
tabIndex: _propTypes["default"].number
|
|
410
542
|
};
|
|
411
543
|
var _default = DxcDropdown;
|
|
412
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;
|