@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
@@ -0,0 +1,106 @@
1
+ /**
2
+ * @file PipelineManager.ts
3
+ * @description Central manager for the data manipulation pipeline.
4
+ * Orchestrates Formatting, Parsing, and Validating data using the generic Registry.
5
+ */
6
+
7
+ import { Registry } from "./Registry";
8
+ import { IFormatter, IParser, IValidator, IValidationResult } from "../interfaces/IPipeline";
9
+ import { PatternValidatorPlugin } from "../plugins/validators/PatternValidatorPlugin";
10
+ import { MinLengthValidatorPlugin } from "../plugins/validators/MinLengthValidatorPlugin";
11
+ import { RangeValidatorPlugin } from "../plugins/validators/RangeValidatorPlugin";
12
+ import { UrlValidatorPlugin } from "../plugins/validators/UrlValidatorPlugin";
13
+ import { IbanValidatorPlugin } from "../plugins/validators/IbanValidatorPlugin";
14
+ import { EmailValidatorPlugin } from "../plugins/validators/EmailValidatorPlugin";
15
+ import { DateFormatterPlugin } from "../plugins/formatters/DateFormatterPlugin";
16
+ import { PhoneFormatterPlugin } from "../plugins/formatters/PhoneFormatterPlugin";
17
+ import { TextCaseFormatterPlugin } from "../plugins/formatters/TextCaseFormatterPlugin";
18
+ import { Logger } from "../utils/Logger";
19
+
20
+ // --- Built-in Default Validators ---
21
+ class RequiredValidator implements IValidator {
22
+ validate(parsedValue: unknown, args?: unknown): IValidationResult {
23
+ if (parsedValue === null || parsedValue === undefined || parsedValue === "") {
24
+ return { isValid: false, errorMessage: "This field is required." };
25
+ }
26
+ return { isValid: true };
27
+ }
28
+ }
29
+
30
+ class MaxLengthValidator implements IValidator {
31
+ validate(parsedValue: unknown, args?: unknown): IValidationResult {
32
+ if (typeof parsedValue === "string" && args && typeof args === "number") {
33
+ if (parsedValue.length > args) {
34
+ return { isValid: false, errorMessage: `Maximum length is ${args} characters.` };
35
+ }
36
+ }
37
+ return { isValid: true };
38
+ }
39
+ }
40
+
41
+
42
+ /**
43
+ * The core engine responsible for marshalling data through the validation, formatting, and parsing phases.
44
+ * Pluggable design allows new validators to be registered dynamically.
45
+ *
46
+ * @namespace nz.co.siliconst.ui5.metaui.core
47
+ * @public
48
+ */
49
+ export class PipelineManager {
50
+ /** Registry of data formatters applied before pushing to the UI. */
51
+ public readonly formatters: Registry<IFormatter> = new Registry<IFormatter>("Formatters");
52
+ /** Registry of data parsers applied when pulling data from the UI. */
53
+ public readonly parsers: Registry<IParser> = new Registry<IParser>("Parsers");
54
+ /** Registry of business logic validators. */
55
+ public readonly validators: Registry<IValidator> = new Registry<IValidator>("Validators");
56
+
57
+ /**
58
+ * Bootstraps the PipelineManager with default validators (required, maxLength, email).
59
+ */
60
+ constructor() {
61
+ // Register default validators
62
+ this.validators.register("required", new RequiredValidator());
63
+ this.validators.register("maxLength", new MaxLengthValidator());
64
+ this.validators.register("pattern", new PatternValidatorPlugin());
65
+ this.validators.register("minLength", new MinLengthValidatorPlugin());
66
+ this.validators.register("range", new RangeValidatorPlugin());
67
+ this.validators.register("url", new UrlValidatorPlugin());
68
+ this.validators.register("iban", new IbanValidatorPlugin());
69
+ this.validators.register("email", new EmailValidatorPlugin());
70
+
71
+ // Register default formatters
72
+ this.formatters.register("date", new DateFormatterPlugin());
73
+ this.formatters.register("phone", new PhoneFormatterPlugin());
74
+ this.formatters.register("textCase", new TextCaseFormatterPlugin());
75
+ }
76
+
77
+ /**
78
+ * Executes the validation pipeline sequentially. Fails fast on the first encountered error.
79
+ *
80
+ * @param parsedValue The raw extracted value from the UI control.
81
+ * @param requestedValidators Array of validation rule keys (e.g. ['required', 'email']).
82
+ * @param argsMap Optional map of parameters required by specific rules (e.g. { maxLength: 50 }).
83
+ * @returns {IValidationResult} The final result state and any associated error message.
84
+ */
85
+ public executeValidation(parsedValue: unknown, requestedValidators: string[], argsMap?: Record<string, any>): IValidationResult {
86
+ for (const rule of requestedValidators) {
87
+ const validator = this.validators.get(rule);
88
+ if (validator) {
89
+ const args = argsMap ? argsMap[rule] : undefined;
90
+ const result = validator.validate(parsedValue, args);
91
+ if (!result.isValid) {
92
+ return result; // Fast fail on first error
93
+ }
94
+ } else {
95
+ Logger.warn(`[MetaUI] PipelineManager: Requested validator '${rule}' not found in registry.`);
96
+ }
97
+ }
98
+ return { isValid: true };
99
+ }
100
+ }
101
+
102
+ /**
103
+ * Singleton instance for global access to the active validation pipeline.
104
+ * @public
105
+ */
106
+ export const GlobalPipeline = new PipelineManager();
@@ -1,60 +1,152 @@
1
- sap.ui.define([], function () {
2
- "use strict";
3
-
4
- /**
5
- * @file PluginRegistry.ts
6
- * @description Centralized hub for mapping UI5 controls to SAP schema data types.
7
- * Enforces the Registry Pattern to decouple the core engine from specific UI5 control implementations.
8
- */
9
-
10
- /**
11
- * Singleton registry that manages the lifecycle and lookup of UI5 plugin constructors.
12
- */
13
- class PluginRegistry {
14
- /** Internal map linking string types to their respective constructor functions. */
15
- plugins = new Map();
16
- constructor() {
17
- // Enforce singleton
18
- }
19
-
20
- /**
21
- * Retrieves the singular instance of the PluginRegistry.
22
- * @returns The PluginRegistry singleton.
23
- */
24
- static getInstance() {
25
- if (!PluginRegistry.instance) {
26
- PluginRegistry.instance = new PluginRegistry();
27
- }
28
- return PluginRegistry.instance;
29
- }
30
-
31
- /**
32
- * Registers a new UI control plugin against a specific schema primitive type.
33
- * @param type The primitive FieldType (e.g., 'string', 'date').
34
- * @param pluginConstructor The class constructor for the plugin.
35
- */
36
- register(type, pluginConstructor) {
37
- this.plugins.set(type, pluginConstructor);
38
- }
39
-
40
- /**
41
- * Instantiates and returns a new plugin based on the requested primitive type.
42
- * @param type The primitive FieldType to look up.
43
- * @throws Error if no plugin has been registered for the provided type.
44
- * @returns A newly instantiated plugin ready for rendering.
45
- */
46
- getPlugin(type) {
47
- const PluginClass = this.plugins.get(type);
48
- if (!PluginClass) {
49
- throw new Error(`[MetaUI] No plugin registered for FieldType: ${type}`);
50
- }
51
- return new PluginClass();
52
- }
53
- }
54
- var __exports = {
55
- __esModule: true
56
- };
57
- __exports.PluginRegistry = PluginRegistry;
58
- return __exports;
59
- });
1
+ sap.ui.define(["./Registry", "../utils/Logger", "../plugins/controls/StringPlugin", "../plugins/controls/NumberPlugin", "../plugins/controls/DatePlugin", "../plugins/controls/TimePlugin", "../plugins/controls/DateTimePlugin", "../plugins/controls/BooleanPlugin", "../plugins/controls/SwitchPlugin", "../plugins/controls/ArrayPlugin", "../plugins/controls/ObjectPlugin", "../plugins/controls/DropdownPlugin", "../plugins/controls/TextAreaPlugin", "../plugins/controls/CodeEditorPlugin", "../plugins/controls/FileUploaderPlugin", "../plugins/controls/MultiSelectPlugin", "../plugins/controls/SliderPlugin", "../plugins/controls/RatingIndicatorPlugin", "../plugins/controls/MessageStripPlugin", "../plugins/controls/CameraPlugin", "../plugins/controls/SignaturePlugin", "../plugins/controls/GeolocationPlugin", "../plugins/controls/BarcodeScannerPlugin", "../plugins/controls/VoiceInputPlugin", "../plugins/controls/RichTextPlugin", "../plugins/actions/UrlNavigationActionPlugin", "../plugins/actions/SubmitFormActionPlugin", "../plugins/datasources/ODataListBindingPlugin", "../plugins/datasources/RemoteDropdownPlugin"], function (___Registry, ___utils_Logger, ___plugins_controls_StringPlugin, ___plugins_controls_NumberPlugin, ___plugins_controls_DatePlugin, ___plugins_controls_TimePlugin, ___plugins_controls_DateTimePlugin, ___plugins_controls_BooleanPlugin, ___plugins_controls_SwitchPlugin, ___plugins_controls_ArrayPlugin, ___plugins_controls_ObjectPlugin, ___plugins_controls_DropdownPlugin, ___plugins_controls_TextAreaPlugin, ___plugins_controls_CodeEditorPlugin, ___plugins_controls_FileUploaderPlugin, ___plugins_controls_MultiSelectPlugin, ___plugins_controls_SliderPlugin, ___plugins_controls_RatingIndicatorPlugin, ___plugins_controls_MessageStripPlugin, ___plugins_controls_CameraPlugin, ___plugins_controls_SignaturePlugin, ___plugins_controls_GeolocationPlugin, ___plugins_controls_BarcodeScannerPlugin, ___plugins_controls_VoiceInputPlugin, ___plugins_controls_RichTextPlugin, ___plugins_actions_UrlNavigationActionPlugin, ___plugins_actions_SubmitFormActionPlugin, ___plugins_datasources_ODataListBindingPlugin, ___plugins_datasources_RemoteDropdownPlugin) {
2
+ "use strict";
3
+
4
+ /**
5
+ * @file PluginRegistry.ts
6
+ * @description Centralized hub for mapping UI5 controls to SAP schema data types.
7
+ * Enforces the Registry Pattern to decouple the core engine from specific UI5 control implementations.
8
+ */
9
+ const Registry = ___Registry["Registry"];
10
+ const Logger = ___utils_Logger["Logger"];
11
+ const StringPlugin = ___plugins_controls_StringPlugin["StringPlugin"];
12
+ const NumberPlugin = ___plugins_controls_NumberPlugin["NumberPlugin"];
13
+ const DatePlugin = ___plugins_controls_DatePlugin["DatePlugin"];
14
+ const TimePlugin = ___plugins_controls_TimePlugin["TimePlugin"];
15
+ const DateTimePlugin = ___plugins_controls_DateTimePlugin["DateTimePlugin"];
16
+ const BooleanPlugin = ___plugins_controls_BooleanPlugin["BooleanPlugin"];
17
+ const SwitchPlugin = ___plugins_controls_SwitchPlugin["SwitchPlugin"];
18
+ const ArrayPlugin = ___plugins_controls_ArrayPlugin["ArrayPlugin"];
19
+ const ObjectPlugin = ___plugins_controls_ObjectPlugin["ObjectPlugin"];
20
+ const DropdownPlugin = ___plugins_controls_DropdownPlugin["DropdownPlugin"];
21
+ const TextAreaPlugin = ___plugins_controls_TextAreaPlugin["TextAreaPlugin"];
22
+ const CodeEditorPlugin = ___plugins_controls_CodeEditorPlugin["CodeEditorPlugin"]; // New Phase 1 Controls
23
+ const FileUploaderPlugin = ___plugins_controls_FileUploaderPlugin["FileUploaderPlugin"];
24
+ const MultiSelectPlugin = ___plugins_controls_MultiSelectPlugin["MultiSelectPlugin"];
25
+ const SliderPlugin = ___plugins_controls_SliderPlugin["SliderPlugin"];
26
+ const RatingIndicatorPlugin = ___plugins_controls_RatingIndicatorPlugin["RatingIndicatorPlugin"];
27
+ const MessageStripPlugin = ___plugins_controls_MessageStripPlugin["MessageStripPlugin"]; // New Phase 5 Hardware / Base64 Plugins
28
+ const CameraPlugin = ___plugins_controls_CameraPlugin["CameraPlugin"];
29
+ const SignaturePlugin = ___plugins_controls_SignaturePlugin["SignaturePlugin"];
30
+ const GeolocationPlugin = ___plugins_controls_GeolocationPlugin["GeolocationPlugin"];
31
+ const BarcodeScannerPlugin = ___plugins_controls_BarcodeScannerPlugin["BarcodeScannerPlugin"];
32
+ const VoiceInputPlugin = ___plugins_controls_VoiceInputPlugin["VoiceInputPlugin"];
33
+ const RichTextPlugin = ___plugins_controls_RichTextPlugin["RichTextPlugin"]; // New Phase 4 Actions & Datasources
34
+ const UrlNavigationActionPlugin = ___plugins_actions_UrlNavigationActionPlugin["UrlNavigationActionPlugin"];
35
+ const SubmitFormActionPlugin = ___plugins_actions_SubmitFormActionPlugin["SubmitFormActionPlugin"];
36
+ const ODataListBindingPlugin = ___plugins_datasources_ODataListBindingPlugin["ODataListBindingPlugin"];
37
+ const RemoteDropdownPlugin = ___plugins_datasources_RemoteDropdownPlugin["RemoteDropdownPlugin"];
38
+ /**
39
+ * Singleton orchestrator responsible for maintaining the registry of all available UI control plugins.
40
+ * Resolves standard JSON schema types to their respective UI5 native controls.
41
+ *
42
+ * @namespace nz.co.siliconst.ui5.metaui.core
43
+ * @public
44
+ */
45
+ class PluginRegistry {
46
+ /** The single instance of the PluginRegistry. */
47
+
48
+ /** Internal strongly typed registry holding plugin constructors. */
49
+ registry = new Registry("Controls");
50
+ constructor() {
51
+ // Built-in Default Mappings
52
+ this.register("string", StringPlugin);
53
+ this.register("number", NumberPlugin);
54
+ this.register("integer", NumberPlugin);
55
+ this.register("date", DatePlugin);
56
+ this.register("boolean", BooleanPlugin);
57
+ this.register("array", ArrayPlugin);
58
+ this.register("object", ObjectPlugin);
59
+
60
+ // Widget Overrides
61
+ this.register("string", TimePlugin, "time");
62
+ this.register("string", DateTimePlugin, "datetime");
63
+ this.register("boolean", SwitchPlugin, "switch");
64
+ this.register("string", DropdownPlugin, "select");
65
+ this.register("string", TextAreaPlugin, "textArea");
66
+ this.register("string", CodeEditorPlugin, "codeEditor");
67
+
68
+ // Phase 1 Mappings
69
+ this.register("string", FileUploaderPlugin, "fileUploader");
70
+ this.register("array", MultiSelectPlugin, "multiSelect");
71
+ this.register("number", SliderPlugin, "slider");
72
+ this.register("number", RatingIndicatorPlugin, "rating");
73
+ this.register("string", MessageStripPlugin, "messageStrip");
74
+
75
+ // Phase 5 Mappings (Hardware)
76
+ this.register("string", CameraPlugin, "camera");
77
+ this.register("string", SignaturePlugin, "signature");
78
+ this.register("object", GeolocationPlugin, "location");
79
+ this.register("string", BarcodeScannerPlugin, "scanner");
80
+ this.register("string", VoiceInputPlugin, "voiceInput");
81
+ this.register("string", RichTextPlugin, "richText");
82
+
83
+ // Phase 4 Mappings
84
+ this.register("string", UrlNavigationActionPlugin, "urlButton");
85
+ this.register("string", SubmitFormActionPlugin, "submitButton");
86
+ this.register("string", ODataListBindingPlugin, "odataSelect");
87
+ this.register("string", RemoteDropdownPlugin, "remoteDropdown");
88
+ }
89
+
90
+ /**
91
+ * Retrieves the singular instance of the PluginRegistry.
92
+ * @returns {PluginRegistry} The active instance.
93
+ */
94
+ static getInstance() {
95
+ if (!PluginRegistry.instance) {
96
+ PluginRegistry.instance = new PluginRegistry();
97
+ }
98
+ return PluginRegistry.instance;
99
+ }
100
+
101
+ /**
102
+ * Registers a new control plugin to be utilized by the Layout Managers.
103
+ *
104
+ * @param type The JSON Schema primitive type (e.g., 'string', 'number').
105
+ * @param pluginConstructor The class constructor for the plugin implementation.
106
+ * @param widgetName Optional UI hint to override the default type handler (e.g., 'textArea' for a 'string').
107
+ */
108
+ register(type, pluginConstructor, widgetName) {
109
+ const key = widgetName ? `${type}:${widgetName}` : type;
110
+ this.registry.register(key, pluginConstructor);
111
+ }
112
+
113
+ /**
114
+ * Resolves and instantiates the correct control plugin based on the field type and widget hint.
115
+ * Falls back to the primitive type handler if the specific widget is not registered.
116
+ *
117
+ * @param type The JSON Schema primitive type.
118
+ * @param widgetName The specific UI widget hint (if provided in schema.ui.widget).
119
+ * @returns {IPlugin} A new instance of the resolved plugin.
120
+ * @throws {Error} If no handler is registered for the specified type.
121
+ */
122
+ getPlugin(type, widgetName) {
123
+ let PluginClass;
124
+ if (widgetName) {
125
+ PluginClass = this.registry.get(`${type}:${widgetName}`);
126
+ }
127
+ if (!PluginClass) {
128
+ PluginClass = this.registry.get(type);
129
+ }
130
+ if (!PluginClass) {
131
+ const msg = `No control plugin registered for FieldType: ${type}${widgetName ? ` (widget: ${widgetName})` : ''}`;
132
+ Logger.error("[MetaUI PluginRegistry]", msg);
133
+ Logger.showErrorPopup(`Plugin Registry Error.\n\nDetails: ${msg}`);
134
+ throw new Error(`[MetaUI] ${msg}`);
135
+ }
136
+ try {
137
+ return new PluginClass();
138
+ } catch (error) {
139
+ const msg = error.message;
140
+ Logger.error(`[MetaUI PluginRegistry] Failed to instantiate plugin for ${type}`, msg);
141
+ Logger.showErrorPopup(`Failed to instantiate plugin for '${type}'.\n\nDetails: ${msg}`);
142
+ throw new Error(`[MetaUI Plugin Instantiation] ${msg}`);
143
+ }
144
+ }
145
+ }
146
+ var __exports = {
147
+ __esModule: true
148
+ };
149
+ __exports.PluginRegistry = PluginRegistry;
150
+ return __exports;
151
+ });
60
152
  //# sourceMappingURL=PluginRegistry-dbg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PluginRegistry-dbg.js","names":["PluginRegistry","plugins","Map","constructor","getInstance","instance","register","type","pluginConstructor","set","getPlugin","PluginClass","get","Error","__exports","__esModule"],"sources":["PluginRegistry.ts"],"sourcesContent":["/**\r\n * @file PluginRegistry.ts\r\n * @description Centralized hub for mapping UI5 controls to SAP schema data types.\r\n * Enforces the Registry Pattern to decouple the core engine from specific UI5 control implementations.\r\n */\r\n\r\nimport { IPlugin } from \"../interfaces/IPlugin\";\r\nimport { FieldType } from \"../interfaces/ISchema\";\r\n\r\n/**\r\n * Singleton registry that manages the lifecycle and lookup of UI5 plugin constructors.\r\n */\r\nexport class PluginRegistry {\r\n private static instance: PluginRegistry;\r\n \r\n /** Internal map linking string types to their respective constructor functions. */\r\n private plugins: Map<FieldType, new () => IPlugin> = new Map();\r\n\r\n private constructor() {\r\n // Enforce singleton\r\n }\r\n\r\n /**\r\n * Retrieves the singular instance of the PluginRegistry.\r\n * @returns The PluginRegistry singleton.\r\n */\r\n public static getInstance(): PluginRegistry {\r\n if (!PluginRegistry.instance) {\r\n PluginRegistry.instance = new PluginRegistry();\r\n }\r\n return PluginRegistry.instance;\r\n }\r\n\r\n /**\r\n * Registers a new UI control plugin against a specific schema primitive type.\r\n * @param type The primitive FieldType (e.g., 'string', 'date').\r\n * @param pluginConstructor The class constructor for the plugin.\r\n */\r\n public register(type: FieldType, pluginConstructor: new () => IPlugin): void {\r\n this.plugins.set(type, pluginConstructor);\r\n }\r\n\r\n /**\r\n * Instantiates and returns a new plugin based on the requested primitive type.\r\n * @param type The primitive FieldType to look up.\r\n * @throws Error if no plugin has been registered for the provided type.\r\n * @returns A newly instantiated plugin ready for rendering.\r\n */\r\n public getPlugin(type: FieldType): IPlugin {\r\n const PluginClass = this.plugins.get(type);\r\n if (!PluginClass) {\r\n throw new Error(`[MetaUI] No plugin registered for FieldType: ${type}`);\r\n }\r\n return new PluginClass();\r\n }\r\n}\r\n"],"mappings":";;;EAAA;AACA;AACA;AACA;AACA;;EAKA;AACA;AACA;EACO,MAAMA,cAAc,CAAC;IAGxB;IACQC,OAAO,GAAsC,IAAIC,GAAG,CAAC,CAAC;IAEtDC,WAAWA,CAAA,EAAG;MAClB;IAAA;;IAGJ;AACJ;AACA;AACA;IACI,OAAcC,WAAWA,CAAA,EAAmB;MACxC,IAAI,CAACJ,cAAc,CAACK,QAAQ,EAAE;QAC1BL,cAAc,CAACK,QAAQ,GAAG,IAAIL,cAAc,CAAC,CAAC;MAClD;MACA,OAAOA,cAAc,CAACK,QAAQ;IAClC;;IAEA;AACJ;AACA;AACA;AACA;IACWC,QAAQA,CAACC,IAAe,EAAEC,iBAAoC,EAAQ;MACzE,IAAI,CAACP,OAAO,CAACQ,GAAG,CAACF,IAAI,EAAEC,iBAAiB,CAAC;IAC7C;;IAEA;AACJ;AACA;AACA;AACA;AACA;IACWE,SAASA,CAACH,IAAe,EAAW;MACvC,MAAMI,WAAW,GAAG,IAAI,CAACV,OAAO,CAACW,GAAG,CAACL,IAAI,CAAC;MAC1C,IAAI,CAACI,WAAW,EAAE;QACd,MAAM,IAAIE,KAAK,CAAC,gDAAgDN,IAAI,EAAE,CAAC;MAC3E;MACA,OAAO,IAAII,WAAW,CAAC,CAAC;IAC5B;EACJ;EAAC,IAAAG,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAAd,cAAA,GAAAA,cAAA;EAAA,OAAAc,SAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"PluginRegistry-dbg.js","names":["Registry","___Registry","Logger","___utils_Logger","StringPlugin","___plugins_controls_StringPlugin","NumberPlugin","___plugins_controls_NumberPlugin","DatePlugin","___plugins_controls_DatePlugin","TimePlugin","___plugins_controls_TimePlugin","DateTimePlugin","___plugins_controls_DateTimePlugin","BooleanPlugin","___plugins_controls_BooleanPlugin","SwitchPlugin","___plugins_controls_SwitchPlugin","ArrayPlugin","___plugins_controls_ArrayPlugin","ObjectPlugin","___plugins_controls_ObjectPlugin","DropdownPlugin","___plugins_controls_DropdownPlugin","TextAreaPlugin","___plugins_controls_TextAreaPlugin","CodeEditorPlugin","___plugins_controls_CodeEditorPlugin","FileUploaderPlugin","___plugins_controls_FileUploaderPlugin","MultiSelectPlugin","___plugins_controls_MultiSelectPlugin","SliderPlugin","___plugins_controls_SliderPlugin","RatingIndicatorPlugin","___plugins_controls_RatingIndicatorPlugin","MessageStripPlugin","___plugins_controls_MessageStripPlugin","CameraPlugin","___plugins_controls_CameraPlugin","SignaturePlugin","___plugins_controls_SignaturePlugin","GeolocationPlugin","___plugins_controls_GeolocationPlugin","BarcodeScannerPlugin","___plugins_controls_BarcodeScannerPlugin","VoiceInputPlugin","___plugins_controls_VoiceInputPlugin","RichTextPlugin","___plugins_controls_RichTextPlugin","UrlNavigationActionPlugin","___plugins_actions_UrlNavigationActionPlugin","SubmitFormActionPlugin","___plugins_actions_SubmitFormActionPlugin","ODataListBindingPlugin","___plugins_datasources_ODataListBindingPlugin","RemoteDropdownPlugin","___plugins_datasources_RemoteDropdownPlugin","PluginRegistry","registry","constructor","register","getInstance","instance","type","pluginConstructor","widgetName","key","getPlugin","PluginClass","get","msg","error","showErrorPopup","Error","message","__exports","__esModule"],"sources":["PluginRegistry.ts"],"sourcesContent":["/**\n * @file PluginRegistry.ts\n * @description Centralized hub for mapping UI5 controls to SAP schema data types.\n * Enforces the Registry Pattern to decouple the core engine from specific UI5 control implementations.\n */\n\nimport { IPlugin } from \"../interfaces/IPlugin\";\nimport { FieldType } from \"../interfaces/ISchema\";\n\nimport { Registry } from \"./Registry\";\nimport { Logger } from \"../utils/Logger\";\n\nimport { StringPlugin } from \"../plugins/controls/StringPlugin\";\nimport { NumberPlugin } from \"../plugins/controls/NumberPlugin\";\nimport { DatePlugin } from \"../plugins/controls/DatePlugin\";\nimport { TimePlugin } from \"../plugins/controls/TimePlugin\";\nimport { DateTimePlugin } from \"../plugins/controls/DateTimePlugin\";\nimport { BooleanPlugin } from \"../plugins/controls/BooleanPlugin\";\nimport { SwitchPlugin } from \"../plugins/controls/SwitchPlugin\";\nimport { ArrayPlugin } from \"../plugins/controls/ArrayPlugin\";\nimport { ObjectPlugin } from \"../plugins/controls/ObjectPlugin\";\nimport { DropdownPlugin } from \"../plugins/controls/DropdownPlugin\";\nimport { TextAreaPlugin } from \"../plugins/controls/TextAreaPlugin\";\nimport { CodeEditorPlugin } from \"../plugins/controls/CodeEditorPlugin\";\n\n// New Phase 1 Controls\nimport { FileUploaderPlugin } from \"../plugins/controls/FileUploaderPlugin\";\nimport { MultiSelectPlugin } from \"../plugins/controls/MultiSelectPlugin\";\nimport { SliderPlugin } from \"../plugins/controls/SliderPlugin\";\nimport { RatingIndicatorPlugin } from \"../plugins/controls/RatingIndicatorPlugin\";\nimport { MessageStripPlugin } from \"../plugins/controls/MessageStripPlugin\";\n\n// New Phase 5 Hardware / Base64 Plugins\nimport { CameraPlugin } from \"../plugins/controls/CameraPlugin\";\nimport { SignaturePlugin } from \"../plugins/controls/SignaturePlugin\";\nimport { GeolocationPlugin } from \"../plugins/controls/GeolocationPlugin\";\nimport { BarcodeScannerPlugin } from \"../plugins/controls/BarcodeScannerPlugin\";\nimport { VoiceInputPlugin } from \"../plugins/controls/VoiceInputPlugin\";\nimport { RichTextPlugin } from \"../plugins/controls/RichTextPlugin\";\n\n// New Phase 4 Actions & Datasources\nimport { UrlNavigationActionPlugin } from \"../plugins/actions/UrlNavigationActionPlugin\";\nimport { SubmitFormActionPlugin } from \"../plugins/actions/SubmitFormActionPlugin\";\nimport { ODataListBindingPlugin } from \"../plugins/datasources/ODataListBindingPlugin\";\nimport { RemoteDropdownPlugin } from \"../plugins/datasources/RemoteDropdownPlugin\";\n\n/**\n * Singleton orchestrator responsible for maintaining the registry of all available UI control plugins.\n * Resolves standard JSON schema types to their respective UI5 native controls.\n * \n * @namespace nz.co.siliconst.ui5.metaui.core\n * @public\n */\nexport class PluginRegistry {\n /** The single instance of the PluginRegistry. */\n private static instance: PluginRegistry;\n \n /** Internal strongly typed registry holding plugin constructors. */\n private readonly registry: Registry<new () => IPlugin> = new Registry<new () => IPlugin>(\"Controls\");\n\n private constructor() {\n // Built-in Default Mappings\n this.register(\"string\", StringPlugin);\n this.register(\"number\", NumberPlugin);\n this.register(\"integer\", NumberPlugin);\n this.register(\"date\", DatePlugin);\n this.register(\"boolean\", BooleanPlugin);\n this.register(\"array\", ArrayPlugin);\n this.register(\"object\", ObjectPlugin);\n\n // Widget Overrides\n this.register(\"string\", TimePlugin, \"time\");\n this.register(\"string\", DateTimePlugin, \"datetime\");\n this.register(\"boolean\", SwitchPlugin, \"switch\");\n this.register(\"string\", DropdownPlugin, \"select\");\n this.register(\"string\", TextAreaPlugin, \"textArea\");\n this.register(\"string\", CodeEditorPlugin, \"codeEditor\");\n \n // Phase 1 Mappings\n this.register(\"string\", FileUploaderPlugin, \"fileUploader\");\n this.register(\"array\", MultiSelectPlugin, \"multiSelect\");\n this.register(\"number\", SliderPlugin, \"slider\");\n this.register(\"number\", RatingIndicatorPlugin, \"rating\");\n this.register(\"string\", MessageStripPlugin, \"messageStrip\");\n\n // Phase 5 Mappings (Hardware)\n this.register(\"string\", CameraPlugin, \"camera\");\n this.register(\"string\", SignaturePlugin, \"signature\");\n this.register(\"object\", GeolocationPlugin, \"location\");\n this.register(\"string\", BarcodeScannerPlugin, \"scanner\");\n this.register(\"string\", VoiceInputPlugin, \"voiceInput\");\n this.register(\"string\", RichTextPlugin, \"richText\");\n\n // Phase 4 Mappings\n this.register(\"string\", UrlNavigationActionPlugin, \"urlButton\");\n this.register(\"string\", SubmitFormActionPlugin, \"submitButton\");\n this.register(\"string\", ODataListBindingPlugin, \"odataSelect\");\n this.register(\"string\", RemoteDropdownPlugin, \"remoteDropdown\");\n }\n\n /**\n * Retrieves the singular instance of the PluginRegistry.\n * @returns {PluginRegistry} The active instance.\n */\n public static getInstance(): PluginRegistry {\n if (!PluginRegistry.instance) {\n PluginRegistry.instance = new PluginRegistry();\n }\n return PluginRegistry.instance;\n }\n\n /**\n * Registers a new control plugin to be utilized by the Layout Managers.\n * \n * @param type The JSON Schema primitive type (e.g., 'string', 'number').\n * @param pluginConstructor The class constructor for the plugin implementation.\n * @param widgetName Optional UI hint to override the default type handler (e.g., 'textArea' for a 'string').\n */\n public register(type: FieldType, pluginConstructor: new () => IPlugin, widgetName?: string): void {\n const key = widgetName ? `${type}:${widgetName}` : type;\n this.registry.register(key, pluginConstructor);\n }\n\n /**\n * Resolves and instantiates the correct control plugin based on the field type and widget hint.\n * Falls back to the primitive type handler if the specific widget is not registered.\n * \n * @param type The JSON Schema primitive type.\n * @param widgetName The specific UI widget hint (if provided in schema.ui.widget).\n * @returns {IPlugin} A new instance of the resolved plugin.\n * @throws {Error} If no handler is registered for the specified type.\n */\n public getPlugin(type: FieldType, widgetName?: string): IPlugin {\n let PluginClass;\n \n if (widgetName) {\n PluginClass = this.registry.get(`${type}:${widgetName}`);\n }\n \n if (!PluginClass) {\n PluginClass = this.registry.get(type);\n }\n\n if (!PluginClass) {\n const msg = `No control plugin registered for FieldType: ${type}${widgetName ? ` (widget: ${widgetName})` : ''}`;\n Logger.error(\"[MetaUI PluginRegistry]\", msg);\n Logger.showErrorPopup(`Plugin Registry Error.\\n\\nDetails: ${msg}`);\n throw new Error(`[MetaUI] ${msg}`);\n }\n \n try {\n return new PluginClass();\n } catch (error) {\n const msg = (error as Error).message;\n Logger.error(`[MetaUI PluginRegistry] Failed to instantiate plugin for ${type}`, msg);\n Logger.showErrorPopup(`Failed to instantiate plugin for '${type}'.\\n\\nDetails: ${msg}`);\n throw new Error(`[MetaUI Plugin Instantiation] ${msg}`);\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -7,31 +7,41 @@ declare module "nz/co/siliconst/ui5/metaui/core/PluginRegistry" {
7
7
  import { IPlugin } from "nz/co/siliconst/ui5/metaui/interfaces/IPlugin";
8
8
  import { FieldType } from "nz/co/siliconst/ui5/metaui/interfaces/ISchema";
9
9
  /**
10
- * Singleton registry that manages the lifecycle and lookup of UI5 plugin constructors.
10
+ * Singleton orchestrator responsible for maintaining the registry of all available UI control plugins.
11
+ * Resolves standard JSON schema types to their respective UI5 native controls.
12
+ *
13
+ * @namespace nz.co.siliconst.ui5.metaui.core
14
+ * @public
11
15
  */
12
16
  export class PluginRegistry {
17
+ /** The single instance of the PluginRegistry. */
13
18
  private static instance;
14
- /** Internal map linking string types to their respective constructor functions. */
15
- private plugins;
19
+ /** Internal strongly typed registry holding plugin constructors. */
20
+ private readonly registry;
16
21
  private constructor();
17
22
  /**
18
23
  * Retrieves the singular instance of the PluginRegistry.
19
- * @returns The PluginRegistry singleton.
24
+ * @returns {PluginRegistry} The active instance.
20
25
  */
21
26
  static getInstance(): PluginRegistry;
22
27
  /**
23
- * Registers a new UI control plugin against a specific schema primitive type.
24
- * @param type The primitive FieldType (e.g., 'string', 'date').
25
- * @param pluginConstructor The class constructor for the plugin.
28
+ * Registers a new control plugin to be utilized by the Layout Managers.
29
+ *
30
+ * @param type The JSON Schema primitive type (e.g., 'string', 'number').
31
+ * @param pluginConstructor The class constructor for the plugin implementation.
32
+ * @param widgetName Optional UI hint to override the default type handler (e.g., 'textArea' for a 'string').
26
33
  */
27
- register(type: FieldType, pluginConstructor: new () => IPlugin): void;
34
+ register(type: FieldType, pluginConstructor: new () => IPlugin, widgetName?: string): void;
28
35
  /**
29
- * Instantiates and returns a new plugin based on the requested primitive type.
30
- * @param type The primitive FieldType to look up.
31
- * @throws Error if no plugin has been registered for the provided type.
32
- * @returns A newly instantiated plugin ready for rendering.
36
+ * Resolves and instantiates the correct control plugin based on the field type and widget hint.
37
+ * Falls back to the primitive type handler if the specific widget is not registered.
38
+ *
39
+ * @param type The JSON Schema primitive type.
40
+ * @param widgetName The specific UI widget hint (if provided in schema.ui.widget).
41
+ * @returns {IPlugin} A new instance of the resolved plugin.
42
+ * @throws {Error} If no handler is registered for the specified type.
33
43
  */
34
- getPlugin(type: FieldType): IPlugin;
44
+ getPlugin(type: FieldType, widgetName?: string): IPlugin;
35
45
  }
36
46
  }
37
47
  //# sourceMappingURL=PluginRegistry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PluginRegistry.d.ts","sourceRoot":"..\\..\\..\\..\\..\\..\\..\\..","sources":["src\\nz\\co\\siliconst\\ui5\\metaui\\core\\PluginRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,gDAAgD,CAAC;IAChE;;;;OAIG;IAEH,OAAO,EAAE,OAAO,EAAE,MAAM,+CAA+C,CAAC;IACxE,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;IAE1E;;OAEG;IACH,MAAa,cAAc;QACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAiB;QAExC,mFAAmF;QACnF,OAAO,CAAC,OAAO,CAAgD;QAE/D,OAAO;QAIP;;;WAGG;eACW,WAAW,IAAI,cAAc;QAO3C;;;;WAIG;QACI,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,iBAAiB,EAAE,UAAU,OAAO,GAAG,IAAI;QAI5E;;;;;WAKG;QACI,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO;KAO7C;CAEA"}
1
+ {"version":3,"file":"PluginRegistry.d.ts","sourceRoot":"../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,gDAAgD,CAAC;IAChE;;;;OAIG;IAEH,OAAO,EAAE,OAAO,EAAE,MAAM,+CAA+C,CAAC;IACxE,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;IAuC1E;;;;;;OAMG;IACH,MAAa,cAAc;QACvB,iDAAiD;QACjD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAiB;QAExC,oEAAoE;QACpE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4E;QAErG,OAAO;QAwCP;;;WAGG;eACW,WAAW,IAAI,cAAc;QAO3C;;;;;;WAMG;QACI,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,iBAAiB,EAAE,UAAU,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;QAKjG;;;;;;;;WAQG;QACI,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO;KA2BlE;CAEA"}
@@ -1,2 +1,2 @@
1
- sap.ui.define([],function(){"use strict";class e{plugins=new Map;constructor(){}static getInstance(){if(!e.instance){e.instance=new e}return e.instance}register(e,t){this.plugins.set(e,t)}getPlugin(e){const t=this.plugins.get(e);if(!t){throw new Error(`[MetaUI] No plugin registered for FieldType: ${e}`)}return new t}}var t={__esModule:true};t.PluginRegistry=e;return t});
1
+ sap.ui.define(["./Registry","../utils/Logger","../plugins/controls/StringPlugin","../plugins/controls/NumberPlugin","../plugins/controls/DatePlugin","../plugins/controls/TimePlugin","../plugins/controls/DateTimePlugin","../plugins/controls/BooleanPlugin","../plugins/controls/SwitchPlugin","../plugins/controls/ArrayPlugin","../plugins/controls/ObjectPlugin","../plugins/controls/DropdownPlugin","../plugins/controls/TextAreaPlugin","../plugins/controls/CodeEditorPlugin","../plugins/controls/FileUploaderPlugin","../plugins/controls/MultiSelectPlugin","../plugins/controls/SliderPlugin","../plugins/controls/RatingIndicatorPlugin","../plugins/controls/MessageStripPlugin","../plugins/controls/CameraPlugin","../plugins/controls/SignaturePlugin","../plugins/controls/GeolocationPlugin","../plugins/controls/BarcodeScannerPlugin","../plugins/controls/VoiceInputPlugin","../plugins/controls/RichTextPlugin","../plugins/actions/UrlNavigationActionPlugin","../plugins/actions/SubmitFormActionPlugin","../plugins/datasources/ODataListBindingPlugin","../plugins/datasources/RemoteDropdownPlugin"],function(i,t,n,r,s,e,g,o,l,u,c,a,P,p,h,d,m,S,w,y,b,D,$,R,I,f,T,A,M){"use strict";const U=i["Registry"];const B=t["Logger"];const E=n["StringPlugin"];const F=r["NumberPlugin"];const x=s["DatePlugin"];const C=e["TimePlugin"];const N=g["DateTimePlugin"];const j=o["BooleanPlugin"];const v=l["SwitchPlugin"];const L=u["ArrayPlugin"];const O=c["ObjectPlugin"];const G=a["DropdownPlugin"];const V=P["TextAreaPlugin"];const _=p["CodeEditorPlugin"];const k=h["FileUploaderPlugin"];const q=d["MultiSelectPlugin"];const z=m["SliderPlugin"];const H=S["RatingIndicatorPlugin"];const J=w["MessageStripPlugin"];const K=y["CameraPlugin"];const Q=b["SignaturePlugin"];const W=D["GeolocationPlugin"];const X=$["BarcodeScannerPlugin"];const Y=R["VoiceInputPlugin"];const Z=I["RichTextPlugin"];const ii=f["UrlNavigationActionPlugin"];const ti=T["SubmitFormActionPlugin"];const ni=A["ODataListBindingPlugin"];const ri=M["RemoteDropdownPlugin"];class si{registry=new U("Controls");constructor(){this.register("string",E);this.register("number",F);this.register("integer",F);this.register("date",x);this.register("boolean",j);this.register("array",L);this.register("object",O);this.register("string",C,"time");this.register("string",N,"datetime");this.register("boolean",v,"switch");this.register("string",G,"select");this.register("string",V,"textArea");this.register("string",_,"codeEditor");this.register("string",k,"fileUploader");this.register("array",q,"multiSelect");this.register("number",z,"slider");this.register("number",H,"rating");this.register("string",J,"messageStrip");this.register("string",K,"camera");this.register("string",Q,"signature");this.register("object",W,"location");this.register("string",X,"scanner");this.register("string",Y,"voiceInput");this.register("string",Z,"richText");this.register("string",ii,"urlButton");this.register("string",ti,"submitButton");this.register("string",ni,"odataSelect");this.register("string",ri,"remoteDropdown")}static getInstance(){if(!si.instance){si.instance=new si}return si.instance}register(i,t,n){const r=n?`${i}:${n}`:i;this.registry.register(r,t)}getPlugin(i,t){let n;if(t){n=this.registry.get(`${i}:${t}`)}if(!n){n=this.registry.get(i)}if(!n){const n=`No control plugin registered for FieldType: ${i}${t?` (widget: ${t})`:""}`;B.error("[MetaUI PluginRegistry]",n);B.showErrorPopup(`Plugin Registry Error.\n\nDetails: ${n}`);throw new Error(`[MetaUI] ${n}`)}try{return new n}catch(t){const n=t.message;B.error(`[MetaUI PluginRegistry] Failed to instantiate plugin for ${i}`,n);B.showErrorPopup(`Failed to instantiate plugin for '${i}'.\n\nDetails: ${n}`);throw new Error(`[MetaUI Plugin Instantiation] ${n}`)}}}var ei={__esModule:true};ei.PluginRegistry=si;return ei});
2
2
  //# sourceMappingURL=PluginRegistry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PluginRegistry.js","names":["PluginRegistry","plugins","Map","constructor","getInstance","instance","register","type","pluginConstructor","this","set","getPlugin","PluginClass","get","Error","__exports","__esModule"],"sources":["PluginRegistry.ts"],"sourcesContent":["/**\r\n * @file PluginRegistry.ts\r\n * @description Centralized hub for mapping UI5 controls to SAP schema data types.\r\n * Enforces the Registry Pattern to decouple the core engine from specific UI5 control implementations.\r\n */\r\n\r\nimport { IPlugin } from \"../interfaces/IPlugin\";\r\nimport { FieldType } from \"../interfaces/ISchema\";\r\n\r\n/**\r\n * Singleton registry that manages the lifecycle and lookup of UI5 plugin constructors.\r\n */\r\nexport class PluginRegistry {\r\n private static instance: PluginRegistry;\r\n \r\n /** Internal map linking string types to their respective constructor functions. */\r\n private plugins: Map<FieldType, new () => IPlugin> = new Map();\r\n\r\n private constructor() {\r\n // Enforce singleton\r\n }\r\n\r\n /**\r\n * Retrieves the singular instance of the PluginRegistry.\r\n * @returns The PluginRegistry singleton.\r\n */\r\n public static getInstance(): PluginRegistry {\r\n if (!PluginRegistry.instance) {\r\n PluginRegistry.instance = new PluginRegistry();\r\n }\r\n return PluginRegistry.instance;\r\n }\r\n\r\n /**\r\n * Registers a new UI control plugin against a specific schema primitive type.\r\n * @param type The primitive FieldType (e.g., 'string', 'date').\r\n * @param pluginConstructor The class constructor for the plugin.\r\n */\r\n public register(type: FieldType, pluginConstructor: new () => IPlugin): void {\r\n this.plugins.set(type, pluginConstructor);\r\n }\r\n\r\n /**\r\n * Instantiates and returns a new plugin based on the requested primitive type.\r\n * @param type The primitive FieldType to look up.\r\n * @throws Error if no plugin has been registered for the provided type.\r\n * @returns A newly instantiated plugin ready for rendering.\r\n */\r\n public getPlugin(type: FieldType): IPlugin {\r\n const PluginClass = this.plugins.get(type);\r\n if (!PluginClass) {\r\n throw new Error(`[MetaUI] No plugin registered for FieldType: ${type}`);\r\n }\r\n return new PluginClass();\r\n }\r\n}\r\n"],"mappings":"yCAYO,MAAMA,EAIDC,QAA6C,IAAIC,IAEjDC,cACJ,CAOJ,kBAAcC,GACV,IAAKJ,EAAeK,SAAU,CAC1BL,EAAeK,SAAW,IAAIL,CAClC,CACA,OAAOA,EAAeK,QAC1B,CAOOC,SAASC,EAAiBC,GAC7BC,KAAKR,QAAQS,IAAIH,EAAMC,EAC3B,CAQOG,UAAUJ,GACb,MAAMK,EAAcH,KAAKR,QAAQY,IAAIN,GACrC,IAAKK,EAAa,CACd,MAAM,IAAIE,MAAM,gDAAgDP,IACpE,CACA,OAAO,IAAIK,CACf,EACH,IAAAG,EAAA,CAAAC,WAAA,MAAAD,EAAAf,iBAAA,OAAAe,CAAA","ignoreList":[]}
1
+ {"version":3,"file":"PluginRegistry.js","names":["Registry","___Registry","Logger","___utils_Logger","StringPlugin","___plugins_controls_StringPlugin","NumberPlugin","___plugins_controls_NumberPlugin","DatePlugin","___plugins_controls_DatePlugin","TimePlugin","___plugins_controls_TimePlugin","DateTimePlugin","___plugins_controls_DateTimePlugin","BooleanPlugin","___plugins_controls_BooleanPlugin","SwitchPlugin","___plugins_controls_SwitchPlugin","ArrayPlugin","___plugins_controls_ArrayPlugin","ObjectPlugin","___plugins_controls_ObjectPlugin","DropdownPlugin","___plugins_controls_DropdownPlugin","TextAreaPlugin","___plugins_controls_TextAreaPlugin","CodeEditorPlugin","___plugins_controls_CodeEditorPlugin","FileUploaderPlugin","___plugins_controls_FileUploaderPlugin","MultiSelectPlugin","___plugins_controls_MultiSelectPlugin","SliderPlugin","___plugins_controls_SliderPlugin","RatingIndicatorPlugin","___plugins_controls_RatingIndicatorPlugin","MessageStripPlugin","___plugins_controls_MessageStripPlugin","CameraPlugin","___plugins_controls_CameraPlugin","SignaturePlugin","___plugins_controls_SignaturePlugin","GeolocationPlugin","___plugins_controls_GeolocationPlugin","BarcodeScannerPlugin","___plugins_controls_BarcodeScannerPlugin","VoiceInputPlugin","___plugins_controls_VoiceInputPlugin","RichTextPlugin","___plugins_controls_RichTextPlugin","UrlNavigationActionPlugin","___plugins_actions_UrlNavigationActionPlugin","SubmitFormActionPlugin","___plugins_actions_SubmitFormActionPlugin","ODataListBindingPlugin","___plugins_datasources_ODataListBindingPlugin","RemoteDropdownPlugin","___plugins_datasources_RemoteDropdownPlugin","PluginRegistry","registry","constructor","this","register","getInstance","instance","type","pluginConstructor","widgetName","key","getPlugin","PluginClass","get","msg","error","showErrorPopup","Error","message","__exports","__esModule"],"sources":["PluginRegistry.ts"],"sourcesContent":["/**\n * @file PluginRegistry.ts\n * @description Centralized hub for mapping UI5 controls to SAP schema data types.\n * Enforces the Registry Pattern to decouple the core engine from specific UI5 control implementations.\n */\n\nimport { IPlugin } from \"../interfaces/IPlugin\";\nimport { FieldType } from \"../interfaces/ISchema\";\n\nimport { Registry } from \"./Registry\";\nimport { Logger } from \"../utils/Logger\";\n\nimport { StringPlugin } from \"../plugins/controls/StringPlugin\";\nimport { NumberPlugin } from \"../plugins/controls/NumberPlugin\";\nimport { DatePlugin } from \"../plugins/controls/DatePlugin\";\nimport { TimePlugin } from \"../plugins/controls/TimePlugin\";\nimport { DateTimePlugin } from \"../plugins/controls/DateTimePlugin\";\nimport { BooleanPlugin } from \"../plugins/controls/BooleanPlugin\";\nimport { SwitchPlugin } from \"../plugins/controls/SwitchPlugin\";\nimport { ArrayPlugin } from \"../plugins/controls/ArrayPlugin\";\nimport { ObjectPlugin } from \"../plugins/controls/ObjectPlugin\";\nimport { DropdownPlugin } from \"../plugins/controls/DropdownPlugin\";\nimport { TextAreaPlugin } from \"../plugins/controls/TextAreaPlugin\";\nimport { CodeEditorPlugin } from \"../plugins/controls/CodeEditorPlugin\";\n\n// New Phase 1 Controls\nimport { FileUploaderPlugin } from \"../plugins/controls/FileUploaderPlugin\";\nimport { MultiSelectPlugin } from \"../plugins/controls/MultiSelectPlugin\";\nimport { SliderPlugin } from \"../plugins/controls/SliderPlugin\";\nimport { RatingIndicatorPlugin } from \"../plugins/controls/RatingIndicatorPlugin\";\nimport { MessageStripPlugin } from \"../plugins/controls/MessageStripPlugin\";\n\n// New Phase 5 Hardware / Base64 Plugins\nimport { CameraPlugin } from \"../plugins/controls/CameraPlugin\";\nimport { SignaturePlugin } from \"../plugins/controls/SignaturePlugin\";\nimport { GeolocationPlugin } from \"../plugins/controls/GeolocationPlugin\";\nimport { BarcodeScannerPlugin } from \"../plugins/controls/BarcodeScannerPlugin\";\nimport { VoiceInputPlugin } from \"../plugins/controls/VoiceInputPlugin\";\nimport { RichTextPlugin } from \"../plugins/controls/RichTextPlugin\";\n\n// New Phase 4 Actions & Datasources\nimport { UrlNavigationActionPlugin } from \"../plugins/actions/UrlNavigationActionPlugin\";\nimport { SubmitFormActionPlugin } from \"../plugins/actions/SubmitFormActionPlugin\";\nimport { ODataListBindingPlugin } from \"../plugins/datasources/ODataListBindingPlugin\";\nimport { RemoteDropdownPlugin } from \"../plugins/datasources/RemoteDropdownPlugin\";\n\n/**\n * Singleton orchestrator responsible for maintaining the registry of all available UI control plugins.\n * Resolves standard JSON schema types to their respective UI5 native controls.\n * \n * @namespace nz.co.siliconst.ui5.metaui.core\n * @public\n */\nexport class PluginRegistry {\n /** The single instance of the PluginRegistry. */\n private static instance: PluginRegistry;\n \n /** Internal strongly typed registry holding plugin constructors. */\n private readonly registry: Registry<new () => IPlugin> = new Registry<new () => IPlugin>(\"Controls\");\n\n private constructor() {\n // Built-in Default Mappings\n this.register(\"string\", StringPlugin);\n this.register(\"number\", NumberPlugin);\n this.register(\"integer\", NumberPlugin);\n this.register(\"date\", DatePlugin);\n this.register(\"boolean\", BooleanPlugin);\n this.register(\"array\", ArrayPlugin);\n this.register(\"object\", ObjectPlugin);\n\n // Widget Overrides\n this.register(\"string\", TimePlugin, \"time\");\n this.register(\"string\", DateTimePlugin, \"datetime\");\n this.register(\"boolean\", SwitchPlugin, \"switch\");\n this.register(\"string\", DropdownPlugin, \"select\");\n this.register(\"string\", TextAreaPlugin, \"textArea\");\n this.register(\"string\", CodeEditorPlugin, \"codeEditor\");\n \n // Phase 1 Mappings\n this.register(\"string\", FileUploaderPlugin, \"fileUploader\");\n this.register(\"array\", MultiSelectPlugin, \"multiSelect\");\n this.register(\"number\", SliderPlugin, \"slider\");\n this.register(\"number\", RatingIndicatorPlugin, \"rating\");\n this.register(\"string\", MessageStripPlugin, \"messageStrip\");\n\n // Phase 5 Mappings (Hardware)\n this.register(\"string\", CameraPlugin, \"camera\");\n this.register(\"string\", SignaturePlugin, \"signature\");\n this.register(\"object\", GeolocationPlugin, \"location\");\n this.register(\"string\", BarcodeScannerPlugin, \"scanner\");\n this.register(\"string\", VoiceInputPlugin, \"voiceInput\");\n this.register(\"string\", RichTextPlugin, \"richText\");\n\n // Phase 4 Mappings\n this.register(\"string\", UrlNavigationActionPlugin, \"urlButton\");\n this.register(\"string\", SubmitFormActionPlugin, \"submitButton\");\n this.register(\"string\", ODataListBindingPlugin, \"odataSelect\");\n this.register(\"string\", RemoteDropdownPlugin, \"remoteDropdown\");\n }\n\n /**\n * Retrieves the singular instance of the PluginRegistry.\n * @returns {PluginRegistry} The active instance.\n */\n public static getInstance(): PluginRegistry {\n if (!PluginRegistry.instance) {\n PluginRegistry.instance = new PluginRegistry();\n }\n return PluginRegistry.instance;\n }\n\n /**\n * Registers a new control plugin to be utilized by the Layout Managers.\n * \n * @param type The JSON Schema primitive type (e.g., 'string', 'number').\n * @param pluginConstructor The class constructor for the plugin implementation.\n * @param widgetName Optional UI hint to override the default type handler (e.g., 'textArea' for a 'string').\n */\n public register(type: FieldType, pluginConstructor: new () => IPlugin, widgetName?: string): void {\n const key = widgetName ? `${type}:${widgetName}` : type;\n this.registry.register(key, pluginConstructor);\n }\n\n /**\n * Resolves and instantiates the correct control plugin based on the field type and widget hint.\n * Falls back to the primitive type handler if the specific widget is not registered.\n * \n * @param type The JSON Schema primitive type.\n * @param widgetName The specific UI widget hint (if provided in schema.ui.widget).\n * @returns {IPlugin} A new instance of the resolved plugin.\n * @throws {Error} If no handler is registered for the specified type.\n */\n public getPlugin(type: FieldType, widgetName?: string): IPlugin {\n let PluginClass;\n \n if (widgetName) {\n PluginClass = this.registry.get(`${type}:${widgetName}`);\n }\n \n if (!PluginClass) {\n PluginClass = this.registry.get(type);\n }\n\n if (!PluginClass) {\n const msg = `No control plugin registered for FieldType: ${type}${widgetName ? ` (widget: ${widgetName})` : ''}`;\n Logger.error(\"[MetaUI PluginRegistry]\", msg);\n Logger.showErrorPopup(`Plugin Registry Error.\\n\\nDetails: ${msg}`);\n throw new Error(`[MetaUI] ${msg}`);\n }\n \n try {\n return new PluginClass();\n } catch (error) {\n const msg = (error as Error).message;\n Logger.error(`[MetaUI PluginRegistry] Failed to instantiate plugin for ${type}`, msg);\n Logger.showErrorPopup(`Failed to instantiate plugin for '${type}'.\\n\\nDetails: ${msg}`);\n throw new Error(`[MetaUI Plugin Instantiation] ${msg}`);\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}