Module 691885

6,862 characters · in no known chunk
Dependencies
Source Raw
function(e,t,n){"use strict";n.d(t,{l:()=>C});var i=n(627968),r=n(64700),s=n(503698),a=n.n(s),o=n(494012),l=n(612324),u=n(661531),c=n(603392),d=n(890856),_=n(452027),f=n(140735),h=n(540637),p=n(460890),E=n(528265),m=n(834730),g=n(991957),A=n(44482),I=n(601973),T=n(483084),S=n(641668),N=n(715022),y=n(930856);function C(e){let{i18n:t}=(0,p.G9)(),{selectionMode:n,readOnly:s,autoFocus:E,clearable:m,fullWidth:C,closeOnSelect:O=!0,shouldFocusWrap:R,placeholder:b=t.SELECT_PLACEHOLDER,name:D,form:L,autoComplete:w,maxOptionsVisible:M=5,options:P,formatOption:x,onSelectionChange:U,value:k,wrapTags:G=!1,variant:F="default",...V}=e,B=r.useRef(null),{fieldProps:H}=(0,_.n)(V),{id:j,required:Y,label:W,disabled:K}=H,{isOpen:z,setIsOpen:$,refs:q,floatingStyles:Z,getReferenceProps:X,getFloatingProps:Q,transitionStyles:J}=(0,S.G)(),ee=r.useId(),{options:et,loading:en}=(0,T.K)({active:z,options:P,renderOption:x}),ei=r.useRef(null),er=r.useRef(null),[es,ea]=r.useState(null),eo=null!=es?(0,N.ZN)(ee,es):void 0,el=r.useRef(!1),eu=r.useRef(!1),ec=O??"multiple"!==n,ed=Array.isArray(k)?k.length>0:null!=k,e_=K||s,{measuredWidth:ef,itemsForMeasurement:eh}=function(e,t){let{ref:n,width:s}=(0,o.Ay)(),a=r.useId();return{measuredWidth:s,itemsForMeasurement:r.useMemo(()=>(0,i.jsx)("div",{ref:n,style:{position:"absolute",visibility:"hidden",pointerEvents:"none",width:"max-content"},"aria-hidden":"true",children:(0,i.jsx)(h.q,{id:`measurement-${a}`,required:!1,items:e,selectionMode:t,selectedItems:[],onSelectionChange:()=>{},shouldFocusWrap:!1,renderListItem:e=>(0,i.jsx)(A.c,{...e})})}),[e,t,a,n])}}(et,n),ep=r.useCallback(()=>{e_||$(!z)},[e_,$,z]),eE=r.useCallback(e=>{z&&0===e.button&&e.preventDefault()},[z]),em=r.useCallback(()=>{$(!1),ei.current?.focus()},[$]),eg=r.useCallback(()=>{!1!==m&&("multiple"===n?U([]):U(null),ei.current?.focus())},[U,n,m]);r.useEffect(()=>{E&&ei.current?.focus()},[E]);let eA=r.useRef(null),eI=r.useCallback(e=>{if(!eA.current?.contains(e.relatedTarget)){if(eu.current){eu.current=!1;return}if(z&&"single"===n&&null!=es){let e=et[es];null!=e&&!0!==e.disabled&&U(e.value)}z&&$(!1)}},[z,n,es,et,U,$]),eT=r.useMemo(()=>{let e=Array.isArray(k)?k:[k];return et.filter(t=>(0,N.fI)(t.value,e))},[k,et]),eS=r.useCallback(e=>{if(e_)return;let t=Array.from(e);"multiple"===n&&t.length<1?U([]):"multiple"===n?U(t.map(e=>e.value)):U(t[0]?.value),ec&&z&&em()},[e_,n,U,ec,em,z]),{activeIndex:eN,handleKeyDown:ey}=(0,h.l)(!0,et),eC=r.useRef(null);r.useEffect(()=>{let e=eN!==eC.current;eC.current=eN,null!=eN&&e&&(ea(eN),z||(el.current=!0,$(!0)))},[eN,z,$]);let ev=r.useCallback(e=>{if(e_)return;let t=et.length;switch(e.key){case"ArrowDown":case"PageDown":{let n="PageDown"===e.key?10:1;if(0===t)return;if(e.preventDefault(),!z||e.altKey){z||$(!0);return}ea(e=>{if(null===e)return 0;let i=e+n;return i>=t&&R?0:Math.min(i,t-1)});break}case"ArrowUp":case"PageUp":{let n="PageUp"===e.key?10:1;if(0===t)return;if(e.preventDefault(),e.altKey&&z){if(null!=es){let e=et[es];if(null!=e&&!0!==e.disabled){eS([e]);break}}em();break}if(!z)return void $(!0);ea(e=>{if(null===e)return 0;let i=e-n;return i<0&&R?t-1:Math.max(i,0)});break}case"Enter":case" ":if(e.preventDefault(),e.stopPropagation(),!z)return void $(!0);if(null==es||es>t-1)return;{let e=et[es];if(null==e||!0===e.disabled)return;eS("single"===n?[e]:(0,N.qH)(n,eT,e))}break;case"Home":if(e.preventDefault(),0===t)return;ea(0),z||(el.current=!0,$(!0));break;case"End":if(e.preventDefault(),0===t)return;ea(t-1),z||(el.current=!0,$(!0));break;case"Tab":if(z&&"single"===n&&null!=es){let e=et[es];null!=e&&!0!==e.disabled&&U(e.value)}eu.current=!0,$(!1);break;case"ArrowLeft":e.preventDefault(),B.current?.firstChild?.focus();break;case"ArrowRight":e.preventDefault(),B.current?.lastChild?.focus();break;case"Backspace":ed&&(e.preventDefault(),B.current?.lastChild?.focus());break;case"Escape":z?(e.preventDefault(),e.stopPropagation(),em()):ed&&m&&(e.preventDefault(),e.stopPropagation(),eg());break;default:ey(e)}},[e_,z,et,R,n,eT,es,U,eS,em,eg,ey,ed,m,$]),eO=r.useMemo(()=>{if(!C)return`${Math.max(ef??200,200)*("multiple"===n?1.5:1)+24*!!m+36+12}px`},[C,ef,n,m]),eR="multiple"===n&&eT.length>0,eb=r.useRef(null);r.useEffect(()=>{clearTimeout(eb.current),eR&&!G&&(eb.current=setTimeout(()=>{B.current?.lastElementChild?.scrollIntoView({behavior:"smooth",inline:"end",block:"end"})},10))},[eT,eR,G]);let eD=(0,l.A)(er,q.setReference),eL=r.useCallback(e=>{if(e_)return;let t=Array.from(e)[0],n=eT.filter(e=>e.id!==t);eS(n),0===n.length&&ei.current?.focus()},[eS,eT,e_]),ew=Math.max(et.findIndex(e=>e.id===eT[eT.length-1]?.id),0),eM=r.useRef(!1);r.useEffect(()=>{en||!z||eM.current?z||(eM.current=!1,ea(null),el.current=!1):(eM.current=!0,el.current||ea(et.length>0?ew:null),el.current=!1,ei.current?.focus())},[en,z,ew,et.length]);let eP=(0,c.r)(u.A.modules.select.MAX_WIDTH),ex=r.useMemo(()=>({horizontalControlColumnWidth:`min(${eP}px, auto)`}),[eP]);return(0,i.jsx)(_.D,{...H,"data-mana-component":"select",layoutConfig:ex,children:e=>(0,i.jsx)("div",{ref:eA,style:{width:C?"100%":`minmax(${eO}px, 100%)`},children:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(I.p,{ref:eD,disabled:K,readOnly:s,loading:en,clearable:m,fullWidth:C,isOpen:z,isInert:e_,hasValue:ed,hasError:e?.errorMessageId!=null,handleToggle:ep,handleClear:eg,variant:F,...X(),children:(0,i.jsxs)(d.s,{"aria-label":W,buttonRef:ei,buttonProps:{...null!=j?{id:j}:{},style:{marginLeft:-4},role:"combobox","aria-haspopup":"listbox","aria-controls":z?ee:void 0,"aria-expanded":z,"aria-activedescendant":eo,"aria-errormessage":e?.errorMessageId,"aria-invalid":e?.errorMessageId!=null,"aria-required":Y,children:(0,i.jsx)(f.A,{children:eT.map(e=>e.label).join(", ")})},focusProps:{ringTarget:er},className:a()(y.L5,{[y.kj]:G,[y.M8]:"multiple"===n}),onClick:ep,onMouseDown:eE,onKeyDown:ev,onBlur:eI,"aria-describedby":e?.describedById,children:[(0,i.jsxs)(f.A,{children:[W,", "]}),(0,i.jsx)(v,{tagGroupRef:B,placeholder:b,selectionMode:n,selectedItems:eT,onRemove:eL})]})}),(0,i.jsx)(g.H,{name:D,form:L,disabled:e_,autoComplete:w,selectionMode:n,selectedItems:eT,onSelectionChange:eS,listItems:et}),!C&&eh,!e_&&z&&(0,i.jsx)("div",{ref:q.setFloating,className:y.S_,...Q(),style:{...Z,...J},children:(0,i.jsx)(h.q,{id:ee,tabIndex:-1,required:Y,items:et,selectionMode:n,selectedItems:eT,onSelectionChange:eS,shouldFocusWrap:R,activeDescendantIndex:es,renderListItem:e=>(0,i.jsx)(A.c,{...e}),maxVisibleItems:M,loading:en})})]})})})}function v(e){let{placeholder:t,selectionMode:n,selectedItems:r,onRemove:s,tagGroupRef:a}=e,{i18n:o}=(0,p.G9)();return null==r||0===r.length?(0,i.jsx)("div",{className:y.qf,children:(0,i.jsx)(m.E,{variant:"text-md/normal",color:"currentColor",lineClamp:1,children:t})}):"multiple"===n?(0,i.jsx)(E.C,{listRef:a,label:o.SELECTED_TAGS_HEADING,items:r,layout:"inline",onRemove:s}):(0,i.jsx)(A.c,{...r[0],inInput:!0})}}