@zendeskgarden/react-dropdowns 8.46.0 → 8.48.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js CHANGED
@@ -6,15 +6,15 @@
6
6
  */
7
7
 
8
8
  import * as React from 'react';
9
- import React__default, { useContext, useRef, useState, Children, useEffect, useCallback, useMemo } from 'react';
9
+ import React__default, { useContext, useRef, useState, Children, useEffect, useCallback, forwardRef, useMemo } from 'react';
10
10
  import PropTypes from 'prop-types';
11
+ import styled, { ThemeContext, css } from 'styled-components';
11
12
  import Downshift from 'downshift';
12
13
  export { resetIdCounter } from 'downshift';
13
14
  import { Manager, Reference, Popper } from 'react-popper';
14
- import { withTheme, isRtl, arrowStyles, retrieveComponentStyles, DEFAULT_THEME, menuStyles, getColor, getLineHeight } from '@zendeskgarden/react-theming';
15
15
  import { composeEventHandlers, KEY_CODES } from '@zendeskgarden/container-utilities';
16
- import styled, { css } from 'styled-components';
17
- import { math } from 'polished';
16
+ import { arrowStyles, retrieveComponentStyles, DEFAULT_THEME, menuStyles, getColor, getLineHeight } from '@zendeskgarden/react-theming';
17
+ import { rgba, math } from 'polished';
18
18
  import { FauxInput, Input, MediaInput, Field as Field$1, Hint as Hint$1, Label as Label$1, Message as Message$1 } from '@zendeskgarden/react-forms';
19
19
  import mergeRefs from 'react-merge-refs';
20
20
  import { useSelection } from '@zendeskgarden/container-selection';
@@ -24,14 +24,9 @@ function ownKeys(object, enumerableOnly) {
24
24
 
25
25
  if (Object.getOwnPropertySymbols) {
26
26
  var symbols = Object.getOwnPropertySymbols(object);
27
-
28
- if (enumerableOnly) {
29
- symbols = symbols.filter(function (sym) {
30
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
31
- });
32
- }
33
-
34
- keys.push.apply(keys, symbols);
27
+ enumerableOnly && (symbols = symbols.filter(function (sym) {
28
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
29
+ })), keys.push.apply(keys, symbols);
35
30
  }
36
31
 
37
32
  return keys;
@@ -39,19 +34,12 @@ function ownKeys(object, enumerableOnly) {
39
34
 
40
35
  function _objectSpread2(target) {
41
36
  for (var i = 1; i < arguments.length; i++) {
42
- var source = arguments[i] != null ? arguments[i] : {};
43
-
44
- if (i % 2) {
45
- ownKeys(Object(source), true).forEach(function (key) {
46
- _defineProperty(target, key, source[key]);
47
- });
48
- } else if (Object.getOwnPropertyDescriptors) {
49
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
50
- } else {
51
- ownKeys(Object(source)).forEach(function (key) {
52
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
53
- });
54
- }
37
+ var source = null != arguments[i] ? arguments[i] : {};
38
+ i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
39
+ _defineProperty(target, key, source[key]);
40
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
41
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
42
+ });
55
43
  }
56
44
 
57
45
  return target;
@@ -218,6 +206,7 @@ var Dropdown = function Dropdown(props) {
218
206
  _useState2 = _slicedToArray(_useState, 2),
219
207
  dropdownType = _useState2[0],
220
208
  setDropdownType = _useState2[1];
209
+ var themeContext = useContext(ThemeContext);
221
210
  var hasMenuRef = useRef(false);
222
211
  var popperReferenceElementRef = useRef(null);
223
212
  var customGetInputProps = function customGetInputProps(_ref, downshift, rtl) {
@@ -255,7 +244,7 @@ var Dropdown = function Dropdown(props) {
255
244
  downshift = _objectWithoutProperties(_ref2, _excluded2$6);
256
245
  return _objectSpread2({
257
246
  getInputProps: function getInputProps(p) {
258
- return _getInputProps(customGetInputProps(p, downshift, isRtl(props)));
247
+ return _getInputProps(customGetInputProps(p, downshift, themeContext.rtl));
259
248
  },
260
249
  getToggleButtonProps: function getToggleButtonProps(p) {
261
250
  return _getToggleButtonProps(_objectSpread2({
@@ -352,7 +341,6 @@ Dropdown.propTypes = {
352
341
  onStateChange: PropTypes.func,
353
342
  downshiftProps: PropTypes.object
354
343
  };
355
- var Dropdown$1 = withTheme(Dropdown);
356
344
 
357
345
  function getPopperPlacement(gardenPlacement) {
358
346
  switch (gardenPlacement) {
@@ -428,7 +416,7 @@ var COMPONENT_ID$m = 'dropdowns.menu';
428
416
  var StyledMenu = styled.ul.attrs(function (props) {
429
417
  return {
430
418
  'data-garden-id': COMPONENT_ID$m,
431
- 'data-garden-version': '8.46.0',
419
+ 'data-garden-version': '8.48.0',
432
420
  className: props.isAnimated && 'is-animated'
433
421
  };
434
422
  }).withConfig({
@@ -453,7 +441,7 @@ var COMPONENT_ID$l = 'dropdowns.menu_wrapper';
453
441
  var StyledMenuWrapper = styled.div.attrs(function (props) {
454
442
  return {
455
443
  'data-garden-id': COMPONENT_ID$l,
456
- 'data-garden-version': '8.46.0',
444
+ 'data-garden-version': '8.48.0',
457
445
  className: props.isAnimated && 'is-animated'
458
446
  };
459
447
  }).withConfig({
@@ -477,7 +465,7 @@ StyledMenuWrapper.defaultProps = {
477
465
  var COMPONENT_ID$k = 'dropdowns.separator';
478
466
  var StyledSeparator = styled.li.attrs({
479
467
  'data-garden-id': COMPONENT_ID$k,
480
- 'data-garden-version': '8.46.0',
468
+ 'data-garden-version': '8.48.0',
481
469
  role: 'separator'
482
470
  }).withConfig({
483
471
  displayName: "StyledSeparator",
@@ -501,18 +489,29 @@ var getItemPaddingVertical = function getItemPaddingVertical(props) {
501
489
  return "".concat(props.theme.space.base * 2, "px");
502
490
  };
503
491
  var getColorStyles = function getColorStyles(props) {
504
- return css(["background-color:", ";color:", ";& a,& a:hover,& a:focus,& a:active{color:inherit;}"], props.isFocused && !props.disabled && getColor('primaryHue', 600, props.theme, 0.08), props.disabled ? getColor('neutralHue', 400, props.theme) : props.theme.colors.foreground);
492
+ var foregroundColor;
493
+ var backgroundColor;
494
+ if (props.disabled) {
495
+ foregroundColor = getColor('neutralHue', 400, props.theme);
496
+ } else if (props.isDanger) {
497
+ foregroundColor = getColor('dangerHue', 600, props.theme);
498
+ backgroundColor = props.isFocused ? rgba(foregroundColor, 0.08) : 'inherit';
499
+ } else {
500
+ foregroundColor = props.theme.colors.foreground;
501
+ backgroundColor = props.isFocused ? getColor('primaryHue', 600, props.theme, 0.08) : 'inherit';
502
+ }
503
+ return css(["background-color:", ";color:", ";& a,& a:hover,& a:focus,& a:active{color:inherit;}"], backgroundColor, foregroundColor);
505
504
  };
506
505
  var StyledItem = styled.li.attrs(function (props) {
507
506
  return {
508
507
  'data-garden-id': COMPONENT_ID$j,
509
- 'data-garden-version': '8.46.0',
508
+ 'data-garden-version': '8.48.0',
510
509
  'aria-disabled': props.disabled
511
510
  };
512
511
  }).withConfig({
513
512
  displayName: "StyledItem",
514
513
  componentId: "sc-1xeog7q-0"
515
- })(["display:block;position:relative;z-index:0;cursor:", ";padding:", " ", "px;text-decoration:none;line-height:", "px;word-wrap:break-word;user-select:none;&:first-child{margin-top:", "px;}&:last-child{margin-bottom:", "px;}&:focus{outline:none;}& a,& a:hover,& a:focus,& a:active{text-decoration:none;}", " ", ";"], function (props) {
514
+ })(["display:block;position:relative;z-index:0;cursor:", ";padding:", " ", "px;text-decoration:none;line-height:", "px;word-wrap:break-word;user-select:none;&:first-child{margin-top:", "px;}&:last-child{margin-bottom:", "px;}&:focus{outline:none;}& a,& a:hover,& a:focus,& a:active{text-decoration:none;}", ";", ";"], function (props) {
516
515
  return props.disabled ? 'default' : 'pointer';
517
516
  }, function (props) {
518
517
  return getItemPaddingVertical(props);
@@ -536,7 +535,7 @@ StyledItem.defaultProps = {
536
535
  var COMPONENT_ID$i = 'dropdowns.add_item';
537
536
  var StyledAddItem = styled(StyledItem).attrs({
538
537
  'data-garden-id': COMPONENT_ID$i,
539
- 'data-garden-version': '8.46.0'
538
+ 'data-garden-version': '8.48.0'
540
539
  }).withConfig({
541
540
  displayName: "StyledAddItem",
542
541
  componentId: "sc-ekqk50-0"
@@ -552,7 +551,7 @@ StyledAddItem.defaultProps = {
552
551
  var COMPONENT_ID$h = 'dropdowns.item_meta';
553
552
  var StyledItemMeta = styled.span.attrs({
554
553
  'data-garden-id': COMPONENT_ID$h,
555
- 'data-garden-version': '8.46.0'
554
+ 'data-garden-version': '8.48.0'
556
555
  }).withConfig({
557
556
  displayName: "StyledItemMeta",
558
557
  componentId: "sc-k6xy28-0"
@@ -575,7 +574,7 @@ var getSizeStyles = function getSizeStyles(props) {
575
574
  };
576
575
  var StyledItemIcon = styled.div.attrs({
577
576
  'data-garden-id': COMPONENT_ID$g,
578
- 'data-garden-version': '8.46.0'
577
+ 'data-garden-version': '8.48.0'
579
578
  }).withConfig({
580
579
  displayName: "StyledItemIcon",
581
580
  componentId: "sc-1v0ty11-0"
@@ -601,7 +600,7 @@ StyledItemIcon.defaultProps = {
601
600
  var COMPONENT_ID$f = 'dropdowns.next_item';
602
601
  var StyledNextItem = styled(StyledItem).attrs({
603
602
  'data-garden-id': COMPONENT_ID$f,
604
- 'data-garden-version': '8.46.0'
603
+ 'data-garden-version': '8.48.0'
605
604
  }).withConfig({
606
605
  displayName: "StyledNextItem",
607
606
  componentId: "sc-1bcygn5-0"
@@ -616,30 +615,30 @@ StyledNextItem.defaultProps = {
616
615
  theme: DEFAULT_THEME
617
616
  };
618
617
 
619
- function _extends$4() { _extends$4 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$4.apply(this, arguments); }
618
+ var _path$4;
620
619
 
621
- var _ref$4 = /*#__PURE__*/React.createElement("path", {
622
- fill: "currentColor",
623
- d: "M5.61 3.312a.5.5 0 01.718-.69l.062.066 4 5a.5.5 0 01.054.542l-.054.082-4 5a.5.5 0 01-.83-.55l.05-.074L9.359 8l-3.75-4.688z"
624
- });
620
+ function _extends$4() { _extends$4 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$4.apply(this, arguments); }
625
621
 
626
- function SvgChevronRightStroke(props) {
622
+ var SvgChevronRightStroke = function SvgChevronRightStroke(props) {
627
623
  return /*#__PURE__*/React.createElement("svg", _extends$4({
628
624
  xmlns: "http://www.w3.org/2000/svg",
629
625
  width: 16,
630
626
  height: 16,
631
- viewBox: "0 0 16 16",
632
627
  focusable: "false",
633
- role: "presentation"
634
- }, props), _ref$4);
635
- }
628
+ viewBox: "0 0 16 16",
629
+ "aria-hidden": "true"
630
+ }, props), _path$4 || (_path$4 = /*#__PURE__*/React.createElement("path", {
631
+ fill: "currentColor",
632
+ d: "M5.61 3.312a.5.5 0 01.718-.69l.062.066 4 5a.5.5 0 01.054.542l-.054.082-4 5a.5.5 0 01-.83-.55l.05-.074L9.359 8l-3.75-4.688z"
633
+ })));
634
+ };
636
635
 
637
636
  var COMPONENT_ID$e = 'dropdowns.next_item_icon';
638
637
  var NextIconComponent = function NextIconComponent(_ref) {
639
638
  var className = _ref.className;
640
639
  return React__default.createElement(SvgChevronRightStroke, {
641
640
  "data-garden-id": COMPONENT_ID$e,
642
- "data-garden-version": '8.46.0',
641
+ "data-garden-version": '8.48.0',
643
642
  className: className
644
643
  });
645
644
  };
@@ -660,7 +659,7 @@ StyledNextIcon.defaultProps = {
660
659
  var COMPONENT_ID$d = 'dropdowns.previous_item';
661
660
  var StyledPreviousItem = styled(StyledItem).attrs({
662
661
  'data-garden-id': COMPONENT_ID$d,
663
- 'data-garden-version': '8.46.0'
662
+ 'data-garden-version': '8.48.0'
664
663
  }).withConfig({
665
664
  displayName: "StyledPreviousItem",
666
665
  componentId: "sc-1nmdds9-0"
@@ -673,30 +672,30 @@ StyledPreviousItem.defaultProps = {
673
672
  theme: DEFAULT_THEME
674
673
  };
675
674
 
676
- function _extends$3() { _extends$3 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$3.apply(this, arguments); }
675
+ var _path$3;
677
676
 
678
- var _ref$3 = /*#__PURE__*/React.createElement("path", {
679
- fill: "currentColor",
680
- d: "M10.39 12.688a.5.5 0 01-.718.69l-.062-.066-4-5a.5.5 0 01-.054-.542l.054-.082 4-5a.5.5 0 01.83.55l-.05.074L6.641 8l3.75 4.688z"
681
- });
677
+ function _extends$3() { _extends$3 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$3.apply(this, arguments); }
682
678
 
683
- function SvgChevronLeftStroke(props) {
679
+ var SvgChevronLeftStroke = function SvgChevronLeftStroke(props) {
684
680
  return /*#__PURE__*/React.createElement("svg", _extends$3({
685
681
  xmlns: "http://www.w3.org/2000/svg",
686
682
  width: 16,
687
683
  height: 16,
688
- viewBox: "0 0 16 16",
689
684
  focusable: "false",
690
- role: "presentation"
691
- }, props), _ref$3);
692
- }
685
+ viewBox: "0 0 16 16",
686
+ "aria-hidden": "true"
687
+ }, props), _path$3 || (_path$3 = /*#__PURE__*/React.createElement("path", {
688
+ fill: "currentColor",
689
+ d: "M10.39 12.688a.5.5 0 01-.718.69l-.062-.066-4-5a.5.5 0 01-.054-.542l.054-.082 4-5a.5.5 0 01.83.55l-.05.074L6.641 8l3.75 4.688z"
690
+ })));
691
+ };
693
692
 
694
693
  var COMPONENT_ID$c = 'dropdowns.previous_item_icon';
695
694
  var PreviousIconComponent = function PreviousIconComponent(_ref) {
696
695
  var className = _ref.className;
697
696
  return React__default.createElement(SvgChevronLeftStroke, {
698
697
  "data-garden-id": COMPONENT_ID$c,
699
- "data-garden-version": '8.46.0',
698
+ "data-garden-version": '8.48.0',
700
699
  className: className
701
700
  });
702
701
  };
@@ -717,7 +716,7 @@ StyledPreviousIcon.defaultProps = {
717
716
  var COMPONENT_ID$b = 'dropdowns.header_icon';
718
717
  var StyledHeaderIcon = styled.div.attrs({
719
718
  'data-garden-id': COMPONENT_ID$b,
720
- 'data-garden-version': '8.46.0'
719
+ 'data-garden-version': '8.48.0'
721
720
  }).withConfig({
722
721
  displayName: "StyledHeaderIcon",
723
722
  componentId: "sc-1fl6nsz-0"
@@ -747,7 +746,7 @@ var getHorizontalPadding = function getHorizontalPadding(props) {
747
746
  };
748
747
  var StyledHeaderItem = styled(StyledItem).attrs({
749
748
  'data-garden-id': COMPONENT_ID$a,
750
- 'data-garden-version': '8.46.0'
749
+ 'data-garden-version': '8.48.0'
751
750
  }).withConfig({
752
751
  displayName: "StyledHeaderItem",
753
752
  componentId: "sc-137filx-0"
@@ -767,7 +766,7 @@ StyledHeaderItem.defaultProps = {
767
766
  var COMPONENT_ID$9 = 'dropdowns.media_body';
768
767
  var StyledMediaBody = styled.div.attrs({
769
768
  'data-garden-id': COMPONENT_ID$9,
770
- 'data-garden-version': '8.46.0'
769
+ 'data-garden-version': '8.48.0'
771
770
  }).withConfig({
772
771
  displayName: "StyledMediaBody",
773
772
  componentId: "sc-36j7ef-0"
@@ -795,7 +794,7 @@ function (_ref) {
795
794
  );
796
795
  }).attrs({
797
796
  'data-garden-id': COMPONENT_ID$8,
798
- 'data-garden-version': '8.46.0'
797
+ 'data-garden-version': '8.48.0'
799
798
  }).withConfig({
800
799
  displayName: "StyledMediaFigure",
801
800
  componentId: "sc-2f2x8x-0"
@@ -817,7 +816,7 @@ StyledMediaFigure.defaultProps = {
817
816
  var COMPONENT_ID$7 = 'dropdowns.media_item';
818
817
  var StyledMediaItem = styled(StyledItem).attrs({
819
818
  'data-garden-id': COMPONENT_ID$7,
820
- 'data-garden-version': '8.46.0'
819
+ 'data-garden-version': '8.48.0'
821
820
  }).withConfig({
822
821
  displayName: "StyledMediaItem",
823
822
  componentId: "sc-ikwshz-0"
@@ -832,7 +831,7 @@ var COMPONENT_ID$6 = 'dropdowns.faux_input';
832
831
  var StyledFauxInput = styled(FauxInput).attrs(function (props) {
833
832
  return {
834
833
  'data-garden-id': COMPONENT_ID$6,
835
- 'data-garden-version': '8.46.0',
834
+ 'data-garden-version': '8.48.0',
836
835
  mediaLayout: true,
837
836
  theme: props.theme
838
837
  };
@@ -854,7 +853,7 @@ var COMPONENT_ID$5 = 'dropdowns.input';
854
853
  var hiddenStyling = css(["position:fixed;border:0;clip:rect(1px,1px,1px,1px);padding:0;width:1px;height:1px;overflow:hidden;white-space:nowrap;"]);
855
854
  var StyledInput = styled(Input).attrs({
856
855
  'data-garden-id': COMPONENT_ID$5,
857
- 'data-garden-version': '8.46.0',
856
+ 'data-garden-version': '8.48.0',
858
857
  isBare: true
859
858
  }).withConfig({
860
859
  displayName: "StyledInput",
@@ -871,7 +870,7 @@ StyledInput.defaultProps = {
871
870
  var COMPONENT_ID$4 = 'dropdowns.select';
872
871
  var StyledSelect = styled.div.attrs({
873
872
  'data-garden-id': COMPONENT_ID$4,
874
- 'data-garden-version': '8.46.0'
873
+ 'data-garden-version': '8.48.0'
875
874
  }).withConfig({
876
875
  displayName: "StyledSelect",
877
876
  componentId: "sc-xifmwj-0"
@@ -894,7 +893,7 @@ var visibleStyling = function visibleStyling(props) {
894
893
  };
895
894
  var StyledMultiselectInput = styled(StyledInput).attrs({
896
895
  'data-garden-id': COMPONENT_ID$3,
897
- 'data-garden-version': '8.46.0'
896
+ 'data-garden-version': '8.48.0'
898
897
  }).withConfig({
899
898
  displayName: "StyledMultiselectInput",
900
899
  componentId: "sc-1avnf6f-0"
@@ -924,7 +923,7 @@ var sizeStyles = function sizeStyles(props) {
924
923
  };
925
924
  var StyledMultiselectItemsContainer = styled.div.attrs({
926
925
  'data-garden-id': COMPONENT_ID$2,
927
- 'data-garden-version': '8.46.0'
926
+ 'data-garden-version': '8.48.0'
928
927
  }).withConfig({
929
928
  displayName: "StyledMultiselectItemsContainer",
930
929
  componentId: "sc-1jzhet8-0"
@@ -940,7 +939,7 @@ StyledMultiselectItemsContainer.defaultProps = {
940
939
  var COMPONENT_ID$1 = 'dropdowns.multiselect_item_wrapper';
941
940
  var StyledMultiselectItemWrapper = styled.div.attrs({
942
941
  'data-garden-id': COMPONENT_ID$1,
943
- 'data-garden-version': '8.46.0'
942
+ 'data-garden-version': '8.48.0'
944
943
  }).withConfig({
945
944
  displayName: "StyledMultiselectItemWrapper",
946
945
  componentId: "sc-1rb2bye-0"
@@ -956,7 +955,7 @@ StyledMultiselectItemWrapper.defaultProps = {
956
955
  var COMPONENT_ID = 'dropdowns.multiselect_more_anchor';
957
956
  var StyledMultiselectMoreAnchor = styled.div.attrs({
958
957
  'data-garden-id': COMPONENT_ID,
959
- 'data-garden-version': '8.46.0'
958
+ 'data-garden-version': '8.48.0'
960
959
  }).withConfig({
961
960
  displayName: "StyledMultiselectMoreAnchor",
962
961
  componentId: "sc-1m9v46e-0"
@@ -1117,23 +1116,23 @@ Trigger.defaultProps = {
1117
1116
  refKey: 'ref'
1118
1117
  };
1119
1118
 
1120
- function _extends$2() { _extends$2 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$2.apply(this, arguments); }
1119
+ var _path$2;
1121
1120
 
1122
- var _ref$2 = /*#__PURE__*/React.createElement("path", {
1123
- fill: "currentColor",
1124
- d: "M12.688 5.61a.5.5 0 01.69.718l-.066.062-5 4a.5.5 0 01-.542.054l-.082-.054-5-4a.5.5 0 01.55-.83l.074.05L8 9.359l4.688-3.75z"
1125
- });
1121
+ function _extends$2() { _extends$2 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$2.apply(this, arguments); }
1126
1122
 
1127
- function SvgChevronDownStroke(props) {
1123
+ var SvgChevronDownStroke = function SvgChevronDownStroke(props) {
1128
1124
  return /*#__PURE__*/React.createElement("svg", _extends$2({
1129
1125
  xmlns: "http://www.w3.org/2000/svg",
1130
1126
  width: 16,
1131
1127
  height: 16,
1132
- viewBox: "0 0 16 16",
1133
1128
  focusable: "false",
1134
- role: "presentation"
1135
- }, props), _ref$2);
1136
- }
1129
+ viewBox: "0 0 16 16",
1130
+ "aria-hidden": "true"
1131
+ }, props), _path$2 || (_path$2 = /*#__PURE__*/React.createElement("path", {
1132
+ fill: "currentColor",
1133
+ d: "M12.688 5.61a.5.5 0 01.69.718l-.066.062-5 4a.5.5 0 01-.542.054l-.082-.054-5-4a.5.5 0 01.55-.83l.074.05L8 9.359l4.688-3.75z"
1134
+ })));
1135
+ };
1137
1136
 
1138
1137
  var FieldContext = React__default.createContext(undefined);
1139
1138
  var useFieldContext = function useFieldContext() {
@@ -1146,7 +1145,7 @@ var useFieldContext = function useFieldContext() {
1146
1145
 
1147
1146
  var _excluded$9 = ["children", "inputRef", "start"],
1148
1147
  _excluded2$4 = ["type"];
1149
- var Autocomplete = React__default.forwardRef(function (_ref, _ref3) {
1148
+ var Autocomplete = forwardRef(function (_ref, _ref3) {
1150
1149
  var children = _ref.children,
1151
1150
  controlledInputRef = _ref.inputRef,
1152
1151
  start = _ref.start,
@@ -1249,7 +1248,7 @@ Autocomplete.propTypes = {
1249
1248
  };
1250
1249
 
1251
1250
  var _excluded$8 = ["isCompact", "isBare", "disabled", "focusInset", "placeholder", "validation", "inputRef", "start", "end"];
1252
- var Combobox = React__default.forwardRef(function (_ref, ref) {
1251
+ var Combobox = forwardRef(function (_ref, ref) {
1253
1252
  var isCompact = _ref.isCompact,
1254
1253
  isBare = _ref.isBare,
1255
1254
  disabled = _ref.disabled,
@@ -1331,7 +1330,7 @@ Combobox.propTypes = {
1331
1330
  validation: PropTypes.oneOf(['success', 'warning', 'error'])
1332
1331
  };
1333
1332
 
1334
- var _excluded$7 = ["renderItem", "placeholder", "maxItems", "renderShowMore", "inputRef", "start"],
1333
+ var _excluded$7 = ["renderItem", "placeholder", "maxItems", "renderShowMore", "inputRef", "start", "onKeyDown"],
1335
1334
  _excluded2$3 = ["type"];
1336
1335
  var Multiselect = React__default.forwardRef(function (_ref, _ref3) {
1337
1336
  var renderItem = _ref.renderItem,
@@ -1341,6 +1340,7 @@ var Multiselect = React__default.forwardRef(function (_ref, _ref3) {
1341
1340
  _ref$inputRef = _ref.inputRef,
1342
1341
  externalInputRef = _ref$inputRef === void 0 ? null : _ref$inputRef,
1343
1342
  start = _ref.start,
1343
+ onKeyDown = _ref.onKeyDown,
1344
1344
  props = _objectWithoutProperties(_ref, _excluded$7);
1345
1345
  var _useDropdownContext = useDropdownContext(),
1346
1346
  popperReferenceElementRef = _useDropdownContext.popperReferenceElementRef,
@@ -1377,8 +1377,9 @@ var Multiselect = React__default.forwardRef(function (_ref, _ref3) {
1377
1377
  _useState6 = _slicedToArray(_useState5, 2),
1378
1378
  focusedItem = _useState6[0],
1379
1379
  setFocusedItem = _useState6[1];
1380
+ var themeContext = useContext(ThemeContext);
1380
1381
  var _useSelection = useSelection({
1381
- rtl: isRtl(props),
1382
+ rtl: themeContext.rtl,
1382
1383
  focusedItem: focusedItem,
1383
1384
  selectedItem: undefined,
1384
1385
  onFocus: function onFocus(item) {
@@ -1412,14 +1413,14 @@ var Multiselect = React__default.forwardRef(function (_ref, _ref3) {
1412
1413
  }, [focusedItem, isOpen, closeMenu]);
1413
1414
  var _getToggleButtonProps = getToggleButtonProps(getRootProps(_objectSpread2({
1414
1415
  tabIndex: props.disabled ? undefined : -1,
1415
- onKeyDown: function onKeyDown(e) {
1416
+ onKeyDown: composeEventHandlers(onKeyDown, function (e) {
1416
1417
  if (isOpen) {
1417
1418
  e.nativeEvent.preventDownshiftDefault = true;
1418
1419
  } else if (!inputValue && e.keyCode === KEY_CODES.HOME) {
1419
1420
  setFocusedItem(selectedItems[0]);
1420
1421
  e.preventDefault();
1421
1422
  }
1422
- },
1423
+ }),
1423
1424
  onFocus: function onFocus() {
1424
1425
  setIsFocused(true);
1425
1426
  },
@@ -1466,7 +1467,7 @@ var Multiselect = React__default.forwardRef(function (_ref, _ref3) {
1466
1467
  inputRef.current && inputRef.current.focus();
1467
1468
  e.preventDefault();
1468
1469
  }
1469
- if (isRtl(props)) {
1470
+ if (themeContext.rtl) {
1470
1471
  if (e.keyCode === KEY_CODES.RIGHT && index === 0) {
1471
1472
  e.preventDefault();
1472
1473
  }
@@ -1495,7 +1496,7 @@ var Multiselect = React__default.forwardRef(function (_ref, _ref3) {
1495
1496
  return React__default.createElement(StyledMultiselectItemWrapper, {
1496
1497
  key: key
1497
1498
  }, clonedChild);
1498
- }, [getItemProps, inputValue, renderItem, setDownshiftState, itemToString, selectedItems, props, inputRef]);
1499
+ }, [getItemProps, inputValue, renderItem, setDownshiftState, itemToString, selectedItems, props, inputRef, themeContext.rtl]);
1499
1500
  var items = useMemo(function () {
1500
1501
  var itemValues = selectedItems || [];
1501
1502
  var output = [];
@@ -1564,9 +1565,9 @@ var Multiselect = React__default.forwardRef(function (_ref, _ref3) {
1564
1565
  },
1565
1566
  onKeyDown: function onKeyDown(e) {
1566
1567
  if (!inputValue) {
1567
- if (isRtl(props) && e.keyCode === KEY_CODES.RIGHT && selectedItems.length > 0 && previousIndexRef.current === undefined) {
1568
+ if (themeContext.rtl && e.keyCode === KEY_CODES.RIGHT && selectedItems.length > 0 && previousIndexRef.current === undefined) {
1568
1569
  setFocusedItem(selectedItems[selectedItems.length - 1]);
1569
- } else if (!isRtl(props) && e.keyCode === KEY_CODES.LEFT && selectedItems.length > 0 && previousIndexRef.current === undefined) {
1570
+ } else if (!themeContext.rtl && e.keyCode === KEY_CODES.LEFT && selectedItems.length > 0 && previousIndexRef.current === undefined) {
1570
1571
  setFocusedItem(selectedItems[selectedItems.length - 1]);
1571
1572
  } else if (e.keyCode === KEY_CODES.BACKSPACE && selectedItems.length > 0) {
1572
1573
  setDownshiftState({
@@ -1604,7 +1605,7 @@ Multiselect.propTypes = {
1604
1605
  Multiselect.defaultProps = {
1605
1606
  maxItems: 4
1606
1607
  };
1607
- var Multiselect$1 = withTheme(Multiselect);
1608
+ Multiselect.displayName = 'Multiselect';
1608
1609
 
1609
1610
  var _excluded$6 = ["children", "start"],
1610
1611
  _excluded2$2 = ["type"];
@@ -1769,7 +1770,7 @@ Select.propTypes = {
1769
1770
  validation: PropTypes.oneOf(['success', 'warning', 'error'])
1770
1771
  };
1771
1772
 
1772
- var Field = function Field(props) {
1773
+ var Field = forwardRef(function (props, fieldRef) {
1773
1774
  var _useDropdownContext = useDropdownContext(),
1774
1775
  getRootProps = _useDropdownContext.downshift.getRootProps;
1775
1776
  var _useState = useState(false),
@@ -1787,9 +1788,10 @@ var Field = function Field(props) {
1787
1788
  return React__default.createElement(FieldContext.Provider, {
1788
1789
  value: value
1789
1790
  }, React__default.createElement(Field$1, _extends$5({
1790
- ref: ref
1791
+ ref: mergeRefs([ref, fieldRef])
1791
1792
  }, props)));
1792
- };
1793
+ });
1794
+ Field.displayName = 'Field';
1793
1795
 
1794
1796
  var Hint = React__default.forwardRef(function (props, ref) {
1795
1797
  return React__default.createElement(Hint$1, _extends$5({
@@ -1844,7 +1846,7 @@ var useMenuContext = function useMenuContext() {
1844
1846
  };
1845
1847
 
1846
1848
  var _excluded$4 = ["placement", "popperModifiers", "eventsEnabled", "isAnimated", "maxHeight", "style", "zIndex", "isCompact", "children"];
1847
- var Menu = function Menu(props) {
1849
+ var Menu = forwardRef(function (props, menuRef) {
1848
1850
  var placement = props.placement,
1849
1851
  popperModifiers = props.popperModifiers,
1850
1852
  eventsEnabled = props.eventsEnabled,
@@ -1890,11 +1892,12 @@ var Menu = function Menu(props) {
1890
1892
  return clearTimeout(timeout);
1891
1893
  };
1892
1894
  }, [isOpen, isAnimated]);
1895
+ var themeContext = useContext(ThemeContext);
1893
1896
  itemIndexRef.current = 0;
1894
1897
  nextItemsHashRef.current = {};
1895
1898
  previousIndexRef.current = undefined;
1896
1899
  itemSearchRegistry.current = [];
1897
- var popperPlacement = isRtl(props) ? getRtlPopperPlacement(placement) : getPopperPlacement(placement);
1900
+ var popperPlacement = themeContext.rtl ? getRtlPopperPlacement(placement) : getPopperPlacement(placement);
1898
1901
  return (
1899
1902
  React__default.createElement(MenuContext.Provider, {
1900
1903
  value: {
@@ -1932,13 +1935,15 @@ var Menu = function Menu(props) {
1932
1935
  isAnimated: menuProps.isAnimated,
1933
1936
  zIndex: zIndex
1934
1937
  }, React__default.createElement(StyledMenu, _extends$5({
1938
+ ref: menuRef,
1935
1939
  isCompact: isCompact,
1936
1940
  maxHeight: maxHeight,
1937
1941
  style: computedStyle
1938
1942
  }, menuProps), (isOpen || isVisible) && children));
1939
1943
  }))
1940
1944
  );
1941
- };
1945
+ });
1946
+ Menu.displayName = 'Menu';
1942
1947
  Menu.propTypes = {
1943
1948
  popperModifiers: PropTypes.any,
1944
1949
  eventsEnabled: PropTypes.bool,
@@ -1957,7 +1962,6 @@ Menu.defaultProps = {
1957
1962
  maxHeight: '400px',
1958
1963
  zIndex: 1000
1959
1964
  };
1960
- var Menu$1 = withTheme(Menu);
1961
1965
 
1962
1966
  var Separator = React__default.forwardRef(function (props, ref) {
1963
1967
  return React__default.createElement(StyledSeparator, _extends$5({
@@ -1966,45 +1970,45 @@ var Separator = React__default.forwardRef(function (props, ref) {
1966
1970
  });
1967
1971
  Separator.displayName = 'Separator';
1968
1972
 
1969
- function _extends$1() { _extends$1 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1.apply(this, arguments); }
1973
+ var _path$1;
1970
1974
 
1971
- var _ref$1 = /*#__PURE__*/React.createElement("path", {
1972
- stroke: "currentColor",
1973
- strokeLinecap: "round",
1974
- d: "M7.5 2.5v12m6-6h-12"
1975
- });
1975
+ function _extends$1() { _extends$1 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1.apply(this, arguments); }
1976
1976
 
1977
- function SvgPlusStroke(props) {
1977
+ var SvgPlusStroke = function SvgPlusStroke(props) {
1978
1978
  return /*#__PURE__*/React.createElement("svg", _extends$1({
1979
1979
  xmlns: "http://www.w3.org/2000/svg",
1980
1980
  width: 16,
1981
1981
  height: 16,
1982
- viewBox: "0 0 16 16",
1983
1982
  focusable: "false",
1984
- role: "presentation"
1985
- }, props), _ref$1);
1986
- }
1983
+ viewBox: "0 0 16 16",
1984
+ "aria-hidden": "true"
1985
+ }, props), _path$1 || (_path$1 = /*#__PURE__*/React.createElement("path", {
1986
+ stroke: "currentColor",
1987
+ strokeLinecap: "round",
1988
+ d: "M7.5 2.5v12m6-6h-12"
1989
+ })));
1990
+ };
1987
1991
 
1988
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
1992
+ var _path;
1989
1993
 
1990
- var _ref = /*#__PURE__*/React.createElement("path", {
1991
- fill: "none",
1992
- stroke: "currentColor",
1993
- strokeLinecap: "round",
1994
- strokeLinejoin: "round",
1995
- d: "M1 9l4 4L15 3"
1996
- });
1994
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
1997
1995
 
1998
- function SvgCheckLgStroke(props) {
1996
+ var SvgCheckLgStroke = function SvgCheckLgStroke(props) {
1999
1997
  return /*#__PURE__*/React.createElement("svg", _extends({
2000
1998
  xmlns: "http://www.w3.org/2000/svg",
2001
1999
  width: 16,
2002
2000
  height: 16,
2003
- viewBox: "0 0 16 16",
2004
2001
  focusable: "false",
2005
- role: "presentation"
2006
- }, props), _ref);
2007
- }
2002
+ viewBox: "0 0 16 16",
2003
+ "aria-hidden": "true"
2004
+ }, props), _path || (_path = /*#__PURE__*/React.createElement("path", {
2005
+ fill: "none",
2006
+ stroke: "currentColor",
2007
+ strokeLinecap: "round",
2008
+ strokeLinejoin: "round",
2009
+ d: "M1 9l4 4L15 3"
2010
+ })));
2011
+ };
2008
2012
 
2009
2013
  var ItemContext = React__default.createContext(undefined);
2010
2014
  var useItemContext = function useItemContext() {
@@ -2015,10 +2019,11 @@ var useItemContext = function useItemContext() {
2015
2019
  return context;
2016
2020
  };
2017
2021
 
2018
- var _excluded$3 = ["value", "disabled", "component", "children"];
2022
+ var _excluded$3 = ["value", "disabled", "isDanger", "component", "children"];
2019
2023
  var Item = React__default.forwardRef(function (_ref, forwardRef) {
2020
2024
  var value = _ref.value,
2021
2025
  disabled = _ref.disabled,
2026
+ isDanger = _ref.isDanger,
2022
2027
  _ref$component = _ref.component,
2023
2028
  component = _ref$component === void 0 ? StyledItem : _ref$component,
2024
2029
  children = _ref.children,
@@ -2081,6 +2086,7 @@ var Item = React__default.forwardRef(function (_ref, forwardRef) {
2081
2086
  }, React__default.createElement(Component, _extends$5({
2082
2087
  ref: ref,
2083
2088
  disabled: disabled,
2089
+ isDanger: isDanger,
2084
2090
  isCompact: isCompact
2085
2091
  }, props), isSelected && React__default.createElement(StyledItemIcon, {
2086
2092
  isCompact: isCompact,
@@ -2095,7 +2101,8 @@ var Item = React__default.forwardRef(function (_ref, forwardRef) {
2095
2101
  item: value,
2096
2102
  isFocused: isFocused,
2097
2103
  ref: ref,
2098
- isCompact: isCompact
2104
+ isCompact: isCompact,
2105
+ isDanger: isDanger
2099
2106
  }, hasMenuRef.current && {
2100
2107
  role: 'menuitem',
2101
2108
  'aria-selected': null
@@ -2291,4 +2298,4 @@ PreviousItem.propTypes = {
2291
2298
  disabled: PropTypes.bool
2292
2299
  };
2293
2300
 
2294
- export { AddItem, Autocomplete, Combobox, Dropdown$1 as Dropdown, Field, HeaderIcon, HeaderItem, Hint, Item, ItemMeta, Label, MediaBody, MediaFigure, MediaItem, Menu$1 as Menu, Message, Multiselect$1 as Multiselect, NextItem, PreviousItem, Select, Separator, Trigger };
2301
+ export { AddItem, Autocomplete, Combobox, Dropdown, Field, HeaderIcon, HeaderItem, Hint, Item, ItemMeta, Label, MediaBody, MediaFigure, MediaItem, Menu, Message, Multiselect, NextItem, PreviousItem, Select, Separator, Trigger };