@leafygreen-ui/combobox 7.1.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 +51 -0
- package/dist/Combobox/Combobox.d.ts +1 -1
- package/dist/Combobox/Combobox.d.ts.map +1 -1
- package/dist/Combobox/Combobox.types.d.ts +8 -0
- package/dist/Combobox/Combobox.types.d.ts.map +1 -1
- package/dist/Combobox/utils/isValueCurrentSelection.d.ts +7 -0
- package/dist/Combobox/utils/isValueCurrentSelection.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/dist/types/Combobox.types.d.ts +6 -1
- package/dist/types/Combobox.types.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/doesSelectionExist.d.ts +3 -0
- package/dist/utils/doesSelectionExist.d.ts.map +1 -0
- package/package.json +8 -7
- package/src/Combobox/Combobox.spec.tsx +198 -66
- package/src/Combobox/Combobox.tsx +75 -58
- package/src/Combobox/Combobox.types.ts +10 -0
- package/src/Combobox/utils/isValueCurrentSelection.ts +14 -0
- package/src/Combobox.story.tsx +1 -0
- package/src/types/Combobox.types.ts +7 -1
- package/src/types/index.ts +1 -0
- package/src/utils/doesSelectionExist.ts +16 -0
- package/stories.js +1 -1
- package/tsconfig.json +3 -0
- package/tsdoc.json +22 -2
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("react"),require("lodash/clone"),require("lodash/debounce"),require("lodash/isArray"),require("lodash/isEqual"),require("lodash/isNull"),require("lodash/isString"),require("lodash/isUndefined"),require("prop-types"),require("@leafygreen-ui/emotion"),require("@leafygreen-ui/hooks"),require("@leafygreen-ui/icon"),require("@leafygreen-ui/icon-button"),require("@leafygreen-ui/leafygreen-provider"),require("@leafygreen-ui/lib"),require("@leafygreen-ui/typography"),require("@leafygreen-ui/chip"),require("@leafygreen-ui/tokens"),require("@leafygreen-ui/palette"),require("@leafygreen-ui/popover"),require("polished"),require("@leafygreen-ui/input-option"),require("lodash/kebabCase"),require("lodash/escapeRegExp"),require("@leafygreen-ui/checkbox")):"function"==typeof define&&define.amd?define(["exports","react","lodash/clone","lodash/debounce","lodash/isArray","lodash/isEqual","lodash/isNull","lodash/isString","lodash/isUndefined","prop-types","@leafygreen-ui/emotion","@leafygreen-ui/hooks","@leafygreen-ui/icon","@leafygreen-ui/icon-button","@leafygreen-ui/leafygreen-provider","@leafygreen-ui/lib","@leafygreen-ui/typography","@leafygreen-ui/chip","@leafygreen-ui/tokens","@leafygreen-ui/palette","@leafygreen-ui/popover","polished","@leafygreen-ui/input-option","lodash/kebabCase","lodash/escapeRegExp","@leafygreen-ui/checkbox"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self)["@leafygreen-ui/combobox"]={},e.React,e["/clone"],e["/debounce"],e["/isArray"],e["/isEqual"],e["/isNull"],e["/isString"],e["/isUndefined"],e.PropTypes,e["@leafygreen-ui/emotion"],e["@leafygreen-ui/hooks"],e["@leafygreen-ui/icon"],e["@leafygreen-ui/icon-button"],e["@leafygreen-ui/leafygreen-provider"],e["@leafygreen-ui/lib"],e["@leafygreen-ui/typography"],e["@leafygreen-ui/chip"],e["@leafygreen-ui/tokens"],e["@leafygreen-ui/palette"],e["@leafygreen-ui/popover"],e.polished,e["@leafygreen-ui/input-option"],e["/kebabCase"],e["/escapeRegExp"],e["@leafygreen-ui/checkbox"])}(this,(function(e,n,t,a,r,l,i,o,s,u,c,d,f,p,h,g,m,b,y,v,x,k,w,C,S,E){"use strict";function L(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var T=L(n),N=L(t),O=L(a),D=L(r),M=L(l),I=L(i),j=L(o),z=L(s),q=L(u),R=L(f),A=L(p),F=L(h),P=L(x),W=L(C),X=L(S),G=L(E);function H(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function Z(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?H(Object(t),!0).forEach((function(n){K(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):H(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function B(e){return B="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},B(e)}function K(e,n,t){return(n=function(e){var n=function(e,n){if("object"!=typeof e||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var a=t.call(e,n||"default");if("object"!=typeof a)return a;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:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function U(){return U=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e},U.apply(this,arguments)}function V(e,n){if(null==e)return{};var t,a,r=function(e,n){if(null==e)return{};var t,a,r={},l=Object.keys(e);for(a=0;a<l.length;a++)t=l[a],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)t=l[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}function Y(e,n){return n||(n=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(n)}}))}function $(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var a,r,l,i,o=[],s=!0,u=!1;try{if(l=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;s=!1}else for(;!(s=(a=l.call(t)).done)&&(o.push(a.value),o.length!==n);s=!0);}catch(e){u=!0,r=e}finally{try{if(!s&&null!=t.return&&(i=t.return(),Object(i)!==i))return}finally{if(u)throw r}}return o}}(e,n)||Q(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 J(e){return function(e){if(Array.isArray(e))return _(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Q(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 Q(e,n){if(e){if("string"==typeof e)return _(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_(e,n):void 0}}function _(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,a=new Array(n);t<n;t++)a[t]=e[t];return a}var ee="Input",ne="ClearButton",te="FirstChip",ae="LastChip",re="MiddleChip",le="Combobox",ie="Menu",oe={XSmall:"xsmall",Small:"small",Default:"default",Large:"large"},se={expandY:"expand-y",scrollX:"scroll-x",expandX:"expand-x"},ue={none:"none",error:"error"},ce={unset:"unset",error:"error",loading:"loading"};var de,fe,pe,he,ge,me,be,ye,ve,xe,ke,we,Ce,Se,Ee,Le={multiselect:!1,size:oe.Default,withIcons:!1,disabled:!1,isOpen:!1,state:ue.none,searchState:ce.unset,overflow:se.expandY},Te=n.createContext(Le),Ne=g.createUniqueClassName("combobox-chip"),Oe=(K(de={},oe.XSmall,16),K(de,oe.Small,y.typeScales.body1.lineHeight),K(de,oe.Default,y.typeScales.body1.lineHeight),K(de,oe.Large,y.typeScales.body2.lineHeight),de),De=(K(fe={},oe.XSmall,y.typeScales.body1.fontSize),K(fe,oe.Small,y.typeScales.body1.fontSize),K(fe,oe.Default,y.typeScales.body1.fontSize),K(fe,oe.Large,y.typeScales.body2.fontSize),fe),Me=(K(pe={},oe.XSmall,1),K(pe,oe.Small,0),K(pe,oe.Default,2),K(pe,oe.Large,4),pe),Ie=(K(ye={},oe.XSmall,c.css(he||(he=Y(["\n font-size: ","px;\n line-height: ","px;\n\n ."," {\n padding-block: ","px;\n }\n "])),De[oe.XSmall],Oe[oe.XSmall],b.chipTextClassName,Me[oe.XSmall])),K(ye,oe.Small,c.css(ge||(ge=Y(["\n font-size: ","px;\n line-height: ","px;\n\n ."," {\n padding-block: ","px;\n }\n "])),De[oe.Small],Oe[oe.Small],b.chipTextClassName,Me[oe.Small])),K(ye,oe.Default,c.css(me||(me=Y(["\n font-size: ","px;\n line-height: ","px;\n\n ."," {\n padding-block: ","px;\n }\n "])),De[oe.Default],Oe[oe.Default],b.chipTextClassName,Me[oe.Default])),K(ye,oe.Large,c.css(be||(be=Y(["\n font-size: ","px;\n line-height: ","px;\n\n ."," {\n padding-inline-end: 10px;\n padding-block: ","px;\n }\n "])),De[oe.Large],Oe[oe.Large],b.chipTextClassName,Me[oe.Large])),ye),je=T.default.forwardRef((function(e,t){var a,r=e.displayName,l=e.isFocused,i=e.onRemove,o=e.onFocus,s=n.useContext(Te),u=s.size,f=s.disabled,p=s.overflow,h=s.chipTruncationLocation,m=void 0===h?b.TruncationLocation.End:h,y=s.chipCharacterLimit,v=void 0===y?12:y,x=s.popoverZIndex,k=p===se.scrollX?b.TruncationLocation.None:m,w=d.useForwardedRef(t,null),C=null===(a=w.current)||void 0===a?void 0:a.querySelector("button");n.useEffect((function(){l&&!f&&(null==C||C.focus())}),[f,C,l]);return T.default.createElement(b.Chip,{label:r,className:c.cx(Ne,Ie[u]),role:"option","aria-selected":l,"data-testid":"lg-combobox-chip",onClick:function(e){null!=C&&C.contains(e.target)||o()},onKeyDown:function(e){f||e.key!==g.keyMap.Delete&&e.key!==g.keyMap.Backspace&&e.key!==g.keyMap.Enter&&e.key!==g.keyMap.Space||i()},onDismiss:function(){f||i()},baseFontSize:b.BaseFontSize.Body1,chipCharacterLimit:v,chipTruncationLocation:k,popoverZIndex:x,variant:b.Variant.Gray,ref:w,disabled:f,tabIndex:-1})}));je.displayName="ComboboxChip";var ze,qe,Re,Ae,Fe,Pe,We,Xe,Ge,He,Ze,Be,Ke,Ue,Ve,Ye,$e,Je=(K(ke={},g.Theme.Light,c.css(ve||(ve=Y(["\n padding-top: ","px;\n "])),y.spacing[2])),K(ke,g.Theme.Dark,c.css(xe||(xe=Y(["\n padding-top: ","px;\n "])),y.spacing[2])),ke),Qe=c.css(we||(we=Y(["\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.fontWeights.bold),_e=(K(Ee={},g.Theme.Light,c.css(Ce||(Ce=Y(["\n color: ",";\n "])),v.palette.gray.dark1)),K(Ee,g.Theme.Dark,c.css(Se||(Se=Y(["\n color: ",";\n "])),v.palette.gray.light1)),Ee);function en(e){var n=e.label,t=e.className,a=e.children,r=h.useDarkMode().theme,l=d.useIdAllocator({prefix:"combobox-group"});return T.default.Children.count(a)>0?T.default.createElement("div",{className:c.cx(Je[r],t)},T.default.createElement("div",{className:c.cx(Qe,_e[r]),id:l},n),T.default.createElement("div",{role:"group","aria-labelledby":l},a)):T.default.createElement(T.default.Fragment,null)}function nn(e){throw Error("`ComboboxGroup` must be a child of a `Combobox` instance")}nn.displayName="ComboboxGroup",nn.propTypes={className:q.default.string,children:q.default.node.isRequired,label:q.default.string.isRequired};var tn,an=(K(ze={},oe.XSmall,{x:12,y:8}),K(ze,oe.Small,{x:12,y:8}),K(ze,oe.Default,{x:12,y:8}),K(ze,oe.Large,{x:12,y:8}),ze),rn=function(e){return Oe[e]+2*an[e].y},ln=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:384;return c.css(qe||(qe=Y(["\n width: ","px;\n overflow: hidden;\n border-radius: 12px;\n border: 1px solid;\n"])),e)},on=(K(Fe={},g.Theme.Light,c.css(Re||(Re=Y(["\n box-shadow: 0px 4px 7px ",";\n border-color: ",";\n "])),k.transparentize(.85,v.palette.black),v.palette.gray.light2)),K(Fe,g.Theme.Dark,c.css(Ae||(Ae=Y(["\n box-shadow: 0px 4px 7px ",";\n border-color: ",";\n "])),k.transparentize(.85,v.palette.black),v.palette.gray.dark2)),Fe),sn=c.css(Pe||(Pe=Y(["\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.spacing[2],y.fontFamilies.default),un=(K(Ge={},g.Theme.Light,c.css(We||(We=Y(["\n color: ",";\n background-color: ",";\n "])),v.palette.black,v.palette.white)),K(Ge,g.Theme.Dark,c.css(Xe||(Xe=Y(["\n color: ",";\n background-color: ",";\n "])),v.palette.gray.light1,v.palette.gray.dark3)),Ge),cn=c.css(He||(He=Y(["\n position: relative;\n margin: 0;\n padding: 0;\n"]))),dn=c.css(Ze||(Ze=Y(["\n font-family: inherit;\n display: inline-flex;\n align-items: center;\n gap: 8px;\n"]))),fn=(K(Ue={},g.Theme.Light,c.css(Be||(Be=Y(["\n color: ",";\n "])),v.palette.gray.dark3)),K(Ue,g.Theme.Dark,c.css(Ke||(Ke=Y(["\n color: ",";\n "])),v.palette.gray.light3)),Ue),pn=function(e){return c.css(Ve||(Ve=Y(["\n font-size: ","px;\n line-height: ","px;\n padding: ","px ","px;\n"])),De[e],Oe[e],an[e].y,an[e].x)},hn=c.keyframes(Ye||(Ye=Y(["\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n"]))),gn=c.css($e||($e=Y(["\n animation: "," 1.5s linear infinite;\n"])),hn),mn=["children","id","refEl","labelId","menuWidth","searchLoadingMessage","searchErrorMessage","searchEmptyMessage"],bn=T.default.forwardRef((function(e,t){var a=e.children,r=e.id,l=e.refEl,i=e.labelId,o=e.menuWidth,s=e.searchLoadingMessage,u=e.searchErrorMessage,f=e.searchEmptyMessage,p=V(e,mn),g=h.useDarkMode(),b=g.darkMode,y=g.theme,x=n.useContext(Te),k=x.disabled,w=x.size,C=x.isOpen,S=x.searchState,E=d.useForwardedRef(t,null),L=d.useAvailableSpace(l),N=z.default(L)?"unset":"".concat(Math.min(L,256),"px"),O=n.useMemo((function(){var e=c.cx(dn,fn[y],pn(w)),n=c.cx(dn,pn(w));switch(S){case"loading":return T.default.createElement("span",{className:e},T.default.createElement(R.default,{glyph:"Refresh",color:b?v.palette.blue.light1:v.palette.blue.base,className:gn}),s);case"error":return T.default.createElement(m.Error,{className:n},T.default.createElement(R.default,{glyph:"Warning",color:b?v.palette.red.light1:v.palette.red.base}),T.default.createElement("span",null,u));default:return a&&"object"===B(a)&&"length"in a&&a.length>0?T.default.createElement("ul",{className:cn},a):T.default.createElement("span",{className:e},f)}}),[y,w,S,b,s,u,a,f]);return T.default.createElement(P.default,U({active:C&&!k,spacing:4,align:"bottom",justify:"middle",refEl:l,adjustOnMutation:!0,className:c.cx(ln(o),on[y])},p),T.default.createElement("div",{ref:E,id:r,role:"listbox","aria-labelledby":i,"aria-expanded":C,className:c.cx(sn,un[y],c.css(tn||(tn=Y(["\n max-height: ",";\n "])),N)),onMouseDownCapture:function(e){return e.preventDefault()}},O))}));bn.displayName="ComboboxMenu";var yn,vn,xn,kn,wn,Cn,Sn,En,Ln,Tn,Nn,On,Dn,Mn,In,jn,zn,qn,Rn,An,Fn,Pn,Wn,Xn,Gn,Hn,Zn=function(e){var n=e.scrollHeight;return e.scrollTop<n-e.clientHeight},Bn=function(e){var n,t=e.value,a=e.displayName;return{value:null!=t?t:W.default(a),displayName:null!==(n=null!=a?a:t)&&void 0!==n?n:""}},Kn=function e(n){return T.default.Children.toArray(n).reduce((function(n,t){if(g.isComponentType(t,"ComboboxOption")){var a=Bn(t.props),r=a.value,l=a.displayName,i=t.props,o=i.glyph,s=i.disabled;return[].concat(J(n),[{value:r,displayName:l,isDisabled:!!s,hasGlyph:!!o}])}if(g.isComponentType(t,"ComboboxGroup")){var u=t.props.children;if(u)return[].concat(J(n),J(e(u)))}}),[])},Un=function(e,n){if(e)return n.find((function(n){return n.value===e}))},Vn=function(e,n){var t,a;return e?null!==(t=null===(a=Un(e,n))||void 0===a?void 0:a.displayName)&&void 0!==t?t:e:""},Yn=function(e){return c.css(yn||(yn=Y(["\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"])),De[e],Oe[e],rn(e),an[e].y,an[e].x,y.spacing[1],rn(e))},$n=(K(Cn={},oe.XSmall,c.css(vn||(vn=Y(["\n min-width: ","px;\n "])),y.spacing[3])),K(Cn,oe.Small,c.css(xn||(xn=Y(["\n min-width: ","px;\n "])),y.spacing[3])),K(Cn,oe.Default,c.css(kn||(kn=Y(["\n min-width: ","px;\n "])),y.spacing[3])),K(Cn,oe.Large,c.css(wn||(wn=Y(["\n min-width: ","px;\n "])),y.spacing[4])),Cn),Jn=c.css(Sn||(Sn=Y(["\n pointer-events: none;\n gap: 0;\n\n label {\n gap: 0;\n align-items: center;\n }\n"])));c.css(En||(En=Y(["\n pointer-events: none;\n"])));var Qn,_n,et,nt,tt,at,rt,lt,it,ot,st,ut,ct,dt,ft,pt,ht,gt,mt,bt,yt,vt,xt,kt,wt,Ct,St,Et,Lt,Tt,Nt,Ot,Dt,Mt,It,jt,zt,qt,Rt,At,Ft,Pt,Wt,Xt,Gt,Ht,Zt,Bt,Kt,Ut,Vt=function(e){return c.css(Ln||(Ln=Y(["\n font-weight: ",";\n"])),e?y.fontWeights.bold:y.fontWeights.regular)},Yt=(K(On={},g.Theme.Light,c.css(Tn||(Tn=Y(["\n color: ",";\n "])),v.palette.gray.dark1)),K(On,g.Theme.Dark,c.css(Nn||(Nn=Y(["\n color: ",";\n "])),v.palette.gray.base)),On),$t=(K(In={},g.Theme.Light,c.css(Dn||(Dn=Y(["\n color: ",";\n "])),v.palette.blue.dark1)),K(In,g.Theme.Dark,c.css(Mn||(Mn=Y(["\n color: ",";\n "])),v.palette.blue.light3)),In),Jt=(K(qn={},g.Theme.Light,c.css(jn||(jn=Y(["\n color: ",";\n "])),v.palette.gray.light1)),K(qn,g.Theme.Dark,c.css(zn||(zn=Y(["\n color: ",";\n "])),v.palette.gray.dark1)),qn),Qt=(K(Fn={},g.Theme.Light,c.css(Rn||(Rn=Y(["\n color: ",";\n "])),v.palette.blue.base)),K(Fn,g.Theme.Dark,c.css(An||(An=Y(["\n color: ",";\n "])),v.palette.blue.light1)),Fn),_t=(K(Xn={},g.Theme.Light,c.css(Pn||(Pn=Y(["\n color: ",";\n "])),v.palette.gray.light1)),K(Xn,g.Theme.Dark,c.css(Wn||(Wn=Y(["\n color: ",";\n "])),v.palette.gray.dark1)),Xn),ea=c.css(Gn||(Gn=Y(["\n ."," {\n align-self: baseline;\n }\n"])),w.leftGlyphClassName),na=c.css(Hn||(Hn=Y(["\n ."," {\n height: 28px;\n }\n"])),w.leftGlyphClassName),ta=["glyph","isSelected","displayName","isFocused","setSelected","className","description","value","onClick","disabled"],aa=T.default.forwardRef((function(e,t){var a,r=e.glyph,l=e.isSelected,i=e.displayName,o=e.isFocused,s=e.setSelected,u=e.className,p=e.description,g=e.value,m=e.onClick,b=e.disabled,y=void 0!==b&&b,v=V(e,ta),x=h.useDarkMode(),k=x.darkMode,C=x.theme,S=n.useContext(Te),E=S.multiselect,L=S.size,N=S.withIcons,O=S.inputValue,D=d.useForwardedRef(t,null),M=d.useIdAllocator({prefix:"combobox-option-text"}),I=n.useCallback((function(e){e.stopPropagation(),y||(s(),null==m||m(e,g))}),[y,m,s,g]),j=n.useMemo((function(){return function(e){var n,t=e.withIcons,a=e.isSelected,r=e.glyph,l=e.optionTextId,i=e.disabled,o=e.darkMode,s=e.size,u=e.multiselect,d=e.theme,p=e.isFocused;r&&!f.isComponentGlyph(r)&&console.error("`ComboboxOption` instance did not render icon because it is not a known glyph element.",r);var h=r&&f.isComponentGlyph(r)?T.default.cloneElement(r,Z(Z({},r.props),{},{className:c.cx(Yt[d],(n={},K(n,$t[d],p),K(n,Jt[d],i),n),r.props.className)})):T.default.createElement(T.default.Fragment,null),g=T.default.createElement(G.default,{"aria-labelledby":l,checked:a,tabIndex:-1,disabled:i,darkMode:o,className:Jn}),m=T.default.createElement(R.default,{glyph:"Checkmark",className:c.cx($n[s],Qt[d],K({},_t[d],i))});return{leftGlyph:u?t?h:g:t?h:a?m:null,rightGlyph:u?t&&g:t&&a&&m}}({withIcons:N,isSelected:l,glyph:r,theme:C,darkMode:k,size:L,disabled:y,multiselect:E,optionTextId:M,isFocused:o})}),[k,y,r,l,E,M,L,C,N,o]),z=j.leftGlyph,q=j.rightGlyph,A=E&&!N;return T.default.createElement(w.InputOption,U({},v,{as:"li",ref:D,highlighted:o,disabled:y,"aria-label":i,darkMode:k,className:c.cx(Yn(L),(a={},K(a,ea,A),K(a,na,A&&L===oe.Large),a),u),onClick:I,onKeyDown:I}),T.default.createElement(w.InputOptionContent,{leftGlyph:z,rightGlyph:q,description:p},T.default.createElement("span",{id:M,className:Vt(l)},function(e,n,t){if(n&&t){var a=X.default(n),r=new RegExp(a,"gi"),l=e.matchAll(r);if(l){for(var i=e.split(""),o=0,s=Array.from(l);o<s.length;o++){var u,c=s[o],d=null!==(u=c.index)&&void 0!==u?u:-1,f=c[0],p=f.length,h=d+f+p,g=new Array(p).fill("");g[0]=T.default.createElement(t,{key:h},f),i.splice.apply(i,[d,p].concat(J(g)))}return T.default.createElement(T.default.Fragment,null,i)}return T.default.createElement(T.default.Fragment,null,e)}return T.default.createElement(T.default.Fragment,null,e)}(i,O,"strong"))))}));function ra(e){throw Error("`ComboboxOption` must be a child of a `Combobox` instance")}aa.displayName="ComboboxOption",ra.displayName="ComboboxOption",ra.propTypes={displayName:q.default.string,value:q.default.string,glyph:q.default.node,disabled:q.default.bool,className:q.default.string,description:q.default.string,onClick:q.default.func};var la=function(e){return Oe[e]+2*Me[e]},ia=(K(Qn={},oe.XSmall,22),K(Qn,oe.Small,28),K(Qn,oe.Default,36),K(Qn,oe.Large,48),Qn),oa=function(e){return(ia[e]-la(e)-2)/2},sa=(K(_n={},oe.XSmall,{y:oa(oe.XSmall),xLeftWithChip:1,xLeftWithoutChip:10,xRight:4}),K(_n,oe.Small,{y:oa(oe.Small),xLeftWithChip:4,xLeftWithoutChip:10,xRight:8}),K(_n,oe.Default,{y:oa(oe.Default),xLeftWithChip:6,xLeftWithoutChip:12,xRight:12}),K(_n,oe.Large,{y:oa(oe.Large),xLeftWithChip:y.spacing[2]-1,xLeftWithoutChip:y.spacing[2]-1,xRight:y.spacing[2]-1}),_n),ua=y.spacing[3],ca=function(e){return c.css(et||(et=Y(["\n font-family: ",";\n width: 100%;\n min-width: ","px;\n "])),y.fontFamilies.default,De[e]+2*sa[e].xLeftWithChip+ua+2)},da=c.css(nt||(nt=Y(["\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.spacing[2],y.transitionDuration.default,y.transitionDuration.default),fa=(K(rt={},g.Theme.Light,c.css(tt||(tt=Y(["\n color: ",";\n background-color: ",";\n border-color: ",";\n "])),v.palette.gray.dark3,v.palette.white,v.palette.gray.base)),K(rt,g.Theme.Dark,c.css(at||(at=Y(["\n color: ",";\n background-color: ",";\n border-color: ",";\n "])),v.palette.gray.light2,v.palette.gray.dark4,v.palette.gray.base)),rt),pa=function(e,n){return c.css(lt||(lt=Y(["\n padding-top: ","px;\n padding-bottom: ","px;\n padding-left: ",";\n padding-right: ","px;\n"])),sa[e].y,sa[e].y,"".concat(n?sa[e].xLeftWithChip:sa[e].xLeftWithoutChip,"px"),sa[e].xRight)},ha=(K(st={},g.Theme.Light,c.css(it||(it=Y(["\n cursor: not-allowed;\n color: ",";\n background-color: ",";\n border-color: ",";\n "])),v.palette.gray.dark1,v.palette.gray.light2,v.palette.gray.light1)),K(st,g.Theme.Dark,c.css(ot||(ot=Y(["\n cursor: not-allowed;\n color: ",";\n background-color: ",";\n border-color: ",";\n "])),v.palette.gray.dark1,v.palette.gray.dark3,v.palette.gray.dark2)),st),ga=(K(dt={},g.Theme.Light,c.css(ut||(ut=Y(["\n border-color: ",";\n "])),v.palette.red.base)),K(dt,g.Theme.Dark,c.css(ct||(ct=Y(["\n border-color: ",";\n "])),v.palette.red.light1)),dt),ma=(K(ht={},g.Theme.Light,c.css(ft||(ft=Y(["\n &:focus-within {\n border-color: transparent;\n box-shadow: ",";\n }\n "])),y.focusRing[g.Theme.Light].input)),K(ht,g.Theme.Dark,c.css(pt||(pt=Y(["\n &:focus-within {\n border-color: transparent;\n box-shadow: ",";\n }\n "])),y.focusRing[g.Theme.Dark].input)),ht),ba=c.css(gt||(gt=Y(["\n display: flex;\n align-items: center;\n"]))),ya=(K(xt={},oe.XSmall,c.css(mt||(mt=Y(["\n gap: ","px;\n "])),y.spacing[1])),K(xt,oe.Small,c.css(bt||(bt=Y(["\n gap: ","px;\n "])),y.spacing[2])),K(xt,oe.Default,c.css(yt||(yt=Y(["\n gap: ","px;\n "])),y.spacing[2])),K(xt,oe.Large,c.css(vt||(vt=Y(["\n gap: ","px;\n "])),y.spacing[2])),xt),va=function(e){var n=e.overflow,t=e.size,a=c.css(kt||(kt=Y(["\n flex-grow: 1;\n width: 100%;\n "])));switch(n){case se.scrollX:return c.css(wt||(wt=Y(["\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 "])),a,la(t),Ne);case se.expandY:return c.css(Ct||(Ct=Y(["\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 "])),a,4,la(t),3*la(t),4)}},xa=c.css(St||(St=Y(["\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"])),y.fontFamilies.default,y.spacing[1]),ka=(K(Tt={},g.Theme.Light,c.css(Et||(Et=Y(["\n &::placeholder {\n color: ",";\n }\n "])),v.palette.gray.dark1)),K(Tt,g.Theme.Dark,c.css(Lt||(Lt=Y(["\n &::placeholder {\n color: ",";\n }\n "])),v.palette.gray.light1)),Tt),wa=(K(Dt={},g.Theme.Light,c.css(Nt||(Nt=Y(["\n &::placeholder {\n color: ",";\n }\n "])),v.palette.gray.dark1)),K(Dt,g.Theme.Dark,c.css(Ot||(Ot=Y(["\n &::placeholder {\n color: ",";\n }\n "])),v.palette.gray.dark1)),Dt),Ca=function(e){return c.css(Mt||(Mt=Y(["\n height: ","px;\n font-size: ","px;\n line-height: ","px;\n min-width: ","px;\n"])),la(e),De[e],Oe[e],De[e])},Sa=function(e){return c.css(It||(It=Y(["\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")},Ea=function(e,n){var t,a=null!==(t=null==n?void 0:n.length)&&void 0!==t?t:0;return c.css(jt||(jt=Y(["\n width: ","px;\n max-width: 100%;\n "])),a*De[e])},La=c.css(zt||(zt=Y(["\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"])),ua/2),Ta=c.css(qt||(qt=Y(["\n height: ","px;\n width: ","px;\n"])),ua,ua),Na=(K(Ft={},g.Theme.Light,c.css(Rt||(Rt=Y(["\n color: ",";\n "])),v.palette.red.base)),K(Ft,g.Theme.Dark,c.css(At||(At=Y(["\n color: ",";\n "])),v.palette.red.light1)),Ft),Oa=function(e){return c.css(Pt||(Pt=Y(["\n font-size: ","px;\n line-height: ","px;\n padding-top: ","px;\n"])),De[e],Oe[e],sa[e].y)},Da=c.css(Wt||(Wt=Y(["\n margin-bottom: ","px;\n display: flex;\n flex-direction: column;\n"])),y.spacing[1]),Ma=c.css(Xt||(Xt=Y(["\n font-size: ","px;\n line-height: ","px;\n"])),y.typeScales.large.fontSize,y.typeScales.large.lineHeight),Ia=(K(Zt={},g.Theme.Light,c.css(Gt||(Gt=Y(["\n ::after {\n box-shadow: 0px 0px 7px 5px ",";\n }\n "])),k.transparentize(.85,v.palette.black))),K(Zt,g.Theme.Dark,c.css(Ht||(Ht=Y(["\n ::after {\n width: 95%;\n box-shadow: 0px -7px 12px 5px rgb(0 0 0 / 50%);\n }\n "])))),Zt),ja=(K(Bt={},g.Theme.Light,v.palette.red.base),K(Bt,g.Theme.Dark,v.palette.red.light1),Bt),za=(K(Kt={},g.Theme.Light,v.palette.gray.dark2),K(Kt,g.Theme.Dark,v.palette.gray.light1),Kt),qa=(K(Ut={},g.Theme.Light,v.palette.gray.base),K(Ut,g.Theme.Dark,v.palette.gray.dark1),Ut),Ra=["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"],Aa=["className","glyph","disabled"];function Fa(e){var t,a,r,l=e.children,i=e.label,o=e.description,s=e.placeholder,u=void 0===s?"Select":s,f=e["aria-label"],p=e.disabled,b=void 0!==p&&p,y=e.size,v=void 0===y?oe.Default:y,x=e.darkMode,k=e.state,w=void 0===k?"none":k,C=e.errorMessage,S=e.searchState,E=void 0===S?"unset":S,L=e.searchEmptyMessage,q=void 0===L?"No results found":L,P=e.searchErrorMessage,W=void 0===P?"Could not get results!":P,X=e.searchLoadingMessage,G=void 0===X?"Loading results...":X,H=e.filteredOptions,Y=e.onFilter,J=e.clearable,Q=void 0===J||J,_=e.onClear,ce=e.overflow,de=void 0===ce?se.expandY:ce,fe=e.multiselect,pe=void 0!==fe&&fe,he=e.initialValue,ge=e.onChange,me=e.value,be=e.chipTruncationLocation,ye=e.chipCharacterLimit,ve=void 0===ye?12:ye,xe=e.className,ke=e.usePortal,we=void 0===ke||ke,Ce=e.portalClassName,Se=e.portalContainer,Ee=e.scrollContainer,Le=e.popoverZIndex,Ne=V(e,Ra),Oe=h.useDarkMode(x),De=Oe.darkMode,Me=Oe.theme,Ie=d.useDynamicRefs({prefix:"option"}),ze=d.useDynamicRefs({prefix:"chip"}),qe=d.useIdAllocator({prefix:"combobox-input"}),Re=d.useIdAllocator({prefix:"combobox-label"}),Ae=d.useIdAllocator({prefix:"combobox-menu"}),Fe=n.useRef(null),Pe=n.useRef(null),We=n.useRef(null),Xe=n.useRef(null),Ge=n.useRef(null),He=$(n.useState(!1),2),Ze=He[0],Be=He[1],Ke=d.usePrevious(Ze),Ue=$(n.useState(null),2),Ve=Ue[0],Ye=Ue[1],$e=$(n.useState(null),2),Je=$e[0],Qe=$e[1],_e=d.usePrevious(Je),nn=$(n.useState(""),2),tn=nn[0],an=nn[1],rn=d.usePrevious(tn),ln=$(n.useState(null),2),on=ln[0],sn=ln[1],un=$(n.useState(!1),2),cn=un[0],dn=un[1],fn=!I.default(Je)&&(D.default(Je)&&Je.length>0||j.default(Je)),pn=pe&&D.default(Je)&&Je.length>0?void 0:u,hn=function(){return Be(!1)},gn=function(){return Be(!0)},mn=n.useMemo((function(){return Kn(l)}),[l]),yn=n.useCallback((function(e){return!pe||"string"!=typeof e&&"number"!=typeof e?!pe&&D.default(e)&&g.consoleOnce.error("Error in Combobox: multiselect is set to `false`, but received an Array value"):g.consoleOnce.error("Error in Combobox: multiselect is set to `true`, but received a ".concat(B(e),' value: "').concat(e,'"')),pe&&D.default(e)}),[pe]),vn=n.useCallback((function(e){!b&&Xe&&Xe.current&&(Xe.current.focus(),z.default(e)||Xe.current.setSelectionRange(e,e))}),[b]),xn=n.useCallback((function(e){if(yn(Je)){var n=N.default(Je);I.default(e)?n.length=0:Je.includes(e)?n.splice(n.indexOf(e),1):(n.push(e),an("")),Qe(n),null==ge||ge(n)}else{var t=e;Qe(t),null==ge||ge(t)}}),[yn,ge,Je]),kn=n.useCallback((function(e){return yn(Je)?Je.includes(e):e===Je}),[yn,Je]),wn=n.useCallback((function(e){var n,t,a,r,l=(t=mn,(n=e)?null!==(a=null===(r=t.find((function(e){return e.displayName===n})))||void 0===r?void 0:r.value)&&void 0!==a?a:n:"");return kn(l)}),[mn,kn]),Cn=n.useCallback((function(e){var n="string"==typeof e?e:e.value;return H&&H.length>0?H.includes(n):!!wn(tn)||("string"==typeof e?Vn(n,mn):e.displayName).toLowerCase().includes(tn.toLowerCase())}),[H,wn,tn,mn]),Sn=n.useMemo((function(){return mn.filter(Cn)}),[mn,Cn]),En=n.useCallback((function(e){return!!e&&!!mn.find((function(n){return n.value===e}))}),[mn]),Ln=n.useCallback((function(e){return Sn?Sn.findIndex((function(n){return n.value===e})):-1}),[Sn]),Tn=n.useCallback((function(e){if(Sn&&Sn.length>=e){var n=Sn[e];return n?n.value:void 0}}),[Sn]),Nn=n.useCallback((function(){return yn(Je)?Je.findIndex((function(e){var n,t;return null===(n=ze(e))||void 0===n||null===(t=n.current)||void 0===t?void 0:t.contains(document.activeElement)})):-1}),[ze,yn,Je]),On=$(n.useState(),2),Dn=On[0],Mn=On[1],In=n.useCallback((function(e){var n,t=null!==(n=null==Sn?void 0:Sn.length)&&void 0!==n?n:0,a=t-1>0?t-1:0,r=Ln(Ve);switch(e&&Ze&&(sn(null),vn()),e){case"next":var l=Tn(r+1<t?r+1:0);Ye(null!=l?l:null);break;case"prev":var i=Tn(r-1>=0?r-1:a);Ye(null!=i?i:null);break;case"last":var o=Tn(a);Ye(null!=o?o:null);break;default:var s=Tn(0);Ye(null!=s?s:null)}}),[Ve,Ln,Tn,Ze,vn,null==Sn?void 0:Sn.length]),jn=n.useCallback((function(e,n){if(yn(Je))switch(e){case"next":var t=null!=n?n:Nn(),a=t+1<Je.length?t+1:Je.length-1,r=Je[a];sn(r);break;case"prev":var l=null!=n?n:Nn(),i=l>0?l-1:l<0?Je.length-1:0,o=Je[i];sn(o);break;case"first":var s=Je[0];sn(s);break;case"last":var u=Je[Je.length-1];sn(u);break;default:sn(null)}}),[Nn,yn,Je]),zn=n.useCallback((function(e,n){switch(e&&Ye(null),e){case"right":switch(Dn){case ee:var t,a,r;if((null===(t=Xe.current)||void 0===t?void 0:t.selectionEnd)===(null===(a=Xe.current)||void 0===a?void 0:a.value.length))null===(r=Pe.current)||void 0===r||r.focus();break;case te:case re:case ae:if(Dn===ae||1===(null==Je?void 0:Je.length)){vn(0),jn(null),n.preventDefault();break}jn("next")}break;case"left":switch(Dn){case ne:var l;n.preventDefault(),vn(null==Xe||null===(l=Xe.current)||void 0===l?void 0:l.value.length);break;case ee:case re:case ae:if(yn(Je)){var i;if(Dn===ee&&0!==(null===(i=Xe.current)||void 0===i?void 0:i.selectionStart))break;jn("prev")}}break;default:jn(null)}}),[Dn,yn,Je,vn,jn]);n.useEffect((function(){tn!==rn&&In("first")}),[tn,Ze,rn,In]),d.useAutoScroll(Ve?Ie(Ve):void 0,Ge);var qn=n.useCallback((function(e){if(g.isComponentType(e,"ComboboxOption")){var n=Bn(e.props),t=n.value,a=n.displayName;if(Cn(t)){var r=e.props,l=r.className,i=r.glyph,o=r.disabled,s=V(r,Aa),u=mn.findIndex((function(e){return e.value===t})),c=Ve===t,d=yn(Je)?Je.includes(t):Je===t,f=Ie(t);return T.default.createElement(aa,U({},s,{value:t,displayName:a,isFocused:c,isSelected:d,disabled:o,setSelected:function(){Ye(t),xn(t),vn(),t===Je&&hn()},glyph:i,className:l,index:u,ref:f}))}}else if(g.isComponentType(e,"ComboboxGroup")){var p=T.default.Children.map(e.props.children,qn);if(p&&(null==p?void 0:p.length)>0)return T.default.createElement(en,{label:e.props.label,className:e.props.className},T.default.Children.map(p,qn))}}),[mn,Ie,Ve,yn,Je,vn,Cn,xn]),Rn=n.useMemo((function(){return T.default.Children.map(l,qn)}),[l,qn]),An=n.useMemo((function(){if(yn(Je))return Je.filter(En).map((function(e,n){var t=Vn(e,mn),a=on===e,r=ze(e),l=n>=Je.length-1;return T.default.createElement(je,{key:e,displayName:t,isFocused:a,onRemove:function(){l?(vn(),jn(null)):jn("next",n),xn(e)},onFocus:function(){sn(e)},ref:r})}))}),[yn,Je,En,mn,on,ze,xn,vn,jn]),Fn=n.useMemo((function(){return mn.some((function(e){return e.hasGlyph}))}),[mn]),Pn=n.useCallback((function(){if(!yn(Je)&&Je===_e){var e=Sn.find((function(e){return e.displayName===tn||e.value===tn}));if(e&&!me)Qe(e.value);else{var n,t=null!==(n=Vn(Je,mn))&&void 0!==n?n:"";an(t)}}}),[mn,tn,yn,_e,Je,me,Sn]),Wn=n.useCallback((function(){if(fn){if(yn(Je))et(de);else if(!yn(Je)){var e,n=null!==(e=Vn(Je,mn))&&void 0!==e?e:"";an(n),hn()}}else an("")}),[fn,mn,yn,Je,de]);n.useEffect((function(){if(he)if(D.default(he)){var e,n=null!==(e=he.filter((function(e){return En(e)})))&&void 0!==e?e:[];Qe(n)}else En(he)&&Qe(he);else Qe(function(e){return e?[]:null}(pe))}),[]),n.useEffect((function(){if(!z.default(me)&&me!==rn)if(I.default(me))Qe(null);else if(yn(me)){var e=me.filter(En);Qe(e)}else Qe(En(me)?me:null)}),[yn,En,rn,me]),n.useEffect((function(){M.default(Je,_e)||Wn()}),[Wn,_e,Je]),n.useEffect((function(){!Ze&&Ke&&Pn()}),[Ze,Ke,Pn]);var Xn=$(n.useState(0),2),Gn=Xn[0],Hn=Xn[1];n.useEffect((function(){var e,n;Hn(null!==(e=null===(n=Fe.current)||void 0===n?void 0:n.clientWidth)&&void 0!==e?e:0)}),[Fe,Ze,Ve,Je]);d.useBackdropClick(hn,[Ge,Fe],Ze);var Yn=yn(Je)&&!!Je.length,$n=O.default((function(e){dn(Zn(e.target))}),50,{leading:!0}),Jn=n.useCallback((function(e){de===se.expandY&&$n(e)}),[$n,de]);n.useEffect((function(){We.current&&dn(Zn(We.current))}),[]);var Qn,_n=Z({popoverZIndex:Le},we?{usePortal:we,portalClassName:Ce,portalContainer:Se,scrollContainer:Ee}:{usePortal:we});return T.default.createElement(F.default,{darkMode:De},T.default.createElement(Te.Provider,{value:{multiselect:pe,size:v,withIcons:Fn,disabled:b,isOpen:Ze,state:w,searchState:E,chipTruncationLocation:be,chipCharacterLimit:ve,inputValue:tn,overflow:de,popoverZIndex:Le}},T.default.createElement("div",U({className:c.cx(ca(v),xe)},Ne),(i||o)&&T.default.createElement("div",{className:Da},i&&T.default.createElement(m.Label,{id:Re,htmlFor:qe,darkMode:De,disabled:b,className:c.cx(K({},Ma,v===oe.Large))},i),o&&T.default.createElement(m.Description,{darkMode:De,disabled:b,className:c.cx(K({},Ma,v===oe.Large))},o)),T.default.createElement("div",{ref:Fe,role:"combobox","aria-expanded":Ze,"aria-controls":Ae,"aria-owns":Ae,tabIndex:-1,onMouseDown:function(e){b&&e.preventDefault()},onClick:function(e){if(e.target!==Xe.current){var n=0;if(Xe.current)n=e.nativeEvent.offsetX>Xe.current.offsetLeft+Xe.current.clientWidth?tn.length:0;vn(n)}gn()},onFocus:function(e){et(de),Mn(function(e){var n,t,a,r;if(!e)return;if(null!==(n=Xe.current)&&void 0!==n&&n.contains(e))return ee;if(null!==(t=Pe.current)&&void 0!==t&&t.contains(e))return ne;var l=yn(Je)?Je.findIndex((function(n){var t,a;return null===(t=ze(n))||void 0===t||null===(a=t.current)||void 0===a?void 0:a.contains(e)})):-1;if(yn(Je)){if(0===l)return te;if(l===Je.length-1)return ae;if(l>0)return re}if(null!==(a=Ge.current)&&void 0!==a&&a.contains(e))return ie;if(null!==(r=Fe.current)&&void 0!==r&&r.contains(e))return le}(e.target))},onKeyDown:function(e){var n,t,a=null===(n=Ge.current)||void 0===n?void 0:n.contains(document.activeElement);if((null===(t=Fe.current)||void 0===t?void 0:t.contains(document.activeElement))||a){if(e.ctrlKey||e.shiftKey||e.altKey)return;switch(e.key){case g.keyMap.Tab:switch(Dn){case"Input":fn||(hn(),In("first"),jn(null));break;case"LastChip":jn(null)}break;case g.keyMap.Escape:hn(),In("first");break;case g.keyMap.Enter:Dn!==ee||I.default(Ve)||function(e){if("string"==typeof e){var n=Un(e,mn);return!(null==n||!n.isDisabled)}return!!e.isDisabled}(Ve)?Dn===ne&&(xn(null),vn()):xn(Ve);break;case g.keyMap.Backspace:var r;if(yn(Je))"Input"===Dn&&0===(null===(r=Xe.current)||void 0===r?void 0:r.selectionStart)&&jn("last");gn();break;case g.keyMap.ArrowDown:Ze?(e.preventDefault(),In("next")):gn();break;case g.keyMap.ArrowUp:Ze?(e.preventDefault(),In("prev")):gn();break;case g.keyMap.ArrowRight:zn("right",e);break;case g.keyMap.ArrowLeft:zn("left",e);break;default:Ze||gn()}}},onTransitionEnd:function(){var e,n;Hn(null!==(e=null===(n=Fe.current)||void 0===n?void 0:n.clientWidth)&&void 0!==e?e:0)},className:c.cx(da,fa[Me],pa(v,Yn),(t={},K(t,ha[Me],b),K(t,ga[Me],w===ue.error),K(t,ma[Me],(Qn=ee,Qn===Dn)),K(t,Ia[Me],cn),t))},T.default.createElement("div",{onScroll:Jn,ref:We,className:va({size:v,overflow:de})},An,T.default.createElement("input",{"aria-label":null!=f?f:i,"aria-autocomplete":"list","aria-controls":Ae,"aria-labelledby":Re,ref:Xe,id:qe,className:c.cx(xa,Ca(v),ka[Me],Sa(Ze),(a={},K(a,Ea(v,tn),yn(Je)),K(a,wa[Me],b),a)),placeholder:pn,disabled:null!=b?b:void 0,onChange:function(e){var n=e.target.value;an(n),null==Y||Y(n)},value:tn,autoComplete:"off"})),T.default.createElement("div",{className:c.cx(ba,ya[v])},"error"===w&&T.default.createElement(R.default,{glyph:"Warning",fill:ja[Me],className:Ta}),Q&&fn&&!b&&T.default.createElement(A.default,{"aria-label":"Clear selection","aria-disabled":b,disabled:b,ref:Pe,onClick:function(e){b||(e.stopPropagation(),xn(null),null==_||_(e),null==Y||Y(""),vn())},onFocus:function(){Ye(null)},className:c.cx(La),darkMode:De},T.default.createElement(R.default,{glyph:"XWithCircle"})),T.default.createElement(R.default,{glyph:"CaretDown",className:Ta,fill:c.cx((r={},K(r,za[Me],!b),K(r,qa[Me],b),r))}))),"error"===w&&C&&T.default.createElement("div",{className:c.cx(Na[Me],Oa(v))},C),T.default.createElement(bn,U({id:Ae,labelId:Re,refEl:Fe,ref:Ge,menuWidth:Gn,searchLoadingMessage:G,searchErrorMessage:W,searchEmptyMessage:q},_n),Rn))));function et(e){We&&We.current&&(e===se.scrollX&&(We.current.scrollLeft=We.current.scrollWidth),e===se.expandY&&(We.current.scrollTop=We.current.scrollHeight))}}Fa.propTypes={multiselect:q.default.bool,value:q.default.oneOfType([q.default.string,q.default.arrayOf(q.default.string)]),initialValue:q.default.oneOfType([q.default.string,q.default.arrayOf(q.default.string)]),overflow:q.default.oneOf(Object.values(se)),darkMode:q.default.bool,label:q.default.string,"aria-label":q.default.string,children:q.default.node,onChange:q.default.func,chipCharacterLimit:q.default.number,chipTruncationLocation:q.default.oneOf(Object.values(b.TruncationLocation)),onClear:q.default.func,onFilter:q.default.func,clearable:q.default.bool,searchLoadingMessage:q.default.string,searchErrorMessage:q.default.string,searchEmptyMessage:q.default.string,searchState:q.default.oneOf(Object.values(ce)),errorMessage:q.default.string,state:q.default.oneOf(Object.values(ue)),size:q.default.oneOf(Object.values(oe)),disabled:q.default.bool,description:q.default.string,placeholder:q.default.string,filteredOptions:q.default.arrayOf(q.default.string),popoverZIndex:q.default.number,usePortal:q.default.bool,scrollContainer:q.default.elementType,portalContainer:q.default.elementType,portalClassName:q.default.string},e.Combobox=Fa,e.ComboboxGroup=nn,e.ComboboxOption=ra}));
|
|
1
|
+
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("react"),require("lodash/clone"),require("lodash/debounce"),require("lodash/isArray"),require("lodash/isEqual"),require("lodash/isNull"),require("lodash/isString"),require("lodash/isUndefined"),require("prop-types"),require("@leafygreen-ui/emotion"),require("@leafygreen-ui/hooks"),require("@leafygreen-ui/icon"),require("@leafygreen-ui/icon-button"),require("@leafygreen-ui/leafygreen-provider"),require("@leafygreen-ui/lib"),require("@leafygreen-ui/typography"),require("@leafygreen-ui/chip"),require("@leafygreen-ui/tokens"),require("@leafygreen-ui/palette"),require("@leafygreen-ui/popover"),require("polished"),require("@leafygreen-ui/input-option"),require("lodash/kebabCase"),require("lodash/escapeRegExp"),require("@leafygreen-ui/checkbox")):"function"==typeof define&&define.amd?define(["exports","react","lodash/clone","lodash/debounce","lodash/isArray","lodash/isEqual","lodash/isNull","lodash/isString","lodash/isUndefined","prop-types","@leafygreen-ui/emotion","@leafygreen-ui/hooks","@leafygreen-ui/icon","@leafygreen-ui/icon-button","@leafygreen-ui/leafygreen-provider","@leafygreen-ui/lib","@leafygreen-ui/typography","@leafygreen-ui/chip","@leafygreen-ui/tokens","@leafygreen-ui/palette","@leafygreen-ui/popover","polished","@leafygreen-ui/input-option","lodash/kebabCase","lodash/escapeRegExp","@leafygreen-ui/checkbox"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self)["@leafygreen-ui/combobox"]={},e.React,e["/clone"],e["/debounce"],e["/isArray"],e["/isEqual"],e["/isNull"],e["/isString"],e["/isUndefined"],e.PropTypes,e["@leafygreen-ui/emotion"],e["@leafygreen-ui/hooks"],e["@leafygreen-ui/icon"],e["@leafygreen-ui/icon-button"],e["@leafygreen-ui/leafygreen-provider"],e["@leafygreen-ui/lib"],e["@leafygreen-ui/typography"],e["@leafygreen-ui/chip"],e["@leafygreen-ui/tokens"],e["@leafygreen-ui/palette"],e["@leafygreen-ui/popover"],e.polished,e["@leafygreen-ui/input-option"],e["/kebabCase"],e["/escapeRegExp"],e["@leafygreen-ui/checkbox"])}(this,(function(e,n,t,a,r,l,i,o,s,u,c,d,f,p,h,g,m,b,y,v,x,k,w,C,S,E){"use strict";function T(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var L=T(n),N=T(t),O=T(a),D=T(r),M=T(l),I=T(i),j=T(o),z=T(s),q=T(u),R=T(f),A=T(p),F=T(h),P=T(x),W=T(C),X=T(S),G=T(E);function V(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function H(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?V(Object(t),!0).forEach((function(n){B(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):V(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function Z(e){return Z="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},Z(e)}function B(e,n,t){return(n=function(e){var n=function(e,n){if("object"!=typeof e||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var a=t.call(e,n||"default");if("object"!=typeof a)return a;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:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function K(){return K=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e},K.apply(this,arguments)}function U(e,n){if(null==e)return{};var t,a,r=function(e,n){if(null==e)return{};var t,a,r={},l=Object.keys(e);for(a=0;a<l.length;a++)t=l[a],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)t=l[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}function Y(e,n){return n||(n=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(n)}}))}function $(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var a,r,l,i,o=[],s=!0,u=!1;try{if(l=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;s=!1}else for(;!(s=(a=l.call(t)).done)&&(o.push(a.value),o.length!==n);s=!0);}catch(e){u=!0,r=e}finally{try{if(!s&&null!=t.return&&(i=t.return(),Object(i)!==i))return}finally{if(u)throw r}}return o}}(e,n)||Q(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 J(e){return function(e){if(Array.isArray(e))return _(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Q(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 Q(e,n){if(e){if("string"==typeof e)return _(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_(e,n):void 0}}function _(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,a=new Array(n);t<n;t++)a[t]=e[t];return a}var ee="Input",ne="ClearButton",te="FirstChip",ae="LastChip",re="MiddleChip",le="Combobox",ie="Menu",oe={XSmall:"xsmall",Small:"small",Default:"default",Large:"large"},se={expandY:"expand-y",scrollX:"scroll-x",expandX:"expand-x"},ue={none:"none",error:"error"},ce={unset:"unset",error:"error",loading:"loading"};var de,fe,pe,he,ge,me,be,ye,ve,xe,ke,we,Ce,Se,Ee,Te={multiselect:!1,size:oe.Default,withIcons:!1,disabled:!1,isOpen:!1,state:ue.none,searchState:ce.unset,overflow:se.expandY},Le=n.createContext(Te),Ne=g.createUniqueClassName("combobox-chip"),Oe=(B(de={},oe.XSmall,16),B(de,oe.Small,y.typeScales.body1.lineHeight),B(de,oe.Default,y.typeScales.body1.lineHeight),B(de,oe.Large,y.typeScales.body2.lineHeight),de),De=(B(fe={},oe.XSmall,y.typeScales.body1.fontSize),B(fe,oe.Small,y.typeScales.body1.fontSize),B(fe,oe.Default,y.typeScales.body1.fontSize),B(fe,oe.Large,y.typeScales.body2.fontSize),fe),Me=(B(pe={},oe.XSmall,1),B(pe,oe.Small,0),B(pe,oe.Default,2),B(pe,oe.Large,4),pe),Ie=(B(ye={},oe.XSmall,c.css(he||(he=Y(["\n font-size: ","px;\n line-height: ","px;\n\n ."," {\n padding-block: ","px;\n }\n "])),De[oe.XSmall],Oe[oe.XSmall],b.chipTextClassName,Me[oe.XSmall])),B(ye,oe.Small,c.css(ge||(ge=Y(["\n font-size: ","px;\n line-height: ","px;\n\n ."," {\n padding-block: ","px;\n }\n "])),De[oe.Small],Oe[oe.Small],b.chipTextClassName,Me[oe.Small])),B(ye,oe.Default,c.css(me||(me=Y(["\n font-size: ","px;\n line-height: ","px;\n\n ."," {\n padding-block: ","px;\n }\n "])),De[oe.Default],Oe[oe.Default],b.chipTextClassName,Me[oe.Default])),B(ye,oe.Large,c.css(be||(be=Y(["\n font-size: ","px;\n line-height: ","px;\n\n ."," {\n padding-inline-end: 10px;\n padding-block: ","px;\n }\n "])),De[oe.Large],Oe[oe.Large],b.chipTextClassName,Me[oe.Large])),ye),je=L.default.forwardRef((function(e,t){var a,r=e.displayName,l=e.isFocused,i=e.onRemove,o=e.onFocus,s=n.useContext(Le),u=s.size,f=s.disabled,p=s.overflow,h=s.chipTruncationLocation,m=void 0===h?b.TruncationLocation.End:h,y=s.chipCharacterLimit,v=void 0===y?12:y,x=s.popoverZIndex,k=p===se.scrollX?b.TruncationLocation.None:m,w=d.useForwardedRef(t,null),C=null===(a=w.current)||void 0===a?void 0:a.querySelector("button");n.useEffect((function(){l&&!f&&(null==C||C.focus())}),[f,C,l]);return L.default.createElement(b.Chip,{label:r,className:c.cx(Ne,Ie[u]),role:"option","aria-selected":l,"data-testid":"lg-combobox-chip",onClick:function(e){null!=C&&C.contains(e.target)||o()},onKeyDown:function(e){f||e.key!==g.keyMap.Delete&&e.key!==g.keyMap.Backspace&&e.key!==g.keyMap.Enter&&e.key!==g.keyMap.Space||i()},onDismiss:function(){f||i()},baseFontSize:b.BaseFontSize.Body1,chipCharacterLimit:v,chipTruncationLocation:k,popoverZIndex:x,variant:b.Variant.Gray,ref:w,disabled:f,tabIndex:-1})}));je.displayName="ComboboxChip";var ze,qe,Re,Ae,Fe,Pe,We,Xe,Ge,Ve,He,Ze,Be,Ke,Ue,Ye,$e,Je=(B(ke={},g.Theme.Light,c.css(ve||(ve=Y(["\n padding-top: ","px;\n "])),y.spacing[2])),B(ke,g.Theme.Dark,c.css(xe||(xe=Y(["\n padding-top: ","px;\n "])),y.spacing[2])),ke),Qe=c.css(we||(we=Y(["\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.fontWeights.bold),_e=(B(Ee={},g.Theme.Light,c.css(Ce||(Ce=Y(["\n color: ",";\n "])),v.palette.gray.dark1)),B(Ee,g.Theme.Dark,c.css(Se||(Se=Y(["\n color: ",";\n "])),v.palette.gray.light1)),Ee);function en(e){var n=e.label,t=e.className,a=e.children,r=h.useDarkMode().theme,l=d.useIdAllocator({prefix:"combobox-group"});return L.default.Children.count(a)>0?L.default.createElement("div",{className:c.cx(Je[r],t)},L.default.createElement("div",{className:c.cx(Qe,_e[r]),id:l},n),L.default.createElement("div",{role:"group","aria-labelledby":l},a)):L.default.createElement(L.default.Fragment,null)}function nn(e){throw Error("`ComboboxGroup` must be a child of a `Combobox` instance")}nn.displayName="ComboboxGroup",nn.propTypes={className:q.default.string,children:q.default.node.isRequired,label:q.default.string.isRequired};var tn,an=(B(ze={},oe.XSmall,{x:12,y:8}),B(ze,oe.Small,{x:12,y:8}),B(ze,oe.Default,{x:12,y:8}),B(ze,oe.Large,{x:12,y:8}),ze),rn=function(e){return Oe[e]+2*an[e].y},ln=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:384;return c.css(qe||(qe=Y(["\n width: ","px;\n overflow: hidden;\n border-radius: 12px;\n border: 1px solid;\n"])),e)},on=(B(Fe={},g.Theme.Light,c.css(Re||(Re=Y(["\n box-shadow: 0px 4px 7px ",";\n border-color: ",";\n "])),k.transparentize(.85,v.palette.black),v.palette.gray.light2)),B(Fe,g.Theme.Dark,c.css(Ae||(Ae=Y(["\n box-shadow: 0px 4px 7px ",";\n border-color: ",";\n "])),k.transparentize(.85,v.palette.black),v.palette.gray.dark2)),Fe),sn=c.css(Pe||(Pe=Y(["\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.spacing[2],y.fontFamilies.default),un=(B(Ge={},g.Theme.Light,c.css(We||(We=Y(["\n color: ",";\n background-color: ",";\n "])),v.palette.black,v.palette.white)),B(Ge,g.Theme.Dark,c.css(Xe||(Xe=Y(["\n color: ",";\n background-color: ",";\n "])),v.palette.gray.light1,v.palette.gray.dark3)),Ge),cn=c.css(Ve||(Ve=Y(["\n position: relative;\n margin: 0;\n padding: 0;\n"]))),dn=c.css(He||(He=Y(["\n font-family: inherit;\n display: inline-flex;\n align-items: center;\n gap: 8px;\n"]))),fn=(B(Ke={},g.Theme.Light,c.css(Ze||(Ze=Y(["\n color: ",";\n "])),v.palette.gray.dark3)),B(Ke,g.Theme.Dark,c.css(Be||(Be=Y(["\n color: ",";\n "])),v.palette.gray.light3)),Ke),pn=function(e){return c.css(Ue||(Ue=Y(["\n font-size: ","px;\n line-height: ","px;\n padding: ","px ","px;\n"])),De[e],Oe[e],an[e].y,an[e].x)},hn=c.keyframes(Ye||(Ye=Y(["\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n"]))),gn=c.css($e||($e=Y(["\n animation: "," 1.5s linear infinite;\n"])),hn),mn=["children","id","refEl","labelId","menuWidth","searchLoadingMessage","searchErrorMessage","searchEmptyMessage"],bn=L.default.forwardRef((function(e,t){var a=e.children,r=e.id,l=e.refEl,i=e.labelId,o=e.menuWidth,s=e.searchLoadingMessage,u=e.searchErrorMessage,f=e.searchEmptyMessage,p=U(e,mn),g=h.useDarkMode(),b=g.darkMode,y=g.theme,x=n.useContext(Le),k=x.disabled,w=x.size,C=x.isOpen,S=x.searchState,E=d.useForwardedRef(t,null),T=d.useAvailableSpace(l),N=z.default(T)?"unset":"".concat(Math.min(T,256),"px"),O=n.useMemo((function(){var e=c.cx(dn,fn[y],pn(w)),n=c.cx(dn,pn(w));switch(S){case"loading":return L.default.createElement("span",{className:e},L.default.createElement(R.default,{glyph:"Refresh",color:b?v.palette.blue.light1:v.palette.blue.base,className:gn}),s);case"error":return L.default.createElement(m.Error,{className:n},L.default.createElement(R.default,{glyph:"Warning",color:b?v.palette.red.light1:v.palette.red.base}),L.default.createElement("span",null,u));default:return a&&"object"===Z(a)&&"length"in a&&a.length>0?L.default.createElement("ul",{className:cn},a):L.default.createElement("span",{className:e},f)}}),[y,w,S,b,s,u,a,f]);return L.default.createElement(P.default,K({active:C&&!k,spacing:4,align:"bottom",justify:"middle",refEl:l,adjustOnMutation:!0,className:c.cx(ln(o),on[y])},p),L.default.createElement("div",{ref:E,id:r,role:"listbox","aria-labelledby":i,"aria-expanded":C,className:c.cx(sn,un[y],c.css(tn||(tn=Y(["\n max-height: ",";\n "])),N)),onMouseDownCapture:function(e){return e.preventDefault()}},O))}));bn.displayName="ComboboxMenu";var yn,vn,xn,kn,wn,Cn,Sn,En,Tn,Ln,Nn,On,Dn,Mn,In,jn,zn,qn,Rn,An,Fn,Pn,Wn,Xn,Gn,Vn,Hn=function(e){var n=e.scrollHeight;return e.scrollTop<n-e.clientHeight},Zn=function(e){var n,t=e.value,a=e.displayName;return{value:null!=t?t:W.default(a),displayName:null!==(n=null!=a?a:t)&&void 0!==n?n:""}},Bn=function e(n){return L.default.Children.toArray(n).reduce((function(n,t){if(g.isComponentType(t,"ComboboxOption")){var a=Zn(t.props),r=a.value,l=a.displayName,i=t.props,o=i.glyph,s=i.disabled;return[].concat(J(n),[{value:r,displayName:l,isDisabled:!!s,hasGlyph:!!o}])}if(g.isComponentType(t,"ComboboxGroup")){var u=t.props.children;if(u)return[].concat(J(n),J(e(u)))}}),[])},Kn=function(e,n){if(e)return n.find((function(n){return n.value===e}))},Un=function(e,n){var t,a;return e?null!==(t=null===(a=Kn(e,n))||void 0===a?void 0:a.displayName)&&void 0!==t?t:e:""},Yn=function(e){return c.css(yn||(yn=Y(["\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"])),De[e],Oe[e],rn(e),an[e].y,an[e].x,y.spacing[1],rn(e))},$n=(B(Cn={},oe.XSmall,c.css(vn||(vn=Y(["\n min-width: ","px;\n "])),y.spacing[3])),B(Cn,oe.Small,c.css(xn||(xn=Y(["\n min-width: ","px;\n "])),y.spacing[3])),B(Cn,oe.Default,c.css(kn||(kn=Y(["\n min-width: ","px;\n "])),y.spacing[3])),B(Cn,oe.Large,c.css(wn||(wn=Y(["\n min-width: ","px;\n "])),y.spacing[4])),Cn),Jn=c.css(Sn||(Sn=Y(["\n pointer-events: none;\n gap: 0;\n\n label {\n gap: 0;\n align-items: center;\n }\n"])));c.css(En||(En=Y(["\n pointer-events: none;\n"])));var Qn=function(e){return c.css(Tn||(Tn=Y(["\n font-weight: ",";\n"])),e?y.fontWeights.bold:y.fontWeights.regular)},_n=(B(On={},g.Theme.Light,c.css(Ln||(Ln=Y(["\n color: ",";\n "])),v.palette.gray.dark1)),B(On,g.Theme.Dark,c.css(Nn||(Nn=Y(["\n color: ",";\n "])),v.palette.gray.base)),On),et=(B(In={},g.Theme.Light,c.css(Dn||(Dn=Y(["\n color: ",";\n "])),v.palette.blue.dark1)),B(In,g.Theme.Dark,c.css(Mn||(Mn=Y(["\n color: ",";\n "])),v.palette.blue.light3)),In),nt=(B(qn={},g.Theme.Light,c.css(jn||(jn=Y(["\n color: ",";\n "])),v.palette.gray.light1)),B(qn,g.Theme.Dark,c.css(zn||(zn=Y(["\n color: ",";\n "])),v.palette.gray.dark1)),qn),tt=(B(Fn={},g.Theme.Light,c.css(Rn||(Rn=Y(["\n color: ",";\n "])),v.palette.blue.base)),B(Fn,g.Theme.Dark,c.css(An||(An=Y(["\n color: ",";\n "])),v.palette.blue.light1)),Fn),at=(B(Xn={},g.Theme.Light,c.css(Pn||(Pn=Y(["\n color: ",";\n "])),v.palette.gray.light1)),B(Xn,g.Theme.Dark,c.css(Wn||(Wn=Y(["\n color: ",";\n "])),v.palette.gray.dark1)),Xn),rt=c.css(Gn||(Gn=Y(["\n ."," {\n align-self: baseline;\n }\n"])),w.leftGlyphClassName),lt=c.css(Vn||(Vn=Y(["\n ."," {\n height: 28px;\n }\n"])),w.leftGlyphClassName),it=["glyph","isSelected","displayName","isFocused","setSelected","className","description","value","onClick","disabled"],ot=L.default.forwardRef((function(e,t){var a,r=e.glyph,l=e.isSelected,i=e.displayName,o=e.isFocused,s=e.setSelected,u=e.className,p=e.description,g=e.value,m=e.onClick,b=e.disabled,y=void 0!==b&&b,v=U(e,it),x=h.useDarkMode(),k=x.darkMode,C=x.theme,S=n.useContext(Le),E=S.multiselect,T=S.size,N=S.withIcons,O=S.inputValue,D=d.useForwardedRef(t,null),M=d.useIdAllocator({prefix:"combobox-option-text"}),I=n.useCallback((function(e){e.stopPropagation(),y||(s(),null==m||m(e,g))}),[y,m,s,g]),j=n.useMemo((function(){return function(e){var n,t=e.withIcons,a=e.isSelected,r=e.glyph,l=e.optionTextId,i=e.disabled,o=e.darkMode,s=e.size,u=e.multiselect,d=e.theme,p=e.isFocused;r&&!f.isComponentGlyph(r)&&console.error("`ComboboxOption` instance did not render icon because it is not a known glyph element.",r);var h=r&&f.isComponentGlyph(r)?L.default.cloneElement(r,H(H({},r.props),{},{className:c.cx(_n[d],(n={},B(n,et[d],p),B(n,nt[d],i),n),r.props.className)})):L.default.createElement(L.default.Fragment,null),g=L.default.createElement(G.default,{"aria-labelledby":l,checked:a,tabIndex:-1,disabled:i,darkMode:o,className:Jn}),m=L.default.createElement(R.default,{glyph:"Checkmark",className:c.cx($n[s],tt[d],B({},at[d],i))});return{leftGlyph:u?t?h:g:t?h:a?m:null,rightGlyph:u?t&&g:t&&a&&m}}({withIcons:N,isSelected:l,glyph:r,theme:C,darkMode:k,size:T,disabled:y,multiselect:E,optionTextId:M,isFocused:o})}),[k,y,r,l,E,M,T,C,N,o]),z=j.leftGlyph,q=j.rightGlyph,A=E&&!N;return L.default.createElement(w.InputOption,K({},v,{as:"li",ref:D,highlighted:o,disabled:y,"aria-label":i,darkMode:k,className:c.cx(Yn(T),(a={},B(a,rt,A),B(a,lt,A&&T===oe.Large),a),u),onClick:I,onKeyDown:I}),L.default.createElement(w.InputOptionContent,{leftGlyph:z,rightGlyph:q,description:p},L.default.createElement("span",{id:M,className:Qn(l)},function(e,n,t){if(n&&t){var a=X.default(n),r=new RegExp(a,"gi"),l=e.matchAll(r);if(l){for(var i=e.split(""),o=0,s=Array.from(l);o<s.length;o++){var u,c=s[o],d=null!==(u=c.index)&&void 0!==u?u:-1,f=c[0],p=f.length,h=d+f+p,g=new Array(p).fill("");g[0]=L.default.createElement(t,{key:h},f),i.splice.apply(i,[d,p].concat(J(g)))}return L.default.createElement(L.default.Fragment,null,i)}return L.default.createElement(L.default.Fragment,null,e)}return L.default.createElement(L.default.Fragment,null,e)}(i,O,"strong"))))}));function st(e){throw Error("`ComboboxOption` must be a child of a `Combobox` instance")}ot.displayName="ComboboxOption",st.displayName="ComboboxOption",st.propTypes={displayName:q.default.string,value:q.default.string,glyph:q.default.node,disabled:q.default.bool,className:q.default.string,description:q.default.string,onClick:q.default.func};var ut,ct,dt,ft,pt,ht,gt,mt,bt,yt,vt,xt,kt,wt,Ct,St,Et,Tt,Lt,Nt,Ot,Dt,Mt,It,jt,zt,qt,Rt,At,Ft,Pt,Wt,Xt,Gt,Vt,Ht,Zt,Bt,Kt,Ut,Yt,$t,Jt,Qt,_t,ea,na,ta,aa,ra,la=function(e){return!z.default(e)&&!I.default(e)&&(j.default(e)||D.default(e)&&e.length>0)},ia=function(e){return Oe[e]+2*Me[e]},oa=(B(ut={},oe.XSmall,22),B(ut,oe.Small,28),B(ut,oe.Default,36),B(ut,oe.Large,48),ut),sa=function(e){return(oa[e]-ia(e)-2)/2},ua=(B(ct={},oe.XSmall,{y:sa(oe.XSmall),xLeftWithChip:1,xLeftWithoutChip:10,xRight:4}),B(ct,oe.Small,{y:sa(oe.Small),xLeftWithChip:4,xLeftWithoutChip:10,xRight:8}),B(ct,oe.Default,{y:sa(oe.Default),xLeftWithChip:6,xLeftWithoutChip:12,xRight:12}),B(ct,oe.Large,{y:sa(oe.Large),xLeftWithChip:y.spacing[2]-1,xLeftWithoutChip:y.spacing[2]-1,xRight:y.spacing[2]-1}),ct),ca=y.spacing[3],da=function(e){return c.css(dt||(dt=Y(["\n font-family: ",";\n width: 100%;\n min-width: ","px;\n "])),y.fontFamilies.default,De[e]+2*ua[e].xLeftWithChip+ca+2)},fa=c.css(ft||(ft=Y(["\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.spacing[2],y.transitionDuration.default,y.transitionDuration.default),pa=(B(gt={},g.Theme.Light,c.css(pt||(pt=Y(["\n color: ",";\n background-color: ",";\n border-color: ",";\n "])),v.palette.gray.dark3,v.palette.white,v.palette.gray.base)),B(gt,g.Theme.Dark,c.css(ht||(ht=Y(["\n color: ",";\n background-color: ",";\n border-color: ",";\n "])),v.palette.gray.light2,v.palette.gray.dark4,v.palette.gray.base)),gt),ha=function(e,n){return c.css(mt||(mt=Y(["\n padding-top: ","px;\n padding-bottom: ","px;\n padding-left: ",";\n padding-right: ","px;\n"])),ua[e].y,ua[e].y,"".concat(n?ua[e].xLeftWithChip:ua[e].xLeftWithoutChip,"px"),ua[e].xRight)},ga=(B(vt={},g.Theme.Light,c.css(bt||(bt=Y(["\n cursor: not-allowed;\n color: ",";\n background-color: ",";\n border-color: ",";\n "])),v.palette.gray.dark1,v.palette.gray.light2,v.palette.gray.light1)),B(vt,g.Theme.Dark,c.css(yt||(yt=Y(["\n cursor: not-allowed;\n color: ",";\n background-color: ",";\n border-color: ",";\n "])),v.palette.gray.dark1,v.palette.gray.dark3,v.palette.gray.dark2)),vt),ma=(B(wt={},g.Theme.Light,c.css(xt||(xt=Y(["\n border-color: ",";\n "])),v.palette.red.base)),B(wt,g.Theme.Dark,c.css(kt||(kt=Y(["\n border-color: ",";\n "])),v.palette.red.light1)),wt),ba=(B(Et={},g.Theme.Light,c.css(Ct||(Ct=Y(["\n &:focus-within {\n border-color: transparent;\n box-shadow: ",";\n }\n "])),y.focusRing[g.Theme.Light].input)),B(Et,g.Theme.Dark,c.css(St||(St=Y(["\n &:focus-within {\n border-color: transparent;\n box-shadow: ",";\n }\n "])),y.focusRing[g.Theme.Dark].input)),Et),ya=c.css(Tt||(Tt=Y(["\n display: flex;\n align-items: center;\n"]))),va=(B(Mt={},oe.XSmall,c.css(Lt||(Lt=Y(["\n gap: ","px;\n "])),y.spacing[1])),B(Mt,oe.Small,c.css(Nt||(Nt=Y(["\n gap: ","px;\n "])),y.spacing[2])),B(Mt,oe.Default,c.css(Ot||(Ot=Y(["\n gap: ","px;\n "])),y.spacing[2])),B(Mt,oe.Large,c.css(Dt||(Dt=Y(["\n gap: ","px;\n "])),y.spacing[2])),Mt),xa=function(e){var n=e.overflow,t=e.size,a=c.css(It||(It=Y(["\n flex-grow: 1;\n width: 100%;\n "])));switch(n){case se.scrollX:return c.css(jt||(jt=Y(["\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 "])),a,ia(t),Ne);case se.expandY:return c.css(zt||(zt=Y(["\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 "])),a,4,ia(t),3*ia(t),4)}},ka=c.css(qt||(qt=Y(["\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"])),y.fontFamilies.default,y.spacing[1]),wa=(B(Ft={},g.Theme.Light,c.css(Rt||(Rt=Y(["\n &::placeholder {\n color: ",";\n }\n "])),v.palette.gray.dark1)),B(Ft,g.Theme.Dark,c.css(At||(At=Y(["\n &::placeholder {\n color: ",";\n }\n "])),v.palette.gray.light1)),Ft),Ca=(B(Xt={},g.Theme.Light,c.css(Pt||(Pt=Y(["\n &::placeholder {\n color: ",";\n }\n "])),v.palette.gray.dark1)),B(Xt,g.Theme.Dark,c.css(Wt||(Wt=Y(["\n &::placeholder {\n color: ",";\n }\n "])),v.palette.gray.dark1)),Xt),Sa=function(e){return c.css(Gt||(Gt=Y(["\n height: ","px;\n font-size: ","px;\n line-height: ","px;\n min-width: ","px;\n"])),ia(e),De[e],Oe[e],De[e])},Ea=function(e){return c.css(Vt||(Vt=Y(["\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")},Ta=function(e,n){var t,a=null!==(t=null==n?void 0:n.length)&&void 0!==t?t:0;return c.css(Ht||(Ht=Y(["\n width: ","px;\n max-width: 100%;\n "])),a*De[e])},La=c.css(Zt||(Zt=Y(["\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"])),ca/2),Na=c.css(Bt||(Bt=Y(["\n height: ","px;\n width: ","px;\n"])),ca,ca),Oa=(B(Yt={},g.Theme.Light,c.css(Kt||(Kt=Y(["\n color: ",";\n "])),v.palette.red.base)),B(Yt,g.Theme.Dark,c.css(Ut||(Ut=Y(["\n color: ",";\n "])),v.palette.red.light1)),Yt),Da=function(e){return c.css($t||($t=Y(["\n font-size: ","px;\n line-height: ","px;\n padding-top: ","px;\n"])),De[e],Oe[e],ua[e].y)},Ma=c.css(Jt||(Jt=Y(["\n margin-bottom: ","px;\n display: flex;\n flex-direction: column;\n"])),y.spacing[1]),Ia=c.css(Qt||(Qt=Y(["\n font-size: ","px;\n line-height: ","px;\n"])),y.typeScales.large.fontSize,y.typeScales.large.lineHeight),ja=(B(na={},g.Theme.Light,c.css(_t||(_t=Y(["\n ::after {\n box-shadow: 0px 0px 7px 5px ",";\n }\n "])),k.transparentize(.85,v.palette.black))),B(na,g.Theme.Dark,c.css(ea||(ea=Y(["\n ::after {\n width: 95%;\n box-shadow: 0px -7px 12px 5px rgb(0 0 0 / 50%);\n }\n "])))),na),za=(B(ta={},g.Theme.Light,v.palette.red.base),B(ta,g.Theme.Dark,v.palette.red.light1),ta),qa=(B(aa={},g.Theme.Light,v.palette.gray.dark2),B(aa,g.Theme.Dark,v.palette.gray.light1),aa),Ra=(B(ra={},g.Theme.Light,v.palette.gray.base),B(ra,g.Theme.Dark,v.palette.gray.dark1),ra),Aa=["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"],Fa=["className","glyph","disabled"];function Pa(e){var t,a,r,l=e.children,i=e.label,o=e.description,s=e.placeholder,u=void 0===s?"Select":s,f=e["aria-label"],p=e.disabled,b=void 0!==p&&p,y=e.size,v=void 0===y?oe.Default:y,x=e.darkMode,k=e.state,w=void 0===k?"none":k,C=e.errorMessage,S=e.searchState,E=void 0===S?"unset":S,T=e.searchEmptyMessage,q=void 0===T?"No results found":T,P=e.searchErrorMessage,W=void 0===P?"Could not get results!":P,X=e.searchLoadingMessage,G=void 0===X?"Loading results...":X,V=e.filteredOptions,Y=e.onFilter,J=e.clearable,Q=void 0===J||J,_=e.onClear,ce=e.overflow,de=void 0===ce?se.expandY:ce,fe=e.multiselect,pe=void 0!==fe&&fe,he=e.initialValue,ge=e.inputValue,me=e.onInputChange,be=e.onChange,ye=e.value,ve=e.chipTruncationLocation,xe=e.chipCharacterLimit,ke=void 0===xe?12:xe,we=e.className,Ce=e.usePortal,Se=void 0===Ce||Ce,Ee=e.portalClassName,Te=e.portalContainer,Ne=e.scrollContainer,Oe=e.popoverZIndex,De=U(e,Aa),Me=h.useDarkMode(x),Ie=Me.darkMode,ze=Me.theme,qe=d.useDynamicRefs({prefix:"option"}),Re=d.useDynamicRefs({prefix:"chip"}),Ae=d.useIdAllocator({prefix:"combobox-input"}),Fe=d.useIdAllocator({prefix:"combobox-label"}),Pe=d.useIdAllocator({prefix:"combobox-menu"}),We=n.useRef(null),Xe=n.useRef(null),Ge=n.useRef(null),Ve=n.useRef(null),He=n.useRef(null),Ze=$(n.useState(!1),2),Be=Ze[0],Ke=Ze[1],Ue=d.usePrevious(Be),Ye=$(n.useState(null),2),$e=Ye[0],Je=Ye[1],Qe=$(n.useState(null),2),_e=Qe[0],nn=Qe[1],tn=d.usePrevious(_e),an=$(n.useState(null!=ge?ge:""),2),rn=an[0],ln=an[1];n.useEffect((function(){z.default(ge)||ln(ge)}),[ge]);var on=function(e){ln(e)},sn=d.usePrevious(rn),un=$(n.useState(null),2),cn=un[0],dn=un[1],fn=$(n.useState(!1),2),pn=fn[0],hn=fn[1],gn=pe&&D.default(_e)&&_e.length>0?void 0:u,mn=function(){return Ke(!1)},yn=function(){return Ke(!0)},vn=n.useMemo((function(){return Bn(l)}),[l]),xn=n.useCallback((function(e){return!pe||"string"!=typeof e&&"number"!=typeof e?!pe&&D.default(e)&&g.consoleOnce.error("Error in Combobox: multiselect is set to `false`, but received an Array value"):g.consoleOnce.error("Error in Combobox: multiselect is set to `true`, but received a ".concat(Z(e),' value: "').concat(e,'"')),pe&&D.default(e)}),[pe]),kn=n.useCallback((function(e){!b&&Ve&&Ve.current&&(Ve.current.focus(),z.default(e)||Ve.current.setSelectionRange(e,e))}),[b]),wn=n.useCallback((function(e){if(xn(_e)){var n=N.default(_e),t=be,a={diffType:"delete",value:null!=e?e:_e};I.default(e)?n.length=0:_e.includes(e)?n.splice(n.indexOf(e),1):(n.push(e),a.diffType="insert",on("")),nn(n),null==t||t(n,a)}else{var r=e,l=be;nn(r),null==l||l(r)}}),[xn,be,_e]),Cn=n.useCallback((function(e){var n,t,a,r;return function(e,n){return Array.isArray(n)?n.includes(e):e===n}((t=vn,(n=e)?null!==(a=null===(r=t.find((function(e){return e.displayName===n})))||void 0===r?void 0:r.value)&&void 0!==a?a:n:""),_e)}),[vn,_e]),Sn=n.useCallback((function(e){var n="string"==typeof e?e:e.value;return V&&V.length>0?V.includes(n):!!Cn(rn)||("string"==typeof e?Un(n,vn):e.displayName).toLowerCase().includes(rn.toLowerCase())}),[V,Cn,rn,vn]),En=n.useMemo((function(){return vn.filter(Sn)}),[vn,Sn]),Tn=n.useCallback((function(e){return!!e&&!!vn.find((function(n){return n.value===e}))}),[vn]),Ln=n.useCallback((function(e){return En?En.findIndex((function(n){return n.value===e})):-1}),[En]),Nn=n.useCallback((function(e){if(En&&En.length>=e){var n=En[e];return n?n.value:void 0}}),[En]),On=n.useCallback((function(){return xn(_e)?_e.findIndex((function(e){var n,t;return null===(n=Re(e))||void 0===n||null===(t=n.current)||void 0===t?void 0:t.contains(document.activeElement)})):-1}),[Re,xn,_e]),Dn=$(n.useState(),2),Mn=Dn[0],In=Dn[1],jn=n.useCallback((function(e){var n,t=null!==(n=null==En?void 0:En.length)&&void 0!==n?n:0,a=t-1>0?t-1:0,r=Ln($e);switch(e&&Be&&(dn(null),kn()),e){case"next":var l=Nn(r+1<t?r+1:0);Je(null!=l?l:null);break;case"prev":var i=Nn(r-1>=0?r-1:a);Je(null!=i?i:null);break;case"last":var o=Nn(a);Je(null!=o?o:null);break;default:var s=Nn(0);Je(null!=s?s:null)}}),[$e,Ln,Nn,Be,kn,null==En?void 0:En.length]),zn=n.useCallback((function(e,n){if(xn(_e))switch(e){case"next":var t=null!=n?n:On(),a=t+1<_e.length?t+1:_e.length-1,r=_e[a];dn(r);break;case"prev":var l=null!=n?n:On(),i=l>0?l-1:l<0?_e.length-1:0,o=_e[i];dn(o);break;case"first":var s=_e[0];dn(s);break;case"last":var u=_e[_e.length-1];dn(u);break;default:dn(null)}}),[On,xn,_e]),qn=n.useCallback((function(e,n){switch(e&&Je(null),e){case"right":switch(Mn){case ee:var t,a,r;if((null===(t=Ve.current)||void 0===t?void 0:t.selectionEnd)===(null===(a=Ve.current)||void 0===a?void 0:a.value.length))null===(r=Xe.current)||void 0===r||r.focus();break;case te:case re:case ae:if(Mn===ae||1===(null==_e?void 0:_e.length)){kn(0),zn(null),n.preventDefault();break}zn("next")}break;case"left":switch(Mn){case ne:var l;n.preventDefault(),kn(null==Ve||null===(l=Ve.current)||void 0===l?void 0:l.value.length);break;case ee:case re:case ae:if(xn(_e)){var i;if(Mn===ee&&0!==(null===(i=Ve.current)||void 0===i?void 0:i.selectionStart))break;zn("prev")}}break;default:zn(null)}}),[Mn,xn,_e,kn,zn]);n.useEffect((function(){rn!==sn&&jn("first")}),[rn,Be,sn,jn]),d.useAutoScroll($e?qe($e):void 0,He);var Rn=n.useCallback((function(e){if(g.isComponentType(e,"ComboboxOption")){var n=Zn(e.props),t=n.value,a=n.displayName;if(Sn(t)){var r=e.props,l=r.className,i=r.glyph,o=r.disabled,s=U(r,Fa),u=vn.findIndex((function(e){return e.value===t})),c=$e===t,d=xn(_e)?_e.includes(t):_e===t,f=qe(t);return L.default.createElement(ot,K({},s,{value:t,displayName:a,isFocused:c,isSelected:d,disabled:o,setSelected:function(){Je(t),wn(t),kn(),t===_e&&mn()},glyph:i,className:l,index:u,ref:f}))}}else if(g.isComponentType(e,"ComboboxGroup")){var p=L.default.Children.map(e.props.children,Rn);if(p&&(null==p?void 0:p.length)>0)return L.default.createElement(en,{label:e.props.label,className:e.props.className},L.default.Children.map(p,Rn))}}),[vn,qe,$e,xn,_e,kn,Sn,wn]),An=n.useMemo((function(){return L.default.Children.map(l,Rn)}),[l,Rn]),Fn=n.useMemo((function(){if(xn(_e))return _e.filter(Tn).map((function(e,n){var t=Un(e,vn),a=cn===e,r=Re(e),l=n>=_e.length-1;return L.default.createElement(je,{key:e,displayName:t,isFocused:a,onRemove:function(){l?(kn(),zn(null)):zn("next",n),wn(e)},onFocus:function(){dn(e)},ref:r})}))}),[xn,_e,Tn,vn,cn,Re,wn,kn,zn]),Pn=n.useMemo((function(){return vn.some((function(e){return e.hasGlyph}))}),[vn]),Wn=n.useCallback((function(){var e=En.find((function(e){return e.displayName===rn||e.value===rn}));if(!ye&&e)wn(e.value);else if(!xn(_e)){var n,t=null!==(n=Un(_e,vn))&&void 0!==n?n:tn;on(t)}}),[vn,rn,xn,tn,_e,wn,ye,En]),Xn=n.useCallback((function(){if(la(_e)){if(xn(_e))nt(de);else if(!xn(_e)){var e,n=null!==(e=Un(_e,vn))&&void 0!==e?e:"";on(n),mn()}}else on("")}),[vn,xn,_e,de]);n.useEffect((function(){if(he)if(D.default(he)){var e,n=null!==(e=he.filter((function(e){return Tn(e)})))&&void 0!==e?e:[];nn(n)}else Tn(he)&&nn(he);else nn(function(e){return e?[]:null}(pe))}),[]),n.useEffect((function(){if(!z.default(ye)&&ye!==sn)if(I.default(ye))nn(null);else if(xn(ye)){var e=ye.filter(Tn);nn(e)}else nn(Tn(ye)?ye:null)}),[xn,Tn,sn,ye]),n.useEffect((function(){!z.default(tn)&&(D.default(_e)&&!I.default(tn)||j.default(_e)||I.default(_e))&&!M.default(_e,tn)&&Xn()}),[Xn,tn,_e]),n.useEffect((function(){!Be&&Ue&&Wn()}),[Be,Ue,Wn]);var Gn=$(n.useState(0),2),Vn=Gn[0],Yn=Gn[1];n.useEffect((function(){var e,n;Yn(null!==(e=null===(n=We.current)||void 0===n?void 0:n.clientWidth)&&void 0!==e?e:0)}),[We,Be,$e,_e]);d.useBackdropClick(mn,[He,We],Be);var $n=xn(_e)&&!!_e.length,Jn=O.default((function(e){hn(Hn(e.target))}),50,{leading:!0}),Qn=n.useCallback((function(e){de===se.expandY&&Jn(e)}),[Jn,de]);n.useEffect((function(){Ge.current&&hn(Hn(Ge.current))}),[]);var _n,et=H({popoverZIndex:Oe},Se?{usePortal:Se,portalClassName:Ee,portalContainer:Te,scrollContainer:Ne}:{usePortal:Se});return L.default.createElement(F.default,{darkMode:Ie},L.default.createElement(Le.Provider,{value:{multiselect:pe,size:v,withIcons:Pn,disabled:b,isOpen:Be,state:w,searchState:E,chipTruncationLocation:ve,chipCharacterLimit:ke,inputValue:rn,overflow:de,popoverZIndex:Oe}},L.default.createElement("div",K({className:c.cx(da(v),we)},De),(i||o)&&L.default.createElement("div",{className:Ma},i&&L.default.createElement(m.Label,{id:Fe,htmlFor:Ae,darkMode:Ie,disabled:b,className:c.cx(B({},Ia,v===oe.Large))},i),o&&L.default.createElement(m.Description,{darkMode:Ie,disabled:b,className:c.cx(B({},Ia,v===oe.Large))},o)),L.default.createElement("div",{ref:We,role:"combobox","aria-expanded":Be,"aria-controls":Pe,"aria-owns":Pe,tabIndex:-1,onMouseDown:function(e){b&&e.preventDefault()},onClick:function(e){if(e.target!==Ve.current){var n=0;if(Ve.current)n=e.nativeEvent.offsetX>Ve.current.offsetLeft+Ve.current.clientWidth?rn.length:0;kn(n)}yn()},onFocus:function(e){nt(de),In(function(e){var n,t,a,r;if(!e)return;if(null!==(n=Ve.current)&&void 0!==n&&n.contains(e))return ee;if(null!==(t=Xe.current)&&void 0!==t&&t.contains(e))return ne;var l=xn(_e)?_e.findIndex((function(n){var t,a;return null===(t=Re(n))||void 0===t||null===(a=t.current)||void 0===a?void 0:a.contains(e)})):-1;if(xn(_e)){if(0===l)return te;if(l===_e.length-1)return ae;if(l>0)return re}if(null!==(a=He.current)&&void 0!==a&&a.contains(e))return ie;if(null!==(r=We.current)&&void 0!==r&&r.contains(e))return le}(e.target))},onKeyDown:function(e){var n,t,a=null===(n=He.current)||void 0===n?void 0:n.contains(document.activeElement);if((null===(t=We.current)||void 0===t?void 0:t.contains(document.activeElement))||a){if(e.ctrlKey||e.shiftKey||e.altKey)return;switch(e.key){case g.keyMap.Tab:switch(Mn){case"Input":la(_e)||(mn(),jn("first"),zn(null));break;case"LastChip":zn(null)}break;case g.keyMap.Escape:mn(),jn("first");break;case g.keyMap.Enter:Be?!Be||Mn!==ee||I.default($e)||function(e){if("string"==typeof e){var n=Kn(e,vn);return!(null==n||!n.isDisabled)}return!!e.isDisabled}($e)?Mn===ne&&(wn(null),kn()):wn($e):yn();break;case g.keyMap.Backspace:var r;if(xn(_e))"Input"===Mn&&0===(null===(r=Ve.current)||void 0===r?void 0:r.selectionStart)&&zn("last");yn();break;case g.keyMap.ArrowDown:Be?(e.preventDefault(),jn("next")):yn();break;case g.keyMap.ArrowUp:Be?(e.preventDefault(),jn("prev")):yn();break;case g.keyMap.ArrowRight:qn("right",e);break;case g.keyMap.ArrowLeft:qn("left",e);break;default:Be||yn()}}},onTransitionEnd:function(){var e,n;Yn(null!==(e=null===(n=We.current)||void 0===n?void 0:n.clientWidth)&&void 0!==e?e:0)},className:c.cx(fa,pa[ze],ha(v,$n),(t={},B(t,ga[ze],b),B(t,ma[ze],w===ue.error),B(t,ba[ze],(_n=ee,_n===Mn)),B(t,ja[ze],pn),t))},L.default.createElement("div",{onScroll:Qn,ref:Ge,className:xa({size:v,overflow:de})},Fn,L.default.createElement("input",{"aria-label":null!=f?f:i,"aria-autocomplete":"list","aria-controls":Pe,"aria-labelledby":Fe,ref:Ve,id:Ae,className:c.cx(ka,Sa(v),wa[ze],Ea(Be),(a={},B(a,Ta(v,rn),xn(_e)),B(a,Ca[ze],b),a)),placeholder:gn,disabled:null!=b?b:void 0,onChange:function(e){on(e.target.value),null==Y||Y(e.target.value),null==me||me(e)},value:rn,autoComplete:"off"})),L.default.createElement("div",{className:c.cx(ya,va[v])},"error"===w&&L.default.createElement(R.default,{glyph:"Warning",fill:za[ze],className:Na}),Q&&la(_e)&&!b&&L.default.createElement(A.default,{"aria-label":"Clear selection","aria-disabled":b,disabled:b,ref:Xe,onClick:function(e){b||(e.stopPropagation(),wn(null),null==_||_(e),null==Y||Y(""),kn())},onFocus:function(){Je(null)},className:c.cx(La),darkMode:Ie},L.default.createElement(R.default,{glyph:"XWithCircle"})),L.default.createElement(R.default,{glyph:"CaretDown",className:Na,fill:c.cx((r={},B(r,qa[ze],!b),B(r,Ra[ze],b),r))}))),"error"===w&&C&&L.default.createElement("div",{className:c.cx(Oa[ze],Da(v))},C),L.default.createElement(bn,K({id:Pe,labelId:Fe,refEl:We,ref:He,menuWidth:Vn,searchLoadingMessage:G,searchErrorMessage:W,searchEmptyMessage:q},et),An))));function nt(e){Ge&&Ge.current&&(e===se.scrollX&&(Ge.current.scrollLeft=Ge.current.scrollWidth),e===se.expandY&&(Ge.current.scrollTop=Ge.current.scrollHeight))}}Pa.propTypes={multiselect:q.default.bool,value:q.default.oneOfType([q.default.string,q.default.arrayOf(q.default.string)]),initialValue:q.default.oneOfType([q.default.string,q.default.arrayOf(q.default.string)]),overflow:q.default.oneOf(Object.values(se)),darkMode:q.default.bool,label:q.default.string,"aria-label":q.default.string,children:q.default.node,onChange:q.default.func,chipCharacterLimit:q.default.number,chipTruncationLocation:q.default.oneOf(Object.values(b.TruncationLocation)),onClear:q.default.func,onFilter:q.default.func,clearable:q.default.bool,searchLoadingMessage:q.default.string,searchErrorMessage:q.default.string,searchEmptyMessage:q.default.string,searchState:q.default.oneOf(Object.values(ce)),errorMessage:q.default.string,state:q.default.oneOf(Object.values(ue)),size:q.default.oneOf(Object.values(oe)),disabled:q.default.bool,description:q.default.string,placeholder:q.default.string,filteredOptions:q.default.arrayOf(q.default.string),popoverZIndex:q.default.number,usePortal:q.default.bool,scrollContainer:q.default.elementType,portalContainer:q.default.elementType,portalClassName:q.default.string},e.Combobox=Pa,e.ComboboxGroup=nn,e.ComboboxOption=st}));
|
|
2
2
|
//# sourceMappingURL=index.js.map
|