@taon-dev/cms 21.0.16 → 21.0.18

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 (2665) 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-BVtSn2fs.mjs +31 -0
  3. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.html.de-DE.i18n.data-BVtSn2fs.mjs.map +1 -0
  4. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.html.en-US.i18n.data-BSUcs0Id.mjs +31 -0
  5. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.html.en-US.i18n.data-BSUcs0Id.mjs.map +1 -0
  6. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.html.pl-PL.i18n.data-dwvVUvD1.mjs +31 -0
  7. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.html.pl-PL.i18n.data-dwvVUvD1.mjs.map +1 -0
  8. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.ts.de-DE.i18n.data-B48c-CYU.mjs +21 -0
  9. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.ts.de-DE.i18n.data-B48c-CYU.mjs.map +1 -0
  10. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.ts.en-US.i18n.data-D9BCToFT.mjs +21 -0
  11. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.ts.en-US.i18n.data-D9BCToFT.mjs.map +1 -0
  12. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-DsqGl3cF.mjs +21 -0
  13. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-DsqGl3cF.mjs.map +1 -0
  14. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-BuXLlArJ.mjs +26 -0
  15. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-BuXLlArJ.mjs.map +1 -0
  16. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.html.en-US.i18n.data-BdtTQ_Jl.mjs +26 -0
  17. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.html.en-US.i18n.data-BdtTQ_Jl.mjs.map +1 -0
  18. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-CoDrYDRK.mjs +26 -0
  19. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-CoDrYDRK.mjs.map +1 -0
  20. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-V7WX2R2o.mjs +26 -0
  21. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-V7WX2R2o.mjs.map +1 -0
  22. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-MGwWRhfj.mjs +26 -0
  23. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-MGwWRhfj.mjs.map +1 -0
  24. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-7gEiqQTu.mjs +26 -0
  25. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-7gEiqQTu.mjs.map +1 -0
  26. package/browser/fesm2022/cms-browser-taon-cms-backoffice.component.html.de-DE.i18n.data-B5x4stX6.mjs +16 -0
  27. package/browser/fesm2022/cms-browser-taon-cms-backoffice.component.html.de-DE.i18n.data-B5x4stX6.mjs.map +1 -0
  28. package/browser/fesm2022/cms-browser-taon-cms-backoffice.component.html.en-US.i18n.data-DthWh8nt.mjs +16 -0
  29. package/browser/fesm2022/cms-browser-taon-cms-backoffice.component.html.en-US.i18n.data-DthWh8nt.mjs.map +1 -0
  30. package/browser/fesm2022/cms-browser-taon-cms-backoffice.component.html.pl-PL.i18n.data-iT7Urr8M.mjs +16 -0
  31. package/browser/fesm2022/cms-browser-taon-cms-backoffice.component.html.pl-PL.i18n.data-iT7Urr8M.mjs.map +1 -0
  32. package/browser/fesm2022/cms-browser-taon-cms-backoffice.component.ts.de-DE.i18n.data-D-UQjC58.mjs +10 -0
  33. package/browser/fesm2022/cms-browser-taon-cms-backoffice.component.ts.de-DE.i18n.data-D-UQjC58.mjs.map +1 -0
  34. package/browser/fesm2022/cms-browser-taon-cms-backoffice.component.ts.en-US.i18n.data-CoKyFRC0.mjs +10 -0
  35. package/browser/fesm2022/cms-browser-taon-cms-backoffice.component.ts.en-US.i18n.data-CoKyFRC0.mjs.map +1 -0
  36. package/browser/fesm2022/cms-browser-taon-cms-backoffice.component.ts.pl-PL.i18n.data-Bly4iRV_.mjs +10 -0
  37. package/browser/fesm2022/cms-browser-taon-cms-backoffice.component.ts.pl-PL.i18n.data-Bly4iRV_.mjs.map +1 -0
  38. package/browser/fesm2022/cms-browser-taon-cms-backoffice.routes.ts.de-DE.i18n.data-DF2t3FGq.mjs +31 -0
  39. package/browser/fesm2022/cms-browser-taon-cms-backoffice.routes.ts.de-DE.i18n.data-DF2t3FGq.mjs.map +1 -0
  40. package/browser/fesm2022/cms-browser-taon-cms-backoffice.routes.ts.en-US.i18n.data-HaVV1PUK.mjs +31 -0
  41. package/browser/fesm2022/cms-browser-taon-cms-backoffice.routes.ts.en-US.i18n.data-HaVV1PUK.mjs.map +1 -0
  42. package/browser/fesm2022/cms-browser-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-CM8U1Jru.mjs +31 -0
  43. package/browser/fesm2022/cms-browser-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-CM8U1Jru.mjs.map +1 -0
  44. package/browser/fesm2022/cms-browser-taon-cms-category.controller.ts.de-DE.i18n.data-CmIHY-Qb.mjs +16 -0
  45. package/browser/fesm2022/cms-browser-taon-cms-category.controller.ts.de-DE.i18n.data-CmIHY-Qb.mjs.map +1 -0
  46. package/browser/fesm2022/cms-browser-taon-cms-category.controller.ts.en-US.i18n.data-B3p2KGMd.mjs +16 -0
  47. package/browser/fesm2022/cms-browser-taon-cms-category.controller.ts.en-US.i18n.data-B3p2KGMd.mjs.map +1 -0
  48. package/browser/fesm2022/cms-browser-taon-cms-category.controller.ts.pl-PL.i18n.data-BmIn1qix.mjs +16 -0
  49. package/browser/fesm2022/cms-browser-taon-cms-category.controller.ts.pl-PL.i18n.data-BmIn1qix.mjs.map +1 -0
  50. package/browser/fesm2022/cms-browser-taon-cms-category.repository.ts.de-DE.i18n.data-zcPs4FvI.mjs +26 -0
  51. package/browser/fesm2022/cms-browser-taon-cms-category.repository.ts.de-DE.i18n.data-zcPs4FvI.mjs.map +1 -0
  52. package/browser/fesm2022/cms-browser-taon-cms-category.repository.ts.en-US.i18n.data-DAaZJ_9F.mjs +26 -0
  53. package/browser/fesm2022/cms-browser-taon-cms-category.repository.ts.en-US.i18n.data-DAaZJ_9F.mjs.map +1 -0
  54. package/browser/fesm2022/cms-browser-taon-cms-category.repository.ts.pl-PL.i18n.data-CVvSGHBy.mjs +26 -0
  55. package/browser/fesm2022/cms-browser-taon-cms-category.repository.ts.pl-PL.i18n.data-CVvSGHBy.mjs.map +1 -0
  56. package/browser/fesm2022/cms-browser-taon-cms-post-details-page.component.ts.de-DE.i18n.data-DcMMeJhf.mjs +16 -0
  57. package/browser/fesm2022/cms-browser-taon-cms-post-details-page.component.ts.de-DE.i18n.data-DcMMeJhf.mjs.map +1 -0
  58. package/browser/fesm2022/cms-browser-taon-cms-post-details-page.component.ts.en-US.i18n.data-Gx0bf2nC.mjs +16 -0
  59. package/browser/fesm2022/cms-browser-taon-cms-post-details-page.component.ts.en-US.i18n.data-Gx0bf2nC.mjs.map +1 -0
  60. package/browser/fesm2022/cms-browser-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-DzObZW39.mjs +16 -0
  61. package/browser/fesm2022/cms-browser-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-DzObZW39.mjs.map +1 -0
  62. package/browser/fesm2022/cms-browser-taon-cms-post.component.html.de-DE.i18n.data-_sQHaM7p.mjs +325 -0
  63. package/browser/fesm2022/cms-browser-taon-cms-post.component.html.de-DE.i18n.data-_sQHaM7p.mjs.map +1 -0
  64. package/browser/fesm2022/cms-browser-taon-cms-post.component.html.en-US.i18n.data-CAAYTQWn.mjs +325 -0
  65. package/browser/fesm2022/cms-browser-taon-cms-post.component.html.en-US.i18n.data-CAAYTQWn.mjs.map +1 -0
  66. package/browser/fesm2022/cms-browser-taon-cms-post.component.html.pl-PL.i18n.data-5tuvjPPZ.mjs +325 -0
  67. package/browser/fesm2022/cms-browser-taon-cms-post.component.html.pl-PL.i18n.data-5tuvjPPZ.mjs.map +1 -0
  68. package/browser/fesm2022/cms-browser-taon-cms-post.component.ts.de-DE.i18n.data-PjXxw70Q.mjs +175 -0
  69. package/browser/fesm2022/cms-browser-taon-cms-post.component.ts.de-DE.i18n.data-PjXxw70Q.mjs.map +1 -0
  70. package/browser/fesm2022/cms-browser-taon-cms-post.component.ts.en-US.i18n.data-n_jdOSMO.mjs +172 -0
  71. package/browser/fesm2022/cms-browser-taon-cms-post.component.ts.en-US.i18n.data-n_jdOSMO.mjs.map +1 -0
  72. package/browser/fesm2022/cms-browser-taon-cms-post.component.ts.pl-PL.i18n.data-747DKNI9.mjs +175 -0
  73. package/browser/fesm2022/cms-browser-taon-cms-post.component.ts.pl-PL.i18n.data-747DKNI9.mjs.map +1 -0
  74. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-PTv8IVQS.mjs +21 -0
  75. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-PTv8IVQS.mjs.map +1 -0
  76. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.html.en-US.i18n.data-D1XI6u8V.mjs +21 -0
  77. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.html.en-US.i18n.data-D1XI6u8V.mjs.map +1 -0
  78. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-Sv8mvv7F.mjs +21 -0
  79. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-Sv8mvv7F.mjs.map +1 -0
  80. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-XC6VHQ4p.mjs +70 -0
  81. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-XC6VHQ4p.mjs.map +1 -0
  82. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-DdTJ6jBq.mjs +70 -0
  83. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-DdTJ6jBq.mjs.map +1 -0
  84. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-VmJCCpyW.mjs +70 -0
  85. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-VmJCCpyW.mjs.map +1 -0
  86. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-DR3QDl8i.mjs +21 -0
  87. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-DR3QDl8i.mjs.map +1 -0
  88. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-BMHc1eXs.mjs +21 -0
  89. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-BMHc1eXs.mjs.map +1 -0
  90. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-D6vB4Elu.mjs +21 -0
  91. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-D6vB4Elu.mjs.map +1 -0
  92. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.html.de-DE.i18n.data-0-FosMdd.mjs +71 -0
  93. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.html.de-DE.i18n.data-0-FosMdd.mjs.map +1 -0
  94. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.html.en-US.i18n.data-CdG7f6f1.mjs +71 -0
  95. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.html.en-US.i18n.data-CdG7f6f1.mjs.map +1 -0
  96. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-BRJitr3A.mjs +71 -0
  97. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-BRJitr3A.mjs.map +1 -0
  98. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-BWfc44Gu.mjs +26 -0
  99. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-BWfc44Gu.mjs.map +1 -0
  100. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.ts.en-US.i18n.data-C2H_Eckx.mjs +26 -0
  101. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.ts.en-US.i18n.data-C2H_Eckx.mjs.map +1 -0
  102. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-qQEyNc_O.mjs +26 -0
  103. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-qQEyNc_O.mjs.map +1 -0
  104. package/browser/fesm2022/cms-browser-taon-cms-tag.controller.ts.de-DE.i18n.data-C1Dm6TEf.mjs +16 -0
  105. package/browser/fesm2022/cms-browser-taon-cms-tag.controller.ts.de-DE.i18n.data-C1Dm6TEf.mjs.map +1 -0
  106. package/browser/fesm2022/cms-browser-taon-cms-tag.controller.ts.en-US.i18n.data-B-j9Oo0W.mjs +16 -0
  107. package/browser/fesm2022/cms-browser-taon-cms-tag.controller.ts.en-US.i18n.data-B-j9Oo0W.mjs.map +1 -0
  108. package/browser/fesm2022/cms-browser-taon-cms-tag.controller.ts.pl-PL.i18n.data-1Ou1o4gZ.mjs +16 -0
  109. package/browser/fesm2022/cms-browser-taon-cms-tag.controller.ts.pl-PL.i18n.data-1Ou1o4gZ.mjs.map +1 -0
  110. package/browser/fesm2022/cms-browser-taon-cms-tag.repository.ts.de-DE.i18n.data-DhAUtQSa.mjs +21 -0
  111. package/browser/fesm2022/cms-browser-taon-cms-tag.repository.ts.de-DE.i18n.data-DhAUtQSa.mjs.map +1 -0
  112. package/browser/fesm2022/cms-browser-taon-cms-tag.repository.ts.en-US.i18n.data-Dq7PnSmq.mjs +21 -0
  113. package/browser/fesm2022/cms-browser-taon-cms-tag.repository.ts.en-US.i18n.data-Dq7PnSmq.mjs.map +1 -0
  114. package/browser/fesm2022/cms-browser-taon-cms-tag.repository.ts.pl-PL.i18n.data-CsT5vExK.mjs +21 -0
  115. package/browser/fesm2022/cms-browser-taon-cms-tag.repository.ts.pl-PL.i18n.data-CsT5vExK.mjs.map +1 -0
  116. package/browser/fesm2022/cms-browser-taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data-DX6YHkgg.mjs +91 -0
  117. package/browser/fesm2022/cms-browser-taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data-DX6YHkgg.mjs.map +1 -0
  118. package/browser/fesm2022/cms-browser-taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data-Ccmf9_pZ.mjs +91 -0
  119. package/browser/fesm2022/cms-browser-taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data-Ccmf9_pZ.mjs.map +1 -0
  120. package/browser/fesm2022/cms-browser-taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data-B849p720.mjs +91 -0
  121. package/browser/fesm2022/cms-browser-taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data-B849p720.mjs.map +1 -0
  122. package/browser/fesm2022/cms-browser-taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data-BQYY3Beh.mjs +76 -0
  123. package/browser/fesm2022/cms-browser-taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data-BQYY3Beh.mjs.map +1 -0
  124. package/browser/fesm2022/cms-browser-taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data-BS97U_dV.mjs +76 -0
  125. package/browser/fesm2022/cms-browser-taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data-BS97U_dV.mjs.map +1 -0
  126. package/browser/fesm2022/cms-browser-taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data-DkguMZ1c.mjs +76 -0
  127. package/browser/fesm2022/cms-browser-taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data-DkguMZ1c.mjs.map +1 -0
  128. package/browser/fesm2022/cms-browser-taon-cms-taxonomy.validation.ts.de-DE.i18n.data-7qzkXXtn.mjs +26 -0
  129. package/browser/fesm2022/cms-browser-taon-cms-taxonomy.validation.ts.de-DE.i18n.data-7qzkXXtn.mjs.map +1 -0
  130. package/browser/fesm2022/cms-browser-taon-cms-taxonomy.validation.ts.en-US.i18n.data-D1eP5S95.mjs +26 -0
  131. package/browser/fesm2022/cms-browser-taon-cms-taxonomy.validation.ts.en-US.i18n.data-D1eP5S95.mjs.map +1 -0
  132. package/browser/fesm2022/cms-browser-taon-cms-taxonomy.validation.ts.pl-PL.i18n.data-Cc6hut5r.mjs +26 -0
  133. package/browser/fesm2022/cms-browser-taon-cms-taxonomy.validation.ts.pl-PL.i18n.data-Cc6hut5r.mjs.map +1 -0
  134. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.html.de-DE.i18n.data-D0T-rq7s.mjs +46 -0
  135. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.html.de-DE.i18n.data-D0T-rq7s.mjs.map +1 -0
  136. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.html.en-US.i18n.data-mZeFTFaF.mjs +46 -0
  137. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.html.en-US.i18n.data-mZeFTFaF.mjs.map +1 -0
  138. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.html.pl-PL.i18n.data-D7X5-yeN.mjs +46 -0
  139. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.html.pl-PL.i18n.data-D7X5-yeN.mjs.map +1 -0
  140. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.ts.de-DE.i18n.data-D2tZ4gOm.mjs +21 -0
  141. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.ts.de-DE.i18n.data-D2tZ4gOm.mjs.map +1 -0
  142. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.ts.en-US.i18n.data-B5vaympv.mjs +21 -0
  143. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.ts.en-US.i18n.data-B5vaympv.mjs.map +1 -0
  144. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.ts.pl-PL.i18n.data-CZxR2iCt.mjs +21 -0
  145. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.ts.pl-PL.i18n.data-CZxR2iCt.mjs.map +1 -0
  146. package/browser/fesm2022/cms-browser.mjs +2754 -542
  147. package/browser/fesm2022/cms-browser.mjs.map +1 -1
  148. package/browser/package.json +1 -1
  149. package/browser/types/cms-browser.d.ts +395 -145
  150. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-Cnee0qF_.mjs +31 -0
  151. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-Cnee0qF_.mjs.map +1 -0
  152. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.html.en-US.i18n.data-BnfBa5FP.mjs +31 -0
  153. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.html.en-US.i18n.data-BnfBa5FP.mjs.map +1 -0
  154. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-CI9R_TWY.mjs +31 -0
  155. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-CI9R_TWY.mjs.map +1 -0
  156. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-CuJ1DFEy.mjs +21 -0
  157. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-CuJ1DFEy.mjs.map +1 -0
  158. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.ts.en-US.i18n.data-COrEvH90.mjs +21 -0
  159. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.ts.en-US.i18n.data-COrEvH90.mjs.map +1 -0
  160. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-IX85Hp7B.mjs +21 -0
  161. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-IX85Hp7B.mjs.map +1 -0
  162. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-DJo4v6QY.mjs +26 -0
  163. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-DJo4v6QY.mjs.map +1 -0
  164. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.html.en-US.i18n.data-B866wa9u.mjs +26 -0
  165. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.html.en-US.i18n.data-B866wa9u.mjs.map +1 -0
  166. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-BY-OWFhb.mjs +26 -0
  167. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-BY-OWFhb.mjs.map +1 -0
  168. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-CsC2V1RP.mjs +26 -0
  169. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-CsC2V1RP.mjs.map +1 -0
  170. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-CDumPCL3.mjs +26 -0
  171. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-CDumPCL3.mjs.map +1 -0
  172. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-CnlTu58H.mjs +26 -0
  173. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-CnlTu58H.mjs.map +1 -0
  174. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.component.html.de-DE.i18n.data-CqIu3bBE.mjs +16 -0
  175. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.component.html.de-DE.i18n.data-CqIu3bBE.mjs.map +1 -0
  176. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.component.html.en-US.i18n.data-q7WqXEJw.mjs +16 -0
  177. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.component.html.en-US.i18n.data-q7WqXEJw.mjs.map +1 -0
  178. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.component.html.pl-PL.i18n.data-BSwBNQpH.mjs +16 -0
  179. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.component.html.pl-PL.i18n.data-BSwBNQpH.mjs.map +1 -0
  180. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.component.ts.de-DE.i18n.data-CvbuuDAa.mjs +10 -0
  181. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.component.ts.de-DE.i18n.data-CvbuuDAa.mjs.map +1 -0
  182. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.component.ts.en-US.i18n.data-BdhGIeUK.mjs +10 -0
  183. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.component.ts.en-US.i18n.data-BdhGIeUK.mjs.map +1 -0
  184. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.component.ts.pl-PL.i18n.data-BVwuFYPF.mjs +10 -0
  185. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.component.ts.pl-PL.i18n.data-BVwuFYPF.mjs.map +1 -0
  186. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-BbCjJoVh.mjs +31 -0
  187. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-BbCjJoVh.mjs.map +1 -0
  188. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-BUBi6h_q.mjs +31 -0
  189. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-BUBi6h_q.mjs.map +1 -0
  190. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-BJ03B4ix.mjs +31 -0
  191. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-BJ03B4ix.mjs.map +1 -0
  192. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.controller.ts.de-DE.i18n.data-CDUBs36X.mjs +16 -0
  193. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.controller.ts.de-DE.i18n.data-CDUBs36X.mjs.map +1 -0
  194. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.controller.ts.en-US.i18n.data-Ckuw2o-a.mjs +16 -0
  195. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.controller.ts.en-US.i18n.data-Ckuw2o-a.mjs.map +1 -0
  196. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.controller.ts.pl-PL.i18n.data-CP8q0EDA.mjs +16 -0
  197. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.controller.ts.pl-PL.i18n.data-CP8q0EDA.mjs.map +1 -0
  198. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.repository.ts.de-DE.i18n.data-BAt9wXhq.mjs +26 -0
  199. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.repository.ts.de-DE.i18n.data-BAt9wXhq.mjs.map +1 -0
  200. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.repository.ts.en-US.i18n.data-DEDAUHCN.mjs +26 -0
  201. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.repository.ts.en-US.i18n.data-DEDAUHCN.mjs.map +1 -0
  202. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.repository.ts.pl-PL.i18n.data-vfVCRZ0l.mjs +26 -0
  203. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.repository.ts.pl-PL.i18n.data-vfVCRZ0l.mjs.map +1 -0
  204. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-details-page.component.ts.de-DE.i18n.data-CCMZ2Grc.mjs +16 -0
  205. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-details-page.component.ts.de-DE.i18n.data-CCMZ2Grc.mjs.map +1 -0
  206. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-details-page.component.ts.en-US.i18n.data-CfETMKWw.mjs +16 -0
  207. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-details-page.component.ts.en-US.i18n.data-CfETMKWw.mjs.map +1 -0
  208. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-BJUC-bxd.mjs +16 -0
  209. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-BJUC-bxd.mjs.map +1 -0
  210. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.de-DE.i18n.data-BaPmxkoJ.mjs +325 -0
  211. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.de-DE.i18n.data-BaPmxkoJ.mjs.map +1 -0
  212. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.en-US.i18n.data-WYUL_IjF.mjs +325 -0
  213. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.en-US.i18n.data-WYUL_IjF.mjs.map +1 -0
  214. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.pl-PL.i18n.data-B1zLXqUZ.mjs +325 -0
  215. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.pl-PL.i18n.data-B1zLXqUZ.mjs.map +1 -0
  216. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.de-DE.i18n.data-qu1MSO3K.mjs +175 -0
  217. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.de-DE.i18n.data-qu1MSO3K.mjs.map +1 -0
  218. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.en-US.i18n.data-CbSJQ1ae.mjs +172 -0
  219. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.en-US.i18n.data-CbSJQ1ae.mjs.map +1 -0
  220. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.pl-PL.i18n.data-8FEfL47i.mjs +175 -0
  221. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.pl-PL.i18n.data-8FEfL47i.mjs.map +1 -0
  222. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-_vYyLJO0.mjs +21 -0
  223. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-_vYyLJO0.mjs.map +1 -0
  224. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.html.en-US.i18n.data-C7o8B-38.mjs +21 -0
  225. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.html.en-US.i18n.data-C7o8B-38.mjs.map +1 -0
  226. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-DHsO0ILx.mjs +21 -0
  227. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-DHsO0ILx.mjs.map +1 -0
  228. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-B6oI0NXX.mjs +70 -0
  229. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-B6oI0NXX.mjs.map +1 -0
  230. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-CE7oFpqW.mjs +70 -0
  231. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-CE7oFpqW.mjs.map +1 -0
  232. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-DN7jpzXv.mjs +70 -0
  233. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-DN7jpzXv.mjs.map +1 -0
  234. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-CvRKVC5m.mjs +21 -0
  235. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-CvRKVC5m.mjs.map +1 -0
  236. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-BGx0VfEv.mjs +21 -0
  237. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-BGx0VfEv.mjs.map +1 -0
  238. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-CJyoZejS.mjs +21 -0
  239. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-CJyoZejS.mjs.map +1 -0
  240. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.html.de-DE.i18n.data-jYWuVaax.mjs +71 -0
  241. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.html.de-DE.i18n.data-jYWuVaax.mjs.map +1 -0
  242. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.html.en-US.i18n.data-NF4fmGLN.mjs +71 -0
  243. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.html.en-US.i18n.data-NF4fmGLN.mjs.map +1 -0
  244. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-C5g2G3jI.mjs +71 -0
  245. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-C5g2G3jI.mjs.map +1 -0
  246. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-BfluLtxD.mjs +26 -0
  247. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-BfluLtxD.mjs.map +1 -0
  248. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.ts.en-US.i18n.data-CiAd1cu4.mjs +26 -0
  249. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.ts.en-US.i18n.data-CiAd1cu4.mjs.map +1 -0
  250. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-C2pNRLNK.mjs +26 -0
  251. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-C2pNRLNK.mjs.map +1 -0
  252. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.controller.ts.de-DE.i18n.data-mHMHPrI-.mjs +16 -0
  253. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.controller.ts.de-DE.i18n.data-mHMHPrI-.mjs.map +1 -0
  254. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.controller.ts.en-US.i18n.data-3oxZelGB.mjs +16 -0
  255. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.controller.ts.en-US.i18n.data-3oxZelGB.mjs.map +1 -0
  256. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.controller.ts.pl-PL.i18n.data-z6ufNE6q.mjs +16 -0
  257. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.controller.ts.pl-PL.i18n.data-z6ufNE6q.mjs.map +1 -0
  258. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.repository.ts.de-DE.i18n.data-CY1yB1IT.mjs +21 -0
  259. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.repository.ts.de-DE.i18n.data-CY1yB1IT.mjs.map +1 -0
  260. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.repository.ts.en-US.i18n.data-StHinq7f.mjs +21 -0
  261. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.repository.ts.en-US.i18n.data-StHinq7f.mjs.map +1 -0
  262. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.repository.ts.pl-PL.i18n.data-DYbKxB3P.mjs +21 -0
  263. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.repository.ts.pl-PL.i18n.data-DYbKxB3P.mjs.map +1 -0
  264. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data-DJmJnTy1.mjs +91 -0
  265. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data-DJmJnTy1.mjs.map +1 -0
  266. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data-B9egtKwh.mjs +91 -0
  267. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data-B9egtKwh.mjs.map +1 -0
  268. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data-DSWzgw_0.mjs +91 -0
  269. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data-DSWzgw_0.mjs.map +1 -0
  270. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data-CCcCm4XG.mjs +76 -0
  271. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data-CCcCm4XG.mjs.map +1 -0
  272. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data-DOFKJuxr.mjs +76 -0
  273. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data-DOFKJuxr.mjs.map +1 -0
  274. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data-DUfeE0cw.mjs +76 -0
  275. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data-DUfeE0cw.mjs.map +1 -0
  276. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-taxonomy.validation.ts.de-DE.i18n.data-CEKXSxan.mjs +26 -0
  277. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-taxonomy.validation.ts.de-DE.i18n.data-CEKXSxan.mjs.map +1 -0
  278. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-taxonomy.validation.ts.en-US.i18n.data-BjGkpdq6.mjs +26 -0
  279. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-taxonomy.validation.ts.en-US.i18n.data-BjGkpdq6.mjs.map +1 -0
  280. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-taxonomy.validation.ts.pl-PL.i18n.data-CzWbeuv5.mjs +26 -0
  281. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-taxonomy.validation.ts.pl-PL.i18n.data-CzWbeuv5.mjs.map +1 -0
  282. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.html.de-DE.i18n.data-ByAMAthp.mjs +46 -0
  283. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.html.de-DE.i18n.data-ByAMAthp.mjs.map +1 -0
  284. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.html.en-US.i18n.data-BN-WdlzW.mjs +46 -0
  285. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.html.en-US.i18n.data-BN-WdlzW.mjs.map +1 -0
  286. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.html.pl-PL.i18n.data-DzGNKH0I.mjs +46 -0
  287. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.html.pl-PL.i18n.data-DzGNKH0I.mjs.map +1 -0
  288. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.ts.de-DE.i18n.data-CeRmjGOX.mjs +21 -0
  289. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.ts.de-DE.i18n.data-CeRmjGOX.mjs.map +1 -0
  290. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.ts.en-US.i18n.data-CNpn80st.mjs +21 -0
  291. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.ts.en-US.i18n.data-CNpn80st.mjs.map +1 -0
  292. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.ts.pl-PL.i18n.data-BL0v395O.mjs +21 -0
  293. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.ts.pl-PL.i18n.data-BL0v395O.mjs.map +1 -0
  294. package/browser-prod/fesm2022/cms-browser-prod.mjs +2675 -463
  295. package/browser-prod/fesm2022/cms-browser-prod.mjs.map +1 -1
  296. package/browser-prod/package.json +1 -1
  297. package/browser-prod/types/cms-browser-prod.d.ts +395 -145
  298. package/full-dts/build-info._auto-generated_.d.ts +1 -1
  299. package/full-dts/decorators/taon-cms-authorization.d.ts +4 -0
  300. package/full-dts/index._auto-generated_.d.ts +6 -1
  301. package/full-dts/migrations/1792579000000_postPermissionInheritance.d.ts +7 -0
  302. package/full-dts/migrations/1793043000000_postThumbnails.d.ts +7 -0
  303. package/full-dts/migrations/index.d.ts +10 -1
  304. package/full-dts/migrations/migrations_index._auto-generated_.d.ts +4 -0
  305. package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.d.ts +20 -0
  306. package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.d.ts +20 -0
  307. package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.d.ts +20 -0
  308. package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.d.ts +18 -0
  309. package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.d.ts +18 -0
  310. package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.d.ts +18 -0
  311. package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.d.ts +19 -0
  312. package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.d.ts +19 -0
  313. package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.d.ts +19 -0
  314. package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.d.ts +19 -0
  315. package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.d.ts +19 -0
  316. package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.d.ts +19 -0
  317. package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.d.ts +15 -0
  318. package/full-dts/taon-cms-assets-backoffice/taon-cms-asset-preview.component.d.ts +17 -0
  319. package/full-dts/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.d.ts +15 -6
  320. package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.d.ts +17 -0
  321. package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.d.ts +17 -0
  322. package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.d.ts +17 -0
  323. package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.d.ts +9 -0
  324. package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.d.ts +9 -0
  325. package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.d.ts +9 -0
  326. package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.d.ts +20 -0
  327. package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.d.ts +20 -0
  328. package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.d.ts +20 -0
  329. package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.d.ts +12 -0
  330. package/full-dts/taon-cms-backoffice/taon-cms-backoffice.component.d.ts +2 -0
  331. package/full-dts/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.d.ts +17 -0
  332. package/full-dts/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.d.ts +17 -0
  333. package/full-dts/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.d.ts +17 -0
  334. package/full-dts/taon-cms-category/i18n/taon-cms-category.repository.ts.de-DE.i18n.data.d.ts +19 -0
  335. package/full-dts/taon-cms-category/i18n/taon-cms-category.repository.ts.en-US.i18n.data.d.ts +19 -0
  336. package/full-dts/taon-cms-category/i18n/taon-cms-category.repository.ts.pl-PL.i18n.data.d.ts +19 -0
  337. package/full-dts/taon-cms-category/i18n/taon-cms-category.translation.d.ts +12 -0
  338. package/full-dts/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.de-DE.i18n.data.d.ts +19 -0
  339. package/full-dts/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.en-US.i18n.data.d.ts +19 -0
  340. package/full-dts/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.pl-PL.i18n.data.d.ts +19 -0
  341. package/full-dts/taon-cms-category/taon-cms-category-api.service.d.ts +3 -0
  342. package/full-dts/taon-cms-category/taon-cms-category.controller.d.ts +7 -1
  343. package/full-dts/taon-cms-category/taon-cms-category.repository.d.ts +3 -0
  344. package/full-dts/taon-cms-category/taon-cms-taxonomy.validation.d.ts +15 -0
  345. package/full-dts/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.d.ts +17 -0
  346. package/full-dts/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.d.ts +17 -0
  347. package/full-dts/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.d.ts +17 -0
  348. package/full-dts/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.d.ts +22 -0
  349. package/full-dts/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.d.ts +6 -0
  350. package/full-dts/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.d.ts +6 -0
  351. package/full-dts/taon-cms-content/i18n/taon-cms-content.translation.d.ts +5 -1
  352. package/full-dts/taon-cms-content/taon-cms-content-api.service.d.ts +21 -2
  353. package/full-dts/taon-cms-content/taon-cms-content-storage.controller.d.ts +24 -4
  354. package/full-dts/taon-cms-content/taon-cms-content.controller.d.ts +15 -1
  355. package/full-dts/taon-cms-content/taon-cms-content.entity.d.ts +2 -0
  356. package/full-dts/taon-cms-content/taon-cms-content.models.d.ts +10 -0
  357. package/full-dts/taon-cms-content/taon-cms-content.repository.d.ts +11 -1
  358. package/full-dts/taon-cms-content/taon-cms-upload-progress.d.ts +2 -0
  359. package/full-dts/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.d.ts +17 -0
  360. package/full-dts/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.d.ts +17 -0
  361. package/full-dts/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.d.ts +17 -0
  362. package/full-dts/taon-cms-tag/i18n/taon-cms-tag.repository.ts.de-DE.i18n.data.d.ts +18 -0
  363. package/full-dts/taon-cms-tag/i18n/taon-cms-tag.repository.ts.en-US.i18n.data.d.ts +18 -0
  364. package/full-dts/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.d.ts +18 -0
  365. package/full-dts/taon-cms-tag/i18n/taon-cms-tag.translation.d.ts +9 -0
  366. package/full-dts/taon-cms-tag/taon-cms-tag-api.service.d.ts +6 -0
  367. package/full-dts/taon-cms-tag/taon-cms-tag.controller.d.ts +7 -1
  368. package/full-dts/taon-cms-tag/taon-cms-tag.repository.d.ts +3 -0
  369. package/full-dts/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data.d.ts +32 -0
  370. package/full-dts/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data.d.ts +32 -0
  371. package/full-dts/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data.d.ts +32 -0
  372. package/full-dts/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data.d.ts +28 -0
  373. package/full-dts/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data.d.ts +28 -0
  374. package/full-dts/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data.d.ts +28 -0
  375. package/full-dts/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.translation.d.ts +9 -0
  376. package/full-dts/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.d.ts +48 -0
  377. package/full-dts/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.routes.d.ts +4 -0
  378. package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.d.ts +74 -0
  379. package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.d.ts +74 -0
  380. package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.d.ts +74 -0
  381. package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.d.ts +52 -0
  382. package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.d.ts +52 -0
  383. package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.d.ts +52 -0
  384. package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.d.ts +9 -0
  385. package/full-dts/taon-posts/taon-cms-post/taon-cms-post.component.d.ts +58 -6
  386. package/full-dts/taon-posts/taon-cms-post/taon-cms-post.models.d.ts +2 -1
  387. package/full-dts/taon-posts/taon-cms-post/taon-cms-thumbnail.d.ts +6 -0
  388. package/full-dts/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.i18n.data.d.ts +17 -0
  389. package/full-dts/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.en-US.i18n.data.d.ts +17 -0
  390. package/full-dts/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.i18n.data.d.ts +17 -0
  391. package/full-dts/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.d.ts +6 -0
  392. package/full-dts/taon-posts/taon-cms-post-details-page/taon-cms-post-details-page.component.d.ts +11 -1
  393. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.d.ts +18 -0
  394. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.d.ts +18 -0
  395. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.d.ts +18 -0
  396. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.d.ts +32 -0
  397. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.d.ts +32 -0
  398. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.d.ts +32 -0
  399. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.d.ts +18 -0
  400. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.d.ts +18 -0
  401. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.d.ts +18 -0
  402. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.d.ts +12 -0
  403. package/full-dts/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.d.ts +5 -3
  404. package/full-dts/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.d.ts +27 -0
  405. package/full-dts/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.d.ts +27 -0
  406. package/full-dts/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.d.ts +27 -0
  407. package/full-dts/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.d.ts +19 -0
  408. package/full-dts/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.d.ts +19 -0
  409. package/full-dts/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.d.ts +19 -0
  410. package/full-dts/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.d.ts +9 -0
  411. package/full-dts/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.d.ts +3 -0
  412. package/full-dts/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.d.ts +22 -0
  413. package/full-dts/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.d.ts +22 -0
  414. package/full-dts/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.d.ts +22 -0
  415. package/full-dts/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.d.ts +18 -0
  416. package/full-dts/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.d.ts +18 -0
  417. package/full-dts/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.d.ts +18 -0
  418. package/full-dts/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.d.ts +9 -0
  419. package/full-dts/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.d.ts +2 -0
  420. package/html/app/baseline-backoffice/taon-baseline-backoffice.component.html +2 -2
  421. package/html/app/cms-example/cms-example.component.html +1 -1
  422. package/html/app/session-example/session-example.component.html +1 -1
  423. package/html/lib/taon-cms-assets-backoffice/taon-cms-asset-preview.component.html +44 -0
  424. package/html/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html +29 -0
  425. package/html/lib/taon-cms-backoffice/taon-cms-backoffice.component.html +3 -1
  426. package/html/lib/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.html +104 -0
  427. package/html/lib/taon-posts/taon-cms-post/taon-cms-post.component.html +518 -92
  428. package/html/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.html +2 -2
  429. package/html/lib/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.html +55 -14
  430. package/html/lib/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.html +40 -11
  431. package/i18n/app.ts.de-DE.i18n.data.d.ts +38 -0
  432. package/i18n/app.ts.de-DE.i18n.data.js +2 -0
  433. package/i18n/app.ts.de-DE.i18n.data.js.map +1 -0
  434. package/i18n/app.ts.en-US.i18n.data.d.ts +10 -0
  435. package/i18n/app.ts.pl-PL.i18n.data.d.ts +10 -0
  436. package/i18n/src.translation.d.ts +2 -1
  437. package/lib/build-info._auto-generated_.d.ts +1 -1
  438. package/lib/build-info._auto-generated_.js +1 -1
  439. package/lib/decorators/taon-cms-authorization.d.ts +4 -0
  440. package/lib/decorators/taon-cms-authorization.js +10 -0
  441. package/lib/decorators/taon-cms-authorization.js.map +1 -1
  442. package/lib/index._auto-generated_.d.ts +3 -0
  443. package/lib/index._auto-generated_.js +6 -1
  444. package/lib/index._auto-generated_.js.map +1 -1
  445. package/lib/migrations/1792579000000_postPermissionInheritance.d.ts +6 -0
  446. package/lib/migrations/1792579000000_postPermissionInheritance.js +37 -0
  447. package/lib/migrations/1792579000000_postPermissionInheritance.js.map +1 -0
  448. package/lib/migrations/1793043000000_postThumbnails.d.ts +6 -0
  449. package/lib/migrations/1793043000000_postThumbnails.js +35 -0
  450. package/lib/migrations/1793043000000_postThumbnails.js.map +1 -0
  451. package/lib/migrations/index.d.ts +9 -0
  452. package/lib/migrations/index.js +11 -0
  453. package/lib/migrations/index.js.map +1 -1
  454. package/lib/migrations/migrations_index._auto-generated_.d.ts +4 -0
  455. package/lib/migrations/migrations_index._auto-generated_.js +4 -0
  456. package/lib/migrations/migrations_index._auto-generated_.js.map +1 -1
  457. package/lib/package.json +1 -1
  458. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.d.ts +19 -0
  459. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.js +31 -0
  460. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.js.map +1 -0
  461. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.d.ts +19 -0
  462. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.js +31 -0
  463. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.js.map +1 -0
  464. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.d.ts +19 -0
  465. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.js +31 -0
  466. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.js.map +1 -0
  467. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.d.ts +17 -0
  468. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.js +21 -0
  469. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.js.map +1 -0
  470. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.d.ts +17 -0
  471. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.js +21 -0
  472. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.js.map +1 -0
  473. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.d.ts +17 -0
  474. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.js +21 -0
  475. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.js.map +1 -0
  476. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.d.ts +18 -0
  477. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.js +26 -0
  478. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
  479. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.d.ts +18 -0
  480. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.js +26 -0
  481. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.js.map +1 -0
  482. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.d.ts +18 -0
  483. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.js +26 -0
  484. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
  485. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.d.ts +18 -0
  486. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.js +26 -0
  487. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
  488. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.d.ts +18 -0
  489. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.js +26 -0
  490. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
  491. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.d.ts +18 -0
  492. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.js +26 -0
  493. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
  494. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.d.ts +14 -0
  495. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.js +5 -0
  496. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.js.map +1 -0
  497. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.d.ts +16 -0
  498. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.js +16 -0
  499. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
  500. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.d.ts +16 -0
  501. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.js +16 -0
  502. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.js.map +1 -0
  503. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.d.ts +16 -0
  504. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.js +16 -0
  505. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
  506. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.d.ts +8 -0
  507. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.js +10 -0
  508. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
  509. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.d.ts +8 -0
  510. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.js +10 -0
  511. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
  512. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.d.ts +8 -0
  513. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.js +10 -0
  514. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
  515. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.d.ts +19 -0
  516. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.js +31 -0
  517. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.js.map +1 -0
  518. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.d.ts +19 -0
  519. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.js +31 -0
  520. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.js.map +1 -0
  521. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.d.ts +19 -0
  522. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.js +31 -0
  523. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.js.map +1 -0
  524. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.d.ts +11 -0
  525. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.js +5 -0
  526. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.js.map +1 -0
  527. package/lib/taon-cms-backoffice/index.d.ts +1 -1
  528. package/lib/taon-cms-backoffice/index.js +2 -2
  529. package/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.d.ts +16 -0
  530. package/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.js +16 -0
  531. package/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.js.map +1 -0
  532. package/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.d.ts +16 -0
  533. package/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.js +16 -0
  534. package/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.js.map +1 -0
  535. package/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.d.ts +16 -0
  536. package/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.js +16 -0
  537. package/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.js.map +1 -0
  538. package/lib/taon-cms-category/i18n/taon-cms-category.repository.ts.de-DE.i18n.data.d.ts +18 -0
  539. package/lib/taon-cms-category/i18n/taon-cms-category.repository.ts.de-DE.i18n.data.js +26 -0
  540. package/lib/taon-cms-category/i18n/taon-cms-category.repository.ts.de-DE.i18n.data.js.map +1 -0
  541. package/lib/taon-cms-category/i18n/taon-cms-category.repository.ts.en-US.i18n.data.d.ts +18 -0
  542. package/lib/taon-cms-category/i18n/taon-cms-category.repository.ts.en-US.i18n.data.js +26 -0
  543. package/lib/taon-cms-category/i18n/taon-cms-category.repository.ts.en-US.i18n.data.js.map +1 -0
  544. package/lib/taon-cms-category/i18n/taon-cms-category.repository.ts.pl-PL.i18n.data.d.ts +18 -0
  545. package/lib/taon-cms-category/i18n/taon-cms-category.repository.ts.pl-PL.i18n.data.js +26 -0
  546. package/lib/taon-cms-category/i18n/taon-cms-category.repository.ts.pl-PL.i18n.data.js.map +1 -0
  547. package/lib/taon-cms-category/i18n/taon-cms-category.translation.d.ts +11 -0
  548. package/lib/taon-cms-category/i18n/taon-cms-category.translation.js +5 -0
  549. package/lib/taon-cms-category/i18n/taon-cms-category.translation.js.map +1 -0
  550. package/lib/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.de-DE.i18n.data.d.ts +18 -0
  551. package/lib/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.de-DE.i18n.data.js +26 -0
  552. package/lib/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.de-DE.i18n.data.js.map +1 -0
  553. package/lib/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.en-US.i18n.data.d.ts +18 -0
  554. package/lib/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.en-US.i18n.data.js +26 -0
  555. package/lib/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.en-US.i18n.data.js.map +1 -0
  556. package/lib/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.pl-PL.i18n.data.d.ts +18 -0
  557. package/lib/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.pl-PL.i18n.data.js +26 -0
  558. package/lib/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.pl-PL.i18n.data.js.map +1 -0
  559. package/lib/taon-cms-category/taon-cms-category.controller.d.ts +7 -1
  560. package/lib/taon-cms-category/taon-cms-category.controller.js +46 -1
  561. package/lib/taon-cms-category/taon-cms-category.controller.js.map +1 -1
  562. package/lib/taon-cms-category/taon-cms-category.repository.d.ts +3 -0
  563. package/lib/taon-cms-category/taon-cms-category.repository.js +57 -0
  564. package/lib/taon-cms-category/taon-cms-category.repository.js.map +1 -1
  565. package/lib/taon-cms-category/taon-cms-taxonomy.validation.d.ts +14 -0
  566. package/lib/taon-cms-category/taon-cms-taxonomy.validation.js +36 -0
  567. package/lib/taon-cms-category/taon-cms-taxonomy.validation.js.map +1 -0
  568. package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.d.ts +16 -0
  569. package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.js +16 -0
  570. package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.js.map +1 -0
  571. package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.d.ts +16 -0
  572. package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.js +16 -0
  573. package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.js.map +1 -0
  574. package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.d.ts +16 -0
  575. package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.js +16 -0
  576. package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.js.map +1 -0
  577. package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.d.ts +21 -0
  578. package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.js +41 -0
  579. package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.js.map +1 -0
  580. package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.d.ts +6 -0
  581. package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.js +27 -1
  582. package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.js.map +1 -1
  583. package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.d.ts +6 -0
  584. package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.js +27 -1
  585. package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.js.map +1 -1
  586. package/lib/taon-cms-content/i18n/taon-cms-content.translation.d.ts +5 -1
  587. package/lib/taon-cms-content/i18n/taon-cms-content.translation.js.map +1 -1
  588. package/lib/taon-cms-content/taon-cms-content-storage.controller.d.ts +24 -4
  589. package/lib/taon-cms-content/taon-cms-content-storage.controller.js +103 -10
  590. package/lib/taon-cms-content/taon-cms-content-storage.controller.js.map +1 -1
  591. package/lib/taon-cms-content/taon-cms-content.constants.js +1 -0
  592. package/lib/taon-cms-content/taon-cms-content.constants.js.map +1 -1
  593. package/lib/taon-cms-content/taon-cms-content.controller.d.ts +15 -1
  594. package/lib/taon-cms-content/taon-cms-content.controller.js +280 -4
  595. package/lib/taon-cms-content/taon-cms-content.controller.js.map +1 -1
  596. package/lib/taon-cms-content/taon-cms-content.entity.d.ts +2 -0
  597. package/lib/taon-cms-content/taon-cms-content.entity.js +18 -0
  598. package/lib/taon-cms-content/taon-cms-content.entity.js.map +1 -1
  599. package/lib/taon-cms-content/taon-cms-content.models.d.ts +11 -1
  600. package/lib/taon-cms-content/taon-cms-content.models.js.map +1 -1
  601. package/lib/taon-cms-content/taon-cms-content.repository.d.ts +11 -1
  602. package/lib/taon-cms-content/taon-cms-content.repository.js +220 -29
  603. package/lib/taon-cms-content/taon-cms-content.repository.js.map +1 -1
  604. package/lib/taon-cms-content/taon-cms-content.validation.js +10 -1
  605. package/lib/taon-cms-content/taon-cms-content.validation.js.map +1 -1
  606. package/lib/taon-cms-content/taon-cms-upload-progress.d.ts +1 -0
  607. package/lib/taon-cms-content/taon-cms-upload-progress.js +80 -0
  608. package/lib/taon-cms-content/taon-cms-upload-progress.js.map +1 -0
  609. package/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.d.ts +16 -0
  610. package/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.js +16 -0
  611. package/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.js.map +1 -0
  612. package/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.d.ts +16 -0
  613. package/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.js +16 -0
  614. package/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.js.map +1 -0
  615. package/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.d.ts +16 -0
  616. package/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.js +16 -0
  617. package/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.js.map +1 -0
  618. package/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.de-DE.i18n.data.d.ts +17 -0
  619. package/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.de-DE.i18n.data.js +21 -0
  620. package/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.de-DE.i18n.data.js.map +1 -0
  621. package/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.en-US.i18n.data.d.ts +17 -0
  622. package/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.en-US.i18n.data.js +21 -0
  623. package/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.en-US.i18n.data.js.map +1 -0
  624. package/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.d.ts +17 -0
  625. package/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.js +21 -0
  626. package/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.js.map +1 -0
  627. package/lib/taon-cms-tag/i18n/taon-cms-tag.translation.d.ts +8 -0
  628. package/lib/taon-cms-tag/i18n/taon-cms-tag.translation.js +5 -0
  629. package/lib/taon-cms-tag/i18n/taon-cms-tag.translation.js.map +1 -0
  630. package/lib/taon-cms-tag/taon-cms-tag.controller.d.ts +7 -1
  631. package/lib/taon-cms-tag/taon-cms-tag.controller.js +40 -1
  632. package/lib/taon-cms-tag/taon-cms-tag.controller.js.map +1 -1
  633. package/lib/taon-cms-tag/taon-cms-tag.repository.d.ts +3 -0
  634. package/lib/taon-cms-tag/taon-cms-tag.repository.js +45 -0
  635. package/lib/taon-cms-tag/taon-cms-tag.repository.js.map +1 -1
  636. package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data.d.ts +31 -0
  637. package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data.js +91 -0
  638. package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
  639. package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data.d.ts +31 -0
  640. package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data.js +91 -0
  641. package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data.js.map +1 -0
  642. package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data.d.ts +31 -0
  643. package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data.js +91 -0
  644. package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
  645. package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data.d.ts +27 -0
  646. package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data.js +76 -0
  647. package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
  648. package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data.d.ts +27 -0
  649. package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data.js +76 -0
  650. package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
  651. package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data.d.ts +27 -0
  652. package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data.js +76 -0
  653. package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
  654. package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.translation.d.ts +8 -0
  655. package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.translation.js +5 -0
  656. package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.translation.js.map +1 -0
  657. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.d.ts +73 -0
  658. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.js +325 -0
  659. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.js.map +1 -0
  660. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.d.ts +73 -0
  661. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.js +325 -0
  662. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.js.map +1 -0
  663. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.d.ts +73 -0
  664. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.js +325 -0
  665. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.js.map +1 -0
  666. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.d.ts +51 -0
  667. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.js +175 -0
  668. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.js.map +1 -0
  669. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.d.ts +51 -0
  670. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.js +172 -0
  671. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.js.map +1 -0
  672. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.d.ts +51 -0
  673. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.js +175 -0
  674. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.js.map +1 -0
  675. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.d.ts +8 -0
  676. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.js +5 -0
  677. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.js.map +1 -0
  678. package/lib/taon-posts/taon-cms-post/index.d.ts +1 -1
  679. package/lib/taon-posts/taon-cms-post/index.js +2 -2
  680. package/lib/taon-posts/taon-cms-post/taon-cms-post.models.d.ts +2 -1
  681. package/lib/taon-posts/taon-cms-post/taon-cms-thumbnail.d.ts +5 -0
  682. package/lib/taon-posts/taon-cms-post/taon-cms-thumbnail.js +144 -0
  683. package/lib/taon-posts/taon-cms-post/taon-cms-thumbnail.js.map +1 -0
  684. package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.i18n.data.d.ts +16 -0
  685. package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.i18n.data.js +16 -0
  686. package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.i18n.data.js.map +1 -0
  687. package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.en-US.i18n.data.d.ts +16 -0
  688. package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.en-US.i18n.data.js +16 -0
  689. package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.en-US.i18n.data.js.map +1 -0
  690. package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.i18n.data.d.ts +16 -0
  691. package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.i18n.data.js +16 -0
  692. package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.i18n.data.js.map +1 -0
  693. package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.d.ts +5 -0
  694. package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.js +5 -0
  695. package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.js.map +1 -0
  696. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.d.ts +17 -0
  697. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.js +21 -0
  698. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
  699. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.d.ts +17 -0
  700. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.js +21 -0
  701. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.js.map +1 -0
  702. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.d.ts +17 -0
  703. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.js +21 -0
  704. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
  705. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.d.ts +31 -0
  706. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.js +70 -0
  707. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
  708. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.d.ts +31 -0
  709. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.js +70 -0
  710. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
  711. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.d.ts +31 -0
  712. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.js +70 -0
  713. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
  714. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.d.ts +17 -0
  715. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.js +21 -0
  716. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.js.map +1 -0
  717. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.d.ts +17 -0
  718. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.js +21 -0
  719. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.js.map +1 -0
  720. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.d.ts +17 -0
  721. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.js +21 -0
  722. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.js.map +1 -0
  723. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.d.ts +11 -0
  724. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.js +5 -0
  725. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.js.map +1 -0
  726. package/lib/taon-posts/taon-cms-posts-backoffice/index.d.ts +1 -1
  727. package/lib/taon-posts/taon-cms-posts-backoffice/index.js +2 -2
  728. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.d.ts +26 -0
  729. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.js +71 -0
  730. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.js.map +1 -0
  731. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.d.ts +26 -0
  732. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.js +71 -0
  733. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.js.map +1 -0
  734. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.d.ts +26 -0
  735. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.js +71 -0
  736. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.js.map +1 -0
  737. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.d.ts +18 -0
  738. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.js +26 -0
  739. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.js.map +1 -0
  740. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.d.ts +18 -0
  741. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.js +26 -0
  742. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.js.map +1 -0
  743. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.d.ts +18 -0
  744. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.js +26 -0
  745. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.js.map +1 -0
  746. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.d.ts +8 -0
  747. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.js +5 -0
  748. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.js.map +1 -0
  749. package/lib/taon-posts/taon-cms-revision-chooser/index.d.ts +1 -1
  750. package/lib/taon-posts/taon-cms-revision-chooser/index.js +2 -2
  751. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.d.ts +21 -0
  752. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.js +46 -0
  753. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.js.map +1 -0
  754. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.d.ts +21 -0
  755. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.js +46 -0
  756. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.js.map +1 -0
  757. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.d.ts +21 -0
  758. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.js +46 -0
  759. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.js.map +1 -0
  760. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.d.ts +17 -0
  761. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.js +21 -0
  762. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.js.map +1 -0
  763. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.d.ts +17 -0
  764. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.js +21 -0
  765. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.js.map +1 -0
  766. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.d.ts +17 -0
  767. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.js +21 -0
  768. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.js.map +1 -0
  769. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.d.ts +8 -0
  770. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.js +5 -0
  771. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.js.map +1 -0
  772. package/lib/taon-posts/taon-related-post-chooser/index.d.ts +1 -1
  773. package/lib/taon-posts/taon-related-post-chooser/index.js +2 -2
  774. package/lib-esm/i18n/app.ts.de-DE.i18n.data.d.ts +0 -0
  775. package/lib-esm/i18n/app.ts.de-DE.i18n.data.js +2 -0
  776. package/lib-esm/i18n/app.ts.de-DE.i18n.data.js.map +1 -0
  777. package/lib-esm/lib/build-info._auto-generated_.d.ts +1 -1
  778. package/lib-esm/lib/build-info._auto-generated_.js +1 -1
  779. package/lib-esm/lib/decorators/taon-cms-authorization.d.ts +4 -0
  780. package/lib-esm/lib/decorators/taon-cms-authorization.js +10 -0
  781. package/lib-esm/lib/decorators/taon-cms-authorization.js.map +1 -1
  782. package/lib-esm/lib/index._auto-generated_.d.ts +3 -0
  783. package/lib-esm/lib/index._auto-generated_.js +6 -1
  784. package/lib-esm/lib/index._auto-generated_.js.map +1 -1
  785. package/lib-esm/lib/migrations/1792579000000_postPermissionInheritance.d.ts +6 -0
  786. package/lib-esm/lib/migrations/1792579000000_postPermissionInheritance.js +28 -0
  787. package/lib-esm/lib/migrations/1792579000000_postPermissionInheritance.js.map +1 -0
  788. package/lib-esm/lib/migrations/1793043000000_postThumbnails.d.ts +6 -0
  789. package/lib-esm/lib/migrations/1793043000000_postThumbnails.js +26 -0
  790. package/lib-esm/lib/migrations/1793043000000_postThumbnails.js.map +1 -0
  791. package/lib-esm/lib/migrations/index.d.ts +9 -0
  792. package/lib-esm/lib/migrations/index.js +10 -0
  793. package/lib-esm/lib/migrations/index.js.map +1 -1
  794. package/lib-esm/lib/migrations/migrations_index._auto-generated_.d.ts +4 -0
  795. package/lib-esm/lib/migrations/migrations_index._auto-generated_.js +4 -0
  796. package/lib-esm/lib/migrations/migrations_index._auto-generated_.js.map +1 -1
  797. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.d.ts +19 -0
  798. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.js +29 -0
  799. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.js.map +1 -0
  800. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.d.ts +19 -0
  801. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.js +29 -0
  802. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.js.map +1 -0
  803. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.d.ts +19 -0
  804. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.js +29 -0
  805. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.js.map +1 -0
  806. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.d.ts +17 -0
  807. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.js +19 -0
  808. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.js.map +1 -0
  809. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.d.ts +17 -0
  810. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.js +19 -0
  811. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.js.map +1 -0
  812. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.d.ts +17 -0
  813. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.js +19 -0
  814. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.js.map +1 -0
  815. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.d.ts +18 -0
  816. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.js +24 -0
  817. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
  818. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.d.ts +18 -0
  819. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.js +24 -0
  820. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.js.map +1 -0
  821. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.d.ts +18 -0
  822. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.js +24 -0
  823. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
  824. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.d.ts +18 -0
  825. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.js +24 -0
  826. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
  827. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.d.ts +18 -0
  828. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.js +24 -0
  829. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
  830. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.d.ts +18 -0
  831. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.js +24 -0
  832. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
  833. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.d.ts +14 -0
  834. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.js +4 -0
  835. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.js.map +1 -0
  836. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.d.ts +16 -0
  837. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.js +14 -0
  838. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
  839. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.d.ts +16 -0
  840. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.js +14 -0
  841. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.js.map +1 -0
  842. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.d.ts +16 -0
  843. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.js +14 -0
  844. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
  845. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.d.ts +8 -0
  846. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.js +8 -0
  847. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
  848. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.d.ts +8 -0
  849. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.js +8 -0
  850. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
  851. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.d.ts +8 -0
  852. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.js +8 -0
  853. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
  854. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.d.ts +19 -0
  855. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.js +29 -0
  856. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.js.map +1 -0
  857. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.d.ts +19 -0
  858. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.js +29 -0
  859. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.js.map +1 -0
  860. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.d.ts +19 -0
  861. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.js +29 -0
  862. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.js.map +1 -0
  863. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.d.ts +11 -0
  864. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.js +4 -0
  865. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.js.map +1 -0
  866. package/lib-esm/lib/taon-cms-backoffice/index.d.ts +1 -1
  867. package/lib-esm/lib/taon-cms-backoffice/index.js +1 -1
  868. package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.d.ts +16 -0
  869. package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.js +14 -0
  870. package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.js.map +1 -0
  871. package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.d.ts +16 -0
  872. package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.js +14 -0
  873. package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.js.map +1 -0
  874. package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.d.ts +16 -0
  875. package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.js +14 -0
  876. package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.js.map +1 -0
  877. package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.repository.ts.de-DE.i18n.data.d.ts +18 -0
  878. package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.repository.ts.de-DE.i18n.data.js +24 -0
  879. package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.repository.ts.de-DE.i18n.data.js.map +1 -0
  880. package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.repository.ts.en-US.i18n.data.d.ts +18 -0
  881. package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.repository.ts.en-US.i18n.data.js +24 -0
  882. package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.repository.ts.en-US.i18n.data.js.map +1 -0
  883. package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.repository.ts.pl-PL.i18n.data.d.ts +18 -0
  884. package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.repository.ts.pl-PL.i18n.data.js +24 -0
  885. package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.repository.ts.pl-PL.i18n.data.js.map +1 -0
  886. package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.translation.d.ts +11 -0
  887. package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.translation.js +4 -0
  888. package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.translation.js.map +1 -0
  889. package/lib-esm/lib/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.de-DE.i18n.data.d.ts +18 -0
  890. package/lib-esm/lib/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.de-DE.i18n.data.js +24 -0
  891. package/lib-esm/lib/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.de-DE.i18n.data.js.map +1 -0
  892. package/lib-esm/lib/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.en-US.i18n.data.d.ts +18 -0
  893. package/lib-esm/lib/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.en-US.i18n.data.js +24 -0
  894. package/lib-esm/lib/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.en-US.i18n.data.js.map +1 -0
  895. package/lib-esm/lib/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.pl-PL.i18n.data.d.ts +18 -0
  896. package/lib-esm/lib/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.pl-PL.i18n.data.js +24 -0
  897. package/lib-esm/lib/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.pl-PL.i18n.data.js.map +1 -0
  898. package/lib-esm/lib/taon-cms-category/taon-cms-category.controller.d.ts +7 -1
  899. package/lib-esm/lib/taon-cms-category/taon-cms-category.controller.js +41 -2
  900. package/lib-esm/lib/taon-cms-category/taon-cms-category.controller.js.map +1 -1
  901. package/lib-esm/lib/taon-cms-category/taon-cms-category.repository.d.ts +3 -0
  902. package/lib-esm/lib/taon-cms-category/taon-cms-category.repository.js +57 -0
  903. package/lib-esm/lib/taon-cms-category/taon-cms-category.repository.js.map +1 -1
  904. package/lib-esm/lib/taon-cms-category/taon-cms-taxonomy.validation.d.ts +14 -0
  905. package/lib-esm/lib/taon-cms-category/taon-cms-taxonomy.validation.js +32 -0
  906. package/lib-esm/lib/taon-cms-category/taon-cms-taxonomy.validation.js.map +1 -0
  907. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.d.ts +16 -0
  908. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.js +14 -0
  909. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.js.map +1 -0
  910. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.d.ts +16 -0
  911. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.js +14 -0
  912. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.js.map +1 -0
  913. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.d.ts +16 -0
  914. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.js +14 -0
  915. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.js.map +1 -0
  916. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.d.ts +21 -0
  917. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.js +39 -0
  918. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.js.map +1 -0
  919. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.d.ts +6 -0
  920. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.js +27 -1
  921. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.js.map +1 -1
  922. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.d.ts +6 -0
  923. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.js +27 -1
  924. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.js.map +1 -1
  925. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.translation.d.ts +5 -1
  926. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.translation.js.map +1 -1
  927. package/lib-esm/lib/taon-cms-content/taon-cms-content-storage.controller.d.ts +24 -4
  928. package/lib-esm/lib/taon-cms-content/taon-cms-content-storage.controller.js +101 -8
  929. package/lib-esm/lib/taon-cms-content/taon-cms-content-storage.controller.js.map +1 -1
  930. package/lib-esm/lib/taon-cms-content/taon-cms-content.constants.js +1 -0
  931. package/lib-esm/lib/taon-cms-content/taon-cms-content.constants.js.map +1 -1
  932. package/lib-esm/lib/taon-cms-content/taon-cms-content.controller.d.ts +15 -1
  933. package/lib-esm/lib/taon-cms-content/taon-cms-content.controller.js +280 -4
  934. package/lib-esm/lib/taon-cms-content/taon-cms-content.controller.js.map +1 -1
  935. package/lib-esm/lib/taon-cms-content/taon-cms-content.entity.d.ts +2 -0
  936. package/lib-esm/lib/taon-cms-content/taon-cms-content.entity.js +18 -0
  937. package/lib-esm/lib/taon-cms-content/taon-cms-content.entity.js.map +1 -1
  938. package/lib-esm/lib/taon-cms-content/taon-cms-content.models.d.ts +10 -0
  939. package/lib-esm/lib/taon-cms-content/taon-cms-content.models.js.map +1 -1
  940. package/lib-esm/lib/taon-cms-content/taon-cms-content.repository.d.ts +11 -1
  941. package/lib-esm/lib/taon-cms-content/taon-cms-content.repository.js +220 -29
  942. package/lib-esm/lib/taon-cms-content/taon-cms-content.repository.js.map +1 -1
  943. package/lib-esm/lib/taon-cms-content/taon-cms-content.validation.js +10 -1
  944. package/lib-esm/lib/taon-cms-content/taon-cms-content.validation.js.map +1 -1
  945. package/lib-esm/lib/taon-cms-content/taon-cms-upload-progress.d.ts +1 -0
  946. package/lib-esm/lib/taon-cms-content/taon-cms-upload-progress.js +77 -0
  947. package/lib-esm/lib/taon-cms-content/taon-cms-upload-progress.js.map +1 -0
  948. package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.d.ts +16 -0
  949. package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.js +14 -0
  950. package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.js.map +1 -0
  951. package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.d.ts +16 -0
  952. package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.js +14 -0
  953. package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.js.map +1 -0
  954. package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.d.ts +16 -0
  955. package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.js +14 -0
  956. package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.js.map +1 -0
  957. package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.de-DE.i18n.data.d.ts +17 -0
  958. package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.de-DE.i18n.data.js +19 -0
  959. package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.de-DE.i18n.data.js.map +1 -0
  960. package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.en-US.i18n.data.d.ts +17 -0
  961. package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.en-US.i18n.data.js +19 -0
  962. package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.en-US.i18n.data.js.map +1 -0
  963. package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.d.ts +17 -0
  964. package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.js +19 -0
  965. package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.js.map +1 -0
  966. package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.translation.d.ts +8 -0
  967. package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.translation.js +4 -0
  968. package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.translation.js.map +1 -0
  969. package/lib-esm/lib/taon-cms-tag/taon-cms-tag.controller.d.ts +7 -1
  970. package/lib-esm/lib/taon-cms-tag/taon-cms-tag.controller.js +41 -2
  971. package/lib-esm/lib/taon-cms-tag/taon-cms-tag.controller.js.map +1 -1
  972. package/lib-esm/lib/taon-cms-tag/taon-cms-tag.repository.d.ts +3 -0
  973. package/lib-esm/lib/taon-cms-tag/taon-cms-tag.repository.js +45 -0
  974. package/lib-esm/lib/taon-cms-tag/taon-cms-tag.repository.js.map +1 -1
  975. package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data.d.ts +31 -0
  976. package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data.js +89 -0
  977. package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
  978. package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data.d.ts +31 -0
  979. package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data.js +89 -0
  980. package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data.js.map +1 -0
  981. package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data.d.ts +31 -0
  982. package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data.js +89 -0
  983. package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
  984. package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data.d.ts +27 -0
  985. package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data.js +74 -0
  986. package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
  987. package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data.d.ts +27 -0
  988. package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data.js +74 -0
  989. package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
  990. package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data.d.ts +27 -0
  991. package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data.js +74 -0
  992. package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
  993. package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.translation.d.ts +8 -0
  994. package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.translation.js +4 -0
  995. package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.translation.js.map +1 -0
  996. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.d.ts +73 -0
  997. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.js +323 -0
  998. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.js.map +1 -0
  999. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.d.ts +73 -0
  1000. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.js +323 -0
  1001. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.js.map +1 -0
  1002. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.d.ts +73 -0
  1003. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.js +323 -0
  1004. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.js.map +1 -0
  1005. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.d.ts +51 -0
  1006. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.js +173 -0
  1007. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.js.map +1 -0
  1008. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.d.ts +51 -0
  1009. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.js +170 -0
  1010. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.js.map +1 -0
  1011. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.d.ts +51 -0
  1012. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.js +173 -0
  1013. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.js.map +1 -0
  1014. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.d.ts +8 -0
  1015. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.js +4 -0
  1016. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.js.map +1 -0
  1017. package/lib-esm/lib/taon-posts/taon-cms-post/index.d.ts +1 -1
  1018. package/lib-esm/lib/taon-posts/taon-cms-post/index.js +1 -1
  1019. package/lib-esm/lib/taon-posts/taon-cms-post/taon-cms-post.models.d.ts +2 -1
  1020. package/lib-esm/lib/taon-posts/taon-cms-post/taon-cms-thumbnail.d.ts +5 -0
  1021. package/lib-esm/lib/taon-posts/taon-cms-post/taon-cms-thumbnail.js +138 -0
  1022. package/lib-esm/lib/taon-posts/taon-cms-post/taon-cms-thumbnail.js.map +1 -0
  1023. package/lib-esm/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.i18n.data.d.ts +16 -0
  1024. package/lib-esm/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.i18n.data.js +14 -0
  1025. 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 -0
  1026. package/lib-esm/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.en-US.i18n.data.d.ts +16 -0
  1027. package/lib-esm/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.en-US.i18n.data.js +14 -0
  1028. package/lib-esm/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.en-US.i18n.data.js.map +1 -0
  1029. package/lib-esm/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.i18n.data.d.ts +16 -0
  1030. package/lib-esm/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.i18n.data.js +14 -0
  1031. 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 -0
  1032. package/lib-esm/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.d.ts +5 -0
  1033. package/lib-esm/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.js +4 -0
  1034. package/lib-esm/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.js.map +1 -0
  1035. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.d.ts +17 -0
  1036. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.js +19 -0
  1037. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
  1038. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.d.ts +17 -0
  1039. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.js +19 -0
  1040. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.js.map +1 -0
  1041. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.d.ts +17 -0
  1042. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.js +19 -0
  1043. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
  1044. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.d.ts +31 -0
  1045. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.js +68 -0
  1046. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
  1047. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.d.ts +31 -0
  1048. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.js +68 -0
  1049. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
  1050. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.d.ts +31 -0
  1051. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.js +68 -0
  1052. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
  1053. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.d.ts +17 -0
  1054. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.js +19 -0
  1055. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.js.map +1 -0
  1056. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.d.ts +17 -0
  1057. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.js +19 -0
  1058. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.js.map +1 -0
  1059. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.d.ts +17 -0
  1060. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.js +19 -0
  1061. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.js.map +1 -0
  1062. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.d.ts +11 -0
  1063. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.js +4 -0
  1064. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.js.map +1 -0
  1065. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/index.d.ts +1 -1
  1066. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/index.js +1 -1
  1067. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.d.ts +26 -0
  1068. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.js +69 -0
  1069. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.js.map +1 -0
  1070. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.d.ts +26 -0
  1071. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.js +69 -0
  1072. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.js.map +1 -0
  1073. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.d.ts +26 -0
  1074. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.js +69 -0
  1075. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.js.map +1 -0
  1076. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.d.ts +18 -0
  1077. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.js +24 -0
  1078. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.js.map +1 -0
  1079. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.d.ts +18 -0
  1080. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.js +24 -0
  1081. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.js.map +1 -0
  1082. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.d.ts +18 -0
  1083. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.js +24 -0
  1084. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.js.map +1 -0
  1085. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.d.ts +8 -0
  1086. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.js +4 -0
  1087. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.js.map +1 -0
  1088. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/index.d.ts +1 -1
  1089. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/index.js +1 -1
  1090. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.d.ts +21 -0
  1091. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.js +44 -0
  1092. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.js.map +1 -0
  1093. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.d.ts +21 -0
  1094. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.js +44 -0
  1095. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.js.map +1 -0
  1096. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.d.ts +21 -0
  1097. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.js +44 -0
  1098. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.js.map +1 -0
  1099. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.d.ts +17 -0
  1100. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.js +19 -0
  1101. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.js.map +1 -0
  1102. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.d.ts +17 -0
  1103. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.js +19 -0
  1104. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.js.map +1 -0
  1105. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.d.ts +17 -0
  1106. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.js +19 -0
  1107. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.js.map +1 -0
  1108. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.d.ts +8 -0
  1109. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.js +4 -0
  1110. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.js.map +1 -0
  1111. package/lib-esm/lib/taon-posts/taon-related-post-chooser/index.d.ts +1 -1
  1112. package/lib-esm/lib/taon-posts/taon-related-post-chooser/index.js +1 -1
  1113. package/lib-prod/build-info._auto-generated_.d.ts +1 -1
  1114. package/lib-prod/build-info._auto-generated_.js +1 -1
  1115. package/lib-prod/decorators/taon-cms-authorization.d.ts +4 -0
  1116. package/lib-prod/decorators/taon-cms-authorization.js +10 -0
  1117. package/lib-prod/decorators/taon-cms-authorization.js.map +1 -1
  1118. package/lib-prod/index._auto-generated_.d.ts +3 -0
  1119. package/lib-prod/index._auto-generated_.js +6 -1
  1120. package/lib-prod/index._auto-generated_.js.map +1 -1
  1121. package/lib-prod/migrations/1792579000000_postPermissionInheritance.d.ts +6 -0
  1122. package/lib-prod/migrations/1792579000000_postPermissionInheritance.js +28 -0
  1123. package/lib-prod/migrations/1792579000000_postPermissionInheritance.js.map +1 -0
  1124. package/lib-prod/migrations/1793043000000_postThumbnails.d.ts +6 -0
  1125. package/lib-prod/migrations/1793043000000_postThumbnails.js +26 -0
  1126. package/lib-prod/migrations/1793043000000_postThumbnails.js.map +1 -0
  1127. package/lib-prod/migrations/index.d.ts +9 -0
  1128. package/lib-prod/migrations/index.js +10 -0
  1129. package/lib-prod/migrations/index.js.map +1 -1
  1130. package/lib-prod/migrations/migrations_index._auto-generated_.d.ts +4 -0
  1131. package/lib-prod/migrations/migrations_index._auto-generated_.js +4 -0
  1132. package/lib-prod/migrations/migrations_index._auto-generated_.js.map +1 -1
  1133. package/lib-prod/package.json +1 -1
  1134. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.d.ts +19 -0
  1135. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.js +29 -0
  1136. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.js.map +1 -0
  1137. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.d.ts +19 -0
  1138. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.js +29 -0
  1139. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.js.map +1 -0
  1140. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.d.ts +19 -0
  1141. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.js +29 -0
  1142. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.js.map +1 -0
  1143. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.d.ts +17 -0
  1144. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.js +19 -0
  1145. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.js.map +1 -0
  1146. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.d.ts +17 -0
  1147. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.js +19 -0
  1148. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.js.map +1 -0
  1149. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.d.ts +17 -0
  1150. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.js +19 -0
  1151. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.js.map +1 -0
  1152. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.d.ts +18 -0
  1153. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.js +24 -0
  1154. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
  1155. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.d.ts +18 -0
  1156. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.js +24 -0
  1157. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.js.map +1 -0
  1158. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.d.ts +18 -0
  1159. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.js +24 -0
  1160. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
  1161. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.d.ts +18 -0
  1162. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.js +24 -0
  1163. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
  1164. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.d.ts +18 -0
  1165. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.js +24 -0
  1166. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
  1167. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.d.ts +18 -0
  1168. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.js +24 -0
  1169. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
  1170. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.d.ts +14 -0
  1171. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.js +4 -0
  1172. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.js.map +1 -0
  1173. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.d.ts +16 -0
  1174. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.js +14 -0
  1175. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
  1176. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.d.ts +16 -0
  1177. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.js +14 -0
  1178. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.js.map +1 -0
  1179. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.d.ts +16 -0
  1180. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.js +14 -0
  1181. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
  1182. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.d.ts +8 -0
  1183. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.js +8 -0
  1184. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
  1185. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.d.ts +8 -0
  1186. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.js +8 -0
  1187. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
  1188. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.d.ts +8 -0
  1189. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.js +8 -0
  1190. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
  1191. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.d.ts +19 -0
  1192. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.js +29 -0
  1193. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.js.map +1 -0
  1194. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.d.ts +19 -0
  1195. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.js +29 -0
  1196. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.js.map +1 -0
  1197. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.d.ts +19 -0
  1198. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.js +29 -0
  1199. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.js.map +1 -0
  1200. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.d.ts +11 -0
  1201. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.js +4 -0
  1202. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.js.map +1 -0
  1203. package/lib-prod/taon-cms-backoffice/index.d.ts +1 -1
  1204. package/lib-prod/taon-cms-backoffice/index.js +1 -1
  1205. package/lib-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.d.ts +16 -0
  1206. package/lib-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.js +14 -0
  1207. package/lib-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.js.map +1 -0
  1208. package/lib-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.d.ts +16 -0
  1209. package/lib-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.js +14 -0
  1210. package/lib-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.js.map +1 -0
  1211. package/lib-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.d.ts +16 -0
  1212. package/lib-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.js +14 -0
  1213. package/lib-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.js.map +1 -0
  1214. package/lib-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.de-DE.i18n.data.d.ts +18 -0
  1215. package/lib-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.de-DE.i18n.data.js +24 -0
  1216. package/lib-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.de-DE.i18n.data.js.map +1 -0
  1217. package/lib-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.en-US.i18n.data.d.ts +18 -0
  1218. package/lib-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.en-US.i18n.data.js +24 -0
  1219. package/lib-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.en-US.i18n.data.js.map +1 -0
  1220. package/lib-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.pl-PL.i18n.data.d.ts +18 -0
  1221. package/lib-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.pl-PL.i18n.data.js +24 -0
  1222. package/lib-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.pl-PL.i18n.data.js.map +1 -0
  1223. package/lib-prod/taon-cms-category/i18n/taon-cms-category.translation.d.ts +11 -0
  1224. package/lib-prod/taon-cms-category/i18n/taon-cms-category.translation.js +4 -0
  1225. package/lib-prod/taon-cms-category/i18n/taon-cms-category.translation.js.map +1 -0
  1226. package/lib-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.de-DE.i18n.data.d.ts +18 -0
  1227. package/lib-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.de-DE.i18n.data.js +24 -0
  1228. package/lib-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.de-DE.i18n.data.js.map +1 -0
  1229. package/lib-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.en-US.i18n.data.d.ts +18 -0
  1230. package/lib-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.en-US.i18n.data.js +24 -0
  1231. package/lib-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.en-US.i18n.data.js.map +1 -0
  1232. package/lib-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.pl-PL.i18n.data.d.ts +18 -0
  1233. package/lib-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.pl-PL.i18n.data.js +24 -0
  1234. package/lib-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.pl-PL.i18n.data.js.map +1 -0
  1235. package/lib-prod/taon-cms-category/taon-cms-category.controller.d.ts +7 -1
  1236. package/lib-prod/taon-cms-category/taon-cms-category.controller.js +41 -2
  1237. package/lib-prod/taon-cms-category/taon-cms-category.controller.js.map +1 -1
  1238. package/lib-prod/taon-cms-category/taon-cms-category.repository.d.ts +3 -0
  1239. package/lib-prod/taon-cms-category/taon-cms-category.repository.js +57 -0
  1240. package/lib-prod/taon-cms-category/taon-cms-category.repository.js.map +1 -1
  1241. package/lib-prod/taon-cms-category/taon-cms-taxonomy.validation.d.ts +14 -0
  1242. package/lib-prod/taon-cms-category/taon-cms-taxonomy.validation.js +32 -0
  1243. package/lib-prod/taon-cms-category/taon-cms-taxonomy.validation.js.map +1 -0
  1244. package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.d.ts +16 -0
  1245. package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.js +14 -0
  1246. package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.js.map +1 -0
  1247. package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.d.ts +16 -0
  1248. package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.js +14 -0
  1249. package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.js.map +1 -0
  1250. package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.d.ts +16 -0
  1251. package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.js +14 -0
  1252. package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.js.map +1 -0
  1253. package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.d.ts +21 -0
  1254. package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.js +39 -0
  1255. package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.js.map +1 -0
  1256. package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.d.ts +6 -0
  1257. package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.js +27 -1
  1258. package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.js.map +1 -1
  1259. package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.d.ts +6 -0
  1260. package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.js +27 -1
  1261. package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.js.map +1 -1
  1262. package/lib-prod/taon-cms-content/i18n/taon-cms-content.translation.d.ts +5 -1
  1263. package/lib-prod/taon-cms-content/i18n/taon-cms-content.translation.js.map +1 -1
  1264. package/lib-prod/taon-cms-content/taon-cms-content-storage.controller.d.ts +24 -4
  1265. package/lib-prod/taon-cms-content/taon-cms-content-storage.controller.js +101 -8
  1266. package/lib-prod/taon-cms-content/taon-cms-content-storage.controller.js.map +1 -1
  1267. package/lib-prod/taon-cms-content/taon-cms-content.constants.js +1 -0
  1268. package/lib-prod/taon-cms-content/taon-cms-content.constants.js.map +1 -1
  1269. package/lib-prod/taon-cms-content/taon-cms-content.controller.d.ts +15 -1
  1270. package/lib-prod/taon-cms-content/taon-cms-content.controller.js +280 -4
  1271. package/lib-prod/taon-cms-content/taon-cms-content.controller.js.map +1 -1
  1272. package/lib-prod/taon-cms-content/taon-cms-content.entity.d.ts +2 -0
  1273. package/lib-prod/taon-cms-content/taon-cms-content.entity.js +18 -0
  1274. package/lib-prod/taon-cms-content/taon-cms-content.entity.js.map +1 -1
  1275. package/lib-prod/taon-cms-content/taon-cms-content.models.d.ts +10 -0
  1276. package/lib-prod/taon-cms-content/taon-cms-content.models.js.map +1 -1
  1277. package/lib-prod/taon-cms-content/taon-cms-content.repository.d.ts +11 -1
  1278. package/lib-prod/taon-cms-content/taon-cms-content.repository.js +220 -29
  1279. package/lib-prod/taon-cms-content/taon-cms-content.repository.js.map +1 -1
  1280. package/lib-prod/taon-cms-content/taon-cms-content.validation.js +10 -1
  1281. package/lib-prod/taon-cms-content/taon-cms-content.validation.js.map +1 -1
  1282. package/lib-prod/taon-cms-content/taon-cms-upload-progress.d.ts +1 -0
  1283. package/lib-prod/taon-cms-content/taon-cms-upload-progress.js +77 -0
  1284. package/lib-prod/taon-cms-content/taon-cms-upload-progress.js.map +1 -0
  1285. package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.d.ts +16 -0
  1286. package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.js +14 -0
  1287. package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.js.map +1 -0
  1288. package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.d.ts +16 -0
  1289. package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.js +14 -0
  1290. package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.js.map +1 -0
  1291. package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.d.ts +16 -0
  1292. package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.js +14 -0
  1293. package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.js.map +1 -0
  1294. package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.de-DE.i18n.data.d.ts +17 -0
  1295. package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.de-DE.i18n.data.js +19 -0
  1296. package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.de-DE.i18n.data.js.map +1 -0
  1297. package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.en-US.i18n.data.d.ts +17 -0
  1298. package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.en-US.i18n.data.js +19 -0
  1299. package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.en-US.i18n.data.js.map +1 -0
  1300. package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.d.ts +17 -0
  1301. package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.js +19 -0
  1302. package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.js.map +1 -0
  1303. package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.translation.d.ts +8 -0
  1304. package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.translation.js +4 -0
  1305. package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.translation.js.map +1 -0
  1306. package/lib-prod/taon-cms-tag/taon-cms-tag.controller.d.ts +7 -1
  1307. package/lib-prod/taon-cms-tag/taon-cms-tag.controller.js +41 -2
  1308. package/lib-prod/taon-cms-tag/taon-cms-tag.controller.js.map +1 -1
  1309. package/lib-prod/taon-cms-tag/taon-cms-tag.repository.d.ts +3 -0
  1310. package/lib-prod/taon-cms-tag/taon-cms-tag.repository.js +45 -0
  1311. package/lib-prod/taon-cms-tag/taon-cms-tag.repository.js.map +1 -1
  1312. package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data.d.ts +31 -0
  1313. package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data.js +89 -0
  1314. package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
  1315. package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data.d.ts +31 -0
  1316. package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data.js +89 -0
  1317. package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data.js.map +1 -0
  1318. package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data.d.ts +31 -0
  1319. package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data.js +89 -0
  1320. package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
  1321. package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data.d.ts +27 -0
  1322. package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data.js +74 -0
  1323. package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
  1324. package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data.d.ts +27 -0
  1325. package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data.js +74 -0
  1326. package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
  1327. package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data.d.ts +27 -0
  1328. package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data.js +74 -0
  1329. package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
  1330. package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.translation.d.ts +8 -0
  1331. package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.translation.js +4 -0
  1332. package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.translation.js.map +1 -0
  1333. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.d.ts +73 -0
  1334. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.js +323 -0
  1335. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.js.map +1 -0
  1336. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.d.ts +73 -0
  1337. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.js +323 -0
  1338. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.js.map +1 -0
  1339. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.d.ts +73 -0
  1340. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.js +323 -0
  1341. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.js.map +1 -0
  1342. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.d.ts +51 -0
  1343. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.js +173 -0
  1344. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.js.map +1 -0
  1345. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.d.ts +51 -0
  1346. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.js +170 -0
  1347. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.js.map +1 -0
  1348. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.d.ts +51 -0
  1349. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.js +173 -0
  1350. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.js.map +1 -0
  1351. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.d.ts +8 -0
  1352. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.js +4 -0
  1353. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.js.map +1 -0
  1354. package/lib-prod/taon-posts/taon-cms-post/index.d.ts +1 -1
  1355. package/lib-prod/taon-posts/taon-cms-post/index.js +1 -1
  1356. package/lib-prod/taon-posts/taon-cms-post/taon-cms-post.models.d.ts +2 -1
  1357. package/lib-prod/taon-posts/taon-cms-post/taon-cms-thumbnail.d.ts +5 -0
  1358. package/lib-prod/taon-posts/taon-cms-post/taon-cms-thumbnail.js +138 -0
  1359. package/lib-prod/taon-posts/taon-cms-post/taon-cms-thumbnail.js.map +1 -0
  1360. package/lib-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.i18n.data.d.ts +16 -0
  1361. package/lib-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.i18n.data.js +14 -0
  1362. 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 -0
  1363. package/lib-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.en-US.i18n.data.d.ts +16 -0
  1364. package/lib-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.en-US.i18n.data.js +14 -0
  1365. package/lib-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.en-US.i18n.data.js.map +1 -0
  1366. package/lib-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.i18n.data.d.ts +16 -0
  1367. package/lib-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.i18n.data.js +14 -0
  1368. 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 -0
  1369. package/lib-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.d.ts +5 -0
  1370. package/lib-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.js +4 -0
  1371. package/lib-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.js.map +1 -0
  1372. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.d.ts +17 -0
  1373. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.js +19 -0
  1374. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
  1375. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.d.ts +17 -0
  1376. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.js +19 -0
  1377. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.js.map +1 -0
  1378. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.d.ts +17 -0
  1379. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.js +19 -0
  1380. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
  1381. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.d.ts +31 -0
  1382. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.js +68 -0
  1383. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
  1384. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.d.ts +31 -0
  1385. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.js +68 -0
  1386. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
  1387. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.d.ts +31 -0
  1388. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.js +68 -0
  1389. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
  1390. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.d.ts +17 -0
  1391. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.js +19 -0
  1392. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.js.map +1 -0
  1393. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.d.ts +17 -0
  1394. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.js +19 -0
  1395. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.js.map +1 -0
  1396. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.d.ts +17 -0
  1397. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.js +19 -0
  1398. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.js.map +1 -0
  1399. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.d.ts +11 -0
  1400. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.js +4 -0
  1401. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.js.map +1 -0
  1402. package/lib-prod/taon-posts/taon-cms-posts-backoffice/index.d.ts +1 -1
  1403. package/lib-prod/taon-posts/taon-cms-posts-backoffice/index.js +1 -1
  1404. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.d.ts +26 -0
  1405. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.js +69 -0
  1406. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.js.map +1 -0
  1407. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.d.ts +26 -0
  1408. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.js +69 -0
  1409. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.js.map +1 -0
  1410. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.d.ts +26 -0
  1411. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.js +69 -0
  1412. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.js.map +1 -0
  1413. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.d.ts +18 -0
  1414. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.js +24 -0
  1415. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.js.map +1 -0
  1416. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.d.ts +18 -0
  1417. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.js +24 -0
  1418. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.js.map +1 -0
  1419. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.d.ts +18 -0
  1420. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.js +24 -0
  1421. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.js.map +1 -0
  1422. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.d.ts +8 -0
  1423. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.js +4 -0
  1424. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.js.map +1 -0
  1425. package/lib-prod/taon-posts/taon-cms-revision-chooser/index.d.ts +1 -1
  1426. package/lib-prod/taon-posts/taon-cms-revision-chooser/index.js +1 -1
  1427. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.d.ts +21 -0
  1428. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.js +44 -0
  1429. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.js.map +1 -0
  1430. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.d.ts +21 -0
  1431. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.js +44 -0
  1432. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.js.map +1 -0
  1433. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.d.ts +21 -0
  1434. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.js +44 -0
  1435. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.js.map +1 -0
  1436. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.d.ts +17 -0
  1437. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.js +19 -0
  1438. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.js.map +1 -0
  1439. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.d.ts +17 -0
  1440. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.js +19 -0
  1441. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.js.map +1 -0
  1442. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.d.ts +17 -0
  1443. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.js +19 -0
  1444. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.js.map +1 -0
  1445. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.d.ts +8 -0
  1446. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.js +4 -0
  1447. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.js.map +1 -0
  1448. package/lib-prod/taon-posts/taon-related-post-chooser/index.d.ts +1 -1
  1449. package/lib-prod/taon-posts/taon-related-post-chooser/index.js +1 -1
  1450. package/package.json +1 -1
  1451. package/scss/lib/taon-cms-assets-backoffice/taon-cms-asset-preview.component.scss +11 -0
  1452. package/scss/lib/taon-posts/taon-cms-post/taon-cms-post.component.scss +21 -0
  1453. package/ts-source/browser-code/build-info._auto-generated_.ts +1 -1
  1454. package/ts-source/browser-code/decorators/taon-cms-authorization.ts +4 -0
  1455. package/ts-source/browser-code/index._auto-generated_.ts +6 -1
  1456. package/ts-source/browser-code/migrations/1792579000000_postPermissionInheritance.ts +36 -0
  1457. package/ts-source/browser-code/migrations/1793043000000_postThumbnails.ts +34 -0
  1458. package/ts-source/browser-code/migrations/index.ts +10 -0
  1459. package/ts-source/browser-code/migrations/migrations_index._auto-generated_.ts +4 -0
  1460. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.ts +47 -0
  1461. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.po +21 -0
  1462. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.ts +47 -0
  1463. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.po +21 -0
  1464. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.ts +47 -0
  1465. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.po +21 -0
  1466. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.ts +35 -0
  1467. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.po +13 -0
  1468. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.ts +35 -0
  1469. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.po +13 -0
  1470. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.ts +35 -0
  1471. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.po +13 -0
  1472. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.ts +41 -0
  1473. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.po +17 -0
  1474. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.ts +41 -0
  1475. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.po +17 -0
  1476. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.ts +41 -0
  1477. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.po +17 -0
  1478. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.ts +41 -0
  1479. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.po +17 -0
  1480. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.ts +41 -0
  1481. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.po +17 -0
  1482. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.ts +41 -0
  1483. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.po +17 -0
  1484. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.ts +27 -0
  1485. package/ts-source/browser-code/taon-cms-assets-backoffice/taon-cms-asset-preview.component.html +57 -0
  1486. package/ts-source/{websql-code-prod/taon-posts/taon-cms-post-edit-dialog/index.ts → browser-code/taon-cms-assets-backoffice/taon-cms-asset-preview.component.scss} +12 -3
  1487. package/ts-source/browser-code/taon-cms-assets-backoffice/taon-cms-asset-preview.component.ts +79 -0
  1488. package/ts-source/browser-code/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html +42 -0
  1489. package/ts-source/browser-code/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.ts +59 -18
  1490. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.ts +29 -0
  1491. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.po +9 -0
  1492. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.ts +29 -0
  1493. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.po +9 -0
  1494. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.ts +29 -0
  1495. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.po +9 -0
  1496. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.ts +19 -0
  1497. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.po +5 -0
  1498. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.ts +19 -0
  1499. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.po +5 -0
  1500. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.ts +19 -0
  1501. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.po +5 -0
  1502. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.ts +47 -0
  1503. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.po +21 -0
  1504. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.ts +47 -0
  1505. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.po +21 -0
  1506. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.ts +47 -0
  1507. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.po +21 -0
  1508. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.ts +24 -0
  1509. package/ts-source/browser-code/taon-cms-backoffice/taon-cms-backoffice.component.html +3 -1
  1510. package/ts-source/browser-code/taon-cms-backoffice/taon-cms-backoffice.component.ts +4 -0
  1511. package/ts-source/browser-code/taon-cms-backoffice/taon-cms-backoffice.routes.ts +21 -2
  1512. package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.ts +29 -0
  1513. package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.po +9 -0
  1514. package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.ts +29 -0
  1515. package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.po +9 -0
  1516. package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.ts +29 -0
  1517. package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.po +9 -0
  1518. package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-category.repository.ts.de-DE.i18n.data.ts +41 -0
  1519. package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-category.repository.ts.de-DE.po +17 -0
  1520. package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-category.repository.ts.en-US.i18n.data.ts +41 -0
  1521. package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-category.repository.ts.en-US.po +17 -0
  1522. package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-category.repository.ts.pl-PL.i18n.data.ts +41 -0
  1523. package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-category.repository.ts.pl-PL.po +17 -0
  1524. package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-category.translation.ts +24 -0
  1525. package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.de-DE.i18n.data.ts +41 -0
  1526. package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.de-DE.po +17 -0
  1527. package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.en-US.i18n.data.ts +41 -0
  1528. package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.en-US.po +17 -0
  1529. package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.pl-PL.i18n.data.ts +41 -0
  1530. package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.pl-PL.po +17 -0
  1531. package/ts-source/browser-code/taon-cms-category/taon-cms-category-api.service.ts +13 -0
  1532. package/ts-source/browser-code/taon-cms-category/taon-cms-category.controller.ts +25 -2
  1533. package/ts-source/browser-code/taon-cms-category/taon-cms-category.repository.ts +12 -0
  1534. package/ts-source/browser-code/taon-cms-category/taon-cms-taxonomy.validation.ts +56 -0
  1535. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.ts +29 -0
  1536. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.po +9 -0
  1537. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.ts +29 -0
  1538. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.po +9 -0
  1539. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.ts +29 -0
  1540. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.po +9 -0
  1541. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.ts +59 -0
  1542. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.po +29 -0
  1543. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.ts +32 -1
  1544. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.po +22 -2
  1545. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.ts +32 -1
  1546. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.po +22 -2
  1547. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.translation.ts +5 -1
  1548. package/ts-source/browser-code/taon-cms-content/taon-cms-content-api.service.ts +92 -9
  1549. package/ts-source/browser-code/taon-cms-content/taon-cms-content-storage.controller.ts +38 -7
  1550. package/ts-source/browser-code/taon-cms-content/taon-cms-content.constants.ts +1 -0
  1551. package/ts-source/browser-code/taon-cms-content/taon-cms-content.controller.ts +88 -2
  1552. package/ts-source/browser-code/taon-cms-content/taon-cms-content.entity.ts +2 -0
  1553. package/ts-source/browser-code/taon-cms-content/taon-cms-content.models.ts +10 -0
  1554. package/ts-source/browser-code/taon-cms-content/taon-cms-content.repository.ts +43 -3
  1555. package/ts-source/browser-code/taon-cms-content/taon-cms-content.validation.ts +10 -1
  1556. package/ts-source/browser-code/taon-cms-content/taon-cms-upload-progress.ts +85 -0
  1557. package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.ts +29 -0
  1558. package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.po +9 -0
  1559. package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.ts +29 -0
  1560. package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.po +9 -0
  1561. package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.ts +29 -0
  1562. package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.po +9 -0
  1563. package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.repository.ts.de-DE.i18n.data.ts +35 -0
  1564. package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.repository.ts.de-DE.po +13 -0
  1565. package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.repository.ts.en-US.i18n.data.ts +35 -0
  1566. package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.repository.ts.en-US.po +13 -0
  1567. package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.ts +35 -0
  1568. package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.po +13 -0
  1569. package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.translation.ts +21 -0
  1570. package/ts-source/browser-code/taon-cms-tag/taon-cms-tag-api.service.ts +19 -0
  1571. package/ts-source/browser-code/taon-cms-tag/taon-cms-tag.controller.ts +25 -2
  1572. package/ts-source/browser-code/taon-cms-tag/taon-cms-tag.repository.ts +12 -0
  1573. package/ts-source/browser-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data.ts +119 -0
  1574. package/ts-source/browser-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.de-DE.po +69 -0
  1575. package/ts-source/browser-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data.ts +119 -0
  1576. package/ts-source/browser-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.en-US.po +69 -0
  1577. package/ts-source/browser-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data.ts +119 -0
  1578. package/ts-source/browser-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.pl-PL.po +69 -0
  1579. package/ts-source/browser-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data.ts +100 -0
  1580. package/ts-source/browser-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.de-DE.po +54 -0
  1581. package/ts-source/browser-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data.ts +100 -0
  1582. package/ts-source/browser-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.en-US.po +54 -0
  1583. package/ts-source/browser-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data.ts +100 -0
  1584. package/ts-source/browser-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.pl-PL.po +54 -0
  1585. package/ts-source/browser-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.translation.ts +21 -0
  1586. package/ts-source/browser-code/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.html +117 -0
  1587. package/ts-source/browser-code/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.ts +249 -0
  1588. package/ts-source/browser-code/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.routes.ts +27 -0
  1589. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.ts +391 -0
  1590. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.po +230 -0
  1591. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.ts +391 -0
  1592. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.po +230 -0
  1593. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.ts +391 -0
  1594. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.po +230 -0
  1595. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.ts +219 -0
  1596. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.po +134 -0
  1597. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.ts +216 -0
  1598. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.po +134 -0
  1599. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.ts +219 -0
  1600. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.po +134 -0
  1601. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.ts +21 -0
  1602. package/ts-source/browser-code/taon-posts/taon-cms-post/taon-cms-post.component.html +518 -92
  1603. package/ts-source/browser-code/taon-posts/taon-cms-post/taon-cms-post.component.scss +21 -0
  1604. package/ts-source/browser-code/taon-posts/taon-cms-post/taon-cms-post.component.ts +495 -39
  1605. package/ts-source/browser-code/taon-posts/taon-cms-post/taon-cms-post.models.ts +2 -1
  1606. package/ts-source/browser-code/taon-posts/taon-cms-post/taon-cms-thumbnail.ts +148 -0
  1607. 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 +29 -0
  1608. package/ts-source/browser-code/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.po +9 -0
  1609. package/ts-source/browser-code/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.en-US.i18n.data.ts +29 -0
  1610. package/ts-source/browser-code/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.en-US.po +9 -0
  1611. 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 +29 -0
  1612. package/ts-source/browser-code/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.po +9 -0
  1613. package/ts-source/browser-code/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.ts +18 -0
  1614. package/ts-source/browser-code/taon-posts/taon-cms-post-details-page/taon-cms-post-details-page.component.ts +36 -5
  1615. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.ts +35 -0
  1616. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.po +13 -0
  1617. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.ts +35 -0
  1618. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.po +13 -0
  1619. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.ts +35 -0
  1620. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.po +13 -0
  1621. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.ts +94 -0
  1622. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.po +53 -0
  1623. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.ts +94 -0
  1624. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.po +53 -0
  1625. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.ts +94 -0
  1626. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.po +53 -0
  1627. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.ts +35 -0
  1628. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.po +13 -0
  1629. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.ts +35 -0
  1630. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.po +13 -0
  1631. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.ts +35 -0
  1632. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.po +13 -0
  1633. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.ts +24 -0
  1634. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.html +2 -2
  1635. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts +43 -37
  1636. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts +10 -2
  1637. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.ts +94 -0
  1638. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.po +50 -0
  1639. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.ts +94 -0
  1640. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.po +50 -0
  1641. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.ts +94 -0
  1642. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.po +50 -0
  1643. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.ts +41 -0
  1644. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.po +17 -0
  1645. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.ts +41 -0
  1646. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.po +17 -0
  1647. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.ts +41 -0
  1648. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.po +17 -0
  1649. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.ts +21 -0
  1650. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.html +55 -14
  1651. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.ts +22 -8
  1652. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.ts +64 -0
  1653. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.po +30 -0
  1654. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.ts +64 -0
  1655. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.po +30 -0
  1656. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.ts +64 -0
  1657. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.po +30 -0
  1658. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.ts +35 -0
  1659. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.po +13 -0
  1660. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.ts +35 -0
  1661. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.po +13 -0
  1662. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.ts +35 -0
  1663. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.po +13 -0
  1664. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.ts +21 -0
  1665. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.html +40 -11
  1666. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.ts +6 -2
  1667. package/ts-source/browser-code-prod/build-info._auto-generated_.ts +1 -1
  1668. package/ts-source/browser-code-prod/decorators/taon-cms-authorization.ts +4 -0
  1669. package/ts-source/browser-code-prod/index._auto-generated_.ts +6 -1
  1670. package/ts-source/browser-code-prod/migrations/1792579000000_postPermissionInheritance.ts +36 -0
  1671. package/ts-source/browser-code-prod/migrations/1793043000000_postThumbnails.ts +34 -0
  1672. package/ts-source/browser-code-prod/migrations/index.ts +10 -0
  1673. package/ts-source/browser-code-prod/migrations/migrations_index._auto-generated_.ts +4 -0
  1674. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.ts +47 -0
  1675. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.po +21 -0
  1676. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.ts +47 -0
  1677. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.po +21 -0
  1678. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.ts +47 -0
  1679. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.po +21 -0
  1680. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.ts +35 -0
  1681. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.po +13 -0
  1682. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.ts +35 -0
  1683. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.po +13 -0
  1684. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.ts +35 -0
  1685. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.po +13 -0
  1686. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.ts +41 -0
  1687. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.po +17 -0
  1688. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.ts +41 -0
  1689. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.po +17 -0
  1690. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.ts +41 -0
  1691. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.po +17 -0
  1692. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.ts +41 -0
  1693. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.po +17 -0
  1694. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.ts +41 -0
  1695. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.po +17 -0
  1696. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.ts +41 -0
  1697. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.po +17 -0
  1698. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.ts +27 -0
  1699. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/taon-cms-asset-preview.component.html +57 -0
  1700. package/ts-source/{browser-code/taon-posts/taon-cms-post-edit-dialog/index.ts → browser-code-prod/taon-cms-assets-backoffice/taon-cms-asset-preview.component.scss} +12 -3
  1701. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/taon-cms-asset-preview.component.ts +79 -0
  1702. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html +42 -0
  1703. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.ts +59 -18
  1704. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.ts +29 -0
  1705. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.po +9 -0
  1706. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.ts +29 -0
  1707. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.po +9 -0
  1708. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.ts +29 -0
  1709. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.po +9 -0
  1710. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.ts +19 -0
  1711. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.po +5 -0
  1712. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.ts +19 -0
  1713. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.po +5 -0
  1714. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.ts +19 -0
  1715. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.po +5 -0
  1716. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.ts +47 -0
  1717. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.po +21 -0
  1718. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.ts +47 -0
  1719. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.po +21 -0
  1720. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.ts +47 -0
  1721. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.po +21 -0
  1722. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.split-namespaces.json +4 -0
  1723. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.ts +24 -0
  1724. package/ts-source/browser-code-prod/taon-cms-backoffice/taon-cms-backoffice.component.html +3 -1
  1725. package/ts-source/browser-code-prod/taon-cms-backoffice/taon-cms-backoffice.component.ts +4 -0
  1726. package/ts-source/browser-code-prod/taon-cms-backoffice/taon-cms-backoffice.routes.ts +21 -2
  1727. package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.ts +29 -0
  1728. package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.po +9 -0
  1729. package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.ts +29 -0
  1730. package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.po +9 -0
  1731. package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.ts +29 -0
  1732. package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.po +9 -0
  1733. package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.de-DE.i18n.data.ts +41 -0
  1734. package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.de-DE.po +17 -0
  1735. package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.en-US.i18n.data.ts +41 -0
  1736. package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.en-US.po +17 -0
  1737. package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.pl-PL.i18n.data.ts +41 -0
  1738. package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.pl-PL.po +17 -0
  1739. package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.translation.split-namespaces.json +4 -0
  1740. package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.translation.ts +24 -0
  1741. package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.de-DE.i18n.data.ts +41 -0
  1742. package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.de-DE.po +17 -0
  1743. package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.en-US.i18n.data.ts +41 -0
  1744. package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.en-US.po +17 -0
  1745. package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.pl-PL.i18n.data.ts +41 -0
  1746. package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.pl-PL.po +17 -0
  1747. package/ts-source/browser-code-prod/taon-cms-category/taon-cms-category-api.service.ts +13 -0
  1748. package/ts-source/browser-code-prod/taon-cms-category/taon-cms-category.controller.ts +25 -2
  1749. package/ts-source/browser-code-prod/taon-cms-category/taon-cms-category.repository.ts +12 -0
  1750. package/ts-source/browser-code-prod/taon-cms-category/taon-cms-taxonomy.validation.split-namespaces.json +4 -0
  1751. package/ts-source/browser-code-prod/taon-cms-category/taon-cms-taxonomy.validation.ts +56 -0
  1752. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.ts +29 -0
  1753. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.po +9 -0
  1754. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.ts +29 -0
  1755. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.po +9 -0
  1756. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.ts +29 -0
  1757. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.po +9 -0
  1758. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.ts +59 -0
  1759. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.po +29 -0
  1760. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.ts +32 -1
  1761. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.po +22 -2
  1762. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.ts +32 -1
  1763. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.po +22 -2
  1764. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.translation.ts +5 -1
  1765. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content-api.service.ts +92 -9
  1766. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content-storage.controller.ts +38 -7
  1767. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content.constants.ts +1 -0
  1768. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content.controller.ts +88 -2
  1769. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content.entity.ts +2 -0
  1770. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content.models.ts +10 -0
  1771. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content.repository.ts +43 -3
  1772. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content.validation.ts +10 -1
  1773. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-upload-progress.split-namespaces.json +4 -0
  1774. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-upload-progress.ts +85 -0
  1775. package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.ts +29 -0
  1776. package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.po +9 -0
  1777. package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.ts +29 -0
  1778. package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.po +9 -0
  1779. package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.ts +29 -0
  1780. package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.po +9 -0
  1781. package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.de-DE.i18n.data.ts +35 -0
  1782. package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.de-DE.po +13 -0
  1783. package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.en-US.i18n.data.ts +35 -0
  1784. package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.en-US.po +13 -0
  1785. package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.ts +35 -0
  1786. package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.po +13 -0
  1787. package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.translation.split-namespaces.json +4 -0
  1788. package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.translation.ts +21 -0
  1789. package/ts-source/browser-code-prod/taon-cms-tag/taon-cms-tag-api.service.ts +19 -0
  1790. package/ts-source/browser-code-prod/taon-cms-tag/taon-cms-tag.controller.ts +25 -2
  1791. package/ts-source/browser-code-prod/taon-cms-tag/taon-cms-tag.repository.ts +12 -0
  1792. package/ts-source/browser-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data.ts +119 -0
  1793. package/ts-source/browser-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.de-DE.po +69 -0
  1794. package/ts-source/browser-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data.ts +119 -0
  1795. package/ts-source/browser-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.en-US.po +69 -0
  1796. package/ts-source/browser-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data.ts +119 -0
  1797. package/ts-source/browser-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.pl-PL.po +69 -0
  1798. package/ts-source/browser-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data.ts +100 -0
  1799. package/ts-source/browser-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.de-DE.po +54 -0
  1800. package/ts-source/browser-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data.ts +100 -0
  1801. package/ts-source/browser-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.en-US.po +54 -0
  1802. package/ts-source/browser-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data.ts +100 -0
  1803. package/ts-source/browser-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.pl-PL.po +54 -0
  1804. package/ts-source/browser-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.translation.split-namespaces.json +4 -0
  1805. package/ts-source/browser-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.translation.ts +21 -0
  1806. package/ts-source/browser-code-prod/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.html +117 -0
  1807. package/ts-source/browser-code-prod/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.split-namespaces.json +4 -0
  1808. package/ts-source/browser-code-prod/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.ts +249 -0
  1809. package/ts-source/browser-code-prod/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.routes.split-namespaces.json +4 -0
  1810. package/ts-source/browser-code-prod/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.routes.ts +27 -0
  1811. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.ts +391 -0
  1812. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.po +230 -0
  1813. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.ts +391 -0
  1814. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.po +230 -0
  1815. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.ts +391 -0
  1816. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.po +230 -0
  1817. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.ts +219 -0
  1818. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.po +134 -0
  1819. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.ts +216 -0
  1820. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.po +134 -0
  1821. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.ts +219 -0
  1822. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.po +134 -0
  1823. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.split-namespaces.json +4 -0
  1824. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.ts +21 -0
  1825. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/taon-cms-post.component.html +518 -92
  1826. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/taon-cms-post.component.scss +21 -0
  1827. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/taon-cms-post.component.ts +495 -39
  1828. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/taon-cms-post.models.ts +2 -1
  1829. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/taon-cms-thumbnail.split-namespaces.json +4 -0
  1830. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/taon-cms-thumbnail.ts +148 -0
  1831. 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 +29 -0
  1832. package/ts-source/browser-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.po +9 -0
  1833. package/ts-source/browser-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.en-US.i18n.data.ts +29 -0
  1834. package/ts-source/browser-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.en-US.po +9 -0
  1835. 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 +29 -0
  1836. package/ts-source/browser-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.po +9 -0
  1837. package/ts-source/browser-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.split-namespaces.json +4 -0
  1838. package/ts-source/browser-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.ts +18 -0
  1839. package/ts-source/browser-code-prod/taon-posts/taon-cms-post-details-page/taon-cms-post-details-page.component.ts +36 -5
  1840. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.ts +35 -0
  1841. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.po +13 -0
  1842. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.ts +35 -0
  1843. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.po +13 -0
  1844. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.ts +35 -0
  1845. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.po +13 -0
  1846. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.ts +94 -0
  1847. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.po +53 -0
  1848. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.ts +94 -0
  1849. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.po +53 -0
  1850. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.ts +94 -0
  1851. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.po +53 -0
  1852. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.ts +35 -0
  1853. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.po +13 -0
  1854. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.ts +35 -0
  1855. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.po +13 -0
  1856. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.ts +35 -0
  1857. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.po +13 -0
  1858. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.split-namespaces.json +4 -0
  1859. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.ts +24 -0
  1860. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.html +2 -2
  1861. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts +43 -37
  1862. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts +10 -2
  1863. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.ts +94 -0
  1864. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.po +50 -0
  1865. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.ts +94 -0
  1866. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.po +50 -0
  1867. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.ts +94 -0
  1868. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.po +50 -0
  1869. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.ts +41 -0
  1870. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.po +17 -0
  1871. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.ts +41 -0
  1872. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.po +17 -0
  1873. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.ts +41 -0
  1874. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.po +17 -0
  1875. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.split-namespaces.json +4 -0
  1876. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.ts +21 -0
  1877. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.html +55 -14
  1878. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.ts +22 -8
  1879. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.ts +64 -0
  1880. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.po +30 -0
  1881. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.ts +64 -0
  1882. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.po +30 -0
  1883. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.ts +64 -0
  1884. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.po +30 -0
  1885. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.ts +35 -0
  1886. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.po +13 -0
  1887. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.ts +35 -0
  1888. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.po +13 -0
  1889. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.ts +35 -0
  1890. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.po +13 -0
  1891. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.split-namespaces.json +4 -0
  1892. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.ts +21 -0
  1893. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.html +40 -11
  1894. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.ts +6 -2
  1895. package/ts-source/websql-code/build-info._auto-generated_.ts +1 -1
  1896. package/ts-source/websql-code/decorators/taon-cms-authorization.ts +10 -0
  1897. package/ts-source/websql-code/index._auto-generated_.ts +6 -1
  1898. package/ts-source/websql-code/migrations/1792579000000_postPermissionInheritance.ts +36 -0
  1899. package/ts-source/websql-code/migrations/1793043000000_postThumbnails.ts +34 -0
  1900. package/ts-source/websql-code/migrations/index.ts +10 -0
  1901. package/ts-source/websql-code/migrations/migrations_index._auto-generated_.ts +4 -0
  1902. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.ts +47 -0
  1903. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.po +21 -0
  1904. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.ts +47 -0
  1905. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.po +21 -0
  1906. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.ts +47 -0
  1907. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.po +21 -0
  1908. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.ts +35 -0
  1909. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.po +13 -0
  1910. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.ts +35 -0
  1911. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.po +13 -0
  1912. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.ts +35 -0
  1913. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.po +13 -0
  1914. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.ts +41 -0
  1915. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.po +17 -0
  1916. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.ts +41 -0
  1917. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.po +17 -0
  1918. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.ts +41 -0
  1919. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.po +17 -0
  1920. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.ts +41 -0
  1921. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.po +17 -0
  1922. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.ts +41 -0
  1923. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.po +17 -0
  1924. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.ts +41 -0
  1925. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.po +17 -0
  1926. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.ts +27 -0
  1927. package/ts-source/websql-code/taon-cms-assets-backoffice/taon-cms-asset-preview.component.html +57 -0
  1928. package/ts-source/websql-code/{taon-posts/taon-cms-post-edit-dialog/index.ts → taon-cms-assets-backoffice/taon-cms-asset-preview.component.scss} +12 -3
  1929. package/ts-source/websql-code/taon-cms-assets-backoffice/taon-cms-asset-preview.component.ts +79 -0
  1930. package/ts-source/websql-code/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html +42 -0
  1931. package/ts-source/websql-code/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.ts +59 -18
  1932. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.ts +29 -0
  1933. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.po +9 -0
  1934. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.ts +29 -0
  1935. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.po +9 -0
  1936. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.ts +29 -0
  1937. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.po +9 -0
  1938. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.ts +19 -0
  1939. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.po +5 -0
  1940. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.ts +19 -0
  1941. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.po +5 -0
  1942. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.ts +19 -0
  1943. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.po +5 -0
  1944. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.ts +47 -0
  1945. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.po +21 -0
  1946. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.ts +47 -0
  1947. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.po +21 -0
  1948. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.ts +47 -0
  1949. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.po +21 -0
  1950. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.ts +24 -0
  1951. package/ts-source/websql-code/taon-cms-backoffice/taon-cms-backoffice.component.html +3 -1
  1952. package/ts-source/websql-code/taon-cms-backoffice/taon-cms-backoffice.component.ts +4 -0
  1953. package/ts-source/websql-code/taon-cms-backoffice/taon-cms-backoffice.routes.ts +21 -2
  1954. package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.ts +29 -0
  1955. package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.po +9 -0
  1956. package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.ts +29 -0
  1957. package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.po +9 -0
  1958. package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.ts +29 -0
  1959. package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.po +9 -0
  1960. package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-category.repository.ts.de-DE.i18n.data.ts +41 -0
  1961. package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-category.repository.ts.de-DE.po +17 -0
  1962. package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-category.repository.ts.en-US.i18n.data.ts +41 -0
  1963. package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-category.repository.ts.en-US.po +17 -0
  1964. package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-category.repository.ts.pl-PL.i18n.data.ts +41 -0
  1965. package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-category.repository.ts.pl-PL.po +17 -0
  1966. package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-category.translation.ts +24 -0
  1967. package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.de-DE.i18n.data.ts +41 -0
  1968. package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.de-DE.po +17 -0
  1969. package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.en-US.i18n.data.ts +41 -0
  1970. package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.en-US.po +17 -0
  1971. package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.pl-PL.i18n.data.ts +41 -0
  1972. package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.pl-PL.po +17 -0
  1973. package/ts-source/websql-code/taon-cms-category/taon-cms-category-api.service.ts +13 -0
  1974. package/ts-source/websql-code/taon-cms-category/taon-cms-category.controller.ts +25 -2
  1975. package/ts-source/websql-code/taon-cms-category/taon-cms-category.repository.ts +54 -0
  1976. package/ts-source/websql-code/taon-cms-category/taon-cms-taxonomy.validation.ts +56 -0
  1977. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.ts +29 -0
  1978. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.po +9 -0
  1979. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.ts +29 -0
  1980. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.po +9 -0
  1981. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.ts +29 -0
  1982. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.po +9 -0
  1983. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.ts +59 -0
  1984. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.po +29 -0
  1985. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.ts +32 -1
  1986. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.po +22 -2
  1987. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.ts +32 -1
  1988. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.po +22 -2
  1989. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.translation.ts +5 -1
  1990. package/ts-source/websql-code/taon-cms-content/taon-cms-content-api.service.ts +92 -9
  1991. package/ts-source/websql-code/taon-cms-content/taon-cms-content-storage.controller.ts +54 -7
  1992. package/ts-source/websql-code/taon-cms-content/taon-cms-content.constants.ts +1 -0
  1993. package/ts-source/websql-code/taon-cms-content/taon-cms-content.controller.ts +151 -4
  1994. package/ts-source/websql-code/taon-cms-content/taon-cms-content.entity.ts +4 -0
  1995. package/ts-source/websql-code/taon-cms-content/taon-cms-content.models.ts +10 -0
  1996. package/ts-source/websql-code/taon-cms-content/taon-cms-content.repository.ts +198 -30
  1997. package/ts-source/websql-code/taon-cms-content/taon-cms-content.validation.ts +10 -1
  1998. package/ts-source/websql-code/taon-cms-content/taon-cms-upload-progress.ts +85 -0
  1999. package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.ts +29 -0
  2000. package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.po +9 -0
  2001. package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.ts +29 -0
  2002. package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.po +9 -0
  2003. package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.ts +29 -0
  2004. package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.po +9 -0
  2005. package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.repository.ts.de-DE.i18n.data.ts +35 -0
  2006. package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.repository.ts.de-DE.po +13 -0
  2007. package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.repository.ts.en-US.i18n.data.ts +35 -0
  2008. package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.repository.ts.en-US.po +13 -0
  2009. package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.ts +35 -0
  2010. package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.po +13 -0
  2011. package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.translation.ts +21 -0
  2012. package/ts-source/websql-code/taon-cms-tag/taon-cms-tag-api.service.ts +19 -0
  2013. package/ts-source/websql-code/taon-cms-tag/taon-cms-tag.controller.ts +25 -2
  2014. package/ts-source/websql-code/taon-cms-tag/taon-cms-tag.repository.ts +42 -0
  2015. package/ts-source/websql-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data.ts +119 -0
  2016. package/ts-source/websql-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.de-DE.po +69 -0
  2017. package/ts-source/websql-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data.ts +119 -0
  2018. package/ts-source/websql-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.en-US.po +69 -0
  2019. package/ts-source/websql-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data.ts +119 -0
  2020. package/ts-source/websql-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.pl-PL.po +69 -0
  2021. package/ts-source/websql-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data.ts +100 -0
  2022. package/ts-source/websql-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.de-DE.po +54 -0
  2023. package/ts-source/websql-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data.ts +100 -0
  2024. package/ts-source/websql-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.en-US.po +54 -0
  2025. package/ts-source/websql-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data.ts +100 -0
  2026. package/ts-source/websql-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.pl-PL.po +54 -0
  2027. package/ts-source/websql-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.translation.ts +21 -0
  2028. package/ts-source/websql-code/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.html +117 -0
  2029. package/ts-source/websql-code/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.ts +249 -0
  2030. package/ts-source/websql-code/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.routes.ts +27 -0
  2031. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.ts +391 -0
  2032. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.po +230 -0
  2033. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.ts +391 -0
  2034. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.po +230 -0
  2035. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.ts +391 -0
  2036. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.po +230 -0
  2037. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.ts +219 -0
  2038. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.po +134 -0
  2039. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.ts +216 -0
  2040. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.po +134 -0
  2041. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.ts +219 -0
  2042. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.po +134 -0
  2043. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.ts +21 -0
  2044. package/ts-source/websql-code/taon-posts/taon-cms-post/taon-cms-post.component.html +518 -92
  2045. package/ts-source/websql-code/taon-posts/taon-cms-post/taon-cms-post.component.scss +21 -0
  2046. package/ts-source/websql-code/taon-posts/taon-cms-post/taon-cms-post.component.ts +495 -39
  2047. package/ts-source/websql-code/taon-posts/taon-cms-post/taon-cms-post.models.ts +2 -1
  2048. package/ts-source/websql-code/taon-posts/taon-cms-post/taon-cms-thumbnail.ts +148 -0
  2049. 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 +29 -0
  2050. package/ts-source/websql-code/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.po +9 -0
  2051. package/ts-source/websql-code/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.en-US.i18n.data.ts +29 -0
  2052. package/ts-source/websql-code/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.en-US.po +9 -0
  2053. 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 +29 -0
  2054. package/ts-source/websql-code/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.po +9 -0
  2055. package/ts-source/websql-code/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.ts +18 -0
  2056. package/ts-source/websql-code/taon-posts/taon-cms-post-details-page/taon-cms-post-details-page.component.ts +36 -5
  2057. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.ts +35 -0
  2058. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.po +13 -0
  2059. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.ts +35 -0
  2060. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.po +13 -0
  2061. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.ts +35 -0
  2062. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.po +13 -0
  2063. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.ts +94 -0
  2064. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.po +53 -0
  2065. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.ts +94 -0
  2066. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.po +53 -0
  2067. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.ts +94 -0
  2068. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.po +53 -0
  2069. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.ts +35 -0
  2070. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.po +13 -0
  2071. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.ts +35 -0
  2072. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.po +13 -0
  2073. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.ts +35 -0
  2074. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.po +13 -0
  2075. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.ts +24 -0
  2076. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.html +2 -2
  2077. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts +43 -37
  2078. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts +10 -2
  2079. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.ts +94 -0
  2080. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.po +50 -0
  2081. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.ts +94 -0
  2082. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.po +50 -0
  2083. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.ts +94 -0
  2084. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.po +50 -0
  2085. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.ts +41 -0
  2086. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.po +17 -0
  2087. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.ts +41 -0
  2088. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.po +17 -0
  2089. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.ts +41 -0
  2090. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.po +17 -0
  2091. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.ts +21 -0
  2092. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.html +55 -14
  2093. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.ts +22 -8
  2094. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.ts +64 -0
  2095. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.po +30 -0
  2096. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.ts +64 -0
  2097. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.po +30 -0
  2098. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.ts +64 -0
  2099. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.po +30 -0
  2100. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.ts +35 -0
  2101. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.po +13 -0
  2102. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.ts +35 -0
  2103. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.po +13 -0
  2104. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.ts +35 -0
  2105. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.po +13 -0
  2106. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.ts +21 -0
  2107. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.html +40 -11
  2108. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.ts +6 -2
  2109. package/ts-source/websql-code-prod/build-info._auto-generated_.ts +1 -1
  2110. package/ts-source/websql-code-prod/decorators/taon-cms-authorization.ts +10 -0
  2111. package/ts-source/websql-code-prod/index._auto-generated_.ts +6 -1
  2112. package/ts-source/websql-code-prod/migrations/1792579000000_postPermissionInheritance.split-namespaces.json +4 -0
  2113. package/ts-source/websql-code-prod/migrations/1792579000000_postPermissionInheritance.ts +36 -0
  2114. package/ts-source/websql-code-prod/migrations/1793043000000_postThumbnails.split-namespaces.json +4 -0
  2115. package/ts-source/websql-code-prod/migrations/1793043000000_postThumbnails.ts +34 -0
  2116. package/ts-source/websql-code-prod/migrations/index.ts +10 -0
  2117. package/ts-source/websql-code-prod/migrations/migrations_index._auto-generated_.ts +4 -0
  2118. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.ts +47 -0
  2119. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.po +21 -0
  2120. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.ts +47 -0
  2121. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.po +21 -0
  2122. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.ts +47 -0
  2123. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.po +21 -0
  2124. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.ts +35 -0
  2125. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.po +13 -0
  2126. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.ts +35 -0
  2127. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.po +13 -0
  2128. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.ts +35 -0
  2129. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.po +13 -0
  2130. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.ts +41 -0
  2131. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.po +17 -0
  2132. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.ts +41 -0
  2133. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.po +17 -0
  2134. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.ts +41 -0
  2135. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.po +17 -0
  2136. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.ts +41 -0
  2137. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.po +17 -0
  2138. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.ts +41 -0
  2139. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.po +17 -0
  2140. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.ts +41 -0
  2141. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.po +17 -0
  2142. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.split-namespaces.json +4 -0
  2143. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.ts +27 -0
  2144. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/taon-cms-asset-preview.component.html +57 -0
  2145. package/ts-source/{browser-code-prod/taon-posts/taon-cms-post-edit-dialog/index.ts → websql-code-prod/taon-cms-assets-backoffice/taon-cms-asset-preview.component.scss} +12 -3
  2146. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/taon-cms-asset-preview.component.split-namespaces.json +4 -0
  2147. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/taon-cms-asset-preview.component.ts +79 -0
  2148. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html +42 -0
  2149. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.ts +59 -18
  2150. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.ts +29 -0
  2151. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.po +9 -0
  2152. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.ts +29 -0
  2153. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.po +9 -0
  2154. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.ts +29 -0
  2155. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.po +9 -0
  2156. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.ts +19 -0
  2157. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.po +5 -0
  2158. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.ts +19 -0
  2159. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.po +5 -0
  2160. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.ts +19 -0
  2161. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.po +5 -0
  2162. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.ts +47 -0
  2163. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.po +21 -0
  2164. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.ts +47 -0
  2165. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.po +21 -0
  2166. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.ts +47 -0
  2167. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.po +21 -0
  2168. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.split-namespaces.json +4 -0
  2169. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.ts +24 -0
  2170. package/ts-source/websql-code-prod/taon-cms-backoffice/taon-cms-backoffice.component.html +3 -1
  2171. package/ts-source/websql-code-prod/taon-cms-backoffice/taon-cms-backoffice.component.ts +4 -0
  2172. package/ts-source/websql-code-prod/taon-cms-backoffice/taon-cms-backoffice.routes.ts +21 -2
  2173. package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.ts +29 -0
  2174. package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.po +9 -0
  2175. package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.ts +29 -0
  2176. package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.po +9 -0
  2177. package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.ts +29 -0
  2178. package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.po +9 -0
  2179. package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.de-DE.i18n.data.ts +41 -0
  2180. package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.de-DE.po +17 -0
  2181. package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.en-US.i18n.data.ts +41 -0
  2182. package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.en-US.po +17 -0
  2183. package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.pl-PL.i18n.data.ts +41 -0
  2184. package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.pl-PL.po +17 -0
  2185. package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.translation.split-namespaces.json +4 -0
  2186. package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.translation.ts +24 -0
  2187. package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.de-DE.i18n.data.ts +41 -0
  2188. package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.de-DE.po +17 -0
  2189. package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.en-US.i18n.data.ts +41 -0
  2190. package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.en-US.po +17 -0
  2191. package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.pl-PL.i18n.data.ts +41 -0
  2192. package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.pl-PL.po +17 -0
  2193. package/ts-source/websql-code-prod/taon-cms-category/taon-cms-category-api.service.ts +13 -0
  2194. package/ts-source/websql-code-prod/taon-cms-category/taon-cms-category.controller.ts +25 -2
  2195. package/ts-source/websql-code-prod/taon-cms-category/taon-cms-category.repository.ts +54 -0
  2196. package/ts-source/websql-code-prod/taon-cms-category/taon-cms-taxonomy.validation.split-namespaces.json +4 -0
  2197. package/ts-source/websql-code-prod/taon-cms-category/taon-cms-taxonomy.validation.ts +56 -0
  2198. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.ts +29 -0
  2199. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.po +9 -0
  2200. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.ts +29 -0
  2201. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.po +9 -0
  2202. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.ts +29 -0
  2203. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.po +9 -0
  2204. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.ts +59 -0
  2205. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.po +29 -0
  2206. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.ts +32 -1
  2207. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.po +22 -2
  2208. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.ts +32 -1
  2209. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.po +22 -2
  2210. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.translation.ts +5 -1
  2211. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content-api.service.ts +92 -9
  2212. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content-storage.controller.ts +54 -7
  2213. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content.constants.ts +1 -0
  2214. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content.controller.ts +151 -4
  2215. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content.entity.ts +4 -0
  2216. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content.models.ts +10 -0
  2217. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content.repository.ts +198 -30
  2218. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content.validation.ts +10 -1
  2219. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-upload-progress.split-namespaces.json +4 -0
  2220. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-upload-progress.ts +85 -0
  2221. package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.ts +29 -0
  2222. package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.po +9 -0
  2223. package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.ts +29 -0
  2224. package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.po +9 -0
  2225. package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.ts +29 -0
  2226. package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.po +9 -0
  2227. package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.de-DE.i18n.data.ts +35 -0
  2228. package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.de-DE.po +13 -0
  2229. package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.en-US.i18n.data.ts +35 -0
  2230. package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.en-US.po +13 -0
  2231. package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.ts +35 -0
  2232. package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.po +13 -0
  2233. package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.translation.split-namespaces.json +4 -0
  2234. package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.translation.ts +21 -0
  2235. package/ts-source/websql-code-prod/taon-cms-tag/taon-cms-tag-api.service.ts +19 -0
  2236. package/ts-source/websql-code-prod/taon-cms-tag/taon-cms-tag.controller.ts +25 -2
  2237. package/ts-source/websql-code-prod/taon-cms-tag/taon-cms-tag.repository.ts +42 -0
  2238. package/ts-source/websql-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data.ts +119 -0
  2239. package/ts-source/websql-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.de-DE.po +69 -0
  2240. package/ts-source/websql-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data.ts +119 -0
  2241. package/ts-source/websql-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.en-US.po +69 -0
  2242. package/ts-source/websql-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data.ts +119 -0
  2243. package/ts-source/websql-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.pl-PL.po +69 -0
  2244. package/ts-source/websql-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data.ts +100 -0
  2245. package/ts-source/websql-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.de-DE.po +54 -0
  2246. package/ts-source/websql-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data.ts +100 -0
  2247. package/ts-source/websql-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.en-US.po +54 -0
  2248. package/ts-source/websql-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data.ts +100 -0
  2249. package/ts-source/websql-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.pl-PL.po +54 -0
  2250. package/ts-source/websql-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.translation.split-namespaces.json +4 -0
  2251. package/ts-source/websql-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.translation.ts +21 -0
  2252. package/ts-source/websql-code-prod/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.html +117 -0
  2253. package/ts-source/websql-code-prod/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.split-namespaces.json +4 -0
  2254. package/ts-source/websql-code-prod/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.ts +249 -0
  2255. package/ts-source/websql-code-prod/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.routes.split-namespaces.json +4 -0
  2256. package/ts-source/websql-code-prod/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.routes.ts +27 -0
  2257. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.ts +391 -0
  2258. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.po +230 -0
  2259. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.ts +391 -0
  2260. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.po +230 -0
  2261. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.ts +391 -0
  2262. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.po +230 -0
  2263. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.ts +219 -0
  2264. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.po +134 -0
  2265. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.ts +216 -0
  2266. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.po +134 -0
  2267. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.ts +219 -0
  2268. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.po +134 -0
  2269. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.split-namespaces.json +4 -0
  2270. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.ts +21 -0
  2271. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/taon-cms-post.component.html +518 -92
  2272. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/taon-cms-post.component.scss +21 -0
  2273. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/taon-cms-post.component.ts +495 -39
  2274. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/taon-cms-post.models.ts +2 -1
  2275. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/taon-cms-thumbnail.split-namespaces.json +4 -0
  2276. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/taon-cms-thumbnail.ts +148 -0
  2277. 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 +29 -0
  2278. package/ts-source/websql-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.po +9 -0
  2279. package/ts-source/websql-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.en-US.i18n.data.ts +29 -0
  2280. package/ts-source/websql-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.en-US.po +9 -0
  2281. 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 +29 -0
  2282. package/ts-source/websql-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.po +9 -0
  2283. package/ts-source/websql-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.split-namespaces.json +4 -0
  2284. package/ts-source/websql-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.ts +18 -0
  2285. package/ts-source/websql-code-prod/taon-posts/taon-cms-post-details-page/taon-cms-post-details-page.component.ts +36 -5
  2286. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.ts +35 -0
  2287. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.po +13 -0
  2288. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.ts +35 -0
  2289. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.po +13 -0
  2290. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.ts +35 -0
  2291. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.po +13 -0
  2292. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.ts +94 -0
  2293. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.po +53 -0
  2294. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.ts +94 -0
  2295. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.po +53 -0
  2296. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.ts +94 -0
  2297. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.po +53 -0
  2298. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.ts +35 -0
  2299. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.po +13 -0
  2300. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.ts +35 -0
  2301. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.po +13 -0
  2302. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.ts +35 -0
  2303. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.po +13 -0
  2304. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.split-namespaces.json +4 -0
  2305. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.ts +24 -0
  2306. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.html +2 -2
  2307. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts +43 -37
  2308. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts +10 -2
  2309. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.ts +94 -0
  2310. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.po +50 -0
  2311. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.ts +94 -0
  2312. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.po +50 -0
  2313. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.ts +94 -0
  2314. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.po +50 -0
  2315. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.ts +41 -0
  2316. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.po +17 -0
  2317. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.ts +41 -0
  2318. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.po +17 -0
  2319. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.ts +41 -0
  2320. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.po +17 -0
  2321. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.split-namespaces.json +4 -0
  2322. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.ts +21 -0
  2323. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.html +55 -14
  2324. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.ts +22 -8
  2325. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.ts +64 -0
  2326. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.po +30 -0
  2327. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.ts +64 -0
  2328. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.po +30 -0
  2329. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.ts +64 -0
  2330. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.po +30 -0
  2331. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.ts +35 -0
  2332. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.po +13 -0
  2333. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.ts +35 -0
  2334. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.po +13 -0
  2335. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.ts +35 -0
  2336. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.po +13 -0
  2337. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.split-namespaces.json +4 -0
  2338. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.ts +21 -0
  2339. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.html +40 -11
  2340. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.ts +6 -2
  2341. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.de-DE.i18n.data-CrTGrY98.mjs +31 -0
  2342. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.de-DE.i18n.data-CrTGrY98.mjs.map +1 -0
  2343. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.en-US.i18n.data-BJxrA1qp.mjs +31 -0
  2344. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.en-US.i18n.data-BJxrA1qp.mjs.map +1 -0
  2345. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.pl-PL.i18n.data-C_6GO-6u.mjs +31 -0
  2346. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.pl-PL.i18n.data-C_6GO-6u.mjs.map +1 -0
  2347. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.de-DE.i18n.data-KGtM_c5b.mjs +21 -0
  2348. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.de-DE.i18n.data-KGtM_c5b.mjs.map +1 -0
  2349. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.en-US.i18n.data-BHDb5flk.mjs +21 -0
  2350. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.en-US.i18n.data-BHDb5flk.mjs.map +1 -0
  2351. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-CuPekC-p.mjs +21 -0
  2352. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-CuPekC-p.mjs.map +1 -0
  2353. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-CffxG4KA.mjs +26 -0
  2354. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-CffxG4KA.mjs.map +1 -0
  2355. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.en-US.i18n.data-Zh8YZeJc.mjs +26 -0
  2356. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.en-US.i18n.data-Zh8YZeJc.mjs.map +1 -0
  2357. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-BN0WE84V.mjs +26 -0
  2358. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-BN0WE84V.mjs.map +1 -0
  2359. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-ByT4yNe3.mjs +26 -0
  2360. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-ByT4yNe3.mjs.map +1 -0
  2361. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-Dx3lg2D8.mjs +26 -0
  2362. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-Dx3lg2D8.mjs.map +1 -0
  2363. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-CvZI0J4F.mjs +26 -0
  2364. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-CvZI0J4F.mjs.map +1 -0
  2365. package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.html.de-DE.i18n.data-D8iRvIyP.mjs +16 -0
  2366. package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.html.de-DE.i18n.data-D8iRvIyP.mjs.map +1 -0
  2367. package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.html.en-US.i18n.data-BcXsjPgL.mjs +16 -0
  2368. package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.html.en-US.i18n.data-BcXsjPgL.mjs.map +1 -0
  2369. package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.html.pl-PL.i18n.data-AgLZxi-R.mjs +16 -0
  2370. package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.html.pl-PL.i18n.data-AgLZxi-R.mjs.map +1 -0
  2371. package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.ts.de-DE.i18n.data-BdZAX0Ty.mjs +10 -0
  2372. package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.ts.de-DE.i18n.data-BdZAX0Ty.mjs.map +1 -0
  2373. package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.ts.en-US.i18n.data-Dp8u4MhM.mjs +10 -0
  2374. package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.ts.en-US.i18n.data-Dp8u4MhM.mjs.map +1 -0
  2375. package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.ts.pl-PL.i18n.data-CibwQg__.mjs +10 -0
  2376. package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.ts.pl-PL.i18n.data-CibwQg__.mjs.map +1 -0
  2377. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.de-DE.i18n.data-CzlFxoey.mjs +31 -0
  2378. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.de-DE.i18n.data-CzlFxoey.mjs.map +1 -0
  2379. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.en-US.i18n.data-Ddj2dMat.mjs +31 -0
  2380. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.en-US.i18n.data-Ddj2dMat.mjs.map +1 -0
  2381. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-B4LHmo9Z.mjs +31 -0
  2382. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-B4LHmo9Z.mjs.map +1 -0
  2383. package/websql/fesm2022/cms-websql-taon-cms-category.controller.ts.de-DE.i18n.data-BTSefyOU.mjs +16 -0
  2384. package/websql/fesm2022/cms-websql-taon-cms-category.controller.ts.de-DE.i18n.data-BTSefyOU.mjs.map +1 -0
  2385. package/websql/fesm2022/cms-websql-taon-cms-category.controller.ts.en-US.i18n.data-sk17Oud1.mjs +16 -0
  2386. package/websql/fesm2022/cms-websql-taon-cms-category.controller.ts.en-US.i18n.data-sk17Oud1.mjs.map +1 -0
  2387. package/websql/fesm2022/cms-websql-taon-cms-category.controller.ts.pl-PL.i18n.data-CU3deuam.mjs +16 -0
  2388. package/websql/fesm2022/cms-websql-taon-cms-category.controller.ts.pl-PL.i18n.data-CU3deuam.mjs.map +1 -0
  2389. package/websql/fesm2022/cms-websql-taon-cms-category.repository.ts.de-DE.i18n.data-b-MJViKD.mjs +26 -0
  2390. package/websql/fesm2022/cms-websql-taon-cms-category.repository.ts.de-DE.i18n.data-b-MJViKD.mjs.map +1 -0
  2391. package/websql/fesm2022/cms-websql-taon-cms-category.repository.ts.en-US.i18n.data-CpNHhbea.mjs +26 -0
  2392. package/websql/fesm2022/cms-websql-taon-cms-category.repository.ts.en-US.i18n.data-CpNHhbea.mjs.map +1 -0
  2393. package/websql/fesm2022/cms-websql-taon-cms-category.repository.ts.pl-PL.i18n.data-76d2FPM7.mjs +26 -0
  2394. package/websql/fesm2022/cms-websql-taon-cms-category.repository.ts.pl-PL.i18n.data-76d2FPM7.mjs.map +1 -0
  2395. package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.de-DE.i18n.data-Bgztmv1T.mjs +16 -0
  2396. package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.de-DE.i18n.data-Bgztmv1T.mjs.map +1 -0
  2397. package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.en-US.i18n.data-BHclr-Mp.mjs +16 -0
  2398. package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.en-US.i18n.data-BHclr-Mp.mjs.map +1 -0
  2399. package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-CP6e8qJA.mjs +16 -0
  2400. package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-CP6e8qJA.mjs.map +1 -0
  2401. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.de-DE.i18n.data-DW1n5Ozp.mjs +325 -0
  2402. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.de-DE.i18n.data-DW1n5Ozp.mjs.map +1 -0
  2403. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.en-US.i18n.data-Dzy3apgE.mjs +325 -0
  2404. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.en-US.i18n.data-Dzy3apgE.mjs.map +1 -0
  2405. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.pl-PL.i18n.data-DrmyJ9lw.mjs +325 -0
  2406. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.pl-PL.i18n.data-DrmyJ9lw.mjs.map +1 -0
  2407. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.de-DE.i18n.data-C1N9Zgdi.mjs +175 -0
  2408. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.de-DE.i18n.data-C1N9Zgdi.mjs.map +1 -0
  2409. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.en-US.i18n.data-Demtpm74.mjs +172 -0
  2410. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.en-US.i18n.data-Demtpm74.mjs.map +1 -0
  2411. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.pl-PL.i18n.data-oFM6Hko5.mjs +175 -0
  2412. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.pl-PL.i18n.data-oFM6Hko5.mjs.map +1 -0
  2413. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-D2WxrzSb.mjs +21 -0
  2414. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-D2WxrzSb.mjs.map +1 -0
  2415. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.en-US.i18n.data-MKa7Bg7x.mjs +21 -0
  2416. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.en-US.i18n.data-MKa7Bg7x.mjs.map +1 -0
  2417. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-CgoD8Vbu.mjs +21 -0
  2418. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-CgoD8Vbu.mjs.map +1 -0
  2419. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-l5tJy98a.mjs +70 -0
  2420. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-l5tJy98a.mjs.map +1 -0
  2421. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-aSYNKmBN.mjs +70 -0
  2422. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-aSYNKmBN.mjs.map +1 -0
  2423. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-BWSMhDtu.mjs +70 -0
  2424. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-BWSMhDtu.mjs.map +1 -0
  2425. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-BdZ28aPt.mjs +21 -0
  2426. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-BdZ28aPt.mjs.map +1 -0
  2427. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-B8Dx0w7R.mjs +21 -0
  2428. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-B8Dx0w7R.mjs.map +1 -0
  2429. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-Cb6fpkBc.mjs +21 -0
  2430. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-Cb6fpkBc.mjs.map +1 -0
  2431. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.de-DE.i18n.data-D3SqNlkz.mjs +71 -0
  2432. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.de-DE.i18n.data-D3SqNlkz.mjs.map +1 -0
  2433. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.en-US.i18n.data-DJ0utYrm.mjs +71 -0
  2434. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.en-US.i18n.data-DJ0utYrm.mjs.map +1 -0
  2435. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-bW3Mgb29.mjs +71 -0
  2436. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-bW3Mgb29.mjs.map +1 -0
  2437. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-Dv-fdvwp.mjs +26 -0
  2438. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-Dv-fdvwp.mjs.map +1 -0
  2439. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.en-US.i18n.data-CM00oZ5c.mjs +26 -0
  2440. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.en-US.i18n.data-CM00oZ5c.mjs.map +1 -0
  2441. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-CTV6RgOp.mjs +26 -0
  2442. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-CTV6RgOp.mjs.map +1 -0
  2443. package/websql/fesm2022/cms-websql-taon-cms-tag.controller.ts.de-DE.i18n.data-CoARqE22.mjs +16 -0
  2444. package/websql/fesm2022/cms-websql-taon-cms-tag.controller.ts.de-DE.i18n.data-CoARqE22.mjs.map +1 -0
  2445. package/websql/fesm2022/cms-websql-taon-cms-tag.controller.ts.en-US.i18n.data-CeImcANT.mjs +16 -0
  2446. package/websql/fesm2022/cms-websql-taon-cms-tag.controller.ts.en-US.i18n.data-CeImcANT.mjs.map +1 -0
  2447. package/websql/fesm2022/cms-websql-taon-cms-tag.controller.ts.pl-PL.i18n.data-Bq0l9GAF.mjs +16 -0
  2448. package/websql/fesm2022/cms-websql-taon-cms-tag.controller.ts.pl-PL.i18n.data-Bq0l9GAF.mjs.map +1 -0
  2449. package/websql/fesm2022/cms-websql-taon-cms-tag.repository.ts.de-DE.i18n.data-XJ-DJ487.mjs +21 -0
  2450. package/websql/fesm2022/cms-websql-taon-cms-tag.repository.ts.de-DE.i18n.data-XJ-DJ487.mjs.map +1 -0
  2451. package/websql/fesm2022/cms-websql-taon-cms-tag.repository.ts.en-US.i18n.data-CteIjY45.mjs +21 -0
  2452. package/websql/fesm2022/cms-websql-taon-cms-tag.repository.ts.en-US.i18n.data-CteIjY45.mjs.map +1 -0
  2453. package/websql/fesm2022/cms-websql-taon-cms-tag.repository.ts.pl-PL.i18n.data-BQS3WOJE.mjs +21 -0
  2454. package/websql/fesm2022/cms-websql-taon-cms-tag.repository.ts.pl-PL.i18n.data-BQS3WOJE.mjs.map +1 -0
  2455. package/websql/fesm2022/cms-websql-taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data-DZu5K15E.mjs +91 -0
  2456. package/websql/fesm2022/cms-websql-taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data-DZu5K15E.mjs.map +1 -0
  2457. package/websql/fesm2022/cms-websql-taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data-CRkCojjy.mjs +91 -0
  2458. package/websql/fesm2022/cms-websql-taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data-CRkCojjy.mjs.map +1 -0
  2459. package/websql/fesm2022/cms-websql-taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data-BXqAixFd.mjs +91 -0
  2460. package/websql/fesm2022/cms-websql-taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data-BXqAixFd.mjs.map +1 -0
  2461. package/websql/fesm2022/cms-websql-taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data-DKshuSiD.mjs +76 -0
  2462. package/websql/fesm2022/cms-websql-taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data-DKshuSiD.mjs.map +1 -0
  2463. package/websql/fesm2022/cms-websql-taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data-DKOIhHgw.mjs +76 -0
  2464. package/websql/fesm2022/cms-websql-taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data-DKOIhHgw.mjs.map +1 -0
  2465. package/websql/fesm2022/cms-websql-taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data-N4dA3kVZ.mjs +76 -0
  2466. package/websql/fesm2022/cms-websql-taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data-N4dA3kVZ.mjs.map +1 -0
  2467. package/websql/fesm2022/cms-websql-taon-cms-taxonomy.validation.ts.de-DE.i18n.data-mXyxAtms.mjs +26 -0
  2468. package/websql/fesm2022/cms-websql-taon-cms-taxonomy.validation.ts.de-DE.i18n.data-mXyxAtms.mjs.map +1 -0
  2469. package/websql/fesm2022/cms-websql-taon-cms-taxonomy.validation.ts.en-US.i18n.data-6BvlMJFs.mjs +26 -0
  2470. package/websql/fesm2022/cms-websql-taon-cms-taxonomy.validation.ts.en-US.i18n.data-6BvlMJFs.mjs.map +1 -0
  2471. package/websql/fesm2022/cms-websql-taon-cms-taxonomy.validation.ts.pl-PL.i18n.data-D7qY_5ba.mjs +26 -0
  2472. package/websql/fesm2022/cms-websql-taon-cms-taxonomy.validation.ts.pl-PL.i18n.data-D7qY_5ba.mjs.map +1 -0
  2473. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.de-DE.i18n.data-CdkLKona.mjs +46 -0
  2474. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.de-DE.i18n.data-CdkLKona.mjs.map +1 -0
  2475. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.en-US.i18n.data-Ccs4aAAa.mjs +46 -0
  2476. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.en-US.i18n.data-Ccs4aAAa.mjs.map +1 -0
  2477. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.pl-PL.i18n.data-BJUDZW0d.mjs +46 -0
  2478. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.pl-PL.i18n.data-BJUDZW0d.mjs.map +1 -0
  2479. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.de-DE.i18n.data-y_x66BLv.mjs +21 -0
  2480. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.de-DE.i18n.data-y_x66BLv.mjs.map +1 -0
  2481. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.en-US.i18n.data-D5CUfAg0.mjs +21 -0
  2482. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.en-US.i18n.data-D5CUfAg0.mjs.map +1 -0
  2483. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.pl-PL.i18n.data-CrFrEqfR.mjs +21 -0
  2484. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.pl-PL.i18n.data-CrFrEqfR.mjs.map +1 -0
  2485. package/websql/fesm2022/cms-websql.mjs +2573 -466
  2486. package/websql/fesm2022/cms-websql.mjs.map +1 -1
  2487. package/websql/package.json +1 -1
  2488. package/websql/types/cms-websql.d.ts +395 -145
  2489. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-D-t_ndXn.mjs +31 -0
  2490. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-D-t_ndXn.mjs.map +1 -0
  2491. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.en-US.i18n.data-CHC8Rpav.mjs +31 -0
  2492. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.en-US.i18n.data-CHC8Rpav.mjs.map +1 -0
  2493. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-Dsra3EeZ.mjs +31 -0
  2494. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-Dsra3EeZ.mjs.map +1 -0
  2495. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-DT7qFf7D.mjs +21 -0
  2496. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-DT7qFf7D.mjs.map +1 -0
  2497. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.en-US.i18n.data-N_2QUNLq.mjs +21 -0
  2498. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.en-US.i18n.data-N_2QUNLq.mjs.map +1 -0
  2499. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-BqRkgB92.mjs +21 -0
  2500. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-BqRkgB92.mjs.map +1 -0
  2501. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-ByVH6z2Z.mjs +26 -0
  2502. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-ByVH6z2Z.mjs.map +1 -0
  2503. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.en-US.i18n.data-DSG7SK4m.mjs +26 -0
  2504. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.en-US.i18n.data-DSG7SK4m.mjs.map +1 -0
  2505. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-Bs8amcIs.mjs +26 -0
  2506. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-Bs8amcIs.mjs.map +1 -0
  2507. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-DGADylre.mjs +26 -0
  2508. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-DGADylre.mjs.map +1 -0
  2509. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-DjKWwkMP.mjs +26 -0
  2510. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-DjKWwkMP.mjs.map +1 -0
  2511. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-Cvak6-ec.mjs +26 -0
  2512. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-Cvak6-ec.mjs.map +1 -0
  2513. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.html.de-DE.i18n.data-C9czRdlm.mjs +16 -0
  2514. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.html.de-DE.i18n.data-C9czRdlm.mjs.map +1 -0
  2515. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.html.en-US.i18n.data-C64eFnqr.mjs +16 -0
  2516. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.html.en-US.i18n.data-C64eFnqr.mjs.map +1 -0
  2517. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.html.pl-PL.i18n.data-Cm-otof5.mjs +16 -0
  2518. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.html.pl-PL.i18n.data-Cm-otof5.mjs.map +1 -0
  2519. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.ts.de-DE.i18n.data-CSA7g7KN.mjs +10 -0
  2520. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.ts.de-DE.i18n.data-CSA7g7KN.mjs.map +1 -0
  2521. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.ts.en-US.i18n.data-BqWMae53.mjs +10 -0
  2522. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.ts.en-US.i18n.data-BqWMae53.mjs.map +1 -0
  2523. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.ts.pl-PL.i18n.data-DpAcVBSp.mjs +10 -0
  2524. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.ts.pl-PL.i18n.data-DpAcVBSp.mjs.map +1 -0
  2525. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-El7DeGTg.mjs +31 -0
  2526. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-El7DeGTg.mjs.map +1 -0
  2527. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-CzYi31y6.mjs +31 -0
  2528. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-CzYi31y6.mjs.map +1 -0
  2529. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data--hNK9Xkt.mjs +31 -0
  2530. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data--hNK9Xkt.mjs.map +1 -0
  2531. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.controller.ts.de-DE.i18n.data-CExlN4WS.mjs +16 -0
  2532. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.controller.ts.de-DE.i18n.data-CExlN4WS.mjs.map +1 -0
  2533. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.controller.ts.en-US.i18n.data-B_PYr-6x.mjs +16 -0
  2534. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.controller.ts.en-US.i18n.data-B_PYr-6x.mjs.map +1 -0
  2535. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.controller.ts.pl-PL.i18n.data-mQb8xdX1.mjs +16 -0
  2536. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.controller.ts.pl-PL.i18n.data-mQb8xdX1.mjs.map +1 -0
  2537. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.repository.ts.de-DE.i18n.data-C22PmYTv.mjs +26 -0
  2538. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.repository.ts.de-DE.i18n.data-C22PmYTv.mjs.map +1 -0
  2539. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.repository.ts.en-US.i18n.data-azzI-zfY.mjs +26 -0
  2540. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.repository.ts.en-US.i18n.data-azzI-zfY.mjs.map +1 -0
  2541. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.repository.ts.pl-PL.i18n.data-DStaGZRY.mjs +26 -0
  2542. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.repository.ts.pl-PL.i18n.data-DStaGZRY.mjs.map +1 -0
  2543. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.de-DE.i18n.data-BLkIVWeD.mjs +16 -0
  2544. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.de-DE.i18n.data-BLkIVWeD.mjs.map +1 -0
  2545. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.en-US.i18n.data-BlZyHTVD.mjs +16 -0
  2546. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.en-US.i18n.data-BlZyHTVD.mjs.map +1 -0
  2547. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-CbIqWbm3.mjs +16 -0
  2548. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-CbIqWbm3.mjs.map +1 -0
  2549. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.de-DE.i18n.data-BxcX3l2T.mjs +325 -0
  2550. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.de-DE.i18n.data-BxcX3l2T.mjs.map +1 -0
  2551. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.en-US.i18n.data-g9lHRbOQ.mjs +325 -0
  2552. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.en-US.i18n.data-g9lHRbOQ.mjs.map +1 -0
  2553. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.pl-PL.i18n.data-Cg4a0vHn.mjs +325 -0
  2554. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.pl-PL.i18n.data-Cg4a0vHn.mjs.map +1 -0
  2555. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.de-DE.i18n.data-BwRnTGxe.mjs +175 -0
  2556. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.de-DE.i18n.data-BwRnTGxe.mjs.map +1 -0
  2557. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.en-US.i18n.data-R5nOhvtu.mjs +172 -0
  2558. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.en-US.i18n.data-R5nOhvtu.mjs.map +1 -0
  2559. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.pl-PL.i18n.data-VmobXbTc.mjs +175 -0
  2560. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.pl-PL.i18n.data-VmobXbTc.mjs.map +1 -0
  2561. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-CgN5IPiF.mjs +21 -0
  2562. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-CgN5IPiF.mjs.map +1 -0
  2563. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.en-US.i18n.data-BHayrvIT.mjs +21 -0
  2564. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.en-US.i18n.data-BHayrvIT.mjs.map +1 -0
  2565. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-D20weGEY.mjs +21 -0
  2566. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-D20weGEY.mjs.map +1 -0
  2567. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-B4suZvEh.mjs +70 -0
  2568. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-B4suZvEh.mjs.map +1 -0
  2569. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-BF3C9IWs.mjs +70 -0
  2570. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-BF3C9IWs.mjs.map +1 -0
  2571. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-BWwu-KCW.mjs +70 -0
  2572. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-BWwu-KCW.mjs.map +1 -0
  2573. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-5LisKXGn.mjs +21 -0
  2574. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-5LisKXGn.mjs.map +1 -0
  2575. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-ChhV8nE4.mjs +21 -0
  2576. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-ChhV8nE4.mjs.map +1 -0
  2577. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-CEEZs_nF.mjs +21 -0
  2578. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-CEEZs_nF.mjs.map +1 -0
  2579. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.de-DE.i18n.data-s-UFLYqy.mjs +71 -0
  2580. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.de-DE.i18n.data-s-UFLYqy.mjs.map +1 -0
  2581. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.en-US.i18n.data-yxnI4hZm.mjs +71 -0
  2582. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.en-US.i18n.data-yxnI4hZm.mjs.map +1 -0
  2583. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-LaD1B9nr.mjs +71 -0
  2584. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-LaD1B9nr.mjs.map +1 -0
  2585. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-DIl-O_Xe.mjs +26 -0
  2586. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-DIl-O_Xe.mjs.map +1 -0
  2587. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.en-US.i18n.data-QJOWjM3u.mjs +26 -0
  2588. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.en-US.i18n.data-QJOWjM3u.mjs.map +1 -0
  2589. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-D7CkcVJ3.mjs +26 -0
  2590. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-D7CkcVJ3.mjs.map +1 -0
  2591. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.controller.ts.de-DE.i18n.data-DeQB5uhd.mjs +16 -0
  2592. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.controller.ts.de-DE.i18n.data-DeQB5uhd.mjs.map +1 -0
  2593. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.controller.ts.en-US.i18n.data-Dvq54oiB.mjs +16 -0
  2594. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.controller.ts.en-US.i18n.data-Dvq54oiB.mjs.map +1 -0
  2595. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.controller.ts.pl-PL.i18n.data-CXyb5AME.mjs +16 -0
  2596. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.controller.ts.pl-PL.i18n.data-CXyb5AME.mjs.map +1 -0
  2597. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.repository.ts.de-DE.i18n.data-xcmOlBF8.mjs +21 -0
  2598. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.repository.ts.de-DE.i18n.data-xcmOlBF8.mjs.map +1 -0
  2599. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.repository.ts.en-US.i18n.data-_HdJ-Rax.mjs +21 -0
  2600. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.repository.ts.en-US.i18n.data-_HdJ-Rax.mjs.map +1 -0
  2601. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.repository.ts.pl-PL.i18n.data-xYvTZmo4.mjs +21 -0
  2602. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.repository.ts.pl-PL.i18n.data-xYvTZmo4.mjs.map +1 -0
  2603. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data-DflSG3A7.mjs +91 -0
  2604. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data-DflSG3A7.mjs.map +1 -0
  2605. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data-CSzz-qCe.mjs +91 -0
  2606. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data-CSzz-qCe.mjs.map +1 -0
  2607. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data-Dx0k2Yyc.mjs +91 -0
  2608. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data-Dx0k2Yyc.mjs.map +1 -0
  2609. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data-DKDYzSnl.mjs +76 -0
  2610. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data-DKDYzSnl.mjs.map +1 -0
  2611. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data-MEvkiD1i.mjs +76 -0
  2612. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data-MEvkiD1i.mjs.map +1 -0
  2613. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data-CQhJ8ksS.mjs +76 -0
  2614. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data-CQhJ8ksS.mjs.map +1 -0
  2615. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-taxonomy.validation.ts.de-DE.i18n.data-C5DRXeX_.mjs +26 -0
  2616. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-taxonomy.validation.ts.de-DE.i18n.data-C5DRXeX_.mjs.map +1 -0
  2617. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-taxonomy.validation.ts.en-US.i18n.data-DkyJwBie.mjs +26 -0
  2618. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-taxonomy.validation.ts.en-US.i18n.data-DkyJwBie.mjs.map +1 -0
  2619. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-taxonomy.validation.ts.pl-PL.i18n.data-CFSqXG-_.mjs +26 -0
  2620. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-taxonomy.validation.ts.pl-PL.i18n.data-CFSqXG-_.mjs.map +1 -0
  2621. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.de-DE.i18n.data-BkJG3Jev.mjs +46 -0
  2622. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.de-DE.i18n.data-BkJG3Jev.mjs.map +1 -0
  2623. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.en-US.i18n.data-D5F4Gof4.mjs +46 -0
  2624. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.en-US.i18n.data-D5F4Gof4.mjs.map +1 -0
  2625. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.pl-PL.i18n.data-CupgNbP7.mjs +46 -0
  2626. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.pl-PL.i18n.data-CupgNbP7.mjs.map +1 -0
  2627. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.de-DE.i18n.data-O04abirC.mjs +21 -0
  2628. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.de-DE.i18n.data-O04abirC.mjs.map +1 -0
  2629. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.en-US.i18n.data-Bq84gw3j.mjs +21 -0
  2630. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.en-US.i18n.data-Bq84gw3j.mjs.map +1 -0
  2631. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.pl-PL.i18n.data-BIhfEto8.mjs +21 -0
  2632. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.pl-PL.i18n.data-BIhfEto8.mjs.map +1 -0
  2633. package/websql-prod/fesm2022/cms-websql-prod.mjs +2571 -464
  2634. package/websql-prod/fesm2022/cms-websql-prod.mjs.map +1 -1
  2635. package/websql-prod/package.json +1 -1
  2636. package/websql-prod/types/cms-websql-prod.d.ts +395 -145
  2637. package/full-dts/taon-posts/taon-cms-post-edit-dialog/index.d.ts +0 -2
  2638. package/full-dts/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.d.ts +0 -16
  2639. package/html/lib/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.html +0 -12
  2640. package/lib/taon-posts/taon-cms-post-edit-dialog/index.d.ts +0 -1
  2641. package/lib/taon-posts/taon-cms-post-edit-dialog/index.js +0 -5
  2642. package/lib/taon-posts/taon-cms-post-edit-dialog/index.js.map +0 -1
  2643. package/lib-esm/lib/taon-posts/taon-cms-post-edit-dialog/index.d.ts +0 -1
  2644. package/lib-esm/lib/taon-posts/taon-cms-post-edit-dialog/index.js +0 -2
  2645. package/lib-esm/lib/taon-posts/taon-cms-post-edit-dialog/index.js.map +0 -1
  2646. package/lib-prod/taon-posts/taon-cms-post-edit-dialog/index.d.ts +0 -1
  2647. package/lib-prod/taon-posts/taon-cms-post-edit-dialog/index.js +0 -2
  2648. package/lib-prod/taon-posts/taon-cms-post-edit-dialog/index.js.map +0 -1
  2649. package/scss/lib/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.scss +0 -19
  2650. package/ts-source/browser-code/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.html +0 -25
  2651. package/ts-source/browser-code/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.scss +0 -30
  2652. package/ts-source/browser-code/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.ts +0 -43
  2653. package/ts-source/browser-code-prod/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.html +0 -25
  2654. package/ts-source/browser-code-prod/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.scss +0 -30
  2655. package/ts-source/browser-code-prod/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.ts +0 -43
  2656. package/ts-source/websql-code/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.html +0 -25
  2657. package/ts-source/websql-code/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.scss +0 -30
  2658. package/ts-source/websql-code/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.ts +0 -43
  2659. package/ts-source/websql-code-prod/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.html +0 -25
  2660. package/ts-source/websql-code-prod/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.scss +0 -30
  2661. package/ts-source/websql-code-prod/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.ts +0 -43
  2662. /package/ts-source/browser-code-prod/{taon-posts/taon-cms-post-edit-dialog/index.split-namespaces.json → migrations/1792579000000_postPermissionInheritance.split-namespaces.json} +0 -0
  2663. /package/ts-source/browser-code-prod/{taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.split-namespaces.json → migrations/1793043000000_postThumbnails.split-namespaces.json} +0 -0
  2664. /package/ts-source/{websql-code-prod/taon-posts/taon-cms-post-edit-dialog/index.split-namespaces.json → browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.split-namespaces.json} +0 -0
  2665. /package/ts-source/{websql-code-prod/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.split-namespaces.json → browser-code-prod/taon-cms-assets-backoffice/taon-cms-asset-preview.component.split-namespaces.json} +0 -0
@@ -1,33 +1,42 @@
1
1
  import { __decorate, __metadata, __param } from 'tslib';
2
- import { TaonBaseEntity, TaonEntity, PrimaryGeneratedColumn, Column, OneToOne, JoinColumn, TaonBaseMigration, ClassHelpers, TaonMigration, TaonBaseAbstractEntity, TaonBaseRepository, TaonRepository, TaonBaseCrudController, TaonController, TaonBaseProvider, TaonProvider, TaonBaseMiddleware, TaonMiddleware, TaonBaseSubscriberForEntity, TaonSubscriber, createContext, TaonBaseContext, GET, Query, Taon, POST, Body, PUT, DELETE, TaonBaseStorageController, TaonBaseAngularService } from 'taon/browser';
3
- import { Table } from 'taon-typeorm/browser';
4
- import { UtilsJson } from 'tnp-core/browser';
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';
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, TaonSessionAbstractContext, TaonPermissionApiService } from '@taon-dev/session/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';
7
+ import { Translation } from '@taon-dev/i18n/browser';
7
8
  import * as i0 from '@angular/core';
8
- import { Injectable, ChangeDetectionStrategy, Component, inject, ElementRef, EventEmitter, SecurityContext, HostListener, Input, Output, Directive, signal, DestroyRef, computed, input, model, output, effect, untracked, viewChild, ViewChild } from '@angular/core';
9
- import { MtxGrid } from '@ng-matero/extensions/grid';
10
- import { AsyncPipe, DatePipe } from '@angular/common';
11
- import { RouterOutlet, ActivatedRoute, RouterLink, Router } from '@angular/router';
12
- import { adminLazyRoute as adminLazyRoute$1, TaonConfirmDialogComponent, TaonDatatableComponent } from '@taon-dev/ui/browser';
13
- import { map, catchError } from 'rxjs/operators';
14
- import { of, finalize, map as map$1, Subject, takeUntil } from 'rxjs';
15
- import { DomSanitizer } from '@angular/platform-browser';
16
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
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';
17
10
  import * as i1 from '@angular/material/button';
18
11
  import { MatButtonModule } from '@angular/material/button';
19
- import * as i2$1 from '@angular/material/checkbox';
20
- import { MatCheckboxModule } from '@angular/material/checkbox';
12
+ import { Observable, of, map as map$1, finalize, forkJoin, firstValueFrom } from 'rxjs';
13
+ import { map, catchError } from 'rxjs/operators';
14
+ import { Resource } from 'ng2-rest/browser';
15
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
16
+ import { TaonDatatableComponent, adminLazyRoute as adminLazyRoute$1, TaonConfirmDialogComponent } from '@taon-dev/ui/browser';
17
+ import { AsyncPipe, DatePipe } from '@angular/common';
18
+ import { RouterOutlet, ActivatedRoute, Router, RouterLink } from '@angular/router';
19
+ import * as i1$1 from '@angular/forms';
20
+ import { FormsModule } from '@angular/forms';
21
21
  import * as i2 from '@angular/material/dialog';
22
- import { MAT_DIALOG_DATA, MatDialogRef, MatDialogModule, MatDialog } from '@angular/material/dialog';
23
- import * as i3$1 from '@angular/material/form-field';
22
+ import { MatDialog, MAT_DIALOG_DATA, MatDialogRef, MatDialogModule } from '@angular/material/dialog';
23
+ import * as i3 from '@angular/material/form-field';
24
24
  import { MatFormFieldModule } from '@angular/material/form-field';
25
- import * as i4 from '@angular/material/icon';
25
+ import * as i4 from '@angular/material/input';
26
+ import { MatInputModule } from '@angular/material/input';
27
+ import * as i5 from '@angular/material/select';
28
+ import { MatSelectModule } from '@angular/material/select';
29
+ import { DomSanitizer } from '@angular/platform-browser';
30
+ import * as i2$1 from '@angular/material/checkbox';
31
+ import { MatCheckboxModule } from '@angular/material/checkbox';
32
+ import * as i4$1 from '@angular/material/icon';
26
33
  import { MatIconModule } from '@angular/material/icon';
27
- import * as i3 from '@angular/material/radio';
34
+ import * as i6 from '@angular/material/chips';
35
+ import { MatChipsModule } from '@angular/material/chips';
36
+ import * as i7 from '@angular/material/progress-bar';
37
+ import { MatProgressBarModule } from '@angular/material/progress-bar';
38
+ import * as i3$1 from '@angular/material/radio';
28
39
  import { MatRadioModule } from '@angular/material/radio';
29
- import * as i6 from '@angular/material/select';
30
- import { MatSelectModule } from '@angular/material/select';
31
40
 
32
41
  var TaonCmsContentType;
33
42
  (function (TaonCmsContentType) {
@@ -53,6 +62,9 @@ let TaonCmsContentEntity = class TaonCmsContentEntity extends TaonBaseEntity {
53
62
  this.type = TaonCmsContentType.Normal;
54
63
  /* */
55
64
  /* */
65
+ this.applyPermissionsToRelatedPosts = false;
66
+ /* */
67
+ /* */
56
68
  this.videoKey = null;
57
69
  /* */
58
70
  /* */
@@ -60,6 +72,9 @@ let TaonCmsContentEntity = class TaonCmsContentEntity extends TaonBaseEntity {
60
72
  /* */
61
73
  /* */
62
74
  this.attachmentKey = null;
75
+ /* */
76
+ /* */
77
+ this.thumbnailKey = null;
63
78
  }
64
79
  };
65
80
  TaonCmsContentEntity = __decorate([
@@ -176,14 +191,67 @@ CmsContext_1792506757808_applicaitonHooks = __decorate([
176
191
  ], CmsContext_1792506757808_applicaitonHooks);
177
192
  //#endregion
178
193
 
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
+
179
240
  // THIS FILE IS GENERATED - DO NOT MODIFY
180
241
  // THIS FILE IS GENERATED - DO NOT MODIFY
181
- const MIGRATIONS_CLASSES_FOR_CmsContext = {
242
+ const MIGRATIONS_CLASSES_FOR_CmsContext$1 = {
182
243
  /* 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,
183
246
  };
184
247
  // THIS FILE IS GENERATED - DO NOT MODIFY
185
248
 
186
249
  //@ts-nocheck
250
+ const MIGRATIONS_CLASSES_FOR_CmsContext = {
251
+ ...MIGRATIONS_CLASSES_FOR_CmsContext$1,
252
+ CmsContext_1792579000000_postPermissionInheritance,
253
+ CmsContext_1793043000000_postThumbnails,
254
+ };
187
255
 
188
256
  // THIS FILE IS GENERATED - DO NOT MODIFY
189
257
  /**
@@ -209,7 +277,7 @@ const CURRENT_PACKAGE_TAON_VERSION = 'v21';
209
277
  /**
210
278
  * Autogenerated by current cli tool. Use *tnp release* to bump version.
211
279
  */
212
- const CURRENT_PACKAGE_VERSION = '21.0.16';
280
+ const CURRENT_PACKAGE_VERSION = '21.0.18';
213
281
  // THIS FILE IS GENERATED - DO NOT MODIFY
214
282
 
215
283
  //#region tnp-helpers cli template
@@ -311,12 +379,186 @@ TaonCmsCategoryEntity = __decorate([
311
379
  })
312
380
  ], TaonCmsCategoryEntity);
313
381
 
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
+
314
492
  //#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 } });
315
494
  let TaonCmsCategoryRepository = class TaonCmsCategoryRepository extends TaonBaseRepository {
316
495
  constructor() {
317
496
  super(...arguments);
318
497
  this.entityClassResolveFn = () => TaonCmsCategoryEntity;
319
498
  }
499
+ async saveCategory(id, input) {
500
+ /* */
501
+ /* */
502
+ /* */
503
+ /* */
504
+ /* */
505
+ /* */
506
+ /* */
507
+ /* */
508
+ /* */
509
+ /* */
510
+ /* */
511
+ /* */
512
+ /* */
513
+ /* */
514
+ /* */
515
+ /* */
516
+ /* */
517
+ /* */
518
+ /* */
519
+ /* */
520
+ /* */
521
+ /* */
522
+ /* */
523
+ /* */
524
+ /* */
525
+ /* */
526
+ /* */
527
+ /* */
528
+ /* */
529
+ /* */
530
+ /* */
531
+ /* */
532
+ /* */
533
+ /* */
534
+ /* */
535
+ /* */
536
+ /* */
537
+ return (void 0);
538
+ }
539
+ async deleteCategory(id) {
540
+ /* */
541
+ /* */
542
+ /* */
543
+ /* */
544
+ /* */
545
+ /* */
546
+ /* */
547
+ /* */
548
+ /* */
549
+ /* */
550
+ /* */
551
+ /* */
552
+ /* */
553
+ /* */
554
+ /* */
555
+ /* */
556
+ /* */
557
+ /* */
558
+ /* */
559
+ /* */
560
+ return (void 0);
561
+ }
320
562
  async requireCategory(id, manager) {
321
563
  /* */
322
564
  /* */
@@ -340,12 +582,48 @@ let TaonCmsCategoryController = class TaonCmsCategoryController extends TaonBase
340
582
  super(...arguments);
341
583
  this.entityClassResolveFn = () => TaonCmsCategoryEntity;
342
584
  this.taonCmsCategoryRepository = this.injectCustomRepo(TaonCmsCategoryRepository);
585
+ this.sessions = this.injectCustomRepo(TaonSessionRepository);
586
+ this.auth = this.injectCustomRepo(TaonAuthContextRepository);
587
+ }
588
+ async beforeEachRequest({ req, res, t, }) {
589
+ /* */
590
+ /* */
591
+ /* */
592
+ /* */
593
+ /* */
594
+ /* */
595
+ return (void 0);
596
+ }
597
+ saveCategory(id, input) {
598
+ /* */
599
+ /* */
600
+ return (void 0);
601
+ }
602
+ deleteCategory(id) {
603
+ /* */
604
+ /* */
605
+ return (void 0);
343
606
  }
344
607
  };
608
+ __decorate([
609
+ POST(),
610
+ __param(0, Query('id')),
611
+ __param(1, Body()),
612
+ __metadata("design:type", Function),
613
+ __metadata("design:paramtypes", [Number, Object]),
614
+ __metadata("design:returntype", Object)
615
+ ], TaonCmsCategoryController.prototype, "saveCategory", null);
616
+ __decorate([
617
+ DELETE(),
618
+ __param(0, Query('id')),
619
+ __metadata("design:type", Function),
620
+ __metadata("design:paramtypes", [Number]),
621
+ __metadata("design:returntype", Object)
622
+ ], TaonCmsCategoryController.prototype, "deleteCategory", null);
345
623
  TaonCmsCategoryController = __decorate([
346
624
  TaonController({
347
625
  className: 'TaonCmsCategoryController',
348
- allowedMethods: [],
626
+ allowedMethods: ['getAll', 'saveCategory', 'deleteCategory'],
349
627
  })
350
628
  ], TaonCmsCategoryController);
351
629
 
@@ -797,12 +1075,13 @@ TaonCmsTagEntity = __decorate([
797
1075
  ], TaonCmsTagEntity);
798
1076
 
799
1077
  //#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 } });
800
1079
  let TaonCmsTagRepository = class TaonCmsTagRepository extends TaonBaseRepository {
801
1080
  constructor() {
802
1081
  super(...arguments);
803
1082
  this.entityClassResolveFn = () => TaonCmsTagEntity;
804
1083
  }
805
- async requireTags(ids, manager) {
1084
+ async saveTag(id, input) {
806
1085
  /* */
807
1086
  /* */
808
1087
  /* */
@@ -812,12 +1091,6 @@ let TaonCmsTagRepository = class TaonCmsTagRepository extends TaonBaseRepository
812
1091
  /* */
813
1092
  /* */
814
1093
  /* */
815
- return (void 0);
816
- }
817
- /**
818
- * TODO remove this demo example method
819
- */
820
- async countEntitesWithEvenId() {
821
1094
  /* */
822
1095
  /* */
823
1096
  /* */
@@ -825,23 +1098,100 @@ let TaonCmsTagRepository = class TaonCmsTagRepository extends TaonBaseRepository
825
1098
  /* */
826
1099
  /* */
827
1100
  /* */
828
- return (void 0);
829
- }
830
- };
831
- TaonCmsTagRepository = __decorate([
832
- TaonRepository({
833
- className: 'TaonCmsTagRepository',
834
- })
835
- ], TaonCmsTagRepository);
836
-
837
- //#endregion
838
- let TaonCmsTagController = class TaonCmsTagController extends TaonBaseCrudController {
1101
+ /* */
1102
+ /* */
1103
+ /* */
1104
+ /* */
1105
+ /* */
1106
+ /* */
1107
+ /* */
1108
+ /* */
1109
+ /* */
1110
+ /* */
1111
+ /* */
1112
+ /* */
1113
+ return (void 0);
1114
+ }
1115
+ async deleteTag(id) {
1116
+ /* */
1117
+ /* */
1118
+ /* */
1119
+ /* */
1120
+ /* */
1121
+ /* */
1122
+ /* */
1123
+ /* */
1124
+ /* */
1125
+ /* */
1126
+ /* */
1127
+ /* */
1128
+ /* */
1129
+ /* */
1130
+ /* */
1131
+ /* */
1132
+ return (void 0);
1133
+ }
1134
+ async requireTags(ids, manager) {
1135
+ /* */
1136
+ /* */
1137
+ /* */
1138
+ /* */
1139
+ /* */
1140
+ /* */
1141
+ /* */
1142
+ /* */
1143
+ /* */
1144
+ return (void 0);
1145
+ }
1146
+ /**
1147
+ * TODO remove this demo example method
1148
+ */
1149
+ async countEntitesWithEvenId() {
1150
+ /* */
1151
+ /* */
1152
+ /* */
1153
+ /* */
1154
+ /* */
1155
+ /* */
1156
+ /* */
1157
+ return (void 0);
1158
+ }
1159
+ };
1160
+ TaonCmsTagRepository = __decorate([
1161
+ TaonRepository({
1162
+ className: 'TaonCmsTagRepository',
1163
+ })
1164
+ ], TaonCmsTagRepository);
1165
+
1166
+ //#endregion
1167
+ let TaonCmsTagController = class TaonCmsTagController extends TaonBaseCrudController {
839
1168
  constructor() {
840
1169
  super(...arguments);
841
1170
  this.entityClassResolveFn = () => TaonCmsTagEntity;
842
1171
  this.taonCmsTagRepository = this.injectCustomRepo(TaonCmsTagRepository);
1172
+ this.sessions = this.injectCustomRepo(TaonSessionRepository);
1173
+ this.auth = this.injectCustomRepo(TaonAuthContextRepository);
843
1174
  //#endregion
844
1175
  }
1176
+ async beforeEachRequest({ req, res, t, }) {
1177
+ /* */
1178
+ /* */
1179
+ /* */
1180
+ /* */
1181
+ /* */
1182
+ /* */
1183
+ return (void 0);
1184
+ }
1185
+ saveTag(id, input) {
1186
+ /* */
1187
+ /* */
1188
+ return (void 0);
1189
+ }
1190
+ deleteTag(id) {
1191
+ /* */
1192
+ /* */
1193
+ return (void 0);
1194
+ }
845
1195
  //#region methods & getters / hello world
846
1196
  /**
847
1197
  * TODO remove this demo example method
@@ -860,6 +1210,21 @@ let TaonCmsTagController = class TaonCmsTagController extends TaonBaseCrudContro
860
1210
  return (void 0);
861
1211
  }
862
1212
  };
1213
+ __decorate([
1214
+ POST(),
1215
+ __param(0, Query('id')),
1216
+ __param(1, Body()),
1217
+ __metadata("design:type", Function),
1218
+ __metadata("design:paramtypes", [Number, Object]),
1219
+ __metadata("design:returntype", Object)
1220
+ ], TaonCmsTagController.prototype, "saveTag", null);
1221
+ __decorate([
1222
+ DELETE(),
1223
+ __param(0, Query('id')),
1224
+ __metadata("design:type", Function),
1225
+ __metadata("design:paramtypes", [Number]),
1226
+ __metadata("design:returntype", Object)
1227
+ ], TaonCmsTagController.prototype, "deleteTag", null);
863
1228
  __decorate([
864
1229
  GET(),
865
1230
  __param(0, Query('yourName')),
@@ -870,7 +1235,7 @@ __decorate([
870
1235
  TaonCmsTagController = __decorate([
871
1236
  TaonController({
872
1237
  className: 'TaonCmsTagController',
873
- allowedMethods: []
1238
+ allowedMethods: ['getAll', 'saveTag', 'deleteTag'],
874
1239
  })
875
1240
  ], TaonCmsTagController);
876
1241
 
@@ -929,106 +1294,6 @@ const TaonCmsTagAbstractContext = createContext(() => ({
929
1294
  subscribers: { TaonCmsTagSubscriber },
930
1295
  }));
931
1296
 
932
- //#region taon auth decorator
933
- const TaonSessionCoreGroups = {
934
- ...TaonSessionCoreGroups$1,
935
- Manager: 'manager',
936
- };
937
- const TaonSessionCoreRoles = {
938
- ...TaonSessionCoreRoles$1,
939
- /**
940
- * Can manage roles and permissions assigned directly to users.
941
- * Does NOT allow changing user groups.
942
- */
943
- PostsManager: 'posts-manager',
944
- };
945
- const TaonSessionCorePermissions = {
946
- ...TaonSessionCorePermissions$1,
947
- };
948
- let TaonAuthContextEntity = class TaonAuthContextEntity extends TaonAuthContextEntity$1 {
949
- // @ts-ignore
950
- get hasAccess() {
951
- return this.injectClass(TaonAuthContextHasAccess, this);
952
- }
953
- };
954
- TaonAuthContextEntity = __decorate([
955
- TaonEntity({
956
- className: 'TaonAuthContextEntity',
957
- createTable: false,
958
- })
959
- ], TaonAuthContextEntity);
960
- class TaonAuthContextHasAccess extends TaonAuthContextHasAccess$1 {
961
- get toManagePosts() {
962
- //#region @browserFunc
963
- return this.context.snapshoot.toManagePosts;
964
- //#endregion
965
- /* */
966
- /* */
967
- /* */
968
- /* */
969
- /* */
970
- return (void 0);
971
- }
972
- }
973
- let TaonAuthContextRepository = class TaonAuthContextRepository extends TaonAuthContextRepository$1 {
974
- constructor() {
975
- super(...arguments);
976
- // @ts-ignore
977
- this.entityClassResolveFn = () => TaonAuthContextEntity;
978
- }
979
- };
980
- TaonAuthContextRepository = __decorate([
981
- TaonRepository({
982
- className: 'TaonAuthContextRepository',
983
- })
984
- ], TaonAuthContextRepository);
985
- let CmsContext_1791132517217_initial = class CmsContext_1791132517217_initial extends MIGRATIONS_CLASSES_FOR_SessionContext.SessionContext_1791132517216_initial {
986
- async persistTree() {
987
- /* */
988
- /* */
989
- /* */
990
- /* */
991
- /* */
992
- /* */
993
- /* */
994
- /* */
995
- /* */
996
- /* */
997
- /* */
998
- /* */
999
- /* */
1000
- /* */
1001
- /* */
1002
- /* */
1003
- /* */
1004
- /* */
1005
- /* */
1006
- /* */
1007
- /* */
1008
- /* */
1009
- /* */
1010
- /* */
1011
- /* */
1012
- /* */
1013
- /* */
1014
- /* */
1015
- /* */
1016
- /* */
1017
- /* */
1018
- /* */
1019
- /* */
1020
- /* */
1021
- /* */
1022
- return (void 0);
1023
- }
1024
- };
1025
- CmsContext_1791132517217_initial = __decorate([
1026
- TaonMigration({
1027
- className: 'CmsContext_1791132517217_initial',
1028
- })
1029
- ], CmsContext_1791132517217_initial);
1030
- //#endregion
1031
-
1032
1297
  function contentError(message, status = 400) {
1033
1298
  Taon.error({ message, status });
1034
1299
  throw new Error(message);
@@ -1059,7 +1324,12 @@ function validateContentInput(input, creating = false) {
1059
1324
  }
1060
1325
  }
1061
1326
  for (const field of [
1062
- 'body', 'excerpt', 'videoKey', 'audioKey', 'attachmentKey',
1327
+ 'body',
1328
+ 'excerpt',
1329
+ 'videoKey',
1330
+ 'audioKey',
1331
+ 'attachmentKey',
1332
+ 'thumbnailKey',
1063
1333
  ]) {
1064
1334
  if (input[field] !== undefined &&
1065
1335
  input[field] !== null &&
@@ -1072,6 +1342,10 @@ function validateContentInput(input, creating = false) {
1072
1342
  requireContentId(input[field], field);
1073
1343
  }
1074
1344
  }
1345
+ if (input.applyPermissionsToRelatedPosts !== undefined &&
1346
+ typeof input.applyPermissionsToRelatedPosts !== 'boolean') {
1347
+ contentError('applyPermissionsToRelatedPosts must be a boolean.');
1348
+ }
1075
1349
  if (input.status !== undefined &&
1076
1350
  !['draft', 'published', 'archived'].includes(input.status)) {
1077
1351
  contentError('status must be draft, published, or archived.');
@@ -1098,29 +1372,561 @@ function validateContentInput(input, creating = false) {
1098
1372
  }
1099
1373
  }
1100
1374
  }
1101
- }
1102
-
1103
- //#endregion
1104
- let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRepository {
1105
- constructor() {
1106
- super(...arguments);
1107
- this.entityClassResolveFn = () => TaonCmsContentEntity;
1108
- this.taonCmsContentRevisionRepository = this.injectCustomRepo(TaonCmsContentRevisionRepository);
1109
- this.taonCmsContentTagRepository = this.injectCustomRepo(TaonCmsContentTagRepository);
1110
- this.taonCmsCategoryRepository = this.injectCustomRepo(TaonCmsCategoryRepository);
1111
- this.tags = this.injectCustomRepo(TaonCmsTagRepository);
1375
+ }
1376
+
1377
+ //#endregion
1378
+ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRepository {
1379
+ constructor() {
1380
+ super(...arguments);
1381
+ this.entityClassResolveFn = () => TaonCmsContentEntity;
1382
+ this.taonCmsContentRevisionRepository = this.injectCustomRepo(TaonCmsContentRevisionRepository);
1383
+ this.taonCmsContentTagRepository = this.injectCustomRepo(TaonCmsContentTagRepository);
1384
+ this.taonCmsCategoryRepository = this.injectCustomRepo(TaonCmsCategoryRepository);
1385
+ this.tags = this.injectCustomRepo(TaonCmsTagRepository);
1386
+ }
1387
+ async listTagIds(id) {
1388
+ /* */
1389
+ /* */
1390
+ /* */
1391
+ /* */
1392
+ /* */
1393
+ /* */
1394
+ return (void 0);
1395
+ }
1396
+ async createContent(input) {
1397
+ /* */
1398
+ /* */
1399
+ /* */
1400
+ /* */
1401
+ /* */
1402
+ return (void 0);
1403
+ }
1404
+ async duplicateContent(id) {
1405
+ /* */
1406
+ /* */
1407
+ /* */
1408
+ /* */
1409
+ /* */
1410
+ /* */
1411
+ /* */
1412
+ /* */
1413
+ /* */
1414
+ /* */
1415
+ /* */
1416
+ /* */
1417
+ /* */
1418
+ /* */
1419
+ /* */
1420
+ /* */
1421
+ /* */
1422
+ /* */
1423
+ /* */
1424
+ /* */
1425
+ /* */
1426
+ /* */
1427
+ /* */
1428
+ /* */
1429
+ /* */
1430
+ /* */
1431
+ /* */
1432
+ /* */
1433
+ /* */
1434
+ /* */
1435
+ /* */
1436
+ /* */
1437
+ /* */
1438
+ /* */
1439
+ /* */
1440
+ /* */
1441
+ /* */
1442
+ /* */
1443
+ /* */
1444
+ /* */
1445
+ /* */
1446
+ /* */
1447
+ /* */
1448
+ /* */
1449
+ /* */
1450
+ return (void 0);
1451
+ }
1452
+ async createContentWithManager(input, manager) {
1453
+ /* */
1454
+ /* */
1455
+ /* */
1456
+ /* */
1457
+ /* */
1458
+ /* */
1459
+ /* */
1460
+ /* */
1461
+ /* */
1462
+ /* */
1463
+ /* */
1464
+ /* */
1465
+ /* */
1466
+ /* */
1467
+ /* */
1468
+ /* */
1469
+ /* */
1470
+ /* */
1471
+ /* */
1472
+ /* */
1473
+ /* */
1474
+ /* */
1475
+ /* */
1476
+ /* */
1477
+ /* */
1478
+ /* */
1479
+ /* */
1480
+ /* */
1481
+ /* */
1482
+ /* */
1483
+ /* */
1484
+ /* */
1485
+ /* */
1486
+ /* */
1487
+ /* */
1488
+ /* */
1489
+ return (void 0);
1490
+ }
1491
+ async updateContent(id, input) {
1492
+ /* */
1493
+ /* */
1494
+ /* */
1495
+ /* */
1496
+ /* */
1497
+ /* */
1498
+ /* */
1499
+ /* */
1500
+ /* */
1501
+ /* */
1502
+ /* */
1503
+ /* */
1504
+ /* */
1505
+ /* */
1506
+ /* */
1507
+ /* */
1508
+ /* */
1509
+ /* */
1510
+ /* */
1511
+ /* */
1512
+ /* */
1513
+ /* */
1514
+ /* */
1515
+ /* */
1516
+ /* */
1517
+ /* */
1518
+ /* */
1519
+ /* */
1520
+ return (void 0);
1521
+ }
1522
+ async archiveContent(id, expectedVersion) {
1523
+ /* */
1524
+ /* */
1525
+ return (void 0);
1526
+ }
1527
+ async restoreContent(id, input) {
1528
+ /* */
1529
+ /* */
1530
+ /* */
1531
+ /* */
1532
+ /* */
1533
+ /* */
1534
+ /* */
1535
+ /* */
1536
+ /* */
1537
+ /* */
1538
+ /* */
1539
+ /* */
1540
+ /* */
1541
+ /* */
1542
+ /* */
1543
+ /* */
1544
+ /* */
1545
+ /* */
1546
+ /* */
1547
+ /* */
1548
+ /* */
1549
+ /* */
1550
+ /* */
1551
+ /* */
1552
+ /* */
1553
+ /* */
1554
+ /* */
1555
+ /* */
1556
+ /* */
1557
+ /* */
1558
+ /* */
1559
+ /* */
1560
+ /* */
1561
+ /* */
1562
+ /* */
1563
+ /* */
1564
+ /* */
1565
+ /* */
1566
+ /* */
1567
+ /* */
1568
+ /* */
1569
+ /* */
1570
+ /* */
1571
+ /* */
1572
+ /* */
1573
+ /* */
1574
+ /* */
1575
+ /* */
1576
+ /* */
1577
+ /* */
1578
+ /* */
1579
+ /* */
1580
+ /* */
1581
+ /* */
1582
+ /* */
1583
+ /* */
1584
+ /* */
1585
+ /* */
1586
+ return (void 0);
1587
+ }
1588
+ async listRevisions(id) {
1589
+ /* */
1590
+ /* */
1591
+ /* */
1592
+ /* */
1593
+ /* */
1594
+ /* */
1595
+ return (void 0);
1596
+ }
1597
+ async listRelatedPosts(id) {
1598
+ /* */
1599
+ /* */
1600
+ /* */
1601
+ /* */
1602
+ /* */
1603
+ return (void 0);
1604
+ }
1605
+ async listPermissions(id) {
1606
+ /* */
1607
+ /* */
1608
+ /* */
1609
+ return (void 0);
1610
+ }
1611
+ async getPermissionConfiguration(id) {
1612
+ /* */
1613
+ /* */
1614
+ /* */
1615
+ /* */
1616
+ /* */
1617
+ /* */
1618
+ return (void 0);
1619
+ }
1620
+ async resolvePermissionConfiguration(post, manager) {
1621
+ /* */
1622
+ /* */
1623
+ /* */
1624
+ /* */
1625
+ /* */
1626
+ /* */
1627
+ /* */
1628
+ /* */
1629
+ /* */
1630
+ /* */
1631
+ /* */
1632
+ /* */
1633
+ /* */
1634
+ /* */
1635
+ /* */
1636
+ /* */
1637
+ /* */
1638
+ /* */
1639
+ /* */
1640
+ /* */
1641
+ /* */
1642
+ /* */
1643
+ /* */
1644
+ /* */
1645
+ /* */
1646
+ /* */
1647
+ /* */
1648
+ /* */
1649
+ /* */
1650
+ /* */
1651
+ /* */
1652
+ /* */
1653
+ /* */
1654
+ return (void 0);
1655
+ }
1656
+ async validatePermissionInheritance(manager) {
1657
+ /* */
1658
+ /* */
1659
+ /* */
1660
+ /* */
1661
+ /* */
1662
+ /* */
1663
+ /* */
1664
+ /* */
1665
+ /* */
1666
+ /* */
1667
+ /* */
1668
+ /* */
1669
+ /* */
1670
+ /* */
1671
+ /* */
1672
+ /* */
1673
+ /* */
1674
+ /* */
1675
+ /* */
1676
+ /* */
1677
+ /* */
1678
+ /* */
1679
+ /* */
1680
+ /* */
1681
+ /* */
1682
+ /* */
1683
+ /* */
1684
+ /* */
1685
+ /* */
1686
+ /* */
1687
+ return (void 0);
1688
+ }
1689
+ async requireOwnPermissionEdit(id, permissionIds, current, manager) {
1690
+ /* */
1691
+ /* */
1692
+ /* */
1693
+ /* */
1694
+ /* */
1695
+ /* */
1696
+ /* */
1697
+ /* */
1698
+ /* */
1699
+ /* */
1700
+ /* */
1701
+ /* */
1702
+ /* */
1703
+ /* */
1704
+ /* */
1705
+ /* */
1706
+ /* */
1707
+ /* */
1708
+ return (void 0);
1709
+ }
1710
+ async listApplicationHooks() {
1711
+ /* */
1712
+ /* */
1713
+ /* */
1714
+ /* */
1715
+ return (void 0);
1716
+ }
1717
+ async getContentByHook(hook) {
1718
+ /* */
1719
+ /* */
1720
+ return (void 0);
1721
+ }
1722
+ async getContentForHook(hook) {
1723
+ /* */
1724
+ /* */
1725
+ /* */
1726
+ /* */
1727
+ /* */
1728
+ /* */
1729
+ /* */
1730
+ /* */
1731
+ /* */
1732
+ /* */
1733
+ /* */
1734
+ return (void 0);
1735
+ }
1736
+ //#region methods / media access
1737
+ async getContentBySlugForMedia(slug) {
1738
+ /* */
1739
+ /* */
1740
+ /* */
1741
+ /* */
1742
+ /* */
1743
+ /* */
1744
+ /* */
1745
+ /* */
1746
+ /* */
1747
+ /* */
1748
+ return (void 0);
1749
+ }
1750
+ async isPublicMediaKey(key) {
1751
+ /* */
1752
+ /* */
1753
+ /* */
1754
+ /* */
1755
+ /* */
1756
+ /* */
1757
+ /* */
1758
+ /* */
1759
+ /* */
1760
+ /* */
1761
+ /* */
1762
+ /* */
1763
+ /* */
1764
+ /* */
1765
+ /* */
1766
+ /* */
1767
+ /* */
1768
+ /* */
1769
+ /* */
1770
+ /* */
1771
+ /* */
1772
+ /* */
1773
+ /* */
1774
+ /* */
1775
+ /* */
1776
+ return (void 0);
1777
+ }
1778
+ //#endregion
1779
+ async addRelatedPost(id, relatedPostId, expectedVersion) {
1780
+ /* */
1781
+ /* */
1782
+ return (void 0);
1783
+ }
1784
+ async deleteRelatedPost(id, relatedPostId, expectedVersion) {
1785
+ /* */
1786
+ /* */
1787
+ return (void 0);
1788
+ }
1789
+ async changeRelatedPost(id, relatedPostId, expectedVersion, adding) {
1790
+ /* */
1791
+ /* */
1792
+ /* */
1793
+ /* */
1794
+ /* */
1795
+ /* */
1796
+ /* */
1797
+ /* */
1798
+ /* */
1799
+ /* */
1800
+ /* */
1801
+ /* */
1802
+ /* */
1803
+ /* */
1804
+ /* */
1805
+ /* */
1806
+ /* */
1807
+ return (void 0);
1808
+ }
1809
+ async requireContent(id, manager) {
1810
+ /* */
1811
+ /* */
1812
+ /* */
1813
+ /* */
1814
+ /* */
1815
+ /* */
1816
+ /* */
1817
+ /* */
1818
+ /* */
1819
+ /* */
1820
+ /* */
1821
+ /* */
1822
+ /* */
1823
+ /* */
1824
+ /* */
1825
+ return (void 0);
1826
+ }
1827
+ contentFields(input, current) {
1828
+ const type = input.type ?? current?.type ?? TaonCmsContentType.Normal;
1829
+ const title = input.title ?? current?.title;
1830
+ const slug = input.slug ?? current?.slug;
1831
+ if (title === undefined || slug === undefined) {
1832
+ contentError('title and slug are required.');
1833
+ }
1834
+ const publishedAt = input.publishedAt === undefined
1835
+ ? (current?.publishedAt ?? null)
1836
+ : input.publishedAt;
1837
+ return {
1838
+ type,
1839
+ title,
1840
+ slug,
1841
+ body: input.body === undefined ? (current?.body ?? null) : input.body,
1842
+ videoKey: input.videoKey === undefined
1843
+ ? (current?.videoKey ?? null)
1844
+ : input.videoKey,
1845
+ audioKey: input.audioKey === undefined
1846
+ ? (current?.audioKey ?? null)
1847
+ : input.audioKey,
1848
+ attachmentKey: input.attachmentKey === undefined
1849
+ ? (current?.attachmentKey ?? null)
1850
+ : input.attachmentKey,
1851
+ thumbnailKey: input.thumbnailKey === undefined
1852
+ ? (current?.thumbnailKey ?? null)
1853
+ : input.thumbnailKey,
1854
+ excerpt: input.excerpt === undefined
1855
+ ? (current?.excerpt ?? null)
1856
+ : input.excerpt,
1857
+ categoryId: input.categoryId === undefined
1858
+ ? (current?.categoryId ?? null)
1859
+ : input.categoryId,
1860
+ authorUserId: input.authorUserId === undefined
1861
+ ? (current?.authorUserId ?? null)
1862
+ : input.authorUserId,
1863
+ status: input.status ?? current?.status ?? 'draft',
1864
+ publishedAt: publishedAt === null ? null : new Date(publishedAt),
1865
+ applyPermissionsToRelatedPosts: input.applyPermissionsToRelatedPosts ??
1866
+ current?.applyPermissionsToRelatedPosts ??
1867
+ false,
1868
+ };
1869
+ }
1870
+ async snapshotOf(content, manager) {
1871
+ /* */
1872
+ /* */
1873
+ /* */
1874
+ /* */
1875
+ /* */
1876
+ /* */
1877
+ /* */
1878
+ /* */
1879
+ /* */
1880
+ /* */
1881
+ /* */
1882
+ /* */
1883
+ /* */
1884
+ return (void 0);
1885
+ }
1886
+ contentStatus(status) {
1887
+ if (status !== 'draft' && status !== 'published' && status !== 'archived') {
1888
+ contentError(`Unsupported stored content status: ${status}.`, 409);
1889
+ }
1890
+ return status;
1891
+ }
1892
+ async validateReferences(fields, tagIds, permissionIds, manager) {
1893
+ /* */
1894
+ /* */
1895
+ /* */
1896
+ /* */
1897
+ /* */
1898
+ /* */
1899
+ /* */
1900
+ /* */
1901
+ /* */
1902
+ return (void 0);
1112
1903
  }
1113
- async createContent(input) {
1904
+ async requirePermissions(permissionIds, manager) {
1905
+ /* */
1906
+ /* */
1114
1907
  /* */
1115
1908
  /* */
1116
1909
  /* */
1117
1910
  /* */
1118
1911
  /* */
1912
+ /* */
1913
+ /* */
1914
+ /* */
1915
+ /* */
1916
+ /* */
1917
+ return (void 0);
1918
+ }
1919
+ async requireAvailableSlug(slug, manager, contentId) {
1119
1920
  /* */
1120
1921
  /* */
1121
1922
  /* */
1122
1923
  /* */
1123
1924
  /* */
1925
+ /* */
1926
+ /* */
1927
+ return (void 0);
1928
+ }
1929
+ async replaceRelatedPosts(id, relatedPostIds, previousIds, manager) {
1124
1930
  /* */
1125
1931
  /* */
1126
1932
  /* */
@@ -1149,11 +1955,25 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1149
1955
  /* */
1150
1956
  return (void 0);
1151
1957
  }
1152
- async updateContent(id, input) {
1958
+ async replacePermissions(id, permissionIds, previousIds, manager) {
1959
+ /* */
1153
1960
  /* */
1154
1961
  /* */
1155
1962
  /* */
1156
1963
  /* */
1964
+ /* */
1965
+ /* */
1966
+ /* */
1967
+ /* */
1968
+ /* */
1969
+ /* */
1970
+ /* */
1971
+ /* */
1972
+ /* */
1973
+ /* */
1974
+ return (void 0);
1975
+ }
1976
+ async replaceApplicationHook(contentId, hook, manager) {
1157
1977
  /* */
1158
1978
  /* */
1159
1979
  /* */
@@ -1178,14 +1998,14 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1178
1998
  /* */
1179
1999
  /* */
1180
2000
  /* */
1181
- return (void 0);
1182
- }
1183
- async archiveContent(id, expectedVersion) {
1184
2001
  /* */
1185
2002
  /* */
1186
2003
  return (void 0);
1187
2004
  }
1188
- async restoreContent(id, input) {
2005
+ async commitUpdate(current, expectedVersion, snapshot, manager, applicationHook) {
2006
+ /* */
2007
+ /* */
2008
+ /* */
1189
2009
  /* */
1190
2010
  /* */
1191
2011
  /* */
@@ -1240,26 +2060,17 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1240
2060
  /* */
1241
2061
  /* */
1242
2062
  /* */
1243
- return (void 0);
1244
- }
1245
- async listRevisions(id) {
1246
2063
  /* */
1247
2064
  /* */
1248
2065
  /* */
1249
2066
  /* */
1250
2067
  /* */
1251
2068
  /* */
1252
- return (void 0);
1253
- }
1254
- async listRelatedPosts(id) {
1255
2069
  /* */
1256
2070
  /* */
1257
2071
  /* */
1258
2072
  /* */
1259
2073
  /* */
1260
- return (void 0);
1261
- }
1262
- async listPermissions(id) {
1263
2074
  /* */
1264
2075
  /* */
1265
2076
  /* */
@@ -1267,14 +2078,37 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1267
2078
  /* */
1268
2079
  return (void 0);
1269
2080
  }
1270
- async listApplicationHooks() {
2081
+ /**
2082
+ * TODO remove this demo example method
2083
+ */
2084
+ async countEntitesWithEvenId() {
2085
+ /* */
2086
+ /* */
2087
+ /* */
1271
2088
  /* */
1272
2089
  /* */
1273
2090
  /* */
1274
2091
  /* */
1275
2092
  return (void 0);
1276
2093
  }
1277
- async getContentByHook(hook) {
2094
+ };
2095
+ TaonCmsContentRepository = __decorate([
2096
+ TaonRepository({
2097
+ className: 'TaonCmsContentRepository',
2098
+ })
2099
+ ], TaonCmsContentRepository);
2100
+
2101
+ //#endregion
2102
+ let TaonCmsContentStorageController = class TaonCmsContentStorageController extends TaonBaseStorageController {
2103
+ constructor() {
2104
+ super(...arguments);
2105
+ this.taonSessionRepository = this.injectCustomRepo(TaonSessionRepository);
2106
+ this.taonAuthContextRepository = this.injectCustomRepo(TaonAuthContextRepository);
2107
+ this.taonCmsContentRepository = this.injectCustomRepo(TaonCmsContentRepository);
2108
+ this.taonSessionProvider = this.injectProvider(TaonSessionProvider);
2109
+ }
2110
+ async beforeEachRequest({ req, res, methodConfig, t, }) {
2111
+ /* */
1278
2112
  /* */
1279
2113
  /* */
1280
2114
  /* */
@@ -1286,19 +2120,16 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1286
2120
  /* */
1287
2121
  /* */
1288
2122
  /* */
1289
- return (void 0);
1290
- }
1291
- async addRelatedPost(id, relatedPostId, expectedVersion) {
1292
2123
  /* */
1293
2124
  /* */
1294
- return (void 0);
1295
- }
1296
- async deleteRelatedPost(id, relatedPostId, expectedVersion) {
1297
2125
  /* */
1298
2126
  /* */
1299
2127
  return (void 0);
1300
2128
  }
1301
- async changeRelatedPost(id, relatedPostId, expectedVersion, adding) {
2129
+ async handleUploadFiles(files, queryParams, req, res) {
2130
+ /* */
2131
+ /* */
2132
+ /* */
1302
2133
  /* */
1303
2134
  /* */
1304
2135
  /* */
@@ -1316,9 +2147,6 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1316
2147
  /* */
1317
2148
  /* */
1318
2149
  /* */
1319
- return (void 0);
1320
- }
1321
- async requireContent(id, manager) {
1322
2150
  /* */
1323
2151
  /* */
1324
2152
  /* */
@@ -1336,43 +2164,13 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1336
2164
  /* */
1337
2165
  return (void 0);
1338
2166
  }
1339
- contentFields(input, current) {
1340
- const type = input.type ?? current?.type ?? TaonCmsContentType.Normal;
1341
- const title = input.title ?? current?.title;
1342
- const slug = input.slug ?? current?.slug;
1343
- if (title === undefined || slug === undefined) {
1344
- contentError('title and slug are required.');
1345
- }
1346
- const publishedAt = input.publishedAt === undefined
1347
- ? (current?.publishedAt ?? null)
1348
- : input.publishedAt;
1349
- return {
1350
- type,
1351
- title,
1352
- slug,
1353
- body: input.body === undefined ? (current?.body ?? null) : input.body,
1354
- videoKey: input.videoKey === undefined ? (current?.videoKey ?? null) : input.videoKey,
1355
- audioKey: input.audioKey === undefined ? (current?.audioKey ?? null) : input.audioKey,
1356
- attachmentKey: input.attachmentKey === undefined
1357
- ? (current?.attachmentKey ?? null)
1358
- : input.attachmentKey,
1359
- excerpt: input.excerpt === undefined
1360
- ? (current?.excerpt ?? null)
1361
- : input.excerpt,
1362
- categoryId: input.categoryId === undefined
1363
- ? (current?.categoryId ?? null)
1364
- : input.categoryId,
1365
- authorUserId: input.authorUserId === undefined
1366
- ? (current?.authorUserId ?? null)
1367
- : input.authorUserId,
1368
- status: input.status ?? current?.status ?? 'draft',
1369
- publishedAt: publishedAt === null ? null : new Date(publishedAt),
1370
- };
1371
- }
1372
- async snapshotOf(content, manager) {
1373
- /* */
2167
+ afterFileUploadHook() { }
2168
+ async isMediaObjectAvailable(key) {
1374
2169
  /* */
1375
2170
  /* */
2171
+ return (void 0);
2172
+ }
2173
+ buildStorageDownloadUrl(options) {
1376
2174
  /* */
1377
2175
  /* */
1378
2176
  /* */
@@ -1380,24 +2178,12 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1380
2178
  /* */
1381
2179
  /* */
1382
2180
  /* */
1383
- return (void 0);
1384
- }
1385
- contentStatus(status) {
1386
- if (status !== 'draft' && status !== 'published' && status !== 'archived') {
1387
- contentError(`Unsupported stored content status: ${status}.`, 409);
1388
- }
1389
- return status;
1390
- }
1391
- async validateReferences(fields, tagIds, permissionIds, manager) {
1392
2181
  /* */
1393
2182
  /* */
1394
2183
  /* */
1395
2184
  /* */
1396
2185
  /* */
1397
2186
  /* */
1398
- return (void 0);
1399
- }
1400
- async requirePermissions(permissionIds, manager) {
1401
2187
  /* */
1402
2188
  /* */
1403
2189
  /* */
@@ -1412,7 +2198,9 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1412
2198
  /* */
1413
2199
  return (void 0);
1414
2200
  }
1415
- async requireAvailableSlug(slug, manager, contentId) {
2201
+ async createStorageDownloadToken(options) {
2202
+ /* */
2203
+ /* */
1416
2204
  /* */
1417
2205
  /* */
1418
2206
  /* */
@@ -1420,15 +2208,16 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1420
2208
  /* */
1421
2209
  /* */
1422
2210
  /* */
1423
- return (void 0);
1424
- }
1425
- async replaceRelatedPosts(id, relatedPostIds, previousIds, manager) {
1426
2211
  /* */
1427
2212
  /* */
1428
2213
  /* */
1429
2214
  /* */
1430
2215
  /* */
1431
2216
  /* */
2217
+ /* */
2218
+ return (void 0);
2219
+ }
2220
+ async verifyStorageDownloadToken(options) {
1432
2221
  /* */
1433
2222
  /* */
1434
2223
  /* */
@@ -1446,9 +2235,34 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1446
2235
  /* */
1447
2236
  return (void 0);
1448
2237
  }
1449
- async replacePermissions(id, permissionIds, previousIds, manager) {
2238
+ async isPublicStorageKey(key) {
1450
2239
  /* */
1451
2240
  /* */
2241
+ return (void 0);
2242
+ }
2243
+ };
2244
+ TaonCmsContentStorageController = __decorate([
2245
+ TaonController({
2246
+ className: 'TaonCmsContentStorageController',
2247
+ // allowedMethods: ['download', 'uploadFormDataToServer'],
2248
+ })
2249
+ ], TaonCmsContentStorageController);
2250
+
2251
+ //#endregion
2252
+ let TaonCmsContentController = class TaonCmsContentController extends TaonBaseCrudController {
2253
+ constructor() {
2254
+ super(...arguments);
2255
+ //#region fields & getters
2256
+ this.entityClassResolveFn = () => TaonCmsContentEntity;
2257
+ this.taonCmsContentRepository = this.injectCustomRepo(TaonCmsContentRepository);
2258
+ this.taonSessionRepository = this.injectCustomRepo(TaonSessionRepository);
2259
+ this.taonAuthContextRepository = this.injectCustomRepo(TaonAuthContextRepository);
2260
+ this.taonCmsContentStorageController = this.injectController(TaonCmsContentStorageController);
2261
+ //#endregion
2262
+ }
2263
+ //#endregion
2264
+ //#region methods / before each request
2265
+ async beforeEachRequest({ req, res, methodConfig, t, }) {
1452
2266
  /* */
1453
2267
  /* */
1454
2268
  /* */
@@ -1458,9 +2272,6 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1458
2272
  /* */
1459
2273
  /* */
1460
2274
  /* */
1461
- return (void 0);
1462
- }
1463
- async replaceApplicationHook(contentId, hook, manager) {
1464
2275
  /* */
1465
2276
  /* */
1466
2277
  /* */
@@ -1484,33 +2295,76 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1484
2295
  /* */
1485
2296
  /* */
1486
2297
  /* */
2298
+ return (void 0);
2299
+ }
2300
+ //#endregion
2301
+ //#region methods / get video link by slug
2302
+ getVideoLinkBySlug(slug) {
1487
2303
  /* */
1488
2304
  /* */
1489
2305
  /* */
1490
2306
  return (void 0);
1491
2307
  }
1492
- async commitUpdate(current, expectedVersion, snapshot, manager, applicationHook) {
2308
+ //#region methods / get public video link by slug
2309
+ getPublicVideoLinkBySlug(slug) {
2310
+ /* */
1493
2311
  /* */
2312
+ /* */
2313
+ return (void 0);
2314
+ }
2315
+ //#endregion
2316
+ //#region methods / get audio link by slug
2317
+ getAudioLinkBySlug(slug) {
1494
2318
  /* */
1495
2319
  /* */
1496
2320
  /* */
2321
+ return (void 0);
2322
+ }
2323
+ //#endregion
2324
+ //#region methods / get public audio link by slug
2325
+ getPublicAudioLinkBySlug(slug) {
1497
2326
  /* */
1498
2327
  /* */
1499
2328
  /* */
2329
+ return (void 0);
2330
+ }
2331
+ //#endregion
2332
+ //#region methods / get attachment link by slug
2333
+ getAttachmentLinkBySlug(slug) {
1500
2334
  /* */
1501
2335
  /* */
1502
2336
  /* */
2337
+ return (void 0);
2338
+ }
2339
+ //#endregion
2340
+ //#region methods / get public attachment link by slug
2341
+ getPublicAttachmentLinkBySlug(slug) {
1503
2342
  /* */
1504
2343
  /* */
1505
2344
  /* */
2345
+ return (void 0);
2346
+ }
2347
+ //#endregion
2348
+ //#endregion
2349
+ //#region methods / get media link
2350
+ getThumbnailLinkBySlug(slug) {
1506
2351
  /* */
1507
2352
  /* */
1508
2353
  /* */
2354
+ return (void 0);
2355
+ }
2356
+ getPublicThumbnailLinkBySlug(slug) {
1509
2357
  /* */
1510
2358
  /* */
1511
2359
  /* */
2360
+ return (void 0);
2361
+ }
2362
+ listTagIds(id) {
1512
2363
  /* */
1513
2364
  /* */
2365
+ return (void 0);
2366
+ }
2367
+ async getMediaLinkBySlug(slug, type, publicOnly, req, t) {
1514
2368
  /* */
1515
2369
  /* */
1516
2370
  /* */
@@ -1555,10 +2409,14 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1555
2409
  /* */
1556
2410
  return (void 0);
1557
2411
  }
1558
- /**
1559
- * TODO remove this demo example method
1560
- */
1561
- async countEntitesWithEvenId() {
2412
+ //#region methods / require read access
2413
+ async requireReadAccess(content, publicOnly, req, t) {
2414
+ /* */
2415
+ /* */
2416
+ /* */
2417
+ /* */
2418
+ /* */
2419
+ /* */
1562
2420
  /* */
1563
2421
  /* */
1564
2422
  /* */
@@ -1566,25 +2424,6 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1566
2424
  /* */
1567
2425
  /* */
1568
2426
  /* */
1569
- return (void 0);
1570
- }
1571
- };
1572
- TaonCmsContentRepository = __decorate([
1573
- TaonRepository({
1574
- className: 'TaonCmsContentRepository',
1575
- })
1576
- ], TaonCmsContentRepository);
1577
-
1578
- //#endregion
1579
- let TaonCmsContentController = class TaonCmsContentController extends TaonBaseCrudController {
1580
- constructor() {
1581
- super(...arguments);
1582
- this.entityClassResolveFn = () => TaonCmsContentEntity;
1583
- this.taonCmsContentRepository = this.injectCustomRepo(TaonCmsContentRepository);
1584
- this.taonSessionRepository = this.injectCustomRepo(TaonSessionRepository);
1585
- this.taonAuthContextRepository = this.injectCustomRepo(TaonAuthContextRepository);
1586
- }
1587
- async beforeEachRequest({ req, res, methodConfig, t, }) {
1588
2427
  /* */
1589
2428
  /* */
1590
2429
  /* */
@@ -1602,7 +2441,9 @@ let TaonCmsContentController = class TaonCmsContentController extends TaonBaseCr
1602
2441
  /* */
1603
2442
  return (void 0);
1604
2443
  }
1605
- //#region get by id
2444
+ //#endregion
2445
+ //#endregion
2446
+ //#region methods / get by id
1606
2447
  getBySlug(slug) {
1607
2448
  /* */
1608
2449
  /* */
@@ -1616,52 +2457,100 @@ let TaonCmsContentController = class TaonCmsContentController extends TaonBaseCr
1616
2457
  return (void 0);
1617
2458
  }
1618
2459
  //#endregion
2460
+ //#region methods / create content
1619
2461
  createContent(input) {
1620
2462
  /* */
1621
2463
  /* */
1622
2464
  return (void 0);
1623
2465
  }
2466
+ //#endregion
2467
+ //#region methods / update content
1624
2468
  updateContent(id, input) {
1625
2469
  /* */
1626
2470
  /* */
1627
2471
  return (void 0);
1628
2472
  }
2473
+ //#endregion
2474
+ duplicateContent(id) {
2475
+ /* */
2476
+ /* */
2477
+ return (void 0);
2478
+ }
2479
+ //#region methods / delete content
1629
2480
  deleteContent(id, expectedVersion) {
1630
2481
  /* */
1631
2482
  /* */
1632
2483
  /* */
1633
2484
  return (void 0);
1634
2485
  }
2486
+ //#endregion
2487
+ //#region methods / restore content
1635
2488
  restoreContent(id, input) {
1636
2489
  /* */
1637
2490
  /* */
1638
2491
  return (void 0);
1639
2492
  }
2493
+ //#endregion
2494
+ //#region methods / list related posts
1640
2495
  listRelatedPosts(id) {
1641
2496
  /* */
1642
2497
  /* */
1643
2498
  return (void 0);
1644
2499
  }
2500
+ //#endregion
2501
+ //#region methods / list permissions
1645
2502
  listPermissions(id) {
1646
2503
  /* */
1647
2504
  /* */
1648
2505
  return (void 0);
1649
2506
  }
2507
+ //#endregion
2508
+ //#region methods / get permission configuration
2509
+ getPermissionConfiguration(id) {
2510
+ /* */
2511
+ /* */
2512
+ /* */
2513
+ return (void 0);
2514
+ }
2515
+ //#endregion
2516
+ //#region methods / list application hooks
1650
2517
  listApplicationHooks() {
1651
2518
  /* */
1652
2519
  /* */
1653
2520
  return (void 0);
1654
2521
  }
2522
+ //#endregion
2523
+ //#region methods / get content by hook
1655
2524
  getContentByHook(hook) {
2525
+ /* */
2526
+ /* */
2527
+ /* */
2528
+ /* */
2529
+ /* */
2530
+ /* */
2531
+ /* */
2532
+ /* */
1656
2533
  /* */
1657
2534
  /* */
1658
2535
  return (void 0);
1659
2536
  }
2537
+ //#endregion
2538
+ //#region methods / get public content by hook
1660
2539
  getPublicContentByHook(hook) {
2540
+ /* */
2541
+ /* */
2542
+ /* */
2543
+ /* */
2544
+ /* */
2545
+ /* */
2546
+ /* */
2547
+ /* */
1661
2548
  /* */
1662
2549
  /* */
1663
2550
  return (void 0);
1664
2551
  }
2552
+ //#endregion
2553
+ //#region methods / add related post
1665
2554
  addRelatedPost(id, relatedPostId, expectedVersion) {
1666
2555
  /* */
1667
2556
  /* */
@@ -1672,6 +2561,8 @@ let TaonCmsContentController = class TaonCmsContentController extends TaonBaseCr
1672
2561
  /* */
1673
2562
  return (void 0);
1674
2563
  }
2564
+ //#endregion
2565
+ //#region methods / delete related post
1675
2566
  deleteRelatedPost(id, relatedPostId, expectedVersion) {
1676
2567
  /* */
1677
2568
  /* */
@@ -1682,12 +2573,77 @@ let TaonCmsContentController = class TaonCmsContentController extends TaonBaseCr
1682
2573
  /* */
1683
2574
  return (void 0);
1684
2575
  }
2576
+ //#endregion
2577
+ //#region methods / list revisions
1685
2578
  listRevisions(id) {
1686
2579
  /* */
1687
2580
  /* */
1688
2581
  return (void 0);
1689
2582
  }
1690
2583
  };
2584
+ __decorate([
2585
+ GET(),
2586
+ __param(0, Query('slug')),
2587
+ __metadata("design:type", Function),
2588
+ __metadata("design:paramtypes", [String]),
2589
+ __metadata("design:returntype", Object)
2590
+ ], TaonCmsContentController.prototype, "getVideoLinkBySlug", null);
2591
+ __decorate([
2592
+ GET(),
2593
+ __param(0, Query('slug')),
2594
+ __metadata("design:type", Function),
2595
+ __metadata("design:paramtypes", [String]),
2596
+ __metadata("design:returntype", Object)
2597
+ ], TaonCmsContentController.prototype, "getPublicVideoLinkBySlug", null);
2598
+ __decorate([
2599
+ GET(),
2600
+ __param(0, Query('slug')),
2601
+ __metadata("design:type", Function),
2602
+ __metadata("design:paramtypes", [String]),
2603
+ __metadata("design:returntype", Object)
2604
+ ], TaonCmsContentController.prototype, "getAudioLinkBySlug", null);
2605
+ __decorate([
2606
+ GET(),
2607
+ __param(0, Query('slug')),
2608
+ __metadata("design:type", Function),
2609
+ __metadata("design:paramtypes", [String]),
2610
+ __metadata("design:returntype", Object)
2611
+ ], TaonCmsContentController.prototype, "getPublicAudioLinkBySlug", null);
2612
+ __decorate([
2613
+ GET(),
2614
+ __param(0, Query('slug')),
2615
+ __metadata("design:type", Function),
2616
+ __metadata("design:paramtypes", [String]),
2617
+ __metadata("design:returntype", Object)
2618
+ ], TaonCmsContentController.prototype, "getAttachmentLinkBySlug", null);
2619
+ __decorate([
2620
+ GET(),
2621
+ __param(0, Query('slug')),
2622
+ __metadata("design:type", Function),
2623
+ __metadata("design:paramtypes", [String]),
2624
+ __metadata("design:returntype", Object)
2625
+ ], TaonCmsContentController.prototype, "getPublicAttachmentLinkBySlug", null);
2626
+ __decorate([
2627
+ GET(),
2628
+ __param(0, Query('slug')),
2629
+ __metadata("design:type", Function),
2630
+ __metadata("design:paramtypes", [String]),
2631
+ __metadata("design:returntype", Object)
2632
+ ], TaonCmsContentController.prototype, "getThumbnailLinkBySlug", null);
2633
+ __decorate([
2634
+ GET(),
2635
+ __param(0, Query('slug')),
2636
+ __metadata("design:type", Function),
2637
+ __metadata("design:paramtypes", [String]),
2638
+ __metadata("design:returntype", Object)
2639
+ ], TaonCmsContentController.prototype, "getPublicThumbnailLinkBySlug", null);
2640
+ __decorate([
2641
+ GET(),
2642
+ __param(0, Query('id')),
2643
+ __metadata("design:type", Function),
2644
+ __metadata("design:paramtypes", [Number]),
2645
+ __metadata("design:returntype", Object)
2646
+ ], TaonCmsContentController.prototype, "listTagIds", null);
1691
2647
  __decorate([
1692
2648
  GET(),
1693
2649
  __param(0, Query(`slug`)),
@@ -1710,6 +2666,13 @@ __decorate([
1710
2666
  __metadata("design:paramtypes", [Number, Object]),
1711
2667
  __metadata("design:returntype", Object)
1712
2668
  ], TaonCmsContentController.prototype, "updateContent", null);
2669
+ __decorate([
2670
+ POST(),
2671
+ __param(0, Query('id')),
2672
+ __metadata("design:type", Function),
2673
+ __metadata("design:paramtypes", [Number]),
2674
+ __metadata("design:returntype", Object)
2675
+ ], TaonCmsContentController.prototype, "duplicateContent", null);
1713
2676
  __decorate([
1714
2677
  DELETE(),
1715
2678
  __param(0, Query('id')),
@@ -1740,6 +2703,13 @@ __decorate([
1740
2703
  __metadata("design:paramtypes", [Number]),
1741
2704
  __metadata("design:returntype", Object)
1742
2705
  ], TaonCmsContentController.prototype, "listPermissions", null);
2706
+ __decorate([
2707
+ GET(),
2708
+ __param(0, Query('id')),
2709
+ __metadata("design:type", Function),
2710
+ __metadata("design:paramtypes", [Number]),
2711
+ __metadata("design:returntype", Object)
2712
+ ], TaonCmsContentController.prototype, "getPermissionConfiguration", null);
1743
2713
  __decorate([
1744
2714
  GET(),
1745
2715
  __metadata("design:type", Function),
@@ -1787,24 +2757,37 @@ __decorate([
1787
2757
  ], TaonCmsContentController.prototype, "listRevisions", null);
1788
2758
  TaonCmsContentController = __decorate([
1789
2759
  TaonController({
2760
+ //#region controller options
1790
2761
  className: 'TaonCmsContentController',
1791
2762
  allowedMethods: [
1792
2763
  'getAll',
1793
2764
  'getBy',
1794
2765
  'createContent',
2766
+ 'duplicateContent',
1795
2767
  'updateContent',
1796
2768
  'deleteContent',
1797
2769
  'restoreContent',
1798
2770
  'listRevisions',
1799
2771
  'listRelatedPosts',
1800
2772
  'listPermissions',
2773
+ 'getPermissionConfiguration',
1801
2774
  'listApplicationHooks',
1802
2775
  'getContentByHook',
1803
2776
  'getPublicContentByHook',
2777
+ 'getVideoLinkBySlug',
2778
+ 'getPublicVideoLinkBySlug',
2779
+ 'getAudioLinkBySlug',
2780
+ 'getPublicAudioLinkBySlug',
2781
+ 'getAttachmentLinkBySlug',
2782
+ 'getPublicAttachmentLinkBySlug',
2783
+ 'getThumbnailLinkBySlug',
2784
+ 'getPublicThumbnailLinkBySlug',
2785
+ 'listTagIds',
1804
2786
  'addRelatedPost',
1805
2787
  'deleteRelatedPost',
1806
2788
  'paginationQuery',
1807
2789
  ],
2790
+ //#endregion
1808
2791
  })
1809
2792
  ], TaonCmsContentController);
1810
2793
 
@@ -1849,34 +2832,6 @@ TaonCmsContentSubscriber = __decorate([
1849
2832
  })
1850
2833
  ], TaonCmsContentSubscriber);
1851
2834
 
1852
- //#endregion
1853
- let TaonCmsContentStorageController = class TaonCmsContentStorageController extends TaonBaseStorageController {
1854
- async handleUploadFiles(files, queryParams, req, res) {
1855
- /* */
1856
- /* */
1857
- /* */
1858
- /* */
1859
- /* */
1860
- /* */
1861
- /* */
1862
- /* */
1863
- return (void 0);
1864
- }
1865
- afterFileUploadHook() { }
1866
- buildStorageDownloadUrl() {
1867
- throw new Error('Use the download endpoint for CMS media.');
1868
- }
1869
- async createStorageDownloadToken() {
1870
- throw new Error('CMS media download tokens are not enabled.');
1871
- }
1872
- };
1873
- TaonCmsContentStorageController = __decorate([
1874
- TaonController({
1875
- className: 'TaonCmsContentStorageController',
1876
- allowedMethods: ['exists', 'download', 'getMetadata', 'uploadFormDataToServer'],
1877
- })
1878
- ], TaonCmsContentStorageController);
1879
-
1880
2835
  //#region imports
1881
2836
  //#endregion
1882
2837
  const TaonCmsContentAbstractContext = createContext(() => ({
@@ -2217,34 +3172,426 @@ const TaonCmsAbstractContext = createContext(() => ({
2217
3172
  }));
2218
3173
  // THIS FILE IS GENERATED - DO NOT MODIFY
2219
3174
 
3175
+ const progressCallbacks = new WeakMap();
3176
+ // Keep Taon's middleware, retries and response decoding; replace only the
3177
+ // final Fetch transport for uploads that request browser upload events.
3178
+ function trackCmsUpload(url, body, onProgress) {
3179
+ const key = `cms-upload-progress-POST-${new URL(url).pathname}`;
3180
+ if (!Resource.methodsInterceptors.has(key)) {
3181
+ Resource.methodsInterceptors.set(key, {
3182
+ intercept: ({ req, next }) => {
3183
+ if (!(req.body instanceof FormData)) {
3184
+ return next.handle(req);
3185
+ }
3186
+ const uploadBody = req.body;
3187
+ const callback = progressCallbacks.get(uploadBody);
3188
+ if (!callback) {
3189
+ return next.handle(req);
3190
+ }
3191
+ return new Observable(subscriber => {
3192
+ const xhr = new XMLHttpRequest();
3193
+ xhr.open(req.method || 'POST', req.url);
3194
+ xhr.withCredentials = req.credentials === 'include';
3195
+ new Headers(req.headers).forEach((value, name) => {
3196
+ // The browser must supply the multipart boundary.
3197
+ if (name.toLowerCase() !== 'content-type') {
3198
+ xhr.setRequestHeader(name, value);
3199
+ }
3200
+ });
3201
+ xhr.upload.onprogress = event => {
3202
+ if (event.lengthComputable && event.total > 0) {
3203
+ callback(Math.min(100, Math.floor((event.loaded * 100) / event.total)));
3204
+ }
3205
+ };
3206
+ xhr.onload = () => {
3207
+ const headers = new Headers();
3208
+ for (const line of xhr
3209
+ .getAllResponseHeaders()
3210
+ .trim()
3211
+ .split(/[\r\n]+/)) {
3212
+ const separator = line.indexOf(':');
3213
+ if (separator > 0) {
3214
+ headers.append(line.slice(0, separator), line.slice(separator + 1).trim());
3215
+ }
3216
+ }
3217
+ subscriber.next(new Response([204, 205, 304].includes(xhr.status) ? null : xhr.responseText, {
3218
+ status: xhr.status,
3219
+ statusText: xhr.statusText,
3220
+ headers,
3221
+ }));
3222
+ subscriber.complete();
3223
+ };
3224
+ xhr.onerror = () => subscriber.error(new Error('Media upload network error.'));
3225
+ xhr.ontimeout = () => subscriber.error(new Error('Media upload timed out.'));
3226
+ xhr.onabort = () => subscriber.error(new Error('Media upload was cancelled.'));
3227
+ const abort = () => xhr.abort();
3228
+ req.signal?.addEventListener('abort', abort, { once: true });
3229
+ if (req.signal?.aborted) {
3230
+ subscriber.error(new Error('Media upload was cancelled.'));
3231
+ }
3232
+ else {
3233
+ callback(0);
3234
+ xhr.send(uploadBody);
3235
+ }
3236
+ return () => {
3237
+ req.signal?.removeEventListener('abort', abort);
3238
+ if (xhr.readyState !== XMLHttpRequest.DONE) {
3239
+ xhr.abort();
3240
+ }
3241
+ };
3242
+ });
3243
+ },
3244
+ });
3245
+ }
3246
+ progressCallbacks.set(body, onProgress);
3247
+ return () => progressCallbacks.delete(body);
3248
+ }
3249
+
3250
+ //#region imports
3251
+ //#endregion
3252
+ class TaonCmsContentApiService extends TaonBaseAngularService {
3253
+ constructor() {
3254
+ super(...arguments);
3255
+ //#region fields & getters
3256
+ this.taonCmsContentController = this.injectController(TaonCmsContentController);
3257
+ this.taonCmsContentStorageController = this.injectController(TaonCmsContentStorageController);
3258
+ }
3259
+ get crudController() {
3260
+ return this.taonCmsContentController;
3261
+ }
3262
+ //#endregion
3263
+ //#region API / get by id
3264
+ async getById(id) {
3265
+ return (await this.taonCmsContentController.getBy(id).request()).body.json;
3266
+ }
3267
+ //#endregion
3268
+ //#region API / get by slug
3269
+ async getBySlug(slug) {
3270
+ return (await this.taonCmsContentController.getBySlug(slug).request()).body
3271
+ .json;
3272
+ }
3273
+ //#endregion
3274
+ //#region API / get video link by slug
3275
+ /**
3276
+ * Get link to private video
3277
+ */
3278
+ getVideoLinkBySlug(slug) {
3279
+ return this.taonCmsContentController
3280
+ .getVideoLinkBySlug(slug)
3281
+ .request()
3282
+ .observable.pipe(map(res => res.body.text), catchError(err => {
3283
+ console.error(err);
3284
+ return of('');
3285
+ }));
3286
+ }
3287
+ //#endregion
3288
+ //#region API / get public video link by slug
3289
+ async getPublicVideoLinkBySlug(slug) {
3290
+ return (await this.taonCmsContentController
3291
+ .getPublicVideoLinkBySlug(slug)
3292
+ .request()).body.text;
3293
+ }
3294
+ //#endregion
3295
+ //#region API / get audio link by slug
3296
+ getAudioLinkBySlug(slug) {
3297
+ return this.taonCmsContentController
3298
+ .getAudioLinkBySlug(slug)
3299
+ .request()
3300
+ .observable.pipe(map(res => res.body.text), catchError(err => {
3301
+ console.error(err);
3302
+ return of('');
3303
+ }));
3304
+ }
3305
+ //#endregion
3306
+ //#region API / get public audio link by slug
3307
+ async getPublicAudioLinkBySlug(slug) {
3308
+ return (await this.taonCmsContentController
3309
+ .getPublicAudioLinkBySlug(slug)
3310
+ .request()).body.text;
3311
+ }
3312
+ //#endregion
3313
+ //#region API / get attachment link by slug
3314
+ async getAttachmentLinkBySlug(slug) {
3315
+ return (await this.taonCmsContentController
3316
+ .getAttachmentLinkBySlug(slug)
3317
+ .request()).body.text;
3318
+ }
3319
+ //#endregion
3320
+ //#region API / get public attachment link by slug
3321
+ async getPublicAttachmentLinkBySlug(slug) {
3322
+ return (await this.taonCmsContentController
3323
+ .getPublicAttachmentLinkBySlug(slug)
3324
+ .request()).body.text;
3325
+ }
3326
+ //#endregion
3327
+ //#region API / get content by hook
3328
+ getContentByHook(hook) {
3329
+ return this.taonCmsContentController.getContentByHook(hook)
3330
+ .request().observable.pipe(map(res => res.body.text));
3331
+ }
3332
+ //#endregion
3333
+ //#region API / get public content by hook
3334
+ getPublicContentByHook(hook) {
3335
+ return this.taonCmsContentController.getPublicContentByHook(hook)
3336
+ .request().observable.pipe(map(res => res.body.text), catchError(() => of('---')));
3337
+ }
3338
+ //#endregion
3339
+ //#region API / list application hooks
3340
+ listApplicationHooks() {
3341
+ return this.taonCmsContentController.listApplicationHooks()
3342
+ .request().observable.pipe(map(res => res.body.json));
3343
+ }
3344
+ //#endregion
3345
+ //#region API / upload media
3346
+ async uploadMedia(file, onProgress) {
3347
+ const formData = new FormData();
3348
+ formData.append('file', file);
3349
+ const stopTracking = onProgress
3350
+ ? trackCmsUpload(this.taonCmsContentStorageController.getThisControllerMethodFullUrl('uploadFormDataToServer'), formData, onProgress)
3351
+ : undefined;
3352
+ try {
3353
+ const response = await this.taonCmsContentStorageController
3354
+ .uploadFormDataToServer(formData)
3355
+ .request();
3356
+ const objects = response.body.json;
3357
+ if (!Array.isArray(objects) || objects.length !== 1 || !objects[0]?.key) {
3358
+ throw new Error('The upload did not return a media key.');
3359
+ }
3360
+ onProgress?.(100);
3361
+ return objects[0];
3362
+ }
3363
+ finally {
3364
+ stopTracking?.();
3365
+ }
3366
+ }
3367
+ //#endregion
3368
+ //#region API / list assets
3369
+ listAssets() {
3370
+ return this.taonCmsContentStorageController
3371
+ .list({})
3372
+ .request()
3373
+ .observable.pipe(map(res => res.body.json));
3374
+ }
3375
+ //#endregion
3376
+ //#region API / get asset url
3377
+ async getAssetUrl(key) {
3378
+ return (await this.taonCmsContentStorageController
3379
+ .getPrivateUrl(key, { expiresInSeconds: 5 * 60 })
3380
+ .request()).body.text;
3381
+ }
3382
+ //#endregion
3383
+ //#region API / create content
3384
+ listTagIds(id) {
3385
+ return this.taonCmsContentController
3386
+ .listTagIds(id)
3387
+ .request()
3388
+ .observable.pipe(map(res => res.body.json));
3389
+ }
3390
+ async getThumbnailLinkBySlug(slug, publicOnly = false) {
3391
+ const response = publicOnly
3392
+ ? await this.taonCmsContentController
3393
+ .getPublicThumbnailLinkBySlug(slug)
3394
+ .request()
3395
+ : await this.taonCmsContentController
3396
+ .getThumbnailLinkBySlug(slug)
3397
+ .request();
3398
+ return response.body.text;
3399
+ }
3400
+ createContent(input) {
3401
+ return this.taonCmsContentController.createContent(input)
3402
+ .request().observable.pipe(map(res => res.body.json));
3403
+ }
3404
+ //#endregion
3405
+ //#region API / duplicate content
3406
+ duplicateContent(id) {
3407
+ return this.taonCmsContentController.duplicateContent(id)
3408
+ .request().observable.pipe(map(res => res.body.json));
3409
+ }
3410
+ //#endregion
3411
+ //#region API / update content
3412
+ updateContent(id, input) {
3413
+ return this.taonCmsContentController.updateContent(id, input)
3414
+ .request().observable.pipe(map(res => res.body.json));
3415
+ }
3416
+ //#endregion
3417
+ //#region API / delete content
3418
+ deleteContent(id, expectedVersion) {
3419
+ return this.taonCmsContentController.deleteContent(id, expectedVersion)
3420
+ .request().observable.pipe(map(res => res.body.json));
3421
+ }
3422
+ //#endregion
3423
+ //#region API / restore content
3424
+ restoreContent(id, input) {
3425
+ return this.taonCmsContentController.restoreContent(id, input)
3426
+ .request().observable.pipe(map(res => res.body.json));
3427
+ }
3428
+ //#endregion
3429
+ //#region API / list revisions
3430
+ listRevisions(id) {
3431
+ return this.taonCmsContentController.listRevisions(id)
3432
+ .request().observable.pipe(map(res => res.body.json));
3433
+ }
3434
+ //#endregion
3435
+ //#region API / list related posts
3436
+ listRelatedPosts(id) {
3437
+ return this.taonCmsContentController.listRelatedPosts(id)
3438
+ .request().observable.pipe(map(res => res.body.json));
3439
+ }
3440
+ //#endregion
3441
+ //#region API / list permissions
3442
+ listPermissions(id) {
3443
+ return this.taonCmsContentController.listPermissions(id)
3444
+ .request().observable.pipe(map(res => res.body.json));
3445
+ }
3446
+ //#endregion
3447
+ //#region API / get permission configuration
3448
+ getPermissionConfiguration(id) {
3449
+ return this.taonCmsContentController.getPermissionConfiguration(id)
3450
+ .request().observable.pipe(map(res => res.body.json));
3451
+ }
3452
+ //#endregion
3453
+ //#region API / add related post
3454
+ addRelatedPost(id, relatedPostId, expectedVersion) {
3455
+ return this.taonCmsContentController.addRelatedPost(id, relatedPostId, expectedVersion).request().observable.pipe(map(res => res.body.json));
3456
+ }
3457
+ //#endregion
3458
+ //#region API / delete related post
3459
+ deleteRelatedPost(id, relatedPostId, expectedVersion) {
3460
+ return this.taonCmsContentController.deleteRelatedPost(id, relatedPostId, expectedVersion).request().observable.pipe(map(res => res.body.json));
3461
+ }
3462
+ //#endregion
3463
+ //#region API / get all entites
3464
+ /**
3465
+ * TODO not good idea if manu posts - refactor later:
3466
+ * - add pagination for post selector
3467
+ */
3468
+ get allMyEntities$() {
3469
+ return this.taonCmsContentController.getAll().request().observable.pipe(map(res => res.body?.json));
3470
+ }
3471
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsContentApiService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
3472
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsContentApiService }); }
3473
+ }
3474
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsContentApiService, decorators: [{
3475
+ type: Injectable
3476
+ }] });
3477
+
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 } });
3479
+ class TaonCmsAssetPreviewComponent {
3480
+ constructor() {
3481
+ this.t = t$b.for(this);
3482
+ this.api = inject(TaonCmsContentApiService);
3483
+ this.destroyRef = inject(DestroyRef);
3484
+ this.url = signal('', ...(ngDevMode ? [{ debugName: "url" }] : []));
3485
+ this.loading = signal(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
3486
+ this.error = signal('', ...(ngDevMode ? [{ debugName: "error" }] : []));
3487
+ }
3488
+ get previewKind() {
3489
+ const contentType = this.asset.contentType?.trim().toLowerCase();
3490
+ if (contentType?.startsWith('video/')) {
3491
+ return 'video';
3492
+ }
3493
+ if (contentType?.startsWith('audio/')) {
3494
+ return 'audio';
3495
+ }
3496
+ return 'attachment';
3497
+ }
3498
+ ngOnInit() {
3499
+ void this.reload();
3500
+ }
3501
+ async reload() {
3502
+ if (this.loading()) {
3503
+ return;
3504
+ }
3505
+ this.loading.set(true);
3506
+ this.error.set('');
3507
+ this.url.set('');
3508
+ try {
3509
+ const url = new URL(await this.api.getAssetUrl(this.asset.key));
3510
+ if (this.previewKind === 'attachment') {
3511
+ url.searchParams.set('download', 'true');
3512
+ }
3513
+ if (!this.destroyRef.destroyed) {
3514
+ this.url.set(url.href);
3515
+ }
3516
+ }
3517
+ catch (error) {
3518
+ if (!this.destroyRef.destroyed) {
3519
+ console.error('[taon-cms-asset-preview] Unable to load asset URL', error);
3520
+ this.error.set(this.t.gettext('The asset could not be opened. Please retry.'));
3521
+ }
3522
+ }
3523
+ finally {
3524
+ if (!this.destroyRef.destroyed) {
3525
+ this.loading.set(false);
3526
+ }
3527
+ }
3528
+ }
3529
+ playbackError() {
3530
+ this.error.set(this.t.gettext('Playback failed or the preview link expired. Please retry.'));
3531
+ }
3532
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsAssetPreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3533
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonCmsAssetPreviewComponent, isStandalone: true, selector: "taon-cms-asset-preview", inputs: { asset: "asset" }, ngImport: i0, template: "@if (loading()) {\n <p role=\"status\">{{ t.gettext('Loading asset preview...') }}</p>\n}\n@if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"loading()\"\n (click)=\"reload()\">\n {{ t.gettext('Retry preview') }}\n </button>\n}\n@if (url()) {\n @switch (previewKind) {\n @case ('video') {\n <video\n controls\n preload=\"none\"\n [src]=\"url()\"\n (error)=\"playbackError()\">\n {{ t.gettext('Your browser does not support video playback.') }}\n </video>\n }\n @case ('audio') {\n <audio\n controls\n preload=\"none\"\n [src]=\"url()\"\n (error)=\"playbackError()\">\n {{ t.gettext('Your browser does not support audio playback.') }}\n </audio>\n }\n @default {\n <a\n [href]=\"url()\"\n [attr.download]=\"asset.fileName\"\n target=\"_blank\"\n rel=\"noopener\">\n {{ asset.fileName || asset.key }}\n </a>\n }\n }\n}\n", styles: [":host{display:block;padding:16px}video{max-width:100%;max-height:400px!important}audio{max-width:100%}\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 }); }
3534
+ }
3535
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsAssetPreviewComponent, decorators: [{
3536
+ type: Component,
3537
+ args: [{ selector: 'taon-cms-asset-preview', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatButtonModule], template: "@if (loading()) {\n <p role=\"status\">{{ t.gettext('Loading asset preview...') }}</p>\n}\n@if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"loading()\"\n (click)=\"reload()\">\n {{ t.gettext('Retry preview') }}\n </button>\n}\n@if (url()) {\n @switch (previewKind) {\n @case ('video') {\n <video\n controls\n preload=\"none\"\n [src]=\"url()\"\n (error)=\"playbackError()\">\n {{ t.gettext('Your browser does not support video playback.') }}\n </video>\n }\n @case ('audio') {\n <audio\n controls\n preload=\"none\"\n [src]=\"url()\"\n (error)=\"playbackError()\">\n {{ t.gettext('Your browser does not support audio playback.') }}\n </audio>\n }\n @default {\n <a\n [href]=\"url()\"\n [attr.download]=\"asset.fileName\"\n target=\"_blank\"\n rel=\"noopener\">\n {{ asset.fileName || asset.key }}\n </a>\n }\n }\n}\n", styles: [":host{display:block;padding:16px}video{max-width:100%;max-height:400px!important}audio{max-width:100%}\n"] }]
3538
+ }], propDecorators: { asset: [{
3539
+ type: Input,
3540
+ args: [{ required: true }]
3541
+ }] } });
3542
+
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 } });
2220
3544
  class TaonCmsAssetsBackofficeComponent {
2221
3545
  constructor() {
2222
- this.assets = [
2223
- { id: 1, name: 'Sample image.jpg' },
2224
- { id: 2, name: 'Sample document.pdf' },
2225
- ];
3546
+ this.t = t$a.for(this);
3547
+ this.api = inject(TaonCmsContentApiService);
3548
+ this.destroyRef = inject(DestroyRef);
3549
+ this.assets = signal([], ...(ngDevMode ? [{ debugName: "assets" }] : []));
3550
+ this.loading = signal(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
3551
+ this.error = signal('', ...(ngDevMode ? [{ debugName: "error" }] : []));
2226
3552
  this.columns = [
2227
- { header: 'ID', field: 'id', sortable: true },
2228
- { header: 'Asset Name', field: 'name', sortable: true },
3553
+ { header: 'ID', field: 'keyVisible', sortable: true, showExpand: true },
3554
+ { header: this.t.gettext('File Name'), field: 'fileName', sortable: true },
3555
+ {
3556
+ header: this.t.gettext('Content Type'),
3557
+ field: 'contentType',
3558
+ sortable: true,
3559
+ },
2229
3560
  ];
2230
3561
  }
3562
+ ngOnInit() {
3563
+ this.reload();
3564
+ }
3565
+ reload() {
3566
+ if (this.loading()) {
3567
+ return;
3568
+ }
3569
+ this.loading.set(true);
3570
+ this.error.set('');
3571
+ this.api
3572
+ .listAssets()
3573
+ .pipe(map$1(c => c), takeUntilDestroyed(this.destroyRef), finalize(() => this.loading.set(false)))
3574
+ .subscribe({
3575
+ next: assets => this.assets.set(assets.map(c => {
3576
+ c.keyVisible = _.first(c.key.split('__'));
3577
+ return c;
3578
+ })),
3579
+ error: (error) => {
3580
+ console.error('[taon-cms-assets-backoffice] Unable to load assets', error);
3581
+ this.error.set(this.t.gettext('Assets could not be loaded. Please try reloading.'));
3582
+ },
3583
+ });
3584
+ }
2231
3585
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsAssetsBackofficeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2232
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.9", type: TaonCmsAssetsBackofficeComponent, isStandalone: true, selector: "taon-cms-assets-backoffice", ngImport: i0, template: `
2233
- <h1>CMS assets</h1>
2234
- <mtx-grid [data]="assets" [columns]="columns"></mtx-grid>
2235
- `, isInline: true, dependencies: [{ kind: "component", type: MtxGrid, selector: "mtx-grid", inputs: ["displayedColumns", "columns", "data", "length", "loading", "trackBy", "columnResizable", "emptyValuePlaceholder", "pageOnFront", "showPaginator", "pageDisabled", "showFirstLastButtons", "pageIndex", "pageSize", "pageSizeOptions", "hidePageSize", "paginationTemplate", "sortOnFront", "sortActive", "sortDirection", "sortDisableClear", "sortDisabled", "sortStart", "rowHover", "rowStriped", "expandable", "expansionTemplate", "multiSelectable", "multiSelectionWithClick", "rowSelectable", "hideRowSelectionCheckbox", "disableRowClickSelection", "rowSelectionFormatter", "rowClassFormatter", "rowSelected", "cellSelectable", "showToolbar", "toolbarTitle", "toolbarTemplate", "columnHideable", "columnHideableChecked", "columnSortable", "columnPinnable", "columnPinOptions", "showColumnMenuButton", "columnMenuButtonText", "columnMenuButtonType", "columnMenuButtonColor", "columnMenuButtonClass", "columnMenuButtonIcon", "columnMenuButtonFontIcon", "columnMenuButtonSvgIcon", "showColumnMenuHeader", "columnMenuHeaderText", "columnMenuHeaderTemplate", "showColumnMenuFooter", "columnMenuFooterText", "columnMenuFooterTemplate", "noResultText", "noResultTemplate", "headerTemplate", "headerExtraTemplate", "cellTemplate", "useContentRowTemplate", "useContentHeaderRowTemplate", "useContentFooterRowTemplate", "showSummary", "summaryTemplate", "showSidebar", "sidebarTemplate", "showStatusbar", "statusbarTemplate"], outputs: ["page", "sortChange", "rowClick", "rowContextMenu", "expansionChange", "rowSelectedChange", "cellSelectedChange", "columnChange"], exportAs: ["mtxGrid"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3586
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonCmsAssetsBackofficeComponent, isStandalone: true, selector: "taon-cms-assets-backoffice", providers: [TaonCmsContentApiService], ngImport: i0, template: "<h1>{{ t.gettext('CMS assets') }}</h1>\n<button\n mat-button\n type=\"button\"\n [disabled]=\"loading()\"\n (click)=\"reload()\">\n {{ t.gettext('Reload assets') }}\n</button>\n@if (loading()) {\n <p role=\"status\">{{ t.gettext('Loading assets...') }}</p>\n}\n@if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n}\n\n<ng-template\n #preview\n let-asset>\n <taon-cms-asset-preview [asset]=\"asset\" />\n</ng-template>\n\n<taon-datatable\n [data]=\"assets()\"\n [columns]=\"columns\"\n [allowedColumns]=\"['key', 'fileName', 'contentType']\"\n [hideAddButton]=\"true\"\n [expansionTemplate]=\"preview\"\n searchMode=\"advanced\">\n</taon-datatable>\n", 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"] }, { kind: "component", type: TaonCmsAssetPreviewComponent, selector: "taon-cms-asset-preview", inputs: ["asset"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2236
3587
  }
2237
3588
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsAssetsBackofficeComponent, decorators: [{
2238
3589
  type: Component,
2239
- args: [{
2240
- selector: 'taon-cms-assets-backoffice',
2241
- changeDetection: ChangeDetectionStrategy.OnPush,
2242
- imports: [MtxGrid],
2243
- template: `
2244
- <h1>CMS assets</h1>
2245
- <mtx-grid [data]="assets" [columns]="columns"></mtx-grid>
2246
- `,
2247
- }]
3590
+ args: [{ selector: 'taon-cms-assets-backoffice', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
3591
+ MatButtonModule,
3592
+ TaonDatatableComponent,
3593
+ TaonCmsAssetPreviewComponent,
3594
+ ], providers: [TaonCmsContentApiService], template: "<h1>{{ t.gettext('CMS assets') }}</h1>\n<button\n mat-button\n type=\"button\"\n [disabled]=\"loading()\"\n (click)=\"reload()\">\n {{ t.gettext('Reload assets') }}\n</button>\n@if (loading()) {\n <p role=\"status\">{{ t.gettext('Loading assets...') }}</p>\n}\n@if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n}\n\n<ng-template\n #preview\n let-asset>\n <taon-cms-asset-preview [asset]=\"asset\" />\n</ng-template>\n\n<taon-datatable\n [data]=\"assets()\"\n [columns]=\"columns\"\n [allowedColumns]=\"['key', 'fileName', 'contentType']\"\n [hideAddButton]=\"true\"\n [expansionTemplate]=\"preview\"\n searchMode=\"advanced\">\n</taon-datatable>\n" }]
2248
3595
  }] });
2249
3596
 
2250
3597
  var taonCmsAssetsBackoffice_component = /*#__PURE__*/Object.freeze({
@@ -2266,8 +3613,10 @@ var taonCmsAssetsBackoffice_routes = /*#__PURE__*/Object.freeze({
2266
3613
 
2267
3614
  //#region imports
2268
3615
  //#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 } });
2269
3617
  class TaonCmsBackofficeComponent {
2270
3618
  constructor() {
3619
+ this.t = t$9.for(this);
2271
3620
  this.componentLoaded = false;
2272
3621
  }
2273
3622
  onRouteActivate(component) {
@@ -2277,11 +3626,11 @@ class TaonCmsBackofficeComponent {
2277
3626
  this.componentLoaded = false;
2278
3627
  }
2279
3628
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsBackofficeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2280
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonCmsBackofficeComponent, isStandalone: true, selector: "app-taon-cms-backoffice", ngImport: i0, template: "@if (!componentLoaded) {\n <code>\n In CMS you can manage content and settings for your website.\n </code>\n}\n\n<router-outlet\n (activate)=\"onRouteActivate($event)\"\n (deactivate)=\"onRouteDeactivate($event)\"></router-outlet>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3629
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonCmsBackofficeComponent, isStandalone: true, selector: "app-taon-cms-backoffice", ngImport: i0, template: "@if (!componentLoaded) {\n <code>\n {{\n t.gettext('In CMS you can manage content and settings for your website.')\n }}\n </code>\n}\n\n<router-outlet\n (activate)=\"onRouteActivate($event)\"\n (deactivate)=\"onRouteDeactivate($event)\"></router-outlet>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2281
3630
  }
2282
3631
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsBackofficeComponent, decorators: [{
2283
3632
  type: Component,
2284
- args: [{ selector: 'app-taon-cms-backoffice', changeDetection: ChangeDetectionStrategy.OnPush, imports: [AsyncPipe, RouterOutlet], template: "@if (!componentLoaded) {\n <code>\n In CMS you can manage content and settings for your website.\n </code>\n}\n\n<router-outlet\n (activate)=\"onRouteActivate($event)\"\n (deactivate)=\"onRouteDeactivate($event)\"></router-outlet>\n", styles: [":host{display:block}\n"] }]
3633
+ args: [{ selector: 'app-taon-cms-backoffice', changeDetection: ChangeDetectionStrategy.OnPush, imports: [AsyncPipe, RouterOutlet], template: "@if (!componentLoaded) {\n <code>\n {{\n t.gettext('In CMS you can manage content and settings for your website.')\n }}\n </code>\n}\n\n<router-outlet\n (activate)=\"onRouteActivate($event)\"\n (deactivate)=\"onRouteDeactivate($event)\"></router-outlet>\n", styles: [":host{display:block}\n"] }]
2285
3634
  }] });
2286
3635
 
2287
3636
  var taonCmsBackoffice_component = /*#__PURE__*/Object.freeze({
@@ -2291,6 +3640,7 @@ var taonCmsBackoffice_component = /*#__PURE__*/Object.freeze({
2291
3640
 
2292
3641
  //#endregion
2293
3642
  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 } });
2294
3644
  const TaonCmsBackofficeRoutes = [
2295
3645
  {
2296
3646
  path: '',
@@ -2302,7 +3652,7 @@ const TaonCmsBackofficeRoutes = [
2302
3652
  return !context?.hasAccess.toManagePosts;
2303
3653
  },
2304
3654
  path: 'posts',
2305
- menuItem: 'Posts',
3655
+ menuItem: t$8.gettext('Posts'),
2306
3656
  expandable: true,
2307
3657
  icon: 'edit',
2308
3658
  loader: () => Promise.resolve().then(function () { return index$1; }).then(m => m.TaonCmsPostsBackofficeRoutes),
@@ -2310,11 +3660,27 @@ const TaonCmsBackofficeRoutes = [
2310
3660
  adminLazyRoute({
2311
3661
  isDisabled: ({ context }) => !context?.hasAccess.toManagePosts,
2312
3662
  path: 'assets',
2313
- menuItem: 'Assets',
3663
+ menuItem: t$8.gettext('Assets'),
2314
3664
  expandable: false,
2315
3665
  icon: 'perm_media',
2316
3666
  loader: () => Promise.resolve().then(function () { return taonCmsAssetsBackoffice_routes; }).then(m => m.TaonCmsAssetsBackofficeRoutes),
2317
3667
  }),
3668
+ adminLazyRoute({
3669
+ isDisabled: ({ context }) => !context?.hasAccess.toManagePosts,
3670
+ path: 'categories',
3671
+ menuItem: t$8.gettext('Categories'),
3672
+ expandable: false,
3673
+ icon: 'folder',
3674
+ loader: () => Promise.resolve().then(function () { return taonCmsTaxonomyBackoffice_routes; }).then(m => m.TaonCmsCategoriesBackofficeRoutes),
3675
+ }),
3676
+ adminLazyRoute({
3677
+ isDisabled: ({ context }) => !context?.hasAccess.toManagePosts,
3678
+ path: 'tags',
3679
+ menuItem: t$8.gettext('Tags'),
3680
+ expandable: false,
3681
+ icon: 'label',
3682
+ loader: () => Promise.resolve().then(function () { return taonCmsTaxonomyBackoffice_routes; }).then(m => m.TaonCmsTagsBackofficeRoutes),
3683
+ }),
2318
3684
  // adminLazyRoute({
2319
3685
  // path: 'dashboard',
2320
3686
  // menuItem: 'Dashboard',
@@ -2341,6 +3707,18 @@ class TaonCmsCategoryApiService extends TaonBaseAngularService {
2341
3707
  get allMyEntities$() {
2342
3708
  return this.taonCmsCategoryController.getAll().request().observable.pipe(map(res => res.body?.json));
2343
3709
  }
3710
+ save(id, input) {
3711
+ return this.taonCmsCategoryController
3712
+ .saveCategory(id, input)
3713
+ .request()
3714
+ .observable.pipe(map(res => res.body.json));
3715
+ }
3716
+ delete(id) {
3717
+ return this.taonCmsCategoryController
3718
+ .deleteCategory(id)
3719
+ .request()
3720
+ .observable.pipe(map(() => undefined));
3721
+ }
2344
3722
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsCategoryApiService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
2345
3723
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsCategoryApiService }); }
2346
3724
  }
@@ -2368,6 +3746,36 @@ var TaonCmsCategoryUtils;
2368
3746
  TaonCmsCategoryUtils.isActive = isActive;
2369
3747
  })(TaonCmsCategoryUtils || (TaonCmsCategoryUtils = {}));
2370
3748
 
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 } });
3750
+ function validateTaxonomy(input) {
3751
+ if (!input ||
3752
+ typeof input.name !== 'string' ||
3753
+ !input.name.trim() ||
3754
+ typeof input.slug !== 'string' ||
3755
+ !input.slug.trim() ||
3756
+ (input.description !== null && typeof input.description !== 'string')) {
3757
+ contentError(t$7.gettext('Name, slug, and a valid description are required.'));
3758
+ }
3759
+ }
3760
+ function validateCategoryHierarchy(id, parentId, categories) {
3761
+ const visited = new Set();
3762
+ if (id !== null) {
3763
+ visited.add(id);
3764
+ }
3765
+ let current = parentId;
3766
+ while (current !== null) {
3767
+ if (visited.has(current)) {
3768
+ contentError(t$7.gettext('A category cannot be its own ancestor.'));
3769
+ }
3770
+ visited.add(current);
3771
+ const parent = categories.find(category => category.id === current);
3772
+ if (!parent) {
3773
+ contentError(t$7.gettext('The parent category does not exist.'));
3774
+ }
3775
+ current = parent.parentCategoryId;
3776
+ }
3777
+ }
3778
+
2371
3779
  class TaonCmsCommentApiService extends TaonBaseAngularService {
2372
3780
  constructor() {
2373
3781
  super(...arguments);
@@ -2406,92 +3814,6 @@ var TaonCmsCommentUtils;
2406
3814
  TaonCmsCommentUtils.isActive = isActive;
2407
3815
  })(TaonCmsCommentUtils || (TaonCmsCommentUtils = {}));
2408
3816
 
2409
- //#region imports
2410
- //#endregion
2411
- class TaonCmsContentApiService extends TaonBaseAngularService {
2412
- constructor() {
2413
- super(...arguments);
2414
- this.taonCmsContentController = this.injectController(TaonCmsContentController);
2415
- this.taonCmsContentStorageController = this.injectController(TaonCmsContentStorageController);
2416
- }
2417
- get crudController() {
2418
- return this.taonCmsContentController;
2419
- }
2420
- async getById(id) {
2421
- return (await this.taonCmsContentController.getBy(id).request()).body.json;
2422
- }
2423
- async getBySlug(slug) {
2424
- return (await this.taonCmsContentController.getBySlug(slug).request()).body
2425
- .json;
2426
- }
2427
- getContentByHook(hook) {
2428
- return this.taonCmsContentController.getContentByHook(hook)
2429
- .request().observable.pipe(map(res => res.body.text));
2430
- }
2431
- getPublicContentByHook(hook) {
2432
- return this.taonCmsContentController.getPublicContentByHook(hook)
2433
- .request().observable.pipe(map(res => res.body.text), catchError(() => of('---')));
2434
- }
2435
- listApplicationHooks() {
2436
- return this.taonCmsContentController.listApplicationHooks()
2437
- .request().observable.pipe(map(res => res.body.json));
2438
- }
2439
- async uploadMedia(file) {
2440
- const formData = new FormData();
2441
- formData.append('file', file);
2442
- const response = await this.taonCmsContentStorageController
2443
- .uploadFormDataToServer(formData)
2444
- .request();
2445
- const objects = response.body.json;
2446
- if (objects.length !== 1 || !objects[0].key) {
2447
- throw new Error('The upload did not return a media key.');
2448
- }
2449
- return objects[0];
2450
- }
2451
- createContent(input) {
2452
- return this.taonCmsContentController.createContent(input)
2453
- .request().observable.pipe(map(res => res.body.json));
2454
- }
2455
- updateContent(id, input) {
2456
- return this.taonCmsContentController.updateContent(id, input)
2457
- .request().observable.pipe(map(res => res.body.json));
2458
- }
2459
- deleteContent(id, expectedVersion) {
2460
- return this.taonCmsContentController.deleteContent(id, expectedVersion)
2461
- .request().observable.pipe(map(res => res.body.json));
2462
- }
2463
- restoreContent(id, input) {
2464
- return this.taonCmsContentController.restoreContent(id, input)
2465
- .request().observable.pipe(map(res => res.body.json));
2466
- }
2467
- listRevisions(id) {
2468
- return this.taonCmsContentController.listRevisions(id)
2469
- .request().observable.pipe(map(res => res.body.json));
2470
- }
2471
- listRelatedPosts(id) {
2472
- return this.taonCmsContentController.listRelatedPosts(id)
2473
- .request().observable.pipe(map(res => res.body.json));
2474
- }
2475
- listPermissions(id) {
2476
- return this.taonCmsContentController.listPermissions(id)
2477
- .request().observable.pipe(map(res => res.body.json));
2478
- }
2479
- addRelatedPost(id, relatedPostId, expectedVersion) {
2480
- return this.taonCmsContentController.addRelatedPost(id, relatedPostId, expectedVersion).request().observable.pipe(map(res => res.body.json));
2481
- }
2482
- deleteRelatedPost(id, relatedPostId, expectedVersion) {
2483
- return this.taonCmsContentController.deleteRelatedPost(id, relatedPostId, expectedVersion).request().observable.pipe(map(res => res.body.json));
2484
- }
2485
- get allMyEntities$() {
2486
- return this.taonCmsContentController.getAll().request().observable.pipe(map(res => res.body?.json));
2487
- }
2488
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsContentApiService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
2489
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsContentApiService }); }
2490
- }
2491
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsContentApiService, decorators: [{
2492
- type: Injectable
2493
- }] });
2494
-
2495
3817
  class TaonCmsContentConfigService extends TaonBaseAngularService {
2496
3818
  constructor() {
2497
3819
  super(...arguments);
@@ -2512,6 +3834,7 @@ const TaonCmsContentDefaultsValues = {
2512
3834
  videoKey: null,
2513
3835
  audioKey: null,
2514
3836
  attachmentKey: null,
3837
+ thumbnailKey: null,
2515
3838
  };
2516
3839
 
2517
3840
  var TaonCmsContentUtils;
@@ -2686,6 +4009,24 @@ class TaonCmsTagApiService extends TaonBaseAngularService {
2686
4009
  super(...arguments);
2687
4010
  this.taonCmsTagController = this.injectController(TaonCmsTagController);
2688
4011
  }
4012
+ get allMyEntities$() {
4013
+ return this.taonCmsTagController
4014
+ .getAll()
4015
+ .request()
4016
+ .observable.pipe(map(res => res.body.json));
4017
+ }
4018
+ save(id, input) {
4019
+ return this.taonCmsTagController
4020
+ .saveTag(id, input)
4021
+ .request()
4022
+ .observable.pipe(map(res => res.body.json));
4023
+ }
4024
+ delete(id) {
4025
+ return this.taonCmsTagController
4026
+ .deleteTag(id)
4027
+ .request()
4028
+ .observable.pipe(map(() => undefined));
4029
+ }
2689
4030
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsTagApiService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
2690
4031
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsTagApiService }); }
2691
4032
  }
@@ -2693,25 +4034,252 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
2693
4034
  type: Injectable
2694
4035
  }] });
2695
4036
 
2696
- const TaonCmsTagDefaultsValues = {
2697
- description: '',
2698
- version: 0,
2699
- id: void 0,
2700
- };
4037
+ const TaonCmsTagDefaultsValues = {
4038
+ description: '',
4039
+ version: 0,
4040
+ id: void 0,
4041
+ };
4042
+
4043
+ var TaonCmsTagState;
4044
+ (function (TaonCmsTagState) {
4045
+ TaonCmsTagState["Active"] = "active";
4046
+ TaonCmsTagState["Inactive"] = "inactive";
4047
+ })(TaonCmsTagState || (TaonCmsTagState = {}));
4048
+
4049
+ var TaonCmsTagUtils;
4050
+ (function (TaonCmsTagUtils) {
4051
+ function isActive(state) {
4052
+ return state === 'active';
4053
+ }
4054
+ TaonCmsTagUtils.isActive = isActive;
4055
+ })(TaonCmsTagUtils || (TaonCmsTagUtils = {}));
4056
+
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 } });
4058
+ class TaonCmsTaxonomyBackofficeComponent {
4059
+ constructor() {
4060
+ this.t = t$6.for(this);
4061
+ this.isCategory = inject(ActivatedRoute).snapshot.data['taxonomy'] === 'category';
4062
+ this.categories = inject(TaonCmsCategoryApiService);
4063
+ this.tags = inject(TaonCmsTagApiService);
4064
+ this.destroyRef = inject(DestroyRef);
4065
+ this.dialog = inject(MatDialog);
4066
+ this.rows = signal([], ...(ngDevMode ? [{ debugName: "rows" }] : []));
4067
+ this.busy = signal(false, ...(ngDevMode ? [{ debugName: "busy" }] : []));
4068
+ this.error = signal('', ...(ngDevMode ? [{ debugName: "error" }] : []));
4069
+ this.editing = signal(false, ...(ngDevMode ? [{ debugName: "editing" }] : []));
4070
+ this.editingId = null;
4071
+ this.draft = this.emptyDraft();
4072
+ this.columns = [
4073
+ { header: this.t.gettext('Name'), field: 'name', sortable: true },
4074
+ { header: this.t.gettext('Slug'), field: 'slug', sortable: true },
4075
+ ...(this.isCategory
4076
+ ? [
4077
+ {
4078
+ header: this.t.gettext('Parent Category'),
4079
+ field: 'parentName',
4080
+ sortable: true,
4081
+ },
4082
+ {
4083
+ header: this.t.gettext('Sort Order'),
4084
+ field: 'sortOrder',
4085
+ sortable: true,
4086
+ },
4087
+ ]
4088
+ : [
4089
+ {
4090
+ header: this.t.gettext('Description'),
4091
+ field: 'description',
4092
+ sortable: true,
4093
+ },
4094
+ ]),
4095
+ {
4096
+ header: this.t.gettext('Actions'),
4097
+ field: 'actions',
4098
+ type: 'button',
4099
+ buttons: [
4100
+ {
4101
+ type: 'icon',
4102
+ icon: 'edit',
4103
+ tooltip: this.t.gettext('Edit'),
4104
+ disabled: () => this.busy(),
4105
+ click: (row) => this.edit(row),
4106
+ },
4107
+ {
4108
+ type: 'icon',
4109
+ icon: 'delete',
4110
+ tooltip: this.t.gettext('Delete'),
4111
+ disabled: () => this.busy(),
4112
+ click: (row) => this.delete(row),
4113
+ },
4114
+ ],
4115
+ },
4116
+ ];
4117
+ }
4118
+ ngOnInit() {
4119
+ this.reload();
4120
+ }
4121
+ reload() {
4122
+ if (this.busy()) {
4123
+ return;
4124
+ }
4125
+ const request = this.isCategory
4126
+ ? this.categories.allMyEntities$
4127
+ : this.tags.allMyEntities$;
4128
+ this.run(request, rows => this.rows.set(rows));
4129
+ }
4130
+ tableRows() {
4131
+ return this.rows().map(row => ({
4132
+ ...row,
4133
+ parentName: 'parentCategoryId' in row
4134
+ ? (this.rows().find(parent => parent.id === row.parentCategoryId)
4135
+ ?.name ?? '')
4136
+ : '',
4137
+ }));
4138
+ }
4139
+ parentOptions() {
4140
+ const categories = this.rows().filter((row) => 'parentCategoryId' in row);
4141
+ return categories.filter(category => {
4142
+ const visited = new Set();
4143
+ let current = category;
4144
+ while (current) {
4145
+ if (current.id === this.editingId || visited.has(current.id)) {
4146
+ return false;
4147
+ }
4148
+ visited.add(current.id);
4149
+ current = categories.find(parent => parent.id === current?.parentCategoryId);
4150
+ }
4151
+ return true;
4152
+ });
4153
+ }
4154
+ edit(row) {
4155
+ if (this.busy()) {
4156
+ return;
4157
+ }
4158
+ this.editingId = row?.id ?? null;
4159
+ this.draft = row
4160
+ ? {
4161
+ name: row.name,
4162
+ slug: row.slug,
4163
+ description: row.description,
4164
+ parentCategoryId: 'parentCategoryId' in row ? row.parentCategoryId : null,
4165
+ sortOrder: 'sortOrder' in row ? row.sortOrder : 0,
4166
+ }
4167
+ : this.emptyDraft();
4168
+ this.error.set('');
4169
+ this.editing.set(true);
4170
+ }
4171
+ save() {
4172
+ if (this.busy()) {
4173
+ return;
4174
+ }
4175
+ const request = this.isCategory
4176
+ ? this.categories.save(this.editingId, this.draft)
4177
+ : this.tags.save(this.editingId, this.draft);
4178
+ this.run(request, saved => {
4179
+ this.editing.set(false);
4180
+ this.rows.update(rows => [
4181
+ ...rows.filter(row => row.id !== saved.id),
4182
+ saved,
4183
+ ]);
4184
+ });
4185
+ }
4186
+ delete(row) {
4187
+ if (this.busy()) {
4188
+ return;
4189
+ }
4190
+ this.dialog
4191
+ .open(TaonConfirmDialogComponent, {
4192
+ data: {
4193
+ title: this.isCategory
4194
+ ? this.t.gettext('Delete category?')
4195
+ : this.t.gettext('Delete tag?'),
4196
+ message: this.t.gettext('Only unused items can be deleted. This cannot be undone.'),
4197
+ confirmText: this.t.gettext('Delete'),
4198
+ },
4199
+ })
4200
+ .afterClosed()
4201
+ .pipe(takeUntilDestroyed(this.destroyRef))
4202
+ .subscribe(confirmed => {
4203
+ if (confirmed) {
4204
+ this.run(this.isCategory
4205
+ ? this.categories.delete(row.id)
4206
+ : this.tags.delete(row.id), () => {
4207
+ if (this.editingId === row.id) {
4208
+ this.editing.set(false);
4209
+ }
4210
+ this.rows.update(rows => rows.filter(item => item.id !== row.id));
4211
+ });
4212
+ }
4213
+ });
4214
+ }
4215
+ run(request, next) {
4216
+ if (this.busy()) {
4217
+ return;
4218
+ }
4219
+ this.busy.set(true);
4220
+ this.error.set('');
4221
+ request
4222
+ .pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.busy.set(false)))
4223
+ .subscribe({
4224
+ next: value => {
4225
+ this.busy.set(false);
4226
+ next(value);
4227
+ },
4228
+ error: (error) => {
4229
+ console.error('[taon-cms-taxonomy] Operation failed', error);
4230
+ this.error.set(this.t.gettext('The operation failed. Check for duplicate names or slugs, invalid parents, or items still used by posts or child categories, then reload and try again.'));
4231
+ },
4232
+ });
4233
+ }
4234
+ emptyDraft() {
4235
+ return {
4236
+ name: '',
4237
+ slug: '',
4238
+ description: '',
4239
+ parentCategoryId: null,
4240
+ sortOrder: 0,
4241
+ };
4242
+ }
4243
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsTaxonomyBackofficeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4244
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonCmsTaxonomyBackofficeComponent, isStandalone: true, selector: "taon-cms-taxonomy-backoffice", providers: [TaonCmsCategoryApiService, TaonCmsTagApiService], ngImport: i0, template: "<h1>{{ isCategory ? t.gettext('Categories') : t.gettext('Tags') }}</h1>\n<div class=\"actions\">\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy()\"\n (click)=\"edit()\">\n {{ isCategory ? t.gettext('Create category') : t.gettext('Create tag') }}\n </button>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy()\"\n (click)=\"reload()\">\n {{ t.gettext('Reload') }}\n </button>\n</div>\n@if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n}\n@if (busy()) {\n <p role=\"status\">{{ t.gettext('Loading...') }}</p>\n}\n@if (editing()) {\n <form\n #form=\"ngForm\"\n (ngSubmit)=\"save()\">\n <h2>{{ editingId === null ? t.gettext('Create') : t.gettext('Edit') }}</h2>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Name') }}</mat-label>\n <input\n matInput\n name=\"name\"\n required\n [(ngModel)]=\"draft.name\"\n [disabled]=\"busy()\" />\n </mat-form-field>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Slug') }}</mat-label>\n <input\n matInput\n name=\"slug\"\n required\n [(ngModel)]=\"draft.slug\"\n [disabled]=\"busy()\" />\n </mat-form-field>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Description') }}</mat-label>\n <textarea\n matInput\n name=\"description\"\n [(ngModel)]=\"draft.description\"\n [disabled]=\"busy()\"></textarea>\n </mat-form-field>\n @if (isCategory) {\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Parent Category') }}</mat-label>\n <mat-select\n name=\"parentCategoryId\"\n [(ngModel)]=\"draft.parentCategoryId\"\n [disabled]=\"busy()\">\n <mat-option [value]=\"null\">{{ t.gettext('None') }}</mat-option>\n @for (category of parentOptions(); track category.id) {\n <mat-option [value]=\"category.id\">{{ category.name }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Sort Order') }}</mat-label>\n <input\n matInput\n name=\"sortOrder\"\n type=\"number\"\n step=\"1\"\n required\n [(ngModel)]=\"draft.sortOrder\"\n [disabled]=\"busy()\" />\n </mat-form-field>\n }\n <div class=\"actions\">\n <button\n mat-flat-button\n type=\"submit\"\n [disabled]=\"\n busy() || form.invalid || !draft.name.trim() || !draft.slug.trim()\n \">\n {{ t.gettext('Save') }}\n </button>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy()\"\n (click)=\"editing.set(false)\">\n {{ t.gettext('Cancel') }}\n </button>\n </div>\n </form>\n}\n<taon-datatable\n [data]=\"tableRows()\"\n [columns]=\"columns\"\n [hideAddButton]=\"true\"\n searchMode=\"advanced\">\n</taon-datatable>\n", styles: [":host{display:block}form{display:grid;gap:1rem;max-width:640px;margin-block:1.5rem}.actions{display:flex;flex-wrap:wrap;gap:.5rem}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]):not([formArray]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { 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: 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: 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: 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: "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 }); }
4245
+ }
4246
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsTaxonomyBackofficeComponent, decorators: [{
4247
+ type: Component,
4248
+ args: [{ selector: 'taon-cms-taxonomy-backoffice', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
4249
+ FormsModule,
4250
+ MatButtonModule,
4251
+ MatFormFieldModule,
4252
+ MatInputModule,
4253
+ MatSelectModule,
4254
+ TaonDatatableComponent,
4255
+ ], providers: [TaonCmsCategoryApiService, TaonCmsTagApiService], template: "<h1>{{ isCategory ? t.gettext('Categories') : t.gettext('Tags') }}</h1>\n<div class=\"actions\">\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy()\"\n (click)=\"edit()\">\n {{ isCategory ? t.gettext('Create category') : t.gettext('Create tag') }}\n </button>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy()\"\n (click)=\"reload()\">\n {{ t.gettext('Reload') }}\n </button>\n</div>\n@if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n}\n@if (busy()) {\n <p role=\"status\">{{ t.gettext('Loading...') }}</p>\n}\n@if (editing()) {\n <form\n #form=\"ngForm\"\n (ngSubmit)=\"save()\">\n <h2>{{ editingId === null ? t.gettext('Create') : t.gettext('Edit') }}</h2>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Name') }}</mat-label>\n <input\n matInput\n name=\"name\"\n required\n [(ngModel)]=\"draft.name\"\n [disabled]=\"busy()\" />\n </mat-form-field>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Slug') }}</mat-label>\n <input\n matInput\n name=\"slug\"\n required\n [(ngModel)]=\"draft.slug\"\n [disabled]=\"busy()\" />\n </mat-form-field>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Description') }}</mat-label>\n <textarea\n matInput\n name=\"description\"\n [(ngModel)]=\"draft.description\"\n [disabled]=\"busy()\"></textarea>\n </mat-form-field>\n @if (isCategory) {\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Parent Category') }}</mat-label>\n <mat-select\n name=\"parentCategoryId\"\n [(ngModel)]=\"draft.parentCategoryId\"\n [disabled]=\"busy()\">\n <mat-option [value]=\"null\">{{ t.gettext('None') }}</mat-option>\n @for (category of parentOptions(); track category.id) {\n <mat-option [value]=\"category.id\">{{ category.name }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Sort Order') }}</mat-label>\n <input\n matInput\n name=\"sortOrder\"\n type=\"number\"\n step=\"1\"\n required\n [(ngModel)]=\"draft.sortOrder\"\n [disabled]=\"busy()\" />\n </mat-form-field>\n }\n <div class=\"actions\">\n <button\n mat-flat-button\n type=\"submit\"\n [disabled]=\"\n busy() || form.invalid || !draft.name.trim() || !draft.slug.trim()\n \">\n {{ t.gettext('Save') }}\n </button>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy()\"\n (click)=\"editing.set(false)\">\n {{ t.gettext('Cancel') }}\n </button>\n </div>\n </form>\n}\n<taon-datatable\n [data]=\"tableRows()\"\n [columns]=\"columns\"\n [hideAddButton]=\"true\"\n searchMode=\"advanced\">\n</taon-datatable>\n", styles: [":host{display:block}form{display:grid;gap:1rem;max-width:640px;margin-block:1.5rem}.actions{display:flex;flex-wrap:wrap;gap:.5rem}\n"] }]
4256
+ }] });
4257
+
4258
+ var taonCmsTaxonomyBackoffice_component = /*#__PURE__*/Object.freeze({
4259
+ __proto__: null,
4260
+ TaonCmsTaxonomyBackofficeComponent: TaonCmsTaxonomyBackofficeComponent
4261
+ });
2701
4262
 
2702
- var TaonCmsTagState;
2703
- (function (TaonCmsTagState) {
2704
- TaonCmsTagState["Active"] = "active";
2705
- TaonCmsTagState["Inactive"] = "inactive";
2706
- })(TaonCmsTagState || (TaonCmsTagState = {}));
4263
+ const TaonCmsCategoriesBackofficeRoutes = [
4264
+ {
4265
+ path: '',
4266
+ data: { taxonomy: 'category' },
4267
+ loadComponent: () => Promise.resolve().then(function () { return taonCmsTaxonomyBackoffice_component; }).then(m => m.TaonCmsTaxonomyBackofficeComponent),
4268
+ },
4269
+ ];
4270
+ const TaonCmsTagsBackofficeRoutes = [
4271
+ {
4272
+ path: '',
4273
+ data: { taxonomy: 'tag' },
4274
+ loadComponent: () => Promise.resolve().then(function () { return taonCmsTaxonomyBackoffice_component; }).then(m => m.TaonCmsTaxonomyBackofficeComponent),
4275
+ },
4276
+ ];
2707
4277
 
2708
- var TaonCmsTagUtils;
2709
- (function (TaonCmsTagUtils) {
2710
- function isActive(state) {
2711
- return state === 'active';
2712
- }
2713
- TaonCmsTagUtils.isActive = isActive;
2714
- })(TaonCmsTagUtils || (TaonCmsTagUtils = {}));
4278
+ var taonCmsTaxonomyBackoffice_routes = /*#__PURE__*/Object.freeze({
4279
+ __proto__: null,
4280
+ TaonCmsCategoriesBackofficeRoutes: TaonCmsCategoriesBackofficeRoutes,
4281
+ TaonCmsTagsBackofficeRoutes: TaonCmsTagsBackofficeRoutes
4282
+ });
2715
4283
 
2716
4284
  class TaonCmsEditableDirective {
2717
4285
  constructor() {
@@ -2831,8 +4399,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
2831
4399
  args: ['paste', ['$event']]
2832
4400
  }] } });
2833
4401
 
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 } });
2834
4403
  class TaonCmsRevisionChooserComponent {
2835
4404
  constructor() {
4405
+ this.t = t$5.for(this);
2836
4406
  this.post = inject(MAT_DIALOG_DATA);
2837
4407
  this.revisions = signal([], ...(ngDevMode ? [{ debugName: "revisions" }] : []));
2838
4408
  this.selected = signal(null, ...(ngDevMode ? [{ debugName: "selected" }] : []));
@@ -2844,6 +4414,10 @@ class TaonCmsRevisionChooserComponent {
2844
4414
  this.destroyRef = inject(DestroyRef);
2845
4415
  this.load();
2846
4416
  }
4417
+ onEscape(event) {
4418
+ event.stopPropagation();
4419
+ this.ref.close();
4420
+ }
2847
4421
  load() {
2848
4422
  if (this.loading() || this.applying()) {
2849
4423
  return;
@@ -2851,11 +4425,14 @@ class TaonCmsRevisionChooserComponent {
2851
4425
  this.selected.set(null);
2852
4426
  this.loading.set(true);
2853
4427
  this.error.set('');
2854
- this.api.listRevisions(this.post.id).pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.loading.set(false))).subscribe({
4428
+ this.api
4429
+ .listRevisions(this.post.id)
4430
+ .pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.loading.set(false)))
4431
+ .subscribe({
2855
4432
  next: revisions => this.revisions.set([...revisions].sort((a, b) => b.revisionNumber - a.revisionNumber)),
2856
4433
  error: (error) => {
2857
4434
  console.error('[taon-cms-revision-chooser] Unable to load revisions', error);
2858
- this.error.set('Revisions could not be loaded. Please try again.');
4435
+ this.error.set(this.t.gettext('Revisions could not be loaded. Please try again.'));
2859
4436
  },
2860
4437
  });
2861
4438
  }
@@ -2865,20 +4442,22 @@ class TaonCmsRevisionChooserComponent {
2865
4442
  return;
2866
4443
  }
2867
4444
  if (revisionNumber === null) {
2868
- this.error.set('Select a revision to restore.');
4445
+ this.error.set(this.t.gettext('Select a revision to restore.'));
2869
4446
  return;
2870
4447
  }
2871
4448
  this.applying.set(true);
2872
4449
  this.error.set('');
2873
- this.api.restoreContent(this.post.id, {
4450
+ this.api
4451
+ .restoreContent(this.post.id, {
2874
4452
  revisionNumber,
2875
4453
  expectedVersion: this.post.version,
2876
- }).pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.applying.set(false))).subscribe({
4454
+ })
4455
+ .pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.applying.set(false)))
4456
+ .subscribe({
2877
4457
  next: post => this.ref.close(post),
2878
4458
  error: (error) => {
2879
4459
  console.error('[taon-cms-revision-chooser] Unable to restore revision', error);
2880
- this.error.set('The revision could not be restored. If the post changed, close and ' +
2881
- 'reopen it to load its latest version.');
4460
+ this.error.set(this.t.gettext('The revision could not be restored. If the post changed, close and reopen it to load its latest version.'));
2882
4461
  },
2883
4462
  });
2884
4463
  }
@@ -2888,15 +4467,20 @@ class TaonCmsRevisionChooserComponent {
2888
4467
  }
2889
4468
  }
2890
4469
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsRevisionChooserComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2891
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonCmsRevisionChooserComponent, isStandalone: true, selector: "taon-cms-revision-chooser", providers: [TaonCmsContentRevisionApiService], ngImport: i0, template: "<h2 mat-dialog-title>Restore a revision</h2>\n<mat-dialog-content>\n <p>Restoring replaces the post, including its status, with the selected revision.</p>\n @if (loading()) {\n <p role=\"status\">Loading revisions...</p>\n } @else {\n <mat-radio-group aria-label=\"Post revisions\" [value]=\"selected()\" (change)=\"selected.set($event.value)\" [disabled]=\"applying()\">\n @for (revision of revisions(); track revision.id) {\n <mat-radio-button [value]=\"revision.revisionNumber\" [disabled]=\"!revision.snapshot\">\n <strong>Revision {{ revision.revisionNumber }}</strong>\n <span>{{ revision.createdAt | date: 'medium' }}</span>\n @if (revision.createdByUserId !== null && revision.createdByUserId !== undefined) {\n <span>User {{ revision.createdByUserId }}</span>\n }\n @if (!revision.snapshot) {\n <span>Legacy revision - cannot be restored</span>\n }\n </mat-radio-button>\n } @empty {\n <p>No revisions are available.</p>\n }\n </mat-radio-group>\n }\n @if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n <button mat-button type=\"button\" [disabled]=\"loading() || applying()\" (click)=\"load()\">Reload revisions</button>\n }\n @if (applying()) {\n <p role=\"status\">Restoring...</p>\n }\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button mat-button type=\"button\" [disabled]=\"applying()\" (click)=\"cancel()\">Cancel</button>\n <button mat-flat-button type=\"button\" [disabled]=\"loading() || applying() || selected() === null\" (click)=\"apply()\">Apply</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.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i3.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 }); }
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 }); }
2892
4471
  }
2893
4472
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsRevisionChooserComponent, decorators: [{
2894
4473
  type: Component,
2895
- args: [{ selector: 'taon-cms-revision-chooser', changeDetection: ChangeDetectionStrategy.OnPush, imports: [DatePipe, MatButtonModule, MatDialogModule, MatRadioModule], providers: [TaonCmsContentRevisionApiService], template: "<h2 mat-dialog-title>Restore a revision</h2>\n<mat-dialog-content>\n <p>Restoring replaces the post, including its status, with the selected revision.</p>\n @if (loading()) {\n <p role=\"status\">Loading revisions...</p>\n } @else {\n <mat-radio-group aria-label=\"Post revisions\" [value]=\"selected()\" (change)=\"selected.set($event.value)\" [disabled]=\"applying()\">\n @for (revision of revisions(); track revision.id) {\n <mat-radio-button [value]=\"revision.revisionNumber\" [disabled]=\"!revision.snapshot\">\n <strong>Revision {{ revision.revisionNumber }}</strong>\n <span>{{ revision.createdAt | date: 'medium' }}</span>\n @if (revision.createdByUserId !== null && revision.createdByUserId !== undefined) {\n <span>User {{ revision.createdByUserId }}</span>\n }\n @if (!revision.snapshot) {\n <span>Legacy revision - cannot be restored</span>\n }\n </mat-radio-button>\n } @empty {\n <p>No revisions are available.</p>\n }\n </mat-radio-group>\n }\n @if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n <button mat-button type=\"button\" [disabled]=\"loading() || applying()\" (click)=\"load()\">Reload revisions</button>\n }\n @if (applying()) {\n <p role=\"status\">Restoring...</p>\n }\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button mat-button type=\"button\" [disabled]=\"applying()\" (click)=\"cancel()\">Cancel</button>\n <button mat-flat-button type=\"button\" [disabled]=\"loading() || applying() || selected() === null\" (click)=\"apply()\">Apply</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"] }]
2896
- }], ctorParameters: () => [] });
4474
+ args: [{ selector: 'taon-cms-revision-chooser', changeDetection: ChangeDetectionStrategy.OnPush, imports: [DatePipe, MatButtonModule, MatDialogModule, MatRadioModule], providers: [TaonCmsContentRevisionApiService], 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"] }]
4475
+ }], ctorParameters: () => [], propDecorators: { onEscape: [{
4476
+ type: HostListener,
4477
+ args: ['document:keydown.escape', ['$event']]
4478
+ }] } });
2897
4479
 
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-mZeFTFaF.mjs')).default, "pl-PL": async () => (await import('./cms-browser-taon-related-post-chooser.component.html.pl-PL.i18n.data-D7X5-yeN.mjs')).default, "de-DE": async () => (await import('./cms-browser-taon-related-post-chooser.component.html.de-DE.i18n.data-D0T-rq7s.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 } });
2898
4481
  class TaonRelatedPostChooserComponent {
2899
4482
  constructor() {
4483
+ this.t = t$4.for(this);
2900
4484
  this.data = inject(MAT_DIALOG_DATA);
2901
4485
  this.posts = signal([], ...(ngDevMode ? [{ debugName: "posts" }] : []));
2902
4486
  this.selected = signal(null, ...(ngDevMode ? [{ debugName: "selected" }] : []));
@@ -2927,7 +4511,7 @@ class TaonRelatedPostChooserComponent {
2927
4511
  next: posts => this.posts.set(posts),
2928
4512
  error: (error) => {
2929
4513
  console.error('[taon-related-post-chooser] Unable to load posts', error);
2930
- this.error.set('Posts could not be loaded. Please try again.');
4514
+ this.error.set(this.t.gettext('Posts could not be loaded. Please try again.'));
2931
4515
  },
2932
4516
  });
2933
4517
  }
@@ -2943,7 +4527,7 @@ class TaonRelatedPostChooserComponent {
2943
4527
  }
2944
4528
  const post = this.filteredPosts().find(post => post.id === this.selected());
2945
4529
  if (!post) {
2946
- this.error.set('Select a related post.');
4530
+ this.error.set(this.t.gettext('Select a related post.'));
2947
4531
  return;
2948
4532
  }
2949
4533
  this.ref.close(post);
@@ -2952,26 +4536,169 @@ class TaonRelatedPostChooserComponent {
2952
4536
  this.ref.close();
2953
4537
  }
2954
4538
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonRelatedPostChooserComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2955
- 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>Add related post</h2>\n<mat-dialog-content>\n <label class=\"search-field\">\n <span>Search posts</span>\n <input type=\"search\" aria-label=\"Search posts by ID, title or slug\" [value]=\"query()\" [disabled]=\"loading()\" (input)=\"search($event)\" />\n </label>\n @if (loading()) {\n <p role=\"status\">Loading posts...</p>\n } @else if (error()) {\n <p class=\"error\" role=\"alert\">{{ error() }}</p>\n <button mat-button type=\"button\" (click)=\"load()\">Try again</button>\n } @else {\n <mat-radio-group aria-label=\"Related post\" [value]=\"selected()\" (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 }} <span class=\"slug\">{{ post.slug }}</span>\n </mat-radio-button>\n } @empty {\n <p>No matching posts available.</p>\n }\n </mat-radio-group>\n }\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button mat-button type=\"button\" (click)=\"cancel()\">Cancel</button>\n <button mat-flat-button type=\"button\" [disabled]=\"loading() || !!error() || selected() === null\" (click)=\"choose()\">Add related post</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.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i3.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 }); }
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 }); }
2956
4540
  }
2957
4541
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonRelatedPostChooserComponent, decorators: [{
2958
4542
  type: Component,
2959
- args: [{ selector: 'taon-related-post-chooser', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatButtonModule, MatDialogModule, MatRadioModule], providers: [TaonCmsContentApiService], template: "<h2 mat-dialog-title>Add related post</h2>\n<mat-dialog-content>\n <label class=\"search-field\">\n <span>Search posts</span>\n <input type=\"search\" aria-label=\"Search posts by ID, title or slug\" [value]=\"query()\" [disabled]=\"loading()\" (input)=\"search($event)\" />\n </label>\n @if (loading()) {\n <p role=\"status\">Loading posts...</p>\n } @else if (error()) {\n <p class=\"error\" role=\"alert\">{{ error() }}</p>\n <button mat-button type=\"button\" (click)=\"load()\">Try again</button>\n } @else {\n <mat-radio-group aria-label=\"Related post\" [value]=\"selected()\" (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 }} <span class=\"slug\">{{ post.slug }}</span>\n </mat-radio-button>\n } @empty {\n <p>No matching posts available.</p>\n }\n </mat-radio-group>\n }\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button mat-button type=\"button\" (click)=\"cancel()\">Cancel</button>\n <button mat-flat-button type=\"button\" [disabled]=\"loading() || !!error() || selected() === null\" (click)=\"choose()\">Add related post</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"] }]
4543
+ 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"] }]
2960
4544
  }], ctorParameters: () => [] });
2961
4545
 
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
+
2962
4683
  //#region imports
2963
4684
  //#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 } });
2964
4686
  class TaonCmsPostComponent {
2965
4687
  //#endregion
2966
4688
  //#region constructor
2967
4689
  constructor() {
4690
+ this.t = t$3.for(this);
2968
4691
  //#region fields and getters
2969
4692
  this.post = input(null, ...(ngDevMode ? [{ debugName: "post" }] : []));
2970
4693
  this.mode = model('view', ...(ngDevMode ? [{ debugName: "mode" }] : []));
2971
4694
  this.changed = output();
2972
4695
  this.deleted = output();
4696
+ this.duplicated = output();
2973
4697
  this.cancelled = output();
2974
4698
  this.currentPost = signal(null, ...(ngDevMode ? [{ debugName: "currentPost" }] : []));
4699
+ this.placeholderShortIntro = this.t.signal.gettext('A short introduction...');
4700
+ this.placeholderTitle = this.t.signal.gettext('Title');
4701
+ this.placeholderTellYourStory = this.t.signal.gettext('Tell your story...');
2975
4702
  this.draft = signal({
2976
4703
  type: TaonCmsContentType.Normal,
2977
4704
  title: '',
@@ -2981,39 +4708,76 @@ class TaonCmsPostComponent {
2981
4708
  videoKey: null,
2982
4709
  audioKey: null,
2983
4710
  attachmentKey: null,
4711
+ thumbnailKey: null,
4712
+ categoryId: null,
4713
+ tagIds: [],
2984
4714
  }, ...(ngDevMode ? [{ debugName: "draft" }] : []));
2985
4715
  this.postTypes = [
2986
- { value: TaonCmsContentType.Normal, label: 'Normal post' },
2987
- { value: TaonCmsContentType.Video, label: 'Video post' },
2988
- { value: TaonCmsContentType.Audio, label: 'Audio post' },
2989
- { value: TaonCmsContentType.Attachment, label: 'Attachment post' },
4716
+ {
4717
+ value: TaonCmsContentType.Normal,
4718
+ label: this.t.gettext('Normal post'),
4719
+ },
4720
+ { value: TaonCmsContentType.Video, label: this.t.gettext('Video post') },
4721
+ { value: TaonCmsContentType.Audio, label: this.t.gettext('Audio post') },
4722
+ {
4723
+ value: TaonCmsContentType.Attachment,
4724
+ label: this.t.gettext('Attachment post'),
4725
+ },
2990
4726
  ];
2991
4727
  this.mediaAttachments = [
2992
4728
  {
2993
4729
  type: TaonCmsContentType.Video,
2994
4730
  key: 'videoKey',
2995
- heading: 'Video Attachment',
2996
- uploadLabel: 'Upload video',
4731
+ heading: this.t.gettext('Video Attachment'),
4732
+ uploadLabel: this.t.gettext('Upload video'),
2997
4733
  accept: 'video/*',
2998
4734
  },
2999
4735
  {
3000
4736
  type: TaonCmsContentType.Audio,
3001
4737
  key: 'audioKey',
3002
- heading: 'Audio Attachment',
3003
- uploadLabel: 'Upload audio',
4738
+ heading: this.t.gettext('Audio Attachment'),
4739
+ uploadLabel: this.t.gettext('Upload audio'),
3004
4740
  accept: 'audio/*',
3005
4741
  },
3006
4742
  {
3007
4743
  type: TaonCmsContentType.Attachment,
3008
4744
  key: 'attachmentKey',
3009
- heading: 'File Attachment',
3010
- uploadLabel: 'Upload file',
4745
+ heading: this.t.gettext('File Attachment'),
4746
+ uploadLabel: this.t.gettext('Upload file'),
3011
4747
  accept: '',
3012
4748
  },
3013
4749
  ];
3014
4750
  this.mediaAttachment = computed(() => this.mediaAttachments.find(media => media.type === this.draft().type), ...(ngDevMode ? [{ debugName: "mediaAttachment" }] : []));
3015
4751
  this.busy = signal(false, ...(ngDevMode ? [{ debugName: "busy" }] : []));
4752
+ this.thumbnailPreviewUrl = signal('', ...(ngDevMode ? [{ debugName: "thumbnailPreviewUrl" }] : []));
4753
+ this.thumbnailError = signal('', ...(ngDevMode ? [{ debugName: "thumbnailError" }] : []));
4754
+ this.thumbnailReference = computed(() => this.draft().thumbnailKey, ...(ngDevMode ? [{ debugName: "thumbnailReference" }] : []));
4755
+ this.thumbnailSlug = computed(() => this.draft().slug, ...(ngDevMode ? [{ debugName: "thumbnailSlug" }] : []));
4756
+ this.taxonomyLoading = signal(false, ...(ngDevMode ? [{ debugName: "taxonomyLoading" }] : []));
4757
+ this.taxonomyError = signal('', ...(ngDevMode ? [{ debugName: "taxonomyError" }] : []));
4758
+ this.categories = signal([], ...(ngDevMode ? [{ debugName: "categories" }] : []));
4759
+ this.tags = signal([], ...(ngDevMode ? [{ debugName: "tags" }] : []));
4760
+ this.tagSearch = signal('', ...(ngDevMode ? [{ debugName: "tagSearch" }] : []));
4761
+ this.filteredTags = computed(() => {
4762
+ const query = this.tagSearch().trim().toLowerCase();
4763
+ return this.tags().filter(tag => !this.draft().tagIds.includes(tag.id) &&
4764
+ `${tag.name} ${tag.slug}`.toLowerCase().includes(query));
4765
+ }, ...(ngDevMode ? [{ debugName: "filteredTags" }] : []));
4766
+ this.selectedTags = computed(() => this.tags().filter(tag => this.draft().tagIds.includes(tag.id)), ...(ngDevMode ? [{ debugName: "selectedTags" }] : []));
4767
+ this.categoryApi = inject(TaonCmsCategoryApiService);
4768
+ this.tagApi = inject(TaonCmsTagApiService);
4769
+ this.editorSession = 0;
4770
+ this.thumbnailObjectUrl = '';
4771
+ this.stagedThumbnail = signal(null, ...(ngDevMode ? [{ debugName: "stagedThumbnail" }] : []));
3016
4772
  this.uploading = signal(false, ...(ngDevMode ? [{ debugName: "uploading" }] : []));
4773
+ this.uploadProgress = signal(0, ...(ngDevMode ? [{ debugName: "uploadProgress" }] : []));
4774
+ this.mediaPreviewUrl = signal('', ...(ngDevMode ? [{ debugName: "mediaPreviewUrl" }] : []));
4775
+ this.mediaPreviewLoading = signal(false, ...(ngDevMode ? [{ debugName: "mediaPreviewLoading" }] : []));
4776
+ this.mediaPreviewError = signal('', ...(ngDevMode ? [{ debugName: "mediaPreviewError" }] : []));
4777
+ this.mediaFileNames = signal({}, ...(ngDevMode ? [{ debugName: "mediaFileNames" }] : []));
4778
+ this.uploadedMediaPreview = signal(null, ...(ngDevMode ? [{ debugName: "uploadedMediaPreview" }] : []));
4779
+ this.mediaPreviewRequest = 0;
4780
+ this.mediaPreviewSignature = '';
3017
4781
  this.dialogOpen = signal(false, ...(ngDevMode ? [{ debugName: "dialogOpen" }] : []));
3018
4782
  this.error = signal('', ...(ngDevMode ? [{ debugName: "error" }] : []));
3019
4783
  this.relatedPosts = signal([], ...(ngDevMode ? [{ debugName: "relatedPosts" }] : []));
@@ -3025,6 +4789,8 @@ class TaonCmsPostComponent {
3025
4789
  this.useAsApplicationHook = signal(false, ...(ngDevMode ? [{ debugName: "useAsApplicationHook" }] : []));
3026
4790
  this.selectedApplicationHook = signal(null, ...(ngDevMode ? [{ debugName: "selectedApplicationHook" }] : []));
3027
4791
  this.permissions = signal([], ...(ngDevMode ? [{ debugName: "permissions" }] : []));
4792
+ this.applyPermissionsToRelatedPosts = signal(false, ...(ngDevMode ? [{ debugName: "applyPermissionsToRelatedPosts" }] : []));
4793
+ this.permissionSource = signal(null, ...(ngDevMode ? [{ debugName: "permissionSource" }] : []));
3028
4794
  this.permissionsLoading = signal(false, ...(ngDevMode ? [{ debugName: "permissionsLoading" }] : []));
3029
4795
  this.permissionsError = signal('', ...(ngDevMode ? [{ debugName: "permissionsError" }] : []));
3030
4796
  this.permissionOptions = signal([], ...(ngDevMode ? [{ debugName: "permissionOptions" }] : []));
@@ -3044,7 +4810,9 @@ class TaonCmsPostComponent {
3044
4810
  !this.applicationHooksError() &&
3045
4811
  (!this.useAsApplicationHook() || !!this.selectedApplicationHook()) &&
3046
4812
  !this.permissionsLoading() &&
3047
- !this.permissionsError(), ...(ngDevMode ? [{ debugName: "canSave" }] : []));
4813
+ !this.permissionsError() &&
4814
+ !this.taxonomyLoading() &&
4815
+ !this.taxonomyError(), ...(ngDevMode ? [{ debugName: "canSave" }] : []));
3048
4816
  this.canPublish = computed(() => {
3049
4817
  const post = this.currentPost();
3050
4818
  return !!post && post.status !== 'published';
@@ -3062,12 +4830,243 @@ class TaonCmsPostComponent {
3062
4830
  untracked(() => {
3063
4831
  this.loadApplicationHooks();
3064
4832
  this.loadPermissionOptions();
4833
+ this.loadTaxonomy();
3065
4834
  });
3066
4835
  }
3067
4836
  });
4837
+ effect(onCleanup => {
4838
+ const key = this.thumbnailReference();
4839
+ const slug = this.thumbnailSlug();
4840
+ const editing = this.editing();
4841
+ const staged = this.stagedThumbnail();
4842
+ let active = true;
4843
+ onCleanup(() => {
4844
+ active = false;
4845
+ });
4846
+ this.thumbnailError.set('');
4847
+ this.thumbnailPreviewUrl.set('');
4848
+ if (staged && staged.key === key) {
4849
+ this.thumbnailPreviewUrl.set(staged.url);
4850
+ return;
4851
+ }
4852
+ if (!key) {
4853
+ return;
4854
+ }
4855
+ const placeholder = defaultThumbnailUrl(key);
4856
+ if (placeholder) {
4857
+ this.thumbnailPreviewUrl.set(placeholder);
4858
+ return;
4859
+ }
4860
+ if (!slug) {
4861
+ return;
4862
+ }
4863
+ const load = async () => {
4864
+ if (editing) {
4865
+ return this.api.getAssetUrl(key);
4866
+ }
4867
+ try {
4868
+ return await this.api.getThumbnailLinkBySlug(slug, true);
4869
+ }
4870
+ catch {
4871
+ return this.api.getThumbnailLinkBySlug(slug);
4872
+ }
4873
+ };
4874
+ void load()
4875
+ .then(url => {
4876
+ if (active && !this.destroyRef.destroyed) {
4877
+ this.thumbnailPreviewUrl.set(url);
4878
+ }
4879
+ })
4880
+ .catch((error) => {
4881
+ console.error('[taon-cms-post] Unable to load thumbnail', error);
4882
+ if (active && !this.destroyRef.destroyed) {
4883
+ this.thumbnailError.set(this.t.gettext('The thumbnail could not be loaded.'));
4884
+ }
4885
+ });
4886
+ });
4887
+ this.destroyRef.onDestroy(() => this.releaseThumbnailPreview());
4888
+ effect(() => {
4889
+ const media = this.mediaAttachment();
4890
+ const key = media ? this.draft()[media.key] : null;
4891
+ const slug = this.draft().slug;
4892
+ const editing = this.editing();
4893
+ const viewing = !!this.currentPost() && this.mode() !== 'add';
4894
+ const stagedPreview = this.uploadedMediaPreview();
4895
+ if ((!editing && !viewing) || !media || !key) {
4896
+ this.mediaPreviewSignature = '';
4897
+ this.mediaPreviewRequest += 1;
4898
+ this.mediaPreviewUrl.set('');
4899
+ this.mediaPreviewLoading.set(false);
4900
+ this.mediaPreviewError.set('');
4901
+ return;
4902
+ }
4903
+ if (stagedPreview?.key === key) {
4904
+ const signature = `upload:${key}:${stagedPreview.url}`;
4905
+ if (signature === this.mediaPreviewSignature) {
4906
+ return;
4907
+ }
4908
+ this.mediaPreviewSignature = signature;
4909
+ this.mediaPreviewRequest += 1;
4910
+ this.mediaPreviewUrl.set(stagedPreview.url);
4911
+ this.mediaPreviewLoading.set(false);
4912
+ this.mediaPreviewError.set('');
4913
+ return;
4914
+ }
4915
+ if (!slug) {
4916
+ this.mediaPreviewSignature = '';
4917
+ this.mediaPreviewRequest += 1;
4918
+ this.mediaPreviewUrl.set('');
4919
+ this.mediaPreviewLoading.set(false);
4920
+ this.mediaPreviewError.set('');
4921
+ return;
4922
+ }
4923
+ const signature = `${this.mode()}:${media.type}:${slug}:${key}`;
4924
+ if (signature === this.mediaPreviewSignature) {
4925
+ return;
4926
+ }
4927
+ this.mediaPreviewSignature = signature;
4928
+ const requestId = ++this.mediaPreviewRequest;
4929
+ this.mediaPreviewUrl.set('');
4930
+ this.mediaPreviewLoading.set(true);
4931
+ this.mediaPreviewError.set('');
4932
+ const getLink = editing
4933
+ ? this.getMediaLink(slug, media.type)
4934
+ : this.getMediaLinkForView(slug, media.type);
4935
+ void getLink
4936
+ .then(url => {
4937
+ if (requestId === this.mediaPreviewRequest &&
4938
+ !this.destroyRef.destroyed) {
4939
+ this.mediaPreviewUrl.set(url);
4940
+ }
4941
+ })
4942
+ .catch((error) => {
4943
+ console.error('[taon-cms-post] Unable to load media preview', error);
4944
+ if (requestId === this.mediaPreviewRequest &&
4945
+ !this.destroyRef.destroyed) {
4946
+ this.mediaPreviewError.set(this.t.gettext('Media preview could not be loaded. Please reopen the editor to try again.'));
4947
+ }
4948
+ })
4949
+ .finally(() => {
4950
+ if (requestId === this.mediaPreviewRequest &&
4951
+ !this.destroyRef.destroyed) {
4952
+ this.mediaPreviewLoading.set(false);
4953
+ }
4954
+ });
4955
+ });
3068
4956
  }
3069
4957
  //#endregion
3070
4958
  //#region methods / load related posts
4959
+ loadTaxonomy() {
4960
+ this.taxonomyLoad?.unsubscribe();
4961
+ const session = this.editorSession;
4962
+ const postId = this.currentPost()?.id;
4963
+ this.taxonomyLoading.set(true);
4964
+ this.taxonomyError.set('');
4965
+ this.taxonomyLoad = forkJoin({
4966
+ categories: this.categoryApi.allMyEntities$,
4967
+ tags: this.tagApi.allMyEntities$,
4968
+ tagIds: postId ? this.api.listTagIds(postId) : of([]),
4969
+ })
4970
+ .pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.taxonomyLoading.set(false)))
4971
+ .subscribe({
4972
+ next: result => {
4973
+ if (session === this.editorSession) {
4974
+ this.categories.set(result.categories.sort((a, b) => a.sortOrder - b.sortOrder || a.name.localeCompare(b.name)));
4975
+ this.tags.set(result.tags);
4976
+ this.updateDraft('tagIds', result.tagIds);
4977
+ }
4978
+ },
4979
+ error: (error) => {
4980
+ console.error('[taon-cms-post] Unable to load categories and tags', error);
4981
+ this.taxonomyError.set(this.t.gettext('Categories and tags could not be loaded. Please try again.'));
4982
+ },
4983
+ });
4984
+ }
4985
+ addTag(id) {
4986
+ if (!this.draft().tagIds.includes(id)) {
4987
+ this.updateDraft('tagIds', [...this.draft().tagIds, id]);
4988
+ }
4989
+ }
4990
+ removeTag(id) {
4991
+ this.updateDraft('tagIds', this.draft().tagIds.filter(selected => selected !== id));
4992
+ }
4993
+ filterTags(event) {
4994
+ if (event.target instanceof HTMLInputElement) {
4995
+ this.tagSearch.set(event.target.value);
4996
+ }
4997
+ }
4998
+ applyDefaultThumbnail() {
4999
+ if (!this.editing() || this.busy() || this.dialogOpen()) {
5000
+ return;
5001
+ }
5002
+ this.releaseThumbnailPreview();
5003
+ this.stagedThumbnail.set(null);
5004
+ this.updateDraft('thumbnailKey', defaultThumbnailKey(this.draft().type));
5005
+ }
5006
+ async thumbnailSelected(event) {
5007
+ if (!(event.target instanceof HTMLInputElement)) {
5008
+ return;
5009
+ }
5010
+ const input = event.target;
5011
+ const file = input.files?.[0];
5012
+ input.value = '';
5013
+ if (!file || !this.editing() || this.busy() || this.dialogOpen()) {
5014
+ return;
5015
+ }
5016
+ if (!file.type.startsWith('image/')) {
5017
+ this.error.set(this.t.gettext('Please select an image for the thumbnail.'));
5018
+ return;
5019
+ }
5020
+ this.busy.set(true);
5021
+ this.error.set('');
5022
+ try {
5023
+ await this.storeThumbnail(file, this.editorSession);
5024
+ }
5025
+ catch (error) {
5026
+ console.error('[taon-cms-post] Unable to upload thumbnail', error);
5027
+ this.error.set(this.t.gettext('The thumbnail could not be uploaded. Please try again.'));
5028
+ }
5029
+ finally {
5030
+ this.busy.set(false);
5031
+ }
5032
+ }
5033
+ async storeThumbnail(file, session) {
5034
+ if (session !== this.editorSession || this.destroyRef.destroyed) {
5035
+ return;
5036
+ }
5037
+ const previousPreview = this.thumbnailPreviewUrl();
5038
+ const previousStaged = this.stagedThumbnail();
5039
+ const preview = URL.createObjectURL(file);
5040
+ this.stagedThumbnail.set({ key: this.draft().thumbnailKey, url: preview });
5041
+ this.thumbnailPreviewUrl.set(preview);
5042
+ try {
5043
+ const object = await this.api.uploadMedia(file);
5044
+ if (session === this.editorSession && !this.destroyRef.destroyed) {
5045
+ this.releaseThumbnailPreview();
5046
+ this.thumbnailObjectUrl = preview;
5047
+ this.stagedThumbnail.set({ key: object.key, url: preview });
5048
+ this.updateDraft('thumbnailKey', object.key);
5049
+ }
5050
+ }
5051
+ catch (error) {
5052
+ if (session === this.editorSession) {
5053
+ this.stagedThumbnail.set(previousStaged);
5054
+ this.thumbnailPreviewUrl.set(previousPreview);
5055
+ }
5056
+ throw error;
5057
+ }
5058
+ finally {
5059
+ if (this.thumbnailObjectUrl !== preview) {
5060
+ URL.revokeObjectURL(preview);
5061
+ }
5062
+ }
5063
+ }
5064
+ releaseThumbnailPreview() {
5065
+ if (this.thumbnailObjectUrl) {
5066
+ URL.revokeObjectURL(this.thumbnailObjectUrl);
5067
+ this.thumbnailObjectUrl = '';
5068
+ }
5069
+ }
3071
5070
  loadRelatedPosts() {
3072
5071
  if (this.busy() || this.relatedPostsLoading()) {
3073
5072
  return;
@@ -3085,7 +5084,7 @@ class TaonCmsPostComponent {
3085
5084
  next: posts => this.relatedPosts.set(posts),
3086
5085
  error: (error) => {
3087
5086
  console.error('[taon-cms-post] Unable to load related posts', error);
3088
- this.relatedPostsError.set('Related posts could not be loaded. Please try again.');
5087
+ this.relatedPostsError.set(this.t.gettext('Related posts could not be loaded. Please try again.'));
3089
5088
  },
3090
5089
  });
3091
5090
  }
@@ -3151,7 +5150,7 @@ class TaonCmsPostComponent {
3151
5150
  },
3152
5151
  error: (error) => {
3153
5152
  console.error('[taon-cms-post] Unable to load application hooks', error);
3154
- this.applicationHooksError.set('Application hooks could not be loaded. Please try again.');
5153
+ this.applicationHooksError.set(this.t.gettext('Application hooks could not be loaded. Please try again.'));
3155
5154
  },
3156
5155
  });
3157
5156
  }
@@ -3168,7 +5167,7 @@ class TaonCmsPostComponent {
3168
5167
  //#endregion
3169
5168
  //#region methods / load permissions
3170
5169
  loadPermissions() {
3171
- if (this.busy() || this.permissionsLoading()) {
5170
+ if (this.permissionsLoading()) {
3172
5171
  return;
3173
5172
  }
3174
5173
  const post = this.requirePost();
@@ -3178,20 +5177,28 @@ class TaonCmsPostComponent {
3178
5177
  this.permissionsLoading.set(true);
3179
5178
  this.permissionsError.set('');
3180
5179
  this.permissionsLoad = this.api
3181
- .listPermissions(post.id)
5180
+ .getPermissionConfiguration(post.id)
3182
5181
  .pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.permissionsLoading.set(false)))
3183
5182
  .subscribe({
3184
- next: permissions => this.permissions.set(permissions),
5183
+ next: configuration => {
5184
+ this.permissions.set(configuration.permissions);
5185
+ this.permissionSource.set(configuration.source);
5186
+ },
3185
5187
  error: (error) => {
3186
5188
  console.error('[taon-cms-post] Unable to load permissions', error);
3187
- this.permissionsError.set('Permissions could not be loaded. Please try again.');
5189
+ this.permissionsError.set(this.t.gettext('Permissions could not be loaded. Please try again.'));
3188
5190
  },
3189
5191
  });
3190
5192
  }
3191
5193
  //#endregion
3192
5194
  //#region methods / add permission
3193
5195
  addPermission() {
3194
- if (!this.editing() || this.busy() || this.dialogOpen()) {
5196
+ if (!this.editing() ||
5197
+ this.busy() ||
5198
+ this.dialogOpen() ||
5199
+ this.permissionSource() ||
5200
+ this.permissionsLoading() ||
5201
+ this.permissionsError()) {
3195
5202
  return;
3196
5203
  }
3197
5204
  const permissionId = this.selectedPermissionId();
@@ -3204,7 +5211,12 @@ class TaonCmsPostComponent {
3204
5211
  //#endregion
3205
5212
  //#region methods / remove permission
3206
5213
  removePermission(id) {
3207
- if (!this.editing() || this.busy() || this.dialogOpen()) {
5214
+ if (!this.editing() ||
5215
+ this.busy() ||
5216
+ this.dialogOpen() ||
5217
+ this.permissionSource() ||
5218
+ this.permissionsLoading() ||
5219
+ this.permissionsError()) {
3208
5220
  return;
3209
5221
  }
3210
5222
  this.permissions.update(items => items.filter(permission => permission.id !== id));
@@ -3224,7 +5236,7 @@ class TaonCmsPostComponent {
3224
5236
  next: permissions => this.permissionOptions.set(permissions),
3225
5237
  error: (error) => {
3226
5238
  console.error('[taon-cms-post] Unable to load permission options', error);
3227
- this.permissionOptionsError.set('Available permissions could not be loaded. Please try again.');
5239
+ this.permissionOptionsError.set(this.t.gettext('Available permissions could not be loaded. Please try again.'));
3228
5240
  },
3229
5241
  });
3230
5242
  }
@@ -3237,7 +5249,7 @@ class TaonCmsPostComponent {
3237
5249
  //#region methods / file selected
3238
5250
  async fileSelected(event) {
3239
5251
  if (!(event.target instanceof HTMLInputElement)) {
3240
- this.error.set('Unable to read the selected media file.');
5252
+ this.error.set(this.t.gettext('Unable to read the selected media file.'));
3241
5253
  return;
3242
5254
  }
3243
5255
  const input = event.target;
@@ -3250,23 +5262,52 @@ class TaonCmsPostComponent {
3250
5262
  input.value = '';
3251
5263
  return;
3252
5264
  }
3253
- const draft = this.draft();
5265
+ const session = this.editorSession;
3254
5266
  this.busy.set(true);
3255
5267
  this.uploading.set(true);
5268
+ this.uploadProgress.set(0);
3256
5269
  this.error.set('');
3257
5270
  try {
3258
- const object = await this.api.uploadMedia(file);
3259
- if (!this.destroyRef.destroyed && this.draft() === draft) {
5271
+ const object = await this.api.uploadMedia(file, percentage => {
5272
+ if (!this.destroyRef.destroyed) {
5273
+ this.uploadProgress.set(percentage);
5274
+ }
5275
+ });
5276
+ if (!this.destroyRef.destroyed && this.editorSession === session) {
5277
+ const fileName = object.fileName || file.name;
5278
+ this.mediaFileNames.update(names => ({
5279
+ ...names,
5280
+ [object.key]: fileName,
5281
+ }));
5282
+ if (object.downloadUrl) {
5283
+ this.uploadedMediaPreview.set({
5284
+ key: object.key,
5285
+ url: this.uploadedMediaUrl(object.downloadUrl, media.type),
5286
+ fileName,
5287
+ });
5288
+ }
3260
5289
  this.updateDraft(media.key, object.key);
5290
+ if (media.type === TaonCmsContentType.Video) {
5291
+ try {
5292
+ const blob = await generateVideoThumbnail(file);
5293
+ const extension = blob.type === 'image/webp' ? 'webp' : 'png';
5294
+ await this.storeThumbnail(new File([blob], `thumbnail.${extension}`, { type: blob.type }), session);
5295
+ }
5296
+ catch (error) {
5297
+ console.error('[taon-cms-post] Unable to generate thumbnail', error);
5298
+ this.error.set(this.t.gettext('The video was uploaded, but its thumbnail could not be generated. Upload a thumbnail or apply a default placeholder.'));
5299
+ }
5300
+ }
3261
5301
  }
3262
5302
  }
3263
5303
  catch (error) {
3264
5304
  console.error('[taon-cms-post] Unable to upload media', error);
3265
- this.error.set('The media could not be uploaded. Please try again.');
5305
+ this.error.set(this.t.gettext('The media could not be uploaded. Please try again.'));
3266
5306
  }
3267
5307
  finally {
3268
5308
  this.busy.set(false);
3269
5309
  this.uploading.set(false);
5310
+ this.uploadProgress.set(0);
3270
5311
  input.value = '';
3271
5312
  }
3272
5313
  }
@@ -3277,9 +5318,67 @@ class TaonCmsPostComponent {
3277
5318
  if (!media || !this.editing() || this.busy() || this.dialogOpen()) {
3278
5319
  return;
3279
5320
  }
5321
+ this.uploadedMediaPreview.set(null);
3280
5322
  this.updateDraft(media.key, null);
3281
5323
  }
3282
5324
  //#endregion
5325
+ //#region methods / uploaded media URL
5326
+ uploadedMediaUrl(url, type) {
5327
+ if (type !== TaonCmsContentType.Attachment) {
5328
+ return url;
5329
+ }
5330
+ const parsedUrl = new URL(url);
5331
+ parsedUrl.searchParams.set('download', 'true');
5332
+ return parsedUrl.href;
5333
+ }
5334
+ //#endregion
5335
+ //#region methods / get media link
5336
+ getMediaLink(slug, type) {
5337
+ switch (type) {
5338
+ case TaonCmsContentType.Video:
5339
+ return firstValueFrom(this.api.getVideoLinkBySlug(slug));
5340
+ case TaonCmsContentType.Audio:
5341
+ return firstValueFrom(this.api.getAudioLinkBySlug(slug));
5342
+ case TaonCmsContentType.Attachment:
5343
+ return this.api.getAttachmentLinkBySlug(slug);
5344
+ default:
5345
+ return Promise.reject(new Error('This post type has no media.'));
5346
+ }
5347
+ }
5348
+ //#endregion
5349
+ //#region methods / get media link for viewing
5350
+ async getMediaLinkForView(slug, type) {
5351
+ try {
5352
+ switch (type) {
5353
+ case TaonCmsContentType.Video:
5354
+ return await this.api.getPublicVideoLinkBySlug(slug);
5355
+ case TaonCmsContentType.Audio:
5356
+ return await this.api.getPublicAudioLinkBySlug(slug);
5357
+ case TaonCmsContentType.Attachment:
5358
+ return await this.api.getPublicAttachmentLinkBySlug(slug);
5359
+ default:
5360
+ throw new Error('This post type has no media.');
5361
+ }
5362
+ }
5363
+ catch {
5364
+ return this.getMediaLink(slug, type);
5365
+ }
5366
+ }
5367
+ //#endregion
5368
+ //#region methods / media file name
5369
+ mediaFileName(key) {
5370
+ const fileName = this.mediaFileNames()[key];
5371
+ if (fileName) {
5372
+ return fileName;
5373
+ }
5374
+ const uploaded = this.uploadedMediaPreview();
5375
+ if (uploaded?.key === key) {
5376
+ return uploaded.fileName;
5377
+ }
5378
+ const storedName = key.split('/').pop() || key;
5379
+ return storedName.replace(/^[0-9a-f-]{36}__/i, '');
5380
+ }
5381
+ //#endregion
3283
5382
  //#region methods / update slug
3284
5383
  updateSlug(event) {
3285
5384
  if (event.target instanceof HTMLInputElement) {
@@ -3318,7 +5417,7 @@ class TaonCmsPostComponent {
3318
5417
  return;
3319
5418
  }
3320
5419
  if (!this.canSave()) {
3321
- this.error.set('A title and slug are required.');
5420
+ this.error.set(this.t.gettext('A title and slug are required.'));
3322
5421
  return;
3323
5422
  }
3324
5423
  if (this.mode() === 'add') {
@@ -3326,6 +5425,7 @@ class TaonCmsPostComponent {
3326
5425
  ...this.draft(),
3327
5426
  relatedPostIds: this.relatedPosts().map(post => post.id),
3328
5427
  permissionIds: this.permissions().map(permission => permission.id),
5428
+ applyPermissionsToRelatedPosts: this.applyPermissionsToRelatedPosts(),
3329
5429
  applicationHook: this.useAsApplicationHook()
3330
5430
  ? this.selectedApplicationHook()
3331
5431
  : null,
@@ -3349,7 +5449,7 @@ class TaonCmsPostComponent {
3349
5449
  return;
3350
5450
  }
3351
5451
  if (this.editing() && !this.canSave()) {
3352
- this.error.set('A title and slug are required.');
5452
+ this.error.set(this.t.gettext('A title and slug are required.'));
3353
5453
  return;
3354
5454
  }
3355
5455
  const post = this.requirePost();
@@ -3364,6 +5464,23 @@ class TaonCmsPostComponent {
3364
5464
  }
3365
5465
  }
3366
5466
  //#endregion
5467
+ //#region methods / unpublish
5468
+ unpublish() {
5469
+ const post = this.currentPost();
5470
+ if (!post ||
5471
+ post.status !== 'published' ||
5472
+ this.busy() ||
5473
+ this.dialogOpen() ||
5474
+ this.mode() === 'view-clean' ||
5475
+ this.mode() === 'add') {
5476
+ return;
5477
+ }
5478
+ this.persist(this.api.updateContent(post.id, {
5479
+ expectedVersion: post.version,
5480
+ status: 'draft',
5481
+ }));
5482
+ }
5483
+ //#endregion
3367
5484
  //#region methods / revert
3368
5485
  revert() {
3369
5486
  const post = this.requirePost();
@@ -3403,9 +5520,9 @@ class TaonCmsPostComponent {
3403
5520
  this.dialogOpen.set(true);
3404
5521
  const ref = this.dialog.open(TaonConfirmDialogComponent, {
3405
5522
  data: {
3406
- title: 'Delete post?',
3407
- message: 'This archives the post. It can be restored from its revisions.',
3408
- confirmText: 'Delete',
5523
+ title: this.t.gettext('Delete post?'),
5524
+ message: this.t.gettext('This archives the post. It can be restored from its revisions.'),
5525
+ confirmText: this.t.gettext('Delete'),
3409
5526
  },
3410
5527
  });
3411
5528
  ref
@@ -3419,12 +5536,40 @@ class TaonCmsPostComponent {
3419
5536
  });
3420
5537
  }
3421
5538
  //#endregion
5539
+ //#region methods / duplicate
5540
+ duplicate() {
5541
+ if (this.busy() || this.dialogOpen() || this.mode() === 'view-clean') {
5542
+ return;
5543
+ }
5544
+ const post = this.requirePost();
5545
+ if (!post) {
5546
+ return;
5547
+ }
5548
+ this.busy.set(true);
5549
+ this.error.set('');
5550
+ this.api
5551
+ .duplicateContent(post.id)
5552
+ .pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.busy.set(false)))
5553
+ .subscribe({
5554
+ next: duplicate => this.duplicated.emit(duplicate),
5555
+ error: (error) => {
5556
+ console.error('[taon-cms-post] Unable to duplicate post', error);
5557
+ this.error.set(this.t.gettext('The post could not be duplicated. Please try again.'));
5558
+ },
5559
+ });
5560
+ }
5561
+ //#endregion
3422
5562
  //#region methods / update input
3423
5563
  updateInput(post) {
3424
5564
  return {
3425
5565
  ...this.draft(),
3426
5566
  relatedPostIds: this.relatedPosts().map(related => related.id),
3427
- permissionIds: this.permissions().map(permission => permission.id),
5567
+ ...(this.permissionSource()
5568
+ ? {}
5569
+ : {
5570
+ permissionIds: this.permissions().map(permission => permission.id),
5571
+ }),
5572
+ applyPermissionsToRelatedPosts: this.applyPermissionsToRelatedPosts(),
3428
5573
  applicationHook: this.useAsApplicationHook()
3429
5574
  ? this.selectedApplicationHook()
3430
5575
  : null,
@@ -3436,13 +5581,20 @@ class TaonCmsPostComponent {
3436
5581
  requirePost() {
3437
5582
  const post = this.currentPost();
3438
5583
  if (!post) {
3439
- this.error.set('No post is loaded.');
5584
+ this.error.set(this.t.gettext('No post is loaded.'));
3440
5585
  }
3441
5586
  return post;
3442
5587
  }
3443
5588
  //#endregion
3444
5589
  //#region methods / set post
3445
5590
  setPost(post) {
5591
+ this.editorSession += 1;
5592
+ this.taxonomyLoad?.unsubscribe();
5593
+ this.taxonomyLoading.set(false);
5594
+ this.taxonomyError.set('');
5595
+ this.releaseThumbnailPreview();
5596
+ this.stagedThumbnail.set(null);
5597
+ this.tagSearch.set('');
3446
5598
  this.relatedPostsLoad?.unsubscribe();
3447
5599
  this.applicationHooksLoad?.unsubscribe();
3448
5600
  this.permissionsLoad?.unsubscribe();
@@ -3452,9 +5604,14 @@ class TaonCmsPostComponent {
3452
5604
  this.applicationHooksError.set('');
3453
5605
  this.permissionsLoading.set(false);
3454
5606
  this.permissionsError.set('');
5607
+ this.uploadedMediaPreview.set(null);
5608
+ this.mediaPreviewSignature = '';
5609
+ this.mediaPreviewRequest += 1;
3455
5610
  this.currentPost.set(post);
3456
5611
  this.relatedPosts.set(post?.relatedPosts ?? []);
3457
5612
  this.permissions.set(post?.permissions ?? []);
5613
+ this.permissionSource.set(null);
5614
+ this.applyPermissionsToRelatedPosts.set(post?.applyPermissionsToRelatedPosts ?? false);
3458
5615
  this.selectedPermissionId.set(null);
3459
5616
  this.setApplicationHookSelection(post, this.applicationHooks());
3460
5617
  this.draft.set({
@@ -3466,17 +5623,21 @@ class TaonCmsPostComponent {
3466
5623
  videoKey: post?.videoKey ?? null,
3467
5624
  audioKey: post?.audioKey ?? null,
3468
5625
  attachmentKey: post?.attachmentKey ?? null,
5626
+ thumbnailKey: post?.thumbnailKey ?? null,
5627
+ categoryId: post?.categoryId ?? null,
5628
+ tagIds: [],
3469
5629
  });
3470
5630
  if (post &&
3471
5631
  post.relatedPosts === undefined &&
3472
5632
  this.mode() !== 'view-clean') {
3473
5633
  this.loadRelatedPosts();
3474
5634
  }
3475
- if (post &&
3476
- post.permissions === undefined &&
3477
- this.mode() !== 'view-clean') {
5635
+ if (post && this.mode() !== 'view-clean') {
3478
5636
  this.loadPermissions();
3479
5637
  }
5638
+ if (this.editing()) {
5639
+ this.loadTaxonomy();
5640
+ }
3480
5641
  }
3481
5642
  //#endregion
3482
5643
  setApplicationHookSelection(post, hooks) {
@@ -3513,13 +5674,17 @@ class TaonCmsPostComponent {
3513
5674
  },
3514
5675
  error: (error) => {
3515
5676
  console.error('[taon-cms-post] Unable to save post', error);
3516
- this.error.set('The post could not be saved. Check the slug and your connection. ' +
3517
- 'If another user changed it, close and reopen the post before retrying.');
5677
+ this.error.set(this.t.gettext('The post could not be saved. Check the slug and your connection. If another user changed it, close and reopen the post before retrying.'));
3518
5678
  },
3519
5679
  });
3520
5680
  }
3521
5681
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3522
- 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", cancelled: "cancelled" }, providers: [TaonCmsContentApiService, TaonPermissionApiService], ngImport: i0, template: "@if (mode() !== 'view-clean') {\n <header class=\"post-actions\">\n <span class=\"post-status\">{{ mode() === 'add' ? 'New draft' : currentPost()?.status }}</span>\n <div class=\"buttons\">\n @if (editing()) {\n <button mat-flat-button type=\"button\" [disabled]=\"busy() || dialogOpen() || !canSave()\" (click)=\"save()\">\n {{ mode() === 'add' ? 'Add' : 'Save' }}\n </button>\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"cancel()\">Cancel</button>\n } @else if (currentPost()) {\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"edit()\">\n <mat-icon>edit</mat-icon> Edit\n </button>\n }\n @if (mode() !== 'add' && currentPost()) {\n @if (canPublish()) {\n <button mat-flat-button type=\"button\" [disabled]=\"busy() || dialogOpen() || (editing() && !canSave())\" (click)=\"publish()\">Publish</button>\n }\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"revert()\">\n <mat-icon>history</mat-icon> Revert\n </button>\n @if (currentPost()?.status !== 'archived') {\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"delete()\">\n <mat-icon>delete</mat-icon> Delete\n </button>\n }\n }\n </div>\n @if (busy()) {\n <span role=\"status\">{{ uploading() ? 'Uploading...' : 'Saving...' }}</span>\n }\n </header>\n @if (error()) {\n <p class=\"error\" role=\"alert\">{{ error() }}</p>\n }\n}\n\n<article class=\"post-article\" [attr.aria-busy]=\"busy()\">\n @if (editing()) {\n <mat-radio-group\n class=\"post-type-selector\"\n aria-label=\"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\">{{ type.label }}</mat-radio-button>\n }\n </mat-radio-group>\n <div\n class=\"post-title editable\"\n contenteditable=\"true\"\n role=\"textbox\"\n aria-label=\"Post title\"\n aria-required=\"true\"\n data-placeholder=\"Title\"\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 aria-label=\"Post excerpt\"\n aria-multiline=\"true\"\n data-placeholder=\"A short introduction...\"\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 aria-label=\"Post body\"\n aria-multiline=\"true\"\n data-placeholder=\"Tell your story...\"\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>URL slug</span>\n <input aria-label=\"URL slug\" [value]=\"draft().slug\" [disabled]=\"busy() || dialogOpen()\" (input)=\"updateSlug($event)\" placeholder=\"my-post\" />\n </label>\n @if (mediaAttachment(); as media) {\n <section class=\"media-attachment\" aria-labelledby=\"media-attachment-heading\">\n <h2 id=\"media-attachment-heading\">{{ media.heading }}</h2>\n @if (draft()[media.key]; as key) {\n <p>Attached file: {{ key }}</p>\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"removeMedia()\">Remove</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 mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"mediaInput.click()\">{{ media.uploadLabel }}</button>\n }\n </section>\n }\n <section class=\"related-posts\" aria-labelledby=\"related-posts-heading\">\n <h2 id=\"related-posts-heading\">Related posts</h2>\n @if (relatedPostsLoading()) {\n <p role=\"status\">Loading related posts...</p>\n } @else if (relatedPostsError()) {\n <p class=\"error\" role=\"alert\">{{ relatedPostsError() }}</p>\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"loadRelatedPosts()\">Try again</button>\n } @else {\n <ul>\n @for (post of relatedPosts(); track post.id) {\n <li>\n <span>#{{ post.id }} - {{ post.title }}</span>\n <button mat-icon-button type=\"button\" [attr.aria-label]=\"'Remove related post ' + post.title\" [disabled]=\"busy() || dialogOpen()\" (click)=\"removeRelatedPost(post.id)\">\n <mat-icon>close</mat-icon>\n </button>\n </li>\n } @empty {\n <li>No related posts yet.</li>\n }\n </ul>\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"addRelatedPost()\">\n <mat-icon>add</mat-icon> Add related post\n </button>\n }\n </section>\n <section class=\"application-hook\" aria-labelledby=\"application-hook-heading\">\n <h2 id=\"application-hook-heading\">Application Hook</h2>\n @if (applicationHooksLoading()) {\n <p role=\"status\">Loading application hooks...</p>\n } @else if (applicationHooksError()) {\n <p class=\"error\" role=\"alert\">{{ applicationHooksError() }}</p>\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"loadApplicationHooks()\">Try again</button>\n } @else {\n <mat-checkbox\n [checked]=\"useAsApplicationHook()\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"setUseAsApplicationHook($event.checked)\">\n Use as application hook\n </mat-checkbox>\n @if (useAsApplicationHook()) {\n <mat-form-field appearance=\"outline\" subscriptSizing=\"dynamic\">\n <mat-label>Application Hook</mat-label>\n <mat-select\n [value]=\"selectedApplicationHook()\"\n [disabled]=\"busy() || dialogOpen()\"\n (selectionChange)=\"selectedApplicationHook.set($event.value)\">\n @for (applicationHook of applicationHooks(); track applicationHook.id) {\n <mat-option\n [value]=\"applicationHook.hook\"\n [disabled]=\"applicationHookInUseByAnotherPost(applicationHook)\">\n {{ applicationHookLabel(applicationHook.hook) }}\n @if (applicationHookInUseByAnotherPost(applicationHook)) {\n (in use by post #{{ applicationHook.contentId }})\n }\n </mat-option>\n } @empty {\n <mat-option [disabled]=\"true\">No application hooks configured</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n }\n </section>\n <section class=\"post-permissions\" aria-labelledby=\"post-permissions-heading\">\n <h2 id=\"post-permissions-heading\">Allow Read only with Permissions</h2>\n @if (permissionsLoading()) {\n <p role=\"status\">Loading assigned permissions...</p>\n } @else if (permissionsError()) {\n <p class=\"error\" role=\"alert\">{{ permissionsError() }}</p>\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"loadPermissions()\">Try again</button>\n } @else {\n <ul>\n @for (permission of permissions(); track permission.id) {\n <li>\n <span>{{ permission.name }} ({{ permission.code }})</span>\n <button mat-icon-button type=\"button\" [attr.aria-label]=\"'Remove permission ' + permission.name\" [disabled]=\"busy() || dialogOpen()\" (click)=\"removePermission(permission.id)\">\n <mat-icon>close</mat-icon>\n </button>\n </li>\n } @empty {\n <li>No permissions assigned.</li>\n }\n </ul>\n @if (permissionOptionsError()) {\n <p class=\"error\" role=\"alert\">{{ permissionOptionsError() }}</p>\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen() || permissionOptionsLoading()\" (click)=\"loadPermissionOptions()\">Try again</button>\n } @else {\n <div class=\"permission-assignment\">\n <mat-form-field appearance=\"outline\" subscriptSizing=\"dynamic\">\n <mat-label>Permission</mat-label>\n <mat-select\n [value]=\"selectedPermissionId()\"\n [disabled]=\"busy() || dialogOpen() || permissionOptionsLoading()\"\n (selectionChange)=\"selectedPermissionId.set($event.value)\">\n @for (permission of availablePermissions(); track permission.id) {\n <mat-option [value]=\"permission.id\">{{ permission.name }} ({{ permission.code }})</mat-option>\n } @empty {\n <mat-option [disabled]=\"true\">No permissions available</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen() || !selectedPermissionId()\" (click)=\"addPermission()\">\n <mat-icon>add</mat-icon> Assign permission\n </button>\n </div>\n }\n }\n </section>\n } @else if (currentPost(); as post) {\n <h1 class=\"post-title\">{{ post.title }}</h1>\n @if (post.excerpt) {\n <p class=\"post-excerpt\">{{ post.excerpt }}</p>\n }\n <div class=\"post-body\" [innerHTML]=\"post.body\"></div>\n } @else {\n <p role=\"status\">No post is loaded.</p>\n }\n</article>", 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,.related-posts,.application-hook,.post-permissions{margin-top:1.5rem;font-size:.875rem}.media-attachment h2,.related-posts h2,.application-hook h2,.post-permissions h2{font-size:1rem}.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}\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$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i3.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i3.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: i6.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: i6.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 }); }
5682
+ 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
+ TaonCmsContentApiService,
5684
+ TaonPermissionApiService,
5685
+ TaonCmsCategoryApiService,
5686
+ 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 }); }
3523
5688
  }
3524
5689
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostComponent, decorators: [{
3525
5690
  type: Component,
@@ -3528,11 +5693,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
3528
5693
  MatCheckboxModule,
3529
5694
  MatFormFieldModule,
3530
5695
  MatIconModule,
5696
+ MatInputModule,
5697
+ MatChipsModule,
5698
+ MatProgressBarModule,
3531
5699
  MatRadioModule,
3532
5700
  MatSelectModule,
3533
5701
  TaonCmsEditableDirective,
3534
- ], providers: [TaonCmsContentApiService, TaonPermissionApiService], template: "@if (mode() !== 'view-clean') {\n <header class=\"post-actions\">\n <span class=\"post-status\">{{ mode() === 'add' ? 'New draft' : currentPost()?.status }}</span>\n <div class=\"buttons\">\n @if (editing()) {\n <button mat-flat-button type=\"button\" [disabled]=\"busy() || dialogOpen() || !canSave()\" (click)=\"save()\">\n {{ mode() === 'add' ? 'Add' : 'Save' }}\n </button>\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"cancel()\">Cancel</button>\n } @else if (currentPost()) {\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"edit()\">\n <mat-icon>edit</mat-icon> Edit\n </button>\n }\n @if (mode() !== 'add' && currentPost()) {\n @if (canPublish()) {\n <button mat-flat-button type=\"button\" [disabled]=\"busy() || dialogOpen() || (editing() && !canSave())\" (click)=\"publish()\">Publish</button>\n }\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"revert()\">\n <mat-icon>history</mat-icon> Revert\n </button>\n @if (currentPost()?.status !== 'archived') {\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"delete()\">\n <mat-icon>delete</mat-icon> Delete\n </button>\n }\n }\n </div>\n @if (busy()) {\n <span role=\"status\">{{ uploading() ? 'Uploading...' : 'Saving...' }}</span>\n }\n </header>\n @if (error()) {\n <p class=\"error\" role=\"alert\">{{ error() }}</p>\n }\n}\n\n<article class=\"post-article\" [attr.aria-busy]=\"busy()\">\n @if (editing()) {\n <mat-radio-group\n class=\"post-type-selector\"\n aria-label=\"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\">{{ type.label }}</mat-radio-button>\n }\n </mat-radio-group>\n <div\n class=\"post-title editable\"\n contenteditable=\"true\"\n role=\"textbox\"\n aria-label=\"Post title\"\n aria-required=\"true\"\n data-placeholder=\"Title\"\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 aria-label=\"Post excerpt\"\n aria-multiline=\"true\"\n data-placeholder=\"A short introduction...\"\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 aria-label=\"Post body\"\n aria-multiline=\"true\"\n data-placeholder=\"Tell your story...\"\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>URL slug</span>\n <input aria-label=\"URL slug\" [value]=\"draft().slug\" [disabled]=\"busy() || dialogOpen()\" (input)=\"updateSlug($event)\" placeholder=\"my-post\" />\n </label>\n @if (mediaAttachment(); as media) {\n <section class=\"media-attachment\" aria-labelledby=\"media-attachment-heading\">\n <h2 id=\"media-attachment-heading\">{{ media.heading }}</h2>\n @if (draft()[media.key]; as key) {\n <p>Attached file: {{ key }}</p>\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"removeMedia()\">Remove</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 mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"mediaInput.click()\">{{ media.uploadLabel }}</button>\n }\n </section>\n }\n <section class=\"related-posts\" aria-labelledby=\"related-posts-heading\">\n <h2 id=\"related-posts-heading\">Related posts</h2>\n @if (relatedPostsLoading()) {\n <p role=\"status\">Loading related posts...</p>\n } @else if (relatedPostsError()) {\n <p class=\"error\" role=\"alert\">{{ relatedPostsError() }}</p>\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"loadRelatedPosts()\">Try again</button>\n } @else {\n <ul>\n @for (post of relatedPosts(); track post.id) {\n <li>\n <span>#{{ post.id }} - {{ post.title }}</span>\n <button mat-icon-button type=\"button\" [attr.aria-label]=\"'Remove related post ' + post.title\" [disabled]=\"busy() || dialogOpen()\" (click)=\"removeRelatedPost(post.id)\">\n <mat-icon>close</mat-icon>\n </button>\n </li>\n } @empty {\n <li>No related posts yet.</li>\n }\n </ul>\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"addRelatedPost()\">\n <mat-icon>add</mat-icon> Add related post\n </button>\n }\n </section>\n <section class=\"application-hook\" aria-labelledby=\"application-hook-heading\">\n <h2 id=\"application-hook-heading\">Application Hook</h2>\n @if (applicationHooksLoading()) {\n <p role=\"status\">Loading application hooks...</p>\n } @else if (applicationHooksError()) {\n <p class=\"error\" role=\"alert\">{{ applicationHooksError() }}</p>\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"loadApplicationHooks()\">Try again</button>\n } @else {\n <mat-checkbox\n [checked]=\"useAsApplicationHook()\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"setUseAsApplicationHook($event.checked)\">\n Use as application hook\n </mat-checkbox>\n @if (useAsApplicationHook()) {\n <mat-form-field appearance=\"outline\" subscriptSizing=\"dynamic\">\n <mat-label>Application Hook</mat-label>\n <mat-select\n [value]=\"selectedApplicationHook()\"\n [disabled]=\"busy() || dialogOpen()\"\n (selectionChange)=\"selectedApplicationHook.set($event.value)\">\n @for (applicationHook of applicationHooks(); track applicationHook.id) {\n <mat-option\n [value]=\"applicationHook.hook\"\n [disabled]=\"applicationHookInUseByAnotherPost(applicationHook)\">\n {{ applicationHookLabel(applicationHook.hook) }}\n @if (applicationHookInUseByAnotherPost(applicationHook)) {\n (in use by post #{{ applicationHook.contentId }})\n }\n </mat-option>\n } @empty {\n <mat-option [disabled]=\"true\">No application hooks configured</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n }\n </section>\n <section class=\"post-permissions\" aria-labelledby=\"post-permissions-heading\">\n <h2 id=\"post-permissions-heading\">Allow Read only with Permissions</h2>\n @if (permissionsLoading()) {\n <p role=\"status\">Loading assigned permissions...</p>\n } @else if (permissionsError()) {\n <p class=\"error\" role=\"alert\">{{ permissionsError() }}</p>\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"loadPermissions()\">Try again</button>\n } @else {\n <ul>\n @for (permission of permissions(); track permission.id) {\n <li>\n <span>{{ permission.name }} ({{ permission.code }})</span>\n <button mat-icon-button type=\"button\" [attr.aria-label]=\"'Remove permission ' + permission.name\" [disabled]=\"busy() || dialogOpen()\" (click)=\"removePermission(permission.id)\">\n <mat-icon>close</mat-icon>\n </button>\n </li>\n } @empty {\n <li>No permissions assigned.</li>\n }\n </ul>\n @if (permissionOptionsError()) {\n <p class=\"error\" role=\"alert\">{{ permissionOptionsError() }}</p>\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen() || permissionOptionsLoading()\" (click)=\"loadPermissionOptions()\">Try again</button>\n } @else {\n <div class=\"permission-assignment\">\n <mat-form-field appearance=\"outline\" subscriptSizing=\"dynamic\">\n <mat-label>Permission</mat-label>\n <mat-select\n [value]=\"selectedPermissionId()\"\n [disabled]=\"busy() || dialogOpen() || permissionOptionsLoading()\"\n (selectionChange)=\"selectedPermissionId.set($event.value)\">\n @for (permission of availablePermissions(); track permission.id) {\n <mat-option [value]=\"permission.id\">{{ permission.name }} ({{ permission.code }})</mat-option>\n } @empty {\n <mat-option [disabled]=\"true\">No permissions available</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen() || !selectedPermissionId()\" (click)=\"addPermission()\">\n <mat-icon>add</mat-icon> Assign permission\n </button>\n </div>\n }\n }\n </section>\n } @else if (currentPost(); as post) {\n <h1 class=\"post-title\">{{ post.title }}</h1>\n @if (post.excerpt) {\n <p class=\"post-excerpt\">{{ post.excerpt }}</p>\n }\n <div class=\"post-body\" [innerHTML]=\"post.body\"></div>\n } @else {\n <p role=\"status\">No post is loaded.</p>\n }\n</article>", 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,.related-posts,.application-hook,.post-permissions{margin-top:1.5rem;font-size:.875rem}.media-attachment h2,.related-posts h2,.application-hook h2,.post-permissions h2{font-size:1rem}.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}\n"] }]
3535
- }], 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"] }], cancelled: [{ type: i0.Output, args: ["cancelled"] }] } });
5702
+ ], providers: [
5703
+ TaonCmsContentApiService,
5704
+ TaonPermissionApiService,
5705
+ TaonCmsCategoryApiService,
5706
+ 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"] }] } });
3536
5709
 
3537
5710
  var taonCmsPost_component = /*#__PURE__*/Object.freeze({
3538
5711
  __proto__: null,
@@ -3563,17 +5736,46 @@ const TaonCmsPostRoutes = [
3563
5736
  */
3564
5737
  // export default TaonCmsPostRoutes;
3565
5738
 
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 } });
3566
5740
  class TaonCmsPostDetailsPageComponent {
3567
5741
  constructor() {
3568
- this.post$ = inject(ActivatedRoute).data.pipe(map$1(data => data['post']));
5742
+ this.t = t$2.for(this);
5743
+ this.route = inject(ActivatedRoute);
5744
+ this.router = inject(Router);
5745
+ this.page$ = this.route.data.pipe(map$1(data => ({
5746
+ create: data['createPost'] === true,
5747
+ post: data['post'] ?? null,
5748
+ })));
5749
+ }
5750
+ onChanged(post, create) {
5751
+ if (create) {
5752
+ this.openPost(post);
5753
+ }
5754
+ }
5755
+ openPost(post) {
5756
+ void this.router.navigate(['../', post.id], { relativeTo: this.route });
5757
+ }
5758
+ onCancelled(create) {
5759
+ if (create) {
5760
+ void this.router.navigate(['../'], { relativeTo: this.route });
5761
+ }
3569
5762
  }
3570
5763
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostDetailsPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3571
5764
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonCmsPostDetailsPageComponent, isStandalone: true, selector: "taon-cms-post-details-page", ngImport: i0, template: `
3572
- @if (post$ | async; as post) {
3573
- <a mat-button routerLink="../">Back to Posts</a>
3574
- <taon-cms-post [post]="post"></taon-cms-post>
3575
- }
3576
- `, isInline: true, 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: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: TaonCmsPostComponent, selector: "taon-cms-post", inputs: ["post", "mode"], outputs: ["modeChange", "changed", "deleted", "cancelled"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5765
+ @if (page$ | async; as page) {
5766
+ <a
5767
+ mat-button
5768
+ routerLink="../"
5769
+ >{{ t.gettext('Back to Posts') }}</a
5770
+ >
5771
+ <taon-cms-post
5772
+ [post]="page.post"
5773
+ [mode]="page.create ? 'add' : 'view'"
5774
+ (changed)="onChanged($event, page.create)"
5775
+ (duplicated)="openPost($event)"
5776
+ (cancelled)="onCancelled(page.create)" />
5777
+ }
5778
+ `, isInline: true, 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: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: TaonCmsPostComponent, selector: "taon-cms-post", inputs: ["post", "mode"], outputs: ["modeChange", "changed", "deleted", "duplicated", "cancelled"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3577
5779
  }
3578
5780
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostDetailsPageComponent, decorators: [{
3579
5781
  type: Component,
@@ -3582,9 +5784,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
3582
5784
  changeDetection: ChangeDetectionStrategy.OnPush,
3583
5785
  imports: [AsyncPipe, MatButtonModule, RouterLink, TaonCmsPostComponent],
3584
5786
  template: `
3585
- @if (post$ | async; as post) {
3586
- <a mat-button routerLink="../">Back to Posts</a>
3587
- <taon-cms-post [post]="post"></taon-cms-post>
5787
+ @if (page$ | async; as page) {
5788
+ <a
5789
+ mat-button
5790
+ routerLink="../"
5791
+ >{{ t.gettext('Back to Posts') }}</a
5792
+ >
5793
+ <taon-cms-post
5794
+ [post]="page.post"
5795
+ [mode]="page.create ? 'add' : 'view'"
5796
+ (changed)="onChanged($event, page.create)"
5797
+ (duplicated)="openPost($event)"
5798
+ (cancelled)="onCancelled(page.create)" />
3588
5799
  }
3589
5800
  `,
3590
5801
  }]
@@ -3595,68 +5806,48 @@ var taonCmsPostDetailsPage_component = /*#__PURE__*/Object.freeze({
3595
5806
  TaonCmsPostDetailsPageComponent: TaonCmsPostDetailsPageComponent
3596
5807
  });
3597
5808
 
3598
- class TaonCmsPostEditDialogComponent {
3599
- constructor() {
3600
- this.data = inject(MAT_DIALOG_DATA);
3601
- this.editor = viewChild(TaonCmsPostComponent, ...(ngDevMode ? [{ debugName: "editor" }] : []));
3602
- this.changed = new EventEmitter();
3603
- this.ref = inject((MatDialogRef));
3604
- }
3605
- close() {
3606
- if (!this.editor()?.busy() && !this.editor()?.dialogOpen()) {
3607
- this.ref.close();
3608
- }
3609
- }
3610
- deleted(post) {
3611
- this.ref.close(post);
3612
- }
3613
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostEditDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3614
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.9", type: TaonCmsPostEditDialogComponent, isStandalone: true, selector: "taon-cms-post-edit-dialog", viewQueries: [{ propertyName: "editor", first: true, predicate: TaonCmsPostComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<header class=\"dialog-header\">\n <h2>{{ data.mode === 'add' ? 'Add post' : 'Manage post' }}</h2>\n <button mat-icon-button type=\"button\" aria-label=\"Close post editor\" [disabled]=\"editor()?.busy() || editor()?.dialogOpen()\" (click)=\"close()\">\n <mat-icon>close</mat-icon>\n </button>\n</header>\n<taon-cms-post\n [post]=\"data.post ?? null\"\n [mode]=\"data.mode\"\n (changed)=\"changed.emit($event)\"\n (deleted)=\"deleted($event)\"\n (cancelled)=\"close()\" />\n", styles: [":host{display:block;height:100%;overflow-y:auto}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;border-bottom:1px solid rgba(136,136,136,.2)}.dialog-header h2{margin:0;font-size:1rem;font-weight:500}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: TaonCmsPostComponent, selector: "taon-cms-post", inputs: ["post", "mode"], outputs: ["modeChange", "changed", "deleted", "cancelled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3615
- }
3616
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostEditDialogComponent, decorators: [{
3617
- type: Component,
3618
- args: [{ selector: 'taon-cms-post-edit-dialog', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatButtonModule, MatDialogModule, MatIconModule, TaonCmsPostComponent], template: "<header class=\"dialog-header\">\n <h2>{{ data.mode === 'add' ? 'Add post' : 'Manage post' }}</h2>\n <button mat-icon-button type=\"button\" aria-label=\"Close post editor\" [disabled]=\"editor()?.busy() || editor()?.dialogOpen()\" (click)=\"close()\">\n <mat-icon>close</mat-icon>\n </button>\n</header>\n<taon-cms-post\n [post]=\"data.post ?? null\"\n [mode]=\"data.mode\"\n (changed)=\"changed.emit($event)\"\n (deleted)=\"deleted($event)\"\n (cancelled)=\"close()\" />\n", styles: [":host{display:block;height:100%;overflow-y:auto}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;border-bottom:1px solid rgba(136,136,136,.2)}.dialog-header h2{margin:0;font-size:1rem;font-weight:500}\n"] }]
3619
- }], propDecorators: { editor: [{ type: i0.ViewChild, args: [i0.forwardRef(() => TaonCmsPostComponent), { isSignal: true }] }] } });
3620
-
3621
5809
  //#region imports
3622
5810
  //#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 } });
3623
5812
  class TaonCmsPostsBackofficeComponent {
3624
5813
  constructor() {
5814
+ this.t = t$1.for(this);
3625
5815
  this.taonCmsContentApiService = inject(TaonCmsContentApiService);
3626
5816
  this.posts = signal([], ...(ngDevMode ? [{ debugName: "posts" }] : []));
3627
5817
  this.loading = signal(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
3628
5818
  this.deleting = signal(null, ...(ngDevMode ? [{ debugName: "deleting" }] : []));
5819
+ this.duplicating = signal(false, ...(ngDevMode ? [{ debugName: "duplicating" }] : []));
3629
5820
  this.error = signal('', ...(ngDevMode ? [{ debugName: "error" }] : []));
3630
5821
  this.dialog = inject(MatDialog);
3631
5822
  this.route = inject(ActivatedRoute);
3632
5823
  this.router = inject(Router);
3633
5824
  this.destroyRef = inject(DestroyRef);
3634
- this.cancelLoad$ = new Subject();
3635
5825
  this.columns = [
3636
5826
  { header: 'ID', field: 'id', sortable: true },
3637
- { header: 'Title', field: 'title', sortable: true },
3638
- { header: 'Status', field: 'status', sortable: true },
5827
+ { header: this.t.gettext('Title'), field: 'title', sortable: true },
5828
+ { header: this.t.gettext('Status'), field: 'status', sortable: true },
3639
5829
  {
3640
- header: 'Actions',
5830
+ header: this.t.gettext('Actions'),
3641
5831
  field: 'actions',
3642
5832
  type: 'button',
3643
5833
  buttons: [
3644
5834
  {
3645
5835
  type: 'icon',
3646
- icon: 'edit',
3647
- tooltip: 'Edit post',
3648
- click: (post) => this.edit(post),
5836
+ icon: 'content_copy',
5837
+ tooltip: this.t.gettext('Duplicate post'),
5838
+ disabled: () => this.duplicating(),
5839
+ click: (post) => this.duplicate(post),
3649
5840
  },
3650
5841
  {
3651
5842
  type: 'icon',
3652
5843
  icon: 'open_in_new',
3653
- tooltip: 'Post details',
5844
+ tooltip: this.t.gettext('Post details'),
3654
5845
  click: (post) => this.openDetails(post),
3655
5846
  },
3656
5847
  {
3657
5848
  type: 'icon',
3658
5849
  icon: 'delete',
3659
- tooltip: 'Delete (archive) post',
5850
+ tooltip: this.t.gettext('Delete (archive) post'),
3660
5851
  disabled: (post) => post.status === 'archived' || this.deleting() !== null,
3661
5852
  click: (post) => this.delete(post),
3662
5853
  },
@@ -3674,18 +5865,35 @@ class TaonCmsPostsBackofficeComponent {
3674
5865
  this.reload();
3675
5866
  }
3676
5867
  add() {
3677
- this.openEditor({ mode: 'add' });
3678
- }
3679
- edit(post) {
3680
- this.openEditor({ mode: 'edit', post });
5868
+ this.openPost('new');
3681
5869
  }
3682
5870
  openDetails(post) {
5871
+ this.openPost(post.id);
5872
+ }
5873
+ openPost(id) {
3683
5874
  const postsRoute = this.route.parent;
3684
5875
  if (!postsRoute) {
3685
- this.error.set('The Post details route is unavailable.');
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()) {
3686
5883
  return;
3687
5884
  }
3688
- void this.router.navigate([post.id], { relativeTo: postsRoute });
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
+ });
3689
5897
  }
3690
5898
  delete(post) {
3691
5899
  if (this.deleting() !== null || post.status === 'archived') {
@@ -3694,9 +5902,9 @@ class TaonCmsPostsBackofficeComponent {
3694
5902
  this.deleting.set(post.id);
3695
5903
  const ref = this.dialog.open(TaonConfirmDialogComponent, {
3696
5904
  data: {
3697
- title: 'Delete post?',
3698
- message: 'This archives the post. It can be restored from its revisions.',
3699
- confirmText: 'Delete',
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'),
3700
5908
  },
3701
5909
  });
3702
5910
  ref
@@ -3715,31 +5923,17 @@ class TaonCmsPostsBackofficeComponent {
3715
5923
  next: () => this.reload(),
3716
5924
  error: (error) => {
3717
5925
  console.error('[taon-cms-posts-backoffice] Unable to delete post', error);
3718
- this.error.set('The post could not be deleted. Refresh the table before retrying.');
5926
+ this.error.set(this.t.gettext('The post could not be deleted. Refresh the table before retrying.'));
3719
5927
  },
3720
5928
  });
3721
5929
  });
3722
5930
  }
3723
- openEditor(data) {
3724
- const ref = this.dialog.open(TaonCmsPostEditDialogComponent, {
3725
- data,
3726
- width: '100vw',
3727
- height: '100dvh',
3728
- maxWidth: '100vw',
3729
- maxHeight: '100dvh',
3730
- disableClose: true,
3731
- autoFocus: 'first-tabbable',
3732
- });
3733
- ref.componentInstance.changed
3734
- .pipe(takeUntil(ref.afterClosed()), takeUntilDestroyed(this.destroyRef))
3735
- .subscribe(() => this.reload());
3736
- }
3737
5931
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostsBackofficeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3738
- 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>CMS posts</h1>\n@if (loading()) {\n <p role=\"status\">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 }); }
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 }); }
3739
5933
  }
3740
5934
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostsBackofficeComponent, decorators: [{
3741
5935
  type: Component,
3742
- args: [{ selector: 'app-taon-cms-posts-backoffice', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatButtonModule, TaonDatatableComponent], providers: [TaonCmsContentApiService], template: "<h1>CMS posts</h1>\n@if (loading()) {\n <p role=\"status\">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"] }]
5936
+ args: [{ selector: 'app-taon-cms-posts-backoffice', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatButtonModule, TaonDatatableComponent], providers: [TaonCmsContentApiService], 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"] }]
3743
5937
  }], propDecorators: { datatable: [{
3744
5938
  type: ViewChild,
3745
5939
  args: [TaonDatatableComponent]
@@ -3752,15 +5946,16 @@ var taonCmsPostsBackoffice_component = /*#__PURE__*/Object.freeze({
3752
5946
 
3753
5947
  //#region imports
3754
5948
  //#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 } });
3755
5950
  const resolvePost = async (route) => {
3756
5951
  const id = Number(route.paramMap.get('id'));
3757
5952
  if (!Number.isSafeInteger(id) || id <= 0) {
3758
- throw new Error('Invalid Post ID');
5953
+ throw new Error(t.gettext('Invalid Post ID'));
3759
5954
  }
3760
5955
  const taonCmsContentApiService = inject(TaonCmsContentApiService);
3761
5956
  const post = await taonCmsContentApiService.getById(id);
3762
5957
  if (!post) {
3763
- throw new Error('Post not found');
5958
+ throw new Error(t.gettext('Post not found'));
3764
5959
  }
3765
5960
  return post;
3766
5961
  };
@@ -3770,6 +5965,11 @@ const TaonCmsPostsBackofficeRoutes = [
3770
5965
  pathMatch: 'full',
3771
5966
  loadComponent: () => Promise.resolve().then(function () { return taonCmsPostsBackoffice_component; }).then(m => m.TaonCmsPostsBackofficeComponent),
3772
5967
  },
5968
+ {
5969
+ path: 'new',
5970
+ data: { hideInNavigation: true, createPost: true },
5971
+ loadComponent: () => Promise.resolve().then(function () { return taonCmsPostDetailsPage_component; }).then(m => m.TaonCmsPostDetailsPageComponent),
5972
+ },
3773
5973
  {
3774
5974
  path: ':id',
3775
5975
  data: { hideInNavigation: true },
@@ -3802,6 +6002,8 @@ var index$1 = /*#__PURE__*/Object.freeze({
3802
6002
  CURRENT_PACKAGE_TAON_VERSION: CURRENT_PACKAGE_TAON_VERSION,
3803
6003
  CURRENT_PACKAGE_VERSION: CURRENT_PACKAGE_VERSION,
3804
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; },
3805
6007
  MIGRATIONS_CLASSES_FOR_CmsContext: MIGRATIONS_CLASSES_FOR_CmsContext,
3806
6008
  PROJECT_NPM_NAME: PROJECT_NPM_NAME,
3807
6009
  get TaonAuthContextEntity () { return TaonAuthContextEntity; },
@@ -3810,10 +6012,12 @@ var index$1 = /*#__PURE__*/Object.freeze({
3810
6012
  TaonCmsAbstractContext: TaonCmsAbstractContext,
3811
6013
  TaonCmsApplicationHook: TaonCmsApplicationHook,
3812
6014
  get TaonCmsApplicationHookEntity () { return TaonCmsApplicationHookEntity; },
6015
+ TaonCmsAssetPreviewComponent: TaonCmsAssetPreviewComponent,
3813
6016
  TaonCmsAssetsBackofficeComponent: TaonCmsAssetsBackofficeComponent,
3814
6017
  TaonCmsAssetsBackofficeRoutes: TaonCmsAssetsBackofficeRoutes,
3815
6018
  TaonCmsBackofficeComponent: TaonCmsBackofficeComponent,
3816
6019
  TaonCmsBackofficeRoutes: TaonCmsBackofficeRoutes,
6020
+ TaonCmsCategoriesBackofficeRoutes: TaonCmsCategoriesBackofficeRoutes,
3817
6021
  TaonCmsCategoryAbstractContext: TaonCmsCategoryAbstractContext,
3818
6022
  TaonCmsCategoryApiService: TaonCmsCategoryApiService,
3819
6023
  get TaonCmsCategoryController () { return TaonCmsCategoryController; },
@@ -3897,7 +6101,6 @@ var index$1 = /*#__PURE__*/Object.freeze({
3897
6101
  TaonCmsEditableDirective: TaonCmsEditableDirective,
3898
6102
  TaonCmsPostComponent: TaonCmsPostComponent,
3899
6103
  TaonCmsPostDetailsPageComponent: TaonCmsPostDetailsPageComponent,
3900
- TaonCmsPostEditDialogComponent: TaonCmsPostEditDialogComponent,
3901
6104
  TaonCmsPostRoutes: TaonCmsPostRoutes,
3902
6105
  TaonCmsPostsBackofficeComponent: TaonCmsPostsBackofficeComponent,
3903
6106
  TaonCmsPostsBackofficeRoutes: TaonCmsPostsBackofficeRoutes,
@@ -3913,21 +6116,30 @@ var index$1 = /*#__PURE__*/Object.freeze({
3913
6116
  get TaonCmsTagState () { return TaonCmsTagState; },
3914
6117
  get TaonCmsTagSubscriber () { return TaonCmsTagSubscriber; },
3915
6118
  get TaonCmsTagUtils () { return TaonCmsTagUtils; },
6119
+ TaonCmsTagsBackofficeRoutes: TaonCmsTagsBackofficeRoutes,
6120
+ TaonCmsTaxonomyBackofficeComponent: TaonCmsTaxonomyBackofficeComponent,
3916
6121
  TaonRelatedPostChooserComponent: TaonRelatedPostChooserComponent,
3917
6122
  TaonSessionCoreGroups: TaonSessionCoreGroups,
3918
6123
  TaonSessionCorePermissions: TaonSessionCorePermissions,
3919
6124
  TaonSessionCoreRoles: TaonSessionCoreRoles,
3920
6125
  contentError: contentError,
3921
6126
  default: index,
6127
+ defaultThumbnailKey: defaultThumbnailKey,
6128
+ defaultThumbnailUrl: defaultThumbnailUrl,
6129
+ generateVideoThumbnail: generateVideoThumbnail,
3922
6130
  requireContentId: requireContentId,
3923
6131
  requireContentVersion: requireContentVersion,
3924
6132
  startCli: startCli,
3925
- validateContentInput: validateContentInput
6133
+ trackCmsUpload: trackCmsUpload,
6134
+ validateCategoryHierarchy: validateCategoryHierarchy,
6135
+ validateContentInput: validateContentInput,
6136
+ validateTaxonomy: validateTaxonomy,
6137
+ visiblePixelRatio: visiblePixelRatio
3926
6138
  });
3927
6139
 
3928
6140
  /**
3929
6141
  * Generated bundle index. Do not edit.
3930
6142
  */
3931
6143
 
3932
- export { APP_ID, BUILD_BASE_HREF, BUILD_FRAMEWORK_CLI_NAME, CURRENT_PACKAGE_TAON_VERSION, CURRENT_PACKAGE_VERSION, CmsContext_1791132517217_initial, MIGRATIONS_CLASSES_FOR_CmsContext, PROJECT_NPM_NAME, TaonAuthContextEntity, TaonAuthContextHasAccess, TaonAuthContextRepository, TaonCmsAbstractContext, TaonCmsApplicationHook, TaonCmsApplicationHookEntity, TaonCmsAssetsBackofficeComponent, TaonCmsAssetsBackofficeRoutes, TaonCmsBackofficeComponent, TaonCmsBackofficeRoutes, 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, TaonCmsPostEditDialogComponent, TaonCmsPostRoutes, TaonCmsPostsBackofficeComponent, TaonCmsPostsBackofficeRoutes, TaonCmsRevisionChooserComponent, TaonCmsTagAbstractContext, TaonCmsTagApiService, TaonCmsTagController, TaonCmsTagDefaultsValues, TaonCmsTagEntity, TaonCmsTagMiddleware, TaonCmsTagProvider, TaonCmsTagRepository, TaonCmsTagState, TaonCmsTagSubscriber, TaonCmsTagUtils, TaonRelatedPostChooserComponent, TaonSessionCoreGroups, TaonSessionCorePermissions, TaonSessionCoreRoles, contentError, requireContentId, requireContentVersion, startCli, validateContentInput };
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 };
3933
6145
  //# sourceMappingURL=cms-browser.mjs.map