@taon-dev/cms 21.0.19 → 21.0.21

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, TaonMigration, TaonBaseAbstractEntity, TaonRepository, TaonBaseRepository, TaonBaseCrudController, POST, Query, Body, DELETE, TaonController, TaonBaseProvider, TaonProvider, TaonBaseMiddleware, TaonMiddleware, TaonBaseSubscriberForEntity, TaonSubscriber, createContext, TaonBaseContext, GET, Taon, TaonBaseStorageController, PUT, TaonBaseAngularService } from 'taon/browser';
3
- import { Table, TableColumn } from 'taon-typeorm/browser';
2
+ import { TaonBaseEntity, TaonEntity, PrimaryGeneratedColumn, Column, OneToOne, JoinColumn, TaonBaseMigration, ClassHelpers, TaonMigration, TaonBaseAbstractEntity, TaonBaseRepository, TaonRepository, TaonBaseCrudController, POST, Query, Body, DELETE, TaonController, TaonBaseProvider, TaonProvider, TaonBaseMiddleware, TaonMiddleware, TaonBaseSubscriberForEntity, TaonSubscriber, createContext, TaonBaseContext, GET, Taon, TaonBaseStorageController, PUT, TaonBaseAngularService } from 'taon/browser';
3
+ import { Table } from 'taon-typeorm/browser';
4
4
  import { UtilsJson, _ } from 'tnp-core/browser';
5
5
  import { BaseCommandLineFeature } from 'tnp-helpers/browser';
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';
6
+ import { TaonSessionRepository, TaonAuthContextRepository, TaonSessionProvider, TaonSessionAbstractContext, TaonPermissionApiService } from '@taon-dev/session/browser';
7
7
  import { Translation } from '@taon-dev/i18n/browser';
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.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.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.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.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.21';
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-taon-cms-category.controller.ts.en-US.i18n.data-B3p2KGMd.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-category.controller.ts.pl-PL.i18n.data-BmIn1qix.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-category.controller.ts.de-DE.i18n.data-CmIHY-Qb.mjs')).default }, "src/lib/taon-cms-category/taon-cms-category.repository.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-category.repository.ts.en-US.i18n.data-DAaZJ_9F.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-category.repository.ts.pl-PL.i18n.data-CVvSGHBy.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-category.repository.ts.de-DE.i18n.data-zcPs4FvI.mjs')).default }, "src/lib/taon-cms-category/taon-cms-taxonomy.validation.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-taxonomy.validation.ts.en-US.i18n.data-D1eP5S95.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-taxonomy.validation.ts.pl-PL.i18n.data-Cc6hut5r.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-taxonomy.validation.ts.de-DE.i18n.data-7qzkXXtn.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-taon-cms-category.controller.ts.en-US.i18n.data-Btjc1PDP.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-category.controller.ts.pl-PL.i18n.data-Cb1FxZn5.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-category.controller.ts.de-DE.i18n.data-BaPIk_E4.mjs')).default }, "src/lib/taon-cms-category/taon-cms-category.repository.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-category.repository.ts.en-US.i18n.data-DAaZJ_9F.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-category.repository.ts.pl-PL.i18n.data-CVvSGHBy.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-category.repository.ts.de-DE.i18n.data-zcPs4FvI.mjs')).default }, "src/lib/taon-cms-category/taon-cms-taxonomy.validation.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-taxonomy.validation.ts.en-US.i18n.data-D1eP5S95.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-taxonomy.validation.ts.pl-PL.i18n.data-Cc6hut5r.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-taxonomy.validation.ts.de-DE.i18n.data-7qzkXXtn.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-taon-cms-tag.controller.ts.en-US.i18n.data-B-j9Oo0W.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-tag.controller.ts.pl-PL.i18n.data-1Ou1o4gZ.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-tag.controller.ts.de-DE.i18n.data-C1Dm6TEf.mjs')).default }, "src/lib/taon-cms-tag/taon-cms-tag.repository.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-tag.repository.ts.en-US.i18n.data-Dq7PnSmq.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-tag.repository.ts.pl-PL.i18n.data-CsT5vExK.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-tag.repository.ts.de-DE.i18n.data-DhAUtQSa.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-taon-cms-tag.controller.ts.en-US.i18n.data-e3a_jlao.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-tag.controller.ts.pl-PL.i18n.data-Bk-hRZQ7.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-tag.controller.ts.de-DE.i18n.data-B5Vu0aJI.mjs')).default }, "src/lib/taon-cms-tag/taon-cms-tag.repository.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-tag.repository.ts.en-US.i18n.data-Dq7PnSmq.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-tag.repository.ts.pl-PL.i18n.data-YdrJUTur.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-tag.repository.ts.de-DE.i18n.data-DhAUtQSa.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-taon-cms-asset-preview.component.html.en-US.i18n.data-BSUcs0Id.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-asset-preview.component.html.pl-PL.i18n.data-dwvVUvD1.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-asset-preview.component.html.de-DE.i18n.data-BVtSn2fs.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-asset-preview.component.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-asset-preview.component.ts.en-US.i18n.data-D9BCToFT.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-DsqGl3cF.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-asset-preview.component.ts.de-DE.i18n.data-B48c-CYU.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html": { "en-US": async () => (await import('./cms-browser-taon-cms-assets-backoffice.component.html.en-US.i18n.data-BdtTQ_Jl.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-CoDrYDRK.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-BuXLlArJ.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-MGwWRhfj.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-7gEiqQTu.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-V7WX2R2o.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-taon-cms-asset-preview.component.html.en-US.i18n.data-BSUcs0Id.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-asset-preview.component.html.pl-PL.i18n.data-CVom0MIN.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-asset-preview.component.html.de-DE.i18n.data-nUdiwbvf.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-asset-preview.component.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-asset-preview.component.ts.en-US.i18n.data-D9BCToFT.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-DMHcm3IV.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-asset-preview.component.ts.de-DE.i18n.data-DbckMSJu.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html": { "en-US": async () => (await import('./cms-browser-taon-cms-assets-backoffice.component.html.en-US.i18n.data-BdtTQ_Jl.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-9eRms-wf.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-Csyad8DN.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-MGwWRhfj.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-zdZ5O1uH.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-BgFFReoY.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-taon-cms-asset-preview.component.html.en-US.i18n.data-BSUcs0Id.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-asset-preview.component.html.pl-PL.i18n.data-dwvVUvD1.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-asset-preview.component.html.de-DE.i18n.data-BVtSn2fs.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-asset-preview.component.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-asset-preview.component.ts.en-US.i18n.data-D9BCToFT.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-DsqGl3cF.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-asset-preview.component.ts.de-DE.i18n.data-B48c-CYU.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html": { "en-US": async () => (await import('./cms-browser-taon-cms-assets-backoffice.component.html.en-US.i18n.data-BdtTQ_Jl.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-CoDrYDRK.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-BuXLlArJ.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-MGwWRhfj.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-7gEiqQTu.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-V7WX2R2o.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-taon-cms-asset-preview.component.html.en-US.i18n.data-BSUcs0Id.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-asset-preview.component.html.pl-PL.i18n.data-CVom0MIN.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-asset-preview.component.html.de-DE.i18n.data-nUdiwbvf.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-asset-preview.component.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-asset-preview.component.ts.en-US.i18n.data-D9BCToFT.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-DMHcm3IV.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-asset-preview.component.ts.de-DE.i18n.data-DbckMSJu.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html": { "en-US": async () => (await import('./cms-browser-taon-cms-assets-backoffice.component.html.en-US.i18n.data-BdtTQ_Jl.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-9eRms-wf.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-Csyad8DN.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-MGwWRhfj.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-zdZ5O1uH.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-BgFFReoY.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-taon-cms-backoffice.component.html.en-US.i18n.data-DthWh8nt.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-backoffice.component.html.pl-PL.i18n.data-iT7Urr8M.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-backoffice.component.html.de-DE.i18n.data-B5x4stX6.mjs')).default }, "src/lib/taon-cms-backoffice/taon-cms-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-backoffice.component.ts.en-US.i18n.data-CoKyFRC0.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-backoffice.component.ts.pl-PL.i18n.data-Bly4iRV_.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-backoffice.component.ts.de-DE.i18n.data-D-UQjC58.mjs')).default }, "src/lib/taon-cms-backoffice/taon-cms-backoffice.routes.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-backoffice.routes.ts.en-US.i18n.data-HaVV1PUK.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-CM8U1Jru.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-backoffice.routes.ts.de-DE.i18n.data-DF2t3FGq.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-taon-cms-backoffice.component.html.en-US.i18n.data-DthWh8nt.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-backoffice.component.html.pl-PL.i18n.data-iT7Urr8M.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-backoffice.component.html.de-DE.i18n.data-B5x4stX6.mjs')).default }, "src/lib/taon-cms-backoffice/taon-cms-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-backoffice.component.ts.en-US.i18n.data-CoKyFRC0.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-backoffice.component.ts.pl-PL.i18n.data-Bly4iRV_.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-backoffice.component.ts.de-DE.i18n.data-D-UQjC58.mjs')).default }, "src/lib/taon-cms-backoffice/taon-cms-backoffice.routes.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-backoffice.routes.ts.en-US.i18n.data-seNJiHRQ.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-C-K2Y0GF.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-backoffice.routes.ts.de-DE.i18n.data-Dt6NX2ov.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) {
@@ -3640,7 +3526,7 @@ var taonCmsBackoffice_component = /*#__PURE__*/Object.freeze({
3640
3526
 
3641
3527
  //#endregion
3642
3528
  const adminLazyRoute = (adminLazyRoute$1);
3643
- 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-taon-cms-backoffice.component.html.en-US.i18n.data-DthWh8nt.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-backoffice.component.html.pl-PL.i18n.data-iT7Urr8M.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-backoffice.component.html.de-DE.i18n.data-B5x4stX6.mjs')).default }, "src/lib/taon-cms-backoffice/taon-cms-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-backoffice.component.ts.en-US.i18n.data-CoKyFRC0.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-backoffice.component.ts.pl-PL.i18n.data-Bly4iRV_.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-backoffice.component.ts.de-DE.i18n.data-D-UQjC58.mjs')).default }, "src/lib/taon-cms-backoffice/taon-cms-backoffice.routes.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-backoffice.routes.ts.en-US.i18n.data-HaVV1PUK.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-CM8U1Jru.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-backoffice.routes.ts.de-DE.i18n.data-DF2t3FGq.mjs')).default } });
3529
+ 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-taon-cms-backoffice.component.html.en-US.i18n.data-DthWh8nt.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-backoffice.component.html.pl-PL.i18n.data-iT7Urr8M.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-backoffice.component.html.de-DE.i18n.data-B5x4stX6.mjs')).default }, "src/lib/taon-cms-backoffice/taon-cms-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-backoffice.component.ts.en-US.i18n.data-CoKyFRC0.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-backoffice.component.ts.pl-PL.i18n.data-Bly4iRV_.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-backoffice.component.ts.de-DE.i18n.data-D-UQjC58.mjs')).default }, "src/lib/taon-cms-backoffice/taon-cms-backoffice.routes.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-backoffice.routes.ts.en-US.i18n.data-seNJiHRQ.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-C-K2Y0GF.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-backoffice.routes.ts.de-DE.i18n.data-Dt6NX2ov.mjs')).default } });
3644
3530
  const TaonCmsBackofficeRoutes = [
3645
3531
  {
3646
3532
  path: '',
@@ -3649,34 +3535,45 @@ const TaonCmsBackofficeRoutes = [
3649
3535
  adminLazyRoute({
3650
3536
  isDisabled: ({ context }) => {
3651
3537
  // console.log('context', { context });
3652
- return !context?.hasAccess.toManagePosts;
3538
+ return !context?.hasAccess.toManageCms;
3653
3539
  },
3654
3540
  path: 'posts',
3655
- menuItem: t$8.gettext('Posts'),
3541
+ menuItem: t$c.signal.gettext('Posts'),
3656
3542
  expandable: true,
3657
3543
  icon: 'edit',
3658
3544
  loader: () => Promise.resolve().then(function () { return index$1; }).then(m => m.TaonCmsPostsBackofficeRoutes),
3659
3545
  }),
3660
3546
  adminLazyRoute({
3661
- isDisabled: ({ context }) => !context?.hasAccess.toManagePosts,
3547
+ isDisabled: ({ context }) => {
3548
+ // console.log('context', { context });
3549
+ return !context?.hasAccess.toManageCms;
3550
+ },
3551
+ path: 'courses',
3552
+ menuItem: t$c.signal.gettext('Courses'),
3553
+ expandable: false,
3554
+ icon: 'school',
3555
+ loader: () => Promise.resolve().then(function () { return index$1; }).then(m => m.TaonCmsCourseBackofficeRoutes),
3556
+ }),
3557
+ adminLazyRoute({
3558
+ isDisabled: ({ context }) => !context?.hasAccess.toManageCms,
3662
3559
  path: 'assets',
3663
- menuItem: t$8.gettext('Assets'),
3560
+ menuItem: t$c.signal.gettext('Assets'),
3664
3561
  expandable: false,
3665
3562
  icon: 'perm_media',
3666
3563
  loader: () => Promise.resolve().then(function () { return taonCmsAssetsBackoffice_routes; }).then(m => m.TaonCmsAssetsBackofficeRoutes),
3667
3564
  }),
3668
3565
  adminLazyRoute({
3669
- isDisabled: ({ context }) => !context?.hasAccess.toManagePosts,
3566
+ isDisabled: ({ context }) => !context?.hasAccess.toManageCms,
3670
3567
  path: 'categories',
3671
- menuItem: t$8.gettext('Categories'),
3568
+ menuItem: t$c.signal.gettext('Categories'),
3672
3569
  expandable: false,
3673
3570
  icon: 'folder',
3674
3571
  loader: () => Promise.resolve().then(function () { return taonCmsTaxonomyBackoffice_routes; }).then(m => m.TaonCmsCategoriesBackofficeRoutes),
3675
3572
  }),
3676
3573
  adminLazyRoute({
3677
- isDisabled: ({ context }) => !context?.hasAccess.toManagePosts,
3574
+ isDisabled: ({ context }) => !context?.hasAccess.toManageCms,
3678
3575
  path: 'tags',
3679
- menuItem: t$8.gettext('Tags'),
3576
+ menuItem: t$c.signal.gettext('Tags'),
3680
3577
  expandable: false,
3681
3578
  icon: 'label',
3682
3579
  loader: () => Promise.resolve().then(function () { return taonCmsTaxonomyBackoffice_routes; }).then(m => m.TaonCmsTagsBackofficeRoutes),
@@ -3746,7 +3643,7 @@ var TaonCmsCategoryUtils;
3746
3643
  TaonCmsCategoryUtils.isActive = isActive;
3747
3644
  })(TaonCmsCategoryUtils || (TaonCmsCategoryUtils = {}));
3748
3645
 
3749
- 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-taon-cms-category.controller.ts.en-US.i18n.data-B3p2KGMd.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-category.controller.ts.pl-PL.i18n.data-BmIn1qix.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-category.controller.ts.de-DE.i18n.data-CmIHY-Qb.mjs')).default }, "src/lib/taon-cms-category/taon-cms-category.repository.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-category.repository.ts.en-US.i18n.data-DAaZJ_9F.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-category.repository.ts.pl-PL.i18n.data-CVvSGHBy.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-category.repository.ts.de-DE.i18n.data-zcPs4FvI.mjs')).default }, "src/lib/taon-cms-category/taon-cms-taxonomy.validation.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-taxonomy.validation.ts.en-US.i18n.data-D1eP5S95.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-taxonomy.validation.ts.pl-PL.i18n.data-Cc6hut5r.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-taxonomy.validation.ts.de-DE.i18n.data-7qzkXXtn.mjs')).default } });
3646
+ 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-taon-cms-category.controller.ts.en-US.i18n.data-Btjc1PDP.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-category.controller.ts.pl-PL.i18n.data-Cb1FxZn5.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-category.controller.ts.de-DE.i18n.data-BaPIk_E4.mjs')).default }, "src/lib/taon-cms-category/taon-cms-category.repository.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-category.repository.ts.en-US.i18n.data-DAaZJ_9F.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-category.repository.ts.pl-PL.i18n.data-CVvSGHBy.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-category.repository.ts.de-DE.i18n.data-zcPs4FvI.mjs')).default }, "src/lib/taon-cms-category/taon-cms-taxonomy.validation.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-taxonomy.validation.ts.en-US.i18n.data-D1eP5S95.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-taxonomy.validation.ts.pl-PL.i18n.data-Cc6hut5r.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-taxonomy.validation.ts.de-DE.i18n.data-7qzkXXtn.mjs')).default } });
3750
3647
  function validateTaxonomy(input) {
3751
3648
  if (!input ||
3752
3649
  typeof input.name !== 'string' ||
@@ -3754,7 +3651,7 @@ function validateTaxonomy(input) {
3754
3651
  typeof input.slug !== 'string' ||
3755
3652
  !input.slug.trim() ||
3756
3653
  (input.description !== null && typeof input.description !== 'string')) {
3757
- contentError(t$7.gettext('Name, slug, and a valid description are required.'));
3654
+ contentError(t$b.gettext('Name, slug, and a valid description are required.'));
3758
3655
  }
3759
3656
  }
3760
3657
  function validateCategoryHierarchy(id, parentId, categories) {
@@ -3765,12 +3662,12 @@ function validateCategoryHierarchy(id, parentId, categories) {
3765
3662
  let current = parentId;
3766
3663
  while (current !== null) {
3767
3664
  if (visited.has(current)) {
3768
- contentError(t$7.gettext('A category cannot be its own ancestor.'));
3665
+ contentError(t$b.gettext('A category cannot be its own ancestor.'));
3769
3666
  }
3770
3667
  visited.add(current);
3771
3668
  const parent = categories.find(category => category.id === current);
3772
3669
  if (!parent) {
3773
- contentError(t$7.gettext('The parent category does not exist.'));
3670
+ contentError(t$b.gettext('The parent category does not exist.'));
3774
3671
  }
3775
3672
  current = parent.parentCategoryId;
3776
3673
  }
@@ -3819,6 +3716,9 @@ class TaonCmsContentConfigService extends TaonBaseAngularService {
3819
3716
  super(...arguments);
3820
3717
  this.taonCmsContentProvider = this.injectProvider(TaonCmsContentProvider);
3821
3718
  }
3719
+ get siteName() {
3720
+ return this.taonCmsContentProvider.siteName;
3721
+ }
3822
3722
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsContentConfigService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
3823
3723
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsContentConfigService }); }
3824
3724
  }
@@ -3845,6 +3745,34 @@ var TaonCmsContentUtils;
3845
3745
  TaonCmsContentUtils.isActive = isActive;
3846
3746
  })(TaonCmsContentUtils || (TaonCmsContentUtils = {}));
3847
3747
 
3748
+ /**
3749
+ * Resolves allowlisted values as HTML text/attribute data, not markup.
3750
+ * The returned HTML must still pass through the renderer's HTML sanitizer.
3751
+ */
3752
+ function resolveTemplateVariables(content, context) {
3753
+ const values = new Map([
3754
+ ['frontendUrl', context.frontendUrl],
3755
+ ['site.name', context.site?.name],
3756
+ ['currentYear', new Date().getFullYear()],
3757
+ ['post.title', context.post?.title],
3758
+ ['post.url', context.post?.url],
3759
+ ['post.id', context.post?.id],
3760
+ ['post.thumbnailUrl', context.post?.thumbnailUrl],
3761
+ ]);
3762
+ return (content ?? '').replace(/\{\{\s*([a-zA-Z][a-zA-Z0-9]*(?:\.[a-zA-Z][a-zA-Z0-9]*)*)\s*\}\}/g, (placeholder, name) => {
3763
+ const value = values.get(name);
3764
+ if (value === null || value === undefined) {
3765
+ return placeholder;
3766
+ }
3767
+ return String(value)
3768
+ .replace(/&/g, '&')
3769
+ .replace(/</g, '&lt;')
3770
+ .replace(/>/g, '&gt;')
3771
+ .replace(/"/g, '&quot;')
3772
+ .replace(/'/g, '&#39;');
3773
+ });
3774
+ }
3775
+
3848
3776
  class TaonCmsContentAssetApiService extends TaonBaseAngularService {
3849
3777
  constructor() {
3850
3778
  super(...arguments);
@@ -4054,10 +3982,10 @@ var TaonCmsTagUtils;
4054
3982
  TaonCmsTagUtils.isActive = isActive;
4055
3983
  })(TaonCmsTagUtils || (TaonCmsTagUtils = {}));
4056
3984
 
4057
- 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-taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data-Ccmf9_pZ.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data-B849p720.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data-DX6YHkgg.mjs')).default }, "src/lib/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data-BS97U_dV.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data-DkguMZ1c.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data-BQYY3Beh.mjs')).default } });
3985
+ 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-taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data-Ccmf9_pZ.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data-B849p720.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data-DX6YHkgg.mjs')).default }, "src/lib/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data-BS97U_dV.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data-DkguMZ1c.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data-BQYY3Beh.mjs')).default } });
4058
3986
  class TaonCmsTaxonomyBackofficeComponent {
4059
3987
  constructor() {
4060
- this.t = t$6.for(this);
3988
+ this.t = t$a.for(this);
4061
3989
  this.isCategory = inject(ActivatedRoute).snapshot.data['taxonomy'] === 'category';
4062
3990
  this.categories = inject(TaonCmsCategoryApiService);
4063
3991
  this.tags = inject(TaonCmsTagApiService);
@@ -4281,88 +4209,526 @@ var taonCmsTaxonomyBackoffice_routes = /*#__PURE__*/Object.freeze({
4281
4209
  TaonCmsTagsBackofficeRoutes: TaonCmsTagsBackofficeRoutes
4282
4210
  });
4283
4211
 
4284
- class TaonCmsEditableDirective {
4212
+ 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-taon-cms-post-table-actions.directive.ts.en-US.i18n.data-BD4-1New.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data-DdK3CYLj.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-post-table-actions.directive.ts.de-DE.i18n.data-Cwi7pcvq.mjs')).default }, "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.html": { "en-US": async () => (await import('./cms-browser-taon-cms-posts-backoffice.component.html.en-US.i18n.data-D1XI6u8V.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-DaE0bfxU.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-CZ0mZdO-.mjs')).default }, "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-B8PjJ2_u.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-D5dkM1Rg.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-CTYkGigp.mjs')).default }, "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-BMHc1eXs.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-BedZOCRt.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-DqM60DP9.mjs')).default } });
4213
+ class TaonCmsPostTableActions {
4285
4214
  constructor() {
4286
- this.element = inject(ElementRef)
4287
- .nativeElement;
4288
- this.sanitizer = inject(DomSanitizer);
4289
- this.value = '';
4290
- this.composing = false;
4291
- this.taonCmsEditableFormat = 'text';
4292
- this.taonCmsEditableSingleLine = false;
4293
- this.taonCmsEditableChange = new EventEmitter();
4294
- }
4295
- set taonCmsEditable(value) {
4296
- if (value === this.value) {
4297
- return;
4298
- }
4299
- this.value = value;
4300
- this.render();
4215
+ this.actionsTranslation = t$9.for(this);
4216
+ this.taonCmsContentApiService = inject(TaonCmsContentApiService);
4217
+ this.deleting = signal(null, ...(ngDevMode ? [{ debugName: "deleting" }] : []));
4218
+ this.duplicating = signal(false, ...(ngDevMode ? [{ debugName: "duplicating" }] : []));
4219
+ this.error = signal('', ...(ngDevMode ? [{ debugName: "error" }] : []));
4220
+ this.destroyRef = inject(DestroyRef);
4221
+ this.postPath = [];
4222
+ this.dialog = inject(MatDialog);
4223
+ this.route = inject(ActivatedRoute);
4224
+ this.router = inject(Router);
4225
+ this.actionsColumn = {
4226
+ header: this.actionsTranslation.gettext('Actions'),
4227
+ field: 'actions',
4228
+ type: 'button',
4229
+ buttons: [
4230
+ {
4231
+ type: 'icon',
4232
+ icon: 'content_copy',
4233
+ tooltip: this.actionsTranslation.gettext('Duplicate post'),
4234
+ disabled: () => this.duplicating(),
4235
+ click: (post) => this.duplicate(post),
4236
+ },
4237
+ {
4238
+ type: 'icon',
4239
+ icon: 'open_in_new',
4240
+ tooltip: this.actionsTranslation.gettext('Post details'),
4241
+ click: (post) => this.openDetails(post),
4242
+ },
4243
+ {
4244
+ type: 'icon',
4245
+ icon: 'delete',
4246
+ tooltip: this.actionsTranslation.gettext('Delete (archive) post'),
4247
+ disabled: (post) => post.status === 'archived' || this.deleting() !== null,
4248
+ click: (post) => this.delete(post),
4249
+ },
4250
+ ],
4251
+ };
4301
4252
  }
4302
- compositionStart() {
4303
- this.composing = true;
4253
+ add() {
4254
+ this.openPost('new');
4304
4255
  }
4305
- compositionEnd() {
4306
- this.composing = false;
4307
- this.onInput();
4256
+ openDetails(post) {
4257
+ this.openPost(post.id);
4308
4258
  }
4309
- onInput() {
4310
- if (this.composing) {
4259
+ openPost(id) {
4260
+ const postsRoute = this.route.parent;
4261
+ if (!postsRoute) {
4262
+ this.error.set(this.actionsTranslation.gettext('The Post details route is unavailable.'));
4311
4263
  return;
4312
4264
  }
4313
- const text = this.element.innerText;
4314
- this.value =
4315
- this.taonCmsEditableFormat === 'html'
4316
- ? this.sanitize(this.element.innerHTML)
4317
- : this.taonCmsEditableSingleLine
4318
- ? text.replace(/\s*\n\s*/g, ' ')
4319
- : text;
4320
- // Remember emitted values so Angular does not rewrite the DOM/caret on input.
4321
- this.taonCmsEditableChange.emit(this.value);
4322
- }
4323
- onBlur() {
4324
- this.onInput();
4325
- this.render();
4326
- }
4327
- onKeydown(event) {
4328
- if (this.taonCmsEditableSingleLine && event.key === 'Enter') {
4329
- event.preventDefault();
4330
- }
4265
+ void this.router.navigate([...this.postPath, id], { relativeTo: postsRoute });
4331
4266
  }
4332
- onPaste(event) {
4333
- event.preventDefault();
4334
- const selection = this.element.ownerDocument.getSelection();
4335
- if (!selection?.rangeCount || !event.clipboardData) {
4336
- return;
4337
- }
4338
- const range = selection.getRangeAt(0);
4339
- if (!this.element.contains(range.commonAncestorContainer)) {
4267
+ duplicate(post) {
4268
+ if (this.duplicating()) {
4340
4269
  return;
4341
4270
  }
4342
- const pasted = event.clipboardData.getData('text/plain');
4343
- const text = this.taonCmsEditableSingleLine
4344
- ? pasted.replace(/\s*\n\s*/g, ' ')
4345
- : pasted;
4346
- range.deleteContents();
4347
- const node = this.element.ownerDocument.createTextNode(text);
4348
- range.insertNode(node);
4349
- range.setStartAfter(node);
4350
- range.collapse(true);
4351
- selection.removeAllRanges();
4352
- selection.addRange(range);
4353
- this.onInput();
4354
- }
4355
- sanitize(value) {
4356
- return this.sanitizer.sanitize(SecurityContext.HTML, value) ?? '';
4271
+ this.duplicating.set(true);
4272
+ this.error.set('');
4273
+ this.taonCmsContentApiService
4274
+ .duplicateContent(post.id)
4275
+ .pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.duplicating.set(false)))
4276
+ .subscribe({
4277
+ next: duplicate => this.openDetails(duplicate),
4278
+ error: (error) => {
4279
+ console.error('[taon-cms-posts-backoffice] Unable to duplicate post', error);
4280
+ this.error.set(this.actionsTranslation.gettext('The post could not be duplicated. Please try again.'));
4281
+ },
4282
+ });
4357
4283
  }
4358
- render() {
4359
- if (this.taonCmsEditableFormat === 'html') {
4360
- this.element.innerHTML = this.sanitize(this.value);
4361
- }
4362
- else {
4363
- this.element.textContent = this.value;
4284
+ delete(post) {
4285
+ if (this.deleting() !== null || post.status === 'archived') {
4286
+ return;
4364
4287
  }
4365
- }
4288
+ this.deleting.set(post.id);
4289
+ const ref = this.dialog.open(TaonConfirmDialogComponent, {
4290
+ data: {
4291
+ title: this.actionsTranslation.gettext('Delete post?'),
4292
+ message: this.actionsTranslation.gettext('This archives the post. It can be restored from its revisions.'),
4293
+ confirmText: this.actionsTranslation.gettext('Delete'),
4294
+ },
4295
+ });
4296
+ ref
4297
+ .afterClosed()
4298
+ .pipe(takeUntilDestroyed(this.destroyRef))
4299
+ .subscribe(confirmed => {
4300
+ if (!confirmed) {
4301
+ this.deleting.set(null);
4302
+ return;
4303
+ }
4304
+ this.error.set('');
4305
+ this.taonCmsContentApiService
4306
+ .deleteContent(post.id, post.version)
4307
+ .pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.deleting.set(null)))
4308
+ .subscribe({
4309
+ next: () => this.reload(),
4310
+ error: (error) => {
4311
+ console.error('[taon-cms-posts-backoffice] Unable to delete post', error);
4312
+ this.error.set(this.actionsTranslation.gettext('The post could not be deleted. Refresh the table before retrying.'));
4313
+ },
4314
+ });
4315
+ });
4316
+ }
4317
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostTableActions, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
4318
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.9", type: TaonCmsPostTableActions, isStandalone: true, ngImport: i0 }); }
4319
+ }
4320
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostTableActions, decorators: [{
4321
+ type: Directive
4322
+ }] });
4323
+
4324
+ 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-taon-cms-course-backoffice.component.html.en-US.i18n.data-DPlA1Ocj.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-course-backoffice.component.html.pl-PL.i18n.data-CX2j4P41.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-course-backoffice.component.html.de-DE.i18n.data-DcFKcLJv.mjs')).default }, "src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-course-backoffice.component.ts.en-US.i18n.data-DyPf1BMm.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-course-backoffice.component.ts.pl-PL.i18n.data-DprS6bm1.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-course-backoffice.component.ts.de-DE.i18n.data-B4GuiCs3.mjs')).default }, "src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.html": { "en-US": async () => (await import('./cms-browser-taon-cms-course-contents.component.html.en-US.i18n.data-DkNTtW3Q.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-course-contents.component.html.pl-PL.i18n.data-8wKW8AR1.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-course-contents.component.html.de-DE.i18n.data-CJlZufMg.mjs')).default }, "src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-course-contents.component.ts.en-US.i18n.data-N-p1oNgV.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-course-contents.component.ts.pl-PL.i18n.data-Be1XJqO4.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-course-contents.component.ts.de-DE.i18n.data-Gt0H19BQ.mjs')).default }, "src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-cover.component.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-course-cover.component.ts.en-US.i18n.data-CtXymexU.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-course-cover.component.ts.pl-PL.i18n.data-U89qKqAj.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-course-cover.component.ts.de-DE.i18n.data-DDN8R3M-.mjs')).default } });
4325
+ class TaonCmsCourseContentsComponent {
4326
+ constructor() {
4327
+ this.t = t$8.for(this);
4328
+ this.api = inject(TaonCmsContentApiService);
4329
+ this.destroyRef = inject(DestroyRef);
4330
+ this.posts = signal([], ...(ngDevMode ? [{ debugName: "posts" }] : []));
4331
+ this.loading = signal(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
4332
+ this.error = signal('', ...(ngDevMode ? [{ debugName: "error" }] : []));
4333
+ this.columns = [];
4334
+ }
4335
+ ngOnInit() {
4336
+ this.columns = [
4337
+ { header: 'ID', field: 'id', sortable: true },
4338
+ { header: this.t.gettext('Title'), field: 'title', sortable: true },
4339
+ { header: this.t.gettext('Status'), field: 'status', sortable: true },
4340
+ this.actionsColumn,
4341
+ ];
4342
+ this.reload();
4343
+ }
4344
+ reload() {
4345
+ if (this.loading()) {
4346
+ return;
4347
+ }
4348
+ this.loading.set(true);
4349
+ this.error.set('');
4350
+ this.api.listRelatedPosts(this.course.id)
4351
+ .pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.loading.set(false)))
4352
+ .subscribe({
4353
+ next: posts => this.posts.set(posts.filter(post => post.status !== 'archived')),
4354
+ error: (error) => {
4355
+ console.error('[taon-cms-course-contents] Unable to load related posts', error);
4356
+ this.error.set(this.t.gettext('Course contents could not be loaded. Please retry.'));
4357
+ },
4358
+ });
4359
+ }
4360
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsCourseContentsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4361
+ 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 }); }
4362
+ }
4363
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsCourseContentsComponent, decorators: [{
4364
+ type: Component,
4365
+ 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" }]
4366
+ }], propDecorators: { course: [{
4367
+ type: Input,
4368
+ args: [{ required: true }]
4369
+ }], actionsColumn: [{
4370
+ type: Input,
4371
+ args: [{ required: true }]
4372
+ }] } });
4373
+
4374
+ function defaultThumbnailKey(type) {
4375
+ return `cms-placeholder:${type}`;
4376
+ }
4377
+ function defaultThumbnailUrl(key) {
4378
+ const type = Object.values(TaonCmsContentType).find(value => key === defaultThumbnailKey(value));
4379
+ if (!type) {
4380
+ return null;
4381
+ }
4382
+ const shapes = {
4383
+ normal: '<path d="M260 126h120v112H260z M280 152h80m-80 20h80m-80 20h52" />',
4384
+ video: '<rect x="248" y="132" width="144" height="100" rx="16"/><path d="m308 158 40 24-40 24z"/>',
4385
+ audio: '<path d="M280 164v40m20-60v80m20-98v116m20-98v80m20-60v40"/>',
4386
+ attachment: '<path d="M276 124h60l32 32v84h-92z M336 124v36h32m-70 30h48m-48 22h36"/>',
4387
+ };
4388
+ 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>`;
4389
+ return `data:image/svg+xml,${encodeURIComponent(svg)}`;
4390
+ }
4391
+ function visiblePixelRatio(pixels) {
4392
+ let visible = 0;
4393
+ for (let index = 0; index < pixels.length; index += 4) {
4394
+ const luminance = 0.2126 * pixels[index] +
4395
+ 0.7152 * pixels[index + 1] +
4396
+ 0.0722 * pixels[index + 2];
4397
+ if (luminance > 18) {
4398
+ visible += 1;
4399
+ }
4400
+ }
4401
+ return pixels.length ? visible / (pixels.length / 4) : 0;
4402
+ }
4403
+ function videoEvent(video, event, action) {
4404
+ return new Promise((resolve, reject) => {
4405
+ const cleanup = () => {
4406
+ clearTimeout(timeout);
4407
+ video.removeEventListener(event, done);
4408
+ video.removeEventListener('error', failed);
4409
+ };
4410
+ const done = () => {
4411
+ cleanup();
4412
+ resolve();
4413
+ };
4414
+ const failed = () => {
4415
+ cleanup();
4416
+ reject(new Error(video.error?.message || 'Video decoding failed.'));
4417
+ };
4418
+ const timeout = setTimeout(() => {
4419
+ cleanup();
4420
+ reject(new Error('Video decoding timed out.'));
4421
+ }, 15000);
4422
+ video.addEventListener(event, done, { once: true });
4423
+ video.addEventListener('error', failed, { once: true });
4424
+ try {
4425
+ action();
4426
+ }
4427
+ catch (error) {
4428
+ cleanup();
4429
+ reject(error);
4430
+ }
4431
+ });
4432
+ }
4433
+ async function generateVideoThumbnail(file) {
4434
+ const video = document.createElement('video');
4435
+ const url = URL.createObjectURL(file);
4436
+ try {
4437
+ video.muted = true;
4438
+ video.playsInline = true;
4439
+ video.preload = 'auto';
4440
+ await videoEvent(video, 'loadeddata', () => {
4441
+ video.src = url;
4442
+ video.load();
4443
+ });
4444
+ if (!video.videoWidth || !video.videoHeight) {
4445
+ throw new Error('The video has no decodable dimensions.');
4446
+ }
4447
+ const analysis = document.createElement('canvas');
4448
+ analysis.width = 64;
4449
+ analysis.height = Math.max(1, Math.round((64 * video.videoHeight) / video.videoWidth));
4450
+ const context = analysis.getContext('2d', { willReadFrequently: true });
4451
+ if (!context) {
4452
+ throw new Error('Canvas is unavailable.');
4453
+ }
4454
+ const seek = async (time) => {
4455
+ if (Math.abs(video.currentTime - time) > 0.001) {
4456
+ await videoEvent(video, 'seeked', () => {
4457
+ video.currentTime = time;
4458
+ });
4459
+ }
4460
+ };
4461
+ const end = Number.isFinite(video.duration)
4462
+ ? Math.min(5, Math.max(0, video.duration - 0.01))
4463
+ : 5;
4464
+ let bestTime = 0;
4465
+ let bestRatio = -1;
4466
+ let found = false;
4467
+ for (let time = 0; time <= end; time += 0.25) {
4468
+ await seek(time);
4469
+ context.drawImage(video, 0, 0, analysis.width, analysis.height);
4470
+ const ratio = visiblePixelRatio(context.getImageData(0, 0, analysis.width, analysis.height).data);
4471
+ if (ratio > bestRatio) {
4472
+ bestRatio = ratio;
4473
+ bestTime = time;
4474
+ }
4475
+ // Small highlights or a subject in a dark scene are enough.
4476
+ if (ratio >= 0.02) {
4477
+ found = true;
4478
+ break;
4479
+ }
4480
+ }
4481
+ if (!found) {
4482
+ await seek(bestTime);
4483
+ }
4484
+ const canvas = document.createElement('canvas');
4485
+ const scale = Math.min(1, 1280 / video.videoWidth, 720 / video.videoHeight);
4486
+ canvas.width = Math.max(1, Math.round(video.videoWidth * scale));
4487
+ canvas.height = Math.max(1, Math.round(video.videoHeight * scale));
4488
+ const output = canvas.getContext('2d');
4489
+ if (!output) {
4490
+ throw new Error('Canvas is unavailable.');
4491
+ }
4492
+ output.drawImage(video, 0, 0, canvas.width, canvas.height);
4493
+ return await new Promise((resolve, reject) => {
4494
+ canvas.toBlob(blob => blob
4495
+ ? resolve(blob)
4496
+ : reject(new Error('Thumbnail encoding failed.')), 'image/webp', 0.85);
4497
+ });
4498
+ }
4499
+ finally {
4500
+ try {
4501
+ video.pause();
4502
+ video.removeAttribute('src');
4503
+ video.load();
4504
+ }
4505
+ finally {
4506
+ URL.revokeObjectURL(url);
4507
+ }
4508
+ }
4509
+ }
4510
+
4511
+ 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-taon-cms-course-backoffice.component.html.en-US.i18n.data-DPlA1Ocj.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-course-backoffice.component.html.pl-PL.i18n.data-CX2j4P41.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-course-backoffice.component.html.de-DE.i18n.data-DcFKcLJv.mjs')).default }, "src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-course-backoffice.component.ts.en-US.i18n.data-DyPf1BMm.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-course-backoffice.component.ts.pl-PL.i18n.data-DprS6bm1.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-course-backoffice.component.ts.de-DE.i18n.data-B4GuiCs3.mjs')).default }, "src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.html": { "en-US": async () => (await import('./cms-browser-taon-cms-course-contents.component.html.en-US.i18n.data-DkNTtW3Q.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-course-contents.component.html.pl-PL.i18n.data-8wKW8AR1.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-course-contents.component.html.de-DE.i18n.data-CJlZufMg.mjs')).default }, "src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-course-contents.component.ts.en-US.i18n.data-N-p1oNgV.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-course-contents.component.ts.pl-PL.i18n.data-Be1XJqO4.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-course-contents.component.ts.de-DE.i18n.data-Gt0H19BQ.mjs')).default }, "src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-cover.component.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-course-cover.component.ts.en-US.i18n.data-CtXymexU.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-course-cover.component.ts.pl-PL.i18n.data-U89qKqAj.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-course-cover.component.ts.de-DE.i18n.data-DDN8R3M-.mjs')).default } });
4512
+ class TaonCmsCourseCoverComponent {
4513
+ constructor() {
4514
+ this.t = t$7.for(this);
4515
+ this.api = inject(TaonCmsContentApiService);
4516
+ this.destroyRef = inject(DestroyRef);
4517
+ this.url = signal('', ...(ngDevMode ? [{ debugName: "url" }] : []));
4518
+ this.loading = signal(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
4519
+ this.error = signal('', ...(ngDevMode ? [{ debugName: "error" }] : []));
4520
+ }
4521
+ ngOnInit() {
4522
+ void this.reload();
4523
+ }
4524
+ async reload() {
4525
+ if (this.loading()) {
4526
+ return;
4527
+ }
4528
+ this.loading.set(true);
4529
+ this.url.set('');
4530
+ this.error.set('');
4531
+ try {
4532
+ const url = defaultThumbnailUrl(this.post.thumbnailKey ?? '') ??
4533
+ await this.api.getThumbnailLinkBySlug(this.post.slug);
4534
+ if (!url) {
4535
+ throw new Error('The thumbnail URL is empty.');
4536
+ }
4537
+ if (!this.destroyRef.destroyed) {
4538
+ this.url.set(url);
4539
+ }
4540
+ }
4541
+ catch (error) {
4542
+ console.error('[taon-cms-course-cover] Unable to load thumbnail', error);
4543
+ if (!this.destroyRef.destroyed) {
4544
+ this.failed();
4545
+ }
4546
+ }
4547
+ finally {
4548
+ if (!this.destroyRef.destroyed) {
4549
+ this.loading.set(false);
4550
+ }
4551
+ }
4552
+ }
4553
+ failed() {
4554
+ this.url.set('');
4555
+ this.error.set(this.t.gettext('Cover unavailable. Retry'));
4556
+ }
4557
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsCourseCoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4558
+ 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 }); }
4559
+ }
4560
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsCourseCoverComponent, decorators: [{
4561
+ type: Component,
4562
+ 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"] }]
4563
+ }], propDecorators: { post: [{
4564
+ type: Input,
4565
+ args: [{ required: true }]
4566
+ }] } });
4567
+
4568
+ 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-taon-cms-course-backoffice.component.html.en-US.i18n.data-DPlA1Ocj.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-course-backoffice.component.html.pl-PL.i18n.data-CX2j4P41.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-course-backoffice.component.html.de-DE.i18n.data-DcFKcLJv.mjs')).default }, "src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-course-backoffice.component.ts.en-US.i18n.data-DyPf1BMm.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-course-backoffice.component.ts.pl-PL.i18n.data-DprS6bm1.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-course-backoffice.component.ts.de-DE.i18n.data-B4GuiCs3.mjs')).default }, "src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.html": { "en-US": async () => (await import('./cms-browser-taon-cms-course-contents.component.html.en-US.i18n.data-DkNTtW3Q.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-course-contents.component.html.pl-PL.i18n.data-8wKW8AR1.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-course-contents.component.html.de-DE.i18n.data-CJlZufMg.mjs')).default }, "src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-contents.component.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-course-contents.component.ts.en-US.i18n.data-N-p1oNgV.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-course-contents.component.ts.pl-PL.i18n.data-Be1XJqO4.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-course-contents.component.ts.de-DE.i18n.data-Gt0H19BQ.mjs')).default }, "src/lib/taon-posts/taon-cms-course-backoffice/taon-cms-course-cover.component.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-course-cover.component.ts.en-US.i18n.data-CtXymexU.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-course-cover.component.ts.pl-PL.i18n.data-U89qKqAj.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-course-cover.component.ts.de-DE.i18n.data-DDN8R3M-.mjs')).default } });
4569
+ class TaonCmsCourseBackofficeComponent extends TaonCmsPostTableActions {
4570
+ constructor() {
4571
+ super(...arguments);
4572
+ this.t = t$6.for(this);
4573
+ this.postPath = ['../posts'];
4574
+ this.courses = signal([], ...(ngDevMode ? [{ debugName: "courses" }] : []));
4575
+ this.loading = signal(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
4576
+ this.columns = [];
4577
+ }
4578
+ ngOnInit() {
4579
+ this.columns = [
4580
+ { header: 'ID', field: 'id', sortable: true, showExpand: true },
4581
+ {
4582
+ header: this.t.gettext('Cover'),
4583
+ field: 'thumbnailKey',
4584
+ cellTemplate: this.coverTemplate,
4585
+ width: '110px',
4586
+ },
4587
+ { header: this.t.gettext('Title'), field: 'title', sortable: true },
4588
+ {
4589
+ header: this.t.gettext('Visibility'),
4590
+ field: 'status',
4591
+ sortable: true,
4592
+ cellTemplate: this.visibilityTemplate,
4593
+ },
4594
+ this.actionsColumn,
4595
+ ].map(column => ({
4596
+ ...column,
4597
+ class: (post) => post?.status === 'published' ? 'cms-course-public' : 'cms-course-private',
4598
+ }));
4599
+ this.reload();
4600
+ }
4601
+ reload() {
4602
+ if (this.loading()) {
4603
+ return;
4604
+ }
4605
+ this.loading.set(true);
4606
+ this.error.set('');
4607
+ this.taonCmsContentApiService.listCourses()
4608
+ .pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.loading.set(false)))
4609
+ .subscribe({
4610
+ next: courses => this.courses.set(courses),
4611
+ error: (error) => {
4612
+ console.error('[taon-cms-course-backoffice] Unable to load courses', error);
4613
+ this.error.set(this.t.gettext('Courses could not be loaded. Please try reloading.'));
4614
+ },
4615
+ });
4616
+ }
4617
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsCourseBackofficeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
4618
+ 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 }); }
4619
+ }
4620
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsCourseBackofficeComponent, decorators: [{
4621
+ type: Component,
4622
+ args: [{ selector: 'taon-cms-course-backoffice', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
4623
+ MatButtonModule,
4624
+ MatIconModule,
4625
+ TaonDatatableComponent,
4626
+ TaonCmsCourseContentsComponent,
4627
+ TaonCmsCourseCoverComponent,
4628
+ ], 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"] }]
4629
+ }], propDecorators: { coverTemplate: [{
4630
+ type: ViewChild,
4631
+ args: ['coverTemplate', { static: true }]
4632
+ }], visibilityTemplate: [{
4633
+ type: ViewChild,
4634
+ args: ['visibilityTemplate', { static: true }]
4635
+ }] } });
4636
+
4637
+ var taonCmsCourseBackoffice_component = /*#__PURE__*/Object.freeze({
4638
+ __proto__: null,
4639
+ TaonCmsCourseBackofficeComponent: TaonCmsCourseBackofficeComponent
4640
+ });
4641
+
4642
+ const TaonCmsCourseBackofficeRoutes = [
4643
+ {
4644
+ path: '',
4645
+ pathMatch: 'full',
4646
+ loadComponent: () => Promise.resolve().then(function () { return taonCmsCourseBackoffice_component; }).then(m => m.TaonCmsCourseBackofficeComponent),
4647
+ },
4648
+ ];
4649
+
4650
+ class TaonCmsEditableDirective {
4651
+ constructor() {
4652
+ this.element = inject(ElementRef)
4653
+ .nativeElement;
4654
+ this.sanitizer = inject(DomSanitizer);
4655
+ this.value = '';
4656
+ this.composing = false;
4657
+ this.taonCmsEditableFormat = 'text';
4658
+ this.taonCmsEditableSingleLine = false;
4659
+ this.taonCmsEditableChange = new EventEmitter();
4660
+ }
4661
+ set taonCmsEditable(value) {
4662
+ if (value === this.value) {
4663
+ return;
4664
+ }
4665
+ this.value = value;
4666
+ this.render();
4667
+ }
4668
+ compositionStart() {
4669
+ this.composing = true;
4670
+ }
4671
+ compositionEnd() {
4672
+ this.composing = false;
4673
+ this.onInput();
4674
+ }
4675
+ onInput() {
4676
+ if (this.composing) {
4677
+ return;
4678
+ }
4679
+ const text = this.element.innerText;
4680
+ this.value =
4681
+ this.taonCmsEditableFormat === 'html'
4682
+ ? this.sanitize(this.element.innerHTML)
4683
+ : this.taonCmsEditableSingleLine
4684
+ ? text.replace(/\s*\n\s*/g, ' ')
4685
+ : text;
4686
+ // Remember emitted values so Angular does not rewrite the DOM/caret on input.
4687
+ this.taonCmsEditableChange.emit(this.value);
4688
+ }
4689
+ onBlur() {
4690
+ this.onInput();
4691
+ this.render();
4692
+ }
4693
+ onKeydown(event) {
4694
+ if (this.taonCmsEditableSingleLine && event.key === 'Enter') {
4695
+ event.preventDefault();
4696
+ }
4697
+ }
4698
+ onPaste(event) {
4699
+ event.preventDefault();
4700
+ const selection = this.element.ownerDocument.getSelection();
4701
+ if (!selection?.rangeCount || !event.clipboardData) {
4702
+ return;
4703
+ }
4704
+ const range = selection.getRangeAt(0);
4705
+ if (!this.element.contains(range.commonAncestorContainer)) {
4706
+ return;
4707
+ }
4708
+ const pasted = event.clipboardData.getData('text/plain');
4709
+ const text = this.taonCmsEditableSingleLine
4710
+ ? pasted.replace(/\s*\n\s*/g, ' ')
4711
+ : pasted;
4712
+ range.deleteContents();
4713
+ const node = this.element.ownerDocument.createTextNode(text);
4714
+ range.insertNode(node);
4715
+ range.setStartAfter(node);
4716
+ range.collapse(true);
4717
+ selection.removeAllRanges();
4718
+ selection.addRange(range);
4719
+ this.onInput();
4720
+ }
4721
+ sanitize(value) {
4722
+ return this.sanitizer.sanitize(SecurityContext.HTML, value) ?? '';
4723
+ }
4724
+ render() {
4725
+ if (this.taonCmsEditableFormat === 'html') {
4726
+ this.element.innerHTML = this.sanitize(this.value);
4727
+ }
4728
+ else {
4729
+ this.element.textContent = this.value;
4730
+ }
4731
+ }
4366
4732
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsEditableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
4367
4733
  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 }); }
4368
4734
  }
@@ -4399,7 +4765,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
4399
4765
  args: ['paste', ['$event']]
4400
4766
  }] } });
4401
4767
 
4402
- 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-taon-cms-revision-chooser.component.html.en-US.i18n.data-CdG7f6f1.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-BRJitr3A.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-revision-chooser.component.html.de-DE.i18n.data-0-FosMdd.mjs')).default }, "src/lib/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-revision-chooser.component.ts.en-US.i18n.data-C2H_Eckx.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-qQEyNc_O.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-BWfc44Gu.mjs')).default } });
4768
+ 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-taon-cms-revision-chooser.component.html.en-US.i18n.data-CdG7f6f1.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-Do3uVXlb.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-revision-chooser.component.html.de-DE.i18n.data-DjiWTtYe.mjs')).default }, "src/lib/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-revision-chooser.component.ts.en-US.i18n.data-C2H_Eckx.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-D_bY00-t.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-DVVM6Wld.mjs')).default } });
4403
4769
  class TaonCmsRevisionChooserComponent {
4404
4770
  constructor() {
4405
4771
  this.t = t$5.for(this);
@@ -4467,7 +4833,7 @@ class TaonCmsRevisionChooserComponent {
4467
4833
  }
4468
4834
  }
4469
4835
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsRevisionChooserComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4470
- 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 }); }
4836
+ 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 }); }
4471
4837
  }
4472
4838
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsRevisionChooserComponent, decorators: [{
4473
4839
  type: Component,
@@ -4477,7 +4843,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
4477
4843
  args: ['document:keydown.escape', ['$event']]
4478
4844
  }] } });
4479
4845
 
4480
- 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-taon-related-post-chooser.component.html.en-US.i18n.data-BV9AnDid.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-related-post-chooser.component.html.pl-PL.i18n.data-BKSc0dZ-.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-related-post-chooser.component.html.de-DE.i18n.data-pD4eq7V0.mjs')).default }, "src/lib/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.ts": { "en-US": async () => (await import('./cms-browser-taon-related-post-chooser.component.ts.en-US.i18n.data-B5vaympv.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-related-post-chooser.component.ts.pl-PL.i18n.data-CZxR2iCt.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-related-post-chooser.component.ts.de-DE.i18n.data-D2tZ4gOm.mjs')).default } });
4846
+ 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-taon-related-post-chooser.component.html.en-US.i18n.data-BV9AnDid.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-related-post-chooser.component.html.pl-PL.i18n.data-VTZbP69l.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-related-post-chooser.component.html.de-DE.i18n.data-BsNPk0cG.mjs')).default }, "src/lib/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.ts": { "en-US": async () => (await import('./cms-browser-taon-related-post-chooser.component.ts.en-US.i18n.data-B5vaympv.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-related-post-chooser.component.ts.pl-PL.i18n.data-eSpfHb7u.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-related-post-chooser.component.ts.de-DE.i18n.data-DLWhi5lI.mjs')).default } });
4481
4847
  class TaonRelatedPostChooserComponent {
4482
4848
  constructor() {
4483
4849
  this.t = t$4.for(this);
@@ -4536,153 +4902,16 @@ class TaonRelatedPostChooserComponent {
4536
4902
  this.ref.close();
4537
4903
  }
4538
4904
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonRelatedPostChooserComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4539
- 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 }); }
4905
+ 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 }); }
4540
4906
  }
4541
4907
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonRelatedPostChooserComponent, decorators: [{
4542
4908
  type: Component,
4543
4909
  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"] }]
4544
4910
  }], ctorParameters: () => [] });
4545
4911
 
4546
- function defaultThumbnailKey(type) {
4547
- return `cms-placeholder:${type}`;
4548
- }
4549
- function defaultThumbnailUrl(key) {
4550
- const type = Object.values(TaonCmsContentType).find(value => key === defaultThumbnailKey(value));
4551
- if (!type) {
4552
- return null;
4553
- }
4554
- const shapes = {
4555
- normal: '<path d="M260 126h120v112H260z M280 152h80m-80 20h80m-80 20h52" />',
4556
- video: '<rect x="248" y="132" width="144" height="100" rx="16"/><path d="m308 158 40 24-40 24z"/>',
4557
- audio: '<path d="M280 164v40m20-60v80m20-98v116m20-98v80m20-60v40"/>',
4558
- attachment: '<path d="M276 124h60l32 32v84h-92z M336 124v36h32m-70 30h48m-48 22h36"/>',
4559
- };
4560
- 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>`;
4561
- return `data:image/svg+xml,${encodeURIComponent(svg)}`;
4562
- }
4563
- function visiblePixelRatio(pixels) {
4564
- let visible = 0;
4565
- for (let index = 0; index < pixels.length; index += 4) {
4566
- const luminance = 0.2126 * pixels[index] +
4567
- 0.7152 * pixels[index + 1] +
4568
- 0.0722 * pixels[index + 2];
4569
- if (luminance > 18) {
4570
- visible += 1;
4571
- }
4572
- }
4573
- return pixels.length ? visible / (pixels.length / 4) : 0;
4574
- }
4575
- function videoEvent(video, event, action) {
4576
- return new Promise((resolve, reject) => {
4577
- const cleanup = () => {
4578
- clearTimeout(timeout);
4579
- video.removeEventListener(event, done);
4580
- video.removeEventListener('error', failed);
4581
- };
4582
- const done = () => {
4583
- cleanup();
4584
- resolve();
4585
- };
4586
- const failed = () => {
4587
- cleanup();
4588
- reject(new Error(video.error?.message || 'Video decoding failed.'));
4589
- };
4590
- const timeout = setTimeout(() => {
4591
- cleanup();
4592
- reject(new Error('Video decoding timed out.'));
4593
- }, 15000);
4594
- video.addEventListener(event, done, { once: true });
4595
- video.addEventListener('error', failed, { once: true });
4596
- try {
4597
- action();
4598
- }
4599
- catch (error) {
4600
- cleanup();
4601
- reject(error);
4602
- }
4603
- });
4604
- }
4605
- async function generateVideoThumbnail(file) {
4606
- const video = document.createElement('video');
4607
- const url = URL.createObjectURL(file);
4608
- try {
4609
- video.muted = true;
4610
- video.playsInline = true;
4611
- video.preload = 'auto';
4612
- await videoEvent(video, 'loadeddata', () => {
4613
- video.src = url;
4614
- video.load();
4615
- });
4616
- if (!video.videoWidth || !video.videoHeight) {
4617
- throw new Error('The video has no decodable dimensions.');
4618
- }
4619
- const analysis = document.createElement('canvas');
4620
- analysis.width = 64;
4621
- analysis.height = Math.max(1, Math.round((64 * video.videoHeight) / video.videoWidth));
4622
- const context = analysis.getContext('2d', { willReadFrequently: true });
4623
- if (!context) {
4624
- throw new Error('Canvas is unavailable.');
4625
- }
4626
- const seek = async (time) => {
4627
- if (Math.abs(video.currentTime - time) > 0.001) {
4628
- await videoEvent(video, 'seeked', () => {
4629
- video.currentTime = time;
4630
- });
4631
- }
4632
- };
4633
- const end = Number.isFinite(video.duration)
4634
- ? Math.min(5, Math.max(0, video.duration - 0.01))
4635
- : 5;
4636
- let bestTime = 0;
4637
- let bestRatio = -1;
4638
- let found = false;
4639
- for (let time = 0; time <= end; time += 0.25) {
4640
- await seek(time);
4641
- context.drawImage(video, 0, 0, analysis.width, analysis.height);
4642
- const ratio = visiblePixelRatio(context.getImageData(0, 0, analysis.width, analysis.height).data);
4643
- if (ratio > bestRatio) {
4644
- bestRatio = ratio;
4645
- bestTime = time;
4646
- }
4647
- // Small highlights or a subject in a dark scene are enough.
4648
- if (ratio >= 0.02) {
4649
- found = true;
4650
- break;
4651
- }
4652
- }
4653
- if (!found) {
4654
- await seek(bestTime);
4655
- }
4656
- const canvas = document.createElement('canvas');
4657
- const scale = Math.min(1, 1280 / video.videoWidth, 720 / video.videoHeight);
4658
- canvas.width = Math.max(1, Math.round(video.videoWidth * scale));
4659
- canvas.height = Math.max(1, Math.round(video.videoHeight * scale));
4660
- const output = canvas.getContext('2d');
4661
- if (!output) {
4662
- throw new Error('Canvas is unavailable.');
4663
- }
4664
- output.drawImage(video, 0, 0, canvas.width, canvas.height);
4665
- return await new Promise((resolve, reject) => {
4666
- canvas.toBlob(blob => blob
4667
- ? resolve(blob)
4668
- : reject(new Error('Thumbnail encoding failed.')), 'image/webp', 0.85);
4669
- });
4670
- }
4671
- finally {
4672
- try {
4673
- video.pause();
4674
- video.removeAttribute('src');
4675
- video.load();
4676
- }
4677
- finally {
4678
- URL.revokeObjectURL(url);
4679
- }
4680
- }
4681
- }
4682
-
4683
4912
  //#region imports
4684
4913
  //#endregion
4685
- 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-taon-cms-post.component.html.en-US.i18n.data-CAAYTQWn.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-post.component.html.pl-PL.i18n.data-5tuvjPPZ.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-post.component.html.de-DE.i18n.data-_sQHaM7p.mjs')).default }, "src/lib/taon-posts/taon-cms-post/taon-cms-post.component.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-post.component.ts.en-US.i18n.data-n_jdOSMO.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-post.component.ts.pl-PL.i18n.data-747DKNI9.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-post.component.ts.de-DE.i18n.data-PjXxw70Q.mjs')).default } });
4914
+ 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-taon-cms-post.component.html.en-US.i18n.data-KASjY7KB.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-post.component.html.pl-PL.i18n.data-BTHVJbC_.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-post.component.html.de-DE.i18n.data-B1AK4KW_.mjs')).default }, "src/lib/taon-posts/taon-cms-post/taon-cms-post.component.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-post.component.ts.en-US.i18n.data-BTgAXw4d.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-post.component.ts.pl-PL.i18n.data-Dt0lO5qR.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-post.component.ts.de-DE.i18n.data-B93wyE-K.mjs')).default } });
4686
4915
  class TaonCmsPostComponent {
4687
4916
  //#endregion
4688
4917
  //#region constructor
@@ -4818,13 +5047,74 @@ class TaonCmsPostComponent {
4818
5047
  return !!post && post.status !== 'published';
4819
5048
  }, ...(ngDevMode ? [{ debugName: "canPublish" }] : []));
4820
5049
  this.api = inject(TaonCmsContentApiService);
5050
+ this.contentConfig = inject(TaonCmsContentConfigService);
5051
+ this.contentTab = signal(0, ...(ngDevMode ? [{ debugName: "contentTab" }] : []));
5052
+ this.contentEditor = signal(null, ...(ngDevMode ? [{ debugName: "contentEditor" }] : []));
5053
+ this.rawContent = viewChild('rawContent', ...(ngDevMode ? [{ debugName: "rawContent" }] : []));
5054
+ this.loadingEditorContent = false;
5055
+ this.contentToolbar = [
5056
+ [{ heading: ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'] }],
5057
+ ['bold', 'italic', 'underline', 'strike'],
5058
+ ['ordered_list', 'bullet_list'],
5059
+ ['blockquote', 'code'],
5060
+ ['link', 'image'],
5061
+ ['text_color', 'background_color'],
5062
+ ['align_left', 'align_center', 'align_right', 'align_justify'],
5063
+ ['horizontal_rule', 'format_clear'],
5064
+ ['undo', 'redo'],
5065
+ ];
5066
+ this.resolvedBody = computed(() => {
5067
+ const draft = this.draft();
5068
+ return resolveTemplateVariables(draft.body, {
5069
+ frontendUrl: this.api.frontendUrl,
5070
+ site: { name: this.contentConfig.siteName },
5071
+ post: {
5072
+ title: draft.title,
5073
+ url: draft.slug ? this.api.getPostUrl(draft.slug) : null,
5074
+ id: this.currentPost()?.id,
5075
+ thumbnailUrl: this.thumbnailPreviewUrl() || null,
5076
+ },
5077
+ });
5078
+ }, ...(ngDevMode ? [{ debugName: "resolvedBody" }] : []));
4821
5079
  this.permissionApi = inject(TaonPermissionApiService);
4822
5080
  this.dialog = inject(MatDialog);
4823
5081
  this.destroyRef = inject(DestroyRef);
5082
+ const editor = new Editor({
5083
+ attributes: {
5084
+ 'aria-label': this.t.gettext('Post body'),
5085
+ style: 'min-height: 20rem',
5086
+ },
5087
+ });
5088
+ this.contentEditor.set(editor);
5089
+ const editorChanges = editor.valueChanges.subscribe(document => {
5090
+ if (!this.editing() || this.loadingEditorContent) {
5091
+ return;
5092
+ }
5093
+ this.updateDraft('body', toHTML(document, editor.schema));
5094
+ });
5095
+ // React to post input changes.
4824
5096
  effect(() => {
4825
5097
  const post = this.post();
4826
- untracked(() => this.setPost(post));
5098
+ untracked(() => {
5099
+ this.setPost(post);
5100
+ // Synchronize editor only because the POST changed externally.
5101
+ this.loadingEditorContent = true;
5102
+ try {
5103
+ editor.setContent(this.draft().body);
5104
+ }
5105
+ finally {
5106
+ this.loadingEditorContent = false;
5107
+ }
5108
+ });
5109
+ });
5110
+ // Enable/disable editor without recreating it.
5111
+ effect(() => {
5112
+ const disabled = this.busy() || this.dialogOpen() || !this.editing();
5113
+ editor.view.setProps({
5114
+ editable: () => !disabled,
5115
+ });
4827
5116
  });
5117
+ // Load edit-mode dependencies.
4828
5118
  effect(() => {
4829
5119
  if (this.editing()) {
4830
5120
  untracked(() => {
@@ -4834,6 +5124,7 @@ class TaonCmsPostComponent {
4834
5124
  });
4835
5125
  }
4836
5126
  });
5127
+ // Thumbnail preview handling.
4837
5128
  effect(onCleanup => {
4838
5129
  const key = this.thumbnailReference();
4839
5130
  const slug = this.thumbnailSlug();
@@ -4884,7 +5175,7 @@ class TaonCmsPostComponent {
4884
5175
  }
4885
5176
  });
4886
5177
  });
4887
- this.destroyRef.onDestroy(() => this.releaseThumbnailPreview());
5178
+ // Media preview handling.
4888
5179
  effect(() => {
4889
5180
  const media = this.mediaAttachment();
4890
5181
  const key = media ? this.draft()[media.key] : null;
@@ -4953,6 +5244,15 @@ class TaonCmsPostComponent {
4953
5244
  }
4954
5245
  });
4955
5246
  });
5247
+ // Destroy ngx-editor ONLY when this component is actually destroyed.
5248
+ this.destroyRef.onDestroy(() => {
5249
+ editorChanges.unsubscribe();
5250
+ editor.destroy();
5251
+ if (this.contentEditor() === editor) {
5252
+ this.contentEditor.set(null);
5253
+ }
5254
+ this.releaseThumbnailPreview();
5255
+ });
4956
5256
  }
4957
5257
  //#endregion
4958
5258
  //#region methods / load related posts
@@ -5242,6 +5542,30 @@ class TaonCmsPostComponent {
5242
5542
  }
5243
5543
  //#endregion
5244
5544
  //#region methods / update draft
5545
+ updateRawContent(event) {
5546
+ if (event.target instanceof HTMLTextAreaElement) {
5547
+ this.updateDraft('body', event.target.value);
5548
+ }
5549
+ }
5550
+ insertVariable(variable) {
5551
+ if (!this.editing() || this.busy() || this.dialogOpen()) {
5552
+ return;
5553
+ }
5554
+ const text = `{{${variable}}}`;
5555
+ if (this.contentTab() === 1) {
5556
+ const textarea = this.rawContent()?.nativeElement;
5557
+ if (textarea) {
5558
+ textarea.setRangeText(text, textarea.selectionStart, textarea.selectionEnd, 'end');
5559
+ this.updateDraft('body', textarea.value);
5560
+ textarea.focus();
5561
+ }
5562
+ }
5563
+ else if (this.contentTab() === 0) {
5564
+ const editor = this.contentEditor();
5565
+ editor?.commands.insertText(text).exec();
5566
+ editor?.view.focus();
5567
+ }
5568
+ }
5245
5569
  updateDraft(field, value) {
5246
5570
  this.draft.update(draft => ({ ...draft, [field]: value }));
5247
5571
  }
@@ -5681,10 +6005,11 @@ class TaonCmsPostComponent {
5681
6005
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5682
6006
  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: [
5683
6007
  TaonCmsContentApiService,
6008
+ TaonCmsContentConfigService,
5684
6009
  TaonPermissionApiService,
5685
6010
  TaonCmsCategoryApiService,
5686
6011
  TaonCmsTagApiService,
5687
- ], 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 }); }
6012
+ ], 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 }); }
5688
6013
  }
5689
6014
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostComponent, decorators: [{
5690
6015
  type: Component,
@@ -5694,6 +6019,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
5694
6019
  MatFormFieldModule,
5695
6020
  MatIconModule,
5696
6021
  MatInputModule,
6022
+ MatMenuModule,
6023
+ MatTabsModule,
6024
+ NgxEditorModule,
5697
6025
  MatChipsModule,
5698
6026
  MatProgressBarModule,
5699
6027
  MatRadioModule,
@@ -5701,11 +6029,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
5701
6029
  TaonCmsEditableDirective,
5702
6030
  ], providers: [
5703
6031
  TaonCmsContentApiService,
6032
+ TaonCmsContentConfigService,
5704
6033
  TaonPermissionApiService,
5705
6034
  TaonCmsCategoryApiService,
5706
6035
  TaonCmsTagApiService,
5707
- ], 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"] }]
5708
- }], 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"] }] } });
6036
+ ], 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"] }]
6037
+ }], 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 }] }] } });
5709
6038
 
5710
6039
  var taonCmsPost_component = /*#__PURE__*/Object.freeze({
5711
6040
  __proto__: null,
@@ -5736,7 +6065,7 @@ const TaonCmsPostRoutes = [
5736
6065
  */
5737
6066
  // export default TaonCmsPostRoutes;
5738
6067
 
5739
- 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-taon-cms-post-details-page.component.ts.en-US.i18n.data-Gx0bf2nC.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-DzObZW39.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-post-details-page.component.ts.de-DE.i18n.data-DcMMeJhf.mjs')).default } });
6068
+ 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-taon-cms-post-details-page.component.ts.en-US.i18n.data-Gx0bf2nC.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-B-2PuKu7.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-post-details-page.component.ts.de-DE.i18n.data-C7tWZFkz.mjs')).default } });
5740
6069
  class TaonCmsPostDetailsPageComponent {
5741
6070
  constructor() {
5742
6071
  this.t = t$2.for(this);
@@ -5808,51 +6137,18 @@ var taonCmsPostDetailsPage_component = /*#__PURE__*/Object.freeze({
5808
6137
 
5809
6138
  //#region imports
5810
6139
  //#endregion
5811
- 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-taon-cms-posts-backoffice.component.html.en-US.i18n.data-D1XI6u8V.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-Sv8mvv7F.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-PTv8IVQS.mjs')).default }, "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-DdTJ6jBq.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-VmJCCpyW.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-XC6VHQ4p.mjs')).default }, "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-BMHc1eXs.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-D6vB4Elu.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-DR3QDl8i.mjs')).default } });
5812
- class TaonCmsPostsBackofficeComponent {
6140
+ 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-taon-cms-post-table-actions.directive.ts.en-US.i18n.data-BD4-1New.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data-DdK3CYLj.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-post-table-actions.directive.ts.de-DE.i18n.data-Cwi7pcvq.mjs')).default }, "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.html": { "en-US": async () => (await import('./cms-browser-taon-cms-posts-backoffice.component.html.en-US.i18n.data-D1XI6u8V.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-DaE0bfxU.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-CZ0mZdO-.mjs')).default }, "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-B8PjJ2_u.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-D5dkM1Rg.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-CTYkGigp.mjs')).default }, "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-BMHc1eXs.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-BedZOCRt.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-DqM60DP9.mjs')).default } });
6141
+ class TaonCmsPostsBackofficeComponent extends TaonCmsPostTableActions {
5813
6142
  constructor() {
6143
+ super(...arguments);
5814
6144
  this.t = t$1.for(this);
5815
- this.taonCmsContentApiService = inject(TaonCmsContentApiService);
5816
6145
  this.posts = signal([], ...(ngDevMode ? [{ debugName: "posts" }] : []));
5817
6146
  this.loading = signal(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
5818
- this.deleting = signal(null, ...(ngDevMode ? [{ debugName: "deleting" }] : []));
5819
- this.duplicating = signal(false, ...(ngDevMode ? [{ debugName: "duplicating" }] : []));
5820
- this.error = signal('', ...(ngDevMode ? [{ debugName: "error" }] : []));
5821
- this.dialog = inject(MatDialog);
5822
- this.route = inject(ActivatedRoute);
5823
- this.router = inject(Router);
5824
- this.destroyRef = inject(DestroyRef);
5825
6147
  this.columns = [
5826
6148
  { header: 'ID', field: 'id', sortable: true },
5827
6149
  { header: this.t.gettext('Title'), field: 'title', sortable: true },
5828
6150
  { header: this.t.gettext('Status'), field: 'status', sortable: true },
5829
- {
5830
- header: this.t.gettext('Actions'),
5831
- field: 'actions',
5832
- type: 'button',
5833
- buttons: [
5834
- {
5835
- type: 'icon',
5836
- icon: 'content_copy',
5837
- tooltip: this.t.gettext('Duplicate post'),
5838
- disabled: () => this.duplicating(),
5839
- click: (post) => this.duplicate(post),
5840
- },
5841
- {
5842
- type: 'icon',
5843
- icon: 'open_in_new',
5844
- tooltip: this.t.gettext('Post details'),
5845
- click: (post) => this.openDetails(post),
5846
- },
5847
- {
5848
- type: 'icon',
5849
- icon: 'delete',
5850
- tooltip: this.t.gettext('Delete (archive) post'),
5851
- disabled: (post) => post.status === 'archived' || this.deleting() !== null,
5852
- click: (post) => this.delete(post),
5853
- },
5854
- ],
5855
- },
6151
+ this.actionsColumn,
5856
6152
  ];
5857
6153
  }
5858
6154
  get crud() {
@@ -5864,72 +6160,8 @@ class TaonCmsPostsBackofficeComponent {
5864
6160
  ngAfterViewInit() {
5865
6161
  this.reload();
5866
6162
  }
5867
- add() {
5868
- this.openPost('new');
5869
- }
5870
- openDetails(post) {
5871
- this.openPost(post.id);
5872
- }
5873
- openPost(id) {
5874
- const postsRoute = this.route.parent;
5875
- if (!postsRoute) {
5876
- this.error.set(this.t.gettext('The Post details route is unavailable.'));
5877
- return;
5878
- }
5879
- void this.router.navigate([id], { relativeTo: postsRoute });
5880
- }
5881
- duplicate(post) {
5882
- if (this.duplicating()) {
5883
- return;
5884
- }
5885
- this.duplicating.set(true);
5886
- this.error.set('');
5887
- this.taonCmsContentApiService
5888
- .duplicateContent(post.id)
5889
- .pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.duplicating.set(false)))
5890
- .subscribe({
5891
- next: duplicate => this.openDetails(duplicate),
5892
- error: (error) => {
5893
- console.error('[taon-cms-posts-backoffice] Unable to duplicate post', error);
5894
- this.error.set(this.t.gettext('The post could not be duplicated. Please try again.'));
5895
- },
5896
- });
5897
- }
5898
- delete(post) {
5899
- if (this.deleting() !== null || post.status === 'archived') {
5900
- return;
5901
- }
5902
- this.deleting.set(post.id);
5903
- const ref = this.dialog.open(TaonConfirmDialogComponent, {
5904
- data: {
5905
- title: this.t.gettext('Delete post?'),
5906
- message: this.t.gettext('This archives the post. It can be restored from its revisions.'),
5907
- confirmText: this.t.gettext('Delete'),
5908
- },
5909
- });
5910
- ref
5911
- .afterClosed()
5912
- .pipe(takeUntilDestroyed(this.destroyRef))
5913
- .subscribe(confirmed => {
5914
- if (!confirmed) {
5915
- this.deleting.set(null);
5916
- return;
5917
- }
5918
- this.error.set('');
5919
- this.taonCmsContentApiService
5920
- .deleteContent(post.id, post.version)
5921
- .pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.deleting.set(null)))
5922
- .subscribe({
5923
- next: () => this.reload(),
5924
- error: (error) => {
5925
- console.error('[taon-cms-posts-backoffice] Unable to delete post', error);
5926
- this.error.set(this.t.gettext('The post could not be deleted. Refresh the table before retrying.'));
5927
- },
5928
- });
5929
- });
5930
- }
5931
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostsBackofficeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5932
- 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 }); }
6163
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostsBackofficeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
6164
+ 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 }); }
5933
6165
  }
5934
6166
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostsBackofficeComponent, decorators: [{
5935
6167
  type: Component,
@@ -5946,7 +6178,7 @@ var taonCmsPostsBackoffice_component = /*#__PURE__*/Object.freeze({
5946
6178
 
5947
6179
  //#region imports
5948
6180
  //#endregion
5949
- 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-taon-cms-posts-backoffice.component.html.en-US.i18n.data-D1XI6u8V.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-Sv8mvv7F.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-PTv8IVQS.mjs')).default }, "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-DdTJ6jBq.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-VmJCCpyW.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-XC6VHQ4p.mjs')).default }, "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-BMHc1eXs.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-D6vB4Elu.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-DR3QDl8i.mjs')).default } });
6181
+ 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-taon-cms-post-table-actions.directive.ts.en-US.i18n.data-BD4-1New.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-post-table-actions.directive.ts.pl-PL.i18n.data-DdK3CYLj.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-post-table-actions.directive.ts.de-DE.i18n.data-Cwi7pcvq.mjs')).default }, "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.html": { "en-US": async () => (await import('./cms-browser-taon-cms-posts-backoffice.component.html.en-US.i18n.data-D1XI6u8V.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-DaE0bfxU.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-CZ0mZdO-.mjs')).default }, "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-B8PjJ2_u.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-D5dkM1Rg.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-CTYkGigp.mjs')).default }, "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts": { "en-US": async () => (await import('./cms-browser-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-BMHc1eXs.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-BedZOCRt.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-DqM60DP9.mjs')).default } });
5950
6182
  const resolvePost = async (route) => {
5951
6183
  const id = Number(route.paramMap.get('id'));
5952
6184
  if (!Number.isSafeInteger(id) || id <= 0) {
@@ -6001,14 +6233,9 @@ var index$1 = /*#__PURE__*/Object.freeze({
6001
6233
  BUILD_FRAMEWORK_CLI_NAME: BUILD_FRAMEWORK_CLI_NAME,
6002
6234
  CURRENT_PACKAGE_TAON_VERSION: CURRENT_PACKAGE_TAON_VERSION,
6003
6235
  CURRENT_PACKAGE_VERSION: CURRENT_PACKAGE_VERSION,
6004
- get CmsContext_1791132517217_initial () { return CmsContext_1791132517217_initial; },
6005
- get CmsContext_1792579000000_postPermissionInheritance () { return CmsContext_1792579000000_postPermissionInheritance; },
6006
- get CmsContext_1793043000000_postThumbnails () { return CmsContext_1793043000000_postThumbnails; },
6236
+ get CmsContext_1792506757808_applicaitonHooks () { return CmsContext_1792506757808_applicaitonHooks; },
6007
6237
  MIGRATIONS_CLASSES_FOR_CmsContext: MIGRATIONS_CLASSES_FOR_CmsContext,
6008
6238
  PROJECT_NPM_NAME: PROJECT_NPM_NAME,
6009
- get TaonAuthContextEntity () { return TaonAuthContextEntity; },
6010
- TaonAuthContextHasAccess: TaonAuthContextHasAccess,
6011
- get TaonAuthContextRepository () { return TaonAuthContextRepository; },
6012
6239
  TaonCmsAbstractContext: TaonCmsAbstractContext,
6013
6240
  TaonCmsApplicationHook: TaonCmsApplicationHook,
6014
6241
  get TaonCmsApplicationHookEntity () { return TaonCmsApplicationHookEntity; },
@@ -6098,10 +6325,15 @@ var index$1 = /*#__PURE__*/Object.freeze({
6098
6325
  get TaonCmsContentTagUtils () { return TaonCmsContentTagUtils; },
6099
6326
  get TaonCmsContentType () { return TaonCmsContentType; },
6100
6327
  get TaonCmsContentUtils () { return TaonCmsContentUtils; },
6328
+ TaonCmsCourseBackofficeComponent: TaonCmsCourseBackofficeComponent,
6329
+ TaonCmsCourseBackofficeRoutes: TaonCmsCourseBackofficeRoutes,
6330
+ TaonCmsCourseContentsComponent: TaonCmsCourseContentsComponent,
6331
+ TaonCmsCourseCoverComponent: TaonCmsCourseCoverComponent,
6101
6332
  TaonCmsEditableDirective: TaonCmsEditableDirective,
6102
6333
  TaonCmsPostComponent: TaonCmsPostComponent,
6103
6334
  TaonCmsPostDetailsPageComponent: TaonCmsPostDetailsPageComponent,
6104
6335
  TaonCmsPostRoutes: TaonCmsPostRoutes,
6336
+ TaonCmsPostTableActions: TaonCmsPostTableActions,
6105
6337
  TaonCmsPostsBackofficeComponent: TaonCmsPostsBackofficeComponent,
6106
6338
  TaonCmsPostsBackofficeRoutes: TaonCmsPostsBackofficeRoutes,
6107
6339
  TaonCmsRevisionChooserComponent: TaonCmsRevisionChooserComponent,
@@ -6119,9 +6351,6 @@ var index$1 = /*#__PURE__*/Object.freeze({
6119
6351
  TaonCmsTagsBackofficeRoutes: TaonCmsTagsBackofficeRoutes,
6120
6352
  TaonCmsTaxonomyBackofficeComponent: TaonCmsTaxonomyBackofficeComponent,
6121
6353
  TaonRelatedPostChooserComponent: TaonRelatedPostChooserComponent,
6122
- TaonSessionCoreGroups: TaonSessionCoreGroups,
6123
- TaonSessionCorePermissions: TaonSessionCorePermissions,
6124
- TaonSessionCoreRoles: TaonSessionCoreRoles,
6125
6354
  contentError: contentError,
6126
6355
  default: index,
6127
6356
  defaultThumbnailKey: defaultThumbnailKey,
@@ -6129,6 +6358,7 @@ var index$1 = /*#__PURE__*/Object.freeze({
6129
6358
  generateVideoThumbnail: generateVideoThumbnail,
6130
6359
  requireContentId: requireContentId,
6131
6360
  requireContentVersion: requireContentVersion,
6361
+ resolveTemplateVariables: resolveTemplateVariables,
6132
6362
  startCli: startCli,
6133
6363
  trackCmsUpload: trackCmsUpload,
6134
6364
  validateCategoryHierarchy: validateCategoryHierarchy,
@@ -6141,5 +6371,5 @@ var index$1 = /*#__PURE__*/Object.freeze({
6141
6371
  * Generated bundle index. Do not edit.
6142
6372
  */
6143
6373
 
6144
- 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, TaonCmsCommentAbstractContext, TaonCmsCommentApiService, TaonCmsCommentController, TaonCmsCommentDefaultsValues, TaonCmsCommentEntity, TaonCmsCommentMiddleware, TaonCmsCommentProvider, TaonCmsCommentRepository, TaonCmsCommentState, TaonCmsCommentSubscriber, TaonCmsCommentUtils, TaonCmsContentAbstractContext, TaonCmsContentApiService, TaonCmsContentAssetAbstractContext, TaonCmsContentAssetApiService, TaonCmsContentAssetController, TaonCmsContentAssetDefaultsValues, TaonCmsContentAssetEntity, TaonCmsContentAssetMiddleware, TaonCmsContentAssetProvider, TaonCmsContentAssetRepository, TaonCmsContentAssetState, TaonCmsContentAssetSubscriber, TaonCmsContentAssetUtils, TaonCmsContentConfigService, TaonCmsContentController, TaonCmsContentDefaultsValues, TaonCmsContentEntity, TaonCmsContentMiddleware, TaonCmsContentPermissionAbstractContext, TaonCmsContentPermissionApiService, TaonCmsContentPermissionController, TaonCmsContentPermissionDefaultsValues, TaonCmsContentPermissionEntity, TaonCmsContentPermissionMiddleware, TaonCmsContentPermissionProvider, TaonCmsContentPermissionRepository, TaonCmsContentPermissionState, TaonCmsContentPermissionSubscriber, TaonCmsContentPermissionUtils, TaonCmsContentProvider, TaonCmsContentRepository, TaonCmsContentRevisionAbstractContext, TaonCmsContentRevisionApiService, TaonCmsContentRevisionController, TaonCmsContentRevisionDefaultsValues, TaonCmsContentRevisionEntity, TaonCmsContentRevisionMiddleware, TaonCmsContentRevisionProvider, TaonCmsContentRevisionRepository, TaonCmsContentRevisionState, TaonCmsContentRevisionSubscriber, TaonCmsContentRevisionUtils, TaonCmsContentState, TaonCmsContentStorageController, TaonCmsContentSubscriber, TaonCmsContentTagAbstractContext, TaonCmsContentTagApiService, TaonCmsContentTagController, TaonCmsContentTagDefaultsValues, TaonCmsContentTagEntity, TaonCmsContentTagMiddleware, TaonCmsContentTagProvider, TaonCmsContentTagRepository, TaonCmsContentTagState, TaonCmsContentTagSubscriber, TaonCmsContentTagUtils, TaonCmsContentType, TaonCmsContentUtils, TaonCmsEditableDirective, TaonCmsPostComponent, TaonCmsPostDetailsPageComponent, TaonCmsPostRoutes, TaonCmsPostsBackofficeComponent, TaonCmsPostsBackofficeRoutes, TaonCmsRevisionChooserComponent, TaonCmsTagAbstractContext, TaonCmsTagApiService, TaonCmsTagController, TaonCmsTagDefaultsValues, TaonCmsTagEntity, TaonCmsTagMiddleware, TaonCmsTagProvider, TaonCmsTagRepository, TaonCmsTagState, TaonCmsTagSubscriber, TaonCmsTagUtils, TaonCmsTagsBackofficeRoutes, TaonCmsTaxonomyBackofficeComponent, TaonRelatedPostChooserComponent, TaonSessionCoreGroups, TaonSessionCorePermissions, TaonSessionCoreRoles, contentError, defaultThumbnailKey, defaultThumbnailUrl, generateVideoThumbnail, requireContentId, requireContentVersion, startCli, trackCmsUpload, validateCategoryHierarchy, validateContentInput, validateTaxonomy, visiblePixelRatio };
6374
+ 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, TaonCmsCommentAbstractContext, TaonCmsCommentApiService, TaonCmsCommentController, TaonCmsCommentDefaultsValues, TaonCmsCommentEntity, TaonCmsCommentMiddleware, TaonCmsCommentProvider, TaonCmsCommentRepository, TaonCmsCommentState, TaonCmsCommentSubscriber, TaonCmsCommentUtils, TaonCmsContentAbstractContext, TaonCmsContentApiService, TaonCmsContentAssetAbstractContext, TaonCmsContentAssetApiService, TaonCmsContentAssetController, TaonCmsContentAssetDefaultsValues, TaonCmsContentAssetEntity, TaonCmsContentAssetMiddleware, TaonCmsContentAssetProvider, TaonCmsContentAssetRepository, TaonCmsContentAssetState, TaonCmsContentAssetSubscriber, TaonCmsContentAssetUtils, TaonCmsContentConfigService, TaonCmsContentController, TaonCmsContentDefaultsValues, TaonCmsContentEntity, TaonCmsContentMiddleware, TaonCmsContentPermissionAbstractContext, TaonCmsContentPermissionApiService, TaonCmsContentPermissionController, TaonCmsContentPermissionDefaultsValues, TaonCmsContentPermissionEntity, TaonCmsContentPermissionMiddleware, TaonCmsContentPermissionProvider, TaonCmsContentPermissionRepository, TaonCmsContentPermissionState, TaonCmsContentPermissionSubscriber, TaonCmsContentPermissionUtils, TaonCmsContentProvider, TaonCmsContentRepository, TaonCmsContentRevisionAbstractContext, TaonCmsContentRevisionApiService, TaonCmsContentRevisionController, TaonCmsContentRevisionDefaultsValues, TaonCmsContentRevisionEntity, TaonCmsContentRevisionMiddleware, TaonCmsContentRevisionProvider, TaonCmsContentRevisionRepository, TaonCmsContentRevisionState, TaonCmsContentRevisionSubscriber, TaonCmsContentRevisionUtils, TaonCmsContentState, TaonCmsContentStorageController, TaonCmsContentSubscriber, TaonCmsContentTagAbstractContext, TaonCmsContentTagApiService, TaonCmsContentTagController, TaonCmsContentTagDefaultsValues, TaonCmsContentTagEntity, TaonCmsContentTagMiddleware, TaonCmsContentTagProvider, TaonCmsContentTagRepository, TaonCmsContentTagState, TaonCmsContentTagSubscriber, TaonCmsContentTagUtils, TaonCmsContentType, TaonCmsContentUtils, TaonCmsCourseBackofficeComponent, TaonCmsCourseBackofficeRoutes, TaonCmsCourseContentsComponent, TaonCmsCourseCoverComponent, TaonCmsEditableDirective, TaonCmsPostComponent, TaonCmsPostDetailsPageComponent, TaonCmsPostRoutes, TaonCmsPostTableActions, TaonCmsPostsBackofficeComponent, TaonCmsPostsBackofficeRoutes, TaonCmsRevisionChooserComponent, TaonCmsTagAbstractContext, TaonCmsTagApiService, TaonCmsTagController, TaonCmsTagDefaultsValues, TaonCmsTagEntity, TaonCmsTagMiddleware, TaonCmsTagProvider, TaonCmsTagRepository, TaonCmsTagState, TaonCmsTagSubscriber, TaonCmsTagUtils, TaonCmsTagsBackofficeRoutes, TaonCmsTaxonomyBackofficeComponent, TaonRelatedPostChooserComponent, contentError, defaultThumbnailKey, defaultThumbnailUrl, generateVideoThumbnail, requireContentId, requireContentVersion, resolveTemplateVariables, startCli, trackCmsUpload, validateCategoryHierarchy, validateContentInput, validateTaxonomy, visiblePixelRatio };
6145
6375
  //# sourceMappingURL=cms-browser.mjs.map