UNPKG

@jswork/react-selection

Version:

Selection component for react.

2 lines 2.79 kB
var y=Object.create;var v=Object.defineProperty,V=Object.defineProperties,g=Object.getOwnPropertyDescriptor,z=Object.getOwnPropertyDescriptors,F=Object.getOwnPropertyNames,N=Object.getOwnPropertySymbols,H=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty,I=Object.prototype.propertyIsEnumerable;var A=(e,t,c)=>t in e?v(e,t,{enumerable:!0,configurable:!0,writable:!0,value:c}):e[t]=c,m=(e,t)=>{for(var c in t||(t={}))h.call(t,c)&&A(e,c,t[c]);if(N)for(var c of N(t))I.call(t,c)&&A(e,c,t[c]);return e},P=(e,t)=>V(e,z(t)),i=(e,t)=>v(e,"name",{value:t,configurable:!0});var T=(e,t)=>{var c={};for(var s in e)h.call(e,s)&&t.indexOf(s)<0&&(c[s]=e[s]);if(e!=null&&N)for(var s of N(e))t.indexOf(s)<0&&I.call(e,s)&&(c[s]=e[s]);return c};var K=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Q=(e,t,c,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of F(t))!h.call(e,o)&&o!==c&&v(e,o,{get:()=>t[o],enumerable:!(s=g(t,o))||s.enumerable});return e};var U=(e,t,c)=>(c=e!=null?y(H(e)):{},Q(t||!e||!e.__esModule?v(c,"default",{value:e,enumerable:!0}):c,e));var b=K((d,w)=>{"use strict";Object.defineProperty(d,"__esModule",{value:!0});var M=i(function(){},"NOOP"),W="",Z=[],$={};w.exports=M;d.default=M;d.NOOP_STRING=W;d.NOOP_ARRAY=Z;d.NOOP_OBJECT=$});var O=U(b());import D,{useState as ee,useEffect as te}from"react";import ce from"classnames";import se from"@jswork/react-list";import le from"fast-deep-equal";var L="react-selection",oe=i((e,t)=>{let c=e.indexOf(t);return c>-1?e.splice(c,1):e.push(t),e},"toggle"),ne={max:1e3,allowDeselect:!1,multiple:!1,onChange:O.default,onError:O.default,items:[]},ae=i(e=>{let x=m(m({},ne),e),{allowDeselect:t=!1,max:c=1e3,items:s=[],value:o,onChange:n=O.default,onError:E=O.default,multiple:f=!1,template:S,options:R,listProps:k,className:B,children:ie}=x,C=T(x,["allowDeselect","max","items","value","onChange","onError","multiple","template","options","listProps","className","children"]),[l,_]=ee(o||(f?[]:null));te(()=>{let r=le(o,l);o!==void 0&&!r&&(_(o),n==null||n(o))},[o,n,l]);let G=i(r=>{let{item:a}=r,p=f?X:J,u=f?l==null?void 0:l.includes(a.value):l===a.value,Y=f&&(l==null?void 0:l.length)>=c&&!u,j=i(()=>p(a),"cb"),q=P(m({},R),{multiple:f,max:c,disabled:Y,active:u,value:l,cb:j});return S==null?void 0:S(P(m({},r),{options:q}))},"handleTemplate"),J=i(r=>{let a=r.value,u=t&&a===l?null:a;_(u),l!==u&&(n==null||n(u))},"handleItemSelectSingle"),X=i(r=>{let a=oe([...l],r.value),p=c>0?a.slice(0,c):a;if(a.length>c){E==null||E({code:"MAX_LIMIT_EXCEED"});return}_(p),n==null||n(p)},"handleItemSelectMultiple");return D.createElement("div",m({"data-component":L,className:ce(L,B)},C),D.createElement(se,m({items:s,template:G,options:R},k)))},"ReactSelection"),Oe=ae;export{Oe as default}; //# sourceMappingURL=index.esm.js.map