@razorpay/blade 8.10.1 → 8.10.3

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.
@@ -5,9 +5,11 @@ import _typeof from '@babel/runtime/helpers/typeof';
5
5
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
6
6
  import styled, { ThemeProvider, css, keyframes } from 'styled-components';
7
7
  import _objectWithoutProperties$1 from '@babel/runtime/helpers/objectWithoutProperties';
8
- import { FloatingDelayGroup, FloatingOverlay, useFloating, FloatingFocusManager, shift, flip, offset, arrow, autoUpdate, useTransitionStyles, useDelayGroup, useDelayGroupContext, useHover, useFocus, useRole, useInteractions, FloatingPortal, FloatingArrow } from '@floating-ui/react';
8
+ import { FloatingDelayGroup, detectOverflow, useFloating, FloatingOverlay, FloatingFocusManager, shift, flip, offset, arrow, autoUpdate, useTransitionStyles, useDelayGroup, useDelayGroupContext, useHover, useFocus, useRole, useInteractions, FloatingPortal, FloatingArrow } from '@floating-ui/react';
9
9
  import _toConsumableArray$1 from '@babel/runtime/helpers/toConsumableArray';
10
10
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
11
+ import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
12
+ import _regeneratorRuntime from '@babel/runtime/regenerator';
11
13
  import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
12
14
  import _createClass from '@babel/runtime/helpers/createClass';
13
15
  import { createPortal } from 'react-dom';
@@ -2097,14 +2099,14 @@ var MetaConstants = {
2097
2099
  VisuallyHidden: 'visually-hidden'
2098
2100
  };
2099
2101
 
2100
- function ownKeys$5R(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2102
+ function ownKeys$5S(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2101
2103
 
2102
- function _objectSpread$5Q(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5R(Object(source), !0).forEach(function (key) { _defineProperty$2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5R(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2104
+ function _objectSpread$5R(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5S(Object(source), !0).forEach(function (key) { _defineProperty$2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5S(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2103
2105
 
2104
2106
  var metaAttribute = function metaAttribute(_ref) {
2105
2107
  var name = _ref.name,
2106
2108
  testID = _ref.testID;
2107
- return _objectSpread$5Q(_objectSpread$5Q({}, name ? _defineProperty$2({}, "data-".concat(MetaConstants.Component), name) : {}), testID ? _defineProperty$2({}, "data-testid", testID) : {});
2109
+ return _objectSpread$5R(_objectSpread$5R({}, name ? _defineProperty$2({}, "data-".concat(MetaConstants.Component), name) : {}), testID ? _defineProperty$2({}, "data-testid", testID) : {});
2108
2110
  };
2109
2111
 
2110
2112
  var getColorScheme = function getColorScheme() {
@@ -2637,9 +2639,9 @@ var isValidAllowedChildren = function isValidAllowedChildren(component, id) {
2637
2639
  return getComponentId(component) === id;
2638
2640
  };
2639
2641
 
2640
- function ownKeys$5Q(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2642
+ function ownKeys$5R(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2641
2643
 
2642
- function _objectSpread$5P(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5Q(Object(source), !0).forEach(function (key) { _defineProperty$2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5Q(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2644
+ function _objectSpread$5Q(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5R(Object(source), !0).forEach(function (key) { _defineProperty$2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5R(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2643
2645
 
2644
2646
  var accessibilityValue = {
2645
2647
  valueMax: 'aria-valuemax',
@@ -2656,7 +2658,7 @@ var accessibilityState = {
2656
2658
  }; // TODO:
2657
2659
  // accessibilityViewIsModal
2658
2660
 
2659
- var accessibilityMap = _objectSpread$5P(_objectSpread$5P(_objectSpread$5P({}, accessibilityState), accessibilityValue), {}, {
2661
+ var accessibilityMap = _objectSpread$5Q(_objectSpread$5Q(_objectSpread$5Q({}, accessibilityState), accessibilityValue), {}, {
2660
2662
  activeDescendant: 'aria-activedescendant',
2661
2663
  atomic: 'aria-atomic',
2662
2664
  autoComplete: 'aria-autocomplete',
@@ -3679,6 +3681,19 @@ var assignWithoutSideEffects = function assignWithoutSideEffects(component, sour
3679
3681
  return /*#__PURE__*/Object.assign(component, sourceObj);
3680
3682
  };
3681
3683
 
3684
+ // The reason we need to omit them is because styled-component thinks they are valid html attributes
3685
+ // because fontFamily, fontWeight etc are valid SVG props.
3686
+ // Here are list of valid props which emotion checks https://github.com/emotion-js/emotion/blob/main/packages/is-prop-valid/src/props.js
3687
+ // Thus we just need to ignore few of these
3688
+ var filterProps = ['cursor', 'display', 'overflow', 'order', 'color', 'fontFamily', 'fontWeight', 'fontSize', 'fontStyle', 'lineHeight', // width height are only accepted in few components,
3689
+ // canvas, embed, iframe, input, object, video, img
3690
+ // none of them are currently supported in Box
3691
+ 'width', 'height'];
3692
+
3693
+ var omitPropsFromHTML = function omitPropsFromHTML(prop, defaultValidatorFn) {
3694
+ return !filterProps.includes(prop) && defaultValidatorFn(prop);
3695
+ };
3696
+
3682
3697
  /**
3683
3698
  * is the role supposed to be `menu`
3684
3699
  */
@@ -3769,9 +3784,9 @@ var componentIds$1 = {
3769
3784
  ActionListSection: 'ActionListSection'
3770
3785
  };
3771
3786
 
3772
- function ownKeys$5P(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3787
+ function ownKeys$5Q(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3773
3788
 
3774
- function _objectSpread$5O(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5P(Object(source), !0).forEach(function (key) { _defineProperty$2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5P(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
3789
+ function _objectSpread$5P(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5Q(Object(source), !0).forEach(function (key) { _defineProperty$2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5Q(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
3775
3790
 
3776
3791
  /**
3777
3792
  * Returns if there is ActionListItem after ActionListSection
@@ -3838,7 +3853,7 @@ var getActionListProperties = function getActionListProperties(children) {
3838
3853
  }); // push the item in the appropriate bucket
3839
3854
 
3840
3855
  if (foundSection) {
3841
- foundSection === null || foundSection === void 0 ? void 0 : foundSection.data.push(_objectSpread$5O(_objectSpread$5O({}, child.props), {}, {
3856
+ foundSection === null || foundSection === void 0 ? void 0 : foundSection.data.push(_objectSpread$5P(_objectSpread$5P({}, child.props), {}, {
3842
3857
  _index: currentIndex
3843
3858
  }));
3844
3859
  } else {
@@ -3846,7 +3861,7 @@ var getActionListProperties = function getActionListProperties(children) {
3846
3861
  sectionData.push({
3847
3862
  title: currentSection,
3848
3863
  hideDivider: hideDivider,
3849
- data: [_objectSpread$5O(_objectSpread$5O({}, child.props), {}, {
3864
+ data: [_objectSpread$5P(_objectSpread$5P({}, child.props), {}, {
3850
3865
  _index: currentIndex
3851
3866
  })]
3852
3867
  });
@@ -3985,9 +4000,9 @@ var fontFamily = {
3985
4000
  code: 'monospace'
3986
4001
  };
3987
4002
 
3988
- function ownKeys$5O(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4003
+ function ownKeys$5P(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3989
4004
 
3990
- function _objectSpread$5N(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5O(Object(source), !0).forEach(function (key) { _defineProperty$2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5O(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4005
+ function _objectSpread$5O(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5P(Object(source), !0).forEach(function (key) { _defineProperty$2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5P(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
3991
4006
  var fontWeight = {
3992
4007
  regular: 400,
3993
4008
  bold: 700
@@ -3995,7 +4010,7 @@ var fontWeight = {
3995
4010
  ({
3996
4011
  onDesktop: {
3997
4012
  fonts: {
3998
- family: _objectSpread$5N({}, fontFamily),
4013
+ family: _objectSpread$5O({}, fontFamily),
3999
4014
  size: {
4000
4015
  10: 9,
4001
4016
  25: 10,
@@ -4012,7 +4027,7 @@ var fontWeight = {
4012
4027
  900: 36,
4013
4028
  1000: 40
4014
4029
  },
4015
- weight: _objectSpread$5N({}, fontWeight)
4030
+ weight: _objectSpread$5O({}, fontWeight)
4016
4031
  },
4017
4032
  lineHeights: {
4018
4033
  0: 0,
@@ -4032,7 +4047,7 @@ var fontWeight = {
4032
4047
  },
4033
4048
  onMobile: {
4034
4049
  fonts: {
4035
- family: _objectSpread$5N({}, fontFamily),
4050
+ family: _objectSpread$5O({}, fontFamily),
4036
4051
  size: {
4037
4052
  10: 9,
4038
4053
  25: 10,
@@ -4049,7 +4064,7 @@ var fontWeight = {
4049
4064
  900: 32,
4050
4065
  1000: 32
4051
4066
  },
4052
- weight: _objectSpread$5N({}, fontWeight)
4067
+ weight: _objectSpread$5O({}, fontWeight)
4053
4068
  },
4054
4069
  lineHeights: {
4055
4070
  0: 0,
@@ -4201,9 +4216,9 @@ var size = {
4201
4216
 
4202
4217
  var _excluded$4T = ["base"];
4203
4218
 
4204
- function ownKeys$5N(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4219
+ function ownKeys$5O(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4205
4220
 
4206
- function _objectSpread$5M(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5N(Object(source), !0).forEach(function (key) { _defineProperty$2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5N(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4221
+ function _objectSpread$5N(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5O(Object(source), !0).forEach(function (key) { _defineProperty$2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5O(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4207
4222
 
4208
4223
  /**
4209
4224
  * A helper function that returns the exact value for that breakpoint on passing the prop and breakpoint
@@ -4458,7 +4473,7 @@ var getAllMediaQueries = function getAllMediaQueries(props) {
4458
4473
  };
4459
4474
 
4460
4475
  var getBaseBoxStyles = function getBaseBoxStyles(props) {
4461
- return _objectSpread$5M(_objectSpread$5M({}, getAllProps(props)), getAllMediaQueries(props));
4476
+ return _objectSpread$5N(_objectSpread$5N({}, getAllProps(props)), getAllMediaQueries(props));
4462
4477
  };
4463
4478
 
4464
4479
  var ThemeContext = /*#__PURE__*/createContext({
@@ -4485,9 +4500,9 @@ var useTheme = function useTheme() {
4485
4500
  return themeContext;
4486
4501
  };
4487
4502
 
4488
- function ownKeys$5M(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4503
+ function ownKeys$5N(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4489
4504
 
4490
- function _objectSpread$5L(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5M(Object(source), !0).forEach(function (key) { _defineProperty$2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5M(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4505
+ function _objectSpread$5M(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5N(Object(source), !0).forEach(function (key) { _defineProperty$2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5N(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4491
4506
 
4492
4507
  /**
4493
4508
  * Reusable hook to be used in BladeProvider.native & BladeProvider.web file
@@ -4519,7 +4534,7 @@ var useBladeProvider = function useBladeProvider(_ref) {
4519
4534
  var onColorMode = "on".concat(toTitleCase(colorScheme));
4520
4535
  var onDeviceType = "on".concat(toTitleCase(matchedDeviceType));
4521
4536
 
4522
- var theme = _objectSpread$5L(_objectSpread$5L({}, themeTokens), {}, {
4537
+ var theme = _objectSpread$5M(_objectSpread$5M({}, themeTokens), {}, {
4523
4538
  colors: themeTokens.colors[onColorMode],
4524
4539
  elevation: themeTokens.elevation[onColorMode],
4525
4540
  typography: themeTokens.typography[onDeviceType]
@@ -4633,9 +4648,9 @@ var BladeProvider = function BladeProvider(_ref) {
4633
4648
 
4634
4649
  var _excluded$4S = ["theme", "colorScheme", "children", "className", "id"];
4635
4650
 
4636
- function ownKeys$5L(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4651
+ function ownKeys$5M(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4637
4652
 
4638
- function _objectSpread$5K(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5L(Object(source), !0).forEach(function (key) { _defineProperty$2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5L(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4653
+ function _objectSpread$5L(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5M(Object(source), !0).forEach(function (key) { _defineProperty$2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5M(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4639
4654
 
4640
4655
  var getMemoDependency = function getMemoDependency(props) {
4641
4656
  // These are the props that change nothing in the getBaseBoxStyles calculations
@@ -4676,11 +4691,11 @@ var useMemoizedStyles = function useMemoizedStyles(boxProps) {
4676
4691
  var _useTheme = useTheme(),
4677
4692
  colorScheme = _useTheme.colorScheme;
4678
4693
 
4679
- var boxPropsMemoDependency = getMemoDependency(_objectSpread$5K(_objectSpread$5K({}, boxProps), {}, {
4694
+ var boxPropsMemoDependency = getMemoDependency(_objectSpread$5L(_objectSpread$5L({}, boxProps), {}, {
4680
4695
  colorScheme: colorScheme
4681
4696
  }));
4682
4697
  var boxPropsCSSObject = React__default.useMemo(function () {
4683
- return getBaseBoxStyles(_objectSpread$5K(_objectSpread$5K({}, boxProps), {}, {
4698
+ return getBaseBoxStyles(_objectSpread$5L(_objectSpread$5L({}, boxProps), {}, {
4684
4699
  theme: boxProps.theme
4685
4700
  }));
4686
4701
  }, // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -4689,21 +4704,21 @@ var useMemoizedStyles = function useMemoizedStyles(boxProps) {
4689
4704
  };
4690
4705
 
4691
4706
  var BaseBox = /*#__PURE__*/styled.div.withConfig({
4692
- displayName: "BaseBoxweb__BaseBox",
4693
- componentId: "sc-1icfu8j-0"
4707
+ shouldForwardProp: omitPropsFromHTML,
4708
+ displayName: 'BaseBox'
4694
4709
  })(function (props) {
4695
4710
  var cssObject = useMemoizedStyles(props);
4696
4711
  return cssObject;
4697
4712
  });
4698
4713
 
4699
- function ownKeys$5K(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4714
+ function ownKeys$5L(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4700
4715
 
4701
- function _objectSpread$5J(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5K(Object(source), !0).forEach(function (key) { _defineProperty$2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5K(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4716
+ function _objectSpread$5K(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5L(Object(source), !0).forEach(function (key) { _defineProperty$2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5L(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4702
4717
  var StyledActionList = /*#__PURE__*/styled(BaseBox).withConfig({
4703
4718
  displayName: "StyledActionListweb__StyledActionList",
4704
4719
  componentId: "lwcs1w-0"
4705
4720
  })(function (props) {
4706
- return _objectSpread$5J({}, getBaseActionListStyles(props));
4721
+ return _objectSpread$5K({}, getBaseActionListStyles(props));
4707
4722
  });
4708
4723
 
4709
4724
  var getBaseListBoxWrapperStyles = function getBaseListBoxWrapperStyles(props) {
@@ -4713,16 +4728,16 @@ var getBaseListBoxWrapperStyles = function getBaseListBoxWrapperStyles(props) {
4713
4728
  };
4714
4729
  };
4715
4730
 
4716
- function ownKeys$5J(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4731
+ function ownKeys$5K(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4717
4732
 
4718
- function _objectSpread$5I(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5J(Object(source), !0).forEach(function (key) { _defineProperty$2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5J(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4733
+ function _objectSpread$5J(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5K(Object(source), !0).forEach(function (key) { _defineProperty$2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5K(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4719
4734
  var StyledListBoxWrapper = /*#__PURE__*/styled(BaseBox).withConfig({
4720
4735
  displayName: "StyledListBoxWrapperweb__StyledListBoxWrapper",
4721
4736
  componentId: "sc-1eo4pr6-0"
4722
4737
  })(function (props) {
4723
4738
  var _objectSpread2;
4724
4739
 
4725
- return _objectSpread$5I((_objectSpread2 = {}, _defineProperty$2(_objectSpread2, "& [role=group]:last-child > [role=separator]:last-child", {
4740
+ return _objectSpread$5J((_objectSpread2 = {}, _defineProperty$2(_objectSpread2, "& [role=group]:last-child > [role=separator]:last-child", {
4726
4741
  display: 'none'
4727
4742
  }), _defineProperty$2(_objectSpread2, "overflowY", 'auto'), _objectSpread2), getBaseListBoxWrapperStyles({
4728
4743
  theme: props.theme,
@@ -4766,9 +4781,9 @@ var useBottomSheetAndDropdownGlue = function useBottomSheetAndDropdownGlue() {
4766
4781
  return state;
4767
4782
  };
4768
4783
 
4769
- function ownKeys$5I(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4784
+ function ownKeys$5J(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4770
4785
 
4771
- function _objectSpread$5H(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5I(Object(source), !0).forEach(function (key) { _defineProperty$2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5I(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4786
+ function _objectSpread$5I(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5J(Object(source), !0).forEach(function (key) { _defineProperty$2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5J(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4772
4787
 
4773
4788
  var _ActionListBox = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
4774
4789
  var childrenWithId = _ref.childrenWithId,
@@ -4778,7 +4793,7 @@ var _ActionListBox = /*#__PURE__*/React__default.forwardRef(function (_ref, ref)
4778
4793
  var _useBottomSheetContex = useBottomSheetContext(),
4779
4794
  isInBottomSheet = _useBottomSheetContex.isInBottomSheet;
4780
4795
 
4781
- return /*#__PURE__*/jsx(StyledListBoxWrapper, _objectSpread$5H(_objectSpread$5H({
4796
+ return /*#__PURE__*/jsx(StyledListBoxWrapper, _objectSpread$5I(_objectSpread$5I({
4782
4797
  isInBottomSheet: isInBottomSheet,
4783
4798
  ref: ref
4784
4799
  }, makeAccessible({
@@ -4793,14 +4808,6 @@ var ActionListBox = /*#__PURE__*/assignWithoutSideEffects(_ActionListBox, {
4793
4808
  displayName: 'ActionListBox'
4794
4809
  });
4795
4810
 
4796
- /*
4797
- * This content is licensed according to the W3C Software License at
4798
- * https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document
4799
- *
4800
- * This software or document includes material copied from or derived from
4801
- * https://www.w3.org/WAI/ARIA/apg/example-index/combobox/combobox-select-only.html.
4802
- * Copyright © 2022 W3C® (MIT, ERCIM, Keio, Beihang)
4803
- */
4804
4811
  var componentIds = {
4805
4812
  DropdownOverlay: 'DropdownOverlay',
4806
4813
  Dropdown: 'Dropdown',
@@ -5087,11 +5094,101 @@ var makeInputDisplayValue = function makeInputDisplayValue(selectedIndices, opti
5087
5094
  return "".concat(selectedIndices.length, " items selected");
5088
5095
  };
5089
5096
 
5097
+ /**
5098
+ * This object is used for calculating overflows in dropdown overlay.
5099
+ * 400 is used since max-width of dropdown overlay is 400px.
5100
+ */
5101
+ var POSITION_THRESHOLDS = {
5102
+ top: -400,
5103
+ bottom: -300,
5104
+ left: -400,
5105
+ right: -400
5106
+ };
5107
+ /**
5108
+ * This function calculates the position of dropdown overlay with respect to dropdown trigger element.
5109
+ * For non-menus (e.g SelectInput), position is flipped if overflow is on bottom.
5110
+ * For menus (e.g. DropdownButton), position is flipped if overflow is on right or bottom.
5111
+ * Additional spacing is added to clientHeight to provide spacing above the dropdown trigger.
5112
+ */
5113
+
5114
+ var getDropdownOverlayPosition = function getDropdownOverlayPosition(_ref) {
5115
+ var position = _ref.overflow,
5116
+ isMenu = _ref.isMenu,
5117
+ triggererEl = _ref.triggererEl;
5118
+ var zeroSpacing = 'spacing.0';
5119
+ var bottom = position.bottom,
5120
+ right = position.right;
5121
+ var newPosition = {
5122
+ left: zeroSpacing
5123
+ };
5124
+
5125
+ if (!isMenu) {
5126
+ if (bottom > POSITION_THRESHOLDS.bottom) {
5127
+ newPosition.bottom = "".concat(Number(triggererEl === null || triggererEl === void 0 ? void 0 : triggererEl.clientHeight) + Number(size[32]), "px");
5128
+ }
5129
+
5130
+ console.log({
5131
+ newPosition: newPosition
5132
+ });
5133
+ return newPosition;
5134
+ }
5135
+
5136
+ if (right > POSITION_THRESHOLDS.right) {
5137
+ newPosition.right = zeroSpacing;
5138
+ newPosition.left = undefined;
5139
+ }
5140
+
5141
+ if (bottom > POSITION_THRESHOLDS.bottom) {
5142
+ newPosition.bottom = "".concat(Number(triggererEl === null || triggererEl === void 0 ? void 0 : triggererEl.clientHeight) + Number(size[20]), "px");
5143
+ newPosition.top = undefined;
5144
+ }
5145
+
5146
+ return newPosition;
5147
+ };
5148
+ var getDropdownOverflowMiddleware = function getDropdownOverflowMiddleware(_ref2) {
5149
+ var isMenu = _ref2.isMenu,
5150
+ triggererRef = _ref2.triggererRef,
5151
+ setDropdownPosition = _ref2.setDropdownPosition;
5152
+ return {
5153
+ name: 'detectOverflowMiddleware',
5154
+ fn: function fn(state) {
5155
+ return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
5156
+ var overflow, position;
5157
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
5158
+ while (1) {
5159
+ switch (_context.prev = _context.next) {
5160
+ case 0:
5161
+ _context.next = 2;
5162
+ return detectOverflow(state, {
5163
+ elementContext: 'reference'
5164
+ });
5165
+
5166
+ case 2:
5167
+ overflow = _context.sent;
5168
+ position = getDropdownOverlayPosition({
5169
+ overflow: overflow,
5170
+ isMenu: isMenu,
5171
+ triggererEl: triggererRef.current
5172
+ });
5173
+ setDropdownPosition(position);
5174
+ return _context.abrupt("return", {});
5175
+
5176
+ case 6:
5177
+ case "end":
5178
+ return _context.stop();
5179
+ }
5180
+ }
5181
+ }, _callee);
5182
+ }))();
5183
+ }
5184
+ };
5185
+ };
5186
+
5090
5187
  var _excluded$4R = ["isOpen", "setIsOpen", "close", "selectedIndices", "setSelectedIndices", "activeIndex", "setActiveIndex", "shouldIgnoreBlur", "setShouldIgnoreBlur", "isKeydownPressed", "setIsKeydownPressed", "options", "selectionType", "changeCallbackTriggerer", "setChangeCallbackTriggerer", "isControlled", "setControlledValueIndices"];
5091
5188
 
5092
- function ownKeys$5H(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
5189
+ function ownKeys$5I(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
5093
5190
 
5094
- function _objectSpread$5G(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5H(Object(source), !0).forEach(function (key) { _defineProperty$2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5H(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
5191
+ function _objectSpread$5H(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5I(Object(source), !0).forEach(function (key) { _defineProperty$2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5I(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
5095
5192
 
5096
5193
  var noop$1 = function noop() {};
5097
5194
 
@@ -5387,7 +5484,7 @@ var useDropdown = function useDropdown() {
5387
5484
  }
5388
5485
  };
5389
5486
 
5390
- return _objectSpread$5G({
5487
+ return _objectSpread$5H({
5391
5488
  isOpen: isOpen,
5392
5489
  setIsOpen: setIsOpen,
5393
5490
  close: close,
@@ -5414,9 +5511,9 @@ var useDropdown = function useDropdown() {
5414
5511
  }, rest);
5415
5512
  };
5416
5513
 
5417
- function ownKeys$5G(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
5514
+ function ownKeys$5H(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
5418
5515
 
5419
- function _objectSpread$5F(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5G(Object(source), !0).forEach(function (key) { _defineProperty$2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5G(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
5516
+ function _objectSpread$5G(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5H(Object(source), !0).forEach(function (key) { _defineProperty$2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5H(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
5420
5517
  var ActionListContext = /*#__PURE__*/React__default.createContext({
5421
5518
  surfaceLevel: 2
5422
5519
  });
@@ -5526,7 +5623,7 @@ var _ActionList = function _ActionList(_ref) {
5526
5623
  sectionData: sectionData,
5527
5624
  isMultiSelectable: isMultiSelectable,
5528
5625
  ref: actionListItemRef
5529
- }) : /*#__PURE__*/jsxs(StyledActionList, _objectSpread$5F(_objectSpread$5F(_objectSpread$5F({
5626
+ }) : /*#__PURE__*/jsxs(StyledActionList, _objectSpread$5G(_objectSpread$5G(_objectSpread$5G({
5530
5627
  isInBottomSheet: isInBottomSheet,
5531
5628
  surfaceLevel: surfaceLevel,
5532
5629
  id: "".concat(dropdownBaseId, "-actionlist")
@@ -5571,14 +5668,14 @@ var getBaseActionListItemStyles = function getBaseActionListItemStyles(props) {
5571
5668
  };
5572
5669
  };
5573
5670
 
5574
- function ownKeys$5F(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
5671
+ function ownKeys$5G(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
5575
5672
 
5576
- function _objectSpread$5E(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5F(Object(source), !0).forEach(function (key) { _defineProperty$2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5F(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
5673
+ function _objectSpread$5F(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5G(Object(source), !0).forEach(function (key) { _defineProperty$2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5G(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
5577
5674
  var StyledActionListItem = /*#__PURE__*/styled(BaseBox).withConfig({
5578
5675
  displayName: "StyledActionListItemweb__StyledActionListItem",
5579
5676
  componentId: "sc-1okp9u4-0"
5580
5677
  })(function (props) {
5581
- return _objectSpread$5E(_objectSpread$5E({}, getBaseActionListItemStyles(props)), {}, {
5678
+ return _objectSpread$5F(_objectSpread$5F({}, getBaseActionListItemStyles(props)), {}, {
5582
5679
  // fixes bug in web where the if rendered as a link it's messing the styles
5583
5680
  display: 'block',
5584
5681
  // Web-specific styles
@@ -5594,6 +5691,10 @@ var StyledActionListItem = /*#__PURE__*/styled(BaseBox).withConfig({
5594
5691
  });
5595
5692
  });
5596
5693
 
5694
+ function ownKeys$5F(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
5695
+
5696
+ function _objectSpread$5E(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5F(Object(source), !0).forEach(function (key) { _defineProperty$2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5F(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
5697
+
5597
5698
  var getBaseTextStyles = function getBaseTextStyles(_ref) {
5598
5699
  var _ref$color = _ref.color,
5599
5700
  color = _ref$color === void 0 ? 'surface.text.normal.lowContrast' : _ref$color,
@@ -5607,6 +5708,7 @@ var getBaseTextStyles = function getBaseTextStyles(_ref) {
5607
5708
  fontStyle = _ref$fontStyle === void 0 ? 'normal' : _ref$fontStyle,
5608
5709
  _ref$textDecorationLi = _ref.textDecorationLine,
5609
5710
  textDecorationLine = _ref$textDecorationLi === void 0 ? 'none' : _ref$textDecorationLi,
5711
+ numberOfLines = _ref.numberOfLines,
5610
5712
  _ref$lineHeight = _ref.lineHeight,
5611
5713
  lineHeight = _ref$lineHeight === void 0 ? 100 : _ref$lineHeight,
5612
5714
  textAlign = _ref.textAlign,
@@ -5616,7 +5718,23 @@ var getBaseTextStyles = function getBaseTextStyles(_ref) {
5616
5718
  var themeFontSize = makeTypographySize(theme.typography.fonts.size[fontSize]);
5617
5719
  var themeFontWeight = theme.typography.fonts.weight[fontWeight];
5618
5720
  var themeLineHeight = makeTypographySize(theme.typography.lineHeights[lineHeight]);
5619
- return {
5721
+ var truncateStyles = {};
5722
+
5723
+ if (numberOfLines !== undefined) {
5724
+ if (isReactNative$4()) {
5725
+ truncateStyles = {};
5726
+ }
5727
+
5728
+ truncateStyles = {
5729
+ overflow: 'hidden',
5730
+ display: '-webkit-box',
5731
+ 'line-clamp': "".concat(numberOfLines),
5732
+ '-webkit-line-clamp': "".concat(numberOfLines),
5733
+ '-webkit-box-orient': 'vertical'
5734
+ };
5735
+ }
5736
+
5737
+ return _objectSpread$5E({
5620
5738
  color: textColor,
5621
5739
  fontFamily: themeFontFamily,
5622
5740
  fontSize: themeFontSize,
@@ -5627,7 +5745,7 @@ var getBaseTextStyles = function getBaseTextStyles(_ref) {
5627
5745
  textAlign: textAlign,
5628
5746
  margin: 0,
5629
5747
  padding: 0
5630
- };
5748
+ }, truncateStyles);
5631
5749
  };
5632
5750
 
5633
5751
  /**
@@ -5848,15 +5966,15 @@ var useStyledProps = function useStyledProps(props) {
5848
5966
  return styledPropsWithoutUndefined;
5849
5967
  };
5850
5968
 
5851
- var _excluded$4Q = ["color", "fontFamily", "fontSize", "fontWeight", "fontStyle", "textDecorationLine", "lineHeight", "textAlign"],
5969
+ var _excluded$4Q = ["color", "fontFamily", "fontSize", "fontWeight", "fontStyle", "textDecorationLine", "numberOfLines", "lineHeight", "textAlign"],
5852
5970
  _excluded2$1 = ["id", "color", "fontFamily", "fontSize", "fontWeight", "fontStyle", "textDecorationLine", "lineHeight", "as", "textAlign", "children", "truncateAfterLines", "className", "style", "accessibilityProps", "componentName", "testID"];
5853
5971
 
5854
5972
  function ownKeys$5D(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
5855
5973
 
5856
5974
  function _objectSpread$5C(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5D(Object(source), !0).forEach(function (key) { _defineProperty$2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5D(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
5857
5975
  var StyledBaseText = /*#__PURE__*/styled.div.withConfig({
5858
- displayName: "BaseTextweb__StyledBaseText",
5859
- componentId: "sc-1ob51ew-0"
5976
+ shouldForwardProp: omitPropsFromHTML,
5977
+ displayName: 'StyledBaseText'
5860
5978
  })(function (_ref) {
5861
5979
  var color = _ref.color,
5862
5980
  fontFamily = _ref.fontFamily,
@@ -5864,6 +5982,7 @@ var StyledBaseText = /*#__PURE__*/styled.div.withConfig({
5864
5982
  fontWeight = _ref.fontWeight,
5865
5983
  fontStyle = _ref.fontStyle,
5866
5984
  textDecorationLine = _ref.textDecorationLine,
5985
+ numberOfLines = _ref.numberOfLines,
5867
5986
  lineHeight = _ref.lineHeight,
5868
5987
  textAlign = _ref.textAlign,
5869
5988
  props = _objectWithoutProperties$1(_ref, _excluded$4Q);
@@ -5876,6 +5995,7 @@ var StyledBaseText = /*#__PURE__*/styled.div.withConfig({
5876
5995
  fontWeight: fontWeight,
5877
5996
  fontStyle: fontStyle,
5878
5997
  textDecorationLine: textDecorationLine,
5998
+ numberOfLines: numberOfLines,
5879
5999
  lineHeight: lineHeight,
5880
6000
  textAlign: textAlign,
5881
6001
  theme: props.theme
@@ -5924,14 +6044,27 @@ var BaseText = function BaseText(_ref2) {
5924
6044
  }));
5925
6045
  };
5926
6046
 
5927
- var _excluded$4P = ["size", "type", "contrast", "color", "children", "testID"];
6047
+ var useValidateAsProp = function useValidateAsProp(_ref) {
6048
+ var as = _ref.as,
6049
+ componentName = _ref.componentName,
6050
+ validAsValues = _ref.validAsValues;
6051
+ React__default.useEffect(function () {
6052
+ if (as && !validAsValues.includes(as)) {
6053
+ throw new Error("[Blade ".concat(componentName, "]: Invalid `as` prop value - ").concat(as, ". Only ").concat(validAsValues.join(', '), " are accepted"));
6054
+ }
6055
+ }, [as, componentName, validAsValues]);
6056
+ };
6057
+
6058
+ var _excluded$4P = ["as", "size", "type", "contrast", "color", "children", "testID", "textAlign"];
5928
6059
 
5929
6060
  function ownKeys$5C(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
5930
6061
 
5931
6062
  function _objectSpread$5B(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5C(Object(source), !0).forEach(function (key) { _defineProperty$2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5C(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6063
+ var validAsValues$2 = ['span', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6'];
5932
6064
 
5933
6065
  var getProps$3 = function getProps(_ref) {
5934
- var size = _ref.size,
6066
+ var as = _ref.as,
6067
+ size = _ref.size,
5935
6068
  type = _ref.type,
5936
6069
  contrast = _ref.contrast,
5937
6070
  color = _ref.color,
@@ -5968,13 +6101,16 @@ var getProps$3 = function getProps(_ref) {
5968
6101
  props.fontSize = 1000;
5969
6102
  props.lineHeight = 800;
5970
6103
  props.as = isPlatformWeb ? 'h1' : undefined;
5971
- }
6104
+ } // override the computed `as` prop if user passed an `as` prop
6105
+
5972
6106
 
6107
+ props.as = as || props.as;
5973
6108
  return props;
5974
6109
  };
5975
6110
 
5976
6111
  var Title = function Title(_ref2) {
5977
- var _ref2$size = _ref2.size,
6112
+ var as = _ref2.as,
6113
+ _ref2$size = _ref2.size,
5978
6114
  size = _ref2$size === void 0 ? 'small' : _ref2$size,
5979
6115
  _ref2$type = _ref2.type,
5980
6116
  type = _ref2$type === void 0 ? 'normal' : _ref2$type,
@@ -5983,35 +6119,45 @@ var Title = function Title(_ref2) {
5983
6119
  color = _ref2.color,
5984
6120
  children = _ref2.children,
5985
6121
  testID = _ref2.testID,
6122
+ textAlign = _ref2.textAlign,
5986
6123
  styledProps = _objectWithoutProperties$1(_ref2, _excluded$4P);
5987
6124
 
6125
+ useValidateAsProp({
6126
+ componentName: 'Title',
6127
+ as: as,
6128
+ validAsValues: validAsValues$2
6129
+ });
5988
6130
  var props = getProps$3({
6131
+ as: as,
5989
6132
  size: size,
5990
6133
  type: type,
5991
6134
  contrast: contrast,
5992
6135
  color: color,
5993
6136
  testID: testID
5994
6137
  });
5995
- return /*#__PURE__*/jsx(BaseText, _objectSpread$5B(_objectSpread$5B(_objectSpread$5B({}, props), getStyledProps(styledProps)), {}, {
6138
+ return /*#__PURE__*/jsx(BaseText, _objectSpread$5B(_objectSpread$5B(_objectSpread$5B({}, props), {}, {
6139
+ textAlign: textAlign
6140
+ }, getStyledProps(styledProps)), {}, {
5996
6141
  children: children
5997
6142
  }));
5998
6143
  };
5999
6144
 
6000
- var _excluded$4O = ["variant", "size", "type", "weight", "contrast", "color", "children", "testID", "textAlign"];
6145
+ var _excluded$4O = ["as", "variant", "size", "type", "weight", "contrast", "color", "children", "testID", "textAlign"];
6001
6146
 
6002
6147
  function ownKeys$5B(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6003
6148
 
6004
6149
  function _objectSpread$5A(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5B(Object(source), !0).forEach(function (key) { _defineProperty$2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5B(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6150
+ var validAsValues$1 = ['span', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6'];
6005
6151
 
6006
6152
  var getProps$2 = function getProps(_ref) {
6007
- var variant = _ref.variant,
6153
+ var as = _ref.as,
6154
+ variant = _ref.variant,
6008
6155
  size = _ref.size,
6009
6156
  type = _ref.type,
6010
6157
  weight = _ref.weight,
6011
6158
  contrast = _ref.contrast,
6012
6159
  color = _ref.color,
6013
6160
  testID = _ref.testID;
6014
- var isPlatformWeb = getPlatformType() === 'browser' || getPlatformType() === 'node';
6015
6161
  var colorContrast = contrast ? "".concat(contrast, "Contrast") : 'lowContrast';
6016
6162
  var props = {
6017
6163
  color: color !== null && color !== void 0 ? color : "surface.text.".concat(type !== null && type !== void 0 ? type : 'normal', ".").concat(colorContrast),
@@ -6020,9 +6166,9 @@ var getProps$2 = function getProps(_ref) {
6020
6166
  fontStyle: 'normal',
6021
6167
  lineHeight: 300,
6022
6168
  fontFamily: 'text',
6023
- accessibilityProps: isPlatformWeb ? {} : {
6169
+ accessibilityProps: isReactNative$4() ? {
6024
6170
  role: 'heading'
6025
- },
6171
+ } : {},
6026
6172
  componentName: 'heading',
6027
6173
  testID: testID
6028
6174
  };
@@ -6031,15 +6177,15 @@ var getProps$2 = function getProps(_ref) {
6031
6177
  if (!size || size === 'small') {
6032
6178
  props.fontSize = 200;
6033
6179
  props.lineHeight = 300;
6034
- props.as = isPlatformWeb ? 'h6' : undefined;
6180
+ props.as = 'h6';
6035
6181
  } else if (size === 'medium') {
6036
6182
  props.fontSize = 300;
6037
6183
  props.lineHeight = 200;
6038
- props.as = isPlatformWeb ? 'h5' : undefined;
6184
+ props.as = 'h5';
6039
6185
  } else if (size === 'large') {
6040
6186
  props.fontSize = 400;
6041
6187
  props.lineHeight = 400;
6042
- props.as = isPlatformWeb ? 'h4' : undefined;
6188
+ props.as = 'h4';
6043
6189
  }
6044
6190
  } else if (variant === 'subheading') {
6045
6191
  if (weight === 'regular') {
@@ -6052,14 +6198,17 @@ var getProps$2 = function getProps(_ref) {
6052
6198
 
6053
6199
  props.fontSize = 75;
6054
6200
  props.lineHeight = 50;
6055
- props.as = isPlatformWeb ? 'h6' : undefined;
6056
- }
6201
+ props.as = 'p';
6202
+ } // override the computed `as` prop if user passed an `as` prop
6203
+
6057
6204
 
6205
+ props.as = as || props.as;
6058
6206
  return props;
6059
6207
  };
6060
6208
 
6061
6209
  var Heading = function Heading(_ref2) {
6062
- var _ref2$variant = _ref2.variant,
6210
+ var as = _ref2.as,
6211
+ _ref2$variant = _ref2.variant,
6063
6212
  variant = _ref2$variant === void 0 ? 'regular' : _ref2$variant,
6064
6213
  size = _ref2.size,
6065
6214
  _ref2$type = _ref2.type,
@@ -6074,7 +6223,13 @@ var Heading = function Heading(_ref2) {
6074
6223
  textAlign = _ref2.textAlign,
6075
6224
  styledProps = _objectWithoutProperties$1(_ref2, _excluded$4O);
6076
6225
 
6226
+ useValidateAsProp({
6227
+ componentName: 'Heading',
6228
+ as: as,
6229
+ validAsValues: validAsValues$1
6230
+ });
6077
6231
  var props = getProps$2({
6232
+ as: as,
6078
6233
  variant: variant,
6079
6234
  size: size,
6080
6235
  type: type,
@@ -6090,11 +6245,12 @@ var Heading = function Heading(_ref2) {
6090
6245
  }));
6091
6246
  };
6092
6247
 
6093
- var _excluded$4N = ["variant", "weight", "size", "type", "contrast", "truncateAfterLines", "children", "color", "testID", "textAlign"];
6248
+ var _excluded$4N = ["as", "variant", "weight", "size", "type", "contrast", "truncateAfterLines", "children", "color", "testID", "textAlign"];
6094
6249
 
6095
6250
  function ownKeys$5A(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6096
6251
 
6097
6252
  function _objectSpread$5z(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5A(Object(source), !0).forEach(function (key) { _defineProperty$2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5A(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6253
+ var validAsValues = ['p', 'span', 'div', 'abbr', 'figcaption', 'cite', 'q'];
6098
6254
 
6099
6255
  var getTextProps = function getTextProps(_ref) {
6100
6256
  var variant = _ref.variant,
@@ -6105,7 +6261,6 @@ var getTextProps = function getTextProps(_ref) {
6105
6261
  contrast = _ref.contrast,
6106
6262
  testID = _ref.testID,
6107
6263
  textAlign = _ref.textAlign;
6108
- var isPlatformWeb = getPlatformType() === 'browser' || getPlatformType() === 'node';
6109
6264
  var colorContrast = contrast ? "".concat(contrast, "Contrast") : 'lowContrast';
6110
6265
  var props = {
6111
6266
  color: color !== null && color !== void 0 ? color : "surface.text.".concat(type !== null && type !== void 0 ? type : 'normal', ".").concat(colorContrast),
@@ -6114,7 +6269,6 @@ var getTextProps = function getTextProps(_ref) {
6114
6269
  fontStyle: 'normal',
6115
6270
  lineHeight: 100,
6116
6271
  fontFamily: 'text',
6117
- forwardedAs: isPlatformWeb ? 'p' : undefined,
6118
6272
  componentName: 'text',
6119
6273
  testID: testID,
6120
6274
  textAlign: textAlign
@@ -6156,48 +6310,28 @@ var getTextProps = function getTextProps(_ref) {
6156
6310
  return props;
6157
6311
  };
6158
6312
 
6159
- var StyledText = /*#__PURE__*/styled(BaseText).withConfig({
6160
- displayName: "Text__StyledText",
6161
- componentId: "wkh56f-0"
6162
- })(function (_ref2) {
6163
- var truncateAfterLines = _ref2.truncateAfterLines;
6164
-
6165
- if (truncateAfterLines) {
6166
- if (getPlatformType() === 'react-native') {
6167
- return null;
6168
- }
6169
-
6170
- return {
6171
- overflow: 'hidden',
6172
- display: '-webkit-box',
6173
- 'line-clamp': "".concat(truncateAfterLines),
6174
- '-webkit-line-clamp': "".concat(truncateAfterLines),
6175
- '-webkit-box-orient': 'vertical'
6176
- };
6177
- }
6178
-
6179
- return {};
6180
- });
6181
-
6182
- var _Text = function _Text(_ref3) {
6183
- var _ref3$variant = _ref3.variant,
6184
- variant = _ref3$variant === void 0 ? 'body' : _ref3$variant,
6185
- _ref3$weight = _ref3.weight,
6186
- weight = _ref3$weight === void 0 ? 'regular' : _ref3$weight,
6187
- _ref3$size = _ref3.size,
6188
- size = _ref3$size === void 0 ? 'medium' : _ref3$size,
6189
- _ref3$type = _ref3.type,
6190
- type = _ref3$type === void 0 ? 'normal' : _ref3$type,
6191
- _ref3$contrast = _ref3.contrast,
6192
- contrast = _ref3$contrast === void 0 ? 'low' : _ref3$contrast,
6193
- truncateAfterLines = _ref3.truncateAfterLines,
6194
- children = _ref3.children,
6195
- color = _ref3.color,
6196
- testID = _ref3.testID,
6197
- textAlign = _ref3.textAlign,
6198
- styledProps = _objectWithoutProperties$1(_ref3, _excluded$4N);
6313
+ var _Text = function _Text(_ref2) {
6314
+ var _ref2$as = _ref2.as,
6315
+ as = _ref2$as === void 0 ? 'p' : _ref2$as,
6316
+ _ref2$variant = _ref2.variant,
6317
+ variant = _ref2$variant === void 0 ? 'body' : _ref2$variant,
6318
+ _ref2$weight = _ref2.weight,
6319
+ weight = _ref2$weight === void 0 ? 'regular' : _ref2$weight,
6320
+ _ref2$size = _ref2.size,
6321
+ size = _ref2$size === void 0 ? 'medium' : _ref2$size,
6322
+ _ref2$type = _ref2.type,
6323
+ type = _ref2$type === void 0 ? 'normal' : _ref2$type,
6324
+ _ref2$contrast = _ref2.contrast,
6325
+ contrast = _ref2$contrast === void 0 ? 'low' : _ref2$contrast,
6326
+ truncateAfterLines = _ref2.truncateAfterLines,
6327
+ children = _ref2.children,
6328
+ color = _ref2.color,
6329
+ testID = _ref2.testID,
6330
+ textAlign = _ref2.textAlign,
6331
+ styledProps = _objectWithoutProperties$1(_ref2, _excluded$4N);
6199
6332
 
6200
6333
  var props = _objectSpread$5z({
6334
+ as: as,
6201
6335
  truncateAfterLines: truncateAfterLines
6202
6336
  }, getTextProps({
6203
6337
  variant: variant,
@@ -6210,7 +6344,12 @@ var _Text = function _Text(_ref3) {
6210
6344
  textAlign: textAlign
6211
6345
  }));
6212
6346
 
6213
- return /*#__PURE__*/jsx(StyledText, _objectSpread$5z(_objectSpread$5z(_objectSpread$5z({}, props), getStyledProps(styledProps)), {}, {
6347
+ useValidateAsProp({
6348
+ componentName: 'Text',
6349
+ as: as,
6350
+ validAsValues: validAsValues
6351
+ });
6352
+ return /*#__PURE__*/jsx(BaseText, _objectSpread$5z(_objectSpread$5z(_objectSpread$5z({}, props), getStyledProps(styledProps)), {}, {
6214
6353
  children: children
6215
6354
  }));
6216
6355
  };
@@ -17439,7 +17578,8 @@ var useBladeInnerRef = function useBladeInnerRef(targetRef, handlers) {
17439
17578
  },
17440
17579
  getBoundingClientRect: function getBoundingClientRect() {
17441
17580
  return element === null || element === void 0 ? void 0 : element.getBoundingClientRect();
17442
- }
17581
+ },
17582
+ clientHeight: element.clientHeight
17443
17583
  };
17444
17584
  }, [innerRef, handlers]);
17445
17585
  return innerRef;
@@ -18654,7 +18794,10 @@ var getBaseButtonStyles = function getBaseButtonStyles(_ref) {
18654
18794
  function ownKeys$16(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
18655
18795
 
18656
18796
  function _objectSpread$15(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$16(Object(source), !0).forEach(function (key) { _defineProperty$2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$16(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
18657
- var StyledBaseButton = /*#__PURE__*/styled.button.attrs(function (props) {
18797
+ var StyledBaseButton = /*#__PURE__*/styled.button.withConfig({
18798
+ shouldForwardProp: omitPropsFromHTML,
18799
+ displayName: 'StyledBaseButton'
18800
+ }).attrs(function (props) {
18658
18801
  return _objectSpread$15({}, props.accessibilityProps);
18659
18802
  }).withConfig({
18660
18803
  displayName: "StyledBaseButtonweb__StyledBaseButton",
@@ -19429,7 +19572,10 @@ var getStyledLinkStyles = function getStyledLinkStyles(_ref) {
19429
19572
  function ownKeys$13(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19430
19573
 
19431
19574
  function _objectSpread$12(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$13(Object(source), !0).forEach(function (key) { _defineProperty$2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$13(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
19432
- var StyledLink$1 = /*#__PURE__*/styled.button.attrs(function (props) {
19575
+ var StyledLink$1 = /*#__PURE__*/styled.button.withConfig({
19576
+ shouldForwardProp: omitPropsFromHTML,
19577
+ displayName: 'StyledLink'
19578
+ }).attrs(function (props) {
19433
19579
  return _objectSpread$12({}, props.accessibilityProps);
19434
19580
  }).withConfig({
19435
19581
  displayName: "StyledBaseLinkweb__StyledLink",
@@ -21674,7 +21820,8 @@ var _DropdownOverlay = function _DropdownOverlay(_ref) {
21674
21820
  isOpen = _useDropdown.isOpen,
21675
21821
  triggererRef = _useDropdown.triggererRef,
21676
21822
  hasLabelOnLeft = _useDropdown.hasLabelOnLeft,
21677
- dropdownTriggerer = _useDropdown.dropdownTriggerer;
21823
+ dropdownTriggerer = _useDropdown.dropdownTriggerer,
21824
+ setIsOpen = _useDropdown.setIsOpen;
21678
21825
 
21679
21826
  var _useTheme = useTheme(),
21680
21827
  theme = _useTheme.theme;
@@ -21689,7 +21836,29 @@ var _DropdownOverlay = function _DropdownOverlay(_ref) {
21689
21836
  width = _React$useState4[0],
21690
21837
  setWidth = _React$useState4[1];
21691
21838
 
21839
+ var _useState = useState({}),
21840
+ _useState2 = _slicedToArray(_useState, 2),
21841
+ dropdownPosition = _useState2[0],
21842
+ setDropdownPosition = _useState2[1];
21843
+
21692
21844
  var isMenu = dropdownTriggerer !== 'SelectInput';
21845
+
21846
+ var _useFloating = useFloating({
21847
+ open: isOpen,
21848
+ onOpenChange: setIsOpen,
21849
+ strategy: 'absolute',
21850
+ placement: 'bottom-start',
21851
+ elements: {
21852
+ reference: triggererRef.current
21853
+ },
21854
+ middleware: [getDropdownOverflowMiddleware({
21855
+ isMenu: isMenu,
21856
+ triggererRef: triggererRef,
21857
+ setDropdownPosition: setDropdownPosition
21858
+ })]
21859
+ }),
21860
+ refs = _useFloating.refs;
21861
+
21693
21862
  var fadeIn = /*#__PURE__*/css(["animation:", " ", " ", ";"], dropdownFadeIn, makeMotionTime(theme.motion.duration.quick), String(theme.motion.easing.entrance.revealing));
21694
21863
  var fadeOut = /*#__PURE__*/css(["animation:", " ", " ", ";"], dropdownFadeOut, makeMotionTime(theme.motion.duration.quick), String(theme.motion.easing.entrance.revealing));
21695
21864
  React__default.useEffect(function () {
@@ -21745,28 +21914,34 @@ var _DropdownOverlay = function _DropdownOverlay(_ref) {
21745
21914
  opacity: isOpen ? 1 : 0
21746
21915
  };
21747
21916
  }, [isOpen]);
21748
- return /*#__PURE__*/jsx(BaseBox, {
21749
- position: "relative",
21750
- children: /*#__PURE__*/jsx(StyledDropdownOverlay, _objectSpread$Q(_objectSpread$Q({
21751
- width: isMenu ? undefined : width // In SelectInput, Overlay should always take width of Input
21752
- ,
21753
- minWidth: isMenu ? '240px' : undefined // in SelectInput, we don't want to set maxWidth because it takes width according to the trigger
21754
- ,
21755
- maxWidth: isMenu ? '400px' : undefined,
21756
- left: isMenu ? 'spacing.0' : undefined,
21757
- right: isMenu ? undefined : 'spacing.0',
21758
- style: styles,
21759
- display: castWebType(display),
21760
- position: "absolute",
21761
- transition: isOpen ? fadeIn : fadeOut,
21762
- onAnimationEnd: onAnimationEnd
21763
- }, metaAttribute({
21764
- name: MetaConstants.DropdownOverlay,
21765
- testID: testID
21766
- })), {}, {
21767
- children: children
21768
- }))
21769
- });
21917
+ return (
21918
+ /*#__PURE__*/
21919
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
21920
+ jsx(BaseBox, {
21921
+ position: "relative",
21922
+ ref: refs.setFloating,
21923
+ children: /*#__PURE__*/jsx(StyledDropdownOverlay, _objectSpread$Q(_objectSpread$Q({
21924
+ width: isMenu ? 'max-content' : width // In SelectInput, Overlay should always take width of Input
21925
+ ,
21926
+ minWidth: isMenu ? '240px' : undefined // in SelectInput, we don't want to set maxWidth because it takes width according to the trigger
21927
+ ,
21928
+ maxWidth: isMenu ? '400px' : undefined,
21929
+ left: dropdownPosition.left,
21930
+ right: dropdownPosition.right,
21931
+ bottom: dropdownPosition.bottom,
21932
+ style: styles,
21933
+ display: castWebType(display),
21934
+ position: "absolute",
21935
+ transition: isOpen ? fadeIn : fadeOut,
21936
+ onAnimationEnd: onAnimationEnd
21937
+ }, metaAttribute({
21938
+ name: MetaConstants.DropdownOverlay,
21939
+ testID: testID
21940
+ })), {}, {
21941
+ children: children
21942
+ }))
21943
+ })
21944
+ );
21770
21945
  };
21771
21946
 
21772
21947
  var DropdownOverlay = /*#__PURE__*/assignWithoutSideEffects(_DropdownOverlay, {