@earthranger/react-native-jsonforms-formatter 2.0.0-beta.23 → 2.0.0-beta.24

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/bundle.js CHANGED
@@ -1 +1 @@
1
- (()=>{"use strict";var e={d:(t,r)=>{for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{void 0!==d&&d.toStringTag&&Object.defineProperty(e,d.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{detectSchemaVersion:()=>St,generateUISchema:()=>ze,processSchema:()=>At,v1:()=>r,v2:()=>n,validateJSONSchema:()=>pt});var r={};e.r(r),e.d(r,{generateUISchema:()=>ze,validateJSONSchema:()=>pt});var n={};e.r(n),e.d(n,{buildConditionSchema:()=>dt,buildSchemaBasedCondition:()=>mt,createSectionRule:()=>ht,extractConditionalProperties:()=>Ot,extractConditionalRequired:()=>jt,generateUISchema:()=>wt,validateConditions:()=>yt});var i=Object.prototype;const o=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||i)},a=(c=Object.keys,s=Object,function(e){return c(s(e))});var c,s,u=Object.prototype.hasOwnProperty;const p="object"==typeof global&&global&&global.Object===Object&&global;var l="object"==typeof self&&self&&self.Object===Object&&self;const f=p||l||Function("return this")();var d=f.Symbol;const m=d;var h=Object.prototype,y=h.hasOwnProperty,v=h.toString,b=m?m.toStringTag:void 0;var g=Object.prototype.toString;var O=m?m.toStringTag:void 0;const j=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":O&&O in Object(e)?function(e){var t=y.call(e,b),r=e[b];try{e[b]=void 0;var n=!0}catch(e){}var i=v.call(e);return n&&(t?e[b]=r:delete e[b]),i}(e):function(e){return g.call(e)}(e)},E=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},T=function(e){if(!E(e))return!1;var t=j(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t},w=f["__core-js_shared__"];var S,A=(S=/[^.]+$/.exec(w&&w.keys&&w.keys.IE_PROTO||""))?"Symbol(src)_1."+S:"";var I=Function.prototype.toString;const C=function(e){if(null!=e){try{return I.call(e)}catch(e){}try{return e+""}catch(e){}}return""};var N=/^\[object .+?Constructor\]$/,k=Function.prototype,_=Object.prototype,x=k.toString,q=_.hasOwnProperty,P=RegExp("^"+x.call(q).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const L=function(e){return!(!E(e)||function(e){return!!A&&A in e}(e))&&(T(e)?P:N).test(C(e))},M=function(e,t){var r=function(e,t){return null==e?void 0:e[t]}(e,t);return L(r)?r:void 0},D=M(f,"DataView"),U=M(f,"Map"),F=M(f,"Promise"),H=M(f,"Set"),R=M(f,"WeakMap");var V="[object Map]",$="[object Promise]",X="[object Set]",B="[object WeakMap]",J="[object DataView]",W=C(D),Y=C(U),z=C(F),G=C(H),K=C(R),Q=j;(D&&Q(new D(new ArrayBuffer(1)))!=J||U&&Q(new U)!=V||F&&Q(F.resolve())!=$||H&&Q(new H)!=X||R&&Q(new R)!=B)&&(Q=function(e){var t=j(e),r="[object Object]"==t?e.constructor:void 0,n=r?C(r):"";if(n)switch(n){case W:return J;case Y:return V;case z:return $;case G:return X;case K:return B}return t});const Z=Q,ee=function(e){return null!=e&&"object"==typeof e},te=function(e){return ee(e)&&"[object Arguments]"==j(e)};var re=Object.prototype,ne=re.hasOwnProperty,ie=re.propertyIsEnumerable;const oe=te(function(){return arguments}())?te:function(e){return ee(e)&&ne.call(e,"callee")&&!ie.call(e,"callee")},ae=Array.isArray,ce=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991};var se="object"==typeof exports&&exports&&!exports.nodeType&&exports,ue=se&&"object"==typeof module&&module&&!module.nodeType&&module,pe=ue&&ue.exports===se?f.Buffer:void 0;const le=(pe?pe.isBuffer:void 0)||function(){return!1};var fe={};fe["[object Float32Array]"]=fe["[object Float64Array]"]=fe["[object Int8Array]"]=fe["[object Int16Array]"]=fe["[object Int32Array]"]=fe["[object Uint8Array]"]=fe["[object Uint8ClampedArray]"]=fe["[object Uint16Array]"]=fe["[object Uint32Array]"]=!0,fe["[object Arguments]"]=fe["[object Array]"]=fe["[object ArrayBuffer]"]=fe["[object Boolean]"]=fe["[object DataView]"]=fe["[object Date]"]=fe["[object Error]"]=fe["[object Function]"]=fe["[object Map]"]=fe["[object Number]"]=fe["[object Object]"]=fe["[object RegExp]"]=fe["[object Set]"]=fe["[object String]"]=fe["[object WeakMap]"]=!1;var de="object"==typeof exports&&exports&&!exports.nodeType&&exports,me=de&&"object"==typeof module&&module&&!module.nodeType&&module,he=me&&me.exports===de&&p.process,ye=function(){try{return me&&me.require&&me.require("util").types||he&&he.binding&&he.binding("util")}catch(e){}}(),ve=ye&&ye.isTypedArray;const be=ve?function(e){return function(t){return e(t)}}(ve):function(e){return ee(e)&&ce(e.length)&&!!fe[j(e)]};var ge=Object.prototype.hasOwnProperty;const Oe=function(e){if(null==e)return!0;if(function(e){return null!=e&&ce(e.length)&&!T(e)}(e)&&(ae(e)||"string"==typeof e||"function"==typeof e.splice||le(e)||be(e)||oe(e)))return!e.length;var t=Z(e);if("[object Map]"==t||"[object Set]"==t)return!e.size;if(o(e))return!function(e){if(!o(e))return a(e);var t=[];for(var r in Object(e))u.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e).length;for(var r in e)if(ge.call(e,r))return!1;return!0};var je,Ee,Te,we=function(e,t,r){if(r||2===arguments.length)for(var n,i=0,o=t.length;i<o;i++)!n&&i in t||(n||(n=Array.prototype.slice.call(t,0,i)),n[i]=t[i]);return e.concat(n||Array.prototype.slice.call(t))},Se="fieldset",Ae="checkboxes",Ie="string";!function(e){e.DateTime="date-time",e.Date="date"}(je||(je={})),function(e){e.DateTime="date-time",e.MultiSelect="multiselect",e.RepeatableField="repeatable-field",e.FormLabel="form-label"}(Ee||(Ee={})),function(e){e.Header="header"}(Te||(Te={}));var Ce,Ne=function(e){var t=e.toLowerCase().replace(/[\s\\/\\%]/gi,"_");return"fieldset__title_".concat(t)},ke=function(e){return new Set(e).size!==e.length},_e=function(e){return Me(e)&&e.type===Ae},xe=function(e){return null==e||0===e.trim().length},qe=function(e){return Me(e)&&e.type===Se&&!Oe(e.title)},Pe=function(e){return Me(e)&&e.type===Se&&e.items.length>0},Le=function(e){var t,r;return e.type===Ie&&(null===(t=e.enum)||void 0===t?void 0:t.length)>0&&(null===(r=e.inactive_enum)||void 0===r?void 0:r.length)>0},Me=function(e){return e instanceof Object},De=function(e){return!Oe(e.key)},Ue=function(e){return 0!==e.length&&void 0!==e.find((function(e){return Me(e)&&e&&(e.type||"")===Se}))},Fe=function(e){return typeof e===Ie},He=function(e){if("number"==typeof e)return e;if("string"!=typeof e)return e;var t=e.trim();if(""===t)return e;if(/^-?\d+,\d+$/.test(t)){var r=t.replace(",","."),n=parseFloat(r);if(!isNaN(n))return r}return e},Re=function(e,t,r){void 0===r&&(r=[]),"object"==typeof e&&null!==e&&(t(e,r),Array.isArray(e)?e.forEach((function(e,n){return Re(e,t,we(we([],r,!0),[n.toString()],!1))})):Object.entries(e).forEach((function(e){var n=e[0],i=e[1];return Re(i,t,we(we([],r,!0),[n],!1))})))},Ve=function(e){return e.includes(Ae)},$e=function(e){return e.includes("inactive_enum")},Xe=function(e){return e.includes("inactive_titleMap")},Be=function(e){return e.includes("enum")},Je=function(){return Je=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},Je.apply(this,arguments)};!function(e){e.Number="number",e.String="string",e.Array="array"}(Ce||(Ce={}));var We=function(e,t,r){return void 0===r&&(r={}),Je({type:"Control",scope:"#/properties/".concat(e),label:t},r&&{options:r})},Ye=function(e,t,r){void 0===r&&(r=void 0);try{var n=r||t.definition.find((function(t){return t.key===e}));if("date-time-picker json-schema"===n.fieldHtmlClass||n&&"datetime"===(n.type||""))return"date"===t.schema.properties[e].format?je.Date:je.DateTime;if("date-picker json-schema"===n.fieldHtmlClass||"date"===t.schema.properties[e].format)return je.Date}catch(e){return}},ze=function(e){var t=[];return Ue(e.definition)?t.push.apply(t,Ge(e)):Object.keys(e.schema.properties).forEach((function(r){var n=Qe(r,e);Oe(n)||t.push(n)})),{type:"Category",elements:t}},Ge=function(e){var t=[];return e.definition.forEach((function(r){if("string"==typeof r)t.push(We(r,e.schema.properties[r].title||""));else if(r instanceof Object)switch(!0){case function(e){return Me(e)&&e.type===Se&&0===e.items.length&&!Oe(e.title)}(r):t.push(We(Ne(r.title),r.title,Ke(Ee.FormLabel)));break;case Pe(r):r.title&&t.push(We(Ne(r.title),r.title,Ke(Ee.FormLabel))),r.items.forEach((function(r){if(r instanceof Object){var n=Qe(r.key||"",e,r);n&&t.push(n)}else if("string"==typeof r){var i=Qe(r,e);i&&t.push(i)}}));break;case De(r):var n=Qe(r.key,e);n&&t.push(n)}})),t},Ke=function(e,t){if(void 0===e&&(e=""),void 0===t&&(t=""),Oe(e))return{};var r={format:e};return Oe(t)||(r.display=t),r},Qe=function(e,t,r){void 0===r&&(r=void 0);var n={};switch(t.schema.properties[e].type){case Ce.Number:return We(e,t.schema.properties[e].title||"");case Ce.String:var i=Ye(e,t,r);return xe(i)?t.schema.properties[e].display&&t.schema.properties[e].display===Te.Header&&(n=Ke(Ee.FormLabel)):n=Ke(Ee.DateTime,i),We(e,t.schema.properties[e].title||"",n);case Ce.Array:return t.schema.properties[e].items.enum&&t.schema.properties[e].items.enumNames?n=Ke(Ee.MultiSelect):t.schema.properties[e].items&&(n=Ke(Ee.RepeatableField)),We(e,t.schema.properties[e].title||"",n);case void 0:var o=function(e,t){try{var r=t.definition.find((function(t){return t.key===e}));return"json-schema-checkbox-wrapper"===r.fieldHtmlClass||"checkboxes"===r.type?r:void 0}catch(e){return}}(e,t);return o?(n=Ke(Ee.MultiSelect),We(e,o.title||"",n)):(i=Ye(e,t,r),xe(i)?void 0:(n=Ke(Ee.DateTime,i),We(e,t.schema.properties[e].title||"",n)))}},Ze=function(){return Ze=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},Ze.apply(this,arguments)},et=function(e,t,r){if(r||2===arguments.length)for(var n,i=0,o=t.length;i<o;i++)!n&&i in t||(n||(n=Array.prototype.slice.call(t,0,i)),n[i]=t[i]);return e.concat(n||Array.prototype.slice.call(t))},tt=/[^\w\n\s_"](?=[^:\n\s{}[]]*:[\t\n\s]*(\{|\[)+)/g,rt=/"minimum"(?:[^\\"]|\\\\|\\")*"\d+\.*\d*"/g,nt=/"maximum"(?:[^\\"]|\\\\|\\")*"\d+\.*\d*"/g,it=/"(?=[^"]*(?:"[^"]*)?$)/g,ot=function(e){return{type:"string",readOnly:!0,isHidden:!1,display:Te.Header,title:e}},at=function(e){return(null==e?void 0:e.isHidden)||!1},ct=function(e){return e.enum.filter((function(t){return!e.inactive_enum.includes(t)}))},st=function(e){return e.titleMap.filter((function(t){return!e.inactive_titleMap.includes(t.value)}))},ut=function(e,t,r,n){var i,o,a,c,s=e.hasCheckboxes,u=e.hasDisabledChoices;if(Fe(t)&&r.schema.properties[t])r.schema.properties[t].isHidden=at(r.schema.properties[t]);else{if((Me(t)||De(t))&&t.key&&r.schema.properties[t.key]&&(r.schema.properties[t.key].isHidden=at(r.schema.properties[t.key])),u&&function(e){var t,r;return Me(e)&&e.type===Ae&&(null===(t=e.inactive_titleMap)||void 0===t?void 0:t.length)>0&&(null===(r=e.titleMap)||void 0===r?void 0:r.length)>0}(t))if(n){var p=r.definition.indexOf(n),l=r.definition[p].items.indexOf(t);r.definition[p].items[l].titleMap=st(t)}else r.definition[r.definition.indexOf(t)].titleMap=st(t);s&&_e(t)&&(r.schema.properties[t.key]=(i=t,o=r.schema.properties[t.key].title||"",a=r.schema.properties[t.key].required||!1,c=r.schema.properties[t.key].default||!1,Ze(Ze(Ze({type:"array",uniqueItems:!0,isHidden:!1},a&&{required:a}),{title:o||i.title,items:{enum:i.titleMap.map((function(e){return e.value})),enumNames:i.titleMap.map((function(e){return e.name}))}}),c&&{default:c})))}},pt=function(e){var t;e=function(e){if(null!==e.match(tt))throw Error("Special characters not supported in JSON Schema");return(e=(e=(e=(e=(e=e.replace(/([“”])/g,'"')).replace(new RegExp('\\"enum\\"\\n*\\s*\\:\\n*\\s*\\[\\n*\\s*\\]',"g"),'"enum": ["0"]')).replace(new RegExp('\\"enumNames\\"\\n*\\s*\\:\\n*\\s*\\{\\n*\\s*\\}',"g"),'"enumNames": {"0":"No Options"}')).replace(new RegExp('\\"titleMap\\"\\n*\\s*\\:\\n*\\s*\\[\\n*\\s*\\]',"g"),'"titleMap": [{"value":"no_option", "name":"No Option"}]')).replace(rt,(function(e){return e.replace(it,"")}))).replace(nt,(function(e){return e.replace(it,"")}))}(e);var r=JSON.parse(e);delete r.schema.$schema,delete r.schema.id,function(e){if(e.schema.definition){var t=e.schema.definition;delete e.schema.definition,e.definition=t}}(r);var n=function(e){return{hasCheckboxes:Ve(e),hasInactiveChoices:$e(e),hasDisabledChoices:Xe(e),hasEnums:Be(e)}}(e);if(function(e){Re(e,(function(e){"object"===e.type&&e.properties&&Object.entries(e.properties).forEach((function(e){var t=e[1];"number"===t.type&&(void 0!==t.default&&(t.default=He(t.default)),void 0!==t.minimum&&(t.minimum=He(t.minimum)),void 0!==t.maximum&&(t.maximum=He(t.maximum)))}))}))}(r.schema),function(e,t){var r=e.hasInactiveChoices,n=e.hasEnums;if(r)for(var i=0,o=Object.keys(t.schema.properties);i<o.length;i++){var a=o[i],c=t.schema.properties[a];Le(c)&&(t.schema.properties[a].enum=ct(c),Oe(t.schema.properties[a].enum)&&(t.schema.properties[a].enum=["0"],t.schema.properties[a].enumNames={0:"No Options"}))}if(n)for(var s=0,u=Object.keys(t.schema.properties);s<u.length;s++)if(a=u[s],!Oe(t.schema.properties[a].enum)&&ke(t.schema.properties[a].enum))throw new Error("Duplicated enum items")}(n,r),function(e,t){var r;if(Ue(t.definition))!function(e,t){for(var r=0,n=t.definition;r<n.length;r++){var i=n[r];switch(!0){case Fe(i):break;case qe(i):var o=Ne(i.title);t.schema.properties[o]=ot(i.title);break;case Pe(i):for(var a=0,c=i.items;a<c.length;a++){var s=c[a];ut(e,s,t,i)}break;case _e(i):ut(e,i,t)}}}(e,t);else if((null===(r=t.definition)||void 0===r?void 0:r.length)>0)for(var n=0,i=t.definition;n<i.length;n++){var o=i[n];ut(e,o,t)}}(n,r),e.includes("helpvalue")&&function(e){for(var t={},r=0,n=0,i=e.definition;n<i.length;n++){var o=i[n];if(Fe(o))t[o]=e.schema.properties[o],delete e.schema.properties[o];else if(Me(o))if(o.helpvalue){var a="help_value_".concat(r);r+=1,t[a]=ot((o.helpvalue||"").replace(/(<.+?>)/g,""))}else o.key&&(t[o.key]=e.schema.properties[o.key],delete e.schema.properties[o.key])}e.schema.properties=Object.assign(t,e.schema.properties)}(r),e.includes("required")){if((null===(t=r.schema.required)||void 0===t?void 0:t.length)>0&&ke(r.schema.required))throw new Error("Duplicated required properties");r.schema=function(e){var t=Array.isArray(e.required)?et([],e.required,!0):null;return Re(e,(function(e,r){if("object"===e.type&&e.properties){var n=[];if(Object.entries(e.properties).forEach((function(e){var t=e[0],r=e[1];(function(e){return"true"===e.required||e.required>0})(r)&&(n.push(t),delete r.required)})),Oe(n))r.length>0&&e.required&&delete e.required;else if(0===r.length&&t){var i=et(et([],t,!0),n,!0);e.required=Array.from(new Set(i))}else e.required=n}})),e}(r.schema)}return r},lt=["CONTAINS","DOES_NOT_HAVE_INPUT","HAS_INPUT","INPUT_IS_EXACTLY"],ft=function(e){switch(e.operator){case"CONTAINS":if(void 0===e.value||null===e.value)throw new Error("CONTAINS operator requires a value for condition '".concat(e.id,"'"));return{pattern:String(e.value),type:"string"};case"DOES_NOT_HAVE_INPUT":return{not:{allOf:[{not:{type:"null"}},{anyOf:[{type:"array",minItems:1},{type:"boolean"},{type:"number"},{type:"object",minProperties:1},{type:"string",minLength:1}]}]}};case"HAS_INPUT":return{allOf:[{not:{type:"null"}},{anyOf:[{type:"array",minItems:1},{type:"boolean"},{type:"number"},{type:"object",minProperties:1},{type:"string",minLength:1}]}]};case"INPUT_IS_EXACTLY":if(void 0===e.value)throw new Error("INPUT_IS_EXACTLY operator requires a value for condition '".concat(e.id,"'"));return function(e){if(null===e)return{type:"null"};if("boolean"==typeof e)return{const:e};if("number"==typeof e)return{enum:[e,String(e)]};var t=Number(e);return isNaN(t)||""===e?{const:e}:{enum:[t,e]}}(e.value);default:throw new Error("Unknown operator '".concat(e.operator,"' in condition '").concat(e.id,"'"))}},dt=function(e){var t,r=ft(e);return{properties:(t={},t[e.field]=r,t),required:[e.field]}},mt=function(e){if(0===e.length)throw new Error("At least one condition is required");if(1===e.length){var t=e[0];return{scope:"#/properties/".concat(t.field),schema:ft(t)}}var r=e.map((function(e){return dt(e)}));return{scope:"#",schema:{allOf:r}}},ht=function(e){return{effect:"SHOW",condition:mt(e)}},yt=function(e,t){for(var r=0,n=e;r<n.length;r++){var i=n[r];if(!lt.includes(i.operator))throw new Error("Invalid operator '".concat(i.operator,"'"));if(!t.includes(i.field))throw new Error("Unknown field '".concat(i.field,"'"));if("CONTAINS"===i.operator&&(void 0===i.value||null===i.value))throw new Error("CONTAINS operator requires a value");if("INPUT_IS_EXACTLY"===i.operator&&void 0===i.value)throw new Error("INPUT_IS_EXACTLY operator requires a value")}},vt=function(e){return!e.deprecated},bt=function(e,t,r,n,i){var o,a={type:"Control",scope:"#/properties/".concat(e),label:t.title,options:{}};switch(i&&(a.options.conditionallyRequired=!0),r.type){case"TEXT":"LONG_TEXT"===r.inputType&&(a.options.multi=!0),r.placeholder&&(a.options.placeholder=r.placeholder);break;case"NUMERIC":a.options.format="number",r.placeholder&&(a.options.placeholder=r.placeholder);break;case"DATE_TIME":a.options.format=t.format||"date-time",a.options.display=t.format||"date-time";break;case"CHOICE_LIST":"array"===t.type?(a.options.multi=!0,"DROPDOWN"===r.inputType?a.options.format="dropdown":"LIST"===r.inputType&&(a.options.format="checkbox")):"DROPDOWN"===r.inputType?a.options.format="dropdown":"LIST"===r.inputType&&(a.options.format="radio"),r.placeholder&&(a.options.placeholder=r.placeholder);break;case"LOCATION":a.options.format="location",a.options.display="map";break;case"COLLECTION":a.options.format="array",a.options.addButtonText=r.buttonText||"Add Item",r.itemIdentifier&&(a.options.itemIdentifier=r.itemIdentifier),void 0!==t.maxItems&&(a.options.maxItems=t.maxItems),void 0!==t.minItems&&(a.options.minItems=t.minItems),"array"===t.type&&(null===(o=t.items)||void 0===o?void 0:o.properties)&&n&&(a.options.detail=Et(t,r,n));break;case"ATTACHMENT":a.options.format="file",r.allowableFileTypes&&(a.options.accept=r.allowableFileTypes.join(","))}return t.description&&(a.options.description=t.description),a},gt=function(e,t){return{type:"Label",text:t.label,options:{size:t.size}}},Ot=function(e){var t={},r=e.json.allOf;return Array.isArray(r)?(r.forEach((function(r){var n;(null===(n=r.then)||void 0===n?void 0:n.properties)&&Object.entries(r.then.properties).forEach((function(r){var n=r[0],i=r[1];e.json.properties[n]||(t[n]=i)}))})),t):t},jt=function(e){var t=new Set,r=e.json.allOf;return Array.isArray(r)?(r.forEach((function(e){var r;(null===(r=e.then)||void 0===r?void 0:r.required)&&Array.isArray(e.then.required)&&e.then.required.forEach((function(e){t.add(e)}))})),t):t},Et=function(e,t,r){var n;if("array"!==e.type||!(null===(n=e.items)||void 0===n?void 0:n.properties))throw new Error("Collection property must be an array with item properties");var i=e.items.properties,o=[],a=function(e,t){var n=r.ui.fields[e];if(n)return bt(e,t,n,r);var i={type:"Control",scope:"#/properties/".concat(e),label:t.title||e,options:{}};switch(t.type){case"string":"uri"===t.format&&(i.options.format="file",i.options.accept="image/*");break;case"number":i.options.format="number"}return t.description&&(i.options.description=t.description),i};return t&&(t.leftColumn||t.rightColumn)?(t.leftColumn&&t.leftColumn.forEach((function(e){i[e]&&o.push(a(e,i[e]))})),t.rightColumn&&t.rightColumn.forEach((function(e){i[e]&&o.push(a(e,i[e]))}))):Object.entries(i).forEach((function(e){var t=e[0],r=e[1];o.push(a(t,r))})),{type:"VerticalLayout",elements:o}},Tt=function(e,t,r){if(r||2===arguments.length)for(var n,i=0,o=t.length;i<o;i++)!n&&i in t||(n||(n=Array.prototype.slice.call(t,0,i)),n[i]=t[i]);return e.concat(n||Array.prototype.slice.call(t))},wt=function(e){!function(e){var t=[],r=["TEXT","NUMERIC","DATE_TIME","CHOICE_LIST","LOCATION","COLLECTION","ATTACHMENT"];Object.entries(e.json.properties).forEach((function(n){var i,o=n[0],a=n[1],c=e.ui.fields[o];if(c||!a.deprecated)if(c)if(r.includes(c.type)){if("CHOICE_LIST"===c.type){var s=!1;"array"===a.type&&(null===(i=a.items)||void 0===i?void 0:i.anyOf)?s=a.items.anyOf.some((function(e){return e.oneOf&&Array.isArray(e.oneOf)})):a.anyOf&&(s=a.anyOf.some((function(e){return e.oneOf&&Array.isArray(e.oneOf)}))),s||t.push("".concat(o,": CHOICE_LIST field requires embedded oneOf arrays - $ref not supported"))}}else t.push("".concat(o,": unsupported field type '").concat(c.type,"'"));else t.push("".concat(o,": missing UI field definition"))}));var n=Ot(e),i=Tt(Tt([],Object.keys(e.json.properties),!0),Object.keys(n),!0);if(Object.entries(e.ui.sections).forEach((function(e){var r=e[0],n=e[1];if(n.conditions&&n.conditions.length>0)try{yt(n.conditions,i)}catch(e){t.push("Section '".concat(r,"': ").concat(e.message))}})),t.length>0)throw new Error("Invalid V2 schema structure: ".concat(t.join(", ")))}(e);var t,r,n,i=function(e){var t=[];Object.entries(e.json.properties).forEach((function(r){var n=r[0],i=r[1],o=e.ui.fields[n];vt(i)&&o&&t.push({name:n,property:i,uiField:o})}));var r=Ot(e);return Object.entries(r).forEach((function(r){var n=r[0],i=r[1],o=e.ui.fields[n];vt(i)&&o&&t.push({name:n,property:i,uiField:o})})),t}(e),o=(t=i,r=e.ui.sections,n={},t.forEach((function(e){var t=e.uiField.parent;r[t]&&(n[t]||(n[t]=[]),n[t].push(e))})),n),a=jt(e),c=[];return e.ui.order.forEach((function(t){var r=e.ui.sections[t],n=o[t]||[],i=n.length>0,s=Tt(Tt([],r.leftColumn,!0),r.rightColumn,!0).some((function(t){return"header"===t.type&&e.ui.headers[t.name]}));if((null==r?void 0:r.isActive)&&(i||s)){var u=function(e,t,r,n){var i={type:"VerticalLayout",label:t.label,elements:[]},o=[];return t.leftColumn.forEach((function(e){if("field"===e.type){var t=r.find((function(t){return t.scope==="#/properties/".concat(e.name)}));t&&o.push(t)}else if("header"===e.type){var i=n[e.name];if(i){var a=gt(e.name,i);o.push(a)}}})),t.rightColumn.forEach((function(e){if("field"===e.type){var t=r.find((function(t){return t.scope==="#/properties/".concat(e.name)}));t&&o.push(t)}else if("header"===e.type){var i=n[e.name];if(i){var a=gt(e.name,i);o.push(a)}}})),i.elements=o,t.conditions&&t.conditions.length>0&&(i.rule=ht(t.conditions)),i}(0,r,n.map((function(t){var r=t.name,n=t.property,i=t.uiField;return bt(r,n,i,e,a.has(r))})),e.ui.headers);c.push(u)}})),{type:"VerticalLayout",elements:c}},St=function(e){try{var t=JSON.parse(e),r=t.data||t;return r.json&&r.ui?{version:"v2",data:r}:(r.schema&&r.definition||r.schema&&r.ui,{version:"v1",data:r})}catch(e){throw new Error("Invalid JSON schema: ".concat(e instanceof Error?e.message:"Unknown error"))}},At=function(e){var t=St(e),r=t.version,n=t.data;return{version:r,processedData:JSON.stringify(n)}};module.exports=t})();
1
+ (()=>{"use strict";var e={d:(t,r)=>{for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{void 0!==d&&d.toStringTag&&Object.defineProperty(e,d.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{detectSchemaVersion:()=>Ct,generateUISchema:()=>ze,processSchema:()=>kt,v1:()=>r,v2:()=>n,validateJSONSchema:()=>pt});var r={};e.r(r),e.d(r,{generateUISchema:()=>ze,validateJSONSchema:()=>pt});var n={};e.r(n),e.d(n,{buildConditionSchema:()=>bt,buildContainsSchema:()=>lt,buildIsContainedBySchema:()=>mt,buildIsEmptySchema:()=>ft,buildIsExactlySchema:()=>dt,buildIsNotContainedBySchema:()=>yt,buildSchemaBasedCondition:()=>Ot,createSectionRule:()=>gt,extractConditionalProperties:()=>St,extractConditionalRequired:()=>At,generateUISchema:()=>wt,validateConditions:()=>jt});var o=Object.prototype;const i=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||o)},a=(c=Object.keys,u=Object,function(e){return c(u(e))});var c,u,s=Object.prototype.hasOwnProperty;const p="object"==typeof global&&global&&global.Object===Object&&global;var l="object"==typeof self&&self&&self.Object===Object&&self;const f=p||l||Function("return this")();var d=f.Symbol;const m=d;var y=Object.prototype,h=y.hasOwnProperty,v=y.toString,b=m?m.toStringTag:void 0;var O=Object.prototype.toString;var g=m?m.toStringTag:void 0;const j=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":g&&g in Object(e)?function(e){var t=h.call(e,b),r=e[b];try{e[b]=void 0;var n=!0}catch(e){}var o=v.call(e);return n&&(t?e[b]=r:delete e[b]),o}(e):function(e){return O.call(e)}(e)},E=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},I=function(e){if(!E(e))return!1;var t=j(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t},T=f["__core-js_shared__"];var S,A=(S=/[^.]+$/.exec(T&&T.keys&&T.keys.IE_PROTO||""))?"Symbol(src)_1."+S:"";var N=Function.prototype.toString;const _=function(e){if(null!=e){try{return N.call(e)}catch(e){}try{return e+""}catch(e){}}return""};var w=/^\[object .+?Constructor\]$/,C=Function.prototype,k=Object.prototype,x=C.toString,q=k.hasOwnProperty,P=RegExp("^"+x.call(q).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const L=function(e){return!(!E(e)||function(e){return!!A&&A in e}(e))&&(I(e)?P:w).test(_(e))},M=function(e,t){var r=function(e,t){return null==e?void 0:e[t]}(e,t);return L(r)?r:void 0},D=M(f,"DataView"),U=M(f,"Map"),Y=M(f,"Promise"),F=M(f,"Set"),H=M(f,"WeakMap");var B="[object Map]",R="[object Promise]",X="[object Set]",V="[object WeakMap]",$="[object DataView]",J=_(D),W=_(U),z=_(Y),G=_(F),K=_(H),Q=j;(D&&Q(new D(new ArrayBuffer(1)))!=$||U&&Q(new U)!=B||Y&&Q(Y.resolve())!=R||F&&Q(new F)!=X||H&&Q(new H)!=V)&&(Q=function(e){var t=j(e),r="[object Object]"==t?e.constructor:void 0,n=r?_(r):"";if(n)switch(n){case J:return $;case W:return B;case z:return R;case G:return X;case K:return V}return t});const Z=Q,ee=function(e){return null!=e&&"object"==typeof e},te=function(e){return ee(e)&&"[object Arguments]"==j(e)};var re=Object.prototype,ne=re.hasOwnProperty,oe=re.propertyIsEnumerable;const ie=te(function(){return arguments}())?te:function(e){return ee(e)&&ne.call(e,"callee")&&!oe.call(e,"callee")},ae=Array.isArray,ce=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991};var ue="object"==typeof exports&&exports&&!exports.nodeType&&exports,se=ue&&"object"==typeof module&&module&&!module.nodeType&&module,pe=se&&se.exports===ue?f.Buffer:void 0;const le=(pe?pe.isBuffer:void 0)||function(){return!1};var fe={};fe["[object Float32Array]"]=fe["[object Float64Array]"]=fe["[object Int8Array]"]=fe["[object Int16Array]"]=fe["[object Int32Array]"]=fe["[object Uint8Array]"]=fe["[object Uint8ClampedArray]"]=fe["[object Uint16Array]"]=fe["[object Uint32Array]"]=!0,fe["[object Arguments]"]=fe["[object Array]"]=fe["[object ArrayBuffer]"]=fe["[object Boolean]"]=fe["[object DataView]"]=fe["[object Date]"]=fe["[object Error]"]=fe["[object Function]"]=fe["[object Map]"]=fe["[object Number]"]=fe["[object Object]"]=fe["[object RegExp]"]=fe["[object Set]"]=fe["[object String]"]=fe["[object WeakMap]"]=!1;var de="object"==typeof exports&&exports&&!exports.nodeType&&exports,me=de&&"object"==typeof module&&module&&!module.nodeType&&module,ye=me&&me.exports===de&&p.process,he=function(){try{return me&&me.require&&me.require("util").types||ye&&ye.binding&&ye.binding("util")}catch(e){}}(),ve=he&&he.isTypedArray;const be=ve?function(e){return function(t){return e(t)}}(ve):function(e){return ee(e)&&ce(e.length)&&!!fe[j(e)]};var Oe=Object.prototype.hasOwnProperty;const ge=function(e){if(null==e)return!0;if(function(e){return null!=e&&ce(e.length)&&!I(e)}(e)&&(ae(e)||"string"==typeof e||"function"==typeof e.splice||le(e)||be(e)||ie(e)))return!e.length;var t=Z(e);if("[object Map]"==t||"[object Set]"==t)return!e.size;if(i(e))return!function(e){if(!i(e))return a(e);var t=[];for(var r in Object(e))s.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e).length;for(var r in e)if(Oe.call(e,r))return!1;return!0};var je,Ee,Ie,Te=function(e,t,r){if(r||2===arguments.length)for(var n,o=0,i=t.length;o<i;o++)!n&&o in t||(n||(n=Array.prototype.slice.call(t,0,o)),n[o]=t[o]);return e.concat(n||Array.prototype.slice.call(t))},Se="fieldset",Ae="checkboxes",Ne="string";!function(e){e.DateTime="date-time",e.Date="date"}(je||(je={})),function(e){e.DateTime="date-time",e.MultiSelect="multiselect",e.RepeatableField="repeatable-field",e.FormLabel="form-label"}(Ee||(Ee={})),function(e){e.Header="header"}(Ie||(Ie={}));var _e,we=function(e){var t=e.toLowerCase().replace(/[\s\\/\\%]/gi,"_");return"fieldset__title_".concat(t)},Ce=function(e){return new Set(e).size!==e.length},ke=function(e){return Me(e)&&e.type===Ae},xe=function(e){return null==e||0===e.trim().length},qe=function(e){return Me(e)&&e.type===Se&&!ge(e.title)},Pe=function(e){return Me(e)&&e.type===Se&&e.items.length>0},Le=function(e){var t,r;return e.type===Ne&&(null===(t=e.enum)||void 0===t?void 0:t.length)>0&&(null===(r=e.inactive_enum)||void 0===r?void 0:r.length)>0},Me=function(e){return e instanceof Object},De=function(e){return!ge(e.key)},Ue=function(e){return 0!==e.length&&void 0!==e.find((function(e){return Me(e)&&e&&(e.type||"")===Se}))},Ye=function(e){return typeof e===Ne},Fe=function(e){if("number"==typeof e)return e;if("string"!=typeof e)return e;var t=e.trim();if(""===t)return e;if(/^-?\d+,\d+$/.test(t)){var r=t.replace(",","."),n=parseFloat(r);if(!isNaN(n))return r}return e},He=function(e,t,r){void 0===r&&(r=[]),"object"==typeof e&&null!==e&&(t(e,r),Array.isArray(e)?e.forEach((function(e,n){return He(e,t,Te(Te([],r,!0),[n.toString()],!1))})):Object.entries(e).forEach((function(e){var n=e[0],o=e[1];return He(o,t,Te(Te([],r,!0),[n],!1))})))},Be=function(e){return e.includes(Ae)},Re=function(e){return e.includes("inactive_enum")},Xe=function(e){return e.includes("inactive_titleMap")},Ve=function(e){return e.includes("enum")},$e=function(){return $e=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},$e.apply(this,arguments)};!function(e){e.Number="number",e.String="string",e.Array="array"}(_e||(_e={}));var Je=function(e,t,r){return void 0===r&&(r={}),$e({type:"Control",scope:"#/properties/".concat(e),label:t},r&&{options:r})},We=function(e,t,r){void 0===r&&(r=void 0);try{var n=r||t.definition.find((function(t){return t.key===e}));if("date-time-picker json-schema"===n.fieldHtmlClass||n&&"datetime"===(n.type||""))return"date"===t.schema.properties[e].format?je.Date:je.DateTime;if("date-picker json-schema"===n.fieldHtmlClass||"date"===t.schema.properties[e].format)return je.Date}catch(e){return}},ze=function(e){var t=[];return Ue(e.definition)?t.push.apply(t,Ge(e)):Object.keys(e.schema.properties).forEach((function(r){var n=Qe(r,e);ge(n)||t.push(n)})),{type:"Category",elements:t}},Ge=function(e){var t=[];return e.definition.forEach((function(r){if("string"==typeof r)t.push(Je(r,e.schema.properties[r].title||""));else if(r instanceof Object)switch(!0){case function(e){return Me(e)&&e.type===Se&&0===e.items.length&&!ge(e.title)}(r):t.push(Je(we(r.title),r.title,Ke(Ee.FormLabel)));break;case Pe(r):r.title&&t.push(Je(we(r.title),r.title,Ke(Ee.FormLabel))),r.items.forEach((function(r){if(r instanceof Object){var n=Qe(r.key||"",e,r);n&&t.push(n)}else if("string"==typeof r){var o=Qe(r,e);o&&t.push(o)}}));break;case De(r):var n=Qe(r.key,e);n&&t.push(n)}})),t},Ke=function(e,t){if(void 0===e&&(e=""),void 0===t&&(t=""),ge(e))return{};var r={format:e};return ge(t)||(r.display=t),r},Qe=function(e,t,r){void 0===r&&(r=void 0);var n={};switch(t.schema.properties[e].type){case _e.Number:return Je(e,t.schema.properties[e].title||"");case _e.String:var o=We(e,t,r);return xe(o)?t.schema.properties[e].display&&t.schema.properties[e].display===Ie.Header&&(n=Ke(Ee.FormLabel)):n=Ke(Ee.DateTime,o),Je(e,t.schema.properties[e].title||"",n);case _e.Array:return t.schema.properties[e].items.enum&&t.schema.properties[e].items.enumNames?n=Ke(Ee.MultiSelect):t.schema.properties[e].items&&(n=Ke(Ee.RepeatableField)),Je(e,t.schema.properties[e].title||"",n);case void 0:var i=function(e,t){try{var r=t.definition.find((function(t){return t.key===e}));return"json-schema-checkbox-wrapper"===r.fieldHtmlClass||"checkboxes"===r.type?r:void 0}catch(e){return}}(e,t);return i?(n=Ke(Ee.MultiSelect),Je(e,i.title||"",n)):(o=We(e,t,r),xe(o)?void 0:(n=Ke(Ee.DateTime,o),Je(e,t.schema.properties[e].title||"",n)))}},Ze=function(){return Ze=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},Ze.apply(this,arguments)},et=function(e,t,r){if(r||2===arguments.length)for(var n,o=0,i=t.length;o<i;o++)!n&&o in t||(n||(n=Array.prototype.slice.call(t,0,o)),n[o]=t[o]);return e.concat(n||Array.prototype.slice.call(t))},tt=/[^\w\n\s_"](?=[^:\n\s{}[]]*:[\t\n\s]*(\{|\[)+)/g,rt=/"minimum"(?:[^\\"]|\\\\|\\")*"\d+\.*\d*"/g,nt=/"maximum"(?:[^\\"]|\\\\|\\")*"\d+\.*\d*"/g,ot=/"(?=[^"]*(?:"[^"]*)?$)/g,it=function(e){return{type:"string",readOnly:!0,isHidden:!1,display:Ie.Header,title:e}},at=function(e){return(null==e?void 0:e.isHidden)||!1},ct=function(e){return e.enum.filter((function(t){return!e.inactive_enum.includes(t)}))},ut=function(e){return e.titleMap.filter((function(t){return!e.inactive_titleMap.includes(t.value)}))},st=function(e,t,r,n){var o,i,a,c,u=e.hasCheckboxes,s=e.hasDisabledChoices;if(Ye(t)&&r.schema.properties[t])r.schema.properties[t].isHidden=at(r.schema.properties[t]);else{if((Me(t)||De(t))&&t.key&&r.schema.properties[t.key]&&(r.schema.properties[t.key].isHidden=at(r.schema.properties[t.key])),s&&function(e){var t,r;return Me(e)&&e.type===Ae&&(null===(t=e.inactive_titleMap)||void 0===t?void 0:t.length)>0&&(null===(r=e.titleMap)||void 0===r?void 0:r.length)>0}(t))if(n){var p=r.definition.indexOf(n),l=r.definition[p].items.indexOf(t);r.definition[p].items[l].titleMap=ut(t)}else r.definition[r.definition.indexOf(t)].titleMap=ut(t);u&&ke(t)&&(r.schema.properties[t.key]=(o=t,i=r.schema.properties[t.key].title||"",a=r.schema.properties[t.key].required||!1,c=r.schema.properties[t.key].default||!1,Ze(Ze(Ze({type:"array",uniqueItems:!0,isHidden:!1},a&&{required:a}),{title:i||o.title,items:{enum:o.titleMap.map((function(e){return e.value})),enumNames:o.titleMap.map((function(e){return e.name}))}}),c&&{default:c})))}},pt=function(e){var t;e=function(e){if(null!==e.match(tt))throw Error("Special characters not supported in JSON Schema");return(e=(e=(e=(e=(e=e.replace(/([“”])/g,'"')).replace(new RegExp('\\"enum\\"\\n*\\s*\\:\\n*\\s*\\[\\n*\\s*\\]',"g"),'"enum": ["0"]')).replace(new RegExp('\\"enumNames\\"\\n*\\s*\\:\\n*\\s*\\{\\n*\\s*\\}',"g"),'"enumNames": {"0":"No Options"}')).replace(new RegExp('\\"titleMap\\"\\n*\\s*\\:\\n*\\s*\\[\\n*\\s*\\]',"g"),'"titleMap": [{"value":"no_option", "name":"No Option"}]')).replace(rt,(function(e){return e.replace(ot,"")}))).replace(nt,(function(e){return e.replace(ot,"")}))}(e);var r=JSON.parse(e);delete r.schema.$schema,delete r.schema.id,function(e){if(e.schema.definition){var t=e.schema.definition;delete e.schema.definition,e.definition=t}}(r);var n=function(e){return{hasCheckboxes:Be(e),hasInactiveChoices:Re(e),hasDisabledChoices:Xe(e),hasEnums:Ve(e)}}(e);if(function(e){He(e,(function(e){"object"===e.type&&e.properties&&Object.entries(e.properties).forEach((function(e){var t=e[1];"number"===t.type&&(void 0!==t.default&&(t.default=Fe(t.default)),void 0!==t.minimum&&(t.minimum=Fe(t.minimum)),void 0!==t.maximum&&(t.maximum=Fe(t.maximum)))}))}))}(r.schema),function(e,t){var r=e.hasInactiveChoices,n=e.hasEnums;if(r)for(var o=0,i=Object.keys(t.schema.properties);o<i.length;o++){var a=i[o],c=t.schema.properties[a];Le(c)&&(t.schema.properties[a].enum=ct(c),ge(t.schema.properties[a].enum)&&(t.schema.properties[a].enum=["0"],t.schema.properties[a].enumNames={0:"No Options"}))}if(n)for(var u=0,s=Object.keys(t.schema.properties);u<s.length;u++)if(a=s[u],!ge(t.schema.properties[a].enum)&&Ce(t.schema.properties[a].enum))throw new Error("Duplicated enum items")}(n,r),function(e,t){var r;if(Ue(t.definition))!function(e,t){for(var r=0,n=t.definition;r<n.length;r++){var o=n[r];switch(!0){case Ye(o):break;case qe(o):var i=we(o.title);t.schema.properties[i]=it(o.title);break;case Pe(o):for(var a=0,c=o.items;a<c.length;a++){var u=c[a];st(e,u,t,o)}break;case ke(o):st(e,o,t)}}}(e,t);else if((null===(r=t.definition)||void 0===r?void 0:r.length)>0)for(var n=0,o=t.definition;n<o.length;n++){var i=o[n];st(e,i,t)}}(n,r),e.includes("helpvalue")&&function(e){for(var t={},r=0,n=0,o=e.definition;n<o.length;n++){var i=o[n];if(Ye(i))t[i]=e.schema.properties[i],delete e.schema.properties[i];else if(Me(i))if(i.helpvalue){var a="help_value_".concat(r);r+=1,t[a]=it((i.helpvalue||"").replace(/(<.+?>)/g,""))}else i.key&&(t[i.key]=e.schema.properties[i.key],delete e.schema.properties[i.key])}e.schema.properties=Object.assign(t,e.schema.properties)}(r),e.includes("required")){if((null===(t=r.schema.required)||void 0===t?void 0:t.length)>0&&Ce(r.schema.required))throw new Error("Duplicated required properties");r.schema=function(e){var t=Array.isArray(e.required)?et([],e.required,!0):null;return He(e,(function(e,r){if("object"===e.type&&e.properties){var n=[];if(Object.entries(e.properties).forEach((function(e){var t=e[0],r=e[1];(function(e){return"true"===e.required||e.required>0})(r)&&(n.push(t),delete r.required)})),ge(n))r.length>0&&e.required&&delete e.required;else if(0===r.length&&t){var o=et(et([],t,!0),n,!0);e.required=Array.from(new Set(o))}else e.required=n}})),e}(r.schema)}return r},lt=function(e){var t=Array.isArray(e)?e:[e];if(1===t.length){var r=t[0];return{anyOf:[{allOf:[{contains:{const:r}}],type:"array"},{required:[r],type:"object"},{pattern:r,type:"string"}]}}return{anyOf:[{allOf:t.map((function(e){return{contains:{const:e}}})),type:"array"},{required:t,type:"object"},{const:null,type:"string"}]}},ft=function(e){var t,r,n,o;return{anyOf:[{not:{required:[e]}},{properties:(t={},t[e]={maxItems:0,type:"array"},t),required:[e]},{properties:(r={},r[e]={type:"null"},r),required:[e]},{properties:(n={},n[e]={maxProperties:0,type:"object"},n),required:[e]},{properties:(o={},o[e]={maxLength:0,type:"string"},o),required:[e]}]}},dt=function(e){var t=Array.isArray(e)?e:[e],r=1===t.length,n={allOf:t.map((function(e){return{contains:{const:e}}})),maxItems:t.length,type:"array"},o=null;if(r){var i=t[0].toLowerCase();"true"===i?o=!0:"false"===i&&(o=!1)}var a=null!==o?{const:o,type:"boolean"}:{const:null,type:"boolean"},c=null;if(r){var u=Number(t[0]);isNaN(u)||""===t[0]||(c=u)}var s=null!==c?{const:c,type:"number"}:{const:null,type:"number"},p={};return t.forEach((function(e){p[e]={}})),{anyOf:[n,a,s,{properties:p,required:t,type:"object",unevaluatedProperties:!1},r?{const:t[0],type:"string"}:{const:null,type:"string"}]}},mt=function(e){var t=Array.isArray(e)?e:[e];return{anyOf:[{items:{enum:t},minItems:1,type:"array"},{minProperties:1,propertyNames:{enum:t},type:"object"},{enum:t,type:"string"}]}},yt=function(e){var t=Array.isArray(e)?e:[e];return{anyOf:[{allOf:[{minItems:1,type:"array"},{not:{items:{enum:t},type:"array"}}]},{allOf:[{minProperties:1,type:"object"},{not:{propertyNames:{enum:t},type:"object"}}]},{not:{enum:t},type:"string"}]}},ht=["CONTAINS","DOES_NOT_HAVE_INPUT","HAS_INPUT","INPUT_IS_EXACTLY","IS_CONTAINED_BY","IS_EMPTY","IS_EXACTLY","IS_NOT_CONTAINED_BY","IS_NOT_EMPTY"],vt=function(e){switch(e.operator){case"CONTAINS":if(void 0===e.value||null===e.value)throw new Error("CONTAINS operator requires a value for condition '".concat(e.id,"'"));return lt(e.value);case"DOES_NOT_HAVE_INPUT":return{not:{allOf:[{not:{type:"null"}},{anyOf:[{type:"array",minItems:1},{type:"boolean"},{type:"number"},{type:"object",minProperties:1},{type:"string",minLength:1}]}]}};case"HAS_INPUT":case"IS_NOT_EMPTY":return{allOf:[{not:{type:"null"}},{anyOf:[{type:"array",minItems:1},{type:"boolean"},{type:"number"},{type:"object",minProperties:1},{type:"string",minLength:1}]}]};case"IS_EMPTY":return ft(e.field);case"INPUT_IS_EXACTLY":if(void 0===e.value)throw new Error("INPUT_IS_EXACTLY operator requires a value for condition '".concat(e.id,"'"));return function(e){if(null===e)return{type:"null"};if("boolean"==typeof e)return{const:e};if("number"==typeof e)return{enum:[e,String(e)]};var t=Number(e);return isNaN(t)||""===e?{const:e}:{enum:[t,e]}}(e.value);case"IS_EXACTLY":if(void 0===e.value||null===e.value)throw new Error("IS_EXACTLY operator requires a value for condition '".concat(e.id,"'"));return dt(e.value);case"IS_CONTAINED_BY":if(void 0===e.value||null===e.value)throw new Error("IS_CONTAINED_BY operator requires a value for condition '".concat(e.id,"'"));return mt(e.value);case"IS_NOT_CONTAINED_BY":if(void 0===e.value||null===e.value)throw new Error("IS_NOT_CONTAINED_BY operator requires a value for condition '".concat(e.id,"'"));return yt(e.value);default:throw new Error("Unknown operator '".concat(e.operator,"' in condition '").concat(e.id,"'"))}},bt=function(e){var t;if("IS_EMPTY"===e.operator)return ft(e.field);var r=vt(e);return{properties:(t={},t[e.field]=r,t),required:[e.field]}},Ot=function(e){if(0===e.length)throw new Error("At least one condition is required");if(1===e.length){var t=e[0];return"IS_EMPTY"===t.operator?{scope:"#",schema:ft(t.field)}:{scope:"#/properties/".concat(t.field),schema:vt(t)}}var r=e.map((function(e){return bt(e)}));return{scope:"#",schema:{allOf:r}}},gt=function(e){return{effect:"SHOW",condition:Ot(e)}},jt=function(e,t){for(var r=["CONTAINS","IS_EXACTLY","IS_CONTAINED_BY","IS_NOT_CONTAINED_BY"],n=0,o=e;n<o.length;n++){var i=o[n];if(!ht.includes(i.operator))throw new Error("Invalid operator '".concat(i.operator,"'"));if(!t.includes(i.field))throw new Error("Unknown field '".concat(i.field,"'"));if(r.includes(i.operator)&&(void 0===i.value||null===i.value))throw new Error("".concat(i.operator," operator requires a value"));if("INPUT_IS_EXACTLY"===i.operator&&void 0===i.value)throw new Error("INPUT_IS_EXACTLY operator requires a value")}},Et=function(e){return!e.deprecated},It=function(e,t,r,n,o){var i,a={type:"Control",scope:"#/properties/".concat(e),label:t.title,options:{}};switch(o&&(a.options.conditionallyRequired=!0),r.type){case"TEXT":"LONG_TEXT"===r.inputType&&(a.options.multi=!0),r.placeholder&&(a.options.placeholder=r.placeholder);break;case"NUMERIC":a.options.format="number",r.placeholder&&(a.options.placeholder=r.placeholder);break;case"DATE_TIME":a.options.format=t.format||"date-time",a.options.display=t.format||"date-time";break;case"CHOICE_LIST":"array"===t.type?(a.options.multi=!0,"DROPDOWN"===r.inputType?a.options.format="dropdown":"LIST"===r.inputType&&(a.options.format="checkbox")):"DROPDOWN"===r.inputType?a.options.format="dropdown":"LIST"===r.inputType&&(a.options.format="radio"),r.placeholder&&(a.options.placeholder=r.placeholder);break;case"LOCATION":a.options.format="location",a.options.display="map";break;case"COLLECTION":a.options.format="array",a.options.addButtonText=r.buttonText||"Add Item",r.itemIdentifier&&(a.options.itemIdentifier=r.itemIdentifier),void 0!==t.maxItems&&(a.options.maxItems=t.maxItems),void 0!==t.minItems&&(a.options.minItems=t.minItems),"array"===t.type&&(null===(i=t.items)||void 0===i?void 0:i.properties)&&n&&(a.options.detail=Nt(t,r,n));break;case"ATTACHMENT":a.options.format="file",r.allowableFileTypes&&(a.options.accept=r.allowableFileTypes.join(","))}return t.description&&(a.options.description=t.description),a},Tt=function(e,t){return{type:"Label",text:t.label,options:{size:t.size}}},St=function(e){var t={},r=e.json.allOf;return Array.isArray(r)?(r.forEach((function(r){var n;(null===(n=r.then)||void 0===n?void 0:n.properties)&&Object.entries(r.then.properties).forEach((function(r){var n=r[0],o=r[1];e.json.properties[n]||(t[n]=o)}))})),t):t},At=function(e){var t=new Set,r=e.json.allOf;return Array.isArray(r)?(r.forEach((function(e){var r;(null===(r=e.then)||void 0===r?void 0:r.required)&&Array.isArray(e.then.required)&&e.then.required.forEach((function(e){t.add(e)}))})),t):t},Nt=function(e,t,r){var n;if("array"!==e.type||!(null===(n=e.items)||void 0===n?void 0:n.properties))throw new Error("Collection property must be an array with item properties");var o=e.items.properties,i=[],a=function(e,t){var n=r.ui.fields[e];if(n)return It(e,t,n,r);var o={type:"Control",scope:"#/properties/".concat(e),label:t.title||e,options:{}};switch(t.type){case"string":"uri"===t.format&&(o.options.format="file",o.options.accept="image/*");break;case"number":o.options.format="number"}return t.description&&(o.options.description=t.description),o};return t&&(t.leftColumn||t.rightColumn)?(t.leftColumn&&t.leftColumn.forEach((function(e){o[e]&&i.push(a(e,o[e]))})),t.rightColumn&&t.rightColumn.forEach((function(e){o[e]&&i.push(a(e,o[e]))}))):Object.entries(o).forEach((function(e){var t=e[0],r=e[1];i.push(a(t,r))})),{type:"VerticalLayout",elements:i}},_t=function(e,t,r){if(r||2===arguments.length)for(var n,o=0,i=t.length;o<i;o++)!n&&o in t||(n||(n=Array.prototype.slice.call(t,0,o)),n[o]=t[o]);return e.concat(n||Array.prototype.slice.call(t))},wt=function(e){!function(e){var t=[],r=["TEXT","NUMERIC","DATE_TIME","CHOICE_LIST","LOCATION","COLLECTION","ATTACHMENT"];Object.entries(e.json.properties).forEach((function(n){var o,i=n[0],a=n[1],c=e.ui.fields[i];if(c||!a.deprecated)if(c)if(r.includes(c.type)){if("CHOICE_LIST"===c.type){var u=!1;"array"===a.type&&(null===(o=a.items)||void 0===o?void 0:o.anyOf)?u=a.items.anyOf.some((function(e){return e.oneOf&&Array.isArray(e.oneOf)})):a.anyOf&&(u=a.anyOf.some((function(e){return e.oneOf&&Array.isArray(e.oneOf)}))),u||t.push("".concat(i,": CHOICE_LIST field requires embedded oneOf arrays - $ref not supported"))}}else t.push("".concat(i,": unsupported field type '").concat(c.type,"'"));else t.push("".concat(i,": missing UI field definition"))}));var n=St(e),o=_t(_t([],Object.keys(e.json.properties),!0),Object.keys(n),!0);if(Object.entries(e.ui.sections).forEach((function(e){var r=e[0],n=e[1];if(n.conditions&&n.conditions.length>0)try{jt(n.conditions,o)}catch(e){t.push("Section '".concat(r,"': ").concat(e.message))}})),t.length>0)throw new Error("Invalid V2 schema structure: ".concat(t.join(", ")))}(e);var t,r,n,o=function(e){var t=[];Object.entries(e.json.properties).forEach((function(r){var n=r[0],o=r[1],i=e.ui.fields[n];Et(o)&&i&&t.push({name:n,property:o,uiField:i})}));var r=St(e);return Object.entries(r).forEach((function(r){var n=r[0],o=r[1],i=e.ui.fields[n];Et(o)&&i&&t.push({name:n,property:o,uiField:i})})),t}(e),i=(t=o,r=e.ui.sections,n={},t.forEach((function(e){var t=e.uiField.parent;r[t]&&(n[t]||(n[t]=[]),n[t].push(e))})),n),a=At(e),c=[];return e.ui.order.forEach((function(t){var r=e.ui.sections[t],n=i[t]||[],o=n.length>0,u=_t(_t([],r.leftColumn,!0),r.rightColumn,!0).some((function(t){return"header"===t.type&&e.ui.headers[t.name]}));if((null==r?void 0:r.isActive)&&(o||u)){var s=function(e,t,r,n){var o={type:"VerticalLayout",label:t.label,elements:[]},i=[];return t.leftColumn.forEach((function(e){if("field"===e.type){var t=r.find((function(t){return t.scope==="#/properties/".concat(e.name)}));t&&i.push(t)}else if("header"===e.type){var o=n[e.name];if(o){var a=Tt(e.name,o);i.push(a)}}})),t.rightColumn.forEach((function(e){if("field"===e.type){var t=r.find((function(t){return t.scope==="#/properties/".concat(e.name)}));t&&i.push(t)}else if("header"===e.type){var o=n[e.name];if(o){var a=Tt(e.name,o);i.push(a)}}})),o.elements=i,t.conditions&&t.conditions.length>0&&(o.rule=gt(t.conditions)),o}(0,r,n.map((function(t){var r=t.name,n=t.property,o=t.uiField;return It(r,n,o,e,a.has(r))})),e.ui.headers);c.push(s)}})),{type:"VerticalLayout",elements:c}},Ct=function(e){try{var t=JSON.parse(e),r=t.data||t;return r.json&&r.ui?{version:"v2",data:r}:(r.schema&&r.definition||r.schema&&r.ui,{version:"v1",data:r})}catch(e){throw new Error("Invalid JSON schema: ".concat(e instanceof Error?e.message:"Unknown error"))}},kt=function(e){var t=Ct(e),r=t.version,n=t.data;return{version:r,processedData:JSON.stringify(n)}};module.exports=t})();
@@ -86,12 +86,12 @@ export interface V2Header {
86
86
  section: string;
87
87
  size: 'LARGE' | 'MEDIUM' | 'SMALL';
88
88
  }
89
- export type V2ConditionOperator = 'CONTAINS' | 'DOES_NOT_HAVE_INPUT' | 'HAS_INPUT' | 'INPUT_IS_EXACTLY';
89
+ export type V2ConditionOperator = 'CONTAINS' | 'DOES_NOT_HAVE_INPUT' | 'HAS_INPUT' | 'INPUT_IS_EXACTLY' | 'IS_CONTAINED_BY' | 'IS_EMPTY' | 'IS_EXACTLY' | 'IS_NOT_CONTAINED_BY' | 'IS_NOT_EMPTY';
90
90
  export interface V2Condition {
91
91
  field: string;
92
92
  id: string;
93
93
  operator: V2ConditionOperator;
94
- value?: string | number | boolean | null;
94
+ value?: string | string[] | number | boolean | null;
95
95
  }
96
96
  export interface V2Section {
97
97
  columns: 1 | 2;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/common/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/common/types.ts"],"names":[],"mappings":"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"}
@@ -1,46 +1,75 @@
1
1
  import { V2Condition, JSONFormsRule, JSONFormsSchemaBasedCondition } from '../common/types';
2
2
  /**
3
3
  * Builds a JSON Schema for the CONTAINS operator.
4
- * Matches strings that contain the specified value as a substring.
4
+ * Handles array, object, and string field types via anyOf.
5
+ * When value is an array, all values must be contained; the string branch
6
+ * becomes unsatisfiable (const: null) since a string can't contain multiple
7
+ * independent required values simultaneously.
5
8
  */
6
- export declare const buildContainsSchema: (value: string) => Record<string, unknown>;
9
+ export declare const buildContainsSchema: (value: string | string[]) => Record<string, unknown>;
7
10
  /**
8
- * Builds a JSON Schema for the DOES_NOT_HAVE_INPUT operator.
11
+ * Builds a JSON Schema for the IS_EMPTY operator.
12
+ * Returns a root-level schema (not field-scoped) because it must check for
13
+ * field absence using `not: { required: [fieldName] }`.
9
14
  */
10
- export declare const buildDoesNotHaveInputSchema: () => Record<string, unknown>;
15
+ export declare const buildIsEmptySchema: (fieldName: string) => Record<string, unknown>;
11
16
  /**
12
- * Builds a JSON Schema for the HAS_INPUT operator.
13
- * Matches when the field has meaningful input (non-null, non-empty).
17
+ * Builds a JSON Schema for the IS_NOT_EMPTY / HAS_INPUT operator.
18
+ * Matches when the field is present and has a meaningful (non-null, non-empty) value.
14
19
  */
15
20
  export declare const buildHasInputSchema: () => Record<string, unknown>;
16
21
  /**
17
- * Builds a JSON Schema for the INPUT_IS_EXACTLY operator.
22
+ * Builds a JSON Schema for the DOES_NOT_HAVE_INPUT operator (legacy).
23
+ */
24
+ export declare const buildDoesNotHaveInputSchema: () => Record<string, unknown>;
25
+ /**
26
+ * Builds a JSON Schema for the IS_EXACTLY operator.
27
+ * Handles array, boolean, number, object, and string field types via anyOf.
28
+ * When value is an array, non-array/object branches become unsatisfiable (const: null).
29
+ * When value is a single string parseable as boolean/number, those branches use the parsed value.
30
+ */
31
+ export declare const buildIsExactlySchema: (value: string | string[]) => Record<string, unknown>;
32
+ /**
33
+ * Builds a JSON Schema for the INPUT_IS_EXACTLY operator (legacy).
18
34
  * Matches when the field value equals the specified value exactly.
19
- * Uses `enum` for simple matching without type constraints.
20
35
  */
21
36
  export declare const buildInputIsExactlySchema: (value: string | number | boolean | null) => Record<string, unknown>;
22
37
  /**
23
- * Gets the operator schema for a condition (without field wrapper).
24
- * Used internally by buildConditionSchema and buildSchemaBasedCondition.
38
+ * Builds a JSON Schema for the IS_CONTAINED_BY operator.
39
+ * The condition is fulfilled when all elements of the field are included
40
+ * within the specified set of values.
41
+ */
42
+ export declare const buildIsContainedBySchema: (value: string | string[]) => Record<string, unknown>;
43
+ /**
44
+ * Builds a JSON Schema for the IS_NOT_CONTAINED_BY operator.
45
+ * The condition is fulfilled when at least one element of the field is not
46
+ * included within the specified set of values.
47
+ */
48
+ export declare const buildIsNotContainedBySchema: (value: string | string[]) => Record<string, unknown>;
49
+ /**
50
+ * Gets the operator schema for a condition.
51
+ * Note: IS_EMPTY is root-scoped; callers that need field-scoped wrapping
52
+ * should use buildConditionSchema instead.
25
53
  */
26
54
  export declare const getOperatorSchema: (condition: V2Condition) => Record<string, unknown>;
27
55
  /**
28
- * Builds a JSON Schema for a single condition based on its operator.
29
- * Wraps the operator schema in a properties structure for root scope validation.
56
+ * Builds a root-scoped JSON Schema for a single condition.
57
+ * IS_EMPTY contributes its root-level anyOf directly; all other operators
58
+ * are wrapped in a properties/required structure.
30
59
  */
31
60
  export declare const buildConditionSchema: (condition: V2Condition) => Record<string, unknown>;
32
61
  /**
33
62
  * Builds a JSONForms schema-based condition from one or more V2 conditions.
34
63
  *
35
- * For single conditions: Uses field-specific scope (e.g., "#/properties/fieldName")
36
- * which is the standard JSONForms pattern and most reliable across implementations.
64
+ * Single condition:
65
+ * - IS_EMPTY root scope "#" (must check for field absence at object level)
66
+ * - All others → field scope "#/properties/fieldName"
37
67
  *
38
- * For multiple conditions: Uses root scope "#" with allOf combining property schemas.
68
+ * Multiple conditions: root scope "#" with allOf combining all condition schemas.
39
69
  */
40
70
  export declare const buildSchemaBasedCondition: (conditions: V2Condition[]) => JSONFormsSchemaBasedCondition;
41
71
  /**
42
72
  * Creates a complete JSONForms rule for a section with the given conditions.
43
- * Uses SHOW effect by default.
44
73
  */
45
74
  export declare const createSectionRule: (conditions: V2Condition[]) => JSONFormsRule;
46
75
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"conditions.d.ts","sourceRoot":"","sources":["../../src/v2/conditions.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAEX,aAAa,EACb,6BAA6B,EAC9B,MAAM,iBAAiB,CAAC;AAEzB;;;GAGG;AACH,eAAO,MAAM,mBAAmB,UAAW,MAAM,KAAG,OAAO,MAAM,EAAE,OAAO,CAKzE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,2BAA2B,QAAO,OAAO,MAAM,EAAE,OAAO,CAIpE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,QAAO,OAAO,MAAM,EAAE,OAAO,CAe5D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,UAC7B,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,KACtC,OAAO,MAAM,EAAE,OAAO,CAiBxB,CAAC;AASF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,cACjB,WAAW,KACrB,OAAO,MAAM,EAAE,OAAO,CA6BxB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,cACpB,WAAW,KACrB,OAAO,MAAM,EAAE,OAAO,CAUxB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,eACxB,WAAW,EAAE,KACxB,6BAyBF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,eAAgB,WAAW,EAAE,KAAG,aAK7D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,eACjB,WAAW,EAAE,cACb,MAAM,EAAE,KACnB,IA2BF,CAAC"}
1
+ {"version":3,"file":"conditions.d.ts","sourceRoot":"","sources":["../../src/v2/conditions.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAEX,aAAa,EACb,6BAA6B,EAC9B,MAAM,iBAAiB,CAAC;AAEzB;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,UAAW,MAAM,GAAG,MAAM,EAAE,KAAG,OAAO,MAAM,EAAE,OAAO,CAwCpF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,cAAe,MAAM,KAAG,OAAO,MAAM,EAAE,OAAO,CAsB5E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,QAAO,OAAO,MAAM,EAAE,OAAO,CAe5D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,2BAA2B,QAAO,OAAO,MAAM,EAAE,OAAO,CAIpE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,UAAW,MAAM,GAAG,MAAM,EAAE,KAAG,OAAO,MAAM,EAAE,OAAO,CAqDrF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,UAC7B,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,KACtC,OAAO,MAAM,EAAE,OAAO,CAexB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,UAAW,MAAM,GAAG,MAAM,EAAE,KAAG,OAAO,MAAM,EAAE,OAAO,CASzF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,UAC/B,MAAM,GAAG,MAAM,EAAE,KACvB,OAAO,MAAM,EAAE,OAAO,CAmBxB,CAAC;AAcF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,cACjB,WAAW,KACrB,OAAO,MAAM,EAAE,OAAO,CAyDxB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,cACpB,WAAW,KACrB,OAAO,MAAM,EAAE,OAAO,CAYxB,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,eACxB,WAAW,EAAE,KACxB,6BA8BF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,eAAgB,WAAW,EAAE,KAAG,aAK7D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,eACjB,WAAW,EAAE,cACb,MAAM,EAAE,KACnB,IA+BF,CAAC"}
@@ -1,24 +1,81 @@
1
1
  /**
2
2
  * Builds a JSON Schema for the CONTAINS operator.
3
- * Matches strings that contain the specified value as a substring.
3
+ * Handles array, object, and string field types via anyOf.
4
+ * When value is an array, all values must be contained; the string branch
5
+ * becomes unsatisfiable (const: null) since a string can't contain multiple
6
+ * independent required values simultaneously.
4
7
  */
5
8
  export var buildContainsSchema = function (value) {
9
+ var values = Array.isArray(value) ? value : [value];
10
+ if (values.length === 1) {
11
+ var v = values[0];
12
+ return {
13
+ anyOf: [
14
+ {
15
+ allOf: [{ contains: { const: v } }],
16
+ type: 'array',
17
+ },
18
+ {
19
+ required: [v],
20
+ type: 'object',
21
+ },
22
+ {
23
+ pattern: v,
24
+ type: 'string',
25
+ },
26
+ ],
27
+ };
28
+ }
6
29
  return {
7
- pattern: value,
8
- type: 'string',
30
+ anyOf: [
31
+ {
32
+ allOf: values.map(function (v) { return ({ contains: { const: v } }); }),
33
+ type: 'array',
34
+ },
35
+ {
36
+ required: values,
37
+ type: 'object',
38
+ },
39
+ {
40
+ // Impossible branch: a string cannot satisfy multiple simultaneous contains requirements
41
+ const: null,
42
+ type: 'string',
43
+ },
44
+ ],
9
45
  };
10
46
  };
11
47
  /**
12
- * Builds a JSON Schema for the DOES_NOT_HAVE_INPUT operator.
48
+ * Builds a JSON Schema for the IS_EMPTY operator.
49
+ * Returns a root-level schema (not field-scoped) because it must check for
50
+ * field absence using `not: { required: [fieldName] }`.
13
51
  */
14
- export var buildDoesNotHaveInputSchema = function () {
52
+ export var buildIsEmptySchema = function (fieldName) {
53
+ var _a, _b, _c, _d;
15
54
  return {
16
- not: buildHasInputSchema(),
55
+ anyOf: [
56
+ { not: { required: [fieldName] } },
57
+ {
58
+ properties: (_a = {}, _a[fieldName] = { maxItems: 0, type: 'array' }, _a),
59
+ required: [fieldName],
60
+ },
61
+ {
62
+ properties: (_b = {}, _b[fieldName] = { type: 'null' }, _b),
63
+ required: [fieldName],
64
+ },
65
+ {
66
+ properties: (_c = {}, _c[fieldName] = { maxProperties: 0, type: 'object' }, _c),
67
+ required: [fieldName],
68
+ },
69
+ {
70
+ properties: (_d = {}, _d[fieldName] = { maxLength: 0, type: 'string' }, _d),
71
+ required: [fieldName],
72
+ },
73
+ ],
17
74
  };
18
75
  };
19
76
  /**
20
- * Builds a JSON Schema for the HAS_INPUT operator.
21
- * Matches when the field has meaningful input (non-null, non-empty).
77
+ * Builds a JSON Schema for the IS_NOT_EMPTY / HAS_INPUT operator.
78
+ * Matches when the field is present and has a meaningful (non-null, non-empty) value.
22
79
  */
23
80
  export var buildHasInputSchema = function () {
24
81
  return {
@@ -37,9 +94,71 @@ export var buildHasInputSchema = function () {
37
94
  };
38
95
  };
39
96
  /**
40
- * Builds a JSON Schema for the INPUT_IS_EXACTLY operator.
97
+ * Builds a JSON Schema for the DOES_NOT_HAVE_INPUT operator (legacy).
98
+ */
99
+ export var buildDoesNotHaveInputSchema = function () {
100
+ return {
101
+ not: buildHasInputSchema(),
102
+ };
103
+ };
104
+ /**
105
+ * Builds a JSON Schema for the IS_EXACTLY operator.
106
+ * Handles array, boolean, number, object, and string field types via anyOf.
107
+ * When value is an array, non-array/object branches become unsatisfiable (const: null).
108
+ * When value is a single string parseable as boolean/number, those branches use the parsed value.
109
+ */
110
+ export var buildIsExactlySchema = function (value) {
111
+ var values = Array.isArray(value) ? value : [value];
112
+ var isSingle = values.length === 1;
113
+ var arrayBranch = {
114
+ allOf: values.map(function (v) { return ({ contains: { const: v } }); }),
115
+ maxItems: values.length,
116
+ type: 'array',
117
+ };
118
+ // Boolean branch — meaningful only for single value parseable as boolean
119
+ var booleanConst = null;
120
+ if (isSingle) {
121
+ var lower = values[0].toLowerCase();
122
+ if (lower === 'true')
123
+ booleanConst = true;
124
+ else if (lower === 'false')
125
+ booleanConst = false;
126
+ }
127
+ var booleanBranch = booleanConst !== null
128
+ ? { const: booleanConst, type: 'boolean' }
129
+ : { const: null, type: 'boolean' };
130
+ // Number branch — meaningful only for single value parseable as number
131
+ var numberConst = null;
132
+ if (isSingle) {
133
+ var parsed = Number(values[0]);
134
+ if (!isNaN(parsed) && values[0] !== '')
135
+ numberConst = parsed;
136
+ }
137
+ var numberBranch = numberConst !== null
138
+ ? { const: numberConst, type: 'number' }
139
+ : { const: null, type: 'number' };
140
+ // Object branch — all values become required property keys
141
+ var objectProperties = {};
142
+ values.forEach(function (v) {
143
+ objectProperties[v] = {};
144
+ });
145
+ var objectBranch = {
146
+ properties: objectProperties,
147
+ required: values,
148
+ type: 'object',
149
+ unevaluatedProperties: false,
150
+ };
151
+ // String branch — meaningful only for single value
152
+ var stringBranch = isSingle
153
+ ? { const: values[0], type: 'string' }
154
+ : { const: null, type: 'string' };
155
+ return {
156
+ anyOf: [arrayBranch, booleanBranch, numberBranch, objectBranch, stringBranch],
157
+ };
158
+ };
159
+ /**
160
+ * Builds a JSON Schema for the INPUT_IS_EXACTLY operator (legacy).
41
161
  * Matches when the field value equals the specified value exactly.
42
- * Uses `enum` for simple matching without type constraints.
43
162
  */
44
163
  export var buildInputIsExactlySchema = function (value) {
45
164
  if (value === null) {
@@ -49,25 +168,69 @@ export var buildInputIsExactlySchema = function (value) {
49
168
  return { const: value };
50
169
  }
51
170
  if (typeof value === 'number') {
52
- // Allow both number and string representation
53
171
  return { enum: [value, String(value)] };
54
172
  }
55
- // String value - also allow numeric match if the string is a valid number
56
173
  var numValue = Number(value);
57
174
  if (!isNaN(numValue) && value !== '') {
58
175
  return { enum: [numValue, value] };
59
176
  }
60
177
  return { const: value };
61
178
  };
179
+ /**
180
+ * Builds a JSON Schema for the IS_CONTAINED_BY operator.
181
+ * The condition is fulfilled when all elements of the field are included
182
+ * within the specified set of values.
183
+ */
184
+ export var buildIsContainedBySchema = function (value) {
185
+ var values = Array.isArray(value) ? value : [value];
186
+ return {
187
+ anyOf: [
188
+ { items: { enum: values }, minItems: 1, type: 'array' },
189
+ { minProperties: 1, propertyNames: { enum: values }, type: 'object' },
190
+ { enum: values, type: 'string' },
191
+ ],
192
+ };
193
+ };
194
+ /**
195
+ * Builds a JSON Schema for the IS_NOT_CONTAINED_BY operator.
196
+ * The condition is fulfilled when at least one element of the field is not
197
+ * included within the specified set of values.
198
+ */
199
+ export var buildIsNotContainedBySchema = function (value) {
200
+ var values = Array.isArray(value) ? value : [value];
201
+ return {
202
+ anyOf: [
203
+ {
204
+ allOf: [
205
+ { minItems: 1, type: 'array' },
206
+ { not: { items: { enum: values }, type: 'array' } },
207
+ ],
208
+ },
209
+ {
210
+ allOf: [
211
+ { minProperties: 1, type: 'object' },
212
+ { not: { propertyNames: { enum: values }, type: 'object' } },
213
+ ],
214
+ },
215
+ { not: { enum: values }, type: 'string' },
216
+ ],
217
+ };
218
+ };
62
219
  var VALID_OPERATORS = [
63
220
  'CONTAINS',
64
221
  'DOES_NOT_HAVE_INPUT',
65
222
  'HAS_INPUT',
66
223
  'INPUT_IS_EXACTLY',
224
+ 'IS_CONTAINED_BY',
225
+ 'IS_EMPTY',
226
+ 'IS_EXACTLY',
227
+ 'IS_NOT_CONTAINED_BY',
228
+ 'IS_NOT_EMPTY',
67
229
  ];
68
230
  /**
69
- * Gets the operator schema for a condition (without field wrapper).
70
- * Used internally by buildConditionSchema and buildSchemaBasedCondition.
231
+ * Gets the operator schema for a condition.
232
+ * Note: IS_EMPTY is root-scoped; callers that need field-scoped wrapping
233
+ * should use buildConditionSchema instead.
71
234
  */
72
235
  export var getOperatorSchema = function (condition) {
73
236
  switch (condition.operator) {
@@ -75,28 +238,49 @@ export var getOperatorSchema = function (condition) {
75
238
  if (condition.value === undefined || condition.value === null) {
76
239
  throw new Error("CONTAINS operator requires a value for condition '".concat(condition.id, "'"));
77
240
  }
78
- return buildContainsSchema(String(condition.value));
241
+ return buildContainsSchema(condition.value);
79
242
  case 'DOES_NOT_HAVE_INPUT':
80
243
  return buildDoesNotHaveInputSchema();
81
244
  case 'HAS_INPUT':
245
+ case 'IS_NOT_EMPTY':
82
246
  return buildHasInputSchema();
247
+ case 'IS_EMPTY':
248
+ return buildIsEmptySchema(condition.field);
83
249
  case 'INPUT_IS_EXACTLY':
84
250
  if (condition.value === undefined) {
85
251
  throw new Error("INPUT_IS_EXACTLY operator requires a value for condition '".concat(condition.id, "'"));
86
252
  }
87
253
  return buildInputIsExactlySchema(condition.value);
254
+ case 'IS_EXACTLY':
255
+ if (condition.value === undefined || condition.value === null) {
256
+ throw new Error("IS_EXACTLY operator requires a value for condition '".concat(condition.id, "'"));
257
+ }
258
+ return buildIsExactlySchema(condition.value);
259
+ case 'IS_CONTAINED_BY':
260
+ if (condition.value === undefined || condition.value === null) {
261
+ throw new Error("IS_CONTAINED_BY operator requires a value for condition '".concat(condition.id, "'"));
262
+ }
263
+ return buildIsContainedBySchema(condition.value);
264
+ case 'IS_NOT_CONTAINED_BY':
265
+ if (condition.value === undefined || condition.value === null) {
266
+ throw new Error("IS_NOT_CONTAINED_BY operator requires a value for condition '".concat(condition.id, "'"));
267
+ }
268
+ return buildIsNotContainedBySchema(condition.value);
88
269
  default:
89
270
  throw new Error("Unknown operator '".concat(condition.operator, "' in condition '").concat(condition.id, "'"));
90
271
  }
91
272
  };
92
273
  /**
93
- * Builds a JSON Schema for a single condition based on its operator.
94
- * Wraps the operator schema in a properties structure for root scope validation.
274
+ * Builds a root-scoped JSON Schema for a single condition.
275
+ * IS_EMPTY contributes its root-level anyOf directly; all other operators
276
+ * are wrapped in a properties/required structure.
95
277
  */
96
278
  export var buildConditionSchema = function (condition) {
97
279
  var _a;
280
+ if (condition.operator === 'IS_EMPTY') {
281
+ return buildIsEmptySchema(condition.field);
282
+ }
98
283
  var operatorSchema = getOperatorSchema(condition);
99
- // Wrap in properties structure for the field (used with scope: "#")
100
284
  return {
101
285
  properties: (_a = {},
102
286
  _a[condition.field] = operatorSchema,
@@ -107,27 +291,31 @@ export var buildConditionSchema = function (condition) {
107
291
  /**
108
292
  * Builds a JSONForms schema-based condition from one or more V2 conditions.
109
293
  *
110
- * For single conditions: Uses field-specific scope (e.g., "#/properties/fieldName")
111
- * which is the standard JSONForms pattern and most reliable across implementations.
294
+ * Single condition:
295
+ * - IS_EMPTY root scope "#" (must check for field absence at object level)
296
+ * - All others → field scope "#/properties/fieldName"
112
297
  *
113
- * For multiple conditions: Uses root scope "#" with allOf combining property schemas.
298
+ * Multiple conditions: root scope "#" with allOf combining all condition schemas.
114
299
  */
115
300
  export var buildSchemaBasedCondition = function (conditions) {
116
301
  if (conditions.length === 0) {
117
302
  throw new Error('At least one condition is required');
118
303
  }
119
304
  if (conditions.length === 1) {
120
- // Single condition: use field-specific scope for better compatibility
121
305
  var condition = conditions[0];
306
+ if (condition.operator === 'IS_EMPTY') {
307
+ return {
308
+ scope: '#',
309
+ schema: buildIsEmptySchema(condition.field),
310
+ };
311
+ }
122
312
  return {
123
313
  scope: "#/properties/".concat(condition.field),
124
314
  schema: getOperatorSchema(condition),
125
315
  };
126
316
  }
127
- // Multiple conditions: use root scope with allOf
128
- var allOfSchemas = conditions.map(function (condition) {
129
- return buildConditionSchema(condition);
130
- });
317
+ // Multiple conditions: combine with allOf at root scope
318
+ var allOfSchemas = conditions.map(function (condition) { return buildConditionSchema(condition); });
131
319
  return {
132
320
  scope: '#',
133
321
  schema: {
@@ -137,7 +325,6 @@ export var buildSchemaBasedCondition = function (conditions) {
137
325
  };
138
326
  /**
139
327
  * Creates a complete JSONForms rule for a section with the given conditions.
140
- * Uses SHOW effect by default.
141
328
  */
142
329
  export var createSectionRule = function (conditions) {
143
330
  return {
@@ -150,20 +337,23 @@ export var createSectionRule = function (conditions) {
150
337
  * Throws an error if any condition is invalid.
151
338
  */
152
339
  export var validateConditions = function (conditions, fieldNames) {
340
+ var requiresValue = [
341
+ 'CONTAINS',
342
+ 'IS_EXACTLY',
343
+ 'IS_CONTAINED_BY',
344
+ 'IS_NOT_CONTAINED_BY',
345
+ ];
153
346
  for (var _i = 0, conditions_1 = conditions; _i < conditions_1.length; _i++) {
154
347
  var condition = conditions_1[_i];
155
- // Validate operator
156
348
  if (!VALID_OPERATORS.includes(condition.operator)) {
157
349
  throw new Error("Invalid operator '".concat(condition.operator, "'"));
158
350
  }
159
- // Validate field exists
160
351
  if (!fieldNames.includes(condition.field)) {
161
352
  throw new Error("Unknown field '".concat(condition.field, "'"));
162
353
  }
163
- // Validate required values
164
- if (condition.operator === 'CONTAINS' &&
354
+ if (requiresValue.includes(condition.operator) &&
165
355
  (condition.value === undefined || condition.value === null)) {
166
- throw new Error("CONTAINS operator requires a value");
356
+ throw new Error("".concat(condition.operator, " operator requires a value"));
167
357
  }
168
358
  if (condition.operator === 'INPUT_IS_EXACTLY' &&
169
359
  condition.value === undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"conditions.js","sourceRoot":"","sources":["../../src/v2/conditions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conditions.js","sourceRoot":"","sources":["../../src/v2/conditions.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export { generateUISchema } from './generateUISchema';
2
- export { buildConditionSchema, buildSchemaBasedCondition, createSectionRule, validateConditions } from './conditions';
2
+ export { buildConditionSchema, buildContainsSchema, buildIsContainedBySchema, buildIsEmptySchema, buildIsExactlySchema, buildIsNotContainedBySchema, buildSchemaBasedCondition, createSectionRule, validateConditions, } from './conditions';
3
3
  export { extractConditionalProperties, extractConditionalRequired } from './utils';
4
4
  export type { V2Schema, V2Property, V2UIField, V2Section, V2Header, V2Condition, V2ConditionOperator, JSONFormsUISchema, JSONFormsRule, JSONFormsRuleEffect, JSONFormsSchemaBasedCondition } from '../common/types';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/v2/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAGnF,YAAY,EACV,QAAQ,EACR,UAAU,EACV,SAAS,EACT,SAAS,EACT,QAAQ,EACR,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,6BAA6B,EAC9B,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/v2/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAClB,oBAAoB,EACpB,2BAA2B,EAC3B,yBAAyB,EACzB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAGnF,YAAY,EACV,QAAQ,EACR,UAAU,EACV,SAAS,EACT,SAAS,EACT,QAAQ,EACR,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,6BAA6B,EAC9B,MAAM,iBAAiB,CAAC"}
package/dist/v2/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // V2 API exports - new JSONForms v2 schema format
2
2
  export { generateUISchema } from './generateUISchema';
3
3
  // Condition utilities
4
- export { buildConditionSchema, buildSchemaBasedCondition, createSectionRule, validateConditions } from './conditions';
4
+ export { buildConditionSchema, buildContainsSchema, buildIsContainedBySchema, buildIsEmptySchema, buildIsExactlySchema, buildIsNotContainedBySchema, buildSchemaBasedCondition, createSectionRule, validateConditions, } from './conditions';
5
5
  // Schema utilities
6
6
  export { extractConditionalProperties, extractConditionalRequired } from './utils';
7
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/v2/index.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,sBAAsB;AACtB,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,cAAc,CAAC;AAEtB,mBAAmB;AACnB,OAAO,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/v2/index.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,sBAAsB;AACtB,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAClB,oBAAoB,EACpB,2BAA2B,EAC3B,yBAAyB,EACzB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAEtB,mBAAmB;AACnB,OAAO,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@earthranger/react-native-jsonforms-formatter",
3
- "version": "2.0.0-beta.23",
3
+ "version": "2.0.0-beta.24",
4
4
  "description": "Converts JTD into JSON Schema ",
5
5
  "main": "./dist/bundle.js",
6
6
  "types": "./dist/index.d.ts",