downshift 9.3.0 → 9.3.2

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.
@@ -1917,54 +1917,6 @@ var defaultStateValues$1 = {
1917
1917
 
1918
1918
  // istanbul ignore next
1919
1919
  var useIsomorphicLayoutEffect = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined' ? React__namespace.useLayoutEffect : React__namespace.useEffect;
1920
-
1921
- // istanbul ignore next
1922
- var useElementIds$1 = 'useId' in React__namespace // Avoid conditional useId call
1923
- ? function useElementIds(_ref) {
1924
- var id = _ref.id,
1925
- labelId = _ref.labelId,
1926
- menuId = _ref.menuId,
1927
- getItemId = _ref.getItemId,
1928
- toggleButtonId = _ref.toggleButtonId,
1929
- inputId = _ref.inputId;
1930
- // Avoid conditional useId call
1931
- var reactId = "downshift-" + React__namespace.useId();
1932
- if (!id) {
1933
- id = reactId;
1934
- }
1935
- var elementIds = React__namespace.useMemo(function () {
1936
- return {
1937
- labelId: labelId || id + "-label",
1938
- menuId: menuId || id + "-menu",
1939
- getItemId: getItemId || function (index) {
1940
- return id + "-item-" + index;
1941
- },
1942
- toggleButtonId: toggleButtonId || id + "-toggle-button",
1943
- inputId: inputId || id + "-input"
1944
- };
1945
- }, [getItemId, id, inputId, labelId, menuId, toggleButtonId]);
1946
- return elementIds;
1947
- } : function useElementIds(_ref2) {
1948
- var _ref2$id = _ref2.id,
1949
- id = _ref2$id === void 0 ? "downshift-" + generateId() : _ref2$id,
1950
- labelId = _ref2.labelId,
1951
- menuId = _ref2.menuId,
1952
- getItemId = _ref2.getItemId,
1953
- toggleButtonId = _ref2.toggleButtonId,
1954
- inputId = _ref2.inputId;
1955
- var elementIds = React__namespace.useMemo(function () {
1956
- return {
1957
- labelId: labelId || id + "-label",
1958
- menuId: menuId || id + "-menu",
1959
- getItemId: getItemId || function (index) {
1960
- return id + "-item-" + index;
1961
- },
1962
- toggleButtonId: toggleButtonId || id + "-toggle-button",
1963
- inputId: inputId || id + "-input"
1964
- };
1965
- }, [getItemId, id, inputId, labelId, menuId, toggleButtonId]);
1966
- return elementIds;
1967
- };
1968
1920
  function isAcceptedCharacterKey(key) {
1969
1921
  return /^\S{1}$/.test(key);
1970
1922
  }
@@ -2127,13 +2079,13 @@ if (process.env.NODE_ENV !== 'production') {
2127
2079
  return setGetterPropCallInfo;
2128
2080
  };
2129
2081
  }
2130
- function useScrollIntoView(_ref3) {
2131
- var highlightedIndex = _ref3.highlightedIndex,
2132
- isOpen = _ref3.isOpen,
2133
- itemRefs = _ref3.itemRefs,
2134
- getItemNodeFromIndex = _ref3.getItemNodeFromIndex,
2135
- menuElement = _ref3.menuElement,
2136
- scrollIntoViewProp = _ref3.scrollIntoView;
2082
+ function useScrollIntoView(_ref) {
2083
+ var highlightedIndex = _ref.highlightedIndex,
2084
+ isOpen = _ref.isOpen,
2085
+ itemRefs = _ref.itemRefs,
2086
+ getItemNodeFromIndex = _ref.getItemNodeFromIndex,
2087
+ menuElement = _ref.menuElement,
2088
+ scrollIntoViewProp = _ref.scrollIntoView;
2137
2089
  // used not to scroll on highlight by mouse.
2138
2090
  var shouldScrollRef = React__namespace.useRef(true);
2139
2091
  // Scroll on highlighted item if change comes from keyboard.
@@ -2155,9 +2107,9 @@ function useScrollIntoView(_ref3) {
2155
2107
  var useControlPropsValidator = noop;
2156
2108
  /* istanbul ignore next */
2157
2109
  if (process.env.NODE_ENV !== 'production') {
2158
- useControlPropsValidator = function useControlPropsValidator(_ref4) {
2159
- var props = _ref4.props,
2160
- state = _ref4.state;
2110
+ useControlPropsValidator = function useControlPropsValidator(_ref2) {
2111
+ var props = _ref2.props,
2112
+ state = _ref2.state;
2161
2113
  // used for checking when props are moving from controlled to uncontrolled.
2162
2114
  var prevPropsRef = React__namespace.useRef(props);
2163
2115
  var isInitialMount = useIsInitialMount();
@@ -2480,6 +2432,57 @@ function downshiftSelectReducer(state, props, action) {
2480
2432
  }
2481
2433
  /* eslint-enable complexity */
2482
2434
 
2435
+ // https://github.com/downshift-js/downshift/issues/1674#issuecomment-3924320872
2436
+ var SafeReact$1 = _extends({}, React__namespace);
2437
+ var reactUseId$1 = SafeReact$1.useId;
2438
+ var useElementIds$1 = typeof reactUseId$1 === 'function' ? useElementIdsR18$1 : useElementIdsLegacy$1;
2439
+ function useElementIdsR18$1(_ref) {
2440
+ var id = _ref.id,
2441
+ labelId = _ref.labelId,
2442
+ menuId = _ref.menuId,
2443
+ getItemId = _ref.getItemId,
2444
+ toggleButtonId = _ref.toggleButtonId,
2445
+ inputId = _ref.inputId;
2446
+ var reactId = "downshift-" + reactUseId$1();
2447
+ if (!id) {
2448
+ id = reactId;
2449
+ }
2450
+ var elementIds = React__namespace.useMemo(function () {
2451
+ return {
2452
+ labelId: labelId != null ? labelId : id + "-label",
2453
+ menuId: menuId != null ? menuId : id + "-menu",
2454
+ getItemId: getItemId != null ? getItemId : function (index) {
2455
+ return id + "-item-" + index;
2456
+ },
2457
+ toggleButtonId: toggleButtonId != null ? toggleButtonId : id + "-toggle-button",
2458
+ inputId: inputId != null ? inputId : id + "-input"
2459
+ };
2460
+ }, [getItemId, id, inputId, labelId, menuId, toggleButtonId]);
2461
+ return elementIds;
2462
+ }
2463
+ function useElementIdsLegacy$1(_ref2) {
2464
+ var id = _ref2.id,
2465
+ labelId = _ref2.labelId,
2466
+ menuId = _ref2.menuId,
2467
+ getItemId = _ref2.getItemId,
2468
+ toggleButtonId = _ref2.toggleButtonId,
2469
+ inputId = _ref2.inputId;
2470
+ var baseIdRef = React__namespace.useRef(id != null ? id : "downshift-" + generateId());
2471
+ var baseId = baseIdRef.current;
2472
+ var elementIds = React__namespace.useMemo(function () {
2473
+ return {
2474
+ labelId: labelId != null ? labelId : baseId + "-label",
2475
+ menuId: menuId != null ? menuId : baseId + "-menu",
2476
+ getItemId: getItemId != null ? getItemId : function (index) {
2477
+ return baseId + "-item-" + index;
2478
+ },
2479
+ toggleButtonId: toggleButtonId != null ? toggleButtonId : baseId + "-toggle-button",
2480
+ inputId: inputId != null ? inputId : baseId + "-input"
2481
+ };
2482
+ }, [getItemId, inputId, labelId, menuId, toggleButtonId, baseId]);
2483
+ return elementIds;
2484
+ }
2485
+
2483
2486
  var _excluded$3 = ["onClick"],
2484
2487
  _excluded2$3 = ["onMouseLeave", "refKey", "ref"],
2485
2488
  _excluded3$2 = ["onBlur", "onClick", "onPress", "onKeyDown", "refKey", "ref"],
@@ -4051,38 +4054,45 @@ function useTagGroupReducer(state, _props, action) {
4051
4054
  return _extends({}, state, changes);
4052
4055
  }
4053
4056
 
4057
+ // https://github.com/downshift-js/downshift/issues/1674#issuecomment-3924320872
4058
+ var SafeReact = _extends({}, React__namespace);
4059
+ var reactUseId = SafeReact.useId;
4060
+
4054
4061
  // istanbul ignore next
4055
- var useElementIds = 'useId' in React__namespace // Avoid conditional useId call
4056
- ? useElementIdsR18 : useElementIdsLegacy;
4062
+ var useElementIds = typeof reactUseId === 'function' ? useElementIdsR18 : useElementIdsLegacy;
4057
4063
  function useElementIdsR18(_ref) {
4058
4064
  var id = _ref.id,
4059
4065
  tagGroupId = _ref.tagGroupId,
4060
4066
  getTagId = _ref.getTagId;
4061
- // Avoid conditional useId call
4062
- var reactId = "downshift-" + React__namespace.useId();
4067
+ var reactId = "downshift-" + reactUseId();
4063
4068
  if (!id) {
4064
4069
  id = reactId;
4065
4070
  }
4066
- var elementIdsRef = React__namespace.useRef({
4067
- tagGroupId: tagGroupId != null ? tagGroupId : id + "-tag-group",
4068
- getTagId: getTagId != null ? getTagId : function (index) {
4069
- return id + "-tag-" + index;
4070
- }
4071
- });
4072
- return elementIdsRef.current;
4071
+ var elementIds = React__namespace.useMemo(function () {
4072
+ return {
4073
+ tagGroupId: tagGroupId != null ? tagGroupId : id + "-tag-group",
4074
+ getTagId: getTagId != null ? getTagId : function (index) {
4075
+ return id + "-tag-" + index;
4076
+ }
4077
+ };
4078
+ }, [getTagId, id, tagGroupId]);
4079
+ return elementIds;
4073
4080
  }
4074
4081
  function useElementIdsLegacy(_ref2) {
4075
- var _ref2$id = _ref2.id,
4076
- id = _ref2$id === void 0 ? "downshift-" + generateId() : _ref2$id,
4082
+ var id = _ref2.id,
4077
4083
  getTagId = _ref2.getTagId,
4078
4084
  tagGroupId = _ref2.tagGroupId;
4079
- var elementIdsRef = React__namespace.useRef({
4080
- tagGroupId: tagGroupId != null ? tagGroupId : id + "-tag-group",
4081
- getTagId: getTagId != null ? getTagId : function (index) {
4082
- return id + "-tag-" + index;
4083
- }
4084
- });
4085
- return elementIdsRef.current;
4085
+ var baseIdRef = React__namespace.useRef(id != null ? id : "downshift-" + generateId());
4086
+ var baseId = baseIdRef.current;
4087
+ var elementIds = React__namespace.useMemo(function () {
4088
+ return {
4089
+ tagGroupId: tagGroupId != null ? tagGroupId : baseId + "-tag-group",
4090
+ getTagId: getTagId != null ? getTagId : function (index) {
4091
+ return baseId + "-tag-" + index;
4092
+ }
4093
+ };
4094
+ }, [getTagId, baseId, tagGroupId]);
4095
+ return elementIds;
4086
4096
  }
4087
4097
 
4088
4098
  function getInitialState(props) {
@@ -1895,54 +1895,6 @@ var defaultStateValues$1 = {
1895
1895
 
1896
1896
  // istanbul ignore next
1897
1897
  var useIsomorphicLayoutEffect = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined' ? React.useLayoutEffect : React.useEffect;
1898
-
1899
- // istanbul ignore next
1900
- var useElementIds$1 = 'useId' in React // Avoid conditional useId call
1901
- ? function useElementIds(_ref) {
1902
- var id = _ref.id,
1903
- labelId = _ref.labelId,
1904
- menuId = _ref.menuId,
1905
- getItemId = _ref.getItemId,
1906
- toggleButtonId = _ref.toggleButtonId,
1907
- inputId = _ref.inputId;
1908
- // Avoid conditional useId call
1909
- var reactId = "downshift-" + React.useId();
1910
- if (!id) {
1911
- id = reactId;
1912
- }
1913
- var elementIds = React.useMemo(function () {
1914
- return {
1915
- labelId: labelId || id + "-label",
1916
- menuId: menuId || id + "-menu",
1917
- getItemId: getItemId || function (index) {
1918
- return id + "-item-" + index;
1919
- },
1920
- toggleButtonId: toggleButtonId || id + "-toggle-button",
1921
- inputId: inputId || id + "-input"
1922
- };
1923
- }, [getItemId, id, inputId, labelId, menuId, toggleButtonId]);
1924
- return elementIds;
1925
- } : function useElementIds(_ref2) {
1926
- var _ref2$id = _ref2.id,
1927
- id = _ref2$id === void 0 ? "downshift-" + generateId() : _ref2$id,
1928
- labelId = _ref2.labelId,
1929
- menuId = _ref2.menuId,
1930
- getItemId = _ref2.getItemId,
1931
- toggleButtonId = _ref2.toggleButtonId,
1932
- inputId = _ref2.inputId;
1933
- var elementIds = React.useMemo(function () {
1934
- return {
1935
- labelId: labelId || id + "-label",
1936
- menuId: menuId || id + "-menu",
1937
- getItemId: getItemId || function (index) {
1938
- return id + "-item-" + index;
1939
- },
1940
- toggleButtonId: toggleButtonId || id + "-toggle-button",
1941
- inputId: inputId || id + "-input"
1942
- };
1943
- }, [getItemId, id, inputId, labelId, menuId, toggleButtonId]);
1944
- return elementIds;
1945
- };
1946
1898
  function isAcceptedCharacterKey(key) {
1947
1899
  return /^\S{1}$/.test(key);
1948
1900
  }
@@ -2105,13 +2057,13 @@ if (process.env.NODE_ENV !== 'production') {
2105
2057
  return setGetterPropCallInfo;
2106
2058
  };
2107
2059
  }
2108
- function useScrollIntoView(_ref3) {
2109
- var highlightedIndex = _ref3.highlightedIndex,
2110
- isOpen = _ref3.isOpen,
2111
- itemRefs = _ref3.itemRefs,
2112
- getItemNodeFromIndex = _ref3.getItemNodeFromIndex,
2113
- menuElement = _ref3.menuElement,
2114
- scrollIntoViewProp = _ref3.scrollIntoView;
2060
+ function useScrollIntoView(_ref) {
2061
+ var highlightedIndex = _ref.highlightedIndex,
2062
+ isOpen = _ref.isOpen,
2063
+ itemRefs = _ref.itemRefs,
2064
+ getItemNodeFromIndex = _ref.getItemNodeFromIndex,
2065
+ menuElement = _ref.menuElement,
2066
+ scrollIntoViewProp = _ref.scrollIntoView;
2115
2067
  // used not to scroll on highlight by mouse.
2116
2068
  var shouldScrollRef = React.useRef(true);
2117
2069
  // Scroll on highlighted item if change comes from keyboard.
@@ -2133,9 +2085,9 @@ function useScrollIntoView(_ref3) {
2133
2085
  var useControlPropsValidator = noop;
2134
2086
  /* istanbul ignore next */
2135
2087
  if (process.env.NODE_ENV !== 'production') {
2136
- useControlPropsValidator = function useControlPropsValidator(_ref4) {
2137
- var props = _ref4.props,
2138
- state = _ref4.state;
2088
+ useControlPropsValidator = function useControlPropsValidator(_ref2) {
2089
+ var props = _ref2.props,
2090
+ state = _ref2.state;
2139
2091
  // used for checking when props are moving from controlled to uncontrolled.
2140
2092
  var prevPropsRef = React.useRef(props);
2141
2093
  var isInitialMount = useIsInitialMount();
@@ -2458,6 +2410,57 @@ function downshiftSelectReducer(state, props, action) {
2458
2410
  }
2459
2411
  /* eslint-enable complexity */
2460
2412
 
2413
+ // https://github.com/downshift-js/downshift/issues/1674#issuecomment-3924320872
2414
+ var SafeReact$1 = _extends({}, React);
2415
+ var reactUseId$1 = SafeReact$1.useId;
2416
+ var useElementIds$1 = typeof reactUseId$1 === 'function' ? useElementIdsR18$1 : useElementIdsLegacy$1;
2417
+ function useElementIdsR18$1(_ref) {
2418
+ var id = _ref.id,
2419
+ labelId = _ref.labelId,
2420
+ menuId = _ref.menuId,
2421
+ getItemId = _ref.getItemId,
2422
+ toggleButtonId = _ref.toggleButtonId,
2423
+ inputId = _ref.inputId;
2424
+ var reactId = "downshift-" + reactUseId$1();
2425
+ if (!id) {
2426
+ id = reactId;
2427
+ }
2428
+ var elementIds = React.useMemo(function () {
2429
+ return {
2430
+ labelId: labelId != null ? labelId : id + "-label",
2431
+ menuId: menuId != null ? menuId : id + "-menu",
2432
+ getItemId: getItemId != null ? getItemId : function (index) {
2433
+ return id + "-item-" + index;
2434
+ },
2435
+ toggleButtonId: toggleButtonId != null ? toggleButtonId : id + "-toggle-button",
2436
+ inputId: inputId != null ? inputId : id + "-input"
2437
+ };
2438
+ }, [getItemId, id, inputId, labelId, menuId, toggleButtonId]);
2439
+ return elementIds;
2440
+ }
2441
+ function useElementIdsLegacy$1(_ref2) {
2442
+ var id = _ref2.id,
2443
+ labelId = _ref2.labelId,
2444
+ menuId = _ref2.menuId,
2445
+ getItemId = _ref2.getItemId,
2446
+ toggleButtonId = _ref2.toggleButtonId,
2447
+ inputId = _ref2.inputId;
2448
+ var baseIdRef = React.useRef(id != null ? id : "downshift-" + generateId());
2449
+ var baseId = baseIdRef.current;
2450
+ var elementIds = React.useMemo(function () {
2451
+ return {
2452
+ labelId: labelId != null ? labelId : baseId + "-label",
2453
+ menuId: menuId != null ? menuId : baseId + "-menu",
2454
+ getItemId: getItemId != null ? getItemId : function (index) {
2455
+ return baseId + "-item-" + index;
2456
+ },
2457
+ toggleButtonId: toggleButtonId != null ? toggleButtonId : baseId + "-toggle-button",
2458
+ inputId: inputId != null ? inputId : baseId + "-input"
2459
+ };
2460
+ }, [getItemId, inputId, labelId, menuId, toggleButtonId, baseId]);
2461
+ return elementIds;
2462
+ }
2463
+
2461
2464
  var _excluded$3 = ["onClick"],
2462
2465
  _excluded2$3 = ["onMouseLeave", "refKey", "ref"],
2463
2466
  _excluded3$2 = ["onBlur", "onClick", "onPress", "onKeyDown", "refKey", "ref"],
@@ -4029,38 +4032,45 @@ function useTagGroupReducer(state, _props, action) {
4029
4032
  return _extends({}, state, changes);
4030
4033
  }
4031
4034
 
4035
+ // https://github.com/downshift-js/downshift/issues/1674#issuecomment-3924320872
4036
+ var SafeReact = _extends({}, React);
4037
+ var reactUseId = SafeReact.useId;
4038
+
4032
4039
  // istanbul ignore next
4033
- var useElementIds = 'useId' in React // Avoid conditional useId call
4034
- ? useElementIdsR18 : useElementIdsLegacy;
4040
+ var useElementIds = typeof reactUseId === 'function' ? useElementIdsR18 : useElementIdsLegacy;
4035
4041
  function useElementIdsR18(_ref) {
4036
4042
  var id = _ref.id,
4037
4043
  tagGroupId = _ref.tagGroupId,
4038
4044
  getTagId = _ref.getTagId;
4039
- // Avoid conditional useId call
4040
- var reactId = "downshift-" + React.useId();
4045
+ var reactId = "downshift-" + reactUseId();
4041
4046
  if (!id) {
4042
4047
  id = reactId;
4043
4048
  }
4044
- var elementIdsRef = React.useRef({
4045
- tagGroupId: tagGroupId != null ? tagGroupId : id + "-tag-group",
4046
- getTagId: getTagId != null ? getTagId : function (index) {
4047
- return id + "-tag-" + index;
4048
- }
4049
- });
4050
- return elementIdsRef.current;
4049
+ var elementIds = React.useMemo(function () {
4050
+ return {
4051
+ tagGroupId: tagGroupId != null ? tagGroupId : id + "-tag-group",
4052
+ getTagId: getTagId != null ? getTagId : function (index) {
4053
+ return id + "-tag-" + index;
4054
+ }
4055
+ };
4056
+ }, [getTagId, id, tagGroupId]);
4057
+ return elementIds;
4051
4058
  }
4052
4059
  function useElementIdsLegacy(_ref2) {
4053
- var _ref2$id = _ref2.id,
4054
- id = _ref2$id === void 0 ? "downshift-" + generateId() : _ref2$id,
4060
+ var id = _ref2.id,
4055
4061
  getTagId = _ref2.getTagId,
4056
4062
  tagGroupId = _ref2.tagGroupId;
4057
- var elementIdsRef = React.useRef({
4058
- tagGroupId: tagGroupId != null ? tagGroupId : id + "-tag-group",
4059
- getTagId: getTagId != null ? getTagId : function (index) {
4060
- return id + "-tag-" + index;
4061
- }
4062
- });
4063
- return elementIdsRef.current;
4063
+ var baseIdRef = React.useRef(id != null ? id : "downshift-" + generateId());
4064
+ var baseId = baseIdRef.current;
4065
+ var elementIds = React.useMemo(function () {
4066
+ return {
4067
+ tagGroupId: tagGroupId != null ? tagGroupId : baseId + "-tag-group",
4068
+ getTagId: getTagId != null ? getTagId : function (index) {
4069
+ return baseId + "-tag-" + index;
4070
+ }
4071
+ };
4072
+ }, [getTagId, baseId, tagGroupId]);
4073
+ return elementIds;
4064
4074
  }
4065
4075
 
4066
4076
  function getInitialState(props) {
@@ -1805,54 +1805,6 @@ var defaultStateValues$1 = {
1805
1805
 
1806
1806
  // istanbul ignore next
1807
1807
  var useIsomorphicLayoutEffect = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined' ? React__namespace.useLayoutEffect : React__namespace.useEffect;
1808
-
1809
- // istanbul ignore next
1810
- var useElementIds$1 = 'useId' in React__namespace // Avoid conditional useId call
1811
- ? function useElementIds(_ref) {
1812
- var id = _ref.id,
1813
- labelId = _ref.labelId,
1814
- menuId = _ref.menuId,
1815
- getItemId = _ref.getItemId,
1816
- toggleButtonId = _ref.toggleButtonId,
1817
- inputId = _ref.inputId;
1818
- // Avoid conditional useId call
1819
- var reactId = "downshift-" + React__namespace.useId();
1820
- if (!id) {
1821
- id = reactId;
1822
- }
1823
- var elementIds = React__namespace.useMemo(function () {
1824
- return {
1825
- labelId: labelId || id + "-label",
1826
- menuId: menuId || id + "-menu",
1827
- getItemId: getItemId || function (index) {
1828
- return id + "-item-" + index;
1829
- },
1830
- toggleButtonId: toggleButtonId || id + "-toggle-button",
1831
- inputId: inputId || id + "-input"
1832
- };
1833
- }, [getItemId, id, inputId, labelId, menuId, toggleButtonId]);
1834
- return elementIds;
1835
- } : function useElementIds(_ref2) {
1836
- var _ref2$id = _ref2.id,
1837
- id = _ref2$id === void 0 ? "downshift-" + generateId() : _ref2$id,
1838
- labelId = _ref2.labelId,
1839
- menuId = _ref2.menuId,
1840
- getItemId = _ref2.getItemId,
1841
- toggleButtonId = _ref2.toggleButtonId,
1842
- inputId = _ref2.inputId;
1843
- var elementIds = React__namespace.useMemo(function () {
1844
- return {
1845
- labelId: labelId || id + "-label",
1846
- menuId: menuId || id + "-menu",
1847
- getItemId: getItemId || function (index) {
1848
- return id + "-item-" + index;
1849
- },
1850
- toggleButtonId: toggleButtonId || id + "-toggle-button",
1851
- inputId: inputId || id + "-input"
1852
- };
1853
- }, [getItemId, id, inputId, labelId, menuId, toggleButtonId]);
1854
- return elementIds;
1855
- };
1856
1808
  function getInitialState$3(props) {
1857
1809
  var selectedItem = getInitialValue$1(props, 'selectedItem', defaultStateValues$1);
1858
1810
  var isOpen = getInitialValue$1(props, 'isOpen', defaultStateValues$1);
@@ -1977,13 +1929,13 @@ if (process.env.NODE_ENV !== 'production') {
1977
1929
  return setGetterPropCallInfo;
1978
1930
  };
1979
1931
  }
1980
- function useScrollIntoView(_ref3) {
1981
- var highlightedIndex = _ref3.highlightedIndex,
1982
- isOpen = _ref3.isOpen,
1983
- itemRefs = _ref3.itemRefs,
1984
- getItemNodeFromIndex = _ref3.getItemNodeFromIndex,
1985
- menuElement = _ref3.menuElement,
1986
- scrollIntoViewProp = _ref3.scrollIntoView;
1932
+ function useScrollIntoView(_ref) {
1933
+ var highlightedIndex = _ref.highlightedIndex,
1934
+ isOpen = _ref.isOpen,
1935
+ itemRefs = _ref.itemRefs,
1936
+ getItemNodeFromIndex = _ref.getItemNodeFromIndex,
1937
+ menuElement = _ref.menuElement,
1938
+ scrollIntoViewProp = _ref.scrollIntoView;
1987
1939
  // used not to scroll on highlight by mouse.
1988
1940
  var shouldScrollRef = React__namespace.useRef(true);
1989
1941
  // Scroll on highlighted item if change comes from keyboard.
@@ -2005,9 +1957,9 @@ function useScrollIntoView(_ref3) {
2005
1957
  var useControlPropsValidator = noop;
2006
1958
  /* istanbul ignore next */
2007
1959
  if (process.env.NODE_ENV !== 'production') {
2008
- useControlPropsValidator = function useControlPropsValidator(_ref4) {
2009
- var props = _ref4.props,
2010
- state = _ref4.state;
1960
+ useControlPropsValidator = function useControlPropsValidator(_ref2) {
1961
+ var props = _ref2.props,
1962
+ state = _ref2.state;
2011
1963
  // used for checking when props are moving from controlled to uncontrolled.
2012
1964
  var prevPropsRef = React__namespace.useRef(props);
2013
1965
  var isInitialMount = useIsInitialMount();
@@ -2330,6 +2282,57 @@ function downshiftSelectReducer(state, props, action) {
2330
2282
  }
2331
2283
  /* eslint-enable complexity */
2332
2284
 
2285
+ // https://github.com/downshift-js/downshift/issues/1674#issuecomment-3924320872
2286
+ var SafeReact$1 = _extends({}, React__namespace);
2287
+ var reactUseId$1 = SafeReact$1.useId;
2288
+ var useElementIds$1 = typeof reactUseId$1 === 'function' ? useElementIdsR18$1 : useElementIdsLegacy$1;
2289
+ function useElementIdsR18$1(_ref) {
2290
+ var id = _ref.id,
2291
+ labelId = _ref.labelId,
2292
+ menuId = _ref.menuId,
2293
+ getItemId = _ref.getItemId,
2294
+ toggleButtonId = _ref.toggleButtonId,
2295
+ inputId = _ref.inputId;
2296
+ var reactId = "downshift-" + reactUseId$1();
2297
+ if (!id) {
2298
+ id = reactId;
2299
+ }
2300
+ var elementIds = React__namespace.useMemo(function () {
2301
+ return {
2302
+ labelId: labelId != null ? labelId : id + "-label",
2303
+ menuId: menuId != null ? menuId : id + "-menu",
2304
+ getItemId: getItemId != null ? getItemId : function (index) {
2305
+ return id + "-item-" + index;
2306
+ },
2307
+ toggleButtonId: toggleButtonId != null ? toggleButtonId : id + "-toggle-button",
2308
+ inputId: inputId != null ? inputId : id + "-input"
2309
+ };
2310
+ }, [getItemId, id, inputId, labelId, menuId, toggleButtonId]);
2311
+ return elementIds;
2312
+ }
2313
+ function useElementIdsLegacy$1(_ref2) {
2314
+ var id = _ref2.id,
2315
+ labelId = _ref2.labelId,
2316
+ menuId = _ref2.menuId,
2317
+ getItemId = _ref2.getItemId,
2318
+ toggleButtonId = _ref2.toggleButtonId,
2319
+ inputId = _ref2.inputId;
2320
+ var baseIdRef = React__namespace.useRef(id != null ? id : "downshift-" + generateId());
2321
+ var baseId = baseIdRef.current;
2322
+ var elementIds = React__namespace.useMemo(function () {
2323
+ return {
2324
+ labelId: labelId != null ? labelId : baseId + "-label",
2325
+ menuId: menuId != null ? menuId : baseId + "-menu",
2326
+ getItemId: getItemId != null ? getItemId : function (index) {
2327
+ return baseId + "-item-" + index;
2328
+ },
2329
+ toggleButtonId: toggleButtonId != null ? toggleButtonId : baseId + "-toggle-button",
2330
+ inputId: inputId != null ? inputId : baseId + "-input"
2331
+ };
2332
+ }, [getItemId, inputId, labelId, menuId, toggleButtonId, baseId]);
2333
+ return elementIds;
2334
+ }
2335
+
2333
2336
  var _excluded$3 = ["onClick"],
2334
2337
  _excluded2$3 = ["onMouseLeave", "refKey", "ref"],
2335
2338
  _excluded3$2 = ["onBlur", "onClick", "onPress", "onKeyDown", "refKey", "ref"],
@@ -3901,38 +3904,45 @@ function useTagGroupReducer(state, _props, action) {
3901
3904
  return _extends({}, state, changes);
3902
3905
  }
3903
3906
 
3907
+ // https://github.com/downshift-js/downshift/issues/1674#issuecomment-3924320872
3908
+ var SafeReact = _extends({}, React__namespace);
3909
+ var reactUseId = SafeReact.useId;
3910
+
3904
3911
  // istanbul ignore next
3905
- var useElementIds = 'useId' in React__namespace // Avoid conditional useId call
3906
- ? useElementIdsR18 : useElementIdsLegacy;
3912
+ var useElementIds = typeof reactUseId === 'function' ? useElementIdsR18 : useElementIdsLegacy;
3907
3913
  function useElementIdsR18(_ref) {
3908
3914
  var id = _ref.id,
3909
3915
  tagGroupId = _ref.tagGroupId,
3910
3916
  getTagId = _ref.getTagId;
3911
- // Avoid conditional useId call
3912
- var reactId = "downshift-" + React__namespace.useId();
3917
+ var reactId = "downshift-" + reactUseId();
3913
3918
  if (!id) {
3914
3919
  id = reactId;
3915
3920
  }
3916
- var elementIdsRef = React__namespace.useRef({
3917
- tagGroupId: tagGroupId != null ? tagGroupId : id + "-tag-group",
3918
- getTagId: getTagId != null ? getTagId : function (index) {
3919
- return id + "-tag-" + index;
3920
- }
3921
- });
3922
- return elementIdsRef.current;
3921
+ var elementIds = React__namespace.useMemo(function () {
3922
+ return {
3923
+ tagGroupId: tagGroupId != null ? tagGroupId : id + "-tag-group",
3924
+ getTagId: getTagId != null ? getTagId : function (index) {
3925
+ return id + "-tag-" + index;
3926
+ }
3927
+ };
3928
+ }, [getTagId, id, tagGroupId]);
3929
+ return elementIds;
3923
3930
  }
3924
3931
  function useElementIdsLegacy(_ref2) {
3925
- var _ref2$id = _ref2.id,
3926
- id = _ref2$id === void 0 ? "downshift-" + generateId() : _ref2$id,
3932
+ var id = _ref2.id,
3927
3933
  getTagId = _ref2.getTagId,
3928
3934
  tagGroupId = _ref2.tagGroupId;
3929
- var elementIdsRef = React__namespace.useRef({
3930
- tagGroupId: tagGroupId != null ? tagGroupId : id + "-tag-group",
3931
- getTagId: getTagId != null ? getTagId : function (index) {
3932
- return id + "-tag-" + index;
3933
- }
3934
- });
3935
- return elementIdsRef.current;
3935
+ var baseIdRef = React__namespace.useRef(id != null ? id : "downshift-" + generateId());
3936
+ var baseId = baseIdRef.current;
3937
+ var elementIds = React__namespace.useMemo(function () {
3938
+ return {
3939
+ tagGroupId: tagGroupId != null ? tagGroupId : baseId + "-tag-group",
3940
+ getTagId: getTagId != null ? getTagId : function (index) {
3941
+ return baseId + "-tag-" + index;
3942
+ }
3943
+ };
3944
+ }, [getTagId, baseId, tagGroupId]);
3945
+ return elementIds;
3936
3946
  }
3937
3947
 
3938
3948
  function getInitialState(props) {