@leafygreen-ui/combobox 1.2.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +31 -0
- package/dist/Chip.d.ts.map +1 -1
- package/dist/Combobox.d.ts.map +1 -1
- package/dist/Combobox.styles.d.ts +39 -41
- package/dist/Combobox.styles.d.ts.map +1 -1
- package/dist/Combobox.types.d.ts +5 -0
- package/dist/Combobox.types.d.ts.map +1 -1
- package/dist/ComboboxContext.d.ts +5 -1
- package/dist/ComboboxContext.d.ts.map +1 -1
- package/dist/ComboboxGroup.d.ts.map +1 -1
- package/dist/ComboboxMenu/ComboboxMenu.d.ts +10 -0
- package/dist/ComboboxMenu/ComboboxMenu.d.ts.map +1 -0
- package/dist/ComboboxMenu/Menu.styles.d.ts +25 -0
- package/dist/ComboboxMenu/Menu.styles.d.ts.map +1 -0
- package/dist/ComboboxOption.d.ts.map +1 -1
- package/dist/Menu.styles.d.ts +21 -0
- package/dist/Menu.styles.d.ts.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +8 -9
- package/src/Chip.tsx +125 -91
- package/src/Combobox.story.tsx +2 -0
- package/src/Combobox.styles.ts +250 -300
- package/src/Combobox.tsx +155 -180
- package/src/Combobox.types.ts +7 -0
- package/src/ComboboxContext.tsx +16 -1
- package/src/ComboboxGroup.tsx +27 -17
- package/src/ComboboxMenu/ComboboxMenu.tsx +161 -0
- package/src/ComboboxMenu/Menu.styles.ts +131 -0
- package/src/ComboboxOption.tsx +120 -32
- package/src/Menu.styles.ts +110 -0
- package/tsconfig.json +0 -3
- package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,36 @@
|
|
|
1
1
|
# @leafygreen-ui/combobox
|
|
2
2
|
|
|
3
|
+
## 2.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- a0beace8: Updates Combobox for visual refresh. Adds Dark Mode
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [85d46871]
|
|
12
|
+
- Updated dependencies [99e20bb9]
|
|
13
|
+
- @leafygreen-ui/lib@9.4.0
|
|
14
|
+
- @leafygreen-ui/checkbox@9.0.0
|
|
15
|
+
- @leafygreen-ui/icon-button@13.0.0
|
|
16
|
+
- @leafygreen-ui/popover@9.0.0
|
|
17
|
+
- @leafygreen-ui/typography@13.0.0
|
|
18
|
+
- @leafygreen-ui/tooltip@7.0.4
|
|
19
|
+
- @leafygreen-ui/inline-definition@4.0.1
|
|
20
|
+
|
|
21
|
+
## 1.2.2
|
|
22
|
+
|
|
23
|
+
### Patch Changes
|
|
24
|
+
|
|
25
|
+
- fad2b287: Fixes a bug where occasionally the max menu height would be set to 0 if a ref was left unset
|
|
26
|
+
|
|
27
|
+
## 1.2.1
|
|
28
|
+
|
|
29
|
+
### Patch Changes
|
|
30
|
+
|
|
31
|
+
- Updated dependencies [f0a357e2]
|
|
32
|
+
- @leafygreen-ui/tooltip@7.0.3
|
|
33
|
+
|
|
3
34
|
## 1.2.0
|
|
4
35
|
|
|
5
36
|
### Minor Changes
|
package/dist/Chip.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chip.d.ts","sourceRoot":"","sources":["../src/Chip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AACtE,OAAO,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"Chip.d.ts","sourceRoot":"","sources":["../src/Chip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AACtE,OAAO,EAAE,SAAS,EAA+B,MAAM,kBAAkB,CAAC;AAgI1E,eAAO,MAAM,IAAI,mFAqIhB,CAAC"}
|
package/dist/Combobox.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../src/Combobox.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../src/Combobox.tsx"],"names":[],"mappings":";AAoBA,OAAO,EACL,aAAa,EAQd,MAAM,kBAAkB,CAAC;AAmC1B;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,CAAC,SAAS,OAAO,EAAE,EAClD,QAAQ,EACR,KAAK,EACL,WAAW,EACX,WAAsB,EACtB,YAAY,EAAE,SAAS,EACvB,QAAgB,EAChB,IAA2B,EAC3B,QAAgB,EAChB,KAAc,EACd,YAAY,EACZ,WAAqB,EACrB,kBAAuC,EACvC,kBAA6C,EAC7C,oBAA2C,EAC3C,eAAe,EACf,QAAQ,EACR,SAAgB,EAChB,OAAO,EACP,QAAqB,EACrB,WAAwB,EACxB,YAAY,EACZ,QAAQ,EACR,KAAK,EACL,sBAAsB,EACtB,kBAAuB,EACvB,SAAS,EACT,SAAgB,EAChB,eAAe,EACf,eAAe,EACf,eAAe,EACf,aAAa,EACb,GAAG,IAAI,EACR,EAAE,aAAa,CAAC,CAAC,CAAC,eAiuClB;AACD;;;GAGG"}
|
|
@@ -1,48 +1,46 @@
|
|
|
1
|
+
import { ComboboxSize as Size, Overflow, Theme } from './Combobox.types';
|
|
1
2
|
/**
|
|
2
|
-
*
|
|
3
|
+
* Width of the widest character (in px)
|
|
3
4
|
*/
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}) => string;
|
|
12
|
-
export declare const comboboxStyle: string;
|
|
13
|
-
export declare const comboboxFocusStyle: string;
|
|
14
|
-
export declare const interactionRingColor: ({ state, darkMode, }: {
|
|
15
|
-
state: State;
|
|
16
|
-
darkMode: boolean;
|
|
17
|
-
}) => {
|
|
18
|
-
hovered: "#8F221B" | undefined;
|
|
19
|
-
} | {
|
|
20
|
-
hovered: "#FCEBE2" | undefined;
|
|
5
|
+
export declare const maxCharWidth: Record<Size, number>;
|
|
6
|
+
/**
|
|
7
|
+
* Vertical padding on a chip (in px)
|
|
8
|
+
*/
|
|
9
|
+
export declare const chipWrapperPaddingY: {
|
|
10
|
+
readonly default: 2;
|
|
11
|
+
readonly large: 4;
|
|
21
12
|
};
|
|
22
|
-
export declare const inputWrapperStyle: ({ overflow, isOpen, selection, size, value, }: {
|
|
23
|
-
overflow: Overflow;
|
|
24
|
-
isOpen: boolean;
|
|
25
|
-
selection: string | Array<string> | null;
|
|
26
|
-
size: ComboboxSize;
|
|
27
|
-
value?: string | undefined;
|
|
28
|
-
}) => string;
|
|
29
|
-
export declare const inputElementStyle: string;
|
|
30
|
-
export declare const clearButtonStyle: string;
|
|
31
|
-
export declare const clearButtonFocusOverrideStyles: string;
|
|
32
|
-
export declare const errorMessageStyle: string;
|
|
33
|
-
export declare const endIcon: string;
|
|
34
|
-
export declare const loadingIconStyle: string;
|
|
35
13
|
/**
|
|
36
|
-
*
|
|
14
|
+
* Size of combobox x & y padding (in px)
|
|
37
15
|
*/
|
|
38
|
-
export declare const
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
export declare const
|
|
44
|
-
|
|
16
|
+
export declare const comboboxPadding: Record<Size, {
|
|
17
|
+
x: number;
|
|
18
|
+
y: number;
|
|
19
|
+
}>;
|
|
20
|
+
/** Width of the dropdown caret icon (in px) */
|
|
21
|
+
export declare const caretIconSize: 16;
|
|
22
|
+
export declare const chipClassName: string;
|
|
23
|
+
export declare const comboboxParentStyle: (size: Size, overflow?: Overflow | undefined) => string;
|
|
24
|
+
export declare const baseComboboxStyles: string;
|
|
25
|
+
export declare const comboboxThemeStyles: Record<Theme, string>;
|
|
26
|
+
export declare const comboboxSizeStyles: (size: Size) => string;
|
|
27
|
+
export declare const comboboxDisabledStyles: Record<Theme, string>;
|
|
28
|
+
export declare const comboboxErrorStyles: Record<Theme, string>;
|
|
29
|
+
export declare const comboboxFocusStyle: Record<Theme, string>;
|
|
30
|
+
export declare const inputWrapperStyle: ({ overflow, size, }: {
|
|
31
|
+
overflow: Overflow;
|
|
32
|
+
size: Size;
|
|
45
33
|
}) => string;
|
|
46
|
-
export declare const
|
|
47
|
-
export declare const
|
|
34
|
+
export declare const baseInputElementStyle: string;
|
|
35
|
+
export declare const inputElementThemeStyle: Record<Theme, string>;
|
|
36
|
+
export declare const inputElementSizeStyle: Record<Size, string>;
|
|
37
|
+
export declare const inputElementTransitionStyles: (isOpen: boolean, overflow: Overflow) => string;
|
|
38
|
+
/** Should only be applied to a multiselect */
|
|
39
|
+
export declare const multiselectInputElementStyle: (size: Size, inputValue?: string | undefined) => string;
|
|
40
|
+
export declare const multiselectInputElementPadding: (selection: string | Array<string> | null) => string;
|
|
41
|
+
export declare const clearButtonStyle: string;
|
|
42
|
+
export declare const endIconStyle: (size: Size) => string;
|
|
43
|
+
export declare const errorMessageThemeStyle: Record<Theme, string>;
|
|
44
|
+
export declare const errorMessageSizeStyle: Record<Size, string>;
|
|
45
|
+
export declare const labelDescriptionContainerStyle: string;
|
|
48
46
|
//# sourceMappingURL=Combobox.styles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Combobox.styles.d.ts","sourceRoot":"","sources":["../src/Combobox.styles.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Combobox.styles.d.ts","sourceRoot":"","sources":["../src/Combobox.styles.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,YAAY,IAAI,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzE;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAG7C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;CAGtB,CAAC;AAYX;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,IAAI,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CASlE,CAAC;AAEF,+CAA+C;AAC/C,eAAO,MAAM,aAAa,IAAa,CAAC;AAexC,eAAO,MAAM,aAAa,QAAyC,CAAC;AAEpE,eAAO,MAAM,mBAAmB,SACxB,IAAI,sCAET,MAaF,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAU9B,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAmBrD,CAAC;AAEF,eAAO,MAAM,kBAAkB,SAAU,IAAI,WAE5C,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAaxD,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAOrD,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAepD,CAAC;AAEF,eAAO,MAAM,iBAAiB;cAIlB,QAAQ;UACZ,IAAI;YA4DX,CAAC;AAEF,eAAO,MAAM,qBAAqB,QAkBjC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAWxD,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAetD,CAAC;AAGF,eAAO,MAAM,4BAA4B,WAC/B,OAAO,YACL,QAAQ,WAUhB,CAAC;AAGL,8CAA8C;AAC9C,eAAO,MAAM,4BAA4B,SACjC,IAAI,4CAUX,CAAC;AAGF,eAAO,MAAM,8BAA8B,cAC9B,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,IAAI,WAWzC,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAG5B,CAAC;AAEF,eAAO,MAAM,YAAY,SAAU,IAAI,WAItC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAOxD,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAWtD,CAAC;AACF,eAAO,MAAM,8BAA8B,QAE1C,CAAC"}
|
package/dist/Combobox.types.d.ts
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { ReactElement, ReactNode } from 'react';
|
|
2
2
|
import { Either } from '@leafygreen-ui/lib';
|
|
3
|
+
export declare const Theme: {
|
|
4
|
+
readonly Dark: "dark";
|
|
5
|
+
readonly Light: "light";
|
|
6
|
+
};
|
|
7
|
+
export declare type Theme = typeof Theme[keyof typeof Theme];
|
|
3
8
|
/**
|
|
4
9
|
* Prop Enums & Types
|
|
5
10
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Combobox.types.d.ts","sourceRoot":"","sources":["../src/Combobox.types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Combobox.types.d.ts","sourceRoot":"","sources":["../src/Combobox.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { ComboboxSize, TrunctationLocation } from './Combobox.types';
|
|
2
|
+
import { ComboboxSize, SearchState, State, TrunctationLocation } from './Combobox.types';
|
|
3
3
|
interface ComboboxData {
|
|
4
4
|
multiselect: boolean;
|
|
5
5
|
darkMode: boolean;
|
|
6
6
|
size: ComboboxSize;
|
|
7
7
|
withIcons: boolean;
|
|
8
8
|
disabled: boolean;
|
|
9
|
+
isOpen: boolean;
|
|
10
|
+
state: State;
|
|
11
|
+
searchState: SearchState;
|
|
9
12
|
chipTruncationLocation?: TrunctationLocation;
|
|
10
13
|
chipCharacterLimit?: number;
|
|
11
14
|
inputValue?: string;
|
|
12
15
|
}
|
|
13
16
|
export declare const ComboboxContext: import("react").Context<ComboboxData>;
|
|
17
|
+
export declare const useDarkMode: (darkMode: boolean) => "dark" | "light";
|
|
14
18
|
export {};
|
|
15
19
|
//# sourceMappingURL=ComboboxContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxContext.d.ts","sourceRoot":"","sources":["../src/ComboboxContext.tsx"],"names":[],"mappings":";AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"ComboboxContext.d.ts","sourceRoot":"","sources":["../src/ComboboxContext.tsx"],"names":[],"mappings":";AACA,OAAO,EACL,YAAY,EACZ,WAAW,EACX,KAAK,EAEL,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAE1B,UAAU,YAAY;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,YAAY,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,EAAE,WAAW,CAAC;IACzB,sBAAsB,CAAC,EAAE,mBAAmB,CAAC;IAC7C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,eAAe,uCAS1B,CAAC;AAEH,eAAO,MAAM,WAAW,aAAc,OAAO,qBACR,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxGroup.d.ts","sourceRoot":"","sources":["../src/ComboboxGroup.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"ComboboxGroup.d.ts","sourceRoot":"","sources":["../src/ComboboxGroup.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,kBAAkB,EAAS,MAAM,kBAAkB,CAAC;AAkC7D,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,SAAS,EACT,QAAQ,GACT,EAAE,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAsBlC;AAID,iBAAwB,aAAa,CAAC,CAAC,EAAE,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAExE;kBAFuB,aAAa;;;eAAb,aAAa"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ComboboxProps } from '../Combobox.types';
|
|
3
|
+
export declare const ComboboxMenu: React.ForwardRefExoticComponent<{
|
|
4
|
+
children?: React.ReactNode;
|
|
5
|
+
refEl: React.RefObject<HTMLDivElement>;
|
|
6
|
+
id: string;
|
|
7
|
+
labelId: string;
|
|
8
|
+
menuWidth: number;
|
|
9
|
+
} & Pick<ComboboxProps<any>, "searchEmptyMessage" | "searchErrorMessage" | "searchLoadingMessage" | "usePortal" | "portalClassName" | "portalContainer" | "scrollContainer" | "popoverZIndex"> & React.RefAttributes<HTMLDivElement>>;
|
|
10
|
+
//# sourceMappingURL=ComboboxMenu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComboboxMenu.d.ts","sourceRoot":"","sources":["../../src/ComboboxMenu/ComboboxMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAiBnD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAsBlD,eAAO,MAAM,YAAY;eAjBZ,MAAM,SAAS;WACnB,MAAM,SAAS,CAAC,cAAc,CAAC;QAClC,MAAM;aACD,MAAM;eACJ,MAAM;qOAoIlB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ComboboxSize as Size, Theme } from '../Combobox.types';
|
|
2
|
+
export declare const menuItemPadding: Record<Size, {
|
|
3
|
+
x: number;
|
|
4
|
+
y: number;
|
|
5
|
+
}>;
|
|
6
|
+
/** Height of a menu item (in px) */
|
|
7
|
+
export declare const menuItemHeight: {
|
|
8
|
+
default: number;
|
|
9
|
+
large: number;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Menu styles
|
|
13
|
+
*/
|
|
14
|
+
export declare const popoverStyle: (width?: number) => string;
|
|
15
|
+
export declare const popoverThemeStyle: Record<Theme, string>;
|
|
16
|
+
export declare const menuBaseStyle: string;
|
|
17
|
+
export declare const menuThemeStyle: Record<Theme, string>;
|
|
18
|
+
export declare const menuSizeStyle: Record<Size, string>;
|
|
19
|
+
export declare const menuList: string;
|
|
20
|
+
export declare const menuMessageBaseStyle: string;
|
|
21
|
+
export declare const menuMessageThemeStyle: Record<Theme, string>;
|
|
22
|
+
export declare const menuMessageSizeStyle: Record<Size, string>;
|
|
23
|
+
export declare const menuMessageIconSizeStyle: Record<Size, string>;
|
|
24
|
+
export declare const loadingIconStyle: string;
|
|
25
|
+
//# sourceMappingURL=Menu.styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Menu.styles.d.ts","sourceRoot":"","sources":["../../src/ComboboxMenu/Menu.styles.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,IAAI,IAAI,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAEhE,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,IAAI,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAGlE,CAAC;AAEF,oCAAoC;AACpC,eAAO,MAAM,cAAc;;;CAI1B,CAAC;AAEF;;GAEG;AAEH,eAAO,MAAM,YAAY,4BAKxB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CASnD,CAAC;AAEF,eAAO,MAAM,aAAa,QASzB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAShD,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAO9C,CAAC;AAEF,eAAO,MAAM,QAAQ,QAIpB,CAAC;AAEF,eAAO,MAAM,oBAAoB,QAKhC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAOvD,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAarD,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CASzD,CAAC;AAWF,eAAO,MAAM,gBAAgB,QAE5B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxOption.d.ts","sourceRoot":"","sources":["../src/ComboboxOption.tsx"],"names":[],"mappings":"AACA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAMhE,OAAO,EACL,mBAAmB,EACnB,2BAA2B,
|
|
1
|
+
{"version":3,"file":"ComboboxOption.d.ts","sourceRoot":"","sources":["../src/ComboboxOption.tsx"],"names":[],"mappings":"AACA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAMhE,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAG5B,MAAM,kBAAkB,CAAC;AAyJ1B;;GAEG;AACH,QAAA,MAAM,sBAAsB,mGA8I3B,CAAC;AAGF,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAClC,iBAAwB,cAAc,CAAC,CAAC,EAAE,mBAAmB,GAAG,GAAG,CAAC,OAAO,CAE1E;kBAFuB,cAAc;;;eAAd,cAAc"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ComboboxSize, Theme } from './Combobox.types';
|
|
2
|
+
/** Height of a menu item (in px) */
|
|
3
|
+
export declare const menuItemHeight = 36;
|
|
4
|
+
export declare const menuItemPadding: Record<ComboboxSize, {
|
|
5
|
+
x: number;
|
|
6
|
+
y: number;
|
|
7
|
+
}>;
|
|
8
|
+
/**
|
|
9
|
+
* Menu styles
|
|
10
|
+
*/
|
|
11
|
+
export declare const popoverStyle: (width?: number) => string;
|
|
12
|
+
export declare const popoverThemeStyle: Record<Theme, string>;
|
|
13
|
+
export declare const menuBaseStyle: string;
|
|
14
|
+
export declare const menuThemeStyle: Record<Theme, string>;
|
|
15
|
+
export declare const menuList: string;
|
|
16
|
+
export declare const menuMessageBaseStyle: string;
|
|
17
|
+
export declare const menuMessageThemeStyle: Record<Theme, string>;
|
|
18
|
+
export declare const menuMessageSizeStyle: Record<ComboboxSize, string>;
|
|
19
|
+
export declare const menuMessageIconSizeStyle: Record<ComboboxSize, string>;
|
|
20
|
+
export declare const loadingIconStyle: string;
|
|
21
|
+
//# sourceMappingURL=Menu.styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Menu.styles.d.ts","sourceRoot":"","sources":["../src/Menu.styles.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEvD,oCAAoC;AACpC,eAAO,MAAM,cAAc,KAAK,CAAC;AAEjC,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,YAAY,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAG1E,CAAC;AAEF;;GAEG;AAEH,eAAO,MAAM,YAAY,4BAIxB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAKnD,CAAC;AAEF,eAAO,MAAM,aAAa,QAUzB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAMhD,CAAC;AAEF,eAAO,MAAM,QAAQ,QAIpB,CAAC;AAEF,eAAO,MAAM,oBAAoB,QAKhC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAKvD,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAe7D,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CASjE,CAAC;AAWF,eAAO,MAAM,gBAAgB,QAE5B,CAAC"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import n,{createContext as o,useContext as e,useCallback as r,useMemo as t,useRef as i,useEffect as l,useState as a}from"react";import{isArray as c,isNull as s,isString as u,isUndefined as b,clone as d,isEqual as g}from"lodash";import{Label as p,Description as m}from"@leafygreen-ui/typography";import f from"@leafygreen-ui/popover";import{useIdAllocator as h,useForwardedRef as v,useDynamicRefs as x,usePrevious as y,useAvailableSpace as w,useEventListener as k}from"@leafygreen-ui/hooks";import C,{isComponentGlyph as O}from"@leafygreen-ui/icon";import N from"@leafygreen-ui/icon-button";import{css as z,cx as S,keyframes as D}from"@leafygreen-ui/emotion";import{uiColors as j}from"@leafygreen-ui/palette";import{isComponentType as I,createUniqueClassName as M,keyMap as E,consoleOnce as P}from"@leafygreen-ui/lib";import T from"@leafygreen-ui/checkbox";import{jsx as A}from"@emotion/react";import F from"lodash/kebabCase";import{fontFamilies as L,typeScales as R}from"@leafygreen-ui/tokens";import H from"@leafygreen-ui/inline-definition";function W(n,o){var e=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);o&&(r=r.filter((function(o){return Object.getOwnPropertyDescriptor(n,o).enumerable}))),e.push.apply(e,r)}return e}function G(n){return G="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},G(n)}function K(n,o,e){return o in n?Object.defineProperty(n,o,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[o]=e,n}function U(){return U=Object.assign||function(n){for(var o=1;o<arguments.length;o++){var e=arguments[o];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r])}return n},U.apply(this,arguments)}function V(n,o){if(null==n)return{};var e,r,t=function(n,o){if(null==n)return{};var e,r,t={},i=Object.keys(n);for(r=0;r<i.length;r++)e=i[r],o.indexOf(e)>=0||(t[e]=n[e]);return t}(n,o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);for(r=0;r<i.length;r++)e=i[r],o.indexOf(e)>=0||Object.prototype.propertyIsEnumerable.call(n,e)&&(t[e]=n[e])}return t}function B(n,o){return o||(o=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(o)}}))}function X(n,o){return function(n){if(Array.isArray(n))return n}(n)||function(n,o){var e=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null==e)return;var r,t,i=[],l=!0,a=!1;try{for(e=e.call(n);!(l=(r=e.next()).done)&&(i.push(r.value),!o||i.length!==o);l=!0);}catch(n){a=!0,t=n}finally{try{l||null==e.return||e.return()}finally{if(a)throw t}}return i}(n,o)||Y(n,o)||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 Z(n){return function(n){if(Array.isArray(n))return $(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||Y(n)||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 Y(n,o){if(n){if("string"==typeof n)return $(n,o);var e=Object.prototype.toString.call(n).slice(8,-1);return"Object"===e&&n.constructor&&(e=n.constructor.name),"Map"===e||"Set"===e?Array.from(n):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?$(n,o):void 0}}function $(n,o){(null==o||o>n.length)&&(o=n.length);for(var e=0,r=new Array(o);e<o;e++)r[e]=n[e];return r}var q="Input",J="ClearButton",Q="FirstChip",_="LastChip",nn="MiddleChip",on="Combobox",en="Menu",rn="default",tn="large";var ln,an,cn,sn,un,bn,dn,gn,pn,mn,fn,hn,vn,xn,yn,wn,kn,Cn,On,Nn,zn,Sn,Dn,jn,In,Mn,En,Pn,Tn,An,Fn,Ln,Rn,Hn=o({multiselect:!1,darkMode:!1,size:rn,withIcons:!1,disabled:!1}),Wn=function(o,e,r){if(e&&r){var t=new RegExp(e,"gi"),i=o.matchAll(t);if(i){for(var l=o.split(""),a=0,c=Array.from(i);a<c.length;a++){var s,u=c[a],b=null!==(s=u.index)&&void 0!==s?s:-1,d=u[0],g=d.length,p=b+d+g,m=new Array(g).fill("");m[0]=n.createElement(r,{key:p},d),l.splice.apply(l,[b,g].concat(Z(m)))}return A(n.Fragment,null,l)}return A(n.Fragment,null,o)}return A(n.Fragment,null,o)},Gn=function(n){var o,e=n.value,r=n.displayName;return{value:null!=e?e:F(r),displayName:null!==(o=null!=r?r:e)&&void 0!==o?o:""}},Kn=function(n,o){if(n)return o.find((function(o){return o.value===n}))},Un=function(n,o){var e,r;return n?null!==(e=null===(r=Kn(n,o))||void 0===r?void 0:r.displayName)&&void 0!==e?e:n:""},Vn=function o(e){return n.Children.toArray(e).reduce((function(n,e){if(I(e,"ComboboxOption")){var r=Gn(e.props),t=r.value,i=r.displayName,l=e.props,a=l.glyph,c=l.disabled;return[].concat(Z(n),[{value:t,displayName:i,isDisabled:!!c,hasGlyph:!!a}])}if(I(e,"ComboboxGroup")){var s=e.props.children;if(s)return[].concat(Z(n),Z(o(s)))}}),[])},Bn=z(ln||(ln=B(["\n position: relative;\n display: flex;\n align-items: center;\n justify-content: space-between;\n list-style: none;\n color: inherit;\n cursor: pointer;\n overflow: hidden;\n font-family: ",";\n font-size: var(--lg-combobox-item-font-size);\n line-height: var(--lg-combobox-item-line-height);\n padding: var(--lg-combobox-item-padding-y) var(--lg-combobox-item-padding-x);\n\n // Left wedge\n &:before {\n content: '';\n position: absolute;\n left: 0;\n width: 3px;\n height: var(--lg-combobox-item-wedge-height);\n background-color: transparent;\n border-radius: 0 2px 2px 0;\n transform: scaleY(0.3);\n transition: 150ms ease-in-out;\n transition-property: transform, background-color;\n }\n\n &:hover {\n outline: none;\n background-color: var(--lg-combobox-item-hover-color);\n }\n\n &[aria-selected='true'] {\n outline: none;\n background-color: var(--lg-combobox-item-active-color);\n\n &:before {\n background-color: var(--lg-combobox-item-wedge-color);\n transform: scaleY(1);\n }\n }\n"])),L.legacy),Xn=z(an||(an=B(["\n cursor: not-allowed;\n color: ",";\n\n &:hover {\n background-color: inherit;\n }\n"])),j.gray.base),Zn=z(cn||(cn=B(["\n display: inline-flex;\n gap: 8px;\n justify-content: start;\n align-items: inherit;\n overflow-wrap: anywhere;\n"]))),Yn=z(sn||(sn=B(["\n pointer-events: none;\n"]))),$n=function(n){return z(un||(un=B(["\n font-weight: ",";\n"])),n?"bold":"normal")},qn=n.forwardRef((function(o,i){var l=o.displayName,a=o.glyph,c=o.isSelected,s=o.isFocused,u=o.disabled,b=o.setSelected,d=o.className,g=e(Hn),p=g.multiselect,m=g.darkMode,f=g.withIcons,x=g.inputValue,y=h({prefix:"combobox-option-text"}),w=v(i,null),k=r((function(n){n.stopPropagation(),u||n.target!==w.current&&"INPUT"!==n.target.tagName||b()}),[u,w,b]),N=t((function(){if(a){if(O(a)||I(a,"Icon"))return a;console.error("`ComboboxOption` instance did not render icon because it is not a known glyph element.",a)}}),[a]),z=t((function(){if(p){var o=A(T,{label:"","aria-labelledby":y,checked:c,tabIndex:-1,animate:!1,disabled:u});return A(n.Fragment,null,A("span",{className:S(Zn,Yn)},f?N:o,A("span",{id:y,className:$n(c)},Wn(l,x,"strong"))),f&&o)}return A(n.Fragment,null,A("span",{className:S(Zn,Yn)},N,A("span",{className:$n(c)},Wn(l,x,"strong"))),c&&A(C,{glyph:"Checkmark",color:m?j.blue.light1:j.blue.base}))}),[p,N,c,l,x,m,y,u,f]);return A("li",{ref:w,role:"option","aria-selected":s,"aria-label":l,tabIndex:-1,className:S(Bn,K({},Xn,u),d),onClick:k,onKeyDown:k},z)}));function Jn(n){throw Error("`ComboboxOption` must be a child of a `Combobox` instance")}qn.displayName="ComboboxOption",Jn.displayName="ComboboxOption";var Qn,_n,no,oo,eo,ro,to,io,lo,ao=(K(bn={},rn,R.body1.fontSize),K(bn,tn,R.body2.fontSize),bn),co=M("combobox-chip"),so=z(dn||(dn=B(["\n font-family: ",";\n font-size: var(--lg-combobox-font-size);\n line-height: var(--lg-combobox-line-height);\n"])),L.legacy),uo=function(n){var o=n.darkMode,e=n.size,r=n.overflow;return S(function(n){return n?z(gn||(gn=B([""]))):z(pn||(pn=B(["\n --lg-combobox-color-error: ",";\n --lg-combobox-text-color: ",";\n --lg-combobox-text-color-disabled: ",";\n\n --lg-combobox-background-color: ",";\n --lg-combobox-background-color-focus: ",";\n --lg-combobox-background-color-disabled: ",";\n\n --lg-combobox-border-color: ",";\n --lg-combobox-border-color-disabled: ",";\n --lg-combobox-border-color-error: ",";\n\n --lg-combobox-shadow: 0px 1px 2px rgba(6, 22, 33, 0.3);\n --lg-combobox-shadow-focus: 0px 4px 4px rgba(6, 22, 33, 0.3);\n "])),j.red.base,j.gray.dark3,j.gray.dark1,j.gray.light3,j.white,j.gray.light2,j.gray.base,j.gray.light1,j.red.base)}(o),function(n){switch(n){case rn:return z(mn||(mn=B(["\n --lg-combobox-padding-y: 5px;\n --lg-combobox-padding-x: 7px;\n --lg-combobox-height: calc(\n 36px - 2px - 2 * var(--lg-combobox-padding-y)\n );\n --lg-combobox-font-size: ","px; // TODO: update this for redesign\n --lg-combobox-line-height: ","px;\n "])),R.body1.fontSize+1,R.body1.lineHeight+1);case tn:return z(fn||(fn=B(["\n --lg-combobox-padding-y: 9px;\n --lg-combobox-padding-x: 11px;\n --lg-combobox-height: calc(\n 48px - 2px - 2 * var(--lg-combobox-padding-y)\n );\n --lg-combobox-font-size: ","px;\n --lg-combobox-line-height: ","px;\n "])),R.body2.fontSize,R.body2.lineHeight)}}(e),z(hn||(hn=B(["\n --lg-combobox-icon-height: 16px;\n --lg-combobox-border-radius: 3px;\n --lg-combobox-width: ",";\n --lg-combobox-padding: var(--lg-combobox-padding-y)\n var(--lg-combobox-padding-x) var(--lg-combobox-padding-y)\n ",";\n width: var(--lg-combobox-width);\n // TODO: Clean this up 🤮\n min-width: calc(\n ","px + var(--lg-combobox-padding-x) * 2 + 2px +\n var(--lg-combobox-icon-height)\n );\n "])),"expand-x"===r?"unset":"100%","scroll-x"===r?"0":"var(--lg-combobox-padding-x)",ao[e]))},bo=z(vn||(vn=B(["\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n padding: var(--lg-combobox-padding);\n color: var(--lg-combobox-text-color);\n background-color: var(--lg-combobox-background-color);\n box-shadow: var(--lg-combobox-shadow);\n border: 1px solid var(--lg-combobox-border-color);\n border-radius: var(--lg-combobox-border-radius);\n width: var(--lg-combobox-width);\n cursor: text;\n transition: 150ms ease-in-out;\n transition-property: background-color, box-shadow, border-color;\n\n &[data-disabled='true'] {\n color: var(--lg-combobox-text-color-disabled);\n background-color: var(--lg-combobox-background-color-disabled);\n border-color: var(--lg-combobox-border-color-disabled);\n box-shadow: unset;\n cursor: not-allowed;\n }\n\n &[data-state='error'] {\n border-color: var(--lg-combobox-border-color-error);\n }\n"]))),go=z(xn||(xn=B(["\n &:focus-within {\n border-color: transparent;\n background-color: var(--lg-combobox-background-color-focus);\n // TODO: Remove for UI refresh & Darkmode\n box-shadow: 0 0 0 3px ",", var(--lg-combobox-shadow-focus);\n }\n"])),j.focus),po=function(n){var o,e=n.overflow,r=n.isOpen,t=n.selection,i=n.size,l=n.value,a=c(t)&&t.length>0,s=null!==(o=null==l?void 0:l.length)&&void 0!==o?o:0,u=z(yn||(yn=B(["\n flex-grow: 1;\n width: var(--lg-combobox-width);\n\n --lg-combobox-input-width: ",";\n --lg-combobox-input-min-width: ","px;\n "])),a?"".concat(s*ao[i],"px"):"100%",ao[i]);switch(e){case"scroll-x":return z(wn||(wn=B(["\n ","\n display: block;\n height: var(--lg-combobox-height);\n white-space: nowrap;\n overflow-x: scroll;\n padding-left: var(--lg-combobox-padding-x);\n scroll-behavior: smooth;\n scrollbar-width: none;\n /*\n * Immediate transition in, slow transition out. \n * '-in' transition is handled by `scroll-behavior` \n */\n --lg-combobox-input-transition: width ease-in-out\n ",";\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 "],["\n ","\n display: block;\n height: var(--lg-combobox-height);\n white-space: nowrap;\n overflow-x: scroll;\n padding-left: var(--lg-combobox-padding-x);\n scroll-behavior: smooth;\n scrollbar-width: none;\n /*\n * Immediate transition in, slow transition out. \n * '-in' transition is handled by \\`scroll-behavior\\` \n */\n --lg-combobox-input-transition: width ease-in-out\n ",";\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 "])),u,r?"0":"100ms",co);case"expand-x":return z(kn||(kn=B(["\n ","\n display: flex;\n gap: 4px;\n flex-wrap: nowrap;\n white-space: nowrap;\n height: var(--lg-combobox-height);\n --lg-combobox-input-transition: none;\n "])),u);case"expand-y":return z(Cn||(Cn=B(["\n ","\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n overflow-x: visible;\n min-height: var(--lg-combobox-height);\n "])),u)}},mo=z(On||(On=B(["\n border: none;\n cursor: inherit;\n background-color: inherit;\n box-sizing: content-box;\n padding: 0;\n margin: 0;\n text-overflow: ellipsis;\n font-size: var(--lg-combobox-font-size);\n line-height: var(--lg-combobox-line-height);\n height: var(--lg-combobox-height);\n width: var(--lg-combobox-input-width, 0);\n min-width: var(--lg-combobox-input-min-width);\n transition: var(--lg-combobox-input-transition);\n\n &:focus {\n outline: none;\n }\n"]))),fo=z(Nn||(Nn=B(["\n // Add a negative margin so the button takes up the same space as the regular icons\n margin-block: calc(var(--lg-combobox-icon-height) / 2 - 100%);\n"]))),ho=z(zn||(zn=B(["\n &:focus {\n box-shadow: unset;\n &::before {\n background-color: ",";\n }\n }\n"])),j.blue.light2),vo=z(Sn||(Sn=B(["\n font-size: var(--lg-combobox-font-size);\n line-height: var(--lg-combobox-line-height);\n color: var(--lg-combobox-color-error);\n padding-top: var(--lg-combobox-padding-y);\n"]))),xo=z(Dn||(Dn=B(["\n margin-inline-end: calc(var(--lg-combobox-padding-x) / 2);\n"]))),yo=D(jn||(jn=B(["\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n"]))),wo=z(In||(In=B(["\n animation: "," 1.5s linear infinite;\n"])),yo),ko=function(n){var o,e,r=n.darkMode,t=n.size,i=n.width,l=void 0===i?384:i;switch(o=r?z(Mn||(Mn=B([""]))):z(En||(En=B(["\n --lg-combobox-menu-color: ",";\n --lg-combobox-menu-message-color: ",";\n --lg-combobox-menu-background-color: ",";\n --lg-combobox-menu-shadow: 0px 3px 7px rgba(0, 0, 0, 0.25);\n --lg-combobox-item-hover-color: ",";\n --lg-combobox-item-active-color: ",";\n --lg-combobox-item-wedge-color: ",";\n "])),j.gray.dark3,j.gray.dark1,j.white,j.gray.light2,j.blue.light3,j.blue.base),t){case rn:e=z(Pn||(Pn=B(["\n --lg-combobox-menu-border-radius: 4px;\n --lg-combobox-item-height: 36px;\n --lg-combobox-item-padding-y: 8px;\n --lg-combobox-item-padding-x: 12px;\n --lg-combobox-item-font-size: ","px; // TODO: update this\n --lg-combobox-item-line-height: ","px; // TODO: update this\n --lg-combobox-item-wedge-height: 22px;\n "])),R.body1.fontSize+1,R.body1.lineHeight+1);break;case tn:e=z(Tn||(Tn=B(["\n --lg-combobox-menu-border-radius: 4px;\n --lg-combobox-item-height: 36px;\n --lg-combobox-item-padding-y: 8px;\n --lg-combobox-item-padding-x: 12px;\n --lg-combobox-item-font-size: ","px; // TODO: update this\n --lg-combobox-item-line-height: ","px; // TODO: update this\n --lg-combobox-item-wedge-height: 22px;\n "])),R.body2.fontSize+1,R.body2.lineHeight+1)}return S(o,e,z(An||(An=B(["\n width: ","px;\n border-radius: var(--lg-combobox-menu-border-radius);\n\n & > * {\n border-radius: inherit;\n }\n "])),l))},Co=function(n){var o=n.maxHeight;return z(Fn||(Fn=B(["\n position: relative;\n width: 100%;\n margin: 0;\n padding: 0;\n font-family: ",";\n color: var(--lg-combobox-menu-color);\n background-color: var(--lg-combobox-menu-background-color);\n box-shadow: var(--lg-combobox-menu-shadow);\n border-radius: inherit;\n overflow: auto;\n min-height: var(--lg-combobox-item-height);\n max-height: ","px;\n scroll-behavior: smooth;\n"])),L.default,o)},Oo=z(Ln||(Ln=B(["\n position: relative;\n margin: 0;\n padding: 0;\n"]))),No=z(Rn||(Rn=B(["\n display: inline-flex;\n align-items: center;\n gap: 8px;\n font-size: var(--lg-combobox-item-font-size);\n color: var(--lg-combobox-menu-message-color);\n padding: var(--lg-combobox-item-padding-y) var(--lg-combobox-item-padding-x);\n\n & > svg {\n width: 1em;\n height: 1em;\n }\n"]))),zo=function(n){var o,e,r=n.darkMode,t=n.size;switch(o=r?z(Qn||(Qn=B([""]))):z(_n||(_n=B(["\n --lg-combobox-chip-text-color: ",";\n --lg-combobox-chip-icon-color: ",";\n --lg-combobox-chip-background-color: ",";\n --lg-combobox-chip-hover-color: ",";\n --lg-combobox-chip-focus-color: ",";\n "])),j.gray.dark3,j.gray.dark2,j.gray.light2,j.gray.light1,j.blue.light2),t){case rn:e=z(no||(no=B(["\n --lg-combobox-chip-height: 24px;\n --lg-combobox-chip-border-radius: 4px;\n --lg-combobox-chip-font-size: 14px;\n --lg-combobox-chip-line-height: 20px;\n --lg-combobox-chip-padding-x: 6px;\n "])));break;case tn:e=z(oo||(oo=B(["\n --lg-combobox-chip-height: 28px;\n --lg-combobox-chip-border-radius: 4px;\n --lg-combobox-chip-font-size: ","px;\n --lg-combobox-chip-line-height: ","px;\n --lg-combobox-chip-padding-x: 6px;\n "])),R.body2.fontSize,R.body2.lineHeight)}return S(o,e,z(eo||(eo=B(["\n display: inline-flex;\n align-items: center;\n overflow: hidden;\n white-space: nowrap;\n height: var(--lg-combobox-chip-height);\n font-size: var(--lg-combobox-chip-font-size);\n line-height: var(--lg-combobox-chip-line-height);\n border-radius: var(--lg-combobox-chip-border-radius);\n color: var(--lg-combobox-chip-text-color);\n background-color: var(--lg-combobox-chip-background-color);\n\n // TODO - refine these styles\n /* &:focus, */\n &:focus-within {\n background-color: var(--lg-combobox-chip-focus-color);\n }\n "]))))},So=z(ro||(ro=B(["\n padding-inline: var(--lg-combobox-chip-padding-x);\n"]))),Do=z(to||(to=B(["\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n width: 100%;\n outline: none;\n border: none;\n background-color: transparent;\n color: var(--lg-combobox-chip-icon-color);\n cursor: pointer;\n transition: background-color 100ms ease-in-out;\n\n &:before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 1px;\n background-color: var(--lg-combobox-chip-hover-color);\n }\n\n &:hover {\n background-color: var(--lg-combobox-chip-hover-color);\n }\n"]))),jo=n.forwardRef((function(n,o){var r=n.displayName,a=n.isFocused,c=n.onRemove,s=n.onFocus,u=e(Hn),b=u.darkMode,d=u.size,g=u.disabled,p=u.chipTruncationLocation,m=void 0===p?"end":p,f=u.chipCharacterLimit,h=void 0===f?12:f,v=!!h&&!!m&&"none"!==m&&r.length>h,x=i(null),y=t((function(){if(v){var n=h-3;switch(m){case"start":return"…"+r.substring(r.length-n).trim();case"middle":return r.substring(0,n/2).trim()+"…"+r.substring(r.length-n/2).trim();case"end":return r.substring(0,n).trim()+"…";default:return r}}return!1}),[h,m,r,v]);l((function(){var n;a&&!g&&(null==x||null===(n=x.current)||void 0===n||n.focus())}),[g,o,a]);return A("span",{role:"option","aria-selected":a,"data-testid":"lg-combobox-chip",ref:o,className:S(co,zo({darkMode:b,size:d})),onClick:function(n){var o;null!==(o=x.current)&&void 0!==o&&o.contains(n.target)||s()},onKeyDown:function(n){g||n.keyCode!==E.Delete&&n.keyCode!==E.Backspace&&n.keyCode!==E.Enter&&n.keyCode!==E.Space||c()},tabIndex:-1},A("span",{className:So},y?A(H,{definition:r,align:"bottom"},y):r),A("button",{"aria-label":"Deselect ".concat(r),"aria-disabled":g,disabled:g,ref:x,className:Do,onClick:function(){g||c()}},A(C,{glyph:"X"})))}));jo.displayName="Chip";var Io=function(n){return z(io||(io=B(["\n --lg-combobox-group-label-color: ",";\n --lg-combobox-group-border-color: ",";\n padding-top: 8px;\n border-bottom: 1px solid var(--lg-combobox-group-border-color);\n"])),n?j.gray.light1:j.gray.dark1,n?j.gray.dark1:j.gray.light1)},Mo=z(lo||(lo=B(["\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: bold;\n text-transform: uppercase;\n letter-spacing: 0.4px;\n color: var(--lg-combobox-group-label-color);\n"])));function Eo(o){var r=o.label,t=o.className,i=o.children,l=e(Hn).darkMode,a=h({prefix:"combobox-group"});return n.Children.count(i)>0?A("div",{className:S(Io(l),t)},A("div",{className:Mo,id:a},r),A("div",{role:"group","aria-labelledby":a},i)):A(n.Fragment,null)}function Po(n){throw Error("`ComboboxGroup` must be a child of a `Combobox` instance")}Po.displayName="ComboboxGroup";var To=["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"];function Ao(o){var e=o.children,v=o.label,O=o.description,z=o.placeholder,D=void 0===z?"Select":z,M=o["aria-label"],T=o.disabled,F=void 0!==T&&T,L=o.size,R=void 0===L?rn:L,H=o.darkMode,B=void 0!==H&&H,Z=o.state,Y=void 0===Z?"none":Z,$=o.errorMessage,tn=o.searchState,ln=void 0===tn?"unset":tn,an=o.searchEmptyMessage,cn=void 0===an?"No results found":an,sn=o.searchErrorMessage,un=void 0===sn?"Could not get results!":sn,bn=o.searchLoadingMessage,dn=void 0===bn?"Loading results...":bn,gn=o.filteredOptions,pn=o.onFilter,mn=o.clearable,fn=void 0===mn||mn,hn=o.onClear,vn=o.overflow,xn=void 0===vn?"expand-y":vn,yn=o.multiselect,wn=void 0!==yn&&yn,kn=o.initialValue,Cn=o.onChange,On=o.value,Nn=o.chipTruncationLocation,zn=o.chipCharacterLimit,Sn=void 0===zn?12:zn,Dn=o.className,jn=o.usePortal,In=void 0===jn||jn,Mn=o.portalClassName,En=o.portalContainer,Pn=o.scrollContainer,Tn=o.popoverZIndex,An=V(o,To),Fn=x({prefix:"option"}),Ln=x({prefix:"chip"}),Rn=h({prefix:"combobox-input"}),Wn=h({prefix:"combobox-label"}),Bn=h({prefix:"combobox-menu"}),Xn=i(null),Zn=i(null),Yn=i(null),$n=i(null),Jn=i(null),Qn=X(a(!1),2),_n=Qn[0],no=Qn[1],oo=y(_n),eo=X(a(null),2),ro=eo[0],to=eo[1],io=X(a(null),2),lo=io[0],ao=io[1],co=y(lo),yo=X(a(""),2),zo=yo[0],So=yo[1],Do=y(zo),Io=X(a(null),2),Mo=Io[0],Po=Io[1],Ao=!s(lo)&&(c(lo)&&lo.length>0||u(lo)),Fo=wn&&c(lo)&&lo.length>0?void 0:D,Lo=function(){return no(!1)},Ro=function(){return no(!0)},Ho=t((function(){return Vn(e)}),[e]),Wo=r((function(n){return!wn||"string"!=typeof n&&"number"!=typeof n?!wn&&c(n)&&P.error("Error in Combobox: multiselect is set to `false`, but recieved an Array value"):P.error("Error in Combobox: multiselect is set to `true`, but recieved a ".concat(G(n),' value: "').concat(n,'"')),wn&&c(n)}),[wn]),Go=r((function(n){!F&&$n&&$n.current&&($n.current.focus(),b(n)||$n.current.setSelectionRange(n,n))}),[F]),Ko=r((function(n){if(Wo(lo)){var o=d(lo);s(n)?o.length=0:lo.includes(n)?o.splice(o.indexOf(n),1):(o.push(n),So("")),ao(o),null==Cn||Cn(o)}else{var e=n;ao(e),null==Cn||Cn(e)}}),[Wo,Cn,lo]),Uo=r((function(n){return Wo(lo)?lo.includes(n):n===lo}),[Wo,lo]),Vo=r((function(n){var o,e,r,t,i=(e=Ho,(o=n)?null!==(r=null===(t=e.find((function(n){return n.displayName===o})))||void 0===t?void 0:t.value)&&void 0!==r?r:o:"");return Uo(i)}),[Ho,Uo]),Bo=r((function(n){var o="string"==typeof n?n:n.value;return gn&&gn.length>0?gn.includes(o):!!Vo(zo)||("string"==typeof n?Un(o,Ho):n.displayName).toLowerCase().includes(zo.toLowerCase())}),[gn,Vo,zo,Ho]),Xo=t((function(){return Ho.filter(Bo)}),[Ho,Bo]),Zo=r((function(n){return!!n&&!!Ho.find((function(o){return o.value===n}))}),[Ho]),Yo=r((function(n){return Xo?Xo.findIndex((function(o){return o.value===n})):-1}),[Xo]),$o=r((function(n){if(Xo&&Xo.length>=n){var o=Xo[n];return o?o.value:void 0}}),[Xo]),qo=r((function(){return Wo(lo)?lo.findIndex((function(n){var o,e;return null===(o=Ln(n))||void 0===o||null===(e=o.current)||void 0===e?void 0:e.contains(document.activeElement)})):-1}),[Ln,Wo,lo]),Jo=X(a(),2),Qo=Jo[0],_o=Jo[1],ne=r((function(n){var o,e=null!==(o=null==Xo?void 0:Xo.length)&&void 0!==o?o:0,r=e-1>0?e-1:0,t=Yo(ro);switch(n&&_n&&(Po(null),Go()),n){case"next":var i=$o(t+1<e?t+1:0);to(null!=i?i:null);break;case"prev":var l=$o(t-1>=0?t-1:r);to(null!=l?l:null);break;case"last":var a=$o(r);to(null!=a?a:null);break;default:var c=$o(0);to(null!=c?c:null)}}),[ro,Yo,$o,_n,Go,null==Xo?void 0:Xo.length]),oe=r((function(n,o){if(Wo(lo))switch(n){case"next":var e=null!=o?o:qo(),r=e+1<lo.length?e+1:lo.length-1,t=lo[r];Po(t);break;case"prev":var i=null!=o?o:qo(),l=i>0?i-1:i<0?lo.length-1:0,a=lo[l];Po(a);break;case"first":var c=lo[0];Po(c);break;case"last":var s=lo[lo.length-1];Po(s);break;default:Po(null)}}),[qo,Wo,lo]),ee=r((function(n,o){switch(n&&to(null),n){case"right":switch(Qo){case q:var e,r,t;if((null===(e=$n.current)||void 0===e?void 0:e.selectionEnd)===(null===(r=$n.current)||void 0===r?void 0:r.value.length))null===(t=Zn.current)||void 0===t||t.focus();break;case Q:case nn:case _:if(Qo===_||1===(null==lo?void 0:lo.length)){Go(0),oe(null),o.preventDefault();break}oe("next")}break;case"left":switch(Qo){case J:var i;o.preventDefault(),Go(null==$n||null===(i=$n.current)||void 0===i?void 0:i.value.length);break;case q:case nn:case _:if(Wo(lo)){var l;if(Qo===q&&0!==(null===(l=$n.current)||void 0===l?void 0:l.selectionStart))break;oe("prev")}}break;default:oe(null)}}),[Qo,Wo,lo,Go,oe]);l((function(){zo!==Do&&ne("first")}),[zo,_n,Do,ne]),l((function(){if(ro){var n=Fn(ro);if(n&&n.current&&Jn.current){var o=n.current.offsetTop,e=Jn.current,r=e.scrollTop;(o>e.offsetHeight||o<r)&&(Jn.current.scrollTop=o)}}}),[ro,Fn]);var re=r((function(o){return n.Children.map(o,(function(n){if(I(n,"ComboboxOption")){var o=Gn(n.props),e=o.value,r=o.displayName;if(Bo(e)){var t=n.props,i=t.className,l=t.glyph,a=t.disabled,c=Ho.findIndex((function(n){return n.value===e})),s=ro===e,u=Wo(lo)?lo.includes(e):lo===e,b=Fn(e);return A(qn,{value:e,displayName:r,isFocused:s,isSelected:u,disabled:a,setSelected:function(){to(e),Ko(e),Go(),e===lo&&Lo()},glyph:l,className:i,index:c,ref:b})}}else if(I(n,"ComboboxGroup")){var d=re(n.props.children);if(d&&(null==d?void 0:d.length)>0)return A(Eo,{label:n.props.label,className:n.props.className},re(d))}}))}),[Ho,ro,Fn,Wo,Bo,lo,Go,Ko]),te=t((function(){return re(e)}),[e,re]),ie=t((function(){if(Wo(lo))return lo.filter(Zo).map((function(n,o){var e=Un(n,Ho),r=Mo===n,t=Ln(n),i=o>=lo.length-1;return A(jo,{key:n,displayName:e,isFocused:r,onRemove:function(){i?(Go(),oe(null)):oe("next",o),Ko(n)},onFocus:function(){Po(n)},ref:t})}))}),[Wo,lo,Zo,Ho,Mo,Ln,Ko,Go,oe]),le=t((function(){return A(n.Fragment,null,fn&&Ao&&A(N,{"aria-label":"Clear selection","aria-disabled":F,disabled:F,ref:Zn,onClick:function(n){F||(Ko(null),null==hn||hn(n),null==pn||pn(""),_n||Ro())},onFocus:me,className:S(fo,ho)},A(C,{glyph:"XWithCircle"})),A(C,"error"===Y?{glyph:"Warning",color:j.red.base,className:xo}:{glyph:"CaretDown",className:xo}))}),[fn,Ao,F,Y,Ko,hn,pn,_n]),ae=t((function(){return Ho.some((function(n){return n.hasGlyph}))}),[Ho]),ce=r((function(){if(!Wo(lo)&&lo===co){var n=Xo.find((function(n){return n.displayName===zo||n.value===zo}));if(n&&!On)ao(n.value);else{var o,e=null!==(o=Un(lo,Ho))&&void 0!==o?o:"";So(e)}}}),[Ho,zo,Wo,co,lo,On,Xo]),se=r((function(){if(Ao){if(Wo(lo))ve();else if(!Wo(lo)){var n,o=null!==(n=Un(lo,Ho))&&void 0!==n?n:"";So(o),Lo()}}else So("")}),[Ao,Ho,Wo,lo]);l((function(){if(kn)if(c(kn)){var n,o=null!==(n=kn.filter((function(n){return Zo(n)})))&&void 0!==n?n:[];ao(o)}else Zo(kn)&&ao(kn);else ao(function(n){return n?[]:null}(wn))}),[]),l((function(){if(!b(On)&&On!==Do)if(s(On))ao(null);else if(Wo(On)){var n=On.filter(Zo);ao(n)}else ao(Zo(On)?On:null)}),[Wo,Zo,Do,On]),l((function(){g(lo,co)||se()}),[se,co,lo]),l((function(){!_n&&oo&&ce()}),[_n,oo,ce]);var ue=X(a(0),2),be=ue[0],de=ue[1];l((function(){var n,o;de(null!==(n=null===(o=Xn.current)||void 0===o?void 0:o.clientWidth)&&void 0!==n?n:0)}),[Xn,_n,ro,lo]);var ge=t((function(){switch(ln){case"loading":return A("span",{className:No},A(C,{glyph:"Refresh",color:j.blue.base,className:wo}),dn);case"error":return A("span",{className:No},A(C,{glyph:"Warning",color:j.red.base}),un);default:return te&&te.length>0?A("ul",{className:Oo},te):A("span",{className:No},cn)}}),[te,cn,un,dn,ln]),pe=Math.min(256,w(Xn)),me=function(){to(null)};k("mousedown",(function(n){he(n)||(n.preventDefault(),n.stopPropagation())}),{enabled:_n}),k("click",(function(n){he(n)||(n.stopPropagation(),Lo())}),{options:{capture:!0},enabled:_n});var fe=function(n){for(var o=1;o<arguments.length;o++){var e=null!=arguments[o]?arguments[o]:{};o%2?W(Object(e),!0).forEach((function(o){K(n,o,e[o])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(e)):W(Object(e)).forEach((function(o){Object.defineProperty(n,o,Object.getOwnPropertyDescriptor(e,o))}))}return n}({popoverZIndex:Tn},In?{usePortal:In,portalClassName:Mn,portalContainer:En,scrollContainer:Pn}:{usePortal:In});return A(Hn.Provider,{value:{multiselect:wn,darkMode:B,size:R,withIcons:ae,disabled:F,chipTruncationLocation:Nn,chipCharacterLimit:Sn,inputValue:zo}},A("div",U({className:S(uo({darkMode:B,size:R,overflow:xn}),Dn)},An),A("div",null,v&&A(p,{id:Wn,htmlFor:Rn,className:so},v),O&&A(m,{className:so},O)),A("div",{ref:Xn,role:"combobox","aria-expanded":_n,"aria-controls":Bn,"aria-owns":Bn,tabIndex:-1,className:S(bo,K({},go,Qo===q)),onMouseDown:function(n){F&&n.preventDefault()},onClick:function(n){if(n.target!==$n.current){var o=0;if($n.current)o=n.nativeEvent.offsetX>$n.current.offsetLeft+$n.current.clientWidth?zo.length:0;Go(o)}},onFocus:function(n){ve(),Ro(),_o(function(n){var o,e,r,t;if(!n)return;if(null!==(o=$n.current)&&void 0!==o&&o.contains(n))return q;if(null!==(e=Zn.current)&&void 0!==e&&e.contains(n))return J;var i=Wo(lo)?lo.findIndex((function(o){var e,r;return null===(e=Ln(o))||void 0===e||null===(r=e.current)||void 0===r?void 0:r.contains(n)})):-1;if(Wo(lo)){if(0===i)return Q;if(i===lo.length-1)return _;if(i>0)return nn}if(null!==(r=Jn.current)&&void 0!==r&&r.contains(n))return en;if(null!==(t=Xn.current)&&void 0!==t&&t.contains(n))return on}(n.target))},onKeyDown:function(n){var o,e,r=null===(o=Jn.current)||void 0===o?void 0:o.contains(document.activeElement);if((null===(e=Xn.current)||void 0===e?void 0:e.contains(document.activeElement))||r){if(n.ctrlKey||n.shiftKey||n.altKey)return;switch(n.keyCode){case E.Tab:switch(Qo){case"Input":Ao||(Lo(),ne("first"),oe(null));break;case"LastChip":oe(null)}break;case E.Escape:Lo(),ne("first");break;case E.Enter:!_n||Qo!==q||s(ro)||function(n){if("string"==typeof n){var o=Kn(n,Ho);return!(null==o||!o.isDisabled)}return!!n.isDisabled}(ro)?Qo===J&&(Ko(null),Go()):Ko(ro);break;case E.Backspace:var t;if(Wo(lo))"Input"===Qo&&0===(null===(t=$n.current)||void 0===t?void 0:t.selectionStart)&&oe("last");Ro();break;case E.ArrowDown:_n?(n.preventDefault(),ne("next")):Ro();break;case E.ArrowUp:_n?(n.preventDefault(),ne("prev")):Ro();break;case E.ArrowRight:ee("right",n);break;case E.ArrowLeft:ee("left",n);break;default:_n||Ro()}}},onTransitionEnd:function(){var n,o;de(null!==(n=null===(o=Xn.current)||void 0===o?void 0:o.clientWidth)&&void 0!==n?n:0)},"data-disabled":F,"data-state":Y},A("div",{ref:Yn,className:po({overflow:xn,isOpen:_n,selection:lo,size:R,value:zo})},ie,A("input",{"aria-label":null!=M?M:v,"aria-autocomplete":"list","aria-controls":Bn,"aria-labelledby":Wn,ref:$n,id:Rn,className:mo,placeholder:Fo,disabled:null!=F?F:void 0,onChange:function(n){var o=n.target.value;So(o),null==pn||pn(o)},value:zo,autoComplete:"off"})),le),"error"===Y&&$&&A("div",{className:vo},$),A(f,U({active:_n&&!F,spacing:4,align:"bottom",justify:"middle",refEl:Xn,adjustOnMutation:!0,className:ko({darkMode:B,size:R,width:be})},fe),A("div",{id:Bn,role:"listbox","aria-labelledby":Wn,"aria-expanded":_n,ref:Jn,className:Co({maxHeight:pe}),onMouseDownCapture:function(n){return n.preventDefault()}},ge))));function he(n){var o,e,r=n.target;return(null===(o=Jn.current)||void 0===o?void 0:o.contains(r))||(null===(e=Xn.current)||void 0===e?void 0:e.contains(r))||!1}function ve(){Yn&&Yn.current&&(Yn.current.scrollLeft=Yn.current.scrollWidth)}}export{Ao as Combobox,Po as ComboboxGroup,Jn as ComboboxOption};
|
|
1
|
+
import n,{createContext as e,useContext as r,useCallback as o,useMemo as t,useRef as i,useEffect as a,useState as l}from"react";import{isNull as c,isArray as s,isString as u,isUndefined as d,clone as p,isEqual as f}from"lodash";import{Label as h,Description as b}from"@leafygreen-ui/typography";import{useIdAllocator as g,useForwardedRef as m,useAvailableSpace as v,useDynamicRefs as y,usePrevious as x,useEventListener as w}from"@leafygreen-ui/hooks";import k,{isComponentGlyph as C}from"@leafygreen-ui/icon";import N from"@leafygreen-ui/icon-button";import{css as O,cx as S,keyframes as z}from"@leafygreen-ui/emotion";import{palette as M}from"@leafygreen-ui/palette";import{isComponentType as E,createUniqueClassName as j,keyMap as I,consoleOnce as D}from"@leafygreen-ui/lib";import{jsx as P}from"@emotion/react";import L from"lodash/kebabCase";import F from"@leafygreen-ui/checkbox";import{typeScales as A,spacing as T,fontFamilies as H,hoverRing as R,focusRing as W}from"@leafygreen-ui/tokens";import{transparentize as G}from"polished";import K from"@leafygreen-ui/inline-definition";import U from"lodash/isNull";import V from"@leafygreen-ui/popover";import B from"lodash/isUndefined";function X(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(n);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.push.apply(r,o)}return r}function Z(n){return Z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Z(n)}function q(n,e,r){return e in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function Y(){return Y=Object.assign||function(n){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[o]=r[o])}return n},Y.apply(this,arguments)}function $(n,e){if(null==n)return{};var r,o,t=function(n,e){if(null==n)return{};var r,o,t={},i=Object.keys(n);for(o=0;o<i.length;o++)r=i[o],e.indexOf(r)>=0||(t[r]=n[r]);return t}(n,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);for(o=0;o<i.length;o++)r=i[o],e.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function J(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function Q(n,e){return function(n){if(Array.isArray(n))return n}(n)||function(n,e){var r=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null==r)return;var o,t,i=[],a=!0,l=!1;try{for(r=r.call(n);!(a=(o=r.next()).done)&&(i.push(o.value),!e||i.length!==e);a=!0);}catch(n){l=!0,t=n}finally{try{a||null==r.return||r.return()}finally{if(l)throw t}}return i}(n,e)||nn(n,e)||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 _(n){return function(n){if(Array.isArray(n))return en(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||nn(n)||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 nn(n,e){if(n){if("string"==typeof n)return en(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?en(n,e):void 0}}function en(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,o=new Array(e);r<e;r++)o[r]=n[r];return o}var rn="dark",on="light",tn="Input",an="ClearButton",ln="FirstChip",cn="LastChip",sn="MiddleChip",un="Combobox",dn="Menu",pn="default",fn="large",hn="expand-y",bn="expand-x",gn="scroll-x",mn="error";var vn,yn,xn,wn,kn,Cn,Nn,On,Sn,zn,Mn,En,jn,In,Dn,Pn,Ln,Fn,An,Tn,Hn,Rn,Wn,Gn,Kn,Un,Vn,Bn,Xn,Zn,qn,Yn,$n,Jn=function(e,r,o){if(r&&o){var t=new RegExp(r,"gi"),i=e.matchAll(t);if(i){for(var a=e.split(""),l=0,c=Array.from(i);l<c.length;l++){var s,u=c[l],d=null!==(s=u.index)&&void 0!==s?s:-1,p=u[0],f=p.length,h=d+p+f,b=new Array(f).fill("");b[0]=n.createElement(o,{key:h},p),a.splice.apply(a,[d,f].concat(_(b)))}return P(n.Fragment,null,a)}return P(n.Fragment,null,e)}return P(n.Fragment,null,e)},Qn=function(n){var e,r=n.value,o=n.displayName;return{value:null!=r?r:L(o),displayName:null!==(e=null!=o?o:r)&&void 0!==e?e:""}},_n=function(n,e){if(n)return e.find((function(e){return e.value===n}))},ne=function(n,e){var r,o;return n?null!==(r=null===(o=_n(n,e))||void 0===o?void 0:o.displayName)&&void 0!==r?r:n:""},ee=function e(r){return n.Children.toArray(r).reduce((function(n,r){if(E(r,"ComboboxOption")){var o=Qn(r.props),t=o.value,i=o.displayName,a=r.props,l=a.glyph,c=a.disabled;return[].concat(_(n),[{value:t,displayName:i,isDisabled:!!c,hasGlyph:!!l}])}if(E(r,"ComboboxGroup")){var s=r.props.children;if(s)return[].concat(_(n),_(e(s)))}}),[])},re=e({multiselect:!1,darkMode:!1,size:pn,withIcons:!1,disabled:!1,isOpen:!1,state:"none",searchState:"unset"}),oe=function(n){return n?rn:on},te=(q(xn={},on,O(vn||(vn=J(["\n padding-top: 8px;\n "])))),q(xn,rn,O(yn||(yn=J(["\n padding-top: 8px;\n "])))),xn),ie=O(wn||(wn=J(["\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: bold;\n text-transform: uppercase;\n letter-spacing: 0.4px;\n"]))),ae=(q(Nn={},on,O(kn||(kn=J(["\n color: ",";\n "])),M.gray.dark1)),q(Nn,rn,O(Cn||(Cn=J(["\n color: ",";\n "])),M.gray.light1)),Nn);function le(e){var o=e.label,t=e.className,i=e.children,a=r(re).darkMode,l=oe(a),c=g({prefix:"combobox-group"});return n.Children.count(i)>0?P("div",{className:S(te[l],t)},P("div",{className:S(ie,ae[l]),id:c},o),P("div",{role:"group","aria-labelledby":c},i)):P(n.Fragment,null)}function ce(n){throw Error("`ComboboxGroup` must be a child of a `Combobox` instance")}ce.displayName="ComboboxGroup";var se=(q(On={},pn,{x:12,y:8}),q(On,fn,{x:12,y:8}),On),ue=(q(Sn={},pn,A.body1.lineHeight+2*se[pn].y),q(Sn,fn,A.body2.lineHeight+2*se[fn].y),Sn),de=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:384;return O(zn||(zn=J(["\n width: ","px;\n overflow: hidden;\n border-radius: 12px;\n border: 1px solid;\n"])),n)},pe=(q(jn={},on,O(Mn||(Mn=J(["\n box-shadow: 0px 4px 7px ",";\n border-color: ",";\n "])),G(.85,M.black),M.gray.light2)),q(jn,rn,O(En||(En=J(["\n box-shadow: 0px 4px 7px ",";\n border-color: ",";\n "])),G(.85,M.black),M.gray.dark3)),jn),fe=O(In||(In=J(["\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"])),T[2],H.default),he=(q(Ln={},on,O(Dn||(Dn=J(["\n color: ",";\n background-color: ",";\n "])),M.black,M.white)),q(Ln,rn,O(Pn||(Pn=J(["\n color: ",";\n background-color: ",";\n "])),M.gray.light1,M.gray.dark3)),Ln);q(Tn={},pn,O(Fn||(Fn=J(["\n min-height: ","px;\n "])),ue[pn])),q(Tn,fn,O(An||(An=J(["\n min-height: ","px;\n "])),ue[fn]));var be=O(Hn||(Hn=J(["\n position: relative;\n margin: 0;\n padding: 0;\n"]))),ge=O(Rn||(Rn=J(["\n font-family: inherit;\n display: inline-flex;\n align-items: center;\n gap: 8px;\n"]))),me=(q(Kn={},on,O(Wn||(Wn=J(["\n color: ",";\n "])),M.gray.dark3)),q(Kn,rn,O(Gn||(Gn=J(["\n color: ",";\n "])),M.gray.light3)),Kn),ve=(q(Bn={},pn,O(Un||(Un=J(["\n font-size: ","px;\n line-height: ","px;\n padding: ","px\n ","px;\n "])),A.body1.fontSize,A.body1.lineHeight,se[pn].y,se[pn].x)),q(Bn,fn,O(Vn||(Vn=J(["\n font-size: ","px;\n line-height: ","px;\n padding: ","px\n ","px;\n "])),A.body2.fontSize,A.body2.lineHeight,se[fn].y,se[fn].x)),Bn);q(qn={},pn,O(Xn||(Xn=J(["\n height: ","px;\n width: ","px;\n "])),A.body1.fontSize,A.body1.fontSize)),q(qn,fn,O(Zn||(Zn=J(["\n height: ","px;\n width: ","px;\n "])),A.body2.fontSize,A.body2.fontSize));var ye,xe,we,ke,Ce,Ne,Oe,Se,ze,Me,Ee,je,Ie,De,Pe,Le,Fe,Ae,Te,He,Re,We,Ge,Ke,Ue,Ve,Be,Xe,Ze,qe,Ye,$e,Je,Qe,_e,nr,er,rr,or,tr,ir,ar,lr,cr,sr,ur,dr,pr,fr,hr,br,gr,mr,vr,yr,xr,wr,kr,Cr,Nr,Or,Sr,zr,Mr,Er,jr,Ir=z(Yn||(Yn=J(["\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n"]))),Dr=O($n||($n=J(["\n animation: "," 1.5s linear infinite;\n"])),Ir),Pr=O(ye||(ye=J(["\n position: relative;\n display: flex;\n align-items: center;\n justify-content: space-between;\n list-style: none;\n color: inherit;\n cursor: pointer;\n overflow: hidden;\n font-family: ",";\n\n // Left wedge\n &:before {\n content: '';\n position: absolute;\n left: 0;\n width: 4px;\n height: calc(100% - 14px);\n background-color: rgba(255, 255, 255, 0);\n border-radius: 0 6px 6px 0;\n transform: scale3d(0, 0.3, 0);\n transition: 200ms ease-in-out;\n transition-property: transform, background-color;\n }\n"])),H.default),Lr=(q(ke={},on,O(xe||(xe=J(["\n &:hover {\n outline: none;\n background-color: ",";\n }\n "])),M.gray.light2)),q(ke,rn,O(we||(we=J(["\n &:hover {\n outline: none;\n background-color: ",";\n }\n "])),M.gray.dark4)),ke),Fr=(q(Oe={},pn,O(Ce||(Ce=J(["\n font-size: ","px;\n line-height: ","px;\n min-height: ","px;\n padding: ","px\n ","px;\n gap: ","px;\n\n &:before {\n max-height: ","px;\n }\n "])),A.body1.fontSize,A.body1.lineHeight,ue[pn],se[pn].y,se[pn].x,T[1],ue[pn])),q(Oe,fn,O(Ne||(Ne=J(["\n font-size: ","px;\n line-height: ","px;\n min-height: ","px;\n padding: ","px\n ","px;\n gap: ","px;\n\n &:before {\n max-height: ","px;\n }\n "])),A.body2.fontSize,A.body2.lineHeight,ue[fn],se[fn].y,se[fn].x,T[2],ue[fn])),Oe),Ar=O(Se||(Se=J(["\n outline: none;\n\n &:before {\n transform: scaleY(1);\n }\n"]))),Tr=(q(Ee={},on,O(ze||(ze=J(["\n ",";\n background-color: ",";\n\n &:before {\n background-color: ",";\n }\n "])),Ar,M.blue.light3,M.blue.base)),q(Ee,rn,O(Me||(Me=J(["\n ",";\n background-color: ",";\n\n &:before {\n background-color: ",";\n }\n "])),Ar,M.blue.dark3,M.blue.light1)),Ee),Hr=O(je||(je=J(["\n cursor: not-allowed;\n\n &:hover {\n background-color: inherit;\n }\n\n &:before {\n content: unset;\n }\n"]))),Rr=(q(Pe={},on,O(Ie||(Ie=J(["\n ",";\n color: ",";\n "])),Hr,M.gray.light1)),q(Pe,rn,O(De||(De=J(["\n ",";\n color: ",";\n "])),Hr,M.gray.dark1)),Pe),Wr=(q(Ae={},pn,O(Le||(Le=J(["\n min-width: ","px;\n "])),T[3])),q(Ae,fn,O(Fe||(Fe=J(["\n min-width: ","px;\n "])),T[4])),Ae),Gr=O(Te||(Te=J(["\n display: inline-flex;\n gap: 8px;\n justify-content: start;\n align-items: inherit;\n overflow-wrap: anywhere;\n"]))),Kr=O(He||(He=J(["\n pointer-events: none;\n"]))),Ur=function(n){return O(Re||(Re=J(["\n font-weight: ",";\n"])),n?"bold":"normal")},Vr=n.forwardRef((function(e,i){var a,l=e.displayName,c=e.glyph,s=e.isSelected,u=e.isFocused,d=e.disabled,p=e.setSelected,f=e.className,h=r(re),b=h.multiselect,v=h.darkMode,y=h.withIcons,x=h.inputValue,w=h.size,N=oe(v),z=g({prefix:"combobox-option-text"}),j=m(i,null),I=o((function(n){n.stopPropagation(),d||n.target!==j.current&&"INPUT"!==n.target.tagName||p()}),[d,j,p]),D=t((function(){if(c){if(C(c)||E(c,"Icon"))return c;console.error("`ComboboxOption` instance did not render icon because it is not a known glyph element.",c)}}),[c]),L=t((function(){if(b){var e=P(F,{"aria-labelledby":z,checked:s,tabIndex:-1,disabled:d,darkMode:v,className:O(We||(We=J(["\n // TODO: Remove when this is resolved:\n // https://jira.mongodb.org/browse/PD-2171\n & > label > div {\n margin-top: 0;\n }\n "])))});return P(n.Fragment,null,P("span",{className:S(Gr,Kr)},y?D:e,P("span",{id:z,className:Ur(s)},Jn(l,x,"strong"))),y&&e)}return P(n.Fragment,null,P("span",{className:S(Gr,Kr)},D,P("span",{className:Ur(s)},Jn(l,x,"strong"))),s&&P(k,{glyph:"Checkmark",className:Wr[w],color:v?M.blue.light1:M.blue.base}))}),[b,D,s,l,x,w,v,z,d,y]);return P("li",{ref:j,role:"option","aria-selected":u,"aria-label":l,tabIndex:-1,className:S(Pr,Fr[w],Lr[N],(a={},q(a,Tr[N],u),q(a,Rr[N],d),a),f),onClick:I,onKeyDown:I},L)}));function Br(n){throw Error("`ComboboxOption` must be a child of a `Combobox` instance")}Vr.displayName="ComboboxOption",Br.displayName="ComboboxOption";var Xr,Zr,qr,Yr,$r,Jr,Qr,_r,no,eo,ro,oo,to,io,ao,lo,co,so,uo,po,fo,ho=(q(Ge={},pn,A.body1.fontSize),q(Ge,fn,A.body2.fontSize),Ge),bo=(q(Ke={},pn,2),q(Ke,fn,4),Ke),go=(q(Ue={},pn,A.body1.lineHeight+2*bo[pn]),q(Ue,fn,A.body2.lineHeight+2*bo[fn]),Ue),mo=(q(Ve={},pn,{y:(36-go[pn]-2)/2,x:T[2]-1}),q(Ve,fn,{y:(48-go[fn]-2)/2,x:T[2]-1}),Ve),vo=T[3],yo=(q(Be={},pn,ho[pn]+2*mo[pn].x+vo+2),q(Be,fn,ho[fn]+2*mo[fn].x+vo+2),Be),xo=j("combobox-chip"),wo=function(n,e){return S(O(Xe||(Xe=J(["\n font-family: ",";\n width: 100%;\n min-width: ","px;\n "])),H.default,yo[n]),q({},O(Ze||(Ze=J(["\n width: unset;\n "]))),e===bn))},ko=O(qe||(qe=J(["\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n cursor: text;\n transition: 150ms ease-in-out;\n transition-property: background-color, box-shadow, border-color;\n border: 1px solid;\n width: inherit;\n border-radius: 6px;\n"]))),Co=(q(Je={},on,O(Ye||(Ye=J(["\n color: ",";\n background-color: ",";\n border-color: ",";\n\n &:hover {\n box-shadow: ",";\n }\n "])),M.gray.dark3,M.white,M.gray.base,R[on].gray)),q(Je,rn,O($e||($e=J(["\n color: ",";\n background-color: ",";\n border-color: ",";\n\n &:hover {\n box-shadow: ",";\n }\n "])),M.gray.light2,M.gray.dark4,M.gray.base,R[rn].gray)),Je),No=function(n){return O(Qe||(Qe=J(["\n padding: ","px ","px;\n"])),mo[n].y,mo[n].x)},Oo=(q(er={},on,O(_e||(_e=J(["\n cursor: not-allowed;\n color: ",";\n background-color: ",";\n border-color: ",";\n "])),M.gray.dark1,M.gray.light2,M.gray.light1)),q(er,rn,O(nr||(nr=J(["\n cursor: not-allowed;\n color: ",";\n background-color: ",";\n border-color: ",";\n "])),M.gray.dark1,M.gray.dark3,M.gray.dark2)),er),So=(q(tr={},on,O(rr||(rr=J(["\n border-color: ",";\n "])),M.red.base)),q(tr,rn,O(or||(or=J(["\n border-color: ",";\n "])),M.red.light1)),tr),zo=(q(lr={},on,O(ir||(ir=J(["\n &:focus-within {\n border-color: transparent;\n background-color: ",";\n box-shadow: ",";\n }\n "])),M.white,W[on].input)),q(lr,rn,O(ar||(ar=J(["\n &:focus-within {\n border-color: transparent;\n background-color: ",";\n box-shadow: ",";\n }\n "])),M.gray.dark4,W[rn].input)),lr),Mo=function(n){var e=n.overflow,r=n.size,o=O(cr||(cr=J(["\n flex-grow: 1;\n width: inherit;\n "])));switch(e){case gn:return O(sr||(sr=J(["\n ","\n display: block;\n height: ","px;\n padding-left: ","px;\n white-space: nowrap;\n overflow-x: scroll;\n scroll-behavior: smooth;\n scrollbar-width: none;\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 "])),o,go[r],mo[r].x,xo);case bn:return O(ur||(ur=J(["\n ","\n display: flex;\n gap: 4px;\n flex-wrap: nowrap;\n white-space: nowrap;\n height: ","px;\n "])),o,go[r]);case hn:return O(dr||(dr=J(["\n ","\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n overflow-x: visible;\n min-height: ","px;\n "])),o,go[r])}},Eo=O(pr||(pr=J(["\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\n &:placeholder-shown {\n min-width: 100%;\n }\n &:focus {\n outline: none;\n }\n"])),H.default),jo=(q(br={},on,O(fr||(fr=J(["\n &::placeholder {\n color: ",";\n }\n "])),M.gray.dark1)),q(br,rn,O(hr||(hr=J(["\n &::placeholder {\n color: ",";\n }\n "])),M.gray.light1)),br),Io=(q(vr={},pn,O(gr||(gr=J(["\n height: ","px;\n font-size: ","px;\n line-height: ","px;\n min-width: ","px;\n padding-left: 4px;\n "])),go[pn],A.body1.fontSize,A.body1.lineHeight,ho[pn])),q(vr,fn,O(mr||(mr=J(["\n height: ","px;\n font-size: ","px;\n line-height: ","px;\n min-width: ","px;\n padding-left: 6px;\n "])),go[fn],A.body2.fontSize,A.body2.lineHeight,ho[fn])),vr),Do=function(n,e){return S(q({},O(yr||(yr=J(["\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 "])),n?"0s":"100ms"),e!==bn))},Po=function(n,e){var r,o=null!==(r=null==e?void 0:e.length)&&void 0!==r?r:0;return O(xr||(xr=J(["\n max-width: 100%;\n width: ","px;\n // TODO: This doesn't quite work. Fix this\n max-width: calc(100% - ","px);\n "])),o*ho[n],2*vo)},Lo=function(n){return"object"===Z(n)&&!U(n)&&n.length>0?O(wr||(wr=J(["\n padding-left: 0px;\n "]))):""},Fo=O(kr||(kr=J(["\n // Add a negative margin so the button takes up the same space as the regular icons\n margin-block: calc(","px - 100%);\n"])),vo/2),Ao=function(n){return O(Cr||(Cr=J(["\n height: ","px;\n width: ","px;\n margin-inline-end: calc(","px / 2);\n"])),vo,vo,mo[n].x)},To=(q(Sr={},on,O(Nr||(Nr=J(["\n color: ",";\n "])),M.red.base)),q(Sr,rn,O(Or||(Or=J(["\n color: ",";\n "])),M.red.light1)),Sr),Ho=(q(Er={},pn,O(zr||(zr=J(["\n font-size: ","px;\n line-height: ","px;\n padding-top: ","px;\n "])),A.body1.fontSize,A.body1.lineHeight,mo[pn].y)),q(Er,fn,O(Mr||(Mr=J(["\n font-size: ","px;\n line-height: ","px;\n padding-top: ","px;\n "])),A.body2.fontSize,A.body2.lineHeight,mo[fn].y)),Er),Ro=O(jr||(jr=J(["\n margin-bottom: 2px;\n"]))),Wo=O(Xr||(Xr=J(["\n display: inline-flex;\n align-items: center;\n overflow: hidden;\n white-space: nowrap;\n box-sizing: border-box;\n"]))),Go=(q(Yr={},pn,O(Zr||(Zr=J(["\n font-size: ","px;\n line-height: ","px;\n border-radius: 4px;\n "])),A.body1.fontSize,A.body1.lineHeight)),q(Yr,fn,O(qr||(qr=J(["\n font-size: ","px;\n line-height: ","px;\n border-radius: 4px;\n "])),A.body2.fontSize,A.body2.lineHeight)),Yr),Ko=(q(Qr={},on,O($r||($r=J(["\n color: ",";\n background-color: ",";\n\n // TODO: - refine these styles with Design\n &:focus-within {\n background-color: ",";\n }\n "])),M.black,M.gray.light2,M.blue.light2)),q(Qr,rn,O(Jr||(Jr=J(["\n color: ",";\n background-color: ",";\n\n &:focus-within {\n background-color: ",";\n }\n "])),M.gray.light2,M.gray.dark2,M.blue.dark2)),Qr),Uo=(q(eo={},on,O(_r||(_r=J(["\n cursor: not-allowed;\n color: ",";\n background-color: ",";\n "])),M.gray.base,M.gray.light3)),q(eo,rn,O(no||(no=J(["\n cursor: not-allowed;\n color: ",";\n background-color: ",";\n box-shadow: inset 0 0 1px 1px ","; ;\n "])),M.gray.dark2,M.gray.dark4,M.gray.dark2)),eo),Vo=(q(to={},pn,O(ro||(ro=J(["\n padding-inline: 6px;\n padding-block: ","px;\n "])),bo[pn])),q(to,fn,O(oo||(oo=J(["\n padding-inline: 10px;\n padding-block: ","px;\n "])),bo[fn])),to),Bo=O(io||(io=J(["\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n width: 100%;\n outline: none;\n border: none;\n background-color: transparent;\n cursor: pointer;\n transition: background-color 100ms ease-in-out;\n"]))),Xo=(q(co={},on,O(ao||(ao=J(["\n color: ",";\n\n &:hover {\n color: ",";\n background-color: ",";\n }\n "])),M.gray.dark2,M.black,M.gray.light1)),q(co,rn,O(lo||(lo=J(["\n color: ",";\n\n &:hover {\n color: ",";\n background-color: ",";\n }\n "])),M.gray.light1,M.gray.light3,M.gray.dark1)),co),Zo=(q(po={},on,O(so||(so=J(["\n cursor: not-allowed;\n color: ",";\n &:hover {\n color: inherit;\n background-color: unset;\n }\n "])),M.gray.dark2)),q(po,rn,O(uo||(uo=J(["\n cursor: not-allowed;\n color: ",";\n &:hover {\n color: inherit;\n background-color: unset;\n }\n "])),M.gray.dark2)),po),qo=n.forwardRef((function(n,e){var o=n.displayName,l=n.isFocused,c=n.onRemove,s=n.onFocus,u=r(re),d=u.darkMode,p=u.size,f=u.disabled,h=u.chipTruncationLocation,b=void 0===h?"end":h,g=u.chipCharacterLimit,m=void 0===g?12:g,v=oe(d),y=!!m&&!!b&&"none"!==b&&o.length>m,x=i(null),w=t((function(){if(y){var n=m-3;switch(b){case"start":return"…"+o.substring(o.length-n).trim();case"middle":return o.substring(0,n/2).trim()+"…"+o.substring(o.length-n/2).trim();case"end":return o.substring(0,n).trim()+"…";default:return o}}return!1}),[m,b,o,y]);a((function(){var n;l&&!f&&(null==x||null===(n=x.current)||void 0===n||n.focus())}),[f,e,l]);return P("span",{role:"option","aria-selected":l,"data-testid":"lg-combobox-chip",ref:e,className:S(xo,Wo,Ko[v],Go[p],q({},Uo[v],f)),onClick:function(n){var e;null!==(e=x.current)&&void 0!==e&&e.contains(n.target)||s()},onKeyDown:function(n){f||n.keyCode!==I.Delete&&n.keyCode!==I.Backspace&&n.keyCode!==I.Enter&&n.keyCode!==I.Space||c()},tabIndex:-1},P("span",{className:S(Vo[p])},w?P(K,{darkMode:d,definition:o,align:"bottom"},w):o),P("button",{"aria-label":"Deselect ".concat(o),"aria-disabled":f,disabled:f,ref:x,className:S(Bo,Xo[v],q({},Zo[v],f)),onClick:function(){f||c()}},P(k,{glyph:"X"})))}));qo.displayName="Chip";var Yo=["children","id","refEl","labelId","menuWidth","searchLoadingMessage","searchErrorMessage","searchEmptyMessage"],$o=n.forwardRef((function(n,e){var o=n.children,i=n.id,a=n.refEl,l=n.labelId,c=n.menuWidth,s=n.searchLoadingMessage,u=n.searchErrorMessage,d=n.searchEmptyMessage,p=$(n,Yo),f=r(re),h=f.disabled,b=f.darkMode,g=f.size,y=f.isOpen,x=f.searchState,w=m(e,null),C=oe(b),N=v(a),z=B(N)?"unset":"".concat(Math.min(N,256),"px"),E=t((function(){var n=S(ge,me[C],ve[g]);switch(x){case"loading":return P("span",{className:n},P(k,{glyph:"Refresh",color:b?M.blue.light1:M.blue.base,className:Dr}),s);case"error":return P("span",{className:n},P(k,{glyph:"Warning",color:b?M.red.light1:M.red.base}),u);default:return o&&"object"===Z(o)&&"length"in o&&o.length>0?P("ul",{className:be},o):P("span",{className:n},d)}}),[C,g,x,b,s,u,o,d]);return P(V,Y({active:y&&!h,spacing:4,align:"bottom",justify:"middle",refEl:a,adjustOnMutation:!0,className:S(de(c),pe[C])},p),P("div",{ref:w,id:i,role:"listbox","aria-labelledby":l,"aria-expanded":y,className:S(fe,he[C],O(fo||(fo=J(["\n max-height: ",";\n "])),z)),onMouseDownCapture:function(n){return n.preventDefault()}},E))}));$o.displayName="ComboboxMenu";var Jo=["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"];function Qo(e){var r,m,v=e.children,C=e.label,O=e.description,z=e.placeholder,j=void 0===z?"Select":z,L=e["aria-label"],F=e.disabled,A=void 0!==F&&F,T=e.size,H=void 0===T?pn:T,R=e.darkMode,W=void 0!==R&&R,G=e.state,K=void 0===G?"none":G,U=e.errorMessage,V=e.searchState,B=void 0===V?"unset":V,J=e.searchEmptyMessage,_=void 0===J?"No results found":J,nn=e.searchErrorMessage,en=void 0===nn?"Could not get results!":nn,rn=e.searchLoadingMessage,on=void 0===rn?"Loading results...":rn,fn=e.filteredOptions,hn=e.onFilter,bn=e.clearable,gn=void 0===bn||bn,vn=e.onClear,yn=e.overflow,xn=void 0===yn?"expand-y":yn,wn=e.multiselect,kn=void 0!==wn&&wn,Cn=e.initialValue,Nn=e.onChange,On=e.value,Sn=e.chipTruncationLocation,zn=e.chipCharacterLimit,Mn=void 0===zn?12:zn,En=e.className,jn=e.usePortal,In=void 0===jn||jn,Dn=e.portalClassName,Pn=e.portalContainer,Ln=e.scrollContainer,Fn=e.popoverZIndex,An=$(e,Jo),Tn=oe(W),Hn=y({prefix:"option"}),Rn=y({prefix:"chip"}),Wn=g({prefix:"combobox-input"}),Gn=g({prefix:"combobox-label"}),Kn=g({prefix:"combobox-menu"}),Un=i(null),Vn=i(null),Bn=i(null),Xn=i(null),Zn=i(null),qn=Q(l(!1),2),Yn=qn[0],$n=qn[1],Jn=x(Yn),te=Q(l(null),2),ie=te[0],ae=te[1],ce=Q(l(null),2),se=ce[0],ue=ce[1],de=x(se),pe=Q(l(""),2),fe=pe[0],he=pe[1],be=x(fe),ge=Q(l(null),2),me=ge[0],ve=ge[1],ye=!c(se)&&(s(se)&&se.length>0||u(se)),xe=kn&&s(se)&&se.length>0?void 0:j,we=function(){return $n(!1)},ke=function(){return $n(!0)},Ce=t((function(){return ee(v)}),[v]),Ne=o((function(n){return!kn||"string"!=typeof n&&"number"!=typeof n?!kn&&s(n)&&D.error("Error in Combobox: multiselect is set to `false`, but recieved an Array value"):D.error("Error in Combobox: multiselect is set to `true`, but recieved a ".concat(Z(n),' value: "').concat(n,'"')),kn&&s(n)}),[kn]),Oe=o((function(n){!A&&Xn&&Xn.current&&(Xn.current.focus(),d(n)||Xn.current.setSelectionRange(n,n))}),[A]),Se=o((function(n){if(Ne(se)){var e=p(se);c(n)?e.length=0:se.includes(n)?e.splice(e.indexOf(n),1):(e.push(n),he("")),ue(e),null==Nn||Nn(e)}else{var r=n;ue(r),null==Nn||Nn(r)}}),[Ne,Nn,se]),ze=o((function(n){return Ne(se)?se.includes(n):n===se}),[Ne,se]),Me=o((function(n){var e,r,o,t,i=(r=Ce,(e=n)?null!==(o=null===(t=r.find((function(n){return n.displayName===e})))||void 0===t?void 0:t.value)&&void 0!==o?o:e:"");return ze(i)}),[Ce,ze]),Ee=o((function(n){var e="string"==typeof n?n:n.value;return fn&&fn.length>0?fn.includes(e):!!Me(fe)||("string"==typeof n?ne(e,Ce):n.displayName).toLowerCase().includes(fe.toLowerCase())}),[fn,Me,fe,Ce]),je=t((function(){return Ce.filter(Ee)}),[Ce,Ee]),Ie=o((function(n){return!!n&&!!Ce.find((function(e){return e.value===n}))}),[Ce]),De=o((function(n){return je?je.findIndex((function(e){return e.value===n})):-1}),[je]),Pe=o((function(n){if(je&&je.length>=n){var e=je[n];return e?e.value:void 0}}),[je]),Le=o((function(){return Ne(se)?se.findIndex((function(n){var e,r;return null===(e=Rn(n))||void 0===e||null===(r=e.current)||void 0===r?void 0:r.contains(document.activeElement)})):-1}),[Rn,Ne,se]),Fe=Q(l(),2),Ae=Fe[0],Te=Fe[1],He=o((function(n){var e,r=null!==(e=null==je?void 0:je.length)&&void 0!==e?e:0,o=r-1>0?r-1:0,t=De(ie);switch(n&&Yn&&(ve(null),Oe()),n){case"next":var i=Pe(t+1<r?t+1:0);ae(null!=i?i:null);break;case"prev":var a=Pe(t-1>=0?t-1:o);ae(null!=a?a:null);break;case"last":var l=Pe(o);ae(null!=l?l:null);break;default:var c=Pe(0);ae(null!=c?c:null)}}),[ie,De,Pe,Yn,Oe,null==je?void 0:je.length]),Re=o((function(n,e){if(Ne(se))switch(n){case"next":var r=null!=e?e:Le(),o=r+1<se.length?r+1:se.length-1,t=se[o];ve(t);break;case"prev":var i=null!=e?e:Le(),a=i>0?i-1:i<0?se.length-1:0,l=se[a];ve(l);break;case"first":var c=se[0];ve(c);break;case"last":var s=se[se.length-1];ve(s);break;default:ve(null)}}),[Le,Ne,se]),We=o((function(n,e){switch(n&&ae(null),n){case"right":switch(Ae){case tn:var r,o,t;if((null===(r=Xn.current)||void 0===r?void 0:r.selectionEnd)===(null===(o=Xn.current)||void 0===o?void 0:o.value.length))null===(t=Vn.current)||void 0===t||t.focus();break;case ln:case sn:case cn:if(Ae===cn||1===(null==se?void 0:se.length)){Oe(0),Re(null),e.preventDefault();break}Re("next")}break;case"left":switch(Ae){case an:var i;e.preventDefault(),Oe(null==Xn||null===(i=Xn.current)||void 0===i?void 0:i.value.length);break;case tn:case sn:case cn:if(Ne(se)){var a;if(Ae===tn&&0!==(null===(a=Xn.current)||void 0===a?void 0:a.selectionStart))break;Re("prev")}}break;default:Re(null)}}),[Ae,Ne,se,Oe,Re]);a((function(){fe!==be&&He("first")}),[fe,Yn,be,He]),a((function(){if(ie){var n=Hn(ie);if(n&&n.current&&Zn.current){var e=n.current.offsetTop,r=Zn.current,o=r.scrollTop;(e>r.offsetHeight||e<o)&&(Zn.current.scrollTop=e)}}}),[ie,Hn]);var Ge=o((function(e){if(E(e,"ComboboxOption")){var r=Qn(e.props),o=r.value,t=r.displayName;if(Ee(o)){var i=e.props,a=i.className,l=i.glyph,c=i.disabled,s=Ce.findIndex((function(n){return n.value===o})),u=ie===o,d=Ne(se)?se.includes(o):se===o,p=Hn(o);return P(Vr,{value:o,displayName:t,isFocused:u,isSelected:d,disabled:c,setSelected:function(){ae(o),Se(o),Oe(),o===se&&we()},glyph:l,className:a,index:s,ref:p})}}else if(E(e,"ComboboxGroup")){var f=n.Children.map(e.props.children,Ge);if(f&&(null==f?void 0:f.length)>0)return P(le,{label:e.props.label,className:e.props.className},n.Children.map(f,Ge))}}),[Ce,Hn,ie,Ne,se,Oe,Ee,Se]),Ke=t((function(){return n.Children.map(v,Ge)}),[v,Ge]),Ue=t((function(){if(Ne(se))return se.filter(Ie).map((function(n,e){var r=ne(n,Ce),o=me===n,t=Rn(n),i=e>=se.length-1;return P(qo,{key:n,displayName:r,isFocused:o,onRemove:function(){i?(Oe(),Re(null)):Re("next",e),Se(n)},onFocus:function(){ve(n)},ref:t})}))}),[Ne,se,Ie,Ce,me,Rn,Se,Oe,Re]),Ve=t((function(){return P(n.Fragment,null,gn&&ye&&P(N,{"aria-label":"Clear selection","aria-disabled":A,disabled:A,ref:Vn,onClick:function(n){A||(Se(null),null==vn||vn(n),null==hn||hn(""),Yn||ke())},onFocus:Je,className:S(Fo),darkMode:W},P(k,{glyph:"XWithCircle"})),P(k,"error"===K?{glyph:"Warning",color:W?M.red.light1:M.red.base,className:Ao(H)}:{glyph:"CaretDown",className:Ao(H)}))}),[gn,ye,A,K,W,H,Se,vn,hn,Yn]),Be=t((function(){return Ce.some((function(n){return n.hasGlyph}))}),[Ce]),Xe=o((function(){if(!Ne(se)&&se===de){var n=je.find((function(n){return n.displayName===fe||n.value===fe}));if(n&&!On)ue(n.value);else{var e,r=null!==(e=ne(se,Ce))&&void 0!==e?e:"";he(r)}}}),[Ce,fe,Ne,de,se,On,je]),Ze=o((function(){if(ye){if(Ne(se))er();else if(!Ne(se)){var n,e=null!==(n=ne(se,Ce))&&void 0!==n?n:"";he(e),we()}}else he("")}),[ye,Ce,Ne,se]);a((function(){if(Cn)if(s(Cn)){var n,e=null!==(n=Cn.filter((function(n){return Ie(n)})))&&void 0!==n?n:[];ue(e)}else Ie(Cn)&&ue(Cn);else ue(function(n){return n?[]:null}(kn))}),[]),a((function(){if(!d(On)&&On!==be)if(c(On))ue(null);else if(Ne(On)){var n=On.filter(Ie);ue(n)}else ue(Ie(On)?On:null)}),[Ne,Ie,be,On]),a((function(){f(se,de)||Ze()}),[Ze,de,se]),a((function(){!Yn&&Jn&&Xe()}),[Yn,Jn,Xe]);var qe=Q(l(0),2),Ye=qe[0],$e=qe[1];a((function(){var n,e;$e(null!==(n=null===(e=Un.current)||void 0===e?void 0:e.clientWidth)&&void 0!==n?n:0)}),[Un,Yn,ie,se]);var Je=function(){ae(null)};w("mousedown",(function(n){nr(n)||(n.preventDefault(),n.stopPropagation())}),{enabled:Yn}),w("click",(function(n){nr(n)||(n.stopPropagation(),we())}),{options:{capture:!0},enabled:Yn});var Qe,_e=function(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?X(Object(r),!0).forEach((function(e){q(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):X(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}({popoverZIndex:Fn},In?{usePortal:In,portalClassName:Dn,portalContainer:Pn,scrollContainer:Ln}:{usePortal:In});return P(re.Provider,{value:{multiselect:kn,darkMode:W,size:H,withIcons:Be,disabled:A,isOpen:Yn,state:K,searchState:B,chipTruncationLocation:Sn,chipCharacterLimit:Mn,inputValue:fe}},P("div",Y({className:S(wo(H,xn),En)},An),P("div",{className:Ro},C&&P(h,{id:Gn,htmlFor:Wn,darkMode:W},C),O&&P(b,{darkMode:W},O)),P("div",{ref:Un,role:"combobox","aria-expanded":Yn,"aria-controls":Kn,"aria-owns":Kn,tabIndex:-1,onMouseDown:function(n){A&&n.preventDefault()},onClick:function(n){if(n.target!==Xn.current){var e=0;if(Xn.current)e=n.nativeEvent.offsetX>Xn.current.offsetLeft+Xn.current.clientWidth?fe.length:0;Oe(e)}},onFocus:function(n){er(),ke(),Te(function(n){var e,r,o,t;if(!n)return;if(null!==(e=Xn.current)&&void 0!==e&&e.contains(n))return tn;if(null!==(r=Vn.current)&&void 0!==r&&r.contains(n))return an;var i=Ne(se)?se.findIndex((function(e){var r,o;return null===(r=Rn(e))||void 0===r||null===(o=r.current)||void 0===o?void 0:o.contains(n)})):-1;if(Ne(se)){if(0===i)return ln;if(i===se.length-1)return cn;if(i>0)return sn}if(null!==(o=Zn.current)&&void 0!==o&&o.contains(n))return dn;if(null!==(t=Un.current)&&void 0!==t&&t.contains(n))return un}(n.target))},onKeyDown:function(n){var e,r,o=null===(e=Zn.current)||void 0===e?void 0:e.contains(document.activeElement);if((null===(r=Un.current)||void 0===r?void 0:r.contains(document.activeElement))||o){if(n.ctrlKey||n.shiftKey||n.altKey)return;switch(n.keyCode){case I.Tab:switch(Ae){case"Input":ye||(we(),He("first"),Re(null));break;case"LastChip":Re(null)}break;case I.Escape:we(),He("first");break;case I.Enter:!Yn||Ae!==tn||c(ie)||function(n){if("string"==typeof n){var e=_n(n,Ce);return!(null==e||!e.isDisabled)}return!!n.isDisabled}(ie)?Ae===an&&(Se(null),Oe()):Se(ie);break;case I.Backspace:var t;if(Ne(se))"Input"===Ae&&0===(null===(t=Xn.current)||void 0===t?void 0:t.selectionStart)&&Re("last");ke();break;case I.ArrowDown:Yn?(n.preventDefault(),He("next")):ke();break;case I.ArrowUp:Yn?(n.preventDefault(),He("prev")):ke();break;case I.ArrowRight:We("right",n);break;case I.ArrowLeft:We("left",n);break;default:Yn||ke()}}},onTransitionEnd:function(){var n,e;$e(null!==(n=null===(e=Un.current)||void 0===e?void 0:e.clientWidth)&&void 0!==n?n:0)},className:S(ko,Co[Tn],No(H),(r={},q(r,Oo[Tn],A),q(r,So[Tn],K===mn),q(r,zo[Tn],(Qe=tn,Qe===Ae)),r))},P("div",{ref:Bn,className:Mo({size:H,overflow:xn})},Ue,P("input",{"aria-label":null!=L?L:C,"aria-autocomplete":"list","aria-controls":Kn,"aria-labelledby":Gn,ref:Xn,id:Wn,className:S(Eo,Io[H],jo[Tn],Do(Yn,xn),(m={},q(m,Po(H,fe),Ne(se)),q(m,Lo(se),Ne(se)),m)),placeholder:xe,disabled:null!=A?A:void 0,onChange:function(n){var e=n.target.value;he(e),null==hn||hn(e)},value:fe,autoComplete:"off"})),Ve),"error"===K&&U&&P("div",{className:S(To[Tn],Ho[H])},U),P($o,Y({id:Kn,labelId:Gn,refEl:Un,ref:Zn,menuWidth:Ye,searchLoadingMessage:on,searchErrorMessage:en,searchEmptyMessage:_},_e),Ke)));function nr(n){var e,r,o=n.target;return(null===(e=Zn.current)||void 0===e?void 0:e.contains(o))||(null===(r=Un.current)||void 0===r?void 0:r.contains(o))||!1}function er(){Bn&&Bn.current&&(Bn.current.scrollLeft=Bn.current.scrollWidth)}}export{Qo as Combobox,ce as ComboboxGroup,Br as ComboboxOption};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|