@leafygreen-ui/combobox 2.0.1 → 2.0.2

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,22 @@
1
1
  # @leafygreen-ui/combobox
2
2
 
3
+ ## 2.0.2
4
+
5
+ ### Patch Changes
6
+
7
+ - bf320048: Updates the highlighting function (wrapJSX) to ensure all values are accepted, including regex special characters
8
+ - bf320048: Adds missing `leafygreen-provider` as a peer dependency
9
+ - Updated dependencies [65c86281]
10
+ - Updated dependencies [4ad8cbc0]
11
+ - Updated dependencies [9cb53590]
12
+ - Updated dependencies [bac1e809]
13
+ - Updated dependencies [bac1e809]
14
+ - Updated dependencies [9dafe83a]
15
+ - @leafygreen-ui/icon-button@13.1.0
16
+ - @leafygreen-ui/tooltip@7.1.0
17
+ - @leafygreen-ui/typography@13.1.0
18
+ - @leafygreen-ui/checkbox@10.0.0
19
+
3
20
  ## 2.0.1
4
21
 
5
22
  ### Patch Changes
package/dist/esm/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import n from"lodash/clone";import e from"lodash/isArray";import r from"lodash/isEqual";import o from"lodash/isNull";import t from"lodash/isString";import i from"lodash/isUndefined";import a,{createContext as l,useContext as c,useCallback as s,useMemo as u,useRef as d,useEffect as p,useState as f}from"react";import{Label as h,Description as b}from"@leafygreen-ui/typography";import{useIdAllocator as g,useForwardedRef as m,useAvailableSpace as v,useDynamicRefs as y,usePrevious as x,useEventListener as w}from"@leafygreen-ui/hooks";import k,{isComponentGlyph as C}from"@leafygreen-ui/icon";import N from"@leafygreen-ui/icon-button";import{css as O,cx as S,keyframes as z}from"@leafygreen-ui/emotion";import{palette as M}from"@leafygreen-ui/palette";import{isComponentType as E,createUniqueClassName as j,keyMap as I,consoleOnce as D}from"@leafygreen-ui/lib";import{jsx as P}from"@emotion/react";import L from"lodash/kebabCase";import A from"@leafygreen-ui/checkbox";import{typeScales as F,spacing as T,fontFamilies as H,hoverRing as R,focusRing as W}from"@leafygreen-ui/tokens";import{transparentize as G}from"polished";import K from"@leafygreen-ui/inline-definition";import U from"@leafygreen-ui/popover";function V(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(n);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.push.apply(r,o)}return r}function B(n){return B="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},B(n)}function X(n,e,r){return e in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function Z(){return Z=Object.assign||function(n){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[o]=r[o])}return n},Z.apply(this,arguments)}function q(n,e){if(null==n)return{};var r,o,t=function(n,e){if(null==n)return{};var r,o,t={},i=Object.keys(n);for(o=0;o<i.length;o++)r=i[o],e.indexOf(r)>=0||(t[r]=n[r]);return t}(n,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);for(o=0;o<i.length;o++)r=i[o],e.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function Y(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function $(n,e){return function(n){if(Array.isArray(n))return n}(n)||function(n,e){var r=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null==r)return;var o,t,i=[],a=!0,l=!1;try{for(r=r.call(n);!(a=(o=r.next()).done)&&(i.push(o.value),!e||i.length!==e);a=!0);}catch(n){l=!0,t=n}finally{try{a||null==r.return||r.return()}finally{if(l)throw t}}return i}(n,e)||Q(n,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function J(n){return function(n){if(Array.isArray(n))return _(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||Q(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Q(n,e){if(n){if("string"==typeof n)return _(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_(n,e):void 0}}function _(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,o=new Array(e);r<e;r++)o[r]=n[r];return o}var nn="dark",en="light",rn="Input",on="ClearButton",tn="FirstChip",an="LastChip",ln="MiddleChip",cn="Combobox",sn="Menu",un="default",dn="large",pn="expand-y",fn="expand-x",hn="scroll-x",bn="error";var gn,mn,vn,yn,xn,wn,kn,Cn,Nn,On,Sn,zn,Mn,En,jn,In,Dn,Pn,Ln,An,Fn,Tn,Hn,Rn,Wn,Gn,Kn,Un,Vn,Bn,Xn,Zn,qn,Yn=function(n,e,r){if(e&&r){var o=new RegExp(e,"gi"),t=n.matchAll(o);if(t){for(var i=n.split(""),l=0,c=Array.from(t);l<c.length;l++){var s,u=c[l],d=null!==(s=u.index)&&void 0!==s?s:-1,p=u[0],f=p.length,h=d+p+f,b=new Array(f).fill("");b[0]=a.createElement(r,{key:h},p),i.splice.apply(i,[d,f].concat(J(b)))}return P(a.Fragment,null,i)}return P(a.Fragment,null,n)}return P(a.Fragment,null,n)},$n=function(n){var e,r=n.value,o=n.displayName;return{value:null!=r?r:L(o),displayName:null!==(e=null!=o?o:r)&&void 0!==e?e:""}},Jn=function(n,e){if(n)return e.find((function(e){return e.value===n}))},Qn=function(n,e){var r,o;return n?null!==(r=null===(o=Jn(n,e))||void 0===o?void 0:o.displayName)&&void 0!==r?r:n:""},_n=function n(e){return a.Children.toArray(e).reduce((function(e,r){if(E(r,"ComboboxOption")){var o=$n(r.props),t=o.value,i=o.displayName,a=r.props,l=a.glyph,c=a.disabled;return[].concat(J(e),[{value:t,displayName:i,isDisabled:!!c,hasGlyph:!!l}])}if(E(r,"ComboboxGroup")){var s=r.props.children;if(s)return[].concat(J(e),J(n(s)))}}),[])},ne=l({multiselect:!1,darkMode:!1,size:un,withIcons:!1,disabled:!1,isOpen:!1,state:"none",searchState:"unset"}),ee=function(n){return n?nn:en},re=(X(vn={},en,O(gn||(gn=Y(["\n padding-top: 8px;\n "])))),X(vn,nn,O(mn||(mn=Y(["\n padding-top: 8px;\n "])))),vn),oe=O(yn||(yn=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: bold;\n text-transform: uppercase;\n letter-spacing: 0.4px;\n"]))),te=(X(kn={},en,O(xn||(xn=Y(["\n color: ",";\n "])),M.gray.dark1)),X(kn,nn,O(wn||(wn=Y(["\n color: ",";\n "])),M.gray.light1)),kn);function ie(n){var e=n.label,r=n.className,o=n.children,t=c(ne).darkMode,i=ee(t),l=g({prefix:"combobox-group"});return a.Children.count(o)>0?P("div",{className:S(re[i],r)},P("div",{className:S(oe,te[i]),id:l},e),P("div",{role:"group","aria-labelledby":l},o)):P(a.Fragment,null)}function ae(n){throw Error("`ComboboxGroup` must be a child of a `Combobox` instance")}ae.displayName="ComboboxGroup";var le=(X(Cn={},un,{x:12,y:8}),X(Cn,dn,{x:12,y:8}),Cn),ce=(X(Nn={},un,F.body1.lineHeight+2*le[un].y),X(Nn,dn,F.body2.lineHeight+2*le[dn].y),Nn),se=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:384;return O(On||(On=Y(["\n width: ","px;\n overflow: hidden;\n border-radius: 12px;\n border: 1px solid;\n"])),n)},ue=(X(Mn={},en,O(Sn||(Sn=Y(["\n box-shadow: 0px 4px 7px ",";\n border-color: ",";\n "])),G(.85,M.black),M.gray.light2)),X(Mn,nn,O(zn||(zn=Y(["\n box-shadow: 0px 4px 7px ",";\n border-color: ",";\n "])),G(.85,M.black),M.gray.dark3)),Mn),de=O(En||(En=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"])),T[2],H.default),pe=(X(Dn={},en,O(jn||(jn=Y(["\n color: ",";\n background-color: ",";\n "])),M.black,M.white)),X(Dn,nn,O(In||(In=Y(["\n color: ",";\n background-color: ",";\n "])),M.gray.light1,M.gray.dark3)),Dn);X(An={},un,O(Pn||(Pn=Y(["\n min-height: ","px;\n "])),ce[un])),X(An,dn,O(Ln||(Ln=Y(["\n min-height: ","px;\n "])),ce[dn]));var fe=O(Fn||(Fn=Y(["\n position: relative;\n margin: 0;\n padding: 0;\n"]))),he=O(Tn||(Tn=Y(["\n font-family: inherit;\n display: inline-flex;\n align-items: center;\n gap: 8px;\n"]))),be=(X(Wn={},en,O(Hn||(Hn=Y(["\n color: ",";\n "])),M.gray.dark3)),X(Wn,nn,O(Rn||(Rn=Y(["\n color: ",";\n "])),M.gray.light3)),Wn),ge=(X(Un={},un,O(Gn||(Gn=Y(["\n font-size: ","px;\n line-height: ","px;\n padding: ","px\n ","px;\n "])),F.body1.fontSize,F.body1.lineHeight,le[un].y,le[un].x)),X(Un,dn,O(Kn||(Kn=Y(["\n font-size: ","px;\n line-height: ","px;\n padding: ","px\n ","px;\n "])),F.body2.fontSize,F.body2.lineHeight,le[dn].y,le[dn].x)),Un);X(Xn={},un,O(Vn||(Vn=Y(["\n height: ","px;\n width: ","px;\n "])),F.body1.fontSize,F.body1.fontSize)),X(Xn,dn,O(Bn||(Bn=Y(["\n height: ","px;\n width: ","px;\n "])),F.body2.fontSize,F.body2.fontSize));var me,ve,ye,xe,we,ke,Ce,Ne,Oe,Se,ze,Me,Ee,je,Ie,De,Pe,Le,Ae,Fe,Te,He,Re,We,Ge,Ke,Ue,Ve,Be,Xe,Ze,qe,Ye,$e,Je,Qe,_e,nr,er,rr,or,tr,ir,ar,lr,cr,sr,ur,dr,pr,fr,hr,br,gr,mr,vr,yr,xr,wr,kr,Cr,Nr,Or,Sr,zr,Mr,Er=z(Zn||(Zn=Y(["\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n"]))),jr=O(qn||(qn=Y(["\n animation: "," 1.5s linear infinite;\n"])),Er),Ir=O(me||(me=Y(["\n position: relative;\n display: flex;\n align-items: center;\n justify-content: space-between;\n list-style: none;\n color: inherit;\n cursor: pointer;\n overflow: hidden;\n font-family: ",";\n\n // Left wedge\n &:before {\n content: '';\n position: absolute;\n left: 0;\n width: 4px;\n height: calc(100% - 14px);\n background-color: rgba(255, 255, 255, 0);\n border-radius: 0 6px 6px 0;\n transform: scale3d(0, 0.3, 0);\n transition: 200ms ease-in-out;\n transition-property: transform, background-color;\n }\n"])),H.default),Dr=(X(xe={},en,O(ve||(ve=Y(["\n &:hover {\n outline: none;\n background-color: ",";\n }\n "])),M.gray.light2)),X(xe,nn,O(ye||(ye=Y(["\n &:hover {\n outline: none;\n background-color: ",";\n }\n "])),M.gray.dark4)),xe),Pr=(X(Ce={},un,O(we||(we=Y(["\n font-size: ","px;\n line-height: ","px;\n min-height: ","px;\n padding: ","px\n ","px;\n gap: ","px;\n\n &:before {\n max-height: ","px;\n }\n "])),F.body1.fontSize,F.body1.lineHeight,ce[un],le[un].y,le[un].x,T[1],ce[un])),X(Ce,dn,O(ke||(ke=Y(["\n font-size: ","px;\n line-height: ","px;\n min-height: ","px;\n padding: ","px\n ","px;\n gap: ","px;\n\n &:before {\n max-height: ","px;\n }\n "])),F.body2.fontSize,F.body2.lineHeight,ce[dn],le[dn].y,le[dn].x,T[2],ce[dn])),Ce),Lr=O(Ne||(Ne=Y(["\n outline: none;\n\n &:before {\n transform: scaleY(1);\n }\n"]))),Ar=(X(ze={},en,O(Oe||(Oe=Y(["\n ",";\n background-color: ",";\n\n &:before {\n background-color: ",";\n }\n "])),Lr,M.blue.light3,M.blue.base)),X(ze,nn,O(Se||(Se=Y(["\n ",";\n background-color: ",";\n\n &:before {\n background-color: ",";\n }\n "])),Lr,M.blue.dark3,M.blue.light1)),ze),Fr=O(Me||(Me=Y(["\n cursor: not-allowed;\n\n &:hover {\n background-color: inherit;\n }\n\n &:before {\n content: unset;\n }\n"]))),Tr=(X(Ie={},en,O(Ee||(Ee=Y(["\n ",";\n color: ",";\n "])),Fr,M.gray.light1)),X(Ie,nn,O(je||(je=Y(["\n ",";\n color: ",";\n "])),Fr,M.gray.dark1)),Ie),Hr=(X(Le={},un,O(De||(De=Y(["\n min-width: ","px;\n "])),T[3])),X(Le,dn,O(Pe||(Pe=Y(["\n min-width: ","px;\n "])),T[4])),Le),Rr=O(Ae||(Ae=Y(["\n display: inline-flex;\n gap: 8px;\n justify-content: start;\n align-items: inherit;\n overflow-wrap: anywhere;\n"]))),Wr=O(Fe||(Fe=Y(["\n pointer-events: none;\n"]))),Gr=function(n){return O(Te||(Te=Y(["\n font-weight: ",";\n"])),n?"bold":"normal")},Kr=a.forwardRef((function(n,e){var r,o=n.displayName,t=n.glyph,i=n.isSelected,l=n.isFocused,d=n.disabled,p=n.setSelected,f=n.className,h=c(ne),b=h.multiselect,v=h.darkMode,y=h.withIcons,x=h.inputValue,w=h.size,N=ee(v),z=g({prefix:"combobox-option-text"}),j=m(e,null),I=s((function(n){n.stopPropagation(),d||n.target!==j.current&&"INPUT"!==n.target.tagName||p()}),[d,j,p]),D=u((function(){if(t){if(C(t)||E(t,"Icon"))return t;console.error("`ComboboxOption` instance did not render icon because it is not a known glyph element.",t)}}),[t]),L=u((function(){if(b){var n=P(A,{"aria-labelledby":z,checked:i,tabIndex:-1,disabled:d,darkMode:v,className:O(He||(He=Y(["\n // TODO: Remove when this is resolved:\n // https://jira.mongodb.org/browse/PD-2171\n & > label > div {\n margin-top: 0;\n }\n "])))});return P(a.Fragment,null,P("span",{className:S(Rr,Wr)},y?D:n,P("span",{id:z,className:Gr(i)},Yn(o,x,"strong"))),y&&n)}return P(a.Fragment,null,P("span",{className:S(Rr,Wr)},D,P("span",{className:Gr(i)},Yn(o,x,"strong"))),i&&P(k,{glyph:"Checkmark",className:Hr[w],color:v?M.blue.light1:M.blue.base}))}),[b,D,i,o,x,w,v,z,d,y]);return P("li",{ref:j,role:"option","aria-selected":l,"aria-label":o,tabIndex:-1,className:S(Ir,Pr[w],Dr[N],(r={},X(r,Ar[N],l),X(r,Tr[N],d),r),f),onClick:I,onKeyDown:I},L)}));function Ur(n){throw Error("`ComboboxOption` must be a child of a `Combobox` instance")}Kr.displayName="ComboboxOption",Ur.displayName="ComboboxOption";var Vr,Br,Xr,Zr,qr,Yr,$r,Jr,Qr,_r,no,eo,ro,oo,to,io,ao,lo,co,so,uo,po=(X(Re={},un,F.body1.fontSize),X(Re,dn,F.body2.fontSize),Re),fo=(X(We={},un,2),X(We,dn,4),We),ho=(X(Ge={},un,F.body1.lineHeight+2*fo[un]),X(Ge,dn,F.body2.lineHeight+2*fo[dn]),Ge),bo=(X(Ke={},un,{y:(36-ho[un]-2)/2,x:T[2]-1}),X(Ke,dn,{y:(48-ho[dn]-2)/2,x:T[2]-1}),Ke),go=T[3],mo=(X(Ue={},un,po[un]+2*bo[un].x+go+2),X(Ue,dn,po[dn]+2*bo[dn].x+go+2),Ue),vo=j("combobox-chip"),yo=function(n,e){return S(O(Ve||(Ve=Y(["\n font-family: ",";\n width: 100%;\n min-width: ","px;\n "])),H.default,mo[n]),X({},O(Be||(Be=Y(["\n width: unset;\n "]))),e===fn))},xo=O(Xe||(Xe=Y(["\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n cursor: text;\n transition: 150ms ease-in-out;\n transition-property: background-color, box-shadow, border-color;\n border: 1px solid;\n width: inherit;\n border-radius: 6px;\n"]))),wo=(X(Ye={},en,O(Ze||(Ze=Y(["\n color: ",";\n background-color: ",";\n border-color: ",";\n\n &:hover {\n box-shadow: ",";\n }\n "])),M.gray.dark3,M.white,M.gray.base,R[en].gray)),X(Ye,nn,O(qe||(qe=Y(["\n color: ",";\n background-color: ",";\n border-color: ",";\n\n &:hover {\n box-shadow: ",";\n }\n "])),M.gray.light2,M.gray.dark4,M.gray.base,R[nn].gray)),Ye),ko=function(n){return O($e||($e=Y(["\n padding: ","px ","px;\n"])),bo[n].y,bo[n].x)},Co=(X(_e={},en,O(Je||(Je=Y(["\n cursor: not-allowed;\n color: ",";\n background-color: ",";\n border-color: ",";\n "])),M.gray.dark1,M.gray.light2,M.gray.light1)),X(_e,nn,O(Qe||(Qe=Y(["\n cursor: not-allowed;\n color: ",";\n background-color: ",";\n border-color: ",";\n "])),M.gray.dark1,M.gray.dark3,M.gray.dark2)),_e),No=(X(rr={},en,O(nr||(nr=Y(["\n border-color: ",";\n "])),M.red.base)),X(rr,nn,O(er||(er=Y(["\n border-color: ",";\n "])),M.red.light1)),rr),Oo=(X(ir={},en,O(or||(or=Y(["\n &:focus-within {\n border-color: transparent;\n background-color: ",";\n box-shadow: ",";\n }\n "])),M.white,W[en].input)),X(ir,nn,O(tr||(tr=Y(["\n &:focus-within {\n border-color: transparent;\n background-color: ",";\n box-shadow: ",";\n }\n "])),M.gray.dark4,W[nn].input)),ir),So=function(n){var e=n.overflow,r=n.size,o=O(ar||(ar=Y(["\n flex-grow: 1;\n width: inherit;\n "])));switch(e){case hn:return O(lr||(lr=Y(["\n ","\n display: block;\n height: ","px;\n padding-left: ","px;\n white-space: nowrap;\n overflow-x: scroll;\n scroll-behavior: smooth;\n scrollbar-width: none;\n\n &::-webkit-scrollbar {\n display: none;\n }\n\n & > ."," {\n margin-inline: 2px;\n\n &:first-child {\n margin-inline-start: 0;\n }\n\n &:last-child {\n margin-inline-end: 0;\n }\n }\n "])),o,ho[r],bo[r].x,vo);case fn:return O(cr||(cr=Y(["\n ","\n display: flex;\n gap: 4px;\n flex-wrap: nowrap;\n white-space: nowrap;\n height: ","px;\n "])),o,ho[r]);case pn:return O(sr||(sr=Y(["\n ","\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n overflow-x: visible;\n min-height: ","px;\n "])),o,ho[r])}},zo=O(ur||(ur=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\n &:placeholder-shown {\n min-width: 100%;\n }\n &:focus {\n outline: none;\n }\n"])),H.default),Mo=(X(fr={},en,O(dr||(dr=Y(["\n &::placeholder {\n color: ",";\n }\n "])),M.gray.dark1)),X(fr,nn,O(pr||(pr=Y(["\n &::placeholder {\n color: ",";\n }\n "])),M.gray.light1)),fr),Eo=(X(gr={},un,O(hr||(hr=Y(["\n height: ","px;\n font-size: ","px;\n line-height: ","px;\n min-width: ","px;\n padding-left: 4px;\n "])),ho[un],F.body1.fontSize,F.body1.lineHeight,po[un])),X(gr,dn,O(br||(br=Y(["\n height: ","px;\n font-size: ","px;\n line-height: ","px;\n min-width: ","px;\n padding-left: 6px;\n "])),ho[dn],F.body2.fontSize,F.body2.lineHeight,po[dn])),gr),jo=function(n,e){return S(X({},O(mr||(mr=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 "])),n?"0s":"100ms"),e!==fn))},Io=function(n,e){var r,o=null!==(r=null==e?void 0:e.length)&&void 0!==r?r:0;return O(vr||(vr=Y(["\n max-width: 100%;\n width: ","px;\n // TODO: This doesn't quite work. Fix this\n max-width: calc(100% - ","px);\n "])),o*po[n],2*go)},Do=function(n){return"object"===B(n)&&!o(n)&&n.length>0?O(yr||(yr=Y(["\n padding-left: 0px;\n "]))):""},Po=O(xr||(xr=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"])),go/2),Lo=function(n){return O(wr||(wr=Y(["\n height: ","px;\n width: ","px;\n margin-inline-end: calc(","px / 2);\n"])),go,go,bo[n].x)},Ao=(X(Nr={},en,O(kr||(kr=Y(["\n color: ",";\n "])),M.red.base)),X(Nr,nn,O(Cr||(Cr=Y(["\n color: ",";\n "])),M.red.light1)),Nr),Fo=(X(zr={},un,O(Or||(Or=Y(["\n font-size: ","px;\n line-height: ","px;\n padding-top: ","px;\n "])),F.body1.fontSize,F.body1.lineHeight,bo[un].y)),X(zr,dn,O(Sr||(Sr=Y(["\n font-size: ","px;\n line-height: ","px;\n padding-top: ","px;\n "])),F.body2.fontSize,F.body2.lineHeight,bo[dn].y)),zr),To=O(Mr||(Mr=Y(["\n margin-bottom: 2px;\n"]))),Ho=O(Vr||(Vr=Y(["\n display: inline-flex;\n align-items: center;\n overflow: hidden;\n white-space: nowrap;\n box-sizing: border-box;\n"]))),Ro=(X(Zr={},un,O(Br||(Br=Y(["\n font-size: ","px;\n line-height: ","px;\n border-radius: 4px;\n "])),F.body1.fontSize,F.body1.lineHeight)),X(Zr,dn,O(Xr||(Xr=Y(["\n font-size: ","px;\n line-height: ","px;\n border-radius: 4px;\n "])),F.body2.fontSize,F.body2.lineHeight)),Zr),Wo=(X($r={},en,O(qr||(qr=Y(["\n color: ",";\n background-color: ",";\n\n // TODO: - refine these styles with Design\n &:focus-within {\n background-color: ",";\n }\n "])),M.black,M.gray.light2,M.blue.light2)),X($r,nn,O(Yr||(Yr=Y(["\n color: ",";\n background-color: ",";\n\n &:focus-within {\n background-color: ",";\n }\n "])),M.gray.light2,M.gray.dark2,M.blue.dark2)),$r),Go=(X(_r={},en,O(Jr||(Jr=Y(["\n cursor: not-allowed;\n color: ",";\n background-color: ",";\n "])),M.gray.base,M.gray.light3)),X(_r,nn,O(Qr||(Qr=Y(["\n cursor: not-allowed;\n color: ",";\n background-color: ",";\n box-shadow: inset 0 0 1px 1px ","; ;\n "])),M.gray.dark2,M.gray.dark4,M.gray.dark2)),_r),Ko=(X(ro={},un,O(no||(no=Y(["\n padding-inline: 6px;\n padding-block: ","px;\n "])),fo[un])),X(ro,dn,O(eo||(eo=Y(["\n padding-inline: 10px;\n padding-block: ","px;\n "])),fo[dn])),ro),Uo=O(oo||(oo=Y(["\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n width: 100%;\n outline: none;\n border: none;\n background-color: transparent;\n cursor: pointer;\n transition: background-color 100ms ease-in-out;\n"]))),Vo=(X(ao={},en,O(to||(to=Y(["\n color: ",";\n\n &:hover {\n color: ",";\n background-color: ",";\n }\n "])),M.gray.dark2,M.black,M.gray.light1)),X(ao,nn,O(io||(io=Y(["\n color: ",";\n\n &:hover {\n color: ",";\n background-color: ",";\n }\n "])),M.gray.light1,M.gray.light3,M.gray.dark1)),ao),Bo=(X(so={},en,O(lo||(lo=Y(["\n cursor: not-allowed;\n color: ",";\n &:hover {\n color: inherit;\n background-color: unset;\n }\n "])),M.gray.dark2)),X(so,nn,O(co||(co=Y(["\n cursor: not-allowed;\n color: ",";\n &:hover {\n color: inherit;\n background-color: unset;\n }\n "])),M.gray.dark2)),so),Xo=a.forwardRef((function(n,e){var r=n.displayName,o=n.isFocused,t=n.onRemove,i=n.onFocus,a=c(ne),l=a.darkMode,s=a.size,f=a.disabled,h=a.chipTruncationLocation,b=void 0===h?"end":h,g=a.chipCharacterLimit,m=void 0===g?12:g,v=ee(l),y=!!m&&!!b&&"none"!==b&&r.length>m,x=d(null),w=u((function(){if(y){var n=m-3;switch(b){case"start":return"…"+r.substring(r.length-n).trim();case"middle":return r.substring(0,n/2).trim()+"…"+r.substring(r.length-n/2).trim();case"end":return r.substring(0,n).trim()+"…";default:return r}}return!1}),[m,b,r,y]);p((function(){var n;o&&!f&&(null==x||null===(n=x.current)||void 0===n||n.focus())}),[f,e,o]);return P("span",{role:"option","aria-selected":o,"data-testid":"lg-combobox-chip",ref:e,className:S(vo,Ho,Wo[v],Ro[s],X({},Go[v],f)),onClick:function(n){var e;null!==(e=x.current)&&void 0!==e&&e.contains(n.target)||i()},onKeyDown:function(n){f||n.keyCode!==I.Delete&&n.keyCode!==I.Backspace&&n.keyCode!==I.Enter&&n.keyCode!==I.Space||t()},tabIndex:-1},P("span",{className:S(Ko[s])},w?P(K,{darkMode:l,definition:r,align:"bottom"},w):r),P("button",{"aria-label":"Deselect ".concat(r),"aria-disabled":f,disabled:f,ref:x,className:S(Uo,Vo[v],X({},Bo[v],f)),onClick:function(){f||t()}},P(k,{glyph:"X"})))}));Xo.displayName="Chip";var Zo=["children","id","refEl","labelId","menuWidth","searchLoadingMessage","searchErrorMessage","searchEmptyMessage"],qo=a.forwardRef((function(n,e){var r=n.children,o=n.id,t=n.refEl,a=n.labelId,l=n.menuWidth,s=n.searchLoadingMessage,d=n.searchErrorMessage,p=n.searchEmptyMessage,f=q(n,Zo),h=c(ne),b=h.disabled,g=h.darkMode,y=h.size,x=h.isOpen,w=h.searchState,C=m(e,null),N=ee(g),z=v(t),E=i(z)?"unset":"".concat(Math.min(z,256),"px"),j=u((function(){var n=S(he,be[N],ge[y]);switch(w){case"loading":return P("span",{className:n},P(k,{glyph:"Refresh",color:g?M.blue.light1:M.blue.base,className:jr}),s);case"error":return P("span",{className:n},P(k,{glyph:"Warning",color:g?M.red.light1:M.red.base}),d);default:return r&&"object"===B(r)&&"length"in r&&r.length>0?P("ul",{className:fe},r):P("span",{className:n},p)}}),[N,y,w,g,s,d,r,p]);return P(U,Z({active:x&&!b,spacing:4,align:"bottom",justify:"middle",refEl:t,adjustOnMutation:!0,className:S(se(l),ue[N])},f),P("div",{ref:C,id:o,role:"listbox","aria-labelledby":a,"aria-expanded":x,className:S(de,pe[N],O(uo||(uo=Y(["\n max-height: ",";\n "])),E)),onMouseDownCapture:function(n){return n.preventDefault()}},j))}));qo.displayName="ComboboxMenu";var Yo=["children","label","description","placeholder","aria-label","disabled","size","darkMode","state","errorMessage","searchState","searchEmptyMessage","searchErrorMessage","searchLoadingMessage","filteredOptions","onFilter","clearable","onClear","overflow","multiselect","initialValue","onChange","value","chipTruncationLocation","chipCharacterLimit","className","usePortal","portalClassName","portalContainer","scrollContainer","popoverZIndex"];function $o(l){var c,m,v=l.children,C=l.label,O=l.description,z=l.placeholder,j=void 0===z?"Select":z,L=l["aria-label"],A=l.disabled,F=void 0!==A&&A,T=l.size,H=void 0===T?un:T,R=l.darkMode,W=void 0!==R&&R,G=l.state,K=void 0===G?"none":G,U=l.errorMessage,Y=l.searchState,J=void 0===Y?"unset":Y,Q=l.searchEmptyMessage,_=void 0===Q?"No results found":Q,nn=l.searchErrorMessage,en=void 0===nn?"Could not get results!":nn,dn=l.searchLoadingMessage,pn=void 0===dn?"Loading results...":dn,fn=l.filteredOptions,hn=l.onFilter,gn=l.clearable,mn=void 0===gn||gn,vn=l.onClear,yn=l.overflow,xn=void 0===yn?"expand-y":yn,wn=l.multiselect,kn=void 0!==wn&&wn,Cn=l.initialValue,Nn=l.onChange,On=l.value,Sn=l.chipTruncationLocation,zn=l.chipCharacterLimit,Mn=void 0===zn?12:zn,En=l.className,jn=l.usePortal,In=void 0===jn||jn,Dn=l.portalClassName,Pn=l.portalContainer,Ln=l.scrollContainer,An=l.popoverZIndex,Fn=q(l,Yo),Tn=ee(W),Hn=y({prefix:"option"}),Rn=y({prefix:"chip"}),Wn=g({prefix:"combobox-input"}),Gn=g({prefix:"combobox-label"}),Kn=g({prefix:"combobox-menu"}),Un=d(null),Vn=d(null),Bn=d(null),Xn=d(null),Zn=d(null),qn=$(f(!1),2),Yn=qn[0],re=qn[1],oe=x(Yn),te=$(f(null),2),ae=te[0],le=te[1],ce=$(f(null),2),se=ce[0],ue=ce[1],de=x(se),pe=$(f(""),2),fe=pe[0],he=pe[1],be=x(fe),ge=$(f(null),2),me=ge[0],ve=ge[1],ye=!o(se)&&(e(se)&&se.length>0||t(se)),xe=kn&&e(se)&&se.length>0?void 0:j,we=function(){return re(!1)},ke=function(){return re(!0)},Ce=u((function(){return _n(v)}),[v]),Ne=s((function(n){return!kn||"string"!=typeof n&&"number"!=typeof n?!kn&&e(n)&&D.error("Error in Combobox: multiselect is set to `false`, but recieved an Array value"):D.error("Error in Combobox: multiselect is set to `true`, but recieved a ".concat(B(n),' value: "').concat(n,'"')),kn&&e(n)}),[kn]),Oe=s((function(n){!F&&Xn&&Xn.current&&(Xn.current.focus(),i(n)||Xn.current.setSelectionRange(n,n))}),[F]),Se=s((function(e){if(Ne(se)){var r=n(se);o(e)?r.length=0:se.includes(e)?r.splice(r.indexOf(e),1):(r.push(e),he("")),ue(r),null==Nn||Nn(r)}else{var t=e;ue(t),null==Nn||Nn(t)}}),[Ne,Nn,se]),ze=s((function(n){return Ne(se)?se.includes(n):n===se}),[Ne,se]),Me=s((function(n){var e,r,o,t,i=(r=Ce,(e=n)?null!==(o=null===(t=r.find((function(n){return n.displayName===e})))||void 0===t?void 0:t.value)&&void 0!==o?o:e:"");return ze(i)}),[Ce,ze]),Ee=s((function(n){var e="string"==typeof n?n:n.value;return fn&&fn.length>0?fn.includes(e):!!Me(fe)||("string"==typeof n?Qn(e,Ce):n.displayName).toLowerCase().includes(fe.toLowerCase())}),[fn,Me,fe,Ce]),je=u((function(){return Ce.filter(Ee)}),[Ce,Ee]),Ie=s((function(n){return!!n&&!!Ce.find((function(e){return e.value===n}))}),[Ce]),De=s((function(n){return je?je.findIndex((function(e){return e.value===n})):-1}),[je]),Pe=s((function(n){if(je&&je.length>=n){var e=je[n];return e?e.value:void 0}}),[je]),Le=s((function(){return Ne(se)?se.findIndex((function(n){var e,r;return null===(e=Rn(n))||void 0===e||null===(r=e.current)||void 0===r?void 0:r.contains(document.activeElement)})):-1}),[Rn,Ne,se]),Ae=$(f(),2),Fe=Ae[0],Te=Ae[1],He=s((function(n){var e,r=null!==(e=null==je?void 0:je.length)&&void 0!==e?e:0,o=r-1>0?r-1:0,t=De(ae);switch(n&&Yn&&(ve(null),Oe()),n){case"next":var i=Pe(t+1<r?t+1:0);le(null!=i?i:null);break;case"prev":var a=Pe(t-1>=0?t-1:o);le(null!=a?a:null);break;case"last":var l=Pe(o);le(null!=l?l:null);break;default:var c=Pe(0);le(null!=c?c:null)}}),[ae,De,Pe,Yn,Oe,null==je?void 0:je.length]),Re=s((function(n,e){if(Ne(se))switch(n){case"next":var r=null!=e?e:Le(),o=r+1<se.length?r+1:se.length-1,t=se[o];ve(t);break;case"prev":var i=null!=e?e:Le(),a=i>0?i-1:i<0?se.length-1:0,l=se[a];ve(l);break;case"first":var c=se[0];ve(c);break;case"last":var s=se[se.length-1];ve(s);break;default:ve(null)}}),[Le,Ne,se]),We=s((function(n,e){switch(n&&le(null),n){case"right":switch(Fe){case rn:var r,o,t;if((null===(r=Xn.current)||void 0===r?void 0:r.selectionEnd)===(null===(o=Xn.current)||void 0===o?void 0:o.value.length))null===(t=Vn.current)||void 0===t||t.focus();break;case tn:case ln:case an:if(Fe===an||1===(null==se?void 0:se.length)){Oe(0),Re(null),e.preventDefault();break}Re("next")}break;case"left":switch(Fe){case on:var i;e.preventDefault(),Oe(null==Xn||null===(i=Xn.current)||void 0===i?void 0:i.value.length);break;case rn:case ln:case an:if(Ne(se)){var a;if(Fe===rn&&0!==(null===(a=Xn.current)||void 0===a?void 0:a.selectionStart))break;Re("prev")}}break;default:Re(null)}}),[Fe,Ne,se,Oe,Re]);p((function(){fe!==be&&He("first")}),[fe,Yn,be,He]),p((function(){if(ae){var n=Hn(ae);if(n&&n.current&&Zn.current){var e=n.current.offsetTop,r=Zn.current,o=r.scrollTop;(e>r.offsetHeight||e<o)&&(Zn.current.scrollTop=e)}}}),[ae,Hn]);var Ge=s((function(n){if(E(n,"ComboboxOption")){var e=$n(n.props),r=e.value,o=e.displayName;if(Ee(r)){var t=n.props,i=t.className,l=t.glyph,c=t.disabled,s=Ce.findIndex((function(n){return n.value===r})),u=ae===r,d=Ne(se)?se.includes(r):se===r,p=Hn(r);return P(Kr,{value:r,displayName:o,isFocused:u,isSelected:d,disabled:c,setSelected:function(){le(r),Se(r),Oe(),r===se&&we()},glyph:l,className:i,index:s,ref:p})}}else if(E(n,"ComboboxGroup")){var f=a.Children.map(n.props.children,Ge);if(f&&(null==f?void 0:f.length)>0)return P(ie,{label:n.props.label,className:n.props.className},a.Children.map(f,Ge))}}),[Ce,Hn,ae,Ne,se,Oe,Ee,Se]),Ke=u((function(){return a.Children.map(v,Ge)}),[v,Ge]),Ue=u((function(){if(Ne(se))return se.filter(Ie).map((function(n,e){var r=Qn(n,Ce),o=me===n,t=Rn(n),i=e>=se.length-1;return P(Xo,{key:n,displayName:r,isFocused:o,onRemove:function(){i?(Oe(),Re(null)):Re("next",e),Se(n)},onFocus:function(){ve(n)},ref:t})}))}),[Ne,se,Ie,Ce,me,Rn,Se,Oe,Re]),Ve=u((function(){return P(a.Fragment,null,mn&&ye&&P(N,{"aria-label":"Clear selection","aria-disabled":F,disabled:F,ref:Vn,onClick:function(n){F||(Se(null),null==vn||vn(n),null==hn||hn(""),Yn||ke())},onFocus:Je,className:S(Po),darkMode:W},P(k,{glyph:"XWithCircle"})),P(k,"error"===K?{glyph:"Warning",color:W?M.red.light1:M.red.base,className:Lo(H)}:{glyph:"CaretDown",className:Lo(H)}))}),[mn,ye,F,K,W,H,Se,vn,hn,Yn]),Be=u((function(){return Ce.some((function(n){return n.hasGlyph}))}),[Ce]),Xe=s((function(){if(!Ne(se)&&se===de){var n=je.find((function(n){return n.displayName===fe||n.value===fe}));if(n&&!On)ue(n.value);else{var e,r=null!==(e=Qn(se,Ce))&&void 0!==e?e:"";he(r)}}}),[Ce,fe,Ne,de,se,On,je]),Ze=s((function(){if(ye){if(Ne(se))er();else if(!Ne(se)){var n,e=null!==(n=Qn(se,Ce))&&void 0!==n?n:"";he(e),we()}}else he("")}),[ye,Ce,Ne,se]);p((function(){if(Cn)if(e(Cn)){var n,r=null!==(n=Cn.filter((function(n){return Ie(n)})))&&void 0!==n?n:[];ue(r)}else Ie(Cn)&&ue(Cn);else ue(function(n){return n?[]:null}(kn))}),[]),p((function(){if(!i(On)&&On!==be)if(o(On))ue(null);else if(Ne(On)){var n=On.filter(Ie);ue(n)}else ue(Ie(On)?On:null)}),[Ne,Ie,be,On]),p((function(){r(se,de)||Ze()}),[Ze,de,se]),p((function(){!Yn&&oe&&Xe()}),[Yn,oe,Xe]);var qe=$(f(0),2),Ye=qe[0],$e=qe[1];p((function(){var n,e;$e(null!==(n=null===(e=Un.current)||void 0===e?void 0:e.clientWidth)&&void 0!==n?n:0)}),[Un,Yn,ae,se]);var Je=function(){le(null)};w("mousedown",(function(n){nr(n)||(n.preventDefault(),n.stopPropagation())}),{enabled:Yn}),w("click",(function(n){nr(n)||(n.stopPropagation(),we())}),{options:{capture:!0},enabled:Yn});var Qe,_e=function(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?V(Object(r),!0).forEach((function(e){X(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):V(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}({popoverZIndex:An},In?{usePortal:In,portalClassName:Dn,portalContainer:Pn,scrollContainer:Ln}:{usePortal:In});return P(ne.Provider,{value:{multiselect:kn,darkMode:W,size:H,withIcons:Be,disabled:F,isOpen:Yn,state:K,searchState:J,chipTruncationLocation:Sn,chipCharacterLimit:Mn,inputValue:fe}},P("div",Z({className:S(yo(H,xn),En)},Fn),P("div",{className:To},C&&P(h,{id:Gn,htmlFor:Wn,darkMode:W},C),O&&P(b,{darkMode:W},O)),P("div",{ref:Un,role:"combobox","aria-expanded":Yn,"aria-controls":Kn,"aria-owns":Kn,tabIndex:-1,onMouseDown:function(n){F&&n.preventDefault()},onClick:function(n){if(n.target!==Xn.current){var e=0;if(Xn.current)e=n.nativeEvent.offsetX>Xn.current.offsetLeft+Xn.current.clientWidth?fe.length:0;Oe(e)}},onFocus:function(n){er(),ke(),Te(function(n){var e,r,o,t;if(!n)return;if(null!==(e=Xn.current)&&void 0!==e&&e.contains(n))return rn;if(null!==(r=Vn.current)&&void 0!==r&&r.contains(n))return on;var i=Ne(se)?se.findIndex((function(e){var r,o;return null===(r=Rn(e))||void 0===r||null===(o=r.current)||void 0===o?void 0:o.contains(n)})):-1;if(Ne(se)){if(0===i)return tn;if(i===se.length-1)return an;if(i>0)return ln}if(null!==(o=Zn.current)&&void 0!==o&&o.contains(n))return sn;if(null!==(t=Un.current)&&void 0!==t&&t.contains(n))return cn}(n.target))},onKeyDown:function(n){var e,r,t=null===(e=Zn.current)||void 0===e?void 0:e.contains(document.activeElement);if((null===(r=Un.current)||void 0===r?void 0:r.contains(document.activeElement))||t){if(n.ctrlKey||n.shiftKey||n.altKey)return;switch(n.keyCode){case I.Tab:switch(Fe){case"Input":ye||(we(),He("first"),Re(null));break;case"LastChip":Re(null)}break;case I.Escape:we(),He("first");break;case I.Enter:!Yn||Fe!==rn||o(ae)||function(n){if("string"==typeof n){var e=Jn(n,Ce);return!(null==e||!e.isDisabled)}return!!n.isDisabled}(ae)?Fe===on&&(Se(null),Oe()):Se(ae);break;case I.Backspace:var i;if(Ne(se))"Input"===Fe&&0===(null===(i=Xn.current)||void 0===i?void 0:i.selectionStart)&&Re("last");ke();break;case I.ArrowDown:Yn?(n.preventDefault(),He("next")):ke();break;case I.ArrowUp:Yn?(n.preventDefault(),He("prev")):ke();break;case I.ArrowRight:We("right",n);break;case I.ArrowLeft:We("left",n);break;default:Yn||ke()}}},onTransitionEnd:function(){var n,e;$e(null!==(n=null===(e=Un.current)||void 0===e?void 0:e.clientWidth)&&void 0!==n?n:0)},className:S(xo,wo[Tn],ko(H),(c={},X(c,Co[Tn],F),X(c,No[Tn],K===bn),X(c,Oo[Tn],(Qe=rn,Qe===Fe)),c))},P("div",{ref:Bn,className:So({size:H,overflow:xn})},Ue,P("input",{"aria-label":null!=L?L:C,"aria-autocomplete":"list","aria-controls":Kn,"aria-labelledby":Gn,ref:Xn,id:Wn,className:S(zo,Eo[H],Mo[Tn],jo(Yn,xn),(m={},X(m,Io(H,fe),Ne(se)),X(m,Do(se),Ne(se)),m)),placeholder:xe,disabled:null!=F?F:void 0,onChange:function(n){var e=n.target.value;he(e),null==hn||hn(e)},value:fe,autoComplete:"off"})),Ve),"error"===K&&U&&P("div",{className:S(Ao[Tn],Fo[H])},U),P(qo,Z({id:Kn,labelId:Gn,refEl:Un,ref:Zn,menuWidth:Ye,searchLoadingMessage:pn,searchErrorMessage:en,searchEmptyMessage:_},_e),Ke)));function nr(n){var e,r,o=n.target;return(null===(e=Zn.current)||void 0===e?void 0:e.contains(o))||(null===(r=Un.current)||void 0===r?void 0:r.contains(o))||!1}function er(){Bn&&Bn.current&&(Bn.current.scrollLeft=Bn.current.scrollWidth)}}export{$o as Combobox,ae as ComboboxGroup,Ur as ComboboxOption};
1
+ import n from"lodash/clone";import e from"lodash/isArray";import r from"lodash/isEqual";import o from"lodash/isNull";import t from"lodash/isString";import i from"lodash/isUndefined";import a,{createContext as l,useContext as c,useCallback as s,useMemo as u,useRef as d,useEffect as p,useState as f}from"react";import{Label as h,Description as g}from"@leafygreen-ui/typography";import{useIdAllocator as b,useForwardedRef as m,useAvailableSpace as v,useDynamicRefs as y,usePrevious as x,useEventListener as w}from"@leafygreen-ui/hooks";import k,{isComponentGlyph as C}from"@leafygreen-ui/icon";import N from"@leafygreen-ui/icon-button";import{css as O,cx as S,keyframes as z}from"@leafygreen-ui/emotion";import{palette as M}from"@leafygreen-ui/palette";import{isComponentType as E,createUniqueClassName as j,keyMap as I,consoleOnce as D}from"@leafygreen-ui/lib";import P from"lodash/escapeRegExp";import{jsx as L}from"@emotion/react";import A from"lodash/kebabCase";import F from"@leafygreen-ui/checkbox";import{typeScales as T,spacing as H,fontFamilies as R,hoverRing as W,focusRing as G}from"@leafygreen-ui/tokens";import{transparentize as K}from"polished";import U from"@leafygreen-ui/inline-definition";import V from"@leafygreen-ui/popover";function B(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(n);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.push.apply(r,o)}return r}function X(n){return X="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},X(n)}function Z(n,e,r){return e in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function q(){return q=Object.assign||function(n){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[o]=r[o])}return n},q.apply(this,arguments)}function Y(n,e){if(null==n)return{};var r,o,t=function(n,e){if(null==n)return{};var r,o,t={},i=Object.keys(n);for(o=0;o<i.length;o++)r=i[o],e.indexOf(r)>=0||(t[r]=n[r]);return t}(n,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);for(o=0;o<i.length;o++)r=i[o],e.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function $(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function J(n,e){return function(n){if(Array.isArray(n))return n}(n)||function(n,e){var r=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null==r)return;var o,t,i=[],a=!0,l=!1;try{for(r=r.call(n);!(a=(o=r.next()).done)&&(i.push(o.value),!e||i.length!==e);a=!0);}catch(n){l=!0,t=n}finally{try{a||null==r.return||r.return()}finally{if(l)throw t}}return i}(n,e)||_(n,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Q(n){return function(n){if(Array.isArray(n))return nn(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||_(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _(n,e){if(n){if("string"==typeof n)return nn(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?nn(n,e):void 0}}function nn(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,o=new Array(e);r<e;r++)o[r]=n[r];return o}var en="dark",rn="light",on="Input",tn="ClearButton",an="FirstChip",ln="LastChip",cn="MiddleChip",sn="Combobox",un="Menu",dn="default",pn="large",fn="expand-y",hn="expand-x",gn="scroll-x",bn="error";var mn,vn,yn,xn,wn,kn,Cn,Nn,On,Sn,zn,Mn,En,jn,In,Dn,Pn,Ln,An,Fn,Tn,Hn,Rn,Wn,Gn,Kn,Un,Vn,Bn,Xn,Zn,qn,Yn,$n=function(n,e,r){if(e&&r){var o=P(e),t=new RegExp(o,"gi"),i=n.matchAll(t);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,b=new Array(h).fill("");b[0]=a.createElement(r,{key:g},f),l.splice.apply(l,[p,h].concat(Q(b)))}return L(a.Fragment,null,l)}return L(a.Fragment,null,n)}return L(a.Fragment,null,n)},Jn=function(n){var e,r=n.value,o=n.displayName;return{value:null!=r?r:A(o),displayName:null!==(e=null!=o?o:r)&&void 0!==e?e:""}},Qn=function(n,e){if(n)return e.find((function(e){return e.value===n}))},_n=function(n,e){var r,o;return n?null!==(r=null===(o=Qn(n,e))||void 0===o?void 0:o.displayName)&&void 0!==r?r:n:""},ne=function n(e){return a.Children.toArray(e).reduce((function(e,r){if(E(r,"ComboboxOption")){var o=Jn(r.props),t=o.value,i=o.displayName,a=r.props,l=a.glyph,c=a.disabled;return[].concat(Q(e),[{value:t,displayName:i,isDisabled:!!c,hasGlyph:!!l}])}if(E(r,"ComboboxGroup")){var s=r.props.children;if(s)return[].concat(Q(e),Q(n(s)))}}),[])},ee=l({multiselect:!1,darkMode:!1,size:dn,withIcons:!1,disabled:!1,isOpen:!1,state:"none",searchState:"unset"}),re=function(n){return n?en:rn},oe=(Z(yn={},rn,O(mn||(mn=$(["\n padding-top: 8px;\n "])))),Z(yn,en,O(vn||(vn=$(["\n padding-top: 8px;\n "])))),yn),te=O(xn||(xn=$(["\n cursor: default;\n width: 100%;\n padding: 0 12px 2px;\n outline: none;\n overflow-wrap: anywhere;\n font-size: 12px;\n line-height: 16px;\n font-weight: bold;\n text-transform: uppercase;\n letter-spacing: 0.4px;\n"]))),ie=(Z(Cn={},rn,O(wn||(wn=$(["\n color: ",";\n "])),M.gray.dark1)),Z(Cn,en,O(kn||(kn=$(["\n color: ",";\n "])),M.gray.light1)),Cn);function ae(n){var e=n.label,r=n.className,o=n.children,t=c(ee).darkMode,i=re(t),l=b({prefix:"combobox-group"});return a.Children.count(o)>0?L("div",{className:S(oe[i],r)},L("div",{className:S(te,ie[i]),id:l},e),L("div",{role:"group","aria-labelledby":l},o)):L(a.Fragment,null)}function le(n){throw Error("`ComboboxGroup` must be a child of a `Combobox` instance")}le.displayName="ComboboxGroup";var ce=(Z(Nn={},dn,{x:12,y:8}),Z(Nn,pn,{x:12,y:8}),Nn),se=(Z(On={},dn,T.body1.lineHeight+2*ce[dn].y),Z(On,pn,T.body2.lineHeight+2*ce[pn].y),On),ue=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:384;return O(Sn||(Sn=$(["\n width: ","px;\n overflow: hidden;\n border-radius: 12px;\n border: 1px solid;\n"])),n)},de=(Z(En={},rn,O(zn||(zn=$(["\n box-shadow: 0px 4px 7px ",";\n border-color: ",";\n "])),K(.85,M.black),M.gray.light2)),Z(En,en,O(Mn||(Mn=$(["\n box-shadow: 0px 4px 7px ",";\n border-color: ",";\n "])),K(.85,M.black),M.gray.dark3)),En),pe=O(jn||(jn=$(["\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"])),H[2],R.default),fe=(Z(Pn={},rn,O(In||(In=$(["\n color: ",";\n background-color: ",";\n "])),M.black,M.white)),Z(Pn,en,O(Dn||(Dn=$(["\n color: ",";\n background-color: ",";\n "])),M.gray.light1,M.gray.dark3)),Pn);Z(Fn={},dn,O(Ln||(Ln=$(["\n min-height: ","px;\n "])),se[dn])),Z(Fn,pn,O(An||(An=$(["\n min-height: ","px;\n "])),se[pn]));var he=O(Tn||(Tn=$(["\n position: relative;\n margin: 0;\n padding: 0;\n"]))),ge=O(Hn||(Hn=$(["\n font-family: inherit;\n display: inline-flex;\n align-items: center;\n gap: 8px;\n"]))),be=(Z(Gn={},rn,O(Rn||(Rn=$(["\n color: ",";\n "])),M.gray.dark3)),Z(Gn,en,O(Wn||(Wn=$(["\n color: ",";\n "])),M.gray.light3)),Gn),me=(Z(Vn={},dn,O(Kn||(Kn=$(["\n font-size: ","px;\n line-height: ","px;\n padding: ","px\n ","px;\n "])),T.body1.fontSize,T.body1.lineHeight,ce[dn].y,ce[dn].x)),Z(Vn,pn,O(Un||(Un=$(["\n font-size: ","px;\n line-height: ","px;\n padding: ","px\n ","px;\n "])),T.body2.fontSize,T.body2.lineHeight,ce[pn].y,ce[pn].x)),Vn);Z(Zn={},dn,O(Bn||(Bn=$(["\n height: ","px;\n width: ","px;\n "])),T.body1.fontSize,T.body1.fontSize)),Z(Zn,pn,O(Xn||(Xn=$(["\n height: ","px;\n width: ","px;\n "])),T.body2.fontSize,T.body2.fontSize));var ve,ye,xe,we,ke,Ce,Ne,Oe,Se,ze,Me,Ee,je,Ie,De,Pe,Le,Ae,Fe,Te,He,Re,We,Ge,Ke,Ue,Ve,Be,Xe,Ze,qe,Ye,$e,Je,Qe,_e,nr,er,rr,or,tr,ir,ar,lr,cr,sr,ur,dr,pr,fr,hr,gr,br,mr,vr,yr,xr,wr,kr,Cr,Nr,Or,Sr,zr,Mr,Er,jr=z(qn||(qn=$(["\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n"]))),Ir=O(Yn||(Yn=$(["\n animation: "," 1.5s linear infinite;\n"])),jr),Dr=O(ve||(ve=$(["\n position: relative;\n display: flex;\n align-items: center;\n justify-content: space-between;\n list-style: none;\n color: inherit;\n cursor: pointer;\n overflow: hidden;\n font-family: ",";\n\n // Left wedge\n &:before {\n content: '';\n position: absolute;\n left: 0;\n width: 4px;\n height: calc(100% - 14px);\n background-color: rgba(255, 255, 255, 0);\n border-radius: 0 6px 6px 0;\n transform: scale3d(0, 0.3, 0);\n transition: 200ms ease-in-out;\n transition-property: transform, background-color;\n }\n"])),R.default),Pr=(Z(we={},rn,O(ye||(ye=$(["\n &:hover {\n outline: none;\n background-color: ",";\n }\n "])),M.gray.light2)),Z(we,en,O(xe||(xe=$(["\n &:hover {\n outline: none;\n background-color: ",";\n }\n "])),M.gray.dark4)),we),Lr=(Z(Ne={},dn,O(ke||(ke=$(["\n font-size: ","px;\n line-height: ","px;\n min-height: ","px;\n padding: ","px\n ","px;\n gap: ","px;\n\n &:before {\n max-height: ","px;\n }\n "])),T.body1.fontSize,T.body1.lineHeight,se[dn],ce[dn].y,ce[dn].x,H[1],se[dn])),Z(Ne,pn,O(Ce||(Ce=$(["\n font-size: ","px;\n line-height: ","px;\n min-height: ","px;\n padding: ","px\n ","px;\n gap: ","px;\n\n &:before {\n max-height: ","px;\n }\n "])),T.body2.fontSize,T.body2.lineHeight,se[pn],ce[pn].y,ce[pn].x,H[2],se[pn])),Ne),Ar=O(Oe||(Oe=$(["\n outline: none;\n\n &:before {\n transform: scaleY(1);\n }\n"]))),Fr=(Z(Me={},rn,O(Se||(Se=$(["\n ",";\n background-color: ",";\n\n &:before {\n background-color: ",";\n }\n "])),Ar,M.blue.light3,M.blue.base)),Z(Me,en,O(ze||(ze=$(["\n ",";\n background-color: ",";\n\n &:before {\n background-color: ",";\n }\n "])),Ar,M.blue.dark3,M.blue.light1)),Me),Tr=O(Ee||(Ee=$(["\n cursor: not-allowed;\n\n &:hover {\n background-color: inherit;\n }\n\n &:before {\n content: unset;\n }\n"]))),Hr=(Z(De={},rn,O(je||(je=$(["\n ",";\n color: ",";\n "])),Tr,M.gray.light1)),Z(De,en,O(Ie||(Ie=$(["\n ",";\n color: ",";\n "])),Tr,M.gray.dark1)),De),Rr=(Z(Ae={},dn,O(Pe||(Pe=$(["\n min-width: ","px;\n "])),H[3])),Z(Ae,pn,O(Le||(Le=$(["\n min-width: ","px;\n "])),H[4])),Ae),Wr=O(Fe||(Fe=$(["\n display: inline-flex;\n gap: 8px;\n justify-content: start;\n align-items: inherit;\n overflow-wrap: anywhere;\n"]))),Gr=O(Te||(Te=$(["\n pointer-events: none;\n"]))),Kr=function(n){return O(He||(He=$(["\n font-weight: ",";\n"])),n?"bold":"normal")},Ur=a.forwardRef((function(n,e){var r,o=n.displayName,t=n.glyph,i=n.isSelected,l=n.isFocused,d=n.disabled,p=n.setSelected,f=n.className,h=c(ee),g=h.multiselect,v=h.darkMode,y=h.withIcons,x=h.inputValue,w=h.size,N=re(v),z=b({prefix:"combobox-option-text"}),j=m(e,null),I=s((function(n){n.stopPropagation(),d||n.target!==j.current&&"INPUT"!==n.target.tagName||p()}),[d,j,p]),D=u((function(){if(t){if(C(t)||E(t,"Icon"))return t;console.error("`ComboboxOption` instance did not render icon because it is not a known glyph element.",t)}}),[t]),P=u((function(){if(g){var n=L(F,{"aria-labelledby":z,checked:i,tabIndex:-1,disabled:d,darkMode:v,className:O(Re||(Re=$(["\n // TODO: Remove when this is resolved:\n // https://jira.mongodb.org/browse/PD-2171\n & > label > div {\n margin-top: 0;\n }\n "])))});return L(a.Fragment,null,L("span",{className:S(Wr,Gr)},y?D:n,L("span",{id:z,className:Kr(i)},$n(o,x,"strong"))),y&&n)}return L(a.Fragment,null,L("span",{className:S(Wr,Gr)},D,L("span",{className:Kr(i)},$n(o,x,"strong"))),i&&L(k,{glyph:"Checkmark",className:Rr[w],color:v?M.blue.light1:M.blue.base}))}),[g,D,i,o,x,w,v,z,d,y]);return L("li",{ref:j,role:"option","aria-selected":l,"aria-label":o,tabIndex:-1,className:S(Dr,Lr[w],Pr[N],(r={},Z(r,Fr[N],l),Z(r,Hr[N],d),r),f),onClick:I,onKeyDown:I},P)}));function Vr(n){throw Error("`ComboboxOption` must be a child of a `Combobox` instance")}Ur.displayName="ComboboxOption",Vr.displayName="ComboboxOption";var Br,Xr,Zr,qr,Yr,$r,Jr,Qr,_r,no,eo,ro,oo,to,io,ao,lo,co,so,uo,po,fo=(Z(We={},dn,T.body1.fontSize),Z(We,pn,T.body2.fontSize),We),ho=(Z(Ge={},dn,2),Z(Ge,pn,4),Ge),go=(Z(Ke={},dn,T.body1.lineHeight+2*ho[dn]),Z(Ke,pn,T.body2.lineHeight+2*ho[pn]),Ke),bo=(Z(Ue={},dn,{y:(36-go[dn]-2)/2,x:H[2]-1}),Z(Ue,pn,{y:(48-go[pn]-2)/2,x:H[2]-1}),Ue),mo=H[3],vo=(Z(Ve={},dn,fo[dn]+2*bo[dn].x+mo+2),Z(Ve,pn,fo[pn]+2*bo[pn].x+mo+2),Ve),yo=j("combobox-chip"),xo=function(n,e){return S(O(Be||(Be=$(["\n font-family: ",";\n width: 100%;\n min-width: ","px;\n "])),R.default,vo[n]),Z({},O(Xe||(Xe=$(["\n width: unset;\n "]))),e===hn))},wo=O(Ze||(Ze=$(["\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n cursor: text;\n transition: 150ms ease-in-out;\n transition-property: background-color, box-shadow, border-color;\n border: 1px solid;\n width: inherit;\n border-radius: 6px;\n"]))),ko=(Z($e={},rn,O(qe||(qe=$(["\n color: ",";\n background-color: ",";\n border-color: ",";\n\n &:hover {\n box-shadow: ",";\n }\n "])),M.gray.dark3,M.white,M.gray.base,W[rn].gray)),Z($e,en,O(Ye||(Ye=$(["\n color: ",";\n background-color: ",";\n border-color: ",";\n\n &:hover {\n box-shadow: ",";\n }\n "])),M.gray.light2,M.gray.dark4,M.gray.base,W[en].gray)),$e),Co=function(n){return O(Je||(Je=$(["\n padding: ","px ","px;\n"])),bo[n].y,bo[n].x)},No=(Z(nr={},rn,O(Qe||(Qe=$(["\n cursor: not-allowed;\n color: ",";\n background-color: ",";\n border-color: ",";\n "])),M.gray.dark1,M.gray.light2,M.gray.light1)),Z(nr,en,O(_e||(_e=$(["\n cursor: not-allowed;\n color: ",";\n background-color: ",";\n border-color: ",";\n "])),M.gray.dark1,M.gray.dark3,M.gray.dark2)),nr),Oo=(Z(or={},rn,O(er||(er=$(["\n border-color: ",";\n "])),M.red.base)),Z(or,en,O(rr||(rr=$(["\n border-color: ",";\n "])),M.red.light1)),or),So=(Z(ar={},rn,O(tr||(tr=$(["\n &:focus-within {\n border-color: transparent;\n background-color: ",";\n box-shadow: ",";\n }\n "])),M.white,G[rn].input)),Z(ar,en,O(ir||(ir=$(["\n &:focus-within {\n border-color: transparent;\n background-color: ",";\n box-shadow: ",";\n }\n "])),M.gray.dark4,G[en].input)),ar),zo=function(n){var e=n.overflow,r=n.size,o=O(lr||(lr=$(["\n flex-grow: 1;\n width: inherit;\n "])));switch(e){case gn:return O(cr||(cr=$(["\n ","\n display: block;\n height: ","px;\n padding-left: ","px;\n white-space: nowrap;\n overflow-x: scroll;\n scroll-behavior: smooth;\n scrollbar-width: none;\n\n &::-webkit-scrollbar {\n display: none;\n }\n\n & > ."," {\n margin-inline: 2px;\n\n &:first-child {\n margin-inline-start: 0;\n }\n\n &:last-child {\n margin-inline-end: 0;\n }\n }\n "])),o,go[r],bo[r].x,yo);case hn:return O(sr||(sr=$(["\n ","\n display: flex;\n gap: 4px;\n flex-wrap: nowrap;\n white-space: nowrap;\n height: ","px;\n "])),o,go[r]);case fn:return O(ur||(ur=$(["\n ","\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n overflow-x: visible;\n min-height: ","px;\n "])),o,go[r])}},Mo=O(dr||(dr=$(["\n font-family: ",";\n width: 100%;\n border: none;\n cursor: inherit;\n background-color: inherit;\n color: inherit;\n box-sizing: content-box;\n padding: 0;\n margin: 0;\n text-overflow: ellipsis;\n\n &:placeholder-shown {\n min-width: 100%;\n }\n &:focus {\n outline: none;\n }\n"])),R.default),Eo=(Z(hr={},rn,O(pr||(pr=$(["\n &::placeholder {\n color: ",";\n }\n "])),M.gray.dark1)),Z(hr,en,O(fr||(fr=$(["\n &::placeholder {\n color: ",";\n }\n "])),M.gray.light1)),hr),jo=(Z(mr={},dn,O(gr||(gr=$(["\n height: ","px;\n font-size: ","px;\n line-height: ","px;\n min-width: ","px;\n padding-left: 4px;\n "])),go[dn],T.body1.fontSize,T.body1.lineHeight,fo[dn])),Z(mr,pn,O(br||(br=$(["\n height: ","px;\n font-size: ","px;\n line-height: ","px;\n min-width: ","px;\n padding-left: 6px;\n "])),go[pn],T.body2.fontSize,T.body2.lineHeight,fo[pn])),mr),Io=function(n,e){return S(Z({},O(vr||(vr=$(["\n /*\n * Immediate transition in, slow transition out. \n * '-in' transition is handled by `scroll-behavior` \n */\n transition: width ease-in-out ",";\n "],["\n /*\n * Immediate transition in, slow transition out. \n * '-in' transition is handled by \\`scroll-behavior\\` \n */\n transition: width ease-in-out ",";\n "])),n?"0s":"100ms"),e!==hn))},Do=function(n,e){var r,o=null!==(r=null==e?void 0:e.length)&&void 0!==r?r:0;return O(yr||(yr=$(["\n max-width: 100%;\n width: ","px;\n // TODO: This doesn't quite work. Fix this\n max-width: calc(100% - ","px);\n "])),o*fo[n],2*mo)},Po=function(n){return"object"===X(n)&&!o(n)&&n.length>0?O(xr||(xr=$(["\n padding-left: 0px;\n "]))):""},Lo=O(wr||(wr=$(["\n // Add a negative margin so the button takes up the same space as the regular icons\n margin-block: calc(","px - 100%);\n"])),mo/2),Ao=function(n){return O(kr||(kr=$(["\n height: ","px;\n width: ","px;\n margin-inline-end: calc(","px / 2);\n"])),mo,mo,bo[n].x)},Fo=(Z(Or={},rn,O(Cr||(Cr=$(["\n color: ",";\n "])),M.red.base)),Z(Or,en,O(Nr||(Nr=$(["\n color: ",";\n "])),M.red.light1)),Or),To=(Z(Mr={},dn,O(Sr||(Sr=$(["\n font-size: ","px;\n line-height: ","px;\n padding-top: ","px;\n "])),T.body1.fontSize,T.body1.lineHeight,bo[dn].y)),Z(Mr,pn,O(zr||(zr=$(["\n font-size: ","px;\n line-height: ","px;\n padding-top: ","px;\n "])),T.body2.fontSize,T.body2.lineHeight,bo[pn].y)),Mr),Ho=O(Er||(Er=$(["\n margin-bottom: 2px;\n"]))),Ro=O(Br||(Br=$(["\n display: inline-flex;\n align-items: center;\n overflow: hidden;\n white-space: nowrap;\n box-sizing: border-box;\n"]))),Wo=(Z(qr={},dn,O(Xr||(Xr=$(["\n font-size: ","px;\n line-height: ","px;\n border-radius: 4px;\n "])),T.body1.fontSize,T.body1.lineHeight)),Z(qr,pn,O(Zr||(Zr=$(["\n font-size: ","px;\n line-height: ","px;\n border-radius: 4px;\n "])),T.body2.fontSize,T.body2.lineHeight)),qr),Go=(Z(Jr={},rn,O(Yr||(Yr=$(["\n color: ",";\n background-color: ",";\n\n // TODO: - refine these styles with Design\n &:focus-within {\n background-color: ",";\n }\n "])),M.black,M.gray.light2,M.blue.light2)),Z(Jr,en,O($r||($r=$(["\n color: ",";\n background-color: ",";\n\n &:focus-within {\n background-color: ",";\n }\n "])),M.gray.light2,M.gray.dark2,M.blue.dark2)),Jr),Ko=(Z(no={},rn,O(Qr||(Qr=$(["\n cursor: not-allowed;\n color: ",";\n background-color: ",";\n "])),M.gray.base,M.gray.light3)),Z(no,en,O(_r||(_r=$(["\n cursor: not-allowed;\n color: ",";\n background-color: ",";\n box-shadow: inset 0 0 1px 1px ","; ;\n "])),M.gray.dark2,M.gray.dark4,M.gray.dark2)),no),Uo=(Z(oo={},dn,O(eo||(eo=$(["\n padding-inline: 6px;\n padding-block: ","px;\n "])),ho[dn])),Z(oo,pn,O(ro||(ro=$(["\n padding-inline: 10px;\n padding-block: ","px;\n "])),ho[pn])),oo),Vo=O(to||(to=$(["\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n width: 100%;\n outline: none;\n border: none;\n background-color: transparent;\n cursor: pointer;\n transition: background-color 100ms ease-in-out;\n"]))),Bo=(Z(lo={},rn,O(io||(io=$(["\n color: ",";\n\n &:hover {\n color: ",";\n background-color: ",";\n }\n "])),M.gray.dark2,M.black,M.gray.light1)),Z(lo,en,O(ao||(ao=$(["\n color: ",";\n\n &:hover {\n color: ",";\n background-color: ",";\n }\n "])),M.gray.light1,M.gray.light3,M.gray.dark1)),lo),Xo=(Z(uo={},rn,O(co||(co=$(["\n cursor: not-allowed;\n color: ",";\n &:hover {\n color: inherit;\n background-color: unset;\n }\n "])),M.gray.dark2)),Z(uo,en,O(so||(so=$(["\n cursor: not-allowed;\n color: ",";\n &:hover {\n color: inherit;\n background-color: unset;\n }\n "])),M.gray.dark2)),uo),Zo=a.forwardRef((function(n,e){var r=n.displayName,o=n.isFocused,t=n.onRemove,i=n.onFocus,a=c(ee),l=a.darkMode,s=a.size,f=a.disabled,h=a.chipTruncationLocation,g=void 0===h?"end":h,b=a.chipCharacterLimit,m=void 0===b?12:b,v=re(l),y=!!m&&!!g&&"none"!==g&&r.length>m,x=d(null),w=u((function(){if(y){var n=m-3;switch(g){case"start":return"…"+r.substring(r.length-n).trim();case"middle":return r.substring(0,n/2).trim()+"…"+r.substring(r.length-n/2).trim();case"end":return r.substring(0,n).trim()+"…";default:return r}}return!1}),[m,g,r,y]);p((function(){var n;o&&!f&&(null==x||null===(n=x.current)||void 0===n||n.focus())}),[f,e,o]);return L("span",{role:"option","aria-selected":o,"data-testid":"lg-combobox-chip",ref:e,className:S(yo,Ro,Go[v],Wo[s],Z({},Ko[v],f)),onClick:function(n){var e;null!==(e=x.current)&&void 0!==e&&e.contains(n.target)||i()},onKeyDown:function(n){f||n.keyCode!==I.Delete&&n.keyCode!==I.Backspace&&n.keyCode!==I.Enter&&n.keyCode!==I.Space||t()},tabIndex:-1},L("span",{className:S(Uo[s])},w?L(U,{darkMode:l,definition:r,align:"bottom"},w):r),L("button",{"aria-label":"Deselect ".concat(r),"aria-disabled":f,disabled:f,ref:x,className:S(Vo,Bo[v],Z({},Xo[v],f)),onClick:function(){f||t()}},L(k,{glyph:"X"})))}));Zo.displayName="Chip";var qo=["children","id","refEl","labelId","menuWidth","searchLoadingMessage","searchErrorMessage","searchEmptyMessage"],Yo=a.forwardRef((function(n,e){var r=n.children,o=n.id,t=n.refEl,a=n.labelId,l=n.menuWidth,s=n.searchLoadingMessage,d=n.searchErrorMessage,p=n.searchEmptyMessage,f=Y(n,qo),h=c(ee),g=h.disabled,b=h.darkMode,y=h.size,x=h.isOpen,w=h.searchState,C=m(e,null),N=re(b),z=v(t),E=i(z)?"unset":"".concat(Math.min(z,256),"px"),j=u((function(){var n=S(ge,be[N],me[y]);switch(w){case"loading":return L("span",{className:n},L(k,{glyph:"Refresh",color:b?M.blue.light1:M.blue.base,className:Ir}),s);case"error":return L("span",{className:n},L(k,{glyph:"Warning",color:b?M.red.light1:M.red.base}),d);default:return r&&"object"===X(r)&&"length"in r&&r.length>0?L("ul",{className:he},r):L("span",{className:n},p)}}),[N,y,w,b,s,d,r,p]);return L(V,q({active:x&&!g,spacing:4,align:"bottom",justify:"middle",refEl:t,adjustOnMutation:!0,className:S(ue(l),de[N])},f),L("div",{ref:C,id:o,role:"listbox","aria-labelledby":a,"aria-expanded":x,className:S(pe,fe[N],O(po||(po=$(["\n max-height: ",";\n "])),E)),onMouseDownCapture:function(n){return n.preventDefault()}},j))}));Yo.displayName="ComboboxMenu";var $o=["children","label","description","placeholder","aria-label","disabled","size","darkMode","state","errorMessage","searchState","searchEmptyMessage","searchErrorMessage","searchLoadingMessage","filteredOptions","onFilter","clearable","onClear","overflow","multiselect","initialValue","onChange","value","chipTruncationLocation","chipCharacterLimit","className","usePortal","portalClassName","portalContainer","scrollContainer","popoverZIndex"];function Jo(l){var c,m,v=l.children,C=l.label,O=l.description,z=l.placeholder,j=void 0===z?"Select":z,P=l["aria-label"],A=l.disabled,F=void 0!==A&&A,T=l.size,H=void 0===T?dn:T,R=l.darkMode,W=void 0!==R&&R,G=l.state,K=void 0===G?"none":G,U=l.errorMessage,V=l.searchState,$=void 0===V?"unset":V,Q=l.searchEmptyMessage,_=void 0===Q?"No results found":Q,nn=l.searchErrorMessage,en=void 0===nn?"Could not get results!":nn,rn=l.searchLoadingMessage,pn=void 0===rn?"Loading results...":rn,fn=l.filteredOptions,hn=l.onFilter,gn=l.clearable,mn=void 0===gn||gn,vn=l.onClear,yn=l.overflow,xn=void 0===yn?"expand-y":yn,wn=l.multiselect,kn=void 0!==wn&&wn,Cn=l.initialValue,Nn=l.onChange,On=l.value,Sn=l.chipTruncationLocation,zn=l.chipCharacterLimit,Mn=void 0===zn?12:zn,En=l.className,jn=l.usePortal,In=void 0===jn||jn,Dn=l.portalClassName,Pn=l.portalContainer,Ln=l.scrollContainer,An=l.popoverZIndex,Fn=Y(l,$o),Tn=re(W),Hn=y({prefix:"option"}),Rn=y({prefix:"chip"}),Wn=b({prefix:"combobox-input"}),Gn=b({prefix:"combobox-label"}),Kn=b({prefix:"combobox-menu"}),Un=d(null),Vn=d(null),Bn=d(null),Xn=d(null),Zn=d(null),qn=J(f(!1),2),Yn=qn[0],$n=qn[1],oe=x(Yn),te=J(f(null),2),ie=te[0],le=te[1],ce=J(f(null),2),se=ce[0],ue=ce[1],de=x(se),pe=J(f(""),2),fe=pe[0],he=pe[1],ge=x(fe),be=J(f(null),2),me=be[0],ve=be[1],ye=!o(se)&&(e(se)&&se.length>0||t(se)),xe=kn&&e(se)&&se.length>0?void 0:j,we=function(){return $n(!1)},ke=function(){return $n(!0)},Ce=u((function(){return ne(v)}),[v]),Ne=s((function(n){return!kn||"string"!=typeof n&&"number"!=typeof n?!kn&&e(n)&&D.error("Error in Combobox: multiselect is set to `false`, but recieved an Array value"):D.error("Error in Combobox: multiselect is set to `true`, but recieved a ".concat(X(n),' value: "').concat(n,'"')),kn&&e(n)}),[kn]),Oe=s((function(n){!F&&Xn&&Xn.current&&(Xn.current.focus(),i(n)||Xn.current.setSelectionRange(n,n))}),[F]),Se=s((function(e){if(Ne(se)){var r=n(se);o(e)?r.length=0:se.includes(e)?r.splice(r.indexOf(e),1):(r.push(e),he("")),ue(r),null==Nn||Nn(r)}else{var t=e;ue(t),null==Nn||Nn(t)}}),[Ne,Nn,se]),ze=s((function(n){return Ne(se)?se.includes(n):n===se}),[Ne,se]),Me=s((function(n){var e,r,o,t,i=(r=Ce,(e=n)?null!==(o=null===(t=r.find((function(n){return n.displayName===e})))||void 0===t?void 0:t.value)&&void 0!==o?o:e:"");return ze(i)}),[Ce,ze]),Ee=s((function(n){var e="string"==typeof n?n:n.value;return fn&&fn.length>0?fn.includes(e):!!Me(fe)||("string"==typeof n?_n(e,Ce):n.displayName).toLowerCase().includes(fe.toLowerCase())}),[fn,Me,fe,Ce]),je=u((function(){return Ce.filter(Ee)}),[Ce,Ee]),Ie=s((function(n){return!!n&&!!Ce.find((function(e){return e.value===n}))}),[Ce]),De=s((function(n){return je?je.findIndex((function(e){return e.value===n})):-1}),[je]),Pe=s((function(n){if(je&&je.length>=n){var e=je[n];return e?e.value:void 0}}),[je]),Le=s((function(){return Ne(se)?se.findIndex((function(n){var e,r;return null===(e=Rn(n))||void 0===e||null===(r=e.current)||void 0===r?void 0:r.contains(document.activeElement)})):-1}),[Rn,Ne,se]),Ae=J(f(),2),Fe=Ae[0],Te=Ae[1],He=s((function(n){var e,r=null!==(e=null==je?void 0:je.length)&&void 0!==e?e:0,o=r-1>0?r-1:0,t=De(ie);switch(n&&Yn&&(ve(null),Oe()),n){case"next":var i=Pe(t+1<r?t+1:0);le(null!=i?i:null);break;case"prev":var a=Pe(t-1>=0?t-1:o);le(null!=a?a:null);break;case"last":var l=Pe(o);le(null!=l?l:null);break;default:var c=Pe(0);le(null!=c?c:null)}}),[ie,De,Pe,Yn,Oe,null==je?void 0:je.length]),Re=s((function(n,e){if(Ne(se))switch(n){case"next":var r=null!=e?e:Le(),o=r+1<se.length?r+1:se.length-1,t=se[o];ve(t);break;case"prev":var i=null!=e?e:Le(),a=i>0?i-1:i<0?se.length-1:0,l=se[a];ve(l);break;case"first":var c=se[0];ve(c);break;case"last":var s=se[se.length-1];ve(s);break;default:ve(null)}}),[Le,Ne,se]),We=s((function(n,e){switch(n&&le(null),n){case"right":switch(Fe){case on:var r,o,t;if((null===(r=Xn.current)||void 0===r?void 0:r.selectionEnd)===(null===(o=Xn.current)||void 0===o?void 0:o.value.length))null===(t=Vn.current)||void 0===t||t.focus();break;case an:case cn:case ln:if(Fe===ln||1===(null==se?void 0:se.length)){Oe(0),Re(null),e.preventDefault();break}Re("next")}break;case"left":switch(Fe){case tn:var i;e.preventDefault(),Oe(null==Xn||null===(i=Xn.current)||void 0===i?void 0:i.value.length);break;case on:case cn:case ln:if(Ne(se)){var a;if(Fe===on&&0!==(null===(a=Xn.current)||void 0===a?void 0:a.selectionStart))break;Re("prev")}}break;default:Re(null)}}),[Fe,Ne,se,Oe,Re]);p((function(){fe!==ge&&He("first")}),[fe,Yn,ge,He]),p((function(){if(ie){var n=Hn(ie);if(n&&n.current&&Zn.current){var e=n.current.offsetTop,r=Zn.current,o=r.scrollTop;(e>r.offsetHeight||e<o)&&(Zn.current.scrollTop=e)}}}),[ie,Hn]);var Ge=s((function(n){if(E(n,"ComboboxOption")){var e=Jn(n.props),r=e.value,o=e.displayName;if(Ee(r)){var t=n.props,i=t.className,l=t.glyph,c=t.disabled,s=Ce.findIndex((function(n){return n.value===r})),u=ie===r,d=Ne(se)?se.includes(r):se===r,p=Hn(r);return L(Ur,{value:r,displayName:o,isFocused:u,isSelected:d,disabled:c,setSelected:function(){le(r),Se(r),Oe(),r===se&&we()},glyph:l,className:i,index:s,ref:p})}}else if(E(n,"ComboboxGroup")){var f=a.Children.map(n.props.children,Ge);if(f&&(null==f?void 0:f.length)>0)return L(ae,{label:n.props.label,className:n.props.className},a.Children.map(f,Ge))}}),[Ce,Hn,ie,Ne,se,Oe,Ee,Se]),Ke=u((function(){return a.Children.map(v,Ge)}),[v,Ge]),Ue=u((function(){if(Ne(se))return se.filter(Ie).map((function(n,e){var r=_n(n,Ce),o=me===n,t=Rn(n),i=e>=se.length-1;return L(Zo,{key:n,displayName:r,isFocused:o,onRemove:function(){i?(Oe(),Re(null)):Re("next",e),Se(n)},onFocus:function(){ve(n)},ref:t})}))}),[Ne,se,Ie,Ce,me,Rn,Se,Oe,Re]),Ve=u((function(){return L(a.Fragment,null,mn&&ye&&L(N,{"aria-label":"Clear selection","aria-disabled":F,disabled:F,ref:Vn,onClick:function(n){F||(Se(null),null==vn||vn(n),null==hn||hn(""),Yn||ke())},onFocus:Je,className:S(Lo),darkMode:W},L(k,{glyph:"XWithCircle"})),L(k,"error"===K?{glyph:"Warning",color:W?M.red.light1:M.red.base,className:Ao(H)}:{glyph:"CaretDown",className:Ao(H)}))}),[mn,ye,F,K,W,H,Se,vn,hn,Yn]),Be=u((function(){return Ce.some((function(n){return n.hasGlyph}))}),[Ce]),Xe=s((function(){if(!Ne(se)&&se===de){var n=je.find((function(n){return n.displayName===fe||n.value===fe}));if(n&&!On)ue(n.value);else{var e,r=null!==(e=_n(se,Ce))&&void 0!==e?e:"";he(r)}}}),[Ce,fe,Ne,de,se,On,je]),Ze=s((function(){if(ye){if(Ne(se))er();else if(!Ne(se)){var n,e=null!==(n=_n(se,Ce))&&void 0!==n?n:"";he(e),we()}}else he("")}),[ye,Ce,Ne,se]);p((function(){if(Cn)if(e(Cn)){var n,r=null!==(n=Cn.filter((function(n){return Ie(n)})))&&void 0!==n?n:[];ue(r)}else Ie(Cn)&&ue(Cn);else ue(function(n){return n?[]:null}(kn))}),[]),p((function(){if(!i(On)&&On!==ge)if(o(On))ue(null);else if(Ne(On)){var n=On.filter(Ie);ue(n)}else ue(Ie(On)?On:null)}),[Ne,Ie,ge,On]),p((function(){r(se,de)||Ze()}),[Ze,de,se]),p((function(){!Yn&&oe&&Xe()}),[Yn,oe,Xe]);var qe=J(f(0),2),Ye=qe[0],$e=qe[1];p((function(){var n,e;$e(null!==(n=null===(e=Un.current)||void 0===e?void 0:e.clientWidth)&&void 0!==n?n:0)}),[Un,Yn,ie,se]);var Je=function(){le(null)};w("mousedown",(function(n){nr(n)||(n.preventDefault(),n.stopPropagation())}),{enabled:Yn}),w("click",(function(n){nr(n)||(n.stopPropagation(),we())}),{options:{capture:!0},enabled:Yn});var Qe,_e=function(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?B(Object(r),!0).forEach((function(e){Z(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):B(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}({popoverZIndex:An},In?{usePortal:In,portalClassName:Dn,portalContainer:Pn,scrollContainer:Ln}:{usePortal:In});return L(ee.Provider,{value:{multiselect:kn,darkMode:W,size:H,withIcons:Be,disabled:F,isOpen:Yn,state:K,searchState:$,chipTruncationLocation:Sn,chipCharacterLimit:Mn,inputValue:fe}},L("div",q({className:S(xo(H,xn),En)},Fn),L("div",{className:Ho},C&&L(h,{id:Gn,htmlFor:Wn,darkMode:W},C),O&&L(g,{darkMode:W},O)),L("div",{ref:Un,role:"combobox","aria-expanded":Yn,"aria-controls":Kn,"aria-owns":Kn,tabIndex:-1,onMouseDown:function(n){F&&n.preventDefault()},onClick:function(n){if(n.target!==Xn.current){var e=0;if(Xn.current)e=n.nativeEvent.offsetX>Xn.current.offsetLeft+Xn.current.clientWidth?fe.length:0;Oe(e)}},onFocus:function(n){er(),ke(),Te(function(n){var e,r,o,t;if(!n)return;if(null!==(e=Xn.current)&&void 0!==e&&e.contains(n))return on;if(null!==(r=Vn.current)&&void 0!==r&&r.contains(n))return tn;var i=Ne(se)?se.findIndex((function(e){var r,o;return null===(r=Rn(e))||void 0===r||null===(o=r.current)||void 0===o?void 0:o.contains(n)})):-1;if(Ne(se)){if(0===i)return an;if(i===se.length-1)return ln;if(i>0)return cn}if(null!==(o=Zn.current)&&void 0!==o&&o.contains(n))return un;if(null!==(t=Un.current)&&void 0!==t&&t.contains(n))return sn}(n.target))},onKeyDown:function(n){var e,r,t=null===(e=Zn.current)||void 0===e?void 0:e.contains(document.activeElement);if((null===(r=Un.current)||void 0===r?void 0:r.contains(document.activeElement))||t){if(n.ctrlKey||n.shiftKey||n.altKey)return;switch(n.keyCode){case I.Tab:switch(Fe){case"Input":ye||(we(),He("first"),Re(null));break;case"LastChip":Re(null)}break;case I.Escape:we(),He("first");break;case I.Enter:!Yn||Fe!==on||o(ie)||function(n){if("string"==typeof n){var e=Qn(n,Ce);return!(null==e||!e.isDisabled)}return!!n.isDisabled}(ie)?Fe===tn&&(Se(null),Oe()):Se(ie);break;case I.Backspace:var i;if(Ne(se))"Input"===Fe&&0===(null===(i=Xn.current)||void 0===i?void 0:i.selectionStart)&&Re("last");ke();break;case I.ArrowDown:Yn?(n.preventDefault(),He("next")):ke();break;case I.ArrowUp:Yn?(n.preventDefault(),He("prev")):ke();break;case I.ArrowRight:We("right",n);break;case I.ArrowLeft:We("left",n);break;default:Yn||ke()}}},onTransitionEnd:function(){var n,e;$e(null!==(n=null===(e=Un.current)||void 0===e?void 0:e.clientWidth)&&void 0!==n?n:0)},className:S(wo,ko[Tn],Co(H),(c={},Z(c,No[Tn],F),Z(c,Oo[Tn],K===bn),Z(c,So[Tn],(Qe=on,Qe===Fe)),c))},L("div",{ref:Bn,className:zo({size:H,overflow:xn})},Ue,L("input",{"aria-label":null!=P?P:C,"aria-autocomplete":"list","aria-controls":Kn,"aria-labelledby":Gn,ref:Xn,id:Wn,className:S(Mo,jo[H],Eo[Tn],Io(Yn,xn),(m={},Z(m,Do(H,fe),Ne(se)),Z(m,Po(se),Ne(se)),m)),placeholder:xe,disabled:null!=F?F:void 0,onChange:function(n){var e=n.target.value;he(e),null==hn||hn(e)},value:fe,autoComplete:"off"})),Ve),"error"===K&&U&&L("div",{className:S(Fo[Tn],To[H])},U),L(Yo,q({id:Kn,labelId:Gn,refEl:Un,ref:Zn,menuWidth:Ye,searchLoadingMessage:pn,searchErrorMessage:en,searchEmptyMessage:_},_e),Ke)));function nr(n){var e,r,o=n.target;return(null===(e=Zn.current)||void 0===e?void 0:e.contains(o))||(null===(r=Un.current)||void 0===r?void 0:r.contains(o))||!1}function er(){Bn&&Bn.current&&(Bn.current.scrollLeft=Bn.current.scrollWidth)}}export{Jo as Combobox,le as ComboboxGroup,Vr as ComboboxOption};
2
2
  //# sourceMappingURL=index.js.map