@laerdal/life-react-components 1.0.1-dev.22.full → 1.0.1-dev.29.full

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 (176) hide show
  1. package/dist/esm/Banners/Banner.js +11 -8
  2. package/dist/esm/Banners/Banner.js.map +1 -1
  3. package/dist/esm/Button/Anchor.js +76 -0
  4. package/dist/esm/Button/Anchor.js.map +1 -0
  5. package/dist/esm/Button/BackButton.js +1 -1
  6. package/dist/esm/Button/BackButton.js.map +1 -1
  7. package/dist/esm/Button/Button.js +46 -19
  8. package/dist/esm/Button/Button.js.map +1 -1
  9. package/dist/esm/Button/DualFunctionButton.js +111 -0
  10. package/dist/esm/Button/DualFunctionButton.js.map +1 -0
  11. package/dist/esm/Button/Iconbutton.js +21 -1
  12. package/dist/esm/Button/Iconbutton.js.map +1 -1
  13. package/dist/esm/Button/__tests__/Button.test.js +2 -1
  14. package/dist/esm/Button/__tests__/Button.test.js.map +1 -1
  15. package/dist/esm/Button/index.js +1 -0
  16. package/dist/esm/Button/index.js.map +1 -1
  17. package/dist/esm/Dropdown/BasicDropdown.js +60 -127
  18. package/dist/esm/Dropdown/BasicDropdown.js.map +1 -1
  19. package/dist/esm/Dropdown/ChipDropdownInput.js +41 -132
  20. package/dist/esm/Dropdown/ChipDropdownInput.js.map +1 -1
  21. package/dist/esm/Dropdown/CommonStyling.js +20 -15
  22. package/dist/esm/Dropdown/CommonStyling.js.map +1 -1
  23. package/dist/esm/Dropdown/DropdownButton.js +2 -2
  24. package/dist/esm/Dropdown/DropdownButton.js.map +1 -1
  25. package/dist/esm/Dropdown/DropdownContent.js +424 -0
  26. package/dist/esm/Dropdown/DropdownContent.js.map +1 -0
  27. package/dist/esm/Dropdown/DropdownFilter.js +42 -151
  28. package/dist/esm/Dropdown/DropdownFilter.js.map +1 -1
  29. package/dist/esm/GlobalNavigationBar/UserMenu/UserMenu.js +15 -17
  30. package/dist/esm/GlobalNavigationBar/UserMenu/UserMenu.js.map +1 -1
  31. package/dist/esm/InputFields/Checkbox.js +19 -10
  32. package/dist/esm/InputFields/Checkbox.js.map +1 -1
  33. package/dist/esm/InputFields/QuickSearch.js +22 -12
  34. package/dist/esm/InputFields/QuickSearch.js.map +1 -1
  35. package/dist/esm/InputFields/RadioButton.js +18 -11
  36. package/dist/esm/InputFields/RadioButton.js.map +1 -1
  37. package/dist/esm/InputFields/components/SearchBarInput.js +1 -1
  38. package/dist/esm/InputFields/components/SearchBarInput.js.map +1 -1
  39. package/dist/esm/Modals/ModalDialog.js +14 -14
  40. package/dist/esm/Modals/ModalDialog.js.map +1 -1
  41. package/dist/esm/Modals/ModalStyles.js +3 -2
  42. package/dist/esm/Modals/ModalStyles.js.map +1 -1
  43. package/dist/esm/Paginator/Paginator.js +18 -8
  44. package/dist/esm/Paginator/Paginator.js.map +1 -1
  45. package/dist/esm/Paginator/__tests__/Paginator.test.js +1 -1
  46. package/dist/esm/Paginator/__tests__/Paginator.test.js.map +1 -1
  47. package/dist/esm/Table/Table.js +2 -1
  48. package/dist/esm/Table/Table.js.map +1 -1
  49. package/dist/esm/Tabs/TabLink.js +1 -1
  50. package/dist/esm/Tabs/TabLink.js.map +1 -1
  51. package/dist/esm/Toasters/Toast.js +2 -1
  52. package/dist/esm/Toasters/Toast.js.map +1 -1
  53. package/dist/esm/types.js +8 -0
  54. package/dist/esm/types.js.map +1 -1
  55. package/dist/js/Banners/Banner.js +13 -11
  56. package/dist/js/Banners/Banner.js.map +1 -1
  57. package/dist/js/Button/Anchor.d.ts +7 -0
  58. package/dist/js/Button/Anchor.js +66 -0
  59. package/dist/js/Button/Anchor.js.map +1 -0
  60. package/dist/js/Button/BackButton.js +1 -1
  61. package/dist/js/Button/BackButton.js.map +1 -1
  62. package/dist/js/Button/Button.d.ts +4 -1
  63. package/dist/js/Button/Button.js +44 -18
  64. package/dist/js/Button/Button.js.map +1 -1
  65. package/dist/js/Button/DualFunctionButton.d.ts +12 -0
  66. package/dist/js/Button/DualFunctionButton.js +148 -0
  67. package/dist/js/Button/DualFunctionButton.js.map +1 -0
  68. package/dist/js/Button/Iconbutton.d.ts +1 -0
  69. package/dist/js/Button/Iconbutton.js +23 -3
  70. package/dist/js/Button/Iconbutton.js.map +1 -1
  71. package/dist/js/Button/__tests__/Button.test.js +3 -1
  72. package/dist/js/Button/__tests__/Button.test.js.map +1 -1
  73. package/dist/js/Button/index.d.ts +1 -0
  74. package/dist/js/Button/index.js +8 -0
  75. package/dist/js/Button/index.js.map +1 -1
  76. package/dist/js/Dropdown/BasicDropdown.d.ts +9 -2
  77. package/dist/js/Dropdown/BasicDropdown.js +67 -133
  78. package/dist/js/Dropdown/BasicDropdown.js.map +1 -1
  79. package/dist/js/Dropdown/ChipDropdownInput.js +45 -138
  80. package/dist/js/Dropdown/ChipDropdownInput.js.map +1 -1
  81. package/dist/js/Dropdown/CommonStyling.d.ts +6 -2
  82. package/dist/js/Dropdown/CommonStyling.js +17 -6
  83. package/dist/js/Dropdown/CommonStyling.js.map +1 -1
  84. package/dist/js/Dropdown/DropdownButton.js +1 -1
  85. package/dist/js/Dropdown/DropdownButton.js.map +1 -1
  86. package/dist/js/Dropdown/DropdownContent.d.ts +45 -0
  87. package/dist/js/Dropdown/DropdownContent.js +476 -0
  88. package/dist/js/Dropdown/DropdownContent.js.map +1 -0
  89. package/dist/js/Dropdown/DropdownFilter.js +59 -186
  90. package/dist/js/Dropdown/DropdownFilter.js.map +1 -1
  91. package/dist/js/GlobalNavigationBar/UserMenu/UserMenu.js +7 -17
  92. package/dist/js/GlobalNavigationBar/UserMenu/UserMenu.js.map +1 -1
  93. package/dist/js/InputFields/Checkbox.d.ts +5 -3
  94. package/dist/js/InputFields/Checkbox.js +16 -9
  95. package/dist/js/InputFields/Checkbox.js.map +1 -1
  96. package/dist/js/InputFields/QuickSearch.js +24 -6
  97. package/dist/js/InputFields/QuickSearch.js.map +1 -1
  98. package/dist/js/InputFields/RadioButton.d.ts +4 -2
  99. package/dist/js/InputFields/RadioButton.js +15 -10
  100. package/dist/js/InputFields/RadioButton.js.map +1 -1
  101. package/dist/js/InputFields/components/SearchBarInput.js +1 -1
  102. package/dist/js/InputFields/components/SearchBarInput.js.map +1 -1
  103. package/dist/js/Modals/ModalDialog.d.ts +2 -1
  104. package/dist/js/Modals/ModalDialog.js +15 -14
  105. package/dist/js/Modals/ModalDialog.js.map +1 -1
  106. package/dist/js/Modals/ModalStyles.d.ts +4 -3
  107. package/dist/js/Modals/ModalStyles.js +4 -2
  108. package/dist/js/Modals/ModalStyles.js.map +1 -1
  109. package/dist/js/Paginator/Paginator.js +7 -5
  110. package/dist/js/Paginator/Paginator.js.map +1 -1
  111. package/dist/js/Paginator/__tests__/Paginator.test.js +1 -1
  112. package/dist/js/Paginator/__tests__/Paginator.test.js.map +1 -1
  113. package/dist/js/Table/Table.js +3 -1
  114. package/dist/js/Table/Table.js.map +1 -1
  115. package/dist/js/Tabs/TabLink.js +1 -1
  116. package/dist/js/Tabs/TabLink.js.map +1 -1
  117. package/dist/js/Toasters/Toast.js +1 -1
  118. package/dist/js/Toasters/Toast.js.map +1 -1
  119. package/dist/js/types.d.ts +5 -0
  120. package/dist/js/types.js +10 -1
  121. package/dist/js/types.js.map +1 -1
  122. package/dist/umd/Banners/Banner.js +11 -8
  123. package/dist/umd/Banners/Banner.js.map +1 -1
  124. package/dist/umd/Button/Anchor.js +201 -0
  125. package/dist/umd/Button/Anchor.js.map +1 -0
  126. package/dist/umd/Button/BackButton.js +1 -1
  127. package/dist/umd/Button/BackButton.js.map +1 -1
  128. package/dist/umd/Button/Button.js +48 -22
  129. package/dist/umd/Button/Button.js.map +1 -1
  130. package/dist/umd/Button/DualFunctionButton.js +237 -0
  131. package/dist/umd/Button/DualFunctionButton.js.map +1 -0
  132. package/dist/umd/Button/Iconbutton.js +21 -1
  133. package/dist/umd/Button/Iconbutton.js.map +1 -1
  134. package/dist/umd/Button/__tests__/Button.test.js +5 -5
  135. package/dist/umd/Button/__tests__/Button.test.js.map +1 -1
  136. package/dist/umd/Button/index.js +10 -4
  137. package/dist/umd/Button/index.js.map +1 -1
  138. package/dist/umd/Dropdown/BasicDropdown.js +64 -131
  139. package/dist/umd/Dropdown/BasicDropdown.js.map +1 -1
  140. package/dist/umd/Dropdown/ChipDropdownInput.js +44 -134
  141. package/dist/umd/Dropdown/ChipDropdownInput.js.map +1 -1
  142. package/dist/umd/Dropdown/CommonStyling.js +23 -19
  143. package/dist/umd/Dropdown/CommonStyling.js.map +1 -1
  144. package/dist/umd/Dropdown/DropdownButton.js +1 -1
  145. package/dist/umd/Dropdown/DropdownButton.js.map +1 -1
  146. package/dist/umd/Dropdown/DropdownContent.js +458 -0
  147. package/dist/umd/Dropdown/DropdownContent.js.map +1 -0
  148. package/dist/umd/Dropdown/DropdownFilter.js +47 -155
  149. package/dist/umd/Dropdown/DropdownFilter.js.map +1 -1
  150. package/dist/umd/GlobalNavigationBar/UserMenu/UserMenu.js +18 -21
  151. package/dist/umd/GlobalNavigationBar/UserMenu/UserMenu.js.map +1 -1
  152. package/dist/umd/InputFields/Checkbox.js +22 -14
  153. package/dist/umd/InputFields/Checkbox.js.map +1 -1
  154. package/dist/umd/InputFields/QuickSearch.js +22 -12
  155. package/dist/umd/InputFields/QuickSearch.js.map +1 -1
  156. package/dist/umd/InputFields/RadioButton.js +21 -15
  157. package/dist/umd/InputFields/RadioButton.js.map +1 -1
  158. package/dist/umd/InputFields/components/SearchBarInput.js +1 -1
  159. package/dist/umd/InputFields/components/SearchBarInput.js.map +1 -1
  160. package/dist/umd/Modals/ModalDialog.js +17 -18
  161. package/dist/umd/Modals/ModalDialog.js.map +1 -1
  162. package/dist/umd/Modals/ModalStyles.js +6 -6
  163. package/dist/umd/Modals/ModalStyles.js.map +1 -1
  164. package/dist/umd/Paginator/Paginator.js +18 -8
  165. package/dist/umd/Paginator/Paginator.js.map +1 -1
  166. package/dist/umd/Paginator/__tests__/Paginator.test.js +1 -1
  167. package/dist/umd/Paginator/__tests__/Paginator.test.js.map +1 -1
  168. package/dist/umd/Table/Table.js +5 -5
  169. package/dist/umd/Table/Table.js.map +1 -1
  170. package/dist/umd/Tabs/TabLink.js +1 -1
  171. package/dist/umd/Tabs/TabLink.js.map +1 -1
  172. package/dist/umd/Toasters/Toast.js +1 -1
  173. package/dist/umd/Toasters/Toast.js.map +1 -1
  174. package/dist/umd/types.js +8 -0
  175. package/dist/umd/types.js.map +1 -1
  176. package/package.json +1 -1
@@ -21,6 +21,8 @@ var _LoadingIndicator = require("../LoadingIndicator");
21
21
 
22
22
  var _CommonStyling = require("./CommonStyling");
23
23
 
24
+ var _DropdownContent = _interopRequireDefault(require("./DropdownContent"));
25
+
24
26
  var _styling = require("../InputFields/styling");
25
27
 
26
28
  var _typography = require("../styles/typography");
@@ -33,14 +35,6 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
33
35
 
34
36
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
35
37
 
36
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
37
-
38
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
39
-
40
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
41
-
42
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
43
-
44
38
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
45
39
 
46
40
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -57,9 +51,6 @@ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(
57
51
 
58
52
  var InputField = _styledComponents.default.input(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n ", "\n border: none;\n outline: none;\n background-color: inherit;\n cursor: pointer;\n color: ", " !important;\n padding: 0;\n ::-webkit-search-decoration,\n ::-webkit-search-cancel-button,\n ::-webkit-search-results-button,\n ::-webkit-search-results-decoration {\n -webkit-appearance: none;\n }\n ::placeholder {\n ", "\n\n ", " {\n ", "\n }\n &.small {\n ", "\n }\n &.medium {\n ", "\n }\n }\n"])), (0, _typography.ComponentMStyling)(_typography.ComponentTextStyle.Regular, _styles.COLORS.black), _styles.COLORS.black, (0, _typography.ComponentSStyling)(_typography.ComponentTextStyle.Italic, _styles.COLORS.neutral_600), _styles.BREAKPOINTS.MEDIUM, (0, _typography.ComponentMStyling)(_typography.ComponentTextStyle.Italic, _styles.COLORS.neutral_600), (0, _typography.ComponentSStyling)(_typography.ComponentTextStyle.Italic, _styles.COLORS.neutral_600), (0, _typography.ComponentMStyling)(_typography.ComponentTextStyle.Italic, _styles.COLORS.neutral_600));
59
53
 
60
- var MAX_MENU_HEIGHT = 240;
61
- var AVG_OPTION_HEIGHT = 48;
62
-
63
54
  var DropdownFilter = function DropdownFilter(_ref) {
64
55
  var id = _ref.id,
65
56
  list = _ref.list,
@@ -89,138 +80,36 @@ var DropdownFilter = function DropdownFilter(_ref) {
89
80
 
90
81
  var _React$useState3 = React.useState(false),
91
82
  _React$useState4 = _slicedToArray(_React$useState3, 2),
92
- isUp = _React$useState4[0],
93
- setIsUp = _React$useState4[1];
83
+ isLoading = _React$useState4[0],
84
+ setIsLoading = _React$useState4[1];
94
85
 
95
- var _React$useState5 = React.useState(false),
86
+ var _React$useState5 = React.useState(initalValue !== null && initalValue !== void 0 ? initalValue : ''),
96
87
  _React$useState6 = _slicedToArray(_React$useState5, 2),
97
- isLoading = _React$useState6[0],
98
- setIsLoading = _React$useState6[1];
88
+ input = _React$useState6[0],
89
+ setInput = _React$useState6[1];
99
90
 
100
- var _React$useState7 = React.useState(''),
91
+ var _React$useState7 = React.useState(placeholder || ''),
101
92
  _React$useState8 = _slicedToArray(_React$useState7, 2),
102
- input = _React$useState8[0],
103
- setInput = _React$useState8[1];
93
+ placeholderSearch = _React$useState8[0],
94
+ setPlaceholderSearch = _React$useState8[1];
104
95
 
105
- var _React$useState9 = React.useState(placeholder || ''),
96
+ var _React$useState9 = React.useState(false),
106
97
  _React$useState10 = _slicedToArray(_React$useState9, 2),
107
- placeholderSearch = _React$useState10[0],
108
- setPlaceholderSearch = _React$useState10[1];
98
+ restartFilter = _React$useState10[0],
99
+ setRestartFilter = _React$useState10[1];
109
100
 
110
- var _React$useState11 = React.useState(false),
101
+ var _React$useState11 = React.useState([]),
111
102
  _React$useState12 = _slicedToArray(_React$useState11, 2),
112
- restartFilter = _React$useState12[0],
113
- setRestartFilter = _React$useState12[1];
114
-
115
- var _React$useState13 = React.useState(null),
116
- _React$useState14 = _slicedToArray(_React$useState13, 2),
117
- focused = _React$useState14[0],
118
- setFocused = _React$useState14[1];
119
-
120
- var _React$useState15 = React.useState(list),
121
- _React$useState16 = _slicedToArray(_React$useState15, 2),
122
- currentSearchResult = _React$useState16[0],
123
- setCurrentSearchResult = _React$useState16[1];
103
+ selectedValues = _React$useState12[0],
104
+ setSelectedValues = _React$useState12[1];
124
105
 
125
- var dropdownContentRef = React.useRef(null);
126
106
  var styledFieldRef = React.useRef(null);
127
107
  var inputRef = React.useRef(null);
128
- React.useEffect(function () {
129
- var options = _toConsumableArray(list);
130
-
131
- if (!restartFilter && input !== '') {
132
- options = options.filter(function (option) {
133
- return option.toUpperCase().indexOf(input.toUpperCase()) !== -1;
134
- });
135
- }
136
-
137
- if (!disableSorting) {
138
- options = options.sort();
139
- }
140
-
141
- setCurrentSearchResult(options);
142
- }, [input, list]);
143
-
144
- var handleClickOutside = function handleClickOutside(e) {
145
- if (dropdownContentRef !== null && dropdownContentRef !== void 0 && dropdownContentRef.current && !dropdownContentRef.current.contains(e.target)) {
146
- if (isOpen) {
147
- setIsOpen(false);
148
- setFocused(null);
149
-
150
- if (!list.includes(input)) {
151
- setInput('');
152
- setPlaceholderSearch(placeholder || '');
153
- }
154
- }
155
- }
156
- };
157
-
158
- var setNewFocusedElement = function setNewFocusedElement(index) {
159
- var newFocusedElement = document.getElementById("".concat(id, "_").concat(index));
160
-
161
- if (newFocusedElement) {
162
- setFocused(index);
163
- newFocusedElement.focus();
164
- }
165
- };
166
-
167
- var handleKeyDown = function handleKeyDown(e) {
168
- if (isOpen) {
169
- if (e.keyCode === 38) {
170
- e.preventDefault();
171
- var focusedNow = focused;
172
-
173
- if (focusedNow !== undefined && focusedNow !== null && focusedNow > 0) {
174
- focusedNow -= 1;
175
- setNewFocusedElement(focusedNow);
176
- }
177
- } else if (e.keyCode === 40) {
178
- e.preventDefault();
179
- var focusedNow = focused;
180
-
181
- if (focusedNow !== undefined && focusedNow !== null) {
182
- focusedNow++;
183
- } else {
184
- focusedNow = 0;
185
- }
186
-
187
- setNewFocusedElement(focusedNow);
188
- } else if (e.keyCode === 9) {
189
- e.preventDefault();
190
- var focusedNow = focused;
191
-
192
- if (focusedNow !== undefined && focusedNow !== null) {
193
- focusedNow++;
194
- var newFocusedElement = document.getElementById("".concat(id, "_").concat(focusedNow));
195
-
196
- if (!newFocusedElement) {
197
- setNewFocusedElement(0);
198
- } else {
199
- setNewFocusedElement(focusedNow);
200
- }
201
- } else {
202
- setNewFocusedElement(0);
203
- }
204
- } else if (e.keyCode === 27) {
205
- var _styledFieldRef$curre;
206
-
207
- setIsOpen(false);
208
- setNewFocusedElement(0);
209
-
210
- if (!list.includes(input)) {
211
- setInput('');
212
- setPlaceholderSearch(placeholder || '');
213
- }
214
-
215
- (_styledFieldRef$curre = styledFieldRef.current) === null || _styledFieldRef$curre === void 0 ? void 0 : _styledFieldRef$curre.focus();
216
- }
217
- }
218
- };
219
108
 
220
109
  var handleKeyPress = function handleKeyPress(e) {
221
110
  if (styledFieldRef !== null && styledFieldRef !== void 0 && styledFieldRef.current && styledFieldRef.current.contains(e.target)) {
222
111
  if (e.keyCode === 13 && !locked) {
223
- var matches = currentSearchResult === null || currentSearchResult === void 0 ? void 0 : currentSearchResult.filter(function (c) {
112
+ var matches = list === null || list === void 0 ? void 0 : list.filter(function (c) {
224
113
  return c.toLowerCase() === input.toLowerCase();
225
114
  });
226
115
 
@@ -230,14 +119,12 @@ var DropdownFilter = function DropdownFilter(_ref) {
230
119
  }
231
120
 
232
121
  setIsOpen(!isOpen);
233
- setNewFocusedElement(0);
234
122
 
235
123
  if (matches.length === 0) {
236
124
  setInput('');
237
125
  }
238
126
  } else if (e.keyCode === 40) {
239
127
  setIsOpen(!isOpen);
240
- setNewFocusedElement(0);
241
128
  }
242
129
  }
243
130
  };
@@ -249,62 +136,26 @@ var DropdownFilter = function DropdownFilter(_ref) {
249
136
  }
250
137
  }, [initalValue]);
251
138
  React.useEffect(function () {
252
- document.addEventListener('keydown', handleKeyDown);
139
+ if (!isOpen && !list.includes(input)) {
140
+ setInput('');
141
+ setPlaceholderSearch(placeholder || '');
142
+ }
143
+ }, [isOpen]);
144
+ React.useEffect(function () {
253
145
  document.addEventListener('keypress', handleKeyPress);
254
- document.addEventListener('click', handleClickOutside);
255
146
  return function () {
256
- document.removeEventListener('keydown', handleKeyDown);
257
147
  document.removeEventListener('keypress', handleKeyPress);
258
- document.removeEventListener('click', handleClickOutside);
259
148
  };
260
149
  });
261
150
  React.useEffect(function () {
262
151
  setIsLoading(false);
263
- }, [input]);
264
- React.useEffect(function () {
265
- determineDropUp();
266
- }, [isOpen]);
267
-
268
- var determineDropUp = function determineDropUp() {
269
- var options = list;
270
- var node = dropdownContentRef.current;
271
- if (!node) return;
272
- var windowHeight = window.innerHeight;
273
- var menuHeight = Math.min(MAX_MENU_HEIGHT, options.length * AVG_OPTION_HEIGHT);
274
- var instOffsetWithMenu = node.getBoundingClientRect().top + menuHeight;
275
- setIsUp(instOffsetWithMenu >= windowHeight);
276
- };
152
+ if (selectedValues.length > 0 && !list.includes(input)) setSelectedValues([]);
277
153
 
278
- var getElements = function getElements() {
279
- if (locked || disabled) {
280
- return /*#__PURE__*/React.createElement(React.Fragment, null);
154
+ if (list.includes(input)) {
155
+ setSelectedValues([input]);
156
+ onSelect && onSelect(input);
281
157
  }
282
-
283
- var number = 0;
284
-
285
- if (currentSearchResult.length === 0) {
286
- return /*#__PURE__*/React.createElement(_CommonStyling.DropdownButton, {
287
- disabled: true
288
- }, /*#__PURE__*/React.createElement("span", null, messageOnNoResults));
289
- }
290
-
291
- return currentSearchResult.map(function (item) {
292
- return /*#__PURE__*/React.createElement(_CommonStyling.DropdownButton, {
293
- type: "button",
294
- onClick: function onClick(e) {
295
- e.preventDefault();
296
- setRestartFilter(true);
297
- setInput(item);
298
- onSelect && onSelect(item);
299
- setIsOpen(false);
300
- setFocused(null);
301
- },
302
- className: (item === null || item === void 0 ? void 0 : item.toLowerCase()) === (input === null || input === void 0 ? void 0 : input.toLowerCase()) ? 'active' : '',
303
- key: item,
304
- id: "".concat(id, "_").concat(number++)
305
- }, /*#__PURE__*/React.createElement("span", null, item));
306
- });
307
- };
158
+ }, [input]);
308
159
 
309
160
  var renderStandardDropdown = function renderStandardDropdown() {
310
161
  return /*#__PURE__*/React.createElement(_CommonStyling.StyledField, {
@@ -364,7 +215,7 @@ var DropdownFilter = function DropdownFilter(_ref) {
364
215
  onClick: function onClick() {
365
216
  return setIsOpen(!isOpen);
366
217
  },
367
- className: 'icon'
218
+ className: 'dropdown-arrow'
368
219
  }, isOpen && !locked && !disabled ? /*#__PURE__*/React.createElement(_SystemIcons.ArrowDropUp, {
369
220
  size: "24px",
370
221
  className: size ? size : ''
@@ -402,7 +253,7 @@ var DropdownFilter = function DropdownFilter(_ref) {
402
253
  onClick: function onClick() {
403
254
  return setIsOpen(!isOpen);
404
255
  },
405
- className: 'icon'
256
+ className: 'dropdown-arrow'
406
257
  }, isOpen && !locked && !disabled ? /*#__PURE__*/React.createElement(_SystemIcons.ArrowDropUp, {
407
258
  size: "24px",
408
259
  className: size ? size : ''
@@ -418,14 +269,36 @@ var DropdownFilter = function DropdownFilter(_ref) {
418
269
  locked: locked,
419
270
  className: size ? size : '',
420
271
  margin: margin
421
- }, !isButton && renderStandardDropdown(), !!isButton && renderButtonDropdown(), !locked && !disabled && /*#__PURE__*/React.createElement(_CommonStyling.DropdownContent, {
272
+ }, !isButton && renderStandardDropdown(), !!isButton && renderButtonDropdown(), !locked && !disabled && /*#__PURE__*/React.createElement(_DropdownContent.default, {
273
+ isOpen: isOpen,
274
+ messageOnNoResults: messageOnNoResults !== null && messageOnNoResults !== void 0 ? messageOnNoResults : '',
275
+ selectedValues: selectedValues,
276
+ setSelectedValues: setSelectedValues,
277
+ hideOnClickOutside: true,
278
+ customizationProps: {
279
+ itemsType: 'normal',
280
+ multiSelect: false,
281
+ action: function action() {},
282
+ isButton: isButton !== null && isButton !== void 0 ? isButton : false,
283
+ onValueUpdate: function onValueUpdate(values) {
284
+ var _values$;
285
+
286
+ var val = (_values$ = values[0]) !== null && _values$ !== void 0 ? _values$ : '';
287
+ setRestartFilter(true);
288
+ setInput(val);
289
+ },
290
+ items: list.map(function (x) {
291
+ return {
292
+ value: x
293
+ };
294
+ })
295
+ },
296
+ filter: !restartFilter ? input : '',
297
+ setIsOpen: setIsOpen,
298
+ alignLeft: false,
422
299
  isButton: isButton || false,
423
- ref: dropdownContentRef,
424
- id: "".concat(id, "_dropdowncontent"),
425
- className: [isOpen && 'show', isUp && 'up'].filter(function (e) {
426
- return !!e;
427
- }).join(' ')
428
- }, getElements())), activeValidationMessage && /*#__PURE__*/React.createElement(_styling.WarningMessage, {
300
+ id: "".concat(id, "_dropdowncontent")
301
+ })), activeValidationMessage && /*#__PURE__*/React.createElement(_styling.WarningMessage, {
429
302
  className: size || ''
430
303
  }, /*#__PURE__*/React.createElement(_SystemIcons.TechnicalWarning, {
431
304
  size: "20px",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Dropdown/DropdownFilter.tsx"],"names":["InputField","styled","input","ComponentTextStyle","Regular","COLORS","black","Italic","neutral_600","BREAKPOINTS","MEDIUM","MAX_MENU_HEIGHT","AVG_OPTION_HEIGHT","DropdownFilter","id","list","placeholder","onSelect","onInputChange","initalValue","required","disableSorting","messageOnNoResults","disabled","locked","isButton","activeValidationMessage","autofilledMessage","size","buttonFontSize","keepInitialValue","icon","margin","React","useState","isOpen","setIsOpen","isUp","setIsUp","isLoading","setIsLoading","setInput","placeholderSearch","setPlaceholderSearch","restartFilter","setRestartFilter","focused","setFocused","currentSearchResult","setCurrentSearchResult","dropdownContentRef","useRef","styledFieldRef","inputRef","useEffect","options","filter","option","toUpperCase","indexOf","sort","handleClickOutside","e","current","contains","target","includes","setNewFocusedElement","index","newFocusedElement","document","getElementById","focus","handleKeyDown","keyCode","preventDefault","focusedNow","undefined","handleKeyPress","matches","c","toLowerCase","length","addEventListener","removeEventListener","determineDropUp","node","windowHeight","window","innerHeight","menuHeight","Math","min","instOffsetWithMenu","getBoundingClientRect","top","getElements","number","map","item","renderStandardDropdown","concat","stopPropagation","floor","random","value","renderButtonDropdown","join","warning_400"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport { BREAKPOINTS, COLORS } from '../styles';\nimport { ArrowDropDown, ArrowDropUp, Information, TechnicalWarning } from '../icons/systemicons/SystemIcons';\nimport { LoadingIndicator } from '../LoadingIndicator';\nimport { DropdownButton, StyledField, DropdownContent, Dropdown, ButtonDropdownWrapper } from './CommonStyling';\nimport { AutofilledMessage, WarningMessage } from '../InputFields/styling';\nimport { ComponentMStyling, ComponentSStyling, ComponentTextStyle } from '../styles/typography';\n\nconst InputField = styled.input`\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.black)}\n border: none;\n outline: none;\n background-color: inherit;\n cursor: pointer;\n color: ${COLORS.black} !important;\n padding: 0;\n ::-webkit-search-decoration,\n ::-webkit-search-cancel-button,\n ::-webkit-search-results-button,\n ::-webkit-search-results-decoration {\n -webkit-appearance: none;\n }\n ::placeholder {\n ${ComponentSStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n\n ${BREAKPOINTS.MEDIUM} {\n ${ComponentMStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n &.small {\n ${ComponentSStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n &.medium {\n ${ComponentMStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n }\n`;\n\ninterface DropdownFilterProps {\n id: string;\n list: string[];\n placeholder?: string;\n onSelect?: (value: string) => void;\n onInputChange?: (input: string) => void;\n initalValue?: string;\n required?: boolean;\n disableSorting?: boolean;\n messageOnNoResults?: string;\n disabled?: boolean;\n locked?: boolean;\n isButton?: boolean;\n activeValidationMessage?: string;\n autofilledMessage?: string;\n size?: 'small' | 'medium';\n buttonFontSize?: string;\n keepInitialValue?: boolean;\n icon?: React.ReactNode;\n margin?: string;\n}\n\nconst MAX_MENU_HEIGHT = 240;\nconst AVG_OPTION_HEIGHT = 48;\n\nconst DropdownFilter = ({\n id,\n list,\n placeholder,\n onSelect,\n onInputChange,\n initalValue,\n required,\n disableSorting,\n messageOnNoResults,\n disabled,\n locked,\n isButton,\n activeValidationMessage,\n autofilledMessage,\n size,\n buttonFontSize,\n keepInitialValue,\n icon,\n margin = '4px 0',\n}: DropdownFilterProps) => {\n const [isOpen, setIsOpen] = React.useState<Boolean>(false);\n const [isUp, setIsUp] = React.useState<boolean>(false);\n const [isLoading, setIsLoading] = React.useState<Boolean>(false);\n const [input, setInput] = React.useState<string>('');\n const [placeholderSearch, setPlaceholderSearch] = React.useState<string>(placeholder || '');\n const [restartFilter, setRestartFilter] = React.useState<boolean>(false);\n const [focused, setFocused] = React.useState<number | null>(null);\n const [currentSearchResult, setCurrentSearchResult] = React.useState<string[]>(list);\n\n const dropdownContentRef = React.useRef<HTMLDivElement>(null);\n const styledFieldRef = React.useRef<HTMLDivElement>(null);\n const inputRef = React.useRef<HTMLInputElement>(null);\n\n React.useEffect(() => {\n var options = [...list];\n if (!restartFilter && input !== '') {\n options = options.filter((option) => option.toUpperCase().indexOf(input.toUpperCase()) !== -1);\n }\n if (!disableSorting) {\n options = options.sort();\n }\n setCurrentSearchResult(options);\n }, [input, list]);\n\n const handleClickOutside = (e: any) => {\n if (dropdownContentRef?.current && !dropdownContentRef.current.contains(e.target)) {\n if (isOpen) {\n setIsOpen(false);\n setFocused(null);\n if (!list.includes(input)) {\n setInput('');\n setPlaceholderSearch(placeholder || '');\n }\n }\n }\n };\n\n const setNewFocusedElement = (index: number) => {\n const newFocusedElement = document.getElementById(`${id}_${index}`);\n if (newFocusedElement) {\n setFocused(index);\n newFocusedElement.focus();\n }\n };\n\n const handleKeyDown = (e: any) => {\n if (isOpen) {\n if (e.keyCode === 38) {\n e.preventDefault();\n var focusedNow = focused;\n if (focusedNow !== undefined && focusedNow !== null && focusedNow > 0) {\n focusedNow -= 1;\n setNewFocusedElement(focusedNow);\n }\n } else if (e.keyCode === 40) {\n e.preventDefault();\n var focusedNow = focused;\n if (focusedNow !== undefined && focusedNow !== null) {\n focusedNow++;\n } else {\n focusedNow = 0;\n }\n setNewFocusedElement(focusedNow);\n } else if (e.keyCode === 9) {\n e.preventDefault();\n var focusedNow = focused;\n if (focusedNow !== undefined && focusedNow !== null) {\n focusedNow++;\n const newFocusedElement = document.getElementById(`${id}_${focusedNow}`);\n if (!newFocusedElement) {\n setNewFocusedElement(0);\n } else {\n setNewFocusedElement(focusedNow);\n }\n } else {\n setNewFocusedElement(0);\n }\n } else if (e.keyCode === 27) {\n setIsOpen(false);\n setNewFocusedElement(0);\n if (!list.includes(input)) {\n setInput('');\n setPlaceholderSearch(placeholder || '');\n }\n styledFieldRef.current?.focus();\n }\n }\n };\n\n const handleKeyPress = (e: any) => {\n if (styledFieldRef?.current && styledFieldRef.current.contains(e.target)) {\n if (e.keyCode === 13 && !locked) {\n const matches = currentSearchResult?.filter((c) => c.toLowerCase() === input.toLowerCase());\n if (matches.length === 1 && onSelect) {\n onSelect(matches[0]);\n setInput(matches[0]);\n }\n setIsOpen(!isOpen);\n setNewFocusedElement(0);\n if (matches.length === 0) {\n setInput('');\n }\n } else if (e.keyCode === 40) {\n setIsOpen(!isOpen);\n setNewFocusedElement(0);\n }\n }\n };\n\n React.useEffect(() => {\n if (initalValue || initalValue === '') {\n setInput(initalValue);\n setRestartFilter(true);\n }\n }, [initalValue]);\n\n React.useEffect(() => {\n document.addEventListener('keydown', handleKeyDown);\n document.addEventListener('keypress', handleKeyPress);\n document.addEventListener('click', handleClickOutside);\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n document.removeEventListener('keypress', handleKeyPress);\n document.removeEventListener('click', handleClickOutside);\n };\n });\n\n React.useEffect(() => {\n setIsLoading(false);\n }, [input]);\n\n React.useEffect(() => {\n determineDropUp();\n }, [isOpen]);\n\n const determineDropUp = () => {\n const options = list;\n const node = dropdownContentRef.current;\n\n if (!node) return;\n\n const windowHeight = window.innerHeight;\n const menuHeight = Math.min(MAX_MENU_HEIGHT, options.length * AVG_OPTION_HEIGHT);\n const instOffsetWithMenu = node.getBoundingClientRect().top + menuHeight;\n setIsUp(instOffsetWithMenu >= windowHeight);\n };\n\n const getElements = () => {\n if (locked || disabled) {\n return <></>;\n }\n var number = 0;\n if (currentSearchResult.length === 0) {\n return (\n <DropdownButton disabled>\n <span>{messageOnNoResults}</span>\n </DropdownButton>\n );\n }\n return currentSearchResult.map((item) => {\n return (\n <DropdownButton\n type=\"button\"\n onClick={(e: any) => {\n e.preventDefault();\n setRestartFilter(true);\n setInput(item);\n onSelect && onSelect(item);\n setIsOpen(false);\n setFocused(null);\n }}\n className={item?.toLowerCase() === input?.toLowerCase() ? 'active' : ''}\n key={item}\n id={`${id}_${number++}`}>\n <span>{item}</span>\n </DropdownButton>\n );\n });\n };\n\n const renderStandardDropdown = () => {\n return (\n <StyledField\n ref={styledFieldRef}\n className={(isOpen ? 'expanded ' : '').concat(size ? size : '')}\n onClick={(e: any) => {\n e.stopPropagation();\n setIsOpen(!isOpen);\n inputRef.current?.focus();\n }}\n tabIndex={disabled || locked ? -1 : 0}\n disabled={disabled || false}\n locked={locked || false}\n showValidationMessage={!!activeValidationMessage}\n fontSize={buttonFontSize}\n data-testid={`otherdiv_${id}`}>\n <InputField\n ref={inputRef}\n autoComplete={'off-' + Math.floor(Math.random() * 999999999999)}\n type=\"search\"\n placeholder={placeholderSearch}\n value={input}\n className={size ? `${size} value` : 'value'}\n onChange={(e: any) => {\n if (!locked && !disabled) {\n setRestartFilter(false);\n setIsLoading(true);\n setIsOpen(true);\n setInput(e.target.value);\n if (onInputChange) {\n onInputChange(e.target.value || '');\n }\n }\n }}\n onClick={(e: any) => {\n if (!locked && !disabled) {\n e.stopPropagation();\n setIsOpen(!isOpen);\n }\n }}\n onFocus={() => setPlaceholderSearch('')}\n onBlur={() => setPlaceholderSearch(placeholder || '')}\n required={required}\n tabIndex={disabled || locked ? -1 : 0}\n disabled={disabled || false}\n />\n\n {isLoading ? <LoadingIndicator size=\"small\" color={COLORS.neutral_600} /> : null}\n\n <div onClick={() => setIsOpen(!isOpen)} className={'icon'}>\n {isOpen && !locked && !disabled ? <ArrowDropUp size=\"24px\" className={size ? size : ''} /> : <ArrowDropDown size=\"24px\" className={size ? size : ''} />}\n </div>\n </StyledField>\n );\n };\n\n const renderButtonDropdown = () => (\n <ButtonDropdownWrapper\n onClick={(e: any) => {\n e.stopPropagation();\n setIsOpen(!isOpen);\n inputRef.current?.focus();\n }}\n disabled={disabled}\n locked={locked}>\n <StyledField\n ref={styledFieldRef}\n className={(isOpen ? 'expanded ' : '').concat(size ? size : '').concat(isButton ? 'button' : '')}\n tabIndex={disabled || locked ? -1 : 0}\n disabled={disabled || false}\n locked={locked || false}\n showValidationMessage={!!activeValidationMessage}\n fontSize={buttonFontSize}>\n {icon}\n <div className={'value'}>{initalValue && keepInitialValue ? initalValue : input || placeholderSearch}</div>\n {isLoading ? <LoadingIndicator size=\"small\" color={COLORS.neutral_600} /> : null}\n <div onClick={() => setIsOpen(!isOpen)} className={'icon'}>\n {isOpen && !locked && !disabled ? <ArrowDropUp size=\"24px\" className={size ? size : ''} /> : <ArrowDropDown size=\"24px\" className={size ? size : ''} />}\n </div>\n </StyledField>\n </ButtonDropdownWrapper>\n );\n\n return (\n <>\n <Dropdown isButton={isButton || false} disabled={disabled} locked={locked} className={size ? size : ''} margin={margin}>\n {!isButton && renderStandardDropdown()}\n {!!isButton && renderButtonDropdown()}\n {!locked && !disabled && (\n <DropdownContent\n isButton={isButton || false}\n ref={dropdownContentRef}\n id={`${id}_dropdowncontent`}\n className={[isOpen && 'show', isUp && 'up'].filter((e) => !!e).join(' ')}>\n {getElements()}\n </DropdownContent>\n )}\n </Dropdown>\n {activeValidationMessage && (\n <WarningMessage className={size || ''}>\n <TechnicalWarning size=\"20px\" color={COLORS.warning_400} />\n <span>{activeValidationMessage}</span>\n </WarningMessage>\n )}\n {autofilledMessage && (\n <AutofilledMessage className={size || ''}>\n <Information size=\"20px\" color={COLORS.neutral_600} />\n <span>{autofilledMessage}</span>\n </AutofilledMessage>\n )}\n </>\n );\n};\n\nexport default DropdownFilter;\n"],"file":"DropdownFilter.js"}
1
+ {"version":3,"sources":["../../../src/Dropdown/DropdownFilter.tsx"],"names":["InputField","styled","input","ComponentTextStyle","Regular","COLORS","black","Italic","neutral_600","BREAKPOINTS","MEDIUM","DropdownFilter","id","list","placeholder","onSelect","onInputChange","initalValue","required","disableSorting","messageOnNoResults","disabled","locked","isButton","activeValidationMessage","autofilledMessage","size","buttonFontSize","keepInitialValue","icon","margin","React","useState","isOpen","setIsOpen","isLoading","setIsLoading","setInput","placeholderSearch","setPlaceholderSearch","restartFilter","setRestartFilter","selectedValues","setSelectedValues","styledFieldRef","useRef","inputRef","handleKeyPress","e","current","contains","target","keyCode","matches","filter","c","toLowerCase","length","useEffect","includes","document","addEventListener","removeEventListener","renderStandardDropdown","concat","stopPropagation","focus","Math","floor","random","value","renderButtonDropdown","itemsType","multiSelect","action","onValueUpdate","values","val","items","map","x","warning_400"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport { BREAKPOINTS, COLORS } from '../styles';\nimport { ArrowDropDown, ArrowDropUp, Information, TechnicalWarning } from '../icons/systemicons/SystemIcons';\nimport { LoadingIndicator } from '../LoadingIndicator';\nimport { DropdownButton, StyledField, Dropdown, ButtonDropdownWrapper } from './CommonStyling';\nimport DropdownContent from './DropdownContent';\nimport { AutofilledMessage, WarningMessage } from '../InputFields/styling';\nimport { ComponentMStyling, ComponentSStyling, ComponentTextStyle } from '../styles/typography';\n\nconst InputField = styled.input`\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.black)}\n border: none;\n outline: none;\n background-color: inherit;\n cursor: pointer;\n color: ${COLORS.black} !important;\n padding: 0;\n ::-webkit-search-decoration,\n ::-webkit-search-cancel-button,\n ::-webkit-search-results-button,\n ::-webkit-search-results-decoration {\n -webkit-appearance: none;\n }\n ::placeholder {\n ${ComponentSStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n\n ${BREAKPOINTS.MEDIUM} {\n ${ComponentMStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n &.small {\n ${ComponentSStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n &.medium {\n ${ComponentMStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n }\n`;\n\ninterface DropdownFilterProps {\n id: string;\n list: string[];\n placeholder?: string;\n onSelect?: (value: string) => void;\n onInputChange?: (input: string) => void;\n initalValue?: string;\n required?: boolean;\n disableSorting?: boolean;\n messageOnNoResults?: string;\n disabled?: boolean;\n locked?: boolean;\n isButton?: boolean;\n activeValidationMessage?: string;\n autofilledMessage?: string;\n size?: 'small' | 'medium';\n buttonFontSize?: string;\n keepInitialValue?: boolean;\n icon?: React.ReactNode;\n margin?: string;\n}\n\nconst DropdownFilter = ({\n id,\n list,\n placeholder,\n onSelect,\n onInputChange,\n initalValue,\n required,\n disableSorting,\n messageOnNoResults,\n disabled,\n locked,\n isButton,\n activeValidationMessage,\n autofilledMessage,\n size,\n buttonFontSize,\n keepInitialValue,\n icon,\n margin = '4px 0',\n}: DropdownFilterProps) => {\n const [isOpen, setIsOpen] = React.useState<boolean>(false);\n const [isLoading, setIsLoading] = React.useState<Boolean>(false);\n const [input, setInput] = React.useState<string>(initalValue ?? '');\n const [placeholderSearch, setPlaceholderSearch] = React.useState<string>(placeholder || '');\n const [restartFilter, setRestartFilter] = React.useState<boolean>(false);\n const [selectedValues, setSelectedValues] = React.useState<string[]>([]);\n\n const styledFieldRef = React.useRef<HTMLDivElement>(null);\n const inputRef = React.useRef<HTMLInputElement>(null);\n\n const handleKeyPress = (e: any) => {\n if (styledFieldRef?.current && styledFieldRef.current.contains(e.target)) {\n if (e.keyCode === 13 && !locked) {\n const matches = list?.filter((c) => c.toLowerCase() === input.toLowerCase());\n if (matches.length === 1 && onSelect) {\n onSelect(matches[0]);\n setInput(matches[0]);\n }\n setIsOpen(!isOpen);\n if (matches.length === 0) {\n setInput('');\n }\n } else if (e.keyCode === 40) {\n setIsOpen(!isOpen);\n }\n }\n };\n\n React.useEffect(() => {\n if (initalValue || initalValue === '') {\n setInput(initalValue);\n setRestartFilter(true);\n }\n }, [initalValue]);\n\n React.useEffect(() => {\n if (!isOpen && !list.includes(input)) {\n setInput('');\n setPlaceholderSearch(placeholder || '');\n }\n }, [isOpen]);\n\n React.useEffect(() => {\n document.addEventListener('keypress', handleKeyPress);\n return () => {\n document.removeEventListener('keypress', handleKeyPress);\n };\n });\n\n React.useEffect(() => {\n setIsLoading(false);\n if (selectedValues.length > 0 && !list.includes(input))\n setSelectedValues([]);\n\n if(list.includes(input))\n {\n setSelectedValues([input]);\n onSelect && onSelect(input);\n }\n }, [input]);\n\n\n const renderStandardDropdown = () => {\n return (\n <StyledField\n ref={styledFieldRef}\n className={(isOpen ? 'expanded ' : '').concat(size ? size : '')}\n onClick={(e: any) => {\n e.stopPropagation();\n setIsOpen(!isOpen);\n inputRef.current?.focus();\n }}\n tabIndex={disabled || locked ? -1 : 0}\n disabled={disabled || false}\n locked={locked || false}\n showValidationMessage={!!activeValidationMessage}\n fontSize={buttonFontSize}\n data-testid={`otherdiv_${id}`}>\n <InputField\n ref={inputRef}\n autoComplete={'off-' + Math.floor(Math.random() * 999999999999)}\n type=\"search\"\n placeholder={placeholderSearch}\n value={input}\n className={size ? `${size} value` : 'value'}\n onChange={(e: any) => {\n if (!locked && !disabled) {\n setRestartFilter(false);\n setIsLoading(true);\n setIsOpen(true);\n setInput(e.target.value);\n if (onInputChange) {\n onInputChange(e.target.value || '');\n }\n }\n }}\n onClick={(e: any) => {\n if (!locked && !disabled) {\n e.stopPropagation();\n setIsOpen(!isOpen);\n }\n }}\n onFocus={() => setPlaceholderSearch('')}\n onBlur={() => setPlaceholderSearch(placeholder || '')}\n required={required}\n tabIndex={disabled || locked ? -1 : 0}\n disabled={disabled || false}\n />\n\n {isLoading ? <LoadingIndicator size=\"small\" color={COLORS.neutral_600} /> : null}\n\n <div onClick={() => setIsOpen(!isOpen)} className={'dropdown-arrow'}>\n {isOpen && !locked && !disabled ? <ArrowDropUp size=\"24px\" className={size ? size : ''} /> : <ArrowDropDown size=\"24px\" className={size ? size : ''} />}\n </div>\n </StyledField>\n );\n };\n\n const renderButtonDropdown = () => (\n <ButtonDropdownWrapper\n onClick={(e: any) => {\n e.stopPropagation();\n setIsOpen(!isOpen);\n inputRef.current?.focus();\n }}\n disabled={disabled}\n locked={locked}>\n <StyledField\n ref={styledFieldRef}\n className={(isOpen ? 'expanded ' : '').concat(size ? size : '').concat(isButton ? 'button' : '')}\n tabIndex={disabled || locked ? -1 : 0}\n disabled={disabled || false}\n locked={locked || false}\n showValidationMessage={!!activeValidationMessage}\n fontSize={buttonFontSize}>\n {icon}\n <div className={'value'}>{initalValue && keepInitialValue ? initalValue : input || placeholderSearch}</div>\n {isLoading ? <LoadingIndicator size=\"small\" color={COLORS.neutral_600} /> : null}\n <div onClick={() => setIsOpen(!isOpen)} className={'dropdown-arrow'}>\n {isOpen && !locked && !disabled ? <ArrowDropUp size=\"24px\" className={size ? size : ''} /> : <ArrowDropDown size=\"24px\" className={size ? size : ''} />}\n </div>\n </StyledField>\n </ButtonDropdownWrapper>\n );\n\n return (\n <>\n <Dropdown isButton={isButton || false} disabled={disabled} locked={locked} className={size ? size : ''} margin={margin}>\n {!isButton && renderStandardDropdown()}\n {!!isButton && renderButtonDropdown()}\n {!locked && !disabled && (\n <DropdownContent\n isOpen={isOpen}\n messageOnNoResults={messageOnNoResults ?? ''}\n selectedValues={selectedValues}\n setSelectedValues={setSelectedValues}\n hideOnClickOutside={true}\n customizationProps={{\n itemsType: 'normal',\n multiSelect: false,\n action: () => {},\n isButton: isButton ?? false,\n onValueUpdate: (values: string[]) => {\n const val = values[0] ?? '';\n setRestartFilter(true);\n setInput(val);\n },\n items: list.map(x => ({ value: x }))\n }}\n filter={!restartFilter ? input : ''}\n setIsOpen={setIsOpen}\n alignLeft={false}\n isButton={isButton || false}\n id={`${id}_dropdowncontent`} />\n )}\n </Dropdown>\n {activeValidationMessage && (\n <WarningMessage className={size || ''}>\n <TechnicalWarning size=\"20px\" color={COLORS.warning_400} />\n <span>{activeValidationMessage}</span>\n </WarningMessage>\n )}\n {autofilledMessage && (\n <AutofilledMessage className={size || ''}>\n <Information size=\"20px\" color={COLORS.neutral_600} />\n <span>{autofilledMessage}</span>\n </AutofilledMessage>\n )}\n </>\n );\n};\n\nexport default DropdownFilter;\n"],"file":"DropdownFilter.js"}
@@ -21,6 +21,8 @@ var _Avatar = _interopRequireWildcard(require("../Avatar"));
21
21
 
22
22
  var _MenuLink = _interopRequireDefault(require("./MenuLink"));
23
23
 
24
+ var _types = require("../../types");
25
+
24
26
  var _CommonStyles = require("../mobile/CommonStyles");
25
27
 
26
28
  var _typography = require("../../styles/typography");
@@ -35,15 +37,15 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
35
37
 
36
38
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
37
39
 
38
- var Menu = _styledComponents.default.ul(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n list-style: none;\n margin: 0;\n padding: 0;\n background-color: ", ";\n box-sizing: border-box;\n display: none;\n min-width: 312px;\n -webkit-animation: ", " 0.2s ease-in-out;\n animation: ", " 0.2s ease-in-out;\n position: absolute;\n box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n border: 1px solid ", ";\n z-index: 100;\n\n .open & {\n display: block;\n }\n"])), _styles.COLORS.white, _CommonStyles.flowDown, _CommonStyles.flowDown, _styles.COLORS.neutral_200);
40
+ var Menu = _styledComponents.default.ul(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n list-style: none;\n margin: 0;\n padding: 0;\n background-color: ", ";\n box-sizing: border-box;\n display: none;\n min-width: 312px;\n -webkit-animation: ", " 0.2s ease-in-out;\n animation: ", " 0.2s ease-in-out;\n position: absolute;\n box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n border: 1px solid ", ";\n z-index: 100;\n\n .open & {\n display: block;\n }\n \n .sign-out{\n width: 90%;\n box-sizing: border-box;\n display: flex;\n justify-content: center;\n align-items: center;\n margin: 8px auto 12px auto;\n }\n"])), _styles.COLORS.white, _CommonStyles.flowDown, _CommonStyles.flowDown, _styles.COLORS.neutral_200);
39
41
 
40
42
  var MenuSection = _styledComponents.default.li(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n padding: 8px 0;\n position: relative;\n\n &:not(:first-of-type)::before {\n content: '';\n position: absolute;\n background: ", ";\n height: 1px;\n top: 0;\n left: 16px;\n right: 16px;\n }\n\n .disabled-link {\n color: #21212150;\n pointer-events: none;\n key-events: none;\n }\n"])), _styles.COLORS.neutral_100);
41
43
 
42
44
  var MenuSectionList = _styledComponents.default.ul(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n list-style: none;\n margin: 0;\n padding: 0;\n\n ", ";\n"])), _CommonStyles.UserMenuSectionListStyling);
43
45
 
44
- var StyledAvatarContainer = (0, _styledComponents.default)(_Avatar.AvatarContainer)(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n margin: 25px 0 0 25px;\n"])));
46
+ var StyledAvatarContainer = (0, _styledComponents.default)(_Avatar.AvatarContainer)(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n margin: 25px 0 0 25px;\n pointer-events: none;\n"])));
45
47
 
46
- var AvatarAndName = _styledComponents.default.div(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n\n h5 {\n margin: 27px 0 0 20px;\n ", "\n }\n span {\n margin: -5px 0 0 20px;\n ", "\n top: -2px;\n }\n"])), (0, _typography.HeadlineXXSStyling)(_styles.COLORS.neutral_600), (0, _typography.ComponentXSStyling)(_styles.ComponentTextStyle.Regular, _styles.COLORS.neutral_600));
48
+ var AvatarAndName = _styledComponents.default.div(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n\n h5 {\n margin: 28px 0 0 20px;\n ", "\n }\n span {\n margin: 0 0 0 20px;\n ", "\n }\n"])), (0, _typography.HeadlineXXSStyling)(_styles.COLORS.neutral_600), (0, _typography.ComponentXSStyling)(_styles.ComponentTextStyle.Regular, _styles.COLORS.neutral_600));
47
49
 
48
50
  var NameAndEmail = _styledComponents.default.div(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n"])));
49
51
 
@@ -123,24 +125,12 @@ var UserMenu = function UserMenu(_ref) {
123
125
  });
124
126
  }), signOut && /*#__PURE__*/React.createElement(_Button.Button, {
125
127
  width: "90%",
126
- className: "UserMenuLink",
128
+ className: "UserMenuLink sign-out",
127
129
  variant: "secondary",
128
- size: "big",
130
+ size: _types.Size.Large,
129
131
  onClick: function onClick(e) {
130
132
  e.preventDefault();
131
133
  signOut(e);
132
- },
133
- style: {
134
- fontSize: '19px',
135
- lineHeight: '23px',
136
- boxSizing: 'border-box',
137
- borderRadius: '8px',
138
- height: '56px',
139
- display: 'flex',
140
- justifyContent: 'center',
141
- alignItems: 'center',
142
- margin: '8px auto 12px auto',
143
- width: '90%'
144
134
  }
145
135
  }, signOutLabel))));
146
136
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/GlobalNavigationBar/UserMenu/UserMenu.tsx"],"names":["Menu","styled","ul","COLORS","white","flowDown","neutral_200","MenuSection","li","neutral_100","MenuSectionList","UserMenuSectionListStyling","StyledAvatarContainer","AvatarContainer","AvatarAndName","div","neutral_600","ComponentTextStyle","Regular","NameAndEmail","OrganizationName","span","Bold","UserMenu","firstName","lastName","email","organizationName","clickMenuAction","accountSection","organizationSection","supportSection","signOut","signOutLabel","React","useEffect","handleKeyPress","e","keyCode","document","addEventListener","removeEventListener","primary_500","length","map","element","to","label","icon","onClick","isExternal","preventDefault","fontSize","lineHeight","boxSizing","borderRadius","height","display","justifyContent","alignItems","margin","width"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {Button} from '../../Button';\nimport {COLORS, ComponentTextStyle} from '../../styles';\nimport Avatar, {AvatarContainer} from '../Avatar';\nimport MenuLink from './MenuLink';\nimport {UserMenuItem} from '../../types';\nimport {flowDown, UserMenuSectionListStyling} from '../mobile/CommonStyles';\nimport {ComponentXSStyling, HeadlineXXSStyling} from '../../styles/typography';\n\nconst Menu = styled.ul`\n list-style: none;\n margin: 0;\n padding: 0;\n background-color: ${COLORS.white};\n box-sizing: border-box;\n display: none;\n min-width: 312px;\n -webkit-animation: ${flowDown} 0.2s ease-in-out;\n animation: ${flowDown} 0.2s ease-in-out;\n position: absolute;\n box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n border: 1px solid ${COLORS.neutral_200};\n z-index: 100;\n\n .open & {\n display: block;\n }\n`;\n\nconst MenuSection = styled.li`\n padding: 8px 0;\n position: relative;\n\n &:not(:first-of-type)::before {\n content: '';\n position: absolute;\n background: ${COLORS.neutral_100};\n height: 1px;\n top: 0;\n left: 16px;\n right: 16px;\n }\n\n .disabled-link {\n color: #21212150;\n pointer-events: none;\n key-events: none;\n }\n`;\n\nconst MenuSectionList = styled.ul`\n list-style: none;\n margin: 0;\n padding: 0;\n\n ${UserMenuSectionListStyling};\n`;\n\nconst StyledAvatarContainer = styled(AvatarContainer)`\n margin: 25px 0 0 25px;\n`;\n\nconst AvatarAndName = styled.div`\n display: flex;\n flex-direction: row;\n\n h5 {\n margin: 27px 0 0 20px;\n ${HeadlineXXSStyling(COLORS.neutral_600)}\n }\n span {\n margin: -5px 0 0 20px;\n ${ComponentXSStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n top: -2px;\n }\n`;\n\nconst NameAndEmail = styled.div`\n display: flex;\n flex-direction: column;\n`;\n\nconst OrganizationName = styled.span`\n margin-left: 25px;\n ${ComponentXSStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n`;\n\ninterface Props {\n firstName: string;\n lastName: string;\n email: string;\n organizationName: string;\n clickMenuAction: () => void;\n accountSection?: UserMenuItem[];\n organizationSection?: UserMenuItem[];\n supportSection?: UserMenuItem[];\n signOut?: (e: any) => void;\n signOutLabel?: string;\n}\n\nconst UserMenu = ({ firstName, lastName, email, organizationName, clickMenuAction, accountSection, organizationSection, supportSection, signOut, signOutLabel }: Props) => {\n React.useEffect(() => {\n function handleKeyPress(e: any) {\n if (e.keyCode === 27) {\n clickMenuAction();\n }\n }\n\n document.addEventListener('keydown', handleKeyPress, false);\n return () => {\n document.removeEventListener('keydown', handleKeyPress, false);\n };\n }, [clickMenuAction]);\n\n return (\n <Menu onClick={clickMenuAction} role=\"menu\" aria-labelledby=\"UserMenuButton\">\n <AvatarAndName key=\"AvatarAndNameSection\">\n <StyledAvatarContainer hidePadding={true}>\n <Avatar size={48} firstName={firstName} lastName={lastName} color={COLORS.primary_500} profileMenuLink=\"#TODO\" />\n </StyledAvatarContainer>\n <NameAndEmail>\n <h5 data-hj-suppress>{`${firstName} ${lastName}`}</h5>\n <span data-hj-suppress>{email}</span>\n </NameAndEmail>\n </AvatarAndName>\n {accountSection && accountSection?.length > 0 && (\n <MenuSection key=\"MobileAccountSection\">\n <MenuSectionList>\n {accountSection?.map(element => (\n <MenuLink key={element?.to} to={element?.to} menuText={element?.label} Icon={element?.icon} onClick={element?.onClick} />\n ))}\n </MenuSectionList>\n </MenuSection>\n )}\n\n {organizationSection && organizationSection?.length > 0 && (\n <MenuSection key=\"MobileOrganizationSection\">\n <OrganizationName>{organizationName || ''}</OrganizationName>\n <MenuSectionList>\n {organizationSection?.map(element => (\n <MenuLink key={element?.to} to={element?.to} menuText={element?.label} Icon={element?.icon} onClick={element?.onClick} />\n ))}\n </MenuSectionList>\n </MenuSection>\n )}\n\n <MenuSection key=\"MobileSupportSection\">\n <MenuSectionList>\n {supportSection?.map(element => (\n <MenuLink key={element?.to} isExternal={element.isExternal} to={element?.to} menuText={element?.label} Icon={element?.icon} onClick={element?.onClick} />\n ))}\n {signOut && (\n <Button\n width=\"90%\"\n className=\"UserMenuLink\"\n variant=\"secondary\"\n size=\"big\"\n onClick={e => {\n e.preventDefault();\n signOut(e);\n }}\n style={{\n fontSize: '19px',\n lineHeight: '23px',\n boxSizing: 'border-box',\n borderRadius: '8px',\n height: '56px',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n margin: '8px auto 12px auto',\n width: '90%',\n }}>\n {signOutLabel}\n </Button>\n )}\n </MenuSectionList>\n </MenuSection>\n </Menu>\n );\n};\n\nexport default UserMenu;\n"],"file":"UserMenu.js"}
1
+ {"version":3,"sources":["../../../../src/GlobalNavigationBar/UserMenu/UserMenu.tsx"],"names":["Menu","styled","ul","COLORS","white","flowDown","neutral_200","MenuSection","li","neutral_100","MenuSectionList","UserMenuSectionListStyling","StyledAvatarContainer","AvatarContainer","AvatarAndName","div","neutral_600","ComponentTextStyle","Regular","NameAndEmail","OrganizationName","span","Bold","UserMenu","firstName","lastName","email","organizationName","clickMenuAction","accountSection","organizationSection","supportSection","signOut","signOutLabel","React","useEffect","handleKeyPress","e","keyCode","document","addEventListener","removeEventListener","primary_500","length","map","element","to","label","icon","onClick","isExternal","Size","Large","preventDefault"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {Button} from '../../Button';\nimport {COLORS, ComponentTextStyle} from '../../styles';\nimport Avatar, {AvatarContainer} from '../Avatar';\nimport MenuLink from './MenuLink';\nimport { UserMenuItem, Size } from '../../types';\nimport {flowDown, UserMenuSectionListStyling} from '../mobile/CommonStyles';\nimport {ComponentXSStyling, HeadlineXXSStyling} from '../../styles/typography';\n\nconst Menu = styled.ul`\n list-style: none;\n margin: 0;\n padding: 0;\n background-color: ${COLORS.white};\n box-sizing: border-box;\n display: none;\n min-width: 312px;\n -webkit-animation: ${flowDown} 0.2s ease-in-out;\n animation: ${flowDown} 0.2s ease-in-out;\n position: absolute;\n box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n border: 1px solid ${COLORS.neutral_200};\n z-index: 100;\n\n .open & {\n display: block;\n }\n \n .sign-out{\n width: 90%;\n box-sizing: border-box;\n display: flex;\n justify-content: center;\n align-items: center;\n margin: 8px auto 12px auto;\n }\n`;\n\nconst MenuSection = styled.li`\n padding: 8px 0;\n position: relative;\n\n &:not(:first-of-type)::before {\n content: '';\n position: absolute;\n background: ${COLORS.neutral_100};\n height: 1px;\n top: 0;\n left: 16px;\n right: 16px;\n }\n\n .disabled-link {\n color: #21212150;\n pointer-events: none;\n key-events: none;\n }\n`;\n\nconst MenuSectionList = styled.ul`\n list-style: none;\n margin: 0;\n padding: 0;\n\n ${UserMenuSectionListStyling};\n`;\n\nconst StyledAvatarContainer = styled(AvatarContainer)`\n margin: 25px 0 0 25px;\n pointer-events: none;\n`;\n\nconst AvatarAndName = styled.div`\n display: flex;\n flex-direction: row;\n\n h5 {\n margin: 28px 0 0 20px;\n ${HeadlineXXSStyling(COLORS.neutral_600)}\n }\n span {\n margin: 0 0 0 20px;\n ${ComponentXSStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n }\n`;\n\nconst NameAndEmail = styled.div`\n display: flex;\n flex-direction: column;\n`;\n\nconst OrganizationName = styled.span`\n margin-left: 25px;\n ${ComponentXSStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n`;\n\ninterface Props {\n firstName: string;\n lastName: string;\n email: string;\n organizationName: string;\n clickMenuAction: () => void;\n accountSection?: UserMenuItem[];\n organizationSection?: UserMenuItem[];\n supportSection?: UserMenuItem[];\n signOut?: (e: any) => void;\n signOutLabel?: string;\n}\n\nconst UserMenu = ({ firstName, lastName, email, organizationName, clickMenuAction, accountSection, organizationSection, supportSection, signOut, signOutLabel }: Props) => {\n React.useEffect(() => {\n function handleKeyPress(e: any) {\n if (e.keyCode === 27) {\n clickMenuAction();\n }\n }\n\n document.addEventListener('keydown', handleKeyPress, false);\n return () => {\n document.removeEventListener('keydown', handleKeyPress, false);\n };\n }, [clickMenuAction]);\n\n return (\n <Menu onClick={clickMenuAction} role=\"menu\" aria-labelledby=\"UserMenuButton\">\n <AvatarAndName key=\"AvatarAndNameSection\">\n <StyledAvatarContainer hidePadding={true}>\n <Avatar size={48} firstName={firstName} lastName={lastName} color={COLORS.primary_500} profileMenuLink=\"#TODO\" />\n </StyledAvatarContainer>\n <NameAndEmail>\n <h5 data-hj-suppress>{`${firstName} ${lastName}`}</h5>\n <span data-hj-suppress>{email}</span>\n </NameAndEmail>\n </AvatarAndName>\n {accountSection && accountSection?.length > 0 && (\n <MenuSection key=\"MobileAccountSection\">\n <MenuSectionList>\n {accountSection?.map(element => (\n <MenuLink key={element?.to} to={element?.to} menuText={element?.label} Icon={element?.icon} onClick={element?.onClick} />\n ))}\n </MenuSectionList>\n </MenuSection>\n )}\n\n {organizationSection && organizationSection?.length > 0 && (\n <MenuSection key=\"MobileOrganizationSection\">\n <OrganizationName>{organizationName || ''}</OrganizationName>\n <MenuSectionList>\n {organizationSection?.map(element => (\n <MenuLink key={element?.to} to={element?.to} menuText={element?.label} Icon={element?.icon} onClick={element?.onClick} />\n ))}\n </MenuSectionList>\n </MenuSection>\n )}\n\n <MenuSection key=\"MobileSupportSection\">\n <MenuSectionList>\n {supportSection?.map(element => (\n <MenuLink key={element?.to} isExternal={element.isExternal} to={element?.to} menuText={element?.label} Icon={element?.icon} onClick={element?.onClick} />\n ))}\n {signOut && (\n <Button\n width=\"90%\"\n className=\"UserMenuLink sign-out\"\n variant=\"secondary\"\n size={Size.Large}\n onClick={e => {\n e.preventDefault();\n signOut(e);\n }}>\n {signOutLabel}\n </Button>\n )}\n </MenuSectionList>\n </MenuSection>\n </Menu>\n );\n};\n\nexport default UserMenu;\n"],"file":"UserMenu.js"}
@@ -1,4 +1,5 @@
1
1
  import * as React from 'react';
2
+ import { Size } from '../types';
2
3
  interface Props {
3
4
  id: string;
4
5
  selected: boolean;
@@ -7,8 +8,9 @@ interface Props {
7
8
  showWarning?: boolean;
8
9
  disabled?: boolean;
9
10
  margin?: string;
10
- size?: 'small' | 'medium' | 'large';
11
+ size?: Size;
12
+ iconPointerEventsTransparent?: boolean;
11
13
  semiSelected?: boolean;
12
14
  }
13
- declare const RadioButton: React.FunctionComponent<Props>;
14
- export default RadioButton;
15
+ declare const Checkbox: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLDivElement>>;
16
+ export default Checkbox;