1import{Autocomplete as fe,Item as J}from"../../../frontend-js-clay-web/__liferay__/exports/@clayui$autocomplete.js";import Re from"../../../frontend-js-clay-web/__liferay__/exports/@clayui$autocomplete.js";var de=Re;import{ClayButtonWithIcon as ge}from"../../../frontend-js-clay-web/__liferay__/exports/@clayui$button.js";import Ke from"../../../frontend-js-clay-web/__liferay__/exports/@clayui$button.js";import{ClayCheckbox as We,ClayInput as A,ClayDualListBox as Ye,ClayRadio as Je,ClayRadioGroup as Xe,ClaySelect as Qe,ClaySelectBox as Ze,ClaySelectWithOption as et,ClayToggle as tt}from"../../../frontend-js-clay-web/__liferay__/exports/@clayui$form.js";import qe from"../../../frontend-js-clay-web/__liferay__/exports/@clayui$form.js";import{FocusScope as be,Keys as l,LinkOrButton as lt,MouseSafeArea as at,Overlay as rt,PanelResizer as st,ClayPortal as it,delegate as ut,doAlign as ct,getEllipsisItems as mt,getLocatorValue as g,observeRect as pt,isMac as dt,isIPhone as ft,isIPad as gt,isIOS as bt,isAppleDevice as yt,setElementFullHeight as It,stack as Ct,sub as X,throttle as Lt,useControlledState as Q,useDebounce as Et,useFocusManagement as vt,FOCUSABLE_ELEMENTS as ht,useHover as xt,useId as Z,useInteractionFocus as At,useFocusVisible as Tt,useIsFirstRender as _t,useIsMobileDevice as kt,useMousePosition as St,useNavigation as Rt,isTypeahead as Dt,getFocusableList as Mt,useOverlayPosition as Ft,usePrevious as wt}from"../../../frontend-js-clay-web/__liferay__/exports/@clayui$shared.js";import{}from"../../../frontend-js-react-web/__liferay__/exports/classnames.js";import De from"../../../frontend-js-react-web/__liferay__/exports/classnames.js";var ye=De;import{Children as Kt,Component as Gt,Fragment as Ut,Profiler as $t,PureComponent as qt,StrictMode as jt,Suspense as zt,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED as Wt,cloneElement as Yt,createContext as Jt,createElement as Xt,createFactory as Qt,createRef as Zt,forwardRef as en,isValidElement as tn,lazy as nn,memo as on,startTransition as ln,unstable_act as an,useCallback as ee,useContext as rn,useDebugValue as sn,useDeferredValue as un,useEffect as V,useId as cn,useImperativeHandle as mn,useInsertionEffect as pn,useLayoutEffect as dn,useMemo as Ie,useReducer as fn,useRef as E,useState as O,useSyncExternalStore as gn,useTransition as bn,version as yn}from"../../../frontend-js-react-web/__liferay__/exports/react.js";import Me from"../../../frontend-js-react-web/__liferay__/exports/react.js";var n=Me;import{ClayIconSpriteContext as En}from"../../../frontend-js-clay-web/__liferay__/exports/@clayui$icon.js";import Fe from"../../../frontend-js-clay-web/__liferay__/exports/@clayui$icon.js";var Ce=Fe;import{}from"../../../frontend-js-clay-web/__liferay__/exports/@clayui$label.js";import we from"../../../frontend-js-clay-web/__liferay__/exports/@clayui$label.js";var te=we;var He=["Enter",","],Ne=[l.Left,l.Right,l.Up,l.Down],Le=[l.Left,l.Right],Ee=0,ve=n.forwardRef(function({allowDuplicateValues:K=!0,allowsCustomLabel:v,"aria-activedescendant":k,ariaDescriptionId:oe,closeButtonAriaLabel:T,disabled:S,inputName:G,insetAfter:ue,labels:p,lastChangesRef:U,locator:d,onChange:R,onFocusChange:$,onLabelsChange:D,placeholder:le,spritemap:ae,suggestionList:re,value:b,...c},a){let q=E(null),r=E(null),I=E(null),[se,j]=O(null),[y,C]=O(null),h=a||q,z=Z(),W=e=>re.find(t=>g({item:t,locator:d.label})===e),i=e=>{Ee++;let t=typeof d.label=="function"?"label":d.label,o=typeof d.value=="function"?"value":d.value;return W(e)||{key:`key_${Ee}`,[t]:e,[o]:e}},M=ee((e,t)=>{if(r.current){let o=Array.from(r.current.querySelectorAll("button")),u=document.activeElement.tagName==="SPAN"?document.activeElement.querySelector("button"):document.activeElement,s=o.indexOf(u),m=o[o.length-1>s?s+1:s-1];m?(m.focus(),C(m.getAttribute("id"))):(h.current?.focus(),C(null))}U.current={action:"removed",label:e},D(p.filter((o,u)=>u!==t))},[p]);return V(()=>{if(r.current){let e=Array.from(r.current.querySelectorAll(".label [aria-describedby]")),t=e[e.length-1];t&&C(t.getAttribute("id"))}},[p]),n.createElement(A.GroupItem,null,n.createElement(A.Group,null,
1n.createElement(A.GroupItem,{"aria-labelledby":c["aria-labelledby"],className:"d-contents",onFocus:e=>C(e.target.getAttribute("id")),onKeyDown:e=>{if(Ne.includes(e.key)){e.preventDefault();let t=Array.from(e.currentTarget.querySelectorAll(Le.includes(e.key)?"[role=gridcell][tabindex], button":y?.includes("span")?"[role=gridcell][tabindex]":"button")),o=t.indexOf(document.activeElement),u=Le.includes(e.key)?l.Left:l.Up,s=t[e.key===u?o-1:o+1];s&&(C(s.getAttribute("id")),s.focus())}if(e.key===l.Home||e.key===l.End){e.preventDefault();let t=y.includes("span");if(t&&e.key===l.Home||!t&&e.key===l.End)return;let o=e.currentTarget.querySelector(`[id=${y?.replace(t?"span":"close",e.key===l.Home?"span":"close")}]`);o&&(C(o.getAttribute("id")),o.focus())}},prepend:!0,ref:e=>{r.current=e},role:"grid",shrink:!0},p.map((e,t)=>{let o=g({item:e,locator:d.value}),u=g({item:e,locator:d.id})??o,s=`${z}-label-${u}-span`,m=`${z}-label-${u}-close`,_=g({item:e,locator:d.label});return n.createElement(n.Fragment,{key:s},n.createElement(te,{className:se===s?"focus":void 0,onKeyDown:({key:F})=>{F===l.Backspace&&M(_||"",t)},role:"row",spritemap:ae,tabIndex:-1,withClose:!1},n.createElement(te.ItemExpand,{"aria-describedby":oe,id:s,onBlur:()=>j(null),onFocus:()=>j(s),role:"gridcell",style:{outline:"none"},tabIndex:y===null&&t===0||y===s?0:-1},_),n.createElement(te.ItemAfter,{role:"gridcell"},n.createElement("button",{"aria-label":X(T,[_||""]),className:"close",disabled:S,id:m,onClick:()=>M(_||"",t),ref:F=>{t===p.length-1&&(I.current=F)},tabIndex:y===m?0:-1,type:"button"},n.createElement(Ce,{spritemap:ae,symbol:"times-small"})))),G&&n.createElement("input",{name:G,type:"hidden",value:o}))})),n.createElement(A.GroupItem,{prepend:!0},n.createElement("input",{...c,"aria-activedescendant":k,className:"form-control-inset",disabled:S,onBlur:e=>{c.onBlur&&c.onBlur(e),$(!1)},onChange:e=>{let{value:t}=e.target;e.target.value=v?t.replace(",",""):t,R(e)},onFocus:e=>{c.onFocus&&c.onFocus(e),$(!0)},onKeyDown:e=>{c.onKeyDown&&c.onKeyDown(e);let{key:t}=e;if(t===l.Backspace&&!b&&e.preventDefault(),!(t===l.Enter&&k))if(v&&b.trim()&&He.includes(t)){if(!K&&b&&p.find(o=>o.label?.toLowerCase()===`${b}`.toLowerCase())){R({target:{value:""}});return}e.preventDefault(),U.current={action:"added",label:b},D([...p,i(b)]),R({target:{value:""}})}else!b&&t===l.Backspace&&h.current&&I.current&&(h.current.blur(),I.current.focus())},onPaste:e=>{if(c.onPaste&&c.onPaste(e),e.defaultPrevented)return;let o=e.clipboardData.getData("Text").split(",").map(u=>i(u.trim())).filter(Boolean);v&&o.length&&(e.preventDefault(),D([...p,...o]))},placeholder:p.length?void 0:le,ref:h,type:"text",value:b}))))});var he=n.forwardRef(function({active:K,allowsCustomLabel:v=!0,allowDuplicateValues:k=!0,alignmentByViewport:oe,children:T,clearAllTitle:S="Clear All",closeButtonAriaLabel:G="Remove {0}",defaultActive:ue=!1,defaultItems:p=[],defaultValue:U="",disabled:d,disabledClearAll:R,hotkeysDescription:$,inputName:D,inputValue:le,isLoading:ae,isValid:re=!0,items:b,liveRegion:c,locator:a={id:"key",label:"label",value:"value"},loadingState:q,menuRenderer:r,messages:I={hotkeys:"Press backspace to delete the current row.",labelAdded:"Label {0} added to the list",labelRemoved:"Label {0} removed to the list",listCount:"{0} option available.",listCountPlural:"{0} options available.",loading:"Loading...",notFound:"No results found"},onActiveChange:se,onChange:j,onClearAllButtonClick:y,onItemsChange:C,onLoadMore:h,placeholder:z,size:W,sourceItems:i=null,spritemap:M,value:e,...t},o){let u=E(null),s=E(null),m=E(null),[_,F]=O(!1),[L,w]=Q({defaultName:"defaultItems",defaultValue:p,handleName:"onItemsChange",name:"items",onChange:C,value:b}),[x,Y]=Q({defaultName:"defaultValue",defaultValue:U,handleName:"onChange",name:"value",onChange:j,value:e??le}),[ce,H]=Q({defaultName:"defaultActive",defaultValue:ue,handleName:"onActiveChange",name:"active",onChange:se,value:K}),Te=Ie(()=>L.map(f=>String(g({item:f,locator:a.value}))),[L,a.value]),N=o||s,me=Z(),ie=!!h||typeof q=="number",_e=r?be:n.Fragment,ke=r?{arrowKeysUpDown:!1}:{};V(()=>{r&&console.warn("<ClayMultiSelect />: You are using 'menuRenderer' which is deprecated and missing the new features and improvements that have been implemented in the component try to migrate to the new composition based API to custom list items."),v&&(typeof a.label=="function"||typeof a.value=="function")&&console.warn("<ClayMultiSelect />: Custom labels cannot be created because the expected structure of the label is unknown. Please disable allowsCustomLabel or update the locators to be strings rather than functions.")},[]),V(()=>{r&&i&&H(!!x&&i.length!==0)},[x,i]);let Se=ee(f=>{let pe=P=>{P.preventDefault(),H(!1),!(!k&&L.find(B=>g({item:B,locator:a.value})===g({item:f,locator:a.value})))&&(w([...L,f]),Y(""))};if(T&&typeof T=="function"){let P=T(f);return n.cloneElement(P,{onClick:B=>{P.props.onClick&&P.props.onClick(B),!B.defaultPrevented&&pe(B)}})}return n.createElement(J,{key:g({item:f,locator:a.value}),onClick:pe},g({item:f,locator:a.label}))},[T,a,L,w,k]);return n.createElement(_e,{...ke},n.createElement("div",{className:ye("form-control form-control-tag-group input-group",{focus:_&&re,[`form-control-tag-group-${W}`]:W}),ref:u},n.createElement(fe,{...t,UNSAFE_loadingShrink:!0,active:r?!1:ce,allowsCustomLabel:typeof a.label=="function"||typeof a.value=="function"?!1:v,ariaDescriptionId:me,as:ve,closeButtonAriaLabel:G,containerElementRef:u,defaultItems:ie?void 0:i,disabled:d,filterKey:a.label,inputName:D,items:ie?i:void 0,labels:L,lastChangesRef:m,loadingState:q,locator:a,menuTrigger:"focus",messages:I,onActiveChange:r?()=>{}:H,onChange:Y,onFocus:r&&i?f=>{t.onFocus&&t.onFocus(f),H(!!x&&i.length!==0)}:t.onFocus,onFocusChange:F,onItemsChange:ie?()=>{}:void 0,onLabelsChange:w,onLoadMore:h,placeholder:z,ref:N,selectedKeys:Te,spritemap:M,suggestionList:i??[],value:x},Se),i&&r&&!!i.length&&n.createElement(de.DropDown,{active:ce,alignElementRef:u,alignmentByViewport:oe,onActiveChange:H},n.createElement(r,{inputValue:x,locator:a,onItemClick:f=>{w([...L,f]),Y(""),N.current&&N.current.focus()},sourceItems:i,value:x})),!d&&!R&&(x||!!L.length)&&n.createElement(A.GroupItem,{shrink:!0},n.createElement(ge,{"aria-label":S,borderless:!0,className:"component-action",displayType:"secondary",onClick:()=>{y?y():(w([]),Y("")),N.current&&N.current.focus()},outline:!0,spritemap:M,symbol:"times-circle",title:S})),n.createElement("div",{className:"sr-only"},n.createElement("span",{id:me},$??I.hotkeys),n.createElement("span",{"aria-live":"polite","aria-relevant":"text"},m.current?X(c?c[m.current.action]:m.current.action==="added"?I.labelAdded:I.labelRemoved,[m.current.label]):null))))});function xe(ne,K,v="label"){return ne}var Ae=Object.assign(he,{Item:J});var qn=Ae;export{qn as default,xe as itemLabelFilter}; 2//# sourceMappingURL=@clayui$multi-select.(NW7KHP5A).js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.