@react-querybuilder/core 8.9.2 → 8.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{arrayUtils-BF1P8iHS.mjs → arrayUtils-C9sO4qLO.mjs} +3 -75
- package/dist/arrayUtils-C9sO4qLO.mjs.map +1 -0
- package/dist/arrayUtils-QxZOZTf6.js +73 -0
- package/dist/arrayUtils-QxZOZTf6.js.map +1 -0
- package/dist/basic-BmpEwexQ.d.mts +363 -0
- package/dist/basic-CDDA-KZa.d.ts +363 -0
- package/dist/cjs/react-querybuilder_core.cjs.development.d.ts +553 -1247
- package/dist/cjs/react-querybuilder_core.cjs.development.js +408 -121
- package/dist/cjs/react-querybuilder_core.cjs.development.js.map +1 -1
- package/dist/cjs/react-querybuilder_core.cjs.production.d.ts +553 -1247
- package/dist/cjs/react-querybuilder_core.cjs.production.js +1 -1
- package/dist/cjs/react-querybuilder_core.cjs.production.js.map +1 -1
- package/dist/{convertQuery-H7RhQiIc.mjs → convertQuery-BUgyz1GA.mjs} +2 -2
- package/dist/{convertQuery-H7RhQiIc.mjs.map → convertQuery-BUgyz1GA.mjs.map} +1 -1
- package/dist/{export-r-V7bU31.d.mts → export-Ccjfea21.d.mts} +3 -2
- package/dist/{export-DyrnTh6K.d.ts → export-GUuxJ7zR.d.ts} +3 -2
- package/dist/formatQuery.d.mts +3 -2
- package/dist/formatQuery.d.ts +3 -2
- package/dist/formatQuery.js +217 -87
- package/dist/formatQuery.js.map +1 -1
- package/dist/formatQuery.mjs +217 -87
- package/dist/formatQuery.mjs.map +1 -1
- package/dist/{import-Cksobmln.d.ts → import-D-hm1phN.d.ts} +2 -2
- package/dist/{import-BwbbP4oU.d.mts → import-Dxevzw_-.d.mts} +2 -2
- package/dist/{isRuleGroup-CnhYpLOM.mjs → isRuleGroup-CGe_rb2w.mjs} +1 -1
- package/dist/{isRuleGroup-CnhYpLOM.mjs.map → isRuleGroup-CGe_rb2w.mjs.map} +1 -1
- package/dist/{optGroupUtils-CXLgyg2i.js → optGroupUtils-B0hTpodo.js} +114 -1
- package/dist/optGroupUtils-B0hTpodo.js.map +1 -0
- package/dist/{optGroupUtils-Duv-M8rf.mjs → optGroupUtils-DrubUpx0.mjs} +86 -3
- package/dist/optGroupUtils-DrubUpx0.mjs.map +1 -0
- package/dist/parseCEL.d.mts +292 -11
- package/dist/parseCEL.d.ts +292 -11
- package/dist/parseCEL.js +114 -30
- package/dist/parseCEL.js.map +1 -1
- package/dist/parseCEL.mjs +69 -31
- package/dist/parseCEL.mjs.map +1 -1
- package/dist/parseJSONata.d.mts +3 -2
- package/dist/parseJSONata.d.ts +3 -2
- package/dist/parseJSONata.js +49 -77
- package/dist/parseJSONata.js.map +1 -1
- package/dist/parseJSONata.mjs +4 -5
- package/dist/parseJSONata.mjs.map +1 -1
- package/dist/parseJsonLogic.d.mts +4 -3
- package/dist/parseJsonLogic.d.ts +4 -3
- package/dist/parseJsonLogic.js +5 -6
- package/dist/parseJsonLogic.js.map +1 -1
- package/dist/parseJsonLogic.mjs +5 -6
- package/dist/parseJsonLogic.mjs.map +1 -1
- package/dist/parseMongoDB.d.mts +3 -2
- package/dist/parseMongoDB.d.ts +3 -2
- package/dist/parseMongoDB.js +15 -16
- package/dist/parseMongoDB.js.map +1 -1
- package/dist/parseMongoDB.mjs +5 -6
- package/dist/parseMongoDB.mjs.map +1 -1
- package/dist/{parseNumber-BtGKa58z.mjs → parseNumber-B_-sR6d5.mjs} +1 -1
- package/dist/{parseNumber-BtGKa58z.mjs.map → parseNumber-B_-sR6d5.mjs.map} +1 -1
- package/dist/{parseNumber-Bcys1kOH.js → parseNumber-D4iQDxK-.js} +1 -1
- package/dist/{parseNumber-Bcys1kOH.js.map → parseNumber-D4iQDxK-.js.map} +1 -1
- package/dist/parseSQL.d.mts +3 -2
- package/dist/parseSQL.d.ts +3 -2
- package/dist/parseSQL.js +11 -15
- package/dist/parseSQL.js.map +1 -1
- package/dist/parseSQL.mjs +12 -16
- package/dist/parseSQL.mjs.map +1 -1
- package/dist/parseSpEL.d.mts +3 -2
- package/dist/parseSpEL.d.ts +3 -2
- package/dist/parseSpEL.js +7 -9
- package/dist/parseSpEL.js.map +1 -1
- package/dist/parseSpEL.mjs +5 -6
- package/dist/parseSpEL.mjs.map +1 -1
- package/dist/{prepareQueryObjects-BqFEs4eV.js → prepareQueryObjects-BOUWfel5.js} +4 -5
- package/dist/prepareQueryObjects-BOUWfel5.js.map +1 -0
- package/dist/{prepareQueryObjects-CS6Wmhmf.mjs → prepareQueryObjects-CJNpnGcJ.mjs} +5 -6
- package/dist/prepareQueryObjects-CJNpnGcJ.mjs.map +1 -0
- package/dist/query-builder-layout.css +1 -1
- package/dist/query-builder-layout.css.map +1 -1
- package/dist/query-builder.css +1 -1
- package/dist/query-builder.css.map +1 -1
- package/dist/react-querybuilder_core.d.mts +553 -1247
- package/dist/react-querybuilder_core.legacy-esm.d.ts +553 -1247
- package/dist/react-querybuilder_core.legacy-esm.js +412 -119
- package/dist/react-querybuilder_core.legacy-esm.js.map +1 -1
- package/dist/react-querybuilder_core.mjs +405 -122
- package/dist/react-querybuilder_core.mjs.map +1 -1
- package/dist/react-querybuilder_core.production.d.mts +553 -1247
- package/dist/react-querybuilder_core.production.mjs +1 -1
- package/dist/react-querybuilder_core.production.mjs.map +1 -1
- package/dist/styles/_layout.scss +61 -17
- package/dist/styles/_main.scss +17 -4
- package/dist/{transformQuery-FL_nlpp5.js → transformQuery-CWDPogO5.js} +1 -1
- package/dist/{transformQuery-FL_nlpp5.js.map → transformQuery-CWDPogO5.js.map} +1 -1
- package/dist/{transformQuery-DdMvmrCh.mjs → transformQuery-DHvtgDgZ.mjs} +2 -2
- package/dist/{transformQuery-DdMvmrCh.mjs.map → transformQuery-DHvtgDgZ.mjs.map} +1 -1
- package/dist/transformQuery.d.mts +1 -1
- package/dist/transformQuery.d.ts +1 -1
- package/dist/transformQuery.js +1 -1
- package/dist/transformQuery.mjs +2 -2
- package/package.json +14 -12
- package/dist/arrayUtils-BF1P8iHS.mjs.map +0 -1
- package/dist/arrayUtils-D5EoIsKP.js +0 -164
- package/dist/arrayUtils-D5EoIsKP.js.map +0 -1
- package/dist/basic-BfD-7CN3.d.mts +0 -1235
- package/dist/basic-C8xXKHIA.d.ts +0 -1235
- package/dist/objectUtils-BBZSfZJz.js +0 -17
- package/dist/objectUtils-BBZSfZJz.js.map +0 -1
- package/dist/objectUtils-BtWdcZVG.mjs +0 -11
- package/dist/objectUtils-BtWdcZVG.mjs.map +0 -1
- package/dist/optGroupUtils-CXLgyg2i.js.map +0 -1
- package/dist/optGroupUtils-Duv-M8rf.mjs.map +0 -1
- package/dist/prepareQueryObjects-BqFEs4eV.js.map +0 -1
- package/dist/prepareQueryObjects-CS6Wmhmf.mjs.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
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(`immer`);c=s(c);let l=require(`numeric-quantity`);l=s(l);const u=`~`,d=`------`,f=`~`,p=d,m=d,h=`~`,g=d,_=d,v=`~`,y=d,b=d,x=`,`,ee={"=":`=`,"!=":`!=`,"<":`<`,">":`>`,"<=":`<=`,">=":`>=`,contains:`contains`,beginsWith:`begins with`,endsWith:`ends with`,doesNotContain:`does not contain`,doesNotBeginWith:`does not begin with`,doesNotEndWith:`does not end with`,null:`is null`,notNull:`is not null`,in:`in`,notIn:`not in`,between:`between`,notBetween:`not between`},S={and:`AND`,or:`OR`,xor:`XOR`},C=[{name:`=`,value:`=`,label:`=`},{name:`!=`,value:`!=`,label:`!=`},{name:`<`,value:`<`,label:`<`},{name:`>`,value:`>`,label:`>`},{name:`<=`,value:`<=`,label:`<=`},{name:`>=`,value:`>=`,label:`>=`},{name:`contains`,value:`contains`,label:`contains`},{name:`beginsWith`,value:`beginsWith`,label:`begins with`},{name:`endsWith`,value:`endsWith`,label:`ends with`},{name:`doesNotContain`,value:`doesNotContain`,label:`does not contain`},{name:`doesNotBeginWith`,value:`doesNotBeginWith`,label:`does not begin with`},{name:`doesNotEndWith`,value:`doesNotEndWith`,label:`does not end with`},{name:`null`,value:`null`,label:`is null`},{name:`notNull`,value:`notNull`,label:`is not null`},{name:`in`,value:`in`,label:`in`},{name:`notIn`,value:`notIn`,label:`not in`},{name:`between`,value:`between`,label:`between`},{name:`notBetween`,value:`notBetween`,label:`not between`}],w={"=":`!=`,"!=":`=`,"<":`>=`,"<=":`>`,">":`<=`,">=":`<`,beginsWith:`doesNotBeginWith`,doesNotBeginWith:`beginsWith`,endsWith:`doesNotEndWith`,doesNotEndWith:`endsWith`,contains:`doesNotContain`,doesNotContain:`contains`,between:`notBetween`,notBetween:`between`,in:`notIn`,notIn:`in`,notNull:`null`,null:`notNull`},T=[{name:`and`,value:`and`,label:`AND`},{name:`or`,value:`or`,label:`OR`}],E=[...T,{name:`xor`,value:`xor`,label:`XOR`}],D=[{name:`all`,value:`all`,label:`all`},{name:`some`,value:`some`,label:`some`},{name:`none`,value:`none`,label:`none`},{name:`atLeast`,value:`atLeast`,label:`at least`},{name:`atMost`,value:`atMost`,label:`at most`},{name:`exactly`,value:`exactly`,label:`exactly`}],O={queryBuilder:`queryBuilder`,ruleGroup:`ruleGroup`,header:`ruleGroup-header`,body:`ruleGroup-body`,combinators:`ruleGroup-combinators`,addRule:`ruleGroup-addRule`,addGroup:`ruleGroup-addGroup`,cloneRule:`rule-cloneRule`,cloneGroup:`ruleGroup-cloneGroup`,removeGroup:`ruleGroup-remove`,notToggle:`ruleGroup-notToggle`,rule:`rule`,fields:`rule-fields`,matchMode:`rule-matchMode`,matchThreshold:`rule-matchThreshold`,operators:`rule-operators`,value:`rule-value`,removeRule:`rule-remove`,betweenRules:`betweenRules`,valid:`queryBuilder-valid`,invalid:`queryBuilder-invalid`,shiftActions:`shiftActions`,dndDragging:`dndDragging`,dndOver:`dndOver`,dndCopy:`dndCopy`,dndGroup:`dndGroup`,dndDropNotAllowed:`dndDropNotAllowed`,dragHandle:`queryBuilder-dragHandle`,disabled:`queryBuilder-disabled`,lockRule:`rule-lock`,lockGroup:`ruleGroup-lock`,valueSource:`rule-valueSource`,valueListItem:`rule-value-list-item`,branches:`queryBuilder-branches`,justified:`queryBuilder-justified`,hasSubQuery:`rule-hasSubQuery`},te={queryBuilder:``,ruleGroup:``,header:``,body:``,combinators:``,addRule:``,addGroup:``,cloneRule:``,cloneGroup:``,removeGroup:``,notToggle:``,rule:``,fields:``,matchMode:``,matchThreshold:``,operators:``,value:``,removeRule:``,shiftActions:``,dragHandle:``,lockRule:``,lockGroup:``,valueSource:``,actionElement:``,valueSelector:``,betweenRules:``,valid:``,invalid:``,dndDragging:``,dndOver:``,dndGroup:``,dndCopy:``,dndDropNotAllowed:``,disabled:``,valueListItem:``,branches:``,hasSubQuery:``},k={empty:`empty`,invalidCombinator:`invalid combinator`,invalidIndependentCombinators:`invalid independent combinators`},ne={rule:`rule`,ruleGroup:`rule-group`,inlineCombinator:`inline-combinator`,addGroup:`add-group`,removeGroup:`remove-group`,cloneGroup:`clone-group`,cloneRule:`clone-rule`,addRule:`add-rule`,removeRule:`remove-rule`,combinators:`combinators`,fields:`fields`,operators:`operators`,valueEditor:`value-editor`,notToggle:`not-toggle`,shiftActions:`shift-actions`,dragHandle:`drag-handle`,lockRule:`lock-rule`,lockGroup:`lock-group`,valueSourceSelector:`value-source-selector`,matchModeEditor:`match-mode-editor`},re={parentPathDisabled:`action aborted: parent path disabled`,pathDisabled:`action aborted: path is disabled`,queryUpdate:`query updated`,onAddRuleFalse:`onAddRule callback returned false`,onAddGroupFalse:`onAddGroup callback returned false`,onGroupRuleFalse:`onGroupRule callback returned false`,onGroupGroupFalse:`onGroupGroup callback returned false`,onMoveRuleFalse:`onMoveRule callback returned false`,onMoveGroupFalse:`onMoveGroup callback returned false`,onRemoveFalse:`onRemove callback returned false`,add:`rule or group added`,remove:`rule or group removed`,update:`rule or group updated`,move:`rule or group moved`,group:`rule or group grouped with another`},ie=[],ae=(e,t=`,`)=>typeof e==`string`?e.split(`\\${t}`).map(e=>e.split(t)).reduce((e,n,r)=>r===0?n:[...e.slice(0,-1),`${e.at(-1)}${t}${n[0]}`,...n.slice(1)],[]):[],oe=(e,t=`,`)=>e.map(e=>`${e??``}`.replaceAll(t[0],`\\${t[0]}`)).join(t),A=e=>typeof e==`string`?e.trim():e,j=(e,{retainEmptyStrings:t}={})=>Array.isArray(e)?e.map(e=>A(e)):typeof e==`string`?ae(e,`,`).filter(t?()=>!0:e=>!/^\s*$/.test(e)).map(e=>e.trim()):typeof e==`number`?[e]:[],se=e=>e.every(e=>e===!1||(e??!1)!==!1);function ce(e){let t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){let i=e.length;for(t=0;t<i;t++)e[t]&&(n=ce(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function le(...e){let t=0,n,r,i=``,a=e.length;for(;t<a;t++)(n=e[t])&&(r=ce(n))&&(i&&(i+=` `),i+=r);return i}const M=e=>typeof e==`string`?e.toLowerCase():e,ue=new RegExp(l.numericRegex.source.replace(/^\^/,String.raw`^\s*`).replace(/\$$/,String.raw`\s*$`)),N=e=>typeof e!=`object`||!e?!1:Object.getPrototypeOf(e)===Object.prototype,P=e=>e==null||e===``,de=e=>N(e)&&`field`in e&&typeof e.field==`string`,F=e=>N(e)&&Array.isArray(e.rules),I=e=>F(e)&&typeof e.combinator==`string`,L=e=>F(e)&&e.combinator===void 0,fe=[`or`,`xor`,`and`],pe=(e,t)=>M(e)===t,me=(e,t=0)=>{let n=fe[t];return e.rules.includes(n)?(0,c.produce)(e,e=>{let r=0;for(;r<e.rules.length-2;){if(pe(e.rules[r+1],n)){r+=2;continue}let i=e.rules.findIndex((e,t)=>t>r&&typeof e==`string`&&M(e)===n);if(i===-1){e.rules.splice(r,e.rules.length,me({rules:e.rules.slice(r)},t+1));break}else e.rules.splice(r,i-r,me({rules:e.rules.slice(r,i)},t+1))}}):t<fe.length-2?me(e,t+1):e},R=e=>{if(I(e))return e;let t=me(e),n=t.rules.map(e=>typeof e==`string`||!F(e)?e:R(e)),r=n.length<2?`and`:n[1],i=n.filter(e=>typeof e!=`string`);return{...t,combinator:r,rules:i}},he=e=>{if(L(e))return e;let{combinator:t,...n}=e,r=[],{length:i}=e.rules;for(let[n,a]of e.rules.entries())F(a)?r.push(he(a)):r.push(a),t&&n<i-1&&r.push(t);return{...n,rules:r}};function ge(e){return L(e)?R(e):he(e)}const _e=e=>{let t={},n=e=>{e.id&&t[e.id]},r=e=>{let i=[];if(e.rules.length===0)i.push(k.empty);else if(!I(e)){let t=!1;for(let n=0;n<e.rules.length&&!t;n++)(n%2==0&&typeof e.rules[n]==`string`||n%2==1&&typeof e.rules[n]!=`string`||n%2==1&&typeof e.rules[n]==`string`&&!T.map(e=>e.name).includes(e.rules[n]))&&(t=!0);t&&i.push(k.invalidIndependentCombinators)}I(e)&&!T.map(e=>e.name).includes(e.combinator)&&e.rules.length>1&&i.push(k.invalidCombinator),e.id&&(t[e.id]=i.length>0?{valid:!1,reasons:i}:!0);for(let t of e.rules)typeof t==`string`||(F(t)?r(t):n(t))};return r(e),t},ve=e=>N(e)&&`name`in e&&typeof e.name==`string`,ye=e=>N(e)&&`value`in e&&typeof e.value==`string`;function z(e,t,n){return(0,c.produce)(e=>{let r={},i=!!t;if(typeof e==`string`)return{...t,name:e,value:e,label:n?.[e]??e};if(ve(e)&&!ye(e)?(r.value=e.name,i=!0):!ve(e)&&ye(e)&&(r.name=e.value,i=!0),i)return Object.assign({},t,e,r)})(e)}function be(e,t,n){return Array.isArray(e)?(0,c.produce)(e=>{if(De(e))for(let r of e)for(let[e,i]of r.options.entries())r.options[e]=z(i,t,n);else for(let[r,i]of e.entries())e[r]=z(i,t,n)})(e):[]}function xe(e,t){return Object.fromEntries(Object.entries(e).map(([e,n])=>[e,z(n,t)]))}const Se=e=>Ce(e),Ce=e=>{let t=new Set,n=[];for(let r of e)t.has(r.value??r.name)||(t.add(r.value??r.name),n.push(r));return e.length===n.length?e:n},we=e=>Array.isArray(e)&&e.length>0&&N(e[0])&&`options`in e[0]&&Array.isArray(e[0].options),Te=e=>{let t=!1;if(Array.isArray(e))for(let n of e)if(ve(n)||ye(n))t=!0;else return!1;return t},Ee=e=>{let t=!1;if(Array.isArray(e))for(let n of e)if(ve(n)&&ye(n))t=!0;else return!1;return t},De=(e,{allowEmpty:t=!1}={})=>{let n=!1;if(Array.isArray(e))for(let r of e)if(N(r)&&`options`in r&&(Te(r.options)||t&&Array.isArray(r.options)&&r.options.length===0))n=!0;else return!1;return n},Oe=(e,{allowEmpty:t=!1}={})=>{let n=!1;if(Array.isArray(e))for(let r of e)if(N(r)&&`options`in r&&(Ee(r.options)||t&&Array.isArray(r.options)&&r.options.length===0))n=!0;else return!1;return n};function B(e,t){return(De(e,{allowEmpty:!0})?e.flatMap(e=>e.options):e).find(e=>e.value===t||e.name===t)}function V(e){if(!Array.isArray(e)||e.length===0)return null;if(De(e,{allowEmpty:!0})){for(let t of e)if(t.options.length>0)return t.options[0].value??t.options[0].name;return null}return e[0].value??e[0].name}const ke=e=>Ce(we(e)?e.flatMap(e=>e.options):e),Ae=e=>{let t=new Set,n=new Set,r=[];for(let i of e)if(!t.has(i.label)){t.add(i.label);let e=[];for(let t of i.options)n.has(t.value??t.name)||(n.add(t.value??t.name),e.push(z(t)));r.push({...i,options:e})}return r},je=e=>De(e)?Ae(e):Ce(e.map(e=>z(e))),Me=(e,t,n)=>{let r=z(e),i=z(n);return r.value===i.value?!1:typeof r.comparator==`string`?r[r.comparator]===i[r.comparator]:r.comparator?.(i,t)??!1},Ne=(e,t,n)=>{if(!e.comparator){let n=t=>(t.value??t.name)!==(e.value??e.name);return De(t)?t.map(e=>({...e,options:e.options.filter(e=>n(e))})):t.filter(e=>n(e))}return De(t)?t.map(t=>({...t,options:t.options.filter(t=>Me(e,n,t))})).filter(e=>e.options.length>0):t.filter(t=>Me(e,n,t))},H=(e,{parseNumbers:t,bigIntOnOverflow:n}={})=>{if(!t||typeof e==`bigint`||typeof e==`number`)return e;if(t===`native`)return Number.parseFloat(e);let r=(0,l.numericQuantity)(e,{allowTrailingInvalid:t===`enhanced`,bigIntOnOverflow:n,romanNumerals:!1,round:!1});return typeof r==`bigint`||!Number.isNaN(r)?r:e},Pe=(e,t,n)=>(0,c.produce)(e,e=>{for(let[r,i]of Object.entries(t))i===!1?delete e[r]:i&&r!==i&&r in e&&(e[i]=e[r],n&&delete e[r])});function Fe(e,t={}){let{ruleProcessor:n=e=>e,ruleGroupProcessor:r=e=>e,propertyMap:i={},combinatorMap:a={},operatorMap:o={},omitPath:s=!1,deleteRemappedProperties:c=!0}=t,l=e=>({...r(Pe({...e,...I(e)?{combinator:a[e.combinator]??e.combinator}:{}},i,c)),...i.rules===!1?null:{[i.rules??`rules`]:e.rules.map((t,r)=>{let u=s?null:{path:[...e.path,r]};return typeof t==`string`?a[t]??t:F(t)?l({...t,...u}):n(Pe({...t,...u,...`operator`in t?{operator:o[t.operator]??t.operator}:{}},i,c))})}});return l({...e,...s?null:{path:[]}})}const Ie=e=>N(e)&&typeof e.valid==`boolean`,U=(e,t,n)=>{if(typeof t==`boolean`)return t;if(Ie(t))return t.valid;if(typeof n==`function`&&!F(e)){let t=n(e);if(typeof t==`boolean`)return t;if(Ie(t))return t.valid}return!0},Le=({parseNumbers:e,inputType:t})=>{if(typeof e==`string`){let[n,r]=e.split(`-`);return r===`limited`?t===`number`?n:!1:n}return e?`strict`:!1},Re=e=>{switch(M(e)){case`null`:return`is null`;case`notnull`:return`is not null`;case`notin`:return`not in`;case`notbetween`:return`not between`;case`contains`:case`beginswith`:case`endswith`:return`like`;case`doesnotcontain`:case`doesnotbeginwith`:case`doesnotendwith`:return`not like`;default:return e}},ze={"=":`$eq`,"!=":`$ne`,"<":`$lt`,"<=":`$lte`,">":`$gt`,">=":`$gte`,in:`$in`,notin:`$nin`,notIn:`$nin`},Be={"=":`equals`,"!=":`not`,"<":`lt`,"<=":`lte`,">":`gt`,">=":`gte`,in:`in`,notin:`notIn`},Ve={and:`&&`,or:`||`},He={startsWith:(e,t)=>typeof e==`string`&&e.startsWith(t),endsWith:(e,t)=>typeof e==`string`&&e.endsWith(t)},Ue=(e,t)=>({...e,rules:e.rules.map(e=>{if(typeof e==`string`)return e;if(F(e))return Ue(e,t);let n=B(t.fields,e.field),r=Le({parseNumbers:t.parseNumbers,inputType:n?.inputType});if(Array.isArray(e.value))return{...e,value:e.value.map(e=>H(e,{parseNumbers:r}))};let i=j(e.value,{retainEmptyStrings:!0}).map(e=>H(e,{parseNumbers:r}));if(i.every(e=>typeof e==`number`)){if(i.length>1)return{...e,value:i};if(i.length===1)return{...e,value:i[0]}}return e})}),W=e=>typeof e==`string`&&e.length>0||typeof e==`number`&&!Number.isNaN(e)||typeof e!=`string`&&typeof e!=`number`,G=(e,t)=>!!t&&(typeof e==`number`||typeof e==`bigint`||typeof e==`string`&&ue.test(e)),We=e=>e.length>=3,Ge=(e=[``,``])=>Array.isArray(e)?e:typeof e==`string`?[e,e]:e??[``,``],Ke=(e,{quoteFieldNamesWith:t,fieldIdentifierSeparator:n})=>{let[r,i]=Ge(t);return typeof n==`string`&&n.length>0?oe(ae(e,n).map(e=>`${r}${e}${i}`),n):`${r}${e}${i}`},qe=[`S`,`V`,`O`],Je=e=>{let t=[],n=new Set(qe);for(let r of e.toUpperCase())if(n.has(r)&&(t.push(r),n.delete(r),n.size===0))break;for(let e of qe)n.has(e)&&t.push(e);return t},Ye={groupPrefix:``,groupPrefix_not_xor:`either zero or more than one of`,groupPrefix_xor:`exactly one of`,groupSuffix:`is true`,groupSuffix_not:`is not true`},Xe=(e,t,n)=>t.startsWith(e)&&n.every(e=>t.includes(`_${e}`)&&t.match(/_/g)?.length===n.length),Ze=(e,t,n=[])=>n.length===0?t[e]??Ye[e]??``:Object.entries(t).find(([t])=>Xe(e,t,n))?.[1]??Object.entries(Ye).find(([t])=>Xe(e,t,n))?.[1]??Ye[e]??``,K=e=>{let{mode:t,threshold:n}=e.match??{};if(t){if(!F(e.value))return!1;let r=M(t),i=r===`atleast`&&n===1?`some`:r===`atmost`&&n===0?`none`:r;return(i===`atleast`||i===`atmost`||i===`exactly`)&&(typeof n!=`number`||n<0)?!1:{mode:i,threshold:n}}},Qe=(e,t)=>typeof t==`bigint`?{$bigint:t.toString()}:t,$e=(e,t)=>N(t)&&Object.keys(t).length===1&&typeof t.$bigint==`string`?BigInt(t.$bigint):t,et=(e,t)=>{let{fields:n,fallbackExpression:r,getParseNumberBoolean:i,placeholderFieldName:a,placeholderOperatorName:o,placeholderValueName:s,ruleProcessor:c,validateRule:l,validationMap:u}=t,d=(e,f)=>{if(!U(e,u[e.id??``]))return f?r:``;let p=e.rules.map(e=>{if(typeof e==`string`)return Ve[e];if(F(e))return d(e);let[r,u]=l(e);if(!U(e,r,u)||e.field===a||e.operator===o||s!==void 0&&e.value===s)return``;let f=B(n,e.field);return c(e,{...t,parseNumbers:i(f?.inputType),escapeQuotes:(e.valueSource??`value`)===`value`,fieldData:f})}).filter(Boolean).join(I(e)?` ${Ve[e.combinator]} `:` `),[m,h]=e.not||!f?[`${e.not?`!`:``}(`,`)`]:[``,``];return p?`${m}${p}${h}`:r};return d(e,!0)},tt=e=>e.startsWith(`not`)||e.startsWith(`doesnot`),nt=(e,t)=>typeof e!=`string`||!t?`${e}`:e.replaceAll(`"`,`\\"`),rt=(e,t={})=>{let{escapeQuotes:n,parseNumbers:r,preserveValueOrder:i}=t,{field:a,operator:o,value:s,valueSource:c}=e,l=c===`field`,u=M(o===`=`?`==`:o),d=typeof s==`number`||typeof s==`boolean`||typeof s==`bigint`||G(s,r),f=K(e);if(f===!1)return``;if(f){let{mode:n,threshold:r}=f,i=`elem_alias`,o=Fe(e.value,{ruleProcessor:e=>({...e,field:`${i}${e.field?`.${e.field}`:``}`})}),s=et(o,t);switch(n){case`all`:return`${a}.all(${i}, ${s})`;case`none`:case`some`:return`${n===`none`?`!`:``}${a}.exists(${i}, ${s})`;case`atleast`:case`atmost`:case`exactly`:{let e=`double(${a}.size())`,t=`${a}.filter(${i}, ${s}).size()`,o=n===`atleast`?`>=`:n===`atmost`?`<=`:`==`;return r>0&&r<1?`${t} ${o} (${e} * ${r})`:`${t} ${o} ${r}`}}}switch(u){case`<`:case`<=`:case`==`:case`!=`:case`>`:case`>=`:return`${a} ${u} ${l||d?A(s):`"${nt(s,n)}"`}`;case`contains`:case`doesnotcontain`:return`${tt(u)?`!`:``}${a}.contains(${l?A(s):`"${nt(s,n)}"`})`;case`beginswith`:case`doesnotbeginwith`:return`${tt(u)?`!`:``}${a}.startsWith(${l?A(s):`"${nt(s,n)}"`})`;case`endswith`:case`doesnotendwith`:return`${tt(u)?`!`:``}${a}.endsWith(${l?A(s):`"${nt(s,n)}"`})`;case`null`:return`${a} == null`;case`notnull`:return`${a} != null`;case`in`:case`notin`:{let[e,t]=tt(u)?[`!(`,`)`]:[``,``],i=j(s);return`${e}${a} in [${i.map(e=>l||G(e,r)?`${A(e)}`:`"${nt(e,n)}"`).join(`, `)}]${t}`}case`between`:case`notbetween`:{let e=j(s);if(e.length>=2&&!P(e[0])&&!P(e[1])){let[t,o]=e,s=r!==!1,c=G(t,s)?H(t,{parseNumbers:s}):NaN,d=G(o,s)?H(o,{parseNumbers:s}):NaN,f=Number.isNaN(c)?l?`${t}`:`"${nt(t,n)}"`:c,p=Number.isNaN(d)?l?`${o}`:`"${nt(o,n)}"`:d;if(!i&&f===c&&p===d&&d<c){let e=d;p=c,f=e}return u===`between`?`(${a} >= ${f} && ${a} <= ${p})`:`(${a} < ${f} || ${a} > ${p})`}else return``}}return``},it={$and:[{$expr:!0}]},at=(e,t,n)=>{let{fields:r,getParseNumberBoolean:i,placeholderFieldName:a,placeholderOperatorName:o,placeholderValueName:s,ruleProcessor:c,validateRule:l,validationMap:u}=t,d=(e,f)=>{if(!U(e,u[e.id??``]))return f?it:!1;let p=`$${M(e.combinator)}`,m=!1,h=e.rules.map(e=>{if(F(e)){let t=d(e);return t?(m=!0,t):!1}let[u,f]=l(e);if(!U(e,u,f)||e.field===a||e.operator===o||s!==void 0&&e.value===s)return!1;let p=B(r,e.field);return c(e,{...t,parseNumbers:i(p?.inputType),fieldData:p},n)}).filter(Boolean);return h.length>0?h.length===1&&!m?h[0]:{[p]:h}:it};return d(R(e),!0)},q=(e,t,n=!1)=>G(e,n||typeof e==`bigint`)?Number(H(e,{parseNumbers:`strict`})):t,ot=(e,t={})=>{let{field:n,operator:r,value:i,valueSource:a}=e,{parseNumbers:o,preserveValueOrder:s,context:c}=t,l=a===`field`,{avoidFieldsAsKeys:u}=c??{},d=K(e);if(d===!1)return;if(d){let{mode:e,threshold:r}=d,a={$size:{$ifNull:[`$${n}`,[]]}},o=at(Fe(i,{ruleProcessor:e=>({...e,field:e.field?`${n}.${e.field}`:n})}),{...t,ruleProcessor:ot,context:{...t.context,avoidFieldsAsKeys:!1}}),s=at(Fe(i,{ruleProcessor:e=>({...e,field:e.field?`$item.${e.field}`:`$item`})}),{...t,ruleProcessor:ot,context:{...t.context,avoidFieldsAsKeys:!0}}),c={$size:{$ifNull:[{$filter:{input:`$${n}`,as:`item`,cond:{$and:[s]}}},[]]}};switch(e){case`all`:return{$expr:{$eq:[c,a]}};case`none`:return{$nor:[o]};case`some`:return o;case`atleast`:case`atmost`:case`exactly`:{let t=e===`atleast`?ze[`>=`]:e===`atmost`?ze[`<=`]:ze[`=`];return r>0&&r<1?{$expr:{[t]:[c,{$multiply:[a,r]}]}}:{$expr:{[t]:[c,r]}}}}}if(r===`=`&&!l)return u?{$eq:[`$${n}`,q(i,i,o)]}:{[n]:q(i,i,o)};let f=M(r);switch(f){case`<`:case`<=`:case`=`:case`!=`:case`>`:case`>=`:{let e=ze[f];return l?{[e]:[`$${n}`,`$${i}`]}:u?{$and:[{$ne:[`$${n}`,null]},{[e]:[`$${n}`,q(i,i,o)]}]}:{[n]:{[e]:q(i,i,o)}}}case`contains`:return l?{$where:`this.${n}.includes(this.${i})`}:u?{$regexMatch:{input:`$${n}`,regex:i}}:{[n]:{$regex:i}};case`beginswith`:return l?{$where:`this.${n}.startsWith(this.${i})`}:u?{$regexMatch:{input:`$${n}`,regex:`^${i}`}}:{[n]:{$regex:`^${i}`}};case`endswith`:return l?{$where:`this.${n}.endsWith(this.${i})`}:u?{$regexMatch:{input:`$${n}`,regex:`${i}$`}}:{[n]:{$regex:`${i}$`}};case`doesnotcontain`:return l?{$where:`!this.${n}.includes(this.${i})`}:u?{$not:{$regexMatch:{input:`$${n}`,regex:i}}}:{[n]:{$not:{$regex:i}}};case`doesnotbeginwith`:return l?{$where:`!this.${n}.startsWith(this.${i})`}:u?{$not:{$regexMatch:{input:`$${n}`,regex:`^${i}`}}}:{[n]:{$not:{$regex:`^${i}`}}};case`doesnotendwith`:return l?{$where:`!this.${n}.endsWith(this.${i})`}:u?{$not:{$regexMatch:{input:`$${n}`,regex:`${i}$`}}}:{[n]:{$not:{$regex:`${i}$`}}};case`null`:return u?{$eq:[`$${n}`,null]}:{[n]:null};case`notnull`:return u?{$ne:[`$${n}`,null]}:{[n]:{$ne:null}};case`in`:case`notin`:{let e=j(i);return l?{$where:`${f===`notin`?`!`:``}[${e.map(e=>`this.${e}`).join(`,`)}].includes(this.${n})`}:u?f===`notin`?{$not:{[ze.in]:[`$${n}`,e.map(e=>q(e,e,o))]}}:{[ze[f]]:[`$${n}`,e.map(e=>q(e,e,o))]}:{[n]:{[ze[f]]:e.map(e=>q(e,e,o))}}}case`between`:case`notbetween`:{let e=j(i);if(e.length>=2&&W(e[0])&&W(e[1])){let[t,r]=e,i=q(t,NaN,!0),a=q(r,NaN,!0),o=l||Number.isNaN(i)?t:i,c=l||Number.isNaN(a)?r:a;if(!s&&o===i&&c===a&&a<i){let e=a;c=i,o=e}return f===`between`?l?{$gte:[`$${n}`,`$${o}`],$lte:[`$${n}`,`$${c}`]}:u?{$and:[{$gte:[`$${n}`,o]},{$lte:[`$${n}`,c]}]}:{[n]:{$gte:o,$lte:c}}:l?{$or:[{$lt:[`$${n}`,`$${o}`]},{$gt:[`$${n}`,`$${c}`]}]}:u?{$or:[{$lt:[`$${n}`,o]},{$gt:[`$${n}`,c]}]}:{$or:[{[n]:{$lt:o}},{[n]:{$gt:c}}]}}else return``}}return``},st=(e,t)=>{let n=ot(e,t);return n?JSON.stringify(n):``},ct=(e,t)=>{let{fields:n,fallbackExpression:r,getParseNumberBoolean:i,placeholderFieldName:a,placeholderOperatorName:o,placeholderValueName:s,ruleProcessor:c,validateRule:l,validationMap:u}=t,d=(e,f)=>{if(!U(e,u[e.id??``]))return f?r:``;let p=e.rules.map(e=>{if(typeof e==`string`)return e;if(F(e))return d(e);let[r,u]=l(e);if(!U(e,r,u)||e.field===a||e.operator===o||s!==void 0&&e.value===s)return``;let f=B(n,e.field);return c(e,{...t,parseNumbers:i(f?.inputType),escapeQuotes:(e.valueSource??`value`)===`value`,fieldData:f})}).filter(Boolean).join(I(e)?` ${e.combinator} `:` `),[m,h]=e.not||!f?[`${e.not?`!`:``}(`,`)`]:[``,``];return p?`${m}${p}${h}`:r};return d(e,!0)},lt=e=>e.startsWith(`not`)||e.startsWith(`doesnot`),ut=(e,t)=>t?`!(${e})`:e,dt=(e,t)=>typeof e!=`string`||!t?`${e}`:e.replaceAll(`'`,`\\'`),ft=(e,t={})=>{let{field:n,operator:r,value:i,valueSource:a}=e,{escapeQuotes:o,parseNumbers:s,preserveValueOrder:c}=t,l=a===`field`,u=M(r===`=`?`==`:r),d=typeof i==`number`||typeof i==`boolean`||typeof i==`bigint`||G(i,s),f=K(e);if(f===!1)return``;if(f){let{mode:r,threshold:i}=f,a=ct(Fe(e.value,{ruleProcessor:e=>({...e,field:e.field||`#this`})}),t),o=`${n}.size()`,s=`${n}.?[${a}].size()`;switch(r){case`all`:return`${s} == ${o}`;case`none`:return`${s} == 0`;case`some`:return`${s} >= 1`;case`atleast`:case`atmost`:case`exactly`:{let e=r===`atleast`?`>=`:r===`atmost`?`<=`:`==`;return i>0&&i<1?`${s} ${e} (${o} * ${i})`:`${s} ${e} ${i}`}}}switch(u){case`<`:case`<=`:case`==`:case`!=`:case`>`:case`>=`:return`${n} ${u} ${l||d?A(i):`'${dt(i,o)}'`}`;case`contains`:case`doesnotcontain`:return ut(`${n} matches ${l||d?A(i):`'${dt(i,o)}'`}`,lt(u));case`beginswith`:case`doesnotbeginwith`:{let e=l?`'^'.concat(${A(i)})`:`'${typeof i==`string`&&!i.startsWith(`^`)||d?`^`:``}${dt(i,o)}'`;return ut(`${n} matches ${e}`,lt(u))}case`endswith`:case`doesnotendwith`:{let e=l?`${A(i)}.concat('$')`:`'${dt(i,o)}${typeof i==`string`&&!i.endsWith(`$`)||d?`$`:``}'`;return ut(`${n} matches ${e}`,lt(u))}case`null`:return`${n} == null`;case`notnull`:return`${n} != null`;case`in`:case`notin`:{let e=lt(u)?`!`:``,t=j(i);return t.length>0?`${e}(${t.map(e=>`${n} == ${l||G(e,s)?`${A(e)}`:`'${dt(e,o)}'`}`).join(` or `)})`:``}case`between`:case`notbetween`:{let e=j(i);if(e.length>=2&&!P(e[0])&&!P(e[1])){let[t,r]=e,i=s!==!1,a=G(t,i)?H(t,{parseNumbers:i}):NaN,d=G(r,i)?H(r,{parseNumbers:i}):NaN,f=Number.isNaN(a)?l?`${t}`:`'${dt(t,o)}'`:a,p=Number.isNaN(d)?l?`${r}`:`'${dt(r,o)}'`:d;if(!c&&f===a&&p===d&&d<a){let e=d;p=a,f=e}return u===`between`?`(${n} >= ${f} and ${n} <= ${p})`:`(${n} < ${f} or ${n} > ${p})`}else return``}}return``},pt=(e,t,n)=>n&&typeof e==`string`?e.replaceAll(`${t}`,`${t}${t}`):e,mt=({operator:e,value:t,valueSource:n},{escapeQuotes:r,parseNumbers:i,preserveValueOrder:a,quoteFieldNamesWith:o,quoteValuesWith:s,concatOperator:c=`||`,fieldIdentifierSeparator:l,wrapValueWith:u=[``,``],translations:d}={})=>{let f=n===`field`,p=M(e),m=s||`'`,h=e=>`${u[0]}${m}${e}${m}${u[1]}`,g=e=>pt(e,m,r),_=e=>h(g(e)),v=e=>Ke(e,{quoteFieldNamesWith:o,fieldIdentifierSeparator:l}),y=(...e)=>c.toUpperCase()===`CONCAT`?`CONCAT(${e.join(`, `)})`:e.join(` ${c} `);switch(p){case`null`:case`notnull`:return``;case`in`:case`notin`:{let e=j(t);return e.length>0?`(${e.map(e=>f?v(e):G(e,i)?`${A(e)}`:`${_(e)}`).join(`, `)})`:``}case`between`:case`notbetween`:{let e=j(t,{retainEmptyStrings:!0});if(e.length<2||!W(e[0])||!W(e[1]))return``;let[n,r]=e,o=G(n,i)?H(n,{parseNumbers:`strict`}):NaN,s=G(r,i)?H(r,{parseNumbers:`strict`}):NaN,c=Number.isNaN(o)?f?`${n}`:n:o,l=Number.isNaN(s)?f?`${r}`:r:s,u=[c,l];return!a&&c===o&&l===s&&s<o&&(u[0]=s,u[1]=o),(f?u.map(e=>v(e)):u.every(e=>G(e,i))?u.map(e=>H(e,{parseNumbers:`strict`})):u.map(e=>_(e))).join(` ${d?.and??`and`} `)}case`contains`:case`doesnotcontain`:return f?y(h(`%`),v(t),h(`%`)):h(`%${g(t)}%`);case`beginswith`:case`doesnotbeginwith`:return f?y(v(t),h(`%`)):h(`${g(t)}%`);case`endswith`:case`doesnotendwith`:return f?y(h(`%`),v(t)):h(`%${g(t)}`)}return typeof t==`boolean`?t?`TRUE`:`FALSE`:f?v(t):G(t,i)?`${A(t)}`:`${_(t)}`},ht=(e,t)=>{let n=t??{},{parseNumbers:r,preserveValueOrder:i,context:a={}}=n,{columns:o,drizzleOperators:s,useRawFields:c}=a;if(!o||!s)return;let{between:l,eq:u,gt:d,gte:f,inArray:p,isNotNull:m,isNull:h,like:g,lt:_,lte:v,ne:y,notBetween:b,notInArray:x,notLike:ee,sql:S}=s,{field:C,operator:w,value:T,valueSource:E}=e,D=c&&/[a-z][a-z0-9]*/i.test(C)?S.raw(C):o[C],O=M(w),te=E===`field`,k=e=>te?o[e]:e;if(!D)return;let ne=K(e);if(ne!==!1){if(ne){if(n.preset!==`postgresql`)return;let{mode:t,threshold:r}=ne,i=`elem_alias`,a=Fe(e.value,{ruleProcessor:e=>({...e,field:i})}),o=gt(a,{...n,context:{...n.context,useRawFields:!0}});switch(t){case`all`:return S`(select count(*) from unnest(${D}) as ${S.raw(i)} where ${o({},s)}) = array_length(${D}, 1)`;case`none`:return S`not exists (select 1 from unnest(${D}) as ${S.raw(i)} where ${o({},s)})`;case`some`:return S`exists (select 1 from unnest(${D}) as ${S.raw(i)} where ${o({},s)})`;case`atleast`:case`atmost`:case`exactly`:{let e=t===`atleast`?`>=`:t===`atmost`?`<=`:`=`;return r>0&&r<1?S`(select count(*) / array_length(${D}, 1) from unnest(${D}) as ${S.raw(i)} where ${o({},s)}) ${S.raw(`${e} ${r}`)}`:S`(select count(*) from unnest(${D}) as ${S.raw(i)} where ${o({},s)}) ${S.raw(`${e} ${r}`)}`}}}switch(O){case`=`:return u(D,k(T));case`!=`:return y(D,k(T));case`>`:return d(D,k(T));case`<`:return _(D,k(T));case`>=`:return f(D,k(T));case`<=`:return v(D,k(T));case`beginswith`:case`doesnotbeginwith`:return(O===`doesnotbeginwith`?ee:g)(D,te?S`${k(T)} || '%'`:`${T}%`);case`contains`:case`doesnotcontain`:return(O===`doesnotcontain`?ee:g)(D,te?S`'%' || ${k(T)} || '%'`:`%${T}%`);case`endswith`:case`doesnotendwith`:return(O===`doesnotendwith`?ee:g)(D,te?S`'%' || ${k(T)}`:`%${T}`);case`null`:return h(D);case`notnull`:return m(D);case`in`:case`notin`:{let e=j(T).map(e=>k(e));return O===`notin`?x(D,e):p(D,e)}case`between`:case`notbetween`:{let e=j(T);if(e.length>=2&&W(e[0])&&W(e[1])){let[t,n]=e,a=r!==!1;if(!te&&G(t,a)&&G(n,a)){let e=H(t,{parseNumbers:a}),r=H(n,{parseNumbers:a});if(!i&&r<e){let i=r;n=e,t=i}else t=e,n=r}else te&&(t=k(t),n=k(n));return O===`notbetween`?b(D,t,n):l(D,t,n)}return}default:return}}},gt=(e,t,n)=>(n,r)=>{let{fields:i,getParseNumberBoolean:a,placeholderFieldName:o,placeholderOperatorName:s,placeholderValueName:c,validateRule:l,validationMap:u}=t;if(!n||!r)return;let{and:d,not:f,or:p}=r,m=I(e)?e:R(e),h=ht,g=(e,m)=>{if(!U(e,u[e.id??``]))return;let _=e.rules.map(e=>{if(F(e))return g(e);let[u,d]=l(e);if(!U(e,u,d)||e.field===o||e.operator===s||c!==void 0&&e.value===c)return;let f=B(i,e.field);return h(e,{...t,parseNumbers:a(f?.inputType),fieldData:f,context:{...t.context,columns:n,drizzleOperators:r}})}).filter(Boolean);if(_.length===0)return;let v=e.combinator===`or`?p(..._):d(..._);return e.not?f(v):v};return g(m,!0)},_t=(e,t)=>{let{fields:n,getParseNumberBoolean:r,placeholderFieldName:i,placeholderOperatorName:a,placeholderValueName:o,ruleProcessor:s,validateRule:c,validationMap:l}=t,u=R(e),d=e=>{if(!U(e,l[e.id??``]))return!1;let u=e.rules.map(e=>{if(F(e))return d(e);let[l,u]=c(e);if(!U(e,l,u)||e.field===i||e.operator===a||o!==void 0&&e.value===o)return!1;let f=B(n,e.field);return s(e,{...t,parseNumbers:r(f?.inputType),fieldData:f})}).filter(Boolean);return u.length===0?!1:{bool:e.not?{must_not:/^or$/i.test(e.combinator)?{bool:{should:u}}:u}:{[/^or$/i.test(e.combinator)?`should`:`must`]:u}}},f=d(u);return f===!1?{}:f},vt=(e,t)=>{let{fields:n,fallbackExpression:r,getParseNumberBoolean:i,placeholderFieldName:a,placeholderOperatorName:o,placeholderValueName:s,ruleProcessor:c,validateRule:l,validationMap:u}=t,d=(e,f)=>{if(!U(e,u[e.id??``]))return f?r:``;let p=e.rules.map(e=>{if(typeof e==`string`)return e;if(F(e))return d(e);let[r,u]=l(e);if(!U(e,r,u)||e.field===a||e.operator===o||s!==void 0&&e.value===s)return``;let f=B(n,e.field);return c(e,{...t,parseNumbers:i(f?.inputType),escapeQuotes:(e.valueSource??`value`)===`value`,fieldData:f})}).filter(Boolean).join(I(e)?` ${e.combinator} `:` `),[m,h]=e.not||!f?[`${e.not?`$not`:``}(`,`)`]:[``,``];return p?`${m}${p}${h}`:r};return d(e,!0)},yt=(e,t)=>{let{fields:n,getParseNumberBoolean:r,placeholderFieldName:i,placeholderOperatorName:a,placeholderValueName:o,ruleProcessor:s,validateRule:c,validationMap:l}=t,u=R(e),d=(e,u)=>{if(!U(e,l[e.id??``]))return!1;let f=e.rules.map(e=>{if(F(e))return d(e);let[l,u]=c(e);if(!U(e,l,u)||e.field===i||e.operator===a||o!==void 0&&e.value===o)return!1;let f=B(n,e.field);return s(e,{...t,parseNumbers:r(f?.inputType),fieldData:f})}).filter(Boolean);if(f.length===0)return!1;let p={[e.combinator]:f};return e.not?{"!":p}:p};return d(u,!0)},bt=(e,t)=>{let{fields:n,fallbackExpression:r,getParseNumberBoolean:i,placeholderFieldName:a,placeholderOperatorName:o,placeholderValueName:s,ruleProcessor:c,validateRule:l,validationMap:u}=t,d=R(e),f=(e,d)=>{if(!U(e,u[e.id??``]))return d?r:``;let p=e.rules.map(e=>{if(F(e))return f(e);let[r,u]=l(e);if(!U(e,r,u)||e.field===a||e.operator===o||s!==void 0&&e.value===s)return``;let d=B(n,e.field);return c(e,{...t,parseNumbers:i(d?.inputType),escapeQuotes:(e.valueSource??`value`)===`value`,fieldData:d})}).filter(Boolean),m=p.join(``),[h,g]=e.not?[`(!`,`)`]:[``,``],[_,v]=p.length>1?[`${h}(${e.combinator===`or`?`|`:`&`}`,`)${g}`]:[h,g];return m?`${_}${m}${v}`:r};return f(d,!0)},xt=e=>e.startsWith(`{`)&&e.endsWith(`}`),St=(e,t,n)=>{let{fields:r,fallbackExpression:i,getParseNumberBoolean:a,placeholderFieldName:o,placeholderOperatorName:s,placeholderValueName:c,ruleProcessor:l,validateRule:u,validationMap:d}=t,f=(e,p)=>{if(!U(e,d[e.id??``]))return p?i:``;let m=`"$${M(e.combinator)}"`,h=!1,g=e.rules.map(e=>{if(F(e)){let t=f(e);return t?(h=!0,xt(t)?t:`{${t}}`):``}let[i,d]=u(e);if(!U(e,i,d)||e.field===o||e.operator===s||c!==void 0&&e.value===c)return``;let p=B(r,e.field);return l(e,{...t,parseNumbers:a(p?.inputType),fieldData:p},n)}).filter(Boolean);return g.length>0?g.length===1&&!h?g[0]:`${m}:[${g.join(`,`)}]`:i},p=f(R(e),!0);return xt(p)?p:`{${p}}`},Ct=(e,t)=>{let{fields:n,fallbackExpression:r,getParseNumberBoolean:i,placeholderFieldName:a,placeholderOperatorName:o,placeholderValueName:s,ruleProcessor:c,translations:l,validateRule:u,validationMap:d}=t,f=(e,p)=>{if(!U(e,d[e.id??``]))return p?r:``;let m=L(e)&&e.rules.some(e=>typeof e==`string`&&M(e)===`xor`)?R(e):e,h=m.rules.map(e=>{if(typeof e==`string`)return`, ${l[e]??e} `;if(F(e))return f(e,m.rules.length===1&&!(m.not||/^xor$/i.test(m.combinator??``)));let[r,d]=u(e);if(!U(e,r,d)||e.field===a||e.operator===o||s!==void 0&&e.value===s)return``;let p=(e.valueSource??`value`)===`value`,h=B(n,e.field);return c(e,{...t,parseNumbers:i(h?.inputType),escapeQuotes:p,fieldData:h})});if(h.length===0)return r;let g=M(m.combinator??``)===`xor`,_=g?m.combinator.slice(1):m.combinator,v=m.not||!p||g&&h.length>1,[y,b]=[`groupPrefix`,`groupSuffix`].map(e=>m.not?g?Ze(e,l,[`not`,`xor`]):Ze(e,l,[`not`]):g?Ze(e,l,[`xor`]):Ze(e,l)),x=v?`${y} (`.trim():``,ee=v?`) ${b}`.trim():``;return`${x}${h.filter(Boolean).join(I(m)?`, ${l[_]??_} `:``)}${ee}`};return f(e,!0)},wt=(e,t)=>{let{format:n,fields:r,fallbackExpression:i,getParseNumberBoolean:a,placeholderFieldName:o,placeholderOperatorName:s,placeholderValueName:c,ruleProcessor:l,validateRule:u,validationMap:d}=t,f=n===`parameterized`,p=[],m={},h=new Map,g=e=>{h.has(e)||h.set(e,new Set);let t=`${e}_${h.get(e).size+1}`;return h.get(e).add(t),t},_=e=>{let[i,d]=u(e);if(!U(e,i,d)||e.field===o||e.operator===s||c!==void 0&&e.value===c)return``;let f=B(r,e.field),_=Object.fromEntries([...h.entries()].map(([e,t])=>[e,[...t]])),v=l(e,{...t,parseNumbers:a(f?.inputType),getNextNamedParam:g,fieldParamNames:_,fieldData:f},{processedParams:p});if(!N(v))return``;let{sql:y,params:b}=v;if(typeof y!=`string`||!y)return``;if(n===`parameterized`&&Array.isArray(b))p.push(...b);else if(n===`parameterized_named`&&N(b)){Object.assign(m,b);for(let t of Object.keys(b))h.get(e.field)?.add(t)}return y},v=(e,t)=>{if(!U(e,d[e.id??``]))return t?i:``;let n=e.rules.map(t=>typeof t==`string`?t:F(t)?v(t,e.rules.length===1):_(t)).filter(Boolean);return n.length===0?i:`${e.not?`NOT `:``}(${n.join(I(e)?` ${e.combinator} `:` `)})`};return f?{sql:v(e,!0),params:p}:{sql:v(e,!0),params:m}},Tt={},Et=(e,t)=>{let{fields:n,getParseNumberBoolean:r,placeholderFieldName:i,placeholderOperatorName:a,placeholderValueName:o,ruleProcessor:s,validateRule:c,validationMap:l}=t,u=(e,d)=>{if(!U(e,l[e.id??``]))return d?Tt:void 0;let f=e.combinator.toUpperCase(),p=!1,m=e.rules.map(e=>{if(F(e)){let t=u(e);return t?(p=!0,t):void 0}let[l,d]=c(e);if(!U(e,l,d)||e.field===i||e.operator===a||o!==void 0&&e.value===o)return;let f=B(n,e.field);return s(e,{...t,parseNumbers:r(f?.inputType),fieldData:f})}).filter(Boolean);return m.length>0?m.length===1&&!p?m[0]:{[f]:m}:Tt},d=u(R(e),!0);return e.not?{NOT:d}:d},Dt=(e,t)=>{let{fields:n,getParseNumberBoolean:r,placeholderFieldName:i,placeholderOperatorName:a,placeholderValueName:o,ruleProcessor:s,validateRule:c,validationMap:l,context:u={}}=t,{sequelizeOperators:d}=u;if(!d)return;let f=(e,u)=>{if(!U(e,l[e.id??``]))return;let p=e.combinator.toUpperCase(),m=!1,h=e.rules.map(e=>{if(F(e)){let t=f(e);return t?(m=!0,t):void 0}let[l,u]=c(e);if(!U(e,l,u)||e.field===i||e.operator===a||o!==void 0&&e.value===o)return;let d=B(n,e.field);return s(e,{...t,parseNumbers:r(d?.inputType),fieldData:d})}).filter(Boolean);if(h.length===0)return;let g=h.length===1&&!m?h[0]:{[M(p)===`or`?d.or:d.and]:h};return e.not?{[d.not]:g}:g};return f(R(e),!0)},Ot=(e,t)=>{let{fields:n,fallbackExpression:r,getParseNumberBoolean:i,placeholderFieldName:a,placeholderOperatorName:o,placeholderValueName:s,ruleProcessor:c,validateRule:l,validationMap:u}=t,d=(e,f)=>{if(!U(e,u[e.id??``]))return f?r:``;let p=e.rules.map(r=>{if(typeof r==`string`)return r;if(F(r))return d(r,e.rules.length===1);let[u,f]=l(r);if(!U(r,u,f)||r.field===a||r.operator===o||s!==void 0&&r.value===s)return``;let p=(r.valueSource??`value`)===`value`,m=B(n,r.field);return c(r,{...t,parseNumbers:i(m?.inputType),escapeQuotes:p,fieldData:m})}).filter(Boolean);return p.length===0?r:`${e.not?`NOT `:``}(${p.join(I(e)?` ${e.combinator} `:` `)})`};return d(e,!0)},kt={"<":`lt`,"<=":`lte`,">":`gt`,">=":`gte`},At=(e,t)=>e.startsWith(`not`)||e.startsWith(`doesnot`)?{bool:{must_not:t}}:t,jt=e=>e?.replace(/('|\\)/g,`\\$1`),Mt={beginswith:`startsWith`,doesnotbeginwith:`startsWith`,doesnotcontain:`contains`,doesnotendwith:`endsWith`,endswith:`endsWith`},Nt=(e,t,n)=>{let r=`doc['${e}'].value.${Mt[t]??t}(doc['${n}'].value)`;return t.startsWith(`d`)?`!${r}`:r},Pt=(e,t)=>typeof e==`boolean`?e:G(e,t)?H(e,{parseNumbers:t}):e,Ft=(e,t={})=>{let{field:n,operator:r,value:i,valueSource:a}=e,{parseNumbers:o,preserveValueOrder:s}=t,c=M(r);if(K(e))return!1;if(a===`field`){if(j(i).some(e=>typeof e!=`string`))return!1;let e=jt(n);switch(c){case`=`:case`!=`:case`>`:case`>=`:case`<`:case`<=`:{let t=c===`=`?`==`:c,n=jt(i);return n?{bool:{filter:{script:{script:`doc['${e}'].value ${t} doc['${n}'].value`}}}}:!1}case`in`:case`notin`:{let t=j(i);if(t.length>0){let n=t.map(t=>({bool:{filter:{script:{script:`doc['${e}'].value == doc['${t}'].value`}}}}));return{bool:c===`in`?{should:n}:{must_not:n}}}return!1}case`between`:case`notbetween`:{let t=j(i);if(t.length>=2&&t[0]&&t[1]){let n=`doc['${e}'].value >= doc['${t[0]}'].value && doc['${e}'].value <= doc['${t[1]}'].value`;return{bool:{filter:{script:{script:c===`notbetween`?`!(${n})`:n}}}}}return!1}case`contains`:case`doesnotcontain`:case`beginswith`:case`doesnotbeginwith`:case`endswith`:case`doesnotendwith`:{let t=jt(i);return t?{bool:{filter:{script:{script:Nt(e,c,t)}}}}:!1}}}switch(c){case`<`:case`<=`:case`>`:case`>=`:return{range:{[n]:{[kt[c]]:Pt(i,o)}}};case`=`:return{term:{[n]:Pt(i,o)}};case`!=`:return{bool:{must_not:{term:{[n]:Pt(i,o)}}}};case`null`:return{bool:{must_not:{exists:{field:n}}}};case`notnull`:return{exists:{field:n}};case`in`:case`notin`:{let e=j(i).map(e=>Pt(e,o));if(e.length>0){let t=e.map(e=>({term:{[n]:Pt(e,o)}}));return{bool:c===`in`?{should:t}:{must_not:t}}}return!1}case`between`:case`notbetween`:{let e=j(i);if(e.length>=2&&W(e[0])&&W(e[1])){let[t,r]=e,i=o!==!1;if(G(t,i)&&G(r,i)){let e=H(t,{parseNumbers:i}),n=H(r,{parseNumbers:i});if(!s&&n<e){let i=n;r=e,t=i}else t=e,r=n}return At(c,{range:{[n]:{gte:t,lte:r}}})}return!1}case`contains`:case`doesnotcontain`:return At(c,{regexp:{[n]:{value:`.*${i}.*`}}});case`beginswith`:case`doesnotbeginwith`:return At(c,{regexp:{[n]:{value:`${i}.*`}}});case`endswith`:case`doesnotendwith`:return At(c,{regexp:{[n]:{value:`.*${i}`}}})}return!1},It=e=>e.startsWith(`not`)||e.startsWith(`doesnot`),Lt=(e,t)=>`"${typeof e!=`string`||!t?`${e}`:e.replaceAll(`"`,`\\"`)}"`,Rt=(e,t)=>t?`$not(${e})`:e,zt=e=>`${e}`.replaceAll(/[/$()*+.?[\\\]^{|}]/g,String.raw`\$&`).replaceAll(`-`,String.raw`\x2d`),Bt=(e,t={})=>{let{field:n,operator:r,value:i,valueSource:a}=e,{escapeQuotes:o,parseNumbers:s,preserveValueOrder:c,quoteFieldNamesWith:l=[``,``],fieldIdentifierSeparator:u=``}=t,d=a===`field`,f=typeof i==`number`||typeof i==`boolean`||typeof i==`bigint`||G(i,s),p=e=>Ke(e,{quoteFieldNamesWith:l,fieldIdentifierSeparator:u}),m=K(e);if(m===!1)return;if(m){let{mode:e,threshold:r}=m,a=`$count(${p(n)})`,o=`$count($filter(${p(n)}, function($v) {${vt(Fe(i,{ruleProcessor:e=>({...e,field:e.field?`$v.${e.field}`:`$v`})}),t)}}))`;switch(e){case`all`:return`${o} = ${a}`;case`none`:return`${o} = 0`;case`some`:return`${o} > 0`;case`atleast`:case`atmost`:case`exactly`:{let t=e===`atleast`?`>=`:e===`atmost`?`<=`:`=`;return r>0&&r<1?`${o} ${t} (${a} * ${r})`:`${o} ${t} ${r}`}}}let h=M(r);switch(h){case`<`:case`<=`:case`=`:case`!=`:case`>`:case`>=`:return`${p(n)} ${h} ${d?p(A(i)):f?A(i):Lt(i,o)}`;case`contains`:case`doesnotcontain`:return Rt(`$contains(${p(n)}, ${d?p(A(i)):Lt(i,o)})`,It(h));case`beginswith`:case`doesnotbeginwith`:return Rt(d?`$substring(${p(n)}, 0, $length(${p(A(i))})) = ${p(A(i))}`:`$contains(${p(n)}, /^${zt(i)}/)`,It(h));case`endswith`:case`doesnotendwith`:return Rt(d?`$substring(${p(n)}, $length(${p(n)}) - $length(${p(A(i))})) = ${p(A(i))}`:`$contains(${p(n)}, /${zt(i)}$/)`,It(h));case`null`:return`${p(n)} = null`;case`notnull`:return`${p(n)} != null`;case`in`:case`notin`:{let e=j(i);return Rt(`${p(n)} in [${e.map(e=>d?`${p(A(e))}`:G(e,s)?`${A(e)}`:Lt(e,o)).join(`, `)}]`,It(h))}case`between`:case`notbetween`:{let e=j(i);if(e.length<2||P(e[0])||P(e[1]))return``;let[t,r]=e,a=s!==!1,l=G(t,a)?H(t,{parseNumbers:a}):NaN,u=G(r,a)?H(r,{parseNumbers:a}):NaN,f=Number.isNaN(l)?d?`${t}`:t:l,m=Number.isNaN(u)?d?`${r}`:r:u;if(!c&&f===l&&m===u&&u<l){let e=u;m=l,f=e}let g=G(t,s)&&G(r,s),_=(e,t)=>d?p(e):g?t:Lt(t,o),v=`${p(n)} >= ${_(t,f)} and ${p(n)} <= ${_(r,m)}`;return h===`between`?`(${v})`:Rt(v,!0)}}return``},Vt=e=>e.replace(/^(=)$/,`$1=`).replace(/^notnull$/i,`!=`).replace(/^null$/i,`==`),Ht=(e,t)=>e.startsWith(`not`)||e.startsWith(`doesnot`)?{"!":t}:t,Ut=(e,t={})=>{let{field:n,operator:r,value:i,valueSource:a}=e,{parseNumbers:o,preserveValueOrder:s}=t,c=a===`field`,l={var:n},u=e=>c?{var:`${e}`}:G(e,o)?H(e,{parseNumbers:o}):e,d=K(e);if(d===!1)return!1;if(d){let{mode:e,threshold:r}=d;switch(e){case`all`:case`none`:case`some`:return{[e]:[{var:n},i.rules.length===1&&!F(i.rules[0])?Ut(i.rules[0],t):yt(i,t)]};case`atleast`:case`atmost`:case`exactly`:{let a=e===`atleast`?`>=`:e===`atmost`?`<=`:`==`,o={reduce:[{filter:[{var:n},i.rules.length===1&&!F(i.rules[0])?Ut(i.rules[0],t):yt(i,t)]},{"+":[1,{var:`accumulator`}]},0]};if(r>0&&r<1){let e={reduce:[{var:n},{"+":[1,{var:`accumulator`}]},0]};return{[a]:[o,{"*":[e,r]}]}}return{[a]:[o,r]}}}}let f=M(r);switch(f){case`<`:case`<=`:case`=`:case`!=`:case`>`:case`>=`:return{[Vt(f)]:[l,u(i)]};case`null`:case`notnull`:return{[`${f===`notnull`?`!`:`=`}=`]:[l,null]};case`in`:case`notin`:{let e=j(i).map(e=>u(e));return Ht(f,{in:[l,e]})}case`between`:case`notbetween`:{let e=j(i);if(e.length>=2&&W(e[0])&&W(e[1])){let[t,n]=e,r=o!==!1;if(!c&&G(t,r)&&G(n,r)){let e=H(t,{parseNumbers:r}),i=H(n,{parseNumbers:r});if(!s&&i<e){let r=i;n=e,t=r}else t=e,n=i}else c&&(t={var:t},n={var:n});return Ht(f,{"<=":[t,l,n]})}return!1}case`contains`:case`doesnotcontain`:{let e={in:[u(i),l]};return Ht(f,e)}case`beginswith`:case`doesnotbeginwith`:{let e={startsWith:[l,u(i)]};return Ht(f,e)}case`endswith`:case`doesnotendwith`:{let e={endsWith:[l,u(i)]};return Ht(f,e)}}return!1},Wt=(e,t)=>t?`(!${e})`:`${e}`,J=e=>`${A(e)}`.replaceAll(/[()&|=<>~*\\/]/g,e=>`\\${e.codePointAt(0).toString(16)}`),Gt=(e,t={})=>{let{field:n,operator:r,value:i,valueSource:a}=e,{preserveValueOrder:o}=t,s=M(r);if(a===`field`||P(i)&&s!==`null`&&s!==`notnull`||K(e))return``;switch(s){case`=`:case`!=`:return Wt(`(${n}=${J(i)})`,s===`!=`);case`>`:case`>=`:return`(${n}>=${J(i)})`;case`<`:case`<=`:return`(${n}<=${J(i)})`;case`contains`:case`doesnotcontain`:return Wt(`(${n}=*${J(i)}*)`,s===`doesnotcontain`);case`beginswith`:case`doesnotbeginwith`:return Wt(`(${n}=${J(i)}*)`,s===`doesnotbeginwith`);case`endswith`:case`doesnotendwith`:return Wt(`(${n}=*${J(i)})`,s===`doesnotendwith`);case`null`:case`notnull`:return Wt(`(${n}=*)`,s===`notnull`);case`in`:case`notin`:{let e=j(i);return Wt(`(|${e.map(e=>`(${n}=${J(e)})`).join(``)})`,s===`notin`)}case`between`:case`notbetween`:{let e=j(i);if(e.length<2||P(e[0])||P(e[1]))return``;let[t,r]=e,a=G(t,!0)?H(t,{parseNumbers:!0}):NaN,c=G(r,!0)?H(r,{parseNumbers:!0}):NaN,l=Number.isNaN(a)?t:a,u=Number.isNaN(c)?r:c;if(!o&&l===a&&u===c&&c<a){let e=c;u=a,l=e}return Wt(`(&(${n}>=${J(l)})(${n}<=${J(u)}))`,s===`notbetween`)}}return``},Kt=(e,t,n)=>n&&typeof e==`string`?e.replaceAll(`${t}`,`${t}${t}`):e,qt=(e,t={})=>{let{escapeQuotes:n,fields:r,parseNumbers:i,quoteFieldNamesWith:a,quoteValuesWith:o,fieldIdentifierSeparator:s,translations:c}=t,l=e.valueSource===`field`,u=M(e.operator),d=o||`'`,f=e=>`${d}${e}${d}`,p=e=>Kt(e,d,n),m=e=>f(p(e)),h=e=>Ke(e,{quoteFieldNamesWith:a,fieldIdentifierSeparator:s}),g=c??{},_=g.or??`or`,v=g.true??`true`,y=g.false??`false`;switch(u){case`null`:case`notnull`:return``;case`between`:case`notbetween`:{if(!l)return mt(e,t);let n=j(e.value,{retainEmptyStrings:!0}).slice(0,2).map(e=>h(B(r??[],e)?.label??e));return n.length<2||!W(n[0])||!W(n[1])?``:mt({...e,value:n},t)}case`in`:case`notin`:{let t=j(e.value);if(t.length===0)return``;let n=t.map(e=>l?h(B(r??[],e)?.label??e):G(e,i)?`${A(e)}`:`${m(e)}`);return`${n.slice(0,-1).join(`, `)}${n.length>2?`,`:``} ${_} ${n.at(-1)}`}}return typeof e.value==`boolean`?e.value?v:y:l?h(B(r??[],e.value)?.label??e.value):G(e.value,i)?`${A(e.value)}`:`${m(e.value)}`},Jt={"=":[`is`,`is the same as the value in`],"!=":[`is not`,`is not the same as the value in`],"<":[`is less than`,`is less than the value in`],">":[`is greater than`,`is greater than the value in`],"<=":[`is less than or equal to`,`is less than or equal to the value in`],">=":[`is greater than or equal to`,`is greater than or equal to the value in`],contains:[`contains`,`contains the value in`],beginswith:[`starts with`,`starts with the value in`],endswith:[`ends with`,`ends with the value in`],doesnotcontain:[`does not contain`,`does not contain the value in`],doesnotbeginwith:[`does not start with`,`does not start with the value in`],doesnotendwith:[`does not end with`,`does not end with the value in`],null:`is null`,notnull:`is not null`,in:[`is one of the values`,`is the same as a value in`],notin:[`is not one of the values`,`is not the same as any value in`],between:[`is between`,`is between the values in`],notbetween:[`is not between`,`is not between the values in`]},Yt=()=>[],Xt=(e,t={})=>{let{field:n,operator:r,valueSource:i=`value`}=e,{getOperators:a=Yt,operatorMap:o=Jt}=t,s=new Map(Object.entries(Jt));for(let[e,t]of Object.entries(o))s.set(M(e),t);let c=Object.fromEntries(s),{value:l,label:u}=B(be(a(n,{fieldData:t.fieldData??{name:n,value:n,label:n}})??[]),r)??{name:r,value:r,label:r},d=c[l]??c[M(l)]??[u,u];return typeof d==`string`?d:d[i===`field`?1:0]},Zt=(e,t)=>{let{field:n,operator:r}=e,{fieldData:i,quoteFieldNamesWith:a=[``,``],fieldIdentifierSeparator:o=``,quoteValuesWith:s=`'`,operatorProcessor:c=Xt,valueProcessor:l=qt,concatOperator:u=`||`,wordOrder:d=`SVO`}=t??{},f=Ke(i?.label??n,{quoteFieldNamesWith:a,fieldIdentifierSeparator:o}),p=K(e);if(p===!1)return``;if(p){let{mode:n,threshold:r}=p,a=Ct(e.value,{...t,fields:be(i?.subproperties??[])}),o=(i?.subproperties?.length??0)>0;switch(n){case`all`:return`(${o?`for `:``}every item in ${f}${o?`,`:``} ${a})`;case`none`:return`(${o?`for `:``}no item in ${f}${o?`,`:``} ${a})`;case`some`:return`(${o?`for `:``}at least one item in ${f}${o?`,`:``} ${a})`;case`atleast`:case`atmost`:case`exactly`:{let e=n.replace(`at`,`at `);return r>0&&r<1?`(${o?`for `:``}${e} ${r*100}% of the items in ${f}${o?`,`:``} ${a})`:`(${o?`for `:``}${e} ${r} of the items in ${f}${o?`,`:``} ${a})`}}}let m=l(e,{...t,quoteFieldNamesWith:a,fieldIdentifierSeparator:o,quoteValuesWith:s,concatOperator:u}),h=M(r);if((h===`in`||h===`notin`||h===`between`||h===`notbetween`)&&!m)return``;let g=c(e,t),_={S:f,V:g,O:m};return Je(d).map(e=>`${_[e]}`).join(` `).trim()},Qt=e=>M(Re(e.operator)),$t=(e,t={})=>{let{quoteFieldNamesWith:n=[``,``],fieldIdentifierSeparator:r=``,quoteValuesWith:i=`'`,operatorProcessor:a=Qt,valueProcessor:o=mt,concatOperator:s=`||`}=t,c=e=>Ke(e,{quoteFieldNamesWith:n,fieldIdentifierSeparator:r}),l=c(e.field),u=K(e);if(u===!1)return;if(u){if(t?.preset!==`postgresql`)return``;let{mode:n,threshold:r}=u,i=`elem_alias`,a=Ot(Fe(e.value,{ruleProcessor:e=>({...e,field:i})}),t);switch(n){case`all`:return`(select count(*) from unnest(${l}) as ${c(i)} where ${a}) = array_length(${l}, 1)`;case`none`:return`not exists (select 1 from unnest(${l}) as ${c(i)} where ${a})`;case`some`:return`exists (select 1 from unnest(${l}) as ${c(i)} where ${a})`;case`atleast`:case`atmost`:case`exactly`:{let e=n===`atleast`?`>=`:n===`atmost`?`<=`:`=`;return`(select count(*)${r>0&&r<1?` / array_length(${l}, 1)`:``} from unnest(${l}) as ${c(i)} where ${a}) ${e} ${r}`}}}let d=o(e,{...t,quoteFieldNamesWith:n,fieldIdentifierSeparator:r,quoteValuesWith:i,concatOperator:s}),f=a(e,t),p=M(f);return(p===`in`||p===`not in`||p===`between`||p===`not between`)&&!d?``:`${l} ${f} ${d}`.trim()},en=(e,t,n)=>{let{fieldData:r,format:i,getNextNamedParam:a,parseNumbers:o,paramPrefix:s,paramsKeepPrefix:c,numberedParams:l,quoteFieldNamesWith:u=[``,``],fieldIdentifierSeparator:d,concatOperator:f,operatorProcessor:p=Qt,valueProcessor:m=mt}=t??{},{processedParams:h=[]}=n??{},g=i===`parameterized`,_=[],v={},y=e=>g?{sql:e,params:_}:{sql:e,params:v},b=e=>Ke(e,{quoteFieldNamesWith:u,fieldIdentifierSeparator:d}),x=b(e.field),ee=K(e);if(ee===!1)return;if(ee){if(t?.preset!==`postgresql`)return y(``);let{mode:n,threshold:r}=ee,i=`elem_alias`,{sql:a,params:o}=wt(Fe(e.value,{ruleProcessor:e=>({...e,field:i})}),{...t,fields:[]});switch(Array.isArray(o)?_.push(...o):Object.assign(v,o),n){case`all`:return y(`(select count(*) from unnest(${x}) as ${b(i)} where ${a}) = array_length(${x}, 1)`);case`none`:return y(`not exists (select 1 from unnest(${x}) as ${b(i)} where ${a})`);case`some`:return y(`exists (select 1 from unnest(${x}) as ${b(i)} where ${a})`);case`atleast`:case`atmost`:case`exactly`:{let e=n===`atleast`?`>=`:n===`atmost`?`<=`:`=`;return y(`(select count(*)${r>0&&r<1?` / array_length(${x}, 1)`:``} from unnest(${x}) as ${b(i)} where ${a}) ${e} ${r}`)}}}let S=m(e,{parseNumbers:o,quoteFieldNamesWith:u,concatOperator:f,fieldData:r,format:i}),C=p(e,t),w=M(C),[T,E]=u;if((w===`in`||w===`not in`||w===`between`||w===`not between`)&&!S)return y(``);if(w===`is null`||w===`is not null`)return y(`${T}${e.field}${E} ${C}`);if(e.valueSource===`field`)return y(`${T}${e.field}${E} ${C} ${S}`.trim());if(w===`in`||w===`not in`){let t=j(e.value);if(g){for(let e of t)_.push(G(e,o)?H(e,{parseNumbers:o}):e);return y(`${T}${e.field}${E} ${C} (${t.map((e,n)=>l?`${s}${h.length+1+t.length-(t.length-n)}`:`?`).join(`, `)})`)}let n=[];for(let r of t){let t=a(e.field);n.push(`${s}${t}`),v[`${c?s:``}${t}`]=G(r,o)?H(r,{parseNumbers:o}):r}return y(`${T}${e.field}${E} ${C} (${n.join(`, `)})`)}else if(w===`between`||w===`not between`){let[t,n]=j(e.value,{retainEmptyStrings:!0}).slice(0,2).map(e=>G(e,o)?H(e,{parseNumbers:o}):e);if(g)return _.push(t,n),y(`${T}${e.field}${E} ${C} ${l?`${s}${h.length+1}`:`?`} and ${l?`${s}${h.length+2}`:`?`}`);let r=a(e.field),i=a(e.field);return v[`${c?s:``}${r}`]=t,v[`${c?s:``}${i}`]=n,y(`${T}${e.field}${E} ${C} ${s}${r} and ${s}${i}`)}let D=e.value;typeof e.value==`string`&&(D=G(e.value,o)?H(e.value,{parseNumbers:o}):/^'.*'$/g.test(S)?S.replaceAll(/(^'|'$)/g,``):S);let O=``;return g?_.push(D):(O=a(e.field),v[`${c?s:``}${O}`]=D),y(`${T}${e.field}${E} ${C} ${g?l?`${s}${h.length+1}`:`?`:`${s}${O}`}`.trim())},tn=(e,t,n)=>G(e,!!n||typeof e==`bigint`)?Number(H(e,{parseNumbers:!!n})):t,nn=(e,t={})=>{let{field:n,operator:r,value:i,valueSource:a}=e,{parseNumbers:o,preserveValueOrder:s}=t;if(a===`field`||K(e))return;let c=M(r);switch(c){case`=`:return{[n]:tn(i,i,o)};case`!=`:case`<`:case`<=`:case`>`:case`>=`:{let e=Be[c];return{[n]:{[e]:tn(i,i,o)}}}case`contains`:return{[n]:{contains:i}};case`beginswith`:return{[n]:{startsWith:i}};case`endswith`:return{[n]:{endsWith:i}};case`doesnotcontain`:return{NOT:{[n]:{contains:i}}};case`doesnotbeginwith`:return{NOT:{[n]:{startsWith:i}}};case`doesnotendwith`:return{NOT:{[n]:{endsWith:i}}};case`null`:return{[n]:null};case`notnull`:return{[n]:{not:null}};case`in`:case`notin`:{let e=j(i);return{[n]:{[Be[c]]:e.map(e=>tn(e,e,o))}}}case`between`:case`notbetween`:{let e=j(i);if(e.length>=2&&W(e[0])&&W(e[1])){let[t,r]=e,i=o!==!1,a=G(t,i)?H(t,{parseNumbers:o}):NaN,l=G(r,i)?H(r,{parseNumbers:o}):NaN,u=Number.isNaN(a)?t:a,d=Number.isNaN(l)?r:l;if(!s&&u===a&&d===l&&l<a){let e=l;d=a,u=e}return c===`between`?{[n]:{gte:u,lte:d}}:{OR:[{[n]:{lt:u}},{[n]:{gt:d}}]}}else return``}}return``},rn=(e,{parseNumbers:t,preserveValueOrder:n,context:r={}}={})=>{let{sequelizeOperators:i,sequelizeCol:a,sequelizeFn:o}=r;if(K(e))return;let{field:s,operator:c,value:l,valueSource:u}=e,d=u===`field`,f=M(c);if(!(!i||d&&(!a||!o&&[`doesnotcontain`,`doesnotbeginwith`,`doesnotendwith`].includes(f))))switch(f){case`=`:case`!=`:case`<`:case`<=`:case`>`:case`>=`:{let e={"=":i.eq,"!=":i.ne,"<":i.lt,"<=":i.lte,">":i.gt,">=":i.gte}[f];return{[s]:d&&f===`=`?{[i.col]:l}:{[e]:d?a(l):G(l,t)?H(l,{parseNumbers:`strict`}):l}}}case`contains`:return{[s]:{[i.substring]:d?a(l):`${l}`}};case`beginswith`:return{[s]:{[i.startsWith]:d?a(l):`${l}`}};case`endswith`:return{[s]:{[i.endsWith]:d?a(l):`${l}`}};case`doesnotcontain`:return{[s]:{[i.notLike]:d?o(`CONCAT`,`%`,a(l),`%`):`%${l}%`}};case`doesnotbeginwith`:return{[s]:{[i.notLike]:d?o(`CONCAT`,a(l),`%`):`${l}%`}};case`doesnotendwith`:return{[s]:{[i.notLike]:d?o(`CONCAT`,`%`,a(l)):`%${l}`}};case`null`:return{[s]:{[i.is]:null}};case`notnull`:return{[s]:{[i.not]:null}};case`in`:case`notin`:{let e=j(l);return{[s]:{[f===`in`?i.in:i.notIn]:e.map(e=>d?a(e):G(e,t)?H(e,{parseNumbers:`strict`}):e)}}}case`between`:case`notbetween`:{let e=j(l,{retainEmptyStrings:!0});if(e.length<2||!W(e[0])||!W(e[1]))return;let[r,o]=e,c=G(r,t)?H(r,{parseNumbers:`strict`}):NaN,u=G(o,t)?H(o,{parseNumbers:`strict`}):NaN,p=Number.isNaN(c)?r:c,m=Number.isNaN(u)?o:u,h=[p,m];return!n&&p===c&&m===u&&u<c&&(h[0]=u,h[1]=c),{[s]:{[f===`between`?i.between:i.notBetween]:d?h.map(e=>a(e)):h.every(e=>G(e,t))?h.map(e=>H(e,{parseNumbers:`strict`})):h}}}}},an={ansi:{},sqlite:{paramsKeepPrefix:!0},oracle:{},mssql:{concatOperator:`+`,quoteFieldNamesWith:[`[`,`]`],fieldIdentifierSeparator:`.`,paramPrefix:`@`},mysql:{concatOperator:`CONCAT`},postgresql:{quoteFieldNamesWith:`"`,numberedParams:!0,paramPrefix:`$`}},on={...an},sn={cel:rt,drizzle:ht,elasticsearch:Ft,json_without_ids:$t,json:$t,jsonata:Bt,jsonlogic:Ut,ldap:Gt,mongodb_query:ot,mongodb:st,natural_language:Zt,parameterized_named:en,parameterized:en,prisma:nn,sequelize:rn,spel:ft,sql:$t},Y=e=>e.operator,cn={cel:Y,drizzle:Y,elasticsearch:Y,json_without_ids:Y,json:Y,jsonata:Y,jsonlogic:Y,ldap:Y,mongodb_query:Y,mongodb:Y,natural_language:Xt,parameterized_named:Qt,parameterized:Qt,prisma:Y,sequelize:Y,spel:Y,sql:Qt},ln={cel:`1 == 1`,ldap:``,mongodb:`"$and":[{"$expr":true}]`,natural_language:`1 is 1`,spel:`1 == 1`,sql:`(1 = 1)`},un={format:`json`,fields:[],quoteFieldNamesWith:[``,``],fieldIdentifierSeparator:``,getOperators:()=>[],paramPrefix:`:`,paramsKeepPrefix:!1,numberedParams:!1,preserveValueOrder:!1,placeholderFieldName:`~`,placeholderOperatorName:`~`,quoteValuesWith:`'`,concatOperator:`||`,preset:`ansi`,wordOrder:`SVO`,translations:{},operatorMap:{}},dn=new Set([`cel`,`drizzle`,`elasticsearch`,`jsonata`,`jsonlogic`,`ldap`,`mongodb_query`,`mongodb`,`prisma`,`sequelize`,`spel`]),fn=new Set([`sql`,`parameterized`,`parameterized_named`,`drizzle`,`prisma`,`sequelize`]);function pn(e,t={}){let n=typeof t==`string`?{format:M(t)}:t,r={...un,...!n.format||fn.has(n.format)?an[n.preset??`ansi`]??null:null,...n,...!n.format&&(Object.keys(an).includes(n.preset??``)?{format:`sql`}:null)},i=M(r.format),{fallbackExpression:a,getOperators:o,operatorProcessor:s,parseNumbers:l,quoteFieldNamesWith:u,ruleGroupProcessor:d,ruleProcessor:f,validator:p,valueProcessor:m,context:h}=r,g=e=>typeof Le({parseNumbers:l,inputType:e})==`string`?!0:typeof l==`boolean`?l:void 0,_=typeof s==`function`?s:cn[i]??Y,v=typeof m==`function`?We(m)?e=>m(e.field,e.operator,e.value,e.valueSource):m:i===`natural_language`?qt:dn.has(i)?f??sn[i]:mt,y=(typeof f==`function`?f:null)??(dn.has(i)&&typeof f!=`function`&&m?v:null)??sn[i]??$t,b=Ge(u),x=be(r.fields),ee=(e,t)=>be(o(e,t)??[]),S=a??ln[i]??ln.sql,C={};if(typeof p==`function`){let t=p(e);if(typeof t==`boolean`){if(!t)return i===`parameterized`?{sql:S,params:[]}:i===`parameterized_named`?{sql:S,params:{}}:i===`mongodb`?`{${S}}`:i===`mongodb_query`?it:i===`prisma`?Tt:i===`jsonlogic`?!1:i===`elasticsearch`?{}:i===`drizzle`||i===`sequelize`?void 0:S}else C=t}let w={},T=ke(x);for(let e of T)typeof e.validator==`function`&&(w[e.value??e.name]=e.validator);let E=e=>{let t,n;if(e.id&&(t=C[e.id]),T.length>0){let t=T.filter(t=>t.name===e.field);if(t.length>0){let e=t[0];typeof e.validator==`function`&&(n=e.validator)}}return[t,n]},D={...r,fallbackExpression:S,fields:x,format:i,getOperators:ee,getParseNumberBoolean:g,quoteFieldNamesWith:b,operatorProcessor:_,ruleProcessor:y,valueProcessor:v,validateRule:E,validationMap:C,context:h};if(typeof d==`function`)return d(e,D);switch(i){case`json`:case`json_without_ids`:{let t=l?(0,c.produce)(e,e=>Ue(e,D)):e;return i===`json_without_ids`?JSON.stringify(t,(e,t)=>e===`id`||e===`path`?void 0:Qe(e,t)):JSON.stringify(t,Qe,2)}case`sql`:return Ot(e,D);case`parameterized`:case`parameterized_named`:return wt(e,D);case`mongodb`:return St(e,D);case`mongodb_query`:return at(e,D);case`cel`:return et(e,D);case`spel`:return ct(e,D);case`jsonata`:return vt(e,D);case`jsonlogic`:return yt(e,D);case`elasticsearch`:return _t(e,D);case`natural_language`:return Ct(e,D);case`ldap`:return bt(e,D);case`prisma`:return Et(e,D);case`drizzle`:return gt(e,D);case`sequelize`:return Dt(e,D);default:return``}}const mn=e=>(t,n,r,i)=>e({field:t,operator:n,value:r,valueSource:i},{parseNumbers:!1}),hn=mn(mt),gn=mn(st),_n=mn(rt),vn=mn(ft),yn=rt,bn=st,xn=ft,X=(e,t)=>{let n=t,r=0;for(;r<e.length&&n&&F(n);){let t=n.rules[e[r]];n=typeof t==`string`?null:t,r++}return r<e.length?null:n},Sn=(e,t)=>{if(t.id===e)return t;for(let n of t.rules){if(typeof n==`string`)continue;if(n.id===e)return n;if(F(n)){let t=Sn(e,n);if(t)return t}}return null},Cn=(e,t)=>{if(t.id===e)return[];let n=t.rules.findIndex(t=>typeof t!=`string`&&t.id===e);if(n>=0)return[n];for(let[n,r]of Object.entries(t.rules))if(F(r)){let t=Cn(e,r);if(Array.isArray(t))return[Number.parseInt(n),...t]}return null},Z=e=>e.slice(0,-1),wn=(e,t)=>e.length===t.length&&e.every((e,n)=>e===t[n]),Tn=(e,t)=>e.length<t.length&&RegExp(`^${e.join(`-`)}`).test(t.join(`-`)),En=(e,t)=>{let n=[],r=Z(e),i=Z(t),a=0;for(;a<r.length&&a<i.length&&r[a]===i[a];)n.push(i[a]),a++;return n},Dn=(e,t)=>{let n=!!t.disabled,r=t,i=0;for(;i<e.length&&!n&&F(r);){let t=r.rules[e[i]];N(t)&&(F(t)||`field`in t&&t.field)&&(n=!!t.disabled,r=t),i++}return n},On=e=>wn([],e.path)?`Query builder`:`Rule group at path ${e.path.join(`-`)}`,kn=globalThis.crypto;let Q=()=>`00-0-4-2-000`.replaceAll(/[^-]/g,e=>((Math.random()+Math.trunc(e))*65536>>Number.parseInt(e)).toString(16).padStart(4,`0`));if(kn){if(typeof kn.randomUUID==`function`)Q=()=>kn.randomUUID();else if(typeof kn.getRandomValues==`function`){let e=new Uint32Array(32);Q=()=>{kn.getRandomValues(e);let t=(e[0]%16).toString(16);for(let n=1;n<32;n++)t=n===12?`${t}4`:n===16?`${t}${`89ab`[e[17]%4]}`:`${t}${(e[n]%16).toString(16)}`,(n===7||n===11||n===15||n===19)&&(t=`${t}-`);return t}}}const An={name:`name`,value:`name`,matchModes:null,label:`label`},jn=(e,t)=>{let n=e?z(e):An,r=n.matchModes??!1;return!r&&t&&(r=t(n.value,{fieldData:n})),r===!0?D:r===!1?[]:Te(r)?be(r):r?.map(e=>D.find(t=>t.value===M(e))??{name:e,value:e,label:e})??[]},Mn=e=>{let t=typeof e==`boolean`?e:typeof e==`object`&&e?e.valid:null;return typeof t==`boolean`?t?O.valid:O.invalid:``},Nn=[{name:`value`,value:`value`,label:`value`}],Pn={name:`name`,value:`name`,valueSources:null,label:`label`},Fn=(e,t,n)=>{let r=e?z(e):Pn,i=r.valueSources??!1;return typeof i==`function`&&(i=i(t)),!i&&n&&(i=n(r.value,t,{fieldData:r})),i?Te(i)?be(i):i.map(e=>Nn.find(t=>t.value===M(e))??{name:e,value:e,label:e}):Nn},$=(e,t)=>le(t.map(t=>le(t?.[e]))),In=(...e)=>({queryBuilder:$(`queryBuilder`,e),ruleGroup:$(`ruleGroup`,e),header:$(`header`,e),body:$(`body`,e),combinators:$(`combinators`,e),addRule:$(`addRule`,e),addGroup:$(`addGroup`,e),cloneRule:$(`cloneRule`,e),cloneGroup:$(`cloneGroup`,e),removeGroup:$(`removeGroup`,e),rule:$(`rule`,e),fields:$(`fields`,e),operators:$(`operators`,e),value:$(`value`,e),removeRule:$(`removeRule`,e),notToggle:$(`notToggle`,e),shiftActions:$(`shiftActions`,e),dragHandle:$(`dragHandle`,e),lockRule:$(`lockRule`,e),lockGroup:$(`lockGroup`,e),valueSource:$(`valueSource`,e),actionElement:$(`actionElement`,e),valueSelector:$(`valueSelector`,e),betweenRules:$(`betweenRules`,e),valid:$(`valid`,e),invalid:$(`invalid`,e),dndDragging:$(`dndDragging`,e),dndOver:$(`dndOver`,e),dndCopy:$(`dndCopy`,e),dndGroup:$(`dndGroup`,e),dndDropNotAllowed:$(`dndDropNotAllowed`,e),disabled:$(`disabled`,e),valueListItem:$(`valueListItem`,e),matchMode:$(`matchMode`,e),matchThreshold:$(`matchThreshold`,e),branches:$(`branches`,e),hasSubQuery:$(`hasSubQuery`,e)}),Ln=Object.keys,Rn=Object.entries,zn=(e,{idGenerator:t=Q}={})=>(0,c.produce)(e,e=>{e.id||=t()}),Bn=(e,{idGenerator:t=Q}={})=>(0,c.produce)(e,e=>{e.id||=t(),e.rules=e.rules.map(e=>typeof e==`string`?e:F(e)?Bn(e,{idGenerator:t}):zn(e,{idGenerator:t}))}),Vn=(e,{idGenerator:t=Q}={})=>F(e)?Bn(e,{idGenerator:t}):zn(e,{idGenerator:t}),Hn=(e,{idGenerator:t=Q}={})=>structuredClone({...e,id:t()}),Un=(e,{idGenerator:t=Q}={})=>{if(!N(e))return e;if(!F(e))return structuredClone({...e,id:t()});let n={...e,id:t()};return Array.isArray(n.rules)&&(n.rules=e.rules.map(e=>typeof e==`string`?e:F(e)?Un(e,{idGenerator:t}):Hn(e,{idGenerator:t}))),n},Wn=(e,t,n,{combinators:r=T,combinatorPreceding:i,idGenerator:a=Q}={})=>(0,c.produce)(e,e=>{let o=Array.isArray(n)?X(n,e):Sn(n,e);if(!(!o||!F(o))){if(L(o)&&o.rules.length>0){let e=o.rules.at(-2);o.rules.push(i??(typeof e==`string`?e:V(r)))}o.rules.push(Vn(t,{idGenerator:a}))}}),Gn=(e,t,n,r,{resetOnFieldChange:i=!0,resetOnOperatorChange:a=!1,getRuleDefaultOperator:o=()=>`=`,getValueSources:s=()=>[`value`],getRuleDefaultValue:l=()=>``,getMatchModes:u=()=>[]}={})=>(0,c.produce)(e,e=>{let c=Array.isArray(r)?r:Cn(r,e);if(!c)return;if(t===`combinator`&&!I(e)){let t=X(Z(c),e).rules;c.at(-1)%2==1&&(t[c.at(-1)]=n);return}let d=X(c,e);if(!d)return;let f=F(d);if(d[t]===n||(t!==`valueSource`&&(d[t]=n),f))return;let p=!1,m=!1;if(t===`field`){let e=u(d.field),t=u(n);if(t.length===0)delete d.match;else{let e=d.match?.mode&&B(t,d.match.mode)?null:V(t);e&&(d.match={mode:e,threshold:1})}(e.length>0||t.length>0)&&(i=!0)}i&&t===`field`&&(d.operator=o(n),p=!0,m=!0),a&&t===`operator`&&(p=!0,m=!0);let h=Fn({name:d.field,value:d.field,label:``},d.operator,s),g=V(h);(p&&d.valueSource&&g!==d.valueSource||t===`valueSource`&&n!==d.valueSource)&&(m=!!d.valueSource||!d.valueSource&&n!==g,d.valueSource=p?g:n),m&&(d.value=l(d))}),Kn=(e,t)=>{let n=Array.isArray(t)?t:Cn(t,e);return!n||n.length===0||!I(e)&&!X(n,e)?e:(0,c.produce)(e,e=>{let t=n.at(-1),r=X(Z(n),e);if(r&&F(r))if(!I(r)&&r.rules.length>1){let e=t===0?0:t-1;r.rules.splice(e,2)}else r.rules.splice(t,1)})},qn=(e,t,n)=>{if(Array.isArray(n))return n;let r=L(e);if(n===`up`){if(wn(t,[0]))return t;if(t.at(-1)===0){let e=Z(t);return[...Z(e),Math.max(0,e.at(-1)-(r?1:0))]}else{let n=[...Z(t),Math.max(0,t.at(-1)-(r?2:1))],i=X(n,e);return F(i)?[...n,i.rules.length]:[...Z(t),Math.max(0,t.at(-1)-(r?3:1))]}}else if(n===`down`){if(wn([e.rules.length-1],t))return t;if(t.at(-1)===X(Z(t),e).rules.length-1){let e=Z(t);return[...Z(e),e.at(-1)+1]}else{let n=[...Z(t),t.at(-1)+(r?2:1)],i=X(n,e);return F(i)?[...n,0]:[...Z(t),t.at(-1)+(r?3:2)]}}return t},Jn=(e,t,n,{clone:r=!1,combinators:i=T,idGenerator:a=Q}={})=>{let o=Array.isArray(t)?t:Cn(t,e);if(!o)return e;let s=qn(e,o,n);if(o.length===0||wn(o,s)||!X(Z(s),e))return e;let l=X(o,e);if(!l)return e;let u=r?Un(l,{idGenerator:a}):l;return(0,c.produce)(e,e=>{let t=L(e),n=X(Z(o),e),a=o.at(-1),c=t&&a>0?n.rules[a-1]:null,l=t&&a<n.rules.length-1?n.rules[a+1]:null;if(!r){let e=t?Math.max(0,a-1):a,r=t?2:1;n.rules.splice(e,r)}let d=[...s],f=En(o,s);!r&&o.length===f.length+1&&s[f.length]>o[f.length]&&(d[f.length]-=t?2:1);let p=Z(d),m=X(p,e),h=d.at(-1),g=(...e)=>m.rules.splice(h,0,...e);if(m.rules.length===0||!t)g(u);else if(h===0)if(a===0&&l)g(u,l);else{let e=m.rules[1]??c??V(i);g(u,e)}else if(c)g(c,u);else{let e=m.rules[h-2]??l??V(i);g(e,u)}})},Yn=(e,t,n,{combinators:r=T,combinatorPreceding:i,combinatorSucceeding:a,idGenerator:o=Q,replace:s=!1}={})=>(0,c.produce)(e,e=>{let c=X(Z(n),e);if(!c||!F(c))return;let l=Un(t,{idGenerator:o}),u=L(e),d=n.at(-1),f=(e,...t)=>c.rules.splice(e,s?t.length:0,...t);if(c.rules.length===0||!u)f(d,l);else if(s&&u)f(d+d%2,l);else if(d===0)if(l.path?.at(-1)===0&&a)f(d,l,a);else{let e=c.rules[1]??i??V(r);f(d,l,e)}else{let e=d%2==0?d-1:d;if(i)f(e,i,l);else{let t=c.rules[e-2]??a??V(r);f(e,t,l)}}}),Xn=(e,t,n,{clone:r=!1,combinators:i=T,idGenerator:a=Q}={})=>{let o=Array.isArray(t)?t:Cn(t,e),s=Array.isArray(n)?n:Cn(n,e);if(!o||!s)return e;let l=qn(e,o,s);if(o.length===0||wn(o,l)||!X(Z(l),e))return e;let u=X(o,e),d=X(s,e);if(!u||!d)return e;let f=r?Un(u,{idGenerator:a}):u;return(0,c.produce)(e,e=>{let t=L(e),n=X(Z(o),e),s=o.at(-1);if(!r){let e=t?Math.max(0,s-1):s,r=t?2:1;n.rules.splice(e,r)}let c=[...l],u=En(o,l);!r&&o.length===u.length+1&&l[u.length]>o[u.length]&&(c[u.length]-=t?2:1);let p=Z(c),m=X(p,e),h=c.at(-1);m.rules.splice(h,1,Vn(t?{rules:[d,V(i),f]}:{combinator:V(i),rules:[d,f]},{idGenerator:a}))})};exports.LogType=re,exports.TestID=ne,exports.add=Wn,exports.bigIntJsonParseReviver=$e,exports.bigIntJsonStringifyReplacer=Qe,exports.celCombinatorMap=Ve,exports.clsx=le,exports.convertFromIC=R,exports.convertQuery=ge,exports.convertToIC=he,exports.defaultCELValueProcessor=_n,exports.defaultCombinatorLabelMap=S,exports.defaultCombinators=T,exports.defaultCombinatorsExtended=E,exports.defaultControlClassnames=te,exports.defaultExportOperatorMap=Jt,exports.defaultJoinChar=`,`,exports.defaultMatchModes=D,exports.defaultMongoDBValueProcessor=gn,exports.defaultNLTranslations=Ye,exports.defaultOperatorLabelMap=ee,exports.defaultOperatorNegationMap=w,exports.defaultOperatorProcessorNL=Xt,exports.defaultOperatorProcessorSQL=Qt,exports.defaultOperators=C,exports.defaultPlaceholderFieldGroupLabel=`------`,exports.defaultPlaceholderFieldLabel=`------`,exports.defaultPlaceholderFieldName=`~`,exports.defaultPlaceholderLabel=d,exports.defaultPlaceholderName=`~`,exports.defaultPlaceholderOperatorGroupLabel=`------`,exports.defaultPlaceholderOperatorLabel=`------`,exports.defaultPlaceholderOperatorName=`~`,exports.defaultPlaceholderValueGroupLabel=`------`,exports.defaultPlaceholderValueLabel=`------`,exports.defaultPlaceholderValueName=`~`,exports.defaultRuleGroupProcessorCEL=et,exports.defaultRuleGroupProcessorDrizzle=gt,exports.defaultRuleGroupProcessorElasticSearch=_t,exports.defaultRuleGroupProcessorJSONata=vt,exports.defaultRuleGroupProcessorJsonLogic=yt,exports.defaultRuleGroupProcessorLDAP=bt,exports.defaultRuleGroupProcessorMongoDB=St,exports.defaultRuleGroupProcessorMongoDBQuery=at,exports.defaultRuleGroupProcessorNL=Ct,exports.defaultRuleGroupProcessorParameterized=wt,exports.defaultRuleGroupProcessorPrisma=Et,exports.defaultRuleGroupProcessorSQL=Ot,exports.defaultRuleGroupProcessorSequelize=Dt,exports.defaultRuleGroupProcessorSpEL=ct,exports.defaultRuleProcessorCEL=rt,exports.defaultRuleProcessorDrizzle=ht,exports.defaultRuleProcessorElasticSearch=Ft,exports.defaultRuleProcessorJSONata=Bt,exports.defaultRuleProcessorJsonLogic=Ut,exports.defaultRuleProcessorLDAP=Gt,exports.defaultRuleProcessorMongoDB=st,exports.defaultRuleProcessorMongoDBQuery=ot,exports.defaultRuleProcessorNL=Zt,exports.defaultRuleProcessorParameterized=en,exports.defaultRuleProcessorPrisma=nn,exports.defaultRuleProcessorSQL=$t,exports.defaultRuleProcessorSequelize=rn,exports.defaultRuleProcessorSpEL=ft,exports.defaultSpELValueProcessor=vn,exports.defaultValidator=_e,exports.defaultValueProcessor=hn,exports.defaultValueProcessorByRule=mt,exports.defaultValueProcessorCELByRule=yn,exports.defaultValueProcessorMongoDBByRule=bn,exports.defaultValueProcessorNL=qt,exports.defaultValueProcessorSpELByRule=xn,exports.filterFieldsByComparator=Ne,exports.findID=Sn,exports.findPath=X,exports.formatQuery=pn,exports.formatQueryOptionPresets=on,exports.generateAccessibleDescription=On,Object.defineProperty(exports,`generateID`,{enumerable:!0,get:function(){return Q}}),exports.getCommonAncestorPath=En,exports.getFirstOption=V,exports.getMatchModesUtil=jn,exports.getNLTranslataion=Ze,exports.getOption=B,exports.getParentPath=Z,exports.getParseNumberMethod=Le,exports.getPathOfID=Cn,exports.getQuoteFieldNamesWithArray=Ge,exports.getQuotedFieldName=Ke,exports.getValidationClassNames=Mn,exports.getValueSourcesUtil=Fn,exports.group=Xn,exports.groupInvalidReasons=k,exports.insert=Yn,exports.isAncestor=Tn,exports.isFlexibleOptionArray=Te,exports.isFlexibleOptionGroupArray=De,exports.isFullOptionArray=Ee,exports.isFullOptionGroupArray=Oe,exports.isOptionGroupArray=we,exports.isPojo=N,exports.isRuleGroup=F,exports.isRuleGroupType=I,exports.isRuleGroupTypeIC=L,exports.isRuleOrGroupValid=U,exports.isRuleType=de,exports.isValidValue=W,exports.isValidationResult=Ie,exports.isValueProcessorLegacy=We,exports.joinWith=oe,exports.jsonLogicAdditionalOperators=He,exports.lc=M,exports.mapSQLOperator=Re,exports.mergeClassnames=In,exports.mongoDbFallback=it,exports.mongoOperators=ze,exports.move=Jn,exports.normalizeConstituentWordOrder=Je,exports.nullFreeArray=se,exports.nullOrUndefinedOrEmpty=P,exports.numericRegex=ue,exports.numerifyValues=Ue,exports.objectEntries=Rn,exports.objectKeys=Ln,exports.parseNumber=H,exports.pathIsDisabled=Dn,exports.pathsAreEqual=wn,exports.prepareRule=zn,exports.prepareRuleGroup=Bn,exports.prepareRuleOrGroup=Vn,exports.prismaFallback=Tt,exports.prismaOperators=Be,exports.processMatchMode=K,exports.regenerateID=Hn,exports.regenerateIDs=Un,exports.remove=Kn,exports.rootPath=ie,exports.shouldRenderAsNumber=G,exports.splitBy=ae,exports.sqlDialectPresets=an,exports.standardClassnames=O,exports.toArray=j,exports.toFlatOptionArray=ke,exports.toFullOption=z,exports.toFullOptionList=be,exports.toFullOptionMap=xe,exports.transformQuery=Fe,exports.trimIfString=A,exports.uniqByIdentifier=Ce,exports.uniqByName=Se,exports.uniqOptGroups=Ae,exports.uniqOptList=je,exports.update=Gn;
|
|
1
|
+
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(`immer`);c=s(c);let l=require(`numeric-quantity`);l=s(l);const u=`~`,d=`------`,f=`~`,p=d,m=d,h=`~`,g=d,_=d,v=`~`,y=d,b=d,x={fields:{title:`Field`,placeholderName:`~`,placeholderLabel:p,placeholderGroupLabel:m},operators:{title:`Operator`,placeholderName:`~`,placeholderLabel:g,placeholderGroupLabel:_},values:{title:`Values`,placeholderName:`~`,placeholderLabel:y,placeholderGroupLabel:b},matchMode:{title:`Match mode`},matchThreshold:{title:`Match threshold`},value:{title:`Value`},removeRule:{label:`⨯`,title:`Remove rule`},removeGroup:{label:`⨯`,title:`Remove group`},addRule:{label:`+ Rule`,title:`Add rule`},addGroup:{label:`+ Group`,title:`Add group`},combinators:{title:`Combinator`},notToggle:{label:`Not`,title:`Invert this group`},cloneRule:{label:`⧉`,title:`Clone rule`},cloneRuleGroup:{label:`⧉`,title:`Clone group`},shiftActionUp:{label:`˄`,title:`Shift up`},shiftActionDown:{label:`˅`,title:`Shift down`},dragHandle:{label:`⁞⁞`,title:`Drag handle`},lockRule:{label:`🔓`,title:`Lock rule`},lockGroup:{label:`🔓`,title:`Lock group`},lockRuleDisabled:{label:`🔒`,title:`Unlock rule`},lockGroupDisabled:{label:`🔒`,title:`Unlock group`},muteRule:{label:`🔊`,title:`Mute rule`},muteGroup:{label:`🔊`,title:`Mute group`},unmuteRule:{label:`🔇`,title:`Unmute rule`},unmuteGroup:{label:`🔇`,title:`Unmute group`},valueSourceSelector:{title:`Value source`}},ee=`,`,S={"=":`=`,"!=":`!=`,"<":`<`,">":`>`,"<=":`<=`,">=":`>=`,contains:`contains`,beginsWith:`begins with`,endsWith:`ends with`,doesNotContain:`does not contain`,doesNotBeginWith:`does not begin with`,doesNotEndWith:`does not end with`,null:`is null`,notNull:`is not null`,in:`in`,notIn:`not in`,between:`between`,notBetween:`not between`},C={and:`AND`,or:`OR`,xor:`XOR`},w=[{name:`=`,value:`=`,label:`=`},{name:`!=`,value:`!=`,label:`!=`},{name:`<`,value:`<`,label:`<`},{name:`>`,value:`>`,label:`>`},{name:`<=`,value:`<=`,label:`<=`},{name:`>=`,value:`>=`,label:`>=`},{name:`contains`,value:`contains`,label:`contains`},{name:`beginsWith`,value:`beginsWith`,label:`begins with`},{name:`endsWith`,value:`endsWith`,label:`ends with`},{name:`doesNotContain`,value:`doesNotContain`,label:`does not contain`},{name:`doesNotBeginWith`,value:`doesNotBeginWith`,label:`does not begin with`},{name:`doesNotEndWith`,value:`doesNotEndWith`,label:`does not end with`},{name:`null`,value:`null`,label:`is null`},{name:`notNull`,value:`notNull`,label:`is not null`},{name:`in`,value:`in`,label:`in`},{name:`notIn`,value:`notIn`,label:`not in`},{name:`between`,value:`between`,label:`between`},{name:`notBetween`,value:`notBetween`,label:`not between`}],T={"=":`!=`,"!=":`=`,"<":`>=`,"<=":`>`,">":`<=`,">=":`<`,beginsWith:`doesNotBeginWith`,doesNotBeginWith:`beginsWith`,endsWith:`doesNotEndWith`,doesNotEndWith:`endsWith`,contains:`doesNotContain`,doesNotContain:`contains`,between:`notBetween`,notBetween:`between`,in:`notIn`,notIn:`in`,notNull:`null`,null:`notNull`},E=[{name:`and`,value:`and`,label:`AND`},{name:`or`,value:`or`,label:`OR`}],D=[...E,{name:`xor`,value:`xor`,label:`XOR`}],O=[{name:`all`,value:`all`,label:`all`},{name:`some`,value:`some`,label:`some`},{name:`none`,value:`none`,label:`none`},{name:`atLeast`,value:`atLeast`,label:`at least`},{name:`atMost`,value:`atMost`,label:`at most`},{name:`exactly`,value:`exactly`,label:`exactly`}],te={queryBuilder:`queryBuilder`,ruleGroup:`ruleGroup`,header:`ruleGroup-header`,body:`ruleGroup-body`,combinators:`ruleGroup-combinators`,addRule:`ruleGroup-addRule`,addGroup:`ruleGroup-addGroup`,cloneRule:`rule-cloneRule`,cloneGroup:`ruleGroup-cloneGroup`,removeGroup:`ruleGroup-remove`,notToggle:`ruleGroup-notToggle`,rule:`rule`,fields:`rule-fields`,matchMode:`rule-matchMode`,matchThreshold:`rule-matchThreshold`,operators:`rule-operators`,value:`rule-value`,removeRule:`rule-remove`,betweenRules:`betweenRules`,valid:`queryBuilder-valid`,invalid:`queryBuilder-invalid`,shiftActions:`shiftActions`,dndDragging:`dndDragging`,dndOver:`dndOver`,dndCopy:`dndCopy`,dndGroup:`dndGroup`,dndDropNotAllowed:`dndDropNotAllowed`,dragHandle:`queryBuilder-dragHandle`,disabled:`queryBuilder-disabled`,muted:`queryBuilder-muted`,lockRule:`rule-lock`,lockGroup:`ruleGroup-lock`,muteRule:`rule-mute`,muteGroup:`ruleGroup-mute`,valueSource:`rule-valueSource`,valueListItem:`rule-value-list-item`,branches:`queryBuilder-branches`,justified:`queryBuilder-justified`,hasSubQuery:`rule-hasSubQuery`},k={queryBuilder:``,ruleGroup:``,header:``,body:``,combinators:``,addRule:``,addGroup:``,cloneRule:``,cloneGroup:``,removeGroup:``,notToggle:``,rule:``,fields:``,matchMode:``,matchThreshold:``,operators:``,value:``,removeRule:``,shiftActions:``,dragHandle:``,lockRule:``,lockGroup:``,muteRule:``,muteGroup:``,muted:``,valueSource:``,actionElement:``,valueSelector:``,betweenRules:``,valid:``,invalid:``,dndDragging:``,dndOver:``,dndGroup:``,dndCopy:``,dndDropNotAllowed:``,disabled:``,valueListItem:``,branches:``,hasSubQuery:``},ne={empty:`empty`,invalidCombinator:`invalid combinator`,invalidIndependentCombinators:`invalid independent combinators`},re={rule:`rule`,ruleGroup:`rule-group`,inlineCombinator:`inline-combinator`,addGroup:`add-group`,removeGroup:`remove-group`,cloneGroup:`clone-group`,cloneRule:`clone-rule`,addRule:`add-rule`,removeRule:`remove-rule`,combinators:`combinators`,fields:`fields`,operators:`operators`,valueEditor:`value-editor`,notToggle:`not-toggle`,shiftActions:`shift-actions`,dragHandle:`drag-handle`,lockRule:`lock-rule`,lockGroup:`lock-group`,muteRule:`mute-rule`,muteGroup:`mute-group`,valueSourceSelector:`value-source-selector`,matchModeEditor:`match-mode-editor`},ie={parentPathDisabled:`action aborted: parent path disabled`,pathDisabled:`action aborted: path is disabled`,queryUpdate:`query updated`,onAddRuleFalse:`onAddRule callback returned false`,onAddGroupFalse:`onAddGroup callback returned false`,onGroupRuleFalse:`onGroupRule callback returned false`,onGroupGroupFalse:`onGroupGroup callback returned false`,onMoveRuleFalse:`onMoveRule callback returned false`,onMoveGroupFalse:`onMoveGroup callback returned false`,onRemoveFalse:`onRemove callback returned false`,add:`rule or group added`,remove:`rule or group removed`,update:`rule or group updated`,move:`rule or group moved`,group:`rule or group grouped with another`},ae=[],oe=(e,t=`,`)=>typeof e==`string`?e.split(`\\${t}`).map(e=>e.split(t)).reduce((e,n,r)=>r===0?n:[...e.slice(0,-1),`${e.at(-1)}${t}${n[0]}`,...n.slice(1)],[]):[],se=(e,t=`,`)=>e.map(e=>`${e??``}`.replaceAll(t[0],`\\${t[0]}`)).join(t),A=e=>typeof e==`string`?e.trim():e,j=(e,{retainEmptyStrings:t}={})=>Array.isArray(e)?e.map(e=>A(e)):typeof e==`string`?oe(e,`,`).filter(t?()=>!0:e=>!/^\s*$/.test(e)).map(e=>e.trim()):typeof e==`number`?[e]:[],ce=e=>e.every(e=>e===!1||(e??!1)!==!1);function le(e){let t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){let i=e.length;for(t=0;t<i;t++)e[t]&&(n=le(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function ue(...e){let t=0,n,r,i=``,a=e.length;for(;t<a;t++)(n=e[t])&&(r=le(n))&&(i&&(i+=` `),i+=r);return i}const M=e=>typeof e==`string`?e.toLowerCase():e,de=new RegExp(l.numericRegex.source.replace(/^\^/,String.raw`^\s*`).replace(/\$$/,String.raw`\s*$`)),N=e=>typeof e!=`object`||!e?!1:Object.getPrototypeOf(e)===Object.prototype,P=e=>e==null||e===``,fe=e=>N(e)&&`field`in e&&typeof e.field==`string`,F=e=>N(e)&&Array.isArray(e.rules),I=e=>F(e)&&typeof e.combinator==`string`,pe=e=>F(e)&&e.combinator===void 0,me=[`or`,`xor`,`and`],he=(e,t)=>M(e)===t,ge=(e,t=0)=>{let n=me[t];return e.rules.includes(n)?(0,c.produce)(e,e=>{let r=0;for(;r<e.rules.length-2;){if(he(e.rules[r+1],n)){r+=2;continue}let i=e.rules.findIndex((e,t)=>t>r&&typeof e==`string`&&M(e)===n);if(i===-1){e.rules.splice(r,e.rules.length,ge({rules:e.rules.slice(r)},t+1));break}else e.rules.splice(r,i-r,ge({rules:e.rules.slice(r,i)},t+1))}}):t<me.length-2?ge(e,t+1):e},L=e=>{if(I(e))return e;let t=ge(e),n=t.rules.map(e=>typeof e==`string`||!F(e)?e:L(e)),r=n.length<2?`and`:n[1],i=n.filter(e=>typeof e!=`string`);return{...t,combinator:r,rules:i}},_e=e=>{if(pe(e))return e;let{combinator:t,...n}=e,r=[],{length:i}=e.rules;for(let[n,a]of e.rules.entries())F(a)?r.push(_e(a)):r.push(a),t&&n<i-1&&r.push(t);return{...n,rules:r}};function ve(e){return pe(e)?L(e):_e(e)}const ye=e=>{let t={},n=e=>{e.id&&t[e.id]},r=e=>{let i=[];if(e.rules.length===0)i.push(ne.empty);else if(!I(e)){let t=!1;for(let n=0;n<e.rules.length&&!t;n++)(n%2==0&&typeof e.rules[n]==`string`||n%2==1&&typeof e.rules[n]!=`string`||n%2==1&&typeof e.rules[n]==`string`&&!E.map(e=>e.name).includes(e.rules[n]))&&(t=!0);t&&i.push(ne.invalidIndependentCombinators)}I(e)&&!E.map(e=>e.name).includes(e.combinator)&&e.rules.length>1&&i.push(ne.invalidCombinator),e.id&&(t[e.id]=i.length>0?{valid:!1,reasons:i}:!0);for(let t of e.rules)typeof t==`string`||(F(t)?r(t):n(t))};return r(e),t},be=Object.keys,xe=Object.entries,Se=e=>N(e)&&`name`in e&&typeof e.name==`string`,Ce=e=>N(e)&&`value`in e&&typeof e.value==`string`;function R(e,t,n){return(0,c.produce)(e=>{let r={},i=!!t;if(typeof e==`string`)return{...t,name:e,value:e,label:n?.[e]??e};if(Se(e)&&!Ce(e)?(r.value=e.name,i=!0):!Se(e)&&Ce(e)&&(r.name=e.value,i=!0),i)return Object.assign({},t,e,r)})(e)}function we(e,t,n){return Array.isArray(e)?(0,c.produce)(e=>{if(z(e))for(let r of e)for(let[e,i]of r.options.entries())r.options[e]=R(i,t,n);else for(let[r,i]of e.entries())e[r]=R(i,t,n)})(e):[]}function Te(e,t){return Object.fromEntries(Object.entries(e).map(([e,n])=>[e,R(n,t)]))}const Ee=e=>De(e),De=e=>{let t=new Set,n=[];for(let r of e)t.has(r.value??r.name)||(t.add(r.value??r.name),n.push(r));return e.length===n.length?e:n},Oe=e=>Array.isArray(e)&&e.length>0&&N(e[0])&&`options`in e[0]&&Array.isArray(e[0].options),ke=e=>{let t=!1;if(Array.isArray(e))for(let n of e)if(Se(n)||Ce(n))t=!0;else return!1;return t},Ae=e=>{let t=!1;if(Array.isArray(e))for(let n of e)if(Se(n)&&Ce(n))t=!0;else return!1;return t},z=(e,{allowEmpty:t=!1}={})=>{let n=!1;if(Array.isArray(e))for(let r of e)if(N(r)&&`options`in r&&(ke(r.options)||t&&Array.isArray(r.options)&&r.options.length===0))n=!0;else return!1;return n},je=(e,{allowEmpty:t=!1}={})=>{let n=!1;if(Array.isArray(e))for(let r of e)if(N(r)&&`options`in r&&(Ae(r.options)||t&&Array.isArray(r.options)&&r.options.length===0))n=!0;else return!1;return n};function B(e,t){return(z(e,{allowEmpty:!0})?e.flatMap(e=>e.options):e).find(e=>e.value===t||e.name===t)}function V(e){if(!Array.isArray(e)||e.length===0)return null;if(z(e,{allowEmpty:!0})){for(let t of e)if(t.options.length>0)return t.options[0].value??t.options[0].name;return null}return e[0].value??e[0].name}const Me=e=>De(Oe(e)?e.flatMap(e=>e.options):e),Ne=e=>{let t=new Set,n=new Set,r=[];for(let i of e)if(!t.has(i.label)){t.add(i.label);let e=[];for(let t of i.options)n.has(t.value??t.name)||(n.add(t.value??t.name),e.push(R(t)));r.push({...i,options:e})}return r},Pe=e=>z(e)?Ne(e):De(e.map(e=>R(e))),Fe=e=>{let{optionList:t,baseOption:n={},labelMap:r={},placeholder:{placeholderName:i=`~`,placeholderLabel:a=d,placeholderGroupLabel:o=d}={},autoSelectOption:s=!0}=e,c={id:i,name:i,value:i,label:a},l=t??[c],u=[],f=Array.isArray(l)?we(l,n,r):be(Te(l,n)).map(e=>({...l[e],name:e,value:e})).sort((e,t)=>e.label.localeCompare(t.label));u=z(f)?Ne(s?f:[{label:o,options:[c]},...f]):De(s?f:[c,...f]);let p={};if(Array.isArray(l))if(z(u))for(let e of u)for(let t of e.options)p[t.value??t.name]=R(t,n);else for(let e of u)p[e.value??e.name]=R(e,n);else{let e=Te(l,n);p=s?e:{...e,[i]:c}}return{defaultOption:c,optionList:u,optionsMap:p}},Ie=(e,t,n)=>{let r=R(e),i=R(n);return r.value===i.value?!1:typeof r.comparator==`string`?r[r.comparator]===i[r.comparator]:r.comparator?.(i,t)??!1},Le=(e,t,n)=>{if(!e.comparator){let n=t=>(t.value??t.name)!==(e.value??e.name);return z(t)?t.map(e=>({...e,options:e.options.filter(e=>n(e))})):t.filter(e=>n(e))}return z(t)?t.map(t=>({...t,options:t.options.filter(t=>Ie(e,n,t))})).filter(e=>e.options.length>0):t.filter(t=>Ie(e,n,t))},H=(e,{parseNumbers:t,bigIntOnOverflow:n}={})=>{if(!t||typeof e==`bigint`||typeof e==`number`)return e;if(t===`native`)return Number.parseFloat(e);let r=(0,l.numericQuantity)(e,{allowTrailingInvalid:t===`enhanced`,bigIntOnOverflow:n,romanNumerals:!1,round:!1});return typeof r==`bigint`||!Number.isNaN(r)?r:e},Re=(e,t,n)=>(0,c.produce)(e,e=>{for(let[r,i]of Object.entries(t))i===!1?delete e[r]:i&&r!==i&&r in e&&(e[i]=e[r],n&&delete e[r])});function ze(e,t={}){let{ruleProcessor:n=e=>e,ruleGroupProcessor:r=e=>e,propertyMap:i={},combinatorMap:a={},operatorMap:o={},omitPath:s=!1,deleteRemappedProperties:c=!0}=t,l=e=>({...r(Re({...e,...I(e)?{combinator:a[e.combinator]??e.combinator}:{}},i,c)),...i.rules===!1?null:{[i.rules??`rules`]:e.rules.map((t,r)=>{let u=s?null:{path:[...e.path,r]};return typeof t==`string`?a[t]??t:F(t)?l({...t,...u}):n(Re({...t,...u,...`operator`in t?{operator:o[t.operator]??t.operator}:{}},i,c))})}});return l({...e,...s?null:{path:[]}})}const Be=e=>N(e)&&typeof e.valid==`boolean`,U=(e,t,n)=>{if(e.muted)return!1;if(typeof t==`boolean`)return t;if(Be(t))return t.valid;if(typeof n==`function`&&!F(e)){let t=n(e);if(typeof t==`boolean`)return t;if(Be(t))return t.valid}return!0},Ve=({parseNumbers:e,inputType:t})=>{if(typeof e==`string`){let[n,r]=e.split(`-`);return r===`limited`?t===`number`?n:!1:n}return e?`strict`:!1},He=e=>{switch(M(e)){case`null`:return`is null`;case`notnull`:return`is not null`;case`notin`:return`not in`;case`notbetween`:return`not between`;case`contains`:case`beginswith`:case`endswith`:return`like`;case`doesnotcontain`:case`doesnotbeginwith`:case`doesnotendwith`:return`not like`;default:return e}},Ue={"=":`$eq`,"!=":`$ne`,"<":`$lt`,"<=":`$lte`,">":`$gt`,">=":`$gte`,in:`$in`,notin:`$nin`,notIn:`$nin`},We={"=":`equals`,"!=":`not`,"<":`lt`,"<=":`lte`,">":`gt`,">=":`gte`,in:`in`,notin:`notIn`},Ge={and:`&&`,or:`||`},Ke={startsWith:(e,t)=>typeof e==`string`&&e.startsWith(t),endsWith:(e,t)=>typeof e==`string`&&e.endsWith(t)},qe=(e,t)=>({...e,rules:e.rules.map(e=>{if(typeof e==`string`)return e;if(F(e))return qe(e,t);let n=B(t.fields,e.field),r=Ve({parseNumbers:t.parseNumbers,inputType:n?.inputType});if(Array.isArray(e.value))return{...e,value:e.value.map(e=>H(e,{parseNumbers:r}))};let i=j(e.value,{retainEmptyStrings:!0}).map(e=>H(e,{parseNumbers:r}));if(i.every(e=>typeof e==`number`)){if(i.length>1)return{...e,value:i};if(i.length===1)return{...e,value:i[0]}}return e})}),W=e=>typeof e==`string`&&e.length>0||typeof e==`number`&&!Number.isNaN(e)||typeof e!=`string`&&typeof e!=`number`,G=(e,t)=>!!t&&(typeof e==`number`||typeof e==`bigint`||typeof e==`string`&&de.test(e)),Je=e=>e.length>=3,Ye=(e=[``,``])=>Array.isArray(e)?e:typeof e==`string`?[e,e]:e??[``,``],Xe=(e,{quoteFieldNamesWith:t,fieldIdentifierSeparator:n})=>{let[r,i]=Ye(t);return typeof n==`string`&&n.length>0?se(oe(e,n).map(e=>`${r}${e}${i}`),n):`${r}${e}${i}`},Ze=[`S`,`V`,`O`],Qe=e=>{let t=[],n=new Set(Ze);for(let r of e.toUpperCase())if(n.has(r)&&(t.push(r),n.delete(r),n.size===0))break;for(let e of Ze)n.has(e)&&t.push(e);return t},$e={groupPrefix:``,groupPrefix_not_xor:`either zero or more than one of`,groupPrefix_xor:`exactly one of`,groupSuffix:`is true`,groupSuffix_not:`is not true`},et=(e,t,n)=>t.startsWith(e)&&n.every(e=>t.includes(`_${e}`)&&t.match(/_/g)?.length===n.length),tt=(e,t,n=[])=>n.length===0?t[e]??$e[e]??``:Object.entries(t).find(([t])=>et(e,t,n))?.[1]??Object.entries($e).find(([t])=>et(e,t,n))?.[1]??$e[e]??``,K=e=>{let{mode:t,threshold:n}=e.match??{};if(t){if(!F(e.value))return!1;let r=M(t),i=r===`atleast`&&n===1?`some`:r===`atmost`&&n===0?`none`:r;return(i===`atleast`||i===`atmost`||i===`exactly`)&&(typeof n!=`number`||n<0)?!1:{mode:i,threshold:n}}},nt=(e,t)=>typeof t==`bigint`?{$bigint:t.toString()}:t,rt=(e,t)=>N(t)&&Object.keys(t).length===1&&typeof t.$bigint==`string`?BigInt(t.$bigint):t,it=(e,t)=>{let{fields:n,fallbackExpression:r,getParseNumberBoolean:i,placeholderFieldName:a,placeholderOperatorName:o,placeholderValueName:s,ruleProcessor:c,validateRule:l,validationMap:u}=t,d=(e,f)=>{if(!U(e,u[e.id??``]))return f?r:``;let p=[],m=``,h=!0;for(let r of e.rules){if(typeof r==`string`){m=Ge[r];continue}if(F(r)){let e=d(r);e&&(!h&&m&&(p.push(m),m=``),h=!1,p.push(e));continue}let[e,u]=l(r);if(!U(r,e,u)||r.field===a||r.operator===o||s!==void 0&&r.value===s)continue;let f=B(n,r.field),g=c(r,{...t,parseNumbers:i(f?.inputType),escapeQuotes:(r.valueSource??`value`)===`value`,fieldData:f});g&&(!h&&m&&(p.push(m),m=``),h=!1,p.push(g))}let g=p.join(I(e)?` ${Ge[e.combinator]} `:` `),[_,v]=e.not||!f?[`${e.not?`!`:``}(`,`)`]:[``,``];return g?`${_}${g}${v}`:r};return d(e,!0)},at=e=>e.startsWith(`not`)||e.startsWith(`doesnot`),ot=(e,t)=>typeof e!=`string`||!t?`${e}`:e.replaceAll(`"`,`\\"`),st=(e,t={})=>{let{escapeQuotes:n,parseNumbers:r,preserveValueOrder:i}=t,{field:a,operator:o,value:s,valueSource:c}=e,l=c===`field`,u=M(o===`=`?`==`:o),d=typeof s==`number`||typeof s==`boolean`||typeof s==`bigint`||G(s,r),f=K(e);if(f===!1)return``;if(f){let{mode:n,threshold:r}=f,i=`elem_alias`,o=it(ze(e.value,{ruleProcessor:e=>({...e,field:`${i}${e.field?`.${e.field}`:``}`})}),t);switch(n){case`all`:return`${a}.all(${i}, ${o})`;case`none`:case`some`:return`${n===`none`?`!`:``}${a}.exists(${i}, ${o})`;case`atleast`:case`atmost`:case`exactly`:{let e=`double(${a}.size())`,t=`${a}.filter(${i}, ${o}).size()`,s=n===`atleast`?`>=`:n===`atmost`?`<=`:`==`;return r>0&&r<1?`${t} ${s} (${e} * ${r})`:`${t} ${s} ${r}`}}}switch(u){case`<`:case`<=`:case`==`:case`!=`:case`>`:case`>=`:return`${a} ${u} ${l||d?A(s):`"${ot(s,n)}"`}`;case`contains`:case`doesnotcontain`:return`${at(u)?`!`:``}${a}.contains(${l?A(s):`"${ot(s,n)}"`})`;case`beginswith`:case`doesnotbeginwith`:return`${at(u)?`!`:``}${a}.startsWith(${l?A(s):`"${ot(s,n)}"`})`;case`endswith`:case`doesnotendwith`:return`${at(u)?`!`:``}${a}.endsWith(${l?A(s):`"${ot(s,n)}"`})`;case`null`:return`${a} == null`;case`notnull`:return`${a} != null`;case`in`:case`notin`:{let[e,t]=at(u)?[`!(`,`)`]:[``,``];return`${e}${a} in [${j(s).map(e=>l||G(e,r)?`${A(e)}`:`"${ot(e,n)}"`).join(`, `)}]${t}`}case`between`:case`notbetween`:{let e=j(s);if(e.length>=2&&!P(e[0])&&!P(e[1])){let[t,o]=e,s=r!==!1,c=G(t,s)?H(t,{parseNumbers:s}):NaN,d=G(o,s)?H(o,{parseNumbers:s}):NaN,f=Number.isNaN(c)?l?`${t}`:`"${ot(t,n)}"`:c,p=Number.isNaN(d)?l?`${o}`:`"${ot(o,n)}"`:d;if(!i&&f===c&&p===d&&d<c){let e=d;p=c,f=e}return u===`between`?`(${a} >= ${f} && ${a} <= ${p})`:`(${a} < ${f} || ${a} > ${p})`}else return``}}return``},ct={$and:[{$expr:!0}]},lt=(e,t,n)=>{let{fields:r,getParseNumberBoolean:i,placeholderFieldName:a,placeholderOperatorName:o,placeholderValueName:s,ruleProcessor:c,validateRule:l,validationMap:u}=t,d=(e,f)=>{if(!U(e,u[e.id??``]))return f?ct:!1;let p=`$${M(e.combinator)}`,m=!1,h=e.rules.map(e=>{if(F(e)){let t=d(e);return t?(m=!0,t):!1}let[u,f]=l(e);if(!U(e,u,f)||e.field===a||e.operator===o||s!==void 0&&e.value===s)return!1;let p=B(r,e.field);return c(e,{...t,parseNumbers:i(p?.inputType),fieldData:p},n)}).filter(Boolean);return h.length>0?h.length===1&&!m?h[0]:{[p]:h}:ct};return d(L(e),!0)},q=(e,t,n=!1)=>G(e,n||typeof e==`bigint`)?Number(H(e,{parseNumbers:`strict`})):t,ut=(e,t={})=>{let{field:n,operator:r,value:i,valueSource:a}=e,{parseNumbers:o,preserveValueOrder:s,context:c}=t,l=a===`field`,{avoidFieldsAsKeys:u}=c??{},d=K(e);if(d===!1)return;if(d){let{mode:e,threshold:r}=d,a={$size:{$ifNull:[`$${n}`,[]]}},o=lt(ze(i,{ruleProcessor:e=>({...e,field:e.field?`${n}.${e.field}`:n})}),{...t,ruleProcessor:ut,context:{...t.context,avoidFieldsAsKeys:!1}}),s=lt(ze(i,{ruleProcessor:e=>({...e,field:e.field?`$item.${e.field}`:`$item`})}),{...t,ruleProcessor:ut,context:{...t.context,avoidFieldsAsKeys:!0}}),c={$size:{$ifNull:[{$filter:{input:`$${n}`,as:`item`,cond:{$and:[s]}}},[]]}};switch(e){case`all`:return{$expr:{$eq:[c,a]}};case`none`:return{$nor:[o]};case`some`:return o;case`atleast`:case`atmost`:case`exactly`:{let t=e===`atleast`?Ue[`>=`]:e===`atmost`?Ue[`<=`]:Ue[`=`];return r>0&&r<1?{$expr:{[t]:[c,{$multiply:[a,r]}]}}:{$expr:{[t]:[c,r]}}}}}if(r===`=`&&!l)return u?{$eq:[`$${n}`,q(i,i,o)]}:{[n]:q(i,i,o)};let f=M(r);switch(f){case`<`:case`<=`:case`=`:case`!=`:case`>`:case`>=`:{let e=Ue[f];return l?{[e]:[`$${n}`,`$${i}`]}:u?{$and:[{$ne:[`$${n}`,null]},{[e]:[`$${n}`,q(i,i,o)]}]}:{[n]:{[e]:q(i,i,o)}}}case`contains`:return l?{$where:`this.${n}.includes(this.${i})`}:u?{$regexMatch:{input:`$${n}`,regex:i}}:{[n]:{$regex:i}};case`beginswith`:return l?{$where:`this.${n}.startsWith(this.${i})`}:u?{$regexMatch:{input:`$${n}`,regex:`^${i}`}}:{[n]:{$regex:`^${i}`}};case`endswith`:return l?{$where:`this.${n}.endsWith(this.${i})`}:u?{$regexMatch:{input:`$${n}`,regex:`${i}$`}}:{[n]:{$regex:`${i}$`}};case`doesnotcontain`:return l?{$where:`!this.${n}.includes(this.${i})`}:u?{$not:{$regexMatch:{input:`$${n}`,regex:i}}}:{[n]:{$not:{$regex:i}}};case`doesnotbeginwith`:return l?{$where:`!this.${n}.startsWith(this.${i})`}:u?{$not:{$regexMatch:{input:`$${n}`,regex:`^${i}`}}}:{[n]:{$not:{$regex:`^${i}`}}};case`doesnotendwith`:return l?{$where:`!this.${n}.endsWith(this.${i})`}:u?{$not:{$regexMatch:{input:`$${n}`,regex:`${i}$`}}}:{[n]:{$not:{$regex:`${i}$`}}};case`null`:return u?{$eq:[`$${n}`,null]}:{[n]:null};case`notnull`:return u?{$ne:[`$${n}`,null]}:{[n]:{$ne:null}};case`in`:case`notin`:{let e=j(i);return l?{$where:`${f===`notin`?`!`:``}[${e.map(e=>`this.${e}`).join(`,`)}].includes(this.${n})`}:u?f===`notin`?{$not:{[Ue.in]:[`$${n}`,e.map(e=>q(e,e,o))]}}:{[Ue[f]]:[`$${n}`,e.map(e=>q(e,e,o))]}:{[n]:{[Ue[f]]:e.map(e=>q(e,e,o))}}}case`between`:case`notbetween`:{let e=j(i);if(e.length>=2&&W(e[0])&&W(e[1])){let[t,r]=e,i=q(t,NaN,!0),a=q(r,NaN,!0),o=l||Number.isNaN(i)?t:i,c=l||Number.isNaN(a)?r:a;if(!s&&o===i&&c===a&&a<i){let e=a;c=i,o=e}return f===`between`?l?{$gte:[`$${n}`,`$${o}`],$lte:[`$${n}`,`$${c}`]}:u?{$and:[{$gte:[`$${n}`,o]},{$lte:[`$${n}`,c]}]}:{[n]:{$gte:o,$lte:c}}:l?{$or:[{$lt:[`$${n}`,`$${o}`]},{$gt:[`$${n}`,`$${c}`]}]}:u?{$or:[{$lt:[`$${n}`,o]},{$gt:[`$${n}`,c]}]}:{$or:[{[n]:{$lt:o}},{[n]:{$gt:c}}]}}else return``}}return``},dt=(e,t)=>{let n=ut(e,t);return n?JSON.stringify(n):``},ft=(e,t)=>{let{fields:n,fallbackExpression:r,getParseNumberBoolean:i,placeholderFieldName:a,placeholderOperatorName:o,placeholderValueName:s,ruleProcessor:c,validateRule:l,validationMap:u}=t,d=(e,f)=>{if(!U(e,u[e.id??``]))return f?r:``;let p=[],m=``,h=!0;for(let r of e.rules){if(typeof r==`string`){m=r;continue}if(F(r)){let e=d(r);e&&(!h&&m&&(p.push(m),m=``),h=!1,p.push(e));continue}let[e,u]=l(r);if(!U(r,e,u)||r.field===a||r.operator===o||s!==void 0&&r.value===s)continue;let f=B(n,r.field),g=c(r,{...t,parseNumbers:i(f?.inputType),escapeQuotes:(r.valueSource??`value`)===`value`,fieldData:f});g&&(!h&&m&&(p.push(m),m=``),h=!1,p.push(g))}let g=p.join(I(e)?` ${e.combinator} `:` `),[_,v]=e.not||!f?[`${e.not?`!`:``}(`,`)`]:[``,``];return g?`${_}${g}${v}`:r};return d(e,!0)},pt=e=>e.startsWith(`not`)||e.startsWith(`doesnot`),mt=(e,t)=>t?`!(${e})`:e,ht=(e,t)=>typeof e!=`string`||!t?`${e}`:e.replaceAll(`'`,`\\'`),gt=(e,t={})=>{let{field:n,operator:r,value:i,valueSource:a}=e,{escapeQuotes:o,parseNumbers:s,preserveValueOrder:c}=t,l=a===`field`,u=M(r===`=`?`==`:r),d=typeof i==`number`||typeof i==`boolean`||typeof i==`bigint`||G(i,s),f=K(e);if(f===!1)return``;if(f){let{mode:r,threshold:i}=f,a=ft(ze(e.value,{ruleProcessor:e=>({...e,field:e.field||`#this`})}),t),o=`${n}.size()`,s=`${n}.?[${a}].size()`;switch(r){case`all`:return`${s} == ${o}`;case`none`:return`${s} == 0`;case`some`:return`${s} >= 1`;case`atleast`:case`atmost`:case`exactly`:{let e=r===`atleast`?`>=`:r===`atmost`?`<=`:`==`;return i>0&&i<1?`${s} ${e} (${o} * ${i})`:`${s} ${e} ${i}`}}}switch(u){case`<`:case`<=`:case`==`:case`!=`:case`>`:case`>=`:return`${n} ${u} ${l||d?A(i):`'${ht(i,o)}'`}`;case`contains`:case`doesnotcontain`:return mt(`${n} matches ${l||d?A(i):`'${ht(i,o)}'`}`,pt(u));case`beginswith`:case`doesnotbeginwith`:return mt(`${n} matches ${l?`'^'.concat(${A(i)})`:`'${typeof i==`string`&&!i.startsWith(`^`)||d?`^`:``}${ht(i,o)}'`}`,pt(u));case`endswith`:case`doesnotendwith`:return mt(`${n} matches ${l?`${A(i)}.concat('$')`:`'${ht(i,o)}${typeof i==`string`&&!i.endsWith(`$`)||d?`$`:``}'`}`,pt(u));case`null`:return`${n} == null`;case`notnull`:return`${n} != null`;case`in`:case`notin`:{let e=pt(u)?`!`:``,t=j(i);return t.length>0?`${e}(${t.map(e=>`${n} == ${l||G(e,s)?`${A(e)}`:`'${ht(e,o)}'`}`).join(` or `)})`:``}case`between`:case`notbetween`:{let e=j(i);if(e.length>=2&&!P(e[0])&&!P(e[1])){let[t,r]=e,i=s!==!1,a=G(t,i)?H(t,{parseNumbers:i}):NaN,d=G(r,i)?H(r,{parseNumbers:i}):NaN,f=Number.isNaN(a)?l?`${t}`:`'${ht(t,o)}'`:a,p=Number.isNaN(d)?l?`${r}`:`'${ht(r,o)}'`:d;if(!c&&f===a&&p===d&&d<a){let e=d;p=a,f=e}return u===`between`?`(${n} >= ${f} and ${n} <= ${p})`:`(${n} < ${f} or ${n} > ${p})`}else return``}}return``},_t=(e,t,n)=>n&&typeof e==`string`?e.replaceAll(`${t}`,`${t}${t}`):e,vt=({operator:e,value:t,valueSource:n},{escapeQuotes:r,parseNumbers:i,preserveValueOrder:a,quoteFieldNamesWith:o,quoteValuesWith:s,concatOperator:c=`||`,fieldIdentifierSeparator:l,wrapValueWith:u=[``,``],translations:d}={})=>{let f=n===`field`,p=M(e),m=s||`'`,h=e=>`${u[0]}${m}${e}${m}${u[1]}`,g=e=>_t(e,m,r),_=e=>h(g(e)),v=e=>Xe(e,{quoteFieldNamesWith:o,fieldIdentifierSeparator:l}),y=(...e)=>c.toUpperCase()===`CONCAT`?`CONCAT(${e.join(`, `)})`:e.join(` ${c} `);switch(p){case`null`:case`notnull`:return``;case`in`:case`notin`:{let e=j(t);return e.length>0?`(${e.map(e=>f?v(e):G(e,i)?`${A(e)}`:`${_(e)}`).join(`, `)})`:``}case`between`:case`notbetween`:{let e=j(t,{retainEmptyStrings:!0});if(e.length<2||!W(e[0])||!W(e[1]))return``;let[n,r]=e,o=G(n,i)?H(n,{parseNumbers:`strict`}):NaN,s=G(r,i)?H(r,{parseNumbers:`strict`}):NaN,c=Number.isNaN(o)?f?`${n}`:n:o,l=Number.isNaN(s)?f?`${r}`:r:s,u=[c,l];return!a&&c===o&&l===s&&s<o&&(u[0]=s,u[1]=o),(f?u.map(e=>v(e)):u.every(e=>G(e,i))?u.map(e=>H(e,{parseNumbers:`strict`})):u.map(e=>_(e))).join(` ${d?.and??`and`} `)}case`contains`:case`doesnotcontain`:return f?y(h(`%`),v(t),h(`%`)):h(`%${g(t)}%`);case`beginswith`:case`doesnotbeginwith`:return f?y(v(t),h(`%`)):h(`${g(t)}%`);case`endswith`:case`doesnotendwith`:return f?y(h(`%`),v(t)):h(`%${g(t)}`)}return typeof t==`boolean`?t?`TRUE`:`FALSE`:f?v(t):G(t,i)?`${A(t)}`:`${_(t)}`},yt=(e,t)=>{let n=t??{},{parseNumbers:r,preserveValueOrder:i,context:a={}}=n,{columns:o,drizzleOperators:s,useRawFields:c}=a;if(!o||!s)return;let{between:l,eq:u,gt:d,gte:f,inArray:p,isNotNull:m,isNull:h,like:g,lt:_,lte:v,ne:y,notBetween:b,notInArray:x,notLike:ee,sql:S}=s,{field:C,operator:w,value:T,valueSource:E}=e,D=c&&/[a-z][a-z0-9]*/i.test(C)?S.raw(C):o[C],O=M(w),te=E===`field`,k=e=>te?o[e]:e;if(!D)return;let ne=K(e);if(ne!==!1){if(ne){if(n.preset!==`postgresql`)return;let{mode:t,threshold:r}=ne,i=`elem_alias`,a=bt(ze(e.value,{ruleProcessor:e=>({...e,field:i})}),{...n,context:{...n.context,useRawFields:!0}});switch(t){case`all`:return S`(select count(*) from unnest(${D}) as ${S.raw(i)} where ${a({},s)}) = array_length(${D}, 1)`;case`none`:return S`not exists (select 1 from unnest(${D}) as ${S.raw(i)} where ${a({},s)})`;case`some`:return S`exists (select 1 from unnest(${D}) as ${S.raw(i)} where ${a({},s)})`;case`atleast`:case`atmost`:case`exactly`:{let e=t===`atleast`?`>=`:t===`atmost`?`<=`:`=`;return r>0&&r<1?S`(select count(*) / array_length(${D}, 1) from unnest(${D}) as ${S.raw(i)} where ${a({},s)}) ${S.raw(`${e} ${r}`)}`:S`(select count(*) from unnest(${D}) as ${S.raw(i)} where ${a({},s)}) ${S.raw(`${e} ${r}`)}`}}}switch(O){case`=`:return u(D,k(T));case`!=`:return y(D,k(T));case`>`:return d(D,k(T));case`<`:return _(D,k(T));case`>=`:return f(D,k(T));case`<=`:return v(D,k(T));case`beginswith`:case`doesnotbeginwith`:return(O===`doesnotbeginwith`?ee:g)(D,te?S`${k(T)} || '%'`:`${T}%`);case`contains`:case`doesnotcontain`:return(O===`doesnotcontain`?ee:g)(D,te?S`'%' || ${k(T)} || '%'`:`%${T}%`);case`endswith`:case`doesnotendwith`:return(O===`doesnotendwith`?ee:g)(D,te?S`'%' || ${k(T)}`:`%${T}`);case`null`:return h(D);case`notnull`:return m(D);case`in`:case`notin`:{let e=j(T).map(e=>k(e));return O===`notin`?x(D,e):p(D,e)}case`between`:case`notbetween`:{let e=j(T);if(e.length>=2&&W(e[0])&&W(e[1])){let[t,n]=e,a=r!==!1;if(!te&&G(t,a)&&G(n,a)){let e=H(t,{parseNumbers:a}),r=H(n,{parseNumbers:a});if(!i&&r<e){let i=r;n=e,t=i}else t=e,n=r}else te&&(t=k(t),n=k(n));return O===`notbetween`?b(D,t,n):l(D,t,n)}return}default:return}}},bt=(e,t,n)=>(n,r)=>{let{fields:i,getParseNumberBoolean:a,placeholderFieldName:o,placeholderOperatorName:s,placeholderValueName:c,validateRule:l,validationMap:u}=t;if(!n||!r)return;let{and:d,not:f,or:p}=r,m=yt,h=(e,g)=>{if(!U(e,u[e.id??``]))return;let _=e.rules.map(e=>{if(F(e))return h(e);let[u,d]=l(e);if(!U(e,u,d)||e.field===o||e.operator===s||c!==void 0&&e.value===c)return;let f=B(i,e.field);return m(e,{...t,parseNumbers:a(f?.inputType),fieldData:f,context:{...t.context,columns:n,drizzleOperators:r}})}).filter(Boolean);if(_.length===0)return;let v=e.combinator===`or`?p(..._):d(..._);return e.not?f(v):v};return h(L(e),!0)},xt=(e,t)=>{let{fields:n,getParseNumberBoolean:r,placeholderFieldName:i,placeholderOperatorName:a,placeholderValueName:o,ruleProcessor:s,validateRule:c,validationMap:l}=t,u=e=>{if(!U(e,l[e.id??``]))return!1;let d=e.rules.map(e=>{if(F(e))return u(e);let[l,d]=c(e);if(!U(e,l,d)||e.field===i||e.operator===a||o!==void 0&&e.value===o)return!1;let f=B(n,e.field);return s(e,{...t,parseNumbers:r(f?.inputType),fieldData:f})}).filter(Boolean);return d.length===0?!1:{bool:e.not?{must_not:/^or$/i.test(e.combinator)?{bool:{should:d}}:d}:{[/^or$/i.test(e.combinator)?`should`:`must`]:d}}},d=u(L(e));return d===!1?{}:d},St=(e,t)=>{let{fields:n,fallbackExpression:r,getParseNumberBoolean:i,placeholderFieldName:a,placeholderOperatorName:o,placeholderValueName:s,ruleProcessor:c,validateRule:l,validationMap:u}=t,d=(e,f)=>{if(!U(e,u[e.id??``]))return f?r:``;let p=[],m=``,h=!0;for(let r of e.rules){if(typeof r==`string`){m=r;continue}if(F(r)){let e=d(r);e&&(!h&&m&&(p.push(m),m=``),h=!1,p.push(e));continue}let[e,u]=l(r);if(!U(r,e,u)||r.field===a||r.operator===o||s!==void 0&&r.value===s)continue;let f=B(n,r.field),g=c(r,{...t,parseNumbers:i(f?.inputType),escapeQuotes:(r.valueSource??`value`)===`value`,fieldData:f});g&&(!h&&m&&(p.push(m),m=``),h=!1,p.push(g))}let g=p.join(I(e)?` ${e.combinator} `:` `),[_,v]=e.not||!f?[`${e.not?`$not`:``}(`,`)`]:[``,``];return g?`${_}${g}${v}`:r};return d(e,!0)},Ct=(e,t)=>{let{fields:n,getParseNumberBoolean:r,placeholderFieldName:i,placeholderOperatorName:a,placeholderValueName:o,ruleProcessor:s,validateRule:c,validationMap:l}=t,u=L(e),d=(e,u)=>{if(!U(e,l[e.id??``]))return!1;let f=e.rules.map(e=>{if(F(e))return d(e);let[l,u]=c(e);if(!U(e,l,u)||e.field===i||e.operator===a||o!==void 0&&e.value===o)return!1;let f=B(n,e.field);return s(e,{...t,parseNumbers:r(f?.inputType),fieldData:f})}).filter(Boolean);if(f.length===0)return!1;let p={[e.combinator]:f};return e.not?{"!":p}:p};return d(u,!0)},wt=(e,t)=>{let{fields:n,fallbackExpression:r,getParseNumberBoolean:i,placeholderFieldName:a,placeholderOperatorName:o,placeholderValueName:s,ruleProcessor:c,validateRule:l,validationMap:u}=t,d=(e,f)=>{if(!U(e,u[e.id??``]))return f?r:``;let p=e.rules.map(e=>{if(F(e))return d(e);let[r,u]=l(e);if(!U(e,r,u)||e.field===a||e.operator===o||s!==void 0&&e.value===s)return``;let f=B(n,e.field);return c(e,{...t,parseNumbers:i(f?.inputType),escapeQuotes:(e.valueSource??`value`)===`value`,fieldData:f})}).filter(Boolean),m=p.join(``),[h,g]=e.not?[`(!`,`)`]:[``,``],[_,v]=p.length>1?[`${h}(${e.combinator===`or`?`|`:`&`}`,`)${g}`]:[h,g];return m?`${_}${m}${v}`:r};return d(L(e),!0)},Tt=e=>e.startsWith(`{`)&&e.endsWith(`}`),Et=(e,t,n)=>{let{fields:r,fallbackExpression:i,getParseNumberBoolean:a,placeholderFieldName:o,placeholderOperatorName:s,placeholderValueName:c,ruleProcessor:l,validateRule:u,validationMap:d}=t,f=(e,p)=>{if(!U(e,d[e.id??``]))return p?i:``;let m=`"$${M(e.combinator)}"`,h=!1,g=e.rules.map(e=>{if(F(e)){let t=f(e);return t?(h=!0,Tt(t)?t:`{${t}}`):``}let[i,d]=u(e);if(!U(e,i,d)||e.field===o||e.operator===s||c!==void 0&&e.value===c)return``;let p=B(r,e.field);return l(e,{...t,parseNumbers:a(p?.inputType),fieldData:p},n)}).filter(Boolean);return g.length>0?g.length===1&&!h?g[0]:`${m}:[${g.join(`,`)}]`:i},p=f(L(e),!0);return Tt(p)?p:`{${p}}`},Dt=(e,t)=>{let{fields:n,fallbackExpression:r,getParseNumberBoolean:i,placeholderFieldName:a,placeholderOperatorName:o,placeholderValueName:s,ruleProcessor:c,translations:l,validateRule:u,validationMap:d}=t,f=(e,p)=>{if(!U(e,d[e.id??``]))return p?r:``;let m=pe(e)&&e.rules.some(e=>typeof e==`string`&&M(e)===`xor`)?L(e):e,h=[],g=``,_=!0;for(let e of m.rules){if(typeof e==`string`){g=`, ${l[e]??e} `;continue}if(F(e)){let t=f(e,m.rules.length===1&&!(m.not||/^xor$/i.test(m.combinator??``)));t&&(!_&&g&&(h.push(g),g=``),_=!1,h.push(t));continue}let[r,d]=u(e);if(!U(e,r,d)||e.field===a||e.operator===o||s!==void 0&&e.value===s)continue;let p=(e.valueSource??`value`)===`value`,v=B(n,e.field),y=c(e,{...t,parseNumbers:i(v?.inputType),escapeQuotes:p,fieldData:v});y&&(!_&&g&&(h.push(g),g=``),_=!1,h.push(y))}if(h.length===0)return r;let v=M(m.combinator??``)===`xor`,y=v?m.combinator.slice(1):m.combinator,b=m.not||!p||v&&h.length>1,[x,ee]=[`groupPrefix`,`groupSuffix`].map(e=>m.not?v?tt(e,l,[`not`,`xor`]):tt(e,l,[`not`]):v?tt(e,l,[`xor`]):tt(e,l)),S=b?`${x} (`.trim():``,C=b?`) ${ee}`.trim():``;return`${S}${h.join(I(m)?`, ${l[y]??y} `:``)}${C}`};return f(e,!0)},Ot=(e,t)=>{let{format:n,fields:r,fallbackExpression:i,getParseNumberBoolean:a,placeholderFieldName:o,placeholderOperatorName:s,placeholderValueName:c,ruleProcessor:l,validateRule:u,validationMap:d}=t,f=n===`parameterized`,p=[],m={},h=new Map,g=e=>{h.has(e)||h.set(e,new Set);let t=`${e}_${h.get(e).size+1}`;return h.get(e).add(t),t},_=e=>{let[i,d]=u(e);if(!U(e,i,d)||e.field===o||e.operator===s||c!==void 0&&e.value===c)return``;let f=B(r,e.field),_=Object.fromEntries([...h.entries()].map(([e,t])=>[e,[...t]])),v=l(e,{...t,parseNumbers:a(f?.inputType),getNextNamedParam:g,fieldParamNames:_,fieldData:f},{processedParams:p});if(!N(v))return``;let{sql:y,params:b}=v;if(typeof y!=`string`||!y)return``;if(n===`parameterized`&&Array.isArray(b))p.push(...b);else if(n===`parameterized_named`&&N(b)){Object.assign(m,b);for(let t of Object.keys(b))h.get(e.field)?.add(t)}return y},v=(e,t)=>{if(!U(e,d[e.id??``]))return t?i:``;let n=[],r=``,a=!0;for(let t of e.rules){if(typeof t==`string`){r=t;continue}if(F(t)){let i=v(t,e.rules.length===1);i&&(!a&&r&&(n.push(r),r=``),a=!1,n.push(i));continue}let i=_(t);i&&(!a&&r&&(n.push(r),r=``),a=!1,n.push(i))}return n.length===0?i:`${e.not?`NOT `:``}(${n.join(I(e)?` ${e.combinator} `:` `)})`};return f?{sql:v(e,!0),params:p}:{sql:v(e,!0),params:m}},kt={},At=(e,t)=>{let{fields:n,getParseNumberBoolean:r,placeholderFieldName:i,placeholderOperatorName:a,placeholderValueName:o,ruleProcessor:s,validateRule:c,validationMap:l}=t,u=(e,d)=>{if(!U(e,l[e.id??``]))return d?kt:void 0;let f=e.combinator.toUpperCase(),p=!1,m=e.rules.map(e=>{if(F(e)){let t=u(e);return t?(p=!0,t):void 0}let[l,d]=c(e);if(!U(e,l,d)||e.field===i||e.operator===a||o!==void 0&&e.value===o)return;let f=B(n,e.field);return s(e,{...t,parseNumbers:r(f?.inputType),fieldData:f})}).filter(Boolean);return m.length>0?m.length===1&&!p?m[0]:{[f]:m}:kt},d=u(L(e),!0);return e.not?{NOT:d}:d},jt=(e,t)=>{let{fields:n,getParseNumberBoolean:r,placeholderFieldName:i,placeholderOperatorName:a,placeholderValueName:o,ruleProcessor:s,validateRule:c,validationMap:l,context:u={}}=t,{sequelizeOperators:d}=u;if(!d)return;let f=(e,u)=>{if(!U(e,l[e.id??``]))return;let p=e.combinator.toUpperCase(),m=!1,h=e.rules.map(e=>{if(F(e)){let t=f(e);return t?(m=!0,t):void 0}let[l,u]=c(e);if(!U(e,l,u)||e.field===i||e.operator===a||o!==void 0&&e.value===o)return;let d=B(n,e.field);return s(e,{...t,parseNumbers:r(d?.inputType),fieldData:d})}).filter(Boolean);if(h.length===0)return;let g=h.length===1&&!m?h[0]:{[M(p)===`or`?d.or:d.and]:h};return e.not?{[d.not]:g}:g};return f(L(e),!0)},Mt=(e,t)=>{let{fields:n,fallbackExpression:r,getParseNumberBoolean:i,placeholderFieldName:a,placeholderOperatorName:o,placeholderValueName:s,ruleProcessor:c,validateRule:l,validationMap:u}=t,d=(e,f)=>{if(!U(e,u[e.id??``]))return f?r:``;let p=[],m=``,h=!0;for(let r of e.rules){if(typeof r==`string`){m=r;continue}if(F(r)){let t=d(r,e.rules.length===1);t&&(!h&&m&&(p.push(m),m=``),h=!1,p.push(t));continue}let[u,f]=l(r);if(!U(r,u,f)||r.field===a||r.operator===o||s!==void 0&&r.value===s)continue;let g=(r.valueSource??`value`)===`value`,_=B(n,r.field),v=c(r,{...t,parseNumbers:i(_?.inputType),escapeQuotes:g,fieldData:_});v&&(!h&&m&&(p.push(m),m=``),h=!1,p.push(v))}return p.length===0?r:`${e.not?`NOT `:``}(${p.join(I(e)?` ${e.combinator} `:` `)})`};return d(e,!0)},Nt={"<":`lt`,"<=":`lte`,">":`gt`,">=":`gte`},Pt=(e,t)=>e.startsWith(`not`)||e.startsWith(`doesnot`)?{bool:{must_not:t}}:t,Ft=e=>e?.replace(/('|\\)/g,`\\$1`),It={beginswith:`startsWith`,doesnotbeginwith:`startsWith`,doesnotcontain:`contains`,doesnotendwith:`endsWith`,endswith:`endsWith`},Lt=(e,t,n)=>{let r=`doc['${e}'].value.${It[t]??t}(doc['${n}'].value)`;return t.startsWith(`d`)?`!${r}`:r},Rt=(e,t)=>typeof e==`boolean`?e:G(e,t)?H(e,{parseNumbers:t}):e,zt=(e,t={})=>{let{field:n,operator:r,value:i,valueSource:a}=e,{parseNumbers:o,preserveValueOrder:s}=t,c=M(r);if(K(e))return!1;if(a===`field`){if(j(i).some(e=>typeof e!=`string`))return!1;let e=Ft(n);switch(c){case`=`:case`!=`:case`>`:case`>=`:case`<`:case`<=`:{let t=c===`=`?`==`:c,n=Ft(i);return n?{bool:{filter:{script:{script:`doc['${e}'].value ${t} doc['${n}'].value`}}}}:!1}case`in`:case`notin`:{let t=j(i);if(t.length>0){let n=t.map(t=>({bool:{filter:{script:{script:`doc['${e}'].value == doc['${t}'].value`}}}}));return{bool:c===`in`?{should:n}:{must_not:n}}}return!1}case`between`:case`notbetween`:{let t=j(i);if(t.length>=2&&t[0]&&t[1]){let n=`doc['${e}'].value >= doc['${t[0]}'].value && doc['${e}'].value <= doc['${t[1]}'].value`;return{bool:{filter:{script:{script:c===`notbetween`?`!(${n})`:n}}}}}return!1}case`contains`:case`doesnotcontain`:case`beginswith`:case`doesnotbeginwith`:case`endswith`:case`doesnotendwith`:{let t=Ft(i);return t?{bool:{filter:{script:{script:Lt(e,c,t)}}}}:!1}}}switch(c){case`<`:case`<=`:case`>`:case`>=`:return{range:{[n]:{[Nt[c]]:Rt(i,o)}}};case`=`:return{term:{[n]:Rt(i,o)}};case`!=`:return{bool:{must_not:{term:{[n]:Rt(i,o)}}}};case`null`:return{bool:{must_not:{exists:{field:n}}}};case`notnull`:return{exists:{field:n}};case`in`:case`notin`:{let e=j(i).map(e=>Rt(e,o));if(e.length>0){let t=e.map(e=>({term:{[n]:Rt(e,o)}}));return{bool:c===`in`?{should:t}:{must_not:t}}}return!1}case`between`:case`notbetween`:{let e=j(i);if(e.length>=2&&W(e[0])&&W(e[1])){let[t,r]=e,i=o!==!1;if(G(t,i)&&G(r,i)){let e=H(t,{parseNumbers:i}),n=H(r,{parseNumbers:i});if(!s&&n<e){let i=n;r=e,t=i}else t=e,r=n}return Pt(c,{range:{[n]:{gte:t,lte:r}}})}return!1}case`contains`:case`doesnotcontain`:return Pt(c,{regexp:{[n]:{value:`.*${i}.*`}}});case`beginswith`:case`doesnotbeginwith`:return Pt(c,{regexp:{[n]:{value:`${i}.*`}}});case`endswith`:case`doesnotendwith`:return Pt(c,{regexp:{[n]:{value:`.*${i}`}}})}return!1},Bt=e=>e.startsWith(`not`)||e.startsWith(`doesnot`),Vt=(e,t)=>`"${typeof e!=`string`||!t?`${e}`:e.replaceAll(`"`,`\\"`)}"`,Ht=(e,t)=>t?`$not(${e})`:e,Ut=e=>`${e}`.replaceAll(/[/$()*+.?[\\\]^{|}]/g,String.raw`\$&`).replaceAll(`-`,String.raw`\x2d`),Wt=(e,t={})=>{let{field:n,operator:r,value:i,valueSource:a}=e,{escapeQuotes:o,parseNumbers:s,preserveValueOrder:c,quoteFieldNamesWith:l=[``,``],fieldIdentifierSeparator:u=``}=t,d=a===`field`,f=typeof i==`number`||typeof i==`boolean`||typeof i==`bigint`||G(i,s),p=e=>Xe(e,{quoteFieldNamesWith:l,fieldIdentifierSeparator:u}),m=K(e);if(m===!1)return;if(m){let{mode:e,threshold:r}=m,a=`$count(${p(n)})`,o=`$count($filter(${p(n)}, function($v) {${St(ze(i,{ruleProcessor:e=>({...e,field:e.field?`$v.${e.field}`:`$v`})}),t)}}))`;switch(e){case`all`:return`${o} = ${a}`;case`none`:return`${o} = 0`;case`some`:return`${o} > 0`;case`atleast`:case`atmost`:case`exactly`:{let t=e===`atleast`?`>=`:e===`atmost`?`<=`:`=`;return r>0&&r<1?`${o} ${t} (${a} * ${r})`:`${o} ${t} ${r}`}}}let h=M(r);switch(h){case`<`:case`<=`:case`=`:case`!=`:case`>`:case`>=`:return`${p(n)} ${h} ${d?p(A(i)):f?A(i):Vt(i,o)}`;case`contains`:case`doesnotcontain`:return Ht(`$contains(${p(n)}, ${d?p(A(i)):Vt(i,o)})`,Bt(h));case`beginswith`:case`doesnotbeginwith`:return Ht(d?`$substring(${p(n)}, 0, $length(${p(A(i))})) = ${p(A(i))}`:`$contains(${p(n)}, /^${Ut(i)}/)`,Bt(h));case`endswith`:case`doesnotendwith`:return Ht(d?`$substring(${p(n)}, $length(${p(n)}) - $length(${p(A(i))})) = ${p(A(i))}`:`$contains(${p(n)}, /${Ut(i)}$/)`,Bt(h));case`null`:return`${p(n)} = null`;case`notnull`:return`${p(n)} != null`;case`in`:case`notin`:{let e=j(i);return Ht(`${p(n)} in [${e.map(e=>d?`${p(A(e))}`:G(e,s)?`${A(e)}`:Vt(e,o)).join(`, `)}]`,Bt(h))}case`between`:case`notbetween`:{let e=j(i);if(e.length<2||P(e[0])||P(e[1]))return``;let[t,r]=e,a=s!==!1,l=G(t,a)?H(t,{parseNumbers:a}):NaN,u=G(r,a)?H(r,{parseNumbers:a}):NaN,f=Number.isNaN(l)?d?`${t}`:t:l,m=Number.isNaN(u)?d?`${r}`:r:u;if(!c&&f===l&&m===u&&u<l){let e=u;m=l,f=e}let g=G(t,s)&&G(r,s),_=(e,t)=>d?p(e):g?t:Vt(t,o),v=`${p(n)} >= ${_(t,f)} and ${p(n)} <= ${_(r,m)}`;return h===`between`?`(${v})`:Ht(v,!0)}}return``},Gt=e=>e.replace(/^(=)$/,`$1=`).replace(/^notnull$/i,`!=`).replace(/^null$/i,`==`),Kt=(e,t)=>e.startsWith(`not`)||e.startsWith(`doesnot`)?{"!":t}:t,qt=(e,t={})=>{let{field:n,operator:r,value:i,valueSource:a}=e,{parseNumbers:o,preserveValueOrder:s}=t,c=a===`field`,l={var:n},u=e=>c?{var:`${e}`}:G(e,o)?H(e,{parseNumbers:o}):e,d=K(e);if(d===!1)return!1;if(d){let{mode:e,threshold:r}=d;switch(e){case`all`:case`none`:case`some`:return{[e]:[{var:n},i.rules.length===1&&!F(i.rules[0])?qt(i.rules[0],t):Ct(i,t)]};case`atleast`:case`atmost`:case`exactly`:{let a=e===`atleast`?`>=`:e===`atmost`?`<=`:`==`,o={reduce:[{filter:[{var:n},i.rules.length===1&&!F(i.rules[0])?qt(i.rules[0],t):Ct(i,t)]},{"+":[1,{var:`accumulator`}]},0]};if(r>0&&r<1){let e={reduce:[{var:n},{"+":[1,{var:`accumulator`}]},0]};return{[a]:[o,{"*":[e,r]}]}}return{[a]:[o,r]}}}}let f=M(r);switch(f){case`<`:case`<=`:case`=`:case`!=`:case`>`:case`>=`:return{[Gt(f)]:[l,u(i)]};case`null`:case`notnull`:return{[`${f===`notnull`?`!`:`=`}=`]:[l,null]};case`in`:case`notin`:return Kt(f,{in:[l,j(i).map(e=>u(e))]});case`between`:case`notbetween`:{let e=j(i);if(e.length>=2&&W(e[0])&&W(e[1])){let[t,n]=e,r=o!==!1;if(!c&&G(t,r)&&G(n,r)){let e=H(t,{parseNumbers:r}),i=H(n,{parseNumbers:r});if(!s&&i<e){let r=i;n=e,t=r}else t=e,n=i}else c&&(t={var:t},n={var:n});return Kt(f,{"<=":[t,l,n]})}return!1}case`contains`:case`doesnotcontain`:return Kt(f,{in:[u(i),l]});case`beginswith`:case`doesnotbeginwith`:return Kt(f,{startsWith:[l,u(i)]});case`endswith`:case`doesnotendwith`:return Kt(f,{endsWith:[l,u(i)]})}return!1},Jt=(e,t)=>t?`(!${e})`:`${e}`,J=e=>`${A(e)}`.replaceAll(/[()&|=<>~*\\/]/g,e=>`\\${e.codePointAt(0).toString(16)}`),Yt=(e,t={})=>{let{field:n,operator:r,value:i,valueSource:a}=e,{preserveValueOrder:o}=t,s=M(r);if(a===`field`||P(i)&&s!==`null`&&s!==`notnull`||K(e))return``;switch(s){case`=`:case`!=`:return Jt(`(${n}=${J(i)})`,s===`!=`);case`>`:case`>=`:return`(${n}>=${J(i)})`;case`<`:case`<=`:return`(${n}<=${J(i)})`;case`contains`:case`doesnotcontain`:return Jt(`(${n}=*${J(i)}*)`,s===`doesnotcontain`);case`beginswith`:case`doesnotbeginwith`:return Jt(`(${n}=${J(i)}*)`,s===`doesnotbeginwith`);case`endswith`:case`doesnotendwith`:return Jt(`(${n}=*${J(i)})`,s===`doesnotendwith`);case`null`:case`notnull`:return Jt(`(${n}=*)`,s===`notnull`);case`in`:case`notin`:return Jt(`(|${j(i).map(e=>`(${n}=${J(e)})`).join(``)})`,s===`notin`);case`between`:case`notbetween`:{let e=j(i);if(e.length<2||P(e[0])||P(e[1]))return``;let[t,r]=e,a=G(t,!0)?H(t,{parseNumbers:!0}):NaN,c=G(r,!0)?H(r,{parseNumbers:!0}):NaN,l=Number.isNaN(a)?t:a,u=Number.isNaN(c)?r:c;if(!o&&l===a&&u===c&&c<a){let e=c;u=a,l=e}return Jt(`(&(${n}>=${J(l)})(${n}<=${J(u)}))`,s===`notbetween`)}}return``},Xt=(e,t,n)=>n&&typeof e==`string`?e.replaceAll(`${t}`,`${t}${t}`):e,Zt=(e,t={})=>{let{escapeQuotes:n,fields:r,parseNumbers:i,quoteFieldNamesWith:a,quoteValuesWith:o,fieldIdentifierSeparator:s,translations:c}=t,l=e.valueSource===`field`,u=M(e.operator),d=o||`'`,f=e=>`${d}${e}${d}`,p=e=>Xt(e,d,n),m=e=>f(p(e)),h=e=>Xe(e,{quoteFieldNamesWith:a,fieldIdentifierSeparator:s}),g=c??{},_=g.or??`or`,v=g.true??`true`,y=g.false??`false`;switch(u){case`null`:case`notnull`:return``;case`between`:case`notbetween`:{if(!l)return vt(e,t);let n=j(e.value,{retainEmptyStrings:!0}).slice(0,2).map(e=>h(B(r??[],e)?.label??e));return n.length<2||!W(n[0])||!W(n[1])?``:vt({...e,value:n},t)}case`in`:case`notin`:{let t=j(e.value);if(t.length===0)return``;let n=t.map(e=>l?h(B(r??[],e)?.label??e):G(e,i)?`${A(e)}`:`${m(e)}`);return`${n.slice(0,-1).join(`, `)}${n.length>2?`,`:``} ${_} ${n.at(-1)}`}}return typeof e.value==`boolean`?e.value?v:y:l?h(B(r??[],e.value)?.label??e.value):G(e.value,i)?`${A(e.value)}`:`${m(e.value)}`},Qt={"=":[`is`,`is the same as the value in`],"!=":[`is not`,`is not the same as the value in`],"<":[`is less than`,`is less than the value in`],">":[`is greater than`,`is greater than the value in`],"<=":[`is less than or equal to`,`is less than or equal to the value in`],">=":[`is greater than or equal to`,`is greater than or equal to the value in`],contains:[`contains`,`contains the value in`],beginswith:[`starts with`,`starts with the value in`],endswith:[`ends with`,`ends with the value in`],doesnotcontain:[`does not contain`,`does not contain the value in`],doesnotbeginwith:[`does not start with`,`does not start with the value in`],doesnotendwith:[`does not end with`,`does not end with the value in`],null:`is null`,notnull:`is not null`,in:[`is one of the values`,`is the same as a value in`],notin:[`is not one of the values`,`is not the same as any value in`],between:[`is between`,`is between the values in`],notbetween:[`is not between`,`is not between the values in`]},$t=()=>[],en=(e,t={})=>{let{field:n,operator:r,valueSource:i=`value`}=e,{getOperators:a=$t,operatorMap:o=Qt}=t,s=new Map(Object.entries(Qt));for(let[e,t]of Object.entries(o))s.set(M(e),t);let c=Object.fromEntries(s),{value:l,label:u}=B(we(a(n,{fieldData:t.fieldData??{name:n,value:n,label:n}})??[]),r)??{name:r,value:r,label:r},d=c[l]??c[M(l)]??[u,u];return typeof d==`string`?d:d[i===`field`?1:0]},tn=(e,t)=>{let{field:n,operator:r}=e,{fieldData:i,quoteFieldNamesWith:a=[``,``],fieldIdentifierSeparator:o=``,quoteValuesWith:s=`'`,operatorProcessor:c=en,valueProcessor:l=Zt,concatOperator:u=`||`,wordOrder:d=`SVO`}=t??{},f=Xe(i?.label??n,{quoteFieldNamesWith:a,fieldIdentifierSeparator:o}),p=K(e);if(p===!1)return``;if(p){let{mode:n,threshold:r}=p,a=Dt(e.value,{...t,fields:we(i?.subproperties??[])}),o=(i?.subproperties?.length??0)>0;switch(n){case`all`:return`(${o?`for `:``}every item in ${f}${o?`,`:``} ${a})`;case`none`:return`(${o?`for `:``}no item in ${f}${o?`,`:``} ${a})`;case`some`:return`(${o?`for `:``}at least one item in ${f}${o?`,`:``} ${a})`;case`atleast`:case`atmost`:case`exactly`:{let e=n.replace(`at`,`at `);return r>0&&r<1?`(${o?`for `:``}${e} ${r*100}% of the items in ${f}${o?`,`:``} ${a})`:`(${o?`for `:``}${e} ${r} of the items in ${f}${o?`,`:``} ${a})`}}}let m=l(e,{...t,quoteFieldNamesWith:a,fieldIdentifierSeparator:o,quoteValuesWith:s,concatOperator:u}),h=M(r);if((h===`in`||h===`notin`||h===`between`||h===`notbetween`)&&!m)return``;let g={S:f,V:c(e,t),O:m};return Qe(d).map(e=>`${g[e]}`).join(` `).trim()},nn=e=>M(He(e.operator)),rn=(e,t={})=>{let{quoteFieldNamesWith:n=[``,``],fieldIdentifierSeparator:r=``,quoteValuesWith:i=`'`,operatorProcessor:a=nn,valueProcessor:o=vt,concatOperator:s=`||`}=t,c=e=>Xe(e,{quoteFieldNamesWith:n,fieldIdentifierSeparator:r}),l=c(e.field),u=K(e);if(u===!1)return;if(u){if(t?.preset!==`postgresql`)return``;let{mode:n,threshold:r}=u,i=`elem_alias`,a=Mt(ze(e.value,{ruleProcessor:e=>({...e,field:i})}),t);switch(n){case`all`:return`(select count(*) from unnest(${l}) as ${c(i)} where ${a}) = array_length(${l}, 1)`;case`none`:return`not exists (select 1 from unnest(${l}) as ${c(i)} where ${a})`;case`some`:return`exists (select 1 from unnest(${l}) as ${c(i)} where ${a})`;case`atleast`:case`atmost`:case`exactly`:{let e=n===`atleast`?`>=`:n===`atmost`?`<=`:`=`;return`(select count(*)${r>0&&r<1?` / array_length(${l}, 1)`:``} from unnest(${l}) as ${c(i)} where ${a}) ${e} ${r}`}}}let d=o(e,{...t,quoteFieldNamesWith:n,fieldIdentifierSeparator:r,quoteValuesWith:i,concatOperator:s}),f=a(e,t),p=M(f);return(p===`in`||p===`not in`||p===`between`||p===`not between`)&&!d?``:`${l} ${f} ${d}`.trim()},an=(e,t,n)=>{let{fieldData:r,format:i,getNextNamedParam:a,parseNumbers:o,paramPrefix:s,paramsKeepPrefix:c,numberedParams:l,quoteFieldNamesWith:u=[``,``],fieldIdentifierSeparator:d,concatOperator:f,operatorProcessor:p=nn,valueProcessor:m=vt}=t??{},{processedParams:h=[]}=n??{},g=i===`parameterized`,_=[],v={},y=e=>g?{sql:e,params:_}:{sql:e,params:v},b=e=>Xe(e,{quoteFieldNamesWith:u,fieldIdentifierSeparator:d}),x=b(e.field),ee=K(e);if(ee===!1)return;if(ee){if(t?.preset!==`postgresql`)return y(``);let{mode:n,threshold:r}=ee,i=`elem_alias`,{sql:a,params:o}=Ot(ze(e.value,{ruleProcessor:e=>({...e,field:i})}),{...t,fields:[]});switch(Array.isArray(o)?_.push(...o):Object.assign(v,o),n){case`all`:return y(`(select count(*) from unnest(${x}) as ${b(i)} where ${a}) = array_length(${x}, 1)`);case`none`:return y(`not exists (select 1 from unnest(${x}) as ${b(i)} where ${a})`);case`some`:return y(`exists (select 1 from unnest(${x}) as ${b(i)} where ${a})`);case`atleast`:case`atmost`:case`exactly`:{let e=n===`atleast`?`>=`:n===`atmost`?`<=`:`=`;return y(`(select count(*)${r>0&&r<1?` / array_length(${x}, 1)`:``} from unnest(${x}) as ${b(i)} where ${a}) ${e} ${r}`)}}}let S=m(e,{parseNumbers:o,quoteFieldNamesWith:u,concatOperator:f,fieldData:r,format:i}),C=p(e,t),w=M(C),[T,E]=u;if((w===`in`||w===`not in`||w===`between`||w===`not between`)&&!S)return y(``);if(w===`is null`||w===`is not null`)return y(`${T}${e.field}${E} ${C}`);if(e.valueSource===`field`)return y(`${T}${e.field}${E} ${C} ${S}`.trim());if(w===`in`||w===`not in`){let t=j(e.value);if(g){for(let e of t)_.push(G(e,o)?H(e,{parseNumbers:o}):e);return y(`${T}${e.field}${E} ${C} (${t.map((e,n)=>l?`${s}${h.length+1+t.length-(t.length-n)}`:`?`).join(`, `)})`)}let n=[];for(let r of t){let t=a(e.field);n.push(`${s}${t}`),v[`${c?s:``}${t}`]=G(r,o)?H(r,{parseNumbers:o}):r}return y(`${T}${e.field}${E} ${C} (${n.join(`, `)})`)}else if(w===`between`||w===`not between`){let[t,n]=j(e.value,{retainEmptyStrings:!0}).slice(0,2).map(e=>G(e,o)?H(e,{parseNumbers:o}):e);if(g)return _.push(t,n),y(`${T}${e.field}${E} ${C} ${l?`${s}${h.length+1}`:`?`} and ${l?`${s}${h.length+2}`:`?`}`);let r=a(e.field),i=a(e.field);return v[`${c?s:``}${r}`]=t,v[`${c?s:``}${i}`]=n,y(`${T}${e.field}${E} ${C} ${s}${r} and ${s}${i}`)}let D=e.value;typeof e.value==`string`&&(D=G(e.value,o)?H(e.value,{parseNumbers:o}):/^'.*'$/g.test(S)?S.replaceAll(/(^'|'$)/g,``):S);let O=``;return g?_.push(D):(O=a(e.field),v[`${c?s:``}${O}`]=D),y(`${T}${e.field}${E} ${C} ${g?l?`${s}${h.length+1}`:`?`:`${s}${O}`}`.trim())},on=(e,t,n)=>G(e,!!n||typeof e==`bigint`)?Number(H(e,{parseNumbers:!!n})):t,sn=(e,t={})=>{let{field:n,operator:r,value:i,valueSource:a}=e,{parseNumbers:o,preserveValueOrder:s}=t;if(a===`field`||K(e))return;let c=M(r);switch(c){case`=`:return{[n]:on(i,i,o)};case`!=`:case`<`:case`<=`:case`>`:case`>=`:{let e=We[c];return{[n]:{[e]:on(i,i,o)}}}case`contains`:return{[n]:{contains:i}};case`beginswith`:return{[n]:{startsWith:i}};case`endswith`:return{[n]:{endsWith:i}};case`doesnotcontain`:return{NOT:{[n]:{contains:i}}};case`doesnotbeginwith`:return{NOT:{[n]:{startsWith:i}}};case`doesnotendwith`:return{NOT:{[n]:{endsWith:i}}};case`null`:return{[n]:null};case`notnull`:return{[n]:{not:null}};case`in`:case`notin`:{let e=j(i);return{[n]:{[We[c]]:e.map(e=>on(e,e,o))}}}case`between`:case`notbetween`:{let e=j(i);if(e.length>=2&&W(e[0])&&W(e[1])){let[t,r]=e,i=o!==!1,a=G(t,i)?H(t,{parseNumbers:o}):NaN,l=G(r,i)?H(r,{parseNumbers:o}):NaN,u=Number.isNaN(a)?t:a,d=Number.isNaN(l)?r:l;if(!s&&u===a&&d===l&&l<a){let e=l;d=a,u=e}return c===`between`?{[n]:{gte:u,lte:d}}:{OR:[{[n]:{lt:u}},{[n]:{gt:d}}]}}else return``}}return``},cn=(e,{parseNumbers:t,preserveValueOrder:n,context:r={}}={})=>{let{sequelizeOperators:i,sequelizeCol:a,sequelizeFn:o}=r;if(K(e))return;let{field:s,operator:c,value:l,valueSource:u}=e,d=u===`field`,f=M(c);if(!(!i||d&&(!a||!o&&[`doesnotcontain`,`doesnotbeginwith`,`doesnotendwith`].includes(f))))switch(f){case`=`:case`!=`:case`<`:case`<=`:case`>`:case`>=`:{let e={"=":i.eq,"!=":i.ne,"<":i.lt,"<=":i.lte,">":i.gt,">=":i.gte}[f];return{[s]:d&&f===`=`?{[i.col]:l}:{[e]:d?a(l):G(l,t)?H(l,{parseNumbers:`strict`}):l}}}case`contains`:return{[s]:{[i.substring]:d?a(l):`${l}`}};case`beginswith`:return{[s]:{[i.startsWith]:d?a(l):`${l}`}};case`endswith`:return{[s]:{[i.endsWith]:d?a(l):`${l}`}};case`doesnotcontain`:return{[s]:{[i.notLike]:d?o(`CONCAT`,`%`,a(l),`%`):`%${l}%`}};case`doesnotbeginwith`:return{[s]:{[i.notLike]:d?o(`CONCAT`,a(l),`%`):`${l}%`}};case`doesnotendwith`:return{[s]:{[i.notLike]:d?o(`CONCAT`,`%`,a(l)):`%${l}`}};case`null`:return{[s]:{[i.is]:null}};case`notnull`:return{[s]:{[i.not]:null}};case`in`:case`notin`:{let e=j(l);return{[s]:{[f===`in`?i.in:i.notIn]:e.map(e=>d?a(e):G(e,t)?H(e,{parseNumbers:`strict`}):e)}}}case`between`:case`notbetween`:{let e=j(l,{retainEmptyStrings:!0});if(e.length<2||!W(e[0])||!W(e[1]))return;let[r,o]=e,c=G(r,t)?H(r,{parseNumbers:`strict`}):NaN,u=G(o,t)?H(o,{parseNumbers:`strict`}):NaN,p=Number.isNaN(c)?r:c,m=Number.isNaN(u)?o:u,h=[p,m];return!n&&p===c&&m===u&&u<c&&(h[0]=u,h[1]=c),{[s]:{[f===`between`?i.between:i.notBetween]:d?h.map(e=>a(e)):h.every(e=>G(e,t))?h.map(e=>H(e,{parseNumbers:`strict`})):h}}}}},ln={ansi:{},sqlite:{paramsKeepPrefix:!0},oracle:{},mssql:{concatOperator:`+`,quoteFieldNamesWith:[`[`,`]`],fieldIdentifierSeparator:`.`,paramPrefix:`@`},mysql:{concatOperator:`CONCAT`},postgresql:{quoteFieldNamesWith:`"`,numberedParams:!0,paramPrefix:`$`}},un={...ln},dn={cel:st,drizzle:yt,elasticsearch:zt,json_without_ids:rn,json:rn,jsonata:Wt,jsonlogic:qt,ldap:Yt,mongodb_query:ut,mongodb:dt,natural_language:tn,parameterized_named:an,parameterized:an,prisma:sn,sequelize:cn,spel:gt,sql:rn},Y=e=>e.operator,fn={cel:Y,drizzle:Y,elasticsearch:Y,json_without_ids:Y,json:Y,jsonata:Y,jsonlogic:Y,ldap:Y,mongodb_query:Y,mongodb:Y,natural_language:en,parameterized_named:nn,parameterized:nn,prisma:Y,sequelize:Y,spel:Y,sql:nn},pn={cel:`1 == 1`,ldap:``,mongodb:`"$and":[{"$expr":true}]`,natural_language:`1 is 1`,spel:`1 == 1`,sql:`(1 = 1)`},mn={format:`json`,fields:[],quoteFieldNamesWith:[``,``],fieldIdentifierSeparator:``,getOperators:()=>[],paramPrefix:`:`,paramsKeepPrefix:!1,numberedParams:!1,preserveValueOrder:!1,placeholderFieldName:`~`,placeholderOperatorName:`~`,quoteValuesWith:`'`,concatOperator:`||`,preset:`ansi`,wordOrder:`SVO`,translations:{},operatorMap:{}},hn=new Set([`cel`,`drizzle`,`elasticsearch`,`jsonata`,`jsonlogic`,`ldap`,`mongodb_query`,`mongodb`,`prisma`,`sequelize`,`spel`]),gn=new Set([`sql`,`parameterized`,`parameterized_named`,`drizzle`,`prisma`,`sequelize`]);function _n(e,t={}){let n=typeof t==`string`?{format:M(t)}:t,r={...mn,...!n.format||gn.has(n.format)?ln[n.preset??`ansi`]??null:null,...n,...!n.format&&(Object.keys(ln).includes(n.preset??``)?{format:`sql`}:null)},i=M(r.format),{fallbackExpression:a,getOperators:o,operatorProcessor:s,parseNumbers:l,quoteFieldNamesWith:u,ruleGroupProcessor:d,ruleProcessor:f,validator:p,valueProcessor:m,context:h}=r,g=e=>typeof Ve({parseNumbers:l,inputType:e})==`string`?!0:typeof l==`boolean`?l:void 0,_=typeof s==`function`?s:fn[i]??Y,v=typeof m==`function`?Je(m)?e=>m(e.field,e.operator,e.value,e.valueSource):m:i===`natural_language`?Zt:hn.has(i)?f??dn[i]:vt,y=(typeof f==`function`?f:null)??(hn.has(i)&&typeof f!=`function`&&m?v:null)??dn[i]??rn,b=Ye(u),x=we(r.fields),ee=(e,t)=>we(o(e,t)??[]),S=a??pn[i]??pn.sql,C={};if(typeof p==`function`){let t=p(e);if(typeof t==`boolean`){if(!t)return i===`parameterized`?{sql:S,params:[]}:i===`parameterized_named`?{sql:S,params:{}}:i===`mongodb`?`{${S}}`:i===`mongodb_query`?ct:i===`prisma`?kt:i===`jsonlogic`?!1:i===`elasticsearch`?{}:i===`drizzle`||i===`sequelize`?void 0:S}else C=t}let w={},T=Me(x);for(let e of T)typeof e.validator==`function`&&(w[e.value??e.name]=e.validator);let E=e=>{let t,n;if(e.id&&(t=C[e.id]),T.length>0){let t=T.filter(t=>t.name===e.field);if(t.length>0){let e=t[0];typeof e.validator==`function`&&(n=e.validator)}}return[t,n]},D={...r,fallbackExpression:S,fields:x,format:i,getOperators:ee,getParseNumberBoolean:g,quoteFieldNamesWith:b,operatorProcessor:_,ruleProcessor:y,valueProcessor:v,validateRule:E,validationMap:C,context:h};if(typeof d==`function`)return d(e,D);switch(i){case`json`:case`json_without_ids`:{let t=l?(0,c.produce)(e,e=>qe(e,D)):e;return i===`json_without_ids`?JSON.stringify(t,(e,t)=>e===`id`||e===`path`?void 0:nt(e,t)):JSON.stringify(t,nt,2)}case`sql`:return Mt(e,D);case`parameterized`:case`parameterized_named`:return Ot(e,D);case`mongodb`:return Et(e,D);case`mongodb_query`:return lt(e,D);case`cel`:return it(e,D);case`spel`:return ft(e,D);case`jsonata`:return St(e,D);case`jsonlogic`:return Ct(e,D);case`elasticsearch`:return xt(e,D);case`natural_language`:return Dt(e,D);case`ldap`:return wt(e,D);case`prisma`:return At(e,D);case`drizzle`:return bt(e,D);case`sequelize`:return jt(e,D);default:return``}}const vn=e=>(t,n,r,i)=>e({field:t,operator:n,value:r,valueSource:i},{parseNumbers:!1}),yn=vn(vt),bn=vn(dt),xn=vn(st),Sn=vn(gt),Cn=st,wn=dt,Tn=gt,X=(e,t)=>{let n=t,r=0;for(;r<e.length&&n&&F(n);){let t=n.rules[e[r]];n=typeof t==`string`?null:t,r++}return r<e.length?null:n},En=(e,t)=>{if(t.id===e)return t;for(let n of t.rules)if(typeof n!=`string`){if(n.id===e)return n;if(F(n)){let t=En(e,n);if(t)return t}}return null},Dn=(e,t)=>{if(t.id===e)return[];let n=t.rules.findIndex(t=>typeof t!=`string`&&t.id===e);if(n>=0)return[n];for(let[n,r]of Object.entries(t.rules))if(F(r)){let t=Dn(e,r);if(Array.isArray(t))return[Number.parseInt(n),...t]}return null},Z=e=>e.slice(0,-1),On=(e,t)=>e.length===t.length&&e.every((e,n)=>e===t[n]),kn=(e,t)=>e.length<t.length&&RegExp(`^${e.join(`-`)}`).test(t.join(`-`)),An=(e,t)=>{let n=[],r=Z(e),i=Z(t),a=0;for(;a<r.length&&a<i.length&&r[a]===i[a];)n.push(i[a]),a++;return n},jn=(e,t)=>{let n=!!t.disabled,r=t,i=0;for(;i<e.length&&!n&&F(r);){let t=r.rules[e[i]];N(t)&&(F(t)||`field`in t&&t.field)&&(n=!!t.disabled,r=t),i++}return n},Mn=e=>On([],e.path)?`Query builder`:`Rule group at path ${e.path.join(`-`)}`,Nn=globalThis.crypto;let Q=()=>`00-0-4-2-000`.replaceAll(/[^-]/g,e=>((Math.random()+Math.trunc(e))*65536>>Number.parseInt(e)).toString(16).padStart(4,`0`));if(Nn){if(typeof Nn.randomUUID==`function`)Q=()=>Nn.randomUUID();else if(typeof Nn.getRandomValues==`function`){let e=new Uint32Array(32);Q=()=>{Nn.getRandomValues(e);let t=(e[0]%16).toString(16);for(let n=1;n<32;n++)t=n===12?`${t}4`:n===16?`${t}${`89ab`[e[17]%4]}`:`${t}${(e[n]%16).toString(16)}`,(n===7||n===11||n===15||n===19)&&(t=`${t}-`);return t}}}const Pn={name:`name`,value:`name`,matchModes:null,label:`label`},Fn=(e,t)=>{let n=e?R(e):Pn,r=n.matchModes??!1;return!r&&t&&(r=t(n.value,{fieldData:n})),r===!0?O:r===!1?[]:ke(r)?we(r):r?.map(e=>O.find(t=>t.value===M(e))??{name:e,value:e,label:e})??[]},In=e=>{let t=typeof e==`boolean`?e:typeof e==`object`&&e?e.valid:null;return typeof t==`boolean`?t?te.valid:te.invalid:``},Ln=[{name:`value`,value:`value`,label:`value`}],Rn={name:`name`,value:`name`,valueSources:null,label:`label`},zn=(e,t,n)=>{let r=e?R(e):Rn,i=r.valueSources??!1;return typeof i==`function`&&(i=i(t)),!i&&n&&(i=n(r.value,t,{fieldData:r})),i?ke(i)?we(i):i.map(e=>Ln.find(t=>t.value===M(e))??{name:e,value:e,label:e}):Ln},Bn=(e,...t)=>(0,c.produce)(e,e=>{for(let n of t)if(n)for(let t of be(n))e[t]?Object.assign(e[t],n[t]):Object.assign(e,{[t]:n[t]})}),Vn=(e,t,n)=>{let r=xe(t).map(([t,[r,i]])=>[t,r??i??n?.[e]?.[t]]).filter(e=>!!e[1]);if(r.length>0||n){let t=n?.[e]??{},i=Object.assign({},t,Object.fromEntries(r));return{[e]:i}}},$=(e,t)=>ue(t.map(t=>ue(t?.[e]))),Hn=(...e)=>({queryBuilder:$(`queryBuilder`,e),ruleGroup:$(`ruleGroup`,e),header:$(`header`,e),body:$(`body`,e),combinators:$(`combinators`,e),addRule:$(`addRule`,e),addGroup:$(`addGroup`,e),cloneRule:$(`cloneRule`,e),cloneGroup:$(`cloneGroup`,e),removeGroup:$(`removeGroup`,e),rule:$(`rule`,e),fields:$(`fields`,e),operators:$(`operators`,e),value:$(`value`,e),removeRule:$(`removeRule`,e),notToggle:$(`notToggle`,e),shiftActions:$(`shiftActions`,e),dragHandle:$(`dragHandle`,e),lockRule:$(`lockRule`,e),lockGroup:$(`lockGroup`,e),muteRule:$(`muteRule`,e),muteGroup:$(`muteGroup`,e),muted:$(`muted`,e),valueSource:$(`valueSource`,e),actionElement:$(`actionElement`,e),valueSelector:$(`valueSelector`,e),betweenRules:$(`betweenRules`,e),valid:$(`valid`,e),invalid:$(`invalid`,e),dndDragging:$(`dndDragging`,e),dndOver:$(`dndOver`,e),dndCopy:$(`dndCopy`,e),dndGroup:$(`dndGroup`,e),dndDropNotAllowed:$(`dndDropNotAllowed`,e),disabled:$(`disabled`,e),valueListItem:$(`valueListItem`,e),matchMode:$(`matchMode`,e),matchThreshold:$(`matchThreshold`,e),branches:$(`branches`,e),hasSubQuery:$(`hasSubQuery`,e)}),Un=(e,{idGenerator:t=Q}={})=>(0,c.produce)(e,e=>{e.id||=t()}),Wn=(e,{idGenerator:t=Q}={})=>(0,c.produce)(e,e=>{e.id||=t(),e.rules=e.rules.map(e=>typeof e==`string`?e:F(e)?Wn(e,{idGenerator:t}):Un(e,{idGenerator:t}))}),Gn=(e,{idGenerator:t=Q}={})=>F(e)?Wn(e,{idGenerator:t}):Un(e,{idGenerator:t}),Kn=(e,{idGenerator:t=Q}={})=>structuredClone({...e,id:t()}),qn=(e,{idGenerator:t=Q}={})=>{if(!N(e))return e;if(!F(e))return structuredClone({...e,id:t()});let n={...e,id:t()};return Array.isArray(n.rules)&&(n.rules=e.rules.map(e=>typeof e==`string`?e:F(e)?qn(e,{idGenerator:t}):Kn(e,{idGenerator:t}))),n},Jn=(e,t,n,{combinators:r=E,combinatorPreceding:i,idGenerator:a=Q}={})=>(0,c.produce)(e,e=>{let o=Array.isArray(n)?X(n,e):En(n,e);if(!(!o||!F(o))){if(pe(o)&&o.rules.length>0){let e=o.rules.at(-2);o.rules.push(i??(typeof e==`string`?e:V(r)))}o.rules.push(Gn(t,{idGenerator:a}))}}),Yn=(e,t,n,r,{resetOnFieldChange:i=!0,resetOnOperatorChange:a=!1,getRuleDefaultOperator:o=()=>`=`,getValueSources:s=()=>[`value`],getRuleDefaultValue:l=()=>``,getMatchModes:u=()=>[]}={})=>(0,c.produce)(e,e=>{let c=Array.isArray(r)?r:Dn(r,e);if(!c)return;if(t===`combinator`&&!I(e)){let t=X(Z(c),e).rules;c.at(-1)%2==1&&(t[c.at(-1)]=n);return}let d=X(c,e);if(!d)return;let f=F(d);if(d[t]===n||(t!==`valueSource`&&(d[t]=n),f))return;let p=!1,m=!1;if(t===`field`){let e=u(d.field),t=u(n);if(t.length===0)delete d.match;else{let e=d.match?.mode&&B(t,d.match.mode)?null:V(t);e&&(d.match={mode:e,threshold:1})}(e.length>0||t.length>0)&&(i=!0)}i&&t===`field`&&(d.operator=o(n),p=!0,m=!0),a&&t===`operator`&&(p=!0,m=!0);let h=V(zn({name:d.field,value:d.field,label:``},d.operator,s));(p&&d.valueSource&&h!==d.valueSource||t===`valueSource`&&n!==d.valueSource)&&(m=!!d.valueSource||!d.valueSource&&n!==h,d.valueSource=p?h:n),m&&(d.value=l(d))}),Xn=(e,t)=>{let n=Array.isArray(t)?t:Dn(t,e);return!n||n.length===0||!I(e)&&!X(n,e)?e:(0,c.produce)(e,e=>{let t=n.at(-1),r=X(Z(n),e);if(r&&F(r))if(!I(r)&&r.rules.length>1){let e=t===0?0:t-1;r.rules.splice(e,2)}else r.rules.splice(t,1)})},Zn=(e,t,n)=>{if(Array.isArray(n))return n;let r=pe(e);if(n===`up`){if(On(t,[0]))return t;if(t.at(-1)===0){let e=Z(t);return[...Z(e),Math.max(0,e.at(-1)-(r?1:0))]}else{let n=[...Z(t),Math.max(0,t.at(-1)-(r?2:1))],i=X(n,e);return F(i)?[...n,i.rules.length]:[...Z(t),Math.max(0,t.at(-1)-(r?3:1))]}}else if(n===`down`){if(On([e.rules.length-1],t))return t;if(t.at(-1)===X(Z(t),e).rules.length-1){let e=Z(t);return[...Z(e),e.at(-1)+1]}else{let n=[...Z(t),t.at(-1)+(r?2:1)];return F(X(n,e))?[...n,0]:[...Z(t),t.at(-1)+(r?3:2)]}}return t},Qn=(e,t,n,{clone:r=!1,combinators:i=E,idGenerator:a=Q}={})=>{let o=Array.isArray(t)?t:Dn(t,e);if(!o)return e;let s=Zn(e,o,n);if(o.length===0||On(o,s)||!X(Z(s),e))return e;let l=X(o,e);if(!l)return e;let u=r?qn(l,{idGenerator:a}):l;return(0,c.produce)(e,e=>{let t=pe(e),n=X(Z(o),e),a=o.at(-1),c=t&&a>0?n.rules[a-1]:null,l=t&&a<n.rules.length-1?n.rules[a+1]:null;if(!r){let e=t?Math.max(0,a-1):a,r=t?2:1;n.rules.splice(e,r)}let d=[...s],f=An(o,s);!r&&o.length===f.length+1&&s[f.length]>o[f.length]&&(d[f.length]-=t?2:1);let p=X(Z(d),e),m=d.at(-1),h=(...e)=>p.rules.splice(m,0,...e);p.rules.length===0||!t?h(u):m===0?a===0&&l?h(u,l):h(u,p.rules[1]??c??V(i)):h(c||(p.rules[m-2]??l??V(i)),u)})},$n=(e,t,n,{combinators:r=E,combinatorPreceding:i,combinatorSucceeding:a,idGenerator:o=Q,replace:s=!1}={})=>(0,c.produce)(e,e=>{let c=X(Z(n),e);if(!c||!F(c))return;let l=qn(t,{idGenerator:o}),u=pe(e),d=n.at(-1),f=(e,...t)=>c.rules.splice(e,s?t.length:0,...t);if(c.rules.length===0||!u)f(d,l);else if(s&&u)f(d+d%2,l);else if(d===0)l.path?.at(-1)===0&&a?f(d,l,a):f(d,l,c.rules[1]??i??V(r));else{let e=d%2==0?d-1:d;i?f(e,i,l):f(e,c.rules[e-2]??a??V(r),l)}}),er=(e,t,n,{clone:r=!1,combinators:i=E,idGenerator:a=Q}={})=>{let o=Array.isArray(t)?t:Dn(t,e),s=Array.isArray(n)?n:Dn(n,e);if(!o||!s)return e;let l=Zn(e,o,s);if(o.length===0||On(o,l)||!X(Z(l),e))return e;let u=X(o,e),d=X(s,e);if(!u||!d)return e;let f=r?qn(u,{idGenerator:a}):u;return(0,c.produce)(e,e=>{let t=pe(e),n=X(Z(o),e),s=o.at(-1);if(!r){let e=t?Math.max(0,s-1):s,r=t?2:1;n.rules.splice(e,r)}let c=[...l],u=An(o,l);!r&&o.length===u.length+1&&l[u.length]>o[u.length]&&(c[u.length]-=t?2:1);let p=X(Z(c),e),m=c.at(-1);p.rules.splice(m,1,Gn(t?{rules:[d,V(i),f]}:{combinator:V(i),rules:[d,f]},{idGenerator:a}))})};exports.LogType=ie,exports.TestID=re,exports.add=Jn,exports.bigIntJsonParseReviver=rt,exports.bigIntJsonStringifyReplacer=nt,exports.celCombinatorMap=Ge,exports.clsx=ue,exports.convertFromIC=L,exports.convertQuery=ve,exports.convertToIC=_e,exports.defaultCELValueProcessor=xn,exports.defaultCombinatorLabelMap=C,exports.defaultCombinators=E,exports.defaultCombinatorsExtended=D,exports.defaultControlClassnames=k,exports.defaultExportOperatorMap=Qt,exports.defaultJoinChar=`,`,exports.defaultMatchModes=O,exports.defaultMongoDBValueProcessor=bn,exports.defaultNLTranslations=$e,exports.defaultOperatorLabelMap=S,exports.defaultOperatorNegationMap=T,exports.defaultOperatorProcessorNL=en,exports.defaultOperatorProcessorSQL=nn,exports.defaultOperators=w,exports.defaultPlaceholderFieldGroupLabel=m,exports.defaultPlaceholderFieldLabel=p,exports.defaultPlaceholderFieldName=`~`,exports.defaultPlaceholderLabel=d,exports.defaultPlaceholderName=`~`,exports.defaultPlaceholderOperatorGroupLabel=_,exports.defaultPlaceholderOperatorLabel=g,exports.defaultPlaceholderOperatorName=`~`,exports.defaultPlaceholderValueGroupLabel=b,exports.defaultPlaceholderValueLabel=y,exports.defaultPlaceholderValueName=`~`,exports.defaultRuleGroupProcessorCEL=it,exports.defaultRuleGroupProcessorDrizzle=bt,exports.defaultRuleGroupProcessorElasticSearch=xt,exports.defaultRuleGroupProcessorJSONata=St,exports.defaultRuleGroupProcessorJsonLogic=Ct,exports.defaultRuleGroupProcessorLDAP=wt,exports.defaultRuleGroupProcessorMongoDB=Et,exports.defaultRuleGroupProcessorMongoDBQuery=lt,exports.defaultRuleGroupProcessorNL=Dt,exports.defaultRuleGroupProcessorParameterized=Ot,exports.defaultRuleGroupProcessorPrisma=At,exports.defaultRuleGroupProcessorSQL=Mt,exports.defaultRuleGroupProcessorSequelize=jt,exports.defaultRuleGroupProcessorSpEL=ft,exports.defaultRuleProcessorCEL=st,exports.defaultRuleProcessorDrizzle=yt,exports.defaultRuleProcessorElasticSearch=zt,exports.defaultRuleProcessorJSONata=Wt,exports.defaultRuleProcessorJsonLogic=qt,exports.defaultRuleProcessorLDAP=Yt,exports.defaultRuleProcessorMongoDB=dt,exports.defaultRuleProcessorMongoDBQuery=ut,exports.defaultRuleProcessorNL=tn,exports.defaultRuleProcessorParameterized=an,exports.defaultRuleProcessorPrisma=sn,exports.defaultRuleProcessorSQL=rn,exports.defaultRuleProcessorSequelize=cn,exports.defaultRuleProcessorSpEL=gt,exports.defaultSpELValueProcessor=Sn,exports.defaultTranslations=x,exports.defaultValidator=ye,exports.defaultValueProcessor=yn,exports.defaultValueProcessorByRule=vt,exports.defaultValueProcessorCELByRule=Cn,exports.defaultValueProcessorMongoDBByRule=wn,exports.defaultValueProcessorNL=Zt,exports.defaultValueProcessorSpELByRule=Tn,exports.filterFieldsByComparator=Le,exports.findID=En,exports.findPath=X,exports.formatQuery=_n,exports.formatQueryOptionPresets=un,exports.generateAccessibleDescription=Mn,Object.defineProperty(exports,`generateID`,{enumerable:!0,get:function(){return Q}}),exports.getCommonAncestorPath=An,exports.getFirstOption=V,exports.getMatchModesUtil=Fn,exports.getNLTranslataion=tt,exports.getOption=B,exports.getParentPath=Z,exports.getParseNumberMethod=Ve,exports.getPathOfID=Dn,exports.getQuoteFieldNamesWithArray=Ye,exports.getQuotedFieldName=Xe,exports.getValidationClassNames=In,exports.getValueSourcesUtil=zn,exports.group=er,exports.groupInvalidReasons=ne,exports.insert=$n,exports.isAncestor=kn,exports.isFlexibleOptionArray=ke,exports.isFlexibleOptionGroupArray=z,exports.isFullOptionArray=Ae,exports.isFullOptionGroupArray=je,exports.isOptionGroupArray=Oe,exports.isPojo=N,exports.isRuleGroup=F,exports.isRuleGroupType=I,exports.isRuleGroupTypeIC=pe,exports.isRuleOrGroupValid=U,exports.isRuleType=fe,exports.isValidValue=W,exports.isValidationResult=Be,exports.isValueProcessorLegacy=Je,exports.joinWith=se,exports.jsonLogicAdditionalOperators=Ke,exports.lc=M,exports.mapSQLOperator=He,exports.mergeAnyTranslation=Vn,exports.mergeAnyTranslations=Bn,exports.mergeClassnames=Hn,exports.mongoDbFallback=ct,exports.mongoOperators=Ue,exports.move=Qn,exports.normalizeConstituentWordOrder=Qe,exports.nullFreeArray=ce,exports.nullOrUndefinedOrEmpty=P,exports.numericRegex=de,exports.numerifyValues=qe,exports.objectEntries=xe,exports.objectKeys=be,exports.parseNumber=H,exports.pathIsDisabled=jn,exports.pathsAreEqual=On,exports.prepareOptionList=Fe,exports.prepareRule=Un,exports.prepareRuleGroup=Wn,exports.prepareRuleOrGroup=Gn,exports.prismaFallback=kt,exports.prismaOperators=We,exports.processMatchMode=K,exports.regenerateID=Kn,exports.regenerateIDs=qn,exports.remove=Xn,exports.rootPath=ae,exports.shouldRenderAsNumber=G,exports.splitBy=oe,exports.sqlDialectPresets=ln,exports.standardClassnames=te,exports.toArray=j,exports.toFlatOptionArray=Me,exports.toFullOption=R,exports.toFullOptionList=we,exports.toFullOptionMap=Te,exports.transformQuery=ze,exports.trimIfString=A,exports.uniqByIdentifier=De,exports.uniqByName=Ee,exports.uniqOptGroups=Ne,exports.uniqOptList=Pe,exports.update=Yn;
|
|
2
2
|
//# sourceMappingURL=react-querybuilder_core.cjs.production.js.map
|