@taon-dev/cms 21.0.19 → 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 (2236) 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.pl-PL.i18n.data-VTZbP69l.mjs +51 -0
  115. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.html.pl-PL.i18n.data-VTZbP69l.mjs.map +1 -0
  116. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.ts.de-DE.i18n.data-DLWhi5lI.mjs +21 -0
  117. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.ts.de-DE.i18n.data-DLWhi5lI.mjs.map +1 -0
  118. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.ts.pl-PL.i18n.data-eSpfHb7u.mjs +21 -0
  119. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.ts.pl-PL.i18n.data-eSpfHb7u.mjs.map +1 -0
  120. package/browser/fesm2022/cms-browser.mjs +771 -541
  121. package/browser/fesm2022/cms-browser.mjs.map +1 -1
  122. package/browser/package.json +1 -1
  123. package/browser/types/cms-browser.d.ts +116 -81
  124. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-CQWEOr2a.mjs +31 -0
  125. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-CQWEOr2a.mjs.map +1 -0
  126. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-BIPCNubG.mjs +31 -0
  127. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-BIPCNubG.mjs.map +1 -0
  128. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-D71axXiQ.mjs +21 -0
  129. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-D71axXiQ.mjs.map +1 -0
  130. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-gbqFHxUm.mjs +21 -0
  131. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-gbqFHxUm.mjs.map +1 -0
  132. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-1ZS37w7E.mjs +26 -0
  133. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-1ZS37w7E.mjs.map +1 -0
  134. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-BE968JEH.mjs +26 -0
  135. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-BE968JEH.mjs.map +1 -0
  136. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-StvX-ZT8.mjs +26 -0
  137. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-StvX-ZT8.mjs.map +1 -0
  138. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-Ks9cZliv.mjs +26 -0
  139. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-Ks9cZliv.mjs.map +1 -0
  140. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-4S1imZUX.mjs +35 -0
  141. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-4S1imZUX.mjs.map +1 -0
  142. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-bIYJXCtW.mjs +35 -0
  143. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-bIYJXCtW.mjs.map +1 -0
  144. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-Do9n0Gxn.mjs +36 -0
  145. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-Do9n0Gxn.mjs.map +1 -0
  146. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.controller.ts.de-DE.i18n.data-Bf9B2I5S.mjs +16 -0
  147. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.controller.ts.de-DE.i18n.data-Bf9B2I5S.mjs.map +1 -0
  148. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.controller.ts.en-US.i18n.data-DB_Lnw-B.mjs +16 -0
  149. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.controller.ts.en-US.i18n.data-DB_Lnw-B.mjs.map +1 -0
  150. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.controller.ts.pl-PL.i18n.data-xlEjTzLi.mjs +16 -0
  151. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.controller.ts.pl-PL.i18n.data-xlEjTzLi.mjs.map +1 -0
  152. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-backoffice.component.html.de-DE.i18n.data-CyTxhvtH.mjs +35 -0
  153. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-backoffice.component.html.de-DE.i18n.data-CyTxhvtH.mjs.map +1 -0
  154. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-backoffice.component.html.en-US.i18n.data-BTzDmVWc.mjs +35 -0
  155. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-backoffice.component.html.en-US.i18n.data-BTzDmVWc.mjs.map +1 -0
  156. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-backoffice.component.html.pl-PL.i18n.data-CixvMJ9f.mjs +35 -0
  157. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-backoffice.component.html.pl-PL.i18n.data-CixvMJ9f.mjs.map +1 -0
  158. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-backoffice.component.ts.de-DE.i18n.data-C1hvycSO.mjs +27 -0
  159. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-backoffice.component.ts.de-DE.i18n.data-C1hvycSO.mjs.map +1 -0
  160. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-backoffice.component.ts.en-US.i18n.data-Dno5sgts.mjs +27 -0
  161. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-backoffice.component.ts.en-US.i18n.data-Dno5sgts.mjs.map +1 -0
  162. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-backoffice.component.ts.pl-PL.i18n.data-SvoLR2q0.mjs +27 -0
  163. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-backoffice.component.ts.pl-PL.i18n.data-SvoLR2q0.mjs.map +1 -0
  164. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-contents.component.html.de-DE.i18n.data-D7Gtx44e.mjs +27 -0
  165. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-contents.component.html.de-DE.i18n.data-D7Gtx44e.mjs.map +1 -0
  166. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-contents.component.html.en-US.i18n.data-DomBfXfQ.mjs +27 -0
  167. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-contents.component.html.en-US.i18n.data-DomBfXfQ.mjs.map +1 -0
  168. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-contents.component.html.pl-PL.i18n.data-BmHiUySy.mjs +27 -0
  169. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-contents.component.html.pl-PL.i18n.data-BmHiUySy.mjs.map +1 -0
  170. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-contents.component.ts.de-DE.i18n.data-UiXCopyo.mjs +23 -0
  171. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-contents.component.ts.de-DE.i18n.data-UiXCopyo.mjs.map +1 -0
  172. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-contents.component.ts.en-US.i18n.data-CG51VvG1.mjs +23 -0
  173. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-contents.component.ts.en-US.i18n.data-CG51VvG1.mjs.map +1 -0
  174. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-contents.component.ts.pl-PL.i18n.data-Da06EmCc.mjs +23 -0
  175. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-contents.component.ts.pl-PL.i18n.data-Da06EmCc.mjs.map +1 -0
  176. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-cover.component.ts.de-DE.i18n.data-CFPsdwHm.mjs +15 -0
  177. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-cover.component.ts.de-DE.i18n.data-CFPsdwHm.mjs.map +1 -0
  178. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-cover.component.ts.en-US.i18n.data-CRI9uV_Z.mjs +15 -0
  179. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-cover.component.ts.en-US.i18n.data-CRI9uV_Z.mjs.map +1 -0
  180. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-cover.component.ts.pl-PL.i18n.data-DxvRSDVu.mjs +15 -0
  181. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-course-cover.component.ts.pl-PL.i18n.data-DxvRSDVu.mjs.map +1 -0
  182. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-details-page.component.ts.de-DE.i18n.data-C-rT2qc1.mjs +16 -0
  183. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-details-page.component.ts.de-DE.i18n.data-C-rT2qc1.mjs.map +1 -0
  184. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-Ci0T7QVO.mjs +16 -0
  185. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-Ci0T7QVO.mjs.map +1 -0
  186. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-table-actions.directive.ts.de-DE.i18n.data-P5VXQlmS.mjs +51 -0
  187. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-table-actions.directive.ts.de-DE.i18n.data-P5VXQlmS.mjs.map +1 -0
  188. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-table-actions.directive.ts.en-US.i18n.data-6xHTz4NK.mjs +51 -0
  189. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-table-actions.directive.ts.en-US.i18n.data-6xHTz4NK.mjs.map +1 -0
  190. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data-6Sdc2ekE.mjs +51 -0
  191. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data-6Sdc2ekE.mjs.map +1 -0
  192. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.de-DE.i18n.data-C6VWS4yA.mjs +366 -0
  193. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.de-DE.i18n.data-C6VWS4yA.mjs.map +1 -0
  194. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.en-US.i18n.data-D300qnuI.mjs +365 -0
  195. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.en-US.i18n.data-D300qnuI.mjs.map +1 -0
  196. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.pl-PL.i18n.data-BnqliIDO.mjs +366 -0
  197. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.pl-PL.i18n.data-BnqliIDO.mjs.map +1 -0
  198. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.de-DE.i18n.data-DbP78P1q.mjs +180 -0
  199. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.de-DE.i18n.data-DbP78P1q.mjs.map +1 -0
  200. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.en-US.i18n.data-DMKvUsPt.mjs +176 -0
  201. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.en-US.i18n.data-DMKvUsPt.mjs.map +1 -0
  202. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.pl-PL.i18n.data-Bt1StLjN.mjs +180 -0
  203. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.pl-PL.i18n.data-Bt1StLjN.mjs.map +1 -0
  204. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-CXTopGnK.mjs +21 -0
  205. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-CXTopGnK.mjs.map +1 -0
  206. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-DNGNxZmN.mjs +21 -0
  207. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-DNGNxZmN.mjs.map +1 -0
  208. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-BuX23uvE.mjs +21 -0
  209. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-BuX23uvE.mjs.map +1 -0
  210. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-C6jy6lw4.mjs +21 -0
  211. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-C6jy6lw4.mjs.map +1 -0
  212. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-DFJPgXFt.mjs +21 -0
  213. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-DFJPgXFt.mjs.map +1 -0
  214. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-BQgmzcJd.mjs +21 -0
  215. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-BQgmzcJd.mjs.map +1 -0
  216. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-WF50SpXY.mjs +21 -0
  217. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-WF50SpXY.mjs.map +1 -0
  218. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.html.de-DE.i18n.data-DfxiewM_.mjs +71 -0
  219. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.html.de-DE.i18n.data-DfxiewM_.mjs.map +1 -0
  220. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-D30oRrBr.mjs +71 -0
  221. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-D30oRrBr.mjs.map +1 -0
  222. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-Cb9lK2XY.mjs +26 -0
  223. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-Cb9lK2XY.mjs.map +1 -0
  224. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-DiykH8kr.mjs +26 -0
  225. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-DiykH8kr.mjs.map +1 -0
  226. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.controller.ts.de-DE.i18n.data-DLaHcrcv.mjs +16 -0
  227. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.controller.ts.de-DE.i18n.data-DLaHcrcv.mjs.map +1 -0
  228. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.controller.ts.en-US.i18n.data-8IpjJJb5.mjs +16 -0
  229. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.controller.ts.en-US.i18n.data-8IpjJJb5.mjs.map +1 -0
  230. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.controller.ts.pl-PL.i18n.data-8GlfYssx.mjs +16 -0
  231. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.controller.ts.pl-PL.i18n.data-8GlfYssx.mjs.map +1 -0
  232. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.repository.ts.pl-PL.i18n.data-w2D2evXR.mjs +21 -0
  233. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.repository.ts.pl-PL.i18n.data-w2D2evXR.mjs.map +1 -0
  234. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.html.de-DE.i18n.data-Dv2W9o7g.mjs +51 -0
  235. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.html.de-DE.i18n.data-Dv2W9o7g.mjs.map +1 -0
  236. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.html.pl-PL.i18n.data-BHGjfdPv.mjs +51 -0
  237. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.html.pl-PL.i18n.data-BHGjfdPv.mjs.map +1 -0
  238. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.ts.de-DE.i18n.data-Cs-byi87.mjs +21 -0
  239. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.ts.de-DE.i18n.data-Cs-byi87.mjs.map +1 -0
  240. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.ts.pl-PL.i18n.data-BQ-wAONd.mjs +21 -0
  241. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.ts.pl-PL.i18n.data-BQ-wAONd.mjs.map +1 -0
  242. package/browser-prod/fesm2022/cms-browser-prod.mjs +774 -541
  243. package/browser-prod/fesm2022/cms-browser-prod.mjs.map +1 -1
  244. package/browser-prod/package.json +1 -1
  245. package/browser-prod/types/cms-browser-prod.d.ts +114 -81
  246. package/full-dts/build-info._auto-generated_.d.ts +1 -1
  247. package/full-dts/index._auto-generated_.d.ts +7 -1
  248. package/full-dts/index.d.ts +1 -2
  249. package/full-dts/migrations/1792506757808_applicaitonHooks.d.ts +1 -0
  250. package/full-dts/migrations/index.d.ts +1 -10
  251. package/full-dts/migrations/migrations_index._auto-generated_.d.ts +1 -4
  252. package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.d.ts +7 -2
  253. package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.d.ts +7 -2
  254. package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.d.ts +1 -0
  255. package/full-dts/taon-cms-category/taon-cms-category.controller.d.ts +1 -1
  256. package/full-dts/taon-cms-content/taon-cms-content-api.service.d.ts +3 -0
  257. package/full-dts/taon-cms-content/taon-cms-content.config.service.d.ts +1 -0
  258. package/full-dts/taon-cms-content/taon-cms-content.controller.d.ts +1 -0
  259. package/full-dts/taon-cms-content/taon-cms-content.provider.d.ts +2 -0
  260. package/full-dts/taon-cms-content/taon-cms-content.repository.d.ts +2 -1
  261. package/full-dts/taon-cms-content/taon-cms-template-variables.d.ts +19 -0
  262. package/full-dts/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.de-DE.i18n.data.d.ts +21 -0
  263. package/full-dts/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.en-US.i18n.data.d.ts +21 -0
  264. package/full-dts/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.pl-PL.i18n.data.d.ts +21 -0
  265. package/full-dts/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.de-DE.i18n.data.d.ts +19 -0
  266. package/full-dts/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.en-US.i18n.data.d.ts +19 -0
  267. package/full-dts/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.pl-PL.i18n.data.d.ts +19 -0
  268. package/full-dts/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.translation.d.ts +18 -0
  269. package/full-dts/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.de-DE.i18n.data.d.ts +18 -0
  270. package/full-dts/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.en-US.i18n.data.d.ts +18 -0
  271. package/full-dts/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.pl-PL.i18n.data.d.ts +18 -0
  272. package/full-dts/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.de-DE.i18n.data.d.ts +18 -0
  273. package/full-dts/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.en-US.i18n.data.d.ts +18 -0
  274. package/full-dts/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.pl-PL.i18n.data.d.ts +18 -0
  275. package/full-dts/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.de-DE.i18n.data.d.ts +16 -0
  276. package/full-dts/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.en-US.i18n.data.d.ts +16 -0
  277. package/full-dts/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.pl-PL.i18n.data.d.ts +16 -0
  278. package/full-dts/taon-posts/taon-cms-course-backoffice/index.d.ts +2 -0
  279. package/full-dts/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.d.ts +17 -0
  280. package/full-dts/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.models.d.ts +2 -0
  281. package/full-dts/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.routes.d.ts +3 -0
  282. package/full-dts/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.d.ts +18 -0
  283. package/full-dts/taon-posts/taon-cms-course-backoffice/taon-cms-course-cover.component.d.ts +16 -0
  284. package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.d.ts +10 -0
  285. package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.d.ts +10 -0
  286. package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.d.ts +10 -0
  287. package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.d.ts +1 -0
  288. package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.d.ts +1 -0
  289. package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.d.ts +1 -0
  290. package/full-dts/taon-posts/taon-cms-post/taon-cms-post.component.d.ts +15 -2
  291. 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
  292. 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
  293. 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
  294. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.d.ts +2 -16
  295. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.d.ts +2 -16
  296. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.d.ts +2 -16
  297. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.d.ts +4 -1
  298. package/full-dts/taon-posts/taon-cms-posts-backoffice/taon-cms-post-table-actions.directive.d.ts +24 -0
  299. package/full-dts/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.d.ts +2 -15
  300. package/full-dts/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.d.ts +2 -6
  301. package/full-dts/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.d.ts +2 -6
  302. package/html/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.html +36 -0
  303. package/html/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.html +20 -0
  304. package/html/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-cover.component.html +6 -0
  305. package/html/lib/taon-posts/taon-cms-post/taon-cms-post.component.html +79 -12
  306. package/i18n/app.ts.de-DE.i18n.data.d.ts +0 -5
  307. package/i18n/app.ts.pl-PL.i18n.data.d.ts +0 -5
  308. package/lib/build-info._auto-generated_.d.ts +1 -1
  309. package/lib/build-info._auto-generated_.js +1 -1
  310. package/lib/index._auto-generated_.d.ts +2 -1
  311. package/lib/index._auto-generated_.js +7 -1
  312. package/lib/index._auto-generated_.js.map +1 -1
  313. package/lib/index.d.ts +1 -1
  314. package/lib/index.js +1 -2
  315. package/lib/index.js.map +1 -1
  316. package/lib/migrations/1792506757808_applicaitonHooks.d.ts +1 -0
  317. package/lib/migrations/1792506757808_applicaitonHooks.js +6 -3
  318. package/lib/migrations/1792506757808_applicaitonHooks.js.map +1 -1
  319. package/lib/migrations/index.d.ts +0 -9
  320. package/lib/migrations/index.js +0 -11
  321. package/lib/migrations/index.js.map +1 -1
  322. package/lib/migrations/migrations_index._auto-generated_.d.ts +1 -4
  323. package/lib/migrations/migrations_index._auto-generated_.js +3 -5
  324. package/lib/migrations/migrations_index._auto-generated_.js.map +1 -1
  325. package/lib/package.json +1 -1
  326. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.js +2 -2
  327. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.js.map +1 -1
  328. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.js +2 -2
  329. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.js.map +1 -1
  330. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.js +2 -2
  331. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.js.map +1 -1
  332. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.js +2 -2
  333. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.js.map +1 -1
  334. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.js +3 -3
  335. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.js.map +1 -1
  336. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.js +3 -3
  337. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.js.map +1 -1
  338. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.js +2 -2
  339. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.js.map +1 -1
  340. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.js +2 -2
  341. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -1
  342. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.d.ts +7 -2
  343. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.js +9 -5
  344. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.js.map +1 -1
  345. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.d.ts +7 -2
  346. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.js +7 -3
  347. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.js.map +1 -1
  348. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.d.ts +1 -0
  349. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.js +10 -5
  350. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.js.map +1 -1
  351. package/lib/taon-cms-backoffice/index.d.ts +1 -1
  352. package/lib/taon-cms-backoffice/index.js +2 -2
  353. package/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.js +2 -2
  354. package/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.js +1 -1
  355. package/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.js +2 -2
  356. package/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.js.map +1 -1
  357. package/lib/taon-cms-category/taon-cms-category.controller.d.ts +1 -1
  358. package/lib/taon-cms-category/taon-cms-category.controller.js +12 -12
  359. package/lib/taon-cms-category/taon-cms-category.controller.js.map +1 -1
  360. package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.js +2 -2
  361. package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.js.map +1 -1
  362. package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.js +1 -1
  363. package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.js +2 -2
  364. package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.js.map +1 -1
  365. package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.js +9 -9
  366. package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.js.map +1 -1
  367. package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.js +6 -6
  368. package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.js +9 -9
  369. package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.js.map +1 -1
  370. package/lib/taon-cms-content/taon-cms-content-storage.controller.js +11 -11
  371. package/lib/taon-cms-content/taon-cms-content-storage.controller.js.map +1 -1
  372. package/lib/taon-cms-content/taon-cms-content.controller.d.ts +1 -0
  373. package/lib/taon-cms-content/taon-cms-content.controller.js +75 -63
  374. package/lib/taon-cms-content/taon-cms-content.controller.js.map +1 -1
  375. package/lib/taon-cms-content/taon-cms-content.provider.d.ts +2 -0
  376. package/lib/taon-cms-content/taon-cms-content.provider.js +6 -2
  377. package/lib/taon-cms-content/taon-cms-content.provider.js.map +1 -1
  378. package/lib/taon-cms-content/taon-cms-content.repository.d.ts +2 -1
  379. package/lib/taon-cms-content/taon-cms-content.repository.js +21 -2
  380. package/lib/taon-cms-content/taon-cms-content.repository.js.map +1 -1
  381. package/lib/taon-cms-content/taon-cms-template-variables.d.ts +18 -0
  382. package/lib/taon-cms-content/taon-cms-template-variables.js +31 -0
  383. package/lib/taon-cms-content/taon-cms-template-variables.js.map +1 -0
  384. package/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.js +2 -2
  385. package/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.js +1 -1
  386. package/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.js +2 -2
  387. package/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.js.map +1 -1
  388. package/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.js +1 -1
  389. package/lib/taon-cms-tag/taon-cms-tag.controller.js +15 -15
  390. package/lib/taon-cms-tag/taon-cms-tag.controller.js.map +1 -1
  391. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.de-DE.i18n.data.d.ts +20 -0
  392. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.de-DE.i18n.data.js +35 -0
  393. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
  394. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.en-US.i18n.data.d.ts +20 -0
  395. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.en-US.i18n.data.js +35 -0
  396. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.en-US.i18n.data.js.map +1 -0
  397. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.pl-PL.i18n.data.d.ts +20 -0
  398. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.pl-PL.i18n.data.js +35 -0
  399. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
  400. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.de-DE.i18n.data.d.ts +18 -0
  401. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.de-DE.i18n.data.js +27 -0
  402. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
  403. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.en-US.i18n.data.d.ts +18 -0
  404. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.en-US.i18n.data.js +27 -0
  405. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
  406. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.pl-PL.i18n.data.d.ts +18 -0
  407. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.pl-PL.i18n.data.js +27 -0
  408. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
  409. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.translation.d.ts +17 -0
  410. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.translation.js +5 -0
  411. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.translation.js.map +1 -0
  412. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.de-DE.i18n.data.d.ts +17 -0
  413. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.de-DE.i18n.data.js +27 -0
  414. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.de-DE.i18n.data.js.map +1 -0
  415. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.en-US.i18n.data.d.ts +17 -0
  416. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.en-US.i18n.data.js +27 -0
  417. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.en-US.i18n.data.js.map +1 -0
  418. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.pl-PL.i18n.data.d.ts +17 -0
  419. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.pl-PL.i18n.data.js +27 -0
  420. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.pl-PL.i18n.data.js.map +1 -0
  421. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.de-DE.i18n.data.d.ts +17 -0
  422. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.de-DE.i18n.data.js +23 -0
  423. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.de-DE.i18n.data.js.map +1 -0
  424. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.en-US.i18n.data.d.ts +17 -0
  425. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.en-US.i18n.data.js +23 -0
  426. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.en-US.i18n.data.js.map +1 -0
  427. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.pl-PL.i18n.data.d.ts +17 -0
  428. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.pl-PL.i18n.data.js +23 -0
  429. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.pl-PL.i18n.data.js.map +1 -0
  430. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.de-DE.i18n.data.d.ts +15 -0
  431. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.de-DE.i18n.data.js +15 -0
  432. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.de-DE.i18n.data.js.map +1 -0
  433. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.en-US.i18n.data.d.ts +15 -0
  434. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.en-US.i18n.data.js +15 -0
  435. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.en-US.i18n.data.js.map +1 -0
  436. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.pl-PL.i18n.data.d.ts +15 -0
  437. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.pl-PL.i18n.data.js +15 -0
  438. package/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.pl-PL.i18n.data.js.map +1 -0
  439. package/lib/taon-posts/taon-cms-course-backoffice/index.d.ts +1 -0
  440. package/lib/taon-posts/taon-cms-course-backoffice/index.js +5 -0
  441. package/lib/taon-posts/taon-cms-course-backoffice/index.js.map +1 -0
  442. package/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.models.d.ts +1 -0
  443. package/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.models.js +3 -0
  444. package/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.models.js.map +1 -0
  445. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.d.ts +10 -0
  446. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.js +124 -83
  447. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.js.map +1 -1
  448. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.d.ts +10 -0
  449. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.js +91 -51
  450. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.js.map +1 -1
  451. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.d.ts +10 -0
  452. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.js +128 -87
  453. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.js.map +1 -1
  454. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.d.ts +1 -0
  455. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.js +59 -54
  456. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.js.map +1 -1
  457. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.d.ts +1 -0
  458. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.js +37 -33
  459. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.js.map +1 -1
  460. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.d.ts +1 -0
  461. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.js +64 -59
  462. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.js.map +1 -1
  463. package/lib/taon-posts/taon-cms-post/index.d.ts +1 -1
  464. package/lib/taon-posts/taon-cms-post/index.js +2 -2
  465. package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.i18n.data.js +1 -1
  466. 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
  467. package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.i18n.data.js +1 -1
  468. 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
  469. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.de-DE.i18n.data.d.ts +24 -0
  470. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.de-DE.i18n.data.js +51 -0
  471. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.de-DE.i18n.data.js.map +1 -0
  472. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.en-US.i18n.data.d.ts +24 -0
  473. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.en-US.i18n.data.js +51 -0
  474. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.en-US.i18n.data.js.map +1 -0
  475. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data.d.ts +24 -0
  476. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data.js +51 -0
  477. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data.js.map +1 -0
  478. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.js +2 -2
  479. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.js.map +1 -1
  480. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.js +1 -1
  481. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.js.map +1 -1
  482. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.d.ts +2 -16
  483. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.js +2 -51
  484. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.js.map +1 -1
  485. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.d.ts +2 -16
  486. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.js +2 -51
  487. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.js.map +1 -1
  488. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.d.ts +2 -16
  489. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.js +2 -51
  490. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -1
  491. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.js +2 -2
  492. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.js.map +1 -1
  493. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.js +2 -2
  494. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.js.map +1 -1
  495. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.d.ts +4 -1
  496. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.js.map +1 -1
  497. package/lib/taon-posts/taon-cms-posts-backoffice/index.d.ts +1 -1
  498. package/lib/taon-posts/taon-cms-posts-backoffice/index.js +2 -2
  499. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.js +8 -8
  500. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.js.map +1 -1
  501. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.js +11 -11
  502. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.js.map +1 -1
  503. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.js +3 -3
  504. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.js.map +1 -1
  505. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.js +2 -2
  506. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.js.map +1 -1
  507. package/lib/taon-posts/taon-cms-revision-chooser/index.d.ts +1 -1
  508. package/lib/taon-posts/taon-cms-revision-chooser/index.js +2 -2
  509. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.d.ts +2 -6
  510. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.js +7 -6
  511. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.js.map +1 -1
  512. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.d.ts +2 -6
  513. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.js +8 -7
  514. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.js.map +1 -1
  515. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.js +2 -2
  516. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.js.map +1 -1
  517. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.js +2 -2
  518. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.js.map +1 -1
  519. package/lib/taon-posts/taon-related-post-chooser/index.d.ts +1 -1
  520. package/lib/taon-posts/taon-related-post-chooser/index.js +2 -2
  521. package/lib-esm/lib/build-info._auto-generated_.d.ts +1 -1
  522. package/lib-esm/lib/build-info._auto-generated_.js +1 -1
  523. package/lib-esm/lib/index._auto-generated_.d.ts +2 -1
  524. package/lib-esm/lib/index._auto-generated_.js +7 -1
  525. package/lib-esm/lib/index._auto-generated_.js.map +1 -1
  526. package/lib-esm/lib/index.d.ts +1 -1
  527. package/lib-esm/lib/index.js +1 -2
  528. package/lib-esm/lib/index.js.map +1 -1
  529. package/lib-esm/lib/migrations/1792506757808_applicaitonHooks.d.ts +1 -0
  530. package/lib-esm/lib/migrations/1792506757808_applicaitonHooks.js +6 -3
  531. package/lib-esm/lib/migrations/1792506757808_applicaitonHooks.js.map +1 -1
  532. package/lib-esm/lib/migrations/index.d.ts +0 -9
  533. package/lib-esm/lib/migrations/index.js +0 -10
  534. package/lib-esm/lib/migrations/index.js.map +1 -1
  535. package/lib-esm/lib/migrations/migrations_index._auto-generated_.d.ts +1 -4
  536. package/lib-esm/lib/migrations/migrations_index._auto-generated_.js +1 -4
  537. package/lib-esm/lib/migrations/migrations_index._auto-generated_.js.map +1 -1
  538. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.js +2 -2
  539. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.js.map +1 -1
  540. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.js +2 -2
  541. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.js.map +1 -1
  542. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.js +2 -2
  543. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.js.map +1 -1
  544. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.js +2 -2
  545. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.js.map +1 -1
  546. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.js +3 -3
  547. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.js.map +1 -1
  548. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.js +3 -3
  549. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.js.map +1 -1
  550. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.js +2 -2
  551. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.js.map +1 -1
  552. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.js +2 -2
  553. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -1
  554. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.d.ts +7 -2
  555. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.js +9 -5
  556. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.js.map +1 -1
  557. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.d.ts +7 -2
  558. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.js +7 -3
  559. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.js.map +1 -1
  560. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.d.ts +1 -0
  561. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.js +10 -5
  562. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.js.map +1 -1
  563. package/lib-esm/lib/taon-cms-backoffice/index.d.ts +1 -1
  564. package/lib-esm/lib/taon-cms-backoffice/index.js +1 -1
  565. package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.js +2 -2
  566. package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.js +1 -1
  567. package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.js +2 -2
  568. package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.js.map +1 -1
  569. package/lib-esm/lib/taon-cms-category/taon-cms-category.controller.d.ts +1 -1
  570. package/lib-esm/lib/taon-cms-category/taon-cms-category.controller.js +3 -3
  571. package/lib-esm/lib/taon-cms-category/taon-cms-category.controller.js.map +1 -1
  572. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.js +2 -2
  573. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.js.map +1 -1
  574. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.js +1 -1
  575. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.js +2 -2
  576. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.js.map +1 -1
  577. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.js +9 -9
  578. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.js.map +1 -1
  579. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.js +6 -6
  580. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.js +9 -9
  581. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.js.map +1 -1
  582. package/lib-esm/lib/taon-cms-content/taon-cms-content-storage.controller.js +2 -2
  583. package/lib-esm/lib/taon-cms-content/taon-cms-content-storage.controller.js.map +1 -1
  584. package/lib-esm/lib/taon-cms-content/taon-cms-content.controller.d.ts +1 -0
  585. package/lib-esm/lib/taon-cms-content/taon-cms-content.controller.js +15 -3
  586. package/lib-esm/lib/taon-cms-content/taon-cms-content.controller.js.map +1 -1
  587. package/lib-esm/lib/taon-cms-content/taon-cms-content.provider.d.ts +2 -0
  588. package/lib-esm/lib/taon-cms-content/taon-cms-content.provider.js +6 -2
  589. package/lib-esm/lib/taon-cms-content/taon-cms-content.provider.js.map +1 -1
  590. package/lib-esm/lib/taon-cms-content/taon-cms-content.repository.d.ts +2 -1
  591. package/lib-esm/lib/taon-cms-content/taon-cms-content.repository.js +21 -2
  592. package/lib-esm/lib/taon-cms-content/taon-cms-content.repository.js.map +1 -1
  593. package/lib-esm/lib/taon-cms-content/taon-cms-template-variables.d.ts +18 -0
  594. package/lib-esm/lib/taon-cms-content/taon-cms-template-variables.js +28 -0
  595. package/lib-esm/lib/taon-cms-content/taon-cms-template-variables.js.map +1 -0
  596. package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.js +2 -2
  597. package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.js +1 -1
  598. package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.js +2 -2
  599. package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.js.map +1 -1
  600. package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.js +1 -1
  601. package/lib-esm/lib/taon-cms-tag/taon-cms-tag.controller.js +3 -3
  602. package/lib-esm/lib/taon-cms-tag/taon-cms-tag.controller.js.map +1 -1
  603. 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
  604. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.de-DE.i18n.data.js +33 -0
  605. 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
  606. 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
  607. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.en-US.i18n.data.js +33 -0
  608. 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
  609. 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
  610. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.pl-PL.i18n.data.js +33 -0
  611. 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
  612. 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
  613. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.de-DE.i18n.data.js +25 -0
  614. 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
  615. 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
  616. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.en-US.i18n.data.js +25 -0
  617. 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
  618. 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
  619. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.pl-PL.i18n.data.js +25 -0
  620. 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
  621. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.translation.d.ts +17 -0
  622. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.translation.js +4 -0
  623. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.translation.js.map +1 -0
  624. 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
  625. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.de-DE.i18n.data.js +25 -0
  626. 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
  627. 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
  628. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.en-US.i18n.data.js +25 -0
  629. 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
  630. 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
  631. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.pl-PL.i18n.data.js +25 -0
  632. 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
  633. 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
  634. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.de-DE.i18n.data.js +21 -0
  635. 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
  636. 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
  637. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.en-US.i18n.data.js +21 -0
  638. 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
  639. 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
  640. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.pl-PL.i18n.data.js +21 -0
  641. 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
  642. 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
  643. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.de-DE.i18n.data.js +13 -0
  644. 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
  645. 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
  646. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.en-US.i18n.data.js +13 -0
  647. 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
  648. 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
  649. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.pl-PL.i18n.data.js +13 -0
  650. 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
  651. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/index.d.ts +1 -0
  652. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/index.js +2 -0
  653. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/index.js.map +1 -0
  654. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.models.d.ts +1 -0
  655. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.models.js +2 -0
  656. package/lib-esm/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.models.js.map +1 -0
  657. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.d.ts +10 -0
  658. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.js +124 -83
  659. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.js.map +1 -1
  660. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.d.ts +10 -0
  661. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.js +91 -51
  662. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.js.map +1 -1
  663. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.d.ts +10 -0
  664. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.js +128 -87
  665. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.js.map +1 -1
  666. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.d.ts +1 -0
  667. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.js +59 -54
  668. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.js.map +1 -1
  669. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.d.ts +1 -0
  670. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.js +37 -33
  671. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.js.map +1 -1
  672. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.d.ts +1 -0
  673. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.js +64 -59
  674. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.js.map +1 -1
  675. package/lib-esm/lib/taon-posts/taon-cms-post/index.d.ts +1 -1
  676. package/lib-esm/lib/taon-posts/taon-cms-post/index.js +1 -1
  677. 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
  678. 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
  679. 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
  680. 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
  681. 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
  682. 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
  683. 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
  684. 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
  685. 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
  686. 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
  687. 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
  688. 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
  689. 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
  690. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.js +2 -2
  691. 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
  692. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.js +1 -1
  693. 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
  694. 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
  695. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.js +2 -51
  696. 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
  697. 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
  698. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.js +2 -51
  699. 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
  700. 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
  701. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.js +2 -51
  702. 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
  703. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.js +2 -2
  704. 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
  705. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.js +2 -2
  706. 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
  707. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.d.ts +4 -1
  708. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.js.map +1 -1
  709. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/index.d.ts +1 -1
  710. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/index.js +1 -1
  711. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.js +8 -8
  712. 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
  713. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.js +11 -11
  714. 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
  715. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.js +3 -3
  716. 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
  717. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.js +2 -2
  718. 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
  719. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/index.d.ts +1 -1
  720. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/index.js +1 -1
  721. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.d.ts +2 -6
  722. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.js +7 -6
  723. 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
  724. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.d.ts +2 -6
  725. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.js +8 -7
  726. 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
  727. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.js +2 -2
  728. 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
  729. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.js +2 -2
  730. 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
  731. package/lib-esm/lib/taon-posts/taon-related-post-chooser/index.d.ts +1 -1
  732. package/lib-esm/lib/taon-posts/taon-related-post-chooser/index.js +1 -1
  733. package/lib-prod/build-info._auto-generated_.d.ts +1 -1
  734. package/lib-prod/build-info._auto-generated_.js +1 -1
  735. package/lib-prod/index._auto-generated_.d.ts +2 -1
  736. package/lib-prod/index._auto-generated_.js +7 -1
  737. package/lib-prod/index._auto-generated_.js.map +1 -1
  738. package/lib-prod/index.d.ts +1 -1
  739. package/lib-prod/index.js +1 -2
  740. package/lib-prod/index.js.map +1 -1
  741. package/lib-prod/migrations/1792506757808_applicaitonHooks.d.ts +1 -0
  742. package/lib-prod/migrations/1792506757808_applicaitonHooks.js +6 -3
  743. package/lib-prod/migrations/1792506757808_applicaitonHooks.js.map +1 -1
  744. package/lib-prod/migrations/index.d.ts +0 -9
  745. package/lib-prod/migrations/index.js +0 -10
  746. package/lib-prod/migrations/index.js.map +1 -1
  747. package/lib-prod/migrations/migrations_index._auto-generated_.d.ts +1 -4
  748. package/lib-prod/migrations/migrations_index._auto-generated_.js +1 -4
  749. package/lib-prod/migrations/migrations_index._auto-generated_.js.map +1 -1
  750. package/lib-prod/package.json +1 -1
  751. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.js +2 -2
  752. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.js.map +1 -1
  753. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.js +2 -2
  754. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.js.map +1 -1
  755. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.js +2 -2
  756. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.js.map +1 -1
  757. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.js +2 -2
  758. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.js.map +1 -1
  759. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.js +3 -3
  760. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.js.map +1 -1
  761. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.js +3 -3
  762. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.js.map +1 -1
  763. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.js +2 -2
  764. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.js.map +1 -1
  765. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.js +2 -2
  766. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -1
  767. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.d.ts +7 -2
  768. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.js +9 -5
  769. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.js.map +1 -1
  770. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.d.ts +7 -2
  771. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.js +7 -3
  772. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.js.map +1 -1
  773. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.d.ts +1 -0
  774. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.js +10 -5
  775. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.js.map +1 -1
  776. package/lib-prod/taon-cms-backoffice/index.d.ts +1 -1
  777. package/lib-prod/taon-cms-backoffice/index.js +1 -1
  778. package/lib-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.js +2 -2
  779. package/lib-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.js +1 -1
  780. package/lib-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.js +2 -2
  781. package/lib-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.js.map +1 -1
  782. package/lib-prod/taon-cms-category/taon-cms-category.controller.d.ts +1 -1
  783. package/lib-prod/taon-cms-category/taon-cms-category.controller.js +3 -3
  784. package/lib-prod/taon-cms-category/taon-cms-category.controller.js.map +1 -1
  785. package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.js +2 -2
  786. package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.js.map +1 -1
  787. package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.js +1 -1
  788. package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.js +2 -2
  789. package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.js.map +1 -1
  790. package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.js +9 -9
  791. package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.js.map +1 -1
  792. package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.js +6 -6
  793. package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.js +9 -9
  794. package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.js.map +1 -1
  795. package/lib-prod/taon-cms-content/taon-cms-content-storage.controller.js +2 -2
  796. package/lib-prod/taon-cms-content/taon-cms-content-storage.controller.js.map +1 -1
  797. package/lib-prod/taon-cms-content/taon-cms-content.controller.d.ts +1 -0
  798. package/lib-prod/taon-cms-content/taon-cms-content.controller.js +15 -3
  799. package/lib-prod/taon-cms-content/taon-cms-content.controller.js.map +1 -1
  800. package/lib-prod/taon-cms-content/taon-cms-content.provider.d.ts +2 -0
  801. package/lib-prod/taon-cms-content/taon-cms-content.provider.js +6 -2
  802. package/lib-prod/taon-cms-content/taon-cms-content.provider.js.map +1 -1
  803. package/lib-prod/taon-cms-content/taon-cms-content.repository.d.ts +2 -1
  804. package/lib-prod/taon-cms-content/taon-cms-content.repository.js +21 -2
  805. package/lib-prod/taon-cms-content/taon-cms-content.repository.js.map +1 -1
  806. package/lib-prod/taon-cms-content/taon-cms-template-variables.d.ts +18 -0
  807. package/lib-prod/taon-cms-content/taon-cms-template-variables.js +28 -0
  808. package/lib-prod/taon-cms-content/taon-cms-template-variables.js.map +1 -0
  809. package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.js +2 -2
  810. package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.js +1 -1
  811. package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.js +2 -2
  812. package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.js.map +1 -1
  813. package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.js +1 -1
  814. package/lib-prod/taon-cms-tag/taon-cms-tag.controller.js +3 -3
  815. package/lib-prod/taon-cms-tag/taon-cms-tag.controller.js.map +1 -1
  816. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.de-DE.i18n.data.d.ts +20 -0
  817. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.de-DE.i18n.data.js +33 -0
  818. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
  819. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.en-US.i18n.data.d.ts +20 -0
  820. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.en-US.i18n.data.js +33 -0
  821. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.en-US.i18n.data.js.map +1 -0
  822. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.pl-PL.i18n.data.d.ts +20 -0
  823. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.pl-PL.i18n.data.js +33 -0
  824. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
  825. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.de-DE.i18n.data.d.ts +18 -0
  826. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.de-DE.i18n.data.js +25 -0
  827. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
  828. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.en-US.i18n.data.d.ts +18 -0
  829. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.en-US.i18n.data.js +25 -0
  830. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
  831. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.pl-PL.i18n.data.d.ts +18 -0
  832. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.pl-PL.i18n.data.js +25 -0
  833. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
  834. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.translation.d.ts +17 -0
  835. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.translation.js +4 -0
  836. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.translation.js.map +1 -0
  837. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.de-DE.i18n.data.d.ts +17 -0
  838. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.de-DE.i18n.data.js +25 -0
  839. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.de-DE.i18n.data.js.map +1 -0
  840. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.en-US.i18n.data.d.ts +17 -0
  841. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.en-US.i18n.data.js +25 -0
  842. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.en-US.i18n.data.js.map +1 -0
  843. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.pl-PL.i18n.data.d.ts +17 -0
  844. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.pl-PL.i18n.data.js +25 -0
  845. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.pl-PL.i18n.data.js.map +1 -0
  846. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.de-DE.i18n.data.d.ts +17 -0
  847. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.de-DE.i18n.data.js +21 -0
  848. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.de-DE.i18n.data.js.map +1 -0
  849. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.en-US.i18n.data.d.ts +17 -0
  850. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.en-US.i18n.data.js +21 -0
  851. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.en-US.i18n.data.js.map +1 -0
  852. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.pl-PL.i18n.data.d.ts +17 -0
  853. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.pl-PL.i18n.data.js +21 -0
  854. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.pl-PL.i18n.data.js.map +1 -0
  855. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.de-DE.i18n.data.d.ts +15 -0
  856. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.de-DE.i18n.data.js +13 -0
  857. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.de-DE.i18n.data.js.map +1 -0
  858. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.en-US.i18n.data.d.ts +15 -0
  859. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.en-US.i18n.data.js +13 -0
  860. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.en-US.i18n.data.js.map +1 -0
  861. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.pl-PL.i18n.data.d.ts +15 -0
  862. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.pl-PL.i18n.data.js +13 -0
  863. package/lib-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.pl-PL.i18n.data.js.map +1 -0
  864. package/lib-prod/taon-posts/taon-cms-course-backoffice/index.d.ts +1 -0
  865. package/lib-prod/taon-posts/taon-cms-course-backoffice/index.js +2 -0
  866. package/lib-prod/taon-posts/taon-cms-course-backoffice/index.js.map +1 -0
  867. package/lib-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.models.d.ts +0 -0
  868. package/lib-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.models.js +3 -0
  869. package/lib-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.models.js.map +1 -0
  870. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.d.ts +10 -0
  871. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.js +124 -83
  872. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.js.map +1 -1
  873. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.d.ts +10 -0
  874. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.js +91 -51
  875. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.js.map +1 -1
  876. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.d.ts +10 -0
  877. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.js +128 -87
  878. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.js.map +1 -1
  879. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.d.ts +1 -0
  880. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.js +59 -54
  881. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.js.map +1 -1
  882. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.d.ts +1 -0
  883. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.js +37 -33
  884. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.js.map +1 -1
  885. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.d.ts +1 -0
  886. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.js +64 -59
  887. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.js.map +1 -1
  888. package/lib-prod/taon-posts/taon-cms-post/index.d.ts +1 -1
  889. package/lib-prod/taon-posts/taon-cms-post/index.js +1 -1
  890. 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
  891. 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
  892. 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
  893. 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
  894. 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
  895. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.de-DE.i18n.data.js +49 -0
  896. 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
  897. 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
  898. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.en-US.i18n.data.js +49 -0
  899. 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
  900. 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
  901. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data.js +49 -0
  902. 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
  903. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.js +2 -2
  904. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.js.map +1 -1
  905. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.js +1 -1
  906. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.js.map +1 -1
  907. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.d.ts +2 -16
  908. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.js +2 -51
  909. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.js.map +1 -1
  910. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.d.ts +2 -16
  911. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.js +2 -51
  912. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.js.map +1 -1
  913. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.d.ts +2 -16
  914. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.js +2 -51
  915. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -1
  916. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.js +2 -2
  917. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.js.map +1 -1
  918. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.js +2 -2
  919. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.js.map +1 -1
  920. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.d.ts +4 -1
  921. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.js.map +1 -1
  922. package/lib-prod/taon-posts/taon-cms-posts-backoffice/index.d.ts +1 -1
  923. package/lib-prod/taon-posts/taon-cms-posts-backoffice/index.js +1 -1
  924. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.js +8 -8
  925. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.js.map +1 -1
  926. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.js +11 -11
  927. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.js.map +1 -1
  928. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.js +3 -3
  929. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.js.map +1 -1
  930. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.js +2 -2
  931. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.js.map +1 -1
  932. package/lib-prod/taon-posts/taon-cms-revision-chooser/index.d.ts +1 -1
  933. package/lib-prod/taon-posts/taon-cms-revision-chooser/index.js +1 -1
  934. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.d.ts +2 -6
  935. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.js +7 -6
  936. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.js.map +1 -1
  937. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.d.ts +2 -6
  938. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.js +8 -7
  939. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.js.map +1 -1
  940. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.js +2 -2
  941. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.js.map +1 -1
  942. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.js +2 -2
  943. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.js.map +1 -1
  944. package/lib-prod/taon-posts/taon-related-post-chooser/index.d.ts +1 -1
  945. package/lib-prod/taon-posts/taon-related-post-chooser/index.js +1 -1
  946. package/package.json +1 -1
  947. package/scss/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.scss +17 -0
  948. package/scss/lib/taon-posts/taon-cms-post/taon-cms-post.component.scss +26 -1
  949. package/ts-source/browser-code/build-info._auto-generated_.ts +1 -1
  950. package/ts-source/browser-code/index._auto-generated_.ts +7 -1
  951. package/ts-source/browser-code/index.ts +1 -2
  952. package/ts-source/browser-code/migrations/1792506757808_applicaitonHooks.ts +6 -3
  953. package/ts-source/browser-code/migrations/index.ts +0 -10
  954. package/ts-source/browser-code/migrations/migrations_index._auto-generated_.ts +1 -4
  955. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.ts +2 -2
  956. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.po +2 -2
  957. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.ts +2 -2
  958. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.po +2 -2
  959. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.ts +2 -2
  960. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.po +2 -2
  961. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.ts +2 -2
  962. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.po +2 -2
  963. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.ts +3 -3
  964. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.po +3 -3
  965. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.ts +3 -3
  966. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.po +3 -3
  967. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.ts +2 -2
  968. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.po +2 -2
  969. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.ts +2 -2
  970. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.po +2 -2
  971. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.ts +10 -5
  972. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.po +9 -5
  973. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.ts +8 -3
  974. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.po +7 -3
  975. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.ts +11 -5
  976. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.po +9 -5
  977. package/ts-source/browser-code/taon-cms-backoffice/taon-cms-backoffice.routes.ts +19 -9
  978. package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.ts +2 -2
  979. package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.po +2 -2
  980. package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.ts +1 -1
  981. package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.po +1 -1
  982. package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.ts +2 -2
  983. package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.po +2 -2
  984. package/ts-source/browser-code/taon-cms-category/taon-cms-category.controller.ts +4 -4
  985. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.ts +2 -2
  986. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.po +2 -2
  987. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.ts +1 -1
  988. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.po +1 -1
  989. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.ts +2 -2
  990. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.po +2 -2
  991. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.ts +9 -9
  992. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.po +9 -9
  993. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.ts +6 -6
  994. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.po +6 -6
  995. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.ts +9 -9
  996. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.po +9 -9
  997. package/ts-source/browser-code/taon-cms-content/taon-cms-content-api.service.ts +10 -0
  998. package/ts-source/browser-code/taon-cms-content/taon-cms-content-storage.controller.ts +1 -1
  999. package/ts-source/browser-code/taon-cms-content/taon-cms-content.config.service.ts +3 -0
  1000. package/ts-source/browser-code/taon-cms-content/taon-cms-content.controller.ts +7 -2
  1001. package/ts-source/browser-code/taon-cms-content/taon-cms-content.provider.ts +6 -1
  1002. package/ts-source/browser-code/taon-cms-content/taon-cms-content.repository.ts +4 -1
  1003. package/ts-source/browser-code/taon-cms-content/taon-cms-template-variables.ts +48 -0
  1004. package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.ts +2 -2
  1005. package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.po +2 -2
  1006. package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.ts +1 -1
  1007. package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.po +1 -1
  1008. package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.ts +2 -2
  1009. package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.po +2 -2
  1010. package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.ts +1 -1
  1011. package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.po +1 -1
  1012. package/ts-source/browser-code/taon-cms-tag/taon-cms-tag.controller.ts +4 -4
  1013. 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
  1014. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.de-DE.po +29 -0
  1015. 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
  1016. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.en-US.po +29 -0
  1017. 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
  1018. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.pl-PL.po +29 -0
  1019. 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
  1020. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.de-DE.po +21 -0
  1021. 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
  1022. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.en-US.po +21 -0
  1023. 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
  1024. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.pl-PL.po +21 -0
  1025. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.translation.ts +30 -0
  1026. 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
  1027. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.de-DE.po +18 -0
  1028. 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
  1029. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.en-US.po +18 -0
  1030. 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
  1031. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.pl-PL.po +18 -0
  1032. 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
  1033. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.de-DE.po +17 -0
  1034. 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
  1035. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.en-US.po +17 -0
  1036. 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
  1037. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.pl-PL.po +17 -0
  1038. 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
  1039. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.de-DE.po +9 -0
  1040. 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
  1041. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.en-US.po +9 -0
  1042. 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
  1043. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.pl-PL.po +9 -0
  1044. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/index.ts +13 -0
  1045. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.html +49 -0
  1046. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.scss +28 -0
  1047. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.ts +91 -0
  1048. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.models.ts +13 -0
  1049. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.routes.ts +20 -0
  1050. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.html +33 -0
  1051. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.ts +67 -0
  1052. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/taon-cms-course-cover.component.html +19 -0
  1053. package/ts-source/browser-code/taon-posts/taon-cms-course-backoffice/taon-cms-course-cover.component.ts +85 -0
  1054. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.ts +134 -83
  1055. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.po +120 -80
  1056. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.ts +101 -51
  1057. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.po +91 -51
  1058. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.ts +138 -87
  1059. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.po +125 -85
  1060. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.ts +60 -54
  1061. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.po +58 -54
  1062. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.ts +38 -33
  1063. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.po +37 -33
  1064. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.ts +65 -59
  1065. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.po +63 -59
  1066. package/ts-source/browser-code/taon-posts/taon-cms-post/taon-cms-post.component.html +79 -12
  1067. package/ts-source/browser-code/taon-posts/taon-cms-post/taon-cms-post.component.scss +26 -1
  1068. package/ts-source/browser-code/taon-posts/taon-cms-post/taon-cms-post.component.ts +109 -10
  1069. 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
  1070. 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
  1071. 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
  1072. 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
  1073. 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
  1074. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.de-DE.po +45 -0
  1075. 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
  1076. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.en-US.po +45 -0
  1077. 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
  1078. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.pl-PL.po +45 -0
  1079. 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
  1080. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.po +2 -2
  1081. 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
  1082. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.po +1 -1
  1083. 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
  1084. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.po +2 -42
  1085. 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
  1086. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.po +2 -42
  1087. 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
  1088. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.po +2 -42
  1089. 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
  1090. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.po +2 -2
  1091. 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
  1092. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.po +2 -2
  1093. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.ts +4 -1
  1094. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/taon-cms-post-table-actions.directive.ts +129 -0
  1095. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts +6 -107
  1096. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts +1 -1
  1097. 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
  1098. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.po +8 -8
  1099. 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
  1100. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.po +10 -10
  1101. 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
  1102. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.po +3 -3
  1103. 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
  1104. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.po +2 -2
  1105. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.ts +7 -6
  1106. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.po +5 -5
  1107. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.ts +8 -7
  1108. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.po +6 -6
  1109. 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
  1110. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.po +2 -2
  1111. 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
  1112. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.po +2 -2
  1113. package/ts-source/browser-code-prod/build-info._auto-generated_.ts +1 -1
  1114. package/ts-source/browser-code-prod/index._auto-generated_.ts +7 -1
  1115. package/ts-source/browser-code-prod/index.ts +1 -2
  1116. package/ts-source/browser-code-prod/migrations/1792506757808_applicaitonHooks.ts +6 -3
  1117. package/ts-source/browser-code-prod/migrations/index.ts +0 -10
  1118. package/ts-source/browser-code-prod/migrations/migrations_index._auto-generated_.ts +1 -4
  1119. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.ts +2 -2
  1120. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.po +2 -2
  1121. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.ts +2 -2
  1122. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.po +2 -2
  1123. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.ts +2 -2
  1124. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.po +2 -2
  1125. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.ts +2 -2
  1126. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.po +2 -2
  1127. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.ts +3 -3
  1128. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.po +3 -3
  1129. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.ts +3 -3
  1130. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.po +3 -3
  1131. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.ts +2 -2
  1132. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.po +2 -2
  1133. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.ts +2 -2
  1134. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.po +2 -2
  1135. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.ts +10 -5
  1136. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.po +9 -5
  1137. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.ts +8 -3
  1138. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.po +7 -3
  1139. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.ts +11 -5
  1140. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.po +9 -5
  1141. package/ts-source/browser-code-prod/taon-cms-backoffice/taon-cms-backoffice.routes.ts +19 -9
  1142. package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.ts +2 -2
  1143. package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.po +2 -2
  1144. package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.ts +1 -1
  1145. package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.po +1 -1
  1146. package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.ts +2 -2
  1147. package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.po +2 -2
  1148. package/ts-source/browser-code-prod/taon-cms-category/taon-cms-category.controller.ts +4 -4
  1149. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.ts +2 -2
  1150. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.po +2 -2
  1151. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.ts +1 -1
  1152. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.po +1 -1
  1153. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.ts +2 -2
  1154. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.po +2 -2
  1155. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.ts +9 -9
  1156. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.po +9 -9
  1157. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.ts +6 -6
  1158. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.po +6 -6
  1159. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.ts +9 -9
  1160. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.po +9 -9
  1161. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content-api.service.ts +10 -0
  1162. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content-storage.controller.ts +1 -1
  1163. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content.config.service.ts +3 -0
  1164. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content.controller.ts +7 -2
  1165. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content.provider.ts +6 -1
  1166. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content.repository.ts +4 -1
  1167. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-template-variables.ts +48 -0
  1168. package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.ts +2 -2
  1169. package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.po +2 -2
  1170. package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.ts +1 -1
  1171. package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.po +1 -1
  1172. package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.ts +2 -2
  1173. package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.po +2 -2
  1174. package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.ts +1 -1
  1175. package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.po +1 -1
  1176. package/ts-source/browser-code-prod/taon-cms-tag/taon-cms-tag.controller.ts +4 -4
  1177. 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
  1178. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.de-DE.po +29 -0
  1179. 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
  1180. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.en-US.po +29 -0
  1181. 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
  1182. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.pl-PL.po +29 -0
  1183. 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
  1184. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.de-DE.po +21 -0
  1185. 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
  1186. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.en-US.po +21 -0
  1187. 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
  1188. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.pl-PL.po +21 -0
  1189. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.translation.ts +30 -0
  1190. 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
  1191. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.de-DE.po +18 -0
  1192. 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
  1193. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.en-US.po +18 -0
  1194. 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
  1195. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.pl-PL.po +18 -0
  1196. 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
  1197. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.de-DE.po +17 -0
  1198. 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
  1199. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.en-US.po +17 -0
  1200. 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
  1201. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.pl-PL.po +17 -0
  1202. 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
  1203. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.de-DE.po +9 -0
  1204. 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
  1205. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.en-US.po +9 -0
  1206. 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
  1207. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.pl-PL.po +9 -0
  1208. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/index.ts +13 -0
  1209. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.html +49 -0
  1210. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.scss +28 -0
  1211. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.ts +91 -0
  1212. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.models.ts +12 -0
  1213. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.routes.ts +20 -0
  1214. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.html +33 -0
  1215. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.split-namespaces.json +4 -0
  1216. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.ts +67 -0
  1217. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-cover.component.html +19 -0
  1218. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-cover.component.split-namespaces.json +4 -0
  1219. package/ts-source/browser-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-cover.component.ts +85 -0
  1220. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.ts +134 -83
  1221. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.po +120 -80
  1222. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.ts +101 -51
  1223. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.po +91 -51
  1224. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.ts +138 -87
  1225. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.po +125 -85
  1226. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.ts +60 -54
  1227. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.po +58 -54
  1228. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.ts +38 -33
  1229. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.po +37 -33
  1230. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.ts +65 -59
  1231. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.po +63 -59
  1232. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/taon-cms-post.component.html +79 -12
  1233. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/taon-cms-post.component.scss +26 -1
  1234. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/taon-cms-post.component.ts +109 -10
  1235. 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
  1236. 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
  1237. 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
  1238. 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
  1239. 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
  1240. 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
  1241. 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
  1242. 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
  1243. 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
  1244. 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
  1245. 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
  1246. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.po +2 -2
  1247. 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
  1248. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.po +1 -1
  1249. 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
  1250. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.po +2 -42
  1251. 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
  1252. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.po +2 -42
  1253. 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
  1254. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.po +2 -42
  1255. 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
  1256. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.po +2 -2
  1257. 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
  1258. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.po +2 -2
  1259. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.ts +4 -1
  1260. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-post-table-actions.directive.split-namespaces.json +4 -0
  1261. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-post-table-actions.directive.ts +129 -0
  1262. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts +6 -107
  1263. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts +1 -1
  1264. 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
  1265. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.po +8 -8
  1266. 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
  1267. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.po +10 -10
  1268. 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
  1269. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.po +3 -3
  1270. 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
  1271. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.po +2 -2
  1272. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.ts +7 -6
  1273. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.po +5 -5
  1274. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.ts +8 -7
  1275. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.po +6 -6
  1276. 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
  1277. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.po +2 -2
  1278. 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
  1279. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.po +2 -2
  1280. package/ts-source/websql-code/build-info._auto-generated_.ts +1 -1
  1281. package/ts-source/websql-code/index._auto-generated_.ts +7 -1
  1282. package/ts-source/websql-code/index.ts +1 -2
  1283. package/ts-source/websql-code/migrations/1792506757808_applicaitonHooks.ts +6 -3
  1284. package/ts-source/websql-code/migrations/index.ts +0 -10
  1285. package/ts-source/websql-code/migrations/migrations_index._auto-generated_.ts +1 -4
  1286. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.ts +2 -2
  1287. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.po +2 -2
  1288. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.ts +2 -2
  1289. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.po +2 -2
  1290. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.ts +2 -2
  1291. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.po +2 -2
  1292. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.ts +2 -2
  1293. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.po +2 -2
  1294. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.ts +3 -3
  1295. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.po +3 -3
  1296. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.ts +3 -3
  1297. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.po +3 -3
  1298. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.ts +2 -2
  1299. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.po +2 -2
  1300. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.ts +2 -2
  1301. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.po +2 -2
  1302. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.ts +10 -5
  1303. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.po +9 -5
  1304. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.ts +8 -3
  1305. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.po +7 -3
  1306. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.ts +11 -5
  1307. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.po +9 -5
  1308. package/ts-source/websql-code/taon-cms-backoffice/taon-cms-backoffice.routes.ts +19 -9
  1309. package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.ts +2 -2
  1310. package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.po +2 -2
  1311. package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.ts +1 -1
  1312. package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.po +1 -1
  1313. package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.ts +2 -2
  1314. package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.po +2 -2
  1315. package/ts-source/websql-code/taon-cms-category/taon-cms-category.controller.ts +4 -4
  1316. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.ts +2 -2
  1317. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.po +2 -2
  1318. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.ts +1 -1
  1319. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.po +1 -1
  1320. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.ts +2 -2
  1321. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.po +2 -2
  1322. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.ts +9 -9
  1323. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.po +9 -9
  1324. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.ts +6 -6
  1325. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.po +6 -6
  1326. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.ts +9 -9
  1327. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.po +9 -9
  1328. package/ts-source/websql-code/taon-cms-content/taon-cms-content-api.service.ts +10 -0
  1329. package/ts-source/websql-code/taon-cms-content/taon-cms-content-storage.controller.ts +1 -1
  1330. package/ts-source/websql-code/taon-cms-content/taon-cms-content.config.service.ts +3 -0
  1331. package/ts-source/websql-code/taon-cms-content/taon-cms-content.controller.ts +7 -2
  1332. package/ts-source/websql-code/taon-cms-content/taon-cms-content.provider.ts +6 -1
  1333. package/ts-source/websql-code/taon-cms-content/taon-cms-content.repository.ts +19 -2
  1334. package/ts-source/websql-code/taon-cms-content/taon-cms-template-variables.ts +48 -0
  1335. package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.ts +2 -2
  1336. package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.po +2 -2
  1337. package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.ts +1 -1
  1338. package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.po +1 -1
  1339. package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.ts +2 -2
  1340. package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.po +2 -2
  1341. package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.ts +1 -1
  1342. package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.po +1 -1
  1343. package/ts-source/websql-code/taon-cms-tag/taon-cms-tag.controller.ts +4 -4
  1344. 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
  1345. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.de-DE.po +29 -0
  1346. 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
  1347. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.en-US.po +29 -0
  1348. 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
  1349. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.pl-PL.po +29 -0
  1350. 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
  1351. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.de-DE.po +21 -0
  1352. 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
  1353. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.en-US.po +21 -0
  1354. 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
  1355. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.pl-PL.po +21 -0
  1356. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.translation.ts +30 -0
  1357. 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
  1358. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.de-DE.po +18 -0
  1359. 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
  1360. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.en-US.po +18 -0
  1361. 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
  1362. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.pl-PL.po +18 -0
  1363. 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
  1364. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.de-DE.po +17 -0
  1365. 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
  1366. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.en-US.po +17 -0
  1367. 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
  1368. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.pl-PL.po +17 -0
  1369. 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
  1370. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.de-DE.po +9 -0
  1371. 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
  1372. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.en-US.po +9 -0
  1373. 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
  1374. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.pl-PL.po +9 -0
  1375. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/index.ts +13 -0
  1376. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.html +49 -0
  1377. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.scss +28 -0
  1378. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.ts +91 -0
  1379. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.models.ts +13 -0
  1380. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.routes.ts +20 -0
  1381. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.html +33 -0
  1382. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.ts +67 -0
  1383. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/taon-cms-course-cover.component.html +19 -0
  1384. package/ts-source/websql-code/taon-posts/taon-cms-course-backoffice/taon-cms-course-cover.component.ts +85 -0
  1385. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.ts +134 -83
  1386. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.po +120 -80
  1387. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.ts +101 -51
  1388. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.po +91 -51
  1389. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.ts +138 -87
  1390. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.po +125 -85
  1391. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.ts +60 -54
  1392. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.po +58 -54
  1393. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.ts +38 -33
  1394. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.po +37 -33
  1395. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.ts +65 -59
  1396. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.po +63 -59
  1397. package/ts-source/websql-code/taon-posts/taon-cms-post/taon-cms-post.component.html +79 -12
  1398. package/ts-source/websql-code/taon-posts/taon-cms-post/taon-cms-post.component.scss +26 -1
  1399. package/ts-source/websql-code/taon-posts/taon-cms-post/taon-cms-post.component.ts +109 -10
  1400. 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
  1401. 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
  1402. 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
  1403. 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
  1404. 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
  1405. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.de-DE.po +45 -0
  1406. 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
  1407. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.en-US.po +45 -0
  1408. 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
  1409. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-post-table-actions.directive.ts.pl-PL.po +45 -0
  1410. 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
  1411. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.po +2 -2
  1412. 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
  1413. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.po +1 -1
  1414. 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
  1415. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.po +2 -42
  1416. 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
  1417. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.po +2 -42
  1418. 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
  1419. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.po +2 -42
  1420. 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
  1421. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.po +2 -2
  1422. 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
  1423. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.po +2 -2
  1424. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.ts +4 -1
  1425. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/taon-cms-post-table-actions.directive.ts +129 -0
  1426. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts +6 -107
  1427. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts +1 -1
  1428. 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
  1429. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.po +8 -8
  1430. 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
  1431. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.po +10 -10
  1432. 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
  1433. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.po +3 -3
  1434. 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
  1435. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.po +2 -2
  1436. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.ts +7 -6
  1437. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.po +5 -5
  1438. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.ts +8 -7
  1439. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.po +6 -6
  1440. 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
  1441. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.po +2 -2
  1442. 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
  1443. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.po +2 -2
  1444. package/ts-source/websql-code-prod/build-info._auto-generated_.ts +1 -1
  1445. package/ts-source/websql-code-prod/index._auto-generated_.ts +7 -1
  1446. package/ts-source/websql-code-prod/index.ts +1 -2
  1447. package/ts-source/websql-code-prod/migrations/1792506757808_applicaitonHooks.ts +6 -3
  1448. package/ts-source/websql-code-prod/migrations/index.ts +0 -10
  1449. package/ts-source/websql-code-prod/migrations/migrations_index._auto-generated_.ts +1 -4
  1450. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.ts +2 -2
  1451. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.po +2 -2
  1452. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.ts +2 -2
  1453. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.po +2 -2
  1454. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.ts +2 -2
  1455. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.po +2 -2
  1456. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.ts +2 -2
  1457. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.po +2 -2
  1458. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.ts +3 -3
  1459. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.po +3 -3
  1460. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.ts +3 -3
  1461. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.po +3 -3
  1462. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.ts +2 -2
  1463. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.po +2 -2
  1464. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.ts +2 -2
  1465. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.po +2 -2
  1466. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.ts +10 -5
  1467. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.po +9 -5
  1468. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.ts +8 -3
  1469. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.po +7 -3
  1470. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.ts +11 -5
  1471. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.po +9 -5
  1472. package/ts-source/websql-code-prod/taon-cms-backoffice/taon-cms-backoffice.routes.ts +19 -9
  1473. package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.ts +2 -2
  1474. package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.po +2 -2
  1475. package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.ts +1 -1
  1476. package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.po +1 -1
  1477. package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.ts +2 -2
  1478. package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.po +2 -2
  1479. package/ts-source/websql-code-prod/taon-cms-category/taon-cms-category.controller.ts +4 -4
  1480. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.ts +2 -2
  1481. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.po +2 -2
  1482. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.ts +1 -1
  1483. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.po +1 -1
  1484. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.ts +2 -2
  1485. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.po +2 -2
  1486. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.ts +9 -9
  1487. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.po +9 -9
  1488. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.ts +6 -6
  1489. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.po +6 -6
  1490. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.ts +9 -9
  1491. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.po +9 -9
  1492. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content-api.service.ts +10 -0
  1493. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content-storage.controller.ts +1 -1
  1494. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content.config.service.ts +3 -0
  1495. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content.controller.ts +7 -2
  1496. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content.provider.ts +6 -1
  1497. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content.repository.ts +19 -2
  1498. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-template-variables.split-namespaces.json +4 -0
  1499. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-template-variables.ts +48 -0
  1500. package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.ts +2 -2
  1501. package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.po +2 -2
  1502. package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.ts +1 -1
  1503. package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.po +1 -1
  1504. package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.ts +2 -2
  1505. package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.po +2 -2
  1506. package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.ts +1 -1
  1507. package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.po +1 -1
  1508. package/ts-source/websql-code-prod/taon-cms-tag/taon-cms-tag.controller.ts +4 -4
  1509. 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
  1510. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.de-DE.po +29 -0
  1511. 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
  1512. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.en-US.po +29 -0
  1513. 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
  1514. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.html.pl-PL.po +29 -0
  1515. 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
  1516. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.de-DE.po +21 -0
  1517. 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
  1518. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.en-US.po +21 -0
  1519. 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
  1520. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.component.ts.pl-PL.po +21 -0
  1521. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.translation.split-namespaces.json +4 -0
  1522. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-backoffice.translation.ts +30 -0
  1523. 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
  1524. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.de-DE.po +18 -0
  1525. 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
  1526. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.en-US.po +18 -0
  1527. 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
  1528. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.html.pl-PL.po +18 -0
  1529. 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
  1530. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.de-DE.po +17 -0
  1531. 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
  1532. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.en-US.po +17 -0
  1533. 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
  1534. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-contents.component.ts.pl-PL.po +17 -0
  1535. 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
  1536. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.de-DE.po +9 -0
  1537. 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
  1538. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.en-US.po +9 -0
  1539. 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
  1540. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/i18n/taon-cms-course-cover.component.ts.pl-PL.po +9 -0
  1541. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/index.split-namespaces.json +4 -0
  1542. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/index.ts +13 -0
  1543. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.html +49 -0
  1544. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.scss +28 -0
  1545. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.split-namespaces.json +4 -0
  1546. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.ts +91 -0
  1547. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.models.split-namespaces.json +4 -0
  1548. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.models.ts +12 -0
  1549. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.routes.split-namespaces.json +4 -0
  1550. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.routes.ts +20 -0
  1551. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.html +33 -0
  1552. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.split-namespaces.json +4 -0
  1553. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.ts +67 -0
  1554. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-cover.component.html +19 -0
  1555. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-cover.component.split-namespaces.json +4 -0
  1556. package/ts-source/websql-code-prod/taon-posts/taon-cms-course-backoffice/taon-cms-course-cover.component.ts +85 -0
  1557. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.ts +134 -83
  1558. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.po +120 -80
  1559. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.ts +101 -51
  1560. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.po +91 -51
  1561. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.ts +138 -87
  1562. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.po +125 -85
  1563. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.ts +60 -54
  1564. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.po +58 -54
  1565. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.ts +38 -33
  1566. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.po +37 -33
  1567. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.ts +65 -59
  1568. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.po +63 -59
  1569. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/taon-cms-post.component.html +79 -12
  1570. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/taon-cms-post.component.scss +26 -1
  1571. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/taon-cms-post.component.ts +109 -10
  1572. 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
  1573. 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
  1574. 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
  1575. 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
  1576. 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
  1577. 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
  1578. 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
  1579. 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
  1580. 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
  1581. 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
  1582. 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
  1583. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.po +2 -2
  1584. 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
  1585. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.po +1 -1
  1586. 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
  1587. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.po +2 -42
  1588. 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
  1589. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.po +2 -42
  1590. 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
  1591. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.po +2 -42
  1592. 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
  1593. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.po +2 -2
  1594. 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
  1595. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.po +2 -2
  1596. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.ts +4 -1
  1597. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-post-table-actions.directive.split-namespaces.json +4 -0
  1598. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-post-table-actions.directive.ts +129 -0
  1599. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts +6 -107
  1600. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts +1 -1
  1601. 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
  1602. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.po +8 -8
  1603. 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
  1604. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.po +10 -10
  1605. 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
  1606. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.po +3 -3
  1607. 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
  1608. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.po +2 -2
  1609. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.ts +7 -6
  1610. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.po +5 -5
  1611. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.ts +8 -7
  1612. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.po +6 -6
  1613. 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
  1614. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.po +2 -2
  1615. 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
  1616. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.po +2 -2
  1617. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.de-DE.i18n.data-CHQQllMO.mjs +31 -0
  1618. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.de-DE.i18n.data-CHQQllMO.mjs.map +1 -0
  1619. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.pl-PL.i18n.data-CPeH_o7k.mjs +31 -0
  1620. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.pl-PL.i18n.data-CPeH_o7k.mjs.map +1 -0
  1621. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.de-DE.i18n.data-ClExLtU2.mjs +21 -0
  1622. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.de-DE.i18n.data-ClExLtU2.mjs.map +1 -0
  1623. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-D4NTLNZw.mjs +21 -0
  1624. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-D4NTLNZw.mjs.map +1 -0
  1625. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-C8vSPTrN.mjs +26 -0
  1626. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-C8vSPTrN.mjs.map +1 -0
  1627. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-BkpgF5Bk.mjs +26 -0
  1628. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-BkpgF5Bk.mjs.map +1 -0
  1629. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-CA_UfC8X.mjs +26 -0
  1630. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-CA_UfC8X.mjs.map +1 -0
  1631. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-PW1BLu1i.mjs +26 -0
  1632. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-PW1BLu1i.mjs.map +1 -0
  1633. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.de-DE.i18n.data-D2bKsNoS.mjs +35 -0
  1634. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.de-DE.i18n.data-D2bKsNoS.mjs.map +1 -0
  1635. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.en-US.i18n.data-nw5h-4Th.mjs +35 -0
  1636. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.en-US.i18n.data-nw5h-4Th.mjs.map +1 -0
  1637. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-DWPxduFo.mjs +36 -0
  1638. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-DWPxduFo.mjs.map +1 -0
  1639. package/websql/fesm2022/cms-websql-taon-cms-category.controller.ts.de-DE.i18n.data-BECrfk3P.mjs +16 -0
  1640. package/websql/fesm2022/cms-websql-taon-cms-category.controller.ts.de-DE.i18n.data-BECrfk3P.mjs.map +1 -0
  1641. package/websql/fesm2022/cms-websql-taon-cms-category.controller.ts.en-US.i18n.data-C96XxpGk.mjs +16 -0
  1642. package/websql/fesm2022/cms-websql-taon-cms-category.controller.ts.en-US.i18n.data-C96XxpGk.mjs.map +1 -0
  1643. package/websql/fesm2022/cms-websql-taon-cms-category.controller.ts.pl-PL.i18n.data-C32ghbeJ.mjs +16 -0
  1644. package/websql/fesm2022/cms-websql-taon-cms-category.controller.ts.pl-PL.i18n.data-C32ghbeJ.mjs.map +1 -0
  1645. package/websql/fesm2022/cms-websql-taon-cms-course-backoffice.component.html.de-DE.i18n.data-CUk5ug7o.mjs +35 -0
  1646. package/websql/fesm2022/cms-websql-taon-cms-course-backoffice.component.html.de-DE.i18n.data-CUk5ug7o.mjs.map +1 -0
  1647. package/websql/fesm2022/cms-websql-taon-cms-course-backoffice.component.html.en-US.i18n.data-B_ev_S5w.mjs +35 -0
  1648. package/websql/fesm2022/cms-websql-taon-cms-course-backoffice.component.html.en-US.i18n.data-B_ev_S5w.mjs.map +1 -0
  1649. package/websql/fesm2022/cms-websql-taon-cms-course-backoffice.component.html.pl-PL.i18n.data-CzEhm95I.mjs +35 -0
  1650. package/websql/fesm2022/cms-websql-taon-cms-course-backoffice.component.html.pl-PL.i18n.data-CzEhm95I.mjs.map +1 -0
  1651. package/websql/fesm2022/cms-websql-taon-cms-course-backoffice.component.ts.de-DE.i18n.data-DAc3VOD3.mjs +27 -0
  1652. package/websql/fesm2022/cms-websql-taon-cms-course-backoffice.component.ts.de-DE.i18n.data-DAc3VOD3.mjs.map +1 -0
  1653. package/websql/fesm2022/cms-websql-taon-cms-course-backoffice.component.ts.en-US.i18n.data-DpyYEZSz.mjs +27 -0
  1654. package/websql/fesm2022/cms-websql-taon-cms-course-backoffice.component.ts.en-US.i18n.data-DpyYEZSz.mjs.map +1 -0
  1655. package/websql/fesm2022/cms-websql-taon-cms-course-backoffice.component.ts.pl-PL.i18n.data-RzH83Lc_.mjs +27 -0
  1656. package/websql/fesm2022/cms-websql-taon-cms-course-backoffice.component.ts.pl-PL.i18n.data-RzH83Lc_.mjs.map +1 -0
  1657. package/websql/fesm2022/cms-websql-taon-cms-course-contents.component.html.de-DE.i18n.data-zeQEmcoN.mjs +27 -0
  1658. package/websql/fesm2022/cms-websql-taon-cms-course-contents.component.html.de-DE.i18n.data-zeQEmcoN.mjs.map +1 -0
  1659. package/websql/fesm2022/cms-websql-taon-cms-course-contents.component.html.en-US.i18n.data-CWd3E2aP.mjs +27 -0
  1660. package/websql/fesm2022/cms-websql-taon-cms-course-contents.component.html.en-US.i18n.data-CWd3E2aP.mjs.map +1 -0
  1661. package/websql/fesm2022/cms-websql-taon-cms-course-contents.component.html.pl-PL.i18n.data-DZNGFqHU.mjs +27 -0
  1662. package/websql/fesm2022/cms-websql-taon-cms-course-contents.component.html.pl-PL.i18n.data-DZNGFqHU.mjs.map +1 -0
  1663. package/websql/fesm2022/cms-websql-taon-cms-course-contents.component.ts.de-DE.i18n.data-B1c4BqwL.mjs +23 -0
  1664. package/websql/fesm2022/cms-websql-taon-cms-course-contents.component.ts.de-DE.i18n.data-B1c4BqwL.mjs.map +1 -0
  1665. package/websql/fesm2022/cms-websql-taon-cms-course-contents.component.ts.en-US.i18n.data-C0Q4P1pi.mjs +23 -0
  1666. package/websql/fesm2022/cms-websql-taon-cms-course-contents.component.ts.en-US.i18n.data-C0Q4P1pi.mjs.map +1 -0
  1667. package/websql/fesm2022/cms-websql-taon-cms-course-contents.component.ts.pl-PL.i18n.data-B2_M5A-D.mjs +23 -0
  1668. package/websql/fesm2022/cms-websql-taon-cms-course-contents.component.ts.pl-PL.i18n.data-B2_M5A-D.mjs.map +1 -0
  1669. package/websql/fesm2022/cms-websql-taon-cms-course-cover.component.ts.de-DE.i18n.data-CPpw6mEf.mjs +15 -0
  1670. package/websql/fesm2022/cms-websql-taon-cms-course-cover.component.ts.de-DE.i18n.data-CPpw6mEf.mjs.map +1 -0
  1671. package/websql/fesm2022/cms-websql-taon-cms-course-cover.component.ts.en-US.i18n.data-D-vw3T3O.mjs +15 -0
  1672. package/websql/fesm2022/cms-websql-taon-cms-course-cover.component.ts.en-US.i18n.data-D-vw3T3O.mjs.map +1 -0
  1673. package/websql/fesm2022/cms-websql-taon-cms-course-cover.component.ts.pl-PL.i18n.data-DZsvqr38.mjs +15 -0
  1674. package/websql/fesm2022/cms-websql-taon-cms-course-cover.component.ts.pl-PL.i18n.data-DZsvqr38.mjs.map +1 -0
  1675. package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.de-DE.i18n.data-DvinUxYu.mjs +16 -0
  1676. package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.de-DE.i18n.data-DvinUxYu.mjs.map +1 -0
  1677. package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-2oqcGTJG.mjs +16 -0
  1678. package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-2oqcGTJG.mjs.map +1 -0
  1679. package/websql/fesm2022/cms-websql-taon-cms-post-table-actions.directive.ts.de-DE.i18n.data-x_3GCOW9.mjs +51 -0
  1680. package/websql/fesm2022/cms-websql-taon-cms-post-table-actions.directive.ts.de-DE.i18n.data-x_3GCOW9.mjs.map +1 -0
  1681. package/websql/fesm2022/cms-websql-taon-cms-post-table-actions.directive.ts.en-US.i18n.data-4NI8Xw9I.mjs +51 -0
  1682. package/websql/fesm2022/cms-websql-taon-cms-post-table-actions.directive.ts.en-US.i18n.data-4NI8Xw9I.mjs.map +1 -0
  1683. package/websql/fesm2022/cms-websql-taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data-FbMIlsYe.mjs +51 -0
  1684. package/websql/fesm2022/cms-websql-taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data-FbMIlsYe.mjs.map +1 -0
  1685. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.de-DE.i18n.data-BaON6nA9.mjs +366 -0
  1686. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.de-DE.i18n.data-BaON6nA9.mjs.map +1 -0
  1687. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.en-US.i18n.data-B6l0ggUx.mjs +365 -0
  1688. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.en-US.i18n.data-B6l0ggUx.mjs.map +1 -0
  1689. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.pl-PL.i18n.data-By3hiiP-.mjs +366 -0
  1690. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.pl-PL.i18n.data-By3hiiP-.mjs.map +1 -0
  1691. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.de-DE.i18n.data-Ciz92SwP.mjs +180 -0
  1692. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.de-DE.i18n.data-Ciz92SwP.mjs.map +1 -0
  1693. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.en-US.i18n.data-BfH784ag.mjs +176 -0
  1694. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.en-US.i18n.data-BfH784ag.mjs.map +1 -0
  1695. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.pl-PL.i18n.data-cvvUelpe.mjs +180 -0
  1696. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.pl-PL.i18n.data-cvvUelpe.mjs.map +1 -0
  1697. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-Dzx2YyST.mjs +21 -0
  1698. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-Dzx2YyST.mjs.map +1 -0
  1699. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-DbKCVK5F.mjs +21 -0
  1700. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-DbKCVK5F.mjs.map +1 -0
  1701. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-CTNTDm49.mjs +21 -0
  1702. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-CTNTDm49.mjs.map +1 -0
  1703. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-BEXiBm6D.mjs +21 -0
  1704. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-BEXiBm6D.mjs.map +1 -0
  1705. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-CYa7VWYt.mjs +21 -0
  1706. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-CYa7VWYt.mjs.map +1 -0
  1707. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-De7ox2r2.mjs +21 -0
  1708. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-De7ox2r2.mjs.map +1 -0
  1709. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-B7OXsynj.mjs +21 -0
  1710. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-B7OXsynj.mjs.map +1 -0
  1711. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.de-DE.i18n.data-DxlQZtXm.mjs +71 -0
  1712. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.de-DE.i18n.data-DxlQZtXm.mjs.map +1 -0
  1713. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-CXGF086L.mjs +71 -0
  1714. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-CXGF086L.mjs.map +1 -0
  1715. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-D0uWg5-_.mjs +26 -0
  1716. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-D0uWg5-_.mjs.map +1 -0
  1717. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-DLR3lYs3.mjs +26 -0
  1718. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-DLR3lYs3.mjs.map +1 -0
  1719. package/websql/fesm2022/cms-websql-taon-cms-tag.controller.ts.de-DE.i18n.data-DdKa6EHY.mjs +16 -0
  1720. package/websql/fesm2022/cms-websql-taon-cms-tag.controller.ts.de-DE.i18n.data-DdKa6EHY.mjs.map +1 -0
  1721. package/websql/fesm2022/cms-websql-taon-cms-tag.controller.ts.en-US.i18n.data-DwLvx6gF.mjs +16 -0
  1722. package/websql/fesm2022/cms-websql-taon-cms-tag.controller.ts.en-US.i18n.data-DwLvx6gF.mjs.map +1 -0
  1723. package/websql/fesm2022/cms-websql-taon-cms-tag.controller.ts.pl-PL.i18n.data-B2PM2PXT.mjs +16 -0
  1724. package/websql/fesm2022/cms-websql-taon-cms-tag.controller.ts.pl-PL.i18n.data-B2PM2PXT.mjs.map +1 -0
  1725. package/websql/fesm2022/cms-websql-taon-cms-tag.repository.ts.pl-PL.i18n.data-CA9WTHVH.mjs +21 -0
  1726. package/websql/fesm2022/cms-websql-taon-cms-tag.repository.ts.pl-PL.i18n.data-CA9WTHVH.mjs.map +1 -0
  1727. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.de-DE.i18n.data-B8kwe4XH.mjs +51 -0
  1728. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.de-DE.i18n.data-B8kwe4XH.mjs.map +1 -0
  1729. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.pl-PL.i18n.data-KGkZHK6U.mjs +51 -0
  1730. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.pl-PL.i18n.data-KGkZHK6U.mjs.map +1 -0
  1731. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.de-DE.i18n.data-B-AefZ-Q.mjs +21 -0
  1732. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.de-DE.i18n.data-B-AefZ-Q.mjs.map +1 -0
  1733. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.pl-PL.i18n.data-DlY8NCht.mjs +21 -0
  1734. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.pl-PL.i18n.data-DlY8NCht.mjs.map +1 -0
  1735. package/websql/fesm2022/cms-websql.mjs +782 -547
  1736. package/websql/fesm2022/cms-websql.mjs.map +1 -1
  1737. package/websql/package.json +1 -1
  1738. package/websql/types/cms-websql.d.ts +116 -81
  1739. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-BZ_8Wszm.mjs +31 -0
  1740. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-BZ_8Wszm.mjs.map +1 -0
  1741. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-BHOthv8D.mjs +31 -0
  1742. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-BHOthv8D.mjs.map +1 -0
  1743. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-DQHAWMAn.mjs +21 -0
  1744. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-DQHAWMAn.mjs.map +1 -0
  1745. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-BEjzJaYK.mjs +21 -0
  1746. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-BEjzJaYK.mjs.map +1 -0
  1747. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-D-Svaf29.mjs +26 -0
  1748. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-D-Svaf29.mjs.map +1 -0
  1749. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-BcXozpEr.mjs +26 -0
  1750. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-BcXozpEr.mjs.map +1 -0
  1751. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-ZddUojcu.mjs +26 -0
  1752. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-ZddUojcu.mjs.map +1 -0
  1753. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-CLBkdREb.mjs +26 -0
  1754. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-CLBkdREb.mjs.map +1 -0
  1755. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-MIIrwTKe.mjs +35 -0
  1756. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-MIIrwTKe.mjs.map +1 -0
  1757. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-CAzMj6mG.mjs +35 -0
  1758. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-CAzMj6mG.mjs.map +1 -0
  1759. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-9SU8SXqe.mjs +36 -0
  1760. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-9SU8SXqe.mjs.map +1 -0
  1761. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.controller.ts.de-DE.i18n.data-DWkCO4b3.mjs +16 -0
  1762. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.controller.ts.de-DE.i18n.data-DWkCO4b3.mjs.map +1 -0
  1763. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.controller.ts.en-US.i18n.data-1efjXDg3.mjs +16 -0
  1764. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.controller.ts.en-US.i18n.data-1efjXDg3.mjs.map +1 -0
  1765. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.controller.ts.pl-PL.i18n.data-BL7CXw7z.mjs +16 -0
  1766. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.controller.ts.pl-PL.i18n.data-BL7CXw7z.mjs.map +1 -0
  1767. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-backoffice.component.html.de-DE.i18n.data-BIKNygMW.mjs +35 -0
  1768. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-backoffice.component.html.de-DE.i18n.data-BIKNygMW.mjs.map +1 -0
  1769. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-backoffice.component.html.en-US.i18n.data-D9oVvT_M.mjs +35 -0
  1770. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-backoffice.component.html.en-US.i18n.data-D9oVvT_M.mjs.map +1 -0
  1771. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-backoffice.component.html.pl-PL.i18n.data-CT3qblPQ.mjs +35 -0
  1772. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-backoffice.component.html.pl-PL.i18n.data-CT3qblPQ.mjs.map +1 -0
  1773. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-backoffice.component.ts.de-DE.i18n.data-DDALCZn_.mjs +27 -0
  1774. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-backoffice.component.ts.de-DE.i18n.data-DDALCZn_.mjs.map +1 -0
  1775. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-backoffice.component.ts.en-US.i18n.data-DH2B4_Ja.mjs +27 -0
  1776. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-backoffice.component.ts.en-US.i18n.data-DH2B4_Ja.mjs.map +1 -0
  1777. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-backoffice.component.ts.pl-PL.i18n.data-BdEFeTQw.mjs +27 -0
  1778. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-backoffice.component.ts.pl-PL.i18n.data-BdEFeTQw.mjs.map +1 -0
  1779. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-contents.component.html.de-DE.i18n.data-BBlVjzPI.mjs +27 -0
  1780. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-contents.component.html.de-DE.i18n.data-BBlVjzPI.mjs.map +1 -0
  1781. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-contents.component.html.en-US.i18n.data-IqA_nyeM.mjs +27 -0
  1782. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-contents.component.html.en-US.i18n.data-IqA_nyeM.mjs.map +1 -0
  1783. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-contents.component.html.pl-PL.i18n.data-iS1xSmiV.mjs +27 -0
  1784. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-contents.component.html.pl-PL.i18n.data-iS1xSmiV.mjs.map +1 -0
  1785. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-contents.component.ts.de-DE.i18n.data-f8Xls0R1.mjs +23 -0
  1786. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-contents.component.ts.de-DE.i18n.data-f8Xls0R1.mjs.map +1 -0
  1787. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-contents.component.ts.en-US.i18n.data-RRhO86eN.mjs +23 -0
  1788. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-contents.component.ts.en-US.i18n.data-RRhO86eN.mjs.map +1 -0
  1789. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-contents.component.ts.pl-PL.i18n.data-C3YO-MyR.mjs +23 -0
  1790. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-contents.component.ts.pl-PL.i18n.data-C3YO-MyR.mjs.map +1 -0
  1791. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-cover.component.ts.de-DE.i18n.data-KnWWyfxp.mjs +15 -0
  1792. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-cover.component.ts.de-DE.i18n.data-KnWWyfxp.mjs.map +1 -0
  1793. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-cover.component.ts.en-US.i18n.data-CD6_7sW8.mjs +15 -0
  1794. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-cover.component.ts.en-US.i18n.data-CD6_7sW8.mjs.map +1 -0
  1795. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-cover.component.ts.pl-PL.i18n.data-OV3rbs4e.mjs +15 -0
  1796. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-course-cover.component.ts.pl-PL.i18n.data-OV3rbs4e.mjs.map +1 -0
  1797. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.de-DE.i18n.data-GEZohFQ6.mjs +16 -0
  1798. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.de-DE.i18n.data-GEZohFQ6.mjs.map +1 -0
  1799. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-CytlMNx9.mjs +16 -0
  1800. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-CytlMNx9.mjs.map +1 -0
  1801. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-table-actions.directive.ts.de-DE.i18n.data-PyPJAezk.mjs +51 -0
  1802. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-table-actions.directive.ts.de-DE.i18n.data-PyPJAezk.mjs.map +1 -0
  1803. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-table-actions.directive.ts.en-US.i18n.data-ClZEAevP.mjs +51 -0
  1804. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-table-actions.directive.ts.en-US.i18n.data-ClZEAevP.mjs.map +1 -0
  1805. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data-BI91_5DQ.mjs +51 -0
  1806. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data-BI91_5DQ.mjs.map +1 -0
  1807. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.de-DE.i18n.data-BEFY2S-d.mjs +366 -0
  1808. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.de-DE.i18n.data-BEFY2S-d.mjs.map +1 -0
  1809. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.en-US.i18n.data-Be-Tk-ax.mjs +365 -0
  1810. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.en-US.i18n.data-Be-Tk-ax.mjs.map +1 -0
  1811. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.pl-PL.i18n.data-DbqC9UmK.mjs +366 -0
  1812. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.pl-PL.i18n.data-DbqC9UmK.mjs.map +1 -0
  1813. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.de-DE.i18n.data-Cc81EPlL.mjs +180 -0
  1814. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.de-DE.i18n.data-Cc81EPlL.mjs.map +1 -0
  1815. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.en-US.i18n.data-CC-Pddbc.mjs +176 -0
  1816. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.en-US.i18n.data-CC-Pddbc.mjs.map +1 -0
  1817. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.pl-PL.i18n.data-LMItiYze.mjs +180 -0
  1818. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.pl-PL.i18n.data-LMItiYze.mjs.map +1 -0
  1819. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-BP6mgDNt.mjs +21 -0
  1820. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-BP6mgDNt.mjs.map +1 -0
  1821. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-R_zfGgq5.mjs +21 -0
  1822. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-R_zfGgq5.mjs.map +1 -0
  1823. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-CIdrNqYb.mjs +21 -0
  1824. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-CIdrNqYb.mjs.map +1 -0
  1825. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-o77R_3mq.mjs +21 -0
  1826. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-o77R_3mq.mjs.map +1 -0
  1827. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-DknlE9xA.mjs +21 -0
  1828. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-DknlE9xA.mjs.map +1 -0
  1829. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-DTi85hnc.mjs +21 -0
  1830. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-DTi85hnc.mjs.map +1 -0
  1831. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data--Bz56M4r.mjs +21 -0
  1832. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data--Bz56M4r.mjs.map +1 -0
  1833. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.de-DE.i18n.data-Dt4NoqCt.mjs +71 -0
  1834. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.de-DE.i18n.data-Dt4NoqCt.mjs.map +1 -0
  1835. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-BIt1Tr4D.mjs +71 -0
  1836. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-BIt1Tr4D.mjs.map +1 -0
  1837. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-B3azec2V.mjs +26 -0
  1838. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-B3azec2V.mjs.map +1 -0
  1839. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-z3o5kf4w.mjs +26 -0
  1840. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-z3o5kf4w.mjs.map +1 -0
  1841. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.controller.ts.de-DE.i18n.data-17DrAbW7.mjs +16 -0
  1842. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.controller.ts.de-DE.i18n.data-17DrAbW7.mjs.map +1 -0
  1843. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.controller.ts.en-US.i18n.data-6mWhwlGc.mjs +16 -0
  1844. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.controller.ts.en-US.i18n.data-6mWhwlGc.mjs.map +1 -0
  1845. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.controller.ts.pl-PL.i18n.data-BzukIAks.mjs +16 -0
  1846. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.controller.ts.pl-PL.i18n.data-BzukIAks.mjs.map +1 -0
  1847. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.repository.ts.pl-PL.i18n.data-C08LjA_9.mjs +21 -0
  1848. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.repository.ts.pl-PL.i18n.data-C08LjA_9.mjs.map +1 -0
  1849. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.de-DE.i18n.data-BnUmcqxu.mjs +51 -0
  1850. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.de-DE.i18n.data-BnUmcqxu.mjs.map +1 -0
  1851. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.pl-PL.i18n.data-HkdHjxON.mjs +51 -0
  1852. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.pl-PL.i18n.data-HkdHjxON.mjs.map +1 -0
  1853. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.de-DE.i18n.data-C0OgfgMU.mjs +21 -0
  1854. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.de-DE.i18n.data-C0OgfgMU.mjs.map +1 -0
  1855. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.pl-PL.i18n.data-BZu7gvGb.mjs +21 -0
  1856. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.pl-PL.i18n.data-BZu7gvGb.mjs.map +1 -0
  1857. package/websql-prod/fesm2022/cms-websql-prod.mjs +785 -547
  1858. package/websql-prod/fesm2022/cms-websql-prod.mjs.map +1 -1
  1859. package/websql-prod/package.json +1 -1
  1860. package/websql-prod/types/cms-websql-prod.d.ts +114 -81
  1861. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.html.de-DE.i18n.data-BVtSn2fs.mjs +0 -31
  1862. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.html.de-DE.i18n.data-BVtSn2fs.mjs.map +0 -1
  1863. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.html.pl-PL.i18n.data-dwvVUvD1.mjs +0 -31
  1864. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.html.pl-PL.i18n.data-dwvVUvD1.mjs.map +0 -1
  1865. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.ts.de-DE.i18n.data-B48c-CYU.mjs +0 -21
  1866. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.ts.de-DE.i18n.data-B48c-CYU.mjs.map +0 -1
  1867. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-DsqGl3cF.mjs +0 -21
  1868. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-DsqGl3cF.mjs.map +0 -1
  1869. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-BuXLlArJ.mjs +0 -26
  1870. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-BuXLlArJ.mjs.map +0 -1
  1871. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-CoDrYDRK.mjs +0 -26
  1872. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-CoDrYDRK.mjs.map +0 -1
  1873. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-V7WX2R2o.mjs +0 -26
  1874. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-V7WX2R2o.mjs.map +0 -1
  1875. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-7gEiqQTu.mjs +0 -26
  1876. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-7gEiqQTu.mjs.map +0 -1
  1877. package/browser/fesm2022/cms-browser-taon-cms-backoffice.routes.ts.de-DE.i18n.data-DF2t3FGq.mjs +0 -31
  1878. package/browser/fesm2022/cms-browser-taon-cms-backoffice.routes.ts.de-DE.i18n.data-DF2t3FGq.mjs.map +0 -1
  1879. package/browser/fesm2022/cms-browser-taon-cms-backoffice.routes.ts.en-US.i18n.data-HaVV1PUK.mjs +0 -31
  1880. package/browser/fesm2022/cms-browser-taon-cms-backoffice.routes.ts.en-US.i18n.data-HaVV1PUK.mjs.map +0 -1
  1881. package/browser/fesm2022/cms-browser-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-CM8U1Jru.mjs +0 -31
  1882. package/browser/fesm2022/cms-browser-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-CM8U1Jru.mjs.map +0 -1
  1883. package/browser/fesm2022/cms-browser-taon-cms-category.controller.ts.de-DE.i18n.data-CmIHY-Qb.mjs +0 -16
  1884. package/browser/fesm2022/cms-browser-taon-cms-category.controller.ts.de-DE.i18n.data-CmIHY-Qb.mjs.map +0 -1
  1885. package/browser/fesm2022/cms-browser-taon-cms-category.controller.ts.en-US.i18n.data-B3p2KGMd.mjs +0 -16
  1886. package/browser/fesm2022/cms-browser-taon-cms-category.controller.ts.en-US.i18n.data-B3p2KGMd.mjs.map +0 -1
  1887. package/browser/fesm2022/cms-browser-taon-cms-category.controller.ts.pl-PL.i18n.data-BmIn1qix.mjs +0 -16
  1888. package/browser/fesm2022/cms-browser-taon-cms-category.controller.ts.pl-PL.i18n.data-BmIn1qix.mjs.map +0 -1
  1889. package/browser/fesm2022/cms-browser-taon-cms-post-details-page.component.ts.de-DE.i18n.data-DcMMeJhf.mjs +0 -16
  1890. package/browser/fesm2022/cms-browser-taon-cms-post-details-page.component.ts.de-DE.i18n.data-DcMMeJhf.mjs.map +0 -1
  1891. package/browser/fesm2022/cms-browser-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-DzObZW39.mjs +0 -16
  1892. package/browser/fesm2022/cms-browser-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-DzObZW39.mjs.map +0 -1
  1893. package/browser/fesm2022/cms-browser-taon-cms-post.component.html.de-DE.i18n.data-_sQHaM7p.mjs +0 -325
  1894. package/browser/fesm2022/cms-browser-taon-cms-post.component.html.de-DE.i18n.data-_sQHaM7p.mjs.map +0 -1
  1895. package/browser/fesm2022/cms-browser-taon-cms-post.component.html.en-US.i18n.data-CAAYTQWn.mjs +0 -325
  1896. package/browser/fesm2022/cms-browser-taon-cms-post.component.html.en-US.i18n.data-CAAYTQWn.mjs.map +0 -1
  1897. package/browser/fesm2022/cms-browser-taon-cms-post.component.html.pl-PL.i18n.data-5tuvjPPZ.mjs +0 -325
  1898. package/browser/fesm2022/cms-browser-taon-cms-post.component.html.pl-PL.i18n.data-5tuvjPPZ.mjs.map +0 -1
  1899. package/browser/fesm2022/cms-browser-taon-cms-post.component.ts.de-DE.i18n.data-PjXxw70Q.mjs +0 -175
  1900. package/browser/fesm2022/cms-browser-taon-cms-post.component.ts.de-DE.i18n.data-PjXxw70Q.mjs.map +0 -1
  1901. package/browser/fesm2022/cms-browser-taon-cms-post.component.ts.en-US.i18n.data-n_jdOSMO.mjs +0 -172
  1902. package/browser/fesm2022/cms-browser-taon-cms-post.component.ts.en-US.i18n.data-n_jdOSMO.mjs.map +0 -1
  1903. package/browser/fesm2022/cms-browser-taon-cms-post.component.ts.pl-PL.i18n.data-747DKNI9.mjs +0 -175
  1904. package/browser/fesm2022/cms-browser-taon-cms-post.component.ts.pl-PL.i18n.data-747DKNI9.mjs.map +0 -1
  1905. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-PTv8IVQS.mjs +0 -21
  1906. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-PTv8IVQS.mjs.map +0 -1
  1907. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-Sv8mvv7F.mjs +0 -21
  1908. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-Sv8mvv7F.mjs.map +0 -1
  1909. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-XC6VHQ4p.mjs +0 -70
  1910. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-XC6VHQ4p.mjs.map +0 -1
  1911. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-DdTJ6jBq.mjs +0 -70
  1912. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-DdTJ6jBq.mjs.map +0 -1
  1913. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-VmJCCpyW.mjs +0 -70
  1914. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-VmJCCpyW.mjs.map +0 -1
  1915. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-DR3QDl8i.mjs +0 -21
  1916. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-DR3QDl8i.mjs.map +0 -1
  1917. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-D6vB4Elu.mjs +0 -21
  1918. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-D6vB4Elu.mjs.map +0 -1
  1919. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.html.de-DE.i18n.data-0-FosMdd.mjs +0 -71
  1920. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.html.de-DE.i18n.data-0-FosMdd.mjs.map +0 -1
  1921. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-BRJitr3A.mjs +0 -71
  1922. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-BRJitr3A.mjs.map +0 -1
  1923. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-BWfc44Gu.mjs +0 -26
  1924. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-BWfc44Gu.mjs.map +0 -1
  1925. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-qQEyNc_O.mjs +0 -26
  1926. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-qQEyNc_O.mjs.map +0 -1
  1927. package/browser/fesm2022/cms-browser-taon-cms-tag.controller.ts.de-DE.i18n.data-C1Dm6TEf.mjs +0 -16
  1928. package/browser/fesm2022/cms-browser-taon-cms-tag.controller.ts.de-DE.i18n.data-C1Dm6TEf.mjs.map +0 -1
  1929. package/browser/fesm2022/cms-browser-taon-cms-tag.controller.ts.en-US.i18n.data-B-j9Oo0W.mjs +0 -16
  1930. package/browser/fesm2022/cms-browser-taon-cms-tag.controller.ts.en-US.i18n.data-B-j9Oo0W.mjs.map +0 -1
  1931. package/browser/fesm2022/cms-browser-taon-cms-tag.controller.ts.pl-PL.i18n.data-1Ou1o4gZ.mjs +0 -16
  1932. package/browser/fesm2022/cms-browser-taon-cms-tag.controller.ts.pl-PL.i18n.data-1Ou1o4gZ.mjs.map +0 -1
  1933. package/browser/fesm2022/cms-browser-taon-cms-tag.repository.ts.pl-PL.i18n.data-CsT5vExK.mjs +0 -21
  1934. package/browser/fesm2022/cms-browser-taon-cms-tag.repository.ts.pl-PL.i18n.data-CsT5vExK.mjs.map +0 -1
  1935. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.html.de-DE.i18n.data-pD4eq7V0.mjs +0 -50
  1936. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.html.de-DE.i18n.data-pD4eq7V0.mjs.map +0 -1
  1937. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.html.pl-PL.i18n.data-BKSc0dZ-.mjs +0 -50
  1938. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.html.pl-PL.i18n.data-BKSc0dZ-.mjs.map +0 -1
  1939. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.ts.de-DE.i18n.data-D2tZ4gOm.mjs +0 -21
  1940. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.ts.de-DE.i18n.data-D2tZ4gOm.mjs.map +0 -1
  1941. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.ts.pl-PL.i18n.data-CZxR2iCt.mjs +0 -21
  1942. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.ts.pl-PL.i18n.data-CZxR2iCt.mjs.map +0 -1
  1943. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-Cnee0qF_.mjs +0 -31
  1944. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-Cnee0qF_.mjs.map +0 -1
  1945. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-CI9R_TWY.mjs +0 -31
  1946. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-CI9R_TWY.mjs.map +0 -1
  1947. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-CuJ1DFEy.mjs +0 -21
  1948. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-CuJ1DFEy.mjs.map +0 -1
  1949. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-IX85Hp7B.mjs +0 -21
  1950. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-IX85Hp7B.mjs.map +0 -1
  1951. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-DJo4v6QY.mjs +0 -26
  1952. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-DJo4v6QY.mjs.map +0 -1
  1953. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-BY-OWFhb.mjs +0 -26
  1954. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-BY-OWFhb.mjs.map +0 -1
  1955. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-CsC2V1RP.mjs +0 -26
  1956. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-CsC2V1RP.mjs.map +0 -1
  1957. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-CnlTu58H.mjs +0 -26
  1958. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-CnlTu58H.mjs.map +0 -1
  1959. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-BbCjJoVh.mjs +0 -31
  1960. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-BbCjJoVh.mjs.map +0 -1
  1961. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-BUBi6h_q.mjs +0 -31
  1962. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-BUBi6h_q.mjs.map +0 -1
  1963. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-BJ03B4ix.mjs +0 -31
  1964. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-BJ03B4ix.mjs.map +0 -1
  1965. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.controller.ts.de-DE.i18n.data-CDUBs36X.mjs +0 -16
  1966. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.controller.ts.de-DE.i18n.data-CDUBs36X.mjs.map +0 -1
  1967. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.controller.ts.en-US.i18n.data-Ckuw2o-a.mjs +0 -16
  1968. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.controller.ts.en-US.i18n.data-Ckuw2o-a.mjs.map +0 -1
  1969. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.controller.ts.pl-PL.i18n.data-CP8q0EDA.mjs +0 -16
  1970. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.controller.ts.pl-PL.i18n.data-CP8q0EDA.mjs.map +0 -1
  1971. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-details-page.component.ts.de-DE.i18n.data-CCMZ2Grc.mjs +0 -16
  1972. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-details-page.component.ts.de-DE.i18n.data-CCMZ2Grc.mjs.map +0 -1
  1973. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-BJUC-bxd.mjs +0 -16
  1974. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-BJUC-bxd.mjs.map +0 -1
  1975. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.de-DE.i18n.data-BaPmxkoJ.mjs +0 -325
  1976. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.de-DE.i18n.data-BaPmxkoJ.mjs.map +0 -1
  1977. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.en-US.i18n.data-WYUL_IjF.mjs +0 -325
  1978. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.en-US.i18n.data-WYUL_IjF.mjs.map +0 -1
  1979. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.pl-PL.i18n.data-B1zLXqUZ.mjs +0 -325
  1980. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.pl-PL.i18n.data-B1zLXqUZ.mjs.map +0 -1
  1981. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.de-DE.i18n.data-qu1MSO3K.mjs +0 -175
  1982. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.de-DE.i18n.data-qu1MSO3K.mjs.map +0 -1
  1983. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.en-US.i18n.data-CbSJQ1ae.mjs +0 -172
  1984. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.en-US.i18n.data-CbSJQ1ae.mjs.map +0 -1
  1985. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.pl-PL.i18n.data-8FEfL47i.mjs +0 -175
  1986. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.pl-PL.i18n.data-8FEfL47i.mjs.map +0 -1
  1987. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-_vYyLJO0.mjs +0 -21
  1988. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-_vYyLJO0.mjs.map +0 -1
  1989. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-DHsO0ILx.mjs +0 -21
  1990. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-DHsO0ILx.mjs.map +0 -1
  1991. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-B6oI0NXX.mjs +0 -70
  1992. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-B6oI0NXX.mjs.map +0 -1
  1993. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-CE7oFpqW.mjs +0 -70
  1994. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-CE7oFpqW.mjs.map +0 -1
  1995. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-DN7jpzXv.mjs +0 -70
  1996. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-DN7jpzXv.mjs.map +0 -1
  1997. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-CvRKVC5m.mjs +0 -21
  1998. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-CvRKVC5m.mjs.map +0 -1
  1999. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-CJyoZejS.mjs +0 -21
  2000. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-CJyoZejS.mjs.map +0 -1
  2001. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.html.de-DE.i18n.data-jYWuVaax.mjs +0 -71
  2002. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.html.de-DE.i18n.data-jYWuVaax.mjs.map +0 -1
  2003. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-C5g2G3jI.mjs +0 -71
  2004. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-C5g2G3jI.mjs.map +0 -1
  2005. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-BfluLtxD.mjs +0 -26
  2006. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-BfluLtxD.mjs.map +0 -1
  2007. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-C2pNRLNK.mjs +0 -26
  2008. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-C2pNRLNK.mjs.map +0 -1
  2009. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.controller.ts.de-DE.i18n.data-mHMHPrI-.mjs +0 -16
  2010. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.controller.ts.de-DE.i18n.data-mHMHPrI-.mjs.map +0 -1
  2011. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.controller.ts.en-US.i18n.data-3oxZelGB.mjs +0 -16
  2012. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.controller.ts.en-US.i18n.data-3oxZelGB.mjs.map +0 -1
  2013. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.controller.ts.pl-PL.i18n.data-z6ufNE6q.mjs +0 -16
  2014. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.controller.ts.pl-PL.i18n.data-z6ufNE6q.mjs.map +0 -1
  2015. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.repository.ts.pl-PL.i18n.data-DYbKxB3P.mjs +0 -21
  2016. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.repository.ts.pl-PL.i18n.data-DYbKxB3P.mjs.map +0 -1
  2017. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.html.de-DE.i18n.data-CAsqBs9y.mjs +0 -50
  2018. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.html.de-DE.i18n.data-CAsqBs9y.mjs.map +0 -1
  2019. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.html.pl-PL.i18n.data-CmD-ViXw.mjs +0 -50
  2020. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.html.pl-PL.i18n.data-CmD-ViXw.mjs.map +0 -1
  2021. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.ts.de-DE.i18n.data-CeRmjGOX.mjs +0 -21
  2022. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.ts.de-DE.i18n.data-CeRmjGOX.mjs.map +0 -1
  2023. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.ts.pl-PL.i18n.data-BL0v395O.mjs +0 -21
  2024. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.ts.pl-PL.i18n.data-BL0v395O.mjs.map +0 -1
  2025. package/full-dts/decorators/taon-cms-authorization.d.ts +0 -49
  2026. package/full-dts/migrations/1792579000000_postPermissionInheritance.d.ts +0 -7
  2027. package/full-dts/migrations/1793043000000_postThumbnails.d.ts +0 -7
  2028. package/lib/decorators/taon-cms-authorization.d.ts +0 -48
  2029. package/lib/decorators/taon-cms-authorization.js +0 -117
  2030. package/lib/decorators/taon-cms-authorization.js.map +0 -1
  2031. package/lib/migrations/1792579000000_postPermissionInheritance.d.ts +0 -6
  2032. package/lib/migrations/1792579000000_postPermissionInheritance.js +0 -37
  2033. package/lib/migrations/1792579000000_postPermissionInheritance.js.map +0 -1
  2034. package/lib/migrations/1793043000000_postThumbnails.d.ts +0 -6
  2035. package/lib/migrations/1793043000000_postThumbnails.js +0 -35
  2036. package/lib/migrations/1793043000000_postThumbnails.js.map +0 -1
  2037. package/lib-esm/lib/decorators/taon-cms-authorization.d.ts +0 -48
  2038. package/lib-esm/lib/decorators/taon-cms-authorization.js +0 -107
  2039. package/lib-esm/lib/decorators/taon-cms-authorization.js.map +0 -1
  2040. package/lib-esm/lib/migrations/1792579000000_postPermissionInheritance.d.ts +0 -6
  2041. package/lib-esm/lib/migrations/1792579000000_postPermissionInheritance.js +0 -28
  2042. package/lib-esm/lib/migrations/1792579000000_postPermissionInheritance.js.map +0 -1
  2043. package/lib-esm/lib/migrations/1793043000000_postThumbnails.d.ts +0 -6
  2044. package/lib-esm/lib/migrations/1793043000000_postThumbnails.js +0 -26
  2045. package/lib-esm/lib/migrations/1793043000000_postThumbnails.js.map +0 -1
  2046. package/lib-prod/decorators/taon-cms-authorization.d.ts +0 -48
  2047. package/lib-prod/decorators/taon-cms-authorization.js +0 -107
  2048. package/lib-prod/decorators/taon-cms-authorization.js.map +0 -1
  2049. package/lib-prod/migrations/1792579000000_postPermissionInheritance.d.ts +0 -6
  2050. package/lib-prod/migrations/1792579000000_postPermissionInheritance.js +0 -28
  2051. package/lib-prod/migrations/1792579000000_postPermissionInheritance.js.map +0 -1
  2052. package/lib-prod/migrations/1793043000000_postThumbnails.d.ts +0 -6
  2053. package/lib-prod/migrations/1793043000000_postThumbnails.js +0 -26
  2054. package/lib-prod/migrations/1793043000000_postThumbnails.js.map +0 -1
  2055. package/ts-source/browser-code/decorators/taon-cms-authorization.ts +0 -68
  2056. package/ts-source/browser-code/migrations/1792579000000_postPermissionInheritance.ts +0 -36
  2057. package/ts-source/browser-code/migrations/1793043000000_postThumbnails.ts +0 -34
  2058. package/ts-source/browser-code-prod/decorators/taon-cms-authorization.ts +0 -68
  2059. package/ts-source/browser-code-prod/migrations/1792579000000_postPermissionInheritance.ts +0 -36
  2060. package/ts-source/browser-code-prod/migrations/1793043000000_postThumbnails.ts +0 -34
  2061. package/ts-source/websql-code/decorators/taon-cms-authorization.ts +0 -103
  2062. package/ts-source/websql-code/migrations/1792579000000_postPermissionInheritance.ts +0 -36
  2063. package/ts-source/websql-code/migrations/1793043000000_postThumbnails.ts +0 -34
  2064. package/ts-source/websql-code-prod/decorators/taon-cms-authorization.ts +0 -103
  2065. package/ts-source/websql-code-prod/migrations/1792579000000_postPermissionInheritance.ts +0 -36
  2066. package/ts-source/websql-code-prod/migrations/1793043000000_postThumbnails.ts +0 -34
  2067. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.de-DE.i18n.data-CrTGrY98.mjs +0 -31
  2068. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.de-DE.i18n.data-CrTGrY98.mjs.map +0 -1
  2069. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.pl-PL.i18n.data-C_6GO-6u.mjs +0 -31
  2070. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.pl-PL.i18n.data-C_6GO-6u.mjs.map +0 -1
  2071. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.de-DE.i18n.data-KGtM_c5b.mjs +0 -21
  2072. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.de-DE.i18n.data-KGtM_c5b.mjs.map +0 -1
  2073. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-CuPekC-p.mjs +0 -21
  2074. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-CuPekC-p.mjs.map +0 -1
  2075. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-CffxG4KA.mjs +0 -26
  2076. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-CffxG4KA.mjs.map +0 -1
  2077. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-BN0WE84V.mjs +0 -26
  2078. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-BN0WE84V.mjs.map +0 -1
  2079. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-ByT4yNe3.mjs +0 -26
  2080. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-ByT4yNe3.mjs.map +0 -1
  2081. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-CvZI0J4F.mjs +0 -26
  2082. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-CvZI0J4F.mjs.map +0 -1
  2083. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.de-DE.i18n.data-CzlFxoey.mjs +0 -31
  2084. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.de-DE.i18n.data-CzlFxoey.mjs.map +0 -1
  2085. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.en-US.i18n.data-Ddj2dMat.mjs +0 -31
  2086. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.en-US.i18n.data-Ddj2dMat.mjs.map +0 -1
  2087. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-B4LHmo9Z.mjs +0 -31
  2088. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-B4LHmo9Z.mjs.map +0 -1
  2089. package/websql/fesm2022/cms-websql-taon-cms-category.controller.ts.de-DE.i18n.data-BTSefyOU.mjs +0 -16
  2090. package/websql/fesm2022/cms-websql-taon-cms-category.controller.ts.de-DE.i18n.data-BTSefyOU.mjs.map +0 -1
  2091. package/websql/fesm2022/cms-websql-taon-cms-category.controller.ts.en-US.i18n.data-sk17Oud1.mjs +0 -16
  2092. package/websql/fesm2022/cms-websql-taon-cms-category.controller.ts.en-US.i18n.data-sk17Oud1.mjs.map +0 -1
  2093. package/websql/fesm2022/cms-websql-taon-cms-category.controller.ts.pl-PL.i18n.data-CU3deuam.mjs +0 -16
  2094. package/websql/fesm2022/cms-websql-taon-cms-category.controller.ts.pl-PL.i18n.data-CU3deuam.mjs.map +0 -1
  2095. package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.de-DE.i18n.data-Bgztmv1T.mjs +0 -16
  2096. package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.de-DE.i18n.data-Bgztmv1T.mjs.map +0 -1
  2097. package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-CP6e8qJA.mjs +0 -16
  2098. package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-CP6e8qJA.mjs.map +0 -1
  2099. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.de-DE.i18n.data-DW1n5Ozp.mjs +0 -325
  2100. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.de-DE.i18n.data-DW1n5Ozp.mjs.map +0 -1
  2101. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.en-US.i18n.data-Dzy3apgE.mjs +0 -325
  2102. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.en-US.i18n.data-Dzy3apgE.mjs.map +0 -1
  2103. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.pl-PL.i18n.data-DrmyJ9lw.mjs +0 -325
  2104. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.pl-PL.i18n.data-DrmyJ9lw.mjs.map +0 -1
  2105. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.de-DE.i18n.data-C1N9Zgdi.mjs +0 -175
  2106. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.de-DE.i18n.data-C1N9Zgdi.mjs.map +0 -1
  2107. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.en-US.i18n.data-Demtpm74.mjs +0 -172
  2108. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.en-US.i18n.data-Demtpm74.mjs.map +0 -1
  2109. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.pl-PL.i18n.data-oFM6Hko5.mjs +0 -175
  2110. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.pl-PL.i18n.data-oFM6Hko5.mjs.map +0 -1
  2111. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-D2WxrzSb.mjs +0 -21
  2112. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-D2WxrzSb.mjs.map +0 -1
  2113. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-CgoD8Vbu.mjs +0 -21
  2114. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-CgoD8Vbu.mjs.map +0 -1
  2115. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-l5tJy98a.mjs +0 -70
  2116. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-l5tJy98a.mjs.map +0 -1
  2117. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-aSYNKmBN.mjs +0 -70
  2118. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-aSYNKmBN.mjs.map +0 -1
  2119. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-BWSMhDtu.mjs +0 -70
  2120. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-BWSMhDtu.mjs.map +0 -1
  2121. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-BdZ28aPt.mjs +0 -21
  2122. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-BdZ28aPt.mjs.map +0 -1
  2123. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-Cb6fpkBc.mjs +0 -21
  2124. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-Cb6fpkBc.mjs.map +0 -1
  2125. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.de-DE.i18n.data-D3SqNlkz.mjs +0 -71
  2126. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.de-DE.i18n.data-D3SqNlkz.mjs.map +0 -1
  2127. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-bW3Mgb29.mjs +0 -71
  2128. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-bW3Mgb29.mjs.map +0 -1
  2129. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-Dv-fdvwp.mjs +0 -26
  2130. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-Dv-fdvwp.mjs.map +0 -1
  2131. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-CTV6RgOp.mjs +0 -26
  2132. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-CTV6RgOp.mjs.map +0 -1
  2133. package/websql/fesm2022/cms-websql-taon-cms-tag.controller.ts.de-DE.i18n.data-CoARqE22.mjs +0 -16
  2134. package/websql/fesm2022/cms-websql-taon-cms-tag.controller.ts.de-DE.i18n.data-CoARqE22.mjs.map +0 -1
  2135. package/websql/fesm2022/cms-websql-taon-cms-tag.controller.ts.en-US.i18n.data-CeImcANT.mjs +0 -16
  2136. package/websql/fesm2022/cms-websql-taon-cms-tag.controller.ts.en-US.i18n.data-CeImcANT.mjs.map +0 -1
  2137. package/websql/fesm2022/cms-websql-taon-cms-tag.controller.ts.pl-PL.i18n.data-Bq0l9GAF.mjs +0 -16
  2138. package/websql/fesm2022/cms-websql-taon-cms-tag.controller.ts.pl-PL.i18n.data-Bq0l9GAF.mjs.map +0 -1
  2139. package/websql/fesm2022/cms-websql-taon-cms-tag.repository.ts.pl-PL.i18n.data-BQS3WOJE.mjs +0 -21
  2140. package/websql/fesm2022/cms-websql-taon-cms-tag.repository.ts.pl-PL.i18n.data-BQS3WOJE.mjs.map +0 -1
  2141. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.de-DE.i18n.data-CK0IltgG.mjs +0 -50
  2142. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.de-DE.i18n.data-CK0IltgG.mjs.map +0 -1
  2143. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.pl-PL.i18n.data-BH7C3AJ0.mjs +0 -50
  2144. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.pl-PL.i18n.data-BH7C3AJ0.mjs.map +0 -1
  2145. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.de-DE.i18n.data-y_x66BLv.mjs +0 -21
  2146. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.de-DE.i18n.data-y_x66BLv.mjs.map +0 -1
  2147. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.pl-PL.i18n.data-CrFrEqfR.mjs +0 -21
  2148. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.pl-PL.i18n.data-CrFrEqfR.mjs.map +0 -1
  2149. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-D-t_ndXn.mjs +0 -31
  2150. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-D-t_ndXn.mjs.map +0 -1
  2151. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-Dsra3EeZ.mjs +0 -31
  2152. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-Dsra3EeZ.mjs.map +0 -1
  2153. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-DT7qFf7D.mjs +0 -21
  2154. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-DT7qFf7D.mjs.map +0 -1
  2155. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-BqRkgB92.mjs +0 -21
  2156. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-BqRkgB92.mjs.map +0 -1
  2157. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-ByVH6z2Z.mjs +0 -26
  2158. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-ByVH6z2Z.mjs.map +0 -1
  2159. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-Bs8amcIs.mjs +0 -26
  2160. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-Bs8amcIs.mjs.map +0 -1
  2161. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-DGADylre.mjs +0 -26
  2162. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-DGADylre.mjs.map +0 -1
  2163. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-Cvak6-ec.mjs +0 -26
  2164. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-Cvak6-ec.mjs.map +0 -1
  2165. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-El7DeGTg.mjs +0 -31
  2166. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-El7DeGTg.mjs.map +0 -1
  2167. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-CzYi31y6.mjs +0 -31
  2168. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-CzYi31y6.mjs.map +0 -1
  2169. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data--hNK9Xkt.mjs +0 -31
  2170. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data--hNK9Xkt.mjs.map +0 -1
  2171. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.controller.ts.de-DE.i18n.data-CExlN4WS.mjs +0 -16
  2172. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.controller.ts.de-DE.i18n.data-CExlN4WS.mjs.map +0 -1
  2173. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.controller.ts.en-US.i18n.data-B_PYr-6x.mjs +0 -16
  2174. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.controller.ts.en-US.i18n.data-B_PYr-6x.mjs.map +0 -1
  2175. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.controller.ts.pl-PL.i18n.data-mQb8xdX1.mjs +0 -16
  2176. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.controller.ts.pl-PL.i18n.data-mQb8xdX1.mjs.map +0 -1
  2177. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.de-DE.i18n.data-BLkIVWeD.mjs +0 -16
  2178. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.de-DE.i18n.data-BLkIVWeD.mjs.map +0 -1
  2179. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-CbIqWbm3.mjs +0 -16
  2180. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-CbIqWbm3.mjs.map +0 -1
  2181. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.de-DE.i18n.data-BxcX3l2T.mjs +0 -325
  2182. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.de-DE.i18n.data-BxcX3l2T.mjs.map +0 -1
  2183. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.en-US.i18n.data-g9lHRbOQ.mjs +0 -325
  2184. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.en-US.i18n.data-g9lHRbOQ.mjs.map +0 -1
  2185. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.pl-PL.i18n.data-Cg4a0vHn.mjs +0 -325
  2186. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.pl-PL.i18n.data-Cg4a0vHn.mjs.map +0 -1
  2187. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.de-DE.i18n.data-BwRnTGxe.mjs +0 -175
  2188. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.de-DE.i18n.data-BwRnTGxe.mjs.map +0 -1
  2189. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.en-US.i18n.data-R5nOhvtu.mjs +0 -172
  2190. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.en-US.i18n.data-R5nOhvtu.mjs.map +0 -1
  2191. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.pl-PL.i18n.data-VmobXbTc.mjs +0 -175
  2192. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.pl-PL.i18n.data-VmobXbTc.mjs.map +0 -1
  2193. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-CgN5IPiF.mjs +0 -21
  2194. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-CgN5IPiF.mjs.map +0 -1
  2195. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-D20weGEY.mjs +0 -21
  2196. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-D20weGEY.mjs.map +0 -1
  2197. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-B4suZvEh.mjs +0 -70
  2198. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-B4suZvEh.mjs.map +0 -1
  2199. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-BF3C9IWs.mjs +0 -70
  2200. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-BF3C9IWs.mjs.map +0 -1
  2201. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-BWwu-KCW.mjs +0 -70
  2202. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-BWwu-KCW.mjs.map +0 -1
  2203. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-5LisKXGn.mjs +0 -21
  2204. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-5LisKXGn.mjs.map +0 -1
  2205. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-CEEZs_nF.mjs +0 -21
  2206. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-CEEZs_nF.mjs.map +0 -1
  2207. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.de-DE.i18n.data-s-UFLYqy.mjs +0 -71
  2208. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.de-DE.i18n.data-s-UFLYqy.mjs.map +0 -1
  2209. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-LaD1B9nr.mjs +0 -71
  2210. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-LaD1B9nr.mjs.map +0 -1
  2211. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-DIl-O_Xe.mjs +0 -26
  2212. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-DIl-O_Xe.mjs.map +0 -1
  2213. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-D7CkcVJ3.mjs +0 -26
  2214. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-D7CkcVJ3.mjs.map +0 -1
  2215. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.controller.ts.de-DE.i18n.data-DeQB5uhd.mjs +0 -16
  2216. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.controller.ts.de-DE.i18n.data-DeQB5uhd.mjs.map +0 -1
  2217. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.controller.ts.en-US.i18n.data-Dvq54oiB.mjs +0 -16
  2218. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.controller.ts.en-US.i18n.data-Dvq54oiB.mjs.map +0 -1
  2219. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.controller.ts.pl-PL.i18n.data-CXyb5AME.mjs +0 -16
  2220. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.controller.ts.pl-PL.i18n.data-CXyb5AME.mjs.map +0 -1
  2221. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.repository.ts.pl-PL.i18n.data-xYvTZmo4.mjs +0 -21
  2222. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.repository.ts.pl-PL.i18n.data-xYvTZmo4.mjs.map +0 -1
  2223. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.de-DE.i18n.data-BuyxcbGo.mjs +0 -50
  2224. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.de-DE.i18n.data-BuyxcbGo.mjs.map +0 -1
  2225. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.pl-PL.i18n.data-Czg6baw4.mjs +0 -50
  2226. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.pl-PL.i18n.data-Czg6baw4.mjs.map +0 -1
  2227. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.de-DE.i18n.data-O04abirC.mjs +0 -21
  2228. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.de-DE.i18n.data-O04abirC.mjs.map +0 -1
  2229. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.pl-PL.i18n.data-BIhfEto8.mjs +0 -21
  2230. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.pl-PL.i18n.data-BIhfEto8.mjs.map +0 -1
  2231. /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
  2232. /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
  2233. /package/ts-source/browser-code-prod/{migrations/1793043000000_postThumbnails.split-namespaces.json → taon-posts/taon-cms-course-backoffice/index.split-namespaces.json} +0 -0
  2234. /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
  2235. /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
  2236. /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,12 +1,12 @@
1
1
  import { __decorate, __metadata, __param } from 'tslib';
2
- import { TaonBaseEntity, TaonEntity, PrimaryGeneratedColumn, Column, OneToOne, JoinColumn, TaonBaseMigration, ClassHelpers__NS__getName, TaonMigration, TaonBaseAbstractEntity, TaonRepository, TaonBaseRepository, TaonBaseCrudController, POST, Query, Body, DELETE, TaonController, TaonBaseProvider, TaonProvider, TaonBaseMiddleware, TaonMiddleware, TaonBaseSubscriberForEntity, TaonSubscriber, createContext, TaonBaseContext, GET, Taon__NS__error, TaonBaseStorageController, PUT, TaonBaseAngularService } from 'taon/browser-prod';
3
- import { Table, TableColumn } from 'taon-typeorm/browser-prod';
2
+ import { TaonBaseEntity, TaonEntity, PrimaryGeneratedColumn, Column, OneToOne, JoinColumn, TaonBaseMigration, ClassHelpers__NS__getName, TaonMigration, TaonBaseAbstractEntity, TaonBaseRepository, TaonRepository, TaonBaseCrudController, POST, Query, Body, DELETE, TaonController, TaonBaseProvider, TaonProvider, TaonBaseMiddleware, TaonMiddleware, TaonBaseSubscriberForEntity, TaonSubscriber, createContext, TaonBaseContext, GET, Taon__NS__error, TaonBaseStorageController, PUT, TaonBaseAngularService } from 'taon/browser-prod';
3
+ import { Table } from 'taon-typeorm/browser-prod';
4
4
  import { UtilsJson__NS__getValue, ___NS__first } from 'tnp-core/browser-prod';
5
5
  import { BaseCommandLineFeature } from 'tnp-helpers/browser-prod';
6
- import { TaonSessionCoreGroups as TaonSessionCoreGroups$1, TaonSessionCoreRoles as TaonSessionCoreRoles$1, TaonSessionCorePermissions as TaonSessionCorePermissions$1, TaonAuthContextEntity as TaonAuthContextEntity$1, TaonAuthContextHasAccess as TaonAuthContextHasAccess$1, TaonAuthContextRepository as TaonAuthContextRepository$1, MIGRATIONS_CLASSES_FOR_SessionContext, TaonSessionRepository, TaonSessionProvider, TaonSessionAbstractContext, TaonPermissionApiService } from '@taon-dev/session/browser-prod';
6
+ import { TaonSessionRepository, TaonAuthContextRepository, TaonSessionProvider, TaonSessionAbstractContext, TaonPermissionApiService } from '@taon-dev/session/browser-prod';
7
7
  import { Translation } from '@taon-dev/i18n/browser-prod';
8
8
  import * as i0 from '@angular/core';
9
- import { Injectable, inject, DestroyRef, signal, Input, ChangeDetectionStrategy, Component, ElementRef, EventEmitter, SecurityContext, HostListener, Output, Directive, computed, input, model, output, effect, untracked, ViewChild } from '@angular/core';
9
+ import { Injectable, inject, DestroyRef, signal, Input, ChangeDetectionStrategy, Component, Directive, ViewChild, ElementRef, EventEmitter, SecurityContext, HostListener, Output, computed, input, model, output, viewChild, effect, untracked } from '@angular/core';
10
10
  import * as i1 from '@angular/material/button';
11
11
  import { MatButtonModule } from '@angular/material/button';
12
12
  import { Observable, of, map as map$1, finalize, forkJoin, firstValueFrom } from 'rxjs';
@@ -18,7 +18,7 @@ import { AsyncPipe, DatePipe } from '@angular/common';
18
18
  import { RouterOutlet, ActivatedRoute, Router, RouterLink } from '@angular/router';
19
19
  import * as i1$1 from '@angular/forms';
20
20
  import { FormsModule } from '@angular/forms';
21
- import * as i2 from '@angular/material/dialog';
21
+ import * as i2$1 from '@angular/material/dialog';
22
22
  import { MatDialog, MAT_DIALOG_DATA, MatDialogRef, MatDialogModule } from '@angular/material/dialog';
23
23
  import * as i3 from '@angular/material/form-field';
24
24
  import { MatFormFieldModule } from '@angular/material/form-field';
@@ -26,17 +26,23 @@ import * as i4 from '@angular/material/input';
26
26
  import { MatInputModule } from '@angular/material/input';
27
27
  import * as i5 from '@angular/material/select';
28
28
  import { MatSelectModule } from '@angular/material/select';
29
+ import * as i2 from '@angular/material/icon';
30
+ import { MatIconModule } from '@angular/material/icon';
29
31
  import { DomSanitizer } from '@angular/platform-browser';
30
- import * as i2$1 from '@angular/material/checkbox';
32
+ import * as i2$2 from '@angular/material/checkbox';
31
33
  import { MatCheckboxModule } from '@angular/material/checkbox';
32
- import * as i4$1 from '@angular/material/icon';
33
- import { MatIconModule } from '@angular/material/icon';
34
- import * as i6 from '@angular/material/chips';
34
+ import * as i9 from '@angular/material/chips';
35
35
  import { MatChipsModule } from '@angular/material/chips';
36
- import * as i7 from '@angular/material/progress-bar';
36
+ import * as i6 from '@angular/material/menu';
37
+ import { MatMenuModule } from '@angular/material/menu';
38
+ import * as i10 from '@angular/material/progress-bar';
37
39
  import { MatProgressBarModule } from '@angular/material/progress-bar';
38
40
  import * as i3$1 from '@angular/material/radio';
39
41
  import { MatRadioModule } from '@angular/material/radio';
42
+ import * as i7 from '@angular/material/tabs';
43
+ import { MatTabsModule } from '@angular/material/tabs';
44
+ import * as i8 from 'ngx-editor';
45
+ import { Editor, toHTML, NgxEditorModule } from 'ngx-editor';
40
46
 
41
47
  var TaonCmsContentType;
42
48
  (function (TaonCmsContentType) {
@@ -175,11 +181,14 @@ let CmsContext_1792506757808_applicaitonHooks = class CmsContext_1792506757808_a
175
181
  }
176
182
  }
177
183
  //#endregion
184
+ getApplicationHooks() {
185
+ return TaonCmsApplicationHook;
186
+ }
178
187
  async persistApplicationHooks(queryRunner) {
179
188
  const repository = queryRunner.manager.getRepository(TaonCmsApplicationHookEntity);
180
- for (const hook of Object.values(TaonCmsApplicationHook)) {
181
- if (!(await repository.findOneBy({ hook }))) {
182
- await repository.save(repository.create({ hook, contentId: null }));
189
+ for (const hook of Object.values(this.getApplicationHooks())) {
190
+ if (!(await repository.findOneBy({ hook: hook }))) {
191
+ await repository.save(repository.create({ hook: hook, contentId: null }));
183
192
  }
184
193
  }
185
194
  }
@@ -191,67 +200,14 @@ CmsContext_1792506757808_applicaitonHooks = __decorate([
191
200
  ], CmsContext_1792506757808_applicaitonHooks);
192
201
  //#endregion
193
202
 
194
- let CmsContext_1792579000000_postPermissionInheritance = class CmsContext_1792579000000_postPermissionInheritance extends TaonBaseMigration {
195
- async up(queryRunner) {
196
- const table = ClassHelpers__NS__getName(TaonCmsContentEntity);
197
- if (!(await queryRunner.hasColumn(table, 'applyPermissionsToRelatedPosts'))) {
198
- await queryRunner.addColumn(table, new TableColumn({
199
- name: 'applyPermissionsToRelatedPosts',
200
- type: 'boolean',
201
- default: false,
202
- }));
203
- }
204
- }
205
- async down(queryRunner) {
206
- const table = ClassHelpers__NS__getName(TaonCmsContentEntity);
207
- if (await queryRunner.hasColumn(table, 'applyPermissionsToRelatedPosts')) {
208
- await queryRunner.dropColumn(table, 'applyPermissionsToRelatedPosts');
209
- }
210
- }
211
- };
212
- CmsContext_1792579000000_postPermissionInheritance = __decorate([
213
- TaonMigration({
214
- className: 'CmsContext_1792579000000_postPermissionInheritance',
215
- })
216
- ], CmsContext_1792579000000_postPermissionInheritance);
217
-
218
- let CmsContext_1793043000000_postThumbnails = class CmsContext_1793043000000_postThumbnails extends TaonBaseMigration {
219
- async up(queryRunner) {
220
- const table = ClassHelpers__NS__getName(TaonCmsContentEntity);
221
- if (!(await queryRunner.hasColumn(table, 'thumbnailKey'))) {
222
- await queryRunner.addColumn(table, new TableColumn({
223
- name: 'thumbnailKey',
224
- type: 'varchar',
225
- isNullable: true,
226
- }));
227
- }
228
- }
229
- async down(queryRunner) {
230
- const table = ClassHelpers__NS__getName(TaonCmsContentEntity);
231
- if (await queryRunner.hasColumn(table, 'thumbnailKey')) {
232
- await queryRunner.dropColumn(table, 'thumbnailKey');
233
- }
234
- }
235
- };
236
- CmsContext_1793043000000_postThumbnails = __decorate([
237
- TaonMigration({ className: 'CmsContext_1793043000000_postThumbnails' })
238
- ], CmsContext_1793043000000_postThumbnails);
239
-
240
203
  // THIS FILE IS GENERATED - DO NOT MODIFY
241
204
  // THIS FILE IS GENERATED - DO NOT MODIFY
242
- const MIGRATIONS_CLASSES_FOR_CmsContext$1 = {
205
+ const MIGRATIONS_CLASSES_FOR_CmsContext = {
243
206
  /* 20-10-2026 16:32:37 */ CmsContext_1792506757808_applicaitonHooks,
244
- /* 21-10-2026 12:36:40 */ CmsContext_1792579000000_postPermissionInheritance,
245
- /* 26-10-2026 20:30:00 */ CmsContext_1793043000000_postThumbnails,
246
207
  };
247
208
  // THIS FILE IS GENERATED - DO NOT MODIFY
248
209
 
249
210
  //@ts-nocheck
250
- const MIGRATIONS_CLASSES_FOR_CmsContext = {
251
- ...MIGRATIONS_CLASSES_FOR_CmsContext$1,
252
- CmsContext_1792579000000_postPermissionInheritance,
253
- CmsContext_1793043000000_postThumbnails,
254
- };
255
211
 
256
212
  // THIS FILE IS GENERATED - DO NOT MODIFY
257
213
  /**
@@ -277,7 +233,7 @@ const CURRENT_PACKAGE_TAON_VERSION = 'v21';
277
233
  /**
278
234
  * Autogenerated by current cli tool. Use *tnp release* to bump version.
279
235
  */
280
- const CURRENT_PACKAGE_VERSION = '21.0.19';
236
+ const CURRENT_PACKAGE_VERSION = '21.0.20';
281
237
  // THIS FILE IS GENERATED - DO NOT MODIFY
282
238
 
283
239
  //#region tnp-helpers cli template
@@ -379,118 +335,8 @@ TaonCmsCategoryEntity = __decorate([
379
335
  })
380
336
  ], TaonCmsCategoryEntity);
381
337
 
382
- //#region taon auth decorator
383
- const TaonSessionCoreGroups = {
384
- ...TaonSessionCoreGroups$1,
385
- Manager: 'manager',
386
- };
387
- const TaonSessionCoreRoles = {
388
- ...TaonSessionCoreRoles$1,
389
- /**
390
- * Can manage roles and permissions assigned directly to users.
391
- * Does NOT allow changing user groups.
392
- */
393
- PostsManager: 'posts-manager',
394
- PremiumUser1: 'premium-user-1',
395
- PremiumUser2: 'premium-user-2',
396
- };
397
- const TaonSessionCorePermissions = {
398
- ...TaonSessionCorePermissions$1,
399
- ViewPrivateVideo1: 'view-private-video-1',
400
- ViewPrivateVideo2: 'view-private-video-2',
401
- };
402
- let TaonAuthContextEntity = class TaonAuthContextEntity extends TaonAuthContextEntity$1 {
403
- // @ts-ignore
404
- get hasAccess() {
405
- return this.injectClass(TaonAuthContextHasAccess, this);
406
- }
407
- };
408
- TaonAuthContextEntity = __decorate([
409
- TaonEntity({
410
- className: 'TaonAuthContextEntity',
411
- createTable: false,
412
- })
413
- ], TaonAuthContextEntity);
414
- class TaonAuthContextHasAccess extends TaonAuthContextHasAccess$1 {
415
- get toManagePosts() {
416
- //#region @browserFunc
417
- return this.context.snapshoot.toManagePosts;
418
- //#endregion
419
- /* */
420
- /* */
421
- /* */
422
- /* */
423
- /* */
424
- return (void 0);
425
- }
426
- }
427
- let TaonAuthContextRepository = class TaonAuthContextRepository extends TaonAuthContextRepository$1 {
428
- constructor() {
429
- super(...arguments);
430
- // @ts-ignore
431
- this.entityClassResolveFn = () => TaonAuthContextEntity;
432
- }
433
- };
434
- TaonAuthContextRepository = __decorate([
435
- TaonRepository({
436
- className: 'TaonAuthContextRepository',
437
- })
438
- ], TaonAuthContextRepository);
439
- let CmsContext_1791132517217_initial = class CmsContext_1791132517217_initial extends MIGRATIONS_CLASSES_FOR_SessionContext.SessionContext_1791132517216_initial {
440
- async persistTree() {
441
- /* */
442
- /* */
443
- /* */
444
- /* */
445
- /* */
446
- /* */
447
- /* */
448
- /* */
449
- /* */
450
- /* */
451
- /* */
452
- /* */
453
- /* */
454
- /* */
455
- /* */
456
- /* */
457
- /* */
458
- /* */
459
- /* */
460
- /* */
461
- /* */
462
- /* */
463
- /* */
464
- /* */
465
- /* */
466
- /* */
467
- /* */
468
- /* */
469
- /* */
470
- /* */
471
- /* */
472
- /* */
473
- /* */
474
- /* */
475
- /* */
476
- /* */
477
- /* */
478
- /* */
479
- /* */
480
- /* */
481
- /* */
482
- return (void 0);
483
- }
484
- };
485
- CmsContext_1791132517217_initial = __decorate([
486
- TaonMigration({
487
- className: 'CmsContext_1791132517217_initial',
488
- })
489
- ], CmsContext_1791132517217_initial);
490
- //#endregion
491
-
492
338
  //#endregion
493
- const t$d = 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('./cms-browser-prod-taon-cms-category.controller.ts.en-US.i18n.data-Ckuw2o-a.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-category.controller.ts.pl-PL.i18n.data-CP8q0EDA.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-category.controller.ts.de-DE.i18n.data-CDUBs36X.mjs')).default }, "src/lib/taon-cms-category/taon-cms-category.repository.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-category.repository.ts.en-US.i18n.data-DEDAUHCN.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-category.repository.ts.pl-PL.i18n.data-vfVCRZ0l.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-category.repository.ts.de-DE.i18n.data-BAt9wXhq.mjs')).default }, "src/lib/taon-cms-category/taon-cms-taxonomy.validation.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-taxonomy.validation.ts.en-US.i18n.data-BjGkpdq6.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-taxonomy.validation.ts.pl-PL.i18n.data-CzWbeuv5.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-taxonomy.validation.ts.de-DE.i18n.data-CEKXSxan.mjs')).default } });
339
+ const t$h = 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('./cms-browser-prod-taon-cms-category.controller.ts.en-US.i18n.data-DB_Lnw-B.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-category.controller.ts.pl-PL.i18n.data-xlEjTzLi.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-category.controller.ts.de-DE.i18n.data-Bf9B2I5S.mjs')).default }, "src/lib/taon-cms-category/taon-cms-category.repository.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-category.repository.ts.en-US.i18n.data-DEDAUHCN.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-category.repository.ts.pl-PL.i18n.data-vfVCRZ0l.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-category.repository.ts.de-DE.i18n.data-BAt9wXhq.mjs')).default }, "src/lib/taon-cms-category/taon-cms-taxonomy.validation.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-taxonomy.validation.ts.en-US.i18n.data-BjGkpdq6.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-taxonomy.validation.ts.pl-PL.i18n.data-CzWbeuv5.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-taxonomy.validation.ts.de-DE.i18n.data-CEKXSxan.mjs')).default } });
494
340
  let TaonCmsCategoryRepository = class TaonCmsCategoryRepository extends TaonBaseRepository {
495
341
  constructor() {
496
342
  super(...arguments);
@@ -1075,7 +921,7 @@ TaonCmsTagEntity = __decorate([
1075
921
  ], TaonCmsTagEntity);
1076
922
 
1077
923
  //#endregion
1078
- const t$c = 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('./cms-browser-prod-taon-cms-tag.controller.ts.en-US.i18n.data-3oxZelGB.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-tag.controller.ts.pl-PL.i18n.data-z6ufNE6q.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-tag.controller.ts.de-DE.i18n.data-mHMHPrI-.mjs')).default }, "src/lib/taon-cms-tag/taon-cms-tag.repository.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-tag.repository.ts.en-US.i18n.data-StHinq7f.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-tag.repository.ts.pl-PL.i18n.data-DYbKxB3P.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-tag.repository.ts.de-DE.i18n.data-CY1yB1IT.mjs')).default } });
924
+ const t$g = 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('./cms-browser-prod-taon-cms-tag.controller.ts.en-US.i18n.data-8IpjJJb5.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-tag.controller.ts.pl-PL.i18n.data-8GlfYssx.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-tag.controller.ts.de-DE.i18n.data-DLaHcrcv.mjs')).default }, "src/lib/taon-cms-tag/taon-cms-tag.repository.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-tag.repository.ts.en-US.i18n.data-StHinq7f.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-tag.repository.ts.pl-PL.i18n.data-w2D2evXR.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-tag.repository.ts.de-DE.i18n.data-CY1yB1IT.mjs')).default } });
1079
925
  let TaonCmsTagRepository = class TaonCmsTagRepository extends TaonBaseRepository {
1080
926
  constructor() {
1081
927
  super(...arguments);
@@ -1594,6 +1440,20 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1594
1440
  /* */
1595
1441
  return (void 0);
1596
1442
  }
1443
+ async listCourses() {
1444
+ /* */
1445
+ /* */
1446
+ /* */
1447
+ /* */
1448
+ /* */
1449
+ /* */
1450
+ /* */
1451
+ /* */
1452
+ /* */
1453
+ /* */
1454
+ /* */
1455
+ return (void 0);
1456
+ }
1597
1457
  async listRelatedPosts(id) {
1598
1458
  /* */
1599
1459
  /* */
@@ -1608,7 +1468,12 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1608
1468
  /* */
1609
1469
  return (void 0);
1610
1470
  }
1611
- async getPermissionConfiguration(id) {
1471
+ async getPermissionConfiguration(id, skipTransaction = false) {
1472
+ /* */
1473
+ /* */
1474
+ /* */
1475
+ /* */
1476
+ /* */
1612
1477
  /* */
1613
1478
  /* */
1614
1479
  /* */
@@ -2359,6 +2224,11 @@ let TaonCmsContentController = class TaonCmsContentController extends TaonBaseCr
2359
2224
  /* */
2360
2225
  return (void 0);
2361
2226
  }
2227
+ listCourses() {
2228
+ /* */
2229
+ /* */
2230
+ return (void 0);
2231
+ }
2362
2232
  listTagIds(id) {
2363
2233
  /* */
2364
2234
  /* */
@@ -2637,6 +2507,12 @@ __decorate([
2637
2507
  __metadata("design:paramtypes", [String]),
2638
2508
  __metadata("design:returntype", Object)
2639
2509
  ], TaonCmsContentController.prototype, "getPublicThumbnailLinkBySlug", null);
2510
+ __decorate([
2511
+ GET(),
2512
+ __metadata("design:type", Function),
2513
+ __metadata("design:paramtypes", []),
2514
+ __metadata("design:returntype", Object)
2515
+ ], TaonCmsContentController.prototype, "listCourses", null);
2640
2516
  __decorate([
2641
2517
  GET(),
2642
2518
  __param(0, Query('id')),
@@ -2769,6 +2645,7 @@ TaonCmsContentController = __decorate([
2769
2645
  'restoreContent',
2770
2646
  'listRevisions',
2771
2647
  'listRelatedPosts',
2648
+ 'listCourses',
2772
2649
  'listPermissions',
2773
2650
  'getPermissionConfiguration',
2774
2651
  'listApplicationHooks',
@@ -2802,18 +2679,17 @@ TaonCmsContentMiddleware = __decorate([
2802
2679
 
2803
2680
  //#endregion
2804
2681
  let TaonCmsContentProvider = class TaonCmsContentProvider extends TaonBaseProvider {
2805
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsContentProvider, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
2806
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsContentProvider }); }
2682
+ async _() {
2683
+ if (!this.siteName) {
2684
+ throw new Error(`Please provide siteName in TaonCmsContentProvider`);
2685
+ }
2686
+ }
2807
2687
  };
2808
2688
  TaonCmsContentProvider = __decorate([
2809
2689
  TaonProvider({
2810
2690
  className: 'TaonCmsContentProvider',
2811
2691
  })
2812
- //#region @browser
2813
2692
  ], TaonCmsContentProvider);
2814
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsContentProvider, decorators: [{
2815
- type: Injectable
2816
- }] });
2817
2693
 
2818
2694
  //#endregion
2819
2695
  let TaonCmsContentSubscriber = class TaonCmsContentSubscriber extends TaonBaseSubscriberForEntity {
@@ -3259,6 +3135,12 @@ class TaonCmsContentApiService extends TaonBaseAngularService {
3259
3135
  get crudController() {
3260
3136
  return this.taonCmsContentController;
3261
3137
  }
3138
+ get frontendUrl() {
3139
+ return this.ctx.frontendHostUri.origin;
3140
+ }
3141
+ getPostUrl(slug) {
3142
+ return `${this.frontendUrl}/posts/${encodeURIComponent(slug)}`;
3143
+ }
3262
3144
  //#endregion
3263
3145
  //#region API / get by id
3264
3146
  async getById(id) {
@@ -3433,6 +3315,10 @@ class TaonCmsContentApiService extends TaonBaseAngularService {
3433
3315
  }
3434
3316
  //#endregion
3435
3317
  //#region API / list related posts
3318
+ listCourses() {
3319
+ return this.taonCmsContentController.listCourses()
3320
+ .request().observable.pipe(map(res => res.body.json));
3321
+ }
3436
3322
  listRelatedPosts(id) {
3437
3323
  return this.taonCmsContentController.listRelatedPosts(id)
3438
3324
  .request().observable.pipe(map(res => res.body.json));
@@ -3475,10 +3361,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
3475
3361
  type: Injectable
3476
3362
  }] });
3477
3363
 
3478
- const t$b = 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('./cms-browser-prod-taon-cms-asset-preview.component.html.en-US.i18n.data-BnfBa5FP.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-CI9R_TWY.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-Cnee0qF_.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-asset-preview.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-asset-preview.component.ts.en-US.i18n.data-COrEvH90.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-IX85Hp7B.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-CuJ1DFEy.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-assets-backoffice.component.html.en-US.i18n.data-B866wa9u.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-BY-OWFhb.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-DJo4v6QY.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-CDumPCL3.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-CnlTu58H.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-CsC2V1RP.mjs')).default } });
3364
+ const t$f = 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('./cms-browser-prod-taon-cms-asset-preview.component.html.en-US.i18n.data-BnfBa5FP.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-BIPCNubG.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-CQWEOr2a.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-asset-preview.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-asset-preview.component.ts.en-US.i18n.data-COrEvH90.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-gbqFHxUm.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-D71axXiQ.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-assets-backoffice.component.html.en-US.i18n.data-B866wa9u.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-BE968JEH.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-1ZS37w7E.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-CDumPCL3.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-Ks9cZliv.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-StvX-ZT8.mjs')).default } });
3479
3365
  class TaonCmsAssetPreviewComponent {
3480
3366
  constructor() {
3481
- this.t = t$b.for(this);
3367
+ this.t = t$f.for(this);
3482
3368
  this.api = inject(TaonCmsContentApiService);
3483
3369
  this.destroyRef = inject(DestroyRef);
3484
3370
  this.url = signal('', ...(ngDevMode ? [{ debugName: "url" }] : []));
@@ -3540,10 +3426,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
3540
3426
  args: [{ required: true }]
3541
3427
  }] } });
3542
3428
 
3543
- const t$a = 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('./cms-browser-prod-taon-cms-asset-preview.component.html.en-US.i18n.data-BnfBa5FP.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-CI9R_TWY.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-Cnee0qF_.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-asset-preview.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-asset-preview.component.ts.en-US.i18n.data-COrEvH90.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-IX85Hp7B.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-CuJ1DFEy.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-assets-backoffice.component.html.en-US.i18n.data-B866wa9u.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-BY-OWFhb.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-DJo4v6QY.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-CDumPCL3.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-CnlTu58H.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-CsC2V1RP.mjs')).default } });
3429
+ const t$e = 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('./cms-browser-prod-taon-cms-asset-preview.component.html.en-US.i18n.data-BnfBa5FP.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-BIPCNubG.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-CQWEOr2a.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-asset-preview.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-asset-preview.component.ts.en-US.i18n.data-COrEvH90.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-gbqFHxUm.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-D71axXiQ.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-assets-backoffice.component.html.en-US.i18n.data-B866wa9u.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-BE968JEH.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-1ZS37w7E.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-CDumPCL3.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-Ks9cZliv.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-StvX-ZT8.mjs')).default } });
3544
3430
  class TaonCmsAssetsBackofficeComponent {
3545
3431
  constructor() {
3546
- this.t = t$a.for(this);
3432
+ this.t = t$e.for(this);
3547
3433
  this.api = inject(TaonCmsContentApiService);
3548
3434
  this.destroyRef = inject(DestroyRef);
3549
3435
  this.assets = signal([], ...(ngDevMode ? [{ debugName: "assets" }] : []));
@@ -3613,10 +3499,10 @@ var taonCmsAssetsBackoffice_routes = /*#__PURE__*/Object.freeze({
3613
3499
 
3614
3500
  //#region imports
3615
3501
  //#endregion
3616
- const t$9 = 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('./cms-browser-prod-taon-cms-backoffice.component.html.en-US.i18n.data-q7WqXEJw.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-backoffice.component.html.pl-PL.i18n.data-BSwBNQpH.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-backoffice.component.html.de-DE.i18n.data-CqIu3bBE.mjs')).default }, "src/lib/taon-cms-backoffice/taon-cms-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-backoffice.component.ts.en-US.i18n.data-BdhGIeUK.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-backoffice.component.ts.pl-PL.i18n.data-BVwuFYPF.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-backoffice.component.ts.de-DE.i18n.data-CvbuuDAa.mjs')).default }, "src/lib/taon-cms-backoffice/taon-cms-backoffice.routes.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-BUBi6h_q.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-BJ03B4ix.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-BbCjJoVh.mjs')).default } });
3502
+ const t$d = 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('./cms-browser-prod-taon-cms-backoffice.component.html.en-US.i18n.data-q7WqXEJw.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-backoffice.component.html.pl-PL.i18n.data-BSwBNQpH.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-backoffice.component.html.de-DE.i18n.data-CqIu3bBE.mjs')).default }, "src/lib/taon-cms-backoffice/taon-cms-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-backoffice.component.ts.en-US.i18n.data-BdhGIeUK.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-backoffice.component.ts.pl-PL.i18n.data-BVwuFYPF.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-backoffice.component.ts.de-DE.i18n.data-CvbuuDAa.mjs')).default }, "src/lib/taon-cms-backoffice/taon-cms-backoffice.routes.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-bIYJXCtW.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-Do9n0Gxn.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-4S1imZUX.mjs')).default } });
3617
3503
  class TaonCmsBackofficeComponent {
3618
3504
  constructor() {
3619
- this.t = t$9.for(this);
3505
+ this.t = t$d.for(this);
3620
3506
  this.componentLoaded = false;
3621
3507
  }
3622
3508
  onRouteActivate(component) {
@@ -3643,7 +3529,7 @@ var taonCmsBackoffice_component = /*#__PURE__*/Object.freeze({
3643
3529
 
3644
3530
  //#endregion
3645
3531
  const adminLazyRoute = (adminLazyRoute$1);
3646
- const t$8 = 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('./cms-browser-prod-taon-cms-backoffice.component.html.en-US.i18n.data-q7WqXEJw.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-backoffice.component.html.pl-PL.i18n.data-BSwBNQpH.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-backoffice.component.html.de-DE.i18n.data-CqIu3bBE.mjs')).default }, "src/lib/taon-cms-backoffice/taon-cms-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-backoffice.component.ts.en-US.i18n.data-BdhGIeUK.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-backoffice.component.ts.pl-PL.i18n.data-BVwuFYPF.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-backoffice.component.ts.de-DE.i18n.data-CvbuuDAa.mjs')).default }, "src/lib/taon-cms-backoffice/taon-cms-backoffice.routes.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-BUBi6h_q.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-BJ03B4ix.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-BbCjJoVh.mjs')).default } });
3532
+ const t$c = 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('./cms-browser-prod-taon-cms-backoffice.component.html.en-US.i18n.data-q7WqXEJw.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-backoffice.component.html.pl-PL.i18n.data-BSwBNQpH.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-backoffice.component.html.de-DE.i18n.data-CqIu3bBE.mjs')).default }, "src/lib/taon-cms-backoffice/taon-cms-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-backoffice.component.ts.en-US.i18n.data-BdhGIeUK.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-backoffice.component.ts.pl-PL.i18n.data-BVwuFYPF.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-backoffice.component.ts.de-DE.i18n.data-CvbuuDAa.mjs')).default }, "src/lib/taon-cms-backoffice/taon-cms-backoffice.routes.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-bIYJXCtW.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-Do9n0Gxn.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-4S1imZUX.mjs')).default } });
3647
3533
  const TaonCmsBackofficeRoutes = [
3648
3534
  {
3649
3535
  path: '',
@@ -3652,34 +3538,45 @@ const TaonCmsBackofficeRoutes = [
3652
3538
  adminLazyRoute({
3653
3539
  isDisabled: ({ context }) => {
3654
3540
  // console.log('context', { context });
3655
- return !context?.hasAccess.toManagePosts;
3541
+ return !context?.hasAccess.toManageCms;
3656
3542
  },
3657
3543
  path: 'posts',
3658
- menuItem: t$8.gettext('Posts'),
3544
+ menuItem: t$c.signal.gettext('Posts'),
3659
3545
  expandable: true,
3660
3546
  icon: 'edit',
3661
3547
  loader: () => Promise.resolve().then(function () { return index$1; }).then(m => m.TaonCmsPostsBackofficeRoutes),
3662
3548
  }),
3663
3549
  adminLazyRoute({
3664
- isDisabled: ({ context }) => !context?.hasAccess.toManagePosts,
3550
+ isDisabled: ({ context }) => {
3551
+ // console.log('context', { context });
3552
+ return !context?.hasAccess.toManageCms;
3553
+ },
3554
+ path: 'courses',
3555
+ menuItem: t$c.signal.gettext('Courses'),
3556
+ expandable: false,
3557
+ icon: 'school',
3558
+ loader: () => Promise.resolve().then(function () { return index$1; }).then(m => m.TaonCmsCourseBackofficeRoutes),
3559
+ }),
3560
+ adminLazyRoute({
3561
+ isDisabled: ({ context }) => !context?.hasAccess.toManageCms,
3665
3562
  path: 'assets',
3666
- menuItem: t$8.gettext('Assets'),
3563
+ menuItem: t$c.signal.gettext('Assets'),
3667
3564
  expandable: false,
3668
3565
  icon: 'perm_media',
3669
3566
  loader: () => Promise.resolve().then(function () { return taonCmsAssetsBackoffice_routes; }).then(m => m.TaonCmsAssetsBackofficeRoutes),
3670
3567
  }),
3671
3568
  adminLazyRoute({
3672
- isDisabled: ({ context }) => !context?.hasAccess.toManagePosts,
3569
+ isDisabled: ({ context }) => !context?.hasAccess.toManageCms,
3673
3570
  path: 'categories',
3674
- menuItem: t$8.gettext('Categories'),
3571
+ menuItem: t$c.signal.gettext('Categories'),
3675
3572
  expandable: false,
3676
3573
  icon: 'folder',
3677
3574
  loader: () => Promise.resolve().then(function () { return taonCmsTaxonomyBackoffice_routes; }).then(m => m.TaonCmsCategoriesBackofficeRoutes),
3678
3575
  }),
3679
3576
  adminLazyRoute({
3680
- isDisabled: ({ context }) => !context?.hasAccess.toManagePosts,
3577
+ isDisabled: ({ context }) => !context?.hasAccess.toManageCms,
3681
3578
  path: 'tags',
3682
- menuItem: t$8.gettext('Tags'),
3579
+ menuItem: t$c.signal.gettext('Tags'),
3683
3580
  expandable: false,
3684
3581
  icon: 'label',
3685
3582
  loader: () => Promise.resolve().then(function () { return taonCmsTaxonomyBackoffice_routes; }).then(m => m.TaonCmsTagsBackofficeRoutes),
@@ -3747,7 +3644,7 @@ function TaonCmsCategoryUtils__NS__isActive(state) {
3747
3644
  }
3748
3645
  //end of namespace TaonCmsCategoryUtils
3749
3646
 
3750
- const t$7 = 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('./cms-browser-prod-taon-cms-category.controller.ts.en-US.i18n.data-Ckuw2o-a.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-category.controller.ts.pl-PL.i18n.data-CP8q0EDA.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-category.controller.ts.de-DE.i18n.data-CDUBs36X.mjs')).default }, "src/lib/taon-cms-category/taon-cms-category.repository.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-category.repository.ts.en-US.i18n.data-DEDAUHCN.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-category.repository.ts.pl-PL.i18n.data-vfVCRZ0l.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-category.repository.ts.de-DE.i18n.data-BAt9wXhq.mjs')).default }, "src/lib/taon-cms-category/taon-cms-taxonomy.validation.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-taxonomy.validation.ts.en-US.i18n.data-BjGkpdq6.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-taxonomy.validation.ts.pl-PL.i18n.data-CzWbeuv5.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-taxonomy.validation.ts.de-DE.i18n.data-CEKXSxan.mjs')).default } });
3647
+ const t$b = 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('./cms-browser-prod-taon-cms-category.controller.ts.en-US.i18n.data-DB_Lnw-B.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-category.controller.ts.pl-PL.i18n.data-xlEjTzLi.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-category.controller.ts.de-DE.i18n.data-Bf9B2I5S.mjs')).default }, "src/lib/taon-cms-category/taon-cms-category.repository.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-category.repository.ts.en-US.i18n.data-DEDAUHCN.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-category.repository.ts.pl-PL.i18n.data-vfVCRZ0l.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-category.repository.ts.de-DE.i18n.data-BAt9wXhq.mjs')).default }, "src/lib/taon-cms-category/taon-cms-taxonomy.validation.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-taxonomy.validation.ts.en-US.i18n.data-BjGkpdq6.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-taxonomy.validation.ts.pl-PL.i18n.data-CzWbeuv5.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-taxonomy.validation.ts.de-DE.i18n.data-CEKXSxan.mjs')).default } });
3751
3648
  function validateTaxonomy(input) {
3752
3649
  if (!input ||
3753
3650
  typeof input.name !== 'string' ||
@@ -3755,7 +3652,7 @@ function validateTaxonomy(input) {
3755
3652
  typeof input.slug !== 'string' ||
3756
3653
  !input.slug.trim() ||
3757
3654
  (input.description !== null && typeof input.description !== 'string')) {
3758
- contentError(t$7.gettext('Name, slug, and a valid description are required.'));
3655
+ contentError(t$b.gettext('Name, slug, and a valid description are required.'));
3759
3656
  }
3760
3657
  }
3761
3658
  function validateCategoryHierarchy(id, parentId, categories) {
@@ -3766,12 +3663,12 @@ function validateCategoryHierarchy(id, parentId, categories) {
3766
3663
  let current = parentId;
3767
3664
  while (current !== null) {
3768
3665
  if (visited.has(current)) {
3769
- contentError(t$7.gettext('A category cannot be its own ancestor.'));
3666
+ contentError(t$b.gettext('A category cannot be its own ancestor.'));
3770
3667
  }
3771
3668
  visited.add(current);
3772
3669
  const parent = categories.find(category => category.id === current);
3773
3670
  if (!parent) {
3774
- contentError(t$7.gettext('The parent category does not exist.'));
3671
+ contentError(t$b.gettext('The parent category does not exist.'));
3775
3672
  }
3776
3673
  current = parent.parentCategoryId;
3777
3674
  }
@@ -3818,6 +3715,9 @@ class TaonCmsContentConfigService extends TaonBaseAngularService {
3818
3715
  super(...arguments);
3819
3716
  this.taonCmsContentProvider = this.injectProvider(TaonCmsContentProvider);
3820
3717
  }
3718
+ get siteName() {
3719
+ return this.taonCmsContentProvider.siteName;
3720
+ }
3821
3721
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsContentConfigService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
3822
3722
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsContentConfigService }); }
3823
3723
  }
@@ -3842,6 +3742,34 @@ function TaonCmsContentUtils__NS__isActive(state) {
3842
3742
  }
3843
3743
  //end of namespace TaonCmsContentUtils
3844
3744
 
3745
+ /**
3746
+ * Resolves allowlisted values as HTML text/attribute data, not markup.
3747
+ * The returned HTML must still pass through the renderer's HTML sanitizer.
3748
+ */
3749
+ function resolveTemplateVariables(content, context) {
3750
+ const values = new Map([
3751
+ ['frontendUrl', context.frontendUrl],
3752
+ ['site.name', context.site?.name],
3753
+ ['currentYear', new Date().getFullYear()],
3754
+ ['post.title', context.post?.title],
3755
+ ['post.url', context.post?.url],
3756
+ ['post.id', context.post?.id],
3757
+ ['post.thumbnailUrl', context.post?.thumbnailUrl],
3758
+ ]);
3759
+ return (content ?? '').replace(/\{\{\s*([a-zA-Z][a-zA-Z0-9]*(?:\.[a-zA-Z][a-zA-Z0-9]*)*)\s*\}\}/g, (placeholder, name) => {
3760
+ const value = values.get(name);
3761
+ if (value === null || value === undefined) {
3762
+ return placeholder;
3763
+ }
3764
+ return String(value)
3765
+ .replace(/&/g, '&')
3766
+ .replace(/</g, '&lt;')
3767
+ .replace(/>/g, '&gt;')
3768
+ .replace(/"/g, '&quot;')
3769
+ .replace(/'/g, '&#39;');
3770
+ });
3771
+ }
3772
+
3845
3773
  class TaonCmsContentAssetApiService extends TaonBaseAngularService {
3846
3774
  constructor() {
3847
3775
  super(...arguments);
@@ -4041,10 +3969,10 @@ function TaonCmsTagUtils__NS__isActive(state) {
4041
3969
  }
4042
3970
  //end of namespace TaonCmsTagUtils
4043
3971
 
4044
- const t$6 = 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('./cms-browser-prod-taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data-B9egtKwh.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data-DSWzgw_0.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data-DJmJnTy1.mjs')).default }, "src/lib/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data-DOFKJuxr.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data-DUfeE0cw.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data-CCcCm4XG.mjs')).default } });
3972
+ const t$a = 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('./cms-browser-prod-taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data-B9egtKwh.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data-DSWzgw_0.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data-DJmJnTy1.mjs')).default }, "src/lib/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data-DOFKJuxr.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data-DUfeE0cw.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data-CCcCm4XG.mjs')).default } });
4045
3973
  class TaonCmsTaxonomyBackofficeComponent {
4046
3974
  constructor() {
4047
- this.t = t$6.for(this);
3975
+ this.t = t$a.for(this);
4048
3976
  this.isCategory = inject(ActivatedRoute).snapshot.data['taxonomy'] === 'category';
4049
3977
  this.categories = inject(TaonCmsCategoryApiService);
4050
3978
  this.tags = inject(TaonCmsTagApiService);
@@ -4268,88 +4196,529 @@ var taonCmsTaxonomyBackoffice_routes = /*#__PURE__*/Object.freeze({
4268
4196
  TaonCmsTagsBackofficeRoutes: TaonCmsTagsBackofficeRoutes
4269
4197
  });
4270
4198
 
4271
- class TaonCmsEditableDirective {
4199
+ const t$9 = 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('./cms-browser-prod-taon-cms-post-table-actions.directive.ts.en-US.i18n.data-6xHTz4NK.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data-6Sdc2ekE.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-post-table-actions.directive.ts.de-DE.i18n.data-P5VXQlmS.mjs')).default }, "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.html": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.html.en-US.i18n.data-C7o8B-38.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-DNGNxZmN.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-CXTopGnK.mjs')).default }, "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-C6jy6lw4.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-DFJPgXFt.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-BuX23uvE.mjs')).default }, "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-BGx0VfEv.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-WF50SpXY.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-BQgmzcJd.mjs')).default } });
4200
+ class TaonCmsPostTableActions {
4272
4201
  constructor() {
4273
- this.element = inject(ElementRef)
4274
- .nativeElement;
4275
- this.sanitizer = inject(DomSanitizer);
4276
- this.value = '';
4277
- this.composing = false;
4278
- this.taonCmsEditableFormat = 'text';
4279
- this.taonCmsEditableSingleLine = false;
4280
- this.taonCmsEditableChange = new EventEmitter();
4281
- }
4282
- set taonCmsEditable(value) {
4283
- if (value === this.value) {
4284
- return;
4285
- }
4286
- this.value = value;
4287
- this.render();
4202
+ this.actionsTranslation = t$9.for(this);
4203
+ this.taonCmsContentApiService = inject(TaonCmsContentApiService);
4204
+ this.deleting = signal(null, ...(ngDevMode ? [{ debugName: "deleting" }] : []));
4205
+ this.duplicating = signal(false, ...(ngDevMode ? [{ debugName: "duplicating" }] : []));
4206
+ this.error = signal('', ...(ngDevMode ? [{ debugName: "error" }] : []));
4207
+ this.destroyRef = inject(DestroyRef);
4208
+ this.postPath = [];
4209
+ this.dialog = inject(MatDialog);
4210
+ this.route = inject(ActivatedRoute);
4211
+ this.router = inject(Router);
4212
+ this.actionsColumn = {
4213
+ header: this.actionsTranslation.gettext('Actions'),
4214
+ field: 'actions',
4215
+ type: 'button',
4216
+ buttons: [
4217
+ {
4218
+ type: 'icon',
4219
+ icon: 'content_copy',
4220
+ tooltip: this.actionsTranslation.gettext('Duplicate post'),
4221
+ disabled: () => this.duplicating(),
4222
+ click: (post) => this.duplicate(post),
4223
+ },
4224
+ {
4225
+ type: 'icon',
4226
+ icon: 'open_in_new',
4227
+ tooltip: this.actionsTranslation.gettext('Post details'),
4228
+ click: (post) => this.openDetails(post),
4229
+ },
4230
+ {
4231
+ type: 'icon',
4232
+ icon: 'delete',
4233
+ tooltip: this.actionsTranslation.gettext('Delete (archive) post'),
4234
+ disabled: (post) => post.status === 'archived' || this.deleting() !== null,
4235
+ click: (post) => this.delete(post),
4236
+ },
4237
+ ],
4238
+ };
4288
4239
  }
4289
- compositionStart() {
4290
- this.composing = true;
4240
+ add() {
4241
+ this.openPost('new');
4291
4242
  }
4292
- compositionEnd() {
4293
- this.composing = false;
4294
- this.onInput();
4243
+ openDetails(post) {
4244
+ this.openPost(post.id);
4295
4245
  }
4296
- onInput() {
4297
- if (this.composing) {
4246
+ openPost(id) {
4247
+ const postsRoute = this.route.parent;
4248
+ if (!postsRoute) {
4249
+ this.error.set(this.actionsTranslation.gettext('The Post details route is unavailable.'));
4298
4250
  return;
4299
4251
  }
4300
- const text = this.element.innerText;
4301
- this.value =
4302
- this.taonCmsEditableFormat === 'html'
4303
- ? this.sanitize(this.element.innerHTML)
4304
- : this.taonCmsEditableSingleLine
4305
- ? text.replace(/\s*\n\s*/g, ' ')
4306
- : text;
4307
- // Remember emitted values so Angular does not rewrite the DOM/caret on input.
4308
- this.taonCmsEditableChange.emit(this.value);
4309
- }
4310
- onBlur() {
4311
- this.onInput();
4312
- this.render();
4313
- }
4314
- onKeydown(event) {
4315
- if (this.taonCmsEditableSingleLine && event.key === 'Enter') {
4316
- event.preventDefault();
4317
- }
4252
+ void this.router.navigate([...this.postPath, id], { relativeTo: postsRoute });
4318
4253
  }
4319
- onPaste(event) {
4320
- event.preventDefault();
4321
- const selection = this.element.ownerDocument.getSelection();
4322
- if (!selection?.rangeCount || !event.clipboardData) {
4323
- return;
4324
- }
4325
- const range = selection.getRangeAt(0);
4326
- if (!this.element.contains(range.commonAncestorContainer)) {
4254
+ duplicate(post) {
4255
+ if (this.duplicating()) {
4327
4256
  return;
4328
4257
  }
4329
- const pasted = event.clipboardData.getData('text/plain');
4330
- const text = this.taonCmsEditableSingleLine
4331
- ? pasted.replace(/\s*\n\s*/g, ' ')
4332
- : pasted;
4333
- range.deleteContents();
4334
- const node = this.element.ownerDocument.createTextNode(text);
4335
- range.insertNode(node);
4336
- range.setStartAfter(node);
4337
- range.collapse(true);
4338
- selection.removeAllRanges();
4339
- selection.addRange(range);
4340
- this.onInput();
4341
- }
4342
- sanitize(value) {
4343
- return this.sanitizer.sanitize(SecurityContext.HTML, value) ?? '';
4258
+ this.duplicating.set(true);
4259
+ this.error.set('');
4260
+ this.taonCmsContentApiService
4261
+ .duplicateContent(post.id)
4262
+ .pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.duplicating.set(false)))
4263
+ .subscribe({
4264
+ next: duplicate => this.openDetails(duplicate),
4265
+ error: (error) => {
4266
+ console.error('[taon-cms-posts-backoffice] Unable to duplicate post', error);
4267
+ this.error.set(this.actionsTranslation.gettext('The post could not be duplicated. Please try again.'));
4268
+ },
4269
+ });
4344
4270
  }
4345
- render() {
4346
- if (this.taonCmsEditableFormat === 'html') {
4347
- this.element.innerHTML = this.sanitize(this.value);
4348
- }
4349
- else {
4350
- this.element.textContent = this.value;
4271
+ delete(post) {
4272
+ if (this.deleting() !== null || post.status === 'archived') {
4273
+ return;
4351
4274
  }
4352
- }
4275
+ this.deleting.set(post.id);
4276
+ const ref = this.dialog.open(TaonConfirmDialogComponent, {
4277
+ data: {
4278
+ title: this.actionsTranslation.gettext('Delete post?'),
4279
+ message: this.actionsTranslation.gettext('This archives the post. It can be restored from its revisions.'),
4280
+ confirmText: this.actionsTranslation.gettext('Delete'),
4281
+ },
4282
+ });
4283
+ ref
4284
+ .afterClosed()
4285
+ .pipe(takeUntilDestroyed(this.destroyRef))
4286
+ .subscribe(confirmed => {
4287
+ if (!confirmed) {
4288
+ this.deleting.set(null);
4289
+ return;
4290
+ }
4291
+ this.error.set('');
4292
+ this.taonCmsContentApiService
4293
+ .deleteContent(post.id, post.version)
4294
+ .pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.deleting.set(null)))
4295
+ .subscribe({
4296
+ next: () => this.reload(),
4297
+ error: (error) => {
4298
+ console.error('[taon-cms-posts-backoffice] Unable to delete post', error);
4299
+ this.error.set(this.actionsTranslation.gettext('The post could not be deleted. Refresh the table before retrying.'));
4300
+ },
4301
+ });
4302
+ });
4303
+ }
4304
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostTableActions, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
4305
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.9", type: TaonCmsPostTableActions, isStandalone: true, ngImport: i0 }); }
4306
+ }
4307
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostTableActions, decorators: [{
4308
+ type: Directive
4309
+ }] });
4310
+
4311
+ const t$8 = 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('./cms-browser-prod-taon-cms-course-backoffice.component.html.en-US.i18n.data-BTzDmVWc.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-course-backoffice.component.html.pl-PL.i18n.data-CixvMJ9f.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-course-backoffice.component.html.de-DE.i18n.data-CyTxhvtH.mjs')).default }, "src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-course-backoffice.component.ts.en-US.i18n.data-Dno5sgts.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-course-backoffice.component.ts.pl-PL.i18n.data-SvoLR2q0.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-course-backoffice.component.ts.de-DE.i18n.data-C1hvycSO.mjs')).default }, "src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.html": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-course-contents.component.html.en-US.i18n.data-DomBfXfQ.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-course-contents.component.html.pl-PL.i18n.data-BmHiUySy.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-course-contents.component.html.de-DE.i18n.data-D7Gtx44e.mjs')).default }, "src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-course-contents.component.ts.en-US.i18n.data-CG51VvG1.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-course-contents.component.ts.pl-PL.i18n.data-Da06EmCc.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-course-contents.component.ts.de-DE.i18n.data-UiXCopyo.mjs')).default }, "src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-cover.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-course-cover.component.ts.en-US.i18n.data-CRI9uV_Z.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-course-cover.component.ts.pl-PL.i18n.data-DxvRSDVu.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-course-cover.component.ts.de-DE.i18n.data-CFPsdwHm.mjs')).default } });
4312
+ class TaonCmsCourseContentsComponent {
4313
+ constructor() {
4314
+ this.t = t$8.for(this);
4315
+ this.api = inject(TaonCmsContentApiService);
4316
+ this.destroyRef = inject(DestroyRef);
4317
+ this.posts = signal([], ...(ngDevMode ? [{ debugName: "posts" }] : []));
4318
+ this.loading = signal(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
4319
+ this.error = signal('', ...(ngDevMode ? [{ debugName: "error" }] : []));
4320
+ this.columns = [];
4321
+ }
4322
+ ngOnInit() {
4323
+ this.columns = [
4324
+ { header: 'ID', field: 'id', sortable: true },
4325
+ { header: this.t.gettext('Title'), field: 'title', sortable: true },
4326
+ { header: this.t.gettext('Status'), field: 'status', sortable: true },
4327
+ this.actionsColumn,
4328
+ ];
4329
+ this.reload();
4330
+ }
4331
+ reload() {
4332
+ if (this.loading()) {
4333
+ return;
4334
+ }
4335
+ this.loading.set(true);
4336
+ this.error.set('');
4337
+ this.api.listRelatedPosts(this.course.id)
4338
+ .pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.loading.set(false)))
4339
+ .subscribe({
4340
+ next: posts => this.posts.set(posts.filter(post => post.status !== 'archived')),
4341
+ error: (error) => {
4342
+ console.error('[taon-cms-course-contents] Unable to load related posts', error);
4343
+ this.error.set(this.t.gettext('Course contents could not be loaded. Please retry.'));
4344
+ },
4345
+ });
4346
+ }
4347
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsCourseContentsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4348
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonCmsCourseContentsComponent, isStandalone: true, selector: "taon-cms-course-contents", inputs: { course: "course", actionsColumn: "actionsColumn" }, ngImport: i0, template: "<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", dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: TaonDatatableComponent, selector: "taon-datatable", inputs: ["pageNumber", "pageSize", "pageSizeOptions", "allowedColumns", "expansionTemplate", "entityCrudController", "columns", "hideSearch", "hideAddButton", "safe", "searchMode", "callQueryMethod", "data", "showPaginator"], outputs: ["expansionChange", "addingItem"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4349
+ }
4350
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsCourseContentsComponent, decorators: [{
4351
+ type: Component,
4352
+ args: [{ selector: 'taon-cms-course-contents', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatButtonModule, TaonDatatableComponent], template: "<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" }]
4353
+ }], propDecorators: { course: [{
4354
+ type: Input,
4355
+ args: [{ required: true }]
4356
+ }], actionsColumn: [{
4357
+ type: Input,
4358
+ args: [{ required: true }]
4359
+ }] } });
4360
+
4361
+ function defaultThumbnailKey(type) {
4362
+ return `cms-placeholder:${type}`;
4363
+ }
4364
+ function defaultThumbnailUrl(key) {
4365
+ const type = Object.values(TaonCmsContentType).find(value => key === defaultThumbnailKey(value));
4366
+ if (!type) {
4367
+ return null;
4368
+ }
4369
+ const shapes = {
4370
+ normal: '<path d="M260 126h120v112H260z M280 152h80m-80 20h80m-80 20h52" />',
4371
+ video: '<rect x="248" y="132" width="144" height="100" rx="16"/><path d="m308 158 40 24-40 24z"/>',
4372
+ audio: '<path d="M280 164v40m20-60v80m20-98v116m20-98v80m20-60v40"/>',
4373
+ attachment: '<path d="M276 124h60l32 32v84h-92z M336 124v36h32m-70 30h48m-48 22h36"/>',
4374
+ };
4375
+ 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>`;
4376
+ return `data:image/svg+xml,${encodeURIComponent(svg)}`;
4377
+ }
4378
+ function visiblePixelRatio(pixels) {
4379
+ let visible = 0;
4380
+ for (let index = 0; index < pixels.length; index += 4) {
4381
+ const luminance = 0.2126 * pixels[index] +
4382
+ 0.7152 * pixels[index + 1] +
4383
+ 0.0722 * pixels[index + 2];
4384
+ if (luminance > 18) {
4385
+ visible += 1;
4386
+ }
4387
+ }
4388
+ return pixels.length ? visible / (pixels.length / 4) : 0;
4389
+ }
4390
+ function videoEvent(video, event, action) {
4391
+ return new Promise((resolve, reject) => {
4392
+ const cleanup = () => {
4393
+ clearTimeout(timeout);
4394
+ video.removeEventListener(event, done);
4395
+ video.removeEventListener('error', failed);
4396
+ };
4397
+ const done = () => {
4398
+ cleanup();
4399
+ resolve();
4400
+ };
4401
+ const failed = () => {
4402
+ cleanup();
4403
+ reject(new Error(video.error?.message || 'Video decoding failed.'));
4404
+ };
4405
+ const timeout = setTimeout(() => {
4406
+ cleanup();
4407
+ reject(new Error('Video decoding timed out.'));
4408
+ }, 15000);
4409
+ video.addEventListener(event, done, { once: true });
4410
+ video.addEventListener('error', failed, { once: true });
4411
+ try {
4412
+ action();
4413
+ }
4414
+ catch (error) {
4415
+ cleanup();
4416
+ reject(error);
4417
+ }
4418
+ });
4419
+ }
4420
+ async function generateVideoThumbnail(file) {
4421
+ const video = document.createElement('video');
4422
+ const url = URL.createObjectURL(file);
4423
+ try {
4424
+ video.muted = true;
4425
+ video.playsInline = true;
4426
+ video.preload = 'auto';
4427
+ await videoEvent(video, 'loadeddata', () => {
4428
+ video.src = url;
4429
+ video.load();
4430
+ });
4431
+ if (!video.videoWidth || !video.videoHeight) {
4432
+ throw new Error('The video has no decodable dimensions.');
4433
+ }
4434
+ const analysis = document.createElement('canvas');
4435
+ analysis.width = 64;
4436
+ analysis.height = Math.max(1, Math.round((64 * video.videoHeight) / video.videoWidth));
4437
+ const context = analysis.getContext('2d', { willReadFrequently: true });
4438
+ if (!context) {
4439
+ throw new Error('Canvas is unavailable.');
4440
+ }
4441
+ const seek = async (time) => {
4442
+ if (Math.abs(video.currentTime - time) > 0.001) {
4443
+ await videoEvent(video, 'seeked', () => {
4444
+ video.currentTime = time;
4445
+ });
4446
+ }
4447
+ };
4448
+ const end = Number.isFinite(video.duration)
4449
+ ? Math.min(5, Math.max(0, video.duration - 0.01))
4450
+ : 5;
4451
+ let bestTime = 0;
4452
+ let bestRatio = -1;
4453
+ let found = false;
4454
+ for (let time = 0; time <= end; time += 0.25) {
4455
+ await seek(time);
4456
+ context.drawImage(video, 0, 0, analysis.width, analysis.height);
4457
+ const ratio = visiblePixelRatio(context.getImageData(0, 0, analysis.width, analysis.height).data);
4458
+ if (ratio > bestRatio) {
4459
+ bestRatio = ratio;
4460
+ bestTime = time;
4461
+ }
4462
+ // Small highlights or a subject in a dark scene are enough.
4463
+ if (ratio >= 0.02) {
4464
+ found = true;
4465
+ break;
4466
+ }
4467
+ }
4468
+ if (!found) {
4469
+ await seek(bestTime);
4470
+ }
4471
+ const canvas = document.createElement('canvas');
4472
+ const scale = Math.min(1, 1280 / video.videoWidth, 720 / video.videoHeight);
4473
+ canvas.width = Math.max(1, Math.round(video.videoWidth * scale));
4474
+ canvas.height = Math.max(1, Math.round(video.videoHeight * scale));
4475
+ const output = canvas.getContext('2d');
4476
+ if (!output) {
4477
+ throw new Error('Canvas is unavailable.');
4478
+ }
4479
+ output.drawImage(video, 0, 0, canvas.width, canvas.height);
4480
+ return await new Promise((resolve, reject) => {
4481
+ canvas.toBlob(blob => blob
4482
+ ? resolve(blob)
4483
+ : reject(new Error('Thumbnail encoding failed.')), 'image/webp', 0.85);
4484
+ });
4485
+ }
4486
+ finally {
4487
+ try {
4488
+ video.pause();
4489
+ video.removeAttribute('src');
4490
+ video.load();
4491
+ }
4492
+ finally {
4493
+ URL.revokeObjectURL(url);
4494
+ }
4495
+ }
4496
+ }
4497
+
4498
+ const t$7 = 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('./cms-browser-prod-taon-cms-course-backoffice.component.html.en-US.i18n.data-BTzDmVWc.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-course-backoffice.component.html.pl-PL.i18n.data-CixvMJ9f.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-course-backoffice.component.html.de-DE.i18n.data-CyTxhvtH.mjs')).default }, "src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-course-backoffice.component.ts.en-US.i18n.data-Dno5sgts.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-course-backoffice.component.ts.pl-PL.i18n.data-SvoLR2q0.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-course-backoffice.component.ts.de-DE.i18n.data-C1hvycSO.mjs')).default }, "src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.html": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-course-contents.component.html.en-US.i18n.data-DomBfXfQ.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-course-contents.component.html.pl-PL.i18n.data-BmHiUySy.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-course-contents.component.html.de-DE.i18n.data-D7Gtx44e.mjs')).default }, "src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-course-contents.component.ts.en-US.i18n.data-CG51VvG1.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-course-contents.component.ts.pl-PL.i18n.data-Da06EmCc.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-course-contents.component.ts.de-DE.i18n.data-UiXCopyo.mjs')).default }, "src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-cover.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-course-cover.component.ts.en-US.i18n.data-CRI9uV_Z.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-course-cover.component.ts.pl-PL.i18n.data-DxvRSDVu.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-course-cover.component.ts.de-DE.i18n.data-CFPsdwHm.mjs')).default } });
4499
+ class TaonCmsCourseCoverComponent {
4500
+ constructor() {
4501
+ this.t = t$7.for(this);
4502
+ this.api = inject(TaonCmsContentApiService);
4503
+ this.destroyRef = inject(DestroyRef);
4504
+ this.url = signal('', ...(ngDevMode ? [{ debugName: "url" }] : []));
4505
+ this.loading = signal(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
4506
+ this.error = signal('', ...(ngDevMode ? [{ debugName: "error" }] : []));
4507
+ }
4508
+ ngOnInit() {
4509
+ void this.reload();
4510
+ }
4511
+ async reload() {
4512
+ if (this.loading()) {
4513
+ return;
4514
+ }
4515
+ this.loading.set(true);
4516
+ this.url.set('');
4517
+ this.error.set('');
4518
+ try {
4519
+ const url = defaultThumbnailUrl(this.post.thumbnailKey ?? '') ??
4520
+ await this.api.getThumbnailLinkBySlug(this.post.slug);
4521
+ if (!url) {
4522
+ throw new Error('The thumbnail URL is empty.');
4523
+ }
4524
+ if (!this.destroyRef.destroyed) {
4525
+ this.url.set(url);
4526
+ }
4527
+ }
4528
+ catch (error) {
4529
+ console.error('[taon-cms-course-cover] Unable to load thumbnail', error);
4530
+ if (!this.destroyRef.destroyed) {
4531
+ this.failed();
4532
+ }
4533
+ }
4534
+ finally {
4535
+ if (!this.destroyRef.destroyed) {
4536
+ this.loading.set(false);
4537
+ }
4538
+ }
4539
+ }
4540
+ failed() {
4541
+ this.url.set('');
4542
+ this.error.set(this.t.gettext('Cover unavailable. Retry'));
4543
+ }
4544
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsCourseCoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4545
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonCmsCourseCoverComponent, isStandalone: true, selector: "taon-cms-course-cover", inputs: { post: "post" }, ngImport: i0, template: "@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", styles: [":host{display:block}img{display:block;max-height:50px;max-width:90px;width:auto;height:auto;object-fit:contain}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4546
+ }
4547
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsCourseCoverComponent, decorators: [{
4548
+ type: Component,
4549
+ args: [{ selector: 'taon-cms-course-cover', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatButtonModule], template: "@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", styles: [":host{display:block}img{display:block;max-height:50px;max-width:90px;width:auto;height:auto;object-fit:contain}\n"] }]
4550
+ }], propDecorators: { post: [{
4551
+ type: Input,
4552
+ args: [{ required: true }]
4553
+ }] } });
4554
+
4555
+ const t$6 = 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('./cms-browser-prod-taon-cms-course-backoffice.component.html.en-US.i18n.data-BTzDmVWc.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-course-backoffice.component.html.pl-PL.i18n.data-CixvMJ9f.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-course-backoffice.component.html.de-DE.i18n.data-CyTxhvtH.mjs')).default }, "src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-course-backoffice.component.ts.en-US.i18n.data-Dno5sgts.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-course-backoffice.component.ts.pl-PL.i18n.data-SvoLR2q0.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-course-backoffice.component.ts.de-DE.i18n.data-C1hvycSO.mjs')).default }, "src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.html": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-course-contents.component.html.en-US.i18n.data-DomBfXfQ.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-course-contents.component.html.pl-PL.i18n.data-BmHiUySy.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-course-contents.component.html.de-DE.i18n.data-D7Gtx44e.mjs')).default }, "src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-course-contents.component.ts.en-US.i18n.data-CG51VvG1.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-course-contents.component.ts.pl-PL.i18n.data-Da06EmCc.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-course-contents.component.ts.de-DE.i18n.data-UiXCopyo.mjs')).default }, "src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-cover.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-course-cover.component.ts.en-US.i18n.data-CRI9uV_Z.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-course-cover.component.ts.pl-PL.i18n.data-DxvRSDVu.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-course-cover.component.ts.de-DE.i18n.data-CFPsdwHm.mjs')).default } });
4556
+ class TaonCmsCourseBackofficeComponent extends TaonCmsPostTableActions {
4557
+ constructor() {
4558
+ super(...arguments);
4559
+ this.t = t$6.for(this);
4560
+ this.postPath = ['../posts'];
4561
+ this.courses = signal([], ...(ngDevMode ? [{ debugName: "courses" }] : []));
4562
+ this.loading = signal(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
4563
+ this.columns = [];
4564
+ }
4565
+ ngOnInit() {
4566
+ this.columns = [
4567
+ { header: 'ID', field: 'id', sortable: true, showExpand: true },
4568
+ {
4569
+ header: this.t.gettext('Cover'),
4570
+ field: 'thumbnailKey',
4571
+ cellTemplate: this.coverTemplate,
4572
+ width: '110px',
4573
+ },
4574
+ { header: this.t.gettext('Title'), field: 'title', sortable: true },
4575
+ {
4576
+ header: this.t.gettext('Visibility'),
4577
+ field: 'status',
4578
+ sortable: true,
4579
+ cellTemplate: this.visibilityTemplate,
4580
+ },
4581
+ this.actionsColumn,
4582
+ ].map(column => ({
4583
+ ...column,
4584
+ class: (post) => post?.status === 'published' ? 'cms-course-public' : 'cms-course-private',
4585
+ }));
4586
+ this.reload();
4587
+ }
4588
+ reload() {
4589
+ if (this.loading()) {
4590
+ return;
4591
+ }
4592
+ this.loading.set(true);
4593
+ this.error.set('');
4594
+ this.taonCmsContentApiService.listCourses()
4595
+ .pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.loading.set(false)))
4596
+ .subscribe({
4597
+ next: courses => this.courses.set(courses),
4598
+ error: (error) => {
4599
+ console.error('[taon-cms-course-backoffice] Unable to load courses', error);
4600
+ this.error.set(this.t.gettext('Courses could not be loaded. Please try reloading.'));
4601
+ },
4602
+ });
4603
+ }
4604
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsCourseBackofficeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
4605
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonCmsCourseBackofficeComponent, isStandalone: true, selector: "taon-cms-course-backoffice", providers: [TaonCmsContentApiService], viewQueries: [{ propertyName: "coverTemplate", first: true, predicate: ["coverTemplate"], descendants: true, static: true }, { propertyName: "visibilityTemplate", first: true, predicate: ["visibilityTemplate"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<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", styles: [":host{display:block}.visibility{display:inline-flex;align-items:center;gap:.4rem}:host ::ng-deep td.cms-course-public{background-color:#2e7d3214}:host ::ng-deep td.cms-course-private{background-color:#c6282812}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: TaonDatatableComponent, selector: "taon-datatable", inputs: ["pageNumber", "pageSize", "pageSizeOptions", "allowedColumns", "expansionTemplate", "entityCrudController", "columns", "hideSearch", "hideAddButton", "safe", "searchMode", "callQueryMethod", "data", "showPaginator"], outputs: ["expansionChange", "addingItem"] }, { kind: "component", type: TaonCmsCourseContentsComponent, selector: "taon-cms-course-contents", inputs: ["course", "actionsColumn"] }, { kind: "component", type: TaonCmsCourseCoverComponent, selector: "taon-cms-course-cover", inputs: ["post"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4606
+ }
4607
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsCourseBackofficeComponent, decorators: [{
4608
+ type: Component,
4609
+ args: [{ selector: 'taon-cms-course-backoffice', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
4610
+ MatButtonModule,
4611
+ MatIconModule,
4612
+ TaonDatatableComponent,
4613
+ TaonCmsCourseContentsComponent,
4614
+ TaonCmsCourseCoverComponent,
4615
+ ], providers: [TaonCmsContentApiService], template: "<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", styles: [":host{display:block}.visibility{display:inline-flex;align-items:center;gap:.4rem}:host ::ng-deep td.cms-course-public{background-color:#2e7d3214}:host ::ng-deep td.cms-course-private{background-color:#c6282812}\n"] }]
4616
+ }], propDecorators: { coverTemplate: [{
4617
+ type: ViewChild,
4618
+ args: ['coverTemplate', { static: true }]
4619
+ }], visibilityTemplate: [{
4620
+ type: ViewChild,
4621
+ args: ['visibilityTemplate', { static: true }]
4622
+ }] } });
4623
+
4624
+ var taonCmsCourseBackoffice_component = /*#__PURE__*/Object.freeze({
4625
+ __proto__: null,
4626
+ TaonCmsCourseBackofficeComponent: TaonCmsCourseBackofficeComponent
4627
+ });
4628
+
4629
+ //namespace TaonCmsCourseBackofficeModels
4630
+ //end of namespace TaonCmsCourseBackofficeModels
4631
+
4632
+ const TaonCmsCourseBackofficeRoutes = [
4633
+ {
4634
+ path: '',
4635
+ pathMatch: 'full',
4636
+ loadComponent: () => Promise.resolve().then(function () { return taonCmsCourseBackoffice_component; }).then(m => m.TaonCmsCourseBackofficeComponent),
4637
+ },
4638
+ ];
4639
+
4640
+ class TaonCmsEditableDirective {
4641
+ constructor() {
4642
+ this.element = inject(ElementRef)
4643
+ .nativeElement;
4644
+ this.sanitizer = inject(DomSanitizer);
4645
+ this.value = '';
4646
+ this.composing = false;
4647
+ this.taonCmsEditableFormat = 'text';
4648
+ this.taonCmsEditableSingleLine = false;
4649
+ this.taonCmsEditableChange = new EventEmitter();
4650
+ }
4651
+ set taonCmsEditable(value) {
4652
+ if (value === this.value) {
4653
+ return;
4654
+ }
4655
+ this.value = value;
4656
+ this.render();
4657
+ }
4658
+ compositionStart() {
4659
+ this.composing = true;
4660
+ }
4661
+ compositionEnd() {
4662
+ this.composing = false;
4663
+ this.onInput();
4664
+ }
4665
+ onInput() {
4666
+ if (this.composing) {
4667
+ return;
4668
+ }
4669
+ const text = this.element.innerText;
4670
+ this.value =
4671
+ this.taonCmsEditableFormat === 'html'
4672
+ ? this.sanitize(this.element.innerHTML)
4673
+ : this.taonCmsEditableSingleLine
4674
+ ? text.replace(/\s*\n\s*/g, ' ')
4675
+ : text;
4676
+ // Remember emitted values so Angular does not rewrite the DOM/caret on input.
4677
+ this.taonCmsEditableChange.emit(this.value);
4678
+ }
4679
+ onBlur() {
4680
+ this.onInput();
4681
+ this.render();
4682
+ }
4683
+ onKeydown(event) {
4684
+ if (this.taonCmsEditableSingleLine && event.key === 'Enter') {
4685
+ event.preventDefault();
4686
+ }
4687
+ }
4688
+ onPaste(event) {
4689
+ event.preventDefault();
4690
+ const selection = this.element.ownerDocument.getSelection();
4691
+ if (!selection?.rangeCount || !event.clipboardData) {
4692
+ return;
4693
+ }
4694
+ const range = selection.getRangeAt(0);
4695
+ if (!this.element.contains(range.commonAncestorContainer)) {
4696
+ return;
4697
+ }
4698
+ const pasted = event.clipboardData.getData('text/plain');
4699
+ const text = this.taonCmsEditableSingleLine
4700
+ ? pasted.replace(/\s*\n\s*/g, ' ')
4701
+ : pasted;
4702
+ range.deleteContents();
4703
+ const node = this.element.ownerDocument.createTextNode(text);
4704
+ range.insertNode(node);
4705
+ range.setStartAfter(node);
4706
+ range.collapse(true);
4707
+ selection.removeAllRanges();
4708
+ selection.addRange(range);
4709
+ this.onInput();
4710
+ }
4711
+ sanitize(value) {
4712
+ return this.sanitizer.sanitize(SecurityContext.HTML, value) ?? '';
4713
+ }
4714
+ render() {
4715
+ if (this.taonCmsEditableFormat === 'html') {
4716
+ this.element.innerHTML = this.sanitize(this.value);
4717
+ }
4718
+ else {
4719
+ this.element.textContent = this.value;
4720
+ }
4721
+ }
4353
4722
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsEditableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
4354
4723
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.9", type: TaonCmsEditableDirective, isStandalone: true, selector: "[taonCmsEditable]", inputs: { taonCmsEditableFormat: "taonCmsEditableFormat", taonCmsEditableSingleLine: "taonCmsEditableSingleLine", taonCmsEditable: "taonCmsEditable" }, outputs: { taonCmsEditableChange: "taonCmsEditableChange" }, host: { listeners: { "compositionstart": "compositionStart()", "compositionend": "compositionEnd()", "input": "onInput()", "blur": "onBlur()", "keydown": "onKeydown($event)", "paste": "onPaste($event)" } }, ngImport: i0 }); }
4355
4724
  }
@@ -4386,7 +4755,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
4386
4755
  args: ['paste', ['$event']]
4387
4756
  }] } });
4388
4757
 
4389
- const t$5 = 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('./cms-browser-prod-taon-cms-revision-chooser.component.html.en-US.i18n.data-NF4fmGLN.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-C5g2G3jI.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-revision-chooser.component.html.de-DE.i18n.data-jYWuVaax.mjs')).default }, "src/lib/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-revision-chooser.component.ts.en-US.i18n.data-CiAd1cu4.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-C2pNRLNK.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-BfluLtxD.mjs')).default } });
4758
+ const t$5 = 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('./cms-browser-prod-taon-cms-revision-chooser.component.html.en-US.i18n.data-NF4fmGLN.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-D30oRrBr.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-revision-chooser.component.html.de-DE.i18n.data-DfxiewM_.mjs')).default }, "src/lib/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-revision-chooser.component.ts.en-US.i18n.data-CiAd1cu4.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-DiykH8kr.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-Cb9lK2XY.mjs')).default } });
4390
4759
  class TaonCmsRevisionChooserComponent {
4391
4760
  constructor() {
4392
4761
  this.t = t$5.for(this);
@@ -4454,7 +4823,7 @@ class TaonCmsRevisionChooserComponent {
4454
4823
  }
4455
4824
  }
4456
4825
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsRevisionChooserComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4457
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonCmsRevisionChooserComponent, isStandalone: true, selector: "taon-cms-revision-chooser", host: { listeners: { "document:keydown.escape": "onEscape($event)" } }, providers: [TaonCmsContentRevisionApiService], ngImport: i0, template: "<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", styles: ["mat-radio-group{display:flex;flex-direction:column;gap:1rem}mat-radio-button span{display:block;font-size:.875rem;opacity:.7}[role=alert]{color:#b3261e}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i3$1.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i3$1.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "pipe", type: DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4826
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonCmsRevisionChooserComponent, isStandalone: true, selector: "taon-cms-revision-chooser", host: { listeners: { "document:keydown.escape": "onEscape($event)" } }, providers: [TaonCmsContentRevisionApiService], ngImport: i0, template: "<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", styles: ["mat-radio-group{display:flex;flex-direction:column;gap:1rem}mat-radio-button span{display:block;font-size:.875rem;opacity:.7}[role=alert]{color:#b3261e}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i2$1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i2$1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i2$1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i3$1.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i3$1.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "pipe", type: DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4458
4827
  }
4459
4828
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsRevisionChooserComponent, decorators: [{
4460
4829
  type: Component,
@@ -4464,7 +4833,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
4464
4833
  args: ['document:keydown.escape', ['$event']]
4465
4834
  }] } });
4466
4835
 
4467
- const t$4 = 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('./cms-browser-prod-taon-related-post-chooser.component.html.en-US.i18n.data-dk9lHW62.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-related-post-chooser.component.html.pl-PL.i18n.data-CmD-ViXw.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-related-post-chooser.component.html.de-DE.i18n.data-CAsqBs9y.mjs')).default }, "src/lib/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-related-post-chooser.component.ts.en-US.i18n.data-CNpn80st.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-related-post-chooser.component.ts.pl-PL.i18n.data-BL0v395O.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-related-post-chooser.component.ts.de-DE.i18n.data-CeRmjGOX.mjs')).default } });
4836
+ const t$4 = 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('./cms-browser-prod-taon-related-post-chooser.component.html.en-US.i18n.data-dk9lHW62.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-related-post-chooser.component.html.pl-PL.i18n.data-BHGjfdPv.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-related-post-chooser.component.html.de-DE.i18n.data-Dv2W9o7g.mjs')).default }, "src/lib/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-related-post-chooser.component.ts.en-US.i18n.data-CNpn80st.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-related-post-chooser.component.ts.pl-PL.i18n.data-BQ-wAONd.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-related-post-chooser.component.ts.de-DE.i18n.data-Cs-byi87.mjs')).default } });
4468
4837
  class TaonRelatedPostChooserComponent {
4469
4838
  constructor() {
4470
4839
  this.t = t$4.for(this);
@@ -4523,153 +4892,16 @@ class TaonRelatedPostChooserComponent {
4523
4892
  this.ref.close();
4524
4893
  }
4525
4894
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonRelatedPostChooserComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4526
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonRelatedPostChooserComponent, isStandalone: true, selector: "taon-related-post-chooser", providers: [TaonCmsContentApiService], ngImport: i0, template: "<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", styles: [".search-field,mat-radio-group{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.search-field input{padding:.5rem;color:inherit;background:transparent;border:1px solid rgba(136,136,136,.3333333333);border-radius:4px}.slug{display:block;opacity:.7;overflow-wrap:anywhere}.error{color:#b3261e}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i3$1.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i3$1.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4895
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonRelatedPostChooserComponent, isStandalone: true, selector: "taon-related-post-chooser", providers: [TaonCmsContentApiService], ngImport: i0, template: "<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", styles: [".search-field,mat-radio-group{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.search-field input{padding:.5rem;color:inherit;background:transparent;border:1px solid rgba(136,136,136,.3333333333);border-radius:4px}.slug{display:block;opacity:.7;overflow-wrap:anywhere}.error{color:#b3261e}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i2$1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i2$1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i2$1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i3$1.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i3$1.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4527
4896
  }
4528
4897
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonRelatedPostChooserComponent, decorators: [{
4529
4898
  type: Component,
4530
4899
  args: [{ selector: 'taon-related-post-chooser', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatButtonModule, MatDialogModule, MatRadioModule], providers: [TaonCmsContentApiService], template: "<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", styles: [".search-field,mat-radio-group{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.search-field input{padding:.5rem;color:inherit;background:transparent;border:1px solid rgba(136,136,136,.3333333333);border-radius:4px}.slug{display:block;opacity:.7;overflow-wrap:anywhere}.error{color:#b3261e}\n"] }]
4531
4900
  }], ctorParameters: () => [] });
4532
4901
 
4533
- function defaultThumbnailKey(type) {
4534
- return `cms-placeholder:${type}`;
4535
- }
4536
- function defaultThumbnailUrl(key) {
4537
- const type = Object.values(TaonCmsContentType).find(value => key === defaultThumbnailKey(value));
4538
- if (!type) {
4539
- return null;
4540
- }
4541
- const shapes = {
4542
- normal: '<path d="M260 126h120v112H260z M280 152h80m-80 20h80m-80 20h52" />',
4543
- video: '<rect x="248" y="132" width="144" height="100" rx="16"/><path d="m308 158 40 24-40 24z"/>',
4544
- audio: '<path d="M280 164v40m20-60v80m20-98v116m20-98v80m20-60v40"/>',
4545
- attachment: '<path d="M276 124h60l32 32v84h-92z M336 124v36h32m-70 30h48m-48 22h36"/>',
4546
- };
4547
- 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>`;
4548
- return `data:image/svg+xml,${encodeURIComponent(svg)}`;
4549
- }
4550
- function visiblePixelRatio(pixels) {
4551
- let visible = 0;
4552
- for (let index = 0; index < pixels.length; index += 4) {
4553
- const luminance = 0.2126 * pixels[index] +
4554
- 0.7152 * pixels[index + 1] +
4555
- 0.0722 * pixels[index + 2];
4556
- if (luminance > 18) {
4557
- visible += 1;
4558
- }
4559
- }
4560
- return pixels.length ? visible / (pixels.length / 4) : 0;
4561
- }
4562
- function videoEvent(video, event, action) {
4563
- return new Promise((resolve, reject) => {
4564
- const cleanup = () => {
4565
- clearTimeout(timeout);
4566
- video.removeEventListener(event, done);
4567
- video.removeEventListener('error', failed);
4568
- };
4569
- const done = () => {
4570
- cleanup();
4571
- resolve();
4572
- };
4573
- const failed = () => {
4574
- cleanup();
4575
- reject(new Error(video.error?.message || 'Video decoding failed.'));
4576
- };
4577
- const timeout = setTimeout(() => {
4578
- cleanup();
4579
- reject(new Error('Video decoding timed out.'));
4580
- }, 15000);
4581
- video.addEventListener(event, done, { once: true });
4582
- video.addEventListener('error', failed, { once: true });
4583
- try {
4584
- action();
4585
- }
4586
- catch (error) {
4587
- cleanup();
4588
- reject(error);
4589
- }
4590
- });
4591
- }
4592
- async function generateVideoThumbnail(file) {
4593
- const video = document.createElement('video');
4594
- const url = URL.createObjectURL(file);
4595
- try {
4596
- video.muted = true;
4597
- video.playsInline = true;
4598
- video.preload = 'auto';
4599
- await videoEvent(video, 'loadeddata', () => {
4600
- video.src = url;
4601
- video.load();
4602
- });
4603
- if (!video.videoWidth || !video.videoHeight) {
4604
- throw new Error('The video has no decodable dimensions.');
4605
- }
4606
- const analysis = document.createElement('canvas');
4607
- analysis.width = 64;
4608
- analysis.height = Math.max(1, Math.round((64 * video.videoHeight) / video.videoWidth));
4609
- const context = analysis.getContext('2d', { willReadFrequently: true });
4610
- if (!context) {
4611
- throw new Error('Canvas is unavailable.');
4612
- }
4613
- const seek = async (time) => {
4614
- if (Math.abs(video.currentTime - time) > 0.001) {
4615
- await videoEvent(video, 'seeked', () => {
4616
- video.currentTime = time;
4617
- });
4618
- }
4619
- };
4620
- const end = Number.isFinite(video.duration)
4621
- ? Math.min(5, Math.max(0, video.duration - 0.01))
4622
- : 5;
4623
- let bestTime = 0;
4624
- let bestRatio = -1;
4625
- let found = false;
4626
- for (let time = 0; time <= end; time += 0.25) {
4627
- await seek(time);
4628
- context.drawImage(video, 0, 0, analysis.width, analysis.height);
4629
- const ratio = visiblePixelRatio(context.getImageData(0, 0, analysis.width, analysis.height).data);
4630
- if (ratio > bestRatio) {
4631
- bestRatio = ratio;
4632
- bestTime = time;
4633
- }
4634
- // Small highlights or a subject in a dark scene are enough.
4635
- if (ratio >= 0.02) {
4636
- found = true;
4637
- break;
4638
- }
4639
- }
4640
- if (!found) {
4641
- await seek(bestTime);
4642
- }
4643
- const canvas = document.createElement('canvas');
4644
- const scale = Math.min(1, 1280 / video.videoWidth, 720 / video.videoHeight);
4645
- canvas.width = Math.max(1, Math.round(video.videoWidth * scale));
4646
- canvas.height = Math.max(1, Math.round(video.videoHeight * scale));
4647
- const output = canvas.getContext('2d');
4648
- if (!output) {
4649
- throw new Error('Canvas is unavailable.');
4650
- }
4651
- output.drawImage(video, 0, 0, canvas.width, canvas.height);
4652
- return await new Promise((resolve, reject) => {
4653
- canvas.toBlob(blob => blob
4654
- ? resolve(blob)
4655
- : reject(new Error('Thumbnail encoding failed.')), 'image/webp', 0.85);
4656
- });
4657
- }
4658
- finally {
4659
- try {
4660
- video.pause();
4661
- video.removeAttribute('src');
4662
- video.load();
4663
- }
4664
- finally {
4665
- URL.revokeObjectURL(url);
4666
- }
4667
- }
4668
- }
4669
-
4670
4902
  //#region imports
4671
4903
  //#endregion
4672
- const t$3 = 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('./cms-browser-prod-taon-cms-post.component.html.en-US.i18n.data-WYUL_IjF.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-post.component.html.pl-PL.i18n.data-B1zLXqUZ.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-post.component.html.de-DE.i18n.data-BaPmxkoJ.mjs')).default }, "src/lib/taon-posts/taon-cms-post/taon-cms-post.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-post.component.ts.en-US.i18n.data-CbSJQ1ae.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-post.component.ts.pl-PL.i18n.data-8FEfL47i.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-post.component.ts.de-DE.i18n.data-qu1MSO3K.mjs')).default } });
4904
+ const t$3 = 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('./cms-browser-prod-taon-cms-post.component.html.en-US.i18n.data-D300qnuI.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-post.component.html.pl-PL.i18n.data-BnqliIDO.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-post.component.html.de-DE.i18n.data-C6VWS4yA.mjs')).default }, "src/lib/taon-posts/taon-cms-post/taon-cms-post.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-post.component.ts.en-US.i18n.data-DMKvUsPt.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-post.component.ts.pl-PL.i18n.data-Bt1StLjN.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-post.component.ts.de-DE.i18n.data-DbP78P1q.mjs')).default } });
4673
4905
  class TaonCmsPostComponent {
4674
4906
  //#endregion
4675
4907
  //#region constructor
@@ -4805,13 +5037,74 @@ class TaonCmsPostComponent {
4805
5037
  return !!post && post.status !== 'published';
4806
5038
  }, ...(ngDevMode ? [{ debugName: "canPublish" }] : []));
4807
5039
  this.api = inject(TaonCmsContentApiService);
5040
+ this.contentConfig = inject(TaonCmsContentConfigService);
5041
+ this.contentTab = signal(0, ...(ngDevMode ? [{ debugName: "contentTab" }] : []));
5042
+ this.contentEditor = signal(null, ...(ngDevMode ? [{ debugName: "contentEditor" }] : []));
5043
+ this.rawContent = viewChild('rawContent', ...(ngDevMode ? [{ debugName: "rawContent" }] : []));
5044
+ this.loadingEditorContent = false;
5045
+ this.contentToolbar = [
5046
+ [{ heading: ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'] }],
5047
+ ['bold', 'italic', 'underline', 'strike'],
5048
+ ['ordered_list', 'bullet_list'],
5049
+ ['blockquote', 'code'],
5050
+ ['link', 'image'],
5051
+ ['text_color', 'background_color'],
5052
+ ['align_left', 'align_center', 'align_right', 'align_justify'],
5053
+ ['horizontal_rule', 'format_clear'],
5054
+ ['undo', 'redo'],
5055
+ ];
5056
+ this.resolvedBody = computed(() => {
5057
+ const draft = this.draft();
5058
+ return resolveTemplateVariables(draft.body, {
5059
+ frontendUrl: this.api.frontendUrl,
5060
+ site: { name: this.contentConfig.siteName },
5061
+ post: {
5062
+ title: draft.title,
5063
+ url: draft.slug ? this.api.getPostUrl(draft.slug) : null,
5064
+ id: this.currentPost()?.id,
5065
+ thumbnailUrl: this.thumbnailPreviewUrl() || null,
5066
+ },
5067
+ });
5068
+ }, ...(ngDevMode ? [{ debugName: "resolvedBody" }] : []));
4808
5069
  this.permissionApi = inject(TaonPermissionApiService);
4809
5070
  this.dialog = inject(MatDialog);
4810
5071
  this.destroyRef = inject(DestroyRef);
5072
+ const editor = new Editor({
5073
+ attributes: {
5074
+ 'aria-label': this.t.gettext('Post body'),
5075
+ style: 'min-height: 20rem',
5076
+ },
5077
+ });
5078
+ this.contentEditor.set(editor);
5079
+ const editorChanges = editor.valueChanges.subscribe(document => {
5080
+ if (!this.editing() || this.loadingEditorContent) {
5081
+ return;
5082
+ }
5083
+ this.updateDraft('body', toHTML(document, editor.schema));
5084
+ });
5085
+ // React to post input changes.
4811
5086
  effect(() => {
4812
5087
  const post = this.post();
4813
- untracked(() => this.setPost(post));
5088
+ untracked(() => {
5089
+ this.setPost(post);
5090
+ // Synchronize editor only because the POST changed externally.
5091
+ this.loadingEditorContent = true;
5092
+ try {
5093
+ editor.setContent(this.draft().body);
5094
+ }
5095
+ finally {
5096
+ this.loadingEditorContent = false;
5097
+ }
5098
+ });
5099
+ });
5100
+ // Enable/disable editor without recreating it.
5101
+ effect(() => {
5102
+ const disabled = this.busy() || this.dialogOpen() || !this.editing();
5103
+ editor.view.setProps({
5104
+ editable: () => !disabled,
5105
+ });
4814
5106
  });
5107
+ // Load edit-mode dependencies.
4815
5108
  effect(() => {
4816
5109
  if (this.editing()) {
4817
5110
  untracked(() => {
@@ -4821,6 +5114,7 @@ class TaonCmsPostComponent {
4821
5114
  });
4822
5115
  }
4823
5116
  });
5117
+ // Thumbnail preview handling.
4824
5118
  effect(onCleanup => {
4825
5119
  const key = this.thumbnailReference();
4826
5120
  const slug = this.thumbnailSlug();
@@ -4871,7 +5165,7 @@ class TaonCmsPostComponent {
4871
5165
  }
4872
5166
  });
4873
5167
  });
4874
- this.destroyRef.onDestroy(() => this.releaseThumbnailPreview());
5168
+ // Media preview handling.
4875
5169
  effect(() => {
4876
5170
  const media = this.mediaAttachment();
4877
5171
  const key = media ? this.draft()[media.key] : null;
@@ -4940,6 +5234,15 @@ class TaonCmsPostComponent {
4940
5234
  }
4941
5235
  });
4942
5236
  });
5237
+ // Destroy ngx-editor ONLY when this component is actually destroyed.
5238
+ this.destroyRef.onDestroy(() => {
5239
+ editorChanges.unsubscribe();
5240
+ editor.destroy();
5241
+ if (this.contentEditor() === editor) {
5242
+ this.contentEditor.set(null);
5243
+ }
5244
+ this.releaseThumbnailPreview();
5245
+ });
4943
5246
  }
4944
5247
  //#endregion
4945
5248
  //#region methods / load related posts
@@ -5229,6 +5532,30 @@ class TaonCmsPostComponent {
5229
5532
  }
5230
5533
  //#endregion
5231
5534
  //#region methods / update draft
5535
+ updateRawContent(event) {
5536
+ if (event.target instanceof HTMLTextAreaElement) {
5537
+ this.updateDraft('body', event.target.value);
5538
+ }
5539
+ }
5540
+ insertVariable(variable) {
5541
+ if (!this.editing() || this.busy() || this.dialogOpen()) {
5542
+ return;
5543
+ }
5544
+ const text = `{{${variable}}}`;
5545
+ if (this.contentTab() === 1) {
5546
+ const textarea = this.rawContent()?.nativeElement;
5547
+ if (textarea) {
5548
+ textarea.setRangeText(text, textarea.selectionStart, textarea.selectionEnd, 'end');
5549
+ this.updateDraft('body', textarea.value);
5550
+ textarea.focus();
5551
+ }
5552
+ }
5553
+ else if (this.contentTab() === 0) {
5554
+ const editor = this.contentEditor();
5555
+ editor?.commands.insertText(text).exec();
5556
+ editor?.view.focus();
5557
+ }
5558
+ }
5232
5559
  updateDraft(field, value) {
5233
5560
  this.draft.update(draft => ({ ...draft, [field]: value }));
5234
5561
  }
@@ -5668,10 +5995,11 @@ class TaonCmsPostComponent {
5668
5995
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5669
5996
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonCmsPostComponent, isStandalone: true, selector: "taon-cms-post", inputs: { post: { classPropertyName: "post", publicName: "post", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { mode: "modeChange", changed: "changed", deleted: "deleted", duplicated: "duplicated", cancelled: "cancelled" }, providers: [
5670
5997
  TaonCmsContentApiService,
5998
+ TaonCmsContentConfigService,
5671
5999
  TaonPermissionApiService,
5672
6000
  TaonCmsCategoryApiService,
5673
6001
  TaonCmsTagApiService,
5674
- ], ngImport: i0, template: "@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", styles: [":host{display:block}.post-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;padding:1rem;border-bottom:1px solid rgba(136,136,136,.2)}.post-status{margin-right:auto;text-transform:capitalize;opacity:.7}.buttons{display:flex;flex-wrap:wrap;gap:.5rem}.post-article{max-width:760px;margin:0 auto;padding:clamp(1.5rem,5vw,4rem) 1.5rem;overflow-wrap:anywhere}.post-title{margin:0 0 1.5rem;font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:1.15;letter-spacing:-.03em}.post-excerpt{margin:0 0 2rem;font-size:1.35rem;line-height:1.6;opacity:.7;white-space:pre-wrap}.post-body{font-family:Georgia,Times New Roman,serif;font-size:1.2rem;line-height:1.8;white-space:pre-wrap}.editable{min-height:1.2em;outline:none}.editable:focus{box-shadow:-3px 0 #8885}.editable:empty:before{content:attr(data-placeholder);opacity:.4;pointer-events:none}.post-body.editable{min-height:12rem}.slug-field{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:3rem;padding-top:1rem;border-top:1px solid rgba(136,136,136,.2);font-size:.875rem}.slug-field input{flex:1;min-width:160px;padding:.5rem;color:inherit;background:transparent;border:1px solid rgba(136,136,136,.3333333333);border-radius:4px}.error{padding:1rem;color:#b3261e}.post-type-selector{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.media-attachment,.post-thumbnail,.post-taxonomy,.related-posts,.application-hook,.post-permissions{margin-top:1.5rem;font-size:.875rem}.media-attachment h2,.post-thumbnail h2,.post-taxonomy h2,.related-posts h2,.application-hook h2,.post-permissions h2{font-size:1rem}.media-attachment .thumbnail-preview,.post-thumbnail .thumbnail-preview,.post-taxonomy .thumbnail-preview,.related-posts .thumbnail-preview,.application-hook .thumbnail-preview,.post-permissions .thumbnail-preview{display:block;width:min(100%,480px);max-height:320px;object-fit:contain;border-radius:12px;margin-bottom:.75rem}.media-attachment .post-taxonomy mat-form-field,.post-thumbnail .post-taxonomy mat-form-field,.post-taxonomy .post-taxonomy mat-form-field,.related-posts .post-taxonomy mat-form-field,.application-hook .post-taxonomy mat-form-field,.post-permissions .post-taxonomy mat-form-field{display:block;margin-top:.75rem}.related-posts ul,.post-permissions ul{padding:0;list-style:none}.related-posts .application-hook,.post-permissions .application-hook{display:grid;align-items:start;gap:.75rem}.related-posts .application-hook mat-form-field,.post-permissions .application-hook mat-form-field{width:min(100%,28rem)}.related-posts li,.post-permissions li{display:flex;align-items:center;justify-content:space-between;gap:.5rem}video{max-width:100%;max-height:400px!important}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i2$1.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i6.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "directive", type: i6.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i6.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i7.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i3$1.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i3$1.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: TaonCmsEditableDirective, selector: "[taonCmsEditable]", inputs: ["taonCmsEditableFormat", "taonCmsEditableSingleLine", "taonCmsEditable"], outputs: ["taonCmsEditableChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6002
+ ], viewQueries: [{ propertyName: "rawContent", first: true, predicate: ["rawContent"], descendants: true, isSignal: true }], ngImport: i0, template: "@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", styles: [":host{display:block}.post-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;padding:1rem;border-bottom:1px solid rgba(136,136,136,.2)}.post-status{margin-right:auto;text-transform:capitalize;opacity:.7}.buttons{display:flex;flex-wrap:wrap;gap:.5rem}.post-article{max-width:760px;margin:0 auto;padding:clamp(1.5rem,5vw,4rem) 1.5rem;overflow-wrap:anywhere}.post-title{margin:0 0 1.5rem;font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:1.15;letter-spacing:-.03em}.post-excerpt{margin:0 0 2rem;font-size:1.35rem;line-height:1.6;opacity:.7;white-space:pre-wrap}.post-body{font-family:Georgia,Times New Roman,serif;font-size:1.2rem;line-height:1.8;white-space:pre-wrap}.editable{min-height:1.2em;outline:none}.editable:focus{box-shadow:-3px 0 #8885}.editable:empty:before{content:attr(data-placeholder);opacity:.4;pointer-events:none}.post-content-editor{border:1px solid rgba(136,136,136,.3333333333);border-radius:4px;overflow:hidden}.raw-content{display:block;box-sizing:border-box;width:100%;min-height:20rem;padding:1rem;resize:vertical;border:0;color:inherit;background:transparent;font-family:monospace}ngx-editor{display:block;min-height:20rem}.content-preview{min-height:12rem;padding:1rem}.slug-field{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:3rem;padding-top:1rem;border-top:1px solid rgba(136,136,136,.2);font-size:.875rem}.slug-field input{flex:1;min-width:160px;padding:.5rem;color:inherit;background:transparent;border:1px solid rgba(136,136,136,.3333333333);border-radius:4px}.error{padding:1rem;color:#b3261e}.post-type-selector{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.media-attachment,.post-thumbnail,.post-taxonomy,.related-posts,.application-hook,.post-permissions{margin-top:1.5rem;font-size:.875rem}.media-attachment h2,.post-thumbnail h2,.post-taxonomy h2,.related-posts h2,.application-hook h2,.post-permissions h2{font-size:1rem}.media-attachment .thumbnail-preview,.post-thumbnail .thumbnail-preview,.post-taxonomy .thumbnail-preview,.related-posts .thumbnail-preview,.application-hook .thumbnail-preview,.post-permissions .thumbnail-preview{display:block;width:min(100%,480px);max-height:320px;object-fit:contain;border-radius:12px;margin-bottom:.75rem}.media-attachment .post-taxonomy mat-form-field,.post-thumbnail .post-taxonomy mat-form-field,.post-taxonomy .post-taxonomy mat-form-field,.related-posts .post-taxonomy mat-form-field,.application-hook .post-taxonomy mat-form-field,.post-permissions .post-taxonomy mat-form-field{display:block;margin-top:.75rem}.related-posts ul,.post-permissions ul{padding:0;list-style:none}.related-posts .application-hook,.post-permissions .application-hook{display:grid;align-items:start;gap:.75rem}.related-posts .application-hook mat-form-field,.post-permissions .application-hook mat-form-field{width:min(100%,28rem)}.related-posts li,.post-permissions li{display:flex;align-items:center;justify-content:space-between;gap:.5rem}video{max-width:100%;max-height:400px!important}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i2$2.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i6.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "component", type: i7.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass", "id"], exportAs: ["matTab"] }, { kind: "component", type: i7.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "mat-align-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "ngmodule", type: NgxEditorModule }, { kind: "component", type: i8.NgxEditorComponent, selector: "ngx-editor", inputs: ["editor", "outputFormat", "placeholder"], outputs: ["focusOut", "focusIn"] }, { kind: "component", type: i8.MenuComponent, selector: "ngx-editor-menu", inputs: ["toolbar", "colorPresets", "disabled", "editor", "customMenuRef", "dropdownPlacement"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i9.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "directive", type: i9.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i9.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i10.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i3$1.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i3$1.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: TaonCmsEditableDirective, selector: "[taonCmsEditable]", inputs: ["taonCmsEditableFormat", "taonCmsEditableSingleLine", "taonCmsEditable"], outputs: ["taonCmsEditableChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5675
6003
  }
5676
6004
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostComponent, decorators: [{
5677
6005
  type: Component,
@@ -5681,6 +6009,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
5681
6009
  MatFormFieldModule,
5682
6010
  MatIconModule,
5683
6011
  MatInputModule,
6012
+ MatMenuModule,
6013
+ MatTabsModule,
6014
+ NgxEditorModule,
5684
6015
  MatChipsModule,
5685
6016
  MatProgressBarModule,
5686
6017
  MatRadioModule,
@@ -5688,11 +6019,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
5688
6019
  TaonCmsEditableDirective,
5689
6020
  ], providers: [
5690
6021
  TaonCmsContentApiService,
6022
+ TaonCmsContentConfigService,
5691
6023
  TaonPermissionApiService,
5692
6024
  TaonCmsCategoryApiService,
5693
6025
  TaonCmsTagApiService,
5694
- ], template: "@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", styles: [":host{display:block}.post-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;padding:1rem;border-bottom:1px solid rgba(136,136,136,.2)}.post-status{margin-right:auto;text-transform:capitalize;opacity:.7}.buttons{display:flex;flex-wrap:wrap;gap:.5rem}.post-article{max-width:760px;margin:0 auto;padding:clamp(1.5rem,5vw,4rem) 1.5rem;overflow-wrap:anywhere}.post-title{margin:0 0 1.5rem;font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:1.15;letter-spacing:-.03em}.post-excerpt{margin:0 0 2rem;font-size:1.35rem;line-height:1.6;opacity:.7;white-space:pre-wrap}.post-body{font-family:Georgia,Times New Roman,serif;font-size:1.2rem;line-height:1.8;white-space:pre-wrap}.editable{min-height:1.2em;outline:none}.editable:focus{box-shadow:-3px 0 #8885}.editable:empty:before{content:attr(data-placeholder);opacity:.4;pointer-events:none}.post-body.editable{min-height:12rem}.slug-field{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:3rem;padding-top:1rem;border-top:1px solid rgba(136,136,136,.2);font-size:.875rem}.slug-field input{flex:1;min-width:160px;padding:.5rem;color:inherit;background:transparent;border:1px solid rgba(136,136,136,.3333333333);border-radius:4px}.error{padding:1rem;color:#b3261e}.post-type-selector{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.media-attachment,.post-thumbnail,.post-taxonomy,.related-posts,.application-hook,.post-permissions{margin-top:1.5rem;font-size:.875rem}.media-attachment h2,.post-thumbnail h2,.post-taxonomy h2,.related-posts h2,.application-hook h2,.post-permissions h2{font-size:1rem}.media-attachment .thumbnail-preview,.post-thumbnail .thumbnail-preview,.post-taxonomy .thumbnail-preview,.related-posts .thumbnail-preview,.application-hook .thumbnail-preview,.post-permissions .thumbnail-preview{display:block;width:min(100%,480px);max-height:320px;object-fit:contain;border-radius:12px;margin-bottom:.75rem}.media-attachment .post-taxonomy mat-form-field,.post-thumbnail .post-taxonomy mat-form-field,.post-taxonomy .post-taxonomy mat-form-field,.related-posts .post-taxonomy mat-form-field,.application-hook .post-taxonomy mat-form-field,.post-permissions .post-taxonomy mat-form-field{display:block;margin-top:.75rem}.related-posts ul,.post-permissions ul{padding:0;list-style:none}.related-posts .application-hook,.post-permissions .application-hook{display:grid;align-items:start;gap:.75rem}.related-posts .application-hook mat-form-field,.post-permissions .application-hook mat-form-field{width:min(100%,28rem)}.related-posts li,.post-permissions li{display:flex;align-items:center;justify-content:space-between;gap:.5rem}video{max-width:100%;max-height:400px!important}\n"] }]
5695
- }], ctorParameters: () => [], propDecorators: { post: [{ type: i0.Input, args: [{ isSignal: true, alias: "post", required: false }] }], mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: false }] }, { type: i0.Output, args: ["modeChange"] }], changed: [{ type: i0.Output, args: ["changed"] }], deleted: [{ type: i0.Output, args: ["deleted"] }], duplicated: [{ type: i0.Output, args: ["duplicated"] }], cancelled: [{ type: i0.Output, args: ["cancelled"] }] } });
6026
+ ], template: "@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", styles: [":host{display:block}.post-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;padding:1rem;border-bottom:1px solid rgba(136,136,136,.2)}.post-status{margin-right:auto;text-transform:capitalize;opacity:.7}.buttons{display:flex;flex-wrap:wrap;gap:.5rem}.post-article{max-width:760px;margin:0 auto;padding:clamp(1.5rem,5vw,4rem) 1.5rem;overflow-wrap:anywhere}.post-title{margin:0 0 1.5rem;font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:1.15;letter-spacing:-.03em}.post-excerpt{margin:0 0 2rem;font-size:1.35rem;line-height:1.6;opacity:.7;white-space:pre-wrap}.post-body{font-family:Georgia,Times New Roman,serif;font-size:1.2rem;line-height:1.8;white-space:pre-wrap}.editable{min-height:1.2em;outline:none}.editable:focus{box-shadow:-3px 0 #8885}.editable:empty:before{content:attr(data-placeholder);opacity:.4;pointer-events:none}.post-content-editor{border:1px solid rgba(136,136,136,.3333333333);border-radius:4px;overflow:hidden}.raw-content{display:block;box-sizing:border-box;width:100%;min-height:20rem;padding:1rem;resize:vertical;border:0;color:inherit;background:transparent;font-family:monospace}ngx-editor{display:block;min-height:20rem}.content-preview{min-height:12rem;padding:1rem}.slug-field{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:3rem;padding-top:1rem;border-top:1px solid rgba(136,136,136,.2);font-size:.875rem}.slug-field input{flex:1;min-width:160px;padding:.5rem;color:inherit;background:transparent;border:1px solid rgba(136,136,136,.3333333333);border-radius:4px}.error{padding:1rem;color:#b3261e}.post-type-selector{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.media-attachment,.post-thumbnail,.post-taxonomy,.related-posts,.application-hook,.post-permissions{margin-top:1.5rem;font-size:.875rem}.media-attachment h2,.post-thumbnail h2,.post-taxonomy h2,.related-posts h2,.application-hook h2,.post-permissions h2{font-size:1rem}.media-attachment .thumbnail-preview,.post-thumbnail .thumbnail-preview,.post-taxonomy .thumbnail-preview,.related-posts .thumbnail-preview,.application-hook .thumbnail-preview,.post-permissions .thumbnail-preview{display:block;width:min(100%,480px);max-height:320px;object-fit:contain;border-radius:12px;margin-bottom:.75rem}.media-attachment .post-taxonomy mat-form-field,.post-thumbnail .post-taxonomy mat-form-field,.post-taxonomy .post-taxonomy mat-form-field,.related-posts .post-taxonomy mat-form-field,.application-hook .post-taxonomy mat-form-field,.post-permissions .post-taxonomy mat-form-field{display:block;margin-top:.75rem}.related-posts ul,.post-permissions ul{padding:0;list-style:none}.related-posts .application-hook,.post-permissions .application-hook{display:grid;align-items:start;gap:.75rem}.related-posts .application-hook mat-form-field,.post-permissions .application-hook mat-form-field{width:min(100%,28rem)}.related-posts li,.post-permissions li{display:flex;align-items:center;justify-content:space-between;gap:.5rem}video{max-width:100%;max-height:400px!important}\n"] }]
6027
+ }], ctorParameters: () => [], propDecorators: { post: [{ type: i0.Input, args: [{ isSignal: true, alias: "post", required: false }] }], mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: false }] }, { type: i0.Output, args: ["modeChange"] }], changed: [{ type: i0.Output, args: ["changed"] }], deleted: [{ type: i0.Output, args: ["deleted"] }], duplicated: [{ type: i0.Output, args: ["duplicated"] }], cancelled: [{ type: i0.Output, args: ["cancelled"] }], rawContent: [{ type: i0.ViewChild, args: ['rawContent', { isSignal: true }] }] } });
5696
6028
 
5697
6029
  var taonCmsPost_component = /*#__PURE__*/Object.freeze({
5698
6030
  __proto__: null,
@@ -5723,7 +6055,7 @@ const TaonCmsPostRoutes = [
5723
6055
  */
5724
6056
  // export default TaonCmsPostRoutes;
5725
6057
 
5726
- const t$2 = 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('./cms-browser-prod-taon-cms-post-details-page.component.ts.en-US.i18n.data-CfETMKWw.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-BJUC-bxd.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-post-details-page.component.ts.de-DE.i18n.data-CCMZ2Grc.mjs')).default } });
6058
+ const t$2 = 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('./cms-browser-prod-taon-cms-post-details-page.component.ts.en-US.i18n.data-CfETMKWw.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-Ci0T7QVO.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-post-details-page.component.ts.de-DE.i18n.data-C-rT2qc1.mjs')).default } });
5727
6059
  class TaonCmsPostDetailsPageComponent {
5728
6060
  constructor() {
5729
6061
  this.t = t$2.for(this);
@@ -5795,51 +6127,18 @@ var taonCmsPostDetailsPage_component = /*#__PURE__*/Object.freeze({
5795
6127
 
5796
6128
  //#region imports
5797
6129
  //#endregion
5798
- const t$1 = 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('./cms-browser-prod-taon-cms-posts-backoffice.component.html.en-US.i18n.data-C7o8B-38.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-DHsO0ILx.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-_vYyLJO0.mjs')).default }, "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-CE7oFpqW.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-DN7jpzXv.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-B6oI0NXX.mjs')).default }, "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-BGx0VfEv.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-CJyoZejS.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-CvRKVC5m.mjs')).default } });
5799
- class TaonCmsPostsBackofficeComponent {
6130
+ const t$1 = 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('./cms-browser-prod-taon-cms-post-table-actions.directive.ts.en-US.i18n.data-6xHTz4NK.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data-6Sdc2ekE.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-post-table-actions.directive.ts.de-DE.i18n.data-P5VXQlmS.mjs')).default }, "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.html": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.html.en-US.i18n.data-C7o8B-38.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-DNGNxZmN.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-CXTopGnK.mjs')).default }, "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-C6jy6lw4.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-DFJPgXFt.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-BuX23uvE.mjs')).default }, "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-BGx0VfEv.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-WF50SpXY.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-BQgmzcJd.mjs')).default } });
6131
+ class TaonCmsPostsBackofficeComponent extends TaonCmsPostTableActions {
5800
6132
  constructor() {
6133
+ super(...arguments);
5801
6134
  this.t = t$1.for(this);
5802
- this.taonCmsContentApiService = inject(TaonCmsContentApiService);
5803
6135
  this.posts = signal([], ...(ngDevMode ? [{ debugName: "posts" }] : []));
5804
6136
  this.loading = signal(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
5805
- this.deleting = signal(null, ...(ngDevMode ? [{ debugName: "deleting" }] : []));
5806
- this.duplicating = signal(false, ...(ngDevMode ? [{ debugName: "duplicating" }] : []));
5807
- this.error = signal('', ...(ngDevMode ? [{ debugName: "error" }] : []));
5808
- this.dialog = inject(MatDialog);
5809
- this.route = inject(ActivatedRoute);
5810
- this.router = inject(Router);
5811
- this.destroyRef = inject(DestroyRef);
5812
6137
  this.columns = [
5813
6138
  { header: 'ID', field: 'id', sortable: true },
5814
6139
  { header: this.t.gettext('Title'), field: 'title', sortable: true },
5815
6140
  { header: this.t.gettext('Status'), field: 'status', sortable: true },
5816
- {
5817
- header: this.t.gettext('Actions'),
5818
- field: 'actions',
5819
- type: 'button',
5820
- buttons: [
5821
- {
5822
- type: 'icon',
5823
- icon: 'content_copy',
5824
- tooltip: this.t.gettext('Duplicate post'),
5825
- disabled: () => this.duplicating(),
5826
- click: (post) => this.duplicate(post),
5827
- },
5828
- {
5829
- type: 'icon',
5830
- icon: 'open_in_new',
5831
- tooltip: this.t.gettext('Post details'),
5832
- click: (post) => this.openDetails(post),
5833
- },
5834
- {
5835
- type: 'icon',
5836
- icon: 'delete',
5837
- tooltip: this.t.gettext('Delete (archive) post'),
5838
- disabled: (post) => post.status === 'archived' || this.deleting() !== null,
5839
- click: (post) => this.delete(post),
5840
- },
5841
- ],
5842
- },
6141
+ this.actionsColumn,
5843
6142
  ];
5844
6143
  }
5845
6144
  get crud() {
@@ -5851,72 +6150,8 @@ class TaonCmsPostsBackofficeComponent {
5851
6150
  ngAfterViewInit() {
5852
6151
  this.reload();
5853
6152
  }
5854
- add() {
5855
- this.openPost('new');
5856
- }
5857
- openDetails(post) {
5858
- this.openPost(post.id);
5859
- }
5860
- openPost(id) {
5861
- const postsRoute = this.route.parent;
5862
- if (!postsRoute) {
5863
- this.error.set(this.t.gettext('The Post details route is unavailable.'));
5864
- return;
5865
- }
5866
- void this.router.navigate([id], { relativeTo: postsRoute });
5867
- }
5868
- duplicate(post) {
5869
- if (this.duplicating()) {
5870
- return;
5871
- }
5872
- this.duplicating.set(true);
5873
- this.error.set('');
5874
- this.taonCmsContentApiService
5875
- .duplicateContent(post.id)
5876
- .pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.duplicating.set(false)))
5877
- .subscribe({
5878
- next: duplicate => this.openDetails(duplicate),
5879
- error: (error) => {
5880
- console.error('[taon-cms-posts-backoffice] Unable to duplicate post', error);
5881
- this.error.set(this.t.gettext('The post could not be duplicated. Please try again.'));
5882
- },
5883
- });
5884
- }
5885
- delete(post) {
5886
- if (this.deleting() !== null || post.status === 'archived') {
5887
- return;
5888
- }
5889
- this.deleting.set(post.id);
5890
- const ref = this.dialog.open(TaonConfirmDialogComponent, {
5891
- data: {
5892
- title: this.t.gettext('Delete post?'),
5893
- message: this.t.gettext('This archives the post. It can be restored from its revisions.'),
5894
- confirmText: this.t.gettext('Delete'),
5895
- },
5896
- });
5897
- ref
5898
- .afterClosed()
5899
- .pipe(takeUntilDestroyed(this.destroyRef))
5900
- .subscribe(confirmed => {
5901
- if (!confirmed) {
5902
- this.deleting.set(null);
5903
- return;
5904
- }
5905
- this.error.set('');
5906
- this.taonCmsContentApiService
5907
- .deleteContent(post.id, post.version)
5908
- .pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.deleting.set(null)))
5909
- .subscribe({
5910
- next: () => this.reload(),
5911
- error: (error) => {
5912
- console.error('[taon-cms-posts-backoffice] Unable to delete post', error);
5913
- this.error.set(this.t.gettext('The post could not be deleted. Refresh the table before retrying.'));
5914
- },
5915
- });
5916
- });
5917
- }
5918
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostsBackofficeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5919
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonCmsPostsBackofficeComponent, isStandalone: true, selector: "app-taon-cms-posts-backoffice", providers: [TaonCmsContentApiService], viewQueries: [{ propertyName: "datatable", first: true, predicate: TaonDatatableComponent, descendants: true }], ngImport: i0, template: "<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", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: TaonDatatableComponent, selector: "taon-datatable", inputs: ["pageNumber", "pageSize", "pageSizeOptions", "allowedColumns", "expansionTemplate", "entityCrudController", "columns", "hideSearch", "hideAddButton", "safe", "searchMode", "callQueryMethod", "data", "showPaginator"], outputs: ["expansionChange", "addingItem"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6153
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostsBackofficeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
6154
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonCmsPostsBackofficeComponent, isStandalone: true, selector: "app-taon-cms-posts-backoffice", providers: [TaonCmsContentApiService], viewQueries: [{ propertyName: "datatable", first: true, predicate: TaonDatatableComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<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", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: TaonDatatableComponent, selector: "taon-datatable", inputs: ["pageNumber", "pageSize", "pageSizeOptions", "allowedColumns", "expansionTemplate", "entityCrudController", "columns", "hideSearch", "hideAddButton", "safe", "searchMode", "callQueryMethod", "data", "showPaginator"], outputs: ["expansionChange", "addingItem"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5920
6155
  }
5921
6156
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostsBackofficeComponent, decorators: [{
5922
6157
  type: Component,
@@ -5936,7 +6171,7 @@ var taonCmsPostsBackoffice_component = /*#__PURE__*/Object.freeze({
5936
6171
 
5937
6172
  //#region imports
5938
6173
  //#endregion
5939
- const 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('./cms-browser-prod-taon-cms-posts-backoffice.component.html.en-US.i18n.data-C7o8B-38.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-DHsO0ILx.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-_vYyLJO0.mjs')).default }, "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-CE7oFpqW.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-DN7jpzXv.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-B6oI0NXX.mjs')).default }, "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-BGx0VfEv.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-CJyoZejS.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-CvRKVC5m.mjs')).default } });
6174
+ const 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('./cms-browser-prod-taon-cms-post-table-actions.directive.ts.en-US.i18n.data-6xHTz4NK.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data-6Sdc2ekE.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-post-table-actions.directive.ts.de-DE.i18n.data-P5VXQlmS.mjs')).default }, "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.html": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.html.en-US.i18n.data-C7o8B-38.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-DNGNxZmN.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-CXTopGnK.mjs')).default }, "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-C6jy6lw4.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-DFJPgXFt.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-BuX23uvE.mjs')).default }, "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-BGx0VfEv.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-WF50SpXY.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-BQgmzcJd.mjs')).default } });
5940
6175
  const resolvePost = async (route) => {
5941
6176
  const id = Number(route.paramMap.get('id'));
5942
6177
  if (!Number.isSafeInteger(id) || id <= 0) {
@@ -5991,14 +6226,9 @@ var index$1 = /*#__PURE__*/Object.freeze({
5991
6226
  BUILD_FRAMEWORK_CLI_NAME: BUILD_FRAMEWORK_CLI_NAME,
5992
6227
  CURRENT_PACKAGE_TAON_VERSION: CURRENT_PACKAGE_TAON_VERSION,
5993
6228
  CURRENT_PACKAGE_VERSION: CURRENT_PACKAGE_VERSION,
5994
- get CmsContext_1791132517217_initial () { return CmsContext_1791132517217_initial; },
5995
- get CmsContext_1792579000000_postPermissionInheritance () { return CmsContext_1792579000000_postPermissionInheritance; },
5996
- get CmsContext_1793043000000_postThumbnails () { return CmsContext_1793043000000_postThumbnails; },
6229
+ get CmsContext_1792506757808_applicaitonHooks () { return CmsContext_1792506757808_applicaitonHooks; },
5997
6230
  MIGRATIONS_CLASSES_FOR_CmsContext: MIGRATIONS_CLASSES_FOR_CmsContext,
5998
6231
  PROJECT_NPM_NAME: PROJECT_NPM_NAME,
5999
- get TaonAuthContextEntity () { return TaonAuthContextEntity; },
6000
- TaonAuthContextHasAccess: TaonAuthContextHasAccess,
6001
- get TaonAuthContextRepository () { return TaonAuthContextRepository; },
6002
6232
  TaonCmsAbstractContext: TaonCmsAbstractContext,
6003
6233
  TaonCmsApplicationHook: TaonCmsApplicationHook,
6004
6234
  get TaonCmsApplicationHookEntity () { return TaonCmsApplicationHookEntity; },
@@ -6088,10 +6318,15 @@ var index$1 = /*#__PURE__*/Object.freeze({
6088
6318
  TaonCmsContentTagUtils__NS__isActive: TaonCmsContentTagUtils__NS__isActive,
6089
6319
  get TaonCmsContentType () { return TaonCmsContentType; },
6090
6320
  TaonCmsContentUtils__NS__isActive: TaonCmsContentUtils__NS__isActive,
6321
+ TaonCmsCourseBackofficeComponent: TaonCmsCourseBackofficeComponent,
6322
+ TaonCmsCourseBackofficeRoutes: TaonCmsCourseBackofficeRoutes,
6323
+ TaonCmsCourseContentsComponent: TaonCmsCourseContentsComponent,
6324
+ TaonCmsCourseCoverComponent: TaonCmsCourseCoverComponent,
6091
6325
  TaonCmsEditableDirective: TaonCmsEditableDirective,
6092
6326
  TaonCmsPostComponent: TaonCmsPostComponent,
6093
6327
  TaonCmsPostDetailsPageComponent: TaonCmsPostDetailsPageComponent,
6094
6328
  TaonCmsPostRoutes: TaonCmsPostRoutes,
6329
+ TaonCmsPostTableActions: TaonCmsPostTableActions,
6095
6330
  TaonCmsPostsBackofficeComponent: TaonCmsPostsBackofficeComponent,
6096
6331
  TaonCmsPostsBackofficeRoutes: TaonCmsPostsBackofficeRoutes,
6097
6332
  TaonCmsRevisionChooserComponent: TaonCmsRevisionChooserComponent,
@@ -6109,9 +6344,6 @@ var index$1 = /*#__PURE__*/Object.freeze({
6109
6344
  TaonCmsTagsBackofficeRoutes: TaonCmsTagsBackofficeRoutes,
6110
6345
  TaonCmsTaxonomyBackofficeComponent: TaonCmsTaxonomyBackofficeComponent,
6111
6346
  TaonRelatedPostChooserComponent: TaonRelatedPostChooserComponent,
6112
- TaonSessionCoreGroups: TaonSessionCoreGroups,
6113
- TaonSessionCorePermissions: TaonSessionCorePermissions,
6114
- TaonSessionCoreRoles: TaonSessionCoreRoles,
6115
6347
  contentError: contentError,
6116
6348
  default: index,
6117
6349
  defaultThumbnailKey: defaultThumbnailKey,
@@ -6119,6 +6351,7 @@ var index$1 = /*#__PURE__*/Object.freeze({
6119
6351
  generateVideoThumbnail: generateVideoThumbnail,
6120
6352
  requireContentId: requireContentId,
6121
6353
  requireContentVersion: requireContentVersion,
6354
+ resolveTemplateVariables: resolveTemplateVariables,
6122
6355
  startCli: startCli,
6123
6356
  trackCmsUpload: trackCmsUpload,
6124
6357
  validateCategoryHierarchy: validateCategoryHierarchy,
@@ -6131,5 +6364,5 @@ var index$1 = /*#__PURE__*/Object.freeze({
6131
6364
  * Generated bundle index. Do not edit.
6132
6365
  */
6133
6366
 
6134
- export { APP_ID, BUILD_BASE_HREF, BUILD_FRAMEWORK_CLI_NAME, CURRENT_PACKAGE_TAON_VERSION, CURRENT_PACKAGE_VERSION, CmsContext_1791132517217_initial, CmsContext_1792579000000_postPermissionInheritance, CmsContext_1793043000000_postThumbnails, MIGRATIONS_CLASSES_FOR_CmsContext, PROJECT_NPM_NAME, TaonAuthContextEntity, TaonAuthContextHasAccess, TaonAuthContextRepository, TaonCmsAbstractContext, TaonCmsApplicationHook, TaonCmsApplicationHookEntity, TaonCmsAssetPreviewComponent, TaonCmsAssetsBackofficeComponent, TaonCmsAssetsBackofficeRoutes, TaonCmsBackofficeComponent, TaonCmsBackofficeRoutes, TaonCmsCategoriesBackofficeRoutes, TaonCmsCategoryAbstractContext, TaonCmsCategoryApiService, TaonCmsCategoryController, TaonCmsCategoryDefaultsValues, TaonCmsCategoryEntity, TaonCmsCategoryMiddleware, TaonCmsCategoryProvider, TaonCmsCategoryRepository, TaonCmsCategoryState, TaonCmsCategorySubscriber, TaonCmsCategoryUtils__NS__isActive, TaonCmsCommentAbstractContext, TaonCmsCommentApiService, TaonCmsCommentController, TaonCmsCommentDefaultsValues, TaonCmsCommentEntity, TaonCmsCommentMiddleware, TaonCmsCommentProvider, TaonCmsCommentRepository, TaonCmsCommentState, TaonCmsCommentSubscriber, TaonCmsCommentUtils__NS__isActive, TaonCmsContentAbstractContext, TaonCmsContentApiService, TaonCmsContentAssetAbstractContext, TaonCmsContentAssetApiService, TaonCmsContentAssetController, TaonCmsContentAssetDefaultsValues, TaonCmsContentAssetEntity, TaonCmsContentAssetMiddleware, TaonCmsContentAssetProvider, TaonCmsContentAssetRepository, TaonCmsContentAssetState, TaonCmsContentAssetSubscriber, TaonCmsContentAssetUtils__NS__isActive, TaonCmsContentConfigService, TaonCmsContentController, TaonCmsContentDefaultsValues, TaonCmsContentEntity, TaonCmsContentMiddleware, TaonCmsContentPermissionAbstractContext, TaonCmsContentPermissionApiService, TaonCmsContentPermissionController, TaonCmsContentPermissionDefaultsValues, TaonCmsContentPermissionEntity, TaonCmsContentPermissionMiddleware, TaonCmsContentPermissionProvider, TaonCmsContentPermissionRepository, TaonCmsContentPermissionState, TaonCmsContentPermissionSubscriber, TaonCmsContentPermissionUtils__NS__isActive, TaonCmsContentProvider, TaonCmsContentRepository, TaonCmsContentRevisionAbstractContext, TaonCmsContentRevisionApiService, TaonCmsContentRevisionController, TaonCmsContentRevisionDefaultsValues, TaonCmsContentRevisionEntity, TaonCmsContentRevisionMiddleware, TaonCmsContentRevisionProvider, TaonCmsContentRevisionRepository, TaonCmsContentRevisionState, TaonCmsContentRevisionSubscriber, TaonCmsContentRevisionUtils__NS__isActive, TaonCmsContentState, TaonCmsContentStorageController, TaonCmsContentSubscriber, TaonCmsContentTagAbstractContext, TaonCmsContentTagApiService, TaonCmsContentTagController, TaonCmsContentTagDefaultsValues, TaonCmsContentTagEntity, TaonCmsContentTagMiddleware, TaonCmsContentTagProvider, TaonCmsContentTagRepository, TaonCmsContentTagState, TaonCmsContentTagSubscriber, TaonCmsContentTagUtils__NS__isActive, TaonCmsContentType, TaonCmsContentUtils__NS__isActive, TaonCmsEditableDirective, TaonCmsPostComponent, TaonCmsPostDetailsPageComponent, TaonCmsPostRoutes, TaonCmsPostsBackofficeComponent, TaonCmsPostsBackofficeRoutes, TaonCmsRevisionChooserComponent, TaonCmsTagAbstractContext, TaonCmsTagApiService, TaonCmsTagController, TaonCmsTagDefaultsValues, TaonCmsTagEntity, TaonCmsTagMiddleware, TaonCmsTagProvider, TaonCmsTagRepository, TaonCmsTagState, TaonCmsTagSubscriber, TaonCmsTagUtils__NS__isActive, TaonCmsTagsBackofficeRoutes, TaonCmsTaxonomyBackofficeComponent, TaonRelatedPostChooserComponent, TaonSessionCoreGroups, TaonSessionCorePermissions, TaonSessionCoreRoles, contentError, defaultThumbnailKey, defaultThumbnailUrl, generateVideoThumbnail, requireContentId, requireContentVersion, startCli, trackCmsUpload, validateCategoryHierarchy, validateContentInput, validateTaxonomy, visiblePixelRatio };
6367
+ export { APP_ID, BUILD_BASE_HREF, BUILD_FRAMEWORK_CLI_NAME, CURRENT_PACKAGE_TAON_VERSION, CURRENT_PACKAGE_VERSION, CmsContext_1792506757808_applicaitonHooks, MIGRATIONS_CLASSES_FOR_CmsContext, PROJECT_NPM_NAME, TaonCmsAbstractContext, TaonCmsApplicationHook, TaonCmsApplicationHookEntity, TaonCmsAssetPreviewComponent, TaonCmsAssetsBackofficeComponent, TaonCmsAssetsBackofficeRoutes, TaonCmsBackofficeComponent, TaonCmsBackofficeRoutes, TaonCmsCategoriesBackofficeRoutes, TaonCmsCategoryAbstractContext, TaonCmsCategoryApiService, TaonCmsCategoryController, TaonCmsCategoryDefaultsValues, TaonCmsCategoryEntity, TaonCmsCategoryMiddleware, TaonCmsCategoryProvider, TaonCmsCategoryRepository, TaonCmsCategoryState, TaonCmsCategorySubscriber, TaonCmsCategoryUtils__NS__isActive, TaonCmsCommentAbstractContext, TaonCmsCommentApiService, TaonCmsCommentController, TaonCmsCommentDefaultsValues, TaonCmsCommentEntity, TaonCmsCommentMiddleware, TaonCmsCommentProvider, TaonCmsCommentRepository, TaonCmsCommentState, TaonCmsCommentSubscriber, TaonCmsCommentUtils__NS__isActive, TaonCmsContentAbstractContext, TaonCmsContentApiService, TaonCmsContentAssetAbstractContext, TaonCmsContentAssetApiService, TaonCmsContentAssetController, TaonCmsContentAssetDefaultsValues, TaonCmsContentAssetEntity, TaonCmsContentAssetMiddleware, TaonCmsContentAssetProvider, TaonCmsContentAssetRepository, TaonCmsContentAssetState, TaonCmsContentAssetSubscriber, TaonCmsContentAssetUtils__NS__isActive, TaonCmsContentConfigService, TaonCmsContentController, TaonCmsContentDefaultsValues, TaonCmsContentEntity, TaonCmsContentMiddleware, TaonCmsContentPermissionAbstractContext, TaonCmsContentPermissionApiService, TaonCmsContentPermissionController, TaonCmsContentPermissionDefaultsValues, TaonCmsContentPermissionEntity, TaonCmsContentPermissionMiddleware, TaonCmsContentPermissionProvider, TaonCmsContentPermissionRepository, TaonCmsContentPermissionState, TaonCmsContentPermissionSubscriber, TaonCmsContentPermissionUtils__NS__isActive, TaonCmsContentProvider, TaonCmsContentRepository, TaonCmsContentRevisionAbstractContext, TaonCmsContentRevisionApiService, TaonCmsContentRevisionController, TaonCmsContentRevisionDefaultsValues, TaonCmsContentRevisionEntity, TaonCmsContentRevisionMiddleware, TaonCmsContentRevisionProvider, TaonCmsContentRevisionRepository, TaonCmsContentRevisionState, TaonCmsContentRevisionSubscriber, TaonCmsContentRevisionUtils__NS__isActive, TaonCmsContentState, TaonCmsContentStorageController, TaonCmsContentSubscriber, TaonCmsContentTagAbstractContext, TaonCmsContentTagApiService, TaonCmsContentTagController, TaonCmsContentTagDefaultsValues, TaonCmsContentTagEntity, TaonCmsContentTagMiddleware, TaonCmsContentTagProvider, TaonCmsContentTagRepository, TaonCmsContentTagState, TaonCmsContentTagSubscriber, TaonCmsContentTagUtils__NS__isActive, TaonCmsContentType, TaonCmsContentUtils__NS__isActive, TaonCmsCourseBackofficeComponent, TaonCmsCourseBackofficeRoutes, TaonCmsCourseContentsComponent, TaonCmsCourseCoverComponent, TaonCmsEditableDirective, TaonCmsPostComponent, TaonCmsPostDetailsPageComponent, TaonCmsPostRoutes, TaonCmsPostTableActions, TaonCmsPostsBackofficeComponent, TaonCmsPostsBackofficeRoutes, TaonCmsRevisionChooserComponent, TaonCmsTagAbstractContext, TaonCmsTagApiService, TaonCmsTagController, TaonCmsTagDefaultsValues, TaonCmsTagEntity, TaonCmsTagMiddleware, TaonCmsTagProvider, TaonCmsTagRepository, TaonCmsTagState, TaonCmsTagSubscriber, TaonCmsTagUtils__NS__isActive, TaonCmsTagsBackofficeRoutes, TaonCmsTaxonomyBackofficeComponent, TaonRelatedPostChooserComponent, contentError, defaultThumbnailKey, defaultThumbnailUrl, generateVideoThumbnail, requireContentId, requireContentVersion, resolveTemplateVariables, startCli, trackCmsUpload, validateCategoryHierarchy, validateContentInput, validateTaxonomy, visiblePixelRatio };
6135
6368
  //# sourceMappingURL=cms-browser-prod.mjs.map