@leafygreen-ui/combobox 6.0.6 → 6.0.8

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.
@@ -1 +1 @@
1
- {"version":3,"file":"ComboboxTestUtils.d.ts","sourceRoot":"","sources":["../../src/utils/ComboboxTestUtils.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAgB1B,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,YAAY,EACb,MAAM,mBAAmB,CAAC;AAG3B,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC;CACxC;AAED,oBAAY,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;AAC3C,aAAK,mBAAmB,GAAG;IACzB,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,YAAY,GAAG,YAAY,CAAC,CAAC;CACvD,GAAG,iBAAiB,GACnB,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAEpC,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,YAAY,CAiB9C,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,YAAY,CA+B9C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,0DA+C1B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAC7C,MAAM,GAAE,CAAiB,EACzB,KAAK,CAAC,EAAE,mBAAmB;iCAsDS,mBAAmB;;gBAetB,MAAM,GAAG,WAAW,GAAG,IAAI;gBAC3B,MAAM,MAAM,CAAC,GAAG,MAAM,WAAW,CAAC,GAAG,IAAI;;;gBAgBxC,MAAM,GAAG,WAAW,GAAG,IAAI;gBAC3B,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,IAAI;gBACrC,MAAM,MAAM,CAAC,GAAG,MAAM,WAAW,CAAC,GAAG,IAAI;;yBA5BjD,MAAM,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6D7C;AAED;;;;GAIG;AACH,eAAO,MAAM,MAAM,cAAe,OAAO,YAAmC,CAAC;AAiC7E,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,IAAI,CAAC;QACb,UAAU,QAAQ,CAAC,CAAC;YAClB,cAAc,IAAI,CAAC,CAAC;SACrB;KACF;CACF"}
1
+ {"version":3,"file":"ComboboxTestUtils.d.ts","sourceRoot":"","sources":["../../src/utils/ComboboxTestUtils.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAgB1B,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,YAAY,EACb,MAAM,mBAAmB,CAAC;AAG3B,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC;CACxC;AAED,oBAAY,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;AAC3C,aAAK,mBAAmB,GAAG;IACzB,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,YAAY,GAAG,YAAY,CAAC,CAAC;CACvD,GAAG,iBAAiB,GACnB,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAEpC,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,YAAY,CAiB9C,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,YAAY,CA+B9C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,0DA+C1B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAC7C,MAAM,GAAE,CAAiB,EACzB,KAAK,CAAC,EAAE,mBAAmB;iCAsDS,mBAAmB;;gBAmBtB,MAAM,GAAG,WAAW,GAAG,IAAI;gBAC3B,MAAM,MAAM,CAAC,GAAG,MAAM,WAAW,CAAC,GAAG,IAAI;;;gBAgBxC,MAAM,GAAG,WAAW,GAAG,IAAI;gBAC3B,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,IAAI;gBACrC,MAAM,MAAM,CAAC,GAAG,MAAM,WAAW,CAAC,GAAG,IAAI;;yBA5BjD,MAAM,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6D7C;AAED;;;;GAIG;AACH,eAAO,MAAM,MAAM,cAAe,OAAO,YAAmC,CAAC;AAiC7E,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,IAAI,CAAC;QACb,UAAU,QAAQ,CAAC,CAAC;YAClB,cAAc,IAAI,CAAC,CAAC;SACrB;KACF;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leafygreen-ui/combobox",
3
- "version": "6.0.6",
3
+ "version": "6.0.8",
4
4
  "description": "leafyGreen UI Kit Combobox",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/esm/index.js",
@@ -13,34 +13,36 @@
13
13
  }
14
14
  },
15
15
  "scripts": {
16
- "build": "../../node_modules/.bin/rollup --config ../../rollup.config.js"
16
+ "build": "lg build-package",
17
+ "tsc": "lg build-ts",
18
+ "docs": "lg build-tsdoc"
17
19
  },
18
20
  "license": "Apache-2.0",
19
21
  "publishConfig": {
20
22
  "access": "public"
21
23
  },
22
24
  "dependencies": {
23
- "@leafygreen-ui/checkbox": "^12.0.12",
24
- "@leafygreen-ui/emotion": "^4.0.4",
25
- "@leafygreen-ui/hooks": "^7.7.5",
26
- "@leafygreen-ui/icon": "^11.17.0",
27
- "@leafygreen-ui/icon-button": "^15.0.12",
28
- "@leafygreen-ui/inline-definition": "^6.0.7",
29
- "@leafygreen-ui/input-option": "^1.0.5",
30
- "@leafygreen-ui/lib": "^10.4.0",
31
- "@leafygreen-ui/palette": "^4.0.4",
32
- "@leafygreen-ui/popover": "^11.0.12",
33
- "@leafygreen-ui/tokens": "^2.1.1",
34
- "@leafygreen-ui/typography": "^16.5.1",
25
+ "@leafygreen-ui/checkbox": "^12.0.13",
26
+ "@leafygreen-ui/emotion": "^4.0.5",
27
+ "@leafygreen-ui/hooks": "^7.7.6",
28
+ "@leafygreen-ui/icon": "^11.20.1",
29
+ "@leafygreen-ui/icon-button": "^15.0.14",
30
+ "@leafygreen-ui/inline-definition": "^6.0.8",
31
+ "@leafygreen-ui/input-option": "^1.0.6",
32
+ "@leafygreen-ui/lib": "^10.4.1",
33
+ "@leafygreen-ui/palette": "^4.0.5",
34
+ "@leafygreen-ui/popover": "^11.0.13",
35
+ "@leafygreen-ui/tokens": "^2.1.2",
36
+ "@leafygreen-ui/typography": "^16.5.2",
35
37
  "chalk": "^4.1.2",
36
38
  "lodash": "^4.17.21",
37
39
  "polished": "^4.2.2"
38
40
  },
39
41
  "peerDependencies": {
40
- "@leafygreen-ui/leafygreen-provider": "^3.1.3"
42
+ "@leafygreen-ui/leafygreen-provider": "^3.1.4"
41
43
  },
42
44
  "devDependencies": {
43
- "@leafygreen-ui/button": "^20.2.1"
45
+ "@leafygreen-ui/button": "^21.0.0"
44
46
  },
45
47
  "homepage": "https://github.com/mongodb/leafygreen-ui/tree/main/packages/combobox",
46
48
  "repository": {
@@ -830,6 +830,24 @@ describe('packages/combobox', () => {
830
830
  }
831
831
  });
832
832
 
833
+ test('fires onChange handler with payload', () => {
834
+ const onChange = jest.fn();
835
+ const { inputEl, openMenu } = renderCombobox(select, { onChange });
836
+ openMenu();
837
+ userEvent.type(inputEl!, '{arrowdown}{enter}');
838
+ expect(onChange).toHaveBeenCalledWith(
839
+ select === 'single' ? 'banana' : ['banana'],
840
+ );
841
+ });
842
+
843
+ test('does not fire onClear handler', () => {
844
+ const onClear = jest.fn();
845
+ const { inputEl, openMenu } = renderCombobox(select, { onClear });
846
+ openMenu();
847
+ userEvent.type(inputEl!, '{arrowdown}{enter}');
848
+ expect(onClear).not.toHaveBeenCalled();
849
+ });
850
+
833
851
  testSingleSelect('Re-opens menu after making a selection', async () => {
834
852
  const { inputEl, openMenu, getMenuElements } =
835
853
  renderCombobox('single');
@@ -1,6 +1,7 @@
1
1
  import { ComponentPropsWithoutRef, ReactElement, ReactNode } from 'react';
2
2
 
3
3
  import { Either, HTMLElementProps } from '@leafygreen-ui/lib';
4
+ import { PortalControlProps } from '@leafygreen-ui/popover';
4
5
 
5
6
  /**
6
7
  * Prop Enums & Types
@@ -132,141 +133,118 @@ export interface ComboboxMultiselectProps<M extends boolean> {
132
133
  overflow?: M extends true ? Overflow : undefined;
133
134
  }
134
135
 
135
- export interface BaseComboboxProps
136
- extends Omit<HTMLElementProps<'div'>, 'onChange'> {
137
- /**
138
- * Defines the Combobox Options by passing children. Must be `ComboboxOption` or `ComboboxGroup`
139
- */
140
- children?: ReactNode;
141
-
142
- /**
143
- * An accessible label for the input, rendered in a <label> to the DOM
144
- */
145
- label?: string;
146
-
147
- /**
148
- * An accessible label for the input, used only for screen-readers
149
- */
150
- 'aria-label'?: string;
151
-
152
- /**
153
- * A description for the input
154
- */
155
- description?: string;
156
-
157
- /**
158
- * A placeholder for the input element. Uses the native `placeholder` attribute.
159
- */
160
- placeholder?: string;
161
-
162
- /**
163
- * Disables all interaction with the component
164
- */
165
- disabled?: boolean;
166
-
167
- /**
168
- * Defines the visual size of the component
169
- */
170
- size?: ComboboxSize;
171
-
172
- /**
173
- * Toggles Dark Mode
174
- */
175
- darkMode?: boolean;
176
-
177
- /**
178
- * The error state of the component. Defines whether the error message is displayed.
179
- */
180
- state?: State;
181
-
182
- /**
183
- * The message shown below the input when state is `error`
184
- */
185
- errorMessage?: string;
186
-
187
- /**
188
- * The state of search results. Toggles search messages within the menu.
189
- */
190
- searchState?: SearchState;
191
-
192
- /**
193
- * A message shown within the menu when there are no options passed in as children, or `filteredOptions` is an empty array
194
- */
195
- searchEmptyMessage?: string;
196
-
197
- /**
198
- * A message shown within the menu when searchState is `error`
199
- */
200
- searchErrorMessage?: string;
201
-
202
- /**
203
- * A message shown within the menu when searchState is `loading`
204
- */
205
- searchLoadingMessage?: string;
206
-
207
- /**
208
- * A callback called when the search input changes.
209
- * Receives a single argument that is the current input value.
210
- * Use this callback to set `searchState` and/or `filteredOptions` appropriately
211
- */
212
- onFilter?: (value: string) => void;
213
-
214
- /**
215
- * Defines whether the Clear button appears to the right of the input.
216
- */
217
- clearable?: boolean;
218
-
219
- /**
220
- * A callback fired when the Clear button is pressed.
221
- * Fired _after_ `onChange`, and _before_ `onFilter`
222
- */
223
- onClear?: (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
224
-
225
- /**
226
- * An array used to define which options are displayed.
227
- * Do not remove options from the JSX children, as this will affect the selected options
228
- */
229
- filteredOptions?: Array<string>;
230
-
231
- /**
232
- * Defines where the ellipses appear in a Chip when the length exceeds the `chipCharacterLimit`
233
- */
234
- chipTruncationLocation?: TruncationLocation;
235
-
236
- /**
237
- * Defined the character limit of a multiselect Chip before they start truncating.
238
- * Note: the three ellipses dots are included in the character limit.
239
- */
240
- chipCharacterLimit?: number;
241
-
242
- /**
243
- * Specifies that the popover content should be rendered at the end of the DOM,
244
- * rather than in the DOM tree.
245
- *
246
- * default: `true`
247
- */
248
- usePortal?: boolean;
249
-
250
- /**
251
- * When usePortal is `true`, specifies a class name to apply to the root element of the portal.
252
- */
253
- portalClassName?: undefined;
254
-
255
- /**
256
- * When usePortal is `true`, specifies an element to portal within. The default behavior is to generate a div at the end of the document to render within.
257
- */
258
- portalContainer?: null;
259
-
260
- /**
261
- * When usePortal is `true`, specifies the scrollable element to position relative to.
262
- */
263
- scrollContainer?: null;
264
-
265
- /**
266
- * Number that controls the z-index of the popover element directly.
267
- */
268
- popoverZIndex?: number;
269
- }
136
+ export type BaseComboboxProps = Omit<HTMLElementProps<'div'>, 'onChange'> &
137
+ PortalControlProps & {
138
+ /**
139
+ * Defines the Combobox Options by passing children. Must be `ComboboxOption` or `ComboboxGroup`
140
+ */
141
+ children?: ReactNode;
142
+
143
+ /**
144
+ * An accessible label for the input, rendered in a <label> to the DOM
145
+ */
146
+ label?: string;
147
+
148
+ /**
149
+ * An accessible label for the input, used only for screen-readers
150
+ */
151
+ 'aria-label'?: string;
152
+
153
+ /**
154
+ * A description for the input
155
+ */
156
+ description?: string;
157
+
158
+ /**
159
+ * A placeholder for the input element. Uses the native `placeholder` attribute.
160
+ */
161
+ placeholder?: string;
162
+
163
+ /**
164
+ * Disables all interaction with the component
165
+ */
166
+ disabled?: boolean;
167
+
168
+ /**
169
+ * Defines the visual size of the component
170
+ */
171
+ size?: ComboboxSize;
172
+
173
+ /**
174
+ * Toggles Dark Mode
175
+ */
176
+ darkMode?: boolean;
177
+
178
+ /**
179
+ * The error state of the component. Defines whether the error message is displayed.
180
+ */
181
+ state?: State;
182
+
183
+ /**
184
+ * The message shown below the input when state is `error`
185
+ */
186
+ errorMessage?: string;
187
+
188
+ /**
189
+ * The state of search results. Toggles search messages within the menu.
190
+ */
191
+ searchState?: SearchState;
192
+
193
+ /**
194
+ * A message shown within the menu when there are no options passed in as children, or `filteredOptions` is an empty array
195
+ */
196
+ searchEmptyMessage?: string;
197
+
198
+ /**
199
+ * A message shown within the menu when searchState is `error`
200
+ */
201
+ searchErrorMessage?: string;
202
+
203
+ /**
204
+ * A message shown within the menu when searchState is `loading`
205
+ */
206
+ searchLoadingMessage?: string;
207
+
208
+ /**
209
+ * A callback called when the search input changes.
210
+ * Receives a single argument that is the current input value.
211
+ * Use this callback to set `searchState` and/or `filteredOptions` appropriately
212
+ */
213
+ onFilter?: (value: string) => void;
214
+
215
+ /**
216
+ * Defines whether the Clear button appears to the right of the input.
217
+ */
218
+ clearable?: boolean;
219
+
220
+ /**
221
+ * A callback fired when the Clear button is pressed.
222
+ * Fired _after_ `onChange`, and _before_ `onFilter`
223
+ */
224
+ onClear?: (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
225
+
226
+ /**
227
+ * An array used to define which options are displayed.
228
+ * Do not remove options from the JSX children, as this will affect the selected options
229
+ */
230
+ filteredOptions?: Array<string>;
231
+
232
+ /**
233
+ * Defines where the ellipses appear in a Chip when the length exceeds the `chipCharacterLimit`
234
+ */
235
+ chipTruncationLocation?: TruncationLocation;
236
+
237
+ /**
238
+ * Defined the character limit of a multiselect Chip before they start truncating.
239
+ * Note: the three ellipses dots are included in the character limit.
240
+ */
241
+ chipCharacterLimit?: number;
242
+
243
+ /**
244
+ * Number that controls the z-index of the popover element directly.
245
+ */
246
+ popoverZIndex?: number;
247
+ };
270
248
 
271
249
  export type ComboboxProps<M extends boolean> = Either<
272
250
  BaseComboboxProps & ComboboxMultiselectProps<M>,
@@ -6,7 +6,7 @@ import { useAvailableSpace, useForwardedRef } from '@leafygreen-ui/hooks';
6
6
  import Icon from '@leafygreen-ui/icon';
7
7
  import { useDarkMode } from '@leafygreen-ui/leafygreen-provider';
8
8
  import { palette } from '@leafygreen-ui/palette';
9
- import Popover from '@leafygreen-ui/popover';
9
+ import Popover, { PortalControlProps } from '@leafygreen-ui/popover';
10
10
  import { Error } from '@leafygreen-ui/typography';
11
11
 
12
12
  import { ComboboxProps } from '../Combobox.types';
@@ -30,17 +30,14 @@ type ComboboxMenuProps = {
30
30
  id: string;
31
31
  labelId: string;
32
32
  menuWidth: number;
33
- } & Pick<
34
- ComboboxProps<any>,
35
- | 'searchLoadingMessage'
36
- | 'searchErrorMessage'
37
- | 'searchEmptyMessage'
38
- | 'usePortal'
39
- | 'portalClassName'
40
- | 'portalContainer'
41
- | 'scrollContainer'
42
- | 'popoverZIndex'
43
- >;
33
+ } & PortalControlProps &
34
+ Pick<
35
+ ComboboxProps<any>,
36
+ | 'searchLoadingMessage'
37
+ | 'searchErrorMessage'
38
+ | 'searchEmptyMessage'
39
+ | 'popoverZIndex'
40
+ >;
44
41
 
45
42
  export const ComboboxMenu = React.forwardRef<HTMLDivElement, ComboboxMenuProps>(
46
43
  (
@@ -199,8 +199,12 @@ export function renderCombobox<T extends Select>(
199
199
  * @param newProps
200
200
  * @returns
201
201
  */
202
- const rerenderCombobox = (newProps: renderComboboxProps) =>
203
- renderResult.rerender(getComboboxJSX({ ...props, ...newProps }));
202
+ const rerenderCombobox = (newProps: renderComboboxProps) => {
203
+ const rerenderProps = { ...props, ...newProps };
204
+ return renderResult.rerender(
205
+ getComboboxJSX(rerenderProps as renderComboboxProps),
206
+ );
207
+ };
204
208
 
205
209
  /**
206
210
  * @returns all chip elements
package/tsconfig.json CHANGED
@@ -1,13 +1,19 @@
1
1
  {
2
- "extends": "../../package.tsconfig.json",
3
- "compilerOptions": {
2
+ "extends": "@lg-tools/build/config/package.tsconfig.json",
3
+ "compilerOptions": {
4
4
  "declarationDir": "dist",
5
5
  "outDir": "dist",
6
- "rootDir": "src"
6
+ "rootDir": "src",
7
+ "baseUrl": ".",
8
+ "paths": {
9
+ "@leafygreen-ui/icon/dist/*": ["../icon/src/generated/*"],
10
+ "@leafygreen-ui/*": ["../*/src"]
11
+ }
7
12
  },
8
13
  "include": [
9
14
  "src/**/*"
10
15
  ],
16
+ "exclude": ["**/*.spec.*", "**/*.story.*"],
11
17
  "references": [
12
18
  {
13
19
  "path": "../checkbox"
package/stories.js DELETED
@@ -1 +0,0 @@
1
- import e,{createContext as n,useContext as r,useRef as t,useMemo as a,useEffect as l,useCallback as o,useState as i}from"react";import c from"@leafygreen-ui/button";import{css as s,cx as u,keyframes as d}from"@leafygreen-ui/emotion";import{Theme as p,createUniqueClassName as f,keyMap as g,isComponentType as m,consoleOnce as h,storybookArgTypes as b,storybookExcludedControlParams as v}from"@leafygreen-ui/lib";import y,{isComponentGlyph as x}from"@leafygreen-ui/icon";import k from"lodash/clone";import w from"lodash/debounce";import E from"lodash/isArray";import C from"lodash/isEqual";import N from"lodash/isNull";import S from"lodash/isString";import L from"lodash/isUndefined";import O from"prop-types";import{useIdAllocator as D,useForwardedRef as M,useAvailableSpace as j,useDynamicRefs as I,usePrevious as z,useAutoScroll as P,useBackdropClick as F}from"@leafygreen-ui/hooks";import A from"@leafygreen-ui/icon-button";import T,{useDarkMode as W}from"@leafygreen-ui/leafygreen-provider";import{Error as X,Label as R,Description as G}from"@leafygreen-ui/typography";import H from"@leafygreen-ui/inline-definition";import{transparentize as V}from"polished";import{palette as Z}from"@leafygreen-ui/palette";import{typeScales as q,transitionDuration as K,spacing as Y,hoverRing as B,focusRing as U,fontFamilies as J,fontWeights as $}from"@leafygreen-ui/tokens";import Q from"@leafygreen-ui/popover";import{leftGlyphClassName as _,InputOption as ee,InputOptionContent as ne}from"@leafygreen-ui/input-option";import re from"lodash/kebabCase";import te from"lodash/escapeRegExp";import ae from"@leafygreen-ui/checkbox";function le(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),r.push.apply(r,t)}return r}function oe(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?le(Object(r),!0).forEach((function(n){ce(e,n,r[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):le(Object(r)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))}))}return e}function ie(e){return ie="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ie(e)}function ce(e,n,r){return(n=function(e){var n=function(e,n){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var t=r.call(e,n||"default");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==typeof n?n:String(n)}(n))in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function se(){return se=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e},se.apply(this,arguments)}function ue(e,n){if(null==e)return{};var r,t,a=function(e,n){if(null==e)return{};var r,t,a={},l=Object.keys(e);for(t=0;t<l.length;t++)r=l[t],n.indexOf(r)>=0||(a[r]=e[r]);return a}(e,n);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(t=0;t<l.length;t++)r=l[t],n.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}function de(e,n){return n||(n=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(n)}}))}function pe(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var t,a,l,o,i=[],c=!0,s=!1;try{if(l=(r=r.call(e)).next,0===n){if(Object(r)!==r)return;c=!1}else for(;!(c=(t=l.call(r)).done)&&(i.push(t.value),i.length!==n);c=!0);}catch(e){s=!0,a=e}finally{try{if(!c&&null!=r.return&&(o=r.return(),Object(o)!==o))return}finally{if(s)throw a}}return i}}(e,n)||ge(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function fe(e){return function(e){if(Array.isArray(e))return me(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||ge(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ge(e,n){if(e){if("string"==typeof e)return me(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?me(e,n):void 0}}function me(e,n){(null==n||n>e.length)&&(n=e.length);for(var r=0,t=new Array(n);r<n;r++)t[r]=e[r];return t}var he,be,ve,ye,xe,ke,we,Ee,Ce,Ne,Se,Le,Oe,De,Me,je,Ie,ze,Pe,Fe,Ae,Te,We,Xe,Re,Ge,He="Input",Ve="ClearButton",Ze="FirstChip",qe="LastChip",Ke="MiddleChip",Ye="Combobox",Be="Menu",Ue={XSmall:"xsmall",Small:"small",Default:"default",Large:"large"},Je={start:"start",middle:"middle",end:"end",none:"none"},$e={expandY:"expand-y",scrollX:"scroll-x",expandX:"expand-x"},Qe={none:"none",error:"error"},_e={unset:"unset",error:"error",loading:"loading"};var en,nn,rn,tn,an,ln,on,cn,sn,un,dn,pn,fn,gn,mn,hn,bn,vn,yn,xn,kn,wn,En,Cn,Nn,Sn,Ln,On,Dn,Mn,jn,In,zn,Pn,Fn,An,Tn,Wn,Xn,Rn,Gn,Hn,Vn,Zn,qn,Kn,Yn,Bn,Un,Jn,$n,Qn,_n,er,nr,rr,tr,ar=(ce(he={},Ue.XSmall,16),ce(he,Ue.Small,q.body1.lineHeight),ce(he,Ue.Default,q.body1.lineHeight),ce(he,Ue.Large,q.body2.lineHeight),he),lr=(ce(be={},Ue.XSmall,q.body1.fontSize),ce(be,Ue.Small,q.body1.fontSize),ce(be,Ue.Default,q.body1.fontSize),ce(be,Ue.Large,q.body2.fontSize),be),or=(ce(ve={},Ue.XSmall,1),ce(ve,Ue.Small,0),ce(ve,Ue.Default,2),ce(ve,Ue.Large,4),ve),ir=function(e){return ar[e]+2*or[e]},cr=s(ye||(ye=de(["\n display: inline-flex;\n align-items: center;\n overflow: hidden;\n white-space: nowrap;\n box-sizing: border-box;\n border-radius: 4px;\n"]))),sr=function(e){return s(xe||(xe=de(["\n font-size: ","px;\n line-height: ","px;\n"])),lr[e],ar[e])},ur=(ce(Ee={},p.Light,s(ke||(ke=de(["\n color: ",";\n background-color: ",";\n\n // TODO: - refine these styles with Design\n &:focus-within {\n background-color: ",";\n }\n "])),Z.black,Z.gray.light2,Z.blue.light2)),ce(Ee,p.Dark,s(we||(we=de(["\n color: ",";\n background-color: ",";\n\n &:focus-within {\n background-color: ",";\n }\n "])),Z.gray.light2,Z.gray.dark2,Z.blue.dark2)),Ee),dr=s(Ce||(Ce=de(["\n cursor: not-allowed;\n pointer-events: none;\n"]))),pr=(ce(Le={},p.Light,s(Ne||(Ne=de(["\n color: ",";\n background-color: ",";\n "])),Z.gray.base,Z.gray.light3)),ce(Le,p.Dark,s(Se||(Se=de(["\n color: ",";\n background-color: ",";\n box-shadow: inset 0 0 1px 1px ",";\n "])),Z.gray.dark2,Z.gray.dark4,Z.gray.dark2)),Le),fr=(ce(Ie={},Ue.XSmall,s(Oe||(Oe=de(["\n padding-inline-start: 6px;\n padding-inline-end: 2px;\n padding-block: ","px;\n "])),or[Ue.XSmall])),ce(Ie,Ue.Small,s(De||(De=de(["\n padding-inline-start: 6px;\n padding-inline-end: 2px;\n padding-block: ","px;\n "])),or[Ue.Small])),ce(Ie,Ue.Default,s(Me||(Me=de(["\n padding-inline-start: 6px;\n padding-inline-end: 2px;\n padding-block: ","px;\n "])),or[Ue.Default])),ce(Ie,Ue.Large,s(je||(je=de(["\n padding-inline: 10px;\n padding-block: ","px;\n "])),or[Ue.Large])),Ie),gr=s(ze||(ze=de(["\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n outline: none;\n border: none;\n background-color: transparent;\n cursor: pointer;\n transition: background-color ","ms ease-in-out;\n padding: 0 2px;\n"])),K.faster),mr=function(e){return s(Pe||(Pe=de(["\n height: ","px;\n"])),ir(e))},hr=(ce(Te={},p.Light,s(Fe||(Fe=de(["\n color: ",";\n\n &:hover {\n color: ",";\n background-color: ",";\n }\n "])),Z.gray.dark2,Z.black,Z.gray.light1)),ce(Te,p.Dark,s(Ae||(Ae=de(["\n color: ",";\n\n &:hover {\n color: ",";\n background-color: ",";\n }\n "])),Z.gray.light1,Z.gray.light3,Z.gray.dark1)),Te),br=s(We||(We=de(["\n cursor: not-allowed;\n &:hover {\n color: inherit;\n background-color: unset;\n }\n"]))),vr=(ce(Ge={},p.Light,s(Xe||(Xe=de(["\n color: ",";\n "])),Z.gray.light1)),ce(Ge,p.Dark,s(Re||(Re=de(["\n color: ",";\n "])),Z.gray.dark2)),Ge),yr=ir,xr=(ce(en={},Ue.XSmall,22),ce(en,Ue.Small,28),ce(en,Ue.Default,36),ce(en,Ue.Large,48),en),kr=function(e){return(xr[e]-yr(e)-2)/2},wr=(ce(nn={},Ue.XSmall,{y:kr(Ue.XSmall),xLeftWithChip:1,xLeftWithoutChip:10,xRight:4}),ce(nn,Ue.Small,{y:kr(Ue.Small),xLeftWithChip:4,xLeftWithoutChip:10,xRight:8}),ce(nn,Ue.Default,{y:kr(Ue.Default),xLeftWithChip:6,xLeftWithoutChip:12,xRight:12}),ce(nn,Ue.Large,{y:kr(Ue.Large),xLeftWithChip:Y[2]-1,xLeftWithoutChip:Y[2]-1,xRight:Y[2]-1}),nn),Er=Y[3],Cr=f("combobox-chip"),Nr=function(e){return s(rn||(rn=de(["\n font-family: ",";\n width: 100%;\n min-width: ","px;\n "])),J.default,lr[e]+2*wr[e].xLeftWithChip+Er+2)},Sr=s(tn||(tn=de(["\n display: flex;\n align-items: center;\n gap: ","px;\n cursor: text;\n transition: ","ms ease-in-out;\n transition-property: background-color, box-shadow, border-color;\n border: 1px solid;\n width: 100%;\n max-width: 100%;\n border-radius: 6px;\n position: relative;\n overflow: hidden;\n\n // Overflow shadow\n ::after {\n content: '';\n position: absolute;\n width: 100%;\n height: 20px;\n bottom: -21px;\n left: 50%;\n translate: -50% 0%;\n border-radius: 20%;\n box-shadow: 0 0 0 0 rgb(255 255 255 / 0%);\n transition: ","ms linear;\n transition-property: box-shadow;\n }\n"])),Y[2],K.default,K.default),Lr=(ce(on={},p.Light,s(an||(an=de(["\n color: ",";\n background-color: ",";\n border-color: ",";\n\n &:hover {\n box-shadow: ",";\n }\n "])),Z.gray.dark3,Z.white,Z.gray.base,B[p.Light].gray)),ce(on,p.Dark,s(ln||(ln=de(["\n color: ",";\n background-color: ",";\n border-color: ",";\n\n &:hover {\n box-shadow: ",";\n }\n "])),Z.gray.light2,Z.gray.dark4,Z.gray.base,B[p.Dark].gray)),on),Or=function(e,n){return s(cn||(cn=de(["\n padding-top: ","px;\n padding-bottom: ","px;\n padding-left: ",";\n padding-right: ","px;\n"])),wr[e].y,wr[e].y,"".concat(n?wr[e].xLeftWithChip:wr[e].xLeftWithoutChip,"px"),wr[e].xRight)},Dr=(ce(dn={},p.Light,s(sn||(sn=de(["\n cursor: not-allowed;\n color: ",";\n background-color: ",";\n border-color: ",";\n "])),Z.gray.dark1,Z.gray.light2,Z.gray.light1)),ce(dn,p.Dark,s(un||(un=de(["\n cursor: not-allowed;\n color: ",";\n background-color: ",";\n border-color: ",";\n "])),Z.gray.dark1,Z.gray.dark3,Z.gray.dark2)),dn),Mr=(ce(gn={},p.Light,s(pn||(pn=de(["\n border-color: ",";\n "])),Z.red.base)),ce(gn,p.Dark,s(fn||(fn=de(["\n border-color: ",";\n "])),Z.red.light1)),gn),jr=(ce(bn={},p.Light,s(mn||(mn=de(["\n &:focus-within {\n border-color: transparent;\n box-shadow: ",";\n }\n "])),U[p.Light].input)),ce(bn,p.Dark,s(hn||(hn=de(["\n &:focus-within {\n border-color: transparent;\n box-shadow: ",";\n }\n "])),U[p.Dark].input)),bn),Ir=s(vn||(vn=de(["\n display: flex;\n align-items: center;\n"]))),zr=(ce(En={},Ue.XSmall,s(yn||(yn=de(["\n gap: ","px;\n "])),Y[1])),ce(En,Ue.Small,s(xn||(xn=de(["\n gap: ","px;\n "])),Y[2])),ce(En,Ue.Default,s(kn||(kn=de(["\n gap: ","px;\n "])),Y[2])),ce(En,Ue.Large,s(wn||(wn=de(["\n gap: ","px;\n "])),Y[2])),En),Pr=function(e){var n=e.overflow,r=e.size,t=s(Cn||(Cn=de(["\n flex-grow: 1;\n width: 100%;\n "])));switch(n){case $e.scrollX:return s(Nn||(Nn=de(["\n ","\n display: block;\n height: ","px;\n white-space: nowrap;\n overflow-x: scroll;\n scroll-behavior: smooth;\n scrollbar-width: none;\n line-height: 1;\n\n &::-webkit-scrollbar {\n display: none;\n }\n\n & > ."," {\n margin-inline: 2px;\n\n &:first-child {\n margin-inline-start: 0;\n }\n\n &:last-child {\n margin-inline-end: 0;\n }\n }\n "])),t,yr(r),Cr);case $e.expandY:return s(Sn||(Sn=de(["\n ","\n display: flex;\n flex-wrap: wrap;\n gap: ","px;\n overflow-x: hidden;\n min-height: ","px;\n max-height: calc((","px) + (","px * 2));\n "])),t,4,yr(r),3*ir(r),4)}},Fr=s(Ln||(Ln=de(["\n font-family: ",";\n width: 100%;\n border: none;\n cursor: inherit;\n background-color: inherit;\n color: inherit;\n box-sizing: content-box;\n padding: 0;\n margin: 0;\n text-overflow: ellipsis;\n vertical-align: top;\n\n // Only add padding if there are chips\n &:not(:first-child) {\n padding-left: ","px;\n }\n\n &:placeholder-shown {\n min-width: 100%;\n }\n &:focus {\n outline: none;\n }\n"])),J.default,Y[1]),Ar=(ce(Mn={},p.Light,s(On||(On=de(["\n &::placeholder {\n color: ",";\n }\n "])),Z.gray.dark1)),ce(Mn,p.Dark,s(Dn||(Dn=de(["\n &::placeholder {\n color: ",";\n }\n "])),Z.gray.light1)),Mn),Tr=(ce(zn={},p.Light,s(jn||(jn=de(["\n &::placeholder {\n color: ",";\n }\n "])),Z.gray.dark1)),ce(zn,p.Dark,s(In||(In=de(["\n &::placeholder {\n color: ",";\n }\n "])),Z.gray.dark1)),zn),Wr=function(e){return s(Pn||(Pn=de(["\n height: ","px;\n font-size: ","px;\n line-height: ","px;\n min-width: ","px;\n"])),yr(e),lr[e],ar[e],lr[e])},Xr=function(e){return s(Fn||(Fn=de(["\n /*\n * Immediate transition in, slow transition out. \n * '-in' transition is handled by `scroll-behavior` \n */\n transition: width ease-in-out ",";\n"],["\n /*\n * Immediate transition in, slow transition out. \n * '-in' transition is handled by \\`scroll-behavior\\` \n */\n transition: width ease-in-out ",";\n"])),e?"0s":"100ms")},Rr=function(e,n){var r,t=null!==(r=null==n?void 0:n.length)&&void 0!==r?r:0;return s(An||(An=de(["\n width: ","px;\n max-width: 100%;\n "])),t*lr[e])},Gr=s(Tn||(Tn=de(["\n // Add a negative margin so the button takes up the same space as the regular icons\n margin-block: calc(","px - 100%);\n margin-inline: -6px;\n"])),Er/2),Hr=s(Wn||(Wn=de(["\n height: ","px;\n width: ","px;\n"])),Er,Er),Vr=(ce(Gn={},p.Light,s(Xn||(Xn=de(["\n color: ",";\n "])),Z.red.base)),ce(Gn,p.Dark,s(Rn||(Rn=de(["\n color: ",";\n "])),Z.red.light1)),Gn),Zr=function(e){return s(Hn||(Hn=de(["\n font-size: ","px;\n line-height: ","px;\n padding-top: ","px;\n"])),lr[e],ar[e],wr[e].y)},qr=s(Vn||(Vn=de(["\n margin-bottom: ","px;\n display: flex;\n flex-direction: column;\n"])),Y[1]),Kr=s(Zn||(Zn=de(["\n font-size: ","px;\n line-height: ","px;\n"])),q.large.fontSize,q.large.lineHeight),Yr=(ce(Yn={},p.Light,s(qn||(qn=de(["\n ::after {\n box-shadow: 0px 0px 7px 5px ",";\n }\n "])),V(.85,Z.black))),ce(Yn,p.Dark,s(Kn||(Kn=de(["\n ::after {\n width: 95%;\n box-shadow: 0px -7px 12px 5px rgb(0 0 0 / 50%);\n }\n "])))),Yn),Br=(ce(Bn={},p.Light,Z.red.base),ce(Bn,p.Dark,Z.red.light1),Bn),Ur=(ce(Un={},p.Light,Z.gray.dark2),ce(Un,p.Dark,Z.gray.light1),Un),Jr=(ce(Jn={},p.Light,Z.gray.base),ce(Jn,p.Dark,Z.gray.dark2),Jn),$r=n({multiselect:!1,size:Ue.Default,withIcons:!1,disabled:!1,isOpen:!1,state:Qe.none,searchState:_e.unset,overflow:$e.expandY}),Qr=e.forwardRef((function(n,o){var i=n.displayName,c=n.isFocused,s=n.onRemove,d=n.onFocus,p=W(),f=p.darkMode,m=p.theme,h=r($r),b=h.size,v=h.disabled,x=h.overflow,k=h.chipTruncationLocation,w=void 0===k?"end":k,E=h.chipCharacterLimit,C=void 0===E?12:E,N=h.popoverZIndex,S=x!==$e.scrollX&&!!C&&!!w&&"none"!==w&&i.length>C,L=t(null),O=a((function(){if(S){var e=C-3;switch(w){case"start":return"…"+i.substring(i.length-e).trim();case"middle":return i.substring(0,e/2).trim()+"…"+i.substring(i.length-e/2).trim();case"end":return i.substring(0,e).trim()+"…";default:return i}}return!1}),[C,w,i,S]);l((function(){var e;c&&!v&&(null==L||null===(e=L.current)||void 0===e||e.focus())}),[v,o,c]);return e.createElement("span",{role:"option","aria-selected":c,"data-testid":"lg-combobox-chip",ref:o,className:u(Cr,cr,ur[m],sr(b),ce({},u(pr[m],dr),v)),onClick:function(e){var n;null!==(n=L.current)&&void 0!==n&&n.contains(e.target)||d()},onKeyDown:function(e){v||e.keyCode!==g.Delete&&e.keyCode!==g.Backspace&&e.keyCode!==g.Enter&&e.keyCode!==g.Space||s()},tabIndex:-1},e.createElement("span",{className:u(fr[b])},O?e.createElement(H,{darkMode:f,definition:i,align:"bottom",popoverZIndex:N},O):i),e.createElement("button",{"aria-label":"Deselect ".concat(i),"aria-disabled":v,disabled:v,ref:L,className:u(gr,hr[m],mr(b),ce({},u(vr[m],br),v)),onClick:function(){v||s()}},e.createElement(y,{glyph:"X"})))}));Qr.displayName="Chip";var _r,et,nt,rt,tt,at,lt,ot,it,ct,st,ut,dt,pt,ft,gt,mt,ht=(ce(_n={},p.Light,s($n||($n=de(["\n padding-top: ","px;\n "])),Y[2])),ce(_n,p.Dark,s(Qn||(Qn=de(["\n padding-top: ","px;\n "])),Y[2])),_n),bt=s(er||(er=de(["\n cursor: default;\n width: 100%;\n padding: 0 12px 2px;\n outline: none;\n overflow-wrap: anywhere;\n font-size: 12px;\n line-height: 16px;\n font-weight: ",";\n text-transform: uppercase;\n letter-spacing: 0.4px;\n"])),$.bold),vt=(ce(tr={},p.Light,s(nr||(nr=de(["\n color: ",";\n "])),Z.gray.dark1)),ce(tr,p.Dark,s(rr||(rr=de(["\n color: ",";\n "])),Z.gray.light1)),tr);function yt(n){var r=n.label,t=n.className,a=n.children,l=W().theme,o=D({prefix:"combobox-group"});return e.Children.count(a)>0?e.createElement("div",{className:u(ht[l],t)},e.createElement("div",{className:u(bt,vt[l]),id:o},r),e.createElement("div",{role:"group","aria-labelledby":o},a)):e.createElement(e.Fragment,null)}function xt(e){throw Error("`ComboboxGroup` must be a child of a `Combobox` instance")}xt.displayName="ComboboxGroup",xt.propTypes={className:O.string,children:O.node.isRequired,label:O.string.isRequired};var kt,wt=(ce(_r={},Ue.XSmall,{x:12,y:8}),ce(_r,Ue.Small,{x:12,y:8}),ce(_r,Ue.Default,{x:12,y:8}),ce(_r,Ue.Large,{x:12,y:8}),_r),Et=function(e){return ar[e]+2*wt[e].y},Ct=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:384;return s(et||(et=de(["\n width: ","px;\n overflow: hidden;\n border-radius: 12px;\n border: 1px solid;\n"])),e)},Nt=(ce(tt={},p.Light,s(nt||(nt=de(["\n box-shadow: 0px 4px 7px ",";\n border-color: ",";\n "])),V(.85,Z.black),Z.gray.light2)),ce(tt,p.Dark,s(rt||(rt=de(["\n box-shadow: 0px 4px 7px ",";\n border-color: ",";\n "])),V(.85,Z.black),Z.gray.dark3)),tt),St=s(at||(at=de(["\n position: relative;\n width: 100%;\n margin: 0;\n padding: ","px 0;\n font-family: ",";\n border-radius: inherit;\n overflow-y: auto;\n scroll-behavior: smooth;\n"])),Y[2],J.default),Lt=(ce(it={},p.Light,s(lt||(lt=de(["\n color: ",";\n background-color: ",";\n "])),Z.black,Z.white)),ce(it,p.Dark,s(ot||(ot=de(["\n color: ",";\n background-color: ",";\n "])),Z.gray.light1,Z.gray.dark3)),it),Ot=s(ct||(ct=de(["\n position: relative;\n margin: 0;\n padding: 0;\n"]))),Dt=s(st||(st=de(["\n font-family: inherit;\n display: inline-flex;\n align-items: center;\n gap: 8px;\n"]))),Mt=(ce(pt={},p.Light,s(ut||(ut=de(["\n color: ",";\n "])),Z.gray.dark3)),ce(pt,p.Dark,s(dt||(dt=de(["\n color: ",";\n "])),Z.gray.light3)),pt),jt=function(e){return s(ft||(ft=de(["\n font-size: ","px;\n line-height: ","px;\n padding: ","px ","px;\n"])),lr[e],ar[e],wt[e].y,wt[e].x)},It=d(gt||(gt=de(["\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n"]))),zt=s(mt||(mt=de(["\n animation: "," 1.5s linear infinite;\n"])),It),Pt=["children","id","refEl","labelId","menuWidth","searchLoadingMessage","searchErrorMessage","searchEmptyMessage"],Ft=e.forwardRef((function(n,t){var l=n.children,o=n.id,i=n.refEl,c=n.labelId,d=n.menuWidth,p=n.searchLoadingMessage,f=n.searchErrorMessage,g=n.searchEmptyMessage,m=ue(n,Pt),h=W(),b=h.darkMode,v=h.theme,x=r($r),k=x.disabled,w=x.size,E=x.isOpen,C=x.searchState,N=M(t,null),S=j(i),O=L(S)?"unset":"".concat(Math.min(S,256),"px"),D=a((function(){var n=u(Dt,Mt[v],jt(w)),r=u(Dt,jt(w));switch(C){case"loading":return e.createElement("span",{className:n},e.createElement(y,{glyph:"Refresh",color:b?Z.blue.light1:Z.blue.base,className:zt}),p);case"error":return e.createElement(X,{className:r},e.createElement(y,{glyph:"Warning",color:b?Z.red.light1:Z.red.base}),e.createElement("span",null,f));default:return l&&"object"===ie(l)&&"length"in l&&l.length>0?e.createElement("ul",{className:Ot},l):e.createElement("span",{className:n},g)}}),[v,w,C,b,p,f,l,g]);return e.createElement(Q,se({active:E&&!k,spacing:4,align:"bottom",justify:"middle",refEl:i,adjustOnMutation:!0,className:u(Ct(d),Nt[v])},m),e.createElement("div",{ref:N,id:o,role:"listbox","aria-labelledby":c,"aria-expanded":E,className:u(St,Lt[v],s(kt||(kt=de(["\n max-height: ",";\n "])),O)),onMouseDownCapture:function(e){return e.preventDefault()}},D))}));Ft.displayName="ComboboxMenu";var At,Tt,Wt,Xt,Rt,Gt,Ht,Vt,Zt,qt,Kt,Yt,Bt,Ut,Jt,$t,Qt,_t,ea,na,ra,ta,aa,la,oa,ia,ca=function(e){var n=e.scrollHeight;return e.scrollTop<n-e.clientHeight},sa=function(e){var n,r=e.value,t=e.displayName;return{value:null!=r?r:re(t),displayName:null!==(n=null!=t?t:r)&&void 0!==n?n:""}},ua=function n(r){return e.Children.toArray(r).reduce((function(e,r){if(m(r,"ComboboxOption")){var t=sa(r.props),a=t.value,l=t.displayName,o=r.props,i=o.glyph,c=o.disabled;return[].concat(fe(e),[{value:a,displayName:l,isDisabled:!!c,hasGlyph:!!i}])}if(m(r,"ComboboxGroup")){var s=r.props.children;if(s)return[].concat(fe(e),fe(n(s)))}}),[])},da=function(e,n){if(e)return n.find((function(n){return n.value===e}))},pa=function(e,n){var r,t;return e?null!==(r=null===(t=da(e,n))||void 0===t?void 0:t.displayName)&&void 0!==r?r:e:""},fa=function(e){return s(At||(At=de(["\n font-size: ","px;\n line-height: ","px;\n min-height: ","px;\n padding: ","px ","px;\n gap: ","px;\n\n &:before {\n max-height: ","px;\n }\n"])),lr[e],ar[e],Et(e),wt[e].y,wt[e].x,Y[1],Et(e))},ga=(ce(Gt={},Ue.XSmall,s(Tt||(Tt=de(["\n min-width: ","px;\n "])),Y[3])),ce(Gt,Ue.Small,s(Wt||(Wt=de(["\n min-width: ","px;\n "])),Y[3])),ce(Gt,Ue.Default,s(Xt||(Xt=de(["\n min-width: ","px;\n "])),Y[3])),ce(Gt,Ue.Large,s(Rt||(Rt=de(["\n min-width: ","px;\n "])),Y[4])),Gt),ma=s(Ht||(Ht=de(["\n pointer-events: none;\n gap: 0;\n\n label {\n gap: 0;\n align-items: center;\n }\n"])));s(Vt||(Vt=de(["\n pointer-events: none;\n"])));var ha=function(e){return s(Zt||(Zt=de(["\n font-weight: ",";\n"])),e?$.bold:$.regular)},ba=(ce(Yt={},p.Light,s(qt||(qt=de(["\n color: ",";\n "])),Z.gray.dark1)),ce(Yt,p.Dark,s(Kt||(Kt=de(["\n color: ",";\n "])),Z.gray.base)),Yt),va=(ce(Jt={},p.Light,s(Bt||(Bt=de(["\n color: ",";\n "])),Z.blue.dark1)),ce(Jt,p.Dark,s(Ut||(Ut=de(["\n color: ",";\n "])),Z.blue.light3)),Jt),ya=(ce(_t={},p.Light,s($t||($t=de(["\n color: ",";\n "])),Z.gray.light1)),ce(_t,p.Dark,s(Qt||(Qt=de(["\n color: ",";\n "])),Z.gray.dark1)),_t),xa=(ce(ra={},p.Light,s(ea||(ea=de(["\n color: ",";\n "])),Z.blue.base)),ce(ra,p.Dark,s(na||(na=de(["\n color: ",";\n "])),Z.blue.light1)),ra),ka=(ce(la={},p.Light,s(ta||(ta=de(["\n color: ",";\n "])),Z.gray.light1)),ce(la,p.Dark,s(aa||(aa=de(["\n color: ",";\n "])),Z.gray.dark1)),la),wa=s(oa||(oa=de(["\n ."," {\n align-self: baseline;\n }\n"])),_),Ea=s(ia||(ia=de(["\n ."," {\n height: 28px;\n }\n"])),_),Ca=["glyph","isSelected","displayName","isFocused","setSelected","className","description","value","onClick","disabled"],Na=e.forwardRef((function(n,t){var l,i=n.glyph,c=n.isSelected,s=n.displayName,d=n.isFocused,p=n.setSelected,f=n.className,g=n.description,m=n.value,h=n.onClick,b=n.disabled,v=void 0!==b&&b,k=ue(n,Ca),w=W(),E=w.darkMode,C=w.theme,N=r($r),S=N.multiselect,L=N.size,O=N.withIcons,j=N.inputValue,I=M(t,null),z=D({prefix:"combobox-option-text"}),P=o((function(e){e.stopPropagation(),v||(p(),null==h||h(e,m))}),[v,h,p,m]),F=a((function(){return function(n){var r,t=n.withIcons,a=n.isSelected,l=n.glyph,o=n.optionTextId,i=n.disabled,c=n.darkMode,s=n.size,d=n.multiselect,p=n.theme,f=n.isFocused;l&&!x(l)&&console.error("`ComboboxOption` instance did not render icon because it is not a known glyph element.",l);var g=l&&x(l)?e.cloneElement(l,oe(oe({},l.props),{},{className:u(ba[p],(r={},ce(r,va[p],f),ce(r,ya[p],i),r),l.props.className)})):e.createElement(e.Fragment,null),m=e.createElement(ae,{"aria-labelledby":o,checked:a,tabIndex:-1,disabled:i,darkMode:c,className:ma}),h=e.createElement(y,{glyph:"Checkmark",className:u(ga[s],xa[p],ce({},ka[p],i))});return{leftGlyph:d?t?g:m:t?g:a?h:null,rightGlyph:d?t&&m:t&&a&&h}}({withIcons:O,isSelected:c,glyph:i,theme:C,darkMode:E,size:L,disabled:v,multiselect:S,optionTextId:z,isFocused:d})}),[E,v,i,c,S,z,L,C,O,d]),A=F.leftGlyph,T=F.rightGlyph,X=S&&!O;return e.createElement(ee,se({},k,{as:"li",ref:I,highlighted:d,disabled:v,"aria-label":s,darkMode:E,className:u(fa(L),(l={},ce(l,wa,X),ce(l,Ea,X&&L===Ue.Large),l),f),onClick:P,onKeyDown:P}),e.createElement(ne,{leftGlyph:A,rightGlyph:T,description:g},e.createElement("span",{id:z,className:ha(c)},function(n,r,t){if(r&&t){var a=te(r),l=new RegExp(a,"gi"),o=n.matchAll(l);if(o){for(var i=n.split(""),c=0,s=Array.from(o);c<s.length;c++){var u,d=s[c],p=null!==(u=d.index)&&void 0!==u?u:-1,f=d[0],g=f.length,m=p+f+g,h=new Array(g).fill("");h[0]=e.createElement(t,{key:m},f),i.splice.apply(i,[p,g].concat(fe(h)))}return e.createElement(e.Fragment,null,i)}return e.createElement(e.Fragment,null,n)}return e.createElement(e.Fragment,null,n)}(s,j,"strong"))))}));function Sa(e){throw Error("`ComboboxOption` must be a child of a `Combobox` instance")}Na.displayName="ComboboxOption",Sa.displayName="ComboboxOption",Sa.propTypes={displayName:O.string,value:O.string,glyph:O.node,disabled:O.bool,className:O.string,description:O.string,onClick:O.func};var La=["children","label","description","placeholder","aria-label","disabled","size","darkMode","state","errorMessage","searchState","searchEmptyMessage","searchErrorMessage","searchLoadingMessage","filteredOptions","onFilter","clearable","onClear","overflow","multiselect","initialValue","onChange","value","chipTruncationLocation","chipCharacterLimit","className","usePortal","portalClassName","portalContainer","scrollContainer","popoverZIndex"],Oa=["className","glyph","disabled"];function Da(n){var r,c,s,d=n.children,p=n.label,f=n.description,b=n.placeholder,v=void 0===b?"Select":b,x=n["aria-label"],O=n.disabled,M=void 0!==O&&O,j=n.size,X=void 0===j?Ue.Default:j,H=n.darkMode,V=n.state,Z=void 0===V?"none":V,q=n.errorMessage,K=n.searchState,Y=void 0===K?"unset":K,B=n.searchEmptyMessage,U=void 0===B?"No results found":B,J=n.searchErrorMessage,$=void 0===J?"Could not get results!":J,Q=n.searchLoadingMessage,_=void 0===Q?"Loading results...":Q,ee=n.filteredOptions,ne=n.onFilter,re=n.clearable,te=void 0===re||re,ae=n.onClear,le=n.overflow,de=void 0===le?$e.expandY:le,fe=n.multiselect,ge=void 0!==fe&&fe,me=n.initialValue,he=n.onChange,be=n.value,ve=n.chipTruncationLocation,ye=n.chipCharacterLimit,xe=void 0===ye?12:ye,ke=n.className,we=n.usePortal,Ee=void 0===we||we,Ce=n.portalClassName,Ne=n.portalContainer,Se=n.scrollContainer,Le=n.popoverZIndex,Oe=ue(n,La),De=W(H),Me=De.darkMode,je=De.theme,Ie=I({prefix:"option"}),ze=I({prefix:"chip"}),Pe=D({prefix:"combobox-input"}),Fe=D({prefix:"combobox-label"}),Ae=D({prefix:"combobox-menu"}),Te=t(null),We=t(null),Xe=t(null),Re=t(null),Ge=t(null),Je=pe(i(!1),2),_e=Je[0],en=Je[1],nn=z(_e),rn=pe(i(null),2),tn=rn[0],an=rn[1],ln=pe(i(null),2),on=ln[0],cn=ln[1],sn=z(on),un=pe(i(""),2),dn=un[0],pn=un[1],fn=z(dn),gn=pe(i(null),2),mn=gn[0],hn=gn[1],bn=pe(i(!1),2),vn=bn[0],yn=bn[1],xn=!N(on)&&(E(on)&&on.length>0||S(on)),kn=ge&&E(on)&&on.length>0?void 0:v,wn=function(){return en(!1)},En=function(){return en(!0)},Cn=a((function(){return ua(d)}),[d]),Nn=o((function(e){return!ge||"string"!=typeof e&&"number"!=typeof e?!ge&&E(e)&&h.error("Error in Combobox: multiselect is set to `false`, but received an Array value"):h.error("Error in Combobox: multiselect is set to `true`, but received a ".concat(ie(e),' value: "').concat(e,'"')),ge&&E(e)}),[ge]),Sn=o((function(e){!M&&Re&&Re.current&&(Re.current.focus(),L(e)||Re.current.setSelectionRange(e,e))}),[M]),Ln=o((function(e){if(Nn(on)){var n=k(on);N(e)?n.length=0:on.includes(e)?n.splice(n.indexOf(e),1):(n.push(e),pn("")),cn(n),null==he||he(n)}else{var r=e;cn(r),null==he||he(r)}}),[Nn,he,on]),On=o((function(e){return Nn(on)?on.includes(e):e===on}),[Nn,on]),Dn=o((function(e){var n,r,t,a,l=(r=Cn,(n=e)?null!==(t=null===(a=r.find((function(e){return e.displayName===n})))||void 0===a?void 0:a.value)&&void 0!==t?t:n:"");return On(l)}),[Cn,On]),Mn=o((function(e){var n="string"==typeof e?e:e.value;return ee&&ee.length>0?ee.includes(n):!!Dn(dn)||("string"==typeof e?pa(n,Cn):e.displayName).toLowerCase().includes(dn.toLowerCase())}),[ee,Dn,dn,Cn]),jn=a((function(){return Cn.filter(Mn)}),[Cn,Mn]),In=o((function(e){return!!e&&!!Cn.find((function(n){return n.value===e}))}),[Cn]),zn=o((function(e){return jn?jn.findIndex((function(n){return n.value===e})):-1}),[jn]),Pn=o((function(e){if(jn&&jn.length>=e){var n=jn[e];return n?n.value:void 0}}),[jn]),Fn=o((function(){return Nn(on)?on.findIndex((function(e){var n,r;return null===(n=ze(e))||void 0===n||null===(r=n.current)||void 0===r?void 0:r.contains(document.activeElement)})):-1}),[ze,Nn,on]),An=pe(i(),2),Tn=An[0],Wn=An[1],Xn=o((function(e){var n,r=null!==(n=null==jn?void 0:jn.length)&&void 0!==n?n:0,t=r-1>0?r-1:0,a=zn(tn);switch(e&&_e&&(hn(null),Sn()),e){case"next":var l=Pn(a+1<r?a+1:0);an(null!=l?l:null);break;case"prev":var o=Pn(a-1>=0?a-1:t);an(null!=o?o:null);break;case"last":var i=Pn(t);an(null!=i?i:null);break;default:var c=Pn(0);an(null!=c?c:null)}}),[tn,zn,Pn,_e,Sn,null==jn?void 0:jn.length]),Rn=o((function(e,n){if(Nn(on))switch(e){case"next":var r=null!=n?n:Fn(),t=r+1<on.length?r+1:on.length-1,a=on[t];hn(a);break;case"prev":var l=null!=n?n:Fn(),o=l>0?l-1:l<0?on.length-1:0,i=on[o];hn(i);break;case"first":var c=on[0];hn(c);break;case"last":var s=on[on.length-1];hn(s);break;default:hn(null)}}),[Fn,Nn,on]),Gn=o((function(e,n){switch(e&&an(null),e){case"right":switch(Tn){case He:var r,t,a;if((null===(r=Re.current)||void 0===r?void 0:r.selectionEnd)===(null===(t=Re.current)||void 0===t?void 0:t.value.length))null===(a=We.current)||void 0===a||a.focus();break;case Ze:case Ke:case qe:if(Tn===qe||1===(null==on?void 0:on.length)){Sn(0),Rn(null),n.preventDefault();break}Rn("next")}break;case"left":switch(Tn){case Ve:var l;n.preventDefault(),Sn(null==Re||null===(l=Re.current)||void 0===l?void 0:l.value.length);break;case He:case Ke:case qe:if(Nn(on)){var o;if(Tn===He&&0!==(null===(o=Re.current)||void 0===o?void 0:o.selectionStart))break;Rn("prev")}}break;default:Rn(null)}}),[Tn,Nn,on,Sn,Rn]);l((function(){dn!==fn&&Xn("first")}),[dn,_e,fn,Xn]),P(tn?Ie(tn):void 0,Ge);var Hn=o((function(n){if(m(n,"ComboboxOption")){var r=sa(n.props),t=r.value,a=r.displayName;if(Mn(t)){var l=n.props,o=l.className,i=l.glyph,c=l.disabled,s=ue(l,Oa),u=Cn.findIndex((function(e){return e.value===t})),d=tn===t,p=Nn(on)?on.includes(t):on===t,f=Ie(t);return e.createElement(Na,se({},s,{value:t,displayName:a,isFocused:d,isSelected:p,disabled:c,setSelected:function(){an(t),Ln(t),Sn(),t===on&&wn()},glyph:i,className:o,index:u,ref:f}))}}else if(m(n,"ComboboxGroup")){var g=e.Children.map(n.props.children,Hn);if(g&&(null==g?void 0:g.length)>0)return e.createElement(yt,{label:n.props.label,className:n.props.className},e.Children.map(g,Hn))}}),[Cn,Ie,tn,Nn,on,Sn,Mn,Ln]),Vn=a((function(){return e.Children.map(d,Hn)}),[d,Hn]),Zn=a((function(){if(Nn(on))return on.filter(In).map((function(n,r){var t=pa(n,Cn),a=mn===n,l=ze(n),o=r>=on.length-1;return e.createElement(Qr,{key:n,displayName:t,isFocused:a,onRemove:function(){o?(Sn(),Rn(null)):Rn("next",r),Ln(n)},onFocus:function(){hn(n)},ref:l})}))}),[Nn,on,In,Cn,mn,ze,Ln,Sn,Rn]),qn=a((function(){return Cn.some((function(e){return e.hasGlyph}))}),[Cn]),Kn=o((function(){if(!Nn(on)&&on===sn){var e=jn.find((function(e){return e.displayName===dn||e.value===dn}));if(e&&!be)cn(e.value);else{var n,r=null!==(n=pa(on,Cn))&&void 0!==n?n:"";pn(r)}}}),[Cn,dn,Nn,sn,on,be,jn]),Yn=o((function(){if(xn){if(Nn(on))rr(de);else if(!Nn(on)){var e,n=null!==(e=pa(on,Cn))&&void 0!==e?e:"";pn(n),wn()}}else pn("")}),[xn,Cn,Nn,on,de]);l((function(){if(me)if(E(me)){var e,n=null!==(e=me.filter((function(e){return In(e)})))&&void 0!==e?e:[];cn(n)}else In(me)&&cn(me);else cn(function(e){return e?[]:null}(ge))}),[]),l((function(){if(!L(be)&&be!==fn)if(N(be))cn(null);else if(Nn(be)){var e=be.filter(In);cn(e)}else cn(In(be)?be:null)}),[Nn,In,fn,be]),l((function(){C(on,sn)||Yn()}),[Yn,sn,on]),l((function(){!_e&&nn&&Kn()}),[_e,nn,Kn]);var Bn=pe(i(0),2),Un=Bn[0],Jn=Bn[1];l((function(){var e,n;Jn(null!==(e=null===(n=Te.current)||void 0===n?void 0:n.clientWidth)&&void 0!==e?e:0)}),[Te,_e,tn,on]);F(wn,[Ge,Te],_e);var $n=Nn(on)&&!!on.length,Qn=w((function(e){yn(ca(e.target))}),50,{leading:!0}),_n=o((function(e){de===$e.expandY&&Qn(e)}),[Qn,de]);l((function(){Xe.current&&yn(ca(Xe.current))}),[]);var er,nr=oe({popoverZIndex:Le},Ee?{usePortal:Ee,portalClassName:Ce,portalContainer:Ne,scrollContainer:Se}:{usePortal:Ee});return e.createElement(T,{darkMode:Me},e.createElement($r.Provider,{value:{multiselect:ge,size:X,withIcons:qn,disabled:M,isOpen:_e,state:Z,searchState:Y,chipTruncationLocation:ve,chipCharacterLimit:xe,inputValue:dn,overflow:de,popoverZIndex:Le}},e.createElement("div",se({className:u(Nr(X),ke)},Oe),(p||f)&&e.createElement("div",{className:qr},p&&e.createElement(R,{id:Fe,htmlFor:Pe,darkMode:Me,disabled:M,className:u(ce({},Kr,X===Ue.Large))},p),f&&e.createElement(G,{darkMode:Me,disabled:M,className:u(ce({},Kr,X===Ue.Large))},f)),e.createElement("div",{ref:Te,role:"combobox","aria-expanded":_e,"aria-controls":Ae,"aria-owns":Ae,tabIndex:-1,onMouseDown:function(e){M&&e.preventDefault()},onClick:function(e){if(e.target!==Re.current){var n=0;if(Re.current)n=e.nativeEvent.offsetX>Re.current.offsetLeft+Re.current.clientWidth?dn.length:0;Sn(n)}En()},onFocus:function(e){rr(de),Wn(function(e){var n,r,t,a;if(!e)return;if(null!==(n=Re.current)&&void 0!==n&&n.contains(e))return He;if(null!==(r=We.current)&&void 0!==r&&r.contains(e))return Ve;var l=Nn(on)?on.findIndex((function(n){var r,t;return null===(r=ze(n))||void 0===r||null===(t=r.current)||void 0===t?void 0:t.contains(e)})):-1;if(Nn(on)){if(0===l)return Ze;if(l===on.length-1)return qe;if(l>0)return Ke}if(null!==(t=Ge.current)&&void 0!==t&&t.contains(e))return Be;if(null!==(a=Te.current)&&void 0!==a&&a.contains(e))return Ye}(e.target))},onKeyDown:function(e){var n,r,t=null===(n=Ge.current)||void 0===n?void 0:n.contains(document.activeElement);if((null===(r=Te.current)||void 0===r?void 0:r.contains(document.activeElement))||t){if(e.ctrlKey||e.shiftKey||e.altKey)return;switch(e.keyCode){case g.Tab:switch(Tn){case"Input":xn||(wn(),Xn("first"),Rn(null));break;case"LastChip":Rn(null)}break;case g.Escape:wn(),Xn("first");break;case g.Enter:Tn!==He||N(tn)||function(e){if("string"==typeof e){var n=da(e,Cn);return!(null==n||!n.isDisabled)}return!!e.isDisabled}(tn)?Tn===Ve&&(Ln(null),Sn()):Ln(tn);break;case g.Backspace:var a;if(Nn(on))"Input"===Tn&&0===(null===(a=Re.current)||void 0===a?void 0:a.selectionStart)&&Rn("last");En();break;case g.ArrowDown:_e?(e.preventDefault(),Xn("next")):En();break;case g.ArrowUp:_e?(e.preventDefault(),Xn("prev")):En();break;case g.ArrowRight:Gn("right",e);break;case g.ArrowLeft:Gn("left",e);break;default:_e||En()}}},onTransitionEnd:function(){var e,n;Jn(null!==(e=null===(n=Te.current)||void 0===n?void 0:n.clientWidth)&&void 0!==e?e:0)},className:u(Sr,Lr[je],Or(X,$n),(r={},ce(r,Dr[je],M),ce(r,Mr[je],Z===Qe.error),ce(r,jr[je],(er=He,er===Tn)),ce(r,Yr[je],vn),r))},e.createElement("div",{onScroll:_n,ref:Xe,className:Pr({size:X,overflow:de})},Zn,e.createElement("input",{"aria-label":null!=x?x:p,"aria-autocomplete":"list","aria-controls":Ae,"aria-labelledby":Fe,ref:Re,id:Pe,className:u(Fr,Wr(X),Ar[je],Xr(_e),(c={},ce(c,Rr(X,dn),Nn(on)),ce(c,Tr[je],M),c)),placeholder:kn,disabled:null!=M?M:void 0,onChange:function(e){var n=e.target.value;pn(n),null==ne||ne(n)},value:dn,autoComplete:"off"})),e.createElement("div",{className:u(Ir,zr[X])},"error"===Z&&e.createElement(y,{glyph:"Warning",fill:Br[je],className:Hr}),te&&xn&&!M&&e.createElement(A,{"aria-label":"Clear selection","aria-disabled":M,disabled:M,ref:We,onClick:function(e){M||(e.stopPropagation(),Ln(null),null==ae||ae(e),null==ne||ne(""),Sn())},onFocus:function(){an(null)},className:u(Gr),darkMode:Me},e.createElement(y,{glyph:"XWithCircle"})),e.createElement(y,{glyph:"CaretDown",className:Hr,fill:u((s={},ce(s,Ur[je],!M),ce(s,Jr[je],M),s))}))),"error"===Z&&q&&e.createElement("div",{className:u(Vr[je],Zr(X))},q),e.createElement(Ft,se({id:Ae,labelId:Fe,refEl:Te,ref:Ge,menuWidth:Un,searchLoadingMessage:_,searchErrorMessage:$,searchEmptyMessage:U},nr),Vn))));function rr(e){Xe&&Xe.current&&(e===$e.scrollX&&(Xe.current.scrollLeft=Xe.current.scrollWidth),e===$e.expandY&&(Xe.current.scrollTop=Xe.current.scrollHeight))}}Da.propTypes={multiselect:O.bool,value:O.oneOfType([O.string,O.arrayOf(O.string)]),initialValue:O.oneOfType([O.string,O.arrayOf(O.string)]),overflow:O.oneOf(Object.values($e)),darkMode:O.bool,label:O.string,"aria-label":O.string,children:O.node,onChange:O.func,chipCharacterLimit:O.number,chipTruncationLocation:O.oneOf(Object.values(Je)),onClear:O.func,onFilter:O.func,clearable:O.bool,searchLoadingMessage:O.string,searchErrorMessage:O.string,searchEmptyMessage:O.string,searchState:O.oneOf(Object.values(_e)),errorMessage:O.string,state:O.oneOf(Object.values(Qe)),size:O.oneOf(Object.values(Ue)),disabled:O.bool,description:O.string,placeholder:O.string,filteredOptions:O.arrayOf(O.string),popoverZIndex:O.number,usePortal:O.bool,scrollContainer:O.elementType,portalContainer:O.elementType,portalClassName:O.string};var Ma,ja=s(Ma||(Ma=de(["\n width: 256px;\n padding-block: 64px;\n display: flex;\n"]))),Ia=["apple","banana"],za={title:"Components/Combobox",component:Da,decorators:[function(n){return e.createElement("div",{className:ja},e.createElement(n,null))}],parameters:{default:"LiveExample",controls:{exclude:[].concat(fe(v),["as","filteredOptions","initialValue","setError","value","children"])},generate:{storyNames:["SingleSelect","MultiSelect"],combineArgs:{darkMode:[!1,!0],clearable:[!0,!1],description:[void 0,"Please pick fruit(s)"],label:[void 0,"Choose a fruit"],state:Object.values(Qe),size:Object.values(Ue)},excludeCombinations:[["description",{label:void 0}],{clearable:!1,value:void 0},{multiselect:!0,value:"apple"},{multiselect:!1,value:Ia}]}},args:{label:"Choose a fruit",description:"Please pick fruit(s)",placeholder:"Select fruit",multiselect:!1,darkMode:!1,disabled:!1,clearable:!0,errorMessage:"No Pomegranates!",children:function(){var n=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return[e.createElement(Sa,{key:"apple",value:"apple",displayName:"Apple","data-testid":"test-id",description:"Do I keep the doctor away?",onClick:function(e,n){return console.log(e,n)},className:"className"}),e.createElement(Sa,{key:"banana",value:"banana",displayName:"Banana"}),e.createElement(Sa,{key:"carrot",value:"carrot",displayName:"Carrot",disabled:!0}),e.createElement(Sa,{key:"pomegranate",value:"pomegranate",displayName:"Pomegranate",glyph:n?e.createElement(y,{glyph:"Warning"}):void 0,description:"Watch out, I stain everything I touch LOL",disabled:!0}),e.createElement(Sa,{key:"plantain",value:"plantain",displayName:"Plantain",glyph:n?e.createElement(y,{glyph:"Connect"}):void 0,description:"Don't confuse me with a banana",onClick:function(){return console.log("I was clicked")}}),e.createElement(Sa,{key:"paragraph",value:"paragraph",displayName:"Nullam quis risus eget urna mollis ornare vel eu leo. Vestibulum id ligula porta felis euismod semper."}),e.createElement(Sa,{key:"hash",value:"hash",displayName:"5f4dcc3b5aa765d61d8327deb882cf995f4dcc3b5aa765d61d8327deb882cf99"}),e.createElement(Sa,{key:"dragonfruit",value:"dragonfruit",displayName:"Dragonfruit",description:"Rawr"}),e.createElement(Sa,{key:"eggplant",value:"eggplant",displayName:"Eggplant"}),e.createElement(Sa,{key:"fig",value:"fig",displayName:"Fig"}),e.createElement(Sa,{key:"grape",value:"grape",displayName:"Grape"}),e.createElement(Sa,{key:"honeydew",value:"honeydew",displayName:"Honeydew"}),e.createElement(Sa,{key:"iceberg-lettuce",value:"iceberg-lettuce",displayName:"Iceberg lettuce"}),e.createElement(xt,{key:"peppers",label:"Peppers"},e.createElement(Sa,{key:"cayenne",value:"cayenne",displayName:"Cayenne"}),e.createElement(Sa,{key:"ghost-pepper",value:"ghost-pepper",displayName:"Ghost pepper"}),e.createElement(Sa,{key:"habanero",value:"habanero",displayName:"Habanero"}),e.createElement(Sa,{key:"jalapeno",value:"jalapeno",displayName:"Jalapeño"}),e.createElement(Sa,{key:"red-pepper",value:"red-pepper",displayName:"Red pepper"}),e.createElement(Sa,{key:"scotch-bonnet",value:"scotch-bonnet",displayName:"Scotch bonnet",description:"Don't touch your eyes"}))]}()},argTypes:{darkMode:b.darkMode,multiselect:{control:"boolean"},disabled:{control:"boolean"},clearable:{control:"boolean"},label:{control:"text"},description:{control:"text"},placeholder:{control:"text"},size:{options:Object.values(Ue),control:"select"},state:{options:Object.values(Qe),control:"select"},errorMessage:{control:"text"},searchEmptyMessage:{control:"text"},searchState:{options:Object.values(_e),control:"select"},searchErrorMessage:{control:"text",if:{arg:"searchState",eq:_e.error}},searchLoadingMessage:{control:"text",if:{arg:"searchState",eq:_e.loading}},chipTruncationLocation:{options:Object.values(Je),control:"select",if:{arg:"multiselect"}},chipCharacterLimit:{control:"number",if:{arg:"multiselect"}},overflow:{options:Object.values($e),control:"select",if:{arg:"multiselect"}}}},Pa=function(n){return e.createElement(e.Fragment,null,n.multiselect?e.createElement(Da,se({key:"multi"},n,{multiselect:!0})):e.createElement(Da,se({key:"single"},n,{multiselect:!1})))};Pa.parameters={chromatic:{disableSnapshot:!0}};var Fa=function(){var n=pe(i(null),2),r=n[0],t=n[1];return e.createElement("div",null,e.createElement(Da,{multiselect:!1,label:"Choose a fruit",description:"Please pick one",placeholder:"Select fruit",onChange:function(e){t(e)},value:r},e.createElement(Sa,{value:"apple"}),e.createElement(Sa,{value:"banana"}),e.createElement(Sa,{value:"carrot"})),e.createElement(c,{onClick:function(){return t("carrot")}},"Select Carrot"))};Fa.parameters={chromatic:{disableSnapshot:!0}};var Aa=function(){var n=["apple","banana","carrot","dragonfruit","eggplant","fig","grape","honeydew","iceberg-lettuce","jalapeño"],r=pe(i(["carrot","grape"]),2),t=r[0],a=r[1];return e.createElement(Da,{label:"Choose some fruit",placeholder:"Select fruit",initialValue:["apple","fig","raspberry"],multiselect:!0,overflow:"expand-y",onFilter:function(e){a(n.filter((function(n){return n.includes(e)})))},filteredOptions:t},n.map((function(n){return e.createElement(Sa,{key:n,value:n})})))};Aa.parameters={chromatic:{disableSnapshot:!0}};var Ta=function(){return e.createElement(e.Fragment,null)};Ta.args={multiselect:!1},Ta.parameters={generate:{combineArgs:{value:[void 0,"apple"]}}};var Wa=function(){return e.createElement(e.Fragment,null)};Wa.args={multiselect:!0},Wa.parameters={generate:{combineArgs:{value:[void 0,Ia]}}};export{Fa as ControlledSingleSelect,Aa as ExternalFilter,Pa as LiveExample,Wa as MultiSelect,Ta as SingleSelect,za as default};