@dxc-technology/halstack-react 0.0.0-f44cd28 → 0.0.0-f77ec3a

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 (248) hide show
  1. package/README.md +2 -2
  2. package/babel.config.js +0 -1
  3. package/dist/BackgroundColorContext.js +46 -0
  4. package/dist/ThemeContext.js +213 -153
  5. package/dist/V3Select/V3Select.js +549 -0
  6. package/dist/V3Select/index.d.ts +27 -0
  7. package/dist/V3Textarea/V3Textarea.js +264 -0
  8. package/dist/V3Textarea/index.d.ts +27 -0
  9. package/dist/accordion/Accordion.js +131 -46
  10. package/dist/accordion/index.d.ts +28 -0
  11. package/dist/accordion-group/AccordionGroup.js +34 -4
  12. package/dist/accordion-group/index.d.ts +16 -0
  13. package/dist/alert/Alert.js +180 -80
  14. package/dist/alert/index.d.ts +51 -0
  15. package/dist/badge/Badge.js +28 -7
  16. package/dist/box/Box.js +29 -18
  17. package/dist/box/index.d.ts +25 -0
  18. package/dist/button/Button.js +62 -23
  19. package/dist/button/index.d.ts +24 -0
  20. package/dist/card/Card.js +72 -35
  21. package/dist/card/index.d.ts +22 -0
  22. package/dist/checkbox/Checkbox.js +98 -28
  23. package/dist/checkbox/index.d.ts +24 -0
  24. package/dist/chip/Chip.js +92 -32
  25. package/dist/chip/index.d.ts +22 -0
  26. package/dist/common/utils.js +2 -22
  27. package/dist/common/variables.js +1404 -179
  28. package/dist/date/Date.js +65 -38
  29. package/dist/date/index.d.ts +27 -0
  30. package/dist/date-input/DateInput.js +400 -0
  31. package/dist/date-input/index.d.ts +95 -0
  32. package/dist/dialog/Dialog.js +54 -31
  33. package/dist/dialog/index.d.ts +18 -0
  34. package/dist/dropdown/Dropdown.js +173 -75
  35. package/dist/dropdown/index.d.ts +26 -0
  36. package/dist/file-input/FileInput.js +644 -0
  37. package/dist/file-input/FileItem.js +287 -0
  38. package/dist/file-input/index.d.ts +81 -0
  39. package/dist/footer/Footer.js +89 -34
  40. package/dist/footer/Icons.js +77 -0
  41. package/dist/footer/index.d.ts +25 -0
  42. package/dist/header/Header.js +190 -88
  43. package/dist/header/Icons.js +59 -0
  44. package/dist/header/index.d.ts +25 -0
  45. package/dist/heading/Heading.js +93 -16
  46. package/dist/heading/index.d.ts +17 -0
  47. package/dist/input-text/Icons.js +22 -0
  48. package/dist/input-text/InputText.js +247 -101
  49. package/dist/input-text/index.d.ts +36 -0
  50. package/dist/layout/ApplicationLayout.js +15 -18
  51. package/dist/layout/Icons.js +55 -0
  52. package/dist/link/Link.js +84 -34
  53. package/dist/link/index.d.ts +23 -0
  54. package/dist/main.d.ts +40 -0
  55. package/dist/main.js +72 -16
  56. package/dist/number-input/NumberInput.js +136 -0
  57. package/dist/number-input/NumberInputContext.js +16 -0
  58. package/dist/number-input/index.d.ts +113 -0
  59. package/dist/paginator/Icons.js +66 -0
  60. package/dist/paginator/Paginator.js +102 -44
  61. package/dist/paginator/index.d.ts +20 -0
  62. package/dist/password-input/PasswordInput.js +203 -0
  63. package/dist/password-input/index.d.ts +94 -0
  64. package/dist/progress-bar/ProgressBar.js +91 -33
  65. package/dist/progress-bar/index.d.ts +18 -0
  66. package/dist/radio/Radio.js +30 -11
  67. package/dist/radio/index.d.ts +23 -0
  68. package/dist/resultsetTable/ResultsetTable.js +79 -48
  69. package/dist/resultsetTable/index.d.ts +19 -0
  70. package/dist/select/Select.js +899 -278
  71. package/dist/select/index.d.ts +53 -0
  72. package/dist/sidenav/Sidenav.js +64 -8
  73. package/dist/sidenav/index.d.ts +13 -0
  74. package/dist/slider/Slider.js +212 -65
  75. package/dist/slider/index.d.ts +29 -0
  76. package/dist/spinner/Spinner.js +247 -56
  77. package/dist/spinner/index.d.ts +17 -0
  78. package/dist/stories/Button.js +71 -0
  79. package/dist/stories/Button.stories.js +55 -0
  80. package/dist/stories/Header.js +67 -0
  81. package/dist/stories/Header.stories.js +31 -0
  82. package/dist/stories/Introduction.stories.mdx +211 -0
  83. package/dist/stories/Page.js +68 -0
  84. package/dist/stories/Page.stories.js +39 -0
  85. package/dist/stories/assets/code-brackets.svg +1 -0
  86. package/dist/stories/assets/colors.svg +1 -0
  87. package/dist/stories/assets/comments.svg +1 -0
  88. package/dist/stories/assets/direction.svg +1 -0
  89. package/dist/stories/assets/flow.svg +1 -0
  90. package/dist/stories/assets/plugin.svg +1 -0
  91. package/dist/stories/assets/repo.svg +1 -0
  92. package/dist/stories/assets/stackalt.svg +1 -0
  93. package/dist/stories/button.css +30 -0
  94. package/dist/stories/header.css +26 -0
  95. package/dist/stories/page.css +69 -0
  96. package/dist/switch/Switch.js +51 -19
  97. package/dist/switch/index.d.ts +24 -0
  98. package/dist/table/Table.js +48 -18
  99. package/dist/table/index.d.ts +13 -0
  100. package/dist/tabs/Tabs.js +58 -17
  101. package/dist/tabs/index.d.ts +19 -0
  102. package/dist/tag/Tag.js +68 -35
  103. package/dist/tag/index.d.ts +24 -0
  104. package/dist/text-input/TextInput.js +974 -0
  105. package/dist/text-input/index.d.ts +135 -0
  106. package/dist/textarea/Textarea.js +246 -97
  107. package/dist/textarea/index.d.ts +117 -0
  108. package/dist/toggle/Toggle.js +16 -19
  109. package/dist/toggle/index.d.ts +21 -0
  110. package/dist/toggle-group/ToggleGroup.js +150 -32
  111. package/dist/toggle-group/index.d.ts +21 -0
  112. package/dist/upload/Upload.js +13 -8
  113. package/dist/upload/buttons-upload/ButtonsUpload.js +32 -19
  114. package/dist/upload/buttons-upload/Icons.js +40 -0
  115. package/dist/upload/dragAndDropArea/DragAndDropArea.js +84 -34
  116. package/dist/upload/dragAndDropArea/Icons.js +39 -0
  117. package/dist/upload/file-upload/FileToUpload.js +64 -33
  118. package/dist/upload/file-upload/Icons.js +66 -0
  119. package/dist/upload/files-upload/FilesToUpload.js +16 -16
  120. package/dist/upload/index.d.ts +15 -0
  121. package/dist/upload/transaction/Icons.js +160 -0
  122. package/dist/upload/transaction/Transaction.js +42 -49
  123. package/dist/upload/transactions/Transactions.js +38 -20
  124. package/dist/wizard/Icons.js +65 -0
  125. package/dist/wizard/Wizard.js +126 -47
  126. package/dist/wizard/index.d.ts +18 -0
  127. package/package.json +19 -13
  128. package/test/AccordionGroup.test.js +16 -0
  129. package/test/Date.test.js +15 -13
  130. package/test/DateInput.test.js +242 -0
  131. package/test/Dropdown.test.js +15 -0
  132. package/test/FileInput.test.js +201 -0
  133. package/test/Footer.test.js +2 -7
  134. package/test/Header.test.js +5 -10
  135. package/test/Heading.test.js +60 -12
  136. package/test/InputText.test.js +1 -2
  137. package/test/Link.test.js +3 -2
  138. package/test/NumberInput.test.js +259 -0
  139. package/test/Paginator.test.js +6 -2
  140. package/test/PasswordInput.test.js +83 -0
  141. package/test/ResultsetTable.test.js +6 -6
  142. package/test/Select.test.js +371 -148
  143. package/test/Slider.test.js +9 -17
  144. package/test/Spinner.test.js +5 -0
  145. package/test/TextInput.test.js +732 -0
  146. package/test/Textarea.test.js +193 -0
  147. package/test/ToggleGroup.test.js +5 -1
  148. package/test/Upload.test.js +1 -1
  149. package/test/V3Select.test.js +212 -0
  150. package/test/{TextArea.test.js → V3TextArea.test.js} +6 -7
  151. package/dist/accordion/Accordion.stories.js +0 -207
  152. package/dist/accordion/readme.md +0 -96
  153. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  154. package/dist/accordion-group/readme.md +0 -70
  155. package/dist/alert/Alert.stories.js +0 -158
  156. package/dist/alert/close.svg +0 -4
  157. package/dist/alert/error.svg +0 -4
  158. package/dist/alert/info.svg +0 -4
  159. package/dist/alert/readme.md +0 -43
  160. package/dist/alert/success.svg +0 -4
  161. package/dist/alert/warning.svg +0 -4
  162. package/dist/button/Button.stories.js +0 -224
  163. package/dist/button/readme.md +0 -93
  164. package/dist/checkbox/Checkbox.stories.js +0 -144
  165. package/dist/checkbox/readme.md +0 -116
  166. package/dist/common/services/example-service.js +0 -10
  167. package/dist/common/services/example-service.test.js +0 -12
  168. package/dist/date/Date.stories.js +0 -205
  169. package/dist/date/calendar.svg +0 -1
  170. package/dist/date/calendar_dark.svg +0 -1
  171. package/dist/date/readme.md +0 -73
  172. package/dist/dialog/Dialog.stories.js +0 -217
  173. package/dist/dialog/readme.md +0 -32
  174. package/dist/dropdown/Dropdown.stories.js +0 -249
  175. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  176. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  177. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  178. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  179. package/dist/dropdown/readme.md +0 -69
  180. package/dist/footer/Footer.stories.js +0 -94
  181. package/dist/footer/dxc_logo_wht.png +0 -0
  182. package/dist/footer/readme.md +0 -41
  183. package/dist/header/Header.stories.js +0 -176
  184. package/dist/header/close_icon.svg +0 -1
  185. package/dist/header/dxc_logo_black.png +0 -0
  186. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  187. package/dist/header/dxc_logo_white.png +0 -0
  188. package/dist/header/hamb_menu_black.svg +0 -1
  189. package/dist/header/hamb_menu_white.svg +0 -1
  190. package/dist/header/readme.md +0 -33
  191. package/dist/input-text/InputText.stories.js +0 -209
  192. package/dist/input-text/error.svg +0 -1
  193. package/dist/input-text/readme.md +0 -91
  194. package/dist/layout/facebook.svg +0 -45
  195. package/dist/layout/linkedin.svg +0 -50
  196. package/dist/layout/twitter.svg +0 -53
  197. package/dist/link/readme.md +0 -51
  198. package/dist/paginator/images/next.svg +0 -3
  199. package/dist/paginator/images/nextPage.svg +0 -3
  200. package/dist/paginator/images/previous.svg +0 -3
  201. package/dist/paginator/images/previousPage.svg +0 -3
  202. package/dist/paginator/readme.md +0 -50
  203. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  204. package/dist/progress-bar/readme.md +0 -63
  205. package/dist/radio/Radio.stories.js +0 -166
  206. package/dist/radio/readme.md +0 -70
  207. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  208. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  209. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  210. package/dist/select/Select.stories.js +0 -235
  211. package/dist/select/readme.md +0 -72
  212. package/dist/slider/Slider.stories.js +0 -241
  213. package/dist/slider/readme.md +0 -64
  214. package/dist/spinner/Spinner.stories.js +0 -183
  215. package/dist/spinner/readme.md +0 -65
  216. package/dist/switch/Switch.stories.js +0 -134
  217. package/dist/switch/readme.md +0 -133
  218. package/dist/tabs/Tabs.stories.js +0 -130
  219. package/dist/tabs/readme.md +0 -78
  220. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  221. package/dist/tabs-for-sections/readme.md +0 -78
  222. package/dist/toggle/Toggle.stories.js +0 -297
  223. package/dist/toggle/readme.md +0 -80
  224. package/dist/toggle-group/readme.md +0 -82
  225. package/dist/upload/Upload.stories.js +0 -72
  226. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  227. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  228. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  229. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  230. package/dist/upload/file-upload/audio-icon.svg +0 -4
  231. package/dist/upload/file-upload/close.svg +0 -4
  232. package/dist/upload/file-upload/file-icon.svg +0 -4
  233. package/dist/upload/file-upload/video-icon.svg +0 -4
  234. package/dist/upload/readme.md +0 -37
  235. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  236. package/dist/upload/transaction/audio-icon.svg +0 -4
  237. package/dist/upload/transaction/error-icon.svg +0 -4
  238. package/dist/upload/transaction/file-icon-err.svg +0 -4
  239. package/dist/upload/transaction/file-icon.svg +0 -4
  240. package/dist/upload/transaction/image-icon-err.svg +0 -4
  241. package/dist/upload/transaction/image-icon.svg +0 -4
  242. package/dist/upload/transaction/success-icon.svg +0 -4
  243. package/dist/upload/transaction/video-icon-err.svg +0 -4
  244. package/dist/upload/transaction/video-icon.svg +0 -4
  245. package/dist/wizard/invalid_icon.svg +0 -6
  246. package/dist/wizard/valid_icon.svg +0 -6
  247. package/dist/wizard/validation-wrong.svg +0 -6
  248. package/test/TabsForSections.test.js +0 -34
@@ -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: \"Open Sans\", sans-serif;\n font-size: 16px;\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: 16px;\n font-family: \"Open Sans\", sans-serif;\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, {
251
- caretHidden: caretHidden,
252
- margin: margin
253
- }) : _react["default"].createElement(UpArrowIcon, {
280
+ }, label)), _react["default"].createElement(CaretIconContainer, {
254
281
  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,50 +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;
382
+ }, function (props) {
383
+ return props.theme.borderRadius;
344
384
  }, function (props) {
345
- return props.theme.dropdownFontColor;
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.hoverBackgroundOption;
393
+ return props.theme.optionBackgroundColor;
352
394
  }, function (props) {
353
- return props.theme.dropdownFontColor;
395
+ return props.theme.optionFontFamily;
354
396
  }, function (props) {
355
- return props.theme.scrollBarTrackColor;
397
+ return props.theme.optionFontSize;
356
398
  }, function (props) {
357
- return props.theme.scrollBarThumbColor;
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;
358
412
  });
359
413
 
360
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) {
361
433
  return props.label === "" ? "0px" : calculateWidth(props.margin, props.size);
362
434
  }, function (props) {
363
- if (props.caretHidden === true && props.label === "") {
364
- return "10px 15px";
365
- } else {
366
- return "10px 15px 10px 20px";
367
- }
435
+ return props.theme.buttonPaddingTop;
436
+ }, function (props) {
437
+ return props.theme.buttonPaddingBottom;
438
+ }, function (props) {
439
+ return props.theme.buttonPaddingLeft;
368
440
  }, function (props) {
369
- return props.opened === true ? props.theme.hoverBackgroundColor : props.theme.backgroundColor;
441
+ return props.theme.buttonPaddingRight;
370
442
  }, function (props) {
371
- return props.theme.fontColor;
443
+ return props.disabled ? props.theme.disabledButtonBackgroundColor : props.theme.buttonBackgroundColor;
372
444
  }, function (props) {
373
- return props.opened === true ? "0px" : "2px";
445
+ return props.disabled ? props.theme.disabledColor : props.theme.buttonFontColor;
374
446
  }, function (props) {
375
- return props.opened === true ? "0px" : "2px";
447
+ return props.opened ? "0px" : props.theme.borderRadius;
376
448
  }, function (props) {
377
- 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 ");
378
452
  });
379
453
 
380
454
  var DropdownTriggerLabel = _styledComponents["default"].span(_templateObject4());
@@ -382,41 +456,63 @@ var DropdownTriggerLabel = _styledComponents["default"].span(_templateObject4())
382
456
  var DropdownTriggerContainer = _styledComponents["default"].span(_templateObject5(), function (props) {
383
457
  return props.iconPosition === "after" && "row-reverse" || "row";
384
458
  }, function (props) {
385
- return props.caretHidden ? "100%" : "calc(100% - 44px)";
459
+ return props.caretHidden ? "100%" : "calc(100% - 36px)";
386
460
  });
387
461
 
388
- var ListIcon = _styledComponents["default"].img(_templateObject6(), function (props) {
389
- if (props.iconPosition === "before" && props.label !== "") {
390
- return "10px";
391
- } else {
392
- return "0px";
393
- }
462
+ var ButtonIcon = _styledComponents["default"].img(_templateObject6(), function (props) {
463
+ return props.theme.buttonIconSize;
394
464
  }, function (props) {
395
- if (props.iconPosition === "after" && props.label !== "") {
396
- return "10px";
397
- } else {
398
- return "0px";
399
- }
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";
400
470
  });
401
471
 
402
- var ListIconContainer = _styledComponents["default"].div(_templateObject7(), function (props) {
403
- if (props.iconPosition === "before" && props.label !== "") {
404
- return "10px";
405
- } else {
406
- return "0px";
407
- }
472
+ var ButtonIconContainer = _styledComponents["default"].div(_templateObject7(), function (props) {
473
+ return props.theme.buttonIconSize;
408
474
  }, function (props) {
409
- if (props.iconPosition === "after" && props.label !== "") {
410
- return "10px";
411
- } else {
412
- return "0px";
413
- }
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";
414
492
  });
415
493
 
416
- var CaretIcon = _styledComponents["default"].div(_templateObject8(), function (props) {
417
- 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;
418
514
  }, function (props) {
419
- return props.theme.fontColor;
515
+ return props.theme.caretIconSize;
420
516
  });
421
517
 
422
518
  DxcDropdown.propTypes = {
@@ -433,6 +529,7 @@ DxcDropdown.propTypes = {
433
529
  iconPosition: _propTypes["default"].oneOf(["after", "before", ""]),
434
530
  label: _propTypes["default"].string,
435
531
  caretHidden: _propTypes["default"].bool,
532
+ disabled: _propTypes["default"].bool,
436
533
  expandOnHover: _propTypes["default"].bool,
437
534
  onSelectOption: _propTypes["default"].func,
438
535
  options: _propTypes["default"].arrayOf(_propTypes["default"].shape({
@@ -440,7 +537,8 @@ DxcDropdown.propTypes = {
440
537
  label: _propTypes["default"].any.isRequired,
441
538
  icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
442
539
  iconSrc: _propTypes["default"].string
443
- }))
540
+ })),
541
+ tabIndex: _propTypes["default"].number
444
542
  };
445
543
  var _default = DxcDropdown;
446
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;