UNPKG

@2e32/react-select

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