UNPKG

@2e32/react-select

Version:
12 lines (10 loc) 11 kB
var Lt=Object.create;var q=Object.defineProperty,Ct=Object.defineProperties,Mt=Object.getOwnPropertyDescriptor,Dt=Object.getOwnPropertyDescriptors,It=Object.getOwnPropertyNames,Z=Object.getOwnPropertySymbols,_t=Object.getPrototypeOf,se=Object.prototype.hasOwnProperty,Me=Object.prototype.propertyIsEnumerable;var Ce=(e,t,o)=>t in e?q(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,i=(e,t)=>{for(var o in t||(t={}))se.call(t,o)&&Ce(e,o,t[o]);if(Z)for(var o of Z(t))Me.call(t,o)&&Ce(e,o,t[o]);return e},p=(e,t)=>Ct(e,Dt(t));var c=(e,t)=>{var o={};for(var r in e)se.call(e,r)&&t.indexOf(r)<0&&(o[r]=e[r]);if(e!=null&&Z)for(var r of Z(e))t.indexOf(r)<0&&Me.call(e,r)&&(o[r]=e[r]);return o};var kt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),St=(e,t)=>{for(var o in t)q(e,o,{get:t[o],enumerable:!0})},Vt=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of It(t))!se.call(e,n)&&n!==o&&q(e,n,{get:()=>t[n],enumerable:!(r=Mt(t,n))||r.enumerable});return e};var S=(e,t,o)=>(o=e!=null?Lt(_t(e)):{},Vt(t||!e||!e.__esModule?q(o,"default",{value:e,enumerable:!0}):o,e));var b=kt((Ro,Q)=>{(function(){"use strict";var e={}.hasOwnProperty;function t(){for(var n="",s=0;s<arguments.length;s++){var a=arguments[s];a&&(n=r(n,o(a)))}return n}function o(n){if(typeof n=="string"||typeof n=="number")return n;if(typeof n!="object")return"";if(Array.isArray(n))return t.apply(null,n);if(n.toString!==Object.prototype.toString&&!n.toString.toString().includes("[native code]"))return n.toString();var s="";for(var a in n)e.call(n,a)&&n[a]&&(s=r(s,a));return s}function r(n,s){return s?n?n+" "+s:n+s:n}typeof Q!="undefined"&&Q.exports?(t.default=t,Q.exports=t):typeof define=="function"&&typeof define.amd=="object"&&define.amd?define("classnames",[],function(){return t}):window.classNames=t})()});import ao,{useState as po,useEffect as co,useCallback as L,useMemo as uo,useRef as rt}from"react";var z={ENTER:"Enter",NUM_ENTER:"NumpadEnter",TAB:"Tab"},De=8;var Ie=S(b());import{forwardRef as Ut}from"react";import{jsx as Bt}from"react/jsx-runtime";var _e=Ut((e,t)=>{let P=e,{className:o,disabled:r=!1,readOnly:n=!1,loading:s=!1,block:a=!1}=P,m=c(P,["className","disabled","readOnly","loading","block"]);return Bt("div",i({ref:t,className:(0,Ie.default)("e-select",o,{"e-select--disabled":r,"e-select--readonly":n&&!r,"e-select--loading":s,"e-select--block":a})},m))});_e.displayName="Container";var le=_e;var ke=S(b());import{forwardRef as Ht}from"react";import{jsx as At}from"react/jsx-runtime";var Se=Ht((e,t)=>{let s=e,{open:o=!1,className:r}=s,n=c(s,["open","className"]);return At("div",i({ref:t,className:(0,ke.default)("e-select__dropdown",r,{"e-select__dropdown--hidden":!o})},n))});Se.displayName="Dropdown";var ie=Se;import{jsx as Kt}from"react/jsx-runtime";var Ft=o=>{var r=o,{children:e="No options"}=r,t=c(r,["children"]);return Kt("li",p(i({className:"e-select__empty"},t),{children:e}))},ae=Ft;var Ve=S(b());import{jsx as Gt}from"react/jsx-runtime";var Wt=e=>{let s=e,{selected:t=!1,disabled:o=!1,className:r}=s,n=c(s,["selected","disabled","className"]);return Gt("li",p(i({},n),{className:(0,Ve.default)("e-select__item",r,{"e-select__item--selected":t,"e-select__item--disabled":o})}))},pe=Wt;var Ue=S(b());import{jsx as Jt}from"react/jsx-runtime";var Yt=e=>{let r=e,{className:t}=r,o=c(r,["className"]);return Jt("ul",i({className:(0,Ue.default)("e-select__items",t)},o))},V=Yt;var U={};St(U,{useClickOutside:()=>Ke,useIcons:()=>$,useOpen:()=>Ge,useOptions:()=>Ye});import{useEffect as Ae,useRef as Fe}from"react";var y=e=>typeof e=="string",X=e=>typeof e=="number",Be=e=>typeof e=="boolean",He=e=>e==null,w=e=>typeof e=="function";var Zt=({isClickOutside:e,onClickOutside:t})=>{let o=Fe(e),r=Fe(t);Ae(()=>{o.current=e,r.current=t},[e,t]),Ae(()=>{let n=s=>{var m;let a=r.current;(m=o.current)!=null&&m.call(o,s)&&w(a)&&a(s)};return window.addEventListener("mousedown",n),()=>{window.removeEventListener("mousedown",n)}},[])},Ke=Zt;import{jsx as ce}from"react/jsx-runtime";var qt=({dropdownIcon:e,loadingIcon:t,clearIcon:o})=>({dropdownIcon:e!=null?e:ce(ue,{height:"18px",fill:"var(--e-colors-darkgray-lighten-70)"}),loadingIcon:t!=null?t:ce(fe,{}),clearIcon:o!=null?o:ce(de,{height:"18px",className:"e-select__clear"})}),$=qt;import{useState as zt,useCallback as Qt}from"react";var Xt=e=>{let{controlledValue:t,defaultUncontrolledValue:o}=e,[r,n]=zt(o),s=t!==void 0,a=s?t:r,m=Qt(P=>{s||n(P)},[s]);return[a,m]},We=Xt;var $t=({open:e,defaultOpen:t})=>We({controlledValue:e,defaultUncontrolledValue:t}),Ge=$t;import{useMemo as jt}from"react";var eo=({options:e,filter:t,sort:o})=>jt(()=>{if(!Array.isArray(e))return[];if(e.length===0)return e;let r=w(t),n=w(o);if(!r&&!n)return e;let s=e.slice();return r&&(s=s.filter(t)),n&&s.sort(o),s},[e,t,o]),Ye=eo;var Je=(e,t)=>Object.is(e,t);var Ze=(e,t,o)=>y(o)?e[o]:w(o)?o(e,t):y(e)||X(e)?e:t,qe=(e,t)=>y(t)?e[t]:w(t)?t(e):e,ze=(e,t,o)=>y(o)?e[o]:w(o)?o(e,t):y(e)||X(e)?e:JSON.stringify(e),Qe=(e,t)=>e==null?null:y(t)?e[t]:w(t)?t(e):y(e)||X(e)?e:JSON.stringify(e);import{jsx as no}from"react/jsx-runtime";var to=e=>He(e)?!1:y(e)?e.trim().length!==0:!Be(e),oo=o=>{var r=o,{children:e}=r,t=c(r,["children"]);return to(e)?no("span",p(i({className:"e-select__placeholder"},t),{children:e})):null},me=oo;var je=S(b());import{forwardRef as ro}from"react";import{jsx as B,jsxs as $e}from"react/jsx-runtime";var Xe=e=>B("button",p(i({},e),{tabIndex:-1,className:"e-select__action"})),et=ro((e,t)=>{let F=e,{children:o,loading:r=!1,allowClear:n=!1,className:s,dropdownIcon:a,loadingIcon:m,clearIcon:P,prependIcon:C,appendIcon:M,onClear:h}=F,g=c(F,["children","loading","allowClear","className","dropdownIcon","loadingIcon","clearIcon","prependIcon","appendIcon","onClear"]),{dropdownIcon:H,loadingIcon:A,clearIcon:j}=$({dropdownIcon:a,loadingIcon:m,clearIcon:P}),D=E=>{E.preventDefault(),h==null||h(E)},ee=E=>{E.preventDefault()};return $e("div",p(i({ref:t,className:(0,je.default)("e-select__box",s)},g),{children:[C&&B("div",{className:"e-select__prepend-inner",children:C}),B("div",{className:"e-select__value",children:o}),$e("div",{className:"e-select__append-inner",children:[M,r&&A,n&&B(Xe,{onMouseDown:D,children:j}),B(Xe,{onMouseDown:ee,children:H})]})]}))});et.displayName="Toggle";var Oe=et;import{jsx as tt}from"react/jsx-runtime";var so=e=>tt("svg",p(i({xmlns:"http://www.w3.org/2000/svg",height:"24px",width:"24px",viewBox:"0 0 24 24"},e),{children:tt("path",{d:"M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z"})})),ue=so;import{jsx as ot}from"react/jsx-runtime";var lo=e=>ot("svg",p(i({xmlns:"http://www.w3.org/2000/svg",height:"24px",width:"24px",viewBox:"0 0 24 24"},e),{children:ot("path",{d:"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"})})),de=lo;import{jsx as ye,jsxs as nt}from"react/jsx-runtime";var io=()=>nt("svg",{height:"24px",width:"24px",viewBox:"0 0 24 24",children:[ye("circle",{cx:"12",cy:"12",r:"11",fill:"none",stroke:"currentColor",strokeWidth:"1",strokeOpacity:"0.25"}),nt("circle",{cx:"12",cy:"12",r:"11",fill:"none",stroke:"currentColor",strokeWidth:"1",strokeLinecap:"round",children:[ye("animate",{attributeName:"stroke-dasharray",dur:"2s",values:"0 70; 70 0",repeatCount:"indefinite"}),ye("animateTransform",{attributeName:"transform",type:"rotate",from:"0 12 12",to:"360 12 12",dur:"3s",repeatCount:"indefinite"})]})]}),fe=io;import{jsx as N,jsxs as xo}from"react/jsx-runtime";import{createElement as wo}from"react";var{useOpen:fo,useOptions:mo,useClickOutside:Oo}=U,yo=(e,t)=>{var be,Le;let Ee=e,{value:o,valueContent:r,placeholder:n,options:s=[],optionKey:a,optionContent:m,optionValue:P,optionDisabled:C,isValueEqualOption:M,noOptionsContent:h="No options",disabled:g=!1,readOnly:H=!1,autoFocus:A=!1,allowClear:j=!1,loading:D=!1,open:ee,defaultOpen:F=!1,closeOnSelect:E=!0,closeOnClickOutside:we=!0,allowDeselect:lt=!1,dropdownIcon:it,loadingIcon:at,clearIcon:pt,prependIcon:ct,appendIcon:ut,filter:dt,sort:ft,renderMenu:xe,renderOption:Te,renderEmptyOption:Pe,onOpen:K,onClose:u,onOpenChange:d,onSelect:W,onDeselect:te,onClear:G,onChange:O,onFocus:mt,onBlur:Ot}=Ee,yt=c(Ee,["value","valueContent","placeholder","options","optionKey","optionContent","optionValue","optionDisabled","isValueEqualOption","noOptionsContent","disabled","readOnly","autoFocus","allowClear","loading","open","defaultOpen","closeOnSelect","closeOnClickOutside","allowDeselect","dropdownIcon","loadingIcon","clearIcon","prependIcon","appendIcon","filter","sort","renderMenu","renderOption","renderEmptyOption","onOpen","onClose","onOpenChange","onSelect","onDeselect","onClear","onChange","onFocus","onBlur"]),[x,R]=fo({open:ee,defaultOpen:F}),oe=mo({options:s,filter:dt,sort:ft}),I=rt(null),[ne,wt]=po(),Re=rt(null),Y=o!=null,xt=g?void 0:0,ge=g||H,Tt=Y&&j&&!ge&&!D,Pt=!!h,ve=M!=null?M:Je;co(()=>{var l;A&&((l=I.current)==null||l.focus())},[A]);let Rt=L(l=>{I.current=l,wt(l)},[]),Ne=(be=ne==null?void 0:ne.clientHeight)!=null?be:0,gt=uo(()=>({top:Ne+De}),[Ne]),re=L(()=>{x?u==null||u():K==null||K();let l=!x;d==null||d(l),R(l)},[x,K,u,d,R]),vt=L(l=>{if([z.ENTER,z.NUM_ENTER].includes(l.code))re();else if(l.code===z.TAB){let f=document.activeElement===I.current;x&&f&&(R(!1),u==null||u(),d==null||d(!1))}},[x,R,re,u,d]),Nt=L(()=>{Y&&(G==null||G(o),O==null||O(null))},[o,Y,G,O]),ht=L(l=>{var k,J;let f=l.target,T=(k=I.current)==null?void 0:k.contains(f),v=(J=Re.current)==null?void 0:J.contains(f);return!T&&!v},[]),Et=L(()=>{var l;we&&x&&(R(!1),u==null||u(),d==null||d(!1),(l=I.current)==null||l.blur())},[x,we,R,u,d]);Oo({isClickOutside:ht,onClickOutside:Et});let bt=(l,f)=>{if(f.preventDefault(),ve(o,l))Y&&lt&&(te==null||te(o,l),O==null||O(null));else{let T=qe(l,P);W==null||W(T,l),O==null||O(T)}E&&(u==null||u(),d==null||d(!1),R(!1))},he=(l,f)=>{let T=Ze(l,f,a),v=ve(o,l),k=C?C(l):!1;return{key:T,selected:v,disabled:k,onMouseDown:k?void 0:J=>bt(l,J)}},_;if(xe)_=xe({value:o,options:oe,originOptions:s,open:x,getOptionProps:he,hideMenu:()=>R(!1),onSelect:W});else{let l;oe.length?(l=oe.map((f,T)=>{let v=he(f,T);return Te?Te({option:f,optionProps:v}):wo(pe,p(i({},v),{key:v.key}),ze(f,T,m))}),_=N(V,{children:l})):Pe?_=N(V,{children:Pe()}):_=Pt?N(V,{children:N(ae,{children:h})}):null}return xo(le,p(i({ref:t,disabled:g,readOnly:H,loading:D},yt),{children:[N(Oe,{ref:Rt,tabIndex:xt,loading:D,allowClear:Tt,dropdownIcon:it,loadingIcon:at,clearIcon:pt,prependIcon:ct,appendIcon:ut,onClick:g?void 0:re,onKeyDown:g?void 0:vt,onClear:Nt,onFocus:mt,onBlur:Ot,children:(Le=Qe(o,r))!=null?Le:N(me,{children:n})}),N(ie,{ref:Re,open:ge?!1:x,style:gt,children:_})]}))},st=ao.forwardRef(yo);var Qn=st;export{Qn as default}; /*! Bundled license information: classnames/index.js: (*! Copyright (c) 2018 Jed Watson. Licensed under the MIT License (MIT), see http://jedwatson.github.io/classnames *) */ //# sourceMappingURL=index.js.map