@zendeskgarden/react-dropdowns 8.47.2 → 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.cjs.js CHANGED
@@ -445,7 +445,7 @@ var COMPONENT_ID$m = 'dropdowns.menu';
445
445
  var StyledMenu = styled__default["default"].ul.attrs(function (props) {
446
446
  return {
447
447
  'data-garden-id': COMPONENT_ID$m,
448
- 'data-garden-version': '8.47.2',
448
+ 'data-garden-version': '8.48.0',
449
449
  className: props.isAnimated && 'is-animated'
450
450
  };
451
451
  }).withConfig({
@@ -470,7 +470,7 @@ var COMPONENT_ID$l = 'dropdowns.menu_wrapper';
470
470
  var StyledMenuWrapper = styled__default["default"].div.attrs(function (props) {
471
471
  return {
472
472
  'data-garden-id': COMPONENT_ID$l,
473
- 'data-garden-version': '8.47.2',
473
+ 'data-garden-version': '8.48.0',
474
474
  className: props.isAnimated && 'is-animated'
475
475
  };
476
476
  }).withConfig({
@@ -494,7 +494,7 @@ StyledMenuWrapper.defaultProps = {
494
494
  var COMPONENT_ID$k = 'dropdowns.separator';
495
495
  var StyledSeparator = styled__default["default"].li.attrs({
496
496
  'data-garden-id': COMPONENT_ID$k,
497
- 'data-garden-version': '8.47.2',
497
+ 'data-garden-version': '8.48.0',
498
498
  role: 'separator'
499
499
  }).withConfig({
500
500
  displayName: "StyledSeparator",
@@ -534,7 +534,7 @@ var getColorStyles = function getColorStyles(props) {
534
534
  var StyledItem = styled__default["default"].li.attrs(function (props) {
535
535
  return {
536
536
  'data-garden-id': COMPONENT_ID$j,
537
- 'data-garden-version': '8.47.2',
537
+ 'data-garden-version': '8.48.0',
538
538
  'aria-disabled': props.disabled
539
539
  };
540
540
  }).withConfig({
@@ -564,7 +564,7 @@ StyledItem.defaultProps = {
564
564
  var COMPONENT_ID$i = 'dropdowns.add_item';
565
565
  var StyledAddItem = styled__default["default"](StyledItem).attrs({
566
566
  'data-garden-id': COMPONENT_ID$i,
567
- 'data-garden-version': '8.47.2'
567
+ 'data-garden-version': '8.48.0'
568
568
  }).withConfig({
569
569
  displayName: "StyledAddItem",
570
570
  componentId: "sc-ekqk50-0"
@@ -580,7 +580,7 @@ StyledAddItem.defaultProps = {
580
580
  var COMPONENT_ID$h = 'dropdowns.item_meta';
581
581
  var StyledItemMeta = styled__default["default"].span.attrs({
582
582
  'data-garden-id': COMPONENT_ID$h,
583
- 'data-garden-version': '8.47.2'
583
+ 'data-garden-version': '8.48.0'
584
584
  }).withConfig({
585
585
  displayName: "StyledItemMeta",
586
586
  componentId: "sc-k6xy28-0"
@@ -603,7 +603,7 @@ var getSizeStyles = function getSizeStyles(props) {
603
603
  };
604
604
  var StyledItemIcon = styled__default["default"].div.attrs({
605
605
  'data-garden-id': COMPONENT_ID$g,
606
- 'data-garden-version': '8.47.2'
606
+ 'data-garden-version': '8.48.0'
607
607
  }).withConfig({
608
608
  displayName: "StyledItemIcon",
609
609
  componentId: "sc-1v0ty11-0"
@@ -629,7 +629,7 @@ StyledItemIcon.defaultProps = {
629
629
  var COMPONENT_ID$f = 'dropdowns.next_item';
630
630
  var StyledNextItem = styled__default["default"](StyledItem).attrs({
631
631
  'data-garden-id': COMPONENT_ID$f,
632
- 'data-garden-version': '8.47.2'
632
+ 'data-garden-version': '8.48.0'
633
633
  }).withConfig({
634
634
  displayName: "StyledNextItem",
635
635
  componentId: "sc-1bcygn5-0"
@@ -667,7 +667,7 @@ var NextIconComponent = function NextIconComponent(_ref) {
667
667
  var className = _ref.className;
668
668
  return React__default["default"].createElement(SvgChevronRightStroke, {
669
669
  "data-garden-id": COMPONENT_ID$e,
670
- "data-garden-version": '8.47.2',
670
+ "data-garden-version": '8.48.0',
671
671
  className: className
672
672
  });
673
673
  };
@@ -688,7 +688,7 @@ StyledNextIcon.defaultProps = {
688
688
  var COMPONENT_ID$d = 'dropdowns.previous_item';
689
689
  var StyledPreviousItem = styled__default["default"](StyledItem).attrs({
690
690
  'data-garden-id': COMPONENT_ID$d,
691
- 'data-garden-version': '8.47.2'
691
+ 'data-garden-version': '8.48.0'
692
692
  }).withConfig({
693
693
  displayName: "StyledPreviousItem",
694
694
  componentId: "sc-1nmdds9-0"
@@ -724,7 +724,7 @@ var PreviousIconComponent = function PreviousIconComponent(_ref) {
724
724
  var className = _ref.className;
725
725
  return React__default["default"].createElement(SvgChevronLeftStroke, {
726
726
  "data-garden-id": COMPONENT_ID$c,
727
- "data-garden-version": '8.47.2',
727
+ "data-garden-version": '8.48.0',
728
728
  className: className
729
729
  });
730
730
  };
@@ -745,7 +745,7 @@ StyledPreviousIcon.defaultProps = {
745
745
  var COMPONENT_ID$b = 'dropdowns.header_icon';
746
746
  var StyledHeaderIcon = styled__default["default"].div.attrs({
747
747
  'data-garden-id': COMPONENT_ID$b,
748
- 'data-garden-version': '8.47.2'
748
+ 'data-garden-version': '8.48.0'
749
749
  }).withConfig({
750
750
  displayName: "StyledHeaderIcon",
751
751
  componentId: "sc-1fl6nsz-0"
@@ -775,7 +775,7 @@ var getHorizontalPadding = function getHorizontalPadding(props) {
775
775
  };
776
776
  var StyledHeaderItem = styled__default["default"](StyledItem).attrs({
777
777
  'data-garden-id': COMPONENT_ID$a,
778
- 'data-garden-version': '8.47.2'
778
+ 'data-garden-version': '8.48.0'
779
779
  }).withConfig({
780
780
  displayName: "StyledHeaderItem",
781
781
  componentId: "sc-137filx-0"
@@ -795,7 +795,7 @@ StyledHeaderItem.defaultProps = {
795
795
  var COMPONENT_ID$9 = 'dropdowns.media_body';
796
796
  var StyledMediaBody = styled__default["default"].div.attrs({
797
797
  'data-garden-id': COMPONENT_ID$9,
798
- 'data-garden-version': '8.47.2'
798
+ 'data-garden-version': '8.48.0'
799
799
  }).withConfig({
800
800
  displayName: "StyledMediaBody",
801
801
  componentId: "sc-36j7ef-0"
@@ -823,7 +823,7 @@ function (_ref) {
823
823
  );
824
824
  }).attrs({
825
825
  'data-garden-id': COMPONENT_ID$8,
826
- 'data-garden-version': '8.47.2'
826
+ 'data-garden-version': '8.48.0'
827
827
  }).withConfig({
828
828
  displayName: "StyledMediaFigure",
829
829
  componentId: "sc-2f2x8x-0"
@@ -845,7 +845,7 @@ StyledMediaFigure.defaultProps = {
845
845
  var COMPONENT_ID$7 = 'dropdowns.media_item';
846
846
  var StyledMediaItem = styled__default["default"](StyledItem).attrs({
847
847
  'data-garden-id': COMPONENT_ID$7,
848
- 'data-garden-version': '8.47.2'
848
+ 'data-garden-version': '8.48.0'
849
849
  }).withConfig({
850
850
  displayName: "StyledMediaItem",
851
851
  componentId: "sc-ikwshz-0"
@@ -860,7 +860,7 @@ var COMPONENT_ID$6 = 'dropdowns.faux_input';
860
860
  var StyledFauxInput = styled__default["default"](reactForms.FauxInput).attrs(function (props) {
861
861
  return {
862
862
  'data-garden-id': COMPONENT_ID$6,
863
- 'data-garden-version': '8.47.2',
863
+ 'data-garden-version': '8.48.0',
864
864
  mediaLayout: true,
865
865
  theme: props.theme
866
866
  };
@@ -882,7 +882,7 @@ var COMPONENT_ID$5 = 'dropdowns.input';
882
882
  var hiddenStyling = styled.css(["position:fixed;border:0;clip:rect(1px,1px,1px,1px);padding:0;width:1px;height:1px;overflow:hidden;white-space:nowrap;"]);
883
883
  var StyledInput = styled__default["default"](reactForms.Input).attrs({
884
884
  'data-garden-id': COMPONENT_ID$5,
885
- 'data-garden-version': '8.47.2',
885
+ 'data-garden-version': '8.48.0',
886
886
  isBare: true
887
887
  }).withConfig({
888
888
  displayName: "StyledInput",
@@ -899,7 +899,7 @@ StyledInput.defaultProps = {
899
899
  var COMPONENT_ID$4 = 'dropdowns.select';
900
900
  var StyledSelect = styled__default["default"].div.attrs({
901
901
  'data-garden-id': COMPONENT_ID$4,
902
- 'data-garden-version': '8.47.2'
902
+ 'data-garden-version': '8.48.0'
903
903
  }).withConfig({
904
904
  displayName: "StyledSelect",
905
905
  componentId: "sc-xifmwj-0"
@@ -922,7 +922,7 @@ var visibleStyling = function visibleStyling(props) {
922
922
  };
923
923
  var StyledMultiselectInput = styled__default["default"](StyledInput).attrs({
924
924
  'data-garden-id': COMPONENT_ID$3,
925
- 'data-garden-version': '8.47.2'
925
+ 'data-garden-version': '8.48.0'
926
926
  }).withConfig({
927
927
  displayName: "StyledMultiselectInput",
928
928
  componentId: "sc-1avnf6f-0"
@@ -952,7 +952,7 @@ var sizeStyles = function sizeStyles(props) {
952
952
  };
953
953
  var StyledMultiselectItemsContainer = styled__default["default"].div.attrs({
954
954
  'data-garden-id': COMPONENT_ID$2,
955
- 'data-garden-version': '8.47.2'
955
+ 'data-garden-version': '8.48.0'
956
956
  }).withConfig({
957
957
  displayName: "StyledMultiselectItemsContainer",
958
958
  componentId: "sc-1jzhet8-0"
@@ -968,7 +968,7 @@ StyledMultiselectItemsContainer.defaultProps = {
968
968
  var COMPONENT_ID$1 = 'dropdowns.multiselect_item_wrapper';
969
969
  var StyledMultiselectItemWrapper = styled__default["default"].div.attrs({
970
970
  'data-garden-id': COMPONENT_ID$1,
971
- 'data-garden-version': '8.47.2'
971
+ 'data-garden-version': '8.48.0'
972
972
  }).withConfig({
973
973
  displayName: "StyledMultiselectItemWrapper",
974
974
  componentId: "sc-1rb2bye-0"
@@ -984,7 +984,7 @@ StyledMultiselectItemWrapper.defaultProps = {
984
984
  var COMPONENT_ID = 'dropdowns.multiselect_more_anchor';
985
985
  var StyledMultiselectMoreAnchor = styled__default["default"].div.attrs({
986
986
  'data-garden-id': COMPONENT_ID,
987
- 'data-garden-version': '8.47.2'
987
+ 'data-garden-version': '8.48.0'
988
988
  }).withConfig({
989
989
  displayName: "StyledMultiselectMoreAnchor",
990
990
  componentId: "sc-1m9v46e-0"
@@ -1174,7 +1174,7 @@ var useFieldContext = function useFieldContext() {
1174
1174
 
1175
1175
  var _excluded$9 = ["children", "inputRef", "start"],
1176
1176
  _excluded2$4 = ["type"];
1177
- var Autocomplete = React__default["default"].forwardRef(function (_ref, _ref3) {
1177
+ var Autocomplete = React.forwardRef(function (_ref, _ref3) {
1178
1178
  var children = _ref.children,
1179
1179
  controlledInputRef = _ref.inputRef,
1180
1180
  start = _ref.start,
@@ -1277,7 +1277,7 @@ Autocomplete.propTypes = {
1277
1277
  };
1278
1278
 
1279
1279
  var _excluded$8 = ["isCompact", "isBare", "disabled", "focusInset", "placeholder", "validation", "inputRef", "start", "end"];
1280
- var Combobox = React__default["default"].forwardRef(function (_ref, ref) {
1280
+ var Combobox = React.forwardRef(function (_ref, ref) {
1281
1281
  var isCompact = _ref.isCompact,
1282
1282
  isBare = _ref.isBare,
1283
1283
  disabled = _ref.disabled,
@@ -1359,7 +1359,7 @@ Combobox.propTypes = {
1359
1359
  validation: PropTypes__default["default"].oneOf(['success', 'warning', 'error'])
1360
1360
  };
1361
1361
 
1362
- var _excluded$7 = ["renderItem", "placeholder", "maxItems", "renderShowMore", "inputRef", "start"],
1362
+ var _excluded$7 = ["renderItem", "placeholder", "maxItems", "renderShowMore", "inputRef", "start", "onKeyDown"],
1363
1363
  _excluded2$3 = ["type"];
1364
1364
  var Multiselect = React__default["default"].forwardRef(function (_ref, _ref3) {
1365
1365
  var renderItem = _ref.renderItem,
@@ -1369,6 +1369,7 @@ var Multiselect = React__default["default"].forwardRef(function (_ref, _ref3) {
1369
1369
  _ref$inputRef = _ref.inputRef,
1370
1370
  externalInputRef = _ref$inputRef === void 0 ? null : _ref$inputRef,
1371
1371
  start = _ref.start,
1372
+ onKeyDown = _ref.onKeyDown,
1372
1373
  props = _objectWithoutProperties(_ref, _excluded$7);
1373
1374
  var _useDropdownContext = useDropdownContext(),
1374
1375
  popperReferenceElementRef = _useDropdownContext.popperReferenceElementRef,
@@ -1441,14 +1442,14 @@ var Multiselect = React__default["default"].forwardRef(function (_ref, _ref3) {
1441
1442
  }, [focusedItem, isOpen, closeMenu]);
1442
1443
  var _getToggleButtonProps = getToggleButtonProps(getRootProps(_objectSpread2({
1443
1444
  tabIndex: props.disabled ? undefined : -1,
1444
- onKeyDown: function onKeyDown(e) {
1445
+ onKeyDown: containerUtilities.composeEventHandlers(onKeyDown, function (e) {
1445
1446
  if (isOpen) {
1446
1447
  e.nativeEvent.preventDownshiftDefault = true;
1447
1448
  } else if (!inputValue && e.keyCode === containerUtilities.KEY_CODES.HOME) {
1448
1449
  setFocusedItem(selectedItems[0]);
1449
1450
  e.preventDefault();
1450
1451
  }
1451
- },
1452
+ }),
1452
1453
  onFocus: function onFocus() {
1453
1454
  setIsFocused(true);
1454
1455
  },
@@ -1798,7 +1799,7 @@ Select.propTypes = {
1798
1799
  validation: PropTypes__default["default"].oneOf(['success', 'warning', 'error'])
1799
1800
  };
1800
1801
 
1801
- var Field = function Field(props) {
1802
+ var Field = React.forwardRef(function (props, fieldRef) {
1802
1803
  var _useDropdownContext = useDropdownContext(),
1803
1804
  getRootProps = _useDropdownContext.downshift.getRootProps;
1804
1805
  var _useState = React.useState(false),
@@ -1816,9 +1817,10 @@ var Field = function Field(props) {
1816
1817
  return React__default["default"].createElement(FieldContext.Provider, {
1817
1818
  value: value
1818
1819
  }, React__default["default"].createElement(reactForms.Field, _extends$5({
1819
- ref: ref
1820
+ ref: mergeRefs__default["default"]([ref, fieldRef])
1820
1821
  }, props)));
1821
- };
1822
+ });
1823
+ Field.displayName = 'Field';
1822
1824
 
1823
1825
  var Hint = React__default["default"].forwardRef(function (props, ref) {
1824
1826
  return React__default["default"].createElement(reactForms.Hint, _extends$5({
@@ -1873,7 +1875,7 @@ var useMenuContext = function useMenuContext() {
1873
1875
  };
1874
1876
 
1875
1877
  var _excluded$4 = ["placement", "popperModifiers", "eventsEnabled", "isAnimated", "maxHeight", "style", "zIndex", "isCompact", "children"];
1876
- var Menu = function Menu(props) {
1878
+ var Menu = React.forwardRef(function (props, menuRef) {
1877
1879
  var placement = props.placement,
1878
1880
  popperModifiers = props.popperModifiers,
1879
1881
  eventsEnabled = props.eventsEnabled,
@@ -1962,13 +1964,15 @@ var Menu = function Menu(props) {
1962
1964
  isAnimated: menuProps.isAnimated,
1963
1965
  zIndex: zIndex
1964
1966
  }, React__default["default"].createElement(StyledMenu, _extends$5({
1967
+ ref: menuRef,
1965
1968
  isCompact: isCompact,
1966
1969
  maxHeight: maxHeight,
1967
1970
  style: computedStyle
1968
1971
  }, menuProps), (isOpen || isVisible) && children));
1969
1972
  }))
1970
1973
  );
1971
- };
1974
+ });
1975
+ Menu.displayName = 'Menu';
1972
1976
  Menu.propTypes = {
1973
1977
  popperModifiers: PropTypes__default["default"].any,
1974
1978
  eventsEnabled: PropTypes__default["default"].bool,
package/dist/index.esm.js CHANGED
@@ -6,7 +6,7 @@
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
11
  import styled, { ThemeContext, css } from 'styled-components';
12
12
  import Downshift from 'downshift';
@@ -416,7 +416,7 @@ var COMPONENT_ID$m = 'dropdowns.menu';
416
416
  var StyledMenu = styled.ul.attrs(function (props) {
417
417
  return {
418
418
  'data-garden-id': COMPONENT_ID$m,
419
- 'data-garden-version': '8.47.2',
419
+ 'data-garden-version': '8.48.0',
420
420
  className: props.isAnimated && 'is-animated'
421
421
  };
422
422
  }).withConfig({
@@ -441,7 +441,7 @@ var COMPONENT_ID$l = 'dropdowns.menu_wrapper';
441
441
  var StyledMenuWrapper = styled.div.attrs(function (props) {
442
442
  return {
443
443
  'data-garden-id': COMPONENT_ID$l,
444
- 'data-garden-version': '8.47.2',
444
+ 'data-garden-version': '8.48.0',
445
445
  className: props.isAnimated && 'is-animated'
446
446
  };
447
447
  }).withConfig({
@@ -465,7 +465,7 @@ StyledMenuWrapper.defaultProps = {
465
465
  var COMPONENT_ID$k = 'dropdowns.separator';
466
466
  var StyledSeparator = styled.li.attrs({
467
467
  'data-garden-id': COMPONENT_ID$k,
468
- 'data-garden-version': '8.47.2',
468
+ 'data-garden-version': '8.48.0',
469
469
  role: 'separator'
470
470
  }).withConfig({
471
471
  displayName: "StyledSeparator",
@@ -505,7 +505,7 @@ var getColorStyles = function getColorStyles(props) {
505
505
  var StyledItem = styled.li.attrs(function (props) {
506
506
  return {
507
507
  'data-garden-id': COMPONENT_ID$j,
508
- 'data-garden-version': '8.47.2',
508
+ 'data-garden-version': '8.48.0',
509
509
  'aria-disabled': props.disabled
510
510
  };
511
511
  }).withConfig({
@@ -535,7 +535,7 @@ StyledItem.defaultProps = {
535
535
  var COMPONENT_ID$i = 'dropdowns.add_item';
536
536
  var StyledAddItem = styled(StyledItem).attrs({
537
537
  'data-garden-id': COMPONENT_ID$i,
538
- 'data-garden-version': '8.47.2'
538
+ 'data-garden-version': '8.48.0'
539
539
  }).withConfig({
540
540
  displayName: "StyledAddItem",
541
541
  componentId: "sc-ekqk50-0"
@@ -551,7 +551,7 @@ StyledAddItem.defaultProps = {
551
551
  var COMPONENT_ID$h = 'dropdowns.item_meta';
552
552
  var StyledItemMeta = styled.span.attrs({
553
553
  'data-garden-id': COMPONENT_ID$h,
554
- 'data-garden-version': '8.47.2'
554
+ 'data-garden-version': '8.48.0'
555
555
  }).withConfig({
556
556
  displayName: "StyledItemMeta",
557
557
  componentId: "sc-k6xy28-0"
@@ -574,7 +574,7 @@ var getSizeStyles = function getSizeStyles(props) {
574
574
  };
575
575
  var StyledItemIcon = styled.div.attrs({
576
576
  'data-garden-id': COMPONENT_ID$g,
577
- 'data-garden-version': '8.47.2'
577
+ 'data-garden-version': '8.48.0'
578
578
  }).withConfig({
579
579
  displayName: "StyledItemIcon",
580
580
  componentId: "sc-1v0ty11-0"
@@ -600,7 +600,7 @@ StyledItemIcon.defaultProps = {
600
600
  var COMPONENT_ID$f = 'dropdowns.next_item';
601
601
  var StyledNextItem = styled(StyledItem).attrs({
602
602
  'data-garden-id': COMPONENT_ID$f,
603
- 'data-garden-version': '8.47.2'
603
+ 'data-garden-version': '8.48.0'
604
604
  }).withConfig({
605
605
  displayName: "StyledNextItem",
606
606
  componentId: "sc-1bcygn5-0"
@@ -638,7 +638,7 @@ var NextIconComponent = function NextIconComponent(_ref) {
638
638
  var className = _ref.className;
639
639
  return React__default.createElement(SvgChevronRightStroke, {
640
640
  "data-garden-id": COMPONENT_ID$e,
641
- "data-garden-version": '8.47.2',
641
+ "data-garden-version": '8.48.0',
642
642
  className: className
643
643
  });
644
644
  };
@@ -659,7 +659,7 @@ StyledNextIcon.defaultProps = {
659
659
  var COMPONENT_ID$d = 'dropdowns.previous_item';
660
660
  var StyledPreviousItem = styled(StyledItem).attrs({
661
661
  'data-garden-id': COMPONENT_ID$d,
662
- 'data-garden-version': '8.47.2'
662
+ 'data-garden-version': '8.48.0'
663
663
  }).withConfig({
664
664
  displayName: "StyledPreviousItem",
665
665
  componentId: "sc-1nmdds9-0"
@@ -695,7 +695,7 @@ var PreviousIconComponent = function PreviousIconComponent(_ref) {
695
695
  var className = _ref.className;
696
696
  return React__default.createElement(SvgChevronLeftStroke, {
697
697
  "data-garden-id": COMPONENT_ID$c,
698
- "data-garden-version": '8.47.2',
698
+ "data-garden-version": '8.48.0',
699
699
  className: className
700
700
  });
701
701
  };
@@ -716,7 +716,7 @@ StyledPreviousIcon.defaultProps = {
716
716
  var COMPONENT_ID$b = 'dropdowns.header_icon';
717
717
  var StyledHeaderIcon = styled.div.attrs({
718
718
  'data-garden-id': COMPONENT_ID$b,
719
- 'data-garden-version': '8.47.2'
719
+ 'data-garden-version': '8.48.0'
720
720
  }).withConfig({
721
721
  displayName: "StyledHeaderIcon",
722
722
  componentId: "sc-1fl6nsz-0"
@@ -746,7 +746,7 @@ var getHorizontalPadding = function getHorizontalPadding(props) {
746
746
  };
747
747
  var StyledHeaderItem = styled(StyledItem).attrs({
748
748
  'data-garden-id': COMPONENT_ID$a,
749
- 'data-garden-version': '8.47.2'
749
+ 'data-garden-version': '8.48.0'
750
750
  }).withConfig({
751
751
  displayName: "StyledHeaderItem",
752
752
  componentId: "sc-137filx-0"
@@ -766,7 +766,7 @@ StyledHeaderItem.defaultProps = {
766
766
  var COMPONENT_ID$9 = 'dropdowns.media_body';
767
767
  var StyledMediaBody = styled.div.attrs({
768
768
  'data-garden-id': COMPONENT_ID$9,
769
- 'data-garden-version': '8.47.2'
769
+ 'data-garden-version': '8.48.0'
770
770
  }).withConfig({
771
771
  displayName: "StyledMediaBody",
772
772
  componentId: "sc-36j7ef-0"
@@ -794,7 +794,7 @@ function (_ref) {
794
794
  );
795
795
  }).attrs({
796
796
  'data-garden-id': COMPONENT_ID$8,
797
- 'data-garden-version': '8.47.2'
797
+ 'data-garden-version': '8.48.0'
798
798
  }).withConfig({
799
799
  displayName: "StyledMediaFigure",
800
800
  componentId: "sc-2f2x8x-0"
@@ -816,7 +816,7 @@ StyledMediaFigure.defaultProps = {
816
816
  var COMPONENT_ID$7 = 'dropdowns.media_item';
817
817
  var StyledMediaItem = styled(StyledItem).attrs({
818
818
  'data-garden-id': COMPONENT_ID$7,
819
- 'data-garden-version': '8.47.2'
819
+ 'data-garden-version': '8.48.0'
820
820
  }).withConfig({
821
821
  displayName: "StyledMediaItem",
822
822
  componentId: "sc-ikwshz-0"
@@ -831,7 +831,7 @@ var COMPONENT_ID$6 = 'dropdowns.faux_input';
831
831
  var StyledFauxInput = styled(FauxInput).attrs(function (props) {
832
832
  return {
833
833
  'data-garden-id': COMPONENT_ID$6,
834
- 'data-garden-version': '8.47.2',
834
+ 'data-garden-version': '8.48.0',
835
835
  mediaLayout: true,
836
836
  theme: props.theme
837
837
  };
@@ -853,7 +853,7 @@ var COMPONENT_ID$5 = 'dropdowns.input';
853
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;"]);
854
854
  var StyledInput = styled(Input).attrs({
855
855
  'data-garden-id': COMPONENT_ID$5,
856
- 'data-garden-version': '8.47.2',
856
+ 'data-garden-version': '8.48.0',
857
857
  isBare: true
858
858
  }).withConfig({
859
859
  displayName: "StyledInput",
@@ -870,7 +870,7 @@ StyledInput.defaultProps = {
870
870
  var COMPONENT_ID$4 = 'dropdowns.select';
871
871
  var StyledSelect = styled.div.attrs({
872
872
  'data-garden-id': COMPONENT_ID$4,
873
- 'data-garden-version': '8.47.2'
873
+ 'data-garden-version': '8.48.0'
874
874
  }).withConfig({
875
875
  displayName: "StyledSelect",
876
876
  componentId: "sc-xifmwj-0"
@@ -893,7 +893,7 @@ var visibleStyling = function visibleStyling(props) {
893
893
  };
894
894
  var StyledMultiselectInput = styled(StyledInput).attrs({
895
895
  'data-garden-id': COMPONENT_ID$3,
896
- 'data-garden-version': '8.47.2'
896
+ 'data-garden-version': '8.48.0'
897
897
  }).withConfig({
898
898
  displayName: "StyledMultiselectInput",
899
899
  componentId: "sc-1avnf6f-0"
@@ -923,7 +923,7 @@ var sizeStyles = function sizeStyles(props) {
923
923
  };
924
924
  var StyledMultiselectItemsContainer = styled.div.attrs({
925
925
  'data-garden-id': COMPONENT_ID$2,
926
- 'data-garden-version': '8.47.2'
926
+ 'data-garden-version': '8.48.0'
927
927
  }).withConfig({
928
928
  displayName: "StyledMultiselectItemsContainer",
929
929
  componentId: "sc-1jzhet8-0"
@@ -939,7 +939,7 @@ StyledMultiselectItemsContainer.defaultProps = {
939
939
  var COMPONENT_ID$1 = 'dropdowns.multiselect_item_wrapper';
940
940
  var StyledMultiselectItemWrapper = styled.div.attrs({
941
941
  'data-garden-id': COMPONENT_ID$1,
942
- 'data-garden-version': '8.47.2'
942
+ 'data-garden-version': '8.48.0'
943
943
  }).withConfig({
944
944
  displayName: "StyledMultiselectItemWrapper",
945
945
  componentId: "sc-1rb2bye-0"
@@ -955,7 +955,7 @@ StyledMultiselectItemWrapper.defaultProps = {
955
955
  var COMPONENT_ID = 'dropdowns.multiselect_more_anchor';
956
956
  var StyledMultiselectMoreAnchor = styled.div.attrs({
957
957
  'data-garden-id': COMPONENT_ID,
958
- 'data-garden-version': '8.47.2'
958
+ 'data-garden-version': '8.48.0'
959
959
  }).withConfig({
960
960
  displayName: "StyledMultiselectMoreAnchor",
961
961
  componentId: "sc-1m9v46e-0"
@@ -1145,7 +1145,7 @@ var useFieldContext = function useFieldContext() {
1145
1145
 
1146
1146
  var _excluded$9 = ["children", "inputRef", "start"],
1147
1147
  _excluded2$4 = ["type"];
1148
- var Autocomplete = React__default.forwardRef(function (_ref, _ref3) {
1148
+ var Autocomplete = forwardRef(function (_ref, _ref3) {
1149
1149
  var children = _ref.children,
1150
1150
  controlledInputRef = _ref.inputRef,
1151
1151
  start = _ref.start,
@@ -1248,7 +1248,7 @@ Autocomplete.propTypes = {
1248
1248
  };
1249
1249
 
1250
1250
  var _excluded$8 = ["isCompact", "isBare", "disabled", "focusInset", "placeholder", "validation", "inputRef", "start", "end"];
1251
- var Combobox = React__default.forwardRef(function (_ref, ref) {
1251
+ var Combobox = forwardRef(function (_ref, ref) {
1252
1252
  var isCompact = _ref.isCompact,
1253
1253
  isBare = _ref.isBare,
1254
1254
  disabled = _ref.disabled,
@@ -1330,7 +1330,7 @@ Combobox.propTypes = {
1330
1330
  validation: PropTypes.oneOf(['success', 'warning', 'error'])
1331
1331
  };
1332
1332
 
1333
- var _excluded$7 = ["renderItem", "placeholder", "maxItems", "renderShowMore", "inputRef", "start"],
1333
+ var _excluded$7 = ["renderItem", "placeholder", "maxItems", "renderShowMore", "inputRef", "start", "onKeyDown"],
1334
1334
  _excluded2$3 = ["type"];
1335
1335
  var Multiselect = React__default.forwardRef(function (_ref, _ref3) {
1336
1336
  var renderItem = _ref.renderItem,
@@ -1340,6 +1340,7 @@ var Multiselect = React__default.forwardRef(function (_ref, _ref3) {
1340
1340
  _ref$inputRef = _ref.inputRef,
1341
1341
  externalInputRef = _ref$inputRef === void 0 ? null : _ref$inputRef,
1342
1342
  start = _ref.start,
1343
+ onKeyDown = _ref.onKeyDown,
1343
1344
  props = _objectWithoutProperties(_ref, _excluded$7);
1344
1345
  var _useDropdownContext = useDropdownContext(),
1345
1346
  popperReferenceElementRef = _useDropdownContext.popperReferenceElementRef,
@@ -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
  },
@@ -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,
@@ -1933,13 +1935,15 @@ var Menu = function Menu(props) {
1933
1935
  isAnimated: menuProps.isAnimated,
1934
1936
  zIndex: zIndex
1935
1937
  }, React__default.createElement(StyledMenu, _extends$5({
1938
+ ref: menuRef,
1936
1939
  isCompact: isCompact,
1937
1940
  maxHeight: maxHeight,
1938
1941
  style: computedStyle
1939
1942
  }, menuProps), (isOpen || isVisible) && children));
1940
1943
  }))
1941
1944
  );
1942
- };
1945
+ });
1946
+ Menu.displayName = 'Menu';
1943
1947
  Menu.propTypes = {
1944
1948
  popperModifiers: PropTypes.any,
1945
1949
  eventsEnabled: PropTypes.bool,
@@ -22,8 +22,7 @@ export interface IAutocompleteProps extends HTMLAttributes<HTMLDivElement> {
22
22
  /** Defines the icon rendered in the start position */
23
23
  start?: any;
24
24
  }
25
- declare const _default: React.FunctionComponent<IAutocompleteProps & React.RefAttributes<HTMLDivElement>>;
26
25
  /**
27
26
  * @extends HTMLAttributes<HTMLDivElement>
28
27
  */
29
- export default _default;
28
+ export declare const Autocomplete: React.ForwardRefExoticComponent<IAutocompleteProps & React.RefAttributes<HTMLDivElement>>;
@@ -4,9 +4,9 @@
4
4
  * Use of this source code is governed under the Apache License, Version 2.0
5
5
  * found at http://www.apache.org/licenses/LICENSE-2.0.
6
6
  */
7
- import React, { ComponentPropsWithoutRef } from 'react';
7
+ import React, { HTMLAttributes } from 'react';
8
8
  import { VALIDATION } from '../../utils/validation';
9
- export interface IComboboxProps extends ComponentPropsWithoutRef<'div'> {
9
+ export interface IComboboxProps extends HTMLAttributes<HTMLDivElement> {
10
10
  /** Applies compact styling */
11
11
  isCompact?: boolean;
12
12
  /** Removes borders and padding */
@@ -26,8 +26,7 @@ export interface IComboboxProps extends ComponentPropsWithoutRef<'div'> {
26
26
  /** Defines the icon rendered in the end position */
27
27
  end?: any;
28
28
  }
29
- declare const _default: React.FC<IComboboxProps & React.RefAttributes<HTMLDivElement>>;
30
29
  /**
31
30
  * @extends HTMLAttributes<HTMLDivElement>
32
31
  */
33
- export default _default;
32
+ export declare const Combobox: React.ForwardRefExoticComponent<IComboboxProps & React.RefAttributes<HTMLDivElement>>;
@@ -4,7 +4,8 @@
4
4
  * Use of this source code is governed under the Apache License, Version 2.0
5
5
  * found at http://www.apache.org/licenses/LICENSE-2.0.
6
6
  */
7
- import React from 'react';
7
+ import { PropsWithChildren } from 'react';
8
+ import PropTypes from 'prop-types';
8
9
  import { ControllerStateAndHelpers, StateChangeOptions } from 'downshift';
9
10
  export declare const REMOVE_ITEM_STATE_TYPE = "REMOVE_ITEM";
10
11
  export interface IDropdownProps {
@@ -42,4 +43,16 @@ export interface IDropdownProps {
42
43
  /** Passes customization props to the [Downshift](https://www.downshift-js.com/) component */
43
44
  downshiftProps?: Record<string, any>;
44
45
  }
45
- export declare const Dropdown: React.FunctionComponent<IDropdownProps>;
46
+ export declare const Dropdown: {
47
+ (props: PropsWithChildren<IDropdownProps>): JSX.Element;
48
+ propTypes: {
49
+ isOpen: PropTypes.Requireable<boolean>;
50
+ selectedItem: PropTypes.Requireable<any>;
51
+ selectedItems: PropTypes.Requireable<any[]>;
52
+ highlightedIndex: PropTypes.Requireable<number>;
53
+ inputValue: PropTypes.Requireable<string>;
54
+ onSelect: PropTypes.Requireable<(...args: any[]) => any>;
55
+ onStateChange: PropTypes.Requireable<(...args: any[]) => any>;
56
+ downshiftProps: PropTypes.Requireable<object>;
57
+ };
58
+ };
@@ -4,8 +4,8 @@
4
4
  * Use of this source code is governed under the Apache License, Version 2.0
5
5
  * found at http://www.apache.org/licenses/LICENSE-2.0.
6
6
  */
7
- import React, { HTMLAttributes } from 'react';
7
+ import React from 'react';
8
8
  /**
9
9
  * @extends HTMLAttributes<HTMLDivElement>
10
10
  */
11
- export declare const Field: React.FunctionComponent<HTMLAttributes<HTMLDivElement>>;
11
+ export declare const Field: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
@@ -4,8 +4,8 @@
4
4
  * Use of this source code is governed under the Apache License, Version 2.0
5
5
  * found at http://www.apache.org/licenses/LICENSE-2.0.
6
6
  */
7
- import React, { HTMLAttributes } from 'react';
7
+ import { HTMLAttributes } from 'react';
8
8
  /**
9
- * @extends HTMLAttributes<any>
9
+ * @extends HTMLAttributes<Element>
10
10
  */
11
- export declare const MediaFigure: React.FC<HTMLAttributes<any>>;
11
+ export declare const MediaFigure: (props: HTMLAttributes<Element>) => JSX.Element;
@@ -9,4 +9,4 @@ import { IItemProps } from './Item';
9
9
  /**
10
10
  * @extends LiHTMLAttributes<HTMLLIElement>
11
11
  */
12
- export declare const MediaItem: React.ForwardRefExoticComponent<IItemProps & React.RefAttributes<HTMLLIElement>>;
12
+ export declare const MediaItem: React.ForwardRefExoticComponent<Omit<IItemProps, "component"> & React.RefAttributes<HTMLLIElement>>;
@@ -44,4 +44,4 @@ export interface IMenuProps extends HTMLAttributes<HTMLUListElement> {
44
44
  /**
45
45
  * @extends HTMLAttributes<HTMLUListElement>
46
46
  */
47
- export declare const Menu: React.FunctionComponent<IMenuProps>;
47
+ export declare const Menu: React.ForwardRefExoticComponent<IMenuProps & React.RefAttributes<HTMLUListElement>>;
@@ -21,8 +21,6 @@ export interface ISelectProps extends HTMLAttributes<HTMLDivElement> {
21
21
  start?: any;
22
22
  }
23
23
  /**
24
- * Applies state and a11y attributes to its children. Must be nested within a `<Field>` component.
25
- *
26
24
  * @extends HTMLAttributes<HTMLDivElement>
27
25
  */
28
26
  export declare const Select: React.ForwardRefExoticComponent<ISelectProps & React.RefAttributes<HTMLDivElement>>;
@@ -4,7 +4,8 @@
4
4
  * Use of this source code is governed under the Apache License, Version 2.0
5
5
  * found at http://www.apache.org/licenses/LICENSE-2.0.
6
6
  */
7
- import React, { HTMLAttributes } from 'react';
7
+ import { HTMLAttributes } from 'react';
8
+ import PropTypes from 'prop-types';
8
9
  export interface ITriggerProps extends HTMLAttributes<HTMLElement> {
9
10
  /** Passes the ref callback to components with non-standard ref props (i.e. `innerRef`) */
10
11
  refKey?: string;
@@ -12,5 +13,13 @@ export interface ITriggerProps extends HTMLAttributes<HTMLElement> {
12
13
  /**
13
14
  * @extends HTMLAttributes<HTMLElement>
14
15
  */
15
- declare const Trigger: React.FunctionComponent<ITriggerProps>;
16
- export default Trigger;
16
+ export declare const Trigger: {
17
+ ({ children, refKey, ...triggerProps }: ITriggerProps): JSX.Element;
18
+ propTypes: {
19
+ children: PropTypes.Requireable<any>;
20
+ refKey: PropTypes.Requireable<string>;
21
+ };
22
+ defaultProps: {
23
+ refKey: string;
24
+ };
25
+ };
@@ -6,11 +6,11 @@
6
6
  */
7
7
  export { Dropdown } from './elements/Dropdown/Dropdown';
8
8
  export type { IDropdownProps } from './elements/Dropdown/Dropdown';
9
- export { default as Trigger } from './elements/Trigger/Trigger';
9
+ export { Trigger } from './elements/Trigger/Trigger';
10
10
  export type { ITriggerProps } from './elements/Trigger/Trigger';
11
- export { default as Autocomplete } from './elements/Autocomplete/Autocomplete';
11
+ export { Autocomplete } from './elements/Autocomplete/Autocomplete';
12
12
  export type { IAutocompleteProps } from './elements/Autocomplete/Autocomplete';
13
- export { default as Combobox } from './elements/Combobox/Combobox';
13
+ export { Combobox } from './elements/Combobox/Combobox';
14
14
  export type { IComboboxProps } from './elements/Combobox/Combobox';
15
15
  export { Multiselect } from './elements/Multiselect/Multiselect';
16
16
  export type { IMultiselectProps } from './elements/Multiselect/Multiselect';
@@ -4,7 +4,17 @@
4
4
  * Use of this source code is governed under the Apache License, Version 2.0
5
5
  * found at http://www.apache.org/licenses/LICENSE-2.0.
6
6
  */
7
- export declare const StyledFauxInput: import("styled-components").StyledComponent<import("@zendeskgarden/react-forms").IStaticFauxInputExport<HTMLDivElement, import("@zendeskgarden/react-forms").IFauxInputProps>, import("styled-components").DefaultTheme, {
7
+ /// <reference types="react" />
8
+ export declare const StyledFauxInput: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("@zendeskgarden/react-forms").IFauxInputProps & import("react").RefAttributes<HTMLDivElement>> & {
9
+ EndIcon: {
10
+ (props: import("@zendeskgarden/react-forms").IFauxInputEndIconProps): JSX.Element;
11
+ displayName: string;
12
+ };
13
+ StartIcon: {
14
+ (props: import("@zendeskgarden/react-forms").IFauxInputStartIconProps): JSX.Element;
15
+ displayName: string;
16
+ };
17
+ }, import("styled-components").DefaultTheme, {
8
18
  'data-garden-id': string;
9
19
  'data-garden-version': string;
10
20
  mediaLayout: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zendeskgarden/react-dropdowns",
3
- "version": "8.47.2",
3
+ "version": "8.48.0",
4
4
  "description": "Components relating to dropdowns in the Garden Design System",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Zendesk Garden <garden@zendesk.com>",
@@ -23,7 +23,7 @@
23
23
  "dependencies": {
24
24
  "@zendeskgarden/container-selection": "^1.3.8",
25
25
  "@zendeskgarden/container-utilities": "^0.7.0",
26
- "@zendeskgarden/react-forms": "^8.47.2",
26
+ "@zendeskgarden/react-forms": "^8.48.0",
27
27
  "downshift": "^6.0.0",
28
28
  "polished": "^4.0.0",
29
29
  "prop-types": "^15.5.7",
@@ -38,7 +38,7 @@
38
38
  },
39
39
  "devDependencies": {
40
40
  "@types/lodash.debounce": "4.0.6",
41
- "@zendeskgarden/react-theming": "^8.47.2",
41
+ "@zendeskgarden/react-theming": "^8.48.0",
42
42
  "@zendeskgarden/svg-icons": "6.30.2",
43
43
  "lodash.debounce": "4.0.8"
44
44
  },
@@ -52,5 +52,5 @@
52
52
  "access": "public"
53
53
  },
54
54
  "zendeskgarden:src": "src/index.ts",
55
- "gitHead": "41cb43f285760417ae2145e47eca0e4a600455ab"
55
+ "gitHead": "75f36aee62043004650c3eb2e1583b98a87d71f8"
56
56
  }