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