@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
package/README.md CHANGED
@@ -1,123 +1,203 @@
1
- # MetaUI - Dynamic SAP UI5 Rendering Engine
2
-
3
- MetaUI is an UI5 library that dynamically generates fully accessible, Fiori-compliant forms and tables purely from JSON schemas. It utilizes an **Isolated State Pattern** to entirely decouple from host OData bindings, yielding a clean JSON payload upon submission.
4
-
5
- ## 🏗️ Architecture
6
- 1. **Standard UI5**: Relies strictly on native UI5 layout grids (`sap.ui.layout.form.SimpleForm`, `sap.m.Table`).
7
- 2. **Schema Normalization**: Ingests ABAP RTTI JSON payloads and normalizes them into a strict `ISchema` layout matrix.
8
- 3. **Plugin Registry**: Maps primitive schema types (`string`, `number`, `boolean`, `dropdown`, `date`) directly to discrete UI5 control plugins (`sap.m.Input`, `sap.m.StepInput`, etc.).
9
-
10
- ## 📚 Documentation Wiki
11
- Full payload references and API details are tracked in Git under the `docs/` folder:
12
- * [Payload Formats & Schema API](docs/payload_formats.md)
13
-
14
- ## 🚀 How to Test the Sandbox
15
-
16
- To understand how the engine works, a standalone test sandbox has been provided. It asynchronously loads two physical files:
17
- * `test/mockSchema.json` - The schema definition detailing field types, required states, and dropdown arrays.
18
- * `test/mockData.json` - The initial state payload to populate the form.
19
-
20
- ### Running the Test
21
- You **cannot** run this test by double-clicking the `index.html` file due to browser CORS restrictions blocking `fetch()`. You must run it via a local web server.
22
-
23
- 1. Open a terminal in the root `MetaUI` project folder.
24
- 2. Run a static file server using Node.js:
25
- ```bash
26
- npx serve -p 8080 .
27
- ```
28
- 3. Open your web browser and navigate to:
29
- `http://localhost:8080/test/index.html`
30
- 4. Click **"Open MetaUI Dialog"**.
31
- 5. Modify the values in the form. Notice the built-in validation rules (e.g., required fields, dropdown selections).
32
- 6. Click **Save**. The clean, extracted JSON payload will be printed directly to the text area.
33
-
34
- ## 📦 Installation (NPM)
35
-
36
- If you are developing a modern UI5 application utilizing `ui5-tooling`, you can pull this engine in directly via NPM (once published to your internal registry):
37
-
38
- ```bash
39
- npm install @siliconst/ui5-metaui
40
- ```
41
-
42
- ### 1. ui5.yaml Configuration
43
- Ensure your application consumes the library by adding it to your `ui5.yaml` dependencies:
44
-
45
- ```yaml
46
- specVersion: "3.0"
47
- metadata:
48
- name: my.custom.app
49
- type: application
50
- builder:
51
- customTasks:
52
- - name: ui5-tooling-transpile-task
53
- afterTask: replaceVersion
54
- ---
55
- specVersion: "3.0"
56
- kind: extension
57
- type: project-shim
58
- metadata:
59
- name: my.custom.app.shim
60
- shims:
61
- configurations:
62
- "@siliconst/ui5-metaui":
63
- type: library
64
- ```
65
-
66
- ### 2. manifest.json Registration
67
- You must explicitly declare the library dependency in your application's `manifest.json` so the UI5 core automatically downloads the runtime files and triggers the internal `PluginRegistry` bootstrapper.
68
-
69
- ```json
70
- "sap.ui5": {
71
- "dependencies": {
72
- "minUI5Version": "1.120.0",
73
- "libs": {
74
- "sap.m": {},
75
- "sap.ui.core": {},
76
- "nz.co.siliconst.ui5.metaui": {}
77
- }
78
- }
79
- }
80
- ```
81
-
82
- ## 💻 Instantiating the Engine in your Controller
83
-
84
- Once installed and registered, simply require the `GeneratorHost` control in your view controllers:
85
-
86
- ```javascript
87
- sap.ui.define([
88
- "sap/ui/core/mvc/Controller",
89
- "nz/co/siliconst/ui5/metaui/controls/GeneratorHost"
90
- ], function(Controller, GeneratorHost) {
91
- return Controller.extend("my.app.controller.Main", {
92
-
93
- openDynamicForm: function(schemaPayload, dataPayload) {
94
- const host = new GeneratorHost({
95
- schemaDefinition: schemaPayload, // The RTTI schema from ABAP
96
- initialData: dataPayload, // Your isolated JSON payload
97
- submit: (oEvent) => {
98
- const finalJsonPayload = oEvent.getParameter("payload");
99
- // Send finalJsonPayload back to SAP ABAP via your REST/OData API!
100
- }
101
- });
102
-
103
- host.openInDialog("Edit Customer");
104
- }
105
- });
106
- });
107
- ```
108
-
109
- ## 🔗 Declarative XML Model Binding
110
- Because `GeneratorHost` extends `sap.ui.core.Control`, you can also embed it directly into your XML Views and bind standard UI5 Models (JSON, OData) natively to its properties.
111
-
112
- First, add the namespace to your XML View:
113
- ```xml
114
- xmlns:meta="nz.co.siliconst.ui5.metaui.controls"
115
- ```
116
-
117
- Then bind your host application's models directly to the control:
118
- ```xml
119
- <meta:GeneratorHost
120
- schemaDefinition="{schemaModel>/CustomerSchema}"
121
- initialData="{odataModel>/Customers('1001')}" />
122
- ```
123
- *Note: The engine will safely clone the incoming `initialData` into its own isolated state, preventing any unwanted two-way binding bleed into your host OData models until you explicitly catch the `submit` event!*
1
+ # MetaUI
2
+
3
+ **MetaUI** is an extensible, metadata-driven UI engine built on top of SAP UI5. Instead of relying on static XML views, it parses standard JSON Schema definitions at runtime to dynamically generate SAP Fiori component trees. This enables server-driven architectures where the UI structure and data bindings are determined entirely by the incoming payload.
4
+
5
+ ## MetaUI vs. Fiori Elements
6
+ It is important to note that MetaUI is **not** an attempt to replace SAP Fiori Elements. Fiori Elements is a robust framework for building UIs driven by static OData CDS annotations.
7
+
8
+ MetaUI is designed for use cases where **CDS annotations are unavailable, impossible, or too rigid.**
9
+ - **Highly Dynamic**: MetaUI parses standard JSON Schemas at runtime, allowing you to generate completely dynamic layouts based on user roles, remote APIs, or NoSQL databases where the schema isn't known until execution.
10
+ - **Backend Agnostic**: Because it relies on universal JSON rather than OData metadata, MetaUI can be plugged into virtually any tech stack (Node.js, Firebase, GraphQL, REST).
11
+
12
+ ## 🚀 Key Features
13
+
14
+ Built for strict UI5 architecture adherence, MetaUI enforces modularity through a Plugin-based design and explicitly avoids inline DOM manipulation.
15
+
16
+ - **100% Schema Inference**: Bind raw JSON to the new `DynamicHost` and the engine will instantly infer the metadata, schema, and layout on the fly.
17
+ - **Hybrid / Partial Schema Inference**: Supports the standard JSON-Schema `additionalProperties: true` directive. Provide a minimal "Partial Schema" to override specific UI elements (e.g. converting a string into a dropdown), and the engine will recursively deep-merge it with an automatically inferred schema generated from the rest of your data payload.
18
+ - **Strict Array Routing**: Pure contract-based routing strictly separates sub-layouts (arrays of objects) from inline field plugins (primitive arrays), enabling flawless complex nested rendering without hacky edge cases.
19
+ - **True Two-Way Sync**: Safely double-bind `data` and `data` to the exact same UI5 model property. Built-in `deepEqual` loop-breakers catch UI5 data echoes, perfectly preserving user cursor focus during live model swaps.
20
+
21
+ ✨ **[Play with the Live Interactive Demo Here!](https://SiliconStreetDev1.github.io/MetaUI/index.html)** ✨
22
+
23
+ ---
24
+
25
+ ## 📚 Technical Documentation
26
+
27
+ For detailed information regarding the JSON Schema properties, `ui.*` orchestrations, and recursive nested arrays, consult the payload formats specification:
28
+
29
+ - [MetaUI Documentation Wiki](docs/wiki/Home.md)
30
+ - [Payload Formats & Directives](docs/payload_formats.md)
31
+ - [Fiori Integration Guide](docs/fiori_integration.md)
32
+ - [Custom Plugin Authorship Guide](docs/plugin_authorship.md)
33
+
34
+ ---
35
+
36
+ ## 🏗 Architecture & Design Tenets
37
+
38
+ 1. **JSON-Schema Core:** MetaUI parses standard recursive JSON Schema `properties` blocks (`Record<string, IPropertyMetadata>`).
39
+ 2. **Implicit Layout Orchestration:** The `Engine` determines standard Layouts based on payload shape. Root `object` types map to `FormLayout` clusters. Root `array` types map to `TableLayout` instances. Nested arrays trigger recursive drill-down dialogs.
40
+ 3. **ConditionEngine Compilation:** Cross-context visibility rules (e.g., `"$root.status === 'DRAFT'"`) are transpiled into native UI5 Expression Bindings to utilize native reactivity.
41
+ 4. **Universal Plugin Architecture:** The `PluginRegistry` isolates control instantiation. Core layout managers delegate to registered implementations of `IPlugin`. Plugins are rigorously segregated into:
42
+ - `plugins/controls/`: Visual UI components (e.g., String, Date).
43
+ - `plugins/validators/`: Custom business logic constraints.
44
+ - `plugins/formatters/`: Data transformation utilities.
45
+ - `plugins/actions/`: Button and execution handlers.
46
+ - `plugins/datasources/`: Remote value help providers.
47
+
48
+ ---
49
+
50
+ ## 🚀 Quick Start (Sandbox)
51
+
52
+ The repository contains an internal UI5 sandbox for testing the engine's inference logic.
53
+
54
+ ```bash
55
+ # Install dependencies
56
+ npm install
57
+
58
+ # Run the UI5 development server (Sandbox application)
59
+ npm run start
60
+ ```
61
+ The test suite will boot at `http://localhost:8080/index.html`.
62
+
63
+ ---
64
+
65
+ ## 🛠 Integration
66
+
67
+ ### Installation
68
+
69
+ Import the compiled library namespace into your UI5 project.
70
+
71
+ ```javascript
72
+ sap.ui.require(["nz/co/siliconst/ui5/metaui/controls/DynamicHost"], function (DynamicHost) {
73
+ const host = new DynamicHost({
74
+ // The Schema Definition
75
+ schemaDefinition: {
76
+ type: "object",
77
+ uiLayout: [
78
+ {
79
+ type: "Group",
80
+ label: "User Settings",
81
+ elements: [
82
+ { type: "Control", scope: "#/properties/Username" },
83
+ { type: "Control", scope: "#/properties/IsActive" }
84
+ ]
85
+ }
86
+ ],
87
+ properties: {
88
+ Username: { type: "string", ui: { label: "User Name" } },
89
+ IsActive: { type: "boolean", ui: { label: "Active", widget: "switch" } }
90
+ }
91
+ },
92
+ // The Data Payload
93
+ data: {
94
+ "FirstName": "John",
95
+ "LastName": "Doe"
96
+ },
97
+ });
98
+
99
+ // Option A: Render inside an existing container
100
+ myVBox.addItem(host);
101
+
102
+ // Option B: Mount as an isolated Dialog
103
+ host.openInDialog("User Configuration", "OK");
104
+
105
+ // Capture the extracted JSON payload on submit
106
+ host.attachSubmit(function(oEvent) {
107
+ const payload = oEvent.getParameter("payload");
108
+ console.log(payload);
109
+ });
110
+ });
111
+ ```
112
+
113
+ ### Declarative XML Binding
114
+
115
+ The `DynamicHost` fully supports declarative XML instantiation in traditional UI5 views:
116
+
117
+ ```xml
118
+ <mvc:View
119
+ xmlns:mvc="sap.ui.core.mvc"
120
+ xmlns:meta="nz.co.siliconst.ui5.metaui.controls">
121
+
122
+ <meta:DynamicHost
123
+ id="dynamicFormHost"
124
+ schemaDefinition="{backend>/SchemaDefinition}"
125
+ data="{backend>/PayloadData}"
126
+ useMessageManager="true"
127
+ submit=".onMetaFormSubmit" />
128
+
129
+ </mvc:View>
130
+ ```
131
+
132
+ ### Validation
133
+
134
+ MetaUI supports client-side validation based on JSON Schema constraints natively.
135
+
136
+ #### Mandatory Fields
137
+ Adding `"required": true` to any property in the schema will enforce input validation prior to the `submit` event being fired.
138
+
139
+ ### Custom Validation Exits (`beforeSubmit`)
140
+ For business logic requiring custom checks (e.g., async validation), the `DynamicHost` provides a `beforeSubmit` event.
141
+
142
+ ```javascript
143
+ onBeforeSubmit: function(oEvent) {
144
+ const payload = oEvent.getParameter("payload");
145
+ const preventDefault = oEvent.getParameter("preventDefault");
146
+ const addError = oEvent.getParameter("addError");
147
+
148
+ if (payload.CustomerName === "Reserved") {
149
+ addError("CustomerName", "This customer name is reserved.");
150
+ preventDefault();
151
+ }
152
+ }
153
+ ```
154
+
155
+ ### Asynchronous Field Validation (`fieldChange`)
156
+ For real-time validation (like checking if a username is taken), listen to the `fieldChange` event. You can lock the form using `setBusy(true)`, perform your async check, and imperatively paint the field red using `addCustomError()` if the check fails.
157
+
158
+ ```javascript
159
+ onFieldChange: function(oEvent) {
160
+ const fieldPath = oEvent.getParameter("fieldPath");
161
+ const value = oEvent.getParameter("value");
162
+ const host = oEvent.getSource();
163
+
164
+ if (fieldPath === "Username") {
165
+ host.setBusy(true); // Lock the UI5 form
166
+
167
+ myBackendService.checkUsername(value).then((isTaken) => {
168
+ if (isTaken) {
169
+ host.addCustomError("Username", "This username is taken.");
170
+ } else {
171
+ host.clearCustomError("Username");
172
+ }
173
+ }).finally(() => {
174
+ host.setBusy(false); // Unlock
175
+ });
176
+ }
177
+ }
178
+ ```
179
+
180
+ ### Fiori Message Manager Integration
181
+ By default, validation errors are shown locally. To aggregate validation errors into the global UI5 Message Popover, enable `useMessageManager` on the `DynamicHost`:
182
+
183
+ ```xml
184
+ <meta:DynamicHost
185
+ schemaDefinition="{/mySchema}"
186
+ useMessageManager="true"
187
+ beforeSubmit=".onBeforeSubmit"
188
+ submit=".onSubmit" />
189
+ ```
190
+
191
+
192
+
193
+ ---
194
+
195
+ ## ⚖️ License & Disclaimer
196
+
197
+ **MIT License**
198
+
199
+ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
200
+
201
+ > [!WARNING]
202
+ > **Disclaimer**: This software is provided "as is", without warranty of any kind, express or implied. Use of this project in production environments is at your own risk. The authors shall not be liable for any damages or issues arising from its usage.
203
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@siliconst/metaui",
3
- "version": "1.0.2",
3
+ "version": "1.4.4",
4
4
  "description": "Dynamic Metadata UI5 Engine",
5
5
  "author": "SiliconStreetDev1",
6
6
  "license": "MIT",
@@ -18,5 +18,6 @@
18
18
  "test-resources",
19
19
  "ui5.yaml",
20
20
  "README.md"
21
- ]
21
+ ],
22
+ "types": "index.d.ts"
22
23
  }
@@ -1,7 +1,7 @@
1
- <?xml version="1.0" encoding="UTF-8" ?>
2
- <library xmlns="http://www.sap.com/sap.ui.library.xsd">
3
- <name>nz.co.siliconst.ui5.metaui</name>
4
- <vendor>Siliconst</vendor>
5
- <version>1.0.0</version>
6
- <title>MetaUI Engine</title>
7
- </library>
1
+ <?xml version="1.0" encoding="UTF-8" ?>
2
+ <library xmlns="http://www.sap.com/sap.ui.library.xsd">
3
+ <name>nz.co.siliconst.ui5.metaui</name>
4
+ <vendor>Siliconst</vendor>
5
+ <version>1.0.0</version>
6
+ <title>MetaUI Engine</title>
7
+ </library>
@@ -0,0 +1,70 @@
1
+ sap.ui.define(["sap/ui/core/Control", "./BaseHardwareControlRenderer"], function (Control, __BaseHardwareControlRenderer) {
2
+ "use strict";
3
+
4
+ function _interopRequireDefault(obj) {
5
+ return obj && obj.__esModule && typeof obj.default !== "undefined" ? obj.default : obj;
6
+ }
7
+ const BaseHardwareControlRenderer = _interopRequireDefault(__BaseHardwareControlRenderer);
8
+ /**
9
+ * @namespace nz.co.siliconst.ui5.metaui.controls
10
+ */
11
+ const BaseHardwareControl = Control.extend("nz.co.siliconst.ui5.metaui.controls.BaseHardwareControl", {
12
+ /**
13
+ * Common renderer for all hardware controls
14
+ */
15
+ renderer: BaseHardwareControlRenderer,
16
+ metadata: {
17
+ properties: {
18
+ /** The raw data value. Two-way bound to the model. */
19
+ value: {
20
+ type: "any",
21
+ defaultValue: null
22
+ },
23
+ /** The schema metadata for rendering dynamic hints (like labels/readOnly) */
24
+ schemaMetadata: {
25
+ type: "object",
26
+ defaultValue: null
27
+ },
28
+ /** Indicates if the control should be in a read-only state */
29
+ readOnly: {
30
+ type: "boolean",
31
+ defaultValue: false
32
+ }
33
+ },
34
+ aggregations: {
35
+ _content: {
36
+ type: "sap.m.VBox",
37
+ multiple: false,
38
+ visibility: "hidden"
39
+ }
40
+ },
41
+ events: {
42
+ /** Fired when the hardware successfully captures a value */
43
+ capture: {
44
+ parameters: {
45
+ value: {
46
+ type: "any"
47
+ }
48
+ }
49
+ }
50
+ }
51
+ },
52
+ /**
53
+ * Updates the bound value and fires the capture event.
54
+ */
55
+ setValueAndFire: function _setValueAndFire(val) {
56
+ this.setProperty("value", val, true); // true to suppress re-rendering if desired, but we want the binding to update
57
+ this.fireEvent("capture", {
58
+ value: val
59
+ });
60
+ },
61
+ /**
62
+ * Abstract hook for subclasses to render their specific DOM/Controls.
63
+ */
64
+ renderContent: function _renderContent(rm, control) {
65
+ // To be overridden by hardware implementations
66
+ }
67
+ });
68
+ return BaseHardwareControl;
69
+ });
70
+ //# sourceMappingURL=BaseHardwareControl-dbg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseHardwareControl-dbg.js","names":["BaseHardwareControlRenderer","_interopRequireDefault","__BaseHardwareControlRenderer","BaseHardwareControl","Control","extend","renderer","metadata","properties","value","type","defaultValue","schemaMetadata","readOnly","aggregations","_content","multiple","visibility","events","capture","parameters","setValueAndFire","_setValueAndFire","val","setProperty","fireEvent","renderContent","_renderContent","rm","control"],"sources":["BaseHardwareControl.ts"],"sourcesContent":["/**\n * @file BaseHardwareControl.ts\n * @description Foundational UI5 Custom Control for hardware plugins.\n * Exposes a standard 'value' property for pure two-way data binding.\n * \n */\n\nimport Control from \"sap/ui/core/Control\";\nimport RenderManager from \"sap/ui/core/RenderManager\";\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport BaseHardwareControlRenderer from \"./BaseHardwareControlRenderer\";\n\n/**\n * @namespace nz.co.siliconst.ui5.metaui.controls\n */\nexport default class BaseHardwareControl extends Control {\n static readonly metadata = {\n properties: {\n /** The raw data value. Two-way bound to the model. */\n value: { type: \"any\", defaultValue: null },\n /** The schema metadata for rendering dynamic hints (like labels/readOnly) */\n schemaMetadata: { type: \"object\", defaultValue: null },\n /** Indicates if the control should be in a read-only state */\n readOnly: { type: \"boolean\", defaultValue: false }\n },\n aggregations: {\n _content: { type: \"sap.m.VBox\", multiple: false, visibility: \"hidden\" }\n },\n events: {\n /** Fired when the hardware successfully captures a value */\n capture: {\n parameters: {\n value: { type: \"any\" }\n }\n }\n }\n };\n\n /**\n * Updates the bound value and fires the capture event.\n */\n protected setValueAndFire(val: unknown): void {\n this.setProperty(\"value\", val, true); // true to suppress re-rendering if desired, but we want the binding to update\n this.fireEvent(\"capture\", { value: val });\n }\n\n /**\n * Common renderer for all hardware controls\n */\n static readonly renderer = BaseHardwareControlRenderer;\n\n /**\n * Abstract hook for subclasses to render their specific DOM/Controls.\n */\n protected renderContent(rm: RenderManager, control: BaseHardwareControl): void {\n // To be overridden by hardware implementations\n }\n}\n"],"mappings":";;;;;;QAUOA,2BAA2B,GAAAC,sBAAA,CAAAC,6BAAA;EAElC;AACA;AACA;EAFA,MAGqBC,mBAAmB,GAASC,OAAO,CAAAC,MAAA;IA+BpD;AACJ;AACA;IACoBC,QAAQ,EAAGN,2BAA2B;IAjCtCO,QAAQ,EAAG;MACvBC,UAAU,EAAE;QACR;QACAC,KAAK,EAAE;UAAEC,IAAI,EAAE,KAAK;UAAEC,YAAY,EAAE;QAAK,CAAC;QAC1C;QACAC,cAAc,EAAE;UAAEF,IAAI,EAAE,QAAQ;UAAEC,YAAY,EAAE;QAAK,CAAC;QACtD;QACAE,QAAQ,EAAE;UAAEH,IAAI,EAAE,SAAS;UAAEC,YAAY,EAAE;QAAM;MACrD,CAAC;MACDG,YAAY,EAAE;QACVC,QAAQ,EAAE;UAAEL,IAAI,EAAE,YAAY;UAAEM,QAAQ,EAAE,KAAK;UAAEC,UAAU,EAAE;QAAS;MAC1E,CAAC;MACDC,MAAM,EAAE;QACJ;QACAC,OAAO,EAAE;UACLC,UAAU,EAAE;YACRX,KAAK,EAAE;cAAEC,IAAI,EAAE;YAAM;UACzB;QACJ;MACJ;IACJ,CAAC;IAED;AACJ;AACA;IACcW,eAAe,WAAAC,iBAACC,GAAY,EAAQ;MAC1C,IAAI,CAACC,WAAW,CAAC,OAAO,EAAED,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;MACtC,IAAI,CAACE,SAAS,CAAC,SAAS,EAAE;QAAEhB,KAAK,EAAEc;MAAI,CAAC,CAAC;IAC7C,CAAC;IAOD;AACJ;AACA;IACcG,aAAa,WAAAC,eAACC,EAAiB,EAAEC,OAA4B,EAAQ;MAC3E;IAAA;EACH;EAAA,OAzCgB1B,mBAAmB;AAAA","ignoreList":[]}
@@ -0,0 +1,67 @@
1
+ declare module "nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl" {
2
+ /**
3
+ * @file BaseHardwareControl.ts
4
+ * @description Foundational UI5 Custom Control for hardware plugins.
5
+ * Exposes a standard 'value' property for pure two-way data binding.
6
+ *
7
+ */
8
+ import Control from "sap/ui/core/Control";
9
+ import RenderManager from "sap/ui/core/RenderManager";
10
+ /**
11
+ * @namespace nz.co.siliconst.ui5.metaui.controls
12
+ */
13
+ export default class BaseHardwareControl extends Control {
14
+ static readonly metadata: {
15
+ properties: {
16
+ /** The raw data value. Two-way bound to the model. */
17
+ value: {
18
+ type: string;
19
+ defaultValue: any;
20
+ };
21
+ /** The schema metadata for rendering dynamic hints (like labels/readOnly) */
22
+ schemaMetadata: {
23
+ type: string;
24
+ defaultValue: any;
25
+ };
26
+ /** Indicates if the control should be in a read-only state */
27
+ readOnly: {
28
+ type: string;
29
+ defaultValue: boolean;
30
+ };
31
+ };
32
+ aggregations: {
33
+ _content: {
34
+ type: string;
35
+ multiple: boolean;
36
+ visibility: string;
37
+ };
38
+ };
39
+ events: {
40
+ /** Fired when the hardware successfully captures a value */
41
+ capture: {
42
+ parameters: {
43
+ value: {
44
+ type: string;
45
+ };
46
+ };
47
+ };
48
+ };
49
+ };
50
+ /**
51
+ * Updates the bound value and fires the capture event.
52
+ */
53
+ protected setValueAndFire(val: unknown): void;
54
+ /**
55
+ * Common renderer for all hardware controls
56
+ */
57
+ static readonly renderer: {
58
+ apiVersion: number;
59
+ render: (rm: RenderManager, control: BaseHardwareControl) => void;
60
+ };
61
+ /**
62
+ * Abstract hook for subclasses to render their specific DOM/Controls.
63
+ */
64
+ protected renderContent(rm: RenderManager, control: BaseHardwareControl): void;
65
+ }
66
+ }
67
+ //# sourceMappingURL=BaseHardwareControl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseHardwareControl.d.ts","sourceRoot":"../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,yDAAyD,CAAC;IACzE;;;;;OAKG;IAEH,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAC1C,OAAO,aAAa,MAAM,2BAA2B,CAAC;IAItD;;OAEG;IACH,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,OAAO;QACpD,MAAM,CAAC,QAAQ,CAAC,QAAQ;;gBAEhB,sDAAsD;;;;;gBAEtD,6EAA6E;;;;;gBAE7E,8DAA8D;;;;;;;;;;;;;;gBAO9D,4DAA4D;;;;;;;;;UAOlE;QAEF;;WAEG;QACH,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;QAK7C;;WAEG;QACH,MAAM,CAAC,QAAQ,CAAC,QAAQ;;;UAA+B;QAEvD;;WAEG;QACH,SAAS,CAAC,aAAa,CAAC,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI;KAGjF;CAEA"}
@@ -0,0 +1,2 @@
1
+ sap.ui.define(["sap/ui/core/Control","./BaseHardwareControlRenderer"],function(e,t){"use strict";function a(e){return e&&e.__esModule&&typeof e.default!=="undefined"?e.default:e}const n=a(t);const r=e.extend("nz.co.siliconst.ui5.metaui.controls.BaseHardwareControl",{renderer:n,metadata:{properties:{value:{type:"any",defaultValue:null},schemaMetadata:{type:"object",defaultValue:null},readOnly:{type:"boolean",defaultValue:false}},aggregations:{_content:{type:"sap.m.VBox",multiple:false,visibility:"hidden"}},events:{capture:{parameters:{value:{type:"any"}}}}},setValueAndFire:function e(t){this.setProperty("value",t,true);this.fireEvent("capture",{value:t})},renderContent:function e(t,a){}});return r});
2
+ //# sourceMappingURL=BaseHardwareControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseHardwareControl.js","names":["BaseHardwareControlRenderer","_interopRequireDefault","__BaseHardwareControlRenderer","BaseHardwareControl","Control","extend","renderer","metadata","properties","value","type","defaultValue","schemaMetadata","readOnly","aggregations","_content","multiple","visibility","events","capture","parameters","setValueAndFire","_setValueAndFire","val","this","setProperty","fireEvent","renderContent","_renderContent","rm","control"],"sources":["BaseHardwareControl.ts"],"sourcesContent":["/**\n * @file BaseHardwareControl.ts\n * @description Foundational UI5 Custom Control for hardware plugins.\n * Exposes a standard 'value' property for pure two-way data binding.\n * \n */\n\nimport Control from \"sap/ui/core/Control\";\nimport RenderManager from \"sap/ui/core/RenderManager\";\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport BaseHardwareControlRenderer from \"./BaseHardwareControlRenderer\";\n\n/**\n * @namespace nz.co.siliconst.ui5.metaui.controls\n */\nexport default class BaseHardwareControl extends Control {\n static readonly metadata = {\n properties: {\n /** The raw data value. Two-way bound to the model. */\n value: { type: \"any\", defaultValue: null },\n /** The schema metadata for rendering dynamic hints (like labels/readOnly) */\n schemaMetadata: { type: \"object\", defaultValue: null },\n /** Indicates if the control should be in a read-only state */\n readOnly: { type: \"boolean\", defaultValue: false }\n },\n aggregations: {\n _content: { type: \"sap.m.VBox\", multiple: false, visibility: \"hidden\" }\n },\n events: {\n /** Fired when the hardware successfully captures a value */\n capture: {\n parameters: {\n value: { type: \"any\" }\n }\n }\n }\n };\n\n /**\n * Updates the bound value and fires the capture event.\n */\n protected setValueAndFire(val: unknown): void {\n this.setProperty(\"value\", val, true); // true to suppress re-rendering if desired, but we want the binding to update\n this.fireEvent(\"capture\", { value: val });\n }\n\n /**\n * Common renderer for all hardware controls\n */\n static readonly renderer = BaseHardwareControlRenderer;\n\n /**\n * Abstract hook for subclasses to render their specific DOM/Controls.\n */\n protected renderContent(rm: RenderManager, control: BaseHardwareControl): void {\n // To be overridden by hardware implementations\n }\n}\n"],"mappings":"wLAUOA,EAA2BC,EAAAC,GAElC,MAGqBC,EAA4BC,EAAOC,OAAA,2DAkCpCC,SAAWN,EAjCXO,SAAW,CACvBC,WAAY,CAERC,MAAO,CAAEC,KAAM,MAAOC,aAAc,MAEpCC,eAAgB,CAAEF,KAAM,SAAUC,aAAc,MAEhDE,SAAU,CAAEH,KAAM,UAAWC,aAAc,QAE/CG,aAAc,CACVC,SAAU,CAAEL,KAAM,aAAcM,SAAU,MAAOC,WAAY,WAEjEC,OAAQ,CAEJC,QAAS,CACLC,WAAY,CACRX,MAAO,CAAEC,KAAM,WASrBW,gBAAe,SAAAC,EAACC,GACtBC,KAAKC,YAAY,QAASF,EAAK,MAC/BC,KAAKE,UAAU,UAAW,CAAEjB,MAAOc,GACvC,EAUUI,cAAa,SAAAC,EAACC,EAAmBC,GACvC,IACH,OAzCgB3B,CAAmB","ignoreList":[]}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * @file BaseHardwareControl.ts
3
+ * @description Foundational UI5 Custom Control for hardware plugins.
4
+ * Exposes a standard 'value' property for pure two-way data binding.
5
+ *
6
+ */
7
+
8
+ import Control from "sap/ui/core/Control";
9
+ import RenderManager from "sap/ui/core/RenderManager";
10
+ import { IPropertyMetadata } from "../../interfaces/ISchema";
11
+ import BaseHardwareControlRenderer from "./BaseHardwareControlRenderer";
12
+
13
+ /**
14
+ * @namespace nz.co.siliconst.ui5.metaui.controls
15
+ */
16
+ export default class BaseHardwareControl extends Control {
17
+ static readonly metadata = {
18
+ properties: {
19
+ /** The raw data value. Two-way bound to the model. */
20
+ value: { type: "any", defaultValue: null },
21
+ /** The schema metadata for rendering dynamic hints (like labels/readOnly) */
22
+ schemaMetadata: { type: "object", defaultValue: null },
23
+ /** Indicates if the control should be in a read-only state */
24
+ readOnly: { type: "boolean", defaultValue: false }
25
+ },
26
+ aggregations: {
27
+ _content: { type: "sap.m.VBox", multiple: false, visibility: "hidden" }
28
+ },
29
+ events: {
30
+ /** Fired when the hardware successfully captures a value */
31
+ capture: {
32
+ parameters: {
33
+ value: { type: "any" }
34
+ }
35
+ }
36
+ }
37
+ };
38
+
39
+ /**
40
+ * Updates the bound value and fires the capture event.
41
+ */
42
+ protected setValueAndFire(val: unknown): void {
43
+ this.setProperty("value", val, true); // true to suppress re-rendering if desired, but we want the binding to update
44
+ this.fireEvent("capture", { value: val });
45
+ }
46
+
47
+ /**
48
+ * Common renderer for all hardware controls
49
+ */
50
+ static readonly renderer = BaseHardwareControlRenderer;
51
+
52
+ /**
53
+ * Abstract hook for subclasses to render their specific DOM/Controls.
54
+ */
55
+ protected renderContent(rm: RenderManager, control: BaseHardwareControl): void {
56
+ // To be overridden by hardware implementations
57
+ }
58
+ }
@@ -0,0 +1,28 @@
1
+ sap.ui.define([], function () {
2
+ "use strict";
3
+
4
+ /**
5
+ * @file BaseHardwareControlRenderer.ts
6
+ * @description Standard renderer for all MetaUI hardware controls.
7
+ *
8
+ * @namespace nz.co.siliconst.ui5.metaui.controls
9
+ */
10
+ var __exports = {
11
+ apiVersion: 2,
12
+ render: function (rm, control) {
13
+ rm.openStart("div", control);
14
+ rm.class("sapUiSmallMarginBottom");
15
+ rm.openEnd();
16
+ const content = control.getAggregation("_content");
17
+ if (content) {
18
+ rm.renderControl(content);
19
+ }
20
+ if (typeof control.renderContent === "function") {
21
+ control.renderContent(rm, control);
22
+ }
23
+ rm.close("div");
24
+ }
25
+ };
26
+ return __exports;
27
+ });
28
+ //# sourceMappingURL=BaseHardwareControlRenderer-dbg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseHardwareControlRenderer-dbg.js","names":["__exports","apiVersion","render","rm","control","openStart","class","openEnd","content","getAggregation","renderControl","renderContent","close"],"sources":["BaseHardwareControlRenderer.ts"],"sourcesContent":["/**\n * @file BaseHardwareControlRenderer.ts\n * @description Standard renderer for all MetaUI hardware controls.\n * \n * @namespace nz.co.siliconst.ui5.metaui.controls\n */\nimport RenderManager from \"sap/ui/core/RenderManager\";\nimport BaseHardwareControl from \"./BaseHardwareControl\";\n\nexport default {\n apiVersion: 2,\n render: function (rm: RenderManager, control: BaseHardwareControl) {\n rm.openStart(\"div\", control);\n rm.class(\"sapUiSmallMarginBottom\");\n rm.openEnd();\n \n const content = control.getAggregation(\"_content\") as sap.ui.core.Control;\n if (content) {\n rm.renderControl(content);\n }\n \n if (typeof (control as unknown).renderContent === \"function\") {\n (control as unknown).renderContent(rm, control);\n }\n \n rm.close(\"div\");\n }\n};\n"],"mappings":";;;EAAA;AACA;AACA;AACA;AACA;AACA;EALA,IAAAA,SAAA,GASe;IACXC,UAAU,EAAE,CAAC;IACbC,MAAM,EAAE,SAAAA,CAAUC,EAAiB,EAAEC,OAA4B,EAAE;MAC/DD,EAAE,CAACE,SAAS,CAAC,KAAK,EAAED,OAAO,CAAC;MAC5BD,EAAE,CAACG,KAAK,CAAC,wBAAwB,CAAC;MAClCH,EAAE,CAACI,OAAO,CAAC,CAAC;MAEZ,MAAMC,OAAO,GAAGJ,OAAO,CAACK,cAAc,CAAC,UAAU,CAAwB;MACzE,IAAID,OAAO,EAAE;QACTL,EAAE,CAACO,aAAa,CAACF,OAAO,CAAC;MAC7B;MAEA,IAAI,OAAQJ,OAAO,CAAaO,aAAa,KAAK,UAAU,EAAE;QACzDP,OAAO,CAAaO,aAAa,CAACR,EAAE,EAAEC,OAAO,CAAC;MACnD;MAEAD,EAAE,CAACS,KAAK,CAAC,KAAK,CAAC;IACnB;EACJ,CAAC;EAAA,OAAAZ,SAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,16 @@
1
+ declare module "nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer" {
2
+ /**
3
+ * @file BaseHardwareControlRenderer.ts
4
+ * @description Standard renderer for all MetaUI hardware controls.
5
+ *
6
+ * @namespace nz.co.siliconst.ui5.metaui.controls
7
+ */
8
+ import RenderManager from "sap/ui/core/RenderManager";
9
+ import BaseHardwareControl from "nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl";
10
+ const _default: {
11
+ apiVersion: number;
12
+ render: (rm: RenderManager, control: BaseHardwareControl) => void;
13
+ };
14
+ export default _default;
15
+ }
16
+ //# sourceMappingURL=BaseHardwareControlRenderer.d.ts.map