1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, '__esModule', { value: true });
|
4 |
|
5 | function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
|
6 |
|
7 | var slicedToArray = require('./slicedToArray-0711941d.js');
|
8 | require('./unsupportedIterableToArray-68db1d3b.js');
|
9 | var React = require('react');
|
10 | var React__default = _interopDefault(React);
|
11 | require('./_commonjsHelpers-72d386ba.js');
|
12 | var index = require('./index-b0606964.js');
|
13 | require('./defineProperty-0921a47c.js');
|
14 | require('./toConsumableArray-d8a4a2c3.js');
|
15 | var _styled = require('styled-components');
|
16 | var _styled__default = _interopDefault(_styled);
|
17 | require('./getPrototypeOf-2a661a20.js');
|
18 | require('./color.js');
|
19 | require('./components.js');
|
20 | require('./contains-component.js');
|
21 | var css = require('./css.js');
|
22 | require('./dayjs.min-e07657bf.js');
|
23 | require('./date.js');
|
24 | require('./miscellaneous.js');
|
25 | var environment = require('./environment.js');
|
26 | require('./font.js');
|
27 | require('./math-f4029164.js');
|
28 | require('./characters.js');
|
29 | require('./format.js');
|
30 | require('./keycodes.js');
|
31 | require('./url.js');
|
32 | require('./web3.js');
|
33 | var constants = require('./constants.js');
|
34 | require('./breakpoints.js');
|
35 | require('./springs.js');
|
36 | var textStyles = require('./text-styles.js');
|
37 | require('./theme-dark.js');
|
38 | require('./theme-light.js');
|
39 | var Theme = require('./Theme.js');
|
40 | var _extends$1 = require('./extends-40571110.js');
|
41 | var objectWithoutProperties = require('./objectWithoutProperties-35db8ab0.js');
|
42 | var index$1 = require('./index-ecc57c9f.js');
|
43 | require('./isObject-ec755c87.js');
|
44 | var Viewport = require('./Viewport-15101437.js');
|
45 | require('./FocusVisible.js');
|
46 | var ButtonBase = require('./ButtonBase.js');
|
47 | require('./IconPropTypes-56de5759.js');
|
48 | require('./IconAddUser.js');
|
49 | require('./IconAlert.js');
|
50 | require('./IconAlignCenter.js');
|
51 | require('./IconAlignJustify.js');
|
52 | require('./IconAlignLeft.js');
|
53 | require('./IconAlignRight.js');
|
54 | require('./IconAragon.js');
|
55 | require('./IconArrowDown.js');
|
56 | require('./IconArrowLeft.js');
|
57 | require('./IconArrowRight.js');
|
58 | require('./IconArrowUp.js');
|
59 | require('./IconAtSign.js');
|
60 | require('./IconBlock.js');
|
61 | require('./IconBookmark.js');
|
62 | require('./IconCalendar.js');
|
63 | require('./IconCanvas.js');
|
64 | require('./IconCaution.js');
|
65 | require('./IconCenter.js');
|
66 | require('./IconChart.js');
|
67 | require('./IconChat.js');
|
68 | require('./IconCheck.js');
|
69 | require('./IconChip.js');
|
70 | require('./IconCircleCheck.js');
|
71 | require('./IconCircleMinus.js');
|
72 | require('./IconCirclePlus.js');
|
73 | require('./IconClock.js');
|
74 | require('./IconCloudDownload.js');
|
75 | require('./IconCloudUpload.js');
|
76 | require('./IconCoin.js');
|
77 | require('./IconConfiguration.js');
|
78 | require('./IconConnect.js');
|
79 | require('./IconConnection.js');
|
80 | require('./IconConsole.js');
|
81 | require('./IconCopy.js');
|
82 | require('./IconCross.js');
|
83 | require('./IconDashedSquare.js');
|
84 | var IconDown = require('./IconDown.js');
|
85 | require('./IconDownload.js');
|
86 | require('./IconEdit.js');
|
87 | require('./IconEllipsis.js');
|
88 | require('./IconEnter.js');
|
89 | require('./IconEthereum.js');
|
90 | require('./IconExternal.js');
|
91 | require('./IconFile.js');
|
92 | require('./IconFilter.js');
|
93 | require('./IconFlag.js');
|
94 | require('./IconFolder.js');
|
95 | require('./IconGraph2.js');
|
96 | require('./IconGraph.js');
|
97 | require('./IconGrid.js');
|
98 | require('./IconGroup.js');
|
99 | require('./IconHash.js');
|
100 | require('./IconHeart.js');
|
101 | require('./IconHide.js');
|
102 | require('./IconHome.js');
|
103 | require('./IconImage.js');
|
104 | require('./IconInfo.js');
|
105 | require('./IconLabel.js');
|
106 | require('./IconLayers.js');
|
107 | require('./IconLeft.js');
|
108 | require('./IconLink.js');
|
109 | require('./IconLocation.js');
|
110 | require('./IconLock.js');
|
111 | require('./IconMail.js');
|
112 | require('./IconMaximize.js');
|
113 | require('./IconMenu.js');
|
114 | require('./IconMinimize.js');
|
115 | require('./IconMinus.js');
|
116 | require('./IconMove.js');
|
117 | require('./IconNoPicture.js');
|
118 | require('./IconPicture.js');
|
119 | require('./IconPlus.js');
|
120 | require('./IconPower.js');
|
121 | require('./IconPrint.js');
|
122 | require('./IconProhibited.js');
|
123 | require('./IconQuestion.js');
|
124 | require('./IconRefresh.js');
|
125 | require('./IconRemoveUser.js');
|
126 | require('./IconRight.js');
|
127 | require('./IconRotateLeft.js');
|
128 | require('./IconRotateRight.js');
|
129 | require('./IconSearch.js');
|
130 | require('./IconSettings.js');
|
131 | require('./IconShare.js');
|
132 | require('./IconSquareMinus.js');
|
133 | require('./IconSquarePlus.js');
|
134 | require('./IconSquare.js');
|
135 | require('./IconStarFilled.js');
|
136 | require('./IconStar.js');
|
137 | require('./IconSwap.js');
|
138 | require('./IconTarget.js');
|
139 | require('./IconToken.js');
|
140 | require('./IconTrash.js');
|
141 | require('./IconUnlock.js');
|
142 | require('./IconUp.js');
|
143 | require('./IconUpload.js');
|
144 | require('./IconUser.js');
|
145 | require('./IconView.js');
|
146 | require('./IconVote.js');
|
147 | require('./IconWallet.js');
|
148 | require('./IconWarning.js');
|
149 | require('./IconWorld.js');
|
150 | require('./IconWrite.js');
|
151 | require('./IconZoomIn.js');
|
152 | require('./IconZoomOut.js');
|
153 | require('./objectWithoutPropertiesLoose-1af20ad0.js');
|
154 | require('react-dom');
|
155 | require('./web-d0294535.js');
|
156 | require('./getDisplayName-7ab6d318.js');
|
157 | require('./index-bc84a358.js');
|
158 | require('./index-0db71dc1.js');
|
159 | require('./RootPortal.js');
|
160 | require('./proptypes-5b34673d.js');
|
161 | var Popover = require('./Popover.js');
|
162 | require('./observe.js');
|
163 | require('./index-030bfca8.js');
|
164 | require('./providers.js');
|
165 |
|
166 | var MIN_WIDTH = 128;
|
167 |
|
168 | function useDropDown(_ref) {
|
169 | var buttonRef = _ref.buttonRef,
|
170 | items = _ref.items,
|
171 | displayedLabel = _ref.displayedLabel,
|
172 | onChange = _ref.onChange,
|
173 | placeholder = _ref.placeholder,
|
174 | selected = _ref.selected;
|
175 |
|
176 | var _useState = React.useState(displayedLabel),
|
177 | _useState2 = slicedToArray._slicedToArray(_useState, 2),
|
178 | selectedLabel = _useState2[0],
|
179 | setSelectedLabel = _useState2[1];
|
180 |
|
181 | var _useState3 = React.useState(false),
|
182 | _useState4 = slicedToArray._slicedToArray(_useState3, 2),
|
183 | opened = _useState4[0],
|
184 | setOpened = _useState4[1];
|
185 |
|
186 | var close = React.useCallback(function () {
|
187 | setOpened(false);
|
188 |
|
189 | if (buttonRef.current) {
|
190 | buttonRef.current.focus();
|
191 | }
|
192 | }, [buttonRef]);
|
193 | var toggle = React.useCallback(function () {
|
194 | return setOpened(function (opened) {
|
195 | return !opened;
|
196 | });
|
197 | }, []);
|
198 | var handleItemSelect = React.useCallback(function (index) {
|
199 | onChange(index);
|
200 | close();
|
201 | }, [onChange, close]);
|
202 | React.useEffect(function () {
|
203 | if (selected === -1 || !items[selected]) {
|
204 | if (displayedLabel) {
|
205 | setSelectedLabel(displayedLabel);
|
206 | }
|
207 |
|
208 | return;
|
209 | }
|
210 |
|
211 | setSelectedLabel(items[selected]);
|
212 | }, [items, selected, displayedLabel]);
|
213 | return {
|
214 | handleItemSelect: handleItemSelect,
|
215 | close: close,
|
216 | toggle: toggle,
|
217 | opened: opened,
|
218 | selectedLabel: selectedLabel
|
219 | };
|
220 | }
|
221 |
|
222 | function useButtonRef(cb) {
|
223 | var buttonRef = React.useRef(null);
|
224 | var refCallback = React.useCallback(function (el) {
|
225 | if (el) {
|
226 | cb(el);
|
227 | }
|
228 |
|
229 | buttonRef.current = el;
|
230 | }, [cb]);
|
231 | return {
|
232 | buttonRef: buttonRef,
|
233 | refCallback: refCallback
|
234 | };
|
235 | }
|
236 |
|
237 | var _StyledButtonBase = _styled__default(ButtonBase.default).withConfig({
|
238 | displayName: "DropDown___StyledButtonBase",
|
239 | componentId: "sc-17zpefi-0"
|
240 | })(["display:", ";justify-content:space-between;align-items:center;height:", "px;padding-left:", "px;padding-right:", "px;width:", ";min-width:", ";background:", ";color:", ";border:", "px solid ", ";", ";", ""], function (p) {
|
241 | return p._css;
|
242 | }, function (p) {
|
243 | return p._css2;
|
244 | }, function (p) {
|
245 | return p._css3;
|
246 | }, function (p) {
|
247 | return p._css4;
|
248 | }, function (p) {
|
249 | return p._css5;
|
250 | }, function (p) {
|
251 | return p._css6;
|
252 | }, function (p) {
|
253 | return p._css7;
|
254 | }, function (p) {
|
255 | return p._css8;
|
256 | }, function (p) {
|
257 | return p._css9;
|
258 | }, function (p) {
|
259 | return p._css10;
|
260 | }, function (p) {
|
261 | return p._css11;
|
262 | }, function (p) {
|
263 | return p._css12;
|
264 | });
|
265 |
|
266 | var _StyledDiv = _styled__default("div").withConfig({
|
267 | displayName: "DropDown___StyledDiv",
|
268 | componentId: "sc-17zpefi-1"
|
269 | })(["overflow:hidden;"]);
|
270 |
|
271 | var _StyledIconDown = _styled__default(IconDown.default).withConfig({
|
272 | displayName: "DropDown___StyledIconDown",
|
273 | componentId: "sc-17zpefi-2"
|
274 | })(["margin-left:", "px;color:", ";"], function (p) {
|
275 | return p._css13;
|
276 | }, function (p) {
|
277 | return p._css14;
|
278 | });
|
279 |
|
280 | var _StyledDiv2 = _styled__default("div").withConfig({
|
281 | displayName: "DropDown___StyledDiv2",
|
282 | componentId: "sc-17zpefi-3"
|
283 | })(["position:absolute;top:-100vh;left:-100vw;opacity:0;visibility:hidden;"]);
|
284 |
|
285 | var DropDown = React__default.memo(function DropDown(_ref2) {
|
286 | var disabled = _ref2.disabled,
|
287 | header = _ref2.header,
|
288 | items = _ref2.items,
|
289 | onChange = _ref2.onChange,
|
290 | placeholder = _ref2.placeholder,
|
291 | renderLabel = _ref2.renderLabel,
|
292 | selected = _ref2.selected,
|
293 | wide = _ref2.wide,
|
294 | width = _ref2.width,
|
295 | active = _ref2.active,
|
296 | label = _ref2.label,
|
297 | props = objectWithoutProperties._objectWithoutProperties(_ref2, ["disabled", "header", "items", "onChange", "placeholder", "renderLabel", "selected", "wide", "width", "active", "label"]);
|
298 |
|
299 | if (active !== undefined) {
|
300 | environment.warnOnce('DropDown:active', 'The “active” prop is deprecated. Please use “selected” to pass the selected index instead.');
|
301 | }
|
302 |
|
303 | if (label !== undefined) {
|
304 | environment.warnOnce('DropDown:label', 'DropDown: the “label” prop is deprecated, please use “placeholder” instead.');
|
305 | }
|
306 |
|
307 | var theme = Theme.useTheme();
|
308 |
|
309 | var _useViewport = Viewport.useViewport(),
|
310 | vw = _useViewport.width;
|
311 |
|
312 | var _split = (width || '').split('px'),
|
313 | _split2 = slicedToArray._slicedToArray(_split, 1),
|
314 | _split2$ = _split2[0],
|
315 | widthNoPx = _split2$ === void 0 ? MIN_WIDTH : _split2$;
|
316 |
|
317 | var _useState5 = React.useState(0),
|
318 | _useState6 = slicedToArray._slicedToArray(_useState5, 2),
|
319 | buttonWidth = _useState6[0],
|
320 | setButtonWidth = _useState6[1];
|
321 |
|
322 | var _useState7 = React.useState(true),
|
323 | _useState8 = slicedToArray._slicedToArray(_useState7, 2),
|
324 | measureWidth = _useState8[0],
|
325 | setMeasureWidth = _useState8[1];
|
326 |
|
327 |
|
328 | var _useState9 = React.useState(Math.min(widthNoPx, MIN_WIDTH)),
|
329 | _useState10 = slicedToArray._slicedToArray(_useState9, 2),
|
330 | placeholderMinWidth = _useState10[0],
|
331 | setPlaceholderMinWidth = _useState10[1];
|
332 |
|
333 | var popoverRefCallback = React.useCallback(function (el) {
|
334 | if (!el) {
|
335 | return;
|
336 | }
|
337 |
|
338 | setPlaceholderMinWidth(el.clientWidth);
|
339 | setMeasureWidth(false);
|
340 | }, []);
|
341 | React.useEffect(function () {
|
342 | setMeasureWidth(true);
|
343 | }, [vw, items]);
|
344 |
|
345 | var _useButtonRef = useButtonRef(function (el) {
|
346 | setButtonWidth(el.clientWidth);
|
347 | }),
|
348 | refCallback = _useButtonRef.refCallback,
|
349 | buttonRef = _useButtonRef.buttonRef;
|
350 |
|
351 |
|
352 | React.useEffect(function () {
|
353 | if (!buttonRef.current) {
|
354 | return;
|
355 | }
|
356 |
|
357 | setButtonWidth(buttonRef.current.clientWidth);
|
358 | }, [buttonRef, vw]);
|
359 | var selectedIndex = React.useMemo(function () {
|
360 | if (selected !== undefined) {
|
361 | return selected;
|
362 | }
|
363 |
|
364 | if (active !== undefined) {
|
365 | return active;
|
366 | }
|
367 |
|
368 | return -1;
|
369 | }, [active, selected]);
|
370 |
|
371 | var _useDropDown = useDropDown({
|
372 | buttonRef: buttonRef,
|
373 | displayedLabel: placeholder || label,
|
374 | items: items,
|
375 | onChange: onChange,
|
376 | selected: selected
|
377 | }),
|
378 | handleItemSelect = _useDropDown.handleItemSelect,
|
379 | close = _useDropDown.close,
|
380 | toggle = _useDropDown.toggle,
|
381 | opened = _useDropDown.opened,
|
382 | selectedLabel = _useDropDown.selectedLabel;
|
383 |
|
384 | var closedWithChanges = !opened && selectedIndex !== -1;
|
385 | var Label = renderLabel;
|
386 | return React__default.createElement(index$1.i, {
|
387 | name: "DropDown"
|
388 | }, React__default.createElement(_StyledButtonBase, _extends$1._extends({
|
389 | ref: refCallback,
|
390 | disabled: disabled,
|
391 | onClick: toggle,
|
392 | focusRingRadius: constants.RADIUS,
|
393 | focusRingSpacing: 1
|
394 | }, props, {
|
395 | _css: wide ? 'flex' : 'inline-flex',
|
396 | _css2: 5 * constants.GU,
|
397 | _css3: 2 * constants.GU,
|
398 | _css4: 1.5 * constants.GU,
|
399 | _css5: width || (wide ? '100%' : 'auto'),
|
400 | _css6: wide ? 'auto' : "".concat(placeholderMinWidth, "px"),
|
401 | _css7: disabled ? theme.disabled : theme.surface,
|
402 | _css8: disabled ? theme.disabledContent : theme.surfaceContent,
|
403 | _css9: disabled ? 0 : 1,
|
404 | _css10: closedWithChanges ? theme.selected : theme.border,
|
405 | _css11: textStyles.textStyle('body2'),
|
406 | _css12: disabled ? 'font-weight: 600;' : "\n &:active {\n background: ".concat(theme.surfacePressed, ";\n }\n ")
|
407 | }), React__default.createElement(_StyledDiv, null, React__default.createElement(Label, {
|
408 | selectedIndex: selectedIndex,
|
409 | selectedLabel: selectedLabel
|
410 | })), React__default.createElement(_StyledIconDown, {
|
411 | size: "tiny",
|
412 | _css13: 1.5 * constants.GU,
|
413 | _css14: disabled ? theme.disabledIcon : closedWithChanges ? theme.accent : theme.surfaceIcon
|
414 | })), measureWidth && React__default.createElement(_StyledDiv2, null, React__default.createElement(PopoverContent, {
|
415 | refCallback: popoverRefCallback,
|
416 | buttonWidth: buttonWidth,
|
417 | header: header,
|
418 | items: items
|
419 | })), React__default.createElement(Popover.default, {
|
420 | onClose: close,
|
421 | opener: buttonRef.current,
|
422 | visible: opened
|
423 | }, React__default.createElement(PopoverContent, {
|
424 | buttonWidth: buttonWidth,
|
425 | header: header,
|
426 | items: items,
|
427 | handleItemSelect: handleItemSelect,
|
428 | selectedIndex: selectedIndex
|
429 | })));
|
430 | });
|
431 | DropDown.propTypes = {
|
432 | disabled: index.PropTypes.bool,
|
433 | header: index.PropTypes.node,
|
434 | items: index.PropTypes.arrayOf(index.PropTypes.node).isRequired,
|
435 | onChange: index.PropTypes.func.isRequired,
|
436 | placeholder: index.PropTypes.node,
|
437 | renderLabel: index.PropTypes.func,
|
438 | selected: index.PropTypes.number,
|
439 | wide: index.PropTypes.bool,
|
440 | width: index.PropTypes.string,
|
441 |
|
442 | active: index.PropTypes.number,
|
443 | label: index.PropTypes.string
|
444 | };
|
445 | DropDown.defaultProps = {
|
446 | placeholder: 'Select an item',
|
447 | renderLabel: function renderLabel(_ref3) {
|
448 | var selectedLabel = _ref3.selectedLabel;
|
449 | return selectedLabel;
|
450 | },
|
451 | wide: false
|
452 | };
|
453 |
|
454 | var _StyledDiv3 = _styled__default("div").withConfig({
|
455 | displayName: "DropDown___StyledDiv3",
|
456 | componentId: "sc-17zpefi-4"
|
457 | })(["min-width:", "px;color:", ";"], function (p) {
|
458 | return p._css15;
|
459 | }, function (p) {
|
460 | return p._css16;
|
461 | });
|
462 |
|
463 | var _StyledDiv4 = _styled__default("div").withConfig({
|
464 | displayName: "DropDown___StyledDiv4",
|
465 | componentId: "sc-17zpefi-5"
|
466 | })(["padding:", "px ", "px ", "px;", ";", ";"], function (p) {
|
467 | return p._css17;
|
468 | }, function (p) {
|
469 | return p._css18;
|
470 | }, function (p) {
|
471 | return p._css19;
|
472 | }, function (p) {
|
473 | return p._css20;
|
474 | }, css.unselectable);
|
475 |
|
476 | var _StyledUl = _styled__default("ul").withConfig({
|
477 | displayName: "DropDown___StyledUl",
|
478 | componentId: "sc-17zpefi-6"
|
479 | })(["margin:0;padding:0;list-style:none;width:100%;"]);
|
480 |
|
481 | var PopoverContent = React__default.memo(function PopoverContent(_ref4) {
|
482 | var refCallback = _ref4.refCallback,
|
483 | buttonWidth = _ref4.buttonWidth,
|
484 | header = _ref4.header,
|
485 | items = _ref4.items,
|
486 | handleItemSelect = _ref4.handleItemSelect,
|
487 | selectedIndex = _ref4.selectedIndex;
|
488 | var theme = Theme.useTheme();
|
489 | return React__default.createElement(_StyledDiv3, {
|
490 | _css15: buttonWidth,
|
491 | _css16: theme.surfaceContentSecondary
|
492 | }, header && React__default.createElement(_StyledDiv4, {
|
493 | _css17: 1.5 * constants.GU,
|
494 | _css18: 2 * constants.GU,
|
495 | _css19: 1.25 * constants.GU,
|
496 | _css20: textStyles.textStyle('label2')
|
497 | }, header), React__default.createElement(_StyledUl, {
|
498 | ref: refCallback
|
499 | }, React__default.createElement(index$1.i, {
|
500 | name: "DropDown:menu"
|
501 | }, items.map(function (item, index) {
|
502 | return React__default.createElement(Item, {
|
503 | key: index,
|
504 | index: index,
|
505 | onSelect: handleItemSelect,
|
506 | theme: theme,
|
507 | item: item,
|
508 | header: header,
|
509 | length: items.length,
|
510 | selected: selectedIndex
|
511 | });
|
512 | }))));
|
513 | });
|
514 | PopoverContent.propTypes = {
|
515 | refCallback: index.PropTypes.func.isRequired,
|
516 | buttonWidth: index.PropTypes.number.isRequired,
|
517 | header: index.PropTypes.node,
|
518 | items: index.PropTypes.array.isRequired,
|
519 | handleItemSelect: index.PropTypes.func.isRequired,
|
520 | selectedIndex: index.PropTypes.number.isRequired
|
521 | };
|
522 | PopoverContent.defaultProps = {
|
523 | refCallback: function refCallback() {
|
524 | return null;
|
525 | },
|
526 | handleItemSelect: function handleItemSelect() {
|
527 | return null;
|
528 | },
|
529 | selectedIndex: -1
|
530 | };
|
531 |
|
532 | var _StyledButtonBase2 = _styled__default(ButtonBase.default).withConfig({
|
533 | displayName: "DropDown___StyledButtonBase2",
|
534 | componentId: "sc-17zpefi-7"
|
535 | })(["width:100%;text-align:left;padding:", "px ", "px;border-radius:0;color:", ";", ";", " ", " ", " &:active{background:", ";}"], function (p) {
|
536 | return p._css21;
|
537 | }, function (p) {
|
538 | return p._css22;
|
539 | }, function (p) {
|
540 | return p._css23;
|
541 | }, function (p) {
|
542 | return p._css24;
|
543 | }, function (p) {
|
544 | return p._css25;
|
545 | }, function (p) {
|
546 | return p._css26;
|
547 | }, function (p) {
|
548 | return p._css27;
|
549 | }, function (p) {
|
550 | return p._css28;
|
551 | });
|
552 |
|
553 | var Item = React__default.memo(function Item(_ref5) {
|
554 | var header = _ref5.header,
|
555 | index = _ref5.index,
|
556 | item = _ref5.item,
|
557 | length = _ref5.length,
|
558 | onSelect = _ref5.onSelect,
|
559 | selected = _ref5.selected,
|
560 | theme = _ref5.theme;
|
561 | var handleClick = React.useCallback(function () {
|
562 | onSelect(index);
|
563 | }, [index, onSelect]);
|
564 | return React__default.createElement("li", null, React__default.createElement(_StyledButtonBase2, {
|
565 | onClick: handleClick,
|
566 | _css21: 1.25 * constants.GU,
|
567 | _css22: 2 * constants.GU,
|
568 | _css23: theme.content,
|
569 | _css24: textStyles.textStyle('body2'),
|
570 | _css25: !header && index === 0 ? "border-top-left-radius: ".concat(constants.RADIUS, "px;") : '',
|
571 | _css26: index === length - 1 ? "border-bottom-left-radius: ".concat(constants.RADIUS, "px;") : '',
|
572 | _css27: selected === index ? "\n border-left: 2px solid ".concat(theme.accent, ";\n background: ").concat(theme.surfaceSelected, ";\n ") : '',
|
573 | _css28: theme.surfacePressed
|
574 | }, item));
|
575 | });
|
576 | Item.propTypes = {
|
577 | header: index.PropTypes.node,
|
578 | index: index.PropTypes.number.isRequired,
|
579 | item: index.PropTypes.node.isRequired,
|
580 | length: index.PropTypes.number.isRequired,
|
581 | onSelect: index.PropTypes.func.isRequired,
|
582 | selected: index.PropTypes.number.isRequired,
|
583 | theme: index.PropTypes.object.isRequired
|
584 | };
|
585 |
|
586 | exports.default = DropDown;
|
587 |
|