siegel
Version:
Web application development ecosystem
1 lines • 753 B
JavaScript
import e from"react";import o from"../../_internals/apply_classname.js";function t(e){e.stopPropagation()}export default function(n,i,l){let{options:a,selected:s,theme:r,listSelectedOption:p,listDisabledOptions:c,multiselect:d}=n,m=[],u=d?[]:void 0,f=d?new Set:void 0;for(let t=0;t<a.length;t++){let n=a[t],{disabled:h,title:v,value:_,payload:w,className:E}=n;if(!c&&h)continue;let g=d?s.has(_):_===s;if(g&&(d?u.push(n):u=n,f=t,!p))continue;let y={children:v,className:o(r.option,[[r.option__active,g||l==t],[r.option__disabled,h],[E,!0]]),onMouseDown:h?void 0:e=>{i(_,e,w)},key:_};m.push(e.createElement("div",{...y}))}return{selectedOption:u,selectedOptionIndex:f,optionsElement:e.createElement("div",{className:r.options,onMouseDown:t,children:m})}};