@razorpay/blade 10.6.0 → 10.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/components/index.d.ts +3505 -4658
- package/build/components/index.development.web.js +2235 -2180
- package/build/components/index.development.web.js.map +1 -1
- package/build/components/index.native.d.ts +3079 -4228
- package/build/components/index.native.js +143 -121
- package/build/components/index.native.js.map +1 -1
- package/build/components/index.production.web.js +1769 -1707
- package/build/components/index.production.web.js.map +1 -1
- package/build/css/bankingThemeDarkDesktop.css +1 -1
- package/build/css/bankingThemeDarkMobile.css +1 -1
- package/build/css/bankingThemeLightDesktop.css +1 -1
- package/build/css/bankingThemeLightMobile.css +1 -1
- package/build/css/paymentThemeDarkDesktop.css +1 -1
- package/build/css/paymentThemeDarkMobile.css +1 -1
- package/build/css/paymentThemeLightDesktop.css +1 -1
- package/build/css/paymentThemeLightMobile.css +1 -1
- package/build/tokens/index.d.ts +190 -680
- package/build/tokens/index.development.web.js +127 -103
- package/build/tokens/index.development.web.js.map +1 -1
- package/build/tokens/index.native.d.ts +190 -680
- package/build/tokens/index.native.js +126 -102
- package/build/tokens/index.native.js.map +1 -1
- package/build/tokens/index.production.web.js +196 -113
- package/build/tokens/index.production.web.js.map +1 -1
- package/build/utils/index.d.ts +488 -593
- package/build/utils/index.development.web.js +1 -5
- package/build/utils/index.development.web.js.map +1 -1
- package/build/utils/index.native.d.ts +488 -593
- package/build/utils/index.native.js +3 -5
- package/build/utils/index.native.js.map +1 -1
- package/build/utils/index.production.web.js +1 -5
- package/build/utils/index.production.web.js.map +1 -1
- package/package.json +12 -10
|
@@ -1,1575 +1,974 @@
|
|
|
1
1
|
import _defineProperty$1 from '@babel/runtime/helpers/defineProperty';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import React__default, { useMemo, useCallback, useState, useEffect, useRef, useContext, createContext, Fragment as Fragment$1, Children, cloneElement, forwardRef } from 'react';
|
|
4
|
-
import _toConsumableArray$1 from '@babel/runtime/helpers/toConsumableArray';
|
|
5
|
-
import _objectWithoutProperties$1 from '@babel/runtime/helpers/objectWithoutProperties';
|
|
6
4
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
7
5
|
import styled, { ThemeProvider, css, keyframes } from 'styled-components';
|
|
6
|
+
import _objectWithoutProperties$1 from '@babel/runtime/helpers/objectWithoutProperties';
|
|
8
7
|
import { FloatingDelayGroup, useFloating, offset, flip, size as size$1, autoUpdate, useTransitionStyles, FloatingOverlay, FloatingPortal, FloatingFocusManager, shift, arrow, useDelayGroup, useDelayGroupContext, useHover, useFocus, useRole, useInteractions, FloatingArrow } from '@floating-ui/react';
|
|
9
8
|
import '@babel/runtime/helpers/typeof';
|
|
9
|
+
import _toConsumableArray$1 from '@babel/runtime/helpers/toConsumableArray';
|
|
10
10
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
11
11
|
import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
|
|
12
12
|
import _createClass from '@babel/runtime/helpers/createClass';
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
DropdownButton: 'DropdownButton',
|
|
29
|
-
DropdownLink: 'DropdownLink'
|
|
14
|
+
var getColorScheme = function getColorScheme() {
|
|
15
|
+
var colorScheme = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'light';
|
|
16
|
+
// @TODO: create a useMediaQuery hook with an event listener which will subscribe to changes and move all this logic there
|
|
17
|
+
var colorSchemeMediaQueryMap = {
|
|
18
|
+
light: '(prefers-color-scheme: light)',
|
|
19
|
+
dark: '(prefers-color-scheme: dark)',
|
|
20
|
+
system: 'default'
|
|
21
|
+
};
|
|
22
|
+
var supportsMatchMedia = typeof window !== 'undefined' && typeof window.matchMedia === 'function';
|
|
23
|
+
if (colorScheme === 'light' || colorScheme === 'dark') {
|
|
24
|
+
return colorScheme;
|
|
25
|
+
}
|
|
26
|
+
if (colorScheme === 'system' && supportsMatchMedia && window.matchMedia(colorSchemeMediaQueryMap.dark).matches) {
|
|
27
|
+
return 'dark';
|
|
30
28
|
}
|
|
29
|
+
return 'light';
|
|
31
30
|
};
|
|
32
31
|
|
|
33
|
-
|
|
34
|
-
var
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
First: 'First',
|
|
38
|
-
Last: 'Last',
|
|
39
|
-
Next: 'Next',
|
|
40
|
-
Open: 'Open',
|
|
41
|
-
PageDown: 'PageDown',
|
|
42
|
-
PageUp: 'PageUp',
|
|
43
|
-
Previous: 'Previous',
|
|
44
|
-
Select: 'Select',
|
|
45
|
-
Type: 'Type'
|
|
32
|
+
var getMediaQuery = function getMediaQuery(_ref) {
|
|
33
|
+
var min = _ref.min,
|
|
34
|
+
max = _ref.max;
|
|
35
|
+
return "screen and (min-width: ".concat(min, "px)").concat(max ? " and (max-width: ".concat(max, "px)") : '');
|
|
46
36
|
};
|
|
47
37
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
*
|
|
52
|
-
*/
|
|
53
|
-
function filterOptions() {
|
|
54
|
-
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
55
|
-
var filter = arguments.length > 1 ? arguments[1] : undefined;
|
|
56
|
-
var exclude = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
|
57
|
-
return options.filter(function (option) {
|
|
58
|
-
var matches = option.toLowerCase().startsWith(filter.toLowerCase());
|
|
59
|
-
return matches && !exclude.includes(option);
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* Map a keypress to action
|
|
65
|
-
*/
|
|
66
|
-
function getActionFromKey(e, isOpen) {
|
|
67
|
-
if (!e) {
|
|
68
|
-
return undefined;
|
|
69
|
-
}
|
|
70
|
-
var altKey = e.altKey,
|
|
71
|
-
ctrlKey = e.ctrlKey,
|
|
72
|
-
metaKey = e.metaKey;
|
|
73
|
-
var key = '';
|
|
74
|
-
if ('key' in e) {
|
|
75
|
-
key = e.key;
|
|
76
|
-
}
|
|
77
|
-
var openKeys = ['ArrowDown', 'ArrowUp', 'Enter', ' ']; // all keys that will do the default open action
|
|
78
|
-
if (!key) return undefined;
|
|
79
|
-
// handle opening when closed
|
|
80
|
-
if (!isOpen && key && openKeys.includes(key)) {
|
|
81
|
-
return SelectActions.Open;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
// home and end move the selected option when open or closed
|
|
85
|
-
if (key === 'Home') {
|
|
86
|
-
return SelectActions.First;
|
|
38
|
+
var getPlatformType = function getPlatformType() {
|
|
39
|
+
if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {
|
|
40
|
+
return 'react-native';
|
|
87
41
|
}
|
|
88
|
-
if (
|
|
89
|
-
return
|
|
42
|
+
if (typeof document !== 'undefined') {
|
|
43
|
+
return 'browser';
|
|
90
44
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
if (key === 'Backspace' || key === 'Clear' || key.length === 1 && key !== ' ' && !altKey && !ctrlKey && !metaKey) {
|
|
94
|
-
return SelectActions.Type;
|
|
45
|
+
if (typeof process !== 'undefined') {
|
|
46
|
+
return 'node';
|
|
95
47
|
}
|
|
48
|
+
return 'unknown';
|
|
49
|
+
};
|
|
96
50
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
51
|
+
var deviceType = {
|
|
52
|
+
desktop: 'desktop',
|
|
53
|
+
mobile: 'mobile'
|
|
54
|
+
};
|
|
55
|
+
var useBreakpoint = function useBreakpoint(_ref) {
|
|
56
|
+
var _window;
|
|
57
|
+
var breakpoints = _ref.breakpoints;
|
|
58
|
+
var supportsMatchMedia = typeof document !== 'undefined' && typeof window !== 'undefined' && typeof ((_window = window) === null || _window === void 0 ? void 0 : _window.matchMedia) === 'function';
|
|
59
|
+
var breakpointsTokenAndQueryCollection = useMemo(function () {
|
|
60
|
+
return supportsMatchMedia ? Object.entries(breakpoints).map(function (_ref2, index, breakpointsArray) {
|
|
61
|
+
var _breakpointsArray;
|
|
62
|
+
var _ref3 = _slicedToArray(_ref2, 2),
|
|
63
|
+
token = _ref3[0],
|
|
64
|
+
screenSize = _ref3[1];
|
|
65
|
+
var min = screenSize;
|
|
66
|
+
var maxValue = (_breakpointsArray = breakpointsArray[index + 1]) === null || _breakpointsArray === void 0 ? void 0 : _breakpointsArray[1];
|
|
67
|
+
var mediaQuery = getMediaQuery({
|
|
68
|
+
min: min,
|
|
69
|
+
max: maxValue ? maxValue - 1 : undefined
|
|
70
|
+
});
|
|
71
|
+
return {
|
|
72
|
+
token: token,
|
|
73
|
+
screenSize: screenSize,
|
|
74
|
+
mediaQuery: mediaQuery
|
|
75
|
+
};
|
|
76
|
+
}) : [];
|
|
77
|
+
}, [breakpoints, supportsMatchMedia]);
|
|
78
|
+
var getMatchedDeviceType = useCallback(function (matchedBreakpoint) {
|
|
79
|
+
var matchedDeviceType = deviceType.mobile;
|
|
80
|
+
var platform = getPlatformType();
|
|
81
|
+
if (platform === 'react-native') {
|
|
82
|
+
matchedDeviceType = deviceType.mobile;
|
|
83
|
+
} else if (platform === 'browser') {
|
|
84
|
+
if (matchedBreakpoint && ['base', 'xs', 's'].includes(matchedBreakpoint)) {
|
|
85
|
+
// tablet is also categorised as mobile
|
|
86
|
+
matchedDeviceType = deviceType.mobile;
|
|
87
|
+
} else {
|
|
88
|
+
matchedDeviceType = deviceType.desktop;
|
|
89
|
+
}
|
|
90
|
+
} else if (platform === 'node') {
|
|
91
|
+
//@TODO: Check for useragent for node
|
|
92
|
+
matchedDeviceType = deviceType.desktop;
|
|
113
93
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
return
|
|
94
|
+
return matchedDeviceType;
|
|
95
|
+
}, []);
|
|
96
|
+
var getMatchedBreakpoint = useCallback(function (event) {
|
|
97
|
+
var _breakpointsTokenAndQ, _breakpointsTokenAndQ2;
|
|
98
|
+
var matchedBreakpoint = (_breakpointsTokenAndQ = (_breakpointsTokenAndQ2 = breakpointsTokenAndQueryCollection.find(function (_ref4) {
|
|
99
|
+
var _ref4$mediaQuery = _ref4.mediaQuery,
|
|
100
|
+
mediaQuery = _ref4$mediaQuery === void 0 ? '' : _ref4$mediaQuery;
|
|
101
|
+
// this will run whenever mediaQuery change event is triggered
|
|
102
|
+
if ((event === null || event === void 0 ? void 0 : event.media) === mediaQuery) {
|
|
103
|
+
return true;
|
|
104
|
+
}
|
|
105
|
+
// this will run when the state is initialised for the first time and hence the event object will be empty so we'll fallback to browser's window object
|
|
106
|
+
if (window.matchMedia(mediaQuery).matches) {
|
|
107
|
+
return true;
|
|
108
|
+
}
|
|
109
|
+
return false;
|
|
110
|
+
})) === null || _breakpointsTokenAndQ2 === void 0 ? void 0 : _breakpointsTokenAndQ2.token) !== null && _breakpointsTokenAndQ !== void 0 ? _breakpointsTokenAndQ : undefined;
|
|
111
|
+
return matchedBreakpoint;
|
|
112
|
+
}, [breakpointsTokenAndQueryCollection]);
|
|
113
|
+
var _useState = useState(function () {
|
|
114
|
+
var matchedBreakpoint = getMatchedBreakpoint();
|
|
115
|
+
var matchedDeviceType = getMatchedDeviceType(matchedBreakpoint);
|
|
116
|
+
return {
|
|
117
|
+
matchedBreakpoint: matchedBreakpoint,
|
|
118
|
+
matchedDeviceType: matchedDeviceType
|
|
119
|
+
};
|
|
120
|
+
}),
|
|
121
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
122
|
+
breakpointAndDevice = _useState2[0],
|
|
123
|
+
setBreakpointAndDevice = _useState2[1];
|
|
124
|
+
useEffect(function () {
|
|
125
|
+
if (!supportsMatchMedia) {
|
|
126
|
+
return undefined;
|
|
127
|
+
}
|
|
128
|
+
var handleMediaQueryChange = function handleMediaQueryChange(event) {
|
|
129
|
+
setBreakpointAndDevice(function () {
|
|
130
|
+
var matchedBreakpoint = getMatchedBreakpoint(event);
|
|
131
|
+
var matchedDeviceType = getMatchedDeviceType(matchedBreakpoint);
|
|
132
|
+
return {
|
|
133
|
+
matchedBreakpoint: matchedBreakpoint,
|
|
134
|
+
matchedDeviceType: matchedDeviceType
|
|
135
|
+
};
|
|
136
|
+
});
|
|
137
|
+
};
|
|
138
|
+
var mediaQueryInstances = breakpointsTokenAndQueryCollection.map(function (_ref5) {
|
|
139
|
+
var _ref5$mediaQuery = _ref5.mediaQuery,
|
|
140
|
+
mediaQuery = _ref5$mediaQuery === void 0 ? '' : _ref5$mediaQuery;
|
|
141
|
+
var mediaQueryInstance = window.matchMedia(mediaQuery);
|
|
142
|
+
/**
|
|
143
|
+
* the mediaquery event listener is available on mediaQuery instances and not `window`
|
|
144
|
+
* we iterate over all the breakpoints we have, register each instance and store them as `mediaQueryInstances` so we can later unregister all of them.
|
|
145
|
+
*/
|
|
146
|
+
if (mediaQueryInstance.addEventListener) {
|
|
147
|
+
mediaQueryInstance.addEventListener('change', handleMediaQueryChange);
|
|
148
|
+
} else {
|
|
149
|
+
// In older browsers MediaQueryList do not yet inherit from EventTarget, So using addListener as fallback - https://developer.mozilla.org/en-US/docs/Web/API/MediaQueryList/addListener
|
|
150
|
+
mediaQueryInstance.addListener(handleMediaQueryChange);
|
|
151
|
+
}
|
|
152
|
+
return mediaQueryInstance;
|
|
130
153
|
});
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
154
|
+
return function () {
|
|
155
|
+
mediaQueryInstances.forEach(function (mediaQueryInstance) {
|
|
156
|
+
if (mediaQueryInstance.removeEventListener) {
|
|
157
|
+
mediaQueryInstance.removeEventListener('change', handleMediaQueryChange);
|
|
158
|
+
} else {
|
|
159
|
+
// In older browsers MediaQueryList do not yet inherit from EventTarget, So using removeListener as fallback - https://developer.mozilla.org/en-US/docs/Web/API/MediaQueryList/removeListener
|
|
160
|
+
mediaQueryInstance.removeListener(handleMediaQueryChange);
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
};
|
|
164
|
+
}, [breakpointsTokenAndQueryCollection, getMatchedBreakpoint, getMatchedDeviceType, supportsMatchMedia]);
|
|
137
165
|
|
|
138
|
-
//
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
return options.indexOf(matches[0]);
|
|
142
|
-
}
|
|
166
|
+
// @TODO: handle SSR scenarios
|
|
167
|
+
return breakpointAndDevice;
|
|
168
|
+
};
|
|
143
169
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
170
|
+
var throwBladeError = function throwBladeError(_ref) {
|
|
171
|
+
_ref.message;
|
|
172
|
+
_ref.moduleName;
|
|
173
|
+
};
|
|
174
|
+
var logger = function logger(_ref2) {
|
|
175
|
+
_ref2.message;
|
|
176
|
+
_ref2.moduleName;
|
|
177
|
+
_ref2.type;
|
|
178
|
+
};
|
|
149
179
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
function
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
return Math.max(0, currentIndex - pageSize);
|
|
168
|
-
case SelectActions.PageDown:
|
|
169
|
-
return Math.min(maxIndex, currentIndex + pageSize);
|
|
170
|
-
default:
|
|
171
|
-
return currentIndex;
|
|
172
|
-
}
|
|
173
|
-
}
|
|
180
|
+
var useColorScheme = function useColorScheme() {
|
|
181
|
+
var initialColorScheme = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'light';
|
|
182
|
+
// if colorScheme defined use that else fallback to 'light'
|
|
183
|
+
var _useState = useState(function () {
|
|
184
|
+
return getColorScheme(initialColorScheme);
|
|
185
|
+
}),
|
|
186
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
187
|
+
colorSchemeState = _useState2[0],
|
|
188
|
+
setColorSchemeState = _useState2[1];
|
|
189
|
+
var setColorScheme = useCallback(function setThemeMode(colorScheme) {
|
|
190
|
+
setColorSchemeState(getColorScheme(colorScheme));
|
|
191
|
+
}, []);
|
|
192
|
+
return {
|
|
193
|
+
colorScheme: colorSchemeState,
|
|
194
|
+
setColorScheme: setColorScheme
|
|
195
|
+
};
|
|
196
|
+
};
|
|
174
197
|
|
|
175
|
-
|
|
176
|
-
* Checks if the given HTML element is visible on screen
|
|
177
|
-
*/
|
|
178
|
-
function isElementVisibleOnScreen(element) {
|
|
179
|
-
var bounding = element.getBoundingClientRect();
|
|
180
|
-
return bounding.top >= 0 && bounding.left >= 0 && bounding.bottom <= (window.innerHeight || document.documentElement.clientHeight) && bounding.right <= (window.innerWidth || document.documentElement.clientWidth);
|
|
181
|
-
}
|
|
198
|
+
var isBrowser$1 = getPlatformType() == 'browser';
|
|
182
199
|
|
|
183
200
|
/**
|
|
184
|
-
*
|
|
185
|
-
|
|
186
|
-
function isScrollable(element) {
|
|
187
|
-
return element && element.clientHeight < element.scrollHeight;
|
|
188
|
-
}
|
|
189
|
-
/**
|
|
190
|
-
* Performs the action when actionType is passed
|
|
201
|
+
* useIsomorphicLayoutEffect enables us to safely call `useLayoutEffect` on the browser
|
|
202
|
+
* (for SSR reasons)
|
|
191
203
|
*
|
|
192
|
-
*
|
|
204
|
+
* React currently throws a warning when using useLayoutEffect on the server.
|
|
205
|
+
* To get around it, we can conditionally useEffect on the server (no-op) and
|
|
206
|
+
* useLayoutEffect in the browser.
|
|
207
|
+
*
|
|
208
|
+
* @see https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85
|
|
193
209
|
*/
|
|
194
|
-
var
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
return
|
|
210
|
+
var useIsomorphicLayoutEffect = isBrowser$1 ? React.useLayoutEffect : React.useEffect;
|
|
211
|
+
|
|
212
|
+
/* eslint-disable consistent-return */
|
|
213
|
+
function useInterval(callback, _ref) {
|
|
214
|
+
var delay = _ref.delay,
|
|
215
|
+
enable = _ref.enable;
|
|
216
|
+
var intervalRef = React__default.useRef(null);
|
|
217
|
+
var savedCallback = React__default.useRef(callback);
|
|
218
|
+
|
|
219
|
+
// keep the callback updated
|
|
220
|
+
useIsomorphicLayoutEffect(function () {
|
|
221
|
+
savedCallback.current = callback;
|
|
222
|
+
}, [callback]);
|
|
223
|
+
React__default.useEffect(function () {
|
|
224
|
+
var tick = function tick() {
|
|
225
|
+
return savedCallback.current();
|
|
226
|
+
};
|
|
227
|
+
if (enable) {
|
|
228
|
+
intervalRef.current = window.setInterval(tick, delay);
|
|
229
|
+
return function () {
|
|
230
|
+
return window.clearInterval(intervalRef.current);
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
235
|
+
return function () {};
|
|
236
|
+
}, [delay, enable]);
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
/* eslint-disable @typescript-eslint/no-namespace */
|
|
240
|
+
var isReactNative$4 = function isReactNative() {
|
|
241
|
+
return getPlatformType() === 'react-native';
|
|
226
242
|
};
|
|
227
243
|
|
|
228
244
|
/**
|
|
229
|
-
*
|
|
245
|
+
* @description
|
|
230
246
|
*
|
|
231
|
-
*
|
|
247
|
+
* Casts a Platform.Select<> type to web type
|
|
248
|
+
*
|
|
249
|
+
* @example
|
|
250
|
+
*
|
|
251
|
+
* ```ts
|
|
252
|
+
* type Example = Platform.Select<{ web: string; native: number }>;
|
|
253
|
+
*
|
|
254
|
+
* const extractedWebType = castWebType('' as Example);
|
|
255
|
+
* // ^ string
|
|
256
|
+
* ```
|
|
232
257
|
*/
|
|
233
|
-
var
|
|
234
|
-
|
|
235
|
-
if (containerElement) {
|
|
236
|
-
if (isScrollable(containerElement)) {
|
|
237
|
-
var optionEl = containerElement.querySelectorAll('[role="option"]');
|
|
238
|
-
// Making sure its the same element as the one from options state
|
|
239
|
-
if (newActiveIndex >= 0 && optionEl[newActiveIndex].dataset.value === options[newActiveIndex]) {
|
|
240
|
-
var activeElement = optionEl[newActiveIndex];
|
|
241
|
-
var bodyRect = containerElement.getBoundingClientRect().top;
|
|
242
|
-
var elementRect = activeElement.getBoundingClientRect().top;
|
|
243
|
-
var elementPosition = elementRect - bodyRect;
|
|
244
|
-
var offsetPosition = elementPosition;
|
|
245
|
-
containerElement.scrollTo({
|
|
246
|
-
top: offsetPosition
|
|
247
|
-
});
|
|
248
|
-
if (!isElementVisibleOnScreen(optionEl[newActiveIndex])) {
|
|
249
|
-
activeElement.scrollIntoView({
|
|
250
|
-
behavior: 'smooth'
|
|
251
|
-
});
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
}
|
|
258
|
+
var castWebType = function castWebType(value) {
|
|
259
|
+
return value;
|
|
256
260
|
};
|
|
257
261
|
|
|
258
262
|
/**
|
|
259
|
-
*
|
|
263
|
+
* @description
|
|
264
|
+
*
|
|
265
|
+
* Casts a Platform.Select<> type to native type
|
|
266
|
+
*
|
|
267
|
+
* @example
|
|
268
|
+
*
|
|
269
|
+
* ```ts
|
|
270
|
+
* type Example = Platform.Select<{ web: string; native: number }>;
|
|
271
|
+
*
|
|
272
|
+
* const extractedNativeType = castNativeType('' as Example);
|
|
273
|
+
* // ^ number
|
|
274
|
+
* ```
|
|
260
275
|
*/
|
|
261
|
-
var
|
|
262
|
-
|
|
263
|
-
return '';
|
|
264
|
-
}
|
|
265
|
-
return selectedIndices.map(function (selectedIndex) {
|
|
266
|
-
var _options$selectedInde;
|
|
267
|
-
return (_options$selectedInde = options[selectedIndex]) === null || _options$selectedInde === void 0 ? void 0 : _options$selectedInde.value;
|
|
268
|
-
}).join(', ');
|
|
276
|
+
var castNativeType = function castNativeType(value) {
|
|
277
|
+
return value;
|
|
269
278
|
};
|
|
270
279
|
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
var makeInputDisplayValue = function makeInputDisplayValue(selectedIndices, options) {
|
|
275
|
-
// When no item is selected or no item is present
|
|
276
|
-
if (options.length === 0 || selectedIndices.length === 0) {
|
|
277
|
-
return '';
|
|
280
|
+
function makeBorderSize(size) {
|
|
281
|
+
if (typeof size === 'number') {
|
|
282
|
+
return "".concat(size, "px");
|
|
278
283
|
}
|
|
284
|
+
return size;
|
|
285
|
+
}
|
|
279
286
|
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
}
|
|
287
|
+
var makeMotionTime = function makeMotionTime(time) {
|
|
288
|
+
return "".concat(time, "ms");
|
|
289
|
+
};
|
|
284
290
|
|
|
285
|
-
|
|
286
|
-
return "".concat(
|
|
291
|
+
var makeSpace = function makeSpace(size) {
|
|
292
|
+
return "".concat(size, "px");
|
|
287
293
|
};
|
|
288
294
|
|
|
289
|
-
var
|
|
290
|
-
var
|
|
291
|
-
|
|
292
|
-
var colorSchemeMediaQueryMap = {
|
|
293
|
-
light: '(prefers-color-scheme: light)',
|
|
294
|
-
dark: '(prefers-color-scheme: dark)',
|
|
295
|
-
system: 'default'
|
|
296
|
-
};
|
|
297
|
-
var supportsMatchMedia = typeof window !== 'undefined' && typeof window.matchMedia === 'function';
|
|
298
|
-
if (colorScheme === 'light' || colorScheme === 'dark') {
|
|
299
|
-
return colorScheme;
|
|
300
|
-
}
|
|
301
|
-
if (colorScheme === 'system' && supportsMatchMedia && window.matchMedia(colorSchemeMediaQueryMap.dark).matches) {
|
|
302
|
-
return 'dark';
|
|
303
|
-
}
|
|
304
|
-
return 'light';
|
|
295
|
+
var makeTypographySize = function makeTypographySize(size) {
|
|
296
|
+
var remValue = size / 16;
|
|
297
|
+
return "".concat(remValue, "rem");
|
|
305
298
|
};
|
|
306
299
|
|
|
307
|
-
var
|
|
308
|
-
|
|
309
|
-
max = _ref.max;
|
|
310
|
-
return "screen and (min-width: ".concat(min, "px)").concat(max ? " and (max-width: ".concat(max, "px)") : '');
|
|
311
|
-
};
|
|
312
|
-
|
|
313
|
-
var getPlatformType = function getPlatformType() {
|
|
314
|
-
if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {
|
|
315
|
-
return 'react-native';
|
|
316
|
-
}
|
|
317
|
-
if (typeof document !== 'undefined') {
|
|
318
|
-
return 'browser';
|
|
319
|
-
}
|
|
320
|
-
if (typeof process !== 'undefined') {
|
|
321
|
-
return 'node';
|
|
322
|
-
}
|
|
323
|
-
return 'unknown';
|
|
324
|
-
};
|
|
325
|
-
|
|
326
|
-
var deviceType = {
|
|
327
|
-
desktop: 'desktop',
|
|
328
|
-
mobile: 'mobile'
|
|
329
|
-
};
|
|
330
|
-
var useBreakpoint = function useBreakpoint(_ref) {
|
|
331
|
-
var _window;
|
|
332
|
-
var breakpoints = _ref.breakpoints;
|
|
333
|
-
var supportsMatchMedia = typeof document !== 'undefined' && typeof window !== 'undefined' && typeof ((_window = window) === null || _window === void 0 ? void 0 : _window.matchMedia) === 'function';
|
|
334
|
-
var breakpointsTokenAndQueryCollection = useMemo(function () {
|
|
335
|
-
return supportsMatchMedia ? Object.entries(breakpoints).map(function (_ref2, index, breakpointsArray) {
|
|
336
|
-
var _breakpointsArray;
|
|
337
|
-
var _ref3 = _slicedToArray(_ref2, 2),
|
|
338
|
-
token = _ref3[0],
|
|
339
|
-
screenSize = _ref3[1];
|
|
340
|
-
var min = screenSize;
|
|
341
|
-
var maxValue = (_breakpointsArray = breakpointsArray[index + 1]) === null || _breakpointsArray === void 0 ? void 0 : _breakpointsArray[1];
|
|
342
|
-
var mediaQuery = getMediaQuery({
|
|
343
|
-
min: min,
|
|
344
|
-
max: maxValue ? maxValue - 1 : undefined
|
|
345
|
-
});
|
|
346
|
-
return {
|
|
347
|
-
token: token,
|
|
348
|
-
screenSize: screenSize,
|
|
349
|
-
mediaQuery: mediaQuery
|
|
350
|
-
};
|
|
351
|
-
}) : [];
|
|
352
|
-
}, [breakpoints, supportsMatchMedia]);
|
|
353
|
-
var getMatchedDeviceType = useCallback(function (matchedBreakpoint) {
|
|
354
|
-
var matchedDeviceType = deviceType.mobile;
|
|
355
|
-
var platform = getPlatformType();
|
|
356
|
-
if (platform === 'react-native') {
|
|
357
|
-
matchedDeviceType = deviceType.mobile;
|
|
358
|
-
} else if (platform === 'browser') {
|
|
359
|
-
if (matchedBreakpoint && ['base', 'xs', 's'].includes(matchedBreakpoint)) {
|
|
360
|
-
// tablet is also categorised as mobile
|
|
361
|
-
matchedDeviceType = deviceType.mobile;
|
|
362
|
-
} else {
|
|
363
|
-
matchedDeviceType = deviceType.desktop;
|
|
364
|
-
}
|
|
365
|
-
} else if (platform === 'node') {
|
|
366
|
-
//@TODO: Check for useragent for node
|
|
367
|
-
matchedDeviceType = deviceType.desktop;
|
|
368
|
-
}
|
|
369
|
-
return matchedDeviceType;
|
|
370
|
-
}, []);
|
|
371
|
-
var getMatchedBreakpoint = useCallback(function (event) {
|
|
372
|
-
var _breakpointsTokenAndQ, _breakpointsTokenAndQ2;
|
|
373
|
-
var matchedBreakpoint = (_breakpointsTokenAndQ = (_breakpointsTokenAndQ2 = breakpointsTokenAndQueryCollection.find(function (_ref4) {
|
|
374
|
-
var _ref4$mediaQuery = _ref4.mediaQuery,
|
|
375
|
-
mediaQuery = _ref4$mediaQuery === void 0 ? '' : _ref4$mediaQuery;
|
|
376
|
-
// this will run whenever mediaQuery change event is triggered
|
|
377
|
-
if ((event === null || event === void 0 ? void 0 : event.media) === mediaQuery) {
|
|
378
|
-
return true;
|
|
379
|
-
}
|
|
380
|
-
// this will run when the state is initialised for the first time and hence the event object will be empty so we'll fallback to browser's window object
|
|
381
|
-
if (window.matchMedia(mediaQuery).matches) {
|
|
382
|
-
return true;
|
|
383
|
-
}
|
|
384
|
-
return false;
|
|
385
|
-
})) === null || _breakpointsTokenAndQ2 === void 0 ? void 0 : _breakpointsTokenAndQ2.token) !== null && _breakpointsTokenAndQ !== void 0 ? _breakpointsTokenAndQ : undefined;
|
|
386
|
-
return matchedBreakpoint;
|
|
387
|
-
}, [breakpointsTokenAndQueryCollection]);
|
|
388
|
-
var _useState = useState(function () {
|
|
389
|
-
var matchedBreakpoint = getMatchedBreakpoint();
|
|
390
|
-
var matchedDeviceType = getMatchedDeviceType(matchedBreakpoint);
|
|
391
|
-
return {
|
|
392
|
-
matchedBreakpoint: matchedBreakpoint,
|
|
393
|
-
matchedDeviceType: matchedDeviceType
|
|
394
|
-
};
|
|
395
|
-
}),
|
|
396
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
397
|
-
breakpointAndDevice = _useState2[0],
|
|
398
|
-
setBreakpointAndDevice = _useState2[1];
|
|
399
|
-
useEffect(function () {
|
|
400
|
-
if (!supportsMatchMedia) {
|
|
401
|
-
return undefined;
|
|
402
|
-
}
|
|
403
|
-
var handleMediaQueryChange = function handleMediaQueryChange(event) {
|
|
404
|
-
setBreakpointAndDevice(function () {
|
|
405
|
-
var matchedBreakpoint = getMatchedBreakpoint(event);
|
|
406
|
-
var matchedDeviceType = getMatchedDeviceType(matchedBreakpoint);
|
|
407
|
-
return {
|
|
408
|
-
matchedBreakpoint: matchedBreakpoint,
|
|
409
|
-
matchedDeviceType: matchedDeviceType
|
|
410
|
-
};
|
|
411
|
-
});
|
|
412
|
-
};
|
|
413
|
-
var mediaQueryInstances = breakpointsTokenAndQueryCollection.map(function (_ref5) {
|
|
414
|
-
var _ref5$mediaQuery = _ref5.mediaQuery,
|
|
415
|
-
mediaQuery = _ref5$mediaQuery === void 0 ? '' : _ref5$mediaQuery;
|
|
416
|
-
var mediaQueryInstance = window.matchMedia(mediaQuery);
|
|
417
|
-
/**
|
|
418
|
-
* the mediaquery event listener is available on mediaQuery instances and not `window`
|
|
419
|
-
* we iterate over all the breakpoints we have, register each instance and store them as `mediaQueryInstances` so we can later unregister all of them.
|
|
420
|
-
*/
|
|
421
|
-
if (mediaQueryInstance.addEventListener) {
|
|
422
|
-
mediaQueryInstance.addEventListener('change', handleMediaQueryChange);
|
|
423
|
-
} else {
|
|
424
|
-
// In older browsers MediaQueryList do not yet inherit from EventTarget, So using addListener as fallback - https://developer.mozilla.org/en-US/docs/Web/API/MediaQueryList/addListener
|
|
425
|
-
mediaQueryInstance.addListener(handleMediaQueryChange);
|
|
426
|
-
}
|
|
427
|
-
return mediaQueryInstance;
|
|
428
|
-
});
|
|
429
|
-
return function () {
|
|
430
|
-
mediaQueryInstances.forEach(function (mediaQueryInstance) {
|
|
431
|
-
if (mediaQueryInstance.removeEventListener) {
|
|
432
|
-
mediaQueryInstance.removeEventListener('change', handleMediaQueryChange);
|
|
433
|
-
} else {
|
|
434
|
-
// In older browsers MediaQueryList do not yet inherit from EventTarget, So using removeListener as fallback - https://developer.mozilla.org/en-US/docs/Web/API/MediaQueryList/removeListener
|
|
435
|
-
mediaQueryInstance.removeListener(handleMediaQueryChange);
|
|
436
|
-
}
|
|
437
|
-
});
|
|
438
|
-
};
|
|
439
|
-
}, [breakpointsTokenAndQueryCollection, getMatchedBreakpoint, getMatchedDeviceType, supportsMatchMedia]);
|
|
440
|
-
|
|
441
|
-
// @TODO: handle SSR scenarios
|
|
442
|
-
return breakpointAndDevice;
|
|
443
|
-
};
|
|
444
|
-
|
|
445
|
-
var throwBladeError = function throwBladeError(_ref) {
|
|
446
|
-
_ref.message;
|
|
447
|
-
_ref.moduleName;
|
|
448
|
-
};
|
|
449
|
-
var logger = function logger(_ref2) {
|
|
450
|
-
_ref2.message;
|
|
451
|
-
_ref2.moduleName;
|
|
452
|
-
_ref2.type;
|
|
300
|
+
var makeSize = function makeSize(size) {
|
|
301
|
+
return "".concat(size, "px");
|
|
453
302
|
};
|
|
454
303
|
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
colorSchemeState = _useState2[0],
|
|
463
|
-
setColorSchemeState = _useState2[1];
|
|
464
|
-
var setColorScheme = useCallback(function setThemeMode(colorScheme) {
|
|
465
|
-
setColorSchemeState(getColorScheme(colorScheme));
|
|
466
|
-
}, []);
|
|
467
|
-
return {
|
|
468
|
-
colorScheme: colorSchemeState,
|
|
469
|
-
setColorScheme: setColorScheme
|
|
470
|
-
};
|
|
304
|
+
/**
|
|
305
|
+
* @deprecated This utility will be deprecated in subsequent version.
|
|
306
|
+
*/
|
|
307
|
+
var toTitleCase = function toTitleCase(inputString) {
|
|
308
|
+
return inputString.toLowerCase().split(' ').map(function (word) {
|
|
309
|
+
return word.charAt(0).toUpperCase() + word.slice(1);
|
|
310
|
+
}).join(' ');
|
|
471
311
|
};
|
|
472
312
|
|
|
473
|
-
var isBrowser$1 = getPlatformType() == 'browser';
|
|
474
|
-
|
|
475
313
|
/**
|
|
476
|
-
*
|
|
477
|
-
*
|
|
478
|
-
*
|
|
479
|
-
* React currently throws a warning when using useLayoutEffect on the server.
|
|
480
|
-
* To get around it, we can conditionally useEffect on the server (no-op) and
|
|
481
|
-
* useLayoutEffect in the browser.
|
|
482
|
-
*
|
|
483
|
-
* @see https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85
|
|
314
|
+
* a type-safe version of the `usePrevious` hook described here:
|
|
315
|
+
* @see {@link https://reactjs.org/docs/hooks-faq.html#how-to-get-the-previous-props-or-state}
|
|
316
|
+
* @deprecated This utility will be deprecated in subsequent version.
|
|
484
317
|
*/
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
var intervalRef = React__default.useRef(null);
|
|
492
|
-
var savedCallback = React__default.useRef(callback);
|
|
493
|
-
|
|
494
|
-
// keep the callback updated
|
|
495
|
-
useIsomorphicLayoutEffect(function () {
|
|
496
|
-
savedCallback.current = callback;
|
|
497
|
-
}, [callback]);
|
|
498
|
-
React__default.useEffect(function () {
|
|
499
|
-
var tick = function tick() {
|
|
500
|
-
return savedCallback.current();
|
|
501
|
-
};
|
|
502
|
-
if (enable) {
|
|
503
|
-
intervalRef.current = window.setInterval(tick, delay);
|
|
504
|
-
return function () {
|
|
505
|
-
return window.clearInterval(intervalRef.current);
|
|
506
|
-
};
|
|
507
|
-
}
|
|
508
|
-
|
|
509
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
510
|
-
return function () {};
|
|
511
|
-
}, [delay, enable]);
|
|
318
|
+
function usePrevious(value) {
|
|
319
|
+
var ref = useRef();
|
|
320
|
+
useEffect(function () {
|
|
321
|
+
ref.current = value;
|
|
322
|
+
}, [value]);
|
|
323
|
+
return ref.current;
|
|
512
324
|
}
|
|
513
325
|
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
326
|
+
var ThemeContext = /*#__PURE__*/createContext({
|
|
327
|
+
// @ts-expect-error set null
|
|
328
|
+
theme: null,
|
|
329
|
+
colorScheme: 'light',
|
|
330
|
+
platform: 'onDesktop',
|
|
331
|
+
setColorScheme: function setColorScheme() {
|
|
332
|
+
return null;
|
|
333
|
+
}
|
|
334
|
+
});
|
|
335
|
+
var useTheme = function useTheme() {
|
|
336
|
+
var themeContext = useContext(ThemeContext);
|
|
337
|
+
return themeContext;
|
|
517
338
|
};
|
|
518
339
|
|
|
519
340
|
/**
|
|
520
|
-
*
|
|
521
|
-
*
|
|
522
|
-
* Casts a Platform.Select<> type to web type
|
|
523
|
-
*
|
|
524
|
-
* @example
|
|
525
|
-
*
|
|
526
|
-
* ```ts
|
|
527
|
-
* type Example = Platform.Select<{ web: string; native: number }>;
|
|
528
|
-
*
|
|
529
|
-
* const extractedWebType = castWebType('' as Example);
|
|
530
|
-
* // ^ string
|
|
531
|
-
* ```
|
|
341
|
+
* is the role supposed to be `menu`
|
|
532
342
|
*/
|
|
533
|
-
var
|
|
534
|
-
return
|
|
343
|
+
var isRoleMenu = function isRoleMenu(dropdownTriggerer) {
|
|
344
|
+
return isReactNative$4() || dropdownTriggerer !== 'SelectInput';
|
|
535
345
|
};
|
|
536
346
|
|
|
537
347
|
/**
|
|
538
|
-
*
|
|
539
|
-
*
|
|
540
|
-
* Casts a Platform.Select<> type to native type
|
|
348
|
+
* We switch between accessibility of `dialog` with `listbox` and buttons as a child and just `listbox` when there are action items on footer
|
|
541
349
|
*
|
|
542
|
-
*
|
|
350
|
+
* Not announcing `dialog` helps not throw users off for simple dropdowns.
|
|
543
351
|
*
|
|
544
|
-
*
|
|
545
|
-
* type Example = Platform.Select<{ web: string; native: number }>;
|
|
352
|
+
* and having `dialog` is neccessary when there are buttons on footer
|
|
546
353
|
*
|
|
547
|
-
*
|
|
548
|
-
* // ^ number
|
|
549
|
-
* ```
|
|
354
|
+
* `menu` role is required for react native.
|
|
550
355
|
*/
|
|
551
|
-
var
|
|
552
|
-
|
|
356
|
+
var getActionListContainerRole = function getActionListContainerRole(hasFooterAction, dropdownTriggerer) {
|
|
357
|
+
if (hasFooterAction) {
|
|
358
|
+
return 'dialog';
|
|
359
|
+
}
|
|
360
|
+
if (isRoleMenu(dropdownTriggerer)) {
|
|
361
|
+
return 'menu';
|
|
362
|
+
}
|
|
363
|
+
return 'listbox';
|
|
553
364
|
};
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
return "".concat(size, "px");
|
|
365
|
+
var getActionListSectionRole = function getActionListSectionRole() {
|
|
366
|
+
if (isReactNative$4()) {
|
|
367
|
+
return undefined;
|
|
558
368
|
}
|
|
559
|
-
return
|
|
560
|
-
}
|
|
561
|
-
|
|
562
|
-
var makeMotionTime = function makeMotionTime(time) {
|
|
563
|
-
return "".concat(time, "ms");
|
|
369
|
+
return 'group';
|
|
564
370
|
};
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
371
|
+
var getSeparatorRole = function getSeparatorRole() {
|
|
372
|
+
if (isReactNative$4()) {
|
|
373
|
+
// Its not really announced so ignoring it in native.
|
|
374
|
+
return undefined;
|
|
375
|
+
}
|
|
376
|
+
return 'separator';
|
|
568
377
|
};
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
378
|
+
var getActionListItemWrapperRole = function getActionListItemWrapperRole(hasFooterAction, dropdownTriggerer) {
|
|
379
|
+
if (isRoleMenu(dropdownTriggerer)) {
|
|
380
|
+
return undefined;
|
|
381
|
+
}
|
|
382
|
+
if (hasFooterAction) {
|
|
383
|
+
return 'listbox';
|
|
384
|
+
}
|
|
385
|
+
return undefined;
|
|
573
386
|
};
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
387
|
+
var getActionListItemRole = function getActionListItemRole(dropdownTriggerer, href, selectionType) {
|
|
388
|
+
if (href) {
|
|
389
|
+
return 'link';
|
|
390
|
+
}
|
|
391
|
+
if (isRoleMenu(dropdownTriggerer)) {
|
|
392
|
+
if (selectionType === 'multiple') {
|
|
393
|
+
return 'menuitemcheckbox';
|
|
394
|
+
}
|
|
395
|
+
return 'menuitem';
|
|
396
|
+
}
|
|
397
|
+
return 'option';
|
|
577
398
|
};
|
|
578
399
|
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
400
|
+
var componentIds$1 = {
|
|
401
|
+
ActionList: 'ActionList',
|
|
402
|
+
ActionListItem: 'ActionListItem',
|
|
403
|
+
ActionListItemAsset: 'ActionListItemAsset',
|
|
404
|
+
ActionListItemIcon: 'ActionListItemIcon',
|
|
405
|
+
ActionListItemText: 'ActionListItemText',
|
|
406
|
+
ActionListSection: 'ActionListSection'
|
|
586
407
|
};
|
|
587
408
|
|
|
409
|
+
/* eslint-disable no-restricted-properties */
|
|
410
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
411
|
+
|
|
588
412
|
/**
|
|
589
|
-
*
|
|
590
|
-
* @see {@link https://reactjs.org/docs/hooks-faq.html#how-to-get-the-previous-props-or-state}
|
|
591
|
-
* @deprecated This utility will be deprecated in subsequent version.
|
|
413
|
+
* Gets the `componentId` prop of React component if it exists.
|
|
592
414
|
*/
|
|
593
|
-
function
|
|
594
|
-
var
|
|
595
|
-
|
|
596
|
-
ref.current = value;
|
|
597
|
-
}, [value]);
|
|
598
|
-
return ref.current;
|
|
599
|
-
}
|
|
600
|
-
|
|
601
|
-
var ThemeContext = /*#__PURE__*/createContext({
|
|
602
|
-
// @ts-expect-error set null
|
|
603
|
-
theme: null,
|
|
604
|
-
colorScheme: 'light',
|
|
605
|
-
platform: 'onDesktop',
|
|
606
|
-
setColorScheme: function setColorScheme() {
|
|
607
|
-
return null;
|
|
608
|
-
}
|
|
609
|
-
});
|
|
610
|
-
var useTheme = function useTheme() {
|
|
611
|
-
var themeContext = useContext(ThemeContext);
|
|
612
|
-
return themeContext;
|
|
613
|
-
};
|
|
415
|
+
var getComponentId = function getComponentId(component) {
|
|
416
|
+
var _component$props, _component$props2, _component$props2$ori, _component$type;
|
|
417
|
+
if (! /*#__PURE__*/React__default.isValidElement(component)) return null;
|
|
614
418
|
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
contentHeight: 0,
|
|
619
|
-
footerHeight: 0,
|
|
620
|
-
isHeaderFloating: false,
|
|
621
|
-
setContentHeight: function setContentHeight() {},
|
|
622
|
-
setHeaderHeight: function setHeaderHeight() {},
|
|
623
|
-
setFooterHeight: function setFooterHeight() {},
|
|
624
|
-
setHasBodyPadding: function setHasBodyPadding() {},
|
|
625
|
-
setIsHeaderEmpty: function setIsHeaderEmpty() {},
|
|
626
|
-
close: function close() {},
|
|
627
|
-
scrollRef: null,
|
|
628
|
-
bind: null,
|
|
629
|
-
isOpen: false,
|
|
630
|
-
positionY: 0,
|
|
631
|
-
isInBottomSheet: false,
|
|
632
|
-
defaultInitialFocusRef: {
|
|
633
|
-
current: null
|
|
419
|
+
// Storybook wraps MDX components in a wrapper component, so we need to get componentId from originalType
|
|
420
|
+
if (component !== null && component !== void 0 && (_component$props = component.props) !== null && _component$props !== void 0 && _component$props.mdxType && component !== null && component !== void 0 && (_component$props2 = component.props) !== null && _component$props2 !== void 0 && (_component$props2$ori = _component$props2.originalType) !== null && _component$props2$ori !== void 0 && _component$props2$ori.componentId) {
|
|
421
|
+
return component.props.originalType.componentId;
|
|
634
422
|
}
|
|
635
|
-
|
|
636
|
-
var useBottomSheetContext = function useBottomSheetContext() {
|
|
637
|
-
var state = React__default.useContext(BottomSheetContext);
|
|
638
|
-
return state;
|
|
423
|
+
return (_component$type = component.type) === null || _component$type === void 0 ? void 0 : _component$type.componentId;
|
|
639
424
|
};
|
|
640
|
-
var BottomSheetAndDropdownGlueContext = /*#__PURE__*/React__default.createContext(null);
|
|
641
425
|
|
|
642
426
|
/**
|
|
643
|
-
*
|
|
644
|
-
*
|
|
645
|
-
* You can hover over the return types to get jsdoc and more information about each
|
|
427
|
+
* Checks if the `component` matches the `componentId`
|
|
646
428
|
*/
|
|
647
|
-
var
|
|
648
|
-
|
|
649
|
-
return state;
|
|
429
|
+
var isValidAllowedChildren = function isValidAllowedChildren(component, id) {
|
|
430
|
+
return getComponentId(component) === id;
|
|
650
431
|
};
|
|
651
432
|
|
|
652
|
-
var _excluded$51 = ["isOpen", "setIsOpen", "close", "selectedIndices", "setSelectedIndices", "activeIndex", "setActiveIndex", "shouldIgnoreBlur", "setShouldIgnoreBlur", "isKeydownPressed", "setIsKeydownPressed", "options", "selectionType", "changeCallbackTriggerer", "setChangeCallbackTriggerer", "isControlled", "setControlledValueIndices"];
|
|
653
433
|
function ownKeys$6f(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; }
|
|
654
434
|
function _objectSpread$6e(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6f(Object(source), !0).forEach(function (key) { _defineProperty$1(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6f(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
655
435
|
|
|
656
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
657
|
-
var noop$1 = function noop() {};
|
|
658
|
-
var DropdownContext = /*#__PURE__*/React__default.createContext({
|
|
659
|
-
isOpen: false,
|
|
660
|
-
setIsOpen: noop$1,
|
|
661
|
-
close: noop$1,
|
|
662
|
-
selectedIndices: [],
|
|
663
|
-
setSelectedIndices: noop$1,
|
|
664
|
-
controlledValueIndices: [],
|
|
665
|
-
setControlledValueIndices: noop$1,
|
|
666
|
-
options: [],
|
|
667
|
-
setOptions: noop$1,
|
|
668
|
-
activeIndex: -1,
|
|
669
|
-
setActiveIndex: noop$1,
|
|
670
|
-
shouldIgnoreBlur: false,
|
|
671
|
-
setShouldIgnoreBlur: noop$1,
|
|
672
|
-
shouldIgnoreBlurAnimation: false,
|
|
673
|
-
setShouldIgnoreBlurAnimation: noop$1,
|
|
674
|
-
hasFooterAction: false,
|
|
675
|
-
setHasFooterAction: noop$1,
|
|
676
|
-
hasLabelOnLeft: false,
|
|
677
|
-
setHasLabelOnLeft: noop$1,
|
|
678
|
-
isKeydownPressed: false,
|
|
679
|
-
setIsKeydownPressed: noop$1,
|
|
680
|
-
changeCallbackTriggerer: 0,
|
|
681
|
-
setChangeCallbackTriggerer: noop$1,
|
|
682
|
-
isControlled: false,
|
|
683
|
-
setIsControlled: noop$1,
|
|
684
|
-
dropdownBaseId: '',
|
|
685
|
-
actionListItemRef: {
|
|
686
|
-
current: null
|
|
687
|
-
},
|
|
688
|
-
triggererRef: {
|
|
689
|
-
current: null
|
|
690
|
-
},
|
|
691
|
-
triggererWrapperRef: {
|
|
692
|
-
current: null
|
|
693
|
-
}
|
|
694
|
-
});
|
|
695
|
-
var searchTimeout;
|
|
696
|
-
var searchString = '';
|
|
697
436
|
/**
|
|
698
|
-
*
|
|
699
|
-
*
|
|
700
|
-
* Returns the values from DropdownContext along with some helper functions and event handlers
|
|
437
|
+
* Returns if there is ActionListItem after ActionListSection
|
|
438
|
+
* and an index of last ActionListSection
|
|
701
439
|
*
|
|
440
|
+
* It is used to decide if ActionListSection add divider at the end
|
|
702
441
|
*/
|
|
703
|
-
var
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
selectedIndices = _React$useContext.selectedIndices,
|
|
709
|
-
setSelectedIndices = _React$useContext.setSelectedIndices,
|
|
710
|
-
activeIndex = _React$useContext.activeIndex,
|
|
711
|
-
setActiveIndex = _React$useContext.setActiveIndex,
|
|
712
|
-
shouldIgnoreBlur = _React$useContext.shouldIgnoreBlur,
|
|
713
|
-
setShouldIgnoreBlur = _React$useContext.setShouldIgnoreBlur,
|
|
714
|
-
isKeydownPressed = _React$useContext.isKeydownPressed,
|
|
715
|
-
setIsKeydownPressed = _React$useContext.setIsKeydownPressed,
|
|
716
|
-
options = _React$useContext.options,
|
|
717
|
-
selectionType = _React$useContext.selectionType,
|
|
718
|
-
changeCallbackTriggerer = _React$useContext.changeCallbackTriggerer,
|
|
719
|
-
setChangeCallbackTriggerer = _React$useContext.setChangeCallbackTriggerer,
|
|
720
|
-
isControlled = _React$useContext.isControlled,
|
|
721
|
-
setControlledValueIndices = _React$useContext.setControlledValueIndices,
|
|
722
|
-
rest = _objectWithoutProperties$1(_React$useContext, _excluded$51);
|
|
723
|
-
var bottomSheetAndDropdownGlue = useBottomSheetAndDropdownGlue();
|
|
724
|
-
var setIndices = function setIndices(indices) {
|
|
725
|
-
if (isControlled) {
|
|
726
|
-
setControlledValueIndices(indices);
|
|
727
|
-
} else {
|
|
728
|
-
setSelectedIndices(indices);
|
|
729
|
-
}
|
|
730
|
-
};
|
|
731
|
-
/**
|
|
732
|
-
* Marks the given index as selected.
|
|
733
|
-
*
|
|
734
|
-
* In single select, it also closes the menu.
|
|
735
|
-
* In multiselect, it keeps the menu open for more selections
|
|
736
|
-
*/
|
|
737
|
-
var selectOption = function selectOption(index) {
|
|
738
|
-
var properties = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
|
|
739
|
-
closeOnSelection: true
|
|
740
|
-
};
|
|
741
|
-
var isSelected = false;
|
|
742
|
-
if (index < 0 || index > options.length - 1) {
|
|
743
|
-
return isSelected;
|
|
744
|
-
}
|
|
745
|
-
if (selectionType === 'multiple') {
|
|
746
|
-
if (selectedIndices.includes(index)) {
|
|
747
|
-
// remove existing item
|
|
748
|
-
var existingItemIndex = selectedIndices.indexOf(index);
|
|
749
|
-
setIndices([].concat(_toConsumableArray$1(selectedIndices.slice(0, existingItemIndex)), _toConsumableArray$1(selectedIndices.slice(existingItemIndex + 1))));
|
|
750
|
-
isSelected = false;
|
|
751
|
-
} else {
|
|
752
|
-
setIndices([].concat(_toConsumableArray$1(selectedIndices), [index]));
|
|
753
|
-
isSelected = true;
|
|
754
|
-
}
|
|
755
|
-
} else {
|
|
756
|
-
setIndices([index]);
|
|
757
|
-
isSelected = true;
|
|
758
|
-
}
|
|
442
|
+
var getActionListSectionPosition = function getActionListSectionPosition(children) {
|
|
443
|
+
// Creating an array of componentIds
|
|
444
|
+
var childComponentIdArray = React__default.Children.toArray(children).map(function (child) {
|
|
445
|
+
return getComponentId(child);
|
|
446
|
+
});
|
|
759
447
|
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
if (activeIndex !== index) {
|
|
763
|
-
setActiveIndex(index);
|
|
764
|
-
}
|
|
765
|
-
if (properties !== null && properties !== void 0 && properties.closeOnSelection && selectionType !== 'multiple') {
|
|
766
|
-
close();
|
|
767
|
-
}
|
|
768
|
-
return isSelected;
|
|
769
|
-
};
|
|
448
|
+
// Reading the last `ActionListSection` component's index
|
|
449
|
+
var lastActionListSectionIndex = childComponentIdArray.lastIndexOf(componentIds$1.ActionListSection);
|
|
770
450
|
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
451
|
+
// Checking if there is any `ActionListItem` present after `ActionListSection`
|
|
452
|
+
var isActionListItemPresentAfterSection = childComponentIdArray.slice(lastActionListSectionIndex).includes(componentIds$1.ActionListItem);
|
|
453
|
+
return {
|
|
454
|
+
isActionListItemPresentAfterSection: isActionListItemPresentAfterSection,
|
|
455
|
+
lastActionListSectionIndex: lastActionListSectionIndex
|
|
456
|
+
};
|
|
457
|
+
};
|
|
458
|
+
/**
|
|
459
|
+
* Loops over action list items and returns different properties from children like option values, header and footer child, etc
|
|
460
|
+
*/
|
|
461
|
+
var getActionListProperties = function getActionListProperties(children) {
|
|
462
|
+
var sectionData = [];
|
|
463
|
+
var currentSection = null;
|
|
464
|
+
var actionListOptions = [];
|
|
465
|
+
var getActionListItemWithId = function getActionListItemWithId(child, hideDivider) {
|
|
466
|
+
if ( /*#__PURE__*/React__default.isValidElement(child) && !child.props.isDisabled) {
|
|
467
|
+
actionListOptions.push({
|
|
468
|
+
title: child.props.title,
|
|
469
|
+
value: child.props.value,
|
|
470
|
+
onClickTrigger: function onClickTrigger(value) {
|
|
471
|
+
var _child$props$onClick, _child$props, _child$props$isSelect;
|
|
472
|
+
var anchorLink = child.props.href;
|
|
473
|
+
(_child$props$onClick = (_child$props = child.props).onClick) === null || _child$props$onClick === void 0 ? void 0 : _child$props$onClick.call(_child$props, {
|
|
474
|
+
name: child.props.value,
|
|
475
|
+
value: (_child$props$isSelect = child.props.isSelected) !== null && _child$props$isSelect !== void 0 ? _child$props$isSelect : value
|
|
476
|
+
});
|
|
477
|
+
if (anchorLink && !isReactNative$4()) {
|
|
478
|
+
var _child$props$target;
|
|
479
|
+
var target = (_child$props$target = child.props.target) !== null && _child$props$target !== void 0 ? _child$props$target : '_self';
|
|
480
|
+
window.open(anchorLink, target);
|
|
481
|
+
if (window.top) {
|
|
482
|
+
window.top.open(anchorLink, target);
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
});
|
|
487
|
+
var currentIndex = actionListOptions.length - 1;
|
|
488
|
+
var foundSection = sectionData.find(function (v) {
|
|
489
|
+
return v.title === currentSection;
|
|
490
|
+
});
|
|
491
|
+
// push the item in the appropriate bucket
|
|
492
|
+
if (foundSection) {
|
|
493
|
+
foundSection === null || foundSection === void 0 ? void 0 : foundSection.data.push(_objectSpread$6e(_objectSpread$6e({}, child.props), {}, {
|
|
494
|
+
_index: currentIndex
|
|
495
|
+
}));
|
|
496
|
+
} else {
|
|
497
|
+
// create a new bucket
|
|
498
|
+
sectionData.push({
|
|
499
|
+
title: currentSection,
|
|
500
|
+
hideDivider: hideDivider,
|
|
501
|
+
data: [_objectSpread$6e(_objectSpread$6e({}, child.props), {}, {
|
|
502
|
+
_index: currentIndex
|
|
503
|
+
})]
|
|
504
|
+
});
|
|
505
|
+
}
|
|
506
|
+
var clonedChild = /*#__PURE__*/React__default.cloneElement(child, {
|
|
507
|
+
// @ts-expect-error: TS doesn't understand the child's props
|
|
508
|
+
_index: currentIndex
|
|
509
|
+
});
|
|
510
|
+
return clonedChild;
|
|
779
511
|
}
|
|
512
|
+
return child;
|
|
780
513
|
};
|
|
514
|
+
var isActionListItemPresentAfterSection;
|
|
515
|
+
// eslint-disable-next-line one-var
|
|
516
|
+
var lastActionListSectionIndex;
|
|
517
|
+
if (isReactNative$4()) {
|
|
518
|
+
// We're reading this so that we can decide whether to show the divider or not.
|
|
519
|
+
// If ActionListSection is final item and no ActionListItem is present after that, we hide the divider
|
|
520
|
+
// On web, we do it using descendant styling
|
|
521
|
+
var _getActionListSection = getActionListSectionPosition(children);
|
|
522
|
+
isActionListItemPresentAfterSection = _getActionListSection.isActionListItemPresentAfterSection;
|
|
523
|
+
lastActionListSectionIndex = _getActionListSection.lastActionListSectionIndex;
|
|
524
|
+
}
|
|
781
525
|
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
setShouldIgnoreBlur(false);
|
|
800
|
-
return;
|
|
801
|
-
}
|
|
802
|
-
onBlurCallback === null || onBlurCallback === void 0 ? void 0 : onBlurCallback({
|
|
803
|
-
name: name,
|
|
804
|
-
value: value
|
|
805
|
-
});
|
|
806
|
-
if (isOpen) {
|
|
807
|
-
if (selectionType !== 'multiple') {
|
|
808
|
-
selectOption(activeIndex);
|
|
526
|
+
// Looping through ActionListItems to add index to them and get an options array for moving focus between items
|
|
527
|
+
var childrenWithId = React__default.Children.map(children, function (child, index) {
|
|
528
|
+
if ( /*#__PURE__*/React__default.isValidElement(child)) {
|
|
529
|
+
if (isValidAllowedChildren(child, componentIds$1.ActionListSection)) {
|
|
530
|
+
var shouldHideDivider = index === lastActionListSectionIndex && !isActionListItemPresentAfterSection;
|
|
531
|
+
return /*#__PURE__*/React__default.cloneElement(child, {
|
|
532
|
+
// @ts-expect-error: TS doesn't understand the child's props
|
|
533
|
+
children: React__default.Children.map(child.props.children, function (childInSection) {
|
|
534
|
+
currentSection = child.props.title;
|
|
535
|
+
if (isValidAllowedChildren(childInSection, componentIds$1.ActionListItem)) {
|
|
536
|
+
return getActionListItemWithId(childInSection, shouldHideDivider);
|
|
537
|
+
}
|
|
538
|
+
return childInSection;
|
|
539
|
+
}),
|
|
540
|
+
// On web, we handle it with descendant styling in css so no need of JS there
|
|
541
|
+
_hideDivider: isReactNative$4() ? shouldHideDivider : undefined
|
|
542
|
+
});
|
|
809
543
|
}
|
|
810
|
-
if (
|
|
811
|
-
|
|
544
|
+
if (isValidAllowedChildren(child, componentIds$1.ActionListItem)) {
|
|
545
|
+
return getActionListItemWithId(child, true);
|
|
812
546
|
}
|
|
813
547
|
}
|
|
548
|
+
return child;
|
|
549
|
+
});
|
|
550
|
+
return {
|
|
551
|
+
sectionData: sectionData,
|
|
552
|
+
childrenWithId: childrenWithId,
|
|
553
|
+
actionListOptions: actionListOptions
|
|
814
554
|
};
|
|
555
|
+
};
|
|
556
|
+
var validateActionListItemProps = function validateActionListItemProps(_ref) {
|
|
557
|
+
_ref.leading;
|
|
558
|
+
_ref.trailing;
|
|
559
|
+
};
|
|
560
|
+
var getNormalTextColor = function getNormalTextColor(isDisabled) {
|
|
561
|
+
var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
562
|
+
isMuted = _ref2.isMuted;
|
|
563
|
+
if (isDisabled) {
|
|
564
|
+
return 'surface.text.placeholder.lowContrast';
|
|
565
|
+
}
|
|
566
|
+
if (isMuted) {
|
|
567
|
+
return 'surface.text.muted.lowContrast';
|
|
568
|
+
}
|
|
569
|
+
return 'surface.text.normal.lowContrast';
|
|
570
|
+
};
|
|
815
571
|
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
return option.value;
|
|
825
|
-
});
|
|
826
|
-
ensureScrollVisiblity(newIndex, rest.actionListItemRef.current, optionValues);
|
|
827
|
-
};
|
|
828
|
-
|
|
829
|
-
/**
|
|
830
|
-
* Click handler when user clicks on any particular option.
|
|
831
|
-
*
|
|
832
|
-
* It
|
|
833
|
-
* - changes the option focus
|
|
834
|
-
* - selects that option
|
|
835
|
-
* - moves focus to combobox
|
|
836
|
-
*/
|
|
837
|
-
var onOptionClick = function onOptionClick(e, index) {
|
|
838
|
-
var actionType = getActionFromKey(e, isOpen);
|
|
839
|
-
if (typeof actionType === 'number') {
|
|
840
|
-
onOptionChange(actionType, index);
|
|
841
|
-
}
|
|
842
|
-
selectOption(index);
|
|
843
|
-
if (!isReactNative$4()) {
|
|
844
|
-
var _rest$triggererRef$cu;
|
|
845
|
-
(_rest$triggererRef$cu = rest.triggererRef.current) === null || _rest$triggererRef$cu === void 0 ? void 0 : _rest$triggererRef$cu.focus();
|
|
846
|
-
}
|
|
847
|
-
};
|
|
572
|
+
var breakpoints = {
|
|
573
|
+
base: 0,
|
|
574
|
+
xs: 320,
|
|
575
|
+
s: 480,
|
|
576
|
+
m: 768,
|
|
577
|
+
l: 1024,
|
|
578
|
+
xl: 1200
|
|
579
|
+
};
|
|
848
580
|
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
*
|
|
854
|
-
* Then searches for that word in options and moves focus there.
|
|
855
|
-
*/
|
|
856
|
-
var onComboType = function onComboType(letter, actionType) {
|
|
857
|
-
// open the listbox if it is closed
|
|
858
|
-
setIsOpen(true);
|
|
859
|
-
if (typeof searchTimeout === 'number') {
|
|
860
|
-
window.clearTimeout(searchTimeout);
|
|
861
|
-
}
|
|
862
|
-
searchTimeout = window.setTimeout(function () {
|
|
863
|
-
searchString = '';
|
|
864
|
-
}, 500);
|
|
865
|
-
// eslint-disable-next-line @typescript-eslint/restrict-plus-operands
|
|
866
|
-
searchString = searchString + letter;
|
|
867
|
-
var optionTitles = options.map(function (option) {
|
|
868
|
-
return option.title;
|
|
869
|
-
});
|
|
870
|
-
var searchIndex = getIndexByLetter(optionTitles, searchString, activeIndex + 1);
|
|
581
|
+
var fontFamily = {
|
|
582
|
+
text: 'Lato, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',
|
|
583
|
+
code: 'monospace'
|
|
584
|
+
};
|
|
871
585
|
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
onOptionChange(actionType, searchIndex);
|
|
875
|
-
}
|
|
876
|
-
// if no matches, clear the timeout and search string
|
|
877
|
-
else {
|
|
878
|
-
window.clearTimeout(searchTimeout);
|
|
879
|
-
searchString = '';
|
|
880
|
-
}
|
|
881
|
-
};
|
|
586
|
+
function ownKeys$6e(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; }
|
|
587
|
+
function _objectSpread$6d(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6e(Object(source), !0).forEach(function (key) { _defineProperty$1(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6e(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
882
588
|
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
setShouldIgnoreBlur(true);
|
|
890
|
-
}
|
|
589
|
+
/**
|
|
590
|
+
* For font size and line-heights we can’t say from xl to 2xl the value will necessary increase.
|
|
591
|
+
* it might decrease or remain same because these are alias tokens and we need aliases for cross platform.
|
|
592
|
+
* so for example xl on mobile can be 32px and on desktop xl can be 34px,
|
|
593
|
+
* similarly 2xl on mobile can be 34px but on desktop doesn’t necessarily mean 2xl will be more than xl(34px) it can be 32 as well since visually they make better hierarchy.
|
|
594
|
+
*/
|
|
891
595
|
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
}
|
|
896
|
-
if (!isKeydownPressed && ![' ', 'Enter', 'Escape', 'Meta'].includes(e.event.key)) {
|
|
897
|
-
// When keydown is not already pressed and its not Enter, Space, Command, or Escape key (those are generic keys and we only want to handle arrow keys or home buttons etc)
|
|
898
|
-
setIsKeydownPressed(true);
|
|
899
|
-
}
|
|
900
|
-
var actionType = getActionFromKey(e.event, isOpen);
|
|
901
|
-
if (actionType) {
|
|
902
|
-
performAction(actionType, e, {
|
|
903
|
-
setIsOpen: setIsOpen,
|
|
904
|
-
close: close,
|
|
905
|
-
onOptionChange: onOptionChange,
|
|
906
|
-
onComboType: onComboType,
|
|
907
|
-
selectCurrentOption: function selectCurrentOption() {
|
|
908
|
-
var _options$activeIndex$, _options$activeIndex;
|
|
909
|
-
var isSelected = selectOption(activeIndex);
|
|
910
|
-
if (rest.hasFooterAction && !isReactNative$4()) {
|
|
911
|
-
var _rest$triggererRef$cu2;
|
|
912
|
-
(_rest$triggererRef$cu2 = rest.triggererRef.current) === null || _rest$triggererRef$cu2 === void 0 ? void 0 : _rest$triggererRef$cu2.focus();
|
|
913
|
-
}
|
|
914
|
-
(_options$activeIndex$ = (_options$activeIndex = options[activeIndex]).onClickTrigger) === null || _options$activeIndex$ === void 0 ? void 0 : _options$activeIndex$.call(_options$activeIndex, isSelected);
|
|
915
|
-
}
|
|
916
|
-
});
|
|
917
|
-
}
|
|
918
|
-
};
|
|
919
|
-
return _objectSpread$6e({
|
|
920
|
-
isOpen: isOpen,
|
|
921
|
-
setIsOpen: setIsOpen,
|
|
922
|
-
close: close,
|
|
923
|
-
selectedIndices: selectedIndices,
|
|
924
|
-
setSelectedIndices: setSelectedIndices,
|
|
925
|
-
setControlledValueIndices: setControlledValueIndices,
|
|
926
|
-
onTriggerClick: onTriggerClick,
|
|
927
|
-
onTriggerKeydown: onTriggerKeydown,
|
|
928
|
-
onTriggerBlur: onTriggerBlur,
|
|
929
|
-
onOptionClick: onOptionClick,
|
|
930
|
-
activeIndex: activeIndex,
|
|
931
|
-
setActiveIndex: setActiveIndex,
|
|
932
|
-
shouldIgnoreBlur: shouldIgnoreBlur,
|
|
933
|
-
setShouldIgnoreBlur: setShouldIgnoreBlur,
|
|
934
|
-
isKeydownPressed: isKeydownPressed,
|
|
935
|
-
setIsKeydownPressed: setIsKeydownPressed,
|
|
936
|
-
changeCallbackTriggerer: changeCallbackTriggerer,
|
|
937
|
-
setChangeCallbackTriggerer: setChangeCallbackTriggerer,
|
|
938
|
-
isControlled: isControlled,
|
|
939
|
-
options: options,
|
|
940
|
-
value: makeInputValue(selectedIndices, options),
|
|
941
|
-
displayValue: makeInputDisplayValue(selectedIndices, options),
|
|
942
|
-
selectionType: selectionType
|
|
943
|
-
}, rest);
|
|
596
|
+
var fontWeight = {
|
|
597
|
+
regular: 400,
|
|
598
|
+
bold: 700
|
|
944
599
|
};
|
|
600
|
+
({
|
|
601
|
+
onDesktop: {
|
|
602
|
+
fonts: {
|
|
603
|
+
family: _objectSpread$6d({}, fontFamily),
|
|
604
|
+
size: {
|
|
605
|
+
10: 9,
|
|
606
|
+
25: 10,
|
|
607
|
+
50: 11,
|
|
608
|
+
75: 12,
|
|
609
|
+
100: 14,
|
|
610
|
+
200: 16,
|
|
611
|
+
300: 18,
|
|
612
|
+
400: 20,
|
|
613
|
+
500: 22,
|
|
614
|
+
600: 24,
|
|
615
|
+
700: 28,
|
|
616
|
+
800: 32,
|
|
617
|
+
900: 36,
|
|
618
|
+
1000: 40,
|
|
619
|
+
1100: 48,
|
|
620
|
+
1200: 56,
|
|
621
|
+
1300: 64,
|
|
622
|
+
1600: 88
|
|
623
|
+
},
|
|
624
|
+
weight: _objectSpread$6d({}, fontWeight)
|
|
625
|
+
},
|
|
626
|
+
lineHeights: {
|
|
627
|
+
0: 0,
|
|
628
|
+
25: 14,
|
|
629
|
+
50: 16,
|
|
630
|
+
75: 18,
|
|
631
|
+
100: 20,
|
|
632
|
+
200: 24,
|
|
633
|
+
300: 24,
|
|
634
|
+
400: 28,
|
|
635
|
+
500: 32,
|
|
636
|
+
600: 40,
|
|
637
|
+
700: 40,
|
|
638
|
+
800: 48,
|
|
639
|
+
900: 56,
|
|
640
|
+
1000: 64,
|
|
641
|
+
1100: 72,
|
|
642
|
+
1500: 104
|
|
643
|
+
}
|
|
644
|
+
// letterSpacings: {},
|
|
645
|
+
},
|
|
646
|
+
|
|
647
|
+
onMobile: {
|
|
648
|
+
fonts: {
|
|
649
|
+
family: _objectSpread$6d({}, fontFamily),
|
|
650
|
+
size: {
|
|
651
|
+
10: 9,
|
|
652
|
+
25: 10,
|
|
653
|
+
50: 11,
|
|
654
|
+
75: 12,
|
|
655
|
+
100: 14,
|
|
656
|
+
200: 16,
|
|
657
|
+
300: 16,
|
|
658
|
+
400: 18,
|
|
659
|
+
500: 20,
|
|
660
|
+
600: 20,
|
|
661
|
+
700: 24,
|
|
662
|
+
800: 28,
|
|
663
|
+
900: 32,
|
|
664
|
+
1000: 32,
|
|
665
|
+
1100: 40,
|
|
666
|
+
1200: 48,
|
|
667
|
+
1300: 56,
|
|
668
|
+
1600: 64
|
|
669
|
+
},
|
|
670
|
+
weight: _objectSpread$6d({}, fontWeight)
|
|
671
|
+
},
|
|
672
|
+
lineHeights: {
|
|
673
|
+
0: 0,
|
|
674
|
+
25: 14,
|
|
675
|
+
50: 16,
|
|
676
|
+
75: 18,
|
|
677
|
+
100: 20,
|
|
678
|
+
200: 20,
|
|
679
|
+
300: 24,
|
|
680
|
+
400: 24,
|
|
681
|
+
500: 28,
|
|
682
|
+
600: 32,
|
|
683
|
+
700: 40,
|
|
684
|
+
800: 40,
|
|
685
|
+
900: 48,
|
|
686
|
+
1000: 56,
|
|
687
|
+
1100: 64,
|
|
688
|
+
1500: 72
|
|
689
|
+
}
|
|
690
|
+
// letterSpacings: {},
|
|
691
|
+
}
|
|
692
|
+
});
|
|
945
693
|
|
|
946
694
|
/**
|
|
947
|
-
*
|
|
695
|
+
* Size tokens are currently not exposed for users (therefore not available in theme)
|
|
948
696
|
*/
|
|
949
|
-
var
|
|
950
|
-
|
|
697
|
+
var size = {
|
|
698
|
+
/** 0 px */
|
|
699
|
+
0: 0,
|
|
700
|
+
/** 1 px */
|
|
701
|
+
1: 1,
|
|
702
|
+
/** 2 px */
|
|
703
|
+
2: 2,
|
|
704
|
+
/** 3 px */
|
|
705
|
+
3: 3,
|
|
706
|
+
/** 4 px */
|
|
707
|
+
4: 4,
|
|
708
|
+
/** 5 px */
|
|
709
|
+
5: 5,
|
|
710
|
+
/** 6 px */
|
|
711
|
+
6: 6,
|
|
712
|
+
/** 8 px */
|
|
713
|
+
8: 8,
|
|
714
|
+
/** 10 px */
|
|
715
|
+
10: 10,
|
|
716
|
+
/** 12 px */
|
|
717
|
+
12: 12,
|
|
718
|
+
/** 16 px */
|
|
719
|
+
16: 16,
|
|
720
|
+
/** 18 px */
|
|
721
|
+
18: 18,
|
|
722
|
+
/** 20 px */
|
|
723
|
+
20: 20,
|
|
724
|
+
/** 24 px */
|
|
725
|
+
24: 24,
|
|
726
|
+
/** 28 px */
|
|
727
|
+
28: 28,
|
|
728
|
+
/** 32 px */
|
|
729
|
+
32: 32,
|
|
730
|
+
/** 36 px */
|
|
731
|
+
36: 36,
|
|
732
|
+
/** 40 px */
|
|
733
|
+
40: 40,
|
|
734
|
+
/** 44 px */
|
|
735
|
+
44: 44,
|
|
736
|
+
/** 48 px */
|
|
737
|
+
48: 48,
|
|
738
|
+
/** 60 px */
|
|
739
|
+
56: 56,
|
|
740
|
+
/** 100 px */
|
|
741
|
+
100: 100,
|
|
742
|
+
/** 120 px */
|
|
743
|
+
120: 120,
|
|
744
|
+
/** 140 px */
|
|
745
|
+
140: 140,
|
|
746
|
+
/** 160 px */
|
|
747
|
+
160: 160,
|
|
748
|
+
/** 200 px */
|
|
749
|
+
200: 200,
|
|
750
|
+
/** 240 px */
|
|
751
|
+
240: 240,
|
|
752
|
+
/** 300 px */
|
|
753
|
+
300: 300,
|
|
754
|
+
/** 360 px */
|
|
755
|
+
360: 360,
|
|
756
|
+
/** 400 px */
|
|
757
|
+
400: 400,
|
|
758
|
+
/** 584 px */
|
|
759
|
+
584: 584,
|
|
760
|
+
/** 640 px */
|
|
761
|
+
640: 640,
|
|
762
|
+
/** 760 px */
|
|
763
|
+
760: 760,
|
|
764
|
+
/** 800 px */
|
|
765
|
+
800: 800,
|
|
766
|
+
/** 1024 px */
|
|
767
|
+
1024: 1024,
|
|
768
|
+
/** 1136 px */
|
|
769
|
+
1136: 1136
|
|
770
|
+
};
|
|
771
|
+
|
|
772
|
+
var getBaseListBoxWrapperStyles = function getBaseListBoxWrapperStyles(props) {
|
|
773
|
+
return {
|
|
774
|
+
maxHeight: props.isInBottomSheet ? undefined : makeSize(size[300]),
|
|
775
|
+
padding: props.isInBottomSheet ? undefined : makeSize(props.theme.spacing[3])
|
|
776
|
+
};
|
|
951
777
|
};
|
|
952
778
|
|
|
779
|
+
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
780
|
+
|
|
781
|
+
function getDefaultExportFromCjs (x) {
|
|
782
|
+
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
|
|
783
|
+
}
|
|
784
|
+
|
|
953
785
|
/**
|
|
954
|
-
*
|
|
786
|
+
* Checks if `value` is classified as an `Array` object.
|
|
955
787
|
*
|
|
956
|
-
*
|
|
788
|
+
* @static
|
|
789
|
+
* @memberOf _
|
|
790
|
+
* @since 0.1.0
|
|
791
|
+
* @category Lang
|
|
792
|
+
* @param {*} value The value to check.
|
|
793
|
+
* @returns {boolean} Returns `true` if `value` is an array, else `false`.
|
|
794
|
+
* @example
|
|
957
795
|
*
|
|
958
|
-
*
|
|
796
|
+
* _.isArray([1, 2, 3]);
|
|
797
|
+
* // => true
|
|
959
798
|
*
|
|
960
|
-
*
|
|
799
|
+
* _.isArray(document.body.children);
|
|
800
|
+
* // => false
|
|
801
|
+
*
|
|
802
|
+
* _.isArray('abc');
|
|
803
|
+
* // => false
|
|
804
|
+
*
|
|
805
|
+
* _.isArray(_.noop);
|
|
806
|
+
* // => false
|
|
961
807
|
*/
|
|
962
|
-
var getActionListContainerRole = function getActionListContainerRole(hasFooterAction, dropdownTriggerer) {
|
|
963
|
-
if (hasFooterAction) {
|
|
964
|
-
return 'dialog';
|
|
965
|
-
}
|
|
966
|
-
if (isRoleMenu(dropdownTriggerer)) {
|
|
967
|
-
return 'menu';
|
|
968
|
-
}
|
|
969
|
-
return 'listbox';
|
|
970
|
-
};
|
|
971
|
-
var getActionListSectionRole = function getActionListSectionRole() {
|
|
972
|
-
if (isReactNative$4()) {
|
|
973
|
-
return undefined;
|
|
974
|
-
}
|
|
975
|
-
return 'group';
|
|
976
|
-
};
|
|
977
|
-
var getSeparatorRole = function getSeparatorRole() {
|
|
978
|
-
if (isReactNative$4()) {
|
|
979
|
-
// Its not really announced so ignoring it in native.
|
|
980
|
-
return undefined;
|
|
981
|
-
}
|
|
982
|
-
return 'separator';
|
|
983
|
-
};
|
|
984
|
-
var getActionListItemWrapperRole = function getActionListItemWrapperRole(hasFooterAction, dropdownTriggerer) {
|
|
985
|
-
if (isRoleMenu(dropdownTriggerer)) {
|
|
986
|
-
return undefined;
|
|
987
|
-
}
|
|
988
|
-
if (hasFooterAction) {
|
|
989
|
-
return 'listbox';
|
|
990
|
-
}
|
|
991
|
-
return undefined;
|
|
992
|
-
};
|
|
993
|
-
var getActionListItemRole = function getActionListItemRole(dropdownTriggerer, href, selectionType) {
|
|
994
|
-
if (href) {
|
|
995
|
-
return 'link';
|
|
996
|
-
}
|
|
997
|
-
if (isRoleMenu(dropdownTriggerer)) {
|
|
998
|
-
if (selectionType === 'multiple') {
|
|
999
|
-
return 'menuitemcheckbox';
|
|
1000
|
-
}
|
|
1001
|
-
return 'menuitem';
|
|
1002
|
-
}
|
|
1003
|
-
return 'option';
|
|
1004
|
-
};
|
|
1005
808
|
|
|
1006
|
-
var
|
|
1007
|
-
ActionList: 'ActionList',
|
|
1008
|
-
ActionListItem: 'ActionListItem',
|
|
1009
|
-
ActionListItemAsset: 'ActionListItemAsset',
|
|
1010
|
-
ActionListItemIcon: 'ActionListItemIcon',
|
|
1011
|
-
ActionListItemText: 'ActionListItemText',
|
|
1012
|
-
ActionListSection: 'ActionListSection'
|
|
1013
|
-
};
|
|
809
|
+
var isArray$4 = Array.isArray;
|
|
1014
810
|
|
|
1015
|
-
|
|
811
|
+
var isArray_1 = isArray$4;
|
|
1016
812
|
|
|
1017
|
-
/**
|
|
1018
|
-
* Gets the `componentId` prop of React component if it exists.
|
|
1019
|
-
*/
|
|
1020
|
-
var getComponentId = function getComponentId(component) {
|
|
1021
|
-
var _component$props, _component$props2, _component$props2$ori, _component$type;
|
|
1022
|
-
if (! /*#__PURE__*/React__default.isValidElement(component)) return null;
|
|
813
|
+
/** Detect free variable `global` from Node.js. */
|
|
1023
814
|
|
|
1024
|
-
|
|
1025
|
-
if (component !== null && component !== void 0 && (_component$props = component.props) !== null && _component$props !== void 0 && _component$props.mdxType && component !== null && component !== void 0 && (_component$props2 = component.props) !== null && _component$props2 !== void 0 && (_component$props2$ori = _component$props2.originalType) !== null && _component$props2$ori !== void 0 && _component$props2$ori.componentId) {
|
|
1026
|
-
return component.props.originalType.componentId;
|
|
1027
|
-
}
|
|
1028
|
-
return (_component$type = component.type) === null || _component$type === void 0 ? void 0 : _component$type.componentId;
|
|
1029
|
-
};
|
|
815
|
+
var freeGlobal$1 = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;
|
|
1030
816
|
|
|
1031
|
-
|
|
1032
|
-
* Checks if the `component` matches the `componentId`
|
|
1033
|
-
*/
|
|
1034
|
-
var isValidAllowedChildren = function isValidAllowedChildren(component, id) {
|
|
1035
|
-
return getComponentId(component) === id;
|
|
1036
|
-
};
|
|
817
|
+
var _freeGlobal = freeGlobal$1;
|
|
1037
818
|
|
|
1038
|
-
|
|
1039
|
-
|
|
819
|
+
var freeGlobal = _freeGlobal;
|
|
820
|
+
|
|
821
|
+
/** Detect free variable `self`. */
|
|
822
|
+
var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
|
|
823
|
+
|
|
824
|
+
/** Used as a reference to the global object. */
|
|
825
|
+
var root$8 = freeGlobal || freeSelf || Function('return this')();
|
|
826
|
+
|
|
827
|
+
var _root = root$8;
|
|
828
|
+
|
|
829
|
+
var root$7 = _root;
|
|
830
|
+
|
|
831
|
+
/** Built-in value references. */
|
|
832
|
+
var Symbol$4 = root$7.Symbol;
|
|
833
|
+
|
|
834
|
+
var _Symbol = Symbol$4;
|
|
835
|
+
|
|
836
|
+
var Symbol$3 = _Symbol;
|
|
837
|
+
|
|
838
|
+
/** Used for built-in method references. */
|
|
839
|
+
var objectProto$8 = Object.prototype;
|
|
840
|
+
|
|
841
|
+
/** Used to check objects for own properties. */
|
|
842
|
+
var hasOwnProperty$6 = objectProto$8.hasOwnProperty;
|
|
1040
843
|
|
|
1041
844
|
/**
|
|
1042
|
-
*
|
|
1043
|
-
*
|
|
1044
|
-
*
|
|
1045
|
-
* It is used to decide if ActionListSection add divider at the end
|
|
845
|
+
* Used to resolve the
|
|
846
|
+
* [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
|
|
847
|
+
* of values.
|
|
1046
848
|
*/
|
|
1047
|
-
var
|
|
1048
|
-
// Creating an array of componentIds
|
|
1049
|
-
var childComponentIdArray = React__default.Children.toArray(children).map(function (child) {
|
|
1050
|
-
return getComponentId(child);
|
|
1051
|
-
});
|
|
849
|
+
var nativeObjectToString$1 = objectProto$8.toString;
|
|
1052
850
|
|
|
1053
|
-
|
|
1054
|
-
|
|
851
|
+
/** Built-in value references. */
|
|
852
|
+
var symToStringTag$1 = Symbol$3 ? Symbol$3.toStringTag : undefined;
|
|
1055
853
|
|
|
1056
|
-
// Checking if there is any `ActionListItem` present after `ActionListSection`
|
|
1057
|
-
var isActionListItemPresentAfterSection = childComponentIdArray.slice(lastActionListSectionIndex).includes(componentIds.ActionListItem);
|
|
1058
|
-
return {
|
|
1059
|
-
isActionListItemPresentAfterSection: isActionListItemPresentAfterSection,
|
|
1060
|
-
lastActionListSectionIndex: lastActionListSectionIndex
|
|
1061
|
-
};
|
|
1062
|
-
};
|
|
1063
854
|
/**
|
|
1064
|
-
*
|
|
855
|
+
* A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.
|
|
856
|
+
*
|
|
857
|
+
* @private
|
|
858
|
+
* @param {*} value The value to query.
|
|
859
|
+
* @returns {string} Returns the raw `toStringTag`.
|
|
1065
860
|
*/
|
|
1066
|
-
|
|
1067
|
-
var
|
|
1068
|
-
|
|
1069
|
-
var actionListOptions = [];
|
|
1070
|
-
var getActionListItemWithId = function getActionListItemWithId(child, hideDivider) {
|
|
1071
|
-
if ( /*#__PURE__*/React__default.isValidElement(child) && !child.props.isDisabled) {
|
|
1072
|
-
actionListOptions.push({
|
|
1073
|
-
title: child.props.title,
|
|
1074
|
-
value: child.props.value,
|
|
1075
|
-
onClickTrigger: function onClickTrigger(value) {
|
|
1076
|
-
var _child$props$onClick, _child$props, _child$props$isSelect;
|
|
1077
|
-
var anchorLink = child.props.href;
|
|
1078
|
-
(_child$props$onClick = (_child$props = child.props).onClick) === null || _child$props$onClick === void 0 ? void 0 : _child$props$onClick.call(_child$props, {
|
|
1079
|
-
name: child.props.value,
|
|
1080
|
-
value: (_child$props$isSelect = child.props.isSelected) !== null && _child$props$isSelect !== void 0 ? _child$props$isSelect : value
|
|
1081
|
-
});
|
|
1082
|
-
if (anchorLink && !isReactNative$4()) {
|
|
1083
|
-
var _child$props$target;
|
|
1084
|
-
var target = (_child$props$target = child.props.target) !== null && _child$props$target !== void 0 ? _child$props$target : '_self';
|
|
1085
|
-
window.open(anchorLink, target);
|
|
1086
|
-
if (window.top) {
|
|
1087
|
-
window.top.open(anchorLink, target);
|
|
1088
|
-
}
|
|
1089
|
-
}
|
|
1090
|
-
}
|
|
1091
|
-
});
|
|
1092
|
-
var currentIndex = actionListOptions.length - 1;
|
|
1093
|
-
var foundSection = sectionData.find(function (v) {
|
|
1094
|
-
return v.title === currentSection;
|
|
1095
|
-
});
|
|
1096
|
-
// push the item in the appropriate bucket
|
|
1097
|
-
if (foundSection) {
|
|
1098
|
-
foundSection === null || foundSection === void 0 ? void 0 : foundSection.data.push(_objectSpread$6d(_objectSpread$6d({}, child.props), {}, {
|
|
1099
|
-
_index: currentIndex
|
|
1100
|
-
}));
|
|
1101
|
-
} else {
|
|
1102
|
-
// create a new bucket
|
|
1103
|
-
sectionData.push({
|
|
1104
|
-
title: currentSection,
|
|
1105
|
-
hideDivider: hideDivider,
|
|
1106
|
-
data: [_objectSpread$6d(_objectSpread$6d({}, child.props), {}, {
|
|
1107
|
-
_index: currentIndex
|
|
1108
|
-
})]
|
|
1109
|
-
});
|
|
1110
|
-
}
|
|
1111
|
-
var clonedChild = /*#__PURE__*/React__default.cloneElement(child, {
|
|
1112
|
-
// @ts-expect-error: TS doesn't understand the child's props
|
|
1113
|
-
_index: currentIndex
|
|
1114
|
-
});
|
|
1115
|
-
return clonedChild;
|
|
1116
|
-
}
|
|
1117
|
-
return child;
|
|
1118
|
-
};
|
|
1119
|
-
var isActionListItemPresentAfterSection;
|
|
1120
|
-
// eslint-disable-next-line one-var
|
|
1121
|
-
var lastActionListSectionIndex;
|
|
1122
|
-
if (isReactNative$4()) {
|
|
1123
|
-
// We're reading this so that we can decide whether to show the divider or not.
|
|
1124
|
-
// If ActionListSection is final item and no ActionListItem is present after that, we hide the divider
|
|
1125
|
-
// On web, we do it using descendant styling
|
|
1126
|
-
var _getActionListSection = getActionListSectionPosition(children);
|
|
1127
|
-
isActionListItemPresentAfterSection = _getActionListSection.isActionListItemPresentAfterSection;
|
|
1128
|
-
lastActionListSectionIndex = _getActionListSection.lastActionListSectionIndex;
|
|
1129
|
-
}
|
|
861
|
+
function getRawTag$1(value) {
|
|
862
|
+
var isOwn = hasOwnProperty$6.call(value, symToStringTag$1),
|
|
863
|
+
tag = value[symToStringTag$1];
|
|
1130
864
|
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
}
|
|
1143
|
-
return childInSection;
|
|
1144
|
-
}),
|
|
1145
|
-
// On web, we handle it with descendant styling in css so no need of JS there
|
|
1146
|
-
_hideDivider: isReactNative$4() ? shouldHideDivider : undefined
|
|
1147
|
-
});
|
|
1148
|
-
}
|
|
1149
|
-
if (isValidAllowedChildren(child, componentIds.ActionListItem)) {
|
|
1150
|
-
return getActionListItemWithId(child, true);
|
|
1151
|
-
}
|
|
865
|
+
try {
|
|
866
|
+
value[symToStringTag$1] = undefined;
|
|
867
|
+
var unmasked = true;
|
|
868
|
+
} catch (e) {}
|
|
869
|
+
|
|
870
|
+
var result = nativeObjectToString$1.call(value);
|
|
871
|
+
if (unmasked) {
|
|
872
|
+
if (isOwn) {
|
|
873
|
+
value[symToStringTag$1] = tag;
|
|
874
|
+
} else {
|
|
875
|
+
delete value[symToStringTag$1];
|
|
1152
876
|
}
|
|
1153
|
-
return child;
|
|
1154
|
-
});
|
|
1155
|
-
return {
|
|
1156
|
-
sectionData: sectionData,
|
|
1157
|
-
childrenWithId: childrenWithId,
|
|
1158
|
-
actionListOptions: actionListOptions
|
|
1159
|
-
};
|
|
1160
|
-
};
|
|
1161
|
-
var validateActionListItemProps = function validateActionListItemProps(_ref) {
|
|
1162
|
-
_ref.leading;
|
|
1163
|
-
_ref.trailing;
|
|
1164
|
-
};
|
|
1165
|
-
var getNormalTextColor = function getNormalTextColor(isDisabled) {
|
|
1166
|
-
var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
1167
|
-
isMuted = _ref2.isMuted;
|
|
1168
|
-
if (isDisabled) {
|
|
1169
|
-
return 'surface.text.placeholder.lowContrast';
|
|
1170
|
-
}
|
|
1171
|
-
if (isMuted) {
|
|
1172
|
-
return 'surface.text.muted.lowContrast';
|
|
1173
877
|
}
|
|
1174
|
-
return
|
|
1175
|
-
}
|
|
878
|
+
return result;
|
|
879
|
+
}
|
|
1176
880
|
|
|
1177
|
-
var
|
|
1178
|
-
base: 0,
|
|
1179
|
-
xs: 320,
|
|
1180
|
-
s: 480,
|
|
1181
|
-
m: 768,
|
|
1182
|
-
l: 1024,
|
|
1183
|
-
xl: 1200
|
|
1184
|
-
};
|
|
881
|
+
var _getRawTag = getRawTag$1;
|
|
1185
882
|
|
|
1186
|
-
|
|
1187
|
-
text: 'Lato, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',
|
|
1188
|
-
code: 'monospace'
|
|
1189
|
-
};
|
|
883
|
+
/** Used for built-in method references. */
|
|
1190
884
|
|
|
1191
|
-
|
|
1192
|
-
function _objectSpread$6c(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6d(Object(source), !0).forEach(function (key) { _defineProperty$1(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6d(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
885
|
+
var objectProto$7 = Object.prototype;
|
|
1193
886
|
|
|
1194
887
|
/**
|
|
1195
|
-
*
|
|
1196
|
-
*
|
|
1197
|
-
*
|
|
1198
|
-
* similarly 2xl on mobile can be 34px but on desktop doesn’t necessarily mean 2xl will be more than xl(34px) it can be 32 as well since visually they make better hierarchy.
|
|
888
|
+
* Used to resolve the
|
|
889
|
+
* [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
|
|
890
|
+
* of values.
|
|
1199
891
|
*/
|
|
892
|
+
var nativeObjectToString = objectProto$7.toString;
|
|
1200
893
|
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
25: 10,
|
|
1212
|
-
50: 11,
|
|
1213
|
-
75: 12,
|
|
1214
|
-
100: 14,
|
|
1215
|
-
200: 16,
|
|
1216
|
-
300: 18,
|
|
1217
|
-
400: 20,
|
|
1218
|
-
500: 22,
|
|
1219
|
-
600: 24,
|
|
1220
|
-
700: 28,
|
|
1221
|
-
800: 32,
|
|
1222
|
-
900: 36,
|
|
1223
|
-
1000: 40,
|
|
1224
|
-
1100: 48,
|
|
1225
|
-
1200: 56,
|
|
1226
|
-
1300: 64,
|
|
1227
|
-
1600: 88
|
|
1228
|
-
},
|
|
1229
|
-
weight: _objectSpread$6c({}, fontWeight)
|
|
1230
|
-
},
|
|
1231
|
-
lineHeights: {
|
|
1232
|
-
0: 0,
|
|
1233
|
-
25: 14,
|
|
1234
|
-
50: 16,
|
|
1235
|
-
75: 18,
|
|
1236
|
-
100: 20,
|
|
1237
|
-
200: 24,
|
|
1238
|
-
300: 24,
|
|
1239
|
-
400: 28,
|
|
1240
|
-
500: 32,
|
|
1241
|
-
600: 40,
|
|
1242
|
-
700: 40,
|
|
1243
|
-
800: 48,
|
|
1244
|
-
900: 56,
|
|
1245
|
-
1000: 64,
|
|
1246
|
-
1100: 72,
|
|
1247
|
-
1500: 104
|
|
1248
|
-
}
|
|
1249
|
-
// letterSpacings: {},
|
|
1250
|
-
},
|
|
894
|
+
/**
|
|
895
|
+
* Converts `value` to a string using `Object.prototype.toString`.
|
|
896
|
+
*
|
|
897
|
+
* @private
|
|
898
|
+
* @param {*} value The value to convert.
|
|
899
|
+
* @returns {string} Returns the converted string.
|
|
900
|
+
*/
|
|
901
|
+
function objectToString$1(value) {
|
|
902
|
+
return nativeObjectToString.call(value);
|
|
903
|
+
}
|
|
1251
904
|
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
500: 20,
|
|
1265
|
-
600: 20,
|
|
1266
|
-
700: 24,
|
|
1267
|
-
800: 28,
|
|
1268
|
-
900: 32,
|
|
1269
|
-
1000: 32,
|
|
1270
|
-
1100: 40,
|
|
1271
|
-
1200: 48,
|
|
1272
|
-
1300: 56,
|
|
1273
|
-
1600: 64
|
|
1274
|
-
},
|
|
1275
|
-
weight: _objectSpread$6c({}, fontWeight)
|
|
1276
|
-
},
|
|
1277
|
-
lineHeights: {
|
|
1278
|
-
0: 0,
|
|
1279
|
-
25: 14,
|
|
1280
|
-
50: 16,
|
|
1281
|
-
75: 18,
|
|
1282
|
-
100: 20,
|
|
1283
|
-
200: 20,
|
|
1284
|
-
300: 24,
|
|
1285
|
-
400: 24,
|
|
1286
|
-
500: 28,
|
|
1287
|
-
600: 32,
|
|
1288
|
-
700: 40,
|
|
1289
|
-
800: 40,
|
|
1290
|
-
900: 48,
|
|
1291
|
-
1000: 56,
|
|
1292
|
-
1100: 64,
|
|
1293
|
-
1500: 72
|
|
1294
|
-
}
|
|
1295
|
-
// letterSpacings: {},
|
|
1296
|
-
}
|
|
1297
|
-
});
|
|
905
|
+
var _objectToString = objectToString$1;
|
|
906
|
+
|
|
907
|
+
var Symbol$2 = _Symbol,
|
|
908
|
+
getRawTag = _getRawTag,
|
|
909
|
+
objectToString = _objectToString;
|
|
910
|
+
|
|
911
|
+
/** `Object#toString` result references. */
|
|
912
|
+
var nullTag = '[object Null]',
|
|
913
|
+
undefinedTag = '[object Undefined]';
|
|
914
|
+
|
|
915
|
+
/** Built-in value references. */
|
|
916
|
+
var symToStringTag = Symbol$2 ? Symbol$2.toStringTag : undefined;
|
|
1298
917
|
|
|
1299
918
|
/**
|
|
1300
|
-
*
|
|
919
|
+
* The base implementation of `getTag` without fallbacks for buggy environments.
|
|
920
|
+
*
|
|
921
|
+
* @private
|
|
922
|
+
* @param {*} value The value to query.
|
|
923
|
+
* @returns {string} Returns the `toStringTag`.
|
|
1301
924
|
*/
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
3: 3,
|
|
1311
|
-
/** 4 px */
|
|
1312
|
-
4: 4,
|
|
1313
|
-
/** 5 px */
|
|
1314
|
-
5: 5,
|
|
1315
|
-
/** 6 px */
|
|
1316
|
-
6: 6,
|
|
1317
|
-
/** 8 px */
|
|
1318
|
-
8: 8,
|
|
1319
|
-
/** 10 px */
|
|
1320
|
-
10: 10,
|
|
1321
|
-
/** 12 px */
|
|
1322
|
-
12: 12,
|
|
1323
|
-
/** 16 px */
|
|
1324
|
-
16: 16,
|
|
1325
|
-
/** 18 px */
|
|
1326
|
-
18: 18,
|
|
1327
|
-
/** 20 px */
|
|
1328
|
-
20: 20,
|
|
1329
|
-
/** 24 px */
|
|
1330
|
-
24: 24,
|
|
1331
|
-
/** 28 px */
|
|
1332
|
-
28: 28,
|
|
1333
|
-
/** 32 px */
|
|
1334
|
-
32: 32,
|
|
1335
|
-
/** 36 px */
|
|
1336
|
-
36: 36,
|
|
1337
|
-
/** 40 px */
|
|
1338
|
-
40: 40,
|
|
1339
|
-
/** 44 px */
|
|
1340
|
-
44: 44,
|
|
1341
|
-
/** 48 px */
|
|
1342
|
-
48: 48,
|
|
1343
|
-
/** 60 px */
|
|
1344
|
-
56: 56,
|
|
1345
|
-
/** 100 px */
|
|
1346
|
-
100: 100,
|
|
1347
|
-
/** 120 px */
|
|
1348
|
-
120: 120,
|
|
1349
|
-
/** 140 px */
|
|
1350
|
-
140: 140,
|
|
1351
|
-
/** 160 px */
|
|
1352
|
-
160: 160,
|
|
1353
|
-
/** 200 px */
|
|
1354
|
-
200: 200,
|
|
1355
|
-
/** 240 px */
|
|
1356
|
-
240: 240,
|
|
1357
|
-
/** 300 px */
|
|
1358
|
-
300: 300,
|
|
1359
|
-
/** 360 px */
|
|
1360
|
-
360: 360,
|
|
1361
|
-
/** 400 px */
|
|
1362
|
-
400: 400,
|
|
1363
|
-
/** 584 px */
|
|
1364
|
-
584: 584,
|
|
1365
|
-
/** 640 px */
|
|
1366
|
-
640: 640,
|
|
1367
|
-
/** 760 px */
|
|
1368
|
-
760: 760,
|
|
1369
|
-
/** 800 px */
|
|
1370
|
-
800: 800,
|
|
1371
|
-
/** 1024 px */
|
|
1372
|
-
1024: 1024,
|
|
1373
|
-
/** 1136 px */
|
|
1374
|
-
1136: 1136
|
|
1375
|
-
};
|
|
1376
|
-
|
|
1377
|
-
var getBaseListBoxWrapperStyles = function getBaseListBoxWrapperStyles(props) {
|
|
1378
|
-
return {
|
|
1379
|
-
maxHeight: props.isInBottomSheet ? undefined : makeSize(size[300]),
|
|
1380
|
-
padding: props.isInBottomSheet ? undefined : makeSize(props.theme.spacing[3])
|
|
1381
|
-
};
|
|
1382
|
-
};
|
|
925
|
+
function baseGetTag$6(value) {
|
|
926
|
+
if (value == null) {
|
|
927
|
+
return value === undefined ? undefinedTag : nullTag;
|
|
928
|
+
}
|
|
929
|
+
return (symToStringTag && symToStringTag in Object(value))
|
|
930
|
+
? getRawTag(value)
|
|
931
|
+
: objectToString(value);
|
|
932
|
+
}
|
|
1383
933
|
|
|
1384
|
-
var
|
|
934
|
+
var _baseGetTag = baseGetTag$6;
|
|
1385
935
|
|
|
1386
936
|
/**
|
|
1387
|
-
* Checks if `value` is
|
|
937
|
+
* Checks if `value` is object-like. A value is object-like if it's not `null`
|
|
938
|
+
* and has a `typeof` result of "object".
|
|
1388
939
|
*
|
|
1389
940
|
* @static
|
|
1390
941
|
* @memberOf _
|
|
1391
|
-
* @since 0.
|
|
942
|
+
* @since 4.0.0
|
|
1392
943
|
* @category Lang
|
|
1393
944
|
* @param {*} value The value to check.
|
|
1394
|
-
* @returns {boolean} Returns `true` if `value` is
|
|
945
|
+
* @returns {boolean} Returns `true` if `value` is object-like, else `false`.
|
|
1395
946
|
* @example
|
|
1396
947
|
*
|
|
1397
|
-
* _.
|
|
948
|
+
* _.isObjectLike({});
|
|
1398
949
|
* // => true
|
|
1399
950
|
*
|
|
1400
|
-
* _.
|
|
1401
|
-
* // =>
|
|
951
|
+
* _.isObjectLike([1, 2, 3]);
|
|
952
|
+
* // => true
|
|
1402
953
|
*
|
|
1403
|
-
* _.
|
|
954
|
+
* _.isObjectLike(_.noop);
|
|
1404
955
|
* // => false
|
|
1405
956
|
*
|
|
1406
|
-
* _.
|
|
957
|
+
* _.isObjectLike(null);
|
|
1407
958
|
* // => false
|
|
1408
959
|
*/
|
|
1409
960
|
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
/** Detect free variable `global` from Node.js. */
|
|
1415
|
-
|
|
1416
|
-
var freeGlobal$1 = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;
|
|
1417
|
-
|
|
1418
|
-
var _freeGlobal = freeGlobal$1;
|
|
1419
|
-
|
|
1420
|
-
var freeGlobal = _freeGlobal;
|
|
1421
|
-
|
|
1422
|
-
/** Detect free variable `self`. */
|
|
1423
|
-
var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
|
|
1424
|
-
|
|
1425
|
-
/** Used as a reference to the global object. */
|
|
1426
|
-
var root$8 = freeGlobal || freeSelf || Function('return this')();
|
|
961
|
+
function isObjectLike$5(value) {
|
|
962
|
+
return value != null && typeof value == 'object';
|
|
963
|
+
}
|
|
1427
964
|
|
|
1428
|
-
var
|
|
965
|
+
var isObjectLike_1 = isObjectLike$5;
|
|
1429
966
|
|
|
1430
|
-
var
|
|
967
|
+
var baseGetTag$5 = _baseGetTag,
|
|
968
|
+
isObjectLike$4 = isObjectLike_1;
|
|
1431
969
|
|
|
1432
|
-
/**
|
|
1433
|
-
var
|
|
1434
|
-
|
|
1435
|
-
var _Symbol = Symbol$4;
|
|
1436
|
-
|
|
1437
|
-
var Symbol$3 = _Symbol;
|
|
1438
|
-
|
|
1439
|
-
/** Used for built-in method references. */
|
|
1440
|
-
var objectProto$8 = Object.prototype;
|
|
1441
|
-
|
|
1442
|
-
/** Used to check objects for own properties. */
|
|
1443
|
-
var hasOwnProperty$6 = objectProto$8.hasOwnProperty;
|
|
1444
|
-
|
|
1445
|
-
/**
|
|
1446
|
-
* Used to resolve the
|
|
1447
|
-
* [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
|
|
1448
|
-
* of values.
|
|
1449
|
-
*/
|
|
1450
|
-
var nativeObjectToString$1 = objectProto$8.toString;
|
|
1451
|
-
|
|
1452
|
-
/** Built-in value references. */
|
|
1453
|
-
var symToStringTag$1 = Symbol$3 ? Symbol$3.toStringTag : undefined;
|
|
1454
|
-
|
|
1455
|
-
/**
|
|
1456
|
-
* A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.
|
|
1457
|
-
*
|
|
1458
|
-
* @private
|
|
1459
|
-
* @param {*} value The value to query.
|
|
1460
|
-
* @returns {string} Returns the raw `toStringTag`.
|
|
1461
|
-
*/
|
|
1462
|
-
function getRawTag$1(value) {
|
|
1463
|
-
var isOwn = hasOwnProperty$6.call(value, symToStringTag$1),
|
|
1464
|
-
tag = value[symToStringTag$1];
|
|
1465
|
-
|
|
1466
|
-
try {
|
|
1467
|
-
value[symToStringTag$1] = undefined;
|
|
1468
|
-
var unmasked = true;
|
|
1469
|
-
} catch (e) {}
|
|
1470
|
-
|
|
1471
|
-
var result = nativeObjectToString$1.call(value);
|
|
1472
|
-
if (unmasked) {
|
|
1473
|
-
if (isOwn) {
|
|
1474
|
-
value[symToStringTag$1] = tag;
|
|
1475
|
-
} else {
|
|
1476
|
-
delete value[symToStringTag$1];
|
|
1477
|
-
}
|
|
1478
|
-
}
|
|
1479
|
-
return result;
|
|
1480
|
-
}
|
|
1481
|
-
|
|
1482
|
-
var _getRawTag = getRawTag$1;
|
|
1483
|
-
|
|
1484
|
-
/** Used for built-in method references. */
|
|
1485
|
-
|
|
1486
|
-
var objectProto$7 = Object.prototype;
|
|
1487
|
-
|
|
1488
|
-
/**
|
|
1489
|
-
* Used to resolve the
|
|
1490
|
-
* [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
|
|
1491
|
-
* of values.
|
|
1492
|
-
*/
|
|
1493
|
-
var nativeObjectToString = objectProto$7.toString;
|
|
1494
|
-
|
|
1495
|
-
/**
|
|
1496
|
-
* Converts `value` to a string using `Object.prototype.toString`.
|
|
1497
|
-
*
|
|
1498
|
-
* @private
|
|
1499
|
-
* @param {*} value The value to convert.
|
|
1500
|
-
* @returns {string} Returns the converted string.
|
|
1501
|
-
*/
|
|
1502
|
-
function objectToString$1(value) {
|
|
1503
|
-
return nativeObjectToString.call(value);
|
|
1504
|
-
}
|
|
1505
|
-
|
|
1506
|
-
var _objectToString = objectToString$1;
|
|
1507
|
-
|
|
1508
|
-
var Symbol$2 = _Symbol,
|
|
1509
|
-
getRawTag = _getRawTag,
|
|
1510
|
-
objectToString = _objectToString;
|
|
1511
|
-
|
|
1512
|
-
/** `Object#toString` result references. */
|
|
1513
|
-
var nullTag = '[object Null]',
|
|
1514
|
-
undefinedTag = '[object Undefined]';
|
|
1515
|
-
|
|
1516
|
-
/** Built-in value references. */
|
|
1517
|
-
var symToStringTag = Symbol$2 ? Symbol$2.toStringTag : undefined;
|
|
1518
|
-
|
|
1519
|
-
/**
|
|
1520
|
-
* The base implementation of `getTag` without fallbacks for buggy environments.
|
|
1521
|
-
*
|
|
1522
|
-
* @private
|
|
1523
|
-
* @param {*} value The value to query.
|
|
1524
|
-
* @returns {string} Returns the `toStringTag`.
|
|
1525
|
-
*/
|
|
1526
|
-
function baseGetTag$6(value) {
|
|
1527
|
-
if (value == null) {
|
|
1528
|
-
return value === undefined ? undefinedTag : nullTag;
|
|
1529
|
-
}
|
|
1530
|
-
return (symToStringTag && symToStringTag in Object(value))
|
|
1531
|
-
? getRawTag(value)
|
|
1532
|
-
: objectToString(value);
|
|
1533
|
-
}
|
|
1534
|
-
|
|
1535
|
-
var _baseGetTag = baseGetTag$6;
|
|
1536
|
-
|
|
1537
|
-
/**
|
|
1538
|
-
* Checks if `value` is object-like. A value is object-like if it's not `null`
|
|
1539
|
-
* and has a `typeof` result of "object".
|
|
1540
|
-
*
|
|
1541
|
-
* @static
|
|
1542
|
-
* @memberOf _
|
|
1543
|
-
* @since 4.0.0
|
|
1544
|
-
* @category Lang
|
|
1545
|
-
* @param {*} value The value to check.
|
|
1546
|
-
* @returns {boolean} Returns `true` if `value` is object-like, else `false`.
|
|
1547
|
-
* @example
|
|
1548
|
-
*
|
|
1549
|
-
* _.isObjectLike({});
|
|
1550
|
-
* // => true
|
|
1551
|
-
*
|
|
1552
|
-
* _.isObjectLike([1, 2, 3]);
|
|
1553
|
-
* // => true
|
|
1554
|
-
*
|
|
1555
|
-
* _.isObjectLike(_.noop);
|
|
1556
|
-
* // => false
|
|
1557
|
-
*
|
|
1558
|
-
* _.isObjectLike(null);
|
|
1559
|
-
* // => false
|
|
1560
|
-
*/
|
|
1561
|
-
|
|
1562
|
-
function isObjectLike$5(value) {
|
|
1563
|
-
return value != null && typeof value == 'object';
|
|
1564
|
-
}
|
|
1565
|
-
|
|
1566
|
-
var isObjectLike_1 = isObjectLike$5;
|
|
1567
|
-
|
|
1568
|
-
var baseGetTag$5 = _baseGetTag,
|
|
1569
|
-
isObjectLike$4 = isObjectLike_1;
|
|
1570
|
-
|
|
1571
|
-
/** `Object#toString` result references. */
|
|
1572
|
-
var symbolTag = '[object Symbol]';
|
|
970
|
+
/** `Object#toString` result references. */
|
|
971
|
+
var symbolTag = '[object Symbol]';
|
|
1573
972
|
|
|
1574
973
|
/**
|
|
1575
974
|
* Checks if `value` is classified as a `Symbol` primitive or object.
|
|
@@ -2693,6 +2092,8 @@ function get(object, path, defaultValue) {
|
|
|
2693
2092
|
|
|
2694
2093
|
var get_1 = get;
|
|
2695
2094
|
|
|
2095
|
+
var getIn = /*@__PURE__*/getDefaultExportFromCjs(get_1);
|
|
2096
|
+
|
|
2696
2097
|
/** Used for built-in method references. */
|
|
2697
2098
|
|
|
2698
2099
|
var objectProto$3 = Object.prototype;
|
|
@@ -3008,46 +2409,50 @@ function stubFalse() {
|
|
|
3008
2409
|
|
|
3009
2410
|
var stubFalse_1 = stubFalse;
|
|
3010
2411
|
|
|
3011
|
-
|
|
3012
|
-
var root = _root,
|
|
3013
|
-
stubFalse = stubFalse_1;
|
|
3014
|
-
|
|
3015
|
-
/** Detect free variable `exports`. */
|
|
3016
|
-
var freeExports = exports && !exports.nodeType && exports;
|
|
3017
|
-
|
|
3018
|
-
/** Detect free variable `module`. */
|
|
3019
|
-
var freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module;
|
|
3020
|
-
|
|
3021
|
-
/** Detect the popular CommonJS extension `module.exports`. */
|
|
3022
|
-
var moduleExports = freeModule && freeModule.exports === freeExports;
|
|
3023
|
-
|
|
3024
|
-
/** Built-in value references. */
|
|
3025
|
-
var Buffer = moduleExports ? root.Buffer : undefined;
|
|
3026
|
-
|
|
3027
|
-
/* Built-in method references for those with the same name as other `lodash` methods. */
|
|
3028
|
-
var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;
|
|
3029
|
-
|
|
3030
|
-
/**
|
|
3031
|
-
* Checks if `value` is a buffer.
|
|
3032
|
-
*
|
|
3033
|
-
* @static
|
|
3034
|
-
* @memberOf _
|
|
3035
|
-
* @since 4.3.0
|
|
3036
|
-
* @category Lang
|
|
3037
|
-
* @param {*} value The value to check.
|
|
3038
|
-
* @returns {boolean} Returns `true` if `value` is a buffer, else `false`.
|
|
3039
|
-
* @example
|
|
3040
|
-
*
|
|
3041
|
-
* _.isBuffer(new Buffer(2));
|
|
3042
|
-
* // => true
|
|
3043
|
-
*
|
|
3044
|
-
* _.isBuffer(new Uint8Array(2));
|
|
3045
|
-
* // => false
|
|
3046
|
-
*/
|
|
3047
|
-
var isBuffer = nativeIsBuffer || stubFalse;
|
|
2412
|
+
isBuffer$1.exports;
|
|
3048
2413
|
|
|
3049
|
-
module
|
|
3050
|
-
|
|
2414
|
+
(function (module, exports) {
|
|
2415
|
+
var root = _root,
|
|
2416
|
+
stubFalse = stubFalse_1;
|
|
2417
|
+
|
|
2418
|
+
/** Detect free variable `exports`. */
|
|
2419
|
+
var freeExports = exports && !exports.nodeType && exports;
|
|
2420
|
+
|
|
2421
|
+
/** Detect free variable `module`. */
|
|
2422
|
+
var freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module;
|
|
2423
|
+
|
|
2424
|
+
/** Detect the popular CommonJS extension `module.exports`. */
|
|
2425
|
+
var moduleExports = freeModule && freeModule.exports === freeExports;
|
|
2426
|
+
|
|
2427
|
+
/** Built-in value references. */
|
|
2428
|
+
var Buffer = moduleExports ? root.Buffer : undefined;
|
|
2429
|
+
|
|
2430
|
+
/* Built-in method references for those with the same name as other `lodash` methods. */
|
|
2431
|
+
var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;
|
|
2432
|
+
|
|
2433
|
+
/**
|
|
2434
|
+
* Checks if `value` is a buffer.
|
|
2435
|
+
*
|
|
2436
|
+
* @static
|
|
2437
|
+
* @memberOf _
|
|
2438
|
+
* @since 4.3.0
|
|
2439
|
+
* @category Lang
|
|
2440
|
+
* @param {*} value The value to check.
|
|
2441
|
+
* @returns {boolean} Returns `true` if `value` is a buffer, else `false`.
|
|
2442
|
+
* @example
|
|
2443
|
+
*
|
|
2444
|
+
* _.isBuffer(new Buffer(2));
|
|
2445
|
+
* // => true
|
|
2446
|
+
*
|
|
2447
|
+
* _.isBuffer(new Uint8Array(2));
|
|
2448
|
+
* // => false
|
|
2449
|
+
*/
|
|
2450
|
+
var isBuffer = nativeIsBuffer || stubFalse;
|
|
2451
|
+
|
|
2452
|
+
module.exports = isBuffer;
|
|
2453
|
+
} (isBuffer$1, isBuffer$1.exports));
|
|
2454
|
+
|
|
2455
|
+
var isBufferExports = isBuffer$1.exports;
|
|
3051
2456
|
|
|
3052
2457
|
var baseGetTag$1 = _baseGetTag,
|
|
3053
2458
|
isLength = isLength_1,
|
|
@@ -3128,42 +2533,46 @@ var _baseUnary = baseUnary$1;
|
|
|
3128
2533
|
|
|
3129
2534
|
var _nodeUtil = {exports: {}};
|
|
3130
2535
|
|
|
2536
|
+
_nodeUtil.exports;
|
|
2537
|
+
|
|
3131
2538
|
(function (module, exports) {
|
|
3132
|
-
var freeGlobal = _freeGlobal;
|
|
2539
|
+
var freeGlobal = _freeGlobal;
|
|
3133
2540
|
|
|
3134
|
-
/** Detect free variable `exports`. */
|
|
3135
|
-
var freeExports = exports && !exports.nodeType && exports;
|
|
2541
|
+
/** Detect free variable `exports`. */
|
|
2542
|
+
var freeExports = exports && !exports.nodeType && exports;
|
|
3136
2543
|
|
|
3137
|
-
/** Detect free variable `module`. */
|
|
3138
|
-
var freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module;
|
|
2544
|
+
/** Detect free variable `module`. */
|
|
2545
|
+
var freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module;
|
|
3139
2546
|
|
|
3140
|
-
/** Detect the popular CommonJS extension `module.exports`. */
|
|
3141
|
-
var moduleExports = freeModule && freeModule.exports === freeExports;
|
|
2547
|
+
/** Detect the popular CommonJS extension `module.exports`. */
|
|
2548
|
+
var moduleExports = freeModule && freeModule.exports === freeExports;
|
|
3142
2549
|
|
|
3143
|
-
/** Detect free variable `process` from Node.js. */
|
|
3144
|
-
var freeProcess = moduleExports && freeGlobal.process;
|
|
2550
|
+
/** Detect free variable `process` from Node.js. */
|
|
2551
|
+
var freeProcess = moduleExports && freeGlobal.process;
|
|
3145
2552
|
|
|
3146
|
-
/** Used to access faster Node.js helpers. */
|
|
3147
|
-
var nodeUtil = (function() {
|
|
3148
|
-
|
|
3149
|
-
|
|
3150
|
-
|
|
2553
|
+
/** Used to access faster Node.js helpers. */
|
|
2554
|
+
var nodeUtil = (function() {
|
|
2555
|
+
try {
|
|
2556
|
+
// Use `util.types` for Node.js 10+.
|
|
2557
|
+
var types = freeModule && freeModule.require && freeModule.require('util').types;
|
|
3151
2558
|
|
|
3152
|
-
|
|
3153
|
-
|
|
3154
|
-
|
|
2559
|
+
if (types) {
|
|
2560
|
+
return types;
|
|
2561
|
+
}
|
|
3155
2562
|
|
|
3156
|
-
|
|
3157
|
-
|
|
3158
|
-
|
|
3159
|
-
}());
|
|
2563
|
+
// Legacy `process.binding('util')` for Node.js < 10.
|
|
2564
|
+
return freeProcess && freeProcess.binding && freeProcess.binding('util');
|
|
2565
|
+
} catch (e) {}
|
|
2566
|
+
}());
|
|
2567
|
+
|
|
2568
|
+
module.exports = nodeUtil;
|
|
2569
|
+
} (_nodeUtil, _nodeUtil.exports));
|
|
3160
2570
|
|
|
3161
|
-
|
|
3162
|
-
}(_nodeUtil, _nodeUtil.exports));
|
|
2571
|
+
var _nodeUtilExports = _nodeUtil.exports;
|
|
3163
2572
|
|
|
3164
2573
|
var baseIsTypedArray = _baseIsTypedArray,
|
|
3165
2574
|
baseUnary = _baseUnary,
|
|
3166
|
-
nodeUtil =
|
|
2575
|
+
nodeUtil = _nodeUtilExports;
|
|
3167
2576
|
|
|
3168
2577
|
/* Node.js helper references. */
|
|
3169
2578
|
var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
|
|
@@ -3194,7 +2603,7 @@ var baseKeys = _baseKeys,
|
|
|
3194
2603
|
isArguments = isArguments_1,
|
|
3195
2604
|
isArray = isArray_1,
|
|
3196
2605
|
isArrayLike = isArrayLike_1,
|
|
3197
|
-
isBuffer =
|
|
2606
|
+
isBuffer = isBufferExports,
|
|
3198
2607
|
isPrototype = _isPrototype,
|
|
3199
2608
|
isTypedArray = isTypedArray_1;
|
|
3200
2609
|
|
|
@@ -3267,6 +2676,8 @@ function isEmpty(value) {
|
|
|
3267
2676
|
|
|
3268
2677
|
var isEmpty_1 = isEmpty;
|
|
3269
2678
|
|
|
2679
|
+
var isEmpty$1 = /*@__PURE__*/getDefaultExportFromCjs(isEmpty_1);
|
|
2680
|
+
|
|
3270
2681
|
/**
|
|
3271
2682
|
* A helper function that returns the exact value for that breakpoint on passing the prop and breakpoint
|
|
3272
2683
|
*
|
|
@@ -3322,21 +2733,21 @@ var getResponsiveValue = function getResponsiveValue(value) {
|
|
|
3322
2733
|
}
|
|
3323
2734
|
return undefined;
|
|
3324
2735
|
}
|
|
3325
|
-
if (
|
|
2736
|
+
if (isEmpty$1(value)) {
|
|
3326
2737
|
return undefined;
|
|
3327
2738
|
}
|
|
3328
2739
|
return value[breakpoint];
|
|
3329
2740
|
};
|
|
3330
2741
|
|
|
3331
|
-
var _excluded$
|
|
3332
|
-
function ownKeys$
|
|
3333
|
-
function _objectSpread$
|
|
2742
|
+
var _excluded$51 = ["base"];
|
|
2743
|
+
function ownKeys$6d(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; }
|
|
2744
|
+
function _objectSpread$6c(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6d(Object(source), !0).forEach(function (key) { _defineProperty$1(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6d(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
3334
2745
|
var getSpacingValue = function getSpacingValue(spacingValue, theme, breakpoint) {
|
|
3335
|
-
if (
|
|
2746
|
+
if (isEmpty$1(spacingValue)) {
|
|
3336
2747
|
return undefined;
|
|
3337
2748
|
}
|
|
3338
2749
|
var responsiveSpacingValue = getResponsiveValue(spacingValue, breakpoint);
|
|
3339
|
-
if (
|
|
2750
|
+
if (isEmpty$1(responsiveSpacingValue)) {
|
|
3340
2751
|
return undefined;
|
|
3341
2752
|
}
|
|
3342
2753
|
if (responsiveSpacingValue === 'auto') {
|
|
@@ -3348,8 +2759,8 @@ var getSpacingValue = function getSpacingValue(spacingValue, theme, breakpoint)
|
|
|
3348
2759
|
}).join(' ');
|
|
3349
2760
|
}
|
|
3350
2761
|
if (typeof responsiveSpacingValue === 'string' && responsiveSpacingValue.startsWith('spacing.')) {
|
|
3351
|
-
var spacingReturnValue =
|
|
3352
|
-
return
|
|
2762
|
+
var spacingReturnValue = getIn(theme, responsiveSpacingValue);
|
|
2763
|
+
return isEmpty$1(spacingReturnValue) ? makeSpace(spacingReturnValue) : undefined;
|
|
3353
2764
|
}
|
|
3354
2765
|
|
|
3355
2766
|
// pixel or with unit values
|
|
@@ -3357,25 +2768,25 @@ var getSpacingValue = function getSpacingValue(spacingValue, theme, breakpoint)
|
|
|
3357
2768
|
};
|
|
3358
2769
|
var getColorValue = function getColorValue(color, theme, breakpoint) {
|
|
3359
2770
|
var responsiveBackgroundValue = getResponsiveValue(color, breakpoint);
|
|
3360
|
-
var tokenValue =
|
|
2771
|
+
var tokenValue = getIn(theme, "colors.".concat(responsiveBackgroundValue));
|
|
3361
2772
|
return tokenValue !== null && tokenValue !== void 0 ? tokenValue : responsiveBackgroundValue;
|
|
3362
2773
|
};
|
|
3363
2774
|
var getBorderRadiusValue = function getBorderRadiusValue(borderRadius, theme, breakpoint) {
|
|
3364
2775
|
var responsiveBorderRadiusValue = getResponsiveValue(borderRadius, breakpoint);
|
|
3365
|
-
return
|
|
2776
|
+
return isEmpty$1(responsiveBorderRadiusValue) ? undefined : makeBorderSize(getIn(theme, "border.radius.".concat(responsiveBorderRadiusValue)));
|
|
3366
2777
|
};
|
|
3367
2778
|
var getBorderWidthValue = function getBorderWidthValue(borderWidth, theme, breakpoint) {
|
|
3368
2779
|
var responsiveBorderWidthValue = getResponsiveValue(borderWidth, breakpoint);
|
|
3369
|
-
return
|
|
2780
|
+
return isEmpty$1(responsiveBorderWidthValue) ? undefined : makeBorderSize(getIn(theme, "border.width.".concat(responsiveBorderWidthValue)));
|
|
3370
2781
|
};
|
|
3371
2782
|
var getElevationValue = function getElevationValue(elevation, theme, breakpoint) {
|
|
3372
2783
|
var responsiveElevationValue = getResponsiveValue(elevation, breakpoint);
|
|
3373
|
-
return
|
|
2784
|
+
return isEmpty$1(responsiveElevationValue) ? undefined : getIn(theme, "elevation.".concat(responsiveElevationValue));
|
|
3374
2785
|
};
|
|
3375
2786
|
var getAllProps = function getAllProps(props, breakpoint) {
|
|
3376
2787
|
var _props$paddingTop, _props$paddingBottom, _props$paddingRight, _props$paddingLeft, _props$marginBottom, _props$marginTop, _props$marginRight, _props$marginLeft;
|
|
3377
2788
|
var hasBorder = props.borderBottom || props.borderTop || props.borderLeft || props.borderRight || props.borderBottomColor || props.borderTopColor || props.borderLeftColor || props.borderRightColor || props.borderBottomWidth || props.borderTopWidth || props.borderLeftWidth || props.borderRightWidth || props.borderWidth || props.borderColor;
|
|
3378
|
-
return _objectSpread$
|
|
2789
|
+
return _objectSpread$6c({
|
|
3379
2790
|
display: getResponsiveValue(props.display, breakpoint),
|
|
3380
2791
|
overflow: getResponsiveValue(props.overflow, breakpoint),
|
|
3381
2792
|
overflowX: getResponsiveValue(props.overflowX, breakpoint),
|
|
@@ -3487,7 +2898,7 @@ var getAllMediaQueries = function getAllMediaQueries(props) {
|
|
|
3487
2898
|
return {};
|
|
3488
2899
|
}
|
|
3489
2900
|
breakpoints.base;
|
|
3490
|
-
var breakpointsWithoutBase = _objectWithoutProperties$1(breakpoints, _excluded$
|
|
2901
|
+
var breakpointsWithoutBase = _objectWithoutProperties$1(breakpoints, _excluded$51);
|
|
3491
2902
|
return Object.fromEntries(Object.entries(breakpointsWithoutBase).map(function (_ref) {
|
|
3492
2903
|
var _ref2 = _slicedToArray(_ref, 2),
|
|
3493
2904
|
breakpointKey = _ref2[0],
|
|
@@ -3503,11 +2914,11 @@ var getAllMediaQueries = function getAllMediaQueries(props) {
|
|
|
3503
2914
|
}));
|
|
3504
2915
|
};
|
|
3505
2916
|
var getBaseBoxStyles = function getBaseBoxStyles(props) {
|
|
3506
|
-
return _objectSpread$
|
|
2917
|
+
return _objectSpread$6c(_objectSpread$6c({}, getAllProps(props)), getAllMediaQueries(props));
|
|
3507
2918
|
};
|
|
3508
2919
|
|
|
3509
|
-
function ownKeys$
|
|
3510
|
-
function _objectSpread$
|
|
2920
|
+
function ownKeys$6c(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; }
|
|
2921
|
+
function _objectSpread$6b(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6c(Object(source), !0).forEach(function (key) { _defineProperty$1(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6c(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
3511
2922
|
/**
|
|
3512
2923
|
* Reusable hook to be used in BladeProvider.native & BladeProvider.web file
|
|
3513
2924
|
*
|
|
@@ -3526,7 +2937,7 @@ var useBladeProvider = function useBladeProvider(_ref) {
|
|
|
3526
2937
|
matchedDeviceType = _useBreakpoint.matchedDeviceType;
|
|
3527
2938
|
var onColorMode = "on".concat(toTitleCase(colorScheme));
|
|
3528
2939
|
var onDeviceType = "on".concat(toTitleCase(matchedDeviceType));
|
|
3529
|
-
var theme = _objectSpread$
|
|
2940
|
+
var theme = _objectSpread$6b(_objectSpread$6b({}, themeTokens), {}, {
|
|
3530
2941
|
colors: themeTokens.colors[onColorMode],
|
|
3531
2942
|
elevation: themeTokens.elevation[onColorMode],
|
|
3532
2943
|
typography: themeTokens.typography[onDeviceType]
|
|
@@ -3629,9 +3040,9 @@ var BladeProvider = function BladeProvider(_ref) {
|
|
|
3629
3040
|
});
|
|
3630
3041
|
};
|
|
3631
3042
|
|
|
3632
|
-
var _excluded$
|
|
3633
|
-
function ownKeys$
|
|
3634
|
-
function _objectSpread$
|
|
3043
|
+
var _excluded$50 = ["theme", "colorScheme", "children", "className", "id"];
|
|
3044
|
+
function ownKeys$6b(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; }
|
|
3045
|
+
function _objectSpread$6a(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6b(Object(source), !0).forEach(function (key) { _defineProperty$1(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6b(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
3635
3046
|
var getMemoDependency = function getMemoDependency(props) {
|
|
3636
3047
|
// These are the props that change nothing in the getBaseBoxStyles calculations
|
|
3637
3048
|
var theme = props.theme,
|
|
@@ -3639,7 +3050,7 @@ var getMemoDependency = function getMemoDependency(props) {
|
|
|
3639
3050
|
props.children;
|
|
3640
3051
|
props.className;
|
|
3641
3052
|
props.id;
|
|
3642
|
-
var rest = _objectWithoutProperties$1(props, _excluded$
|
|
3053
|
+
var rest = _objectWithoutProperties$1(props, _excluded$50);
|
|
3643
3054
|
var dependencyPropString = '';
|
|
3644
3055
|
try {
|
|
3645
3056
|
// I know this looks illegal but Dan approves it - https://twitter.com/dan_abramov/status/1104414272753487872?s=20
|
|
@@ -3665,11 +3076,11 @@ var getMemoDependency = function getMemoDependency(props) {
|
|
|
3665
3076
|
var useMemoizedStyles = function useMemoizedStyles(boxProps) {
|
|
3666
3077
|
var _useTheme = useTheme(),
|
|
3667
3078
|
colorScheme = _useTheme.colorScheme;
|
|
3668
|
-
var boxPropsMemoDependency = getMemoDependency(_objectSpread$
|
|
3079
|
+
var boxPropsMemoDependency = getMemoDependency(_objectSpread$6a(_objectSpread$6a({}, boxProps), {}, {
|
|
3669
3080
|
colorScheme: colorScheme
|
|
3670
3081
|
}));
|
|
3671
3082
|
var boxPropsCSSObject = React__default.useMemo(function () {
|
|
3672
|
-
return getBaseBoxStyles(_objectSpread$
|
|
3083
|
+
return getBaseBoxStyles(_objectSpread$6a(_objectSpread$6a({}, boxProps), {}, {
|
|
3673
3084
|
theme: boxProps.theme
|
|
3674
3085
|
}));
|
|
3675
3086
|
},
|
|
@@ -3771,18 +3182,18 @@ var MetaConstants = {
|
|
|
3771
3182
|
Skeleton: 'skeleton'
|
|
3772
3183
|
};
|
|
3773
3184
|
|
|
3774
|
-
function ownKeys$
|
|
3775
|
-
function _objectSpread$
|
|
3185
|
+
function ownKeys$6a(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; }
|
|
3186
|
+
function _objectSpread$69(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6a(Object(source), !0).forEach(function (key) { _defineProperty$1(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6a(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
3776
3187
|
var metaAttribute = function metaAttribute(_ref) {
|
|
3777
3188
|
var name = _ref.name,
|
|
3778
3189
|
testID = _ref.testID;
|
|
3779
|
-
return _objectSpread$
|
|
3190
|
+
return _objectSpread$69(_objectSpread$69({}, name ? _defineProperty$1({}, "data-".concat(MetaConstants.Component), name) : {}), testID ? _defineProperty$1({}, "data-testid", testID) : {});
|
|
3780
3191
|
};
|
|
3781
3192
|
|
|
3782
|
-
function ownKeys$
|
|
3783
|
-
function _objectSpread$
|
|
3193
|
+
function ownKeys$69(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; }
|
|
3194
|
+
function _objectSpread$68(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$69(Object(source), !0).forEach(function (key) { _defineProperty$1(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$69(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
3784
3195
|
var BaseBox = /*#__PURE__*/styled.div.attrs(function (props) {
|
|
3785
|
-
return _objectSpread$
|
|
3196
|
+
return _objectSpread$68({}, metaAttribute({
|
|
3786
3197
|
name: props['data-blade-component'] || MetaConstants.BaseBox,
|
|
3787
3198
|
testID: props['data-testid'] || props.testID
|
|
3788
3199
|
}));
|
|
@@ -3794,14 +3205,14 @@ var BaseBox = /*#__PURE__*/styled.div.attrs(function (props) {
|
|
|
3794
3205
|
return cssObject;
|
|
3795
3206
|
});
|
|
3796
3207
|
|
|
3797
|
-
function ownKeys$
|
|
3798
|
-
function _objectSpread$
|
|
3208
|
+
function ownKeys$68(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; }
|
|
3209
|
+
function _objectSpread$67(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$68(Object(source), !0).forEach(function (key) { _defineProperty$1(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$68(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
3799
3210
|
var StyledListBoxWrapper = /*#__PURE__*/styled(BaseBox).withConfig({
|
|
3800
3211
|
displayName: "StyledListBoxWrapperweb__StyledListBoxWrapper",
|
|
3801
3212
|
componentId: "sc-1eo4pr6-0"
|
|
3802
3213
|
})(function (props) {
|
|
3803
3214
|
var _objectSpread2;
|
|
3804
|
-
return _objectSpread$
|
|
3215
|
+
return _objectSpread$67((_objectSpread2 = {}, _defineProperty$1(_objectSpread2, "& [role=group]:last-child > [role=separator]:last-child", {
|
|
3805
3216
|
display: 'none'
|
|
3806
3217
|
}), _defineProperty$1(_objectSpread2, "overflowY", 'auto'), _objectSpread2), getBaseListBoxWrapperStyles({
|
|
3807
3218
|
theme: props.theme,
|
|
@@ -3809,6 +3220,45 @@ var StyledListBoxWrapper = /*#__PURE__*/styled(BaseBox).withConfig({
|
|
|
3809
3220
|
}));
|
|
3810
3221
|
});
|
|
3811
3222
|
|
|
3223
|
+
/* eslint-disable @typescript-eslint/no-empty-function */
|
|
3224
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3225
|
+
|
|
3226
|
+
var BottomSheetContext = /*#__PURE__*/React__default.createContext({
|
|
3227
|
+
headerHeight: 0,
|
|
3228
|
+
contentHeight: 0,
|
|
3229
|
+
footerHeight: 0,
|
|
3230
|
+
isHeaderFloating: false,
|
|
3231
|
+
setContentHeight: function setContentHeight() {},
|
|
3232
|
+
setHeaderHeight: function setHeaderHeight() {},
|
|
3233
|
+
setFooterHeight: function setFooterHeight() {},
|
|
3234
|
+
setHasBodyPadding: function setHasBodyPadding() {},
|
|
3235
|
+
setIsHeaderEmpty: function setIsHeaderEmpty() {},
|
|
3236
|
+
close: function close() {},
|
|
3237
|
+
scrollRef: null,
|
|
3238
|
+
bind: null,
|
|
3239
|
+
isOpen: false,
|
|
3240
|
+
positionY: 0,
|
|
3241
|
+
isInBottomSheet: false,
|
|
3242
|
+
defaultInitialFocusRef: {
|
|
3243
|
+
current: null
|
|
3244
|
+
}
|
|
3245
|
+
});
|
|
3246
|
+
var useBottomSheetContext = function useBottomSheetContext() {
|
|
3247
|
+
var state = React__default.useContext(BottomSheetContext);
|
|
3248
|
+
return state;
|
|
3249
|
+
};
|
|
3250
|
+
var BottomSheetAndDropdownGlueContext = /*#__PURE__*/React__default.createContext(null);
|
|
3251
|
+
|
|
3252
|
+
/**
|
|
3253
|
+
* This hook provides the bridge between Dropdown And BottomSheet
|
|
3254
|
+
*
|
|
3255
|
+
* You can hover over the return types to get jsdoc and more information about each
|
|
3256
|
+
*/
|
|
3257
|
+
var useBottomSheetAndDropdownGlue = function useBottomSheetAndDropdownGlue() {
|
|
3258
|
+
var state = React__default.useContext(BottomSheetAndDropdownGlueContext);
|
|
3259
|
+
return state;
|
|
3260
|
+
};
|
|
3261
|
+
|
|
3812
3262
|
/**
|
|
3813
3263
|
* Do you want to define `displayName` or `componentId` on your component? Use this instead to make sure treeshaking doesn't break.
|
|
3814
3264
|
*
|
|
@@ -3847,104 +3297,673 @@ var assignWithoutSideEffects = function assignWithoutSideEffects(component, sour
|
|
|
3847
3297
|
return /*#__PURE__*/Object.assign(component, sourceObj);
|
|
3848
3298
|
};
|
|
3849
3299
|
|
|
3850
|
-
function ownKeys$
|
|
3851
|
-
function _objectSpread$
|
|
3852
|
-
var accessibilityValue = {
|
|
3853
|
-
valueMax: 'aria-valuemax',
|
|
3854
|
-
valueMin: 'aria-valuemin',
|
|
3855
|
-
valueNow: 'aria-valuenow',
|
|
3856
|
-
valueText: 'aria-valuetext'
|
|
3857
|
-
};
|
|
3858
|
-
var accessibilityState = {
|
|
3859
|
-
selected: 'aria-selected',
|
|
3860
|
-
disabled: 'aria-disabled',
|
|
3861
|
-
expanded: 'aria-expanded',
|
|
3862
|
-
busy: 'aria-busy',
|
|
3863
|
-
checked: 'aria-checked'
|
|
3864
|
-
};
|
|
3300
|
+
function ownKeys$67(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; }
|
|
3301
|
+
function _objectSpread$66(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$67(Object(source), !0).forEach(function (key) { _defineProperty$1(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$67(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
3302
|
+
var accessibilityValue = {
|
|
3303
|
+
valueMax: 'aria-valuemax',
|
|
3304
|
+
valueMin: 'aria-valuemin',
|
|
3305
|
+
valueNow: 'aria-valuenow',
|
|
3306
|
+
valueText: 'aria-valuetext'
|
|
3307
|
+
};
|
|
3308
|
+
var accessibilityState = {
|
|
3309
|
+
selected: 'aria-selected',
|
|
3310
|
+
disabled: 'aria-disabled',
|
|
3311
|
+
expanded: 'aria-expanded',
|
|
3312
|
+
busy: 'aria-busy',
|
|
3313
|
+
checked: 'aria-checked'
|
|
3314
|
+
};
|
|
3315
|
+
|
|
3316
|
+
// TODO:
|
|
3317
|
+
// accessibilityViewIsModal
|
|
3318
|
+
var accessibilityMap = _objectSpread$66(_objectSpread$66(_objectSpread$66({}, accessibilityState), accessibilityValue), {}, {
|
|
3319
|
+
activeDescendant: 'aria-activedescendant',
|
|
3320
|
+
atomic: 'aria-atomic',
|
|
3321
|
+
autoComplete: 'aria-autocomplete',
|
|
3322
|
+
colCount: 'aria-colcount',
|
|
3323
|
+
colIndex: 'aria-colindex',
|
|
3324
|
+
colSpan: 'aria-colspan',
|
|
3325
|
+
controls: 'aria-controls',
|
|
3326
|
+
describedBy: 'aria-describedby',
|
|
3327
|
+
details: 'aria-details',
|
|
3328
|
+
errorMessage: 'aria-errormessage',
|
|
3329
|
+
flowTo: 'aria-flowto',
|
|
3330
|
+
hasPopup: 'aria-haspopup',
|
|
3331
|
+
hidden: 'aria-hidden',
|
|
3332
|
+
invalid: 'aria-invalid',
|
|
3333
|
+
keyShortcuts: 'aria-keyshortcuts',
|
|
3334
|
+
label: 'aria-label',
|
|
3335
|
+
labelledBy: 'aria-labelledby',
|
|
3336
|
+
liveRegion: 'aria-live',
|
|
3337
|
+
modal: 'aria-modal',
|
|
3338
|
+
multiline: 'aria-multiline',
|
|
3339
|
+
multiSelectable: 'aria-multiselectable',
|
|
3340
|
+
orientation: 'aria-orientation',
|
|
3341
|
+
owns: 'aria-owns',
|
|
3342
|
+
placeholder: 'aria-placeholder',
|
|
3343
|
+
posInSet: 'aria-posinset',
|
|
3344
|
+
pressed: 'aria-pressed',
|
|
3345
|
+
readOnly: 'aria-readonly',
|
|
3346
|
+
required: 'aria-required',
|
|
3347
|
+
role: 'role',
|
|
3348
|
+
roleDescription: 'aria-roledescription',
|
|
3349
|
+
rowCount: 'aria-rowcount',
|
|
3350
|
+
rowIndex: 'aria-rowindex',
|
|
3351
|
+
rowSpan: 'aria-rowspan',
|
|
3352
|
+
setSize: 'aria-setsize',
|
|
3353
|
+
sort: 'aria-sort',
|
|
3354
|
+
current: 'aria-current',
|
|
3355
|
+
dropEffect: 'aria-dropeffect',
|
|
3356
|
+
grabbed: 'aria-grabbed',
|
|
3357
|
+
level: 'aria-level',
|
|
3358
|
+
relevant: 'aria-relevant'
|
|
3359
|
+
});
|
|
3360
|
+
|
|
3361
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3362
|
+
var makeAccessible = function makeAccessible(props) {
|
|
3363
|
+
var newProps = {};
|
|
3364
|
+
|
|
3365
|
+
// eslint-disable-next-line guard-for-in
|
|
3366
|
+
for (var key in props) {
|
|
3367
|
+
var propKey = key;
|
|
3368
|
+
var propValue = props[propKey];
|
|
3369
|
+
var accessibilityAttribute = accessibilityMap[propKey];
|
|
3370
|
+
if (accessibilityAttribute) {
|
|
3371
|
+
newProps[accessibilityAttribute] = propValue;
|
|
3372
|
+
}
|
|
3373
|
+
}
|
|
3374
|
+
return newProps;
|
|
3375
|
+
};
|
|
3376
|
+
|
|
3377
|
+
function ownKeys$66(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; }
|
|
3378
|
+
function _objectSpread$65(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$66(Object(source), !0).forEach(function (key) { _defineProperty$1(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$66(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
3379
|
+
var _ActionListBox = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
|
|
3380
|
+
var childrenWithId = _ref.childrenWithId,
|
|
3381
|
+
actionListItemWrapperRole = _ref.actionListItemWrapperRole,
|
|
3382
|
+
isMultiSelectable = _ref.isMultiSelectable;
|
|
3383
|
+
var _useBottomSheetContex = useBottomSheetContext(),
|
|
3384
|
+
isInBottomSheet = _useBottomSheetContex.isInBottomSheet;
|
|
3385
|
+
return /*#__PURE__*/jsx(StyledListBoxWrapper, _objectSpread$65(_objectSpread$65({
|
|
3386
|
+
isInBottomSheet: isInBottomSheet,
|
|
3387
|
+
ref: ref
|
|
3388
|
+
}, makeAccessible({
|
|
3389
|
+
role: actionListItemWrapperRole,
|
|
3390
|
+
multiSelectable: actionListItemWrapperRole === 'listbox' ? isMultiSelectable : undefined
|
|
3391
|
+
})), {}, {
|
|
3392
|
+
children: childrenWithId
|
|
3393
|
+
}));
|
|
3394
|
+
});
|
|
3395
|
+
var ActionListBox = /*#__PURE__*/assignWithoutSideEffects(_ActionListBox, {
|
|
3396
|
+
displayName: 'ActionListBox'
|
|
3397
|
+
});
|
|
3398
|
+
|
|
3399
|
+
/*
|
|
3400
|
+
* This content is licensed according to the W3C Software License at
|
|
3401
|
+
* https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document
|
|
3402
|
+
*
|
|
3403
|
+
* This software or document includes material copied from or derived from
|
|
3404
|
+
* https://www.w3.org/WAI/ARIA/apg/example-index/combobox/combobox-select-only.html.
|
|
3405
|
+
* Copyright © 2022 W3C® (MIT, ERCIM, Keio, Beihang)
|
|
3406
|
+
*/
|
|
3407
|
+
|
|
3408
|
+
var componentIds = {
|
|
3409
|
+
DropdownOverlay: 'DropdownOverlay',
|
|
3410
|
+
Dropdown: 'Dropdown',
|
|
3411
|
+
triggers: {
|
|
3412
|
+
SelectInput: 'SelectInput',
|
|
3413
|
+
DropdownButton: 'DropdownButton',
|
|
3414
|
+
DropdownLink: 'DropdownLink'
|
|
3415
|
+
}
|
|
3416
|
+
};
|
|
3417
|
+
|
|
3418
|
+
// Save a list of named combobox actions, for future readability
|
|
3419
|
+
var SelectActions = {
|
|
3420
|
+
Close: 'Close',
|
|
3421
|
+
CloseSelect: 'CloseSelect',
|
|
3422
|
+
First: 'First',
|
|
3423
|
+
Last: 'Last',
|
|
3424
|
+
Next: 'Next',
|
|
3425
|
+
Open: 'Open',
|
|
3426
|
+
PageDown: 'PageDown',
|
|
3427
|
+
PageUp: 'PageUp',
|
|
3428
|
+
Previous: 'Previous',
|
|
3429
|
+
Select: 'Select',
|
|
3430
|
+
Type: 'Type'
|
|
3431
|
+
};
|
|
3432
|
+
|
|
3433
|
+
/**
|
|
3434
|
+
* Filter an array of options against an input string
|
|
3435
|
+
* returns an array of options that begin with the filter string, case-independent
|
|
3436
|
+
*
|
|
3437
|
+
*/
|
|
3438
|
+
function filterOptions() {
|
|
3439
|
+
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
3440
|
+
var filter = arguments.length > 1 ? arguments[1] : undefined;
|
|
3441
|
+
var exclude = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
|
3442
|
+
return options.filter(function (option) {
|
|
3443
|
+
var matches = option.toLowerCase().startsWith(filter.toLowerCase());
|
|
3444
|
+
return matches && !exclude.includes(option);
|
|
3445
|
+
});
|
|
3446
|
+
}
|
|
3447
|
+
|
|
3448
|
+
/**
|
|
3449
|
+
* Map a keypress to action
|
|
3450
|
+
*/
|
|
3451
|
+
function getActionFromKey(e, isOpen) {
|
|
3452
|
+
if (!e) {
|
|
3453
|
+
return undefined;
|
|
3454
|
+
}
|
|
3455
|
+
var altKey = e.altKey,
|
|
3456
|
+
ctrlKey = e.ctrlKey,
|
|
3457
|
+
metaKey = e.metaKey;
|
|
3458
|
+
var key = '';
|
|
3459
|
+
if ('key' in e) {
|
|
3460
|
+
key = e.key;
|
|
3461
|
+
}
|
|
3462
|
+
var openKeys = ['ArrowDown', 'ArrowUp', 'Enter', ' ']; // all keys that will do the default open action
|
|
3463
|
+
if (!key) return undefined;
|
|
3464
|
+
// handle opening when closed
|
|
3465
|
+
if (!isOpen && key && openKeys.includes(key)) {
|
|
3466
|
+
return SelectActions.Open;
|
|
3467
|
+
}
|
|
3468
|
+
|
|
3469
|
+
// home and end move the selected option when open or closed
|
|
3470
|
+
if (key === 'Home') {
|
|
3471
|
+
return SelectActions.First;
|
|
3472
|
+
}
|
|
3473
|
+
if (key === 'End') {
|
|
3474
|
+
return SelectActions.Last;
|
|
3475
|
+
}
|
|
3476
|
+
|
|
3477
|
+
// handle typing characters when open or closed
|
|
3478
|
+
if (key === 'Backspace' || key === 'Clear' || key.length === 1 && key !== ' ' && !altKey && !ctrlKey && !metaKey) {
|
|
3479
|
+
return SelectActions.Type;
|
|
3480
|
+
}
|
|
3481
|
+
|
|
3482
|
+
// handle keys when open
|
|
3483
|
+
if (isOpen) {
|
|
3484
|
+
if (key === 'ArrowUp' && altKey) {
|
|
3485
|
+
return SelectActions.CloseSelect;
|
|
3486
|
+
} else if (key === 'ArrowDown' && !altKey) {
|
|
3487
|
+
return SelectActions.Next;
|
|
3488
|
+
} else if (key === 'ArrowUp') {
|
|
3489
|
+
return SelectActions.Previous;
|
|
3490
|
+
} else if (key === 'PageUp') {
|
|
3491
|
+
return SelectActions.PageUp;
|
|
3492
|
+
} else if (key === 'PageDown') {
|
|
3493
|
+
return SelectActions.PageDown;
|
|
3494
|
+
} else if (key === 'Escape') {
|
|
3495
|
+
return SelectActions.Close;
|
|
3496
|
+
} else if (key === 'Enter' || key === ' ') {
|
|
3497
|
+
return SelectActions.CloseSelect;
|
|
3498
|
+
}
|
|
3499
|
+
}
|
|
3500
|
+
return undefined;
|
|
3501
|
+
}
|
|
3502
|
+
|
|
3503
|
+
/**
|
|
3504
|
+
* Return the index of an option from an array of options, based on a search string
|
|
3505
|
+
*
|
|
3506
|
+
* if the filter is multiple iterations of the same letter (e.g "aaa"), then cycle through first-letter matches
|
|
3507
|
+
**/
|
|
3508
|
+
function getIndexByLetter(options, filter) {
|
|
3509
|
+
var startIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
3510
|
+
var orderedOptions = [].concat(_toConsumableArray$1(options.slice(startIndex)), _toConsumableArray$1(options.slice(0, startIndex)));
|
|
3511
|
+
var firstMatch = filterOptions(orderedOptions, filter)[0];
|
|
3512
|
+
var allSameLetter = function allSameLetter(array) {
|
|
3513
|
+
return array.every(function (letter) {
|
|
3514
|
+
return letter === array[0];
|
|
3515
|
+
});
|
|
3516
|
+
};
|
|
3517
|
+
|
|
3518
|
+
// first check if there is an exact match for the typed string
|
|
3519
|
+
if (firstMatch) {
|
|
3520
|
+
return options.indexOf(firstMatch);
|
|
3521
|
+
}
|
|
3522
|
+
|
|
3523
|
+
// if the same letter is being repeated, cycle through first-letter matches
|
|
3524
|
+
else if (allSameLetter(filter.split(''))) {
|
|
3525
|
+
var matches = filterOptions(orderedOptions, filter[0]);
|
|
3526
|
+
return options.indexOf(matches[0]);
|
|
3527
|
+
}
|
|
3528
|
+
|
|
3529
|
+
// if no matches, return -1
|
|
3530
|
+
else {
|
|
3531
|
+
return -1;
|
|
3532
|
+
}
|
|
3533
|
+
}
|
|
3534
|
+
|
|
3535
|
+
/**
|
|
3536
|
+
* This functions makes sure the optionsIndex is not going out of possible options
|
|
3537
|
+
*/
|
|
3538
|
+
function getUpdatedIndex(currentIndex, maxIndex, action) {
|
|
3539
|
+
// On PageUP or PageDown, we jump focus by 10 items or to the first or last element
|
|
3540
|
+
// Details: https://www.w3.org/WAI/ARIA/apg/example-index/combobox/combobox-select-only.html#:~:text=PageUp,to%20last%20option).
|
|
3541
|
+
var pageSize = 10;
|
|
3542
|
+
switch (action) {
|
|
3543
|
+
case SelectActions.First:
|
|
3544
|
+
return 0;
|
|
3545
|
+
case SelectActions.Last:
|
|
3546
|
+
return maxIndex;
|
|
3547
|
+
case SelectActions.Previous:
|
|
3548
|
+
return Math.max(0, currentIndex - 1);
|
|
3549
|
+
case SelectActions.Next:
|
|
3550
|
+
return Math.min(maxIndex, currentIndex + 1);
|
|
3551
|
+
case SelectActions.PageUp:
|
|
3552
|
+
return Math.max(0, currentIndex - pageSize);
|
|
3553
|
+
case SelectActions.PageDown:
|
|
3554
|
+
return Math.min(maxIndex, currentIndex + pageSize);
|
|
3555
|
+
default:
|
|
3556
|
+
return currentIndex;
|
|
3557
|
+
}
|
|
3558
|
+
}
|
|
3559
|
+
|
|
3560
|
+
/**
|
|
3561
|
+
* Checks if the given HTML element is visible on screen
|
|
3562
|
+
*/
|
|
3563
|
+
function isElementVisibleOnScreen(element) {
|
|
3564
|
+
var bounding = element.getBoundingClientRect();
|
|
3565
|
+
return bounding.top >= 0 && bounding.left >= 0 && bounding.bottom <= (window.innerHeight || document.documentElement.clientHeight) && bounding.right <= (window.innerWidth || document.documentElement.clientWidth);
|
|
3566
|
+
}
|
|
3567
|
+
|
|
3568
|
+
/**
|
|
3569
|
+
* Checks if the dropdown is scrollable
|
|
3570
|
+
*/
|
|
3571
|
+
function isScrollable(element) {
|
|
3572
|
+
return element && element.clientHeight < element.scrollHeight;
|
|
3573
|
+
}
|
|
3574
|
+
/**
|
|
3575
|
+
* Performs the action when actionType is passed
|
|
3576
|
+
*
|
|
3577
|
+
* This function handles all the keydown actions.
|
|
3578
|
+
*/
|
|
3579
|
+
var performAction = function performAction(action, payload, actions) {
|
|
3580
|
+
var event = payload.event;
|
|
3581
|
+
switch (action) {
|
|
3582
|
+
case SelectActions.Last:
|
|
3583
|
+
// @ts-expect-error: intentional fallthrough, ignoring the warning
|
|
3584
|
+
case SelectActions.First:
|
|
3585
|
+
actions.setIsOpen(true);
|
|
3586
|
+
// intentional fallthrough
|
|
3587
|
+
case SelectActions.Next:
|
|
3588
|
+
case SelectActions.Previous:
|
|
3589
|
+
case SelectActions.PageUp:
|
|
3590
|
+
case SelectActions.PageDown:
|
|
3591
|
+
event.preventDefault();
|
|
3592
|
+
actions.onOptionChange(action);
|
|
3593
|
+
return true;
|
|
3594
|
+
case SelectActions.CloseSelect:
|
|
3595
|
+
event.preventDefault();
|
|
3596
|
+
actions.selectCurrentOption();
|
|
3597
|
+
return true;
|
|
3598
|
+
case SelectActions.Close:
|
|
3599
|
+
event.preventDefault();
|
|
3600
|
+
actions.close();
|
|
3601
|
+
return true;
|
|
3602
|
+
case SelectActions.Type:
|
|
3603
|
+
actions.onComboType(event.key, action);
|
|
3604
|
+
return true;
|
|
3605
|
+
case SelectActions.Open:
|
|
3606
|
+
event.preventDefault();
|
|
3607
|
+
actions.setIsOpen(true);
|
|
3608
|
+
return true;
|
|
3609
|
+
}
|
|
3610
|
+
return false;
|
|
3611
|
+
};
|
|
3612
|
+
|
|
3613
|
+
/**
|
|
3614
|
+
* When options list is large, it can have a scrollbar.
|
|
3615
|
+
*
|
|
3616
|
+
* This function ensures the active option is always in the viewport
|
|
3617
|
+
*/
|
|
3618
|
+
var ensureScrollVisiblity = function ensureScrollVisiblity(newActiveIndex, containerElement, options) {
|
|
3619
|
+
// ensure the new option is in view
|
|
3620
|
+
if (containerElement) {
|
|
3621
|
+
if (isScrollable(containerElement)) {
|
|
3622
|
+
var optionEl = containerElement.querySelectorAll('[role="option"]');
|
|
3623
|
+
// Making sure its the same element as the one from options state
|
|
3624
|
+
if (newActiveIndex >= 0 && optionEl[newActiveIndex].dataset.value === options[newActiveIndex]) {
|
|
3625
|
+
var activeElement = optionEl[newActiveIndex];
|
|
3626
|
+
var bodyRect = containerElement.getBoundingClientRect().top;
|
|
3627
|
+
var elementRect = activeElement.getBoundingClientRect().top;
|
|
3628
|
+
var elementPosition = elementRect - bodyRect;
|
|
3629
|
+
var offsetPosition = elementPosition;
|
|
3630
|
+
containerElement.scrollTo({
|
|
3631
|
+
top: offsetPosition
|
|
3632
|
+
});
|
|
3633
|
+
if (!isElementVisibleOnScreen(optionEl[newActiveIndex])) {
|
|
3634
|
+
activeElement.scrollIntoView({
|
|
3635
|
+
behavior: 'smooth'
|
|
3636
|
+
});
|
|
3637
|
+
}
|
|
3638
|
+
}
|
|
3639
|
+
}
|
|
3640
|
+
}
|
|
3641
|
+
};
|
|
3642
|
+
|
|
3643
|
+
/**
|
|
3644
|
+
* value that is set in the actual form input
|
|
3645
|
+
*/
|
|
3646
|
+
var makeInputValue = function makeInputValue(selectedIndices, options) {
|
|
3647
|
+
if (options.length === 0) {
|
|
3648
|
+
return '';
|
|
3649
|
+
}
|
|
3650
|
+
return selectedIndices.map(function (selectedIndex) {
|
|
3651
|
+
var _options$selectedInde;
|
|
3652
|
+
return (_options$selectedInde = options[selectedIndex]) === null || _options$selectedInde === void 0 ? void 0 : _options$selectedInde.value;
|
|
3653
|
+
}).join(', ');
|
|
3654
|
+
};
|
|
3655
|
+
|
|
3656
|
+
/**
|
|
3657
|
+
* Value that is displayed inside the select field
|
|
3658
|
+
*/
|
|
3659
|
+
var makeInputDisplayValue = function makeInputDisplayValue(selectedIndices, options) {
|
|
3660
|
+
// When no item is selected or no item is present
|
|
3661
|
+
if (options.length === 0 || selectedIndices.length === 0) {
|
|
3662
|
+
return '';
|
|
3663
|
+
}
|
|
3664
|
+
|
|
3665
|
+
// When one item is selected, we display that item's title in input
|
|
3666
|
+
if (selectedIndices.length === 1) {
|
|
3667
|
+
return options[selectedIndices[0]].title;
|
|
3668
|
+
}
|
|
3669
|
+
|
|
3670
|
+
// When more than one item is selected, we display the count of items
|
|
3671
|
+
return "".concat(selectedIndices.length, " items selected");
|
|
3672
|
+
};
|
|
3673
|
+
|
|
3674
|
+
var _excluded$4$ = ["isOpen", "setIsOpen", "close", "selectedIndices", "setSelectedIndices", "activeIndex", "setActiveIndex", "shouldIgnoreBlur", "setShouldIgnoreBlur", "isKeydownPressed", "setIsKeydownPressed", "options", "selectionType", "changeCallbackTriggerer", "setChangeCallbackTriggerer", "isControlled", "setControlledValueIndices"];
|
|
3675
|
+
function ownKeys$65(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; }
|
|
3676
|
+
function _objectSpread$64(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$65(Object(source), !0).forEach(function (key) { _defineProperty$1(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$65(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
3677
|
+
|
|
3678
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
3679
|
+
var noop$1 = function noop() {};
|
|
3680
|
+
var DropdownContext = /*#__PURE__*/React__default.createContext({
|
|
3681
|
+
isOpen: false,
|
|
3682
|
+
setIsOpen: noop$1,
|
|
3683
|
+
close: noop$1,
|
|
3684
|
+
selectedIndices: [],
|
|
3685
|
+
setSelectedIndices: noop$1,
|
|
3686
|
+
controlledValueIndices: [],
|
|
3687
|
+
setControlledValueIndices: noop$1,
|
|
3688
|
+
options: [],
|
|
3689
|
+
setOptions: noop$1,
|
|
3690
|
+
activeIndex: -1,
|
|
3691
|
+
setActiveIndex: noop$1,
|
|
3692
|
+
shouldIgnoreBlur: false,
|
|
3693
|
+
setShouldIgnoreBlur: noop$1,
|
|
3694
|
+
shouldIgnoreBlurAnimation: false,
|
|
3695
|
+
setShouldIgnoreBlurAnimation: noop$1,
|
|
3696
|
+
hasFooterAction: false,
|
|
3697
|
+
setHasFooterAction: noop$1,
|
|
3698
|
+
hasLabelOnLeft: false,
|
|
3699
|
+
setHasLabelOnLeft: noop$1,
|
|
3700
|
+
isKeydownPressed: false,
|
|
3701
|
+
setIsKeydownPressed: noop$1,
|
|
3702
|
+
changeCallbackTriggerer: 0,
|
|
3703
|
+
setChangeCallbackTriggerer: noop$1,
|
|
3704
|
+
isControlled: false,
|
|
3705
|
+
setIsControlled: noop$1,
|
|
3706
|
+
dropdownBaseId: '',
|
|
3707
|
+
actionListItemRef: {
|
|
3708
|
+
current: null
|
|
3709
|
+
},
|
|
3710
|
+
triggererRef: {
|
|
3711
|
+
current: null
|
|
3712
|
+
},
|
|
3713
|
+
triggererWrapperRef: {
|
|
3714
|
+
current: null
|
|
3715
|
+
}
|
|
3716
|
+
});
|
|
3717
|
+
var searchTimeout;
|
|
3718
|
+
var searchString = '';
|
|
3719
|
+
/**
|
|
3720
|
+
* Handles almost all the functionality of dropdown.
|
|
3721
|
+
*
|
|
3722
|
+
* Returns the values from DropdownContext along with some helper functions and event handlers
|
|
3723
|
+
*
|
|
3724
|
+
*/
|
|
3725
|
+
var useDropdown = function useDropdown() {
|
|
3726
|
+
var _React$useContext = React__default.useContext(DropdownContext),
|
|
3727
|
+
isOpen = _React$useContext.isOpen,
|
|
3728
|
+
setIsOpen = _React$useContext.setIsOpen,
|
|
3729
|
+
close = _React$useContext.close,
|
|
3730
|
+
selectedIndices = _React$useContext.selectedIndices,
|
|
3731
|
+
setSelectedIndices = _React$useContext.setSelectedIndices,
|
|
3732
|
+
activeIndex = _React$useContext.activeIndex,
|
|
3733
|
+
setActiveIndex = _React$useContext.setActiveIndex,
|
|
3734
|
+
shouldIgnoreBlur = _React$useContext.shouldIgnoreBlur,
|
|
3735
|
+
setShouldIgnoreBlur = _React$useContext.setShouldIgnoreBlur,
|
|
3736
|
+
isKeydownPressed = _React$useContext.isKeydownPressed,
|
|
3737
|
+
setIsKeydownPressed = _React$useContext.setIsKeydownPressed,
|
|
3738
|
+
options = _React$useContext.options,
|
|
3739
|
+
selectionType = _React$useContext.selectionType,
|
|
3740
|
+
changeCallbackTriggerer = _React$useContext.changeCallbackTriggerer,
|
|
3741
|
+
setChangeCallbackTriggerer = _React$useContext.setChangeCallbackTriggerer,
|
|
3742
|
+
isControlled = _React$useContext.isControlled,
|
|
3743
|
+
setControlledValueIndices = _React$useContext.setControlledValueIndices,
|
|
3744
|
+
rest = _objectWithoutProperties$1(_React$useContext, _excluded$4$);
|
|
3745
|
+
var bottomSheetAndDropdownGlue = useBottomSheetAndDropdownGlue();
|
|
3746
|
+
var setIndices = function setIndices(indices) {
|
|
3747
|
+
if (isControlled) {
|
|
3748
|
+
setControlledValueIndices(indices);
|
|
3749
|
+
} else {
|
|
3750
|
+
setSelectedIndices(indices);
|
|
3751
|
+
}
|
|
3752
|
+
};
|
|
3753
|
+
/**
|
|
3754
|
+
* Marks the given index as selected.
|
|
3755
|
+
*
|
|
3756
|
+
* In single select, it also closes the menu.
|
|
3757
|
+
* In multiselect, it keeps the menu open for more selections
|
|
3758
|
+
*/
|
|
3759
|
+
var selectOption = function selectOption(index) {
|
|
3760
|
+
var properties = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
|
|
3761
|
+
closeOnSelection: true
|
|
3762
|
+
};
|
|
3763
|
+
var isSelected = false;
|
|
3764
|
+
if (index < 0 || index > options.length - 1) {
|
|
3765
|
+
return isSelected;
|
|
3766
|
+
}
|
|
3767
|
+
if (selectionType === 'multiple') {
|
|
3768
|
+
if (selectedIndices.includes(index)) {
|
|
3769
|
+
// remove existing item
|
|
3770
|
+
var existingItemIndex = selectedIndices.indexOf(index);
|
|
3771
|
+
setIndices([].concat(_toConsumableArray$1(selectedIndices.slice(0, existingItemIndex)), _toConsumableArray$1(selectedIndices.slice(existingItemIndex + 1))));
|
|
3772
|
+
isSelected = false;
|
|
3773
|
+
} else {
|
|
3774
|
+
setIndices([].concat(_toConsumableArray$1(selectedIndices), [index]));
|
|
3775
|
+
isSelected = true;
|
|
3776
|
+
}
|
|
3777
|
+
} else {
|
|
3778
|
+
setIndices([index]);
|
|
3779
|
+
isSelected = true;
|
|
3780
|
+
}
|
|
3781
|
+
|
|
3782
|
+
// Triggers `onChange` on SelectInput
|
|
3783
|
+
setChangeCallbackTriggerer(changeCallbackTriggerer + 1);
|
|
3784
|
+
if (activeIndex !== index) {
|
|
3785
|
+
setActiveIndex(index);
|
|
3786
|
+
}
|
|
3787
|
+
if (properties !== null && properties !== void 0 && properties.closeOnSelection && selectionType !== 'multiple') {
|
|
3788
|
+
close();
|
|
3789
|
+
}
|
|
3790
|
+
return isSelected;
|
|
3791
|
+
};
|
|
3792
|
+
|
|
3793
|
+
/**
|
|
3794
|
+
* Click listener for combobox (or any triggerer of the dropdown)
|
|
3795
|
+
*/
|
|
3796
|
+
var onTriggerClick = function onTriggerClick() {
|
|
3797
|
+
if (isOpen) {
|
|
3798
|
+
close();
|
|
3799
|
+
} else {
|
|
3800
|
+
setIsOpen(true);
|
|
3801
|
+
}
|
|
3802
|
+
};
|
|
3803
|
+
|
|
3804
|
+
/**
|
|
3805
|
+
* Blur handler on combobox. Also handles the selection logic when user moves focus
|
|
3806
|
+
*/
|
|
3807
|
+
var onTriggerBlur = function onTriggerBlur(_ref) {
|
|
3808
|
+
var name = _ref.name,
|
|
3809
|
+
value = _ref.value,
|
|
3810
|
+
onBlurCallback = _ref.onBlurCallback;
|
|
3811
|
+
if (rest.hasFooterAction) {
|
|
3812
|
+
// When Footer has action buttons, we ignore the blur (by setting shouldIgnoreBlur to true in onTriggerKeyDown)
|
|
3813
|
+
// And we remove the active item (by setting it to -1) so that we can shift focus on action buttons
|
|
3814
|
+
setActiveIndex(-1);
|
|
3815
|
+
}
|
|
3816
|
+
if (bottomSheetAndDropdownGlue !== null && bottomSheetAndDropdownGlue !== void 0 && bottomSheetAndDropdownGlue.dropdownHasBottomSheet) {
|
|
3817
|
+
setShouldIgnoreBlur(true);
|
|
3818
|
+
return;
|
|
3819
|
+
}
|
|
3820
|
+
if (shouldIgnoreBlur) {
|
|
3821
|
+
setShouldIgnoreBlur(false);
|
|
3822
|
+
return;
|
|
3823
|
+
}
|
|
3824
|
+
onBlurCallback === null || onBlurCallback === void 0 ? void 0 : onBlurCallback({
|
|
3825
|
+
name: name,
|
|
3826
|
+
value: value
|
|
3827
|
+
});
|
|
3828
|
+
if (isOpen) {
|
|
3829
|
+
if (selectionType !== 'multiple') {
|
|
3830
|
+
selectOption(activeIndex);
|
|
3831
|
+
}
|
|
3832
|
+
if (!(bottomSheetAndDropdownGlue !== null && bottomSheetAndDropdownGlue !== void 0 && bottomSheetAndDropdownGlue.dropdownHasBottomSheet)) {
|
|
3833
|
+
close();
|
|
3834
|
+
}
|
|
3835
|
+
}
|
|
3836
|
+
};
|
|
3837
|
+
|
|
3838
|
+
/**
|
|
3839
|
+
* Function that we call when we want to move focus from one option to other
|
|
3840
|
+
*/
|
|
3841
|
+
var onOptionChange = function onOptionChange(actionType, index) {
|
|
3842
|
+
var max = options.length - 1;
|
|
3843
|
+
var newIndex = index !== null && index !== void 0 ? index : activeIndex;
|
|
3844
|
+
setActiveIndex(getUpdatedIndex(newIndex, max, actionType));
|
|
3845
|
+
var optionValues = options.map(function (option) {
|
|
3846
|
+
return option.value;
|
|
3847
|
+
});
|
|
3848
|
+
ensureScrollVisiblity(newIndex, rest.actionListItemRef.current, optionValues);
|
|
3849
|
+
};
|
|
3865
3850
|
|
|
3866
|
-
|
|
3867
|
-
|
|
3868
|
-
|
|
3869
|
-
|
|
3870
|
-
|
|
3871
|
-
|
|
3872
|
-
|
|
3873
|
-
|
|
3874
|
-
|
|
3875
|
-
|
|
3876
|
-
|
|
3877
|
-
|
|
3878
|
-
|
|
3879
|
-
|
|
3880
|
-
|
|
3881
|
-
|
|
3882
|
-
|
|
3883
|
-
|
|
3884
|
-
|
|
3885
|
-
labelledBy: 'aria-labelledby',
|
|
3886
|
-
liveRegion: 'aria-live',
|
|
3887
|
-
modal: 'aria-modal',
|
|
3888
|
-
multiline: 'aria-multiline',
|
|
3889
|
-
multiSelectable: 'aria-multiselectable',
|
|
3890
|
-
orientation: 'aria-orientation',
|
|
3891
|
-
owns: 'aria-owns',
|
|
3892
|
-
placeholder: 'aria-placeholder',
|
|
3893
|
-
posInSet: 'aria-posinset',
|
|
3894
|
-
pressed: 'aria-pressed',
|
|
3895
|
-
readOnly: 'aria-readonly',
|
|
3896
|
-
required: 'aria-required',
|
|
3897
|
-
role: 'role',
|
|
3898
|
-
roleDescription: 'aria-roledescription',
|
|
3899
|
-
rowCount: 'aria-rowcount',
|
|
3900
|
-
rowIndex: 'aria-rowindex',
|
|
3901
|
-
rowSpan: 'aria-rowspan',
|
|
3902
|
-
setSize: 'aria-setsize',
|
|
3903
|
-
sort: 'aria-sort',
|
|
3904
|
-
current: 'aria-current',
|
|
3905
|
-
dropEffect: 'aria-dropeffect',
|
|
3906
|
-
grabbed: 'aria-grabbed',
|
|
3907
|
-
level: 'aria-level',
|
|
3908
|
-
relevant: 'aria-relevant'
|
|
3909
|
-
});
|
|
3851
|
+
/**
|
|
3852
|
+
* Click handler when user clicks on any particular option.
|
|
3853
|
+
*
|
|
3854
|
+
* It
|
|
3855
|
+
* - changes the option focus
|
|
3856
|
+
* - selects that option
|
|
3857
|
+
* - moves focus to combobox
|
|
3858
|
+
*/
|
|
3859
|
+
var onOptionClick = function onOptionClick(e, index) {
|
|
3860
|
+
var actionType = getActionFromKey(e, isOpen);
|
|
3861
|
+
if (typeof actionType === 'number') {
|
|
3862
|
+
onOptionChange(actionType, index);
|
|
3863
|
+
}
|
|
3864
|
+
selectOption(index);
|
|
3865
|
+
if (!isReactNative$4()) {
|
|
3866
|
+
var _rest$triggererRef$cu;
|
|
3867
|
+
(_rest$triggererRef$cu = rest.triggererRef.current) === null || _rest$triggererRef$cu === void 0 ? void 0 : _rest$triggererRef$cu.focus();
|
|
3868
|
+
}
|
|
3869
|
+
};
|
|
3910
3870
|
|
|
3911
|
-
|
|
3912
|
-
|
|
3913
|
-
|
|
3871
|
+
/**
|
|
3872
|
+
* Function we call to handle the typeahead.
|
|
3873
|
+
*
|
|
3874
|
+
* It takes a letter, stores that letter in searchString (and clears it after timeout) to maintain a word
|
|
3875
|
+
*
|
|
3876
|
+
* Then searches for that word in options and moves focus there.
|
|
3877
|
+
*/
|
|
3878
|
+
var onComboType = function onComboType(letter, actionType) {
|
|
3879
|
+
// open the listbox if it is closed
|
|
3880
|
+
setIsOpen(true);
|
|
3881
|
+
if (typeof searchTimeout === 'number') {
|
|
3882
|
+
window.clearTimeout(searchTimeout);
|
|
3883
|
+
}
|
|
3884
|
+
searchTimeout = window.setTimeout(function () {
|
|
3885
|
+
searchString = '';
|
|
3886
|
+
}, 500);
|
|
3887
|
+
// eslint-disable-next-line @typescript-eslint/restrict-plus-operands
|
|
3888
|
+
searchString = searchString + letter;
|
|
3889
|
+
var optionTitles = options.map(function (option) {
|
|
3890
|
+
return option.title;
|
|
3891
|
+
});
|
|
3892
|
+
var searchIndex = getIndexByLetter(optionTitles, searchString, activeIndex + 1);
|
|
3914
3893
|
|
|
3915
|
-
|
|
3916
|
-
|
|
3917
|
-
|
|
3918
|
-
var propValue = props[propKey];
|
|
3919
|
-
var accessibilityAttribute = accessibilityMap[propKey];
|
|
3920
|
-
if (accessibilityAttribute) {
|
|
3921
|
-
newProps[accessibilityAttribute] = propValue;
|
|
3894
|
+
// if a match was found, go to it
|
|
3895
|
+
if (searchIndex >= 0) {
|
|
3896
|
+
onOptionChange(actionType, searchIndex);
|
|
3922
3897
|
}
|
|
3923
|
-
|
|
3924
|
-
|
|
3925
|
-
|
|
3898
|
+
// if no matches, clear the timeout and search string
|
|
3899
|
+
else {
|
|
3900
|
+
window.clearTimeout(searchTimeout);
|
|
3901
|
+
searchString = '';
|
|
3902
|
+
}
|
|
3903
|
+
};
|
|
3926
3904
|
|
|
3927
|
-
|
|
3928
|
-
|
|
3929
|
-
|
|
3930
|
-
var
|
|
3931
|
-
|
|
3932
|
-
|
|
3933
|
-
|
|
3934
|
-
|
|
3935
|
-
|
|
3936
|
-
|
|
3937
|
-
|
|
3938
|
-
|
|
3939
|
-
|
|
3940
|
-
|
|
3941
|
-
|
|
3942
|
-
|
|
3943
|
-
|
|
3944
|
-
|
|
3945
|
-
|
|
3946
|
-
|
|
3947
|
-
|
|
3905
|
+
/**
|
|
3906
|
+
* Keydown event of combobox. Handles most of the keyboard accessibility of dropdown
|
|
3907
|
+
*/
|
|
3908
|
+
var onTriggerKeydown = function onTriggerKeydown(e) {
|
|
3909
|
+
if (e.event.key === 'Tab' && rest.hasFooterAction) {
|
|
3910
|
+
// When footer has Action Buttons, we ignore the blur event so that we can move focus to action item than bluring out of dropdown
|
|
3911
|
+
setShouldIgnoreBlur(true);
|
|
3912
|
+
}
|
|
3913
|
+
|
|
3914
|
+
// disable closing the select on blur events if we are using a bottomsheet
|
|
3915
|
+
if (bottomSheetAndDropdownGlue !== null && bottomSheetAndDropdownGlue !== void 0 && bottomSheetAndDropdownGlue.dropdownHasBottomSheet) {
|
|
3916
|
+
setShouldIgnoreBlur(true);
|
|
3917
|
+
}
|
|
3918
|
+
if (!isKeydownPressed && ![' ', 'Enter', 'Escape', 'Meta'].includes(e.event.key)) {
|
|
3919
|
+
// When keydown is not already pressed and its not Enter, Space, Command, or Escape key (those are generic keys and we only want to handle arrow keys or home buttons etc)
|
|
3920
|
+
setIsKeydownPressed(true);
|
|
3921
|
+
}
|
|
3922
|
+
var actionType = getActionFromKey(e.event, isOpen);
|
|
3923
|
+
if (actionType) {
|
|
3924
|
+
performAction(actionType, e, {
|
|
3925
|
+
setIsOpen: setIsOpen,
|
|
3926
|
+
close: close,
|
|
3927
|
+
onOptionChange: onOptionChange,
|
|
3928
|
+
onComboType: onComboType,
|
|
3929
|
+
selectCurrentOption: function selectCurrentOption() {
|
|
3930
|
+
var _options$activeIndex$, _options$activeIndex;
|
|
3931
|
+
var isSelected = selectOption(activeIndex);
|
|
3932
|
+
if (rest.hasFooterAction && !isReactNative$4()) {
|
|
3933
|
+
var _rest$triggererRef$cu2;
|
|
3934
|
+
(_rest$triggererRef$cu2 = rest.triggererRef.current) === null || _rest$triggererRef$cu2 === void 0 ? void 0 : _rest$triggererRef$cu2.focus();
|
|
3935
|
+
}
|
|
3936
|
+
(_options$activeIndex$ = (_options$activeIndex = options[activeIndex]).onClickTrigger) === null || _options$activeIndex$ === void 0 ? void 0 : _options$activeIndex$.call(_options$activeIndex, isSelected);
|
|
3937
|
+
}
|
|
3938
|
+
});
|
|
3939
|
+
}
|
|
3940
|
+
};
|
|
3941
|
+
return _objectSpread$64({
|
|
3942
|
+
isOpen: isOpen,
|
|
3943
|
+
setIsOpen: setIsOpen,
|
|
3944
|
+
close: close,
|
|
3945
|
+
selectedIndices: selectedIndices,
|
|
3946
|
+
setSelectedIndices: setSelectedIndices,
|
|
3947
|
+
setControlledValueIndices: setControlledValueIndices,
|
|
3948
|
+
onTriggerClick: onTriggerClick,
|
|
3949
|
+
onTriggerKeydown: onTriggerKeydown,
|
|
3950
|
+
onTriggerBlur: onTriggerBlur,
|
|
3951
|
+
onOptionClick: onOptionClick,
|
|
3952
|
+
activeIndex: activeIndex,
|
|
3953
|
+
setActiveIndex: setActiveIndex,
|
|
3954
|
+
shouldIgnoreBlur: shouldIgnoreBlur,
|
|
3955
|
+
setShouldIgnoreBlur: setShouldIgnoreBlur,
|
|
3956
|
+
isKeydownPressed: isKeydownPressed,
|
|
3957
|
+
setIsKeydownPressed: setIsKeydownPressed,
|
|
3958
|
+
changeCallbackTriggerer: changeCallbackTriggerer,
|
|
3959
|
+
setChangeCallbackTriggerer: setChangeCallbackTriggerer,
|
|
3960
|
+
isControlled: isControlled,
|
|
3961
|
+
options: options,
|
|
3962
|
+
value: makeInputValue(selectedIndices, options),
|
|
3963
|
+
displayValue: makeInputDisplayValue(selectedIndices, options),
|
|
3964
|
+
selectionType: selectionType
|
|
3965
|
+
}, rest);
|
|
3966
|
+
};
|
|
3948
3967
|
|
|
3949
3968
|
function ownKeys$64(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; }
|
|
3950
3969
|
function _objectSpread$63(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$64(Object(source), !0).forEach(function (key) { _defineProperty$1(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$64(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
@@ -4055,8 +4074,8 @@ var _ActionList = function _ActionList(_ref) {
|
|
|
4055
4074
|
});
|
|
4056
4075
|
};
|
|
4057
4076
|
var ActionList = /*#__PURE__*/assignWithoutSideEffects( /*#__PURE__*/React__default.memo(_ActionList), {
|
|
4058
|
-
displayName: componentIds.ActionList,
|
|
4059
|
-
componentId: componentIds.ActionList
|
|
4077
|
+
displayName: componentIds$1.ActionList,
|
|
4078
|
+
componentId: componentIds$1.ActionList
|
|
4060
4079
|
});
|
|
4061
4080
|
|
|
4062
4081
|
var getBaseActionListItemStyles = function getBaseActionListItemStyles(props) {
|
|
@@ -4557,7 +4576,7 @@ var getBaseTextStyles = function getBaseTextStyles(_ref) {
|
|
|
4557
4576
|
lineHeight = _ref$lineHeight === void 0 ? 100 : _ref$lineHeight,
|
|
4558
4577
|
textAlign = _ref.textAlign,
|
|
4559
4578
|
theme = _ref.theme;
|
|
4560
|
-
var textColor =
|
|
4579
|
+
var textColor = getIn(theme.colors, color);
|
|
4561
4580
|
var themeFontFamily = theme.typography.fonts.family[fontFamily];
|
|
4562
4581
|
var themeFontSize = makeTypographySize(theme.typography.fonts.size[fontSize]);
|
|
4563
4582
|
var themeFontWeight = theme.typography.fonts.weight[fontWeight];
|
|
@@ -5177,7 +5196,10 @@ function isUndefined(value) {
|
|
|
5177
5196
|
|
|
5178
5197
|
var isUndefined_1 = isUndefined;
|
|
5179
5198
|
|
|
5199
|
+
var isUndefined$1 = /*@__PURE__*/getDefaultExportFromCjs(isUndefined_1);
|
|
5200
|
+
|
|
5180
5201
|
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
|
5202
|
+
/* eslint-disable @typescript-eslint/explicit-function-return-type */
|
|
5181
5203
|
var CheckboxGroupContext = /*#__PURE__*/React__default.createContext({});
|
|
5182
5204
|
var CheckboxGroupProvider = CheckboxGroupContext.Provider;
|
|
5183
5205
|
var useCheckboxGroupContext = function useCheckboxGroupContext() {
|
|
@@ -5268,8 +5290,8 @@ var getCheckboxIconWrapperStyles = function getCheckboxIconWrapperStyles(_ref) {
|
|
|
5268
5290
|
var checked = isChecked ? 'checked' : 'unchecked';
|
|
5269
5291
|
var background = checkboxIconColors.variants[variant].background[checked];
|
|
5270
5292
|
var border = checkboxIconColors.variants[variant].border[checked];
|
|
5271
|
-
var backgroundColor = background === 'transparent' ? background :
|
|
5272
|
-
var borderColor = border === 'transparent' ? border :
|
|
5293
|
+
var backgroundColor = background === 'transparent' ? background : getIn(theme, background);
|
|
5294
|
+
var borderColor = border === 'transparent' ? border : getIn(theme, border);
|
|
5273
5295
|
return {
|
|
5274
5296
|
position: 'relative',
|
|
5275
5297
|
display: 'flex',
|
|
@@ -5549,8 +5571,8 @@ var CheckboxIcon = function CheckboxIcon(_ref3) {
|
|
|
5549
5571
|
size = _ref3.size;
|
|
5550
5572
|
var _useTheme = useTheme(),
|
|
5551
5573
|
theme = _useTheme.theme;
|
|
5552
|
-
var defaultIconColor =
|
|
5553
|
-
var disabledIconColor =
|
|
5574
|
+
var defaultIconColor = getIn(theme, 'colors.brand.gray.200.lowContrast');
|
|
5575
|
+
var disabledIconColor = getIn(theme, 'colors.brand.gray.500.lowContrast');
|
|
5554
5576
|
var iconColor = isDisabled ? disabledIconColor : defaultIconColor;
|
|
5555
5577
|
return /*#__PURE__*/jsxs(CheckboxIconWrapper, _objectSpread$5L(_objectSpread$5L({
|
|
5556
5578
|
size: size,
|
|
@@ -5626,6 +5648,7 @@ var useId = function useId(prefix, idProp) {
|
|
|
5626
5648
|
};
|
|
5627
5649
|
|
|
5628
5650
|
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
|
5651
|
+
/* eslint-disable @typescript-eslint/explicit-function-return-type */
|
|
5629
5652
|
|
|
5630
5653
|
/**
|
|
5631
5654
|
* hook to generate unique ids for a form element
|
|
@@ -5808,13 +5831,15 @@ var iconSize$1 = {
|
|
|
5808
5831
|
'2xlarge': size[32]
|
|
5809
5832
|
};
|
|
5810
5833
|
function useIconProps(_ref) {
|
|
5811
|
-
var size = _ref.size,
|
|
5812
|
-
|
|
5834
|
+
var _ref$size = _ref.size,
|
|
5835
|
+
size = _ref$size === void 0 ? 'medium' : _ref$size,
|
|
5836
|
+
_ref$color = _ref.color,
|
|
5837
|
+
color = _ref$color === void 0 ? 'surface.text.normal.lowContrast' : _ref$color;
|
|
5813
5838
|
var _useTheme = useTheme(),
|
|
5814
5839
|
theme = _useTheme.theme;
|
|
5815
5840
|
var height = makeSize(iconSize$1[size]);
|
|
5816
5841
|
var width = makeSize(iconSize$1[size]);
|
|
5817
|
-
var iconColor = color === 'currentColor' ? 'currentColor' :
|
|
5842
|
+
var iconColor = color === 'currentColor' ? 'currentColor' : getIn(theme.colors, color, '');
|
|
5818
5843
|
return {
|
|
5819
5844
|
height: height,
|
|
5820
5845
|
width: width,
|
|
@@ -14543,6 +14568,7 @@ var BulkPayoutsIcon = function BulkPayoutsIcon(_ref) {
|
|
|
14543
14568
|
};
|
|
14544
14569
|
|
|
14545
14570
|
/* eslint-disable react/display-name */
|
|
14571
|
+
|
|
14546
14572
|
var HintText = function HintText(_ref) {
|
|
14547
14573
|
var Icon = _ref.icon,
|
|
14548
14574
|
children = _ref.children,
|
|
@@ -14845,6 +14871,7 @@ var SelectorSupportText = function SelectorSupportText(_ref) {
|
|
|
14845
14871
|
};
|
|
14846
14872
|
|
|
14847
14873
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
14874
|
+
/* eslint-disable @typescript-eslint/explicit-function-return-type */
|
|
14848
14875
|
function assignRef(ref, value) {
|
|
14849
14876
|
if (ref == null) return;
|
|
14850
14877
|
if (typeof ref === 'function') {
|
|
@@ -14908,8 +14935,8 @@ var getHoverStyles = function getHoverStyles(_ref) {
|
|
|
14908
14935
|
var backgroundColor = hoverTokens["default"].background[checked];
|
|
14909
14936
|
var borderColor = (_hoverTokens$default$ = hoverTokens["default"].border) === null || _hoverTokens$default$ === void 0 ? void 0 : _hoverTokens$default$[checked];
|
|
14910
14937
|
return {
|
|
14911
|
-
borderColor: borderColor ?
|
|
14912
|
-
backgroundColor:
|
|
14938
|
+
borderColor: borderColor ? getIn(theme, borderColor) : undefined,
|
|
14939
|
+
backgroundColor: getIn(theme, backgroundColor),
|
|
14913
14940
|
transitionTimingFunction: theme.motion.easing.standard.effective,
|
|
14914
14941
|
transitionDuration: castWebType(makeMotionTime(theme.motion.duration['2xquick']))
|
|
14915
14942
|
};
|
|
@@ -14991,6 +15018,13 @@ var _Checkbox = function _Checkbox(_ref, ref) {
|
|
|
14991
15018
|
testID = _ref.testID,
|
|
14992
15019
|
styledProps = _objectWithoutProperties$1(_ref, _excluded$D);
|
|
14993
15020
|
var groupProps = useCheckboxGroupContext();
|
|
15021
|
+
|
|
15022
|
+
// ban certain props in checkbox while inside group
|
|
15023
|
+
!isUndefined$1(validationState);
|
|
15024
|
+
!isUndefined$1(name);
|
|
15025
|
+
!isUndefined$1(defaultChecked);
|
|
15026
|
+
!isUndefined$1(isChecked);
|
|
15027
|
+
!isUndefined$1(onChange);
|
|
14994
15028
|
var _validationState = validationState !== null && validationState !== void 0 ? validationState : groupProps === null || groupProps === void 0 ? void 0 : groupProps.validationState;
|
|
14995
15029
|
var _hasError = _validationState === 'error';
|
|
14996
15030
|
var _isDisabled = isDisabled !== null && isDisabled !== void 0 ? isDisabled : groupProps === null || groupProps === void 0 ? void 0 : groupProps.isDisabled;
|
|
@@ -15354,7 +15388,7 @@ var _ActionListSection = function _ActionListSection(_ref) {
|
|
|
15354
15388
|
}));
|
|
15355
15389
|
};
|
|
15356
15390
|
var ActionListSection = /*#__PURE__*/assignWithoutSideEffects(_ActionListSection, {
|
|
15357
|
-
componentId: componentIds.ActionListSection
|
|
15391
|
+
componentId: componentIds$1.ActionListSection
|
|
15358
15392
|
});
|
|
15359
15393
|
var _ActionListItemIcon = function _ActionListItemIcon(_ref2) {
|
|
15360
15394
|
var icon = _ref2.icon;
|
|
@@ -15370,7 +15404,7 @@ var _ActionListItemIcon = function _ActionListItemIcon(_ref2) {
|
|
|
15370
15404
|
});
|
|
15371
15405
|
};
|
|
15372
15406
|
var ActionListItemIcon = /*#__PURE__*/assignWithoutSideEffects(_ActionListItemIcon, {
|
|
15373
|
-
componentId: componentIds.ActionListItemIcon
|
|
15407
|
+
componentId: componentIds$1.ActionListItemIcon
|
|
15374
15408
|
});
|
|
15375
15409
|
var _ActionListItemText = function _ActionListItemText(_ref3) {
|
|
15376
15410
|
var children = _ref3.children;
|
|
@@ -15385,7 +15419,7 @@ var _ActionListItemText = function _ActionListItemText(_ref3) {
|
|
|
15385
15419
|
});
|
|
15386
15420
|
};
|
|
15387
15421
|
var ActionListItemText = /*#__PURE__*/assignWithoutSideEffects(_ActionListItemText, {
|
|
15388
|
-
componentId: componentIds.ActionListItemText
|
|
15422
|
+
componentId: componentIds$1.ActionListItemText
|
|
15389
15423
|
});
|
|
15390
15424
|
var ActionListCheckboxWrapper = /*#__PURE__*/styled(BaseBox).withConfig({
|
|
15391
15425
|
displayName: "ActionListItem__ActionListCheckboxWrapper",
|
|
@@ -15591,8 +15625,8 @@ var _ActionListItem = function _ActionListItem(props) {
|
|
|
15591
15625
|
});
|
|
15592
15626
|
};
|
|
15593
15627
|
var ActionListItem = /*#__PURE__*/assignWithoutSideEffects( /*#__PURE__*/React__default.memo(_ActionListItem), {
|
|
15594
|
-
componentId: componentIds.ActionListItem,
|
|
15595
|
-
displayName: componentIds.ActionListItem
|
|
15628
|
+
componentId: componentIds$1.ActionListItem,
|
|
15629
|
+
displayName: componentIds$1.ActionListItem
|
|
15596
15630
|
});
|
|
15597
15631
|
|
|
15598
15632
|
var _ActionListItemAsset = function _ActionListItemAsset(props) {
|
|
@@ -15604,7 +15638,7 @@ var _ActionListItemAsset = function _ActionListItemAsset(props) {
|
|
|
15604
15638
|
});
|
|
15605
15639
|
};
|
|
15606
15640
|
var ActionListItemAsset = /*#__PURE__*/assignWithoutSideEffects(_ActionListItemAsset, {
|
|
15607
|
-
componentId: componentIds.ActionListItemAsset
|
|
15641
|
+
componentId: componentIds$1.ActionListItemAsset
|
|
15608
15642
|
});
|
|
15609
15643
|
|
|
15610
15644
|
var MAX_WIDTH$2 = size[584];
|
|
@@ -15717,6 +15751,7 @@ var StyledIconButton = /*#__PURE__*/React__default.forwardRef(function (_ref, re
|
|
|
15717
15751
|
});
|
|
15718
15752
|
|
|
15719
15753
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
15754
|
+
/* eslint-disable react/display-name */
|
|
15720
15755
|
/**
|
|
15721
15756
|
* Component for making clickable icons with transparent background.
|
|
15722
15757
|
* For other cases please use `Button` component with `icon` prop.
|
|
@@ -15804,8 +15839,8 @@ var StyledBaseButton = /*#__PURE__*/styled.button.withConfig({
|
|
|
15804
15839
|
return _objectSpread$1l(_objectSpread$1l({}, getBaseButtonStyles(props)), {}, {
|
|
15805
15840
|
display: 'inline-flex',
|
|
15806
15841
|
transitionProperty: 'background-color, border-color, box-shadow',
|
|
15807
|
-
transitionTimingFunction:
|
|
15808
|
-
transitionDuration: castWebType(makeMotionTime(
|
|
15842
|
+
transitionTimingFunction: getIn(props.theme.motion, props.motionEasing),
|
|
15843
|
+
transitionDuration: castWebType(makeMotionTime(getIn(props.theme.motion, props.motionDuration))),
|
|
15809
15844
|
position: 'relative',
|
|
15810
15845
|
'&:hover': {
|
|
15811
15846
|
backgroundColor: props.hoverBackgroundColor,
|
|
@@ -15823,8 +15858,8 @@ var StyledBaseButton = /*#__PURE__*/styled.button.withConfig({
|
|
|
15823
15858
|
},
|
|
15824
15859
|
'*': {
|
|
15825
15860
|
transitionProperty: 'color, fill',
|
|
15826
|
-
transitionDuration: castWebType(makeMotionTime(
|
|
15827
|
-
transitionTimingFunction:
|
|
15861
|
+
transitionDuration: castWebType(makeMotionTime(getIn(props.theme.motion, props.motionDuration))),
|
|
15862
|
+
transitionTimingFunction: getIn(props.theme.motion, props.motionEasing)
|
|
15828
15863
|
}
|
|
15829
15864
|
}, styledPropsCSSObject);
|
|
15830
15865
|
});
|
|
@@ -16067,7 +16102,7 @@ var SpinningBox = /*#__PURE__*/styled(BaseBox).withConfig({
|
|
|
16067
16102
|
componentId: "zswieh-0"
|
|
16068
16103
|
})(function (_ref) {
|
|
16069
16104
|
var theme = _ref.theme;
|
|
16070
|
-
return css(["padding:1px;width:max-content;display:inline-flex;animation:", " ", " ", " infinite;"], rotate, makeMotionTime(
|
|
16105
|
+
return css(["padding:1px;width:max-content;display:inline-flex;animation:", " ", " ", " infinite;"], rotate, makeMotionTime(getIn(theme.motion, motion.duration)), getIn(theme.motion, motion.easing));
|
|
16071
16106
|
});
|
|
16072
16107
|
|
|
16073
16108
|
var _excluded$B = ["label", "labelPosition", "accessibilityLabel", "contrast", "intent", "size", "testID"];
|
|
@@ -16078,11 +16113,11 @@ var getColor = function getColor(_ref) {
|
|
|
16078
16113
|
intent = _ref.intent,
|
|
16079
16114
|
theme = _ref.theme;
|
|
16080
16115
|
if (intent) {
|
|
16081
|
-
return
|
|
16116
|
+
return getIn(theme.colors, "feedback.".concat(intent, ".action.icon.primary.disabled.").concat(contrast, "Contrast"));
|
|
16082
16117
|
} else if (contrast == 'low') {
|
|
16083
|
-
return
|
|
16118
|
+
return getIn(theme.colors, 'brand.gray.700.lowContrast');
|
|
16084
16119
|
} else {
|
|
16085
|
-
return
|
|
16120
|
+
return getIn(theme.colors, 'brand.gray.700.highContrast');
|
|
16086
16121
|
}
|
|
16087
16122
|
};
|
|
16088
16123
|
var BaseSpinner = function BaseSpinner(_ref2) {
|
|
@@ -16137,7 +16172,7 @@ var BaseSpinner = function BaseSpinner(_ref2) {
|
|
|
16137
16172
|
};
|
|
16138
16173
|
|
|
16139
16174
|
var getStringFromReactText = function getStringFromReactText(childReactText) {
|
|
16140
|
-
if (
|
|
16175
|
+
if (isEmpty$1(childReactText)) {
|
|
16141
16176
|
return undefined;
|
|
16142
16177
|
}
|
|
16143
16178
|
if (Array.isArray(childReactText)) {
|
|
@@ -16208,77 +16243,77 @@ var getProps$1 = function getProps(_ref2) {
|
|
|
16208
16243
|
buttonPaddingLeft: isIconOnly ? makeSpace(theme.spacing[buttonIconOnlyPadding[size].left]) : makeSpace(theme.spacing[buttonPadding[size].left]),
|
|
16209
16244
|
buttonPaddingRight: isIconOnly ? makeSpace(theme.spacing[buttonIconOnlyPadding[size].right]) : makeSpace(theme.spacing[buttonPadding[size].right]),
|
|
16210
16245
|
text: size === 'xsmall' ? children === null || children === void 0 ? void 0 : children.trim().toUpperCase() : children === null || children === void 0 ? void 0 : children.trim(),
|
|
16211
|
-
defaultBackgroundColor:
|
|
16246
|
+
defaultBackgroundColor: getIn(theme.colors, getColorToken$1({
|
|
16212
16247
|
property: 'background',
|
|
16213
16248
|
variant: variant,
|
|
16214
16249
|
contrast: contrast,
|
|
16215
16250
|
intent: intent,
|
|
16216
16251
|
state: 'default'
|
|
16217
16252
|
})),
|
|
16218
|
-
defaultBorderColor:
|
|
16253
|
+
defaultBorderColor: getIn(theme.colors, getColorToken$1({
|
|
16219
16254
|
property: 'border',
|
|
16220
16255
|
variant: variant,
|
|
16221
16256
|
contrast: contrast,
|
|
16222
16257
|
intent: intent,
|
|
16223
16258
|
state: 'default'
|
|
16224
16259
|
})),
|
|
16225
|
-
hoverBackgroundColor:
|
|
16260
|
+
hoverBackgroundColor: getIn(theme.colors, getColorToken$1({
|
|
16226
16261
|
property: 'background',
|
|
16227
16262
|
variant: variant,
|
|
16228
16263
|
contrast: contrast,
|
|
16229
16264
|
intent: intent,
|
|
16230
16265
|
state: 'hover'
|
|
16231
16266
|
})),
|
|
16232
|
-
hoverBorderColor:
|
|
16267
|
+
hoverBorderColor: getIn(theme.colors, getColorToken$1({
|
|
16233
16268
|
property: 'border',
|
|
16234
16269
|
variant: variant,
|
|
16235
16270
|
contrast: contrast,
|
|
16236
16271
|
intent: intent,
|
|
16237
16272
|
state: 'hover'
|
|
16238
16273
|
})),
|
|
16239
|
-
activeBackgroundColor:
|
|
16274
|
+
activeBackgroundColor: getIn(theme.colors, getColorToken$1({
|
|
16240
16275
|
property: 'background',
|
|
16241
16276
|
variant: variant,
|
|
16242
16277
|
contrast: contrast,
|
|
16243
16278
|
intent: intent,
|
|
16244
16279
|
state: 'active'
|
|
16245
16280
|
})),
|
|
16246
|
-
activeBorderColor:
|
|
16281
|
+
activeBorderColor: getIn(theme.colors, getColorToken$1({
|
|
16247
16282
|
property: 'border',
|
|
16248
16283
|
variant: variant,
|
|
16249
16284
|
contrast: contrast,
|
|
16250
16285
|
intent: intent,
|
|
16251
16286
|
state: 'active'
|
|
16252
16287
|
})),
|
|
16253
|
-
focusBackgroundColor:
|
|
16288
|
+
focusBackgroundColor: getIn(theme.colors, getColorToken$1({
|
|
16254
16289
|
property: 'background',
|
|
16255
16290
|
variant: variant,
|
|
16256
16291
|
contrast: contrast,
|
|
16257
16292
|
intent: intent,
|
|
16258
16293
|
state: 'focus'
|
|
16259
16294
|
})),
|
|
16260
|
-
focusBorderColor:
|
|
16295
|
+
focusBorderColor: getIn(theme.colors, getColorToken$1({
|
|
16261
16296
|
property: 'border',
|
|
16262
16297
|
variant: variant,
|
|
16263
16298
|
contrast: contrast,
|
|
16264
16299
|
intent: intent,
|
|
16265
16300
|
state: 'focus'
|
|
16266
16301
|
})),
|
|
16267
|
-
focusRingColor:
|
|
16302
|
+
focusRingColor: getIn(theme.colors, 'brand.primary.400'),
|
|
16268
16303
|
borderWidth: makeBorderSize(theme.border.width.thin),
|
|
16269
16304
|
borderRadius: makeBorderSize(theme.border.radius.small),
|
|
16270
16305
|
motionDuration: 'duration.xquick',
|
|
16271
16306
|
motionEasing: 'easing.standard.effective'
|
|
16272
16307
|
};
|
|
16273
16308
|
if (isDisabled) {
|
|
16274
|
-
var disabledBackgroundColor =
|
|
16309
|
+
var disabledBackgroundColor = getIn(theme.colors, getColorToken$1({
|
|
16275
16310
|
property: 'background',
|
|
16276
16311
|
variant: variant,
|
|
16277
16312
|
contrast: contrast,
|
|
16278
16313
|
intent: intent,
|
|
16279
16314
|
state: 'disabled'
|
|
16280
16315
|
}));
|
|
16281
|
-
var disabledBorderColor =
|
|
16316
|
+
var disabledBorderColor = getIn(theme.colors, getColorToken$1({
|
|
16282
16317
|
property: 'border',
|
|
16283
16318
|
variant: variant,
|
|
16284
16319
|
contrast: contrast,
|
|
@@ -16538,8 +16573,8 @@ var StyledLink$1 = /*#__PURE__*/styled.button.withConfig({
|
|
|
16538
16573
|
display: 'inline-block',
|
|
16539
16574
|
borderRadius: makeBorderSize(props.theme.border.radius.small),
|
|
16540
16575
|
transitionProperty: 'box-shadow',
|
|
16541
|
-
transitionTimingFunction:
|
|
16542
|
-
transitionDuration: castWebType(makeMotionTime(
|
|
16576
|
+
transitionTimingFunction: getIn(props.theme.motion, props.motionEasing),
|
|
16577
|
+
transitionDuration: castWebType(makeMotionTime(getIn(props.theme.motion, props.motionDuration))),
|
|
16543
16578
|
'.content-container': {
|
|
16544
16579
|
width: 'max-content',
|
|
16545
16580
|
borderRadius: makeBorderSize(props.theme.border.radius.small)
|
|
@@ -16551,8 +16586,8 @@ var StyledLink$1 = /*#__PURE__*/styled.button.withConfig({
|
|
|
16551
16586
|
},
|
|
16552
16587
|
'*': {
|
|
16553
16588
|
transitionProperty: 'color, fill',
|
|
16554
|
-
transitionTimingFunction:
|
|
16555
|
-
transitionDuration: castWebType(makeMotionTime(
|
|
16589
|
+
transitionTimingFunction: getIn(props.theme.motion, props.motionEasing),
|
|
16590
|
+
transitionDuration: castWebType(makeMotionTime(getIn(props.theme.motion, props.motionDuration)))
|
|
16556
16591
|
}
|
|
16557
16592
|
}, styledPropsCSSObject);
|
|
16558
16593
|
});
|
|
@@ -16660,7 +16695,7 @@ var getProps = function getProps(_ref2) {
|
|
|
16660
16695
|
isDisabled: isDisabled,
|
|
16661
16696
|
isVisited: isVisited
|
|
16662
16697
|
}),
|
|
16663
|
-
focusRingColor:
|
|
16698
|
+
focusRingColor: getIn(theme.colors, 'brand.primary.400'),
|
|
16664
16699
|
motionDuration: 'duration.2xquick',
|
|
16665
16700
|
motionEasing: 'easing.standard.effective',
|
|
16666
16701
|
cursor: isButton && isDisabled ? 'not-allowed' : 'pointer',
|
|
@@ -17041,7 +17076,7 @@ var getStyledBadgeStyles = function getStyledBadgeStyles(_ref) {
|
|
|
17041
17076
|
var theme = _ref.theme,
|
|
17042
17077
|
backgroundColor = _ref.backgroundColor;
|
|
17043
17078
|
return {
|
|
17044
|
-
backgroundColor:
|
|
17079
|
+
backgroundColor: getIn(theme.colors, backgroundColor),
|
|
17045
17080
|
borderRadius: makeBorderSize(theme.border.radius.max),
|
|
17046
17081
|
display: 'flex',
|
|
17047
17082
|
flexWrap: 'nowrap'
|
|
@@ -17622,7 +17657,7 @@ var getStyledCounterStyles = function getStyledCounterStyles(_ref) {
|
|
|
17622
17657
|
platform = _ref.platform,
|
|
17623
17658
|
backgroundColor = _ref.backgroundColor;
|
|
17624
17659
|
return {
|
|
17625
|
-
backgroundColor:
|
|
17660
|
+
backgroundColor: getIn(theme.colors, backgroundColor),
|
|
17626
17661
|
borderRadius: makeBorderSize(theme.border.radius.max),
|
|
17627
17662
|
maxWidth: makeSize(maxWidth[platform]),
|
|
17628
17663
|
display: 'flex',
|
|
@@ -18292,6 +18327,8 @@ function debounce$1(func, wait, options) {
|
|
|
18292
18327
|
|
|
18293
18328
|
var debounce_1 = debounce$1;
|
|
18294
18329
|
|
|
18330
|
+
var debounce$2 = /*@__PURE__*/getDefaultExportFromCjs(debounce_1);
|
|
18331
|
+
|
|
18295
18332
|
var debounce = debounce_1,
|
|
18296
18333
|
isObject = isObject_1;
|
|
18297
18334
|
|
|
@@ -18362,6 +18399,8 @@ function throttle(func, wait, options) {
|
|
|
18362
18399
|
|
|
18363
18400
|
var throttle_1 = throttle;
|
|
18364
18401
|
|
|
18402
|
+
var throttle$1 = /*@__PURE__*/getDefaultExportFromCjs(throttle_1);
|
|
18403
|
+
|
|
18365
18404
|
var CarouselContext = /*#__PURE__*/React__default.createContext(null);
|
|
18366
18405
|
var useCarouselContext = function useCarouselContext() {
|
|
18367
18406
|
var state = React__default.useContext(CarouselContext);
|
|
@@ -18702,7 +18741,7 @@ var CarouselContainer = /*#__PURE__*/styled(BaseBox).withConfig({
|
|
|
18702
18741
|
scrollOverlayColor = _ref2.scrollOverlayColor,
|
|
18703
18742
|
isScrollAtStart = _ref2.isScrollAtStart,
|
|
18704
18743
|
isScrollAtEnd = _ref2.isScrollAtEnd;
|
|
18705
|
-
var gradientStop1 =
|
|
18744
|
+
var gradientStop1 = getIn(theme.colors, scrollOverlayColor);
|
|
18706
18745
|
var gradientStop2 = 'hsla(0, 0%, 100%, 0)';
|
|
18707
18746
|
var overlayCommonStyle = {
|
|
18708
18747
|
content: "''",
|
|
@@ -18756,7 +18795,8 @@ var CarouselBody = /*#__PURE__*/React__default.forwardRef(function (_ref3, ref)
|
|
|
18756
18795
|
isScrollAtStart = _ref3.isScrollAtStart,
|
|
18757
18796
|
isScrollAtEnd = _ref3.isScrollAtEnd,
|
|
18758
18797
|
carouselItemAlignment = _ref3.carouselItemAlignment,
|
|
18759
|
-
accessibilityLabel = _ref3.accessibilityLabel
|
|
18798
|
+
accessibilityLabel = _ref3.accessibilityLabel,
|
|
18799
|
+
startEndMargin = _ref3.startEndMargin;
|
|
18760
18800
|
return /*#__PURE__*/jsx(CarouselContainer, _objectSpread$10(_objectSpread$10({
|
|
18761
18801
|
tabIndex: 0,
|
|
18762
18802
|
ref: ref,
|
|
@@ -18775,12 +18815,26 @@ var CarouselBody = /*#__PURE__*/React__default.forwardRef(function (_ref3, ref)
|
|
|
18775
18815
|
label: accessibilityLabel
|
|
18776
18816
|
})), {}, {
|
|
18777
18817
|
children: React__default.Children.map(children, function (child, index) {
|
|
18778
|
-
|
|
18818
|
+
var shouldHaveStartSpacing = shouldAddStartEndSpacing && index === 0;
|
|
18819
|
+
var shouldHaveEndSpacing = shouldAddStartEndSpacing && index === totalSlides - 1;
|
|
18820
|
+
var carouselItemNode = /*#__PURE__*/React__default.cloneElement(child, {
|
|
18779
18821
|
index: index,
|
|
18780
18822
|
id: "".concat(idPrefix, "-carousel-item-").concat(index),
|
|
18781
|
-
shouldHaveStartSpacing:
|
|
18782
|
-
shouldHaveEndSpacing:
|
|
18823
|
+
shouldHaveStartSpacing: shouldHaveStartSpacing,
|
|
18824
|
+
shouldHaveEndSpacing: shouldHaveEndSpacing
|
|
18783
18825
|
});
|
|
18826
|
+
|
|
18827
|
+
// Safari doesn't include the margin in the bounding box calculation
|
|
18828
|
+
// Thus have to add an additional box to the end of the carousel to ensure we can scroll past the last item
|
|
18829
|
+
// https://stackoverflow.com/questions/75509058/safari-does-not-include-margins-to-the-scroll-width
|
|
18830
|
+
if (shouldHaveEndSpacing) {
|
|
18831
|
+
return /*#__PURE__*/jsxs(Fragment, {
|
|
18832
|
+
children: [carouselItemNode, /*#__PURE__*/jsx(BaseBox, {
|
|
18833
|
+
minWidth: "".concat(startEndMargin, "px")
|
|
18834
|
+
})]
|
|
18835
|
+
});
|
|
18836
|
+
}
|
|
18837
|
+
return carouselItemNode;
|
|
18784
18838
|
})
|
|
18785
18839
|
}));
|
|
18786
18840
|
});
|
|
@@ -18928,7 +18982,7 @@ var Carousel = function Carousel(_ref4) {
|
|
|
18928
18982
|
if (isMobile) return;
|
|
18929
18983
|
var carouselContainer = containerRef.current;
|
|
18930
18984
|
if (!carouselContainer) return;
|
|
18931
|
-
var handleScroll =
|
|
18985
|
+
var handleScroll = throttle$1(function () {
|
|
18932
18986
|
var scrollWidth = (carouselContainer === null || carouselContainer === void 0 ? void 0 : carouselContainer.scrollWidth) - carouselContainer.offsetWidth;
|
|
18933
18987
|
setScrollStart((carouselContainer === null || carouselContainer === void 0 ? void 0 : carouselContainer.scrollLeft) === 0);
|
|
18934
18988
|
setScrollEnd((carouselContainer === null || carouselContainer === void 0 ? void 0 : carouselContainer.scrollLeft) === scrollWidth);
|
|
@@ -18945,7 +18999,7 @@ var Carousel = function Carousel(_ref4) {
|
|
|
18945
18999
|
if (!isMobile) return;
|
|
18946
19000
|
var carouselContainer = containerRef.current;
|
|
18947
19001
|
if (!carouselContainer) return;
|
|
18948
|
-
var handleScroll =
|
|
19002
|
+
var handleScroll = debounce$2(function () {
|
|
18949
19003
|
// carousel bounding box
|
|
18950
19004
|
var carouselBB = carouselContainer.getBoundingClientRect();
|
|
18951
19005
|
// By default we check the far left side of the screen
|
|
@@ -19053,6 +19107,7 @@ var Carousel = function Carousel(_ref4) {
|
|
|
19053
19107
|
onClick: goToPreviousSlide
|
|
19054
19108
|
}) : null, /*#__PURE__*/jsx(CarouselBody, {
|
|
19055
19109
|
idPrefix: id,
|
|
19110
|
+
startEndMargin: startEndMargin,
|
|
19056
19111
|
totalSlides: totalNumberOfSlides,
|
|
19057
19112
|
shouldAddStartEndSpacing: shouldAddStartEndSpacing,
|
|
19058
19113
|
scrollOverlayColor: scrollOverlayColor,
|
|
@@ -19101,7 +19156,6 @@ var StyledCarouselItem = /*#__PURE__*/styled(BaseBox).withConfig({
|
|
|
19101
19156
|
isResponsive = _ref.isResponsive,
|
|
19102
19157
|
shouldAddStartEndSpacing = _ref.shouldAddStartEndSpacing,
|
|
19103
19158
|
shouldHaveStartSpacing = _ref.shouldHaveStartSpacing,
|
|
19104
|
-
shouldHaveEndSpacing = _ref.shouldHaveEndSpacing,
|
|
19105
19159
|
theme = _ref.theme;
|
|
19106
19160
|
var _useBreakpoint = useBreakpoint({
|
|
19107
19161
|
breakpoints: theme.breakpoints
|
|
@@ -19119,8 +19173,7 @@ var StyledCarouselItem = /*#__PURE__*/styled(BaseBox).withConfig({
|
|
|
19119
19173
|
}, isResponsive && {
|
|
19120
19174
|
width: '100%',
|
|
19121
19175
|
scrollSnapAlign: isMobile || !shouldAddStartEndSpacing ? 'start' : 'center',
|
|
19122
|
-
marginLeft: shouldHaveStartSpacing ? '100%' : 0
|
|
19123
|
-
marginRight: shouldHaveEndSpacing ? '100%' : 0
|
|
19176
|
+
marginLeft: shouldHaveStartSpacing ? '100%' : 0
|
|
19124
19177
|
});
|
|
19125
19178
|
});
|
|
19126
19179
|
var CarouselItem = function CarouselItem(_ref2) {
|
|
@@ -19327,10 +19380,10 @@ var getAnimatedChipStyles = function getAnimatedChipStyles(_ref) {
|
|
|
19327
19380
|
isDisabled = _ref.isDisabled,
|
|
19328
19381
|
borderColor = _ref.borderColor;
|
|
19329
19382
|
return {
|
|
19330
|
-
backgroundColor: isDisabled ? 'transparent' :
|
|
19383
|
+
backgroundColor: isDisabled ? 'transparent' : getIn(theme.colors, 'surface.background.level2.lowContrast'),
|
|
19331
19384
|
borderRadius: makeBorderSize(theme.border.radius.max),
|
|
19332
|
-
borderColor:
|
|
19333
|
-
borderWidth:
|
|
19385
|
+
borderColor: getIn(theme.colors, borderColor),
|
|
19386
|
+
borderWidth: getIn(theme, 'border.width.thin'),
|
|
19334
19387
|
display: 'flex',
|
|
19335
19388
|
flexWrap: 'nowrap',
|
|
19336
19389
|
flexDirection: 'row',
|
|
@@ -19348,8 +19401,8 @@ var AnimatedChip = /*#__PURE__*/styled(BaseBox).withConfig({
|
|
|
19348
19401
|
displayName: "AnimatedChipweb__AnimatedChip",
|
|
19349
19402
|
componentId: "sc-1xiynj1-0"
|
|
19350
19403
|
})(function (props) {
|
|
19351
|
-
var easing =
|
|
19352
|
-
var duration = castWebType(makeMotionTime(
|
|
19404
|
+
var easing = getIn(props.theme, chipMotionTokens.easing);
|
|
19405
|
+
var duration = castWebType(makeMotionTime(getIn(props.theme, chipMotionTokens.duration)));
|
|
19353
19406
|
return _objectSpread$_(_objectSpread$_({}, getAnimatedChipStyles(props)), {}, {
|
|
19354
19407
|
width: 'fit-content',
|
|
19355
19408
|
transform: "scale(".concat(props.isPressed ? '0.92' : '1', ")"),
|
|
@@ -19369,14 +19422,14 @@ var StyledChipWrapper = /*#__PURE__*/styled(BaseBox).withConfig({
|
|
|
19369
19422
|
isChecked = _ref.isChecked,
|
|
19370
19423
|
isDisabled = _ref.isDisabled,
|
|
19371
19424
|
intent = _ref.intent;
|
|
19372
|
-
var easing =
|
|
19373
|
-
var duration = castWebType(makeMotionTime(
|
|
19425
|
+
var easing = getIn(theme, chipMotionTokens.easing);
|
|
19426
|
+
var duration = castWebType(makeMotionTime(getIn(theme, chipMotionTokens.duration)));
|
|
19374
19427
|
return _objectSpread$Z({
|
|
19375
19428
|
display: 'flex',
|
|
19376
|
-
borderColor: isChecked ?
|
|
19429
|
+
borderColor: isChecked ? getIn(theme.colors, borderColor) : 'transparent'
|
|
19377
19430
|
}, !isDisabled && {
|
|
19378
19431
|
'&:hover': {
|
|
19379
|
-
backgroundColor:
|
|
19432
|
+
backgroundColor: getIn(theme.colors, chipColorTokens.background[isChecked && intent ? intent : 'unchecked'].hover),
|
|
19380
19433
|
transitionTimingFunction: easing,
|
|
19381
19434
|
transitionDuration: duration
|
|
19382
19435
|
}
|
|
@@ -19484,7 +19537,7 @@ var _Chip = function _Chip(_ref, ref) {
|
|
|
19484
19537
|
}),
|
|
19485
19538
|
matchedDeviceType = _useBreakpoint.matchedDeviceType;
|
|
19486
19539
|
var groupProps = useChipGroupContext();
|
|
19487
|
-
!
|
|
19540
|
+
!isEmpty$1(groupProps);
|
|
19488
19541
|
var _React$useState = React__default.useState(false),
|
|
19489
19542
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
19490
19543
|
isPressed = _React$useState2[0],
|
|
@@ -19663,7 +19716,7 @@ var useChipGroup = function useChipGroup(_ref) {
|
|
|
19663
19716
|
value: checkedValues,
|
|
19664
19717
|
isChecked: function isChecked(value) {
|
|
19665
19718
|
if (selectionType === 'single') {
|
|
19666
|
-
if (
|
|
19719
|
+
if (isUndefined$1(value) || isUndefined$1(checkedValues)) return false;
|
|
19667
19720
|
return checkedValues[0] === value;
|
|
19668
19721
|
}
|
|
19669
19722
|
return checkedValues.includes(value);
|
|
@@ -19907,10 +19960,10 @@ var _Dropdown = function _Dropdown(_ref) {
|
|
|
19907
19960
|
}, [onDismiss]);
|
|
19908
19961
|
React__default.Children.map(children, function (child) {
|
|
19909
19962
|
if ( /*#__PURE__*/React__default.isValidElement(child)) {
|
|
19910
|
-
if (isValidAllowedChildren(child, componentIds
|
|
19963
|
+
if (isValidAllowedChildren(child, componentIds.triggers.SelectInput)) {
|
|
19911
19964
|
dropdownTriggerer.current = 'SelectInput';
|
|
19912
19965
|
}
|
|
19913
|
-
if (isValidAllowedChildren(child, componentIds
|
|
19966
|
+
if (isValidAllowedChildren(child, componentIds.triggers.DropdownButton)) {
|
|
19914
19967
|
dropdownTriggerer.current = 'DropdownButton';
|
|
19915
19968
|
}
|
|
19916
19969
|
}
|
|
@@ -19980,7 +20033,7 @@ var _Dropdown = function _Dropdown(_ref) {
|
|
|
19980
20033
|
});
|
|
19981
20034
|
};
|
|
19982
20035
|
var Dropdown = /*#__PURE__*/assignWithoutSideEffects(_Dropdown, {
|
|
19983
|
-
componentId: componentIds
|
|
20036
|
+
componentId: componentIds.Dropdown
|
|
19984
20037
|
});
|
|
19985
20038
|
|
|
19986
20039
|
var StyledDropdownOverlay = /*#__PURE__*/styled(BaseBox).withConfig({
|
|
@@ -20098,7 +20151,7 @@ var _DropdownOverlay = function _DropdownOverlay(_ref) {
|
|
|
20098
20151
|
});
|
|
20099
20152
|
};
|
|
20100
20153
|
var DropdownOverlay = /*#__PURE__*/assignWithoutSideEffects(_DropdownOverlay, {
|
|
20101
|
-
componentId: componentIds
|
|
20154
|
+
componentId: componentIds.DropdownOverlay
|
|
20102
20155
|
});
|
|
20103
20156
|
|
|
20104
20157
|
var _excluded$n = ["children", "icon", "iconPosition", "isDisabled", "isFullWidth", "isLoading", "onClick", "onBlur", "onKeyDown", "size", "type", "variant", "accessibilityLabel", "testID"];
|
|
@@ -20193,7 +20246,7 @@ var _DropdownButton = function _DropdownButton(_ref) {
|
|
|
20193
20246
|
);
|
|
20194
20247
|
};
|
|
20195
20248
|
var DropdownButton = /*#__PURE__*/assignWithoutSideEffects(_DropdownButton, {
|
|
20196
|
-
componentId: componentIds
|
|
20249
|
+
componentId: componentIds.triggers.DropdownButton
|
|
20197
20250
|
});
|
|
20198
20251
|
|
|
20199
20252
|
var _excluded$m = ["children", "icon", "iconPosition", "onClick", "onBlur", "onKeyDown", "isDisabled", "href", "target", "rel", "accessibilityLabel", "size", "testID", "hitSlop", "htmlTitle"];
|
|
@@ -20284,7 +20337,7 @@ var _DropdownLink = function _DropdownLink(_ref) {
|
|
|
20284
20337
|
);
|
|
20285
20338
|
};
|
|
20286
20339
|
var DropdownLink = /*#__PURE__*/assignWithoutSideEffects(_DropdownLink, {
|
|
20287
|
-
componentId: componentIds
|
|
20340
|
+
componentId: componentIds.triggers.DropdownLink
|
|
20288
20341
|
});
|
|
20289
20342
|
|
|
20290
20343
|
function ownKeys$S(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; }
|
|
@@ -21692,7 +21745,7 @@ var _TextInput = function _TextInput(_ref2, ref) {
|
|
|
21692
21745
|
icon: CloseIcon,
|
|
21693
21746
|
onClick: function onClick() {
|
|
21694
21747
|
var _textInputRef$current;
|
|
21695
|
-
if (
|
|
21748
|
+
if (isEmpty$1(value) && textInputRef.current) {
|
|
21696
21749
|
// when the input field is uncontrolled take the ref and clear the input and then call the onClearButtonClick function
|
|
21697
21750
|
if (isReactNative$2(textInputRef.current)) {
|
|
21698
21751
|
textInputRef.current.clear();
|
|
@@ -21946,7 +21999,7 @@ var _TextArea = function _TextArea(_ref, ref) {
|
|
|
21946
21999
|
accessibilityLabel: "Clear textarea content",
|
|
21947
22000
|
onClick: function onClick() {
|
|
21948
22001
|
var _inputRef$current;
|
|
21949
|
-
if (
|
|
22002
|
+
if (isEmpty$1(value) && inputRef.current) {
|
|
21950
22003
|
// when the input field is uncontrolled take the ref and clear the input and then call the onClearButtonClick function
|
|
21951
22004
|
if (isReactNative$1(inputRef.current)) {
|
|
21952
22005
|
inputRef.current.clear();
|
|
@@ -22119,13 +22172,13 @@ var OTPInput = function OTPInput(_ref) {
|
|
|
22119
22172
|
*/
|
|
22120
22173
|
otpValue.forEach(function (otp, index) {
|
|
22121
22174
|
// Set inputType as 'password' only when a value is entered when isMasked is set
|
|
22122
|
-
if (!
|
|
22175
|
+
if (!isEmpty$1(otp) && !inputType[index] && isMasked) {
|
|
22123
22176
|
var newInputType = Array.from(inputType);
|
|
22124
22177
|
newInputType[index] = 'password';
|
|
22125
22178
|
setInputType(newInputType);
|
|
22126
22179
|
}
|
|
22127
22180
|
// Cleanup the inputType array whenever the value is empty but inputType[index] is set
|
|
22128
|
-
if (
|
|
22181
|
+
if (isEmpty$1(otp) && inputType[index]) {
|
|
22129
22182
|
var _newInputType = Array.from(inputType);
|
|
22130
22183
|
_newInputType[index] = undefined;
|
|
22131
22184
|
setInputType(_newInputType);
|
|
@@ -22423,7 +22476,7 @@ var _SelectInput = function _SelectInput(props, ref) {
|
|
|
22423
22476
|
var selectValues = function selectValues(valuesToSelect) {
|
|
22424
22477
|
if (options.length > 0) {
|
|
22425
22478
|
// we use empty `''` for clearing the input
|
|
22426
|
-
if (
|
|
22479
|
+
if (isEmpty$1(valuesToSelect)) {
|
|
22427
22480
|
setSelectedIndices([]);
|
|
22428
22481
|
} else if (typeof valuesToSelect === 'string') {
|
|
22429
22482
|
// single select control
|
|
@@ -22589,7 +22642,7 @@ var _SelectInput = function _SelectInput(props, ref) {
|
|
|
22589
22642
|
*/
|
|
22590
22643
|
|
|
22591
22644
|
var SelectInput = /*#__PURE__*/assignWithoutSideEffects( /*#__PURE__*/React__default.forwardRef(_SelectInput), {
|
|
22592
|
-
componentId: componentIds
|
|
22645
|
+
componentId: componentIds.triggers.SelectInput
|
|
22593
22646
|
});
|
|
22594
22647
|
|
|
22595
22648
|
var _excluded$c = ["accessibilityLabel", "children", "size", "intent", "testID"];
|
|
@@ -22715,7 +22768,7 @@ var StyledOrderedList = /*#__PURE__*/styled(OrderedList).withConfig({
|
|
|
22715
22768
|
var marginTop = _ref.marginTop,
|
|
22716
22769
|
theme = _ref.theme;
|
|
22717
22770
|
return {
|
|
22718
|
-
marginTop: marginTop ? makeSpace(
|
|
22771
|
+
marginTop: marginTop ? makeSpace(getIn(theme, marginTop)) : undefined
|
|
22719
22772
|
};
|
|
22720
22773
|
});
|
|
22721
22774
|
var StyledUnorderedList = /*#__PURE__*/styled(UnorderedList).withConfig({
|
|
@@ -22725,7 +22778,7 @@ var StyledUnorderedList = /*#__PURE__*/styled(UnorderedList).withConfig({
|
|
|
22725
22778
|
var marginTop = _ref2.marginTop,
|
|
22726
22779
|
theme = _ref2.theme;
|
|
22727
22780
|
return {
|
|
22728
|
-
marginTop: marginTop ? makeSpace(
|
|
22781
|
+
marginTop: marginTop ? makeSpace(getIn(theme, marginTop)) : undefined
|
|
22729
22782
|
};
|
|
22730
22783
|
});
|
|
22731
22784
|
|
|
@@ -23087,7 +23140,7 @@ var StyledListItem = /*#__PURE__*/styled(ListItemElement).withConfig({
|
|
|
23087
23140
|
variant = _ref.variant,
|
|
23088
23141
|
hasIcon = _ref.hasIcon;
|
|
23089
23142
|
return {
|
|
23090
|
-
marginLeft: level ?
|
|
23143
|
+
marginLeft: level ? getIn(theme, listItemMarginLeft["".concat(variant).concat(variant === 'unordered' && hasIcon ? 'WithIcon' : '')][level]) : 0
|
|
23091
23144
|
};
|
|
23092
23145
|
});
|
|
23093
23146
|
var ListItemContentChildren = function ListItemContentChildren(_ref2) {
|
|
@@ -23180,7 +23233,7 @@ var _ListItem = function _ListItem(_ref3) {
|
|
|
23180
23233
|
alignSelf: "flex-start",
|
|
23181
23234
|
alignItems: "center",
|
|
23182
23235
|
borderRadius: variant === 'ordered-filled' ? 'max' : undefined,
|
|
23183
|
-
backgroundColor: variant === 'ordered-filled' ?
|
|
23236
|
+
backgroundColor: variant === 'ordered-filled' ? getIn(theme, 'colors.brand.gray.a100.lowContrast') : undefined,
|
|
23184
23237
|
children: /*#__PURE__*/jsx(Text, {
|
|
23185
23238
|
variant: "body",
|
|
23186
23239
|
type: "subtle",
|
|
@@ -23665,6 +23718,8 @@ function clamp$1(number, lower, upper) {
|
|
|
23665
23718
|
|
|
23666
23719
|
var clamp_1 = clamp$1;
|
|
23667
23720
|
|
|
23721
|
+
var clamp$2 = /*@__PURE__*/getDefaultExportFromCjs(clamp_1);
|
|
23722
|
+
|
|
23668
23723
|
var indeterminateAnimation = {
|
|
23669
23724
|
scaleXInitial: 1,
|
|
23670
23725
|
scaleXMid: 5,
|
|
@@ -23695,7 +23750,7 @@ var BoxWithIndeterminateAnimation = /*#__PURE__*/styled(BaseBox).withConfig({
|
|
|
23695
23750
|
})(function (_ref2) {
|
|
23696
23751
|
var theme = _ref2.theme,
|
|
23697
23752
|
indeterminateMotionDuration = _ref2.indeterminateMotionDuration;
|
|
23698
|
-
var duration = castWebType(makeMotionTime(
|
|
23753
|
+
var duration = castWebType(makeMotionTime(getIn(theme.motion, indeterminateMotionDuration)));
|
|
23699
23754
|
var easing = 'linear'; // TODO: Add this in motion tokens
|
|
23700
23755
|
|
|
23701
23756
|
return css(["animation:", " ", " ", " infinite;position:absolute;width:", ";height:100%;"], slideAndScaleKeyframes, duration, easing, indeterminateAnimation.fillWidth);
|
|
@@ -23718,9 +23773,9 @@ var IndeterminatePulseAnimation = /*#__PURE__*/styled(BoxWithIndeterminateAnimat
|
|
|
23718
23773
|
pulseMotionDelay = _ref4.pulseMotionDelay,
|
|
23719
23774
|
motionEasing = _ref4.motionEasing,
|
|
23720
23775
|
variant = _ref4.variant;
|
|
23721
|
-
var duration = castWebType(makeMotionTime(
|
|
23722
|
-
var easing = castWebType(
|
|
23723
|
-
var delay = castWebType(makeMotionTime(
|
|
23776
|
+
var duration = castWebType(makeMotionTime(getIn(theme.motion, pulseMotionDuration)));
|
|
23777
|
+
var easing = castWebType(getIn(theme.motion, motionEasing));
|
|
23778
|
+
var delay = castWebType(makeMotionTime(getIn(theme.motion, pulseMotionDelay)));
|
|
23724
23779
|
return variant === 'progress' ? getPulseAnimationStyles({
|
|
23725
23780
|
duration: duration,
|
|
23726
23781
|
easing: easing,
|
|
@@ -23736,8 +23791,8 @@ var BoxWithProgressFillTransition = /*#__PURE__*/styled(BaseBox).withConfig({
|
|
|
23736
23791
|
motionEasing = _ref5.motionEasing;
|
|
23737
23792
|
return {
|
|
23738
23793
|
transitionProperty: 'width',
|
|
23739
|
-
transitionDuration: castWebType(makeMotionTime(
|
|
23740
|
-
transitionTimingFunction: castWebType(
|
|
23794
|
+
transitionDuration: castWebType(makeMotionTime(getIn(theme.motion, fillMotionDuration))),
|
|
23795
|
+
transitionTimingFunction: castWebType(getIn(theme.motion, motionEasing))
|
|
23741
23796
|
};
|
|
23742
23797
|
});
|
|
23743
23798
|
var DeterminateFilledContainer = /*#__PURE__*/styled(BoxWithProgressFillTransition).withConfig({
|
|
@@ -23761,9 +23816,9 @@ var DeterminatePulseAnimation = /*#__PURE__*/styled(BoxWithProgressFillTransitio
|
|
|
23761
23816
|
pulseMotionDelay = _ref7.pulseMotionDelay,
|
|
23762
23817
|
motionEasing = _ref7.motionEasing,
|
|
23763
23818
|
variant = _ref7.variant;
|
|
23764
|
-
var duration = castWebType(makeMotionTime(
|
|
23765
|
-
var easing = castWebType(
|
|
23766
|
-
var delay = castWebType(makeMotionTime(
|
|
23819
|
+
var duration = castWebType(makeMotionTime(getIn(theme.motion, pulseMotionDuration)));
|
|
23820
|
+
var easing = castWebType(getIn(theme.motion, motionEasing));
|
|
23821
|
+
var delay = castWebType(makeMotionTime(getIn(theme.motion, pulseMotionDelay)));
|
|
23767
23822
|
return variant === 'progress' ? getPulseAnimationStyles({
|
|
23768
23823
|
duration: duration,
|
|
23769
23824
|
easing: easing,
|
|
@@ -23834,7 +23889,7 @@ var ProgressBar = function ProgressBar(_ref) {
|
|
|
23834
23889
|
var filledBackgroundColor = intent ? theme.colors.feedback.background[intent].highContrast : theme.colors.brand.primary[500];
|
|
23835
23890
|
var hasLabel = label && ((_label$trim = label.trim()) === null || _label$trim === void 0 ? void 0 : _label$trim.length) > 0;
|
|
23836
23891
|
var isMeter = variant === 'meter';
|
|
23837
|
-
var progressValue =
|
|
23892
|
+
var progressValue = clamp$2(value, min, max);
|
|
23838
23893
|
var percentageProgressValue = Math.floor((progressValue - min) * 100 / (max - min));
|
|
23839
23894
|
var shouldShowPercentage = showPercentage && !isMeter && !isIndeterminate;
|
|
23840
23895
|
var accessibilityProps = {
|
|
@@ -24015,8 +24070,8 @@ var getRadioIconWrapperStyles = function getRadioIconWrapperStyles(_ref) {
|
|
|
24015
24070
|
var checked = isChecked ? 'checked' : 'unchecked';
|
|
24016
24071
|
var background = radioIconColors.variants[variant].background[checked];
|
|
24017
24072
|
var border = radioIconColors.variants[variant].border[checked];
|
|
24018
|
-
var backgroundColor = background === 'transparent' ? background :
|
|
24019
|
-
var borderColor = border === 'transparent' ? border :
|
|
24073
|
+
var backgroundColor = background === 'transparent' ? background : getIn(theme, background);
|
|
24074
|
+
var borderColor = border === 'transparent' ? border : getIn(theme, border);
|
|
24020
24075
|
return _objectSpread$t({
|
|
24021
24076
|
position: 'relative',
|
|
24022
24077
|
display: 'flex',
|
|
@@ -24044,6 +24099,8 @@ var RadioIconWrapper = /*#__PURE__*/styled.div.withConfig({
|
|
|
24044
24099
|
});
|
|
24045
24100
|
|
|
24046
24101
|
/* eslint-disable react/jsx-no-useless-fragment */
|
|
24102
|
+
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
|
24103
|
+
/* eslint-disable @typescript-eslint/explicit-function-return-type */
|
|
24047
24104
|
var scaleIn = /*#__PURE__*/keyframes(["from{transform:scale(.3);opacity:0;}to{transform:scale(1);opacity:1;}"]);
|
|
24048
24105
|
var fadeOut = /*#__PURE__*/keyframes(["from{transform:scale(1);opacity:1;}to{transform:scale(1);opacity:0;}"]);
|
|
24049
24106
|
var AnimatedFade = /*#__PURE__*/styled.div.withConfig({
|
|
@@ -24117,7 +24174,7 @@ var RadioIcon = function RadioIcon(_ref2) {
|
|
|
24117
24174
|
var variant = 'default';
|
|
24118
24175
|
if (isDisabled) variant = 'disabled';
|
|
24119
24176
|
if (isNegative) variant = 'negative';
|
|
24120
|
-
var dotColor =
|
|
24177
|
+
var dotColor = getIn(theme, radioIconColors.variants[variant].dot[state]);
|
|
24121
24178
|
return /*#__PURE__*/jsx(RadioIconWrapper, _objectSpread$s(_objectSpread$s({
|
|
24122
24179
|
size: size,
|
|
24123
24180
|
isDisabled: isDisabled,
|
|
@@ -24141,6 +24198,7 @@ var RadioIcon = function RadioIcon(_ref2) {
|
|
|
24141
24198
|
};
|
|
24142
24199
|
|
|
24143
24200
|
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
|
24201
|
+
/* eslint-disable @typescript-eslint/explicit-function-return-type */
|
|
24144
24202
|
var RadioGroupContext = /*#__PURE__*/React__default.createContext({});
|
|
24145
24203
|
var RadioGroupProvider = RadioGroupContext.Provider;
|
|
24146
24204
|
var useRadioGroupContext = function useRadioGroupContext() {
|
|
@@ -24162,7 +24220,7 @@ var _Radio = function _Radio(_ref, ref) {
|
|
|
24162
24220
|
testID = _ref.testID,
|
|
24163
24221
|
styledProps = _objectWithoutProperties$1(_ref, _excluded$8);
|
|
24164
24222
|
var groupProps = useRadioGroupContext();
|
|
24165
|
-
!
|
|
24223
|
+
!isEmpty$1(groupProps);
|
|
24166
24224
|
var isChecked = groupProps === null || groupProps === void 0 ? void 0 : (_groupProps$state = groupProps.state) === null || _groupProps$state === void 0 ? void 0 : _groupProps$state.isChecked(value);
|
|
24167
24225
|
var defaultChecked = (groupProps === null || groupProps === void 0 ? void 0 : groupProps.defaultValue) === undefined ? undefined : (groupProps === null || groupProps === void 0 ? void 0 : groupProps.defaultValue) === value;
|
|
24168
24226
|
var validationState = groupProps === null || groupProps === void 0 ? void 0 : groupProps.validationState;
|
|
@@ -24297,7 +24355,7 @@ var useRadioGroup = function useRadioGroup(_ref) {
|
|
|
24297
24355
|
setValue(undefined);
|
|
24298
24356
|
},
|
|
24299
24357
|
isChecked: function isChecked(v) {
|
|
24300
|
-
if (
|
|
24358
|
+
if (isUndefined$1(v) || isUndefined$1(checkedValue)) return false;
|
|
24301
24359
|
return checkedValue === v;
|
|
24302
24360
|
}
|
|
24303
24361
|
};
|
|
@@ -24497,6 +24555,8 @@ function isNumber(value) {
|
|
|
24497
24555
|
|
|
24498
24556
|
var isNumber_1 = isNumber;
|
|
24499
24557
|
|
|
24558
|
+
var isNumber$1 = /*@__PURE__*/getDefaultExportFromCjs(isNumber_1);
|
|
24559
|
+
|
|
24500
24560
|
var switchSizes = {
|
|
24501
24561
|
track: {
|
|
24502
24562
|
desktop: {
|
|
@@ -24602,8 +24662,8 @@ var AnimatedThumbIcon = /*#__PURE__*/styled(Svg).withConfig({
|
|
|
24602
24662
|
})(function (_ref) {
|
|
24603
24663
|
var isChecked = _ref.isChecked,
|
|
24604
24664
|
theme = _ref.theme;
|
|
24605
|
-
var easing =
|
|
24606
|
-
var duration =
|
|
24665
|
+
var easing = getIn(theme, switchMotion.easing.thumbIcon);
|
|
24666
|
+
var duration = getIn(theme, switchMotion.duration.thumbIcon);
|
|
24607
24667
|
return {
|
|
24608
24668
|
transitionDuration: "".concat(makeMotionTime(duration)),
|
|
24609
24669
|
transitionTimingFunction: easing,
|
|
@@ -24635,10 +24695,10 @@ var ThumbIcon = function ThumbIcon(_ref) {
|
|
|
24635
24695
|
matchedDeviceType = _useBreakpoint.matchedDeviceType;
|
|
24636
24696
|
var width = switchIconSize[matchedDeviceType][size];
|
|
24637
24697
|
var height = switchIconSize[matchedDeviceType][size];
|
|
24638
|
-
var finalWidth =
|
|
24639
|
-
var finalHeight =
|
|
24698
|
+
var finalWidth = isNumber$1(width) ? makeSize(width) : makeSpace(getIn(theme, width));
|
|
24699
|
+
var finalHeight = isNumber$1(height) ? makeSize(height) : makeSpace(getIn(theme, height));
|
|
24640
24700
|
var variant = isDisabled ? 'disabled' : 'default';
|
|
24641
|
-
var fillColor =
|
|
24701
|
+
var fillColor = getIn(theme, switchColors.thumbIcon[variant].fill);
|
|
24642
24702
|
return /*#__PURE__*/jsx(AnimatedThumbIcon, {
|
|
24643
24703
|
isChecked: Boolean(isChecked),
|
|
24644
24704
|
width: finalWidth,
|
|
@@ -24668,8 +24728,8 @@ var Thumb = /*#__PURE__*/styled(BaseBox).withConfig({
|
|
|
24668
24728
|
deviceType = _ref.deviceType;
|
|
24669
24729
|
var width = switchSizes.thumb[deviceType][size].width;
|
|
24670
24730
|
var height = switchSizes.thumb[deviceType][size].height;
|
|
24671
|
-
var finalWidth =
|
|
24672
|
-
var finalHeight =
|
|
24731
|
+
var finalWidth = isNumber$1(width) ? makeSize(width) : makeSpace(getIn(theme, width));
|
|
24732
|
+
var finalHeight = isNumber$1(height) ? makeSize(height) : makeSpace(getIn(theme, height));
|
|
24673
24733
|
var reactNativeStyles = {
|
|
24674
24734
|
left: 0,
|
|
24675
24735
|
margin: makeSpace(theme.spacing[1])
|
|
@@ -24693,8 +24753,8 @@ var AnimatedThumb = /*#__PURE__*/styled(BaseBox).withConfig({
|
|
|
24693
24753
|
isDisabled = _ref.isDisabled,
|
|
24694
24754
|
isPressed = _ref.isPressed;
|
|
24695
24755
|
var variant = isDisabled ? 'disabled' : 'default';
|
|
24696
|
-
var backgroundColor =
|
|
24697
|
-
var duration = makeMotionTime(
|
|
24756
|
+
var backgroundColor = getIn(theme, switchColors.thumb[variant].background);
|
|
24757
|
+
var duration = makeMotionTime(getIn(theme, switchMotion.duration.thumb));
|
|
24698
24758
|
// offset the thumb x% left because we change the width and width changes from the center origin of thumb
|
|
24699
24759
|
var offset = isChecked ? '-39%' : '12.5%';
|
|
24700
24760
|
return css(["display:flex;align-items:center;justify-content:center;flex-shrink:0;height:100%;position:relative;will-change:transform,left;width:", ";left:", ";transform:translateX(", ");transition:", ";border-radius:", ";animation-duration:", ";background-color:", ";"], isPressed ? '125%' : '100%', isPressed ? offset : '0%', isChecked ? '100%' : '0%', duration, makeBorderSize(theme.border.radius.max), duration, backgroundColor);
|
|
@@ -24710,11 +24770,11 @@ var getTrackStyles = function getTrackStyles(_ref) {
|
|
|
24710
24770
|
if (isDisabled) variant = 'disabled';
|
|
24711
24771
|
var checked = isChecked ? 'checked' : 'unchecked';
|
|
24712
24772
|
var background = switchColors.track[variant].background[checked];
|
|
24713
|
-
var backgroundColor =
|
|
24773
|
+
var backgroundColor = getIn(theme, background);
|
|
24714
24774
|
var widthToken = switchSizes.track[deviceType][size].width;
|
|
24715
24775
|
var heightToken = switchSizes.track[deviceType][size].height;
|
|
24716
|
-
var width =
|
|
24717
|
-
var height =
|
|
24776
|
+
var width = isNumber$1(widthToken) ? makeSize(widthToken) : makeSpace(getIn(theme, widthToken));
|
|
24777
|
+
var height = isNumber$1(heightToken) ? makeSize(heightToken) : makeSpace(getIn(theme, heightToken));
|
|
24718
24778
|
return {
|
|
24719
24779
|
pointerEvents: 'none',
|
|
24720
24780
|
position: 'relative',
|
|
@@ -25000,6 +25060,7 @@ var Tag = function Tag(_ref) {
|
|
|
25000
25060
|
};
|
|
25001
25061
|
|
|
25002
25062
|
/* eslint-disable @typescript-eslint/restrict-plus-operands */
|
|
25063
|
+
|
|
25003
25064
|
var pulseKeyframes = function pulseKeyframes(_ref) {
|
|
25004
25065
|
var theme = _ref.theme,
|
|
25005
25066
|
contrast = _ref.contrast;
|
|
@@ -27540,7 +27601,7 @@ var _BottomSheetBody = function _BottomSheetBody(_ref) {
|
|
|
27540
27601
|
React__default.useEffect(function () {
|
|
27541
27602
|
setBottomSheetHasActionList(false);
|
|
27542
27603
|
React__default.Children.forEach(children, function (child) {
|
|
27543
|
-
if (isValidAllowedChildren(child, componentIds.ActionList)) {
|
|
27604
|
+
if (isValidAllowedChildren(child, componentIds$1.ActionList)) {
|
|
27544
27605
|
setBottomSheetHasActionList(true);
|
|
27545
27606
|
}
|
|
27546
27607
|
});
|
|
@@ -27706,6 +27767,7 @@ var BottomSheetGrabHandle = /*#__PURE__*/styled.div.withConfig({
|
|
|
27706
27767
|
});
|
|
27707
27768
|
|
|
27708
27769
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
27770
|
+
/* eslint-disable @typescript-eslint/no-empty-function */
|
|
27709
27771
|
/**
|
|
27710
27772
|
* Modified from: https://github.com/stipsan/react-spring-bottom-sheet/blob/main/src/hooks/useScrollLock.tsx
|
|
27711
27773
|
* Handle scroll locking to ensure a good dragging experience on Android and iOS.
|