@react-querybuilder/material
Version:
Custom MUI (Material Design) components for react-querybuilder
2 lines • 10.9 kB
JavaScript
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require("react");c=s(c);let l=require("react-querybuilder"),u=require("@mui/icons-material/Close");u=s(u);let d=require("@mui/icons-material/ContentCopy");d=s(d);let f=require("@mui/icons-material/DragIndicator");f=s(f);let p=require("@mui/icons-material/KeyboardArrowDown");p=s(p);let m=require("@mui/icons-material/KeyboardArrowUp");m=s(m);let h=require("@mui/icons-material/Lock");h=s(h);let g=require("@mui/icons-material/LockOpen");g=s(g);let _=require("@mui/material/Button");_=s(_);let v=require("@mui/material/Checkbox");v=s(v);let y=require("@mui/material/FormControl");y=s(y);let b=require("@mui/material/FormControlLabel");b=s(b);let x=require("@mui/material/InputLabel");x=s(x);let S=require("@mui/material/ListSubheader");S=s(S);let C=require("@mui/material/MenuItem");C=s(C);let w=require("@mui/material/Radio");w=s(w);let T=require("@mui/material/RadioGroup");T=s(T);let E=require("@mui/material/Select");E=s(E);let D=require("@mui/material/Switch");D=s(D);let O=require("@mui/material/TextareaAutosize");O=s(O);let k=require("@mui/material/TextField");k=s(k);const A=(0,c.createContext)(null),j=({className:e,handleOnClick:t,label:n,title:r,disabled:i,disabledTranslation:a,testID:o,path:s,level:u,rules:d,context:f,validation:p,ruleOrGroup:m,schema:h,muiComponents:g,..._})=>{let v=(0,c.useContext)(A)??g,y=v?`mui`:`no-mui`;if(!v){let g=l.ActionElement;return c.createElement(g,{key:y,className:e,handleOnClick:t,label:n,title:r,disabled:i,disabledTranslation:a,testID:o,path:s,level:u,rules:d,context:f,validation:p,ruleOrGroup:m,schema:h})}let{Button:b}=v;return c.createElement(b,{key:y,variant:`contained`,color:`secondary`,className:e,title:a&&i?a.title:r,size:`small`,disabled:i&&!a,onClick:e=>t(e),..._},a&&i?a.label:n)},M=(0,c.forwardRef)(({className:e,title:t,path:n,level:r,testID:i,label:a,disabled:o,context:s,validation:u,schema:d,ruleOrGroup:f,muiComponents:p,...m},h)=>{let g=(0,c.useContext)(A)??p,_=g?`mui`:`no-mui`;if(!g)return c.createElement(l.DragHandle,{key:_,path:n,level:r,className:e,title:t,testID:i,label:a,disabled:o,context:s,validation:u,schema:d,ruleOrGroup:f});let{DragIndicator:v}=g;return c.createElement(`span`,{key:_,ref:h,className:e,title:t},c.createElement(v,m))}),N=({className:e,handleOnChange:t,label:n,checked:r,title:i,disabled:a,level:o,path:s,context:u,validation:d,testID:f,schema:p,ruleGroup:m,muiComponents:h,...g})=>{let _=(0,c.useContext)(A)??h,{FormControlLabel:v,Switch:y}=_??{},b=(0,c.useMemo)(()=>y&&c.createElement(y,{checked:!!r,onChange:e=>t(e.target.checked),...g}),[r,t,g,y]),x=_?`mui`:`no-mui`;return _?c.createElement(v,{key:x,className:e,title:i,disabled:a,control:b,label:n??``}):c.createElement(l.NotToggle,{key:x,className:e,handleOnChange:t,label:n,checked:r,title:i,disabled:a,path:s,level:o,context:u,validation:d,testID:f,schema:p,ruleGroup:m})},P=({path:e,shiftUp:t,shiftDown:n,shiftUpDisabled:r,shiftDownDisabled:i,disabled:a,className:o,labels:s,titles:u,testID:d,muiComponents:f,...p})=>{let m=c.useContext(A)??f,h=m?`mui`:`no-mui`;if(!m)return c.createElement(l.ShiftActions,{key:h,path:e,disabled:a,className:o,labels:s,titles:u,testID:d,shiftUp:t,shiftDown:n,shiftUpDisabled:r,shiftDownDisabled:i,...p});let{Button:g}=m;return c.createElement(`div`,{key:h,"data-testid":d,className:o},c.createElement(g,{sx:{boxShadow:`none`},variant:`contained`,color:`secondary`,className:o,title:u?.shiftUp,size:`small`,disabled:a||r,onClick:t},s?.shiftUp),c.createElement(g,{sx:{boxShadow:`none`},variant:`contained`,color:`secondary`,className:o,title:u?.shiftDown,size:`small`,disabled:a||i,onClick:n},s?.shiftDown))},F=e=>{let{muiComponents:t,...n}=e,{field:r,fieldData:i,operator:a,value:o,handleOnChange:s,title:u,className:d,type:f,inputType:p,path:m,level:h,values:g=[],listsAsArrays:_,separator:v,valueSource:y,disabled:b,testID:x,selectorComponent:S=e.schema.controls.valueSelector,showInputLabels:C,extraProps:w,parseNumbers:T,...E}=n,D=(0,c.useContext)(A)??t,{valueAsArray:O,multiValueHandler:k,bigIntValueHandler:j,parseNumberMethod:M,valueListItemClassName:N,inputTypeCoerced:P}=(0,l.useValueEditor)(n),F=D?`mui`:`no-mui`,{Checkbox:I,FormControl:L,FormControlLabel:R,Radio:z,RadioGroup:B,Switch:V,TextareaAutosize:H,TextField:U,showInputLabels:W}=(0,c.useMemo)(()=>D??{},[D]);if(!D)return c.createElement(l.ValueEditor,{skipHook:!0,key:F,...n});if(a===`null`||a===`notNull`)return null;let G=i?.placeholder??``,K=C||W;if((a===`between`||a===`notBetween`)&&(f===`select`||f===`text`)){let e=[`From`,`To`].map((e,t)=>f===`text`?c.createElement(U,{key:e,variant:`standard`,type:P,className:N,placeholder:G,value:O[t]??``,disabled:b,label:K?e:void 0,onChange:e=>k(e.target.value,t),...w}):c.createElement(S,{key:e,...E,title:K?e:void 0,path:m,level:h,className:N,handleOnChange:e=>k(e,t),muiComponents:D,disabled:b,value:O[t]??(0,l.getFirstOption)(g),options:g,listsAsArrays:_}));return c.createElement(L,{key:F,"data-testid":x,className:d,title:u,disabled:b},e[0],v,e[1])}switch(f){case`select`:case`multiselect`:return c.createElement(S,{key:F,...E,muiComponents:D,path:m,level:h,className:d,handleOnChange:s,options:g,value:o,disabled:b,title:u,multiple:f===`multiselect`,listsAsArrays:_});case`textarea`:return c.createElement(H,{key:F,value:o,title:u,disabled:b,className:d,placeholder:G,onChange:e=>s(e.target.value),...w});case`switch`:return c.createElement(V,{key:F,checked:!!o,title:u,disabled:b,className:d,onChange:e=>s(e.target.checked),...w});case`checkbox`:return c.createElement(I,{key:F,className:d,title:u,onChange:e=>s(e.target.checked),checked:!!o,disabled:b,...w});case`radio`:return c.createElement(L,{key:F,className:d,title:u,component:`fieldset`,disabled:b,...w},c.createElement(B,{value:o,onChange:e=>s(e.target.value)},g.map(e=>c.createElement(R,{key:e.name,disabled:b,value:e.name,control:c.createElement(z,null),name:e.name,label:e.label}))))}return p===`bigint`?c.createElement(U,{key:F,variant:`standard`,"data-testid":x,type:P,placeholder:G,value:`${o}`,title:u,className:d,disabled:b,label:K?u:void 0,onChange:e=>j(e.target.value),...w}):c.createElement(U,{key:F,variant:`standard`,type:P,value:o,title:u,disabled:b,className:d,placeholder:G,label:K?u:void 0,onChange:e=>s((0,l.parseNumber)(e.target.value,{parseNumbers:M})),...w})},I={ListSubheader:()=>null,MenuItem:()=>c.createElement(c.Fragment,null)},L=(e=[],{ListSubheader:t,MenuItem:n}=I)=>{if((0,l.isOptionGroupArray)(e)){let r=[];for(let i of e)r.push(c.createElement(t,{key:i.label},i.label),...i.options.map(e=>c.createElement(n,{key:e.name,value:e.name},e.label)));return r}return Array.isArray(e)?e.map(e=>c.createElement(n,{key:e.name,value:e.name},e.label)):null},R=({className:e,handleOnChange:t,options:n,value:r,disabled:i,title:a,multiple:o,listsAsArrays:s,testID:u,rule:d,ruleGroup:f,rules:p,level:m,path:h,context:g,validation:_,operator:v,field:y,fieldData:b,schema:x,muiComponents:S,showInputLabels:C,defaultValue:w,...T})=>{let E=(0,c.useContext)(A)??S,{onChange:D,val:O}=(0,l.useValueSelector)({handleOnChange:t,listsAsArrays:s,multiple:o,value:r}),k=c.useCallback(({target:{value:e}})=>{D(e)},[D]),j=E?`mui`:`no-mui`;if(!E){let S=l.ValueSelector;return c.createElement(S,{key:j,className:e,handleOnChange:t,options:n,value:r,disabled:i,title:a,multiple:o,listsAsArrays:s,testID:u,rule:d,ruleGroup:f,rules:p,level:m,path:h,context:g,validation:_,operator:v,field:y,fieldData:b,schema:x})}let{FormControl:M,InputLabel:N,ListSubheader:P,MenuItem:F,Select:I,showInputLabels:R}=E,z=C||R;return c.createElement(M,{key:j,variant:`standard`,className:e,title:a,disabled:i},z&&c.createElement(N,null,a),c.createElement(I,{value:O,onChange:k,multiple:o,disabled:i,label:z?a:void 0,...T},L(n,{ListSubheader:P,MenuItem:F})))},z=()=>{let e=c.useContext(A);if(!e)return l.defaultTranslations.removeRule.label;let{CloseIcon:t}=e;return c.createElement(t,null)},B=()=>{let e=c.useContext(A);if(!e)return l.defaultTranslations.cloneRule.label;let{ContentCopyIcon:t}=e;return c.createElement(t,null)},V=()=>{let e=c.useContext(A);if(!e)return l.defaultTranslations.lockRuleDisabled.label;let{LockIcon:t}=e;return c.createElement(t,null)},H=()=>{let e=c.useContext(A);if(!e)return l.defaultTranslations.lockRule.label;let{LockOpenIcon:t}=e;return c.createElement(t,null)},U={removeGroup:{label:c.createElement(z,null)},removeRule:{label:c.createElement(z,null)},cloneRule:{label:c.createElement(B,null)},cloneRuleGroup:{label:c.createElement(B,null)},lockGroup:{label:c.createElement(H,null)},lockRule:{label:c.createElement(H,null)},lockGroupDisabled:{label:c.createElement(V,null)},lockRuleDisabled:{label:c.createElement(V,null)},shiftActionDown:{label:c.createElement(()=>{let e=c.useContext(A);if(!e)return l.defaultTranslations.shiftActionDown.label;let{KeyboardArrowDownIcon:t}=e;return c.createElement(t,null)},null)},shiftActionUp:{label:c.createElement(()=>{let e=c.useContext(A);if(!e)return l.defaultTranslations.shiftActionUp.label;let{KeyboardArrowUpIcon:t}=e;return c.createElement(t,null)},null)}},W={DragIndicator:f.default,Button:_.default,Checkbox:v.default,CloseIcon:u.default,ContentCopyIcon:d.default,FormControl:y.default,FormControlLabel:b.default,InputLabel:x.default,KeyboardArrowDownIcon:p.default,KeyboardArrowUpIcon:m.default,ListSubheader:S.default,LockIcon:h.default,LockOpenIcon:g.default,MenuItem:C.default,Radio:w.default,RadioGroup:T.default,Select:E.default,Switch:D.default,TextareaAutosize:O.default,TextField:k.default},G=e=>{let t=(0,c.useContext)(A);return(0,c.useMemo)(()=>e&&t?{...W,...t,...e}:e?{...W,...e}:t?{...W,...t}:W,[t,e])},K={actionElement:j,dragHandle:M,notToggle:N,shiftActions:P,valueEditor:F,valueSelector:R},q=(0,l.getCompatContextProvider)({controlElements:K,translations:U}),J=({muiComponents:e,showInputLabels:t,...n})=>{let r=G(e),i=(0,c.useMemo)(()=>({...r,...e,showInputLabels:t}),[r,e,t]);return c.createElement(A.Provider,{value:i},c.createElement(q,n))};exports.MaterialActionElement=j,exports.MaterialDragHandle=M,exports.MaterialNotToggle=N,exports.MaterialShiftActions=P,exports.MaterialValueEditor=F,exports.MaterialValueSelector=R,exports.QueryBuilderMaterial=J,exports.RQBMaterialContext=A,exports.defaultMuiComponents=W,exports.materialControlElements=K,exports.materialTranslations=U,exports.useMuiComponents=G;
//# sourceMappingURL=react-querybuilder_material.cjs.production.js.map