@siliconst/metaui 1.4.21 → 1.4.37

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 (555) hide show
  1. package/README.md +1 -1
  2. package/package.json +1 -1
  3. package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator-dbg.js +22 -20
  4. package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator-dbg.js.map +1 -1
  5. package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator.d.ts +3 -3
  6. package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator.d.ts.map +1 -1
  7. package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator.js +1 -1
  8. package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator.js.map +1 -1
  9. package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator.ts +24 -16
  10. package/src/nz/co/siliconst/ui5/metaui/ai/RestLLMProxy-dbg.js.map +1 -1
  11. package/src/nz/co/siliconst/ui5/metaui/ai/RestLLMProxy.js.map +1 -1
  12. package/src/nz/co/siliconst/ui5/metaui/ai/RestLLMProxy.ts +2 -2
  13. package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants-dbg.js +111 -0
  14. package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants-dbg.js.map +1 -0
  15. package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants.d.ts +95 -0
  16. package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants.d.ts.map +1 -0
  17. package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants.js +2 -0
  18. package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants.js.map +1 -0
  19. package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants.ts +101 -0
  20. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl-dbg.js.map +1 -1
  21. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl.js.map +1 -1
  22. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl.ts +1 -1
  23. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer-dbg.js.map +1 -1
  24. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.d.ts.map +1 -1
  25. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.js.map +1 -1
  26. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.ts +2 -1
  27. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl-dbg.js +2 -2
  28. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl-dbg.js.map +1 -1
  29. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.js +1 -1
  30. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.js.map +1 -1
  31. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.ts +3 -3
  32. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost-dbg.js +47 -47
  33. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost-dbg.js.map +1 -1
  34. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.d.ts +6 -2
  35. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.d.ts.map +1 -1
  36. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.js +1 -1
  37. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.js.map +1 -1
  38. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.ts +62 -66
  39. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl-dbg.js +0 -9
  40. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl-dbg.js.map +1 -1
  41. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.d.ts +0 -9
  42. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.d.ts.map +1 -1
  43. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.js +1 -1
  44. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.js.map +1 -1
  45. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.ts +3 -9
  46. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl-dbg.js +0 -11
  47. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl-dbg.js.map +1 -1
  48. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.d.ts +0 -11
  49. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.d.ts.map +1 -1
  50. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.js +1 -1
  51. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.js.map +1 -1
  52. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.ts +2 -9
  53. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl-dbg.js +2 -7
  54. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl-dbg.js.map +1 -1
  55. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.d.ts +0 -5
  56. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.d.ts.map +1 -1
  57. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.js +1 -1
  58. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.js.map +1 -1
  59. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.ts +3 -7
  60. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl-dbg.js +1 -6
  61. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl-dbg.js.map +1 -1
  62. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.d.ts +0 -5
  63. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.d.ts.map +1 -1
  64. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.js +1 -1
  65. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.js.map +1 -1
  66. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.ts +9 -12
  67. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost-dbg.js +170 -74
  68. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost-dbg.js.map +1 -1
  69. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.d.ts +29 -4
  70. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.d.ts.map +1 -1
  71. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.js +1 -1
  72. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.js.map +1 -1
  73. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.ts +179 -79
  74. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate-dbg.js +41 -38
  75. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate-dbg.js.map +1 -1
  76. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.d.ts +5 -3
  77. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.d.ts.map +1 -1
  78. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.js +1 -1
  79. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.js.map +1 -1
  80. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.ts +46 -38
  81. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate-dbg.js +41 -2
  82. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate-dbg.js.map +1 -1
  83. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.d.ts +6 -2
  84. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.d.ts.map +1 -1
  85. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.js +1 -1
  86. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.js.map +1 -1
  87. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.ts +47 -2
  88. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate-dbg.js.map +1 -1
  89. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.d.ts +1 -1
  90. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.d.ts.map +1 -1
  91. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.js.map +1 -1
  92. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.ts +8 -7
  93. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate-dbg.js +7 -2
  94. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate-dbg.js.map +1 -1
  95. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.d.ts +5 -2
  96. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.d.ts.map +1 -1
  97. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.js +1 -1
  98. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.js.map +1 -1
  99. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.ts +10 -5
  100. package/src/nz/co/siliconst/ui5/metaui/core/Engine-dbg.js +215 -38
  101. package/src/nz/co/siliconst/ui5/metaui/core/Engine-dbg.js.map +1 -1
  102. package/src/nz/co/siliconst/ui5/metaui/core/Engine.d.ts +21 -3
  103. package/src/nz/co/siliconst/ui5/metaui/core/Engine.d.ts.map +1 -1
  104. package/src/nz/co/siliconst/ui5/metaui/core/Engine.js +1 -1
  105. package/src/nz/co/siliconst/ui5/metaui/core/Engine.js.map +1 -1
  106. package/src/nz/co/siliconst/ui5/metaui/core/Engine.ts +218 -40
  107. package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator-dbg.js +86 -0
  108. package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator-dbg.js.map +1 -0
  109. package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator.d.ts +16 -0
  110. package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator.d.ts.map +1 -0
  111. package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator.js +2 -0
  112. package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator.js.map +1 -0
  113. package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator.ts +82 -0
  114. package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer-dbg.js +142 -0
  115. package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer-dbg.js.map +1 -0
  116. package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer.d.ts +24 -0
  117. package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer.d.ts.map +1 -0
  118. package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer.js +2 -0
  119. package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer.js.map +1 -0
  120. package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer.ts +147 -0
  121. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager-dbg.js +8 -0
  122. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager-dbg.js.map +1 -1
  123. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.d.ts.map +1 -1
  124. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.js +1 -1
  125. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.js.map +1 -1
  126. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.ts +7 -0
  127. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry-dbg.js +153 -50
  128. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry-dbg.js.map +1 -1
  129. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.d.ts +15 -0
  130. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.d.ts.map +1 -1
  131. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.js +1 -1
  132. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.js.map +1 -1
  133. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.ts +164 -53
  134. package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine-dbg.js +310 -0
  135. package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine-dbg.js.map +1 -0
  136. package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine.d.ts +73 -0
  137. package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine.d.ts.map +1 -0
  138. package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine.js +2 -0
  139. package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine.js.map +1 -0
  140. package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine.ts +307 -0
  141. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer-dbg.js +35 -14
  142. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer-dbg.js.map +1 -1
  143. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.d.ts.map +1 -1
  144. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.js +1 -1
  145. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.js.map +1 -1
  146. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.ts +40 -15
  147. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator-dbg.js +15 -3
  148. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator-dbg.js.map +1 -1
  149. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.d.ts.map +1 -1
  150. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.js +1 -1
  151. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.js.map +1 -1
  152. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.ts +15 -1
  153. package/src/nz/co/siliconst/ui5/metaui/core/StateManager-dbg.js +82 -16
  154. package/src/nz/co/siliconst/ui5/metaui/core/StateManager-dbg.js.map +1 -1
  155. package/src/nz/co/siliconst/ui5/metaui/core/StateManager.d.ts +16 -0
  156. package/src/nz/co/siliconst/ui5/metaui/core/StateManager.d.ts.map +1 -1
  157. package/src/nz/co/siliconst/ui5/metaui/core/StateManager.js +1 -1
  158. package/src/nz/co/siliconst/ui5/metaui/core/StateManager.js.map +1 -1
  159. package/src/nz/co/siliconst/ui5/metaui/core/StateManager.ts +89 -17
  160. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin-dbg.js.map +1 -1
  161. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin.d.ts +12 -1
  162. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin.d.ts.map +1 -1
  163. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin.ts +13 -1
  164. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPolicyPlugin-dbg.js +2 -0
  165. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPolicyPlugin-dbg.js.map +1 -0
  166. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPolicyPlugin.d.ts +50 -0
  167. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPolicyPlugin.d.ts.map +1 -0
  168. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPolicyPlugin.js +2 -0
  169. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPolicyPlugin.js.map +1 -0
  170. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPolicyPlugin.ts +49 -0
  171. package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema-dbg.js.map +1 -1
  172. package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.d.ts +23 -1
  173. package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.d.ts.map +1 -1
  174. package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.ts +27 -1
  175. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout-dbg.js +31 -36
  176. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout-dbg.js.map +1 -1
  177. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.d.ts.map +1 -1
  178. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.js +1 -1
  179. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.js.map +1 -1
  180. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.ts +26 -29
  181. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout-dbg.js +47 -11
  182. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout-dbg.js.map +1 -1
  183. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.d.ts.map +1 -1
  184. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.js +1 -1
  185. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.js.map +1 -1
  186. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.ts +48 -12
  187. package/src/nz/co/siliconst/ui5/metaui/library-preload.js +74 -58
  188. package/src/nz/co/siliconst/ui5/metaui/library-preload.js.map +1 -1
  189. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory-dbg.js +3 -2
  190. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory-dbg.js.map +1 -1
  191. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory.d.ts.map +1 -1
  192. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory.js +1 -1
  193. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory.js.map +1 -1
  194. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory.ts +3 -2
  195. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver-dbg.js.map +1 -1
  196. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver.js.map +1 -1
  197. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver.ts +3 -3
  198. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper-dbg.js +2 -1
  199. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper-dbg.js.map +1 -1
  200. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper.d.ts +1 -1
  201. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper.d.ts.map +1 -1
  202. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper.js +1 -1
  203. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper.js.map +1 -1
  204. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper.ts +4 -3
  205. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine-dbg.js +2 -2
  206. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine-dbg.js.map +1 -1
  207. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine.js.map +1 -1
  208. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine.ts +2 -2
  209. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic-dbg.js +12 -8
  210. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic-dbg.js.map +1 -1
  211. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.d.ts.map +1 -1
  212. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.js +1 -1
  213. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.js.map +1 -1
  214. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.ts +15 -11
  215. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser-dbg.js +20 -12
  216. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser-dbg.js.map +1 -1
  217. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.d.ts +4 -4
  218. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.d.ts.map +1 -1
  219. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.js +1 -1
  220. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.js.map +1 -1
  221. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.ts +24 -16
  222. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser-dbg.js +18 -11
  223. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser-dbg.js.map +1 -1
  224. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.d.ts +4 -4
  225. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.d.ts.map +1 -1
  226. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.js +1 -1
  227. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.js.map +1 -1
  228. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.ts +22 -15
  229. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper-dbg.js +24 -100
  230. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper-dbg.js.map +1 -1
  231. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.d.ts +8 -72
  232. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.d.ts.map +1 -1
  233. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.js +1 -1
  234. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.js.map +1 -1
  235. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.ts +45 -108
  236. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin-dbg.js.map +1 -1
  237. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.d.ts.map +1 -1
  238. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.js.map +1 -1
  239. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.ts +2 -1
  240. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin-dbg.js +24 -18
  241. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin-dbg.js.map +1 -1
  242. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.d.ts +1 -1
  243. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.d.ts.map +1 -1
  244. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.js +1 -1
  245. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.js.map +1 -1
  246. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.ts +23 -21
  247. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin-dbg.js +5 -5
  248. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin-dbg.js.map +1 -1
  249. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.d.ts +1 -1
  250. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.d.ts.map +1 -1
  251. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.js +1 -1
  252. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.js.map +1 -1
  253. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.ts +7 -7
  254. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin-dbg.js +129 -9
  255. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin-dbg.js.map +1 -1
  256. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.d.ts +46 -10
  257. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.d.ts.map +1 -1
  258. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.js +1 -1
  259. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.js.map +1 -1
  260. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.ts +145 -15
  261. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin-dbg.js +35 -14
  262. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin-dbg.js.map +1 -1
  263. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.d.ts +1 -1
  264. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.d.ts.map +1 -1
  265. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.js +1 -1
  266. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.js.map +1 -1
  267. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.ts +38 -14
  268. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin-dbg.js +4 -4
  269. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin-dbg.js.map +1 -1
  270. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.d.ts +1 -1
  271. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.d.ts.map +1 -1
  272. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.js +1 -1
  273. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.js.map +1 -1
  274. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.ts +5 -5
  275. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin-dbg.js +69 -20
  276. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin-dbg.js.map +1 -1
  277. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.d.ts +2 -1
  278. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.d.ts.map +1 -1
  279. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.js +1 -1
  280. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.js.map +1 -1
  281. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.ts +77 -21
  282. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin-dbg.js +3 -3
  283. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin-dbg.js.map +1 -1
  284. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.d.ts +1 -1
  285. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.d.ts.map +1 -1
  286. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.js +1 -1
  287. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.js.map +1 -1
  288. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.ts +5 -5
  289. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin-dbg.js +3 -3
  290. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin-dbg.js.map +1 -1
  291. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.d.ts +1 -1
  292. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.d.ts.map +1 -1
  293. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.js +1 -1
  294. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.js.map +1 -1
  295. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.ts +5 -5
  296. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin-dbg.js +1 -0
  297. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin-dbg.js.map +1 -1
  298. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin.d.ts.map +1 -1
  299. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin.js +1 -1
  300. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin.js.map +1 -1
  301. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin.ts +6 -5
  302. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin-dbg.js +8 -3
  303. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin-dbg.js.map +1 -1
  304. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.d.ts +1 -1
  305. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.d.ts.map +1 -1
  306. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.js +1 -1
  307. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.js.map +1 -1
  308. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.ts +10 -5
  309. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin-dbg.js +3 -3
  310. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin-dbg.js.map +1 -1
  311. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin.d.ts +1 -1
  312. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin.d.ts.map +1 -1
  313. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin.js +1 -1
  314. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin.js.map +1 -1
  315. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin.ts +4 -4
  316. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin-dbg.js +3 -3
  317. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin-dbg.js.map +1 -1
  318. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.d.ts +1 -1
  319. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.d.ts.map +1 -1
  320. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.js +1 -1
  321. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.js.map +1 -1
  322. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.ts +5 -5
  323. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin-dbg.js +4 -4
  324. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin-dbg.js.map +1 -1
  325. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.d.ts +1 -1
  326. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.d.ts.map +1 -1
  327. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.js +1 -1
  328. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.js.map +1 -1
  329. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.ts +5 -5
  330. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin-dbg.js +3 -3
  331. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin-dbg.js.map +1 -1
  332. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin.d.ts +1 -1
  333. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin.d.ts.map +1 -1
  334. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin.js +1 -1
  335. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin.js.map +1 -1
  336. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin.ts +4 -4
  337. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin-dbg.js.map +1 -1
  338. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.d.ts +1 -1
  339. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.d.ts.map +1 -1
  340. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.js.map +1 -1
  341. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.ts +1 -1
  342. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin-dbg.js +7 -6
  343. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin-dbg.js.map +1 -1
  344. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin.d.ts +1 -1
  345. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin.d.ts.map +1 -1
  346. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin.js +1 -1
  347. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin.js.map +1 -1
  348. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin.ts +9 -8
  349. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin-dbg.js +2 -2
  350. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin-dbg.js.map +1 -1
  351. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.d.ts +1 -1
  352. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.d.ts.map +1 -1
  353. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.js +1 -1
  354. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.js.map +1 -1
  355. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.ts +3 -3
  356. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin-dbg.js +36 -21
  357. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin-dbg.js.map +1 -1
  358. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.d.ts +1 -1
  359. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.d.ts.map +1 -1
  360. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.js +1 -1
  361. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.js.map +1 -1
  362. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.ts +40 -23
  363. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin-dbg.js +9 -6
  364. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin-dbg.js.map +1 -1
  365. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.d.ts +1 -1
  366. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.d.ts.map +1 -1
  367. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.js +1 -1
  368. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.js.map +1 -1
  369. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.ts +10 -8
  370. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin-dbg.js +3 -3
  371. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin-dbg.js.map +1 -1
  372. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin.d.ts +1 -1
  373. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin.d.ts.map +1 -1
  374. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin.js +1 -1
  375. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin.js.map +1 -1
  376. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin.ts +4 -4
  377. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin-dbg.js +3 -3
  378. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin-dbg.js.map +1 -1
  379. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.d.ts +1 -1
  380. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.d.ts.map +1 -1
  381. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.js +1 -1
  382. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.js.map +1 -1
  383. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.ts +5 -5
  384. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin-dbg.js +29 -12
  385. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin-dbg.js.map +1 -1
  386. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin.d.ts +5 -1
  387. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin.d.ts.map +1 -1
  388. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin.js +1 -1
  389. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin.js.map +1 -1
  390. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin.ts +30 -10
  391. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin-dbg.js +4 -4
  392. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin-dbg.js.map +1 -1
  393. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.d.ts +1 -1
  394. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.d.ts.map +1 -1
  395. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.js +1 -1
  396. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.js.map +1 -1
  397. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.ts +5 -5
  398. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin-dbg.js +4 -4
  399. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin-dbg.js.map +1 -1
  400. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.d.ts +1 -1
  401. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.d.ts.map +1 -1
  402. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.js +1 -1
  403. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.js.map +1 -1
  404. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.ts +5 -5
  405. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin-dbg.js +3 -3
  406. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin-dbg.js.map +1 -1
  407. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.d.ts +1 -1
  408. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.d.ts.map +1 -1
  409. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.js +1 -1
  410. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.js.map +1 -1
  411. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.ts +4 -4
  412. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin-dbg.js +3 -3
  413. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin-dbg.js.map +1 -1
  414. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.d.ts +1 -1
  415. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.d.ts.map +1 -1
  416. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.js +1 -1
  417. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.js.map +1 -1
  418. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.ts +5 -5
  419. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin-dbg.js +3 -3
  420. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin-dbg.js.map +1 -1
  421. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.d.ts +1 -1
  422. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.d.ts.map +1 -1
  423. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.js +1 -1
  424. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.js.map +1 -1
  425. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.ts +4 -4
  426. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin-dbg.js +2 -2
  427. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin-dbg.js.map +1 -1
  428. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.d.ts +1 -1
  429. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.d.ts.map +1 -1
  430. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.js +1 -1
  431. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.js.map +1 -1
  432. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.ts +3 -3
  433. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin-dbg.js +58 -56
  434. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin-dbg.js.map +1 -1
  435. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.d.ts +2 -5
  436. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.d.ts.map +1 -1
  437. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.js +1 -1
  438. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.js.map +1 -1
  439. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.ts +66 -55
  440. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin-dbg.js +3 -3
  441. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin-dbg.js.map +1 -1
  442. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.d.ts +1 -1
  443. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.d.ts.map +1 -1
  444. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.js +1 -1
  445. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.js.map +1 -1
  446. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.ts +4 -4
  447. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin-dbg.js +4 -4
  448. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin-dbg.js.map +1 -1
  449. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.d.ts +1 -1
  450. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.d.ts.map +1 -1
  451. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.js +1 -1
  452. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.js.map +1 -1
  453. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.ts +5 -5
  454. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin-dbg.js.map +1 -1
  455. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.d.ts.map +1 -1
  456. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.js.map +1 -1
  457. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.ts +5 -3
  458. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin-dbg.js +2 -1
  459. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin-dbg.js.map +1 -1
  460. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.d.ts.map +1 -1
  461. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.js +1 -1
  462. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.js.map +1 -1
  463. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.ts +6 -3
  464. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin-dbg.js +30 -9
  465. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin-dbg.js.map +1 -1
  466. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.d.ts +2 -2
  467. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.d.ts.map +1 -1
  468. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.js +1 -1
  469. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.js.map +1 -1
  470. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.ts +41 -13
  471. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin-dbg.js.map +1 -1
  472. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.d.ts.map +1 -1
  473. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.js.map +1 -1
  474. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.ts +5 -3
  475. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin-dbg.js +41 -0
  476. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin-dbg.js.map +1 -0
  477. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin.d.ts +24 -0
  478. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin.d.ts.map +1 -0
  479. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin.js +2 -0
  480. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin.js.map +1 -0
  481. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin.ts +34 -0
  482. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin-dbg.js +41 -0
  483. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin-dbg.js.map +1 -0
  484. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin.d.ts +24 -0
  485. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin.d.ts.map +1 -0
  486. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin.js +2 -0
  487. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin.js.map +1 -0
  488. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin.ts +34 -0
  489. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin-dbg.js +52 -0
  490. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin-dbg.js.map +1 -0
  491. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin.d.ts +30 -0
  492. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin.d.ts.map +1 -0
  493. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin.js +2 -0
  494. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin.js.map +1 -0
  495. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin.ts +45 -0
  496. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin-dbg.js +52 -0
  497. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin-dbg.js.map +1 -0
  498. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin.d.ts +30 -0
  499. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin.d.ts.map +1 -0
  500. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin.js +2 -0
  501. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin.js.map +1 -0
  502. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin.ts +45 -0
  503. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin-dbg.js +41 -0
  504. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin-dbg.js.map +1 -0
  505. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin.d.ts +24 -0
  506. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin.d.ts.map +1 -0
  507. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin.js +2 -0
  508. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin.js.map +1 -0
  509. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin.ts +34 -0
  510. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin-dbg.js +40 -0
  511. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin-dbg.js.map +1 -0
  512. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin.d.ts +28 -0
  513. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin.d.ts.map +1 -0
  514. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin.js +2 -0
  515. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin.js.map +1 -0
  516. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin.ts +34 -0
  517. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin-dbg.js +40 -0
  518. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin-dbg.js.map +1 -0
  519. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin.d.ts +28 -0
  520. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin.d.ts.map +1 -0
  521. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin.js +2 -0
  522. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin.js.map +1 -0
  523. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin.ts +34 -0
  524. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin-dbg.js +40 -0
  525. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin-dbg.js.map +1 -0
  526. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin.d.ts +28 -0
  527. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin.d.ts.map +1 -0
  528. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin.js +2 -0
  529. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin.js.map +1 -0
  530. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin.ts +34 -0
  531. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin-dbg.js +40 -0
  532. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin-dbg.js.map +1 -0
  533. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin.d.ts +28 -0
  534. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin.d.ts.map +1 -0
  535. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin.js +2 -0
  536. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin.js.map +1 -0
  537. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin.ts +34 -0
  538. package/src/nz/co/siliconst/ui5/metaui/services/SchemaProvider-dbg.js +33 -0
  539. package/src/nz/co/siliconst/ui5/metaui/services/SchemaProvider-dbg.js.map +1 -0
  540. package/src/nz/co/siliconst/ui5/metaui/services/SchemaProvider.d.ts +14 -0
  541. package/src/nz/co/siliconst/ui5/metaui/services/SchemaProvider.d.ts.map +1 -0
  542. package/src/nz/co/siliconst/ui5/metaui/services/SchemaProvider.js +2 -0
  543. package/src/nz/co/siliconst/ui5/metaui/services/SchemaProvider.js.map +1 -0
  544. package/src/nz/co/siliconst/ui5/metaui/services/SchemaProvider.ts +24 -0
  545. package/src/nz/co/siliconst/ui5/metaui/utils/Logger-dbg.js.map +1 -1
  546. package/src/nz/co/siliconst/ui5/metaui/utils/Logger.d.ts.map +1 -1
  547. package/src/nz/co/siliconst/ui5/metaui/utils/Logger.js.map +1 -1
  548. package/src/nz/co/siliconst/ui5/metaui/utils/Logger.ts +1 -1
  549. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine-dbg.js +0 -75
  550. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine-dbg.js.map +0 -1
  551. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.d.ts +0 -47
  552. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.d.ts.map +0 -1
  553. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.js +0 -2
  554. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.js.map +0 -1
  555. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.ts +0 -72
@@ -1,94 +1,107 @@
1
1
  //@ui5-bundle nz/co/siliconst/ui5/metaui/library-preload.js
2
2
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/ai/AIConfig", ["./MockLLMProxy"],function(t){"use strict";const i=t["MockLLMProxy"];class r{static activeProxy=new i;static endpointUrl="/api/mock/ai";static setProxy(t){this.activeProxy=t}static getProxy(){return this.activeProxy}static setEndpointUrl(t){this.endpointUrl=t}static getEndpointUrl(){return this.endpointUrl}}var e={__esModule:true};e.AIConfig=r;return e});
3
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator", [],function(){"use strict";class e{async generateSchema(e,t){const r=this.buildDataSkeleton(e,t);if(Object.keys(r).length===0){return t||{type:"object",properties:{}}}const s=await this.callLLM(r);return this.deepMergeSchemas(s,t)}buildDataSkeleton(e,t){const r={};if(!e||typeof e!=="object")return r;const s=t?.properties?Object.keys(t.properties):[];for(const t of Object.keys(e)){if(!s.includes(t)){r[t]=`type: ${typeof e[t]}`}}return r}deepMergeSchemas(e,t){if(!t)return e;const r={...e};for(const e of Object.keys(t)){const s=t[e];const o=r[e];if(o&&typeof o==="object"&&!Array.isArray(o)&&s&&typeof s==="object"&&!Array.isArray(s)){r[e]={...o,...s}}else{r[e]=s}}return r}}var t={__esModule:true};t.BaseAIGenerator=e;return t});
3
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator", [],function(){"use strict";class e{async generateSchema(e,t){const r=this.buildDataSkeleton(e,t);if(Object.keys(r).length===0){return t||{type:"object",properties:{}}}const s=await this.callLLM(r);return this.deepMergeSchemas(s,t)}buildDataSkeleton(e,t){const r={};if(!e||typeof e!=="object")return r;const s=t?.properties?Object.keys(t.properties):[];const c=e;for(const e of Object.keys(c)){if(!s.includes(e)){r[e]=`type: ${typeof c[e]}`}}return r}deepMergeSchemas(e,t){const r=e||{};const s=Object.assign({},r);if(t===null||typeof t!=="object")return s;const c=t;Object.keys(c).forEach(e=>{if(Array.isArray(c[e])){s[e]=Array.isArray(r[e])?Array.from(new Set([...r[e],...c[e]])):[...c[e]]}else if(typeof c[e]==="object"&&c[e]!==null){if(r[e]&&typeof r[e]==="object"){s[e]=this.deepMergeSchemas(r[e],c[e])}else{s[e]=Object.assign({},c[e])}}else{s[e]=c[e]}});return s}}var t={__esModule:true};t.BaseAIGenerator=e;return t});
4
4
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/ai/MockLLMProxy", ["./BaseAIGenerator","../utils/Logger"],function(e,o){"use strict";const t=e["BaseAIGenerator"];const i=o["Logger"];class s extends t{callLLM(e){return new Promise(o=>{i.info("[MockLLMProxy]","Simulating AI Schema generation for keys:",Object.keys(e));setTimeout(()=>{const t={type:"object",properties:{}};for(const o of Object.keys(e)){const i={type:e[o].includes("number")?"number":"string",ui:{label:this.camelCaseToTitle(o)}};if(o.toLowerCase().includes("email")){i.ui.widget="email";i.ui.format="email"}else if(o.toLowerCase().includes("phone")){i.ui.widget="phone";i.ui.format="phone"}else if(o.toLowerCase().includes("date")){i.ui.widget="date"}else if(o.toLowerCase().includes("active")||o.toLowerCase().includes("is")){i.type="boolean";i.ui.widget="switch"}else if(o.toLowerCase().includes("limit")||o.toLowerCase().includes("amount")||o.toLowerCase().includes("salary")){i.type="number";i.ui.widget="currency"}t.properties[o]=i}i.info("[MockLLMProxy]","Schema generation complete.");o(t)},1500)})}camelCaseToTitle(e){return e.replace(/([A-Z])/g," $1").replace(/^./,e=>e.toUpperCase())}}var r={__esModule:true};r.MockLLMProxy=s;return r});
5
5
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/ai/RestLLMProxy", ["./BaseAIGenerator","../utils/Logger","./AIConfig"],function(e,t,o){"use strict";const r=e["BaseAIGenerator"];const n=t["Logger"];const s=o["AIConfig"];class i extends r{async callLLM(e){const t=s.getEndpointUrl();if(!t){throw new Error("[RestLLMProxy] No AI Endpoint configured in AIConfig.")}n.info("[RestLLMProxy]",`Sending skeleton to ${t}...`);try{const o=await fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({skeleton:e})});if(!o.ok){throw new Error(`HTTP error! status: ${o.status}`)}const r=await o.json();n.info("[RestLLMProxy]","Successfully received schema from backend.");return r}catch(e){n.error("[RestLLMProxy]",`Failed to fetch LLM schema: ${e.message}`);return{type:"object",properties:{}}}}}var a={__esModule:true};a.RestLLMProxy=i;return a});
6
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/constants/MetaUIConstants", [],function(){"use strict";const E={INLINE:"inline",DIALOG:"dialog"};const e={OBJECT:"object",ARRAY:"array",STRING:"string",NUMBER:"number",INTEGER:"integer",BOOLEAN:"boolean",DATE:"date"};const t={REFERENCE:"reference",DICTIONARY_MAP:"dictionaryMap",TIME:"time",DATETIME:"datetime",SWITCH:"switch",STEP:"step",SELECT:"select",TEXT_AREA:"textArea",CODE_EDITOR:"codeEditor",LINK:"link",PASSWORD:"password",EMAIL:"email",FILE_UPLOADER:"fileUploader",MULTI_SELECT:"multiSelect",MULTI_INPUT:"multiInput",SLIDER:"slider",RATING:"rating",MESSAGE_STRIP:"messageStrip",CAMERA:"camera",SIGNATURE:"signature",LOCATION:"location",SCANNER:"scanner",VOICE_INPUT:"voiceInput",RICH_TEXT:"richText",URL_BUTTON:"urlButton",SUBMIT_BUTTON:"submitButton",ODATA_SELECT:"odataSelect",REMOTE_DROPDOWN:"remoteDropdown",LIVE_SEARCH:"liveSearch",REMOTE_VALUE_HELP:"remoteValueHelp"};const T={FORM:"form",TABLE:"table",WIZARD:"wizard",COMPACT:"compact"};const I={SUBMIT:"submit",CHANGE:"change",PRESS:"press",LIVE_CHANGE:"liveChange"};const n={TOKENS:"tokens",ITEMS:"items"};const A={DEFINITIONS:"#/definitions/",COMPONENTS_SCHEMAS:"#/components/schemas/"};var i={__esModule:true};i.RENDER_MODE=E;i.SCHEMA_TYPE=e;i.WIDGET_TYPE=t;i.LAYOUT_STRATEGY=T;i.UI5_EVENT=I;i.UI5_AGGREGATION=n;i.OPENAPI_PREFIX=A;return i});
6
7
  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});
7
8
  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});
8
- 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)}else if(this.captureBtn.getVisible()&&this.videoHtml.getVisible()){this.startCamera()}}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)}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});
9
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/DynamicHost", ["sap/ui/core/Control","./host/GeneratorHost","../utils/Logger","./host/delegates/ODataDelegate","../core/SchemaBuilderRegistry"],function(t,e,i,n,a){"use strict";function s(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}const o=s(e);const r=i["Logger"];const l=n["ODataDelegate"];const c=a["SchemaBuilderRegistry"];const u=t.extend("nz.co.siliconst.ui5.metaui.controls.DynamicHost",{constructor:function e(){t.prototype.constructor.apply(this,arguments);this.odataDelegate=null;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 i=e.getAggregation("_content");if(i){t.renderControl(i)}t.close("div")}},metadata:{properties:{schemaDefinition:{type:"any",defaultValue:null},schemaDefinitions:{type:"object",defaultValue:null},schemaTarget:{type:"string",defaultValue:null},pluginRegistry:{type:"object",defaultValue:null},schemaBuilderRegistry:{type:"object",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},editable:{type:"boolean",defaultValue:true},inferenceStrategy:{type:"string",defaultValue:"RuleBased"}},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"}}},error:{parameters:{message:{type:"string"},exception:{type:"object"}}}}},initODataDelegate:function t(){if(!this.odataDelegate){if(this.getBindingInfo("dataJson")){return}const t=this.getBindingInfo("data");if(t&&t.path&&t.path!==""){return}const e=this.getBindingContext("odata")||this.getBindingContext();if(e){r.debug("[MetaUI DynamicHost]",`Context found for delegate initialization: ${e.getPath()}`,"DynamicHost");if(e&&e.requestObject&&typeof e.requestObject==="function"){r.debug("[MetaUI DynamicHost]",`Context supports requestObject/getObject. Instantiating ODataDelegate.`,"DynamicHost");this.odataDelegate=new l(this,e);this.odataDelegate.syncToEngine()}else{r.debug("[MetaUI DynamicHost]",`Context does NOT support requestObject/getObject! Keys: ${Object.keys(e)}`,"DynamicHost")}}}},setBindingContext:function e(i,n){t.prototype.setBindingContext.call(this,i,n);this.initODataDelegate();return this},bindElement:function e(i,n){t.prototype.bindElement.call(this,i,n);const a=typeof i==="object"?i.model:undefined;const s=this.getElementBinding(a);if(s){s.attachChange(()=>{this.initODataDelegate()})}return this},onBeforeRendering:function e(){r.debug("[MetaUI DynamicHost]",`onBeforeRendering called. _initializedInner: ${this._initializedInner}`,"DynamicHost");this.initODataDelegate();if(!this._initializedInner){let e=this.getProperty("schemaDefinition");if(typeof e==="string"&&(e.startsWith("http://")||e.startsWith("https://"))){const i=this;if(i._fetchingSchema)return;i._fetchingSchema=true;sap.ui.require(["sap/ui/core/BusyIndicator","sap/m/MessageToast"],(i,n)=>{i.show(0);fetch(e).then(t=>{if(!t.ok)throw new Error("HTTP "+t.status);return t.json()}).then(e=>{const n=c.getBuilderFor(e);const a=n?n.build(e,this.getProperty("schemaTarget")):e;t.prototype.setProperty.call(this,"schemaDefinition",a,true);if(a.definitions){t.prototype.setProperty.call(this,"schemaDefinitions",a.definitions,true)}const s=this;s._fetchingSchema=false;i.hide();this.invalidate()}).catch(e=>{const a=this;r.warn("[MetaUI DynamicHost]","Failed to fetch remote schema: "+e,"DynamicHost");if(n)n.show("Failed to fetch remote schema");t.prototype.setProperty.call(this,"schemaDefinition",null,true);a._fetchingSchema=false;i.hide();this.invalidate()})});return}let i=e;if(i&&typeof i==="string"&&i.trim().startsWith("{")){try{i=JSON.parse(i)}catch(t){}}if(i&&typeof i==="object"){const e=c.getBuilderFor(i);if(e){i=e.build(i,this.getProperty("schemaTarget"));t.prototype.setProperty.call(this,"schemaDefinition",i,true);if(i.definitions){t.prototype.setProperty.call(this,"schemaDefinitions",i.definitions,true)}}}const n=this.getProperty("dataJson");const a=this.getProperty("data");let s=!!i;if(s&&typeof i==="object"&&Object.keys(i).length===0){s=false}const l=!!n||!!a;if(l&&this.getProperty("inferenceStrategy")==="AI"){const e=this;if(e._fetchingSchema)return;e._fetchingSchema=true;let s=a;if(!s&&n){try{s=JSON.parse(n)}catch(t){r.trace("[DynamicHost] Ignored invalid dataJson parse: "+t.message)}}if(s){sap.ui.require(["sap/ui/core/BusyIndicator","sap/m/MessageToast","nz/co/siliconst/ui5/metaui/ai/AIConfig"],(e,n,a)=>{e.show(0);const o=a.getProxy();o.generateSchema(s,i||undefined).then(i=>{const n=this;t.prototype.setProperty.call(this,"schemaDefinition",i,true);n._fetchingSchema=false;e.hide();this.invalidate()}).catch(i=>{const a=this;r.warn("[MetaUI DynamicHost]","AI inference failed, falling back to RuleBased. Error: "+i.message,"DynamicHost");if(n)n.show("AI Inference failed, using fallback.");t.prototype.setProperty.call(this,"inferenceStrategy","RuleBased",true);a._fetchingSchema=false;e.hide();this.invalidate()})});return}}r.debug("[MetaUI DynamicHost]",`Evaluating boot. hasSchema: ${s}, hasData: ${l}`,"DynamicHost");if(s||l){if(this.getProperty("debugMode")){r.debug("[MetaUI DynamicHost]",`Booting inner host. hasSchema: ${s}, hasData: ${l}`,"DynamicHost")}this._innerHost=new o;const e=this.getMetadata().getProperties();for(const i in e){if(i==="inferenceStrategy")continue;const e=t.prototype.getProperty.call(this,i);if(e!==null&&e!==undefined){if(i==="schemaDefinitions"){r.debug(`[MetaUI DynamicHost] Proxying schemaDefinitions: ${Object.keys(e)}`,"","DynamicHost")}this._innerHost.setProperty(i,e)}else if(i==="schemaDefinitions"){r.warn(`[MetaUI DynamicHost] Warning: schemaDefinitions is null/undefined in Wrapper. Defaulting to empty object in GeneratorHost.`,"","DynamicHost")}}this.setAggregation("_content",this._innerHost);const i=this.getMetadata().getEvents();for(const e in i){this._innerHost.attachEvent(e,i=>{if(e==="submit"||e==="fieldChange"){const n=i.getParameters();if(n.payload){const i=this.getProperty("liveUpdate")===true;if(e==="submit"||i){t.prototype.setProperty.call(this,"data",n.payload,true);const e=n.payloadJson||JSON.stringify(n.payload,null,2);t.prototype.setProperty.call(this,"dataJson",e,true)}}}this.fireEvent(e,i.getParameters())})}this._initializedInner=true}}},setProperty:function e(i,n,a){if(i==="data"||i==="dataJson"||i==="schemaDefinition"||i==="schemaDefinitions"){if(this.getProperty("debugMode")){r.debug("[MetaUI DynamicHost]",`Wrapper received setProperty: ${i}`,"DynamicHost")}}t.prototype.setProperty.call(this,i,n,a);if(this._innerHost&&i!=="inferenceStrategy"){this._innerHost.setProperty(i,n,a)}else if(i==="data"||i==="dataJson"||i==="schemaDefinition"||i==="schemaDefinitions"){if(this.getProperty("debugMode")){r.debug("[MetaUI DynamicHost]",`_innerHost not yet initialized when ${i} was set. Booting will happen on next render.`,"DynamicHost")}}return this},openInDialog:function t(e,i,n,a,s){if(!this._innerHost){this.onBeforeRendering()}this._innerHost?.openInDialog(e,i,n,a,s)},triggerSubmit:function t(){if(!this._innerHost){return false}return this._innerHost.triggerSubmit()},addCustomError:function t(e,i){const n=this._innerHost;if(n&&typeof n.addCustomError==="function"){n.addCustomError(e,i)}},clearCustomError:function t(e){const i=this._innerHost;if(i&&typeof i.clearCustomError==="function"){i.clearCustomError(e)}},getProperty:function e(i){if(i==="outputData"){i="data"}if(this._innerHost&&(i==="data"||i==="dataJson")){return this._innerHost.getProperty(i)}return t.prototype.getProperty.call(this,i)}});return u});
10
- 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,o,i,n,s){"use strict";function a(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}function r(t){return new Promise(function(e,o){sap.ui.require([t],function(o){if(!(o&&o.__esModule)){o=o===null||!(typeof o==="object"&&t.endsWith("/library"))?{default:o}:o;Object.defineProperty(o,"__esModule",{value:true})}e(o)},function(t){o(t)})})}const u=a(t);const l=a(e);class c extends u{static renderer=l;static metadata={aggregations:{_content:{type:"sap.m.VBox",multiple:false,visibility:"hidden"}}};init(){super.init();this.locationBtn=new o({icon:"sap-icon://map",text:"Get Location",press:this.getLocation.bind(this)});this.resultInput=new i({editable:false,visible:false});this.vBox=new n({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 o=this.getProperty("value");if(o){this.resultInput.setValue(o);this.resultInput.setVisible(true)}}getLocation(){if(!navigator.geolocation){s.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);s.show("Location acquired.")},t=>{r("../utils/Logger").then(({Logger:e})=>{e.error("[MetaUI] Geolocation failed or denied",t.message,"GeolocationControl")});s.show("Unable to retrieve your location")})}}return c});
11
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/RichTextControl", ["./BaseHardwareControl","./BaseHardwareControlRenderer","sap/m/VBox","sap/ui/richtexteditor/RichTextEditor"],function(t,e,i,r){"use strict";function n(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}const o=n(t);const s=n(e);const h=o.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(){o.prototype.init.call(this);this.richTextEditor=new r({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)}}},setValue:function t(e){this.setProperty("value",e,true);if(this.richTextEditor&&e!==undefined&&e!==null){if(this.richTextEditor.getValue()!==e){this.richTextEditor.setValue(e)}}return this}});return h});
12
- 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);this.boundStartDrawing=this.startDrawing.bind(this);this.boundDraw=this.draw.bind(this);this.boundStopDrawing=this.stopDrawing.bind(this);this.boundStartDrawingTouch=this.startDrawingTouch.bind(this);this.boundDrawTouch=this.drawTouch.bind(this)}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.boundStartDrawing);this.canvasEl.addEventListener("mousemove",this.boundDraw);this.canvasEl.addEventListener("mouseup",this.boundStopDrawing);this.canvasEl.addEventListener("mouseout",this.boundStopDrawing);this.canvasEl.addEventListener("touchstart",this.boundStartDrawingTouch,{passive:false});this.canvasEl.addEventListener("touchmove",this.boundDrawTouch,{passive:false});this.canvasEl.addEventListener("touchend",this.boundStopDrawing);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}exit(){if(this.canvasEl){this.canvasEl.removeEventListener("mousedown",this.boundStartDrawing);this.canvasEl.removeEventListener("mousemove",this.boundDraw);this.canvasEl.removeEventListener("mouseup",this.boundStopDrawing);this.canvasEl.removeEventListener("mouseout",this.boundStopDrawing);this.canvasEl.removeEventListener("touchstart",this.boundStartDrawingTouch);this.canvasEl.removeEventListener("touchmove",this.boundDrawTouch);this.canvasEl.removeEventListener("touchend",this.boundStopDrawing)}this.canvasEl=null;this.canvasCtx=null;super.exit()}}return r});
13
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/VoiceInputControl", ["./BaseHardwareControl","sap/m/Button","sap/m/VBox","sap/m/TextArea","sap/m/MessageToast","sap/m/HBox","../utils/Logger"],function(t,e,i,s,n,o,r){"use strict";function a(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}const c=a(t);const h=r["Logger"];class l extends c{static renderer="nz.co.siliconst.ui5.metaui.controls.BaseHardwareControlRenderer";static metadata={properties:{},events:{}};recognition=null;isRecording=false;init(){super.init();this.textArea=new s({rows:3,width:"100%",placeholder:"Dictated text will appear here...",liveChange:t=>{this.setValueAndFire(t.getParameter("value"))}});this.startBtn=new e({icon:"sap-icon://microphone",text:"Start Dictation",type:"Emphasized",press:this.toggleDictation.bind(this)});const t=new o({items:[this.startBtn]}).addStyleClass("sapUiSmallMarginTop");this.vBox=new i({items:[this.textArea,t]});this.setAggregation("_content",this.vBox);this.initSpeechRecognition()}toggleDictation(){if(this.isRecording){this.stopDictation()}else{this.startDictation()}}initSpeechRecognition(){const t=window.SpeechRecognition||window.webkitSpeechRecognition;if(t){this.recognition=new t;this.recognition.continuous=true;this.recognition.interimResults=true;this.recognition.onresult=t=>{let e="";let i="";for(let s=t.resultIndex;s<t.results.length;++s){if(t.results[s].isFinal){e+=t.results[s][0].transcript}else{i+=t.results[s][0].transcript}}const s=this.getValue()||"";const n=s?s+" "+e:e;if(e){this.textArea.setValue(n);this.setValueAndFire(n)}else if(i){this.textArea.setValue(s?s+" "+i:i)}};this.recognition.onstart=()=>{this.isRecording=true;this.startBtn.setIcon("sap-icon://stop");this.startBtn.setText("Stop Recording");this.startBtn.setType("Reject");n.show("Listening... Please speak now.")};this.recognition.onerror=t=>{h.error("Speech recognition error",t.error,"VoiceInputControl");sap.ui.require(["sap/m/MessageBox"],e=>{e.error("Microphone Error: "+t.error+"\n\nPlease ensure you have a working microphone attached and have not blocked access in your browser settings.")});this.stopDictation()};this.recognition.onend=()=>{this.stopDictation()}}else{h.warn("Web Speech API not supported in this browser.","","VoiceInputControl");this.startBtn.setEnabled(false);this.startBtn.setTooltip("Speech Recognition is not supported in this browser.")}}startDictation(){if(!this.recognition)return;try{this.recognition.start();n.show("Requesting microphone access...");this.startBtn.setIcon("sap-icon://stop");this.startBtn.setText("Requesting mic...");this.startBtn.setType("Reject")}catch(t){const e=t;h.error("Failed to start speech recognition",e.message||String(e),"VoiceInputControl");sap.ui.require(["sap/m/MessageBox"],t=>{t.error("Failed to start dictation. Please ensure you have a working microphone and have granted browser permissions.\n\nDetails: "+(e.message||String(e)))});this.stopDictation()}}stopDictation(){if(!this.recognition)return;try{this.recognition.stop()}catch(t){h.warn("Failed to gracefully stop speech recognition.",String(t),"VoiceInputControl")}this.isRecording=false;this.startBtn.setIcon("sap-icon://microphone");this.startBtn.setText("Start Dictation");this.startBtn.setType("Emphasized")}onBeforeRendering(){const t=this.getProperty("readOnly");this.textArea.setEditable(!t);this.startBtn.setEnabled(!t&&!!this.recognition);const e=this.getProperty("value");if(e!==undefined&&e!==null){if(!this.isRecording){this.textArea.setValue(e)}}}exit(){this.stopDictation();if(this.recognition){this.recognition.onstart=null;this.recognition.onresult=null;this.recognition.onerror=null;this.recognition.onend=null;this.recognition=null}super.exit()}}return l});
14
- 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","sap/m/MessageStrip","sap/m/VBox","../../core/PluginRegistry"],function(e,t,a,i,n,s,r,o,l,g,d,h,u){"use strict";const c=t["Logger"];const p=a["SchemaNormalizer"];const f=i["SchemaValidator"];const y=n["Engine"];const m=s["StateManager"];const M=r["DataSyncDelegate"];const b=o["ValidationDelegate"];const P=l["DialogDelegate"];const D=u["PluginRegistry"];const S=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},schemaDefinitions:{type:"object",defaultValue:{}},schemaTarget:{type:"string",defaultValue:null},pluginRegistry:{type:"object",defaultValue:null},schemaBuilderRegistry:{type:"object",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},editable:{type:"boolean",defaultValue:true}},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"}}},error:{parameters:{message:{type:"string"},exception:{type:"object"}}}}},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;this._generatePromise=null},init:function t(){e.prototype.init.call(this);this.dataSyncDelegate=new M(this);this.validationDelegate=new b(this);this.dialogDelegate=new P(this);this.onInternalFieldChange=this.onInternalFieldChange.bind(this)},setDebugMode:function e(t){this.setProperty("debugMode",t,true);c.setDebugMode(t);return this},setProperty:function t(a,i,n){e.prototype.setProperty.call(this,a,i,n);if(a==="useMessageManager"&&this.stateManager){this.stateManager.setUseMessageManager(i===true)}return this},getStateManager:function e(){return this.stateManager},getSchemaDefinition:function e(t){const a=this.getProperty("schemaDefinitions");if(!a||!t)return undefined;let i=t;if(i.startsWith("#/definitions/")){i=i.substring(14)}else if(i.startsWith("#/components/schemas/")){i=i.substring(21)}return a[i]},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")){c.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")){c.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")){c.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{const e="GeneratorHost skipped rendering. Neither 'schemaDefinition' nor 'data' was provided.";c.error("[MetaUI]",e,"GeneratorHost");this.fireEvent("error",{message:e});throw new Error(e)}}},triggerSubmit:function e(){if(this.stateManager&&this.engine){let e=false;this.validationDelegate.removeAllMessages();const t=this.getProperty("useMessageManager")!==true;const a=this.engine.validateAll(t);if(a.length>0){this.validationDelegate.pushMessage("","One or more fields failed schema validation. Please review the highlighted fields.");for(const e of a){if(e.fieldKey&&e.errorMessage){this.validationDelegate.pushMessage(e.fieldKey,e.errorMessage)}}return false}const i=this.stateManager.extractPayload();const n=JSON.stringify(i);this.fireEvent("beforeSubmit",{payload:i,preventDefault:()=>{e=true},addError:(a,i)=>{e=true;this.validationDelegate.pushMessage(a,i);if(t&&this.engine){const e=this.engine.getPluginByPath(a);if(e&&typeof e.setVisualValidationState==="function"){e.setVisualValidationState(false,i)}}}});if(e){return false}this.dataSyncDelegate.pushToBindings(i);this.fireEvent("submit",{payload:i,payloadJson:n});return true}return false},addCustomError:function e(t,a){this.validationDelegate.addCustomError(t,a);if(this.getProperty("useMessageManager")!==true&&this.engine){const e=this.engine.getPluginByPath(t);if(e&&typeof e.setVisualValidationState==="function"){e.setVisualValidationState(false,a)}}},clearCustomError:function e(t){this.validationDelegate.clearCustomError(t);if(this.getProperty("useMessageManager")!==true&&this.engine){const e=this.engine.getPluginByPath(t);if(e&&typeof e.setVisualValidationState==="function"){const t=e.validate();e.setVisualValidationState(t.isValid,t.errorMessage)}}},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==="editable"||a==="debugMode"||a==="schemaDefinition"||a==="schemaTarget"){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:async function e(){if(this._generatePromise){return this._generatePromise}this._generatePromise=Promise.resolve().then(async()=>{try{await this._doGenerate()}catch(e){c.error("[MetaUI]","Error in deferred generate: "+e,"GeneratorHost");throw e}finally{this._generatePromise=null}});return this._generatePromise},_doGenerate:async 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");const a=!t||typeof t==="object"&&Object.keys(t).length===0;let i=this.getProperty("data");const n=this.getProperty("dataJson");if(n){try{i=JSON.parse(n)}catch(e){const t="Failed to parse inputDataJson string: "+e.message;c.error("[MetaUI]",t,"GeneratorHost");this.fireEvent("error",{message:t,exception:e});throw new Error(t)}}else if(typeof i==="string"){try{i=JSON.parse(i)}catch(e){const t="Failed to parse inputData string: "+e.message;c.error("[MetaUI]",t,"GeneratorHost");this.fireEvent("error",{message:t,exception:e});throw new Error(t)}}const s=e||i;if(!s||Object.keys(s).length===0){if(a){const e="No payload provided and no explicit schema defined. Cannot infer UI.";c.error("[MetaUI]",e,"GeneratorHost");this.fireEvent("error",{message:e});throw new Error(e)}}const r=a?null:t;const o=p.normalize(r,s);this.parsedSchema=o;if(o){const e=f.validateSchemaStructure(o);if(e.length>0){const t="Schema Structural Errors Found:\n- "+e.join("\n- ");c.error("[MetaUI]",t,"GeneratorHost");if(this.getProperty("debugMode")){g.error(t,{title:"MetaUI Schema Error"});return}}}const l=this.getProperty("pluginRegistry")||D.getInstance();const u=l.getPathsToLoad(o);const M=Array.from(u).some(e=>!sap.ui.require(e));if(M){this.setBusy(true);await l.preloadDependencies(o);this.setBusy(false)}if(o&&s){this.dataSyncDelegate.injectSchemaDefaults(o,s)}this.activeModelName="metaUI_"+this.getId();this.stateManager=new m(s,o,this.activeModelName);this.stateManager.setUseMessageManager(this.getProperty("useMessageManager")===true);this.setModel(this.stateManager.getModel(),this.activeModelName);if(!this.engine){const e=this.getProperty("editable")!==false;const t=this.getProperty("useMessageManager")===true;const a=this.getProperty("pluginRegistry")||D.getInstance();this.engine=new y(e,t,a);this.engine.host=this}this.generatedContent=this.engine.build(o,this.stateManager.getModel(),this.activeModelName,this.triggerSubmit.bind(this),this.getId(),this.onInternalFieldChange.bind(this));let b=this.generatedContent;const P=o&&Object.keys(o).length>0;if(!P){const e=new d({text:"Warning: The generated UI is blank. Reason: The schema (or inferred schema) contains no valid properties to render.",type:"Warning",showIcon:true,showCloseButton:false});e.addStyleClass("sapUiSmallMarginBottom");b=new h({items:[e,this.generatedContent]})}else if(this.engine.hasPartialRenderingErrors){const e=new d({text:"Layout partially rendered. Some fields failed to generate due to configuration errors.",type:"Warning",showIcon:true,showCloseButton:true});e.addStyleClass("sapUiSmallMarginBottom");b=new h({items:[e,this.generatedContent]})}this.setAggregation("_content",b);this.validationDelegate.registerObject(this.generatedContent);const S=this.stateManager.extractPayload();this.dataSyncDelegate.pushToBindings(S);const v=this.calculateOptimalDialogWidth(this.parsedSchema);this.dialogDelegate.updateDialogWidthDynamically(v)}catch(e){this.setBusy(false);const t="Fatal crash during layout generation: "+e.message;c.error("[MetaUI]",t,"GeneratorHost");this.fireEvent("error",{message:t,exception:e});this.validationDelegate.mountCrashBoundary(e);throw e}},calculateOptimalDialogWidth:function e(t){if(!t)return"auto";let a=false;const i=e=>{if(a)return;for(const t in e){const n=e[t];if(n.type==="array"){a=true;return}if(n.ui?.fullWidth===true){a=true;return}if(n.ui?.widget==="codeEditor"||n.ui?.widget==="textArea"||n.ui?.widget==="richText"){a=true;return}if(n.properties)i(n.properties);if(n.items&&n.items.properties)i(n.items.properties)}};if(t.type==="array")return"80vw";if(t.properties){i(t.properties)}return a?"80vw":"auto"},openInDialog:function e(t="Form",a="OK",i="Cancel",n="auto",s){const r=!!this.generatedContent;let o=n;if(o==="auto"&&this.parsedSchema){o=this.calculateOptimalDialogWidth(this.parsedSchema)}this.dialogDelegate.openInDialog(t,a,r,i,o,s)}});return S});
15
- 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(e,t,s,a){"use strict";const o=s["Logger"];const r=a["SchemaNormalizer"];class i{_lastPushedPayloadJson=null;_lastPushedPayloadObj=null;_lastReceivedInputObj=null;constructor(e){this.host=e}pushToBindings(t){const s=JSON.stringify(t,null,2);this._lastPushedPayloadJson=s;this._lastPushedPayloadObj=e({},t)?null:JSON.parse(JSON.stringify(t));this.host.setProperty("data",t,true);this.host.setProperty("dataJson",s,true)}handleInputDataHotSwap(s,a,i){let n=null;if(typeof a==="string"){try{n=JSON.parse(a)}catch(e){this.host.setBaseProperty(s,a,true);return}}else{n=a}if(n===null){this.host.setBaseProperty(s,a,true);return}if(this._lastReceivedInputObj&&e(n,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&&e(n,this._lastPushedPayloadObj)){if(this.host.getProperty("debugMode")){o.debug("[MetaUI]",`Dropped echo for ${s}`,"DataSyncDelegate")}this.host.setBaseProperty(s,a,i);return}this._lastReceivedInputObj=t(true,{},n);if(this.host.getProperty("debugMode")){o.debug("[MetaUI]",`Accepted external injection for ${s}`,"DataSyncDelegate")}this.host.setBaseProperty(s,a,true);const h=this.host.getStateManager();if(!h){this.host.invalidate();return}try{h.getModel().setData(n,false);if(!this.host.getProperty("schemaDefinition")&&typeof this.host.getParsedSchema==="function"){const t=r.inferSchemaFromData(n);const s=this.host.getParsedSchema();if(!e(t,s)){this.host.tearDownGeneratedLayout();this.host.invalidate()}}}catch(e){const t=`Failed to hot-swap ${s}: `+e.message;o.error("[MetaUI]",t,"DataSyncDelegate");throw new Error(t)}}injectSchemaDefaults(e,t,s=0){if(!e||!t||typeof t!=="object"||s>8)return;if(e.type==="object"&&e.properties){for(const a of Object.keys(e.properties)){const o=e.properties[a];if(t[a]===undefined){if(o.default!==undefined){t[a]=o.default}else if(o.type==="object"){const e={};this.injectSchemaDefaults(o,e,s+1);if(Object.keys(e).length>0){t[a]=e}}}else if(typeof t[a]==="object"&&t[a]!==null){this.injectSchemaDefaults(o,t[a],s+1)}}}else if(e.type==="array"&&e.items&&Array.isArray(t)){for(let a=0;a<t.length;a++){if(typeof t[a]==="object"&&t[a]!==null){this.injectSchemaDefaults(e.items,t[a],s+1)}}}}}var n={__esModule:true};n.DataSyncDelegate=i;return n});
16
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate", ["sap/m/Dialog","sap/m/Button","sap/m/BusyDialog","../../../utils/Logger"],function(t,e,i,a){"use strict";const o=a["Logger"];class s{activeDialog=null;requestedWidth="auto";calculatedOptimalWidth="auto";constructor(t){this.host=t}async openInDialog(a="Form",s="OK",n,l="Cancel",r="auto",c){this.requestedWidth=r;this.calculatedOptimalWidth=r;const h=new i({text:"Building Form..."});h.open();try{const t=this.host.generate();if(t instanceof Promise){await t}}catch(t){h.close();o.error("[MetaUI] Catastrophic error during pre-generation of dialog content",t.message,"DialogDelegate");return}h.close();const d=this.requestedWidth==="auto"&&this.calculatedOptimalWidth!=="auto"?this.calculatedOptimalWidth:this.requestedWidth;const u=new t({title:a,contentWidth:d,content:[this.host],beginButton:new e({text:s,type:"Emphasized",press:()=>{try{const t=this.host.triggerSubmit();if(t){u.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:l,press:()=>{this.host.fireEvent("cancel");u.close()}}),afterClose:()=>{this.activeDialog=null;u.destroy()}});this.activeDialog=u;if(c&&typeof c.addDependent==="function"){c.addDependent(u)}u.open()}updateDialogWidthDynamically(t){this.calculatedOptimalWidth=t;if(this.activeDialog&&this.requestedWidth==="auto"&&t!=="auto"){this.activeDialog.setContentWidth(t)}}}var n={__esModule:true};n.DialogDelegate=s;return n});
9
+ 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.getProperty("value");if(t&&typeof t==="string"&&t.startsWith("data:image")){this.showPreview(t)}else if(this.captureBtn.getVisible()&&this.videoHtml.getVisible()){this.startCamera()}}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)}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.setProperty("value",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});
10
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/DynamicHost", ["sap/ui/core/Control","./host/GeneratorHost","../utils/Logger","./host/delegates/ODataDelegate","../core/SchemaBuilderRegistry","sap/ui/core/BusyIndicator","sap/m/MessageToast","sap/m/MessageBox","../services/SchemaProvider","../ai/AIConfig"],function(t,e,i,n,a,o,s,r,l,c){"use strict";function d(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}const h=d(e);const u=i["Logger"];const f=n["ODataDelegate"];const p=a["SchemaBuilderRegistry"];const g=l["SchemaProvider"];const y=c["AIConfig"];const m=t.extend("nz.co.siliconst.ui5.metaui.controls.DynamicHost",{constructor:function e(){t.prototype.constructor.apply(this,arguments);this.odataDelegate=null;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 i=e.getAggregation("_content");if(i){t.renderControl(i)}t.close("div")}},metadata:{properties:{schemaDefinition:{type:"any",defaultValue:null},schemaDefinitions:{type:"object",defaultValue:null},schemaTarget:{type:"string",defaultValue:null},pluginRegistry:{type:"object",defaultValue:null},schemaBuilderRegistry:{type:"object",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},editable:{type:"boolean",defaultValue:true},layoutBudget:{type:"int",defaultValue:0},inferenceStrategy:{type:"string",defaultValue:"RuleBased"}},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"}}},error:{parameters:{message:{type:"string"},exception:{type:"object"}}}}},initODataDelegate:function t(){if(!this.odataDelegate){if(this.getBindingInfo("dataJson")){return}const t=this.getBindingInfo("data");if(t&&t.path&&t.path!==""){return}const e=this.getBindingContext("odata")||this.getBindingContext();if(e){u.debug("[MetaUI DynamicHost]",`Context found for delegate initialization: ${e.getPath()}`,"DynamicHost");if(e&&e.requestObject&&typeof e.requestObject==="function"){u.debug("[MetaUI DynamicHost]",`Context supports requestObject/getObject. Instantiating ODataDelegate.`,"DynamicHost");this.odataDelegate=new f(this,e);this.odataDelegate.syncToEngine()}else{u.debug("[MetaUI DynamicHost]",`Context does NOT support requestObject/getObject! Keys: ${Object.keys(e)}`,"DynamicHost")}}}},setBindingContext:function e(i,n){t.prototype.setBindingContext.call(this,i,n);this.initODataDelegate();return this},bindElement:function e(i,n){t.prototype.bindElement.call(this,i,n);const a=typeof i==="object"?i.model:undefined;const o=this.getElementBinding(a);if(o){o.attachChange(()=>{this.initODataDelegate()})}return this},onBeforeRendering:function e(){u.debug("[MetaUI DynamicHost]",`onBeforeRendering called. _initializedInner: ${this._initializedInner}`,"DynamicHost");this.initODataDelegate();if(!this._initializedInner){let e=this.getProperty("schemaDefinition");if(typeof e==="string"&&(e.startsWith("http://")||e.startsWith("https://"))){const i=this;if(i._fetchingSchema)return;i._fetchingSchema=true;o.show(0);g.resolve(e).then(e=>{const i=p.getBuilderFor(e);const n=i?i.build(e,this.getProperty("schemaTarget")):e;t.prototype.setProperty.call(this,"schemaDefinition",n,true);if(n.definitions){t.prototype.setProperty.call(this,"schemaDefinitions",n.definitions,true)}const a=this;a._fetchingSchema=false;o.hide();this.invalidate()}).catch(e=>{const i=this;s.show("Failed to fetch remote schema");t.prototype.setProperty.call(this,"schemaDefinition",null,true);i._fetchingSchema=false;o.hide();this.invalidate()});return}let i=e;if(i&&typeof i==="string"&&i.trim().startsWith("{")){try{i=JSON.parse(i)}catch(t){}}if(i&&typeof i==="object"){const e=p.getBuilderFor(i);if(e){i=e.build(i,this.getProperty("schemaTarget"));t.prototype.setProperty.call(this,"schemaDefinition",i,true);if(i.definitions){t.prototype.setProperty.call(this,"schemaDefinitions",i.definitions,true)}}}const n=this.getProperty("dataJson");const a=this.getProperty("data");let l=!!i;if(l&&typeof i==="object"&&Object.keys(i).length===0){l=false}const c=!!n||!!a;if(c&&this.getProperty("inferenceStrategy")==="AI"){const e=this;if(e._fetchingSchema)return;e._fetchingSchema=true;let l=a;if(!l&&n){try{l=JSON.parse(n)}catch(t){const e="Ignored invalid dataJson parse: "+t.message;u.error("[DynamicHost]",e,"DynamicHost");r.error(e,{title:"Invalid JSON Data"})}}if(l){o.show(0);const e=y.getProxy();e.generateSchema(l,i||undefined).then(e=>{const i=this;t.prototype.setProperty.call(this,"schemaDefinition",e,true);i._fetchingSchema=false;o.hide();this.invalidate()}).catch(e=>{const i=this;u.warn("[MetaUI DynamicHost]","AI inference failed, falling back to RuleBased. Error: "+e.message,"DynamicHost");s.show("AI Inference failed, using fallback.");t.prototype.setProperty.call(this,"inferenceStrategy","RuleBased",true);i._fetchingSchema=false;o.hide();this.invalidate()});return}}u.debug("[MetaUI DynamicHost]",`Evaluating boot. hasSchema: ${l}, hasData: ${c}`,"DynamicHost");if(l||c){if(this.getProperty("debugMode")){u.debug("[MetaUI DynamicHost]",`Booting inner host. hasSchema: ${l}, hasData: ${c}`,"DynamicHost")}this._innerHost=new h;const e=this.getMetadata().getProperties();for(const i in e){if(i==="inferenceStrategy")continue;const e=t.prototype.getProperty.call(this,i);if(e!==null&&e!==undefined){if(i==="schemaDefinitions"){u.debug(`[MetaUI DynamicHost] Proxying schemaDefinitions: ${Object.keys(e)}`,"","DynamicHost")}this._innerHost.setProperty(i,e)}else if(i==="schemaDefinitions"){u.warn(`[MetaUI DynamicHost] Warning: schemaDefinitions is null/undefined in Wrapper. Defaulting to empty object in GeneratorHost.`,"","DynamicHost")}}this.setAggregation("_content",this._innerHost);const i=this.getMetadata().getEvents();for(const e in i){this._innerHost.attachEvent(e,i=>{if(e==="submit"||e==="fieldChange"){const n=i.getParameters();if(n.payload){const i=this.getProperty("liveUpdate")===true;if(e==="submit"||i){t.prototype.setProperty.call(this,"data",n.payload,true);const e=n.payloadJson||JSON.stringify(n.payload,null,2);t.prototype.setProperty.call(this,"dataJson",e,true)}}}this.fireEvent(e,i.getParameters())})}this._initializedInner=true}}},setProperty:function e(i,n,a){if(i==="data"||i==="dataJson"||i==="schemaDefinition"||i==="schemaDefinitions"){if(this.getProperty("debugMode")){u.debug("[MetaUI DynamicHost]",`Wrapper received setProperty: ${i}`,"DynamicHost")}}t.prototype.setProperty.call(this,i,n,a);if(this._innerHost&&i!=="inferenceStrategy"){this._innerHost.setProperty(i,n,a)}else if(i==="data"||i==="dataJson"||i==="schemaDefinition"||i==="schemaDefinitions"){if(this.getProperty("debugMode")){u.debug("[MetaUI DynamicHost]",`_innerHost not yet initialized when ${i} was set. Booting will happen on next render.`,"DynamicHost")}}return this},openInDialog:function t(e,i,n,a,o){if(!this._innerHost){this.onBeforeRendering()}this._innerHost?.openInDialog(e,i,n,a,o)},triggerSubmit:function t(){if(!this._innerHost){return false}return this._innerHost.triggerSubmit()},addCustomError:function t(e,i){const n=this._innerHost;if(n&&typeof n.addCustomError==="function"){n.addCustomError(e,i)}},clearCustomError:function t(e){const i=this._innerHost;if(i&&typeof i.clearCustomError==="function"){i.clearCustomError(e)}},getProperty:function e(i){if(i==="outputData"){i="data"}if(this._innerHost&&(i==="data"||i==="dataJson")){return this._innerHost.getProperty(i)}return t.prototype.getProperty.call(this,i)}});return m});
11
+ 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,o,i,n,s){"use strict";function r(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}function a(t){return new Promise(function(e,o){sap.ui.require([t],function(o){if(!(o&&o.__esModule)){o=o===null||!(typeof o==="object"&&t.endsWith("/library"))?{default:o}:o;Object.defineProperty(o,"__esModule",{value:true})}e(o)},function(t){o(t)})})}const u=r(t);const l=r(e);class c extends u{static renderer=l;init(){super.init();this.locationBtn=new o({icon:"sap-icon://map",text:"Get Location",press:this.getLocation.bind(this)});this.resultInput=new i({editable:false,visible:false});this.vBox=new n({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 o=this.getProperty("value");if(o){this.resultInput.setValue(o);this.resultInput.setVisible(true)}}getLocation(){if(!navigator.geolocation){s.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);s.show("Location acquired.")},t=>{a("../utils/Logger").then(({Logger:e})=>{e.error("[MetaUI] Geolocation failed or denied",t.message,"GeolocationControl")});s.show("Unable to retrieve your location")})}}return c});
12
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/RichTextControl", ["./BaseHardwareControl","./BaseHardwareControlRenderer","sap/m/VBox","sap/ui/richtexteditor/RichTextEditor"],function(t,e,i,r){"use strict";function n(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}const o=n(t);const s=n(e);const h=o.extend("nz.co.siliconst.ui5.metaui.controls.RichTextControl",{renderer:s,init:function t(){o.prototype.init.call(this);this.richTextEditor=new r({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)}}},setValue:function t(e){this.setProperty("value",e,true);if(this.richTextEditor&&e!==undefined&&e!==null){if(this.richTextEditor.getValue()!==e){this.richTextEditor.setValue(e)}}return this}});return h});
13
+ 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{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);this.boundStartDrawing=this.startDrawing.bind(this);this.boundDraw=this.draw.bind(this);this.boundStopDrawing=this.stopDrawing.bind(this);this.boundStartDrawingTouch=this.startDrawingTouch.bind(this);this.boundDrawTouch=this.drawTouch.bind(this)}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.boundStartDrawing);this.canvasEl.addEventListener("mousemove",this.boundDraw);this.canvasEl.addEventListener("mouseup",this.boundStopDrawing);this.canvasEl.addEventListener("mouseout",this.boundStopDrawing);this.canvasEl.addEventListener("touchstart",this.boundStartDrawingTouch,{passive:false});this.canvasEl.addEventListener("touchmove",this.boundDrawTouch,{passive:false});this.canvasEl.addEventListener("touchend",this.boundStopDrawing);const s=this.getProperty("value");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.setProperty("value",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}exit(){if(this.canvasEl){this.canvasEl.removeEventListener("mousedown",this.boundStartDrawing);this.canvasEl.removeEventListener("mousemove",this.boundDraw);this.canvasEl.removeEventListener("mouseup",this.boundStopDrawing);this.canvasEl.removeEventListener("mouseout",this.boundStopDrawing);this.canvasEl.removeEventListener("touchstart",this.boundStartDrawingTouch);this.canvasEl.removeEventListener("touchmove",this.boundDrawTouch);this.canvasEl.removeEventListener("touchend",this.boundStopDrawing)}this.canvasEl=null;this.canvasCtx=null;super.exit()}}return r});
14
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/VoiceInputControl", ["./BaseHardwareControl","sap/m/Button","sap/m/VBox","sap/m/TextArea","sap/m/MessageToast","sap/m/HBox","../utils/Logger"],function(t,e,i,s,n,o,r){"use strict";function a(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}const c=a(t);const h=r["Logger"];class l extends c{recognition=null;isRecording=false;init(){super.init();this.textArea=new s({rows:3,width:"100%",placeholder:"Dictated text will appear here...",liveChange:t=>{this.setValueAndFire(t.getParameter("value"))}});this.startBtn=new e({icon:"sap-icon://microphone",text:"Start Dictation",type:"Emphasized",press:this.toggleDictation.bind(this)});const t=new o({items:[this.startBtn]}).addStyleClass("sapUiSmallMarginTop");this.vBox=new i({items:[this.textArea,t]});this.setAggregation("_content",this.vBox);this.initSpeechRecognition()}toggleDictation(){if(this.isRecording){this.stopDictation()}else{this.startDictation()}}initSpeechRecognition(){const t=window.SpeechRecognition||window.webkitSpeechRecognition;if(t){this.recognition=new t;this.recognition.continuous=true;this.recognition.interimResults=true;this.recognition.onresult=t=>{let e="";let i="";for(let s=t.resultIndex;s<t.results.length;++s){if(t.results[s].isFinal){e+=t.results[s][0].transcript}else{i+=t.results[s][0].transcript}}const s=this.getProperty("value")||"";const n=s?s+" "+e:e;if(e){this.textArea.setValue(n);this.setValueAndFire(n)}else if(i){this.textArea.setValue(s?s+" "+i:i)}};this.recognition.onstart=()=>{this.isRecording=true;this.startBtn.setIcon("sap-icon://stop");this.startBtn.setText("Stop Recording");this.startBtn.setType("Reject");n.show("Listening... Please speak now.")};this.recognition.onerror=t=>{h.error("Speech recognition error",t.error,"VoiceInputControl");sap.ui.require(["sap/m/MessageBox"],e=>{e.error("Microphone Error: "+t.error+"\n\nPlease ensure you have a working microphone attached and have not blocked access in your browser settings.")});this.stopDictation()};this.recognition.onend=()=>{this.stopDictation()}}else{h.warn("Web Speech API not supported in this browser.","","VoiceInputControl");this.startBtn.setEnabled(false);this.startBtn.setTooltip("Speech Recognition is not supported in this browser.")}}startDictation(){if(!this.recognition)return;try{this.recognition.start();n.show("Requesting microphone access...");this.startBtn.setIcon("sap-icon://stop");this.startBtn.setText("Requesting mic...");this.startBtn.setType("Reject")}catch(t){const e=t;h.error("Failed to start speech recognition",e.message||String(e),"VoiceInputControl");sap.ui.require(["sap/m/MessageBox"],t=>{t.error("Failed to start dictation. Please ensure you have a working microphone and have granted browser permissions.\n\nDetails: "+(e.message||String(e)))});this.stopDictation()}}stopDictation(){if(!this.recognition)return;try{this.recognition.stop()}catch(t){h.warn("Failed to gracefully stop speech recognition.",String(t),"VoiceInputControl")}this.isRecording=false;this.startBtn.setIcon("sap-icon://microphone");this.startBtn.setText("Start Dictation");this.startBtn.setType("Emphasized")}onBeforeRendering(){const t=this.getProperty("readOnly");this.textArea.setEditable(!t);this.startBtn.setEnabled(!t&&!!this.recognition);const e=this.getProperty("value");if(e!==undefined&&e!==null){if(!this.isRecording){this.textArea.setValue(e)}}}exit(){this.stopDictation();if(this.recognition){this.recognition.onstart=null;this.recognition.onresult=null;this.recognition.onerror=null;this.recognition.onend=null;this.recognition=null}super.exit()}}return l});
15
+ 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","../../core/PolicyEngine","./delegates/DataSyncDelegate","./delegates/ValidationDelegate","./delegates/DialogDelegate","sap/m/MessageBox","sap/m/MessageStrip","sap/m/VBox","../../core/PluginRegistry","../../core/LayoutScorer","../../core/LayoutMutator","../../core/DefaultLayoutGenerator"],function(e,t,a,i,n,s,r,o,l,g,h,d,u,c,p,y,f){"use strict";const m=t["Logger"];const M=a["SchemaNormalizer"];const b=i["SchemaValidator"];const P=n["Engine"];const v=s["StateManager"];const D=r["PolicyEngine"];const S=o["DataSyncDelegate"];const V=l["ValidationDelegate"];const E=g["DialogDelegate"];const C=c["PluginRegistry"];const w=p["LayoutScorer"];const I=y["LayoutMutator"];const B=f["DefaultLayoutGenerator"];const U=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},schemaDefinitions:{type:"object",defaultValue:{}},schemaTarget:{type:"string",defaultValue:null},pluginRegistry:{type:"object",defaultValue:null},schemaBuilderRegistry:{type:"object",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},editable:{type:"boolean",defaultValue:true},layoutBudget:{type:"int",defaultValue:0},engineScopeId:{type:"string",defaultValue:null}},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"}}},error:{parameters:{message:{type:"string"},exception:{type:"object"}}}}},constructor:function t(a,i){e.prototype.constructor.call(this,a,i);this.stateManager=null;this.generatedContent=null;this.engine=null;this.policyEngine=null;this.policyDebounceTimer=null;this.activeModelName="";this.parsedSchema=null;this._generatePromise=null},init:function t(){e.prototype.init.call(this);this.dataSyncDelegate=new S(this);this.validationDelegate=new V(this);this.dialogDelegate=new E(this);this.onInternalFieldChange=this.onInternalFieldChange.bind(this)},setDebugMode:function e(t){this.setProperty("debugMode",t,true);m.setDebugMode(t);return this},getStateManager:function e(){return this.stateManager},getSchemaDefinition:function e(t){const a=this.getProperty("schemaDefinitions");if(!a||!t)return undefined;let i=t;if(i.startsWith("#/definitions/")){i=i.substring(14)}else if(i.startsWith("#/components/schemas/")){i=i.substring(21)}return a[i]},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")){m.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")){m.debug("[MetaUI]",`Validation state shifted to: ${t}`,"GeneratorHost")}}this.fireEvent("fieldChange",{fieldPath:a||"",value:undefined,payload:s,isValid:t});if(this.policyEngine&&a){if(this.policyDebounceTimer)clearTimeout(this.policyDebounceTimer);this.policyDebounceTimer=setTimeout(()=>{this.evaluatePolicies()},200)}},evaluatePolicies:function e(){if(!this.policyEngine||!this.stateManager||!this.engine)return;const t=this.stateManager.extractPayload();const a=this.policyEngine.evaluate(t);for(const e of a){const t=this.engine.getPluginByPath(e.target);if(t){if((e.property==="visibility"||e.property==="editable")&&e.value===false){this.stateManager.setProperty(e.target,undefined)}switch(e.property){case"visibility":if(t.applyVisibility)t.applyVisibility(e.value);break;case"validity":if(e.value){this.engine.reportPolicyError(e.target,null)}else{this.engine.reportPolicyError(e.target,e.errorMessage||"Validation failed by policy")}break;case"required":if(t.applyRequired)t.applyRequired(e.value);break;case"editable":if(t.applyEditable)t.applyEditable(e.value);break}}}},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")){m.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{const e="GeneratorHost skipped rendering. Neither 'schemaDefinition' nor 'data' was provided.";m.error("[MetaUI]",e,"GeneratorHost");this.fireEvent("error",{message:e});throw new Error(e)}}},triggerSubmit:function e(){if(this.stateManager&&this.engine){let e=false;this.validationDelegate.removeAllMessages();if(this.policyEngine){this.evaluatePolicies()}const t=this.engine.validateAll(true);if(t.length>0){if(this.getProperty("useMessageManager")===true){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,e.fieldLabel)}}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;if(this.getProperty("useMessageManager")===true){this.validationDelegate.pushMessage(t,a)}if(this.engine){const e=this.engine.getPluginByPath(t);if(e&&typeof e.setVisualValidationState==="function"){e.setVisualValidationState(false,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);if(this.getProperty("useMessageManager")!==true&&this.engine){const e=this.engine.getPluginByPath(t);if(e&&typeof e.setVisualValidationState==="function"){e.setVisualValidationState(false,a)}}},clearCustomError:function e(t){this.validationDelegate.clearCustomError(t);if(this.getProperty("useMessageManager")!==true&&this.engine){const e=this.engine.getPluginByPath(t);if(e&&typeof e.setVisualValidationState==="function"){const t=e.validate();e.setVisualValidationState(t.isValid,t.errorMessage)}}},setBusy:function t(a){e.prototype.setBusy.call(this,a);return this},setProperty:function t(a,i,n){if(a==="useMessageManager"&&this.stateManager){this.stateManager.setUseMessageManager(i===true)}if(a==="dataJson"||a==="data"){this.dataSyncDelegate.handleInputDataHotSwap(a,i,n);return this}if(a==="editable"||a==="debugMode"||a==="schemaDefinition"||a==="schemaTarget"){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:async function e(){if(this._generatePromise){return this._generatePromise}this._generatePromise=Promise.resolve().then(async()=>{try{await this._doGenerate()}catch(e){m.error("[MetaUI]","Error in deferred generate: "+e,"GeneratorHost");throw e}finally{this._generatePromise=null}});return this._generatePromise},_doGenerate:async 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}let t=this.getProperty("schemaDefinition");if(t&&typeof t==="object"){t=JSON.parse(JSON.stringify(t))}const a=!t||typeof t==="object"&&Object.keys(t).length===0;let i=this.getProperty("data");const n=this.getProperty("dataJson");let s="";if(n){try{i=JSON.parse(n)}catch(e){s="Failed to parse inputDataJson string: "+e.message;m.error("[MetaUI]",s,"GeneratorHost");this.fireEvent("error",{message:s,exception:e});i={}}}else if(typeof i==="string"){try{i=JSON.parse(i)}catch(e){s="Failed to parse inputData string: "+e.message;m.error("[MetaUI]",s,"GeneratorHost");this.fireEvent("error",{message:s,exception:e});i={}}}const r=s?i:e||i;if(!r||Object.keys(r).length===0){if(a){const e="No payload provided and no explicit schema defined. Cannot infer UI.";m.error("[MetaUI]",e,"GeneratorHost");this.fireEvent("error",{message:e});throw new Error(e)}}const o=a?null:t;const l=M.normalize(o,r);this.parsedSchema=l;if(l){if(l.uiPolicies&&l.uiPolicies.length>0){this.policyEngine=new D(l.uiPolicies)}else{this.policyEngine=null}const e=b.validateSchemaStructure(l);if(e.length>0){const t="Schema Structural Errors Found:\n- "+e.join("\n- ");m.error("[MetaUI]",t,"GeneratorHost");if(this.getProperty("debugMode")){h.error(t,{title:"MetaUI Schema Error"});return}}}const g=this.getProperty("schemaDefinitions")||{};let c=t;if(typeof t==="string"&&t.trim()!==""){try{c=JSON.parse(t)}catch(e){}}if(c&&typeof c==="object"&&c.definitions){Object.assign(g,c.definitions);this.setProperty("schemaDefinitions",g,true)}let p;if(Object.keys(g).length>0){p={};for(const e in g){try{p[e]=M.normalize(g[e])}catch(t){m.warn(`[MetaUI] Failed to normalize schema definition '${e}'`,"","GeneratorHost")}}}const y=this.getProperty("layoutBudget");if(B.ensureLayout(l)){m.warn("[MetaUI GeneratorHost] Missing 'uiLayout' array in schema. Synthesized a default layout mapping to prevent a blank render.")}w.apply(l,y,p);I.apply(l);const f=this.getProperty("pluginRegistry")||C.getInstance();const S=f.getPathsToLoad(l);const V=Array.from(S).some(e=>!sap.ui.require(e));if(V){this.setBusy(true);await f.preloadDependencies(l);this.setBusy(false)}if(l&&r){this.dataSyncDelegate.injectSchemaDefaults(l,r)}this.activeModelName="metaUI_"+this.getId();this.stateManager=new v(r,l,this.activeModelName);this.stateManager.setUseMessageManager(this.getProperty("useMessageManager")===true);this.setModel(this.stateManager.getModel(),this.activeModelName);if(!this.engine){const e=this.getProperty("editable")!==false;const t=this.getProperty("useMessageManager")===true;const a=this.getProperty("pluginRegistry")||C.getInstance();this.engine=new P(e,t,a);this.engine.host=this}this.generatedContent=this.engine.build(l,this.stateManager.getModel(),this.activeModelName,this.triggerSubmit.bind(this),this.getId(),this.onInternalFieldChange.bind(this));if(this.policyEngine){this.evaluatePolicies()}let E=this.generatedContent;const U=l&&Object.keys(l).length>0;if(!U){const e=new d({text:"Warning: The generated UI is blank. Reason: The schema (or inferred schema) contains no valid properties to render.",type:"Warning",showIcon:true,showCloseButton:true});e.addStyleClass("sapUiSmallMargin");E=new u({items:[e]})}else if(s){const e=new d({text:"Data Error: "+s+". The form has been rendered with a blank dataset.",type:"Error",showIcon:true,showCloseButton:true});e.addStyleClass("sapUiSmallMargin");if(typeof E.insertItem==="function"){E.insertItem(e,0)}else if(typeof E.insertContent==="function"){E.insertContent(e,0)}else{E=new u({items:[e,this.generatedContent]})}}else if(this.engine.hasPartialRenderingErrors){const e=new d({text:"Layout partially rendered. Some fields failed to generate due to configuration errors.",type:"Warning",showIcon:true,showCloseButton:true});e.addStyleClass("sapUiSmallMarginBottom");E=new u({items:[e,this.generatedContent]})}this.setAggregation("_content",E);this.validationDelegate.registerObject(this.generatedContent);const G=this.stateManager.extractPayload();this.dataSyncDelegate.pushToBindings(G);this.dialogDelegate.calculateAndApplyOptimalWidth(this.parsedSchema)}catch(e){this.setBusy(false);const t="Fatal crash during layout generation: "+e.message;m.error("[MetaUI]",t,"GeneratorHost");this.fireEvent("error",{message:t,exception:e});this.validationDelegate.mountCrashBoundary(e);throw e}},openInDialog:function e(t="Form",a="OK",i="Cancel",n="auto",s){const r=!!this.generatedContent;this.dialogDelegate.openInDialog(t,a,r,i,n,s)}});return U});
16
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate", ["../../../utils/Logger","../../../core/SchemaNormalizer"],function(e,t){"use strict";const s=e["Logger"];const r=t["SchemaNormalizer"];class i{_isSyncing=false;constructor(e){this.host=e}pushToBindings(e){this._isSyncing=true;const t=JSON.stringify(e,null,2);this.host.setProperty("data",e,true);this.host.setProperty("dataJson",t,true);this._isSyncing=false}handleInputDataHotSwap(e,t,i){let o=null;if(typeof t==="string"){try{o=JSON.parse(t)}catch(s){this.host.setBaseProperty(e,t,false);return}}else{o=t}if(o===null){this.host.setBaseProperty(e,t,true);return}if(this._isSyncing){if(this.host.getProperty("debugMode")){s.debug("[MetaUI]",`Dropped echo for ${e} due to active sync lock`,"DataSyncDelegate")}this.host.setBaseProperty(e,t,i);return}if(this.host.getProperty("debugMode")){s.debug("[MetaUI]",`Accepted external injection for ${e}`,"DataSyncDelegate")}this.host.setBaseProperty(e,t,true);const a=this.host.getStateManager();if(!a){this.host.invalidate();return}try{a.getModel().setData(o,false);if(!this.host.getProperty("schemaDefinition")&&typeof this.host.getParsedSchema==="function"){const e=this.host.getParsedSchema();const t=r.inferSchemaFromData(o);if(!this.deepEquals(t,e)){this.host.tearDownGeneratedLayout();this.host.invalidate()}}}catch(t){const r=`Failed to hot-swap ${e}: `+t.message;s.error("[MetaUI]",r,"DataSyncDelegate");throw new Error(r)}}deepEquals(e,t){if(e===t)return true;if(typeof e!=="object"||typeof t!=="object"||e===null||t===null)return false;if(Array.isArray(e)!==Array.isArray(t))return false;const s=Object.keys(e);const r=Object.keys(t);if(s.length!==r.length)return false;for(const i of s){if(!r.includes(i))return false;if(!this.deepEquals(e[i],t[i]))return false}return true}injectSchemaDefaults(e,t,s=0){if(!e||!t||typeof t!=="object"||s>8)return;const r=e;const i=t;if(r.type==="object"&&r.properties){const e=r.properties;for(const t of Object.keys(e)){const r=e[t];if(i[t]===undefined){if(r.default!==undefined){i[t]=r.default}else if(r.type==="object"){const e={};this.injectSchemaDefaults(r,e,s+1);if(Object.keys(e).length>0){i[t]=e}}}else if(typeof i[t]==="object"&&i[t]!==null){this.injectSchemaDefaults(r,i[t],s+1)}}}else if(r.type==="array"&&r.items&&Array.isArray(i)){for(let e=0;e<i.length;e++){if(typeof i[e]==="object"&&i[e]!==null){this.injectSchemaDefaults(r.items,i[e],s+1)}}}}}var o={__esModule:true};o.DataSyncDelegate=i;return o});
17
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate", ["sap/m/Dialog","sap/m/Button","sap/m/BusyDialog","../../../utils/Logger"],function(t,e,i,a){"use strict";const o=a["Logger"];class r{activeDialog=null;requestedWidth="auto";calculatedOptimalWidth="auto";constructor(t){this.host=t}async openInDialog(a="Form",r="OK",s,n="Cancel",l="auto",u){this.requestedWidth=l;this.calculatedOptimalWidth=l;const c=new i({text:"Building Form..."});c.open();try{const t=this.host.generate();if(t instanceof Promise){await t}}catch(t){c.close();o.error("[MetaUI] Catastrophic error during pre-generation of dialog content",t.message,"DialogDelegate");return}c.close();const d=this.requestedWidth==="auto"&&this.calculatedOptimalWidth!=="auto"?this.calculatedOptimalWidth:this.requestedWidth;const h=new t({title:a,contentWidth:d,content:[this.host],beginButton:new e({text:r,type:"Emphasized",press:()=>{try{const t=this.host.triggerSubmit();if(t){h.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:n,press:()=>{this.host.fireEvent("cancel");h.close()}}),afterClose:()=>{this.activeDialog=null;h.destroy()}});this.activeDialog=h;if(u&&typeof u.addDependent==="function"){u.addDependent(h)}h.open()}calculateAndApplyOptimalWidth(t){const e=this.calculateOptimalDialogWidth(t);this.calculatedOptimalWidth=e;if(this.activeDialog&&this.requestedWidth==="auto"&&e!=="auto"){this.activeDialog.setContentWidth(e)}}calculateOptimalDialogWidth(t){if(!t)return"auto";let e=false;const i=new WeakSet;const a=t=>{if(e)return;if(i.has(t))return;i.add(t);for(const i in t){const o=t[i];if(!o||typeof o!=="object")continue;if(o.type==="array"){e=true;return}if(o.ui?.fullWidth===true){e=true;return}if(o.ui?.widget==="codeEditor"||o.ui?.widget==="textArea"||o.ui?.widget==="richText"){e=true;return}if(o.properties)a(o.properties);if(o.items&&o.items.properties)a(o.items.properties)}i.delete(t)};if(t.type==="array")return"80vw";if(t.properties){a(t.properties)}return e?"80vw":"auto"}}var s={__esModule:true};s.DialogDelegate=r;return s});
17
18
  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();this.host.attachEvent("fieldChange",this.onFieldChange,this)}onFieldChange(t){const e=t.getParameters();if(e.fieldPath&&e.value!==undefined){this.handleFieldChange(e.fieldPath,e.value)}}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});
18
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate", ["sap/m/IllustratedMessage","sap/ui/core/Messaging","../../../utils/Logger","sap/ui/core/message/Message","sap/ui/core/library"],function(e,t,s,r,a){"use strict";const o=s["Logger"];class g{constructor(e){this.host=e}registerObject(e){}unregisterObject(e){}removeAllMessages(){const e=this.host.getStateManager();if(e&&this.host.getProperty("useMessageManager")){const s=t;const r=s.getMessageModel().getData();const a=r.filter(t=>t.getMessageProcessor()&&t.getMessageProcessor().getId()===e.getModel().getId());if(a&&a.length>0){s.removeMessages(a)}}}pushMessage(e,s){const g=e?`/${e.replace(/^\//,"")}`:"";const n=e?`Field '${e}': ${s}`:s;if(e){o.warn(`[MetaUI Validation Error] ${n}`)}else{o.warn(`[MetaUI Validation Error] Global - ${s}`)}if(this.host.getProperty("useMessageManager")===true){const e=t;const s=this.host.getStateManager();e.addMessages(new r({message:n,type:a.MessageType.Error,target:g,processor:s?.getModel()}))}}addCustomError(e,s){if(this.host.getProperty("useMessageManager")!==true){return}const o=this.host.getStateManager();if(!o){return}t.addMessages(new r({message:s,type:a.MessageType.Error,target:`/${e.replace(/^\//,"")}`,processor:o.getModel(),code:"CustomError"}))}clearCustomError(e){if(this.host.getProperty("useMessageManager")!==true){return}const s=this.host.getStateManager();if(!s){return}const r=`/${e.replace(/^\//,"")}`;const a=s.getModel().getId();const o=t.getMessageModel().getData();const g=o.filter(e=>e.getTarget()===r&&e.getCode()==="CustomError"&&e.getMessageProcessor()?.getId()===a);if(g.length>0){t.removeMessages(g)}}mountCrashBoundary(t){o.error("[MetaUI] Engine failed to generate layout. Preventing Launchpad crash.",t.message,"ValidationDelegate");const s=new e({title:"UI Generation Failed",description:"The dynamic schema could not be rendered. Please check the Fiori console for diagnostic logs."});this.host.setAggregation("_content",s)}}var n={__esModule:true};n.ValidationDelegate=g;return n});
19
- 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});
19
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate", ["sap/m/IllustratedMessage","sap/ui/core/Messaging","../../../utils/Logger","sap/ui/core/message/Message","sap/ui/core/library"],function(e,t,s,r,a){"use strict";const o=s["Logger"];class g{constructor(e){this.host=e}registerObject(e){}unregisterObject(e){}removeAllMessages(){const e=this.host.getStateManager();if(e&&this.host.getProperty("useMessageManager")){const s=t;const r=s.getMessageModel().getData();const a=r.filter(t=>t.getMessageProcessor()&&t.getMessageProcessor().getId()===e.getModel().getId());if(a&&a.length>0){s.removeMessages(a)}}}pushMessage(e,s,g){const n=e?`/${e.replace(/^\//,"")}`:"";const i=g||e;const c=e?`Field '${i}': ${s}`:s;if(e){o.warn(`[MetaUI Validation Error] ${c}`)}else{o.warn(`[MetaUI Validation Error] Global - ${s}`)}if(this.host.getProperty("useMessageManager")===true){const e=t;const s=this.host.getStateManager();e.addMessages(new r({message:c,additionalText:i!==n?i:undefined,type:a.MessageType.Error,target:n,processor:s?.getModel()}))}}addCustomError(e,s){if(this.host.getProperty("useMessageManager")!==true){return}const o=this.host.getStateManager();if(!o){return}t.addMessages(new r({message:s,type:a.MessageType.Error,target:`/${e.replace(/^\//,"")}`,processor:o.getModel(),code:"CustomError"}))}clearCustomError(e){if(this.host.getProperty("useMessageManager")!==true){return}const s=this.host.getStateManager();if(!s){return}const r=`/${e.replace(/^\//,"")}`;const a=s.getModel().getId();const o=t.getMessageModel().getData();const g=o.filter(e=>e.getTarget()===r&&e.getCode()==="CustomError"&&e.getMessageProcessor()?.getId()===a);if(g.length>0){t.removeMessages(g)}}mountCrashBoundary(t){o.error("[MetaUI] Engine failed to generate layout. Preventing Launchpad crash.",t.message,"ValidationDelegate");const s=new e({title:"UI Generation Failed",description:"The dynamic schema could not be rendered. Please check the Fiori console for diagnostic logs."});this.host.setAggregation("_content",s)}}var n={__esModule:true};n.ValidationDelegate=g;return n});
20
20
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator", ["../utils/Logger"],function(e){"use strict";const t=e["Logger"];class r{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 o=this.generateElementsFromProperties(r,"#/properties");if(t){e.uiLayout=o.filter(e=>e.type==="Control")}else{e.uiLayout=[{type:"Group",label:e.title,elements:o}]}return true}static generateElementsFromProperties(e,r){const o=[];for(const s of Object.keys(e)){try{const t=e[s];const n=`${r}/${s}`;o.push({type:"Control",scope:n})}catch(e){const r=`[MetaUI] DefaultLayoutGenerator failed to synthesize property '${s}': ${e.message}`;t.error(r);throw new Error(r)}}return o}}var o={__esModule:true};o.DefaultLayoutGenerator=r;return o});
21
- 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,i,n,s,a){"use strict";const r=e["ConditionEngine"];const o=t["PluginRegistry"];const g=n["Logger"];const l=s["DefaultLayoutGenerator"];class u{conditionEngine=null;activePlugins=[];isEditable=true;hasPartialRenderingErrors=false;useMessageManager=false;constructor(e=true,t=false,i){this.isEditable=e;this.useMessageManager=t;this.pluginRegistry=i||o.getInstance()}build(e,t,n="meta",s,a,o){this.conditionEngine=new r(e);this.activePlugins=[];this.activeModel=t;this.engineScopeId=a;this.onChange=(e,t,i,n)=>{if(this.conditionEngine&&t){this.conditionEngine.handleEvent(t,e)}if(o){o(e,t,i,n)}};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 i=this.pluginRegistry.getLayout(t);return i.render(e,n,this,s)}catch(e){this.hasPartialRenderingErrors=true;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 i({text:"Critical Layout Error"})}}generateField(e,t,n,s=false){try{const i=this.pluginRegistry.getPlugin(e.type||"string",e.ui?.widget);if(typeof i.setEditable==="function"){i.setEditable(this.isEditable)}if(typeof i.setUseMessageManager==="function"){i.setUseMessageManager(this.useMessageManager)}if(!s){this.activePlugins.push({plugin:i,path:t})}const a=s?undefined:this.engineScopeId;const r=i.render(e,t,n,a,this.onChange,this.activeModel);if(this.conditionEngine){this.conditionEngine.registerPlugin(t,i)}return r}catch(e){this.hasPartialRenderingErrors=true;const n=e.message;g.error(`[MetaUI Engine] Failed to generate field at ${t}`,n);g.showErrorPopup(`Failed to generate field '${t}'.\n\nDetails: ${n}`);return new i({text:`[Error generating field ${t}]`})}}generateLayout(e,t,n){try{const i=e.layoutStrategy||(e.type==="array"?"table":"form");const s=this.pluginRegistry.getLayout(i);return s.render(e,t,this,undefined,n)}catch(e){this.hasPartialRenderingErrors=true;const t=e.message;g.error(`[MetaUI Engine] Critical error generating sub-layout for ${n}`,t);g.showErrorPopup(`Engine failed to generate a sub-layout.\n\nDetails: ${t}`);return new i({text:"Critical Sub-Layout Error"})}}validateAll(e=false){const t=[];for(const i of this.activePlugins){try{const n=i.plugin.validate();if(e&&typeof i.plugin.setVisualValidationState==="function"){i.plugin.setVisualValidationState(n.isValid,n.errorMessage)}if(!n.isValid){n.fieldKey=n.fieldKey||i.path.replace(/^\//,"");t.push(n);g.error("[MetaUI Validation] Plugin failed validation silently:",i.path||i.plugin.constructor.name)}}catch(e){g.error(`[MetaUI Engine] Error validating plugin at ${i.path}`,e.message)}}return t}getPluginByPath(e){const t=e.startsWith("/")?e:`/${e}`;const i=this.activePlugins.find(e=>e.path===t||e.path===`/${t}`);return i?i.plugin:undefined}destroy(){if(this.conditionEngine){this.conditionEngine.destroy();this.conditionEngine=null}const e=a;const t=e.getMessageModel().getData();const i=[];for(const e of this.activePlugins){if(this.activeModel){const n=`/${e.path.replace(/^\//,"")}`;const s=t.filter(e=>e.getTarget()===n&&e.getMessageProcessor()&&e.getMessageProcessor().getId()===this.activeModel.getId());i.push(...s)}if(typeof e.plugin.destroy==="function"){e.plugin.destroy()}}if(i.length>0){e.removeMessages(i)}this.activePlugins=[]}}var c={__esModule:true};c.Engine=u;return c});
22
- 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 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 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 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(e,t,r){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});
23
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/PluginRegistry", ["../utils/Logger"],function(i){"use strict";const t=i["Logger"];class n{fieldIndex={};actionIndex={};layoutIndex={};activePromises={};constructor(){this.registerPluginPath("string",undefined,"nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin");this.registerPluginPath("number",undefined,"nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin");this.registerPluginPath("integer",undefined,"nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin");this.registerPluginPath("date",undefined,"nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin");this.registerPluginPath("boolean",undefined,"nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin");this.registerPluginPath("array",undefined,"nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin");this.registerPluginPath("object",undefined,"nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin");this.registerPluginPath("string","default","nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin");this.registerPluginPath("object","dictionary","nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin");this.registerPluginPath("object","reference","nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin");this.registerPluginPath("string","time","nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin");this.registerPluginPath("string","datetime","nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin");this.registerPluginPath("boolean","switch","nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin");this.registerPluginPath("number","step","nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin");this.registerPluginPath("string","select","nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin");this.registerPluginPath("string","textArea","nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin");this.registerPluginPath("string","codeEditor","nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin");this.registerPluginPath("string","link","nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin");this.registerPluginPath("string","password","nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin");this.registerPluginPath("string","email","nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin");this.registerPluginPath("string","fileUploader","nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin");this.registerPluginPath("array","multiSelect","nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin");this.registerPluginPath("array","multiInput","nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin");this.registerPluginPath("number","slider","nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin");this.registerPluginPath("number","rating","nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin");this.registerPluginPath("string","messageStrip","nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin");this.registerPluginPath("string","camera","nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin");this.registerPluginPath("string","signature","nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin");this.registerPluginPath("object","location","nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin");this.registerPluginPath("string","scanner","nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin");this.registerPluginPath("string","voiceInput","nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin");this.registerPluginPath("string","richText","nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin");this.registerPluginPath("string","urlButton","nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin");this.registerPluginPath("string","submitButton","nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin");this.registerPluginPath("string","odataSelect","nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin");this.registerPluginPath("string","remoteDropdown","nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin");this.registerPluginPath("string","liveSearch","nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin");this.registerPluginPath("string","remoteValueHelp","nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin");this.registerLayoutPath("form","nz/co/siliconst/ui5/metaui/layouts/FormLayout");this.registerLayoutPath("table","nz/co/siliconst/ui5/metaui/layouts/TableLayout");this.registerLayoutPath("wizard","nz/co/siliconst/ui5/metaui/layouts/WizardLayout");this.registerLayoutPath("compact","nz/co/siliconst/ui5/metaui/layouts/CompactLayout")}static getInstance(){if(!n.instance){n.instance=new n}return n.instance}registerPluginPath(i,t,n){const e=t?`${i}:${t}`:i;this.fieldIndex[e]=n}registerActionPath(i,t){this.actionIndex[i]=t}registerLayoutPath(i,t){this.layoutIndex[i]=t}getFieldPath(i,t){let n;if(t){n=this.fieldIndex[`${i}:${t}`]}if(!n){n=this.fieldIndex[i]}if(!n){throw new Error(`No plugin path mapped for FieldType: ${i} (widget: ${t})`)}return n}getLayoutPath(i){const t=this.layoutIndex[i];if(!t){throw new Error(`No layout path mapped for strategy: ${i}`)}return t}getPathsToLoad(i){const n=new Set;const e=i.layoutStrategy||(i.type==="array"?"table":"form");n.add(this.getLayoutPath(e));const s=i=>{for(const e in i){const r=i[e];try{n.add(this.getFieldPath(r.type||"string",r.ui?.widget))}catch(i){const n=`[MetaUI LazyLoad] Could not find mapped plugin for field ${e}: ${i.message}`;t.error(n);throw new Error(n)}if(r.properties)s(r.properties);if(r.items&&r.items.properties)s(r.items.properties);if(r.items&&r.items.type){try{n.add(this.getFieldPath(r.items.type,r.items.ui?.widget))}catch(i){const n=`[MetaUI LazyLoad] Could not find mapped plugin for array item type ${r.items.type}: ${i.message}`;t.error(n);throw new Error(n)}}}};if(i.properties){s(i.properties)}else if(i.items&&i.items.properties){s(i.items.properties)}return n}async preloadDependencies(i){const n=this.getPathsToLoad(i);const e=Array.from(n).map(i=>{if(!this.activePromises[i]){this.activePromises[i]=new Promise((n,e)=>{sap.ui.require([i],i=>n(i),n=>{t.error(`Failed to lazy load module: ${i}`);delete this.activePromises[i];e(n)})})}return this.activePromises[i]});await Promise.all(e)}extractConstructor(i){if(!i)return null;if(typeof i==="function")return i;if(i.default&&typeof i.default==="function")return i.default;const t=Object.keys(i);for(const n of t){if(typeof i[n]==="function"){return i[n]}}return null}getPlugin(i,t){const n=this.getFieldPath(i,t);const e=sap.ui.require(n);const s=this.extractConstructor(e);if(!s){throw new Error(`[MetaUI Plugin Instantiation] Plugin ${n} was not preloaded or has no constructor!`)}return new s}getLayout(i){const t=this.getLayoutPath(i);const n=sap.ui.require(t);const e=this.extractConstructor(n);if(!e){throw new Error(`[MetaUI Layout Instantiation] Layout ${t} was not preloaded or has no constructor!`)}return new e}}var e={__esModule:true};e.PluginRegistry=n;return e});
21
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/Engine", ["./PluginRegistry","sap/m/Text","../utils/Logger","./DefaultLayoutGenerator","./PipelineManager"],function(e,t,i,r,n){"use strict";const a=e["PluginRegistry"];const s=i["Logger"];const o=r["DefaultLayoutGenerator"];const l=n["GlobalPipeline"];class g{activePlugins=[];templatePlugins=[];validationLedger=new Map;isEditable=true;hasPartialRenderingErrors=false;useMessageManager=false;constructor(e=true,t=false,i){this.isEditable=e;this.useMessageManager=t;this.pluginRegistry=i||a.getInstance()}build(e,i,r="meta",n,a,o){this.activePlugins=[];this.activeModel=i;this.engineScopeId=a;this.onChange=(e,t,i,r)=>{if(t){this.reportSchemaError(t,e?null:i||"Invalid input")}if(o){o(e,t,i,r)}};try{const t=e.layoutStrategy||(e.type==="array"?"table":"form");const i=this.pluginRegistry.getLayout(t);return i.render(e,r,this,n)}catch(e){this.hasPartialRenderingErrors=true;const i=e.message;s.error("[MetaUI Engine] Critical error during layout generation",i);s.showErrorPopup(`Engine failed to generate the layout.\n\nDetails: ${i}`);return new t({text:"Critical Layout Error"})}}generateField(e,i,r,n=false){try{const t=this.pluginRegistry.getPlugin(e.type||"string",e.ui?.widget);if(typeof t.setEditable==="function"){t.setEditable(this.isEditable)}if(typeof t.setUseMessageManager==="function"){t.setUseMessageManager(this.useMessageManager)}if(!n){this.activePlugins.push({plugin:t,path:i})}else{this.templatePlugins.push({plugin:t,path:i})}const a=n?undefined:this.engineScopeId;const s=t.render(e,i,r,a,this.onChange,this.activeModel);return s}catch(e){this.hasPartialRenderingErrors=true;const r=e.message;s.error(`[MetaUI Engine] Failed to generate field at ${i}`,r);s.showErrorPopup(`Failed to generate field '${i}'.\n\nDetails: ${r}`);return new t({text:`[Error generating field ${i}]`})}}generateLayout(e,i,r){try{if(o.ensureLayout(e)){s.warn(`[MetaUI Engine] Missing 'uiLayout' array in sub-schema for ${r}. Synthesized a default layout mapping.`)}const t=e.layoutStrategy||(e.type==="array"?"table":"form");const n=this.pluginRegistry.getLayout(t);return n.render(e,i,this,undefined,r)}catch(e){this.hasPartialRenderingErrors=true;const i=e.message;s.error(`[MetaUI Engine] Critical error generating sub-layout for ${r}`,i);s.showErrorPopup(`Engine failed to generate a sub-layout.\n\nDetails: ${i}`);return new t({text:"Critical Sub-Layout Error"})}}validateAll(e=false){const t=[];for(const i of this.activePlugins){try{const r=i.plugin.validate();if(e){this.reportSchemaError(i.path,r.isValid?null:r.errorMessage||"Invalid input")}if(!r.isValid){r.fieldKey=r.fieldKey||i.path.replace(/^\//,"");t.push(r);s.error("[MetaUI Validation] Plugin failed validation silently:",i.path||i.plugin.constructor.name)}}catch(e){s.error(`[MetaUI Engine] Error validating plugin at ${i.path}`,e.message)}}if(this.host&&typeof this.host.getStateManager==="function"){const i=this.host.getStateManager();if(i){const r=i.extractPayload();const n=i.getSchema?i.getSchema():this.host.getParsedSchema?.();if(r&&n){const i=this.validatePayloadArrays(n,r,"");if(e){i.forEach(e=>{if(e.fieldKey){this.reportSchemaError(e.fieldKey,e.isValid?null:e.errorMessage||"Invalid input")}})}t.push(...i.filter(e=>!e.isValid))}}}return t}onArrayMutated(e){if(this.host&&typeof this.host.getStateManager==="function"){const t=this.host.getStateManager();if(t&&typeof t.clearArrayMessages==="function"){t.clearArrayMessages(e)}}}validatePayloadArrays(e,t,i){const r=[];if(!e||!t||typeof t!=="object")return r;if(e.type==="object"&&e.properties){for(const n of Object.keys(e.properties)){const a=e.properties[n];if(t[n]!==undefined){const e=i?`${i}/${n}`:n;r.push(...this.validatePayloadArrays(a,t[n],e))}}}else if(e.type==="array"&&e.items&&Array.isArray(t)){t.forEach((t,n)=>{const a=i?`${i}/${n}`:`${n}`;if(e.items.type==="object"&&e.items.properties){for(const i of Object.keys(e.items.properties)){const n=e.items.properties[i];const s=`${a}/${i}`;const o=t?t[i]:undefined;const g=[];const u={};if(n.required)g.push("required");if(n.maxLength!==undefined){g.push("maxLength");u["maxLength"]=n.maxLength}if(n.minLength!==undefined){g.push("minLength");u["minLength"]=n.minLength}if(n.pattern!==undefined){g.push("pattern");u["pattern"]={regex:n.pattern}}if(n.minimum!==undefined||n.maximum!==undefined){g.push("range");u["range"]={min:n.minimum,max:n.maximum}}const c=n.ui?.format;if(c==="email"||c==="url"||c==="iban"){g.push(c)}if(g.length>0){const e=l.executeValidation(o,g,u);if(!e.isValid){r.push({isValid:false,errorMessage:e.errorMessage,fieldKey:s,fieldLabel:n.ui?.label||i})}else{r.push({isValid:true,fieldKey:s})}}}}})}return r}getPluginByPath(e){const t=e.replace(/^\//,"");const i=this.activePlugins.find(e=>e.path.replace(/^\//,"")===t);return i?i.plugin:undefined}reportSchemaError(e,t){const i=e.replace(/^\//,"");if(!this.validationLedger.has(i)){this.validationLedger.set(i,{schemaError:null,policyError:null})}this.validationLedger.get(i).schemaError=t;this.resolveVisualState(i)}reportPolicyError(e,t){const i=e.replace(/^\//,"");if(!this.validationLedger.has(i)){this.validationLedger.set(i,{schemaError:null,policyError:null})}this.validationLedger.get(i).policyError=t;this.resolveVisualState(i)}resolveVisualState(e){const t=this.getPluginByPath(e);const i=this.validationLedger.get(e);if(!i)return;const r=i.policyError!==null||i.schemaError!==null;const n=i.policyError||i.schemaError;if(t&&typeof t.setVisualValidationState==="function"){t.setVisualValidationState(!r,r?n||undefined:undefined)}else{this.setNativeControlError(e,r?n||undefined:undefined)}}setNativeControlError(e,t){if(this.host&&this.host.generatedContent){const i=this.host.generatedContent;this.traverseAndSetError(i,e,t)}}traverseAndSetError(e,t,i){if(!e)return;const r=[e.getBindingInfo("value"),e.getBindingInfo("selectedKey"),e.getBindingInfo("dateValue"),e.getBindingInfo("selected")];for(const n of r){if(n&&n.parts&&n.parts.length>0){const r=n.parts[0].path;if(r===t||t.endsWith(r)){const n=e.getBindingContext(this.host.activeModelName);if(n){const a=n.getPath()+"/"+r;const s=a.replace(/^\//,"");if(s===t){if(typeof e.setValueState==="function"){e.setValueState(i?"Error":"None");if(typeof e.setValueStateText==="function"){e.setValueStateText(i||"")}}}}}}}if(typeof e.getAggregation==="function"&&typeof e.getMetadata==="function"){const r=e.getMetadata().getAggregations();for(const n in r){const r=e.getAggregation(n);if(Array.isArray(r)){r.forEach(e=>this.traverseAndSetError(e,t,i))}else if(r){this.traverseAndSetError(r,t,i)}}}}destroy(){for(const e of this.activePlugins){if(typeof e.plugin.destroy==="function"){e.plugin.destroy()}}for(const e of this.templatePlugins){if(typeof e.plugin.destroy==="function"){e.plugin.destroy()}}this.validationLedger.clear();this.activePlugins=[];this.templatePlugins=[]}}var u={__esModule:true};u.Engine=g;return u});
22
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/LayoutMutator", ["./SchemaNormalizer","../constants/MetaUIConstants"],function(e,t){"use strict";const s=e["SchemaNormalizer"];const o=t["RENDER_MODE"];const n=t["SCHEMA_TYPE"];class p{static apply(e){if(!e||!e.uiLayout||!Array.isArray(e.uiLayout)){return}e.uiLayout=this.expandElements(e.uiLayout,e)}static expandElements(e,t){const p=[];for(const r of e){if(r.type==="Group"){if(r.elements){r.elements=this.expandElements(r.elements,t)}p.push(r)}else if(r.type==="Control"){if(!r.scope){p.push(r);continue}try{const{meta:e,bindingPath:i}=s.resolveScope(t,r.scope);const a=!!e?.ui?.widget;const u=e?.type===n.OBJECT&&e.ui?.renderMode===o.INLINE&&!a;if(u&&e.properties){const s={...r,type:"Group",label:r.label||e.ui?.label||i.split("/").pop(),elements:[]};delete s.scope;for(const t of Object.keys(e.properties)){s.elements.push({type:"Control",scope:`${r.scope}/properties/${t}`})}s.elements=this.expandElements(s.elements,t);p.push(s)}else{p.push(r)}}catch(e){p.push(r)}}else{p.push(r)}}return p}}var r={__esModule:true};r.LayoutMutator=p;return r});
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
+ 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
+ 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});
24
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});
25
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});
26
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/SchemaNormalizer", ["../utils/Logger"],function(e){"use strict";const t=e["Logger"];class r{canHandle(e){return true}build(e,t){return r.normalize(e)}static normalize(e,r){let i=e;if(typeof i==="string"){if(!i.trim()){i=null}else{try{i=JSON.parse(i)}catch(e){const r="Failed to parse schema string: "+e.message;t.error("[MetaUI SchemaNormalizer]",r);throw new Error(r)}}}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"){const r=Array.isArray(i.required)?i.required:[];e.properties=this.normalizeProperties(t,r)}else if(e.type==="array"){e.items=this.normalizePropertyMetadata(i.items||{type:"object",properties:{}},"items",false)}return e}catch(e){const r="Critical error normalizing schema object: "+e.message;t.error("[MetaUI SchemaNormalizer]",r);throw new Error(r)}}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,t=[]){const r={};for(const i of Object.keys(e)){const a=t.includes(i);r[i]=this.normalizePropertyMetadata(e[i],i,a)}return r}static normalizePropertyMetadata(e,t,r=false){const i={type:e.type||"string",$ref:e.$ref,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,dialogButtonText:e.ui?.dialogButtonText},required:r||!!e.required,maxLength:e.maxLength,minLength:e.minLength,minimum:e.minimum,maximum:e.maximum,pattern:e.pattern,precision:e.precision,scale:e.scale,multipleOf:e.multipleOf,valueHelp:e.valueHelp,enum:e.enum};if(i.type==="object"&&e.properties){const t=Array.isArray(e.required)?e.required:[];i.properties=this.normalizeProperties(e.properties,t);i.uiLayout=e.uiLayout}else if(i.type==="array"&&e.items){i.items=this.normalizePropertyMetadata(e.items,"items",false);i.uiLayout=e.uiLayout}return i}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";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";if(i.length>0&&typeof i[0]!=="object"){o={type:typeof i[0]}}else{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,widget:a==="array"&&o?.type!=="object"?"multiInput":undefined}}}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});
27
- 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."]}const o=e;if(o.type!=="object"&&o.type!=="array"){t.push(`Root schema must have type 'object' or 'array'. Found: '${o.type}'`)}if(o.type==="object"&&!o.properties){t.push("Object schema is missing the 'properties' node.")}if(o.properties){for(const e of Object.keys(o.properties)){const r=o.properties[e];if(!r||typeof r!=="object"){t.push(`Property '${e}' must be an object.`);continue}if(!r.type){t.push(`Property '${e}' is missing 'type'.`)}else{const o=["string","number","integer","boolean","date","object","array"];if(!o.includes(r.type)){t.push(`Property '${e}' has invalid type '${r.type}'. Allowed: ${o.join(", ")}`)}}}}return t}}var t={__esModule:true};t.SchemaValidator=e;return t});
28
- 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,s,t,a,i){"use strict";const n=s["GlobalPipeline"];class r{schema=null;_useMessageManager=false;constructor(s={},t,a="meta"){this.activeModelName=a;this.schema=t;const i=JSON.parse(JSON.stringify(s));this.model=new e(i);this.model.setDefaultBindingMode("TwoWay");const n=this.model.setProperty.bind(this.model);this.model.setProperty=(e,s,t,a)=>{const i=n(e,s,t,a);this.validatePath(e,s);return i}}setUseMessageManager(e){this._useMessageManager=e}validatePath(e,s){const r=e.replace(/^\//,"");const o=this.findMetadataForPath(r);const g=i;const d=e.startsWith("/")?e:`/${e}`;if(this._useMessageManager){const e=g.getMessageModel().getData();const s=e.filter(e=>{const s=e.getTarget()===d&&e.getMessageProcessor()&&e.getMessageProcessor().getId()===this.model.getId();return s});if(s.length>0){g.removeMessages(s)}}if(!o)return;const m=[];const h={};if(o.required){m.push("required")}if(o.type==="string"&&o.maxLength){m.push("maxLength");h["maxLength"]=o.maxLength}if(o.minLength){m.push("minLength");h["minLength"]=o.minLength}if(o.pattern){m.push("pattern");h["pattern"]=o.pattern}if(o.minimum!==undefined||o.maximum!==undefined){m.push("range");h["range"]={min:o.minimum,max:o.maximum}}const u=o.ui?.format;if(u==="email"||u==="url"||u==="iban"){m.push(u)}if(o.ui?.validators){for(const e of o.ui.validators){if(typeof e==="string"){m.push(e)}else if(e&&e.name){m.push(e.name);if(e.args!==undefined){h[e.name]=e.args}}}}if(m.length>0){const e=n.executeValidation(s,m,h);if(!e.isValid&&this._useMessageManager){const s=new t({message:e.errorMessage||"Invalid value.",type:a.MessageType.Error,target:d,processor:this.model});g.addMessages(s)}}}findMetadataForPath(e){if(!this.schema||!this.schema.properties)return undefined;return this.schema.properties[e]}getModel(){return this.model}bindControl(e,s,t){e.bindProperty(s,{path:t,model:"meta"})}extractPayload(){const e=this.model.getData();return JSON.parse(JSON.stringify(e))}destroy(){if(this.model){this.model.destroy()}}}var o={__esModule:true};o.StateManager=r;return o});
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});
30
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/SchemaValidator", ["../constants/MetaUIConstants"],function(e){"use strict";const t=e["SCHEMA_TYPE"];class s{static validateSchemaStructure(e){const o=[];if(!e||typeof e!=="object"){return["Root schema must be an object."]}const i=e;if(i.type!=="object"&&i.type!=="array"){o.push(`Root schema must have type 'object' or 'array'. Found: '${i.type}'`)}if(i.type==="object"&&!i.properties){o.push("Object schema is missing the 'properties' node.")}if(i.type==="array"){if(!i.items){}if(i.items&&typeof i.items==="object"){const e=s.validateSchemaStructure(i.items);o.push(...e)}}if(i.properties){for(const e of Object.keys(i.properties)){const s=i.properties[e];if(!s||typeof s!=="object"){o.push(`Property '${e}' must be an object.`);continue}if(!s.type){o.push(`Property '${e}' is missing 'type'.`)}else{const i=[t.STRING,t.NUMBER,t.INTEGER,t.BOOLEAN,t.DATE,t.OBJECT,t.ARRAY];if(!i.includes(s.type)){o.push(`Property '${e}' has invalid type '${s.type}'. Allowed: ${i.join(", ")}`)}}}}return o}}var o={__esModule:true};o.SchemaValidator=s;return o});
31
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/StateManager", ["sap/ui/model/json/JSONModel","../constants/MetaUIConstants","./PipelineManager","./SchemaNormalizer","sap/ui/core/message/Message","sap/ui/core/library","sap/ui/core/Messaging"],function(e,t,s,a,r,n,o){"use strict";const i=t["SCHEMA_TYPE"];const g=s["GlobalPipeline"];const c=a["SchemaNormalizer"];class l{schema=null;_useMessageManager=false;constructor(t={},s,a="meta"){this.activeModelName=a;this.schema=s;const r=JSON.parse(JSON.stringify(t));this.model=new e(r);this.model.setDefaultBindingMode("TwoWay");const n=this.model.setProperty.bind(this.model);this.model.setProperty=(e,t,s,a)=>{const r=n(e,t,s,a);this.validatePath(e,t);return r}}setUseMessageManager(e){this._useMessageManager=e}validatePath(e,t){const s=e.replace(/^\//,"");const a=this.findMetadataForPath(s);const c=o;const l=e.startsWith("/")?e:`/${e}`;const h=c.getMessageModel().getData();const d=h.filter(e=>{const t=e.getTarget()===l&&e.getMessageProcessor()&&e.getMessageProcessor().getId()===this.model.getId();return t});if(d.length>0){c.removeMessages(d)}if(!a)return;const m=[];const u={};if(a.required){m.push("required")}if(a.type===i.STRING&&a.maxLength){m.push("maxLength");u["maxLength"]=a.maxLength}if(a.minLength){m.push("minLength");u["minLength"]=a.minLength}if(a.pattern){m.push("pattern");u["pattern"]=a.pattern}if(a.minimum!==undefined||a.maximum!==undefined){m.push("range");u["range"]={min:a.minimum,max:a.maximum}}const p=a.ui?.format;if(p==="email"||p==="url"||p==="iban"){m.push(p)}if(a.ui?.validators){for(const e of a.ui.validators){if(typeof e===i.STRING){m.push(e)}else if(e&&e.name){m.push(e.name);if(e.args!==undefined){u[e.name]=e.args}}}}if(m.length>0){const e=g.executeValidation(t,m,u);if(!e.isValid&&this._useMessageManager){const t=new r({message:e.errorMessage||"Invalid value.",type:n.MessageType.Error,target:l,processor:this.model});c.addMessages(t)}}}clearArrayMessages(e){const t=o;const s=t.getMessageModel().getData();const a=e.startsWith("/")?e:`/${e}`;const r=s.filter(e=>e.getProcessor()===this.model&&typeof e.getTarget()==="string"&&e.getTarget().startsWith(a));if(r.length>0){t.removeMessages(r)}}findMetadataForPath(e){if(!this.schema||!this.schema.properties)return undefined;const t="#/properties/"+e.replace(/\//g,"/properties/");const{meta:s}=c.resolveScope(this.schema,t);return s}getModel(){return this.model}bindControl(e,t,s){e.bindProperty(t,{path:s,model:"meta"})}extractPayload(){const e=this.model.getData();return this.deepClone(e)}deepClone(e){if(e===null||typeof e!=="object"){return e}if(e instanceof Date){return new Date(e.getTime())}if(Array.isArray(e)){const t=[];for(const s of e){t.push(this.deepClone(s))}return t}const t={};for(const s in e){if(Object.prototype.hasOwnProperty.call(e,s)){t[s]=this.deepClone(e[s])}}return t}setProperty(e,t){const s=e.startsWith("/")?e:`/${e}`;this.model.setProperty(s,t)}destroy(){if(this.model){const e=o;const t=e.getMessageModel().getData();const s=t.filter(e=>e.getMessageProcessor()&&e.getMessageProcessor().getId()===this.model.getId());if(s.length>0){e.removeMessages(s)}this.model.destroy()}}}var h={__esModule:true};h.StateManager=l;return h});
29
32
  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});
30
- 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 c=false;const y=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(y)}}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 y=!!a.ui?.widget;const m=a.type==="array"&&u&&!y;if(m){s.debug("[MetaUI FormLayout]",`Routing property '${l}' to Table Sub-Layout.`,"FormLayout");d.push({scope:r,meta:a,label:e.label})}else{c=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(y);if(c){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);const d=u.ui?.widget;const c=d==="codeEditor"||d==="textArea"||d==="richText";const y=u.ui?.fullWidth!==undefined?u.ui?.fullWidth:c;if(y){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});
31
- 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,a,o,r,n,s,i,l,c){"use strict";const p=l["SchemaNormalizer"];const u=c["Logger"];class d{render(l,c,d,m,y="/"){let b=l.items;if(b&&!b.properties&&b.ui?.widget==="reference"&&b.$ref){u.debug(`[MetaUI] TableLayout detecting reference widget for ${y}. Resolving ${b.$ref}`,"","TableLayout");if(d.host&&d.host.getSchemaDefinition){const e=d.host.getSchemaDefinition(b.$ref);u.debug(`[MetaUI] Resolved schema for ${b.$ref}: ${!!e} ${e?Object.keys(e):""}`,"","TableLayout");if(e&&e.properties){b=e}else{u.error(`[MetaUI] TableLayout resolved schema but it has no properties!`,"","TableLayout")}}else{u.error(`[MetaUI] TableLayout cannot resolve ${b.$ref} because engine.host.getSchemaDefinition is missing! host: ${d.host?.getMetadata().getName()}`,"","TableLayout")}}if(l.type!=="array"||!b||!b.properties){u.error(`[MetaUI] TableLayout fatal error! schema.type: ${l.type}, itemsSchema: ${!!b}, properties: ${b?!!b.properties:false}`,"","TableLayout");throw new Error("[MetaUI] TableLayout requires an array schema with items.properties.")}const g=l.title||"Table";const h=c;const f=y;const T=new e({headerToolbar:new r({content:[new n({text:g}),new s,...!d.isEditable?[]:[new i({text:"Add Row",icon:"sap-icon://add",press:e=>{const t=e.getSource();const a=t.getParent().getParent();const o=a.getModel(h);const r=a.getBindingInfo("items");if(!r||!r.path)return;const n=o.getProperty(r.path);const s=Array.isArray(n)?n:[];const i=[...s,{}];o.setProperty(r.path,i);if(d.onChange){d.onChange(true,f.replace(/^\//,""))}}})]]}),fixedLayout:false,mode:!d.isEditable?"None":"Delete",delete:e=>{const t=e.getParameter("listItem");const a=t.getBindingContext(h).getPath();const o=t.getModel(h);const r=a.split("/");const n=parseInt(r.pop()||"0",10);let s=r.join("/");if(s==="")s="/";const i=o.getProperty(s);const l=Array.isArray(i)?i:[];const c=[...l];c.splice(n,1);o.setProperty(s,c);if(d.onChange){d.onChange(true,f.replace(/^\//,""))}}});const w=[];const L=b.properties;const $=l.uiLayout;if($&&Array.isArray($)){$.forEach(e=>{if(e.type==="Control"&&e.scope){const{meta:o,bindingPath:r,propKey:n}=p.resolveScope({type:"object",properties:L},e.scope);if(!o){u.error(`[MetaUI] Property '${n}' not found in schema definitions for Table.`,"","TableLayout")}else{T.addColumn(new t({header:new a({text:e.label||o.ui?.label||n}),demandPopin:!o.ui?.isKey,minScreenWidth:o.ui?.isKey?"":"Tablet",popinDisplay:"Inline"}));const s={...o};if(e.widget){s.ui={...o.ui,widget:e.widget}}const i=d.generateField(s,r,h||"meta",true);w.push(i)}}else{u.warn(`[MetaUI] Unsupported layout element type '${e.type}' in Table.`,"","TableLayout")}})}else{u.debug("[MetaUI TableLayout]","No uiLayout provided. Falling back to rendering all properties as columns.","TableLayout");Object.keys(L).forEach(e=>{try{const o=L[e];const r=!!o.ui?.isKey;const n=new t({header:new a({text:o.ui?.label||e}),demandPopin:!r,minScreenWidth:r?"":"Tablet",popinDisplay:"Inline"});T.addColumn(n);const s=d.generateField(o,e,h||"meta",true);w.push(s)}catch(t){const o=t.message;u.error(`[MetaUI] Failed to render fallback column ${e}`,o,"TableLayout");u.showErrorPopup(`Failed to render fallback table column '${e}'.\n\nDetails: ${o}`);w.push(new a({text:"Error"}))}})}const I=new o({cells:w});T.bindItems({path:f,model:h,template:I,templateShareable:false});return T}}var m={__esModule:true};m.TableLayout=d;return m});
33
+ 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","../core/PluginRegistry"],function(e,t,a,r,o,i,n){"use strict";const s=o["SchemaNormalizer"];const l=i["Logger"];const u=n["PluginRegistry"];class d{render(t,o,i,n){const u=new r({renderType:"Bare"});const d=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)){l.warn("[MetaUI] Missing 'uiLayout' array in schema. Form will not render any fields.");u.addItem(d);return u}let p=false;const y=e=>{if(e.type==="Group"){if(e.label){d.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/")){l.error(`[MetaUI] Invalid scope '${e.scope}' in uiLayout Control.`,"","FormLayout");return}const{meta:a,bindingPath:r,propKey:n}=s.resolveScope(t,e.scope);if(!a){l.error(`[MetaUI] Property '${n}' not found in schema definitions.`,"","FormLayout");return}const u=a.items?.type==="object"||a.items?.properties;const y=!!a.ui?.widget;const c=a.type==="array"&&u&&!y;if(c){l.debug("[MetaUI FormLayout]",`Routing property '${n}' to Table Sub-Layout inline.`,"FormLayout");p=true;try{const t={type:"array",title:e.label||a.ui?.label||n,items:a.items||{type:"object",properties:{}},uiLayout:a.items?.uiLayout};const s=i.generateLayout(t,o,`/${r}`);if(s){sap.ui.require(["sap/ui/layout/GridData"],e=>{s.setLayoutData(new e({span:"XL12 L12 M12 S12"}))});d.addContent(s)}}catch(e){const t=e.message;l.error(`[MetaUI] Failed to render inline array field ${r}`,t,"FormLayout");l.showErrorPopup(`Failed to render array field '${r}'.\n\nDetails: ${t}`)}}else{p=true;l.debug("[MetaUI FormLayout]",`Rendering scalar field '${r}'.`,"FormLayout");this._renderScalarField(d,e,r,a,o,i)}}else{l.warn(`[MetaUI] Unsupported layout element type '${e.type}'.`,"","FormLayout")}};t.uiLayout.forEach(y);if(p){u.addItem(d)}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 d={...o};if(a.widget){d.ui={...o.ui,widget:a.widget}}const p=n.generateField(d,`/${r}`,i);const y=u.getInstance().isPluginNativelyWide(d.type||"string",d.ui?.widget);const c=d.ui?.fullWidth!==undefined?d.ui?.fullWidth:y;if(c){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;l.error(`[MetaUI] Failed to render field ${r}`,t,"FormLayout");l.showErrorPopup(`Failed to render field '${r}'.\n\nDetails: ${t}`)}}}var p={__esModule:true};p.FormLayout=d;return p});
34
+ 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","../constants/MetaUIConstants"],function(e,t,o,a,r,n,s,i,l,p,c){"use strict";const u=l["SchemaNormalizer"];const d=p["Logger"];const f=c["WIDGET_TYPE"];const y=c["SCHEMA_TYPE"];class m{render(l,p,c,m,b="/"){let g=l.items;if(g&&!g.properties&&g.ui?.widget===f.REFERENCE&&g.$ref){d.debug(`[MetaUI] TableLayout detecting reference widget for ${b}. Resolving ${g.$ref}`,"","TableLayout");const e=c.host;if(e&&typeof e.getSchemaDefinition==="function"){const t=e.getSchemaDefinition(g.$ref);d.debug(`[MetaUI] Resolved schema for ${g.$ref}: ${!!t} ${t?Object.keys(t):""}`,"","TableLayout");if(t&&t.properties){g=t}else{d.error(`[MetaUI] TableLayout resolved schema but it has no properties!`,"","TableLayout")}}else{d.error(`[MetaUI] TableLayout cannot resolve ${g.$ref} because engine.host.getSchemaDefinition is missing! host: ${e?.getMetadata().getName()}`,"","TableLayout")}}const h=g&&!g.properties&&["string","number","boolean"].includes(g.type);if(l.type!==y.ARRAY||!g||!g.properties&&!h){d.error(`[MetaUI] TableLayout fatal error! schema.type: ${l.type}, itemsSchema: ${!!g}, properties: ${g?!!g.properties:false}`,"","TableLayout");throw new Error("[MetaUI] TableLayout requires an array schema with items.properties or primitive items.")}const T=e=>{if(e.type==="object"&&e.properties){const t={};for(const o of Object.keys(e.properties)){t[o]=T(e.properties[o])}return t}else if(e.type==="array"){return[]}else if(e.type==="string"){return e.default!==undefined?e.default:e.enum?e.enum[0]:""}else if(e.type==="number"){return e.default!==undefined?e.default:0}else if(e.type==="boolean"){return e.default!==undefined?e.default:false}return""};const w=l.title||"Table";const L=p;const $=b;const I=new e({headerToolbar:new r({content:[new n({text:w}),new s,...!c.isEditable?[]:[new i({text:"Add Row",icon:"sap-icon://add",press:e=>{const t=e.getSource();const o=t.getParent()?.getParent();const a=o.getModel(L);const r=o.getBindingInfo("items");if(!r||!r.path)return;const n=a.getProperty(r.path);const s=Array.isArray(n)?n:[];const i=[...s,T(g)];a.setProperty(r.path,i);if(c.onChange){c.onChange(true,$.replace(/^\//,""))}}})]]}),fixedLayout:false,mode:!c.isEditable?"None":"Delete",delete:e=>{const t=e.getParameter("listItem");const o=t.getBindingContext(L)?.getPath();if(!o)return;const a=t.getModel(L);const r=o.split("/");const n=parseInt(r.pop()||"0",10);let s=r.join("/");if(s==="")s="/";const i=a.getProperty(s);const l=Array.isArray(i)?i:[];const p=[...l];p.splice(n,1);a.setProperty(s,p);if(c.onChange){c.onChange(true,$.replace(/^\//,""))}if(typeof c.onArrayMutated==="function"){c.onArrayMutated(s)}}});const M=[];const E=g.properties;const P=l.uiLayout;if(h){I.addColumn(new t({header:new o({text:"Value"})}));const e=c.generateField(g,"",L||"meta",true);M.push(e)}else if(P&&Array.isArray(P)){P.forEach(e=>{if(e.type==="Control"&&e.scope){const{meta:a,bindingPath:r,propKey:n}=u.resolveScope({type:"object",properties:E},e.scope);if(!a){d.error(`[MetaUI] Property '${n}' not found in schema definitions for Table.`,"","TableLayout")}else{I.addColumn(new t({header:new o({text:e.label||a.ui?.label||n}),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=c.generateField(s,r,L||"meta",true);M.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(E).forEach(e=>{try{const a=E[e];const r=!!a.ui?.isKey;const n=new t({header:new o({text:a.ui?.label||e}),demandPopin:!r,minScreenWidth:r?"":"Tablet",popinDisplay:"Inline"});I.addColumn(n);const s=c.generateField(a,e,L||"meta",true);M.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}`);M.push(new o({text:"Error"}))}})}const C=new a({cells:M});I.bindItems({path:$,model:L,template:C,templateShareable:false});return I}}var b={__esModule:true};b.TableLayout=m;return b});
32
35
  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});
33
36
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/library", ["sap/ui/core/Core","nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin","nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin","nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin","nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin","nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin","nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin","nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin","nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin","nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator","nz/co/siliconst/ui5/metaui/utils/ExpressionBuilder","nz/co/siliconst/ui5/metaui/layouts/FormLayout","nz/co/siliconst/ui5/metaui/layouts/TableLayout","nz/co/siliconst/ui5/metaui/layouts/WizardLayout","nz/co/siliconst/ui5/metaui/layouts/CompactLayout","nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator","nz/co/siliconst/ui5/metaui/ai/MockLLMProxy","nz/co/siliconst/ui5/metaui/ai/RestLLMProxy","nz/co/siliconst/ui5/metaui/ai/AIConfig"],function(i,o,n,t,s,u,c,l,a,e,r,m,z,p,g,y,C,L,P){"use strict";i.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.DynamicHost","nz.co.siliconst.ui5.metaui.controls.host.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});var d=window.nz.co.siliconst.ui5.metaui;return d});
34
37
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/openapi/OpenApiBuilder", ["../utils/Logger","./OpenApiParserFactory","./heuristics/OpenApiHeuristicEngine"],function(e,r,t){"use strict";const n=e["Logger"];const i=r["OpenApiParserFactory"];const s=t["OpenApiHeuristicEngine"];class o{canHandle(e){const r=e;return!!(r&&(r.openapi||r.swagger))}build(e,r){return o.build(e,r)}static async fetchAndBuild(e,r){try{const t=await fetch(e);if(!t.ok){throw new Error(`HTTP error! status: ${t.status}`)}const n=await t.json();return this.build(n,r)}catch(e){const r="Failed to fetch Swagger JSON from URL: "+e.message;n.error("[MetaUI OpenApiBuilder]",r);throw new Error(r)}}static build(e,r){if(!e||typeof e!=="object"){throw new Error("[MetaUI OpenApiBuilder] Invalid Swagger root object provided.")}const t=new s;t.run(e);const n=i.getParser(e);return n.parse(e,r)}}var a={__esModule:true};a.OpenApiBuilder=o;return a});
35
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory", ["./parsers/OpenApi2Parser","./parsers/OpenApi3Parser","../utils/Logger"],function(e,r,n){"use strict";const t=e["OpenApi2Parser"];const s=r["OpenApi3Parser"];const a=n["Logger"];class p{static getParser(e){if(!e||typeof e!=="object"){a.error("[MetaUI OpenApiParserFactory] Invalid OpenAPI document provided.");return new s}if(e.swagger==="2.0"){return new t}if(e.openapi&&typeof e.openapi==="string"&&e.openapi.startsWith("3")){return new s}a.warn("[MetaUI OpenApiParserFactory] Unable to strictly determine OpenAPI version. Defaulting to OpenAPI 3.0 Parser.");return new s}}var i={__esModule:true};i.OpenApiParserFactory=p;return i});
38
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory", ["./parsers/OpenApi2Parser","./parsers/OpenApi3Parser","../utils/Logger"],function(e,r,n){"use strict";const t=e["OpenApi2Parser"];const s=r["OpenApi3Parser"];const a=n["Logger"];class p{static getParser(e){if(!e||typeof e!=="object"){a.error("[MetaUI OpenApiParserFactory] Invalid OpenAPI document provided.");return new s}const r=e;if(r.swagger==="2.0"){return new t}if(r.openapi&&typeof r.openapi==="string"&&r.openapi.startsWith("3")){return new s}a.warn("[MetaUI OpenApiParserFactory] Unable to strictly determine OpenAPI version. Defaulting to OpenAPI 3.0 Parser.");return new s}}var i={__esModule:true};i.OpenApiParserFactory=p;return i});
36
39
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver", ["../utils/Logger"],function(e){"use strict";const r=e["Logger"];class t{static resolve(e,t,l=0){if(!e||!e.startsWith("#/")){r.debug(`[MetaUI OpenApiBuilder] Ignoring non-local or empty $ref: ${e}`,"OpenApiBuilder");return null}if(l>10){r.error(`[MetaUI OpenApiBuilder] Circular or overly deep $ref detected: ${e}`,null,"OpenApiBuilder");return null}const i=e.substring(2).split("/");let n=t;for(const t of i){if(n&&typeof n==="object"&&t in n){n=n[t]}else{r.error(`[MetaUI OpenApiBuilder] Failed to resolve local $ref: ${e}`,null,"OpenApiBuilder");return null}}if(n&&typeof n==="object"&&n.$ref){return this.resolve(n.$ref,t,l+1)}return n}}var l={__esModule:true};l.OpenApiRefResolver=t;return l});
37
40
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/openapi/OpenApiTypeMapper", [],function(){"use strict";class e{static mapType(e){const r={string:"string",number:"number",integer:"integer",boolean:"boolean",array:"array",object:"object",date:"date"};return r[e]||"object"}}var r={__esModule:true};r.OpenApiTypeMapper=e;return r});
38
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper", [],function(){"use strict";class e{static build(e,a){const t={};if(e.title){t.label=e.title}else{t.label=this.generateLabel(a)}if(e.readOnly===true){t.readOnly=true}if(e.format){switch(e.format){case"date-time":t.widget="datetime";break;case"date":t.widget="date";break;case"password":t.widget="password";t.format="password";break;case"email":t.widget="email";t.format="email";break;case"uri":t.widget="link";t.format="url";break;case"binary":case"byte":t.widget="fileUploader";break;case"uuid":case"ipv4":case"ipv6":case"hostname":if(!t.validators)t.validators=[];t.validators.push(e.format);break}}return t}static generateLabel(e){if(!e)return"";let a=e.replace(/([A-Z])/g," $1").replace(/_/g," ");return a.split(" ").filter(e=>e.length>0).map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(" ").trim()}}var a={__esModule:true};a.OpenApiUIMapper=e;return a});
41
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper", [],function(){"use strict";class e{static build(e,a){const t=e||{};const r={};if(t.title){r.label=t.title}else{r.label=this.generateLabel(a)}if(t.readOnly===true){r.readOnly=true}if(t.format){switch(t.format){case"date-time":r.widget="datetime";break;case"date":r.widget="date";break;case"password":r.widget="password";r.format="password";break;case"email":r.widget="email";r.format="email";break;case"uri":r.widget="link";r.format="url";break;case"binary":case"byte":r.widget="fileUploader";break;case"uuid":case"ipv4":case"ipv6":case"hostname":if(!r.validators)r.validators=[];r.validators.push(t.format);break}}return r}static generateLabel(e){if(!e)return"";let a=e.replace(/([A-Z])/g," $1").replace(/_/g," ");return a.split(" ").filter(e=>e.length>0).map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(" ").trim()}}var a={__esModule:true};a.OpenApiUIMapper=e;return a});
39
42
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine", ["./plugins/ProtobufVariantHeuristic"],function(i){"use strict";const t=i["ProtobufVariantHeuristic"];class n{plugins=[];constructor(){this.plugins.push(new t)}run(i){for(const t of this.plugins){try{t.apply(i)}catch(i){throw new Error(`[MetaUI HeuristicEngine] Plugin execution failed: ${i.message}`)}}}}var e={__esModule:true};e.OpenApiHeuristicEngine=n;return e});
40
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic", [],function(){"use strict";class e{apply(e){if(!e)return;if(e.swagger==="2.0"&&e.definitions){this._scanDefinitions(e.definitions)}}_scanDefinitions(e){for(const[t,i]of Object.entries(e)){if(this._isProtobufVariant(t,i)){this._mutateToOneOf(i)}}}_isProtobufVariant(e,t){if(t.type!=="object"||!t.properties){return false}if(t.required&&t.required.length>0){return false}const i=Object.keys(t.properties);if(i.length<2){return false}const r=i.every(e=>e.endsWith("_value"));if(r&&(e.endsWith("Value")||e.endsWith("Variant"))){return true}return false}_mutateToOneOf(e){const t=Object.keys(e.properties);const i=[];for(const r of t){const t=e.properties[r];const s={type:"object",properties:{[r]:t},required:[r],title:t.description||r};i.push(s)}e.oneOf=i;delete e.properties}}var t={__esModule:true};t.ProtobufVariantHeuristic=e;return t});
41
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser", ["./OpenApiPropertyMapper","../OpenApiRefResolver"],function(e,i){"use strict";const t=e["OpenApiPropertyMapper"];const r=i["OpenApiRefResolver"];class a{parse(e,i){let a=e;if(!i){if(e.definitions){const t=Object.keys(e.definitions);if(t.length>0)i=t[0]}}if(i){i=i.replace("#/components/schemas/","").replace("#/definitions/","");if(e.definitions&&e.definitions[i]){a=e.definitions[i]}else{throw new Error(`[MetaUI OpenApi2Parser] Could not find target definition '${i}' in definitions.`)}}if(a.$ref){const i=r.resolve(a.$ref,e);if(i){a={...i,...a}}}if(Array.isArray(a.allOf)){let i={...a};delete i.allOf;for(const o of a.allOf){let a=o;if(o.$ref){a=r.resolve(o.$ref,e)||{}}i=t.deepMergeSchemas(i,a)}a=i}const o={title:a.title||e.info?.title||i,type:a.type==="array"?"array":"object",layoutStrategy:a.type==="array"?"table":"form"};if(a.additionalProperties){if(a.additionalProperties===true){o.additionalProperties=true}else if(typeof a.additionalProperties==="object"){o.additionalProperties=t.mapPropertyMetadata(a.additionalProperties,"value",false,e,"2.0")}}if(a.properties){const i=Array.isArray(a.required)?a.required:[];o.properties=t.mapProperties(a.properties,i,e,"2.0")}else if(o.type==="array"&&a.items){o.items=t.mapPropertyMetadata(a.items,"items",false,e,"2.0")}if(e.definitions){o.definitions={};for(const i of Object.keys(e.definitions)){const r=t.mapPropertyMetadata(e.definitions[i],i,false,e,"2.0");o.definitions[i]={title:i,type:r.type==="array"?"array":"object",properties:r.properties,items:r.items,ui:r.ui,layoutStrategy:r.type==="array"?"table":"form"}}}return o}}var o={__esModule:true};o.OpenApi2Parser=a;return o});
42
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser", ["./OpenApiPropertyMapper","../OpenApiRefResolver"],function(e,t){"use strict";const r=e["OpenApiPropertyMapper"];const s=t["OpenApiRefResolver"];class o{parse(e,t){let o=e;if(!t){if(e.components&&e.components.schemas){const r=Object.keys(e.components.schemas);if(r.length>0)t=r[0]}}if(t){t=t.replace("#/components/schemas/","").replace("#/definitions/","");if(e.components&&e.components.schemas&&e.components.schemas[t]){o=e.components.schemas[t]}else{throw new Error(`[MetaUI OpenApi3Parser] Could not find target definition '${t}' in components.schemas.`)}}if(o.$ref){const t=s.resolve(o.$ref,e);if(t){o={...t,...o}}}if(Array.isArray(o.allOf)){let t={...o};delete t.allOf;for(const i of o.allOf){let o=i;if(i.$ref){o=s.resolve(i.$ref,e)||{}}t=r.deepMergeSchemas(t,o)}o=t}const i={title:o.title||e.info?.title||t,type:o.type==="array"?"array":"object",layoutStrategy:o.type==="array"?"table":"form"};if(o.additionalProperties){if(o.additionalProperties===true){i.additionalProperties=true}else if(typeof o.additionalProperties==="object"){i.additionalProperties=r.mapPropertyMetadata(o.additionalProperties,"value",false,e,"3.0")}}if(o.properties){const t=Array.isArray(o.required)?o.required:[];i.properties=r.mapProperties(o.properties,t,e,"3.0")}else if(i.type==="array"&&o.items){i.items=r.mapPropertyMetadata(o.items,"items",false,e,"3.0")}if(e.components&&e.components.schemas){i.definitions={};const t=e.components.schemas;for(const s of Object.keys(t)){const o=r.mapPropertyMetadata(t[s],s,false,e,"3.0");i.definitions[s]={title:s,type:o.type==="array"?"array":"object",properties:o.properties,items:o.items,ui:o.ui,layoutStrategy:o.type==="array"?"table":"form"}}}return i}}var i={__esModule:true};i.OpenApi3Parser=o;return i});
43
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper", ["../OpenApiRefResolver","../OpenApiTypeMapper","../OpenApiUIMapper"],function(e,i,t){"use strict";const r=e["OpenApiRefResolver"];const a=i["OpenApiTypeMapper"];const n=t["OpenApiUIMapper"];class s{static mapProperties(e,i,t,a,n=0){const s={};if(n>8)return s;for(const p of Object.keys(e)){const o=i.includes(p);let m=e[p];if(m.$ref){const e=r.resolve(m.$ref,t);if(e){m={...e,...m}}}s[p]=this.mapPropertyMetadata(m,p,o,t,a,n+1)}return s}static mapPropertyMetadata(e,i,t,r,s,p=0){let o=e;const m=this._resolveReference(o,i,t,r,s,p);if(m){return m}o=this._resolveAllOf(o,r);const f=a.mapType(o.type);const u={type:f,required:t};const l=n.build(o,i);if(Object.keys(l).length>0){u.ui=l}this._applyConstraints(u,o,s);this._applyStateModifiers(u,o);if(o.default!==undefined){u.default=o.default}if(Array.isArray(o.enum)){u.enum=o.enum;if(!u.ui)u.ui={};u.ui.widget="dropdown"}this._applyPolymorphism(u,o,r,s,p);this._applyNestedTypes(u,o,r,s,p,f);return u}static _resolveReference(e,i,t,a,n,s){if(!e.$ref){return null}const p=r.resolve(e.$ref,a);const o=e.type||p&&p.type;if(o&&["string","number","integer","boolean"].includes(o)){const r={...p,...e};delete r.$ref;return this.mapPropertyMetadata(r,i,t,a,n,s+1)}return{type:"object",$ref:e.$ref,required:t,ui:{widget:"reference"}}}static _resolveAllOf(e,i){if(!Array.isArray(e.allOf)){return e}let t={...e};delete t.allOf;for(const a of e.allOf){let e=a;if(a.$ref){e=r.resolve(a.$ref,i)||{}}t=this.deepMergeSchemas(t,e)}return t}static _applyConstraints(e,i,t){if(typeof i.maxLength==="number")e.maxLength=i.maxLength;if(typeof i.minLength==="number")e.minLength=i.minLength;if(typeof i.pattern==="string")e.pattern=i.pattern;if(typeof i.maximum==="number")e.maximum=i.maximum;if(typeof i.minimum==="number")e.minimum=i.minimum;if(typeof i.multipleOf==="number")e.multipleOf=i.multipleOf;if(typeof i.maxItems==="number")e.maxItems=i.maxItems;if(typeof i.minItems==="number")e.minItems=i.minItems;if(typeof i.uniqueItems==="boolean")e.uniqueItems=i.uniqueItems;if(typeof i.maxProperties==="number")e.maxProperties=i.maxProperties;if(typeof i.minProperties==="number")e.minProperties=i.minProperties;if(t==="2.0"){if(i.exclusiveMaximum===true&&typeof i.maximum==="number"){e.exclusiveMaximum=true}if(i.exclusiveMinimum===true&&typeof i.minimum==="number"){e.exclusiveMinimum=true}}else if(t==="3.0"){if(typeof i.exclusiveMaximum==="number"||typeof i.exclusiveMaximum==="boolean"){e.exclusiveMaximum=i.exclusiveMaximum}if(typeof i.exclusiveMinimum==="number"||typeof i.exclusiveMinimum==="boolean"){e.exclusiveMinimum=i.exclusiveMinimum}}}static _applyStateModifiers(e,i){if(i.readOnly===true)e.readOnly=true;if(i.writeOnly===true)e.writeOnly=true;if(i.nullable===true)e.nullable=true;if(i.deprecated===true)e.deprecated=true}static _applyPolymorphism(e,i,t,r,a){if(i.discriminator){if(r==="2.0"&&typeof i.discriminator==="string"){e.discriminator={propertyName:i.discriminator}}else if(r==="3.0"&&typeof i.discriminator==="object"){e.discriminator={propertyName:i.discriminator.propertyName,mapping:i.discriminator.mapping}}}if(Array.isArray(i.oneOf)){e.oneOf=[];for(let n=0;n<i.oneOf.length;n++){e.oneOf.push(this.mapPropertyMetadata(i.oneOf[n],`Variant${n}`,false,t,r,a+1))}if(!e.ui)e.ui={};e.ui.widget="polymorphic"}if(Array.isArray(i.anyOf)){e.anyOf=[];for(let n=0;n<i.anyOf.length;n++){e.anyOf.push(this.mapPropertyMetadata(i.anyOf[n],`AnyVariant${n}`,false,t,r,a+1))}}if(i.not){e.not=this.mapPropertyMetadata(i.not,`NotVariant`,false,t,r,a+1)}}static _applyNestedTypes(e,i,t,r,a,n){if(n==="object"){if(i.properties){const n=Array.isArray(i.required)?i.required:[];e.properties=this.mapProperties(i.properties,n,t,r,a+1)}if(i.additionalProperties){if(i.additionalProperties===true){e.additionalProperties=true}else if(typeof i.additionalProperties==="object"){e.additionalProperties=this.mapPropertyMetadata(i.additionalProperties,"value",false,t,r,a+1);if(!e.ui)e.ui={};e.ui.widget="dictionary"}}if(!i.properties&&!i.additionalProperties){if(!e.ui)e.ui={};e.ui.widget="codeEditor"}}else if(n==="array"&&i.items){e.items=this.mapPropertyMetadata(i.items,"items",false,t,r,a+1);if(e.items.type!=="object"){if(!e.ui)e.ui={};e.ui.widget="multiInput"}}}static deepMergeSchemas(e,i){const t=Object.assign({},e);if(i===null||typeof i!=="object")return t;Object.keys(i).forEach(r=>{if(Array.isArray(i[r])){t[r]=Array.isArray(e[r])?Array.from(new Set([...e[r],...i[r]])):[...i[r]]}else if(typeof i[r]==="object"&&i[r]!==null){if(e[r]&&typeof e[r]==="object"){t[r]=this.deepMergeSchemas(e[r],i[r])}else{t[r]=Object.assign({},i[r])}}else{t[r]=i[r]}});return t}}var p={__esModule:true};p.OpenApiPropertyMapper=s;return p});
43
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic", [],function(){"use strict";class e{apply(e){if(!e)return;const t=e;if(t.swagger==="2.0"&&t.definitions){this._scanDefinitions(t.definitions)}}_scanDefinitions(e){for(const[t,s]of Object.entries(e)){if(this._isProtobufVariant(t,s)){this._mutateToOneOf(s)}}}_isProtobufVariant(e,t){const s=t;if(s.type!=="object"||!s.properties){return false}const i=s.required;if(i&&i.length>0){return false}const n=s.properties;const r=Object.keys(n);if(r.length<2){return false}const o=r.every(e=>e.endsWith("_value"));if(o&&(e.endsWith("Value")||e.endsWith("Variant"))){return true}return false}_mutateToOneOf(e){const t=e.properties;const s=Object.keys(t);const i=[];for(const e of s){const s=t[e];const n={type:"object",properties:{[e]:s},required:[e],title:s.description||e};i.push(n)}e.oneOf=i;delete e.properties}}var t={__esModule:true};t.ProtobufVariantHeuristic=e;return t});
44
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser", ["./OpenApiPropertyMapper","../OpenApiRefResolver"],function(e,t){"use strict";const i=e["OpenApiPropertyMapper"];const r=t["OpenApiRefResolver"];class o{parse(e,t){let o=e;const a=e;if(!t){if(a.definitions){const e=a.definitions;const i=Object.keys(e);if(i.length>0)t=i[0]}}if(t){t=t.replace("#/components/schemas/","").replace("#/definitions/","");if(a.definitions){const e=a.definitions;if(e[t]){o=e[t]}else{throw new Error(`[MetaUI OpenApi2Parser] Could not find target definition '${t}' in definitions.`)}}else{throw new Error(`[MetaUI OpenApi2Parser] Could not find target definition '${t}' in definitions.`)}}if(o.$ref){const t=r.resolve(o.$ref,e);if(t){o={...t,...o}}}if(Array.isArray(o.allOf)){let t={...o};delete t.allOf;for(const a of o.allOf){let o=a;if(a.$ref){o=r.resolve(a.$ref,e)||{}}t=i.deepMergeSchemas(t,o)}o=t}const s={title:o.title||a.info?.title||t||"",type:o.type==="array"?"array":"object",layoutStrategy:o.type==="array"?"table":"form"};if(o.additionalProperties){if(o.additionalProperties===true){s.additionalProperties=true}else if(typeof o.additionalProperties==="object"){s.additionalProperties=i.mapPropertyMetadata(o.additionalProperties,"value",false,e,"2.0")}}if(o.properties){const t=Array.isArray(o.required)?o.required:[];s.properties=i.mapProperties(o.properties,t,e,"2.0")}else if(s.type==="array"&&o.items){s.items=i.mapPropertyMetadata(o.items,"items",false,e,"2.0")}if(a.definitions){s.definitions={};const t=a.definitions;for(const r of Object.keys(t)){const o=i.mapPropertyMetadata(t[r],r,false,e,"2.0");s.definitions[r]={title:r,type:o.type==="array"?"array":"object",properties:o.properties,items:o.items,ui:o.ui,layoutStrategy:o.type==="array"?"table":"form"}}}return s}}var a={__esModule:true};a.OpenApi2Parser=o;return a});
45
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser", ["./OpenApiPropertyMapper","../OpenApiRefResolver"],function(e,t){"use strict";const r=e["OpenApiPropertyMapper"];const o=t["OpenApiRefResolver"];class s{parse(e,t){let s=e;const i=e;if(!t){if(i.components&&i.components.schemas){const e=i.components.schemas;const r=Object.keys(e);if(r.length>0)t=r[0]}}if(t){t=t.replace("#/components/schemas/","").replace("#/definitions/","");if(i.components&&i.components.schemas){const e=i.components.schemas;if(e[t]){s=e[t]}else{throw new Error(`[MetaUI OpenApi3Parser] Could not find target definition '${t}' in components.schemas.`)}}else{throw new Error(`[MetaUI OpenApi3Parser] Could not find target definition '${t}' in components.schemas.`)}}if(s.$ref){const t=o.resolve(s.$ref,e);if(t){s={...t,...s}}}if(Array.isArray(s.allOf)){let t={...s};delete t.allOf;for(const i of s.allOf){let s=i;if(i.$ref){s=o.resolve(i.$ref,e)||{}}t=r.deepMergeSchemas(t,s)}s=t}const a={title:s.title||i.info?.title||t||"",type:s.type==="array"?"array":"object",layoutStrategy:s.type==="array"?"table":"form"};if(s.additionalProperties){if(s.additionalProperties===true){a.additionalProperties=true}else if(typeof s.additionalProperties==="object"){a.additionalProperties=r.mapPropertyMetadata(s.additionalProperties,"value",false,e,"3.0")}}if(s.properties){const t=Array.isArray(s.required)?s.required:[];a.properties=r.mapProperties(s.properties,t,e,"3.0")}else if(a.type==="array"&&s.items){a.items=r.mapPropertyMetadata(s.items,"items",false,e,"3.0")}if(i.components&&i.components.schemas){a.definitions={};const t=i.components.schemas;for(const o of Object.keys(t)){const s=r.mapPropertyMetadata(t[o],o,false,e,"3.0");a.definitions[o]={title:o,type:s.type==="array"?"array":"object",properties:s.properties,items:s.items,ui:s.ui,layoutStrategy:s.type==="array"?"table":"form"}}}return a}}var i={__esModule:true};i.OpenApi3Parser=s;return i});
46
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper", ["../OpenApiRefResolver","../OpenApiTypeMapper","../OpenApiUIMapper"],function(e,i,t){"use strict";const r=e["OpenApiRefResolver"];const a=i["OpenApiTypeMapper"];const n=t["OpenApiUIMapper"];class s{static mapProperties(e,i,t,a,n=0){const s={};if(n>8)return s;const o=e||{};for(const e of Object.keys(o)){const p=i.includes(e);let m=o[e];if(m.$ref){const e=r.resolve(m.$ref,t);if(e){m={...e,...m}}}s[e]=this.mapPropertyMetadata(m,e,p,t,a,n+1)}return s}static mapPropertyMetadata(e,i,t,r,s,o=0){let p=e;const m=this._resolveReference(p,i,t,r,s,o);if(m){return m}p=this._resolveAllOf(p,r);const f=a.mapType(p.type);const u={type:f,required:t};const l=n.build(p,i);if(Object.keys(l).length>0){u.ui=l}this._applyConstraints(u,p,s);this._applyStateModifiers(u,p);if(p.default!==undefined){u.default=p.default}if(Array.isArray(p.enum)){u.enum=p.enum;if(!u.ui)u.ui={};u.ui.widget="dropdown"}this._applyPolymorphism(u,p,r,s,o);this._applyNestedTypes(u,p,r,s,o,f);return u}static _resolveReference(e,i,t,a,n,s){if(!e.$ref){return null}const o=r.resolve(e.$ref,a);const p=e.type||o&&o.type;if(p&&["string","number","integer","boolean"].includes(p)){const r={...o,...e};delete r.$ref;return this.mapPropertyMetadata(r,i,t,a,n,s+1)}return{type:"object",$ref:e.$ref,required:t,ui:{widget:"reference"}}}static _resolveAllOf(e,i){if(!Array.isArray(e.allOf)){return e}let t={...e};delete t.allOf;for(const a of e.allOf){let e=a;if(a.$ref){e=r.resolve(a.$ref,i)||{}}t=this.deepMergeSchemas(t,e)}return t}static _applyConstraints(e,i,t){if(typeof i.maxLength==="number")e.maxLength=i.maxLength;if(typeof i.minLength==="number")e.minLength=i.minLength;if(typeof i.pattern==="string")e.pattern=i.pattern;if(typeof i.maximum==="number")e.maximum=i.maximum;if(typeof i.minimum==="number")e.minimum=i.minimum;if(typeof i.multipleOf==="number")e.multipleOf=i.multipleOf;if(typeof i.maxItems==="number")e.maxItems=i.maxItems;if(typeof i.minItems==="number")e.minItems=i.minItems;if(typeof i.uniqueItems==="boolean")e.uniqueItems=i.uniqueItems;if(typeof i.maxProperties==="number")e.maxProperties=i.maxProperties;if(typeof i.minProperties==="number")e.minProperties=i.minProperties;if(t==="2.0"){if(i.exclusiveMaximum===true&&typeof i.maximum==="number"){e.exclusiveMaximum=true}if(i.exclusiveMinimum===true&&typeof i.minimum==="number"){e.exclusiveMinimum=true}}else if(t==="3.0"){if(typeof i.exclusiveMaximum==="number"||typeof i.exclusiveMaximum==="boolean"){e.exclusiveMaximum=i.exclusiveMaximum}if(typeof i.exclusiveMinimum==="number"||typeof i.exclusiveMinimum==="boolean"){e.exclusiveMinimum=i.exclusiveMinimum}}}static _applyStateModifiers(e,i){if(i.readOnly===true)e.readOnly=true;if(i.writeOnly===true)e.writeOnly=true;if(i.nullable===true)e.nullable=true;if(i.deprecated===true)e.deprecated=true}static _applyPolymorphism(e,i,t,r,a){if(i.discriminator){if(r==="2.0"&&typeof i.discriminator==="string"){e.discriminator={propertyName:i.discriminator}}else if(r==="3.0"&&typeof i.discriminator==="object"){const t=i.discriminator;e.discriminator={propertyName:t.propertyName,mapping:t.mapping}}}if(Array.isArray(i.oneOf)){e.oneOf=[];for(let n=0;n<i.oneOf.length;n++){e.oneOf.push(this.mapPropertyMetadata(i.oneOf[n],`Variant${n}`,false,t,r,a+1))}if(!e.ui)e.ui={};e.ui.widget="polymorphic"}if(Array.isArray(i.anyOf)){e.anyOf=[];for(let n=0;n<i.anyOf.length;n++){e.anyOf.push(this.mapPropertyMetadata(i.anyOf[n],`AnyVariant${n}`,false,t,r,a+1))}}if(i.not){e.not=this.mapPropertyMetadata(i.not,`NotVariant`,false,t,r,a+1)}}static _applyNestedTypes(e,i,t,r,a,n){if(n==="object"){if(i.properties){const n=Array.isArray(i.required)?i.required:[];e.properties=this.mapProperties(i.properties,n,t,r,a+1)}if(i.additionalProperties){if(i.additionalProperties===true){e.additionalProperties=true}else if(typeof i.additionalProperties==="object"){e.additionalProperties=this.mapPropertyMetadata(i.additionalProperties,"value",false,t,r,a+1);if(!e.ui)e.ui={};e.ui.widget="dictionary"}}if(!i.properties&&!i.additionalProperties){if(!e.ui)e.ui={};e.ui.widget="codeEditor"}}else if(n==="array"&&i.items){e.items=this.mapPropertyMetadata(i.items,"items",false,t,r,a+1);if(e.items.type!=="object"){if(!e.ui)e.ui={};e.ui.widget="multiInput"}}}static deepMergeSchemas(e,i){const t=e||{};const r=Object.assign({},t);if(i===null||typeof i!=="object")return r;const a=i;Object.keys(a).forEach(e=>{if(Array.isArray(a[e])){r[e]=Array.isArray(t[e])?Array.from(new Set([...t[e],...a[e]])):[...a[e]]}else if(typeof a[e]==="object"&&a[e]!==null){if(t[e]&&typeof t[e]==="object"){r[e]=this.deepMergeSchemas(t[e],a[e])}else{r[e]=Object.assign({},a[e])}}else{r[e]=a[e]}});return r}}var o={__esModule:true};o.OpenApiPropertyMapper=s;return o});
44
47
  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.isEditable){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.isEditable)return;this.control.setEnabled(!this.metadata.ui?.readOnly)}}}var a={__esModule:true};a.ClearFormActionPlugin=i;return a});
45
48
  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.isEditable){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.isEditable)return;this.control.setEnabled(!this.metadata.ui?.readOnly)}}}var n={__esModule:true};n.SubmitFormActionPlugin=a;return n});
46
49
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin", ["../controls/BasePlugin","sap/m/Button","sap/m/library"],function(t,e,n){"use strict";const a=t["BasePlugin"];const s=n.URLHelper;class i extends a{render(t,n,a="meta"){this.metadata=t;this.control=new e({text:t.ui?.label||"Open Link",icon:"sap-icon://action",press:()=>{const e=t.ui?.args||"https://sap.com";s.redirect(e,true)}});return this.control}getValue(){return null}applyState(){if(this.control&&this.metadata){this.control.setEnabled(!this.metadata.ui?.readOnly)}}}var r={__esModule:true};r.UrlNavigationActionPlugin=i;return r});
47
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin", ["./BasePlugin","sap/m/Button"],function(t,e){"use strict";const i=t["BasePlugin"];class s extends i{render(t,i,s="meta",n,a){this.onChange=a;this.metadata=t;const o=i.startsWith("/")?i.substring(1):i;const r={type:"array",title:t.ui?.label||o,items:t.items||{type:"object",properties:{}}};if(t.uiLayout){r.uiLayout=t.uiLayout}this.control=new e({id:this.generateStableId(n,i),text:!this.isEditable?"View Records":"Edit Records",icon:!this.isEditable?"sap-icon://display":"sap-icon://list",press:e=>{const n=e.getSource();const a=n.getModel(s);if(!a)return;const l=n.getBindingContext(s);let c=i;if(l&&!i.startsWith("/")){const t=l.getPath();c=t.endsWith("/")?t+i:t==="/"?"/"+i:t+"/"+i}const u=JSON.parse(JSON.stringify(a.getProperty(c)||[]));let d=n.getParent();let g=null;while(d){if(d.getMetadata().getName()==="nz.co.siliconst.ui5.metaui.controls.host.GeneratorHost"||d.getMetadata().getName()==="nz.co.siliconst.ui5.metaui.controls.DynamicHost"){g=d;break}d=d.getParent()}const h=g?g.getProperty("schemaDefinitions"):null;sap.ui.require(["nz/co/siliconst/ui5/metaui/controls/DynamicHost"],e=>{const i=new e({schemaDefinition:r,schemaDefinitions:h,data:u,editable:this.isEditable});if(!!this.isEditable){i.attachSubmit(t=>{const e=t.getParameter("payload");a.setProperty(c,e);if(this.onChange){this.onChange(true,o)}})}const s=t.ui?.dialogButtonText||(!this.isEditable?"Close":"OK");i.openInDialog(`Nested Records: ${t.ui?.label||o}`,s)})}});return this.control}getValue(){return null}applyState(){}}var n={__esModule:true};n.ArrayPlugin=s;return n});
48
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin", ["../controls/BasePlugin","sap/m/HBox","sap/m/Input","sap/ndc/BarcodeScannerButton","sap/m/Text"],function(t,e,i,n,a){"use strict";const s=t["BasePlugin"];class l extends s{render(t,s,l="meta",o,r){this.onChange=r;this.metadata=t;this.fieldKey=s.replace("/","");this.modelName=l;if(!this.isEditable){this.control=new a({id:this.generateStableId(o,s),text:this.generateBindingInfo(s,l)});this.applyCommonDirectives(this.control,t,l);return this.control}this.inputControl=new i({id:this.generateStableId(o,s+"-input"),value:this.generateBindingInfo(s,l),editable:!t.ui?.readOnly,width:"100%",change:()=>{const t=this.validateAndApplyVisualState();if(this.onChange){this.onChange(t.isValid,this.fieldKey)}}});const h=new n({id:this.generateStableId(o,s+"-btn"),scanSuccess:t=>{const e=t.getParameter("text");if(e){this.inputControl.setValue(e);const t=this.validateAndApplyVisualState();if(this.onChange){this.onChange(t.isValid,this.fieldKey)}}}});this.control=new e({id:this.generateStableId(o,s),items:[this.inputControl,h],width:"100%"}).addStyleClass("sapUiSmallMarginBottom");this.applyCommonDirectives(this.control,t,l);return this.control}getValue(){return this.inputControl?this.inputControl.getValue():null}applyState(){if(this.inputControl&&this.metadata){if(!this.isEditable)return;this.inputControl.setEditable(!this.metadata.ui?.readOnly)}}}var o={__esModule:true};o.BarcodeScannerPlugin=l;return o});
49
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin", ["../../core/PipelineManager","sap/ui/core/library","../../utils/Logger"],function(e,t,i){"use strict";const a=e["GlobalPipeline"];const s=i["Logger"];class n{control=null;metadata=null;fieldKey="";modelName="meta";isEditable=true;useMessageManager=false;setEditable(e){this.isEditable=e}setUseMessageManager(e){this.useMessageManager=e}generateStableId(e,t){if(!e)return undefined;const i=t.replace(/^\//,"").replace(/\//g,"-");return`${e}--${i}`}generateBindingInfo(e,t,i,a){return{path:e,model:t,...i?{type:i}:{},...a||{}}}validate(){if(!this.control||!this.metadata)return{isValid:true};if(typeof this.control.getVisible==="function"){if(!this.control.getVisible()){return{isValid:true}}}const e=[];const t={maxLength:this.metadata.maxLength};if(this.metadata.required){e.push("required")}if(this.metadata.maxLength)e.push("maxLength");if(this.metadata.minLength){e.push("minLength");t["minLength"]=this.metadata.minLength}if(this.metadata.pattern){e.push("pattern");t["pattern"]=this.metadata.pattern}if(this.metadata.minimum!==undefined||this.metadata.maximum!==undefined){e.push("range");t["range"]={min:this.metadata.minimum,max:this.metadata.maximum}}const i=this.metadata.ui?.format;if(i==="email"||i==="url"||i==="iban"){e.push(i)}if(this.metadata.ui?.validators){for(const i of this.metadata.ui.validators){if(typeof i==="string"){e.push(i)}else if(i&&i.name){e.push(i.name);if(i.args!==undefined){t[i.name]=i.args}}}}if(e.length===0){return{isValid:true,errorMessage:undefined,fieldKey:this.fieldKey}}const s=this.getValue();const n=a.executeValidation(s,e,t);return{isValid:n.isValid,errorMessage:n.errorMessage,fieldKey:this.fieldKey}}setVisualValidationState(e,i){if(!this.control)return;const a=this.control;if(typeof a.setValueState==="function"){a.setValueState(e?t.ValueState.None:t.ValueState.Error);if(typeof a.setValueStateText==="function"){a.setValueStateText(e?"":i||"")}}else{s.error("[MetaUI]",`Plugin ${this.fieldKey} has no setValueState function!`,"BasePlugin")}}validateAndApplyVisualState(){const e=this.validate();this.setVisualValidationState(e.isValid,e.errorMessage);return e}onStateChange(e){this.metadata=e;this.applyState()}applyCommonDirectives(e,t,i="meta"){const a=e;if(t.ui?.readOnly!==undefined&&typeof a.setEditable==="function"){a.setEditable(!t.ui.readOnly)}if(t.ui?.visibleOn){const a=sap.ui.require("nz/co/siliconst/ui5/metaui/utils/ExpressionBuilder")?.ExpressionBuilder;let s="";if(a){s=a.build(t.ui.visibleOn,this.fieldKey,i)}else{s=`{= ${t.ui.visibleOn.replace(/\$root\./g,`${i}>/`).replace(/\./g,"/")} }`}e.bindProperty("visible",{parts:[{path:"meta>/"}],formatter:()=>false});e.bindProperty("visible",s)}if(t.ui?.enabledOn&&typeof a.setEnabled==="function"){const a=sap.ui.require("nz/co/siliconst/ui5/metaui/utils/ExpressionBuilder")?.ExpressionBuilder;let s="";if(a){s=a.build(t.ui.enabledOn,this.fieldKey,i)}else{s=`{= ${t.ui.enabledOn.replace(/\$root\./g,`${i}>/`).replace(/\./g,"/")} }`}e.bindProperty("enabled",s)}}destroy(){if(this.control&&typeof this.control.destroy==="function"){this.control.destroy();this.control=null}}}var r={__esModule:true};r.BasePlugin=n;return r});
50
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin", ["./BasePlugin","sap/m/CheckBox","sap/m/Text"],function(t,e,i){"use strict";const s=t["BasePlugin"];class n extends s{render(t,s,n="meta",a,l){this.onChange=l;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),selected:this.generateBindingInfo(s,n),enabled:!t.ui?.readOnly,select:t=>{const e=t.getParameter("selected");const i=this.validateAndApplyVisualState();if(this.onChange){this.onChange(i.isValid,this.fieldKey)}}});this.applyCommonDirectives(this.control,t,n);return this.control}getValue(){return this.control?this.control.getSelected():false}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;this.control.setEnabled(!this.metadata.ui?.readOnly)}}}var a={__esModule:true};a.BooleanPlugin=n;return a});
51
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin", ["../controls/BasePlugin","../../controls/CameraControl","sap/m/Image"],function(t,e,i){"use strict";function a(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}const n=t["BasePlugin"];const s=a(e);class l extends n{render(t,e,a="meta",n,l){this.onChange=l;this.metadata=t;this.fieldKey=e.replace("/","");this.modelName=a;if(!this.isEditable){this.control=new i({id:this.generateStableId(n,e),src:this.generateBindingInfo(e,a),width:"400px",alt:t.ui?.label||"Image"});this.applyCommonDirectives(this.control,t,a);return this.control}this.control=new s({id:this.generateStableId(n,e),value:this.generateBindingInfo(e,a),schemaMetadata:t,readOnly:!!t.ui?.readOnly});this.applyCommonDirectives(this.control,t,a);this.control.attachCapture(()=>{const t=this.validateAndApplyVisualState();if(this.onChange){this.onChange(t.isValid,this.fieldKey)}});return this.control}getValue(){return this.control?this.control.getValue():null}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;this.control.setProperty("readOnly",!!this.metadata.ui?.readOnly)}}}var r={__esModule:true};r.CameraPlugin=l;return r});
52
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin", ["./BasePlugin","sap/ui/codeeditor/CodeEditor"],function(t,e){"use strict";const i=t["BasePlugin"];class s extends i{detectLanguage(t){if(!t||typeof t!=="string")return"javascript";const e=t.trim();if(e==="")return"javascript";if(e.startsWith("{")||e.startsWith("[")){try{JSON.parse(e);return"json"}catch(t){}}if(/^\s*<[\s\S]*>\s*$/.test(e)){return"xml"}return"javascript"}adjustHeight(){if(!this.control)return;const t=this.control.getValue()||"";const e=t.split(/\r\n|\r|\n/).length;const i=Math.max(100,e*18+20);this.control.setHeight(i+"px")}render(t,i,s="meta",a,n){this.onChange=n;this.metadata=t;this.fieldKey=i.replace("/","");this.control=new e({id:this.generateStableId(a,i),value:this.generateBindingInfo(i,s),type:t.ui?.args||"javascript",editable:!this.isEditable?false:!t.ui?.readOnly,height:"100px",width:"100%",change:()=>{const e=this.validateAndApplyVisualState();if(this.onChange){this.onChange(e.isValid,this.fieldKey)}if(!t.ui?.args){const t=this.control.getValue();const e=this.detectLanguage(t);if(this.control.getType()!==e){this.control.setType(e)}}this.adjustHeight()}});this.control.attachEventOnce("modelContextChange",()=>{const e=this.control.getBinding("value");const i=()=>{if(this.control){const e=this.control.getValue();if(!t.ui?.args){this.control.setType(this.detectLanguage(e))}this.adjustHeight();this.applyState()}};if(e){e.attachChange(i)}i()});this.applyCommonDirectives(this.control,t,s);return this.control}getValue(){return this.control?this.control.getValue():null}applyState(){if(this.control&&this.metadata){if(!this.isEditable){this.control.setEditable(false)}else{this.control.setEditable(!this.metadata.ui?.readOnly)}}}}var a={__esModule:true};a.CodeEditorPlugin=s;return a});
53
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin", ["./BasePlugin","sap/m/DatePicker","sap/m/Text"],function(t,e,i){"use strict";const a=t["BasePlugin"];class s extends a{render(t,a,s="meta",n,r){this.onChange=r;this.metadata=t;this.fieldKey=a.startsWith("/")?a.substring(1):a;if(!this.isEditable){this.control=new i({id:this.generateStableId(n,a),text:this.generateBindingInfo(a,s,"sap.ui.model.type.Date",{formatOptions:{source:{pattern:"yyyy-MM-dd"},pattern:"yyyy-MM-dd"}})});this.applyCommonDirectives(this.control,t,s);return this.control}this.control=new e({id:this.generateStableId(n,a),value:this.generateBindingInfo(a,s,"sap.ui.model.type.Date",{formatOptions:{source:{pattern:"yyyy-MM-dd"},pattern:"yyyy-MM-dd"}}),displayFormat:"long",editable:!t.ui?.readOnly,required:t.required,change:t=>{const e=t.getParameter("value");const i=this.validateAndApplyVisualState();if(this.onChange){this.onChange(i.isValid,this.fieldKey)}}});return this.control}getValue(){return this.control?this.control.getValue():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 n={__esModule:true};n.DatePlugin=s;return n});
54
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin", ["./BasePlugin","sap/m/DateTimePicker","sap/m/Text"],function(t,e,i){"use strict";const s=t["BasePlugin"];class a extends s{render(t,s,a="meta",n,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(n,s),text:this.generateBindingInfo(s,a,"sap.ui.model.type.DateTime",{formatOptions:{source:{pattern:"yyyy-MM-dd'T'HH:mm:ss'Z'"},pattern:"yyyy-MM-dd'T'HH:mm:ss'Z'"}})});this.applyCommonDirectives(this.control,t,a);return this.control}this.control=new e({id:this.generateStableId(n,s),value:this.generateBindingInfo(s,a,"sap.ui.model.type.DateTime",{formatOptions:{source:{pattern:"yyyy-MM-dd'T'HH:mm:ss'Z'"},pattern:"yyyy-MM-dd'T'HH:mm:ss'Z'"}}),editable:!t.ui?.readOnly,required:t.required,change:t=>{const e=t.getParameter("value");const i=this.validateAndApplyVisualState();if(this.onChange){this.onChange(i.isValid,this.fieldKey)}}});this.applyCommonDirectives(this.control,t,a);return this.control}getValue(){return this.control?this.control.getValue():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 n={__esModule:true};n.DateTimePlugin=a;return n});
55
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin", ["./BasePlugin","../../core/PluginRegistry","sap/m/VBox","sap/m/HBox","sap/m/Input","sap/m/Button","sap/m/Title","sap/m/Table","sap/m/Column","sap/m/Label","sap/m/ColumnListItem","sap/ui/model/json/JSONModel","sap/m/Dialog"],function(t,e,i,n,s,o,a,l,r,c,d,p,u){"use strict";const h=t["BasePlugin"];const y=e["PluginRegistry"];class g extends h{_isSyncing=false;_binding=null;canHandle(t){return t.type==="object"&&typeof t.additionalProperties==="object"}render(t,e,h,g,m,b){this.onChange=m;this.metadata=t;const f=t.additionalProperties||{type:"string"};const w=new i({width:"100%"}).addStyleClass("sapUiSmallMarginTopBottom");const P=e.startsWith("/")?e:`/${e}`;const C=b?b.getProperty(P)||{}:{};const S=Object.keys(C).map(t=>({key:t,value:C[t]}));const x=new p({items:S});const D=()=>{if(!b)return;this._isSyncing=true;const t=x.getProperty("/items");const e={};t.forEach(t=>{if(t.key&&t.key.trim()!==""){e[t.key]=t.value}});b.setProperty(P,e);if(this.onChange)this.onChange();this._isSyncing=false};if(b){this._binding=b.bindProperty(P);this._binding.attachChange(()=>{if(this._isSyncing)return;const t=b.getProperty(P)||{};const e=Object.keys(t).map(e=>({key:e,value:t[e]}));x.setProperty("/items",e)});this._binding.initialize()}const _=[new a({text:t.title||t.ui?.label||"Dictionary Map",level:"H5"})];if(this.isEditable){_.push(new o({text:"Add Property",icon:"sap-icon://add",press:()=>{const t=x.getProperty("/items");t.push({key:"",value:null});x.setProperty("/items",t);D()}}))}const E=new n({justifyContent:"SpaceBetween",alignItems:"Center",items:_}).addStyleClass("sapUiSmallMarginBottom");w.addItem(E);const k=[new r({header:new c({text:"Key"})}),new r({header:new c({text:"Value"})})];if(this.isEditable){k.push(new r({width:"4rem",hAlign:"Center"}))}const v=new l({mode:"None",noDataText:"No metadata properties defined.",columns:k});v.setModel(x,"localDict");v.bindItems({path:"localDict>/items",factory:(t,e)=>{const i=e.getPath();const n=new s({value:"{localDict>key}",editable:this.isEditable,change:()=>D()});const a=y.getInstance().getPlugin(f.type||"string",f.ui?.widget);const l={...f};if(!this.isEditable){if(!l.ui)l.ui={};l.ui.readOnly=true}const r=a.render(l,`${i}/value`,"localDict","dict_"+Date.now(),()=>D(),x);const c=[n,r];if(this.isEditable){const t=new o({icon:"sap-icon://delete",type:"Reject",press:()=>{const t=x.getProperty("/items");const e=parseInt(i.split("/").pop()||"0",10);t.splice(e,1);x.setProperty("/items",t);D()}});c.push(t)}return new d({cells:c})}});w.addItem(v);this.control=new o({id:this.generateStableId(g,e),text:!this.isEditable?"View Dictionary":"Edit Dictionary",icon:!this.isEditable?"sap-icon://display":"sap-icon://form",press:()=>{const e=new u({title:t.title||t.ui?.label||"Dictionary Map",contentWidth:"600px",contentHeight:"400px",horizontalScrolling:false,content:[w],buttons:[new o({text:!this.isEditable?"Close":"OK",type:"Emphasized",press:()=>{e.close()}})],afterClose:()=>{e.removeAllContent();e.destroy()}});if(this.control){this.control.addDependent(e)}e.open()}});return this.control}getValue(){return null}validate(){return{isValid:true}}applyState(){}destroy(){if(this._binding){this._binding.destroy();this._binding=null}super.destroy()}}return g});
56
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin", ["./BasePlugin","sap/m/Select","sap/ui/core/Item","sap/m/Text"],function(e,t,n,i){"use strict";const a=e["BasePlugin"];class s extends a{render(e,a,s="meta",r,l){this.onChange=l;this.metadata=e;this.fieldKey=a.startsWith("/")?a.substring(1):a;if(!this.isEditable){const t=e.valueHelp&&Array.isArray(e.valueHelp)?e.valueHelp:e.enum?e.enum.map(e=>({key:String(e),text:String(e)})):[];this.control=new i({id:this.generateStableId(r,a),text:this.generateBindingInfo(a,s,undefined,{formatter:e=>{const n=t.find(t=>t.key===e);return n?n.text:e}})});this.applyCommonDirectives(this.control,e,s);return this.control}const o=new t({id:this.generateStableId(r,a),selectedKey:this.generateBindingInfo(a,s),enabled:!e.ui?.readOnly,forceSelection:false,change:e=>{const t=e.getParameter("selectedItem");const n=t?t.getKey():"";const i=this.validateAndApplyVisualState();if(this.onChange){this.onChange(i.isValid,this.fieldKey)}}});const d=e.valueHelp&&Array.isArray(e.valueHelp)?e.valueHelp:e.enum?e.enum.map(e=>({key:String(e),text:String(e)})):[];if(d.length>0){o.addItem(new n({key:"",text:"--- Select ---"}));d.forEach(e=>{o.addItem(new n({key:e.key,text:e.text}))})}this.control=o;this.applyCommonDirectives(this.control,e,s);return this.control}getValue(){return this.control?this.control.getSelectedKey():null}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;const e=this.control;e.setEnabled(!this.metadata.ui?.readOnly)}}}var r={__esModule:true};r.DropdownPlugin=s;return r});
57
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin", ["./BasePlugin","sap/m/Input","sap/m/Text"],function(t,e,i){"use strict";const a=t["BasePlugin"];class n extends a{render(t,a,n="meta",s,r){this.onChange=r;this.metadata=t;this.fieldKey=a.replace("/","");if(!this.isEditable){this.control=new i({id:this.generateStableId(s,a),text:this.generateBindingInfo(a,n)});this.applyCommonDirectives(this.control,t,n);return this.control}this.control=new e({id:this.generateStableId(s,a),value:this.generateBindingInfo(a,n),type:"Email",maxLength:t.maxLength||0,required:!!t.required,change:t=>{const e=this.validateAndApplyVisualState();if(this.onChange)this.onChange(e.isValid,this.fieldKey)}});this.applyCommonDirectives(this.control,t,n);return this.control}getValue(){return this.control&&this.control.getMetadata().getName()==="sap.m.Input"?this.control.getValue():null}applyState(){if(!this.control||!this.metadata||this.control.getMetadata().getName()!=="sap.m.Input")return;const t=this.control;t.setEditable(!this.metadata.ui?.readOnly);t.setRequired(!!this.metadata.required)}}var s={__esModule:true};s.EmailPlugin=n;return s});
58
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin", ["./BasePlugin","sap/ui/unified/FileUploader","sap/m/Link"],function(t,e,i){"use strict";const n=t["BasePlugin"];class a extends n{render(t,n,a="meta",s,l){this.onChange=l;this.metadata=t;this.fieldKey=n.startsWith("/")?n.substring(1):n;if(!this.isEditable){this.control=new i({id:this.generateStableId(s,n),text:this.generateBindingInfo(n,a),href:this.generateBindingInfo(n,a),target:"_blank"});this.applyCommonDirectives(this.control,t,a);return this.control}this.control=new e({id:this.generateStableId(s,n),value:this.generateBindingInfo(n,a),enabled:!t.ui?.readOnly,placeholder:t.ui?.label||"Choose a file...",width:"100%",change:t=>{const e=t.getParameter("newValue");const i=this.validateAndApplyVisualState();if(this.onChange){this.onChange(i.isValid,this.fieldKey)}}});this.applyCommonDirectives(this.control,t,a);return this.control}getValue(){return this.control?this.control.getValue():null}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;this.control.setEnabled(!this.metadata.ui?.readOnly)}}}var s={__esModule:true};s.FileUploaderPlugin=a;return s});
59
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin", ["../controls/BasePlugin","../../controls/GeolocationControl","sap/m/Text"],function(t,e,n){"use strict";function i(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}const a=t["BasePlugin"];const o=i(e);class s extends a{render(t,e,i="meta",a,s){this.onChange=s;this.metadata=t;this.fieldKey=e.replace("/","");this.modelName=i;if(!this.isEditable){this.control=new n({id:this.generateStableId(a,e),text:this.generateBindingInfo(e,i,undefined,{formatter:t=>t&&t.lat!==undefined&&t.lng!==undefined?`Lat: ${t.lat}, Lng: ${t.lng}`:""})});this.applyCommonDirectives(this.control,t,i);return this.control}this.control=new o({id:this.generateStableId(a,e),value:this.generateBindingInfo(e,i),schemaMetadata:t,readOnly:!!t.ui?.readOnly});this.applyCommonDirectives(this.control,t,i);this.control.attachCapture(()=>{const t=this.validateAndApplyVisualState();if(this.onChange){this.onChange(t.isValid,this.fieldKey)}});return this.control}getValue(){return this.control?this.control.getValue():null}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;this.control.setProperty("readOnly",!!this.metadata.ui?.readOnly)}}}var l={__esModule:true};l.GeolocationPlugin=s;return l});
60
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin", ["./BasePlugin","sap/m/Link","sap/m/Input"],function(t,e,i){"use strict";const n=t["BasePlugin"];class a extends n{render(t,n,a="meta",s,r){this.onChange=r;this.metadata=t;this.fieldKey=n.replace("/","");if(!this.isEditable){this.control=new e({id:this.generateStableId(s,n),text:this.generateBindingInfo(n,a),href:this.generateBindingInfo(n,a),target:"_blank"});this.applyCommonDirectives(this.control,t,a);return this.control}this.control=new i({id:this.generateStableId(s,n),value:this.generateBindingInfo(n,a),type:"Url",maxLength:t.maxLength||0,required:!!t.required,change:t=>{const e=this.validateAndApplyVisualState();if(this.onChange)this.onChange(e.isValid,this.fieldKey)}});this.applyCommonDirectives(this.control,t,a);return this.control}getValue(){if(!this.control)return null;if(this.control.getMetadata().getName()==="sap.m.Input"){return this.control.getValue()}return this.control.getHref()}applyState(){if(!this.control||!this.metadata)return;if(this.control.getMetadata().getName()==="sap.m.Input"){const t=this.control;t.setEditable(!this.metadata.ui?.readOnly);t.setRequired(!!this.metadata.required)}}}var s={__esModule:true};s.LinkPlugin=a;return s});
50
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin", ["./BasePlugin","sap/m/Button","../../constants/MetaUIConstants"],function(t,e,i){"use strict";const s=t["BasePlugin"];const n=i["SCHEMA_TYPE"];const a=i["UI5_EVENT"];class o extends s{render(t,i,s="meta",o,r){this.onChange=r;this.metadata=t;const u=i.startsWith("/")?i.substring(1):i;const l={type:n.ARRAY,title:t.ui?.label||u,items:t.items||{type:n.OBJECT,properties:{}}};if(t.uiLayout){l.uiLayout=t.uiLayout}this.control=new e({id:this.generateStableId(o,i),text:!this.isEditable?"View Records":"Edit Records",icon:!this.isEditable?"sap-icon://display":"sap-icon://list",press:e=>{const n=e.getSource();const o=n.getModel(s);if(!o)return;const r=n.getBindingContext(s);let c=i;if(r&&!i.startsWith("/")){const t=r.getPath();c=t.endsWith("/")?t+i:t==="/"?"/"+i:t+"/"+i}const d=JSON.parse(JSON.stringify(o.getProperty(c)||[]));sap.ui.require(["nz/co/siliconst/ui5/metaui/controls/DynamicHost"],e=>{const i=new e({schemaDefinition:l,schemaDefinitions:undefined,data:d,editable:this.isEditable,layoutBudget:this.metadata?.ui?.layoutBudget||0});if(!!this.isEditable){i.attachEvent(a.SUBMIT,t=>{const e=t.getParameter("payload");o.setProperty(c,e);if(this.onChange){this.onChange(true,u)}})}const s=t.ui?.dialogButtonText||(!this.isEditable?"Close":"OK");i.openInDialog(`Nested Records: ${t.ui?.label||u}`,s)})}});this.applyCommonDirectives(this.control,t,s);return this.control}getValue(){return null}applyState(){}}var r={__esModule:true};r.ArrayPlugin=o;return r});
51
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin", ["../controls/BasePlugin","sap/m/HBox","sap/m/Input","sap/ndc/BarcodeScannerButton","sap/m/Text"],function(t,e,i,n,s){"use strict";const a=t["BasePlugin"];class o extends a{render(t,a,o="meta",r,l){this.onChange=l;this.metadata=t;this.fieldKey=a.replace("/","");this.modelName=o;if(!this.isEditable){this.control=new s({id:this.generateStableId(r,a),text:this.generateBindingInfo(a,o)});this.applyCommonDirectives(this.control,t,o);return this.control}this.inputControl=new i({id:this.generateStableId(r,a+"-input"),value:this.generateBindingInfo(a,o),editable:!t.ui?.readOnly,width:"100%",change:()=>{const t=this.validate();if(this.onChange){this.onChange(t.isValid,this.fieldKey,t.errorMessage)}}});const h=new n({id:this.generateStableId(r,a+"-btn"),scanSuccess:t=>{const e=t.getParameter("text");if(e){this.inputControl.setValue(e);const t=this.validate();if(this.onChange){this.onChange(t.isValid,this.fieldKey,t.errorMessage)}}}});this.control=new e({id:this.generateStableId(r,a),items:[this.inputControl,h],width:"100%"}).addStyleClass("sapUiSmallMarginBottom");this.applyCommonDirectives(this.control,t,o);return this.control}getValue(){return this.inputControl?this.inputControl.getProperty("value"):null}applyState(){if(this.inputControl&&this.metadata){if(!this.isEditable)return;this.inputControl.setEditable(!this.metadata.ui?.readOnly)}}}var r={__esModule:true};r.BarcodeScannerPlugin=o;return r});
52
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin", ["../../core/PipelineManager","sap/ui/core/library","../../utils/Logger"],function(e,t,i){"use strict";const a=e["GlobalPipeline"];const s=i["Logger"];class n{control=null;BLOCKED_PROPS=["value","text","selectedKey","selected","dateValue","editable","enabled","visible","valueState","valueStateText","items","content","pages","formElements","change","press","select","submit"];metadata=null;fieldKey="";modelName="meta";isEditable=true;useMessageManager=false;policyInvalidMessage=null;setEditable(e){this.isEditable=e}setUseMessageManager(e){this.useMessageManager=e}generateStableId(e,t){if(!e)return undefined;const i=t.replace(/^\//,"").replace(/\//g,"-");return`${e}--${i}`}generateBindingInfo(e,t,i,a){return{path:e,model:t,...i?{type:i}:{},...a||{}}}validate(){if(!this.control||!this.metadata)return{isValid:true};if(typeof this.control.getVisible==="function"){if(!this.control.getVisible()){return{isValid:true}}}if(this.policyInvalidMessage){return{isValid:false,errorMessage:this.policyInvalidMessage,fieldKey:this.fieldKey}}const e=[];const t={maxLength:this.metadata.maxLength};const i=this._isDynamicallyRequired!==undefined?this._isDynamicallyRequired:this.metadata.required;if(i){e.push("required")}if(this.metadata.maxLength)e.push("maxLength");if(this.metadata.minLength){e.push("minLength");t["minLength"]=this.metadata.minLength}if(this.metadata.pattern){e.push("pattern");t["pattern"]=this.metadata.pattern}if(this.metadata.minimum!==undefined||this.metadata.maximum!==undefined){e.push("range");t["range"]={min:this.metadata.minimum,max:this.metadata.maximum}}const s=this.metadata.ui?.format;if(s==="email"||s==="url"||s==="iban"){e.push(s)}if(this.metadata.ui?.validators){for(const i of this.metadata.ui.validators){if(typeof i==="string"){e.push(i)}else if(i&&i.name){e.push(i.name);if(i.args!==undefined){t[i.name]=i.args}}}}if(e.length===0){return{isValid:true,errorMessage:undefined,fieldKey:this.fieldKey}}const n=this.getValue();const l=a.executeValidation(n,e,t);return{isValid:l.isValid,errorMessage:l.errorMessage,fieldKey:this.fieldKey,fieldLabel:this.metadata?.ui?.label}}setVisualValidationState(e,i){if(!this.control)return;const a=this.control;if(typeof a.setValueState==="function"){a.setValueState(e?t.ValueState.None:t.ValueState.Error);if(typeof a.setValueStateText==="function"){a.setValueStateText(e?"":i||"")}}else{}}applyError(e){this.policyInvalidMessage=e;this.setVisualValidationState(false,e)}clearError(){this.policyInvalidMessage=null;this.setVisualValidationState(true)}applyVisibility(e){const t=this.control;if(t&&typeof t.setVisible==="function"){t.setVisible(e)}}applyRequired(e){this._isDynamicallyRequired=e;const t=this.control;if(t&&typeof t.setRequired==="function"){t.setRequired(e)}}applyEditable(e){const t=this.control;if(t&&typeof t.setEditable==="function"){t.setEditable(e)}else if(t&&typeof t.setEnabled==="function"){t.setEnabled(e)}}onStateChange(e){this.metadata=e;this.applyState()}applyCommonDirectives(e,t,i="meta"){const a=e;if(t.ui?.readOnly!==undefined&&typeof a.setEditable==="function"){a.setEditable(!t.ui.readOnly)}if(t.ui?.visibleOn){const a=sap.ui.require("nz/co/siliconst/ui5/metaui/utils/ExpressionBuilder")?.ExpressionBuilder;let s="";if(a){s=a.build(t.ui.visibleOn,this.fieldKey,i)}else{s=`{= ${t.ui.visibleOn.replace(/\$root\./g,`${i}>/`).replace(/\./g,"/")} }`}e.bindProperty("visible",{parts:[{path:"meta>/"}],formatter:()=>false});e.bindProperty("visible",s)}if(t.ui?.enabledOn&&typeof a.setEnabled==="function"){const a=sap.ui.require("nz/co/siliconst/ui5/metaui/utils/ExpressionBuilder")?.ExpressionBuilder;let s="";if(a){s=a.build(t.ui.enabledOn,this.fieldKey,i)}else{s=`{= ${t.ui.enabledOn.replace(/\$root\./g,`${i}>/`).replace(/\./g,"/")} }`}e.bindProperty("enabled",s)}if(t.ui?.controlProps){console.error(`[DEBUG MetaUI] controlProps found for ${this.fieldKey}`,t.ui.controlProps);const a=this.mainControl||e;const n=a;if(typeof n.getMetadata==="function"){const e=n.getMetadata();const l={};for(const[a,n]of Object.entries(t.ui.controlProps)){if(this.BLOCKED_PROPS.includes(a)){s.warn(`[BasePlugin] Cannot apply controlProps '${a}' for field '${this.fieldKey}' - ILLEGAL OVERRIDE (Property is protected by sandbox)`);continue}if(typeof e.hasAggregation==="function"&&e.hasAggregation(a)){s.warn(`[BasePlugin] Cannot apply controlProps '${a}' for field '${this.fieldKey}' - ILLEGAL OVERRIDE (Cannot hijack aggregations)`);continue}if(typeof e.hasEvent==="function"&&e.hasEvent(a)){s.warn(`[BasePlugin] Cannot apply controlProps '${a}' for field '${this.fieldKey}' - ILLEGAL OVERRIDE (Cannot hijack events)`);continue}if(typeof n==="string"&&n.startsWith("{")&&n.endsWith("}")){const e=n.replace(/metaui>/g,`${i}>`);l[a]=e}else{l[a]=n}}try{const e=a;if(typeof e.applySettings==="function"){e.applySettings(l)}}catch(t){s.warn(`[BasePlugin] Failed to apply controlProps for field '${this.fieldKey}' on control ${e.getName()}: ${t.message}`)}}}}destroy(){if(this.control&&typeof this.control.destroy==="function"){this.control.destroy();this.control=null}}}var l={__esModule:true};l.BasePlugin=n;return l});
53
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin", ["./BasePlugin","sap/m/CheckBox","sap/m/Switch","sap/m/Text"],function(t,e,i,s){"use strict";const n=t["BasePlugin"];class a extends n{render(t,n,a="meta",r,o){this.BLOCKED_PROPS=this.BLOCKED_PROPS.filter(t=>t!=="text");this.onChange=o;this.metadata=t;this.fieldKey=n.startsWith("/")?n.substring(1):n;if(!this.isEditable){this.control=new s({id:this.generateStableId(r,n),text:this.generateBindingInfo(n,a,undefined,{formatter:t=>t?"Yes":"No"})});this.applyCommonDirectives(this.control,t,a);return this.control}const l=t=>{const e=t.getParameter("state")??t.getParameter("selected");const i=this.validate();if(this.onChange){this.onChange(i.isValid,this.fieldKey,i.errorMessage)}};if(t.ui?.widget==="switch"){this.control=new i({id:this.generateStableId(r,n),state:this.generateBindingInfo(n,a),enabled:!t.ui?.readOnly,change:l})}else{this.control=new e({id:this.generateStableId(r,n),width:"100%",selected:this.generateBindingInfo(n,a),enabled:!t.ui?.readOnly,select:l})}this.applyCommonDirectives(this.control,t,a);return this.control}getValue(){if(!this.control)return false;if(this.control instanceof i){return this.control.getState()}return this.control.getSelected()}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;if(this.control instanceof i){this.control.setEnabled(!this.metadata.ui?.readOnly)}else{this.control.setEnabled(!this.metadata.ui?.readOnly)}}}}var r={__esModule:true};r.BooleanPlugin=a;return r});
54
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin", ["../controls/BasePlugin","../../controls/CameraControl","sap/m/Image"],function(t,e,i){"use strict";function a(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}const n=t["BasePlugin"];const s=a(e);class r extends n{render(t,e,a="meta",n,r){this.onChange=r;this.metadata=t;this.fieldKey=e.replace("/","");this.modelName=a;if(!this.isEditable){this.control=new i({id:this.generateStableId(n,e),src:this.generateBindingInfo(e,a),width:"400px",alt:t.ui?.label||"Image"});this.applyCommonDirectives(this.control,t,a);return this.control}this.control=new s({id:this.generateStableId(n,e),value:this.generateBindingInfo(e,a),schemaMetadata:t,readOnly:!!t.ui?.readOnly});this.applyCommonDirectives(this.control,t,a);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.CameraPlugin=r;return o});
55
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin", ["./BasePlugin","sap/ui/codeeditor/CodeEditor","sap/m/HBox","sap/m/Button","sap/m/Dialog","sap/m/FlexItemData"],function(t,e,i,s,a,o){"use strict";const n=t["BasePlugin"];class r extends n{detectLanguage(t){if(!t||typeof t!=="string")return"javascript";const e=t.trim();if(e==="")return"javascript";if(e.startsWith("{")||e.startsWith("[")){try{JSON.parse(e);return"json"}catch(t){}}if(/^\s*<[\s\S]*>\s*$/.test(e)){return"xml"}return"javascript"}adjustHeight(){if(!this.codeEditorRef)return;if(this.metadata?.ui?.rows)return;const t=this.codeEditorRef.getProperty("value")||"";const e=t.split(/\r\n|\r|\n/).length;const i=Math.max(100,e*18+20);this.codeEditorRef.setHeight(i+"px")}render(t,n,r="meta",d,h){this.onChange=h;this.metadata=t;this.fieldKey=n.replace("/","");const c=t.ui?.rows;const l=t.ui?.expandable!==false;const u=c?c*18+20+"px":"200px";const f=new e({id:this.generateStableId(d,n),value:this.generateBindingInfo(n,r),type:t.ui?.args||"javascript",editable:!this.isEditable?false:!t.ui?.readOnly,height:u,width:"100%",change:()=>{const e=this.validate();if(this.onChange){this.onChange(e.isValid,this.fieldKey,e.errorMessage)}if(!t.ui?.args){const t=this.codeEditorRef.getProperty("value");const e=this.detectLanguage(t);if(this.codeEditorRef.getType()!==e){this.codeEditorRef.setType(e)}}this.adjustHeight()}});this.codeEditorRef=f;this.mainControl=f;if(l){const d=new s({icon:"sap-icon://full-screen",type:"Transparent",tooltip:"Expand Code Editor",press:()=>{const i=new a({title:t.title||t.ui?.label||"Edit Code",contentWidth:"80%",contentHeight:"80%",verticalScrolling:false,resizable:true,content:new e({value:this.generateBindingInfo(n,r),type:this.codeEditorRef.getType(),width:"100%",height:"100%",editable:!this.isEditable?false:!t.ui?.readOnly}),beginButton:new s({text:"Close",press:()=>i.close()}),afterClose:()=>i.destroy()});this.control?.addDependent(i);i.open()}});f.setLayoutData(new o({growFactor:1}));this.control=new i({width:"100%",alignItems:"Start",items:[f,d]})}else{this.control=f}this.codeEditorRef.attachEventOnce("modelContextChange",()=>{const e=this.codeEditorRef.getBinding("value");const i=()=>{if(this.codeEditorRef){const e=this.codeEditorRef.getProperty("value");if(!t.ui?.args){this.codeEditorRef.setType(this.detectLanguage(e))}this.adjustHeight();this.applyState()}};if(e){e.attachChange(i)}i()});this.applyCommonDirectives(this.control,t,r);return this.control}getValue(){return this.codeEditorRef?this.codeEditorRef.getProperty("value"):null}applyState(){if(this.codeEditorRef&&this.metadata){if(!this.isEditable){this.codeEditorRef.setEditable(false)}else{this.codeEditorRef.setEditable(!this.metadata.ui?.readOnly)}}}}var d={__esModule:true};d.CodeEditorPlugin=r;return d});
56
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin", ["./BasePlugin","sap/m/DatePicker","sap/m/Text"],function(t,e,i){"use strict";const a=t["BasePlugin"];class s extends a{render(t,a,s="meta",n,r){this.onChange=r;this.metadata=t;this.fieldKey=a.startsWith("/")?a.substring(1):a;if(!this.isEditable){this.control=new i({id:this.generateStableId(n,a),text:this.generateBindingInfo(a,s,"sap.ui.model.type.Date",{formatOptions:{source:{pattern:"yyyy-MM-dd"},pattern:"yyyy-MM-dd"}})});this.applyCommonDirectives(this.control,t,s);return this.control}this.control=new e({id:this.generateStableId(n,a),value:this.generateBindingInfo(a,s,"sap.ui.model.type.Date",{formatOptions:{source:{pattern:"yyyy-MM-dd"},pattern:"yyyy-MM-dd"}}),displayFormat:"long",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)}}});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 n={__esModule:true};n.DatePlugin=s;return n});
57
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin", ["./BasePlugin","sap/m/DateTimePicker","sap/m/Text"],function(t,e,i){"use strict";const s=t["BasePlugin"];class a extends s{render(t,s,a="meta",n,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(n,s),text:this.generateBindingInfo(s,a,"sap.ui.model.type.DateTime",{formatOptions:{source:{pattern:"yyyy-MM-dd'T'HH:mm:ss'Z'"},pattern:"yyyy-MM-dd'T'HH:mm:ss'Z'"}})});this.applyCommonDirectives(this.control,t,a);return this.control}this.control=new e({id:this.generateStableId(n,s),value:this.generateBindingInfo(s,a,"sap.ui.model.type.DateTime",{formatOptions:{source:{pattern:"yyyy-MM-dd'T'HH:mm:ss'Z'"},pattern:"yyyy-MM-dd'T'HH:mm:ss'Z'"}}),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,a);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 n={__esModule:true};n.DateTimePlugin=a;return n});
58
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin", ["./BasePlugin","../../core/PluginRegistry","sap/m/VBox","sap/m/HBox","sap/m/Input","sap/m/Button","sap/m/Title","sap/m/Table","sap/m/Column","sap/m/Label","sap/m/ColumnListItem","sap/ui/model/json/JSONModel","sap/m/Dialog"],function(t,e,i,n,s,o,a,l,r,c,p,d,h){"use strict";const u=t["BasePlugin"];const y=e["PluginRegistry"];class m extends u{_isSyncing=false;_binding=null;canHandle(t){return t.type==="object"&&typeof t.additionalProperties==="object"}render(t,e,u,m,g,b){this.onChange=g;this.metadata=t;const f=t.additionalProperties||{type:"string"};const w=new i({width:"100%"}).addStyleClass("sapUiSmallMarginTopBottom");const P=e.startsWith("/")?e:`/${e}`;const C=b?b.getProperty(P)||{}:{};const D=Object.keys(C).map(t=>({key:t,value:C[t]}));const S=new d({items:D});const x=()=>{if(!b)return;this._isSyncing=true;const t=S.getProperty("/items");const e={};t.forEach(t=>{if(t.key&&t.key.trim()!==""){e[t.key]=t.value}});b.setProperty(P,e);if(this.onChange)this.onChange();this._isSyncing=false};if(b){this._binding=b.bindProperty(P);this._binding.attachChange(()=>{if(this._isSyncing)return;const t=b.getProperty(P)||{};const e=Object.keys(t).map(e=>({key:e,value:t[e]}));S.setProperty("/items",e)});this._binding.initialize()}const _=[new a({text:t.title||t.ui?.label||"Dictionary Map",level:"H5"})];if(this.isEditable){_.push(new o({text:"Add Property",icon:"sap-icon://add",press:()=>{const t=S.getProperty("/items");t.push({key:"",value:null});S.setProperty("/items",t);x()}}))}const E=new n({justifyContent:"SpaceBetween",alignItems:"Center",items:_}).addStyleClass("sapUiSmallMarginBottom");w.addItem(E);const v=[new r({header:new c({text:"Key"})}),new r({header:new c({text:"Value"})})];if(this.isEditable){v.push(new r({width:"4rem",hAlign:"Center"}))}const k=new l({mode:"None",noDataText:"No metadata properties defined.",columns:v});k.setModel(S,"localDict");k.bindItems({path:"localDict>/items",factory:(t,e)=>{const i=e.getPath();const n=new s({value:"{localDict>key}",editable:this.isEditable,change:()=>x()});const a=y.getInstance().getPlugin(f.type||"string",f.ui?.widget);const l={...f};if(!this.isEditable){if(!l.ui)l.ui={};l.ui.readOnly=true}const r=a.render(l,`${i}/value`,"localDict","dict_"+Date.now(),()=>x(),S);const c=[n,r];if(this.isEditable){const t=new o({icon:"sap-icon://delete",type:"Reject",press:()=>{const t=S.getProperty("/items");const e=parseInt(i.split("/").pop()||"0",10);t.splice(e,1);S.setProperty("/items",t);x()}});c.push(t)}return new p({cells:c})}});w.addItem(k);this.control=new o({id:this.generateStableId(m,e),text:!this.isEditable?"View Dictionary":"Edit Dictionary",icon:!this.isEditable?"sap-icon://display":"sap-icon://form",press:()=>{const e=new h({title:t.title||t.ui?.label||"Dictionary Map",contentWidth:"600px",contentHeight:"400px",horizontalScrolling:false,content:[w],buttons:[new o({text:!this.isEditable?"Close":"OK",type:"Emphasized",press:()=>{e.close()}})],afterClose:()=>{e.removeAllContent();e.destroy()}});if(this.control){this.control.addDependent(e)}e.open()}});this.applyCommonDirectives(this.control,t,u);return this.control}getValue(){return null}validate(){return{isValid:true}}applyState(){}destroy(){if(this._binding){this._binding.destroy();this._binding=null}super.destroy()}}return m});
59
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin", ["./BasePlugin","sap/m/Select","sap/ui/core/Item","sap/m/Text"],function(e,t,n,i){"use strict";const a=e["BasePlugin"];class s extends a{render(e,a,s="meta",r,l){this.onChange=l;this.metadata=e;this.fieldKey=a.startsWith("/")?a.substring(1):a;if(!this.isEditable){const t=e.valueHelp&&Array.isArray(e.valueHelp)?e.valueHelp:e.enum?e.enum.map(e=>({key:String(e),text:String(e)})):[];this.control=new i({id:this.generateStableId(r,a),text:this.generateBindingInfo(a,s,undefined,{formatter:e=>{const n=t.find(t=>t.key===e);return n?n.text:e}})});this.applyCommonDirectives(this.control,e,s);return this.control}const o=new t({id:this.generateStableId(r,a),selectedKey:this.generateBindingInfo(a,s),enabled:!e.ui?.readOnly,forceSelection:false,change:e=>{const t=e.getParameter("selectedItem");const n=t?t.getKey():"";const i=this.validate();if(this.onChange){this.onChange(i.isValid,this.fieldKey,i.errorMessage)}}});const d=e.valueHelp&&Array.isArray(e.valueHelp)?e.valueHelp:e.enum?e.enum.map(e=>({key:String(e),text:String(e)})):[];if(d.length>0){o.addItem(new n({key:"",text:"--- Select ---"}));d.forEach(e=>{o.addItem(new n({key:e.key,text:e.text}))})}this.control=o;this.applyCommonDirectives(this.control,e,s);return this.control}getValue(){const e=this.control?this.control.getSelectedKey():null;if(e&&this.metadata&&(this.metadata.type==="number"||this.metadata.type==="integer")){const t=parseFloat(e);return isNaN(t)?e:t}return e}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;const e=this.control;e.setEnabled(!this.metadata.ui?.readOnly)}}}var r={__esModule:true};r.DropdownPlugin=s;return r});
60
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin", ["./BasePlugin","sap/m/Input","sap/m/Text"],function(t,e,i){"use strict";const a=t["BasePlugin"];class n extends a{render(t,a,n="meta",s,r){this.onChange=r;this.metadata=t;this.fieldKey=a.replace("/","");if(!this.isEditable){this.control=new i({id:this.generateStableId(s,a),text:this.generateBindingInfo(a,n)});this.applyCommonDirectives(this.control,t,n);return this.control}this.control=new e({id:this.generateStableId(s,a),value:this.generateBindingInfo(a,n),type:"Email",maxLength:t.maxLength||0,required:!!t.required,change:t=>{const e=this.validate();if(this.onChange)this.onChange(e.isValid,this.fieldKey,e.errorMessage)}});this.applyCommonDirectives(this.control,t,n);return this.control}getValue(){return this.control&&this.control.getMetadata().getName()==="sap.m.Input"?this.control.getProperty("value"):null}applyState(){if(!this.control||!this.metadata||this.control.getMetadata().getName()!=="sap.m.Input")return;const t=this.control;t.setEditable(!this.metadata.ui?.readOnly);t.setRequired(!!this.metadata.required)}}var s={__esModule:true};s.EmailPlugin=n;return s});
61
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin", ["./BasePlugin","sap/ui/unified/FileUploader","sap/m/Link"],function(e,t,i){"use strict";const n=e["BasePlugin"];class a extends n{render(e,n,a="meta",s,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(s,n),text:this.generateBindingInfo(n,a),href:this.generateBindingInfo(n,a),target:"_blank"});this.applyCommonDirectives(this.control,e,a);return this.control}this.control=new t({id:this.generateStableId(s,n),value:this.generateBindingInfo(n,a),enabled:!e.ui?.readOnly,placeholder:e.ui?.label||"Choose a file...",width:"100%",change:e=>{const t=e.getParameter("newValue");const i=this.validate();if(this.onChange){this.onChange(i.isValid,this.fieldKey,i.errorMessage)}}});this.applyCommonDirectives(this.control,e,a);return this.control}getValue(){return this.control?this.control.getProperty("value"):null}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;this.control.setEnabled(!this.metadata.ui?.readOnly)}}}var s={__esModule:true};s.FileUploaderPlugin=a;return s});
62
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin", ["../controls/BasePlugin","../../controls/GeolocationControl","sap/m/Text"],function(t,e,n){"use strict";function i(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}const a=t["BasePlugin"];const o=i(e);class s extends a{render(t,e,i="meta",a,s){this.onChange=s;this.metadata=t;this.fieldKey=e.replace("/","");this.modelName=i;if(!this.isEditable){this.control=new n({id:this.generateStableId(a,e),text:this.generateBindingInfo(e,i,undefined,{formatter:t=>t&&t.lat!==undefined&&t.lng!==undefined?`Lat: ${t.lat}, Lng: ${t.lng}`:""})});this.applyCommonDirectives(this.control,t,i);return this.control}this.control=new o({id:this.generateStableId(a,e),value:this.generateBindingInfo(e,i),schemaMetadata:t,readOnly:!!t.ui?.readOnly});this.applyCommonDirectives(this.control,t,i);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 r={__esModule:true};r.GeolocationPlugin=s;return r});
63
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin", ["./BasePlugin","sap/m/Link","sap/m/Input"],function(t,e,i){"use strict";const n=t["BasePlugin"];class a extends n{render(t,n,a="meta",r,s){this.onChange=s;this.metadata=t;this.fieldKey=n.replace("/","");if(!this.isEditable){this.control=new e({id:this.generateStableId(r,n),text:this.generateBindingInfo(n,a),href:this.generateBindingInfo(n,a),target:"_blank"});this.applyCommonDirectives(this.control,t,a);return this.control}this.control=new i({id:this.generateStableId(r,n),value:this.generateBindingInfo(n,a),type:"Url",maxLength:t.maxLength||0,required:!!t.required,change:t=>{const e=this.validate();if(this.onChange)this.onChange(e.isValid,this.fieldKey,e.errorMessage)}});this.applyCommonDirectives(this.control,t,a);return this.control}getValue(){if(!this.control)return null;if(this.control.getMetadata().getName()==="sap.m.Input"){return this.control.getProperty("value")}return this.control.getHref()}applyState(){if(!this.control||!this.metadata)return;if(this.control.getMetadata().getName()==="sap.m.Input"){const t=this.control;t.setEditable(!this.metadata.ui?.readOnly);t.setRequired(!!this.metadata.required)}}}var r={__esModule:true};r.LinkPlugin=a;return r});
61
64
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin", ["./BasePlugin","sap/m/MessageStrip"],function(e,t){"use strict";const s=e["BasePlugin"];class n extends s{render(e,s,n="meta",i,a){this.onChange=a;this.metadata=e;this.fieldKey=s.startsWith("/")?s.substring(1):s;this.control=new t({id:this.generateStableId(i,s),text:this.generateBindingInfo(s,n),type:"Information",showIcon:true,showCloseButton:false});return this.control}getValue(){return null}applyState(){}}var i={__esModule:true};i.MessageStripPlugin=n;return i});
62
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin", ["./BasePlugin","sap/m/MultiInput","sap/m/Token","sap/m/Text","../../utils/Logger"],function(t,e,n,i,o){"use strict";const s=t["BasePlugin"];const r=o["Logger"];class a extends s{render(t,o,s="meta",a,l){this.onChange=l;this.metadata=t;this.fieldKey=o.startsWith("/")?o.substring(1):o;this.modelName=s;if(!this.isEditable){this.control=new i({id:this.generateStableId(a,o),text:this.generateBindingInfo(o,s,undefined,{formatter:t=>Array.isArray(t)?t.join(", "):""})});this.applyCommonDirectives(this.control,t,s);return this.control}const u=this;const d=new e({id:this.generateStableId(a,o),enabled:!t.ui?.readOnly,placeholder:t.ui?.label||"Type and press Enter...",showValueHelp:false,tokenUpdate:t=>{const e=t.getParameter("type");const n=t.getSource();if(e==="removed"){const e=t.getParameter("removedTokens");const i=e.map(t=>t.getText());const o=u.getNativeBindingContext(n);if(o){const{model:t,absPath:e}=o;const s=t.getProperty(e)||[];const a=s.filter(t=>!i.includes(t));r.debug(`[MultiInputPlugin] Removing tokens from absolute path: ${e}`,i.join(", "),"MultiInputPlugin");u.syncTokensToModel(n,a)}}}});if(typeof d.attachSubmit==="function"){d.attachSubmit(t=>{const e=t.getSource();const n=(t.getParameter("value")||e.getValue()).trim();if(n){const t=u.getNativeBindingContext(e);if(t){const{model:i,absPath:o}=t;const s=i.getProperty(o)||[];if(!s.includes(n)){const t=[...s,n];r.debug(`[MultiInputPlugin] submit (Enter) fired. Adding token to absolute path: ${o}`,n,"MultiInputPlugin");e.setValue("");u.syncTokensToModel(e,t)}else{e.setValue("")}}}})}d.addValidator(function(t){return null});d.bindAggregation("tokens",this.generateBindingInfo(o,s,undefined,{factory:(t,e)=>{const i=e.getObject()||"";return new n(t,{key:i,text:i})}}));this.control=d;this.applyCommonDirectives(this.control,t,s);return this.control}getNativeBindingContext(t){const e=t.getBinding("tokens");if(!e){r.error("[MultiInputPlugin] token list binding is completely missing on the source clone.");return null}const n=e.getModel();if(!n){r.error("[MultiInputPlugin] Failed to resolve underlying JSONModel from ListBinding.");return null}let i;const o=e.getContext();const s=e.getPath();if(o){const t=o.getPath();i=t.endsWith("/")?t+s:t==="/"?"/"+s:t+"/"+s}else{i=s.startsWith("/")?s:"/"+s}return{model:n,absPath:i}}syncTokensToModel(t,e){const n=this.getNativeBindingContext(t);if(!n)return;const{model:i,absPath:o}=n;i.setProperty(o,e);i.refresh(true);if(this.onChange){const t=this.validateAndApplyVisualState();this.onChange(t.isValid,this.fieldKey)}}getValue(){if(!this.control)return[];const t=this.control.getTokens();return t.map(t=>t.getText())}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;this.control.setEnabled(!this.metadata.ui?.readOnly)}}}var l={__esModule:true};l.MultiInputPlugin=a;return l});
63
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin", ["./BasePlugin","sap/m/MultiComboBox","sap/ui/core/Item","sap/m/Text"],function(t,e,i,n){"use strict";const s=t["BasePlugin"];class a extends s{render(t,s,a="meta",o,r){this.onChange=r;this.metadata=t;this.fieldKey=s.startsWith("/")?s.substring(1):s;if(!this.isEditable){this.control=new n({id:this.generateStableId(o,s),text:this.generateBindingInfo(s,a,undefined,{formatter:t=>Array.isArray(t)?t.join(", "):""})});this.applyCommonDirectives(this.control,t,a);return this.control}const l=new e({id:this.generateStableId(o,s),selectedKeys:this.generateBindingInfo(s,a),enabled:!t.ui?.readOnly,placeholder:t.ui?.label||"Select items...",selectionChange:t=>{const e=this.control.getSelectedKeys();const i=this.validateAndApplyVisualState();if(this.onChange){this.onChange(i.isValid,this.fieldKey)}}});if(t.enum){t.enum.forEach(t=>{l.addItem(new i({key:t.toString(),text:t.toString()}))})}this.control=l;this.applyCommonDirectives(this.control,t,a);return this.control}getValue(){return this.control?this.control.getSelectedKeys():[]}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;this.control.setEnabled(!this.metadata.ui?.readOnly)}}}var o={__esModule:true};o.MultiSelectPlugin=a;return o});
64
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin", ["./BasePlugin","sap/m/Input","sap/m/Text","sap/ui/model/type/Float","sap/ui/model/type/Integer"],function(e,t,i,n,a){"use strict";const s=e["BasePlugin"];class r extends s{render(e,s,r="meta",l,o){this.onChange=o;this.metadata=e;this.fieldKey=s.startsWith("/")?s.substring(1):s;if(!this.isEditable){this.control=new i({id:this.generateStableId(l,s),text:this.generateBindingInfo(s,r)});this.applyCommonDirectives(this.control,e,r);return this.control}let u;if(e.type==="integer"){u=new a({groupingEnabled:false})}else{u=new n({groupingEnabled:false,minFractionDigits:e.scale!==undefined?e.scale:0,maxFractionDigits:e.scale!==undefined?e.scale:9})}this.control=new t({id:this.generateStableId(l,s),value:{path:s,model:r,type:u},type:"Number",editable:!e.ui?.readOnly,required:!!e.required,change:e=>{const t=e.getParameter("value");const i=this.validateAndApplyVisualState();if(this.onChange){this.onChange(i.isValid,this.fieldKey)}}});this.applyCommonDirectives(this.control,e,r);return this.control}getValue(){if(!this.control)return null;const e=this.control;const t=e.getBinding("value");if(t){return t.getValue()}return e.getValue()}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 l={__esModule:true};l.NumberPlugin=r;return l});
65
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin", ["./BasePlugin","sap/m/Button"],function(t,e){"use strict";const i=t["BasePlugin"];class s extends i{render(t,i,s="meta",a,n){this.onChange=n;this.metadata=t;const o=i.startsWith("/")?i.substring(1):i;const r={type:"object",title:t.ui?.label||o,properties:t.properties||{}};if(t.uiLayout){r.uiLayout=t.uiLayout}this.control=new e({id:this.generateStableId(a,i),text:!this.isEditable?"View Details":"Edit Details",icon:!this.isEditable?"sap-icon://display":"sap-icon://form",press:e=>{const a=e.getSource();const n=a.getModel(s);if(!n)return;const l=a.getBindingContext(s);let u=i;if(l&&!i.startsWith("/")){const t=l.getPath();u=t.endsWith("/")?t+i:t==="/"?"/"+i:t+"/"+i}const c=JSON.parse(JSON.stringify(n.getProperty(u)||{}));sap.ui.require(["nz/co/siliconst/ui5/metaui/controls/DynamicHost"],e=>{const i=new e({schemaDefinition:r,data:c,editable:this.isEditable});if(!!this.isEditable){i.attachSubmit(t=>{const e=t.getParameter("payload");n.setProperty(u,e);if(this.onChange){this.onChange(true,o)}})}const s=t.ui?.dialogButtonText||(!this.isEditable?"Close":"OK");i.openInDialog(`Nested Details: ${t.ui?.label||o}`,s)})}});return this.control}validate(){return{isValid:true}}getValue(){return null}applyState(){}}var a={__esModule:true};a.ObjectPlugin=s;return a});
66
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin", ["./BasePlugin","sap/m/Input","sap/m/Text"],function(t,e,i){"use strict";const a=t["BasePlugin"];class s extends a{render(t,a,s="meta",n,r){this.onChange=r;this.metadata=t;this.fieldKey=a.replace("/","");if(!this.isEditable){this.control=new i({id:this.generateStableId(n,a),text:"********"});this.applyCommonDirectives(this.control,t,s);return this.control}this.control=new e({id:this.generateStableId(n,a),value:this.generateBindingInfo(a,s),type:"Password",maxLength:t.maxLength||0,required:!!t.required,change:t=>{const e=this.validateAndApplyVisualState();if(this.onChange)this.onChange(e.isValid,this.fieldKey)}});this.applyCommonDirectives(this.control,t,s);return this.control}getValue(){return this.control&&this.control.getMetadata().getName()==="sap.m.Input"?this.control.getValue():null}applyState(){if(!this.control||!this.metadata||this.control.getMetadata().getName()!=="sap.m.Input")return;const t=this.control;t.setEditable(!this.metadata.ui?.readOnly);t.setRequired(!!this.metadata.required)}}var n={__esModule:true};n.PasswordPlugin=s;return n});
67
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin", ["./BasePlugin","sap/m/RatingIndicator","sap/m/Text"],function(t,e,i){"use strict";const n=t["BasePlugin"];class a extends n{render(t,n,a="meta",s,r){this.onChange=r;this.metadata=t;this.fieldKey=n.startsWith("/")?n.substring(1):n;if(!this.isEditable){this.control=new i({id:this.generateStableId(s,n),text:this.generateBindingInfo(n,a)});this.applyCommonDirectives(this.control,t,a);return this.control}this.control=new e({id:this.generateStableId(s,n),value:this.generateBindingInfo(n,a),enabled:!t.ui?.readOnly,maxValue:t.maximum!==undefined?t.maximum:5,change:t=>{const e=t.getParameter("value");const i=this.validateAndApplyVisualState();if(this.onChange){this.onChange(i.isValid,this.fieldKey)}}});this.applyCommonDirectives(this.control,t,a);return this.control}getValue(){return this.control?this.control.getValue():0}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;this.control.setEnabled(!this.metadata.ui?.readOnly)}}}var s={__esModule:true};s.RatingIndicatorPlugin=a;return s});
68
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin", ["./BasePlugin","sap/m/Button","../../core/PipelineManager"],function(e,t,i){"use strict";const n=e["BasePlugin"];const r=i["GlobalPipeline"];class a extends n{findParentHost(e){let t=e.getParent();while(t){if(typeof t.getSchemaDefinition==="function"){return t}t=t.getParent()}return null}render(e,i,n="meta",r,a){this.onChange=a;this.metadata=e;const s=i.startsWith("/")?i.substring(1):i;const o=e.ui?.label||s;this.control=new t({id:this.generateStableId(r,i),text:!this.isEditable?`View Link: ${o}`:`Edit Link: ${o}`,icon:"sap-icon://chain-link",press:t=>{const r=t.getSource();if(!this.metadata?.$ref){Logger.error(`[ReferencePlugin] FATAL: this.metadata.$ref is MISSING or UNDEFINED! Cannot resolve child schema.`);return}const a=this.findParentHost(r);if(!a){Logger.error("[ReferencePlugin] FATAL: Could not locate parent GeneratorHost via duck typing `getSchemaDefinition`.");return}const l=a.getSchemaDefinition(this.metadata.$ref);if(!l){Logger.error(`[ReferencePlugin] FATAL: Schema definition not found for reference: ${this.metadata.$ref}. Dumping parent schemaDefinitions:`,a.getProperty("schemaDefinitions"));return}const u=r.getModel(n);if(!u){Logger.error(`[ReferencePlugin] FATAL: Could not get JSONModel named '${n}' from the button.`);return}const c=r.getBindingContext(n);let d=i;if(c&&!i.startsWith("/")){const e=c.getPath();d=e.endsWith("/")?e+i:e==="/"?"/"+i:e+"/"+i}const f=u.getProperty(d);const g=f?JSON.parse(JSON.stringify(f)):{};sap.ui.require(["nz/co/siliconst/ui5/metaui/controls/DynamicHost"],t=>{const i=t.default||t;const n=new i({schemaDefinition:l,schemaDefinitions:a.getProperty("schemaDefinitions"),data:g,editable:this.isEditable,useMessageManager:this.useMessageManager});n.attachEvent("validationError",e=>{a.fireEvent("validationError",e.getParameters())});n.attachEvent("validationSuccess",e=>{a.fireEvent("validationSuccess",e.getParameters())});if(!!this.isEditable){n.attachSubmit(e=>{const t=e.getParameter("payload");u.setProperty(d,t);if(this.onChange){this.onChange(true,s)}})}const c=e.ui?.dialogButtonText||(!this.isEditable?"Close":"OK");try{n.openInDialog(`Nested Link: ${o}`,c,undefined,undefined,r)}catch(e){Logger.error(`[ReferencePlugin] FATAL ERROR CALLING openInDialog:`,e.message)}})}});return this.control}validate(){if(!this.metadata?.$ref||!this.control)return{isValid:true};const e=this.findParentHost(this.control);if(!e)return{isValid:true};const t=e.getSchemaDefinition(this.metadata.$ref);if(!t||!t.properties)return{isValid:true};const i=this.control.getModel(this.modelName);if(!i)return{isValid:true};let n=this.getAbsoluteBindingPath();const a=i.getProperty(n)||{};for(const e of Object.keys(t.properties)){const i=t.properties[e];const n=a[e];if(i.required&&(n===undefined||n===null||n==="")){const t=`Field '${e}' is required in referenced object.`;this.setVisualValidationState(false,t);return{isValid:false,errorMessage:t}}const s=[];const o={};if(i.minLength!==undefined||i.maxLength!==undefined){s.push("length");o["length"]={min:i.minLength,max:i.maxLength}}if(i.pattern!==undefined){s.push("pattern");o["pattern"]={regex:i.pattern}}if(i.minimum!==undefined||i.maximum!==undefined){s.push("range");o["range"]={min:i.minimum,max:i.maximum}}const l=i.ui?.format;if(l==="email"||l==="url"||l==="iban"){s.push(l)}if(s.length>0){const t=r.executeValidation(n,s,o);if(!t.isValid){const i=`Field '${e}' in reference: ${t.errorMessage}`;this.setVisualValidationState(false,i);return{isValid:false,errorMessage:i}}}}this.setVisualValidationState(true);return{isValid:true}}getValue(){return null}applyState(){if(this.control&&this.metadata){this.control.setEnabled(!this.metadata.ui?.readOnly)}}}var s={__esModule:true};s.ReferencePlugin=a;return s});
69
- 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 o=n(e);function s(t){return t!==null&&typeof t.getValue==="function"}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),htmlText:this.generateBindingInfo(e,n)});this.applyCommonDirectives(this.control,t,n);return this.control}this.control=new o({id:this.generateStableId(a,e),value:this.generateBindingInfo(e,n),schemaMetadata:t,readOnly:!!t.ui?.readOnly});this.applyCommonDirectives(this.control,t,n);if(s(this.control)&&this.control.attachCapture){this.control.attachCapture(()=>{const t=this.validateAndApplyVisualState();if(this.onChange){this.onChange(t.isValid,this.fieldKey)}})}return this.control}getValue(){if(s(this.control)){return this.control.getValue()}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=r;return l});
70
- 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 l extends a{render(t,e,n="meta",a,l){this.onChange=l;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.attachCapture(()=>{const t=this.validateAndApplyVisualState();if(this.onChange){this.onChange(t.isValid,this.fieldKey)}});return this.control}getValue(){return this.control?this.control.getValue():null}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;this.control.setProperty("readOnly",!!this.metadata.ui?.readOnly)}}}var r={__esModule:true};r.SignaturePlugin=l;return r});
71
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin", ["./BasePlugin","sap/m/Slider","sap/m/Text"],function(t,e,i){"use strict";const n=t["BasePlugin"];class a extends n{render(t,n,a="meta",s,l){this.onChange=l;this.metadata=t;this.fieldKey=n.startsWith("/")?n.substring(1):n;if(!this.isEditable){this.control=new i({id:this.generateStableId(s,n),text:this.generateBindingInfo(n,a)});this.applyCommonDirectives(this.control,t,a);return this.control}this.control=new e({id:this.generateStableId(s,n),value:this.generateBindingInfo(n,a),enabled:!t.ui?.readOnly,min:t.minimum!==undefined?t.minimum:0,max:t.maximum!==undefined?t.maximum:100,step:t.multipleOf!==undefined?t.multipleOf:1,enableTickmarks:true,change:t=>{const e=t.getParameter("value");const i=this.validateAndApplyVisualState();if(this.onChange){this.onChange(i.isValid,this.fieldKey)}}});this.applyCommonDirectives(this.control,t,a);return this.control}getValue(){return this.control?this.control.getValue():0}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;this.control.setEnabled(!this.metadata.ui?.readOnly)}}}var s={__esModule:true};s.SliderPlugin=a;return s});
72
- 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 n=t["BasePlugin"];class s extends n{render(t,n,s="meta",a,r){this.onChange=r;this.metadata=t;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,t,s);return this.control}this.control=new e({id:this.generateStableId(a,n),value:this.generateBindingInfo(n,s),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.validateAndApplyVisualState();if(this.onChange){this.onChange(i.isValid,this.fieldKey)}}});this.applyCommonDirectives(this.control,t,s);return this.control}getValue(){return this.control?this.control.getValue():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=s;return a});
73
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin", ["./BasePlugin","sap/m/Input","sap/m/Text"],function(t,e,i){"use strict";const n=t["BasePlugin"];class a extends n{render(t,n,a="meta",s,r){this.onChange=r;this.metadata=t;this.fieldKey=n.replace("/","");if(!this.isEditable){this.control=new i({id:this.generateStableId(s,n),text:this.generateBindingInfo(n,a)});this.applyCommonDirectives(this.control,t,a);return this.control}this.control=new e({id:this.generateStableId(s,n),value:this.generateBindingInfo(n,a),maxLength:t.maxLength||0,required:!!t.required,showValueHelp:t.ui?.widget==="searchHelp",change:t=>{const e=t.getParameter("value");const i=this.validateAndApplyVisualState();if(this.onChange){this.onChange(i.isValid,this.fieldKey)}}});this.applyCommonDirectives(this.control,t,a);return this.control}getValue(){return this.control?this.control.getValue():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 s={__esModule:true};s.StringPlugin=a;return s});
74
- 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.validateAndApplyVisualState();if(this.onChange){this.onChange(i.isValid,this.fieldKey)}}});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});
75
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin", ["./BasePlugin","sap/m/TextArea","sap/m/Text"],function(t,e,i){"use strict";const n=t["BasePlugin"];class a extends n{render(t,n,a="meta",s,h){this.onChange=h;this.metadata=t;this.fieldKey=n.replace("/","");if(!this.isEditable){this.control=new i({id:this.generateStableId(s,n),text:this.generateBindingInfo(n,a)});this.applyCommonDirectives(this.control,t,a);return this.control}this.control=new e({id:this.generateStableId(s,n),value:this.generateBindingInfo(n,a),maxLength:t.maxLength||0,required:!!t.required,rows:3,growing:false,change:t=>{this.updateHeight(t.getSource());const e=this.validateAndApplyVisualState();if(this.onChange){this.onChange(e.isValid,this.fieldKey)}},liveChange:t=>{this.updateHeight(t.getSource())}});this.control.attachEventOnce("modelContextChange",()=>{const t=this.control.getBinding("value");const e=()=>{if(this.control){this.updateHeight(this.control)}};if(t){t.attachChange(e)}e()});this.applyCommonDirectives(this.control,t,a);return this.control}updateHeight(t){const e=t.getValue()||"";const i=e.split(/\r\n|\r|\n/).length;const n=Math.ceil(e.length/80);const a=Math.max(i,n);t.setRows(Math.max(3,a+2))}getValue(){return this.control?this.control.getValue():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 s={__esModule:true};s.TextAreaPlugin=a;return s});
76
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin", ["./BasePlugin","sap/m/TimePicker","sap/m/Text"],function(t,e,i){"use strict";const s=t["BasePlugin"];class a extends s{render(t,s,a="meta",n,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(n,s),text:this.generateBindingInfo(s,a,"sap.ui.model.type.Time",{formatOptions:{source:{pattern:"HH:mm:ss"},pattern:"HH:mm:ss"}})});this.applyCommonDirectives(this.control,t,a);return this.control}this.control=new e({id:this.generateStableId(n,s),value:this.generateBindingInfo(s,a,"sap.ui.model.type.Time",{formatOptions:{source:{pattern:"HH:mm:ss"},pattern:"HH:mm:ss"}}),displayFormat:"HH:mm:ss",editable:!t.ui?.readOnly,required:t.required,change:t=>{const e=t.getParameter("value");const i=this.validateAndApplyVisualState();if(this.onChange){this.onChange(i.isValid,this.fieldKey)}}});this.applyCommonDirectives(this.control,t,a);return this.control}getValue(){return this.control?this.control.getValue():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 n={__esModule:true};n.TimePlugin=a;return n});
77
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin", ["../controls/BasePlugin","../../controls/VoiceInputControl","sap/m/Text"],function(t,e,n){"use strict";function i(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}const a=t["BasePlugin"];const s=i(e);class r extends a{render(t,e,i="meta",a,r){this.onChange=r;this.metadata=t;this.fieldKey=e.replace("/","");this.modelName=i;if(!this.isEditable){this.control=new n({id:this.generateStableId(a,e),text:this.generateBindingInfo(e,i,undefined,{formatter:t=>{if(!t||t==="undefined"||t==="null")return"";return t}})});this.applyCommonDirectives(this.control,t,i);return this.control}this.control=new s({id:this.generateStableId(a,e),value:this.generateBindingInfo(e,i),schemaMetadata:t,readOnly:!!t.ui?.readOnly});this.applyCommonDirectives(this.control,t,i);this.control.attachCapture(()=>{const t=this.validateAndApplyVisualState();if(this.onChange){this.onChange(t.isValid,this.fieldKey)}});return this.control}getValue(){return this.control?this.control.getValue():null}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;this.control.setProperty("readOnly",!!this.metadata.ui?.readOnly)}}}var o={__esModule:true};o.VoiceInputPlugin=r;return o});
65
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin", ["./BasePlugin","../../constants/MetaUIConstants","sap/m/MultiInput","sap/m/Token","sap/m/Text","../../utils/Logger"],function(t,e,n,i,s,o){"use strict";const r=t["BasePlugin"];const a=e["UI5_AGGREGATION"];const l=o["Logger"];class u extends r{render(t,e,o="meta",r,u){this.onChange=u;this.metadata=t;this.fieldKey=e.startsWith("/")?e.substring(1):e;this.modelName=o;if(!this.isEditable){this.control=new s({id:this.generateStableId(r,e),text:this.generateBindingInfo(e,o,undefined,{formatter:t=>Array.isArray(t)?t.join(", "):""})});this.applyCommonDirectives(this.control,t,o);return this.control}const d=this;const c=new n({id:this.generateStableId(r,e),enabled:!t.ui?.readOnly,placeholder:t.ui?.label||"Type and press Enter...",showValueHelp:false,tokenUpdate:t=>{const e=t.getParameter("type");const n=t.getSource();if(e==="removed"){const e=t.getParameter("removedTokens");const i=e.map(t=>t.getText());const s=d.getNativeBindingContext(n);if(s){const{model:t,absPath:e}=s;const o=t.getProperty(e)||[];const r=o.filter(t=>!i.includes(t));l.debug(`[MultiInputPlugin] Removing tokens from absolute path: ${e}`,i.join(", "),"MultiInputPlugin");d.syncTokensToModel(n,r)}}}});if(typeof c.attachSubmit==="function"){c.attachSubmit(t=>{const e=t.getSource();const n=(t.getParameter("value")||e.getProperty("value")).trim();if(n){const t=d.getNativeBindingContext(e);if(t){const{model:i,absPath:s}=t;const o=i.getProperty(s)||[];if(!o.includes(n)){const t=[...o,n];l.debug(`[MultiInputPlugin] submit (Enter) fired. Adding token to absolute path: ${s}`,n,"MultiInputPlugin");e.setValue("");d.syncTokensToModel(e,t)}else{e.setValue("")}}}})}c.addValidator(function(t){return null});c.bindAggregation(a.TOKENS,this.generateBindingInfo(e,o,undefined,{factory:(t,e)=>{const n=e.getObject()||"";return new i(t,{key:n,text:n})}}));this.control=c;this.applyCommonDirectives(this.control,t,o);return this.control}getNativeBindingContext(t){const e=t.getBinding(a.TOKENS);if(!e){l.error("[MultiInputPlugin] token list binding is completely missing on the source clone.");return null}const n=e.getModel();if(!n){l.error("[MultiInputPlugin] Failed to resolve underlying JSONModel from ListBinding.");return null}let i;const s=e.getContext();const o=e.getPath();if(s){const t=s.getPath();i=t.endsWith("/")?t+o:t==="/"?"/"+o:t+"/"+o}else{i=o.startsWith("/")?o:"/"+o}return{model:n,absPath:i}}syncTokensToModel(t,e){const n=this.getNativeBindingContext(t);if(!n)return;const{model:i,absPath:s}=n;i.setProperty(s,e);i.refresh(true);if(this.onChange){const t=this.validate();this.onChange(t.isValid,this.fieldKey,t.errorMessage)}}getValue(){if(!this.control)return[];const t=this.control.getTokens();return t.map(t=>t.getText())}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;this.control.setEnabled(!this.metadata.ui?.readOnly)}}}var d={__esModule:true};d.MultiInputPlugin=u;return d});
66
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin", ["./BasePlugin","sap/m/MultiComboBox","sap/ui/core/Item","sap/m/Text"],function(t,e,i,n){"use strict";const s=t["BasePlugin"];class a extends s{render(t,s,a="meta",r,o){this.onChange=o;this.metadata=t;this.fieldKey=s.startsWith("/")?s.substring(1):s;if(!this.isEditable){this.control=new n({id:this.generateStableId(r,s),text:this.generateBindingInfo(s,a,undefined,{formatter:t=>Array.isArray(t)?t.join(", "):""})});this.applyCommonDirectives(this.control,t,a);return this.control}const l=new e({id:this.generateStableId(r,s),selectedKeys:this.generateBindingInfo(s,a),enabled:!t.ui?.readOnly,placeholder:t.ui?.label||"Select items...",selectionChange:t=>{const e=this.control.getSelectedKeys();const i=this.validate();if(this.onChange){this.onChange(i.isValid,this.fieldKey,i.errorMessage)}}});if(t.enum){t.enum.forEach(t=>{l.addItem(new i({key:t.toString(),text:t.toString()}))})}this.control=l;this.applyCommonDirectives(this.control,t,a);return this.control}getValue(){return this.control?this.control.getSelectedKeys():[]}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;this.control.setEnabled(!this.metadata.ui?.readOnly)}}}var r={__esModule:true};r.MultiSelectPlugin=a;return r});
67
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin", ["./BasePlugin","sap/m/Input","sap/m/Text","sap/ui/model/type/Float","sap/ui/model/type/Integer","sap/m/StepInput"],function(e,t,i,n,a,s){"use strict";const r=e["BasePlugin"];class l extends r{render(e,r,l="meta",o,u){this.onChange=u;this.metadata=e;this.fieldKey=r.startsWith("/")?r.substring(1):r;if(!this.isEditable){this.control=new i({id:this.generateStableId(o,r),text:this.generateBindingInfo(r,l)});this.applyCommonDirectives(this.control,e,l);return this.control}let d;if(e.type==="integer"){d=new a({groupingEnabled:false})}else{d=new n({groupingEnabled:false,minFractionDigits:e.scale!==undefined?e.scale:0,maxFractionDigits:e.scale!==undefined?e.scale:9})}const h=e=>{const t=e.getParameter("value");const i=this.validate();if(this.onChange){this.onChange(i.isValid,this.fieldKey,i.errorMessage)}};if(e.ui?.widget==="stepInput"){this.control=new s({id:this.generateStableId(o,r),value:{path:r,model:l,type:d},editable:!e.ui?.readOnly,required:!!e.required,change:h})}else{this.control=new t({id:this.generateStableId(o,r),value:{path:r,model:l,type:d},type:"Number",editable:!e.ui?.readOnly,required:!!e.required,change:h})}this.applyCommonDirectives(this.control,e,l);return this.control}getValue(){if(!this.control)return null;const e=this.control;const t=e.getBinding("value");if(t&&typeof t.getValue==="function"){return t.getValue()}return e.getProperty("value")}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 o={__esModule:true};o.NumberPlugin=l;return o});
68
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin", ["./BasePlugin","sap/m/Button","../../constants/MetaUIConstants"],function(t,e,i){"use strict";const s=t["BasePlugin"];const a=i["SCHEMA_TYPE"];const n=i["UI5_EVENT"];class o extends s{render(t,i,s="meta",o,r){this.onChange=r;this.metadata=t;const l=i.startsWith("/")?i.substring(1):i;const u={type:a.OBJECT,title:t.ui?.label||l,properties:t.properties||{}};if(t.uiLayout){u.uiLayout=t.uiLayout}this.control=new e({id:this.generateStableId(o,i),text:!this.isEditable?"View Details":"Edit Details",icon:!this.isEditable?"sap-icon://display":"sap-icon://form",press:e=>{const a=e.getSource();const o=a.getModel(s);if(!o)return;const r=a.getBindingContext(s);let c=i;if(r&&!i.startsWith("/")){const t=r.getPath();c=t.endsWith("/")?t+i:t==="/"?"/"+i:t+"/"+i}const d=JSON.parse(JSON.stringify(o.getProperty(c)||{}));sap.ui.require(["nz/co/siliconst/ui5/metaui/controls/DynamicHost"],e=>{const i=new e({schemaDefinition:u,data:d,editable:this.isEditable,layoutBudget:this.metadata?.ui?.layoutBudget||0});if(!!this.isEditable){i.attachEvent(n.SUBMIT,t=>{const e=t.getParameter("payload");o.setProperty(c,e);if(this.onChange){this.onChange(true,l)}})}const s=t.ui?.dialogButtonText||(!this.isEditable?"Close":"OK");i.openInDialog(`Nested Details: ${t.ui?.label||l}`,s)})}});return this.control}validate(){return{isValid:true}}getValue(){return null}applyState(){}}var r={__esModule:true};r.ObjectPlugin=o;return r});
69
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin", ["./BasePlugin","sap/m/Input","sap/m/Text"],function(t,e,i){"use strict";const a=t["BasePlugin"];class s extends a{render(t,a,s="meta",n,r){this.onChange=r;this.metadata=t;this.fieldKey=a.replace("/","");if(!this.isEditable){this.control=new i({id:this.generateStableId(n,a),text:"********"});this.applyCommonDirectives(this.control,t,s);return this.control}this.control=new e({id:this.generateStableId(n,a),value:this.generateBindingInfo(a,s),type:"Password",maxLength:t.maxLength||0,required:!!t.required,change:t=>{const e=this.validate();if(this.onChange)this.onChange(e.isValid,this.fieldKey,e.errorMessage)}});this.applyCommonDirectives(this.control,t,s);return this.control}getValue(){return this.control&&this.control.getMetadata().getName()==="sap.m.Input"?this.control.getProperty("value"):null}applyState(){if(!this.control||!this.metadata||this.control.getMetadata().getName()!=="sap.m.Input")return;const t=this.control;t.setEditable(!this.metadata.ui?.readOnly);t.setRequired(!!this.metadata.required)}}var n={__esModule:true};n.PasswordPlugin=s;return n});
70
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin", ["./BasePlugin","sap/m/RatingIndicator","sap/m/Text"],function(t,e,i){"use strict";const n=t["BasePlugin"];class a extends n{render(t,n,a="meta",s,r){this.onChange=r;this.metadata=t;this.fieldKey=n.startsWith("/")?n.substring(1):n;if(!this.isEditable){this.control=new i({id:this.generateStableId(s,n),text:this.generateBindingInfo(n,a)});this.applyCommonDirectives(this.control,t,a);return this.control}this.control=new e({id:this.generateStableId(s,n),value:this.generateBindingInfo(n,a),enabled:!t.ui?.readOnly,maxValue:t.maximum!==undefined?t.maximum:5,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,a);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 s={__esModule:true};s.RatingIndicatorPlugin=a;return s});
71
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin", ["./BasePlugin","../../constants/MetaUIConstants","sap/m/Button","../../core/PipelineManager","../../utils/Logger"],function(e,t,n,i,s){"use strict";const a=e["BasePlugin"];const r=t["UI5_EVENT"];const o=i["GlobalPipeline"];const l=s["Logger"];class u extends a{_asHost(e){const t=e;if(typeof t.getSchemaDefinition==="function"){return t}return null}findParentHost(e){let t=e.getParent();while(t){if(this._asHost(t)){return t}t=t.getParent()}return null}render(e,t,i="meta",s,a){this.onChange=a;this.metadata=e;const o=t.startsWith("/")?t.substring(1):t;const u=e.ui?.label||o;this.control=new n({id:this.generateStableId(s,t),text:!this.isEditable?`View Link: ${u}`:`Edit Link: ${u}`,icon:"sap-icon://chain-link",press:n=>{const s=n.getSource();if(!this.metadata?.$ref){l.error(`[ReferencePlugin] FATAL: this.metadata.$ref is MISSING or UNDEFINED! Cannot resolve child schema.`);return}const a=this.findParentHost(s);const c=a?this._asHost(a):null;if(!c){l.error("[ReferencePlugin] FATAL: Could not locate parent GeneratorHost via duck typing `getSchemaDefinition`.");return}const d=c.getSchemaDefinition(this.metadata.$ref);if(!d){const e=Object.keys(c.getProperty("schemaDefinitions")||{});l.error(`[ReferencePlugin] FATAL: Schema definition not found for reference: ${this.metadata.$ref}. Dumping parent schemaDefinitions keys: ${e.join(", ")}`);return}const f=s.getModel(i);if(!f){l.error(`[ReferencePlugin] FATAL: Could not get JSONModel named '${i}' from the button.`);return}const h=s.getBindingContext(i);let g=t;if(h&&!t.startsWith("/")){const e=h.getPath();g=e.endsWith("/")?e+t:e==="/"?"/"+t:e+"/"+t}const m=f.getProperty(g);const p=m?JSON.parse(JSON.stringify(m)):{};sap.ui.require(["nz/co/siliconst/ui5/metaui/controls/DynamicHost"],t=>{const n=t.default||t;const i=new n({schemaDefinition:d,schemaDefinitions:c.getProperty("schemaDefinitions"),data:p,editable:this.isEditable,useMessageManager:this.useMessageManager});i.attachEvent("validationError",e=>{c.fireEvent("validationError",e.getParameters())});i.attachEvent("validationSuccess",e=>{c.fireEvent("validationSuccess",e.getParameters())});if(!!this.isEditable){i.attachEvent(r.SUBMIT,e=>{const t=e.getParameter("payload");f.setProperty(g,t);if(this.onChange){this.onChange(true,o)}})}const a=e.ui?.dialogButtonText||(!this.isEditable?"Close":"OK");try{i.openInDialog(`Nested Link: ${u}`,a,undefined,undefined,s)}catch(e){l.error(`[ReferencePlugin] FATAL ERROR CALLING openInDialog:`,e.message)}})}});return this.control}validate(){if(!this.metadata?.$ref||!this.control)return{isValid:true};const e=this.findParentHost(this.control);const t=e?this._asHost(e):null;if(!t)return{isValid:true};const n=t.getSchemaDefinition(this.metadata.$ref);if(!n||!n.properties)return{isValid:true};const i=this.control.getModel(this.modelName);if(!i)return{isValid:true};let s=this.getAbsoluteBindingPath();const a=i.getProperty(s)||{};for(const e of Object.keys(n.properties)){const t=n.properties[e];const i=a[e];if(t.required&&(i===undefined||i===null||i==="")){const t=`Field '${e}' is required in referenced object.`;this.setVisualValidationState(false,t);return{isValid:false,errorMessage:t}}const s=[];const r={};if(t.maxLength!==undefined){s.push("maxLength");r["maxLength"]=t.maxLength}if(t.minLength!==undefined){s.push("minLength");r["minLength"]=t.minLength}if(t.pattern!==undefined){s.push("pattern");r["pattern"]={regex:t.pattern}}if(t.minimum!==undefined||t.maximum!==undefined){s.push("range");r["range"]={min:t.minimum,max:t.maximum}}const l=t.ui?.format;if(l==="email"||l==="url"||l==="iban"){s.push(l)}if(s.length>0){const t=o.executeValidation(i,s,r);if(!t.isValid){const n=`Field '${e}' in reference: ${t.errorMessage}`;this.setVisualValidationState(false,n);return{isValid:false,errorMessage:n}}}}this.setVisualValidationState(true);return{isValid:true}}getValue(){return null}applyState(){if(this.control&&this.metadata){this.control.setEnabled(!this.metadata.ui?.readOnly)}}}var c={__esModule:true};c.ReferencePlugin=u;return c});
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
+ 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
+ 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});
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
+ 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
+ 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});
79
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin", ["./BasePlugin","sap/m/TimePicker","sap/m/Text"],function(t,e,i){"use strict";const s=t["BasePlugin"];class a extends s{render(t,s,a="meta",r,n){this.onChange=n;this.metadata=t;this.fieldKey=s.startsWith("/")?s.substring(1):s;if(!this.isEditable){this.control=new i({id:this.generateStableId(r,s),text:this.generateBindingInfo(s,a,"sap.ui.model.type.Time",{formatOptions:{source:{pattern:"HH:mm:ss"},pattern:"HH:mm:ss"}})});this.applyCommonDirectives(this.control,t,a);return this.control}this.control=new e({id:this.generateStableId(r,s),value:this.generateBindingInfo(s,a,"sap.ui.model.type.Time",{formatOptions:{source:{pattern:"HH:mm:ss"},pattern:"HH:mm:ss"}}),displayFormat:"HH:mm:ss",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,a);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 r={__esModule:true};r.TimePlugin=a;return r});
80
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin", ["../controls/BasePlugin","../../controls/VoiceInputControl","sap/m/Text"],function(t,e,n){"use strict";function i(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}const r=t["BasePlugin"];const a=i(e);class s extends r{render(t,e,i="meta",r,s){this.onChange=s;this.metadata=t;this.fieldKey=e.replace("/","");this.modelName=i;if(!this.isEditable){this.control=new n({id:this.generateStableId(r,e),text:this.generateBindingInfo(e,i,undefined,{formatter:t=>{if(!t||t==="undefined"||t==="null")return"";return t}})});this.applyCommonDirectives(this.control,t,i);return this.control}this.control=new a({id:this.generateStableId(r,e),value:this.generateBindingInfo(e,i),schemaMetadata:t,readOnly:!!t.ui?.readOnly});this.applyCommonDirectives(this.control,t,i);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.VoiceInputPlugin=s;return o});
78
81
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin", ["../controls/BasePlugin","sap/m/Input","sap/ui/core/Item","../../utils/Logger"],function(e,t,s,r){"use strict";const a=e["BasePlugin"];const n=r["Logger"];class o extends a{render(e,s,r="meta"){this.metadata=e;const a=new t({value:`{${r}>${s}}`,enabled:!e.ui?.readOnly,placeholder:"Type to search...",showSuggestion:true,suggest:e=>{const t=e.getParameter("suggestValue");this.fetchSuggestions(a,t)},change:e=>{this.validate()}});this.control=a;return this.control}fetchSuggestions(e,t){const r=this.metadata?.valueHelp;if(!r||!r.url){n.error("LiveSearchPlugin requires a valid valueHelp configuration with a URL.","","LiveSearchPlugin");return}if(!t){e.removeAllSuggestionItems();return}e.setBusy(true);fetch(r.url).then(e=>e.json()).then(a=>{const n=r.keyPath||"key";const o=r.textPath||"text";e.removeAllSuggestionItems();const i=t.toLowerCase();const l=a.filter(e=>{const t=String(e[o]||e[n]).toLowerCase();return t.includes(i)});l.forEach(t=>{e.addSuggestionItem(new s({key:String(t[n]),text:String(t[o]||t[n])}))})}).catch(e=>{n.error("Failed to load value help from "+r.url,e.message,"LiveSearchPlugin")}).finally(()=>{e.setBusy(false)})}getValue(){return this.control?this.control.getValue():null}applyState(){if(this.control&&this.metadata){this.control.setEnabled(!this.metadata.ui?.readOnly)}}}var i={__esModule:true};i.LiveSearchPlugin=o;return i});
79
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin", ["../controls/BasePlugin","sap/m/ComboBox","sap/ui/core/Item"],function(e,t,a){"use strict";const l=e["BasePlugin"];class n extends l{render(e,l,n="meta"){this.metadata=e;const s=e.ui?.args||{path:"/",key:"ID",text:"Name"};this.control=new t({selectedKey:`{${n}>${l}}`,enabled:!e.ui?.readOnly,placeholder:e.ui?.label||"Select...",change:e=>{const t=e.getParameter("selectedItem")?.getKey();this.validate()}});this.control.bindAggregation("items",{path:s.path,template:new a({key:`{${s.key}}`,text:`{${s.text}}`}),templateShareable:false});return this.control}getValue(){return this.control?this.control.getSelectedKey():null}applyState(){if(this.control&&this.metadata){this.control.setEnabled(!this.metadata.ui?.readOnly)}}}var s={__esModule:true};s.ODataListBindingPlugin=n;return s});
80
- sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin", ["../controls/BasePlugin","sap/m/Select","sap/ui/core/Item","../../utils/Logger"],function(e,t,r,o){"use strict";const n=e["BasePlugin"];const s=o["Logger"];class a extends n{render(e,o,n="meta",a,i){this.onChange=i;this.metadata=e;const l=e.valueHelp;if(!l||!l.url){s.warn("[MetaUI RemoteDropdownPlugin] No valid URL provided for remoteDropdown.");return new sap.m.Text({text:"Error: No URL provided"})}if(!this.isEditable){sap.ui.requireSync("sap/m/Text");const t=sap.ui.require("sap/m/Text");this.control=new t({id:this.generateStableId(a,o),text:`{${n}>${o}}`});this.applyCommonDirectives(this.control,e,n);return this.control}const d=new t({id:this.generateStableId(a,o),selectedKey:`{${n}>${o}}`,enabled:!e.ui?.readOnly,forceSelection:false,busy:true,change:e=>{const t=this.validate();if(this.onChange){this.onChange(t.isValid,this.fieldKey)}}});d.addItem(new r({key:"",text:"--- Select ---"}));fetch(l.url).then(e=>{if(!e.ok)throw new Error(`HTTP ${e.status}`);return e.json()}).then(e=>{const t=Array.isArray(e)?e:e.value||[];t.forEach(e=>{const t=l.keyPath?e[l.keyPath]:e;const o=l.textPath?e[l.textPath]:e;d.addItem(new r({key:String(t),text:String(o)}))});d.setBusy(false)}).catch(e=>{s.error(`[MetaUI RemoteDropdownPlugin] Failed to fetch remote data from ${l.url}`,e.message);d.addItem(new r({key:"",text:"Error loading data"}));d.setBusy(false)});this.control=d;this.applyCommonDirectives(this.control,e,n);return this.control}getValue(){return this.control?this.control.getSelectedKey():null}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;const e=this.control;e.setEnabled(!this.metadata.ui?.readOnly)}}}var i={__esModule:true};i.RemoteDropdownPlugin=a;return i});
82
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin", ["../controls/BasePlugin","sap/m/ComboBox","sap/ui/core/Item"],function(e,t,a){"use strict";const n=e["BasePlugin"];class l extends n{render(e,n,l="meta"){this.metadata=e;const s=e.ui?.args||{path:"/",key:"ID",text:"Name"};this.control=new t({selectedKey:`{${l}>${n}}`,enabled:!e.ui?.readOnly,placeholder:e.ui?.label||"Select...",change:e=>{const t=e.getParameter("selectedItem");const a=t?.getKey();this.validate()}});this.control.bindAggregation("items",{path:s.path,template:new a({key:`{${s.key}}`,text:`{${s.text}}`}),templateShareable:false});return this.control}getValue(){return this.control?this.control.getSelectedKey():null}applyState(){if(this.control&&this.metadata){this.control.setEnabled(!this.metadata.ui?.readOnly)}}}var s={__esModule:true};s.ODataListBindingPlugin=l;return s});
83
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin", ["../controls/BasePlugin","sap/m/Select","sap/ui/core/Item","../../utils/Logger"],function(e,t,r,s){"use strict";const a=e["BasePlugin"];const n=s["Logger"];class i extends a{render(e,s,a="meta",i,o){this.onChange=o;this.metadata=e;const l=e.valueHelp;if(!l||!l.url){n.warn("[MetaUI RemoteDropdownPlugin] No valid URL provided for remoteDropdown.");return new sap.m.Text({text:"Error: No URL provided"})}if(!this.isEditable){sap.ui.requireSync("sap/m/Text");const t=sap.ui.require("sap/m/Text");this.control=new t({id:this.generateStableId(i,s),text:`{${a}>${s}}`});this.applyCommonDirectives(this.control,e,a);return this.control}const u=new t({id:this.generateStableId(i,s),selectedKey:`{${a}>${s}}`,enabled:!e.ui?.readOnly,forceSelection:false,busy:true});u.attachChange(()=>{const e=this.validate();if(this.onChange){this.onChange(e.isValid,this.fieldKey,e.errorMessage,this.control?.getId())}if(this.useMessageManager){this.setVisualValidationState(e.isValid,e.errorMessage)}});u.addItem(new r({key:"",text:"--- Select ---"}));fetch(l.url).then(e=>{if(!e.ok)throw new Error(`HTTP ${e.status}`);return e.json()}).then(e=>{if(u.bIsDestroyed)return;const t=Array.isArray(e)?e:e.value||[];t.forEach(e=>{const t=l.keyPath?e[l.keyPath]:e;const s=l.textPath?e[l.textPath]:e;u.addItem(new r({key:String(t),text:String(s)}))});u.setBusy(false)}).catch(e=>{if(u.bIsDestroyed)return;n.error(`[MetaUI RemoteDropdownPlugin] Failed to fetch remote data from ${l.url}`,e.message);u.addItem(new r({key:"",text:"Error loading data"}));u.setBusy(false)});this.control=u;this.applyCommonDirectives(this.control,e,a);return this.control}getValue(){if(!this.control)return null;const e=this.control;if(e.getBusy()){const t=e.getBinding("selectedKey");if(t&&typeof t.getValue==="function"){return t.getValue()}}let t=e.getSelectedKey();if(this.metadata&&(this.metadata.type==="number"||this.metadata.type==="integer")){if(t===""||t===null||t===undefined)return null;return Number(t)}return t}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;const e=this.control;e.setEnabled(!this.metadata.ui?.readOnly)}}}var o={__esModule:true};o.RemoteDropdownPlugin=i;return o});
81
84
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin", ["../controls/BasePlugin","sap/m/ComboBox","sap/ui/core/Item","../../utils/Logger"],function(e,t,a,l){"use strict";const s=e["BasePlugin"];const n=l["Logger"];class r extends s{isLoaded=false;render(e,a,l="meta"){this.metadata=e;const s=new t({selectedKey:`{${l}>${a}}`,enabled:!e.ui?.readOnly,placeholder:"Select a country...",change:e=>{const t=e.getParameter("selectedItem");const a=t?t.getKey():e.getParameter("value");this.validate()}});s.attachEventOnce("loadItems",()=>{this.fetchData(s)});this.control=s;return this.control}fetchData(e){const t=this.metadata?.valueHelp;if(!t||!t.url){n.error("RemoteValueHelpPlugin requires a valid valueHelp configuration with a URL.","","RemoteValueHelpPlugin");return}e.setBusy(true);fetch(t.url).then(e=>e.json()).then(l=>{const s=t.keyPath||"key";const n=t.textPath||"text";l.forEach(t=>{e.addItem(new a({key:String(t[s]),text:String(t[n]||t[s])}))})}).catch(e=>{n.error("Failed to load value help from "+t.url,e.message,"RemoteValueHelpPlugin")}).finally(()=>{e.setBusy(false);this.isLoaded=true})}getValue(){return this.control?this.control.getSelectedKey():null}applyState(){if(this.control&&this.metadata){this.control.setEnabled(!this.metadata.ui?.readOnly)}}}var o={__esModule:true};o.RemoteValueHelpPlugin=r;return o});
82
85
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/formatters/CurrencyFormatterPlugin", ["sap/ui/core/format/NumberFormat"],function(r){"use strict";class e{constructor(){this.currencyFormat=r.getCurrencyInstance({showMeasure:false})}format(r,e){if(r===null||r===undefined){return""}return"$"+this.currencyFormat.format(r)}}var t={__esModule:true};t.CurrencyFormatterPlugin=e;return t});
83
86
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/formatters/DateFormatterPlugin", ["sap/ui/core/format/DateFormat"],function(t){"use strict";class e{constructor(){this.dateFormat=t.getDateInstance({style:"medium"})}format(t,e){if(!t)return"";try{const e=new Date(t);return this.dateFormat.format(e)}catch(e){return t}}}var r={__esModule:true};r.DateFormatterPlugin=e;return r});
84
87
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/formatters/PhoneFormatterPlugin", [],function(){"use strict";class r{format(r,t){if(!r||typeof r!=="string")return String(r||"");const e=(""+r).replace(/\D/g,"");const n=e.match(/^(\d{3})(\d{3})(\d{4})$/);if(n){return"("+n[1]+") "+n[2]+"-"+n[3]}return r}}var t={__esModule:true};t.PhoneFormatterPlugin=r;return t});
85
88
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/formatters/TextCaseFormatterPlugin", [],function(){"use strict";class e{format(e,r){if(typeof e!=="string")return String(e||"");return e.toUpperCase()}}var r={__esModule:true};r.TextCaseFormatterPlugin=e;return r});
89
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin", [],function(){"use strict";class r{canHandle(r){return r==="IsNotNull"}evaluate(r,e,n){const t=r;if(!t||!Array.isArray(t))return true;for(const r of t){const t=n(e,r);if(t===undefined||t===null||t==="")return false}return true}}var e={__esModule:true};e.IsNotNullConditionPlugin=r;return e});
90
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin", [],function(){"use strict";class r{canHandle(r){return r==="IsNull"}evaluate(r,e,n){const u=r;if(!u||!Array.isArray(u))return true;for(const r of u){const u=n(e,r);if(u!==undefined&&u!==null&&u!=="")return false}return true}}var e={__esModule:true};e.IsNullConditionPlugin=r;return e});
91
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin", [],function(){"use strict";class e{canHandle(e){return e==="NumericGreaterThan"}evaluate(e,r,n){const t=e;if(!t)return true;for(const[e,u]of Object.entries(t)){const t=n(r,e);const i=this.coerceToNumber(t);if(isNaN(i)||i<=u)return false}return true}coerceToNumber(e){if(e===undefined||e===null||e==="")return NaN;return Number(e)}}var r={__esModule:true};r.NumericGreaterThanConditionPlugin=e;return r});
92
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin", [],function(){"use strict";class e{canHandle(e){return e==="NumericLessThan"}evaluate(e,r,n){const u=e;if(!u)return true;for(const[e,t]of Object.entries(u)){const u=n(r,e);const s=this.coerceToNumber(u);if(isNaN(s)||s>=t)return false}return true}coerceToNumber(e){if(e===undefined||e===null||e==="")return NaN;return Number(e)}}var r={__esModule:true};r.NumericLessThanConditionPlugin=e;return r});
93
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin", [],function(){"use strict";class t{canHandle(t){return t==="StringEquals"}evaluate(t,n,r){const e=t;if(!e)return true;for(const[t,u]of Object.entries(e)){const e=r(n,t);if(String(e)!==String(u))return false}return true}}var n={__esModule:true};n.StringEqualsConditionPlugin=t;return n});
94
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin", [],function(){"use strict";class e{canHandle(e){return e==="Enable"||e==="Disable"}resolveState(e,t){const a=t==="Enable";const n=a?true:false;return{property:"editable",value:e?n:!n}}}var t={__esModule:true};t.EditableEffectPlugin=e;return t});
95
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin", [],function(){"use strict";class e{canHandle(e){return e==="Require"||e==="Optional"}resolveState(e,r){const t=r==="Require";const u=t?true:false;return{property:"required",value:e?u:!u}}}var r={__esModule:true};r.RequirementEffectPlugin=e;return r});
96
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin", [],function(){"use strict";class e{canHandle(e){return e==="Validate"||e==="Invalidate"}resolveState(e,t){const a=t==="Validate";const r=a?true:false;return{property:"validity",value:e?r:!r}}}var t={__esModule:true};t.ValidityEffectPlugin=e;return t});
97
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin", [],function(){"use strict";class e{canHandle(e){return e==="Show"||e==="Hide"}resolveState(e,t){const i=t==="Show";const r=i?true:false;return{property:"visibility",value:e?r:!r}}}var t={__esModule:true};t.VisibilityEffectPlugin=e;return t});
86
98
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/validators/EmailValidatorPlugin", [],function(){"use strict";class e{validate(e,s){if(!e)return{isValid:true};const r=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(typeof e!=="string"||!r.test(e)){return{isValid:false,errorMessage:"Please enter a valid email address."}}return{isValid:true}}}var s={__esModule:true};s.EmailValidatorPlugin=e;return s});
87
99
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/validators/IbanValidatorPlugin", [],function(){"use strict";class e{validate(e,r){if(!e)return{isValid:true};const t=/^[A-Z]{2}\d{2}[A-Z0-9]{1,30}$/;if(typeof e!=="string"||!t.test(e.replace(/\s+/g,"").toUpperCase())){return{isValid:false,errorMessage:"Please enter a valid IBAN."}}return{isValid:true}}}var r={__esModule:true};r.IbanValidatorPlugin=e;return r});
88
100
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/validators/MinLengthValidatorPlugin", [],function(){"use strict";class e{validate(e,r){if(!e)return{isValid:true};if(typeof r!=="number")return{isValid:true};if(typeof e==="string"&&e.length<r){return{isValid:false,errorMessage:`Minimum length is ${r} characters.`}}return{isValid:true}}}var r={__esModule:true};r.MinLengthValidatorPlugin=e;return r});
89
101
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/validators/PatternValidatorPlugin", [],function(){"use strict";class e{validate(e,r){if(!e)return{isValid:true};if(typeof r!=="string"){return{isValid:true}}try{const t=new RegExp(r);if(typeof e!=="string"||!t.test(e)){return{isValid:false,errorMessage:`Input does not match the required pattern.`}}}catch(e){return{isValid:false,errorMessage:`Schema configuration error: Invalid regex pattern.`}}return{isValid:true}}}var r={__esModule:true};r.PatternValidatorPlugin=e;return r});
90
102
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/validators/RangeValidatorPlugin", [],function(){"use strict";class e{validate(e,r){if(e===null||e===undefined)return{isValid:true};if(typeof e!=="number")return{isValid:true};const t=r;const u=t?.min;const n=t?.max;if(u!==undefined&&typeof u==="number"&&e<u){return{isValid:false,errorMessage:`Value must be greater than or equal to ${u}.`}}if(n!==undefined&&typeof n==="number"&&e>n){return{isValid:false,errorMessage:`Value must be less than or equal to ${n}.`}}return{isValid:true}}}var r={__esModule:true};r.RangeValidatorPlugin=e;return r});
91
103
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/validators/UrlValidatorPlugin", [],function(){"use strict";class r{validate(r,t){if(!r)return{isValid:true};if(typeof r!=="string")return{isValid:true};try{const t=new URL(r);if(t.protocol!=="http:"&&t.protocol!=="https:"){return{isValid:false,errorMessage:"URL must use http or https protocol."}}}catch(r){return{isValid:false,errorMessage:"Please enter a valid URL."}}return{isValid:true}}}var t={__esModule:true};t.UrlValidatorPlugin=r;return t});
104
+ sap.ui.predefine("nz/co/siliconst/ui5/metaui/services/SchemaProvider", ["../utils/Logger"],function(e){"use strict";const r=e["Logger"];class t{static async resolve(e){try{const r=await fetch(e);if(!r.ok){throw new Error(`HTTP ${r.status}`)}return await r.json()}catch(e){r.warn("[MetaUI SchemaProvider]","Failed to fetch remote schema: "+e,"SchemaProvider");throw e}}}var a={__esModule:true};a.SchemaProvider=t;return a});
92
105
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/swagger/OpenApiExtractor", ["sap/ui/base/Object"],function(e){"use strict";const t=e.extend("nz.co.siliconst.ui5.metaui.swagger.OpenApiExtractor",{});t.extractTargets=function e(t){const s=[];if(!t||typeof t!=="object"){return s}const o=t;if(typeof o.openapi==="string"&&o.openapi.startsWith("3.")&&o.components&&typeof o.components.schemas==="object"){Object.keys(o.components.schemas).forEach(e=>{s.push({key:"#/components/schemas/"+e,text:"Schema: "+e})})}if(typeof o.swagger==="string"&&o.swagger.startsWith("2.")&&typeof o.definitions==="object"&&o.definitions!==null){Object.keys(o.definitions).forEach(e=>{s.push({key:"#/definitions/"+e,text:"Definition: "+e})})}if(typeof o.paths==="object"&&o.paths!==null){Object.keys(o.paths).forEach(e=>{const t=o.paths[e];if(t&&typeof t==="object"){Object.keys(t).forEach(t=>{const o=e.replace(/\//g,"~1");s.push({key:"#/paths/"+o+"/"+t,text:"Operation: "+t.toUpperCase()+" "+e})})}})}if(s.length>1){let e=-1;let t=-1;const i=o.info;const n=i&&typeof i.title==="string"?i.title.toLowerCase().replace(/[^a-z0-9]/g,""):"";const c=i&&typeof i.title==="string"?i.title.toLowerCase().split(/[\s_-]+/):[];s.forEach((s,i)=>{let f=0;if(s.key.includes("/schemas/")||s.key.includes("/definitions/")){const e=s.key.split("/").pop()||"";const t=e.toLowerCase();const i=t.replace(/[^a-z0-9]/g,"");if(n&&i===n)f+=30;else if(n&&n.includes(i))f+=15;else if(n&&i.includes(n))f+=15;c.forEach(e=>{if(e.length>3&&t.includes(e))f+=5});const r=["root","main","app","application","payload","document"];if(r.some(e=>t.includes(e)))f+=5;let a=null;if(s.key.startsWith("#/components/schemas/")&&typeof o.components==="object"&&o.components!==null){const t=o.components;if(typeof t.schemas==="object"&&t.schemas!==null){a=t.schemas[e]||null}}else if(s.key.startsWith("#/definitions/")&&typeof o.definitions==="object"&&o.definitions!==null){a=o.definitions[e]||null}if(a&&typeof a==="object"){const e=e=>{if(!e||typeof e!=="object")return;const t=e;if(t.properties&&typeof t.properties==="object"){f+=Object.keys(t.properties).length*2;Object.values(t.properties).forEach(e=>{if(e&&typeof e==="object"){const t=e;if(t.$ref)f+=20;if(t.items&&typeof t.items==="object"&&t.items.$ref)f+=20}})}if(t.required&&Array.isArray(t.required)){f+=t.required.length*5}};e(a);if(a.allOf&&Array.isArray(a.allOf)){a.allOf.forEach(e)}if(a.anyOf&&Array.isArray(a.anyOf)){a.anyOf.forEach(e)}if(a.oneOf&&Array.isArray(a.oneOf)){a.oneOf.forEach(e)}}}if(f>e){e=f;t=i}});if(t!==-1&&e>0){const e=s.splice(t,1)[0];e.text=`(Recommended) ${e.text}`;s.unshift(e)}}return s};return t});
93
106
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/utils/ExpressionBuilder", [],function(){"use strict";class e{static build(e,t,r="meta"){if(!e)return"{= true }";let n=e;n=n.replace(/\$root\.([a-zA-Z0-9_.]+)/g,(e,t)=>`\${${r}>/${t.replace(/\./g,"/")}}`);n=n.replace(/(?<!['"\${a-zA-Z0-9_.>/-])([a-zA-Z_][a-zA-Z0-9_.]+)(?!['"a-zA-Z0-9_.(])/g,(e,n)=>{const s=["true","false","null","undefined","Math","String","Number","Array","Object"];if(s.includes(n))return n;let u=t.startsWith("/")?t.substring(1):t;const a=u.split("/");a.pop();const i=a.length>0?a.join("/")+"/":"";return`\${${r}>/${i}${n.replace(/\./g,"/")}}`});return`{= ${n} }`}}var t={__esModule:true};t.ExpressionBuilder=e;return t});
94
107
  sap.ui.predefine("nz/co/siliconst/ui5/metaui/utils/Logger", [],function(){"use strict";class e{static debugMode=false;static logInstance=null;static setDebugMode(e){this.debugMode=e;if(e&&!this.logInstance){sap.ui.require(["sap/base/Log"],e=>{this.logInstance=e})}}static isDebugMode(){return this.debugMode}static debug(e,t,s){if(!this.debugMode)return;if(this.logInstance){this.logInstance.debug(e,t,s||"MetaUI")}else{console.debug(`[MetaUI] ${e}`,t||"")}}static info(e,t,s){if(!this.debugMode)return;if(this.logInstance){this.logInstance.info(e,t,s||"MetaUI")}else{console.info(`[MetaUI] ${e}`,t||"")}}static warn(e,t,s){if(!this.debugMode)return;if(this.logInstance){this.logInstance.warning(e,t,s||"MetaUI")}else{console.warn(`[MetaUI] ${e}`,t||"")}}static error(e,t,s){if(this.logInstance){this.logInstance.error(e,t,s||"MetaUI")}else{console.error(`[MetaUI Error] ${e}`,t||"")}}static showErrorPopup(e,t){if(!this.debugMode)return;sap.ui.require(["sap/m/MessageBox"],s=>{s.error(e,{title:t||"MetaUI Error"})})}}var t={__esModule:true};t.Logger=e;return t});
@@ -101,6 +114,9 @@ sap.ui.require.preload({
101
114
  },
102
115
  "nz/co/siliconst/ui5/metaui/interfaces/IPlugin.js":function(){
103
116
 
117
+ },
118
+ "nz/co/siliconst/ui5/metaui/interfaces/IPolicyPlugin.js":function(){
119
+
104
120
  },
105
121
  "nz/co/siliconst/ui5/metaui/interfaces/ISchema.js":function(){
106
122