@siliconst/metaui 1.0.2 → 1.4.4

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 (588) hide show
  1. package/README.md +203 -123
  2. package/package.json +3 -2
  3. package/src/nz/co/siliconst/ui5/metaui/.library +7 -7
  4. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl-dbg.js +70 -0
  5. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl-dbg.js.map +1 -0
  6. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl.d.ts +67 -0
  7. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl.d.ts.map +1 -0
  8. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl.js +2 -0
  9. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl.js.map +1 -0
  10. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl.ts +58 -0
  11. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer-dbg.js +28 -0
  12. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer-dbg.js.map +1 -0
  13. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.d.ts +16 -0
  14. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.d.ts.map +1 -0
  15. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.js +2 -0
  16. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.js.map +1 -0
  17. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.ts +28 -0
  18. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl-dbg.js +142 -0
  19. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl-dbg.js.map +1 -0
  20. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.d.ts +33 -0
  21. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.d.ts.map +1 -0
  22. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.js +2 -0
  23. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.js.map +1 -0
  24. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.ts +164 -0
  25. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost-dbg.js +266 -0
  26. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost-dbg.js.map +1 -0
  27. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.d.ts +162 -0
  28. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.d.ts.map +1 -0
  29. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.js +2 -0
  30. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.js.map +1 -0
  31. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.ts +203 -0
  32. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl-dbg.js +73 -0
  33. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl-dbg.js.map +1 -0
  34. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.d.ts +32 -0
  35. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.d.ts.map +1 -0
  36. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.js +2 -0
  37. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.js.map +1 -0
  38. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.ts +86 -0
  39. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl-dbg.js +60 -0
  40. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl-dbg.js.map +1 -0
  41. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.d.ts +32 -0
  42. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.d.ts.map +1 -0
  43. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.js +2 -0
  44. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.js.map +1 -0
  45. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.ts +61 -0
  46. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl-dbg.js +157 -0
  47. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl-dbg.js.map +1 -0
  48. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.d.ts +33 -0
  49. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.d.ts.map +1 -0
  50. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.js +2 -0
  51. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.js.map +1 -0
  52. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.ts +169 -0
  53. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl-dbg.js +160 -0
  54. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl-dbg.js.map +1 -0
  55. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.d.ts +28 -0
  56. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.d.ts.map +1 -0
  57. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.js +2 -0
  58. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.js.map +1 -0
  59. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.ts +185 -0
  60. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost-dbg.js +443 -0
  61. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost-dbg.js.map +1 -0
  62. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.d.ts +227 -0
  63. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.d.ts.map +1 -0
  64. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.js +2 -0
  65. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.js.map +1 -0
  66. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.ts +421 -0
  67. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate-dbg.js +103 -0
  68. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate-dbg.js.map +1 -0
  69. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.d.ts +32 -0
  70. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.d.ts.map +1 -0
  71. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.js +2 -0
  72. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.js.map +1 -0
  73. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.ts +119 -0
  74. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate-dbg.js +64 -0
  75. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate-dbg.js.map +1 -0
  76. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.d.ts +21 -0
  77. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.d.ts.map +1 -0
  78. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.js +2 -0
  79. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.js.map +1 -0
  80. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.ts +64 -0
  81. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate-dbg.js +120 -0
  82. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate-dbg.js.map +1 -0
  83. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.d.ts +45 -0
  84. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.d.ts.map +1 -0
  85. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.js +2 -0
  86. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.js.map +1 -0
  87. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.ts +131 -0
  88. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine-dbg.js +76 -43
  89. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine-dbg.js.map +1 -1
  90. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.d.ts +31 -6
  91. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.d.ts.map +1 -1
  92. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.js +1 -1
  93. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.js.map +1 -1
  94. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.ts +75 -40
  95. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator-dbg.js +62 -0
  96. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator-dbg.js.map +1 -0
  97. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.d.ts +26 -0
  98. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.d.ts.map +1 -0
  99. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.js +2 -0
  100. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.js.map +1 -0
  101. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.ts +62 -0
  102. package/src/nz/co/siliconst/ui5/metaui/core/Engine-dbg.js +197 -58
  103. package/src/nz/co/siliconst/ui5/metaui/core/Engine-dbg.js.map +1 -1
  104. package/src/nz/co/siliconst/ui5/metaui/core/Engine.d.ts +63 -9
  105. package/src/nz/co/siliconst/ui5/metaui/core/Engine.d.ts.map +1 -1
  106. package/src/nz/co/siliconst/ui5/metaui/core/Engine.js +1 -1
  107. package/src/nz/co/siliconst/ui5/metaui/core/Engine.js.map +1 -1
  108. package/src/nz/co/siliconst/ui5/metaui/core/Engine.ts +205 -56
  109. package/src/nz/co/siliconst/ui5/metaui/core/LayoutRegistry-dbg.js +32 -0
  110. package/src/nz/co/siliconst/ui5/metaui/core/LayoutRegistry-dbg.js.map +1 -0
  111. package/src/nz/co/siliconst/ui5/metaui/core/LayoutRegistry.d.ts +16 -0
  112. package/src/nz/co/siliconst/ui5/metaui/core/LayoutRegistry.d.ts.map +1 -0
  113. package/src/nz/co/siliconst/ui5/metaui/core/LayoutRegistry.js +2 -0
  114. package/src/nz/co/siliconst/ui5/metaui/core/LayoutRegistry.js.map +1 -0
  115. package/src/nz/co/siliconst/ui5/metaui/core/LayoutRegistry.ts +26 -0
  116. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager-dbg.js +123 -0
  117. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager-dbg.js.map +1 -0
  118. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.d.ts +49 -0
  119. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.d.ts.map +1 -0
  120. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.js +2 -0
  121. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.js.map +1 -0
  122. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.ts +106 -0
  123. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry-dbg.js +151 -59
  124. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry-dbg.js.map +1 -1
  125. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.d.ts +23 -13
  126. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.d.ts.map +1 -1
  127. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.js +1 -1
  128. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.js.map +1 -1
  129. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.ts +160 -56
  130. package/src/nz/co/siliconst/ui5/metaui/core/Registry-dbg.js +79 -0
  131. package/src/nz/co/siliconst/ui5/metaui/core/Registry-dbg.js.map +1 -0
  132. package/src/nz/co/siliconst/ui5/metaui/core/Registry.d.ts +43 -0
  133. package/src/nz/co/siliconst/ui5/metaui/core/Registry.d.ts.map +1 -0
  134. package/src/nz/co/siliconst/ui5/metaui/core/Registry.js +2 -0
  135. package/src/nz/co/siliconst/ui5/metaui/core/Registry.js.map +1 -0
  136. package/src/nz/co/siliconst/ui5/metaui/core/Registry.ts +70 -0
  137. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer-dbg.js +196 -36
  138. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer-dbg.js.map +1 -1
  139. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.d.ts +14 -8
  140. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.d.ts.map +1 -1
  141. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.js +1 -1
  142. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.js.map +1 -1
  143. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.ts +208 -31
  144. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator-dbg.js +54 -0
  145. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator-dbg.js.map +1 -0
  146. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.d.ts +11 -0
  147. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.d.ts.map +1 -0
  148. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.js +2 -0
  149. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.js.map +1 -0
  150. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.ts +53 -0
  151. package/src/nz/co/siliconst/ui5/metaui/core/StateManager-dbg.js +141 -55
  152. package/src/nz/co/siliconst/ui5/metaui/core/StateManager-dbg.js.map +1 -1
  153. package/src/nz/co/siliconst/ui5/metaui/core/StateManager.d.ts +15 -1
  154. package/src/nz/co/siliconst/ui5/metaui/core/StateManager.d.ts.map +1 -1
  155. package/src/nz/co/siliconst/ui5/metaui/core/StateManager.js +1 -1
  156. package/src/nz/co/siliconst/ui5/metaui/core/StateManager.js.map +1 -1
  157. package/src/nz/co/siliconst/ui5/metaui/core/StateManager.ts +158 -56
  158. package/src/nz/co/siliconst/ui5/metaui/interfaces/ILayoutManager-dbg.js +1 -1
  159. package/src/nz/co/siliconst/ui5/metaui/interfaces/ILayoutManager-dbg.js.map +1 -1
  160. package/src/nz/co/siliconst/ui5/metaui/interfaces/ILayoutManager.d.ts +7 -14
  161. package/src/nz/co/siliconst/ui5/metaui/interfaces/ILayoutManager.d.ts.map +1 -1
  162. package/src/nz/co/siliconst/ui5/metaui/interfaces/ILayoutManager.ts +21 -26
  163. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPipeline-dbg.js +2 -0
  164. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPipeline-dbg.js.map +1 -0
  165. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPipeline.d.ts +38 -0
  166. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPipeline.d.ts.map +1 -0
  167. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPipeline.js +2 -0
  168. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPipeline.js.map +1 -0
  169. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPipeline.ts +39 -0
  170. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin-dbg.js +1 -1
  171. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin-dbg.js.map +1 -1
  172. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin.d.ts +34 -15
  173. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin.d.ts.map +1 -1
  174. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin.ts +55 -33
  175. package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema-dbg.js +1 -1
  176. package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema-dbg.js.map +1 -1
  177. package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.d.ts +63 -44
  178. package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.d.ts.map +1 -1
  179. package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.ts +102 -70
  180. package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout-dbg.js +144 -0
  181. package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout-dbg.js.map +1 -0
  182. package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout.d.ts +27 -0
  183. package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout.d.ts.map +1 -0
  184. package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout.js +2 -0
  185. package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout.js.map +1 -0
  186. package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout.ts +139 -0
  187. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout-dbg.js +169 -56
  188. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout-dbg.js.map +1 -1
  189. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.d.ts +19 -12
  190. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.d.ts.map +1 -1
  191. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.js +1 -1
  192. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.js.map +1 -1
  193. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.ts +161 -60
  194. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout-dbg.js +169 -90
  195. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout-dbg.js.map +1 -1
  196. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.d.ts +21 -12
  197. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.d.ts.map +1 -1
  198. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.js +1 -1
  199. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.js.map +1 -1
  200. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.ts +188 -102
  201. package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout-dbg.js +125 -0
  202. package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout-dbg.js.map +1 -0
  203. package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout.d.ts +28 -0
  204. package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout.d.ts.map +1 -0
  205. package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout.js +2 -0
  206. package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout.js.map +1 -0
  207. package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout.ts +127 -0
  208. package/src/nz/co/siliconst/ui5/metaui/library-dbg.js +48 -32
  209. package/src/nz/co/siliconst/ui5/metaui/library-dbg.js.map +1 -1
  210. package/src/nz/co/siliconst/ui5/metaui/library-preload.js +72 -20
  211. package/src/nz/co/siliconst/ui5/metaui/library-preload.js.map +1 -1
  212. package/src/nz/co/siliconst/ui5/metaui/library.d.ts +1 -0
  213. package/src/nz/co/siliconst/ui5/metaui/library.d.ts.map +1 -1
  214. package/src/nz/co/siliconst/ui5/metaui/library.js +1 -1
  215. package/src/nz/co/siliconst/ui5/metaui/library.js.map +1 -1
  216. package/src/nz/co/siliconst/ui5/metaui/library.ts +68 -43
  217. package/src/nz/co/siliconst/ui5/metaui/manifest.json +9 -1
  218. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin-dbg.js +58 -0
  219. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin-dbg.js.map +1 -0
  220. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.d.ts +22 -0
  221. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.d.ts.map +1 -0
  222. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.js +2 -0
  223. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.js.map +1 -0
  224. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.ts +57 -0
  225. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin-dbg.js +55 -0
  226. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin-dbg.js.map +1 -0
  227. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin.d.ts +21 -0
  228. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin.d.ts.map +1 -0
  229. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin.js +2 -0
  230. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin.js.map +1 -0
  231. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin.ts +54 -0
  232. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin-dbg.js +46 -0
  233. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin-dbg.js.map +1 -0
  234. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin.d.ts +23 -0
  235. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin.d.ts.map +1 -0
  236. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin.js +2 -0
  237. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin.js.map +1 -0
  238. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin.ts +45 -0
  239. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin-dbg.js +74 -0
  240. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin-dbg.js.map +1 -0
  241. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.d.ts +15 -0
  242. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.d.ts.map +1 -0
  243. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.js +2 -0
  244. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.js.map +1 -0
  245. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.ts +80 -0
  246. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin-dbg.js +75 -0
  247. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin-dbg.js.map +1 -0
  248. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.d.ts +12 -0
  249. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.d.ts.map +1 -0
  250. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.js +2 -0
  251. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.js.map +1 -0
  252. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.ts +83 -0
  253. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin-dbg.js +174 -0
  254. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin-dbg.js.map +1 -0
  255. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.d.ts +78 -0
  256. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.d.ts.map +1 -0
  257. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.js +2 -0
  258. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.js.map +1 -0
  259. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.ts +165 -0
  260. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin-dbg.js +79 -0
  261. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin-dbg.js.map +1 -0
  262. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.d.ts +36 -0
  263. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.d.ts.map +1 -0
  264. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.js +2 -0
  265. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.js.map +1 -0
  266. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.ts +77 -0
  267. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin-dbg.js +60 -0
  268. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin-dbg.js.map +1 -0
  269. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.d.ts +11 -0
  270. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.d.ts.map +1 -0
  271. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.js +2 -0
  272. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.js.map +1 -0
  273. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.ts +56 -0
  274. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin-dbg.js +122 -0
  275. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin-dbg.js.map +1 -0
  276. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.d.ts +24 -0
  277. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.d.ts.map +1 -0
  278. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.js +2 -0
  279. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.js.map +1 -0
  280. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.ts +125 -0
  281. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin-dbg.js +78 -0
  282. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin-dbg.js.map +1 -0
  283. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.d.ts +18 -0
  284. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.d.ts.map +1 -0
  285. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.js +2 -0
  286. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.js.map +1 -0
  287. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.ts +74 -0
  288. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin-dbg.js +78 -0
  289. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin-dbg.js.map +1 -0
  290. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.d.ts +18 -0
  291. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.d.ts.map +1 -0
  292. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.js +2 -0
  293. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.js.map +1 -0
  294. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.ts +75 -0
  295. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin-dbg.js +109 -0
  296. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin-dbg.js.map +1 -0
  297. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.d.ts +37 -0
  298. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.d.ts.map +1 -0
  299. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.js +2 -0
  300. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.js.map +1 -0
  301. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.ts +105 -0
  302. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin-dbg.js +65 -0
  303. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin-dbg.js.map +1 -0
  304. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.d.ts +21 -0
  305. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.d.ts.map +1 -0
  306. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.js +2 -0
  307. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.js.map +1 -0
  308. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.ts +64 -0
  309. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin-dbg.js +59 -0
  310. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin-dbg.js.map +1 -0
  311. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.d.ts +11 -0
  312. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.d.ts.map +1 -0
  313. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.js +2 -0
  314. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.js.map +1 -0
  315. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.ts +56 -0
  316. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin-dbg.js +45 -0
  317. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin-dbg.js.map +1 -0
  318. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.d.ts +22 -0
  319. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.d.ts.map +1 -0
  320. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.js +2 -0
  321. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.js.map +1 -0
  322. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.ts +42 -0
  323. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin-dbg.js +74 -0
  324. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin-dbg.js.map +1 -0
  325. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.d.ts +22 -0
  326. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.d.ts.map +1 -0
  327. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.js +2 -0
  328. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.js.map +1 -0
  329. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.ts +73 -0
  330. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin-dbg.js +61 -0
  331. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin-dbg.js.map +1 -0
  332. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.d.ts +18 -0
  333. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.d.ts.map +1 -0
  334. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.js +2 -0
  335. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.js.map +1 -0
  336. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.ts +62 -0
  337. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin-dbg.js +74 -0
  338. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin-dbg.js.map +1 -0
  339. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.d.ts +17 -0
  340. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.d.ts.map +1 -0
  341. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.js +2 -0
  342. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.js.map +1 -0
  343. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.ts +81 -0
  344. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin-dbg.js +61 -0
  345. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin-dbg.js.map +1 -0
  346. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.d.ts +21 -0
  347. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.d.ts.map +1 -0
  348. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.js +2 -0
  349. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.js.map +1 -0
  350. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.ts +62 -0
  351. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin-dbg.js +64 -0
  352. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin-dbg.js.map +1 -0
  353. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.d.ts +16 -0
  354. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.d.ts.map +1 -0
  355. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.js +2 -0
  356. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.js.map +1 -0
  357. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.ts +67 -0
  358. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin-dbg.js +58 -0
  359. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin-dbg.js.map +1 -0
  360. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.d.ts +11 -0
  361. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.d.ts.map +1 -0
  362. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.js +2 -0
  363. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.js.map +1 -0
  364. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.ts +55 -0
  365. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin-dbg.js +64 -0
  366. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin-dbg.js.map +1 -0
  367. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.d.ts +21 -0
  368. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.d.ts.map +1 -0
  369. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.js +2 -0
  370. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.js.map +1 -0
  371. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.ts +65 -0
  372. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin-dbg.js +87 -0
  373. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin-dbg.js.map +1 -0
  374. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.d.ts +37 -0
  375. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.d.ts.map +1 -0
  376. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.js +2 -0
  377. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.js.map +1 -0
  378. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.ts +85 -0
  379. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin-dbg.js +61 -0
  380. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin-dbg.js.map +1 -0
  381. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.d.ts +18 -0
  382. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.d.ts.map +1 -0
  383. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.js +2 -0
  384. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.js.map +1 -0
  385. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.ts +62 -0
  386. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin-dbg.js +64 -0
  387. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin-dbg.js.map +1 -0
  388. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.d.ts +18 -0
  389. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.d.ts.map +1 -0
  390. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.js +2 -0
  391. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.js.map +1 -0
  392. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.ts +63 -0
  393. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin-dbg.js +79 -0
  394. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin-dbg.js.map +1 -0
  395. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.d.ts +18 -0
  396. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.d.ts.map +1 -0
  397. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.js +2 -0
  398. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.js.map +1 -0
  399. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.ts +76 -0
  400. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin-dbg.js +62 -0
  401. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin-dbg.js.map +1 -0
  402. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.d.ts +11 -0
  403. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.d.ts.map +1 -0
  404. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.js +2 -0
  405. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.js.map +1 -0
  406. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.ts +59 -0
  407. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin-dbg.js +94 -0
  408. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin-dbg.js.map +1 -0
  409. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.d.ts +29 -0
  410. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.d.ts.map +1 -0
  411. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.js +2 -0
  412. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.js.map +1 -0
  413. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.ts +102 -0
  414. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin-dbg.js +60 -0
  415. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin-dbg.js.map +1 -0
  416. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.d.ts +22 -0
  417. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.d.ts.map +1 -0
  418. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.js +2 -0
  419. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.js.map +1 -0
  420. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.ts +57 -0
  421. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin-dbg.js +106 -0
  422. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin-dbg.js.map +1 -0
  423. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.d.ts +22 -0
  424. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.d.ts.map +1 -0
  425. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.js +2 -0
  426. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.js.map +1 -0
  427. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.ts +101 -0
  428. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin-dbg.js +77 -0
  429. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin-dbg.js.map +1 -0
  430. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.d.ts +25 -0
  431. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.d.ts.map +1 -0
  432. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.js +2 -0
  433. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.js.map +1 -0
  434. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.ts +86 -0
  435. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/CurrencyFormatterPlugin-dbg.js +36 -0
  436. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/CurrencyFormatterPlugin-dbg.js.map +1 -0
  437. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/CurrencyFormatterPlugin.d.ts +25 -0
  438. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/CurrencyFormatterPlugin.d.ts.map +1 -0
  439. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/CurrencyFormatterPlugin.js +2 -0
  440. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/CurrencyFormatterPlugin.js.map +1 -0
  441. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/CurrencyFormatterPlugin.ts +36 -0
  442. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/DateFormatterPlugin-dbg.js +32 -0
  443. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/DateFormatterPlugin-dbg.js.map +1 -0
  444. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/DateFormatterPlugin.d.ts +19 -0
  445. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/DateFormatterPlugin.d.ts.map +1 -0
  446. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/DateFormatterPlugin.js +2 -0
  447. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/DateFormatterPlugin.js.map +1 -0
  448. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/DateFormatterPlugin.ts +31 -0
  449. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/PhoneFormatterPlugin-dbg.js +32 -0
  450. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/PhoneFormatterPlugin-dbg.js.map +1 -0
  451. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/PhoneFormatterPlugin.d.ts +17 -0
  452. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/PhoneFormatterPlugin.d.ts.map +1 -0
  453. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/PhoneFormatterPlugin.js +2 -0
  454. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/PhoneFormatterPlugin.js.map +1 -0
  455. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/PhoneFormatterPlugin.ts +27 -0
  456. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/TextCaseFormatterPlugin-dbg.js +31 -0
  457. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/TextCaseFormatterPlugin-dbg.js.map +1 -0
  458. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/TextCaseFormatterPlugin.d.ts +18 -0
  459. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/TextCaseFormatterPlugin.d.ts.map +1 -0
  460. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/TextCaseFormatterPlugin.js +2 -0
  461. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/TextCaseFormatterPlugin.js.map +1 -0
  462. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/TextCaseFormatterPlugin.ts +23 -0
  463. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/EmailValidatorPlugin-dbg.js +45 -0
  464. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/EmailValidatorPlugin-dbg.js.map +1 -0
  465. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/EmailValidatorPlugin.d.ts +24 -0
  466. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/EmailValidatorPlugin.d.ts.map +1 -0
  467. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/EmailValidatorPlugin.js +2 -0
  468. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/EmailValidatorPlugin.js.map +1 -0
  469. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/EmailValidatorPlugin.ts +30 -0
  470. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/IbanValidatorPlugin-dbg.js +42 -0
  471. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/IbanValidatorPlugin-dbg.js.map +1 -0
  472. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/IbanValidatorPlugin.d.ts +18 -0
  473. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/IbanValidatorPlugin.d.ts.map +1 -0
  474. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/IbanValidatorPlugin.js +2 -0
  475. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/IbanValidatorPlugin.js.map +1 -0
  476. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/IbanValidatorPlugin.ts +29 -0
  477. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/MinLengthValidatorPlugin-dbg.js +41 -0
  478. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/MinLengthValidatorPlugin-dbg.js.map +1 -0
  479. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/MinLengthValidatorPlugin.d.ts +17 -0
  480. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/MinLengthValidatorPlugin.d.ts.map +1 -0
  481. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/MinLengthValidatorPlugin.js +2 -0
  482. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/MinLengthValidatorPlugin.js.map +1 -0
  483. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/MinLengthValidatorPlugin.ts +25 -0
  484. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/PatternValidatorPlugin-dbg.js +51 -0
  485. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/PatternValidatorPlugin-dbg.js.map +1 -0
  486. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/PatternValidatorPlugin.d.ts +17 -0
  487. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/PatternValidatorPlugin.d.ts.map +1 -0
  488. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/PatternValidatorPlugin.js +2 -0
  489. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/PatternValidatorPlugin.js.map +1 -0
  490. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/PatternValidatorPlugin.ts +33 -0
  491. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/RangeValidatorPlugin-dbg.js +48 -0
  492. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/RangeValidatorPlugin-dbg.js.map +1 -0
  493. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/RangeValidatorPlugin.d.ts +17 -0
  494. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/RangeValidatorPlugin.d.ts.map +1 -0
  495. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/RangeValidatorPlugin.js +2 -0
  496. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/RangeValidatorPlugin.js.map +1 -0
  497. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/RangeValidatorPlugin.ts +32 -0
  498. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/UrlValidatorPlugin-dbg.js +46 -0
  499. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/UrlValidatorPlugin-dbg.js.map +1 -0
  500. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/UrlValidatorPlugin.d.ts +17 -0
  501. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/UrlValidatorPlugin.d.ts.map +1 -0
  502. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/UrlValidatorPlugin.js +2 -0
  503. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/UrlValidatorPlugin.js.map +1 -0
  504. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/UrlValidatorPlugin.ts +29 -0
  505. package/src/nz/co/siliconst/ui5/metaui/utils/Logger-dbg.js +83 -0
  506. package/src/nz/co/siliconst/ui5/metaui/utils/Logger-dbg.js.map +1 -0
  507. package/src/nz/co/siliconst/ui5/metaui/utils/Logger.d.ts +29 -0
  508. package/src/nz/co/siliconst/ui5/metaui/utils/Logger.d.ts.map +1 -0
  509. package/src/nz/co/siliconst/ui5/metaui/utils/Logger.js +2 -0
  510. package/src/nz/co/siliconst/ui5/metaui/utils/Logger.js.map +1 -0
  511. package/src/nz/co/siliconst/ui5/metaui/utils/Logger.ts +75 -0
  512. package/ui5.yaml +3 -3
  513. package/src/nz/co/siliconst/ui5/metaui/controls/GeneratorHost-dbg.js +0 -164
  514. package/src/nz/co/siliconst/ui5/metaui/controls/GeneratorHost-dbg.js.map +0 -1
  515. package/src/nz/co/siliconst/ui5/metaui/controls/GeneratorHost.d.ts +0 -82
  516. package/src/nz/co/siliconst/ui5/metaui/controls/GeneratorHost.d.ts.map +0 -1
  517. package/src/nz/co/siliconst/ui5/metaui/controls/GeneratorHost.js +0 -2
  518. package/src/nz/co/siliconst/ui5/metaui/controls/GeneratorHost.js.map +0 -1
  519. package/src/nz/co/siliconst/ui5/metaui/controls/GeneratorHost.ts +0 -162
  520. package/src/nz/co/siliconst/ui5/metaui/core/EventBus-dbg.js +0 -51
  521. package/src/nz/co/siliconst/ui5/metaui/core/EventBus-dbg.js.map +0 -1
  522. package/src/nz/co/siliconst/ui5/metaui/core/EventBus.d.ts +0 -31
  523. package/src/nz/co/siliconst/ui5/metaui/core/EventBus.d.ts.map +0 -1
  524. package/src/nz/co/siliconst/ui5/metaui/core/EventBus.js +0 -2
  525. package/src/nz/co/siliconst/ui5/metaui/core/EventBus.js.map +0 -1
  526. package/src/nz/co/siliconst/ui5/metaui/core/EventBus.ts +0 -45
  527. package/src/nz/co/siliconst/ui5/metaui/interfaces/IEventBus-dbg.js +0 -2
  528. package/src/nz/co/siliconst/ui5/metaui/interfaces/IEventBus-dbg.js.map +0 -1
  529. package/src/nz/co/siliconst/ui5/metaui/interfaces/IEventBus.d.ts +0 -29
  530. package/src/nz/co/siliconst/ui5/metaui/interfaces/IEventBus.d.ts.map +0 -1
  531. package/src/nz/co/siliconst/ui5/metaui/interfaces/IEventBus.js +0 -2
  532. package/src/nz/co/siliconst/ui5/metaui/interfaces/IEventBus.js.map +0 -1
  533. package/src/nz/co/siliconst/ui5/metaui/interfaces/IEventBus.ts +0 -29
  534. package/src/nz/co/siliconst/ui5/metaui/layouts/BaseLayout-dbg.js +0 -39
  535. package/src/nz/co/siliconst/ui5/metaui/layouts/BaseLayout-dbg.js.map +0 -1
  536. package/src/nz/co/siliconst/ui5/metaui/layouts/BaseLayout.d.ts +0 -28
  537. package/src/nz/co/siliconst/ui5/metaui/layouts/BaseLayout.d.ts.map +0 -1
  538. package/src/nz/co/siliconst/ui5/metaui/layouts/BaseLayout.js +0 -2
  539. package/src/nz/co/siliconst/ui5/metaui/layouts/BaseLayout.js.map +0 -1
  540. package/src/nz/co/siliconst/ui5/metaui/layouts/BaseLayout.ts +0 -34
  541. package/src/nz/co/siliconst/ui5/metaui/plugins/BasePlugin-dbg.js +0 -60
  542. package/src/nz/co/siliconst/ui5/metaui/plugins/BasePlugin-dbg.js.map +0 -1
  543. package/src/nz/co/siliconst/ui5/metaui/plugins/BasePlugin.d.ts +0 -43
  544. package/src/nz/co/siliconst/ui5/metaui/plugins/BasePlugin.d.ts.map +0 -1
  545. package/src/nz/co/siliconst/ui5/metaui/plugins/BasePlugin.js +0 -2
  546. package/src/nz/co/siliconst/ui5/metaui/plugins/BasePlugin.js.map +0 -1
  547. package/src/nz/co/siliconst/ui5/metaui/plugins/BasePlugin.ts +0 -58
  548. package/src/nz/co/siliconst/ui5/metaui/plugins/BooleanPlugin-dbg.js +0 -43
  549. package/src/nz/co/siliconst/ui5/metaui/plugins/BooleanPlugin-dbg.js.map +0 -1
  550. package/src/nz/co/siliconst/ui5/metaui/plugins/BooleanPlugin.d.ts +0 -18
  551. package/src/nz/co/siliconst/ui5/metaui/plugins/BooleanPlugin.d.ts.map +0 -1
  552. package/src/nz/co/siliconst/ui5/metaui/plugins/BooleanPlugin.js +0 -2
  553. package/src/nz/co/siliconst/ui5/metaui/plugins/BooleanPlugin.js.map +0 -1
  554. package/src/nz/co/siliconst/ui5/metaui/plugins/BooleanPlugin.ts +0 -42
  555. package/src/nz/co/siliconst/ui5/metaui/plugins/DatePlugin-dbg.js +0 -61
  556. package/src/nz/co/siliconst/ui5/metaui/plugins/DatePlugin-dbg.js.map +0 -1
  557. package/src/nz/co/siliconst/ui5/metaui/plugins/DatePlugin.d.ts +0 -18
  558. package/src/nz/co/siliconst/ui5/metaui/plugins/DatePlugin.d.ts.map +0 -1
  559. package/src/nz/co/siliconst/ui5/metaui/plugins/DatePlugin.js +0 -2
  560. package/src/nz/co/siliconst/ui5/metaui/plugins/DatePlugin.js.map +0 -1
  561. package/src/nz/co/siliconst/ui5/metaui/plugins/DatePlugin.ts +0 -63
  562. package/src/nz/co/siliconst/ui5/metaui/plugins/DropdownPlugin-dbg.js +0 -67
  563. package/src/nz/co/siliconst/ui5/metaui/plugins/DropdownPlugin-dbg.js.map +0 -1
  564. package/src/nz/co/siliconst/ui5/metaui/plugins/DropdownPlugin.d.ts +0 -18
  565. package/src/nz/co/siliconst/ui5/metaui/plugins/DropdownPlugin.d.ts.map +0 -1
  566. package/src/nz/co/siliconst/ui5/metaui/plugins/DropdownPlugin.js +0 -2
  567. package/src/nz/co/siliconst/ui5/metaui/plugins/DropdownPlugin.js.map +0 -1
  568. package/src/nz/co/siliconst/ui5/metaui/plugins/DropdownPlugin.ts +0 -65
  569. package/src/nz/co/siliconst/ui5/metaui/plugins/NumberPlugin-dbg.js +0 -54
  570. package/src/nz/co/siliconst/ui5/metaui/plugins/NumberPlugin-dbg.js.map +0 -1
  571. package/src/nz/co/siliconst/ui5/metaui/plugins/NumberPlugin.d.ts +0 -18
  572. package/src/nz/co/siliconst/ui5/metaui/plugins/NumberPlugin.d.ts.map +0 -1
  573. package/src/nz/co/siliconst/ui5/metaui/plugins/NumberPlugin.js +0 -2
  574. package/src/nz/co/siliconst/ui5/metaui/plugins/NumberPlugin.js.map +0 -1
  575. package/src/nz/co/siliconst/ui5/metaui/plugins/NumberPlugin.ts +0 -55
  576. package/src/nz/co/siliconst/ui5/metaui/plugins/StringPlugin-dbg.js +0 -54
  577. package/src/nz/co/siliconst/ui5/metaui/plugins/StringPlugin-dbg.js.map +0 -1
  578. package/src/nz/co/siliconst/ui5/metaui/plugins/StringPlugin.d.ts +0 -18
  579. package/src/nz/co/siliconst/ui5/metaui/plugins/StringPlugin.d.ts.map +0 -1
  580. package/src/nz/co/siliconst/ui5/metaui/plugins/StringPlugin.js +0 -2
  581. package/src/nz/co/siliconst/ui5/metaui/plugins/StringPlugin.js.map +0 -1
  582. package/src/nz/co/siliconst/ui5/metaui/plugins/StringPlugin.ts +0 -55
  583. package/test-resources/App.js +0 -11
  584. package/test-resources/Main.controller.js +0 -73
  585. package/test-resources/Main.view.xml +0 -42
  586. package/test-resources/index.html +0 -21
  587. package/test-resources/mockData.json +0 -27
  588. package/test-resources/mockSchema.json +0 -98
@@ -1,56 +1,205 @@
1
- /**
2
- * @file Engine.ts
3
- * @description The central orchestrator that routes data between the Layout Factory and Plugin Registry.
4
- */
5
-
6
- import { ISchema } from "../interfaces/ISchema";
7
- import { ILayoutManager } from "../interfaces/ILayoutManager";
8
- import { ConditionEngine } from "./ConditionEngine";
9
- import Control from "sap/ui/core/Control";
10
- import VBox from "sap/m/VBox";
11
-
12
- /**
13
- * The MetaUI Engine. Responsible for bootstrapping the layout generation.
14
- * Follows strict Orchestrator patterns; delegates all actual rendering to LayoutManagers.
15
- */
16
- export class Engine {
17
- private conditionEngine: ConditionEngine | null = null;
18
-
19
- /**
20
- * Evaluates the schema and delegates generation to the layout factory.
21
- * @param schema The fully normalized schema definition.
22
- * @param layoutManager The injected layout factory class.
23
- * @returns The populated UI5 layout container.
24
- */
25
- public build(schema: ISchema, layoutManager: ILayoutManager): Control {
26
- // Bootstrap the condition engine to start listening for field events in this schema
27
- this.conditionEngine = new ConditionEngine(schema);
28
-
29
- if (schema.mode === "form") {
30
- return layoutManager.renderForm(schema);
31
- } else if (schema.mode === "table") {
32
- if (!schema.tables || schema.tables.length === 0) {
33
- throw new Error("[MetaUI] Table mode requires at least one table definition.");
34
- }
35
- return layoutManager.renderTable(schema.tables[0]);
36
- } else if (schema.mode === "mixed") {
37
- const container = new VBox({ renderType: "Bare" });
38
-
39
- // 1. Render the top-level form if there are root fields
40
- if (schema.rootFields && schema.rootFields.length > 0) {
41
- container.addItem(layoutManager.renderForm(schema));
42
- }
43
-
44
- // 2. Render all tables sequentially below the form
45
- if (schema.tables && schema.tables.length > 0) {
46
- schema.tables.forEach(tableMeta => {
47
- container.addItem(layoutManager.renderTable(tableMeta));
48
- });
49
- }
50
-
51
- return container;
52
- }
53
-
54
- throw new Error(`[MetaUI] Mode '${schema.mode}' is not yet implemented or invalid.`);
55
- }
56
- }
1
+ /**
2
+ * @file Engine.ts
3
+ * @description The central orchestrator that routes data between the Layout Factory and Plugin Registry (v2).
4
+ */
5
+
6
+ import { ISchema, IPropertyMetadata } from "../interfaces/ISchema";
7
+ import { ILayoutManager } from "../interfaces/ILayoutManager";
8
+ import { IPlugin, IPluginValidationResult } from "../interfaces/IPlugin";
9
+ import { ConditionEngine } from "./ConditionEngine";
10
+ import { PluginRegistry } from "./PluginRegistry";
11
+ import Control from "sap/ui/core/Control";
12
+ import VBox from "sap/m/VBox";
13
+ import Text from "sap/m/Text";
14
+ import { Registry } from "./Registry";
15
+ import { Logger } from "../utils/Logger";
16
+ import { DefaultLayoutGenerator } from "./DefaultLayoutGenerator";
17
+ import Core from "sap/ui/core/Core";
18
+ import Messaging from "sap/ui/core/Messaging";
19
+
20
+ /**
21
+ * The Engine is responsible for translating a normalized schema into a physical UI5 layout.
22
+ * It delegates layout generation to the configured `LayoutManager` and field generation to the `PluginRegistry`.
23
+ * It is NOT a God Class; it strictly routes execution flow and tracks active plugins for validation.
24
+ * It embodies the "Plugin-First Philosophy" by routing all complex field and layout rendering
25
+ * through discrete, decoupled plugins rather than handling native overrides.
26
+ *
27
+ * @namespace nz.co.siliconst.ui5.metaui.core
28
+ * @public
29
+ */
30
+ export class Engine {
31
+ /** Global registry of all available layout strategies (e.g. Form, Table, Wizard). */
32
+ public static layoutRegistry: Registry<ILayoutManager>;
33
+ /** Handles dynamic conditional logic across the active form. */
34
+ private conditionEngine: ConditionEngine | null = null;
35
+
36
+ /** Array of all instantiated plugins generated during the current build. */
37
+ private activePlugins: { plugin: IPlugin, path: string }[] = [];
38
+
39
+ /** Deterministic scope ID injected by the host control to prevent clone collisions. */
40
+ public engineScopeId?: string;
41
+
42
+ private activeModel?: sap.ui.model.Model;
43
+
44
+ /** Tracks whether the entire engine is running in Read-Only Display mode. */
45
+ public readonly isDisplayMode: boolean = false;
46
+
47
+ constructor(displayMode: boolean = false) {
48
+ this.isDisplayMode = displayMode;
49
+ }
50
+
51
+ /**
52
+ * Bootstraps the layout generation process by resolving the correct layout strategy.
53
+ *
54
+ * @param schema The normalized JSON schema representing the view.
55
+ * @param model The active StateManager JSONModel instance.
56
+ * @param modelName The UI5 model alias used for isolation.
57
+ * @param onSubmit Callback fired when form is submitted.
58
+ * @param engineScopeId Deterministic scope ID for this engine instance.
59
+ * @param onChange Callback fired when field values change.
60
+ * @returns The generated root UI5 Control container.
61
+ */
62
+ public build(schema: ISchema, model: sap.ui.model.Model, modelName: string = "meta", onSubmit?: () => void, engineScopeId?: string, onChange?: (isValid: boolean, fieldKey?: string, errorMessage?: string, controlId?: string) => void): Control {
63
+ this.conditionEngine = new ConditionEngine(schema);
64
+ this.activePlugins = [];
65
+ this.activeModel = model;
66
+ this.engineScopeId = engineScopeId;
67
+ this.onChange = (isValid: boolean, fieldKey?: string, errorMessage?: string, controlId?: string) => {
68
+ if (this.conditionEngine && fieldKey) {
69
+ this.conditionEngine.handleEvent(fieldKey, isValid);
70
+ }
71
+ if (onChange) {
72
+ onChange(isValid, fieldKey, errorMessage, controlId);
73
+ }
74
+ };
75
+
76
+ try {
77
+ // Intercept and synthesize a default layout if the developer/backend failed to provide one
78
+ if (DefaultLayoutGenerator.ensureLayout(schema)) {
79
+ Logger.warn("[MetaUI Engine] Missing 'uiLayout' array in schema. Synthesized a default layout mapping to prevent a blank render.");
80
+ }
81
+
82
+ const layoutStrategy = schema.layoutStrategy || (schema.type === "array" ? "table" : "form");
83
+ const layoutManager = Engine.layoutRegistry.getStrict(layoutStrategy);
84
+
85
+ return layoutManager.render(schema, modelName, this, onSubmit);
86
+ } catch (error) {
87
+ const msg = (error as Error).message;
88
+ Logger.error("[MetaUI Engine] Critical error during layout generation", msg);
89
+ Logger.showErrorPopup(`Engine failed to generate the layout.\n\nDetails: ${msg}`);
90
+ return new Text({ text: "Critical Layout Error" });
91
+ }
92
+ }
93
+
94
+ /**
95
+ * Instantiates the correct plugin for a specific field based on type and widget hints,
96
+ * and tracks the plugin for global validation.
97
+ *
98
+ * @param fieldMeta The metadata schema specific to the field.
99
+ * @param bindingPath The JSON path representing the field within the payload.
100
+ * @param modelName The UI5 JSONModel name used for data binding.
101
+ * @returns The generated UI5 Control for the field.
102
+ */
103
+ public generateField(fieldMeta: IPropertyMetadata, bindingPath: string, modelName: string, isTemplate: boolean = false): Control {
104
+ try {
105
+ const plugin = PluginRegistry.getInstance().getPlugin(fieldMeta.type || "string", fieldMeta.ui?.widget);
106
+ plugin.setDisplayMode(this.isDisplayMode);
107
+
108
+ if (!isTemplate) {
109
+ this.activePlugins.push({ plugin, path: bindingPath });
110
+ }
111
+ const scopeId = isTemplate ? undefined : this.engineScopeId;
112
+ const control = plugin.render(fieldMeta, bindingPath, modelName, scopeId, this.onChange);
113
+
114
+ if (this.conditionEngine) {
115
+ this.conditionEngine.registerPlugin(bindingPath, plugin);
116
+ }
117
+
118
+ return control;
119
+ } catch (error) {
120
+ const msg = (error as Error).message;
121
+ Logger.error(`[MetaUI Engine] Failed to generate field at ${bindingPath}`, msg);
122
+ Logger.showErrorPopup(`Failed to generate field '${bindingPath}'.\n\nDetails: ${msg}`);
123
+ return new Text({ text: `[Error generating field ${bindingPath}]` });
124
+ }
125
+ }
126
+
127
+ /**
128
+ * Generates a sub-layout (like an embedded table or nested form) without
129
+ * destroying the current Engine state or Condition tracking.
130
+ *
131
+ * @param schema The normalized JSON schema representing the view.
132
+ * @param modelName The UI5 JSONModel name used for data binding (defaults to "meta").
133
+ * @param bindingPath Optional path to bind the sub-layout to a specific array/object property.
134
+ * @returns The generated root UI5 Control container.
135
+ */
136
+ public generateLayout(schema: ISchema, modelName: string, bindingPath?: string): Control {
137
+ try {
138
+ const layoutStrategy = schema.layoutStrategy || (schema.type === "array" ? "table" : "form");
139
+ const layoutManager = Engine.layoutRegistry.getStrict(layoutStrategy);
140
+ return layoutManager.render(schema, modelName, this, undefined, bindingPath);
141
+ } catch (error) {
142
+ const msg = (error as Error).message;
143
+ Logger.error(`[MetaUI Engine] Critical error generating sub-layout for ${bindingPath}`, msg);
144
+ Logger.showErrorPopup(`Engine failed to generate a sub-layout.\n\nDetails: ${msg}`);
145
+ return new Text({ text: "Critical Sub-Layout Error" });
146
+ }
147
+ }
148
+
149
+ /**
150
+ * Iterates through all active plugins and triggers their internal validation pipelines.
151
+ *
152
+ * @returns {IPluginValidationResult[]} Array of validation error objects. Empty array if valid.
153
+ */
154
+ public validateAll(): IPluginValidationResult[] {
155
+ const errors: IPluginValidationResult[] = [];
156
+ for (const item of this.activePlugins) {
157
+ const result = item.plugin.validate();
158
+ if (!result.isValid) {
159
+ // Ensure the path is bound to the error so GeneratorHost knows where to target it
160
+ result.fieldKey = result.fieldKey || item.path.replace(/^\//, "");
161
+ errors.push(result);
162
+ // Add console log to find which plugin fails silently
163
+ Logger.error("[MetaUI Validation] Plugin failed validation silently:", item.path || item.plugin.constructor.name);
164
+ }
165
+ }
166
+ return errors;
167
+ }
168
+
169
+ /**
170
+ * Cleans up internal state and destroys the condition engine to prevent memory leaks.
171
+ */
172
+ public destroy(): void {
173
+ if (this.conditionEngine) {
174
+ this.conditionEngine.destroy();
175
+ this.conditionEngine = null;
176
+ }
177
+
178
+ // ------------------------------------------------------------------------
179
+ // Ghost Error Prevention
180
+ // Flush MessageManager for active plugins before destroying their controls
181
+ // ------------------------------------------------------------------------
182
+ const messageManager = Messaging;
183
+ const existingMessages = messageManager.getMessageModel().getData();
184
+ const messagesToRemove: any[] = [];
185
+
186
+ for (const item of this.activePlugins) {
187
+ if (this.activeModel) {
188
+ const targetPath = `/${item.path.replace(/^\//, "")}`;
189
+ const matched = existingMessages.filter((msg: any) =>
190
+ msg.getTarget() === targetPath && msg.getMessageProcessor() && msg.getMessageProcessor().getId() === this.activeModel.getId()
191
+ );
192
+ messagesToRemove.push(...matched);
193
+ }
194
+ if (typeof item.plugin.destroy === "function") {
195
+ item.plugin.destroy();
196
+ }
197
+ }
198
+
199
+ if (messagesToRemove.length > 0) {
200
+ messageManager.removeMessages(messagesToRemove);
201
+ }
202
+
203
+ this.activePlugins = [];
204
+ }
205
+ }
@@ -0,0 +1,32 @@
1
+ sap.ui.define(["./Registry", "../layouts/FormLayout", "../layouts/TableLayout", "../layouts/WizardLayout", "../layouts/CompactLayout", "./Engine"], function (___Registry, ___layouts_FormLayout, ___layouts_TableLayout, ___layouts_WizardLayout, ___layouts_CompactLayout, ___Engine) {
2
+ "use strict";
3
+
4
+ /**
5
+ * @file LayoutRegistry.ts
6
+ * @description Centralized registry for all available layout managers (e.g. Form, Table, Wizard).
7
+ */
8
+ const Registry = ___Registry["Registry"];
9
+ const FormLayout = ___layouts_FormLayout["FormLayout"];
10
+ const TableLayout = ___layouts_TableLayout["TableLayout"];
11
+ const WizardLayout = ___layouts_WizardLayout["WizardLayout"];
12
+ const CompactLayout = ___layouts_CompactLayout["CompactLayout"];
13
+ const Engine = ___Engine["Engine"];
14
+ /**
15
+ * The globally exposed registry containing instantiations of the layout strategies.
16
+ * It is injected directly into the Engine to avoid circular dependencies.
17
+ *
18
+ * @public
19
+ */
20
+ const LayoutRegistry = new Registry("Layouts");
21
+ LayoutRegistry.register("form", new FormLayout());
22
+ LayoutRegistry.register("table", new TableLayout());
23
+ LayoutRegistry.register("wizard", new WizardLayout());
24
+ LayoutRegistry.register("compact", new CompactLayout());
25
+ Engine.layoutRegistry = LayoutRegistry;
26
+ var __exports = {
27
+ __esModule: true
28
+ };
29
+ __exports.LayoutRegistry = LayoutRegistry;
30
+ return __exports;
31
+ });
32
+ //# sourceMappingURL=LayoutRegistry-dbg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LayoutRegistry-dbg.js","names":["Registry","___Registry","FormLayout","___layouts_FormLayout","TableLayout","___layouts_TableLayout","WizardLayout","___layouts_WizardLayout","CompactLayout","___layouts_CompactLayout","Engine","___Engine","LayoutRegistry","register","layoutRegistry","__exports","__esModule"],"sources":["LayoutRegistry.ts"],"sourcesContent":["/**\n * @file LayoutRegistry.ts\n * @description Centralized registry for all available layout managers (e.g. Form, Table, Wizard).\n */\nimport { Registry } from \"./Registry\";\nimport { ILayoutManager } from \"../interfaces/ILayoutManager\";\nimport { FormLayout } from \"../layouts/FormLayout\";\nimport { TableLayout } from \"../layouts/TableLayout\";\nimport { WizardLayout } from \"../layouts/WizardLayout\";\nimport { CompactLayout } from \"../layouts/CompactLayout\";\nimport { Engine } from \"./Engine\";\n\n/** \n * The globally exposed registry containing instantiations of the layout strategies.\n * It is injected directly into the Engine to avoid circular dependencies.\n * \n * @public\n */\nexport const LayoutRegistry = new Registry<ILayoutManager>(\"Layouts\");\n\nLayoutRegistry.register(\"form\", new FormLayout());\nLayoutRegistry.register(\"table\", new TableLayout());\nLayoutRegistry.register(\"wizard\", new WizardLayout());\nLayoutRegistry.register(\"compact\", new CompactLayout());\n\nEngine.layoutRegistry = LayoutRegistry;\n"],"mappings":";;;EAAA;AACA;AACA;AACA;EAHA,MAISA,QAAQ,GAAAC,WAAA;EAAA,MAERC,UAAU,GAAAC,qBAAA;EAAA,MACVC,WAAW,GAAAC,sBAAA;EAAA,MACXC,YAAY,GAAAC,uBAAA;EAAA,MACZC,aAAa,GAAAC,wBAAA;EAAA,MACbC,MAAM,GAAAC,SAAA;EAEf;AACA;AACA;AACA;AACA;AACA;EACO,MAAMC,cAAc,GAAG,IAAIZ,QAAQ,CAAiB,SAAS,CAAC;EAErEY,cAAc,CAACC,QAAQ,CAAC,MAAM,EAAE,IAAIX,UAAU,CAAC,CAAC,CAAC;EACjDU,cAAc,CAACC,QAAQ,CAAC,OAAO,EAAE,IAAIT,WAAW,CAAC,CAAC,CAAC;EACnDQ,cAAc,CAACC,QAAQ,CAAC,QAAQ,EAAE,IAAIP,YAAY,CAAC,CAAC,CAAC;EACrDM,cAAc,CAACC,QAAQ,CAAC,SAAS,EAAE,IAAIL,aAAa,CAAC,CAAC,CAAC;EAEvDE,MAAM,CAACI,cAAc,GAAGF,cAAc;EAAC,IAAAG,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAAH,cAAA,GAAAA,cAAA;EAAA,OAAAG,SAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,16 @@
1
+ declare module "nz/co/siliconst/ui5/metaui/core/LayoutRegistry" {
2
+ /**
3
+ * @file LayoutRegistry.ts
4
+ * @description Centralized registry for all available layout managers (e.g. Form, Table, Wizard).
5
+ */
6
+ import { Registry } from "nz/co/siliconst/ui5/metaui/core/Registry";
7
+ import { ILayoutManager } from "nz/co/siliconst/ui5/metaui/interfaces/ILayoutManager";
8
+ /**
9
+ * The globally exposed registry containing instantiations of the layout strategies.
10
+ * It is injected directly into the Engine to avoid circular dependencies.
11
+ *
12
+ * @public
13
+ */
14
+ export const LayoutRegistry: Registry<ILayoutManager>;
15
+ }
16
+ //# sourceMappingURL=LayoutRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LayoutRegistry.d.ts","sourceRoot":"../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/core/LayoutRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,gDAAgD,CAAC;IAChE;;;OAGG;IACH,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;IACpE,OAAO,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;IAOtF;;;;;OAKG;IACI,MAAM,cAAc,0BAA0C,CAAC;CASrE"}
@@ -0,0 +1,2 @@
1
+ sap.ui.define(["./Registry","../layouts/FormLayout","../layouts/TableLayout","../layouts/WizardLayout","../layouts/CompactLayout","./Engine"],function(t,o,e,a,s,r){"use strict";const u=t["Registry"];const n=o["FormLayout"];const y=e["TableLayout"];const i=a["WizardLayout"];const c=s["CompactLayout"];const g=r["Engine"];const L=new u("Layouts");L.register("form",new n);L.register("table",new y);L.register("wizard",new i);L.register("compact",new c);g.layoutRegistry=L;var l={__esModule:true};l.LayoutRegistry=L;return l});
2
+ //# sourceMappingURL=LayoutRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LayoutRegistry.js","names":["Registry","___Registry","FormLayout","___layouts_FormLayout","TableLayout","___layouts_TableLayout","WizardLayout","___layouts_WizardLayout","CompactLayout","___layouts_CompactLayout","Engine","___Engine","LayoutRegistry","register","layoutRegistry","__exports","__esModule"],"sources":["LayoutRegistry.ts"],"sourcesContent":["/**\n * @file LayoutRegistry.ts\n * @description Centralized registry for all available layout managers (e.g. Form, Table, Wizard).\n */\nimport { Registry } from \"./Registry\";\nimport { ILayoutManager } from \"../interfaces/ILayoutManager\";\nimport { FormLayout } from \"../layouts/FormLayout\";\nimport { TableLayout } from \"../layouts/TableLayout\";\nimport { WizardLayout } from \"../layouts/WizardLayout\";\nimport { CompactLayout } from \"../layouts/CompactLayout\";\nimport { Engine } from \"./Engine\";\n\n/** \n * The globally exposed registry containing instantiations of the layout strategies.\n * It is injected directly into the Engine to avoid circular dependencies.\n * \n * @public\n */\nexport const LayoutRegistry = new Registry<ILayoutManager>(\"Layouts\");\n\nLayoutRegistry.register(\"form\", new FormLayout());\nLayoutRegistry.register(\"table\", new TableLayout());\nLayoutRegistry.register(\"wizard\", new WizardLayout());\nLayoutRegistry.register(\"compact\", new CompactLayout());\n\nEngine.layoutRegistry = LayoutRegistry;\n"],"mappings":"iLAAA,MAISA,EAAQC,EAAA,kBAERC,EAAUC,EAAA,oBACVC,EAAWC,EAAA,qBACXC,EAAYC,EAAA,sBACZC,EAAaC,EAAA,uBACbC,EAAMC,EAAA,UAQR,MAAMC,EAAiB,IAAIZ,EAAyB,WAE3DY,EAAeC,SAAS,OAAQ,IAAIX,GACpCU,EAAeC,SAAS,QAAS,IAAIT,GACrCQ,EAAeC,SAAS,SAAU,IAAIP,GACtCM,EAAeC,SAAS,UAAW,IAAIL,GAEvCE,EAAOI,eAAiBF,EAAe,IAAAG,EAAA,CAAAC,WAAA,MAAAD,EAAAH,iBAAA,OAAAG,CAAA","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @file LayoutRegistry.ts
3
+ * @description Centralized registry for all available layout managers (e.g. Form, Table, Wizard).
4
+ */
5
+ import { Registry } from "./Registry";
6
+ import { ILayoutManager } from "../interfaces/ILayoutManager";
7
+ import { FormLayout } from "../layouts/FormLayout";
8
+ import { TableLayout } from "../layouts/TableLayout";
9
+ import { WizardLayout } from "../layouts/WizardLayout";
10
+ import { CompactLayout } from "../layouts/CompactLayout";
11
+ import { Engine } from "./Engine";
12
+
13
+ /**
14
+ * The globally exposed registry containing instantiations of the layout strategies.
15
+ * It is injected directly into the Engine to avoid circular dependencies.
16
+ *
17
+ * @public
18
+ */
19
+ export const LayoutRegistry = new Registry<ILayoutManager>("Layouts");
20
+
21
+ LayoutRegistry.register("form", new FormLayout());
22
+ LayoutRegistry.register("table", new TableLayout());
23
+ LayoutRegistry.register("wizard", new WizardLayout());
24
+ LayoutRegistry.register("compact", new CompactLayout());
25
+
26
+ Engine.layoutRegistry = LayoutRegistry;
@@ -0,0 +1,123 @@
1
+ sap.ui.define(["./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 (___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) {
2
+ "use strict";
3
+
4
+ /**
5
+ * @file PipelineManager.ts
6
+ * @description Central manager for the data manipulation pipeline.
7
+ * Orchestrates Formatting, Parsing, and Validating data using the generic Registry.
8
+ */
9
+ const Registry = ___Registry["Registry"];
10
+ const PatternValidatorPlugin = ___plugins_validators_PatternValidatorPlugin["PatternValidatorPlugin"];
11
+ const MinLengthValidatorPlugin = ___plugins_validators_MinLengthValidatorPlugin["MinLengthValidatorPlugin"];
12
+ const RangeValidatorPlugin = ___plugins_validators_RangeValidatorPlugin["RangeValidatorPlugin"];
13
+ const UrlValidatorPlugin = ___plugins_validators_UrlValidatorPlugin["UrlValidatorPlugin"];
14
+ const IbanValidatorPlugin = ___plugins_validators_IbanValidatorPlugin["IbanValidatorPlugin"];
15
+ const EmailValidatorPlugin = ___plugins_validators_EmailValidatorPlugin["EmailValidatorPlugin"];
16
+ const DateFormatterPlugin = ___plugins_formatters_DateFormatterPlugin["DateFormatterPlugin"];
17
+ const PhoneFormatterPlugin = ___plugins_formatters_PhoneFormatterPlugin["PhoneFormatterPlugin"];
18
+ const TextCaseFormatterPlugin = ___plugins_formatters_TextCaseFormatterPlugin["TextCaseFormatterPlugin"];
19
+ const Logger = ___utils_Logger["Logger"]; // --- Built-in Default Validators ---
20
+ class RequiredValidator {
21
+ validate(parsedValue, args) {
22
+ if (parsedValue === null || parsedValue === undefined || parsedValue === "") {
23
+ return {
24
+ isValid: false,
25
+ errorMessage: "This field is required."
26
+ };
27
+ }
28
+ return {
29
+ isValid: true
30
+ };
31
+ }
32
+ }
33
+ class MaxLengthValidator {
34
+ validate(parsedValue, args) {
35
+ if (typeof parsedValue === "string" && args && typeof args === "number") {
36
+ if (parsedValue.length > args) {
37
+ return {
38
+ isValid: false,
39
+ errorMessage: `Maximum length is ${args} characters.`
40
+ };
41
+ }
42
+ }
43
+ return {
44
+ isValid: true
45
+ };
46
+ }
47
+ }
48
+
49
+ /**
50
+ * The core engine responsible for marshalling data through the validation, formatting, and parsing phases.
51
+ * Pluggable design allows new validators to be registered dynamically.
52
+ *
53
+ * @namespace nz.co.siliconst.ui5.metaui.core
54
+ * @public
55
+ */
56
+ class PipelineManager {
57
+ /** Registry of data formatters applied before pushing to the UI. */
58
+ formatters = new Registry("Formatters");
59
+ /** Registry of data parsers applied when pulling data from the UI. */
60
+ parsers = new Registry("Parsers");
61
+ /** Registry of business logic validators. */
62
+ validators = new Registry("Validators");
63
+
64
+ /**
65
+ * Bootstraps the PipelineManager with default validators (required, maxLength, email).
66
+ */
67
+ constructor() {
68
+ // Register default validators
69
+ this.validators.register("required", new RequiredValidator());
70
+ this.validators.register("maxLength", new MaxLengthValidator());
71
+ this.validators.register("pattern", new PatternValidatorPlugin());
72
+ this.validators.register("minLength", new MinLengthValidatorPlugin());
73
+ this.validators.register("range", new RangeValidatorPlugin());
74
+ this.validators.register("url", new UrlValidatorPlugin());
75
+ this.validators.register("iban", new IbanValidatorPlugin());
76
+ this.validators.register("email", new EmailValidatorPlugin());
77
+
78
+ // Register default formatters
79
+ this.formatters.register("date", new DateFormatterPlugin());
80
+ this.formatters.register("phone", new PhoneFormatterPlugin());
81
+ this.formatters.register("textCase", new TextCaseFormatterPlugin());
82
+ }
83
+
84
+ /**
85
+ * Executes the validation pipeline sequentially. Fails fast on the first encountered error.
86
+ *
87
+ * @param parsedValue The raw extracted value from the UI control.
88
+ * @param requestedValidators Array of validation rule keys (e.g. ['required', 'email']).
89
+ * @param argsMap Optional map of parameters required by specific rules (e.g. { maxLength: 50 }).
90
+ * @returns {IValidationResult} The final result state and any associated error message.
91
+ */
92
+ executeValidation(parsedValue, requestedValidators, argsMap) {
93
+ for (const rule of requestedValidators) {
94
+ const validator = this.validators.get(rule);
95
+ if (validator) {
96
+ const args = argsMap ? argsMap[rule] : undefined;
97
+ const result = validator.validate(parsedValue, args);
98
+ if (!result.isValid) {
99
+ return result; // Fast fail on first error
100
+ }
101
+ } else {
102
+ Logger.warn(`[MetaUI] PipelineManager: Requested validator '${rule}' not found in registry.`);
103
+ }
104
+ }
105
+ return {
106
+ isValid: true
107
+ };
108
+ }
109
+ }
110
+
111
+ /**
112
+ * Singleton instance for global access to the active validation pipeline.
113
+ * @public
114
+ */
115
+ const GlobalPipeline = new PipelineManager();
116
+ var __exports = {
117
+ __esModule: true
118
+ };
119
+ __exports.PipelineManager = PipelineManager;
120
+ __exports.GlobalPipeline = GlobalPipeline;
121
+ return __exports;
122
+ });
123
+ //# sourceMappingURL=PipelineManager-dbg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PipelineManager-dbg.js","names":["Registry","___Registry","PatternValidatorPlugin","___plugins_validators_PatternValidatorPlugin","MinLengthValidatorPlugin","___plugins_validators_MinLengthValidatorPlugin","RangeValidatorPlugin","___plugins_validators_RangeValidatorPlugin","UrlValidatorPlugin","___plugins_validators_UrlValidatorPlugin","IbanValidatorPlugin","___plugins_validators_IbanValidatorPlugin","EmailValidatorPlugin","___plugins_validators_EmailValidatorPlugin","DateFormatterPlugin","___plugins_formatters_DateFormatterPlugin","PhoneFormatterPlugin","___plugins_formatters_PhoneFormatterPlugin","TextCaseFormatterPlugin","___plugins_formatters_TextCaseFormatterPlugin","Logger","___utils_Logger","RequiredValidator","validate","parsedValue","args","undefined","isValid","errorMessage","MaxLengthValidator","length","PipelineManager","formatters","parsers","validators","constructor","register","executeValidation","requestedValidators","argsMap","rule","validator","get","result","warn","GlobalPipeline","__exports","__esModule"],"sources":["PipelineManager.ts"],"sourcesContent":["/**\n * @file PipelineManager.ts\n * @description Central manager for the data manipulation pipeline. \n * Orchestrates Formatting, Parsing, and Validating data using the generic Registry.\n */\n\nimport { Registry } from \"./Registry\";\nimport { IFormatter, IParser, IValidator, IValidationResult } from \"../interfaces/IPipeline\";\nimport { PatternValidatorPlugin } from \"../plugins/validators/PatternValidatorPlugin\";\nimport { MinLengthValidatorPlugin } from \"../plugins/validators/MinLengthValidatorPlugin\";\nimport { RangeValidatorPlugin } from \"../plugins/validators/RangeValidatorPlugin\";\nimport { UrlValidatorPlugin } from \"../plugins/validators/UrlValidatorPlugin\";\nimport { IbanValidatorPlugin } from \"../plugins/validators/IbanValidatorPlugin\";\nimport { EmailValidatorPlugin } from \"../plugins/validators/EmailValidatorPlugin\";\nimport { DateFormatterPlugin } from \"../plugins/formatters/DateFormatterPlugin\";\nimport { PhoneFormatterPlugin } from \"../plugins/formatters/PhoneFormatterPlugin\";\nimport { TextCaseFormatterPlugin } from \"../plugins/formatters/TextCaseFormatterPlugin\";\nimport { Logger } from \"../utils/Logger\";\n\n// --- Built-in Default Validators ---\nclass RequiredValidator implements IValidator {\n validate(parsedValue: unknown, args?: unknown): IValidationResult {\n if (parsedValue === null || parsedValue === undefined || parsedValue === \"\") {\n return { isValid: false, errorMessage: \"This field is required.\" };\n }\n return { isValid: true };\n }\n}\n\nclass MaxLengthValidator implements IValidator {\n validate(parsedValue: unknown, args?: unknown): IValidationResult {\n if (typeof parsedValue === \"string\" && args && typeof args === \"number\") {\n if (parsedValue.length > args) {\n return { isValid: false, errorMessage: `Maximum length is ${args} characters.` };\n }\n }\n return { isValid: true };\n }\n}\n\n\n/**\n * The core engine responsible for marshalling data through the validation, formatting, and parsing phases.\n * Pluggable design allows new validators to be registered dynamically.\n * \n * @namespace nz.co.siliconst.ui5.metaui.core\n * @public\n */\nexport class PipelineManager {\n /** Registry of data formatters applied before pushing to the UI. */\n public readonly formatters: Registry<IFormatter> = new Registry<IFormatter>(\"Formatters\");\n /** Registry of data parsers applied when pulling data from the UI. */\n public readonly parsers: Registry<IParser> = new Registry<IParser>(\"Parsers\");\n /** Registry of business logic validators. */\n public readonly validators: Registry<IValidator> = new Registry<IValidator>(\"Validators\");\n\n /**\n * Bootstraps the PipelineManager with default validators (required, maxLength, email).\n */\n constructor() {\n // Register default validators\n this.validators.register(\"required\", new RequiredValidator());\n this.validators.register(\"maxLength\", new MaxLengthValidator());\n this.validators.register(\"pattern\", new PatternValidatorPlugin());\n this.validators.register(\"minLength\", new MinLengthValidatorPlugin());\n this.validators.register(\"range\", new RangeValidatorPlugin());\n this.validators.register(\"url\", new UrlValidatorPlugin());\n this.validators.register(\"iban\", new IbanValidatorPlugin());\n this.validators.register(\"email\", new EmailValidatorPlugin());\n\n // Register default formatters\n this.formatters.register(\"date\", new DateFormatterPlugin());\n this.formatters.register(\"phone\", new PhoneFormatterPlugin());\n this.formatters.register(\"textCase\", new TextCaseFormatterPlugin());\n }\n\n /**\n * Executes the validation pipeline sequentially. Fails fast on the first encountered error.\n * \n * @param parsedValue The raw extracted value from the UI control.\n * @param requestedValidators Array of validation rule keys (e.g. ['required', 'email']).\n * @param argsMap Optional map of parameters required by specific rules (e.g. { maxLength: 50 }).\n * @returns {IValidationResult} The final result state and any associated error message.\n */\n public executeValidation(parsedValue: unknown, requestedValidators: string[], argsMap?: Record<string, any>): IValidationResult {\n for (const rule of requestedValidators) {\n const validator = this.validators.get(rule);\n if (validator) {\n const args = argsMap ? argsMap[rule] : undefined;\n const result = validator.validate(parsedValue, args);\n if (!result.isValid) {\n return result; // Fast fail on first error\n }\n } else {\n Logger.warn(`[MetaUI] PipelineManager: Requested validator '${rule}' not found in registry.`);\n }\n }\n return { isValid: true };\n }\n}\n\n/** \n * Singleton instance for global access to the active validation pipeline. \n * @public \n */\nexport const GlobalPipeline = new PipelineManager();\n"],"mappings":";;;EAAA;AACA;AACA;AACA;AACA;EAJA,MAMSA,QAAQ,GAAAC,WAAA;EAAA,MAERC,sBAAsB,GAAAC,4CAAA;EAAA,MACtBC,wBAAwB,GAAAC,8CAAA;EAAA,MACxBC,oBAAoB,GAAAC,0CAAA;EAAA,MACpBC,kBAAkB,GAAAC,wCAAA;EAAA,MAClBC,mBAAmB,GAAAC,yCAAA;EAAA,MACnBC,oBAAoB,GAAAC,0CAAA;EAAA,MACpBC,mBAAmB,GAAAC,yCAAA;EAAA,MACnBC,oBAAoB,GAAAC,0CAAA;EAAA,MACpBC,uBAAuB,GAAAC,6CAAA;EAAA,MACvBC,MAAM,GAAAC,eAAA,YAEf;EACA,MAAMC,iBAAiB,CAAuB;IAC1CC,QAAQA,CAACC,WAAoB,EAAEC,IAAc,EAAqB;MAC9D,IAAID,WAAW,KAAK,IAAI,IAAIA,WAAW,KAAKE,SAAS,IAAIF,WAAW,KAAK,EAAE,EAAE;QACzE,OAAO;UAAEG,OAAO,EAAE,KAAK;UAAEC,YAAY,EAAE;QAA0B,CAAC;MACtE;MACA,OAAO;QAAED,OAAO,EAAE;MAAK,CAAC;IAC5B;EACJ;EAEA,MAAME,kBAAkB,CAAuB;IAC3CN,QAAQA,CAACC,WAAoB,EAAEC,IAAc,EAAqB;MAC9D,IAAI,OAAOD,WAAW,KAAK,QAAQ,IAAIC,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;QACrE,IAAID,WAAW,CAACM,MAAM,GAAGL,IAAI,EAAE;UAC3B,OAAO;YAAEE,OAAO,EAAE,KAAK;YAAEC,YAAY,EAAE,qBAAqBH,IAAI;UAAe,CAAC;QACpF;MACJ;MACA,OAAO;QAAEE,OAAO,EAAE;MAAK,CAAC;IAC5B;EACJ;;EAGA;AACA;AACA;AACA;AACA;AACA;AACA;EACO,MAAMI,eAAe,CAAC;IACzB;IACgBC,UAAU,GAAyB,IAAIhC,QAAQ,CAAa,YAAY,CAAC;IACzF;IACgBiC,OAAO,GAAsB,IAAIjC,QAAQ,CAAU,SAAS,CAAC;IAC7E;IACgBkC,UAAU,GAAyB,IAAIlC,QAAQ,CAAa,YAAY,CAAC;;IAEzF;AACJ;AACA;IACImC,WAAWA,CAAA,EAAG;MACV;MACA,IAAI,CAACD,UAAU,CAACE,QAAQ,CAAC,UAAU,EAAE,IAAId,iBAAiB,CAAC,CAAC,CAAC;MAC7D,IAAI,CAACY,UAAU,CAACE,QAAQ,CAAC,WAAW,EAAE,IAAIP,kBAAkB,CAAC,CAAC,CAAC;MAC/D,IAAI,CAACK,UAAU,CAACE,QAAQ,CAAC,SAAS,EAAE,IAAIlC,sBAAsB,CAAC,CAAC,CAAC;MACjE,IAAI,CAACgC,UAAU,CAACE,QAAQ,CAAC,WAAW,EAAE,IAAIhC,wBAAwB,CAAC,CAAC,CAAC;MACrE,IAAI,CAAC8B,UAAU,CAACE,QAAQ,CAAC,OAAO,EAAE,IAAI9B,oBAAoB,CAAC,CAAC,CAAC;MAC7D,IAAI,CAAC4B,UAAU,CAACE,QAAQ,CAAC,KAAK,EAAE,IAAI5B,kBAAkB,CAAC,CAAC,CAAC;MACzD,IAAI,CAAC0B,UAAU,CAACE,QAAQ,CAAC,MAAM,EAAE,IAAI1B,mBAAmB,CAAC,CAAC,CAAC;MAC3D,IAAI,CAACwB,UAAU,CAACE,QAAQ,CAAC,OAAO,EAAE,IAAIxB,oBAAoB,CAAC,CAAC,CAAC;;MAE7D;MACA,IAAI,CAACoB,UAAU,CAACI,QAAQ,CAAC,MAAM,EAAE,IAAItB,mBAAmB,CAAC,CAAC,CAAC;MAC3D,IAAI,CAACkB,UAAU,CAACI,QAAQ,CAAC,OAAO,EAAE,IAAIpB,oBAAoB,CAAC,CAAC,CAAC;MAC7D,IAAI,CAACgB,UAAU,CAACI,QAAQ,CAAC,UAAU,EAAE,IAAIlB,uBAAuB,CAAC,CAAC,CAAC;IACvE;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;IACWmB,iBAAiBA,CAACb,WAAoB,EAAEc,mBAA6B,EAAEC,OAA6B,EAAqB;MAC5H,KAAK,MAAMC,IAAI,IAAIF,mBAAmB,EAAE;QACpC,MAAMG,SAAS,GAAG,IAAI,CAACP,UAAU,CAACQ,GAAG,CAACF,IAAI,CAAC;QAC3C,IAAIC,SAAS,EAAE;UACX,MAAMhB,IAAI,GAAGc,OAAO,GAAGA,OAAO,CAACC,IAAI,CAAC,GAAGd,SAAS;UAChD,MAAMiB,MAAM,GAAGF,SAAS,CAAClB,QAAQ,CAACC,WAAW,EAAEC,IAAI,CAAC;UACpD,IAAI,CAACkB,MAAM,CAAChB,OAAO,EAAE;YACjB,OAAOgB,MAAM,CAAC,CAAC;UACnB;QACJ,CAAC,MAAM;UACHvB,MAAM,CAACwB,IAAI,CAAC,kDAAkDJ,IAAI,0BAA0B,CAAC;QACjG;MACJ;MACA,OAAO;QAAEb,OAAO,EAAE;MAAK,CAAC;IAC5B;EACJ;;EAEA;AACA;AACA;AACA;EACO,MAAMkB,cAAc,GAAG,IAAId,eAAe,CAAC,CAAC;EAAC,IAAAe,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAAf,eAAA,GAAAA,eAAA;EAAAe,SAAA,CAAAD,cAAA,GAAAA,cAAA;EAAA,OAAAC,SAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,49 @@
1
+ declare module "nz/co/siliconst/ui5/metaui/core/PipelineManager" {
2
+ /**
3
+ * @file PipelineManager.ts
4
+ * @description Central manager for the data manipulation pipeline.
5
+ * Orchestrates Formatting, Parsing, and Validating data using the generic Registry.
6
+ */
7
+ import { Registry } from "nz/co/siliconst/ui5/metaui/core/Registry";
8
+ import { IFormatter, IParser, IValidator, IValidationResult } from "nz/co/siliconst/ui5/metaui/interfaces/IPipeline";
9
+ class RequiredValidator implements IValidator {
10
+ validate(parsedValue: unknown, args?: unknown): IValidationResult;
11
+ }
12
+ class MaxLengthValidator implements IValidator {
13
+ validate(parsedValue: unknown, args?: unknown): IValidationResult;
14
+ }
15
+ /**
16
+ * The core engine responsible for marshalling data through the validation, formatting, and parsing phases.
17
+ * Pluggable design allows new validators to be registered dynamically.
18
+ *
19
+ * @namespace nz.co.siliconst.ui5.metaui.core
20
+ * @public
21
+ */
22
+ export class PipelineManager {
23
+ /** Registry of data formatters applied before pushing to the UI. */
24
+ readonly formatters: Registry<IFormatter>;
25
+ /** Registry of data parsers applied when pulling data from the UI. */
26
+ readonly parsers: Registry<IParser>;
27
+ /** Registry of business logic validators. */
28
+ readonly validators: Registry<IValidator>;
29
+ /**
30
+ * Bootstraps the PipelineManager with default validators (required, maxLength, email).
31
+ */
32
+ constructor();
33
+ /**
34
+ * Executes the validation pipeline sequentially. Fails fast on the first encountered error.
35
+ *
36
+ * @param parsedValue The raw extracted value from the UI control.
37
+ * @param requestedValidators Array of validation rule keys (e.g. ['required', 'email']).
38
+ * @param argsMap Optional map of parameters required by specific rules (e.g. { maxLength: 50 }).
39
+ * @returns {IValidationResult} The final result state and any associated error message.
40
+ */
41
+ executeValidation(parsedValue: unknown, requestedValidators: string[], argsMap?: Record<string, any>): IValidationResult;
42
+ }
43
+ /**
44
+ * Singleton instance for global access to the active validation pipeline.
45
+ * @public
46
+ */
47
+ export const GlobalPipeline: PipelineManager;
48
+ }
49
+ //# sourceMappingURL=PipelineManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PipelineManager.d.ts","sourceRoot":"../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/core/PipelineManager.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,iDAAiD,CAAC;IACjE;;;;OAIG;IAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;IACpE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,iDAAiD,CAAC;IAarH,MAAM,iBAAkB,YAAW,UAAU;QACzC,QAAQ,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,iBAAiB;KAMpE;IAED,MAAM,kBAAmB,YAAW,UAAU;QAC1C,QAAQ,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,iBAAiB;KAQpE;IAGD;;;;;;OAMG;IACH,MAAa,eAAe;QACxB,oEAAoE;QACpE,SAAgB,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAA0C;QAC1F,sEAAsE;QACtE,SAAgB,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAoC;QAC9E,6CAA6C;QAC7C,SAAgB,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAA0C;QAE1F;;WAEG;;QAkBH;;;;;;;WAOG;QACI,iBAAiB,CAAC,WAAW,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,iBAAiB;KAelI;IAED;;;OAGG;IACI,MAAM,cAAc,iBAAwB,CAAC;CAEnD"}
@@ -0,0 +1,2 @@
1
+ sap.ui.define(["./Registry","../plugins/validators/PatternValidatorPlugin","../plugins/validators/MinLengthValidatorPlugin","../plugins/validators/RangeValidatorPlugin","../plugins/validators/UrlValidatorPlugin","../plugins/validators/IbanValidatorPlugin","../plugins/validators/EmailValidatorPlugin","../plugins/formatters/DateFormatterPlugin","../plugins/formatters/PhoneFormatterPlugin","../plugins/formatters/TextCaseFormatterPlugin","../utils/Logger"],function(t,e,r,i,a,s,n,l,o,g,u){"use strict";const d=t["Registry"];const c=e["PatternValidatorPlugin"];const P=r["MinLengthValidatorPlugin"];const f=i["RangeValidatorPlugin"];const h=a["UrlValidatorPlugin"];const m=s["IbanValidatorPlugin"];const v=n["EmailValidatorPlugin"];const V=l["DateFormatterPlugin"];const p=o["PhoneFormatterPlugin"];const w=g["TextCaseFormatterPlugin"];const M=u["Logger"];class F{validate(t,e){if(t===null||t===undefined||t===""){return{isValid:false,errorMessage:"This field is required."}}return{isValid:true}}}class x{validate(t,e){if(typeof t==="string"&&e&&typeof e==="number"){if(t.length>e){return{isValid:false,errorMessage:`Maximum length is ${e} characters.`}}}return{isValid:true}}}class L{formatters=new d("Formatters");parsers=new d("Parsers");validators=new d("Validators");constructor(){this.validators.register("required",new F);this.validators.register("maxLength",new x);this.validators.register("pattern",new c);this.validators.register("minLength",new P);this.validators.register("range",new f);this.validators.register("url",new h);this.validators.register("iban",new m);this.validators.register("email",new v);this.formatters.register("date",new V);this.formatters.register("phone",new p);this.formatters.register("textCase",new w)}executeValidation(t,e,r){for(const i of e){const e=this.validators.get(i);if(e){const a=r?r[i]:undefined;const s=e.validate(t,a);if(!s.isValid){return s}}else{M.warn(`[MetaUI] PipelineManager: Requested validator '${i}' not found in registry.`)}}return{isValid:true}}}const b=new L;var y={__esModule:true};y.PipelineManager=L;y.GlobalPipeline=b;return y});
2
+ //# sourceMappingURL=PipelineManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PipelineManager.js","names":["Registry","___Registry","PatternValidatorPlugin","___plugins_validators_PatternValidatorPlugin","MinLengthValidatorPlugin","___plugins_validators_MinLengthValidatorPlugin","RangeValidatorPlugin","___plugins_validators_RangeValidatorPlugin","UrlValidatorPlugin","___plugins_validators_UrlValidatorPlugin","IbanValidatorPlugin","___plugins_validators_IbanValidatorPlugin","EmailValidatorPlugin","___plugins_validators_EmailValidatorPlugin","DateFormatterPlugin","___plugins_formatters_DateFormatterPlugin","PhoneFormatterPlugin","___plugins_formatters_PhoneFormatterPlugin","TextCaseFormatterPlugin","___plugins_formatters_TextCaseFormatterPlugin","Logger","___utils_Logger","RequiredValidator","validate","parsedValue","args","undefined","isValid","errorMessage","MaxLengthValidator","length","PipelineManager","formatters","parsers","validators","constructor","this","register","executeValidation","requestedValidators","argsMap","rule","validator","get","result","warn","GlobalPipeline","__exports","__esModule"],"sources":["PipelineManager.ts"],"sourcesContent":["/**\n * @file PipelineManager.ts\n * @description Central manager for the data manipulation pipeline. \n * Orchestrates Formatting, Parsing, and Validating data using the generic Registry.\n */\n\nimport { Registry } from \"./Registry\";\nimport { IFormatter, IParser, IValidator, IValidationResult } from \"../interfaces/IPipeline\";\nimport { PatternValidatorPlugin } from \"../plugins/validators/PatternValidatorPlugin\";\nimport { MinLengthValidatorPlugin } from \"../plugins/validators/MinLengthValidatorPlugin\";\nimport { RangeValidatorPlugin } from \"../plugins/validators/RangeValidatorPlugin\";\nimport { UrlValidatorPlugin } from \"../plugins/validators/UrlValidatorPlugin\";\nimport { IbanValidatorPlugin } from \"../plugins/validators/IbanValidatorPlugin\";\nimport { EmailValidatorPlugin } from \"../plugins/validators/EmailValidatorPlugin\";\nimport { DateFormatterPlugin } from \"../plugins/formatters/DateFormatterPlugin\";\nimport { PhoneFormatterPlugin } from \"../plugins/formatters/PhoneFormatterPlugin\";\nimport { TextCaseFormatterPlugin } from \"../plugins/formatters/TextCaseFormatterPlugin\";\nimport { Logger } from \"../utils/Logger\";\n\n// --- Built-in Default Validators ---\nclass RequiredValidator implements IValidator {\n validate(parsedValue: unknown, args?: unknown): IValidationResult {\n if (parsedValue === null || parsedValue === undefined || parsedValue === \"\") {\n return { isValid: false, errorMessage: \"This field is required.\" };\n }\n return { isValid: true };\n }\n}\n\nclass MaxLengthValidator implements IValidator {\n validate(parsedValue: unknown, args?: unknown): IValidationResult {\n if (typeof parsedValue === \"string\" && args && typeof args === \"number\") {\n if (parsedValue.length > args) {\n return { isValid: false, errorMessage: `Maximum length is ${args} characters.` };\n }\n }\n return { isValid: true };\n }\n}\n\n\n/**\n * The core engine responsible for marshalling data through the validation, formatting, and parsing phases.\n * Pluggable design allows new validators to be registered dynamically.\n * \n * @namespace nz.co.siliconst.ui5.metaui.core\n * @public\n */\nexport class PipelineManager {\n /** Registry of data formatters applied before pushing to the UI. */\n public readonly formatters: Registry<IFormatter> = new Registry<IFormatter>(\"Formatters\");\n /** Registry of data parsers applied when pulling data from the UI. */\n public readonly parsers: Registry<IParser> = new Registry<IParser>(\"Parsers\");\n /** Registry of business logic validators. */\n public readonly validators: Registry<IValidator> = new Registry<IValidator>(\"Validators\");\n\n /**\n * Bootstraps the PipelineManager with default validators (required, maxLength, email).\n */\n constructor() {\n // Register default validators\n this.validators.register(\"required\", new RequiredValidator());\n this.validators.register(\"maxLength\", new MaxLengthValidator());\n this.validators.register(\"pattern\", new PatternValidatorPlugin());\n this.validators.register(\"minLength\", new MinLengthValidatorPlugin());\n this.validators.register(\"range\", new RangeValidatorPlugin());\n this.validators.register(\"url\", new UrlValidatorPlugin());\n this.validators.register(\"iban\", new IbanValidatorPlugin());\n this.validators.register(\"email\", new EmailValidatorPlugin());\n\n // Register default formatters\n this.formatters.register(\"date\", new DateFormatterPlugin());\n this.formatters.register(\"phone\", new PhoneFormatterPlugin());\n this.formatters.register(\"textCase\", new TextCaseFormatterPlugin());\n }\n\n /**\n * Executes the validation pipeline sequentially. Fails fast on the first encountered error.\n * \n * @param parsedValue The raw extracted value from the UI control.\n * @param requestedValidators Array of validation rule keys (e.g. ['required', 'email']).\n * @param argsMap Optional map of parameters required by specific rules (e.g. { maxLength: 50 }).\n * @returns {IValidationResult} The final result state and any associated error message.\n */\n public executeValidation(parsedValue: unknown, requestedValidators: string[], argsMap?: Record<string, any>): IValidationResult {\n for (const rule of requestedValidators) {\n const validator = this.validators.get(rule);\n if (validator) {\n const args = argsMap ? argsMap[rule] : undefined;\n const result = validator.validate(parsedValue, args);\n if (!result.isValid) {\n return result; // Fast fail on first error\n }\n } else {\n Logger.warn(`[MetaUI] PipelineManager: Requested validator '${rule}' not found in registry.`);\n }\n }\n return { isValid: true };\n }\n}\n\n/** \n * Singleton instance for global access to the active validation pipeline. \n * @public \n */\nexport const GlobalPipeline = new PipelineManager();\n"],"mappings":"sfAAA,MAMSA,EAAQC,EAAA,kBAERC,EAAsBC,EAAA,gCACtBC,EAAwBC,EAAA,kCACxBC,EAAoBC,EAAA,8BACpBC,EAAkBC,EAAA,4BAClBC,EAAmBC,EAAA,6BACnBC,EAAoBC,EAAA,8BACpBC,EAAmBC,EAAA,6BACnBC,EAAoBC,EAAA,8BACpBC,EAAuBC,EAAA,iCACvBC,EAAMC,EAAA,UAGf,MAAMC,EACFC,SAASC,EAAsBC,GAC3B,GAAID,IAAgB,MAAQA,IAAgBE,WAAaF,IAAgB,GAAI,CACzE,MAAO,CAAEG,QAAS,MAAOC,aAAc,0BAC3C,CACA,MAAO,CAAED,QAAS,KACtB,EAGJ,MAAME,EACFN,SAASC,EAAsBC,GAC3B,UAAWD,IAAgB,UAAYC,UAAeA,IAAS,SAAU,CACrE,GAAID,EAAYM,OAASL,EAAM,CAC3B,MAAO,CAAEE,QAAS,MAAOC,aAAc,qBAAqBH,gBAChE,CACJ,CACA,MAAO,CAAEE,QAAS,KACtB,EAWG,MAAMI,EAEOC,WAAmC,IAAIhC,EAAqB,cAE5DiC,QAA6B,IAAIjC,EAAkB,WAEnDkC,WAAmC,IAAIlC,EAAqB,cAK5EmC,cAEIC,KAAKF,WAAWG,SAAS,WAAY,IAAIf,GACzCc,KAAKF,WAAWG,SAAS,YAAa,IAAIR,GAC1CO,KAAKF,WAAWG,SAAS,UAAW,IAAInC,GACxCkC,KAAKF,WAAWG,SAAS,YAAa,IAAIjC,GAC1CgC,KAAKF,WAAWG,SAAS,QAAS,IAAI/B,GACtC8B,KAAKF,WAAWG,SAAS,MAAO,IAAI7B,GACpC4B,KAAKF,WAAWG,SAAS,OAAQ,IAAI3B,GACrC0B,KAAKF,WAAWG,SAAS,QAAS,IAAIzB,GAGtCwB,KAAKJ,WAAWK,SAAS,OAAQ,IAAIvB,GACrCsB,KAAKJ,WAAWK,SAAS,QAAS,IAAIrB,GACtCoB,KAAKJ,WAAWK,SAAS,WAAY,IAAInB,EAC7C,CAUOoB,kBAAkBd,EAAsBe,EAA+BC,GAC1E,IAAK,MAAMC,KAAQF,EAAqB,CACpC,MAAMG,EAAYN,KAAKF,WAAWS,IAAIF,GACtC,GAAIC,EAAW,CACX,MAAMjB,EAAOe,EAAUA,EAAQC,GAAQf,UACvC,MAAMkB,EAASF,EAAUnB,SAASC,EAAaC,GAC/C,IAAKmB,EAAOjB,QAAS,CACjB,OAAOiB,CACX,CACJ,KAAO,CACHxB,EAAOyB,KAAK,kDAAkDJ,4BAClE,CACJ,CACA,MAAO,CAAEd,QAAS,KACtB,EAOG,MAAMmB,EAAiB,IAAIf,EAAkB,IAAAgB,EAAA,CAAAC,WAAA,MAAAD,EAAAhB,kBAAAgB,EAAAD,iBAAA,OAAAC,CAAA","ignoreList":[]}