@decaf-ts/for-angular 0.1.3 → 0.1.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 (374) hide show
  1. package/.editorconfig +31 -0
  2. package/.gitlab-ci.yml +197 -0
  3. package/.hintrc +19 -0
  4. package/.prettierrc +49 -0
  5. package/.snyk +13 -0
  6. package/LICENSE.md +260 -0
  7. package/angular.json +274 -0
  8. package/bs-config.json +5 -0
  9. package/cli-module.js.map +1 -0
  10. package/dist/for-angular/cli/cli-module.d.ts +22 -0
  11. package/dist/for-angular/cli/cli-module.d.ts.map +1 -0
  12. package/dist/for-angular/cli/cli-module.js +131 -0
  13. package/dist/for-angular/cli/cli-module.js.map +1 -0
  14. package/dist/lib/README.md +117 -0
  15. package/eslint.config.mjs +101 -0
  16. package/ionic.config.json +14 -0
  17. package/jest.config.ts +52 -0
  18. package/jest.setup.ts +50 -0
  19. package/karma.conf.js +50 -0
  20. package/ng-package.json +16 -0
  21. package/ngsw-config.json +30 -0
  22. package/package.json +86 -17
  23. package/playwright.config.ts +80 -0
  24. package/resources/favicon.png +0 -0
  25. package/resources/favicon.svg +29 -0
  26. package/resources/icon-background.png +0 -0
  27. package/resources/icon-foreground.png +0 -0
  28. package/resources/icon-only.png +0 -0
  29. package/resources/icon-only.svg +29 -0
  30. package/resources/splash-dark.png +0 -0
  31. package/resources/splash-dark2.png +0 -0
  32. package/resources/splash.png +0 -0
  33. package/resources/splash2.png +0 -0
  34. package/resources/touch-icon.svg +29 -0
  35. package/schematics/README.md +28 -0
  36. package/schematics/collection.json +20 -0
  37. package/schematics/package-lock.json +1501 -0
  38. package/schematics/package.json +37 -0
  39. package/schematics/src/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.__style__.template +0 -0
  40. package/schematics/src/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.html.template +3 -0
  41. package/schematics/src/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.spec.ts.template +40 -0
  42. package/schematics/src/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template +37 -0
  43. package/schematics/src/component/files/__name@dasherize@if-flat__/__name@dasherize__.module.ts.template +14 -0
  44. package/schematics/src/component/index.js +146 -0
  45. package/schematics/src/component/schema.js +2 -0
  46. package/schematics/src/component/schema.json +101 -0
  47. package/schematics/src/page/files/__name@dasherize__.page.html.template +15 -0
  48. package/schematics/src/page/files/__name@dasherize__.page.scss.template +0 -0
  49. package/schematics/src/page/files/__name@dasherize__.page.ts.template +19 -0
  50. package/schematics/src/page/index.js +71 -0
  51. package/schematics/src/page/schema.json +87 -0
  52. package/schematics/src/schematics/index.js +11 -0
  53. package/schematics/src/schematics/index_spec.js +13 -0
  54. package/schematics/src/util/ast-util.js +517 -0
  55. package/schematics/src/util/change.js +96 -0
  56. package/schematics/src/util/index.js +14 -0
  57. package/settings.json +112 -0
  58. package/tsconfig.app.json +22 -0
  59. package/tsconfig.cli.json +82 -0
  60. package/tsconfig.lib.json +14 -0
  61. package/tsconfig.lib.prod.json +10 -0
  62. package/tsconfig.spec.json +22 -0
  63. package/webpack.config.js +10 -0
  64. package/workdocs/1-Header.md +5 -0
  65. package/workdocs/2-Badges.md +30 -0
  66. package/workdocs/4-Description.md +4 -0
  67. package/workdocs/5-HowToUse.md +27 -0
  68. package/workdocs/6-Related.md +7 -0
  69. package/workdocs/7-Social.md +5 -0
  70. package/workdocs/99-Footer.md +28 -0
  71. package/workdocs/Readme.md +12 -0
  72. package/workdocs/assets/apple-touch-icon.png +0 -0
  73. package/workdocs/assets/decaf-logo.svg +54 -0
  74. package/workdocs/assets/favicon.png +0 -0
  75. package/workdocs/assets/slogans.json +182 -0
  76. package/workdocs/confluence/.markdown-confluence.template.json +6 -0
  77. package/workdocs/confluence/Angular Module.md +5 -0
  78. package/workdocs/drawings/diagram.drawio +24 -0
  79. package/workdocs/prompts/bulk.md +122 -0
  80. package/workdocs/prompts/code.md +47 -0
  81. package/workdocs/prompts/documentation.md +146 -0
  82. package/workdocs/prompts/uml.md +11 -0
  83. package/workdocs/readme-md.json +6 -0
  84. package/workdocs/reports/CHANGELOG.md +12 -0
  85. package/workdocs/reports/DEPENDENCIES.md +213 -0
  86. package/workdocs/reports/RELEASE_NOTES.md +24 -0
  87. package/workdocs/reports/coverage/.gitkeep +0 -0
  88. package/workdocs/reports/coverage/clover.xml +4110 -0
  89. package/workdocs/reports/coverage/coverage-final.json +76 -0
  90. package/workdocs/reports/coverage/lcov-report/base.css +224 -0
  91. package/workdocs/reports/coverage/lcov-report/block-navigation.js +87 -0
  92. package/workdocs/reports/coverage/lcov-report/favicon.png +0 -0
  93. package/workdocs/reports/coverage/lcov-report/index.html +551 -0
  94. package/workdocs/reports/coverage/lcov-report/prettify.css +1 -0
  95. package/workdocs/reports/coverage/lcov-report/prettify.js +2 -0
  96. package/workdocs/reports/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  97. package/workdocs/reports/coverage/lcov-report/sorter.js +210 -0
  98. package/workdocs/reports/coverage/lcov-report/src/app/models/CategoryModel.ts.html +277 -0
  99. package/workdocs/reports/coverage/lcov-report/src/app/models/DemoModel.ts.html +427 -0
  100. package/workdocs/reports/coverage/lcov-report/src/app/models/UserModel.ts.html +226 -0
  101. package/workdocs/reports/coverage/lcov-report/src/app/models/index.html +146 -0
  102. package/workdocs/reports/coverage/lcov-report/src/cli-module.ts.html +502 -0
  103. package/workdocs/reports/coverage/lcov-report/src/environments/environment.ts.html +166 -0
  104. package/workdocs/reports/coverage/lcov-report/src/environments/index.html +116 -0
  105. package/workdocs/reports/coverage/lcov-report/src/index.html +191 -0
  106. package/workdocs/reports/coverage/lcov-report/src/karma-test.ts.html +121 -0
  107. package/workdocs/reports/coverage/lcov-report/src/lib/components/card/card.component.ts.html +625 -0
  108. package/workdocs/reports/coverage/lcov-report/src/lib/components/card/index.html +116 -0
  109. package/workdocs/reports/coverage/lcov-report/src/lib/components/component-renderer/component-renderer.component.ts.html +772 -0
  110. package/workdocs/reports/coverage/lcov-report/src/lib/components/component-renderer/index.html +116 -0
  111. package/workdocs/reports/coverage/lcov-report/src/lib/components/crud-field/crud-field.component.ts.html +2698 -0
  112. package/workdocs/reports/coverage/lcov-report/src/lib/components/crud-field/index.html +116 -0
  113. package/workdocs/reports/coverage/lcov-report/src/lib/components/crud-form/constants.ts.html +133 -0
  114. package/workdocs/reports/coverage/lcov-report/src/lib/components/crud-form/crud-form.component.ts.html +346 -0
  115. package/workdocs/reports/coverage/lcov-report/src/lib/components/crud-form/index.html +116 -0
  116. package/workdocs/reports/coverage/lcov-report/src/lib/components/empty-state/empty-state.component.ts.html +1264 -0
  117. package/workdocs/reports/coverage/lcov-report/src/lib/components/empty-state/index.html +116 -0
  118. package/workdocs/reports/coverage/lcov-report/src/lib/components/fieldset/fieldset.component.ts.html +2965 -0
  119. package/workdocs/reports/coverage/lcov-report/src/lib/components/fieldset/index.html +116 -0
  120. package/workdocs/reports/coverage/lcov-report/src/lib/components/file-upload/file-upload.component.ts.html +2263 -0
  121. package/workdocs/reports/coverage/lcov-report/src/lib/components/file-upload/index.html +116 -0
  122. package/workdocs/reports/coverage/lcov-report/src/lib/components/filter/filter.component.ts.html +2485 -0
  123. package/workdocs/reports/coverage/lcov-report/src/lib/components/filter/index.html +116 -0
  124. package/workdocs/reports/coverage/lcov-report/src/lib/components/for-angular-components.module.ts.html +259 -0
  125. package/workdocs/reports/coverage/lcov-report/src/lib/components/icon/icon.component.ts.html +358 -0
  126. package/workdocs/reports/coverage/lcov-report/src/lib/components/icon/index.html +116 -0
  127. package/workdocs/reports/coverage/lcov-report/src/lib/components/index.html +131 -0
  128. package/workdocs/reports/coverage/lcov-report/src/lib/components/index.ts.html +181 -0
  129. package/workdocs/reports/coverage/lcov-report/src/lib/components/layout/index.html +116 -0
  130. package/workdocs/reports/coverage/lcov-report/src/lib/components/layout/layout.component.ts.html +943 -0
  131. package/workdocs/reports/coverage/lcov-report/src/lib/components/list/index.html +116 -0
  132. package/workdocs/reports/coverage/lcov-report/src/lib/components/list/list.component.ts.html +4261 -0
  133. package/workdocs/reports/coverage/lcov-report/src/lib/components/list-item/index.html +116 -0
  134. package/workdocs/reports/coverage/lcov-report/src/lib/components/list-item/list-item.component.ts.html +1741 -0
  135. package/workdocs/reports/coverage/lcov-report/src/lib/components/modal/index.html +116 -0
  136. package/workdocs/reports/coverage/lcov-report/src/lib/components/modal/modal.component.ts.html +1984 -0
  137. package/workdocs/reports/coverage/lcov-report/src/lib/components/model-renderer/index.html +116 -0
  138. package/workdocs/reports/coverage/lcov-report/src/lib/components/model-renderer/model-renderer.component.ts.html +373 -0
  139. package/workdocs/reports/coverage/lcov-report/src/lib/components/pagination/index.html +116 -0
  140. package/workdocs/reports/coverage/lcov-report/src/lib/components/pagination/pagination.component.ts.html +1165 -0
  141. package/workdocs/reports/coverage/lcov-report/src/lib/components/searchbar/index.html +116 -0
  142. package/workdocs/reports/coverage/lcov-report/src/lib/components/searchbar/searchbar.component.ts.html +1774 -0
  143. package/workdocs/reports/coverage/lcov-report/src/lib/components/stepped-form/index.html +116 -0
  144. package/workdocs/reports/coverage/lcov-report/src/lib/components/stepped-form/stepped-form.component.ts.html +1219 -0
  145. package/workdocs/reports/coverage/lcov-report/src/lib/components/table/index.html +116 -0
  146. package/workdocs/reports/coverage/lcov-report/src/lib/components/table/table.component.ts.html +988 -0
  147. package/workdocs/reports/coverage/lcov-report/src/lib/directives/NgxSvgDirective.ts.html +163 -0
  148. package/workdocs/reports/coverage/lcov-report/src/lib/directives/collapsable.directive.ts.html +268 -0
  149. package/workdocs/reports/coverage/lcov-report/src/lib/directives/index.html +131 -0
  150. package/workdocs/reports/coverage/lcov-report/src/lib/directives/index.ts.html +91 -0
  151. package/workdocs/reports/coverage/lcov-report/src/lib/engine/DynamicModule.ts.html +133 -0
  152. package/workdocs/reports/coverage/lcov-report/src/lib/engine/MediaService.ts.html +142 -0
  153. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxBaseComponent.ts.html +2194 -0
  154. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxComponentDirective.ts.html +3430 -0
  155. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxCrudFormField.ts.html +721 -0
  156. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxDecafComponentDirective.ts.html +1864 -0
  157. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxDecafFormFieldDirective.ts.html +952 -0
  158. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxDecafFormService.ts.html +3211 -0
  159. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxEventHandler.ts.html +307 -0
  160. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxFormDirective.ts.html +1366 -0
  161. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxFormFieldDirective.ts.html +1960 -0
  162. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxFormService.ts.html +3004 -0
  163. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxModelPageDirective.ts.html +1672 -0
  164. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxPageDirective.ts.html +748 -0
  165. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxParentComponentDirective.ts.html +775 -0
  166. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxRenderableComponentDirective.ts.html +727 -0
  167. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxRenderingEngine.ts.html +2005 -0
  168. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxRepositoryDirective.ts.html +1561 -0
  169. package/workdocs/reports/coverage/lcov-report/src/lib/engine/ValidatorFactory.ts.html +817 -0
  170. package/workdocs/reports/coverage/lcov-report/src/lib/engine/constants.ts.html +1120 -0
  171. package/workdocs/reports/coverage/lcov-report/src/lib/engine/decorators.ts.html +376 -0
  172. package/workdocs/reports/coverage/lcov-report/src/lib/engine/helpers.ts.html +676 -0
  173. package/workdocs/reports/coverage/lcov-report/src/lib/engine/index.html +356 -0
  174. package/workdocs/reports/coverage/lcov-report/src/lib/engine/index.ts.html +160 -0
  175. package/workdocs/reports/coverage/lcov-report/src/lib/engine/overrides.ts.html +499 -0
  176. package/workdocs/reports/coverage/lcov-report/src/lib/for-angular-common.module.ts.html +298 -0
  177. package/workdocs/reports/coverage/lcov-report/src/lib/helpers/index.html +131 -0
  178. package/workdocs/reports/coverage/lcov-report/src/lib/helpers/index.ts.html +121 -0
  179. package/workdocs/reports/coverage/lcov-report/src/lib/helpers/utils.ts.html +1603 -0
  180. package/workdocs/reports/coverage/lcov-report/src/lib/i18n/FakeLoader.ts.html +157 -0
  181. package/workdocs/reports/coverage/lcov-report/src/lib/i18n/Loader.ts.html +826 -0
  182. package/workdocs/reports/coverage/lcov-report/src/lib/i18n/index.html +146 -0
  183. package/workdocs/reports/coverage/lcov-report/src/lib/i18n/index.ts.html +91 -0
  184. package/workdocs/reports/coverage/lcov-report/src/lib/index.html +131 -0
  185. package/workdocs/reports/coverage/lcov-report/src/lib/public-apis.ts.html +157 -0
  186. package/workdocs/reports/coverage/lcov-report/src/lib/services/NgxFormService.ts.html +3460 -0
  187. package/workdocs/reports/coverage/lcov-report/src/lib/services/NgxMediaService.ts.html +1420 -0
  188. package/workdocs/reports/coverage/lcov-report/src/lib/services/NgxRouterService.ts.html +1231 -0
  189. package/workdocs/reports/coverage/lcov-report/src/lib/services/NgxTranslateService.ts.html +214 -0
  190. package/workdocs/reports/coverage/lcov-report/src/lib/services/index.html +176 -0
  191. package/workdocs/reports/coverage/lcov-report/src/lib/services/index.ts.html +91 -0
  192. package/workdocs/reports/coverage/lcov-report/src/lib/utils/DecafFakerRepository.ts.html +571 -0
  193. package/workdocs/reports/coverage/lcov-report/src/lib/utils/helpers.ts.html +1663 -0
  194. package/workdocs/reports/coverage/lcov-report/src/lib/utils/index.html +146 -0
  195. package/workdocs/reports/coverage/lcov-report/src/lib/utils/index.ts.html +124 -0
  196. package/workdocs/reports/coverage/lcov-report/src/main.ts.html +100 -0
  197. package/workdocs/reports/coverage/lcov-report/src/polyfills.ts.html +271 -0
  198. package/workdocs/reports/coverage/lcov-report/src/stories/Configure.stories.ts.html +1156 -0
  199. package/workdocs/reports/coverage/lcov-report/src/stories/button.component.ts.html +229 -0
  200. package/workdocs/reports/coverage/lcov-report/src/stories/button.stories.ts.html +235 -0
  201. package/workdocs/reports/coverage/lcov-report/src/stories/crud-field.stories.ts.html +325 -0
  202. package/workdocs/reports/coverage/lcov-report/src/stories/header.stories.ts.html +181 -0
  203. package/workdocs/reports/coverage/lcov-report/src/stories/index.html +281 -0
  204. package/workdocs/reports/coverage/lcov-report/src/stories/list.stories.ts.html +289 -0
  205. package/workdocs/reports/coverage/lcov-report/src/stories/login.page.stories.ts.html +175 -0
  206. package/workdocs/reports/coverage/lcov-report/src/stories/model-renderer.stories.ts.html +259 -0
  207. package/workdocs/reports/coverage/lcov-report/src/stories/page.component.ts.html +331 -0
  208. package/workdocs/reports/coverage/lcov-report/src/stories/page.stories.ts.html +193 -0
  209. package/workdocs/reports/coverage/lcov-report/src/stories/setup.ts.html +127 -0
  210. package/workdocs/reports/coverage/lcov-report/src/stories/utils.ts.html +247 -0
  211. package/workdocs/reports/coverage/lcov-report/src/tests/index.html +116 -0
  212. package/workdocs/reports/coverage/lcov-report/src/tests/karmaErrorParser.ts.html +190 -0
  213. package/workdocs/reports/coverage/lcov-report/src/typings.d.ts.html +88 -0
  214. package/workdocs/reports/coverage/lcov-report/src/zone-flags.ts.html +103 -0
  215. package/workdocs/reports/coverage/lcov.info +7917 -0
  216. package/workdocs/reports/data/.gitkeep +1 -0
  217. package/workdocs/reports/html/.gitkeep +0 -0
  218. package/workdocs/reports/html/jest-html-reporters-attach/test-report/index.js +3 -0
  219. package/workdocs/reports/html/jest-html-reporters-attach/test-report/result.js +1 -0
  220. package/workdocs/reports/html/test-report.html +1 -0
  221. package/workdocs/reports/images/.gitkeep +1 -0
  222. package/workdocs/reports/jest.coverage.config.ts +43 -0
  223. package/workdocs/reports/junit/junit-report.xml +91 -0
  224. package/workdocs/resources/.gitlock +0 -0
  225. package/workdocs/resources/diagram-Actor.png +0 -0
  226. package/workdocs/resources/diagram-banner.png +0 -0
  227. package/workdocs/resources/diagram.png +0 -0
  228. package/workdocs/tutorials/Contributing.md +64 -0
  229. package/workdocs/tutorials/Documentation.md +340 -0
  230. package/workdocs/tutorials/For Developers.md +337 -0
  231. package/workdocs/uml/diagram.puml +11 -0
  232. package/www/1049.10b030f0de36543b.js +1 -0
  233. package/www/1102.67cedfb3e29f0a05.js +1 -0
  234. package/www/1107.6454396befef800d.js +1 -0
  235. package/www/1459.cabc18e941afa5d7.js +1 -0
  236. package/www/1577.5221deebe3501e43.js +1 -0
  237. package/www/2075.b6dc4fbb89dd6afc.js +1 -0
  238. package/www/2348.c4cc27dadbec70ec.js +1 -0
  239. package/www/2375.318d0b24ab346271.js +1 -0
  240. package/www/2415.618d6968ffda319c.js +1 -0
  241. package/www/2460.1d97c6f48b898ee2.js +1 -0
  242. package/www/2560.2e7000dcf80b6b2c.js +1 -0
  243. package/www/2585.dffa5649fffafb44.js +1 -0
  244. package/www/2885.d99b86afd1ff7aa8.js +1 -0
  245. package/www/3162.bbc401f4a5f82460.js +1 -0
  246. package/www/323.f64c512be5c8d797.js +1 -0
  247. package/www/3238.a3e7e8004c6b6667.js +1 -0
  248. package/www/3506.8c03f5589b33a4a6.js +1 -0
  249. package/www/3511.56b7e49bb6c2c936.js +1 -0
  250. package/www/3519.84fbb67dc803f702.js +1 -0
  251. package/www/3675.7ebfdcf145052232.js +1 -0
  252. package/www/3814.765c1794e1be63de.js +1 -0
  253. package/www/3rdpartylicenses.txt +1344 -0
  254. package/www/4171.a974bdbf9c97e4e1.js +1 -0
  255. package/www/4183.41ef1def450a2cc0.js +1 -0
  256. package/www/4406.0b2dd3839b8c1417.js +1 -0
  257. package/www/441.e1031657c7e5f0ff.js +1 -0
  258. package/www/4463.6ad7b857e5f34009.js +1 -0
  259. package/www/4591.42f34534d38b9b31.js +1 -0
  260. package/www/4699.8df8ea9806163d4c.js +1 -0
  261. package/www/5100.ed6483c55a157d67.js +1 -0
  262. package/www/5193.15ea6938534eceb1.js +1 -0
  263. package/www/5197.6733853529768a45.js +1 -0
  264. package/www/5222.8439a641c2c4b1c1.js +1 -0
  265. package/www/5373.d7878f708309f038.js +1 -0
  266. package/www/5467.53f5cce977c2e28b.js +1 -0
  267. package/www/5712.b08cf436ee8145ce.js +1 -0
  268. package/www/5887.3d038f564e925abb.js +1 -0
  269. package/www/5949.37330f20e95dee79.js +1 -0
  270. package/www/6024.c10cc3d1b341c748.js +1 -0
  271. package/www/6433.360fcff952bde822.js +1 -0
  272. package/www/6499.60169da9869db697.js +1 -0
  273. package/www/6521.fab1f34bfe6b8200.js +1 -0
  274. package/www/6631.eaa711da6e0aeed9.js +1 -0
  275. package/www/6717.b4731255038304cd.js +1 -0
  276. package/www/6840.7317cd962ab23932.js +1 -0
  277. package/www/7030.d115d82ca7468a4e.js +1 -0
  278. package/www/7076.cce20ed5c79ff305.js +1 -0
  279. package/www/7179.c0545989ce869b3d.js +1 -0
  280. package/www/7240.69aeb484d78eb24d.js +1 -0
  281. package/www/7372.94c62459e34f7303.js +1 -0
  282. package/www/7402.983a5ecff61e9a5d.js +1 -0
  283. package/www/7428.527ac48035a2f915.js +1 -0
  284. package/www/7676.d7db23d350e4b096.js +1 -0
  285. package/www/770.80af87d5eb0075d3.js +1 -0
  286. package/www/7720.0701576cb9966779.js +1 -0
  287. package/www/7927.ee869d0dc478250a.js +1 -0
  288. package/www/8066.894688fbb2e5c832.js +1 -0
  289. package/www/8193.7f09ecd40b6d42c2.js +1 -0
  290. package/www/8255.158098a6302c91c2.js +1 -0
  291. package/www/8314.596c1ccf26b9c93a.js +1 -0
  292. package/www/8357.c5406b92e6933d7a.js +1 -0
  293. package/www/8477.a3ccc11c25a642d3.js +1 -0
  294. package/www/8487.93b6f7465ae1b7ac.js +1 -0
  295. package/www/8584.b77ad478a5a7ac2a.js +1 -0
  296. package/www/8805.a87413652185ff8f.js +1 -0
  297. package/www/8814.b489a78ae8e926c4.js +1 -0
  298. package/www/8970.234b3db1f97528fe.js +1 -0
  299. package/www/9013.c2e6ba17a915bdd6.js +1 -0
  300. package/www/9073.16c4e42482d55a3c.js +1 -0
  301. package/www/9344.7d2d24b194b794e2.js +1 -0
  302. package/www/9364.9a028036dd89e3e7.js +1 -0
  303. package/www/944.7e4317348c48d4f4.js +1 -0
  304. package/www/964.9a979e1c1aad0f5b.js +1 -0
  305. package/www/9657.8c3589a0aff521c0.js +1 -0
  306. package/www/9956.2d00a2153e9a7799.js +1 -0
  307. package/www/9977.068cd5561462bc99.js +1 -0
  308. package/www/assets/i18n/en.json +210 -0
  309. package/www/assets/i18n/ew/en.json +346 -0
  310. package/www/assets/i18n/pt.json +186 -0
  311. package/www/assets/icons/icon-128.webp +0 -0
  312. package/www/assets/icons/icon-192.webp +0 -0
  313. package/www/assets/icons/icon-256.webp +0 -0
  314. package/www/assets/icons/icon-48.webp +0 -0
  315. package/www/assets/icons/icon-512.webp +0 -0
  316. package/www/assets/icons/icon-72.webp +0 -0
  317. package/www/assets/icons/icon-96.webp +0 -0
  318. package/www/assets/images/angular-logo.svg +45 -0
  319. package/www/assets/images/apple-touch-icon.png +0 -0
  320. package/www/assets/images/decaf-logo-black.svg +22 -0
  321. package/www/assets/images/decaf-logo-contrast.svg +54 -0
  322. package/www/assets/images/decaf-logo-white.svg +22 -0
  323. package/www/assets/images/decaf-logo.svg +54 -0
  324. package/www/assets/images/ew/product.txt +1 -0
  325. package/www/assets/images/favicon-contrast.svg +7 -0
  326. package/www/assets/images/favicon.png +0 -0
  327. package/www/assets/images/favicon.svg +29 -0
  328. package/www/assets/images/icons/document.svg +7 -0
  329. package/www/assets/images/icons/edit.svg +1 -0
  330. package/www/assets/images/icons/logout.svg +4 -0
  331. package/www/assets/images/icons/menu-collapse.svg +5 -0
  332. package/www/assets/images/icons/menu.svg +3 -0
  333. package/www/assets/images/icons/moon-stars.svg +5 -0
  334. package/www/assets/images/icons/trash.svg +1 -0
  335. package/www/cli-module.ts +139 -0
  336. package/www/common.e50b5f8708aca9a5.js +1 -0
  337. package/www/index.html +29 -0
  338. package/www/main.6144bf417dec1977.js +1 -0
  339. package/www/polyfills.4c1e087fffe784e8.js +1 -0
  340. package/www/runtime.d8dcb0932f88fe3c.js +1 -0
  341. package/www/styles.5a3cd83eba16afc9.css +4 -0
  342. package/www/tabler-icons.bfabe54eef86ae62.woff +0 -0
  343. package/www/tabler-icons.d9f65ab9439b4ffc.ttf +0 -0
  344. package/www/tabler-icons.f17d2c3b34a5deaa.woff2 +0 -0
  345. /package/{assets → dist/lib/assets}/i18n/en.json +0 -0
  346. /package/{assets → dist/lib/assets}/i18n/ew/en.json +0 -0
  347. /package/{assets → dist/lib/assets}/i18n/pt.json +0 -0
  348. /package/{assets → dist/lib/assets}/icons/icon-128.webp +0 -0
  349. /package/{assets → dist/lib/assets}/icons/icon-192.webp +0 -0
  350. /package/{assets → dist/lib/assets}/icons/icon-256.webp +0 -0
  351. /package/{assets → dist/lib/assets}/icons/icon-48.webp +0 -0
  352. /package/{assets → dist/lib/assets}/icons/icon-512.webp +0 -0
  353. /package/{assets → dist/lib/assets}/icons/icon-72.webp +0 -0
  354. /package/{assets → dist/lib/assets}/icons/icon-96.webp +0 -0
  355. /package/{assets → dist/lib/assets}/images/angular-logo.svg +0 -0
  356. /package/{assets → dist/lib/assets}/images/apple-touch-icon.png +0 -0
  357. /package/{assets → dist/lib/assets}/images/decaf-logo-black.svg +0 -0
  358. /package/{assets → dist/lib/assets}/images/decaf-logo-contrast.svg +0 -0
  359. /package/{assets → dist/lib/assets}/images/decaf-logo-white.svg +0 -0
  360. /package/{assets → dist/lib/assets}/images/decaf-logo.svg +0 -0
  361. /package/{assets → dist/lib/assets}/images/ew/product.txt +0 -0
  362. /package/{assets → dist/lib/assets}/images/favicon-contrast.svg +0 -0
  363. /package/{assets → dist/lib/assets}/images/favicon.png +0 -0
  364. /package/{assets → dist/lib/assets}/images/favicon.svg +0 -0
  365. /package/{assets → dist/lib/assets}/images/icons/document.svg +0 -0
  366. /package/{assets → dist/lib/assets}/images/icons/edit.svg +0 -0
  367. /package/{assets → dist/lib/assets}/images/icons/logout.svg +0 -0
  368. /package/{assets → dist/lib/assets}/images/icons/menu-collapse.svg +0 -0
  369. /package/{assets → dist/lib/assets}/images/icons/menu.svg +0 -0
  370. /package/{assets → dist/lib/assets}/images/icons/moon-stars.svg +0 -0
  371. /package/{assets → dist/lib/assets}/images/icons/trash.svg +0 -0
  372. /package/{fesm2022 → dist/lib/fesm2022}/decaf-ts-for-angular.mjs +0 -0
  373. /package/{fesm2022 → dist/lib/fesm2022}/decaf-ts-for-angular.mjs.map +0 -0
  374. /package/{index.d.ts → dist/lib/index.d.ts} +0 -0
@@ -0,0 +1,337 @@
1
+ ## **_Initial Setup_**
2
+
3
+ #### if you use GitHub
4
+
5
+ create a new project using this one as a template.
6
+
7
+ clone it `git clone <project>` and navigate to the root folder `cd <project>`
8
+
9
+ add a `.token` file containing your access token to the git repository (allows for git opts to work seamlessly).
10
+
11
+ run `npm run set-git-auth` to update your repo's git config to include the token
12
+
13
+ #### If your project has private dependencies or publishes to private npm registries, create an `.npmrc` containing:
14
+
15
+ ```text
16
+ @<scope1>:registry=https://<ADDRESS>.com/api/v4/packages/npm/
17
+ @<scope2>:registry=https://<ADDRESS>.<DOMAIN>.com/api/v4/packages/npm/
18
+ //<ADDRESS>.<DOMAIN>.com/:_authToken=${TOKEN}
19
+ //<ADDRESS>.<DOMAIN>.com/api/v4/groups/<GROUP_ID>/packages/npm/:_authToken=${TOKEN}
20
+ //<ADDRESS>.<DOMAIN>.com/api/v4/projects/<PROJECT_ID>/packages/npm/:_authToken=${TOKEN}
21
+ ```
22
+
23
+ Changing:
24
+
25
+ - <ADDRESS> to `gitlab` or `github` (or other);
26
+ - <DOMAIN> to your domain if any (if you are using plain gitlab or GitHub, remove "<DOMAIN>" and the extra dot);
27
+ - <GROUP_ID> to your project's group id (if any). otherwise remove this line
28
+ - <PROJECT_ID> to your project's id
29
+
30
+ ### Installation
31
+
32
+ Run `npm install` (or `npm run do-install` if you have private dependencies and a `.token` file) to install the dependencies:
33
+
34
+ If this is the first time you are running this command, it will also (according to your choices:
35
+
36
+ - update this repository's dependencies to their latest version;
37
+ - creates the various token files which you can leave empty unless you have private dependencies or publish to private registries
38
+ - delete the `postinstall` script from `package.json`;
39
+ - try to commit the updated `package.json` and deleted files (having ssh access helps here);
40
+
41
+ ### Scripts
42
+
43
+ The following npm scripts are available for development:
44
+
45
+ - `do-install` - sets a `TOKEN` environment variable to the contents of `.token` and runs npm install (useful when you
46
+ have private dependencies);
47
+ - `update-scripts`: will pull the GitHub actions, templates, and style configs from the [for-angular](https://github.com/decaf-ts/for-angular) repository, overwriting the existing.
48
+ - `on-first-run`: will run the initial setup script,
49
+ - `set-git-auth` - change git config to include the token (no longer requires manual auth);
50
+ - `postinstall` - will run only on the first installation to trigger the dep update. Will self-delete;
51
+ - `flash-forward` - updates all dependencies. Take care, This may not be desirable is some cases;
52
+ - `reset` - updates all dependencies. Take care, This may not be desirable is some cases;
53
+ - `build` - builds the code (via gulp `gulpfile.js`) in development mode (generates `lib` and `dist` folder);
54
+ - `build:prod` - builds the code (via gulp `gulpfile.js`) in production mode (generates `lib` and `dist` folder);
55
+ - `test` - default project test script, defaults to `test:unit`;
56
+ - `test:unit` - runs unit tests;
57
+ - `test:integration` - runs it tests;
58
+ - `test:all` - runs all tests;
59
+ - `test:circular` - tests for circular dependencies;
60
+ - `coverage` - runs all tests, calculates coverage (html/csv), generates a test report (HTML and junit) and generates badges for readme;
61
+ - `prepare-pr`: same as prepare-release,
62
+ - `lint` - runs es lint on the code folder;
63
+ - `lint-fix` - tries to auto-fix the code folder;
64
+ - `prepare-release` - defines the commands to run prior to a new tag (defaults to linting, building production code,
65
+ running tests and documentation generation);
66
+ - `release` - triggers a new tag being pushed to master (via `./bin/tag_release.sh`);
67
+ - `clean-publish` - cleans the package.json for publishing;
68
+ - `drawings` - compiles all DrawIO `*.drawio` files in the `workdocs/drawings` folder to png and moves them to
69
+ the `workdocs/resources` folder;
70
+ - `uml` - compiles all PlantUML `*.puml` files in the `workdocs/uml` folder to png and moves them to
71
+ the `workdocs/resources` folder;
72
+ - `docs` - compiles all the coverage, drawings, uml, jsdocs, and md docs into a readable web page under `./docs`. Will be made available at [GitHub Pages](https://decaf-ts.github.io/for-angular);
73
+ - `publish-docs` - publishes the content of `./workdocs/confluence` to confluence according to the config at `./workdocs/confluence/.markdown-confluence.json`.
74
+ Uses [markdown-confluence](https://markdown-confluence.com/introduction.html). Check their documentation for configuration details;
75
+
76
+ ## Linting
77
+
78
+ This repo comes with eslint + prettier preconfigured to the default standards.
79
+
80
+ Please configure your IDE to recognize these files and perform automatic validation and fixes on save:
81
+ - Webstorm:
82
+ - eslint recommended setup [here](../assets/ws-eslint-setup.png)
83
+ - prettier recommended setup [here](../assets/ws-prettier-setup.png)
84
+ - VSCode(ium):
85
+ - eslint recommended setup preconfigured under `.vscode/settings.json`
86
+ - prettier recommended setup preconfigured under `.vscode/settings.json`
87
+
88
+ ## Testing
89
+
90
+ Preconfigured Jest based testing:
91
+
92
+ - `npm run test` - default repository test script. defaults to `test:unit`;
93
+ - `npm run test:unit` - unit tests under the `tests/unit` folder without coverage;
94
+ - `npm run test:all` - include a dist/bundle test under `tests/bundling` (helps with circular dependencies dist test);
95
+ - `npm run test:bundling` - integration tests under the `tests/integration` folder;
96
+ - `npm run test:circular` - stores coverage results under `workdocs/coverage`;
97
+ - `npm run coverage` - stores coverage & test reports under `workdocs/reports`;
98
+ - Coverage and test results will become part of exported docs;
99
+ - ignores `cli.ts` from coverage since that is an executable file;
100
+ - uses `jest.config.ts` as its base config;
101
+ - uses `workdocs/reports/jest.coverage.config.ts` as its base config;
102
+ - defines the coverage threshold in `workdocs/reports/jest.coverage.config.ts`;
103
+
104
+ ## Documentation
105
+
106
+ The repository proposes a [way to generate documentation](./Documentation.md) that while still not ideal, produces very consistent results.
107
+
108
+ There are 3 steps in generating the documentation (automated in CI):
109
+
110
+ - `npm run drawings` - generates png files from each drawing in the `workdocs/drawings` folder and moves them to the `workdocs/resources` folder (requires Docker);
111
+ - `npm run uml` - generates png files from each PlantUML diagram in the `workdocs/uml` folder and moves them to the `workdocs/resources` folder (requires Docker);
112
+ - `npm run docs` - this has several stages, defined under the `gulp docs` (gulpfile.js):
113
+ - compiles the Readme file via md compile:
114
+ - enables keeping separate files for sections that are then joined into a single file;
115
+ - Allows keeping specific files in the jsdoc tutorial folder so they show up on their own menu;
116
+ - compiles the documentation from the source code using jsdoc:
117
+ - uses the better docs template with the category and component plugins
118
+ - uses the mermaid jsdoc plugin to imbue uml diagrams in the docs
119
+ - includes a nav link to the test coverage results;
120
+ - copies the jsdoc and mds to `/docs`;
121
+ - copies the `./workdocs/{drawings, uml, assets, resources}` to `./docs`;
122
+
123
+ The produced `docs` folder contains the resulting documentation;
124
+
125
+ ## Continuous Integration/Deployment
126
+
127
+ While the implementation for gitlab and GitHub are not perfectly matched, they are perfectly usable.
128
+
129
+ The template comes with ci/cd for :
130
+
131
+ - gitlab (with caching for performance):
132
+ - stages:
133
+ - dependencies: Installs dependencies (on `package-lock.json` changes, caches node modules);
134
+ - build: builds the code (on `src/*` changes, caches `lib` and `dist`);
135
+ - test: tests the code (on `src/*`, `test/*` changes, caches `workdocs/{resources, badges, coverage}`);
136
+ - deploy:
137
+ - deploys to package registry on a tag (public|private);
138
+ - deploys docker image to docker registry (private);
139
+ - Deploys the documentation to the repository pages;
140
+ - github:
141
+ - jest-test: standard `install -> build -> test` loop;
142
+ - jest-coverage: extracts coverage from the tests;
143
+ - codeql-analysis: Code quality analysis;
144
+ - snyk-scan: Vulnerability scanning
145
+ - pages: builds the documentation and deploys to GitHub pages
146
+ - release-on-tag: issues a release when the tag does not contain `-no-ci` string
147
+ - publish-on-release: publishes to package registry (following the release) when the tag does not contain the `-no-ci` string
148
+ - Requires Variables:
149
+ - CONSECUTIVE_ACTION_TRIGGER: secret to enable actions to trigger other actions;
150
+ - NPM_TOKEN: npm registry token
151
+ - CI Pages Setup:
152
+ - Enable Pages via a GitHub action: ![pages-via-action](../assets/gh-pages-by-action.png)
153
+ - Secure Workflows via GitHub action: ![secure-workflows](../assets/gh-allow-workflows.png)
154
+ - Allow GitHub pages via GitHub action for tags: ![environment-rules](../assets/gh-environment-rules.png)
155
+
156
+ ### Releases
157
+
158
+ This repository automates releases in the following manner:
159
+
160
+ - run `npm run release -- <major|minor|patch|version> <message>`:
161
+ - if arguments are missing, you will be prompted for them;
162
+ - it will run `npm run prepare-release` npm script;
163
+ - it will commit all changes;
164
+ - it will push the new tag;
165
+
166
+ If publishing to a private repo's npm registry, make sure you add to your `package.json`:
167
+
168
+ ```json
169
+ {
170
+ "publishConfig": {
171
+ "<SCOPE>:registry": " https://<REGISTRY>/api/v4/projects/<PROJECT_ID>/packages/npm/"
172
+ }
173
+ }
174
+ ```
175
+
176
+ Where:
177
+
178
+ - `<SCOPE>` - Is the scope of your package;
179
+ - `<REGISTRY>` - your registry host;
180
+ - `<PROJECT_ID>` - you project ID number (easy to grab via UI in gitlab or by
181
+ running `$("meta[name=octolytics-dimension-repository_id]").getAttribute('content')` in the repository page in github);
182
+
183
+ ### Publishing
184
+
185
+ Unless the `-no-ci` flag is passed in the commit message to the `npm run release` command, publishing will be handled
186
+ automatically by github/gitlab (triggered by the tag).
187
+
188
+ When the `-no-ci` flag is passed then you can:
189
+
190
+ - run `npm run publish`. This command assumes :
191
+ - you have previously run the `npm run release`;
192
+ - you have you publishing properly configured in `npmrc` and `package.json`;
193
+ - The token for any special access required is stored in the `.token` file;
194
+
195
+ ### Repository Structure
196
+
197
+ ```
198
+ for-angular
199
+
200
+ │ .confluence-token <-- stores confluence access token
201
+ │ .dockerignore <-- Defines files by docker in the build image
202
+ │ .dockeruser <-- stores docker registry user
203
+ │ .dockertoken <-- stores docker registry access token
204
+ │ .gitignore <-- Defines files ignored to git
205
+ │ .gitlab-ci.yml <-- CI behaviour for gitlab
206
+ │ .npmignore <-- Defines files ignored by npm
207
+ │ .nmprc <-- Defines the Npm registry for this package
208
+ │ .nmptoken <-- Defines access token for the Npm registry for this package
209
+ │ .prettierrc <-- style definitions for the project
210
+ │ .snyk <-- vulnerability scan (via snyk) config
211
+ │ .token <-- token for dependencies in private registries
212
+ │ .eslint.config.js <-- linting for the project
213
+ │ gulpfile.js <-- Gulp build scripts. used for building na other features (eg docs)
214
+ │ jest.config.ts <-- Tests Configuration file
215
+ │ LICENCE.md <-- Licence disclamer
216
+ │ package.json
217
+ │ package-lock.json
218
+ │ README.md <-- Readme File dynamically compiled from 'workdocs' via the 'docs' npm script
219
+ │ tsconfig.json <-- Typescript config file. Is overriden in 'gulpfile.js'
220
+
221
+ └───.github
222
+ │ │ ... <-- github workflows and templates
223
+
224
+ └───.run
225
+ │ │ ... <-- IDE run scripts for WebStorm
226
+
227
+ │└───.vscode
228
+ │ │ ... <-- IDE run scripts and configs for VSCode(ium)
229
+
230
+ └───bin
231
+ │ │───tag_release.cjs <-- Script to help with releases
232
+ │ │───template-setup.cjs <-- Script that runs on first npm install and configures the repo
233
+ │ └───update-scripts.cjs <-- Retrieves the most updated configuration files from the original repository
234
+ └───dist
235
+ │ │ ... <-- Dinamically generated folder containing the bundles for distribution
236
+
237
+ └───docs
238
+ │ │ ... <-- Dinamically generated folder, containing the compiled documentation for this repository. generated via the 'docs' npm script
239
+
240
+ └───lib
241
+ │ | ... <-- Dinamically generated folder containing the compiled code
242
+
243
+ └───src
244
+ │ │ ... <-- Source code for this repository
245
+
246
+ └───tests
247
+ │ │───bundling <-- Tests the result of the produced bundle
248
+ │ │───unit <-- Unit tests
249
+ │ └───integration <-- Integration tests
250
+
251
+ └───workdocs <-- Folder with all pre-compiled documentation
252
+ │───assets <-- Documentation asset folder
253
+ │───confluence <-- folder containing specific documentation to be synced with a confluence page
254
+ │───drawings <-- Drawio drawings that are converted to the resources folder dynamically
255
+ │───prompts <-- Used AI prompts (great for documentation and testing)
256
+ │───reports <-- Folder storing generated content (compiled uml, drawio, test reports, etc)
257
+ │ └───coverage <-- Auto generated coverage results (report ready html)
258
+ │ └───data <-- folder used as temp while genrating reports wiht attachements
259
+ │ └───html <-- test results (jest-html-reporters) complete test report with attachements
260
+ │ └───junit <-- test results (junit xml)
261
+ │ └───jest.coverage.config.ts <-- jest config collecting coverage and exporting test results (extends base config)
262
+ │───resources <-- Folder storing generated content (compiled uml, drawio, etc)
263
+ │───tutorials <-- Tutorial folder (will show up on tutorial section in generated documentation)
264
+ │───uml <-- folder containing puml files to be compiled along with the documentation
265
+ │ ... <-- Categorized *.md files that are merged to generate the final readme (via md compile)
266
+ │ jsdocs.json <-- jsdoc Documentation generation configuration file
267
+ │ Readme.md <-- Entry point to the README.md (will import other referenced md files)
268
+ │ readme-md.json <-- md Documentation generation configuration file for the README.md file
269
+ ```
270
+
271
+ ## IDE Integrations
272
+
273
+ ### Visual Studio Code (VSCode)
274
+
275
+ For an optimal development experience in **VSCode**, we recommend installing the following extensions:
276
+
277
+ - [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) – Linting made easy and integrated.
278
+ - [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) – Code formatting with style.
279
+ - [Jest](https://marketplace.visualstudio.com/items?itemName=Orta.vscode-jest) – Smooth integration for running and debugging tests.
280
+
281
+ We've included a pre-configured `settings.json` that ensures:
282
+
283
+ - **Linting and formatting** are automatically applied on file save.
284
+ - **Jest** works seamlessly with your test suite out of the box.
285
+
286
+ #### Tasks & Launchers
287
+
288
+ Common tasks like `build`, `test`, and others are pre-configured as **VSCode Tasks** and **Launch Configurations**.
289
+
290
+ To access and run them:
291
+
292
+ - Open the Command Palette (`Cmd/Ctrl + Shift + P`) and select `Tasks: Run Task`.
293
+ - Or go to the **Run and Debug** panel, choose a configuration from the dropdown, and press ▶️.
294
+
295
+ ---
296
+
297
+ ### WebStorm
298
+
299
+ For **WebStorm** users, everything comes integrated right out of the box 🎉
300
+ Common commands for builds, tests, and documentation generation are available in the **Run/Debug configurations** dropdown for quick access and execution via:
301
+
302
+ - Jest integration:
303
+ - `tests/Unit Tests` - Runs all unit tests (analog to `test:unit`)
304
+ - `tests/Integration Tests` - Runs all integration tests (analog to `test:integration`)
305
+ - `tests/Bundling Tests` - Runs the dist and bundling tests (analog to `test:bundling`)
306
+ - `All Tests` - Runs all tests (analog to `test:all`)
307
+
308
+ - Node integration:
309
+ - `repo/docs` - Builds documentation (analog to `docs`)
310
+ - `repo/coverage` - runs `test:all`, collects coverage (csv, HTML), generates test reports (junit, HTML) (analog to `coverage`)
311
+ - `repo/uml` - builds uml into png files (analog to `uml`)
312
+ - `repo/test:circular` - test code for circular dependencies (analog to `test:circular`)
313
+ - `repo/lint-fix` - tries to fix linting issues (analog to `lint-fix`)
314
+ - `repo/drawings` - compiles draw.io files to png (one per page) (analog to `drawings`)
315
+ - `repo/flash-forward` - updates all dependencies to latest versions (analog to `flash-forward`)
316
+ - `repo/update-scripts` - runs cli to update repo's configs (CI, Doc boilerplate, Linting, Style, etc) via it's template repository (analog to `drawings`)
317
+ - `build:prod` - `build`s code in production mode (minify, uglify, doc extraction, and no source-map for bundled production)
318
+ - `build` - `build`s code in development mode
319
+
320
+ ## Considerations
321
+
322
+ - Setup for node 20, but will work at least with 16;
323
+ - Requires docker to build documentation (drawings and PlantUML)
324
+
325
+
326
+
327
+ ## Coding Principles
328
+
329
+ - group similar functionality in folders (analog to namespaces but without any namespace declaration)
330
+ - one class per file;
331
+ - one interface per file (unless interface is just used as a type);
332
+ - group types as other interfaces in a types.ts file per folder;
333
+ - group constants or enums in a constants.ts file per folder;
334
+ - group decorators in a decorators.ts file per folder;
335
+ - group pure/utilitarian functions in a utils.ts file per folder, or create a dedicated file per related functionality. Try to limit the export of these outside the package.
336
+ - always import from the specific file, never from a folder or index file (exceptions for dependencies on other packages)
337
+ - All classes, interfaces, constants and types should always be exported
@@ -0,0 +1,11 @@
1
+ @startuml
2
+
3
+ [*] --> State1 : moves into state 1
4
+ State1 --> State2 : moves into state 2
5
+ State1 --> State3 : moves into state 3
6
+
7
+ State3 --> State2: moves into state 2
8
+
9
+ State2 --> [*]: end state
10
+
11
+ @enduml
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkfor_angular_app=self.webpackChunkfor_angular_app||[]).push([[1049],{1049(u,s,i){i.r(s),i.d(s,{ion_avatar:()=>b,ion_badge:()=>o,ion_thumbnail:()=>c});var r=i(5705),d=i(6855),l=i(4576);const b=(()=>{let n=class{constructor(e){(0,r.r)(this,e)}render(){return(0,r.h)(r.d,{key:"998217066084f966bf5d356fed85bcbd451f675a",class:(0,d.b)(this)},(0,r.h)("slot",{key:"1a6f7c9d4dc6a875f86b5b3cda6d59cb39587f22"}))}};return n.style={ios:":host{border-radius:var(--border-radius);display:block}::slotted(ion-img),::slotted(img){border-radius:var(--border-radius);width:100%;height:100%;-o-object-fit:cover;object-fit:cover;overflow:hidden}:host{--border-radius:50%;width:48px;height:48px}",md:":host{border-radius:var(--border-radius);display:block}::slotted(ion-img),::slotted(img){border-radius:var(--border-radius);width:100%;height:100%;-o-object-fit:cover;object-fit:cover;overflow:hidden}:host{--border-radius:50%;width:64px;height:64px}"},n})(),o=(()=>{let n=class{constructor(e){(0,r.r)(this,e)}render(){const e=(0,d.b)(this);return(0,r.h)(r.d,{key:"1a2d39c5deec771a2f2196447627b62a7d4c8389",class:(0,l.c)(this.color,{[e]:!0})},(0,r.h)("slot",{key:"fc1b6587f1ed24715748eb6785e7fb7a57cdd5cd"}))}};return n.style={ios:":host{--background:var(--ion-color-primary, #0054e9);--color:var(--ion-color-primary-contrast, #fff);--padding-top:3px;--padding-end:8px;--padding-bottom:3px;--padding-start:8px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:inline-block;min-width:10px;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);font-size:0.8125rem;font-weight:bold;line-height:1;text-align:center;white-space:nowrap;contain:content;vertical-align:baseline}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(:empty){display:none}:host{border-radius:10px;font-size:max(13px, 0.8125rem)}",md:":host{--background:var(--ion-color-primary, #0054e9);--color:var(--ion-color-primary-contrast, #fff);--padding-top:3px;--padding-end:8px;--padding-bottom:3px;--padding-start:8px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:inline-block;min-width:10px;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);font-size:0.8125rem;font-weight:bold;line-height:1;text-align:center;white-space:nowrap;contain:content;vertical-align:baseline}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(:empty){display:none}:host{--padding-top:3px;--padding-end:4px;--padding-bottom:4px;--padding-start:4px;border-radius:4px}"},n})(),c=(()=>{let n=class{constructor(e){(0,r.r)(this,e)}render(){return(0,r.h)(r.d,{key:"70ada828e8cf541ab3b47f94b7e56ce34114ef88",class:(0,d.b)(this)},(0,r.h)("slot",{key:"c43e105669d2bae123619b616f3af8ca2f722d61"}))}};return n.style=":host{--size:48px;--border-radius:0;border-radius:var(--border-radius);display:block;width:var(--size);height:var(--size)}::slotted(ion-img),::slotted(img){border-radius:var(--border-radius);width:100%;height:100%;-o-object-fit:cover;object-fit:cover;overflow:hidden}",n})()},4576(u,s,i){i.d(s,{c:()=>l,g:()=>g,h:()=>d,o:()=>h});var r=i(467);const d=(t,o)=>null!==o.closest(t),l=(t,o)=>"string"==typeof t&&t.length>0?Object.assign({"ion-color":!0,[`ion-color-${t}`]:!0},o):o,g=t=>{const o={};return(t=>void 0!==t?(Array.isArray(t)?t:t.split(" ")).filter(a=>null!=a).map(a=>a.trim()).filter(a=>""!==a):[])(t).forEach(a=>o[a]=!0),o},b=/^[a-z][a-z0-9+\-.]*:/,h=function(){var t=(0,r.A)(function*(o,a,c,n){if(null!=o&&"#"!==o[0]&&!b.test(o)){const e=document.querySelector("ion-router");if(e)return a?.preventDefault(),e.push(o,c,n)}return!1});return function(a,c,n,e){return t.apply(this,arguments)}}()}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkfor_angular_app=self.webpackChunkfor_angular_app||[]).push([[1102],{1102(g,l,s){s.r(l),s.d(l,{ion_tab:()=>f,ion_tabs:()=>d});var n=s(467),i=s(5705),u=s(6118);s(4674);const f=(()=>{let t=class{constructor(e){(0,i.r)(this,e),this.loaded=!1,this.active=!1}componentWillLoad(){var e=this;return(0,n.A)(function*(){e.active&&(yield e.setActive())})()}setActive(){var e=this;return(0,n.A)(function*(){yield e.prepareLazyLoaded(),e.active=!0})()}changeActive(e){e&&this.prepareLazyLoaded()}prepareLazyLoaded(){if(!this.loaded&&null!=this.component){this.loaded=!0;try{return(0,u.a)(this.delegate,this.el,this.component,["ion-page"])}catch(e){(0,i.j)("[ion-tab] - Exception in prepareLazyLoaded:",e)}}return Promise.resolve(void 0)}render(){const{tab:e,active:a,component:r}=this;return(0,i.h)(i.d,{key:"dbad8fe9f1566277d14647626308eaf1601ab01f",role:"tabpanel","aria-hidden":a?null:"true","aria-labelledby":`tab-button-${e}`,class:{"ion-page":void 0===r,"tab-hidden":!a}},(0,i.h)("slot",{key:"3be64f4e7161f6769aaf8e4dcb5293fcaa09af45"}))}get el(){return(0,i.g)(this)}static get watchers(){return{active:["changeActive"]}}};return t.style=":host(.tab-hidden){display:none !important}",t})(),d=class{constructor(t){(0,i.r)(this,t),this.ionNavWillLoad=(0,i.c)(this,"ionNavWillLoad",7),this.ionTabsWillChange=(0,i.c)(this,"ionTabsWillChange",3),this.ionTabsDidChange=(0,i.c)(this,"ionTabsDidChange",3),this.transitioning=!1,this.useRouter=!1,this.onTabClicked=e=>{const{href:a,tab:r}=e.detail;if(this.useRouter&&void 0!==a){const c=document.querySelector("ion-router");c&&c.push(a)}else this.select(r)}}componentWillLoad(){var t=this;return(0,n.A)(function*(){if(t.useRouter||(t.useRouter=!(!t.el.querySelector("ion-router-outlet")&&!document.querySelector("ion-router")||t.el.closest("[no-router]"))),!t.useRouter){const e=t.tabs;e.length>0&&(yield t.select(e[0]))}t.ionNavWillLoad.emit()})()}componentDidLoad(){this.updateTabBar()}componentDidUpdate(){this.updateTabBar()}updateTabBar(){const t=this.el.querySelector("ion-tab-bar");if(!t)return;const e=this.selectedTab?this.selectedTab.tab:void 0;void 0!==e&&t.selectedTab!==e&&(t.selectedTab=e)}select(t){var e=this;return(0,n.A)(function*(){const a=o(e.tabs,t);return!!e.shouldSwitch(a)&&(yield e.setActive(a),yield e.notifyRouter(),e.tabSwitch(),!0)})()}getTab(t){var e=this;return(0,n.A)(function*(){return o(e.tabs,t)})()}getSelected(){return Promise.resolve(this.selectedTab?this.selectedTab.tab:void 0)}setRouteId(t){var e=this;return(0,n.A)(function*(){const a=o(e.tabs,t);return e.shouldSwitch(a)?(yield e.setActive(a),{changed:!0,element:e.selectedTab,markVisible:()=>e.tabSwitch()}):{changed:!1,element:e.selectedTab}})()}getRouteId(){var t=this;return(0,n.A)(function*(){var e;const a=null===(e=t.selectedTab)||void 0===e?void 0:e.tab;return void 0!==a?{id:a,element:t.selectedTab}:void 0})()}setActive(t){return this.transitioning?Promise.reject("transitioning already happening"):(this.transitioning=!0,this.leavingTab=this.selectedTab,this.selectedTab=t,this.ionTabsWillChange.emit({tab:t.tab}),t.active=!0,this.updateTabBar(),Promise.resolve())}tabSwitch(){const t=this.selectedTab,e=this.leavingTab;this.leavingTab=void 0,this.transitioning=!1,t&&e!==t&&(e&&(e.active=!1),this.ionTabsDidChange.emit({tab:t.tab}))}notifyRouter(){if(this.useRouter){const t=document.querySelector("ion-router");if(t)return t.navChanged("forward")}return Promise.resolve(!1)}shouldSwitch(t){return void 0!==t&&t!==this.selectedTab&&!this.transitioning}get tabs(){return Array.from(this.el.querySelectorAll("ion-tab"))}render(){return(0,i.h)(i.d,{key:"7b4b302f2942d8d131f6fc24e817989a8be08867",onIonTabButtonClick:this.onTabClicked},(0,i.h)("slot",{key:"2c51cf14c0f17a8ddf2d879858c984cdf8fd3147",name:"top"}),(0,i.h)("div",{key:"7e9d6055092d41bd9bc80ae15965f77e216feb84",class:"tabs-inner"},(0,i.h)("slot",{key:"c308a787e37ff7f6653531d70deca597a7602d26"})),(0,i.h)("slot",{key:"d5f5e693710c853570811602f859cf3e88272684",name:"bottom"}))}get el(){return(0,i.g)(this)}},o=(t,e)=>{const a="string"==typeof e?t.find(r=>r.tab===e):e;return a||(0,i.j)(`[ion-tabs] - Tab with id: "${a}" does not exist`),a};d.style=":host{left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:100%;height:100%;contain:layout size style;z-index:0}.tabs-inner{position:relative;-ms-flex:1;flex:1;contain:layout size style}"}}]);