@taon-dev/seo 21.0.7 → 21.0.8

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 (177) hide show
  1. package/VERIFIED-BUILD-DATA.jsonc +3 -3
  2. package/browser/fesm2022/seo-browser.mjs +3 -873
  3. package/browser/fesm2022/seo-browser.mjs.map +1 -1
  4. package/browser/package.json +1 -1
  5. package/browser/types/seo-browser.d.ts +2 -434
  6. package/browser-prod/fesm2022/seo-browser-prod.mjs +3 -873
  7. package/browser-prod/fesm2022/seo-browser-prod.mjs.map +1 -1
  8. package/browser-prod/package.json +1 -1
  9. package/browser-prod/types/seo-browser-prod.d.ts +2 -434
  10. package/full-dts/build-info._auto-generated_.d.ts +1 -1
  11. package/full-dts/index.d.ts +0 -1
  12. package/full-dts/taon-seo-page/taon-seo-page.abstract.context.d.ts +7 -7
  13. package/full-dts/taon-seo-settings/taon-seo-settings.abstract.context.d.ts +7 -7
  14. package/full-dts/taon-seo.abstract.context.d.ts +7 -7
  15. package/lib/build-info._auto-generated_.d.ts +1 -1
  16. package/lib/build-info._auto-generated_.js +1 -1
  17. package/lib/i18n/lib.translation.d.ts +2 -2
  18. package/lib/index._auto-generated_.d.ts +0 -14
  19. package/lib/index.d.ts +1 -4
  20. package/lib/index.js +1 -1
  21. package/lib/index.js.map +1 -1
  22. package/lib/migrations/1791132517216_initial.d.ts +3 -3
  23. package/lib/migrations/1791655200000_seo_configuration.d.ts +3 -3
  24. package/lib/package.json +1 -1
  25. package/lib/taon-seo-backoffice/index.d.ts +1 -1
  26. package/lib/taon-seo-backoffice/index.js +2 -2
  27. package/lib/taon-seo-image.controller.d.ts +2 -2
  28. package/lib/taon-seo-page/i18n/taon-seo-page.translation.d.ts +2 -2
  29. package/lib/taon-seo-page/index.d.ts +1 -3
  30. package/lib/taon-seo-page/taon-seo-page-backoffice/index.d.ts +1 -1
  31. package/lib/taon-seo-page/taon-seo-page-backoffice/index.js +2 -2
  32. package/lib/taon-seo-page/taon-seo-page.abstract.context.d.ts +7 -7
  33. package/lib/taon-seo-page/taon-seo-page.controller.d.ts +2 -2
  34. package/lib/taon-seo-page/taon-seo-page.entity.d.ts +2 -2
  35. package/lib/taon-seo-page/taon-seo-page.kv.repository.d.ts +2 -2
  36. package/lib/taon-seo-page/taon-seo-page.middleware.d.ts +2 -2
  37. package/lib/taon-seo-page/taon-seo-page.provider.d.ts +2 -2
  38. package/lib/taon-seo-page/taon-seo-page.repository.d.ts +2 -2
  39. package/lib/taon-seo-page/taon-seo-page.subscriber.d.ts +2 -2
  40. package/lib/taon-seo-page/taon-seo-page.validators.d.ts +1 -6
  41. package/lib/taon-seo-settings/i18n/taon-seo-settings.translation.d.ts +2 -2
  42. package/lib/taon-seo-settings/index.d.ts +1 -3
  43. package/lib/taon-seo-settings/taon-seo-settings-backoffice/index.d.ts +1 -1
  44. package/lib/taon-seo-settings/taon-seo-settings-backoffice/index.js +2 -2
  45. package/lib/taon-seo-settings/taon-seo-settings.abstract.context.d.ts +7 -7
  46. package/lib/taon-seo-settings/taon-seo-settings.controller.d.ts +2 -2
  47. package/lib/taon-seo-settings/taon-seo-settings.entity.d.ts +2 -2
  48. package/lib/taon-seo-settings/taon-seo-settings.kv.repository.d.ts +2 -2
  49. package/lib/taon-seo-settings/taon-seo-settings.middleware.d.ts +2 -2
  50. package/lib/taon-seo-settings/taon-seo-settings.provider.d.ts +2 -2
  51. package/lib/taon-seo-settings/taon-seo-settings.repository.d.ts +2 -2
  52. package/lib/taon-seo-settings/taon-seo-settings.subscriber.d.ts +2 -2
  53. package/lib/taon-seo-settings/taon-seo-settings.validators.d.ts +1 -6
  54. package/lib/taon-seo.abstract.context.d.ts +7 -7
  55. package/lib/taon-seo.provider.d.ts +2 -2
  56. package/lib-esm/lib/build-info._auto-generated_.d.ts +1 -1
  57. package/lib-esm/lib/build-info._auto-generated_.js +1 -1
  58. package/lib-esm/lib/index._auto-generated_.d.ts +0 -14
  59. package/lib-esm/lib/index.d.ts +1 -4
  60. package/lib-esm/lib/index.js +1 -1
  61. package/lib-esm/lib/index.js.map +1 -1
  62. package/lib-esm/lib/taon-seo-backoffice/index.d.ts +1 -1
  63. package/lib-esm/lib/taon-seo-backoffice/index.js +1 -1
  64. package/lib-esm/lib/taon-seo-page/index.d.ts +1 -3
  65. package/lib-esm/lib/taon-seo-page/taon-seo-page-backoffice/index.d.ts +1 -1
  66. package/lib-esm/lib/taon-seo-page/taon-seo-page-backoffice/index.js +1 -1
  67. package/lib-esm/lib/taon-seo-page/taon-seo-page.abstract.context.d.ts +8 -8
  68. package/lib-esm/lib/taon-seo-page/taon-seo-page.validators.d.ts +1 -6
  69. package/lib-esm/lib/taon-seo-settings/index.d.ts +1 -3
  70. package/lib-esm/lib/taon-seo-settings/taon-seo-settings-backoffice/index.d.ts +1 -1
  71. package/lib-esm/lib/taon-seo-settings/taon-seo-settings-backoffice/index.js +1 -1
  72. package/lib-esm/lib/taon-seo-settings/taon-seo-settings.abstract.context.d.ts +8 -8
  73. package/lib-esm/lib/taon-seo-settings/taon-seo-settings.validators.d.ts +1 -6
  74. package/lib-esm/lib/taon-seo.abstract.context.d.ts +8 -8
  75. package/lib-prod/build-info._auto-generated_.d.ts +1 -1
  76. package/lib-prod/build-info._auto-generated_.js +1 -1
  77. package/lib-prod/env/index.d.ts +0 -2
  78. package/lib-prod/env/index.js +0 -2
  79. package/lib-prod/env/index.js.map +1 -1
  80. package/lib-prod/index.d.ts +0 -1
  81. package/lib-prod/index.js +1 -1
  82. package/lib-prod/index.js.map +1 -1
  83. package/lib-prod/package.json +1 -1
  84. package/lib-prod/taon-seo-backoffice/index.d.ts +1 -1
  85. package/lib-prod/taon-seo-backoffice/index.js +1 -1
  86. package/lib-prod/taon-seo-page/taon-seo-page-backoffice/index.d.ts +1 -1
  87. package/lib-prod/taon-seo-page/taon-seo-page-backoffice/index.js +1 -1
  88. package/lib-prod/taon-seo-settings/taon-seo-settings-backoffice/index.d.ts +1 -1
  89. package/lib-prod/taon-seo-settings/taon-seo-settings-backoffice/index.js +1 -1
  90. package/package.json +1 -1
  91. package/websql/fesm2022/seo-websql.mjs +3 -873
  92. package/websql/fesm2022/seo-websql.mjs.map +1 -1
  93. package/websql/package.json +1 -1
  94. package/websql/types/seo-websql.d.ts +2 -434
  95. package/websql-prod/fesm2022/seo-websql-prod.mjs +3 -873
  96. package/websql-prod/fesm2022/seo-websql-prod.mjs.map +1 -1
  97. package/websql-prod/package.json +1 -1
  98. package/websql-prod/types/seo-websql-prod.d.ts +2 -434
  99. package/full-dts/env/env.angular-node-app.d.ts +0 -71
  100. package/full-dts/env/env.docs-webapp.d.ts +0 -71
  101. package/full-dts/env/env.electron-app.d.ts +0 -71
  102. package/full-dts/env/env.mobile-app.d.ts +0 -71
  103. package/full-dts/env/env.npm-lib-and-cli-tool.d.ts +0 -71
  104. package/full-dts/env/env.vscode-plugin.d.ts +0 -71
  105. package/full-dts/env/index.d.ts +0 -6
  106. package/lib/env/env.angular-node-app.d.ts +0 -71
  107. package/lib/env/env.angular-node-app.js +0 -153
  108. package/lib/env/env.angular-node-app.js.map +0 -1
  109. package/lib/env/env.docs-webapp.d.ts +0 -71
  110. package/lib/env/env.docs-webapp.js +0 -153
  111. package/lib/env/env.docs-webapp.js.map +0 -1
  112. package/lib/env/env.electron-app.d.ts +0 -71
  113. package/lib/env/env.electron-app.js +0 -153
  114. package/lib/env/env.electron-app.js.map +0 -1
  115. package/lib/env/env.mobile-app.d.ts +0 -71
  116. package/lib/env/env.mobile-app.js +0 -153
  117. package/lib/env/env.mobile-app.js.map +0 -1
  118. package/lib/env/env.npm-lib-and-cli-tool.d.ts +0 -71
  119. package/lib/env/env.npm-lib-and-cli-tool.js +0 -153
  120. package/lib/env/env.npm-lib-and-cli-tool.js.map +0 -1
  121. package/lib/env/env.vscode-plugin.d.ts +0 -71
  122. package/lib/env/env.vscode-plugin.js +0 -153
  123. package/lib/env/env.vscode-plugin.js.map +0 -1
  124. package/lib/env/index.d.ts +0 -6
  125. package/lib/env/index.js +0 -23
  126. package/lib/env/index.js.map +0 -1
  127. package/lib-esm/app/baseline-backoffice/index.d.ts +0 -0
  128. package/lib-esm/app/baseline-backoffice/index.js +0 -2
  129. package/lib-esm/app/baseline-backoffice/index.js.map +0 -1
  130. package/lib-esm/app/baseline-backoffice/taon-baseline-backoffice.component.d.ts +0 -0
  131. package/lib-esm/app/baseline-backoffice/taon-baseline-backoffice.component.js +0 -2
  132. package/lib-esm/app/baseline-backoffice/taon-baseline-backoffice.component.js.map +0 -1
  133. package/lib-esm/app/baseline-backoffice/taon-baseline-backoffice.models.d.ts +0 -0
  134. package/lib-esm/app/baseline-backoffice/taon-baseline-backoffice.models.js +0 -2
  135. package/lib-esm/app/baseline-backoffice/taon-baseline-backoffice.models.js.map +0 -1
  136. package/lib-esm/app/baseline-backoffice/taon-baseline-backoffice.routes.d.ts +0 -0
  137. package/lib-esm/app/baseline-backoffice/taon-baseline-backoffice.routes.js +0 -2
  138. package/lib-esm/app/baseline-backoffice/taon-baseline-backoffice.routes.js.map +0 -1
  139. package/lib-esm/app/seo-example/index.d.ts +0 -0
  140. package/lib-esm/app/seo-example/index.js +0 -2
  141. package/lib-esm/app/seo-example/index.js.map +0 -1
  142. package/lib-esm/app/seo-example/seo-example.component.d.ts +0 -0
  143. package/lib-esm/app/seo-example/seo-example.component.js +0 -2
  144. package/lib-esm/app/seo-example/seo-example.component.js.map +0 -1
  145. package/lib-esm/app/seo-example/seo-example.models.d.ts +0 -0
  146. package/lib-esm/app/seo-example/seo-example.models.js +0 -2
  147. package/lib-esm/app/seo-example/seo-example.models.js.map +0 -1
  148. package/lib-esm/app/seo-example/seo-example.routes.d.ts +0 -0
  149. package/lib-esm/app/seo-example/seo-example.routes.js +0 -2
  150. package/lib-esm/app/seo-example/seo-example.routes.js.map +0 -1
  151. package/lib-esm/lib/env/env.angular-node-app.d.ts +0 -71
  152. package/lib-esm/lib/env/env.angular-node-app.js +0 -146
  153. package/lib-esm/lib/env/env.angular-node-app.js.map +0 -1
  154. package/lib-esm/lib/env/env.docs-webapp.d.ts +0 -71
  155. package/lib-esm/lib/env/env.docs-webapp.js +0 -146
  156. package/lib-esm/lib/env/env.docs-webapp.js.map +0 -1
  157. package/lib-esm/lib/env/env.electron-app.d.ts +0 -71
  158. package/lib-esm/lib/env/env.electron-app.js +0 -146
  159. package/lib-esm/lib/env/env.electron-app.js.map +0 -1
  160. package/lib-esm/lib/env/env.mobile-app.d.ts +0 -71
  161. package/lib-esm/lib/env/env.mobile-app.js +0 -146
  162. package/lib-esm/lib/env/env.mobile-app.js.map +0 -1
  163. package/lib-esm/lib/env/env.npm-lib-and-cli-tool.d.ts +0 -71
  164. package/lib-esm/lib/env/env.npm-lib-and-cli-tool.js +0 -146
  165. package/lib-esm/lib/env/env.npm-lib-and-cli-tool.js.map +0 -1
  166. package/lib-esm/lib/env/env.vscode-plugin.d.ts +0 -71
  167. package/lib-esm/lib/env/env.vscode-plugin.js +0 -146
  168. package/lib-esm/lib/env/env.vscode-plugin.js.map +0 -1
  169. package/lib-esm/lib/env/index.d.ts +0 -6
  170. package/lib-esm/lib/env/index.js +0 -7
  171. package/lib-esm/lib/env/index.js.map +0 -1
  172. package/lib-prod/env/env.docs-webapp.d.ts +0 -71
  173. package/lib-prod/env/env.docs-webapp.js +0 -146
  174. package/lib-prod/env/env.docs-webapp.js.map +0 -1
  175. package/lib-prod/env/env.npm-lib-and-cli-tool.d.ts +0 -71
  176. package/lib-prod/env/env.npm-lib-and-cli-tool.js +0 -146
  177. package/lib-prod/env/env.npm-lib-and-cli-tool.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"seo-browser-prod.mjs","sources":["../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page.entity.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-settings/taon-seo-settings.constants.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-settings/taon-seo-settings.entity.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/migrations/1791655200000_seo_configuration.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/migrations/1791132517216_initial.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/migrations/migrations_index._auto-generated_.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/migrations/index.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/env/env.angular-node-app.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/env/env.docs-webapp.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/env/env.electron-app.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/env/env.mobile-app.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/env/env.npm-lib-and-cli-tool.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/env/env.vscode-plugin.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/build-info._auto-generated_.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/my-organization-proj.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/start-cli.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo.provider.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-image.controller.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-image.api.service.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page.repository.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page.controller.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page.provider.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page.abstract.context.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-settings/taon-seo-settings.repository.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-settings/taon-seo-settings.controller.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-settings/taon-seo-settings.provider.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-settings/taon-seo-settings.abstract.context.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo.abstract.context.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page.api.service.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-settings/taon-seo-settings.api.service.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo.utils.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo.service.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo.validation.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/i18n/lib.translation.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-backoffice/taon-seo-backoffice.component.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-backoffice/taon-seo-backoffice.component.html","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-backoffice/taon-seo-backoffice.models.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-backoffice/taon-seo-backoffice.routes.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-image-input/taon-seo-image-input.component.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page.config.service.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page.constants.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page.kv.repository.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page.middleware.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page.models.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page.subscriber.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page.utils.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page.validators.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-settings/taon-seo-settings.config.service.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-settings/taon-seo-settings.kv.repository.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-settings/taon-seo-settings.middleware.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-settings/taon-seo-settings.models.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-settings/taon-seo-settings.subscriber.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-settings/taon-seo-settings.utils.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-settings/taon-seo-settings.validators.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/i18n/taon-seo-page.translation.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page-edit-dialog/taon-seo-page-edit-dialog.component.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page-edit-dialog/taon-seo-page-edit-dialog.component.html","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page-backoffice/taon-seo-page-backoffice.component.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page-backoffice/taon-seo-page-backoffice.component.html","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page-backoffice/taon-seo-page-backoffice.models.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page-backoffice/taon-seo-page-backoffice.routes.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-settings/i18n/taon-seo-settings.translation.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-settings/taon-seo-settings-backoffice/taon-seo-settings-backoffice.component.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-settings/taon-seo-settings-backoffice/taon-seo-settings-backoffice.component.html","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-settings/taon-seo-settings-backoffice/taon-seo-settings-backoffice.models.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-settings/taon-seo-settings-backoffice/taon-seo-settings-backoffice.routes.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/index._auto-generated_.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/index.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/seo-browser-prod.ts"],"sourcesContent":["import {\n Column,\n PrimaryGeneratedColumn,\n TaonBaseEntity,\n TaonEntity,\n} from 'taon/browser-prod';\n\n@TaonEntity({\n className: 'TaonSeoPageEntity',\n createTable: true,\n})\nexport class TaonSeoPageEntity extends TaonBaseEntity<TaonSeoPageEntity> {\n/* */\n/* */\n \n id: number;\n\n/* */\n/* */\n \n path: string;\n\n/* */\n/* */\n \n title: string | null;\n\n/* */\n/* */\n \n description: string | null;\n\n/* */\n/* */\n \n keywords: string | null;\n\n/* */\n/* */\n \n canonicalUrl: string | null;\n\n/* */\n/* */\n \n ogTitle: string | null;\n\n/* */\n/* */\n \n ogDescription: string | null;\n\n/* */\n/* */\n \n ogImageKey: string | null;\n\n/* */\n/* */\n \n noIndex: boolean;\n\n/* */\n/* */\n \n noFollow: boolean;\n\n/* */\n/* */\n \n createdAt: Date;\n\n/* */\n/* */\n \n updatedAt: Date;\n}\n","import type { TaonSeoSettingsEntity } from './taon-seo-settings.entity';\nimport { Translation } from '@taon-dev/i18n/browser-prod';\nimport { Taon__NS____FILE_RELATIVE_PATH, Taon__NS__asset, Taon__NS__assetsFrom, Taon__NS__assetsListFrom, Taon__NS__createContext, Taon__NS__createContextTemplate, Taon__NS__error, Taon__NS__getResponseValue, Taon__NS__isBrowser, Taon__NS__isElectron, Taon__NS__isNode, Taon__NS__isWebSQL, Taon__NS__LANG_IMPORT_MAP, Taon__NS__removeLoader, Taon__NS__Response, Taon__NS__ResponseHtml, Taon__NS__StartParams } from 'taon/browser-prod';\n\nconst t = Translation.for('src/lib/taon-seo-settings/taon-seo-settings.constants.ts', {\"src/lib/taon-seo-settings/taon-seo-settings.constants.ts\":{\"en-US\":async () => (await import('./i18n/taon-seo-settings.constants.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-seo-settings.constants.ts.pl-PL.i18n.data')).default}} as any);\n\nexport const TaonSeoSettingsDefaultsValues = {\n id: 1,\n siteName: '',\n defaultTitle: '',\n defaultDescription: '',\n defaultKeywords: null,\n defaultImageKey: null,\n canonicalBaseUrl: null,\n robotsIndex: true,\n robotsFollow: true,\n} as Partial<TaonSeoSettingsEntity>;\n\nexport enum TaonSeoSettingsErrors {\n INVALID_PASSWORD_EXAMPLE_ERROR = 'INVALID_PASSWORD_EXAMPLE_ERROR',\n}\n\nexport const TaonSeoSettingsTranslationErorsMap = new Map([\n [TaonSeoSettingsErrors.INVALID_PASSWORD_EXAMPLE_ERROR, t.gettext('Invalid Password')],\n]);","import { Column, PrimaryColumn, TaonBaseEntity, TaonEntity } from 'taon/browser-prod';\n\n@TaonEntity({\n className: 'TaonSeoSettingsEntity',\n createTable: true,\n})\nexport class TaonSeoSettingsEntity extends TaonBaseEntity<TaonSeoSettingsEntity> {\n/* */\n/* */\n \n id: number;\n\n/* */\n/* */\n \n siteName: string;\n\n/* */\n/* */\n \n defaultTitle: string;\n\n/* */\n/* */\n \n defaultDescription: string;\n\n/* */\n/* */\n \n defaultKeywords: string | null;\n\n/* */\n/* */\n \n defaultImageKey: string | null;\n\n/* */\n/* */\n \n canonicalBaseUrl: string | null;\n\n/* */\n/* */\n \n robotsIndex: boolean;\n\n/* */\n/* */\n \n robotsFollow: boolean;\n\n/* */\n/* */\n \n createdAt: Date;\n\n/* */\n/* */\n \n updatedAt: Date;\n}\n","import { TaonBaseMigration, TaonMigration } from 'taon/browser-prod';\nimport { QueryRunner, Table } from 'taon-typeorm/browser-prod';\n\nimport { TaonSeoPageEntity } from '../taon-seo-page/taon-seo-page.entity';\nimport { TaonSeoSettingsDefaultsValues } from '../taon-seo-settings/taon-seo-settings.constants';\nimport { TaonSeoSettingsEntity } from '../taon-seo-settings/taon-seo-settings.entity';\n\n@TaonMigration({ className: 'SeoContext_1791655200000_seo_configuration' })\nexport class SeoContext_1791655200000_seo_configuration extends TaonBaseMigration {\n async up(queryRunner: QueryRunner): Promise<void> {\n for (const entity of [TaonSeoSettingsEntity, TaonSeoPageEntity]) {\n const metadata = queryRunner.connection.getMetadata(entity);\n const expected = Table.create(metadata, queryRunner.connection.driver);\n const current = await queryRunner.getTable(metadata.tablePath);\n if (current) {\n const expectedNames = expected.columns\n .map(column => column.name)\n .sort()\n .join(',');\n const currentNames = current.columns\n .map(column => column.name)\n .sort()\n .join(',');\n if (expectedNames === currentNames) {\n continue;\n }\n // Demo rows contain no route identity; never invent application paths for them.\n const count = await queryRunner.manager\n .createQueryBuilder()\n .from(metadata.tablePath, 'seo')\n .getCount();\n if (count > 0) {\n throw new Error(\n `Cannot migrate populated legacy SEO table ${metadata.tablePath}. Map its demo records to the new SEO schema before retrying.`,\n );\n }\n await queryRunner.dropTable(current);\n }\n await queryRunner.createTable(expected, true);\n }\n\n const settings = queryRunner.manager.getRepository(TaonSeoSettingsEntity);\n const records = await settings.find();\n if (records.some(record => record.id !== 1)) {\n throw new Error(\n 'Global SEO settings must use the singleton ID 1. Consolidate existing settings before retrying.',\n );\n }\n const now = new Date();\n await settings\n .createQueryBuilder()\n .insert()\n .values({\n ...TaonSeoSettingsDefaultsValues,\n createdAt: now,\n updatedAt: now,\n })\n .orIgnore()\n .execute();\n }\n\n async down(queryRunner: QueryRunner): Promise<void> {\n for (const entity of [TaonSeoPageEntity, TaonSeoSettingsEntity]) {\n const metadata = queryRunner.connection.getMetadata(entity);\n await queryRunner.dropTable(metadata.tablePath, true);\n }\n }\n}\n","import {\n MyAppAuthorization,\n MyAppGroup,\n MyAppPermission,\n MyAppRole,\n} from '@taon-dev/cms/browser-prod';\nimport { TaonAuthContextRepository } from '@taon-dev/session/browser-prod';\nimport { TaonBaseMigration, TaonMigration, Taon__NS____FILE_RELATIVE_PATH, Taon__NS__asset, Taon__NS__assetsFrom, Taon__NS__assetsListFrom, Taon__NS__createContext, Taon__NS__createContextTemplate, Taon__NS__error, Taon__NS__getResponseValue, Taon__NS__isBrowser, Taon__NS__isElectron, Taon__NS__isNode, Taon__NS__isWebSQL, Taon__NS__LANG_IMPORT_MAP, Taon__NS__removeLoader, Taon__NS__Response, Taon__NS__ResponseHtml, Taon__NS__StartParams } from 'taon/browser-prod';\nimport { QueryRunner } from 'taon-typeorm/browser-prod';\n\n//#region Migration class for context \"SeoContext\"\n@TaonMigration({\n className: 'SeoContext_1791132517216_initial',\n})\nexport class SeoContext_1791132517216_initial extends TaonBaseMigration {\n private taonAuthContextRepository = this.injectCustomRepo(\n TaonAuthContextRepository<MyAppAuthorization>,\n );\n\n //#region up\n async up(queryRunner: QueryRunner): Promise<any> {\n await queryRunner.startTransaction();\n try {\n await this.taonAuthContextRepository.persistTree({\n enums: {\n groups: MyAppGroup,\n roles: MyAppRole,\n permissions: MyAppPermission,\n },\n tree: {\n groupAndRoles: {\n [MyAppGroup.Administrator]: '*',\n [MyAppGroup.Customers]: [MyAppRole.BlogReader],\n },\n rolesAndPermissions: {\n [MyAppRole.Customer]: [\n MyAppPermission.AccessCourseP2,\n MyAppPermission.AccessCourseP2,\n ],\n [MyAppRole.CustomerPremium]: '*',\n },\n },\n });\n\n await queryRunner.commitTransaction();\n } catch (error) {\n console.error('Error in migration:', error);\n await queryRunner.rollbackTransaction();\n } finally {\n await queryRunner.release();\n }\n }\n //#endregion\n\n //#region down\n async down(queryRunner: QueryRunner): Promise<any> {\n await queryRunner.startTransaction();\n try {\n await this.taonAuthContextRepository.clearRolesGroupPermissions();\n\n await queryRunner.commitTransaction();\n } catch (error) {\n console.error('Error in migration:', error);\n await queryRunner.rollbackTransaction();\n } finally {\n await queryRunner.release();\n }\n }\n //#endregion\n}\n//#endregion","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { SeoContext_1791132517216_initial } from './1791132517216_initial';\nimport { SeoContext_1791655200000_seo_configuration } from './1791655200000_seo_configuration';\n// THIS FILE IS GENERATED - DO NOT MODIFY\nexport const MIGRATIONS_CLASSES_FOR_SeoContext = {\n /* 04-10-2026 18:48:37 */ SeoContext_1791132517216_initial,\n /* 10-10-2026 20:00:00 */ SeoContext_1791655200000_seo_configuration,\n};\n// THIS FILE IS GENERATED - DO NOT MODIFY\n","import { SeoContext_1791655200000_seo_configuration } from './1791655200000_seo_configuration';\nimport { MIGRATIONS_CLASSES_FOR_SeoContext as generatedMigrations } from './migrations_index._auto-generated_';\n\nexport const MIGRATIONS_CLASSES_FOR_SeoContext = {\n ...generatedMigrations,\n SeoContext_1791655200000_seo_configuration,\n};\n","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { decodeEnv } from 'tnp-core/browser-prod';\n// config.superUsers\nexport const ENV_ANGULAR_NODE_APP_CONFIG_SUPER_USERS = (): Promise<string> => decodeEnv(\"dariusz@taon.dev\");\n// config.googleSecret\nexport const ENV_ANGULAR_NODE_APP_CONFIG_GOOGLE_SECRET = (): Promise<string> => decodeEnv(\"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\");\n// config.googleClientId\nexport const ENV_ANGULAR_NODE_APP_CONFIG_GOOGLE_CLIENT_ID = '289576612173-2mh31b67pmq2qdes5jedno9tr1m542es.apps.googleusercontent.com';\n// loading.preAngularBootstrap.background\nexport const ENV_ANGULAR_NODE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_BACKGROUND = '#fdebed';\n// loading.preAngularBootstrap.loader.name\nexport const ENV_ANGULAR_NODE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER_NAME = 'lds-default';\n// website.domain\nexport const ENV_ANGULAR_NODE_APP_WEBSITE_DOMAIN = 'seo.example.domain.com';\n// website.title\nexport const ENV_ANGULAR_NODE_APP_WEBSITE_TITLE = 'Seo';\n// website.useDomain\nexport const ENV_ANGULAR_NODE_APP_WEBSITE_USE_DOMAIN = true;\n// release.targetArtifact\nexport const ENV_ANGULAR_NODE_APP_RELEASE_TARGET_ARTIFACT = 'angular-node-app';\n// release.envName\nexport const ENV_ANGULAR_NODE_APP_RELEASE_ENV_NAME = '__';\n// finishCallback\nexport const ENV_ANGULAR_NODE_APP_FINISH_CALLBACK = (): Promise<string> => decodeEnv({ });\n// container.only\nexport const ENV_ANGULAR_NODE_APP_CONTAINER_ONLY = undefined;\n// container.end\nexport const ENV_ANGULAR_NODE_APP_CONTAINER_END = undefined;\n// container.start\nexport const ENV_ANGULAR_NODE_APP_CONTAINER_START = undefined;\n// container.skipReleased\nexport const ENV_ANGULAR_NODE_APP_CONTAINER_SKIP_RELEASED = undefined;\n// container.skip\nexport const ENV_ANGULAR_NODE_APP_CONTAINER_SKIP = undefined;\n// init.branding\nexport const ENV_ANGULAR_NODE_APP_INIT_BRANDING = undefined;\n// init.struct\nexport const ENV_ANGULAR_NODE_APP_INIT_STRUCT = undefined;\n// build.pwa.disableServiceWorker\nexport const ENV_ANGULAR_NODE_APP_BUILD_PWA_DISABLE_SERVICE_WORKER = undefined;\n// build.pwa.name\nexport const ENV_ANGULAR_NODE_APP_BUILD_PWA_NAME = undefined;\n// build.pwa.short_name\nexport const ENV_ANGULAR_NODE_APP_BUILD_PWA_SHORT_NAME = undefined;\n// build.pwa.start_url\nexport const ENV_ANGULAR_NODE_APP_BUILD_PWA_START_URL = undefined;\n// build.electron.showDevTools\nexport const ENV_ANGULAR_NODE_APP_BUILD_ELECTRON_SHOW_DEV_TOOLS = undefined;\n// build.ssr\nexport const ENV_ANGULAR_NODE_APP_BUILD_SSR = undefined;\n// build.websql\nexport const ENV_ANGULAR_NODE_APP_BUILD_WEBSQL = undefined;\n// build.prod\nexport const ENV_ANGULAR_NODE_APP_BUILD_PROD = undefined;\n// build.overrideOutputPath\nexport const ENV_ANGULAR_NODE_APP_BUILD_OVERRIDE_OUTPUT_PATH = undefined;\n// build.baseHref\nexport const ENV_ANGULAR_NODE_APP_BUILD_BASE_HREF = undefined;\n// build.watch\nexport const ENV_ANGULAR_NODE_APP_BUILD_WATCH = undefined;\n// build.genOnlyClientCode\nexport const ENV_ANGULAR_NODE_APP_BUILD_GEN_ONLY_CLIENT_CODE = undefined;\n// loading.preAngularBootstrap.loader\nexport const ENV_ANGULAR_NODE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER = undefined;\n// release.cli.minify\nexport const ENV_ANGULAR_NODE_APP_RELEASE_CLI_MINIFY = undefined;\n// release.cli.includeNodeModules\nexport const ENV_ANGULAR_NODE_APP_RELEASE_CLI_INCLUDE_NODE_MODULES = undefined;\n// release.cli.uglify\nexport const ENV_ANGULAR_NODE_APP_RELEASE_CLI_UGLIFY = undefined;\n// release.cli.obscure\nexport const ENV_ANGULAR_NODE_APP_RELEASE_CLI_OBSCURE = undefined;\n// release.cli.compress\nexport const ENV_ANGULAR_NODE_APP_RELEASE_CLI_COMPRESS = undefined;\n// release.nodeBackendApp.minify\nexport const ENV_ANGULAR_NODE_APP_RELEASE_NODE_BACKEND_APP_MINIFY = undefined;\n// release.lib.removeDts\nexport const ENV_ANGULAR_NODE_APP_RELEASE_LIB_REMOVE_DTS = undefined;\n// release.lib.obscureFileByFile\nexport const ENV_ANGULAR_NODE_APP_RELEASE_LIB_OBSCURE_FILE_BY_FILE = undefined;\n// release.lib.uglifyFileByFile\nexport const ENV_ANGULAR_NODE_APP_RELEASE_LIB_UGLIFY_FILE_BY_FILE = undefined;\n// release.lib.includeSourceMaps\nexport const ENV_ANGULAR_NODE_APP_RELEASE_LIB_INCLUDE_SOURCE_MAPS = undefined;\n// release.lib.compress\nexport const ENV_ANGULAR_NODE_APP_RELEASE_LIB_COMPRESS = undefined;\n// release.lib.doNotIncludeLibFiles\nexport const ENV_ANGULAR_NODE_APP_RELEASE_LIB_DO_NOT_INCLUDE_LIB_FILES = undefined;\n// release.resolvedNewVersion\nexport const ENV_ANGULAR_NODE_APP_RELEASE_RESOLVED_NEW_VERSION = undefined;\n// release.releaseVersionBumpType\nexport const ENV_ANGULAR_NODE_APP_RELEASE_RELEASE_VERSION_BUMP_TYPE = undefined;\n// release.envNumber\nexport const ENV_ANGULAR_NODE_APP_RELEASE_ENV_NUMBER = undefined;\n// release.installLocally\nexport const ENV_ANGULAR_NODE_APP_RELEASE_INSTALL_LOCALLY = undefined;\n// release.removeReleaseOutputAfterLocalInstall\nexport const ENV_ANGULAR_NODE_APP_RELEASE_REMOVE_RELEASE_OUTPUT_AFTER_LOCAL_INSTALL = undefined;\n// release.releaseType\nexport const ENV_ANGULAR_NODE_APP_RELEASE_RELEASE_TYPE = undefined;\n// release.autoReleaseUsingConfig\nexport const ENV_ANGULAR_NODE_APP_RELEASE_AUTO_RELEASE_USING_CONFIG = undefined;\n// release.autoReleaseTaskName\nexport const ENV_ANGULAR_NODE_APP_RELEASE_AUTO_RELEASE_TASK_NAME = undefined;\n// release.taonInstanceIp\nexport const ENV_ANGULAR_NODE_APP_RELEASE_TAON_INSTANCE_IP = undefined;\n// release.skipNpmPublish\nexport const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_NPM_PUBLISH = undefined;\n// release.skipDeploy\nexport const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_DEPLOY = undefined;\n// release.skipTagGitPush\nexport const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_TAG_GIT_PUSH = undefined;\n// release.skipReleaseQuestion\nexport const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_RELEASE_QUESTION = undefined;\n// release.skipResolvingGitChanges\nexport const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_RESOLVING_GIT_CHANGES = undefined;\n// release.skipCodeCutting\nexport const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_CODE_CUTTING = undefined;\n// release.skipBuildingArtifacts\nexport const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_BUILDING_ARTIFACTS = undefined;\n// release.pushToAllOriginsWhenLocalReleaseBranch\nexport const ENV_ANGULAR_NODE_APP_RELEASE_PUSH_TO_ALL_ORIGINS_WHEN_LOCAL_RELEASE_BRANCH = undefined;\n// release.useLocalReleaseBranch\nexport const ENV_ANGULAR_NODE_APP_RELEASE_USE_LOCAL_RELEASE_BRANCH = undefined;\n// copyToManager.beforeCopyHook\nexport const ENV_ANGULAR_NODE_APP_COPY_TO_MANAGER_BEFORE_COPY_HOOK = undefined;\n// copyToManager.copyToLocations\nexport const ENV_ANGULAR_NODE_APP_COPY_TO_MANAGER_COPY_TO_LOCATIONS = undefined;\n// copyToManager.copyToProjects\nexport const ENV_ANGULAR_NODE_APP_COPY_TO_MANAGER_COPY_TO_PROJECTS = undefined;\n// copyToManager.skip\nexport const ENV_ANGULAR_NODE_APP_COPY_TO_MANAGER_SKIP = undefined;\n// purpose\nexport const ENV_ANGULAR_NODE_APP_PURPOSE = undefined;\n// recursiveAction\nexport const ENV_ANGULAR_NODE_APP_RECURSIVE_ACTION = undefined;\n// isCiProcess\nexport const ENV_ANGULAR_NODE_APP_IS_CI_PROCESS = undefined;\n// docker.additionalContainer\nexport const ENV_ANGULAR_NODE_APP_DOCKER_ADDITIONAL_CONTAINER = undefined;\n// docker.skipStartInOrder\nexport const ENV_ANGULAR_NODE_APP_DOCKER_SKIP_START_IN_ORDER = undefined;\n// docker.skipUsingMysqlDb\nexport const ENV_ANGULAR_NODE_APP_DOCKER_SKIP_USING_MYSQL_DB = undefined;\n// THIS FILE IS GENERATED - DO NOT MODIFY","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { decodeEnv } from 'tnp-core/browser-prod';\n// config.superUsers\nexport const ENV_DOCS_WEBAPP_CONFIG_SUPER_USERS = (): Promise<string> => decodeEnv(\"dariusz@taon.dev\");\n// config.googleSecret\nexport const ENV_DOCS_WEBAPP_CONFIG_GOOGLE_SECRET = (): Promise<string> => decodeEnv(\"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\");\n// config.googleClientId\nexport const ENV_DOCS_WEBAPP_CONFIG_GOOGLE_CLIENT_ID = '289576612173-2mh31b67pmq2qdes5jedno9tr1m542es.apps.googleusercontent.com';\n// loading.preAngularBootstrap.background\nexport const ENV_DOCS_WEBAPP_LOADING_PRE_ANGULAR_BOOTSTRAP_BACKGROUND = '#fdebed';\n// loading.preAngularBootstrap.loader.name\nexport const ENV_DOCS_WEBAPP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER_NAME = 'lds-default';\n// website.domain\nexport const ENV_DOCS_WEBAPP_WEBSITE_DOMAIN = 'seo.example.domain.com';\n// website.title\nexport const ENV_DOCS_WEBAPP_WEBSITE_TITLE = 'Seo';\n// website.useDomain\nexport const ENV_DOCS_WEBAPP_WEBSITE_USE_DOMAIN = true;\n// release.targetArtifact\nexport const ENV_DOCS_WEBAPP_RELEASE_TARGET_ARTIFACT = 'docs-webapp';\n// release.envName\nexport const ENV_DOCS_WEBAPP_RELEASE_ENV_NAME = '__';\n// finishCallback\nexport const ENV_DOCS_WEBAPP_FINISH_CALLBACK = (): Promise<string> => decodeEnv({ });\n// container.only\nexport const ENV_DOCS_WEBAPP_CONTAINER_ONLY = undefined;\n// container.end\nexport const ENV_DOCS_WEBAPP_CONTAINER_END = undefined;\n// container.start\nexport const ENV_DOCS_WEBAPP_CONTAINER_START = undefined;\n// container.skipReleased\nexport const ENV_DOCS_WEBAPP_CONTAINER_SKIP_RELEASED = undefined;\n// container.skip\nexport const ENV_DOCS_WEBAPP_CONTAINER_SKIP = undefined;\n// init.branding\nexport const ENV_DOCS_WEBAPP_INIT_BRANDING = undefined;\n// init.struct\nexport const ENV_DOCS_WEBAPP_INIT_STRUCT = undefined;\n// build.pwa.disableServiceWorker\nexport const ENV_DOCS_WEBAPP_BUILD_PWA_DISABLE_SERVICE_WORKER = undefined;\n// build.pwa.name\nexport const ENV_DOCS_WEBAPP_BUILD_PWA_NAME = undefined;\n// build.pwa.short_name\nexport const ENV_DOCS_WEBAPP_BUILD_PWA_SHORT_NAME = undefined;\n// build.pwa.start_url\nexport const ENV_DOCS_WEBAPP_BUILD_PWA_START_URL = undefined;\n// build.electron.showDevTools\nexport const ENV_DOCS_WEBAPP_BUILD_ELECTRON_SHOW_DEV_TOOLS = undefined;\n// build.ssr\nexport const ENV_DOCS_WEBAPP_BUILD_SSR = undefined;\n// build.websql\nexport const ENV_DOCS_WEBAPP_BUILD_WEBSQL = undefined;\n// build.prod\nexport const ENV_DOCS_WEBAPP_BUILD_PROD = undefined;\n// build.overrideOutputPath\nexport const ENV_DOCS_WEBAPP_BUILD_OVERRIDE_OUTPUT_PATH = undefined;\n// build.baseHref\nexport const ENV_DOCS_WEBAPP_BUILD_BASE_HREF = undefined;\n// build.watch\nexport const ENV_DOCS_WEBAPP_BUILD_WATCH = undefined;\n// build.genOnlyClientCode\nexport const ENV_DOCS_WEBAPP_BUILD_GEN_ONLY_CLIENT_CODE = undefined;\n// loading.preAngularBootstrap.loader\nexport const ENV_DOCS_WEBAPP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER = undefined;\n// release.cli.minify\nexport const ENV_DOCS_WEBAPP_RELEASE_CLI_MINIFY = undefined;\n// release.cli.includeNodeModules\nexport const ENV_DOCS_WEBAPP_RELEASE_CLI_INCLUDE_NODE_MODULES = undefined;\n// release.cli.uglify\nexport const ENV_DOCS_WEBAPP_RELEASE_CLI_UGLIFY = undefined;\n// release.cli.obscure\nexport const ENV_DOCS_WEBAPP_RELEASE_CLI_OBSCURE = undefined;\n// release.cli.compress\nexport const ENV_DOCS_WEBAPP_RELEASE_CLI_COMPRESS = undefined;\n// release.nodeBackendApp.minify\nexport const ENV_DOCS_WEBAPP_RELEASE_NODE_BACKEND_APP_MINIFY = undefined;\n// release.lib.removeDts\nexport const ENV_DOCS_WEBAPP_RELEASE_LIB_REMOVE_DTS = undefined;\n// release.lib.obscureFileByFile\nexport const ENV_DOCS_WEBAPP_RELEASE_LIB_OBSCURE_FILE_BY_FILE = undefined;\n// release.lib.uglifyFileByFile\nexport const ENV_DOCS_WEBAPP_RELEASE_LIB_UGLIFY_FILE_BY_FILE = undefined;\n// release.lib.includeSourceMaps\nexport const ENV_DOCS_WEBAPP_RELEASE_LIB_INCLUDE_SOURCE_MAPS = undefined;\n// release.lib.compress\nexport const ENV_DOCS_WEBAPP_RELEASE_LIB_COMPRESS = undefined;\n// release.lib.doNotIncludeLibFiles\nexport const ENV_DOCS_WEBAPP_RELEASE_LIB_DO_NOT_INCLUDE_LIB_FILES = undefined;\n// release.resolvedNewVersion\nexport const ENV_DOCS_WEBAPP_RELEASE_RESOLVED_NEW_VERSION = undefined;\n// release.releaseVersionBumpType\nexport const ENV_DOCS_WEBAPP_RELEASE_RELEASE_VERSION_BUMP_TYPE = undefined;\n// release.envNumber\nexport const ENV_DOCS_WEBAPP_RELEASE_ENV_NUMBER = undefined;\n// release.installLocally\nexport const ENV_DOCS_WEBAPP_RELEASE_INSTALL_LOCALLY = undefined;\n// release.removeReleaseOutputAfterLocalInstall\nexport const ENV_DOCS_WEBAPP_RELEASE_REMOVE_RELEASE_OUTPUT_AFTER_LOCAL_INSTALL = undefined;\n// release.releaseType\nexport const ENV_DOCS_WEBAPP_RELEASE_RELEASE_TYPE = undefined;\n// release.autoReleaseUsingConfig\nexport const ENV_DOCS_WEBAPP_RELEASE_AUTO_RELEASE_USING_CONFIG = undefined;\n// release.autoReleaseTaskName\nexport const ENV_DOCS_WEBAPP_RELEASE_AUTO_RELEASE_TASK_NAME = undefined;\n// release.taonInstanceIp\nexport const ENV_DOCS_WEBAPP_RELEASE_TAON_INSTANCE_IP = undefined;\n// release.skipNpmPublish\nexport const ENV_DOCS_WEBAPP_RELEASE_SKIP_NPM_PUBLISH = undefined;\n// release.skipDeploy\nexport const ENV_DOCS_WEBAPP_RELEASE_SKIP_DEPLOY = undefined;\n// release.skipTagGitPush\nexport const ENV_DOCS_WEBAPP_RELEASE_SKIP_TAG_GIT_PUSH = undefined;\n// release.skipReleaseQuestion\nexport const ENV_DOCS_WEBAPP_RELEASE_SKIP_RELEASE_QUESTION = undefined;\n// release.skipResolvingGitChanges\nexport const ENV_DOCS_WEBAPP_RELEASE_SKIP_RESOLVING_GIT_CHANGES = undefined;\n// release.skipCodeCutting\nexport const ENV_DOCS_WEBAPP_RELEASE_SKIP_CODE_CUTTING = undefined;\n// release.skipBuildingArtifacts\nexport const ENV_DOCS_WEBAPP_RELEASE_SKIP_BUILDING_ARTIFACTS = undefined;\n// release.pushToAllOriginsWhenLocalReleaseBranch\nexport const ENV_DOCS_WEBAPP_RELEASE_PUSH_TO_ALL_ORIGINS_WHEN_LOCAL_RELEASE_BRANCH = undefined;\n// release.useLocalReleaseBranch\nexport const ENV_DOCS_WEBAPP_RELEASE_USE_LOCAL_RELEASE_BRANCH = undefined;\n// copyToManager.beforeCopyHook\nexport const ENV_DOCS_WEBAPP_COPY_TO_MANAGER_BEFORE_COPY_HOOK = undefined;\n// copyToManager.copyToLocations\nexport const ENV_DOCS_WEBAPP_COPY_TO_MANAGER_COPY_TO_LOCATIONS = undefined;\n// copyToManager.copyToProjects\nexport const ENV_DOCS_WEBAPP_COPY_TO_MANAGER_COPY_TO_PROJECTS = undefined;\n// copyToManager.skip\nexport const ENV_DOCS_WEBAPP_COPY_TO_MANAGER_SKIP = undefined;\n// purpose\nexport const ENV_DOCS_WEBAPP_PURPOSE = undefined;\n// recursiveAction\nexport const ENV_DOCS_WEBAPP_RECURSIVE_ACTION = undefined;\n// isCiProcess\nexport const ENV_DOCS_WEBAPP_IS_CI_PROCESS = undefined;\n// docker.additionalContainer\nexport const ENV_DOCS_WEBAPP_DOCKER_ADDITIONAL_CONTAINER = undefined;\n// docker.skipStartInOrder\nexport const ENV_DOCS_WEBAPP_DOCKER_SKIP_START_IN_ORDER = undefined;\n// docker.skipUsingMysqlDb\nexport const ENV_DOCS_WEBAPP_DOCKER_SKIP_USING_MYSQL_DB = undefined;\n// THIS FILE IS GENERATED - DO NOT MODIFY","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { decodeEnv } from 'tnp-core/browser-prod';\n// config.superUsers\nexport const ENV_ELECTRON_APP_CONFIG_SUPER_USERS = (): Promise<string> => decodeEnv(\"dariusz@taon.dev\");\n// config.googleSecret\nexport const ENV_ELECTRON_APP_CONFIG_GOOGLE_SECRET = (): Promise<string> => decodeEnv(\"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\");\n// config.googleClientId\nexport const ENV_ELECTRON_APP_CONFIG_GOOGLE_CLIENT_ID = '289576612173-2mh31b67pmq2qdes5jedno9tr1m542es.apps.googleusercontent.com';\n// build.ssr\nexport const ENV_ELECTRON_APP_BUILD_SSR = false;\n// loading.preAngularBootstrap.background\nexport const ENV_ELECTRON_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_BACKGROUND = '#fdebed';\n// loading.preAngularBootstrap.loader.name\nexport const ENV_ELECTRON_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER_NAME = 'lds-default';\n// website.domain\nexport const ENV_ELECTRON_APP_WEBSITE_DOMAIN = 'seo.example.domain.com';\n// website.title\nexport const ENV_ELECTRON_APP_WEBSITE_TITLE = 'Seo';\n// website.useDomain\nexport const ENV_ELECTRON_APP_WEBSITE_USE_DOMAIN = true;\n// release.targetArtifact\nexport const ENV_ELECTRON_APP_RELEASE_TARGET_ARTIFACT = 'electron-app';\n// release.envName\nexport const ENV_ELECTRON_APP_RELEASE_ENV_NAME = '__';\n// finishCallback\nexport const ENV_ELECTRON_APP_FINISH_CALLBACK = (): Promise<string> => decodeEnv({ });\n// container.only\nexport const ENV_ELECTRON_APP_CONTAINER_ONLY = undefined;\n// container.end\nexport const ENV_ELECTRON_APP_CONTAINER_END = undefined;\n// container.start\nexport const ENV_ELECTRON_APP_CONTAINER_START = undefined;\n// container.skipReleased\nexport const ENV_ELECTRON_APP_CONTAINER_SKIP_RELEASED = undefined;\n// container.skip\nexport const ENV_ELECTRON_APP_CONTAINER_SKIP = undefined;\n// init.branding\nexport const ENV_ELECTRON_APP_INIT_BRANDING = undefined;\n// init.struct\nexport const ENV_ELECTRON_APP_INIT_STRUCT = undefined;\n// build.pwa.disableServiceWorker\nexport const ENV_ELECTRON_APP_BUILD_PWA_DISABLE_SERVICE_WORKER = undefined;\n// build.pwa.name\nexport const ENV_ELECTRON_APP_BUILD_PWA_NAME = undefined;\n// build.pwa.short_name\nexport const ENV_ELECTRON_APP_BUILD_PWA_SHORT_NAME = undefined;\n// build.pwa.start_url\nexport const ENV_ELECTRON_APP_BUILD_PWA_START_URL = undefined;\n// build.electron.showDevTools\nexport const ENV_ELECTRON_APP_BUILD_ELECTRON_SHOW_DEV_TOOLS = undefined;\n// build.websql\nexport const ENV_ELECTRON_APP_BUILD_WEBSQL = undefined;\n// build.prod\nexport const ENV_ELECTRON_APP_BUILD_PROD = undefined;\n// build.overrideOutputPath\nexport const ENV_ELECTRON_APP_BUILD_OVERRIDE_OUTPUT_PATH = undefined;\n// build.baseHref\nexport const ENV_ELECTRON_APP_BUILD_BASE_HREF = undefined;\n// build.watch\nexport const ENV_ELECTRON_APP_BUILD_WATCH = undefined;\n// build.genOnlyClientCode\nexport const ENV_ELECTRON_APP_BUILD_GEN_ONLY_CLIENT_CODE = undefined;\n// loading.preAngularBootstrap.loader\nexport const ENV_ELECTRON_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER = undefined;\n// release.cli.minify\nexport const ENV_ELECTRON_APP_RELEASE_CLI_MINIFY = undefined;\n// release.cli.includeNodeModules\nexport const ENV_ELECTRON_APP_RELEASE_CLI_INCLUDE_NODE_MODULES = undefined;\n// release.cli.uglify\nexport const ENV_ELECTRON_APP_RELEASE_CLI_UGLIFY = undefined;\n// release.cli.obscure\nexport const ENV_ELECTRON_APP_RELEASE_CLI_OBSCURE = undefined;\n// release.cli.compress\nexport const ENV_ELECTRON_APP_RELEASE_CLI_COMPRESS = undefined;\n// release.nodeBackendApp.minify\nexport const ENV_ELECTRON_APP_RELEASE_NODE_BACKEND_APP_MINIFY = undefined;\n// release.lib.removeDts\nexport const ENV_ELECTRON_APP_RELEASE_LIB_REMOVE_DTS = undefined;\n// release.lib.obscureFileByFile\nexport const ENV_ELECTRON_APP_RELEASE_LIB_OBSCURE_FILE_BY_FILE = undefined;\n// release.lib.uglifyFileByFile\nexport const ENV_ELECTRON_APP_RELEASE_LIB_UGLIFY_FILE_BY_FILE = undefined;\n// release.lib.includeSourceMaps\nexport const ENV_ELECTRON_APP_RELEASE_LIB_INCLUDE_SOURCE_MAPS = undefined;\n// release.lib.compress\nexport const ENV_ELECTRON_APP_RELEASE_LIB_COMPRESS = undefined;\n// release.lib.doNotIncludeLibFiles\nexport const ENV_ELECTRON_APP_RELEASE_LIB_DO_NOT_INCLUDE_LIB_FILES = undefined;\n// release.resolvedNewVersion\nexport const ENV_ELECTRON_APP_RELEASE_RESOLVED_NEW_VERSION = undefined;\n// release.releaseVersionBumpType\nexport const ENV_ELECTRON_APP_RELEASE_RELEASE_VERSION_BUMP_TYPE = undefined;\n// release.envNumber\nexport const ENV_ELECTRON_APP_RELEASE_ENV_NUMBER = undefined;\n// release.installLocally\nexport const ENV_ELECTRON_APP_RELEASE_INSTALL_LOCALLY = undefined;\n// release.removeReleaseOutputAfterLocalInstall\nexport const ENV_ELECTRON_APP_RELEASE_REMOVE_RELEASE_OUTPUT_AFTER_LOCAL_INSTALL = undefined;\n// release.releaseType\nexport const ENV_ELECTRON_APP_RELEASE_RELEASE_TYPE = undefined;\n// release.autoReleaseUsingConfig\nexport const ENV_ELECTRON_APP_RELEASE_AUTO_RELEASE_USING_CONFIG = undefined;\n// release.autoReleaseTaskName\nexport const ENV_ELECTRON_APP_RELEASE_AUTO_RELEASE_TASK_NAME = undefined;\n// release.taonInstanceIp\nexport const ENV_ELECTRON_APP_RELEASE_TAON_INSTANCE_IP = undefined;\n// release.skipNpmPublish\nexport const ENV_ELECTRON_APP_RELEASE_SKIP_NPM_PUBLISH = undefined;\n// release.skipDeploy\nexport const ENV_ELECTRON_APP_RELEASE_SKIP_DEPLOY = undefined;\n// release.skipTagGitPush\nexport const ENV_ELECTRON_APP_RELEASE_SKIP_TAG_GIT_PUSH = undefined;\n// release.skipReleaseQuestion\nexport const ENV_ELECTRON_APP_RELEASE_SKIP_RELEASE_QUESTION = undefined;\n// release.skipResolvingGitChanges\nexport const ENV_ELECTRON_APP_RELEASE_SKIP_RESOLVING_GIT_CHANGES = undefined;\n// release.skipCodeCutting\nexport const ENV_ELECTRON_APP_RELEASE_SKIP_CODE_CUTTING = undefined;\n// release.skipBuildingArtifacts\nexport const ENV_ELECTRON_APP_RELEASE_SKIP_BUILDING_ARTIFACTS = undefined;\n// release.pushToAllOriginsWhenLocalReleaseBranch\nexport const ENV_ELECTRON_APP_RELEASE_PUSH_TO_ALL_ORIGINS_WHEN_LOCAL_RELEASE_BRANCH = undefined;\n// release.useLocalReleaseBranch\nexport const ENV_ELECTRON_APP_RELEASE_USE_LOCAL_RELEASE_BRANCH = undefined;\n// copyToManager.beforeCopyHook\nexport const ENV_ELECTRON_APP_COPY_TO_MANAGER_BEFORE_COPY_HOOK = undefined;\n// copyToManager.copyToLocations\nexport const ENV_ELECTRON_APP_COPY_TO_MANAGER_COPY_TO_LOCATIONS = undefined;\n// copyToManager.copyToProjects\nexport const ENV_ELECTRON_APP_COPY_TO_MANAGER_COPY_TO_PROJECTS = undefined;\n// copyToManager.skip\nexport const ENV_ELECTRON_APP_COPY_TO_MANAGER_SKIP = undefined;\n// purpose\nexport const ENV_ELECTRON_APP_PURPOSE = undefined;\n// recursiveAction\nexport const ENV_ELECTRON_APP_RECURSIVE_ACTION = undefined;\n// isCiProcess\nexport const ENV_ELECTRON_APP_IS_CI_PROCESS = undefined;\n// docker.additionalContainer\nexport const ENV_ELECTRON_APP_DOCKER_ADDITIONAL_CONTAINER = undefined;\n// docker.skipStartInOrder\nexport const ENV_ELECTRON_APP_DOCKER_SKIP_START_IN_ORDER = undefined;\n// docker.skipUsingMysqlDb\nexport const ENV_ELECTRON_APP_DOCKER_SKIP_USING_MYSQL_DB = undefined;\n// THIS FILE IS GENERATED - DO NOT MODIFY","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { decodeEnv } from 'tnp-core/browser-prod';\n// config.superUsers\nexport const ENV_MOBILE_APP_CONFIG_SUPER_USERS = (): Promise<string> => decodeEnv(\"dariusz@taon.dev\");\n// config.googleSecret\nexport const ENV_MOBILE_APP_CONFIG_GOOGLE_SECRET = (): Promise<string> => decodeEnv(\"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\");\n// config.googleClientId\nexport const ENV_MOBILE_APP_CONFIG_GOOGLE_CLIENT_ID = '289576612173-2mh31b67pmq2qdes5jedno9tr1m542es.apps.googleusercontent.com';\n// loading.preAngularBootstrap.background\nexport const ENV_MOBILE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_BACKGROUND = '#fdebed';\n// loading.preAngularBootstrap.loader.name\nexport const ENV_MOBILE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER_NAME = 'lds-default';\n// website.domain\nexport const ENV_MOBILE_APP_WEBSITE_DOMAIN = 'seo.example.domain.com';\n// website.title\nexport const ENV_MOBILE_APP_WEBSITE_TITLE = 'Seo';\n// website.useDomain\nexport const ENV_MOBILE_APP_WEBSITE_USE_DOMAIN = true;\n// release.targetArtifact\nexport const ENV_MOBILE_APP_RELEASE_TARGET_ARTIFACT = 'mobile-app';\n// release.envName\nexport const ENV_MOBILE_APP_RELEASE_ENV_NAME = '__';\n// finishCallback\nexport const ENV_MOBILE_APP_FINISH_CALLBACK = (): Promise<string> => decodeEnv({ });\n// container.only\nexport const ENV_MOBILE_APP_CONTAINER_ONLY = undefined;\n// container.end\nexport const ENV_MOBILE_APP_CONTAINER_END = undefined;\n// container.start\nexport const ENV_MOBILE_APP_CONTAINER_START = undefined;\n// container.skipReleased\nexport const ENV_MOBILE_APP_CONTAINER_SKIP_RELEASED = undefined;\n// container.skip\nexport const ENV_MOBILE_APP_CONTAINER_SKIP = undefined;\n// init.branding\nexport const ENV_MOBILE_APP_INIT_BRANDING = undefined;\n// init.struct\nexport const ENV_MOBILE_APP_INIT_STRUCT = undefined;\n// build.pwa.disableServiceWorker\nexport const ENV_MOBILE_APP_BUILD_PWA_DISABLE_SERVICE_WORKER = undefined;\n// build.pwa.name\nexport const ENV_MOBILE_APP_BUILD_PWA_NAME = undefined;\n// build.pwa.short_name\nexport const ENV_MOBILE_APP_BUILD_PWA_SHORT_NAME = undefined;\n// build.pwa.start_url\nexport const ENV_MOBILE_APP_BUILD_PWA_START_URL = undefined;\n// build.electron.showDevTools\nexport const ENV_MOBILE_APP_BUILD_ELECTRON_SHOW_DEV_TOOLS = undefined;\n// build.ssr\nexport const ENV_MOBILE_APP_BUILD_SSR = undefined;\n// build.websql\nexport const ENV_MOBILE_APP_BUILD_WEBSQL = undefined;\n// build.prod\nexport const ENV_MOBILE_APP_BUILD_PROD = undefined;\n// build.overrideOutputPath\nexport const ENV_MOBILE_APP_BUILD_OVERRIDE_OUTPUT_PATH = undefined;\n// build.baseHref\nexport const ENV_MOBILE_APP_BUILD_BASE_HREF = undefined;\n// build.watch\nexport const ENV_MOBILE_APP_BUILD_WATCH = undefined;\n// build.genOnlyClientCode\nexport const ENV_MOBILE_APP_BUILD_GEN_ONLY_CLIENT_CODE = undefined;\n// loading.preAngularBootstrap.loader\nexport const ENV_MOBILE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER = undefined;\n// release.cli.minify\nexport const ENV_MOBILE_APP_RELEASE_CLI_MINIFY = undefined;\n// release.cli.includeNodeModules\nexport const ENV_MOBILE_APP_RELEASE_CLI_INCLUDE_NODE_MODULES = undefined;\n// release.cli.uglify\nexport const ENV_MOBILE_APP_RELEASE_CLI_UGLIFY = undefined;\n// release.cli.obscure\nexport const ENV_MOBILE_APP_RELEASE_CLI_OBSCURE = undefined;\n// release.cli.compress\nexport const ENV_MOBILE_APP_RELEASE_CLI_COMPRESS = undefined;\n// release.nodeBackendApp.minify\nexport const ENV_MOBILE_APP_RELEASE_NODE_BACKEND_APP_MINIFY = undefined;\n// release.lib.removeDts\nexport const ENV_MOBILE_APP_RELEASE_LIB_REMOVE_DTS = undefined;\n// release.lib.obscureFileByFile\nexport const ENV_MOBILE_APP_RELEASE_LIB_OBSCURE_FILE_BY_FILE = undefined;\n// release.lib.uglifyFileByFile\nexport const ENV_MOBILE_APP_RELEASE_LIB_UGLIFY_FILE_BY_FILE = undefined;\n// release.lib.includeSourceMaps\nexport const ENV_MOBILE_APP_RELEASE_LIB_INCLUDE_SOURCE_MAPS = undefined;\n// release.lib.compress\nexport const ENV_MOBILE_APP_RELEASE_LIB_COMPRESS = undefined;\n// release.lib.doNotIncludeLibFiles\nexport const ENV_MOBILE_APP_RELEASE_LIB_DO_NOT_INCLUDE_LIB_FILES = undefined;\n// release.resolvedNewVersion\nexport const ENV_MOBILE_APP_RELEASE_RESOLVED_NEW_VERSION = undefined;\n// release.releaseVersionBumpType\nexport const ENV_MOBILE_APP_RELEASE_RELEASE_VERSION_BUMP_TYPE = undefined;\n// release.envNumber\nexport const ENV_MOBILE_APP_RELEASE_ENV_NUMBER = undefined;\n// release.installLocally\nexport const ENV_MOBILE_APP_RELEASE_INSTALL_LOCALLY = undefined;\n// release.removeReleaseOutputAfterLocalInstall\nexport const ENV_MOBILE_APP_RELEASE_REMOVE_RELEASE_OUTPUT_AFTER_LOCAL_INSTALL = undefined;\n// release.releaseType\nexport const ENV_MOBILE_APP_RELEASE_RELEASE_TYPE = undefined;\n// release.autoReleaseUsingConfig\nexport const ENV_MOBILE_APP_RELEASE_AUTO_RELEASE_USING_CONFIG = undefined;\n// release.autoReleaseTaskName\nexport const ENV_MOBILE_APP_RELEASE_AUTO_RELEASE_TASK_NAME = undefined;\n// release.taonInstanceIp\nexport const ENV_MOBILE_APP_RELEASE_TAON_INSTANCE_IP = undefined;\n// release.skipNpmPublish\nexport const ENV_MOBILE_APP_RELEASE_SKIP_NPM_PUBLISH = undefined;\n// release.skipDeploy\nexport const ENV_MOBILE_APP_RELEASE_SKIP_DEPLOY = undefined;\n// release.skipTagGitPush\nexport const ENV_MOBILE_APP_RELEASE_SKIP_TAG_GIT_PUSH = undefined;\n// release.skipReleaseQuestion\nexport const ENV_MOBILE_APP_RELEASE_SKIP_RELEASE_QUESTION = undefined;\n// release.skipResolvingGitChanges\nexport const ENV_MOBILE_APP_RELEASE_SKIP_RESOLVING_GIT_CHANGES = undefined;\n// release.skipCodeCutting\nexport const ENV_MOBILE_APP_RELEASE_SKIP_CODE_CUTTING = undefined;\n// release.skipBuildingArtifacts\nexport const ENV_MOBILE_APP_RELEASE_SKIP_BUILDING_ARTIFACTS = undefined;\n// release.pushToAllOriginsWhenLocalReleaseBranch\nexport const ENV_MOBILE_APP_RELEASE_PUSH_TO_ALL_ORIGINS_WHEN_LOCAL_RELEASE_BRANCH = undefined;\n// release.useLocalReleaseBranch\nexport const ENV_MOBILE_APP_RELEASE_USE_LOCAL_RELEASE_BRANCH = undefined;\n// copyToManager.beforeCopyHook\nexport const ENV_MOBILE_APP_COPY_TO_MANAGER_BEFORE_COPY_HOOK = undefined;\n// copyToManager.copyToLocations\nexport const ENV_MOBILE_APP_COPY_TO_MANAGER_COPY_TO_LOCATIONS = undefined;\n// copyToManager.copyToProjects\nexport const ENV_MOBILE_APP_COPY_TO_MANAGER_COPY_TO_PROJECTS = undefined;\n// copyToManager.skip\nexport const ENV_MOBILE_APP_COPY_TO_MANAGER_SKIP = undefined;\n// purpose\nexport const ENV_MOBILE_APP_PURPOSE = undefined;\n// recursiveAction\nexport const ENV_MOBILE_APP_RECURSIVE_ACTION = undefined;\n// isCiProcess\nexport const ENV_MOBILE_APP_IS_CI_PROCESS = undefined;\n// docker.additionalContainer\nexport const ENV_MOBILE_APP_DOCKER_ADDITIONAL_CONTAINER = undefined;\n// docker.skipStartInOrder\nexport const ENV_MOBILE_APP_DOCKER_SKIP_START_IN_ORDER = undefined;\n// docker.skipUsingMysqlDb\nexport const ENV_MOBILE_APP_DOCKER_SKIP_USING_MYSQL_DB = undefined;\n// THIS FILE IS GENERATED - DO NOT MODIFY","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { decodeEnv } from 'tnp-core/browser-prod';\n// config.superUsers\nexport const ENV_NPM_LIB_AND_CLI_TOOL_CONFIG_SUPER_USERS = (): Promise<string> => decodeEnv(\"dariusz@taon.dev\");\n// config.googleSecret\nexport const ENV_NPM_LIB_AND_CLI_TOOL_CONFIG_GOOGLE_SECRET = (): Promise<string> => decodeEnv(\"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\");\n// config.googleClientId\nexport const ENV_NPM_LIB_AND_CLI_TOOL_CONFIG_GOOGLE_CLIENT_ID = '289576612173-2mh31b67pmq2qdes5jedno9tr1m542es.apps.googleusercontent.com';\n// loading.preAngularBootstrap.background\nexport const ENV_NPM_LIB_AND_CLI_TOOL_LOADING_PRE_ANGULAR_BOOTSTRAP_BACKGROUND = '#fdebed';\n// loading.preAngularBootstrap.loader.name\nexport const ENV_NPM_LIB_AND_CLI_TOOL_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER_NAME = 'lds-default';\n// website.domain\nexport const ENV_NPM_LIB_AND_CLI_TOOL_WEBSITE_DOMAIN = 'seo.example.domain.com';\n// website.title\nexport const ENV_NPM_LIB_AND_CLI_TOOL_WEBSITE_TITLE = 'Seo';\n// website.useDomain\nexport const ENV_NPM_LIB_AND_CLI_TOOL_WEBSITE_USE_DOMAIN = true;\n// release.targetArtifact\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_TARGET_ARTIFACT = 'npm-lib-and-cli-tool';\n// release.envName\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_ENV_NAME = '__';\n// finishCallback\nexport const ENV_NPM_LIB_AND_CLI_TOOL_FINISH_CALLBACK = (): Promise<string> => decodeEnv({ });\n// container.only\nexport const ENV_NPM_LIB_AND_CLI_TOOL_CONTAINER_ONLY = undefined;\n// container.end\nexport const ENV_NPM_LIB_AND_CLI_TOOL_CONTAINER_END = undefined;\n// container.start\nexport const ENV_NPM_LIB_AND_CLI_TOOL_CONTAINER_START = undefined;\n// container.skipReleased\nexport const ENV_NPM_LIB_AND_CLI_TOOL_CONTAINER_SKIP_RELEASED = undefined;\n// container.skip\nexport const ENV_NPM_LIB_AND_CLI_TOOL_CONTAINER_SKIP = undefined;\n// init.branding\nexport const ENV_NPM_LIB_AND_CLI_TOOL_INIT_BRANDING = undefined;\n// init.struct\nexport const ENV_NPM_LIB_AND_CLI_TOOL_INIT_STRUCT = undefined;\n// build.pwa.disableServiceWorker\nexport const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_PWA_DISABLE_SERVICE_WORKER = undefined;\n// build.pwa.name\nexport const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_PWA_NAME = undefined;\n// build.pwa.short_name\nexport const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_PWA_SHORT_NAME = undefined;\n// build.pwa.start_url\nexport const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_PWA_START_URL = undefined;\n// build.electron.showDevTools\nexport const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_ELECTRON_SHOW_DEV_TOOLS = undefined;\n// build.ssr\nexport const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_SSR = undefined;\n// build.websql\nexport const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_WEBSQL = undefined;\n// build.prod\nexport const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_PROD = undefined;\n// build.overrideOutputPath\nexport const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_OVERRIDE_OUTPUT_PATH = undefined;\n// build.baseHref\nexport const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_BASE_HREF = undefined;\n// build.watch\nexport const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_WATCH = undefined;\n// build.genOnlyClientCode\nexport const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_GEN_ONLY_CLIENT_CODE = undefined;\n// loading.preAngularBootstrap.loader\nexport const ENV_NPM_LIB_AND_CLI_TOOL_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER = undefined;\n// release.cli.minify\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_CLI_MINIFY = undefined;\n// release.cli.includeNodeModules\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_CLI_INCLUDE_NODE_MODULES = undefined;\n// release.cli.uglify\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_CLI_UGLIFY = undefined;\n// release.cli.obscure\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_CLI_OBSCURE = undefined;\n// release.cli.compress\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_CLI_COMPRESS = undefined;\n// release.nodeBackendApp.minify\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_NODE_BACKEND_APP_MINIFY = undefined;\n// release.lib.removeDts\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_LIB_REMOVE_DTS = undefined;\n// release.lib.obscureFileByFile\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_LIB_OBSCURE_FILE_BY_FILE = undefined;\n// release.lib.uglifyFileByFile\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_LIB_UGLIFY_FILE_BY_FILE = undefined;\n// release.lib.includeSourceMaps\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_LIB_INCLUDE_SOURCE_MAPS = undefined;\n// release.lib.compress\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_LIB_COMPRESS = undefined;\n// release.lib.doNotIncludeLibFiles\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_LIB_DO_NOT_INCLUDE_LIB_FILES = undefined;\n// release.resolvedNewVersion\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_RESOLVED_NEW_VERSION = undefined;\n// release.releaseVersionBumpType\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_RELEASE_VERSION_BUMP_TYPE = undefined;\n// release.envNumber\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_ENV_NUMBER = undefined;\n// release.installLocally\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_INSTALL_LOCALLY = undefined;\n// release.removeReleaseOutputAfterLocalInstall\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_REMOVE_RELEASE_OUTPUT_AFTER_LOCAL_INSTALL = undefined;\n// release.releaseType\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_RELEASE_TYPE = undefined;\n// release.autoReleaseUsingConfig\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_AUTO_RELEASE_USING_CONFIG = undefined;\n// release.autoReleaseTaskName\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_AUTO_RELEASE_TASK_NAME = undefined;\n// release.taonInstanceIp\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_TAON_INSTANCE_IP = undefined;\n// release.skipNpmPublish\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_SKIP_NPM_PUBLISH = undefined;\n// release.skipDeploy\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_SKIP_DEPLOY = undefined;\n// release.skipTagGitPush\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_SKIP_TAG_GIT_PUSH = undefined;\n// release.skipReleaseQuestion\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_SKIP_RELEASE_QUESTION = undefined;\n// release.skipResolvingGitChanges\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_SKIP_RESOLVING_GIT_CHANGES = undefined;\n// release.skipCodeCutting\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_SKIP_CODE_CUTTING = undefined;\n// release.skipBuildingArtifacts\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_SKIP_BUILDING_ARTIFACTS = undefined;\n// release.pushToAllOriginsWhenLocalReleaseBranch\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_PUSH_TO_ALL_ORIGINS_WHEN_LOCAL_RELEASE_BRANCH = undefined;\n// release.useLocalReleaseBranch\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_USE_LOCAL_RELEASE_BRANCH = undefined;\n// copyToManager.beforeCopyHook\nexport const ENV_NPM_LIB_AND_CLI_TOOL_COPY_TO_MANAGER_BEFORE_COPY_HOOK = undefined;\n// copyToManager.copyToLocations\nexport const ENV_NPM_LIB_AND_CLI_TOOL_COPY_TO_MANAGER_COPY_TO_LOCATIONS = undefined;\n// copyToManager.copyToProjects\nexport const ENV_NPM_LIB_AND_CLI_TOOL_COPY_TO_MANAGER_COPY_TO_PROJECTS = undefined;\n// copyToManager.skip\nexport const ENV_NPM_LIB_AND_CLI_TOOL_COPY_TO_MANAGER_SKIP = undefined;\n// purpose\nexport const ENV_NPM_LIB_AND_CLI_TOOL_PURPOSE = undefined;\n// recursiveAction\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RECURSIVE_ACTION = undefined;\n// isCiProcess\nexport const ENV_NPM_LIB_AND_CLI_TOOL_IS_CI_PROCESS = undefined;\n// docker.additionalContainer\nexport const ENV_NPM_LIB_AND_CLI_TOOL_DOCKER_ADDITIONAL_CONTAINER = undefined;\n// docker.skipStartInOrder\nexport const ENV_NPM_LIB_AND_CLI_TOOL_DOCKER_SKIP_START_IN_ORDER = undefined;\n// docker.skipUsingMysqlDb\nexport const ENV_NPM_LIB_AND_CLI_TOOL_DOCKER_SKIP_USING_MYSQL_DB = undefined;\n// THIS FILE IS GENERATED - DO NOT MODIFY","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { decodeEnv } from 'tnp-core/browser-prod';\n// config.superUsers\nexport const ENV_VSCODE_PLUGIN_CONFIG_SUPER_USERS = (): Promise<string> => decodeEnv(\"dariusz@taon.dev\");\n// config.googleSecret\nexport const ENV_VSCODE_PLUGIN_CONFIG_GOOGLE_SECRET = (): Promise<string> => decodeEnv(\"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\");\n// config.googleClientId\nexport const ENV_VSCODE_PLUGIN_CONFIG_GOOGLE_CLIENT_ID = '289576612173-2mh31b67pmq2qdes5jedno9tr1m542es.apps.googleusercontent.com';\n// loading.preAngularBootstrap.background\nexport const ENV_VSCODE_PLUGIN_LOADING_PRE_ANGULAR_BOOTSTRAP_BACKGROUND = '#fdebed';\n// loading.preAngularBootstrap.loader.name\nexport const ENV_VSCODE_PLUGIN_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER_NAME = 'lds-default';\n// website.domain\nexport const ENV_VSCODE_PLUGIN_WEBSITE_DOMAIN = 'seo.example.domain.com';\n// website.title\nexport const ENV_VSCODE_PLUGIN_WEBSITE_TITLE = 'Seo';\n// website.useDomain\nexport const ENV_VSCODE_PLUGIN_WEBSITE_USE_DOMAIN = true;\n// release.targetArtifact\nexport const ENV_VSCODE_PLUGIN_RELEASE_TARGET_ARTIFACT = 'vscode-plugin';\n// release.envName\nexport const ENV_VSCODE_PLUGIN_RELEASE_ENV_NAME = '__';\n// finishCallback\nexport const ENV_VSCODE_PLUGIN_FINISH_CALLBACK = (): Promise<string> => decodeEnv({ });\n// container.only\nexport const ENV_VSCODE_PLUGIN_CONTAINER_ONLY = undefined;\n// container.end\nexport const ENV_VSCODE_PLUGIN_CONTAINER_END = undefined;\n// container.start\nexport const ENV_VSCODE_PLUGIN_CONTAINER_START = undefined;\n// container.skipReleased\nexport const ENV_VSCODE_PLUGIN_CONTAINER_SKIP_RELEASED = undefined;\n// container.skip\nexport const ENV_VSCODE_PLUGIN_CONTAINER_SKIP = undefined;\n// init.branding\nexport const ENV_VSCODE_PLUGIN_INIT_BRANDING = undefined;\n// init.struct\nexport const ENV_VSCODE_PLUGIN_INIT_STRUCT = undefined;\n// build.pwa.disableServiceWorker\nexport const ENV_VSCODE_PLUGIN_BUILD_PWA_DISABLE_SERVICE_WORKER = undefined;\n// build.pwa.name\nexport const ENV_VSCODE_PLUGIN_BUILD_PWA_NAME = undefined;\n// build.pwa.short_name\nexport const ENV_VSCODE_PLUGIN_BUILD_PWA_SHORT_NAME = undefined;\n// build.pwa.start_url\nexport const ENV_VSCODE_PLUGIN_BUILD_PWA_START_URL = undefined;\n// build.electron.showDevTools\nexport const ENV_VSCODE_PLUGIN_BUILD_ELECTRON_SHOW_DEV_TOOLS = undefined;\n// build.ssr\nexport const ENV_VSCODE_PLUGIN_BUILD_SSR = undefined;\n// build.websql\nexport const ENV_VSCODE_PLUGIN_BUILD_WEBSQL = undefined;\n// build.prod\nexport const ENV_VSCODE_PLUGIN_BUILD_PROD = undefined;\n// build.overrideOutputPath\nexport const ENV_VSCODE_PLUGIN_BUILD_OVERRIDE_OUTPUT_PATH = undefined;\n// build.baseHref\nexport const ENV_VSCODE_PLUGIN_BUILD_BASE_HREF = undefined;\n// build.watch\nexport const ENV_VSCODE_PLUGIN_BUILD_WATCH = undefined;\n// build.genOnlyClientCode\nexport const ENV_VSCODE_PLUGIN_BUILD_GEN_ONLY_CLIENT_CODE = undefined;\n// loading.preAngularBootstrap.loader\nexport const ENV_VSCODE_PLUGIN_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER = undefined;\n// release.cli.minify\nexport const ENV_VSCODE_PLUGIN_RELEASE_CLI_MINIFY = undefined;\n// release.cli.includeNodeModules\nexport const ENV_VSCODE_PLUGIN_RELEASE_CLI_INCLUDE_NODE_MODULES = undefined;\n// release.cli.uglify\nexport const ENV_VSCODE_PLUGIN_RELEASE_CLI_UGLIFY = undefined;\n// release.cli.obscure\nexport const ENV_VSCODE_PLUGIN_RELEASE_CLI_OBSCURE = undefined;\n// release.cli.compress\nexport const ENV_VSCODE_PLUGIN_RELEASE_CLI_COMPRESS = undefined;\n// release.nodeBackendApp.minify\nexport const ENV_VSCODE_PLUGIN_RELEASE_NODE_BACKEND_APP_MINIFY = undefined;\n// release.lib.removeDts\nexport const ENV_VSCODE_PLUGIN_RELEASE_LIB_REMOVE_DTS = undefined;\n// release.lib.obscureFileByFile\nexport const ENV_VSCODE_PLUGIN_RELEASE_LIB_OBSCURE_FILE_BY_FILE = undefined;\n// release.lib.uglifyFileByFile\nexport const ENV_VSCODE_PLUGIN_RELEASE_LIB_UGLIFY_FILE_BY_FILE = undefined;\n// release.lib.includeSourceMaps\nexport const ENV_VSCODE_PLUGIN_RELEASE_LIB_INCLUDE_SOURCE_MAPS = undefined;\n// release.lib.compress\nexport const ENV_VSCODE_PLUGIN_RELEASE_LIB_COMPRESS = undefined;\n// release.lib.doNotIncludeLibFiles\nexport const ENV_VSCODE_PLUGIN_RELEASE_LIB_DO_NOT_INCLUDE_LIB_FILES = undefined;\n// release.resolvedNewVersion\nexport const ENV_VSCODE_PLUGIN_RELEASE_RESOLVED_NEW_VERSION = undefined;\n// release.releaseVersionBumpType\nexport const ENV_VSCODE_PLUGIN_RELEASE_RELEASE_VERSION_BUMP_TYPE = undefined;\n// release.envNumber\nexport const ENV_VSCODE_PLUGIN_RELEASE_ENV_NUMBER = undefined;\n// release.installLocally\nexport const ENV_VSCODE_PLUGIN_RELEASE_INSTALL_LOCALLY = undefined;\n// release.removeReleaseOutputAfterLocalInstall\nexport const ENV_VSCODE_PLUGIN_RELEASE_REMOVE_RELEASE_OUTPUT_AFTER_LOCAL_INSTALL = undefined;\n// release.releaseType\nexport const ENV_VSCODE_PLUGIN_RELEASE_RELEASE_TYPE = undefined;\n// release.autoReleaseUsingConfig\nexport const ENV_VSCODE_PLUGIN_RELEASE_AUTO_RELEASE_USING_CONFIG = undefined;\n// release.autoReleaseTaskName\nexport const ENV_VSCODE_PLUGIN_RELEASE_AUTO_RELEASE_TASK_NAME = undefined;\n// release.taonInstanceIp\nexport const ENV_VSCODE_PLUGIN_RELEASE_TAON_INSTANCE_IP = undefined;\n// release.skipNpmPublish\nexport const ENV_VSCODE_PLUGIN_RELEASE_SKIP_NPM_PUBLISH = undefined;\n// release.skipDeploy\nexport const ENV_VSCODE_PLUGIN_RELEASE_SKIP_DEPLOY = undefined;\n// release.skipTagGitPush\nexport const ENV_VSCODE_PLUGIN_RELEASE_SKIP_TAG_GIT_PUSH = undefined;\n// release.skipReleaseQuestion\nexport const ENV_VSCODE_PLUGIN_RELEASE_SKIP_RELEASE_QUESTION = undefined;\n// release.skipResolvingGitChanges\nexport const ENV_VSCODE_PLUGIN_RELEASE_SKIP_RESOLVING_GIT_CHANGES = undefined;\n// release.skipCodeCutting\nexport const ENV_VSCODE_PLUGIN_RELEASE_SKIP_CODE_CUTTING = undefined;\n// release.skipBuildingArtifacts\nexport const ENV_VSCODE_PLUGIN_RELEASE_SKIP_BUILDING_ARTIFACTS = undefined;\n// release.pushToAllOriginsWhenLocalReleaseBranch\nexport const ENV_VSCODE_PLUGIN_RELEASE_PUSH_TO_ALL_ORIGINS_WHEN_LOCAL_RELEASE_BRANCH = undefined;\n// release.useLocalReleaseBranch\nexport const ENV_VSCODE_PLUGIN_RELEASE_USE_LOCAL_RELEASE_BRANCH = undefined;\n// copyToManager.beforeCopyHook\nexport const ENV_VSCODE_PLUGIN_COPY_TO_MANAGER_BEFORE_COPY_HOOK = undefined;\n// copyToManager.copyToLocations\nexport const ENV_VSCODE_PLUGIN_COPY_TO_MANAGER_COPY_TO_LOCATIONS = undefined;\n// copyToManager.copyToProjects\nexport const ENV_VSCODE_PLUGIN_COPY_TO_MANAGER_COPY_TO_PROJECTS = undefined;\n// copyToManager.skip\nexport const ENV_VSCODE_PLUGIN_COPY_TO_MANAGER_SKIP = undefined;\n// purpose\nexport const ENV_VSCODE_PLUGIN_PURPOSE = undefined;\n// recursiveAction\nexport const ENV_VSCODE_PLUGIN_RECURSIVE_ACTION = undefined;\n// isCiProcess\nexport const ENV_VSCODE_PLUGIN_IS_CI_PROCESS = undefined;\n// docker.additionalContainer\nexport const ENV_VSCODE_PLUGIN_DOCKER_ADDITIONAL_CONTAINER = undefined;\n// docker.skipStartInOrder\nexport const ENV_VSCODE_PLUGIN_DOCKER_SKIP_START_IN_ORDER = undefined;\n// docker.skipUsingMysqlDb\nexport const ENV_VSCODE_PLUGIN_DOCKER_SKIP_USING_MYSQL_DB = undefined;\n// THIS FILE IS GENERATED - DO NOT MODIFY","// THIS FILE IS GENERATED - DO NOT MODIFY\n/**\n * Autogenerated by current cli tool\n */\nexport const BUILD_FRAMEWORK_CLI_NAME = 'tnp';\n/**\n * This value can be change in taon.jsonc (appId)\n */\nexport const APP_ID = 'com.domain.example.seo';\n/**\n * Autogenerated by current cli tool\n */\nexport const BUILD_BASE_HREF = '';\n/**\n * This value can be change in taon.jsonc (overrideNpmName)\n */\nexport const PROJECT_NPM_NAME = '@taon-dev/seo';\n/**\n * Taon version from you project taon.json\n */\nexport const CURRENT_PACKAGE_TAON_VERSION = 'v21';\n/**\n * Autogenerated by current cli tool. Use *tnp release* to bump version.\n */\nexport const CURRENT_PACKAGE_VERSION = '21.0.7';\n\n\n\n\n\n// THIS FILE IS GENERATED - DO NOT MODIFY\n ","import { Translation } from \"@taon-dev/i18n/browser-prod\";\nimport { Taon__NS____FILE_RELATIVE_PATH, Taon__NS__asset, Taon__NS__assetsFrom, Taon__NS__assetsListFrom, Taon__NS__createContext, Taon__NS__createContextTemplate, Taon__NS__error, Taon__NS__getResponseValue, Taon__NS__isBrowser, Taon__NS__isElectron, Taon__NS__isNode, Taon__NS__isWebSQL, Taon__NS__LANG_IMPORT_MAP, Taon__NS__removeLoader, Taon__NS__Response, Taon__NS__ResponseHtml, Taon__NS__StartParams } from \"taon/browser-prod\";\n\nconst t = Translation.for('src/lib/my-organization-proj.ts', {\"src/lib/my-organization-proj.ts\":{\"en-US\":async () => (await import('./i18n/my-organization-proj.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/my-organization-proj.ts.pl-PL.i18n.data')).default}} as any);\n\nexport function myOrgProj() {\n t.gettext('My Translated Company Name!')\n}","//#region tnp-helpers cli template\nimport { UtilsJson__NS__AttrJsoncProp, UtilsJson__NS__getAtrributiesFromJsonWithComments, UtilsJson__NS__getAttributiesFromComment, UtilsJson__NS__getValue, UtilsJson__NS__readJson, UtilsJson__NS__readJsonWithComments, UtilsJson__NS__setValue, UtilsJson__NS__validateLodashPath } from 'tnp-core/browser-prod';\nimport { BaseCommandLineFeature, Helpers__NS___fixCommand, Helpers__NS__ActionInstance, Helpers__NS__actionStarted, Helpers__NS__bigMaxBuffer, Helpers__NS__checkProcess, Helpers__NS__cleanExit, Helpers__NS__clearConsole, Helpers__NS__command, Helpers__NS__commandOutputAsString, Helpers__NS__commandOutputAsStringAsync, Helpers__NS__contain, Helpers__NS__createFolder, Helpers__NS__createSymLink, Helpers__NS__error, Helpers__NS__execute, Helpers__NS__exists, Helpers__NS__filesFrom, Helpers__NS__foldersFrom, Helpers__NS__getFilesFrom, Helpers__NS__getFoldersFrom, Helpers__NS__getIsBrowser, Helpers__NS__getIsElectron, Helpers__NS__getIsNode, Helpers__NS__getIsRunningInGitBash, Helpers__NS__getIsSupportedTaonTerminal, Helpers__NS__getIsVerboseMode, Helpers__NS__getIsVerboseModeOrTnp, Helpers__NS__getIsWebSQL, Helpers__NS__getIsWsl, Helpers__NS__getStdio, Helpers__NS__hideNodeWarnings, Helpers__NS__info, Helpers__NS__isBlob, Helpers__NS__isBuffer, Helpers__NS__isClass, Helpers__NS__isExistedSymlink, Helpers__NS__isFile, Helpers__NS__isFolder, Helpers__NS__isRunningInDocker, Helpers__NS__isRunningInLinuxGraphicsCapableEnvironment, Helpers__NS__isSymlinkFileExitedOrUnexisted, Helpers__NS__isSymlinkThatMatchesUrl, Helpers__NS__isUnexistedLink, Helpers__NS__killOnPort, Helpers__NS__killProcess, Helpers__NS__killProcessByPort, Helpers__NS__linksToFolderFrom, Helpers__NS__linksToFoldersFrom, Helpers__NS__log, Helpers__NS__logError, Helpers__NS__logInfo, Helpers__NS__logProc, Helpers__NS__logSuccess, Helpers__NS__logTaskDone, Helpers__NS__logTaskStarted, Helpers__NS__logWarn, Helpers__NS__mediaTypeFromSrc, Helpers__NS__mkdirp, Helpers__NS__modifyLineByLine, Helpers__NS__msgCacheClear, Helpers__NS__openFolderInFileExplorer, Helpers__NS__parse, Helpers__NS__pathContainLink, Helpers__NS__questionYesNo, Helpers__NS__readFile, Helpers__NS__readJson, Helpers__NS__readJson5, Helpers__NS__readJsonC, Helpers__NS__relative, Helpers__NS__remove, Helpers__NS__removeEmptyLineFromString, Helpers__NS__removeFileIfExists, Helpers__NS__removeFolderIfExists, Helpers__NS__removeIfExists, Helpers__NS__removeSlashAtBegin, Helpers__NS__removeSlashAtEnd, Helpers__NS__removeSymlinks, Helpers__NS__renderError, Helpers__NS__replaceLinesInFile, Helpers__NS__run, Helpers__NS__runAsyncIn, Helpers__NS__runSyncIn, Helpers__NS__runSyncOrAsync, Helpers__NS__sleep, Helpers__NS__stopApplication, Helpers__NS__stringify, Helpers__NS__success, Helpers__NS__taskDone, Helpers__NS__taskStarted, Helpers__NS__throwError, Helpers__NS__timeout, Helpers__NS__tryCatchError, Helpers__NS__tryReadFile, Helpers__NS__tryRemoveDir, Helpers__NS__values, Helpers__NS__wait, Helpers__NS__warn, Helpers__NS__writeFile, Helpers__NS__writeJson, Helpers__NS__writeJson5, Helpers__NS__writeJsonC } from 'tnp-helpers/browser-prod';\n/* */ \n//#endregion\n\n//#region CLI / global scope\n/**\n * This class is for handling global arguments. *\n * Cli engine will parse: hello:world:from:global:arg to helloWorldFromGlobalArg\n * (lower case, camel case) .. so you don't need to worry about misspelling\n * arguments\n */\nclass $Global extends BaseCommandLineFeature<{}> {\n /**\n * When you execute cli without arguments:`$ cli`\n */\n public _() {\n console.log(`Hello world from cli`);\n this._exit();\n }\n\n /**\n * When you execute: `$ cli hello:world:from:global:arg`\n * (or `$ cli helloWorldFromGlobalArg`)\n */\n helloWorldFromGlobalArg() {\n console.log('hello world from global argument!');\n this._exit(0);\n }\n}\n//#endregion\n\n//#region CLI / Version Scope\n/**\n *\n */\nclass $Version extends BaseCommandLineFeature<{\n anyCLIparamsHere: string;\n}> {\n /**\n * When you execute: `$ cli version`\n */\n public _() {\n console.log(`Hello world from version argument`);\n this._exit();\n }\n\n /**\n * When you execute: `$ cli version:getFromPackageJson`\n */\n public getFromPackageJson() {\n const ver = UtilsJson__NS__getValue(\n this.project.pathFor('package.json'),\n 'version',\n {\n defaultValue: '<not defined>',\n },\n );\n console.log(`Version from packageJson ${ver}`);\n this._exit(0);\n }\n}\n//#endregion\n\n/**\n *\n * @param argsv process.argsv\n * @param filename needed if you want ipc communicaiton\n */\nexport async function startCli(\n argsv: string[],\n filename: string,\n): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n}\n\nexport default startCli;","import {\n TaonAuthContextRepository,\n TaonSessionRepository,\n} from '@taon-dev/session/browser-prod';\nimport { TaonBaseProvider, TaonProvider, Models__NS__ClassType, Models__NS__ClassTypeKey, Models__NS__ConnectionOptionsLogs, Models__NS__ContextOptions, Models__NS__DatabaseConfig, Models__NS__DatabaseConfigTypeOrm, Models__NS__DatabasesFolder, Models__NS__DBRecreateMode, Models__NS__DBRecreateModeType, Models__NS__FrameworkMode, Models__NS__Http__NS__AsyncResponse, Models__NS__Http__NS__ClientAction, Models__NS__Http__NS__ContextENDPOINT, Models__NS__Http__NS__ExpressContext, Models__NS__Http__NS__FormlyFromType, Models__NS__Http__NS__MixResponse, Models__NS__Http__NS__PromiseObservableMix, Models__NS__Http__NS__RequestResults, Models__NS__Http__NS__Response, Models__NS__Http__NS__ResponseFuncOpt, Models__NS__Http__NS__SyncResponse, Models__NS__Http__NS__SyncResponseFunc, Models__NS__Http__NS__TaonResponseStream, Models__NS__KVDatabaseConfig, Models__NS__MiddlewareType, Models__NS__StartParams, Models__NS__TaonCtrlBeforeEachRequestParams, Models__NS__TaonCtxCloneParams, Models__NS__TaonInitializeParams } from 'taon/browser-prod';\n\nimport { seoError } from './taon-seo.validation';\n\n@TaonProvider({ className: 'TaonSeoProvider' })\nexport class TaonSeoProvider extends TaonBaseProvider {\n private readonly sessions = this.injectCustomRepo(TaonSessionRepository);\n private readonly authorization = this.injectCustomRepo(\n TaonAuthContextRepository,\n );\n\n async requireAdministrator({\n req,\n res,\n }: Models__NS__TaonCtrlBeforeEachRequestParams): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","import { ExpressRequest, ExpressResponse, TaonBaseStorageController, TaonController, TaonStorageObject, TaonUploadedFile, Models__NS__ClassType, Models__NS__ClassTypeKey, Models__NS__ConnectionOptionsLogs, Models__NS__ContextOptions, Models__NS__DatabaseConfig, Models__NS__DatabaseConfigTypeOrm, Models__NS__DatabasesFolder, Models__NS__DBRecreateMode, Models__NS__DBRecreateModeType, Models__NS__FrameworkMode, Models__NS__Http__NS__AsyncResponse, Models__NS__Http__NS__ClientAction, Models__NS__Http__NS__ContextENDPOINT, Models__NS__Http__NS__ExpressContext, Models__NS__Http__NS__FormlyFromType, Models__NS__Http__NS__MixResponse, Models__NS__Http__NS__PromiseObservableMix, Models__NS__Http__NS__RequestResults, Models__NS__Http__NS__Response, Models__NS__Http__NS__ResponseFuncOpt, Models__NS__Http__NS__SyncResponse, Models__NS__Http__NS__SyncResponseFunc, Models__NS__Http__NS__TaonResponseStream, Models__NS__KVDatabaseConfig, Models__NS__MiddlewareType, Models__NS__StartParams, Models__NS__TaonCtrlBeforeEachRequestParams, Models__NS__TaonCtxCloneParams, Models__NS__TaonInitializeParams } from 'taon/browser-prod';\n\nimport { TaonSeoProvider } from './taon-seo.provider';\nimport { seoError } from './taon-seo.validation';\n\nconst imageTypes = new Map([\n ['png', 'image/png'],\n ['jpg', 'image/jpeg'],\n ['jpeg', 'image/jpeg'],\n ['gif', 'image/gif'],\n ['webp', 'image/webp'],\n]);\n\n@TaonController({\n className: 'TaonSeoImageController',\n allowedMethods: ['download', 'getPublicUrl', 'uploadFormDataToServer'],\n})\nexport class TaonSeoImageController extends TaonBaseStorageController {\n private readonly seo = this.injectProvider(TaonSeoProvider);\n\n async beforeEachRequest(\n params: Models__NS__TaonCtrlBeforeEachRequestParams,\n ): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n protected async handleUploadFiles(\n files: TaonUploadedFile[],\n queryParams?: {},\n req?: ExpressRequest,\n res?: ExpressResponse,\n ): Promise<TaonStorageObject[]> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n afterFileUploadHook(): void {}\n\n buildStorageDownloadUrl(options: {\n req: ExpressRequest;\n key: string;\n private: boolean;\n token?: string;\n }): string {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async createStorageDownloadToken(): Promise<string> {\n throw new Error(\n 'SEO images are public; private download tokens are not supported.',\n );\n }\n}","import { Injectable } from '@angular/core';\nimport { map } from 'rxjs';\nimport { TaonBaseAngularService } from 'taon/browser-prod';\n\nimport { TaonSeoImageController } from './taon-seo-image.controller';\n\n@Injectable()\nexport class TaonSeoImageApiService extends TaonBaseAngularService {\n private readonly images = this.injectController(TaonSeoImageController);\n\n async upload(file: File): Promise<string> {\n const data = new FormData();\n data.append('file', file);\n const response = await this.images.uploadFormDataToServer(data).request!();\n const objects = response.body.json;\n if (objects.length !== 1 || !objects[0].key) {\n throw new Error('The upload did not return an image key.');\n }\n return objects[0].key;\n }\n\n getPublicUrl(key: string) {\n return this.images.getPublicUrl(key).request!().observable.pipe(\n map(response => {\n const url = response.responseText;\n if (!url || !/^https?:\\/\\//.test(url)) {\n throw new Error(\n 'The image endpoint did not return an absolute HTTP(S) URL.',\n );\n }\n return url;\n }),\n );\n }\n}\n","import { TaonBaseRepository, TaonRepository } from 'taon/browser-prod';\n\nimport {\n requireSeoId,\n seoError,\n validateSeoPage,\n validateSeoPath,\n} from '../taon-seo.validation';\n\nimport { TaonSeoPageEntity } from './taon-seo-page.entity';\nimport type { TaonSeoPageInput } from './taon-seo-page.models';\n\n@TaonRepository({ className: 'TaonSeoPageRepository' })\nexport class TaonSeoPageRepository extends TaonBaseRepository<TaonSeoPageEntity> {\n entityClassResolveFn = () => TaonSeoPageEntity;\n\n async findByPath(path: string): Promise<TaonSeoPageEntity | null> {\n/* */\n/* */\n return (void 0);\n }\n\n async savePage(\n input: TaonSeoPageInput,\n id?: number,\n ): Promise<TaonSeoPageEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async deletePage(id: number): Promise<TaonSeoPageEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}\n","import { Body, DELETE, GET, POST, PUT, Query, TaonBaseCrudController, TaonController, Models__NS__ClassType, Models__NS__ClassTypeKey, Models__NS__ConnectionOptionsLogs, Models__NS__ContextOptions, Models__NS__DatabaseConfig, Models__NS__DatabaseConfigTypeOrm, Models__NS__DatabasesFolder, Models__NS__DBRecreateMode, Models__NS__DBRecreateModeType, Models__NS__FrameworkMode, Models__NS__Http__NS__AsyncResponse, Models__NS__Http__NS__ClientAction, Models__NS__Http__NS__ContextENDPOINT, Models__NS__Http__NS__ExpressContext, Models__NS__Http__NS__FormlyFromType, Models__NS__Http__NS__MixResponse, Models__NS__Http__NS__PromiseObservableMix, Models__NS__Http__NS__RequestResults, Models__NS__Http__NS__Response, Models__NS__Http__NS__ResponseFuncOpt, Models__NS__Http__NS__SyncResponse, Models__NS__Http__NS__SyncResponseFunc, Models__NS__Http__NS__TaonResponseStream, Models__NS__KVDatabaseConfig, Models__NS__MiddlewareType, Models__NS__StartParams, Models__NS__TaonCtrlBeforeEachRequestParams, Models__NS__TaonCtxCloneParams, Models__NS__TaonInitializeParams, Taon__NS____FILE_RELATIVE_PATH, Taon__NS__asset, Taon__NS__assetsFrom, Taon__NS__assetsListFrom, Taon__NS__createContext, Taon__NS__createContextTemplate, Taon__NS__error, Taon__NS__getResponseValue, Taon__NS__isBrowser, Taon__NS__isElectron, Taon__NS__isNode, Taon__NS__isWebSQL, Taon__NS__LANG_IMPORT_MAP, Taon__NS__removeLoader, Taon__NS__Response, Taon__NS__ResponseHtml, Taon__NS__StartParams } from 'taon/browser-prod';\n\nimport { TaonSeoProvider } from '../taon-seo.provider';\n\nimport { TaonSeoPageEntity } from './taon-seo-page.entity';\nimport type { TaonSeoPageInput } from './taon-seo-page.models';\nimport { TaonSeoPageRepository } from './taon-seo-page.repository';\n\n@TaonController({\n className: 'TaonSeoPageController',\n allowedMethods: [\n 'getAll',\n 'getBy',\n 'paginationQuery',\n 'findByPath',\n 'createPage',\n 'updatePage',\n 'deletePage',\n ],\n})\nexport class TaonSeoPageController extends TaonBaseCrudController<TaonSeoPageEntity> {\n entityClassResolveFn = () => TaonSeoPageEntity;\n private readonly pages = this.injectCustomRepo(TaonSeoPageRepository);\n private readonly seo = this.injectProvider(TaonSeoProvider);\n\n async beforeEachRequest(\n params: Models__NS__TaonCtrlBeforeEachRequestParams,\n ): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n @GET()\n findByPath(\n @Query('path') path: string,\n ): Taon__NS__Response<TaonSeoPageEntity | null> {\n/* */\n/* */\n return (void 0);\n }\n\n @POST()\n createPage(\n @Body() input: TaonSeoPageInput,\n ): Taon__NS__Response<TaonSeoPageEntity> {\n/* */\n/* */\n return (void 0);\n }\n\n @PUT()\n updatePage(\n @Query('id') id: number,\n @Body() input: TaonSeoPageInput,\n ): Taon__NS__Response<TaonSeoPageEntity> {\n/* */\n/* */\n return (void 0);\n }\n\n @DELETE()\n deletePage(@Query('id') id: number): Taon__NS__Response<TaonSeoPageEntity> {\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport { TaonBaseClass, TaonBaseProvider, TaonProvider, Taon__NS____FILE_RELATIVE_PATH, Taon__NS__asset, Taon__NS__assetsFrom, Taon__NS__assetsListFrom, Taon__NS__createContext, Taon__NS__createContextTemplate, Taon__NS__error, Taon__NS__getResponseValue, Taon__NS__isBrowser, Taon__NS__isElectron, Taon__NS__isNode, Taon__NS__isWebSQL, Taon__NS__LANG_IMPORT_MAP, Taon__NS__removeLoader, Taon__NS__Response, Taon__NS__ResponseHtml, Taon__NS__StartParams } from 'taon/browser-prod';\nimport { ___NS__add, ___NS__after, ___NS__ary, ___NS__assign, ___NS__assignIn, ___NS__assignInWith, ___NS__assignWith, ___NS__at, ___NS__attempt, ___NS__before, ___NS__bind, ___NS__bindAll, ___NS__bindKey, ___NS__camelCase, ___NS__capitalize, ___NS__castArray, ___NS__ceil, ___NS__chain, ___NS__chunk, ___NS__clamp, ___NS__clone, ___NS__cloneDeep, ___NS__cloneDeepWith, ___NS__cloneWith, ___NS__compact, ___NS__concat, ___NS__cond, ___NS__conforms, ___NS__conformsTo, ___NS__constant, ___NS__countBy, ___NS__create, ___NS__curry, ___NS__curryRight, ___NS__debounce, ___NS__deburr, ___NS__defaults, ___NS__defaultsDeep, ___NS__defaultTo, ___NS__defer, ___NS__delay, ___NS__difference, ___NS__differenceBy, ___NS__differenceWith, ___NS__divide, ___NS__drop, ___NS__dropRight, ___NS__dropRightWhile, ___NS__dropWhile, ___NS__each, ___NS__eachRight, ___NS__endsWith, ___NS__entries, ___NS__entriesIn, ___NS__eq, ___NS__escape, ___NS__escapeRegExp, ___NS__every, ___NS__extend, ___NS__extendWith, ___NS__fill, ___NS__filter, ___NS__find, ___NS__findIndex, ___NS__findKey, ___NS__findLast, ___NS__findLastIndex, ___NS__findLastKey, ___NS__first, ___NS__flatMap, ___NS__flatMapDeep, ___NS__flatMapDepth, ___NS__flatten, ___NS__flattenDeep, ___NS__flattenDepth, ___NS__flip, ___NS__floor, ___NS__flow, ___NS__flowRight, ___NS__forEach, ___NS__forEachRight, ___NS__forIn, ___NS__forInRight, ___NS__forOwn, ___NS__forOwnRight, ___NS__fromPairs, ___NS__functions, ___NS__functionsIn, ___NS__get, ___NS__groupBy, ___NS__gt, ___NS__gte, ___NS__has, ___NS__hasIn, ___NS__head, ___NS__identity, ___NS__includes, ___NS__indexOf, ___NS__initial, ___NS__inRange, ___NS__intersection, ___NS__intersectionBy, ___NS__intersectionWith, ___NS__invert, ___NS__invertBy, ___NS__invoke, ___NS__invokeMap, ___NS__isArguments, ___NS__isArray, ___NS__isArrayBuffer, ___NS__isArrayLike, ___NS__isArrayLikeObject, ___NS__isBoolean, ___NS__isBuffer, ___NS__isDate, ___NS__isElement, ___NS__isEmpty, ___NS__isEqual, ___NS__isEqualWith, ___NS__isError, ___NS__isFinite, ___NS__isFunction, ___NS__isInteger, ___NS__isLeafObject, ___NS__isLength, ___NS__isMap, ___NS__isMatch, ___NS__isMatchWith, ___NS__isNaN, ___NS__isNative, ___NS__isNil, ___NS__isNull, ___NS__isNumber, ___NS__isObject, ___NS__isObjectLike, ___NS__isPlainObject, ___NS__isRegExp, ___NS__isSafeInteger, ___NS__isSet, ___NS__isString, ___NS__isSymbol, ___NS__isTypedArray, ___NS__isUndefined, ___NS__isWeakMap, ___NS__isWeakSet, ___NS__iteratee, ___NS__join, ___NS__kebabCase, ___NS__keyBy, ___NS__keys, ___NS__keysIn, ___NS__last, ___NS__lastIndexOf, ___NS__lowerCase, ___NS__lowerFirst, ___NS__lt, ___NS__lte, ___NS__map, ___NS__mapKeys, ___NS__mapValues, ___NS__matches, ___NS__matchesProperty, ___NS__max, ___NS__maxBy, ___NS__mean, ___NS__meanBy, ___NS__memoize, ___NS__merge, ___NS__mergeWith, ___NS__method, ___NS__methodOf, ___NS__min, ___NS__minBy, ___NS__mixin, ___NS__multiply, ___NS__negate, ___NS__noop, ___NS__now, ___NS__nth, ___NS__nthArg, ___NS__omit, ___NS__omitBy, ___NS__once, ___NS__orderBy, ___NS__over, ___NS__overArgs, ___NS__overEvery, ___NS__overSome, ___NS__pad, ___NS__padEnd, ___NS__padStart, ___NS__parseInt, ___NS__partial, ___NS__partialRight, ___NS__partition, ___NS__pick, ___NS__pickBy, ___NS__property, ___NS__propertyOf, ___NS__pull, ___NS__pullAll, ___NS__pullAllBy, ___NS__pullAllWith, ___NS__pullAt, ___NS__random, ___NS__range, ___NS__rangeRight, ___NS__rearg, ___NS__reduce, ___NS__reduceRight, ___NS__reject, ___NS__remove, ___NS__repeat, ___NS__replace, ___NS__rest, ___NS__result, ___NS__reverse, ___NS__round, ___NS__sample, ___NS__sampleSize, ___NS__set, ___NS__setWith, ___NS__shuffle, ___NS__size, ___NS__slice, ___NS__snakeCase, ___NS__some, ___NS__sortBy, ___NS__sortedIndex, ___NS__sortedIndexBy, ___NS__sortedIndexOf, ___NS__sortedLastIndex, ___NS__sortedLastIndexBy, ___NS__sortedLastIndexOf, ___NS__sortedUniq, ___NS__sortedUniqBy, ___NS__split, ___NS__spread, ___NS__startCase, ___NS__startsWith, ___NS__stubArray, ___NS__stubFalse, ___NS__stubObject, ___NS__stubString, ___NS__stubTrue, ___NS__subtract, ___NS__sum, ___NS__sumBy, ___NS__tail, ___NS__take, ___NS__takeRight, ___NS__takeRightWhile, ___NS__takeWhile, ___NS__tap, ___NS__template, ___NS__templateSettings, ___NS__throttle, ___NS__thru, ___NS__times, ___NS__toArray, ___NS__toFinite, ___NS__toInteger, ___NS__toLength, ___NS__toLower, ___NS__toNumber, ___NS__toPairs, ___NS__toPairsIn, ___NS__toPath, ___NS__toPlainObject, ___NS__toSafeInteger, ___NS__toString, ___NS__toUpper, ___NS__transform, ___NS__trim, ___NS__trimEnd, ___NS__trimStart, ___NS__truncate, ___NS__unary, ___NS__unescape, ___NS__union, ___NS__unionBy, ___NS__unionWith, ___NS__uniq, ___NS__uniqBy, ___NS__uniqueId, ___NS__uniqWith, ___NS__unset, ___NS__unzip, ___NS__unzipWith, ___NS__update, ___NS__updateWith, ___NS__upperCase, ___NS__upperFirst, ___NS__values, ___NS__valuesIn, ___NS__without, ___NS__words, ___NS__wrap, ___NS__xor, ___NS__xorBy, ___NS__xorWith, ___NS__zip, ___NS__zipObject, ___NS__zipObjectDeep, ___NS__zipWith } from 'tnp-core/browser-prod';\n//#endregion\n\nexport class TaonTaonSeoPageConfig extends TaonBaseClass {\n declare name: string;\n}\n\n@TaonProvider({\n className: 'TaonSeoPageProvider',\n})\nexport class TaonSeoPageProvider extends TaonBaseProvider {\n enabledTaonSeoPageOption: boolean = true;\n config = new TaonTaonSeoPageConfig();\n clone() {\n return {\n enabledTaonSeoPageOption: this.enabledTaonSeoPageOption,\n config: this.config.clone(),\n };\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser-prod';\n\nimport { TaonSeoPageEntity } from './taon-seo-page.entity';\nimport { TaonSeoPageController } from './taon-seo-page.controller';\nimport { TaonSeoPageRepository } from './taon-seo-page.repository';\n// import { TaonSeoPageKvRepository } from './taon-seo-page.kv.repository';\nimport { TaonSeoPageProvider } from './taon-seo-page.provider';\n// import { TaonSeoPageMiddleware } from './taon-seo-page.middleware';\n// import { TaonSeoPageSubscriber } from './taon-seo-page.subscriber';\n//#endregion\n\nexport const TaonSeoPageAbstractContext = createContext(() => ({\n contextName: 'TaonSeoPageAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonSeoPageEntity },\n controllers: { TaonSeoPageController },\n repositories: {\n // TaonSeoPageKvRepository\n TaonSeoPageRepository,\n },\n providers: { TaonSeoPageProvider },\n // middlewares: { TaonSeoPageMiddleware },\n // subscribers: { TaonSeoPageSubscriber },\n}));","import { TaonBaseRepository, TaonRepository } from 'taon/browser-prod';\n\nimport { validateSeoSettings } from '../taon-seo.validation';\n\nimport { TaonSeoSettingsDefaultsValues } from './taon-seo-settings.constants';\nimport { TaonSeoSettingsEntity } from './taon-seo-settings.entity';\nimport type { TaonSeoSettingsInput } from './taon-seo-settings.models';\n\n@TaonRepository({ className: 'TaonSeoSettingsRepository' })\nexport class TaonSeoSettingsRepository extends TaonBaseRepository<TaonSeoSettingsEntity> {\n entityClassResolveFn = () => TaonSeoSettingsEntity;\n\n async getGlobal(): Promise<TaonSeoSettingsEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async saveGlobal(\n input: TaonSeoSettingsInput,\n ): Promise<TaonSeoSettingsEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}\n","import { Body, GET, PUT, TaonBaseCrudController, TaonController, Models__NS__ClassType, Models__NS__ClassTypeKey, Models__NS__ConnectionOptionsLogs, Models__NS__ContextOptions, Models__NS__DatabaseConfig, Models__NS__DatabaseConfigTypeOrm, Models__NS__DatabasesFolder, Models__NS__DBRecreateMode, Models__NS__DBRecreateModeType, Models__NS__FrameworkMode, Models__NS__Http__NS__AsyncResponse, Models__NS__Http__NS__ClientAction, Models__NS__Http__NS__ContextENDPOINT, Models__NS__Http__NS__ExpressContext, Models__NS__Http__NS__FormlyFromType, Models__NS__Http__NS__MixResponse, Models__NS__Http__NS__PromiseObservableMix, Models__NS__Http__NS__RequestResults, Models__NS__Http__NS__Response, Models__NS__Http__NS__ResponseFuncOpt, Models__NS__Http__NS__SyncResponse, Models__NS__Http__NS__SyncResponseFunc, Models__NS__Http__NS__TaonResponseStream, Models__NS__KVDatabaseConfig, Models__NS__MiddlewareType, Models__NS__StartParams, Models__NS__TaonCtrlBeforeEachRequestParams, Models__NS__TaonCtxCloneParams, Models__NS__TaonInitializeParams, Taon__NS____FILE_RELATIVE_PATH, Taon__NS__asset, Taon__NS__assetsFrom, Taon__NS__assetsListFrom, Taon__NS__createContext, Taon__NS__createContextTemplate, Taon__NS__error, Taon__NS__getResponseValue, Taon__NS__isBrowser, Taon__NS__isElectron, Taon__NS__isNode, Taon__NS__isWebSQL, Taon__NS__LANG_IMPORT_MAP, Taon__NS__removeLoader, Taon__NS__Response, Taon__NS__ResponseHtml, Taon__NS__StartParams } from 'taon/browser-prod';\n\nimport { TaonSeoProvider } from '../taon-seo.provider';\n\nimport { TaonSeoSettingsEntity } from './taon-seo-settings.entity';\nimport type { TaonSeoSettingsInput } from './taon-seo-settings.models';\nimport { TaonSeoSettingsRepository } from './taon-seo-settings.repository';\n\n@TaonController({\n className: 'TaonSeoSettingsController',\n allowedMethods: ['getGlobal', 'saveGlobal'],\n})\nexport class TaonSeoSettingsController extends TaonBaseCrudController<TaonSeoSettingsEntity> {\n entityClassResolveFn = () => TaonSeoSettingsEntity;\n private readonly settings = this.injectCustomRepo(TaonSeoSettingsRepository);\n private readonly seo = this.injectProvider(TaonSeoProvider);\n\n async beforeEachRequest(\n params: Models__NS__TaonCtrlBeforeEachRequestParams,\n ): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n @GET()\n getGlobal(): Taon__NS__Response<TaonSeoSettingsEntity> {\n/* */\n/* */\n return (void 0);\n }\n\n @PUT()\n saveGlobal(\n @Body() input: TaonSeoSettingsInput,\n ): Taon__NS__Response<TaonSeoSettingsEntity> {\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport { TaonBaseClass, TaonBaseProvider, TaonProvider, Taon__NS____FILE_RELATIVE_PATH, Taon__NS__asset, Taon__NS__assetsFrom, Taon__NS__assetsListFrom, Taon__NS__createContext, Taon__NS__createContextTemplate, Taon__NS__error, Taon__NS__getResponseValue, Taon__NS__isBrowser, Taon__NS__isElectron, Taon__NS__isNode, Taon__NS__isWebSQL, Taon__NS__LANG_IMPORT_MAP, Taon__NS__removeLoader, Taon__NS__Response, Taon__NS__ResponseHtml, Taon__NS__StartParams } from 'taon/browser-prod';\nimport { ___NS__add, ___NS__after, ___NS__ary, ___NS__assign, ___NS__assignIn, ___NS__assignInWith, ___NS__assignWith, ___NS__at, ___NS__attempt, ___NS__before, ___NS__bind, ___NS__bindAll, ___NS__bindKey, ___NS__camelCase, ___NS__capitalize, ___NS__castArray, ___NS__ceil, ___NS__chain, ___NS__chunk, ___NS__clamp, ___NS__clone, ___NS__cloneDeep, ___NS__cloneDeepWith, ___NS__cloneWith, ___NS__compact, ___NS__concat, ___NS__cond, ___NS__conforms, ___NS__conformsTo, ___NS__constant, ___NS__countBy, ___NS__create, ___NS__curry, ___NS__curryRight, ___NS__debounce, ___NS__deburr, ___NS__defaults, ___NS__defaultsDeep, ___NS__defaultTo, ___NS__defer, ___NS__delay, ___NS__difference, ___NS__differenceBy, ___NS__differenceWith, ___NS__divide, ___NS__drop, ___NS__dropRight, ___NS__dropRightWhile, ___NS__dropWhile, ___NS__each, ___NS__eachRight, ___NS__endsWith, ___NS__entries, ___NS__entriesIn, ___NS__eq, ___NS__escape, ___NS__escapeRegExp, ___NS__every, ___NS__extend, ___NS__extendWith, ___NS__fill, ___NS__filter, ___NS__find, ___NS__findIndex, ___NS__findKey, ___NS__findLast, ___NS__findLastIndex, ___NS__findLastKey, ___NS__first, ___NS__flatMap, ___NS__flatMapDeep, ___NS__flatMapDepth, ___NS__flatten, ___NS__flattenDeep, ___NS__flattenDepth, ___NS__flip, ___NS__floor, ___NS__flow, ___NS__flowRight, ___NS__forEach, ___NS__forEachRight, ___NS__forIn, ___NS__forInRight, ___NS__forOwn, ___NS__forOwnRight, ___NS__fromPairs, ___NS__functions, ___NS__functionsIn, ___NS__get, ___NS__groupBy, ___NS__gt, ___NS__gte, ___NS__has, ___NS__hasIn, ___NS__head, ___NS__identity, ___NS__includes, ___NS__indexOf, ___NS__initial, ___NS__inRange, ___NS__intersection, ___NS__intersectionBy, ___NS__intersectionWith, ___NS__invert, ___NS__invertBy, ___NS__invoke, ___NS__invokeMap, ___NS__isArguments, ___NS__isArray, ___NS__isArrayBuffer, ___NS__isArrayLike, ___NS__isArrayLikeObject, ___NS__isBoolean, ___NS__isBuffer, ___NS__isDate, ___NS__isElement, ___NS__isEmpty, ___NS__isEqual, ___NS__isEqualWith, ___NS__isError, ___NS__isFinite, ___NS__isFunction, ___NS__isInteger, ___NS__isLeafObject, ___NS__isLength, ___NS__isMap, ___NS__isMatch, ___NS__isMatchWith, ___NS__isNaN, ___NS__isNative, ___NS__isNil, ___NS__isNull, ___NS__isNumber, ___NS__isObject, ___NS__isObjectLike, ___NS__isPlainObject, ___NS__isRegExp, ___NS__isSafeInteger, ___NS__isSet, ___NS__isString, ___NS__isSymbol, ___NS__isTypedArray, ___NS__isUndefined, ___NS__isWeakMap, ___NS__isWeakSet, ___NS__iteratee, ___NS__join, ___NS__kebabCase, ___NS__keyBy, ___NS__keys, ___NS__keysIn, ___NS__last, ___NS__lastIndexOf, ___NS__lowerCase, ___NS__lowerFirst, ___NS__lt, ___NS__lte, ___NS__map, ___NS__mapKeys, ___NS__mapValues, ___NS__matches, ___NS__matchesProperty, ___NS__max, ___NS__maxBy, ___NS__mean, ___NS__meanBy, ___NS__memoize, ___NS__merge, ___NS__mergeWith, ___NS__method, ___NS__methodOf, ___NS__min, ___NS__minBy, ___NS__mixin, ___NS__multiply, ___NS__negate, ___NS__noop, ___NS__now, ___NS__nth, ___NS__nthArg, ___NS__omit, ___NS__omitBy, ___NS__once, ___NS__orderBy, ___NS__over, ___NS__overArgs, ___NS__overEvery, ___NS__overSome, ___NS__pad, ___NS__padEnd, ___NS__padStart, ___NS__parseInt, ___NS__partial, ___NS__partialRight, ___NS__partition, ___NS__pick, ___NS__pickBy, ___NS__property, ___NS__propertyOf, ___NS__pull, ___NS__pullAll, ___NS__pullAllBy, ___NS__pullAllWith, ___NS__pullAt, ___NS__random, ___NS__range, ___NS__rangeRight, ___NS__rearg, ___NS__reduce, ___NS__reduceRight, ___NS__reject, ___NS__remove, ___NS__repeat, ___NS__replace, ___NS__rest, ___NS__result, ___NS__reverse, ___NS__round, ___NS__sample, ___NS__sampleSize, ___NS__set, ___NS__setWith, ___NS__shuffle, ___NS__size, ___NS__slice, ___NS__snakeCase, ___NS__some, ___NS__sortBy, ___NS__sortedIndex, ___NS__sortedIndexBy, ___NS__sortedIndexOf, ___NS__sortedLastIndex, ___NS__sortedLastIndexBy, ___NS__sortedLastIndexOf, ___NS__sortedUniq, ___NS__sortedUniqBy, ___NS__split, ___NS__spread, ___NS__startCase, ___NS__startsWith, ___NS__stubArray, ___NS__stubFalse, ___NS__stubObject, ___NS__stubString, ___NS__stubTrue, ___NS__subtract, ___NS__sum, ___NS__sumBy, ___NS__tail, ___NS__take, ___NS__takeRight, ___NS__takeRightWhile, ___NS__takeWhile, ___NS__tap, ___NS__template, ___NS__templateSettings, ___NS__throttle, ___NS__thru, ___NS__times, ___NS__toArray, ___NS__toFinite, ___NS__toInteger, ___NS__toLength, ___NS__toLower, ___NS__toNumber, ___NS__toPairs, ___NS__toPairsIn, ___NS__toPath, ___NS__toPlainObject, ___NS__toSafeInteger, ___NS__toString, ___NS__toUpper, ___NS__transform, ___NS__trim, ___NS__trimEnd, ___NS__trimStart, ___NS__truncate, ___NS__unary, ___NS__unescape, ___NS__union, ___NS__unionBy, ___NS__unionWith, ___NS__uniq, ___NS__uniqBy, ___NS__uniqueId, ___NS__uniqWith, ___NS__unset, ___NS__unzip, ___NS__unzipWith, ___NS__update, ___NS__updateWith, ___NS__upperCase, ___NS__upperFirst, ___NS__values, ___NS__valuesIn, ___NS__without, ___NS__words, ___NS__wrap, ___NS__xor, ___NS__xorBy, ___NS__xorWith, ___NS__zip, ___NS__zipObject, ___NS__zipObjectDeep, ___NS__zipWith } from 'tnp-core/browser-prod';\n//#endregion\n\nexport class TaonTaonSeoSettingsConfig extends TaonBaseClass {\n declare name: string;\n}\n\n@TaonProvider({\n className: 'TaonSeoSettingsProvider',\n})\nexport class TaonSeoSettingsProvider extends TaonBaseProvider {\n enabledTaonSeoSettingsOption: boolean = true;\n config = new TaonTaonSeoSettingsConfig();\n clone() {\n return {\n enabledTaonSeoSettingsOption: this.enabledTaonSeoSettingsOption,\n config: this.config.clone(),\n };\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser-prod';\n\nimport { TaonSeoSettingsEntity } from './taon-seo-settings.entity';\nimport { TaonSeoSettingsController } from './taon-seo-settings.controller';\nimport { TaonSeoSettingsRepository } from './taon-seo-settings.repository';\n// import { TaonSeoSettingsKvRepository } from './taon-seo-settings.kv.repository';\nimport { TaonSeoSettingsProvider } from './taon-seo-settings.provider';\n// import { TaonSeoSettingsMiddleware } from './taon-seo-settings.middleware';\n// import { TaonSeoSettingsSubscriber } from './taon-seo-settings.subscriber';\n//#endregion\n\nexport const TaonSeoSettingsAbstractContext = createContext(() => ({\n contextName: 'TaonSeoSettingsAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonSeoSettingsEntity },\n controllers: { TaonSeoSettingsController },\n repositories: {\n // TaonSeoSettingsKvRepository\n TaonSeoSettingsRepository,\n },\n providers: { TaonSeoSettingsProvider },\n // middlewares: { TaonSeoSettingsMiddleware },\n // subscribers: { TaonSeoSettingsSubscriber },\n}));","import { TaonSessionAbstractContext } from '@taon-dev/session/browser-prod';\nimport { createContext, TaonBaseContext } from 'taon/browser-prod';\n\nimport { TaonSeoPageAbstractContext } from './taon-seo-page/taon-seo-page.abstract.context';\nimport { TaonSeoSettingsAbstractContext } from './taon-seo-settings/taon-seo-settings.abstract.context';\nimport { TaonSeoImageController } from './taon-seo-image.controller';\nimport { TaonSeoProvider } from './taon-seo.provider';\n\nexport const TaonSeoAbstractContext = createContext(() => ({\n contextName: 'TaonSeoAbstractContext',\n abstract: true,\n contexts: {\n TaonSessionAbstractContext,\n\n // local\n TaonSeoPageAbstractContext,\n TaonSeoSettingsAbstractContext,\n },\n controllers: { TaonSeoImageController },\n providers: { TaonSeoProvider },\n}));\n","import { Injectable } from '@angular/core';\nimport { map } from 'rxjs';\nimport { TaonBaseAngularService } from 'taon/browser-prod';\n\nimport { TaonSeoPageController } from './taon-seo-page.controller';\nimport type { TaonSeoPageInput } from './taon-seo-page.models';\n\n@Injectable()\nexport class TaonSeoPageApiService extends TaonBaseAngularService {\n readonly taonSeoPageController = this.injectController(TaonSeoPageController);\n\n findByPath(path: string) {\n return this.taonSeoPageController.findByPath(path)\n .request!().observable.pipe(map(res => res.body.json));\n }\n\n createPage(input: TaonSeoPageInput) {\n return this.taonSeoPageController.createPage(input)\n .request!().observable.pipe(map(res => res.body.json));\n }\n\n updatePage(id: number, input: TaonSeoPageInput) {\n return this.taonSeoPageController.updatePage(id, input)\n .request!().observable.pipe(map(res => res.body.json));\n }\n\n deletePage(id: number) {\n return this.taonSeoPageController.deletePage(id).request!().observable.pipe(\n map(res => res.body.json),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { map } from 'rxjs';\nimport { TaonBaseAngularService } from 'taon/browser-prod';\n\nimport { TaonSeoSettingsController } from './taon-seo-settings.controller';\nimport type { TaonSeoSettingsInput } from './taon-seo-settings.models';\n\n@Injectable()\nexport class TaonSeoSettingsApiService extends TaonBaseAngularService {\n readonly taonSeoSettingsController = this.injectController(\n TaonSeoSettingsController,\n );\n\n getGlobal() {\n return this.taonSeoSettingsController.getGlobal()\n .request!().observable.pipe(map(res => res.body.json));\n }\n\n saveGlobal(input: TaonSeoSettingsInput) {\n return this.taonSeoSettingsController.saveGlobal(input)\n .request!().observable.pipe(map(res => res.body.json));\n }\n}\n","import type { TaonSeoPageInput } from './taon-seo-page/taon-seo-page.models';\nimport type { TaonSeoSettingsInput } from './taon-seo-settings/taon-seo-settings.models';\n\nexport function normalizeSeoPath(path: string): string {\n const pathname = path.split(/[?#]/, 1)[0];\n return pathname.replace(/\\/+$/, '') || '/';\n}\n\nexport function seoText(value: string | null | undefined): string | null {\n return value?.trim() || null;\n}\n\nexport function resolveSeoMetadata(\n settings: TaonSeoSettingsInput,\n path: string,\n page: TaonSeoPageInput | null,\n) {\n const title = seoText(page?.title) ?? settings.defaultTitle;\n const description = seoText(page?.description) ?? settings.defaultDescription;\n const base = seoText(settings.canonicalBaseUrl);\n return {\n title,\n description,\n keywords: seoText(page?.keywords) ?? seoText(settings.defaultKeywords),\n canonicalUrl:\n seoText(page?.canonicalUrl) ??\n (base ? `${base.replace(/\\/+$/, '')}${normalizeSeoPath(path)}` : null),\n robots: [\n !settings.robotsIndex || page?.noIndex ? 'noindex' : 'index',\n !settings.robotsFollow || page?.noFollow ? 'nofollow' : 'follow',\n ].join(', '),\n ogTitle: seoText(page?.ogTitle) ?? title,\n ogDescription: seoText(page?.ogDescription) ?? description,\n ogImageKey: seoText(page?.ogImageKey) ?? seoText(settings.defaultImageKey),\n siteName: settings.siteName,\n };\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n APP_BOOTSTRAP_LISTENER,\n DestroyRef,\n Injectable,\n Provider,\n inject,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Meta, Title } from '@angular/platform-browser';\nimport { NavigationEnd, PRIMARY_OUTLET, Router } from '@angular/router';\nimport {\n EMPTY,\n catchError,\n distinctUntilChanged,\n filter,\n forkJoin,\n map,\n of,\n startWith,\n switchMap,\n} from 'rxjs';\n\nimport { TaonSeoImageApiService } from './taon-seo-image.api.service';\nimport { TaonSeoPageApiService } from './taon-seo-page/taon-seo-page.api.service';\nimport { TaonSeoSettingsApiService } from './taon-seo-settings/taon-seo-settings.api.service';\nimport { normalizeSeoPath, resolveSeoMetadata } from './taon-seo.utils';\n\n@Injectable()\nexport class TaonSeoService {\n readonly error = signal('');\n private readonly router = inject(Router);\n private readonly settings = inject(TaonSeoSettingsApiService);\n private readonly pages = inject(TaonSeoPageApiService);\n private readonly images = inject(TaonSeoImageApiService);\n private readonly meta = inject(Meta);\n private readonly title = inject(Title);\n private readonly document = inject(DOCUMENT);\n private readonly destroyRef = inject(DestroyRef);\n private readonly originalTitle = this.title.getTitle();\n private started = false;\n\n start(): void {\n if (this.started) {\n return;\n }\n this.started = true;\n this.router.events\n .pipe(\n filter(event => event instanceof NavigationEnd),\n startWith(null),\n map(() => this.currentPath()),\n distinctUntilChanged(),\n switchMap(path => {\n this.error.set('');\n this.clear();\n return forkJoin({\n settings: this.settings.getGlobal(),\n page: this.pages.findByPath(path),\n }).pipe(\n map(({ settings, page }) =>\n resolveSeoMetadata(settings, path, page),\n ),\n switchMap(metadata => {\n // Clear the previous route's image while resolving a public storage URL.\n this.apply(metadata, null);\n return metadata.ogImageKey\n ? this.images.getPublicUrl(metadata.ogImageKey).pipe(\n map(imageUrl => ({ metadata, imageUrl })),\n catchError((error: unknown) => {\n console.error(\n '[taon-seo] Unable to resolve social image',\n error,\n );\n this.error.set(\n 'The social image could not be loaded for the current page.',\n );\n return of({ metadata, imageUrl: null });\n }),\n )\n : of({ metadata, imageUrl: null });\n }),\n catchError((error: unknown) => {\n console.error(\n '[taon-seo] Unable to update route metadata',\n error,\n );\n this.error.set(\n 'SEO metadata could not be loaded for the current page.',\n );\n this.clear();\n return EMPTY;\n }),\n );\n }),\n takeUntilDestroyed(this.destroyRef),\n )\n .subscribe(({ metadata, imageUrl }) => this.apply(metadata, imageUrl));\n }\n\n private currentPath(): string {\n const segments: string[] = [];\n let route = this.router.routerState.snapshot.root;\n while (route) {\n segments.push(...route.url.map(segment => segment.path));\n const child = route.children.find(\n candidate => candidate.outlet === PRIMARY_OUTLET,\n );\n if (!child) {\n break;\n }\n route = child;\n }\n return normalizeSeoPath(`/${segments.join('/')}`);\n }\n\n private apply(\n metadata: ReturnType<typeof resolveSeoMetadata>,\n imageUrl: string | null,\n ): void {\n this.title.setTitle(metadata.title);\n this.setMeta('name', 'description', metadata.description);\n this.setMeta('name', 'keywords', metadata.keywords);\n this.setMeta('name', 'robots', metadata.robots);\n this.setMeta('property', 'og:title', metadata.ogTitle);\n this.setMeta('property', 'og:description', metadata.ogDescription);\n this.setMeta('property', 'og:image', imageUrl);\n this.setMeta('property', 'og:site_name', metadata.siteName);\n this.setMeta('property', 'og:url', metadata.canonicalUrl);\n this.setCanonical(metadata.canonicalUrl);\n }\n\n private setMeta(\n attribute: 'name' | 'property',\n key: string,\n content: string | null,\n ): void {\n const selector = `${attribute}=\"${key}\"`;\n // Remove duplicates and stale values, including tags left by the previous route.\n this.meta.getTags(selector).forEach(tag => this.meta.removeTagElement(tag));\n if (content) {\n this.meta.addTag({ [attribute]: key, content });\n }\n }\n\n private setCanonical(url: string | null): void {\n this.document.head\n .querySelectorAll('link[rel=\"canonical\"]')\n .forEach(link => link.remove());\n if (url) {\n const link = this.document.createElement('link');\n link.rel = 'canonical';\n link.href = url;\n this.document.head.appendChild(link);\n }\n }\n\n private clear(): void {\n this.title.setTitle(this.originalTitle);\n for (const name of ['description', 'keywords', 'robots']) {\n this.setMeta('name', name, null);\n }\n for (const property of [\n 'og:title',\n 'og:description',\n 'og:image',\n 'og:site_name',\n 'og:url',\n ]) {\n this.setMeta('property', property, null);\n }\n this.setCanonical(null);\n }\n}\n\nexport function provideTaonSeo(): Provider[] {\n return [\n TaonSeoService,\n TaonSeoPageApiService,\n TaonSeoSettingsApiService,\n TaonSeoImageApiService,\n {\n provide: APP_BOOTSTRAP_LISTENER,\n multi: true,\n deps: [TaonSeoService],\n useFactory: (seo: TaonSeoService) => () => seo.start(),\n },\n ];\n}\n","import { Taon__NS____FILE_RELATIVE_PATH, Taon__NS__asset, Taon__NS__assetsFrom, Taon__NS__assetsListFrom, Taon__NS__createContext, Taon__NS__createContextTemplate, Taon__NS__error, Taon__NS__getResponseValue, Taon__NS__isBrowser, Taon__NS__isElectron, Taon__NS__isNode, Taon__NS__isWebSQL, Taon__NS__LANG_IMPORT_MAP, Taon__NS__removeLoader, Taon__NS__Response, Taon__NS__ResponseHtml, Taon__NS__StartParams } from 'taon/browser-prod';\n\nimport type { TaonSeoPageInput } from './taon-seo-page/taon-seo-page.models';\nimport type { TaonSeoSettingsInput } from './taon-seo-settings/taon-seo-settings.models';\nimport { normalizeSeoPath, seoText } from './taon-seo.utils';\n\nexport function seoError(message: string, status = 400): never {\n Taon__NS__error({ message, status });\n throw new Error(message);\n}\n\nexport function requireSeoId(id: number): void {\n if (!Number.isSafeInteger(id) || id <= 0) {\n seoError('The page ID must be a positive integer.');\n }\n}\n\nfunction requireObject(input: unknown): void {\n if (!input || typeof input !== 'object' || Array.isArray(input)) {\n seoError('SEO settings must be an object.');\n }\n}\n\nfunction requireText(value: unknown, field: string, nullable = false): void {\n if (nullable && value === null) {\n return;\n }\n if (typeof value !== 'string') {\n seoError(`${field} must be ${nullable ? 'a string or null' : 'a string'}.`);\n }\n}\n\nfunction requireBoolean(value: unknown, field: string): void {\n if (typeof value !== 'boolean') {\n seoError(`${field} must be a boolean.`);\n }\n}\n\nfunction validateUrl(value: string | null, field: string): string | null {\n const text = seoText(value);\n if (!text) {\n return null;\n }\n let url: URL;\n try {\n url = new URL(text);\n } catch {\n seoError(`${field} must be an absolute HTTP(S) URL.`);\n }\n if (\n !['http:', 'https:'].includes(url.protocol) ||\n url.username ||\n url.password ||\n url.search ||\n url.hash\n ) {\n seoError(\n `${field} must be an HTTP(S) URL without credentials, query or fragment.`,\n );\n }\n return url.href;\n}\n\nexport function validateSeoPath(path: string): string {\n requireText(path, 'path');\n const text = path.trim();\n if (\n !text.startsWith('/') ||\n text.startsWith('//') ||\n /[;?#\\\\\\s()]/.test(text) ||\n /\\/{2,}/.test(text) ||\n text.split('/').some(segment => segment === '.' || segment === '..')\n ) {\n seoError(\n 'path must be an application path such as /pricing, without query, fragment or auxiliary outlets.',\n );\n }\n return normalizeSeoPath(text);\n}\n\nexport function validateSeoSettings(\n input: TaonSeoSettingsInput,\n): TaonSeoSettingsInput {\n requireObject(input);\n for (const field of [\n 'siteName',\n 'defaultTitle',\n 'defaultDescription',\n ] as const) {\n requireText(input[field], field);\n }\n for (const field of [\n 'defaultKeywords',\n 'defaultImageKey',\n 'canonicalBaseUrl',\n ] as const) {\n requireText(input[field], field, true);\n }\n requireBoolean(input.robotsIndex, 'robotsIndex');\n requireBoolean(input.robotsFollow, 'robotsFollow');\n return {\n siteName: input.siteName.trim(),\n defaultTitle: input.defaultTitle.trim(),\n defaultDescription: input.defaultDescription.trim(),\n defaultKeywords: seoText(input.defaultKeywords),\n defaultImageKey: seoText(input.defaultImageKey),\n canonicalBaseUrl: validateUrl(input.canonicalBaseUrl, 'canonicalBaseUrl'),\n robotsIndex: input.robotsIndex,\n robotsFollow: input.robotsFollow,\n };\n}\n\nexport function validateSeoPage(input: TaonSeoPageInput): TaonSeoPageInput {\n requireObject(input);\n for (const field of [\n 'title',\n 'description',\n 'keywords',\n 'canonicalUrl',\n 'ogTitle',\n 'ogDescription',\n 'ogImageKey',\n ] as const) {\n requireText(input[field], field, true);\n }\n requireBoolean(input.noIndex, 'noIndex');\n requireBoolean(input.noFollow, 'noFollow');\n return {\n path: validateSeoPath(input.path),\n title: seoText(input.title),\n description: seoText(input.description),\n keywords: seoText(input.keywords),\n canonicalUrl: validateUrl(input.canonicalUrl, 'canonicalUrl'),\n ogTitle: seoText(input.ogTitle),\n ogDescription: seoText(input.ogDescription),\n ogImageKey: seoText(input.ogImageKey),\n noIndex: input.noIndex,\n noFollow: input.noFollow,\n };\n}","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels__NS__BaseProjectType, CoreModels__NS__BaseProjectTypeArr, CoreModels__NS__BuildType, CoreModels__NS__BuildTypeArr, CoreModels__NS__buildTypeToWatcherFn, CoreModels__NS__BuildWatcherErrorType, CoreModels__NS__BuildWatcherType, CoreModels__NS__BuildWatcherTypeArr, CoreModels__NS__CfontAlign, CoreModels__NS__CfontStyle, CoreModels__NS__ClassNameStaticProperty, CoreModels__NS__ContentType, CoreModels__NS__ContentTypeKeys, CoreModels__NS__CoreLibCategory, CoreModels__NS__CutableFileExt, CoreModels__NS__DatabaseType, CoreModels__NS__DeepPartial, CoreModels__NS__FileEvent, CoreModels__NS__FileExtension, CoreModels__NS__FirstParamsFrom, CoreModels__NS__FrameworkVersion, CoreModels__NS__GitConnection, CoreModels__NS__GitConnectionArr, CoreModels__NS__GlobalDependencies, CoreModels__NS__hasExitCleaningFunction, CoreModels__NS__HttpCode, CoreModels__NS__HttpMethod, CoreModels__NS__HttpMethodArr, CoreModels__NS__ImageFileExtension, CoreModels__NS__ImageFileExtensionArr, CoreModels__NS__InstalationType, CoreModels__NS__InstalationTypeArr, CoreModels__NS__LibType, CoreModels__NS__localhostDomain, CoreModels__NS__localhostIp127, CoreModels__NS__ManifestIcon, CoreModels__NS__MediaType, CoreModels__NS__MediaTypeAllArr, CoreModels__NS__mimeTypes, CoreModels__NS__NewFactoryType, CoreModels__NS__NpmInstallOptions, CoreModels__NS__NpmPublishOptions, CoreModels__NS__NpmSpecialVersions, CoreModels__NS__OrignalClassKey, CoreModels__NS__OutFolder, CoreModels__NS__Package, CoreModels__NS__ParamType, CoreModels__NS__parentLocation, CoreModels__NS__pathToChildren, CoreModels__NS__Position, CoreModels__NS__PreReleaseVersionTag, CoreModels__NS__PROGRESS_DATA_TYPE, CoreModels__NS__PUSHTYPE, CoreModels__NS__PwaManifest, CoreModels__NS__ReleaseVersionType, CoreModels__NS__ReleaseVersionTypeEnum, CoreModels__NS__RunOptions, CoreModels__NS__Size, CoreModels__NS__SPECIAL_APP_READY_MESSAGE, CoreModels__NS__SPECIAL_WORKER_READY_MESSAGE, CoreModels__NS__tagForTaskName, CoreModels__NS__TaonHttpErrorCustomProp, CoreModels__NS__TsUsage, CoreModels__NS__UIFramework, CoreModels__NS__VSCodeSettings } from 'tnp-core/browser-prod';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibMyOrganizationProjTs } from './my-organization-proj.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibMyOrganizationProjTs } from './my-organization-proj.ts.pl-PL.i18n.data';;\nexport type LibOverride = CoreModels__NS__DeepPartial<EnUsTraslationOverrideSrcLibMyOrganizationProjTs \n| PlPlTraslationOverrideSrcLibMyOrganizationProjTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY","//#region imports\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { RouterOutlet } from '@angular/router';\n//#endregion\n\n@Component({\n selector: 'app-taon-seo-backoffice',\n templateUrl: './taon-seo-backoffice.component.html',\n styleUrls: ['./taon-seo-backoffice.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AsyncPipe, RouterOutlet],\n})\nexport class TaonSeoBackofficeComponent {}","<router-outlet></router-outlet>\n","//namespace TaonSeoBackofficeModels\n\n//end of namespace TaonSeoBackofficeModels\n","//#region imports\nimport { Routes } from '@angular/router';\nimport { adminLazyRoute } from '@taon-dev/ui/browser-prod';\n//#endregion\n\nexport const TaonSeoBackofficeRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-seo-backoffice.component').then(\n m => m.TaonSeoBackofficeComponent,\n ),\n\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'settings' },\n adminLazyRoute({\n path: 'settings',\n menuItem: 'General (Settings)',\n icon: 'settings',\n expandable: false,\n loader: () =>\n import('../taon-seo-settings/taon-seo-settings-backoffice/taon-seo-settings-backoffice.routes').then(\n m => m.TaonSeoSettingsBackofficeRoutes,\n ),\n }),\n adminLazyRoute({\n path: 'pages',\n menuItem: 'Pages',\n icon: 'extension',\n expandable: false,\n loader: () =>\n import('../taon-seo-page/taon-seo-page-backoffice/taon-seo-page-backoffice.routes').then(\n m => m.TaonSeoPageBackofficeRoutes,\n ),\n }),\n ],\n },\n];\n\n/**\n * By default exporting TaonSeoBackofficeRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonSeoBackofficeRoutes;\n","import {\n ChangeDetectionStrategy,\n Component,\n inject,\n model,\n signal,\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\n\nimport { TaonSeoImageApiService } from '../taon-seo-image.api.service';\n\n@Component({\n selector: 'taon-seo-image-input',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatButtonModule],\n providers: [TaonSeoImageApiService],\n template: `\n <p>Social / Open Graph image</p>\n <input\n type=\"file\"\n aria-label=\"Upload social image\"\n accept=\"image/png,image/jpeg,image/gif,image/webp\"\n [disabled]=\"disabled() || uploading()\"\n (change)=\"upload($event)\" />\n @if (key()) {\n <p>Image key: {{ key() }}</p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"disabled() || uploading()\"\n (click)=\"key.set(null)\">\n Clear image\n </button>\n }\n @if (uploading()) {\n <p role=\"status\">Uploading image...</p>\n }\n @if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n }\n `,\n})\nexport class TaonSeoImageInputComponent {\n readonly key = model<string | null>(null);\n readonly disabled = model(false);\n readonly uploading = model(false);\n readonly error = signal('');\n private readonly api = inject(TaonSeoImageApiService);\n\n async upload(event: Event): Promise<void> {\n const target = event.target;\n if (!(target instanceof HTMLInputElement)) {\n return;\n }\n const file = target.files?.[0];\n if (!file || this.disabled() || this.uploading()) {\n return;\n }\n this.error.set('');\n this.uploading.set(true);\n try {\n this.key.set(await this.api.upload(file));\n } catch (error: unknown) {\n console.error('[taon-seo-image-input] Unable to upload image', error);\n this.error.set('The image could not be uploaded. Please try again.');\n } finally {\n this.uploading.set(false);\n target.value = '';\n }\n }\n}\n","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { TaonBaseAngularService, Taon__NS____FILE_RELATIVE_PATH, Taon__NS__asset, Taon__NS__assetsFrom, Taon__NS__assetsListFrom, Taon__NS__createContext, Taon__NS__createContextTemplate, Taon__NS__error, Taon__NS__getResponseValue, Taon__NS__isBrowser, Taon__NS__isElectron, Taon__NS__isNode, Taon__NS__isWebSQL, Taon__NS__LANG_IMPORT_MAP, Taon__NS__removeLoader, Taon__NS__Response, Taon__NS__ResponseHtml, Taon__NS__StartParams } from 'taon/browser-prod';\n\nimport { TaonSeoPageProvider } from './taon-seo-page.provider';\n//#endregion\n\n@Injectable()\nexport class TaonSeoPageConfigService extends TaonBaseAngularService {\n private taonSeoPageProvider = this.injectProvider(TaonSeoPageProvider);\n\n get isEnableOption() {\n return this.taonSeoPageProvider.enabledTaonSeoPageOption;\n }\n\n clone(): Partial<TaonSeoPageProvider> {\n const cloned = this.taonSeoPageProvider.clone();\n return cloned;\n }\n}","import type { TaonSeoPageEntity } from './taon-seo-page.entity';\nimport { Translation } from '@taon-dev/i18n/browser-prod';\nimport { Taon__NS____FILE_RELATIVE_PATH, Taon__NS__asset, Taon__NS__assetsFrom, Taon__NS__assetsListFrom, Taon__NS__createContext, Taon__NS__createContextTemplate, Taon__NS__error, Taon__NS__getResponseValue, Taon__NS__isBrowser, Taon__NS__isElectron, Taon__NS__isNode, Taon__NS__isWebSQL, Taon__NS__LANG_IMPORT_MAP, Taon__NS__removeLoader, Taon__NS__Response, Taon__NS__ResponseHtml, Taon__NS__StartParams } from 'taon/browser-prod';\n\nconst t = Translation.for('src/lib/taon-seo-page/taon-seo-page.constants.ts', {\"src/lib/taon-seo-page/taon-seo-page.constants.ts\":{\"en-US\":async () => (await import('./i18n/taon-seo-page.constants.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-seo-page.constants.ts.pl-PL.i18n.data')).default}} as any);\n\nexport const TaonSeoPageDefaultsValues = {\n path: '/',\n title: null,\n description: null,\n keywords: null,\n canonicalUrl: null,\n ogTitle: null,\n ogDescription: null,\n ogImageKey: null,\n noIndex: false,\n noFollow: false,\n} as Partial<TaonSeoPageEntity>;\n\nexport enum TaonSeoPageErrors {\n INVALID_PASSWORD_EXAMPLE_ERROR = 'INVALID_PASSWORD_EXAMPLE_ERROR',\n}\n\nexport const TaonSeoPageTranslationErorsMap = new Map([\n [TaonSeoPageErrors.INVALID_PASSWORD_EXAMPLE_ERROR, t.gettext('Invalid Password')],\n]);","//#region imports\nimport {\n TaonBaseRepository,\n TaonBaseKvRepository,\n TaonRepository,\n} from 'taon/browser-prod';\n\nimport { TaonSeoPageEntity } from './taon-seo-page.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonSeoPageKvRepository',\n})\nexport class TaonSeoPageKvRepository extends TaonBaseKvRepository<{\n usersToNotify: TaonSeoPageEntity[];\n}> {\n async notifyUsers(users: TaonSeoPageEntity[]) {\n this.set('usersToNotify', users);\n }\n}","//#region imports\nimport { TaonBaseMiddleware, TaonMiddleware, Taon__NS____FILE_RELATIVE_PATH, Taon__NS__asset, Taon__NS__assetsFrom, Taon__NS__assetsListFrom, Taon__NS__createContext, Taon__NS__createContextTemplate, Taon__NS__error, Taon__NS__getResponseValue, Taon__NS__isBrowser, Taon__NS__isElectron, Taon__NS__isNode, Taon__NS__isWebSQL, Taon__NS__LANG_IMPORT_MAP, Taon__NS__removeLoader, Taon__NS__Response, Taon__NS__ResponseHtml, Taon__NS__StartParams } from 'taon/browser-prod';\nimport { ___NS__add, ___NS__after, ___NS__ary, ___NS__assign, ___NS__assignIn, ___NS__assignInWith, ___NS__assignWith, ___NS__at, ___NS__attempt, ___NS__before, ___NS__bind, ___NS__bindAll, ___NS__bindKey, ___NS__camelCase, ___NS__capitalize, ___NS__castArray, ___NS__ceil, ___NS__chain, ___NS__chunk, ___NS__clamp, ___NS__clone, ___NS__cloneDeep, ___NS__cloneDeepWith, ___NS__cloneWith, ___NS__compact, ___NS__concat, ___NS__cond, ___NS__conforms, ___NS__conformsTo, ___NS__constant, ___NS__countBy, ___NS__create, ___NS__curry, ___NS__curryRight, ___NS__debounce, ___NS__deburr, ___NS__defaults, ___NS__defaultsDeep, ___NS__defaultTo, ___NS__defer, ___NS__delay, ___NS__difference, ___NS__differenceBy, ___NS__differenceWith, ___NS__divide, ___NS__drop, ___NS__dropRight, ___NS__dropRightWhile, ___NS__dropWhile, ___NS__each, ___NS__eachRight, ___NS__endsWith, ___NS__entries, ___NS__entriesIn, ___NS__eq, ___NS__escape, ___NS__escapeRegExp, ___NS__every, ___NS__extend, ___NS__extendWith, ___NS__fill, ___NS__filter, ___NS__find, ___NS__findIndex, ___NS__findKey, ___NS__findLast, ___NS__findLastIndex, ___NS__findLastKey, ___NS__first, ___NS__flatMap, ___NS__flatMapDeep, ___NS__flatMapDepth, ___NS__flatten, ___NS__flattenDeep, ___NS__flattenDepth, ___NS__flip, ___NS__floor, ___NS__flow, ___NS__flowRight, ___NS__forEach, ___NS__forEachRight, ___NS__forIn, ___NS__forInRight, ___NS__forOwn, ___NS__forOwnRight, ___NS__fromPairs, ___NS__functions, ___NS__functionsIn, ___NS__get, ___NS__groupBy, ___NS__gt, ___NS__gte, ___NS__has, ___NS__hasIn, ___NS__head, ___NS__identity, ___NS__includes, ___NS__indexOf, ___NS__initial, ___NS__inRange, ___NS__intersection, ___NS__intersectionBy, ___NS__intersectionWith, ___NS__invert, ___NS__invertBy, ___NS__invoke, ___NS__invokeMap, ___NS__isArguments, ___NS__isArray, ___NS__isArrayBuffer, ___NS__isArrayLike, ___NS__isArrayLikeObject, ___NS__isBoolean, ___NS__isBuffer, ___NS__isDate, ___NS__isElement, ___NS__isEmpty, ___NS__isEqual, ___NS__isEqualWith, ___NS__isError, ___NS__isFinite, ___NS__isFunction, ___NS__isInteger, ___NS__isLeafObject, ___NS__isLength, ___NS__isMap, ___NS__isMatch, ___NS__isMatchWith, ___NS__isNaN, ___NS__isNative, ___NS__isNil, ___NS__isNull, ___NS__isNumber, ___NS__isObject, ___NS__isObjectLike, ___NS__isPlainObject, ___NS__isRegExp, ___NS__isSafeInteger, ___NS__isSet, ___NS__isString, ___NS__isSymbol, ___NS__isTypedArray, ___NS__isUndefined, ___NS__isWeakMap, ___NS__isWeakSet, ___NS__iteratee, ___NS__join, ___NS__kebabCase, ___NS__keyBy, ___NS__keys, ___NS__keysIn, ___NS__last, ___NS__lastIndexOf, ___NS__lowerCase, ___NS__lowerFirst, ___NS__lt, ___NS__lte, ___NS__map, ___NS__mapKeys, ___NS__mapValues, ___NS__matches, ___NS__matchesProperty, ___NS__max, ___NS__maxBy, ___NS__mean, ___NS__meanBy, ___NS__memoize, ___NS__merge, ___NS__mergeWith, ___NS__method, ___NS__methodOf, ___NS__min, ___NS__minBy, ___NS__mixin, ___NS__multiply, ___NS__negate, ___NS__noop, ___NS__now, ___NS__nth, ___NS__nthArg, ___NS__omit, ___NS__omitBy, ___NS__once, ___NS__orderBy, ___NS__over, ___NS__overArgs, ___NS__overEvery, ___NS__overSome, ___NS__pad, ___NS__padEnd, ___NS__padStart, ___NS__parseInt, ___NS__partial, ___NS__partialRight, ___NS__partition, ___NS__pick, ___NS__pickBy, ___NS__property, ___NS__propertyOf, ___NS__pull, ___NS__pullAll, ___NS__pullAllBy, ___NS__pullAllWith, ___NS__pullAt, ___NS__random, ___NS__range, ___NS__rangeRight, ___NS__rearg, ___NS__reduce, ___NS__reduceRight, ___NS__reject, ___NS__remove, ___NS__repeat, ___NS__replace, ___NS__rest, ___NS__result, ___NS__reverse, ___NS__round, ___NS__sample, ___NS__sampleSize, ___NS__set, ___NS__setWith, ___NS__shuffle, ___NS__size, ___NS__slice, ___NS__snakeCase, ___NS__some, ___NS__sortBy, ___NS__sortedIndex, ___NS__sortedIndexBy, ___NS__sortedIndexOf, ___NS__sortedLastIndex, ___NS__sortedLastIndexBy, ___NS__sortedLastIndexOf, ___NS__sortedUniq, ___NS__sortedUniqBy, ___NS__split, ___NS__spread, ___NS__startCase, ___NS__startsWith, ___NS__stubArray, ___NS__stubFalse, ___NS__stubObject, ___NS__stubString, ___NS__stubTrue, ___NS__subtract, ___NS__sum, ___NS__sumBy, ___NS__tail, ___NS__take, ___NS__takeRight, ___NS__takeRightWhile, ___NS__takeWhile, ___NS__tap, ___NS__template, ___NS__templateSettings, ___NS__throttle, ___NS__thru, ___NS__times, ___NS__toArray, ___NS__toFinite, ___NS__toInteger, ___NS__toLength, ___NS__toLower, ___NS__toNumber, ___NS__toPairs, ___NS__toPairsIn, ___NS__toPath, ___NS__toPlainObject, ___NS__toSafeInteger, ___NS__toString, ___NS__toUpper, ___NS__transform, ___NS__trim, ___NS__trimEnd, ___NS__trimStart, ___NS__truncate, ___NS__unary, ___NS__unescape, ___NS__union, ___NS__unionBy, ___NS__unionWith, ___NS__uniq, ___NS__uniqBy, ___NS__uniqueId, ___NS__uniqWith, ___NS__unset, ___NS__unzip, ___NS__unzipWith, ___NS__update, ___NS__updateWith, ___NS__upperCase, ___NS__upperFirst, ___NS__values, ___NS__valuesIn, ___NS__without, ___NS__words, ___NS__wrap, ___NS__xor, ___NS__xorBy, ___NS__xorWith, ___NS__zip, ___NS__zipObject, ___NS__zipObjectDeep, ___NS__zipWith } from 'tnp-core/browser-prod';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonSeoPageMiddleware',\n})\nexport class TaonSeoPageMiddleware extends TaonBaseMiddleware {}","import type { TaonSeoPageEntity } from './taon-seo-page.entity';\n\nexport type TaonSeoPageInput = Pick<\n TaonSeoPageEntity,\n | 'path'\n | 'title'\n | 'description'\n | 'keywords'\n | 'canonicalUrl'\n | 'ogTitle'\n | 'ogDescription'\n | 'ogImageKey'\n | 'noIndex'\n | 'noFollow'\n>;\n\n//namespace TaonSeoPageModels\n\n export enum TaonSeoPageModels__NS__TaonSeoPageState {\n Active = 'active',\n Inactive = 'inactive',\n }\n\n//end of namespace TaonSeoPageModels\n","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser-prod';\nimport { TaonSeoPageEntity } from './taon-seo-page.entity';\nimport { TaonSeoPageProvider } from './taon-seo-page.provider';\n//#endregion\n\n@TaonSubscriber<TaonSeoPageSubscriber>({\n className: 'TaonSeoPageSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonSeoPageSubscriber extends TaonBaseSubscriberForEntity {\n private readonly taonSeoPageProvider = this.injectProvider(TaonSeoPageProvider);\n listenTo(): typeof TaonSeoPageEntity {\n return TaonSeoPageEntity;\n }\n}","import { TaonSeoPageModels__NS__TaonSeoPageState } from './taon-seo-page.models';\n\n//namespace TaonSeoPageUtils\n\n export function TaonSeoPageUtils__NS__isActive(state: string): state is TaonSeoPageModels__NS__TaonSeoPageState {\n return state === 'active';\n }\n\n//end of namespace TaonSeoPageUtils","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; // @browser\nimport { TaonSeoPageErrors } from './taon-seo-page.constants';\n\n//namespace TaonSeoPageValidators\n\n //#region @browser\n /**\n * TODO REMOVE THIS EXAMPLE.\n */\n export const TaonSeoPageValidators__NS__passwordMatchValidator: ValidatorFn = (\n control: AbstractControl,\n ): ValidationErrors | null => {\n const password = control.get('password');\n const passwordRepeat = control.get('passwordRepeat');\n\n if (!password || !passwordRepeat) {\n return null;\n }\n\n return password.value === passwordRepeat.value\n ? null\n : { [TaonSeoPageErrors.INVALID_PASSWORD_EXAMPLE_ERROR]: true };\n };\n //#endregion\n\n\n//end of namespace TaonSeoPageValidators\n","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { TaonBaseAngularService, Taon__NS____FILE_RELATIVE_PATH, Taon__NS__asset, Taon__NS__assetsFrom, Taon__NS__assetsListFrom, Taon__NS__createContext, Taon__NS__createContextTemplate, Taon__NS__error, Taon__NS__getResponseValue, Taon__NS__isBrowser, Taon__NS__isElectron, Taon__NS__isNode, Taon__NS__isWebSQL, Taon__NS__LANG_IMPORT_MAP, Taon__NS__removeLoader, Taon__NS__Response, Taon__NS__ResponseHtml, Taon__NS__StartParams } from 'taon/browser-prod';\n\nimport { TaonSeoSettingsProvider } from './taon-seo-settings.provider';\n//#endregion\n\n@Injectable()\nexport class TaonSeoSettingsConfigService extends TaonBaseAngularService {\n private taonSeoSettingsProvider = this.injectProvider(TaonSeoSettingsProvider);\n\n get isEnableOption() {\n return this.taonSeoSettingsProvider.enabledTaonSeoSettingsOption;\n }\n\n clone(): Partial<TaonSeoSettingsProvider> {\n const cloned = this.taonSeoSettingsProvider.clone();\n return cloned;\n }\n}","//#region imports\nimport {\n TaonBaseRepository,\n TaonBaseKvRepository,\n TaonRepository,\n} from 'taon/browser-prod';\n\nimport { TaonSeoSettingsEntity } from './taon-seo-settings.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonSeoSettingsKvRepository',\n})\nexport class TaonSeoSettingsKvRepository extends TaonBaseKvRepository<{\n usersToNotify: TaonSeoSettingsEntity[];\n}> {\n async notifyUsers(users: TaonSeoSettingsEntity[]) {\n this.set('usersToNotify', users);\n }\n}","//#region imports\nimport { TaonBaseMiddleware, TaonMiddleware, Taon__NS____FILE_RELATIVE_PATH, Taon__NS__asset, Taon__NS__assetsFrom, Taon__NS__assetsListFrom, Taon__NS__createContext, Taon__NS__createContextTemplate, Taon__NS__error, Taon__NS__getResponseValue, Taon__NS__isBrowser, Taon__NS__isElectron, Taon__NS__isNode, Taon__NS__isWebSQL, Taon__NS__LANG_IMPORT_MAP, Taon__NS__removeLoader, Taon__NS__Response, Taon__NS__ResponseHtml, Taon__NS__StartParams } from 'taon/browser-prod';\nimport { ___NS__add, ___NS__after, ___NS__ary, ___NS__assign, ___NS__assignIn, ___NS__assignInWith, ___NS__assignWith, ___NS__at, ___NS__attempt, ___NS__before, ___NS__bind, ___NS__bindAll, ___NS__bindKey, ___NS__camelCase, ___NS__capitalize, ___NS__castArray, ___NS__ceil, ___NS__chain, ___NS__chunk, ___NS__clamp, ___NS__clone, ___NS__cloneDeep, ___NS__cloneDeepWith, ___NS__cloneWith, ___NS__compact, ___NS__concat, ___NS__cond, ___NS__conforms, ___NS__conformsTo, ___NS__constant, ___NS__countBy, ___NS__create, ___NS__curry, ___NS__curryRight, ___NS__debounce, ___NS__deburr, ___NS__defaults, ___NS__defaultsDeep, ___NS__defaultTo, ___NS__defer, ___NS__delay, ___NS__difference, ___NS__differenceBy, ___NS__differenceWith, ___NS__divide, ___NS__drop, ___NS__dropRight, ___NS__dropRightWhile, ___NS__dropWhile, ___NS__each, ___NS__eachRight, ___NS__endsWith, ___NS__entries, ___NS__entriesIn, ___NS__eq, ___NS__escape, ___NS__escapeRegExp, ___NS__every, ___NS__extend, ___NS__extendWith, ___NS__fill, ___NS__filter, ___NS__find, ___NS__findIndex, ___NS__findKey, ___NS__findLast, ___NS__findLastIndex, ___NS__findLastKey, ___NS__first, ___NS__flatMap, ___NS__flatMapDeep, ___NS__flatMapDepth, ___NS__flatten, ___NS__flattenDeep, ___NS__flattenDepth, ___NS__flip, ___NS__floor, ___NS__flow, ___NS__flowRight, ___NS__forEach, ___NS__forEachRight, ___NS__forIn, ___NS__forInRight, ___NS__forOwn, ___NS__forOwnRight, ___NS__fromPairs, ___NS__functions, ___NS__functionsIn, ___NS__get, ___NS__groupBy, ___NS__gt, ___NS__gte, ___NS__has, ___NS__hasIn, ___NS__head, ___NS__identity, ___NS__includes, ___NS__indexOf, ___NS__initial, ___NS__inRange, ___NS__intersection, ___NS__intersectionBy, ___NS__intersectionWith, ___NS__invert, ___NS__invertBy, ___NS__invoke, ___NS__invokeMap, ___NS__isArguments, ___NS__isArray, ___NS__isArrayBuffer, ___NS__isArrayLike, ___NS__isArrayLikeObject, ___NS__isBoolean, ___NS__isBuffer, ___NS__isDate, ___NS__isElement, ___NS__isEmpty, ___NS__isEqual, ___NS__isEqualWith, ___NS__isError, ___NS__isFinite, ___NS__isFunction, ___NS__isInteger, ___NS__isLeafObject, ___NS__isLength, ___NS__isMap, ___NS__isMatch, ___NS__isMatchWith, ___NS__isNaN, ___NS__isNative, ___NS__isNil, ___NS__isNull, ___NS__isNumber, ___NS__isObject, ___NS__isObjectLike, ___NS__isPlainObject, ___NS__isRegExp, ___NS__isSafeInteger, ___NS__isSet, ___NS__isString, ___NS__isSymbol, ___NS__isTypedArray, ___NS__isUndefined, ___NS__isWeakMap, ___NS__isWeakSet, ___NS__iteratee, ___NS__join, ___NS__kebabCase, ___NS__keyBy, ___NS__keys, ___NS__keysIn, ___NS__last, ___NS__lastIndexOf, ___NS__lowerCase, ___NS__lowerFirst, ___NS__lt, ___NS__lte, ___NS__map, ___NS__mapKeys, ___NS__mapValues, ___NS__matches, ___NS__matchesProperty, ___NS__max, ___NS__maxBy, ___NS__mean, ___NS__meanBy, ___NS__memoize, ___NS__merge, ___NS__mergeWith, ___NS__method, ___NS__methodOf, ___NS__min, ___NS__minBy, ___NS__mixin, ___NS__multiply, ___NS__negate, ___NS__noop, ___NS__now, ___NS__nth, ___NS__nthArg, ___NS__omit, ___NS__omitBy, ___NS__once, ___NS__orderBy, ___NS__over, ___NS__overArgs, ___NS__overEvery, ___NS__overSome, ___NS__pad, ___NS__padEnd, ___NS__padStart, ___NS__parseInt, ___NS__partial, ___NS__partialRight, ___NS__partition, ___NS__pick, ___NS__pickBy, ___NS__property, ___NS__propertyOf, ___NS__pull, ___NS__pullAll, ___NS__pullAllBy, ___NS__pullAllWith, ___NS__pullAt, ___NS__random, ___NS__range, ___NS__rangeRight, ___NS__rearg, ___NS__reduce, ___NS__reduceRight, ___NS__reject, ___NS__remove, ___NS__repeat, ___NS__replace, ___NS__rest, ___NS__result, ___NS__reverse, ___NS__round, ___NS__sample, ___NS__sampleSize, ___NS__set, ___NS__setWith, ___NS__shuffle, ___NS__size, ___NS__slice, ___NS__snakeCase, ___NS__some, ___NS__sortBy, ___NS__sortedIndex, ___NS__sortedIndexBy, ___NS__sortedIndexOf, ___NS__sortedLastIndex, ___NS__sortedLastIndexBy, ___NS__sortedLastIndexOf, ___NS__sortedUniq, ___NS__sortedUniqBy, ___NS__split, ___NS__spread, ___NS__startCase, ___NS__startsWith, ___NS__stubArray, ___NS__stubFalse, ___NS__stubObject, ___NS__stubString, ___NS__stubTrue, ___NS__subtract, ___NS__sum, ___NS__sumBy, ___NS__tail, ___NS__take, ___NS__takeRight, ___NS__takeRightWhile, ___NS__takeWhile, ___NS__tap, ___NS__template, ___NS__templateSettings, ___NS__throttle, ___NS__thru, ___NS__times, ___NS__toArray, ___NS__toFinite, ___NS__toInteger, ___NS__toLength, ___NS__toLower, ___NS__toNumber, ___NS__toPairs, ___NS__toPairsIn, ___NS__toPath, ___NS__toPlainObject, ___NS__toSafeInteger, ___NS__toString, ___NS__toUpper, ___NS__transform, ___NS__trim, ___NS__trimEnd, ___NS__trimStart, ___NS__truncate, ___NS__unary, ___NS__unescape, ___NS__union, ___NS__unionBy, ___NS__unionWith, ___NS__uniq, ___NS__uniqBy, ___NS__uniqueId, ___NS__uniqWith, ___NS__unset, ___NS__unzip, ___NS__unzipWith, ___NS__update, ___NS__updateWith, ___NS__upperCase, ___NS__upperFirst, ___NS__values, ___NS__valuesIn, ___NS__without, ___NS__words, ___NS__wrap, ___NS__xor, ___NS__xorBy, ___NS__xorWith, ___NS__zip, ___NS__zipObject, ___NS__zipObjectDeep, ___NS__zipWith } from 'tnp-core/browser-prod';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonSeoSettingsMiddleware',\n})\nexport class TaonSeoSettingsMiddleware extends TaonBaseMiddleware {}","import type { TaonSeoSettingsEntity } from './taon-seo-settings.entity';\n\nexport type TaonSeoSettingsInput = Pick<\n TaonSeoSettingsEntity,\n | 'siteName'\n | 'defaultTitle'\n | 'defaultDescription'\n | 'defaultKeywords'\n | 'defaultImageKey'\n | 'canonicalBaseUrl'\n | 'robotsIndex'\n | 'robotsFollow'\n>;\n\n//namespace TaonSeoSettingsModels\n\n export enum TaonSeoSettingsModels__NS__TaonSeoSettingsState {\n Active = 'active',\n Inactive = 'inactive',\n }\n\n//end of namespace TaonSeoSettingsModels\n","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser-prod';\nimport { TaonSeoSettingsEntity } from './taon-seo-settings.entity';\nimport { TaonSeoSettingsProvider } from './taon-seo-settings.provider';\n//#endregion\n\n@TaonSubscriber<TaonSeoSettingsSubscriber>({\n className: 'TaonSeoSettingsSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonSeoSettingsSubscriber extends TaonBaseSubscriberForEntity {\n private readonly taonSeoSettingsProvider = this.injectProvider(TaonSeoSettingsProvider);\n listenTo(): typeof TaonSeoSettingsEntity {\n return TaonSeoSettingsEntity;\n }\n}","import { TaonSeoSettingsModels__NS__TaonSeoSettingsState } from './taon-seo-settings.models';\n\n//namespace TaonSeoSettingsUtils\n\n export function TaonSeoSettingsUtils__NS__isActive(state: string): state is TaonSeoSettingsModels__NS__TaonSeoSettingsState {\n return state === 'active';\n }\n\n//end of namespace TaonSeoSettingsUtils","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; // @browser\nimport { TaonSeoSettingsErrors } from './taon-seo-settings.constants';\n\n//namespace TaonSeoSettingsValidators\n\n //#region @browser\n /**\n * TODO REMOVE THIS EXAMPLE.\n */\n export const TaonSeoSettingsValidators__NS__passwordMatchValidator: ValidatorFn = (\n control: AbstractControl,\n ): ValidationErrors | null => {\n const password = control.get('password');\n const passwordRepeat = control.get('passwordRepeat');\n\n if (!password || !passwordRepeat) {\n return null;\n }\n\n return password.value === passwordRepeat.value\n ? null\n : { [TaonSeoSettingsErrors.INVALID_PASSWORD_EXAMPLE_ERROR]: true };\n };\n //#endregion\n\n\n//end of namespace TaonSeoSettingsValidators\n","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels__NS__BaseProjectType, CoreModels__NS__BaseProjectTypeArr, CoreModels__NS__BuildType, CoreModels__NS__BuildTypeArr, CoreModels__NS__buildTypeToWatcherFn, CoreModels__NS__BuildWatcherErrorType, CoreModels__NS__BuildWatcherType, CoreModels__NS__BuildWatcherTypeArr, CoreModels__NS__CfontAlign, CoreModels__NS__CfontStyle, CoreModels__NS__ClassNameStaticProperty, CoreModels__NS__ContentType, CoreModels__NS__ContentTypeKeys, CoreModels__NS__CoreLibCategory, CoreModels__NS__CutableFileExt, CoreModels__NS__DatabaseType, CoreModels__NS__DeepPartial, CoreModels__NS__FileEvent, CoreModels__NS__FileExtension, CoreModels__NS__FirstParamsFrom, CoreModels__NS__FrameworkVersion, CoreModels__NS__GitConnection, CoreModels__NS__GitConnectionArr, CoreModels__NS__GlobalDependencies, CoreModels__NS__hasExitCleaningFunction, CoreModels__NS__HttpCode, CoreModels__NS__HttpMethod, CoreModels__NS__HttpMethodArr, CoreModels__NS__ImageFileExtension, CoreModels__NS__ImageFileExtensionArr, CoreModels__NS__InstalationType, CoreModels__NS__InstalationTypeArr, CoreModels__NS__LibType, CoreModels__NS__localhostDomain, CoreModels__NS__localhostIp127, CoreModels__NS__ManifestIcon, CoreModels__NS__MediaType, CoreModels__NS__MediaTypeAllArr, CoreModels__NS__mimeTypes, CoreModels__NS__NewFactoryType, CoreModels__NS__NpmInstallOptions, CoreModels__NS__NpmPublishOptions, CoreModels__NS__NpmSpecialVersions, CoreModels__NS__OrignalClassKey, CoreModels__NS__OutFolder, CoreModels__NS__Package, CoreModels__NS__ParamType, CoreModels__NS__parentLocation, CoreModels__NS__pathToChildren, CoreModels__NS__Position, CoreModels__NS__PreReleaseVersionTag, CoreModels__NS__PROGRESS_DATA_TYPE, CoreModels__NS__PUSHTYPE, CoreModels__NS__PwaManifest, CoreModels__NS__ReleaseVersionType, CoreModels__NS__ReleaseVersionTypeEnum, CoreModels__NS__RunOptions, CoreModels__NS__Size, CoreModels__NS__SPECIAL_APP_READY_MESSAGE, CoreModels__NS__SPECIAL_WORKER_READY_MESSAGE, CoreModels__NS__tagForTaskName, CoreModels__NS__TaonHttpErrorCustomProp, CoreModels__NS__TsUsage, CoreModels__NS__UIFramework, CoreModels__NS__VSCodeSettings } from 'tnp-core/browser-prod';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibTaonSeoPageTaonSeoPageConstantsTs } from './taon-seo-page.constants.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibTaonSeoPageTaonSeoPageConstantsTs } from './taon-seo-page.constants.ts.pl-PL.i18n.data';;\nexport type TaonSeoPageOverride = CoreModels__NS__DeepPartial<EnUsTraslationOverrideSrcLibTaonSeoPageTaonSeoPageConstantsTs \n| PlPlTraslationOverrideSrcLibTaonSeoPageTaonSeoPageConstantsTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY","import {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n inject,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n FormControl,\n FormGroup,\n ReactiveFormsModule,\n Validators,\n} from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport {\n MAT_DIALOG_DATA,\n MatDialogModule,\n MatDialogRef,\n} from '@angular/material/dialog';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { finalize } from 'rxjs';\n\nimport { TaonSeoImageInputComponent } from '../../taon-seo-image-input/taon-seo-image-input.component';\nimport { TaonSeoPageApiService } from '../taon-seo-page.api.service';\nimport type { TaonSeoPageEntity } from '../taon-seo-page.entity';\n\n@Component({\n selector: 'taon-seo-page-edit-dialog',\n templateUrl: './taon-seo-page-edit-dialog.component.html',\n styleUrls: ['./taon-seo-page-edit-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n ReactiveFormsModule,\n MatButtonModule,\n MatCheckboxModule,\n MatDialogModule,\n MatFormFieldModule,\n MatInputModule,\n TaonSeoImageInputComponent,\n ],\n providers: [TaonSeoPageApiService],\n})\nexport class TaonSeoPageEditDialogComponent {\n readonly data = inject<{ page?: TaonSeoPageEntity }>(MAT_DIALOG_DATA);\n readonly saving = signal(false);\n readonly uploading = signal(false);\n readonly error = signal('');\n readonly form = new FormGroup({\n path: new FormControl(this.data.page?.path ?? '/', {\n nonNullable: true,\n validators: [\n Validators.required,\n Validators.pattern(/^\\/[^;?#\\\\\\s()]*$/),\n ],\n }),\n title: new FormControl<string | null>(this.data.page?.title ?? null),\n description: new FormControl<string | null>(\n this.data.page?.description ?? null,\n ),\n keywords: new FormControl<string | null>(this.data.page?.keywords ?? null),\n canonicalUrl: new FormControl<string | null>(\n this.data.page?.canonicalUrl ?? null,\n ),\n ogTitle: new FormControl<string | null>(this.data.page?.ogTitle ?? null),\n ogDescription: new FormControl<string | null>(\n this.data.page?.ogDescription ?? null,\n ),\n ogImageKey: new FormControl<string | null>(\n this.data.page?.ogImageKey ?? null,\n ),\n noIndex: new FormControl(this.data.page?.noIndex ?? false, {\n nonNullable: true,\n }),\n noFollow: new FormControl(this.data.page?.noFollow ?? false, {\n nonNullable: true,\n }),\n });\n private readonly api = inject(TaonSeoPageApiService);\n private readonly destroyRef = inject(DestroyRef);\n private readonly ref = inject(MatDialogRef<TaonSeoPageEditDialogComponent>);\n\n close(): void {\n if (!this.saving() && !this.uploading()) {\n this.ref.close();\n }\n }\n\n save(): void {\n if (this.saving() || this.uploading()) {\n return;\n }\n this.form.markAllAsTouched();\n if (this.form.invalid) {\n this.error.set('Enter an application path such as /pricing.');\n return;\n }\n this.error.set('');\n this.saving.set(true);\n const input = this.form.getRawValue();\n const request = this.data.page\n ? this.api.updatePage(this.data.page.id, input)\n : this.api.createPage(input);\n request\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n finalize(() => this.saving.set(false)),\n )\n .subscribe({\n next: page => this.ref.close(page),\n error: (error: unknown) => {\n console.error('[taon-seo-page-editor] Unable to save page', error);\n this.error.set(\n 'The page could not be saved. Ensure the path is unique and the canonical URL is an absolute HTTP(S) URL.',\n );\n },\n });\n }\n}\n","<h2 mat-dialog-title>{{ data.page ? 'Edit SEO page' : 'Add SEO page' }}</h2>\n<form\n [formGroup]=\"form\"\n (ngSubmit)=\"save()\">\n <mat-dialog-content>\n <p>\n Static/application page overrides. Blank fields inherit global defaults.\n </p>\n @if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n }\n <fieldset [disabled]=\"saving()\">\n <mat-form-field>\n <mat-label>Path</mat-label>\n <input\n matInput\n formControlName=\"path\"\n placeholder=\"/pricing\" />\n <mat-error\n >Enter an application path without query or fragment.</mat-error\n >\n </mat-form-field>\n <mat-form-field>\n <mat-label>Title</mat-label>\n <input\n matInput\n formControlName=\"title\" />\n </mat-form-field>\n <mat-form-field>\n <mat-label>Description</mat-label>\n <textarea\n matInput\n formControlName=\"description\"\n rows=\"3\"></textarea>\n </mat-form-field>\n <mat-form-field>\n <mat-label>Keywords</mat-label>\n <input\n matInput\n formControlName=\"keywords\" />\n </mat-form-field>\n <mat-form-field>\n <mat-label>Canonical URL</mat-label>\n <input\n matInput\n formControlName=\"canonicalUrl\"\n placeholder=\"https://example.com/pricing\" />\n </mat-form-field>\n <mat-form-field>\n <mat-label>Open Graph title</mat-label>\n <input\n matInput\n formControlName=\"ogTitle\" />\n </mat-form-field>\n <mat-form-field>\n <mat-label>Open Graph description</mat-label>\n <textarea\n matInput\n formControlName=\"ogDescription\"\n rows=\"3\"></textarea>\n </mat-form-field>\n <taon-seo-image-input\n [key]=\"form.controls.ogImageKey.value\"\n (keyChange)=\"form.controls.ogImageKey.setValue($event)\"\n [disabled]=\"saving()\"\n [(uploading)]=\"uploading\" />\n <mat-checkbox formControlName=\"noIndex\">noIndex</mat-checkbox>\n <mat-checkbox formControlName=\"noFollow\">noFollow</mat-checkbox>\n </fieldset>\n </mat-dialog-content>\n <mat-dialog-actions align=\"end\">\n <button\n mat-button\n type=\"button\"\n [disabled]=\"saving() || uploading()\"\n (click)=\"close()\">\n Cancel\n </button>\n <button\n mat-flat-button\n type=\"submit\"\n [disabled]=\"saving() || uploading()\">\n {{ saving() ? 'Saving...' : 'Save page' }}\n </button>\n </mat-dialog-actions>\n</form>\n","import {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n ViewChild,\n inject,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MtxGridColumn } from '@ng-matero/extensions/grid';\nimport {\n TaonConfirmDialogComponent,\n TaonDatatableComponent,\n} from '@taon-dev/ui/browser-prod';\nimport { finalize } from 'rxjs';\n\nimport { TaonSeoPageEditDialogComponent } from '../taon-seo-page-edit-dialog/taon-seo-page-edit-dialog.component';\nimport { TaonSeoPageApiService } from '../taon-seo-page.api.service';\nimport type { TaonSeoPageEntity } from '../taon-seo-page.entity';\n\n@Component({\n selector: 'app-taon-seo-page-backoffice',\n templateUrl: './taon-seo-page-backoffice.component.html',\n styleUrls: ['./taon-seo-page-backoffice.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [TaonDatatableComponent],\n providers: [TaonSeoPageApiService],\n})\nexport class TaonSeoPageBackofficeComponent {\n @ViewChild(TaonDatatableComponent)\n readonly datatable!: TaonDatatableComponent;\n\n readonly api = inject(TaonSeoPageApiService);\n readonly error = signal('');\n readonly deleting = signal<number | null>(null);\n private readonly dialog = inject(MatDialog);\n private readonly destroyRef = inject(DestroyRef);\n\n get crud() {\n return this.api.taonSeoPageController;\n }\n\n readonly columns: MtxGridColumn[] = [\n { header: 'ID', field: 'id', sortable: true },\n { header: 'Path', field: 'path', sortable: true },\n { header: 'Title', field: 'title', sortable: true },\n { header: 'noIndex', field: 'noIndex', type: 'boolean' },\n { header: 'noFollow', field: 'noFollow', type: 'boolean' },\n {\n header: 'Actions',\n field: 'actions',\n type: 'button',\n buttons: [\n {\n type: 'icon',\n icon: 'edit',\n tooltip: 'Edit SEO page',\n click: (page: TaonSeoPageEntity) => this.edit(page),\n },\n {\n type: 'icon',\n icon: 'delete',\n tooltip: 'Delete SEO page',\n disabled: () => this.deleting() !== null,\n click: (page: TaonSeoPageEntity) => this.delete(page),\n },\n ],\n },\n ];\n\n add(): void {\n this.edit();\n }\n\n edit(page?: TaonSeoPageEntity): void {\n this.dialog\n .open(TaonSeoPageEditDialogComponent, {\n data: { page },\n width: '48rem',\n maxWidth: '95vw',\n disableClose: true,\n })\n .afterClosed()\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(saved => {\n if (saved) {\n this.datatable.reload();\n }\n });\n }\n\n delete(page: TaonSeoPageEntity): void {\n if (this.deleting() !== null) {\n return;\n }\n this.deleting.set(page.id);\n this.dialog\n .open(TaonConfirmDialogComponent, {\n data: {\n title: 'Delete SEO page?',\n message: `Delete the override for ${page.path}? This page will inherit global SEO defaults.`,\n confirmText: 'Delete',\n },\n })\n .afterClosed()\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(confirmed => {\n if (!confirmed) {\n this.deleting.set(null);\n return;\n }\n this.error.set('');\n this.api\n .deletePage(page.id)\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n finalize(() => this.deleting.set(null)),\n )\n .subscribe({\n next: () => this.datatable.reload(),\n error: (error: unknown) => {\n console.error('[taon-seo-pages] Unable to delete page', error);\n this.error.set(\n 'The SEO page could not be deleted. Refresh and try again.',\n );\n },\n });\n });\n }\n}\n","<h1>SEO pages</h1>\n<p>SEO overrides for application/static pages, not CMS content.</p>\n@if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n}\n<taon-datatable\n [entityCrudController]=\"crud\"\n [columns]=\"columns\"\n [allowedColumns]=\"['id', 'path', 'title', 'noIndex', 'noFollow']\"\n searchMode=\"advanced\"\n (addingItem)=\"add()\">\n</taon-datatable>\n","//namespace TaonSeoPageBackofficeModels\n\n//end of namespace TaonSeoPageBackofficeModels\n","//#region imports\nimport { Routes } from '@angular/router';\nimport { adminLazyRoute } from '@taon-dev/ui/browser-prod';\n//#endregion\n\nexport const TaonSeoPageBackofficeRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-seo-page-backoffice.component').then(m => m.TaonSeoPageBackofficeComponent),\n\n children: [\n // adminLazyRoute({\n // path: 'dashboard',\n // menuItem: 'Dashboard',\n // icon: 'dashboard',\n // expandable: false,\n // loader: () =>\n // import('./anothermodule.routes').then(m => m.DashboardRoutes),\n // }),\n ],\n },\n];\n\n/**\n * By default exporting TaonSeoPageBackofficeRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonSeoPageBackofficeRoutes;","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels__NS__BaseProjectType, CoreModels__NS__BaseProjectTypeArr, CoreModels__NS__BuildType, CoreModels__NS__BuildTypeArr, CoreModels__NS__buildTypeToWatcherFn, CoreModels__NS__BuildWatcherErrorType, CoreModels__NS__BuildWatcherType, CoreModels__NS__BuildWatcherTypeArr, CoreModels__NS__CfontAlign, CoreModels__NS__CfontStyle, CoreModels__NS__ClassNameStaticProperty, CoreModels__NS__ContentType, CoreModels__NS__ContentTypeKeys, CoreModels__NS__CoreLibCategory, CoreModels__NS__CutableFileExt, CoreModels__NS__DatabaseType, CoreModels__NS__DeepPartial, CoreModels__NS__FileEvent, CoreModels__NS__FileExtension, CoreModels__NS__FirstParamsFrom, CoreModels__NS__FrameworkVersion, CoreModels__NS__GitConnection, CoreModels__NS__GitConnectionArr, CoreModels__NS__GlobalDependencies, CoreModels__NS__hasExitCleaningFunction, CoreModels__NS__HttpCode, CoreModels__NS__HttpMethod, CoreModels__NS__HttpMethodArr, CoreModels__NS__ImageFileExtension, CoreModels__NS__ImageFileExtensionArr, CoreModels__NS__InstalationType, CoreModels__NS__InstalationTypeArr, CoreModels__NS__LibType, CoreModels__NS__localhostDomain, CoreModels__NS__localhostIp127, CoreModels__NS__ManifestIcon, CoreModels__NS__MediaType, CoreModels__NS__MediaTypeAllArr, CoreModels__NS__mimeTypes, CoreModels__NS__NewFactoryType, CoreModels__NS__NpmInstallOptions, CoreModels__NS__NpmPublishOptions, CoreModels__NS__NpmSpecialVersions, CoreModels__NS__OrignalClassKey, CoreModels__NS__OutFolder, CoreModels__NS__Package, CoreModels__NS__ParamType, CoreModels__NS__parentLocation, CoreModels__NS__pathToChildren, CoreModels__NS__Position, CoreModels__NS__PreReleaseVersionTag, CoreModels__NS__PROGRESS_DATA_TYPE, CoreModels__NS__PUSHTYPE, CoreModels__NS__PwaManifest, CoreModels__NS__ReleaseVersionType, CoreModels__NS__ReleaseVersionTypeEnum, CoreModels__NS__RunOptions, CoreModels__NS__Size, CoreModels__NS__SPECIAL_APP_READY_MESSAGE, CoreModels__NS__SPECIAL_WORKER_READY_MESSAGE, CoreModels__NS__tagForTaskName, CoreModels__NS__TaonHttpErrorCustomProp, CoreModels__NS__TsUsage, CoreModels__NS__UIFramework, CoreModels__NS__VSCodeSettings } from 'tnp-core/browser-prod';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibTaonSeoSettingsTaonSeoSettingsConstantsTs } from './taon-seo-settings.constants.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibTaonSeoSettingsTaonSeoSettingsConstantsTs } from './taon-seo-settings.constants.ts.pl-PL.i18n.data';;\nexport type TaonSeoSettingsOverride = CoreModels__NS__DeepPartial<EnUsTraslationOverrideSrcLibTaonSeoSettingsTaonSeoSettingsConstantsTs \n| PlPlTraslationOverrideSrcLibTaonSeoSettingsTaonSeoSettingsConstantsTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY","import {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n inject,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { finalize } from 'rxjs';\n\nimport { TaonSeoImageInputComponent } from '../../taon-seo-image-input/taon-seo-image-input.component';\nimport { TaonSeoSettingsApiService } from '../taon-seo-settings.api.service';\n\n@Component({\n selector: 'app-taon-seo-settings-backoffice',\n templateUrl: './taon-seo-settings-backoffice.component.html',\n styleUrls: ['./taon-seo-settings-backoffice.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n ReactiveFormsModule,\n MatButtonModule,\n MatCheckboxModule,\n MatFormFieldModule,\n MatInputModule,\n TaonSeoImageInputComponent,\n ],\n providers: [TaonSeoSettingsApiService],\n})\nexport class TaonSeoSettingsBackofficeComponent {\n readonly form = new FormGroup({\n siteName: new FormControl('', { nonNullable: true }),\n defaultTitle: new FormControl('', { nonNullable: true }),\n defaultDescription: new FormControl('', { nonNullable: true }),\n defaultKeywords: new FormControl<string | null>(null),\n defaultImageKey: new FormControl<string | null>(null),\n canonicalBaseUrl: new FormControl<string | null>(null),\n robotsIndex: new FormControl(true, { nonNullable: true }),\n robotsFollow: new FormControl(true, { nonNullable: true }),\n });\n readonly loading = signal(true);\n readonly saving = signal(false);\n readonly uploading = signal(false);\n readonly error = signal('');\n readonly saved = signal(false);\n private readonly api = inject(TaonSeoSettingsApiService);\n private readonly destroyRef = inject(DestroyRef);\n\n ngOnInit(): void {\n this.load();\n }\n\n load(): void {\n this.loading.set(true);\n this.error.set('');\n this.api\n .getGlobal()\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n finalize(() => this.loading.set(false)),\n )\n .subscribe({\n next: settings => {\n this.form.enable();\n this.form.patchValue(settings);\n },\n error: (error: unknown) => {\n console.error('[taon-seo-settings] Unable to load settings', error);\n this.error.set(\n 'SEO settings could not be loaded. Retry before saving.',\n );\n this.form.disable();\n },\n });\n }\n\n save(): void {\n if (\n this.loading() ||\n this.saving() ||\n this.uploading() ||\n this.form.disabled\n ) {\n return;\n }\n this.saving.set(true);\n this.saved.set(false);\n this.error.set('');\n this.api\n .saveGlobal(this.form.getRawValue())\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n finalize(() => this.saving.set(false)),\n )\n .subscribe({\n next: settings => {\n this.form.patchValue(settings);\n this.form.markAsPristine();\n this.saved.set(true);\n },\n error: (error: unknown) => {\n console.error('[taon-seo-settings] Unable to save settings', error);\n this.error.set(\n 'SEO settings could not be saved. Check the canonical URL and try again.',\n );\n },\n });\n }\n}\n","<h1>General SEO settings</h1>\n@if (loading()) {\n <p role=\"status\">Loading SEO settings...</p>\n}\n@if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n @if (form.disabled) {\n <button\n mat-button\n type=\"button\"\n (click)=\"load()\">\n Retry\n </button>\n }\n}\n@if (saved()) {\n <p role=\"status\">SEO settings saved.</p>\n}\n<form\n [formGroup]=\"form\"\n (ngSubmit)=\"save()\">\n <fieldset [disabled]=\"loading() || saving() || form.disabled\">\n <mat-form-field>\n <mat-label>Site name</mat-label>\n <input\n matInput\n formControlName=\"siteName\" />\n </mat-form-field>\n <mat-form-field>\n <mat-label>Default page title</mat-label>\n <input\n matInput\n formControlName=\"defaultTitle\" />\n </mat-form-field>\n <mat-form-field>\n <mat-label>Default meta description</mat-label>\n <textarea\n matInput\n formControlName=\"defaultDescription\"\n rows=\"4\"></textarea>\n </mat-form-field>\n <mat-form-field>\n <mat-label>Default keywords</mat-label>\n <input\n matInput\n formControlName=\"defaultKeywords\" />\n </mat-form-field>\n <taon-seo-image-input\n [key]=\"form.controls.defaultImageKey.value\"\n (keyChange)=\"form.controls.defaultImageKey.setValue($event)\"\n [disabled]=\"loading() || saving() || form.disabled\"\n [(uploading)]=\"uploading\" />\n <mat-form-field>\n <mat-label>Canonical base URL</mat-label>\n <input\n matInput\n formControlName=\"canonicalBaseUrl\"\n placeholder=\"https://example.com\" />\n <mat-hint\n >Absolute website URL, optionally including its deployment\n subpath.</mat-hint\n >\n </mat-form-field>\n <mat-checkbox formControlName=\"robotsIndex\">Allow indexing</mat-checkbox>\n <mat-checkbox formControlName=\"robotsFollow\"\n >Allow following links</mat-checkbox\n >\n <button\n mat-flat-button\n type=\"submit\"\n [disabled]=\"loading() || saving() || uploading() || form.disabled\">\n {{ saving() ? 'Saving...' : 'Save settings' }}\n </button>\n </fieldset>\n</form>\n","//namespace TaonSeoSettingsBackofficeModels\n\n//end of namespace TaonSeoSettingsBackofficeModels\n","//#region imports\nimport { Routes } from '@angular/router';\nimport { adminLazyRoute } from '@taon-dev/ui/browser-prod';\n//#endregion\n\nexport const TaonSeoSettingsBackofficeRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-seo-settings-backoffice.component').then(m => m.TaonSeoSettingsBackofficeComponent),\n\n children: [\n // adminLazyRoute({\n // path: 'dashboard',\n // menuItem: 'Dashboard',\n // icon: 'dashboard',\n // expandable: false,\n // loader: () =>\n // import('./anothermodule.routes').then(m => m.DashboardRoutes),\n // }),\n ],\n },\n];\n\n/**\n * By default exporting TaonSeoSettingsBackofficeRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonSeoSettingsBackofficeRoutes;","// @ts-nocheck\n// This file is auto-generated during init process. Do not modify.\n// This disable this auto generate file.\n// set property \"shouldGenerateAutogenIndexFile: false\" \n// in taon.jsonc of your project. \nexport * from './build-info._auto-generated_'; \nexport * from './my-organization-proj'; \nexport * from './start-cli'; \nexport * from './taon-seo-image.api.service'; // @browser\nexport * from './taon-seo-image.controller'; \nexport * from './taon-seo.abstract.context'; \nexport * from './taon-seo.provider'; \nexport * from './taon-seo.service'; // @browser\nexport * from './taon-seo.utils'; \nexport * from './taon-seo.validation'; \nexport * from './i18n/lib.translation'; \nexport * from './taon-seo-backoffice/taon-seo-backoffice.component'; // @browser\nexport * from './taon-seo-backoffice/taon-seo-backoffice.models'; \nexport * from './taon-seo-backoffice/taon-seo-backoffice.routes'; // @browser\nexport * from './taon-seo-image-input/taon-seo-image-input.component'; // @browser\nexport * from './taon-seo-page/taon-seo-page.abstract.context'; \nexport * from './taon-seo-page/taon-seo-page.api.service'; // @browser\nexport * from './taon-seo-page/taon-seo-page.config.service'; // @browser\nexport * from './taon-seo-page/taon-seo-page.constants'; \nexport * from './taon-seo-page/taon-seo-page.controller'; \nexport * from './taon-seo-page/taon-seo-page.entity'; \nexport * from './taon-seo-page/taon-seo-page.kv.repository'; \nexport * from './taon-seo-page/taon-seo-page.middleware'; \nexport * from './taon-seo-page/taon-seo-page.models'; \nexport * from './taon-seo-page/taon-seo-page.provider'; \nexport * from './taon-seo-page/taon-seo-page.repository'; \nexport * from './taon-seo-page/taon-seo-page.subscriber'; \nexport * from './taon-seo-page/taon-seo-page.utils'; \nexport * from './taon-seo-page/taon-seo-page.validators'; \nexport * from './taon-seo-settings/taon-seo-settings.abstract.context'; \nexport * from './taon-seo-settings/taon-seo-settings.api.service'; // @browser\nexport * from './taon-seo-settings/taon-seo-settings.config.service'; // @browser\nexport * from './taon-seo-settings/taon-seo-settings.constants'; \nexport * from './taon-seo-settings/taon-seo-settings.controller'; \nexport * from './taon-seo-settings/taon-seo-settings.entity'; \nexport * from './taon-seo-settings/taon-seo-settings.kv.repository'; \nexport * from './taon-seo-settings/taon-seo-settings.middleware'; \nexport * from './taon-seo-settings/taon-seo-settings.models'; \nexport * from './taon-seo-settings/taon-seo-settings.provider'; \nexport * from './taon-seo-settings/taon-seo-settings.repository'; \nexport * from './taon-seo-settings/taon-seo-settings.subscriber'; \nexport * from './taon-seo-settings/taon-seo-settings.utils'; \nexport * from './taon-seo-settings/taon-seo-settings.validators'; \nexport * from './taon-seo-page/i18n/taon-seo-page.translation'; \nexport * from './taon-seo-page/taon-seo-page-backoffice/taon-seo-page-backoffice.component'; // @browser\nexport * from './taon-seo-page/taon-seo-page-backoffice/taon-seo-page-backoffice.models'; \nexport * from './taon-seo-page/taon-seo-page-backoffice/taon-seo-page-backoffice.routes'; // @browser\nexport * from './taon-seo-page/taon-seo-page-edit-dialog/taon-seo-page-edit-dialog.component'; // @browser\nexport * from './taon-seo-settings/i18n/taon-seo-settings.translation'; \nexport * from './taon-seo-settings/taon-seo-settings-backoffice/taon-seo-settings-backoffice.component'; // @browser\nexport * from './taon-seo-settings/taon-seo-settings-backoffice/taon-seo-settings-backoffice.models'; \nexport * from './taon-seo-settings/taon-seo-settings-backoffice/taon-seo-settings-backoffice.routes'; // @browser","export * from './migrations';\nexport * from './env';\nexport * from './index._auto-generated_';\nexport * from './my-organization-proj';\n/* */ \nexport * from './taon-seo.service'; // @browser\nexport * from './taon-seo-image.api.service'; // @browser\nexport * from './taon-seo-image.controller';\nexport * from './taon-seo.provider';\nexport * from './taon-seo.utils';\nexport * from './taon-seo.validation';\nexport default {};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["t","MIGRATIONS_CLASSES_FOR_SeoContext","generatedMigrations","i1","i4"],"mappings":"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"}
1
+ {"version":3,"file":"seo-browser-prod.mjs","sources":["../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page.entity.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-settings/taon-seo-settings.constants.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-settings/taon-seo-settings.entity.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/migrations/1791655200000_seo_configuration.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/migrations/1791132517216_initial.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/migrations/migrations_index._auto-generated_.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/migrations/index.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/build-info._auto-generated_.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/my-organization-proj.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/start-cli.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo.provider.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-image.controller.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-image.api.service.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page.repository.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page.controller.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page.provider.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page.abstract.context.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-settings/taon-seo-settings.repository.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-settings/taon-seo-settings.controller.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-settings/taon-seo-settings.provider.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-settings/taon-seo-settings.abstract.context.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo.abstract.context.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page.api.service.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-settings/taon-seo-settings.api.service.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo.utils.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo.service.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo.validation.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/i18n/lib.translation.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-backoffice/taon-seo-backoffice.component.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-backoffice/taon-seo-backoffice.component.html","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-backoffice/taon-seo-backoffice.models.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-backoffice/taon-seo-backoffice.routes.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-image-input/taon-seo-image-input.component.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page.config.service.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page.constants.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page.kv.repository.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page.middleware.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page.models.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page.subscriber.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page.utils.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page.validators.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-settings/taon-seo-settings.config.service.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-settings/taon-seo-settings.kv.repository.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-settings/taon-seo-settings.middleware.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-settings/taon-seo-settings.models.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-settings/taon-seo-settings.subscriber.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-settings/taon-seo-settings.utils.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-settings/taon-seo-settings.validators.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/i18n/taon-seo-page.translation.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page-edit-dialog/taon-seo-page-edit-dialog.component.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page-edit-dialog/taon-seo-page-edit-dialog.component.html","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page-backoffice/taon-seo-page-backoffice.component.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page-backoffice/taon-seo-page-backoffice.component.html","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page-backoffice/taon-seo-page-backoffice.models.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-page/taon-seo-page-backoffice/taon-seo-page-backoffice.routes.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-settings/i18n/taon-seo-settings.translation.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-settings/taon-seo-settings-backoffice/taon-seo-settings-backoffice.component.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-settings/taon-seo-settings-backoffice/taon-seo-settings-backoffice.component.html","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-settings/taon-seo-settings-backoffice/taon-seo-settings-backoffice.models.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/taon-seo-settings/taon-seo-settings-backoffice/taon-seo-settings-backoffice.routes.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/index._auto-generated_.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/lib/index.ts","../../../tmp-libs-for-dist-prod/seo/projects/seo/src/seo-browser-prod.ts"],"sourcesContent":["import {\n Column,\n PrimaryGeneratedColumn,\n TaonBaseEntity,\n TaonEntity,\n} from 'taon/browser-prod';\n\n@TaonEntity({\n className: 'TaonSeoPageEntity',\n createTable: true,\n})\nexport class TaonSeoPageEntity extends TaonBaseEntity<TaonSeoPageEntity> {\n/* */\n/* */\n \n id: number;\n\n/* */\n/* */\n \n path: string;\n\n/* */\n/* */\n \n title: string | null;\n\n/* */\n/* */\n \n description: string | null;\n\n/* */\n/* */\n \n keywords: string | null;\n\n/* */\n/* */\n \n canonicalUrl: string | null;\n\n/* */\n/* */\n \n ogTitle: string | null;\n\n/* */\n/* */\n \n ogDescription: string | null;\n\n/* */\n/* */\n \n ogImageKey: string | null;\n\n/* */\n/* */\n \n noIndex: boolean;\n\n/* */\n/* */\n \n noFollow: boolean;\n\n/* */\n/* */\n \n createdAt: Date;\n\n/* */\n/* */\n \n updatedAt: Date;\n}\n","import type { TaonSeoSettingsEntity } from './taon-seo-settings.entity';\nimport { Translation } from '@taon-dev/i18n/browser-prod';\nimport { Taon__NS____FILE_RELATIVE_PATH, Taon__NS__asset, Taon__NS__assetsFrom, Taon__NS__assetsListFrom, Taon__NS__createContext, Taon__NS__createContextTemplate, Taon__NS__error, Taon__NS__getResponseValue, Taon__NS__isBrowser, Taon__NS__isElectron, Taon__NS__isNode, Taon__NS__isWebSQL, Taon__NS__LANG_IMPORT_MAP, Taon__NS__removeLoader, Taon__NS__Response, Taon__NS__ResponseHtml, Taon__NS__StartParams } from 'taon/browser-prod';\n\nconst t = Translation.for('src/lib/taon-seo-settings/taon-seo-settings.constants.ts', {\"src/lib/taon-seo-settings/taon-seo-settings.constants.ts\":{\"en-US\":async () => (await import('./i18n/taon-seo-settings.constants.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-seo-settings.constants.ts.pl-PL.i18n.data')).default}} as any);\n\nexport const TaonSeoSettingsDefaultsValues = {\n id: 1,\n siteName: '',\n defaultTitle: '',\n defaultDescription: '',\n defaultKeywords: null,\n defaultImageKey: null,\n canonicalBaseUrl: null,\n robotsIndex: true,\n robotsFollow: true,\n} as Partial<TaonSeoSettingsEntity>;\n\nexport enum TaonSeoSettingsErrors {\n INVALID_PASSWORD_EXAMPLE_ERROR = 'INVALID_PASSWORD_EXAMPLE_ERROR',\n}\n\nexport const TaonSeoSettingsTranslationErorsMap = new Map([\n [TaonSeoSettingsErrors.INVALID_PASSWORD_EXAMPLE_ERROR, t.gettext('Invalid Password')],\n]);","import { Column, PrimaryColumn, TaonBaseEntity, TaonEntity } from 'taon/browser-prod';\n\n@TaonEntity({\n className: 'TaonSeoSettingsEntity',\n createTable: true,\n})\nexport class TaonSeoSettingsEntity extends TaonBaseEntity<TaonSeoSettingsEntity> {\n/* */\n/* */\n \n id: number;\n\n/* */\n/* */\n \n siteName: string;\n\n/* */\n/* */\n \n defaultTitle: string;\n\n/* */\n/* */\n \n defaultDescription: string;\n\n/* */\n/* */\n \n defaultKeywords: string | null;\n\n/* */\n/* */\n \n defaultImageKey: string | null;\n\n/* */\n/* */\n \n canonicalBaseUrl: string | null;\n\n/* */\n/* */\n \n robotsIndex: boolean;\n\n/* */\n/* */\n \n robotsFollow: boolean;\n\n/* */\n/* */\n \n createdAt: Date;\n\n/* */\n/* */\n \n updatedAt: Date;\n}\n","import { TaonBaseMigration, TaonMigration } from 'taon/browser-prod';\nimport { QueryRunner, Table } from 'taon-typeorm/browser-prod';\n\nimport { TaonSeoPageEntity } from '../taon-seo-page/taon-seo-page.entity';\nimport { TaonSeoSettingsDefaultsValues } from '../taon-seo-settings/taon-seo-settings.constants';\nimport { TaonSeoSettingsEntity } from '../taon-seo-settings/taon-seo-settings.entity';\n\n@TaonMigration({ className: 'SeoContext_1791655200000_seo_configuration' })\nexport class SeoContext_1791655200000_seo_configuration extends TaonBaseMigration {\n async up(queryRunner: QueryRunner): Promise<void> {\n for (const entity of [TaonSeoSettingsEntity, TaonSeoPageEntity]) {\n const metadata = queryRunner.connection.getMetadata(entity);\n const expected = Table.create(metadata, queryRunner.connection.driver);\n const current = await queryRunner.getTable(metadata.tablePath);\n if (current) {\n const expectedNames = expected.columns\n .map(column => column.name)\n .sort()\n .join(',');\n const currentNames = current.columns\n .map(column => column.name)\n .sort()\n .join(',');\n if (expectedNames === currentNames) {\n continue;\n }\n // Demo rows contain no route identity; never invent application paths for them.\n const count = await queryRunner.manager\n .createQueryBuilder()\n .from(metadata.tablePath, 'seo')\n .getCount();\n if (count > 0) {\n throw new Error(\n `Cannot migrate populated legacy SEO table ${metadata.tablePath}. Map its demo records to the new SEO schema before retrying.`,\n );\n }\n await queryRunner.dropTable(current);\n }\n await queryRunner.createTable(expected, true);\n }\n\n const settings = queryRunner.manager.getRepository(TaonSeoSettingsEntity);\n const records = await settings.find();\n if (records.some(record => record.id !== 1)) {\n throw new Error(\n 'Global SEO settings must use the singleton ID 1. Consolidate existing settings before retrying.',\n );\n }\n const now = new Date();\n await settings\n .createQueryBuilder()\n .insert()\n .values({\n ...TaonSeoSettingsDefaultsValues,\n createdAt: now,\n updatedAt: now,\n })\n .orIgnore()\n .execute();\n }\n\n async down(queryRunner: QueryRunner): Promise<void> {\n for (const entity of [TaonSeoPageEntity, TaonSeoSettingsEntity]) {\n const metadata = queryRunner.connection.getMetadata(entity);\n await queryRunner.dropTable(metadata.tablePath, true);\n }\n }\n}\n","import {\n MyAppAuthorization,\n MyAppGroup,\n MyAppPermission,\n MyAppRole,\n} from '@taon-dev/cms/browser-prod';\nimport { TaonAuthContextRepository } from '@taon-dev/session/browser-prod';\nimport { TaonBaseMigration, TaonMigration, Taon__NS____FILE_RELATIVE_PATH, Taon__NS__asset, Taon__NS__assetsFrom, Taon__NS__assetsListFrom, Taon__NS__createContext, Taon__NS__createContextTemplate, Taon__NS__error, Taon__NS__getResponseValue, Taon__NS__isBrowser, Taon__NS__isElectron, Taon__NS__isNode, Taon__NS__isWebSQL, Taon__NS__LANG_IMPORT_MAP, Taon__NS__removeLoader, Taon__NS__Response, Taon__NS__ResponseHtml, Taon__NS__StartParams } from 'taon/browser-prod';\nimport { QueryRunner } from 'taon-typeorm/browser-prod';\n\n//#region Migration class for context \"SeoContext\"\n@TaonMigration({\n className: 'SeoContext_1791132517216_initial',\n})\nexport class SeoContext_1791132517216_initial extends TaonBaseMigration {\n private taonAuthContextRepository = this.injectCustomRepo(\n TaonAuthContextRepository<MyAppAuthorization>,\n );\n\n //#region up\n async up(queryRunner: QueryRunner): Promise<any> {\n await queryRunner.startTransaction();\n try {\n await this.taonAuthContextRepository.persistTree({\n enums: {\n groups: MyAppGroup,\n roles: MyAppRole,\n permissions: MyAppPermission,\n },\n tree: {\n groupAndRoles: {\n [MyAppGroup.Administrator]: '*',\n [MyAppGroup.Customers]: [MyAppRole.BlogReader],\n },\n rolesAndPermissions: {\n [MyAppRole.Customer]: [\n MyAppPermission.AccessCourseP2,\n MyAppPermission.AccessCourseP2,\n ],\n [MyAppRole.CustomerPremium]: '*',\n },\n },\n });\n\n await queryRunner.commitTransaction();\n } catch (error) {\n console.error('Error in migration:', error);\n await queryRunner.rollbackTransaction();\n } finally {\n await queryRunner.release();\n }\n }\n //#endregion\n\n //#region down\n async down(queryRunner: QueryRunner): Promise<any> {\n await queryRunner.startTransaction();\n try {\n await this.taonAuthContextRepository.clearRolesGroupPermissions();\n\n await queryRunner.commitTransaction();\n } catch (error) {\n console.error('Error in migration:', error);\n await queryRunner.rollbackTransaction();\n } finally {\n await queryRunner.release();\n }\n }\n //#endregion\n}\n//#endregion","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { SeoContext_1791132517216_initial } from './1791132517216_initial';\nimport { SeoContext_1791655200000_seo_configuration } from './1791655200000_seo_configuration';\n// THIS FILE IS GENERATED - DO NOT MODIFY\nexport const MIGRATIONS_CLASSES_FOR_SeoContext = {\n /* 04-10-2026 18:48:37 */ SeoContext_1791132517216_initial,\n /* 10-10-2026 20:00:00 */ SeoContext_1791655200000_seo_configuration,\n};\n// THIS FILE IS GENERATED - DO NOT MODIFY\n","import { SeoContext_1791655200000_seo_configuration } from './1791655200000_seo_configuration';\nimport { MIGRATIONS_CLASSES_FOR_SeoContext as generatedMigrations } from './migrations_index._auto-generated_';\n\nexport const MIGRATIONS_CLASSES_FOR_SeoContext = {\n ...generatedMigrations,\n SeoContext_1791655200000_seo_configuration,\n};\n","// THIS FILE IS GENERATED - DO NOT MODIFY\n/**\n * Autogenerated by current cli tool\n */\nexport const BUILD_FRAMEWORK_CLI_NAME = 'tnp';\n/**\n * This value can be change in taon.jsonc (appId)\n */\nexport const APP_ID = 'com.domain.example.seo';\n/**\n * Autogenerated by current cli tool\n */\nexport const BUILD_BASE_HREF = '';\n/**\n * This value can be change in taon.jsonc (overrideNpmName)\n */\nexport const PROJECT_NPM_NAME = '@taon-dev/seo';\n/**\n * Taon version from you project taon.json\n */\nexport const CURRENT_PACKAGE_TAON_VERSION = 'v21';\n/**\n * Autogenerated by current cli tool. Use *tnp release* to bump version.\n */\nexport const CURRENT_PACKAGE_VERSION = '21.0.8';\n\n\n\n\n\n// THIS FILE IS GENERATED - DO NOT MODIFY\n ","import { Translation } from \"@taon-dev/i18n/browser-prod\";\nimport { Taon__NS____FILE_RELATIVE_PATH, Taon__NS__asset, Taon__NS__assetsFrom, Taon__NS__assetsListFrom, Taon__NS__createContext, Taon__NS__createContextTemplate, Taon__NS__error, Taon__NS__getResponseValue, Taon__NS__isBrowser, Taon__NS__isElectron, Taon__NS__isNode, Taon__NS__isWebSQL, Taon__NS__LANG_IMPORT_MAP, Taon__NS__removeLoader, Taon__NS__Response, Taon__NS__ResponseHtml, Taon__NS__StartParams } from \"taon/browser-prod\";\n\nconst t = Translation.for('src/lib/my-organization-proj.ts', {\"src/lib/my-organization-proj.ts\":{\"en-US\":async () => (await import('./i18n/my-organization-proj.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/my-organization-proj.ts.pl-PL.i18n.data')).default}} as any);\n\nexport function myOrgProj() {\n t.gettext('My Translated Company Name!')\n}","//#region tnp-helpers cli template\nimport { UtilsJson__NS__AttrJsoncProp, UtilsJson__NS__getAtrributiesFromJsonWithComments, UtilsJson__NS__getAttributiesFromComment, UtilsJson__NS__getValue, UtilsJson__NS__readJson, UtilsJson__NS__readJsonWithComments, UtilsJson__NS__setValue, UtilsJson__NS__validateLodashPath } from 'tnp-core/browser-prod';\nimport { BaseCommandLineFeature, Helpers__NS___fixCommand, Helpers__NS__ActionInstance, Helpers__NS__actionStarted, Helpers__NS__bigMaxBuffer, Helpers__NS__checkProcess, Helpers__NS__cleanExit, Helpers__NS__clearConsole, Helpers__NS__command, Helpers__NS__commandOutputAsString, Helpers__NS__commandOutputAsStringAsync, Helpers__NS__contain, Helpers__NS__createFolder, Helpers__NS__createSymLink, Helpers__NS__error, Helpers__NS__execute, Helpers__NS__exists, Helpers__NS__filesFrom, Helpers__NS__foldersFrom, Helpers__NS__getFilesFrom, Helpers__NS__getFoldersFrom, Helpers__NS__getIsBrowser, Helpers__NS__getIsElectron, Helpers__NS__getIsNode, Helpers__NS__getIsRunningInGitBash, Helpers__NS__getIsSupportedTaonTerminal, Helpers__NS__getIsVerboseMode, Helpers__NS__getIsVerboseModeOrTnp, Helpers__NS__getIsWebSQL, Helpers__NS__getIsWsl, Helpers__NS__getStdio, Helpers__NS__hideNodeWarnings, Helpers__NS__info, Helpers__NS__isBlob, Helpers__NS__isBuffer, Helpers__NS__isClass, Helpers__NS__isExistedSymlink, Helpers__NS__isFile, Helpers__NS__isFolder, Helpers__NS__isRunningInDocker, Helpers__NS__isRunningInLinuxGraphicsCapableEnvironment, Helpers__NS__isSymlinkFileExitedOrUnexisted, Helpers__NS__isSymlinkThatMatchesUrl, Helpers__NS__isUnexistedLink, Helpers__NS__killOnPort, Helpers__NS__killProcess, Helpers__NS__killProcessByPort, Helpers__NS__linksToFolderFrom, Helpers__NS__linksToFoldersFrom, Helpers__NS__log, Helpers__NS__logError, Helpers__NS__logInfo, Helpers__NS__logProc, Helpers__NS__logSuccess, Helpers__NS__logTaskDone, Helpers__NS__logTaskStarted, Helpers__NS__logWarn, Helpers__NS__mediaTypeFromSrc, Helpers__NS__mkdirp, Helpers__NS__modifyLineByLine, Helpers__NS__msgCacheClear, Helpers__NS__openFolderInFileExplorer, Helpers__NS__parse, Helpers__NS__pathContainLink, Helpers__NS__questionYesNo, Helpers__NS__readFile, Helpers__NS__readJson, Helpers__NS__readJson5, Helpers__NS__readJsonC, Helpers__NS__relative, Helpers__NS__remove, Helpers__NS__removeEmptyLineFromString, Helpers__NS__removeFileIfExists, Helpers__NS__removeFolderIfExists, Helpers__NS__removeIfExists, Helpers__NS__removeSlashAtBegin, Helpers__NS__removeSlashAtEnd, Helpers__NS__removeSymlinks, Helpers__NS__renderError, Helpers__NS__replaceLinesInFile, Helpers__NS__run, Helpers__NS__runAsyncIn, Helpers__NS__runSyncIn, Helpers__NS__runSyncOrAsync, Helpers__NS__sleep, Helpers__NS__stopApplication, Helpers__NS__stringify, Helpers__NS__success, Helpers__NS__taskDone, Helpers__NS__taskStarted, Helpers__NS__throwError, Helpers__NS__timeout, Helpers__NS__tryCatchError, Helpers__NS__tryReadFile, Helpers__NS__tryRemoveDir, Helpers__NS__values, Helpers__NS__wait, Helpers__NS__warn, Helpers__NS__writeFile, Helpers__NS__writeJson, Helpers__NS__writeJson5, Helpers__NS__writeJsonC } from 'tnp-helpers/browser-prod';\n/* */ \n//#endregion\n\n//#region CLI / global scope\n/**\n * This class is for handling global arguments. *\n * Cli engine will parse: hello:world:from:global:arg to helloWorldFromGlobalArg\n * (lower case, camel case) .. so you don't need to worry about misspelling\n * arguments\n */\nclass $Global extends BaseCommandLineFeature<{}> {\n /**\n * When you execute cli without arguments:`$ cli`\n */\n public _() {\n console.log(`Hello world from cli`);\n this._exit();\n }\n\n /**\n * When you execute: `$ cli hello:world:from:global:arg`\n * (or `$ cli helloWorldFromGlobalArg`)\n */\n helloWorldFromGlobalArg() {\n console.log('hello world from global argument!');\n this._exit(0);\n }\n}\n//#endregion\n\n//#region CLI / Version Scope\n/**\n *\n */\nclass $Version extends BaseCommandLineFeature<{\n anyCLIparamsHere: string;\n}> {\n /**\n * When you execute: `$ cli version`\n */\n public _() {\n console.log(`Hello world from version argument`);\n this._exit();\n }\n\n /**\n * When you execute: `$ cli version:getFromPackageJson`\n */\n public getFromPackageJson() {\n const ver = UtilsJson__NS__getValue(\n this.project.pathFor('package.json'),\n 'version',\n {\n defaultValue: '<not defined>',\n },\n );\n console.log(`Version from packageJson ${ver}`);\n this._exit(0);\n }\n}\n//#endregion\n\n/**\n *\n * @param argsv process.argsv\n * @param filename needed if you want ipc communicaiton\n */\nexport async function startCli(\n argsv: string[],\n filename: string,\n): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n}\n\nexport default startCli;","import {\n TaonAuthContextRepository,\n TaonSessionRepository,\n} from '@taon-dev/session/browser-prod';\nimport { TaonBaseProvider, TaonProvider, Models__NS__ClassType, Models__NS__ClassTypeKey, Models__NS__ConnectionOptionsLogs, Models__NS__ContextOptions, Models__NS__DatabaseConfig, Models__NS__DatabaseConfigTypeOrm, Models__NS__DatabasesFolder, Models__NS__DBRecreateMode, Models__NS__DBRecreateModeType, Models__NS__FrameworkMode, Models__NS__Http__NS__AsyncResponse, Models__NS__Http__NS__ClientAction, Models__NS__Http__NS__ContextENDPOINT, Models__NS__Http__NS__ExpressContext, Models__NS__Http__NS__FormlyFromType, Models__NS__Http__NS__MixResponse, Models__NS__Http__NS__PromiseObservableMix, Models__NS__Http__NS__RequestResults, Models__NS__Http__NS__Response, Models__NS__Http__NS__ResponseFuncOpt, Models__NS__Http__NS__SyncResponse, Models__NS__Http__NS__SyncResponseFunc, Models__NS__Http__NS__TaonResponseStream, Models__NS__KVDatabaseConfig, Models__NS__MiddlewareType, Models__NS__StartParams, Models__NS__TaonCtrlBeforeEachRequestParams, Models__NS__TaonCtxCloneParams, Models__NS__TaonInitializeParams } from 'taon/browser-prod';\n\nimport { seoError } from './taon-seo.validation';\n\n@TaonProvider({ className: 'TaonSeoProvider' })\nexport class TaonSeoProvider extends TaonBaseProvider {\n private readonly sessions = this.injectCustomRepo(TaonSessionRepository);\n private readonly authorization = this.injectCustomRepo(\n TaonAuthContextRepository,\n );\n\n async requireAdministrator({\n req,\n res,\n }: Models__NS__TaonCtrlBeforeEachRequestParams): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","import { ExpressRequest, ExpressResponse, TaonBaseStorageController, TaonController, TaonStorageObject, TaonUploadedFile, Models__NS__ClassType, Models__NS__ClassTypeKey, Models__NS__ConnectionOptionsLogs, Models__NS__ContextOptions, Models__NS__DatabaseConfig, Models__NS__DatabaseConfigTypeOrm, Models__NS__DatabasesFolder, Models__NS__DBRecreateMode, Models__NS__DBRecreateModeType, Models__NS__FrameworkMode, Models__NS__Http__NS__AsyncResponse, Models__NS__Http__NS__ClientAction, Models__NS__Http__NS__ContextENDPOINT, Models__NS__Http__NS__ExpressContext, Models__NS__Http__NS__FormlyFromType, Models__NS__Http__NS__MixResponse, Models__NS__Http__NS__PromiseObservableMix, Models__NS__Http__NS__RequestResults, Models__NS__Http__NS__Response, Models__NS__Http__NS__ResponseFuncOpt, Models__NS__Http__NS__SyncResponse, Models__NS__Http__NS__SyncResponseFunc, Models__NS__Http__NS__TaonResponseStream, Models__NS__KVDatabaseConfig, Models__NS__MiddlewareType, Models__NS__StartParams, Models__NS__TaonCtrlBeforeEachRequestParams, Models__NS__TaonCtxCloneParams, Models__NS__TaonInitializeParams } from 'taon/browser-prod';\n\nimport { TaonSeoProvider } from './taon-seo.provider';\nimport { seoError } from './taon-seo.validation';\n\nconst imageTypes = new Map([\n ['png', 'image/png'],\n ['jpg', 'image/jpeg'],\n ['jpeg', 'image/jpeg'],\n ['gif', 'image/gif'],\n ['webp', 'image/webp'],\n]);\n\n@TaonController({\n className: 'TaonSeoImageController',\n allowedMethods: ['download', 'getPublicUrl', 'uploadFormDataToServer'],\n})\nexport class TaonSeoImageController extends TaonBaseStorageController {\n private readonly seo = this.injectProvider(TaonSeoProvider);\n\n async beforeEachRequest(\n params: Models__NS__TaonCtrlBeforeEachRequestParams,\n ): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n protected async handleUploadFiles(\n files: TaonUploadedFile[],\n queryParams?: {},\n req?: ExpressRequest,\n res?: ExpressResponse,\n ): Promise<TaonStorageObject[]> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n afterFileUploadHook(): void {}\n\n buildStorageDownloadUrl(options: {\n req: ExpressRequest;\n key: string;\n private: boolean;\n token?: string;\n }): string {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async createStorageDownloadToken(): Promise<string> {\n throw new Error(\n 'SEO images are public; private download tokens are not supported.',\n );\n }\n}","import { Injectable } from '@angular/core';\nimport { map } from 'rxjs';\nimport { TaonBaseAngularService } from 'taon/browser-prod';\n\nimport { TaonSeoImageController } from './taon-seo-image.controller';\n\n@Injectable()\nexport class TaonSeoImageApiService extends TaonBaseAngularService {\n private readonly images = this.injectController(TaonSeoImageController);\n\n async upload(file: File): Promise<string> {\n const data = new FormData();\n data.append('file', file);\n const response = await this.images.uploadFormDataToServer(data).request!();\n const objects = response.body.json;\n if (objects.length !== 1 || !objects[0].key) {\n throw new Error('The upload did not return an image key.');\n }\n return objects[0].key;\n }\n\n getPublicUrl(key: string) {\n return this.images.getPublicUrl(key).request!().observable.pipe(\n map(response => {\n const url = response.responseText;\n if (!url || !/^https?:\\/\\//.test(url)) {\n throw new Error(\n 'The image endpoint did not return an absolute HTTP(S) URL.',\n );\n }\n return url;\n }),\n );\n }\n}\n","import { TaonBaseRepository, TaonRepository } from 'taon/browser-prod';\n\nimport {\n requireSeoId,\n seoError,\n validateSeoPage,\n validateSeoPath,\n} from '../taon-seo.validation';\n\nimport { TaonSeoPageEntity } from './taon-seo-page.entity';\nimport type { TaonSeoPageInput } from './taon-seo-page.models';\n\n@TaonRepository({ className: 'TaonSeoPageRepository' })\nexport class TaonSeoPageRepository extends TaonBaseRepository<TaonSeoPageEntity> {\n entityClassResolveFn = () => TaonSeoPageEntity;\n\n async findByPath(path: string): Promise<TaonSeoPageEntity | null> {\n/* */\n/* */\n return (void 0);\n }\n\n async savePage(\n input: TaonSeoPageInput,\n id?: number,\n ): Promise<TaonSeoPageEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async deletePage(id: number): Promise<TaonSeoPageEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}\n","import { Body, DELETE, GET, POST, PUT, Query, TaonBaseCrudController, TaonController, Models__NS__ClassType, Models__NS__ClassTypeKey, Models__NS__ConnectionOptionsLogs, Models__NS__ContextOptions, Models__NS__DatabaseConfig, Models__NS__DatabaseConfigTypeOrm, Models__NS__DatabasesFolder, Models__NS__DBRecreateMode, Models__NS__DBRecreateModeType, Models__NS__FrameworkMode, Models__NS__Http__NS__AsyncResponse, Models__NS__Http__NS__ClientAction, Models__NS__Http__NS__ContextENDPOINT, Models__NS__Http__NS__ExpressContext, Models__NS__Http__NS__FormlyFromType, Models__NS__Http__NS__MixResponse, Models__NS__Http__NS__PromiseObservableMix, Models__NS__Http__NS__RequestResults, Models__NS__Http__NS__Response, Models__NS__Http__NS__ResponseFuncOpt, Models__NS__Http__NS__SyncResponse, Models__NS__Http__NS__SyncResponseFunc, Models__NS__Http__NS__TaonResponseStream, Models__NS__KVDatabaseConfig, Models__NS__MiddlewareType, Models__NS__StartParams, Models__NS__TaonCtrlBeforeEachRequestParams, Models__NS__TaonCtxCloneParams, Models__NS__TaonInitializeParams, Taon__NS____FILE_RELATIVE_PATH, Taon__NS__asset, Taon__NS__assetsFrom, Taon__NS__assetsListFrom, Taon__NS__createContext, Taon__NS__createContextTemplate, Taon__NS__error, Taon__NS__getResponseValue, Taon__NS__isBrowser, Taon__NS__isElectron, Taon__NS__isNode, Taon__NS__isWebSQL, Taon__NS__LANG_IMPORT_MAP, Taon__NS__removeLoader, Taon__NS__Response, Taon__NS__ResponseHtml, Taon__NS__StartParams } from 'taon/browser-prod';\n\nimport { TaonSeoProvider } from '../taon-seo.provider';\n\nimport { TaonSeoPageEntity } from './taon-seo-page.entity';\nimport type { TaonSeoPageInput } from './taon-seo-page.models';\nimport { TaonSeoPageRepository } from './taon-seo-page.repository';\n\n@TaonController({\n className: 'TaonSeoPageController',\n allowedMethods: [\n 'getAll',\n 'getBy',\n 'paginationQuery',\n 'findByPath',\n 'createPage',\n 'updatePage',\n 'deletePage',\n ],\n})\nexport class TaonSeoPageController extends TaonBaseCrudController<TaonSeoPageEntity> {\n entityClassResolveFn = () => TaonSeoPageEntity;\n private readonly pages = this.injectCustomRepo(TaonSeoPageRepository);\n private readonly seo = this.injectProvider(TaonSeoProvider);\n\n async beforeEachRequest(\n params: Models__NS__TaonCtrlBeforeEachRequestParams,\n ): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n @GET()\n findByPath(\n @Query('path') path: string,\n ): Taon__NS__Response<TaonSeoPageEntity | null> {\n/* */\n/* */\n return (void 0);\n }\n\n @POST()\n createPage(\n @Body() input: TaonSeoPageInput,\n ): Taon__NS__Response<TaonSeoPageEntity> {\n/* */\n/* */\n return (void 0);\n }\n\n @PUT()\n updatePage(\n @Query('id') id: number,\n @Body() input: TaonSeoPageInput,\n ): Taon__NS__Response<TaonSeoPageEntity> {\n/* */\n/* */\n return (void 0);\n }\n\n @DELETE()\n deletePage(@Query('id') id: number): Taon__NS__Response<TaonSeoPageEntity> {\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport { TaonBaseClass, TaonBaseProvider, TaonProvider, Taon__NS____FILE_RELATIVE_PATH, Taon__NS__asset, Taon__NS__assetsFrom, Taon__NS__assetsListFrom, Taon__NS__createContext, Taon__NS__createContextTemplate, Taon__NS__error, Taon__NS__getResponseValue, Taon__NS__isBrowser, Taon__NS__isElectron, Taon__NS__isNode, Taon__NS__isWebSQL, Taon__NS__LANG_IMPORT_MAP, Taon__NS__removeLoader, Taon__NS__Response, Taon__NS__ResponseHtml, Taon__NS__StartParams } from 'taon/browser-prod';\nimport { ___NS__add, ___NS__after, ___NS__ary, ___NS__assign, ___NS__assignIn, ___NS__assignInWith, ___NS__assignWith, ___NS__at, ___NS__attempt, ___NS__before, ___NS__bind, ___NS__bindAll, ___NS__bindKey, ___NS__camelCase, ___NS__capitalize, ___NS__castArray, ___NS__ceil, ___NS__chain, ___NS__chunk, ___NS__clamp, ___NS__clone, ___NS__cloneDeep, ___NS__cloneDeepWith, ___NS__cloneWith, ___NS__compact, ___NS__concat, ___NS__cond, ___NS__conforms, ___NS__conformsTo, ___NS__constant, ___NS__countBy, ___NS__create, ___NS__curry, ___NS__curryRight, ___NS__debounce, ___NS__deburr, ___NS__defaults, ___NS__defaultsDeep, ___NS__defaultTo, ___NS__defer, ___NS__delay, ___NS__difference, ___NS__differenceBy, ___NS__differenceWith, ___NS__divide, ___NS__drop, ___NS__dropRight, ___NS__dropRightWhile, ___NS__dropWhile, ___NS__each, ___NS__eachRight, ___NS__endsWith, ___NS__entries, ___NS__entriesIn, ___NS__eq, ___NS__escape, ___NS__escapeRegExp, ___NS__every, ___NS__extend, ___NS__extendWith, ___NS__fill, ___NS__filter, ___NS__find, ___NS__findIndex, ___NS__findKey, ___NS__findLast, ___NS__findLastIndex, ___NS__findLastKey, ___NS__first, ___NS__flatMap, ___NS__flatMapDeep, ___NS__flatMapDepth, ___NS__flatten, ___NS__flattenDeep, ___NS__flattenDepth, ___NS__flip, ___NS__floor, ___NS__flow, ___NS__flowRight, ___NS__forEach, ___NS__forEachRight, ___NS__forIn, ___NS__forInRight, ___NS__forOwn, ___NS__forOwnRight, ___NS__fromPairs, ___NS__functions, ___NS__functionsIn, ___NS__get, ___NS__groupBy, ___NS__gt, ___NS__gte, ___NS__has, ___NS__hasIn, ___NS__head, ___NS__identity, ___NS__includes, ___NS__indexOf, ___NS__initial, ___NS__inRange, ___NS__intersection, ___NS__intersectionBy, ___NS__intersectionWith, ___NS__invert, ___NS__invertBy, ___NS__invoke, ___NS__invokeMap, ___NS__isArguments, ___NS__isArray, ___NS__isArrayBuffer, ___NS__isArrayLike, ___NS__isArrayLikeObject, ___NS__isBoolean, ___NS__isBuffer, ___NS__isDate, ___NS__isElement, ___NS__isEmpty, ___NS__isEqual, ___NS__isEqualWith, ___NS__isError, ___NS__isFinite, ___NS__isFunction, ___NS__isInteger, ___NS__isLeafObject, ___NS__isLength, ___NS__isMap, ___NS__isMatch, ___NS__isMatchWith, ___NS__isNaN, ___NS__isNative, ___NS__isNil, ___NS__isNull, ___NS__isNumber, ___NS__isObject, ___NS__isObjectLike, ___NS__isPlainObject, ___NS__isRegExp, ___NS__isSafeInteger, ___NS__isSet, ___NS__isString, ___NS__isSymbol, ___NS__isTypedArray, ___NS__isUndefined, ___NS__isWeakMap, ___NS__isWeakSet, ___NS__iteratee, ___NS__join, ___NS__kebabCase, ___NS__keyBy, ___NS__keys, ___NS__keysIn, ___NS__last, ___NS__lastIndexOf, ___NS__lowerCase, ___NS__lowerFirst, ___NS__lt, ___NS__lte, ___NS__map, ___NS__mapKeys, ___NS__mapValues, ___NS__matches, ___NS__matchesProperty, ___NS__max, ___NS__maxBy, ___NS__mean, ___NS__meanBy, ___NS__memoize, ___NS__merge, ___NS__mergeWith, ___NS__method, ___NS__methodOf, ___NS__min, ___NS__minBy, ___NS__mixin, ___NS__multiply, ___NS__negate, ___NS__noop, ___NS__now, ___NS__nth, ___NS__nthArg, ___NS__omit, ___NS__omitBy, ___NS__once, ___NS__orderBy, ___NS__over, ___NS__overArgs, ___NS__overEvery, ___NS__overSome, ___NS__pad, ___NS__padEnd, ___NS__padStart, ___NS__parseInt, ___NS__partial, ___NS__partialRight, ___NS__partition, ___NS__pick, ___NS__pickBy, ___NS__property, ___NS__propertyOf, ___NS__pull, ___NS__pullAll, ___NS__pullAllBy, ___NS__pullAllWith, ___NS__pullAt, ___NS__random, ___NS__range, ___NS__rangeRight, ___NS__rearg, ___NS__reduce, ___NS__reduceRight, ___NS__reject, ___NS__remove, ___NS__repeat, ___NS__replace, ___NS__rest, ___NS__result, ___NS__reverse, ___NS__round, ___NS__sample, ___NS__sampleSize, ___NS__set, ___NS__setWith, ___NS__shuffle, ___NS__size, ___NS__slice, ___NS__snakeCase, ___NS__some, ___NS__sortBy, ___NS__sortedIndex, ___NS__sortedIndexBy, ___NS__sortedIndexOf, ___NS__sortedLastIndex, ___NS__sortedLastIndexBy, ___NS__sortedLastIndexOf, ___NS__sortedUniq, ___NS__sortedUniqBy, ___NS__split, ___NS__spread, ___NS__startCase, ___NS__startsWith, ___NS__stubArray, ___NS__stubFalse, ___NS__stubObject, ___NS__stubString, ___NS__stubTrue, ___NS__subtract, ___NS__sum, ___NS__sumBy, ___NS__tail, ___NS__take, ___NS__takeRight, ___NS__takeRightWhile, ___NS__takeWhile, ___NS__tap, ___NS__template, ___NS__templateSettings, ___NS__throttle, ___NS__thru, ___NS__times, ___NS__toArray, ___NS__toFinite, ___NS__toInteger, ___NS__toLength, ___NS__toLower, ___NS__toNumber, ___NS__toPairs, ___NS__toPairsIn, ___NS__toPath, ___NS__toPlainObject, ___NS__toSafeInteger, ___NS__toString, ___NS__toUpper, ___NS__transform, ___NS__trim, ___NS__trimEnd, ___NS__trimStart, ___NS__truncate, ___NS__unary, ___NS__unescape, ___NS__union, ___NS__unionBy, ___NS__unionWith, ___NS__uniq, ___NS__uniqBy, ___NS__uniqueId, ___NS__uniqWith, ___NS__unset, ___NS__unzip, ___NS__unzipWith, ___NS__update, ___NS__updateWith, ___NS__upperCase, ___NS__upperFirst, ___NS__values, ___NS__valuesIn, ___NS__without, ___NS__words, ___NS__wrap, ___NS__xor, ___NS__xorBy, ___NS__xorWith, ___NS__zip, ___NS__zipObject, ___NS__zipObjectDeep, ___NS__zipWith } from 'tnp-core/browser-prod';\n//#endregion\n\nexport class TaonTaonSeoPageConfig extends TaonBaseClass {\n declare name: string;\n}\n\n@TaonProvider({\n className: 'TaonSeoPageProvider',\n})\nexport class TaonSeoPageProvider extends TaonBaseProvider {\n enabledTaonSeoPageOption: boolean = true;\n config = new TaonTaonSeoPageConfig();\n clone() {\n return {\n enabledTaonSeoPageOption: this.enabledTaonSeoPageOption,\n config: this.config.clone(),\n };\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser-prod';\n\nimport { TaonSeoPageEntity } from './taon-seo-page.entity';\nimport { TaonSeoPageController } from './taon-seo-page.controller';\nimport { TaonSeoPageRepository } from './taon-seo-page.repository';\n// import { TaonSeoPageKvRepository } from './taon-seo-page.kv.repository';\nimport { TaonSeoPageProvider } from './taon-seo-page.provider';\n// import { TaonSeoPageMiddleware } from './taon-seo-page.middleware';\n// import { TaonSeoPageSubscriber } from './taon-seo-page.subscriber';\n//#endregion\n\nexport const TaonSeoPageAbstractContext = createContext(() => ({\n contextName: 'TaonSeoPageAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonSeoPageEntity },\n controllers: { TaonSeoPageController },\n repositories: {\n // TaonSeoPageKvRepository\n TaonSeoPageRepository,\n },\n providers: { TaonSeoPageProvider },\n // middlewares: { TaonSeoPageMiddleware },\n // subscribers: { TaonSeoPageSubscriber },\n}));","import { TaonBaseRepository, TaonRepository } from 'taon/browser-prod';\n\nimport { validateSeoSettings } from '../taon-seo.validation';\n\nimport { TaonSeoSettingsDefaultsValues } from './taon-seo-settings.constants';\nimport { TaonSeoSettingsEntity } from './taon-seo-settings.entity';\nimport type { TaonSeoSettingsInput } from './taon-seo-settings.models';\n\n@TaonRepository({ className: 'TaonSeoSettingsRepository' })\nexport class TaonSeoSettingsRepository extends TaonBaseRepository<TaonSeoSettingsEntity> {\n entityClassResolveFn = () => TaonSeoSettingsEntity;\n\n async getGlobal(): Promise<TaonSeoSettingsEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async saveGlobal(\n input: TaonSeoSettingsInput,\n ): Promise<TaonSeoSettingsEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}\n","import { Body, GET, PUT, TaonBaseCrudController, TaonController, Models__NS__ClassType, Models__NS__ClassTypeKey, Models__NS__ConnectionOptionsLogs, Models__NS__ContextOptions, Models__NS__DatabaseConfig, Models__NS__DatabaseConfigTypeOrm, Models__NS__DatabasesFolder, Models__NS__DBRecreateMode, Models__NS__DBRecreateModeType, Models__NS__FrameworkMode, Models__NS__Http__NS__AsyncResponse, Models__NS__Http__NS__ClientAction, Models__NS__Http__NS__ContextENDPOINT, Models__NS__Http__NS__ExpressContext, Models__NS__Http__NS__FormlyFromType, Models__NS__Http__NS__MixResponse, Models__NS__Http__NS__PromiseObservableMix, Models__NS__Http__NS__RequestResults, Models__NS__Http__NS__Response, Models__NS__Http__NS__ResponseFuncOpt, Models__NS__Http__NS__SyncResponse, Models__NS__Http__NS__SyncResponseFunc, Models__NS__Http__NS__TaonResponseStream, Models__NS__KVDatabaseConfig, Models__NS__MiddlewareType, Models__NS__StartParams, Models__NS__TaonCtrlBeforeEachRequestParams, Models__NS__TaonCtxCloneParams, Models__NS__TaonInitializeParams, Taon__NS____FILE_RELATIVE_PATH, Taon__NS__asset, Taon__NS__assetsFrom, Taon__NS__assetsListFrom, Taon__NS__createContext, Taon__NS__createContextTemplate, Taon__NS__error, Taon__NS__getResponseValue, Taon__NS__isBrowser, Taon__NS__isElectron, Taon__NS__isNode, Taon__NS__isWebSQL, Taon__NS__LANG_IMPORT_MAP, Taon__NS__removeLoader, Taon__NS__Response, Taon__NS__ResponseHtml, Taon__NS__StartParams } from 'taon/browser-prod';\n\nimport { TaonSeoProvider } from '../taon-seo.provider';\n\nimport { TaonSeoSettingsEntity } from './taon-seo-settings.entity';\nimport type { TaonSeoSettingsInput } from './taon-seo-settings.models';\nimport { TaonSeoSettingsRepository } from './taon-seo-settings.repository';\n\n@TaonController({\n className: 'TaonSeoSettingsController',\n allowedMethods: ['getGlobal', 'saveGlobal'],\n})\nexport class TaonSeoSettingsController extends TaonBaseCrudController<TaonSeoSettingsEntity> {\n entityClassResolveFn = () => TaonSeoSettingsEntity;\n private readonly settings = this.injectCustomRepo(TaonSeoSettingsRepository);\n private readonly seo = this.injectProvider(TaonSeoProvider);\n\n async beforeEachRequest(\n params: Models__NS__TaonCtrlBeforeEachRequestParams,\n ): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n @GET()\n getGlobal(): Taon__NS__Response<TaonSeoSettingsEntity> {\n/* */\n/* */\n return (void 0);\n }\n\n @PUT()\n saveGlobal(\n @Body() input: TaonSeoSettingsInput,\n ): Taon__NS__Response<TaonSeoSettingsEntity> {\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport { TaonBaseClass, TaonBaseProvider, TaonProvider, Taon__NS____FILE_RELATIVE_PATH, Taon__NS__asset, Taon__NS__assetsFrom, Taon__NS__assetsListFrom, Taon__NS__createContext, Taon__NS__createContextTemplate, Taon__NS__error, Taon__NS__getResponseValue, Taon__NS__isBrowser, Taon__NS__isElectron, Taon__NS__isNode, Taon__NS__isWebSQL, Taon__NS__LANG_IMPORT_MAP, Taon__NS__removeLoader, Taon__NS__Response, Taon__NS__ResponseHtml, Taon__NS__StartParams } from 'taon/browser-prod';\nimport { ___NS__add, ___NS__after, ___NS__ary, ___NS__assign, ___NS__assignIn, ___NS__assignInWith, ___NS__assignWith, ___NS__at, ___NS__attempt, ___NS__before, ___NS__bind, ___NS__bindAll, ___NS__bindKey, ___NS__camelCase, ___NS__capitalize, ___NS__castArray, ___NS__ceil, ___NS__chain, ___NS__chunk, ___NS__clamp, ___NS__clone, ___NS__cloneDeep, ___NS__cloneDeepWith, ___NS__cloneWith, ___NS__compact, ___NS__concat, ___NS__cond, ___NS__conforms, ___NS__conformsTo, ___NS__constant, ___NS__countBy, ___NS__create, ___NS__curry, ___NS__curryRight, ___NS__debounce, ___NS__deburr, ___NS__defaults, ___NS__defaultsDeep, ___NS__defaultTo, ___NS__defer, ___NS__delay, ___NS__difference, ___NS__differenceBy, ___NS__differenceWith, ___NS__divide, ___NS__drop, ___NS__dropRight, ___NS__dropRightWhile, ___NS__dropWhile, ___NS__each, ___NS__eachRight, ___NS__endsWith, ___NS__entries, ___NS__entriesIn, ___NS__eq, ___NS__escape, ___NS__escapeRegExp, ___NS__every, ___NS__extend, ___NS__extendWith, ___NS__fill, ___NS__filter, ___NS__find, ___NS__findIndex, ___NS__findKey, ___NS__findLast, ___NS__findLastIndex, ___NS__findLastKey, ___NS__first, ___NS__flatMap, ___NS__flatMapDeep, ___NS__flatMapDepth, ___NS__flatten, ___NS__flattenDeep, ___NS__flattenDepth, ___NS__flip, ___NS__floor, ___NS__flow, ___NS__flowRight, ___NS__forEach, ___NS__forEachRight, ___NS__forIn, ___NS__forInRight, ___NS__forOwn, ___NS__forOwnRight, ___NS__fromPairs, ___NS__functions, ___NS__functionsIn, ___NS__get, ___NS__groupBy, ___NS__gt, ___NS__gte, ___NS__has, ___NS__hasIn, ___NS__head, ___NS__identity, ___NS__includes, ___NS__indexOf, ___NS__initial, ___NS__inRange, ___NS__intersection, ___NS__intersectionBy, ___NS__intersectionWith, ___NS__invert, ___NS__invertBy, ___NS__invoke, ___NS__invokeMap, ___NS__isArguments, ___NS__isArray, ___NS__isArrayBuffer, ___NS__isArrayLike, ___NS__isArrayLikeObject, ___NS__isBoolean, ___NS__isBuffer, ___NS__isDate, ___NS__isElement, ___NS__isEmpty, ___NS__isEqual, ___NS__isEqualWith, ___NS__isError, ___NS__isFinite, ___NS__isFunction, ___NS__isInteger, ___NS__isLeafObject, ___NS__isLength, ___NS__isMap, ___NS__isMatch, ___NS__isMatchWith, ___NS__isNaN, ___NS__isNative, ___NS__isNil, ___NS__isNull, ___NS__isNumber, ___NS__isObject, ___NS__isObjectLike, ___NS__isPlainObject, ___NS__isRegExp, ___NS__isSafeInteger, ___NS__isSet, ___NS__isString, ___NS__isSymbol, ___NS__isTypedArray, ___NS__isUndefined, ___NS__isWeakMap, ___NS__isWeakSet, ___NS__iteratee, ___NS__join, ___NS__kebabCase, ___NS__keyBy, ___NS__keys, ___NS__keysIn, ___NS__last, ___NS__lastIndexOf, ___NS__lowerCase, ___NS__lowerFirst, ___NS__lt, ___NS__lte, ___NS__map, ___NS__mapKeys, ___NS__mapValues, ___NS__matches, ___NS__matchesProperty, ___NS__max, ___NS__maxBy, ___NS__mean, ___NS__meanBy, ___NS__memoize, ___NS__merge, ___NS__mergeWith, ___NS__method, ___NS__methodOf, ___NS__min, ___NS__minBy, ___NS__mixin, ___NS__multiply, ___NS__negate, ___NS__noop, ___NS__now, ___NS__nth, ___NS__nthArg, ___NS__omit, ___NS__omitBy, ___NS__once, ___NS__orderBy, ___NS__over, ___NS__overArgs, ___NS__overEvery, ___NS__overSome, ___NS__pad, ___NS__padEnd, ___NS__padStart, ___NS__parseInt, ___NS__partial, ___NS__partialRight, ___NS__partition, ___NS__pick, ___NS__pickBy, ___NS__property, ___NS__propertyOf, ___NS__pull, ___NS__pullAll, ___NS__pullAllBy, ___NS__pullAllWith, ___NS__pullAt, ___NS__random, ___NS__range, ___NS__rangeRight, ___NS__rearg, ___NS__reduce, ___NS__reduceRight, ___NS__reject, ___NS__remove, ___NS__repeat, ___NS__replace, ___NS__rest, ___NS__result, ___NS__reverse, ___NS__round, ___NS__sample, ___NS__sampleSize, ___NS__set, ___NS__setWith, ___NS__shuffle, ___NS__size, ___NS__slice, ___NS__snakeCase, ___NS__some, ___NS__sortBy, ___NS__sortedIndex, ___NS__sortedIndexBy, ___NS__sortedIndexOf, ___NS__sortedLastIndex, ___NS__sortedLastIndexBy, ___NS__sortedLastIndexOf, ___NS__sortedUniq, ___NS__sortedUniqBy, ___NS__split, ___NS__spread, ___NS__startCase, ___NS__startsWith, ___NS__stubArray, ___NS__stubFalse, ___NS__stubObject, ___NS__stubString, ___NS__stubTrue, ___NS__subtract, ___NS__sum, ___NS__sumBy, ___NS__tail, ___NS__take, ___NS__takeRight, ___NS__takeRightWhile, ___NS__takeWhile, ___NS__tap, ___NS__template, ___NS__templateSettings, ___NS__throttle, ___NS__thru, ___NS__times, ___NS__toArray, ___NS__toFinite, ___NS__toInteger, ___NS__toLength, ___NS__toLower, ___NS__toNumber, ___NS__toPairs, ___NS__toPairsIn, ___NS__toPath, ___NS__toPlainObject, ___NS__toSafeInteger, ___NS__toString, ___NS__toUpper, ___NS__transform, ___NS__trim, ___NS__trimEnd, ___NS__trimStart, ___NS__truncate, ___NS__unary, ___NS__unescape, ___NS__union, ___NS__unionBy, ___NS__unionWith, ___NS__uniq, ___NS__uniqBy, ___NS__uniqueId, ___NS__uniqWith, ___NS__unset, ___NS__unzip, ___NS__unzipWith, ___NS__update, ___NS__updateWith, ___NS__upperCase, ___NS__upperFirst, ___NS__values, ___NS__valuesIn, ___NS__without, ___NS__words, ___NS__wrap, ___NS__xor, ___NS__xorBy, ___NS__xorWith, ___NS__zip, ___NS__zipObject, ___NS__zipObjectDeep, ___NS__zipWith } from 'tnp-core/browser-prod';\n//#endregion\n\nexport class TaonTaonSeoSettingsConfig extends TaonBaseClass {\n declare name: string;\n}\n\n@TaonProvider({\n className: 'TaonSeoSettingsProvider',\n})\nexport class TaonSeoSettingsProvider extends TaonBaseProvider {\n enabledTaonSeoSettingsOption: boolean = true;\n config = new TaonTaonSeoSettingsConfig();\n clone() {\n return {\n enabledTaonSeoSettingsOption: this.enabledTaonSeoSettingsOption,\n config: this.config.clone(),\n };\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser-prod';\n\nimport { TaonSeoSettingsEntity } from './taon-seo-settings.entity';\nimport { TaonSeoSettingsController } from './taon-seo-settings.controller';\nimport { TaonSeoSettingsRepository } from './taon-seo-settings.repository';\n// import { TaonSeoSettingsKvRepository } from './taon-seo-settings.kv.repository';\nimport { TaonSeoSettingsProvider } from './taon-seo-settings.provider';\n// import { TaonSeoSettingsMiddleware } from './taon-seo-settings.middleware';\n// import { TaonSeoSettingsSubscriber } from './taon-seo-settings.subscriber';\n//#endregion\n\nexport const TaonSeoSettingsAbstractContext = createContext(() => ({\n contextName: 'TaonSeoSettingsAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonSeoSettingsEntity },\n controllers: { TaonSeoSettingsController },\n repositories: {\n // TaonSeoSettingsKvRepository\n TaonSeoSettingsRepository,\n },\n providers: { TaonSeoSettingsProvider },\n // middlewares: { TaonSeoSettingsMiddleware },\n // subscribers: { TaonSeoSettingsSubscriber },\n}));","import { TaonSessionAbstractContext } from '@taon-dev/session/browser-prod';\nimport { createContext, TaonBaseContext } from 'taon/browser-prod';\n\nimport { TaonSeoPageAbstractContext } from './taon-seo-page/taon-seo-page.abstract.context';\nimport { TaonSeoSettingsAbstractContext } from './taon-seo-settings/taon-seo-settings.abstract.context';\nimport { TaonSeoImageController } from './taon-seo-image.controller';\nimport { TaonSeoProvider } from './taon-seo.provider';\n\nexport const TaonSeoAbstractContext = createContext(() => ({\n contextName: 'TaonSeoAbstractContext',\n abstract: true,\n contexts: {\n TaonSessionAbstractContext,\n\n // local\n TaonSeoPageAbstractContext,\n TaonSeoSettingsAbstractContext,\n },\n controllers: { TaonSeoImageController },\n providers: { TaonSeoProvider },\n}));\n","import { Injectable } from '@angular/core';\nimport { map } from 'rxjs';\nimport { TaonBaseAngularService } from 'taon/browser-prod';\n\nimport { TaonSeoPageController } from './taon-seo-page.controller';\nimport type { TaonSeoPageInput } from './taon-seo-page.models';\n\n@Injectable()\nexport class TaonSeoPageApiService extends TaonBaseAngularService {\n readonly taonSeoPageController = this.injectController(TaonSeoPageController);\n\n findByPath(path: string) {\n return this.taonSeoPageController.findByPath(path)\n .request!().observable.pipe(map(res => res.body.json));\n }\n\n createPage(input: TaonSeoPageInput) {\n return this.taonSeoPageController.createPage(input)\n .request!().observable.pipe(map(res => res.body.json));\n }\n\n updatePage(id: number, input: TaonSeoPageInput) {\n return this.taonSeoPageController.updatePage(id, input)\n .request!().observable.pipe(map(res => res.body.json));\n }\n\n deletePage(id: number) {\n return this.taonSeoPageController.deletePage(id).request!().observable.pipe(\n map(res => res.body.json),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { map } from 'rxjs';\nimport { TaonBaseAngularService } from 'taon/browser-prod';\n\nimport { TaonSeoSettingsController } from './taon-seo-settings.controller';\nimport type { TaonSeoSettingsInput } from './taon-seo-settings.models';\n\n@Injectable()\nexport class TaonSeoSettingsApiService extends TaonBaseAngularService {\n readonly taonSeoSettingsController = this.injectController(\n TaonSeoSettingsController,\n );\n\n getGlobal() {\n return this.taonSeoSettingsController.getGlobal()\n .request!().observable.pipe(map(res => res.body.json));\n }\n\n saveGlobal(input: TaonSeoSettingsInput) {\n return this.taonSeoSettingsController.saveGlobal(input)\n .request!().observable.pipe(map(res => res.body.json));\n }\n}\n","import type { TaonSeoPageInput } from './taon-seo-page/taon-seo-page.models';\nimport type { TaonSeoSettingsInput } from './taon-seo-settings/taon-seo-settings.models';\n\nexport function normalizeSeoPath(path: string): string {\n const pathname = path.split(/[?#]/, 1)[0];\n return pathname.replace(/\\/+$/, '') || '/';\n}\n\nexport function seoText(value: string | null | undefined): string | null {\n return value?.trim() || null;\n}\n\nexport function resolveSeoMetadata(\n settings: TaonSeoSettingsInput,\n path: string,\n page: TaonSeoPageInput | null,\n) {\n const title = seoText(page?.title) ?? settings.defaultTitle;\n const description = seoText(page?.description) ?? settings.defaultDescription;\n const base = seoText(settings.canonicalBaseUrl);\n return {\n title,\n description,\n keywords: seoText(page?.keywords) ?? seoText(settings.defaultKeywords),\n canonicalUrl:\n seoText(page?.canonicalUrl) ??\n (base ? `${base.replace(/\\/+$/, '')}${normalizeSeoPath(path)}` : null),\n robots: [\n !settings.robotsIndex || page?.noIndex ? 'noindex' : 'index',\n !settings.robotsFollow || page?.noFollow ? 'nofollow' : 'follow',\n ].join(', '),\n ogTitle: seoText(page?.ogTitle) ?? title,\n ogDescription: seoText(page?.ogDescription) ?? description,\n ogImageKey: seoText(page?.ogImageKey) ?? seoText(settings.defaultImageKey),\n siteName: settings.siteName,\n };\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n APP_BOOTSTRAP_LISTENER,\n DestroyRef,\n Injectable,\n Provider,\n inject,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Meta, Title } from '@angular/platform-browser';\nimport { NavigationEnd, PRIMARY_OUTLET, Router } from '@angular/router';\nimport {\n EMPTY,\n catchError,\n distinctUntilChanged,\n filter,\n forkJoin,\n map,\n of,\n startWith,\n switchMap,\n} from 'rxjs';\n\nimport { TaonSeoImageApiService } from './taon-seo-image.api.service';\nimport { TaonSeoPageApiService } from './taon-seo-page/taon-seo-page.api.service';\nimport { TaonSeoSettingsApiService } from './taon-seo-settings/taon-seo-settings.api.service';\nimport { normalizeSeoPath, resolveSeoMetadata } from './taon-seo.utils';\n\n@Injectable()\nexport class TaonSeoService {\n readonly error = signal('');\n private readonly router = inject(Router);\n private readonly settings = inject(TaonSeoSettingsApiService);\n private readonly pages = inject(TaonSeoPageApiService);\n private readonly images = inject(TaonSeoImageApiService);\n private readonly meta = inject(Meta);\n private readonly title = inject(Title);\n private readonly document = inject(DOCUMENT);\n private readonly destroyRef = inject(DestroyRef);\n private readonly originalTitle = this.title.getTitle();\n private started = false;\n\n start(): void {\n if (this.started) {\n return;\n }\n this.started = true;\n this.router.events\n .pipe(\n filter(event => event instanceof NavigationEnd),\n startWith(null),\n map(() => this.currentPath()),\n distinctUntilChanged(),\n switchMap(path => {\n this.error.set('');\n this.clear();\n return forkJoin({\n settings: this.settings.getGlobal(),\n page: this.pages.findByPath(path),\n }).pipe(\n map(({ settings, page }) =>\n resolveSeoMetadata(settings, path, page),\n ),\n switchMap(metadata => {\n // Clear the previous route's image while resolving a public storage URL.\n this.apply(metadata, null);\n return metadata.ogImageKey\n ? this.images.getPublicUrl(metadata.ogImageKey).pipe(\n map(imageUrl => ({ metadata, imageUrl })),\n catchError((error: unknown) => {\n console.error(\n '[taon-seo] Unable to resolve social image',\n error,\n );\n this.error.set(\n 'The social image could not be loaded for the current page.',\n );\n return of({ metadata, imageUrl: null });\n }),\n )\n : of({ metadata, imageUrl: null });\n }),\n catchError((error: unknown) => {\n console.error(\n '[taon-seo] Unable to update route metadata',\n error,\n );\n this.error.set(\n 'SEO metadata could not be loaded for the current page.',\n );\n this.clear();\n return EMPTY;\n }),\n );\n }),\n takeUntilDestroyed(this.destroyRef),\n )\n .subscribe(({ metadata, imageUrl }) => this.apply(metadata, imageUrl));\n }\n\n private currentPath(): string {\n const segments: string[] = [];\n let route = this.router.routerState.snapshot.root;\n while (route) {\n segments.push(...route.url.map(segment => segment.path));\n const child = route.children.find(\n candidate => candidate.outlet === PRIMARY_OUTLET,\n );\n if (!child) {\n break;\n }\n route = child;\n }\n return normalizeSeoPath(`/${segments.join('/')}`);\n }\n\n private apply(\n metadata: ReturnType<typeof resolveSeoMetadata>,\n imageUrl: string | null,\n ): void {\n this.title.setTitle(metadata.title);\n this.setMeta('name', 'description', metadata.description);\n this.setMeta('name', 'keywords', metadata.keywords);\n this.setMeta('name', 'robots', metadata.robots);\n this.setMeta('property', 'og:title', metadata.ogTitle);\n this.setMeta('property', 'og:description', metadata.ogDescription);\n this.setMeta('property', 'og:image', imageUrl);\n this.setMeta('property', 'og:site_name', metadata.siteName);\n this.setMeta('property', 'og:url', metadata.canonicalUrl);\n this.setCanonical(metadata.canonicalUrl);\n }\n\n private setMeta(\n attribute: 'name' | 'property',\n key: string,\n content: string | null,\n ): void {\n const selector = `${attribute}=\"${key}\"`;\n // Remove duplicates and stale values, including tags left by the previous route.\n this.meta.getTags(selector).forEach(tag => this.meta.removeTagElement(tag));\n if (content) {\n this.meta.addTag({ [attribute]: key, content });\n }\n }\n\n private setCanonical(url: string | null): void {\n this.document.head\n .querySelectorAll('link[rel=\"canonical\"]')\n .forEach(link => link.remove());\n if (url) {\n const link = this.document.createElement('link');\n link.rel = 'canonical';\n link.href = url;\n this.document.head.appendChild(link);\n }\n }\n\n private clear(): void {\n this.title.setTitle(this.originalTitle);\n for (const name of ['description', 'keywords', 'robots']) {\n this.setMeta('name', name, null);\n }\n for (const property of [\n 'og:title',\n 'og:description',\n 'og:image',\n 'og:site_name',\n 'og:url',\n ]) {\n this.setMeta('property', property, null);\n }\n this.setCanonical(null);\n }\n}\n\nexport function provideTaonSeo(): Provider[] {\n return [\n TaonSeoService,\n TaonSeoPageApiService,\n TaonSeoSettingsApiService,\n TaonSeoImageApiService,\n {\n provide: APP_BOOTSTRAP_LISTENER,\n multi: true,\n deps: [TaonSeoService],\n useFactory: (seo: TaonSeoService) => () => seo.start(),\n },\n ];\n}\n","import { Taon__NS____FILE_RELATIVE_PATH, Taon__NS__asset, Taon__NS__assetsFrom, Taon__NS__assetsListFrom, Taon__NS__createContext, Taon__NS__createContextTemplate, Taon__NS__error, Taon__NS__getResponseValue, Taon__NS__isBrowser, Taon__NS__isElectron, Taon__NS__isNode, Taon__NS__isWebSQL, Taon__NS__LANG_IMPORT_MAP, Taon__NS__removeLoader, Taon__NS__Response, Taon__NS__ResponseHtml, Taon__NS__StartParams } from 'taon/browser-prod';\n\nimport type { TaonSeoPageInput } from './taon-seo-page/taon-seo-page.models';\nimport type { TaonSeoSettingsInput } from './taon-seo-settings/taon-seo-settings.models';\nimport { normalizeSeoPath, seoText } from './taon-seo.utils';\n\nexport function seoError(message: string, status = 400): never {\n Taon__NS__error({ message, status });\n throw new Error(message);\n}\n\nexport function requireSeoId(id: number): void {\n if (!Number.isSafeInteger(id) || id <= 0) {\n seoError('The page ID must be a positive integer.');\n }\n}\n\nfunction requireObject(input: unknown): void {\n if (!input || typeof input !== 'object' || Array.isArray(input)) {\n seoError('SEO settings must be an object.');\n }\n}\n\nfunction requireText(value: unknown, field: string, nullable = false): void {\n if (nullable && value === null) {\n return;\n }\n if (typeof value !== 'string') {\n seoError(`${field} must be ${nullable ? 'a string or null' : 'a string'}.`);\n }\n}\n\nfunction requireBoolean(value: unknown, field: string): void {\n if (typeof value !== 'boolean') {\n seoError(`${field} must be a boolean.`);\n }\n}\n\nfunction validateUrl(value: string | null, field: string): string | null {\n const text = seoText(value);\n if (!text) {\n return null;\n }\n let url: URL;\n try {\n url = new URL(text);\n } catch {\n seoError(`${field} must be an absolute HTTP(S) URL.`);\n }\n if (\n !['http:', 'https:'].includes(url.protocol) ||\n url.username ||\n url.password ||\n url.search ||\n url.hash\n ) {\n seoError(\n `${field} must be an HTTP(S) URL without credentials, query or fragment.`,\n );\n }\n return url.href;\n}\n\nexport function validateSeoPath(path: string): string {\n requireText(path, 'path');\n const text = path.trim();\n if (\n !text.startsWith('/') ||\n text.startsWith('//') ||\n /[;?#\\\\\\s()]/.test(text) ||\n /\\/{2,}/.test(text) ||\n text.split('/').some(segment => segment === '.' || segment === '..')\n ) {\n seoError(\n 'path must be an application path such as /pricing, without query, fragment or auxiliary outlets.',\n );\n }\n return normalizeSeoPath(text);\n}\n\nexport function validateSeoSettings(\n input: TaonSeoSettingsInput,\n): TaonSeoSettingsInput {\n requireObject(input);\n for (const field of [\n 'siteName',\n 'defaultTitle',\n 'defaultDescription',\n ] as const) {\n requireText(input[field], field);\n }\n for (const field of [\n 'defaultKeywords',\n 'defaultImageKey',\n 'canonicalBaseUrl',\n ] as const) {\n requireText(input[field], field, true);\n }\n requireBoolean(input.robotsIndex, 'robotsIndex');\n requireBoolean(input.robotsFollow, 'robotsFollow');\n return {\n siteName: input.siteName.trim(),\n defaultTitle: input.defaultTitle.trim(),\n defaultDescription: input.defaultDescription.trim(),\n defaultKeywords: seoText(input.defaultKeywords),\n defaultImageKey: seoText(input.defaultImageKey),\n canonicalBaseUrl: validateUrl(input.canonicalBaseUrl, 'canonicalBaseUrl'),\n robotsIndex: input.robotsIndex,\n robotsFollow: input.robotsFollow,\n };\n}\n\nexport function validateSeoPage(input: TaonSeoPageInput): TaonSeoPageInput {\n requireObject(input);\n for (const field of [\n 'title',\n 'description',\n 'keywords',\n 'canonicalUrl',\n 'ogTitle',\n 'ogDescription',\n 'ogImageKey',\n ] as const) {\n requireText(input[field], field, true);\n }\n requireBoolean(input.noIndex, 'noIndex');\n requireBoolean(input.noFollow, 'noFollow');\n return {\n path: validateSeoPath(input.path),\n title: seoText(input.title),\n description: seoText(input.description),\n keywords: seoText(input.keywords),\n canonicalUrl: validateUrl(input.canonicalUrl, 'canonicalUrl'),\n ogTitle: seoText(input.ogTitle),\n ogDescription: seoText(input.ogDescription),\n ogImageKey: seoText(input.ogImageKey),\n noIndex: input.noIndex,\n noFollow: input.noFollow,\n };\n}","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels__NS__BaseProjectType, CoreModels__NS__BaseProjectTypeArr, CoreModels__NS__BuildType, CoreModels__NS__BuildTypeArr, CoreModels__NS__buildTypeToWatcherFn, CoreModels__NS__BuildWatcherErrorType, CoreModels__NS__BuildWatcherType, CoreModels__NS__BuildWatcherTypeArr, CoreModels__NS__CfontAlign, CoreModels__NS__CfontStyle, CoreModels__NS__ClassNameStaticProperty, CoreModels__NS__ContentType, CoreModels__NS__ContentTypeKeys, CoreModels__NS__CoreLibCategory, CoreModels__NS__CutableFileExt, CoreModels__NS__DatabaseType, CoreModels__NS__DeepPartial, CoreModels__NS__FileEvent, CoreModels__NS__FileExtension, CoreModels__NS__FirstParamsFrom, CoreModels__NS__FrameworkVersion, CoreModels__NS__GitConnection, CoreModels__NS__GitConnectionArr, CoreModels__NS__GlobalDependencies, CoreModels__NS__hasExitCleaningFunction, CoreModels__NS__HttpCode, CoreModels__NS__HttpMethod, CoreModels__NS__HttpMethodArr, CoreModels__NS__ImageFileExtension, CoreModels__NS__ImageFileExtensionArr, CoreModels__NS__InstalationType, CoreModels__NS__InstalationTypeArr, CoreModels__NS__LibType, CoreModels__NS__localhostDomain, CoreModels__NS__localhostIp127, CoreModels__NS__ManifestIcon, CoreModels__NS__MediaType, CoreModels__NS__MediaTypeAllArr, CoreModels__NS__mimeTypes, CoreModels__NS__NewFactoryType, CoreModels__NS__NpmInstallOptions, CoreModels__NS__NpmPublishOptions, CoreModels__NS__NpmSpecialVersions, CoreModels__NS__OrignalClassKey, CoreModels__NS__OutFolder, CoreModels__NS__Package, CoreModels__NS__ParamType, CoreModels__NS__parentLocation, CoreModels__NS__pathToChildren, CoreModels__NS__Position, CoreModels__NS__PreReleaseVersionTag, CoreModels__NS__PROGRESS_DATA_TYPE, CoreModels__NS__PUSHTYPE, CoreModels__NS__PwaManifest, CoreModels__NS__ReleaseVersionType, CoreModels__NS__ReleaseVersionTypeEnum, CoreModels__NS__RunOptions, CoreModels__NS__Size, CoreModels__NS__SPECIAL_APP_READY_MESSAGE, CoreModels__NS__SPECIAL_WORKER_READY_MESSAGE, CoreModels__NS__tagForTaskName, CoreModels__NS__TaonHttpErrorCustomProp, CoreModels__NS__TsUsage, CoreModels__NS__UIFramework, CoreModels__NS__VSCodeSettings } from 'tnp-core/browser-prod';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibMyOrganizationProjTs } from './my-organization-proj.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibMyOrganizationProjTs } from './my-organization-proj.ts.pl-PL.i18n.data';;\nexport type LibOverride = CoreModels__NS__DeepPartial<EnUsTraslationOverrideSrcLibMyOrganizationProjTs \n| PlPlTraslationOverrideSrcLibMyOrganizationProjTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY","//#region imports\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { RouterOutlet } from '@angular/router';\n//#endregion\n\n@Component({\n selector: 'app-taon-seo-backoffice',\n templateUrl: './taon-seo-backoffice.component.html',\n styleUrls: ['./taon-seo-backoffice.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AsyncPipe, RouterOutlet],\n})\nexport class TaonSeoBackofficeComponent {}","<router-outlet></router-outlet>\n","//namespace TaonSeoBackofficeModels\n\n//end of namespace TaonSeoBackofficeModels\n","//#region imports\nimport { Routes } from '@angular/router';\nimport { adminLazyRoute } from '@taon-dev/ui/browser-prod';\n//#endregion\n\nexport const TaonSeoBackofficeRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-seo-backoffice.component').then(\n m => m.TaonSeoBackofficeComponent,\n ),\n\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'settings' },\n adminLazyRoute({\n path: 'settings',\n menuItem: 'General (Settings)',\n icon: 'settings',\n expandable: false,\n loader: () =>\n import('../taon-seo-settings/taon-seo-settings-backoffice/taon-seo-settings-backoffice.routes').then(\n m => m.TaonSeoSettingsBackofficeRoutes,\n ),\n }),\n adminLazyRoute({\n path: 'pages',\n menuItem: 'Pages',\n icon: 'extension',\n expandable: false,\n loader: () =>\n import('../taon-seo-page/taon-seo-page-backoffice/taon-seo-page-backoffice.routes').then(\n m => m.TaonSeoPageBackofficeRoutes,\n ),\n }),\n ],\n },\n];\n\n/**\n * By default exporting TaonSeoBackofficeRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonSeoBackofficeRoutes;\n","import {\n ChangeDetectionStrategy,\n Component,\n inject,\n model,\n signal,\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\n\nimport { TaonSeoImageApiService } from '../taon-seo-image.api.service';\n\n@Component({\n selector: 'taon-seo-image-input',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatButtonModule],\n providers: [TaonSeoImageApiService],\n template: `\n <p>Social / Open Graph image</p>\n <input\n type=\"file\"\n aria-label=\"Upload social image\"\n accept=\"image/png,image/jpeg,image/gif,image/webp\"\n [disabled]=\"disabled() || uploading()\"\n (change)=\"upload($event)\" />\n @if (key()) {\n <p>Image key: {{ key() }}</p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"disabled() || uploading()\"\n (click)=\"key.set(null)\">\n Clear image\n </button>\n }\n @if (uploading()) {\n <p role=\"status\">Uploading image...</p>\n }\n @if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n }\n `,\n})\nexport class TaonSeoImageInputComponent {\n readonly key = model<string | null>(null);\n readonly disabled = model(false);\n readonly uploading = model(false);\n readonly error = signal('');\n private readonly api = inject(TaonSeoImageApiService);\n\n async upload(event: Event): Promise<void> {\n const target = event.target;\n if (!(target instanceof HTMLInputElement)) {\n return;\n }\n const file = target.files?.[0];\n if (!file || this.disabled() || this.uploading()) {\n return;\n }\n this.error.set('');\n this.uploading.set(true);\n try {\n this.key.set(await this.api.upload(file));\n } catch (error: unknown) {\n console.error('[taon-seo-image-input] Unable to upload image', error);\n this.error.set('The image could not be uploaded. Please try again.');\n } finally {\n this.uploading.set(false);\n target.value = '';\n }\n }\n}\n","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { TaonBaseAngularService, Taon__NS____FILE_RELATIVE_PATH, Taon__NS__asset, Taon__NS__assetsFrom, Taon__NS__assetsListFrom, Taon__NS__createContext, Taon__NS__createContextTemplate, Taon__NS__error, Taon__NS__getResponseValue, Taon__NS__isBrowser, Taon__NS__isElectron, Taon__NS__isNode, Taon__NS__isWebSQL, Taon__NS__LANG_IMPORT_MAP, Taon__NS__removeLoader, Taon__NS__Response, Taon__NS__ResponseHtml, Taon__NS__StartParams } from 'taon/browser-prod';\n\nimport { TaonSeoPageProvider } from './taon-seo-page.provider';\n//#endregion\n\n@Injectable()\nexport class TaonSeoPageConfigService extends TaonBaseAngularService {\n private taonSeoPageProvider = this.injectProvider(TaonSeoPageProvider);\n\n get isEnableOption() {\n return this.taonSeoPageProvider.enabledTaonSeoPageOption;\n }\n\n clone(): Partial<TaonSeoPageProvider> {\n const cloned = this.taonSeoPageProvider.clone();\n return cloned;\n }\n}","import type { TaonSeoPageEntity } from './taon-seo-page.entity';\nimport { Translation } from '@taon-dev/i18n/browser-prod';\nimport { Taon__NS____FILE_RELATIVE_PATH, Taon__NS__asset, Taon__NS__assetsFrom, Taon__NS__assetsListFrom, Taon__NS__createContext, Taon__NS__createContextTemplate, Taon__NS__error, Taon__NS__getResponseValue, Taon__NS__isBrowser, Taon__NS__isElectron, Taon__NS__isNode, Taon__NS__isWebSQL, Taon__NS__LANG_IMPORT_MAP, Taon__NS__removeLoader, Taon__NS__Response, Taon__NS__ResponseHtml, Taon__NS__StartParams } from 'taon/browser-prod';\n\nconst t = Translation.for('src/lib/taon-seo-page/taon-seo-page.constants.ts', {\"src/lib/taon-seo-page/taon-seo-page.constants.ts\":{\"en-US\":async () => (await import('./i18n/taon-seo-page.constants.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-seo-page.constants.ts.pl-PL.i18n.data')).default}} as any);\n\nexport const TaonSeoPageDefaultsValues = {\n path: '/',\n title: null,\n description: null,\n keywords: null,\n canonicalUrl: null,\n ogTitle: null,\n ogDescription: null,\n ogImageKey: null,\n noIndex: false,\n noFollow: false,\n} as Partial<TaonSeoPageEntity>;\n\nexport enum TaonSeoPageErrors {\n INVALID_PASSWORD_EXAMPLE_ERROR = 'INVALID_PASSWORD_EXAMPLE_ERROR',\n}\n\nexport const TaonSeoPageTranslationErorsMap = new Map([\n [TaonSeoPageErrors.INVALID_PASSWORD_EXAMPLE_ERROR, t.gettext('Invalid Password')],\n]);","//#region imports\nimport {\n TaonBaseRepository,\n TaonBaseKvRepository,\n TaonRepository,\n} from 'taon/browser-prod';\n\nimport { TaonSeoPageEntity } from './taon-seo-page.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonSeoPageKvRepository',\n})\nexport class TaonSeoPageKvRepository extends TaonBaseKvRepository<{\n usersToNotify: TaonSeoPageEntity[];\n}> {\n async notifyUsers(users: TaonSeoPageEntity[]) {\n this.set('usersToNotify', users);\n }\n}","//#region imports\nimport { TaonBaseMiddleware, TaonMiddleware, Taon__NS____FILE_RELATIVE_PATH, Taon__NS__asset, Taon__NS__assetsFrom, Taon__NS__assetsListFrom, Taon__NS__createContext, Taon__NS__createContextTemplate, Taon__NS__error, Taon__NS__getResponseValue, Taon__NS__isBrowser, Taon__NS__isElectron, Taon__NS__isNode, Taon__NS__isWebSQL, Taon__NS__LANG_IMPORT_MAP, Taon__NS__removeLoader, Taon__NS__Response, Taon__NS__ResponseHtml, Taon__NS__StartParams } from 'taon/browser-prod';\nimport { ___NS__add, ___NS__after, ___NS__ary, ___NS__assign, ___NS__assignIn, ___NS__assignInWith, ___NS__assignWith, ___NS__at, ___NS__attempt, ___NS__before, ___NS__bind, ___NS__bindAll, ___NS__bindKey, ___NS__camelCase, ___NS__capitalize, ___NS__castArray, ___NS__ceil, ___NS__chain, ___NS__chunk, ___NS__clamp, ___NS__clone, ___NS__cloneDeep, ___NS__cloneDeepWith, ___NS__cloneWith, ___NS__compact, ___NS__concat, ___NS__cond, ___NS__conforms, ___NS__conformsTo, ___NS__constant, ___NS__countBy, ___NS__create, ___NS__curry, ___NS__curryRight, ___NS__debounce, ___NS__deburr, ___NS__defaults, ___NS__defaultsDeep, ___NS__defaultTo, ___NS__defer, ___NS__delay, ___NS__difference, ___NS__differenceBy, ___NS__differenceWith, ___NS__divide, ___NS__drop, ___NS__dropRight, ___NS__dropRightWhile, ___NS__dropWhile, ___NS__each, ___NS__eachRight, ___NS__endsWith, ___NS__entries, ___NS__entriesIn, ___NS__eq, ___NS__escape, ___NS__escapeRegExp, ___NS__every, ___NS__extend, ___NS__extendWith, ___NS__fill, ___NS__filter, ___NS__find, ___NS__findIndex, ___NS__findKey, ___NS__findLast, ___NS__findLastIndex, ___NS__findLastKey, ___NS__first, ___NS__flatMap, ___NS__flatMapDeep, ___NS__flatMapDepth, ___NS__flatten, ___NS__flattenDeep, ___NS__flattenDepth, ___NS__flip, ___NS__floor, ___NS__flow, ___NS__flowRight, ___NS__forEach, ___NS__forEachRight, ___NS__forIn, ___NS__forInRight, ___NS__forOwn, ___NS__forOwnRight, ___NS__fromPairs, ___NS__functions, ___NS__functionsIn, ___NS__get, ___NS__groupBy, ___NS__gt, ___NS__gte, ___NS__has, ___NS__hasIn, ___NS__head, ___NS__identity, ___NS__includes, ___NS__indexOf, ___NS__initial, ___NS__inRange, ___NS__intersection, ___NS__intersectionBy, ___NS__intersectionWith, ___NS__invert, ___NS__invertBy, ___NS__invoke, ___NS__invokeMap, ___NS__isArguments, ___NS__isArray, ___NS__isArrayBuffer, ___NS__isArrayLike, ___NS__isArrayLikeObject, ___NS__isBoolean, ___NS__isBuffer, ___NS__isDate, ___NS__isElement, ___NS__isEmpty, ___NS__isEqual, ___NS__isEqualWith, ___NS__isError, ___NS__isFinite, ___NS__isFunction, ___NS__isInteger, ___NS__isLeafObject, ___NS__isLength, ___NS__isMap, ___NS__isMatch, ___NS__isMatchWith, ___NS__isNaN, ___NS__isNative, ___NS__isNil, ___NS__isNull, ___NS__isNumber, ___NS__isObject, ___NS__isObjectLike, ___NS__isPlainObject, ___NS__isRegExp, ___NS__isSafeInteger, ___NS__isSet, ___NS__isString, ___NS__isSymbol, ___NS__isTypedArray, ___NS__isUndefined, ___NS__isWeakMap, ___NS__isWeakSet, ___NS__iteratee, ___NS__join, ___NS__kebabCase, ___NS__keyBy, ___NS__keys, ___NS__keysIn, ___NS__last, ___NS__lastIndexOf, ___NS__lowerCase, ___NS__lowerFirst, ___NS__lt, ___NS__lte, ___NS__map, ___NS__mapKeys, ___NS__mapValues, ___NS__matches, ___NS__matchesProperty, ___NS__max, ___NS__maxBy, ___NS__mean, ___NS__meanBy, ___NS__memoize, ___NS__merge, ___NS__mergeWith, ___NS__method, ___NS__methodOf, ___NS__min, ___NS__minBy, ___NS__mixin, ___NS__multiply, ___NS__negate, ___NS__noop, ___NS__now, ___NS__nth, ___NS__nthArg, ___NS__omit, ___NS__omitBy, ___NS__once, ___NS__orderBy, ___NS__over, ___NS__overArgs, ___NS__overEvery, ___NS__overSome, ___NS__pad, ___NS__padEnd, ___NS__padStart, ___NS__parseInt, ___NS__partial, ___NS__partialRight, ___NS__partition, ___NS__pick, ___NS__pickBy, ___NS__property, ___NS__propertyOf, ___NS__pull, ___NS__pullAll, ___NS__pullAllBy, ___NS__pullAllWith, ___NS__pullAt, ___NS__random, ___NS__range, ___NS__rangeRight, ___NS__rearg, ___NS__reduce, ___NS__reduceRight, ___NS__reject, ___NS__remove, ___NS__repeat, ___NS__replace, ___NS__rest, ___NS__result, ___NS__reverse, ___NS__round, ___NS__sample, ___NS__sampleSize, ___NS__set, ___NS__setWith, ___NS__shuffle, ___NS__size, ___NS__slice, ___NS__snakeCase, ___NS__some, ___NS__sortBy, ___NS__sortedIndex, ___NS__sortedIndexBy, ___NS__sortedIndexOf, ___NS__sortedLastIndex, ___NS__sortedLastIndexBy, ___NS__sortedLastIndexOf, ___NS__sortedUniq, ___NS__sortedUniqBy, ___NS__split, ___NS__spread, ___NS__startCase, ___NS__startsWith, ___NS__stubArray, ___NS__stubFalse, ___NS__stubObject, ___NS__stubString, ___NS__stubTrue, ___NS__subtract, ___NS__sum, ___NS__sumBy, ___NS__tail, ___NS__take, ___NS__takeRight, ___NS__takeRightWhile, ___NS__takeWhile, ___NS__tap, ___NS__template, ___NS__templateSettings, ___NS__throttle, ___NS__thru, ___NS__times, ___NS__toArray, ___NS__toFinite, ___NS__toInteger, ___NS__toLength, ___NS__toLower, ___NS__toNumber, ___NS__toPairs, ___NS__toPairsIn, ___NS__toPath, ___NS__toPlainObject, ___NS__toSafeInteger, ___NS__toString, ___NS__toUpper, ___NS__transform, ___NS__trim, ___NS__trimEnd, ___NS__trimStart, ___NS__truncate, ___NS__unary, ___NS__unescape, ___NS__union, ___NS__unionBy, ___NS__unionWith, ___NS__uniq, ___NS__uniqBy, ___NS__uniqueId, ___NS__uniqWith, ___NS__unset, ___NS__unzip, ___NS__unzipWith, ___NS__update, ___NS__updateWith, ___NS__upperCase, ___NS__upperFirst, ___NS__values, ___NS__valuesIn, ___NS__without, ___NS__words, ___NS__wrap, ___NS__xor, ___NS__xorBy, ___NS__xorWith, ___NS__zip, ___NS__zipObject, ___NS__zipObjectDeep, ___NS__zipWith } from 'tnp-core/browser-prod';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonSeoPageMiddleware',\n})\nexport class TaonSeoPageMiddleware extends TaonBaseMiddleware {}","import type { TaonSeoPageEntity } from './taon-seo-page.entity';\n\nexport type TaonSeoPageInput = Pick<\n TaonSeoPageEntity,\n | 'path'\n | 'title'\n | 'description'\n | 'keywords'\n | 'canonicalUrl'\n | 'ogTitle'\n | 'ogDescription'\n | 'ogImageKey'\n | 'noIndex'\n | 'noFollow'\n>;\n\n//namespace TaonSeoPageModels\n\n export enum TaonSeoPageModels__NS__TaonSeoPageState {\n Active = 'active',\n Inactive = 'inactive',\n }\n\n//end of namespace TaonSeoPageModels\n","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser-prod';\nimport { TaonSeoPageEntity } from './taon-seo-page.entity';\nimport { TaonSeoPageProvider } from './taon-seo-page.provider';\n//#endregion\n\n@TaonSubscriber<TaonSeoPageSubscriber>({\n className: 'TaonSeoPageSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonSeoPageSubscriber extends TaonBaseSubscriberForEntity {\n private readonly taonSeoPageProvider = this.injectProvider(TaonSeoPageProvider);\n listenTo(): typeof TaonSeoPageEntity {\n return TaonSeoPageEntity;\n }\n}","import { TaonSeoPageModels__NS__TaonSeoPageState } from './taon-seo-page.models';\n\n//namespace TaonSeoPageUtils\n\n export function TaonSeoPageUtils__NS__isActive(state: string): state is TaonSeoPageModels__NS__TaonSeoPageState {\n return state === 'active';\n }\n\n//end of namespace TaonSeoPageUtils","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; // @browser\nimport { TaonSeoPageErrors } from './taon-seo-page.constants';\n\n//namespace TaonSeoPageValidators\n\n //#region @browser\n /**\n * TODO REMOVE THIS EXAMPLE.\n */\n export const TaonSeoPageValidators__NS__passwordMatchValidator: ValidatorFn = (\n control: AbstractControl,\n ): ValidationErrors | null => {\n const password = control.get('password');\n const passwordRepeat = control.get('passwordRepeat');\n\n if (!password || !passwordRepeat) {\n return null;\n }\n\n return password.value === passwordRepeat.value\n ? null\n : { [TaonSeoPageErrors.INVALID_PASSWORD_EXAMPLE_ERROR]: true };\n };\n //#endregion\n\n\n//end of namespace TaonSeoPageValidators\n","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { TaonBaseAngularService, Taon__NS____FILE_RELATIVE_PATH, Taon__NS__asset, Taon__NS__assetsFrom, Taon__NS__assetsListFrom, Taon__NS__createContext, Taon__NS__createContextTemplate, Taon__NS__error, Taon__NS__getResponseValue, Taon__NS__isBrowser, Taon__NS__isElectron, Taon__NS__isNode, Taon__NS__isWebSQL, Taon__NS__LANG_IMPORT_MAP, Taon__NS__removeLoader, Taon__NS__Response, Taon__NS__ResponseHtml, Taon__NS__StartParams } from 'taon/browser-prod';\n\nimport { TaonSeoSettingsProvider } from './taon-seo-settings.provider';\n//#endregion\n\n@Injectable()\nexport class TaonSeoSettingsConfigService extends TaonBaseAngularService {\n private taonSeoSettingsProvider = this.injectProvider(TaonSeoSettingsProvider);\n\n get isEnableOption() {\n return this.taonSeoSettingsProvider.enabledTaonSeoSettingsOption;\n }\n\n clone(): Partial<TaonSeoSettingsProvider> {\n const cloned = this.taonSeoSettingsProvider.clone();\n return cloned;\n }\n}","//#region imports\nimport {\n TaonBaseRepository,\n TaonBaseKvRepository,\n TaonRepository,\n} from 'taon/browser-prod';\n\nimport { TaonSeoSettingsEntity } from './taon-seo-settings.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonSeoSettingsKvRepository',\n})\nexport class TaonSeoSettingsKvRepository extends TaonBaseKvRepository<{\n usersToNotify: TaonSeoSettingsEntity[];\n}> {\n async notifyUsers(users: TaonSeoSettingsEntity[]) {\n this.set('usersToNotify', users);\n }\n}","//#region imports\nimport { TaonBaseMiddleware, TaonMiddleware, Taon__NS____FILE_RELATIVE_PATH, Taon__NS__asset, Taon__NS__assetsFrom, Taon__NS__assetsListFrom, Taon__NS__createContext, Taon__NS__createContextTemplate, Taon__NS__error, Taon__NS__getResponseValue, Taon__NS__isBrowser, Taon__NS__isElectron, Taon__NS__isNode, Taon__NS__isWebSQL, Taon__NS__LANG_IMPORT_MAP, Taon__NS__removeLoader, Taon__NS__Response, Taon__NS__ResponseHtml, Taon__NS__StartParams } from 'taon/browser-prod';\nimport { ___NS__add, ___NS__after, ___NS__ary, ___NS__assign, ___NS__assignIn, ___NS__assignInWith, ___NS__assignWith, ___NS__at, ___NS__attempt, ___NS__before, ___NS__bind, ___NS__bindAll, ___NS__bindKey, ___NS__camelCase, ___NS__capitalize, ___NS__castArray, ___NS__ceil, ___NS__chain, ___NS__chunk, ___NS__clamp, ___NS__clone, ___NS__cloneDeep, ___NS__cloneDeepWith, ___NS__cloneWith, ___NS__compact, ___NS__concat, ___NS__cond, ___NS__conforms, ___NS__conformsTo, ___NS__constant, ___NS__countBy, ___NS__create, ___NS__curry, ___NS__curryRight, ___NS__debounce, ___NS__deburr, ___NS__defaults, ___NS__defaultsDeep, ___NS__defaultTo, ___NS__defer, ___NS__delay, ___NS__difference, ___NS__differenceBy, ___NS__differenceWith, ___NS__divide, ___NS__drop, ___NS__dropRight, ___NS__dropRightWhile, ___NS__dropWhile, ___NS__each, ___NS__eachRight, ___NS__endsWith, ___NS__entries, ___NS__entriesIn, ___NS__eq, ___NS__escape, ___NS__escapeRegExp, ___NS__every, ___NS__extend, ___NS__extendWith, ___NS__fill, ___NS__filter, ___NS__find, ___NS__findIndex, ___NS__findKey, ___NS__findLast, ___NS__findLastIndex, ___NS__findLastKey, ___NS__first, ___NS__flatMap, ___NS__flatMapDeep, ___NS__flatMapDepth, ___NS__flatten, ___NS__flattenDeep, ___NS__flattenDepth, ___NS__flip, ___NS__floor, ___NS__flow, ___NS__flowRight, ___NS__forEach, ___NS__forEachRight, ___NS__forIn, ___NS__forInRight, ___NS__forOwn, ___NS__forOwnRight, ___NS__fromPairs, ___NS__functions, ___NS__functionsIn, ___NS__get, ___NS__groupBy, ___NS__gt, ___NS__gte, ___NS__has, ___NS__hasIn, ___NS__head, ___NS__identity, ___NS__includes, ___NS__indexOf, ___NS__initial, ___NS__inRange, ___NS__intersection, ___NS__intersectionBy, ___NS__intersectionWith, ___NS__invert, ___NS__invertBy, ___NS__invoke, ___NS__invokeMap, ___NS__isArguments, ___NS__isArray, ___NS__isArrayBuffer, ___NS__isArrayLike, ___NS__isArrayLikeObject, ___NS__isBoolean, ___NS__isBuffer, ___NS__isDate, ___NS__isElement, ___NS__isEmpty, ___NS__isEqual, ___NS__isEqualWith, ___NS__isError, ___NS__isFinite, ___NS__isFunction, ___NS__isInteger, ___NS__isLeafObject, ___NS__isLength, ___NS__isMap, ___NS__isMatch, ___NS__isMatchWith, ___NS__isNaN, ___NS__isNative, ___NS__isNil, ___NS__isNull, ___NS__isNumber, ___NS__isObject, ___NS__isObjectLike, ___NS__isPlainObject, ___NS__isRegExp, ___NS__isSafeInteger, ___NS__isSet, ___NS__isString, ___NS__isSymbol, ___NS__isTypedArray, ___NS__isUndefined, ___NS__isWeakMap, ___NS__isWeakSet, ___NS__iteratee, ___NS__join, ___NS__kebabCase, ___NS__keyBy, ___NS__keys, ___NS__keysIn, ___NS__last, ___NS__lastIndexOf, ___NS__lowerCase, ___NS__lowerFirst, ___NS__lt, ___NS__lte, ___NS__map, ___NS__mapKeys, ___NS__mapValues, ___NS__matches, ___NS__matchesProperty, ___NS__max, ___NS__maxBy, ___NS__mean, ___NS__meanBy, ___NS__memoize, ___NS__merge, ___NS__mergeWith, ___NS__method, ___NS__methodOf, ___NS__min, ___NS__minBy, ___NS__mixin, ___NS__multiply, ___NS__negate, ___NS__noop, ___NS__now, ___NS__nth, ___NS__nthArg, ___NS__omit, ___NS__omitBy, ___NS__once, ___NS__orderBy, ___NS__over, ___NS__overArgs, ___NS__overEvery, ___NS__overSome, ___NS__pad, ___NS__padEnd, ___NS__padStart, ___NS__parseInt, ___NS__partial, ___NS__partialRight, ___NS__partition, ___NS__pick, ___NS__pickBy, ___NS__property, ___NS__propertyOf, ___NS__pull, ___NS__pullAll, ___NS__pullAllBy, ___NS__pullAllWith, ___NS__pullAt, ___NS__random, ___NS__range, ___NS__rangeRight, ___NS__rearg, ___NS__reduce, ___NS__reduceRight, ___NS__reject, ___NS__remove, ___NS__repeat, ___NS__replace, ___NS__rest, ___NS__result, ___NS__reverse, ___NS__round, ___NS__sample, ___NS__sampleSize, ___NS__set, ___NS__setWith, ___NS__shuffle, ___NS__size, ___NS__slice, ___NS__snakeCase, ___NS__some, ___NS__sortBy, ___NS__sortedIndex, ___NS__sortedIndexBy, ___NS__sortedIndexOf, ___NS__sortedLastIndex, ___NS__sortedLastIndexBy, ___NS__sortedLastIndexOf, ___NS__sortedUniq, ___NS__sortedUniqBy, ___NS__split, ___NS__spread, ___NS__startCase, ___NS__startsWith, ___NS__stubArray, ___NS__stubFalse, ___NS__stubObject, ___NS__stubString, ___NS__stubTrue, ___NS__subtract, ___NS__sum, ___NS__sumBy, ___NS__tail, ___NS__take, ___NS__takeRight, ___NS__takeRightWhile, ___NS__takeWhile, ___NS__tap, ___NS__template, ___NS__templateSettings, ___NS__throttle, ___NS__thru, ___NS__times, ___NS__toArray, ___NS__toFinite, ___NS__toInteger, ___NS__toLength, ___NS__toLower, ___NS__toNumber, ___NS__toPairs, ___NS__toPairsIn, ___NS__toPath, ___NS__toPlainObject, ___NS__toSafeInteger, ___NS__toString, ___NS__toUpper, ___NS__transform, ___NS__trim, ___NS__trimEnd, ___NS__trimStart, ___NS__truncate, ___NS__unary, ___NS__unescape, ___NS__union, ___NS__unionBy, ___NS__unionWith, ___NS__uniq, ___NS__uniqBy, ___NS__uniqueId, ___NS__uniqWith, ___NS__unset, ___NS__unzip, ___NS__unzipWith, ___NS__update, ___NS__updateWith, ___NS__upperCase, ___NS__upperFirst, ___NS__values, ___NS__valuesIn, ___NS__without, ___NS__words, ___NS__wrap, ___NS__xor, ___NS__xorBy, ___NS__xorWith, ___NS__zip, ___NS__zipObject, ___NS__zipObjectDeep, ___NS__zipWith } from 'tnp-core/browser-prod';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonSeoSettingsMiddleware',\n})\nexport class TaonSeoSettingsMiddleware extends TaonBaseMiddleware {}","import type { TaonSeoSettingsEntity } from './taon-seo-settings.entity';\n\nexport type TaonSeoSettingsInput = Pick<\n TaonSeoSettingsEntity,\n | 'siteName'\n | 'defaultTitle'\n | 'defaultDescription'\n | 'defaultKeywords'\n | 'defaultImageKey'\n | 'canonicalBaseUrl'\n | 'robotsIndex'\n | 'robotsFollow'\n>;\n\n//namespace TaonSeoSettingsModels\n\n export enum TaonSeoSettingsModels__NS__TaonSeoSettingsState {\n Active = 'active',\n Inactive = 'inactive',\n }\n\n//end of namespace TaonSeoSettingsModels\n","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser-prod';\nimport { TaonSeoSettingsEntity } from './taon-seo-settings.entity';\nimport { TaonSeoSettingsProvider } from './taon-seo-settings.provider';\n//#endregion\n\n@TaonSubscriber<TaonSeoSettingsSubscriber>({\n className: 'TaonSeoSettingsSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonSeoSettingsSubscriber extends TaonBaseSubscriberForEntity {\n private readonly taonSeoSettingsProvider = this.injectProvider(TaonSeoSettingsProvider);\n listenTo(): typeof TaonSeoSettingsEntity {\n return TaonSeoSettingsEntity;\n }\n}","import { TaonSeoSettingsModels__NS__TaonSeoSettingsState } from './taon-seo-settings.models';\n\n//namespace TaonSeoSettingsUtils\n\n export function TaonSeoSettingsUtils__NS__isActive(state: string): state is TaonSeoSettingsModels__NS__TaonSeoSettingsState {\n return state === 'active';\n }\n\n//end of namespace TaonSeoSettingsUtils","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; // @browser\nimport { TaonSeoSettingsErrors } from './taon-seo-settings.constants';\n\n//namespace TaonSeoSettingsValidators\n\n //#region @browser\n /**\n * TODO REMOVE THIS EXAMPLE.\n */\n export const TaonSeoSettingsValidators__NS__passwordMatchValidator: ValidatorFn = (\n control: AbstractControl,\n ): ValidationErrors | null => {\n const password = control.get('password');\n const passwordRepeat = control.get('passwordRepeat');\n\n if (!password || !passwordRepeat) {\n return null;\n }\n\n return password.value === passwordRepeat.value\n ? null\n : { [TaonSeoSettingsErrors.INVALID_PASSWORD_EXAMPLE_ERROR]: true };\n };\n //#endregion\n\n\n//end of namespace TaonSeoSettingsValidators\n","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels__NS__BaseProjectType, CoreModels__NS__BaseProjectTypeArr, CoreModels__NS__BuildType, CoreModels__NS__BuildTypeArr, CoreModels__NS__buildTypeToWatcherFn, CoreModels__NS__BuildWatcherErrorType, CoreModels__NS__BuildWatcherType, CoreModels__NS__BuildWatcherTypeArr, CoreModels__NS__CfontAlign, CoreModels__NS__CfontStyle, CoreModels__NS__ClassNameStaticProperty, CoreModels__NS__ContentType, CoreModels__NS__ContentTypeKeys, CoreModels__NS__CoreLibCategory, CoreModels__NS__CutableFileExt, CoreModels__NS__DatabaseType, CoreModels__NS__DeepPartial, CoreModels__NS__FileEvent, CoreModels__NS__FileExtension, CoreModels__NS__FirstParamsFrom, CoreModels__NS__FrameworkVersion, CoreModels__NS__GitConnection, CoreModels__NS__GitConnectionArr, CoreModels__NS__GlobalDependencies, CoreModels__NS__hasExitCleaningFunction, CoreModels__NS__HttpCode, CoreModels__NS__HttpMethod, CoreModels__NS__HttpMethodArr, CoreModels__NS__ImageFileExtension, CoreModels__NS__ImageFileExtensionArr, CoreModels__NS__InstalationType, CoreModels__NS__InstalationTypeArr, CoreModels__NS__LibType, CoreModels__NS__localhostDomain, CoreModels__NS__localhostIp127, CoreModels__NS__ManifestIcon, CoreModels__NS__MediaType, CoreModels__NS__MediaTypeAllArr, CoreModels__NS__mimeTypes, CoreModels__NS__NewFactoryType, CoreModels__NS__NpmInstallOptions, CoreModels__NS__NpmPublishOptions, CoreModels__NS__NpmSpecialVersions, CoreModels__NS__OrignalClassKey, CoreModels__NS__OutFolder, CoreModels__NS__Package, CoreModels__NS__ParamType, CoreModels__NS__parentLocation, CoreModels__NS__pathToChildren, CoreModels__NS__Position, CoreModels__NS__PreReleaseVersionTag, CoreModels__NS__PROGRESS_DATA_TYPE, CoreModels__NS__PUSHTYPE, CoreModels__NS__PwaManifest, CoreModels__NS__ReleaseVersionType, CoreModels__NS__ReleaseVersionTypeEnum, CoreModels__NS__RunOptions, CoreModels__NS__Size, CoreModels__NS__SPECIAL_APP_READY_MESSAGE, CoreModels__NS__SPECIAL_WORKER_READY_MESSAGE, CoreModels__NS__tagForTaskName, CoreModels__NS__TaonHttpErrorCustomProp, CoreModels__NS__TsUsage, CoreModels__NS__UIFramework, CoreModels__NS__VSCodeSettings } from 'tnp-core/browser-prod';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibTaonSeoPageTaonSeoPageConstantsTs } from './taon-seo-page.constants.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibTaonSeoPageTaonSeoPageConstantsTs } from './taon-seo-page.constants.ts.pl-PL.i18n.data';;\nexport type TaonSeoPageOverride = CoreModels__NS__DeepPartial<EnUsTraslationOverrideSrcLibTaonSeoPageTaonSeoPageConstantsTs \n| PlPlTraslationOverrideSrcLibTaonSeoPageTaonSeoPageConstantsTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY","import {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n inject,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n FormControl,\n FormGroup,\n ReactiveFormsModule,\n Validators,\n} from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport {\n MAT_DIALOG_DATA,\n MatDialogModule,\n MatDialogRef,\n} from '@angular/material/dialog';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { finalize } from 'rxjs';\n\nimport { TaonSeoImageInputComponent } from '../../taon-seo-image-input/taon-seo-image-input.component';\nimport { TaonSeoPageApiService } from '../taon-seo-page.api.service';\nimport type { TaonSeoPageEntity } from '../taon-seo-page.entity';\n\n@Component({\n selector: 'taon-seo-page-edit-dialog',\n templateUrl: './taon-seo-page-edit-dialog.component.html',\n styleUrls: ['./taon-seo-page-edit-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n ReactiveFormsModule,\n MatButtonModule,\n MatCheckboxModule,\n MatDialogModule,\n MatFormFieldModule,\n MatInputModule,\n TaonSeoImageInputComponent,\n ],\n providers: [TaonSeoPageApiService],\n})\nexport class TaonSeoPageEditDialogComponent {\n readonly data = inject<{ page?: TaonSeoPageEntity }>(MAT_DIALOG_DATA);\n readonly saving = signal(false);\n readonly uploading = signal(false);\n readonly error = signal('');\n readonly form = new FormGroup({\n path: new FormControl(this.data.page?.path ?? '/', {\n nonNullable: true,\n validators: [\n Validators.required,\n Validators.pattern(/^\\/[^;?#\\\\\\s()]*$/),\n ],\n }),\n title: new FormControl<string | null>(this.data.page?.title ?? null),\n description: new FormControl<string | null>(\n this.data.page?.description ?? null,\n ),\n keywords: new FormControl<string | null>(this.data.page?.keywords ?? null),\n canonicalUrl: new FormControl<string | null>(\n this.data.page?.canonicalUrl ?? null,\n ),\n ogTitle: new FormControl<string | null>(this.data.page?.ogTitle ?? null),\n ogDescription: new FormControl<string | null>(\n this.data.page?.ogDescription ?? null,\n ),\n ogImageKey: new FormControl<string | null>(\n this.data.page?.ogImageKey ?? null,\n ),\n noIndex: new FormControl(this.data.page?.noIndex ?? false, {\n nonNullable: true,\n }),\n noFollow: new FormControl(this.data.page?.noFollow ?? false, {\n nonNullable: true,\n }),\n });\n private readonly api = inject(TaonSeoPageApiService);\n private readonly destroyRef = inject(DestroyRef);\n private readonly ref = inject(MatDialogRef<TaonSeoPageEditDialogComponent>);\n\n close(): void {\n if (!this.saving() && !this.uploading()) {\n this.ref.close();\n }\n }\n\n save(): void {\n if (this.saving() || this.uploading()) {\n return;\n }\n this.form.markAllAsTouched();\n if (this.form.invalid) {\n this.error.set('Enter an application path such as /pricing.');\n return;\n }\n this.error.set('');\n this.saving.set(true);\n const input = this.form.getRawValue();\n const request = this.data.page\n ? this.api.updatePage(this.data.page.id, input)\n : this.api.createPage(input);\n request\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n finalize(() => this.saving.set(false)),\n )\n .subscribe({\n next: page => this.ref.close(page),\n error: (error: unknown) => {\n console.error('[taon-seo-page-editor] Unable to save page', error);\n this.error.set(\n 'The page could not be saved. Ensure the path is unique and the canonical URL is an absolute HTTP(S) URL.',\n );\n },\n });\n }\n}\n","<h2 mat-dialog-title>{{ data.page ? 'Edit SEO page' : 'Add SEO page' }}</h2>\n<form\n [formGroup]=\"form\"\n (ngSubmit)=\"save()\">\n <mat-dialog-content>\n <p>\n Static/application page overrides. Blank fields inherit global defaults.\n </p>\n @if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n }\n <fieldset [disabled]=\"saving()\">\n <mat-form-field>\n <mat-label>Path</mat-label>\n <input\n matInput\n formControlName=\"path\"\n placeholder=\"/pricing\" />\n <mat-error\n >Enter an application path without query or fragment.</mat-error\n >\n </mat-form-field>\n <mat-form-field>\n <mat-label>Title</mat-label>\n <input\n matInput\n formControlName=\"title\" />\n </mat-form-field>\n <mat-form-field>\n <mat-label>Description</mat-label>\n <textarea\n matInput\n formControlName=\"description\"\n rows=\"3\"></textarea>\n </mat-form-field>\n <mat-form-field>\n <mat-label>Keywords</mat-label>\n <input\n matInput\n formControlName=\"keywords\" />\n </mat-form-field>\n <mat-form-field>\n <mat-label>Canonical URL</mat-label>\n <input\n matInput\n formControlName=\"canonicalUrl\"\n placeholder=\"https://example.com/pricing\" />\n </mat-form-field>\n <mat-form-field>\n <mat-label>Open Graph title</mat-label>\n <input\n matInput\n formControlName=\"ogTitle\" />\n </mat-form-field>\n <mat-form-field>\n <mat-label>Open Graph description</mat-label>\n <textarea\n matInput\n formControlName=\"ogDescription\"\n rows=\"3\"></textarea>\n </mat-form-field>\n <taon-seo-image-input\n [key]=\"form.controls.ogImageKey.value\"\n (keyChange)=\"form.controls.ogImageKey.setValue($event)\"\n [disabled]=\"saving()\"\n [(uploading)]=\"uploading\" />\n <mat-checkbox formControlName=\"noIndex\">noIndex</mat-checkbox>\n <mat-checkbox formControlName=\"noFollow\">noFollow</mat-checkbox>\n </fieldset>\n </mat-dialog-content>\n <mat-dialog-actions align=\"end\">\n <button\n mat-button\n type=\"button\"\n [disabled]=\"saving() || uploading()\"\n (click)=\"close()\">\n Cancel\n </button>\n <button\n mat-flat-button\n type=\"submit\"\n [disabled]=\"saving() || uploading()\">\n {{ saving() ? 'Saving...' : 'Save page' }}\n </button>\n </mat-dialog-actions>\n</form>\n","import {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n ViewChild,\n inject,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MtxGridColumn } from '@ng-matero/extensions/grid';\nimport {\n TaonConfirmDialogComponent,\n TaonDatatableComponent,\n} from '@taon-dev/ui/browser-prod';\nimport { finalize } from 'rxjs';\n\nimport { TaonSeoPageEditDialogComponent } from '../taon-seo-page-edit-dialog/taon-seo-page-edit-dialog.component';\nimport { TaonSeoPageApiService } from '../taon-seo-page.api.service';\nimport type { TaonSeoPageEntity } from '../taon-seo-page.entity';\n\n@Component({\n selector: 'app-taon-seo-page-backoffice',\n templateUrl: './taon-seo-page-backoffice.component.html',\n styleUrls: ['./taon-seo-page-backoffice.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [TaonDatatableComponent],\n providers: [TaonSeoPageApiService],\n})\nexport class TaonSeoPageBackofficeComponent {\n @ViewChild(TaonDatatableComponent)\n readonly datatable!: TaonDatatableComponent;\n\n readonly api = inject(TaonSeoPageApiService);\n readonly error = signal('');\n readonly deleting = signal<number | null>(null);\n private readonly dialog = inject(MatDialog);\n private readonly destroyRef = inject(DestroyRef);\n\n get crud() {\n return this.api.taonSeoPageController;\n }\n\n readonly columns: MtxGridColumn[] = [\n { header: 'ID', field: 'id', sortable: true },\n { header: 'Path', field: 'path', sortable: true },\n { header: 'Title', field: 'title', sortable: true },\n { header: 'noIndex', field: 'noIndex', type: 'boolean' },\n { header: 'noFollow', field: 'noFollow', type: 'boolean' },\n {\n header: 'Actions',\n field: 'actions',\n type: 'button',\n buttons: [\n {\n type: 'icon',\n icon: 'edit',\n tooltip: 'Edit SEO page',\n click: (page: TaonSeoPageEntity) => this.edit(page),\n },\n {\n type: 'icon',\n icon: 'delete',\n tooltip: 'Delete SEO page',\n disabled: () => this.deleting() !== null,\n click: (page: TaonSeoPageEntity) => this.delete(page),\n },\n ],\n },\n ];\n\n add(): void {\n this.edit();\n }\n\n edit(page?: TaonSeoPageEntity): void {\n this.dialog\n .open(TaonSeoPageEditDialogComponent, {\n data: { page },\n width: '48rem',\n maxWidth: '95vw',\n disableClose: true,\n })\n .afterClosed()\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(saved => {\n if (saved) {\n this.datatable.reload();\n }\n });\n }\n\n delete(page: TaonSeoPageEntity): void {\n if (this.deleting() !== null) {\n return;\n }\n this.deleting.set(page.id);\n this.dialog\n .open(TaonConfirmDialogComponent, {\n data: {\n title: 'Delete SEO page?',\n message: `Delete the override for ${page.path}? This page will inherit global SEO defaults.`,\n confirmText: 'Delete',\n },\n })\n .afterClosed()\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(confirmed => {\n if (!confirmed) {\n this.deleting.set(null);\n return;\n }\n this.error.set('');\n this.api\n .deletePage(page.id)\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n finalize(() => this.deleting.set(null)),\n )\n .subscribe({\n next: () => this.datatable.reload(),\n error: (error: unknown) => {\n console.error('[taon-seo-pages] Unable to delete page', error);\n this.error.set(\n 'The SEO page could not be deleted. Refresh and try again.',\n );\n },\n });\n });\n }\n}\n","<h1>SEO pages</h1>\n<p>SEO overrides for application/static pages, not CMS content.</p>\n@if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n}\n<taon-datatable\n [entityCrudController]=\"crud\"\n [columns]=\"columns\"\n [allowedColumns]=\"['id', 'path', 'title', 'noIndex', 'noFollow']\"\n searchMode=\"advanced\"\n (addingItem)=\"add()\">\n</taon-datatable>\n","//namespace TaonSeoPageBackofficeModels\n\n//end of namespace TaonSeoPageBackofficeModels\n","//#region imports\nimport { Routes } from '@angular/router';\nimport { adminLazyRoute } from '@taon-dev/ui/browser-prod';\n//#endregion\n\nexport const TaonSeoPageBackofficeRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-seo-page-backoffice.component').then(m => m.TaonSeoPageBackofficeComponent),\n\n children: [\n // adminLazyRoute({\n // path: 'dashboard',\n // menuItem: 'Dashboard',\n // icon: 'dashboard',\n // expandable: false,\n // loader: () =>\n // import('./anothermodule.routes').then(m => m.DashboardRoutes),\n // }),\n ],\n },\n];\n\n/**\n * By default exporting TaonSeoPageBackofficeRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonSeoPageBackofficeRoutes;","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels__NS__BaseProjectType, CoreModels__NS__BaseProjectTypeArr, CoreModels__NS__BuildType, CoreModels__NS__BuildTypeArr, CoreModels__NS__buildTypeToWatcherFn, CoreModels__NS__BuildWatcherErrorType, CoreModels__NS__BuildWatcherType, CoreModels__NS__BuildWatcherTypeArr, CoreModels__NS__CfontAlign, CoreModels__NS__CfontStyle, CoreModels__NS__ClassNameStaticProperty, CoreModels__NS__ContentType, CoreModels__NS__ContentTypeKeys, CoreModels__NS__CoreLibCategory, CoreModels__NS__CutableFileExt, CoreModels__NS__DatabaseType, CoreModels__NS__DeepPartial, CoreModels__NS__FileEvent, CoreModels__NS__FileExtension, CoreModels__NS__FirstParamsFrom, CoreModels__NS__FrameworkVersion, CoreModels__NS__GitConnection, CoreModels__NS__GitConnectionArr, CoreModels__NS__GlobalDependencies, CoreModels__NS__hasExitCleaningFunction, CoreModels__NS__HttpCode, CoreModels__NS__HttpMethod, CoreModels__NS__HttpMethodArr, CoreModels__NS__ImageFileExtension, CoreModels__NS__ImageFileExtensionArr, CoreModels__NS__InstalationType, CoreModels__NS__InstalationTypeArr, CoreModels__NS__LibType, CoreModels__NS__localhostDomain, CoreModels__NS__localhostIp127, CoreModels__NS__ManifestIcon, CoreModels__NS__MediaType, CoreModels__NS__MediaTypeAllArr, CoreModels__NS__mimeTypes, CoreModels__NS__NewFactoryType, CoreModels__NS__NpmInstallOptions, CoreModels__NS__NpmPublishOptions, CoreModels__NS__NpmSpecialVersions, CoreModels__NS__OrignalClassKey, CoreModels__NS__OutFolder, CoreModels__NS__Package, CoreModels__NS__ParamType, CoreModels__NS__parentLocation, CoreModels__NS__pathToChildren, CoreModels__NS__Position, CoreModels__NS__PreReleaseVersionTag, CoreModels__NS__PROGRESS_DATA_TYPE, CoreModels__NS__PUSHTYPE, CoreModels__NS__PwaManifest, CoreModels__NS__ReleaseVersionType, CoreModels__NS__ReleaseVersionTypeEnum, CoreModels__NS__RunOptions, CoreModels__NS__Size, CoreModels__NS__SPECIAL_APP_READY_MESSAGE, CoreModels__NS__SPECIAL_WORKER_READY_MESSAGE, CoreModels__NS__tagForTaskName, CoreModels__NS__TaonHttpErrorCustomProp, CoreModels__NS__TsUsage, CoreModels__NS__UIFramework, CoreModels__NS__VSCodeSettings } from 'tnp-core/browser-prod';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibTaonSeoSettingsTaonSeoSettingsConstantsTs } from './taon-seo-settings.constants.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibTaonSeoSettingsTaonSeoSettingsConstantsTs } from './taon-seo-settings.constants.ts.pl-PL.i18n.data';;\nexport type TaonSeoSettingsOverride = CoreModels__NS__DeepPartial<EnUsTraslationOverrideSrcLibTaonSeoSettingsTaonSeoSettingsConstantsTs \n| PlPlTraslationOverrideSrcLibTaonSeoSettingsTaonSeoSettingsConstantsTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY","import {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n inject,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { finalize } from 'rxjs';\n\nimport { TaonSeoImageInputComponent } from '../../taon-seo-image-input/taon-seo-image-input.component';\nimport { TaonSeoSettingsApiService } from '../taon-seo-settings.api.service';\n\n@Component({\n selector: 'app-taon-seo-settings-backoffice',\n templateUrl: './taon-seo-settings-backoffice.component.html',\n styleUrls: ['./taon-seo-settings-backoffice.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n ReactiveFormsModule,\n MatButtonModule,\n MatCheckboxModule,\n MatFormFieldModule,\n MatInputModule,\n TaonSeoImageInputComponent,\n ],\n providers: [TaonSeoSettingsApiService],\n})\nexport class TaonSeoSettingsBackofficeComponent {\n readonly form = new FormGroup({\n siteName: new FormControl('', { nonNullable: true }),\n defaultTitle: new FormControl('', { nonNullable: true }),\n defaultDescription: new FormControl('', { nonNullable: true }),\n defaultKeywords: new FormControl<string | null>(null),\n defaultImageKey: new FormControl<string | null>(null),\n canonicalBaseUrl: new FormControl<string | null>(null),\n robotsIndex: new FormControl(true, { nonNullable: true }),\n robotsFollow: new FormControl(true, { nonNullable: true }),\n });\n readonly loading = signal(true);\n readonly saving = signal(false);\n readonly uploading = signal(false);\n readonly error = signal('');\n readonly saved = signal(false);\n private readonly api = inject(TaonSeoSettingsApiService);\n private readonly destroyRef = inject(DestroyRef);\n\n ngOnInit(): void {\n this.load();\n }\n\n load(): void {\n this.loading.set(true);\n this.error.set('');\n this.api\n .getGlobal()\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n finalize(() => this.loading.set(false)),\n )\n .subscribe({\n next: settings => {\n this.form.enable();\n this.form.patchValue(settings);\n },\n error: (error: unknown) => {\n console.error('[taon-seo-settings] Unable to load settings', error);\n this.error.set(\n 'SEO settings could not be loaded. Retry before saving.',\n );\n this.form.disable();\n },\n });\n }\n\n save(): void {\n if (\n this.loading() ||\n this.saving() ||\n this.uploading() ||\n this.form.disabled\n ) {\n return;\n }\n this.saving.set(true);\n this.saved.set(false);\n this.error.set('');\n this.api\n .saveGlobal(this.form.getRawValue())\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n finalize(() => this.saving.set(false)),\n )\n .subscribe({\n next: settings => {\n this.form.patchValue(settings);\n this.form.markAsPristine();\n this.saved.set(true);\n },\n error: (error: unknown) => {\n console.error('[taon-seo-settings] Unable to save settings', error);\n this.error.set(\n 'SEO settings could not be saved. Check the canonical URL and try again.',\n );\n },\n });\n }\n}\n","<h1>General SEO settings</h1>\n@if (loading()) {\n <p role=\"status\">Loading SEO settings...</p>\n}\n@if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n @if (form.disabled) {\n <button\n mat-button\n type=\"button\"\n (click)=\"load()\">\n Retry\n </button>\n }\n}\n@if (saved()) {\n <p role=\"status\">SEO settings saved.</p>\n}\n<form\n [formGroup]=\"form\"\n (ngSubmit)=\"save()\">\n <fieldset [disabled]=\"loading() || saving() || form.disabled\">\n <mat-form-field>\n <mat-label>Site name</mat-label>\n <input\n matInput\n formControlName=\"siteName\" />\n </mat-form-field>\n <mat-form-field>\n <mat-label>Default page title</mat-label>\n <input\n matInput\n formControlName=\"defaultTitle\" />\n </mat-form-field>\n <mat-form-field>\n <mat-label>Default meta description</mat-label>\n <textarea\n matInput\n formControlName=\"defaultDescription\"\n rows=\"4\"></textarea>\n </mat-form-field>\n <mat-form-field>\n <mat-label>Default keywords</mat-label>\n <input\n matInput\n formControlName=\"defaultKeywords\" />\n </mat-form-field>\n <taon-seo-image-input\n [key]=\"form.controls.defaultImageKey.value\"\n (keyChange)=\"form.controls.defaultImageKey.setValue($event)\"\n [disabled]=\"loading() || saving() || form.disabled\"\n [(uploading)]=\"uploading\" />\n <mat-form-field>\n <mat-label>Canonical base URL</mat-label>\n <input\n matInput\n formControlName=\"canonicalBaseUrl\"\n placeholder=\"https://example.com\" />\n <mat-hint\n >Absolute website URL, optionally including its deployment\n subpath.</mat-hint\n >\n </mat-form-field>\n <mat-checkbox formControlName=\"robotsIndex\">Allow indexing</mat-checkbox>\n <mat-checkbox formControlName=\"robotsFollow\"\n >Allow following links</mat-checkbox\n >\n <button\n mat-flat-button\n type=\"submit\"\n [disabled]=\"loading() || saving() || uploading() || form.disabled\">\n {{ saving() ? 'Saving...' : 'Save settings' }}\n </button>\n </fieldset>\n</form>\n","//namespace TaonSeoSettingsBackofficeModels\n\n//end of namespace TaonSeoSettingsBackofficeModels\n","//#region imports\nimport { Routes } from '@angular/router';\nimport { adminLazyRoute } from '@taon-dev/ui/browser-prod';\n//#endregion\n\nexport const TaonSeoSettingsBackofficeRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-seo-settings-backoffice.component').then(m => m.TaonSeoSettingsBackofficeComponent),\n\n children: [\n // adminLazyRoute({\n // path: 'dashboard',\n // menuItem: 'Dashboard',\n // icon: 'dashboard',\n // expandable: false,\n // loader: () =>\n // import('./anothermodule.routes').then(m => m.DashboardRoutes),\n // }),\n ],\n },\n];\n\n/**\n * By default exporting TaonSeoSettingsBackofficeRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonSeoSettingsBackofficeRoutes;","// @ts-nocheck\n// This file is auto-generated during init process. Do not modify.\n// This disable this auto generate file.\n// set property \"shouldGenerateAutogenIndexFile: false\" \n// in taon.jsonc of your project. \nexport * from './build-info._auto-generated_'; \nexport * from './my-organization-proj'; \nexport * from './start-cli'; \nexport * from './taon-seo-image.api.service'; // @browser\nexport * from './taon-seo-image.controller'; \nexport * from './taon-seo.abstract.context'; \nexport * from './taon-seo.provider'; \nexport * from './taon-seo.service'; // @browser\nexport * from './taon-seo.utils'; \nexport * from './taon-seo.validation'; \nexport * from './i18n/lib.translation'; \nexport * from './taon-seo-backoffice/taon-seo-backoffice.component'; // @browser\nexport * from './taon-seo-backoffice/taon-seo-backoffice.models'; \nexport * from './taon-seo-backoffice/taon-seo-backoffice.routes'; // @browser\nexport * from './taon-seo-image-input/taon-seo-image-input.component'; // @browser\nexport * from './taon-seo-page/taon-seo-page.abstract.context'; \nexport * from './taon-seo-page/taon-seo-page.api.service'; // @browser\nexport * from './taon-seo-page/taon-seo-page.config.service'; // @browser\nexport * from './taon-seo-page/taon-seo-page.constants'; \nexport * from './taon-seo-page/taon-seo-page.controller'; \nexport * from './taon-seo-page/taon-seo-page.entity'; \nexport * from './taon-seo-page/taon-seo-page.kv.repository'; \nexport * from './taon-seo-page/taon-seo-page.middleware'; \nexport * from './taon-seo-page/taon-seo-page.models'; \nexport * from './taon-seo-page/taon-seo-page.provider'; \nexport * from './taon-seo-page/taon-seo-page.repository'; \nexport * from './taon-seo-page/taon-seo-page.subscriber'; \nexport * from './taon-seo-page/taon-seo-page.utils'; \nexport * from './taon-seo-page/taon-seo-page.validators'; \nexport * from './taon-seo-settings/taon-seo-settings.abstract.context'; \nexport * from './taon-seo-settings/taon-seo-settings.api.service'; // @browser\nexport * from './taon-seo-settings/taon-seo-settings.config.service'; // @browser\nexport * from './taon-seo-settings/taon-seo-settings.constants'; \nexport * from './taon-seo-settings/taon-seo-settings.controller'; \nexport * from './taon-seo-settings/taon-seo-settings.entity'; \nexport * from './taon-seo-settings/taon-seo-settings.kv.repository'; \nexport * from './taon-seo-settings/taon-seo-settings.middleware'; \nexport * from './taon-seo-settings/taon-seo-settings.models'; \nexport * from './taon-seo-settings/taon-seo-settings.provider'; \nexport * from './taon-seo-settings/taon-seo-settings.repository'; \nexport * from './taon-seo-settings/taon-seo-settings.subscriber'; \nexport * from './taon-seo-settings/taon-seo-settings.utils'; \nexport * from './taon-seo-settings/taon-seo-settings.validators'; \nexport * from './taon-seo-page/i18n/taon-seo-page.translation'; \nexport * from './taon-seo-page/taon-seo-page-backoffice/taon-seo-page-backoffice.component'; // @browser\nexport * from './taon-seo-page/taon-seo-page-backoffice/taon-seo-page-backoffice.models'; \nexport * from './taon-seo-page/taon-seo-page-backoffice/taon-seo-page-backoffice.routes'; // @browser\nexport * from './taon-seo-page/taon-seo-page-edit-dialog/taon-seo-page-edit-dialog.component'; // @browser\nexport * from './taon-seo-settings/i18n/taon-seo-settings.translation'; \nexport * from './taon-seo-settings/taon-seo-settings-backoffice/taon-seo-settings-backoffice.component'; // @browser\nexport * from './taon-seo-settings/taon-seo-settings-backoffice/taon-seo-settings-backoffice.models'; \nexport * from './taon-seo-settings/taon-seo-settings-backoffice/taon-seo-settings-backoffice.routes'; // @browser","export * from './migrations';\n/* */ \nexport * from './index._auto-generated_';\nexport * from './my-organization-proj';\n/* */ \nexport * from './taon-seo.service'; // @browser\nexport * from './taon-seo-image.api.service'; // @browser\nexport * from './taon-seo-image.controller';\nexport * from './taon-seo.provider';\nexport * from './taon-seo.utils';\nexport * from './taon-seo.validation';\nexport default {};","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["t","MIGRATIONS_CLASSES_FOR_SeoContext","generatedMigrations","i1","i4"],"mappings":"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"}