@dxc-technology/halstack-react 0.0.0-011babe → 0.0.0-0355f44

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.
Files changed (122) hide show
  1. package/dist/BackgroundColorContext.js +46 -0
  2. package/dist/ThemeContext.js +168 -105
  3. package/dist/accordion/Accordion.js +127 -48
  4. package/dist/accordion-group/AccordionGroup.js +34 -4
  5. package/dist/alert/Alert.js +178 -82
  6. package/dist/alert/index.d.ts +51 -0
  7. package/dist/badge/Badge.js +28 -7
  8. package/dist/box/Box.js +28 -19
  9. package/dist/button/Button.js +50 -21
  10. package/dist/card/Card.js +72 -35
  11. package/dist/checkbox/Checkbox.js +95 -26
  12. package/dist/chip/Chip.js +88 -32
  13. package/dist/common/utils.js +2 -22
  14. package/dist/common/variables.js +1376 -238
  15. package/dist/date/Date.js +70 -43
  16. package/dist/date-input/DateInput.js +400 -0
  17. package/dist/date-input/index.d.ts +95 -0
  18. package/dist/dialog/Dialog.js +51 -34
  19. package/dist/dropdown/Dropdown.js +169 -79
  20. package/dist/file-input/FileInput.js +644 -0
  21. package/dist/file-input/FileItem.js +280 -0
  22. package/dist/file-input/index.d.ts +81 -0
  23. package/dist/footer/Footer.js +70 -47
  24. package/dist/footer/dxc_logo.svg +15 -0
  25. package/dist/header/Header.js +89 -58
  26. package/dist/header/dxc_logo_black.svg +8 -0
  27. package/dist/heading/Heading.js +86 -23
  28. package/dist/input-text/InputText.js +234 -104
  29. package/dist/layout/ApplicationLayout.js +11 -10
  30. package/dist/link/Link.js +84 -36
  31. package/dist/main.d.ts +8 -0
  32. package/dist/main.js +68 -4
  33. package/dist/new-select/NewSelect.js +836 -0
  34. package/dist/new-select/index.d.ts +53 -0
  35. package/dist/new-textarea/NewTextarea.js +369 -0
  36. package/dist/new-textarea/index.d.ts +117 -0
  37. package/dist/number-input/NumberInput.js +136 -0
  38. package/dist/number-input/NumberInputContext.js +16 -0
  39. package/dist/number-input/index.d.ts +113 -0
  40. package/dist/paginator/Paginator.js +56 -18
  41. package/dist/password-input/PasswordInput.js +198 -0
  42. package/dist/password-input/index.d.ts +94 -0
  43. package/dist/progress-bar/ProgressBar.js +89 -37
  44. package/dist/radio/Radio.js +28 -11
  45. package/dist/resultsetTable/ResultsetTable.js +76 -44
  46. package/dist/select/Select.js +215 -151
  47. package/dist/sidenav/Sidenav.js +64 -12
  48. package/dist/slider/Slider.js +190 -63
  49. package/dist/spinner/Spinner.js +245 -60
  50. package/dist/switch/Switch.js +50 -20
  51. package/dist/table/Table.js +46 -10
  52. package/dist/tabs/Tabs.js +47 -15
  53. package/dist/tag/Tag.js +64 -33
  54. package/dist/text-input/TextInput.js +971 -0
  55. package/dist/text-input/index.d.ts +135 -0
  56. package/dist/textarea/Textarea.js +68 -36
  57. package/dist/toggle/Toggle.js +0 -2
  58. package/dist/toggle-group/ToggleGroup.js +148 -34
  59. package/dist/upload/Upload.js +16 -13
  60. package/dist/upload/buttons-upload/ButtonsUpload.js +28 -12
  61. package/dist/upload/dragAndDropArea/DragAndDropArea.js +63 -20
  62. package/dist/upload/file-upload/FileToUpload.js +43 -19
  63. package/dist/upload/files-upload/FilesToUpload.js +9 -8
  64. package/dist/upload/readme.md +2 -2
  65. package/dist/upload/transaction/Transaction.js +39 -18
  66. package/dist/upload/transactions/Transactions.js +27 -11
  67. package/dist/wizard/Wizard.js +120 -48
  68. package/dist/wizard/invalid_icon.svg +4 -5
  69. package/dist/wizard/valid_icon.svg +4 -5
  70. package/package.json +6 -4
  71. package/test/AccordionGroup.test.js +16 -0
  72. package/test/Date.test.js +49 -45
  73. package/test/DateInput.test.js +242 -0
  74. package/test/Dropdown.test.js +15 -0
  75. package/test/FileInput.test.js +201 -0
  76. package/test/InputText.test.js +24 -16
  77. package/test/Link.test.js +3 -2
  78. package/test/NewTextarea.test.js +195 -0
  79. package/test/NumberInput.test.js +259 -0
  80. package/test/Paginator.test.js +1 -1
  81. package/test/PasswordInput.test.js +83 -0
  82. package/test/ResultsetTable.test.js +1 -2
  83. package/test/Select.test.js +44 -24
  84. package/test/Spinner.test.js +5 -0
  85. package/test/TextInput.test.js +732 -0
  86. package/test/ToggleGroup.test.js +5 -1
  87. package/test/Upload.test.js +5 -5
  88. package/dist/accordion/Accordion.stories.js +0 -207
  89. package/dist/accordion/readme.md +0 -96
  90. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  91. package/dist/accordion-group/readme.md +0 -70
  92. package/dist/alert/Alert.stories.js +0 -158
  93. package/dist/alert/close.svg +0 -4
  94. package/dist/alert/error.svg +0 -4
  95. package/dist/alert/info.svg +0 -4
  96. package/dist/alert/readme.md +0 -43
  97. package/dist/alert/success.svg +0 -4
  98. package/dist/alert/warning.svg +0 -4
  99. package/dist/button/Button.stories.js +0 -224
  100. package/dist/button/readme.md +0 -93
  101. package/dist/common/services/example-service.js +0 -10
  102. package/dist/common/services/example-service.test.js +0 -12
  103. package/dist/date/calendar.svg +0 -1
  104. package/dist/date/calendar_dark.svg +0 -1
  105. package/dist/dialog/Dialog.stories.js +0 -217
  106. package/dist/dialog/readme.md +0 -32
  107. package/dist/dropdown/Dropdown.stories.js +0 -249
  108. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  109. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  110. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  111. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  112. package/dist/dropdown/readme.md +0 -69
  113. package/dist/footer/Footer.stories.js +0 -94
  114. package/dist/footer/dxc_logo_wht.png +0 -0
  115. package/dist/header/dxc_logo_black.png +0 -0
  116. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  117. package/dist/header/dxc_logo_white.png +0 -0
  118. package/dist/input-text/InputText.stories.js +0 -209
  119. package/dist/select/Select.stories.js +0 -235
  120. package/dist/select/readme.md +0 -72
  121. package/dist/slider/Slider.stories.js +0 -241
  122. package/dist/toggle-group/readme.md +0 -82
@@ -35,16 +35,34 @@ var _Paper = _interopRequireDefault(require("@material-ui/core/Paper"));
35
35
 
36
36
  var _MenuList = _interopRequireDefault(require("@material-ui/core/MenuList"));
37
37
 
38
- require("../common/OpenSans.css");
39
-
40
38
  var _variables = require("../common/variables.js");
41
39
 
42
40
  var _utils = require("../common/utils.js");
43
41
 
44
42
  var _useTheme = _interopRequireDefault(require("../useTheme.js"));
45
43
 
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"]);
46
+
47
+ _templateObject10 = function _templateObject10() {
48
+ return data;
49
+ };
50
+
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
+
46
64
  function _templateObject8() {
47
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: ", ";\n margin-left: 10px;\n margin-right: 10px;\n & > svg {\n fill: ", ";\n }\n"]);
65
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n margin-left: ", ";\n margin-right: ", ";\n"]);
48
66
 
49
67
  _templateObject8 = function _templateObject8() {
50
68
  return data;
@@ -54,7 +72,7 @@ function _templateObject8() {
54
72
  }
55
73
 
56
74
  function _templateObject7() {
57
- var data = (0, _taggedTemplateLiteral2["default"])(["\n width: 20px;\n height: 20px;\n overflow: hidden;\n margin-right: ", ";\n margin-left: ", ";\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\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"]);
58
76
 
59
77
  _templateObject7 = function _templateObject7() {
60
78
  return data;
@@ -64,7 +82,7 @@ function _templateObject7() {
64
82
  }
65
83
 
66
84
  function _templateObject6() {
67
- var data = (0, _taggedTemplateLiteral2["default"])(["\n max-height: 20px;\n max-width: 20px;\n width: 20px;\n height: 20px;\n margin-right: ", ";\n margin-left: ", ";\n"]);
85
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n margin-left: ", ";\n margin-right: ", ";\n"]);
68
86
 
69
87
  _templateObject6 = function _templateObject6() {
70
88
  return data;
@@ -94,7 +112,7 @@ function _templateObject4() {
94
112
  }
95
113
 
96
114
  function _templateObject3() {
97
- var data = (0, _taggedTemplateLiteral2["default"])(["\n cursor: pointer;\n font-family: ", ";\n font-size: ", ";\n width: 100%;\n height: auto;\n min-height: 46px;\n display: inline-flex;\n justify-content: space-between;\n align-items: center;\n min-width: ", ";\n\n padding: ", ";\n &:focus {\n outline: none;\n }\n\n background-color: ", ";\n color: ", ";\n\n border: none;\n border-radius: 2px;\n border-bottom-right-radius: ", ";\n border-bottom-left-radius: ", ";\n &:hover {\n background-color: ", ";\n }\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"]);
98
116
 
99
117
  _templateObject3 = function _templateObject3() {
100
118
  return data;
@@ -104,7 +122,7 @@ function _templateObject3() {
104
122
  }
105
123
 
106
124
  function _templateObject2() {
107
- var data = (0, _taggedTemplateLiteral2["default"])(["\n z-index: 1;\n\n .MuiMenuItem-gutters {\n width: ", ";\n }\n .MuiMenuItem-root {\n min-height: 46px;\n height: auto;\n }\n\n .MuiPaper-root {\n min-width: ", ";\n\n background-color: ", ";\n\n color: ", ";\n\n border-bottom-left-radius: 2px;\n border-bottom-right-radius: 2px;\n border-top-left-radius: 0px;\n border-top-right-radius: 0px;\n max-height: 230px;\n overflow: auto;\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 font-size: ", ";\n font-family: ", ";\n cursor: pointer;\n }\n .MuiListItem-button:hover {\n background-color: ", ";\n color: ", ";\n }\n\n ::-webkit-scrollbar {\n width: 3px;\n }\n\n ::-webkit-scrollbar-track {\n background-color: ", ";\n border-radius: 3px;\n }\n\n ::-webkit-scrollbar-thumb {\n background-color: ", ";\n border-radius: 3px;\n }\n }\n"]);
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"]);
108
126
 
109
127
  _templateObject2 = function _templateObject2() {
110
128
  return data;
@@ -114,7 +132,7 @@ function _templateObject2() {
114
132
  }
115
133
 
116
134
  function _templateObject() {
117
- 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\n &:focus {\n outline: ", " auto 1px;\n }\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"]);
118
136
 
119
137
  _templateObject = function _templateObject() {
120
138
  return data;
@@ -135,6 +153,8 @@ var DxcDropdown = function DxcDropdown(_ref) {
135
153
  iconPosition = _ref$iconPosition === void 0 ? "before" : _ref$iconPosition,
136
154
  _ref$label = _ref.label,
137
155
  label = _ref$label === void 0 ? "" : _ref$label,
156
+ _ref$disabled = _ref.disabled,
157
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
138
158
  _ref$caretHidden = _ref.caretHidden,
139
159
  caretHidden = _ref$caretHidden === void 0 ? false : _ref$caretHidden,
140
160
  onSelectOption = _ref.onSelectOption,
@@ -142,7 +162,9 @@ var DxcDropdown = function DxcDropdown(_ref) {
142
162
  _ref$size = _ref.size,
143
163
  size = _ref$size === void 0 ? "fitContent" : _ref$size,
144
164
  _ref$expandOnHover = _ref.expandOnHover,
145
- 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;
146
168
 
147
169
  var _useState = (0, _react.useState)(),
148
170
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
@@ -157,8 +179,11 @@ var DxcDropdown = function DxcDropdown(_ref) {
157
179
  };
158
180
 
159
181
  (0, _react.useEffect)(function () {
160
- if (ref.current) ref.current.addEventListener("resize", handleResize);
161
- handleResize();
182
+ if (ref.current) {
183
+ ref.current.addEventListener("resize", handleResize);
184
+ handleResize();
185
+ }
186
+
162
187
  return function () {
163
188
  if (ref.current) ref.current.removeEventListener("resize", handleResize);
164
189
  };
@@ -192,7 +217,8 @@ var DxcDropdown = function DxcDropdown(_ref) {
192
217
  xmlns: "http://www.w3.org/2000/svg",
193
218
  width: "24",
194
219
  height: "24",
195
- viewBox: "0 0 24 24"
220
+ viewBox: "0 0 24 24",
221
+ fill: "currentColor"
196
222
  }, _react["default"].createElement("path", {
197
223
  d: "M7 14l5-5 5 5z"
198
224
  }), _react["default"].createElement("path", {
@@ -206,7 +232,8 @@ var DxcDropdown = function DxcDropdown(_ref) {
206
232
  xmlns: "http://www.w3.org/2000/svg",
207
233
  width: "24",
208
234
  height: "24",
209
- viewBox: "0 0 24 24"
235
+ viewBox: "0 0 24 24",
236
+ fill: "currentColor"
210
237
  }, _react["default"].createElement("path", {
211
238
  d: "M7 10l5 5 5-5z"
212
239
  }), _react["default"].createElement("path", {
@@ -217,43 +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(DxCDropdownContainer, {
247
+ }, _react["default"].createElement(DXCDropdownContainer, {
221
248
  margin: margin,
222
249
  size: size,
223
- tabIndex: "0"
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
- }, icon ? _react["default"].createElement(ListIconContainer, {
269
+ }, icon ? _react["default"].createElement(ButtonIconContainer, {
241
270
  label: label,
242
- iconPosition: iconPosition
243
- }, (0, _typeof2["default"])(icon) === "object" ? icon : _react["default"].createElement(icon)) : iconSrc && _react["default"].createElement(ListIcon, {
271
+ iconPosition: iconPosition,
272
+ disabled: disabled
273
+ }, (0, _typeof2["default"])(icon) === "object" ? icon : _react["default"].createElement(icon)) : iconSrc && _react["default"].createElement(ButtonIcon, {
244
274
  label: label,
245
275
  src: iconSrc,
246
276
  iconPosition: iconPosition
247
277
  }), _react["default"].createElement(DropdownTriggerLabel, {
248
278
  iconPosition: iconPosition,
249
279
  label: label
250
- }, label)), _react["default"].createElement(CaretIcon, null, caretHidden !== true && (anchorEl === null ? _react["default"].createElement(DownArrowIcon, {
280
+ }, label)), _react["default"].createElement(CaretIconContainer, {
251
281
  caretHidden: caretHidden,
252
- margin: margin
253
- }) : _react["default"].createElement(UpArrowIcon, {
254
- caretHidden: caretHidden,
255
- margin: margin
256
- })))), _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, {
257
284
  anchorEl: anchorEl,
258
285
  open: Boolean(anchorEl),
259
286
  onClose: handleClose,
@@ -279,8 +306,7 @@ var DxcDropdown = function DxcDropdown(_ref) {
279
306
  onClickAway: handleClose
280
307
  }, _react["default"].createElement(_MenuList["default"], {
281
308
  autoFocusItem: Boolean(anchorEl),
282
- id: "menu-list-grow",
283
- onKeyDown: handleClose
309
+ id: "menu-list-grow"
284
310
  }, options.map(function (option) {
285
311
  return _react["default"].createElement(_MenuItem["default"], {
286
312
  key: option.value,
@@ -319,7 +345,7 @@ var calculateWidth = function calculateWidth(margin, size) {
319
345
  return sizes[size];
320
346
  };
321
347
 
322
- var DxCDropdownContainer = _styledComponents["default"].div(_templateObject(), function (props) {
348
+ var DXCDropdownContainer = _styledComponents["default"].div(_templateObject(), function (props) {
323
349
  return calculateWidth(props.margin, props.size);
324
350
  }, function (props) {
325
351
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
@@ -331,58 +357,98 @@ var DxCDropdownContainer = _styledComponents["default"].div(_templateObject(), f
331
357
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
332
358
  }, function (props) {
333
359
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
334
- }, function (props) {
335
- return props.theme.focusColor;
336
360
  });
337
361
 
338
- var DxcMenu = (0, _styledComponents["default"])(_Popper["default"])(_templateObject2(), function (props) {
362
+ var DXCMenu = (0, _styledComponents["default"])(_Popper["default"])(_templateObject2(), function (props) {
339
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;
340
372
  }, function (props) {
341
373
  return "".concat(props.width, "px");
342
374
  }, function (props) {
343
- return props.theme.dropdownBackgroundColor;
375
+ return props.theme.borderThickness;
376
+ }, function (props) {
377
+ return props.theme.borderStyle;
378
+ }, function (props) {
379
+ return props.theme.borderColor;
380
+ }, function (props) {
381
+ return props.theme.borderRadius;
344
382
  }, function (props) {
345
- return props.theme.dropdownFontColor;
383
+ return props.theme.borderRadius;
384
+ }, function (props) {
385
+ return props.theme.scrollBarTrackColor;
386
+ }, function (props) {
387
+ return props.theme.scrollBarThumbColor;
346
388
  }, function (props) {
347
389
  return props.optionsIconPosition === "after" && "row-reverse" || "row";
348
390
  }, function (props) {
349
391
  return props.optionsIconPosition === "after" && "flex-end" || "";
350
392
  }, function (props) {
351
- return props.theme.fontSize;
393
+ return props.theme.optionBackgroundColor;
352
394
  }, function (props) {
353
- return props.theme.fontFamily;
395
+ return props.theme.optionFontFamily;
354
396
  }, function (props) {
355
- return props.theme.hoverBackgroundOption;
397
+ return props.theme.optionFontSize;
356
398
  }, function (props) {
357
- return props.theme.dropdownFontColor;
399
+ return props.theme.optionFontStyle;
358
400
  }, function (props) {
359
- return props.theme.scrollBarTrackColor;
401
+ return props.theme.optionFontWeight;
360
402
  }, function (props) {
361
- return props.theme.scrollBarThumbColor;
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;
362
412
  });
363
413
 
364
414
  var DropdownTrigger = _styledComponents["default"].button(_templateObject3(), function (props) {
365
- return props.theme.fontFamily;
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;
366
430
  }, function (props) {
367
- return props.theme.fontSize;
431
+ return props.disabled ? props.theme.disabledBorderColor : props.theme.borderColor;
368
432
  }, function (props) {
369
433
  return props.label === "" ? "0px" : calculateWidth(props.margin, props.size);
370
434
  }, function (props) {
371
- if (props.caretHidden === true && props.label === "") {
372
- return "10px 15px";
373
- } else {
374
- return "10px 15px 10px 20px";
375
- }
435
+ return props.theme.buttonPaddingTop;
436
+ }, function (props) {
437
+ return props.theme.buttonPaddingBottom;
438
+ }, function (props) {
439
+ return props.theme.buttonPaddingLeft;
376
440
  }, function (props) {
377
- return props.opened === true ? props.theme.hoverBackgroundColor : props.theme.backgroundColor;
441
+ return props.theme.buttonPaddingRight;
378
442
  }, function (props) {
379
- return props.theme.fontColor;
443
+ return props.disabled ? props.theme.disabledButtonBackgroundColor : props.theme.buttonBackgroundColor;
380
444
  }, function (props) {
381
- return props.opened === true ? "0px" : "2px";
445
+ return props.disabled ? props.theme.disabledColor : props.theme.buttonFontColor;
382
446
  }, function (props) {
383
- return props.opened === true ? "0px" : "2px";
447
+ return props.opened ? "0px" : props.theme.borderRadius;
384
448
  }, function (props) {
385
- return props.theme.hoverBackgroundColor;
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 ");
386
452
  });
387
453
 
388
454
  var DropdownTriggerLabel = _styledComponents["default"].span(_templateObject4());
@@ -390,41 +456,63 @@ var DropdownTriggerLabel = _styledComponents["default"].span(_templateObject4())
390
456
  var DropdownTriggerContainer = _styledComponents["default"].span(_templateObject5(), function (props) {
391
457
  return props.iconPosition === "after" && "row-reverse" || "row";
392
458
  }, function (props) {
393
- return props.caretHidden ? "100%" : "calc(100% - 44px)";
459
+ return props.caretHidden ? "100%" : "calc(100% - 36px)";
394
460
  });
395
461
 
396
- var ListIcon = _styledComponents["default"].img(_templateObject6(), function (props) {
397
- if (props.iconPosition === "before" && props.label !== "") {
398
- return "10px";
399
- } else {
400
- return "0px";
401
- }
462
+ var ButtonIcon = _styledComponents["default"].img(_templateObject6(), function (props) {
463
+ return props.theme.buttonIconSize;
402
464
  }, function (props) {
403
- if (props.iconPosition === "after" && props.label !== "") {
404
- return "10px";
405
- } else {
406
- return "0px";
407
- }
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";
408
470
  });
409
471
 
410
- var ListIconContainer = _styledComponents["default"].div(_templateObject7(), function (props) {
411
- if (props.iconPosition === "before" && props.label !== "") {
412
- return "10px";
413
- } else {
414
- return "0px";
415
- }
472
+ var ButtonIconContainer = _styledComponents["default"].div(_templateObject7(), function (props) {
473
+ return props.theme.buttonIconSize;
416
474
  }, function (props) {
417
- if (props.iconPosition === "after" && props.label !== "") {
418
- return "10px";
419
- } else {
420
- return "0px";
421
- }
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";
422
492
  });
423
493
 
424
- var CaretIcon = _styledComponents["default"].div(_templateObject8(), function (props) {
425
- return props.caretHidden === true ? "none" : "inline-flex";
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;
426
514
  }, function (props) {
427
- return props.theme.fontColor;
515
+ return props.theme.caretIconSize;
428
516
  });
429
517
 
430
518
  DxcDropdown.propTypes = {
@@ -441,6 +529,7 @@ DxcDropdown.propTypes = {
441
529
  iconPosition: _propTypes["default"].oneOf(["after", "before", ""]),
442
530
  label: _propTypes["default"].string,
443
531
  caretHidden: _propTypes["default"].bool,
532
+ disabled: _propTypes["default"].bool,
444
533
  expandOnHover: _propTypes["default"].bool,
445
534
  onSelectOption: _propTypes["default"].func,
446
535
  options: _propTypes["default"].arrayOf(_propTypes["default"].shape({
@@ -448,7 +537,8 @@ DxcDropdown.propTypes = {
448
537
  label: _propTypes["default"].any.isRequired,
449
538
  icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
450
539
  iconSrc: _propTypes["default"].string
451
- }))
540
+ })),
541
+ tabIndex: _propTypes["default"].number
452
542
  };
453
543
  var _default = DxcDropdown;
454
544
  exports["default"] = _default;