@siliconst/metaui 1.4.37 → 1.4.44

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.
@@ -1 +1 @@
1
- {"version":3,"file":"ISchema.d.ts","sourceRoot":"../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ISchema.d.ts","sourceRoot":"../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.ts"],"names":[],"mappings":"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"}
@@ -92,7 +92,7 @@ export interface IPropertyMetadata {
92
92
  ui?: IUIDirective;
93
93
 
94
94
  // Standard validations
95
- required?: boolean;
95
+ required?: boolean | string[];
96
96
  maxLength?: number;
97
97
  minLength?: number;
98
98
  minimum?: number;
@@ -153,5 +153,6 @@ export interface ISchema {
153
153
  items?: IPropertyMetadata;
154
154
  uiLayout?: ILayoutElement[];
155
155
  additionalProperties?: boolean;
156
+ required?: string[];
156
157
  definitions?: Record<string, ISchema>;
157
158
  }
@@ -23,7 +23,7 @@ sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/LayoutMutator", ["./SchemaNorm
23
23
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/LayoutScorer", ["./PluginRegistry","../utils/Logger","../constants/MetaUIConstants"],function(e,t,r){"use strict";const i=e["PluginRegistry"];const o=t["Logger"];const s=r["RENDER_MODE"];const n=r["SCHEMA_TYPE"];const u=r["OPENAPI_PREFIX"];const d=r["WIDGET_TYPE"];class c{static apply(e,t,r){if(!e||t<=0)return;const i=new WeakSet;const o=new Set;if(e.properties){for(const s in e.properties){const u=e.properties[s];if(u.type===n.OBJECT||u.type===n.ARRAY||u.$ref){this._scoreNode(u,t,i,o,s,r)}}}}static _scoreNode(e,t,r,c,a,g){if(!e||typeof e!==n.OBJECT)return 0;if(r.has(e)){o.warn(`[MetaUI LayoutScorer] Circular reference detected at '${a}'. Forcing dialog mode to prevent crash.`,"","LayoutScorer");e.ui=e.ui||{};e.ui.renderMode=s.DIALOG;e.ui.layoutBudget=t;return 1}r.add(e);if(e.$ref&&g){let i=e.$ref;if(i.startsWith(u.DEFINITIONS))i=i.substring(u.DEFINITIONS.length);else if(i.startsWith(u.COMPONENTS_SCHEMAS))i=i.substring(u.COMPONENTS_SCHEMAS.length);if(c.has(i)){o.warn(`[MetaUI LayoutScorer] Circular OpenAPI $ref detected at '${a}' for '${i}'. Forcing dialog mode to prevent crash.`,"","LayoutScorer");e.ui=e.ui||{};e.ui.renderMode=s.DIALOG;return 1}const n=g[i];if(n){c.add(i);const o=JSON.parse(JSON.stringify(n));const u=this._scoreNode(o,t,r,c,a,g);c.delete(i);e.ui=e.ui||{};e.ui.layoutBudget=t;if(u<=t){Object.assign(e,o);delete e.$ref;if(e.ui?.widget===d.REFERENCE)delete e.ui.widget;e.ui.renderMode=s.INLINE;r.delete(e);return u}else{e.ui.renderMode=s.DIALOG;r.delete(e);return 1}}}if(e.type===n.ARRAY){let o=i.getInstance().getPluginScore(n.ARRAY,e.ui?.widget);if(e.items){const i=e.items;if(i.type===n.OBJECT||i.type===n.ARRAY||i.$ref){o+=this._scoreNode(i,t,r,c,`${a}/items`,g)}}e.ui=e.ui||{};e.ui.layoutBudget=t;if(o<=t){e.ui.renderMode=s.INLINE;r.delete(e);return o}else{e.ui.renderMode=s.DIALOG;r.delete(e);return 1}}let l=0;if(e.properties){for(const o in e.properties){const s=e.properties[o];if(s.type===n.OBJECT||s.type===n.ARRAY||s.$ref){l+=this._scoreNode(s,t,r,c,`${a}/${o}`,g)}else{l+=i.getInstance().getPluginScore(s.type||n.STRING,s.ui?.widget)}}}else{l+=i.getInstance().getPluginScore(n.OBJECT,e.ui?.widget)}e.ui=e.ui||{};e.ui.layoutBudget=t;r.delete(e);if(l<=t){e.ui.renderMode=s.INLINE;return l}else{e.ui.renderMode=s.DIALOG;return 1}}}var a={__esModule:true};a.LayoutScorer=c;return a});
24
24
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/PipelineManager", ["./Registry","../plugins/validators/PatternValidatorPlugin","../plugins/validators/MinLengthValidatorPlugin","../plugins/validators/RangeValidatorPlugin","../plugins/validators/UrlValidatorPlugin","../plugins/validators/IbanValidatorPlugin","../plugins/validators/EmailValidatorPlugin","../plugins/formatters/DateFormatterPlugin","../plugins/formatters/PhoneFormatterPlugin","../plugins/formatters/TextCaseFormatterPlugin","../utils/Logger"],function(e,t,r,i,a,s,n,l,o,g,u){"use strict";const d=e["Registry"];const c=t["PatternValidatorPlugin"];const f=r["MinLengthValidatorPlugin"];const P=i["RangeValidatorPlugin"];const h=a["UrlValidatorPlugin"];const m=s["IbanValidatorPlugin"];const V=n["EmailValidatorPlugin"];const v=l["DateFormatterPlugin"];const p=o["PhoneFormatterPlugin"];const w=g["TextCaseFormatterPlugin"];const M=u["Logger"];class x{validate(e,t){if(e===null||e===undefined||e===""){return{isValid:false,errorMessage:"This field is required."}}return{isValid:true}}}class y{validate(e,t){if(typeof e==="string"&&t&&typeof t==="number"){if(e.length>t){return{isValid:false,errorMessage:`Maximum length is ${t} characters.`}}}return{isValid:true}}}class F{formatters=new d("Formatters");parsers=new d("Parsers");validators=new d("Validators");constructor(){this.validators.register("required",new x);this.validators.register("maxLength",new y);this.validators.register("pattern",new c);this.validators.register("minLength",new f);this.validators.register("range",new P);this.validators.register("url",new h);this.validators.register("iban",new m);this.validators.register("email",new V);this.formatters.register("date",new v);this.formatters.register("phone",new p);this.formatters.register("textCase",new w)}executeValidation(e,t,r){const i=e===null||e===undefined||e==="";const a=t.includes("required");if(i&&!a){return{isValid:true}}for(const i of t){const t=this.validators.get(i);if(t){const a=r?r[i]:undefined;try{const r=t.validate(e,a);if(!r.isValid){return r}}catch(e){const t=e.message;M.error(`[MetaUI] PipelineManager: Validator '${i}' crashed during execution.`,t);return{isValid:false,errorMessage:`System validation error: ${t}`}}}else{M.warn(`[MetaUI] PipelineManager: Requested validator '${i}' not found in registry.`)}}return{isValid:true}}}const L=new F;var b={__esModule:true};b.PipelineManager=F;b.GlobalPipeline=L;return b});
25
25
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/PluginRegistry", ["../constants/MetaUIConstants","../utils/Logger"],function(i,t){"use strict";const e=i["SCHEMA_TYPE"];const n=i["WIDGET_TYPE"];const s=i["LAYOUT_STRATEGY"];const o=t["Logger"];class u{fieldIndex={};actionIndex={};layoutIndex={};policyConditionIndex={};policyEffectIndex={};activePromises={};constructor(){this.registerPluginPath(e.STRING,undefined,"nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin");this.registerPluginPath(e.NUMBER,undefined,"nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin");this.registerPluginPath(e.INTEGER,undefined,"nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin");this.registerPluginPath(e.DATE,undefined,"nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin");this.registerPluginPath(e.BOOLEAN,undefined,"nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin");this.registerPluginPath(e.ARRAY,undefined,"nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin");this.registerPluginPath(e.OBJECT,undefined,"nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin");this.registerPluginPath(e.STRING,"default","nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin");this.registerPluginPath(e.OBJECT,n.DICTIONARY_MAP,"nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin");this.registerPluginPath(e.OBJECT,n.REFERENCE,"nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin");this.registerPluginPath(e.STRING,n.TIME,"nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin");this.registerPluginPath(e.STRING,n.DATETIME,"nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin");this.registerPluginPath(e.BOOLEAN,n.SWITCH,"nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin");this.registerPluginPath(e.NUMBER,n.STEP,"nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin");this.registerPluginPath(e.STRING,n.SELECT,"nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin");this.registerPluginPath(e.STRING,n.TEXT_AREA,"nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin");this.registerPluginPath(e.STRING,n.CODE_EDITOR,"nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin");this.registerPluginPath(e.STRING,n.LINK,"nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin");this.registerPluginPath(e.STRING,n.PASSWORD,"nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin");this.registerPluginPath(e.STRING,n.EMAIL,"nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin");this.registerPluginPath(e.STRING,n.FILE_UPLOADER,"nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin");this.registerPluginPath(e.ARRAY,n.MULTI_SELECT,"nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin");this.registerPluginPath(e.ARRAY,n.MULTI_INPUT,"nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin");this.registerPluginPath(e.NUMBER,n.SLIDER,"nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin");this.registerPluginPath(e.NUMBER,n.RATING,"nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin");this.registerPluginPath(e.STRING,n.MESSAGE_STRIP,"nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin");this.registerPluginPath(e.STRING,n.CAMERA,"nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin");this.registerPluginPath(e.STRING,n.SIGNATURE,"nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin");this.registerPluginPath(e.OBJECT,n.LOCATION,"nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin");this.registerPluginPath(e.STRING,n.SCANNER,"nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin");this.registerPluginPath(e.STRING,n.VOICE_INPUT,"nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin");this.registerPluginPath(e.STRING,n.RICH_TEXT,"nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin");this.registerPluginPath(e.STRING,n.URL_BUTTON,"nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin");this.registerPluginPath(e.STRING,n.SUBMIT_BUTTON,"nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin");this.registerPluginPath(e.STRING,n.ODATA_SELECT,"nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin");this.registerPluginPath(e.STRING,n.REMOTE_DROPDOWN,"nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin");this.registerPluginPath(e.STRING,n.LIVE_SEARCH,"nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin");this.registerPluginPath(e.STRING,n.REMOTE_VALUE_HELP,"nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin");this.registerLayoutPath(s.FORM,"nz/co/siliconst/ui5/metaui/layouts/FormLayout");this.registerLayoutPath(s.TABLE,"nz/co/siliconst/ui5/metaui/layouts/TableLayout");this.registerLayoutPath(s.WIZARD,"nz/co/siliconst/ui5/metaui/layouts/WizardLayout");this.registerLayoutPath(s.COMPACT,"nz/co/siliconst/ui5/metaui/layouts/CompactLayout");this.registerPolicyConditionPath("NumericGreaterThan","nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin");this.registerPolicyConditionPath("NumericLessThan","nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin");this.registerPolicyConditionPath("StringEquals","nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin");this.registerPolicyConditionPath("IsNull","nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin");this.registerPolicyConditionPath("IsNotNull","nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin");this.registerPolicyEffectPath("Show","nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin");this.registerPolicyEffectPath("Hide","nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin");this.registerPolicyEffectPath("Validate","nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin");this.registerPolicyEffectPath("Invalidate","nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin");this.registerPolicyEffectPath("Require","nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin");this.registerPolicyEffectPath("Optional","nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin");this.registerPolicyEffectPath("Enable","nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin");this.registerPolicyEffectPath("Disable","nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin")}static getInstance(){if(!u.instance){u.instance=new u}return u.instance}registerPluginPath(i,t,e){const n=t?`${i}:${t}`:i;this.fieldIndex[n]=e}registerActionPath(i,t){this.actionIndex[i]=t}registerLayoutPath(i,t){this.layoutIndex[i]=t}registerPolicyConditionPath(i,t){this.policyConditionIndex[i]=t}registerPolicyEffectPath(i,t){this.policyEffectIndex[i]=t}getFieldPath(i,t){let e;if(t){e=this.fieldIndex[`${i}:${t}`]}if(!e){e=this.fieldIndex[i]}if(!e){throw new Error(`No plugin path mapped for FieldType: ${i} (widget: ${t})`)}return e}getLayoutPath(i){const t=this.layoutIndex[i];if(!t){throw new Error(`No layout path mapped for strategy: ${i}`)}return t}getPathsToLoad(i){const t=new Set;const n=i.layoutStrategy||(i.type===e.ARRAY?s.TABLE:s.FORM);t.add(this.getLayoutPath(n));const u=i=>{for(const n in i){const s=i[n];try{t.add(this.getFieldPath(s.type||e.STRING,s.ui?.widget))}catch(i){const t=`[MetaUI LazyLoad] Could not find mapped plugin for field ${n}: ${i.message}`;o.error(t);throw new Error(t)}if(s.properties)u(s.properties);if(s.items&&s.items.properties)u(s.items.properties);if(s.items&&s.items.type){try{t.add(this.getFieldPath(s.items.type,s.items.ui?.widget))}catch(i){const t=`[MetaUI LazyLoad] Could not find mapped plugin for array item type ${s.items.type}: ${i.message}`;o.error(t);throw new Error(t)}}}};if(i.properties){u(i.properties)}else if(i.items&&i.items.properties){u(i.items.properties)}if(i.uiPolicies){for(const e of i.uiPolicies){if(e.condition){for(const i of Object.keys(e.condition)){if(this.policyConditionIndex[i]){t.add(this.policyConditionIndex[i])}}}if(e.effect&&this.policyEffectIndex[e.effect]){t.add(this.policyEffectIndex[e.effect])}}}return t}async preloadDependencies(i){const t=this.getPathsToLoad(i);const e=Array.from(t).map(i=>{if(!this.activePromises[i]){this.activePromises[i]=new Promise((t,e)=>{sap.ui.require([i],n=>{if(!this.extractConstructor(n)){o.error(`[MetaUI PluginRegistry] Module ${i} loaded successfully but exported no valid constructor.`);delete this.activePromises[i];e(new Error(`Invalid module export: ${i}`))}else{t(n)}},t=>{o.error(`Failed to lazy load module: ${i}`);delete this.activePromises[i];e(t)})})}return this.activePromises[i]});await Promise.all(e)}extractConstructor(i){if(!i)return null;if(typeof i==="function")return i;const t=i;if(t.default&&typeof t.default==="function")return t.default;const e=Object.keys(t);for(const i of e){if(typeof t[i]==="function"){return t[i]}}return null}getPluginScore(i,t){try{const e=this.getFieldPath(i,t);const n=sap.ui.require(e);const s=this.extractConstructor(n);if(s&&typeof s.layoutScore==="number"){return s.layoutScore}}catch(i){}return 1}isPluginNativelyWide(i,t){try{const e=this.getFieldPath(i,t);const n=sap.ui.require(e);const s=this.extractConstructor(n);if(s&&typeof s.isNativelyWide==="boolean"){return s.isNativelyWide}}catch(i){}return false}getPlugin(i,t){const e=this.getFieldPath(i,t);const n=sap.ui.require(e);const s=this.extractConstructor(n);if(!s){throw new Error(`[MetaUI Plugin Instantiation] Plugin ${e} was not preloaded or has no constructor!`)}return new s}getLayout(i){const t=this.getLayoutPath(i);const e=sap.ui.require(t);const n=this.extractConstructor(e);if(!n){throw new Error(`[MetaUI Layout Instantiation] Layout ${t} was not preloaded or has no constructor!`)}return new n}getPolicyConditionPlugin(i){const t=this.policyConditionIndex[i];if(!t)return undefined;const e=sap.ui.require(t);const n=this.extractConstructor(e);if(!n)return undefined;return new n}getPolicyEffectPlugin(i){const t=this.policyEffectIndex[i];if(!t)return undefined;const e=sap.ui.require(t);const n=this.extractConstructor(e);if(!n)return undefined;return new n}}var r={__esModule:true};r.PluginRegistry=u;return r});
26
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/PolicyEngine", ["./PluginRegistry","../utils/Logger"],function(e,i){"use strict";const t=e["PluginRegistry"];const r=i["Logger"];class o{constructor(e){this.policies=e||[];this.lastStateMatrix=new Map;this.detectCycles()}detectCycles(){const e=new Map;for(const i of this.policies){const t=new Set;if(i.condition){const e=e=>{if(e)Object.keys(e).forEach(e=>t.add(e.split("/$row")[0]))};e(i.condition.NumericGreaterThan);e(i.condition.NumericLessThan);e(i.condition.StringEquals);if(i.condition.IsNull)i.condition.IsNull.forEach(e=>t.add(e.split("/$row")[0]));if(i.condition.IsNotNull)i.condition.IsNotNull.forEach(e=>t.add(e.split("/$row")[0]))}for(const r of i.targets){const i=r.split("/$row")[0];if(!e.has(i)){e.set(i,new Set)}t.forEach(t=>e.get(i).add(t))}}const i=new Set;const t=new Set;const r=o=>{if(!i.has(o)){i.add(o);t.add(o);const s=e.get(o);if(s){for(const e of s){if(!i.has(e)&&r(e)){return true}else if(t.has(e)){return true}}}}t.delete(o);return false};for(const i of e.keys()){if(r(i)){throw new Error(`[MetaUI PolicyEngine] FATAL: Cyclic dependency detected involving policy target '${i}'. This will cause an infinite rendering loop.`)}}}resolvePointer(e,i){if(!e||!i)return undefined;const t=i.replace(/^\//,"").replace(/^metaui>\/?/,"");if(!t)return e;const r=t.split("/");let o=e;for(const e of r){if(o===undefined||o===null)return undefined;o=o[e]}return o}evaluateCondition(e,i){let o=true;const s=t.getInstance();for(const[t,n]of Object.entries(e)){const e=s.getPolicyConditionPlugin(t);if(e){if(!e.evaluate(n,i,this.resolvePointer.bind(this))){o=false}}else{r.warn(`[MetaUI PolicyEngine] Unrecognized condition operator: ${t}`)}}return o}expandRowPolicies(e,i){const t=[];for(const r of i){let i=false;let o="";for(const e of r.targets){if(e.includes("$row")){i=true;o=e.split("/$row")[0];break}}if(!i&&r.condition){const e=e=>{if(!e)return;for(const t of Object.keys(e)){if(t.includes("$row")){i=true;o=t.split("/$row")[0];break}}};e(r.condition.NumericGreaterThan);e(r.condition.NumericLessThan);e(r.condition.StringEquals);if(r.condition.IsNull)r.condition.IsNull.forEach(e=>{if(e.includes("$row")){i=true;o=e.split("/$row")[0]}});if(r.condition.IsNotNull)r.condition.IsNotNull.forEach(e=>{if(e.includes("$row")){i=true;o=e.split("/$row")[0]}})}if(i&&o){const i=this.resolvePointer(e,o);if(Array.isArray(i)){for(let e=0;e<i.length;e++){const i=JSON.stringify(r).replace(/\$row/g,String(e));t.push(JSON.parse(i))}}}else{t.push(r)}}return t}evaluate(e){if(!this.policies||this.policies.length===0){return[]}const i=this.expandRowPolicies(e,this.policies);const o=new Map;const s=e=>{if(!o.has(e)){o.set(e,{visibility:{forcedFalse:0,forcedTrue:0},validity:{forcedFalse:0,forcedTrue:0},required:{forcedFalse:0,forcedTrue:0},editable:{forcedFalse:0,forcedTrue:0}})}};for(const n of i){const i=this.evaluateCondition(n.condition,e);for(const e of n.targets){s(e);const l=o.get(e);const c=t.getInstance().getPolicyEffectPlugin(n.effect);if(!c){r.error(`[MetaUI PolicyEngine] Unrecognized policy effect: ${n.effect}`);continue}const a=c.resolveState(i,n.effect);if(a.value){l[a.property].forcedTrue++}else{l[a.property].forcedFalse++;if(a.property==="validity"&&i&&n.message){l.validity.lastMessage=n.message}}}}const n=new Map;for(const[e,i]of o.entries()){n.set(e,{visibility:i.visibility.forcedFalse>0?false:true,validity:i.validity.forcedFalse>0?false:true,required:i.required.forcedTrue>0?true:false,editable:i.editable.forcedFalse>0?false:true,errorMessage:i.validity.lastMessage})}const l=[];for(const[e,i]of n.entries()){const t=this.lastStateMatrix.get(e)||{};if(i.visibility!==undefined&&i.visibility!==t.visibility){l.push({target:e,property:"visibility",value:i.visibility})}if(i.validity!==undefined&&i.validity!==t.validity){if(i.validity!==t.validity||i.errorMessage!==t.errorMessage){l.push({target:e,property:"validity",value:i.validity,errorMessage:i.errorMessage})}}if(i.required!==undefined&&i.required!==t.required){l.push({target:e,property:"required",value:i.required})}if(i.editable!==undefined&&i.editable!==t.editable){l.push({target:e,property:"editable",value:i.editable})}}this.lastStateMatrix=n;return l}}var s={__esModule:true};s.PolicyEngine=o;return s});
26
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/PolicyEngine", ["./PluginRegistry","../utils/Logger"],function(e,i){"use strict";const t=e["PluginRegistry"];const r=i["Logger"];class s{constructor(e){this.policies=e||[];this.lastStateMatrix=new Map}resolvePointer(e,i){if(!e||!i)return undefined;const t=i.replace(/^\//,"").replace(/^metaui>\/?/,"");if(!t)return e;const r=t.split("/");let s=e;for(const e of r){if(s===undefined||s===null)return undefined;s=s[e]}return s}evaluateCondition(e,i){let s=true;const o=t.getInstance();for(const[t,n]of Object.entries(e)){const e=o.getPolicyConditionPlugin(t);if(e){if(!e.evaluate(n,i,this.resolvePointer.bind(this))){s=false}}else{r.warn(`[MetaUI PolicyEngine] Unrecognized condition operator: ${t}`)}}return s}expandRowPolicies(e,i){const t=[];for(const r of i){const i=JSON.stringify(r);if(i.includes("$row")){const s=i.match(/"([^"]+)\/\$row/);if(s){const r=s[1];const o=this.resolvePointer(e,r);if(Array.isArray(o)){for(let e=0;e<o.length;e++){const r=i.replace(/\$row/g,String(e));t.push(JSON.parse(r))}}}else{t.push(r)}}else{t.push(r)}}return t}evaluate(e){if(!this.policies||this.policies.length===0){return[]}const i=this.expandRowPolicies(e,this.policies);const s=new Map;const o=e=>{if(!s.has(e)){s.set(e,{visibility:{forcedFalse:0,forcedTrue:0},validity:{forcedFalse:0,forcedTrue:0},required:{forcedFalse:0,forcedTrue:0},editable:{forcedFalse:0,forcedTrue:0}})}};for(const n of i){const i=this.evaluateCondition(n.condition,e);for(const e of n.targets){o(e);const a=s.get(e);const l=t.getInstance().getPolicyEffectPlugin(n.effect);if(!l){r.error(`[MetaUI PolicyEngine] Unrecognized policy effect: ${n.effect}`);continue}const c=l.resolveState(i,n.effect);if(c.value){a[c.property].forcedTrue++}else{a[c.property].forcedFalse++;if(c.property==="validity"&&i&&n.message){a.validity.lastMessage=n.message}}}}const n=new Map;for(const[e,i]of s.entries()){n.set(e,{visibility:i.visibility.forcedFalse>0?false:true,validity:i.validity.forcedFalse>0?false:true,required:i.required.forcedTrue>0?true:false,editable:i.editable.forcedFalse>0?false:true,errorMessage:i.validity.lastMessage})}const a=[];for(const[e,i]of n.entries()){const t=this.lastStateMatrix.get(e)||{};if(i.visibility!==undefined&&i.visibility!==t.visibility){a.push({target:e,property:"visibility",value:i.visibility})}if(i.validity!==undefined&&i.validity!==t.validity){if(i.validity!==t.validity||i.errorMessage!==t.errorMessage){a.push({target:e,property:"validity",value:i.validity,errorMessage:i.errorMessage})}}if(i.required!==undefined&&i.required!==t.required){a.push({target:e,property:"required",value:i.required})}if(i.editable!==undefined&&i.editable!==t.editable){a.push({target:e,property:"editable",value:i.editable})}}this.lastStateMatrix=n;return a}}var o={__esModule:true};o.PolicyEngine=s;return o});
27
27
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/Registry", ["../utils/Logger"],function(t){"use strict";const e=t["Logger"];class r{items=new Map;constructor(t="Registry"){this.registryName=t}register(t,r){if(this.items.has(t)){e.warn(`[MetaUI] ${this.registryName}: Overwriting existing key '${t}'.`)}this.items.set(t,r)}get(t){return this.items.get(t)}getStrict(t){const r=this.get(t);if(!r){const r=`[MetaUI] ${this.registryName}: Key '${t}' not found.`;e.error(r);throw new Error(r)}return r}getKeys(){return Array.from(this.items.keys())}clear(){this.items.clear()}}var s={__esModule:true};s.Registry=r;return s});
28
28
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/SchemaBuilderRegistry", ["./SchemaNormalizer","../openapi/OpenApiBuilder","../utils/Logger"],function(e,i,r){"use strict";const t=e["SchemaNormalizer"];const n=i["OpenApiBuilder"];const u=r["Logger"];class s{static _plugins=[new n,new t];static register(e){this._plugins.push(e)}static getBuilderFor(e){if(!e||typeof e!=="object"){return null}for(const i of this._plugins){if(i.canHandle(e)){return i}}u.warn("[SchemaBuilderRegistry]","No suitable Schema Builder plugin found for the provided payload.");return null}}var l={__esModule:true};l.SchemaBuilderRegistry=s;return l});
29
29
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/SchemaNormalizer", ["../constants/MetaUIConstants","../utils/Logger"],function(e,t){"use strict";const r=e["SCHEMA_TYPE"];const i=t["Logger"];class o{canHandle(e){return true}build(e,t){return o.normalize(e)}static normalize(e,t){let o=e;if(typeof o===r.STRING){if(!o.trim()){o=null}else{try{o=JSON.parse(o)}catch(e){const t="Failed to parse schema string: "+e.message;i.error("[MetaUI SchemaNormalizer]",t);throw new Error(t)}}}if(!o||typeof o!=="object"||Array.isArray(o)){return this.inferSchemaFromData(t)}try{const e={title:o.title,type:o.type||(o.items?"array":"object"),layoutStrategy:o.layoutStrategy,uiLayout:o.uiLayout?JSON.parse(JSON.stringify(o.uiLayout)):undefined,additionalProperties:o.additionalProperties,uiPolicies:o.uiPolicies?JSON.parse(JSON.stringify(o.uiPolicies)):undefined};let r=o.properties||{};if(o.additionalProperties===true&&t){const e=this.inferSchemaFromData(t);if(e.type==="object"&&e.properties){r=this.deepMergeProperties(e.properties,r)}else if(e.type==="array"&&e.items&&e.items.properties){}}if(e.type==="object"){const t=Array.isArray(o.required)?o.required:[];e.properties=this.normalizeProperties(r,t)}else if(e.type==="array"){e.items=this.normalizePropertyMetadata(o.items||{type:"object",properties:{}},"items",false)}return e}catch(e){const t="Critical error normalizing schema object: "+e.message;i.error("[MetaUI SchemaNormalizer]",t);throw new Error(t)}}static deepMergeProperties(e,t){const r={...e};for(const e of Object.keys(t)){const i=t[e];const o=r[e];if(o&&typeof o==="object"&&!Array.isArray(o)&&i&&typeof i==="object"&&!Array.isArray(i)){r[e]=this.deepMergeProperties(o,i)}else{r[e]=i}}return r}static normalizeProperties(e,t=[]){const r={};for(const i of Object.keys(e)){const o=t.includes(i);r[i]=this.normalizePropertyMetadata(e[i],i,o)}return r}static normalizePropertyMetadata(e,t,r=false){const i=e||{};const o=i.ui||{};const a={type:i.type||"string",$ref:i.$ref,ui:{label:o.label||this.generateLabel(t),isKey:!!o.isKey,readOnly:!!o.readOnly,widget:o.widget||(i.valueHelp||i.enum?"select":undefined),visibleOn:i.ui?.visibleOn,enabledOn:i.ui?.enabledOn,format:i.ui?.format,validators:i.ui?.validators,formatter:i.ui?.formatter,args:i.ui?.args,rows:i.ui?.rows,fullWidth:i.ui?.fullWidth,dialogButtonText:i.ui?.dialogButtonText,controlProps:i.ui?.controlProps},required:r||!!i.required,maxLength:i.maxLength,minLength:i.minLength,minimum:i.minimum,maximum:i.maximum,pattern:i.pattern,precision:i.precision,scale:i.scale,multipleOf:i.multipleOf,valueHelp:i.valueHelp,enum:i.enum};if(a.type==="object"&&i.properties){const e=Array.isArray(i.required)?i.required:[];a.properties=this.normalizeProperties(i.properties,e);a.uiLayout=i.uiLayout}else if(a.type==="array"){if(i.properties&&!i.items){i.items={type:"object",properties:i.properties};delete i.properties}if(i.items){a.items=this.normalizePropertyMetadata(i.items,"items",false)}a.uiLayout=i.uiLayout}return a}static generateLabel(e){if(!e)return"";let t=e.replace(/([A-Z])/g," $1").replace(/_/g," ");return t.split(" ").filter(e=>e.length>0).map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(" ").trim()}static inferSchemaFromData(e){const t={type:"object",properties:{},layoutStrategy:"compact",title:""};if(!e||typeof e!=="object"){return t}if(Array.isArray(e)){t.type="array";if(e.length>0&&typeof e[0]!=="object"){t.layoutStrategy="compact";t.items={type:typeof e[0]}}else{t.layoutStrategy="table";let r={};const i=Math.min(e.length,50);for(let t=0;t<i;t++){const i=this.inferPropertiesFromObject(e[t]);r=this.deepMergeProperties(r,i)}t.items={type:"object",layoutStrategy:"compact",properties:r}}}else{t.type="object";t.properties=this.inferPropertiesFromObject(e)}return t}static inferPropertiesFromObject(e){const t={};if(!e||typeof e!=="object")return t;for(const i of Object.keys(e)){const o=e[i];if(o===null||o===undefined)continue;let a=r.STRING;let s;let n;if(typeof o==="number")a="number";else if(typeof o==="boolean")a="boolean";else if(Array.isArray(o)){a="array";if(o.length>0&&typeof o[0]!=="object"){s={type:typeof o[0]}}else{s={type:"object",properties:o.length>0?this.inferPropertiesFromObject(o[0]):{}}}}else if(typeof o==="object"){a="object";n=this.inferPropertiesFromObject(o)}t[i]={type:a,items:s,properties:n,ui:{label:this.generateLabel(i),isKey:false,readOnly:false,widget:a==="array"&&s?.type!=="object"?"multiInput":undefined}}}return t}static resolveScope(e,t){if(!t||!t.startsWith("#/properties/")){return{meta:undefined,bindingPath:t||"",propKey:t||""}}const r=t.replace("#/properties/","").split("/properties/");let o=e.properties;let a;i.debug("[MetaUI SchemaNormalizer]",`Resolving scope '${t}' with segments: ${JSON.stringify(r)}`,"SchemaNormalizer");i.debug("[MetaUI SchemaNormalizer]",`Root schema keys: ${Object.keys(e.properties||{})}`,"SchemaNormalizer");for(let e=0;e<r.length;e++){const t=r[e];if(!o){i.debug("[MetaUI SchemaNormalizer]",`current is undefined at segment '${t}'`,"SchemaNormalizer");a=undefined;break}a=o[t];i.debug("[MetaUI SchemaNormalizer]",`Segment '${t}' resolved to meta: ${!!a}. Available keys in current: ${Object.keys(o)}`,"SchemaNormalizer");if(e<r.length-1){o=a?.properties}}const s=r.join("/");const n=t.replace("#/properties/","");return{meta:a,bindingPath:s,propKey:n}}}var a={__esModule:true};a.SchemaNormalizer=o;return a});
@@ -72,7 +72,7 @@ sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin",
72
72
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin", ["../controls/BasePlugin","../../controls/RichTextControl","sap/m/FormattedText"],function(t,e,i){"use strict";function n(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}const a=t["BasePlugin"];const r=n(e);function o(t){return t!==null&&typeof t.getValue==="function"}class s extends a{render(t,e,n="meta",a,s){this.onChange=s;this.metadata=t;this.fieldKey=e.replace("/","");this.modelName=n;if(!this.isEditable){this.control=new i({id:this.generateStableId(a,e),htmlText:this.generateBindingInfo(e,n)});this.applyCommonDirectives(this.control,t,n);return this.control}this.control=new r({id:this.generateStableId(a,e),value:this.generateBindingInfo(e,n),schemaMetadata:t,readOnly:!!t.ui?.readOnly});this.applyCommonDirectives(this.control,t,n);if(o(this.control)&&this.control.attachCapture){this.control.attachEvent("capture",()=>{const t=this.validate();if(this.onChange){this.onChange(t.isValid,this.fieldKey,t.errorMessage)}})}return this.control}getValue(){if(o(this.control)){return this.control.getProperty("value")}return null}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;this.control.setProperty("readOnly",!!this.metadata.ui?.readOnly)}}}var l={__esModule:true};l.RichTextPlugin=s;return l});
73
73
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin", ["../controls/BasePlugin","../../controls/SignatureControl","sap/m/Image"],function(t,e,i){"use strict";function n(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}const a=t["BasePlugin"];const s=n(e);class r extends a{render(t,e,n="meta",a,r){this.onChange=r;this.metadata=t;this.fieldKey=e.replace("/","");this.modelName=n;if(!this.isEditable){this.control=new i({id:this.generateStableId(a,e),src:this.generateBindingInfo(e,n),width:"400px",alt:t.ui?.label||"Signature"});this.applyCommonDirectives(this.control,t,n);return this.control}this.control=new s({id:this.generateStableId(a,e),value:this.generateBindingInfo(e,n),schemaMetadata:t,readOnly:!!t.ui?.readOnly});this.applyCommonDirectives(this.control,t,n);this.control.attachEvent("capture",()=>{const t=this.validate();if(this.onChange){this.onChange(t.isValid,this.fieldKey,t.errorMessage)}});return this.control}getValue(){return this.control?this.control.getProperty("value"):null}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;this.control.setProperty("readOnly",!!this.metadata.ui?.readOnly)}}}var o={__esModule:true};o.SignaturePlugin=r;return o});
74
74
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin", ["./BasePlugin","sap/m/Slider","sap/m/Text"],function(e,t,i){"use strict";const n=e["BasePlugin"];class s extends n{render(e,n,s="meta",a,r){this.onChange=r;this.metadata=e;this.fieldKey=n.startsWith("/")?n.substring(1):n;if(!this.isEditable){this.control=new i({id:this.generateStableId(a,n),text:this.generateBindingInfo(n,s)});this.applyCommonDirectives(this.control,e,s);return this.control}this.control=new t({id:this.generateStableId(a,n),value:this.generateBindingInfo(n,s),enabled:!e.ui?.readOnly,min:e.minimum!==undefined?e.minimum:0,max:e.maximum!==undefined?e.maximum:100,step:e.multipleOf!==undefined?e.multipleOf:1,enableTickmarks:true,change:e=>{const t=e.getParameter("value");const i=this.validate();if(this.onChange){this.onChange(i.isValid,this.fieldKey,i.errorMessage)}}});this.applyCommonDirectives(this.control,e,s);return this.control}getValue(){return this.control?this.control.getProperty("value"):0}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;this.control.setEnabled(!this.metadata.ui?.readOnly)}}}var a={__esModule:true};a.SliderPlugin=s;return a});
75
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin", ["./BasePlugin","sap/m/StepInput","sap/m/Text"],function(t,e,i){"use strict";const s=t["BasePlugin"];class n extends s{render(t,s,n="meta",a,r){this.onChange=r;this.metadata=t;this.fieldKey=s.startsWith("/")?s.substring(1):s;if(!this.isEditable){this.control=new i({id:this.generateStableId(a,s),text:this.generateBindingInfo(s,n)});this.applyCommonDirectives(this.control,t,n);return this.control}this.control=new e({id:this.generateStableId(a,s),value:this.generateBindingInfo(s,n),displayValuePrecision:t.scale!==undefined?t.scale:t.type==="integer"?0:3,editable:!t.ui?.readOnly,required:!!t.required,change:t=>{const e=t.getParameter("value");const i=this.validate();if(this.onChange){this.onChange(i.isValid,this.fieldKey,i.errorMessage)}}});this.applyCommonDirectives(this.control,t,n);return this.control}getValue(){return this.control?this.control.getProperty("value"):null}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;const t=this.control;t.setEditable(!this.metadata.ui?.readOnly);t.setRequired(!!this.metadata.required)}}}var a={__esModule:true};a.StepInputPlugin=n;return a});
75
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin", ["./BasePlugin","sap/m/StepInput","sap/m/Text"],function(e,t,i){"use strict";const n=e["BasePlugin"];class s extends n{render(e,n,s="meta",a,l){this.onChange=l;this.metadata=e;this.fieldKey=n.startsWith("/")?n.substring(1):n;if(!this.isEditable){this.control=new i({id:this.generateStableId(a,n),text:this.generateBindingInfo(n,s)});this.applyCommonDirectives(this.control,e,s);return this.control}let r=e.scale;if(r===undefined&&e.multipleOf!==undefined){const t=e.multipleOf.toString();r=t.includes(".")?t.split(".")[1].length:0}else if(r===undefined&&e.type==="integer"){r=0}this.control=new t({id:this.generateStableId(a,n),value:this.generateBindingInfo(n,s),step:e.multipleOf!==undefined?e.multipleOf:1,...r!==undefined&&{displayValuePrecision:r},editable:!e.ui?.readOnly,required:!!e.required,change:e=>{const t=e.getParameter("value");const i=this.validate();if(this.onChange){this.onChange(i.isValid,this.fieldKey,i.errorMessage)}}});this.applyCommonDirectives(this.control,e,s);return this.control}getValue(){return this.control?this.control.getProperty("value"):null}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;const e=this.control;e.setEditable(!this.metadata.ui?.readOnly);e.setRequired(!!this.metadata.required)}}}var a={__esModule:true};a.StepInputPlugin=s;return a});
76
76
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin", ["./BasePlugin","sap/m/Input","sap/m/Text"],function(e,t,i){"use strict";const n=e["BasePlugin"];class s extends n{render(e,n,s="meta",a,r){this.onChange=r;this.metadata=e;this.fieldKey=n.replace("/","");if(!this.isEditable){this.control=new i({id:this.generateStableId(a,n),text:this.generateBindingInfo(n,s)});this.applyCommonDirectives(this.control,e,s);return this.control}this.control=new t({id:this.generateStableId(a,n),value:this.generateBindingInfo(n,s),maxLength:e.maxLength||0,required:!!e.required,showValueHelp:e.ui?.widget==="searchHelp",change:e=>{const t=e.getParameter("value");const i=this.validate();if(this.onChange){this.onChange(i.isValid,this.fieldKey,i.errorMessage)}}});this.applyCommonDirectives(this.control,e,s);return this.control}getValue(){return this.control?this.control.getProperty("value"):null}applyState(){if(this.control&&this.metadata){if(!this.isEditable){return}const e=this.control;e.setEditable(!this.metadata.ui?.readOnly);e.setRequired(this.metadata.required)}}}var a={__esModule:true};a.StringPlugin=s;return a});
77
77
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin", ["./BasePlugin","sap/m/Switch","sap/m/Text"],function(t,e,i){"use strict";const s=t["BasePlugin"];class n extends s{render(t,s,n="meta",a,r){this.onChange=r;this.metadata=t;this.fieldKey=s.startsWith("/")?s.substring(1):s;if(!this.isEditable){this.control=new i({id:this.generateStableId(a,s),text:this.generateBindingInfo(s,n,undefined,{formatter:t=>t?"Yes":"No"})});this.applyCommonDirectives(this.control,t,n);return this.control}this.control=new e({id:this.generateStableId(a,s),state:this.generateBindingInfo(s,n),enabled:!t.ui?.readOnly,change:t=>{const e=t.getParameter("state");const i=this.validate();if(this.onChange){this.onChange(i.isValid,this.fieldKey,i.errorMessage)}}});this.applyCommonDirectives(this.control,t,n);return this.control}getValue(){return this.control?this.control.getState():false}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;const t=this.control;t.setEnabled(!this.metadata.ui?.readOnly)}}}var a={__esModule:true};a.SwitchPlugin=n;return a});
78
78
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin", ["./BasePlugin","sap/m/TextArea","sap/m/HBox","sap/m/Button","sap/m/Dialog","sap/m/FlexItemData"],function(e,t,i,a,s,n){"use strict";const r=e["BasePlugin"];class l extends r{render(e,r,l="meta",o,h){this.onChange=h;this.metadata=e;this.fieldKey=r.replace("/","");const d=e.ui?.rows;const u=e.ui?.expandable!==false;const g=new t({id:this.generateStableId(o,r),value:this.generateBindingInfo(r,l),maxLength:e.maxLength||0,required:!!e.required,editable:!this.isEditable?false:!e.ui?.readOnly,rows:d||10,growing:true,growingMaxLines:d||15,width:"100%",change:()=>{const e=this.validate();if(this.onChange){this.onChange(e.isValid,this.fieldKey,e.errorMessage)}}});this.textAreaRef=g;this.mainControl=g;if(u){const o=new a({icon:"sap-icon://full-screen",type:"Transparent",tooltip:"Expand Editor",press:()=>{const i=new s({title:e.title||e.ui?.label||"Edit Text",contentWidth:"80%",contentHeight:"80%",verticalScrolling:false,resizable:true,content:new t({value:this.generateBindingInfo(r,l),width:"100%",height:"100%",editable:!this.isEditable?false:!e.ui?.readOnly,growing:false}),beginButton:new a({text:"Close",press:()=>i.close()}),afterClose:()=>i.destroy()});this.control?.addDependent(i);i.open()}});g.setLayoutData(new n({growFactor:1}));this.control=new i({width:"100%",alignItems:"Start",items:[g,o]})}else{this.control=g}this.mainControl=g;this.applyCommonDirectives(this.control,e,l);return this.control}getValue(){return this.textAreaRef?this.textAreaRef.getProperty("value"):null}applyState(){if(this.textAreaRef&&this.metadata){if(!this.isEditable)return;this.textAreaRef.setEditable(!this.metadata.ui?.readOnly);this.textAreaRef.setRequired(!!this.metadata.required)}}}var o={__esModule:true};o.TextAreaPlugin=l;return o});