@leafygreen-ui/combobox 7.2.0 → 8.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 CHANGED
@@ -1,5 +1,20 @@
1
1
  # @leafygreen-ui/combobox
2
2
 
3
+ ## 8.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - 371aecac: - Adds optional `inputValue` and `onInputChange` props to Combobox. These props are used to control the value of the inner text input (not the selected combobox value itself).
8
+
9
+ - `onChange` callback now fires when the input is blurred and the input contains a valid selection value.
10
+
11
+ ### Patch Changes
12
+
13
+ - Updated dependencies [58e86c60]
14
+ - Updated dependencies [be92f17c]
15
+ - @leafygreen-ui/typography@18.2.0
16
+ - @leafygreen-ui/checkbox@12.1.0
17
+
3
18
  ## 7.2.0
4
19
 
5
20
  ### Minor Changes
@@ -6,7 +6,7 @@ import { ComboboxProps } from './Combobox.types';
6
6
  * allowing the user to either type a value directly or select a value from the list.
7
7
  * Can be configured to select a single or multiple options.
8
8
  */
9
- export declare function Combobox<M extends boolean>({ children, label, description, placeholder, 'aria-label': ariaLabel, disabled, size, darkMode: darkModeProp, state, errorMessage, searchState, searchEmptyMessage, searchErrorMessage, searchLoadingMessage, filteredOptions, onFilter, clearable, onClear, overflow, multiselect, initialValue, onChange, value, chipTruncationLocation, chipCharacterLimit, className, usePortal, portalClassName, portalContainer, scrollContainer, popoverZIndex, ...rest }: ComboboxProps<M>): React.JSX.Element;
9
+ export declare function Combobox<M extends boolean>({ children, label, description, placeholder, 'aria-label': ariaLabel, disabled, size, darkMode: darkModeProp, state, errorMessage, searchState, searchEmptyMessage, searchErrorMessage, searchLoadingMessage, filteredOptions, onFilter, clearable, onClear, overflow, multiselect, initialValue, inputValue: inputValueProp, onInputChange, onChange, value, chipTruncationLocation, chipCharacterLimit, className, usePortal, portalClassName, portalContainer, scrollContainer, popoverZIndex, ...rest }: ComboboxProps<M>): React.JSX.Element;
10
10
  export declare namespace Combobox {
11
11
  var propTypes: {
12
12
  multiselect: PropTypes.Requireable<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../src/Combobox/Combobox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAYN,MAAM,OAAO,CAAC;AAQf,OAAO,SAAS,MAAM,YAAY,CAAC;AA0EnC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,OAAO,EAAE,EAC1C,QAAQ,EACR,KAAK,EACL,WAAW,EACX,WAAsB,EACtB,YAAY,EAAE,SAAS,EACvB,QAAgB,EAChB,IAA2B,EAC3B,QAAQ,EAAE,YAAY,EACtB,KAAc,EACd,YAAY,EACZ,WAAqB,EACrB,kBAAuC,EACvC,kBAA6C,EAC7C,oBAA2C,EAC3C,eAAe,EACf,QAAQ,EACR,SAAgB,EAChB,OAAO,EACP,QAA2B,EAC3B,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,qBA0tClB;yBA3vCe,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwyCxB;;;GAGG"}
1
+ {"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../src/Combobox/Combobox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAYN,MAAM,OAAO,CAAC;AAQf,OAAO,SAAS,MAAM,YAAY,CAAC;AA2EnC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,OAAO,EAAE,EAC1C,QAAQ,EACR,KAAK,EACL,WAAW,EACX,WAAsB,EACtB,YAAY,EAAE,SAAS,EACvB,QAAgB,EAChB,IAA2B,EAC3B,QAAQ,EAAE,YAAY,EACtB,KAAc,EACd,YAAY,EACZ,WAAqB,EACrB,kBAAuC,EACvC,kBAA6C,EAC7C,oBAA2C,EAC3C,eAAe,EACf,QAAQ,EACR,SAAgB,EAChB,OAAO,EACP,QAA2B,EAC3B,WAAwB,EACxB,YAAY,EACZ,UAAU,EAAE,cAAc,EAC1B,aAAa,EACb,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,qBA4uClB;yBA/wCe,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4zCxB;;;GAGG"}
@@ -119,6 +119,14 @@ export declare type BaseComboboxProps = Omit<HTMLElementProps<'div'>, 'onChange'
119
119
  * Do not remove options from the JSX children, as this will affect the selected options
120
120
  */
121
121
  filteredOptions?: Array<string>;
122
+ /**
123
+ * A callback fired when the input text changes
124
+ */
125
+ onInputChange?: React.ChangeEventHandler<HTMLInputElement>;
126
+ /**
127
+ * Allows for a controlled text-input value
128
+ */
129
+ inputValue?: string;
122
130
  };
123
131
  export declare type ComboboxProps<M extends boolean> = Either<BaseComboboxProps & ComboboxMultiselectProps<M>, 'label' | 'aria-label'>;
124
132
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"Combobox.types.d.ts","sourceRoot":"","sources":["../../src/Combobox/Combobox.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,eAAe,EACf,KAAK,EACN,MAAM,UAAU,CAAC;AAElB;;GAEG;AAEH,MAAM,WAAW,wBAAwB,CAAC,CAAC,SAAS,OAAO;IACzD;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,CAAC;IAChB;;;;OAIG;IACH,YAAY,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAC3B;;;;;OAKG;IACH,KAAK,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAE3B;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,CAAC,SAAS,IAAI,GAAG,QAAQ,GAAG,SAAS,CAAC;CAClD;AAED,aAAK,gBAAgB,GAAG,IAAI,CAC1B,SAAS,EACT,wBAAwB,GAAG,oBAAoB,GAAG,eAAe,CAClE,CAAC;AAEF,oBAAY,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,GACvE,kBAAkB,GAClB,gBAAgB,GAAG;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEnC;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IAEvE;;;OAGG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CACjC,CAAC;AAEJ,oBAAY,aAAa,CAAC,CAAC,SAAS,OAAO,IAAI,MAAM,CACnD,iBAAiB,GAAG,wBAAwB,CAAC,CAAC,CAAC,EAC/C,OAAO,GAAG,YAAY,CACvB,CAAC"}
1
+ {"version":3,"file":"Combobox.types.d.ts","sourceRoot":"","sources":["../../src/Combobox/Combobox.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,eAAe,EACf,KAAK,EACN,MAAM,UAAU,CAAC;AAElB;;GAEG;AAEH,MAAM,WAAW,wBAAwB,CAAC,CAAC,SAAS,OAAO;IACzD;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,CAAC;IAChB;;;;OAIG;IACH,YAAY,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAC3B;;;;;OAKG;IACH,KAAK,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAE3B;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,CAAC,SAAS,IAAI,GAAG,QAAQ,GAAG,SAAS,CAAC;CAClD;AAED,aAAK,gBAAgB,GAAG,IAAI,CAC1B,SAAS,EACT,wBAAwB,GAAG,oBAAoB,GAAG,eAAe,CAClE,CAAC;AAEF,oBAAY,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,GACvE,kBAAkB,GAClB,gBAAgB,GAAG;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEnC;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IAEvE;;;OAGG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAEhC;;OAEG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IAE3D;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEJ,oBAAY,aAAa,CAAC,CAAC,SAAS,OAAO,IAAI,MAAM,CACnD,iBAAiB,GAAG,wBAAwB,CAAC,CAAC,CAAC,EAC/C,OAAO,GAAG,YAAY,CACvB,CAAC"}
package/dist/esm/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import e,{createContext as n,useContext as r,useEffect as t,useMemo as a,useCallback as o,useRef as i,useState as l}from"react";import c from"lodash/clone";import s from"lodash/debounce";import u from"lodash/isArray";import d from"lodash/isEqual";import p from"lodash/isNull";import f from"lodash/isString";import h from"lodash/isUndefined";import m from"prop-types";import{css as g,cx as b,keyframes as v}from"@leafygreen-ui/emotion";import{useForwardedRef as y,useIdAllocator as x,useAvailableSpace as k,useDynamicRefs as w,usePrevious as E,useAutoScroll as C,useBackdropClick as L}from"@leafygreen-ui/hooks";import S,{isComponentGlyph as N}from"@leafygreen-ui/icon";import O from"@leafygreen-ui/icon-button";import D,{useDarkMode as M}from"@leafygreen-ui/leafygreen-provider";import{createUniqueClassName as j,keyMap as I,Theme as z,isComponentType as T,consoleOnce as P}from"@leafygreen-ui/lib";import{Error as A,Label as F,Description as W}from"@leafygreen-ui/typography";import{chipTextClassName as X,TruncationLocation as R,Chip as G,BaseFontSize as H,Variant as Z}from"@leafygreen-ui/chip";import{typeScales as K,spacing as Y,fontWeights as V,fontFamilies as q,transitionDuration as B,focusRing as U}from"@leafygreen-ui/tokens";import{palette as $}from"@leafygreen-ui/palette";import J from"@leafygreen-ui/popover";import{transparentize as Q}from"polished";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 oe(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 ie(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?oe(Object(r),!0).forEach((function(n){ce(e,n,r[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):oe(Object(r)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))}))}return e}function le(e){return le="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},le(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={},o=Object.keys(e);for(t=0;t<o.length;t++)r=o[t],n.indexOf(r)>=0||(a[r]=e[r]);return a}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(t=0;t<o.length;t++)r=o[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,o,i,l=[],c=!0,s=!1;try{if(o=(r=r.call(e)).next,0===n){if(Object(r)!==r)return;c=!1}else for(;!(c=(t=o.call(r)).done)&&(l.push(t.value),l.length!==n);c=!0);}catch(e){s=!0,a=e}finally{try{if(!c&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(s)throw a}}return l}}(e,n)||he(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)||he(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 he(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 ge="Input",be="ClearButton",ve="FirstChip",ye="LastChip",xe="MiddleChip",ke="Combobox",we="Menu",Ee={XSmall:"xsmall",Small:"small",Default:"default",Large:"large"},Ce={expandY:"expand-y",scrollX:"scroll-x",expandX:"expand-x"},Le={none:"none",error:"error"},Se={unset:"unset",error:"error",loading:"loading"};var Ne,Oe,De,Me,je,Ie,ze,Te,Pe,Ae,Fe,We,Xe,Re,Ge,He=n({multiselect:!1,size:Ee.Default,withIcons:!1,disabled:!1,isOpen:!1,state:Le.none,searchState:Se.unset,overflow:Ce.expandY}),Ze=j("combobox-chip"),Ke=(ce(Ne={},Ee.XSmall,16),ce(Ne,Ee.Small,K.body1.lineHeight),ce(Ne,Ee.Default,K.body1.lineHeight),ce(Ne,Ee.Large,K.body2.lineHeight),Ne),Ye=(ce(Oe={},Ee.XSmall,K.body1.fontSize),ce(Oe,Ee.Small,K.body1.fontSize),ce(Oe,Ee.Default,K.body1.fontSize),ce(Oe,Ee.Large,K.body2.fontSize),Oe),Ve=(ce(De={},Ee.XSmall,1),ce(De,Ee.Small,0),ce(De,Ee.Default,2),ce(De,Ee.Large,4),De),qe=(ce(Te={},Ee.XSmall,g(Me||(Me=de(["\n font-size: ","px;\n line-height: ","px;\n\n ."," {\n padding-block: ","px;\n }\n "])),Ye[Ee.XSmall],Ke[Ee.XSmall],X,Ve[Ee.XSmall])),ce(Te,Ee.Small,g(je||(je=de(["\n font-size: ","px;\n line-height: ","px;\n\n ."," {\n padding-block: ","px;\n }\n "])),Ye[Ee.Small],Ke[Ee.Small],X,Ve[Ee.Small])),ce(Te,Ee.Default,g(Ie||(Ie=de(["\n font-size: ","px;\n line-height: ","px;\n\n ."," {\n padding-block: ","px;\n }\n "])),Ye[Ee.Default],Ke[Ee.Default],X,Ve[Ee.Default])),ce(Te,Ee.Large,g(ze||(ze=de(["\n font-size: ","px;\n line-height: ","px;\n\n ."," {\n padding-inline-end: 10px;\n padding-block: ","px;\n }\n "])),Ye[Ee.Large],Ke[Ee.Large],X,Ve[Ee.Large])),Te),Be=e.forwardRef((function(n,a){var o,i=n.displayName,l=n.isFocused,c=n.onRemove,s=n.onFocus,u=r(He),d=u.size,p=u.disabled,f=u.overflow,h=u.chipTruncationLocation,m=void 0===h?R.End:h,g=u.chipCharacterLimit,v=void 0===g?12:g,x=u.popoverZIndex,k=f===Ce.scrollX?R.None:m,w=y(a,null),E=null===(o=w.current)||void 0===o?void 0:o.querySelector("button");t((function(){l&&!p&&(null==E||E.focus())}),[p,E,l]);return e.createElement(G,{label:i,className:b(Ze,qe[d]),role:"option","aria-selected":l,"data-testid":"lg-combobox-chip",onClick:function(e){null!=E&&E.contains(e.target)||s()},onKeyDown:function(e){p||e.key!==I.Delete&&e.key!==I.Backspace&&e.key!==I.Enter&&e.key!==I.Space||c()},onDismiss:function(){p||c()},baseFontSize:H.Body1,chipCharacterLimit:v,chipTruncationLocation:k,popoverZIndex:x,variant:Z.Gray,ref:w,disabled:p,tabIndex:-1})}));Be.displayName="ComboboxChip";var Ue,$e,Je,Qe,_e,en,nn,rn,tn,an,on,ln,cn,sn,un,dn,pn,fn=(ce(Fe={},z.Light,g(Pe||(Pe=de(["\n padding-top: ","px;\n "])),Y[2])),ce(Fe,z.Dark,g(Ae||(Ae=de(["\n padding-top: ","px;\n "])),Y[2])),Fe),hn=g(We||(We=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"])),V.bold),mn=(ce(Ge={},z.Light,g(Xe||(Xe=de(["\n color: ",";\n "])),$.gray.dark1)),ce(Ge,z.Dark,g(Re||(Re=de(["\n color: ",";\n "])),$.gray.light1)),Ge);function gn(n){var r=n.label,t=n.className,a=n.children,o=M().theme,i=x({prefix:"combobox-group"});return e.Children.count(a)>0?e.createElement("div",{className:b(fn[o],t)},e.createElement("div",{className:b(hn,mn[o]),id:i},r),e.createElement("div",{role:"group","aria-labelledby":i},a)):e.createElement(e.Fragment,null)}function bn(e){throw Error("`ComboboxGroup` must be a child of a `Combobox` instance")}bn.displayName="ComboboxGroup",bn.propTypes={className:m.string,children:m.node.isRequired,label:m.string.isRequired};var vn,yn=(ce(Ue={},Ee.XSmall,{x:12,y:8}),ce(Ue,Ee.Small,{x:12,y:8}),ce(Ue,Ee.Default,{x:12,y:8}),ce(Ue,Ee.Large,{x:12,y:8}),Ue),xn=function(e){return Ke[e]+2*yn[e].y},kn=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:384;return g($e||($e=de(["\n width: ","px;\n overflow: hidden;\n border-radius: 12px;\n border: 1px solid;\n"])),e)},wn=(ce(_e={},z.Light,g(Je||(Je=de(["\n box-shadow: 0px 4px 7px ",";\n border-color: ",";\n "])),Q(.85,$.black),$.gray.light2)),ce(_e,z.Dark,g(Qe||(Qe=de(["\n box-shadow: 0px 4px 7px ",";\n border-color: ",";\n "])),Q(.85,$.black),$.gray.dark2)),_e),En=g(en||(en=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],q.default),Cn=(ce(tn={},z.Light,g(nn||(nn=de(["\n color: ",";\n background-color: ",";\n "])),$.black,$.white)),ce(tn,z.Dark,g(rn||(rn=de(["\n color: ",";\n background-color: ",";\n "])),$.gray.light1,$.gray.dark3)),tn),Ln=g(an||(an=de(["\n position: relative;\n margin: 0;\n padding: 0;\n"]))),Sn=g(on||(on=de(["\n font-family: inherit;\n display: inline-flex;\n align-items: center;\n gap: 8px;\n"]))),Nn=(ce(sn={},z.Light,g(ln||(ln=de(["\n color: ",";\n "])),$.gray.dark3)),ce(sn,z.Dark,g(cn||(cn=de(["\n color: ",";\n "])),$.gray.light3)),sn),On=function(e){return g(un||(un=de(["\n font-size: ","px;\n line-height: ","px;\n padding: ","px ","px;\n"])),Ye[e],Ke[e],yn[e].y,yn[e].x)},Dn=v(dn||(dn=de(["\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n"]))),Mn=g(pn||(pn=de(["\n animation: "," 1.5s linear infinite;\n"])),Dn),jn=["children","id","refEl","labelId","menuWidth","searchLoadingMessage","searchErrorMessage","searchEmptyMessage"],In=e.forwardRef((function(n,t){var o=n.children,i=n.id,l=n.refEl,c=n.labelId,s=n.menuWidth,u=n.searchLoadingMessage,d=n.searchErrorMessage,p=n.searchEmptyMessage,f=ue(n,jn),m=M(),v=m.darkMode,x=m.theme,w=r(He),E=w.disabled,C=w.size,L=w.isOpen,N=w.searchState,O=y(t,null),D=k(l),j=h(D)?"unset":"".concat(Math.min(D,256),"px"),I=a((function(){var n=b(Sn,Nn[x],On(C)),r=b(Sn,On(C));switch(N){case"loading":return e.createElement("span",{className:n},e.createElement(S,{glyph:"Refresh",color:v?$.blue.light1:$.blue.base,className:Mn}),u);case"error":return e.createElement(A,{className:r},e.createElement(S,{glyph:"Warning",color:v?$.red.light1:$.red.base}),e.createElement("span",null,d));default:return o&&"object"===le(o)&&"length"in o&&o.length>0?e.createElement("ul",{className:Ln},o):e.createElement("span",{className:n},p)}}),[x,C,N,v,u,d,o,p]);return e.createElement(J,se({active:L&&!E,spacing:4,align:"bottom",justify:"middle",refEl:l,adjustOnMutation:!0,className:b(kn(s),wn[x])},f),e.createElement("div",{ref:O,id:i,role:"listbox","aria-labelledby":c,"aria-expanded":L,className:b(En,Cn[x],g(vn||(vn=de(["\n max-height: ",";\n "])),j)),onMouseDownCapture:function(e){return e.preventDefault()}},I))}));In.displayName="ComboboxMenu";var zn,Tn,Pn,An,Fn,Wn,Xn,Rn,Gn,Hn,Zn,Kn,Yn,Vn,qn,Bn,Un,$n,Jn,Qn,_n,er,nr,rr,tr,ar,or=function(e){var n=e.scrollHeight;return e.scrollTop<n-e.clientHeight},ir=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:""}},lr=function n(r){return e.Children.toArray(r).reduce((function(e,r){if(T(r,"ComboboxOption")){var t=ir(r.props),a=t.value,o=t.displayName,i=r.props,l=i.glyph,c=i.disabled;return[].concat(fe(e),[{value:a,displayName:o,isDisabled:!!c,hasGlyph:!!l}])}if(T(r,"ComboboxGroup")){var s=r.props.children;if(s)return[].concat(fe(e),fe(n(s)))}}),[])},cr=function(e,n){if(e)return n.find((function(n){return n.value===e}))},sr=function(e,n){var r,t;return e?null!==(r=null===(t=cr(e,n))||void 0===t?void 0:t.displayName)&&void 0!==r?r:e:""},ur=function(e){return g(zn||(zn=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"])),Ye[e],Ke[e],xn(e),yn[e].y,yn[e].x,Y[1],xn(e))},dr=(ce(Wn={},Ee.XSmall,g(Tn||(Tn=de(["\n min-width: ","px;\n "])),Y[3])),ce(Wn,Ee.Small,g(Pn||(Pn=de(["\n min-width: ","px;\n "])),Y[3])),ce(Wn,Ee.Default,g(An||(An=de(["\n min-width: ","px;\n "])),Y[3])),ce(Wn,Ee.Large,g(Fn||(Fn=de(["\n min-width: ","px;\n "])),Y[4])),Wn),pr=g(Xn||(Xn=de(["\n pointer-events: none;\n gap: 0;\n\n label {\n gap: 0;\n align-items: center;\n }\n"])));g(Rn||(Rn=de(["\n pointer-events: none;\n"])));var fr=function(e){return g(Gn||(Gn=de(["\n font-weight: ",";\n"])),e?V.bold:V.regular)},hr=(ce(Kn={},z.Light,g(Hn||(Hn=de(["\n color: ",";\n "])),$.gray.dark1)),ce(Kn,z.Dark,g(Zn||(Zn=de(["\n color: ",";\n "])),$.gray.base)),Kn),mr=(ce(qn={},z.Light,g(Yn||(Yn=de(["\n color: ",";\n "])),$.blue.dark1)),ce(qn,z.Dark,g(Vn||(Vn=de(["\n color: ",";\n "])),$.blue.light3)),qn),gr=(ce($n={},z.Light,g(Bn||(Bn=de(["\n color: ",";\n "])),$.gray.light1)),ce($n,z.Dark,g(Un||(Un=de(["\n color: ",";\n "])),$.gray.dark1)),$n),br=(ce(_n={},z.Light,g(Jn||(Jn=de(["\n color: ",";\n "])),$.blue.base)),ce(_n,z.Dark,g(Qn||(Qn=de(["\n color: ",";\n "])),$.blue.light1)),_n),vr=(ce(rr={},z.Light,g(er||(er=de(["\n color: ",";\n "])),$.gray.light1)),ce(rr,z.Dark,g(nr||(nr=de(["\n color: ",";\n "])),$.gray.dark1)),rr),yr=g(tr||(tr=de(["\n ."," {\n align-self: baseline;\n }\n"])),_),xr=g(ar||(ar=de(["\n ."," {\n height: 28px;\n }\n"])),_),kr=["glyph","isSelected","displayName","isFocused","setSelected","className","description","value","onClick","disabled"],wr=e.forwardRef((function(n,t){var i,l=n.glyph,c=n.isSelected,s=n.displayName,u=n.isFocused,d=n.setSelected,p=n.className,f=n.description,h=n.value,m=n.onClick,g=n.disabled,v=void 0!==g&&g,k=ue(n,kr),w=M(),E=w.darkMode,C=w.theme,L=r(He),O=L.multiselect,D=L.size,j=L.withIcons,I=L.inputValue,z=y(t,null),T=x({prefix:"combobox-option-text"}),P=o((function(e){e.stopPropagation(),v||(d(),null==m||m(e,h))}),[v,m,d,h]),A=a((function(){return function(n){var r,t=n.withIcons,a=n.isSelected,o=n.glyph,i=n.optionTextId,l=n.disabled,c=n.darkMode,s=n.size,u=n.multiselect,d=n.theme,p=n.isFocused;o&&!N(o)&&console.error("`ComboboxOption` instance did not render icon because it is not a known glyph element.",o);var f=o&&N(o)?e.cloneElement(o,ie(ie({},o.props),{},{className:b(hr[d],(r={},ce(r,mr[d],p),ce(r,gr[d],l),r),o.props.className)})):e.createElement(e.Fragment,null),h=e.createElement(ae,{"aria-labelledby":i,checked:a,tabIndex:-1,disabled:l,darkMode:c,className:pr}),m=e.createElement(S,{glyph:"Checkmark",className:b(dr[s],br[d],ce({},vr[d],l))});return{leftGlyph:u?t?f:h:t?f:a?m:null,rightGlyph:u?t&&h:t&&a&&m}}({withIcons:j,isSelected:c,glyph:l,theme:C,darkMode:E,size:D,disabled:v,multiselect:O,optionTextId:T,isFocused:u})}),[E,v,l,c,O,T,D,C,j,u]),F=A.leftGlyph,W=A.rightGlyph,X=O&&!j;return e.createElement(ee,se({},k,{as:"li",ref:z,highlighted:u,disabled:v,"aria-label":s,darkMode:E,className:b(ur(D),(i={},ce(i,yr,X),ce(i,xr,X&&D===Ee.Large),i),p),onClick:P,onKeyDown:P}),e.createElement(ne,{leftGlyph:F,rightGlyph:W,description:f},e.createElement("span",{id:T,className:fr(c)},function(n,r,t){if(r&&t){var a=te(r),o=new RegExp(a,"gi"),i=n.matchAll(o);if(i){for(var l=n.split(""),c=0,s=Array.from(i);c<s.length;c++){var u,d=s[c],p=null!==(u=d.index)&&void 0!==u?u:-1,f=d[0],h=f.length,m=p+f+h,g=new Array(h).fill("");g[0]=e.createElement(t,{key:m},f),l.splice.apply(l,[p,h].concat(fe(g)))}return e.createElement(e.Fragment,null,l)}return e.createElement(e.Fragment,null,n)}return e.createElement(e.Fragment,null,n)}(s,I,"strong"))))}));function Er(e){throw Error("`ComboboxOption` must be a child of a `Combobox` instance")}wr.displayName="ComboboxOption",Er.displayName="ComboboxOption",Er.propTypes={displayName:m.string,value:m.string,glyph:m.node,disabled:m.bool,className:m.string,description:m.string,onClick:m.func};var Cr,Lr,Sr,Nr,Or,Dr,Mr,jr,Ir,zr,Tr,Pr,Ar,Fr,Wr,Xr,Rr,Gr,Hr,Zr,Kr,Yr,Vr,qr,Br,Ur,$r,Jr,Qr,_r,et,nt,rt,tt,at,ot,it,lt,ct,st,ut,dt,pt,ft,ht,mt,gt,bt,vt,yt,xt=function(e){return Ke[e]+2*Ve[e]},kt=(ce(Cr={},Ee.XSmall,22),ce(Cr,Ee.Small,28),ce(Cr,Ee.Default,36),ce(Cr,Ee.Large,48),Cr),wt=function(e){return(kt[e]-xt(e)-2)/2},Et=(ce(Lr={},Ee.XSmall,{y:wt(Ee.XSmall),xLeftWithChip:1,xLeftWithoutChip:10,xRight:4}),ce(Lr,Ee.Small,{y:wt(Ee.Small),xLeftWithChip:4,xLeftWithoutChip:10,xRight:8}),ce(Lr,Ee.Default,{y:wt(Ee.Default),xLeftWithChip:6,xLeftWithoutChip:12,xRight:12}),ce(Lr,Ee.Large,{y:wt(Ee.Large),xLeftWithChip:Y[2]-1,xLeftWithoutChip:Y[2]-1,xRight:Y[2]-1}),Lr),Ct=Y[3],Lt=function(e){return g(Sr||(Sr=de(["\n font-family: ",";\n width: 100%;\n min-width: ","px;\n "])),q.default,Ye[e]+2*Et[e].xLeftWithChip+Ct+2)},St=g(Nr||(Nr=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],B.default,B.default),Nt=(ce(Mr={},z.Light,g(Or||(Or=de(["\n color: ",";\n background-color: ",";\n border-color: ",";\n "])),$.gray.dark3,$.white,$.gray.base)),ce(Mr,z.Dark,g(Dr||(Dr=de(["\n color: ",";\n background-color: ",";\n border-color: ",";\n "])),$.gray.light2,$.gray.dark4,$.gray.base)),Mr),Ot=function(e,n){return g(jr||(jr=de(["\n padding-top: ","px;\n padding-bottom: ","px;\n padding-left: ",";\n padding-right: ","px;\n"])),Et[e].y,Et[e].y,"".concat(n?Et[e].xLeftWithChip:Et[e].xLeftWithoutChip,"px"),Et[e].xRight)},Dt=(ce(Tr={},z.Light,g(Ir||(Ir=de(["\n cursor: not-allowed;\n color: ",";\n background-color: ",";\n border-color: ",";\n "])),$.gray.dark1,$.gray.light2,$.gray.light1)),ce(Tr,z.Dark,g(zr||(zr=de(["\n cursor: not-allowed;\n color: ",";\n background-color: ",";\n border-color: ",";\n "])),$.gray.dark1,$.gray.dark3,$.gray.dark2)),Tr),Mt=(ce(Fr={},z.Light,g(Pr||(Pr=de(["\n border-color: ",";\n "])),$.red.base)),ce(Fr,z.Dark,g(Ar||(Ar=de(["\n border-color: ",";\n "])),$.red.light1)),Fr),jt=(ce(Rr={},z.Light,g(Wr||(Wr=de(["\n &:focus-within {\n border-color: transparent;\n box-shadow: ",";\n }\n "])),U[z.Light].input)),ce(Rr,z.Dark,g(Xr||(Xr=de(["\n &:focus-within {\n border-color: transparent;\n box-shadow: ",";\n }\n "])),U[z.Dark].input)),Rr),It=g(Gr||(Gr=de(["\n display: flex;\n align-items: center;\n"]))),zt=(ce(Vr={},Ee.XSmall,g(Hr||(Hr=de(["\n gap: ","px;\n "])),Y[1])),ce(Vr,Ee.Small,g(Zr||(Zr=de(["\n gap: ","px;\n "])),Y[2])),ce(Vr,Ee.Default,g(Kr||(Kr=de(["\n gap: ","px;\n "])),Y[2])),ce(Vr,Ee.Large,g(Yr||(Yr=de(["\n gap: ","px;\n "])),Y[2])),Vr),Tt=function(e){var n=e.overflow,r=e.size,t=g(qr||(qr=de(["\n flex-grow: 1;\n width: 100%;\n "])));switch(n){case Ce.scrollX:return g(Br||(Br=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,xt(r),Ze);case Ce.expandY:return g(Ur||(Ur=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,xt(r),3*xt(r),4)}},Pt=g($r||($r=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"])),q.default,Y[1]),At=(ce(_r={},z.Light,g(Jr||(Jr=de(["\n &::placeholder {\n color: ",";\n }\n "])),$.gray.dark1)),ce(_r,z.Dark,g(Qr||(Qr=de(["\n &::placeholder {\n color: ",";\n }\n "])),$.gray.light1)),_r),Ft=(ce(rt={},z.Light,g(et||(et=de(["\n &::placeholder {\n color: ",";\n }\n "])),$.gray.dark1)),ce(rt,z.Dark,g(nt||(nt=de(["\n &::placeholder {\n color: ",";\n }\n "])),$.gray.dark1)),rt),Wt=function(e){return g(tt||(tt=de(["\n height: ","px;\n font-size: ","px;\n line-height: ","px;\n min-width: ","px;\n"])),xt(e),Ye[e],Ke[e],Ye[e])},Xt=function(e){return g(at||(at=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")},Rt=function(e,n){var r,t=null!==(r=null==n?void 0:n.length)&&void 0!==r?r:0;return g(ot||(ot=de(["\n width: ","px;\n max-width: 100%;\n "])),t*Ye[e])},Gt=g(it||(it=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"])),Ct/2),Ht=g(lt||(lt=de(["\n height: ","px;\n width: ","px;\n"])),Ct,Ct),Zt=(ce(ut={},z.Light,g(ct||(ct=de(["\n color: ",";\n "])),$.red.base)),ce(ut,z.Dark,g(st||(st=de(["\n color: ",";\n "])),$.red.light1)),ut),Kt=function(e){return g(dt||(dt=de(["\n font-size: ","px;\n line-height: ","px;\n padding-top: ","px;\n"])),Ye[e],Ke[e],Et[e].y)},Yt=g(pt||(pt=de(["\n margin-bottom: ","px;\n display: flex;\n flex-direction: column;\n"])),Y[1]),Vt=g(ft||(ft=de(["\n font-size: ","px;\n line-height: ","px;\n"])),K.large.fontSize,K.large.lineHeight),qt=(ce(gt={},z.Light,g(ht||(ht=de(["\n ::after {\n box-shadow: 0px 0px 7px 5px ",";\n }\n "])),Q(.85,$.black))),ce(gt,z.Dark,g(mt||(mt=de(["\n ::after {\n width: 95%;\n box-shadow: 0px -7px 12px 5px rgb(0 0 0 / 50%);\n }\n "])))),gt),Bt=(ce(bt={},z.Light,$.red.base),ce(bt,z.Dark,$.red.light1),bt),Ut=(ce(vt={},z.Light,$.gray.dark2),ce(vt,z.Dark,$.gray.light1),vt),$t=(ce(yt={},z.Light,$.gray.base),ce(yt,z.Dark,$.gray.dark1),yt),Jt=["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"],Qt=["className","glyph","disabled"];function _t(n){var r,m,g,v=n.children,y=n.label,k=n.description,N=n.placeholder,j=void 0===N?"Select":N,z=n["aria-label"],A=n.disabled,X=void 0!==A&&A,R=n.size,G=void 0===R?Ee.Default:R,H=n.darkMode,Z=n.state,K=void 0===Z?"none":Z,Y=n.errorMessage,V=n.searchState,q=void 0===V?"unset":V,B=n.searchEmptyMessage,U=void 0===B?"No results found":B,$=n.searchErrorMessage,J=void 0===$?"Could not get results!":$,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,oe=n.overflow,de=void 0===oe?Ce.expandY:oe,fe=n.multiselect,he=void 0!==fe&&fe,me=n.initialValue,Se=n.onChange,Ne=n.value,Oe=n.chipTruncationLocation,De=n.chipCharacterLimit,Me=void 0===De?12:De,je=n.className,Ie=n.usePortal,ze=void 0===Ie||Ie,Te=n.portalClassName,Pe=n.portalContainer,Ae=n.scrollContainer,Fe=n.popoverZIndex,We=ue(n,Jt),Xe=M(H),Re=Xe.darkMode,Ge=Xe.theme,Ze=w({prefix:"option"}),Ke=w({prefix:"chip"}),Ye=x({prefix:"combobox-input"}),Ve=x({prefix:"combobox-label"}),qe=x({prefix:"combobox-menu"}),Ue=i(null),$e=i(null),Je=i(null),Qe=i(null),_e=i(null),en=pe(l(!1),2),nn=en[0],rn=en[1],tn=E(nn),an=pe(l(null),2),on=an[0],ln=an[1],cn=pe(l(null),2),sn=cn[0],un=cn[1],dn=E(sn),pn=pe(l(""),2),fn=pn[0],hn=pn[1],mn=E(fn),bn=pe(l(null),2),vn=bn[0],yn=bn[1],xn=pe(l(!1),2),kn=xn[0],wn=xn[1],En=!p(sn)&&(u(sn)&&sn.length>0||f(sn)),Cn=he&&u(sn)&&sn.length>0?void 0:j,Ln=function(){return rn(!1)},Sn=function(){return rn(!0)},Nn=a((function(){return lr(v)}),[v]),On=o((function(e){return!he||"string"!=typeof e&&"number"!=typeof e?!he&&u(e)&&P.error("Error in Combobox: multiselect is set to `false`, but received an Array value"):P.error("Error in Combobox: multiselect is set to `true`, but received a ".concat(le(e),' value: "').concat(e,'"')),he&&u(e)}),[he]),Dn=o((function(e){!X&&Qe&&Qe.current&&(Qe.current.focus(),h(e)||Qe.current.setSelectionRange(e,e))}),[X]),Mn=o((function(e){if(On(sn)){var n=c(sn),r=Se,t={diffType:"delete",value:null!=e?e:sn};p(e)?n.length=0:sn.includes(e)?n.splice(n.indexOf(e),1):(n.push(e),t.diffType="insert",hn("")),un(n),null==r||r(n,t)}else{var a=e,o=Se;un(a),null==o||o(a)}}),[On,Se,sn]),jn=o((function(e){var n,r,t,a;return function(e,n){return Array.isArray(n)?n.includes(e):e===n}((r=Nn,(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:""),sn)}),[Nn,sn]),zn=o((function(e){var n="string"==typeof e?e:e.value;return ee&&ee.length>0?ee.includes(n):!!jn(fn)||("string"==typeof e?sr(n,Nn):e.displayName).toLowerCase().includes(fn.toLowerCase())}),[ee,jn,fn,Nn]),Tn=a((function(){return Nn.filter(zn)}),[Nn,zn]),Pn=o((function(e){return!!e&&!!Nn.find((function(n){return n.value===e}))}),[Nn]),An=o((function(e){return Tn?Tn.findIndex((function(n){return n.value===e})):-1}),[Tn]),Fn=o((function(e){if(Tn&&Tn.length>=e){var n=Tn[e];return n?n.value:void 0}}),[Tn]),Wn=o((function(){return On(sn)?sn.findIndex((function(e){var n,r;return null===(n=Ke(e))||void 0===n||null===(r=n.current)||void 0===r?void 0:r.contains(document.activeElement)})):-1}),[Ke,On,sn]),Xn=pe(l(),2),Rn=Xn[0],Gn=Xn[1],Hn=o((function(e){var n,r=null!==(n=null==Tn?void 0:Tn.length)&&void 0!==n?n:0,t=r-1>0?r-1:0,a=An(on);switch(e&&nn&&(yn(null),Dn()),e){case"next":var o=Fn(a+1<r?a+1:0);ln(null!=o?o:null);break;case"prev":var i=Fn(a-1>=0?a-1:t);ln(null!=i?i:null);break;case"last":var l=Fn(t);ln(null!=l?l:null);break;default:var c=Fn(0);ln(null!=c?c:null)}}),[on,An,Fn,nn,Dn,null==Tn?void 0:Tn.length]),Zn=o((function(e,n){if(On(sn))switch(e){case"next":var r=null!=n?n:Wn(),t=r+1<sn.length?r+1:sn.length-1,a=sn[t];yn(a);break;case"prev":var o=null!=n?n:Wn(),i=o>0?o-1:o<0?sn.length-1:0,l=sn[i];yn(l);break;case"first":var c=sn[0];yn(c);break;case"last":var s=sn[sn.length-1];yn(s);break;default:yn(null)}}),[Wn,On,sn]),Kn=o((function(e,n){switch(e&&ln(null),e){case"right":switch(Rn){case ge:var r,t,a;if((null===(r=Qe.current)||void 0===r?void 0:r.selectionEnd)===(null===(t=Qe.current)||void 0===t?void 0:t.value.length))null===(a=$e.current)||void 0===a||a.focus();break;case ve:case xe:case ye:if(Rn===ye||1===(null==sn?void 0:sn.length)){Dn(0),Zn(null),n.preventDefault();break}Zn("next")}break;case"left":switch(Rn){case be:var o;n.preventDefault(),Dn(null==Qe||null===(o=Qe.current)||void 0===o?void 0:o.value.length);break;case ge:case xe:case ye:if(On(sn)){var i;if(Rn===ge&&0!==(null===(i=Qe.current)||void 0===i?void 0:i.selectionStart))break;Zn("prev")}}break;default:Zn(null)}}),[Rn,On,sn,Dn,Zn]);t((function(){fn!==mn&&Hn("first")}),[fn,nn,mn,Hn]),C(on?Ze(on):void 0,_e);var Yn=o((function(n){if(T(n,"ComboboxOption")){var r=ir(n.props),t=r.value,a=r.displayName;if(zn(t)){var o=n.props,i=o.className,l=o.glyph,c=o.disabled,s=ue(o,Qt),u=Nn.findIndex((function(e){return e.value===t})),d=on===t,p=On(sn)?sn.includes(t):sn===t,f=Ze(t);return e.createElement(wr,se({},s,{value:t,displayName:a,isFocused:d,isSelected:p,disabled:c,setSelected:function(){ln(t),Mn(t),Dn(),t===sn&&Ln()},glyph:l,className:i,index:u,ref:f}))}}else if(T(n,"ComboboxGroup")){var h=e.Children.map(n.props.children,Yn);if(h&&(null==h?void 0:h.length)>0)return e.createElement(gn,{label:n.props.label,className:n.props.className},e.Children.map(h,Yn))}}),[Nn,Ze,on,On,sn,Dn,zn,Mn]),Vn=a((function(){return e.Children.map(v,Yn)}),[v,Yn]),qn=a((function(){if(On(sn))return sn.filter(Pn).map((function(n,r){var t=sr(n,Nn),a=vn===n,o=Ke(n),i=r>=sn.length-1;return e.createElement(Be,{key:n,displayName:t,isFocused:a,onRemove:function(){i?(Dn(),Zn(null)):Zn("next",r),Mn(n)},onFocus:function(){yn(n)},ref:o})}))}),[On,sn,Pn,Nn,vn,Ke,Mn,Dn,Zn]),Bn=a((function(){return Nn.some((function(e){return e.hasGlyph}))}),[Nn]),Un=o((function(){if(!On(sn)&&sn===dn){var e=Tn.find((function(e){return e.displayName===fn||e.value===fn}));if(e&&!Ne)un(e.value);else{var n,r=null!==(n=sr(sn,Nn))&&void 0!==n?n:"";hn(r)}}}),[Nn,fn,On,dn,sn,Ne,Tn]),$n=o((function(){if(En){if(On(sn))ur(de);else if(!On(sn)){var e,n=null!==(e=sr(sn,Nn))&&void 0!==e?e:"";hn(n),Ln()}}else hn("")}),[En,Nn,On,sn,de]);t((function(){if(me)if(u(me)){var e,n=null!==(e=me.filter((function(e){return Pn(e)})))&&void 0!==e?e:[];un(n)}else Pn(me)&&un(me);else un(function(e){return e?[]:null}(he))}),[]),t((function(){if(!h(Ne)&&Ne!==mn)if(p(Ne))un(null);else if(On(Ne)){var e=Ne.filter(Pn);un(e)}else un(Pn(Ne)?Ne:null)}),[On,Pn,mn,Ne]),t((function(){d(sn,dn)||$n()}),[$n,dn,sn]),t((function(){!nn&&tn&&Un()}),[nn,tn,Un]);var Jn=pe(l(0),2),Qn=Jn[0],_n=Jn[1];t((function(){var e,n;_n(null!==(e=null===(n=Ue.current)||void 0===n?void 0:n.clientWidth)&&void 0!==e?e:0)}),[Ue,nn,on,sn]);L(Ln,[_e,Ue],nn);var er=On(sn)&&!!sn.length,nr=s((function(e){wn(or(e.target))}),50,{leading:!0}),rr=o((function(e){de===Ce.expandY&&nr(e)}),[nr,de]);t((function(){Je.current&&wn(or(Je.current))}),[]);var tr,ar=ie({popoverZIndex:Fe},ze?{usePortal:ze,portalClassName:Te,portalContainer:Pe,scrollContainer:Ae}:{usePortal:ze});return e.createElement(D,{darkMode:Re},e.createElement(He.Provider,{value:{multiselect:he,size:G,withIcons:Bn,disabled:X,isOpen:nn,state:K,searchState:q,chipTruncationLocation:Oe,chipCharacterLimit:Me,inputValue:fn,overflow:de,popoverZIndex:Fe}},e.createElement("div",se({className:b(Lt(G),je)},We),(y||k)&&e.createElement("div",{className:Yt},y&&e.createElement(F,{id:Ve,htmlFor:Ye,darkMode:Re,disabled:X,className:b(ce({},Vt,G===Ee.Large))},y),k&&e.createElement(W,{darkMode:Re,disabled:X,className:b(ce({},Vt,G===Ee.Large))},k)),e.createElement("div",{ref:Ue,role:"combobox","aria-expanded":nn,"aria-controls":qe,"aria-owns":qe,tabIndex:-1,onMouseDown:function(e){X&&e.preventDefault()},onClick:function(e){if(e.target!==Qe.current){var n=0;if(Qe.current)n=e.nativeEvent.offsetX>Qe.current.offsetLeft+Qe.current.clientWidth?fn.length:0;Dn(n)}Sn()},onFocus:function(e){ur(de),Gn(function(e){var n,r,t,a;if(!e)return;if(null!==(n=Qe.current)&&void 0!==n&&n.contains(e))return ge;if(null!==(r=$e.current)&&void 0!==r&&r.contains(e))return be;var o=On(sn)?sn.findIndex((function(n){var r,t;return null===(r=Ke(n))||void 0===r||null===(t=r.current)||void 0===t?void 0:t.contains(e)})):-1;if(On(sn)){if(0===o)return ve;if(o===sn.length-1)return ye;if(o>0)return xe}if(null!==(t=_e.current)&&void 0!==t&&t.contains(e))return we;if(null!==(a=Ue.current)&&void 0!==a&&a.contains(e))return ke}(e.target))},onKeyDown:function(e){var n,r,t=null===(n=_e.current)||void 0===n?void 0:n.contains(document.activeElement);if((null===(r=Ue.current)||void 0===r?void 0:r.contains(document.activeElement))||t){if(e.ctrlKey||e.shiftKey||e.altKey)return;switch(e.key){case I.Tab:switch(Rn){case"Input":En||(Ln(),Hn("first"),Zn(null));break;case"LastChip":Zn(null)}break;case I.Escape:Ln(),Hn("first");break;case I.Enter:nn?!nn||Rn!==ge||p(on)||function(e){if("string"==typeof e){var n=cr(e,Nn);return!(null==n||!n.isDisabled)}return!!e.isDisabled}(on)?Rn===be&&(Mn(null),Dn()):Mn(on):Sn();break;case I.Backspace:var a;if(On(sn))"Input"===Rn&&0===(null===(a=Qe.current)||void 0===a?void 0:a.selectionStart)&&Zn("last");Sn();break;case I.ArrowDown:nn?(e.preventDefault(),Hn("next")):Sn();break;case I.ArrowUp:nn?(e.preventDefault(),Hn("prev")):Sn();break;case I.ArrowRight:Kn("right",e);break;case I.ArrowLeft:Kn("left",e);break;default:nn||Sn()}}},onTransitionEnd:function(){var e,n;_n(null!==(e=null===(n=Ue.current)||void 0===n?void 0:n.clientWidth)&&void 0!==e?e:0)},className:b(St,Nt[Ge],Ot(G,er),(r={},ce(r,Dt[Ge],X),ce(r,Mt[Ge],K===Le.error),ce(r,jt[Ge],(tr=ge,tr===Rn)),ce(r,qt[Ge],kn),r))},e.createElement("div",{onScroll:rr,ref:Je,className:Tt({size:G,overflow:de})},qn,e.createElement("input",{"aria-label":null!=z?z:y,"aria-autocomplete":"list","aria-controls":qe,"aria-labelledby":Ve,ref:Qe,id:Ye,className:b(Pt,Wt(G),At[Ge],Xt(nn),(m={},ce(m,Rt(G,fn),On(sn)),ce(m,Ft[Ge],X),m)),placeholder:Cn,disabled:null!=X?X:void 0,onChange:function(e){var n=e.target.value;hn(n),null==ne||ne(n)},value:fn,autoComplete:"off"})),e.createElement("div",{className:b(It,zt[G])},"error"===K&&e.createElement(S,{glyph:"Warning",fill:Bt[Ge],className:Ht}),te&&En&&!X&&e.createElement(O,{"aria-label":"Clear selection","aria-disabled":X,disabled:X,ref:$e,onClick:function(e){X||(e.stopPropagation(),Mn(null),null==ae||ae(e),null==ne||ne(""),Dn())},onFocus:function(){ln(null)},className:b(Gt),darkMode:Re},e.createElement(S,{glyph:"XWithCircle"})),e.createElement(S,{glyph:"CaretDown",className:Ht,fill:b((g={},ce(g,Ut[Ge],!X),ce(g,$t[Ge],X),g))}))),"error"===K&&Y&&e.createElement("div",{className:b(Zt[Ge],Kt(G))},Y),e.createElement(In,se({id:qe,labelId:Ve,refEl:Ue,ref:_e,menuWidth:Qn,searchLoadingMessage:_,searchErrorMessage:J,searchEmptyMessage:U},ar),Vn))));function ur(e){Je&&Je.current&&(e===Ce.scrollX&&(Je.current.scrollLeft=Je.current.scrollWidth),e===Ce.expandY&&(Je.current.scrollTop=Je.current.scrollHeight))}}_t.propTypes={multiselect:m.bool,value:m.oneOfType([m.string,m.arrayOf(m.string)]),initialValue:m.oneOfType([m.string,m.arrayOf(m.string)]),overflow:m.oneOf(Object.values(Ce)),darkMode:m.bool,label:m.string,"aria-label":m.string,children:m.node,onChange:m.func,chipCharacterLimit:m.number,chipTruncationLocation:m.oneOf(Object.values(R)),onClear:m.func,onFilter:m.func,clearable:m.bool,searchLoadingMessage:m.string,searchErrorMessage:m.string,searchEmptyMessage:m.string,searchState:m.oneOf(Object.values(Se)),errorMessage:m.string,state:m.oneOf(Object.values(Le)),size:m.oneOf(Object.values(Ee)),disabled:m.bool,description:m.string,placeholder:m.string,filteredOptions:m.arrayOf(m.string),popoverZIndex:m.number,usePortal:m.bool,scrollContainer:m.elementType,portalContainer:m.elementType,portalClassName:m.string};export{_t as Combobox,bn as ComboboxGroup,Er as ComboboxOption};
1
+ import e,{createContext as n,useContext as r,useEffect as t,useMemo as a,useCallback as o,useRef as i,useState as l}from"react";import c from"lodash/clone";import s from"lodash/debounce";import u from"lodash/isArray";import d from"lodash/isEqual";import p from"lodash/isNull";import f from"lodash/isString";import h from"lodash/isUndefined";import g from"prop-types";import{css as m,cx as b,keyframes as v}from"@leafygreen-ui/emotion";import{useForwardedRef as y,useIdAllocator as x,useAvailableSpace as k,useDynamicRefs as w,usePrevious as C,useAutoScroll as E,useBackdropClick as L}from"@leafygreen-ui/hooks";import S,{isComponentGlyph as N}from"@leafygreen-ui/icon";import O from"@leafygreen-ui/icon-button";import D,{useDarkMode as M}from"@leafygreen-ui/leafygreen-provider";import{createUniqueClassName as j,keyMap as I,Theme as z,isComponentType as T,consoleOnce as P}from"@leafygreen-ui/lib";import{Error as A,Label as F,Description as W}from"@leafygreen-ui/typography";import{chipTextClassName as X,TruncationLocation as R,Chip as G,BaseFontSize as H,Variant as V}from"@leafygreen-ui/chip";import{typeScales as Z,spacing as K,fontWeights as Y,fontFamilies as q,transitionDuration as B,focusRing as U}from"@leafygreen-ui/tokens";import{palette as $}from"@leafygreen-ui/palette";import J from"@leafygreen-ui/popover";import{transparentize as Q}from"polished";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 oe(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 ie(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?oe(Object(r),!0).forEach((function(n){ce(e,n,r[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):oe(Object(r)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))}))}return e}function le(e){return le="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},le(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={},o=Object.keys(e);for(t=0;t<o.length;t++)r=o[t],n.indexOf(r)>=0||(a[r]=e[r]);return a}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(t=0;t<o.length;t++)r=o[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,o,i,l=[],c=!0,s=!1;try{if(o=(r=r.call(e)).next,0===n){if(Object(r)!==r)return;c=!1}else for(;!(c=(t=o.call(r)).done)&&(l.push(t.value),l.length!==n);c=!0);}catch(e){s=!0,a=e}finally{try{if(!c&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(s)throw a}}return l}}(e,n)||he(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 ge(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||he(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 he(e,n){if(e){if("string"==typeof e)return ge(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)?ge(e,n):void 0}}function ge(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 me="Input",be="ClearButton",ve="FirstChip",ye="LastChip",xe="MiddleChip",ke="Combobox",we="Menu",Ce={XSmall:"xsmall",Small:"small",Default:"default",Large:"large"},Ee={expandY:"expand-y",scrollX:"scroll-x",expandX:"expand-x"},Le={none:"none",error:"error"},Se={unset:"unset",error:"error",loading:"loading"};var Ne,Oe,De,Me,je,Ie,ze,Te,Pe,Ae,Fe,We,Xe,Re,Ge,He=n({multiselect:!1,size:Ce.Default,withIcons:!1,disabled:!1,isOpen:!1,state:Le.none,searchState:Se.unset,overflow:Ee.expandY}),Ve=j("combobox-chip"),Ze=(ce(Ne={},Ce.XSmall,16),ce(Ne,Ce.Small,Z.body1.lineHeight),ce(Ne,Ce.Default,Z.body1.lineHeight),ce(Ne,Ce.Large,Z.body2.lineHeight),Ne),Ke=(ce(Oe={},Ce.XSmall,Z.body1.fontSize),ce(Oe,Ce.Small,Z.body1.fontSize),ce(Oe,Ce.Default,Z.body1.fontSize),ce(Oe,Ce.Large,Z.body2.fontSize),Oe),Ye=(ce(De={},Ce.XSmall,1),ce(De,Ce.Small,0),ce(De,Ce.Default,2),ce(De,Ce.Large,4),De),qe=(ce(Te={},Ce.XSmall,m(Me||(Me=de(["\n font-size: ","px;\n line-height: ","px;\n\n ."," {\n padding-block: ","px;\n }\n "])),Ke[Ce.XSmall],Ze[Ce.XSmall],X,Ye[Ce.XSmall])),ce(Te,Ce.Small,m(je||(je=de(["\n font-size: ","px;\n line-height: ","px;\n\n ."," {\n padding-block: ","px;\n }\n "])),Ke[Ce.Small],Ze[Ce.Small],X,Ye[Ce.Small])),ce(Te,Ce.Default,m(Ie||(Ie=de(["\n font-size: ","px;\n line-height: ","px;\n\n ."," {\n padding-block: ","px;\n }\n "])),Ke[Ce.Default],Ze[Ce.Default],X,Ye[Ce.Default])),ce(Te,Ce.Large,m(ze||(ze=de(["\n font-size: ","px;\n line-height: ","px;\n\n ."," {\n padding-inline-end: 10px;\n padding-block: ","px;\n }\n "])),Ke[Ce.Large],Ze[Ce.Large],X,Ye[Ce.Large])),Te),Be=e.forwardRef((function(n,a){var o,i=n.displayName,l=n.isFocused,c=n.onRemove,s=n.onFocus,u=r(He),d=u.size,p=u.disabled,f=u.overflow,h=u.chipTruncationLocation,g=void 0===h?R.End:h,m=u.chipCharacterLimit,v=void 0===m?12:m,x=u.popoverZIndex,k=f===Ee.scrollX?R.None:g,w=y(a,null),C=null===(o=w.current)||void 0===o?void 0:o.querySelector("button");t((function(){l&&!p&&(null==C||C.focus())}),[p,C,l]);return e.createElement(G,{label:i,className:b(Ve,qe[d]),role:"option","aria-selected":l,"data-testid":"lg-combobox-chip",onClick:function(e){null!=C&&C.contains(e.target)||s()},onKeyDown:function(e){p||e.key!==I.Delete&&e.key!==I.Backspace&&e.key!==I.Enter&&e.key!==I.Space||c()},onDismiss:function(){p||c()},baseFontSize:H.Body1,chipCharacterLimit:v,chipTruncationLocation:k,popoverZIndex:x,variant:V.Gray,ref:w,disabled:p,tabIndex:-1})}));Be.displayName="ComboboxChip";var Ue,$e,Je,Qe,_e,en,nn,rn,tn,an,on,ln,cn,sn,un,dn,pn,fn=(ce(Fe={},z.Light,m(Pe||(Pe=de(["\n padding-top: ","px;\n "])),K[2])),ce(Fe,z.Dark,m(Ae||(Ae=de(["\n padding-top: ","px;\n "])),K[2])),Fe),hn=m(We||(We=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"])),Y.bold),gn=(ce(Ge={},z.Light,m(Xe||(Xe=de(["\n color: ",";\n "])),$.gray.dark1)),ce(Ge,z.Dark,m(Re||(Re=de(["\n color: ",";\n "])),$.gray.light1)),Ge);function mn(n){var r=n.label,t=n.className,a=n.children,o=M().theme,i=x({prefix:"combobox-group"});return e.Children.count(a)>0?e.createElement("div",{className:b(fn[o],t)},e.createElement("div",{className:b(hn,gn[o]),id:i},r),e.createElement("div",{role:"group","aria-labelledby":i},a)):e.createElement(e.Fragment,null)}function bn(e){throw Error("`ComboboxGroup` must be a child of a `Combobox` instance")}bn.displayName="ComboboxGroup",bn.propTypes={className:g.string,children:g.node.isRequired,label:g.string.isRequired};var vn,yn=(ce(Ue={},Ce.XSmall,{x:12,y:8}),ce(Ue,Ce.Small,{x:12,y:8}),ce(Ue,Ce.Default,{x:12,y:8}),ce(Ue,Ce.Large,{x:12,y:8}),Ue),xn=function(e){return Ze[e]+2*yn[e].y},kn=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:384;return m($e||($e=de(["\n width: ","px;\n overflow: hidden;\n border-radius: 12px;\n border: 1px solid;\n"])),e)},wn=(ce(_e={},z.Light,m(Je||(Je=de(["\n box-shadow: 0px 4px 7px ",";\n border-color: ",";\n "])),Q(.85,$.black),$.gray.light2)),ce(_e,z.Dark,m(Qe||(Qe=de(["\n box-shadow: 0px 4px 7px ",";\n border-color: ",";\n "])),Q(.85,$.black),$.gray.dark2)),_e),Cn=m(en||(en=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"])),K[2],q.default),En=(ce(tn={},z.Light,m(nn||(nn=de(["\n color: ",";\n background-color: ",";\n "])),$.black,$.white)),ce(tn,z.Dark,m(rn||(rn=de(["\n color: ",";\n background-color: ",";\n "])),$.gray.light1,$.gray.dark3)),tn),Ln=m(an||(an=de(["\n position: relative;\n margin: 0;\n padding: 0;\n"]))),Sn=m(on||(on=de(["\n font-family: inherit;\n display: inline-flex;\n align-items: center;\n gap: 8px;\n"]))),Nn=(ce(sn={},z.Light,m(ln||(ln=de(["\n color: ",";\n "])),$.gray.dark3)),ce(sn,z.Dark,m(cn||(cn=de(["\n color: ",";\n "])),$.gray.light3)),sn),On=function(e){return m(un||(un=de(["\n font-size: ","px;\n line-height: ","px;\n padding: ","px ","px;\n"])),Ke[e],Ze[e],yn[e].y,yn[e].x)},Dn=v(dn||(dn=de(["\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n"]))),Mn=m(pn||(pn=de(["\n animation: "," 1.5s linear infinite;\n"])),Dn),jn=["children","id","refEl","labelId","menuWidth","searchLoadingMessage","searchErrorMessage","searchEmptyMessage"],In=e.forwardRef((function(n,t){var o=n.children,i=n.id,l=n.refEl,c=n.labelId,s=n.menuWidth,u=n.searchLoadingMessage,d=n.searchErrorMessage,p=n.searchEmptyMessage,f=ue(n,jn),g=M(),v=g.darkMode,x=g.theme,w=r(He),C=w.disabled,E=w.size,L=w.isOpen,N=w.searchState,O=y(t,null),D=k(l),j=h(D)?"unset":"".concat(Math.min(D,256),"px"),I=a((function(){var n=b(Sn,Nn[x],On(E)),r=b(Sn,On(E));switch(N){case"loading":return e.createElement("span",{className:n},e.createElement(S,{glyph:"Refresh",color:v?$.blue.light1:$.blue.base,className:Mn}),u);case"error":return e.createElement(A,{className:r},e.createElement(S,{glyph:"Warning",color:v?$.red.light1:$.red.base}),e.createElement("span",null,d));default:return o&&"object"===le(o)&&"length"in o&&o.length>0?e.createElement("ul",{className:Ln},o):e.createElement("span",{className:n},p)}}),[x,E,N,v,u,d,o,p]);return e.createElement(J,se({active:L&&!C,spacing:4,align:"bottom",justify:"middle",refEl:l,adjustOnMutation:!0,className:b(kn(s),wn[x])},f),e.createElement("div",{ref:O,id:i,role:"listbox","aria-labelledby":c,"aria-expanded":L,className:b(Cn,En[x],m(vn||(vn=de(["\n max-height: ",";\n "])),j)),onMouseDownCapture:function(e){return e.preventDefault()}},I))}));In.displayName="ComboboxMenu";var zn,Tn,Pn,An,Fn,Wn,Xn,Rn,Gn,Hn,Vn,Zn,Kn,Yn,qn,Bn,Un,$n,Jn,Qn,_n,er,nr,rr,tr,ar,or=function(e){var n=e.scrollHeight;return e.scrollTop<n-e.clientHeight},ir=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:""}},lr=function n(r){return e.Children.toArray(r).reduce((function(e,r){if(T(r,"ComboboxOption")){var t=ir(r.props),a=t.value,o=t.displayName,i=r.props,l=i.glyph,c=i.disabled;return[].concat(fe(e),[{value:a,displayName:o,isDisabled:!!c,hasGlyph:!!l}])}if(T(r,"ComboboxGroup")){var s=r.props.children;if(s)return[].concat(fe(e),fe(n(s)))}}),[])},cr=function(e,n){if(e)return n.find((function(n){return n.value===e}))},sr=function(e,n){var r,t;return e?null!==(r=null===(t=cr(e,n))||void 0===t?void 0:t.displayName)&&void 0!==r?r:e:""},ur=function(e){return m(zn||(zn=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"])),Ke[e],Ze[e],xn(e),yn[e].y,yn[e].x,K[1],xn(e))},dr=(ce(Wn={},Ce.XSmall,m(Tn||(Tn=de(["\n min-width: ","px;\n "])),K[3])),ce(Wn,Ce.Small,m(Pn||(Pn=de(["\n min-width: ","px;\n "])),K[3])),ce(Wn,Ce.Default,m(An||(An=de(["\n min-width: ","px;\n "])),K[3])),ce(Wn,Ce.Large,m(Fn||(Fn=de(["\n min-width: ","px;\n "])),K[4])),Wn),pr=m(Xn||(Xn=de(["\n pointer-events: none;\n gap: 0;\n\n label {\n gap: 0;\n align-items: center;\n }\n"])));m(Rn||(Rn=de(["\n pointer-events: none;\n"])));var fr=function(e){return m(Gn||(Gn=de(["\n font-weight: ",";\n"])),e?Y.bold:Y.regular)},hr=(ce(Zn={},z.Light,m(Hn||(Hn=de(["\n color: ",";\n "])),$.gray.dark1)),ce(Zn,z.Dark,m(Vn||(Vn=de(["\n color: ",";\n "])),$.gray.base)),Zn),gr=(ce(qn={},z.Light,m(Kn||(Kn=de(["\n color: ",";\n "])),$.blue.dark1)),ce(qn,z.Dark,m(Yn||(Yn=de(["\n color: ",";\n "])),$.blue.light3)),qn),mr=(ce($n={},z.Light,m(Bn||(Bn=de(["\n color: ",";\n "])),$.gray.light1)),ce($n,z.Dark,m(Un||(Un=de(["\n color: ",";\n "])),$.gray.dark1)),$n),br=(ce(_n={},z.Light,m(Jn||(Jn=de(["\n color: ",";\n "])),$.blue.base)),ce(_n,z.Dark,m(Qn||(Qn=de(["\n color: ",";\n "])),$.blue.light1)),_n),vr=(ce(rr={},z.Light,m(er||(er=de(["\n color: ",";\n "])),$.gray.light1)),ce(rr,z.Dark,m(nr||(nr=de(["\n color: ",";\n "])),$.gray.dark1)),rr),yr=m(tr||(tr=de(["\n ."," {\n align-self: baseline;\n }\n"])),_),xr=m(ar||(ar=de(["\n ."," {\n height: 28px;\n }\n"])),_),kr=["glyph","isSelected","displayName","isFocused","setSelected","className","description","value","onClick","disabled"],wr=e.forwardRef((function(n,t){var i,l=n.glyph,c=n.isSelected,s=n.displayName,u=n.isFocused,d=n.setSelected,p=n.className,f=n.description,h=n.value,g=n.onClick,m=n.disabled,v=void 0!==m&&m,k=ue(n,kr),w=M(),C=w.darkMode,E=w.theme,L=r(He),O=L.multiselect,D=L.size,j=L.withIcons,I=L.inputValue,z=y(t,null),T=x({prefix:"combobox-option-text"}),P=o((function(e){e.stopPropagation(),v||(d(),null==g||g(e,h))}),[v,g,d,h]),A=a((function(){return function(n){var r,t=n.withIcons,a=n.isSelected,o=n.glyph,i=n.optionTextId,l=n.disabled,c=n.darkMode,s=n.size,u=n.multiselect,d=n.theme,p=n.isFocused;o&&!N(o)&&console.error("`ComboboxOption` instance did not render icon because it is not a known glyph element.",o);var f=o&&N(o)?e.cloneElement(o,ie(ie({},o.props),{},{className:b(hr[d],(r={},ce(r,gr[d],p),ce(r,mr[d],l),r),o.props.className)})):e.createElement(e.Fragment,null),h=e.createElement(ae,{"aria-labelledby":i,checked:a,tabIndex:-1,disabled:l,darkMode:c,className:pr}),g=e.createElement(S,{glyph:"Checkmark",className:b(dr[s],br[d],ce({},vr[d],l))});return{leftGlyph:u?t?f:h:t?f:a?g:null,rightGlyph:u?t&&h:t&&a&&g}}({withIcons:j,isSelected:c,glyph:l,theme:E,darkMode:C,size:D,disabled:v,multiselect:O,optionTextId:T,isFocused:u})}),[C,v,l,c,O,T,D,E,j,u]),F=A.leftGlyph,W=A.rightGlyph,X=O&&!j;return e.createElement(ee,se({},k,{as:"li",ref:z,highlighted:u,disabled:v,"aria-label":s,darkMode:C,className:b(ur(D),(i={},ce(i,yr,X),ce(i,xr,X&&D===Ce.Large),i),p),onClick:P,onKeyDown:P}),e.createElement(ne,{leftGlyph:F,rightGlyph:W,description:f},e.createElement("span",{id:T,className:fr(c)},function(n,r,t){if(r&&t){var a=te(r),o=new RegExp(a,"gi"),i=n.matchAll(o);if(i){for(var l=n.split(""),c=0,s=Array.from(i);c<s.length;c++){var u,d=s[c],p=null!==(u=d.index)&&void 0!==u?u:-1,f=d[0],h=f.length,g=p+f+h,m=new Array(h).fill("");m[0]=e.createElement(t,{key:g},f),l.splice.apply(l,[p,h].concat(fe(m)))}return e.createElement(e.Fragment,null,l)}return e.createElement(e.Fragment,null,n)}return e.createElement(e.Fragment,null,n)}(s,I,"strong"))))}));function Cr(e){throw Error("`ComboboxOption` must be a child of a `Combobox` instance")}wr.displayName="ComboboxOption",Cr.displayName="ComboboxOption",Cr.propTypes={displayName:g.string,value:g.string,glyph:g.node,disabled:g.bool,className:g.string,description:g.string,onClick:g.func};var Er,Lr,Sr,Nr,Or,Dr,Mr,jr,Ir,zr,Tr,Pr,Ar,Fr,Wr,Xr,Rr,Gr,Hr,Vr,Zr,Kr,Yr,qr,Br,Ur,$r,Jr,Qr,_r,et,nt,rt,tt,at,ot,it,lt,ct,st,ut,dt,pt,ft,ht,gt,mt,bt,vt,yt,xt=function(e){return!h(e)&&!p(e)&&(f(e)||u(e)&&e.length>0)},kt=function(e){return Ze[e]+2*Ye[e]},wt=(ce(Er={},Ce.XSmall,22),ce(Er,Ce.Small,28),ce(Er,Ce.Default,36),ce(Er,Ce.Large,48),Er),Ct=function(e){return(wt[e]-kt(e)-2)/2},Et=(ce(Lr={},Ce.XSmall,{y:Ct(Ce.XSmall),xLeftWithChip:1,xLeftWithoutChip:10,xRight:4}),ce(Lr,Ce.Small,{y:Ct(Ce.Small),xLeftWithChip:4,xLeftWithoutChip:10,xRight:8}),ce(Lr,Ce.Default,{y:Ct(Ce.Default),xLeftWithChip:6,xLeftWithoutChip:12,xRight:12}),ce(Lr,Ce.Large,{y:Ct(Ce.Large),xLeftWithChip:K[2]-1,xLeftWithoutChip:K[2]-1,xRight:K[2]-1}),Lr),Lt=K[3],St=function(e){return m(Sr||(Sr=de(["\n font-family: ",";\n width: 100%;\n min-width: ","px;\n "])),q.default,Ke[e]+2*Et[e].xLeftWithChip+Lt+2)},Nt=m(Nr||(Nr=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"])),K[2],B.default,B.default),Ot=(ce(Mr={},z.Light,m(Or||(Or=de(["\n color: ",";\n background-color: ",";\n border-color: ",";\n "])),$.gray.dark3,$.white,$.gray.base)),ce(Mr,z.Dark,m(Dr||(Dr=de(["\n color: ",";\n background-color: ",";\n border-color: ",";\n "])),$.gray.light2,$.gray.dark4,$.gray.base)),Mr),Dt=function(e,n){return m(jr||(jr=de(["\n padding-top: ","px;\n padding-bottom: ","px;\n padding-left: ",";\n padding-right: ","px;\n"])),Et[e].y,Et[e].y,"".concat(n?Et[e].xLeftWithChip:Et[e].xLeftWithoutChip,"px"),Et[e].xRight)},Mt=(ce(Tr={},z.Light,m(Ir||(Ir=de(["\n cursor: not-allowed;\n color: ",";\n background-color: ",";\n border-color: ",";\n "])),$.gray.dark1,$.gray.light2,$.gray.light1)),ce(Tr,z.Dark,m(zr||(zr=de(["\n cursor: not-allowed;\n color: ",";\n background-color: ",";\n border-color: ",";\n "])),$.gray.dark1,$.gray.dark3,$.gray.dark2)),Tr),jt=(ce(Fr={},z.Light,m(Pr||(Pr=de(["\n border-color: ",";\n "])),$.red.base)),ce(Fr,z.Dark,m(Ar||(Ar=de(["\n border-color: ",";\n "])),$.red.light1)),Fr),It=(ce(Rr={},z.Light,m(Wr||(Wr=de(["\n &:focus-within {\n border-color: transparent;\n box-shadow: ",";\n }\n "])),U[z.Light].input)),ce(Rr,z.Dark,m(Xr||(Xr=de(["\n &:focus-within {\n border-color: transparent;\n box-shadow: ",";\n }\n "])),U[z.Dark].input)),Rr),zt=m(Gr||(Gr=de(["\n display: flex;\n align-items: center;\n"]))),Tt=(ce(Yr={},Ce.XSmall,m(Hr||(Hr=de(["\n gap: ","px;\n "])),K[1])),ce(Yr,Ce.Small,m(Vr||(Vr=de(["\n gap: ","px;\n "])),K[2])),ce(Yr,Ce.Default,m(Zr||(Zr=de(["\n gap: ","px;\n "])),K[2])),ce(Yr,Ce.Large,m(Kr||(Kr=de(["\n gap: ","px;\n "])),K[2])),Yr),Pt=function(e){var n=e.overflow,r=e.size,t=m(qr||(qr=de(["\n flex-grow: 1;\n width: 100%;\n "])));switch(n){case Ee.scrollX:return m(Br||(Br=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,kt(r),Ve);case Ee.expandY:return m(Ur||(Ur=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,kt(r),3*kt(r),4)}},At=m($r||($r=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"])),q.default,K[1]),Ft=(ce(_r={},z.Light,m(Jr||(Jr=de(["\n &::placeholder {\n color: ",";\n }\n "])),$.gray.dark1)),ce(_r,z.Dark,m(Qr||(Qr=de(["\n &::placeholder {\n color: ",";\n }\n "])),$.gray.light1)),_r),Wt=(ce(rt={},z.Light,m(et||(et=de(["\n &::placeholder {\n color: ",";\n }\n "])),$.gray.dark1)),ce(rt,z.Dark,m(nt||(nt=de(["\n &::placeholder {\n color: ",";\n }\n "])),$.gray.dark1)),rt),Xt=function(e){return m(tt||(tt=de(["\n height: ","px;\n font-size: ","px;\n line-height: ","px;\n min-width: ","px;\n"])),kt(e),Ke[e],Ze[e],Ke[e])},Rt=function(e){return m(at||(at=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")},Gt=function(e,n){var r,t=null!==(r=null==n?void 0:n.length)&&void 0!==r?r:0;return m(ot||(ot=de(["\n width: ","px;\n max-width: 100%;\n "])),t*Ke[e])},Ht=m(it||(it=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"])),Lt/2),Vt=m(lt||(lt=de(["\n height: ","px;\n width: ","px;\n"])),Lt,Lt),Zt=(ce(ut={},z.Light,m(ct||(ct=de(["\n color: ",";\n "])),$.red.base)),ce(ut,z.Dark,m(st||(st=de(["\n color: ",";\n "])),$.red.light1)),ut),Kt=function(e){return m(dt||(dt=de(["\n font-size: ","px;\n line-height: ","px;\n padding-top: ","px;\n"])),Ke[e],Ze[e],Et[e].y)},Yt=m(pt||(pt=de(["\n margin-bottom: ","px;\n display: flex;\n flex-direction: column;\n"])),K[1]),qt=m(ft||(ft=de(["\n font-size: ","px;\n line-height: ","px;\n"])),Z.large.fontSize,Z.large.lineHeight),Bt=(ce(mt={},z.Light,m(ht||(ht=de(["\n ::after {\n box-shadow: 0px 0px 7px 5px ",";\n }\n "])),Q(.85,$.black))),ce(mt,z.Dark,m(gt||(gt=de(["\n ::after {\n width: 95%;\n box-shadow: 0px -7px 12px 5px rgb(0 0 0 / 50%);\n }\n "])))),mt),Ut=(ce(bt={},z.Light,$.red.base),ce(bt,z.Dark,$.red.light1),bt),$t=(ce(vt={},z.Light,$.gray.dark2),ce(vt,z.Dark,$.gray.light1),vt),Jt=(ce(yt={},z.Light,$.gray.base),ce(yt,z.Dark,$.gray.dark1),yt),Qt=["children","label","description","placeholder","aria-label","disabled","size","darkMode","state","errorMessage","searchState","searchEmptyMessage","searchErrorMessage","searchLoadingMessage","filteredOptions","onFilter","clearable","onClear","overflow","multiselect","initialValue","inputValue","onInputChange","onChange","value","chipTruncationLocation","chipCharacterLimit","className","usePortal","portalClassName","portalContainer","scrollContainer","popoverZIndex"],_t=["className","glyph","disabled"];function ea(n){var r,g,m,v=n.children,y=n.label,k=n.description,N=n.placeholder,j=void 0===N?"Select":N,z=n["aria-label"],A=n.disabled,X=void 0!==A&&A,R=n.size,G=void 0===R?Ce.Default:R,H=n.darkMode,V=n.state,Z=void 0===V?"none":V,K=n.errorMessage,Y=n.searchState,q=void 0===Y?"unset":Y,B=n.searchEmptyMessage,U=void 0===B?"No results found":B,$=n.searchErrorMessage,J=void 0===$?"Could not get results!":$,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,oe=n.overflow,de=void 0===oe?Ee.expandY:oe,fe=n.multiselect,he=void 0!==fe&&fe,ge=n.initialValue,Se=n.inputValue,Ne=n.onInputChange,Oe=n.onChange,De=n.value,Me=n.chipTruncationLocation,je=n.chipCharacterLimit,Ie=void 0===je?12:je,ze=n.className,Te=n.usePortal,Pe=void 0===Te||Te,Ae=n.portalClassName,Fe=n.portalContainer,We=n.scrollContainer,Xe=n.popoverZIndex,Re=ue(n,Qt),Ge=M(H),Ve=Ge.darkMode,Ze=Ge.theme,Ke=w({prefix:"option"}),Ye=w({prefix:"chip"}),qe=x({prefix:"combobox-input"}),Ue=x({prefix:"combobox-label"}),$e=x({prefix:"combobox-menu"}),Je=i(null),Qe=i(null),_e=i(null),en=i(null),nn=i(null),rn=pe(l(!1),2),tn=rn[0],an=rn[1],on=C(tn),ln=pe(l(null),2),cn=ln[0],sn=ln[1],un=pe(l(null),2),dn=un[0],pn=un[1],fn=C(dn),hn=pe(l(null!=Se?Se:""),2),gn=hn[0],bn=hn[1];t((function(){h(Se)||bn(Se)}),[Se]);var vn=function(e){bn(e)},yn=C(gn),xn=pe(l(null),2),kn=xn[0],wn=xn[1],Cn=pe(l(!1),2),En=Cn[0],Ln=Cn[1],Sn=he&&u(dn)&&dn.length>0?void 0:j,Nn=function(){return an(!1)},On=function(){return an(!0)},Dn=a((function(){return lr(v)}),[v]),Mn=o((function(e){return!he||"string"!=typeof e&&"number"!=typeof e?!he&&u(e)&&P.error("Error in Combobox: multiselect is set to `false`, but received an Array value"):P.error("Error in Combobox: multiselect is set to `true`, but received a ".concat(le(e),' value: "').concat(e,'"')),he&&u(e)}),[he]),jn=o((function(e){!X&&en&&en.current&&(en.current.focus(),h(e)||en.current.setSelectionRange(e,e))}),[X]),zn=o((function(e){if(Mn(dn)){var n=c(dn),r=Oe,t={diffType:"delete",value:null!=e?e:dn};p(e)?n.length=0:dn.includes(e)?n.splice(n.indexOf(e),1):(n.push(e),t.diffType="insert",vn("")),pn(n),null==r||r(n,t)}else{var a=e,o=Oe;pn(a),null==o||o(a)}}),[Mn,Oe,dn]),Tn=o((function(e){var n,r,t,a;return function(e,n){return Array.isArray(n)?n.includes(e):e===n}((r=Dn,(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:""),dn)}),[Dn,dn]),Pn=o((function(e){var n="string"==typeof e?e:e.value;return ee&&ee.length>0?ee.includes(n):!!Tn(gn)||("string"==typeof e?sr(n,Dn):e.displayName).toLowerCase().includes(gn.toLowerCase())}),[ee,Tn,gn,Dn]),An=a((function(){return Dn.filter(Pn)}),[Dn,Pn]),Fn=o((function(e){return!!e&&!!Dn.find((function(n){return n.value===e}))}),[Dn]),Wn=o((function(e){return An?An.findIndex((function(n){return n.value===e})):-1}),[An]),Xn=o((function(e){if(An&&An.length>=e){var n=An[e];return n?n.value:void 0}}),[An]),Rn=o((function(){return Mn(dn)?dn.findIndex((function(e){var n,r;return null===(n=Ye(e))||void 0===n||null===(r=n.current)||void 0===r?void 0:r.contains(document.activeElement)})):-1}),[Ye,Mn,dn]),Gn=pe(l(),2),Hn=Gn[0],Vn=Gn[1],Zn=o((function(e){var n,r=null!==(n=null==An?void 0:An.length)&&void 0!==n?n:0,t=r-1>0?r-1:0,a=Wn(cn);switch(e&&tn&&(wn(null),jn()),e){case"next":var o=Xn(a+1<r?a+1:0);sn(null!=o?o:null);break;case"prev":var i=Xn(a-1>=0?a-1:t);sn(null!=i?i:null);break;case"last":var l=Xn(t);sn(null!=l?l:null);break;default:var c=Xn(0);sn(null!=c?c:null)}}),[cn,Wn,Xn,tn,jn,null==An?void 0:An.length]),Kn=o((function(e,n){if(Mn(dn))switch(e){case"next":var r=null!=n?n:Rn(),t=r+1<dn.length?r+1:dn.length-1,a=dn[t];wn(a);break;case"prev":var o=null!=n?n:Rn(),i=o>0?o-1:o<0?dn.length-1:0,l=dn[i];wn(l);break;case"first":var c=dn[0];wn(c);break;case"last":var s=dn[dn.length-1];wn(s);break;default:wn(null)}}),[Rn,Mn,dn]),Yn=o((function(e,n){switch(e&&sn(null),e){case"right":switch(Hn){case me:var r,t,a;if((null===(r=en.current)||void 0===r?void 0:r.selectionEnd)===(null===(t=en.current)||void 0===t?void 0:t.value.length))null===(a=Qe.current)||void 0===a||a.focus();break;case ve:case xe:case ye:if(Hn===ye||1===(null==dn?void 0:dn.length)){jn(0),Kn(null),n.preventDefault();break}Kn("next")}break;case"left":switch(Hn){case be:var o;n.preventDefault(),jn(null==en||null===(o=en.current)||void 0===o?void 0:o.value.length);break;case me:case xe:case ye:if(Mn(dn)){var i;if(Hn===me&&0!==(null===(i=en.current)||void 0===i?void 0:i.selectionStart))break;Kn("prev")}}break;default:Kn(null)}}),[Hn,Mn,dn,jn,Kn]);t((function(){gn!==yn&&Zn("first")}),[gn,tn,yn,Zn]),E(cn?Ke(cn):void 0,nn);var qn=o((function(n){if(T(n,"ComboboxOption")){var r=ir(n.props),t=r.value,a=r.displayName;if(Pn(t)){var o=n.props,i=o.className,l=o.glyph,c=o.disabled,s=ue(o,_t),u=Dn.findIndex((function(e){return e.value===t})),d=cn===t,p=Mn(dn)?dn.includes(t):dn===t,f=Ke(t);return e.createElement(wr,se({},s,{value:t,displayName:a,isFocused:d,isSelected:p,disabled:c,setSelected:function(){sn(t),zn(t),jn(),t===dn&&Nn()},glyph:l,className:i,index:u,ref:f}))}}else if(T(n,"ComboboxGroup")){var h=e.Children.map(n.props.children,qn);if(h&&(null==h?void 0:h.length)>0)return e.createElement(mn,{label:n.props.label,className:n.props.className},e.Children.map(h,qn))}}),[Dn,Ke,cn,Mn,dn,jn,Pn,zn]),Bn=a((function(){return e.Children.map(v,qn)}),[v,qn]),Un=a((function(){if(Mn(dn))return dn.filter(Fn).map((function(n,r){var t=sr(n,Dn),a=kn===n,o=Ye(n),i=r>=dn.length-1;return e.createElement(Be,{key:n,displayName:t,isFocused:a,onRemove:function(){i?(jn(),Kn(null)):Kn("next",r),zn(n)},onFocus:function(){wn(n)},ref:o})}))}),[Mn,dn,Fn,Dn,kn,Ye,zn,jn,Kn]),$n=a((function(){return Dn.some((function(e){return e.hasGlyph}))}),[Dn]),Jn=o((function(){var e=An.find((function(e){return e.displayName===gn||e.value===gn}));if(!De&&e)zn(e.value);else if(!Mn(dn)){var n,r=null!==(n=sr(dn,Dn))&&void 0!==n?n:fn;vn(r)}}),[Dn,gn,Mn,fn,dn,zn,De,An]),Qn=o((function(){if(xt(dn)){if(Mn(dn))pr(de);else if(!Mn(dn)){var e,n=null!==(e=sr(dn,Dn))&&void 0!==e?e:"";vn(n),Nn()}}else vn("")}),[Dn,Mn,dn,de]);t((function(){if(ge)if(u(ge)){var e,n=null!==(e=ge.filter((function(e){return Fn(e)})))&&void 0!==e?e:[];pn(n)}else Fn(ge)&&pn(ge);else pn(function(e){return e?[]:null}(he))}),[]),t((function(){if(!h(De)&&De!==yn)if(p(De))pn(null);else if(Mn(De)){var e=De.filter(Fn);pn(e)}else pn(Fn(De)?De:null)}),[Mn,Fn,yn,De]),t((function(){!h(fn)&&(u(dn)&&!p(fn)||f(dn)||p(dn))&&!d(dn,fn)&&Qn()}),[Qn,fn,dn]),t((function(){!tn&&on&&Jn()}),[tn,on,Jn]);var _n=pe(l(0),2),er=_n[0],nr=_n[1];t((function(){var e,n;nr(null!==(e=null===(n=Je.current)||void 0===n?void 0:n.clientWidth)&&void 0!==e?e:0)}),[Je,tn,cn,dn]);L(Nn,[nn,Je],tn);var rr=Mn(dn)&&!!dn.length,tr=s((function(e){Ln(or(e.target))}),50,{leading:!0}),ar=o((function(e){de===Ee.expandY&&tr(e)}),[tr,de]);t((function(){_e.current&&Ln(or(_e.current))}),[]);var ur,dr=ie({popoverZIndex:Xe},Pe?{usePortal:Pe,portalClassName:Ae,portalContainer:Fe,scrollContainer:We}:{usePortal:Pe});return e.createElement(D,{darkMode:Ve},e.createElement(He.Provider,{value:{multiselect:he,size:G,withIcons:$n,disabled:X,isOpen:tn,state:Z,searchState:q,chipTruncationLocation:Me,chipCharacterLimit:Ie,inputValue:gn,overflow:de,popoverZIndex:Xe}},e.createElement("div",se({className:b(St(G),ze)},Re),(y||k)&&e.createElement("div",{className:Yt},y&&e.createElement(F,{id:Ue,htmlFor:qe,darkMode:Ve,disabled:X,className:b(ce({},qt,G===Ce.Large))},y),k&&e.createElement(W,{darkMode:Ve,disabled:X,className:b(ce({},qt,G===Ce.Large))},k)),e.createElement("div",{ref:Je,role:"combobox","aria-expanded":tn,"aria-controls":$e,"aria-owns":$e,tabIndex:-1,onMouseDown:function(e){X&&e.preventDefault()},onClick:function(e){if(e.target!==en.current){var n=0;if(en.current)n=e.nativeEvent.offsetX>en.current.offsetLeft+en.current.clientWidth?gn.length:0;jn(n)}On()},onFocus:function(e){pr(de),Vn(function(e){var n,r,t,a;if(!e)return;if(null!==(n=en.current)&&void 0!==n&&n.contains(e))return me;if(null!==(r=Qe.current)&&void 0!==r&&r.contains(e))return be;var o=Mn(dn)?dn.findIndex((function(n){var r,t;return null===(r=Ye(n))||void 0===r||null===(t=r.current)||void 0===t?void 0:t.contains(e)})):-1;if(Mn(dn)){if(0===o)return ve;if(o===dn.length-1)return ye;if(o>0)return xe}if(null!==(t=nn.current)&&void 0!==t&&t.contains(e))return we;if(null!==(a=Je.current)&&void 0!==a&&a.contains(e))return ke}(e.target))},onKeyDown:function(e){var n,r,t=null===(n=nn.current)||void 0===n?void 0:n.contains(document.activeElement);if((null===(r=Je.current)||void 0===r?void 0:r.contains(document.activeElement))||t){if(e.ctrlKey||e.shiftKey||e.altKey)return;switch(e.key){case I.Tab:switch(Hn){case"Input":xt(dn)||(Nn(),Zn("first"),Kn(null));break;case"LastChip":Kn(null)}break;case I.Escape:Nn(),Zn("first");break;case I.Enter:tn?!tn||Hn!==me||p(cn)||function(e){if("string"==typeof e){var n=cr(e,Dn);return!(null==n||!n.isDisabled)}return!!e.isDisabled}(cn)?Hn===be&&(zn(null),jn()):zn(cn):On();break;case I.Backspace:var a;if(Mn(dn))"Input"===Hn&&0===(null===(a=en.current)||void 0===a?void 0:a.selectionStart)&&Kn("last");On();break;case I.ArrowDown:tn?(e.preventDefault(),Zn("next")):On();break;case I.ArrowUp:tn?(e.preventDefault(),Zn("prev")):On();break;case I.ArrowRight:Yn("right",e);break;case I.ArrowLeft:Yn("left",e);break;default:tn||On()}}},onTransitionEnd:function(){var e,n;nr(null!==(e=null===(n=Je.current)||void 0===n?void 0:n.clientWidth)&&void 0!==e?e:0)},className:b(Nt,Ot[Ze],Dt(G,rr),(r={},ce(r,Mt[Ze],X),ce(r,jt[Ze],Z===Le.error),ce(r,It[Ze],(ur=me,ur===Hn)),ce(r,Bt[Ze],En),r))},e.createElement("div",{onScroll:ar,ref:_e,className:Pt({size:G,overflow:de})},Un,e.createElement("input",{"aria-label":null!=z?z:y,"aria-autocomplete":"list","aria-controls":$e,"aria-labelledby":Ue,ref:en,id:qe,className:b(At,Xt(G),Ft[Ze],Rt(tn),(g={},ce(g,Gt(G,gn),Mn(dn)),ce(g,Wt[Ze],X),g)),placeholder:Sn,disabled:null!=X?X:void 0,onChange:function(e){vn(e.target.value),null==ne||ne(e.target.value),null==Ne||Ne(e)},value:gn,autoComplete:"off"})),e.createElement("div",{className:b(zt,Tt[G])},"error"===Z&&e.createElement(S,{glyph:"Warning",fill:Ut[Ze],className:Vt}),te&&xt(dn)&&!X&&e.createElement(O,{"aria-label":"Clear selection","aria-disabled":X,disabled:X,ref:Qe,onClick:function(e){X||(e.stopPropagation(),zn(null),null==ae||ae(e),null==ne||ne(""),jn())},onFocus:function(){sn(null)},className:b(Ht),darkMode:Ve},e.createElement(S,{glyph:"XWithCircle"})),e.createElement(S,{glyph:"CaretDown",className:Vt,fill:b((m={},ce(m,$t[Ze],!X),ce(m,Jt[Ze],X),m))}))),"error"===Z&&K&&e.createElement("div",{className:b(Zt[Ze],Kt(G))},K),e.createElement(In,se({id:$e,labelId:Ue,refEl:Je,ref:nn,menuWidth:er,searchLoadingMessage:_,searchErrorMessage:J,searchEmptyMessage:U},dr),Bn))));function pr(e){_e&&_e.current&&(e===Ee.scrollX&&(_e.current.scrollLeft=_e.current.scrollWidth),e===Ee.expandY&&(_e.current.scrollTop=_e.current.scrollHeight))}}ea.propTypes={multiselect:g.bool,value:g.oneOfType([g.string,g.arrayOf(g.string)]),initialValue:g.oneOfType([g.string,g.arrayOf(g.string)]),overflow:g.oneOf(Object.values(Ee)),darkMode:g.bool,label:g.string,"aria-label":g.string,children:g.node,onChange:g.func,chipCharacterLimit:g.number,chipTruncationLocation:g.oneOf(Object.values(R)),onClear:g.func,onFilter:g.func,clearable:g.bool,searchLoadingMessage:g.string,searchErrorMessage:g.string,searchEmptyMessage:g.string,searchState:g.oneOf(Object.values(Se)),errorMessage:g.string,state:g.oneOf(Object.values(Le)),size:g.oneOf(Object.values(Ce)),disabled:g.bool,description:g.string,placeholder:g.string,filteredOptions:g.arrayOf(g.string),popoverZIndex:g.number,usePortal:g.bool,scrollContainer:g.elementType,portalContainer:g.elementType,portalClassName:g.string};export{ea as Combobox,bn as ComboboxGroup,Cr as ComboboxOption};
2
2
  //# sourceMappingURL=index.js.map