@siliconst/metaui 1.4.4 → 1.4.5

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.
Files changed (55) hide show
  1. package/package.json +1 -1
  2. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost-dbg.js +40 -1
  3. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost-dbg.js.map +1 -1
  4. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.d.ts +6 -0
  5. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.d.ts.map +1 -1
  6. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.js +1 -1
  7. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.js.map +1 -1
  8. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.ts +44 -0
  9. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate-dbg.js +122 -0
  10. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate-dbg.js.map +1 -0
  11. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.d.ts +49 -0
  12. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.d.ts.map +1 -0
  13. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.js +2 -0
  14. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.js.map +1 -0
  15. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.ts +118 -0
  16. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator-dbg.js +24 -8
  17. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator-dbg.js.map +1 -1
  18. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.d.ts +1 -0
  19. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.d.ts.map +1 -1
  20. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.js +1 -1
  21. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.js.map +1 -1
  22. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.ts +26 -9
  23. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer-dbg.js +45 -1
  24. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer-dbg.js.map +1 -1
  25. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.d.ts +10 -1
  26. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.d.ts.map +1 -1
  27. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.js +1 -1
  28. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.js.map +1 -1
  29. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.ts +45 -2
  30. package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout-dbg.js +10 -6
  31. package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout-dbg.js.map +1 -1
  32. package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout.d.ts.map +1 -1
  33. package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout.js +1 -1
  34. package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout.js.map +1 -1
  35. package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout.ts +5 -5
  36. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout-dbg.js +10 -6
  37. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout-dbg.js.map +1 -1
  38. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.d.ts.map +1 -1
  39. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.js +1 -1
  40. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.js.map +1 -1
  41. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.ts +5 -5
  42. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout-dbg.js +22 -29
  43. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout-dbg.js.map +1 -1
  44. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.d.ts.map +1 -1
  45. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.js +1 -1
  46. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.js.map +1 -1
  47. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.ts +18 -29
  48. package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout-dbg.js +8 -4
  49. package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout-dbg.js.map +1 -1
  50. package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout.d.ts.map +1 -1
  51. package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout.js +1 -1
  52. package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout.js.map +1 -1
  53. package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout.ts +3 -3
  54. package/src/nz/co/siliconst/ui5/metaui/library-preload.js +8 -7
  55. package/src/nz/co/siliconst/ui5/metaui/library-preload.js.map +1 -1
@@ -2,7 +2,7 @@
2
2
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl", ["sap/ui/core/Control","./BaseHardwareControlRenderer"],function(e,t){"use strict";function a(e){return e&&e.__esModule&&typeof e.default!=="undefined"?e.default:e}const n=a(t);const r=e.extend("nz.co.siliconst.ui5.metaui.controls.BaseHardwareControl",{renderer:n,metadata:{properties:{value:{type:"any",defaultValue:null},schemaMetadata:{type:"object",defaultValue:null},readOnly:{type:"boolean",defaultValue:false}},aggregations:{_content:{type:"sap.m.VBox",multiple:false,visibility:"hidden"}},events:{capture:{parameters:{value:{type:"any"}}}}},setValueAndFire:function e(t){this.setProperty("value",t,true);this.fireEvent("capture",{value:t})},renderContent:function e(t,a){}});return r});
3
3
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer", [],function(){"use strict";var n={apiVersion:2,render:function(n,e){n.openStart("div",e);n.class("sapUiSmallMarginBottom");n.openEnd();const t=e.getAggregation("_content");if(t){n.renderControl(t)}if(typeof e.renderContent==="function"){e.renderContent(n,e)}n.close("div")}};return n});
4
4
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/CameraControl", ["./BaseHardwareControl","sap/m/Button","sap/m/VBox","sap/ui/core/HTML","sap/m/MessageToast","sap/m/Image","../utils/Logger"],function(e,t,i,s,a,r,n){"use strict";function o(e){return e&&e.__esModule&&typeof e.default!=="undefined"?e.default:e}const l=o(e);const h=n["Logger"];class d extends l{static renderer="nz.co.siliconst.ui5.metaui.controls.BaseHardwareControlRenderer";static metadata={properties:{},events:{}};videoEl=null;mediaStream=null;init(){super.init();this.videoHtml=new s({content:"<video width='400' height='300' autoplay playsinline style='background-color: #000; display: none;'></video>",afterRendering:this.onVideoRendered.bind(this)}).addStyleClass("sapUiSmallMarginBottom");this.previewImage=new r({width:"400px",visible:false}).addStyleClass("sapUiSmallMarginBottom");this.startBtn=new t({icon:"sap-icon://video",text:"Start Camera",press:this.handleStartCameraPress.bind(this)});this.captureBtn=new t({icon:"sap-icon://camera",text:"Capture",visible:false,press:this.captureImage.bind(this)});this.retakeBtn=new t({icon:"sap-icon://undo",text:"Retake",visible:false,press:this.retakeImage.bind(this)});this.vBox=new i({items:[this.videoHtml,this.previewImage,this.startBtn,this.captureBtn,this.retakeBtn]});this.setAggregation("_content",this.vBox)}async onVideoRendered(){const e=this.videoHtml.getDomRef();if(!e)return;this.videoEl=e;const t=this.getValue();if(t&&typeof t==="string"&&t.startsWith("data:image")){this.showPreview(t)}}handleStartCameraPress(){this.startCamera();this.startBtn.setVisible(false);this.captureBtn.setVisible(true);if(this.videoEl){this.videoEl.style.display="block"}}async startCamera(){try{this.mediaStream=await navigator.mediaDevices.getUserMedia({video:{facingMode:"environment"}});if(this.videoEl){this.videoEl.srcObject=this.mediaStream}}catch(e){h.error("Camera access denied or unavailable",e.message,"CameraControl");a.show("Camera access denied or unavailable.")}}stopCamera(){if(this.mediaStream){this.mediaStream.getTracks().forEach(e=>e.stop());this.mediaStream=null}}captureImage(){if(!this.videoEl)return;const e=document.createElement("canvas");e.width=this.videoEl.videoWidth||400;e.height=this.videoEl.videoHeight||300;const t=e.getContext("2d");if(t){t.drawImage(this.videoEl,0,0,e.width,e.height);const i=e.toDataURL("image/jpeg",.8);this.setValueAndFire(i);this.showPreview(i);a.show("Image captured successfully.")}}retakeImage(){this.setValueAndFire(null);this.previewImage.setVisible(false);this.videoHtml.setVisible(true);this.captureBtn.setVisible(true);this.retakeBtn.setVisible(false);setTimeout(()=>this.startCamera(),100)}showPreview(e){this.stopCamera();this.videoHtml.setVisible(false);this.previewImage.setSrc(e);this.previewImage.setVisible(true);this.captureBtn.setVisible(false);this.retakeBtn.setVisible(true)}setValue(e){super.setValue(e);if(e&&typeof e==="string"&&e.startsWith("data:image")){this.showPreview(e)}else if(!e){if(this.previewImage.getVisible()){this.retakeImage()}}return this}exit(){this.stopCamera();super.exit()}}return d});
5
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/DynamicHost", ["sap/ui/core/Control","./host/GeneratorHost","../utils/Logger"],function(t,e,n){"use strict";function i(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}const a=i(e);const o=n["Logger"];const s=t.extend("nz.co.siliconst.ui5.metaui.controls.DynamicHost",{constructor:function e(){t.prototype.constructor.apply(this,arguments);this._innerHost=null;this._initializedInner=false},renderer:{apiVersion:2,render(t,e){t.openStart("div",e);t.style("width","100%");t.style("height","100%");t.openEnd();const n=e.getAggregation("_content");if(n){t.renderControl(n)}t.close("div")}},metadata:{properties:{schemaDefinition:{type:"any",defaultValue:null},data:{type:"object",defaultValue:null,bindable:"bindable"},dataJson:{type:"string",defaultValue:null,bindable:"bindable"},liveUpdate:{type:"boolean",defaultValue:false},isValid:{type:"boolean",defaultValue:true},useMessageManager:{type:"boolean",defaultValue:false},modelName:{type:"string",defaultValue:"meta"},debugMode:{type:"boolean",defaultValue:false},displayMode:{type:"boolean",defaultValue:false}},aggregations:{_content:{type:"sap.ui.core.Control",multiple:false,visibility:"hidden"}},events:{beforeSubmit:{parameters:{payload:{type:"object"},addError:{type:"function"},preventDefault:{type:"function"}}},submit:{parameters:{payload:{type:"object"},payloadJson:{type:"string"}}},cancel:{},fieldChange:{parameters:{fieldPath:{type:"string"},value:{type:"any"},payload:{type:"object"},isValid:{type:"boolean"}}},validationStateChanged:{parameters:{isValid:{type:"boolean"}}},validationError:{parameters:{fieldPath:{type:"string"},message:{type:"string"}}},validationSuccess:{parameters:{fieldPath:{type:"string"}}}}},onBeforeRendering:function e(){o.debug("[MetaUI DynamicHost]",`onBeforeRendering called. _initializedInner: ${this._initializedInner}`,"DynamicHost");if(!this._initializedInner){const e=this.getProperty("schemaDefinition");const n=this.getProperty("dataJson");const i=this.getProperty("data");const s=!!e;const r=!!n||!!i;o.debug("[MetaUI DynamicHost]",`Evaluating boot. hasSchema: ${s}, hasData: ${r}`,"DynamicHost");if(s||r){if(this.getProperty("debugMode")){o.debug("[MetaUI DynamicHost]",`Booting inner host. hasSchema: ${s}, hasData: ${r}`,"DynamicHost")}this._innerHost=new a;const e=this.getMetadata().getProperties();for(const n in e){const e=t.prototype.getProperty.call(this,n);if(e!==null&&e!==undefined){this._innerHost.setProperty(n,e)}}this.setAggregation("_content",this._innerHost);const n=this.getMetadata().getEvents();for(const e in n){this._innerHost.attachEvent(e,n=>{if(e==="submit"||e==="fieldChange"){const e=n.getParameters();if(e.payload){t.prototype.setProperty.call(this,"data",e.payload,true);const n=e.payloadJson||JSON.stringify(e.payload,null,2);t.prototype.setProperty.call(this,"dataJson",n,true)}}this.fireEvent(e,n.getParameters())})}this._initializedInner=true}}},setProperty:function e(n,i,a){if(n==="data"||n==="dataJson"||n==="schemaDefinition"){if(this.getProperty("debugMode")){o.debug("[MetaUI DynamicHost]",`Wrapper received setProperty: ${n}`,"DynamicHost")}}t.prototype.setProperty.call(this,n,i,a);if(this._innerHost){this._innerHost.setProperty(n,i,a)}else if(n==="data"||n==="dataJson"||n==="schemaDefinition"){if(this.getProperty("debugMode")){o.debug("[MetaUI DynamicHost]",`_innerHost not yet initialized when ${n} was set. Booting will happen on next render.`,"DynamicHost")}}return this},openInDialog:function t(e,n,i){if(!this._innerHost){this.onBeforeRendering()}this._innerHost?.openInDialog(e,n,i)},triggerSubmit:function t(){if(!this._innerHost){return false}return this._innerHost.triggerSubmit()},getProperty:function e(n){if(this._innerHost&&(n==="data"||n==="dataJson")){return this._innerHost.getProperty(n)}return t.prototype.getProperty.call(this,n)}});return s});
5
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/DynamicHost", ["sap/ui/core/Control","./host/GeneratorHost","../utils/Logger","./host/delegates/ODataDelegate"],function(t,e,n,i){"use strict";function a(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}const o=a(e);const s=n["Logger"];const r=i["ODataDelegate"];const l=t.extend("nz.co.siliconst.ui5.metaui.controls.DynamicHost",{constructor:function e(){t.prototype.constructor.apply(this,arguments);this._innerHost=null;this.odataDelegate=null;this._initializedInner=false;this._innerHost=null;this._initializedInner=false},renderer:{apiVersion:2,render(t,e){t.openStart("div",e);t.style("width","100%");t.style("height","100%");t.openEnd();const n=e.getAggregation("_content");if(n){t.renderControl(n)}t.close("div")}},metadata:{properties:{schemaDefinition:{type:"any",defaultValue:null},data:{type:"object",defaultValue:null,bindable:"bindable"},dataJson:{type:"string",defaultValue:null,bindable:"bindable"},liveUpdate:{type:"boolean",defaultValue:false},isValid:{type:"boolean",defaultValue:true},useMessageManager:{type:"boolean",defaultValue:false},modelName:{type:"string",defaultValue:"meta"},debugMode:{type:"boolean",defaultValue:false},displayMode:{type:"boolean",defaultValue:false}},aggregations:{_content:{type:"sap.ui.core.Control",multiple:false,visibility:"hidden"}},events:{beforeSubmit:{parameters:{payload:{type:"object"},addError:{type:"function"},preventDefault:{type:"function"}}},submit:{parameters:{payload:{type:"object"},payloadJson:{type:"string"}}},cancel:{},fieldChange:{parameters:{fieldPath:{type:"string"},value:{type:"any"},payload:{type:"object"},isValid:{type:"boolean"}}},validationStateChanged:{parameters:{isValid:{type:"boolean"}}},validationError:{parameters:{fieldPath:{type:"string"},message:{type:"string"}}},validationSuccess:{parameters:{fieldPath:{type:"string"}}}}},initODataDelegate:function t(){if(!this.odataDelegate){const t=this.getBindingContext("odata")||this.getBindingContext();if(t){s.debug("[MetaUI DynamicHost]",`Context found for delegate initialization: ${t.getPath()}`,"DynamicHost");if(typeof t.requestObject==="function"||typeof t.getObject==="function"){s.debug("[MetaUI DynamicHost]",`Context supports requestObject/getObject. Instantiating ODataDelegate.`,"DynamicHost");this.odataDelegate=new r(this,t);this.odataDelegate.syncToEngine()}else{s.debug("[MetaUI DynamicHost]",`Context does NOT support requestObject/getObject! Keys: ${Object.keys(t)}`,"DynamicHost")}}}},setBindingContext:function e(n,i){t.prototype.setBindingContext.call(this,n,i);this.initODataDelegate();return this},bindElement:function e(n,i){t.prototype.bindElement.call(this,n,i);const a=typeof n==="object"?n.model:undefined;const o=this.getElementBinding(a);if(o){o.attachChange(()=>{this.initODataDelegate()})}return this},onBeforeRendering:function e(){s.debug("[MetaUI DynamicHost]",`onBeforeRendering called. _initializedInner: ${this._initializedInner}`,"DynamicHost");this.initODataDelegate();if(!this._initializedInner){const e=this.getProperty("schemaDefinition");const n=this.getProperty("dataJson");const i=this.getProperty("data");const a=!!e;const r=!!n||!!i;s.debug("[MetaUI DynamicHost]",`Evaluating boot. hasSchema: ${a}, hasData: ${r}`,"DynamicHost");if(a||r){if(this.getProperty("debugMode")){s.debug("[MetaUI DynamicHost]",`Booting inner host. hasSchema: ${a}, hasData: ${r}`,"DynamicHost")}this._innerHost=new o;const e=this.getMetadata().getProperties();for(const n in e){const e=t.prototype.getProperty.call(this,n);if(e!==null&&e!==undefined){this._innerHost.setProperty(n,e)}}this.setAggregation("_content",this._innerHost);const n=this.getMetadata().getEvents();for(const e in n){this._innerHost.attachEvent(e,n=>{if(e==="submit"||e==="fieldChange"){const i=n.getParameters();if(i.payload){t.prototype.setProperty.call(this,"data",i.payload,true);const e=i.payloadJson||JSON.stringify(i.payload,null,2);t.prototype.setProperty.call(this,"dataJson",e,true)}if(e==="fieldChange"&&this.odataDelegate){this.odataDelegate.handleFieldChange(i.fieldPath,i.value)}}this.fireEvent(e,n.getParameters())})}this._initializedInner=true}}},setProperty:function e(n,i,a){if(n==="data"||n==="dataJson"||n==="schemaDefinition"){if(this.getProperty("debugMode")){s.debug("[MetaUI DynamicHost]",`Wrapper received setProperty: ${n}`,"DynamicHost")}}t.prototype.setProperty.call(this,n,i,a);if(this._innerHost){this._innerHost.setProperty(n,i,a)}else if(n==="data"||n==="dataJson"||n==="schemaDefinition"){if(this.getProperty("debugMode")){s.debug("[MetaUI DynamicHost]",`_innerHost not yet initialized when ${n} was set. Booting will happen on next render.`,"DynamicHost")}}return this},openInDialog:function t(e,n,i){if(!this._innerHost){this.onBeforeRendering()}this._innerHost?.openInDialog(e,n,i)},triggerSubmit:function t(){if(!this._innerHost){return false}return this._innerHost.triggerSubmit()},getProperty:function e(n){if(this._innerHost&&(n==="data"||n==="dataJson")){return this._innerHost.getProperty(n)}return t.prototype.getProperty.call(this,n)}});return l});
6
6
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/GeolocationControl", ["./BaseHardwareControl","./BaseHardwareControlRenderer","sap/m/Button","sap/m/Input","sap/m/VBox","sap/m/MessageToast"],function(t,e,s,i,o,n){"use strict";function a(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}const r=a(t);const l=a(e);class u extends r{static renderer=l;static metadata={aggregations:{_content:{type:"sap.m.VBox",multiple:false,visibility:"hidden"}}};init(){super.init();this.locationBtn=new s({icon:"sap-icon://map",text:"Get Location",press:this.getLocation.bind(this)});this.resultInput=new i({editable:false,visible:false});this.vBox=new o({items:[this.locationBtn,this.resultInput]});this.setAggregation("_content",this.vBox)}onBeforeRendering(){const t=this.getProperty("schemaMetadata");if(t&&t.ui&&t.ui.label){this.locationBtn.setText(t.ui.label)}const e=this.getProperty("readOnly");this.locationBtn.setEnabled(!e);const s=this.getProperty("value");if(s){this.resultInput.setValue(s);this.resultInput.setVisible(true)}}getLocation(){if(!navigator.geolocation){n.show("Geolocation is not supported by your browser");return}navigator.geolocation.getCurrentPosition(t=>{const e=`${t.coords.latitude}, ${t.coords.longitude}`;this.resultInput.setValue(e);this.resultInput.setVisible(true);this.setValueAndFire(e);n.show("Location acquired.")},()=>{n.show("Unable to retrieve your location")})}}return u});
7
7
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/RichTextControl", ["./BaseHardwareControl","./BaseHardwareControlRenderer","sap/m/VBox","sap/ui/richtexteditor/RichTextEditor"],function(t,e,i,n){"use strict";function o(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}const r=o(t);const s=o(e);const a=r.extend("nz.co.siliconst.ui5.metaui.controls.RichTextControl",{metadata:{properties:{},events:{},aggregations:{_content:{type:"sap.m.VBox",multiple:false,visibility:"hidden"}}},renderer:s,init:function t(){r.prototype.init.call(this);this.richTextEditor=new n({width:"100%",height:"300px",showGroupFont:true,showGroupInsert:true,tooltip:"Rich Text Editor",change:t=>{const e=t.getParameter("newValue");this.setValueAndFire(e)}});this.vBox=new i({items:[this.richTextEditor]});this.setAggregation("_content",this.vBox)},onBeforeRendering:function t(){const e=this.getProperty("readOnly");this.richTextEditor.setEditable(!e);const i=this.getProperty("value");if(i!==undefined&&i!==null){if(this.richTextEditor.getValue()!==i){this.richTextEditor.setValue(i)}}}});return a});
8
8
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/SignatureControl", ["./BaseHardwareControl","sap/m/Button","sap/m/VBox","sap/ui/core/HTML","sap/m/MessageToast"],function(t,s,a,i,n){"use strict";function e(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}const h=e(t);class r extends h{static renderer="nz.co.siliconst.ui5.metaui.controls.BaseHardwareControlRenderer";static metadata={properties:{},events:{}};isDrawing=false;canvasCtx=null;canvasEl=null;init(){super.init();this.canvasHtml=new i({content:"<canvas width='400' height='200' style='border: 1px solid #ccc; background-color: #fff; touch-action: none; cursor: crosshair;'></canvas>",afterRendering:this.onCanvasRendered.bind(this)}).addStyleClass("sapUiSmallMarginBottom");this.clearBtn=new s({icon:"sap-icon://sys-cancel",text:"Clear Signature",press:this.clearSignature.bind(this)});this.vBox=new a({items:[this.canvasHtml,this.clearBtn]});this.setAggregation("_content",this.vBox)}onCanvasRendered(){const t=this.canvasHtml.getDomRef();if(!t)return;this.canvasEl=t;this.canvasCtx=this.canvasEl.getContext("2d");if(this.canvasCtx){this.canvasCtx.lineWidth=2;this.canvasCtx.lineCap="round";this.canvasCtx.strokeStyle="#000"}this.canvasEl.addEventListener("mousedown",this.startDrawing.bind(this));this.canvasEl.addEventListener("mousemove",this.draw.bind(this));this.canvasEl.addEventListener("mouseup",this.stopDrawing.bind(this));this.canvasEl.addEventListener("mouseout",this.stopDrawing.bind(this));this.canvasEl.addEventListener("touchstart",this.startDrawingTouch.bind(this),{passive:false});this.canvasEl.addEventListener("touchmove",this.drawTouch.bind(this),{passive:false});this.canvasEl.addEventListener("touchend",this.stopDrawing.bind(this));const s=this.getValue();if(s&&typeof s==="string"&&s.startsWith("data:image")){this.loadImageOntoCanvas(s)}}loadImageOntoCanvas(t){const s=new window.Image;s.onload=()=>{if(this.canvasCtx&&this.canvasEl){this.canvasCtx.clearRect(0,0,this.canvasEl.width,this.canvasEl.height);this.canvasCtx.drawImage(s,0,0,this.canvasEl.width,this.canvasEl.height)}};s.src=t}getCoordinates(t){if(!this.canvasEl)return{x:0,y:0};const s=this.canvasEl.getBoundingClientRect();let a,i;if(t.type.startsWith("touch")){a=t.touches[0].clientX;i=t.touches[0].clientY}else{a=t.clientX;i=t.clientY}return{x:a-s.left,y:i-s.top}}startDrawing(t){this.isDrawing=true;this.draw(t)}startDrawingTouch(t){t.preventDefault();this.isDrawing=true;this.drawTouch(t)}draw(t){if(!this.isDrawing||!this.canvasCtx)return;const s=this.getCoordinates(t);this.canvasCtx.lineTo(s.x,s.y);this.canvasCtx.stroke();this.canvasCtx.beginPath();this.canvasCtx.moveTo(s.x,s.y)}drawTouch(t){if(!this.isDrawing||!this.canvasCtx)return;t.preventDefault();const s=this.getCoordinates(t);this.canvasCtx.lineTo(s.x,s.y);this.canvasCtx.stroke();this.canvasCtx.beginPath();this.canvasCtx.moveTo(s.x,s.y)}stopDrawing(){if(!this.isDrawing)return;this.isDrawing=false;if(this.canvasCtx){this.canvasCtx.beginPath();this.saveSignature()}}clearSignature(){if(this.canvasCtx&&this.canvasEl){this.canvasCtx.clearRect(0,0,this.canvasEl.width,this.canvasEl.height)}this.setValueAndFire(null);n.show("Signature cleared.")}saveSignature(){if(this.canvasEl){const t=this.canvasEl.toDataURL("image/png");this.setValueAndFire(t)}}setValue(t){super.setValue(t);if(t&&typeof t==="string"&&t.startsWith("data:image")){this.loadImageOntoCanvas(t)}else if(!t&&this.canvasCtx&&this.canvasEl){this.canvasCtx.clearRect(0,0,this.canvasEl.width,this.canvasEl.height)}return this}}return r});
@@ -10,21 +10,22 @@ sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/VoiceInputControl", ["./Ba
10
10
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost", ["sap/ui/core/Control","../../utils/Logger","../../core/SchemaNormalizer","../../core/SchemaValidator","../../core/Engine","../../core/StateManager","./delegates/DataSyncDelegate","./delegates/ValidationDelegate","./delegates/DialogDelegate","sap/m/MessageBox"],function(e,t,a,i,n,s,r,o,l,d){"use strict";const g=t["Logger"];const h=a["SchemaNormalizer"];const u=i["SchemaValidator"];const c=n["Engine"];const p=s["StateManager"];const y=r["DataSyncDelegate"];const f=o["ValidationDelegate"];const M=l["DialogDelegate"];const m=e.extend("nz.co.siliconst.ui5.metaui.controls.host.GeneratorHost",{renderer:{apiVersion:2,render(e,t){e.openStart("div",t);e.style("width","100%");e.style("height","100%");e.openEnd();const a=t.getAggregation("_content");if(a){e.renderControl(a)}e.close("div")}},metadata:{properties:{schemaDefinition:{type:"any",defaultValue:null},data:{type:"object",defaultValue:null,bindable:"bindable"},dataJson:{type:"string",defaultValue:null,bindable:"bindable"},liveUpdate:{type:"boolean",defaultValue:false},isValid:{type:"boolean",defaultValue:true},useMessageManager:{type:"boolean",defaultValue:false},modelName:{type:"string",defaultValue:"meta"},debugMode:{type:"boolean",defaultValue:false},displayMode:{type:"boolean",defaultValue:false}},aggregations:{_content:{type:"sap.ui.core.Control",multiple:false,visibility:"hidden"}},events:{beforeSubmit:{parameters:{payload:{type:"object"},addError:{type:"function"},preventDefault:{type:"function"}}},submit:{parameters:{payload:{type:"object"},payloadJson:{type:"string"}}},cancel:{},fieldChange:{parameters:{fieldPath:{type:"string"},value:{type:"any"},payload:{type:"object"},isValid:{type:"boolean"}}},validationStateChanged:{parameters:{isValid:{type:"boolean"}}},validationError:{parameters:{fieldPath:{type:"string"},message:{type:"string"}}},validationSuccess:{parameters:{fieldPath:{type:"string"}}}}},constructor:function t(a,i){e.prototype.constructor.call(this,a,i);this.stateManager=null;this.generatedContent=null;this.engine=null;this.activeModelName="";this.parsedSchema=null},init:function t(){e.prototype.init.call(this);this.dataSyncDelegate=new y(this);this.validationDelegate=new f(this);this.dialogDelegate=new M(this);this.onInternalFieldChange=this.onInternalFieldChange.bind(this)},setDebugMode:function e(t){this.setProperty("debugMode",t,true);g.setDebugMode(t);return this},getStateManager:function e(){return this.stateManager},tearDownGeneratedLayout:function e(){if(this.generatedContent){this.validationDelegate.unregisterObject(this.generatedContent);this.generatedContent.destroy();this.generatedContent=null}},onInternalFieldChange:function e(t,a,i,n){const s=this.stateManager?this.stateManager.extractPayload():{};if(this.getProperty("liveUpdate")===true){if(this.getProperty("debugMode")){g.debug("[MetaUI]","liveUpdate is enabled, pushing outbound payload.","GeneratorHost")}this.dataSyncDelegate.pushToBindings(s)}const r=this.getProperty("isValid");if(t!==r){this.setProperty("isValid",t,true);this.fireEvent("validationStateChanged",{isValid:t});if(this.getProperty("debugMode")){g.debug("[MetaUI]",`Validation state shifted to: ${t}`,"GeneratorHost")}}this.fireEvent("fieldChange",{fieldPath:a||"",value:undefined,payload:s,isValid:t})},exit:function e(){if(this.engine){this.engine.destroy();this.engine=null}if(this.stateManager){this.stateManager.getModel().destroy();this.stateManager=null}if(this.generatedContent){this.generatedContent.destroy();this.generatedContent=null}},getParsedSchema:function e(){return this.parsedSchema},onBeforeRendering:function e(){if(this.getProperty("debugMode")){g.debug("[MetaUI GeneratorHost]",`onBeforeRendering called. Engine boot state: schemaDefinition exists = ${!!this.getProperty("schemaDefinition")}, data exists = ${!!this.getProperty("data")}, dataJson exists = ${!!this.getProperty("dataJson")}`,"GeneratorHost")}if(!this.generatedContent){const e=!!this.getProperty("schemaDefinition");const t=!!this.getProperty("dataJson")||!!this.getProperty("data");if(e||t){this.generate()}else if(this.getProperty("debugMode")){g.debug("[MetaUI]","GeneratorHost skipped rendering. Neither 'schemaDefinition' nor data was provided.","GeneratorHost")}}},triggerSubmit:function e(){if(this.stateManager&&this.engine){let e=false;this.validationDelegate.removeAllMessages();const t=this.engine.validateAll();if(t.length>0){this.validationDelegate.pushMessage("","One or more fields failed schema validation. Please review the highlighted fields.");for(const e of t){if(e.fieldKey&&e.errorMessage){this.validationDelegate.pushMessage(e.fieldKey,e.errorMessage)}}return false}const a=this.stateManager.extractPayload();const i=JSON.stringify(a);this.fireEvent("beforeSubmit",{payload:a,preventDefault:()=>{e=true},addError:(t,a)=>{e=true;this.validationDelegate.pushMessage(t,a)}});if(e){return false}this.dataSyncDelegate.pushToBindings(a);this.fireEvent("submit",{payload:a,payloadJson:i});return true}return false},addCustomError:function e(t,a){this.validationDelegate.addCustomError(t,a)},clearCustomError:function e(t){this.validationDelegate.clearCustomError(t)},setBusy:function t(a){e.prototype.setBusy.call(this,a);return this},setProperty:function t(a,i,n){if(a==="dataJson"||a==="data"){this.dataSyncDelegate.handleInputDataHotSwap(a,i,n);return this}if(a==="displayMode"||a==="debugMode"||a==="schemaDefinition"){const t=this.getProperty(a);if(t!==i){e.prototype.setProperty.call(this,a,i,n);this.tearDownGeneratedLayout()}return this}return e.prototype.setProperty.call(this,a,i,n)},setBaseProperty:function t(a,i,n){return e.prototype.setProperty.call(this,a,i,n)},generate:function e(){try{this.tearDownGeneratedLayout();let e=null;if(this.stateManager){e=this.stateManager.extractPayload()}if(this.engine){this.engine.destroy();this.engine=null}if(this.stateManager){this.stateManager.getModel().destroy();this.stateManager=null}const t=this.getProperty("schemaDefinition");let a=this.getProperty("data");const i=this.getProperty("dataJson");if(i){try{a=JSON.parse(i)}catch(e){g.error("[MetaUI]","Failed to parse inputDataJson string: "+e.message,"GeneratorHost")}}else if(typeof a==="string"){try{a=JSON.parse(a)}catch(e){g.error("[MetaUI]","Failed to parse inputData string: "+e.message,"GeneratorHost")}}const n=e||a||{};const s=h.normalize(t,n);this.parsedSchema=s;if(s){const e=u.validateSchemaStructure(s);if(e.length>0){const t="Schema Structural Errors Found:\n- "+e.join("\n- ");g.error("[MetaUI]",t,"GeneratorHost");if(this.getProperty("debugMode")){d.error(t,{title:"MetaUI Schema Error"});return}}}this.activeModelName="metaUI_"+this.getId();this.stateManager=new p(n,s,this.activeModelName);this.setModel(this.stateManager.getModel(),this.activeModelName);this.engine=new c(this.getProperty("displayMode"));this.generatedContent=this.engine.build(s,this.stateManager.getModel(),this.activeModelName,this.triggerSubmit.bind(this),this.getId(),this.onInternalFieldChange.bind(this));this.setAggregation("_content",this.generatedContent);this.validationDelegate.registerObject(this.generatedContent);const r=this.stateManager.extractPayload();this.dataSyncDelegate.pushToBindings(r)}catch(e){g.error("[MetaUI]","Fatal crash during layout generation: "+e.message,"GeneratorHost");this.validationDelegate.mountCrashBoundary(e)}},openInDialog:function e(t="Form",a="OK"){const i=!!this.generatedContent;this.dialogDelegate.openInDialog(t,a,i)}});return m});
11
11
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate", ["sap/base/util/deepEqual","sap/base/util/extend","../../../utils/Logger","../../../core/SchemaNormalizer"],function(t,e,s,a){"use strict";const o=s["Logger"];const r=a["SchemaNormalizer"];class i{_lastPushedPayloadJson=null;_lastPushedPayloadObj=null;_lastReceivedInputObj=null;constructor(t){this.host=t}pushToBindings(e){const s=JSON.stringify(e,null,2);this._lastPushedPayloadJson=s;this._lastPushedPayloadObj=t({},e)?null:JSON.parse(JSON.stringify(e));this.host.setProperty("data",e,true);this.host.setProperty("dataJson",s,true)}handleInputDataHotSwap(s,a,i){let h=null;if(typeof a==="string"){try{h=JSON.parse(a)}catch(t){this.host.setBaseProperty(s,a,true);return}}else{h=a}if(h===null){this.host.setBaseProperty(s,a,true);return}if(this._lastReceivedInputObj&&t(h,this._lastReceivedInputObj)){if(this.host.getProperty("debugMode")){o.debug("[MetaUI]",`Dropped stale data injection for ${s}`,"DataSyncDelegate")}this.host.setBaseProperty(s,a,i);return}if(this._lastPushedPayloadObj&&t(h,this._lastPushedPayloadObj)){if(this.host.getProperty("debugMode")){o.debug("[MetaUI]",`Dropped echo for ${s}`,"DataSyncDelegate")}this.host.setBaseProperty(s,a,i);return}this._lastReceivedInputObj=e(true,{},h);if(this.host.getProperty("debugMode")){o.debug("[MetaUI]",`Accepted external injection for ${s}`,"DataSyncDelegate")}this.host.setBaseProperty(s,a,true);const n=this.host.getStateManager();if(!n){this.host.invalidate();return}try{n.getModel().setData(h,false);if(!this.host.getProperty("schemaDefinition")&&typeof this.host.getParsedSchema==="function"){const e=r.inferSchemaFromData(h);const s=this.host.getParsedSchema();if(!t(e,s)){this.host.tearDownGeneratedLayout();this.host.invalidate()}}}catch(t){const e=`Failed to hot-swap ${s}: `+t.message;o.error("[MetaUI]",e,"DataSyncDelegate");if(this.host.getProperty("debugMode")){sap.ui.require(["sap/m/MessageBox"],t=>t.error(e))}}}}var h={__esModule:true};h.DataSyncDelegate=i;return h});
12
12
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate", ["sap/m/Dialog","sap/m/Button","../../../utils/Logger"],function(t,e,s){"use strict";const o=s["Logger"];class i{constructor(t){this.host=t}openInDialog(s="Form",i="OK",n){if(!n){this.host.generate()}const r=new t({title:s,contentWidth:"800px",content:[this.host],beginButton:new e({text:i,type:"Emphasized",press:()=>{try{const t=this.host.triggerSubmit();if(t){r.close()}}catch(t){o.error("[MetaUI] Catastrophic error during validation/submit pipeline",t.message,"DialogDelegate");this.host.fireEvent("validationError",{fieldPath:"root",message:t.message})}}}),endButton:new e({text:"Cancel",press:()=>{this.host.fireEvent("cancel");r.close()}}),afterClose:()=>{r.destroy()}});r.open()}}var n={__esModule:true};n.DialogDelegate=i;return n});
13
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate", ["../../../utils/Logger"],function(t){"use strict";const e=t["Logger"];class a{odataType=null;isSyncing=false;constructor(t,e){this.host=t;this.context=e;this.detectODataType()}detectODataType(){const t=this.context.getModel();const e=t.getMetadata().getName();if(e.indexOf("v4")>-1){this.odataType="V4"}else if(e.indexOf("v2")>-1||e.indexOf("ODataModel")>-1){this.odataType="V2"}}syncToEngine(){if(!this.odataType)return;if(this.odataType==="V4"){if(typeof this.context.requestObject==="function"){this.context.requestObject().then(t=>{this.pushPayload(t)}).catch(t=>{e.error("[MetaUI]","Failed to extract V4 Context payload: "+t.message,"ODataDelegate")})}}else if(this.odataType==="V2"){const t=this.context.getObject();if(t){this.pushPayload(t)}}}pushPayload(t){if(!t)return;const e={...t};for(const t of Object.keys(e)){if(t.startsWith("@")||t.startsWith("__")){delete e[t]}}this.isSyncing=true;this.host.setProperty("data",e);this.isSyncing=false}handleFieldChange(t,a){if(this.isSyncing||!this.odataType)return;try{if(this.odataType==="V4"){this.context.setProperty(t,a)}else if(this.odataType==="V2"){const e=this.context.getModel();e.setProperty(t,a,this.context)}if(this.host.getProperty("debugMode")){e.debug("[MetaUI]",`ODataDelegate Patched ${t} = ${a} via ${this.odataType}`,"ODataDelegate")}}catch(t){e.error("[MetaUI]",`Failed to patch OData context: ${t.message}`,"ODataDelegate")}}}var s={__esModule:true};s.ODataDelegate=a;return s});
13
14
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate", ["sap/m/MessagePage","sap/ui/core/Messaging","../../../utils/Logger"],function(e,s,t){"use strict";const r=t["Logger"];class a{constructor(e){this.host=e}registerObject(e){if(this.host.getProperty("useMessageManager")){s.registerObject(e,true)}}unregisterObject(e){if(this.host.getProperty("useMessageManager")){s.unregisterObject(e)}}removeAllMessages(){if(this.host.getProperty("useMessageManager")){s.removeAllMessages()}}pushMessage(e,t){const a=e?`/${e.replace(/^\//,"")}`:"";const o=e?`Field '${e}': ${t}`:t;if(e){r.warn(`[MetaUI Validation Error] ${o}`)}else{r.warn(`[MetaUI Validation Error] Global - ${t}`)}if(this.host.getProperty("useMessageManager")){sap.ui.require(["sap/ui/core/message/Message"],e=>{const t=s;const r=this.host.getStateManager();t.addMessages(new e({message:o,type:"Error",target:a,processor:r?.getModel()}))})}}addCustomError(e,t){const r=this.host.getProperty("useMessageManager");const a=this.host.getStateManager();if(r&&a){sap.ui.require(["sap/ui/core/message/Message"],r=>{const o=s;o.addMessages(new r({message:t,type:"Error",target:`/${e.replace(/^\//,"")}`,processor:a.getModel()}))})}}clearCustomError(e){const t=this.host.getProperty("useMessageManager");const r=this.host.getStateManager();if(t&&r){const t=s;const a=t.getMessageModel().getData();const o=`/${e.replace(/^\//,"")}`;const g=a.find(e=>e.getTarget()===o&&e.getMessageProcessor()&&e.getMessageProcessor().getId()===r.getModel().getId());if(g){t.removeMessages(g)}}}mountCrashBoundary(s){r.error("[MetaUI] Engine failed to generate layout. Preventing Launchpad crash.",s.message,"ValidationDelegate");const t=new e({text:"UI Generation Failed",description:"The dynamic schema could not be rendered. Please check the Fiori console for diagnostic logs.",icon:"sap-icon://error"});this.host.setAggregation("_content",t)}}var o={__esModule:true};o.ValidationDelegate=a;return o});
14
15
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/ConditionEngine", ["./Registry"],function(e){"use strict";const r=e["Registry"];const s=new r("Operators");s.register("==",(e,r)=>e==r);s.register("===",(e,r)=>e===r);s.register("!=",(e,r)=>e!=r);s.register("!==",(e,r)=>e!==r);s.register(">",(e,r)=>e>r);s.register("<",(e,r)=>e<r);s.register(">=",(e,r)=>e>=r);s.register("<=",(e,r)=>e<=r);class t{constructor(e){this.schema=e}plugins=new Map;handleEvent(e,r){}registerPlugin(e,r){this.plugins.set(e,r)}destroy(){this.plugins.clear()}}var i={__esModule:true};i.OperatorRegistry=s;i.ConditionEngine=t;return i});
15
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator", [],function(){"use strict";class e{static ensureLayout(e){if(e.uiLayout&&Array.isArray(e.uiLayout)&&e.uiLayout.length>0){return false}const t=e.type==="array";const r=t?e.items?.properties:e.properties;if(!r||Object.keys(r).length===0){return false}const u=[];for(const e of Object.keys(r)){u.push({type:"Control",scope:`#/properties/${e}`})}if(t){e.uiLayout=u}else{e.uiLayout=[{type:"Group",label:e.title,elements:u}]}return true}}var t={__esModule:true};t.DefaultLayoutGenerator=e;return t});
16
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator", [],function(){"use strict";class e{static ensureLayout(e){if(e.uiLayout&&Array.isArray(e.uiLayout)&&e.uiLayout.length>0){return false}const t=e.type==="array";const r=t?e.items?.properties:e.properties;if(!r||Object.keys(r).length===0){return false}const s=this.generateElementsFromProperties(r,"#/properties");if(t){e.uiLayout=s.filter(e=>e.type==="Control")}else{e.uiLayout=[{type:"Group",label:e.title,elements:s}]}return true}static generateElementsFromProperties(e,t){const r=[];for(const s of Object.keys(e)){const o=e[s];const i=`${t}/${s}`;if(o.type==="object"&&o.properties){r.push({type:"Group",label:o.ui?.label||s,elements:this.generateElementsFromProperties(o.properties,`${i}/properties`)})}else{r.push({type:"Control",scope:i})}}return r}}var t={__esModule:true};t.DefaultLayoutGenerator=e;return t});
16
17
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/Engine", ["./ConditionEngine","./PluginRegistry","sap/m/Text","../utils/Logger","./DefaultLayoutGenerator","sap/ui/core/Messaging"],function(e,t,n,i,r,o){"use strict";const s=e["ConditionEngine"];const a=t["PluginRegistry"];const g=i["Logger"];const l=r["DefaultLayoutGenerator"];class u{conditionEngine=null;activePlugins=[];isDisplayMode=false;constructor(e=false){this.isDisplayMode=e}build(e,t,i="meta",r,o,a){this.conditionEngine=new s(e);this.activePlugins=[];this.activeModel=t;this.engineScopeId=o;this.onChange=(e,t,n,i)=>{if(this.conditionEngine&&t){this.conditionEngine.handleEvent(t,e)}if(a){a(e,t,n,i)}};try{if(l.ensureLayout(e)){g.warn("[MetaUI Engine] Missing 'uiLayout' array in schema. Synthesized a default layout mapping to prevent a blank render.")}const t=e.layoutStrategy||(e.type==="array"?"table":"form");const n=u.layoutRegistry.getStrict(t);return n.render(e,i,this,r)}catch(e){const t=e.message;g.error("[MetaUI Engine] Critical error during layout generation",t);g.showErrorPopup(`Engine failed to generate the layout.\n\nDetails: ${t}`);return new n({text:"Critical Layout Error"})}}generateField(e,t,i,r=false){try{const n=a.getInstance().getPlugin(e.type||"string",e.ui?.widget);n.setDisplayMode(this.isDisplayMode);if(!r){this.activePlugins.push({plugin:n,path:t})}const o=r?undefined:this.engineScopeId;const s=n.render(e,t,i,o,this.onChange);if(this.conditionEngine){this.conditionEngine.registerPlugin(t,n)}return s}catch(e){const i=e.message;g.error(`[MetaUI Engine] Failed to generate field at ${t}`,i);g.showErrorPopup(`Failed to generate field '${t}'.\n\nDetails: ${i}`);return new n({text:`[Error generating field ${t}]`})}}generateLayout(e,t,i){try{const n=e.layoutStrategy||(e.type==="array"?"table":"form");const r=u.layoutRegistry.getStrict(n);return r.render(e,t,this,undefined,i)}catch(e){const t=e.message;g.error(`[MetaUI Engine] Critical error generating sub-layout for ${i}`,t);g.showErrorPopup(`Engine failed to generate a sub-layout.\n\nDetails: ${t}`);return new n({text:"Critical Sub-Layout Error"})}}validateAll(){const e=[];for(const t of this.activePlugins){const n=t.plugin.validate();if(!n.isValid){n.fieldKey=n.fieldKey||t.path.replace(/^\//,"");e.push(n);g.error("[MetaUI Validation] Plugin failed validation silently:",t.path||t.plugin.constructor.name)}}return e}destroy(){if(this.conditionEngine){this.conditionEngine.destroy();this.conditionEngine=null}const e=o;const t=e.getMessageModel().getData();const n=[];for(const e of this.activePlugins){if(this.activeModel){const i=`/${e.path.replace(/^\//,"")}`;const r=t.filter(e=>e.getTarget()===i&&e.getMessageProcessor()&&e.getMessageProcessor().getId()===this.activeModel.getId());n.push(...r)}if(typeof e.plugin.destroy==="function"){e.plugin.destroy()}}if(n.length>0){e.removeMessages(n)}this.activePlugins=[]}}var c={__esModule:true};c.Engine=u;return c});
17
18
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/LayoutRegistry", ["./Registry","../layouts/FormLayout","../layouts/TableLayout","../layouts/WizardLayout","../layouts/CompactLayout","./Engine"],function(t,o,e,a,s,r){"use strict";const u=t["Registry"];const n=o["FormLayout"];const y=e["TableLayout"];const i=a["WizardLayout"];const c=s["CompactLayout"];const g=r["Engine"];const L=new u("Layouts");L.register("form",new n);L.register("table",new y);L.register("wizard",new i);L.register("compact",new c);g.layoutRegistry=L;var l={__esModule:true};l.LayoutRegistry=L;return l});
18
19
  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(t,e,r,i,a,s,n,l,o,g,u){"use strict";const d=t["Registry"];const c=e["PatternValidatorPlugin"];const P=r["MinLengthValidatorPlugin"];const f=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 F{validate(t,e){if(t===null||t===undefined||t===""){return{isValid:false,errorMessage:"This field is required."}}return{isValid:true}}}class x{validate(t,e){if(typeof t==="string"&&e&&typeof e==="number"){if(t.length>e){return{isValid:false,errorMessage:`Maximum length is ${e} characters.`}}}return{isValid:true}}}class L{formatters=new d("Formatters");parsers=new d("Parsers");validators=new d("Validators");constructor(){this.validators.register("required",new F);this.validators.register("maxLength",new x);this.validators.register("pattern",new c);this.validators.register("minLength",new P);this.validators.register("range",new f);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(t,e,r){for(const i of e){const e=this.validators.get(i);if(e){const a=r?r[i]:undefined;const s=e.validate(t,a);if(!s.isValid){return s}}else{M.warn(`[MetaUI] PipelineManager: Requested validator '${i}' not found in registry.`)}}return{isValid:true}}}const b=new L;var y={__esModule:true};y.PipelineManager=L;y.GlobalPipeline=b;return y});
19
20
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/PluginRegistry", ["./Registry","../utils/Logger","../plugins/controls/StringPlugin","../plugins/controls/NumberPlugin","../plugins/controls/DatePlugin","../plugins/controls/TimePlugin","../plugins/controls/DateTimePlugin","../plugins/controls/BooleanPlugin","../plugins/controls/SwitchPlugin","../plugins/controls/ArrayPlugin","../plugins/controls/ObjectPlugin","../plugins/controls/DropdownPlugin","../plugins/controls/TextAreaPlugin","../plugins/controls/CodeEditorPlugin","../plugins/controls/FileUploaderPlugin","../plugins/controls/MultiSelectPlugin","../plugins/controls/SliderPlugin","../plugins/controls/RatingIndicatorPlugin","../plugins/controls/MessageStripPlugin","../plugins/controls/CameraPlugin","../plugins/controls/SignaturePlugin","../plugins/controls/GeolocationPlugin","../plugins/controls/BarcodeScannerPlugin","../plugins/controls/VoiceInputPlugin","../plugins/controls/RichTextPlugin","../plugins/actions/UrlNavigationActionPlugin","../plugins/actions/SubmitFormActionPlugin","../plugins/datasources/ODataListBindingPlugin","../plugins/datasources/RemoteDropdownPlugin"],function(i,t,n,r,s,e,g,o,l,u,c,a,P,p,h,d,m,S,w,y,b,D,$,R,I,f,T,A,M){"use strict";const U=i["Registry"];const B=t["Logger"];const E=n["StringPlugin"];const F=r["NumberPlugin"];const x=s["DatePlugin"];const C=e["TimePlugin"];const N=g["DateTimePlugin"];const j=o["BooleanPlugin"];const v=l["SwitchPlugin"];const L=u["ArrayPlugin"];const O=c["ObjectPlugin"];const G=a["DropdownPlugin"];const V=P["TextAreaPlugin"];const _=p["CodeEditorPlugin"];const k=h["FileUploaderPlugin"];const q=d["MultiSelectPlugin"];const z=m["SliderPlugin"];const H=S["RatingIndicatorPlugin"];const J=w["MessageStripPlugin"];const K=y["CameraPlugin"];const Q=b["SignaturePlugin"];const W=D["GeolocationPlugin"];const X=$["BarcodeScannerPlugin"];const Y=R["VoiceInputPlugin"];const Z=I["RichTextPlugin"];const ii=f["UrlNavigationActionPlugin"];const ti=T["SubmitFormActionPlugin"];const ni=A["ODataListBindingPlugin"];const ri=M["RemoteDropdownPlugin"];class si{registry=new U("Controls");constructor(){this.register("string",E);this.register("number",F);this.register("integer",F);this.register("date",x);this.register("boolean",j);this.register("array",L);this.register("object",O);this.register("string",C,"time");this.register("string",N,"datetime");this.register("boolean",v,"switch");this.register("string",G,"select");this.register("string",V,"textArea");this.register("string",_,"codeEditor");this.register("string",k,"fileUploader");this.register("array",q,"multiSelect");this.register("number",z,"slider");this.register("number",H,"rating");this.register("string",J,"messageStrip");this.register("string",K,"camera");this.register("string",Q,"signature");this.register("object",W,"location");this.register("string",X,"scanner");this.register("string",Y,"voiceInput");this.register("string",Z,"richText");this.register("string",ii,"urlButton");this.register("string",ti,"submitButton");this.register("string",ni,"odataSelect");this.register("string",ri,"remoteDropdown")}static getInstance(){if(!si.instance){si.instance=new si}return si.instance}register(i,t,n){const r=n?`${i}:${n}`:i;this.registry.register(r,t)}getPlugin(i,t){let n;if(t){n=this.registry.get(`${i}:${t}`)}if(!n){n=this.registry.get(i)}if(!n){const n=`No control plugin registered for FieldType: ${i}${t?` (widget: ${t})`:""}`;B.error("[MetaUI PluginRegistry]",n);B.showErrorPopup(`Plugin Registry Error.\n\nDetails: ${n}`);throw new Error(`[MetaUI] ${n}`)}try{return new n}catch(t){const n=t.message;B.error(`[MetaUI PluginRegistry] Failed to instantiate plugin for ${i}`,n);B.showErrorPopup(`Failed to instantiate plugin for '${i}'.\n\nDetails: ${n}`);throw new Error(`[MetaUI Plugin Instantiation] ${n}`)}}}var ei={__esModule:true};ei.PluginRegistry=si;return ei});
20
21
  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 e=this.get(t);if(!e){throw new Error(`[MetaUI] ${this.registryName}: Key '${t}' not found.`)}return e}getKeys(){return Array.from(this.items.keys())}clear(){this.items.clear()}}var s={__esModule:true};s.Registry=r;return s});
21
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/SchemaNormalizer", ["../utils/Logger"],function(e){"use strict";const t=e["Logger"];class r{static normalize(e,r){let i=e;if(typeof i==="string"){try{i=JSON.parse(i)}catch(e){const r=e.message;t.error("[MetaUI SchemaNormalizer] Failed to parse schema string.",r);t.showErrorPopup(`Failed to parse the provided JSON schema.\n\nDetails: ${r}`);i=null}}if(!i||typeof i!=="object"||Array.isArray(i)){return this.inferSchemaFromData(r)}try{const e={title:i.title,type:i.type||(i.items?"array":"object"),layoutStrategy:i.layoutStrategy,uiLayout:i.uiLayout,additionalProperties:i.additionalProperties};let t=i.properties||{};if(i.additionalProperties===true&&r){const e=this.inferSchemaFromData(r);if(e.type==="object"&&e.properties){t=this.deepMergeProperties(e.properties,t)}else if(e.type==="array"&&e.items&&e.items.properties){}}if(e.type==="object"){e.properties=this.normalizeProperties(t)}else if(e.type==="array"){e.items=this.normalizePropertyMetadata(i.items||{type:"object",properties:{}},"items")}return e}catch(e){const r=e.message;t.error("[MetaUI SchemaNormalizer] Critical error normalizing schema object.",r);t.showErrorPopup(`Schema Normalization failed.\n\nDetails: ${r}`);return{type:"object",properties:{}}}}static deepMergeProperties(e,t){const r={...e};for(const e of Object.keys(t)){const i=t[e];const a=r[e];if(a&&typeof a==="object"&&!Array.isArray(a)&&i&&typeof i==="object"&&!Array.isArray(i)){r[e]=this.deepMergeProperties(a,i)}else{r[e]=i}}return r}static normalizeProperties(e){const t={};for(const r of Object.keys(e)){t[r]=this.normalizePropertyMetadata(e[r],r)}return t}static normalizePropertyMetadata(e,t){const r={type:e.type||"string",ui:{label:e.ui?.label||this.generateLabel(t),isKey:!!e.ui?.isKey,readOnly:!!e.ui?.readOnly,widget:e.ui?.widget||(e.valueHelp||e.enum?"select":undefined),visibleOn:e.ui?.visibleOn,enabledOn:e.ui?.enabledOn,format:e.ui?.format,validators:e.ui?.validators,formatter:e.ui?.formatter,args:e.ui?.args,rows:e.ui?.rows,fullWidth:e.ui?.fullWidth},required:!!e.required,maxLength:e.maxLength,minimum:e.minimum,maximum:e.maximum,pattern:e.pattern,precision:e.precision,scale:e.scale,valueHelp:e.valueHelp,enum:e.enum};if(r.type==="object"&&e.properties){r.properties=this.normalizeProperties(e.properties);r.uiLayout=e.uiLayout}else if(r.type==="array"&&e.items){r.items=this.normalizePropertyMetadata(e.items,"items");r.uiLayout=e.uiLayout}return r}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";t.layoutStrategy="table";t.items={type:"object",layoutStrategy:"compact",properties:e.length>0?this.inferPropertiesFromObject(e[0]):{}}}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 r of Object.keys(e)){const i=e[r];if(i===null||i===undefined)continue;if(typeof i==="object"&&!Array.isArray(i))continue;let a="string";let o;if(typeof i==="number")a="number";else if(typeof i==="boolean")a="boolean";else if(Array.isArray(i)){a="array";o={type:"object",properties:i.length>0?this.inferPropertiesFromObject(i[0]):{}}}t[r]={type:a,items:o,ui:{label:this.generateLabel(r),isKey:false,readOnly:false}}}return t}}var i={__esModule:true};i.SchemaNormalizer=r;return i});
22
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/SchemaNormalizer", ["../utils/Logger"],function(e){"use strict";const t=e["Logger"];class r{static normalize(e,r){let i=e;if(typeof i==="string"){try{i=JSON.parse(i)}catch(e){const r=e.message;t.error("[MetaUI SchemaNormalizer] Failed to parse schema string.",r);t.showErrorPopup(`Failed to parse the provided JSON schema.\n\nDetails: ${r}`);i=null}}if(!i||typeof i!=="object"||Array.isArray(i)){return this.inferSchemaFromData(r)}try{const e={title:i.title,type:i.type||(i.items?"array":"object"),layoutStrategy:i.layoutStrategy,uiLayout:i.uiLayout,additionalProperties:i.additionalProperties};let t=i.properties||{};if(i.additionalProperties===true&&r){const e=this.inferSchemaFromData(r);if(e.type==="object"&&e.properties){t=this.deepMergeProperties(e.properties,t)}else if(e.type==="array"&&e.items&&e.items.properties){}}if(e.type==="object"){e.properties=this.normalizeProperties(t)}else if(e.type==="array"){e.items=this.normalizePropertyMetadata(i.items||{type:"object",properties:{}},"items")}return e}catch(e){const r=e.message;t.error("[MetaUI SchemaNormalizer] Critical error normalizing schema object.",r);t.showErrorPopup(`Schema Normalization failed.\n\nDetails: ${r}`);return{type:"object",properties:{}}}}static deepMergeProperties(e,t){const r={...e};for(const e of Object.keys(t)){const i=t[e];const a=r[e];if(a&&typeof a==="object"&&!Array.isArray(a)&&i&&typeof i==="object"&&!Array.isArray(i)){r[e]=this.deepMergeProperties(a,i)}else{r[e]=i}}return r}static normalizeProperties(e){const t={};for(const r of Object.keys(e)){t[r]=this.normalizePropertyMetadata(e[r],r)}return t}static normalizePropertyMetadata(e,t){const r={type:e.type||"string",ui:{label:e.ui?.label||this.generateLabel(t),isKey:!!e.ui?.isKey,readOnly:!!e.ui?.readOnly,widget:e.ui?.widget||(e.valueHelp||e.enum?"select":undefined),visibleOn:e.ui?.visibleOn,enabledOn:e.ui?.enabledOn,format:e.ui?.format,validators:e.ui?.validators,formatter:e.ui?.formatter,args:e.ui?.args,rows:e.ui?.rows,fullWidth:e.ui?.fullWidth},required:!!e.required,maxLength:e.maxLength,minimum:e.minimum,maximum:e.maximum,pattern:e.pattern,precision:e.precision,scale:e.scale,valueHelp:e.valueHelp,enum:e.enum};if(r.type==="object"&&e.properties){r.properties=this.normalizeProperties(e.properties);r.uiLayout=e.uiLayout}else if(r.type==="array"&&e.items){r.items=this.normalizePropertyMetadata(e.items,"items");r.uiLayout=e.uiLayout}return r}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";t.layoutStrategy="table";t.items={type:"object",layoutStrategy:"compact",properties:e.length>0?this.inferPropertiesFromObject(e[0]):{}}}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 r of Object.keys(e)){const i=e[r];if(i===null||i===undefined)continue;let a="string";let o;let s;if(typeof i==="number")a="number";else if(typeof i==="boolean")a="boolean";else if(Array.isArray(i)){a="array";o={type:"object",properties:i.length>0?this.inferPropertiesFromObject(i[0]):{}}}else if(typeof i==="object"){a="object";s=this.inferPropertiesFromObject(i)}t[r]={type:a,items:o,properties:s,ui:{label:this.generateLabel(r),isKey:false,readOnly:false}}}return t}static resolveScope(e,r){if(!r||!r.startsWith("#/properties/")){return{meta:undefined,bindingPath:r||"",propKey:r||""}}const i=r.replace("#/properties/","").split("/properties/");let a=e.properties;let o;t.debug("[MetaUI SchemaNormalizer]",`Resolving scope '${r}' with segments: ${JSON.stringify(i)}`,"SchemaNormalizer");t.debug("[MetaUI SchemaNormalizer]",`Root schema keys: ${Object.keys(e.properties||{})}`,"SchemaNormalizer");for(let e=0;e<i.length;e++){const r=i[e];if(!a){t.debug("[MetaUI SchemaNormalizer]",`current is undefined at segment '${r}'`,"SchemaNormalizer");o=undefined;break}o=a[r];t.debug("[MetaUI SchemaNormalizer]",`Segment '${r}' resolved to meta: ${!!o}. Available keys in current: ${Object.keys(a)}`,"SchemaNormalizer");if(e<i.length-1){a=o?.properties}}const s=i.join("/");const n=r.replace("#/properties/","");return{meta:o,bindingPath:s,propKey:n}}}var i={__esModule:true};i.SchemaNormalizer=r;return i});
22
23
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/SchemaValidator", [],function(){"use strict";class e{static validateSchemaStructure(e){const t=[];if(!e||typeof e!=="object"){return["Root schema must be an object."]}if(e.type!=="object"&&e.type!=="array"){t.push(`Root schema must have type 'object' or 'array'. Found: '${e.type}'`)}if(e.type==="object"&&!e.properties){t.push("Object schema is missing the 'properties' node.")}if(e.properties){for(const o of Object.keys(e.properties)){const r=e.properties[o];if(!r||typeof r!=="object"){t.push(`Property '${o}' must be an object.`);continue}if(!r.type){t.push(`Property '${o}' is missing 'type'.`)}else{const e=["string","number","boolean","date","object","array"];if(!e.includes(r.type)){t.push(`Property '${o}' has invalid type '${r.type}'. Allowed: ${e.join(", ")}`)}}}}return t}}var t={__esModule:true};t.SchemaValidator=e;return t});
23
24
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/StateManager", ["sap/ui/model/json/JSONModel","./PipelineManager","sap/ui/core/message/Message","sap/ui/core/library","sap/ui/core/Messaging"],function(e,t,s,a,i){"use strict";const r=t["GlobalPipeline"];class o{constructor(t={},s,a="meta"){this.activeModelName=a;this.schema=s;const i=JSON.parse(JSON.stringify(t));this.model=new e(i);this.model.setDefaultBindingMode("TwoWay");const r=this.model.setProperty.bind(this.model);this.model.setProperty=(e,t,s,a)=>{const i=r(e,t,s,a);this.validatePath(e,t);return i}}validatePath(e,t){const o=e.replace(/^\//,"");const n=this.findMetadataForPath(o);const d=i;const l=e.startsWith("/")?e:`/${e}`;const g=d.getMessageModel().getData();const h=g.filter(e=>{const t=e.getTarget()===l&&e.getMessageProcessor()&&e.getMessageProcessor().getId()===this.model.getId();return t});if(h.length>0){d.removeMessages(h)}if(!n)return;const c=[];const m={};if(n.required){c.push("required")}if(n.type==="string"&&n.maxLength){c.push("maxLength");m["maxLength"]={max:n.maxLength}}if(n.ui?.validators){for(const e of n.ui.validators){if(typeof e==="string"){c.push(e)}else if(e&&e.name){c.push(e.name);if(e.args!==undefined){m[e.name]=e.args}}}}if(c.length>0){const e=r.executeValidation(t,c,m);if(!e.isValid){const t=new s({message:e.errorMessage||"Invalid value.",type:a.MessageType.Error,target:l,processor:this.model});d.addMessages(t)}}}findMetadataForPath(e){if(!this.schema||!this.schema.properties)return undefined;return this.schema.properties[e]}getModel(){return this.model}bindControl(e,t,s){e.bindProperty(t,{path:s,model:"meta"})}extractPayload(){const e=this.model.getData();return JSON.parse(JSON.stringify(e))}destroy(){if(this.model){this.model.destroy()}}}var n={__esModule:true};n.StateManager=o;return n});
24
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/layouts/CompactLayout", ["sap/m/VBox","sap/m/Label","../utils/Logger"],function(e,t,a){"use strict";const r=a["Logger"];class o{render(t,a,o,i){const s=new e({renderType:"Bare"});s.addStyleClass("sapUiTinyMargin");if(!t.uiLayout||!Array.isArray(t.uiLayout)){r.warn("[MetaUI] Missing 'uiLayout' array in schema. CompactLayout will not render any fields.");return s}const n=[];const l=e=>{if(e.type==="Group"){if(e.label){const t=new sap.m.Title({text:e.label,level:"H5"});t.addStyleClass("sapUiTinyMarginTop sapUiTinyMarginBottom");s.addItem(t)}if(e.elements&&Array.isArray(e.elements)){e.elements.forEach(l)}}else if(e.type==="Control"){if(!e.scope||!e.scope.startsWith("#/properties/")){r.error(`[MetaUI] Invalid scope '${e.scope}' in uiLayout Control.`,"","CompactLayout");return}const i=e.scope.replace("#/properties/","");const l=t.properties?.[i];if(!l){r.error(`[MetaUI] Property '${i}' not found in schema definitions.`,"","CompactLayout");return}const p=l.items?.type==="object"||l.items?.properties;const c=!!l.ui?.widget;const u=l.type==="array"&&p&&!c;if(u){r.debug("[MetaUI CompactLayout]",`Routing property '${i}' to Table Sub-Layout.`,"CompactLayout");n.push({scope:i,meta:l,label:e.label})}else{r.debug("[MetaUI CompactLayout]",`Rendering scalar field '${i}'.`,"CompactLayout");this._renderScalarField(s,e,i,l,a,o)}}else{r.warn(`[MetaUI] Unsupported layout element type '${e.type}'.`,"","CompactLayout")}};t.uiLayout.forEach(l);n.forEach(e=>{try{const t={type:"array",title:e.label||e.meta.ui?.label||e.scope,items:e.meta.items||{type:"object",properties:{}},uiLayout:e.meta.items?.uiLayout};const r=o.generateLayout(t,a,`/${e.scope}`);if(r){r.addStyleClass("sapUiTinyMarginTop");s.addItem(r)}}catch(t){const a=t.message;r.error(`[MetaUI] Failed to render array field ${e.scope}`,a,"CompactLayout");r.showErrorPopup(`Failed to render array field '${e.scope}'.\n\nDetails: ${a}`)}});return s}_renderScalarField(a,o,i,s,n,l){try{const r=o.label||s.ui?.label||i;const p=new t({text:r,required:s.required});p.addStyleClass("sapUiTinyMarginTop");const c={...s};if(o.widget){c.ui={...s.ui,widget:o.widget}}const u=l.generateField(c,`/${i}`,n);u.addStyleClass("sapUiTinyMarginBottom");const y=new e({renderType:"Bare",items:[p,u]});a.addItem(y)}catch(e){const t=e.message;r.error(`[MetaUI] Failed to render field ${i}`,t,"CompactLayout");r.showErrorPopup(`Failed to render field '${i}'.\n\nDetails: ${t}`)}}}var i={__esModule:true};i.CompactLayout=o;return i});
25
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/layouts/FormLayout", ["sap/ui/layout/form/SimpleForm","sap/m/Label","sap/ui/core/Title","sap/m/VBox","../utils/Logger"],function(e,t,a,r,o){"use strict";const i=o["Logger"];class s{render(t,o,s,n){const l=new r({renderType:"Bare"});const u=new e({editable:true,title:t.title,layout:"ResponsiveGridLayout",labelSpanXL:4,labelSpanL:4,labelSpanM:4,labelSpanS:12,adjustLabelSpan:false,emptySpanXL:0,emptySpanL:0,emptySpanM:0,emptySpanS:0,columnsXL:1,columnsL:1,columnsM:1,singleContainerFullSize:false});if(!t.uiLayout||!Array.isArray(t.uiLayout)){i.warn("[MetaUI] Missing 'uiLayout' array in schema. Form will not render any fields.");l.addItem(u);return l}const p=[];let d=false;const y=e=>{if(e.type==="Group"){if(e.label){u.addContent(new a({text:e.label}))}if(e.elements&&Array.isArray(e.elements)){e.elements.forEach(y)}}else if(e.type==="Control"){if(!e.scope||!e.scope.startsWith("#/properties/")){i.error(`[MetaUI] Invalid scope '${e.scope}' in uiLayout Control.`,"","FormLayout");return}const a=e.scope.replace("#/properties/","");const r=t.properties?.[a];if(!r){i.error(`[MetaUI] Property '${a}' not found in schema definitions.`,"","FormLayout");return}const n=r.items?.type==="object"||r.items?.properties;const l=!!r.ui?.widget;const y=r.type==="array"&&n&&!l;if(y){i.debug("[MetaUI FormLayout]",`Routing property '${a}' to Table Sub-Layout.`,"FormLayout");p.push({scope:a,meta:r,label:e.label})}else{d=true;i.debug("[MetaUI FormLayout]",`Rendering scalar field '${a}'.`,"FormLayout");this._renderScalarField(u,e,a,r,o,s)}}else{i.warn(`[MetaUI] Unsupported layout element type '${e.type}'.`,"","FormLayout")}};t.uiLayout.forEach(y);if(d){l.addItem(u)}p.forEach(e=>{try{const t={type:"array",title:e.label||e.meta.ui?.label||e.scope,items:e.meta.items||{type:"object",properties:{}},uiLayout:e.meta.items?.uiLayout};const a=s.generateLayout(t,o,`/${e.scope}`);if(a){a.addStyleClass("sapUiSmallMarginTop");l.addItem(a)}}catch(t){const a=t.message;i.error(`[MetaUI] Failed to render array field ${e.scope}`,a,"FormLayout");i.showErrorPopup(`Failed to render array field '${e.scope}'.\n\nDetails: ${a}`)}});return l}_renderScalarField(e,a,r,o,s,n){try{const i=a.label||o.ui?.label||r;const l=new t({text:i,required:o.required});const u={...o};if(a.widget){u.ui={...o.ui,widget:a.widget}}const p=n.generateField(u,`/${r}`,s);if(u.ui?.fullWidth){sap.ui.require(["sap/ui/layout/GridData"],e=>{p.setLayoutData(new e({span:"XL12 L12 M12 S12"}))})}e.addContent(l);e.addContent(p)}catch(e){const t=e.message;i.error(`[MetaUI] Failed to render field ${r}`,t,"FormLayout");i.showErrorPopup(`Failed to render field '${r}'.\n\nDetails: ${t}`)}}}var n={__esModule:true};n.FormLayout=s;return n});
26
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/layouts/TableLayout", ["sap/m/Table","sap/m/Column","sap/m/Text","sap/m/ColumnListItem","sap/m/Toolbar","sap/m/Title","sap/m/ToolbarSpacer","sap/m/Button","../utils/Logger"],function(e,t,o,r,a,n,s,i,l){"use strict";const p=l["Logger"];class c{render(l,c,u,d,m="/"){if(l.type!=="array"||!l.items||!l.items.properties){throw new Error("[MetaUI] TableLayout requires an array schema with items.properties.")}const y=l.title||"Table";const b=c;const g=m;const h=new e({headerToolbar:new a({content:[new n({text:y}),new s,...u.isDisplayMode?[]:[new i({text:"Add Row",icon:"sap-icon://add",press:e=>{const t=e.getSource();const o=t.getParent().getParent();const r=o.getModel(b);const a=o.getBindingInfo("items");if(!a||!a.path)return;const n=r.getProperty(a.path);const s=Array.isArray(n)?n:[];const i=[...s,{}];r.setProperty(a.path,i)}})]]}),fixedLayout:false,mode:u.isDisplayMode?"None":"Delete",delete:e=>{const t=e.getParameter("listItem");const o=t.getBindingContext(b).getPath();const r=t.getModel(b);const a=o.split("/");const n=parseInt(a.pop()||"0",10);let s=a.join("/");if(s==="")s="/";const i=r.getProperty(s);const l=Array.isArray(i)?i:[];const p=[...l];p.splice(n,1);r.setProperty(s,p)}});const f=[];const w=l.items.properties;const T=l.uiLayout;if(T&&Array.isArray(T)){T.forEach(e=>{if(e.type==="Control"){if(!e.scope||!e.scope.startsWith("#/properties/")){p.error(`[MetaUI] Invalid scope '${e.scope}' in uiLayout Control for Table.`,"","TableLayout");return}const r=e.scope.replace("#/properties/","");const a=w[r];if(!a){p.error(`[MetaUI] Property '${r}' not found in schema definitions for Table.`,"","TableLayout");return}try{const n=!!a.ui?.isKey;const s=new t({header:new o({text:e.label||a.ui?.label||r}),demandPopin:!n,minScreenWidth:n?"":"Tablet",popinDisplay:"Inline"});h.addColumn(s);const i={...a};if(e.widget){i.ui={...a.ui,widget:e.widget}}const l=u.generateField(i,r,b||"meta",true);f.push(l)}catch(e){const t=e.message;p.error(`[MetaUI] Failed to render column ${r}`,t,"TableLayout");p.showErrorPopup(`Failed to render table column '${r}'.\n\nDetails: ${t}`);f.push(new o({text:"Error"}))}}else{p.warn(`[MetaUI] Unsupported layout element type '${e.type}' inside TableLayout. Only 'Control' is supported for columns.`,"","TableLayout")}})}else{p.debug("[MetaUI TableLayout]","No uiLayout provided. Falling back to rendering all properties as columns.","TableLayout");Object.keys(w).forEach(e=>{try{const r=w[e];const a=!!r.ui?.isKey;const n=new t({header:new o({text:r.ui?.label||e}),demandPopin:!a,minScreenWidth:a?"":"Tablet",popinDisplay:"Inline"});h.addColumn(n);const s=u.generateField(r,e,b||"meta",true);f.push(s)}catch(t){const r=t.message;p.error(`[MetaUI] Failed to render fallback column ${e}`,r,"TableLayout");p.showErrorPopup(`Failed to render fallback table column '${e}'.\n\nDetails: ${r}`);f.push(new o({text:"Error"}))}})}const L=new r({cells:f});h.bindItems({path:g,model:b,template:L,templateShareable:false});return h}}var u={__esModule:true};u.TableLayout=c;return u});
27
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/layouts/WizardLayout", ["sap/m/Wizard","sap/m/WizardStep","sap/ui/layout/form/SimpleForm","sap/m/Label","../utils/Logger"],function(e,t,a,r,n){"use strict";const i=n["Logger"];class o{render(r,n,o,s){const u=new e({renderMode:"Page",showNextButton:true,complete:function(){if(s)s()}});if(!r.uiLayout||!Array.isArray(r.uiLayout)){i.warn("[MetaUI] Missing 'uiLayout' array in wizard schema. Wizard will not render any steps.");return u}r.uiLayout.forEach(e=>{if(e.type==="Group"||e.type==="WizardStep"){const i=new t({title:e.label||"Step",validated:true});const s=new a({editable:true,layout:"ResponsiveGridLayout",labelSpanXL:4,labelSpanL:4,labelSpanM:4,labelSpanS:12,adjustLabelSpan:false,emptySpanXL:0,emptySpanL:0,emptySpanM:0,emptySpanS:0,columnsXL:1,columnsL:1,columnsM:1,singleContainerFullSize:false});if(e.elements&&Array.isArray(e.elements)){e.elements.forEach(e=>{this._renderElementInForm(s,e,r,n,o)})}i.addContent(s);u.addStep(i)}else{i.warn(`[MetaUI] Top-level element '${e.type}' inside WizardLayout must be 'Group' or 'WizardStep'.`,"","WizardLayout")}});return u}_renderElementInForm(e,t,a,n,o){if(t.type==="Control"){if(!t.scope||!t.scope.startsWith("#/properties/")){i.error(`[MetaUI] Invalid scope '${t.scope}' in uiLayout Control.`,"","WizardLayout");return}const s=t.scope.replace("#/properties/","");const u=a.properties?.[s];if(!u){i.error(`[MetaUI] Property '${s}' not found in schema definitions.`,"","WizardLayout");return}try{const a=t.label||u.ui?.label||s;const i=new r({text:a,required:u.required});const l={...u};if(t.widget){l.ui={...u.ui,widget:t.widget}}const d=o.generateField(l,`/${s}`,n);if(l.ui?.fullWidth){sap.ui.require(["sap/ui/layout/GridData"],e=>{d.setLayoutData(new e({span:"XL12 L12 M12 S12"}))})}e.addContent(i);e.addContent(d)}catch(t){i.error(`[MetaUI] Failed to render Wizard field ${s}`,t.message,"WizardLayout");e.addContent(new r({text:s}))}}else{i.warn(`[MetaUI] Nested groups within Wizard steps are not fully supported in SimpleForm yet.`,"","WizardLayout")}}}var s={__esModule:true};s.WizardLayout=o;return s});
25
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/layouts/CompactLayout", ["sap/m/VBox","sap/m/Label","../core/SchemaNormalizer","../utils/Logger"],function(e,t,a,r){"use strict";const o=a["SchemaNormalizer"];const i=r["Logger"];class s{render(t,a,r,s){const n=new e({renderType:"Bare"});n.addStyleClass("sapUiTinyMargin");if(!t.uiLayout||!Array.isArray(t.uiLayout)){i.warn("[MetaUI] Missing 'uiLayout' array in schema. CompactLayout will not render any fields.");return n}const l=[];const p=e=>{if(e.type==="Group"){if(e.label){const t=new sap.m.Title({text:e.label,level:"H5"});t.addStyleClass("sapUiTinyMarginTop sapUiTinyMarginBottom");n.addItem(t)}if(e.elements&&Array.isArray(e.elements)){e.elements.forEach(p)}}else if(e.type==="Control"){if(!e.scope||!e.scope.startsWith("#/properties/")){i.error(`[MetaUI] Invalid scope '${e.scope}' in uiLayout Control.`,"","CompactLayout");return}const{meta:s,bindingPath:p,propKey:c}=o.resolveScope(t,e.scope);if(!s){i.error(`[MetaUI] Property '${c}' not found in schema definitions.`,"","CompactLayout");return}const y=s.items?.type==="object"||s.items?.properties;const u=!!s.ui?.widget;const d=s.type==="array"&&y&&!u;if(d){i.debug("[MetaUI CompactLayout]",`Routing property '${c}' to Table Sub-Layout.`,"CompactLayout");l.push({scope:p,meta:s,label:e.label})}else{i.debug("[MetaUI CompactLayout]",`Rendering scalar field '${p}'.`,"CompactLayout");this._renderScalarField(n,e,p,s,a,r)}}else{i.warn(`[MetaUI] Unsupported layout element type '${e.type}'.`,"","CompactLayout")}};t.uiLayout.forEach(p);l.forEach(e=>{try{const t={type:"array",title:e.label||e.meta.ui?.label||e.scope,items:e.meta.items||{type:"object",properties:{}},uiLayout:e.meta.items?.uiLayout};const o=r.generateLayout(t,a,`/${e.scope}`);if(o){o.addStyleClass("sapUiTinyMarginTop");n.addItem(o)}}catch(t){const a=t.message;i.error(`[MetaUI] Failed to render array field ${e.scope}`,a,"CompactLayout");i.showErrorPopup(`Failed to render array field '${e.scope}'.\n\nDetails: ${a}`)}});return n}_renderScalarField(a,r,o,s,n,l){try{const i=r.label||s.ui?.label||o;const p=new t({text:i,required:s.required});p.addStyleClass("sapUiTinyMarginTop");const c={...s};if(r.widget){c.ui={...s.ui,widget:r.widget}}const y=l.generateField(c,`/${o}`,n);y.addStyleClass("sapUiTinyMarginBottom");const u=new e({renderType:"Bare",items:[p,y]});a.addItem(u)}catch(e){const t=e.message;i.error(`[MetaUI] Failed to render field ${o}`,t,"CompactLayout");i.showErrorPopup(`Failed to render field '${o}'.\n\nDetails: ${t}`)}}}var n={__esModule:true};n.CompactLayout=s;return n});
26
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/layouts/FormLayout", ["sap/ui/layout/form/SimpleForm","sap/m/Label","sap/ui/core/Title","sap/m/VBox","../core/SchemaNormalizer","../utils/Logger"],function(e,t,a,r,o,i){"use strict";const n=o["SchemaNormalizer"];const s=i["Logger"];class l{render(t,o,i,l){const u=new r({renderType:"Bare"});const p=new e({editable:true,title:t.title,layout:"ResponsiveGridLayout",labelSpanXL:4,labelSpanL:4,labelSpanM:4,labelSpanS:12,adjustLabelSpan:false,emptySpanXL:0,emptySpanL:0,emptySpanM:0,emptySpanS:0,columnsXL:1,columnsL:1,columnsM:1,singleContainerFullSize:false});if(!t.uiLayout||!Array.isArray(t.uiLayout)){s.warn("[MetaUI] Missing 'uiLayout' array in schema. Form will not render any fields.");u.addItem(p);return u}const d=[];let y=false;const c=e=>{if(e.type==="Group"){if(e.label){p.addContent(new a({text:e.label}))}if(e.elements&&Array.isArray(e.elements)){e.elements.forEach(c)}}else if(e.type==="Control"){if(!e.scope||!e.scope.startsWith("#/properties/")){s.error(`[MetaUI] Invalid scope '${e.scope}' in uiLayout Control.`,"","FormLayout");return}const{meta:a,bindingPath:r,propKey:l}=n.resolveScope(t,e.scope);if(!a){s.error(`[MetaUI] Property '${l}' not found in schema definitions.`,"","FormLayout");return}const u=a.items?.type==="object"||a.items?.properties;const c=!!a.ui?.widget;const m=a.type==="array"&&u&&!c;if(m){s.debug("[MetaUI FormLayout]",`Routing property '${l}' to Table Sub-Layout.`,"FormLayout");d.push({scope:r,meta:a,label:e.label})}else{y=true;s.debug("[MetaUI FormLayout]",`Rendering scalar field '${r}'.`,"FormLayout");this._renderScalarField(p,e,r,a,o,i)}}else{s.warn(`[MetaUI] Unsupported layout element type '${e.type}'.`,"","FormLayout")}};t.uiLayout.forEach(c);if(y){u.addItem(p)}d.forEach(e=>{try{const t={type:"array",title:e.label||e.meta.ui?.label||e.scope,items:e.meta.items||{type:"object",properties:{}},uiLayout:e.meta.items?.uiLayout};const a=i.generateLayout(t,o,`/${e.scope}`);if(a){a.addStyleClass("sapUiSmallMarginTop");u.addItem(a)}}catch(t){const a=t.message;s.error(`[MetaUI] Failed to render array field ${e.scope}`,a,"FormLayout");s.showErrorPopup(`Failed to render array field '${e.scope}'.\n\nDetails: ${a}`)}});return u}_renderScalarField(e,a,r,o,i,n){try{const s=a.label||o.ui?.label||r;const l=new t({text:s,required:o.required});const u={...o};if(a.widget){u.ui={...o.ui,widget:a.widget}}const p=n.generateField(u,`/${r}`,i);if(u.ui?.fullWidth){sap.ui.require(["sap/ui/layout/GridData"],e=>{p.setLayoutData(new e({span:"XL12 L12 M12 S12"}))})}e.addContent(l);e.addContent(p)}catch(e){const t=e.message;s.error(`[MetaUI] Failed to render field ${r}`,t,"FormLayout");s.showErrorPopup(`Failed to render field '${r}'.\n\nDetails: ${t}`)}}}var u={__esModule:true};u.FormLayout=l;return u});
27
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/layouts/TableLayout", ["sap/m/Table","sap/m/Column","sap/m/Text","sap/m/ColumnListItem","sap/m/Toolbar","sap/m/Title","sap/m/ToolbarSpacer","sap/m/Button","../core/SchemaNormalizer","../utils/Logger"],function(e,t,o,a,n,r,s,i,l,p){"use strict";const c=l["SchemaNormalizer"];const d=p["Logger"];class u{render(l,p,u,m,y="/"){if(l.type!=="array"||!l.items||!l.items.properties){throw new Error("[MetaUI] TableLayout requires an array schema with items.properties.")}const b=l.title||"Table";const g=p;const h=y;const f=new e({headerToolbar:new n({content:[new r({text:b}),new s,...u.isDisplayMode?[]:[new i({text:"Add Row",icon:"sap-icon://add",press:e=>{const t=e.getSource();const o=t.getParent().getParent();const a=o.getModel(g);const n=o.getBindingInfo("items");if(!n||!n.path)return;const r=a.getProperty(n.path);const s=Array.isArray(r)?r:[];const i=[...s,{}];a.setProperty(n.path,i)}})]]}),fixedLayout:false,mode:u.isDisplayMode?"None":"Delete",delete:e=>{const t=e.getParameter("listItem");const o=t.getBindingContext(g).getPath();const a=t.getModel(g);const n=o.split("/");const r=parseInt(n.pop()||"0",10);let s=n.join("/");if(s==="")s="/";const i=a.getProperty(s);const l=Array.isArray(i)?i:[];const p=[...l];p.splice(r,1);a.setProperty(s,p)}});const w=[];const T=l.items.properties;const L=l.uiLayout;if(L&&Array.isArray(L)){L.forEach(e=>{if(e.type==="Control"&&e.scope){const{meta:a,bindingPath:n,propKey:r}=c.resolveScope({type:"object",properties:T},e.scope);if(!a){d.error(`[MetaUI] Property '${r}' not found in schema definitions for Table.`,"","TableLayout")}else{f.addColumn(new t({header:new o({text:e.label||a.ui?.label||r}),demandPopin:!a.ui?.isKey,minScreenWidth:a.ui?.isKey?"":"Tablet",popinDisplay:"Inline"}));const s={...a};if(e.widget){s.ui={...a.ui,widget:e.widget}}const i=u.generateField(s,n,g||"meta",true);w.push(i)}}else{d.warn(`[MetaUI] Unsupported layout element type '${e.type}' in Table.`,"","TableLayout")}})}else{d.debug("[MetaUI TableLayout]","No uiLayout provided. Falling back to rendering all properties as columns.","TableLayout");Object.keys(T).forEach(e=>{try{const a=T[e];const n=!!a.ui?.isKey;const r=new t({header:new o({text:a.ui?.label||e}),demandPopin:!n,minScreenWidth:n?"":"Tablet",popinDisplay:"Inline"});f.addColumn(r);const s=u.generateField(a,e,g||"meta",true);w.push(s)}catch(t){const a=t.message;d.error(`[MetaUI] Failed to render fallback column ${e}`,a,"TableLayout");d.showErrorPopup(`Failed to render fallback table column '${e}'.\n\nDetails: ${a}`);w.push(new o({text:"Error"}))}})}const P=new a({cells:w});f.bindItems({path:h,model:g,template:P,templateShareable:false});return f}}var m={__esModule:true};m.TableLayout=u;return m});
28
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/layouts/WizardLayout", ["sap/m/Wizard","sap/m/WizardStep","sap/ui/layout/form/SimpleForm","sap/m/Label","../core/SchemaNormalizer","../utils/Logger"],function(e,t,a,r,n,i){"use strict";const o=n["SchemaNormalizer"];const s=i["Logger"];class l{render(r,n,i,o){const l=new e({renderMode:"Page",showNextButton:true,complete:function(){if(o)o()}});if(!r.uiLayout||!Array.isArray(r.uiLayout)){s.warn("[MetaUI] Missing 'uiLayout' array in wizard schema. Wizard will not render any steps.");return l}r.uiLayout.forEach(e=>{if(e.type==="Group"||e.type==="WizardStep"){const o=new t({title:e.label||"Step",validated:true});const s=new a({editable:true,layout:"ResponsiveGridLayout",labelSpanXL:4,labelSpanL:4,labelSpanM:4,labelSpanS:12,adjustLabelSpan:false,emptySpanXL:0,emptySpanL:0,emptySpanM:0,emptySpanS:0,columnsXL:1,columnsL:1,columnsM:1,singleContainerFullSize:false});if(e.elements&&Array.isArray(e.elements)){e.elements.forEach(e=>{this._renderElementInForm(s,e,r,n,i)})}o.addContent(s);l.addStep(o)}else{s.warn(`[MetaUI] Top-level element '${e.type}' inside WizardLayout must be 'Group' or 'WizardStep'.`,"","WizardLayout")}});return l}_renderElementInForm(e,t,a,n,i){if(t.type==="Control"){if(!t.scope||!t.scope.startsWith("#/properties/")){s.error(`[MetaUI] Invalid scope '${t.scope}' in uiLayout Control.`,"","WizardLayout");return}const{meta:l,bindingPath:u,propKey:d}=o.resolveScope(a,t.scope);if(!l){s.error(`[MetaUI] Property '${d}' not found in schema definitions.`,"","WizardLayout");return}try{const a=t.label||l.ui?.label||d;const o=new r({text:a,required:l.required});const s={...l};if(t.widget){s.ui={...l.ui,widget:t.widget}}const p=i.generateField(s,`/${u}`,n);if(s.ui?.fullWidth){sap.ui.require(["sap/ui/layout/GridData"],e=>{p.setLayoutData(new e({span:"XL12 L12 M12 S12"}))})}e.addContent(o);e.addContent(p)}catch(t){s.error(`[MetaUI] Failed to render Wizard field ${d}`,t.message,"WizardLayout");e.addContent(new r({text:d}))}}else{s.warn(`[MetaUI] Nested groups within Wizard steps are not fully supported in SimpleForm yet.`,"","WizardLayout")}}}var u={__esModule:true};u.WizardLayout=l;return u});
28
29
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/library", ["sap/ui/core/Core","./core/PluginRegistry","./core/LayoutRegistry","./plugins/controls/StringPlugin","./plugins/controls/NumberPlugin","./plugins/controls/BooleanPlugin","./plugins/controls/DropdownPlugin","./plugins/controls/DatePlugin","./plugins/controls/TimePlugin","./plugins/controls/DateTimePlugin","./plugins/controls/ArrayPlugin","./plugins/controls/TextAreaPlugin","./plugins/controls/SwitchPlugin","./plugins/datasources/LiveSearchPlugin"],function(n,i,o,t,e,r,s,l,c,u,a,g,P,m){"use strict";const p=i["PluginRegistry"];const d=t["StringPlugin"];const S=e["NumberPlugin"];const y=r["BooleanPlugin"];const z=s["DropdownPlugin"];const C=l["DatePlugin"];const w=c["TimePlugin"];const b=u["DateTimePlugin"];const h=a["ArrayPlugin"];const T=g["TextAreaPlugin"];const D=P["SwitchPlugin"];const v=m["LiveSearchPlugin"];n.initLibrary({name:"nz.co.siliconst.ui5.metaui",version:"1.0.0",dependencies:["sap.ui.core","sap.m","sap.ui.layout","sap.ui.table"],controls:["nz.co.siliconst.ui5.metaui.controls.GeneratorHost","nz.co.siliconst.ui5.metaui.controls.BaseHardwareControl","nz.co.siliconst.ui5.metaui.controls.CameraControl","nz.co.siliconst.ui5.metaui.controls.BarcodeScannerControl","nz.co.siliconst.ui5.metaui.controls.SignatureControl","nz.co.siliconst.ui5.metaui.controls.VoiceInputControl","nz.co.siliconst.ui5.metaui.controls.GeolocationControl","nz.co.siliconst.ui5.metaui.controls.RichTextControl"],elements:[],interfaces:[],noLibraryCSS:true});const A=p.getInstance();A.register("string",d);A.register("string",T,"textArea");A.register("number",S);A.register("boolean",y);A.register("boolean",D,"switch");A.register("dropdown",z);A.register("date",C);A.register("time",w);A.register("datetime",b);A.register("array",h);A.register("string",v,"liveSearch");var L=window["nz"]["co"]["siliconst"]["ui5"]["metaui"];return L});
29
30
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin", ["../controls/BasePlugin","sap/m/Button"],function(t,e){"use strict";const s=t["BasePlugin"];class i extends s{render(t,s,i="meta"){this.metadata=t;if(this.isDisplayMode){sap.ui.requireSync("sap/m/Text");const t=sap.ui.require("sap/m/Text");this.control=new t({visible:false});return this.control}this.control=new e({text:t.ui?.label||"Clear Data",type:"Reject",icon:"sap-icon://delete",press:t=>{const e=t.getSource();const s=e.getModel(i);if(s){s.setProperty("/",{})}}});return this.control}getValue(){return null}applyState(){if(this.control&&this.metadata){if(this.isDisplayMode)return;this.control.setEnabled(!this.metadata.ui?.readOnly)}}}var a={__esModule:true};a.ClearFormActionPlugin=i;return a});
30
31
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin", ["../controls/BasePlugin","sap/m/Button","sap/ui/core/Core"],function(t,e,i){"use strict";const s=t["BasePlugin"];class a extends s{render(t,s,a="meta"){this.metadata=t;if(this.isDisplayMode){sap.ui.requireSync("sap/m/Text");const t=sap.ui.require("sap/m/Text");this.control=new t({visible:false});return this.control}this.control=new e({text:t.ui?.label||"Submit",type:"Emphasized",icon:"sap-icon://save",press:()=>{i.getEventBus().publish("MetaUI","TriggerSubmit",{})}});return this.control}getValue(){return null}applyState(){if(this.control&&this.metadata){if(this.isDisplayMode)return;this.control.setEnabled(!this.metadata.ui?.readOnly)}}}var n={__esModule:true};n.SubmitFormActionPlugin=a;return n});