@taon-dev/cms 21.0.18 → 21.0.20

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 (2270) hide show
  1. package/VERIFIED-BUILD-DATA.jsonc +3 -3
  2. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.html.de-DE.i18n.data-nUdiwbvf.mjs +31 -0
  3. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.html.de-DE.i18n.data-nUdiwbvf.mjs.map +1 -0
  4. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.html.pl-PL.i18n.data-CVom0MIN.mjs +31 -0
  5. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.html.pl-PL.i18n.data-CVom0MIN.mjs.map +1 -0
  6. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.ts.de-DE.i18n.data-DbckMSJu.mjs +21 -0
  7. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.ts.de-DE.i18n.data-DbckMSJu.mjs.map +1 -0
  8. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-DMHcm3IV.mjs +21 -0
  9. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-DMHcm3IV.mjs.map +1 -0
  10. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-Csyad8DN.mjs +26 -0
  11. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-Csyad8DN.mjs.map +1 -0
  12. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-9eRms-wf.mjs +26 -0
  13. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-9eRms-wf.mjs.map +1 -0
  14. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-BgFFReoY.mjs +26 -0
  15. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-BgFFReoY.mjs.map +1 -0
  16. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-zdZ5O1uH.mjs +26 -0
  17. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-zdZ5O1uH.mjs.map +1 -0
  18. package/browser/fesm2022/cms-browser-taon-cms-backoffice.routes.ts.de-DE.i18n.data-Dt6NX2ov.mjs +35 -0
  19. package/browser/fesm2022/cms-browser-taon-cms-backoffice.routes.ts.de-DE.i18n.data-Dt6NX2ov.mjs.map +1 -0
  20. package/browser/fesm2022/cms-browser-taon-cms-backoffice.routes.ts.en-US.i18n.data-seNJiHRQ.mjs +35 -0
  21. package/browser/fesm2022/cms-browser-taon-cms-backoffice.routes.ts.en-US.i18n.data-seNJiHRQ.mjs.map +1 -0
  22. package/browser/fesm2022/cms-browser-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-C-K2Y0GF.mjs +36 -0
  23. package/browser/fesm2022/cms-browser-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-C-K2Y0GF.mjs.map +1 -0
  24. package/browser/fesm2022/cms-browser-taon-cms-category.controller.ts.de-DE.i18n.data-BaPIk_E4.mjs +16 -0
  25. package/browser/fesm2022/cms-browser-taon-cms-category.controller.ts.de-DE.i18n.data-BaPIk_E4.mjs.map +1 -0
  26. package/browser/fesm2022/cms-browser-taon-cms-category.controller.ts.en-US.i18n.data-Btjc1PDP.mjs +16 -0
  27. package/browser/fesm2022/cms-browser-taon-cms-category.controller.ts.en-US.i18n.data-Btjc1PDP.mjs.map +1 -0
  28. package/browser/fesm2022/cms-browser-taon-cms-category.controller.ts.pl-PL.i18n.data-Cb1FxZn5.mjs +16 -0
  29. package/browser/fesm2022/cms-browser-taon-cms-category.controller.ts.pl-PL.i18n.data-Cb1FxZn5.mjs.map +1 -0
  30. package/browser/fesm2022/cms-browser-taon-cms-course-backoffice.component.html.de-DE.i18n.data-DcFKcLJv.mjs +35 -0
  31. package/browser/fesm2022/cms-browser-taon-cms-course-backoffice.component.html.de-DE.i18n.data-DcFKcLJv.mjs.map +1 -0
  32. package/browser/fesm2022/cms-browser-taon-cms-course-backoffice.component.html.en-US.i18n.data-DPlA1Ocj.mjs +35 -0
  33. package/browser/fesm2022/cms-browser-taon-cms-course-backoffice.component.html.en-US.i18n.data-DPlA1Ocj.mjs.map +1 -0
  34. package/browser/fesm2022/cms-browser-taon-cms-course-backoffice.component.html.pl-PL.i18n.data-CX2j4P41.mjs +35 -0
  35. package/browser/fesm2022/cms-browser-taon-cms-course-backoffice.component.html.pl-PL.i18n.data-CX2j4P41.mjs.map +1 -0
  36. package/browser/fesm2022/cms-browser-taon-cms-course-backoffice.component.ts.de-DE.i18n.data-B4GuiCs3.mjs +27 -0
  37. package/browser/fesm2022/cms-browser-taon-cms-course-backoffice.component.ts.de-DE.i18n.data-B4GuiCs3.mjs.map +1 -0
  38. package/browser/fesm2022/cms-browser-taon-cms-course-backoffice.component.ts.en-US.i18n.data-DyPf1BMm.mjs +27 -0
  39. package/browser/fesm2022/cms-browser-taon-cms-course-backoffice.component.ts.en-US.i18n.data-DyPf1BMm.mjs.map +1 -0
  40. package/browser/fesm2022/cms-browser-taon-cms-course-backoffice.component.ts.pl-PL.i18n.data-DprS6bm1.mjs +27 -0
  41. package/browser/fesm2022/cms-browser-taon-cms-course-backoffice.component.ts.pl-PL.i18n.data-DprS6bm1.mjs.map +1 -0
  42. package/browser/fesm2022/cms-browser-taon-cms-course-contents.component.html.de-DE.i18n.data-CJlZufMg.mjs +27 -0
  43. package/browser/fesm2022/cms-browser-taon-cms-course-contents.component.html.de-DE.i18n.data-CJlZufMg.mjs.map +1 -0
  44. package/browser/fesm2022/cms-browser-taon-cms-course-contents.component.html.en-US.i18n.data-DkNTtW3Q.mjs +27 -0
  45. package/browser/fesm2022/cms-browser-taon-cms-course-contents.component.html.en-US.i18n.data-DkNTtW3Q.mjs.map +1 -0
  46. package/browser/fesm2022/cms-browser-taon-cms-course-contents.component.html.pl-PL.i18n.data-8wKW8AR1.mjs +27 -0
  47. package/browser/fesm2022/cms-browser-taon-cms-course-contents.component.html.pl-PL.i18n.data-8wKW8AR1.mjs.map +1 -0
  48. package/browser/fesm2022/cms-browser-taon-cms-course-contents.component.ts.de-DE.i18n.data-Gt0H19BQ.mjs +23 -0
  49. package/browser/fesm2022/cms-browser-taon-cms-course-contents.component.ts.de-DE.i18n.data-Gt0H19BQ.mjs.map +1 -0
  50. package/browser/fesm2022/cms-browser-taon-cms-course-contents.component.ts.en-US.i18n.data-N-p1oNgV.mjs +23 -0
  51. package/browser/fesm2022/cms-browser-taon-cms-course-contents.component.ts.en-US.i18n.data-N-p1oNgV.mjs.map +1 -0
  52. package/browser/fesm2022/cms-browser-taon-cms-course-contents.component.ts.pl-PL.i18n.data-Be1XJqO4.mjs +23 -0
  53. package/browser/fesm2022/cms-browser-taon-cms-course-contents.component.ts.pl-PL.i18n.data-Be1XJqO4.mjs.map +1 -0
  54. package/browser/fesm2022/cms-browser-taon-cms-course-cover.component.ts.de-DE.i18n.data-DDN8R3M-.mjs +15 -0
  55. package/browser/fesm2022/cms-browser-taon-cms-course-cover.component.ts.de-DE.i18n.data-DDN8R3M-.mjs.map +1 -0
  56. package/browser/fesm2022/cms-browser-taon-cms-course-cover.component.ts.en-US.i18n.data-CtXymexU.mjs +15 -0
  57. package/browser/fesm2022/cms-browser-taon-cms-course-cover.component.ts.en-US.i18n.data-CtXymexU.mjs.map +1 -0
  58. package/browser/fesm2022/cms-browser-taon-cms-course-cover.component.ts.pl-PL.i18n.data-U89qKqAj.mjs +15 -0
  59. package/browser/fesm2022/cms-browser-taon-cms-course-cover.component.ts.pl-PL.i18n.data-U89qKqAj.mjs.map +1 -0
  60. package/browser/fesm2022/cms-browser-taon-cms-post-details-page.component.ts.de-DE.i18n.data-C7tWZFkz.mjs +16 -0
  61. package/browser/fesm2022/cms-browser-taon-cms-post-details-page.component.ts.de-DE.i18n.data-C7tWZFkz.mjs.map +1 -0
  62. package/browser/fesm2022/cms-browser-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-B-2PuKu7.mjs +16 -0
  63. package/browser/fesm2022/cms-browser-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-B-2PuKu7.mjs.map +1 -0
  64. package/browser/fesm2022/cms-browser-taon-cms-post-table-actions.directive.ts.de-DE.i18n.data-Cwi7pcvq.mjs +51 -0
  65. package/browser/fesm2022/cms-browser-taon-cms-post-table-actions.directive.ts.de-DE.i18n.data-Cwi7pcvq.mjs.map +1 -0
  66. package/browser/fesm2022/cms-browser-taon-cms-post-table-actions.directive.ts.en-US.i18n.data-BD4-1New.mjs +51 -0
  67. package/browser/fesm2022/cms-browser-taon-cms-post-table-actions.directive.ts.en-US.i18n.data-BD4-1New.mjs.map +1 -0
  68. package/browser/fesm2022/cms-browser-taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data-DdK3CYLj.mjs +51 -0
  69. package/browser/fesm2022/cms-browser-taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data-DdK3CYLj.mjs.map +1 -0
  70. package/browser/fesm2022/cms-browser-taon-cms-post.component.html.de-DE.i18n.data-B1AK4KW_.mjs +366 -0
  71. package/browser/fesm2022/cms-browser-taon-cms-post.component.html.de-DE.i18n.data-B1AK4KW_.mjs.map +1 -0
  72. package/browser/fesm2022/cms-browser-taon-cms-post.component.html.en-US.i18n.data-KASjY7KB.mjs +365 -0
  73. package/browser/fesm2022/cms-browser-taon-cms-post.component.html.en-US.i18n.data-KASjY7KB.mjs.map +1 -0
  74. package/browser/fesm2022/cms-browser-taon-cms-post.component.html.pl-PL.i18n.data-BTHVJbC_.mjs +366 -0
  75. package/browser/fesm2022/cms-browser-taon-cms-post.component.html.pl-PL.i18n.data-BTHVJbC_.mjs.map +1 -0
  76. package/browser/fesm2022/cms-browser-taon-cms-post.component.ts.de-DE.i18n.data-B93wyE-K.mjs +180 -0
  77. package/browser/fesm2022/cms-browser-taon-cms-post.component.ts.de-DE.i18n.data-B93wyE-K.mjs.map +1 -0
  78. package/browser/fesm2022/cms-browser-taon-cms-post.component.ts.en-US.i18n.data-BTgAXw4d.mjs +176 -0
  79. package/browser/fesm2022/cms-browser-taon-cms-post.component.ts.en-US.i18n.data-BTgAXw4d.mjs.map +1 -0
  80. package/browser/fesm2022/cms-browser-taon-cms-post.component.ts.pl-PL.i18n.data-Dt0lO5qR.mjs +180 -0
  81. package/browser/fesm2022/cms-browser-taon-cms-post.component.ts.pl-PL.i18n.data-Dt0lO5qR.mjs.map +1 -0
  82. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-CZ0mZdO-.mjs +21 -0
  83. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-CZ0mZdO-.mjs.map +1 -0
  84. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-DaE0bfxU.mjs +21 -0
  85. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-DaE0bfxU.mjs.map +1 -0
  86. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-CTYkGigp.mjs +21 -0
  87. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-CTYkGigp.mjs.map +1 -0
  88. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-B8PjJ2_u.mjs +21 -0
  89. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-B8PjJ2_u.mjs.map +1 -0
  90. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-D5dkM1Rg.mjs +21 -0
  91. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-D5dkM1Rg.mjs.map +1 -0
  92. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-DqM60DP9.mjs +21 -0
  93. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-DqM60DP9.mjs.map +1 -0
  94. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-BedZOCRt.mjs +21 -0
  95. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-BedZOCRt.mjs.map +1 -0
  96. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.html.de-DE.i18n.data-DjiWTtYe.mjs +71 -0
  97. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.html.de-DE.i18n.data-DjiWTtYe.mjs.map +1 -0
  98. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-Do3uVXlb.mjs +71 -0
  99. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-Do3uVXlb.mjs.map +1 -0
  100. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-DVVM6Wld.mjs +26 -0
  101. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-DVVM6Wld.mjs.map +1 -0
  102. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-D_bY00-t.mjs +26 -0
  103. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-D_bY00-t.mjs.map +1 -0
  104. package/browser/fesm2022/cms-browser-taon-cms-tag.controller.ts.de-DE.i18n.data-B5Vu0aJI.mjs +16 -0
  105. package/browser/fesm2022/cms-browser-taon-cms-tag.controller.ts.de-DE.i18n.data-B5Vu0aJI.mjs.map +1 -0
  106. package/browser/fesm2022/cms-browser-taon-cms-tag.controller.ts.en-US.i18n.data-e3a_jlao.mjs +16 -0
  107. package/browser/fesm2022/cms-browser-taon-cms-tag.controller.ts.en-US.i18n.data-e3a_jlao.mjs.map +1 -0
  108. package/browser/fesm2022/cms-browser-taon-cms-tag.controller.ts.pl-PL.i18n.data-Bk-hRZQ7.mjs +16 -0
  109. package/browser/fesm2022/cms-browser-taon-cms-tag.controller.ts.pl-PL.i18n.data-Bk-hRZQ7.mjs.map +1 -0
  110. package/browser/fesm2022/cms-browser-taon-cms-tag.repository.ts.pl-PL.i18n.data-YdrJUTur.mjs +21 -0
  111. package/browser/fesm2022/cms-browser-taon-cms-tag.repository.ts.pl-PL.i18n.data-YdrJUTur.mjs.map +1 -0
  112. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.html.de-DE.i18n.data-BsNPk0cG.mjs +51 -0
  113. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.html.de-DE.i18n.data-BsNPk0cG.mjs.map +1 -0
  114. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.html.en-US.i18n.data-BV9AnDid.mjs +50 -0
  115. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.html.en-US.i18n.data-BV9AnDid.mjs.map +1 -0
  116. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.html.pl-PL.i18n.data-VTZbP69l.mjs +51 -0
  117. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.html.pl-PL.i18n.data-VTZbP69l.mjs.map +1 -0
  118. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.ts.de-DE.i18n.data-DLWhi5lI.mjs +21 -0
  119. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.ts.de-DE.i18n.data-DLWhi5lI.mjs.map +1 -0
  120. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.ts.pl-PL.i18n.data-eSpfHb7u.mjs +21 -0
  121. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.ts.pl-PL.i18n.data-eSpfHb7u.mjs.map +1 -0
  122. package/browser/fesm2022/cms-browser.mjs +771 -541
  123. package/browser/fesm2022/cms-browser.mjs.map +1 -1
  124. package/browser/package.json +1 -1
  125. package/browser/types/cms-browser.d.ts +116 -81
  126. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-CQWEOr2a.mjs +31 -0
  127. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-CQWEOr2a.mjs.map +1 -0
  128. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-BIPCNubG.mjs +31 -0
  129. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-BIPCNubG.mjs.map +1 -0
  130. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-D71axXiQ.mjs +21 -0
  131. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-D71axXiQ.mjs.map +1 -0
  132. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-gbqFHxUm.mjs +21 -0
  133. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-gbqFHxUm.mjs.map +1 -0
  134. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-1ZS37w7E.mjs +26 -0
  135. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-1ZS37w7E.mjs.map +1 -0
  136. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-BE968JEH.mjs +26 -0
  137. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-BE968JEH.mjs.map +1 -0
  138. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-StvX-ZT8.mjs +26 -0
  139. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-StvX-ZT8.mjs.map +1 -0
  140. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-Ks9cZliv.mjs +26 -0
  141. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-Ks9cZliv.mjs.map +1 -0
  142. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-4S1imZUX.mjs +35 -0
  143. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-4S1imZUX.mjs.map +1 -0
  144. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-bIYJXCtW.mjs +35 -0
  145. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-bIYJXCtW.mjs.map +1 -0
  146. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-Do9n0Gxn.mjs +36 -0
  147. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-Do9n0Gxn.mjs.map +1 -0
  148. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.controller.ts.de-DE.i18n.data-Bf9B2I5S.mjs +16 -0
  149. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.controller.ts.de-DE.i18n.data-Bf9B2I5S.mjs.map +1 -0
  150. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.controller.ts.en-US.i18n.data-DB_Lnw-B.mjs +16 -0
  151. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.controller.ts.en-US.i18n.data-DB_Lnw-B.mjs.map +1 -0
  152. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.controller.ts.pl-PL.i18n.data-xlEjTzLi.mjs +16 -0
  153. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.controller.ts.pl-PL.i18n.data-xlEjTzLi.mjs.map +1 -0
  154. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-backoffice.component.html.de-DE.i18n.data-CyTxhvtH.mjs +35 -0
  155. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-backoffice.component.html.de-DE.i18n.data-CyTxhvtH.mjs.map +1 -0
  156. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-backoffice.component.html.en-US.i18n.data-BTzDmVWc.mjs +35 -0
  157. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-backoffice.component.html.en-US.i18n.data-BTzDmVWc.mjs.map +1 -0
  158. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-backoffice.component.html.pl-PL.i18n.data-CixvMJ9f.mjs +35 -0
  159. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-backoffice.component.html.pl-PL.i18n.data-CixvMJ9f.mjs.map +1 -0
  160. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-backoffice.component.ts.de-DE.i18n.data-C1hvycSO.mjs +27 -0
  161. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-backoffice.component.ts.de-DE.i18n.data-C1hvycSO.mjs.map +1 -0
  162. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-backoffice.component.ts.en-US.i18n.data-Dno5sgts.mjs +27 -0
  163. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-backoffice.component.ts.en-US.i18n.data-Dno5sgts.mjs.map +1 -0
  164. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-backoffice.component.ts.pl-PL.i18n.data-SvoLR2q0.mjs +27 -0
  165. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-backoffice.component.ts.pl-PL.i18n.data-SvoLR2q0.mjs.map +1 -0
  166. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-contents.component.html.de-DE.i18n.data-D7Gtx44e.mjs +27 -0
  167. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-contents.component.html.de-DE.i18n.data-D7Gtx44e.mjs.map +1 -0
  168. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-contents.component.html.en-US.i18n.data-DomBfXfQ.mjs +27 -0
  169. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-contents.component.html.en-US.i18n.data-DomBfXfQ.mjs.map +1 -0
  170. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-contents.component.html.pl-PL.i18n.data-BmHiUySy.mjs +27 -0
  171. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-contents.component.html.pl-PL.i18n.data-BmHiUySy.mjs.map +1 -0
  172. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-contents.component.ts.de-DE.i18n.data-UiXCopyo.mjs +23 -0
  173. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-contents.component.ts.de-DE.i18n.data-UiXCopyo.mjs.map +1 -0
  174. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-contents.component.ts.en-US.i18n.data-CG51VvG1.mjs +23 -0
  175. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-contents.component.ts.en-US.i18n.data-CG51VvG1.mjs.map +1 -0
  176. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-contents.component.ts.pl-PL.i18n.data-Da06EmCc.mjs +23 -0
  177. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-contents.component.ts.pl-PL.i18n.data-Da06EmCc.mjs.map +1 -0
  178. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-cover.component.ts.de-DE.i18n.data-CFPsdwHm.mjs +15 -0
  179. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-cover.component.ts.de-DE.i18n.data-CFPsdwHm.mjs.map +1 -0
  180. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-cover.component.ts.en-US.i18n.data-CRI9uV_Z.mjs +15 -0
  181. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-cover.component.ts.en-US.i18n.data-CRI9uV_Z.mjs.map +1 -0
  182. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-cover.component.ts.pl-PL.i18n.data-DxvRSDVu.mjs +15 -0
  183. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-cover.component.ts.pl-PL.i18n.data-DxvRSDVu.mjs.map +1 -0
  184. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-details-page.component.ts.de-DE.i18n.data-C-rT2qc1.mjs +16 -0
  185. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-details-page.component.ts.de-DE.i18n.data-C-rT2qc1.mjs.map +1 -0
  186. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-Ci0T7QVO.mjs +16 -0
  187. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-Ci0T7QVO.mjs.map +1 -0
  188. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-table-actions.directive.ts.de-DE.i18n.data-P5VXQlmS.mjs +51 -0
  189. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-table-actions.directive.ts.de-DE.i18n.data-P5VXQlmS.mjs.map +1 -0
  190. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-table-actions.directive.ts.en-US.i18n.data-6xHTz4NK.mjs +51 -0
  191. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-table-actions.directive.ts.en-US.i18n.data-6xHTz4NK.mjs.map +1 -0
  192. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data-6Sdc2ekE.mjs +51 -0
  193. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data-6Sdc2ekE.mjs.map +1 -0
  194. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.de-DE.i18n.data-C6VWS4yA.mjs +366 -0
  195. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.de-DE.i18n.data-C6VWS4yA.mjs.map +1 -0
  196. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.en-US.i18n.data-D300qnuI.mjs +365 -0
  197. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.en-US.i18n.data-D300qnuI.mjs.map +1 -0
  198. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.pl-PL.i18n.data-BnqliIDO.mjs +366 -0
  199. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.pl-PL.i18n.data-BnqliIDO.mjs.map +1 -0
  200. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.de-DE.i18n.data-DbP78P1q.mjs +180 -0
  201. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.de-DE.i18n.data-DbP78P1q.mjs.map +1 -0
  202. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.en-US.i18n.data-DMKvUsPt.mjs +176 -0
  203. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.en-US.i18n.data-DMKvUsPt.mjs.map +1 -0
  204. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.pl-PL.i18n.data-Bt1StLjN.mjs +180 -0
  205. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.pl-PL.i18n.data-Bt1StLjN.mjs.map +1 -0
  206. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-CXTopGnK.mjs +21 -0
  207. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-CXTopGnK.mjs.map +1 -0
  208. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-DNGNxZmN.mjs +21 -0
  209. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-DNGNxZmN.mjs.map +1 -0
  210. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-BuX23uvE.mjs +21 -0
  211. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-BuX23uvE.mjs.map +1 -0
  212. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-C6jy6lw4.mjs +21 -0
  213. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-C6jy6lw4.mjs.map +1 -0
  214. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-DFJPgXFt.mjs +21 -0
  215. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-DFJPgXFt.mjs.map +1 -0
  216. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-BQgmzcJd.mjs +21 -0
  217. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-BQgmzcJd.mjs.map +1 -0
  218. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-WF50SpXY.mjs +21 -0
  219. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-WF50SpXY.mjs.map +1 -0
  220. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.html.de-DE.i18n.data-DfxiewM_.mjs +71 -0
  221. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.html.de-DE.i18n.data-DfxiewM_.mjs.map +1 -0
  222. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-D30oRrBr.mjs +71 -0
  223. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-D30oRrBr.mjs.map +1 -0
  224. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-Cb9lK2XY.mjs +26 -0
  225. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-Cb9lK2XY.mjs.map +1 -0
  226. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-DiykH8kr.mjs +26 -0
  227. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-DiykH8kr.mjs.map +1 -0
  228. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.controller.ts.de-DE.i18n.data-DLaHcrcv.mjs +16 -0
  229. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.controller.ts.de-DE.i18n.data-DLaHcrcv.mjs.map +1 -0
  230. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.controller.ts.en-US.i18n.data-8IpjJJb5.mjs +16 -0
  231. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.controller.ts.en-US.i18n.data-8IpjJJb5.mjs.map +1 -0
  232. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.controller.ts.pl-PL.i18n.data-8GlfYssx.mjs +16 -0
  233. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.controller.ts.pl-PL.i18n.data-8GlfYssx.mjs.map +1 -0
  234. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.repository.ts.pl-PL.i18n.data-w2D2evXR.mjs +21 -0
  235. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.repository.ts.pl-PL.i18n.data-w2D2evXR.mjs.map +1 -0
  236. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.html.de-DE.i18n.data-Dv2W9o7g.mjs +51 -0
  237. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.html.de-DE.i18n.data-Dv2W9o7g.mjs.map +1 -0
  238. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.html.en-US.i18n.data-dk9lHW62.mjs +50 -0
  239. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.html.en-US.i18n.data-dk9lHW62.mjs.map +1 -0
  240. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.html.pl-PL.i18n.data-BHGjfdPv.mjs +51 -0
  241. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.html.pl-PL.i18n.data-BHGjfdPv.mjs.map +1 -0
  242. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.ts.de-DE.i18n.data-Cs-byi87.mjs +21 -0
  243. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.ts.de-DE.i18n.data-Cs-byi87.mjs.map +1 -0
  244. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.ts.pl-PL.i18n.data-BQ-wAONd.mjs +21 -0
  245. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.ts.pl-PL.i18n.data-BQ-wAONd.mjs.map +1 -0
  246. package/browser-prod/fesm2022/cms-browser-prod.mjs +774 -541
  247. package/browser-prod/fesm2022/cms-browser-prod.mjs.map +1 -1
  248. package/browser-prod/package.json +1 -1
  249. package/browser-prod/types/cms-browser-prod.d.ts +114 -81
  250. package/full-dts/build-info._auto-generated_.d.ts +1 -1
  251. package/full-dts/index._auto-generated_.d.ts +7 -1
  252. package/full-dts/index.d.ts +1 -2
  253. package/full-dts/migrations/1792506757808_applicaitonHooks.d.ts +1 -0
  254. package/full-dts/migrations/index.d.ts +1 -10
  255. package/full-dts/migrations/migrations_index._auto-generated_.d.ts +1 -4
  256. package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.d.ts +7 -2
  257. package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.d.ts +7 -2
  258. package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.d.ts +1 -0
  259. package/full-dts/taon-cms-category/taon-cms-category.controller.d.ts +1 -1
  260. package/full-dts/taon-cms-content/taon-cms-content-api.service.d.ts +3 -0
  261. package/full-dts/taon-cms-content/taon-cms-content.config.service.d.ts +1 -0
  262. package/full-dts/taon-cms-content/taon-cms-content.controller.d.ts +1 -0
  263. package/full-dts/taon-cms-content/taon-cms-content.provider.d.ts +2 -0
  264. package/full-dts/taon-cms-content/taon-cms-content.repository.d.ts +2 -1
  265. package/full-dts/taon-cms-content/taon-cms-template-variables.d.ts +19 -0
  266. package/full-dts/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.de-DE.i18n.data.d.ts +21 -0
  267. package/full-dts/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.en-US.i18n.data.d.ts +21 -0
  268. package/full-dts/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.pl-PL.i18n.data.d.ts +21 -0
  269. package/full-dts/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.de-DE.i18n.data.d.ts +19 -0
  270. package/full-dts/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.en-US.i18n.data.d.ts +19 -0
  271. package/full-dts/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.pl-PL.i18n.data.d.ts +19 -0
  272. package/full-dts/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.translation.d.ts +18 -0
  273. package/full-dts/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.de-DE.i18n.data.d.ts +18 -0
  274. package/full-dts/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.en-US.i18n.data.d.ts +18 -0
  275. package/full-dts/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.pl-PL.i18n.data.d.ts +18 -0
  276. package/full-dts/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.de-DE.i18n.data.d.ts +18 -0
  277. package/full-dts/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.en-US.i18n.data.d.ts +18 -0
  278. package/full-dts/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.pl-PL.i18n.data.d.ts +18 -0
  279. package/full-dts/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.de-DE.i18n.data.d.ts +16 -0
  280. package/full-dts/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.en-US.i18n.data.d.ts +16 -0
  281. package/full-dts/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.pl-PL.i18n.data.d.ts +16 -0
  282. package/full-dts/taon-posts/taon-cms-course-backoffice/index.d.ts +2 -0
  283. package/full-dts/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.d.ts +17 -0
  284. package/full-dts/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.models.d.ts +2 -0
  285. package/full-dts/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.routes.d.ts +3 -0
  286. package/full-dts/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.d.ts +18 -0
  287. package/full-dts/taon-posts/taon-cms-course-backoffice/taon-cms-course-cover.component.d.ts +16 -0
  288. package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.d.ts +10 -0
  289. package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.d.ts +10 -0
  290. package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.d.ts +10 -0
  291. package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.d.ts +1 -0
  292. package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.d.ts +1 -0
  293. package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.d.ts +1 -0
  294. package/full-dts/taon-posts/taon-cms-post/taon-cms-post.component.d.ts +15 -2
  295. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.de-DE.i18n.data.d.ts +25 -0
  296. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.en-US.i18n.data.d.ts +25 -0
  297. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data.d.ts +25 -0
  298. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.d.ts +2 -16
  299. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.d.ts +2 -16
  300. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.d.ts +2 -16
  301. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.d.ts +4 -1
  302. package/full-dts/taon-posts/taon-cms-posts-backoffice/taon-cms-post-table-actions.directive.d.ts +24 -0
  303. package/full-dts/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.d.ts +2 -15
  304. package/full-dts/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.d.ts +1 -0
  305. package/full-dts/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.d.ts +7 -2
  306. package/full-dts/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.d.ts +1 -0
  307. package/html/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.html +36 -0
  308. package/html/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.html +20 -0
  309. package/html/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-cover.component.html +6 -0
  310. package/html/lib/taon-posts/taon-cms-post/taon-cms-post.component.html +79 -12
  311. package/i18n/app.ts.de-DE.i18n.data.d.ts +0 -5
  312. package/i18n/app.ts.pl-PL.i18n.data.d.ts +0 -5
  313. package/lib/build-info._auto-generated_.d.ts +1 -1
  314. package/lib/build-info._auto-generated_.js +1 -1
  315. package/lib/index._auto-generated_.d.ts +2 -1
  316. package/lib/index._auto-generated_.js +7 -1
  317. package/lib/index._auto-generated_.js.map +1 -1
  318. package/lib/index.d.ts +1 -1
  319. package/lib/index.js +1 -2
  320. package/lib/index.js.map +1 -1
  321. package/lib/migrations/1792506757808_applicaitonHooks.d.ts +1 -0
  322. package/lib/migrations/1792506757808_applicaitonHooks.js +6 -3
  323. package/lib/migrations/1792506757808_applicaitonHooks.js.map +1 -1
  324. package/lib/migrations/index.d.ts +0 -9
  325. package/lib/migrations/index.js +0 -11
  326. package/lib/migrations/index.js.map +1 -1
  327. package/lib/migrations/migrations_index._auto-generated_.d.ts +1 -4
  328. package/lib/migrations/migrations_index._auto-generated_.js +3 -5
  329. package/lib/migrations/migrations_index._auto-generated_.js.map +1 -1
  330. package/lib/package.json +1 -1
  331. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.js +2 -2
  332. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.js.map +1 -1
  333. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.js +2 -2
  334. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.js.map +1 -1
  335. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.js +2 -2
  336. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.js.map +1 -1
  337. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.js +2 -2
  338. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.js.map +1 -1
  339. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.js +3 -3
  340. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.js.map +1 -1
  341. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.js +3 -3
  342. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.js.map +1 -1
  343. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.js +2 -2
  344. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.js.map +1 -1
  345. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.js +2 -2
  346. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -1
  347. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.d.ts +7 -2
  348. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.js +9 -5
  349. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.js.map +1 -1
  350. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.d.ts +7 -2
  351. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.js +7 -3
  352. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.js.map +1 -1
  353. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.d.ts +1 -0
  354. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.js +10 -5
  355. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.js.map +1 -1
  356. package/lib/taon-cms-backoffice/index.d.ts +1 -1
  357. package/lib/taon-cms-backoffice/index.js +2 -2
  358. package/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.js +2 -2
  359. package/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.js +1 -1
  360. package/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.js +2 -2
  361. package/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.js.map +1 -1
  362. package/lib/taon-cms-category/taon-cms-category.controller.d.ts +1 -1
  363. package/lib/taon-cms-category/taon-cms-category.controller.js +12 -12
  364. package/lib/taon-cms-category/taon-cms-category.controller.js.map +1 -1
  365. package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.js +2 -2
  366. package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.js.map +1 -1
  367. package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.js +1 -1
  368. package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.js +2 -2
  369. package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.js.map +1 -1
  370. package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.js +9 -9
  371. package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.js.map +1 -1
  372. package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.js +6 -6
  373. package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.js +9 -9
  374. package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.js.map +1 -1
  375. package/lib/taon-cms-content/taon-cms-content-storage.controller.js +11 -11
  376. package/lib/taon-cms-content/taon-cms-content-storage.controller.js.map +1 -1
  377. package/lib/taon-cms-content/taon-cms-content.controller.d.ts +1 -0
  378. package/lib/taon-cms-content/taon-cms-content.controller.js +75 -63
  379. package/lib/taon-cms-content/taon-cms-content.controller.js.map +1 -1
  380. package/lib/taon-cms-content/taon-cms-content.provider.d.ts +2 -0
  381. package/lib/taon-cms-content/taon-cms-content.provider.js +6 -2
  382. package/lib/taon-cms-content/taon-cms-content.provider.js.map +1 -1
  383. package/lib/taon-cms-content/taon-cms-content.repository.d.ts +2 -1
  384. package/lib/taon-cms-content/taon-cms-content.repository.js +21 -2
  385. package/lib/taon-cms-content/taon-cms-content.repository.js.map +1 -1
  386. package/lib/taon-cms-content/taon-cms-template-variables.d.ts +18 -0
  387. package/lib/taon-cms-content/taon-cms-template-variables.js +31 -0
  388. package/lib/taon-cms-content/taon-cms-template-variables.js.map +1 -0
  389. package/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.js +2 -2
  390. package/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.js +1 -1
  391. package/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.js +2 -2
  392. package/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.js.map +1 -1
  393. package/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.js +1 -1
  394. package/lib/taon-cms-tag/taon-cms-tag.controller.js +15 -15
  395. package/lib/taon-cms-tag/taon-cms-tag.controller.js.map +1 -1
  396. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.de-DE.i18n.data.d.ts +20 -0
  397. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.de-DE.i18n.data.js +35 -0
  398. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
  399. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.en-US.i18n.data.d.ts +20 -0
  400. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.en-US.i18n.data.js +35 -0
  401. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.en-US.i18n.data.js.map +1 -0
  402. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.pl-PL.i18n.data.d.ts +20 -0
  403. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.pl-PL.i18n.data.js +35 -0
  404. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
  405. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.de-DE.i18n.data.d.ts +18 -0
  406. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.de-DE.i18n.data.js +27 -0
  407. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
  408. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.en-US.i18n.data.d.ts +18 -0
  409. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.en-US.i18n.data.js +27 -0
  410. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
  411. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.pl-PL.i18n.data.d.ts +18 -0
  412. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.pl-PL.i18n.data.js +27 -0
  413. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
  414. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.translation.d.ts +17 -0
  415. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.translation.js +5 -0
  416. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.translation.js.map +1 -0
  417. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.de-DE.i18n.data.d.ts +17 -0
  418. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.de-DE.i18n.data.js +27 -0
  419. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.de-DE.i18n.data.js.map +1 -0
  420. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.en-US.i18n.data.d.ts +17 -0
  421. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.en-US.i18n.data.js +27 -0
  422. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.en-US.i18n.data.js.map +1 -0
  423. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.pl-PL.i18n.data.d.ts +17 -0
  424. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.pl-PL.i18n.data.js +27 -0
  425. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.pl-PL.i18n.data.js.map +1 -0
  426. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.de-DE.i18n.data.d.ts +17 -0
  427. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.de-DE.i18n.data.js +23 -0
  428. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.de-DE.i18n.data.js.map +1 -0
  429. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.en-US.i18n.data.d.ts +17 -0
  430. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.en-US.i18n.data.js +23 -0
  431. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.en-US.i18n.data.js.map +1 -0
  432. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.pl-PL.i18n.data.d.ts +17 -0
  433. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.pl-PL.i18n.data.js +23 -0
  434. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.pl-PL.i18n.data.js.map +1 -0
  435. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.de-DE.i18n.data.d.ts +15 -0
  436. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.de-DE.i18n.data.js +15 -0
  437. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.de-DE.i18n.data.js.map +1 -0
  438. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.en-US.i18n.data.d.ts +15 -0
  439. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.en-US.i18n.data.js +15 -0
  440. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.en-US.i18n.data.js.map +1 -0
  441. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.pl-PL.i18n.data.d.ts +15 -0
  442. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.pl-PL.i18n.data.js +15 -0
  443. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.pl-PL.i18n.data.js.map +1 -0
  444. package/lib/taon-posts/taon-cms-course-backoffice/index.d.ts +1 -0
  445. package/lib/taon-posts/taon-cms-course-backoffice/index.js +5 -0
  446. package/lib/taon-posts/taon-cms-course-backoffice/index.js.map +1 -0
  447. package/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.models.d.ts +1 -0
  448. package/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.models.js +3 -0
  449. package/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.models.js.map +1 -0
  450. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.d.ts +10 -0
  451. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.js +124 -83
  452. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.js.map +1 -1
  453. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.d.ts +10 -0
  454. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.js +91 -51
  455. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.js.map +1 -1
  456. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.d.ts +10 -0
  457. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.js +128 -87
  458. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.js.map +1 -1
  459. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.d.ts +1 -0
  460. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.js +59 -54
  461. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.js.map +1 -1
  462. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.d.ts +1 -0
  463. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.js +37 -33
  464. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.js.map +1 -1
  465. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.d.ts +1 -0
  466. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.js +64 -59
  467. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.js.map +1 -1
  468. package/lib/taon-posts/taon-cms-post/index.d.ts +1 -1
  469. package/lib/taon-posts/taon-cms-post/index.js +2 -2
  470. package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.i18n.data.js +1 -1
  471. package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.i18n.data.js.map +1 -1
  472. package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.i18n.data.js +1 -1
  473. package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.i18n.data.js.map +1 -1
  474. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.de-DE.i18n.data.d.ts +24 -0
  475. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.de-DE.i18n.data.js +51 -0
  476. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.de-DE.i18n.data.js.map +1 -0
  477. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.en-US.i18n.data.d.ts +24 -0
  478. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.en-US.i18n.data.js +51 -0
  479. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.en-US.i18n.data.js.map +1 -0
  480. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data.d.ts +24 -0
  481. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data.js +51 -0
  482. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data.js.map +1 -0
  483. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.js +2 -2
  484. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.js.map +1 -1
  485. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.js +1 -1
  486. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.js.map +1 -1
  487. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.d.ts +2 -16
  488. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.js +2 -51
  489. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.js.map +1 -1
  490. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.d.ts +2 -16
  491. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.js +2 -51
  492. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.js.map +1 -1
  493. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.d.ts +2 -16
  494. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.js +2 -51
  495. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -1
  496. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.js +2 -2
  497. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.js.map +1 -1
  498. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.js +2 -2
  499. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.js.map +1 -1
  500. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.d.ts +4 -1
  501. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.js.map +1 -1
  502. package/lib/taon-posts/taon-cms-posts-backoffice/index.d.ts +1 -1
  503. package/lib/taon-posts/taon-cms-posts-backoffice/index.js +2 -2
  504. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.js +8 -8
  505. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.js.map +1 -1
  506. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.js +11 -11
  507. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.js.map +1 -1
  508. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.js +3 -3
  509. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.js.map +1 -1
  510. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.js +2 -2
  511. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.js.map +1 -1
  512. package/lib/taon-posts/taon-cms-revision-chooser/index.d.ts +1 -1
  513. package/lib/taon-posts/taon-cms-revision-chooser/index.js +2 -2
  514. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.d.ts +1 -0
  515. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.js +10 -5
  516. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.js.map +1 -1
  517. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.d.ts +7 -2
  518. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.js +4 -0
  519. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.js.map +1 -1
  520. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.d.ts +1 -0
  521. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.js +11 -6
  522. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.js.map +1 -1
  523. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.js +2 -2
  524. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.js.map +1 -1
  525. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.js +2 -2
  526. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.js.map +1 -1
  527. package/lib/taon-posts/taon-related-post-chooser/index.d.ts +1 -1
  528. package/lib/taon-posts/taon-related-post-chooser/index.js +2 -2
  529. package/lib-esm/lib/build-info._auto-generated_.d.ts +1 -1
  530. package/lib-esm/lib/build-info._auto-generated_.js +1 -1
  531. package/lib-esm/lib/index._auto-generated_.d.ts +2 -1
  532. package/lib-esm/lib/index._auto-generated_.js +7 -1
  533. package/lib-esm/lib/index._auto-generated_.js.map +1 -1
  534. package/lib-esm/lib/index.d.ts +1 -1
  535. package/lib-esm/lib/index.js +1 -2
  536. package/lib-esm/lib/index.js.map +1 -1
  537. package/lib-esm/lib/migrations/1792506757808_applicaitonHooks.d.ts +1 -0
  538. package/lib-esm/lib/migrations/1792506757808_applicaitonHooks.js +6 -3
  539. package/lib-esm/lib/migrations/1792506757808_applicaitonHooks.js.map +1 -1
  540. package/lib-esm/lib/migrations/index.d.ts +0 -9
  541. package/lib-esm/lib/migrations/index.js +0 -10
  542. package/lib-esm/lib/migrations/index.js.map +1 -1
  543. package/lib-esm/lib/migrations/migrations_index._auto-generated_.d.ts +1 -4
  544. package/lib-esm/lib/migrations/migrations_index._auto-generated_.js +1 -4
  545. package/lib-esm/lib/migrations/migrations_index._auto-generated_.js.map +1 -1
  546. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.js +2 -2
  547. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.js.map +1 -1
  548. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.js +2 -2
  549. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.js.map +1 -1
  550. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.js +2 -2
  551. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.js.map +1 -1
  552. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.js +2 -2
  553. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.js.map +1 -1
  554. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.js +3 -3
  555. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.js.map +1 -1
  556. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.js +3 -3
  557. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.js.map +1 -1
  558. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.js +2 -2
  559. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.js.map +1 -1
  560. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.js +2 -2
  561. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -1
  562. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.d.ts +7 -2
  563. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.js +9 -5
  564. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.js.map +1 -1
  565. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.d.ts +7 -2
  566. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.js +7 -3
  567. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.js.map +1 -1
  568. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.d.ts +1 -0
  569. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.js +10 -5
  570. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.js.map +1 -1
  571. package/lib-esm/lib/taon-cms-backoffice/index.d.ts +1 -1
  572. package/lib-esm/lib/taon-cms-backoffice/index.js +1 -1
  573. package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.js +2 -2
  574. package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.js +1 -1
  575. package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.js +2 -2
  576. package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.js.map +1 -1
  577. package/lib-esm/lib/taon-cms-category/taon-cms-category.controller.d.ts +1 -1
  578. package/lib-esm/lib/taon-cms-category/taon-cms-category.controller.js +3 -3
  579. package/lib-esm/lib/taon-cms-category/taon-cms-category.controller.js.map +1 -1
  580. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.js +2 -2
  581. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.js.map +1 -1
  582. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.js +1 -1
  583. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.js +2 -2
  584. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.js.map +1 -1
  585. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.js +9 -9
  586. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.js.map +1 -1
  587. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.js +6 -6
  588. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.js +9 -9
  589. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.js.map +1 -1
  590. package/lib-esm/lib/taon-cms-content/taon-cms-content-storage.controller.js +2 -2
  591. package/lib-esm/lib/taon-cms-content/taon-cms-content-storage.controller.js.map +1 -1
  592. package/lib-esm/lib/taon-cms-content/taon-cms-content.controller.d.ts +1 -0
  593. package/lib-esm/lib/taon-cms-content/taon-cms-content.controller.js +15 -3
  594. package/lib-esm/lib/taon-cms-content/taon-cms-content.controller.js.map +1 -1
  595. package/lib-esm/lib/taon-cms-content/taon-cms-content.provider.d.ts +2 -0
  596. package/lib-esm/lib/taon-cms-content/taon-cms-content.provider.js +6 -2
  597. package/lib-esm/lib/taon-cms-content/taon-cms-content.provider.js.map +1 -1
  598. package/lib-esm/lib/taon-cms-content/taon-cms-content.repository.d.ts +2 -1
  599. package/lib-esm/lib/taon-cms-content/taon-cms-content.repository.js +21 -2
  600. package/lib-esm/lib/taon-cms-content/taon-cms-content.repository.js.map +1 -1
  601. package/lib-esm/lib/taon-cms-content/taon-cms-template-variables.d.ts +18 -0
  602. package/lib-esm/lib/taon-cms-content/taon-cms-template-variables.js +28 -0
  603. package/lib-esm/lib/taon-cms-content/taon-cms-template-variables.js.map +1 -0
  604. package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.js +2 -2
  605. package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.js +1 -1
  606. package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.js +2 -2
  607. package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.js.map +1 -1
  608. package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.js +1 -1
  609. package/lib-esm/lib/taon-cms-tag/taon-cms-tag.controller.js +3 -3
  610. package/lib-esm/lib/taon-cms-tag/taon-cms-tag.controller.js.map +1 -1
  611. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.de-DE.i18n.data.d.ts +20 -0
  612. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.de-DE.i18n.data.js +33 -0
  613. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
  614. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.en-US.i18n.data.d.ts +20 -0
  615. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.en-US.i18n.data.js +33 -0
  616. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.en-US.i18n.data.js.map +1 -0
  617. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.pl-PL.i18n.data.d.ts +20 -0
  618. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.pl-PL.i18n.data.js +33 -0
  619. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
  620. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.de-DE.i18n.data.d.ts +18 -0
  621. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.de-DE.i18n.data.js +25 -0
  622. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
  623. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.en-US.i18n.data.d.ts +18 -0
  624. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.en-US.i18n.data.js +25 -0
  625. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
  626. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.pl-PL.i18n.data.d.ts +18 -0
  627. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.pl-PL.i18n.data.js +25 -0
  628. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
  629. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.translation.d.ts +17 -0
  630. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.translation.js +4 -0
  631. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.translation.js.map +1 -0
  632. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.de-DE.i18n.data.d.ts +17 -0
  633. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.de-DE.i18n.data.js +25 -0
  634. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.de-DE.i18n.data.js.map +1 -0
  635. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.en-US.i18n.data.d.ts +17 -0
  636. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.en-US.i18n.data.js +25 -0
  637. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.en-US.i18n.data.js.map +1 -0
  638. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.pl-PL.i18n.data.d.ts +17 -0
  639. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.pl-PL.i18n.data.js +25 -0
  640. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.pl-PL.i18n.data.js.map +1 -0
  641. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.de-DE.i18n.data.d.ts +17 -0
  642. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.de-DE.i18n.data.js +21 -0
  643. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.de-DE.i18n.data.js.map +1 -0
  644. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.en-US.i18n.data.d.ts +17 -0
  645. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.en-US.i18n.data.js +21 -0
  646. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.en-US.i18n.data.js.map +1 -0
  647. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.pl-PL.i18n.data.d.ts +17 -0
  648. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.pl-PL.i18n.data.js +21 -0
  649. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.pl-PL.i18n.data.js.map +1 -0
  650. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.de-DE.i18n.data.d.ts +15 -0
  651. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.de-DE.i18n.data.js +13 -0
  652. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.de-DE.i18n.data.js.map +1 -0
  653. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.en-US.i18n.data.d.ts +15 -0
  654. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.en-US.i18n.data.js +13 -0
  655. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.en-US.i18n.data.js.map +1 -0
  656. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.pl-PL.i18n.data.d.ts +15 -0
  657. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.pl-PL.i18n.data.js +13 -0
  658. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.pl-PL.i18n.data.js.map +1 -0
  659. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/index.d.ts +1 -0
  660. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/index.js +2 -0
  661. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/index.js.map +1 -0
  662. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.models.d.ts +1 -0
  663. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.models.js +2 -0
  664. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.models.js.map +1 -0
  665. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.d.ts +10 -0
  666. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.js +124 -83
  667. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.js.map +1 -1
  668. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.d.ts +10 -0
  669. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.js +91 -51
  670. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.js.map +1 -1
  671. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.d.ts +10 -0
  672. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.js +128 -87
  673. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.js.map +1 -1
  674. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.d.ts +1 -0
  675. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.js +59 -54
  676. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.js.map +1 -1
  677. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.d.ts +1 -0
  678. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.js +37 -33
  679. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.js.map +1 -1
  680. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.d.ts +1 -0
  681. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.js +64 -59
  682. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.js.map +1 -1
  683. package/lib-esm/lib/taon-posts/taon-cms-post/index.d.ts +1 -1
  684. package/lib-esm/lib/taon-posts/taon-cms-post/index.js +1 -1
  685. package/lib-esm/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.i18n.data.js +1 -1
  686. package/lib-esm/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.i18n.data.js.map +1 -1
  687. package/lib-esm/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.i18n.data.js +1 -1
  688. package/lib-esm/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.i18n.data.js.map +1 -1
  689. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.de-DE.i18n.data.d.ts +24 -0
  690. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.de-DE.i18n.data.js +49 -0
  691. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.de-DE.i18n.data.js.map +1 -0
  692. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.en-US.i18n.data.d.ts +24 -0
  693. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.en-US.i18n.data.js +49 -0
  694. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.en-US.i18n.data.js.map +1 -0
  695. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data.d.ts +24 -0
  696. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data.js +49 -0
  697. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data.js.map +1 -0
  698. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.js +2 -2
  699. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.js.map +1 -1
  700. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.js +1 -1
  701. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.js.map +1 -1
  702. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.d.ts +2 -16
  703. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.js +2 -51
  704. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.js.map +1 -1
  705. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.d.ts +2 -16
  706. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.js +2 -51
  707. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.js.map +1 -1
  708. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.d.ts +2 -16
  709. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.js +2 -51
  710. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -1
  711. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.js +2 -2
  712. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.js.map +1 -1
  713. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.js +2 -2
  714. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.js.map +1 -1
  715. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.d.ts +4 -1
  716. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.js.map +1 -1
  717. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/index.d.ts +1 -1
  718. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/index.js +1 -1
  719. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.js +8 -8
  720. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.js.map +1 -1
  721. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.js +11 -11
  722. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.js.map +1 -1
  723. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.js +3 -3
  724. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.js.map +1 -1
  725. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.js +2 -2
  726. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.js.map +1 -1
  727. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/index.d.ts +1 -1
  728. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/index.js +1 -1
  729. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.d.ts +1 -0
  730. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.js +10 -5
  731. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.js.map +1 -1
  732. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.d.ts +7 -2
  733. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.js +4 -0
  734. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.js.map +1 -1
  735. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.d.ts +1 -0
  736. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.js +11 -6
  737. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.js.map +1 -1
  738. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.js +2 -2
  739. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.js.map +1 -1
  740. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.js +2 -2
  741. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.js.map +1 -1
  742. package/lib-esm/lib/taon-posts/taon-related-post-chooser/index.d.ts +1 -1
  743. package/lib-esm/lib/taon-posts/taon-related-post-chooser/index.js +1 -1
  744. package/lib-prod/build-info._auto-generated_.d.ts +1 -1
  745. package/lib-prod/build-info._auto-generated_.js +1 -1
  746. package/lib-prod/index._auto-generated_.d.ts +2 -1
  747. package/lib-prod/index._auto-generated_.js +7 -1
  748. package/lib-prod/index._auto-generated_.js.map +1 -1
  749. package/lib-prod/index.d.ts +1 -1
  750. package/lib-prod/index.js +1 -2
  751. package/lib-prod/index.js.map +1 -1
  752. package/lib-prod/migrations/1792506757808_applicaitonHooks.d.ts +1 -0
  753. package/lib-prod/migrations/1792506757808_applicaitonHooks.js +6 -3
  754. package/lib-prod/migrations/1792506757808_applicaitonHooks.js.map +1 -1
  755. package/lib-prod/migrations/index.d.ts +0 -9
  756. package/lib-prod/migrations/index.js +0 -10
  757. package/lib-prod/migrations/index.js.map +1 -1
  758. package/lib-prod/migrations/migrations_index._auto-generated_.d.ts +1 -4
  759. package/lib-prod/migrations/migrations_index._auto-generated_.js +1 -4
  760. package/lib-prod/migrations/migrations_index._auto-generated_.js.map +1 -1
  761. package/lib-prod/package.json +1 -1
  762. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.js +2 -2
  763. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.js.map +1 -1
  764. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.js +2 -2
  765. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.js.map +1 -1
  766. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.js +2 -2
  767. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.js.map +1 -1
  768. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.js +2 -2
  769. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.js.map +1 -1
  770. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.js +3 -3
  771. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.js.map +1 -1
  772. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.js +3 -3
  773. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.js.map +1 -1
  774. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.js +2 -2
  775. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.js.map +1 -1
  776. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.js +2 -2
  777. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -1
  778. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.d.ts +7 -2
  779. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.js +9 -5
  780. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.js.map +1 -1
  781. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.d.ts +7 -2
  782. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.js +7 -3
  783. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.js.map +1 -1
  784. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.d.ts +1 -0
  785. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.js +10 -5
  786. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.js.map +1 -1
  787. package/lib-prod/taon-cms-backoffice/index.d.ts +1 -1
  788. package/lib-prod/taon-cms-backoffice/index.js +1 -1
  789. package/lib-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.js +2 -2
  790. package/lib-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.js +1 -1
  791. package/lib-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.js +2 -2
  792. package/lib-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.js.map +1 -1
  793. package/lib-prod/taon-cms-category/taon-cms-category.controller.d.ts +1 -1
  794. package/lib-prod/taon-cms-category/taon-cms-category.controller.js +3 -3
  795. package/lib-prod/taon-cms-category/taon-cms-category.controller.js.map +1 -1
  796. package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.js +2 -2
  797. package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.js.map +1 -1
  798. package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.js +1 -1
  799. package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.js +2 -2
  800. package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.js.map +1 -1
  801. package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.js +9 -9
  802. package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.js.map +1 -1
  803. package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.js +6 -6
  804. package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.js +9 -9
  805. package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.js.map +1 -1
  806. package/lib-prod/taon-cms-content/taon-cms-content-storage.controller.js +2 -2
  807. package/lib-prod/taon-cms-content/taon-cms-content-storage.controller.js.map +1 -1
  808. package/lib-prod/taon-cms-content/taon-cms-content.controller.d.ts +1 -0
  809. package/lib-prod/taon-cms-content/taon-cms-content.controller.js +15 -3
  810. package/lib-prod/taon-cms-content/taon-cms-content.controller.js.map +1 -1
  811. package/lib-prod/taon-cms-content/taon-cms-content.provider.d.ts +2 -0
  812. package/lib-prod/taon-cms-content/taon-cms-content.provider.js +6 -2
  813. package/lib-prod/taon-cms-content/taon-cms-content.provider.js.map +1 -1
  814. package/lib-prod/taon-cms-content/taon-cms-content.repository.d.ts +2 -1
  815. package/lib-prod/taon-cms-content/taon-cms-content.repository.js +21 -2
  816. package/lib-prod/taon-cms-content/taon-cms-content.repository.js.map +1 -1
  817. package/lib-prod/taon-cms-content/taon-cms-template-variables.d.ts +18 -0
  818. package/lib-prod/taon-cms-content/taon-cms-template-variables.js +28 -0
  819. package/lib-prod/taon-cms-content/taon-cms-template-variables.js.map +1 -0
  820. package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.js +2 -2
  821. package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.js +1 -1
  822. package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.js +2 -2
  823. package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.js.map +1 -1
  824. package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.js +1 -1
  825. package/lib-prod/taon-cms-tag/taon-cms-tag.controller.js +3 -3
  826. package/lib-prod/taon-cms-tag/taon-cms-tag.controller.js.map +1 -1
  827. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.de-DE.i18n.data.d.ts +20 -0
  828. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.de-DE.i18n.data.js +33 -0
  829. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
  830. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.en-US.i18n.data.d.ts +20 -0
  831. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.en-US.i18n.data.js +33 -0
  832. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.en-US.i18n.data.js.map +1 -0
  833. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.pl-PL.i18n.data.d.ts +20 -0
  834. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.pl-PL.i18n.data.js +33 -0
  835. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
  836. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.de-DE.i18n.data.d.ts +18 -0
  837. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.de-DE.i18n.data.js +25 -0
  838. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
  839. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.en-US.i18n.data.d.ts +18 -0
  840. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.en-US.i18n.data.js +25 -0
  841. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
  842. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.pl-PL.i18n.data.d.ts +18 -0
  843. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.pl-PL.i18n.data.js +25 -0
  844. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
  845. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.translation.d.ts +17 -0
  846. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.translation.js +4 -0
  847. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.translation.js.map +1 -0
  848. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.de-DE.i18n.data.d.ts +17 -0
  849. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.de-DE.i18n.data.js +25 -0
  850. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.de-DE.i18n.data.js.map +1 -0
  851. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.en-US.i18n.data.d.ts +17 -0
  852. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.en-US.i18n.data.js +25 -0
  853. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.en-US.i18n.data.js.map +1 -0
  854. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.pl-PL.i18n.data.d.ts +17 -0
  855. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.pl-PL.i18n.data.js +25 -0
  856. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.pl-PL.i18n.data.js.map +1 -0
  857. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.de-DE.i18n.data.d.ts +17 -0
  858. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.de-DE.i18n.data.js +21 -0
  859. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.de-DE.i18n.data.js.map +1 -0
  860. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.en-US.i18n.data.d.ts +17 -0
  861. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.en-US.i18n.data.js +21 -0
  862. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.en-US.i18n.data.js.map +1 -0
  863. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.pl-PL.i18n.data.d.ts +17 -0
  864. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.pl-PL.i18n.data.js +21 -0
  865. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.pl-PL.i18n.data.js.map +1 -0
  866. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.de-DE.i18n.data.d.ts +15 -0
  867. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.de-DE.i18n.data.js +13 -0
  868. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.de-DE.i18n.data.js.map +1 -0
  869. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.en-US.i18n.data.d.ts +15 -0
  870. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.en-US.i18n.data.js +13 -0
  871. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.en-US.i18n.data.js.map +1 -0
  872. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.pl-PL.i18n.data.d.ts +15 -0
  873. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.pl-PL.i18n.data.js +13 -0
  874. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.pl-PL.i18n.data.js.map +1 -0
  875. package/lib-prod/taon-posts/taon-cms-course-backoffice/index.d.ts +1 -0
  876. package/lib-prod/taon-posts/taon-cms-course-backoffice/index.js +2 -0
  877. package/lib-prod/taon-posts/taon-cms-course-backoffice/index.js.map +1 -0
  878. package/lib-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.models.d.ts +0 -0
  879. package/lib-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.models.js +3 -0
  880. package/lib-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.models.js.map +1 -0
  881. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.d.ts +10 -0
  882. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.js +124 -83
  883. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.js.map +1 -1
  884. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.d.ts +10 -0
  885. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.js +91 -51
  886. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.js.map +1 -1
  887. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.d.ts +10 -0
  888. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.js +128 -87
  889. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.js.map +1 -1
  890. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.d.ts +1 -0
  891. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.js +59 -54
  892. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.js.map +1 -1
  893. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.d.ts +1 -0
  894. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.js +37 -33
  895. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.js.map +1 -1
  896. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.d.ts +1 -0
  897. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.js +64 -59
  898. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.js.map +1 -1
  899. package/lib-prod/taon-posts/taon-cms-post/index.d.ts +1 -1
  900. package/lib-prod/taon-posts/taon-cms-post/index.js +1 -1
  901. package/lib-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.i18n.data.js +1 -1
  902. package/lib-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.i18n.data.js.map +1 -1
  903. package/lib-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.i18n.data.js +1 -1
  904. package/lib-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.i18n.data.js.map +1 -1
  905. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.de-DE.i18n.data.d.ts +24 -0
  906. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.de-DE.i18n.data.js +49 -0
  907. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.de-DE.i18n.data.js.map +1 -0
  908. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.en-US.i18n.data.d.ts +24 -0
  909. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.en-US.i18n.data.js +49 -0
  910. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.en-US.i18n.data.js.map +1 -0
  911. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data.d.ts +24 -0
  912. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data.js +49 -0
  913. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data.js.map +1 -0
  914. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.js +2 -2
  915. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.js.map +1 -1
  916. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.js +1 -1
  917. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.js.map +1 -1
  918. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.d.ts +2 -16
  919. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.js +2 -51
  920. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.js.map +1 -1
  921. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.d.ts +2 -16
  922. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.js +2 -51
  923. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.js.map +1 -1
  924. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.d.ts +2 -16
  925. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.js +2 -51
  926. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -1
  927. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.js +2 -2
  928. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.js.map +1 -1
  929. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.js +2 -2
  930. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.js.map +1 -1
  931. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.d.ts +4 -1
  932. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.js.map +1 -1
  933. package/lib-prod/taon-posts/taon-cms-posts-backoffice/index.d.ts +1 -1
  934. package/lib-prod/taon-posts/taon-cms-posts-backoffice/index.js +1 -1
  935. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.js +8 -8
  936. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.js.map +1 -1
  937. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.js +11 -11
  938. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.js.map +1 -1
  939. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.js +3 -3
  940. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.js.map +1 -1
  941. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.js +2 -2
  942. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.js.map +1 -1
  943. package/lib-prod/taon-posts/taon-cms-revision-chooser/index.d.ts +1 -1
  944. package/lib-prod/taon-posts/taon-cms-revision-chooser/index.js +1 -1
  945. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.d.ts +1 -0
  946. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.js +10 -5
  947. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.js.map +1 -1
  948. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.d.ts +7 -2
  949. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.js +4 -0
  950. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.js.map +1 -1
  951. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.d.ts +1 -0
  952. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.js +11 -6
  953. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.js.map +1 -1
  954. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.js +2 -2
  955. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.js.map +1 -1
  956. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.js +2 -2
  957. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.js.map +1 -1
  958. package/lib-prod/taon-posts/taon-related-post-chooser/index.d.ts +1 -1
  959. package/lib-prod/taon-posts/taon-related-post-chooser/index.js +1 -1
  960. package/package.json +1 -1
  961. package/scss/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.scss +17 -0
  962. package/scss/lib/taon-posts/taon-cms-post/taon-cms-post.component.scss +26 -1
  963. package/ts-source/browser-code/build-info._auto-generated_.ts +1 -1
  964. package/ts-source/browser-code/index._auto-generated_.ts +7 -1
  965. package/ts-source/browser-code/index.ts +1 -2
  966. package/ts-source/browser-code/migrations/1792506757808_applicaitonHooks.ts +6 -3
  967. package/ts-source/browser-code/migrations/index.ts +0 -10
  968. package/ts-source/browser-code/migrations/migrations_index._auto-generated_.ts +1 -4
  969. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.ts +2 -2
  970. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.po +2 -2
  971. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.ts +2 -2
  972. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.po +2 -2
  973. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.ts +2 -2
  974. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.po +2 -2
  975. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.ts +2 -2
  976. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.po +2 -2
  977. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.ts +3 -3
  978. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.po +3 -3
  979. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.ts +3 -3
  980. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.po +3 -3
  981. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.ts +2 -2
  982. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.po +2 -2
  983. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.ts +2 -2
  984. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.po +2 -2
  985. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.ts +10 -5
  986. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.po +9 -5
  987. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.ts +8 -3
  988. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.po +7 -3
  989. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.ts +11 -5
  990. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.po +9 -5
  991. package/ts-source/browser-code/taon-cms-backoffice/taon-cms-backoffice.routes.ts +19 -9
  992. package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.ts +2 -2
  993. package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.po +2 -2
  994. package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.ts +1 -1
  995. package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.po +1 -1
  996. package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.ts +2 -2
  997. package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.po +2 -2
  998. package/ts-source/browser-code/taon-cms-category/taon-cms-category.controller.ts +4 -4
  999. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.ts +2 -2
  1000. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.po +2 -2
  1001. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.ts +1 -1
  1002. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.po +1 -1
  1003. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.ts +2 -2
  1004. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.po +2 -2
  1005. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.ts +9 -9
  1006. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.po +9 -9
  1007. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.ts +6 -6
  1008. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.po +6 -6
  1009. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.ts +9 -9
  1010. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.po +9 -9
  1011. package/ts-source/browser-code/taon-cms-content/taon-cms-content-api.service.ts +10 -0
  1012. package/ts-source/browser-code/taon-cms-content/taon-cms-content-storage.controller.ts +1 -1
  1013. package/ts-source/browser-code/taon-cms-content/taon-cms-content.config.service.ts +3 -0
  1014. package/ts-source/browser-code/taon-cms-content/taon-cms-content.controller.ts +7 -2
  1015. package/ts-source/browser-code/taon-cms-content/taon-cms-content.provider.ts +6 -1
  1016. package/ts-source/browser-code/taon-cms-content/taon-cms-content.repository.ts +4 -1
  1017. package/ts-source/browser-code/taon-cms-content/taon-cms-template-variables.ts +48 -0
  1018. package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.ts +2 -2
  1019. package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.po +2 -2
  1020. package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.ts +1 -1
  1021. package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.po +1 -1
  1022. package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.ts +2 -2
  1023. package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.po +2 -2
  1024. package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.ts +1 -1
  1025. package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.po +1 -1
  1026. package/ts-source/browser-code/taon-cms-tag/taon-cms-tag.controller.ts +4 -4
  1027. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.de-DE.i18n.data.ts +53 -0
  1028. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.de-DE.po +29 -0
  1029. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.en-US.i18n.data.ts +53 -0
  1030. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.en-US.po +29 -0
  1031. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.pl-PL.i18n.data.ts +53 -0
  1032. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.pl-PL.po +29 -0
  1033. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.de-DE.i18n.data.ts +43 -0
  1034. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.de-DE.po +21 -0
  1035. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.en-US.i18n.data.ts +43 -0
  1036. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.en-US.po +21 -0
  1037. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.pl-PL.i18n.data.ts +43 -0
  1038. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.pl-PL.po +21 -0
  1039. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.translation.ts +30 -0
  1040. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.de-DE.i18n.data.ts +42 -0
  1041. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.de-DE.po +18 -0
  1042. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.en-US.i18n.data.ts +42 -0
  1043. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.en-US.po +18 -0
  1044. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.pl-PL.i18n.data.ts +42 -0
  1045. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.pl-PL.po +18 -0
  1046. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.de-DE.i18n.data.ts +38 -0
  1047. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.de-DE.po +17 -0
  1048. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.en-US.i18n.data.ts +38 -0
  1049. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.en-US.po +17 -0
  1050. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.pl-PL.i18n.data.ts +38 -0
  1051. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.pl-PL.po +17 -0
  1052. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.de-DE.i18n.data.ts +28 -0
  1053. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.de-DE.po +9 -0
  1054. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.en-US.i18n.data.ts +28 -0
  1055. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.en-US.po +9 -0
  1056. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.pl-PL.i18n.data.ts +28 -0
  1057. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.pl-PL.po +9 -0
  1058. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/index.ts +13 -0
  1059. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.html +49 -0
  1060. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.scss +28 -0
  1061. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.ts +91 -0
  1062. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.models.ts +13 -0
  1063. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.routes.ts +20 -0
  1064. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.html +33 -0
  1065. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.ts +67 -0
  1066. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/taon-cms-course-cover.component.html +19 -0
  1067. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/taon-cms-course-cover.component.ts +85 -0
  1068. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.ts +134 -83
  1069. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.po +120 -80
  1070. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.ts +101 -51
  1071. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.po +91 -51
  1072. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.ts +138 -87
  1073. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.po +125 -85
  1074. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.ts +60 -54
  1075. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.po +58 -54
  1076. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.ts +38 -33
  1077. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.po +37 -33
  1078. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.ts +65 -59
  1079. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.po +63 -59
  1080. package/ts-source/browser-code/taon-posts/taon-cms-post/taon-cms-post.component.html +79 -12
  1081. package/ts-source/browser-code/taon-posts/taon-cms-post/taon-cms-post.component.scss +26 -1
  1082. package/ts-source/browser-code/taon-posts/taon-cms-post/taon-cms-post.component.ts +109 -10
  1083. package/ts-source/browser-code/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.i18n.data.ts +1 -1
  1084. package/ts-source/browser-code/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.po +1 -1
  1085. package/ts-source/browser-code/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.i18n.data.ts +1 -1
  1086. package/ts-source/browser-code/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.po +1 -1
  1087. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.de-DE.i18n.data.ts +73 -0
  1088. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.de-DE.po +45 -0
  1089. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.en-US.i18n.data.ts +73 -0
  1090. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.en-US.po +45 -0
  1091. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data.ts +73 -0
  1092. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.pl-PL.po +45 -0
  1093. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.ts +2 -2
  1094. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.po +2 -2
  1095. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.ts +1 -1
  1096. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.po +1 -1
  1097. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.ts +2 -61
  1098. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.po +2 -42
  1099. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.ts +2 -61
  1100. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.po +2 -42
  1101. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.ts +2 -61
  1102. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.po +2 -42
  1103. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.ts +2 -2
  1104. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.po +2 -2
  1105. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.ts +2 -2
  1106. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.po +2 -2
  1107. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.ts +4 -1
  1108. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/taon-cms-post-table-actions.directive.ts +129 -0
  1109. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts +6 -107
  1110. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts +1 -1
  1111. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.ts +8 -8
  1112. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.po +8 -8
  1113. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.ts +11 -11
  1114. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.po +10 -10
  1115. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.ts +3 -3
  1116. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.po +3 -3
  1117. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.ts +2 -2
  1118. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.po +2 -2
  1119. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.ts +11 -5
  1120. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.po +8 -4
  1121. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.ts +5 -0
  1122. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.po +4 -0
  1123. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.ts +12 -6
  1124. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.po +9 -5
  1125. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.ts +2 -2
  1126. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.po +2 -2
  1127. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.ts +2 -2
  1128. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.po +2 -2
  1129. package/ts-source/browser-code-prod/build-info._auto-generated_.ts +1 -1
  1130. package/ts-source/browser-code-prod/index._auto-generated_.ts +7 -1
  1131. package/ts-source/browser-code-prod/index.ts +1 -2
  1132. package/ts-source/browser-code-prod/migrations/1792506757808_applicaitonHooks.ts +6 -3
  1133. package/ts-source/browser-code-prod/migrations/index.ts +0 -10
  1134. package/ts-source/browser-code-prod/migrations/migrations_index._auto-generated_.ts +1 -4
  1135. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.ts +2 -2
  1136. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.po +2 -2
  1137. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.ts +2 -2
  1138. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.po +2 -2
  1139. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.ts +2 -2
  1140. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.po +2 -2
  1141. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.ts +2 -2
  1142. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.po +2 -2
  1143. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.ts +3 -3
  1144. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.po +3 -3
  1145. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.ts +3 -3
  1146. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.po +3 -3
  1147. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.ts +2 -2
  1148. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.po +2 -2
  1149. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.ts +2 -2
  1150. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.po +2 -2
  1151. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.ts +10 -5
  1152. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.po +9 -5
  1153. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.ts +8 -3
  1154. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.po +7 -3
  1155. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.ts +11 -5
  1156. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.po +9 -5
  1157. package/ts-source/browser-code-prod/taon-cms-backoffice/taon-cms-backoffice.routes.ts +19 -9
  1158. package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.ts +2 -2
  1159. package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.po +2 -2
  1160. package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.ts +1 -1
  1161. package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.po +1 -1
  1162. package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.ts +2 -2
  1163. package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.po +2 -2
  1164. package/ts-source/browser-code-prod/taon-cms-category/taon-cms-category.controller.ts +4 -4
  1165. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.ts +2 -2
  1166. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.po +2 -2
  1167. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.ts +1 -1
  1168. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.po +1 -1
  1169. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.ts +2 -2
  1170. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.po +2 -2
  1171. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.ts +9 -9
  1172. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.po +9 -9
  1173. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.ts +6 -6
  1174. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.po +6 -6
  1175. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.ts +9 -9
  1176. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.po +9 -9
  1177. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content-api.service.ts +10 -0
  1178. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content-storage.controller.ts +1 -1
  1179. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content.config.service.ts +3 -0
  1180. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content.controller.ts +7 -2
  1181. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content.provider.ts +6 -1
  1182. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content.repository.ts +4 -1
  1183. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-template-variables.ts +48 -0
  1184. package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.ts +2 -2
  1185. package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.po +2 -2
  1186. package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.ts +1 -1
  1187. package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.po +1 -1
  1188. package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.ts +2 -2
  1189. package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.po +2 -2
  1190. package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.ts +1 -1
  1191. package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.po +1 -1
  1192. package/ts-source/browser-code-prod/taon-cms-tag/taon-cms-tag.controller.ts +4 -4
  1193. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.de-DE.i18n.data.ts +53 -0
  1194. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.de-DE.po +29 -0
  1195. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.en-US.i18n.data.ts +53 -0
  1196. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.en-US.po +29 -0
  1197. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.pl-PL.i18n.data.ts +53 -0
  1198. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.pl-PL.po +29 -0
  1199. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.de-DE.i18n.data.ts +43 -0
  1200. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.de-DE.po +21 -0
  1201. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.en-US.i18n.data.ts +43 -0
  1202. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.en-US.po +21 -0
  1203. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.pl-PL.i18n.data.ts +43 -0
  1204. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.pl-PL.po +21 -0
  1205. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.translation.ts +30 -0
  1206. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.de-DE.i18n.data.ts +42 -0
  1207. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.de-DE.po +18 -0
  1208. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.en-US.i18n.data.ts +42 -0
  1209. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.en-US.po +18 -0
  1210. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.pl-PL.i18n.data.ts +42 -0
  1211. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.pl-PL.po +18 -0
  1212. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.de-DE.i18n.data.ts +38 -0
  1213. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.de-DE.po +17 -0
  1214. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.en-US.i18n.data.ts +38 -0
  1215. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.en-US.po +17 -0
  1216. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.pl-PL.i18n.data.ts +38 -0
  1217. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.pl-PL.po +17 -0
  1218. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.de-DE.i18n.data.ts +28 -0
  1219. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.de-DE.po +9 -0
  1220. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.en-US.i18n.data.ts +28 -0
  1221. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.en-US.po +9 -0
  1222. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.pl-PL.i18n.data.ts +28 -0
  1223. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.pl-PL.po +9 -0
  1224. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/index.ts +13 -0
  1225. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.html +49 -0
  1226. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.scss +28 -0
  1227. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.ts +91 -0
  1228. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.models.ts +12 -0
  1229. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.routes.ts +20 -0
  1230. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.html +33 -0
  1231. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.split-namespaces.json +4 -0
  1232. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.ts +67 -0
  1233. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-cover.component.html +19 -0
  1234. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-cover.component.split-namespaces.json +4 -0
  1235. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-cover.component.ts +85 -0
  1236. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.ts +134 -83
  1237. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.po +120 -80
  1238. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.ts +101 -51
  1239. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.po +91 -51
  1240. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.ts +138 -87
  1241. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.po +125 -85
  1242. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.ts +60 -54
  1243. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.po +58 -54
  1244. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.ts +38 -33
  1245. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.po +37 -33
  1246. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.ts +65 -59
  1247. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.po +63 -59
  1248. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/taon-cms-post.component.html +79 -12
  1249. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/taon-cms-post.component.scss +26 -1
  1250. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/taon-cms-post.component.ts +109 -10
  1251. package/ts-source/browser-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.i18n.data.ts +1 -1
  1252. package/ts-source/browser-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.po +1 -1
  1253. package/ts-source/browser-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.i18n.data.ts +1 -1
  1254. package/ts-source/browser-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.po +1 -1
  1255. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.de-DE.i18n.data.ts +73 -0
  1256. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.de-DE.po +45 -0
  1257. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.en-US.i18n.data.ts +73 -0
  1258. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.en-US.po +45 -0
  1259. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data.ts +73 -0
  1260. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.pl-PL.po +45 -0
  1261. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.ts +2 -2
  1262. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.po +2 -2
  1263. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.ts +1 -1
  1264. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.po +1 -1
  1265. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.ts +2 -61
  1266. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.po +2 -42
  1267. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.ts +2 -61
  1268. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.po +2 -42
  1269. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.ts +2 -61
  1270. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.po +2 -42
  1271. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.ts +2 -2
  1272. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.po +2 -2
  1273. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.ts +2 -2
  1274. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.po +2 -2
  1275. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.ts +4 -1
  1276. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-post-table-actions.directive.split-namespaces.json +4 -0
  1277. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-post-table-actions.directive.ts +129 -0
  1278. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts +6 -107
  1279. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts +1 -1
  1280. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.ts +8 -8
  1281. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.po +8 -8
  1282. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.ts +11 -11
  1283. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.po +10 -10
  1284. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.ts +3 -3
  1285. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.po +3 -3
  1286. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.ts +2 -2
  1287. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.po +2 -2
  1288. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.ts +11 -5
  1289. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.po +8 -4
  1290. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.ts +5 -0
  1291. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.po +4 -0
  1292. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.ts +12 -6
  1293. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.po +9 -5
  1294. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.ts +2 -2
  1295. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.po +2 -2
  1296. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.ts +2 -2
  1297. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.po +2 -2
  1298. package/ts-source/websql-code/build-info._auto-generated_.ts +1 -1
  1299. package/ts-source/websql-code/index._auto-generated_.ts +7 -1
  1300. package/ts-source/websql-code/index.ts +1 -2
  1301. package/ts-source/websql-code/migrations/1792506757808_applicaitonHooks.ts +6 -3
  1302. package/ts-source/websql-code/migrations/index.ts +0 -10
  1303. package/ts-source/websql-code/migrations/migrations_index._auto-generated_.ts +1 -4
  1304. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.ts +2 -2
  1305. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.po +2 -2
  1306. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.ts +2 -2
  1307. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.po +2 -2
  1308. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.ts +2 -2
  1309. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.po +2 -2
  1310. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.ts +2 -2
  1311. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.po +2 -2
  1312. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.ts +3 -3
  1313. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.po +3 -3
  1314. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.ts +3 -3
  1315. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.po +3 -3
  1316. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.ts +2 -2
  1317. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.po +2 -2
  1318. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.ts +2 -2
  1319. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.po +2 -2
  1320. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.ts +10 -5
  1321. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.po +9 -5
  1322. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.ts +8 -3
  1323. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.po +7 -3
  1324. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.ts +11 -5
  1325. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.po +9 -5
  1326. package/ts-source/websql-code/taon-cms-backoffice/taon-cms-backoffice.routes.ts +19 -9
  1327. package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.ts +2 -2
  1328. package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.po +2 -2
  1329. package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.ts +1 -1
  1330. package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.po +1 -1
  1331. package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.ts +2 -2
  1332. package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.po +2 -2
  1333. package/ts-source/websql-code/taon-cms-category/taon-cms-category.controller.ts +4 -4
  1334. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.ts +2 -2
  1335. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.po +2 -2
  1336. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.ts +1 -1
  1337. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.po +1 -1
  1338. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.ts +2 -2
  1339. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.po +2 -2
  1340. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.ts +9 -9
  1341. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.po +9 -9
  1342. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.ts +6 -6
  1343. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.po +6 -6
  1344. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.ts +9 -9
  1345. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.po +9 -9
  1346. package/ts-source/websql-code/taon-cms-content/taon-cms-content-api.service.ts +10 -0
  1347. package/ts-source/websql-code/taon-cms-content/taon-cms-content-storage.controller.ts +1 -1
  1348. package/ts-source/websql-code/taon-cms-content/taon-cms-content.config.service.ts +3 -0
  1349. package/ts-source/websql-code/taon-cms-content/taon-cms-content.controller.ts +7 -2
  1350. package/ts-source/websql-code/taon-cms-content/taon-cms-content.provider.ts +6 -1
  1351. package/ts-source/websql-code/taon-cms-content/taon-cms-content.repository.ts +19 -2
  1352. package/ts-source/websql-code/taon-cms-content/taon-cms-template-variables.ts +48 -0
  1353. package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.ts +2 -2
  1354. package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.po +2 -2
  1355. package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.ts +1 -1
  1356. package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.po +1 -1
  1357. package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.ts +2 -2
  1358. package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.po +2 -2
  1359. package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.ts +1 -1
  1360. package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.po +1 -1
  1361. package/ts-source/websql-code/taon-cms-tag/taon-cms-tag.controller.ts +4 -4
  1362. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.de-DE.i18n.data.ts +53 -0
  1363. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.de-DE.po +29 -0
  1364. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.en-US.i18n.data.ts +53 -0
  1365. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.en-US.po +29 -0
  1366. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.pl-PL.i18n.data.ts +53 -0
  1367. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.pl-PL.po +29 -0
  1368. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.de-DE.i18n.data.ts +43 -0
  1369. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.de-DE.po +21 -0
  1370. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.en-US.i18n.data.ts +43 -0
  1371. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.en-US.po +21 -0
  1372. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.pl-PL.i18n.data.ts +43 -0
  1373. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.pl-PL.po +21 -0
  1374. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.translation.ts +30 -0
  1375. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.de-DE.i18n.data.ts +42 -0
  1376. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.de-DE.po +18 -0
  1377. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.en-US.i18n.data.ts +42 -0
  1378. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.en-US.po +18 -0
  1379. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.pl-PL.i18n.data.ts +42 -0
  1380. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.pl-PL.po +18 -0
  1381. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.de-DE.i18n.data.ts +38 -0
  1382. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.de-DE.po +17 -0
  1383. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.en-US.i18n.data.ts +38 -0
  1384. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.en-US.po +17 -0
  1385. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.pl-PL.i18n.data.ts +38 -0
  1386. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.pl-PL.po +17 -0
  1387. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.de-DE.i18n.data.ts +28 -0
  1388. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.de-DE.po +9 -0
  1389. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.en-US.i18n.data.ts +28 -0
  1390. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.en-US.po +9 -0
  1391. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.pl-PL.i18n.data.ts +28 -0
  1392. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.pl-PL.po +9 -0
  1393. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/index.ts +13 -0
  1394. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.html +49 -0
  1395. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.scss +28 -0
  1396. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.ts +91 -0
  1397. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.models.ts +13 -0
  1398. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.routes.ts +20 -0
  1399. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.html +33 -0
  1400. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.ts +67 -0
  1401. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/taon-cms-course-cover.component.html +19 -0
  1402. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/taon-cms-course-cover.component.ts +85 -0
  1403. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.ts +134 -83
  1404. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.po +120 -80
  1405. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.ts +101 -51
  1406. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.po +91 -51
  1407. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.ts +138 -87
  1408. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.po +125 -85
  1409. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.ts +60 -54
  1410. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.po +58 -54
  1411. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.ts +38 -33
  1412. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.po +37 -33
  1413. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.ts +65 -59
  1414. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.po +63 -59
  1415. package/ts-source/websql-code/taon-posts/taon-cms-post/taon-cms-post.component.html +79 -12
  1416. package/ts-source/websql-code/taon-posts/taon-cms-post/taon-cms-post.component.scss +26 -1
  1417. package/ts-source/websql-code/taon-posts/taon-cms-post/taon-cms-post.component.ts +109 -10
  1418. package/ts-source/websql-code/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.i18n.data.ts +1 -1
  1419. package/ts-source/websql-code/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.po +1 -1
  1420. package/ts-source/websql-code/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.i18n.data.ts +1 -1
  1421. package/ts-source/websql-code/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.po +1 -1
  1422. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.de-DE.i18n.data.ts +73 -0
  1423. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.de-DE.po +45 -0
  1424. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.en-US.i18n.data.ts +73 -0
  1425. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.en-US.po +45 -0
  1426. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data.ts +73 -0
  1427. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.pl-PL.po +45 -0
  1428. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.ts +2 -2
  1429. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.po +2 -2
  1430. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.ts +1 -1
  1431. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.po +1 -1
  1432. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.ts +2 -61
  1433. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.po +2 -42
  1434. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.ts +2 -61
  1435. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.po +2 -42
  1436. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.ts +2 -61
  1437. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.po +2 -42
  1438. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.ts +2 -2
  1439. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.po +2 -2
  1440. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.ts +2 -2
  1441. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.po +2 -2
  1442. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.ts +4 -1
  1443. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/taon-cms-post-table-actions.directive.ts +129 -0
  1444. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts +6 -107
  1445. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts +1 -1
  1446. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.ts +8 -8
  1447. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.po +8 -8
  1448. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.ts +11 -11
  1449. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.po +10 -10
  1450. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.ts +3 -3
  1451. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.po +3 -3
  1452. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.ts +2 -2
  1453. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.po +2 -2
  1454. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.ts +11 -5
  1455. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.po +8 -4
  1456. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.ts +5 -0
  1457. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.po +4 -0
  1458. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.ts +12 -6
  1459. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.po +9 -5
  1460. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.ts +2 -2
  1461. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.po +2 -2
  1462. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.ts +2 -2
  1463. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.po +2 -2
  1464. package/ts-source/websql-code-prod/build-info._auto-generated_.ts +1 -1
  1465. package/ts-source/websql-code-prod/index._auto-generated_.ts +7 -1
  1466. package/ts-source/websql-code-prod/index.ts +1 -2
  1467. package/ts-source/websql-code-prod/migrations/1792506757808_applicaitonHooks.ts +6 -3
  1468. package/ts-source/websql-code-prod/migrations/index.ts +0 -10
  1469. package/ts-source/websql-code-prod/migrations/migrations_index._auto-generated_.ts +1 -4
  1470. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.ts +2 -2
  1471. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.po +2 -2
  1472. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.ts +2 -2
  1473. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.po +2 -2
  1474. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.ts +2 -2
  1475. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.po +2 -2
  1476. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.ts +2 -2
  1477. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.po +2 -2
  1478. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.ts +3 -3
  1479. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.po +3 -3
  1480. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.ts +3 -3
  1481. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.po +3 -3
  1482. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.ts +2 -2
  1483. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.po +2 -2
  1484. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.ts +2 -2
  1485. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.po +2 -2
  1486. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.ts +10 -5
  1487. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.po +9 -5
  1488. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.ts +8 -3
  1489. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.po +7 -3
  1490. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.ts +11 -5
  1491. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.po +9 -5
  1492. package/ts-source/websql-code-prod/taon-cms-backoffice/taon-cms-backoffice.routes.ts +19 -9
  1493. package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.ts +2 -2
  1494. package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.po +2 -2
  1495. package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.ts +1 -1
  1496. package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.po +1 -1
  1497. package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.ts +2 -2
  1498. package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.po +2 -2
  1499. package/ts-source/websql-code-prod/taon-cms-category/taon-cms-category.controller.ts +4 -4
  1500. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.ts +2 -2
  1501. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.po +2 -2
  1502. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.ts +1 -1
  1503. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.po +1 -1
  1504. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.ts +2 -2
  1505. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.po +2 -2
  1506. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.ts +9 -9
  1507. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.po +9 -9
  1508. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.ts +6 -6
  1509. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.po +6 -6
  1510. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.ts +9 -9
  1511. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.po +9 -9
  1512. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content-api.service.ts +10 -0
  1513. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content-storage.controller.ts +1 -1
  1514. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content.config.service.ts +3 -0
  1515. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content.controller.ts +7 -2
  1516. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content.provider.ts +6 -1
  1517. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content.repository.ts +19 -2
  1518. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-template-variables.split-namespaces.json +4 -0
  1519. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-template-variables.ts +48 -0
  1520. package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.ts +2 -2
  1521. package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.po +2 -2
  1522. package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.ts +1 -1
  1523. package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.po +1 -1
  1524. package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.ts +2 -2
  1525. package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.po +2 -2
  1526. package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.ts +1 -1
  1527. package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.po +1 -1
  1528. package/ts-source/websql-code-prod/taon-cms-tag/taon-cms-tag.controller.ts +4 -4
  1529. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.de-DE.i18n.data.ts +53 -0
  1530. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.de-DE.po +29 -0
  1531. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.en-US.i18n.data.ts +53 -0
  1532. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.en-US.po +29 -0
  1533. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.pl-PL.i18n.data.ts +53 -0
  1534. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.pl-PL.po +29 -0
  1535. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.de-DE.i18n.data.ts +43 -0
  1536. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.de-DE.po +21 -0
  1537. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.en-US.i18n.data.ts +43 -0
  1538. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.en-US.po +21 -0
  1539. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.pl-PL.i18n.data.ts +43 -0
  1540. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.pl-PL.po +21 -0
  1541. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.translation.split-namespaces.json +4 -0
  1542. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.translation.ts +30 -0
  1543. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.de-DE.i18n.data.ts +42 -0
  1544. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.de-DE.po +18 -0
  1545. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.en-US.i18n.data.ts +42 -0
  1546. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.en-US.po +18 -0
  1547. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.pl-PL.i18n.data.ts +42 -0
  1548. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.pl-PL.po +18 -0
  1549. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.de-DE.i18n.data.ts +38 -0
  1550. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.de-DE.po +17 -0
  1551. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.en-US.i18n.data.ts +38 -0
  1552. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.en-US.po +17 -0
  1553. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.pl-PL.i18n.data.ts +38 -0
  1554. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.pl-PL.po +17 -0
  1555. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.de-DE.i18n.data.ts +28 -0
  1556. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.de-DE.po +9 -0
  1557. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.en-US.i18n.data.ts +28 -0
  1558. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.en-US.po +9 -0
  1559. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.pl-PL.i18n.data.ts +28 -0
  1560. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.pl-PL.po +9 -0
  1561. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/index.split-namespaces.json +4 -0
  1562. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/index.ts +13 -0
  1563. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.html +49 -0
  1564. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.scss +28 -0
  1565. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.split-namespaces.json +4 -0
  1566. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.ts +91 -0
  1567. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.models.split-namespaces.json +4 -0
  1568. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.models.ts +12 -0
  1569. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.routes.split-namespaces.json +4 -0
  1570. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.routes.ts +20 -0
  1571. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.html +33 -0
  1572. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.split-namespaces.json +4 -0
  1573. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.ts +67 -0
  1574. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-cover.component.html +19 -0
  1575. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-cover.component.split-namespaces.json +4 -0
  1576. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-cover.component.ts +85 -0
  1577. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.ts +134 -83
  1578. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.po +120 -80
  1579. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.ts +101 -51
  1580. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.po +91 -51
  1581. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.ts +138 -87
  1582. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.po +125 -85
  1583. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.ts +60 -54
  1584. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.po +58 -54
  1585. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.ts +38 -33
  1586. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.po +37 -33
  1587. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.ts +65 -59
  1588. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.po +63 -59
  1589. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/taon-cms-post.component.html +79 -12
  1590. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/taon-cms-post.component.scss +26 -1
  1591. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/taon-cms-post.component.ts +109 -10
  1592. package/ts-source/websql-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.i18n.data.ts +1 -1
  1593. package/ts-source/websql-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.po +1 -1
  1594. package/ts-source/websql-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.i18n.data.ts +1 -1
  1595. package/ts-source/websql-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.po +1 -1
  1596. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.de-DE.i18n.data.ts +73 -0
  1597. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.de-DE.po +45 -0
  1598. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.en-US.i18n.data.ts +73 -0
  1599. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.en-US.po +45 -0
  1600. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data.ts +73 -0
  1601. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.pl-PL.po +45 -0
  1602. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.ts +2 -2
  1603. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.po +2 -2
  1604. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.ts +1 -1
  1605. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.po +1 -1
  1606. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.ts +2 -61
  1607. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.po +2 -42
  1608. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.ts +2 -61
  1609. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.po +2 -42
  1610. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.ts +2 -61
  1611. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.po +2 -42
  1612. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.ts +2 -2
  1613. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.po +2 -2
  1614. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.ts +2 -2
  1615. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.po +2 -2
  1616. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.ts +4 -1
  1617. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-post-table-actions.directive.split-namespaces.json +4 -0
  1618. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-post-table-actions.directive.ts +129 -0
  1619. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts +6 -107
  1620. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts +1 -1
  1621. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.ts +8 -8
  1622. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.po +8 -8
  1623. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.ts +11 -11
  1624. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.po +10 -10
  1625. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.ts +3 -3
  1626. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.po +3 -3
  1627. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.ts +2 -2
  1628. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.po +2 -2
  1629. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.ts +11 -5
  1630. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.po +8 -4
  1631. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.ts +5 -0
  1632. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.po +4 -0
  1633. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.ts +12 -6
  1634. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.po +9 -5
  1635. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.ts +2 -2
  1636. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.po +2 -2
  1637. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.ts +2 -2
  1638. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.po +2 -2
  1639. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.de-DE.i18n.data-CHQQllMO.mjs +31 -0
  1640. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.de-DE.i18n.data-CHQQllMO.mjs.map +1 -0
  1641. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.pl-PL.i18n.data-CPeH_o7k.mjs +31 -0
  1642. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.pl-PL.i18n.data-CPeH_o7k.mjs.map +1 -0
  1643. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.de-DE.i18n.data-ClExLtU2.mjs +21 -0
  1644. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.de-DE.i18n.data-ClExLtU2.mjs.map +1 -0
  1645. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-D4NTLNZw.mjs +21 -0
  1646. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-D4NTLNZw.mjs.map +1 -0
  1647. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-C8vSPTrN.mjs +26 -0
  1648. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-C8vSPTrN.mjs.map +1 -0
  1649. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-BkpgF5Bk.mjs +26 -0
  1650. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-BkpgF5Bk.mjs.map +1 -0
  1651. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-CA_UfC8X.mjs +26 -0
  1652. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-CA_UfC8X.mjs.map +1 -0
  1653. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-PW1BLu1i.mjs +26 -0
  1654. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-PW1BLu1i.mjs.map +1 -0
  1655. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.de-DE.i18n.data-D2bKsNoS.mjs +35 -0
  1656. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.de-DE.i18n.data-D2bKsNoS.mjs.map +1 -0
  1657. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.en-US.i18n.data-nw5h-4Th.mjs +35 -0
  1658. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.en-US.i18n.data-nw5h-4Th.mjs.map +1 -0
  1659. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-DWPxduFo.mjs +36 -0
  1660. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-DWPxduFo.mjs.map +1 -0
  1661. package/websql/fesm2022/cms-websql-taon-cms-category.controller.ts.de-DE.i18n.data-BECrfk3P.mjs +16 -0
  1662. package/websql/fesm2022/cms-websql-taon-cms-category.controller.ts.de-DE.i18n.data-BECrfk3P.mjs.map +1 -0
  1663. package/websql/fesm2022/cms-websql-taon-cms-category.controller.ts.en-US.i18n.data-C96XxpGk.mjs +16 -0
  1664. package/websql/fesm2022/cms-websql-taon-cms-category.controller.ts.en-US.i18n.data-C96XxpGk.mjs.map +1 -0
  1665. package/websql/fesm2022/cms-websql-taon-cms-category.controller.ts.pl-PL.i18n.data-C32ghbeJ.mjs +16 -0
  1666. package/websql/fesm2022/cms-websql-taon-cms-category.controller.ts.pl-PL.i18n.data-C32ghbeJ.mjs.map +1 -0
  1667. package/websql/fesm2022/cms-websql-taon-cms-course-backoffice.component.html.de-DE.i18n.data-CUk5ug7o.mjs +35 -0
  1668. package/websql/fesm2022/cms-websql-taon-cms-course-backoffice.component.html.de-DE.i18n.data-CUk5ug7o.mjs.map +1 -0
  1669. package/websql/fesm2022/cms-websql-taon-cms-course-backoffice.component.html.en-US.i18n.data-B_ev_S5w.mjs +35 -0
  1670. package/websql/fesm2022/cms-websql-taon-cms-course-backoffice.component.html.en-US.i18n.data-B_ev_S5w.mjs.map +1 -0
  1671. package/websql/fesm2022/cms-websql-taon-cms-course-backoffice.component.html.pl-PL.i18n.data-CzEhm95I.mjs +35 -0
  1672. package/websql/fesm2022/cms-websql-taon-cms-course-backoffice.component.html.pl-PL.i18n.data-CzEhm95I.mjs.map +1 -0
  1673. package/websql/fesm2022/cms-websql-taon-cms-course-backoffice.component.ts.de-DE.i18n.data-DAc3VOD3.mjs +27 -0
  1674. package/websql/fesm2022/cms-websql-taon-cms-course-backoffice.component.ts.de-DE.i18n.data-DAc3VOD3.mjs.map +1 -0
  1675. package/websql/fesm2022/cms-websql-taon-cms-course-backoffice.component.ts.en-US.i18n.data-DpyYEZSz.mjs +27 -0
  1676. package/websql/fesm2022/cms-websql-taon-cms-course-backoffice.component.ts.en-US.i18n.data-DpyYEZSz.mjs.map +1 -0
  1677. package/websql/fesm2022/cms-websql-taon-cms-course-backoffice.component.ts.pl-PL.i18n.data-RzH83Lc_.mjs +27 -0
  1678. package/websql/fesm2022/cms-websql-taon-cms-course-backoffice.component.ts.pl-PL.i18n.data-RzH83Lc_.mjs.map +1 -0
  1679. package/websql/fesm2022/cms-websql-taon-cms-course-contents.component.html.de-DE.i18n.data-zeQEmcoN.mjs +27 -0
  1680. package/websql/fesm2022/cms-websql-taon-cms-course-contents.component.html.de-DE.i18n.data-zeQEmcoN.mjs.map +1 -0
  1681. package/websql/fesm2022/cms-websql-taon-cms-course-contents.component.html.en-US.i18n.data-CWd3E2aP.mjs +27 -0
  1682. package/websql/fesm2022/cms-websql-taon-cms-course-contents.component.html.en-US.i18n.data-CWd3E2aP.mjs.map +1 -0
  1683. package/websql/fesm2022/cms-websql-taon-cms-course-contents.component.html.pl-PL.i18n.data-DZNGFqHU.mjs +27 -0
  1684. package/websql/fesm2022/cms-websql-taon-cms-course-contents.component.html.pl-PL.i18n.data-DZNGFqHU.mjs.map +1 -0
  1685. package/websql/fesm2022/cms-websql-taon-cms-course-contents.component.ts.de-DE.i18n.data-B1c4BqwL.mjs +23 -0
  1686. package/websql/fesm2022/cms-websql-taon-cms-course-contents.component.ts.de-DE.i18n.data-B1c4BqwL.mjs.map +1 -0
  1687. package/websql/fesm2022/cms-websql-taon-cms-course-contents.component.ts.en-US.i18n.data-C0Q4P1pi.mjs +23 -0
  1688. package/websql/fesm2022/cms-websql-taon-cms-course-contents.component.ts.en-US.i18n.data-C0Q4P1pi.mjs.map +1 -0
  1689. package/websql/fesm2022/cms-websql-taon-cms-course-contents.component.ts.pl-PL.i18n.data-B2_M5A-D.mjs +23 -0
  1690. package/websql/fesm2022/cms-websql-taon-cms-course-contents.component.ts.pl-PL.i18n.data-B2_M5A-D.mjs.map +1 -0
  1691. package/websql/fesm2022/cms-websql-taon-cms-course-cover.component.ts.de-DE.i18n.data-CPpw6mEf.mjs +15 -0
  1692. package/websql/fesm2022/cms-websql-taon-cms-course-cover.component.ts.de-DE.i18n.data-CPpw6mEf.mjs.map +1 -0
  1693. package/websql/fesm2022/cms-websql-taon-cms-course-cover.component.ts.en-US.i18n.data-D-vw3T3O.mjs +15 -0
  1694. package/websql/fesm2022/cms-websql-taon-cms-course-cover.component.ts.en-US.i18n.data-D-vw3T3O.mjs.map +1 -0
  1695. package/websql/fesm2022/cms-websql-taon-cms-course-cover.component.ts.pl-PL.i18n.data-DZsvqr38.mjs +15 -0
  1696. package/websql/fesm2022/cms-websql-taon-cms-course-cover.component.ts.pl-PL.i18n.data-DZsvqr38.mjs.map +1 -0
  1697. package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.de-DE.i18n.data-DvinUxYu.mjs +16 -0
  1698. package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.de-DE.i18n.data-DvinUxYu.mjs.map +1 -0
  1699. package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-2oqcGTJG.mjs +16 -0
  1700. package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-2oqcGTJG.mjs.map +1 -0
  1701. package/websql/fesm2022/cms-websql-taon-cms-post-table-actions.directive.ts.de-DE.i18n.data-x_3GCOW9.mjs +51 -0
  1702. package/websql/fesm2022/cms-websql-taon-cms-post-table-actions.directive.ts.de-DE.i18n.data-x_3GCOW9.mjs.map +1 -0
  1703. package/websql/fesm2022/cms-websql-taon-cms-post-table-actions.directive.ts.en-US.i18n.data-4NI8Xw9I.mjs +51 -0
  1704. package/websql/fesm2022/cms-websql-taon-cms-post-table-actions.directive.ts.en-US.i18n.data-4NI8Xw9I.mjs.map +1 -0
  1705. package/websql/fesm2022/cms-websql-taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data-FbMIlsYe.mjs +51 -0
  1706. package/websql/fesm2022/cms-websql-taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data-FbMIlsYe.mjs.map +1 -0
  1707. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.de-DE.i18n.data-BaON6nA9.mjs +366 -0
  1708. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.de-DE.i18n.data-BaON6nA9.mjs.map +1 -0
  1709. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.en-US.i18n.data-B6l0ggUx.mjs +365 -0
  1710. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.en-US.i18n.data-B6l0ggUx.mjs.map +1 -0
  1711. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.pl-PL.i18n.data-By3hiiP-.mjs +366 -0
  1712. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.pl-PL.i18n.data-By3hiiP-.mjs.map +1 -0
  1713. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.de-DE.i18n.data-Ciz92SwP.mjs +180 -0
  1714. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.de-DE.i18n.data-Ciz92SwP.mjs.map +1 -0
  1715. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.en-US.i18n.data-BfH784ag.mjs +176 -0
  1716. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.en-US.i18n.data-BfH784ag.mjs.map +1 -0
  1717. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.pl-PL.i18n.data-cvvUelpe.mjs +180 -0
  1718. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.pl-PL.i18n.data-cvvUelpe.mjs.map +1 -0
  1719. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-Dzx2YyST.mjs +21 -0
  1720. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-Dzx2YyST.mjs.map +1 -0
  1721. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-DbKCVK5F.mjs +21 -0
  1722. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-DbKCVK5F.mjs.map +1 -0
  1723. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-CTNTDm49.mjs +21 -0
  1724. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-CTNTDm49.mjs.map +1 -0
  1725. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-BEXiBm6D.mjs +21 -0
  1726. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-BEXiBm6D.mjs.map +1 -0
  1727. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-CYa7VWYt.mjs +21 -0
  1728. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-CYa7VWYt.mjs.map +1 -0
  1729. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-De7ox2r2.mjs +21 -0
  1730. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-De7ox2r2.mjs.map +1 -0
  1731. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-B7OXsynj.mjs +21 -0
  1732. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-B7OXsynj.mjs.map +1 -0
  1733. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.de-DE.i18n.data-DxlQZtXm.mjs +71 -0
  1734. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.de-DE.i18n.data-DxlQZtXm.mjs.map +1 -0
  1735. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-CXGF086L.mjs +71 -0
  1736. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-CXGF086L.mjs.map +1 -0
  1737. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-D0uWg5-_.mjs +26 -0
  1738. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-D0uWg5-_.mjs.map +1 -0
  1739. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-DLR3lYs3.mjs +26 -0
  1740. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-DLR3lYs3.mjs.map +1 -0
  1741. package/websql/fesm2022/cms-websql-taon-cms-tag.controller.ts.de-DE.i18n.data-DdKa6EHY.mjs +16 -0
  1742. package/websql/fesm2022/cms-websql-taon-cms-tag.controller.ts.de-DE.i18n.data-DdKa6EHY.mjs.map +1 -0
  1743. package/websql/fesm2022/cms-websql-taon-cms-tag.controller.ts.en-US.i18n.data-DwLvx6gF.mjs +16 -0
  1744. package/websql/fesm2022/cms-websql-taon-cms-tag.controller.ts.en-US.i18n.data-DwLvx6gF.mjs.map +1 -0
  1745. package/websql/fesm2022/cms-websql-taon-cms-tag.controller.ts.pl-PL.i18n.data-B2PM2PXT.mjs +16 -0
  1746. package/websql/fesm2022/cms-websql-taon-cms-tag.controller.ts.pl-PL.i18n.data-B2PM2PXT.mjs.map +1 -0
  1747. package/websql/fesm2022/cms-websql-taon-cms-tag.repository.ts.pl-PL.i18n.data-CA9WTHVH.mjs +21 -0
  1748. package/websql/fesm2022/cms-websql-taon-cms-tag.repository.ts.pl-PL.i18n.data-CA9WTHVH.mjs.map +1 -0
  1749. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.de-DE.i18n.data-B8kwe4XH.mjs +51 -0
  1750. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.de-DE.i18n.data-B8kwe4XH.mjs.map +1 -0
  1751. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.en-US.i18n.data-DsxIoc3-.mjs +50 -0
  1752. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.en-US.i18n.data-DsxIoc3-.mjs.map +1 -0
  1753. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.pl-PL.i18n.data-KGkZHK6U.mjs +51 -0
  1754. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.pl-PL.i18n.data-KGkZHK6U.mjs.map +1 -0
  1755. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.de-DE.i18n.data-B-AefZ-Q.mjs +21 -0
  1756. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.de-DE.i18n.data-B-AefZ-Q.mjs.map +1 -0
  1757. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.pl-PL.i18n.data-DlY8NCht.mjs +21 -0
  1758. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.pl-PL.i18n.data-DlY8NCht.mjs.map +1 -0
  1759. package/websql/fesm2022/cms-websql.mjs +782 -547
  1760. package/websql/fesm2022/cms-websql.mjs.map +1 -1
  1761. package/websql/package.json +1 -1
  1762. package/websql/types/cms-websql.d.ts +116 -81
  1763. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-BZ_8Wszm.mjs +31 -0
  1764. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-BZ_8Wszm.mjs.map +1 -0
  1765. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-BHOthv8D.mjs +31 -0
  1766. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-BHOthv8D.mjs.map +1 -0
  1767. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-DQHAWMAn.mjs +21 -0
  1768. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-DQHAWMAn.mjs.map +1 -0
  1769. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-BEjzJaYK.mjs +21 -0
  1770. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-BEjzJaYK.mjs.map +1 -0
  1771. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-D-Svaf29.mjs +26 -0
  1772. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-D-Svaf29.mjs.map +1 -0
  1773. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-BcXozpEr.mjs +26 -0
  1774. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-BcXozpEr.mjs.map +1 -0
  1775. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-ZddUojcu.mjs +26 -0
  1776. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-ZddUojcu.mjs.map +1 -0
  1777. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-CLBkdREb.mjs +26 -0
  1778. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-CLBkdREb.mjs.map +1 -0
  1779. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-MIIrwTKe.mjs +35 -0
  1780. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-MIIrwTKe.mjs.map +1 -0
  1781. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-CAzMj6mG.mjs +35 -0
  1782. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-CAzMj6mG.mjs.map +1 -0
  1783. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-9SU8SXqe.mjs +36 -0
  1784. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-9SU8SXqe.mjs.map +1 -0
  1785. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.controller.ts.de-DE.i18n.data-DWkCO4b3.mjs +16 -0
  1786. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.controller.ts.de-DE.i18n.data-DWkCO4b3.mjs.map +1 -0
  1787. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.controller.ts.en-US.i18n.data-1efjXDg3.mjs +16 -0
  1788. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.controller.ts.en-US.i18n.data-1efjXDg3.mjs.map +1 -0
  1789. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.controller.ts.pl-PL.i18n.data-BL7CXw7z.mjs +16 -0
  1790. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.controller.ts.pl-PL.i18n.data-BL7CXw7z.mjs.map +1 -0
  1791. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-backoffice.component.html.de-DE.i18n.data-BIKNygMW.mjs +35 -0
  1792. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-backoffice.component.html.de-DE.i18n.data-BIKNygMW.mjs.map +1 -0
  1793. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-backoffice.component.html.en-US.i18n.data-D9oVvT_M.mjs +35 -0
  1794. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-backoffice.component.html.en-US.i18n.data-D9oVvT_M.mjs.map +1 -0
  1795. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-backoffice.component.html.pl-PL.i18n.data-CT3qblPQ.mjs +35 -0
  1796. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-backoffice.component.html.pl-PL.i18n.data-CT3qblPQ.mjs.map +1 -0
  1797. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-backoffice.component.ts.de-DE.i18n.data-DDALCZn_.mjs +27 -0
  1798. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-backoffice.component.ts.de-DE.i18n.data-DDALCZn_.mjs.map +1 -0
  1799. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-backoffice.component.ts.en-US.i18n.data-DH2B4_Ja.mjs +27 -0
  1800. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-backoffice.component.ts.en-US.i18n.data-DH2B4_Ja.mjs.map +1 -0
  1801. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-backoffice.component.ts.pl-PL.i18n.data-BdEFeTQw.mjs +27 -0
  1802. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-backoffice.component.ts.pl-PL.i18n.data-BdEFeTQw.mjs.map +1 -0
  1803. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-contents.component.html.de-DE.i18n.data-BBlVjzPI.mjs +27 -0
  1804. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-contents.component.html.de-DE.i18n.data-BBlVjzPI.mjs.map +1 -0
  1805. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-contents.component.html.en-US.i18n.data-IqA_nyeM.mjs +27 -0
  1806. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-contents.component.html.en-US.i18n.data-IqA_nyeM.mjs.map +1 -0
  1807. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-contents.component.html.pl-PL.i18n.data-iS1xSmiV.mjs +27 -0
  1808. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-contents.component.html.pl-PL.i18n.data-iS1xSmiV.mjs.map +1 -0
  1809. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-contents.component.ts.de-DE.i18n.data-f8Xls0R1.mjs +23 -0
  1810. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-contents.component.ts.de-DE.i18n.data-f8Xls0R1.mjs.map +1 -0
  1811. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-contents.component.ts.en-US.i18n.data-RRhO86eN.mjs +23 -0
  1812. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-contents.component.ts.en-US.i18n.data-RRhO86eN.mjs.map +1 -0
  1813. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-contents.component.ts.pl-PL.i18n.data-C3YO-MyR.mjs +23 -0
  1814. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-contents.component.ts.pl-PL.i18n.data-C3YO-MyR.mjs.map +1 -0
  1815. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-cover.component.ts.de-DE.i18n.data-KnWWyfxp.mjs +15 -0
  1816. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-cover.component.ts.de-DE.i18n.data-KnWWyfxp.mjs.map +1 -0
  1817. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-cover.component.ts.en-US.i18n.data-CD6_7sW8.mjs +15 -0
  1818. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-cover.component.ts.en-US.i18n.data-CD6_7sW8.mjs.map +1 -0
  1819. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-cover.component.ts.pl-PL.i18n.data-OV3rbs4e.mjs +15 -0
  1820. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-cover.component.ts.pl-PL.i18n.data-OV3rbs4e.mjs.map +1 -0
  1821. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.de-DE.i18n.data-GEZohFQ6.mjs +16 -0
  1822. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.de-DE.i18n.data-GEZohFQ6.mjs.map +1 -0
  1823. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-CytlMNx9.mjs +16 -0
  1824. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-CytlMNx9.mjs.map +1 -0
  1825. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-table-actions.directive.ts.de-DE.i18n.data-PyPJAezk.mjs +51 -0
  1826. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-table-actions.directive.ts.de-DE.i18n.data-PyPJAezk.mjs.map +1 -0
  1827. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-table-actions.directive.ts.en-US.i18n.data-ClZEAevP.mjs +51 -0
  1828. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-table-actions.directive.ts.en-US.i18n.data-ClZEAevP.mjs.map +1 -0
  1829. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data-BI91_5DQ.mjs +51 -0
  1830. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data-BI91_5DQ.mjs.map +1 -0
  1831. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.de-DE.i18n.data-BEFY2S-d.mjs +366 -0
  1832. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.de-DE.i18n.data-BEFY2S-d.mjs.map +1 -0
  1833. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.en-US.i18n.data-Be-Tk-ax.mjs +365 -0
  1834. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.en-US.i18n.data-Be-Tk-ax.mjs.map +1 -0
  1835. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.pl-PL.i18n.data-DbqC9UmK.mjs +366 -0
  1836. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.pl-PL.i18n.data-DbqC9UmK.mjs.map +1 -0
  1837. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.de-DE.i18n.data-Cc81EPlL.mjs +180 -0
  1838. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.de-DE.i18n.data-Cc81EPlL.mjs.map +1 -0
  1839. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.en-US.i18n.data-CC-Pddbc.mjs +176 -0
  1840. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.en-US.i18n.data-CC-Pddbc.mjs.map +1 -0
  1841. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.pl-PL.i18n.data-LMItiYze.mjs +180 -0
  1842. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.pl-PL.i18n.data-LMItiYze.mjs.map +1 -0
  1843. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-BP6mgDNt.mjs +21 -0
  1844. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-BP6mgDNt.mjs.map +1 -0
  1845. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-R_zfGgq5.mjs +21 -0
  1846. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-R_zfGgq5.mjs.map +1 -0
  1847. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-CIdrNqYb.mjs +21 -0
  1848. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-CIdrNqYb.mjs.map +1 -0
  1849. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-o77R_3mq.mjs +21 -0
  1850. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-o77R_3mq.mjs.map +1 -0
  1851. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-DknlE9xA.mjs +21 -0
  1852. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-DknlE9xA.mjs.map +1 -0
  1853. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-DTi85hnc.mjs +21 -0
  1854. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-DTi85hnc.mjs.map +1 -0
  1855. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data--Bz56M4r.mjs +21 -0
  1856. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data--Bz56M4r.mjs.map +1 -0
  1857. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.de-DE.i18n.data-Dt4NoqCt.mjs +71 -0
  1858. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.de-DE.i18n.data-Dt4NoqCt.mjs.map +1 -0
  1859. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-BIt1Tr4D.mjs +71 -0
  1860. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-BIt1Tr4D.mjs.map +1 -0
  1861. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-B3azec2V.mjs +26 -0
  1862. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-B3azec2V.mjs.map +1 -0
  1863. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-z3o5kf4w.mjs +26 -0
  1864. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-z3o5kf4w.mjs.map +1 -0
  1865. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.controller.ts.de-DE.i18n.data-17DrAbW7.mjs +16 -0
  1866. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.controller.ts.de-DE.i18n.data-17DrAbW7.mjs.map +1 -0
  1867. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.controller.ts.en-US.i18n.data-6mWhwlGc.mjs +16 -0
  1868. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.controller.ts.en-US.i18n.data-6mWhwlGc.mjs.map +1 -0
  1869. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.controller.ts.pl-PL.i18n.data-BzukIAks.mjs +16 -0
  1870. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.controller.ts.pl-PL.i18n.data-BzukIAks.mjs.map +1 -0
  1871. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.repository.ts.pl-PL.i18n.data-C08LjA_9.mjs +21 -0
  1872. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.repository.ts.pl-PL.i18n.data-C08LjA_9.mjs.map +1 -0
  1873. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.de-DE.i18n.data-BnUmcqxu.mjs +51 -0
  1874. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.de-DE.i18n.data-BnUmcqxu.mjs.map +1 -0
  1875. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.en-US.i18n.data-BI5d-l_9.mjs +50 -0
  1876. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.en-US.i18n.data-BI5d-l_9.mjs.map +1 -0
  1877. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.pl-PL.i18n.data-HkdHjxON.mjs +51 -0
  1878. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.pl-PL.i18n.data-HkdHjxON.mjs.map +1 -0
  1879. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.de-DE.i18n.data-C0OgfgMU.mjs +21 -0
  1880. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.de-DE.i18n.data-C0OgfgMU.mjs.map +1 -0
  1881. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.pl-PL.i18n.data-BZu7gvGb.mjs +21 -0
  1882. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.pl-PL.i18n.data-BZu7gvGb.mjs.map +1 -0
  1883. package/websql-prod/fesm2022/cms-websql-prod.mjs +785 -547
  1884. package/websql-prod/fesm2022/cms-websql-prod.mjs.map +1 -1
  1885. package/websql-prod/package.json +1 -1
  1886. package/websql-prod/types/cms-websql-prod.d.ts +114 -81
  1887. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.html.de-DE.i18n.data-BVtSn2fs.mjs +0 -31
  1888. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.html.de-DE.i18n.data-BVtSn2fs.mjs.map +0 -1
  1889. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.html.pl-PL.i18n.data-dwvVUvD1.mjs +0 -31
  1890. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.html.pl-PL.i18n.data-dwvVUvD1.mjs.map +0 -1
  1891. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.ts.de-DE.i18n.data-B48c-CYU.mjs +0 -21
  1892. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.ts.de-DE.i18n.data-B48c-CYU.mjs.map +0 -1
  1893. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-DsqGl3cF.mjs +0 -21
  1894. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-DsqGl3cF.mjs.map +0 -1
  1895. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-BuXLlArJ.mjs +0 -26
  1896. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-BuXLlArJ.mjs.map +0 -1
  1897. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-CoDrYDRK.mjs +0 -26
  1898. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-CoDrYDRK.mjs.map +0 -1
  1899. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-V7WX2R2o.mjs +0 -26
  1900. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-V7WX2R2o.mjs.map +0 -1
  1901. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-7gEiqQTu.mjs +0 -26
  1902. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-7gEiqQTu.mjs.map +0 -1
  1903. package/browser/fesm2022/cms-browser-taon-cms-backoffice.routes.ts.de-DE.i18n.data-DF2t3FGq.mjs +0 -31
  1904. package/browser/fesm2022/cms-browser-taon-cms-backoffice.routes.ts.de-DE.i18n.data-DF2t3FGq.mjs.map +0 -1
  1905. package/browser/fesm2022/cms-browser-taon-cms-backoffice.routes.ts.en-US.i18n.data-HaVV1PUK.mjs +0 -31
  1906. package/browser/fesm2022/cms-browser-taon-cms-backoffice.routes.ts.en-US.i18n.data-HaVV1PUK.mjs.map +0 -1
  1907. package/browser/fesm2022/cms-browser-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-CM8U1Jru.mjs +0 -31
  1908. package/browser/fesm2022/cms-browser-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-CM8U1Jru.mjs.map +0 -1
  1909. package/browser/fesm2022/cms-browser-taon-cms-category.controller.ts.de-DE.i18n.data-CmIHY-Qb.mjs +0 -16
  1910. package/browser/fesm2022/cms-browser-taon-cms-category.controller.ts.de-DE.i18n.data-CmIHY-Qb.mjs.map +0 -1
  1911. package/browser/fesm2022/cms-browser-taon-cms-category.controller.ts.en-US.i18n.data-B3p2KGMd.mjs +0 -16
  1912. package/browser/fesm2022/cms-browser-taon-cms-category.controller.ts.en-US.i18n.data-B3p2KGMd.mjs.map +0 -1
  1913. package/browser/fesm2022/cms-browser-taon-cms-category.controller.ts.pl-PL.i18n.data-BmIn1qix.mjs +0 -16
  1914. package/browser/fesm2022/cms-browser-taon-cms-category.controller.ts.pl-PL.i18n.data-BmIn1qix.mjs.map +0 -1
  1915. package/browser/fesm2022/cms-browser-taon-cms-post-details-page.component.ts.de-DE.i18n.data-DcMMeJhf.mjs +0 -16
  1916. package/browser/fesm2022/cms-browser-taon-cms-post-details-page.component.ts.de-DE.i18n.data-DcMMeJhf.mjs.map +0 -1
  1917. package/browser/fesm2022/cms-browser-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-DzObZW39.mjs +0 -16
  1918. package/browser/fesm2022/cms-browser-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-DzObZW39.mjs.map +0 -1
  1919. package/browser/fesm2022/cms-browser-taon-cms-post.component.html.de-DE.i18n.data-_sQHaM7p.mjs +0 -325
  1920. package/browser/fesm2022/cms-browser-taon-cms-post.component.html.de-DE.i18n.data-_sQHaM7p.mjs.map +0 -1
  1921. package/browser/fesm2022/cms-browser-taon-cms-post.component.html.en-US.i18n.data-CAAYTQWn.mjs +0 -325
  1922. package/browser/fesm2022/cms-browser-taon-cms-post.component.html.en-US.i18n.data-CAAYTQWn.mjs.map +0 -1
  1923. package/browser/fesm2022/cms-browser-taon-cms-post.component.html.pl-PL.i18n.data-5tuvjPPZ.mjs +0 -325
  1924. package/browser/fesm2022/cms-browser-taon-cms-post.component.html.pl-PL.i18n.data-5tuvjPPZ.mjs.map +0 -1
  1925. package/browser/fesm2022/cms-browser-taon-cms-post.component.ts.de-DE.i18n.data-PjXxw70Q.mjs +0 -175
  1926. package/browser/fesm2022/cms-browser-taon-cms-post.component.ts.de-DE.i18n.data-PjXxw70Q.mjs.map +0 -1
  1927. package/browser/fesm2022/cms-browser-taon-cms-post.component.ts.en-US.i18n.data-n_jdOSMO.mjs +0 -172
  1928. package/browser/fesm2022/cms-browser-taon-cms-post.component.ts.en-US.i18n.data-n_jdOSMO.mjs.map +0 -1
  1929. package/browser/fesm2022/cms-browser-taon-cms-post.component.ts.pl-PL.i18n.data-747DKNI9.mjs +0 -175
  1930. package/browser/fesm2022/cms-browser-taon-cms-post.component.ts.pl-PL.i18n.data-747DKNI9.mjs.map +0 -1
  1931. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-PTv8IVQS.mjs +0 -21
  1932. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-PTv8IVQS.mjs.map +0 -1
  1933. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-Sv8mvv7F.mjs +0 -21
  1934. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-Sv8mvv7F.mjs.map +0 -1
  1935. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-XC6VHQ4p.mjs +0 -70
  1936. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-XC6VHQ4p.mjs.map +0 -1
  1937. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-DdTJ6jBq.mjs +0 -70
  1938. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-DdTJ6jBq.mjs.map +0 -1
  1939. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-VmJCCpyW.mjs +0 -70
  1940. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-VmJCCpyW.mjs.map +0 -1
  1941. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-DR3QDl8i.mjs +0 -21
  1942. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-DR3QDl8i.mjs.map +0 -1
  1943. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-D6vB4Elu.mjs +0 -21
  1944. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-D6vB4Elu.mjs.map +0 -1
  1945. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.html.de-DE.i18n.data-0-FosMdd.mjs +0 -71
  1946. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.html.de-DE.i18n.data-0-FosMdd.mjs.map +0 -1
  1947. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-BRJitr3A.mjs +0 -71
  1948. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-BRJitr3A.mjs.map +0 -1
  1949. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-BWfc44Gu.mjs +0 -26
  1950. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-BWfc44Gu.mjs.map +0 -1
  1951. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-qQEyNc_O.mjs +0 -26
  1952. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-qQEyNc_O.mjs.map +0 -1
  1953. package/browser/fesm2022/cms-browser-taon-cms-tag.controller.ts.de-DE.i18n.data-C1Dm6TEf.mjs +0 -16
  1954. package/browser/fesm2022/cms-browser-taon-cms-tag.controller.ts.de-DE.i18n.data-C1Dm6TEf.mjs.map +0 -1
  1955. package/browser/fesm2022/cms-browser-taon-cms-tag.controller.ts.en-US.i18n.data-B-j9Oo0W.mjs +0 -16
  1956. package/browser/fesm2022/cms-browser-taon-cms-tag.controller.ts.en-US.i18n.data-B-j9Oo0W.mjs.map +0 -1
  1957. package/browser/fesm2022/cms-browser-taon-cms-tag.controller.ts.pl-PL.i18n.data-1Ou1o4gZ.mjs +0 -16
  1958. package/browser/fesm2022/cms-browser-taon-cms-tag.controller.ts.pl-PL.i18n.data-1Ou1o4gZ.mjs.map +0 -1
  1959. package/browser/fesm2022/cms-browser-taon-cms-tag.repository.ts.pl-PL.i18n.data-CsT5vExK.mjs +0 -21
  1960. package/browser/fesm2022/cms-browser-taon-cms-tag.repository.ts.pl-PL.i18n.data-CsT5vExK.mjs.map +0 -1
  1961. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.html.de-DE.i18n.data-D0T-rq7s.mjs +0 -46
  1962. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.html.de-DE.i18n.data-D0T-rq7s.mjs.map +0 -1
  1963. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.html.en-US.i18n.data-mZeFTFaF.mjs +0 -46
  1964. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.html.en-US.i18n.data-mZeFTFaF.mjs.map +0 -1
  1965. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.html.pl-PL.i18n.data-D7X5-yeN.mjs +0 -46
  1966. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.html.pl-PL.i18n.data-D7X5-yeN.mjs.map +0 -1
  1967. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.ts.de-DE.i18n.data-D2tZ4gOm.mjs +0 -21
  1968. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.ts.de-DE.i18n.data-D2tZ4gOm.mjs.map +0 -1
  1969. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.ts.pl-PL.i18n.data-CZxR2iCt.mjs +0 -21
  1970. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.ts.pl-PL.i18n.data-CZxR2iCt.mjs.map +0 -1
  1971. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-Cnee0qF_.mjs +0 -31
  1972. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-Cnee0qF_.mjs.map +0 -1
  1973. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-CI9R_TWY.mjs +0 -31
  1974. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-CI9R_TWY.mjs.map +0 -1
  1975. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-CuJ1DFEy.mjs +0 -21
  1976. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-CuJ1DFEy.mjs.map +0 -1
  1977. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-IX85Hp7B.mjs +0 -21
  1978. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-IX85Hp7B.mjs.map +0 -1
  1979. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-DJo4v6QY.mjs +0 -26
  1980. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-DJo4v6QY.mjs.map +0 -1
  1981. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-BY-OWFhb.mjs +0 -26
  1982. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-BY-OWFhb.mjs.map +0 -1
  1983. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-CsC2V1RP.mjs +0 -26
  1984. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-CsC2V1RP.mjs.map +0 -1
  1985. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-CnlTu58H.mjs +0 -26
  1986. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-CnlTu58H.mjs.map +0 -1
  1987. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-BbCjJoVh.mjs +0 -31
  1988. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-BbCjJoVh.mjs.map +0 -1
  1989. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-BUBi6h_q.mjs +0 -31
  1990. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-BUBi6h_q.mjs.map +0 -1
  1991. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-BJ03B4ix.mjs +0 -31
  1992. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-BJ03B4ix.mjs.map +0 -1
  1993. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.controller.ts.de-DE.i18n.data-CDUBs36X.mjs +0 -16
  1994. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.controller.ts.de-DE.i18n.data-CDUBs36X.mjs.map +0 -1
  1995. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.controller.ts.en-US.i18n.data-Ckuw2o-a.mjs +0 -16
  1996. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.controller.ts.en-US.i18n.data-Ckuw2o-a.mjs.map +0 -1
  1997. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.controller.ts.pl-PL.i18n.data-CP8q0EDA.mjs +0 -16
  1998. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.controller.ts.pl-PL.i18n.data-CP8q0EDA.mjs.map +0 -1
  1999. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-details-page.component.ts.de-DE.i18n.data-CCMZ2Grc.mjs +0 -16
  2000. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-details-page.component.ts.de-DE.i18n.data-CCMZ2Grc.mjs.map +0 -1
  2001. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-BJUC-bxd.mjs +0 -16
  2002. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-BJUC-bxd.mjs.map +0 -1
  2003. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.de-DE.i18n.data-BaPmxkoJ.mjs +0 -325
  2004. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.de-DE.i18n.data-BaPmxkoJ.mjs.map +0 -1
  2005. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.en-US.i18n.data-WYUL_IjF.mjs +0 -325
  2006. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.en-US.i18n.data-WYUL_IjF.mjs.map +0 -1
  2007. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.pl-PL.i18n.data-B1zLXqUZ.mjs +0 -325
  2008. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.pl-PL.i18n.data-B1zLXqUZ.mjs.map +0 -1
  2009. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.de-DE.i18n.data-qu1MSO3K.mjs +0 -175
  2010. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.de-DE.i18n.data-qu1MSO3K.mjs.map +0 -1
  2011. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.en-US.i18n.data-CbSJQ1ae.mjs +0 -172
  2012. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.en-US.i18n.data-CbSJQ1ae.mjs.map +0 -1
  2013. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.pl-PL.i18n.data-8FEfL47i.mjs +0 -175
  2014. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.pl-PL.i18n.data-8FEfL47i.mjs.map +0 -1
  2015. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-_vYyLJO0.mjs +0 -21
  2016. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-_vYyLJO0.mjs.map +0 -1
  2017. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-DHsO0ILx.mjs +0 -21
  2018. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-DHsO0ILx.mjs.map +0 -1
  2019. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-B6oI0NXX.mjs +0 -70
  2020. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-B6oI0NXX.mjs.map +0 -1
  2021. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-CE7oFpqW.mjs +0 -70
  2022. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-CE7oFpqW.mjs.map +0 -1
  2023. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-DN7jpzXv.mjs +0 -70
  2024. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-DN7jpzXv.mjs.map +0 -1
  2025. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-CvRKVC5m.mjs +0 -21
  2026. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-CvRKVC5m.mjs.map +0 -1
  2027. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-CJyoZejS.mjs +0 -21
  2028. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-CJyoZejS.mjs.map +0 -1
  2029. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.html.de-DE.i18n.data-jYWuVaax.mjs +0 -71
  2030. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.html.de-DE.i18n.data-jYWuVaax.mjs.map +0 -1
  2031. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-C5g2G3jI.mjs +0 -71
  2032. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-C5g2G3jI.mjs.map +0 -1
  2033. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-BfluLtxD.mjs +0 -26
  2034. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-BfluLtxD.mjs.map +0 -1
  2035. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-C2pNRLNK.mjs +0 -26
  2036. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-C2pNRLNK.mjs.map +0 -1
  2037. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.controller.ts.de-DE.i18n.data-mHMHPrI-.mjs +0 -16
  2038. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.controller.ts.de-DE.i18n.data-mHMHPrI-.mjs.map +0 -1
  2039. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.controller.ts.en-US.i18n.data-3oxZelGB.mjs +0 -16
  2040. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.controller.ts.en-US.i18n.data-3oxZelGB.mjs.map +0 -1
  2041. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.controller.ts.pl-PL.i18n.data-z6ufNE6q.mjs +0 -16
  2042. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.controller.ts.pl-PL.i18n.data-z6ufNE6q.mjs.map +0 -1
  2043. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.repository.ts.pl-PL.i18n.data-DYbKxB3P.mjs +0 -21
  2044. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.repository.ts.pl-PL.i18n.data-DYbKxB3P.mjs.map +0 -1
  2045. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.html.de-DE.i18n.data-ByAMAthp.mjs +0 -46
  2046. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.html.de-DE.i18n.data-ByAMAthp.mjs.map +0 -1
  2047. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.html.en-US.i18n.data-BN-WdlzW.mjs +0 -46
  2048. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.html.en-US.i18n.data-BN-WdlzW.mjs.map +0 -1
  2049. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.html.pl-PL.i18n.data-DzGNKH0I.mjs +0 -46
  2050. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.html.pl-PL.i18n.data-DzGNKH0I.mjs.map +0 -1
  2051. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.ts.de-DE.i18n.data-CeRmjGOX.mjs +0 -21
  2052. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.ts.de-DE.i18n.data-CeRmjGOX.mjs.map +0 -1
  2053. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.ts.pl-PL.i18n.data-BL0v395O.mjs +0 -21
  2054. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.ts.pl-PL.i18n.data-BL0v395O.mjs.map +0 -1
  2055. package/full-dts/decorators/taon-cms-authorization.d.ts +0 -49
  2056. package/full-dts/migrations/1792579000000_postPermissionInheritance.d.ts +0 -7
  2057. package/full-dts/migrations/1793043000000_postThumbnails.d.ts +0 -7
  2058. package/lib/decorators/taon-cms-authorization.d.ts +0 -48
  2059. package/lib/decorators/taon-cms-authorization.js +0 -117
  2060. package/lib/decorators/taon-cms-authorization.js.map +0 -1
  2061. package/lib/migrations/1792579000000_postPermissionInheritance.d.ts +0 -6
  2062. package/lib/migrations/1792579000000_postPermissionInheritance.js +0 -37
  2063. package/lib/migrations/1792579000000_postPermissionInheritance.js.map +0 -1
  2064. package/lib/migrations/1793043000000_postThumbnails.d.ts +0 -6
  2065. package/lib/migrations/1793043000000_postThumbnails.js +0 -35
  2066. package/lib/migrations/1793043000000_postThumbnails.js.map +0 -1
  2067. package/lib-esm/lib/decorators/taon-cms-authorization.d.ts +0 -48
  2068. package/lib-esm/lib/decorators/taon-cms-authorization.js +0 -107
  2069. package/lib-esm/lib/decorators/taon-cms-authorization.js.map +0 -1
  2070. package/lib-esm/lib/migrations/1792579000000_postPermissionInheritance.d.ts +0 -6
  2071. package/lib-esm/lib/migrations/1792579000000_postPermissionInheritance.js +0 -28
  2072. package/lib-esm/lib/migrations/1792579000000_postPermissionInheritance.js.map +0 -1
  2073. package/lib-esm/lib/migrations/1793043000000_postThumbnails.d.ts +0 -6
  2074. package/lib-esm/lib/migrations/1793043000000_postThumbnails.js +0 -26
  2075. package/lib-esm/lib/migrations/1793043000000_postThumbnails.js.map +0 -1
  2076. package/lib-prod/decorators/taon-cms-authorization.d.ts +0 -48
  2077. package/lib-prod/decorators/taon-cms-authorization.js +0 -107
  2078. package/lib-prod/decorators/taon-cms-authorization.js.map +0 -1
  2079. package/lib-prod/migrations/1792579000000_postPermissionInheritance.d.ts +0 -6
  2080. package/lib-prod/migrations/1792579000000_postPermissionInheritance.js +0 -28
  2081. package/lib-prod/migrations/1792579000000_postPermissionInheritance.js.map +0 -1
  2082. package/lib-prod/migrations/1793043000000_postThumbnails.d.ts +0 -6
  2083. package/lib-prod/migrations/1793043000000_postThumbnails.js +0 -26
  2084. package/lib-prod/migrations/1793043000000_postThumbnails.js.map +0 -1
  2085. package/ts-source/browser-code/decorators/taon-cms-authorization.ts +0 -68
  2086. package/ts-source/browser-code/migrations/1792579000000_postPermissionInheritance.ts +0 -36
  2087. package/ts-source/browser-code/migrations/1793043000000_postThumbnails.ts +0 -34
  2088. package/ts-source/browser-code-prod/decorators/taon-cms-authorization.ts +0 -68
  2089. package/ts-source/browser-code-prod/migrations/1792579000000_postPermissionInheritance.ts +0 -36
  2090. package/ts-source/browser-code-prod/migrations/1793043000000_postThumbnails.ts +0 -34
  2091. package/ts-source/websql-code/decorators/taon-cms-authorization.ts +0 -103
  2092. package/ts-source/websql-code/migrations/1792579000000_postPermissionInheritance.ts +0 -36
  2093. package/ts-source/websql-code/migrations/1793043000000_postThumbnails.ts +0 -34
  2094. package/ts-source/websql-code-prod/decorators/taon-cms-authorization.ts +0 -103
  2095. package/ts-source/websql-code-prod/migrations/1792579000000_postPermissionInheritance.ts +0 -36
  2096. package/ts-source/websql-code-prod/migrations/1793043000000_postThumbnails.ts +0 -34
  2097. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.de-DE.i18n.data-CrTGrY98.mjs +0 -31
  2098. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.de-DE.i18n.data-CrTGrY98.mjs.map +0 -1
  2099. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.pl-PL.i18n.data-C_6GO-6u.mjs +0 -31
  2100. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.pl-PL.i18n.data-C_6GO-6u.mjs.map +0 -1
  2101. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.de-DE.i18n.data-KGtM_c5b.mjs +0 -21
  2102. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.de-DE.i18n.data-KGtM_c5b.mjs.map +0 -1
  2103. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-CuPekC-p.mjs +0 -21
  2104. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-CuPekC-p.mjs.map +0 -1
  2105. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-CffxG4KA.mjs +0 -26
  2106. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-CffxG4KA.mjs.map +0 -1
  2107. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-BN0WE84V.mjs +0 -26
  2108. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-BN0WE84V.mjs.map +0 -1
  2109. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-ByT4yNe3.mjs +0 -26
  2110. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-ByT4yNe3.mjs.map +0 -1
  2111. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-CvZI0J4F.mjs +0 -26
  2112. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-CvZI0J4F.mjs.map +0 -1
  2113. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.de-DE.i18n.data-CzlFxoey.mjs +0 -31
  2114. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.de-DE.i18n.data-CzlFxoey.mjs.map +0 -1
  2115. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.en-US.i18n.data-Ddj2dMat.mjs +0 -31
  2116. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.en-US.i18n.data-Ddj2dMat.mjs.map +0 -1
  2117. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-B4LHmo9Z.mjs +0 -31
  2118. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-B4LHmo9Z.mjs.map +0 -1
  2119. package/websql/fesm2022/cms-websql-taon-cms-category.controller.ts.de-DE.i18n.data-BTSefyOU.mjs +0 -16
  2120. package/websql/fesm2022/cms-websql-taon-cms-category.controller.ts.de-DE.i18n.data-BTSefyOU.mjs.map +0 -1
  2121. package/websql/fesm2022/cms-websql-taon-cms-category.controller.ts.en-US.i18n.data-sk17Oud1.mjs +0 -16
  2122. package/websql/fesm2022/cms-websql-taon-cms-category.controller.ts.en-US.i18n.data-sk17Oud1.mjs.map +0 -1
  2123. package/websql/fesm2022/cms-websql-taon-cms-category.controller.ts.pl-PL.i18n.data-CU3deuam.mjs +0 -16
  2124. package/websql/fesm2022/cms-websql-taon-cms-category.controller.ts.pl-PL.i18n.data-CU3deuam.mjs.map +0 -1
  2125. package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.de-DE.i18n.data-Bgztmv1T.mjs +0 -16
  2126. package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.de-DE.i18n.data-Bgztmv1T.mjs.map +0 -1
  2127. package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-CP6e8qJA.mjs +0 -16
  2128. package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-CP6e8qJA.mjs.map +0 -1
  2129. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.de-DE.i18n.data-DW1n5Ozp.mjs +0 -325
  2130. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.de-DE.i18n.data-DW1n5Ozp.mjs.map +0 -1
  2131. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.en-US.i18n.data-Dzy3apgE.mjs +0 -325
  2132. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.en-US.i18n.data-Dzy3apgE.mjs.map +0 -1
  2133. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.pl-PL.i18n.data-DrmyJ9lw.mjs +0 -325
  2134. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.pl-PL.i18n.data-DrmyJ9lw.mjs.map +0 -1
  2135. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.de-DE.i18n.data-C1N9Zgdi.mjs +0 -175
  2136. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.de-DE.i18n.data-C1N9Zgdi.mjs.map +0 -1
  2137. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.en-US.i18n.data-Demtpm74.mjs +0 -172
  2138. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.en-US.i18n.data-Demtpm74.mjs.map +0 -1
  2139. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.pl-PL.i18n.data-oFM6Hko5.mjs +0 -175
  2140. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.pl-PL.i18n.data-oFM6Hko5.mjs.map +0 -1
  2141. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-D2WxrzSb.mjs +0 -21
  2142. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-D2WxrzSb.mjs.map +0 -1
  2143. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-CgoD8Vbu.mjs +0 -21
  2144. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-CgoD8Vbu.mjs.map +0 -1
  2145. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-l5tJy98a.mjs +0 -70
  2146. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-l5tJy98a.mjs.map +0 -1
  2147. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-aSYNKmBN.mjs +0 -70
  2148. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-aSYNKmBN.mjs.map +0 -1
  2149. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-BWSMhDtu.mjs +0 -70
  2150. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-BWSMhDtu.mjs.map +0 -1
  2151. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-BdZ28aPt.mjs +0 -21
  2152. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-BdZ28aPt.mjs.map +0 -1
  2153. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-Cb6fpkBc.mjs +0 -21
  2154. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-Cb6fpkBc.mjs.map +0 -1
  2155. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.de-DE.i18n.data-D3SqNlkz.mjs +0 -71
  2156. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.de-DE.i18n.data-D3SqNlkz.mjs.map +0 -1
  2157. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-bW3Mgb29.mjs +0 -71
  2158. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-bW3Mgb29.mjs.map +0 -1
  2159. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-Dv-fdvwp.mjs +0 -26
  2160. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-Dv-fdvwp.mjs.map +0 -1
  2161. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-CTV6RgOp.mjs +0 -26
  2162. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-CTV6RgOp.mjs.map +0 -1
  2163. package/websql/fesm2022/cms-websql-taon-cms-tag.controller.ts.de-DE.i18n.data-CoARqE22.mjs +0 -16
  2164. package/websql/fesm2022/cms-websql-taon-cms-tag.controller.ts.de-DE.i18n.data-CoARqE22.mjs.map +0 -1
  2165. package/websql/fesm2022/cms-websql-taon-cms-tag.controller.ts.en-US.i18n.data-CeImcANT.mjs +0 -16
  2166. package/websql/fesm2022/cms-websql-taon-cms-tag.controller.ts.en-US.i18n.data-CeImcANT.mjs.map +0 -1
  2167. package/websql/fesm2022/cms-websql-taon-cms-tag.controller.ts.pl-PL.i18n.data-Bq0l9GAF.mjs +0 -16
  2168. package/websql/fesm2022/cms-websql-taon-cms-tag.controller.ts.pl-PL.i18n.data-Bq0l9GAF.mjs.map +0 -1
  2169. package/websql/fesm2022/cms-websql-taon-cms-tag.repository.ts.pl-PL.i18n.data-BQS3WOJE.mjs +0 -21
  2170. package/websql/fesm2022/cms-websql-taon-cms-tag.repository.ts.pl-PL.i18n.data-BQS3WOJE.mjs.map +0 -1
  2171. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.de-DE.i18n.data-CdkLKona.mjs +0 -46
  2172. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.de-DE.i18n.data-CdkLKona.mjs.map +0 -1
  2173. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.en-US.i18n.data-Ccs4aAAa.mjs +0 -46
  2174. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.en-US.i18n.data-Ccs4aAAa.mjs.map +0 -1
  2175. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.pl-PL.i18n.data-BJUDZW0d.mjs +0 -46
  2176. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.pl-PL.i18n.data-BJUDZW0d.mjs.map +0 -1
  2177. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.de-DE.i18n.data-y_x66BLv.mjs +0 -21
  2178. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.de-DE.i18n.data-y_x66BLv.mjs.map +0 -1
  2179. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.pl-PL.i18n.data-CrFrEqfR.mjs +0 -21
  2180. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.pl-PL.i18n.data-CrFrEqfR.mjs.map +0 -1
  2181. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-D-t_ndXn.mjs +0 -31
  2182. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-D-t_ndXn.mjs.map +0 -1
  2183. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-Dsra3EeZ.mjs +0 -31
  2184. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-Dsra3EeZ.mjs.map +0 -1
  2185. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-DT7qFf7D.mjs +0 -21
  2186. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-DT7qFf7D.mjs.map +0 -1
  2187. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-BqRkgB92.mjs +0 -21
  2188. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-BqRkgB92.mjs.map +0 -1
  2189. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-ByVH6z2Z.mjs +0 -26
  2190. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-ByVH6z2Z.mjs.map +0 -1
  2191. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-Bs8amcIs.mjs +0 -26
  2192. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-Bs8amcIs.mjs.map +0 -1
  2193. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-DGADylre.mjs +0 -26
  2194. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-DGADylre.mjs.map +0 -1
  2195. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-Cvak6-ec.mjs +0 -26
  2196. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-Cvak6-ec.mjs.map +0 -1
  2197. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-El7DeGTg.mjs +0 -31
  2198. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-El7DeGTg.mjs.map +0 -1
  2199. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-CzYi31y6.mjs +0 -31
  2200. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-CzYi31y6.mjs.map +0 -1
  2201. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data--hNK9Xkt.mjs +0 -31
  2202. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data--hNK9Xkt.mjs.map +0 -1
  2203. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.controller.ts.de-DE.i18n.data-CExlN4WS.mjs +0 -16
  2204. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.controller.ts.de-DE.i18n.data-CExlN4WS.mjs.map +0 -1
  2205. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.controller.ts.en-US.i18n.data-B_PYr-6x.mjs +0 -16
  2206. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.controller.ts.en-US.i18n.data-B_PYr-6x.mjs.map +0 -1
  2207. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.controller.ts.pl-PL.i18n.data-mQb8xdX1.mjs +0 -16
  2208. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.controller.ts.pl-PL.i18n.data-mQb8xdX1.mjs.map +0 -1
  2209. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.de-DE.i18n.data-BLkIVWeD.mjs +0 -16
  2210. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.de-DE.i18n.data-BLkIVWeD.mjs.map +0 -1
  2211. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-CbIqWbm3.mjs +0 -16
  2212. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-CbIqWbm3.mjs.map +0 -1
  2213. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.de-DE.i18n.data-BxcX3l2T.mjs +0 -325
  2214. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.de-DE.i18n.data-BxcX3l2T.mjs.map +0 -1
  2215. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.en-US.i18n.data-g9lHRbOQ.mjs +0 -325
  2216. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.en-US.i18n.data-g9lHRbOQ.mjs.map +0 -1
  2217. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.pl-PL.i18n.data-Cg4a0vHn.mjs +0 -325
  2218. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.pl-PL.i18n.data-Cg4a0vHn.mjs.map +0 -1
  2219. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.de-DE.i18n.data-BwRnTGxe.mjs +0 -175
  2220. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.de-DE.i18n.data-BwRnTGxe.mjs.map +0 -1
  2221. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.en-US.i18n.data-R5nOhvtu.mjs +0 -172
  2222. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.en-US.i18n.data-R5nOhvtu.mjs.map +0 -1
  2223. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.pl-PL.i18n.data-VmobXbTc.mjs +0 -175
  2224. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.pl-PL.i18n.data-VmobXbTc.mjs.map +0 -1
  2225. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-CgN5IPiF.mjs +0 -21
  2226. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-CgN5IPiF.mjs.map +0 -1
  2227. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-D20weGEY.mjs +0 -21
  2228. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-D20weGEY.mjs.map +0 -1
  2229. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-B4suZvEh.mjs +0 -70
  2230. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-B4suZvEh.mjs.map +0 -1
  2231. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-BF3C9IWs.mjs +0 -70
  2232. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-BF3C9IWs.mjs.map +0 -1
  2233. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-BWwu-KCW.mjs +0 -70
  2234. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-BWwu-KCW.mjs.map +0 -1
  2235. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-5LisKXGn.mjs +0 -21
  2236. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-5LisKXGn.mjs.map +0 -1
  2237. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-CEEZs_nF.mjs +0 -21
  2238. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-CEEZs_nF.mjs.map +0 -1
  2239. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.de-DE.i18n.data-s-UFLYqy.mjs +0 -71
  2240. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.de-DE.i18n.data-s-UFLYqy.mjs.map +0 -1
  2241. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-LaD1B9nr.mjs +0 -71
  2242. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-LaD1B9nr.mjs.map +0 -1
  2243. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-DIl-O_Xe.mjs +0 -26
  2244. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-DIl-O_Xe.mjs.map +0 -1
  2245. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-D7CkcVJ3.mjs +0 -26
  2246. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-D7CkcVJ3.mjs.map +0 -1
  2247. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.controller.ts.de-DE.i18n.data-DeQB5uhd.mjs +0 -16
  2248. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.controller.ts.de-DE.i18n.data-DeQB5uhd.mjs.map +0 -1
  2249. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.controller.ts.en-US.i18n.data-Dvq54oiB.mjs +0 -16
  2250. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.controller.ts.en-US.i18n.data-Dvq54oiB.mjs.map +0 -1
  2251. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.controller.ts.pl-PL.i18n.data-CXyb5AME.mjs +0 -16
  2252. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.controller.ts.pl-PL.i18n.data-CXyb5AME.mjs.map +0 -1
  2253. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.repository.ts.pl-PL.i18n.data-xYvTZmo4.mjs +0 -21
  2254. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.repository.ts.pl-PL.i18n.data-xYvTZmo4.mjs.map +0 -1
  2255. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.de-DE.i18n.data-BkJG3Jev.mjs +0 -46
  2256. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.de-DE.i18n.data-BkJG3Jev.mjs.map +0 -1
  2257. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.en-US.i18n.data-D5F4Gof4.mjs +0 -46
  2258. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.en-US.i18n.data-D5F4Gof4.mjs.map +0 -1
  2259. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.pl-PL.i18n.data-CupgNbP7.mjs +0 -46
  2260. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.pl-PL.i18n.data-CupgNbP7.mjs.map +0 -1
  2261. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.de-DE.i18n.data-O04abirC.mjs +0 -21
  2262. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.de-DE.i18n.data-O04abirC.mjs.map +0 -1
  2263. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.pl-PL.i18n.data-BIhfEto8.mjs +0 -21
  2264. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.pl-PL.i18n.data-BIhfEto8.mjs.map +0 -1
  2265. /package/ts-source/browser-code-prod/{decorators/taon-cms-authorization.split-namespaces.json → taon-cms-content/taon-cms-template-variables.split-namespaces.json} +0 -0
  2266. /package/ts-source/browser-code-prod/{migrations/1792579000000_postPermissionInheritance.split-namespaces.json → taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.translation.split-namespaces.json} +0 -0
  2267. /package/ts-source/browser-code-prod/{migrations/1793043000000_postThumbnails.split-namespaces.json → taon-posts/taon-cms-course-backoffice/index.split-namespaces.json} +0 -0
  2268. /package/ts-source/{websql-code-prod/decorators/taon-cms-authorization.split-namespaces.json → browser-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.split-namespaces.json} +0 -0
  2269. /package/ts-source/{websql-code-prod/migrations/1792579000000_postPermissionInheritance.split-namespaces.json → browser-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.models.split-namespaces.json} +0 -0
  2270. /package/ts-source/{websql-code-prod/migrations/1793043000000_postThumbnails.split-namespaces.json → browser-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.routes.split-namespaces.json} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"cms-browser.mjs","sources":["../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content/taon-cms-content.models.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content/taon-cms-content.entity.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-application-hook/taon-cms-application-hook.entity.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-application-hooks.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/migrations/1792506757808_applicaitonHooks.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/migrations/1792579000000_postPermissionInheritance.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/migrations/1793043000000_postThumbnails.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/migrations/migrations_index._auto-generated_.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/migrations/index.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/build-info._auto-generated_.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/start-cli.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-category/taon-cms-category.entity.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/decorators/taon-cms-authorization.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-category/taon-cms-category.repository.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-category/taon-cms-category.controller.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-category/taon-cms-category.provider.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-category/taon-cms-category.middleware.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-category/taon-cms-category.subscriber.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-category/taon-cms-category.abstract.context.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-comment/taon-cms-comment.entity.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-comment/taon-cms-comment.repository.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-comment/taon-cms-comment.controller.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-comment/taon-cms-comment.provider.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-comment/taon-cms-comment.middleware.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-comment/taon-cms-comment.subscriber.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-comment/taon-cms-comment.abstract.context.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-revision/taon-cms-content-revision.entity.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-revision/taon-cms-content-revision.repository.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-revision/taon-cms-content-revision.controller.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-revision/taon-cms-content-revision.provider.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-revision/taon-cms-content-revision.middleware.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-revision/taon-cms-content-revision.subscriber.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-revision/taon-cms-content-revision.abstract.context.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-tag/taon-cms-content-tag.entity.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-tag/taon-cms-content-tag.repository.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-tag/taon-cms-content-tag.controller.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-tag/taon-cms-content-tag.provider.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-tag/taon-cms-content-tag.middleware.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-tag/taon-cms-content-tag.subscriber.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-tag/taon-cms-content-tag.abstract.context.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-tag/taon-cms-tag.entity.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-tag/taon-cms-tag.repository.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-tag/taon-cms-tag.controller.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-tag/taon-cms-tag.provider.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-tag/taon-cms-tag.middleware.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-tag/taon-cms-tag.subscriber.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-tag/taon-cms-tag.abstract.context.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content/taon-cms-content.validation.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content/taon-cms-content.repository.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content/taon-cms-content-storage.controller.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content/taon-cms-content.controller.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content/taon-cms-content.middleware.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content/taon-cms-content.provider.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content/taon-cms-content.subscriber.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content/taon-cms-content.abstract.context.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-asset/taon-cms-content-asset.entity.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-asset/taon-cms-content-asset.repository.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-asset/taon-cms-content-asset.controller.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-asset/taon-cms-content-asset.provider.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-asset/taon-cms-content-asset.middleware.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-asset/taon-cms-content-asset.subscriber.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-asset/taon-cms-content-asset.abstract.context.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-permission/taon-cms-content-permission.entity.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-permission/taon-cms-content-permission.repository.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-permission/taon-cms-content-permission.controller.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-permission/taon-cms-content-permission.provider.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-permission/taon-cms-content-permission.middleware.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-permission/taon-cms-content-permission.subscriber.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-permission/taon-cms-content-permission.abstract.context.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms.abstract.context.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content/taon-cms-upload-progress.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content/taon-cms-content-api.service.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-assets-backoffice/taon-cms-asset-preview.component.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-assets-backoffice/taon-cms-asset-preview.component.html","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.routes.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-backoffice/taon-cms-backoffice.component.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-backoffice/taon-cms-backoffice.component.html","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-backoffice/taon-cms-backoffice.routes.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-category/taon-cms-category-api.service.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-category/taon-cms-category.constants.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-category/taon-cms-category.models.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-category/taon-cms-category.utils.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-category/taon-cms-taxonomy.validation.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-comment/taon-cms-comment-api.service.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-comment/taon-cms-comment.constants.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-comment/taon-cms-comment.models.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-comment/taon-cms-comment.utils.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content/taon-cms-content.config.service.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content/taon-cms-content.constants.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content/taon-cms-content.utils.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-asset/taon-cms-content-asset-api.service.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-asset/taon-cms-content-asset.constants.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-asset/taon-cms-content-asset.models.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-asset/taon-cms-content-asset.utils.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-permission/taon-cms-content-permission-api.service.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-permission/taon-cms-content-permission.constants.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-permission/taon-cms-content-permission.models.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-permission/taon-cms-content-permission.utils.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-revision/taon-cms-content-revision-api.service.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-revision/taon-cms-content-revision.constants.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-revision/taon-cms-content-revision.models.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-revision/taon-cms-content-revision.utils.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-tag/taon-cms-content-tag-api.service.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-tag/taon-cms-content-tag.constants.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-tag/taon-cms-content-tag.models.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-tag/taon-cms-content-tag.utils.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-tag/taon-cms-tag-api.service.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-tag/taon-cms-tag.constants.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-tag/taon-cms-tag.models.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-tag/taon-cms-tag.utils.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.html","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.routes.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-posts/taon-cms-post/taon-cms-editable.directive.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.html","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.html","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-posts/taon-cms-post/taon-cms-thumbnail.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-posts/taon-cms-post/taon-cms-post.component.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-posts/taon-cms-post/taon-cms-post.component.html","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-posts/taon-cms-post/taon-cms-post.routes.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-posts/taon-cms-post-details-page/taon-cms-post-details-page.component.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.html","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/index._auto-generated_.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/index.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/cms-browser.ts"],"sourcesContent":["import { TaonPermissionEntity } from '@taon-dev/session/browser';\n\nexport enum TaonCmsContentType {\n Normal = 'normal',\n Video = 'video',\n Audio = 'audio',\n Attachment = 'attachment',\n}\n\nexport enum TaonCmsContentState {\n Active = 'active',\n Inactive = 'inactive',\n}\n\nexport interface TaonCmsContentFields {\n type: TaonCmsContentType;\n title: string;\n slug: string;\n body: string | null;\n videoKey: string | null;\n audioKey: string | null;\n attachmentKey: string | null;\n thumbnailKey: string | null;\n excerpt: string | null;\n categoryId: number | null;\n authorUserId: number | null;\n status: 'draft' | 'published' | 'archived';\n publishedAt: Date | null;\n applyPermissionsToRelatedPosts: boolean;\n}\n\nexport interface TaonCmsPermissionConfiguration {\n permissions: TaonPermissionEntity[];\n source: { id: number; title: string } | null;\n}\n\nexport interface TaonCmsCreateContent\n extends\n Pick<TaonCmsContentFields, 'title' | 'slug'>,\n Partial<Omit<TaonCmsContentFields, 'title' | 'slug'>> {\n tagIds?: number[];\n relatedPostIds?: number[];\n permissionIds?: number[];\n applicationHook?: TaonCmsApplicationHook | null;\n}\n\nexport interface TaonCmsUpdateContent extends Partial<TaonCmsContentFields> {\n tagIds?: number[];\n relatedPostIds?: number[];\n permissionIds?: number[];\n applicationHook?: TaonCmsApplicationHook | null;\n expectedVersion: number;\n}\n\nexport interface TaonCmsRestoreContent {\n revisionNumber: number;\n expectedVersion: number;\n}\n\nexport interface TaonCmsContentSnapshot extends TaonCmsContentFields {\n tagIds: number[];\n relatedPostIds?: number[];\n permissionIds: number[];\n}\nimport type { TaonCmsApplicationHook } from '../taon-cms-application-hooks';\n","//#region imports\nimport {\n Column,\n JoinTable,\n ManyToMany,\n OneToOne,\n CustomColumn,\n PrimaryGeneratedColumn,\n Taon,\n TaonBaseAbstractEntity,\n TaonBaseEntity,\n TaonEntity,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\nimport { TaonPermissionEntity } from '@taon-dev/session/browser';\n\nimport { TaonCmsApplicationHookEntity } from '../taon-cms-application-hook/taon-cms-application-hook.entity';\n\nimport { TaonCmsContentDefaultsValues } from './taon-cms-content.constants';\nimport { TaonCmsContentType } from './taon-cms-content.models';\n//#endregion\n\n@TaonEntity({\n className: 'TaonCmsContentEntity',\n createTable: true,\n})\nexport class TaonCmsContentEntity extends TaonBaseEntity<TaonCmsContentEntity> {\n/* */\n/* */\n \n id: number;\n\n/* */\n/* */\n \n version: number;\n\n/* */\n/* */\n \n type: TaonCmsContentType = TaonCmsContentType.Normal;\n\n/* */\n/* */\n \n title: string;\n\n/* */\n/* */\n \n slug: string;\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n relatedPosts: TaonCmsContentEntity[];\n\n/* */\n/* */\n/* */\n/* */\n/* */\n \n applicationHook: TaonCmsApplicationHookEntity | null;\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n permissions: TaonPermissionEntity[];\n\n/* */\n/* */\n \n applyPermissionsToRelatedPosts: boolean = false;\n\n/* */\n/* */\n \n excerpt: string | null;\n\n/* */\n/* */\n \n body: string | null;\n\n/* */\n/* */\n \n videoKey: string | null = null;\n\n/* */\n/* */\n \n audioKey: string | null = null;\n\n/* */\n/* */\n \n attachmentKey: string | null = null;\n\n/* */\n/* */\n \n thumbnailKey: string | null = null;\n\n/* */\n/* */\n \n categoryId: number | null;\n\n/* */\n/* */\n \n authorUserId: number | null;\n\n/* */\n/* */\n \n status: string;\n // draft | published | archived\n\n/* */\n/* */\n \n publishedAt: Date | null;\n\n/* */\n/* */\n \n createdAt: Date;\n\n/* */\n/* */\n \n updatedAt: Date;\n}\n","import {\n Column,\n JoinColumn,\n OneToOne,\n PrimaryGeneratedColumn,\n TaonBaseEntity,\n TaonEntity,\n} from 'taon/browser';\n\nimport type { TaonCmsApplicationHook } from '../taon-cms-application-hooks';\nimport { TaonCmsContentEntity } from '../taon-cms-content/taon-cms-content.entity';\n\n@TaonEntity({\n className: 'TaonCmsApplicationHookEntity',\n createTable: true,\n})\nexport class TaonCmsApplicationHookEntity extends TaonBaseEntity<TaonCmsApplicationHookEntity> {\n @PrimaryGeneratedColumn()\n id: number;\n\n @Column({ type: 'varchar', unique: true })\n hook: TaonCmsApplicationHook;\n\n @Column({ type: 'integer', nullable: true, unique: true })\n contentId: number | null;\n\n @OneToOne(\n () => TaonCmsContentEntity,\n content => content.applicationHook,\n { nullable: true, onDelete: 'SET NULL' },\n )\n @JoinColumn({ name: 'contentId', referencedColumnName: 'id' })\n content: TaonCmsContentEntity | null;\n}\n","export const TaonCmsApplicationHook = {\n HOME_HERO: 'home-hero',\n HOME_FEATURED_POST: 'home-featured-post',\n SHOP_PROMOTION: 'shop-promotion',\n LOGIN_INFO: 'login-info',\n FOOTER_ABOUT: 'footer-about',\n} as const;\n\nexport type TaonCmsApplicationHook =\n (typeof TaonCmsApplicationHook)[keyof typeof TaonCmsApplicationHook];\n","import { TaonCmsContentEntity } from '../taon-cms-content/taon-cms-content.entity';\nimport { ClassHelpers, TaonBaseMigration, TaonMigration } from 'taon/browser';\nimport { QueryRunner, Table } from 'taon-typeorm/browser';\n\nimport { TaonCmsApplicationHookEntity } from '../taon-cms-application-hook/taon-cms-application-hook.entity';\nimport { TaonCmsApplicationHook } from '../taon-cms-application-hooks';\n\n//#region Migration class for context \"CmsContext\"\n@TaonMigration({\n className: 'CmsContext_1792506757808_applicaitonHooks',\n})\nexport class CmsContext_1792506757808_applicaitonHooks extends TaonBaseMigration {\n APPLICATION_HOOK_TABLE = ClassHelpers.getName(TaonCmsApplicationHookEntity);\n\n CONTENT_TABLE = ClassHelpers.getName(TaonCmsContentEntity);\n\n //#region up\n async up(queryRunner: QueryRunner): Promise<any> {\n await queryRunner.startTransaction();\n try {\n if (!(await queryRunner.hasTable(this.APPLICATION_HOOK_TABLE))) {\n await queryRunner.createTable(\n new Table({\n name: this.APPLICATION_HOOK_TABLE,\n columns: [\n {\n name: 'id',\n type: 'integer',\n isPrimary: true,\n isGenerated: true,\n generationStrategy: 'increment',\n },\n { name: 'hook', type: 'varchar', isUnique: true },\n {\n name: 'contentId',\n type: 'integer',\n isNullable: true,\n isUnique: true,\n },\n ],\n foreignKeys: [\n {\n columnNames: ['contentId'],\n referencedTableName: this.CONTENT_TABLE,\n referencedColumnNames: ['id'],\n onDelete: 'SET NULL',\n },\n ],\n }),\n true,\n );\n }\n\n await this.persistApplicationHooks(queryRunner);\n await queryRunner.commitTransaction();\n } catch (error) {\n console.error('Error in migration:', error);\n await queryRunner.rollbackTransaction();\n throw error;\n }\n }\n //#endregion\n\n //#region down\n async down(queryRunner: QueryRunner): Promise<any> {\n if (await queryRunner.hasTable(this.APPLICATION_HOOK_TABLE)) {\n await queryRunner.dropTable(this.APPLICATION_HOOK_TABLE, true);\n }\n }\n //#endregion\n\n private async persistApplicationHooks(\n queryRunner: QueryRunner,\n ): Promise<void> {\n const repository = queryRunner.manager.getRepository(\n TaonCmsApplicationHookEntity,\n );\n for (const hook of Object.values(TaonCmsApplicationHook)) {\n if (!(await repository.findOneBy({ hook }))) {\n await repository.save(repository.create({ hook, contentId: null }));\n }\n }\n }\n}\n//#endregion\n","import { ClassHelpers, TaonBaseMigration, TaonMigration } from 'taon/browser';\nimport { QueryRunner, TableColumn } from 'taon-typeorm/browser';\n\nimport { TaonCmsContentEntity } from '../taon-cms-content/taon-cms-content.entity';\n\n@TaonMigration({\n className: 'CmsContext_1792579000000_postPermissionInheritance',\n})\nexport class CmsContext_1792579000000_postPermissionInheritance extends TaonBaseMigration {\n async up(queryRunner: QueryRunner): Promise<void> {\n const table = ClassHelpers.getName(TaonCmsContentEntity);\n if (\n !(await queryRunner.hasColumn(table, 'applyPermissionsToRelatedPosts'))\n ) {\n await queryRunner.addColumn(\n table,\n new TableColumn({\n name: 'applyPermissionsToRelatedPosts',\n type: 'boolean',\n default: false,\n }),\n );\n }\n }\n\n async down(queryRunner: QueryRunner): Promise<void> {\n const table = ClassHelpers.getName(TaonCmsContentEntity);\n if (await queryRunner.hasColumn(table, 'applyPermissionsToRelatedPosts')) {\n await queryRunner.dropColumn(table, 'applyPermissionsToRelatedPosts');\n }\n }\n}\n","import { ClassHelpers, TaonBaseMigration, TaonMigration } from 'taon/browser';\nimport { QueryRunner, TableColumn } from 'taon-typeorm/browser';\n\nimport { TaonCmsContentEntity } from '../taon-cms-content/taon-cms-content.entity';\n\n@TaonMigration({ className: 'CmsContext_1793043000000_postThumbnails' })\nexport class CmsContext_1793043000000_postThumbnails extends TaonBaseMigration {\n async up(queryRunner: QueryRunner): Promise<void> {\n const table = ClassHelpers.getName(TaonCmsContentEntity);\n if (!(await queryRunner.hasColumn(table, 'thumbnailKey'))) {\n await queryRunner.addColumn(\n table,\n new TableColumn({\n name: 'thumbnailKey',\n type: 'varchar',\n isNullable: true,\n }),\n );\n }\n }\n\n async down(queryRunner: QueryRunner): Promise<void> {\n const table = ClassHelpers.getName(TaonCmsContentEntity);\n if (await queryRunner.hasColumn(table, 'thumbnailKey')) {\n await queryRunner.dropColumn(table, 'thumbnailKey');\n }\n }\n}\n","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CmsContext_1792506757808_applicaitonHooks } from './1792506757808_applicaitonHooks';\nimport { CmsContext_1792579000000_postPermissionInheritance } from './1792579000000_postPermissionInheritance';\nimport { CmsContext_1793043000000_postThumbnails } from './1793043000000_postThumbnails';\n// THIS FILE IS GENERATED - DO NOT MODIFY\nexport const MIGRATIONS_CLASSES_FOR_CmsContext = {\n /* 20-10-2026 16:32:37 */ CmsContext_1792506757808_applicaitonHooks,\n /* 21-10-2026 12:36:40 */ CmsContext_1792579000000_postPermissionInheritance,\n /* 26-10-2026 20:30:00 */ CmsContext_1793043000000_postThumbnails,\n};\n// THIS FILE IS GENERATED - DO NOT MODIFY\n","//@ts-nocheck\nexport * from './migrations_index._auto-generated_';\nexport * from './1792579000000_postPermissionInheritance';\nexport * from './1793043000000_postThumbnails';\n\nimport { MIGRATIONS_CLASSES_FOR_CmsContext as generatedMigrations } from './migrations_index._auto-generated_';\nimport { CmsContext_1792579000000_postPermissionInheritance } from './1792579000000_postPermissionInheritance';\nimport { CmsContext_1793043000000_postThumbnails } from './1793043000000_postThumbnails';\n\nexport const MIGRATIONS_CLASSES_FOR_CmsContext = {\n ...generatedMigrations,\n CmsContext_1792579000000_postPermissionInheritance,\n CmsContext_1793043000000_postThumbnails,\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.cms';\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/cms';\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.18';\n\n\n\n\n\n// THIS FILE IS GENERATED - DO NOT MODIFY\n ","//#region tnp-helpers cli template\nimport { UtilsJson } from 'tnp-core/browser';\nimport { Helpers, BaseCommandLineFeature } from 'tnp-helpers/browser';\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.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;\n","//#region imports\nimport {\n Column,\n CustomColumn,\n Taon,\n TaonBaseAbstractEntity,\n TaonEntity,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonCmsCategoryDefaultsValues } from './taon-cms-category.constants';\n//#endregion\n\n@TaonEntity({\n className: 'TaonCmsCategoryEntity',\n createTable: true,\n})\nexport class TaonCmsCategoryEntity extends TaonBaseAbstractEntity<TaonCmsCategoryEntity> {\n/* */\n/* */\n \n parentCategoryId: number | null;\n\n/* */\n/* */\n \n name: string;\n\n/* */\n/* */\n \n slug: string;\n\n/* */\n/* */\n \n description: string | null;\n\n/* */\n/* */\n \n sortOrder: number;\n}\n","//#region taon auth decorator\n\nimport { MIGRATIONS_CLASSES_FOR_SessionContext } from '@taon-dev/session/browser';\nimport {\n TaonAuthContextEntity as TaonAuthContextEntityBase,\n TaonAuthContextHasAccess as TaonAuthContextHasAccessBase,\n TaonSessionCoreAuthorization as TaonSessionCoreAuthorizationBase,\n TaonSessionCoreGroups as TaonSessionCoreGroupsBase,\n TaonSessionCorePermissions as TaonSessionCorePermissionsBase,\n TaonSessionCoreRoles as TaonSessionCoreRolesBase,\n TaonAuthContextRepository as TaonAuthContextRepositoryBase,\n} from '@taon-dev/session/browser';\nimport { TaonEntity, TaonMigration, TaonRepository } from 'taon/browser';\n\nexport const TaonSessionCoreGroups = {\n ...TaonSessionCoreGroupsBase,\n Manager: 'manager',\n};\n\nexport const TaonSessionCoreRoles = {\n ...TaonSessionCoreRolesBase,\n /**\n * Can manage roles and permissions assigned directly to users.\n * Does NOT allow changing user groups.\n */\n PostsManager: 'posts-manager',\n\n PremiumUser1: 'premium-user-1',\n PremiumUser2: 'premium-user-2',\n};\n\nexport const TaonSessionCorePermissions = {\n ...TaonSessionCorePermissionsBase,\n ViewPrivateVideo1: 'view-private-video-1',\n ViewPrivateVideo2: 'view-private-video-2',\n};\n\nexport interface TaonSessionCoreAuthorization extends TaonSessionCoreAuthorizationBase {\n groups: typeof TaonSessionCoreGroups;\n roles: typeof TaonSessionCoreRoles;\n permissions: typeof TaonSessionCorePermissions;\n}\n\n@TaonEntity<TaonAuthContextEntity>({\n className: 'TaonAuthContextEntity',\n createTable: false,\n})\nexport class TaonAuthContextEntity extends TaonAuthContextEntityBase {\n declare snapshoot: Partial<TaonAuthContextHasAccess>;\n\n // @ts-ignore\n get hasAccess(): TaonAuthContextHasAccess {\n return this.injectClass<TaonAuthContextHasAccess, [TaonAuthContextEntity]>(\n TaonAuthContextHasAccess as any,\n this,\n ) as any;\n }\n}\n\nexport class TaonAuthContextHasAccess extends TaonAuthContextHasAccessBase {\n // @ts-ignore\n declare protected context: TaonAuthContextEntity;\n\n get toManagePosts(): boolean {\n //#region @browserFunc\n return this.context.snapshoot.toManagePosts;\n //#endregion\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}\n\n@TaonRepository({\n className: 'TaonAuthContextRepository',\n})\nexport class TaonAuthContextRepository extends TaonAuthContextRepositoryBase<\n TaonSessionCoreAuthorization,\n // @ts-ignore\n TaonAuthContextEntity\n> {\n // @ts-ignore\n entityClassResolveFn = () => TaonAuthContextEntity;\n}\n\n@TaonMigration({\n className: 'CmsContext_1791132517217_initial',\n})\nexport class CmsContext_1791132517217_initial\n extends MIGRATIONS_CLASSES_FOR_SessionContext.SessionContext_1791132517216_initial\n{\n protected async persistTree(): 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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}\n//#endregion\n","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\nimport type { EntityManager } from 'taon-typeorm/browser';\nimport { contentError } from '../taon-cms-content/taon-cms-content.validation';\n\nimport { TaonCmsCategoryEntity } from './taon-cms-category.entity';\nimport { TaonCmsContentEntity } from '../taon-cms-content/taon-cms-content.entity';\nimport { requireContentId } from '../taon-cms-content/taon-cms-content.validation';\nimport {\n TaonCmsCategoryFields,\n validateCategoryHierarchy,\n validateTaxonomy,\n} from './taon-cms-taxonomy.validation';\n//#endregion\n\nconst t = Translation.for('src/lib/taon-cms-category/taon-cms-category.repository.ts', {\"src/lib/taon-cms-category/taon-cms-category.controller.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-category.controller.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-category.controller.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-category.controller.ts.de-DE.i18n.data')).default},\"src/lib/taon-cms-category/taon-cms-category.repository.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-category.repository.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-category.repository.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-category.repository.ts.de-DE.i18n.data')).default},\"src/lib/taon-cms-category/taon-cms-taxonomy.validation.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-taxonomy.validation.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-taxonomy.validation.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-taxonomy.validation.ts.de-DE.i18n.data')).default}} as any);\n\n@TaonRepository({\n className: 'TaonCmsCategoryRepository',\n})\nexport class TaonCmsCategoryRepository extends TaonBaseRepository<TaonCmsCategoryEntity> {\n entityClassResolveFn: () => typeof TaonCmsCategoryEntity = () =>\n TaonCmsCategoryEntity;\n\n async saveCategory(\n id: number | null,\n input: TaonCmsCategoryFields,\n ): Promise<TaonCmsCategoryEntity> {\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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async deleteCategory(id: number): Promise<void> {\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 requireCategory(id: number, manager: EntityManager): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}\n","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n POST,\n DELETE,\n Body,\n Models,\n} from 'taon/browser';\nimport { TaonSessionRepository } from '@taon-dev/session/browser';\nimport { TaonAuthContextRepository } from '../decorators/taon-cms-authorization';\nimport { contentError } from '../taon-cms-content/taon-cms-content.validation';\nimport type { TaonCmsCategoryFields } from './taon-cms-taxonomy.validation';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonCmsCategoryEntity } from './taon-cms-category.entity';\nimport { TaonCmsCategoryRepository } from './taon-cms-category.repository';\n//#endregion\n\n@TaonController<TaonCmsCategoryController>({\n className: 'TaonCmsCategoryController',\n allowedMethods: ['getAll', 'saveCategory', 'deleteCategory'],\n})\nexport class TaonCmsCategoryController extends TaonBaseCrudController<TaonCmsCategoryEntity> {\n entityClassResolveFn: () => typeof TaonCmsCategoryEntity = () =>\n TaonCmsCategoryEntity;\n\n taonCmsCategoryRepository = this.injectCustomRepo(TaonCmsCategoryRepository);\n\n private readonly sessions = this.injectCustomRepo(TaonSessionRepository);\n private readonly auth = this.injectCustomRepo(TaonAuthContextRepository);\n\n protected async beforeEachRequest({\n req,\n res,\n t,\n }: Models.TaonCtrlBeforeEachRequestParams<TaonCmsCategoryController>): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n @POST()\n saveCategory(\n @Query('id') id: number | null,\n @Body() input: TaonCmsCategoryFields,\n ): Taon.Response<TaonCmsCategoryEntity> {\n/* */\n/* */\n return (void 0);\n }\n\n @DELETE()\n deleteCategory(@Query('id') id: number): Taon.Response<void> {\n/* */\n/* */\n return (void 0);\n }\n}\n","//#region imports\nimport { Taon, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\nimport { Injectable } from '@angular/core';\n//#endregion\n\n@TaonProvider({\n className: 'TaonCmsCategoryProvider',\n})\n//#region @browser\n@Injectable()\n//#endregion\nexport class TaonCmsCategoryProvider extends TaonBaseProvider {\n\n\n\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonCmsCategoryMiddleware',\n})\nexport class TaonCmsCategoryMiddleware extends TaonBaseMiddleware {}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonCmsCategoryEntity } from './taon-cms-category.entity';\nimport { TaonCmsCategoryProvider } from './taon-cms-category.provider';\n//#endregion\n\n@TaonSubscriber<TaonCmsCategorySubscriber>({\n className: 'TaonCmsCategorySubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonCmsCategorySubscriber extends TaonBaseSubscriberForEntity {\n taonCmsCategoryProvider = this.injectProvider(TaonCmsCategoryProvider);\n listenTo(): typeof TaonCmsCategoryEntity {\n return TaonCmsCategoryEntity;\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonCmsCategoryEntity } from './taon-cms-category.entity';\nimport { TaonCmsCategoryController } from './taon-cms-category.controller';\nimport { TaonCmsCategoryRepository } from './taon-cms-category.repository';\nimport { TaonCmsCategoryProvider } from './taon-cms-category.provider';\nimport { TaonCmsCategoryMiddleware } from './taon-cms-category.middleware';\nimport { TaonCmsCategorySubscriber } from './taon-cms-category.subscriber';\n//#endregion\n\nexport const TaonCmsCategoryAbstractContext = createContext(() => ({\n contextName: 'TaonCmsCategoryAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonCmsCategoryEntity },\n controllers: { TaonCmsCategoryController },\n repositories: { TaonCmsCategoryRepository },\n providers: { TaonCmsCategoryProvider },\n middlewares: { TaonCmsCategoryMiddleware },\n subscribers: { TaonCmsCategorySubscriber },\n}));\n","//#region imports\nimport {\n Column,\n CustomColumn,\n PrimaryGeneratedColumn,\n Taon,\n TaonBaseAbstractEntity,\n TaonBaseEntity,\n TaonEntity,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonCmsCommentDefaultsValues } from './taon-cms-comment.constants';\n//#endregion\n\n@TaonEntity({\n className: 'TaonCmsCommentEntity',\n createTable: true,\n})\nexport class TaonCmsCommentEntity extends TaonBaseEntity<TaonCmsCommentEntity> {\n/* */\n/* */\n \n id: number;\n\n/* */\n/* */\n \n version: number;\n\n/* */\n/* */\n \n contentId: number;\n\n/* */\n/* */\n \n parentCommentId: number | null;\n\n/* */\n/* */\n \n userId: number | null;\n\n/* */\n/* */\n \n body: string;\n\n/* */\n/* */\n \n status: string;\n\n/* */\n/* */\n \n createdAt: Date;\n\n/* */\n/* */\n \n updatedAt: Date;\n}\n","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\n\nimport { TaonCmsCommentEntity } from './taon-cms-comment.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonCmsCommentRepository',\n})\nexport class TaonCmsCommentRepository extends TaonBaseRepository<TaonCmsCommentEntity> {\n entityClassResolveFn: () => typeof TaonCmsCommentEntity = () => TaonCmsCommentEntity;\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonCmsCommentEntity } from './taon-cms-comment.entity';\nimport { TaonCmsCommentRepository } from './taon-cms-comment.repository';\n//#endregion\n\n@TaonController<TaonCmsCommentController>({\n className: 'TaonCmsCommentController',\n allowedMethods: []\n})\nexport class TaonCmsCommentController extends TaonBaseCrudController<TaonCmsCommentEntity> {\n entityClassResolveFn: () => typeof TaonCmsCommentEntity = () => TaonCmsCommentEntity;\n\n taonCmsCommentRepository = this.injectCustomRepo(TaonCmsCommentRepository);\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}\n","//#region imports\nimport { Taon, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\nimport { Injectable } from '@angular/core';\n//#endregion\n\n@TaonProvider({\n className: 'TaonCmsCommentProvider',\n})\n//#region @browser\n@Injectable()\n//#endregion\nexport class TaonCmsCommentProvider extends TaonBaseProvider {\n\n\n\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonCmsCommentMiddleware',\n})\nexport class TaonCmsCommentMiddleware extends TaonBaseMiddleware {}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonCmsCommentEntity } from './taon-cms-comment.entity';\nimport { TaonCmsCommentProvider } from './taon-cms-comment.provider';\n//#endregion\n\n@TaonSubscriber<TaonCmsCommentSubscriber>({\n className: 'TaonCmsCommentSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonCmsCommentSubscriber extends TaonBaseSubscriberForEntity {\n taonCmsCommentProvider = this.injectProvider(TaonCmsCommentProvider);\n listenTo(): typeof TaonCmsCommentEntity {\n return TaonCmsCommentEntity;\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonCmsCommentEntity } from './taon-cms-comment.entity';\nimport { TaonCmsCommentController } from './taon-cms-comment.controller';\nimport { TaonCmsCommentRepository } from './taon-cms-comment.repository';\nimport { TaonCmsCommentProvider } from './taon-cms-comment.provider';\nimport { TaonCmsCommentMiddleware } from './taon-cms-comment.middleware';\nimport { TaonCmsCommentSubscriber } from './taon-cms-comment.subscriber';\n//#endregion\n\nexport const TaonCmsCommentAbstractContext = createContext(() => ({\n contextName: 'TaonCmsCommentAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonCmsCommentEntity },\n controllers: { TaonCmsCommentController },\n repositories: { TaonCmsCommentRepository },\n providers: { TaonCmsCommentProvider },\n middlewares: { TaonCmsCommentMiddleware },\n subscribers: { TaonCmsCommentSubscriber },\n}));\n","//#region imports\nimport {\n Column,\n CustomColumn,\n PrimaryGeneratedColumn,\n Taon,\n TaonBaseAbstractEntity,\n TaonBaseEntity,\n TaonEntity,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport type { TaonCmsContentSnapshot } from '../taon-cms-content/taon-cms-content.models';\n\nimport { TaonCmsContentRevisionDefaultsValues } from './taon-cms-content-revision.constants';\n//#endregion\n\n@TaonEntity({\n className: 'TaonCmsContentRevisionEntity',\n createTable: true,\n})\nexport class TaonCmsContentRevisionEntity extends TaonBaseEntity<TaonCmsContentRevisionEntity> {\n/* */\n/* */\n \n id: number;\n\n/* */\n/* */\n \n version: number;\n\n/* */\n/* */\n \n contentId: number;\n\n/* */\n/* */\n \n revisionNumber: number;\n\n/* */\n/* */\n \n title: string;\n\n/* */\n/* */\n \n body: string | null;\n\n/* */\n/* */\n \n snapshot: TaonCmsContentSnapshot | null;\n\n/* */\n/* */\n \n createdByUserId: number | null;\n\n/* */\n/* */\n \n createdAt: Date;\n}\n","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\nimport type { EntityManager } from 'taon-typeorm/browser';\n\nimport type { TaonCmsContentEntity } from '../taon-cms-content/taon-cms-content.entity';\nimport type { TaonCmsContentSnapshot } from '../taon-cms-content/taon-cms-content.models';\nimport { contentError } from '../taon-cms-content/taon-cms-content.validation';\n\nimport { TaonCmsContentRevisionEntity } from './taon-cms-content-revision.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonCmsContentRevisionRepository',\n})\nexport class TaonCmsContentRevisionRepository extends TaonBaseRepository<TaonCmsContentRevisionEntity> {\n entityClassResolveFn: () => typeof TaonCmsContentRevisionEntity = () =>\n TaonCmsContentRevisionEntity;\n\n async listForContent(\n contentId: number,\n manager: EntityManager,\n ): Promise<TaonCmsContentRevisionEntity[]> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async requireRevision(\n contentId: number,\n revisionNumber: number,\n manager: EntityManager,\n ): Promise<TaonCmsContentRevisionEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async recordContent(\n content: TaonCmsContentEntity,\n snapshot: TaonCmsContentSnapshot,\n manager: EntityManager,\n ): Promise<TaonCmsContentRevisionEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}\n","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonCmsContentRevisionEntity } from './taon-cms-content-revision.entity';\nimport { TaonCmsContentRevisionRepository } from './taon-cms-content-revision.repository';\n//#endregion\n\n@TaonController<TaonCmsContentRevisionController>({\n className: 'TaonCmsContentRevisionController',\n allowedMethods: [],\n})\nexport class TaonCmsContentRevisionController extends TaonBaseCrudController<TaonCmsContentRevisionEntity> {\n entityClassResolveFn: () => typeof TaonCmsContentRevisionEntity = () =>\n TaonCmsContentRevisionEntity;\n\n taonCmsContentRevisionRepository = this.injectCustomRepo(\n TaonCmsContentRevisionRepository,\n );\n}\n","//#region imports\nimport { Taon, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\nimport { Injectable } from '@angular/core';\n//#endregion\n\n@TaonProvider({\n className: 'TaonCmsContentRevisionProvider',\n})\n//#region @browser\n@Injectable()\n//#endregion\nexport class TaonCmsContentRevisionProvider extends TaonBaseProvider {\n\n\n\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonCmsContentRevisionMiddleware',\n})\nexport class TaonCmsContentRevisionMiddleware extends TaonBaseMiddleware {}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonCmsContentRevisionEntity } from './taon-cms-content-revision.entity';\nimport { TaonCmsContentRevisionProvider } from './taon-cms-content-revision.provider';\n//#endregion\n\n@TaonSubscriber<TaonCmsContentRevisionSubscriber>({\n className: 'TaonCmsContentRevisionSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonCmsContentRevisionSubscriber extends TaonBaseSubscriberForEntity {\n taonCmsContentRevisionProvider = this.injectProvider(TaonCmsContentRevisionProvider);\n listenTo(): typeof TaonCmsContentRevisionEntity {\n return TaonCmsContentRevisionEntity;\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonCmsContentRevisionEntity } from './taon-cms-content-revision.entity';\nimport { TaonCmsContentRevisionController } from './taon-cms-content-revision.controller';\nimport { TaonCmsContentRevisionRepository } from './taon-cms-content-revision.repository';\nimport { TaonCmsContentRevisionProvider } from './taon-cms-content-revision.provider';\nimport { TaonCmsContentRevisionMiddleware } from './taon-cms-content-revision.middleware';\nimport { TaonCmsContentRevisionSubscriber } from './taon-cms-content-revision.subscriber';\n//#endregion\n\nexport const TaonCmsContentRevisionAbstractContext = createContext(() => ({\n contextName: 'TaonCmsContentRevisionAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonCmsContentRevisionEntity },\n controllers: { TaonCmsContentRevisionController },\n repositories: { TaonCmsContentRevisionRepository },\n providers: { TaonCmsContentRevisionProvider },\n middlewares: { TaonCmsContentRevisionMiddleware },\n subscribers: { TaonCmsContentRevisionSubscriber },\n}));\n","//#region imports\nimport {\n Column,\n CustomColumn,\n Taon,\n TaonBaseAbstractEntity,\n TaonEntity,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonCmsContentTagDefaultsValues } from './taon-cms-content-tag.constants';\n//#endregion\n\n@TaonEntity({\n className: 'TaonCmsContentTagEntity',\n createTable: true,\n})\nexport class TaonCmsContentTagEntity extends TaonBaseAbstractEntity<TaonCmsContentTagEntity> {\n/* */\n/* */\n \n contentId: number;\n\n/* */\n/* */\n \n tagId: number;\n}\n","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\nimport type { EntityManager } from 'taon-typeorm/browser';\n\nimport { TaonCmsContentTagEntity } from './taon-cms-content-tag.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonCmsContentTagRepository',\n})\nexport class TaonCmsContentTagRepository extends TaonBaseRepository<TaonCmsContentTagEntity> {\n entityClassResolveFn: () => typeof TaonCmsContentTagEntity = () =>\n TaonCmsContentTagEntity;\n\n async findTagIds(\n contentId: number,\n manager: EntityManager,\n ): Promise<number[]> {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async replaceTags(\n contentId: number,\n tagIds: number[],\n manager: EntityManager,\n ): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}\n","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonCmsContentTagEntity } from './taon-cms-content-tag.entity';\nimport { TaonCmsContentTagRepository } from './taon-cms-content-tag.repository';\n//#endregion\n\n@TaonController<TaonCmsContentTagController>({\n className: 'TaonCmsContentTagController',\n allowedMethods: [],\n})\nexport class TaonCmsContentTagController extends TaonBaseCrudController<TaonCmsContentTagEntity> {\n entityClassResolveFn: () => typeof TaonCmsContentTagEntity = () =>\n TaonCmsContentTagEntity;\n\n taonCmsContentTagRepository = this.injectCustomRepo(\n TaonCmsContentTagRepository,\n );\n}\n","//#region imports\nimport { Taon, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\nimport { Injectable } from '@angular/core';\n//#endregion\n\n@TaonProvider({\n className: 'TaonCmsContentTagProvider',\n})\n//#region @browser\n@Injectable()\n//#endregion\nexport class TaonCmsContentTagProvider extends TaonBaseProvider {\n\n\n\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonCmsContentTagMiddleware',\n})\nexport class TaonCmsContentTagMiddleware extends TaonBaseMiddleware {}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonCmsContentTagEntity } from './taon-cms-content-tag.entity';\nimport { TaonCmsContentTagProvider } from './taon-cms-content-tag.provider';\n//#endregion\n\n@TaonSubscriber<TaonCmsContentTagSubscriber>({\n className: 'TaonCmsContentTagSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonCmsContentTagSubscriber extends TaonBaseSubscriberForEntity {\n taonCmsContentTagProvider = this.injectProvider(TaonCmsContentTagProvider);\n listenTo(): typeof TaonCmsContentTagEntity {\n return TaonCmsContentTagEntity;\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonCmsContentTagEntity } from './taon-cms-content-tag.entity';\nimport { TaonCmsContentTagController } from './taon-cms-content-tag.controller';\nimport { TaonCmsContentTagRepository } from './taon-cms-content-tag.repository';\nimport { TaonCmsContentTagProvider } from './taon-cms-content-tag.provider';\nimport { TaonCmsContentTagMiddleware } from './taon-cms-content-tag.middleware';\nimport { TaonCmsContentTagSubscriber } from './taon-cms-content-tag.subscriber';\n//#endregion\n\nexport const TaonCmsContentTagAbstractContext = createContext(() => ({\n contextName: 'TaonCmsContentTagAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonCmsContentTagEntity },\n controllers: { TaonCmsContentTagController },\n repositories: { TaonCmsContentTagRepository },\n providers: { TaonCmsContentTagProvider },\n middlewares: { TaonCmsContentTagMiddleware },\n subscribers: { TaonCmsContentTagSubscriber },\n}));\n","//#region imports\nimport {\n Column,\n CustomColumn,\n Taon,\n TaonBaseAbstractEntity,\n TaonEntity,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonCmsTagDefaultsValues } from './taon-cms-tag.constants';\n//#endregion\n\n@TaonEntity({\n className: 'TaonCmsTagEntity',\n createTable: true,\n})\nexport class TaonCmsTagEntity extends TaonBaseAbstractEntity<TaonCmsTagEntity> {\n/* */\n/* */\n \n name: string;\n\n/* */\n/* */\n \n slug: string;\n\n/* */\n/* */\n \n description: string | null;\n}\n","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\nimport type { EntityManager } from 'taon-typeorm/browser';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\nimport { contentError } from '../taon-cms-content/taon-cms-content.validation';\nimport { requireContentId } from '../taon-cms-content/taon-cms-content.validation';\nimport { TaonCmsContentTagEntity } from '../taon-cms-content-tag/taon-cms-content-tag.entity';\nimport {\n TaonCmsTaxonomyFields,\n validateTaxonomy,\n} from '../taon-cms-category/taon-cms-taxonomy.validation';\n\nimport { TaonCmsTagEntity } from './taon-cms-tag.entity';\n//#endregion\n\nconst t = Translation.for('src/lib/taon-cms-tag/taon-cms-tag.repository.ts', {\"src/lib/taon-cms-tag/taon-cms-tag.controller.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-tag.controller.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-tag.controller.ts.de-DE.i18n.data')).default},\"src/lib/taon-cms-tag/taon-cms-tag.repository.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-tag.repository.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-tag.repository.ts.de-DE.i18n.data')).default}} as any);\n\n@TaonRepository({\n className: 'TaonCmsTagRepository',\n})\nexport class TaonCmsTagRepository extends TaonBaseRepository<TaonCmsTagEntity> {\n entityClassResolveFn: () => typeof TaonCmsTagEntity = () => TaonCmsTagEntity;\n\n async saveTag(\n id: number | null,\n input: TaonCmsTaxonomyFields,\n ): Promise<TaonCmsTagEntity> {\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\n async deleteTag(id: number): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async requireTags(ids: number[], manager: EntityManager): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}\n","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n POST,\n DELETE,\n Body,\n Models,\n} from 'taon/browser';\nimport { TaonSessionRepository } from '@taon-dev/session/browser';\nimport { TaonAuthContextRepository } from '../decorators/taon-cms-authorization';\nimport { contentError } from '../taon-cms-content/taon-cms-content.validation';\nimport type { TaonCmsTaxonomyFields } from '../taon-cms-category/taon-cms-taxonomy.validation';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonCmsTagEntity } from './taon-cms-tag.entity';\nimport { TaonCmsTagRepository } from './taon-cms-tag.repository';\n//#endregion\n\n@TaonController<TaonCmsTagController>({\n className: 'TaonCmsTagController',\n allowedMethods: ['getAll', 'saveTag', 'deleteTag'],\n})\nexport class TaonCmsTagController extends TaonBaseCrudController<TaonCmsTagEntity> {\n entityClassResolveFn: () => typeof TaonCmsTagEntity = () => TaonCmsTagEntity;\n\n taonCmsTagRepository = this.injectCustomRepo(TaonCmsTagRepository);\n\n private readonly sessions = this.injectCustomRepo(TaonSessionRepository);\n private readonly auth = this.injectCustomRepo(TaonAuthContextRepository);\n\n protected async beforeEachRequest({\n req,\n res,\n t,\n }: Models.TaonCtrlBeforeEachRequestParams<TaonCmsTagController>): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n @POST()\n saveTag(\n @Query('id') id: number | null,\n @Body() input: TaonCmsTaxonomyFields,\n ): Taon.Response<TaonCmsTagEntity> {\n/* */\n/* */\n return (void 0);\n }\n\n @DELETE()\n deleteTag(@Query('id') id: number): Taon.Response<void> {\n/* */\n/* */\n return (void 0);\n }\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}\n","//#region imports\nimport { Taon, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\nimport { Injectable } from '@angular/core';\n//#endregion\n\n@TaonProvider({\n className: 'TaonCmsTagProvider',\n})\n//#region @browser\n@Injectable()\n//#endregion\nexport class TaonCmsTagProvider extends TaonBaseProvider {\n\n\n\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonCmsTagMiddleware',\n})\nexport class TaonCmsTagMiddleware extends TaonBaseMiddleware {}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonCmsTagEntity } from './taon-cms-tag.entity';\nimport { TaonCmsTagProvider } from './taon-cms-tag.provider';\n//#endregion\n\n@TaonSubscriber<TaonCmsTagSubscriber>({\n className: 'TaonCmsTagSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonCmsTagSubscriber extends TaonBaseSubscriberForEntity {\n taonCmsTagProvider = this.injectProvider(TaonCmsTagProvider);\n listenTo(): typeof TaonCmsTagEntity {\n return TaonCmsTagEntity;\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonCmsTagEntity } from './taon-cms-tag.entity';\nimport { TaonCmsTagController } from './taon-cms-tag.controller';\nimport { TaonCmsTagRepository } from './taon-cms-tag.repository';\nimport { TaonCmsTagProvider } from './taon-cms-tag.provider';\nimport { TaonCmsTagMiddleware } from './taon-cms-tag.middleware';\nimport { TaonCmsTagSubscriber } from './taon-cms-tag.subscriber';\n//#endregion\n\nexport const TaonCmsTagAbstractContext = createContext(() => ({\n contextName: 'TaonCmsTagAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonCmsTagEntity },\n controllers: { TaonCmsTagController },\n repositories: { TaonCmsTagRepository },\n providers: { TaonCmsTagProvider },\n middlewares: { TaonCmsTagMiddleware },\n subscribers: { TaonCmsTagSubscriber },\n}));\n","import { Taon } from 'taon/browser';\n\nimport type { TaonCmsContentFields } from './taon-cms-content.models';\nimport { TaonCmsContentType } from './taon-cms-content.models';\n\nexport function contentError(message: string, status = 400): never {\n Taon.error({ message, status });\n throw new Error(message);\n}\n\nexport function requireContentId(value: number, name = 'contentId'): void {\n if (!Number.isSafeInteger(value) || value <= 0) {\n contentError(`${name} must be a positive integer.`);\n }\n}\n\nexport function requireContentVersion(\n value: number,\n name = 'expectedVersion',\n): void {\n if (!Number.isSafeInteger(value) || value < 0) {\n contentError(`${name} must be a non-negative integer.`);\n }\n}\n\nexport function validateContentInput(\n input: Partial<TaonCmsContentFields> & {\n tagIds?: number[];\n relatedPostIds?: number[];\n permissionIds?: number[];\n },\n creating = false,\n): void {\n if (!input || typeof input !== 'object' || Array.isArray(input)) {\n contentError('Content must be an object.');\n }\n if (\n input.type !== undefined &&\n !Object.values(TaonCmsContentType).includes(input.type)\n ) {\n contentError('type must be normal, video, audio, or attachment.');\n }\n for (const field of ['title', 'slug'] as const) {\n if (creating || input[field] !== undefined) {\n if (typeof input[field] !== 'string' || !input[field].trim()) {\n contentError(`${field} must be a non-empty string.`);\n }\n }\n }\n for (const field of [\n 'body',\n 'excerpt',\n 'videoKey',\n 'audioKey',\n 'attachmentKey',\n 'thumbnailKey',\n ] as const) {\n if (\n input[field] !== undefined &&\n input[field] !== null &&\n typeof input[field] !== 'string'\n ) {\n contentError(`${field} must be a string or null.`);\n }\n }\n for (const field of ['categoryId', 'authorUserId'] as const) {\n if (input[field] !== undefined && input[field] !== null) {\n requireContentId(input[field], field);\n }\n }\n if (\n input.applyPermissionsToRelatedPosts !== undefined &&\n typeof input.applyPermissionsToRelatedPosts !== 'boolean'\n ) {\n contentError('applyPermissionsToRelatedPosts must be a boolean.');\n }\n if (\n input.status !== undefined &&\n !['draft', 'published', 'archived'].includes(input.status)\n ) {\n contentError('status must be draft, published, or archived.');\n }\n if (input.publishedAt !== undefined && input.publishedAt !== null) {\n if (\n !(\n input.publishedAt instanceof Date ||\n typeof input.publishedAt === 'string'\n ) ||\n Number.isNaN(new Date(input.publishedAt).getTime())\n ) {\n contentError('publishedAt must be a valid date or null.');\n }\n }\n for (const field of ['tagIds', 'relatedPostIds', 'permissionIds'] as const) {\n const ids = input[field];\n if (ids !== undefined) {\n if (!Array.isArray(ids)) {\n contentError(`${field} must be an array.`);\n }\n for (const id of ids) {\n requireContentId(\n id,\n field === 'tagIds'\n ? 'tagId'\n : field === 'relatedPostIds'\n ? 'relatedPostId'\n : 'permissionId',\n );\n }\n }\n }\n}\n","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { In, Raw } from 'taon-typeorm/browser';\nimport type { EntityManager } from 'taon-typeorm/browser';\nimport { TaonPermissionEntity } from '@taon-dev/session/browser';\n\nimport { TaonCmsApplicationHookEntity } from '../taon-cms-application-hook/taon-cms-application-hook.entity';\nimport type { TaonCmsApplicationHook } from '../taon-cms-application-hooks';\nimport { TaonCmsCategoryRepository } from '../taon-cms-category/taon-cms-category.repository';\nimport type { TaonCmsContentRevisionEntity } from '../taon-cms-content-revision/taon-cms-content-revision.entity';\nimport { TaonCmsContentRevisionRepository } from '../taon-cms-content-revision/taon-cms-content-revision.repository';\nimport { TaonCmsContentTagRepository } from '../taon-cms-content-tag/taon-cms-content-tag.repository';\nimport { TaonCmsTagRepository } from '../taon-cms-tag/taon-cms-tag.repository';\n\nimport { TaonCmsContentEntity } from './taon-cms-content.entity';\nimport { TaonCmsContentType } from './taon-cms-content.models';\nimport type {\n TaonCmsContentFields,\n TaonCmsContentSnapshot,\n TaonCmsCreateContent,\n TaonCmsRestoreContent,\n TaonCmsUpdateContent,\n TaonCmsPermissionConfiguration,\n} from './taon-cms-content.models';\nimport {\n contentError,\n requireContentId,\n requireContentVersion,\n validateContentInput,\n} from './taon-cms-content.validation';\n//#endregion\n\n@TaonRepository({\n className: 'TaonCmsContentRepository',\n})\nexport class TaonCmsContentRepository extends TaonBaseRepository<TaonCmsContentEntity> {\n entityClassResolveFn: () => typeof TaonCmsContentEntity = () =>\n TaonCmsContentEntity;\n\n private readonly taonCmsContentRevisionRepository = this.injectCustomRepo(\n TaonCmsContentRevisionRepository,\n );\n\n private readonly taonCmsContentTagRepository = this.injectCustomRepo(\n TaonCmsContentTagRepository,\n );\n\n private readonly taonCmsCategoryRepository = this.injectCustomRepo(\n TaonCmsCategoryRepository,\n );\n\n private readonly tags = this.injectCustomRepo(TaonCmsTagRepository);\n\n async listTagIds(id: number): Promise<number[]> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async createContent(\n input: TaonCmsCreateContent,\n ): Promise<TaonCmsContentEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async duplicateContent(id: number): Promise<TaonCmsContentEntity> {\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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n private async createContentWithManager(\n input: TaonCmsCreateContent,\n manager: EntityManager,\n ): Promise<TaonCmsContentEntity> {\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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async updateContent(\n id: number,\n input: TaonCmsUpdateContent,\n ): Promise<TaonCmsContentEntity> {\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\n async archiveContent(\n id: number,\n expectedVersion: number,\n ): Promise<TaonCmsContentEntity> {\n/* */\n/* */\n return (void 0);\n }\n\n async restoreContent(\n id: number,\n input: TaonCmsRestoreContent,\n ): Promise<TaonCmsContentEntity> {\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/* */\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/* */\n return (void 0);\n }\n\n async listRevisions(id: number): Promise<TaonCmsContentRevisionEntity[]> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async listRelatedPosts(id: number): Promise<TaonCmsContentEntity[]> {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async listPermissions(id: number): Promise<TaonPermissionEntity[]> {\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async getPermissionConfiguration(\n id: number,\n ): Promise<TaonCmsPermissionConfiguration> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n private async resolvePermissionConfiguration(\n post: TaonCmsContentEntity,\n manager: EntityManager,\n ): Promise<TaonCmsPermissionConfiguration> {\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/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n private async validatePermissionInheritance(\n manager: EntityManager,\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/* */\n/* */\n return (void 0);\n }\n\n private async requireOwnPermissionEdit(\n id: number,\n permissionIds: number[],\n current: TaonCmsContentEntity,\n manager: EntityManager,\n ): Promise<void> {\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 listApplicationHooks(): Promise<TaonCmsApplicationHookEntity[]> {\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async getContentByHook(hook: string): Promise<string> {\n/* */\n/* */\n return (void 0);\n }\n\n async getContentForHook(hook: string): Promise<TaonCmsContentEntity | null> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n //#region methods / media access\n async getContentBySlugForMedia(\n slug: string,\n ): Promise<TaonCmsContentEntity | null> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async isPublicMediaKey(key: string): Promise<boolean> {\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 //#endregion\n\n async addRelatedPost(\n id: number,\n relatedPostId: number,\n expectedVersion: number,\n ): Promise<TaonCmsContentEntity> {\n/* */\n/* */\n return (void 0);\n }\n\n async deleteRelatedPost(\n id: number,\n relatedPostId: number,\n expectedVersion: number,\n ): Promise<TaonCmsContentEntity> {\n/* */\n/* */\n return (void 0);\n }\n\n private async changeRelatedPost(\n id: number,\n relatedPostId: number,\n expectedVersion: number,\n adding: boolean,\n ): Promise<TaonCmsContentEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n private async requireContent(\n id: number,\n manager: EntityManager,\n ): Promise<TaonCmsContentEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n private contentFields(\n input: Partial<TaonCmsContentFields>,\n current?: TaonCmsContentFields,\n ): TaonCmsContentFields {\n const type = input.type ?? current?.type ?? TaonCmsContentType.Normal;\n const title = input.title ?? current?.title;\n const slug = input.slug ?? current?.slug;\n if (title === undefined || slug === undefined) {\n contentError('title and slug are required.');\n }\n const publishedAt =\n input.publishedAt === undefined\n ? (current?.publishedAt ?? null)\n : input.publishedAt;\n return {\n type,\n title,\n slug,\n body: input.body === undefined ? (current?.body ?? null) : input.body,\n videoKey:\n input.videoKey === undefined\n ? (current?.videoKey ?? null)\n : input.videoKey,\n audioKey:\n input.audioKey === undefined\n ? (current?.audioKey ?? null)\n : input.audioKey,\n attachmentKey:\n input.attachmentKey === undefined\n ? (current?.attachmentKey ?? null)\n : input.attachmentKey,\n thumbnailKey:\n input.thumbnailKey === undefined\n ? (current?.thumbnailKey ?? null)\n : input.thumbnailKey,\n excerpt:\n input.excerpt === undefined\n ? (current?.excerpt ?? null)\n : input.excerpt,\n categoryId:\n input.categoryId === undefined\n ? (current?.categoryId ?? null)\n : input.categoryId,\n authorUserId:\n input.authorUserId === undefined\n ? (current?.authorUserId ?? null)\n : input.authorUserId,\n status: input.status ?? current?.status ?? 'draft',\n publishedAt: publishedAt === null ? null : new Date(publishedAt),\n applyPermissionsToRelatedPosts:\n input.applyPermissionsToRelatedPosts ??\n current?.applyPermissionsToRelatedPosts ??\n false,\n };\n }\n\n private async snapshotOf(\n content: TaonCmsContentEntity,\n manager: EntityManager,\n ): Promise<TaonCmsContentSnapshot> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n private contentStatus(status: string): TaonCmsContentFields['status'] {\n if (status !== 'draft' && status !== 'published' && status !== 'archived') {\n contentError(`Unsupported stored content status: ${status}.`, 409);\n }\n return status;\n }\n\n private async validateReferences(\n fields: TaonCmsContentFields,\n tagIds: number[],\n permissionIds: number[],\n manager: EntityManager,\n ): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n private async requirePermissions(\n permissionIds: number[],\n manager: EntityManager,\n ): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n private async requireAvailableSlug(\n slug: string,\n manager: EntityManager,\n contentId?: number,\n ): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n private async replaceRelatedPosts(\n id: number,\n relatedPostIds: number[],\n previousIds: number[],\n manager: EntityManager,\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 return (void 0);\n }\n\n private async replacePermissions(\n id: number,\n permissionIds: number[],\n previousIds: number[],\n manager: EntityManager,\n ): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n private async replaceApplicationHook(\n contentId: number,\n hook: TaonCmsApplicationHook | null,\n manager: EntityManager,\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 return (void 0);\n }\n\n private async commitUpdate(\n current: TaonCmsContentEntity,\n expectedVersion: number,\n snapshot: TaonCmsContentSnapshot,\n manager: EntityManager,\n applicationHook?: TaonCmsApplicationHook | null,\n ): Promise<TaonCmsContentEntity> {\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/* */\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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}\n","//#region imports\nimport {\n TaonSessionProvider,\n TaonSessionRepository,\n} from '@taon-dev/session/browser';\nimport {\n ExpressRequest,\n ExpressResponse,\n TaonBaseStorageController,\n TaonController,\n TaonStorageObject,\n TaonUploadedFile,\n ClassHelpers,\n apiPrefix,\n Models,\n} from 'taon/browser';\nimport { UtilsJwt } from 'tnp-core/browser';\n\nimport { TaonAuthContextRepository } from '../decorators/taon-cms-authorization';\n\nimport { TaonCmsContentRepository } from './taon-cms-content.repository';\nimport { contentError } from './taon-cms-content.validation';\n//#endregion\n\n@TaonController<TaonCmsContentStorageController>({\n className: 'TaonCmsContentStorageController',\n // allowedMethods: ['download', 'uploadFormDataToServer'],\n})\nexport class TaonCmsContentStorageController extends TaonBaseStorageController<\n {},\n TaonCmsContentStorageController\n> {\n private readonly taonSessionRepository = this.injectCustomRepo(\n TaonSessionRepository,\n );\n\n private readonly taonAuthContextRepository = this.injectCustomRepo(\n TaonAuthContextRepository,\n );\n\n private readonly taonCmsContentRepository = this.injectCustomRepo(\n TaonCmsContentRepository,\n );\n\n private readonly taonSessionProvider =\n this.injectProvider(TaonSessionProvider);\n\n protected async beforeEachRequest({\n req,\n res,\n methodConfig,\n t,\n }: Models.TaonCtrlBeforeEachRequestParams<TaonCmsContentStorageController>): Promise<void> {\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/* */\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 afterFileUploadHook(): void {}\n\n async isMediaObjectAvailable(key: string): Promise<boolean> {\n/* */\n/* */\n return (void 0);\n }\n\n buildStorageDownloadUrl(options: {\n req: ExpressRequest;\n key: string;\n private: boolean;\n token?: string;\n download?: boolean;\n }): string {\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 createStorageDownloadToken(options: {\n key: string;\n expiresAt: number;\n }): Promise<string> {\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 verifyStorageDownloadToken(options: {\n key: string;\n token: string;\n }): Promise<boolean> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n protected async isPublicStorageKey(key: string): Promise<boolean> {\n/* */\n/* */\n return (void 0);\n }\n}\n","//#region imports\nimport {\n TaonSessionRepository,\n type TaonPermissionEntity,\n} from '@taon-dev/session/browser';\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n POST,\n PUT,\n DELETE,\n Body,\n ExpressRequest,\n Models,\n getStatusCode,\n HttpStatusEnum,\n ExpressResponse,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport {\n TaonAuthContextRepository,\n TaonSessionCoreAuthorization,\n} from '../decorators/taon-cms-authorization';\nimport type { TaonCmsApplicationHookEntity } from '../taon-cms-application-hook/taon-cms-application-hook.entity';\nimport type { TaonCmsContentRevisionEntity } from '../taon-cms-content-revision/taon-cms-content-revision.entity';\n\nimport { TaonCmsContentEntity } from './taon-cms-content.entity';\nimport type {\n TaonCmsCreateContent,\n TaonCmsRestoreContent,\n TaonCmsUpdateContent,\n TaonCmsPermissionConfiguration,\n} from './taon-cms-content.models';\nimport { TaonCmsContentRepository } from './taon-cms-content.repository';\nimport { TaonCmsContentStorageController } from './taon-cms-content-storage.controller';\nimport { contentError } from './taon-cms-content.validation';\n//#endregion\n\n@TaonController<TaonCmsContentController>({\n //#region controller options\n className: 'TaonCmsContentController',\n allowedMethods: [\n 'getAll',\n 'getBy',\n 'createContent',\n 'duplicateContent',\n 'updateContent',\n 'deleteContent',\n 'restoreContent',\n 'listRevisions',\n 'listRelatedPosts',\n 'listPermissions',\n 'getPermissionConfiguration',\n 'listApplicationHooks',\n 'getContentByHook',\n 'getPublicContentByHook',\n 'getVideoLinkBySlug',\n 'getPublicVideoLinkBySlug',\n 'getAudioLinkBySlug',\n 'getPublicAudioLinkBySlug',\n 'getAttachmentLinkBySlug',\n 'getPublicAttachmentLinkBySlug',\n 'getThumbnailLinkBySlug',\n 'getPublicThumbnailLinkBySlug',\n 'listTagIds',\n 'addRelatedPost',\n 'deleteRelatedPost',\n 'paginationQuery',\n ],\n //#endregion\n})\nexport class TaonCmsContentController extends TaonBaseCrudController<TaonCmsContentEntity> {\n //#region fields & getters\n entityClassResolveFn: () => typeof TaonCmsContentEntity = () =>\n TaonCmsContentEntity;\n\n private readonly taonCmsContentRepository = this.injectCustomRepo(\n TaonCmsContentRepository,\n );\n\n private readonly taonSessionRepository = this.injectCustomRepo(\n TaonSessionRepository,\n );\n\n private readonly taonAuthContextRepository = this.injectCustomRepo(\n TaonAuthContextRepository,\n );\n\n private readonly taonCmsContentStorageController = this.injectController(\n TaonCmsContentStorageController,\n );\n //#endregion\n\n //#region methods / before each request\n protected async beforeEachRequest({\n req,\n res,\n methodConfig,\n t,\n }: Models.TaonCtrlBeforeEachRequestParams<TaonCmsContentController>): 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/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region methods / get video link by slug\n @GET()\n getVideoLinkBySlug(@Query('slug') slug: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n //#region methods / get public video link by slug\n @GET()\n getPublicVideoLinkBySlug(@Query('slug') slug: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region methods / get audio link by slug\n @GET()\n getAudioLinkBySlug(@Query('slug') slug: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region methods / get public audio link by slug\n @GET()\n getPublicAudioLinkBySlug(@Query('slug') slug: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region methods / get attachment link by slug\n @GET()\n getAttachmentLinkBySlug(@Query('slug') slug: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region methods / get public attachment link by slug\n @GET()\n getPublicAttachmentLinkBySlug(\n @Query('slug') slug: string,\n ): Taon.Response<string> {\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n //#endregion\n\n //#region methods / get media link\n @GET()\n getThumbnailLinkBySlug(@Query('slug') slug: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n @GET()\n getPublicThumbnailLinkBySlug(\n @Query('slug') slug: string,\n ): Taon.Response<string> {\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n @GET()\n listTagIds(@Query('id') id: number): Taon.Response<number[]> {\n/* */\n/* */\n return (void 0);\n }\n\n private async getMediaLinkBySlug(\n slug: string,\n type: 'video' | 'audio' | 'attachment' | 'thumbnail',\n publicOnly: boolean,\n req: ExpressRequest,\n t: Models.TaonCtrlBeforeEachRequestParams<TaonCmsContentController>['t'],\n ): Promise<string> {\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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n //#region methods / require read access\n private async requireReadAccess(\n content: TaonCmsContentEntity,\n publicOnly: boolean,\n req: ExpressRequest,\n t: Models.TaonCtrlBeforeEachRequestParams<TaonCmsContentController>['t'],\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 //#endregion\n //#endregion\n\n //#region methods / get by id\n @GET()\n getBySlug(@Query(`slug`) slug: string): Taon.Response<TaonCmsContentEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region methods / create content\n @POST()\n createContent(\n @Body() input: TaonCmsCreateContent,\n ): Taon.Response<TaonCmsContentEntity> {\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region methods / update content\n @PUT()\n updateContent(\n @Query('id') id: number,\n @Body() input: TaonCmsUpdateContent,\n ): Taon.Response<TaonCmsContentEntity> {\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n @POST()\n duplicateContent(\n @Query('id') id: number,\n ): Taon.Response<TaonCmsContentEntity> {\n/* */\n/* */\n return (void 0);\n }\n\n //#region methods / delete content\n @DELETE()\n deleteContent(\n @Query('id') id: number,\n @Query('expectedVersion') expectedVersion: number,\n ): Taon.Response<TaonCmsContentEntity> {\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region methods / restore content\n @POST()\n restoreContent(\n @Query('id') id: number,\n @Body() input: TaonCmsRestoreContent,\n ): Taon.Response<TaonCmsContentEntity> {\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region methods / list related posts\n @GET()\n listRelatedPosts(\n @Query('id') id: number,\n ): Taon.Response<TaonCmsContentEntity[]> {\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region methods / list permissions\n @GET()\n listPermissions(\n @Query('id') id: number,\n ): Taon.Response<TaonPermissionEntity[]> {\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region methods / get permission configuration\n @GET()\n getPermissionConfiguration(\n @Query('id') id: number,\n ): Taon.Response<TaonCmsPermissionConfiguration> {\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region methods / list application hooks\n @GET()\n listApplicationHooks(): Taon.Response<TaonCmsApplicationHookEntity[]> {\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region methods / get content by hook\n @GET()\n getContentByHook(@Query('hook') hook: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region methods / get public content by hook\n @GET()\n getPublicContentByHook(@Query('hook') hook: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region methods / add related post\n @POST()\n addRelatedPost(\n @Query('id') id: number,\n @Query('relatedPostId') relatedPostId: number,\n @Query('expectedVersion') expectedVersion: number,\n ): Taon.Response<TaonCmsContentEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region methods / delete related post\n @DELETE()\n deleteRelatedPost(\n @Query('id') id: number,\n @Query('relatedPostId') relatedPostId: number,\n @Query('expectedVersion') expectedVersion: number,\n ): Taon.Response<TaonCmsContentEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region methods / list revisions\n @GET()\n listRevisions(\n @Query('id') id: number,\n ): Taon.Response<TaonCmsContentRevisionEntity[]> {\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}\n","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonCmsContentMiddleware',\n})\nexport class TaonCmsContentMiddleware extends TaonBaseMiddleware {}","//#region imports\nimport { Taon, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\nimport { Injectable } from '@angular/core';\n//#endregion\n\n@TaonProvider({\n className: 'TaonCmsContentProvider',\n})\n//#region @browser\n@Injectable()\n//#endregion\nexport class TaonCmsContentProvider extends TaonBaseProvider {}\n","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonCmsContentEntity } from './taon-cms-content.entity';\nimport { TaonCmsContentProvider } from './taon-cms-content.provider';\n//#endregion\n\n@TaonSubscriber<TaonCmsContentSubscriber>({\n className: 'TaonCmsContentSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonCmsContentSubscriber extends TaonBaseSubscriberForEntity {\n taonCmsContentProvider = this.injectProvider(TaonCmsContentProvider);\n listenTo(): typeof TaonCmsContentEntity {\n return TaonCmsContentEntity;\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonCmsCategoryAbstractContext } from '../taon-cms-category/taon-cms-category.abstract.context';\nimport { TaonCmsContentRevisionAbstractContext } from '../taon-cms-content-revision/taon-cms-content-revision.abstract.context';\nimport { TaonCmsContentTagAbstractContext } from '../taon-cms-content-tag/taon-cms-content-tag.abstract.context';\nimport { TaonCmsTagAbstractContext } from '../taon-cms-tag/taon-cms-tag.abstract.context';\nimport { TaonCmsApplicationHookEntity } from '../taon-cms-application-hook/taon-cms-application-hook.entity';\n\nimport { TaonCmsContentController } from './taon-cms-content.controller';\nimport { TaonCmsContentEntity } from './taon-cms-content.entity';\nimport { TaonCmsContentMiddleware } from './taon-cms-content.middleware';\nimport { TaonCmsContentProvider } from './taon-cms-content.provider';\nimport { TaonCmsContentRepository } from './taon-cms-content.repository';\nimport { TaonCmsContentSubscriber } from './taon-cms-content.subscriber';\nimport { TaonCmsContentStorageController } from './taon-cms-content-storage.controller';\n\n//#endregion\n\nexport const TaonCmsContentAbstractContext = createContext(() => ({\n contextName: 'TaonCmsContentAbstractContext',\n abstract: true,\n contexts: {\n TaonBaseContext,\n TaonCmsCategoryAbstractContext,\n TaonCmsTagAbstractContext,\n TaonCmsContentTagAbstractContext,\n TaonCmsContentRevisionAbstractContext,\n },\n entities: { TaonCmsApplicationHookEntity, TaonCmsContentEntity },\n controllers: { TaonCmsContentController, TaonCmsContentStorageController },\n repositories: { TaonCmsContentRepository },\n providers: { TaonCmsContentProvider },\n middlewares: { TaonCmsContentMiddleware },\n subscribers: { TaonCmsContentSubscriber },\n}));\n","//#region imports\nimport {\n Column,\n CustomColumn,\n PrimaryGeneratedColumn,\n Taon,\n TaonBaseAbstractEntity,\n TaonBaseEntity,\n TaonEntity,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonCmsContentAssetDefaultsValues } from './taon-cms-content-asset.constants';\n//#endregion\n\n@TaonEntity({\n className: 'TaonCmsContentAssetEntity',\n createTable: true,\n})\nexport class TaonCmsContentAssetEntity extends TaonBaseEntity<TaonCmsContentAssetEntity> {\n/* */\n/* */\n \n id: number;\n\n/* */\n/* */\n \n version: number;\n\n/* */\n/* */\n \n contentId: number | null;\n\n/* */\n/* */\n \n type: string;\n // image | video | audio | file\n\n/* */\n/* */\n \n storageProvider: string;\n // r2 | filesystem | s3\n\n/* */\n/* */\n \n bucket: string | null;\n\n/* */\n/* */\n \n key: string;\n\n/* */\n/* */\n \n originalFilename: string | null;\n\n/* */\n/* */\n \n mimeType: string | null;\n\n/* */\n/* */\n \n size: number | null;\n\n/* */\n/* */\n \n durationSeconds: number | null;\n\n/* */\n/* */\n \n metadata: Record<string, any> | null;\n\n/* */\n/* */\n \n createdAt: Date;\n}\n","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\n\nimport { TaonCmsContentAssetEntity } from './taon-cms-content-asset.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonCmsContentAssetRepository',\n})\nexport class TaonCmsContentAssetRepository extends TaonBaseRepository<TaonCmsContentAssetEntity> {\n entityClassResolveFn: () => typeof TaonCmsContentAssetEntity = () => TaonCmsContentAssetEntity;\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonCmsContentAssetEntity } from './taon-cms-content-asset.entity';\nimport { TaonCmsContentAssetRepository } from './taon-cms-content-asset.repository';\n//#endregion\n\n@TaonController<TaonCmsContentAssetController>({\n className: 'TaonCmsContentAssetController',\n allowedMethods: []\n})\nexport class TaonCmsContentAssetController extends TaonBaseCrudController<TaonCmsContentAssetEntity> {\n entityClassResolveFn: () => typeof TaonCmsContentAssetEntity = () => TaonCmsContentAssetEntity;\n\n taonCmsContentAssetRepository = this.injectCustomRepo(TaonCmsContentAssetRepository);\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}\n","//#region imports\nimport { Taon, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\nimport { Injectable } from '@angular/core';\n//#endregion\n\n@TaonProvider({\n className: 'TaonCmsContentAssetProvider',\n})\n//#region @browser\n@Injectable()\n//#endregion\nexport class TaonCmsContentAssetProvider extends TaonBaseProvider {\n\n\n\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonCmsContentAssetMiddleware',\n})\nexport class TaonCmsContentAssetMiddleware extends TaonBaseMiddleware {}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonCmsContentAssetEntity } from './taon-cms-content-asset.entity';\nimport { TaonCmsContentAssetProvider } from './taon-cms-content-asset.provider';\n//#endregion\n\n@TaonSubscriber<TaonCmsContentAssetSubscriber>({\n className: 'TaonCmsContentAssetSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonCmsContentAssetSubscriber extends TaonBaseSubscriberForEntity {\n taonCmsContentAssetProvider = this.injectProvider(TaonCmsContentAssetProvider);\n listenTo(): typeof TaonCmsContentAssetEntity {\n return TaonCmsContentAssetEntity;\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonCmsContentAssetEntity } from './taon-cms-content-asset.entity';\nimport { TaonCmsContentAssetController } from './taon-cms-content-asset.controller';\nimport { TaonCmsContentAssetRepository } from './taon-cms-content-asset.repository';\nimport { TaonCmsContentAssetProvider } from './taon-cms-content-asset.provider';\nimport { TaonCmsContentAssetMiddleware } from './taon-cms-content-asset.middleware';\nimport { TaonCmsContentAssetSubscriber } from './taon-cms-content-asset.subscriber';\n//#endregion\n\nexport const TaonCmsContentAssetAbstractContext = createContext(() => ({\n contextName: 'TaonCmsContentAssetAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonCmsContentAssetEntity },\n controllers: { TaonCmsContentAssetController },\n repositories: { TaonCmsContentAssetRepository },\n providers: { TaonCmsContentAssetProvider },\n middlewares: { TaonCmsContentAssetMiddleware },\n subscribers: { TaonCmsContentAssetSubscriber },\n}));\n","//#region imports\nimport {\n Column,\n CustomColumn,\n PrimaryGeneratedColumn,\n Taon,\n TaonBaseAbstractEntity,\n TaonBaseEntity,\n TaonEntity,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonCmsContentPermissionDefaultsValues } from './taon-cms-content-permission.constants';\n//#endregion\n\n@TaonEntity({\n className: 'TaonCmsContentPermissionEntity',\n createTable: true,\n})\nexport class TaonCmsContentPermissionEntity extends TaonBaseEntity<TaonCmsContentPermissionEntity> {\n @PrimaryGeneratedColumn()\n id: number;\n\n @Column({ type: 'integer', default: 0 })\n version: number;\n\n @Column({ type: 'integer' })\n contentId: number;\n\n @Column({ type: 'varchar' })\n type: string;\n // public | authenticated | permission | role |\n // purchase | subscription\n\n @Column({ type: 'integer', nullable: true })\n permissionId: number | null;\n\n @Column({ type: 'integer', nullable: true })\n roleId: number | null;\n\n @Column({ type: 'integer', nullable: true })\n productId: number | null;\n\n @Column({ type: 'varchar', nullable: true })\n stripePriceId: string | null;\n\n @Column({ type: 'simple-json', nullable: true })\n config: Record<string, any> | null;\n\n @Column({ type: 'datetime' })\n createdAt: Date;\n}\n","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\n\nimport { TaonCmsContentPermissionEntity } from './taon-cms-content-permission.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonCmsContentPermissionRepository',\n})\nexport class TaonCmsContentPermissionRepository extends TaonBaseRepository<TaonCmsContentPermissionEntity> {\n entityClassResolveFn: () => typeof TaonCmsContentPermissionEntity = () => TaonCmsContentPermissionEntity;\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonCmsContentPermissionEntity } from './taon-cms-content-permission.entity';\nimport { TaonCmsContentPermissionRepository } from './taon-cms-content-permission.repository';\n//#endregion\n\n@TaonController<TaonCmsContentPermissionController>({\n className: 'TaonCmsContentPermissionController',\n allowedMethods: []\n})\nexport class TaonCmsContentPermissionController extends TaonBaseCrudController<TaonCmsContentPermissionEntity> {\n entityClassResolveFn: () => typeof TaonCmsContentPermissionEntity = () => TaonCmsContentPermissionEntity;\n\n taonCmsContentPermissionRepository = this.injectCustomRepo(TaonCmsContentPermissionRepository);\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}\n","//#region imports\nimport { Taon, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\nimport { Injectable } from '@angular/core';\n//#endregion\n\n@TaonProvider({\n className: 'TaonCmsContentPermissionProvider',\n})\n//#region @browser\n@Injectable()\n//#endregion\nexport class TaonCmsContentPermissionProvider extends TaonBaseProvider {\n\n\n\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonCmsContentPermissionMiddleware',\n})\nexport class TaonCmsContentPermissionMiddleware extends TaonBaseMiddleware {}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonCmsContentPermissionEntity } from './taon-cms-content-permission.entity';\nimport { TaonCmsContentPermissionProvider } from './taon-cms-content-permission.provider';\n//#endregion\n\n@TaonSubscriber<TaonCmsContentPermissionSubscriber>({\n className: 'TaonCmsContentPermissionSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonCmsContentPermissionSubscriber extends TaonBaseSubscriberForEntity {\n taonCmsContentPermissionProvider = this.injectProvider(TaonCmsContentPermissionProvider);\n listenTo(): typeof TaonCmsContentPermissionEntity {\n return TaonCmsContentPermissionEntity;\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonCmsContentPermissionEntity } from './taon-cms-content-permission.entity';\nimport { TaonCmsContentPermissionController } from './taon-cms-content-permission.controller';\nimport { TaonCmsContentPermissionRepository } from './taon-cms-content-permission.repository';\nimport { TaonCmsContentPermissionProvider } from './taon-cms-content-permission.provider';\nimport { TaonCmsContentPermissionMiddleware } from './taon-cms-content-permission.middleware';\nimport { TaonCmsContentPermissionSubscriber } from './taon-cms-content-permission.subscriber';\n//#endregion\n\nexport const TaonCmsContentPermissionAbstractContext = createContext(() => ({\n contextName: 'TaonCmsContentPermissionAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonCmsContentPermissionEntity },\n controllers: { TaonCmsContentPermissionController },\n repositories: { TaonCmsContentPermissionRepository },\n providers: { TaonCmsContentPermissionProvider },\n middlewares: { TaonCmsContentPermissionMiddleware },\n subscribers: { TaonCmsContentPermissionSubscriber },\n}));\n","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { TaonSessionAbstractContext } from '@taon-dev/session/browser';\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonCmsCategoryAbstractContext } from './taon-cms-category/taon-cms-category.abstract.context';\nimport { TaonCmsCommentAbstractContext } from './taon-cms-comment/taon-cms-comment.abstract.context';\nimport { TaonCmsContentAbstractContext } from './taon-cms-content/taon-cms-content.abstract.context';\nimport { TaonCmsContentAssetAbstractContext } from './taon-cms-content-asset/taon-cms-content-asset.abstract.context';\nimport { TaonCmsContentPermissionAbstractContext } from './taon-cms-content-permission/taon-cms-content-permission.abstract.context';\nimport { TaonCmsContentRevisionAbstractContext } from './taon-cms-content-revision/taon-cms-content-revision.abstract.context';\nimport { TaonCmsContentTagAbstractContext } from './taon-cms-content-tag/taon-cms-content-tag.abstract.context';\nimport { TaonCmsTagAbstractContext } from './taon-cms-tag/taon-cms-tag.abstract.context';\n\nexport const TaonCmsAbstractContext = createContext(() => ({\n contextName: 'TaonCmsAbstractContext',\n abstract: true,\n contexts: {\n TaonCmsCategoryAbstractContext,\n TaonCmsCommentAbstractContext,\n TaonCmsContentAbstractContext,\n TaonCmsContentAssetAbstractContext,\n TaonCmsContentPermissionAbstractContext,\n TaonCmsContentRevisionAbstractContext,\n TaonCmsContentTagAbstractContext,\n TaonCmsTagAbstractContext,\n TaonSessionAbstractContext,\n },\n}));\n\n// THIS FILE IS GENERATED - DO NOT MODIFY\n","import { Resource } from 'ng2-rest/browser';\nimport { Observable } from 'rxjs';\n\nconst progressCallbacks = new WeakMap<FormData, (percentage: number) => void>();\n\n// Keep Taon's middleware, retries and response decoding; replace only the\n// final Fetch transport for uploads that request browser upload events.\nexport function trackCmsUpload(\n url: string,\n body: FormData,\n onProgress: (percentage: number) => void,\n): () => void {\n const key = `cms-upload-progress-POST-${new URL(url).pathname}`;\n if (!Resource.methodsInterceptors.has(key)) {\n Resource.methodsInterceptors.set(key, {\n intercept: ({ req, next }) => {\n if (!(req.body instanceof FormData)) {\n return next.handle(req);\n }\n const uploadBody = req.body;\n const callback = progressCallbacks.get(uploadBody);\n if (!callback) {\n return next.handle(req);\n }\n return new Observable<Response>(subscriber => {\n const xhr = new XMLHttpRequest();\n xhr.open(req.method || 'POST', req.url);\n xhr.withCredentials = req.credentials === 'include';\n new Headers(req.headers).forEach((value, name) => {\n // The browser must supply the multipart boundary.\n if (name.toLowerCase() !== 'content-type') {\n xhr.setRequestHeader(name, value);\n }\n });\n xhr.upload.onprogress = event => {\n if (event.lengthComputable && event.total > 0) {\n callback(\n Math.min(100, Math.floor((event.loaded * 100) / event.total)),\n );\n }\n };\n xhr.onload = () => {\n const headers = new Headers();\n for (const line of xhr\n .getAllResponseHeaders()\n .trim()\n .split(/[\\r\\n]+/)) {\n const separator = line.indexOf(':');\n if (separator > 0) {\n headers.append(\n line.slice(0, separator),\n line.slice(separator + 1).trim(),\n );\n }\n }\n subscriber.next(\n new Response(\n [204, 205, 304].includes(xhr.status) ? null : xhr.responseText,\n {\n status: xhr.status,\n statusText: xhr.statusText,\n headers,\n },\n ),\n );\n subscriber.complete();\n };\n xhr.onerror = () =>\n subscriber.error(new Error('Media upload network error.'));\n xhr.ontimeout = () =>\n subscriber.error(new Error('Media upload timed out.'));\n xhr.onabort = () =>\n subscriber.error(new Error('Media upload was cancelled.'));\n const abort = () => xhr.abort();\n req.signal?.addEventListener('abort', abort, { once: true });\n if (req.signal?.aborted) {\n subscriber.error(new Error('Media upload was cancelled.'));\n } else {\n callback(0);\n xhr.send(uploadBody);\n }\n return () => {\n req.signal?.removeEventListener('abort', abort);\n if (xhr.readyState !== XMLHttpRequest.DONE) {\n xhr.abort();\n }\n };\n });\n },\n });\n }\n progressCallbacks.set(body, onProgress);\n return () => progressCallbacks.delete(body);\n}\n","//#region imports\nimport { Injectable } from '@angular/core';\nimport type { TaonPermissionEntity } from '@taon-dev/session/browser';\nimport { Observable, of } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService, TaonStorageObject } from 'taon/browser';\n\nimport type { TaonCmsApplicationHookEntity } from '../taon-cms-application-hook/taon-cms-application-hook.entity';\nimport { TaonCmsApplicationHook } from '../taon-cms-application-hooks';\nimport type { TaonCmsContentRevisionEntity } from '../taon-cms-content-revision/taon-cms-content-revision.entity';\n\nimport { TaonCmsContentStorageController } from './taon-cms-content-storage.controller';\nimport { TaonCmsContentController } from './taon-cms-content.controller';\nimport type { TaonCmsContentEntity } from './taon-cms-content.entity';\nimport type {\n TaonCmsCreateContent,\n TaonCmsRestoreContent,\n TaonCmsUpdateContent,\n TaonCmsPermissionConfiguration,\n} from './taon-cms-content.models';\nimport { trackCmsUpload } from './taon-cms-upload-progress';\n\n//#endregion\n\n@Injectable()\nexport class TaonCmsContentApiService<\n HOOKS extends TaonCmsApplicationHook = TaonCmsApplicationHook,\n> extends TaonBaseAngularService {\n //#region fields & getters\n protected readonly taonCmsContentController = this.injectController(\n TaonCmsContentController,\n );\n\n protected readonly taonCmsContentStorageController = this.injectController(\n TaonCmsContentStorageController,\n );\n\n public get crudController(): TaonCmsContentController {\n return this.taonCmsContentController;\n }\n //#endregion\n\n //#region API / get by id\n public async getById(id: number): Promise<TaonCmsContentEntity> {\n return (await this.taonCmsContentController.getBy(id).request()).body.json;\n }\n //#endregion\n\n //#region API / get by slug\n public async getBySlug(slug: string): Promise<TaonCmsContentEntity> {\n return (await this.taonCmsContentController.getBySlug(slug).request()).body\n .json;\n }\n //#endregion\n\n //#region API / get video link by slug\n /**\n * Get link to private video\n */\n public getVideoLinkBySlug(slug: string): Observable<string> {\n return this.taonCmsContentController\n .getVideoLinkBySlug(slug)\n .request()\n .observable.pipe(\n map(res => res.body.text),\n catchError(err => {\n console.error(err);\n return of('');\n }),\n );\n }\n //#endregion\n\n //#region API / get public video link by slug\n public async getPublicVideoLinkBySlug(slug: string): Promise<string> {\n return (\n await this.taonCmsContentController\n .getPublicVideoLinkBySlug(slug)\n .request()\n ).body.text;\n }\n //#endregion\n\n //#region API / get audio link by slug\n public getAudioLinkBySlug(slug: string): Observable<string> {\n return this.taonCmsContentController\n .getAudioLinkBySlug(slug)\n .request()\n .observable.pipe(\n map(res => res.body.text),\n catchError(err => {\n console.error(err);\n return of('');\n }),\n );\n }\n //#endregion\n\n //#region API / get public audio link by slug\n public async getPublicAudioLinkBySlug(slug: string): Promise<string> {\n return (\n await this.taonCmsContentController\n .getPublicAudioLinkBySlug(slug)\n .request()\n ).body.text;\n }\n //#endregion\n\n //#region API / get attachment link by slug\n public async getAttachmentLinkBySlug(slug: string): Promise<string> {\n return (\n await this.taonCmsContentController\n .getAttachmentLinkBySlug(slug)\n .request()\n ).body.text;\n }\n //#endregion\n\n //#region API / get public attachment link by slug\n public async getPublicAttachmentLinkBySlug(slug: string): Promise<string> {\n return (\n await this.taonCmsContentController\n .getPublicAttachmentLinkBySlug(slug)\n .request()\n ).body.text;\n }\n //#endregion\n\n //#region API / get content by hook\n public getContentByHook(hook: HOOKS): Observable<string> {\n return this.taonCmsContentController.getContentByHook(hook)\n .request!().observable.pipe(map(res => res.body.text));\n }\n //#endregion\n\n //#region API / get public content by hook\n public getPublicContentByHook(hook: HOOKS): Observable<string> {\n return this.taonCmsContentController.getPublicContentByHook(hook)\n .request!().observable.pipe(\n map(res => res.body.text),\n catchError(() => of('---')),\n );\n }\n //#endregion\n\n //#region API / list application hooks\n public listApplicationHooks(): Observable<TaonCmsApplicationHookEntity[]> {\n return this.taonCmsContentController.listApplicationHooks()\n .request!().observable.pipe(map(res => res.body.json));\n }\n //#endregion\n\n //#region API / upload media\n public async uploadMedia(\n file: File,\n onProgress?: (percentage: number) => void,\n ): Promise<TaonStorageObject> {\n const formData = new FormData();\n formData.append('file', file);\n const stopTracking = onProgress\n ? trackCmsUpload(\n this.taonCmsContentStorageController.getThisControllerMethodFullUrl(\n 'uploadFormDataToServer',\n ),\n formData,\n onProgress,\n )\n : undefined;\n try {\n const response = await this.taonCmsContentStorageController\n .uploadFormDataToServer(formData)\n .request();\n const objects = response.body.json;\n if (!Array.isArray(objects) || objects.length !== 1 || !objects[0]?.key) {\n throw new Error('The upload did not return a media key.');\n }\n onProgress?.(100);\n return objects[0];\n } finally {\n stopTracking?.();\n }\n }\n //#endregion\n\n //#region API / list assets\n public listAssets(): Observable<TaonStorageObject[]> {\n return this.taonCmsContentStorageController\n .list({})\n .request()\n .observable.pipe(map(res => res.body.json));\n }\n //#endregion\n\n //#region API / get asset url\n public async getAssetUrl(key: string): Promise<string> {\n return (\n await this.taonCmsContentStorageController\n .getPrivateUrl(key, { expiresInSeconds: 5 * 60 })\n .request()\n ).body.text;\n }\n //#endregion\n\n //#region API / create content\n public listTagIds(id: number): Observable<number[]> {\n return this.taonCmsContentController\n .listTagIds(id)\n .request()\n .observable.pipe(map(res => res.body.json));\n }\n\n public async getThumbnailLinkBySlug(\n slug: string,\n publicOnly = false,\n ): Promise<string> {\n const response = publicOnly\n ? await this.taonCmsContentController\n .getPublicThumbnailLinkBySlug(slug)\n .request()\n : await this.taonCmsContentController\n .getThumbnailLinkBySlug(slug)\n .request();\n return response.body.text;\n }\n\n public createContent(\n input: TaonCmsCreateContent,\n ): Observable<TaonCmsContentEntity> {\n return this.taonCmsContentController.createContent(input)\n .request!().observable.pipe(map(res => res.body.json));\n }\n //#endregion\n\n //#region API / duplicate content\n public duplicateContent(id: number): Observable<TaonCmsContentEntity> {\n return this.taonCmsContentController.duplicateContent(id)\n .request!().observable.pipe(map(res => res.body.json));\n }\n //#endregion\n\n //#region API / update content\n public updateContent(\n id: number,\n input: TaonCmsUpdateContent,\n ): Observable<TaonCmsContentEntity> {\n return this.taonCmsContentController.updateContent(id, input)\n .request!().observable.pipe(map(res => res.body.json));\n }\n //#endregion\n\n //#region API / delete content\n public deleteContent(\n id: number,\n expectedVersion: number,\n ): Observable<TaonCmsContentEntity> {\n return this.taonCmsContentController.deleteContent(id, expectedVersion)\n .request!().observable.pipe(map(res => res.body.json));\n }\n //#endregion\n\n //#region API / restore content\n public restoreContent(\n id: number,\n input: TaonCmsRestoreContent,\n ): Observable<TaonCmsContentEntity> {\n return this.taonCmsContentController.restoreContent(id, input)\n .request!().observable.pipe(map(res => res.body.json));\n }\n //#endregion\n\n //#region API / list revisions\n public listRevisions(id: number): Observable<TaonCmsContentRevisionEntity[]> {\n return this.taonCmsContentController.listRevisions(id)\n .request!().observable.pipe(map(res => res.body.json));\n }\n //#endregion\n\n //#region API / list related posts\n public listRelatedPosts(id: number): Observable<TaonCmsContentEntity[]> {\n return this.taonCmsContentController.listRelatedPosts(id)\n .request!().observable.pipe(map(res => res.body.json));\n }\n //#endregion\n\n //#region API / list permissions\n public listPermissions(id: number): Observable<TaonPermissionEntity[]> {\n return this.taonCmsContentController.listPermissions(id)\n .request!().observable.pipe(map(res => res.body.json));\n }\n //#endregion\n\n //#region API / get permission configuration\n public getPermissionConfiguration(\n id: number,\n ): Observable<TaonCmsPermissionConfiguration> {\n return this.taonCmsContentController.getPermissionConfiguration(id)\n .request!().observable.pipe(map(res => res.body.json));\n }\n //#endregion\n\n //#region API / add related post\n public addRelatedPost(\n id: number,\n relatedPostId: number,\n expectedVersion: number,\n ): Observable<TaonCmsContentEntity> {\n return this.taonCmsContentController.addRelatedPost(\n id,\n relatedPostId,\n expectedVersion,\n ).request!().observable.pipe(map(res => res.body.json));\n }\n //#endregion\n\n //#region API / delete related post\n public deleteRelatedPost(\n id: number,\n relatedPostId: number,\n expectedVersion: number,\n ): Observable<TaonCmsContentEntity> {\n return this.taonCmsContentController.deleteRelatedPost(\n id,\n relatedPostId,\n expectedVersion,\n ).request!().observable.pipe(map(res => res.body.json));\n }\n //#endregion\n\n //#region API / get all entites\n /**\n * TODO not good idea if manu posts - refactor later:\n * - add pagination for post selector\n */\n public get allMyEntities$(): Observable<TaonCmsContentEntity[]> {\n return this.taonCmsContentController.getAll().request!().observable.pipe(\n map(res => res.body?.json),\n );\n }\n //#endregion\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n Input,\n OnInit,\n inject,\n signal,\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon, type TaonStorageObject } from 'taon/browser';\n\nimport { TaonCmsContentApiService } from '../taon-cms-content/taon-cms-content-api.service';\n\nconst t = Translation.for('src/lib/taon-cms-assets-backoffice/taon-cms-asset-preview.component.ts', {\"src/lib/taon-cms-assets-backoffice/taon-cms-asset-preview.component.html\":{\"en-US\":async () => (await import('./i18n/taon-cms-asset-preview.component.html.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data')).default},\"src/lib/taon-cms-assets-backoffice/taon-cms-asset-preview.component.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data')).default},\"src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html\":{\"en-US\":async () => (await import('./i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data')).default},\"src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data')).default}} as any);\n\n@Component({\n selector: 'taon-cms-asset-preview',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatButtonModule],\n styleUrl: './taon-cms-asset-preview.component.scss',\n templateUrl: './taon-cms-asset-preview.component.html',\n})\nexport class TaonCmsAssetPreviewComponent implements OnInit {\n readonly t = t.for(this);\n\n @Input({ required: true })\n asset!: TaonStorageObject;\n\n private readonly api = inject(TaonCmsContentApiService);\n\n private readonly destroyRef = inject(DestroyRef);\n\n readonly url = signal('');\n\n readonly loading = signal(false);\n\n readonly error = signal('');\n\n get previewKind(): 'video' | 'audio' | 'attachment' {\n const contentType = this.asset.contentType?.trim().toLowerCase();\n if (contentType?.startsWith('video/')) {\n return 'video';\n }\n if (contentType?.startsWith('audio/')) {\n return 'audio';\n }\n return 'attachment';\n }\n\n ngOnInit(): void {\n void this.reload();\n }\n\n async reload(): Promise<void> {\n if (this.loading()) {\n return;\n }\n this.loading.set(true);\n this.error.set('');\n this.url.set('');\n try {\n const url = new URL(await this.api.getAssetUrl(this.asset.key));\n if (this.previewKind === 'attachment') {\n url.searchParams.set('download', 'true');\n }\n if (!this.destroyRef.destroyed) {\n this.url.set(url.href);\n }\n } catch (error: unknown) {\n if (!this.destroyRef.destroyed) {\n console.error(\n '[taon-cms-asset-preview] Unable to load asset URL',\n error,\n );\n this.error.set(\n this.t.gettext('The asset could not be opened. Please retry.'),\n );\n }\n } finally {\n if (!this.destroyRef.destroyed) {\n this.loading.set(false);\n }\n }\n }\n\n playbackError(): void {\n this.error.set(\n this.t.gettext(\n 'Playback failed or the preview link expired. Please retry.',\n ),\n );\n }\n}\n","@if (loading()) {\n <p role=\"status\">{{ t.gettext('Loading asset preview...') }}</p>\n}\n@if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"loading()\"\n (click)=\"reload()\">\n {{ t.gettext('Retry preview') }}\n </button>\n}\n@if (url()) {\n @switch (previewKind) {\n @case ('video') {\n <video\n controls\n preload=\"none\"\n [src]=\"url()\"\n (error)=\"playbackError()\">\n {{ t.gettext('Your browser does not support video playback.') }}\n </video>\n }\n @case ('audio') {\n <audio\n controls\n preload=\"none\"\n [src]=\"url()\"\n (error)=\"playbackError()\">\n {{ t.gettext('Your browser does not support audio playback.') }}\n </audio>\n }\n @default {\n <a\n [href]=\"url()\"\n [attr.download]=\"asset.fileName\"\n target=\"_blank\"\n rel=\"noopener\">\n {{ asset.fileName || asset.key }}\n </a>\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n OnInit,\n inject,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MtxGridColumn } from '@ng-matero/extensions/grid';\nimport { TaonDatatableComponent } from '@taon-dev/ui/browser';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { finalize, map } from 'rxjs';\nimport {\n Taon,\n type TaonStorageObject as TaonStorageObjectBase,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonCmsContentApiService } from '../taon-cms-content/taon-cms-content-api.service';\n\nimport { TaonCmsAssetPreviewComponent } from './taon-cms-asset-preview.component';\n\nconst t = Translation.for('src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.ts', {\"src/lib/taon-cms-assets-backoffice/taon-cms-asset-preview.component.html\":{\"en-US\":async () => (await import('./i18n/taon-cms-asset-preview.component.html.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data')).default},\"src/lib/taon-cms-assets-backoffice/taon-cms-asset-preview.component.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data')).default},\"src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html\":{\"en-US\":async () => (await import('./i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data')).default},\"src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data')).default}} as any);\n\ntype TaonStorageObject = TaonStorageObjectBase & { keyVisible?: string };\n\n@Component({\n selector: 'taon-cms-assets-backoffice',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n MatButtonModule,\n TaonDatatableComponent,\n TaonCmsAssetPreviewComponent,\n ],\n providers: [TaonCmsContentApiService],\n templateUrl: './taon-cms-assets-backoffice.component.html',\n})\nexport class TaonCmsAssetsBackofficeComponent implements OnInit {\n readonly t = t.for(this);\n\n private readonly api = inject(TaonCmsContentApiService);\n\n private readonly destroyRef = inject(DestroyRef);\n\n readonly assets = signal<TaonStorageObject[]>([]);\n\n readonly loading = signal(false);\n\n readonly error = signal('');\n\n readonly columns: MtxGridColumn[] = [\n { header: 'ID', field: 'keyVisible', sortable: true, showExpand: true },\n { header: this.t.gettext('File Name'), field: 'fileName', sortable: true },\n {\n header: this.t.gettext('Content Type'),\n field: 'contentType',\n sortable: true,\n },\n ];\n\n ngOnInit(): void {\n this.reload();\n }\n\n reload(): void {\n if (this.loading()) {\n return;\n }\n this.loading.set(true);\n this.error.set('');\n this.api\n .listAssets()\n .pipe(\n map(c => c as TaonStorageObject[]),\n takeUntilDestroyed(this.destroyRef),\n finalize(() => this.loading.set(false)),\n )\n .subscribe({\n next: assets =>\n this.assets.set(\n assets.map(c => {\n c.keyVisible = _.first(c.key.split('__'));\n return c;\n }),\n ),\n error: (error: unknown) => {\n console.error(\n '[taon-cms-assets-backoffice] Unable to load assets',\n error,\n );\n this.error.set(\n this.t.gettext('Assets could not be loaded. Please try reloading.'),\n );\n },\n });\n }\n}\n","<h1>{{ t.gettext('CMS assets') }}</h1>\n<button\n mat-button\n type=\"button\"\n [disabled]=\"loading()\"\n (click)=\"reload()\">\n {{ t.gettext('Reload assets') }}\n</button>\n@if (loading()) {\n <p role=\"status\">{{ t.gettext('Loading assets...') }}</p>\n}\n@if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n}\n\n<ng-template\n #preview\n let-asset>\n <taon-cms-asset-preview [asset]=\"asset\" />\n</ng-template>\n\n<taon-datatable\n [data]=\"assets()\"\n [columns]=\"columns\"\n [allowedColumns]=\"['key', 'fileName', 'contentType']\"\n [hideAddButton]=\"true\"\n [expansionTemplate]=\"preview\"\n searchMode=\"advanced\">\n</taon-datatable>\n","import { Routes } from '@angular/router';\n\nexport const TaonCmsAssetsBackofficeRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-cms-assets-backoffice.component').then(\n m => m.TaonCmsAssetsBackofficeComponent,\n ),\n },\n];\n","//#region imports\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { RouterOutlet } from '@angular/router';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n//#endregion\n\nconst t = Translation.for('src/lib/taon-cms-backoffice/taon-cms-backoffice.component.ts', {\"src/lib/taon-cms-backoffice/taon-cms-backoffice.component.html\":{\"en-US\":async () => (await import('./i18n/taon-cms-backoffice.component.html.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-backoffice.component.html.de-DE.i18n.data')).default},\"src/lib/taon-cms-backoffice/taon-cms-backoffice.component.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-backoffice.component.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data')).default},\"src/lib/taon-cms-backoffice/taon-cms-backoffice.routes.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data')).default}} as any);\n\n@Component({\n selector: 'app-taon-cms-backoffice',\n templateUrl: './taon-cms-backoffice.component.html',\n styleUrls: ['./taon-cms-backoffice.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AsyncPipe, RouterOutlet],\n})\nexport class TaonCmsBackofficeComponent {\n readonly t = t.for(this);\n\n componentLoaded = false;\n\n onRouteActivate(component: any): void {\n this.componentLoaded = !!component;\n }\n\n onRouteDeactivate(component: any): void {\n this.componentLoaded = false;\n }\n}\n","@if (!componentLoaded) {\n <code>\n {{\n t.gettext('In CMS you can manage content and settings for your website.')\n }}\n </code>\n}\n\n<router-outlet\n (activate)=\"onRouteActivate($event)\"\n (deactivate)=\"onRouteDeactivate($event)\"></router-outlet>\n","//#region imports\nimport { Routes } from '@angular/router';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { adminLazyRoute as adminLazyRouteBase } from '@taon-dev/ui/browser';\nimport { Taon } from 'taon/browser';\n\nimport type { TaonAuthContextEntity } from '../decorators/taon-cms-authorization';\n//#endregion\n\nconst adminLazyRoute = adminLazyRouteBase<TaonAuthContextEntity>;\nconst t = Translation.for('src/lib/taon-cms-backoffice/taon-cms-backoffice.routes.ts', {\"src/lib/taon-cms-backoffice/taon-cms-backoffice.component.html\":{\"en-US\":async () => (await import('./i18n/taon-cms-backoffice.component.html.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-backoffice.component.html.de-DE.i18n.data')).default},\"src/lib/taon-cms-backoffice/taon-cms-backoffice.component.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-backoffice.component.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data')).default},\"src/lib/taon-cms-backoffice/taon-cms-backoffice.routes.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data')).default}} as any);\n\nexport const TaonCmsBackofficeRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-cms-backoffice.component').then(\n m => m.TaonCmsBackofficeComponent,\n ),\n\n children: [\n adminLazyRoute({\n isDisabled: ({ context }) => {\n // console.log('context', { context });\n return !context?.hasAccess.toManagePosts;\n },\n path: 'posts',\n menuItem: t.gettext('Posts'),\n expandable: true,\n icon: 'edit',\n loader: () =>\n import('../index').then(m => m.TaonCmsPostsBackofficeRoutes),\n }),\n adminLazyRoute({\n isDisabled: ({ context }) => !context?.hasAccess.toManagePosts,\n path: 'assets',\n menuItem: t.gettext('Assets'),\n expandable: false,\n icon: 'perm_media',\n loader: () =>\n import('../taon-cms-assets-backoffice/taon-cms-assets-backoffice.routes').then(\n m => m.TaonCmsAssetsBackofficeRoutes,\n ),\n }),\n adminLazyRoute({\n isDisabled: ({ context }) => !context?.hasAccess.toManagePosts,\n path: 'categories',\n menuItem: t.gettext('Categories'),\n expandable: false,\n icon: 'folder',\n loader: () =>\n import('../taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.routes').then(\n m => m.TaonCmsCategoriesBackofficeRoutes,\n ),\n }),\n adminLazyRoute({\n isDisabled: ({ context }) => !context?.hasAccess.toManagePosts,\n path: 'tags',\n menuItem: t.gettext('Tags'),\n expandable: false,\n icon: 'label',\n loader: () =>\n import('../taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.routes').then(\n m => m.TaonCmsTagsBackofficeRoutes,\n ),\n }),\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 TaonCmsBackofficeRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonCmsBackofficeRoutes;\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonCmsCategoryEntity } from './taon-cms-category.entity';\nimport { TaonCmsCategoryController } from './taon-cms-category.controller';\nimport type { TaonCmsCategoryFields } from './taon-cms-taxonomy.validation';\n\n@Injectable()\nexport class TaonCmsCategoryApiService extends TaonBaseAngularService {\n protected readonly taonCmsCategoryController = this.injectController(\n TaonCmsCategoryController,\n );\n\n public get allMyEntities$(): Observable<TaonCmsCategoryEntity[]> {\n return this.taonCmsCategoryController.getAll().request!().observable.pipe(\n map(res => res.body?.json),\n );\n }\n\n save(\n id: number | null,\n input: TaonCmsCategoryFields,\n ): Observable<TaonCmsCategoryEntity> {\n return this.taonCmsCategoryController\n .saveCategory(id, input)\n .request()\n .observable.pipe(map(res => res.body.json));\n }\n\n delete(id: number): Observable<void> {\n return this.taonCmsCategoryController\n .deleteCategory(id)\n .request()\n .observable.pipe(map(() => undefined));\n }\n}\n","import type { TaonCmsCategoryEntity } from './taon-cms-category.entity';\n\nexport const TaonCmsCategoryDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonCmsCategoryEntity>;","export enum TaonCmsCategoryState {\n Active = 'active',\n Inactive = 'inactive',\n}","import { TaonCmsCategoryState } from './taon-cms-category.models';\n\nexport namespace TaonCmsCategoryUtils {\n export function isActive(state: string): state is TaonCmsCategoryState {\n return state === 'active';\n }\n}","import { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nimport { contentError } from '../taon-cms-content/taon-cms-content.validation';\n\nconst t = Translation.for('src/lib/taon-cms-category/taon-cms-taxonomy.validation.ts', {\"src/lib/taon-cms-category/taon-cms-category.controller.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-category.controller.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-category.controller.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-category.controller.ts.de-DE.i18n.data')).default},\"src/lib/taon-cms-category/taon-cms-category.repository.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-category.repository.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-category.repository.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-category.repository.ts.de-DE.i18n.data')).default},\"src/lib/taon-cms-category/taon-cms-taxonomy.validation.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-taxonomy.validation.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-taxonomy.validation.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-taxonomy.validation.ts.de-DE.i18n.data')).default}} as any);\n\nexport interface TaonCmsTaxonomyFields {\n name: string;\n slug: string;\n description: string | null;\n}\n\nexport interface TaonCmsCategoryFields extends TaonCmsTaxonomyFields {\n parentCategoryId: number | null;\n sortOrder: number;\n}\n\nexport function validateTaxonomy(input: TaonCmsTaxonomyFields): void {\n if (\n !input ||\n typeof input.name !== 'string' ||\n !input.name.trim() ||\n typeof input.slug !== 'string' ||\n !input.slug.trim() ||\n (input.description !== null && typeof input.description !== 'string')\n ) {\n contentError(\n t.gettext('Name, slug, and a valid description are required.'),\n );\n }\n}\n\nexport function validateCategoryHierarchy(\n id: number | null,\n parentId: number | null,\n categories: { id: number; parentCategoryId: number | null }[],\n): void {\n const visited = new Set<number>();\n if (id !== null) {\n visited.add(id);\n }\n let current = parentId;\n while (current !== null) {\n if (visited.has(current)) {\n contentError(t.gettext('A category cannot be its own ancestor.'));\n }\n visited.add(current);\n const parent = categories.find(category => category.id === current);\n if (!parent) {\n contentError(t.gettext('The parent category does not exist.'));\n }\n current = parent.parentCategoryId;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonCmsCommentEntity } from './taon-cms-comment.entity';\nimport { TaonCmsCommentController } from './taon-cms-comment.controller';\n\n@Injectable()\nexport class TaonCmsCommentApiService extends TaonBaseAngularService {\n protected readonly taonCmsCommentController = this.injectController(TaonCmsCommentController);\n\n public get allMyEntities$(): Observable<TaonCmsCommentEntity[]> {\n return this.taonCmsCommentController.getAll().request!().observable.pipe(\n map(res => res.body?.json),\n );\n }\n\n public helloWorld(user:string): Observable<string> {\n return this.taonCmsCommentController.helloWord(user).request!().observable.pipe(\n map(res => res.responseText as string),\n );\n }\n}\n","import type { TaonCmsCommentEntity } from './taon-cms-comment.entity';\n\nexport const TaonCmsCommentDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonCmsCommentEntity>;","export enum TaonCmsCommentState {\n Active = 'active',\n Inactive = 'inactive',\n}","import { TaonCmsCommentState } from './taon-cms-comment.models';\n\nexport namespace TaonCmsCommentUtils {\n export function isActive(state: string): state is TaonCmsCommentState {\n return state === 'active';\n }\n}","import { Injectable } from '@angular/core';\nimport { TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonCmsContentProvider } from './taon-cms-content.provider';\n\n@Injectable()\nexport class TaonCmsContentConfigService extends TaonBaseAngularService {\n taonCmsContentProvider = this.injectProvider(TaonCmsContentProvider);\n}\n","import type { TaonCmsContentEntity } from './taon-cms-content.entity';\nimport { TaonCmsContentType } from './taon-cms-content.models';\n\nexport const TaonCmsContentDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n type: TaonCmsContentType.Normal,\n videoKey: null,\n audioKey: null,\n attachmentKey: null,\n thumbnailKey: null,\n} as Partial<TaonCmsContentEntity>;\n","import { TaonCmsContentState } from './taon-cms-content.models';\n\nexport namespace TaonCmsContentUtils {\n export function isActive(state: string): state is TaonCmsContentState {\n return state === 'active';\n }\n}","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonCmsContentAssetEntity } from './taon-cms-content-asset.entity';\nimport { TaonCmsContentAssetController } from './taon-cms-content-asset.controller';\n\n@Injectable()\nexport class TaonCmsContentAssetApiService extends TaonBaseAngularService {\n protected readonly taonCmsContentAssetController = this.injectController(\n TaonCmsContentAssetController,\n );\n\n public get allMyEntities$(): Observable<TaonCmsContentAssetEntity[]> {\n return this.taonCmsContentAssetController.getAll()\n .request!().observable.pipe(map(res => res.body?.json));\n }\n\n public helloWorld(user: string): Observable<string> {\n return this.taonCmsContentAssetController.helloWord(user)\n .request!().observable.pipe(map(res => res.responseText as string));\n }\n}\n","import type { TaonCmsContentAssetEntity } from './taon-cms-content-asset.entity';\n\nexport const TaonCmsContentAssetDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonCmsContentAssetEntity>;","export enum TaonCmsContentAssetState {\n Active = 'active',\n Inactive = 'inactive',\n}","import { TaonCmsContentAssetState } from './taon-cms-content-asset.models';\n\nexport namespace TaonCmsContentAssetUtils {\n export function isActive(state: string): state is TaonCmsContentAssetState {\n return state === 'active';\n }\n}","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonCmsContentPermissionEntity } from './taon-cms-content-permission.entity';\nimport { TaonCmsContentPermissionController } from './taon-cms-content-permission.controller';\n\n@Injectable()\nexport class TaonCmsContentPermissionApiService extends TaonBaseAngularService {\n protected readonly taonCmsContentPermissionController = this.injectController(\n TaonCmsContentPermissionController,\n );\n\n public get allMyEntities$(): Observable<TaonCmsContentPermissionEntity[]> {\n return this.taonCmsContentPermissionController.getAll()\n .request!().observable.pipe(map(res => res.body?.json));\n }\n\n public helloWorld(user: string): Observable<string> {\n return this.taonCmsContentPermissionController.helloWord(user)\n .request!().observable.pipe(map(res => res.responseText as string));\n }\n}\n","import type { TaonCmsContentPermissionEntity } from './taon-cms-content-permission.entity';\n\nexport const TaonCmsContentPermissionDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonCmsContentPermissionEntity>;","export enum TaonCmsContentPermissionState {\n Active = 'active',\n Inactive = 'inactive',\n}","import { TaonCmsContentPermissionState } from './taon-cms-content-permission.models';\n\nexport namespace TaonCmsContentPermissionUtils {\n export function isActive(state: string): state is TaonCmsContentPermissionState {\n return state === 'active';\n }\n}","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonCmsContentController } from '../taon-cms-content/taon-cms-content.controller';\nimport type { TaonCmsContentEntity } from '../taon-cms-content/taon-cms-content.entity';\nimport type { TaonCmsRestoreContent } from '../taon-cms-content/taon-cms-content.models';\n\nimport type { TaonCmsContentRevisionEntity } from './taon-cms-content-revision.entity';\nimport { TaonCmsContentRevisionController } from './taon-cms-content-revision.controller';\n\n@Injectable()\nexport class TaonCmsContentRevisionApiService extends TaonBaseAngularService {\n protected readonly contentController = this.injectController(\n TaonCmsContentController,\n );\n\n protected readonly taonCmsContentRevisionController = this.injectController(\n TaonCmsContentRevisionController,\n );\n\n public listRevisions(id: number): Observable<TaonCmsContentRevisionEntity[]> {\n return this.contentController.listRevisions(id).request!().observable.pipe(\n map(res => res.body.json),\n );\n }\n\n public restoreContent(\n id: number,\n input: TaonCmsRestoreContent,\n ): Observable<TaonCmsContentEntity> {\n return this.contentController.restoreContent(id, input)\n .request!().observable.pipe(map(res => res.body.json));\n }\n\n public get allMyEntities$(): Observable<TaonCmsContentRevisionEntity[]> {\n return this.taonCmsContentRevisionController.getAll()\n .request!().observable.pipe(map(res => res.body?.json));\n }\n}\n","import type { TaonCmsContentRevisionEntity } from './taon-cms-content-revision.entity';\n\nexport const TaonCmsContentRevisionDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonCmsContentRevisionEntity>;","export enum TaonCmsContentRevisionState {\n Active = 'active',\n Inactive = 'inactive',\n}","import { TaonCmsContentRevisionState } from './taon-cms-content-revision.models';\n\nexport namespace TaonCmsContentRevisionUtils {\n export function isActive(state: string): state is TaonCmsContentRevisionState {\n return state === 'active';\n }\n}","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonCmsContentTagEntity } from './taon-cms-content-tag.entity';\nimport { TaonCmsContentTagController } from './taon-cms-content-tag.controller';\n\n@Injectable()\nexport class TaonCmsContentTagApiService extends TaonBaseAngularService {\n protected readonly taonCmsContentTagController = this.injectController(\n TaonCmsContentTagController,\n );\n\n public get allMyEntities$(): Observable<TaonCmsContentTagEntity[]> {\n return this.taonCmsContentTagController.getAll().request!().observable.pipe(\n map(res => res.body?.json),\n );\n }\n}\n","import type { TaonCmsContentTagEntity } from './taon-cms-content-tag.entity';\n\nexport const TaonCmsContentTagDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonCmsContentTagEntity>;","export enum TaonCmsContentTagState {\n Active = 'active',\n Inactive = 'inactive',\n}","import { TaonCmsContentTagState } from './taon-cms-content-tag.models';\n\nexport namespace TaonCmsContentTagUtils {\n export function isActive(state: string): state is TaonCmsContentTagState {\n return state === 'active';\n }\n}","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonCmsTagEntity } from './taon-cms-tag.entity';\nimport { TaonCmsTagController } from './taon-cms-tag.controller';\nimport type { TaonCmsTaxonomyFields } from '../taon-cms-category/taon-cms-taxonomy.validation';\n\n@Injectable()\nexport class TaonCmsTagApiService extends TaonBaseAngularService {\n private readonly taonCmsTagController =\n this.injectController(TaonCmsTagController);\n\n get allMyEntities$(): Observable<TaonCmsTagEntity[]> {\n return this.taonCmsTagController\n .getAll()\n .request()\n .observable.pipe(map(res => res.body.json));\n }\n\n save(\n id: number | null,\n input: TaonCmsTaxonomyFields,\n ): Observable<TaonCmsTagEntity> {\n return this.taonCmsTagController\n .saveTag(id, input)\n .request()\n .observable.pipe(map(res => res.body.json));\n }\n\n delete(id: number): Observable<void> {\n return this.taonCmsTagController\n .deleteTag(id)\n .request()\n .observable.pipe(map(() => undefined));\n }\n}\n","import type { TaonCmsTagEntity } from './taon-cms-tag.entity';\n\nexport const TaonCmsTagDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonCmsTagEntity>;","export enum TaonCmsTagState {\n Active = 'active',\n Inactive = 'inactive',\n}","import { TaonCmsTagState } from './taon-cms-tag.models';\n\nexport namespace TaonCmsTagUtils {\n export function isActive(state: string): state is TaonCmsTagState {\n return state === 'active';\n }\n}","import {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n inject,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { ActivatedRoute } from '@angular/router';\nimport { MtxGridColumn } from '@ng-matero/extensions/grid';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport {\n TaonConfirmDialogComponent,\n TaonDatatableComponent,\n} from '@taon-dev/ui/browser';\nimport { Observable, finalize } from 'rxjs';\nimport { Taon } from 'taon/browser';\n\nimport { TaonCmsCategoryApiService } from '../taon-cms-category/taon-cms-category-api.service';\nimport type { TaonCmsCategoryEntity } from '../taon-cms-category/taon-cms-category.entity';\nimport type { TaonCmsCategoryFields } from '../taon-cms-category/taon-cms-taxonomy.validation';\nimport { TaonCmsTagApiService } from '../taon-cms-tag/taon-cms-tag-api.service';\nimport type { TaonCmsTagEntity } from '../taon-cms-tag/taon-cms-tag.entity';\n\nconst t = Translation.for('src/lib/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.ts', {\"src/lib/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.html\":{\"en-US\":async () => (await import('./i18n/taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data')).default},\"src/lib/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data')).default}} as any);\ntype TaxonomyRow = TaonCmsCategoryEntity | TaonCmsTagEntity;\n\n@Component({\n selector: 'taon-cms-taxonomy-backoffice',\n templateUrl: './taon-cms-taxonomy-backoffice.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n FormsModule,\n MatButtonModule,\n MatFormFieldModule,\n MatInputModule,\n MatSelectModule,\n TaonDatatableComponent,\n ],\n providers: [TaonCmsCategoryApiService, TaonCmsTagApiService],\n styles: [\n `\n :host {\n display: block;\n }\n form {\n display: grid;\n gap: 1rem;\n max-width: 640px;\n margin-block: 1.5rem;\n }\n .actions {\n display: flex;\n flex-wrap: wrap;\n gap: 0.5rem;\n }\n `,\n ],\n})\nexport class TaonCmsTaxonomyBackofficeComponent {\n readonly t = t.for(this);\n readonly isCategory =\n inject(ActivatedRoute).snapshot.data['taxonomy'] === 'category';\n private readonly categories = inject(TaonCmsCategoryApiService);\n private readonly tags = inject(TaonCmsTagApiService);\n private readonly destroyRef = inject(DestroyRef);\n private readonly dialog = inject(MatDialog);\n readonly rows = signal<TaxonomyRow[]>([]);\n readonly busy = signal(false);\n readonly error = signal('');\n readonly editing = signal(false);\n editingId: number | null = null;\n draft: TaonCmsCategoryFields = this.emptyDraft();\n\n readonly columns: MtxGridColumn[] = [\n { header: this.t.gettext('Name'), field: 'name', sortable: true },\n { header: this.t.gettext('Slug'), field: 'slug', sortable: true },\n ...(this.isCategory\n ? [\n {\n header: this.t.gettext('Parent Category'),\n field: 'parentName',\n sortable: true,\n },\n {\n header: this.t.gettext('Sort Order'),\n field: 'sortOrder',\n sortable: true,\n },\n ]\n : [\n {\n header: this.t.gettext('Description'),\n field: 'description',\n sortable: true,\n },\n ]),\n {\n header: this.t.gettext('Actions'),\n field: 'actions',\n type: 'button',\n buttons: [\n {\n type: 'icon',\n icon: 'edit',\n tooltip: this.t.gettext('Edit'),\n disabled: () => this.busy(),\n click: (row: TaxonomyRow) => this.edit(row),\n },\n {\n type: 'icon',\n icon: 'delete',\n tooltip: this.t.gettext('Delete'),\n disabled: () => this.busy(),\n click: (row: TaxonomyRow) => this.delete(row),\n },\n ],\n },\n ];\n\n ngOnInit(): void {\n this.reload();\n }\n\n reload(): void {\n if (this.busy()) {\n return;\n }\n const request: Observable<TaxonomyRow[]> = this.isCategory\n ? this.categories.allMyEntities$\n : this.tags.allMyEntities$;\n this.run(request, rows => this.rows.set(rows));\n }\n\n tableRows() {\n return this.rows().map(row => ({\n ...row,\n parentName:\n 'parentCategoryId' in row\n ? (this.rows().find(parent => parent.id === row.parentCategoryId)\n ?.name ?? '')\n : '',\n }));\n }\n\n parentOptions(): TaonCmsCategoryEntity[] {\n const categories = this.rows().filter(\n (row): row is TaonCmsCategoryEntity => 'parentCategoryId' in row,\n );\n return categories.filter(category => {\n const visited = new Set<number>();\n let current: TaonCmsCategoryEntity | undefined = category;\n while (current) {\n if (current.id === this.editingId || visited.has(current.id)) {\n return false;\n }\n visited.add(current.id);\n current = categories.find(\n parent => parent.id === current?.parentCategoryId,\n );\n }\n return true;\n });\n }\n\n edit(row?: TaxonomyRow): void {\n if (this.busy()) {\n return;\n }\n this.editingId = row?.id ?? null;\n this.draft = row\n ? {\n name: row.name,\n slug: row.slug,\n description: row.description,\n parentCategoryId:\n 'parentCategoryId' in row ? row.parentCategoryId : null,\n sortOrder: 'sortOrder' in row ? row.sortOrder : 0,\n }\n : this.emptyDraft();\n this.error.set('');\n this.editing.set(true);\n }\n\n save(): void {\n if (this.busy()) {\n return;\n }\n const request: Observable<TaxonomyRow> = this.isCategory\n ? this.categories.save(this.editingId, this.draft)\n : this.tags.save(this.editingId, this.draft);\n this.run(request, saved => {\n this.editing.set(false);\n this.rows.update(rows => [\n ...rows.filter(row => row.id !== saved.id),\n saved,\n ]);\n });\n }\n\n delete(row: TaxonomyRow): void {\n if (this.busy()) {\n return;\n }\n this.dialog\n .open(TaonConfirmDialogComponent, {\n data: {\n title: this.isCategory\n ? this.t.gettext('Delete category?')\n : this.t.gettext('Delete tag?'),\n message: this.t.gettext(\n 'Only unused items can be deleted. This cannot be undone.',\n ),\n confirmText: this.t.gettext('Delete'),\n },\n })\n .afterClosed()\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(confirmed => {\n if (confirmed) {\n this.run(\n this.isCategory\n ? this.categories.delete(row.id)\n : this.tags.delete(row.id),\n () => {\n if (this.editingId === row.id) {\n this.editing.set(false);\n }\n this.rows.update(rows => rows.filter(item => item.id !== row.id));\n },\n );\n }\n });\n }\n\n private run<T>(request: Observable<T>, next: (value: T) => void): void {\n if (this.busy()) {\n return;\n }\n this.busy.set(true);\n this.error.set('');\n request\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n finalize(() => this.busy.set(false)),\n )\n .subscribe({\n next: value => {\n this.busy.set(false);\n next(value);\n },\n error: (error: unknown) => {\n console.error('[taon-cms-taxonomy] Operation failed', error);\n this.error.set(\n this.t.gettext(\n 'The operation failed. Check for duplicate names or slugs, invalid parents, or items still used by posts or child categories, then reload and try again.',\n ),\n );\n },\n });\n }\n\n private emptyDraft(): TaonCmsCategoryFields {\n return {\n name: '',\n slug: '',\n description: '',\n parentCategoryId: null,\n sortOrder: 0,\n };\n }\n}\n","<h1>{{ isCategory ? t.gettext('Categories') : t.gettext('Tags') }}</h1>\n<div class=\"actions\">\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy()\"\n (click)=\"edit()\">\n {{ isCategory ? t.gettext('Create category') : t.gettext('Create tag') }}\n </button>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy()\"\n (click)=\"reload()\">\n {{ t.gettext('Reload') }}\n </button>\n</div>\n@if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n}\n@if (busy()) {\n <p role=\"status\">{{ t.gettext('Loading...') }}</p>\n}\n@if (editing()) {\n <form\n #form=\"ngForm\"\n (ngSubmit)=\"save()\">\n <h2>{{ editingId === null ? t.gettext('Create') : t.gettext('Edit') }}</h2>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Name') }}</mat-label>\n <input\n matInput\n name=\"name\"\n required\n [(ngModel)]=\"draft.name\"\n [disabled]=\"busy()\" />\n </mat-form-field>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Slug') }}</mat-label>\n <input\n matInput\n name=\"slug\"\n required\n [(ngModel)]=\"draft.slug\"\n [disabled]=\"busy()\" />\n </mat-form-field>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Description') }}</mat-label>\n <textarea\n matInput\n name=\"description\"\n [(ngModel)]=\"draft.description\"\n [disabled]=\"busy()\"></textarea>\n </mat-form-field>\n @if (isCategory) {\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Parent Category') }}</mat-label>\n <mat-select\n name=\"parentCategoryId\"\n [(ngModel)]=\"draft.parentCategoryId\"\n [disabled]=\"busy()\">\n <mat-option [value]=\"null\">{{ t.gettext('None') }}</mat-option>\n @for (category of parentOptions(); track category.id) {\n <mat-option [value]=\"category.id\">{{ category.name }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Sort Order') }}</mat-label>\n <input\n matInput\n name=\"sortOrder\"\n type=\"number\"\n step=\"1\"\n required\n [(ngModel)]=\"draft.sortOrder\"\n [disabled]=\"busy()\" />\n </mat-form-field>\n }\n <div class=\"actions\">\n <button\n mat-flat-button\n type=\"submit\"\n [disabled]=\"\n busy() || form.invalid || !draft.name.trim() || !draft.slug.trim()\n \">\n {{ t.gettext('Save') }}\n </button>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy()\"\n (click)=\"editing.set(false)\">\n {{ t.gettext('Cancel') }}\n </button>\n </div>\n </form>\n}\n<taon-datatable\n [data]=\"tableRows()\"\n [columns]=\"columns\"\n [hideAddButton]=\"true\"\n searchMode=\"advanced\">\n</taon-datatable>\n","import { Routes } from '@angular/router';\n\nexport const TaonCmsCategoriesBackofficeRoutes: Routes = [\n {\n path: '',\n data: { taxonomy: 'category' },\n loadComponent: () =>\n import('./taon-cms-taxonomy-backoffice.component').then(\n m => m.TaonCmsTaxonomyBackofficeComponent,\n ),\n },\n];\n\nexport const TaonCmsTagsBackofficeRoutes: Routes = [\n {\n path: '',\n data: { taxonomy: 'tag' },\n loadComponent: () =>\n import('./taon-cms-taxonomy-backoffice.component').then(\n m => m.TaonCmsTaxonomyBackofficeComponent,\n ),\n },\n];\n","import {\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n Output,\n SecurityContext,\n inject,\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Directive({\n selector: '[taonCmsEditable]',\n})\nexport class TaonCmsEditableDirective {\n private readonly element = inject<ElementRef<HTMLElement>>(ElementRef)\n .nativeElement;\n private readonly sanitizer = inject(DomSanitizer);\n private value = '';\n private composing = false;\n\n @Input() taonCmsEditableFormat: 'text' | 'html' = 'text';\n @Input() taonCmsEditableSingleLine = false;\n @Output() readonly taonCmsEditableChange = new EventEmitter<string>();\n\n @Input()\n set taonCmsEditable(value: string) {\n if (value === this.value) {\n return;\n }\n this.value = value;\n this.render();\n }\n\n @HostListener('compositionstart')\n compositionStart(): void {\n this.composing = true;\n }\n\n @HostListener('compositionend')\n compositionEnd(): void {\n this.composing = false;\n this.onInput();\n }\n\n @HostListener('input')\n onInput(): void {\n if (this.composing) {\n return;\n }\n const text = this.element.innerText;\n this.value =\n this.taonCmsEditableFormat === 'html'\n ? this.sanitize(this.element.innerHTML)\n : this.taonCmsEditableSingleLine\n ? text.replace(/\\s*\\n\\s*/g, ' ')\n : text;\n // Remember emitted values so Angular does not rewrite the DOM/caret on input.\n this.taonCmsEditableChange.emit(this.value);\n }\n\n @HostListener('blur')\n onBlur(): void {\n this.onInput();\n this.render();\n }\n\n @HostListener('keydown', ['$event'])\n onKeydown(event: KeyboardEvent): void {\n if (this.taonCmsEditableSingleLine && event.key === 'Enter') {\n event.preventDefault();\n }\n }\n\n @HostListener('paste', ['$event'])\n onPaste(event: ClipboardEvent): void {\n event.preventDefault();\n const selection = this.element.ownerDocument.getSelection();\n if (!selection?.rangeCount || !event.clipboardData) {\n return;\n }\n const range = selection.getRangeAt(0);\n if (!this.element.contains(range.commonAncestorContainer)) {\n return;\n }\n const pasted = event.clipboardData.getData('text/plain');\n const text = this.taonCmsEditableSingleLine\n ? pasted.replace(/\\s*\\n\\s*/g, ' ')\n : pasted;\n range.deleteContents();\n const node = this.element.ownerDocument.createTextNode(text);\n range.insertNode(node);\n range.setStartAfter(node);\n range.collapse(true);\n selection.removeAllRanges();\n selection.addRange(range);\n this.onInput();\n }\n\n private sanitize(value: string): string {\n return this.sanitizer.sanitize(SecurityContext.HTML, value) ?? '';\n }\n\n private render(): void {\n if (this.taonCmsEditableFormat === 'html') {\n this.element.innerHTML = this.sanitize(this.value);\n } else {\n this.element.textContent = this.value;\n }\n }\n}\n","import { DatePipe } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n HostListener,\n inject,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { MatButtonModule } from '@angular/material/button';\nimport {\n MAT_DIALOG_DATA,\n MatDialogModule,\n MatDialogRef,\n} from '@angular/material/dialog';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { finalize } from 'rxjs';\nimport { Taon } from 'taon/browser';\n\nimport type { TaonCmsContentEntity } from '../../taon-cms-content/taon-cms-content.entity';\nimport { TaonCmsContentRevisionApiService } from '../../taon-cms-content-revision/taon-cms-content-revision-api.service';\nimport type { TaonCmsContentRevisionEntity } from '../../taon-cms-content-revision/taon-cms-content-revision.entity';\n\nconst t = Translation.for('src/lib/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.ts', {\"src/lib/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.html\":{\"en-US\":async () => (await import('./i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data')).default},\"src/lib/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data')).default}} as any);\n\n@Component({\n selector: 'taon-cms-revision-chooser',\n templateUrl: './taon-cms-revision-chooser.component.html',\n styleUrls: ['./taon-cms-revision-chooser.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [DatePipe, MatButtonModule, MatDialogModule, MatRadioModule],\n providers: [TaonCmsContentRevisionApiService],\n})\nexport class TaonCmsRevisionChooserComponent {\n readonly t = t.for(this);\n\n readonly post = inject<TaonCmsContentEntity>(MAT_DIALOG_DATA);\n\n readonly revisions = signal<TaonCmsContentRevisionEntity[]>([]);\n\n readonly selected = signal<number | null>(null);\n\n readonly loading = signal(false);\n\n readonly applying = signal(false);\n\n readonly error = signal('');\n\n private readonly api = inject(TaonCmsContentRevisionApiService);\n\n private readonly ref = inject(\n MatDialogRef<TaonCmsRevisionChooserComponent, TaonCmsContentEntity>,\n );\n\n private readonly destroyRef = inject(DestroyRef);\n\n constructor() {\n this.load();\n }\n\n @HostListener('document:keydown.escape', ['$event'])\n onEscape(event: KeyboardEvent): void {\n event.stopPropagation();\n this.ref.close();\n }\n\n load(): void {\n if (this.loading() || this.applying()) {\n return;\n }\n this.selected.set(null);\n this.loading.set(true);\n this.error.set('');\n this.api\n .listRevisions(this.post.id)\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n finalize(() => this.loading.set(false)),\n )\n .subscribe({\n next: revisions =>\n this.revisions.set(\n [...revisions].sort((a, b) => b.revisionNumber - a.revisionNumber),\n ),\n error: (error: unknown) => {\n console.error(\n '[taon-cms-revision-chooser] Unable to load revisions',\n error,\n );\n this.error.set(\n this.t.gettext('Revisions could not be loaded. Please try again.'),\n );\n },\n });\n }\n\n apply(): void {\n const revisionNumber = this.selected();\n if (this.loading() || this.applying()) {\n return;\n }\n if (revisionNumber === null) {\n this.error.set(this.t.gettext('Select a revision to restore.'));\n return;\n }\n this.applying.set(true);\n this.error.set('');\n this.api\n .restoreContent(this.post.id, {\n revisionNumber,\n expectedVersion: this.post.version,\n })\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n finalize(() => this.applying.set(false)),\n )\n .subscribe({\n next: post => this.ref.close(post),\n error: (error: unknown) => {\n console.error(\n '[taon-cms-revision-chooser] Unable to restore revision',\n error,\n );\n this.error.set(\n this.t.gettext(\n 'The revision could not be restored. If the post changed, close and reopen it to load its latest version.',\n ),\n );\n },\n });\n }\n\n cancel(): void {\n if (!this.applying()) {\n this.ref.close();\n }\n }\n}\n","<h2 mat-dialog-title>{{ t.gettext('Restore a revision') }}</h2>\n<mat-dialog-content>\n <p>\n {{\n t.gettext(\n 'Restoring replaces the post, including its status, with the selected revision.'\n )\n }}\n </p>\n @if (loading()) {\n <p role=\"status\">{{ t.gettext('Loading revisions...') }}</p>\n } @else {\n <mat-radio-group\n [attr.aria-label]=\"t.gettext('Post revisions')\"\n [value]=\"selected()\"\n (change)=\"selected.set($event.value)\"\n [disabled]=\"applying()\">\n @for (revision of revisions(); track revision.id) {\n <mat-radio-button\n [value]=\"revision.revisionNumber\"\n [disabled]=\"!revision.snapshot\">\n <strong>{{\n t.gettext('Revision [[ revisionNumber ]]', {\n revisionNumber: revision.revisionNumber,\n })\n }}</strong>\n <span>{{ revision.createdAt | date: 'medium' }}</span>\n @if (\n revision.createdByUserId !== null &&\n revision.createdByUserId !== undefined\n ) {\n <span>{{\n t.gettext('User [[ userId ]]', {\n userId: revision.createdByUserId,\n })\n }}</span>\n }\n @if (!revision.snapshot) {\n <span>{{ t.gettext('Legacy revision - cannot be restored') }}</span>\n }\n </mat-radio-button>\n } @empty {\n <p>{{ t.gettext('No revisions are available.') }}</p>\n }\n </mat-radio-group>\n }\n @if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"loading() || applying()\"\n (click)=\"load()\">\n {{ t.gettext('Reload revisions') }}\n </button>\n }\n @if (applying()) {\n <p role=\"status\">{{ t.gettext('Restoring...') }}</p>\n }\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button\n mat-button\n type=\"button\"\n [disabled]=\"applying()\"\n (click)=\"cancel()\">\n {{ t.gettext('Cancel') }}\n </button>\n <button\n mat-flat-button\n type=\"button\"\n [disabled]=\"loading() || applying() || selected() === null\"\n (click)=\"apply()\">\n {{ t.gettext('Apply') }}\n </button>\n</mat-dialog-actions>\n","import {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n computed,\n inject,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { MatButtonModule } from '@angular/material/button';\nimport {\n MAT_DIALOG_DATA,\n MatDialogModule,\n MatDialogRef,\n} from '@angular/material/dialog';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { finalize } from 'rxjs';\nimport { Taon } from 'taon/browser';\n\nimport { TaonCmsContentApiService } from '../../taon-cms-content/taon-cms-content-api.service';\nimport type { TaonCmsContentEntity } from '../../taon-cms-content/taon-cms-content.entity';\n\nconst t = Translation.for('src/lib/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.ts', {\"src/lib/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.html\":{\"en-US\":async () => (await import('./i18n/taon-related-post-chooser.component.html.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-related-post-chooser.component.html.de-DE.i18n.data')).default},\"src/lib/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.ts\":{\"en-US\":async () => (await import('./i18n/taon-related-post-chooser.component.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data')).default}} as any);\n\nexport interface TaonRelatedPostChooserData {\n postId?: number;\n excludedIds: number[];\n}\n\n@Component({\n selector: 'taon-related-post-chooser',\n templateUrl: './taon-related-post-chooser.component.html',\n styleUrls: ['./taon-related-post-chooser.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatButtonModule, MatDialogModule, MatRadioModule],\n providers: [TaonCmsContentApiService],\n})\nexport class TaonRelatedPostChooserComponent {\n readonly t = t.for(this);\n\n readonly data = inject<TaonRelatedPostChooserData>(MAT_DIALOG_DATA);\n readonly posts = signal<TaonCmsContentEntity[]>([]);\n readonly selected = signal<number | null>(null);\n readonly query = signal('');\n readonly loading = signal(false);\n readonly error = signal('');\n readonly filteredPosts = computed(() => {\n const query = this.query().trim().toLowerCase();\n return this.posts().filter(\n post =>\n post.id !== this.data.postId &&\n !this.data.excludedIds.includes(post.id) &&\n `${post.id} ${post.title} ${post.slug}`.toLowerCase().includes(query),\n );\n });\n\n private readonly api = inject(TaonCmsContentApiService);\n private readonly ref = inject(\n MatDialogRef<TaonRelatedPostChooserComponent, TaonCmsContentEntity>,\n );\n private readonly destroyRef = inject(DestroyRef);\n\n constructor() {\n this.load();\n }\n\n load(): void {\n if (this.loading()) {\n return;\n }\n this.loading.set(true);\n this.selected.set(null);\n this.error.set('');\n this.api.allMyEntities$\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n finalize(() => this.loading.set(false)),\n )\n .subscribe({\n next: posts => this.posts.set(posts),\n error: (error: unknown) => {\n console.error(\n '[taon-related-post-chooser] Unable to load posts',\n error,\n );\n this.error.set(\n this.t.gettext('Posts could not be loaded. Please try again.'),\n );\n },\n });\n }\n\n search(event: Event): void {\n if (event.target instanceof HTMLInputElement) {\n this.query.set(event.target.value);\n this.selected.set(null);\n }\n }\n\n choose(): void {\n if (this.loading() || this.error()) {\n return;\n }\n const post = this.filteredPosts().find(post => post.id === this.selected());\n if (!post) {\n this.error.set(this.t.gettext('Select a related post.'));\n return;\n }\n this.ref.close(post);\n }\n\n cancel(): void {\n this.ref.close();\n }\n}\n","<h2 mat-dialog-title>{{ t.gettext('Add related post') }}</h2>\n<mat-dialog-content>\n <label class=\"search-field\">\n <span>{{ t.gettext('Search posts') }}</span>\n <input\n type=\"search\"\n [attr.aria-label]=\"t.gettext('Search posts by ID, title or slug')\"\n [value]=\"query()\"\n [disabled]=\"loading()\"\n (input)=\"search($event)\" />\n </label>\n @if (loading()) {\n <p role=\"status\">{{ t.gettext('Loading posts...') }}</p>\n } @else if (error()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ error() }}\n </p>\n <button\n mat-button\n type=\"button\"\n (click)=\"load()\">\n {{ t.gettext('Try again') }}\n </button>\n } @else {\n <mat-radio-group\n [attr.aria-label]=\"t.gettext('Related post')\"\n [value]=\"selected()\"\n (change)=\"selected.set($event.value)\">\n @for (post of filteredPosts(); track post.id) {\n <mat-radio-button [value]=\"post.id\">\n #{{ post.id }} - {{ post.title }}\n <span class=\"slug\">{{ post.slug }}</span>\n </mat-radio-button>\n } @empty {\n <p>{{ t.gettext('No matching posts available.') }}</p>\n }\n </mat-radio-group>\n }\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button\n mat-button\n type=\"button\"\n (click)=\"cancel()\">\n {{ t.gettext('Cancel') }}\n </button>\n <button\n mat-flat-button\n type=\"button\"\n [disabled]=\"loading() || !!error() || selected() === null\"\n (click)=\"choose()\">\n {{ t.gettext('Add related post') }}\n </button>\n</mat-dialog-actions>\n","import { TaonCmsContentType } from '../../taon-cms-content/taon-cms-content.models';\n\nexport function defaultThumbnailKey(type: TaonCmsContentType): string {\n return `cms-placeholder:${type}`;\n}\n\nexport function defaultThumbnailUrl(key: string): string | null {\n const type = Object.values(TaonCmsContentType).find(\n value => key === defaultThumbnailKey(value),\n );\n if (!type) {\n return null;\n }\n const shapes: Record<TaonCmsContentType, string> = {\n normal:\n '<path d=\"M260 126h120v112H260z M280 152h80m-80 20h80m-80 20h52\" />',\n video:\n '<rect x=\"248\" y=\"132\" width=\"144\" height=\"100\" rx=\"16\"/><path d=\"m308 158 40 24-40 24z\"/>',\n audio: '<path d=\"M280 164v40m20-60v80m20-98v116m20-98v80m20-60v40\"/>',\n attachment:\n '<path d=\"M276 124h60l32 32v84h-92z M336 124v36h32m-70 30h48m-48 22h36\"/>',\n };\n const svg = `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"640\" height=\"360\" viewBox=\"0 0 640 360\"><defs><linearGradient id=\"bg\" x2=\"1\" y2=\"1\"><stop stop-color=\"#eaf0ff\"/><stop offset=\"1\" stop-color=\"#e4f5f0\"/></linearGradient></defs><rect width=\"640\" height=\"360\" rx=\"24\" fill=\"url(#bg)\"/><circle cx=\"320\" cy=\"180\" r=\"112\" fill=\"#fff\" opacity=\".65\"/><g fill=\"none\" stroke=\"#52669a\" stroke-width=\"7\" stroke-linecap=\"round\" stroke-linejoin=\"round\">${shapes[type]}</g></svg>`;\n return `data:image/svg+xml,${encodeURIComponent(svg)}`;\n}\n\nexport function visiblePixelRatio(pixels: Uint8ClampedArray): number {\n let visible = 0;\n for (let index = 0; index < pixels.length; index += 4) {\n const luminance =\n 0.2126 * pixels[index] +\n 0.7152 * pixels[index + 1] +\n 0.0722 * pixels[index + 2];\n if (luminance > 18) {\n visible += 1;\n }\n }\n return pixels.length ? visible / (pixels.length / 4) : 0;\n}\n\nfunction videoEvent(\n video: HTMLVideoElement,\n event: string,\n action: () => void,\n): Promise<void> {\n return new Promise((resolve, reject) => {\n const cleanup = () => {\n clearTimeout(timeout);\n video.removeEventListener(event, done);\n video.removeEventListener('error', failed);\n };\n const done = () => {\n cleanup();\n resolve();\n };\n const failed = () => {\n cleanup();\n reject(new Error(video.error?.message || 'Video decoding failed.'));\n };\n const timeout = setTimeout(() => {\n cleanup();\n reject(new Error('Video decoding timed out.'));\n }, 15000);\n video.addEventListener(event, done, { once: true });\n video.addEventListener('error', failed, { once: true });\n try {\n action();\n } catch (error: unknown) {\n cleanup();\n reject(error);\n }\n });\n}\n\nexport async function generateVideoThumbnail(file: Blob): Promise<Blob> {\n const video = document.createElement('video');\n const url = URL.createObjectURL(file);\n try {\n video.muted = true;\n video.playsInline = true;\n video.preload = 'auto';\n await videoEvent(video, 'loadeddata', () => {\n video.src = url;\n video.load();\n });\n if (!video.videoWidth || !video.videoHeight) {\n throw new Error('The video has no decodable dimensions.');\n }\n const analysis = document.createElement('canvas');\n analysis.width = 64;\n analysis.height = Math.max(\n 1,\n Math.round((64 * video.videoHeight) / video.videoWidth),\n );\n const context = analysis.getContext('2d', { willReadFrequently: true });\n if (!context) {\n throw new Error('Canvas is unavailable.');\n }\n const seek = async (time: number) => {\n if (Math.abs(video.currentTime - time) > 0.001) {\n await videoEvent(video, 'seeked', () => {\n video.currentTime = time;\n });\n }\n };\n const end = Number.isFinite(video.duration)\n ? Math.min(5, Math.max(0, video.duration - 0.01))\n : 5;\n let bestTime = 0;\n let bestRatio = -1;\n let found = false;\n for (let time = 0; time <= end; time += 0.25) {\n await seek(time);\n context.drawImage(video, 0, 0, analysis.width, analysis.height);\n const ratio = visiblePixelRatio(\n context.getImageData(0, 0, analysis.width, analysis.height).data,\n );\n if (ratio > bestRatio) {\n bestRatio = ratio;\n bestTime = time;\n }\n // Small highlights or a subject in a dark scene are enough.\n if (ratio >= 0.02) {\n found = true;\n break;\n }\n }\n if (!found) {\n await seek(bestTime);\n }\n const canvas = document.createElement('canvas');\n const scale = Math.min(1, 1280 / video.videoWidth, 720 / video.videoHeight);\n canvas.width = Math.max(1, Math.round(video.videoWidth * scale));\n canvas.height = Math.max(1, Math.round(video.videoHeight * scale));\n const output = canvas.getContext('2d');\n if (!output) {\n throw new Error('Canvas is unavailable.');\n }\n output.drawImage(video, 0, 0, canvas.width, canvas.height);\n return await new Promise<Blob>((resolve, reject) => {\n canvas.toBlob(\n blob =>\n blob\n ? resolve(blob)\n : reject(new Error('Thumbnail encoding failed.')),\n 'image/webp',\n 0.85,\n );\n });\n } finally {\n try {\n video.pause();\n video.removeAttribute('src');\n video.load();\n } finally {\n URL.revokeObjectURL(url);\n }\n }\n}\n","//#region imports\nimport {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n computed,\n effect,\n inject,\n input,\n model,\n output,\n signal,\n untracked,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatSelectModule } from '@angular/material/select';\nimport { TaonPermissionApiService } from '@taon-dev/session/browser';\nimport type { TaonPermissionEntity } from '@taon-dev/session/browser';\nimport { TaonConfirmDialogComponent } from '@taon-dev/ui/browser';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport {\n Observable,\n Subscription,\n finalize,\n firstValueFrom,\n forkJoin,\n of,\n take,\n} from 'rxjs';\nimport { Taon } from 'taon/browser';\n\nimport type { TaonCmsApplicationHookEntity } from '../../taon-cms-application-hook/taon-cms-application-hook.entity';\nimport type { TaonCmsApplicationHook } from '../../taon-cms-application-hooks';\nimport { TaonCmsContentApiService } from '../../taon-cms-content/taon-cms-content-api.service';\nimport type { TaonCmsContentEntity } from '../../taon-cms-content/taon-cms-content.entity';\nimport type { TaonCmsUpdateContent } from '../../taon-cms-content/taon-cms-content.models';\nimport { TaonCmsContentType } from '../../taon-cms-content/taon-cms-content.models';\nimport { TaonCmsRevisionChooserComponent } from '../taon-cms-revision-chooser/taon-cms-revision-chooser.component';\nimport { TaonRelatedPostChooserComponent } from '../taon-related-post-chooser/taon-related-post-chooser.component';\nimport type { TaonRelatedPostChooserData } from '../taon-related-post-chooser/taon-related-post-chooser.component';\n\nimport { TaonCmsEditableDirective } from './taon-cms-editable.directive';\nimport {\n defaultThumbnailKey,\n defaultThumbnailUrl,\n generateVideoThumbnail,\n} from './taon-cms-thumbnail';\nimport { TaonCmsCategoryApiService } from '../../taon-cms-category/taon-cms-category-api.service';\nimport type { TaonCmsCategoryEntity } from '../../taon-cms-category/taon-cms-category.entity';\nimport { TaonCmsTagApiService } from '../../taon-cms-tag/taon-cms-tag-api.service';\nimport type { TaonCmsTagEntity } from '../../taon-cms-tag/taon-cms-tag.entity';\nimport type { TaonCmsPostDraft, TaonCmsPostMode } from './taon-cms-post.models';\n//#endregion\n\nconst t = Translation.for('src/lib/taon-posts/taon-cms-post/taon-cms-post.component.ts', {\"src/lib/taon-posts/taon-cms-post/taon-cms-post.component.html\":{\"en-US\":async () => (await import('./i18n/taon-cms-post.component.html.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-post.component.html.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-post.component.html.de-DE.i18n.data')).default},\"src/lib/taon-posts/taon-cms-post/taon-cms-post.component.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-post.component.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-post.component.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-post.component.ts.de-DE.i18n.data')).default}} as any);\n\n@Component({\n selector: 'taon-cms-post',\n templateUrl: './taon-cms-post.component.html',\n styleUrls: ['./taon-cms-post.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n MatButtonModule,\n MatCheckboxModule,\n MatFormFieldModule,\n MatIconModule,\n MatInputModule,\n MatChipsModule,\n MatProgressBarModule,\n MatRadioModule,\n MatSelectModule,\n TaonCmsEditableDirective,\n ],\n providers: [\n TaonCmsContentApiService,\n TaonPermissionApiService,\n TaonCmsCategoryApiService,\n TaonCmsTagApiService,\n ],\n})\nexport class TaonCmsPostComponent {\n readonly t = t.for(this);\n\n //#region fields and getters\n readonly post = input<TaonCmsContentEntity | null>(null);\n\n readonly mode = model<TaonCmsPostMode>('view');\n\n readonly changed = output<TaonCmsContentEntity>();\n\n readonly deleted = output<TaonCmsContentEntity>();\n\n readonly duplicated = output<TaonCmsContentEntity>();\n\n readonly cancelled = output<void>();\n\n readonly currentPost = signal<TaonCmsContentEntity | null>(null);\n\n readonly placeholderShortIntro = this.t.signal.gettext(\n 'A short introduction...',\n );\n\n readonly placeholderTitle = this.t.signal.gettext('Title');\n\n readonly placeholderTellYourStory =\n this.t.signal.gettext('Tell your story...');\n\n readonly draft = signal<TaonCmsPostDraft>({\n type: TaonCmsContentType.Normal,\n title: '',\n slug: '',\n excerpt: '',\n body: '',\n videoKey: null,\n audioKey: null,\n attachmentKey: null,\n thumbnailKey: null,\n categoryId: null,\n tagIds: [],\n });\n\n readonly postTypes = [\n {\n value: TaonCmsContentType.Normal,\n label: this.t.gettext('Normal post'),\n },\n { value: TaonCmsContentType.Video, label: this.t.gettext('Video post') },\n { value: TaonCmsContentType.Audio, label: this.t.gettext('Audio post') },\n {\n value: TaonCmsContentType.Attachment,\n label: this.t.gettext('Attachment post'),\n },\n ];\n\n private readonly mediaAttachments = [\n {\n type: TaonCmsContentType.Video,\n key: 'videoKey',\n heading: this.t.gettext('Video Attachment'),\n uploadLabel: this.t.gettext('Upload video'),\n accept: 'video/*',\n },\n {\n type: TaonCmsContentType.Audio,\n key: 'audioKey',\n heading: this.t.gettext('Audio Attachment'),\n uploadLabel: this.t.gettext('Upload audio'),\n accept: 'audio/*',\n },\n {\n type: TaonCmsContentType.Attachment,\n key: 'attachmentKey',\n heading: this.t.gettext('File Attachment'),\n uploadLabel: this.t.gettext('Upload file'),\n accept: '',\n },\n ] as const;\n\n readonly mediaAttachment = computed(() =>\n this.mediaAttachments.find(media => media.type === this.draft().type),\n );\n\n readonly busy = signal(false);\n readonly thumbnailPreviewUrl = signal('');\n readonly thumbnailError = signal('');\n private readonly thumbnailReference = computed(\n () => this.draft().thumbnailKey,\n );\n private readonly thumbnailSlug = computed(() => this.draft().slug);\n readonly taxonomyLoading = signal(false);\n readonly taxonomyError = signal('');\n readonly categories = signal<TaonCmsCategoryEntity[]>([]);\n readonly tags = signal<TaonCmsTagEntity[]>([]);\n readonly tagSearch = signal('');\n readonly filteredTags = computed(() => {\n const query = this.tagSearch().trim().toLowerCase();\n return this.tags().filter(\n tag =>\n !this.draft().tagIds.includes(tag.id) &&\n `${tag.name} ${tag.slug}`.toLowerCase().includes(query),\n );\n });\n readonly selectedTags = computed(() =>\n this.tags().filter(tag => this.draft().tagIds.includes(tag.id)),\n );\n private readonly categoryApi = inject(TaonCmsCategoryApiService);\n private readonly tagApi = inject(TaonCmsTagApiService);\n private taxonomyLoad?: Subscription;\n private editorSession = 0;\n private thumbnailObjectUrl = '';\n private readonly stagedThumbnail = signal<{\n key: string | null;\n url: string;\n } | null>(null);\n\n readonly uploading = signal(false);\n\n readonly uploadProgress = signal(0);\n\n readonly mediaPreviewUrl = signal('');\n\n readonly mediaPreviewLoading = signal(false);\n\n readonly mediaPreviewError = signal('');\n\n private readonly mediaFileNames = signal<Record<string, string>>({});\n\n private readonly uploadedMediaPreview = signal<{\n key: string;\n url: string;\n fileName: string;\n } | null>(null);\n\n private mediaPreviewRequest = 0;\n\n private mediaPreviewSignature = '';\n\n readonly dialogOpen = signal(false);\n\n readonly error = signal('');\n\n readonly relatedPosts = signal<TaonCmsContentEntity[]>([]);\n\n readonly relatedPostsLoading = signal(false);\n\n readonly relatedPostsError = signal('');\n\n readonly applicationHooks = signal<TaonCmsApplicationHookEntity[]>([]);\n\n readonly applicationHooksLoading = signal(false);\n\n readonly applicationHooksError = signal('');\n\n readonly useAsApplicationHook = signal(false);\n\n readonly selectedApplicationHook = signal<TaonCmsApplicationHook | null>(\n null,\n );\n\n readonly permissions = signal<TaonPermissionEntity[]>([]);\n\n readonly applyPermissionsToRelatedPosts = signal(false);\n\n readonly permissionSource = signal<{ id: number; title: string } | null>(\n null,\n );\n\n readonly permissionsLoading = signal(false);\n\n readonly permissionsError = signal('');\n\n readonly permissionOptions = signal<TaonPermissionEntity[]>([]);\n\n readonly permissionOptionsLoading = signal(false);\n\n readonly permissionOptionsError = signal('');\n\n readonly selectedPermissionId = signal<number | null>(null);\n\n readonly availablePermissions = computed(() => {\n const assignedIds = new Set(\n this.permissions().map(permission => permission.id),\n );\n return this.permissionOptions().filter(\n permission => !assignedIds.has(permission.id),\n );\n });\n\n readonly editing = computed(\n () => this.mode() === 'edit' || this.mode() === 'add',\n );\n\n readonly canSave = computed(\n () =>\n !!this.draft().title.trim() &&\n !!this.draft().slug.trim() &&\n !this.relatedPostsLoading() &&\n !this.relatedPostsError() &&\n !this.applicationHooksLoading() &&\n !this.applicationHooksError() &&\n (!this.useAsApplicationHook() || !!this.selectedApplicationHook()) &&\n !this.permissionsLoading() &&\n !this.permissionsError() &&\n !this.taxonomyLoading() &&\n !this.taxonomyError(),\n );\n\n readonly canPublish = computed(() => {\n const post = this.currentPost();\n return !!post && post.status !== 'published';\n });\n\n private readonly api = inject(TaonCmsContentApiService);\n\n private readonly permissionApi = inject(TaonPermissionApiService);\n\n private readonly dialog = inject(MatDialog);\n\n private readonly destroyRef = inject(DestroyRef);\n\n private relatedPostsLoad?: Subscription;\n\n private applicationHooksLoad?: Subscription;\n\n private permissionsLoad?: Subscription;\n //#endregion\n\n //#region constructor\n constructor() {\n effect(() => {\n const post = this.post();\n untracked(() => this.setPost(post));\n });\n effect(() => {\n if (this.editing()) {\n untracked(() => {\n this.loadApplicationHooks();\n this.loadPermissionOptions();\n this.loadTaxonomy();\n });\n }\n });\n effect(onCleanup => {\n const key = this.thumbnailReference();\n const slug = this.thumbnailSlug();\n const editing = this.editing();\n const staged = this.stagedThumbnail();\n let active = true;\n onCleanup(() => {\n active = false;\n });\n this.thumbnailError.set('');\n this.thumbnailPreviewUrl.set('');\n if (staged && staged.key === key) {\n this.thumbnailPreviewUrl.set(staged.url);\n return;\n }\n if (!key) {\n return;\n }\n const placeholder = defaultThumbnailUrl(key);\n if (placeholder) {\n this.thumbnailPreviewUrl.set(placeholder);\n return;\n }\n if (!slug) {\n return;\n }\n const load = async () => {\n if (editing) {\n return this.api.getAssetUrl(key);\n }\n try {\n return await this.api.getThumbnailLinkBySlug(slug, true);\n } catch {\n return this.api.getThumbnailLinkBySlug(slug);\n }\n };\n void load()\n .then(url => {\n if (active && !this.destroyRef.destroyed) {\n this.thumbnailPreviewUrl.set(url);\n }\n })\n .catch((error: unknown) => {\n console.error('[taon-cms-post] Unable to load thumbnail', error);\n if (active && !this.destroyRef.destroyed) {\n this.thumbnailError.set(\n this.t.gettext('The thumbnail could not be loaded.'),\n );\n }\n });\n });\n this.destroyRef.onDestroy(() => this.releaseThumbnailPreview());\n effect(() => {\n const media = this.mediaAttachment();\n const key = media ? this.draft()[media.key] : null;\n const slug = this.draft().slug;\n const editing = this.editing();\n const viewing = !!this.currentPost() && this.mode() !== 'add';\n const stagedPreview = this.uploadedMediaPreview();\n if ((!editing && !viewing) || !media || !key) {\n this.mediaPreviewSignature = '';\n this.mediaPreviewRequest += 1;\n this.mediaPreviewUrl.set('');\n this.mediaPreviewLoading.set(false);\n this.mediaPreviewError.set('');\n return;\n }\n if (stagedPreview?.key === key) {\n const signature = `upload:${key}:${stagedPreview.url}`;\n if (signature === this.mediaPreviewSignature) {\n return;\n }\n this.mediaPreviewSignature = signature;\n this.mediaPreviewRequest += 1;\n this.mediaPreviewUrl.set(stagedPreview.url);\n this.mediaPreviewLoading.set(false);\n this.mediaPreviewError.set('');\n return;\n }\n if (!slug) {\n this.mediaPreviewSignature = '';\n this.mediaPreviewRequest += 1;\n this.mediaPreviewUrl.set('');\n this.mediaPreviewLoading.set(false);\n this.mediaPreviewError.set('');\n return;\n }\n const signature = `${this.mode()}:${media.type}:${slug}:${key}`;\n if (signature === this.mediaPreviewSignature) {\n return;\n }\n this.mediaPreviewSignature = signature;\n const requestId = ++this.mediaPreviewRequest;\n this.mediaPreviewUrl.set('');\n this.mediaPreviewLoading.set(true);\n this.mediaPreviewError.set('');\n const getLink = editing\n ? this.getMediaLink(slug, media.type)\n : this.getMediaLinkForView(slug, media.type);\n void getLink\n .then(url => {\n if (\n requestId === this.mediaPreviewRequest &&\n !this.destroyRef.destroyed\n ) {\n this.mediaPreviewUrl.set(url);\n }\n })\n .catch((error: unknown) => {\n console.error('[taon-cms-post] Unable to load media preview', error);\n if (\n requestId === this.mediaPreviewRequest &&\n !this.destroyRef.destroyed\n ) {\n this.mediaPreviewError.set(\n this.t.gettext(\n 'Media preview could not be loaded. Please reopen the editor to try again.',\n ),\n );\n }\n })\n .finally(() => {\n if (\n requestId === this.mediaPreviewRequest &&\n !this.destroyRef.destroyed\n ) {\n this.mediaPreviewLoading.set(false);\n }\n });\n });\n }\n //#endregion\n\n //#region methods / load related posts\n loadTaxonomy(): void {\n this.taxonomyLoad?.unsubscribe();\n const session = this.editorSession;\n const postId = this.currentPost()?.id;\n this.taxonomyLoading.set(true);\n this.taxonomyError.set('');\n this.taxonomyLoad = forkJoin({\n categories: this.categoryApi.allMyEntities$,\n tags: this.tagApi.allMyEntities$,\n tagIds: postId ? this.api.listTagIds(postId) : of([] as number[]),\n })\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n finalize(() => this.taxonomyLoading.set(false)),\n )\n .subscribe({\n next: result => {\n if (session === this.editorSession) {\n this.categories.set(\n result.categories.sort(\n (a, b) =>\n a.sortOrder - b.sortOrder || a.name.localeCompare(b.name),\n ),\n );\n this.tags.set(result.tags);\n this.updateDraft('tagIds', result.tagIds);\n }\n },\n error: (error: unknown) => {\n console.error(\n '[taon-cms-post] Unable to load categories and tags',\n error,\n );\n this.taxonomyError.set(\n this.t.gettext(\n 'Categories and tags could not be loaded. Please try again.',\n ),\n );\n },\n });\n }\n\n addTag(id: number): void {\n if (!this.draft().tagIds.includes(id)) {\n this.updateDraft('tagIds', [...this.draft().tagIds, id]);\n }\n }\n\n removeTag(id: number): void {\n this.updateDraft(\n 'tagIds',\n this.draft().tagIds.filter(selected => selected !== id),\n );\n }\n\n filterTags(event: Event): void {\n if (event.target instanceof HTMLInputElement) {\n this.tagSearch.set(event.target.value);\n }\n }\n\n applyDefaultThumbnail(): void {\n if (!this.editing() || this.busy() || this.dialogOpen()) {\n return;\n }\n this.releaseThumbnailPreview();\n this.stagedThumbnail.set(null);\n this.updateDraft('thumbnailKey', defaultThumbnailKey(this.draft().type));\n }\n\n async thumbnailSelected(event: Event): Promise<void> {\n if (!(event.target instanceof HTMLInputElement)) {\n return;\n }\n const input = event.target;\n const file = input.files?.[0];\n input.value = '';\n if (!file || !this.editing() || this.busy() || this.dialogOpen()) {\n return;\n }\n if (!file.type.startsWith('image/')) {\n this.error.set(\n this.t.gettext('Please select an image for the thumbnail.'),\n );\n return;\n }\n this.busy.set(true);\n this.error.set('');\n try {\n await this.storeThumbnail(file, this.editorSession);\n } catch (error: unknown) {\n console.error('[taon-cms-post] Unable to upload thumbnail', error);\n this.error.set(\n this.t.gettext(\n 'The thumbnail could not be uploaded. Please try again.',\n ),\n );\n } finally {\n this.busy.set(false);\n }\n }\n\n private async storeThumbnail(file: File, session: number): Promise<void> {\n if (session !== this.editorSession || this.destroyRef.destroyed) {\n return;\n }\n const previousPreview = this.thumbnailPreviewUrl();\n const previousStaged = this.stagedThumbnail();\n const preview = URL.createObjectURL(file);\n this.stagedThumbnail.set({ key: this.draft().thumbnailKey, url: preview });\n this.thumbnailPreviewUrl.set(preview);\n try {\n const object = await this.api.uploadMedia(file);\n if (session === this.editorSession && !this.destroyRef.destroyed) {\n this.releaseThumbnailPreview();\n this.thumbnailObjectUrl = preview;\n this.stagedThumbnail.set({ key: object.key, url: preview });\n this.updateDraft('thumbnailKey', object.key);\n }\n } catch (error: unknown) {\n if (session === this.editorSession) {\n this.stagedThumbnail.set(previousStaged);\n this.thumbnailPreviewUrl.set(previousPreview);\n }\n throw error;\n } finally {\n if (this.thumbnailObjectUrl !== preview) {\n URL.revokeObjectURL(preview);\n }\n }\n }\n\n private releaseThumbnailPreview(): void {\n if (this.thumbnailObjectUrl) {\n URL.revokeObjectURL(this.thumbnailObjectUrl);\n this.thumbnailObjectUrl = '';\n }\n }\n\n loadRelatedPosts(): void {\n if (this.busy() || this.relatedPostsLoading()) {\n return;\n }\n const post = this.requirePost();\n if (!post) {\n return;\n }\n this.relatedPostsLoading.set(true);\n this.relatedPostsError.set('');\n this.relatedPostsLoad = this.api\n .listRelatedPosts(post.id)\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n finalize(() => this.relatedPostsLoading.set(false)),\n )\n .subscribe({\n next: posts => this.relatedPosts.set(posts),\n error: (error: unknown) => {\n console.error('[taon-cms-post] Unable to load related posts', error);\n this.relatedPostsError.set(\n this.t.gettext(\n 'Related posts could not be loaded. Please try again.',\n ),\n );\n },\n });\n }\n //#endregion\n\n //#region methods / add related post\n addRelatedPost(): void {\n if (\n !this.editing() ||\n this.busy() ||\n this.dialogOpen() ||\n this.relatedPostsLoading() ||\n this.relatedPostsError()\n ) {\n return;\n }\n this.dialogOpen.set(true);\n const ref = this.dialog.open<\n TaonRelatedPostChooserComponent,\n TaonRelatedPostChooserData,\n TaonCmsContentEntity\n >(TaonRelatedPostChooserComponent, {\n data: {\n postId: this.currentPost()?.id,\n excludedIds: this.relatedPosts().map(post => post.id),\n },\n width: '560px',\n maxWidth: '95vw',\n disableClose: true,\n });\n ref\n .afterClosed()\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(post => {\n this.dialogOpen.set(false);\n if (\n post &&\n post.id !== this.currentPost()?.id &&\n !this.relatedPosts().some(related => related.id === post.id)\n ) {\n this.relatedPosts.update(posts => [...posts, post]);\n }\n });\n }\n //#endregion\n\n //#region methods / remove related post\n removeRelatedPost(id: number): void {\n if (\n !this.editing() ||\n this.busy() ||\n this.dialogOpen() ||\n this.relatedPostsLoading() ||\n this.relatedPostsError()\n ) {\n return;\n }\n this.relatedPosts.update(posts => posts.filter(post => post.id !== id));\n }\n //#endregion\n\n //#region methods / application hooks\n loadApplicationHooks(): void {\n if (this.applicationHooksLoading()) {\n return;\n }\n this.applicationHooksLoading.set(true);\n this.applicationHooksError.set('');\n this.applicationHooksLoad = this.api\n .listApplicationHooks()\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n finalize(() => this.applicationHooksLoading.set(false)),\n )\n .subscribe({\n next: hooks => {\n this.applicationHooks.set(hooks);\n this.setApplicationHookSelection(this.currentPost(), hooks);\n },\n error: (error: unknown) => {\n console.error(\n '[taon-cms-post] Unable to load application hooks',\n error,\n );\n this.applicationHooksError.set(\n this.t.gettext(\n 'Application hooks could not be loaded. Please try again.',\n ),\n );\n },\n });\n }\n\n setUseAsApplicationHook(enabled: boolean): void {\n this.useAsApplicationHook.set(enabled);\n }\n\n applicationHookInUseByAnotherPost(\n applicationHook: TaonCmsApplicationHookEntity,\n ): boolean {\n return (\n applicationHook.contentId !== null &&\n applicationHook.contentId !== this.currentPost()?.id\n );\n }\n\n applicationHookLabel(hook: TaonCmsApplicationHook): string {\n return hook.split('-').join('_').toUpperCase();\n }\n //#endregion\n\n //#region methods / load permissions\n loadPermissions(): void {\n if (this.permissionsLoading()) {\n return;\n }\n const post = this.requirePost();\n if (!post) {\n return;\n }\n this.permissionsLoading.set(true);\n this.permissionsError.set('');\n this.permissionsLoad = this.api\n .getPermissionConfiguration(post.id)\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n finalize(() => this.permissionsLoading.set(false)),\n )\n .subscribe({\n next: configuration => {\n this.permissions.set(configuration.permissions);\n this.permissionSource.set(configuration.source);\n },\n error: (error: unknown) => {\n console.error('[taon-cms-post] Unable to load permissions', error);\n this.permissionsError.set(\n this.t.gettext(\n 'Permissions could not be loaded. Please try again.',\n ),\n );\n },\n });\n }\n //#endregion\n\n //#region methods / add permission\n addPermission(): void {\n if (\n !this.editing() ||\n this.busy() ||\n this.dialogOpen() ||\n this.permissionSource() ||\n this.permissionsLoading() ||\n this.permissionsError()\n ) {\n return;\n }\n const permissionId = this.selectedPermissionId();\n const permission = this.availablePermissions().find(\n item => item.id === permissionId,\n );\n if (permission) {\n this.permissions.update(permissions => [...permissions, permission]);\n this.selectedPermissionId.set(null);\n }\n }\n //#endregion\n\n //#region methods / remove permission\n removePermission(id: number): void {\n if (\n !this.editing() ||\n this.busy() ||\n this.dialogOpen() ||\n this.permissionSource() ||\n this.permissionsLoading() ||\n this.permissionsError()\n ) {\n return;\n }\n this.permissions.update(items =>\n items.filter(permission => permission.id !== id),\n );\n }\n //#endregion\n\n //#region methods / load permission options\n loadPermissionOptions(): void {\n if (\n this.permissionOptionsLoading() ||\n this.permissionOptions().length > 0\n ) {\n return;\n }\n this.permissionOptionsLoading.set(true);\n this.permissionOptionsError.set('');\n this.permissionApi.allMyEntities$\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n finalize(() => this.permissionOptionsLoading.set(false)),\n )\n .subscribe({\n next: permissions => this.permissionOptions.set(permissions),\n error: (error: unknown) => {\n console.error(\n '[taon-cms-post] Unable to load permission options',\n error,\n );\n this.permissionOptionsError.set(\n this.t.gettext(\n 'Available permissions could not be loaded. Please try again.',\n ),\n );\n },\n });\n }\n //#endregion\n\n //#region methods / update draft\n updateDraft<K extends keyof TaonCmsPostDraft>(\n field: K,\n value: TaonCmsPostDraft[K],\n ): void {\n this.draft.update(draft => ({ ...draft, [field]: value }));\n }\n //#endregion\n\n //#region methods / file selected\n async fileSelected(event: Event): Promise<void> {\n if (!(event.target instanceof HTMLInputElement)) {\n this.error.set(this.t.gettext('Unable to read the selected media file.'));\n return;\n }\n const input = event.target;\n const file = input.files?.[0];\n if (!file) {\n return;\n }\n const media = this.mediaAttachment();\n if (!media || !this.editing() || this.busy() || this.dialogOpen()) {\n input.value = '';\n return;\n }\n const session = this.editorSession;\n this.busy.set(true);\n this.uploading.set(true);\n this.uploadProgress.set(0);\n this.error.set('');\n try {\n const object = await this.api.uploadMedia(file, percentage => {\n if (!this.destroyRef.destroyed) {\n this.uploadProgress.set(percentage);\n }\n });\n if (!this.destroyRef.destroyed && this.editorSession === session) {\n const fileName = object.fileName || file.name;\n this.mediaFileNames.update(names => ({\n ...names,\n [object.key]: fileName,\n }));\n if (object.downloadUrl) {\n this.uploadedMediaPreview.set({\n key: object.key,\n url: this.uploadedMediaUrl(object.downloadUrl, media.type),\n fileName,\n });\n }\n this.updateDraft(media.key, object.key);\n if (media.type === TaonCmsContentType.Video) {\n try {\n const blob = await generateVideoThumbnail(file);\n const extension = blob.type === 'image/webp' ? 'webp' : 'png';\n await this.storeThumbnail(\n new File([blob], `thumbnail.${extension}`, { type: blob.type }),\n session,\n );\n } catch (error: unknown) {\n console.error(\n '[taon-cms-post] Unable to generate thumbnail',\n error,\n );\n this.error.set(\n this.t.gettext(\n 'The video was uploaded, but its thumbnail could not be generated. Upload a thumbnail or apply a default placeholder.',\n ),\n );\n }\n }\n }\n } catch (error: unknown) {\n console.error('[taon-cms-post] Unable to upload media', error);\n this.error.set(\n this.t.gettext('The media could not be uploaded. Please try again.'),\n );\n } finally {\n this.busy.set(false);\n this.uploading.set(false);\n this.uploadProgress.set(0);\n input.value = '';\n }\n }\n //#endregion\n\n //#region methods / remove media\n removeMedia(): void {\n const media = this.mediaAttachment();\n if (!media || !this.editing() || this.busy() || this.dialogOpen()) {\n return;\n }\n this.uploadedMediaPreview.set(null);\n this.updateDraft(media.key, null);\n }\n //#endregion\n\n //#region methods / uploaded media URL\n private uploadedMediaUrl(url: string, type: TaonCmsContentType): string {\n if (type !== TaonCmsContentType.Attachment) {\n return url;\n }\n const parsedUrl = new URL(url);\n parsedUrl.searchParams.set('download', 'true');\n return parsedUrl.href;\n }\n //#endregion\n\n //#region methods / get media link\n private getMediaLink(\n slug: string,\n type: TaonCmsContentType,\n ): Promise<string> {\n switch (type) {\n case TaonCmsContentType.Video:\n return firstValueFrom(this.api.getVideoLinkBySlug(slug));\n case TaonCmsContentType.Audio:\n return firstValueFrom(this.api.getAudioLinkBySlug(slug));\n case TaonCmsContentType.Attachment:\n return this.api.getAttachmentLinkBySlug(slug);\n default:\n return Promise.reject(new Error('This post type has no media.'));\n }\n }\n //#endregion\n\n //#region methods / get media link for viewing\n private async getMediaLinkForView(\n slug: string,\n type: TaonCmsContentType,\n ): Promise<string> {\n try {\n switch (type) {\n case TaonCmsContentType.Video:\n return await this.api.getPublicVideoLinkBySlug(slug);\n case TaonCmsContentType.Audio:\n return await this.api.getPublicAudioLinkBySlug(slug);\n case TaonCmsContentType.Attachment:\n return await this.api.getPublicAttachmentLinkBySlug(slug);\n default:\n throw new Error('This post type has no media.');\n }\n } catch {\n return this.getMediaLink(slug, type);\n }\n }\n //#endregion\n\n //#region methods / media file name\n mediaFileName(key: string): string {\n const fileName = this.mediaFileNames()[key];\n if (fileName) {\n return fileName;\n }\n const uploaded = this.uploadedMediaPreview();\n if (uploaded?.key === key) {\n return uploaded.fileName;\n }\n const storedName = key.split('/').pop() || key;\n return storedName.replace(/^[0-9a-f-]{36}__/i, '');\n }\n //#endregion\n\n //#region methods / update slug\n updateSlug(event: Event): void {\n if (event.target instanceof HTMLInputElement) {\n this.updateDraft('slug', event.target.value);\n }\n }\n //#endregion\n\n //#region methods / edit\n edit(): void {\n if (this.mode() !== 'view' || this.busy() || this.dialogOpen()) {\n return;\n }\n if (!this.requirePost()) {\n return;\n }\n this.error.set('');\n this.mode.set('edit');\n }\n //#endregion\n\n //#region methods / cancel\n cancel(): void {\n if (this.busy() || this.dialogOpen()) {\n return;\n }\n this.setPost(this.currentPost());\n this.error.set('');\n if (this.editing()) {\n this.mode.set('view');\n }\n this.cancelled.emit();\n }\n //#endregion\n\n //#region methods / save\n save(): void {\n if (this.busy() || this.dialogOpen() || !this.editing()) {\n return;\n }\n if (!this.canSave()) {\n this.error.set(this.t.gettext('A title and slug are required.'));\n return;\n }\n if (this.mode() === 'add') {\n this.persist(\n this.api.createContent({\n ...this.draft(),\n relatedPostIds: this.relatedPosts().map(post => post.id),\n permissionIds: this.permissions().map(permission => permission.id),\n applyPermissionsToRelatedPosts: this.applyPermissionsToRelatedPosts(),\n applicationHook: this.useAsApplicationHook()\n ? this.selectedApplicationHook()\n : null,\n }),\n );\n } else {\n const post = this.requirePost();\n if (post) {\n this.persist(this.api.updateContent(post.id, this.updateInput(post)));\n }\n }\n }\n //#endregion\n\n //#region methods / publish\n publish(): void {\n if (\n this.busy() ||\n this.dialogOpen() ||\n !this.canPublish() ||\n this.mode() === 'view-clean' ||\n this.mode() === 'add'\n ) {\n return;\n }\n if (this.editing() && !this.canSave()) {\n this.error.set(this.t.gettext('A title and slug are required.'));\n return;\n }\n const post = this.requirePost();\n if (post) {\n this.persist(\n this.api.updateContent(post.id, {\n ...(this.editing()\n ? this.updateInput(post)\n : { expectedVersion: post.version }),\n status: 'published',\n publishedAt: new Date(),\n }),\n );\n }\n }\n //#endregion\n\n //#region methods / unpublish\n unpublish(): void {\n const post = this.currentPost();\n if (\n !post ||\n post.status !== 'published' ||\n this.busy() ||\n this.dialogOpen() ||\n this.mode() === 'view-clean' ||\n this.mode() === 'add'\n ) {\n return;\n }\n this.persist(\n this.api.updateContent(post.id, {\n expectedVersion: post.version,\n status: 'draft',\n }),\n );\n }\n //#endregion\n\n //#region methods / revert\n revert(): void {\n const post = this.requirePost();\n if (\n !post ||\n this.busy() ||\n this.dialogOpen() ||\n this.mode() === 'view-clean'\n ) {\n return;\n }\n this.dialogOpen.set(true);\n const ref = this.dialog.open<\n TaonCmsRevisionChooserComponent,\n TaonCmsContentEntity,\n TaonCmsContentEntity\n >(TaonCmsRevisionChooserComponent, {\n data: post,\n width: '560px',\n maxWidth: '95vw',\n disableClose: true,\n });\n ref\n .afterClosed()\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(restored => {\n this.dialogOpen.set(false);\n if (restored) {\n this.acceptPost(restored);\n }\n });\n }\n //#endregion\n\n //#region methods / delete\n delete(): void {\n const post = this.requirePost();\n if (\n !post ||\n this.busy() ||\n this.dialogOpen() ||\n this.mode() === 'view-clean'\n ) {\n return;\n }\n this.dialogOpen.set(true);\n const ref = this.dialog.open(TaonConfirmDialogComponent, {\n data: {\n title: this.t.gettext('Delete post?'),\n message: this.t.gettext(\n 'This archives the post. It can be restored from its revisions.',\n ),\n confirmText: this.t.gettext('Delete'),\n },\n });\n ref\n .afterClosed()\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(confirmed => {\n this.dialogOpen.set(false);\n if (confirmed) {\n this.persist(this.api.deleteContent(post.id, post.version), true);\n }\n });\n }\n //#endregion\n\n //#region methods / duplicate\n duplicate(): void {\n if (this.busy() || this.dialogOpen() || this.mode() === 'view-clean') {\n return;\n }\n const post = this.requirePost();\n if (!post) {\n return;\n }\n this.busy.set(true);\n this.error.set('');\n this.api\n .duplicateContent(post.id)\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n finalize(() => this.busy.set(false)),\n )\n .subscribe({\n next: duplicate => this.duplicated.emit(duplicate),\n error: (error: unknown) => {\n console.error('[taon-cms-post] Unable to duplicate post', error);\n this.error.set(\n this.t.gettext(\n 'The post could not be duplicated. Please try again.',\n ),\n );\n },\n });\n }\n //#endregion\n\n //#region methods / update input\n private updateInput(post: TaonCmsContentEntity): TaonCmsUpdateContent {\n return {\n ...this.draft(),\n relatedPostIds: this.relatedPosts().map(related => related.id),\n ...(this.permissionSource()\n ? {}\n : {\n permissionIds: this.permissions().map(permission => permission.id),\n }),\n applyPermissionsToRelatedPosts: this.applyPermissionsToRelatedPosts(),\n applicationHook: this.useAsApplicationHook()\n ? this.selectedApplicationHook()\n : null,\n expectedVersion: post.version,\n };\n }\n //#endregion\n\n //#region methods / require post\n private requirePost(): TaonCmsContentEntity | null {\n const post = this.currentPost();\n if (!post) {\n this.error.set(this.t.gettext('No post is loaded.'));\n }\n return post;\n }\n //#endregion\n\n //#region methods / set post\n private setPost(post: TaonCmsContentEntity | null): void {\n this.editorSession += 1;\n this.taxonomyLoad?.unsubscribe();\n this.taxonomyLoading.set(false);\n this.taxonomyError.set('');\n this.releaseThumbnailPreview();\n this.stagedThumbnail.set(null);\n this.tagSearch.set('');\n this.relatedPostsLoad?.unsubscribe();\n this.applicationHooksLoad?.unsubscribe();\n this.permissionsLoad?.unsubscribe();\n this.relatedPostsLoading.set(false);\n this.relatedPostsError.set('');\n this.applicationHooksLoading.set(false);\n this.applicationHooksError.set('');\n this.permissionsLoading.set(false);\n this.permissionsError.set('');\n this.uploadedMediaPreview.set(null);\n this.mediaPreviewSignature = '';\n this.mediaPreviewRequest += 1;\n this.currentPost.set(post);\n this.relatedPosts.set(post?.relatedPosts ?? []);\n this.permissions.set(post?.permissions ?? []);\n this.permissionSource.set(null);\n this.applyPermissionsToRelatedPosts.set(\n post?.applyPermissionsToRelatedPosts ?? false,\n );\n this.selectedPermissionId.set(null);\n this.setApplicationHookSelection(post, this.applicationHooks());\n this.draft.set({\n type: post?.type ?? TaonCmsContentType.Normal,\n title: post?.title ?? '',\n slug: post?.slug ?? '',\n excerpt: post?.excerpt ?? '',\n body: post?.body ?? '',\n videoKey: post?.videoKey ?? null,\n audioKey: post?.audioKey ?? null,\n attachmentKey: post?.attachmentKey ?? null,\n thumbnailKey: post?.thumbnailKey ?? null,\n categoryId: post?.categoryId ?? null,\n tagIds: [],\n });\n if (\n post &&\n post.relatedPosts === undefined &&\n this.mode() !== 'view-clean'\n ) {\n this.loadRelatedPosts();\n }\n if (post && this.mode() !== 'view-clean') {\n this.loadPermissions();\n }\n if (this.editing()) {\n this.loadTaxonomy();\n }\n }\n //#endregion\n\n private setApplicationHookSelection(\n post: TaonCmsContentEntity | null,\n hooks: TaonCmsApplicationHookEntity[],\n ): void {\n const assignedHook =\n post?.applicationHook !== undefined\n ? post.applicationHook?.hook\n : hooks.find(applicationHook => applicationHook.contentId === post?.id)\n ?.hook;\n this.useAsApplicationHook.set(!!assignedHook);\n this.selectedApplicationHook.set(assignedHook ?? null);\n }\n\n //#region methods / accept post\n private acceptPost(post: TaonCmsContentEntity): void {\n this.setPost(post);\n this.error.set('');\n this.mode.set('view');\n this.changed.emit(post);\n }\n //#endregion\n\n //#region methods / persist\n private persist(\n request: Observable<TaonCmsContentEntity>,\n deleting = false,\n ): void {\n if (this.busy() || this.dialogOpen() || this.mode() === 'view-clean') {\n return;\n }\n this.busy.set(true);\n this.error.set('');\n request\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n finalize(() => this.busy.set(false)),\n )\n .subscribe({\n next: post => {\n this.acceptPost(post);\n if (deleting) {\n this.deleted.emit(post);\n }\n },\n error: (error: unknown) => {\n console.error('[taon-cms-post] Unable to save post', error);\n this.error.set(\n this.t.gettext(\n 'The post could not be saved. Check the slug and your connection. If another user changed it, close and reopen the post before retrying.',\n ),\n );\n },\n });\n }\n //#endregion\n}\n","@if (mode() !== 'view-clean') {\n <header class=\"post-actions\">\n <span class=\"post-status\">{{\n mode() === 'add' ? t.gettext('New draft') : currentPost()?.status\n }}</span>\n <div class=\"buttons\">\n @if (editing()) {\n <button\n mat-flat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen() || !canSave()\"\n (click)=\"save()\">\n {{ mode() === 'add' ? t.gettext('Add') : t.gettext('Save') }}\n </button>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"cancel()\">\n {{ t.gettext('Cancel') }}\n </button>\n } @else if (currentPost()) {\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"edit()\">\n <mat-icon>edit</mat-icon> {{ t.gettext('Edit') }}\n </button>\n }\n @if (mode() !== 'add' && currentPost()) {\n @if (canPublish()) {\n <button\n mat-flat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen() || (editing() && !canSave())\"\n (click)=\"publish()\">\n {{ t.gettext('Publish') }}\n </button>\n } @else {\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"unpublish()\">\n {{ t.gettext('Unpublish') }}\n </button>\n }\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"revert()\">\n <mat-icon>history</mat-icon> {{ t.gettext('Revert') }}\n </button>\n @if (currentPost()?.status !== 'archived') {\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"delete()\">\n <mat-icon>delete</mat-icon> {{ t.gettext('Delete') }}\n </button>\n }\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"duplicate()\">\n <mat-icon>content_copy</mat-icon> {{ t.gettext('Duplicate') }}\n </button>\n }\n </div>\n @if (busy()) {\n <span role=\"status\">{{\n uploading()\n ? t.gettext('Uploading... ') + uploadProgress() + '%'\n : t.gettext('Saving...')\n }}</span>\n }\n </header>\n @if (error()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ error() }}\n </p>\n }\n}\n\n<article\n class=\"post-article\"\n [attr.aria-busy]=\"busy()\">\n @if (editing()) {\n <mat-radio-group\n class=\"post-type-selector\"\n [attr.aria-label]=\"t.gettext('Post type')\"\n [value]=\"draft().type\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"updateDraft('type', $event.value)\">\n @for (type of postTypes; track type.value) {\n <mat-radio-button [value]=\"type.value\">{{\n type.label\n }}</mat-radio-button>\n }\n </mat-radio-group>\n <div\n class=\"post-title editable\"\n contenteditable=\"true\"\n role=\"textbox\"\n [attr.aria-label]=\"t.gettext('Post title')\"\n aria-required=\"true\"\n [attr.data-placeholder]=\"placeholderTitle()\"\n [attr.contenteditable]=\"!busy() && !dialogOpen()\"\n [taonCmsEditableSingleLine]=\"true\"\n [taonCmsEditable]=\"draft().title\"\n (taonCmsEditableChange)=\"updateDraft('title', $event)\"></div>\n <div\n class=\"post-excerpt editable\"\n contenteditable=\"true\"\n role=\"textbox\"\n [attr.aria-label]=\"t.gettext('Post excerpt')\"\n aria-multiline=\"true\"\n [attr.data-placeholder]=\"placeholderShortIntro()\"\n [attr.contenteditable]=\"!busy() && !dialogOpen()\"\n [taonCmsEditable]=\"draft().excerpt\"\n (taonCmsEditableChange)=\"updateDraft('excerpt', $event)\"></div>\n <div\n class=\"post-body editable\"\n contenteditable=\"true\"\n role=\"textbox\"\n [attr.aria-label]=\"t.gettext('Post body')\"\n aria-multiline=\"true\"\n [attr.data-placeholder]=\"placeholderTellYourStory()\"\n [attr.contenteditable]=\"!busy() && !dialogOpen()\"\n taonCmsEditableFormat=\"html\"\n [taonCmsEditable]=\"draft().body\"\n (taonCmsEditableChange)=\"updateDraft('body', $event)\"></div>\n <label class=\"slug-field\">\n <span>{{ t.gettext('URL slug') }}</span>\n <input\n [attr.aria-label]=\"t.gettext('URL slug')\"\n [value]=\"draft().slug\"\n [disabled]=\"busy() || dialogOpen()\"\n (input)=\"updateSlug($event)\"\n [placeholder]=\"t.gettext('my-post')\" />\n </label>\n @if (mediaAttachment(); as media) {\n <section\n class=\"media-attachment\"\n aria-labelledby=\"media-attachment-heading\">\n <h2 id=\"media-attachment-heading\">{{ media.heading }}</h2>\n @if (uploading()) {\n <mat-progress-bar\n mode=\"determinate\"\n [value]=\"uploadProgress()\"\n [attr.aria-label]=\"t.gettext('Media upload progress')\" />\n }\n @if (draft()[media.key]; as key) {\n @if (mediaPreviewLoading()) {\n <p role=\"status\">{{ t.gettext('Loading media preview...') }}</p>\n }\n @if (mediaPreviewError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ mediaPreviewError() }}\n </p>\n }\n @if (media.type === 'video' && mediaPreviewUrl()) {\n <video\n controls\n preload=\"none\"\n [src]=\"mediaPreviewUrl()\">\n {{ t.gettext('Your browser does not support video playback.') }}\n </video>\n } @else if (media.type === 'audio' && mediaPreviewUrl()) {\n <audio\n controls\n preload=\"none\"\n [src]=\"mediaPreviewUrl()\">\n {{ t.gettext('Your browser does not support audio playback.') }}\n </audio>\n } @else if (media.type === 'attachment' && mediaPreviewUrl()) {\n <p>\n {{\n t.gettext('Attached file: [[ fileName ]]', {\n fileName: mediaFileName(key),\n })\n }}\n <a\n [href]=\"mediaPreviewUrl()\"\n target=\"_blank\"\n rel=\"noopener\"\n >{{ t.gettext('Download or open') }}</a\n >\n </p>\n }\n <input\n #mediaInput\n hidden\n type=\"file\"\n [accept]=\"media.accept\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"fileSelected($event)\" />\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"mediaInput.click()\">\n {{ t.gettext('Replace') }}\n </button>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"removeMedia()\">\n {{ t.gettext('Remove') }}\n </button>\n } @else {\n <input\n #mediaInput\n hidden\n type=\"file\"\n [accept]=\"media.accept\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"fileSelected($event)\" />\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"mediaInput.click()\">\n {{ media.uploadLabel }}\n </button>\n }\n </section>\n }\n <section\n class=\"post-thumbnail\"\n aria-labelledby=\"thumbnail-heading\">\n <h2 id=\"thumbnail-heading\">{{ t.gettext('Thumbnail') }}</h2>\n @if (thumbnailPreviewUrl()) {\n <img\n class=\"thumbnail-preview\"\n [src]=\"thumbnailPreviewUrl()\"\n [alt]=\"t.gettext('Post thumbnail')\" />\n } @else {\n <p>{{ t.gettext('No thumbnail selected.') }}</p>\n }\n @if (thumbnailError()) {\n <p role=\"alert\">{{ thumbnailError() }}</p>\n }\n <input\n #thumbnailInput\n hidden\n type=\"file\"\n accept=\"image/*\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"thumbnailSelected($event)\" />\n <div class=\"buttons\">\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"thumbnailInput.click()\">\n {{ t.gettext('Upload Thumbnail') }}\n </button>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"applyDefaultThumbnail()\">\n {{ t.gettext('Apply Default Placeholder') }}\n </button>\n </div>\n </section>\n <section\n class=\"post-taxonomy\"\n aria-labelledby=\"category-heading\">\n <h2 id=\"category-heading\">{{ t.gettext('Category and Tags') }}</h2>\n @if (taxonomyLoading()) {\n <p role=\"status\">{{ t.gettext('Loading categories and tags...') }}</p>\n }\n @if (taxonomyError()) {\n <p role=\"alert\">{{ taxonomyError() }}</p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy()\"\n (click)=\"loadTaxonomy()\">\n {{ t.gettext('Try again') }}\n </button>\n }\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Category') }}</mat-label>\n <mat-select\n [value]=\"draft().categoryId\"\n [disabled]=\"\n busy() || dialogOpen() || taxonomyLoading() || !!taxonomyError()\n \"\n (selectionChange)=\"updateDraft('categoryId', $event.value)\">\n <mat-option [value]=\"null\">{{ t.gettext('None') }}</mat-option>\n @for (category of categories(); track category.id) {\n <mat-option [value]=\"category.id\">{{ category.name }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <h3>{{ t.gettext('Tags') }}</h3>\n <mat-chip-set [attr.aria-label]=\"t.gettext('Selected tags')\">\n @for (tag of selectedTags(); track tag.id) {\n <mat-chip\n [disabled]=\"busy() || dialogOpen() || taxonomyLoading()\"\n (removed)=\"removeTag(tag.id)\">\n {{ tag.name }}\n <button\n matChipRemove\n type=\"button\"\n [disabled]=\"busy() || dialogOpen() || taxonomyLoading()\"\n [attr.aria-label]=\"\n t.gettext('Remove tag [[ name ]]', { name: tag.name })\n \">\n <mat-icon>cancel</mat-icon>\n </button>\n </mat-chip>\n }\n </mat-chip-set>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Search tags') }}</mat-label>\n <input\n matInput\n [value]=\"tagSearch()\"\n (input)=\"filterTags($event)\"\n [disabled]=\"busy() || dialogOpen() || taxonomyLoading()\" />\n </mat-form-field>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Add tag') }}</mat-label>\n <mat-select\n [value]=\"null\"\n [disabled]=\"\n busy() || dialogOpen() || taxonomyLoading() || !!taxonomyError()\n \"\n (selectionChange)=\"addTag($event.value)\">\n @for (tag of filteredTags(); track tag.id) {\n <mat-option [value]=\"tag.id\">{{ tag.name }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n </section>\n <section\n class=\"related-posts\"\n aria-labelledby=\"related-posts-heading\">\n <h2 id=\"related-posts-heading\">{{ t.gettext('Related posts') }}</h2>\n @if (relatedPostsLoading()) {\n <p role=\"status\">{{ t.gettext('Loading related posts...') }}</p>\n } @else if (relatedPostsError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ relatedPostsError() }}\n </p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"loadRelatedPosts()\">\n {{ t.gettext('Try again') }}\n </button>\n } @else {\n <ul>\n @for (post of relatedPosts(); track post.id) {\n <li>\n <span>#{{ post.id }} - {{ post.title }}</span>\n <button\n mat-icon-button\n type=\"button\"\n [attr.aria-label]=\"\n t.gettext('Remove related post [[ title ]]', {\n title: post.title,\n })\n \"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"removeRelatedPost(post.id)\">\n <mat-icon>close</mat-icon>\n </button>\n </li>\n } @empty {\n <li>{{ t.gettext('No related posts yet.') }}</li>\n }\n </ul>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"addRelatedPost()\">\n <mat-icon>add</mat-icon> {{ t.gettext('Add related post') }}\n </button>\n }\n </section>\n\n @if (!mediaAttachment()) {\n <section\n class=\"application-hook\"\n aria-labelledby=\"application-hook-heading\">\n <h2 id=\"application-hook-heading\">\n {{ t.gettext('Application Hook') }}\n </h2>\n @if (applicationHooksLoading()) {\n <p role=\"status\">{{ t.gettext('Loading application hooks...') }}</p>\n } @else if (applicationHooksError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ applicationHooksError() }}\n </p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"loadApplicationHooks()\">\n {{ t.gettext('Try again') }}\n </button>\n } @else {\n <mat-checkbox\n [checked]=\"useAsApplicationHook()\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"setUseAsApplicationHook($event.checked)\">\n {{ t.gettext('Use as application hook') }}\n </mat-checkbox>\n @if (useAsApplicationHook()) {\n <mat-form-field\n appearance=\"outline\"\n subscriptSizing=\"dynamic\">\n <mat-label>{{ t.gettext('Application Hook') }}</mat-label>\n <mat-select\n [value]=\"selectedApplicationHook()\"\n [disabled]=\"busy() || dialogOpen()\"\n (selectionChange)=\"selectedApplicationHook.set($event.value)\">\n @for (\n applicationHook of applicationHooks();\n track applicationHook.id\n ) {\n <mat-option\n [value]=\"applicationHook.hook\"\n [disabled]=\"\n applicationHookInUseByAnotherPost(applicationHook)\n \">\n {{ applicationHookLabel(applicationHook.hook) }}\n @if (applicationHookInUseByAnotherPost(applicationHook)) {\n {{\n t.gettext('(in use by post # [[ postId ]])', {\n postId: applicationHook.contentId,\n })\n }}\n }\n </mat-option>\n } @empty {\n <mat-option [disabled]=\"true\">{{\n t.gettext('No application hooks configured')\n }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n }\n </section>\n }\n <section\n class=\"post-permissions\"\n aria-labelledby=\"post-permissions-heading\">\n <h2 id=\"post-permissions-heading\">\n {{ t.gettext('Allow Read only with Permissions') }}\n </h2>\n @if (permissionSource(); as source) {\n <p role=\"note\">\n {{\n t.gettext(\n 'Permissions are inherited from # [[ postId ]] - [[ title ]]. Edit the source post to change them.',\n { postId: source.id, title: source.title }\n )\n }}\n </p>\n }\n @if (permissionsLoading()) {\n <p role=\"status\">{{ t.gettext('Loading assigned permissions...') }}</p>\n } @else if (permissionsError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ permissionsError() }}\n </p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"loadPermissions()\">\n {{ t.gettext('Try again') }}\n </button>\n } @else {\n <ul>\n @for (permission of permissions(); track permission.id) {\n <li>\n <span>{{ permission.name }} ({{ permission.code }})</span>\n <button\n mat-icon-button\n type=\"button\"\n [attr.aria-label]=\"\n t.gettext('Remove permission [[ name ]]', {\n name: permission.name,\n })\n \"\n [disabled]=\"busy() || dialogOpen() || !!permissionSource()\"\n (click)=\"removePermission(permission.id)\">\n <mat-icon>close</mat-icon>\n </button>\n </li>\n } @empty {\n <li>{{ t.gettext('No permissions assigned.') }}</li>\n }\n </ul>\n @if (permissionOptionsError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ permissionOptionsError() }}\n </p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen() || permissionOptionsLoading()\"\n (click)=\"loadPermissionOptions()\">\n {{ t.gettext('Try again') }}\n </button>\n } @else {\n <div class=\"permission-assignment\">\n <mat-form-field\n appearance=\"outline\"\n subscriptSizing=\"dynamic\">\n <mat-label>{{ t.gettext('Permission') }}</mat-label>\n <mat-select\n [value]=\"selectedPermissionId()\"\n [disabled]=\"\n busy() ||\n dialogOpen() ||\n permissionOptionsLoading() ||\n !!permissionSource()\n \"\n (selectionChange)=\"selectedPermissionId.set($event.value)\">\n @for (\n permission of availablePermissions();\n track permission.id\n ) {\n <mat-option [value]=\"permission.id\"\n >{{ permission.name }} ({{ permission.code }})</mat-option\n >\n } @empty {\n <mat-option [disabled]=\"true\">{{\n t.gettext('No permissions available')\n }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"\n busy() ||\n dialogOpen() ||\n !selectedPermissionId() ||\n !!permissionSource()\n \"\n (click)=\"addPermission()\">\n <mat-icon>add</mat-icon> {{ t.gettext('Assign permission') }}\n </button>\n </div>\n }\n }\n @if (!permissionSource()) {\n <mat-checkbox\n [checked]=\"applyPermissionsToRelatedPosts()\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"applyPermissionsToRelatedPosts.set($event.checked)\">\n {{ t.gettext('Apply permissions to related posts') }}\n </mat-checkbox>\n }\n </section>\n } @else if (currentPost(); as post) {\n @if (thumbnailPreviewUrl()) {\n <img\n class=\"thumbnail-preview\"\n [src]=\"thumbnailPreviewUrl()\"\n [alt]=\"t.gettext('Post thumbnail')\" />\n }\n @if (thumbnailError()) {\n <p role=\"alert\">{{ thumbnailError() }}</p>\n }\n <h1 class=\"post-title\">{{ post.title }}</h1>\n @if (post.excerpt) {\n <p class=\"post-excerpt\">{{ post.excerpt }}</p>\n }\n <div\n class=\"post-body\"\n [innerHTML]=\"post.body\"></div>\n @if (mediaAttachment(); as media) {\n @if (draft()[media.key]; as key) {\n @if (mediaPreviewLoading()) {\n <p role=\"status\">{{ t.gettext('Loading media...') }}</p>\n } @else if (mediaPreviewError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ mediaPreviewError() }}\n </p>\n } @else if (media.type === 'video' && mediaPreviewUrl()) {\n <video\n controls\n preload=\"none\"\n [src]=\"mediaPreviewUrl()\">\n {{ t.gettext('Your browser does not support video playback.') }}\n </video>\n } @else if (media.type === 'audio' && mediaPreviewUrl()) {\n <audio\n controls\n preload=\"none\"\n [src]=\"mediaPreviewUrl()\">\n {{ t.gettext('Your browser does not support audio playback.') }}\n </audio>\n } @else if (media.type === 'attachment' && mediaPreviewUrl()) {\n <p>\n {{\n t.gettext('Attached file: [[ fileName ]]', {\n fileName: mediaFileName(key),\n })\n }}\n <a\n [href]=\"mediaPreviewUrl()\"\n target=\"_blank\"\n rel=\"noopener\"\n >{{ t.gettext('Download or open') }}</a\n >\n </p>\n }\n }\n }\n } @else {\n <p role=\"status\">{{ t.gettext('No post is loaded.') }}</p>\n }\n</article>\n","//#region imports\nimport { Routes } from '@angular/router';\nimport { adminLazyRoute } from '@taon-dev/ui/browser';\n//#endregion\n\nexport const TaonCmsPostRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-cms-post.component').then(m => m.TaonCmsPostComponent),\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 TaonCmsPostRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonCmsPostRoutes;","import { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { ActivatedRoute, Router, RouterLink } from '@angular/router';\nimport { map } from 'rxjs';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nimport type { TaonCmsContentEntity } from '../../taon-cms-content/taon-cms-content.entity';\nimport { TaonCmsPostComponent } from '../taon-cms-post/taon-cms-post.component';\n\nconst t = Translation.for('src/lib/taon-posts/taon-cms-post-details-page/taon-cms-post-details-page.component.ts', {\"src/lib/taon-posts/taon-cms-post-details-page/taon-cms-post-details-page.component.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-post-details-page.component.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-post-details-page.component.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-post-details-page.component.ts.de-DE.i18n.data')).default}} as any);\n\n@Component({\n selector: 'taon-cms-post-details-page',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AsyncPipe, MatButtonModule, RouterLink, TaonCmsPostComponent],\n template: `\n @if (page$ | async; as page) {\n <a\n mat-button\n routerLink=\"../\"\n >{{ t.gettext('Back to Posts') }}</a\n >\n <taon-cms-post\n [post]=\"page.post\"\n [mode]=\"page.create ? 'add' : 'view'\"\n (changed)=\"onChanged($event, page.create)\"\n (duplicated)=\"openPost($event)\"\n (cancelled)=\"onCancelled(page.create)\" />\n }\n `,\n})\nexport class TaonCmsPostDetailsPageComponent {\n readonly t = t.for(this);\n\n private readonly route = inject(ActivatedRoute);\n\n private readonly router = inject(Router);\n\n readonly page$ = this.route.data.pipe(\n map(data => ({\n create: data['createPost'] === true,\n post: (data['post'] as TaonCmsContentEntity | undefined) ?? null,\n })),\n );\n\n onChanged(post: TaonCmsContentEntity, create: boolean): void {\n if (create) {\n this.openPost(post);\n }\n }\n\n openPost(post: TaonCmsContentEntity): void {\n void this.router.navigate(['../', post.id], { relativeTo: this.route });\n }\n\n onCancelled(create: boolean): void {\n if (create) {\n void this.router.navigate(['../'], { relativeTo: this.route });\n }\n }\n}\n","//#region imports\nimport {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n ViewChild,\n inject,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { MatButtonModule } from '@angular/material/button';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MtxGridColumn } from '@ng-matero/extensions/grid';\nimport {\n TaonConfirmDialogComponent,\n TaonDatatableComponent,\n} from '@taon-dev/ui/browser';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { finalize } from 'rxjs';\nimport { Taon } from 'taon/browser';\n\nimport { TaonCmsContentApiService } from '../../taon-cms-content/taon-cms-content-api.service';\nimport type { TaonCmsContentEntity } from '../../taon-cms-content/taon-cms-content.entity';\n//#endregion\n\nconst t = Translation.for('src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts', {\"src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.html\":{\"en-US\":async () => (await import('./i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data')).default},\"src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data')).default},\"src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data')).default}} as any);\n\n@Component({\n selector: 'app-taon-cms-posts-backoffice',\n templateUrl: './taon-cms-posts-backoffice.component.html',\n styleUrls: ['./taon-cms-posts-backoffice.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatButtonModule, TaonDatatableComponent],\n providers: [TaonCmsContentApiService],\n})\nexport class TaonCmsPostsBackofficeComponent {\n readonly t = t.for(this);\n\n @ViewChild(TaonDatatableComponent)\n readonly datatable!: TaonDatatableComponent;\n\n readonly taonCmsContentApiService = inject(TaonCmsContentApiService);\n\n readonly posts = signal<TaonCmsContentEntity[]>([]);\n\n readonly loading = signal(false);\n\n readonly deleting = signal<number | null>(null);\n\n readonly duplicating = signal(false);\n\n readonly error = signal('');\n\n private readonly dialog = inject(MatDialog);\n\n private readonly route = inject(ActivatedRoute);\n\n private readonly router = inject(Router);\n\n private readonly destroyRef = inject(DestroyRef);\n\n public get crud() {\n return this.taonCmsContentApiService.crudController;\n }\n\n readonly columns: MtxGridColumn[] = [\n { header: 'ID', field: 'id', sortable: true },\n { header: this.t.gettext('Title'), field: 'title', sortable: true },\n { header: this.t.gettext('Status'), field: 'status', sortable: true },\n {\n header: this.t.gettext('Actions'),\n field: 'actions',\n type: 'button',\n buttons: [\n {\n type: 'icon',\n icon: 'content_copy',\n tooltip: this.t.gettext('Duplicate post'),\n disabled: () => this.duplicating(),\n click: (post: TaonCmsContentEntity) => this.duplicate(post),\n },\n {\n type: 'icon',\n icon: 'open_in_new',\n tooltip: this.t.gettext('Post details'),\n click: (post: TaonCmsContentEntity) => this.openDetails(post),\n },\n {\n type: 'icon',\n icon: 'delete',\n tooltip: this.t.gettext('Delete (archive) post'),\n disabled: (post: TaonCmsContentEntity) =>\n post.status === 'archived' || this.deleting() !== null,\n click: (post: TaonCmsContentEntity) => this.delete(post),\n },\n ],\n },\n ];\n\n reload(): void {\n this.datatable.reload();\n }\n\n ngAfterViewInit(): void {\n this.reload();\n }\n\n add(): void {\n this.openPost('new');\n }\n\n openDetails(post: TaonCmsContentEntity): void {\n this.openPost(post.id);\n }\n\n private openPost(id: number | 'new'): void {\n const postsRoute = this.route.parent;\n if (!postsRoute) {\n this.error.set(this.t.gettext('The Post details route is unavailable.'));\n return;\n }\n void this.router.navigate([id], { relativeTo: postsRoute });\n }\n\n duplicate(post: TaonCmsContentEntity): void {\n if (this.duplicating()) {\n return;\n }\n this.duplicating.set(true);\n this.error.set('');\n this.taonCmsContentApiService\n .duplicateContent(post.id)\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n finalize(() => this.duplicating.set(false)),\n )\n .subscribe({\n next: duplicate => this.openDetails(duplicate),\n error: (error: unknown) => {\n console.error(\n '[taon-cms-posts-backoffice] Unable to duplicate post',\n error,\n );\n this.error.set(\n this.t.gettext(\n 'The post could not be duplicated. Please try again.',\n ),\n );\n },\n });\n }\n\n delete(post: TaonCmsContentEntity): void {\n if (this.deleting() !== null || post.status === 'archived') {\n return;\n }\n this.deleting.set(post.id);\n const ref = this.dialog.open(TaonConfirmDialogComponent, {\n data: {\n title: this.t.gettext('Delete post?'),\n message: this.t.gettext(\n 'This archives the post. It can be restored from its revisions.',\n ),\n confirmText: this.t.gettext('Delete'),\n },\n });\n ref\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.taonCmsContentApiService\n .deleteContent(post.id, post.version)\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n finalize(() => this.deleting.set(null)),\n )\n .subscribe({\n next: () => this.reload(),\n error: (error: unknown) => {\n console.error(\n '[taon-cms-posts-backoffice] Unable to delete post',\n error,\n );\n this.error.set(\n this.t.gettext(\n 'The post could not be deleted. Refresh the table before retrying.',\n ),\n );\n },\n });\n });\n }\n}\n","<h1>{{ t.gettext('CMS posts') }}</h1>\n@if (loading()) {\n <p role=\"status\">{{ t.gettext('Loading posts...') }}</p>\n}\n@if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n}\n<taon-datatable\n [entityCrudController]=\"crud\"\n [columns]=\"columns\"\n [allowedColumns]=\"['id', 'title', 'status']\"\n searchMode=\"advanced\"\n (addingItem)=\"add()\">\n</taon-datatable>\n","//#region imports\nimport { inject } from '@angular/core';\nimport { Routes } from '@angular/router';\nimport { ResolveFn } from '@angular/router';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nimport { TaonCmsContentApiService } from '../../taon-cms-content/taon-cms-content-api.service';\nimport type { TaonCmsContentEntity } from '../../taon-cms-content/taon-cms-content.entity';\n//#endregion\n\nconst t = Translation.for('src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts', {\"src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.html\":{\"en-US\":async () => (await import('./i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data')).default},\"src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data')).default},\"src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data')).default}} as any);\n\nconst resolvePost: ResolveFn<TaonCmsContentEntity> = async route => {\n const id = Number(route.paramMap.get('id'));\n if (!Number.isSafeInteger(id) || id <= 0) {\n throw new Error(t.gettext('Invalid Post ID'));\n }\n const taonCmsContentApiService = inject(TaonCmsContentApiService);\n const post = await taonCmsContentApiService.getById(id);\n if (!post) {\n throw new Error(t.gettext('Post not found'));\n }\n return post;\n};\n\nexport const TaonCmsPostsBackofficeRoutes: Routes = [\n {\n path: '',\n pathMatch: 'full',\n loadComponent: () =>\n import('./taon-cms-posts-backoffice.component').then(\n m => m.TaonCmsPostsBackofficeComponent,\n ),\n },\n {\n path: 'new',\n data: { hideInNavigation: true, createPost: true },\n loadComponent: () =>\n import('../taon-cms-post-details-page/taon-cms-post-details-page.component').then(\n m => m.TaonCmsPostDetailsPageComponent,\n ),\n },\n {\n path: ':id',\n data: { hideInNavigation: true },\n providers: [TaonCmsContentApiService],\n resolve: { post: resolvePost },\n loadComponent: () =>\n import('../taon-cms-post-details-page/taon-cms-post-details-page.component').then(\n m => m.TaonCmsPostDetailsPageComponent,\n ),\n },\n];\n\n/**\n * By default exporting TaonCmsPostsBackofficeRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonCmsPostsBackofficeRoutes;\n","// @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 './start-cli'; \nexport * from './taon-cms-application-hooks'; \nexport * from './taon-cms.abstract.context'; \nexport * from './decorators/taon-cms-authorization'; \nexport * from './taon-cms-application-hook/taon-cms-application-hook.entity'; \nexport * from './taon-cms-assets-backoffice/taon-cms-asset-preview.component'; // @browser\nexport * from './taon-cms-assets-backoffice/taon-cms-assets-backoffice.component'; // @browser\nexport * from './taon-cms-assets-backoffice/taon-cms-assets-backoffice.routes'; // @browser\nexport * from './taon-cms-backoffice/taon-cms-backoffice.component'; // @browser\nexport * from './taon-cms-backoffice/taon-cms-backoffice.models'; \nexport * from './taon-cms-backoffice/taon-cms-backoffice.routes'; // @browser\nexport * from './taon-cms-category/taon-cms-category-api.service'; // @browser\nexport * from './taon-cms-category/taon-cms-category.abstract.context'; \nexport * from './taon-cms-category/taon-cms-category.constants'; \nexport * from './taon-cms-category/taon-cms-category.controller'; \nexport * from './taon-cms-category/taon-cms-category.entity'; \nexport * from './taon-cms-category/taon-cms-category.middleware'; \nexport * from './taon-cms-category/taon-cms-category.models'; \nexport * from './taon-cms-category/taon-cms-category.provider'; \nexport * from './taon-cms-category/taon-cms-category.repository'; \nexport * from './taon-cms-category/taon-cms-category.subscriber'; \nexport * from './taon-cms-category/taon-cms-category.utils'; \nexport * from './taon-cms-category/taon-cms-taxonomy.validation'; \nexport * from './taon-cms-comment/taon-cms-comment-api.service'; // @browser\nexport * from './taon-cms-comment/taon-cms-comment.abstract.context'; \nexport * from './taon-cms-comment/taon-cms-comment.constants'; \nexport * from './taon-cms-comment/taon-cms-comment.controller'; \nexport * from './taon-cms-comment/taon-cms-comment.entity'; \nexport * from './taon-cms-comment/taon-cms-comment.middleware'; \nexport * from './taon-cms-comment/taon-cms-comment.models'; \nexport * from './taon-cms-comment/taon-cms-comment.provider'; \nexport * from './taon-cms-comment/taon-cms-comment.repository'; \nexport * from './taon-cms-comment/taon-cms-comment.subscriber'; \nexport * from './taon-cms-comment/taon-cms-comment.utils'; \nexport * from './taon-cms-content/taon-cms-content-api.service'; // @browser\nexport * from './taon-cms-content/taon-cms-content-storage.controller'; \nexport * from './taon-cms-content/taon-cms-content.abstract.context'; \nexport * from './taon-cms-content/taon-cms-content.config.service'; // @browser\nexport * from './taon-cms-content/taon-cms-content.constants'; \nexport * from './taon-cms-content/taon-cms-content.controller'; \nexport * from './taon-cms-content/taon-cms-content.entity'; \nexport * from './taon-cms-content/taon-cms-content.middleware'; \nexport * from './taon-cms-content/taon-cms-content.models'; \nexport * from './taon-cms-content/taon-cms-content.provider'; \nexport * from './taon-cms-content/taon-cms-content.repository'; \nexport * from './taon-cms-content/taon-cms-content.subscriber'; \nexport * from './taon-cms-content/taon-cms-content.utils'; \nexport * from './taon-cms-content/taon-cms-content.validation'; \nexport * from './taon-cms-content/taon-cms-upload-progress'; \nexport * from './taon-cms-content-asset/taon-cms-content-asset-api.service'; // @browser\nexport * from './taon-cms-content-asset/taon-cms-content-asset.abstract.context'; \nexport * from './taon-cms-content-asset/taon-cms-content-asset.constants'; \nexport * from './taon-cms-content-asset/taon-cms-content-asset.controller'; \nexport * from './taon-cms-content-asset/taon-cms-content-asset.entity'; \nexport * from './taon-cms-content-asset/taon-cms-content-asset.middleware'; \nexport * from './taon-cms-content-asset/taon-cms-content-asset.models'; \nexport * from './taon-cms-content-asset/taon-cms-content-asset.provider'; \nexport * from './taon-cms-content-asset/taon-cms-content-asset.repository'; \nexport * from './taon-cms-content-asset/taon-cms-content-asset.subscriber'; \nexport * from './taon-cms-content-asset/taon-cms-content-asset.utils'; \nexport * from './taon-cms-content-permission/taon-cms-content-permission-api.service'; // @browser\nexport * from './taon-cms-content-permission/taon-cms-content-permission.abstract.context'; \nexport * from './taon-cms-content-permission/taon-cms-content-permission.constants'; \nexport * from './taon-cms-content-permission/taon-cms-content-permission.controller'; \nexport * from './taon-cms-content-permission/taon-cms-content-permission.entity'; \nexport * from './taon-cms-content-permission/taon-cms-content-permission.middleware'; \nexport * from './taon-cms-content-permission/taon-cms-content-permission.models'; \nexport * from './taon-cms-content-permission/taon-cms-content-permission.provider'; \nexport * from './taon-cms-content-permission/taon-cms-content-permission.repository'; \nexport * from './taon-cms-content-permission/taon-cms-content-permission.subscriber'; \nexport * from './taon-cms-content-permission/taon-cms-content-permission.utils'; \nexport * from './taon-cms-content-revision/taon-cms-content-revision-api.service'; // @browser\nexport * from './taon-cms-content-revision/taon-cms-content-revision.abstract.context'; \nexport * from './taon-cms-content-revision/taon-cms-content-revision.constants'; \nexport * from './taon-cms-content-revision/taon-cms-content-revision.controller'; \nexport * from './taon-cms-content-revision/taon-cms-content-revision.entity'; \nexport * from './taon-cms-content-revision/taon-cms-content-revision.middleware'; \nexport * from './taon-cms-content-revision/taon-cms-content-revision.models'; \nexport * from './taon-cms-content-revision/taon-cms-content-revision.provider'; \nexport * from './taon-cms-content-revision/taon-cms-content-revision.repository'; \nexport * from './taon-cms-content-revision/taon-cms-content-revision.subscriber'; \nexport * from './taon-cms-content-revision/taon-cms-content-revision.utils'; \nexport * from './taon-cms-content-tag/taon-cms-content-tag-api.service'; // @browser\nexport * from './taon-cms-content-tag/taon-cms-content-tag.abstract.context'; \nexport * from './taon-cms-content-tag/taon-cms-content-tag.constants'; \nexport * from './taon-cms-content-tag/taon-cms-content-tag.controller'; \nexport * from './taon-cms-content-tag/taon-cms-content-tag.entity'; \nexport * from './taon-cms-content-tag/taon-cms-content-tag.middleware'; \nexport * from './taon-cms-content-tag/taon-cms-content-tag.models'; \nexport * from './taon-cms-content-tag/taon-cms-content-tag.provider'; \nexport * from './taon-cms-content-tag/taon-cms-content-tag.repository'; \nexport * from './taon-cms-content-tag/taon-cms-content-tag.subscriber'; \nexport * from './taon-cms-content-tag/taon-cms-content-tag.utils'; \nexport * from './taon-cms-tag/taon-cms-tag-api.service'; // @browser\nexport * from './taon-cms-tag/taon-cms-tag.abstract.context'; \nexport * from './taon-cms-tag/taon-cms-tag.constants'; \nexport * from './taon-cms-tag/taon-cms-tag.controller'; \nexport * from './taon-cms-tag/taon-cms-tag.entity'; \nexport * from './taon-cms-tag/taon-cms-tag.middleware'; \nexport * from './taon-cms-tag/taon-cms-tag.models'; \nexport * from './taon-cms-tag/taon-cms-tag.provider'; \nexport * from './taon-cms-tag/taon-cms-tag.repository'; \nexport * from './taon-cms-tag/taon-cms-tag.subscriber'; \nexport * from './taon-cms-tag/taon-cms-tag.utils'; \nexport * from './taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component'; // @browser\nexport * from './taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.routes'; // @browser\nexport * from './taon-posts/taon-cms-post/taon-cms-editable.directive'; // @browser\nexport * from './taon-posts/taon-cms-post/taon-cms-post.component'; // @browser\nexport * from './taon-posts/taon-cms-post/taon-cms-post.models'; \nexport * from './taon-posts/taon-cms-post/taon-cms-post.routes'; // @browser\nexport * from './taon-posts/taon-cms-post/taon-cms-thumbnail'; \nexport * from './taon-posts/taon-cms-post-details-page/taon-cms-post-details-page.component'; // @browser\nexport * from './taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component'; // @browser\nexport * from './taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.models'; \nexport * from './taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes'; // @browser\nexport * from './taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component'; // @browser\nexport * from './taon-posts/taon-related-post-chooser/taon-related-post-chooser.component'; // @browser","export * from './migrations';\n/* */\nexport * from './index._auto-generated_';\nexport * from './taon-cms-content/taon-cms-content-storage.controller';\nexport * from './taon-posts/taon-related-post-chooser'; // @browser\n/* */ \nexport default {};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["MIGRATIONS_CLASSES_FOR_CmsContext","generatedMigrations","TaonSessionCoreGroupsBase","TaonSessionCoreRolesBase","TaonSessionCorePermissionsBase","TaonAuthContextEntityBase","TaonAuthContextHasAccessBase","TaonAuthContextRepositoryBase","t","map","adminLazyRouteBase","i1","i3","i2","i4","i5","i8"],"mappings":"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"}
1
+ {"version":3,"file":"cms-browser.mjs","sources":["../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content/taon-cms-content.models.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content/taon-cms-content.entity.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-application-hook/taon-cms-application-hook.entity.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-application-hooks.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/migrations/1792506757808_applicaitonHooks.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/migrations/migrations_index._auto-generated_.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/migrations/index.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/build-info._auto-generated_.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/start-cli.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-category/taon-cms-category.entity.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-category/taon-cms-category.repository.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-category/taon-cms-category.controller.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-category/taon-cms-category.provider.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-category/taon-cms-category.middleware.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-category/taon-cms-category.subscriber.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-category/taon-cms-category.abstract.context.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-comment/taon-cms-comment.entity.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-comment/taon-cms-comment.repository.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-comment/taon-cms-comment.controller.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-comment/taon-cms-comment.provider.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-comment/taon-cms-comment.middleware.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-comment/taon-cms-comment.subscriber.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-comment/taon-cms-comment.abstract.context.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-revision/taon-cms-content-revision.entity.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-revision/taon-cms-content-revision.repository.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-revision/taon-cms-content-revision.controller.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-revision/taon-cms-content-revision.provider.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-revision/taon-cms-content-revision.middleware.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-revision/taon-cms-content-revision.subscriber.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-revision/taon-cms-content-revision.abstract.context.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-tag/taon-cms-content-tag.entity.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-tag/taon-cms-content-tag.repository.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-tag/taon-cms-content-tag.controller.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-tag/taon-cms-content-tag.provider.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-tag/taon-cms-content-tag.middleware.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-tag/taon-cms-content-tag.subscriber.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-tag/taon-cms-content-tag.abstract.context.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-tag/taon-cms-tag.entity.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-tag/taon-cms-tag.repository.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-tag/taon-cms-tag.controller.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-tag/taon-cms-tag.provider.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-tag/taon-cms-tag.middleware.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-tag/taon-cms-tag.subscriber.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-tag/taon-cms-tag.abstract.context.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content/taon-cms-content.validation.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content/taon-cms-content.repository.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content/taon-cms-content-storage.controller.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content/taon-cms-content.controller.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content/taon-cms-content.middleware.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content/taon-cms-content.provider.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content/taon-cms-content.subscriber.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content/taon-cms-content.abstract.context.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-asset/taon-cms-content-asset.entity.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-asset/taon-cms-content-asset.repository.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-asset/taon-cms-content-asset.controller.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-asset/taon-cms-content-asset.provider.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-asset/taon-cms-content-asset.middleware.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-asset/taon-cms-content-asset.subscriber.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-asset/taon-cms-content-asset.abstract.context.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-permission/taon-cms-content-permission.entity.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-permission/taon-cms-content-permission.repository.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-permission/taon-cms-content-permission.controller.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-permission/taon-cms-content-permission.provider.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-permission/taon-cms-content-permission.middleware.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-permission/taon-cms-content-permission.subscriber.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-permission/taon-cms-content-permission.abstract.context.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms.abstract.context.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content/taon-cms-upload-progress.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content/taon-cms-content-api.service.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-assets-backoffice/taon-cms-asset-preview.component.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-assets-backoffice/taon-cms-asset-preview.component.html","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.routes.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-backoffice/taon-cms-backoffice.component.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-backoffice/taon-cms-backoffice.component.html","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-backoffice/taon-cms-backoffice.routes.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-category/taon-cms-category-api.service.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-category/taon-cms-category.constants.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-category/taon-cms-category.models.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-category/taon-cms-category.utils.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-category/taon-cms-taxonomy.validation.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-comment/taon-cms-comment-api.service.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-comment/taon-cms-comment.constants.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-comment/taon-cms-comment.models.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-comment/taon-cms-comment.utils.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content/taon-cms-content.config.service.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content/taon-cms-content.constants.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content/taon-cms-content.utils.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content/taon-cms-template-variables.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-asset/taon-cms-content-asset-api.service.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-asset/taon-cms-content-asset.constants.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-asset/taon-cms-content-asset.models.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-asset/taon-cms-content-asset.utils.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-permission/taon-cms-content-permission-api.service.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-permission/taon-cms-content-permission.constants.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-permission/taon-cms-content-permission.models.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-permission/taon-cms-content-permission.utils.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-revision/taon-cms-content-revision-api.service.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-revision/taon-cms-content-revision.constants.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-revision/taon-cms-content-revision.models.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-revision/taon-cms-content-revision.utils.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-tag/taon-cms-content-tag-api.service.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-tag/taon-cms-content-tag.constants.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-tag/taon-cms-content-tag.models.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-content-tag/taon-cms-content-tag.utils.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-tag/taon-cms-tag-api.service.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-tag/taon-cms-tag.constants.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-tag/taon-cms-tag.models.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-tag/taon-cms-tag.utils.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.html","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.routes.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-post-table-actions.directive.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.html","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-posts/taon-cms-post/taon-cms-thumbnail.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-cover.component.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-cover.component.html","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.html","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.routes.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-posts/taon-cms-post/taon-cms-editable.directive.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.html","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.html","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-posts/taon-cms-post/taon-cms-post.component.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-posts/taon-cms-post/taon-cms-post.component.html","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-posts/taon-cms-post/taon-cms-post.routes.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-posts/taon-cms-post-details-page/taon-cms-post-details-page.component.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.html","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/index._auto-generated_.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/lib/index.ts","../../../tmp-libs-for-dist/cms/projects/cms/src/cms-browser.ts"],"sourcesContent":["import { TaonPermissionEntity } from '@taon-dev/session/browser';\n\nexport enum TaonCmsContentType {\n Normal = 'normal',\n Video = 'video',\n Audio = 'audio',\n Attachment = 'attachment',\n}\n\nexport enum TaonCmsContentState {\n Active = 'active',\n Inactive = 'inactive',\n}\n\nexport interface TaonCmsContentFields {\n type: TaonCmsContentType;\n title: string;\n slug: string;\n body: string | null;\n videoKey: string | null;\n audioKey: string | null;\n attachmentKey: string | null;\n thumbnailKey: string | null;\n excerpt: string | null;\n categoryId: number | null;\n authorUserId: number | null;\n status: 'draft' | 'published' | 'archived';\n publishedAt: Date | null;\n applyPermissionsToRelatedPosts: boolean;\n}\n\nexport interface TaonCmsPermissionConfiguration {\n permissions: TaonPermissionEntity[];\n source: { id: number; title: string } | null;\n}\n\nexport interface TaonCmsCreateContent\n extends\n Pick<TaonCmsContentFields, 'title' | 'slug'>,\n Partial<Omit<TaonCmsContentFields, 'title' | 'slug'>> {\n tagIds?: number[];\n relatedPostIds?: number[];\n permissionIds?: number[];\n applicationHook?: TaonCmsApplicationHook | null;\n}\n\nexport interface TaonCmsUpdateContent extends Partial<TaonCmsContentFields> {\n tagIds?: number[];\n relatedPostIds?: number[];\n permissionIds?: number[];\n applicationHook?: TaonCmsApplicationHook | null;\n expectedVersion: number;\n}\n\nexport interface TaonCmsRestoreContent {\n revisionNumber: number;\n expectedVersion: number;\n}\n\nexport interface TaonCmsContentSnapshot extends TaonCmsContentFields {\n tagIds: number[];\n relatedPostIds?: number[];\n permissionIds: number[];\n}\nimport type { TaonCmsApplicationHook } from '../taon-cms-application-hooks';\n","//#region imports\nimport {\n Column,\n JoinTable,\n ManyToMany,\n OneToOne,\n CustomColumn,\n PrimaryGeneratedColumn,\n Taon,\n TaonBaseAbstractEntity,\n TaonBaseEntity,\n TaonEntity,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\nimport { TaonPermissionEntity } from '@taon-dev/session/browser';\n\nimport { TaonCmsApplicationHookEntity } from '../taon-cms-application-hook/taon-cms-application-hook.entity';\n\nimport { TaonCmsContentDefaultsValues } from './taon-cms-content.constants';\nimport { TaonCmsContentType } from './taon-cms-content.models';\n//#endregion\n\n@TaonEntity({\n className: 'TaonCmsContentEntity',\n createTable: true,\n})\nexport class TaonCmsContentEntity extends TaonBaseEntity<TaonCmsContentEntity> {\n/* */\n/* */\n \n id: number;\n\n/* */\n/* */\n \n version: number;\n\n/* */\n/* */\n \n type: TaonCmsContentType = TaonCmsContentType.Normal;\n\n/* */\n/* */\n \n title: string;\n\n/* */\n/* */\n \n slug: string;\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n relatedPosts: TaonCmsContentEntity[];\n\n/* */\n/* */\n/* */\n/* */\n/* */\n \n applicationHook: TaonCmsApplicationHookEntity | null;\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n permissions: TaonPermissionEntity[];\n\n/* */\n/* */\n \n applyPermissionsToRelatedPosts: boolean = false;\n\n/* */\n/* */\n \n excerpt: string | null;\n\n/* */\n/* */\n \n body: string | null;\n\n/* */\n/* */\n \n videoKey: string | null = null;\n\n/* */\n/* */\n \n audioKey: string | null = null;\n\n/* */\n/* */\n \n attachmentKey: string | null = null;\n\n/* */\n/* */\n \n thumbnailKey: string | null = null;\n\n/* */\n/* */\n \n categoryId: number | null;\n\n/* */\n/* */\n \n authorUserId: number | null;\n\n/* */\n/* */\n \n status: string;\n // draft | published | archived\n\n/* */\n/* */\n \n publishedAt: Date | null;\n\n/* */\n/* */\n \n createdAt: Date;\n\n/* */\n/* */\n \n updatedAt: Date;\n}\n","import {\n Column,\n JoinColumn,\n OneToOne,\n PrimaryGeneratedColumn,\n TaonBaseEntity,\n TaonEntity,\n} from 'taon/browser';\n\nimport type { TaonCmsApplicationHook } from '../taon-cms-application-hooks';\nimport { TaonCmsContentEntity } from '../taon-cms-content/taon-cms-content.entity';\n\n@TaonEntity({\n className: 'TaonCmsApplicationHookEntity',\n createTable: true,\n})\nexport class TaonCmsApplicationHookEntity extends TaonBaseEntity<TaonCmsApplicationHookEntity> {\n @PrimaryGeneratedColumn()\n id: number;\n\n @Column({ type: 'varchar', unique: true })\n hook: TaonCmsApplicationHook;\n\n @Column({ type: 'integer', nullable: true, unique: true })\n contentId: number | null;\n\n @OneToOne(\n () => TaonCmsContentEntity,\n content => content.applicationHook,\n { nullable: true, onDelete: 'SET NULL' },\n )\n @JoinColumn({ name: 'contentId', referencedColumnName: 'id' })\n content: TaonCmsContentEntity | null;\n}\n","export const TaonCmsApplicationHook = {\n HOME_HERO: 'home-hero',\n HOME_FEATURED_POST: 'home-featured-post',\n SHOP_PROMOTION: 'shop-promotion',\n LOGIN_INFO: 'login-info',\n FOOTER_ABOUT: 'footer-about',\n} as const;\n\nexport type TaonCmsApplicationHook =\n (typeof TaonCmsApplicationHook)[keyof typeof TaonCmsApplicationHook];\n","import { TaonCmsContentEntity } from '../taon-cms-content/taon-cms-content.entity';\nimport { ClassHelpers, TaonBaseMigration, TaonMigration } from 'taon/browser';\nimport { QueryRunner, Table } from 'taon-typeorm/browser';\n\nimport { TaonCmsApplicationHookEntity } from '../taon-cms-application-hook/taon-cms-application-hook.entity';\nimport { TaonCmsApplicationHook } from '../taon-cms-application-hooks';\n\n//#region Migration class for context \"CmsContext\"\n@TaonMigration({\n className: 'CmsContext_1792506757808_applicaitonHooks',\n})\nexport class CmsContext_1792506757808_applicaitonHooks extends TaonBaseMigration {\n APPLICATION_HOOK_TABLE = ClassHelpers.getName(TaonCmsApplicationHookEntity);\n\n CONTENT_TABLE = ClassHelpers.getName(TaonCmsContentEntity);\n\n //#region up\n async up(queryRunner: QueryRunner): Promise<any> {\n await queryRunner.startTransaction();\n try {\n if (!(await queryRunner.hasTable(this.APPLICATION_HOOK_TABLE))) {\n await queryRunner.createTable(\n new Table({\n name: this.APPLICATION_HOOK_TABLE,\n columns: [\n {\n name: 'id',\n type: 'integer',\n isPrimary: true,\n isGenerated: true,\n generationStrategy: 'increment',\n },\n { name: 'hook', type: 'varchar', isUnique: true },\n {\n name: 'contentId',\n type: 'integer',\n isNullable: true,\n isUnique: true,\n },\n ],\n foreignKeys: [\n {\n columnNames: ['contentId'],\n referencedTableName: this.CONTENT_TABLE,\n referencedColumnNames: ['id'],\n onDelete: 'SET NULL',\n },\n ],\n }),\n true,\n );\n }\n\n await this.persistApplicationHooks(queryRunner);\n await queryRunner.commitTransaction();\n } catch (error) {\n console.error('Error in migration:', error);\n await queryRunner.rollbackTransaction();\n throw error;\n }\n }\n //#endregion\n\n //#region down\n async down(queryRunner: QueryRunner): Promise<any> {\n if (await queryRunner.hasTable(this.APPLICATION_HOOK_TABLE)) {\n await queryRunner.dropTable(this.APPLICATION_HOOK_TABLE, true);\n }\n }\n //#endregion\n\n protected getApplicationHooks(): Record<string, string> {\n return TaonCmsApplicationHook;\n }\n\n private async persistApplicationHooks(\n queryRunner: QueryRunner,\n ): Promise<void> {\n const repository = queryRunner.manager.getRepository(\n TaonCmsApplicationHookEntity,\n );\n for (const hook of Object.values(this.getApplicationHooks())) {\n if (!(await repository.findOneBy({ hook: hook as any }))) {\n await repository.save(\n repository.create({ hook: hook as any, contentId: null }),\n );\n }\n }\n }\n}\n//#endregion\n","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CmsContext_1792506757808_applicaitonHooks } from './1792506757808_applicaitonHooks';\nexport { CmsContext_1792506757808_applicaitonHooks } from './1792506757808_applicaitonHooks';\n// THIS FILE IS GENERATED - DO NOT MODIFY\nexport const MIGRATIONS_CLASSES_FOR_CmsContext = {\n /* 20-10-2026 16:32:37 */ CmsContext_1792506757808_applicaitonHooks,\n};\n// THIS FILE IS GENERATED - DO NOT MODIFY\n","//@ts-nocheck\nexport * from './migrations_index._auto-generated_';\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.cms';\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/cms';\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.20';\n\n\n\n\n\n// THIS FILE IS GENERATED - DO NOT MODIFY\n ","//#region tnp-helpers cli template\nimport { UtilsJson } from 'tnp-core/browser';\nimport { Helpers, BaseCommandLineFeature } from 'tnp-helpers/browser';\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.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;\n","//#region imports\nimport {\n Column,\n CustomColumn,\n Taon,\n TaonBaseAbstractEntity,\n TaonEntity,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonCmsCategoryDefaultsValues } from './taon-cms-category.constants';\n//#endregion\n\n@TaonEntity({\n className: 'TaonCmsCategoryEntity',\n createTable: true,\n})\nexport class TaonCmsCategoryEntity extends TaonBaseAbstractEntity<TaonCmsCategoryEntity> {\n/* */\n/* */\n \n parentCategoryId: number | null;\n\n/* */\n/* */\n \n name: string;\n\n/* */\n/* */\n \n slug: string;\n\n/* */\n/* */\n \n description: string | null;\n\n/* */\n/* */\n \n sortOrder: number;\n}\n","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\nimport type { EntityManager } from 'taon-typeorm/browser';\nimport { contentError } from '../taon-cms-content/taon-cms-content.validation';\n\nimport { TaonCmsCategoryEntity } from './taon-cms-category.entity';\nimport { TaonCmsContentEntity } from '../taon-cms-content/taon-cms-content.entity';\nimport { requireContentId } from '../taon-cms-content/taon-cms-content.validation';\nimport {\n TaonCmsCategoryFields,\n validateCategoryHierarchy,\n validateTaxonomy,\n} from './taon-cms-taxonomy.validation';\n//#endregion\n\nconst t = Translation.for('src/lib/taon-cms-category/taon-cms-category.repository.ts', {\"src/lib/taon-cms-category/taon-cms-category.controller.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-category.controller.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-category.controller.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-category.controller.ts.de-DE.i18n.data')).default},\"src/lib/taon-cms-category/taon-cms-category.repository.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-category.repository.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-category.repository.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-category.repository.ts.de-DE.i18n.data')).default},\"src/lib/taon-cms-category/taon-cms-taxonomy.validation.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-taxonomy.validation.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-taxonomy.validation.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-taxonomy.validation.ts.de-DE.i18n.data')).default}} as any);\n\n@TaonRepository({\n className: 'TaonCmsCategoryRepository',\n})\nexport class TaonCmsCategoryRepository extends TaonBaseRepository<TaonCmsCategoryEntity> {\n entityClassResolveFn: () => typeof TaonCmsCategoryEntity = () =>\n TaonCmsCategoryEntity;\n\n async saveCategory(\n id: number | null,\n input: TaonCmsCategoryFields,\n ): Promise<TaonCmsCategoryEntity> {\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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async deleteCategory(id: number): Promise<void> {\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 requireCategory(id: number, manager: EntityManager): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}\n","//#region imports\nimport { TaonSessionRepository } from '@taon-dev/session/browser';\nimport { TaonAuthContextRepository } from '@taon-dev/session/browser';\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n POST,\n DELETE,\n Body,\n Models,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { contentError } from '../taon-cms-content/taon-cms-content.validation';\n\nimport { TaonCmsCategoryEntity } from './taon-cms-category.entity';\nimport { TaonCmsCategoryRepository } from './taon-cms-category.repository';\nimport type { TaonCmsCategoryFields } from './taon-cms-taxonomy.validation';\n//#endregion\n\n@TaonController<TaonCmsCategoryController>({\n className: 'TaonCmsCategoryController',\n allowedMethods: ['getAll', 'saveCategory', 'deleteCategory'],\n})\nexport class TaonCmsCategoryController extends TaonBaseCrudController<TaonCmsCategoryEntity> {\n entityClassResolveFn: () => typeof TaonCmsCategoryEntity = () =>\n TaonCmsCategoryEntity;\n\n taonCmsCategoryRepository = this.injectCustomRepo(TaonCmsCategoryRepository);\n\n private readonly sessions = this.injectCustomRepo(TaonSessionRepository);\n\n private readonly auth = this.injectCustomRepo(TaonAuthContextRepository);\n\n protected async beforeEachRequest({\n req,\n res,\n t,\n }: Models.TaonCtrlBeforeEachRequestParams<TaonCmsCategoryController>): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n @POST()\n saveCategory(\n @Query('id') id: number | null,\n @Body() input: TaonCmsCategoryFields,\n ): Taon.Response<TaonCmsCategoryEntity> {\n/* */\n/* */\n return (void 0);\n }\n\n @DELETE()\n deleteCategory(@Query('id') id: number): Taon.Response<void> {\n/* */\n/* */\n return (void 0);\n }\n}\n","//#region imports\nimport { Taon, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\nimport { Injectable } from '@angular/core';\n//#endregion\n\n@TaonProvider({\n className: 'TaonCmsCategoryProvider',\n})\n//#region @browser\n@Injectable()\n//#endregion\nexport class TaonCmsCategoryProvider extends TaonBaseProvider {\n\n\n\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonCmsCategoryMiddleware',\n})\nexport class TaonCmsCategoryMiddleware extends TaonBaseMiddleware {}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonCmsCategoryEntity } from './taon-cms-category.entity';\nimport { TaonCmsCategoryProvider } from './taon-cms-category.provider';\n//#endregion\n\n@TaonSubscriber<TaonCmsCategorySubscriber>({\n className: 'TaonCmsCategorySubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonCmsCategorySubscriber extends TaonBaseSubscriberForEntity {\n taonCmsCategoryProvider = this.injectProvider(TaonCmsCategoryProvider);\n listenTo(): typeof TaonCmsCategoryEntity {\n return TaonCmsCategoryEntity;\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonCmsCategoryEntity } from './taon-cms-category.entity';\nimport { TaonCmsCategoryController } from './taon-cms-category.controller';\nimport { TaonCmsCategoryRepository } from './taon-cms-category.repository';\nimport { TaonCmsCategoryProvider } from './taon-cms-category.provider';\nimport { TaonCmsCategoryMiddleware } from './taon-cms-category.middleware';\nimport { TaonCmsCategorySubscriber } from './taon-cms-category.subscriber';\n//#endregion\n\nexport const TaonCmsCategoryAbstractContext = createContext(() => ({\n contextName: 'TaonCmsCategoryAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonCmsCategoryEntity },\n controllers: { TaonCmsCategoryController },\n repositories: { TaonCmsCategoryRepository },\n providers: { TaonCmsCategoryProvider },\n middlewares: { TaonCmsCategoryMiddleware },\n subscribers: { TaonCmsCategorySubscriber },\n}));\n","//#region imports\nimport {\n Column,\n CustomColumn,\n PrimaryGeneratedColumn,\n Taon,\n TaonBaseAbstractEntity,\n TaonBaseEntity,\n TaonEntity,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonCmsCommentDefaultsValues } from './taon-cms-comment.constants';\n//#endregion\n\n@TaonEntity({\n className: 'TaonCmsCommentEntity',\n createTable: true,\n})\nexport class TaonCmsCommentEntity extends TaonBaseEntity<TaonCmsCommentEntity> {\n/* */\n/* */\n \n id: number;\n\n/* */\n/* */\n \n version: number;\n\n/* */\n/* */\n \n contentId: number;\n\n/* */\n/* */\n \n parentCommentId: number | null;\n\n/* */\n/* */\n \n userId: number | null;\n\n/* */\n/* */\n \n body: string;\n\n/* */\n/* */\n \n status: string;\n\n/* */\n/* */\n \n createdAt: Date;\n\n/* */\n/* */\n \n updatedAt: Date;\n}\n","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\n\nimport { TaonCmsCommentEntity } from './taon-cms-comment.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonCmsCommentRepository',\n})\nexport class TaonCmsCommentRepository extends TaonBaseRepository<TaonCmsCommentEntity> {\n entityClassResolveFn: () => typeof TaonCmsCommentEntity = () => TaonCmsCommentEntity;\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonCmsCommentEntity } from './taon-cms-comment.entity';\nimport { TaonCmsCommentRepository } from './taon-cms-comment.repository';\n//#endregion\n\n@TaonController<TaonCmsCommentController>({\n className: 'TaonCmsCommentController',\n allowedMethods: []\n})\nexport class TaonCmsCommentController extends TaonBaseCrudController<TaonCmsCommentEntity> {\n entityClassResolveFn: () => typeof TaonCmsCommentEntity = () => TaonCmsCommentEntity;\n\n taonCmsCommentRepository = this.injectCustomRepo(TaonCmsCommentRepository);\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}\n","//#region imports\nimport { Taon, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\nimport { Injectable } from '@angular/core';\n//#endregion\n\n@TaonProvider({\n className: 'TaonCmsCommentProvider',\n})\n//#region @browser\n@Injectable()\n//#endregion\nexport class TaonCmsCommentProvider extends TaonBaseProvider {\n\n\n\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonCmsCommentMiddleware',\n})\nexport class TaonCmsCommentMiddleware extends TaonBaseMiddleware {}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonCmsCommentEntity } from './taon-cms-comment.entity';\nimport { TaonCmsCommentProvider } from './taon-cms-comment.provider';\n//#endregion\n\n@TaonSubscriber<TaonCmsCommentSubscriber>({\n className: 'TaonCmsCommentSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonCmsCommentSubscriber extends TaonBaseSubscriberForEntity {\n taonCmsCommentProvider = this.injectProvider(TaonCmsCommentProvider);\n listenTo(): typeof TaonCmsCommentEntity {\n return TaonCmsCommentEntity;\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonCmsCommentEntity } from './taon-cms-comment.entity';\nimport { TaonCmsCommentController } from './taon-cms-comment.controller';\nimport { TaonCmsCommentRepository } from './taon-cms-comment.repository';\nimport { TaonCmsCommentProvider } from './taon-cms-comment.provider';\nimport { TaonCmsCommentMiddleware } from './taon-cms-comment.middleware';\nimport { TaonCmsCommentSubscriber } from './taon-cms-comment.subscriber';\n//#endregion\n\nexport const TaonCmsCommentAbstractContext = createContext(() => ({\n contextName: 'TaonCmsCommentAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonCmsCommentEntity },\n controllers: { TaonCmsCommentController },\n repositories: { TaonCmsCommentRepository },\n providers: { TaonCmsCommentProvider },\n middlewares: { TaonCmsCommentMiddleware },\n subscribers: { TaonCmsCommentSubscriber },\n}));\n","//#region imports\nimport {\n Column,\n CustomColumn,\n PrimaryGeneratedColumn,\n Taon,\n TaonBaseAbstractEntity,\n TaonBaseEntity,\n TaonEntity,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport type { TaonCmsContentSnapshot } from '../taon-cms-content/taon-cms-content.models';\n\nimport { TaonCmsContentRevisionDefaultsValues } from './taon-cms-content-revision.constants';\n//#endregion\n\n@TaonEntity({\n className: 'TaonCmsContentRevisionEntity',\n createTable: true,\n})\nexport class TaonCmsContentRevisionEntity extends TaonBaseEntity<TaonCmsContentRevisionEntity> {\n/* */\n/* */\n \n id: number;\n\n/* */\n/* */\n \n version: number;\n\n/* */\n/* */\n \n contentId: number;\n\n/* */\n/* */\n \n revisionNumber: number;\n\n/* */\n/* */\n \n title: string;\n\n/* */\n/* */\n \n body: string | null;\n\n/* */\n/* */\n \n snapshot: TaonCmsContentSnapshot | null;\n\n/* */\n/* */\n \n createdByUserId: number | null;\n\n/* */\n/* */\n \n createdAt: Date;\n}\n","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\nimport type { EntityManager } from 'taon-typeorm/browser';\n\nimport type { TaonCmsContentEntity } from '../taon-cms-content/taon-cms-content.entity';\nimport type { TaonCmsContentSnapshot } from '../taon-cms-content/taon-cms-content.models';\nimport { contentError } from '../taon-cms-content/taon-cms-content.validation';\n\nimport { TaonCmsContentRevisionEntity } from './taon-cms-content-revision.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonCmsContentRevisionRepository',\n})\nexport class TaonCmsContentRevisionRepository extends TaonBaseRepository<TaonCmsContentRevisionEntity> {\n entityClassResolveFn: () => typeof TaonCmsContentRevisionEntity = () =>\n TaonCmsContentRevisionEntity;\n\n async listForContent(\n contentId: number,\n manager: EntityManager,\n ): Promise<TaonCmsContentRevisionEntity[]> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async requireRevision(\n contentId: number,\n revisionNumber: number,\n manager: EntityManager,\n ): Promise<TaonCmsContentRevisionEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async recordContent(\n content: TaonCmsContentEntity,\n snapshot: TaonCmsContentSnapshot,\n manager: EntityManager,\n ): Promise<TaonCmsContentRevisionEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}\n","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonCmsContentRevisionEntity } from './taon-cms-content-revision.entity';\nimport { TaonCmsContentRevisionRepository } from './taon-cms-content-revision.repository';\n//#endregion\n\n@TaonController<TaonCmsContentRevisionController>({\n className: 'TaonCmsContentRevisionController',\n allowedMethods: [],\n})\nexport class TaonCmsContentRevisionController extends TaonBaseCrudController<TaonCmsContentRevisionEntity> {\n entityClassResolveFn: () => typeof TaonCmsContentRevisionEntity = () =>\n TaonCmsContentRevisionEntity;\n\n taonCmsContentRevisionRepository = this.injectCustomRepo(\n TaonCmsContentRevisionRepository,\n );\n}\n","//#region imports\nimport { Taon, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\nimport { Injectable } from '@angular/core';\n//#endregion\n\n@TaonProvider({\n className: 'TaonCmsContentRevisionProvider',\n})\n//#region @browser\n@Injectable()\n//#endregion\nexport class TaonCmsContentRevisionProvider extends TaonBaseProvider {\n\n\n\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonCmsContentRevisionMiddleware',\n})\nexport class TaonCmsContentRevisionMiddleware extends TaonBaseMiddleware {}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonCmsContentRevisionEntity } from './taon-cms-content-revision.entity';\nimport { TaonCmsContentRevisionProvider } from './taon-cms-content-revision.provider';\n//#endregion\n\n@TaonSubscriber<TaonCmsContentRevisionSubscriber>({\n className: 'TaonCmsContentRevisionSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonCmsContentRevisionSubscriber extends TaonBaseSubscriberForEntity {\n taonCmsContentRevisionProvider = this.injectProvider(TaonCmsContentRevisionProvider);\n listenTo(): typeof TaonCmsContentRevisionEntity {\n return TaonCmsContentRevisionEntity;\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonCmsContentRevisionEntity } from './taon-cms-content-revision.entity';\nimport { TaonCmsContentRevisionController } from './taon-cms-content-revision.controller';\nimport { TaonCmsContentRevisionRepository } from './taon-cms-content-revision.repository';\nimport { TaonCmsContentRevisionProvider } from './taon-cms-content-revision.provider';\nimport { TaonCmsContentRevisionMiddleware } from './taon-cms-content-revision.middleware';\nimport { TaonCmsContentRevisionSubscriber } from './taon-cms-content-revision.subscriber';\n//#endregion\n\nexport const TaonCmsContentRevisionAbstractContext = createContext(() => ({\n contextName: 'TaonCmsContentRevisionAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonCmsContentRevisionEntity },\n controllers: { TaonCmsContentRevisionController },\n repositories: { TaonCmsContentRevisionRepository },\n providers: { TaonCmsContentRevisionProvider },\n middlewares: { TaonCmsContentRevisionMiddleware },\n subscribers: { TaonCmsContentRevisionSubscriber },\n}));\n","//#region imports\nimport {\n Column,\n CustomColumn,\n Taon,\n TaonBaseAbstractEntity,\n TaonEntity,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonCmsContentTagDefaultsValues } from './taon-cms-content-tag.constants';\n//#endregion\n\n@TaonEntity({\n className: 'TaonCmsContentTagEntity',\n createTable: true,\n})\nexport class TaonCmsContentTagEntity extends TaonBaseAbstractEntity<TaonCmsContentTagEntity> {\n/* */\n/* */\n \n contentId: number;\n\n/* */\n/* */\n \n tagId: number;\n}\n","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\nimport type { EntityManager } from 'taon-typeorm/browser';\n\nimport { TaonCmsContentTagEntity } from './taon-cms-content-tag.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonCmsContentTagRepository',\n})\nexport class TaonCmsContentTagRepository extends TaonBaseRepository<TaonCmsContentTagEntity> {\n entityClassResolveFn: () => typeof TaonCmsContentTagEntity = () =>\n TaonCmsContentTagEntity;\n\n async findTagIds(\n contentId: number,\n manager: EntityManager,\n ): Promise<number[]> {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async replaceTags(\n contentId: number,\n tagIds: number[],\n manager: EntityManager,\n ): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}\n","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonCmsContentTagEntity } from './taon-cms-content-tag.entity';\nimport { TaonCmsContentTagRepository } from './taon-cms-content-tag.repository';\n//#endregion\n\n@TaonController<TaonCmsContentTagController>({\n className: 'TaonCmsContentTagController',\n allowedMethods: [],\n})\nexport class TaonCmsContentTagController extends TaonBaseCrudController<TaonCmsContentTagEntity> {\n entityClassResolveFn: () => typeof TaonCmsContentTagEntity = () =>\n TaonCmsContentTagEntity;\n\n taonCmsContentTagRepository = this.injectCustomRepo(\n TaonCmsContentTagRepository,\n );\n}\n","//#region imports\nimport { Taon, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\nimport { Injectable } from '@angular/core';\n//#endregion\n\n@TaonProvider({\n className: 'TaonCmsContentTagProvider',\n})\n//#region @browser\n@Injectable()\n//#endregion\nexport class TaonCmsContentTagProvider extends TaonBaseProvider {\n\n\n\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonCmsContentTagMiddleware',\n})\nexport class TaonCmsContentTagMiddleware extends TaonBaseMiddleware {}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonCmsContentTagEntity } from './taon-cms-content-tag.entity';\nimport { TaonCmsContentTagProvider } from './taon-cms-content-tag.provider';\n//#endregion\n\n@TaonSubscriber<TaonCmsContentTagSubscriber>({\n className: 'TaonCmsContentTagSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonCmsContentTagSubscriber extends TaonBaseSubscriberForEntity {\n taonCmsContentTagProvider = this.injectProvider(TaonCmsContentTagProvider);\n listenTo(): typeof TaonCmsContentTagEntity {\n return TaonCmsContentTagEntity;\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonCmsContentTagEntity } from './taon-cms-content-tag.entity';\nimport { TaonCmsContentTagController } from './taon-cms-content-tag.controller';\nimport { TaonCmsContentTagRepository } from './taon-cms-content-tag.repository';\nimport { TaonCmsContentTagProvider } from './taon-cms-content-tag.provider';\nimport { TaonCmsContentTagMiddleware } from './taon-cms-content-tag.middleware';\nimport { TaonCmsContentTagSubscriber } from './taon-cms-content-tag.subscriber';\n//#endregion\n\nexport const TaonCmsContentTagAbstractContext = createContext(() => ({\n contextName: 'TaonCmsContentTagAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonCmsContentTagEntity },\n controllers: { TaonCmsContentTagController },\n repositories: { TaonCmsContentTagRepository },\n providers: { TaonCmsContentTagProvider },\n middlewares: { TaonCmsContentTagMiddleware },\n subscribers: { TaonCmsContentTagSubscriber },\n}));\n","//#region imports\nimport {\n Column,\n CustomColumn,\n Taon,\n TaonBaseAbstractEntity,\n TaonEntity,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonCmsTagDefaultsValues } from './taon-cms-tag.constants';\n//#endregion\n\n@TaonEntity({\n className: 'TaonCmsTagEntity',\n createTable: true,\n})\nexport class TaonCmsTagEntity extends TaonBaseAbstractEntity<TaonCmsTagEntity> {\n/* */\n/* */\n \n name: string;\n\n/* */\n/* */\n \n slug: string;\n\n/* */\n/* */\n \n description: string | null;\n}\n","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\nimport type { EntityManager } from 'taon-typeorm/browser';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\nimport { contentError } from '../taon-cms-content/taon-cms-content.validation';\nimport { requireContentId } from '../taon-cms-content/taon-cms-content.validation';\nimport { TaonCmsContentTagEntity } from '../taon-cms-content-tag/taon-cms-content-tag.entity';\nimport {\n TaonCmsTaxonomyFields,\n validateTaxonomy,\n} from '../taon-cms-category/taon-cms-taxonomy.validation';\n\nimport { TaonCmsTagEntity } from './taon-cms-tag.entity';\n//#endregion\n\nconst t = Translation.for('src/lib/taon-cms-tag/taon-cms-tag.repository.ts', {\"src/lib/taon-cms-tag/taon-cms-tag.controller.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-tag.controller.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-tag.controller.ts.de-DE.i18n.data')).default},\"src/lib/taon-cms-tag/taon-cms-tag.repository.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-tag.repository.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-tag.repository.ts.de-DE.i18n.data')).default}} as any);\n\n@TaonRepository({\n className: 'TaonCmsTagRepository',\n})\nexport class TaonCmsTagRepository extends TaonBaseRepository<TaonCmsTagEntity> {\n entityClassResolveFn: () => typeof TaonCmsTagEntity = () => TaonCmsTagEntity;\n\n async saveTag(\n id: number | null,\n input: TaonCmsTaxonomyFields,\n ): Promise<TaonCmsTagEntity> {\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\n async deleteTag(id: number): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async requireTags(ids: number[], manager: EntityManager): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}\n","//#region imports\nimport { TaonSessionRepository } from '@taon-dev/session/browser';\nimport { TaonAuthContextRepository } from '@taon-dev/session/browser';\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n POST,\n DELETE,\n Body,\n Models,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport type { TaonCmsTaxonomyFields } from '../taon-cms-category/taon-cms-taxonomy.validation';\nimport { contentError } from '../taon-cms-content/taon-cms-content.validation';\n\nimport { TaonCmsTagEntity } from './taon-cms-tag.entity';\nimport { TaonCmsTagRepository } from './taon-cms-tag.repository';\n//#endregion\n\n@TaonController<TaonCmsTagController>({\n className: 'TaonCmsTagController',\n allowedMethods: ['getAll', 'saveTag', 'deleteTag'],\n})\nexport class TaonCmsTagController extends TaonBaseCrudController<TaonCmsTagEntity> {\n entityClassResolveFn: () => typeof TaonCmsTagEntity = () => TaonCmsTagEntity;\n\n taonCmsTagRepository = this.injectCustomRepo(TaonCmsTagRepository);\n\n private readonly sessions = this.injectCustomRepo(TaonSessionRepository);\n\n private readonly auth = this.injectCustomRepo(TaonAuthContextRepository);\n\n protected async beforeEachRequest({\n req,\n res,\n t,\n }: Models.TaonCtrlBeforeEachRequestParams<TaonCmsTagController>): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n @POST()\n saveTag(\n @Query('id') id: number | null,\n @Body() input: TaonCmsTaxonomyFields,\n ): Taon.Response<TaonCmsTagEntity> {\n/* */\n/* */\n return (void 0);\n }\n\n @DELETE()\n deleteTag(@Query('id') id: number): Taon.Response<void> {\n/* */\n/* */\n return (void 0);\n }\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}\n","//#region imports\nimport { Taon, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\nimport { Injectable } from '@angular/core';\n//#endregion\n\n@TaonProvider({\n className: 'TaonCmsTagProvider',\n})\n//#region @browser\n@Injectable()\n//#endregion\nexport class TaonCmsTagProvider extends TaonBaseProvider {\n\n\n\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonCmsTagMiddleware',\n})\nexport class TaonCmsTagMiddleware extends TaonBaseMiddleware {}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonCmsTagEntity } from './taon-cms-tag.entity';\nimport { TaonCmsTagProvider } from './taon-cms-tag.provider';\n//#endregion\n\n@TaonSubscriber<TaonCmsTagSubscriber>({\n className: 'TaonCmsTagSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonCmsTagSubscriber extends TaonBaseSubscriberForEntity {\n taonCmsTagProvider = this.injectProvider(TaonCmsTagProvider);\n listenTo(): typeof TaonCmsTagEntity {\n return TaonCmsTagEntity;\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonCmsTagEntity } from './taon-cms-tag.entity';\nimport { TaonCmsTagController } from './taon-cms-tag.controller';\nimport { TaonCmsTagRepository } from './taon-cms-tag.repository';\nimport { TaonCmsTagProvider } from './taon-cms-tag.provider';\nimport { TaonCmsTagMiddleware } from './taon-cms-tag.middleware';\nimport { TaonCmsTagSubscriber } from './taon-cms-tag.subscriber';\n//#endregion\n\nexport const TaonCmsTagAbstractContext = createContext(() => ({\n contextName: 'TaonCmsTagAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonCmsTagEntity },\n controllers: { TaonCmsTagController },\n repositories: { TaonCmsTagRepository },\n providers: { TaonCmsTagProvider },\n middlewares: { TaonCmsTagMiddleware },\n subscribers: { TaonCmsTagSubscriber },\n}));\n","import { Taon } from 'taon/browser';\n\nimport type { TaonCmsContentFields } from './taon-cms-content.models';\nimport { TaonCmsContentType } from './taon-cms-content.models';\n\nexport function contentError(message: string, status = 400): never {\n Taon.error({ message, status });\n throw new Error(message);\n}\n\nexport function requireContentId(value: number, name = 'contentId'): void {\n if (!Number.isSafeInteger(value) || value <= 0) {\n contentError(`${name} must be a positive integer.`);\n }\n}\n\nexport function requireContentVersion(\n value: number,\n name = 'expectedVersion',\n): void {\n if (!Number.isSafeInteger(value) || value < 0) {\n contentError(`${name} must be a non-negative integer.`);\n }\n}\n\nexport function validateContentInput(\n input: Partial<TaonCmsContentFields> & {\n tagIds?: number[];\n relatedPostIds?: number[];\n permissionIds?: number[];\n },\n creating = false,\n): void {\n if (!input || typeof input !== 'object' || Array.isArray(input)) {\n contentError('Content must be an object.');\n }\n if (\n input.type !== undefined &&\n !Object.values(TaonCmsContentType).includes(input.type)\n ) {\n contentError('type must be normal, video, audio, or attachment.');\n }\n for (const field of ['title', 'slug'] as const) {\n if (creating || input[field] !== undefined) {\n if (typeof input[field] !== 'string' || !input[field].trim()) {\n contentError(`${field} must be a non-empty string.`);\n }\n }\n }\n for (const field of [\n 'body',\n 'excerpt',\n 'videoKey',\n 'audioKey',\n 'attachmentKey',\n 'thumbnailKey',\n ] as const) {\n if (\n input[field] !== undefined &&\n input[field] !== null &&\n typeof input[field] !== 'string'\n ) {\n contentError(`${field} must be a string or null.`);\n }\n }\n for (const field of ['categoryId', 'authorUserId'] as const) {\n if (input[field] !== undefined && input[field] !== null) {\n requireContentId(input[field], field);\n }\n }\n if (\n input.applyPermissionsToRelatedPosts !== undefined &&\n typeof input.applyPermissionsToRelatedPosts !== 'boolean'\n ) {\n contentError('applyPermissionsToRelatedPosts must be a boolean.');\n }\n if (\n input.status !== undefined &&\n !['draft', 'published', 'archived'].includes(input.status)\n ) {\n contentError('status must be draft, published, or archived.');\n }\n if (input.publishedAt !== undefined && input.publishedAt !== null) {\n if (\n !(\n input.publishedAt instanceof Date ||\n typeof input.publishedAt === 'string'\n ) ||\n Number.isNaN(new Date(input.publishedAt).getTime())\n ) {\n contentError('publishedAt must be a valid date or null.');\n }\n }\n for (const field of ['tagIds', 'relatedPostIds', 'permissionIds'] as const) {\n const ids = input[field];\n if (ids !== undefined) {\n if (!Array.isArray(ids)) {\n contentError(`${field} must be an array.`);\n }\n for (const id of ids) {\n requireContentId(\n id,\n field === 'tagIds'\n ? 'tagId'\n : field === 'relatedPostIds'\n ? 'relatedPostId'\n : 'permissionId',\n );\n }\n }\n }\n}\n","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { In, Raw } from 'taon-typeorm/browser';\nimport type { EntityManager } from 'taon-typeorm/browser';\nimport { TaonPermissionEntity } from '@taon-dev/session/browser';\n\nimport { TaonCmsApplicationHookEntity } from '../taon-cms-application-hook/taon-cms-application-hook.entity';\nimport type { TaonCmsApplicationHook } from '../taon-cms-application-hooks';\nimport { TaonCmsCategoryRepository } from '../taon-cms-category/taon-cms-category.repository';\nimport type { TaonCmsContentRevisionEntity } from '../taon-cms-content-revision/taon-cms-content-revision.entity';\nimport { TaonCmsContentRevisionRepository } from '../taon-cms-content-revision/taon-cms-content-revision.repository';\nimport { TaonCmsContentTagRepository } from '../taon-cms-content-tag/taon-cms-content-tag.repository';\nimport { TaonCmsTagRepository } from '../taon-cms-tag/taon-cms-tag.repository';\n\nimport { TaonCmsContentEntity } from './taon-cms-content.entity';\nimport { TaonCmsContentType } from './taon-cms-content.models';\nimport type {\n TaonCmsContentFields,\n TaonCmsContentSnapshot,\n TaonCmsCreateContent,\n TaonCmsRestoreContent,\n TaonCmsUpdateContent,\n TaonCmsPermissionConfiguration,\n} from './taon-cms-content.models';\nimport {\n contentError,\n requireContentId,\n requireContentVersion,\n validateContentInput,\n} from './taon-cms-content.validation';\n//#endregion\n\n@TaonRepository({\n className: 'TaonCmsContentRepository',\n})\nexport class TaonCmsContentRepository extends TaonBaseRepository<TaonCmsContentEntity> {\n entityClassResolveFn: () => typeof TaonCmsContentEntity = () =>\n TaonCmsContentEntity;\n\n private readonly taonCmsContentRevisionRepository = this.injectCustomRepo(\n TaonCmsContentRevisionRepository,\n );\n\n private readonly taonCmsContentTagRepository = this.injectCustomRepo(\n TaonCmsContentTagRepository,\n );\n\n private readonly taonCmsCategoryRepository = this.injectCustomRepo(\n TaonCmsCategoryRepository,\n );\n\n private readonly tags = this.injectCustomRepo(TaonCmsTagRepository);\n\n async listTagIds(id: number): Promise<number[]> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async createContent(\n input: TaonCmsCreateContent,\n ): Promise<TaonCmsContentEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async duplicateContent(id: number): Promise<TaonCmsContentEntity> {\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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n private async createContentWithManager(\n input: TaonCmsCreateContent,\n manager: EntityManager,\n ): Promise<TaonCmsContentEntity> {\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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async updateContent(\n id: number,\n input: TaonCmsUpdateContent,\n ): Promise<TaonCmsContentEntity> {\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\n async archiveContent(\n id: number,\n expectedVersion: number,\n ): Promise<TaonCmsContentEntity> {\n/* */\n/* */\n return (void 0);\n }\n\n async restoreContent(\n id: number,\n input: TaonCmsRestoreContent,\n ): Promise<TaonCmsContentEntity> {\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/* */\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/* */\n return (void 0);\n }\n\n async listRevisions(id: number): Promise<TaonCmsContentRevisionEntity[]> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async listCourses(): Promise<TaonCmsContentEntity[]> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async listRelatedPosts(id: number): Promise<TaonCmsContentEntity[]> {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async listPermissions(id: number): Promise<TaonPermissionEntity[]> {\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async getPermissionConfiguration(\n id: number,\n skipTransaction = false,\n ): Promise<TaonCmsPermissionConfiguration> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n private async resolvePermissionConfiguration(\n post: TaonCmsContentEntity,\n manager: EntityManager,\n ): Promise<TaonCmsPermissionConfiguration> {\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/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n private async validatePermissionInheritance(\n manager: EntityManager,\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/* */\n/* */\n return (void 0);\n }\n\n private async requireOwnPermissionEdit(\n id: number,\n permissionIds: number[],\n current: TaonCmsContentEntity,\n manager: EntityManager,\n ): Promise<void> {\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 listApplicationHooks(): Promise<TaonCmsApplicationHookEntity[]> {\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async getContentByHook(hook: string): Promise<string> {\n/* */\n/* */\n return (void 0);\n }\n\n async getContentForHook(hook: string): Promise<TaonCmsContentEntity | null> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n //#region methods / media access\n async getContentBySlugForMedia(\n slug: string,\n ): Promise<TaonCmsContentEntity | null> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async isPublicMediaKey(key: string): Promise<boolean> {\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 //#endregion\n\n async addRelatedPost(\n id: number,\n relatedPostId: number,\n expectedVersion: number,\n ): Promise<TaonCmsContentEntity> {\n/* */\n/* */\n return (void 0);\n }\n\n async deleteRelatedPost(\n id: number,\n relatedPostId: number,\n expectedVersion: number,\n ): Promise<TaonCmsContentEntity> {\n/* */\n/* */\n return (void 0);\n }\n\n private async changeRelatedPost(\n id: number,\n relatedPostId: number,\n expectedVersion: number,\n adding: boolean,\n ): Promise<TaonCmsContentEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n private async requireContent(\n id: number,\n manager: EntityManager,\n ): Promise<TaonCmsContentEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n private contentFields(\n input: Partial<TaonCmsContentFields>,\n current?: TaonCmsContentFields,\n ): TaonCmsContentFields {\n const type = input.type ?? current?.type ?? TaonCmsContentType.Normal;\n const title = input.title ?? current?.title;\n const slug = input.slug ?? current?.slug;\n if (title === undefined || slug === undefined) {\n contentError('title and slug are required.');\n }\n const publishedAt =\n input.publishedAt === undefined\n ? (current?.publishedAt ?? null)\n : input.publishedAt;\n return {\n type,\n title,\n slug,\n body: input.body === undefined ? (current?.body ?? null) : input.body,\n videoKey:\n input.videoKey === undefined\n ? (current?.videoKey ?? null)\n : input.videoKey,\n audioKey:\n input.audioKey === undefined\n ? (current?.audioKey ?? null)\n : input.audioKey,\n attachmentKey:\n input.attachmentKey === undefined\n ? (current?.attachmentKey ?? null)\n : input.attachmentKey,\n thumbnailKey:\n input.thumbnailKey === undefined\n ? (current?.thumbnailKey ?? null)\n : input.thumbnailKey,\n excerpt:\n input.excerpt === undefined\n ? (current?.excerpt ?? null)\n : input.excerpt,\n categoryId:\n input.categoryId === undefined\n ? (current?.categoryId ?? null)\n : input.categoryId,\n authorUserId:\n input.authorUserId === undefined\n ? (current?.authorUserId ?? null)\n : input.authorUserId,\n status: input.status ?? current?.status ?? 'draft',\n publishedAt: publishedAt === null ? null : new Date(publishedAt),\n applyPermissionsToRelatedPosts:\n input.applyPermissionsToRelatedPosts ??\n current?.applyPermissionsToRelatedPosts ??\n false,\n };\n }\n\n private async snapshotOf(\n content: TaonCmsContentEntity,\n manager: EntityManager,\n ): Promise<TaonCmsContentSnapshot> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n private contentStatus(status: string): TaonCmsContentFields['status'] {\n if (status !== 'draft' && status !== 'published' && status !== 'archived') {\n contentError(`Unsupported stored content status: ${status}.`, 409);\n }\n return status;\n }\n\n private async validateReferences(\n fields: TaonCmsContentFields,\n tagIds: number[],\n permissionIds: number[],\n manager: EntityManager,\n ): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n private async requirePermissions(\n permissionIds: number[],\n manager: EntityManager,\n ): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n private async requireAvailableSlug(\n slug: string,\n manager: EntityManager,\n contentId?: number,\n ): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n private async replaceRelatedPosts(\n id: number,\n relatedPostIds: number[],\n previousIds: number[],\n manager: EntityManager,\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 return (void 0);\n }\n\n private async replacePermissions(\n id: number,\n permissionIds: number[],\n previousIds: number[],\n manager: EntityManager,\n ): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n private async replaceApplicationHook(\n contentId: number,\n hook: TaonCmsApplicationHook | null,\n manager: EntityManager,\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 return (void 0);\n }\n\n private async commitUpdate(\n current: TaonCmsContentEntity,\n expectedVersion: number,\n snapshot: TaonCmsContentSnapshot,\n manager: EntityManager,\n applicationHook?: TaonCmsApplicationHook | null,\n ): Promise<TaonCmsContentEntity> {\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/* */\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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}\n","//#region imports\nimport {\n TaonSessionProvider,\n TaonSessionRepository,\n} from '@taon-dev/session/browser';\nimport { TaonAuthContextRepository } from '@taon-dev/session/browser';\nimport {\n ExpressRequest,\n ExpressResponse,\n TaonBaseStorageController,\n TaonController,\n TaonStorageObject,\n TaonUploadedFile,\n ClassHelpers,\n apiPrefix,\n Models,\n} from 'taon/browser';\nimport { UtilsJwt } from 'tnp-core/browser';\n\nimport { TaonCmsContentRepository } from './taon-cms-content.repository';\nimport { contentError } from './taon-cms-content.validation';\n//#endregion\n\n@TaonController<TaonCmsContentStorageController>({\n className: 'TaonCmsContentStorageController',\n // allowedMethods: ['download', 'uploadFormDataToServer'],\n})\nexport class TaonCmsContentStorageController extends TaonBaseStorageController<\n {},\n TaonCmsContentStorageController\n> {\n private readonly taonSessionRepository = this.injectCustomRepo(\n TaonSessionRepository,\n );\n\n private readonly taonAuthContextRepository = this.injectCustomRepo(\n TaonAuthContextRepository,\n );\n\n private readonly taonCmsContentRepository = this.injectCustomRepo(\n TaonCmsContentRepository,\n );\n\n private readonly taonSessionProvider =\n this.injectProvider(TaonSessionProvider);\n\n protected async beforeEachRequest({\n req,\n res,\n methodConfig,\n t,\n }: Models.TaonCtrlBeforeEachRequestParams<TaonCmsContentStorageController>): Promise<void> {\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/* */\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 afterFileUploadHook(): void {}\n\n async isMediaObjectAvailable(key: string): Promise<boolean> {\n/* */\n/* */\n return (void 0);\n }\n\n buildStorageDownloadUrl(options: {\n req: ExpressRequest;\n key: string;\n private: boolean;\n token?: string;\n download?: boolean;\n }): string {\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 createStorageDownloadToken(options: {\n key: string;\n expiresAt: number;\n }): Promise<string> {\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 verifyStorageDownloadToken(options: {\n key: string;\n token: string;\n }): Promise<boolean> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n protected async isPublicStorageKey(key: string): Promise<boolean> {\n/* */\n/* */\n return (void 0);\n }\n}\n","//#region imports\nimport {\n TaonSessionRepository,\n type TaonPermissionEntity,\n} from '@taon-dev/session/browser';\nimport {\n TaonAuthContextRepository,\n TaonSessionCoreAuthorization,\n} from '@taon-dev/session/browser';\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n POST,\n PUT,\n DELETE,\n Body,\n ExpressRequest,\n Models,\n getStatusCode,\n HttpStatusEnum,\n ExpressResponse,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport type { TaonCmsApplicationHookEntity } from '../taon-cms-application-hook/taon-cms-application-hook.entity';\nimport type { TaonCmsContentRevisionEntity } from '../taon-cms-content-revision/taon-cms-content-revision.entity';\n\nimport { TaonCmsContentStorageController } from './taon-cms-content-storage.controller';\nimport { TaonCmsContentEntity } from './taon-cms-content.entity';\nimport type {\n TaonCmsCreateContent,\n TaonCmsRestoreContent,\n TaonCmsUpdateContent,\n TaonCmsPermissionConfiguration,\n} from './taon-cms-content.models';\nimport { TaonCmsContentRepository } from './taon-cms-content.repository';\nimport { contentError } from './taon-cms-content.validation';\n//#endregion\n\n@TaonController<TaonCmsContentController>({\n //#region controller options\n className: 'TaonCmsContentController',\n allowedMethods: [\n 'getAll',\n 'getBy',\n 'createContent',\n 'duplicateContent',\n 'updateContent',\n 'deleteContent',\n 'restoreContent',\n 'listRevisions',\n 'listRelatedPosts',\n 'listCourses',\n 'listPermissions',\n 'getPermissionConfiguration',\n 'listApplicationHooks',\n 'getContentByHook',\n 'getPublicContentByHook',\n 'getVideoLinkBySlug',\n 'getPublicVideoLinkBySlug',\n 'getAudioLinkBySlug',\n 'getPublicAudioLinkBySlug',\n 'getAttachmentLinkBySlug',\n 'getPublicAttachmentLinkBySlug',\n 'getThumbnailLinkBySlug',\n 'getPublicThumbnailLinkBySlug',\n 'listTagIds',\n 'addRelatedPost',\n 'deleteRelatedPost',\n 'paginationQuery',\n ],\n //#endregion\n})\nexport class TaonCmsContentController extends TaonBaseCrudController<TaonCmsContentEntity> {\n //#region fields & getters\n entityClassResolveFn: () => typeof TaonCmsContentEntity = () =>\n TaonCmsContentEntity;\n\n private readonly taonCmsContentRepository = this.injectCustomRepo(\n TaonCmsContentRepository,\n );\n\n private readonly taonSessionRepository = this.injectCustomRepo(\n TaonSessionRepository,\n );\n\n private readonly taonAuthContextRepository = this.injectCustomRepo(\n TaonAuthContextRepository,\n );\n\n private readonly taonCmsContentStorageController = this.injectController(\n TaonCmsContentStorageController,\n );\n //#endregion\n\n //#region methods / before each request\n protected async beforeEachRequest({\n req,\n res,\n methodConfig,\n t,\n }: Models.TaonCtrlBeforeEachRequestParams<TaonCmsContentController>): 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/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region methods / get video link by slug\n @GET()\n getVideoLinkBySlug(@Query('slug') slug: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n //#region methods / get public video link by slug\n @GET()\n getPublicVideoLinkBySlug(@Query('slug') slug: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region methods / get audio link by slug\n @GET()\n getAudioLinkBySlug(@Query('slug') slug: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region methods / get public audio link by slug\n @GET()\n getPublicAudioLinkBySlug(@Query('slug') slug: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region methods / get attachment link by slug\n @GET()\n getAttachmentLinkBySlug(@Query('slug') slug: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region methods / get public attachment link by slug\n @GET()\n getPublicAttachmentLinkBySlug(\n @Query('slug') slug: string,\n ): Taon.Response<string> {\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n //#endregion\n\n //#region methods / get media link\n @GET()\n getThumbnailLinkBySlug(@Query('slug') slug: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n @GET()\n getPublicThumbnailLinkBySlug(\n @Query('slug') slug: string,\n ): Taon.Response<string> {\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n @GET()\n listCourses(): Taon.Response<TaonCmsContentEntity[]> {\n/* */\n/* */\n return (void 0);\n }\n\n @GET()\n listTagIds(@Query('id') id: number): Taon.Response<number[]> {\n/* */\n/* */\n return (void 0);\n }\n\n private async getMediaLinkBySlug(\n slug: string,\n type: 'video' | 'audio' | 'attachment' | 'thumbnail',\n publicOnly: boolean,\n req: ExpressRequest,\n t: Models.TaonCtrlBeforeEachRequestParams<TaonCmsContentController>['t'],\n ): Promise<string> {\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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n //#region methods / require read access\n private async requireReadAccess(\n content: TaonCmsContentEntity,\n publicOnly: boolean,\n req: ExpressRequest,\n t: Models.TaonCtrlBeforeEachRequestParams<TaonCmsContentController>['t'],\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 //#endregion\n //#endregion\n\n //#region methods / get by id\n @GET()\n getBySlug(@Query(`slug`) slug: string): Taon.Response<TaonCmsContentEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region methods / create content\n @POST()\n createContent(\n @Body() input: TaonCmsCreateContent,\n ): Taon.Response<TaonCmsContentEntity> {\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region methods / update content\n @PUT()\n updateContent(\n @Query('id') id: number,\n @Body() input: TaonCmsUpdateContent,\n ): Taon.Response<TaonCmsContentEntity> {\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n @POST()\n duplicateContent(\n @Query('id') id: number,\n ): Taon.Response<TaonCmsContentEntity> {\n/* */\n/* */\n return (void 0);\n }\n\n //#region methods / delete content\n @DELETE()\n deleteContent(\n @Query('id') id: number,\n @Query('expectedVersion') expectedVersion: number,\n ): Taon.Response<TaonCmsContentEntity> {\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region methods / restore content\n @POST()\n restoreContent(\n @Query('id') id: number,\n @Body() input: TaonCmsRestoreContent,\n ): Taon.Response<TaonCmsContentEntity> {\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region methods / list related posts\n @GET()\n listRelatedPosts(\n @Query('id') id: number,\n ): Taon.Response<TaonCmsContentEntity[]> {\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region methods / list permissions\n @GET()\n listPermissions(\n @Query('id') id: number,\n ): Taon.Response<TaonPermissionEntity[]> {\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region methods / get permission configuration\n @GET()\n getPermissionConfiguration(\n @Query('id') id: number,\n ): Taon.Response<TaonCmsPermissionConfiguration> {\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region methods / list application hooks\n @GET()\n listApplicationHooks(): Taon.Response<TaonCmsApplicationHookEntity[]> {\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region methods / get content by hook\n @GET()\n getContentByHook(@Query('hook') hook: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region methods / get public content by hook\n @GET()\n getPublicContentByHook(@Query('hook') hook: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region methods / add related post\n @POST()\n addRelatedPost(\n @Query('id') id: number,\n @Query('relatedPostId') relatedPostId: number,\n @Query('expectedVersion') expectedVersion: number,\n ): Taon.Response<TaonCmsContentEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region methods / delete related post\n @DELETE()\n deleteRelatedPost(\n @Query('id') id: number,\n @Query('relatedPostId') relatedPostId: number,\n @Query('expectedVersion') expectedVersion: number,\n ): Taon.Response<TaonCmsContentEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region methods / list revisions\n @GET()\n listRevisions(\n @Query('id') id: number,\n ): Taon.Response<TaonCmsContentRevisionEntity[]> {\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}\n","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonCmsContentMiddleware',\n})\nexport class TaonCmsContentMiddleware extends TaonBaseMiddleware {}","//#region imports\nimport { Taon, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\nimport { Injectable } from '@angular/core';\n\n//#endregion\n\n@TaonProvider({\n className: 'TaonCmsContentProvider',\n})\nexport class TaonCmsContentProvider extends TaonBaseProvider {\n public siteName: string;\n\n async _(): Promise<void> {\n if (!this.siteName) {\n throw new Error(`Please provide siteName in TaonCmsContentProvider`);\n }\n }\n}\n","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonCmsContentEntity } from './taon-cms-content.entity';\nimport { TaonCmsContentProvider } from './taon-cms-content.provider';\n//#endregion\n\n@TaonSubscriber<TaonCmsContentSubscriber>({\n className: 'TaonCmsContentSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonCmsContentSubscriber extends TaonBaseSubscriberForEntity {\n taonCmsContentProvider = this.injectProvider(TaonCmsContentProvider);\n listenTo(): typeof TaonCmsContentEntity {\n return TaonCmsContentEntity;\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonCmsCategoryAbstractContext } from '../taon-cms-category/taon-cms-category.abstract.context';\nimport { TaonCmsContentRevisionAbstractContext } from '../taon-cms-content-revision/taon-cms-content-revision.abstract.context';\nimport { TaonCmsContentTagAbstractContext } from '../taon-cms-content-tag/taon-cms-content-tag.abstract.context';\nimport { TaonCmsTagAbstractContext } from '../taon-cms-tag/taon-cms-tag.abstract.context';\nimport { TaonCmsApplicationHookEntity } from '../taon-cms-application-hook/taon-cms-application-hook.entity';\n\nimport { TaonCmsContentController } from './taon-cms-content.controller';\nimport { TaonCmsContentEntity } from './taon-cms-content.entity';\nimport { TaonCmsContentMiddleware } from './taon-cms-content.middleware';\nimport { TaonCmsContentProvider } from './taon-cms-content.provider';\nimport { TaonCmsContentRepository } from './taon-cms-content.repository';\nimport { TaonCmsContentSubscriber } from './taon-cms-content.subscriber';\nimport { TaonCmsContentStorageController } from './taon-cms-content-storage.controller';\n\n//#endregion\n\nexport const TaonCmsContentAbstractContext = createContext(() => ({\n contextName: 'TaonCmsContentAbstractContext',\n abstract: true,\n contexts: {\n TaonBaseContext,\n TaonCmsCategoryAbstractContext,\n TaonCmsTagAbstractContext,\n TaonCmsContentTagAbstractContext,\n TaonCmsContentRevisionAbstractContext,\n },\n entities: { TaonCmsApplicationHookEntity, TaonCmsContentEntity },\n controllers: { TaonCmsContentController, TaonCmsContentStorageController },\n repositories: { TaonCmsContentRepository },\n providers: { TaonCmsContentProvider },\n middlewares: { TaonCmsContentMiddleware },\n subscribers: { TaonCmsContentSubscriber },\n}));\n","//#region imports\nimport {\n Column,\n CustomColumn,\n PrimaryGeneratedColumn,\n Taon,\n TaonBaseAbstractEntity,\n TaonBaseEntity,\n TaonEntity,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonCmsContentAssetDefaultsValues } from './taon-cms-content-asset.constants';\n//#endregion\n\n@TaonEntity({\n className: 'TaonCmsContentAssetEntity',\n createTable: true,\n})\nexport class TaonCmsContentAssetEntity extends TaonBaseEntity<TaonCmsContentAssetEntity> {\n/* */\n/* */\n \n id: number;\n\n/* */\n/* */\n \n version: number;\n\n/* */\n/* */\n \n contentId: number | null;\n\n/* */\n/* */\n \n type: string;\n // image | video | audio | file\n\n/* */\n/* */\n \n storageProvider: string;\n // r2 | filesystem | s3\n\n/* */\n/* */\n \n bucket: string | null;\n\n/* */\n/* */\n \n key: string;\n\n/* */\n/* */\n \n originalFilename: string | null;\n\n/* */\n/* */\n \n mimeType: string | null;\n\n/* */\n/* */\n \n size: number | null;\n\n/* */\n/* */\n \n durationSeconds: number | null;\n\n/* */\n/* */\n \n metadata: Record<string, any> | null;\n\n/* */\n/* */\n \n createdAt: Date;\n}\n","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\n\nimport { TaonCmsContentAssetEntity } from './taon-cms-content-asset.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonCmsContentAssetRepository',\n})\nexport class TaonCmsContentAssetRepository extends TaonBaseRepository<TaonCmsContentAssetEntity> {\n entityClassResolveFn: () => typeof TaonCmsContentAssetEntity = () => TaonCmsContentAssetEntity;\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonCmsContentAssetEntity } from './taon-cms-content-asset.entity';\nimport { TaonCmsContentAssetRepository } from './taon-cms-content-asset.repository';\n//#endregion\n\n@TaonController<TaonCmsContentAssetController>({\n className: 'TaonCmsContentAssetController',\n allowedMethods: []\n})\nexport class TaonCmsContentAssetController extends TaonBaseCrudController<TaonCmsContentAssetEntity> {\n entityClassResolveFn: () => typeof TaonCmsContentAssetEntity = () => TaonCmsContentAssetEntity;\n\n taonCmsContentAssetRepository = this.injectCustomRepo(TaonCmsContentAssetRepository);\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}\n","//#region imports\nimport { Taon, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\nimport { Injectable } from '@angular/core';\n//#endregion\n\n@TaonProvider({\n className: 'TaonCmsContentAssetProvider',\n})\n//#region @browser\n@Injectable()\n//#endregion\nexport class TaonCmsContentAssetProvider extends TaonBaseProvider {\n\n\n\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonCmsContentAssetMiddleware',\n})\nexport class TaonCmsContentAssetMiddleware extends TaonBaseMiddleware {}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonCmsContentAssetEntity } from './taon-cms-content-asset.entity';\nimport { TaonCmsContentAssetProvider } from './taon-cms-content-asset.provider';\n//#endregion\n\n@TaonSubscriber<TaonCmsContentAssetSubscriber>({\n className: 'TaonCmsContentAssetSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonCmsContentAssetSubscriber extends TaonBaseSubscriberForEntity {\n taonCmsContentAssetProvider = this.injectProvider(TaonCmsContentAssetProvider);\n listenTo(): typeof TaonCmsContentAssetEntity {\n return TaonCmsContentAssetEntity;\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonCmsContentAssetEntity } from './taon-cms-content-asset.entity';\nimport { TaonCmsContentAssetController } from './taon-cms-content-asset.controller';\nimport { TaonCmsContentAssetRepository } from './taon-cms-content-asset.repository';\nimport { TaonCmsContentAssetProvider } from './taon-cms-content-asset.provider';\nimport { TaonCmsContentAssetMiddleware } from './taon-cms-content-asset.middleware';\nimport { TaonCmsContentAssetSubscriber } from './taon-cms-content-asset.subscriber';\n//#endregion\n\nexport const TaonCmsContentAssetAbstractContext = createContext(() => ({\n contextName: 'TaonCmsContentAssetAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonCmsContentAssetEntity },\n controllers: { TaonCmsContentAssetController },\n repositories: { TaonCmsContentAssetRepository },\n providers: { TaonCmsContentAssetProvider },\n middlewares: { TaonCmsContentAssetMiddleware },\n subscribers: { TaonCmsContentAssetSubscriber },\n}));\n","//#region imports\nimport {\n Column,\n CustomColumn,\n PrimaryGeneratedColumn,\n Taon,\n TaonBaseAbstractEntity,\n TaonBaseEntity,\n TaonEntity,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonCmsContentPermissionDefaultsValues } from './taon-cms-content-permission.constants';\n//#endregion\n\n@TaonEntity({\n className: 'TaonCmsContentPermissionEntity',\n createTable: true,\n})\nexport class TaonCmsContentPermissionEntity extends TaonBaseEntity<TaonCmsContentPermissionEntity> {\n @PrimaryGeneratedColumn()\n id: number;\n\n @Column({ type: 'integer', default: 0 })\n version: number;\n\n @Column({ type: 'integer' })\n contentId: number;\n\n @Column({ type: 'varchar' })\n type: string;\n // public | authenticated | permission | role |\n // purchase | subscription\n\n @Column({ type: 'integer', nullable: true })\n permissionId: number | null;\n\n @Column({ type: 'integer', nullable: true })\n roleId: number | null;\n\n @Column({ type: 'integer', nullable: true })\n productId: number | null;\n\n @Column({ type: 'varchar', nullable: true })\n stripePriceId: string | null;\n\n @Column({ type: 'simple-json', nullable: true })\n config: Record<string, any> | null;\n\n @Column({ type: 'datetime' })\n createdAt: Date;\n}\n","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\n\nimport { TaonCmsContentPermissionEntity } from './taon-cms-content-permission.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonCmsContentPermissionRepository',\n})\nexport class TaonCmsContentPermissionRepository extends TaonBaseRepository<TaonCmsContentPermissionEntity> {\n entityClassResolveFn: () => typeof TaonCmsContentPermissionEntity = () => TaonCmsContentPermissionEntity;\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonCmsContentPermissionEntity } from './taon-cms-content-permission.entity';\nimport { TaonCmsContentPermissionRepository } from './taon-cms-content-permission.repository';\n//#endregion\n\n@TaonController<TaonCmsContentPermissionController>({\n className: 'TaonCmsContentPermissionController',\n allowedMethods: []\n})\nexport class TaonCmsContentPermissionController extends TaonBaseCrudController<TaonCmsContentPermissionEntity> {\n entityClassResolveFn: () => typeof TaonCmsContentPermissionEntity = () => TaonCmsContentPermissionEntity;\n\n taonCmsContentPermissionRepository = this.injectCustomRepo(TaonCmsContentPermissionRepository);\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}\n","//#region imports\nimport { Taon, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\nimport { Injectable } from '@angular/core';\n//#endregion\n\n@TaonProvider({\n className: 'TaonCmsContentPermissionProvider',\n})\n//#region @browser\n@Injectable()\n//#endregion\nexport class TaonCmsContentPermissionProvider extends TaonBaseProvider {\n\n\n\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonCmsContentPermissionMiddleware',\n})\nexport class TaonCmsContentPermissionMiddleware extends TaonBaseMiddleware {}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonCmsContentPermissionEntity } from './taon-cms-content-permission.entity';\nimport { TaonCmsContentPermissionProvider } from './taon-cms-content-permission.provider';\n//#endregion\n\n@TaonSubscriber<TaonCmsContentPermissionSubscriber>({\n className: 'TaonCmsContentPermissionSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonCmsContentPermissionSubscriber extends TaonBaseSubscriberForEntity {\n taonCmsContentPermissionProvider = this.injectProvider(TaonCmsContentPermissionProvider);\n listenTo(): typeof TaonCmsContentPermissionEntity {\n return TaonCmsContentPermissionEntity;\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonCmsContentPermissionEntity } from './taon-cms-content-permission.entity';\nimport { TaonCmsContentPermissionController } from './taon-cms-content-permission.controller';\nimport { TaonCmsContentPermissionRepository } from './taon-cms-content-permission.repository';\nimport { TaonCmsContentPermissionProvider } from './taon-cms-content-permission.provider';\nimport { TaonCmsContentPermissionMiddleware } from './taon-cms-content-permission.middleware';\nimport { TaonCmsContentPermissionSubscriber } from './taon-cms-content-permission.subscriber';\n//#endregion\n\nexport const TaonCmsContentPermissionAbstractContext = createContext(() => ({\n contextName: 'TaonCmsContentPermissionAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonCmsContentPermissionEntity },\n controllers: { TaonCmsContentPermissionController },\n repositories: { TaonCmsContentPermissionRepository },\n providers: { TaonCmsContentPermissionProvider },\n middlewares: { TaonCmsContentPermissionMiddleware },\n subscribers: { TaonCmsContentPermissionSubscriber },\n}));\n","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { TaonSessionAbstractContext } from '@taon-dev/session/browser';\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonCmsCategoryAbstractContext } from './taon-cms-category/taon-cms-category.abstract.context';\nimport { TaonCmsCommentAbstractContext } from './taon-cms-comment/taon-cms-comment.abstract.context';\nimport { TaonCmsContentAbstractContext } from './taon-cms-content/taon-cms-content.abstract.context';\nimport { TaonCmsContentAssetAbstractContext } from './taon-cms-content-asset/taon-cms-content-asset.abstract.context';\nimport { TaonCmsContentPermissionAbstractContext } from './taon-cms-content-permission/taon-cms-content-permission.abstract.context';\nimport { TaonCmsContentRevisionAbstractContext } from './taon-cms-content-revision/taon-cms-content-revision.abstract.context';\nimport { TaonCmsContentTagAbstractContext } from './taon-cms-content-tag/taon-cms-content-tag.abstract.context';\nimport { TaonCmsTagAbstractContext } from './taon-cms-tag/taon-cms-tag.abstract.context';\n\nexport const TaonCmsAbstractContext = createContext(() => ({\n contextName: 'TaonCmsAbstractContext',\n abstract: true,\n contexts: {\n TaonCmsCategoryAbstractContext,\n TaonCmsCommentAbstractContext,\n TaonCmsContentAbstractContext,\n TaonCmsContentAssetAbstractContext,\n TaonCmsContentPermissionAbstractContext,\n TaonCmsContentRevisionAbstractContext,\n TaonCmsContentTagAbstractContext,\n TaonCmsTagAbstractContext,\n TaonSessionAbstractContext,\n },\n}));\n\n// THIS FILE IS GENERATED - DO NOT MODIFY\n","import { Resource } from 'ng2-rest/browser';\nimport { Observable } from 'rxjs';\n\nconst progressCallbacks = new WeakMap<FormData, (percentage: number) => void>();\n\n// Keep Taon's middleware, retries and response decoding; replace only the\n// final Fetch transport for uploads that request browser upload events.\nexport function trackCmsUpload(\n url: string,\n body: FormData,\n onProgress: (percentage: number) => void,\n): () => void {\n const key = `cms-upload-progress-POST-${new URL(url).pathname}`;\n if (!Resource.methodsInterceptors.has(key)) {\n Resource.methodsInterceptors.set(key, {\n intercept: ({ req, next }) => {\n if (!(req.body instanceof FormData)) {\n return next.handle(req);\n }\n const uploadBody = req.body;\n const callback = progressCallbacks.get(uploadBody);\n if (!callback) {\n return next.handle(req);\n }\n return new Observable<Response>(subscriber => {\n const xhr = new XMLHttpRequest();\n xhr.open(req.method || 'POST', req.url);\n xhr.withCredentials = req.credentials === 'include';\n new Headers(req.headers).forEach((value, name) => {\n // The browser must supply the multipart boundary.\n if (name.toLowerCase() !== 'content-type') {\n xhr.setRequestHeader(name, value);\n }\n });\n xhr.upload.onprogress = event => {\n if (event.lengthComputable && event.total > 0) {\n callback(\n Math.min(100, Math.floor((event.loaded * 100) / event.total)),\n );\n }\n };\n xhr.onload = () => {\n const headers = new Headers();\n for (const line of xhr\n .getAllResponseHeaders()\n .trim()\n .split(/[\\r\\n]+/)) {\n const separator = line.indexOf(':');\n if (separator > 0) {\n headers.append(\n line.slice(0, separator),\n line.slice(separator + 1).trim(),\n );\n }\n }\n subscriber.next(\n new Response(\n [204, 205, 304].includes(xhr.status) ? null : xhr.responseText,\n {\n status: xhr.status,\n statusText: xhr.statusText,\n headers,\n },\n ),\n );\n subscriber.complete();\n };\n xhr.onerror = () =>\n subscriber.error(new Error('Media upload network error.'));\n xhr.ontimeout = () =>\n subscriber.error(new Error('Media upload timed out.'));\n xhr.onabort = () =>\n subscriber.error(new Error('Media upload was cancelled.'));\n const abort = () => xhr.abort();\n req.signal?.addEventListener('abort', abort, { once: true });\n if (req.signal?.aborted) {\n subscriber.error(new Error('Media upload was cancelled.'));\n } else {\n callback(0);\n xhr.send(uploadBody);\n }\n return () => {\n req.signal?.removeEventListener('abort', abort);\n if (xhr.readyState !== XMLHttpRequest.DONE) {\n xhr.abort();\n }\n };\n });\n },\n });\n }\n progressCallbacks.set(body, onProgress);\n return () => progressCallbacks.delete(body);\n}\n","//#region imports\nimport { Injectable } from '@angular/core';\nimport type { TaonPermissionEntity } from '@taon-dev/session/browser';\nimport { Observable, of } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService, TaonStorageObject } from 'taon/browser';\n\nimport type { TaonCmsApplicationHookEntity } from '../taon-cms-application-hook/taon-cms-application-hook.entity';\nimport { TaonCmsApplicationHook } from '../taon-cms-application-hooks';\nimport type { TaonCmsContentRevisionEntity } from '../taon-cms-content-revision/taon-cms-content-revision.entity';\n\nimport { TaonCmsContentStorageController } from './taon-cms-content-storage.controller';\nimport { TaonCmsContentController } from './taon-cms-content.controller';\nimport type { TaonCmsContentEntity } from './taon-cms-content.entity';\nimport type {\n TaonCmsCreateContent,\n TaonCmsRestoreContent,\n TaonCmsUpdateContent,\n TaonCmsPermissionConfiguration,\n} from './taon-cms-content.models';\nimport { trackCmsUpload } from './taon-cms-upload-progress';\n\n//#endregion\n\n@Injectable()\nexport class TaonCmsContentApiService<\n HOOKS extends TaonCmsApplicationHook = TaonCmsApplicationHook,\n> extends TaonBaseAngularService {\n //#region fields & getters\n protected readonly taonCmsContentController = this.injectController(\n TaonCmsContentController,\n );\n\n protected readonly taonCmsContentStorageController = this.injectController(\n TaonCmsContentStorageController,\n );\n\n public get crudController(): TaonCmsContentController {\n return this.taonCmsContentController;\n }\n\n public get frontendUrl(): string {\n return this.ctx.frontendHostUri.origin;\n }\n\n public getPostUrl(slug: string): string {\n return `${this.frontendUrl}/posts/${encodeURIComponent(slug)}`;\n }\n //#endregion\n\n //#region API / get by id\n public async getById(id: number): Promise<TaonCmsContentEntity> {\n return (await this.taonCmsContentController.getBy(id).request()).body.json;\n }\n //#endregion\n\n //#region API / get by slug\n public async getBySlug(slug: string): Promise<TaonCmsContentEntity> {\n return (await this.taonCmsContentController.getBySlug(slug).request()).body\n .json;\n }\n //#endregion\n\n //#region API / get video link by slug\n /**\n * Get link to private video\n */\n public getVideoLinkBySlug(slug: string): Observable<string> {\n return this.taonCmsContentController\n .getVideoLinkBySlug(slug)\n .request()\n .observable.pipe(\n map(res => res.body.text),\n catchError(err => {\n console.error(err);\n return of('');\n }),\n );\n }\n //#endregion\n\n //#region API / get public video link by slug\n public async getPublicVideoLinkBySlug(slug: string): Promise<string> {\n return (\n await this.taonCmsContentController\n .getPublicVideoLinkBySlug(slug)\n .request()\n ).body.text;\n }\n //#endregion\n\n //#region API / get audio link by slug\n public getAudioLinkBySlug(slug: string): Observable<string> {\n return this.taonCmsContentController\n .getAudioLinkBySlug(slug)\n .request()\n .observable.pipe(\n map(res => res.body.text),\n catchError(err => {\n console.error(err);\n return of('');\n }),\n );\n }\n //#endregion\n\n //#region API / get public audio link by slug\n public async getPublicAudioLinkBySlug(slug: string): Promise<string> {\n return (\n await this.taonCmsContentController\n .getPublicAudioLinkBySlug(slug)\n .request()\n ).body.text;\n }\n //#endregion\n\n //#region API / get attachment link by slug\n public async getAttachmentLinkBySlug(slug: string): Promise<string> {\n return (\n await this.taonCmsContentController\n .getAttachmentLinkBySlug(slug)\n .request()\n ).body.text;\n }\n //#endregion\n\n //#region API / get public attachment link by slug\n public async getPublicAttachmentLinkBySlug(slug: string): Promise<string> {\n return (\n await this.taonCmsContentController\n .getPublicAttachmentLinkBySlug(slug)\n .request()\n ).body.text;\n }\n //#endregion\n\n //#region API / get content by hook\n public getContentByHook(hook: HOOKS): Observable<string> {\n return this.taonCmsContentController.getContentByHook(hook)\n .request!().observable.pipe(map(res => res.body.text));\n }\n //#endregion\n\n //#region API / get public content by hook\n public getPublicContentByHook(hook: HOOKS): Observable<string> {\n return this.taonCmsContentController.getPublicContentByHook(hook)\n .request!().observable.pipe(\n map(res => res.body.text),\n catchError(() => of('---')),\n );\n }\n //#endregion\n\n //#region API / list application hooks\n public listApplicationHooks(): Observable<TaonCmsApplicationHookEntity[]> {\n return this.taonCmsContentController.listApplicationHooks()\n .request!().observable.pipe(map(res => res.body.json));\n }\n //#endregion\n\n //#region API / upload media\n public async uploadMedia(\n file: File,\n onProgress?: (percentage: number) => void,\n ): Promise<TaonStorageObject> {\n const formData = new FormData();\n formData.append('file', file);\n const stopTracking = onProgress\n ? trackCmsUpload(\n this.taonCmsContentStorageController.getThisControllerMethodFullUrl(\n 'uploadFormDataToServer',\n ),\n formData,\n onProgress,\n )\n : undefined;\n try {\n const response = await this.taonCmsContentStorageController\n .uploadFormDataToServer(formData)\n .request();\n const objects = response.body.json;\n if (!Array.isArray(objects) || objects.length !== 1 || !objects[0]?.key) {\n throw new Error('The upload did not return a media key.');\n }\n onProgress?.(100);\n return objects[0];\n } finally {\n stopTracking?.();\n }\n }\n //#endregion\n\n //#region API / list assets\n public listAssets(): Observable<TaonStorageObject[]> {\n return this.taonCmsContentStorageController\n .list({})\n .request()\n .observable.pipe(map(res => res.body.json));\n }\n //#endregion\n\n //#region API / get asset url\n public async getAssetUrl(key: string): Promise<string> {\n return (\n await this.taonCmsContentStorageController\n .getPrivateUrl(key, { expiresInSeconds: 5 * 60 })\n .request()\n ).body.text;\n }\n //#endregion\n\n //#region API / create content\n public listTagIds(id: number): Observable<number[]> {\n return this.taonCmsContentController\n .listTagIds(id)\n .request()\n .observable.pipe(map(res => res.body.json));\n }\n\n public async getThumbnailLinkBySlug(\n slug: string,\n publicOnly = false,\n ): Promise<string> {\n const response = publicOnly\n ? await this.taonCmsContentController\n .getPublicThumbnailLinkBySlug(slug)\n .request()\n : await this.taonCmsContentController\n .getThumbnailLinkBySlug(slug)\n .request();\n return response.body.text;\n }\n\n public createContent(\n input: TaonCmsCreateContent,\n ): Observable<TaonCmsContentEntity> {\n return this.taonCmsContentController.createContent(input)\n .request!().observable.pipe(map(res => res.body.json));\n }\n //#endregion\n\n //#region API / duplicate content\n public duplicateContent(id: number): Observable<TaonCmsContentEntity> {\n return this.taonCmsContentController.duplicateContent(id)\n .request!().observable.pipe(map(res => res.body.json));\n }\n //#endregion\n\n //#region API / update content\n public updateContent(\n id: number,\n input: TaonCmsUpdateContent,\n ): Observable<TaonCmsContentEntity> {\n return this.taonCmsContentController.updateContent(id, input)\n .request!().observable.pipe(map(res => res.body.json));\n }\n //#endregion\n\n //#region API / delete content\n public deleteContent(\n id: number,\n expectedVersion: number,\n ): Observable<TaonCmsContentEntity> {\n return this.taonCmsContentController.deleteContent(id, expectedVersion)\n .request!().observable.pipe(map(res => res.body.json));\n }\n //#endregion\n\n //#region API / restore content\n public restoreContent(\n id: number,\n input: TaonCmsRestoreContent,\n ): Observable<TaonCmsContentEntity> {\n return this.taonCmsContentController.restoreContent(id, input)\n .request!().observable.pipe(map(res => res.body.json));\n }\n //#endregion\n\n //#region API / list revisions\n public listRevisions(id: number): Observable<TaonCmsContentRevisionEntity[]> {\n return this.taonCmsContentController.listRevisions(id)\n .request!().observable.pipe(map(res => res.body.json));\n }\n //#endregion\n\n //#region API / list related posts\n public listCourses(): Observable<TaonCmsContentEntity[]> {\n return this.taonCmsContentController.listCourses()\n .request!().observable.pipe(map(res => res.body.json));\n }\n\n public listRelatedPosts(id: number): Observable<TaonCmsContentEntity[]> {\n return this.taonCmsContentController.listRelatedPosts(id)\n .request!().observable.pipe(map(res => res.body.json));\n }\n //#endregion\n\n //#region API / list permissions\n public listPermissions(id: number): Observable<TaonPermissionEntity[]> {\n return this.taonCmsContentController.listPermissions(id)\n .request!().observable.pipe(map(res => res.body.json));\n }\n //#endregion\n\n //#region API / get permission configuration\n public getPermissionConfiguration(\n id: number,\n ): Observable<TaonCmsPermissionConfiguration> {\n return this.taonCmsContentController.getPermissionConfiguration(id)\n .request!().observable.pipe(map(res => res.body.json));\n }\n //#endregion\n\n //#region API / add related post\n public addRelatedPost(\n id: number,\n relatedPostId: number,\n expectedVersion: number,\n ): Observable<TaonCmsContentEntity> {\n return this.taonCmsContentController.addRelatedPost(\n id,\n relatedPostId,\n expectedVersion,\n ).request!().observable.pipe(map(res => res.body.json));\n }\n //#endregion\n\n //#region API / delete related post\n public deleteRelatedPost(\n id: number,\n relatedPostId: number,\n expectedVersion: number,\n ): Observable<TaonCmsContentEntity> {\n return this.taonCmsContentController.deleteRelatedPost(\n id,\n relatedPostId,\n expectedVersion,\n ).request!().observable.pipe(map(res => res.body.json));\n }\n //#endregion\n\n //#region API / get all entites\n /**\n * TODO not good idea if manu posts - refactor later:\n * - add pagination for post selector\n */\n public get allMyEntities$(): Observable<TaonCmsContentEntity[]> {\n return this.taonCmsContentController.getAll().request!().observable.pipe(\n map(res => res.body?.json),\n );\n }\n //#endregion\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n Input,\n OnInit,\n inject,\n signal,\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon, type TaonStorageObject } from 'taon/browser';\n\nimport { TaonCmsContentApiService } from '../taon-cms-content/taon-cms-content-api.service';\n\nconst t = Translation.for('src/lib/taon-cms-assets-backoffice/taon-cms-asset-preview.component.ts', {\"src/lib/taon-cms-assets-backoffice/taon-cms-asset-preview.component.html\":{\"en-US\":async () => (await import('./i18n/taon-cms-asset-preview.component.html.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data')).default},\"src/lib/taon-cms-assets-backoffice/taon-cms-asset-preview.component.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data')).default},\"src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html\":{\"en-US\":async () => (await import('./i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data')).default},\"src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data')).default}} as any);\n\n@Component({\n selector: 'taon-cms-asset-preview',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatButtonModule],\n styleUrl: './taon-cms-asset-preview.component.scss',\n templateUrl: './taon-cms-asset-preview.component.html',\n})\nexport class TaonCmsAssetPreviewComponent implements OnInit {\n readonly t = t.for(this);\n\n @Input({ required: true })\n asset!: TaonStorageObject;\n\n private readonly api = inject(TaonCmsContentApiService);\n\n private readonly destroyRef = inject(DestroyRef);\n\n readonly url = signal('');\n\n readonly loading = signal(false);\n\n readonly error = signal('');\n\n get previewKind(): 'video' | 'audio' | 'attachment' {\n const contentType = this.asset.contentType?.trim().toLowerCase();\n if (contentType?.startsWith('video/')) {\n return 'video';\n }\n if (contentType?.startsWith('audio/')) {\n return 'audio';\n }\n return 'attachment';\n }\n\n ngOnInit(): void {\n void this.reload();\n }\n\n async reload(): Promise<void> {\n if (this.loading()) {\n return;\n }\n this.loading.set(true);\n this.error.set('');\n this.url.set('');\n try {\n const url = new URL(await this.api.getAssetUrl(this.asset.key));\n if (this.previewKind === 'attachment') {\n url.searchParams.set('download', 'true');\n }\n if (!this.destroyRef.destroyed) {\n this.url.set(url.href);\n }\n } catch (error: unknown) {\n if (!this.destroyRef.destroyed) {\n console.error(\n '[taon-cms-asset-preview] Unable to load asset URL',\n error,\n );\n this.error.set(\n this.t.gettext('The asset could not be opened. Please retry.'),\n );\n }\n } finally {\n if (!this.destroyRef.destroyed) {\n this.loading.set(false);\n }\n }\n }\n\n playbackError(): void {\n this.error.set(\n this.t.gettext(\n 'Playback failed or the preview link expired. Please retry.',\n ),\n );\n }\n}\n","@if (loading()) {\n <p role=\"status\">{{ t.gettext('Loading asset preview...') }}</p>\n}\n@if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"loading()\"\n (click)=\"reload()\">\n {{ t.gettext('Retry preview') }}\n </button>\n}\n@if (url()) {\n @switch (previewKind) {\n @case ('video') {\n <video\n controls\n preload=\"none\"\n [src]=\"url()\"\n (error)=\"playbackError()\">\n {{ t.gettext('Your browser does not support video playback.') }}\n </video>\n }\n @case ('audio') {\n <audio\n controls\n preload=\"none\"\n [src]=\"url()\"\n (error)=\"playbackError()\">\n {{ t.gettext('Your browser does not support audio playback.') }}\n </audio>\n }\n @default {\n <a\n [href]=\"url()\"\n [attr.download]=\"asset.fileName\"\n target=\"_blank\"\n rel=\"noopener\">\n {{ asset.fileName || asset.key }}\n </a>\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n OnInit,\n inject,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MtxGridColumn } from '@ng-matero/extensions/grid';\nimport { TaonDatatableComponent } from '@taon-dev/ui/browser';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { finalize, map } from 'rxjs';\nimport {\n Taon,\n type TaonStorageObject as TaonStorageObjectBase,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonCmsContentApiService } from '../taon-cms-content/taon-cms-content-api.service';\n\nimport { TaonCmsAssetPreviewComponent } from './taon-cms-asset-preview.component';\n\nconst t = Translation.for('src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.ts', {\"src/lib/taon-cms-assets-backoffice/taon-cms-asset-preview.component.html\":{\"en-US\":async () => (await import('./i18n/taon-cms-asset-preview.component.html.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data')).default},\"src/lib/taon-cms-assets-backoffice/taon-cms-asset-preview.component.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data')).default},\"src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html\":{\"en-US\":async () => (await import('./i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data')).default},\"src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data')).default}} as any);\n\ntype TaonStorageObject = TaonStorageObjectBase & { keyVisible?: string };\n\n@Component({\n selector: 'taon-cms-assets-backoffice',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n MatButtonModule,\n TaonDatatableComponent,\n TaonCmsAssetPreviewComponent,\n ],\n providers: [TaonCmsContentApiService],\n templateUrl: './taon-cms-assets-backoffice.component.html',\n})\nexport class TaonCmsAssetsBackofficeComponent implements OnInit {\n readonly t = t.for(this);\n\n private readonly api = inject(TaonCmsContentApiService);\n\n private readonly destroyRef = inject(DestroyRef);\n\n readonly assets = signal<TaonStorageObject[]>([]);\n\n readonly loading = signal(false);\n\n readonly error = signal('');\n\n readonly columns: MtxGridColumn[] = [\n { header: 'ID', field: 'keyVisible', sortable: true, showExpand: true },\n { header: this.t.gettext('File Name'), field: 'fileName', sortable: true },\n {\n header: this.t.gettext('Content Type'),\n field: 'contentType',\n sortable: true,\n },\n ];\n\n ngOnInit(): void {\n this.reload();\n }\n\n reload(): void {\n if (this.loading()) {\n return;\n }\n this.loading.set(true);\n this.error.set('');\n this.api\n .listAssets()\n .pipe(\n map(c => c as TaonStorageObject[]),\n takeUntilDestroyed(this.destroyRef),\n finalize(() => this.loading.set(false)),\n )\n .subscribe({\n next: assets =>\n this.assets.set(\n assets.map(c => {\n c.keyVisible = _.first(c.key.split('__'));\n return c;\n }),\n ),\n error: (error: unknown) => {\n console.error(\n '[taon-cms-assets-backoffice] Unable to load assets',\n error,\n );\n this.error.set(\n this.t.gettext('Assets could not be loaded. Please try reloading.'),\n );\n },\n });\n }\n}\n","<h1>{{ t.gettext('CMS assets') }}</h1>\n<button\n mat-button\n type=\"button\"\n [disabled]=\"loading()\"\n (click)=\"reload()\">\n {{ t.gettext('Reload assets') }}\n</button>\n@if (loading()) {\n <p role=\"status\">{{ t.gettext('Loading assets...') }}</p>\n}\n@if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n}\n\n<ng-template\n #preview\n let-asset>\n <taon-cms-asset-preview [asset]=\"asset\" />\n</ng-template>\n\n<taon-datatable\n [data]=\"assets()\"\n [columns]=\"columns\"\n [allowedColumns]=\"['key', 'fileName', 'contentType']\"\n [hideAddButton]=\"true\"\n [expansionTemplate]=\"preview\"\n searchMode=\"advanced\">\n</taon-datatable>\n","import { Routes } from '@angular/router';\n\nexport const TaonCmsAssetsBackofficeRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-cms-assets-backoffice.component').then(\n m => m.TaonCmsAssetsBackofficeComponent,\n ),\n },\n];\n","//#region imports\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { RouterOutlet } from '@angular/router';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n//#endregion\n\nconst t = Translation.for('src/lib/taon-cms-backoffice/taon-cms-backoffice.component.ts', {\"src/lib/taon-cms-backoffice/taon-cms-backoffice.component.html\":{\"en-US\":async () => (await import('./i18n/taon-cms-backoffice.component.html.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-backoffice.component.html.de-DE.i18n.data')).default},\"src/lib/taon-cms-backoffice/taon-cms-backoffice.component.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-backoffice.component.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data')).default},\"src/lib/taon-cms-backoffice/taon-cms-backoffice.routes.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data')).default}} as any);\n\n@Component({\n selector: 'app-taon-cms-backoffice',\n templateUrl: './taon-cms-backoffice.component.html',\n styleUrls: ['./taon-cms-backoffice.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AsyncPipe, RouterOutlet],\n})\nexport class TaonCmsBackofficeComponent {\n readonly t = t.for(this);\n\n componentLoaded = false;\n\n onRouteActivate(component: any): void {\n this.componentLoaded = !!component;\n }\n\n onRouteDeactivate(component: any): void {\n this.componentLoaded = false;\n }\n}\n","@if (!componentLoaded) {\n <code>\n {{\n t.gettext('In CMS you can manage content and settings for your website.')\n }}\n </code>\n}\n\n<router-outlet\n (activate)=\"onRouteActivate($event)\"\n (deactivate)=\"onRouteDeactivate($event)\"></router-outlet>\n","//#region imports\nimport { Routes } from '@angular/router';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport type { TaonAuthContextEntity } from '@taon-dev/session/browser';\nimport { adminLazyRoute as adminLazyRouteBase } from '@taon-dev/ui/browser';\nimport { Taon } from 'taon/browser';\n\n//#endregion\n\nconst adminLazyRoute = adminLazyRouteBase<TaonAuthContextEntity>;\nconst t = Translation.for('src/lib/taon-cms-backoffice/taon-cms-backoffice.routes.ts', {\"src/lib/taon-cms-backoffice/taon-cms-backoffice.component.html\":{\"en-US\":async () => (await import('./i18n/taon-cms-backoffice.component.html.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-backoffice.component.html.de-DE.i18n.data')).default},\"src/lib/taon-cms-backoffice/taon-cms-backoffice.component.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-backoffice.component.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data')).default},\"src/lib/taon-cms-backoffice/taon-cms-backoffice.routes.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data')).default}} as any);\n\nexport const TaonCmsBackofficeRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-cms-backoffice.component').then(\n m => m.TaonCmsBackofficeComponent,\n ),\n\n children: [\n adminLazyRoute({\n isDisabled: ({ context }) => {\n // console.log('context', { context });\n return !context?.hasAccess.toManageCms;\n },\n path: 'posts',\n menuItem: t.signal.gettext('Posts'),\n expandable: true,\n icon: 'edit',\n loader: () =>\n import('../index').then(m => m.TaonCmsPostsBackofficeRoutes),\n }),\n adminLazyRoute({\n isDisabled: ({ context }) => {\n // console.log('context', { context });\n return !context?.hasAccess.toManageCms;\n },\n path: 'courses',\n menuItem: t.signal.gettext('Courses'),\n expandable: false,\n icon: 'school',\n loader: () =>\n import('../index').then(\n m => m.TaonCmsCourseBackofficeRoutes,\n ),\n }),\n adminLazyRoute({\n isDisabled: ({ context }) => !context?.hasAccess.toManageCms,\n path: 'assets',\n menuItem: t.signal.gettext('Assets'),\n expandable: false,\n icon: 'perm_media',\n loader: () =>\n import('../taon-cms-assets-backoffice/taon-cms-assets-backoffice.routes').then(\n m => m.TaonCmsAssetsBackofficeRoutes,\n ),\n }),\n adminLazyRoute({\n isDisabled: ({ context }) => !context?.hasAccess.toManageCms,\n path: 'categories',\n menuItem: t.signal.gettext('Categories'),\n expandable: false,\n icon: 'folder',\n loader: () =>\n import('../taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.routes').then(\n m => m.TaonCmsCategoriesBackofficeRoutes,\n ),\n }),\n adminLazyRoute({\n isDisabled: ({ context }) => !context?.hasAccess.toManageCms,\n path: 'tags',\n menuItem: t.signal.gettext('Tags'),\n expandable: false,\n icon: 'label',\n loader: () =>\n import('../taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.routes').then(\n m => m.TaonCmsTagsBackofficeRoutes,\n ),\n }),\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 TaonCmsBackofficeRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonCmsBackofficeRoutes;\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonCmsCategoryEntity } from './taon-cms-category.entity';\nimport { TaonCmsCategoryController } from './taon-cms-category.controller';\nimport type { TaonCmsCategoryFields } from './taon-cms-taxonomy.validation';\n\n@Injectable()\nexport class TaonCmsCategoryApiService extends TaonBaseAngularService {\n protected readonly taonCmsCategoryController = this.injectController(\n TaonCmsCategoryController,\n );\n\n public get allMyEntities$(): Observable<TaonCmsCategoryEntity[]> {\n return this.taonCmsCategoryController.getAll().request!().observable.pipe(\n map(res => res.body?.json),\n );\n }\n\n save(\n id: number | null,\n input: TaonCmsCategoryFields,\n ): Observable<TaonCmsCategoryEntity> {\n return this.taonCmsCategoryController\n .saveCategory(id, input)\n .request()\n .observable.pipe(map(res => res.body.json));\n }\n\n delete(id: number): Observable<void> {\n return this.taonCmsCategoryController\n .deleteCategory(id)\n .request()\n .observable.pipe(map(() => undefined));\n }\n}\n","import type { TaonCmsCategoryEntity } from './taon-cms-category.entity';\n\nexport const TaonCmsCategoryDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonCmsCategoryEntity>;","export enum TaonCmsCategoryState {\n Active = 'active',\n Inactive = 'inactive',\n}","import { TaonCmsCategoryState } from './taon-cms-category.models';\n\nexport namespace TaonCmsCategoryUtils {\n export function isActive(state: string): state is TaonCmsCategoryState {\n return state === 'active';\n }\n}","import { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nimport { contentError } from '../taon-cms-content/taon-cms-content.validation';\n\nconst t = Translation.for('src/lib/taon-cms-category/taon-cms-taxonomy.validation.ts', {\"src/lib/taon-cms-category/taon-cms-category.controller.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-category.controller.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-category.controller.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-category.controller.ts.de-DE.i18n.data')).default},\"src/lib/taon-cms-category/taon-cms-category.repository.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-category.repository.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-category.repository.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-category.repository.ts.de-DE.i18n.data')).default},\"src/lib/taon-cms-category/taon-cms-taxonomy.validation.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-taxonomy.validation.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-taxonomy.validation.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-taxonomy.validation.ts.de-DE.i18n.data')).default}} as any);\n\nexport interface TaonCmsTaxonomyFields {\n name: string;\n slug: string;\n description: string | null;\n}\n\nexport interface TaonCmsCategoryFields extends TaonCmsTaxonomyFields {\n parentCategoryId: number | null;\n sortOrder: number;\n}\n\nexport function validateTaxonomy(input: TaonCmsTaxonomyFields): void {\n if (\n !input ||\n typeof input.name !== 'string' ||\n !input.name.trim() ||\n typeof input.slug !== 'string' ||\n !input.slug.trim() ||\n (input.description !== null && typeof input.description !== 'string')\n ) {\n contentError(\n t.gettext('Name, slug, and a valid description are required.'),\n );\n }\n}\n\nexport function validateCategoryHierarchy(\n id: number | null,\n parentId: number | null,\n categories: { id: number; parentCategoryId: number | null }[],\n): void {\n const visited = new Set<number>();\n if (id !== null) {\n visited.add(id);\n }\n let current = parentId;\n while (current !== null) {\n if (visited.has(current)) {\n contentError(t.gettext('A category cannot be its own ancestor.'));\n }\n visited.add(current);\n const parent = categories.find(category => category.id === current);\n if (!parent) {\n contentError(t.gettext('The parent category does not exist.'));\n }\n current = parent.parentCategoryId;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonCmsCommentEntity } from './taon-cms-comment.entity';\nimport { TaonCmsCommentController } from './taon-cms-comment.controller';\n\n@Injectable()\nexport class TaonCmsCommentApiService extends TaonBaseAngularService {\n protected readonly taonCmsCommentController = this.injectController(TaonCmsCommentController);\n\n public get allMyEntities$(): Observable<TaonCmsCommentEntity[]> {\n return this.taonCmsCommentController.getAll().request!().observable.pipe(\n map(res => res.body?.json),\n );\n }\n\n public helloWorld(user:string): Observable<string> {\n return this.taonCmsCommentController.helloWord(user).request!().observable.pipe(\n map(res => res.responseText as string),\n );\n }\n}\n","import type { TaonCmsCommentEntity } from './taon-cms-comment.entity';\n\nexport const TaonCmsCommentDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonCmsCommentEntity>;","export enum TaonCmsCommentState {\n Active = 'active',\n Inactive = 'inactive',\n}","import { TaonCmsCommentState } from './taon-cms-comment.models';\n\nexport namespace TaonCmsCommentUtils {\n export function isActive(state: string): state is TaonCmsCommentState {\n return state === 'active';\n }\n}","import { Injectable } from '@angular/core';\nimport { TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonCmsContentProvider } from './taon-cms-content.provider';\n\n@Injectable()\nexport class TaonCmsContentConfigService extends TaonBaseAngularService {\n taonCmsContentProvider = this.injectProvider(TaonCmsContentProvider);\n\n get siteName(): string {\n return this.taonCmsContentProvider.siteName;\n }\n}\n","import type { TaonCmsContentEntity } from './taon-cms-content.entity';\nimport { TaonCmsContentType } from './taon-cms-content.models';\n\nexport const TaonCmsContentDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n type: TaonCmsContentType.Normal,\n videoKey: null,\n audioKey: null,\n attachmentKey: null,\n thumbnailKey: null,\n} as Partial<TaonCmsContentEntity>;\n","import { TaonCmsContentState } from './taon-cms-content.models';\n\nexport namespace TaonCmsContentUtils {\n export function isActive(state: string): state is TaonCmsContentState {\n return state === 'active';\n }\n}","export interface TaonCmsTemplateContext {\n frontendUrl?: string | null;\n site?: { name?: string | null } | null;\n post?: {\n title?: string | null;\n url?: string | null;\n id?: number | null;\n thumbnailUrl?: string | null;\n } | null;\n}\n\nexport type TaonCmsTemplateVariable =\n | 'frontendUrl'\n | 'site.name'\n | 'currentYear'\n | 'post.title'\n | 'post.url'\n | 'post.id'\n | 'post.thumbnailUrl';\n\n/**\n * Resolves allowlisted values as HTML text/attribute data, not markup.\n * The returned HTML must still pass through the renderer's HTML sanitizer.\n */\nexport function resolveTemplateVariables(\n content: string | null | undefined,\n context: TaonCmsTemplateContext,\n): string {\n const values = new Map<string, string | number | null | undefined>([\n ['frontendUrl', context.frontendUrl],\n ['site.name', context.site?.name],\n ['currentYear', new Date().getFullYear()],\n ['post.title', context.post?.title],\n ['post.url', context.post?.url],\n ['post.id', context.post?.id],\n ['post.thumbnailUrl', context.post?.thumbnailUrl],\n ]);\n return (content ?? '').replace(\n /\\{\\{\\s*([a-zA-Z][a-zA-Z0-9]*(?:\\.[a-zA-Z][a-zA-Z0-9]*)*)\\s*\\}\\}/g,\n (placeholder: string, name: string) => {\n const value = values.get(name);\n if (value === null || value === undefined) {\n return placeholder;\n }\n return String(value)\n .replace(/&/g, '&amp;')\n .replace(/</g, '&lt;')\n .replace(/>/g, '&gt;')\n .replace(/\"/g, '&quot;')\n .replace(/'/g, '&#39;');\n },\n );\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonCmsContentAssetEntity } from './taon-cms-content-asset.entity';\nimport { TaonCmsContentAssetController } from './taon-cms-content-asset.controller';\n\n@Injectable()\nexport class TaonCmsContentAssetApiService extends TaonBaseAngularService {\n protected readonly taonCmsContentAssetController = this.injectController(\n TaonCmsContentAssetController,\n );\n\n public get allMyEntities$(): Observable<TaonCmsContentAssetEntity[]> {\n return this.taonCmsContentAssetController.getAll()\n .request!().observable.pipe(map(res => res.body?.json));\n }\n\n public helloWorld(user: string): Observable<string> {\n return this.taonCmsContentAssetController.helloWord(user)\n .request!().observable.pipe(map(res => res.responseText as string));\n }\n}\n","import type { TaonCmsContentAssetEntity } from './taon-cms-content-asset.entity';\n\nexport const TaonCmsContentAssetDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonCmsContentAssetEntity>;","export enum TaonCmsContentAssetState {\n Active = 'active',\n Inactive = 'inactive',\n}","import { TaonCmsContentAssetState } from './taon-cms-content-asset.models';\n\nexport namespace TaonCmsContentAssetUtils {\n export function isActive(state: string): state is TaonCmsContentAssetState {\n return state === 'active';\n }\n}","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonCmsContentPermissionEntity } from './taon-cms-content-permission.entity';\nimport { TaonCmsContentPermissionController } from './taon-cms-content-permission.controller';\n\n@Injectable()\nexport class TaonCmsContentPermissionApiService extends TaonBaseAngularService {\n protected readonly taonCmsContentPermissionController = this.injectController(\n TaonCmsContentPermissionController,\n );\n\n public get allMyEntities$(): Observable<TaonCmsContentPermissionEntity[]> {\n return this.taonCmsContentPermissionController.getAll()\n .request!().observable.pipe(map(res => res.body?.json));\n }\n\n public helloWorld(user: string): Observable<string> {\n return this.taonCmsContentPermissionController.helloWord(user)\n .request!().observable.pipe(map(res => res.responseText as string));\n }\n}\n","import type { TaonCmsContentPermissionEntity } from './taon-cms-content-permission.entity';\n\nexport const TaonCmsContentPermissionDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonCmsContentPermissionEntity>;","export enum TaonCmsContentPermissionState {\n Active = 'active',\n Inactive = 'inactive',\n}","import { TaonCmsContentPermissionState } from './taon-cms-content-permission.models';\n\nexport namespace TaonCmsContentPermissionUtils {\n export function isActive(state: string): state is TaonCmsContentPermissionState {\n return state === 'active';\n }\n}","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonCmsContentController } from '../taon-cms-content/taon-cms-content.controller';\nimport type { TaonCmsContentEntity } from '../taon-cms-content/taon-cms-content.entity';\nimport type { TaonCmsRestoreContent } from '../taon-cms-content/taon-cms-content.models';\n\nimport type { TaonCmsContentRevisionEntity } from './taon-cms-content-revision.entity';\nimport { TaonCmsContentRevisionController } from './taon-cms-content-revision.controller';\n\n@Injectable()\nexport class TaonCmsContentRevisionApiService extends TaonBaseAngularService {\n protected readonly contentController = this.injectController(\n TaonCmsContentController,\n );\n\n protected readonly taonCmsContentRevisionController = this.injectController(\n TaonCmsContentRevisionController,\n );\n\n public listRevisions(id: number): Observable<TaonCmsContentRevisionEntity[]> {\n return this.contentController.listRevisions(id).request!().observable.pipe(\n map(res => res.body.json),\n );\n }\n\n public restoreContent(\n id: number,\n input: TaonCmsRestoreContent,\n ): Observable<TaonCmsContentEntity> {\n return this.contentController.restoreContent(id, input)\n .request!().observable.pipe(map(res => res.body.json));\n }\n\n public get allMyEntities$(): Observable<TaonCmsContentRevisionEntity[]> {\n return this.taonCmsContentRevisionController.getAll()\n .request!().observable.pipe(map(res => res.body?.json));\n }\n}\n","import type { TaonCmsContentRevisionEntity } from './taon-cms-content-revision.entity';\n\nexport const TaonCmsContentRevisionDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonCmsContentRevisionEntity>;","export enum TaonCmsContentRevisionState {\n Active = 'active',\n Inactive = 'inactive',\n}","import { TaonCmsContentRevisionState } from './taon-cms-content-revision.models';\n\nexport namespace TaonCmsContentRevisionUtils {\n export function isActive(state: string): state is TaonCmsContentRevisionState {\n return state === 'active';\n }\n}","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonCmsContentTagEntity } from './taon-cms-content-tag.entity';\nimport { TaonCmsContentTagController } from './taon-cms-content-tag.controller';\n\n@Injectable()\nexport class TaonCmsContentTagApiService extends TaonBaseAngularService {\n protected readonly taonCmsContentTagController = this.injectController(\n TaonCmsContentTagController,\n );\n\n public get allMyEntities$(): Observable<TaonCmsContentTagEntity[]> {\n return this.taonCmsContentTagController.getAll().request!().observable.pipe(\n map(res => res.body?.json),\n );\n }\n}\n","import type { TaonCmsContentTagEntity } from './taon-cms-content-tag.entity';\n\nexport const TaonCmsContentTagDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonCmsContentTagEntity>;","export enum TaonCmsContentTagState {\n Active = 'active',\n Inactive = 'inactive',\n}","import { TaonCmsContentTagState } from './taon-cms-content-tag.models';\n\nexport namespace TaonCmsContentTagUtils {\n export function isActive(state: string): state is TaonCmsContentTagState {\n return state === 'active';\n }\n}","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonCmsTagEntity } from './taon-cms-tag.entity';\nimport { TaonCmsTagController } from './taon-cms-tag.controller';\nimport type { TaonCmsTaxonomyFields } from '../taon-cms-category/taon-cms-taxonomy.validation';\n\n@Injectable()\nexport class TaonCmsTagApiService extends TaonBaseAngularService {\n private readonly taonCmsTagController =\n this.injectController(TaonCmsTagController);\n\n get allMyEntities$(): Observable<TaonCmsTagEntity[]> {\n return this.taonCmsTagController\n .getAll()\n .request()\n .observable.pipe(map(res => res.body.json));\n }\n\n save(\n id: number | null,\n input: TaonCmsTaxonomyFields,\n ): Observable<TaonCmsTagEntity> {\n return this.taonCmsTagController\n .saveTag(id, input)\n .request()\n .observable.pipe(map(res => res.body.json));\n }\n\n delete(id: number): Observable<void> {\n return this.taonCmsTagController\n .deleteTag(id)\n .request()\n .observable.pipe(map(() => undefined));\n }\n}\n","import type { TaonCmsTagEntity } from './taon-cms-tag.entity';\n\nexport const TaonCmsTagDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonCmsTagEntity>;","export enum TaonCmsTagState {\n Active = 'active',\n Inactive = 'inactive',\n}","import { TaonCmsTagState } from './taon-cms-tag.models';\n\nexport namespace TaonCmsTagUtils {\n export function isActive(state: string): state is TaonCmsTagState {\n return state === 'active';\n }\n}","import {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n inject,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { ActivatedRoute } from '@angular/router';\nimport { MtxGridColumn } from '@ng-matero/extensions/grid';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport {\n TaonConfirmDialogComponent,\n TaonDatatableComponent,\n} from '@taon-dev/ui/browser';\nimport { Observable, finalize } from 'rxjs';\nimport { Taon } from 'taon/browser';\n\nimport { TaonCmsCategoryApiService } from '../taon-cms-category/taon-cms-category-api.service';\nimport type { TaonCmsCategoryEntity } from '../taon-cms-category/taon-cms-category.entity';\nimport type { TaonCmsCategoryFields } from '../taon-cms-category/taon-cms-taxonomy.validation';\nimport { TaonCmsTagApiService } from '../taon-cms-tag/taon-cms-tag-api.service';\nimport type { TaonCmsTagEntity } from '../taon-cms-tag/taon-cms-tag.entity';\n\nconst t = Translation.for('src/lib/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.ts', {\"src/lib/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.html\":{\"en-US\":async () => (await import('./i18n/taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data')).default},\"src/lib/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data')).default}} as any);\ntype TaxonomyRow = TaonCmsCategoryEntity | TaonCmsTagEntity;\n\n@Component({\n selector: 'taon-cms-taxonomy-backoffice',\n templateUrl: './taon-cms-taxonomy-backoffice.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n FormsModule,\n MatButtonModule,\n MatFormFieldModule,\n MatInputModule,\n MatSelectModule,\n TaonDatatableComponent,\n ],\n providers: [TaonCmsCategoryApiService, TaonCmsTagApiService],\n styles: [\n `\n :host {\n display: block;\n }\n form {\n display: grid;\n gap: 1rem;\n max-width: 640px;\n margin-block: 1.5rem;\n }\n .actions {\n display: flex;\n flex-wrap: wrap;\n gap: 0.5rem;\n }\n `,\n ],\n})\nexport class TaonCmsTaxonomyBackofficeComponent {\n readonly t = t.for(this);\n readonly isCategory =\n inject(ActivatedRoute).snapshot.data['taxonomy'] === 'category';\n private readonly categories = inject(TaonCmsCategoryApiService);\n private readonly tags = inject(TaonCmsTagApiService);\n private readonly destroyRef = inject(DestroyRef);\n private readonly dialog = inject(MatDialog);\n readonly rows = signal<TaxonomyRow[]>([]);\n readonly busy = signal(false);\n readonly error = signal('');\n readonly editing = signal(false);\n editingId: number | null = null;\n draft: TaonCmsCategoryFields = this.emptyDraft();\n\n readonly columns: MtxGridColumn[] = [\n { header: this.t.gettext('Name'), field: 'name', sortable: true },\n { header: this.t.gettext('Slug'), field: 'slug', sortable: true },\n ...(this.isCategory\n ? [\n {\n header: this.t.gettext('Parent Category'),\n field: 'parentName',\n sortable: true,\n },\n {\n header: this.t.gettext('Sort Order'),\n field: 'sortOrder',\n sortable: true,\n },\n ]\n : [\n {\n header: this.t.gettext('Description'),\n field: 'description',\n sortable: true,\n },\n ]),\n {\n header: this.t.gettext('Actions'),\n field: 'actions',\n type: 'button',\n buttons: [\n {\n type: 'icon',\n icon: 'edit',\n tooltip: this.t.gettext('Edit'),\n disabled: () => this.busy(),\n click: (row: TaxonomyRow) => this.edit(row),\n },\n {\n type: 'icon',\n icon: 'delete',\n tooltip: this.t.gettext('Delete'),\n disabled: () => this.busy(),\n click: (row: TaxonomyRow) => this.delete(row),\n },\n ],\n },\n ];\n\n ngOnInit(): void {\n this.reload();\n }\n\n reload(): void {\n if (this.busy()) {\n return;\n }\n const request: Observable<TaxonomyRow[]> = this.isCategory\n ? this.categories.allMyEntities$\n : this.tags.allMyEntities$;\n this.run(request, rows => this.rows.set(rows));\n }\n\n tableRows() {\n return this.rows().map(row => ({\n ...row,\n parentName:\n 'parentCategoryId' in row\n ? (this.rows().find(parent => parent.id === row.parentCategoryId)\n ?.name ?? '')\n : '',\n }));\n }\n\n parentOptions(): TaonCmsCategoryEntity[] {\n const categories = this.rows().filter(\n (row): row is TaonCmsCategoryEntity => 'parentCategoryId' in row,\n );\n return categories.filter(category => {\n const visited = new Set<number>();\n let current: TaonCmsCategoryEntity | undefined = category;\n while (current) {\n if (current.id === this.editingId || visited.has(current.id)) {\n return false;\n }\n visited.add(current.id);\n current = categories.find(\n parent => parent.id === current?.parentCategoryId,\n );\n }\n return true;\n });\n }\n\n edit(row?: TaxonomyRow): void {\n if (this.busy()) {\n return;\n }\n this.editingId = row?.id ?? null;\n this.draft = row\n ? {\n name: row.name,\n slug: row.slug,\n description: row.description,\n parentCategoryId:\n 'parentCategoryId' in row ? row.parentCategoryId : null,\n sortOrder: 'sortOrder' in row ? row.sortOrder : 0,\n }\n : this.emptyDraft();\n this.error.set('');\n this.editing.set(true);\n }\n\n save(): void {\n if (this.busy()) {\n return;\n }\n const request: Observable<TaxonomyRow> = this.isCategory\n ? this.categories.save(this.editingId, this.draft)\n : this.tags.save(this.editingId, this.draft);\n this.run(request, saved => {\n this.editing.set(false);\n this.rows.update(rows => [\n ...rows.filter(row => row.id !== saved.id),\n saved,\n ]);\n });\n }\n\n delete(row: TaxonomyRow): void {\n if (this.busy()) {\n return;\n }\n this.dialog\n .open(TaonConfirmDialogComponent, {\n data: {\n title: this.isCategory\n ? this.t.gettext('Delete category?')\n : this.t.gettext('Delete tag?'),\n message: this.t.gettext(\n 'Only unused items can be deleted. This cannot be undone.',\n ),\n confirmText: this.t.gettext('Delete'),\n },\n })\n .afterClosed()\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(confirmed => {\n if (confirmed) {\n this.run(\n this.isCategory\n ? this.categories.delete(row.id)\n : this.tags.delete(row.id),\n () => {\n if (this.editingId === row.id) {\n this.editing.set(false);\n }\n this.rows.update(rows => rows.filter(item => item.id !== row.id));\n },\n );\n }\n });\n }\n\n private run<T>(request: Observable<T>, next: (value: T) => void): void {\n if (this.busy()) {\n return;\n }\n this.busy.set(true);\n this.error.set('');\n request\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n finalize(() => this.busy.set(false)),\n )\n .subscribe({\n next: value => {\n this.busy.set(false);\n next(value);\n },\n error: (error: unknown) => {\n console.error('[taon-cms-taxonomy] Operation failed', error);\n this.error.set(\n this.t.gettext(\n 'The operation failed. Check for duplicate names or slugs, invalid parents, or items still used by posts or child categories, then reload and try again.',\n ),\n );\n },\n });\n }\n\n private emptyDraft(): TaonCmsCategoryFields {\n return {\n name: '',\n slug: '',\n description: '',\n parentCategoryId: null,\n sortOrder: 0,\n };\n }\n}\n","<h1>{{ isCategory ? t.gettext('Categories') : t.gettext('Tags') }}</h1>\n<div class=\"actions\">\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy()\"\n (click)=\"edit()\">\n {{ isCategory ? t.gettext('Create category') : t.gettext('Create tag') }}\n </button>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy()\"\n (click)=\"reload()\">\n {{ t.gettext('Reload') }}\n </button>\n</div>\n@if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n}\n@if (busy()) {\n <p role=\"status\">{{ t.gettext('Loading...') }}</p>\n}\n@if (editing()) {\n <form\n #form=\"ngForm\"\n (ngSubmit)=\"save()\">\n <h2>{{ editingId === null ? t.gettext('Create') : t.gettext('Edit') }}</h2>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Name') }}</mat-label>\n <input\n matInput\n name=\"name\"\n required\n [(ngModel)]=\"draft.name\"\n [disabled]=\"busy()\" />\n </mat-form-field>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Slug') }}</mat-label>\n <input\n matInput\n name=\"slug\"\n required\n [(ngModel)]=\"draft.slug\"\n [disabled]=\"busy()\" />\n </mat-form-field>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Description') }}</mat-label>\n <textarea\n matInput\n name=\"description\"\n [(ngModel)]=\"draft.description\"\n [disabled]=\"busy()\"></textarea>\n </mat-form-field>\n @if (isCategory) {\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Parent Category') }}</mat-label>\n <mat-select\n name=\"parentCategoryId\"\n [(ngModel)]=\"draft.parentCategoryId\"\n [disabled]=\"busy()\">\n <mat-option [value]=\"null\">{{ t.gettext('None') }}</mat-option>\n @for (category of parentOptions(); track category.id) {\n <mat-option [value]=\"category.id\">{{ category.name }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Sort Order') }}</mat-label>\n <input\n matInput\n name=\"sortOrder\"\n type=\"number\"\n step=\"1\"\n required\n [(ngModel)]=\"draft.sortOrder\"\n [disabled]=\"busy()\" />\n </mat-form-field>\n }\n <div class=\"actions\">\n <button\n mat-flat-button\n type=\"submit\"\n [disabled]=\"\n busy() || form.invalid || !draft.name.trim() || !draft.slug.trim()\n \">\n {{ t.gettext('Save') }}\n </button>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy()\"\n (click)=\"editing.set(false)\">\n {{ t.gettext('Cancel') }}\n </button>\n </div>\n </form>\n}\n<taon-datatable\n [data]=\"tableRows()\"\n [columns]=\"columns\"\n [hideAddButton]=\"true\"\n searchMode=\"advanced\">\n</taon-datatable>\n","import { Routes } from '@angular/router';\n\nexport const TaonCmsCategoriesBackofficeRoutes: Routes = [\n {\n path: '',\n data: { taxonomy: 'category' },\n loadComponent: () =>\n import('./taon-cms-taxonomy-backoffice.component').then(\n m => m.TaonCmsTaxonomyBackofficeComponent,\n ),\n },\n];\n\nexport const TaonCmsTagsBackofficeRoutes: Routes = [\n {\n path: '',\n data: { taxonomy: 'tag' },\n loadComponent: () =>\n import('./taon-cms-taxonomy-backoffice.component').then(\n m => m.TaonCmsTaxonomyBackofficeComponent,\n ),\n },\n];\n","import { DestroyRef, Directive, inject, signal } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { MtxGridColumn } from '@ng-matero/extensions/grid';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { TaonConfirmDialogComponent } from '@taon-dev/ui/browser';\nimport { finalize } from 'rxjs';\nimport { Taon } from 'taon/browser';\n\nimport { TaonCmsContentApiService } from '../../taon-cms-content/taon-cms-content-api.service';\nimport type { TaonCmsContentEntity } from '../../taon-cms-content/taon-cms-content.entity';\n\nconst t = Translation.for('src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-post-table-actions.directive.ts', {\"src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-post-table-actions.directive.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-post-table-actions.directive.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-post-table-actions.directive.ts.de-DE.i18n.data')).default},\"src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.html\":{\"en-US\":async () => (await import('./i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data')).default},\"src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data')).default},\"src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data')).default}} as any);\n\n@Directive()\nexport abstract class TaonCmsPostTableActions {\n private readonly actionsTranslation = t.for(this);\n\n readonly taonCmsContentApiService = inject(TaonCmsContentApiService);\n\n readonly deleting = signal<number | null>(null);\n\n readonly duplicating = signal(false);\n\n readonly error = signal('');\n\n protected readonly destroyRef = inject(DestroyRef);\n\n protected readonly postPath: string[] = [];\n\n private readonly dialog = inject(MatDialog);\n\n private readonly route = inject(ActivatedRoute);\n\n private readonly router = inject(Router);\n\n readonly actionsColumn: MtxGridColumn = {\n header: this.actionsTranslation.gettext('Actions'),\n field: 'actions',\n type: 'button',\n buttons: [\n {\n type: 'icon',\n icon: 'content_copy',\n tooltip: this.actionsTranslation.gettext('Duplicate post'),\n disabled: () => this.duplicating(),\n click: (post: TaonCmsContentEntity) => this.duplicate(post),\n },\n {\n type: 'icon',\n icon: 'open_in_new',\n tooltip: this.actionsTranslation.gettext('Post details'),\n click: (post: TaonCmsContentEntity) => this.openDetails(post),\n },\n {\n type: 'icon',\n icon: 'delete',\n tooltip: this.actionsTranslation.gettext('Delete (archive) post'),\n disabled: (post: TaonCmsContentEntity) =>\n post.status === 'archived' || this.deleting() !== null,\n click: (post: TaonCmsContentEntity) => this.delete(post),\n },\n ],\n };\n\n abstract reload(): void;\n\n add(): void {\n this.openPost('new');\n }\n\n openDetails(post: TaonCmsContentEntity): void {\n this.openPost(post.id);\n }\n\n private openPost(id: number | 'new'): void {\n const postsRoute = this.route.parent;\n if (!postsRoute) {\n this.error.set(\n this.actionsTranslation.gettext('The Post details route is unavailable.'),\n );\n return;\n }\n void this.router.navigate([...this.postPath, id], { relativeTo: postsRoute });\n }\n\n duplicate(post: TaonCmsContentEntity): void {\n if (this.duplicating()) {\n return;\n }\n this.duplicating.set(true);\n this.error.set('');\n this.taonCmsContentApiService\n .duplicateContent(post.id)\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n finalize(() => this.duplicating.set(false)),\n )\n .subscribe({\n next: duplicate => this.openDetails(duplicate),\n error: (error: unknown) => {\n console.error(\n '[taon-cms-posts-backoffice] Unable to duplicate post',\n error,\n );\n this.error.set(\n this.actionsTranslation.gettext(\n 'The post could not be duplicated. Please try again.',\n ),\n );\n },\n });\n }\n\n delete(post: TaonCmsContentEntity): void {\n if (this.deleting() !== null || post.status === 'archived') {\n return;\n }\n this.deleting.set(post.id);\n const ref = this.dialog.open(TaonConfirmDialogComponent, {\n data: {\n title: this.actionsTranslation.gettext('Delete post?'),\n message: this.actionsTranslation.gettext(\n 'This archives the post. It can be restored from its revisions.',\n ),\n confirmText: this.actionsTranslation.gettext('Delete'),\n },\n });\n ref\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.taonCmsContentApiService\n .deleteContent(post.id, post.version)\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n finalize(() => this.deleting.set(null)),\n )\n .subscribe({\n next: () => this.reload(),\n error: (error: unknown) => {\n console.error(\n '[taon-cms-posts-backoffice] Unable to delete post',\n error,\n );\n this.error.set(\n this.actionsTranslation.gettext(\n 'The post could not be deleted. Refresh the table before retrying.',\n ),\n );\n },\n });\n });\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n Input,\n OnInit,\n inject,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MtxGridColumn } from '@ng-matero/extensions/grid';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { TaonDatatableComponent } from '@taon-dev/ui/browser';\nimport { finalize } from 'rxjs';\nimport { Taon } from 'taon/browser';\n\nimport { TaonCmsContentApiService } from '../../taon-cms-content/taon-cms-content-api.service';\nimport type { TaonCmsContentEntity } from '../../taon-cms-content/taon-cms-content.entity';\n\nconst t = Translation.for('src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.ts', {\"src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.html\":{\"en-US\":async () => (await import('./i18n/taon-cms-course-backoffice.component.html.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-course-backoffice.component.html.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-course-backoffice.component.html.de-DE.i18n.data')).default},\"src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-course-backoffice.component.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-course-backoffice.component.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-course-backoffice.component.ts.de-DE.i18n.data')).default},\"src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.html\":{\"en-US\":async () => (await import('./i18n/taon-cms-course-contents.component.html.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-course-contents.component.html.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-course-contents.component.html.de-DE.i18n.data')).default},\"src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-course-contents.component.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-course-contents.component.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-course-contents.component.ts.de-DE.i18n.data')).default},\"src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-cover.component.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-course-cover.component.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-course-cover.component.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-course-cover.component.ts.de-DE.i18n.data')).default}} as any);\n\n@Component({\n selector: 'taon-cms-course-contents',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatButtonModule, TaonDatatableComponent],\n templateUrl: './taon-cms-course-contents.component.html',\n})\nexport class TaonCmsCourseContentsComponent implements OnInit {\n readonly t = t.for(this);\n\n @Input({ required: true })\n course!: TaonCmsContentEntity;\n\n @Input({ required: true })\n actionsColumn!: MtxGridColumn;\n\n private readonly api = inject(TaonCmsContentApiService);\n\n private readonly destroyRef = inject(DestroyRef);\n\n readonly posts = signal<TaonCmsContentEntity[]>([]);\n\n readonly loading = signal(false);\n\n readonly error = signal('');\n\n columns: MtxGridColumn[] = [];\n\n ngOnInit(): void {\n this.columns = [\n { header: 'ID', field: 'id', sortable: true },\n { header: this.t.gettext('Title'), field: 'title', sortable: true },\n { header: this.t.gettext('Status'), field: 'status', sortable: true },\n this.actionsColumn,\n ];\n this.reload();\n }\n\n reload(): void {\n if (this.loading()) {\n return;\n }\n this.loading.set(true);\n this.error.set('');\n this.api.listRelatedPosts(this.course.id)\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n finalize(() => this.loading.set(false)),\n )\n .subscribe({\n next: posts =>\n this.posts.set(posts.filter(post => post.status !== 'archived')),\n error: (error: unknown) => {\n console.error(\n '[taon-cms-course-contents] Unable to load related posts',\n error,\n );\n this.error.set(\n this.t.gettext('Course contents could not be loaded. Please retry.'),\n );\n },\n });\n }\n}\n","<section [attr.aria-label]=\"t.gettext('Course contents')\">\n <h2>{{ t.gettext('Course contents') }}: {{ course.title }}</h2>\n @if (loading()) {\n <p role=\"status\">{{ t.gettext('Loading course contents...') }}</p>\n }\n @if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n <button mat-button type=\"button\" (click)=\"reload()\">\n {{ t.gettext('Retry') }}\n </button>\n }\n <taon-datatable\n [pageSize]=\"posts().length || 1\"\n [data]=\"posts()\"\n [columns]=\"columns\"\n [showPaginator]=\"false\"\n [hideSearch]=\"true\"\n [hideAddButton]=\"true\">\n </taon-datatable>\n</section>\n","import { TaonCmsContentType } from '../../taon-cms-content/taon-cms-content.models';\n\nexport function defaultThumbnailKey(type: TaonCmsContentType): string {\n return `cms-placeholder:${type}`;\n}\n\nexport function defaultThumbnailUrl(key: string): string | null {\n const type = Object.values(TaonCmsContentType).find(\n value => key === defaultThumbnailKey(value),\n );\n if (!type) {\n return null;\n }\n const shapes: Record<TaonCmsContentType, string> = {\n normal:\n '<path d=\"M260 126h120v112H260z M280 152h80m-80 20h80m-80 20h52\" />',\n video:\n '<rect x=\"248\" y=\"132\" width=\"144\" height=\"100\" rx=\"16\"/><path d=\"m308 158 40 24-40 24z\"/>',\n audio: '<path d=\"M280 164v40m20-60v80m20-98v116m20-98v80m20-60v40\"/>',\n attachment:\n '<path d=\"M276 124h60l32 32v84h-92z M336 124v36h32m-70 30h48m-48 22h36\"/>',\n };\n const svg = `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"640\" height=\"360\" viewBox=\"0 0 640 360\"><defs><linearGradient id=\"bg\" x2=\"1\" y2=\"1\"><stop stop-color=\"#eaf0ff\"/><stop offset=\"1\" stop-color=\"#e4f5f0\"/></linearGradient></defs><rect width=\"640\" height=\"360\" rx=\"24\" fill=\"url(#bg)\"/><circle cx=\"320\" cy=\"180\" r=\"112\" fill=\"#fff\" opacity=\".65\"/><g fill=\"none\" stroke=\"#52669a\" stroke-width=\"7\" stroke-linecap=\"round\" stroke-linejoin=\"round\">${shapes[type]}</g></svg>`;\n return `data:image/svg+xml,${encodeURIComponent(svg)}`;\n}\n\nexport function visiblePixelRatio(pixels: Uint8ClampedArray): number {\n let visible = 0;\n for (let index = 0; index < pixels.length; index += 4) {\n const luminance =\n 0.2126 * pixels[index] +\n 0.7152 * pixels[index + 1] +\n 0.0722 * pixels[index + 2];\n if (luminance > 18) {\n visible += 1;\n }\n }\n return pixels.length ? visible / (pixels.length / 4) : 0;\n}\n\nfunction videoEvent(\n video: HTMLVideoElement,\n event: string,\n action: () => void,\n): Promise<void> {\n return new Promise((resolve, reject) => {\n const cleanup = () => {\n clearTimeout(timeout);\n video.removeEventListener(event, done);\n video.removeEventListener('error', failed);\n };\n const done = () => {\n cleanup();\n resolve();\n };\n const failed = () => {\n cleanup();\n reject(new Error(video.error?.message || 'Video decoding failed.'));\n };\n const timeout = setTimeout(() => {\n cleanup();\n reject(new Error('Video decoding timed out.'));\n }, 15000);\n video.addEventListener(event, done, { once: true });\n video.addEventListener('error', failed, { once: true });\n try {\n action();\n } catch (error: unknown) {\n cleanup();\n reject(error);\n }\n });\n}\n\nexport async function generateVideoThumbnail(file: Blob): Promise<Blob> {\n const video = document.createElement('video');\n const url = URL.createObjectURL(file);\n try {\n video.muted = true;\n video.playsInline = true;\n video.preload = 'auto';\n await videoEvent(video, 'loadeddata', () => {\n video.src = url;\n video.load();\n });\n if (!video.videoWidth || !video.videoHeight) {\n throw new Error('The video has no decodable dimensions.');\n }\n const analysis = document.createElement('canvas');\n analysis.width = 64;\n analysis.height = Math.max(\n 1,\n Math.round((64 * video.videoHeight) / video.videoWidth),\n );\n const context = analysis.getContext('2d', { willReadFrequently: true });\n if (!context) {\n throw new Error('Canvas is unavailable.');\n }\n const seek = async (time: number) => {\n if (Math.abs(video.currentTime - time) > 0.001) {\n await videoEvent(video, 'seeked', () => {\n video.currentTime = time;\n });\n }\n };\n const end = Number.isFinite(video.duration)\n ? Math.min(5, Math.max(0, video.duration - 0.01))\n : 5;\n let bestTime = 0;\n let bestRatio = -1;\n let found = false;\n for (let time = 0; time <= end; time += 0.25) {\n await seek(time);\n context.drawImage(video, 0, 0, analysis.width, analysis.height);\n const ratio = visiblePixelRatio(\n context.getImageData(0, 0, analysis.width, analysis.height).data,\n );\n if (ratio > bestRatio) {\n bestRatio = ratio;\n bestTime = time;\n }\n // Small highlights or a subject in a dark scene are enough.\n if (ratio >= 0.02) {\n found = true;\n break;\n }\n }\n if (!found) {\n await seek(bestTime);\n }\n const canvas = document.createElement('canvas');\n const scale = Math.min(1, 1280 / video.videoWidth, 720 / video.videoHeight);\n canvas.width = Math.max(1, Math.round(video.videoWidth * scale));\n canvas.height = Math.max(1, Math.round(video.videoHeight * scale));\n const output = canvas.getContext('2d');\n if (!output) {\n throw new Error('Canvas is unavailable.');\n }\n output.drawImage(video, 0, 0, canvas.width, canvas.height);\n return await new Promise<Blob>((resolve, reject) => {\n canvas.toBlob(\n blob =>\n blob\n ? resolve(blob)\n : reject(new Error('Thumbnail encoding failed.')),\n 'image/webp',\n 0.85,\n );\n });\n } finally {\n try {\n video.pause();\n video.removeAttribute('src');\n video.load();\n } finally {\n URL.revokeObjectURL(url);\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n Input,\n OnInit,\n inject,\n signal,\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nimport { TaonCmsContentApiService } from '../../taon-cms-content/taon-cms-content-api.service';\nimport type { TaonCmsContentEntity } from '../../taon-cms-content/taon-cms-content.entity';\nimport { defaultThumbnailUrl } from '../taon-cms-post/taon-cms-thumbnail';\n\nconst t = Translation.for('src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-cover.component.ts', {\"src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.html\":{\"en-US\":async () => (await import('./i18n/taon-cms-course-backoffice.component.html.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-course-backoffice.component.html.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-course-backoffice.component.html.de-DE.i18n.data')).default},\"src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-course-backoffice.component.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-course-backoffice.component.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-course-backoffice.component.ts.de-DE.i18n.data')).default},\"src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.html\":{\"en-US\":async () => (await import('./i18n/taon-cms-course-contents.component.html.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-course-contents.component.html.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-course-contents.component.html.de-DE.i18n.data')).default},\"src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-course-contents.component.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-course-contents.component.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-course-contents.component.ts.de-DE.i18n.data')).default},\"src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-cover.component.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-course-cover.component.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-course-cover.component.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-course-cover.component.ts.de-DE.i18n.data')).default}} as any);\n\n@Component({\n selector: 'taon-cms-course-cover',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatButtonModule],\n templateUrl: './taon-cms-course-cover.component.html',\n styles: [`\n :host {\n display: block;\n }\n img {\n display: block;\n max-height: 50px;\n max-width: 90px;\n width: auto;\n height: auto;\n object-fit: contain;\n }\n `],\n})\nexport class TaonCmsCourseCoverComponent implements OnInit {\n readonly t = t.for(this);\n\n @Input({ required: true })\n post!: TaonCmsContentEntity;\n\n private readonly api = inject(TaonCmsContentApiService);\n\n private readonly destroyRef = inject(DestroyRef);\n\n readonly url = signal('');\n\n readonly loading = signal(false);\n\n readonly error = signal('');\n\n ngOnInit(): void {\n void this.reload();\n }\n\n async reload(): Promise<void> {\n if (this.loading()) {\n return;\n }\n this.loading.set(true);\n this.url.set('');\n this.error.set('');\n try {\n const url =\n defaultThumbnailUrl(this.post.thumbnailKey ?? '') ??\n await this.api.getThumbnailLinkBySlug(this.post.slug);\n if (!url) {\n throw new Error('The thumbnail URL is empty.');\n }\n if (!this.destroyRef.destroyed) {\n this.url.set(url);\n }\n } catch (error: unknown) {\n console.error('[taon-cms-course-cover] Unable to load thumbnail', error);\n if (!this.destroyRef.destroyed) {\n this.failed();\n }\n } finally {\n if (!this.destroyRef.destroyed) {\n this.loading.set(false);\n }\n }\n }\n\n failed(): void {\n this.url.set('');\n this.error.set(this.t.gettext('Cover unavailable. Retry'));\n }\n}\n","@if (url()) {\n <img [src]=\"url()\" [alt]=\"post.title\" (error)=\"failed()\" />\n}\n@if (error()) {\n <button mat-button type=\"button\" (click)=\"reload()\">{{ error() }}</button>\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n OnInit,\n TemplateRef,\n ViewChild,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MtxGridColumn } from '@ng-matero/extensions/grid';\nimport { TaonDatatableComponent } from '@taon-dev/ui/browser';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { finalize } from 'rxjs';\nimport { Taon } from 'taon/browser';\n\nimport { TaonCmsContentApiService } from '../../taon-cms-content/taon-cms-content-api.service';\nimport type { TaonCmsContentEntity } from '../../taon-cms-content/taon-cms-content.entity';\nimport { TaonCmsPostTableActions } from '../taon-cms-posts-backoffice/taon-cms-post-table-actions.directive';\n\nimport { TaonCmsCourseContentsComponent } from './taon-cms-course-contents.component';\nimport { TaonCmsCourseCoverComponent } from './taon-cms-course-cover.component';\n\nconst t = Translation.for('src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.ts', {\"src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.html\":{\"en-US\":async () => (await import('./i18n/taon-cms-course-backoffice.component.html.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-course-backoffice.component.html.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-course-backoffice.component.html.de-DE.i18n.data')).default},\"src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-course-backoffice.component.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-course-backoffice.component.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-course-backoffice.component.ts.de-DE.i18n.data')).default},\"src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.html\":{\"en-US\":async () => (await import('./i18n/taon-cms-course-contents.component.html.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-course-contents.component.html.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-course-contents.component.html.de-DE.i18n.data')).default},\"src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-course-contents.component.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-course-contents.component.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-course-contents.component.ts.de-DE.i18n.data')).default},\"src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-cover.component.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-course-cover.component.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-course-cover.component.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-course-cover.component.ts.de-DE.i18n.data')).default}} as any);\n\n@Component({\n selector: 'taon-cms-course-backoffice',\n templateUrl: './taon-cms-course-backoffice.component.html',\n styleUrls: ['./taon-cms-course-backoffice.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n MatButtonModule,\n MatIconModule,\n TaonDatatableComponent,\n TaonCmsCourseContentsComponent,\n TaonCmsCourseCoverComponent,\n ],\n providers: [TaonCmsContentApiService],\n})\nexport class TaonCmsCourseBackofficeComponent\n extends TaonCmsPostTableActions\n implements OnInit {\n readonly t = t.for(this);\n\n @ViewChild('coverTemplate', { static: true })\n readonly coverTemplate!: TemplateRef<unknown>;\n\n @ViewChild('visibilityTemplate', { static: true })\n readonly visibilityTemplate!: TemplateRef<unknown>;\n\n protected override readonly postPath = ['../posts'];\n\n readonly courses = signal<TaonCmsContentEntity[]>([]);\n\n readonly loading = signal(false);\n\n columns: MtxGridColumn[] = [];\n\n ngOnInit(): void {\n this.columns = [\n { header: 'ID', field: 'id', sortable: true, showExpand: true },\n {\n header: this.t.gettext('Cover'),\n field: 'thumbnailKey',\n cellTemplate: this.coverTemplate,\n width: '110px',\n },\n { header: this.t.gettext('Title'), field: 'title', sortable: true },\n {\n header: this.t.gettext('Visibility'),\n field: 'status',\n sortable: true,\n cellTemplate: this.visibilityTemplate,\n },\n this.actionsColumn,\n ].map(column => ({\n ...column,\n class: (post: TaonCmsContentEntity) =>\n post?.status === 'published' ? 'cms-course-public' : 'cms-course-private',\n }));\n this.reload();\n }\n\n reload(): void {\n if (this.loading()) {\n return;\n }\n this.loading.set(true);\n this.error.set('');\n this.taonCmsContentApiService.listCourses()\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n finalize(() => this.loading.set(false)),\n )\n .subscribe({\n next: courses => this.courses.set(courses),\n error: (error: unknown) => {\n console.error(\n '[taon-cms-course-backoffice] Unable to load courses',\n error,\n );\n this.error.set(\n this.t.gettext('Courses could not be loaded. Please try reloading.'),\n );\n },\n });\n }\n}\n","<h1>{{ t.gettext('Courses') }}</h1>\n<h2 style=\"color: goldenrod;\">{{ t.gettext('Course is just a post with related posts and thumbnail. Any non archived post can be course.') }}</h2>\n<button mat-button type=\"button\" [disabled]=\"loading()\" (click)=\"reload()\">\n {{ t.gettext('Reload courses') }}\n</button>\n@if (loading()) {\n <p role=\"status\">{{ t.gettext('Loading courses...') }}</p>\n}\n@if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n}\n<taon-datatable\n [data]=\"courses()\"\n [columns]=\"columns\"\n [allowedColumns]=\"['id', 'title', 'status']\"\n [hideAddButton]=\"true\"\n searchMode=\"advanced\"\n [expansionTemplate]=\"expansionTemplate\">\n</taon-datatable>\n<ng-template #coverTemplate let-post>\n <taon-cms-course-cover [post]=\"post\"></taon-cms-course-cover>\n</ng-template>\n<ng-template #visibilityTemplate let-post>\n <span class=\"visibility\">\n <mat-icon aria-hidden=\"true\">\n {{ post.status === 'published' ? 'lock_open' : 'lock' }}\n </mat-icon>\n {{ post.status === 'published' ? t.gettext('Public') : t.gettext('Private') }}\n </span>\n</ng-template>\n<ng-template #expansionTemplate let-course>\n <taon-cms-course-contents\n [course]=\"course\"\n [actionsColumn]=\"actionsColumn\">\n </taon-cms-course-contents>\n</ng-template>\n","import { Routes } from '@angular/router';\n\nexport const TaonCmsCourseBackofficeRoutes: Routes = [\n {\n path: '',\n pathMatch: 'full',\n loadComponent: () =>\n import('./taon-cms-course-backoffice.component').then(\n m => m.TaonCmsCourseBackofficeComponent,\n ),\n },\n];\n","import {\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n Output,\n SecurityContext,\n inject,\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Directive({\n selector: '[taonCmsEditable]',\n})\nexport class TaonCmsEditableDirective {\n private readonly element = inject<ElementRef<HTMLElement>>(ElementRef)\n .nativeElement;\n private readonly sanitizer = inject(DomSanitizer);\n private value = '';\n private composing = false;\n\n @Input() taonCmsEditableFormat: 'text' | 'html' = 'text';\n @Input() taonCmsEditableSingleLine = false;\n @Output() readonly taonCmsEditableChange = new EventEmitter<string>();\n\n @Input()\n set taonCmsEditable(value: string) {\n if (value === this.value) {\n return;\n }\n this.value = value;\n this.render();\n }\n\n @HostListener('compositionstart')\n compositionStart(): void {\n this.composing = true;\n }\n\n @HostListener('compositionend')\n compositionEnd(): void {\n this.composing = false;\n this.onInput();\n }\n\n @HostListener('input')\n onInput(): void {\n if (this.composing) {\n return;\n }\n const text = this.element.innerText;\n this.value =\n this.taonCmsEditableFormat === 'html'\n ? this.sanitize(this.element.innerHTML)\n : this.taonCmsEditableSingleLine\n ? text.replace(/\\s*\\n\\s*/g, ' ')\n : text;\n // Remember emitted values so Angular does not rewrite the DOM/caret on input.\n this.taonCmsEditableChange.emit(this.value);\n }\n\n @HostListener('blur')\n onBlur(): void {\n this.onInput();\n this.render();\n }\n\n @HostListener('keydown', ['$event'])\n onKeydown(event: KeyboardEvent): void {\n if (this.taonCmsEditableSingleLine && event.key === 'Enter') {\n event.preventDefault();\n }\n }\n\n @HostListener('paste', ['$event'])\n onPaste(event: ClipboardEvent): void {\n event.preventDefault();\n const selection = this.element.ownerDocument.getSelection();\n if (!selection?.rangeCount || !event.clipboardData) {\n return;\n }\n const range = selection.getRangeAt(0);\n if (!this.element.contains(range.commonAncestorContainer)) {\n return;\n }\n const pasted = event.clipboardData.getData('text/plain');\n const text = this.taonCmsEditableSingleLine\n ? pasted.replace(/\\s*\\n\\s*/g, ' ')\n : pasted;\n range.deleteContents();\n const node = this.element.ownerDocument.createTextNode(text);\n range.insertNode(node);\n range.setStartAfter(node);\n range.collapse(true);\n selection.removeAllRanges();\n selection.addRange(range);\n this.onInput();\n }\n\n private sanitize(value: string): string {\n return this.sanitizer.sanitize(SecurityContext.HTML, value) ?? '';\n }\n\n private render(): void {\n if (this.taonCmsEditableFormat === 'html') {\n this.element.innerHTML = this.sanitize(this.value);\n } else {\n this.element.textContent = this.value;\n }\n }\n}\n","import { DatePipe } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n HostListener,\n inject,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { MatButtonModule } from '@angular/material/button';\nimport {\n MAT_DIALOG_DATA,\n MatDialogModule,\n MatDialogRef,\n} from '@angular/material/dialog';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { finalize } from 'rxjs';\nimport { Taon } from 'taon/browser';\n\nimport type { TaonCmsContentEntity } from '../../taon-cms-content/taon-cms-content.entity';\nimport { TaonCmsContentRevisionApiService } from '../../taon-cms-content-revision/taon-cms-content-revision-api.service';\nimport type { TaonCmsContentRevisionEntity } from '../../taon-cms-content-revision/taon-cms-content-revision.entity';\n\nconst t = Translation.for('src/lib/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.ts', {\"src/lib/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.html\":{\"en-US\":async () => (await import('./i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data')).default},\"src/lib/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data')).default}} as any);\n\n@Component({\n selector: 'taon-cms-revision-chooser',\n templateUrl: './taon-cms-revision-chooser.component.html',\n styleUrls: ['./taon-cms-revision-chooser.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [DatePipe, MatButtonModule, MatDialogModule, MatRadioModule],\n providers: [TaonCmsContentRevisionApiService],\n})\nexport class TaonCmsRevisionChooserComponent {\n readonly t = t.for(this);\n\n readonly post = inject<TaonCmsContentEntity>(MAT_DIALOG_DATA);\n\n readonly revisions = signal<TaonCmsContentRevisionEntity[]>([]);\n\n readonly selected = signal<number | null>(null);\n\n readonly loading = signal(false);\n\n readonly applying = signal(false);\n\n readonly error = signal('');\n\n private readonly api = inject(TaonCmsContentRevisionApiService);\n\n private readonly ref = inject(\n MatDialogRef<TaonCmsRevisionChooserComponent, TaonCmsContentEntity>,\n );\n\n private readonly destroyRef = inject(DestroyRef);\n\n constructor() {\n this.load();\n }\n\n @HostListener('document:keydown.escape', ['$event'])\n onEscape(event: KeyboardEvent): void {\n event.stopPropagation();\n this.ref.close();\n }\n\n load(): void {\n if (this.loading() || this.applying()) {\n return;\n }\n this.selected.set(null);\n this.loading.set(true);\n this.error.set('');\n this.api\n .listRevisions(this.post.id)\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n finalize(() => this.loading.set(false)),\n )\n .subscribe({\n next: revisions =>\n this.revisions.set(\n [...revisions].sort((a, b) => b.revisionNumber - a.revisionNumber),\n ),\n error: (error: unknown) => {\n console.error(\n '[taon-cms-revision-chooser] Unable to load revisions',\n error,\n );\n this.error.set(\n this.t.gettext('Revisions could not be loaded. Please try again.'),\n );\n },\n });\n }\n\n apply(): void {\n const revisionNumber = this.selected();\n if (this.loading() || this.applying()) {\n return;\n }\n if (revisionNumber === null) {\n this.error.set(this.t.gettext('Select a revision to restore.'));\n return;\n }\n this.applying.set(true);\n this.error.set('');\n this.api\n .restoreContent(this.post.id, {\n revisionNumber,\n expectedVersion: this.post.version,\n })\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n finalize(() => this.applying.set(false)),\n )\n .subscribe({\n next: post => this.ref.close(post),\n error: (error: unknown) => {\n console.error(\n '[taon-cms-revision-chooser] Unable to restore revision',\n error,\n );\n this.error.set(\n this.t.gettext(\n 'The revision could not be restored. If the post changed, close and reopen it to load its latest version.',\n ),\n );\n },\n });\n }\n\n cancel(): void {\n if (!this.applying()) {\n this.ref.close();\n }\n }\n}\n","<h2 mat-dialog-title>{{ t.gettext('Restore a revision') }}</h2>\n<mat-dialog-content>\n <p>\n {{\n t.gettext(\n 'Restoring replaces the post, including its status, with the selected revision.'\n )\n }}\n </p>\n @if (loading()) {\n <p role=\"status\">{{ t.gettext('Loading revisions...') }}</p>\n } @else {\n <mat-radio-group\n [attr.aria-label]=\"t.gettext('Post revisions')\"\n [value]=\"selected()\"\n (change)=\"selected.set($event.value)\"\n [disabled]=\"applying()\">\n @for (revision of revisions(); track revision.id) {\n <mat-radio-button\n [value]=\"revision.revisionNumber\"\n [disabled]=\"!revision.snapshot\">\n <strong>{{\n t.gettext('Revision [[ revisionNumber ]]', {\n revisionNumber: revision.revisionNumber,\n })\n }}</strong>\n <span>{{ revision.createdAt | date: 'medium' }}</span>\n @if (\n revision.createdByUserId !== null &&\n revision.createdByUserId !== undefined\n ) {\n <span>{{\n t.gettext('User [[ userId ]]', {\n userId: revision.createdByUserId,\n })\n }}</span>\n }\n @if (!revision.snapshot) {\n <span>{{ t.gettext('Legacy revision - cannot be restored') }}</span>\n }\n </mat-radio-button>\n } @empty {\n <p>{{ t.gettext('No revisions are available.') }}</p>\n }\n </mat-radio-group>\n }\n @if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"loading() || applying()\"\n (click)=\"load()\">\n {{ t.gettext('Reload revisions') }}\n </button>\n }\n @if (applying()) {\n <p role=\"status\">{{ t.gettext('Restoring...') }}</p>\n }\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button\n mat-button\n type=\"button\"\n [disabled]=\"applying()\"\n (click)=\"cancel()\">\n {{ t.gettext('Cancel') }}\n </button>\n <button\n mat-flat-button\n type=\"button\"\n [disabled]=\"loading() || applying() || selected() === null\"\n (click)=\"apply()\">\n {{ t.gettext('Apply') }}\n </button>\n</mat-dialog-actions>\n","import {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n computed,\n inject,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { MatButtonModule } from '@angular/material/button';\nimport {\n MAT_DIALOG_DATA,\n MatDialogModule,\n MatDialogRef,\n} from '@angular/material/dialog';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { finalize } from 'rxjs';\nimport { Taon } from 'taon/browser';\n\nimport { TaonCmsContentApiService } from '../../taon-cms-content/taon-cms-content-api.service';\nimport type { TaonCmsContentEntity } from '../../taon-cms-content/taon-cms-content.entity';\n\nconst t = Translation.for('src/lib/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.ts', {\"src/lib/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.html\":{\"en-US\":async () => (await import('./i18n/taon-related-post-chooser.component.html.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-related-post-chooser.component.html.de-DE.i18n.data')).default},\"src/lib/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.ts\":{\"en-US\":async () => (await import('./i18n/taon-related-post-chooser.component.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data')).default}} as any);\n\nexport interface TaonRelatedPostChooserData {\n postId?: number;\n excludedIds: number[];\n}\n\n@Component({\n selector: 'taon-related-post-chooser',\n templateUrl: './taon-related-post-chooser.component.html',\n styleUrls: ['./taon-related-post-chooser.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatButtonModule, MatDialogModule, MatRadioModule],\n providers: [TaonCmsContentApiService],\n})\nexport class TaonRelatedPostChooserComponent {\n readonly t = t.for(this);\n\n readonly data = inject<TaonRelatedPostChooserData>(MAT_DIALOG_DATA);\n readonly posts = signal<TaonCmsContentEntity[]>([]);\n readonly selected = signal<number | null>(null);\n readonly query = signal('');\n readonly loading = signal(false);\n readonly error = signal('');\n readonly filteredPosts = computed(() => {\n const query = this.query().trim().toLowerCase();\n return this.posts().filter(\n post =>\n post.id !== this.data.postId &&\n !this.data.excludedIds.includes(post.id) &&\n `${post.id} ${post.title} ${post.slug}`.toLowerCase().includes(query),\n );\n });\n\n private readonly api = inject(TaonCmsContentApiService);\n private readonly ref = inject(\n MatDialogRef<TaonRelatedPostChooserComponent, TaonCmsContentEntity>,\n );\n private readonly destroyRef = inject(DestroyRef);\n\n constructor() {\n this.load();\n }\n\n load(): void {\n if (this.loading()) {\n return;\n }\n this.loading.set(true);\n this.selected.set(null);\n this.error.set('');\n this.api.allMyEntities$\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n finalize(() => this.loading.set(false)),\n )\n .subscribe({\n next: posts => this.posts.set(posts),\n error: (error: unknown) => {\n console.error(\n '[taon-related-post-chooser] Unable to load posts',\n error,\n );\n this.error.set(\n this.t.gettext('Posts could not be loaded. Please try again.'),\n );\n },\n });\n }\n\n search(event: Event): void {\n if (event.target instanceof HTMLInputElement) {\n this.query.set(event.target.value);\n this.selected.set(null);\n }\n }\n\n choose(): void {\n if (this.loading() || this.error()) {\n return;\n }\n const post = this.filteredPosts().find(post => post.id === this.selected());\n if (!post) {\n this.error.set(this.t.gettext('Select a related post.'));\n return;\n }\n this.ref.close(post);\n }\n\n cancel(): void {\n this.ref.close();\n }\n}\n","<h2 mat-dialog-title>{{ t.gettext('Add related post') }}</h2>\n<mat-dialog-content>\n <label class=\"search-field\">\n <span>{{ t.gettext('Search posts') }}</span>\n <input\n type=\"search\"\n [attr.aria-label]=\"t.gettext('Search posts by ID, title or slug')\"\n [value]=\"query()\"\n [disabled]=\"loading()\"\n (input)=\"search($event)\" />\n </label>\n @if (loading()) {\n <p role=\"status\">{{ t.gettext('Loading posts...') }}</p>\n } @else if (error()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ error() }}\n </p>\n <button\n mat-button\n type=\"button\"\n (click)=\"load()\">\n {{ t.gettext('Try again') }}\n </button>\n } @else {\n <mat-radio-group\n [attr.aria-label]=\"t.gettext('Related post')\"\n [value]=\"selected()\"\n (change)=\"selected.set($event.value)\">\n @for (post of filteredPosts(); track post.id) {\n <mat-radio-button [value]=\"post.id\">\n #{{ post.id }} - {{ post.title }}\n <span class=\"slug\">{{ post.slug }}</span>\n </mat-radio-button>\n } @empty {\n <p>{{ t.gettext('No matching posts available.') }}</p>\n }\n </mat-radio-group>\n }\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button\n mat-button\n type=\"button\"\n (click)=\"cancel()\">\n {{ t.gettext('Cancel') }}\n </button>\n <button\n mat-flat-button\n type=\"button\"\n [disabled]=\"loading() || !!error() || selected() === null\"\n (click)=\"choose()\">\n {{ t.gettext('Add related post') }}\n </button>\n</mat-dialog-actions>\n","//#region imports\nimport {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n ElementRef,\n computed,\n effect,\n inject,\n input,\n model,\n output,\n signal,\n untracked,\n viewChild,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { TaonPermissionApiService } from '@taon-dev/session/browser';\nimport type { TaonPermissionEntity } from '@taon-dev/session/browser';\nimport { TaonConfirmDialogComponent } from '@taon-dev/ui/browser';\nimport { Editor, NgxEditorModule, toHTML } from 'ngx-editor';\nimport type { Toolbar } from 'ngx-editor';\nimport {\n Observable,\n Subscription,\n finalize,\n firstValueFrom,\n forkJoin,\n of,\n take,\n} from 'rxjs';\nimport { Taon } from 'taon/browser';\n\nimport type { TaonCmsApplicationHookEntity } from '../../taon-cms-application-hook/taon-cms-application-hook.entity';\nimport type { TaonCmsApplicationHook } from '../../taon-cms-application-hooks';\nimport { TaonCmsCategoryApiService } from '../../taon-cms-category/taon-cms-category-api.service';\nimport type { TaonCmsCategoryEntity } from '../../taon-cms-category/taon-cms-category.entity';\nimport { TaonCmsContentApiService } from '../../taon-cms-content/taon-cms-content-api.service';\nimport { TaonCmsContentConfigService } from '../../taon-cms-content/taon-cms-content.config.service';\nimport type { TaonCmsContentEntity } from '../../taon-cms-content/taon-cms-content.entity';\nimport type { TaonCmsUpdateContent } from '../../taon-cms-content/taon-cms-content.models';\nimport { TaonCmsContentType } from '../../taon-cms-content/taon-cms-content.models';\nimport { resolveTemplateVariables } from '../../taon-cms-content/taon-cms-template-variables';\nimport type { TaonCmsTemplateVariable } from '../../taon-cms-content/taon-cms-template-variables';\nimport { TaonCmsTagApiService } from '../../taon-cms-tag/taon-cms-tag-api.service';\nimport type { TaonCmsTagEntity } from '../../taon-cms-tag/taon-cms-tag.entity';\nimport { TaonCmsRevisionChooserComponent } from '../taon-cms-revision-chooser/taon-cms-revision-chooser.component';\nimport { TaonRelatedPostChooserComponent } from '../taon-related-post-chooser/taon-related-post-chooser.component';\nimport type { TaonRelatedPostChooserData } from '../taon-related-post-chooser/taon-related-post-chooser.component';\n\nimport { TaonCmsEditableDirective } from './taon-cms-editable.directive';\nimport type { TaonCmsPostDraft, TaonCmsPostMode } from './taon-cms-post.models';\nimport {\n defaultThumbnailKey,\n defaultThumbnailUrl,\n generateVideoThumbnail,\n} from './taon-cms-thumbnail';\n\n//#endregion\n\nconst t = Translation.for('src/lib/taon-posts/taon-cms-post/taon-cms-post.component.ts', {\"src/lib/taon-posts/taon-cms-post/taon-cms-post.component.html\":{\"en-US\":async () => (await import('./i18n/taon-cms-post.component.html.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-post.component.html.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-post.component.html.de-DE.i18n.data')).default},\"src/lib/taon-posts/taon-cms-post/taon-cms-post.component.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-post.component.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-post.component.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-post.component.ts.de-DE.i18n.data')).default}} as any);\n\n@Component({\n selector: 'taon-cms-post',\n templateUrl: './taon-cms-post.component.html',\n styleUrls: ['./taon-cms-post.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n MatButtonModule,\n MatCheckboxModule,\n MatFormFieldModule,\n MatIconModule,\n MatInputModule,\n MatMenuModule,\n MatTabsModule,\n NgxEditorModule,\n MatChipsModule,\n MatProgressBarModule,\n MatRadioModule,\n MatSelectModule,\n TaonCmsEditableDirective,\n ],\n providers: [\n TaonCmsContentApiService,\n TaonCmsContentConfigService,\n TaonPermissionApiService,\n TaonCmsCategoryApiService,\n TaonCmsTagApiService,\n ],\n})\nexport class TaonCmsPostComponent {\n readonly t = t.for(this);\n\n //#region fields and getters\n readonly post = input<TaonCmsContentEntity | null>(null);\n\n readonly mode = model<TaonCmsPostMode>('view');\n\n readonly changed = output<TaonCmsContentEntity>();\n\n readonly deleted = output<TaonCmsContentEntity>();\n\n readonly duplicated = output<TaonCmsContentEntity>();\n\n readonly cancelled = output<void>();\n\n readonly currentPost = signal<TaonCmsContentEntity | null>(null);\n\n readonly placeholderShortIntro = this.t.signal.gettext(\n 'A short introduction...',\n );\n\n readonly placeholderTitle = this.t.signal.gettext('Title');\n\n readonly placeholderTellYourStory =\n this.t.signal.gettext('Tell your story...');\n\n readonly draft = signal<TaonCmsPostDraft>({\n type: TaonCmsContentType.Normal,\n title: '',\n slug: '',\n excerpt: '',\n body: '',\n videoKey: null,\n audioKey: null,\n attachmentKey: null,\n thumbnailKey: null,\n categoryId: null,\n tagIds: [],\n });\n\n readonly postTypes = [\n {\n value: TaonCmsContentType.Normal,\n label: this.t.gettext('Normal post'),\n },\n { value: TaonCmsContentType.Video, label: this.t.gettext('Video post') },\n { value: TaonCmsContentType.Audio, label: this.t.gettext('Audio post') },\n {\n value: TaonCmsContentType.Attachment,\n label: this.t.gettext('Attachment post'),\n },\n ];\n\n private readonly mediaAttachments = [\n {\n type: TaonCmsContentType.Video,\n key: 'videoKey',\n heading: this.t.gettext('Video Attachment'),\n uploadLabel: this.t.gettext('Upload video'),\n accept: 'video/*',\n },\n {\n type: TaonCmsContentType.Audio,\n key: 'audioKey',\n heading: this.t.gettext('Audio Attachment'),\n uploadLabel: this.t.gettext('Upload audio'),\n accept: 'audio/*',\n },\n {\n type: TaonCmsContentType.Attachment,\n key: 'attachmentKey',\n heading: this.t.gettext('File Attachment'),\n uploadLabel: this.t.gettext('Upload file'),\n accept: '',\n },\n ] as const;\n\n readonly mediaAttachment = computed(() =>\n this.mediaAttachments.find(media => media.type === this.draft().type),\n );\n\n readonly busy = signal(false);\n\n readonly thumbnailPreviewUrl = signal('');\n\n readonly thumbnailError = signal('');\n\n private readonly thumbnailReference = computed(\n () => this.draft().thumbnailKey,\n );\n\n private readonly thumbnailSlug = computed(() => this.draft().slug);\n\n readonly taxonomyLoading = signal(false);\n\n readonly taxonomyError = signal('');\n\n readonly categories = signal<TaonCmsCategoryEntity[]>([]);\n\n readonly tags = signal<TaonCmsTagEntity[]>([]);\n\n readonly tagSearch = signal('');\n\n readonly filteredTags = computed(() => {\n const query = this.tagSearch().trim().toLowerCase();\n return this.tags().filter(\n tag =>\n !this.draft().tagIds.includes(tag.id) &&\n `${tag.name} ${tag.slug}`.toLowerCase().includes(query),\n );\n });\n\n readonly selectedTags = computed(() =>\n this.tags().filter(tag => this.draft().tagIds.includes(tag.id)),\n );\n\n private readonly categoryApi = inject(TaonCmsCategoryApiService);\n\n private readonly tagApi = inject(TaonCmsTagApiService);\n\n private taxonomyLoad?: Subscription;\n\n private editorSession = 0;\n\n private thumbnailObjectUrl = '';\n\n private readonly stagedThumbnail = signal<{\n key: string | null;\n url: string;\n } | null>(null);\n\n readonly uploading = signal(false);\n\n readonly uploadProgress = signal(0);\n\n readonly mediaPreviewUrl = signal('');\n\n readonly mediaPreviewLoading = signal(false);\n\n readonly mediaPreviewError = signal('');\n\n private readonly mediaFileNames = signal<Record<string, string>>({});\n\n private readonly uploadedMediaPreview = signal<{\n key: string;\n url: string;\n fileName: string;\n } | null>(null);\n\n private mediaPreviewRequest = 0;\n\n private mediaPreviewSignature = '';\n\n readonly dialogOpen = signal(false);\n\n readonly error = signal('');\n\n readonly relatedPosts = signal<TaonCmsContentEntity[]>([]);\n\n readonly relatedPostsLoading = signal(false);\n\n readonly relatedPostsError = signal('');\n\n readonly applicationHooks = signal<TaonCmsApplicationHookEntity[]>([]);\n\n readonly applicationHooksLoading = signal(false);\n\n readonly applicationHooksError = signal('');\n\n readonly useAsApplicationHook = signal(false);\n\n readonly selectedApplicationHook = signal<TaonCmsApplicationHook | null>(\n null,\n );\n\n readonly permissions = signal<TaonPermissionEntity[]>([]);\n\n readonly applyPermissionsToRelatedPosts = signal(false);\n\n readonly permissionSource = signal<{ id: number; title: string } | null>(\n null,\n );\n\n readonly permissionsLoading = signal(false);\n\n readonly permissionsError = signal('');\n\n readonly permissionOptions = signal<TaonPermissionEntity[]>([]);\n\n readonly permissionOptionsLoading = signal(false);\n\n readonly permissionOptionsError = signal('');\n\n readonly selectedPermissionId = signal<number | null>(null);\n\n readonly availablePermissions = computed(() => {\n const assignedIds = new Set(\n this.permissions().map(permission => permission.id),\n );\n return this.permissionOptions().filter(\n permission => !assignedIds.has(permission.id),\n );\n });\n\n readonly editing = computed(\n () => this.mode() === 'edit' || this.mode() === 'add',\n );\n\n readonly canSave = computed(\n () =>\n !!this.draft().title.trim() &&\n !!this.draft().slug.trim() &&\n !this.relatedPostsLoading() &&\n !this.relatedPostsError() &&\n !this.applicationHooksLoading() &&\n !this.applicationHooksError() &&\n (!this.useAsApplicationHook() || !!this.selectedApplicationHook()) &&\n !this.permissionsLoading() &&\n !this.permissionsError() &&\n !this.taxonomyLoading() &&\n !this.taxonomyError(),\n );\n\n readonly canPublish = computed(() => {\n const post = this.currentPost();\n return !!post && post.status !== 'published';\n });\n\n private readonly api = inject(TaonCmsContentApiService);\n\n private readonly contentConfig = inject(TaonCmsContentConfigService);\n\n readonly contentTab = signal(0);\n\n readonly contentEditor = signal<Editor | null>(null);\n\n readonly rawContent =\n viewChild<ElementRef<HTMLTextAreaElement>>('rawContent');\n\n private loadingEditorContent = false;\n\n readonly contentToolbar: Toolbar = [\n [{ heading: ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'] }],\n ['bold', 'italic', 'underline', 'strike'],\n ['ordered_list', 'bullet_list'],\n ['blockquote', 'code'],\n ['link', 'image'],\n ['text_color', 'background_color'],\n ['align_left', 'align_center', 'align_right', 'align_justify'],\n ['horizontal_rule', 'format_clear'],\n ['undo', 'redo'],\n ];\n\n readonly resolvedBody = computed(() => {\n const draft = this.draft();\n return resolveTemplateVariables(draft.body, {\n frontendUrl: this.api.frontendUrl,\n site: { name: this.contentConfig.siteName },\n post: {\n title: draft.title,\n url: draft.slug ? this.api.getPostUrl(draft.slug) : null,\n id: this.currentPost()?.id,\n thumbnailUrl: this.thumbnailPreviewUrl() || null,\n },\n });\n });\n\n private readonly permissionApi = inject(TaonPermissionApiService);\n\n private readonly dialog = inject(MatDialog);\n\n private readonly destroyRef = inject(DestroyRef);\n\n private relatedPostsLoad?: Subscription;\n\n private applicationHooksLoad?: Subscription;\n\n private permissionsLoad?: Subscription;\n //#endregion\n\n //#region constructor\n constructor() {\n const editor = new Editor({\n attributes: {\n 'aria-label': this.t.gettext('Post body'),\n style: 'min-height: 20rem',\n },\n });\n\n this.contentEditor.set(editor);\n\n const editorChanges = editor.valueChanges.subscribe(document => {\n if (!this.editing() || this.loadingEditorContent) {\n return;\n }\n\n this.updateDraft('body', toHTML(document, editor.schema));\n });\n\n // React to post input changes.\n effect(() => {\n const post = this.post();\n\n untracked(() => {\n this.setPost(post);\n\n // Synchronize editor only because the POST changed externally.\n this.loadingEditorContent = true;\n\n try {\n editor.setContent(this.draft().body);\n } finally {\n this.loadingEditorContent = false;\n }\n });\n });\n\n // Enable/disable editor without recreating it.\n effect(() => {\n const disabled = this.busy() || this.dialogOpen() || !this.editing();\n\n editor.view.setProps({\n editable: () => !disabled,\n });\n });\n\n // Load edit-mode dependencies.\n effect(() => {\n if (this.editing()) {\n untracked(() => {\n this.loadApplicationHooks();\n this.loadPermissionOptions();\n this.loadTaxonomy();\n });\n }\n });\n\n // Thumbnail preview handling.\n effect(onCleanup => {\n const key = this.thumbnailReference();\n const slug = this.thumbnailSlug();\n const editing = this.editing();\n const staged = this.stagedThumbnail();\n\n let active = true;\n\n onCleanup(() => {\n active = false;\n });\n\n this.thumbnailError.set('');\n this.thumbnailPreviewUrl.set('');\n\n if (staged && staged.key === key) {\n this.thumbnailPreviewUrl.set(staged.url);\n return;\n }\n\n if (!key) {\n return;\n }\n\n const placeholder = defaultThumbnailUrl(key);\n\n if (placeholder) {\n this.thumbnailPreviewUrl.set(placeholder);\n return;\n }\n\n if (!slug) {\n return;\n }\n\n const load = async () => {\n if (editing) {\n return this.api.getAssetUrl(key);\n }\n\n try {\n return await this.api.getThumbnailLinkBySlug(slug, true);\n } catch {\n return this.api.getThumbnailLinkBySlug(slug);\n }\n };\n\n void load()\n .then(url => {\n if (active && !this.destroyRef.destroyed) {\n this.thumbnailPreviewUrl.set(url);\n }\n })\n .catch((error: unknown) => {\n console.error('[taon-cms-post] Unable to load thumbnail', error);\n\n if (active && !this.destroyRef.destroyed) {\n this.thumbnailError.set(\n this.t.gettext('The thumbnail could not be loaded.'),\n );\n }\n });\n });\n\n // Media preview handling.\n effect(() => {\n const media = this.mediaAttachment();\n const key = media ? this.draft()[media.key] : null;\n\n const slug = this.draft().slug;\n const editing = this.editing();\n\n const viewing = !!this.currentPost() && this.mode() !== 'add';\n\n const stagedPreview = this.uploadedMediaPreview();\n\n if ((!editing && !viewing) || !media || !key) {\n this.mediaPreviewSignature = '';\n this.mediaPreviewRequest += 1;\n this.mediaPreviewUrl.set('');\n this.mediaPreviewLoading.set(false);\n this.mediaPreviewError.set('');\n return;\n }\n\n if (stagedPreview?.key === key) {\n const signature = `upload:${key}:${stagedPreview.url}`;\n\n if (signature === this.mediaPreviewSignature) {\n return;\n }\n\n this.mediaPreviewSignature = signature;\n this.mediaPreviewRequest += 1;\n\n this.mediaPreviewUrl.set(stagedPreview.url);\n\n this.mediaPreviewLoading.set(false);\n this.mediaPreviewError.set('');\n\n return;\n }\n\n if (!slug) {\n this.mediaPreviewSignature = '';\n this.mediaPreviewRequest += 1;\n this.mediaPreviewUrl.set('');\n this.mediaPreviewLoading.set(false);\n this.mediaPreviewError.set('');\n return;\n }\n\n const signature = `${this.mode()}:${media.type}:${slug}:${key}`;\n\n if (signature === this.mediaPreviewSignature) {\n return;\n }\n\n this.mediaPreviewSignature = signature;\n\n const requestId = ++this.mediaPreviewRequest;\n\n this.mediaPreviewUrl.set('');\n this.mediaPreviewLoading.set(true);\n this.mediaPreviewError.set('');\n\n const getLink = editing\n ? this.getMediaLink(slug, media.type)\n : this.getMediaLinkForView(slug, media.type);\n\n void getLink\n .then(url => {\n if (\n requestId === this.mediaPreviewRequest &&\n !this.destroyRef.destroyed\n ) {\n this.mediaPreviewUrl.set(url);\n }\n })\n .catch((error: unknown) => {\n console.error('[taon-cms-post] Unable to load media preview', error);\n\n if (\n requestId === this.mediaPreviewRequest &&\n !this.destroyRef.destroyed\n ) {\n this.mediaPreviewError.set(\n this.t.gettext(\n 'Media preview could not be loaded. Please reopen the editor to try again.',\n ),\n );\n }\n })\n .finally(() => {\n if (\n requestId === this.mediaPreviewRequest &&\n !this.destroyRef.destroyed\n ) {\n this.mediaPreviewLoading.set(false);\n }\n });\n });\n\n // Destroy ngx-editor ONLY when this component is actually destroyed.\n this.destroyRef.onDestroy(() => {\n editorChanges.unsubscribe();\n editor.destroy();\n\n if (this.contentEditor() === editor) {\n this.contentEditor.set(null);\n }\n\n this.releaseThumbnailPreview();\n });\n }\n //#endregion\n\n //#region methods / load related posts\n loadTaxonomy(): void {\n this.taxonomyLoad?.unsubscribe();\n const session = this.editorSession;\n const postId = this.currentPost()?.id;\n this.taxonomyLoading.set(true);\n this.taxonomyError.set('');\n this.taxonomyLoad = forkJoin({\n categories: this.categoryApi.allMyEntities$,\n tags: this.tagApi.allMyEntities$,\n tagIds: postId ? this.api.listTagIds(postId) : of([] as number[]),\n })\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n finalize(() => this.taxonomyLoading.set(false)),\n )\n .subscribe({\n next: result => {\n if (session === this.editorSession) {\n this.categories.set(\n result.categories.sort(\n (a, b) =>\n a.sortOrder - b.sortOrder || a.name.localeCompare(b.name),\n ),\n );\n this.tags.set(result.tags);\n this.updateDraft('tagIds', result.tagIds);\n }\n },\n error: (error: unknown) => {\n console.error(\n '[taon-cms-post] Unable to load categories and tags',\n error,\n );\n this.taxonomyError.set(\n this.t.gettext(\n 'Categories and tags could not be loaded. Please try again.',\n ),\n );\n },\n });\n }\n\n addTag(id: number): void {\n if (!this.draft().tagIds.includes(id)) {\n this.updateDraft('tagIds', [...this.draft().tagIds, id]);\n }\n }\n\n removeTag(id: number): void {\n this.updateDraft(\n 'tagIds',\n this.draft().tagIds.filter(selected => selected !== id),\n );\n }\n\n filterTags(event: Event): void {\n if (event.target instanceof HTMLInputElement) {\n this.tagSearch.set(event.target.value);\n }\n }\n\n applyDefaultThumbnail(): void {\n if (!this.editing() || this.busy() || this.dialogOpen()) {\n return;\n }\n this.releaseThumbnailPreview();\n this.stagedThumbnail.set(null);\n this.updateDraft('thumbnailKey', defaultThumbnailKey(this.draft().type));\n }\n\n async thumbnailSelected(event: Event): Promise<void> {\n if (!(event.target instanceof HTMLInputElement)) {\n return;\n }\n const input = event.target;\n const file = input.files?.[0];\n input.value = '';\n if (!file || !this.editing() || this.busy() || this.dialogOpen()) {\n return;\n }\n if (!file.type.startsWith('image/')) {\n this.error.set(\n this.t.gettext('Please select an image for the thumbnail.'),\n );\n return;\n }\n this.busy.set(true);\n this.error.set('');\n try {\n await this.storeThumbnail(file, this.editorSession);\n } catch (error: unknown) {\n console.error('[taon-cms-post] Unable to upload thumbnail', error);\n this.error.set(\n this.t.gettext(\n 'The thumbnail could not be uploaded. Please try again.',\n ),\n );\n } finally {\n this.busy.set(false);\n }\n }\n\n private async storeThumbnail(file: File, session: number): Promise<void> {\n if (session !== this.editorSession || this.destroyRef.destroyed) {\n return;\n }\n const previousPreview = this.thumbnailPreviewUrl();\n const previousStaged = this.stagedThumbnail();\n const preview = URL.createObjectURL(file);\n this.stagedThumbnail.set({ key: this.draft().thumbnailKey, url: preview });\n this.thumbnailPreviewUrl.set(preview);\n try {\n const object = await this.api.uploadMedia(file);\n if (session === this.editorSession && !this.destroyRef.destroyed) {\n this.releaseThumbnailPreview();\n this.thumbnailObjectUrl = preview;\n this.stagedThumbnail.set({ key: object.key, url: preview });\n this.updateDraft('thumbnailKey', object.key);\n }\n } catch (error: unknown) {\n if (session === this.editorSession) {\n this.stagedThumbnail.set(previousStaged);\n this.thumbnailPreviewUrl.set(previousPreview);\n }\n throw error;\n } finally {\n if (this.thumbnailObjectUrl !== preview) {\n URL.revokeObjectURL(preview);\n }\n }\n }\n\n private releaseThumbnailPreview(): void {\n if (this.thumbnailObjectUrl) {\n URL.revokeObjectURL(this.thumbnailObjectUrl);\n this.thumbnailObjectUrl = '';\n }\n }\n\n loadRelatedPosts(): void {\n if (this.busy() || this.relatedPostsLoading()) {\n return;\n }\n const post = this.requirePost();\n if (!post) {\n return;\n }\n this.relatedPostsLoading.set(true);\n this.relatedPostsError.set('');\n this.relatedPostsLoad = this.api\n .listRelatedPosts(post.id)\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n finalize(() => this.relatedPostsLoading.set(false)),\n )\n .subscribe({\n next: posts => this.relatedPosts.set(posts),\n error: (error: unknown) => {\n console.error('[taon-cms-post] Unable to load related posts', error);\n this.relatedPostsError.set(\n this.t.gettext(\n 'Related posts could not be loaded. Please try again.',\n ),\n );\n },\n });\n }\n //#endregion\n\n //#region methods / add related post\n addRelatedPost(): void {\n if (\n !this.editing() ||\n this.busy() ||\n this.dialogOpen() ||\n this.relatedPostsLoading() ||\n this.relatedPostsError()\n ) {\n return;\n }\n this.dialogOpen.set(true);\n const ref = this.dialog.open<\n TaonRelatedPostChooserComponent,\n TaonRelatedPostChooserData,\n TaonCmsContentEntity\n >(TaonRelatedPostChooserComponent, {\n data: {\n postId: this.currentPost()?.id,\n excludedIds: this.relatedPosts().map(post => post.id),\n },\n width: '560px',\n maxWidth: '95vw',\n disableClose: true,\n });\n ref\n .afterClosed()\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(post => {\n this.dialogOpen.set(false);\n if (\n post &&\n post.id !== this.currentPost()?.id &&\n !this.relatedPosts().some(related => related.id === post.id)\n ) {\n this.relatedPosts.update(posts => [...posts, post]);\n }\n });\n }\n //#endregion\n\n //#region methods / remove related post\n removeRelatedPost(id: number): void {\n if (\n !this.editing() ||\n this.busy() ||\n this.dialogOpen() ||\n this.relatedPostsLoading() ||\n this.relatedPostsError()\n ) {\n return;\n }\n this.relatedPosts.update(posts => posts.filter(post => post.id !== id));\n }\n //#endregion\n\n //#region methods / application hooks\n loadApplicationHooks(): void {\n if (this.applicationHooksLoading()) {\n return;\n }\n this.applicationHooksLoading.set(true);\n this.applicationHooksError.set('');\n this.applicationHooksLoad = this.api\n .listApplicationHooks()\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n finalize(() => this.applicationHooksLoading.set(false)),\n )\n .subscribe({\n next: hooks => {\n this.applicationHooks.set(hooks);\n this.setApplicationHookSelection(this.currentPost(), hooks);\n },\n error: (error: unknown) => {\n console.error(\n '[taon-cms-post] Unable to load application hooks',\n error,\n );\n this.applicationHooksError.set(\n this.t.gettext(\n 'Application hooks could not be loaded. Please try again.',\n ),\n );\n },\n });\n }\n\n setUseAsApplicationHook(enabled: boolean): void {\n this.useAsApplicationHook.set(enabled);\n }\n\n applicationHookInUseByAnotherPost(\n applicationHook: TaonCmsApplicationHookEntity,\n ): boolean {\n return (\n applicationHook.contentId !== null &&\n applicationHook.contentId !== this.currentPost()?.id\n );\n }\n\n applicationHookLabel(hook: TaonCmsApplicationHook): string {\n return hook.split('-').join('_').toUpperCase();\n }\n //#endregion\n\n //#region methods / load permissions\n loadPermissions(): void {\n if (this.permissionsLoading()) {\n return;\n }\n const post = this.requirePost();\n if (!post) {\n return;\n }\n this.permissionsLoading.set(true);\n this.permissionsError.set('');\n this.permissionsLoad = this.api\n .getPermissionConfiguration(post.id)\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n finalize(() => this.permissionsLoading.set(false)),\n )\n .subscribe({\n next: configuration => {\n this.permissions.set(configuration.permissions);\n this.permissionSource.set(configuration.source);\n },\n error: (error: unknown) => {\n console.error('[taon-cms-post] Unable to load permissions', error);\n this.permissionsError.set(\n this.t.gettext(\n 'Permissions could not be loaded. Please try again.',\n ),\n );\n },\n });\n }\n //#endregion\n\n //#region methods / add permission\n addPermission(): void {\n if (\n !this.editing() ||\n this.busy() ||\n this.dialogOpen() ||\n this.permissionSource() ||\n this.permissionsLoading() ||\n this.permissionsError()\n ) {\n return;\n }\n const permissionId = this.selectedPermissionId();\n const permission = this.availablePermissions().find(\n item => item.id === permissionId,\n );\n if (permission) {\n this.permissions.update(permissions => [...permissions, permission]);\n this.selectedPermissionId.set(null);\n }\n }\n //#endregion\n\n //#region methods / remove permission\n removePermission(id: number): void {\n if (\n !this.editing() ||\n this.busy() ||\n this.dialogOpen() ||\n this.permissionSource() ||\n this.permissionsLoading() ||\n this.permissionsError()\n ) {\n return;\n }\n this.permissions.update(items =>\n items.filter(permission => permission.id !== id),\n );\n }\n //#endregion\n\n //#region methods / load permission options\n loadPermissionOptions(): void {\n if (\n this.permissionOptionsLoading() ||\n this.permissionOptions().length > 0\n ) {\n return;\n }\n this.permissionOptionsLoading.set(true);\n this.permissionOptionsError.set('');\n this.permissionApi.allMyEntities$\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n finalize(() => this.permissionOptionsLoading.set(false)),\n )\n .subscribe({\n next: permissions => this.permissionOptions.set(permissions),\n error: (error: unknown) => {\n console.error(\n '[taon-cms-post] Unable to load permission options',\n error,\n );\n this.permissionOptionsError.set(\n this.t.gettext(\n 'Available permissions could not be loaded. Please try again.',\n ),\n );\n },\n });\n }\n //#endregion\n\n //#region methods / update draft\n updateRawContent(event: Event): void {\n if (event.target instanceof HTMLTextAreaElement) {\n this.updateDraft('body', event.target.value);\n }\n }\n\n insertVariable(variable: TaonCmsTemplateVariable): void {\n if (!this.editing() || this.busy() || this.dialogOpen()) {\n return;\n }\n const text = `{{${variable}}}`;\n if (this.contentTab() === 1) {\n const textarea = this.rawContent()?.nativeElement;\n if (textarea) {\n textarea.setRangeText(\n text,\n textarea.selectionStart,\n textarea.selectionEnd,\n 'end',\n );\n this.updateDraft('body', textarea.value);\n textarea.focus();\n }\n } else if (this.contentTab() === 0) {\n const editor = this.contentEditor();\n editor?.commands.insertText(text).exec();\n editor?.view.focus();\n }\n }\n\n updateDraft<K extends keyof TaonCmsPostDraft>(\n field: K,\n value: TaonCmsPostDraft[K],\n ): void {\n this.draft.update(draft => ({ ...draft, [field]: value }));\n }\n //#endregion\n\n //#region methods / file selected\n async fileSelected(event: Event): Promise<void> {\n if (!(event.target instanceof HTMLInputElement)) {\n this.error.set(this.t.gettext('Unable to read the selected media file.'));\n return;\n }\n const input = event.target;\n const file = input.files?.[0];\n if (!file) {\n return;\n }\n const media = this.mediaAttachment();\n if (!media || !this.editing() || this.busy() || this.dialogOpen()) {\n input.value = '';\n return;\n }\n const session = this.editorSession;\n this.busy.set(true);\n this.uploading.set(true);\n this.uploadProgress.set(0);\n this.error.set('');\n try {\n const object = await this.api.uploadMedia(file, percentage => {\n if (!this.destroyRef.destroyed) {\n this.uploadProgress.set(percentage);\n }\n });\n if (!this.destroyRef.destroyed && this.editorSession === session) {\n const fileName = object.fileName || file.name;\n this.mediaFileNames.update(names => ({\n ...names,\n [object.key]: fileName,\n }));\n if (object.downloadUrl) {\n this.uploadedMediaPreview.set({\n key: object.key,\n url: this.uploadedMediaUrl(object.downloadUrl, media.type),\n fileName,\n });\n }\n this.updateDraft(media.key, object.key);\n if (media.type === TaonCmsContentType.Video) {\n try {\n const blob = await generateVideoThumbnail(file);\n const extension = blob.type === 'image/webp' ? 'webp' : 'png';\n await this.storeThumbnail(\n new File([blob], `thumbnail.${extension}`, { type: blob.type }),\n session,\n );\n } catch (error: unknown) {\n console.error(\n '[taon-cms-post] Unable to generate thumbnail',\n error,\n );\n this.error.set(\n this.t.gettext(\n 'The video was uploaded, but its thumbnail could not be generated. Upload a thumbnail or apply a default placeholder.',\n ),\n );\n }\n }\n }\n } catch (error: unknown) {\n console.error('[taon-cms-post] Unable to upload media', error);\n this.error.set(\n this.t.gettext('The media could not be uploaded. Please try again.'),\n );\n } finally {\n this.busy.set(false);\n this.uploading.set(false);\n this.uploadProgress.set(0);\n input.value = '';\n }\n }\n //#endregion\n\n //#region methods / remove media\n removeMedia(): void {\n const media = this.mediaAttachment();\n if (!media || !this.editing() || this.busy() || this.dialogOpen()) {\n return;\n }\n this.uploadedMediaPreview.set(null);\n this.updateDraft(media.key, null);\n }\n //#endregion\n\n //#region methods / uploaded media URL\n private uploadedMediaUrl(url: string, type: TaonCmsContentType): string {\n if (type !== TaonCmsContentType.Attachment) {\n return url;\n }\n const parsedUrl = new URL(url);\n parsedUrl.searchParams.set('download', 'true');\n return parsedUrl.href;\n }\n //#endregion\n\n //#region methods / get media link\n private getMediaLink(\n slug: string,\n type: TaonCmsContentType,\n ): Promise<string> {\n switch (type) {\n case TaonCmsContentType.Video:\n return firstValueFrom(this.api.getVideoLinkBySlug(slug));\n case TaonCmsContentType.Audio:\n return firstValueFrom(this.api.getAudioLinkBySlug(slug));\n case TaonCmsContentType.Attachment:\n return this.api.getAttachmentLinkBySlug(slug);\n default:\n return Promise.reject(new Error('This post type has no media.'));\n }\n }\n //#endregion\n\n //#region methods / get media link for viewing\n private async getMediaLinkForView(\n slug: string,\n type: TaonCmsContentType,\n ): Promise<string> {\n try {\n switch (type) {\n case TaonCmsContentType.Video:\n return await this.api.getPublicVideoLinkBySlug(slug);\n case TaonCmsContentType.Audio:\n return await this.api.getPublicAudioLinkBySlug(slug);\n case TaonCmsContentType.Attachment:\n return await this.api.getPublicAttachmentLinkBySlug(slug);\n default:\n throw new Error('This post type has no media.');\n }\n } catch {\n return this.getMediaLink(slug, type);\n }\n }\n //#endregion\n\n //#region methods / media file name\n mediaFileName(key: string): string {\n const fileName = this.mediaFileNames()[key];\n if (fileName) {\n return fileName;\n }\n const uploaded = this.uploadedMediaPreview();\n if (uploaded?.key === key) {\n return uploaded.fileName;\n }\n const storedName = key.split('/').pop() || key;\n return storedName.replace(/^[0-9a-f-]{36}__/i, '');\n }\n //#endregion\n\n //#region methods / update slug\n updateSlug(event: Event): void {\n if (event.target instanceof HTMLInputElement) {\n this.updateDraft('slug', event.target.value);\n }\n }\n //#endregion\n\n //#region methods / edit\n edit(): void {\n if (this.mode() !== 'view' || this.busy() || this.dialogOpen()) {\n return;\n }\n if (!this.requirePost()) {\n return;\n }\n this.error.set('');\n this.mode.set('edit');\n }\n //#endregion\n\n //#region methods / cancel\n cancel(): void {\n if (this.busy() || this.dialogOpen()) {\n return;\n }\n this.setPost(this.currentPost());\n this.error.set('');\n if (this.editing()) {\n this.mode.set('view');\n }\n this.cancelled.emit();\n }\n //#endregion\n\n //#region methods / save\n save(): void {\n if (this.busy() || this.dialogOpen() || !this.editing()) {\n return;\n }\n if (!this.canSave()) {\n this.error.set(this.t.gettext('A title and slug are required.'));\n return;\n }\n if (this.mode() === 'add') {\n this.persist(\n this.api.createContent({\n ...this.draft(),\n relatedPostIds: this.relatedPosts().map(post => post.id),\n permissionIds: this.permissions().map(permission => permission.id),\n applyPermissionsToRelatedPosts: this.applyPermissionsToRelatedPosts(),\n applicationHook: this.useAsApplicationHook()\n ? this.selectedApplicationHook()\n : null,\n }),\n );\n } else {\n const post = this.requirePost();\n if (post) {\n this.persist(this.api.updateContent(post.id, this.updateInput(post)));\n }\n }\n }\n //#endregion\n\n //#region methods / publish\n publish(): void {\n if (\n this.busy() ||\n this.dialogOpen() ||\n !this.canPublish() ||\n this.mode() === 'view-clean' ||\n this.mode() === 'add'\n ) {\n return;\n }\n if (this.editing() && !this.canSave()) {\n this.error.set(this.t.gettext('A title and slug are required.'));\n return;\n }\n const post = this.requirePost();\n if (post) {\n this.persist(\n this.api.updateContent(post.id, {\n ...(this.editing()\n ? this.updateInput(post)\n : { expectedVersion: post.version }),\n status: 'published',\n publishedAt: new Date(),\n }),\n );\n }\n }\n //#endregion\n\n //#region methods / unpublish\n unpublish(): void {\n const post = this.currentPost();\n if (\n !post ||\n post.status !== 'published' ||\n this.busy() ||\n this.dialogOpen() ||\n this.mode() === 'view-clean' ||\n this.mode() === 'add'\n ) {\n return;\n }\n this.persist(\n this.api.updateContent(post.id, {\n expectedVersion: post.version,\n status: 'draft',\n }),\n );\n }\n //#endregion\n\n //#region methods / revert\n revert(): void {\n const post = this.requirePost();\n if (\n !post ||\n this.busy() ||\n this.dialogOpen() ||\n this.mode() === 'view-clean'\n ) {\n return;\n }\n this.dialogOpen.set(true);\n const ref = this.dialog.open<\n TaonCmsRevisionChooserComponent,\n TaonCmsContentEntity,\n TaonCmsContentEntity\n >(TaonCmsRevisionChooserComponent, {\n data: post,\n width: '560px',\n maxWidth: '95vw',\n disableClose: true,\n });\n ref\n .afterClosed()\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(restored => {\n this.dialogOpen.set(false);\n if (restored) {\n this.acceptPost(restored);\n }\n });\n }\n //#endregion\n\n //#region methods / delete\n delete(): void {\n const post = this.requirePost();\n if (\n !post ||\n this.busy() ||\n this.dialogOpen() ||\n this.mode() === 'view-clean'\n ) {\n return;\n }\n this.dialogOpen.set(true);\n const ref = this.dialog.open(TaonConfirmDialogComponent, {\n data: {\n title: this.t.gettext('Delete post?'),\n message: this.t.gettext(\n 'This archives the post. It can be restored from its revisions.',\n ),\n confirmText: this.t.gettext('Delete'),\n },\n });\n ref\n .afterClosed()\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(confirmed => {\n this.dialogOpen.set(false);\n if (confirmed) {\n this.persist(this.api.deleteContent(post.id, post.version), true);\n }\n });\n }\n //#endregion\n\n //#region methods / duplicate\n duplicate(): void {\n if (this.busy() || this.dialogOpen() || this.mode() === 'view-clean') {\n return;\n }\n const post = this.requirePost();\n if (!post) {\n return;\n }\n this.busy.set(true);\n this.error.set('');\n this.api\n .duplicateContent(post.id)\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n finalize(() => this.busy.set(false)),\n )\n .subscribe({\n next: duplicate => this.duplicated.emit(duplicate),\n error: (error: unknown) => {\n console.error('[taon-cms-post] Unable to duplicate post', error);\n this.error.set(\n this.t.gettext(\n 'The post could not be duplicated. Please try again.',\n ),\n );\n },\n });\n }\n //#endregion\n\n //#region methods / update input\n private updateInput(post: TaonCmsContentEntity): TaonCmsUpdateContent {\n return {\n ...this.draft(),\n relatedPostIds: this.relatedPosts().map(related => related.id),\n ...(this.permissionSource()\n ? {}\n : {\n permissionIds: this.permissions().map(permission => permission.id),\n }),\n applyPermissionsToRelatedPosts: this.applyPermissionsToRelatedPosts(),\n applicationHook: this.useAsApplicationHook()\n ? this.selectedApplicationHook()\n : null,\n expectedVersion: post.version,\n };\n }\n //#endregion\n\n //#region methods / require post\n private requirePost(): TaonCmsContentEntity | null {\n const post = this.currentPost();\n if (!post) {\n this.error.set(this.t.gettext('No post is loaded.'));\n }\n return post;\n }\n //#endregion\n\n //#region methods / set post\n private setPost(post: TaonCmsContentEntity | null): void {\n this.editorSession += 1;\n this.taxonomyLoad?.unsubscribe();\n this.taxonomyLoading.set(false);\n this.taxonomyError.set('');\n this.releaseThumbnailPreview();\n this.stagedThumbnail.set(null);\n this.tagSearch.set('');\n this.relatedPostsLoad?.unsubscribe();\n this.applicationHooksLoad?.unsubscribe();\n this.permissionsLoad?.unsubscribe();\n this.relatedPostsLoading.set(false);\n this.relatedPostsError.set('');\n this.applicationHooksLoading.set(false);\n this.applicationHooksError.set('');\n this.permissionsLoading.set(false);\n this.permissionsError.set('');\n this.uploadedMediaPreview.set(null);\n this.mediaPreviewSignature = '';\n this.mediaPreviewRequest += 1;\n this.currentPost.set(post);\n this.relatedPosts.set(post?.relatedPosts ?? []);\n this.permissions.set(post?.permissions ?? []);\n this.permissionSource.set(null);\n this.applyPermissionsToRelatedPosts.set(\n post?.applyPermissionsToRelatedPosts ?? false,\n );\n this.selectedPermissionId.set(null);\n this.setApplicationHookSelection(post, this.applicationHooks());\n this.draft.set({\n type: post?.type ?? TaonCmsContentType.Normal,\n title: post?.title ?? '',\n slug: post?.slug ?? '',\n excerpt: post?.excerpt ?? '',\n body: post?.body ?? '',\n videoKey: post?.videoKey ?? null,\n audioKey: post?.audioKey ?? null,\n attachmentKey: post?.attachmentKey ?? null,\n thumbnailKey: post?.thumbnailKey ?? null,\n categoryId: post?.categoryId ?? null,\n tagIds: [],\n });\n if (\n post &&\n post.relatedPosts === undefined &&\n this.mode() !== 'view-clean'\n ) {\n this.loadRelatedPosts();\n }\n if (post && this.mode() !== 'view-clean') {\n this.loadPermissions();\n }\n if (this.editing()) {\n this.loadTaxonomy();\n }\n }\n //#endregion\n\n private setApplicationHookSelection(\n post: TaonCmsContentEntity | null,\n hooks: TaonCmsApplicationHookEntity[],\n ): void {\n const assignedHook =\n post?.applicationHook !== undefined\n ? post.applicationHook?.hook\n : hooks.find(applicationHook => applicationHook.contentId === post?.id)\n ?.hook;\n this.useAsApplicationHook.set(!!assignedHook);\n this.selectedApplicationHook.set(assignedHook ?? null);\n }\n\n //#region methods / accept post\n private acceptPost(post: TaonCmsContentEntity): void {\n this.setPost(post);\n this.error.set('');\n this.mode.set('view');\n this.changed.emit(post);\n }\n //#endregion\n\n //#region methods / persist\n private persist(\n request: Observable<TaonCmsContentEntity>,\n deleting = false,\n ): void {\n if (this.busy() || this.dialogOpen() || this.mode() === 'view-clean') {\n return;\n }\n this.busy.set(true);\n this.error.set('');\n request\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n finalize(() => this.busy.set(false)),\n )\n .subscribe({\n next: post => {\n this.acceptPost(post);\n if (deleting) {\n this.deleted.emit(post);\n }\n },\n error: (error: unknown) => {\n console.error('[taon-cms-post] Unable to save post', error);\n this.error.set(\n this.t.gettext(\n 'The post could not be saved. Check the slug and your connection. If another user changed it, close and reopen the post before retrying.',\n ),\n );\n },\n });\n }\n //#endregion\n}\n","@if (mode() !== 'view-clean') {\n <header class=\"post-actions\">\n <span class=\"post-status\">{{\n mode() === 'add' ? t.gettext('New draft') : currentPost()?.status\n }}</span>\n <div class=\"buttons\">\n @if (editing()) {\n <button\n mat-flat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen() || !canSave()\"\n (click)=\"save()\">\n {{ mode() === 'add' ? t.gettext('Add') : t.gettext('Save') }}\n </button>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"cancel()\">\n {{ t.gettext('Cancel') }}\n </button>\n } @else if (currentPost()) {\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"edit()\">\n <mat-icon>edit</mat-icon> {{ t.gettext('Edit') }}\n </button>\n }\n @if (mode() !== 'add' && currentPost()) {\n @if (canPublish()) {\n <button\n mat-flat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen() || (editing() && !canSave())\"\n (click)=\"publish()\">\n {{ t.gettext('Publish') }}\n </button>\n } @else {\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"unpublish()\">\n {{ t.gettext('Unpublish') }}\n </button>\n }\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"revert()\">\n <mat-icon>history</mat-icon> {{ t.gettext('Revert') }}\n </button>\n @if (currentPost()?.status !== 'archived') {\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"delete()\">\n <mat-icon>delete</mat-icon> {{ t.gettext('Delete') }}\n </button>\n }\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"duplicate()\">\n <mat-icon>content_copy</mat-icon> {{ t.gettext('Duplicate') }}\n </button>\n }\n </div>\n @if (busy()) {\n <span role=\"status\">{{\n uploading()\n ? t.gettext('Uploading... ') + uploadProgress() + '%'\n : t.gettext('Saving...')\n }}</span>\n }\n </header>\n @if (error()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ error() }}\n </p>\n }\n}\n\n<article\n class=\"post-article\"\n [attr.aria-busy]=\"busy()\">\n @if (editing()) {\n <mat-radio-group\n class=\"post-type-selector\"\n [attr.aria-label]=\"t.gettext('Post type')\"\n [value]=\"draft().type\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"updateDraft('type', $event.value)\">\n @for (type of postTypes; track type.value) {\n <mat-radio-button [value]=\"type.value\">{{\n type.label\n }}</mat-radio-button>\n }\n </mat-radio-group>\n <div\n class=\"post-title editable\"\n contenteditable=\"true\"\n role=\"textbox\"\n [attr.aria-label]=\"t.gettext('Post title')\"\n aria-required=\"true\"\n [attr.data-placeholder]=\"placeholderTitle()\"\n [attr.contenteditable]=\"!busy() && !dialogOpen()\"\n [taonCmsEditableSingleLine]=\"true\"\n [taonCmsEditable]=\"draft().title\"\n (taonCmsEditableChange)=\"updateDraft('title', $event)\"></div>\n <div\n class=\"post-excerpt editable\"\n contenteditable=\"true\"\n role=\"textbox\"\n [attr.aria-label]=\"t.gettext('Post excerpt')\"\n aria-multiline=\"true\"\n [attr.data-placeholder]=\"placeholderShortIntro()\"\n [attr.contenteditable]=\"!busy() && !dialogOpen()\"\n [taonCmsEditable]=\"draft().excerpt\"\n (taonCmsEditableChange)=\"updateDraft('excerpt', $event)\"></div>\n <section class=\"post-content-editor\">\n <mat-tab-group\n [selectedIndex]=\"contentTab()\"\n (selectedIndexChange)=\"contentTab.set($event)\"\n [preserveContent]=\"true\"\n animationDuration=\"0ms\">\n <mat-tab [label]=\"t.gettext('Editor')\">\n @if (contentEditor(); as editor) {\n <ngx-editor-menu\n [editor]=\"editor\"\n [toolbar]=\"contentToolbar\"\n [disabled]=\"busy() || dialogOpen()\" />\n <ngx-editor\n [editor]=\"editor\"\n [placeholder]=\"placeholderTellYourStory()\" />\n }\n </mat-tab>\n <mat-tab [label]=\"t.gettext('Raw')\">\n <textarea\n #rawContent\n class=\"raw-content\"\n [attr.aria-label]=\"t.gettext('Post body HTML')\"\n [value]=\"draft().body\"\n [disabled]=\"busy() || dialogOpen()\"\n (input)=\"updateRawContent($event)\"\n spellcheck=\"false\"></textarea>\n </mat-tab>\n <mat-tab [label]=\"t.gettext('Preview')\">\n <div\n class=\"post-body content-preview\"\n [innerHTML]=\"resolvedBody()\"></div>\n </mat-tab>\n </mat-tab-group>\n @if (contentTab() !== 2) {\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen() || !contentEditor()\"\n [matMenuTriggerFor]=\"variableMenu\"\n [matMenuTriggerRestoreFocus]=\"false\">\n {{ t.gettext('Insert variable') }}\n </button>\n }\n <mat-menu #variableMenu=\"matMenu\">\n <button mat-menu-item [matMenuTriggerFor]=\"siteVariableMenu\">\n {{ t.gettext('Site') }}\n </button>\n <button mat-menu-item [matMenuTriggerFor]=\"postVariableMenu\">\n {{ t.gettext('Post') }}\n </button>\n </mat-menu>\n <mat-menu #siteVariableMenu=\"matMenu\">\n <button mat-menu-item (click)=\"insertVariable('frontendUrl')\">\n {{ t.gettext('Frontend URL') }}\n </button>\n <button mat-menu-item (click)=\"insertVariable('site.name')\">\n {{ t.gettext('Site name') }}\n </button>\n <button mat-menu-item (click)=\"insertVariable('currentYear')\">\n {{ t.gettext('Current year') }}\n </button>\n </mat-menu>\n <mat-menu #postVariableMenu=\"matMenu\">\n <button mat-menu-item (click)=\"insertVariable('post.title')\">\n {{ t.gettext('Post title') }}\n </button>\n <button mat-menu-item (click)=\"insertVariable('post.url')\">\n {{ t.gettext('Post URL') }}\n </button>\n <button mat-menu-item (click)=\"insertVariable('post.id')\">\n {{ t.gettext('Post ID') }}\n </button>\n <button mat-menu-item (click)=\"insertVariable('post.thumbnailUrl')\">\n {{ t.gettext('Post Thumbnail URL') }}\n </button>\n </mat-menu>\n </section>\n <label class=\"slug-field\">\n <span>{{ t.gettext('URL slug') }}</span>\n <input\n [attr.aria-label]=\"t.gettext('URL slug')\"\n [value]=\"draft().slug\"\n [disabled]=\"busy() || dialogOpen()\"\n (input)=\"updateSlug($event)\"\n [placeholder]=\"t.gettext('my-post')\" />\n </label>\n @if (mediaAttachment(); as media) {\n <section\n class=\"media-attachment\"\n aria-labelledby=\"media-attachment-heading\">\n <h2 id=\"media-attachment-heading\">{{ media.heading }}</h2>\n @if (uploading()) {\n <mat-progress-bar\n mode=\"determinate\"\n [value]=\"uploadProgress()\"\n [attr.aria-label]=\"t.gettext('Media upload progress')\" />\n }\n @if (draft()[media.key]; as key) {\n @if (mediaPreviewLoading()) {\n <p role=\"status\">{{ t.gettext('Loading media preview...') }}</p>\n }\n @if (mediaPreviewError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ mediaPreviewError() }}\n </p>\n }\n @if (media.type === 'video' && mediaPreviewUrl()) {\n <video\n controls\n preload=\"none\"\n [src]=\"mediaPreviewUrl()\">\n {{ t.gettext('Your browser does not support video playback.') }}\n </video>\n } @else if (media.type === 'audio' && mediaPreviewUrl()) {\n <audio\n controls\n preload=\"none\"\n [src]=\"mediaPreviewUrl()\">\n {{ t.gettext('Your browser does not support audio playback.') }}\n </audio>\n } @else if (media.type === 'attachment' && mediaPreviewUrl()) {\n <p>\n {{\n t.gettext('Attached file: [[ fileName ]]', {\n fileName: mediaFileName(key),\n })\n }}\n <a\n [href]=\"mediaPreviewUrl()\"\n target=\"_blank\"\n rel=\"noopener\"\n >{{ t.gettext('Download or open') }}</a\n >\n </p>\n }\n <input\n #mediaInput\n hidden\n type=\"file\"\n [accept]=\"media.accept\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"fileSelected($event)\" />\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"mediaInput.click()\">\n {{ t.gettext('Replace') }}\n </button>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"removeMedia()\">\n {{ t.gettext('Remove') }}\n </button>\n } @else {\n <input\n #mediaInput\n hidden\n type=\"file\"\n [accept]=\"media.accept\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"fileSelected($event)\" />\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"mediaInput.click()\">\n {{ media.uploadLabel }}\n </button>\n }\n </section>\n }\n <section\n class=\"post-thumbnail\"\n aria-labelledby=\"thumbnail-heading\">\n <h2 id=\"thumbnail-heading\">{{ t.gettext('Thumbnail') }}</h2>\n @if (thumbnailPreviewUrl()) {\n <img\n class=\"thumbnail-preview\"\n [src]=\"thumbnailPreviewUrl()\"\n [alt]=\"t.gettext('Post thumbnail')\" />\n } @else {\n <p>{{ t.gettext('No thumbnail selected.') }}</p>\n }\n @if (thumbnailError()) {\n <p role=\"alert\">{{ thumbnailError() }}</p>\n }\n <input\n #thumbnailInput\n hidden\n type=\"file\"\n accept=\"image/*\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"thumbnailSelected($event)\" />\n <div class=\"buttons\">\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"thumbnailInput.click()\">\n {{ t.gettext('Upload Thumbnail') }}\n </button>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"applyDefaultThumbnail()\">\n {{ t.gettext('Apply Default Placeholder') }}\n </button>\n </div>\n </section>\n <section\n class=\"post-taxonomy\"\n aria-labelledby=\"category-heading\">\n <h2 id=\"category-heading\">{{ t.gettext('Category and Tags') }}</h2>\n @if (taxonomyLoading()) {\n <p role=\"status\">{{ t.gettext('Loading categories and tags...') }}</p>\n }\n @if (taxonomyError()) {\n <p role=\"alert\">{{ taxonomyError() }}</p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy()\"\n (click)=\"loadTaxonomy()\">\n {{ t.gettext('Try again') }}\n </button>\n }\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Category') }}</mat-label>\n <mat-select\n [value]=\"draft().categoryId\"\n [disabled]=\"\n busy() || dialogOpen() || taxonomyLoading() || !!taxonomyError()\n \"\n (selectionChange)=\"updateDraft('categoryId', $event.value)\">\n <mat-option [value]=\"null\">{{ t.gettext('None') }}</mat-option>\n @for (category of categories(); track category.id) {\n <mat-option [value]=\"category.id\">{{ category.name }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <h3>{{ t.gettext('Tags') }}</h3>\n <mat-chip-set [attr.aria-label]=\"t.gettext('Selected tags')\">\n @for (tag of selectedTags(); track tag.id) {\n <mat-chip\n [disabled]=\"busy() || dialogOpen() || taxonomyLoading()\"\n (removed)=\"removeTag(tag.id)\">\n {{ tag.name }}\n <button\n matChipRemove\n type=\"button\"\n [disabled]=\"busy() || dialogOpen() || taxonomyLoading()\"\n [attr.aria-label]=\"\n t.gettext('Remove tag [[ name ]]', { name: tag.name })\n \">\n <mat-icon>cancel</mat-icon>\n </button>\n </mat-chip>\n }\n </mat-chip-set>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Search tags') }}</mat-label>\n <input\n matInput\n [value]=\"tagSearch()\"\n (input)=\"filterTags($event)\"\n [disabled]=\"busy() || dialogOpen() || taxonomyLoading()\" />\n </mat-form-field>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Add tag') }}</mat-label>\n <mat-select\n [value]=\"null\"\n [disabled]=\"\n busy() || dialogOpen() || taxonomyLoading() || !!taxonomyError()\n \"\n (selectionChange)=\"addTag($event.value)\">\n @for (tag of filteredTags(); track tag.id) {\n <mat-option [value]=\"tag.id\">{{ tag.name }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n </section>\n <section\n class=\"related-posts\"\n aria-labelledby=\"related-posts-heading\">\n <h2 id=\"related-posts-heading\">{{ t.gettext('Related posts') }}</h2>\n @if (relatedPostsLoading()) {\n <p role=\"status\">{{ t.gettext('Loading related posts...') }}</p>\n } @else if (relatedPostsError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ relatedPostsError() }}\n </p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"loadRelatedPosts()\">\n {{ t.gettext('Try again') }}\n </button>\n } @else {\n <ul>\n @for (post of relatedPosts(); track post.id) {\n <li>\n <span>#{{ post.id }} - {{ post.title }}</span>\n <button\n mat-icon-button\n type=\"button\"\n [attr.aria-label]=\"\n t.gettext('Remove related post [[ title ]]', {\n title: post.title,\n })\n \"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"removeRelatedPost(post.id)\">\n <mat-icon>close</mat-icon>\n </button>\n </li>\n } @empty {\n <li>{{ t.gettext('No related posts yet.') }}</li>\n }\n </ul>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"addRelatedPost()\">\n <mat-icon>add</mat-icon> {{ t.gettext('Add related post') }}\n </button>\n }\n </section>\n\n @if (!mediaAttachment()) {\n <section\n class=\"application-hook\"\n aria-labelledby=\"application-hook-heading\">\n <h2 id=\"application-hook-heading\">\n {{ t.gettext('Application Hook') }}\n </h2>\n @if (applicationHooksLoading()) {\n <p role=\"status\">{{ t.gettext('Loading application hooks...') }}</p>\n } @else if (applicationHooksError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ applicationHooksError() }}\n </p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"loadApplicationHooks()\">\n {{ t.gettext('Try again') }}\n </button>\n } @else {\n <mat-checkbox\n [checked]=\"useAsApplicationHook()\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"setUseAsApplicationHook($event.checked)\">\n {{ t.gettext('Use as application hook') }}\n </mat-checkbox>\n @if (useAsApplicationHook()) {\n <mat-form-field\n appearance=\"outline\"\n subscriptSizing=\"dynamic\">\n <mat-label>{{ t.gettext('Application Hook') }}</mat-label>\n <mat-select\n [value]=\"selectedApplicationHook()\"\n [disabled]=\"busy() || dialogOpen()\"\n (selectionChange)=\"selectedApplicationHook.set($event.value)\">\n @for (\n applicationHook of applicationHooks();\n track applicationHook.id\n ) {\n <mat-option\n [value]=\"applicationHook.hook\"\n [disabled]=\"\n applicationHookInUseByAnotherPost(applicationHook)\n \">\n {{ applicationHookLabel(applicationHook.hook) }}\n @if (applicationHookInUseByAnotherPost(applicationHook)) {\n {{\n t.gettext('(in use by post # [[ postId ]])', {\n postId: applicationHook.contentId,\n })\n }}\n }\n </mat-option>\n } @empty {\n <mat-option [disabled]=\"true\">{{\n t.gettext('No application hooks configured')\n }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n }\n </section>\n }\n <section\n class=\"post-permissions\"\n aria-labelledby=\"post-permissions-heading\">\n <h2 id=\"post-permissions-heading\">\n {{ t.gettext('Allow Read only with Permissions') }}\n </h2>\n @if (permissionSource(); as source) {\n <p role=\"note\">\n {{\n t.gettext(\n 'Permissions are inherited from # [[ postId ]] - [[ title ]]. Edit the source post to change them.',\n { postId: source.id, title: source.title }\n )\n }}\n </p>\n }\n @if (permissionsLoading()) {\n <p role=\"status\">{{ t.gettext('Loading assigned permissions...') }}</p>\n } @else if (permissionsError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ permissionsError() }}\n </p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"loadPermissions()\">\n {{ t.gettext('Try again') }}\n </button>\n } @else {\n <ul>\n @for (permission of permissions(); track permission.id) {\n <li>\n <span>{{ permission.name }} ({{ permission.code }})</span>\n <button\n mat-icon-button\n type=\"button\"\n [attr.aria-label]=\"\n t.gettext('Remove permission [[ name ]]', {\n name: permission.name,\n })\n \"\n [disabled]=\"busy() || dialogOpen() || !!permissionSource()\"\n (click)=\"removePermission(permission.id)\">\n <mat-icon>close</mat-icon>\n </button>\n </li>\n } @empty {\n <li>{{ t.gettext('No permissions assigned.') }}</li>\n }\n </ul>\n @if (permissionOptionsError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ permissionOptionsError() }}\n </p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen() || permissionOptionsLoading()\"\n (click)=\"loadPermissionOptions()\">\n {{ t.gettext('Try again') }}\n </button>\n } @else {\n <div class=\"permission-assignment\">\n <mat-form-field\n class=\"w-full\"\n appearance=\"outline\"\n subscriptSizing=\"dynamic\">\n <mat-label>{{ t.gettext('Permission') }}</mat-label>\n <mat-select\n [value]=\"selectedPermissionId()\"\n [disabled]=\"\n busy() ||\n dialogOpen() ||\n permissionOptionsLoading() ||\n !!permissionSource()\n \"\n (selectionChange)=\"selectedPermissionId.set($event.value)\">\n @for (\n permission of availablePermissions();\n track permission.id\n ) {\n <mat-option [value]=\"permission.id\"\n >{{ permission.name }} ({{ permission.code }})</mat-option\n >\n } @empty {\n <mat-option [disabled]=\"true\">{{\n t.gettext('No permissions available')\n }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"\n busy() ||\n dialogOpen() ||\n !selectedPermissionId() ||\n !!permissionSource()\n \"\n (click)=\"addPermission()\">\n <mat-icon>add</mat-icon> {{ t.gettext('Assign permission') }}\n </button>\n </div>\n }\n }\n @if (!permissionSource()) {\n <mat-checkbox\n [checked]=\"applyPermissionsToRelatedPosts()\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"applyPermissionsToRelatedPosts.set($event.checked)\">\n {{ t.gettext('Apply permissions to related posts') }}\n </mat-checkbox>\n }\n </section>\n } @else if (currentPost(); as post) {\n @if (thumbnailPreviewUrl()) {\n <img\n class=\"thumbnail-preview\"\n [src]=\"thumbnailPreviewUrl()\"\n [alt]=\"t.gettext('Post thumbnail')\" />\n }\n @if (thumbnailError()) {\n <p role=\"alert\">{{ thumbnailError() }}</p>\n }\n <h1 class=\"post-title\">{{ post.title }}</h1>\n @if (post.excerpt) {\n <p class=\"post-excerpt\">{{ post.excerpt }}</p>\n }\n <div\n class=\"post-body\"\n [innerHTML]=\"resolvedBody()\"></div>\n @if (mediaAttachment(); as media) {\n @if (draft()[media.key]; as key) {\n @if (mediaPreviewLoading()) {\n <p role=\"status\">{{ t.gettext('Loading media...') }}</p>\n } @else if (mediaPreviewError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ mediaPreviewError() }}\n </p>\n } @else if (media.type === 'video' && mediaPreviewUrl()) {\n <video\n controls\n preload=\"none\"\n [src]=\"mediaPreviewUrl()\">\n {{ t.gettext('Your browser does not support video playback.') }}\n </video>\n } @else if (media.type === 'audio' && mediaPreviewUrl()) {\n <audio\n controls\n preload=\"none\"\n [src]=\"mediaPreviewUrl()\">\n {{ t.gettext('Your browser does not support audio playback.') }}\n </audio>\n } @else if (media.type === 'attachment' && mediaPreviewUrl()) {\n <p>\n {{\n t.gettext('Attached file: [[ fileName ]]', {\n fileName: mediaFileName(key),\n })\n }}\n <a\n [href]=\"mediaPreviewUrl()\"\n target=\"_blank\"\n rel=\"noopener\"\n >{{ t.gettext('Download or open') }}</a\n >\n </p>\n }\n }\n }\n } @else {\n <p role=\"status\">{{ t.gettext('No post is loaded.') }}</p>\n }\n</article>\n","//#region imports\nimport { Routes } from '@angular/router';\nimport { adminLazyRoute } from '@taon-dev/ui/browser';\n//#endregion\n\nexport const TaonCmsPostRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-cms-post.component').then(m => m.TaonCmsPostComponent),\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 TaonCmsPostRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonCmsPostRoutes;","import { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { ActivatedRoute, Router, RouterLink } from '@angular/router';\nimport { map } from 'rxjs';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nimport type { TaonCmsContentEntity } from '../../taon-cms-content/taon-cms-content.entity';\nimport { TaonCmsPostComponent } from '../taon-cms-post/taon-cms-post.component';\n\nconst t = Translation.for('src/lib/taon-posts/taon-cms-post-details-page/taon-cms-post-details-page.component.ts', {\"src/lib/taon-posts/taon-cms-post-details-page/taon-cms-post-details-page.component.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-post-details-page.component.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-post-details-page.component.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-post-details-page.component.ts.de-DE.i18n.data')).default}} as any);\n\n@Component({\n selector: 'taon-cms-post-details-page',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AsyncPipe, MatButtonModule, RouterLink, TaonCmsPostComponent],\n template: `\n @if (page$ | async; as page) {\n <a\n mat-button\n routerLink=\"../\"\n >{{ t.gettext('Back to Posts') }}</a\n >\n <taon-cms-post\n [post]=\"page.post\"\n [mode]=\"page.create ? 'add' : 'view'\"\n (changed)=\"onChanged($event, page.create)\"\n (duplicated)=\"openPost($event)\"\n (cancelled)=\"onCancelled(page.create)\" />\n }\n `,\n})\nexport class TaonCmsPostDetailsPageComponent {\n readonly t = t.for(this);\n\n private readonly route = inject(ActivatedRoute);\n\n private readonly router = inject(Router);\n\n readonly page$ = this.route.data.pipe(\n map(data => ({\n create: data['createPost'] === true,\n post: (data['post'] as TaonCmsContentEntity | undefined) ?? null,\n })),\n );\n\n onChanged(post: TaonCmsContentEntity, create: boolean): void {\n if (create) {\n this.openPost(post);\n }\n }\n\n openPost(post: TaonCmsContentEntity): void {\n void this.router.navigate(['../', post.id], { relativeTo: this.route });\n }\n\n onCancelled(create: boolean): void {\n if (create) {\n void this.router.navigate(['../'], { relativeTo: this.route });\n }\n }\n}\n","//#region imports\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewChild,\n signal,\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MtxGridColumn } from '@ng-matero/extensions/grid';\nimport { TaonDatatableComponent } from '@taon-dev/ui/browser';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nimport { TaonCmsContentApiService } from '../../taon-cms-content/taon-cms-content-api.service';\nimport type { TaonCmsContentEntity } from '../../taon-cms-content/taon-cms-content.entity';\nimport { TaonCmsPostTableActions } from './taon-cms-post-table-actions.directive';\n//#endregion\n\nconst t = Translation.for('src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts', {\"src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-post-table-actions.directive.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-post-table-actions.directive.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-post-table-actions.directive.ts.de-DE.i18n.data')).default},\"src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.html\":{\"en-US\":async () => (await import('./i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data')).default},\"src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data')).default},\"src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data')).default}} as any);\n\n@Component({\n selector: 'app-taon-cms-posts-backoffice',\n templateUrl: './taon-cms-posts-backoffice.component.html',\n styleUrls: ['./taon-cms-posts-backoffice.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatButtonModule, TaonDatatableComponent],\n providers: [TaonCmsContentApiService],\n})\nexport class TaonCmsPostsBackofficeComponent extends TaonCmsPostTableActions {\n readonly t = t.for(this);\n\n @ViewChild(TaonDatatableComponent)\n readonly datatable!: TaonDatatableComponent;\n\n readonly posts = signal<TaonCmsContentEntity[]>([]);\n\n readonly loading = signal(false);\n\n public get crud() {\n return this.taonCmsContentApiService.crudController;\n }\n\n readonly columns: MtxGridColumn[] = [\n { header: 'ID', field: 'id', sortable: true },\n { header: this.t.gettext('Title'), field: 'title', sortable: true },\n { header: this.t.gettext('Status'), field: 'status', sortable: true },\n this.actionsColumn,\n ];\n\n reload(): void {\n this.datatable.reload();\n }\n\n ngAfterViewInit(): void {\n this.reload();\n }\n}\n","<h1>{{ t.gettext('CMS posts') }}</h1>\n@if (loading()) {\n <p role=\"status\">{{ t.gettext('Loading posts...') }}</p>\n}\n@if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n}\n<taon-datatable\n [entityCrudController]=\"crud\"\n [columns]=\"columns\"\n [allowedColumns]=\"['id', 'title', 'status']\"\n searchMode=\"advanced\"\n (addingItem)=\"add()\">\n</taon-datatable>\n","//#region imports\nimport { inject } from '@angular/core';\nimport { Routes } from '@angular/router';\nimport { ResolveFn } from '@angular/router';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nimport { TaonCmsContentApiService } from '../../taon-cms-content/taon-cms-content-api.service';\nimport type { TaonCmsContentEntity } from '../../taon-cms-content/taon-cms-content.entity';\n//#endregion\n\nconst t = Translation.for('src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts', {\"src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-post-table-actions.directive.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-post-table-actions.directive.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-post-table-actions.directive.ts.de-DE.i18n.data')).default},\"src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.html\":{\"en-US\":async () => (await import('./i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data')).default},\"src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data')).default},\"src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts\":{\"en-US\":async () => (await import('./i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data')).default,\"de-DE\":async () => (await import('./i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data')).default}} as any);\n\nconst resolvePost: ResolveFn<TaonCmsContentEntity> = async route => {\n const id = Number(route.paramMap.get('id'));\n if (!Number.isSafeInteger(id) || id <= 0) {\n throw new Error(t.gettext('Invalid Post ID'));\n }\n const taonCmsContentApiService = inject(TaonCmsContentApiService);\n const post = await taonCmsContentApiService.getById(id);\n if (!post) {\n throw new Error(t.gettext('Post not found'));\n }\n return post;\n};\n\nexport const TaonCmsPostsBackofficeRoutes: Routes = [\n {\n path: '',\n pathMatch: 'full',\n loadComponent: () =>\n import('./taon-cms-posts-backoffice.component').then(\n m => m.TaonCmsPostsBackofficeComponent,\n ),\n },\n {\n path: 'new',\n data: { hideInNavigation: true, createPost: true },\n loadComponent: () =>\n import('../taon-cms-post-details-page/taon-cms-post-details-page.component').then(\n m => m.TaonCmsPostDetailsPageComponent,\n ),\n },\n {\n path: ':id',\n data: { hideInNavigation: true },\n providers: [TaonCmsContentApiService],\n resolve: { post: resolvePost },\n loadComponent: () =>\n import('../taon-cms-post-details-page/taon-cms-post-details-page.component').then(\n m => m.TaonCmsPostDetailsPageComponent,\n ),\n },\n];\n\n/**\n * By default exporting TaonCmsPostsBackofficeRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonCmsPostsBackofficeRoutes;\n","// @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 './start-cli'; \nexport * from './taon-cms-application-hooks'; \nexport * from './taon-cms.abstract.context'; \nexport * from './taon-cms-application-hook/taon-cms-application-hook.entity'; \nexport * from './taon-cms-assets-backoffice/taon-cms-asset-preview.component'; // @browser\nexport * from './taon-cms-assets-backoffice/taon-cms-assets-backoffice.component'; // @browser\nexport * from './taon-cms-assets-backoffice/taon-cms-assets-backoffice.routes'; // @browser\nexport * from './taon-cms-backoffice/taon-cms-backoffice.component'; // @browser\nexport * from './taon-cms-backoffice/taon-cms-backoffice.models'; \nexport * from './taon-cms-backoffice/taon-cms-backoffice.routes'; // @browser\nexport * from './taon-cms-category/taon-cms-category-api.service'; // @browser\nexport * from './taon-cms-category/taon-cms-category.abstract.context'; \nexport * from './taon-cms-category/taon-cms-category.constants'; \nexport * from './taon-cms-category/taon-cms-category.controller'; \nexport * from './taon-cms-category/taon-cms-category.entity'; \nexport * from './taon-cms-category/taon-cms-category.middleware'; \nexport * from './taon-cms-category/taon-cms-category.models'; \nexport * from './taon-cms-category/taon-cms-category.provider'; \nexport * from './taon-cms-category/taon-cms-category.repository'; \nexport * from './taon-cms-category/taon-cms-category.subscriber'; \nexport * from './taon-cms-category/taon-cms-category.utils'; \nexport * from './taon-cms-category/taon-cms-taxonomy.validation'; \nexport * from './taon-cms-comment/taon-cms-comment-api.service'; // @browser\nexport * from './taon-cms-comment/taon-cms-comment.abstract.context'; \nexport * from './taon-cms-comment/taon-cms-comment.constants'; \nexport * from './taon-cms-comment/taon-cms-comment.controller'; \nexport * from './taon-cms-comment/taon-cms-comment.entity'; \nexport * from './taon-cms-comment/taon-cms-comment.middleware'; \nexport * from './taon-cms-comment/taon-cms-comment.models'; \nexport * from './taon-cms-comment/taon-cms-comment.provider'; \nexport * from './taon-cms-comment/taon-cms-comment.repository'; \nexport * from './taon-cms-comment/taon-cms-comment.subscriber'; \nexport * from './taon-cms-comment/taon-cms-comment.utils'; \nexport * from './taon-cms-content/taon-cms-content-api.service'; // @browser\nexport * from './taon-cms-content/taon-cms-content-storage.controller'; \nexport * from './taon-cms-content/taon-cms-content.abstract.context'; \nexport * from './taon-cms-content/taon-cms-content.config.service'; // @browser\nexport * from './taon-cms-content/taon-cms-content.constants'; \nexport * from './taon-cms-content/taon-cms-content.controller'; \nexport * from './taon-cms-content/taon-cms-content.entity'; \nexport * from './taon-cms-content/taon-cms-content.middleware'; \nexport * from './taon-cms-content/taon-cms-content.models'; \nexport * from './taon-cms-content/taon-cms-content.provider'; \nexport * from './taon-cms-content/taon-cms-content.repository'; \nexport * from './taon-cms-content/taon-cms-content.subscriber'; \nexport * from './taon-cms-content/taon-cms-content.utils'; \nexport * from './taon-cms-content/taon-cms-content.validation'; \nexport * from './taon-cms-content/taon-cms-template-variables'; \nexport * from './taon-cms-content/taon-cms-upload-progress'; \nexport * from './taon-cms-content-asset/taon-cms-content-asset-api.service'; // @browser\nexport * from './taon-cms-content-asset/taon-cms-content-asset.abstract.context'; \nexport * from './taon-cms-content-asset/taon-cms-content-asset.constants'; \nexport * from './taon-cms-content-asset/taon-cms-content-asset.controller'; \nexport * from './taon-cms-content-asset/taon-cms-content-asset.entity'; \nexport * from './taon-cms-content-asset/taon-cms-content-asset.middleware'; \nexport * from './taon-cms-content-asset/taon-cms-content-asset.models'; \nexport * from './taon-cms-content-asset/taon-cms-content-asset.provider'; \nexport * from './taon-cms-content-asset/taon-cms-content-asset.repository'; \nexport * from './taon-cms-content-asset/taon-cms-content-asset.subscriber'; \nexport * from './taon-cms-content-asset/taon-cms-content-asset.utils'; \nexport * from './taon-cms-content-permission/taon-cms-content-permission-api.service'; // @browser\nexport * from './taon-cms-content-permission/taon-cms-content-permission.abstract.context'; \nexport * from './taon-cms-content-permission/taon-cms-content-permission.constants'; \nexport * from './taon-cms-content-permission/taon-cms-content-permission.controller'; \nexport * from './taon-cms-content-permission/taon-cms-content-permission.entity'; \nexport * from './taon-cms-content-permission/taon-cms-content-permission.middleware'; \nexport * from './taon-cms-content-permission/taon-cms-content-permission.models'; \nexport * from './taon-cms-content-permission/taon-cms-content-permission.provider'; \nexport * from './taon-cms-content-permission/taon-cms-content-permission.repository'; \nexport * from './taon-cms-content-permission/taon-cms-content-permission.subscriber'; \nexport * from './taon-cms-content-permission/taon-cms-content-permission.utils'; \nexport * from './taon-cms-content-revision/taon-cms-content-revision-api.service'; // @browser\nexport * from './taon-cms-content-revision/taon-cms-content-revision.abstract.context'; \nexport * from './taon-cms-content-revision/taon-cms-content-revision.constants'; \nexport * from './taon-cms-content-revision/taon-cms-content-revision.controller'; \nexport * from './taon-cms-content-revision/taon-cms-content-revision.entity'; \nexport * from './taon-cms-content-revision/taon-cms-content-revision.middleware'; \nexport * from './taon-cms-content-revision/taon-cms-content-revision.models'; \nexport * from './taon-cms-content-revision/taon-cms-content-revision.provider'; \nexport * from './taon-cms-content-revision/taon-cms-content-revision.repository'; \nexport * from './taon-cms-content-revision/taon-cms-content-revision.subscriber'; \nexport * from './taon-cms-content-revision/taon-cms-content-revision.utils'; \nexport * from './taon-cms-content-tag/taon-cms-content-tag-api.service'; // @browser\nexport * from './taon-cms-content-tag/taon-cms-content-tag.abstract.context'; \nexport * from './taon-cms-content-tag/taon-cms-content-tag.constants'; \nexport * from './taon-cms-content-tag/taon-cms-content-tag.controller'; \nexport * from './taon-cms-content-tag/taon-cms-content-tag.entity'; \nexport * from './taon-cms-content-tag/taon-cms-content-tag.middleware'; \nexport * from './taon-cms-content-tag/taon-cms-content-tag.models'; \nexport * from './taon-cms-content-tag/taon-cms-content-tag.provider'; \nexport * from './taon-cms-content-tag/taon-cms-content-tag.repository'; \nexport * from './taon-cms-content-tag/taon-cms-content-tag.subscriber'; \nexport * from './taon-cms-content-tag/taon-cms-content-tag.utils'; \nexport * from './taon-cms-tag/taon-cms-tag-api.service'; // @browser\nexport * from './taon-cms-tag/taon-cms-tag.abstract.context'; \nexport * from './taon-cms-tag/taon-cms-tag.constants'; \nexport * from './taon-cms-tag/taon-cms-tag.controller'; \nexport * from './taon-cms-tag/taon-cms-tag.entity'; \nexport * from './taon-cms-tag/taon-cms-tag.middleware'; \nexport * from './taon-cms-tag/taon-cms-tag.models'; \nexport * from './taon-cms-tag/taon-cms-tag.provider'; \nexport * from './taon-cms-tag/taon-cms-tag.repository'; \nexport * from './taon-cms-tag/taon-cms-tag.subscriber'; \nexport * from './taon-cms-tag/taon-cms-tag.utils'; \nexport * from './taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component'; // @browser\nexport * from './taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.routes'; // @browser\nexport * from './taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component'; // @browser\nexport * from './taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.models'; \nexport * from './taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.routes'; // @browser\nexport * from './taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component'; // @browser\nexport * from './taon-posts/taon-cms-course-backoffice/taon-cms-course-cover.component'; // @browser\nexport * from './taon-posts/taon-cms-post/taon-cms-editable.directive'; // @browser\nexport * from './taon-posts/taon-cms-post/taon-cms-post.component'; // @browser\nexport * from './taon-posts/taon-cms-post/taon-cms-post.models'; \nexport * from './taon-posts/taon-cms-post/taon-cms-post.routes'; // @browser\nexport * from './taon-posts/taon-cms-post/taon-cms-thumbnail'; \nexport * from './taon-posts/taon-cms-post-details-page/taon-cms-post-details-page.component'; // @browser\nexport * from './taon-posts/taon-cms-posts-backoffice/taon-cms-post-table-actions.directive'; // @browser\nexport * from './taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component'; // @browser\nexport * from './taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.models'; \nexport * from './taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes'; // @browser\nexport * from './taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component'; // @browser\nexport * from './taon-posts/taon-related-post-chooser/taon-related-post-chooser.component'; // @browser","export * from './migrations';\n/* */\nexport * from './index._auto-generated_';\nexport * from './taon-cms-application-hooks';\n/* */ \nexport default {};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["t","map","adminLazyRouteBase","i1","i2","i3","i4","i5","i11","i12"],"mappings":"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"}