@rws-framework/client 2.13.2 → 2.13.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 (288) hide show
  1. package/.bin/add-v.sh +9 -9
  2. package/.bin/emerge.sh +15 -15
  3. package/.emerge-fast.yaml +46 -46
  4. package/.emerge-typescript-template.yaml +23 -23
  5. package/.emerge-vis-output/fast-element/emerge-file_result_dependency_graph.graphml +693 -693
  6. package/.emerge-vis-output/fast-element/emerge-filesystem_graph.graphml +705 -705
  7. package/.emerge-vis-output/fast-element/emerge-statistics-metrics.txt +440 -440
  8. package/.emerge-vis-output/fast-element/html/emerge.html +500 -500
  9. package/.emerge-vis-output/fast-element/html/jsconfig.json +8 -8
  10. package/.emerge-vis-output/fast-element/html/resources/css/custom.css +211 -211
  11. package/.emerge-vis-output/fast-element/html/resources/js/emerge_common.js +44 -44
  12. package/.emerge-vis-output/fast-element/html/resources/js/emerge_data.js +13 -13
  13. package/.emerge-vis-output/fast-element/html/resources/js/emerge_git.js +1413 -1413
  14. package/.emerge-vis-output/fast-element/html/resources/js/emerge_graph.js +539 -539
  15. package/.emerge-vis-output/fast-element/html/resources/js/emerge_heatmap.js +219 -219
  16. package/.emerge-vis-output/fast-element/html/resources/js/emerge_hull.js +179 -179
  17. package/.emerge-vis-output/fast-element/html/resources/js/emerge_main.js +1002 -1002
  18. package/.emerge-vis-output/fast-element/html/resources/js/emerge_search.js +71 -71
  19. package/.emerge-vis-output/fast-element/html/resources/js/emerge_ui.js +199 -199
  20. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-grid.css +4123 -4123
  21. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-grid.min.css +6 -6
  22. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-grid.rtl.css +4122 -4122
  23. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-grid.rtl.min.css +6 -6
  24. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-reboot.css +487 -487
  25. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-reboot.min.css +6 -6
  26. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-reboot.rtl.css +484 -484
  27. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-reboot.rtl.min.css +6 -6
  28. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-utilities.css +4265 -4265
  29. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-utilities.min.css +6 -6
  30. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-utilities.rtl.css +4256 -4256
  31. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-utilities.rtl.min.css +6 -6
  32. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap.css +10877 -10877
  33. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap.min.css +6 -6
  34. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap.rtl.css +10841 -10841
  35. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap.rtl.min.css +6 -6
  36. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.bundle.js +7075 -7075
  37. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.bundle.min.js +6 -6
  38. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.esm.js +5202 -5202
  39. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.esm.min.js +6 -6
  40. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.js +5249 -5249
  41. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.min.js +6 -6
  42. package/.emerge-vis-output/fast-element/html/vendors/d3/d3.v7.8.4.min.js +2 -2
  43. package/.emerge-vis-output/fast-element/html/vendors/d3/d3.v7.min.js +2 -2
  44. package/.emerge-vis-output/fast-element/html/vendors/dark-mode-switch/css/dark-mode.css +148 -148
  45. package/.emerge-vis-output/fast-element/html/vendors/daterangepicker/daterangepicker.min.js +7 -7
  46. package/.emerge-vis-output/fast-element/html/vendors/daterangepicker/moment.min.js +6 -6
  47. package/.emerge-vis-output/fast-element/html/vendors/hull/hull.js +373 -373
  48. package/.emerge-vis-output/fast-element/html/vendors/jquery/jquery-3.6.0.min.js +2 -2
  49. package/.emerge-vis-output/fast-element/html/vendors/popper/popper.min.js +6 -6
  50. package/.emerge-vis-output/fast-element/html/vendors/simpleheat/simpleheat.js +141 -141
  51. package/.emerge-vis-output/fast-foundation/emerge-file_result_dependency_graph.graphml +4043 -4043
  52. package/.emerge-vis-output/fast-foundation/emerge-filesystem_graph.graphml +4538 -4538
  53. package/.emerge-vis-output/fast-foundation/emerge-statistics-metrics.txt +2510 -2510
  54. package/.emerge-vis-output/fast-foundation/html/emerge.html +500 -500
  55. package/.emerge-vis-output/fast-foundation/html/jsconfig.json +8 -8
  56. package/.emerge-vis-output/fast-foundation/html/resources/css/custom.css +211 -211
  57. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_common.js +44 -44
  58. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_data.js +13 -13
  59. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_git.js +1413 -1413
  60. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_graph.js +539 -539
  61. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_heatmap.js +219 -219
  62. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_hull.js +179 -179
  63. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_main.js +1002 -1002
  64. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_search.js +71 -71
  65. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_ui.js +199 -199
  66. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-grid.css +4123 -4123
  67. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-grid.min.css +6 -6
  68. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-grid.rtl.css +4122 -4122
  69. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-grid.rtl.min.css +6 -6
  70. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-reboot.css +487 -487
  71. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-reboot.min.css +6 -6
  72. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-reboot.rtl.css +484 -484
  73. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-reboot.rtl.min.css +6 -6
  74. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-utilities.css +4265 -4265
  75. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-utilities.min.css +6 -6
  76. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-utilities.rtl.css +4256 -4256
  77. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-utilities.rtl.min.css +6 -6
  78. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap.css +10877 -10877
  79. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap.min.css +6 -6
  80. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap.rtl.css +10841 -10841
  81. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap.rtl.min.css +6 -6
  82. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.bundle.js +7075 -7075
  83. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.bundle.min.js +6 -6
  84. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.esm.js +5202 -5202
  85. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.esm.min.js +6 -6
  86. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.js +5249 -5249
  87. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.min.js +6 -6
  88. package/.emerge-vis-output/fast-foundation/html/vendors/d3/d3.v7.8.4.min.js +2 -2
  89. package/.emerge-vis-output/fast-foundation/html/vendors/d3/d3.v7.min.js +2 -2
  90. package/.emerge-vis-output/fast-foundation/html/vendors/dark-mode-switch/css/dark-mode.css +148 -148
  91. package/.emerge-vis-output/fast-foundation/html/vendors/daterangepicker/daterangepicker.min.js +7 -7
  92. package/.emerge-vis-output/fast-foundation/html/vendors/daterangepicker/moment.min.js +6 -6
  93. package/.emerge-vis-output/fast-foundation/html/vendors/hull/hull.js +373 -373
  94. package/.emerge-vis-output/fast-foundation/html/vendors/jquery/jquery-3.6.0.min.js +2 -2
  95. package/.emerge-vis-output/fast-foundation/html/vendors/popper/popper.min.js +6 -6
  96. package/.emerge-vis-output/fast-foundation/html/vendors/simpleheat/simpleheat.js +141 -141
  97. package/.emerge-vis-output/rws-client/emerge-file_result_dependency_graph.graphml +1143 -1143
  98. package/.emerge-vis-output/rws-client/emerge-filesystem_graph.graphml +1003 -1003
  99. package/.emerge-vis-output/rws-client/emerge-statistics-metrics.txt +655 -655
  100. package/.emerge-vis-output/rws-client/html/emerge.html +500 -500
  101. package/.emerge-vis-output/rws-client/html/jsconfig.json +8 -8
  102. package/.emerge-vis-output/rws-client/html/resources/css/custom.css +211 -211
  103. package/.emerge-vis-output/rws-client/html/resources/js/emerge_common.js +44 -44
  104. package/.emerge-vis-output/rws-client/html/resources/js/emerge_data.js +13 -13
  105. package/.emerge-vis-output/rws-client/html/resources/js/emerge_git.js +1413 -1413
  106. package/.emerge-vis-output/rws-client/html/resources/js/emerge_graph.js +539 -539
  107. package/.emerge-vis-output/rws-client/html/resources/js/emerge_heatmap.js +219 -219
  108. package/.emerge-vis-output/rws-client/html/resources/js/emerge_hull.js +179 -179
  109. package/.emerge-vis-output/rws-client/html/resources/js/emerge_main.js +1002 -1002
  110. package/.emerge-vis-output/rws-client/html/resources/js/emerge_search.js +71 -71
  111. package/.emerge-vis-output/rws-client/html/resources/js/emerge_ui.js +199 -199
  112. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-grid.css +4123 -4123
  113. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-grid.min.css +6 -6
  114. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-grid.rtl.css +4122 -4122
  115. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-grid.rtl.min.css +6 -6
  116. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-reboot.css +487 -487
  117. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-reboot.min.css +6 -6
  118. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-reboot.rtl.css +484 -484
  119. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-reboot.rtl.min.css +6 -6
  120. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-utilities.css +4265 -4265
  121. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-utilities.min.css +6 -6
  122. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-utilities.rtl.css +4256 -4256
  123. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-utilities.rtl.min.css +6 -6
  124. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap.css +10877 -10877
  125. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap.min.css +6 -6
  126. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap.rtl.css +10841 -10841
  127. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap.rtl.min.css +6 -6
  128. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/js/bootstrap.bundle.js +7075 -7075
  129. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/js/bootstrap.bundle.min.js +6 -6
  130. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/js/bootstrap.esm.js +5202 -5202
  131. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/js/bootstrap.esm.min.js +6 -6
  132. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/js/bootstrap.js +5249 -5249
  133. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/js/bootstrap.min.js +6 -6
  134. package/.emerge-vis-output/rws-client/html/vendors/d3/d3.v7.8.4.min.js +2 -2
  135. package/.emerge-vis-output/rws-client/html/vendors/d3/d3.v7.min.js +2 -2
  136. package/.emerge-vis-output/rws-client/html/vendors/dark-mode-switch/css/dark-mode.css +148 -148
  137. package/.emerge-vis-output/rws-client/html/vendors/daterangepicker/daterangepicker.min.js +7 -7
  138. package/.emerge-vis-output/rws-client/html/vendors/daterangepicker/moment.min.js +6 -6
  139. package/.emerge-vis-output/rws-client/html/vendors/hull/hull.js +373 -373
  140. package/.emerge-vis-output/rws-client/html/vendors/jquery/jquery-3.6.0.min.js +2 -2
  141. package/.emerge-vis-output/rws-client/html/vendors/popper/popper.min.js +6 -6
  142. package/.emerge-vis-output/rws-client/html/vendors/simpleheat/simpleheat.js +141 -141
  143. package/.eslintrc.json +51 -51
  144. package/.gitmodules +2 -2
  145. package/.setup/.eslintrc.json +11 -11
  146. package/.setup/_base.eslintrc.json +48 -48
  147. package/.setup/tsconfig.json +28 -28
  148. package/PLUGINS.MD +188 -188
  149. package/README.md +1023 -1023
  150. package/_tools.js +396 -396
  151. package/builder/vite/index.ts +4 -4
  152. package/{cfg/build_steps → builder}/vite/loaders/html.ts +11 -11
  153. package/{cfg/build_steps → builder}/vite/loaders/index.ts +8 -8
  154. package/{cfg/build_steps → builder}/vite/loaders/loader.type.ts +27 -27
  155. package/{cfg/build_steps → builder}/vite/loaders/scss.ts +32 -32
  156. package/{cfg/build_steps → builder}/vite/loaders/ts.ts +309 -309
  157. package/builder/vite/rws.vite.config.ts +56 -49
  158. package/{cfg/build_steps → builder}/vite/rws_scss_plugin.ts +61 -60
  159. package/{cfg/build_steps → builder}/vite/scss/_compiler.ts +95 -94
  160. package/{cfg/build_steps → builder}/vite/scss/_fonts.ts +80 -80
  161. package/{cfg/build_steps → builder}/vite/scss/_fs.ts +83 -81
  162. package/{cfg/build_steps → builder}/vite/scss/_import.ts +191 -184
  163. package/builder/webpack/after/copy.js +78 -78
  164. package/builder/webpack/after/sw.js +13 -13
  165. package/builder/webpack/index.js +10 -10
  166. package/builder/webpack/loaders/rws_fast_html_loader.js +17 -17
  167. package/builder/webpack/loaders/rws_fast_scss_loader.js +43 -43
  168. package/builder/webpack/loaders/rws_fast_ts_loader.js +96 -96
  169. package/builder/webpack/loaders/ts/html_error.js +19 -19
  170. package/builder/webpack/rws.webpack.config.js +169 -169
  171. package/builder/webpack/rws_scss_plugin.js +62 -62
  172. package/builder/webpack/rws_webpack_plugin.js +137 -137
  173. package/builder/webpack/scss/_compiler.js +97 -97
  174. package/builder/webpack/scss/_fonts.js +80 -80
  175. package/builder/webpack/scss/_fs.js +84 -84
  176. package/builder/webpack/scss/_import.js +186 -186
  177. package/cfg/_default.cfg.js +26 -26
  178. package/cfg/_storage.d.ts +22 -22
  179. package/cfg/_storage.js +42 -42
  180. package/cfg/build_steps/vite/_build_config.ts +105 -105
  181. package/cfg/build_steps/vite/_env_defines.ts +17 -17
  182. package/cfg/build_steps/vite/_loaders.ts +187 -186
  183. package/cfg/build_steps/vite/index.ts +2 -2
  184. package/cfg/build_steps/vite/types.ts +7 -7
  185. package/cfg/build_steps/webpack/_actions.js +85 -85
  186. package/cfg/build_steps/webpack/_aliases.js +9 -9
  187. package/cfg/build_steps/webpack/_build_config.js +76 -76
  188. package/cfg/build_steps/webpack/_cache.js +98 -98
  189. package/cfg/build_steps/webpack/_component_handling.js +60 -60
  190. package/cfg/build_steps/webpack/_dev_servers.js +14 -14
  191. package/cfg/build_steps/webpack/_env_defines.js +18 -18
  192. package/cfg/build_steps/webpack/_info.js +18 -18
  193. package/cfg/build_steps/webpack/_loaders.js +223 -223
  194. package/cfg/build_steps/webpack/_plugins.js +102 -102
  195. package/cfg/build_steps/webpack/_production.js +37 -37
  196. package/cfg/build_steps/webpack/_rws_externals.js +68 -68
  197. package/cfg/build_steps/webpack/_timing.js +52 -52
  198. package/cfg/build_steps/webpack/_webpack_config.js +58 -58
  199. package/cfg/tsconfigSetup.js +150 -150
  200. package/console.js +86 -86
  201. package/docs/assets/26e93147f10415a0ed4a.svg +6 -6
  202. package/docs/assets/75c9471662e97ee24f29.svg +7 -7
  203. package/docs/assets/db90e4df2373980c497d.svg +9 -9
  204. package/docs/assets/highlight.css +127 -127
  205. package/docs/assets/main.js +59 -59
  206. package/docs/assets/style.css +1414 -1414
  207. package/docs/classes/ApiServiceInstance.html +25 -25
  208. package/docs/classes/ConfigServiceInstance.html +21 -21
  209. package/docs/classes/DOMServiceInstance.html +17 -17
  210. package/docs/classes/NotifyServiceInstance.html +15 -15
  211. package/docs/classes/RWSClientInstance.html +45 -45
  212. package/docs/classes/RWSPlugin.html +13 -13
  213. package/docs/classes/RWSService.html +10 -10
  214. package/docs/classes/RWSViewComponent.html +1022 -1022
  215. package/docs/classes/ServiceWorkerServiceInstance.html +13 -13
  216. package/docs/classes/UtilsServiceInstance.html +13 -13
  217. package/docs/functions/attr.html +5 -5
  218. package/docs/functions/observable.html +3 -3
  219. package/docs/index.html +179 -179
  220. package/docs/interfaces/HTMLTag.html +3 -3
  221. package/docs/interfaces/IRWSConfig.html +20 -20
  222. package/docs/interfaces/IRWSDecoratorOptions.html +5 -5
  223. package/docs/interfaces/IRWSHttpRoute.html +2 -2
  224. package/docs/interfaces/IRWSPrefixedHTTProutes.html +2 -2
  225. package/docs/interfaces/IRWSUser.html +5 -5
  226. package/docs/modules.html +45 -45
  227. package/foundation/index.js +1 -1
  228. package/foundation/rws-foundation.d.ts +7 -7
  229. package/foundation/rws-foundation.js +7 -7
  230. package/package.json +108 -108
  231. package/service_worker/src/_service_worker.ts +83 -83
  232. package/service_worker/tsconfig.json +20 -20
  233. package/service_worker/webpack.config.js +66 -66
  234. package/src/client/components.ts +67 -67
  235. package/src/client/config.ts +165 -165
  236. package/src/client/services.ts +27 -27
  237. package/src/client.ts +212 -212
  238. package/src/components/_attrs/_default_observable_accessor.ts +8 -8
  239. package/src/components/_attrs/_extended_accessor.ts +40 -40
  240. package/src/components/_attrs/_external_handler.ts +7 -7
  241. package/src/components/_attrs/_external_observable_accessor.ts +8 -8
  242. package/src/components/_attrs/angular-attr.ts +34 -34
  243. package/src/components/_attrs/external-attr.ts +59 -59
  244. package/src/components/_attrs/external-observable.ts +52 -52
  245. package/src/components/_attrs/sanitize-html.ts +80 -80
  246. package/src/components/_component.ts +245 -245
  247. package/src/components/_container.ts +15 -15
  248. package/src/components/_decorator.ts +122 -122
  249. package/src/components/_decorators/RWSFillBuild.ts +54 -54
  250. package/src/components/_decorators/RWSInject.ts +49 -49
  251. package/src/components/_decorators/RWSService.ts +11 -11
  252. package/src/components/_decorators/_di.ts +15 -15
  253. package/src/components/_definitions.ts +64 -64
  254. package/src/components/_event_handling.ts +40 -40
  255. package/src/components/index.ts +14 -14
  256. package/src/components/loader/component.ts +12 -12
  257. package/src/components/loader/styles/layout.scss +13 -13
  258. package/src/components/progress/component.ts +54 -54
  259. package/src/components/progress/styles/layout.scss +90 -90
  260. package/src/components/progress/template.html +24 -24
  261. package/src/components/uploader/component.ts +83 -83
  262. package/src/components/uploader/styles/layout.scss +130 -130
  263. package/src/components/uploader/template.html +16 -16
  264. package/src/index.ts +93 -93
  265. package/src/plugins/_builder.js +31 -31
  266. package/src/plugins/_plugin.ts +63 -63
  267. package/src/services/ApiService.ts +242 -242
  268. package/src/services/ConfigService.ts +134 -134
  269. package/src/services/DOMService.ts +100 -100
  270. package/src/services/NotifyService.ts +47 -47
  271. package/src/services/ServiceWorkerService.ts +60 -60
  272. package/src/services/UtilsService.ts +60 -60
  273. package/src/services/_service.ts +64 -64
  274. package/src/styles/_darkreader.scss +30 -30
  275. package/src/styles/_grid.scss +75 -75
  276. package/src/styles/_misc.scss +8 -8
  277. package/src/styles/_scrollbars.scss +40 -40
  278. package/src/styles/includes.scss +4 -4
  279. package/src/types/IRWSConfig.ts +30 -30
  280. package/src/types/IRWSPlugin.ts +18 -18
  281. package/src/types/IRWSUser.ts +6 -6
  282. package/src/types/IRWSViewComponent.ts +36 -36
  283. package/src/types/RWSNotify.ts +6 -6
  284. package/src/types/RWSWindow.ts +41 -41
  285. package/tsconfig.json +30 -30
  286. package/typedoc.json +13 -13
  287. package/types/declarations.d.ts +8 -8
  288. package/types/docs-typings.d.ts +15 -15
@@ -1,123 +1,123 @@
1
- import RWSContainer from './_container';
2
- import TheRWSService from '../services/_service';
3
- import ConfigService from '../services/ConfigService';
4
- import { loadRWSRichWindow } from '../types/RWSWindow';
5
- import RWSViewComponent, { IWithCompose } from './_component';
6
- import { InterfaceSymbol } from './_container';
7
- import { RWSInject } from './_decorators/RWSInject';
8
- import { ElementStyles, Observable, ViewTemplate } from '@microsoft/fast-element';
9
- import { handleExternalChange } from './_attrs/_external_handler';
10
-
11
- interface RWSDecoratorOptions {
12
- template?: string,
13
- styles?: string,
14
- fastElementOptions?: any,
15
- ignorePackaging?: boolean,
16
- debugPackaging?: boolean
17
- oreoMode?: boolean
18
- }
19
-
20
- //const _PARAMTYPES_METADATA_KEY = 'design:paramtypes';
21
- type HtmlBinderType = (context: RWSViewComponent) => ViewTemplate;
22
-
23
- function RWSView<Component extends RWSViewComponent>(name: string, data?: RWSDecoratorOptions | null, override?: { styles?: ElementStyles, template?: ViewTemplate, options?: any }): (type: any, args?: any) => void {
24
- return (theComponent: IWithCompose<Component>, args?: any) => {
25
- theComponent.definition = { name, template: null }
26
-
27
- if(override){
28
- if(override.styles){
29
- theComponent.definition.styles = override.styles;
30
- }
31
-
32
- if(override.template){
33
- theComponent.definition.template = override.template;
34
- }
35
-
36
-
37
- if(override.options){
38
- (theComponent.definition as any).options = override.options;
39
- }
40
- }
41
- };
42
- }
43
-
44
-
45
- function RWSIgnore(params: { mergeToApp?: boolean } | null = null): () => void {
46
- return () => { };
47
- }
48
-
49
- function getParentConstructor(instance: any): any {
50
- const proto = Object.getPrototypeOf(instance.constructor.prototype);
51
- if (proto && proto.constructor) {
52
- return proto.constructor;
53
- }
54
-
55
- return null;
56
- }
57
-
58
-
59
- const applyConstructor = (component: RWSViewComponent, x: boolean = false): void => {
60
- const mainConstructor: any = component.constructor;
61
- const parent = getParentConstructor(component);
62
-
63
-
64
- if (parent.name !== 'RWSViewComponent' ) {
65
- return;
66
- }
67
-
68
-
69
- const existingInjectedDependencies = (mainConstructor as IWithCompose<RWSViewComponent>)._toInject;
70
-
71
- const regServices = loadRWSRichWindow().RWS._registered;
72
-
73
-
74
- const depsToInject: string[] = (mainConstructor as IWithCompose<RWSViewComponent>)._depKeys[mainConstructor.name] || [];
75
- const depsInInjector: string[] = Object.keys(existingInjectedDependencies);
76
-
77
- const toInject: string[] = [...depsToInject]
78
-
79
- type KeyType = {[key: string]: TheRWSService | string };
80
-
81
- const _target = (component as any);
82
-
83
- function inject(services: KeyType){
84
- for (const prop in services) {
85
- const service = (typeof services[prop] === 'string' ? existingInjectedDependencies[prop] : services[prop]) as TheRWSService;
86
- _target[prop] = service;
87
- }
88
- }
89
-
90
- inject(toInject.reduce((acc: KeyType, cur) => {
91
- acc[cur] = cur;
92
- return acc;
93
- }, {}));
94
-
95
- const defaultDeps: [string, TheRWSService][] = Object.keys(existingInjectedDependencies)
96
- .filter((depKey: string) => existingInjectedDependencies[depKey].isDefault()).map((depKey => [depKey, existingInjectedDependencies[depKey]]));
97
-
98
- inject(defaultDeps.reduce((acc: KeyType, cur: [string, TheRWSService]) => {
99
- acc[cur[0]] = cur[1];
100
- return acc;
101
- }, {}));
102
-
103
- inject({
104
- config: RWSContainer().get(ConfigService)
105
- })
106
-
107
- if(Object.keys(RWSViewComponent._externalAttrs).includes((_target.constructor as IWithCompose<any>).name)){
108
- for(const exAttrKey in RWSViewComponent._externalAttrs[(_target.constructor as IWithCompose<any>).name]){
109
- const exAttr = RWSViewComponent._externalAttrs[(_target.constructor as IWithCompose<any>).name][exAttrKey];
110
- const notifier = Observable.getNotifier(_target);
111
- notifier.subscribe({
112
- handleChange(source, key) {
113
- if (key === exAttr && !_target.__exAttrLoaded.includes(exAttr)) {
114
- handleExternalChange(source, key);
115
- _target.__exAttrLoaded.push(key);
116
- }
117
- }
118
- }, exAttr);
119
- }
120
- }
121
- };
122
-
1
+ import RWSContainer from './_container';
2
+ import TheRWSService from '../services/_service';
3
+ import ConfigService from '../services/ConfigService';
4
+ import { loadRWSRichWindow } from '../types/RWSWindow';
5
+ import RWSViewComponent, { IWithCompose } from './_component';
6
+ import { InterfaceSymbol } from './_container';
7
+ import { RWSInject } from './_decorators/RWSInject';
8
+ import { ElementStyles, Observable, ViewTemplate } from '@microsoft/fast-element';
9
+ import { handleExternalChange } from './_attrs/_external_handler';
10
+
11
+ interface RWSDecoratorOptions {
12
+ template?: string,
13
+ styles?: string,
14
+ fastElementOptions?: any,
15
+ ignorePackaging?: boolean,
16
+ debugPackaging?: boolean
17
+ oreoMode?: boolean
18
+ }
19
+
20
+ //const _PARAMTYPES_METADATA_KEY = 'design:paramtypes';
21
+ type HtmlBinderType = (context: RWSViewComponent) => ViewTemplate;
22
+
23
+ function RWSView<Component extends RWSViewComponent>(name: string, data?: RWSDecoratorOptions | null, override?: { styles?: ElementStyles, template?: ViewTemplate, options?: any }): (type: any, args?: any) => void {
24
+ return (theComponent: IWithCompose<Component>, args?: any) => {
25
+ theComponent.definition = { name, template: null }
26
+
27
+ if(override){
28
+ if(override.styles){
29
+ theComponent.definition.styles = override.styles;
30
+ }
31
+
32
+ if(override.template){
33
+ theComponent.definition.template = override.template;
34
+ }
35
+
36
+
37
+ if(override.options){
38
+ (theComponent.definition as any).options = override.options;
39
+ }
40
+ }
41
+ };
42
+ }
43
+
44
+
45
+ function RWSIgnore(params: { mergeToApp?: boolean } | null = null): () => void {
46
+ return () => { };
47
+ }
48
+
49
+ function getParentConstructor(instance: any): any {
50
+ const proto = Object.getPrototypeOf(instance.constructor.prototype);
51
+ if (proto && proto.constructor) {
52
+ return proto.constructor;
53
+ }
54
+
55
+ return null;
56
+ }
57
+
58
+
59
+ const applyConstructor = (component: RWSViewComponent, x: boolean = false): void => {
60
+ const mainConstructor: any = component.constructor;
61
+ const parent = getParentConstructor(component);
62
+
63
+
64
+ if (parent.name !== 'RWSViewComponent' ) {
65
+ return;
66
+ }
67
+
68
+
69
+ const existingInjectedDependencies = (mainConstructor as IWithCompose<RWSViewComponent>)._toInject;
70
+
71
+ const regServices = loadRWSRichWindow().RWS._registered;
72
+
73
+
74
+ const depsToInject: string[] = (mainConstructor as IWithCompose<RWSViewComponent>)._depKeys[mainConstructor.name] || [];
75
+ const depsInInjector: string[] = Object.keys(existingInjectedDependencies);
76
+
77
+ const toInject: string[] = [...depsToInject]
78
+
79
+ type KeyType = {[key: string]: TheRWSService | string };
80
+
81
+ const _target = (component as any);
82
+
83
+ function inject(services: KeyType){
84
+ for (const prop in services) {
85
+ const service = (typeof services[prop] === 'string' ? existingInjectedDependencies[prop] : services[prop]) as TheRWSService;
86
+ _target[prop] = service;
87
+ }
88
+ }
89
+
90
+ inject(toInject.reduce((acc: KeyType, cur) => {
91
+ acc[cur] = cur;
92
+ return acc;
93
+ }, {}));
94
+
95
+ const defaultDeps: [string, TheRWSService][] = Object.keys(existingInjectedDependencies)
96
+ .filter((depKey: string) => existingInjectedDependencies[depKey].isDefault()).map((depKey => [depKey, existingInjectedDependencies[depKey]]));
97
+
98
+ inject(defaultDeps.reduce((acc: KeyType, cur: [string, TheRWSService]) => {
99
+ acc[cur[0]] = cur[1];
100
+ return acc;
101
+ }, {}));
102
+
103
+ inject({
104
+ config: RWSContainer().get(ConfigService)
105
+ })
106
+
107
+ if(Object.keys(RWSViewComponent._externalAttrs).includes((_target.constructor as IWithCompose<any>).name)){
108
+ for(const exAttrKey in RWSViewComponent._externalAttrs[(_target.constructor as IWithCompose<any>).name]){
109
+ const exAttr = RWSViewComponent._externalAttrs[(_target.constructor as IWithCompose<any>).name][exAttrKey];
110
+ const notifier = Observable.getNotifier(_target);
111
+ notifier.subscribe({
112
+ handleChange(source, key) {
113
+ if (key === exAttr && !_target.__exAttrLoaded.includes(exAttr)) {
114
+ handleExternalChange(source, key);
115
+ _target.__exAttrLoaded.push(key);
116
+ }
117
+ }
118
+ }, exAttr);
119
+ }
120
+ }
121
+ };
122
+
123
123
  export { RWSView, RWSDecoratorOptions, RWSIgnore, RWSInject, applyConstructor };
@@ -1,55 +1,55 @@
1
- import IRWSConfig from '../../types/IRWSConfig.js';
2
-
3
- function extractEnvVar(envVar: string){
4
- const extractedVars = JSON.parse(JSON.stringify(envVar));
5
-
6
- const {
7
- backendUrl,
8
- wsUrl,
9
- partedDirUrlPrefix,
10
- partedPrefix,
11
- pubUrlFilePrefix,
12
- transports,
13
- parted
14
- } = extractedVars;
15
-
16
- const extractedFrontendVars = {
17
- backendUrl,
18
- wsUrl,
19
- partedDirUrlPrefix,
20
- partedPrefix,
21
- pubUrlFilePrefix,
22
- transports,
23
- parted
24
- };
25
-
26
- return {
27
- extractedVars,
28
- extractedFrontendVars
29
- };
30
- }
31
-
32
- function RWSFillBuild(config: Partial<IRWSConfig> = {}) {
33
- return function <T extends { new(...args: any[]): {} }>(constructor: T) {
34
- return class extends constructor {
35
- _DEFAULTS: IRWSConfig;
36
- _BUILD_OVERRIDE: IRWSConfig;
37
- constructor(...args: any[]) {
38
- super(...args);
39
-
40
- const extractedFrontendDefaults = extractEnvVar(process.env._RWS_DEFAULTS).extractedFrontendVars;
41
-
42
- this._DEFAULTS = {
43
- ...config,
44
- ...extractedFrontendDefaults
45
- } as IRWSConfig;
46
-
47
- const extractedFrontendBuildVars = extractEnvVar(process.env._RWS_BUILD_OVERRIDE).extractedFrontendVars;
48
-
49
- this._BUILD_OVERRIDE = extractedFrontendBuildVars as IRWSConfig;
50
- }
51
- };
52
- };
53
- }
54
-
1
+ import IRWSConfig from '../../types/IRWSConfig.js';
2
+
3
+ function extractEnvVar(envVar: string){
4
+ const extractedVars = JSON.parse(JSON.stringify(envVar));
5
+
6
+ const {
7
+ backendUrl,
8
+ wsUrl,
9
+ partedDirUrlPrefix,
10
+ partedPrefix,
11
+ pubUrlFilePrefix,
12
+ transports,
13
+ parted
14
+ } = extractedVars;
15
+
16
+ const extractedFrontendVars = {
17
+ backendUrl,
18
+ wsUrl,
19
+ partedDirUrlPrefix,
20
+ partedPrefix,
21
+ pubUrlFilePrefix,
22
+ transports,
23
+ parted
24
+ };
25
+
26
+ return {
27
+ extractedVars,
28
+ extractedFrontendVars
29
+ };
30
+ }
31
+
32
+ function RWSFillBuild(config: Partial<IRWSConfig> = {}) {
33
+ return function <T extends { new(...args: any[]): {} }>(constructor: T) {
34
+ return class extends constructor {
35
+ _DEFAULTS: IRWSConfig;
36
+ _BUILD_OVERRIDE: IRWSConfig;
37
+ constructor(...args: any[]) {
38
+ super(...args);
39
+
40
+ const extractedFrontendDefaults = extractEnvVar(process.env._RWS_DEFAULTS).extractedFrontendVars;
41
+
42
+ this._DEFAULTS = {
43
+ ...config,
44
+ ...extractedFrontendDefaults
45
+ } as IRWSConfig;
46
+
47
+ const extractedFrontendBuildVars = extractEnvVar(process.env._RWS_BUILD_OVERRIDE).extractedFrontendVars;
48
+
49
+ this._BUILD_OVERRIDE = extractedFrontendBuildVars as IRWSConfig;
50
+ }
51
+ };
52
+ };
53
+ }
54
+
55
55
  export { RWSFillBuild };
@@ -1,50 +1,50 @@
1
- import { Key } from '../_container';
2
- import RWSViewComponent, { IWithCompose } from '../_component';
3
- import { loadDep, getFunctionParamNames } from './_di';
4
- import TheRWSService from '../../services/_service';
5
- import { handleExternalChange } from '../_attrs/_external_handler';
6
-
7
-
8
- type InjectDecoratorReturnType = (target: any, key?: string | number | undefined, parameterIndex?: number) => void;
9
- type TargetType = any;
10
-
11
- function addToComponentInjection(targetComponentName: string, constructor: any, depKey: string, dependencyClass: Key, isDefaultService: boolean = false){
12
-
13
- if(isDefaultService){
14
- targetComponentName = '_all';
15
- }
16
-
17
- if(!Object.keys(constructor._depKeys).includes(targetComponentName)){
18
- constructor._depKeys = { [targetComponentName]: [] };
19
- }
20
-
21
- if(!constructor._depKeys[targetComponentName].includes(depKey)){
22
- constructor._depKeys[targetComponentName].push(depKey);
23
- }
24
-
25
- if(!Object.keys(constructor._toInject).includes(depKey)){
26
- const loadedDependency = loadDep<TheRWSService>(dependencyClass);
27
- constructor._toInject[depKey] = loadedDependency;
28
- }
29
- }
30
-
31
- function RWSInject<T extends RWSViewComponent>(dependencyClass: Key, defaultService: boolean = false): InjectDecoratorReturnType {
32
- return (target: IWithCompose<T>, key?: keyof IWithCompose<T>, parameterIndex?: number) => {
33
- if(key){
34
- const targetConstructor = typeof target === 'function' ? target : (target as any).constructor;
35
- addToComponentInjection(targetConstructor.name, targetConstructor, key as string, dependencyClass, defaultService);
36
- } else{
37
-
38
- const targetConstructor = (target as any).prototype.constructor;
39
-
40
- const paramNames = getFunctionParamNames(targetConstructor);
41
- const depKey = paramNames[parameterIndex];
42
-
43
- addToComponentInjection(targetConstructor.name, targetConstructor, depKey, dependencyClass, defaultService);
44
- }
45
- };
46
- }
47
-
48
- export {
49
- RWSInject
1
+ import { Key } from '../_container';
2
+ import RWSViewComponent, { IWithCompose } from '../_component';
3
+ import { loadDep, getFunctionParamNames } from './_di';
4
+ import TheRWSService from '../../services/_service';
5
+ import { handleExternalChange } from '../_attrs/_external_handler';
6
+
7
+
8
+ type InjectDecoratorReturnType = (target: any, key?: string | number | undefined, parameterIndex?: number) => void;
9
+ type TargetType = any;
10
+
11
+ function addToComponentInjection(targetComponentName: string, constructor: any, depKey: string, dependencyClass: Key, isDefaultService: boolean = false){
12
+
13
+ if(isDefaultService){
14
+ targetComponentName = '_all';
15
+ }
16
+
17
+ if(!Object.keys(constructor._depKeys).includes(targetComponentName)){
18
+ constructor._depKeys = { [targetComponentName]: [] };
19
+ }
20
+
21
+ if(!constructor._depKeys[targetComponentName].includes(depKey)){
22
+ constructor._depKeys[targetComponentName].push(depKey);
23
+ }
24
+
25
+ if(!Object.keys(constructor._toInject).includes(depKey)){
26
+ const loadedDependency = loadDep<TheRWSService>(dependencyClass);
27
+ constructor._toInject[depKey] = loadedDependency;
28
+ }
29
+ }
30
+
31
+ function RWSInject<T extends RWSViewComponent>(dependencyClass: Key, defaultService: boolean = false): InjectDecoratorReturnType {
32
+ return (target: IWithCompose<T>, key?: keyof IWithCompose<T>, parameterIndex?: number) => {
33
+ if(key){
34
+ const targetConstructor = typeof target === 'function' ? target : (target as any).constructor;
35
+ addToComponentInjection(targetConstructor.name, targetConstructor, key as string, dependencyClass, defaultService);
36
+ } else{
37
+
38
+ const targetConstructor = (target as any).prototype.constructor;
39
+
40
+ const paramNames = getFunctionParamNames(targetConstructor);
41
+ const depKey = paramNames[parameterIndex];
42
+
43
+ addToComponentInjection(targetConstructor.name, targetConstructor, depKey, dependencyClass, defaultService);
44
+ }
45
+ };
46
+ }
47
+
48
+ export {
49
+ RWSInject
50
50
  };
@@ -1,12 +1,12 @@
1
- import RWSViewComponent from '../_component';
2
-
3
- interface RWSServiceDecoratorOptions {
4
- _vars?: any
5
- }
6
-
7
- function RWSService<T extends RWSViewComponent>(options?: RWSServiceDecoratorOptions): (type: any) => void {
8
- return (constructor: T) => {
9
- };
10
- }
11
-
1
+ import RWSViewComponent from '../_component';
2
+
3
+ interface RWSServiceDecoratorOptions {
4
+ _vars?: any
5
+ }
6
+
7
+ function RWSService<T extends RWSViewComponent>(options?: RWSServiceDecoratorOptions): (type: any) => void {
8
+ return (constructor: T) => {
9
+ };
10
+ }
11
+
12
12
  export { RWSService };
@@ -1,15 +1,15 @@
1
-
2
- import RWSContainer, { Key } from '../_container';
3
-
4
- function getFunctionParamNames(func: () => any): string[] {
5
- const constructorMatch = func.toString().match(/constructor\s*\(([^)]*)\)/);
6
- if (!constructorMatch) return null;
7
- return constructorMatch[1].split(',').map(param => param.trim());
8
- }
9
-
10
- function loadDep<T>(dependencyKeyClass: Key): T
11
- {
12
- return RWSContainer().get(dependencyKeyClass) as T;
13
- }
14
-
15
- export { loadDep, getFunctionParamNames };
1
+
2
+ import RWSContainer, { Key } from '../_container';
3
+
4
+ function getFunctionParamNames(func: () => any): string[] {
5
+ const constructorMatch = func.toString().match(/constructor\s*\(([^)]*)\)/);
6
+ if (!constructorMatch) return null;
7
+ return constructorMatch[1].split(',').map(param => param.trim());
8
+ }
9
+
10
+ function loadDep<T>(dependencyKeyClass: Key): T
11
+ {
12
+ return RWSContainer().get(dependencyKeyClass) as T;
13
+ }
14
+
15
+ export { loadDep, getFunctionParamNames };
@@ -1,65 +1,65 @@
1
- import RWSViewComponent, { IWithCompose } from './_component';
2
- import RWSWindow, { RWSWindowComponentInterface, loadRWSRichWindow } from '../types/RWSWindow';
3
- import { ElementStyles, ViewTemplate } from '@microsoft/fast-element';
4
-
5
- export interface IFastDefinition {
6
- name: string;
7
- template: ViewTemplate;
8
- styles?: ElementStyles;
9
- }
10
-
11
- export function isDefined<T extends RWSViewComponent>(element: IWithCompose<T>): boolean {
12
- const richWindow: RWSWindow = loadRWSRichWindow();
13
-
14
- if (!element.definition) {
15
- return false;
16
- }
17
-
18
- return Object.keys(richWindow.RWS.components).includes(element.definition.name);
19
- }
20
-
21
- export function defineComponent<T extends RWSViewComponent>(element: IWithCompose<T>): void {
22
- if (element.isDefined()) {
23
- if (element._verbose) {
24
- console.warn(`Component ${element.name} is already declared`);
25
- }
26
-
27
- return;
28
- }
29
-
30
- const richWindow = loadRWSRichWindow();
31
-
32
- if (!element.definition) {
33
- throw new Error('RWS component is not named. Add `static definition = {name, template};`');
34
- }
35
-
36
- const composedComp = element.compose({
37
- baseName: element.definition.name,
38
- template: element.definition.template,
39
- styles: element.definition.styles
40
- }) as RWSWindowComponentInterface;
41
-
42
- if (!richWindow.RWS) {
43
- throw new Error('RWS client not initialized');
44
- }
45
-
46
- element.sendEventToOutside<string>(element._EVENTS.component_define, element.definition.name);
47
-
48
- richWindow.RWS.components[element.definition.name] = {
49
- interface: composedComp,
50
- component: element
51
- };
52
- }
53
-
54
- export function getDefinition(tagName: string, htmlTemplate: ViewTemplate, styles: ElementStyles = null) {
55
- const def: IFastDefinition = {
56
- name: tagName,
57
- template: htmlTemplate
58
- };
59
-
60
- if (styles) {
61
- def.styles = styles;
62
- }
63
-
64
- return def;
1
+ import RWSViewComponent, { IWithCompose } from './_component';
2
+ import RWSWindow, { RWSWindowComponentInterface, loadRWSRichWindow } from '../types/RWSWindow';
3
+ import { ElementStyles, ViewTemplate } from '@microsoft/fast-element';
4
+
5
+ export interface IFastDefinition {
6
+ name: string;
7
+ template: ViewTemplate;
8
+ styles?: ElementStyles;
9
+ }
10
+
11
+ export function isDefined<T extends RWSViewComponent>(element: IWithCompose<T>): boolean {
12
+ const richWindow: RWSWindow = loadRWSRichWindow();
13
+
14
+ if (!element.definition) {
15
+ return false;
16
+ }
17
+
18
+ return Object.keys(richWindow.RWS.components).includes(element.definition.name);
19
+ }
20
+
21
+ export function defineComponent<T extends RWSViewComponent>(element: IWithCompose<T>): void {
22
+ if (element.isDefined()) {
23
+ if (element._verbose) {
24
+ console.warn(`Component ${element.name} is already declared`);
25
+ }
26
+
27
+ return;
28
+ }
29
+
30
+ const richWindow = loadRWSRichWindow();
31
+
32
+ if (!element.definition) {
33
+ throw new Error('RWS component is not named. Add `static definition = {name, template};`');
34
+ }
35
+
36
+ const composedComp = element.compose({
37
+ baseName: element.definition.name,
38
+ template: element.definition.template,
39
+ styles: element.definition.styles
40
+ }) as RWSWindowComponentInterface;
41
+
42
+ if (!richWindow.RWS) {
43
+ throw new Error('RWS client not initialized');
44
+ }
45
+
46
+ element.sendEventToOutside<string>(element._EVENTS.component_define, element.definition.name);
47
+
48
+ richWindow.RWS.components[element.definition.name] = {
49
+ interface: composedComp,
50
+ component: element
51
+ };
52
+ }
53
+
54
+ export function getDefinition(tagName: string, htmlTemplate: ViewTemplate, styles: ElementStyles = null) {
55
+ const def: IFastDefinition = {
56
+ name: tagName,
57
+ template: htmlTemplate
58
+ };
59
+
60
+ if (styles) {
61
+ def.styles = styles;
62
+ }
63
+
64
+ return def;
65
65
  }