@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__NS__getName, TaonMigration, TaonBaseAbstractEntity, TaonBaseRepository, TaonRepository, TaonBaseCrudController, TaonController, TaonBaseProvider, TaonProvider, TaonBaseMiddleware, TaonMiddleware, TaonBaseSubscriberForEntity, TaonSubscriber, createContext, TaonBaseContext, GET, Query, Taon__NS__error, POST, Body, PUT, DELETE, TaonBaseStorageController, TaonBaseAngularService } from 'taon/browser-prod';
3
- import { Table } from 'taon-typeorm/browser-prod';
4
- import { UtilsJson__NS__getValue } from 'tnp-core/browser-prod';
2
+ import { TaonBaseEntity, TaonEntity, PrimaryGeneratedColumn, Column, OneToOne, JoinColumn, TaonBaseMigration, ClassHelpers__NS__getName, TaonMigration, TaonBaseAbstractEntity, TaonRepository, TaonBaseRepository, TaonBaseCrudController, POST, Query, Body, DELETE, TaonController, TaonBaseProvider, TaonProvider, TaonBaseMiddleware, TaonMiddleware, TaonBaseSubscriberForEntity, TaonSubscriber, createContext, TaonBaseContext, GET, Taon__NS__error, TaonBaseStorageController, PUT, TaonBaseAngularService } from 'taon/browser-prod';
3
+ import { Table, TableColumn } from 'taon-typeorm/browser-prod';
4
+ import { UtilsJson__NS__getValue, ___NS__first } from 'tnp-core/browser-prod';
5
5
  import { BaseCommandLineFeature } from 'tnp-helpers/browser-prod';
6
- import { TaonSessionCoreGroups as TaonSessionCoreGroups$1, TaonSessionCoreRoles as TaonSessionCoreRoles$1, TaonSessionCorePermissions as TaonSessionCorePermissions$1, TaonAuthContextEntity as TaonAuthContextEntity$1, TaonAuthContextHasAccess as TaonAuthContextHasAccess$1, TaonAuthContextRepository as TaonAuthContextRepository$1, MIGRATIONS_CLASSES_FOR_SessionContext, TaonSessionRepository, TaonSessionAbstractContext, TaonPermissionApiService } from '@taon-dev/session/browser-prod';
6
+ import { TaonSessionCoreGroups as TaonSessionCoreGroups$1, TaonSessionCoreRoles as TaonSessionCoreRoles$1, TaonSessionCorePermissions as TaonSessionCorePermissions$1, TaonAuthContextEntity as TaonAuthContextEntity$1, TaonAuthContextHasAccess as TaonAuthContextHasAccess$1, TaonAuthContextRepository as TaonAuthContextRepository$1, MIGRATIONS_CLASSES_FOR_SessionContext, TaonSessionRepository, TaonSessionProvider, TaonSessionAbstractContext, TaonPermissionApiService } from '@taon-dev/session/browser-prod';
7
+ import { Translation } from '@taon-dev/i18n/browser-prod';
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-prod';
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__NS__methodsInterceptors } from 'ng2-rest/browser-prod';
15
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
16
+ import { TaonDatatableComponent, adminLazyRoute as adminLazyRoute$1, TaonConfirmDialogComponent } from '@taon-dev/ui/browser-prod';
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__NS__getName(TaonCmsContentEntity);
197
+ if (!(await queryRunner.hasColumn(table, 'applyPermissionsToRelatedPosts'))) {
198
+ await queryRunner.addColumn(table, new TableColumn({
199
+ name: 'applyPermissionsToRelatedPosts',
200
+ type: 'boolean',
201
+ default: false,
202
+ }));
203
+ }
204
+ }
205
+ async down(queryRunner) {
206
+ const table = ClassHelpers__NS__getName(TaonCmsContentEntity);
207
+ if (await queryRunner.hasColumn(table, 'applyPermissionsToRelatedPosts')) {
208
+ await queryRunner.dropColumn(table, 'applyPermissionsToRelatedPosts');
209
+ }
210
+ }
211
+ };
212
+ CmsContext_1792579000000_postPermissionInheritance = __decorate([
213
+ TaonMigration({
214
+ className: 'CmsContext_1792579000000_postPermissionInheritance',
215
+ })
216
+ ], CmsContext_1792579000000_postPermissionInheritance);
217
+
218
+ let CmsContext_1793043000000_postThumbnails = class CmsContext_1793043000000_postThumbnails extends TaonBaseMigration {
219
+ async up(queryRunner) {
220
+ const table = ClassHelpers__NS__getName(TaonCmsContentEntity);
221
+ if (!(await queryRunner.hasColumn(table, 'thumbnailKey'))) {
222
+ await queryRunner.addColumn(table, new TableColumn({
223
+ name: 'thumbnailKey',
224
+ type: 'varchar',
225
+ isNullable: true,
226
+ }));
227
+ }
228
+ }
229
+ async down(queryRunner) {
230
+ const table = ClassHelpers__NS__getName(TaonCmsContentEntity);
231
+ if (await queryRunner.hasColumn(table, 'thumbnailKey')) {
232
+ await queryRunner.dropColumn(table, 'thumbnailKey');
233
+ }
234
+ }
235
+ };
236
+ CmsContext_1793043000000_postThumbnails = __decorate([
237
+ TaonMigration({ className: 'CmsContext_1793043000000_postThumbnails' })
238
+ ], CmsContext_1793043000000_postThumbnails);
239
+
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-prod-taon-cms-category.controller.ts.en-US.i18n.data-Ckuw2o-a.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-category.controller.ts.pl-PL.i18n.data-CP8q0EDA.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-category.controller.ts.de-DE.i18n.data-CDUBs36X.mjs')).default }, "src/lib/taon-cms-category/taon-cms-category.repository.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-category.repository.ts.en-US.i18n.data-DEDAUHCN.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-category.repository.ts.pl-PL.i18n.data-vfVCRZ0l.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-category.repository.ts.de-DE.i18n.data-BAt9wXhq.mjs')).default }, "src/lib/taon-cms-category/taon-cms-taxonomy.validation.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-taxonomy.validation.ts.en-US.i18n.data-BjGkpdq6.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-taxonomy.validation.ts.pl-PL.i18n.data-CzWbeuv5.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-taxonomy.validation.ts.de-DE.i18n.data-CEKXSxan.mjs')).default } });
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-prod-taon-cms-tag.controller.ts.en-US.i18n.data-3oxZelGB.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-tag.controller.ts.pl-PL.i18n.data-z6ufNE6q.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-tag.controller.ts.de-DE.i18n.data-mHMHPrI-.mjs')).default }, "src/lib/taon-cms-tag/taon-cms-tag.repository.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-tag.repository.ts.en-US.i18n.data-StHinq7f.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-tag.repository.ts.pl-PL.i18n.data-DYbKxB3P.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-tag.repository.ts.de-DE.i18n.data-CY1yB1IT.mjs')).default } });
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__NS__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.');
@@ -1110,18 +1384,24 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1110
1384
  this.taonCmsCategoryRepository = this.injectCustomRepo(TaonCmsCategoryRepository);
1111
1385
  this.tags = this.injectCustomRepo(TaonCmsTagRepository);
1112
1386
  }
1113
- async createContent(input) {
1387
+ async listTagIds(id) {
1114
1388
  /* */
1115
1389
  /* */
1116
1390
  /* */
1117
1391
  /* */
1118
1392
  /* */
1119
1393
  /* */
1394
+ return (void 0);
1395
+ }
1396
+ async createContent(input) {
1120
1397
  /* */
1121
1398
  /* */
1122
1399
  /* */
1123
1400
  /* */
1124
1401
  /* */
1402
+ return (void 0);
1403
+ }
1404
+ async duplicateContent(id) {
1125
1405
  /* */
1126
1406
  /* */
1127
1407
  /* */
@@ -1147,9 +1427,6 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1147
1427
  /* */
1148
1428
  /* */
1149
1429
  /* */
1150
- return (void 0);
1151
- }
1152
- async updateContent(id, input) {
1153
1430
  /* */
1154
1431
  /* */
1155
1432
  /* */
@@ -1170,6 +1447,9 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1170
1447
  /* */
1171
1448
  /* */
1172
1449
  /* */
1450
+ return (void 0);
1451
+ }
1452
+ async createContentWithManager(input, manager) {
1173
1453
  /* */
1174
1454
  /* */
1175
1455
  /* */
@@ -1178,14 +1458,8 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1178
1458
  /* */
1179
1459
  /* */
1180
1460
  /* */
1181
- return (void 0);
1182
- }
1183
- async archiveContent(id, expectedVersion) {
1184
1461
  /* */
1185
1462
  /* */
1186
- return (void 0);
1187
- }
1188
- async restoreContent(id, input) {
1189
1463
  /* */
1190
1464
  /* */
1191
1465
  /* */
@@ -1212,6 +1486,9 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1212
1486
  /* */
1213
1487
  /* */
1214
1488
  /* */
1489
+ return (void 0);
1490
+ }
1491
+ async updateContent(id, input) {
1215
1492
  /* */
1216
1493
  /* */
1217
1494
  /* */
@@ -1242,39 +1519,32 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1242
1519
  /* */
1243
1520
  return (void 0);
1244
1521
  }
1245
- async listRevisions(id) {
1522
+ async archiveContent(id, expectedVersion) {
1523
+ /* */
1524
+ /* */
1525
+ return (void 0);
1526
+ }
1527
+ async restoreContent(id, input) {
1246
1528
  /* */
1247
1529
  /* */
1248
1530
  /* */
1249
1531
  /* */
1250
1532
  /* */
1251
1533
  /* */
1252
- return (void 0);
1253
- }
1254
- async listRelatedPosts(id) {
1255
1534
  /* */
1256
1535
  /* */
1257
1536
  /* */
1258
1537
  /* */
1259
1538
  /* */
1260
- return (void 0);
1261
- }
1262
- async listPermissions(id) {
1263
1539
  /* */
1264
1540
  /* */
1265
1541
  /* */
1266
1542
  /* */
1267
1543
  /* */
1268
- return (void 0);
1269
- }
1270
- async listApplicationHooks() {
1271
1544
  /* */
1272
1545
  /* */
1273
1546
  /* */
1274
1547
  /* */
1275
- return (void 0);
1276
- }
1277
- async getContentByHook(hook) {
1278
1548
  /* */
1279
1549
  /* */
1280
1550
  /* */
@@ -1286,19 +1556,10 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1286
1556
  /* */
1287
1557
  /* */
1288
1558
  /* */
1289
- return (void 0);
1290
- }
1291
- async addRelatedPost(id, relatedPostId, expectedVersion) {
1292
1559
  /* */
1293
1560
  /* */
1294
- return (void 0);
1295
- }
1296
- async deleteRelatedPost(id, relatedPostId, expectedVersion) {
1297
1561
  /* */
1298
1562
  /* */
1299
- return (void 0);
1300
- }
1301
- async changeRelatedPost(id, relatedPostId, expectedVersion, adding) {
1302
1563
  /* */
1303
1564
  /* */
1304
1565
  /* */
@@ -1316,9 +1577,236 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1316
1577
  /* */
1317
1578
  /* */
1318
1579
  /* */
1319
- return (void 0);
1320
- }
1321
- async requireContent(id, manager) {
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) {
1322
1810
  /* */
1323
1811
  /* */
1324
1812
  /* */
@@ -1351,11 +1839,18 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1351
1839
  title,
1352
1840
  slug,
1353
1841
  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,
1842
+ videoKey: input.videoKey === undefined
1843
+ ? (current?.videoKey ?? null)
1844
+ : input.videoKey,
1845
+ audioKey: input.audioKey === undefined
1846
+ ? (current?.audioKey ?? null)
1847
+ : input.audioKey,
1356
1848
  attachmentKey: input.attachmentKey === undefined
1357
1849
  ? (current?.attachmentKey ?? null)
1358
1850
  : input.attachmentKey,
1851
+ thumbnailKey: input.thumbnailKey === undefined
1852
+ ? (current?.thumbnailKey ?? null)
1853
+ : input.thumbnailKey,
1359
1854
  excerpt: input.excerpt === undefined
1360
1855
  ? (current?.excerpt ?? null)
1361
1856
  : input.excerpt,
@@ -1367,6 +1862,9 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1367
1862
  : input.authorUserId,
1368
1863
  status: input.status ?? current?.status ?? 'draft',
1369
1864
  publishedAt: publishedAt === null ? null : new Date(publishedAt),
1865
+ applyPermissionsToRelatedPosts: input.applyPermissionsToRelatedPosts ??
1866
+ current?.applyPermissionsToRelatedPosts ??
1867
+ false,
1370
1868
  };
1371
1869
  }
1372
1870
  async snapshotOf(content, manager) {
@@ -1380,6 +1878,9 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1380
1878
  /* */
1381
1879
  /* */
1382
1880
  /* */
1881
+ /* */
1882
+ /* */
1883
+ /* */
1383
1884
  return (void 0);
1384
1885
  }
1385
1886
  contentStatus(status) {
@@ -1395,6 +1896,9 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1395
1896
  /* */
1396
1897
  /* */
1397
1898
  /* */
1899
+ /* */
1900
+ /* */
1901
+ /* */
1398
1902
  return (void 0);
1399
1903
  }
1400
1904
  async requirePermissions(permissionIds, manager) {
@@ -1444,6 +1948,11 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1444
1948
  /* */
1445
1949
  /* */
1446
1950
  /* */
1951
+ /* */
1952
+ /* */
1953
+ /* */
1954
+ /* */
1955
+ /* */
1447
1956
  return (void 0);
1448
1957
  }
1449
1958
  async replacePermissions(id, permissionIds, previousIds, manager) {
@@ -1458,6 +1967,10 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1458
1967
  /* */
1459
1968
  /* */
1460
1969
  /* */
1970
+ /* */
1971
+ /* */
1972
+ /* */
1973
+ /* */
1461
1974
  return (void 0);
1462
1975
  }
1463
1976
  async replaceApplicationHook(contentId, hook, manager) {
@@ -1553,6 +2066,16 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1553
2066
  /* */
1554
2067
  /* */
1555
2068
  /* */
2069
+ /* */
2070
+ /* */
2071
+ /* */
2072
+ /* */
2073
+ /* */
2074
+ /* */
2075
+ /* */
2076
+ /* */
2077
+ /* */
2078
+ /* */
1556
2079
  return (void 0);
1557
2080
  }
1558
2081
  /**
@@ -1576,15 +2099,331 @@ TaonCmsContentRepository = __decorate([
1576
2099
  ], TaonCmsContentRepository);
1577
2100
 
1578
2101
  //#endregion
1579
- let TaonCmsContentController = class TaonCmsContentController extends TaonBaseCrudController {
2102
+ let TaonCmsContentStorageController = class TaonCmsContentStorageController extends TaonBaseStorageController {
1580
2103
  constructor() {
1581
2104
  super(...arguments);
1582
- this.entityClassResolveFn = () => TaonCmsContentEntity;
1583
- this.taonCmsContentRepository = this.injectCustomRepo(TaonCmsContentRepository);
1584
2105
  this.taonSessionRepository = this.injectCustomRepo(TaonSessionRepository);
1585
2106
  this.taonAuthContextRepository = this.injectCustomRepo(TaonAuthContextRepository);
2107
+ this.taonCmsContentRepository = this.injectCustomRepo(TaonCmsContentRepository);
2108
+ this.taonSessionProvider = this.injectProvider(TaonSessionProvider);
1586
2109
  }
1587
2110
  async beforeEachRequest({ req, res, methodConfig, t, }) {
2111
+ /* */
2112
+ /* */
2113
+ /* */
2114
+ /* */
2115
+ /* */
2116
+ /* */
2117
+ /* */
2118
+ /* */
2119
+ /* */
2120
+ /* */
2121
+ /* */
2122
+ /* */
2123
+ /* */
2124
+ /* */
2125
+ /* */
2126
+ /* */
2127
+ return (void 0);
2128
+ }
2129
+ async handleUploadFiles(files, queryParams, req, res) {
2130
+ /* */
2131
+ /* */
2132
+ /* */
2133
+ /* */
2134
+ /* */
2135
+ /* */
2136
+ /* */
2137
+ /* */
2138
+ /* */
2139
+ /* */
2140
+ /* */
2141
+ /* */
2142
+ /* */
2143
+ /* */
2144
+ /* */
2145
+ /* */
2146
+ /* */
2147
+ /* */
2148
+ /* */
2149
+ /* */
2150
+ /* */
2151
+ /* */
2152
+ /* */
2153
+ /* */
2154
+ /* */
2155
+ /* */
2156
+ /* */
2157
+ /* */
2158
+ /* */
2159
+ /* */
2160
+ /* */
2161
+ /* */
2162
+ /* */
2163
+ /* */
2164
+ /* */
2165
+ return (void 0);
2166
+ }
2167
+ afterFileUploadHook() { }
2168
+ async isMediaObjectAvailable(key) {
2169
+ /* */
2170
+ /* */
2171
+ return (void 0);
2172
+ }
2173
+ buildStorageDownloadUrl(options) {
2174
+ /* */
2175
+ /* */
2176
+ /* */
2177
+ /* */
2178
+ /* */
2179
+ /* */
2180
+ /* */
2181
+ /* */
2182
+ /* */
2183
+ /* */
2184
+ /* */
2185
+ /* */
2186
+ /* */
2187
+ /* */
2188
+ /* */
2189
+ /* */
2190
+ /* */
2191
+ /* */
2192
+ /* */
2193
+ /* */
2194
+ /* */
2195
+ /* */
2196
+ /* */
2197
+ /* */
2198
+ /* */
2199
+ return (void 0);
2200
+ }
2201
+ async createStorageDownloadToken(options) {
2202
+ /* */
2203
+ /* */
2204
+ /* */
2205
+ /* */
2206
+ /* */
2207
+ /* */
2208
+ /* */
2209
+ /* */
2210
+ /* */
2211
+ /* */
2212
+ /* */
2213
+ /* */
2214
+ /* */
2215
+ /* */
2216
+ /* */
2217
+ /* */
2218
+ return (void 0);
2219
+ }
2220
+ async verifyStorageDownloadToken(options) {
2221
+ /* */
2222
+ /* */
2223
+ /* */
2224
+ /* */
2225
+ /* */
2226
+ /* */
2227
+ /* */
2228
+ /* */
2229
+ /* */
2230
+ /* */
2231
+ /* */
2232
+ /* */
2233
+ /* */
2234
+ /* */
2235
+ /* */
2236
+ return (void 0);
2237
+ }
2238
+ async isPublicStorageKey(key) {
2239
+ /* */
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, }) {
2266
+ /* */
2267
+ /* */
2268
+ /* */
2269
+ /* */
2270
+ /* */
2271
+ /* */
2272
+ /* */
2273
+ /* */
2274
+ /* */
2275
+ /* */
2276
+ /* */
2277
+ /* */
2278
+ /* */
2279
+ /* */
2280
+ /* */
2281
+ /* */
2282
+ /* */
2283
+ /* */
2284
+ /* */
2285
+ /* */
2286
+ /* */
2287
+ /* */
2288
+ /* */
2289
+ /* */
2290
+ /* */
2291
+ /* */
2292
+ /* */
2293
+ /* */
2294
+ /* */
2295
+ /* */
2296
+ /* */
2297
+ /* */
2298
+ return (void 0);
2299
+ }
2300
+ //#endregion
2301
+ //#region methods / get video link by slug
2302
+ getVideoLinkBySlug(slug) {
2303
+ /* */
2304
+ /* */
2305
+ /* */
2306
+ return (void 0);
2307
+ }
2308
+ //#region methods / get public video link by slug
2309
+ getPublicVideoLinkBySlug(slug) {
2310
+ /* */
2311
+ /* */
2312
+ /* */
2313
+ return (void 0);
2314
+ }
2315
+ //#endregion
2316
+ //#region methods / get audio link by slug
2317
+ getAudioLinkBySlug(slug) {
2318
+ /* */
2319
+ /* */
2320
+ /* */
2321
+ return (void 0);
2322
+ }
2323
+ //#endregion
2324
+ //#region methods / get public audio link by slug
2325
+ getPublicAudioLinkBySlug(slug) {
2326
+ /* */
2327
+ /* */
2328
+ /* */
2329
+ return (void 0);
2330
+ }
2331
+ //#endregion
2332
+ //#region methods / get attachment link by slug
2333
+ getAttachmentLinkBySlug(slug) {
2334
+ /* */
2335
+ /* */
2336
+ /* */
2337
+ return (void 0);
2338
+ }
2339
+ //#endregion
2340
+ //#region methods / get public attachment link by slug
2341
+ getPublicAttachmentLinkBySlug(slug) {
2342
+ /* */
2343
+ /* */
2344
+ /* */
2345
+ return (void 0);
2346
+ }
2347
+ //#endregion
2348
+ //#endregion
2349
+ //#region methods / get media link
2350
+ getThumbnailLinkBySlug(slug) {
2351
+ /* */
2352
+ /* */
2353
+ /* */
2354
+ return (void 0);
2355
+ }
2356
+ getPublicThumbnailLinkBySlug(slug) {
2357
+ /* */
2358
+ /* */
2359
+ /* */
2360
+ return (void 0);
2361
+ }
2362
+ listTagIds(id) {
2363
+ /* */
2364
+ /* */
2365
+ return (void 0);
2366
+ }
2367
+ async getMediaLinkBySlug(slug, type, publicOnly, req, t) {
2368
+ /* */
2369
+ /* */
2370
+ /* */
2371
+ /* */
2372
+ /* */
2373
+ /* */
2374
+ /* */
2375
+ /* */
2376
+ /* */
2377
+ /* */
2378
+ /* */
2379
+ /* */
2380
+ /* */
2381
+ /* */
2382
+ /* */
2383
+ /* */
2384
+ /* */
2385
+ /* */
2386
+ /* */
2387
+ /* */
2388
+ /* */
2389
+ /* */
2390
+ /* */
2391
+ /* */
2392
+ /* */
2393
+ /* */
2394
+ /* */
2395
+ /* */
2396
+ /* */
2397
+ /* */
2398
+ /* */
2399
+ /* */
2400
+ /* */
2401
+ /* */
2402
+ /* */
2403
+ /* */
2404
+ /* */
2405
+ /* */
2406
+ /* */
2407
+ /* */
2408
+ /* */
2409
+ /* */
2410
+ return (void 0);
2411
+ }
2412
+ //#region methods / require read access
2413
+ async requireReadAccess(content, publicOnly, req, t) {
2414
+ /* */
2415
+ /* */
2416
+ /* */
2417
+ /* */
2418
+ /* */
2419
+ /* */
2420
+ /* */
2421
+ /* */
2422
+ /* */
2423
+ /* */
2424
+ /* */
2425
+ /* */
2426
+ /* */
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__NS__methodsInterceptors.has(key)) {
3181
+ Resource__NS__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-prod-taon-cms-asset-preview.component.html.en-US.i18n.data-BnfBa5FP.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-CI9R_TWY.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-Cnee0qF_.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-asset-preview.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-asset-preview.component.ts.en-US.i18n.data-COrEvH90.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-IX85Hp7B.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-CuJ1DFEy.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-assets-backoffice.component.html.en-US.i18n.data-B866wa9u.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-BY-OWFhb.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-DJo4v6QY.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-CDumPCL3.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-CnlTu58H.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-CsC2V1RP.mjs')).default } });
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-prod-taon-cms-asset-preview.component.html.en-US.i18n.data-BnfBa5FP.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-CI9R_TWY.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-Cnee0qF_.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-asset-preview.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-asset-preview.component.ts.en-US.i18n.data-COrEvH90.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-IX85Hp7B.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-CuJ1DFEy.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-assets-backoffice.component.html.en-US.i18n.data-B866wa9u.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-BY-OWFhb.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-DJo4v6QY.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-CDumPCL3.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-CnlTu58H.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-CsC2V1RP.mjs')).default } });
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 = ___NS__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-prod-taon-cms-backoffice.component.html.en-US.i18n.data-q7WqXEJw.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-backoffice.component.html.pl-PL.i18n.data-BSwBNQpH.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-backoffice.component.html.de-DE.i18n.data-CqIu3bBE.mjs')).default }, "src/lib/taon-cms-backoffice/taon-cms-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-backoffice.component.ts.en-US.i18n.data-BdhGIeUK.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-backoffice.component.ts.pl-PL.i18n.data-BVwuFYPF.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-backoffice.component.ts.de-DE.i18n.data-CvbuuDAa.mjs')).default }, "src/lib/taon-cms-backoffice/taon-cms-backoffice.routes.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-BUBi6h_q.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-BJ03B4ix.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-BbCjJoVh.mjs')).default } });
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({
@@ -2294,6 +3643,7 @@ var taonCmsBackoffice_component = /*#__PURE__*/Object.freeze({
2294
3643
 
2295
3644
  //#endregion
2296
3645
  const adminLazyRoute = (adminLazyRoute$1);
3646
+ const t$8 = Translation.for('src/lib/taon-cms-backoffice/taon-cms-backoffice.routes.ts', { "src/lib/taon-cms-backoffice/taon-cms-backoffice.component.html": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-backoffice.component.html.en-US.i18n.data-q7WqXEJw.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-backoffice.component.html.pl-PL.i18n.data-BSwBNQpH.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-backoffice.component.html.de-DE.i18n.data-CqIu3bBE.mjs')).default }, "src/lib/taon-cms-backoffice/taon-cms-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-backoffice.component.ts.en-US.i18n.data-BdhGIeUK.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-backoffice.component.ts.pl-PL.i18n.data-BVwuFYPF.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-backoffice.component.ts.de-DE.i18n.data-CvbuuDAa.mjs')).default }, "src/lib/taon-cms-backoffice/taon-cms-backoffice.routes.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-BUBi6h_q.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-BJ03B4ix.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-BbCjJoVh.mjs')).default } });
2297
3647
  const TaonCmsBackofficeRoutes = [
2298
3648
  {
2299
3649
  path: '',
@@ -2305,7 +3655,7 @@ const TaonCmsBackofficeRoutes = [
2305
3655
  return !context?.hasAccess.toManagePosts;
2306
3656
  },
2307
3657
  path: 'posts',
2308
- menuItem: 'Posts',
3658
+ menuItem: t$8.gettext('Posts'),
2309
3659
  expandable: true,
2310
3660
  icon: 'edit',
2311
3661
  loader: () => Promise.resolve().then(function () { return index$1; }).then(m => m.TaonCmsPostsBackofficeRoutes),
@@ -2313,11 +3663,27 @@ const TaonCmsBackofficeRoutes = [
2313
3663
  adminLazyRoute({
2314
3664
  isDisabled: ({ context }) => !context?.hasAccess.toManagePosts,
2315
3665
  path: 'assets',
2316
- menuItem: 'Assets',
3666
+ menuItem: t$8.gettext('Assets'),
2317
3667
  expandable: false,
2318
3668
  icon: 'perm_media',
2319
3669
  loader: () => Promise.resolve().then(function () { return taonCmsAssetsBackoffice_routes; }).then(m => m.TaonCmsAssetsBackofficeRoutes),
2320
3670
  }),
3671
+ adminLazyRoute({
3672
+ isDisabled: ({ context }) => !context?.hasAccess.toManagePosts,
3673
+ path: 'categories',
3674
+ menuItem: t$8.gettext('Categories'),
3675
+ expandable: false,
3676
+ icon: 'folder',
3677
+ loader: () => Promise.resolve().then(function () { return taonCmsTaxonomyBackoffice_routes; }).then(m => m.TaonCmsCategoriesBackofficeRoutes),
3678
+ }),
3679
+ adminLazyRoute({
3680
+ isDisabled: ({ context }) => !context?.hasAccess.toManagePosts,
3681
+ path: 'tags',
3682
+ menuItem: t$8.gettext('Tags'),
3683
+ expandable: false,
3684
+ icon: 'label',
3685
+ loader: () => Promise.resolve().then(function () { return taonCmsTaxonomyBackoffice_routes; }).then(m => m.TaonCmsTagsBackofficeRoutes),
3686
+ }),
2321
3687
  // adminLazyRoute({
2322
3688
  // path: 'dashboard',
2323
3689
  // menuItem: 'Dashboard',
@@ -2344,6 +3710,18 @@ class TaonCmsCategoryApiService extends TaonBaseAngularService {
2344
3710
  get allMyEntities$() {
2345
3711
  return this.taonCmsCategoryController.getAll().request().observable.pipe(map(res => res.body?.json));
2346
3712
  }
3713
+ save(id, input) {
3714
+ return this.taonCmsCategoryController
3715
+ .saveCategory(id, input)
3716
+ .request()
3717
+ .observable.pipe(map(res => res.body.json));
3718
+ }
3719
+ delete(id) {
3720
+ return this.taonCmsCategoryController
3721
+ .deleteCategory(id)
3722
+ .request()
3723
+ .observable.pipe(map(() => undefined));
3724
+ }
2347
3725
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsCategoryApiService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
2348
3726
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsCategoryApiService }); }
2349
3727
  }
@@ -2369,6 +3747,36 @@ function TaonCmsCategoryUtils__NS__isActive(state) {
2369
3747
  }
2370
3748
  //end of namespace TaonCmsCategoryUtils
2371
3749
 
3750
+ const t$7 = Translation.for('src/lib/taon-cms-category/taon-cms-taxonomy.validation.ts', { "src/lib/taon-cms-category/taon-cms-category.controller.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-category.controller.ts.en-US.i18n.data-Ckuw2o-a.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-category.controller.ts.pl-PL.i18n.data-CP8q0EDA.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-category.controller.ts.de-DE.i18n.data-CDUBs36X.mjs')).default }, "src/lib/taon-cms-category/taon-cms-category.repository.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-category.repository.ts.en-US.i18n.data-DEDAUHCN.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-category.repository.ts.pl-PL.i18n.data-vfVCRZ0l.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-category.repository.ts.de-DE.i18n.data-BAt9wXhq.mjs')).default }, "src/lib/taon-cms-category/taon-cms-taxonomy.validation.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-taxonomy.validation.ts.en-US.i18n.data-BjGkpdq6.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-taxonomy.validation.ts.pl-PL.i18n.data-CzWbeuv5.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-taxonomy.validation.ts.de-DE.i18n.data-CEKXSxan.mjs')).default } });
3751
+ function validateTaxonomy(input) {
3752
+ if (!input ||
3753
+ typeof input.name !== 'string' ||
3754
+ !input.name.trim() ||
3755
+ typeof input.slug !== 'string' ||
3756
+ !input.slug.trim() ||
3757
+ (input.description !== null && typeof input.description !== 'string')) {
3758
+ contentError(t$7.gettext('Name, slug, and a valid description are required.'));
3759
+ }
3760
+ }
3761
+ function validateCategoryHierarchy(id, parentId, categories) {
3762
+ const visited = new Set();
3763
+ if (id !== null) {
3764
+ visited.add(id);
3765
+ }
3766
+ let current = parentId;
3767
+ while (current !== null) {
3768
+ if (visited.has(current)) {
3769
+ contentError(t$7.gettext('A category cannot be its own ancestor.'));
3770
+ }
3771
+ visited.add(current);
3772
+ const parent = categories.find(category => category.id === current);
3773
+ if (!parent) {
3774
+ contentError(t$7.gettext('The parent category does not exist.'));
3775
+ }
3776
+ current = parent.parentCategoryId;
3777
+ }
3778
+ }
3779
+
2372
3780
  class TaonCmsCommentApiService extends TaonBaseAngularService {
2373
3781
  constructor() {
2374
3782
  super(...arguments);
@@ -2405,92 +3813,6 @@ function TaonCmsCommentUtils__NS__isActive(state) {
2405
3813
  }
2406
3814
  //end of namespace TaonCmsCommentUtils
2407
3815
 
2408
- //#region imports
2409
- //#endregion
2410
- class TaonCmsContentApiService extends TaonBaseAngularService {
2411
- constructor() {
2412
- super(...arguments);
2413
- this.taonCmsContentController = this.injectController(TaonCmsContentController);
2414
- this.taonCmsContentStorageController = this.injectController(TaonCmsContentStorageController);
2415
- }
2416
- get crudController() {
2417
- return this.taonCmsContentController;
2418
- }
2419
- async getById(id) {
2420
- return (await this.taonCmsContentController.getBy(id).request()).body.json;
2421
- }
2422
- async getBySlug(slug) {
2423
- return (await this.taonCmsContentController.getBySlug(slug).request()).body
2424
- .json;
2425
- }
2426
- getContentByHook(hook) {
2427
- return this.taonCmsContentController.getContentByHook(hook)
2428
- .request().observable.pipe(map(res => res.body.text));
2429
- }
2430
- getPublicContentByHook(hook) {
2431
- return this.taonCmsContentController.getPublicContentByHook(hook)
2432
- .request().observable.pipe(map(res => res.body.text), catchError(() => of('---')));
2433
- }
2434
- listApplicationHooks() {
2435
- return this.taonCmsContentController.listApplicationHooks()
2436
- .request().observable.pipe(map(res => res.body.json));
2437
- }
2438
- async uploadMedia(file) {
2439
- const formData = new FormData();
2440
- formData.append('file', file);
2441
- const response = await this.taonCmsContentStorageController
2442
- .uploadFormDataToServer(formData)
2443
- .request();
2444
- const objects = response.body.json;
2445
- if (objects.length !== 1 || !objects[0].key) {
2446
- throw new Error('The upload did not return a media key.');
2447
- }
2448
- return objects[0];
2449
- }
2450
- createContent(input) {
2451
- return this.taonCmsContentController.createContent(input)
2452
- .request().observable.pipe(map(res => res.body.json));
2453
- }
2454
- updateContent(id, input) {
2455
- return this.taonCmsContentController.updateContent(id, input)
2456
- .request().observable.pipe(map(res => res.body.json));
2457
- }
2458
- deleteContent(id, expectedVersion) {
2459
- return this.taonCmsContentController.deleteContent(id, expectedVersion)
2460
- .request().observable.pipe(map(res => res.body.json));
2461
- }
2462
- restoreContent(id, input) {
2463
- return this.taonCmsContentController.restoreContent(id, input)
2464
- .request().observable.pipe(map(res => res.body.json));
2465
- }
2466
- listRevisions(id) {
2467
- return this.taonCmsContentController.listRevisions(id)
2468
- .request().observable.pipe(map(res => res.body.json));
2469
- }
2470
- listRelatedPosts(id) {
2471
- return this.taonCmsContentController.listRelatedPosts(id)
2472
- .request().observable.pipe(map(res => res.body.json));
2473
- }
2474
- listPermissions(id) {
2475
- return this.taonCmsContentController.listPermissions(id)
2476
- .request().observable.pipe(map(res => res.body.json));
2477
- }
2478
- addRelatedPost(id, relatedPostId, expectedVersion) {
2479
- return this.taonCmsContentController.addRelatedPost(id, relatedPostId, expectedVersion).request().observable.pipe(map(res => res.body.json));
2480
- }
2481
- deleteRelatedPost(id, relatedPostId, expectedVersion) {
2482
- return this.taonCmsContentController.deleteRelatedPost(id, relatedPostId, expectedVersion).request().observable.pipe(map(res => res.body.json));
2483
- }
2484
- get allMyEntities$() {
2485
- return this.taonCmsContentController.getAll().request().observable.pipe(map(res => res.body?.json));
2486
- }
2487
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsContentApiService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
2488
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsContentApiService }); }
2489
- }
2490
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsContentApiService, decorators: [{
2491
- type: Injectable
2492
- }] });
2493
-
2494
3816
  class TaonCmsContentConfigService extends TaonBaseAngularService {
2495
3817
  constructor() {
2496
3818
  super(...arguments);
@@ -2511,6 +3833,7 @@ const TaonCmsContentDefaultsValues = {
2511
3833
  videoKey: null,
2512
3834
  audioKey: null,
2513
3835
  attachmentKey: null,
3836
+ thumbnailKey: null,
2514
3837
  };
2515
3838
 
2516
3839
  //namespace TaonCmsContentUtils
@@ -2675,6 +3998,24 @@ class TaonCmsTagApiService extends TaonBaseAngularService {
2675
3998
  super(...arguments);
2676
3999
  this.taonCmsTagController = this.injectController(TaonCmsTagController);
2677
4000
  }
4001
+ get allMyEntities$() {
4002
+ return this.taonCmsTagController
4003
+ .getAll()
4004
+ .request()
4005
+ .observable.pipe(map(res => res.body.json));
4006
+ }
4007
+ save(id, input) {
4008
+ return this.taonCmsTagController
4009
+ .saveTag(id, input)
4010
+ .request()
4011
+ .observable.pipe(map(res => res.body.json));
4012
+ }
4013
+ delete(id) {
4014
+ return this.taonCmsTagController
4015
+ .deleteTag(id)
4016
+ .request()
4017
+ .observable.pipe(map(() => undefined));
4018
+ }
2678
4019
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsTagApiService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
2679
4020
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsTagApiService }); }
2680
4021
  }
@@ -2682,23 +4023,250 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
2682
4023
  type: Injectable
2683
4024
  }] });
2684
4025
 
2685
- const TaonCmsTagDefaultsValues = {
2686
- description: '',
2687
- version: 0,
2688
- id: void 0,
2689
- };
4026
+ const TaonCmsTagDefaultsValues = {
4027
+ description: '',
4028
+ version: 0,
4029
+ id: void 0,
4030
+ };
4031
+
4032
+ var TaonCmsTagState;
4033
+ (function (TaonCmsTagState) {
4034
+ TaonCmsTagState["Active"] = "active";
4035
+ TaonCmsTagState["Inactive"] = "inactive";
4036
+ })(TaonCmsTagState || (TaonCmsTagState = {}));
4037
+
4038
+ //namespace TaonCmsTagUtils
4039
+ function TaonCmsTagUtils__NS__isActive(state) {
4040
+ return state === 'active';
4041
+ }
4042
+ //end of namespace TaonCmsTagUtils
4043
+
4044
+ const t$6 = Translation.for('src/lib/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.ts', { "src/lib/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.html": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data-B9egtKwh.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data-DSWzgw_0.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data-DJmJnTy1.mjs')).default }, "src/lib/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data-DOFKJuxr.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data-DUfeE0cw.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data-CCcCm4XG.mjs')).default } });
4045
+ class TaonCmsTaxonomyBackofficeComponent {
4046
+ constructor() {
4047
+ this.t = t$6.for(this);
4048
+ this.isCategory = inject(ActivatedRoute).snapshot.data['taxonomy'] === 'category';
4049
+ this.categories = inject(TaonCmsCategoryApiService);
4050
+ this.tags = inject(TaonCmsTagApiService);
4051
+ this.destroyRef = inject(DestroyRef);
4052
+ this.dialog = inject(MatDialog);
4053
+ this.rows = signal([], ...(ngDevMode ? [{ debugName: "rows" }] : []));
4054
+ this.busy = signal(false, ...(ngDevMode ? [{ debugName: "busy" }] : []));
4055
+ this.error = signal('', ...(ngDevMode ? [{ debugName: "error" }] : []));
4056
+ this.editing = signal(false, ...(ngDevMode ? [{ debugName: "editing" }] : []));
4057
+ this.editingId = null;
4058
+ this.draft = this.emptyDraft();
4059
+ this.columns = [
4060
+ { header: this.t.gettext('Name'), field: 'name', sortable: true },
4061
+ { header: this.t.gettext('Slug'), field: 'slug', sortable: true },
4062
+ ...(this.isCategory
4063
+ ? [
4064
+ {
4065
+ header: this.t.gettext('Parent Category'),
4066
+ field: 'parentName',
4067
+ sortable: true,
4068
+ },
4069
+ {
4070
+ header: this.t.gettext('Sort Order'),
4071
+ field: 'sortOrder',
4072
+ sortable: true,
4073
+ },
4074
+ ]
4075
+ : [
4076
+ {
4077
+ header: this.t.gettext('Description'),
4078
+ field: 'description',
4079
+ sortable: true,
4080
+ },
4081
+ ]),
4082
+ {
4083
+ header: this.t.gettext('Actions'),
4084
+ field: 'actions',
4085
+ type: 'button',
4086
+ buttons: [
4087
+ {
4088
+ type: 'icon',
4089
+ icon: 'edit',
4090
+ tooltip: this.t.gettext('Edit'),
4091
+ disabled: () => this.busy(),
4092
+ click: (row) => this.edit(row),
4093
+ },
4094
+ {
4095
+ type: 'icon',
4096
+ icon: 'delete',
4097
+ tooltip: this.t.gettext('Delete'),
4098
+ disabled: () => this.busy(),
4099
+ click: (row) => this.delete(row),
4100
+ },
4101
+ ],
4102
+ },
4103
+ ];
4104
+ }
4105
+ ngOnInit() {
4106
+ this.reload();
4107
+ }
4108
+ reload() {
4109
+ if (this.busy()) {
4110
+ return;
4111
+ }
4112
+ const request = this.isCategory
4113
+ ? this.categories.allMyEntities$
4114
+ : this.tags.allMyEntities$;
4115
+ this.run(request, rows => this.rows.set(rows));
4116
+ }
4117
+ tableRows() {
4118
+ return this.rows().map(row => ({
4119
+ ...row,
4120
+ parentName: 'parentCategoryId' in row
4121
+ ? (this.rows().find(parent => parent.id === row.parentCategoryId)
4122
+ ?.name ?? '')
4123
+ : '',
4124
+ }));
4125
+ }
4126
+ parentOptions() {
4127
+ const categories = this.rows().filter((row) => 'parentCategoryId' in row);
4128
+ return categories.filter(category => {
4129
+ const visited = new Set();
4130
+ let current = category;
4131
+ while (current) {
4132
+ if (current.id === this.editingId || visited.has(current.id)) {
4133
+ return false;
4134
+ }
4135
+ visited.add(current.id);
4136
+ current = categories.find(parent => parent.id === current?.parentCategoryId);
4137
+ }
4138
+ return true;
4139
+ });
4140
+ }
4141
+ edit(row) {
4142
+ if (this.busy()) {
4143
+ return;
4144
+ }
4145
+ this.editingId = row?.id ?? null;
4146
+ this.draft = row
4147
+ ? {
4148
+ name: row.name,
4149
+ slug: row.slug,
4150
+ description: row.description,
4151
+ parentCategoryId: 'parentCategoryId' in row ? row.parentCategoryId : null,
4152
+ sortOrder: 'sortOrder' in row ? row.sortOrder : 0,
4153
+ }
4154
+ : this.emptyDraft();
4155
+ this.error.set('');
4156
+ this.editing.set(true);
4157
+ }
4158
+ save() {
4159
+ if (this.busy()) {
4160
+ return;
4161
+ }
4162
+ const request = this.isCategory
4163
+ ? this.categories.save(this.editingId, this.draft)
4164
+ : this.tags.save(this.editingId, this.draft);
4165
+ this.run(request, saved => {
4166
+ this.editing.set(false);
4167
+ this.rows.update(rows => [
4168
+ ...rows.filter(row => row.id !== saved.id),
4169
+ saved,
4170
+ ]);
4171
+ });
4172
+ }
4173
+ delete(row) {
4174
+ if (this.busy()) {
4175
+ return;
4176
+ }
4177
+ this.dialog
4178
+ .open(TaonConfirmDialogComponent, {
4179
+ data: {
4180
+ title: this.isCategory
4181
+ ? this.t.gettext('Delete category?')
4182
+ : this.t.gettext('Delete tag?'),
4183
+ message: this.t.gettext('Only unused items can be deleted. This cannot be undone.'),
4184
+ confirmText: this.t.gettext('Delete'),
4185
+ },
4186
+ })
4187
+ .afterClosed()
4188
+ .pipe(takeUntilDestroyed(this.destroyRef))
4189
+ .subscribe(confirmed => {
4190
+ if (confirmed) {
4191
+ this.run(this.isCategory
4192
+ ? this.categories.delete(row.id)
4193
+ : this.tags.delete(row.id), () => {
4194
+ if (this.editingId === row.id) {
4195
+ this.editing.set(false);
4196
+ }
4197
+ this.rows.update(rows => rows.filter(item => item.id !== row.id));
4198
+ });
4199
+ }
4200
+ });
4201
+ }
4202
+ run(request, next) {
4203
+ if (this.busy()) {
4204
+ return;
4205
+ }
4206
+ this.busy.set(true);
4207
+ this.error.set('');
4208
+ request
4209
+ .pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.busy.set(false)))
4210
+ .subscribe({
4211
+ next: value => {
4212
+ this.busy.set(false);
4213
+ next(value);
4214
+ },
4215
+ error: (error) => {
4216
+ console.error('[taon-cms-taxonomy] Operation failed', error);
4217
+ 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.'));
4218
+ },
4219
+ });
4220
+ }
4221
+ emptyDraft() {
4222
+ return {
4223
+ name: '',
4224
+ slug: '',
4225
+ description: '',
4226
+ parentCategoryId: null,
4227
+ sortOrder: 0,
4228
+ };
4229
+ }
4230
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsTaxonomyBackofficeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4231
+ 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 }); }
4232
+ }
4233
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsTaxonomyBackofficeComponent, decorators: [{
4234
+ type: Component,
4235
+ args: [{ selector: 'taon-cms-taxonomy-backoffice', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
4236
+ FormsModule,
4237
+ MatButtonModule,
4238
+ MatFormFieldModule,
4239
+ MatInputModule,
4240
+ MatSelectModule,
4241
+ TaonDatatableComponent,
4242
+ ], 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"] }]
4243
+ }] });
4244
+
4245
+ var taonCmsTaxonomyBackoffice_component = /*#__PURE__*/Object.freeze({
4246
+ __proto__: null,
4247
+ TaonCmsTaxonomyBackofficeComponent: TaonCmsTaxonomyBackofficeComponent
4248
+ });
2690
4249
 
2691
- var TaonCmsTagState;
2692
- (function (TaonCmsTagState) {
2693
- TaonCmsTagState["Active"] = "active";
2694
- TaonCmsTagState["Inactive"] = "inactive";
2695
- })(TaonCmsTagState || (TaonCmsTagState = {}));
4250
+ const TaonCmsCategoriesBackofficeRoutes = [
4251
+ {
4252
+ path: '',
4253
+ data: { taxonomy: 'category' },
4254
+ loadComponent: () => Promise.resolve().then(function () { return taonCmsTaxonomyBackoffice_component; }).then(m => m.TaonCmsTaxonomyBackofficeComponent),
4255
+ },
4256
+ ];
4257
+ const TaonCmsTagsBackofficeRoutes = [
4258
+ {
4259
+ path: '',
4260
+ data: { taxonomy: 'tag' },
4261
+ loadComponent: () => Promise.resolve().then(function () { return taonCmsTaxonomyBackoffice_component; }).then(m => m.TaonCmsTaxonomyBackofficeComponent),
4262
+ },
4263
+ ];
2696
4264
 
2697
- //namespace TaonCmsTagUtils
2698
- function TaonCmsTagUtils__NS__isActive(state) {
2699
- return state === 'active';
2700
- }
2701
- //end of namespace TaonCmsTagUtils
4265
+ var taonCmsTaxonomyBackoffice_routes = /*#__PURE__*/Object.freeze({
4266
+ __proto__: null,
4267
+ TaonCmsCategoriesBackofficeRoutes: TaonCmsCategoriesBackofficeRoutes,
4268
+ TaonCmsTagsBackofficeRoutes: TaonCmsTagsBackofficeRoutes
4269
+ });
2702
4270
 
2703
4271
  class TaonCmsEditableDirective {
2704
4272
  constructor() {
@@ -2818,8 +4386,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
2818
4386
  args: ['paste', ['$event']]
2819
4387
  }] } });
2820
4388
 
4389
+ const t$5 = Translation.for('src/lib/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.ts', { "src/lib/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.html": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-revision-chooser.component.html.en-US.i18n.data-NF4fmGLN.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-C5g2G3jI.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-revision-chooser.component.html.de-DE.i18n.data-jYWuVaax.mjs')).default }, "src/lib/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-revision-chooser.component.ts.en-US.i18n.data-CiAd1cu4.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-C2pNRLNK.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-BfluLtxD.mjs')).default } });
2821
4390
  class TaonCmsRevisionChooserComponent {
2822
4391
  constructor() {
4392
+ this.t = t$5.for(this);
2823
4393
  this.post = inject(MAT_DIALOG_DATA);
2824
4394
  this.revisions = signal([], ...(ngDevMode ? [{ debugName: "revisions" }] : []));
2825
4395
  this.selected = signal(null, ...(ngDevMode ? [{ debugName: "selected" }] : []));
@@ -2831,6 +4401,10 @@ class TaonCmsRevisionChooserComponent {
2831
4401
  this.destroyRef = inject(DestroyRef);
2832
4402
  this.load();
2833
4403
  }
4404
+ onEscape(event) {
4405
+ event.stopPropagation();
4406
+ this.ref.close();
4407
+ }
2834
4408
  load() {
2835
4409
  if (this.loading() || this.applying()) {
2836
4410
  return;
@@ -2838,11 +4412,14 @@ class TaonCmsRevisionChooserComponent {
2838
4412
  this.selected.set(null);
2839
4413
  this.loading.set(true);
2840
4414
  this.error.set('');
2841
- this.api.listRevisions(this.post.id).pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.loading.set(false))).subscribe({
4415
+ this.api
4416
+ .listRevisions(this.post.id)
4417
+ .pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.loading.set(false)))
4418
+ .subscribe({
2842
4419
  next: revisions => this.revisions.set([...revisions].sort((a, b) => b.revisionNumber - a.revisionNumber)),
2843
4420
  error: (error) => {
2844
4421
  console.error('[taon-cms-revision-chooser] Unable to load revisions', error);
2845
- this.error.set('Revisions could not be loaded. Please try again.');
4422
+ this.error.set(this.t.gettext('Revisions could not be loaded. Please try again.'));
2846
4423
  },
2847
4424
  });
2848
4425
  }
@@ -2852,20 +4429,22 @@ class TaonCmsRevisionChooserComponent {
2852
4429
  return;
2853
4430
  }
2854
4431
  if (revisionNumber === null) {
2855
- this.error.set('Select a revision to restore.');
4432
+ this.error.set(this.t.gettext('Select a revision to restore.'));
2856
4433
  return;
2857
4434
  }
2858
4435
  this.applying.set(true);
2859
4436
  this.error.set('');
2860
- this.api.restoreContent(this.post.id, {
4437
+ this.api
4438
+ .restoreContent(this.post.id, {
2861
4439
  revisionNumber,
2862
4440
  expectedVersion: this.post.version,
2863
- }).pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.applying.set(false))).subscribe({
4441
+ })
4442
+ .pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.applying.set(false)))
4443
+ .subscribe({
2864
4444
  next: post => this.ref.close(post),
2865
4445
  error: (error) => {
2866
4446
  console.error('[taon-cms-revision-chooser] Unable to restore revision', error);
2867
- this.error.set('The revision could not be restored. If the post changed, close and ' +
2868
- 'reopen it to load its latest version.');
4447
+ 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.'));
2869
4448
  },
2870
4449
  });
2871
4450
  }
@@ -2875,15 +4454,20 @@ class TaonCmsRevisionChooserComponent {
2875
4454
  }
2876
4455
  }
2877
4456
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsRevisionChooserComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2878
- 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 }); }
4457
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonCmsRevisionChooserComponent, isStandalone: true, selector: "taon-cms-revision-chooser", host: { listeners: { "document:keydown.escape": "onEscape($event)" } }, providers: [TaonCmsContentRevisionApiService], ngImport: i0, template: "<h2 mat-dialog-title>{{ t.gettext('Restore a revision') }}</h2>\n<mat-dialog-content>\n <p>\n {{\n t.gettext(\n 'Restoring replaces the post, including its status, with the selected revision.'\n )\n }}\n </p>\n @if (loading()) {\n <p role=\"status\">{{ t.gettext('Loading revisions...') }}</p>\n } @else {\n <mat-radio-group\n [attr.aria-label]=\"t.gettext('Post revisions')\"\n [value]=\"selected()\"\n (change)=\"selected.set($event.value)\"\n [disabled]=\"applying()\">\n @for (revision of revisions(); track revision.id) {\n <mat-radio-button\n [value]=\"revision.revisionNumber\"\n [disabled]=\"!revision.snapshot\">\n <strong>{{\n t.gettext('Revision [[ revisionNumber ]]', {\n revisionNumber: revision.revisionNumber,\n })\n }}</strong>\n <span>{{ revision.createdAt | date: 'medium' }}</span>\n @if (\n revision.createdByUserId !== null &&\n revision.createdByUserId !== undefined\n ) {\n <span>{{\n t.gettext('User [[ userId ]]', {\n userId: revision.createdByUserId,\n })\n }}</span>\n }\n @if (!revision.snapshot) {\n <span>{{ t.gettext('Legacy revision - cannot be restored') }}</span>\n }\n </mat-radio-button>\n } @empty {\n <p>{{ t.gettext('No revisions are available.') }}</p>\n }\n </mat-radio-group>\n }\n @if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"loading() || applying()\"\n (click)=\"load()\">\n {{ t.gettext('Reload revisions') }}\n </button>\n }\n @if (applying()) {\n <p role=\"status\">{{ t.gettext('Restoring...') }}</p>\n }\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button\n mat-button\n type=\"button\"\n [disabled]=\"applying()\"\n (click)=\"cancel()\">\n {{ t.gettext('Cancel') }}\n </button>\n <button\n mat-flat-button\n type=\"button\"\n [disabled]=\"loading() || applying() || selected() === null\"\n (click)=\"apply()\">\n {{ t.gettext('Apply') }}\n </button>\n</mat-dialog-actions>\n", styles: ["mat-radio-group{display:flex;flex-direction:column;gap:1rem}mat-radio-button span{display:block;font-size:.875rem;opacity:.7}[role=alert]{color:#b3261e}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i3$1.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i3$1.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "pipe", type: DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2879
4458
  }
2880
4459
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsRevisionChooserComponent, decorators: [{
2881
4460
  type: Component,
2882
- 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"] }]
2883
- }], ctorParameters: () => [] });
4461
+ 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"] }]
4462
+ }], ctorParameters: () => [], propDecorators: { onEscape: [{
4463
+ type: HostListener,
4464
+ args: ['document:keydown.escape', ['$event']]
4465
+ }] } });
2884
4466
 
4467
+ const t$4 = Translation.for('src/lib/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.ts', { "src/lib/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.html": { "en-US": async () => (await import('./cms-browser-prod-taon-related-post-chooser.component.html.en-US.i18n.data-BN-WdlzW.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-related-post-chooser.component.html.pl-PL.i18n.data-DzGNKH0I.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-related-post-chooser.component.html.de-DE.i18n.data-ByAMAthp.mjs')).default }, "src/lib/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-related-post-chooser.component.ts.en-US.i18n.data-CNpn80st.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-related-post-chooser.component.ts.pl-PL.i18n.data-BL0v395O.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-related-post-chooser.component.ts.de-DE.i18n.data-CeRmjGOX.mjs')).default } });
2885
4468
  class TaonRelatedPostChooserComponent {
2886
4469
  constructor() {
4470
+ this.t = t$4.for(this);
2887
4471
  this.data = inject(MAT_DIALOG_DATA);
2888
4472
  this.posts = signal([], ...(ngDevMode ? [{ debugName: "posts" }] : []));
2889
4473
  this.selected = signal(null, ...(ngDevMode ? [{ debugName: "selected" }] : []));
@@ -2914,7 +4498,7 @@ class TaonRelatedPostChooserComponent {
2914
4498
  next: posts => this.posts.set(posts),
2915
4499
  error: (error) => {
2916
4500
  console.error('[taon-related-post-chooser] Unable to load posts', error);
2917
- this.error.set('Posts could not be loaded. Please try again.');
4501
+ this.error.set(this.t.gettext('Posts could not be loaded. Please try again.'));
2918
4502
  },
2919
4503
  });
2920
4504
  }
@@ -2930,7 +4514,7 @@ class TaonRelatedPostChooserComponent {
2930
4514
  }
2931
4515
  const post = this.filteredPosts().find(post => post.id === this.selected());
2932
4516
  if (!post) {
2933
- this.error.set('Select a related post.');
4517
+ this.error.set(this.t.gettext('Select a related post.'));
2934
4518
  return;
2935
4519
  }
2936
4520
  this.ref.close(post);
@@ -2939,26 +4523,169 @@ class TaonRelatedPostChooserComponent {
2939
4523
  this.ref.close();
2940
4524
  }
2941
4525
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonRelatedPostChooserComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2942
- 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 }); }
4526
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonRelatedPostChooserComponent, isStandalone: true, selector: "taon-related-post-chooser", providers: [TaonCmsContentApiService], ngImport: i0, template: "<h2 mat-dialog-title>{{ t.gettext('Add related post') }}</h2>\n<mat-dialog-content>\n <label class=\"search-field\">\n <span>{{ t.gettext('Search posts') }}</span>\n <input\n type=\"search\"\n [attr.aria-label]=\"t.gettext('Search posts by ID, title or slug')\"\n [value]=\"query()\"\n [disabled]=\"loading()\"\n (input)=\"search($event)\" />\n </label>\n @if (loading()) {\n <p role=\"status\">{{ t.gettext('Loading posts...') }}</p>\n } @else if (error()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ error() }}\n </p>\n <button\n mat-button\n type=\"button\"\n (click)=\"load()\">\n {{ t.gettext('Try again') }}\n </button>\n } @else {\n <mat-radio-group\n [attr.aria-label]=\"t.gettext('Related post')\"\n [value]=\"selected()\"\n (change)=\"selected.set($event.value)\">\n @for (post of filteredPosts(); track post.id) {\n <mat-radio-button [value]=\"post.id\">\n #{{ post.id }} - {{ post.title }}\n <span class=\"slug\">{{ post.slug }}</span>\n </mat-radio-button>\n } @empty {\n <p>{{ t.gettext('No matching posts available.') }}</p>\n }\n </mat-radio-group>\n }\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button\n mat-button\n type=\"button\"\n (click)=\"cancel()\">\n {{ t.gettext('Cancel') }}\n </button>\n <button\n mat-flat-button\n type=\"button\"\n [disabled]=\"loading() || !!error() || selected() === null\"\n (click)=\"choose()\">\n {{ t.gettext('Add related post') }}\n </button>\n</mat-dialog-actions>\n", styles: [".search-field,mat-radio-group{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.search-field input{padding:.5rem;color:inherit;background:transparent;border:1px solid rgba(136,136,136,.3333333333);border-radius:4px}.slug{display:block;opacity:.7;overflow-wrap:anywhere}.error{color:#b3261e}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i3$1.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i3$1.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2943
4527
  }
2944
4528
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonRelatedPostChooserComponent, decorators: [{
2945
4529
  type: Component,
2946
- 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"] }]
4530
+ 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"] }]
2947
4531
  }], ctorParameters: () => [] });
2948
4532
 
4533
+ function defaultThumbnailKey(type) {
4534
+ return `cms-placeholder:${type}`;
4535
+ }
4536
+ function defaultThumbnailUrl(key) {
4537
+ const type = Object.values(TaonCmsContentType).find(value => key === defaultThumbnailKey(value));
4538
+ if (!type) {
4539
+ return null;
4540
+ }
4541
+ const shapes = {
4542
+ normal: '<path d="M260 126h120v112H260z M280 152h80m-80 20h80m-80 20h52" />',
4543
+ video: '<rect x="248" y="132" width="144" height="100" rx="16"/><path d="m308 158 40 24-40 24z"/>',
4544
+ audio: '<path d="M280 164v40m20-60v80m20-98v116m20-98v80m20-60v40"/>',
4545
+ attachment: '<path d="M276 124h60l32 32v84h-92z M336 124v36h32m-70 30h48m-48 22h36"/>',
4546
+ };
4547
+ const svg = `<svg xmlns="http://www.w3.org/2000/svg" width="640" height="360" viewBox="0 0 640 360"><defs><linearGradient id="bg" x2="1" y2="1"><stop stop-color="#eaf0ff"/><stop offset="1" stop-color="#e4f5f0"/></linearGradient></defs><rect width="640" height="360" rx="24" fill="url(#bg)"/><circle cx="320" cy="180" r="112" fill="#fff" opacity=".65"/><g fill="none" stroke="#52669a" stroke-width="7" stroke-linecap="round" stroke-linejoin="round">${shapes[type]}</g></svg>`;
4548
+ return `data:image/svg+xml,${encodeURIComponent(svg)}`;
4549
+ }
4550
+ function visiblePixelRatio(pixels) {
4551
+ let visible = 0;
4552
+ for (let index = 0; index < pixels.length; index += 4) {
4553
+ const luminance = 0.2126 * pixels[index] +
4554
+ 0.7152 * pixels[index + 1] +
4555
+ 0.0722 * pixels[index + 2];
4556
+ if (luminance > 18) {
4557
+ visible += 1;
4558
+ }
4559
+ }
4560
+ return pixels.length ? visible / (pixels.length / 4) : 0;
4561
+ }
4562
+ function videoEvent(video, event, action) {
4563
+ return new Promise((resolve, reject) => {
4564
+ const cleanup = () => {
4565
+ clearTimeout(timeout);
4566
+ video.removeEventListener(event, done);
4567
+ video.removeEventListener('error', failed);
4568
+ };
4569
+ const done = () => {
4570
+ cleanup();
4571
+ resolve();
4572
+ };
4573
+ const failed = () => {
4574
+ cleanup();
4575
+ reject(new Error(video.error?.message || 'Video decoding failed.'));
4576
+ };
4577
+ const timeout = setTimeout(() => {
4578
+ cleanup();
4579
+ reject(new Error('Video decoding timed out.'));
4580
+ }, 15000);
4581
+ video.addEventListener(event, done, { once: true });
4582
+ video.addEventListener('error', failed, { once: true });
4583
+ try {
4584
+ action();
4585
+ }
4586
+ catch (error) {
4587
+ cleanup();
4588
+ reject(error);
4589
+ }
4590
+ });
4591
+ }
4592
+ async function generateVideoThumbnail(file) {
4593
+ const video = document.createElement('video');
4594
+ const url = URL.createObjectURL(file);
4595
+ try {
4596
+ video.muted = true;
4597
+ video.playsInline = true;
4598
+ video.preload = 'auto';
4599
+ await videoEvent(video, 'loadeddata', () => {
4600
+ video.src = url;
4601
+ video.load();
4602
+ });
4603
+ if (!video.videoWidth || !video.videoHeight) {
4604
+ throw new Error('The video has no decodable dimensions.');
4605
+ }
4606
+ const analysis = document.createElement('canvas');
4607
+ analysis.width = 64;
4608
+ analysis.height = Math.max(1, Math.round((64 * video.videoHeight) / video.videoWidth));
4609
+ const context = analysis.getContext('2d', { willReadFrequently: true });
4610
+ if (!context) {
4611
+ throw new Error('Canvas is unavailable.');
4612
+ }
4613
+ const seek = async (time) => {
4614
+ if (Math.abs(video.currentTime - time) > 0.001) {
4615
+ await videoEvent(video, 'seeked', () => {
4616
+ video.currentTime = time;
4617
+ });
4618
+ }
4619
+ };
4620
+ const end = Number.isFinite(video.duration)
4621
+ ? Math.min(5, Math.max(0, video.duration - 0.01))
4622
+ : 5;
4623
+ let bestTime = 0;
4624
+ let bestRatio = -1;
4625
+ let found = false;
4626
+ for (let time = 0; time <= end; time += 0.25) {
4627
+ await seek(time);
4628
+ context.drawImage(video, 0, 0, analysis.width, analysis.height);
4629
+ const ratio = visiblePixelRatio(context.getImageData(0, 0, analysis.width, analysis.height).data);
4630
+ if (ratio > bestRatio) {
4631
+ bestRatio = ratio;
4632
+ bestTime = time;
4633
+ }
4634
+ // Small highlights or a subject in a dark scene are enough.
4635
+ if (ratio >= 0.02) {
4636
+ found = true;
4637
+ break;
4638
+ }
4639
+ }
4640
+ if (!found) {
4641
+ await seek(bestTime);
4642
+ }
4643
+ const canvas = document.createElement('canvas');
4644
+ const scale = Math.min(1, 1280 / video.videoWidth, 720 / video.videoHeight);
4645
+ canvas.width = Math.max(1, Math.round(video.videoWidth * scale));
4646
+ canvas.height = Math.max(1, Math.round(video.videoHeight * scale));
4647
+ const output = canvas.getContext('2d');
4648
+ if (!output) {
4649
+ throw new Error('Canvas is unavailable.');
4650
+ }
4651
+ output.drawImage(video, 0, 0, canvas.width, canvas.height);
4652
+ return await new Promise((resolve, reject) => {
4653
+ canvas.toBlob(blob => blob
4654
+ ? resolve(blob)
4655
+ : reject(new Error('Thumbnail encoding failed.')), 'image/webp', 0.85);
4656
+ });
4657
+ }
4658
+ finally {
4659
+ try {
4660
+ video.pause();
4661
+ video.removeAttribute('src');
4662
+ video.load();
4663
+ }
4664
+ finally {
4665
+ URL.revokeObjectURL(url);
4666
+ }
4667
+ }
4668
+ }
4669
+
2949
4670
  //#region imports
2950
4671
  //#endregion
4672
+ const t$3 = Translation.for('src/lib/taon-posts/taon-cms-post/taon-cms-post.component.ts', { "src/lib/taon-posts/taon-cms-post/taon-cms-post.component.html": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-post.component.html.en-US.i18n.data-WYUL_IjF.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-post.component.html.pl-PL.i18n.data-B1zLXqUZ.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-post.component.html.de-DE.i18n.data-BaPmxkoJ.mjs')).default }, "src/lib/taon-posts/taon-cms-post/taon-cms-post.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-post.component.ts.en-US.i18n.data-CbSJQ1ae.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-post.component.ts.pl-PL.i18n.data-8FEfL47i.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-post.component.ts.de-DE.i18n.data-qu1MSO3K.mjs')).default } });
2951
4673
  class TaonCmsPostComponent {
2952
4674
  //#endregion
2953
4675
  //#region constructor
2954
4676
  constructor() {
4677
+ this.t = t$3.for(this);
2955
4678
  //#region fields and getters
2956
4679
  this.post = input(null, ...(ngDevMode ? [{ debugName: "post" }] : []));
2957
4680
  this.mode = model('view', ...(ngDevMode ? [{ debugName: "mode" }] : []));
2958
4681
  this.changed = output();
2959
4682
  this.deleted = output();
4683
+ this.duplicated = output();
2960
4684
  this.cancelled = output();
2961
4685
  this.currentPost = signal(null, ...(ngDevMode ? [{ debugName: "currentPost" }] : []));
4686
+ this.placeholderShortIntro = this.t.signal.gettext('A short introduction...');
4687
+ this.placeholderTitle = this.t.signal.gettext('Title');
4688
+ this.placeholderTellYourStory = this.t.signal.gettext('Tell your story...');
2962
4689
  this.draft = signal({
2963
4690
  type: TaonCmsContentType.Normal,
2964
4691
  title: '',
@@ -2968,39 +4695,76 @@ class TaonCmsPostComponent {
2968
4695
  videoKey: null,
2969
4696
  audioKey: null,
2970
4697
  attachmentKey: null,
4698
+ thumbnailKey: null,
4699
+ categoryId: null,
4700
+ tagIds: [],
2971
4701
  }, ...(ngDevMode ? [{ debugName: "draft" }] : []));
2972
4702
  this.postTypes = [
2973
- { value: TaonCmsContentType.Normal, label: 'Normal post' },
2974
- { value: TaonCmsContentType.Video, label: 'Video post' },
2975
- { value: TaonCmsContentType.Audio, label: 'Audio post' },
2976
- { value: TaonCmsContentType.Attachment, label: 'Attachment post' },
4703
+ {
4704
+ value: TaonCmsContentType.Normal,
4705
+ label: this.t.gettext('Normal post'),
4706
+ },
4707
+ { value: TaonCmsContentType.Video, label: this.t.gettext('Video post') },
4708
+ { value: TaonCmsContentType.Audio, label: this.t.gettext('Audio post') },
4709
+ {
4710
+ value: TaonCmsContentType.Attachment,
4711
+ label: this.t.gettext('Attachment post'),
4712
+ },
2977
4713
  ];
2978
4714
  this.mediaAttachments = [
2979
4715
  {
2980
4716
  type: TaonCmsContentType.Video,
2981
4717
  key: 'videoKey',
2982
- heading: 'Video Attachment',
2983
- uploadLabel: 'Upload video',
4718
+ heading: this.t.gettext('Video Attachment'),
4719
+ uploadLabel: this.t.gettext('Upload video'),
2984
4720
  accept: 'video/*',
2985
4721
  },
2986
4722
  {
2987
4723
  type: TaonCmsContentType.Audio,
2988
4724
  key: 'audioKey',
2989
- heading: 'Audio Attachment',
2990
- uploadLabel: 'Upload audio',
4725
+ heading: this.t.gettext('Audio Attachment'),
4726
+ uploadLabel: this.t.gettext('Upload audio'),
2991
4727
  accept: 'audio/*',
2992
4728
  },
2993
4729
  {
2994
4730
  type: TaonCmsContentType.Attachment,
2995
4731
  key: 'attachmentKey',
2996
- heading: 'File Attachment',
2997
- uploadLabel: 'Upload file',
4732
+ heading: this.t.gettext('File Attachment'),
4733
+ uploadLabel: this.t.gettext('Upload file'),
2998
4734
  accept: '',
2999
4735
  },
3000
4736
  ];
3001
4737
  this.mediaAttachment = computed(() => this.mediaAttachments.find(media => media.type === this.draft().type), ...(ngDevMode ? [{ debugName: "mediaAttachment" }] : []));
3002
4738
  this.busy = signal(false, ...(ngDevMode ? [{ debugName: "busy" }] : []));
4739
+ this.thumbnailPreviewUrl = signal('', ...(ngDevMode ? [{ debugName: "thumbnailPreviewUrl" }] : []));
4740
+ this.thumbnailError = signal('', ...(ngDevMode ? [{ debugName: "thumbnailError" }] : []));
4741
+ this.thumbnailReference = computed(() => this.draft().thumbnailKey, ...(ngDevMode ? [{ debugName: "thumbnailReference" }] : []));
4742
+ this.thumbnailSlug = computed(() => this.draft().slug, ...(ngDevMode ? [{ debugName: "thumbnailSlug" }] : []));
4743
+ this.taxonomyLoading = signal(false, ...(ngDevMode ? [{ debugName: "taxonomyLoading" }] : []));
4744
+ this.taxonomyError = signal('', ...(ngDevMode ? [{ debugName: "taxonomyError" }] : []));
4745
+ this.categories = signal([], ...(ngDevMode ? [{ debugName: "categories" }] : []));
4746
+ this.tags = signal([], ...(ngDevMode ? [{ debugName: "tags" }] : []));
4747
+ this.tagSearch = signal('', ...(ngDevMode ? [{ debugName: "tagSearch" }] : []));
4748
+ this.filteredTags = computed(() => {
4749
+ const query = this.tagSearch().trim().toLowerCase();
4750
+ return this.tags().filter(tag => !this.draft().tagIds.includes(tag.id) &&
4751
+ `${tag.name} ${tag.slug}`.toLowerCase().includes(query));
4752
+ }, ...(ngDevMode ? [{ debugName: "filteredTags" }] : []));
4753
+ this.selectedTags = computed(() => this.tags().filter(tag => this.draft().tagIds.includes(tag.id)), ...(ngDevMode ? [{ debugName: "selectedTags" }] : []));
4754
+ this.categoryApi = inject(TaonCmsCategoryApiService);
4755
+ this.tagApi = inject(TaonCmsTagApiService);
4756
+ this.editorSession = 0;
4757
+ this.thumbnailObjectUrl = '';
4758
+ this.stagedThumbnail = signal(null, ...(ngDevMode ? [{ debugName: "stagedThumbnail" }] : []));
3003
4759
  this.uploading = signal(false, ...(ngDevMode ? [{ debugName: "uploading" }] : []));
4760
+ this.uploadProgress = signal(0, ...(ngDevMode ? [{ debugName: "uploadProgress" }] : []));
4761
+ this.mediaPreviewUrl = signal('', ...(ngDevMode ? [{ debugName: "mediaPreviewUrl" }] : []));
4762
+ this.mediaPreviewLoading = signal(false, ...(ngDevMode ? [{ debugName: "mediaPreviewLoading" }] : []));
4763
+ this.mediaPreviewError = signal('', ...(ngDevMode ? [{ debugName: "mediaPreviewError" }] : []));
4764
+ this.mediaFileNames = signal({}, ...(ngDevMode ? [{ debugName: "mediaFileNames" }] : []));
4765
+ this.uploadedMediaPreview = signal(null, ...(ngDevMode ? [{ debugName: "uploadedMediaPreview" }] : []));
4766
+ this.mediaPreviewRequest = 0;
4767
+ this.mediaPreviewSignature = '';
3004
4768
  this.dialogOpen = signal(false, ...(ngDevMode ? [{ debugName: "dialogOpen" }] : []));
3005
4769
  this.error = signal('', ...(ngDevMode ? [{ debugName: "error" }] : []));
3006
4770
  this.relatedPosts = signal([], ...(ngDevMode ? [{ debugName: "relatedPosts" }] : []));
@@ -3012,6 +4776,8 @@ class TaonCmsPostComponent {
3012
4776
  this.useAsApplicationHook = signal(false, ...(ngDevMode ? [{ debugName: "useAsApplicationHook" }] : []));
3013
4777
  this.selectedApplicationHook = signal(null, ...(ngDevMode ? [{ debugName: "selectedApplicationHook" }] : []));
3014
4778
  this.permissions = signal([], ...(ngDevMode ? [{ debugName: "permissions" }] : []));
4779
+ this.applyPermissionsToRelatedPosts = signal(false, ...(ngDevMode ? [{ debugName: "applyPermissionsToRelatedPosts" }] : []));
4780
+ this.permissionSource = signal(null, ...(ngDevMode ? [{ debugName: "permissionSource" }] : []));
3015
4781
  this.permissionsLoading = signal(false, ...(ngDevMode ? [{ debugName: "permissionsLoading" }] : []));
3016
4782
  this.permissionsError = signal('', ...(ngDevMode ? [{ debugName: "permissionsError" }] : []));
3017
4783
  this.permissionOptions = signal([], ...(ngDevMode ? [{ debugName: "permissionOptions" }] : []));
@@ -3031,7 +4797,9 @@ class TaonCmsPostComponent {
3031
4797
  !this.applicationHooksError() &&
3032
4798
  (!this.useAsApplicationHook() || !!this.selectedApplicationHook()) &&
3033
4799
  !this.permissionsLoading() &&
3034
- !this.permissionsError(), ...(ngDevMode ? [{ debugName: "canSave" }] : []));
4800
+ !this.permissionsError() &&
4801
+ !this.taxonomyLoading() &&
4802
+ !this.taxonomyError(), ...(ngDevMode ? [{ debugName: "canSave" }] : []));
3035
4803
  this.canPublish = computed(() => {
3036
4804
  const post = this.currentPost();
3037
4805
  return !!post && post.status !== 'published';
@@ -3049,12 +4817,243 @@ class TaonCmsPostComponent {
3049
4817
  untracked(() => {
3050
4818
  this.loadApplicationHooks();
3051
4819
  this.loadPermissionOptions();
4820
+ this.loadTaxonomy();
3052
4821
  });
3053
4822
  }
3054
4823
  });
4824
+ effect(onCleanup => {
4825
+ const key = this.thumbnailReference();
4826
+ const slug = this.thumbnailSlug();
4827
+ const editing = this.editing();
4828
+ const staged = this.stagedThumbnail();
4829
+ let active = true;
4830
+ onCleanup(() => {
4831
+ active = false;
4832
+ });
4833
+ this.thumbnailError.set('');
4834
+ this.thumbnailPreviewUrl.set('');
4835
+ if (staged && staged.key === key) {
4836
+ this.thumbnailPreviewUrl.set(staged.url);
4837
+ return;
4838
+ }
4839
+ if (!key) {
4840
+ return;
4841
+ }
4842
+ const placeholder = defaultThumbnailUrl(key);
4843
+ if (placeholder) {
4844
+ this.thumbnailPreviewUrl.set(placeholder);
4845
+ return;
4846
+ }
4847
+ if (!slug) {
4848
+ return;
4849
+ }
4850
+ const load = async () => {
4851
+ if (editing) {
4852
+ return this.api.getAssetUrl(key);
4853
+ }
4854
+ try {
4855
+ return await this.api.getThumbnailLinkBySlug(slug, true);
4856
+ }
4857
+ catch {
4858
+ return this.api.getThumbnailLinkBySlug(slug);
4859
+ }
4860
+ };
4861
+ void load()
4862
+ .then(url => {
4863
+ if (active && !this.destroyRef.destroyed) {
4864
+ this.thumbnailPreviewUrl.set(url);
4865
+ }
4866
+ })
4867
+ .catch((error) => {
4868
+ console.error('[taon-cms-post] Unable to load thumbnail', error);
4869
+ if (active && !this.destroyRef.destroyed) {
4870
+ this.thumbnailError.set(this.t.gettext('The thumbnail could not be loaded.'));
4871
+ }
4872
+ });
4873
+ });
4874
+ this.destroyRef.onDestroy(() => this.releaseThumbnailPreview());
4875
+ effect(() => {
4876
+ const media = this.mediaAttachment();
4877
+ const key = media ? this.draft()[media.key] : null;
4878
+ const slug = this.draft().slug;
4879
+ const editing = this.editing();
4880
+ const viewing = !!this.currentPost() && this.mode() !== 'add';
4881
+ const stagedPreview = this.uploadedMediaPreview();
4882
+ if ((!editing && !viewing) || !media || !key) {
4883
+ this.mediaPreviewSignature = '';
4884
+ this.mediaPreviewRequest += 1;
4885
+ this.mediaPreviewUrl.set('');
4886
+ this.mediaPreviewLoading.set(false);
4887
+ this.mediaPreviewError.set('');
4888
+ return;
4889
+ }
4890
+ if (stagedPreview?.key === key) {
4891
+ const signature = `upload:${key}:${stagedPreview.url}`;
4892
+ if (signature === this.mediaPreviewSignature) {
4893
+ return;
4894
+ }
4895
+ this.mediaPreviewSignature = signature;
4896
+ this.mediaPreviewRequest += 1;
4897
+ this.mediaPreviewUrl.set(stagedPreview.url);
4898
+ this.mediaPreviewLoading.set(false);
4899
+ this.mediaPreviewError.set('');
4900
+ return;
4901
+ }
4902
+ if (!slug) {
4903
+ this.mediaPreviewSignature = '';
4904
+ this.mediaPreviewRequest += 1;
4905
+ this.mediaPreviewUrl.set('');
4906
+ this.mediaPreviewLoading.set(false);
4907
+ this.mediaPreviewError.set('');
4908
+ return;
4909
+ }
4910
+ const signature = `${this.mode()}:${media.type}:${slug}:${key}`;
4911
+ if (signature === this.mediaPreviewSignature) {
4912
+ return;
4913
+ }
4914
+ this.mediaPreviewSignature = signature;
4915
+ const requestId = ++this.mediaPreviewRequest;
4916
+ this.mediaPreviewUrl.set('');
4917
+ this.mediaPreviewLoading.set(true);
4918
+ this.mediaPreviewError.set('');
4919
+ const getLink = editing
4920
+ ? this.getMediaLink(slug, media.type)
4921
+ : this.getMediaLinkForView(slug, media.type);
4922
+ void getLink
4923
+ .then(url => {
4924
+ if (requestId === this.mediaPreviewRequest &&
4925
+ !this.destroyRef.destroyed) {
4926
+ this.mediaPreviewUrl.set(url);
4927
+ }
4928
+ })
4929
+ .catch((error) => {
4930
+ console.error('[taon-cms-post] Unable to load media preview', error);
4931
+ if (requestId === this.mediaPreviewRequest &&
4932
+ !this.destroyRef.destroyed) {
4933
+ this.mediaPreviewError.set(this.t.gettext('Media preview could not be loaded. Please reopen the editor to try again.'));
4934
+ }
4935
+ })
4936
+ .finally(() => {
4937
+ if (requestId === this.mediaPreviewRequest &&
4938
+ !this.destroyRef.destroyed) {
4939
+ this.mediaPreviewLoading.set(false);
4940
+ }
4941
+ });
4942
+ });
3055
4943
  }
3056
4944
  //#endregion
3057
4945
  //#region methods / load related posts
4946
+ loadTaxonomy() {
4947
+ this.taxonomyLoad?.unsubscribe();
4948
+ const session = this.editorSession;
4949
+ const postId = this.currentPost()?.id;
4950
+ this.taxonomyLoading.set(true);
4951
+ this.taxonomyError.set('');
4952
+ this.taxonomyLoad = forkJoin({
4953
+ categories: this.categoryApi.allMyEntities$,
4954
+ tags: this.tagApi.allMyEntities$,
4955
+ tagIds: postId ? this.api.listTagIds(postId) : of([]),
4956
+ })
4957
+ .pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.taxonomyLoading.set(false)))
4958
+ .subscribe({
4959
+ next: result => {
4960
+ if (session === this.editorSession) {
4961
+ this.categories.set(result.categories.sort((a, b) => a.sortOrder - b.sortOrder || a.name.localeCompare(b.name)));
4962
+ this.tags.set(result.tags);
4963
+ this.updateDraft('tagIds', result.tagIds);
4964
+ }
4965
+ },
4966
+ error: (error) => {
4967
+ console.error('[taon-cms-post] Unable to load categories and tags', error);
4968
+ this.taxonomyError.set(this.t.gettext('Categories and tags could not be loaded. Please try again.'));
4969
+ },
4970
+ });
4971
+ }
4972
+ addTag(id) {
4973
+ if (!this.draft().tagIds.includes(id)) {
4974
+ this.updateDraft('tagIds', [...this.draft().tagIds, id]);
4975
+ }
4976
+ }
4977
+ removeTag(id) {
4978
+ this.updateDraft('tagIds', this.draft().tagIds.filter(selected => selected !== id));
4979
+ }
4980
+ filterTags(event) {
4981
+ if (event.target instanceof HTMLInputElement) {
4982
+ this.tagSearch.set(event.target.value);
4983
+ }
4984
+ }
4985
+ applyDefaultThumbnail() {
4986
+ if (!this.editing() || this.busy() || this.dialogOpen()) {
4987
+ return;
4988
+ }
4989
+ this.releaseThumbnailPreview();
4990
+ this.stagedThumbnail.set(null);
4991
+ this.updateDraft('thumbnailKey', defaultThumbnailKey(this.draft().type));
4992
+ }
4993
+ async thumbnailSelected(event) {
4994
+ if (!(event.target instanceof HTMLInputElement)) {
4995
+ return;
4996
+ }
4997
+ const input = event.target;
4998
+ const file = input.files?.[0];
4999
+ input.value = '';
5000
+ if (!file || !this.editing() || this.busy() || this.dialogOpen()) {
5001
+ return;
5002
+ }
5003
+ if (!file.type.startsWith('image/')) {
5004
+ this.error.set(this.t.gettext('Please select an image for the thumbnail.'));
5005
+ return;
5006
+ }
5007
+ this.busy.set(true);
5008
+ this.error.set('');
5009
+ try {
5010
+ await this.storeThumbnail(file, this.editorSession);
5011
+ }
5012
+ catch (error) {
5013
+ console.error('[taon-cms-post] Unable to upload thumbnail', error);
5014
+ this.error.set(this.t.gettext('The thumbnail could not be uploaded. Please try again.'));
5015
+ }
5016
+ finally {
5017
+ this.busy.set(false);
5018
+ }
5019
+ }
5020
+ async storeThumbnail(file, session) {
5021
+ if (session !== this.editorSession || this.destroyRef.destroyed) {
5022
+ return;
5023
+ }
5024
+ const previousPreview = this.thumbnailPreviewUrl();
5025
+ const previousStaged = this.stagedThumbnail();
5026
+ const preview = URL.createObjectURL(file);
5027
+ this.stagedThumbnail.set({ key: this.draft().thumbnailKey, url: preview });
5028
+ this.thumbnailPreviewUrl.set(preview);
5029
+ try {
5030
+ const object = await this.api.uploadMedia(file);
5031
+ if (session === this.editorSession && !this.destroyRef.destroyed) {
5032
+ this.releaseThumbnailPreview();
5033
+ this.thumbnailObjectUrl = preview;
5034
+ this.stagedThumbnail.set({ key: object.key, url: preview });
5035
+ this.updateDraft('thumbnailKey', object.key);
5036
+ }
5037
+ }
5038
+ catch (error) {
5039
+ if (session === this.editorSession) {
5040
+ this.stagedThumbnail.set(previousStaged);
5041
+ this.thumbnailPreviewUrl.set(previousPreview);
5042
+ }
5043
+ throw error;
5044
+ }
5045
+ finally {
5046
+ if (this.thumbnailObjectUrl !== preview) {
5047
+ URL.revokeObjectURL(preview);
5048
+ }
5049
+ }
5050
+ }
5051
+ releaseThumbnailPreview() {
5052
+ if (this.thumbnailObjectUrl) {
5053
+ URL.revokeObjectURL(this.thumbnailObjectUrl);
5054
+ this.thumbnailObjectUrl = '';
5055
+ }
5056
+ }
3058
5057
  loadRelatedPosts() {
3059
5058
  if (this.busy() || this.relatedPostsLoading()) {
3060
5059
  return;
@@ -3072,7 +5071,7 @@ class TaonCmsPostComponent {
3072
5071
  next: posts => this.relatedPosts.set(posts),
3073
5072
  error: (error) => {
3074
5073
  console.error('[taon-cms-post] Unable to load related posts', error);
3075
- this.relatedPostsError.set('Related posts could not be loaded. Please try again.');
5074
+ this.relatedPostsError.set(this.t.gettext('Related posts could not be loaded. Please try again.'));
3076
5075
  },
3077
5076
  });
3078
5077
  }
@@ -3138,7 +5137,7 @@ class TaonCmsPostComponent {
3138
5137
  },
3139
5138
  error: (error) => {
3140
5139
  console.error('[taon-cms-post] Unable to load application hooks', error);
3141
- this.applicationHooksError.set('Application hooks could not be loaded. Please try again.');
5140
+ this.applicationHooksError.set(this.t.gettext('Application hooks could not be loaded. Please try again.'));
3142
5141
  },
3143
5142
  });
3144
5143
  }
@@ -3155,7 +5154,7 @@ class TaonCmsPostComponent {
3155
5154
  //#endregion
3156
5155
  //#region methods / load permissions
3157
5156
  loadPermissions() {
3158
- if (this.busy() || this.permissionsLoading()) {
5157
+ if (this.permissionsLoading()) {
3159
5158
  return;
3160
5159
  }
3161
5160
  const post = this.requirePost();
@@ -3165,20 +5164,28 @@ class TaonCmsPostComponent {
3165
5164
  this.permissionsLoading.set(true);
3166
5165
  this.permissionsError.set('');
3167
5166
  this.permissionsLoad = this.api
3168
- .listPermissions(post.id)
5167
+ .getPermissionConfiguration(post.id)
3169
5168
  .pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.permissionsLoading.set(false)))
3170
5169
  .subscribe({
3171
- next: permissions => this.permissions.set(permissions),
5170
+ next: configuration => {
5171
+ this.permissions.set(configuration.permissions);
5172
+ this.permissionSource.set(configuration.source);
5173
+ },
3172
5174
  error: (error) => {
3173
5175
  console.error('[taon-cms-post] Unable to load permissions', error);
3174
- this.permissionsError.set('Permissions could not be loaded. Please try again.');
5176
+ this.permissionsError.set(this.t.gettext('Permissions could not be loaded. Please try again.'));
3175
5177
  },
3176
5178
  });
3177
5179
  }
3178
5180
  //#endregion
3179
5181
  //#region methods / add permission
3180
5182
  addPermission() {
3181
- if (!this.editing() || this.busy() || this.dialogOpen()) {
5183
+ if (!this.editing() ||
5184
+ this.busy() ||
5185
+ this.dialogOpen() ||
5186
+ this.permissionSource() ||
5187
+ this.permissionsLoading() ||
5188
+ this.permissionsError()) {
3182
5189
  return;
3183
5190
  }
3184
5191
  const permissionId = this.selectedPermissionId();
@@ -3191,7 +5198,12 @@ class TaonCmsPostComponent {
3191
5198
  //#endregion
3192
5199
  //#region methods / remove permission
3193
5200
  removePermission(id) {
3194
- if (!this.editing() || this.busy() || this.dialogOpen()) {
5201
+ if (!this.editing() ||
5202
+ this.busy() ||
5203
+ this.dialogOpen() ||
5204
+ this.permissionSource() ||
5205
+ this.permissionsLoading() ||
5206
+ this.permissionsError()) {
3195
5207
  return;
3196
5208
  }
3197
5209
  this.permissions.update(items => items.filter(permission => permission.id !== id));
@@ -3211,7 +5223,7 @@ class TaonCmsPostComponent {
3211
5223
  next: permissions => this.permissionOptions.set(permissions),
3212
5224
  error: (error) => {
3213
5225
  console.error('[taon-cms-post] Unable to load permission options', error);
3214
- this.permissionOptionsError.set('Available permissions could not be loaded. Please try again.');
5226
+ this.permissionOptionsError.set(this.t.gettext('Available permissions could not be loaded. Please try again.'));
3215
5227
  },
3216
5228
  });
3217
5229
  }
@@ -3224,7 +5236,7 @@ class TaonCmsPostComponent {
3224
5236
  //#region methods / file selected
3225
5237
  async fileSelected(event) {
3226
5238
  if (!(event.target instanceof HTMLInputElement)) {
3227
- this.error.set('Unable to read the selected media file.');
5239
+ this.error.set(this.t.gettext('Unable to read the selected media file.'));
3228
5240
  return;
3229
5241
  }
3230
5242
  const input = event.target;
@@ -3237,23 +5249,52 @@ class TaonCmsPostComponent {
3237
5249
  input.value = '';
3238
5250
  return;
3239
5251
  }
3240
- const draft = this.draft();
5252
+ const session = this.editorSession;
3241
5253
  this.busy.set(true);
3242
5254
  this.uploading.set(true);
5255
+ this.uploadProgress.set(0);
3243
5256
  this.error.set('');
3244
5257
  try {
3245
- const object = await this.api.uploadMedia(file);
3246
- if (!this.destroyRef.destroyed && this.draft() === draft) {
5258
+ const object = await this.api.uploadMedia(file, percentage => {
5259
+ if (!this.destroyRef.destroyed) {
5260
+ this.uploadProgress.set(percentage);
5261
+ }
5262
+ });
5263
+ if (!this.destroyRef.destroyed && this.editorSession === session) {
5264
+ const fileName = object.fileName || file.name;
5265
+ this.mediaFileNames.update(names => ({
5266
+ ...names,
5267
+ [object.key]: fileName,
5268
+ }));
5269
+ if (object.downloadUrl) {
5270
+ this.uploadedMediaPreview.set({
5271
+ key: object.key,
5272
+ url: this.uploadedMediaUrl(object.downloadUrl, media.type),
5273
+ fileName,
5274
+ });
5275
+ }
3247
5276
  this.updateDraft(media.key, object.key);
5277
+ if (media.type === TaonCmsContentType.Video) {
5278
+ try {
5279
+ const blob = await generateVideoThumbnail(file);
5280
+ const extension = blob.type === 'image/webp' ? 'webp' : 'png';
5281
+ await this.storeThumbnail(new File([blob], `thumbnail.${extension}`, { type: blob.type }), session);
5282
+ }
5283
+ catch (error) {
5284
+ console.error('[taon-cms-post] Unable to generate thumbnail', error);
5285
+ 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.'));
5286
+ }
5287
+ }
3248
5288
  }
3249
5289
  }
3250
5290
  catch (error) {
3251
5291
  console.error('[taon-cms-post] Unable to upload media', error);
3252
- this.error.set('The media could not be uploaded. Please try again.');
5292
+ this.error.set(this.t.gettext('The media could not be uploaded. Please try again.'));
3253
5293
  }
3254
5294
  finally {
3255
5295
  this.busy.set(false);
3256
5296
  this.uploading.set(false);
5297
+ this.uploadProgress.set(0);
3257
5298
  input.value = '';
3258
5299
  }
3259
5300
  }
@@ -3264,9 +5305,67 @@ class TaonCmsPostComponent {
3264
5305
  if (!media || !this.editing() || this.busy() || this.dialogOpen()) {
3265
5306
  return;
3266
5307
  }
5308
+ this.uploadedMediaPreview.set(null);
3267
5309
  this.updateDraft(media.key, null);
3268
5310
  }
3269
5311
  //#endregion
5312
+ //#region methods / uploaded media URL
5313
+ uploadedMediaUrl(url, type) {
5314
+ if (type !== TaonCmsContentType.Attachment) {
5315
+ return url;
5316
+ }
5317
+ const parsedUrl = new URL(url);
5318
+ parsedUrl.searchParams.set('download', 'true');
5319
+ return parsedUrl.href;
5320
+ }
5321
+ //#endregion
5322
+ //#region methods / get media link
5323
+ getMediaLink(slug, type) {
5324
+ switch (type) {
5325
+ case TaonCmsContentType.Video:
5326
+ return firstValueFrom(this.api.getVideoLinkBySlug(slug));
5327
+ case TaonCmsContentType.Audio:
5328
+ return firstValueFrom(this.api.getAudioLinkBySlug(slug));
5329
+ case TaonCmsContentType.Attachment:
5330
+ return this.api.getAttachmentLinkBySlug(slug);
5331
+ default:
5332
+ return Promise.reject(new Error('This post type has no media.'));
5333
+ }
5334
+ }
5335
+ //#endregion
5336
+ //#region methods / get media link for viewing
5337
+ async getMediaLinkForView(slug, type) {
5338
+ try {
5339
+ switch (type) {
5340
+ case TaonCmsContentType.Video:
5341
+ return await this.api.getPublicVideoLinkBySlug(slug);
5342
+ case TaonCmsContentType.Audio:
5343
+ return await this.api.getPublicAudioLinkBySlug(slug);
5344
+ case TaonCmsContentType.Attachment:
5345
+ return await this.api.getPublicAttachmentLinkBySlug(slug);
5346
+ default:
5347
+ throw new Error('This post type has no media.');
5348
+ }
5349
+ }
5350
+ catch {
5351
+ return this.getMediaLink(slug, type);
5352
+ }
5353
+ }
5354
+ //#endregion
5355
+ //#region methods / media file name
5356
+ mediaFileName(key) {
5357
+ const fileName = this.mediaFileNames()[key];
5358
+ if (fileName) {
5359
+ return fileName;
5360
+ }
5361
+ const uploaded = this.uploadedMediaPreview();
5362
+ if (uploaded?.key === key) {
5363
+ return uploaded.fileName;
5364
+ }
5365
+ const storedName = key.split('/').pop() || key;
5366
+ return storedName.replace(/^[0-9a-f-]{36}__/i, '');
5367
+ }
5368
+ //#endregion
3270
5369
  //#region methods / update slug
3271
5370
  updateSlug(event) {
3272
5371
  if (event.target instanceof HTMLInputElement) {
@@ -3305,7 +5404,7 @@ class TaonCmsPostComponent {
3305
5404
  return;
3306
5405
  }
3307
5406
  if (!this.canSave()) {
3308
- this.error.set('A title and slug are required.');
5407
+ this.error.set(this.t.gettext('A title and slug are required.'));
3309
5408
  return;
3310
5409
  }
3311
5410
  if (this.mode() === 'add') {
@@ -3313,6 +5412,7 @@ class TaonCmsPostComponent {
3313
5412
  ...this.draft(),
3314
5413
  relatedPostIds: this.relatedPosts().map(post => post.id),
3315
5414
  permissionIds: this.permissions().map(permission => permission.id),
5415
+ applyPermissionsToRelatedPosts: this.applyPermissionsToRelatedPosts(),
3316
5416
  applicationHook: this.useAsApplicationHook()
3317
5417
  ? this.selectedApplicationHook()
3318
5418
  : null,
@@ -3336,7 +5436,7 @@ class TaonCmsPostComponent {
3336
5436
  return;
3337
5437
  }
3338
5438
  if (this.editing() && !this.canSave()) {
3339
- this.error.set('A title and slug are required.');
5439
+ this.error.set(this.t.gettext('A title and slug are required.'));
3340
5440
  return;
3341
5441
  }
3342
5442
  const post = this.requirePost();
@@ -3351,6 +5451,23 @@ class TaonCmsPostComponent {
3351
5451
  }
3352
5452
  }
3353
5453
  //#endregion
5454
+ //#region methods / unpublish
5455
+ unpublish() {
5456
+ const post = this.currentPost();
5457
+ if (!post ||
5458
+ post.status !== 'published' ||
5459
+ this.busy() ||
5460
+ this.dialogOpen() ||
5461
+ this.mode() === 'view-clean' ||
5462
+ this.mode() === 'add') {
5463
+ return;
5464
+ }
5465
+ this.persist(this.api.updateContent(post.id, {
5466
+ expectedVersion: post.version,
5467
+ status: 'draft',
5468
+ }));
5469
+ }
5470
+ //#endregion
3354
5471
  //#region methods / revert
3355
5472
  revert() {
3356
5473
  const post = this.requirePost();
@@ -3390,9 +5507,9 @@ class TaonCmsPostComponent {
3390
5507
  this.dialogOpen.set(true);
3391
5508
  const ref = this.dialog.open(TaonConfirmDialogComponent, {
3392
5509
  data: {
3393
- title: 'Delete post?',
3394
- message: 'This archives the post. It can be restored from its revisions.',
3395
- confirmText: 'Delete',
5510
+ title: this.t.gettext('Delete post?'),
5511
+ message: this.t.gettext('This archives the post. It can be restored from its revisions.'),
5512
+ confirmText: this.t.gettext('Delete'),
3396
5513
  },
3397
5514
  });
3398
5515
  ref
@@ -3406,12 +5523,40 @@ class TaonCmsPostComponent {
3406
5523
  });
3407
5524
  }
3408
5525
  //#endregion
5526
+ //#region methods / duplicate
5527
+ duplicate() {
5528
+ if (this.busy() || this.dialogOpen() || this.mode() === 'view-clean') {
5529
+ return;
5530
+ }
5531
+ const post = this.requirePost();
5532
+ if (!post) {
5533
+ return;
5534
+ }
5535
+ this.busy.set(true);
5536
+ this.error.set('');
5537
+ this.api
5538
+ .duplicateContent(post.id)
5539
+ .pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.busy.set(false)))
5540
+ .subscribe({
5541
+ next: duplicate => this.duplicated.emit(duplicate),
5542
+ error: (error) => {
5543
+ console.error('[taon-cms-post] Unable to duplicate post', error);
5544
+ this.error.set(this.t.gettext('The post could not be duplicated. Please try again.'));
5545
+ },
5546
+ });
5547
+ }
5548
+ //#endregion
3409
5549
  //#region methods / update input
3410
5550
  updateInput(post) {
3411
5551
  return {
3412
5552
  ...this.draft(),
3413
5553
  relatedPostIds: this.relatedPosts().map(related => related.id),
3414
- permissionIds: this.permissions().map(permission => permission.id),
5554
+ ...(this.permissionSource()
5555
+ ? {}
5556
+ : {
5557
+ permissionIds: this.permissions().map(permission => permission.id),
5558
+ }),
5559
+ applyPermissionsToRelatedPosts: this.applyPermissionsToRelatedPosts(),
3415
5560
  applicationHook: this.useAsApplicationHook()
3416
5561
  ? this.selectedApplicationHook()
3417
5562
  : null,
@@ -3423,13 +5568,20 @@ class TaonCmsPostComponent {
3423
5568
  requirePost() {
3424
5569
  const post = this.currentPost();
3425
5570
  if (!post) {
3426
- this.error.set('No post is loaded.');
5571
+ this.error.set(this.t.gettext('No post is loaded.'));
3427
5572
  }
3428
5573
  return post;
3429
5574
  }
3430
5575
  //#endregion
3431
5576
  //#region methods / set post
3432
5577
  setPost(post) {
5578
+ this.editorSession += 1;
5579
+ this.taxonomyLoad?.unsubscribe();
5580
+ this.taxonomyLoading.set(false);
5581
+ this.taxonomyError.set('');
5582
+ this.releaseThumbnailPreview();
5583
+ this.stagedThumbnail.set(null);
5584
+ this.tagSearch.set('');
3433
5585
  this.relatedPostsLoad?.unsubscribe();
3434
5586
  this.applicationHooksLoad?.unsubscribe();
3435
5587
  this.permissionsLoad?.unsubscribe();
@@ -3439,9 +5591,14 @@ class TaonCmsPostComponent {
3439
5591
  this.applicationHooksError.set('');
3440
5592
  this.permissionsLoading.set(false);
3441
5593
  this.permissionsError.set('');
5594
+ this.uploadedMediaPreview.set(null);
5595
+ this.mediaPreviewSignature = '';
5596
+ this.mediaPreviewRequest += 1;
3442
5597
  this.currentPost.set(post);
3443
5598
  this.relatedPosts.set(post?.relatedPosts ?? []);
3444
5599
  this.permissions.set(post?.permissions ?? []);
5600
+ this.permissionSource.set(null);
5601
+ this.applyPermissionsToRelatedPosts.set(post?.applyPermissionsToRelatedPosts ?? false);
3445
5602
  this.selectedPermissionId.set(null);
3446
5603
  this.setApplicationHookSelection(post, this.applicationHooks());
3447
5604
  this.draft.set({
@@ -3453,17 +5610,21 @@ class TaonCmsPostComponent {
3453
5610
  videoKey: post?.videoKey ?? null,
3454
5611
  audioKey: post?.audioKey ?? null,
3455
5612
  attachmentKey: post?.attachmentKey ?? null,
5613
+ thumbnailKey: post?.thumbnailKey ?? null,
5614
+ categoryId: post?.categoryId ?? null,
5615
+ tagIds: [],
3456
5616
  });
3457
5617
  if (post &&
3458
5618
  post.relatedPosts === undefined &&
3459
5619
  this.mode() !== 'view-clean') {
3460
5620
  this.loadRelatedPosts();
3461
5621
  }
3462
- if (post &&
3463
- post.permissions === undefined &&
3464
- this.mode() !== 'view-clean') {
5622
+ if (post && this.mode() !== 'view-clean') {
3465
5623
  this.loadPermissions();
3466
5624
  }
5625
+ if (this.editing()) {
5626
+ this.loadTaxonomy();
5627
+ }
3467
5628
  }
3468
5629
  //#endregion
3469
5630
  setApplicationHookSelection(post, hooks) {
@@ -3500,13 +5661,17 @@ class TaonCmsPostComponent {
3500
5661
  },
3501
5662
  error: (error) => {
3502
5663
  console.error('[taon-cms-post] Unable to save post', error);
3503
- this.error.set('The post could not be saved. Check the slug and your connection. ' +
3504
- 'If another user changed it, close and reopen the post before retrying.');
5664
+ 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.'));
3505
5665
  },
3506
5666
  });
3507
5667
  }
3508
5668
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3509
- 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 }); }
5669
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonCmsPostComponent, isStandalone: true, selector: "taon-cms-post", inputs: { post: { classPropertyName: "post", publicName: "post", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { mode: "modeChange", changed: "changed", deleted: "deleted", duplicated: "duplicated", cancelled: "cancelled" }, providers: [
5670
+ TaonCmsContentApiService,
5671
+ TaonPermissionApiService,
5672
+ TaonCmsCategoryApiService,
5673
+ TaonCmsTagApiService,
5674
+ ], ngImport: i0, template: "@if (mode() !== 'view-clean') {\n <header class=\"post-actions\">\n <span class=\"post-status\">{{\n mode() === 'add' ? t.gettext('New draft') : currentPost()?.status\n }}</span>\n <div class=\"buttons\">\n @if (editing()) {\n <button\n mat-flat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen() || !canSave()\"\n (click)=\"save()\">\n {{ mode() === 'add' ? t.gettext('Add') : t.gettext('Save') }}\n </button>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"cancel()\">\n {{ t.gettext('Cancel') }}\n </button>\n } @else if (currentPost()) {\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"edit()\">\n <mat-icon>edit</mat-icon> {{ t.gettext('Edit') }}\n </button>\n }\n @if (mode() !== 'add' && currentPost()) {\n @if (canPublish()) {\n <button\n mat-flat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen() || (editing() && !canSave())\"\n (click)=\"publish()\">\n {{ t.gettext('Publish') }}\n </button>\n } @else {\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"unpublish()\">\n {{ t.gettext('Unpublish') }}\n </button>\n }\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"revert()\">\n <mat-icon>history</mat-icon> {{ t.gettext('Revert') }}\n </button>\n @if (currentPost()?.status !== 'archived') {\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"delete()\">\n <mat-icon>delete</mat-icon> {{ t.gettext('Delete') }}\n </button>\n }\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"duplicate()\">\n <mat-icon>content_copy</mat-icon> {{ t.gettext('Duplicate') }}\n </button>\n }\n </div>\n @if (busy()) {\n <span role=\"status\">{{\n uploading()\n ? t.gettext('Uploading... ') + uploadProgress() + '%'\n : t.gettext('Saving...')\n }}</span>\n }\n </header>\n @if (error()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ error() }}\n </p>\n }\n}\n\n<article\n class=\"post-article\"\n [attr.aria-busy]=\"busy()\">\n @if (editing()) {\n <mat-radio-group\n class=\"post-type-selector\"\n [attr.aria-label]=\"t.gettext('Post type')\"\n [value]=\"draft().type\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"updateDraft('type', $event.value)\">\n @for (type of postTypes; track type.value) {\n <mat-radio-button [value]=\"type.value\">{{\n type.label\n }}</mat-radio-button>\n }\n </mat-radio-group>\n <div\n class=\"post-title editable\"\n contenteditable=\"true\"\n role=\"textbox\"\n [attr.aria-label]=\"t.gettext('Post title')\"\n aria-required=\"true\"\n [attr.data-placeholder]=\"placeholderTitle()\"\n [attr.contenteditable]=\"!busy() && !dialogOpen()\"\n [taonCmsEditableSingleLine]=\"true\"\n [taonCmsEditable]=\"draft().title\"\n (taonCmsEditableChange)=\"updateDraft('title', $event)\"></div>\n <div\n class=\"post-excerpt editable\"\n contenteditable=\"true\"\n role=\"textbox\"\n [attr.aria-label]=\"t.gettext('Post excerpt')\"\n aria-multiline=\"true\"\n [attr.data-placeholder]=\"placeholderShortIntro()\"\n [attr.contenteditable]=\"!busy() && !dialogOpen()\"\n [taonCmsEditable]=\"draft().excerpt\"\n (taonCmsEditableChange)=\"updateDraft('excerpt', $event)\"></div>\n <div\n class=\"post-body editable\"\n contenteditable=\"true\"\n role=\"textbox\"\n [attr.aria-label]=\"t.gettext('Post body')\"\n aria-multiline=\"true\"\n [attr.data-placeholder]=\"placeholderTellYourStory()\"\n [attr.contenteditable]=\"!busy() && !dialogOpen()\"\n taonCmsEditableFormat=\"html\"\n [taonCmsEditable]=\"draft().body\"\n (taonCmsEditableChange)=\"updateDraft('body', $event)\"></div>\n <label class=\"slug-field\">\n <span>{{ t.gettext('URL slug') }}</span>\n <input\n [attr.aria-label]=\"t.gettext('URL slug')\"\n [value]=\"draft().slug\"\n [disabled]=\"busy() || dialogOpen()\"\n (input)=\"updateSlug($event)\"\n [placeholder]=\"t.gettext('my-post')\" />\n </label>\n @if (mediaAttachment(); as media) {\n <section\n class=\"media-attachment\"\n aria-labelledby=\"media-attachment-heading\">\n <h2 id=\"media-attachment-heading\">{{ media.heading }}</h2>\n @if (uploading()) {\n <mat-progress-bar\n mode=\"determinate\"\n [value]=\"uploadProgress()\"\n [attr.aria-label]=\"t.gettext('Media upload progress')\" />\n }\n @if (draft()[media.key]; as key) {\n @if (mediaPreviewLoading()) {\n <p role=\"status\">{{ t.gettext('Loading media preview...') }}</p>\n }\n @if (mediaPreviewError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ mediaPreviewError() }}\n </p>\n }\n @if (media.type === 'video' && mediaPreviewUrl()) {\n <video\n controls\n preload=\"none\"\n [src]=\"mediaPreviewUrl()\">\n {{ t.gettext('Your browser does not support video playback.') }}\n </video>\n } @else if (media.type === 'audio' && mediaPreviewUrl()) {\n <audio\n controls\n preload=\"none\"\n [src]=\"mediaPreviewUrl()\">\n {{ t.gettext('Your browser does not support audio playback.') }}\n </audio>\n } @else if (media.type === 'attachment' && mediaPreviewUrl()) {\n <p>\n {{\n t.gettext('Attached file: [[ fileName ]]', {\n fileName: mediaFileName(key),\n })\n }}\n <a\n [href]=\"mediaPreviewUrl()\"\n target=\"_blank\"\n rel=\"noopener\"\n >{{ t.gettext('Download or open') }}</a\n >\n </p>\n }\n <input\n #mediaInput\n hidden\n type=\"file\"\n [accept]=\"media.accept\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"fileSelected($event)\" />\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"mediaInput.click()\">\n {{ t.gettext('Replace') }}\n </button>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"removeMedia()\">\n {{ t.gettext('Remove') }}\n </button>\n } @else {\n <input\n #mediaInput\n hidden\n type=\"file\"\n [accept]=\"media.accept\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"fileSelected($event)\" />\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"mediaInput.click()\">\n {{ media.uploadLabel }}\n </button>\n }\n </section>\n }\n <section\n class=\"post-thumbnail\"\n aria-labelledby=\"thumbnail-heading\">\n <h2 id=\"thumbnail-heading\">{{ t.gettext('Thumbnail') }}</h2>\n @if (thumbnailPreviewUrl()) {\n <img\n class=\"thumbnail-preview\"\n [src]=\"thumbnailPreviewUrl()\"\n [alt]=\"t.gettext('Post thumbnail')\" />\n } @else {\n <p>{{ t.gettext('No thumbnail selected.') }}</p>\n }\n @if (thumbnailError()) {\n <p role=\"alert\">{{ thumbnailError() }}</p>\n }\n <input\n #thumbnailInput\n hidden\n type=\"file\"\n accept=\"image/*\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"thumbnailSelected($event)\" />\n <div class=\"buttons\">\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"thumbnailInput.click()\">\n {{ t.gettext('Upload Thumbnail') }}\n </button>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"applyDefaultThumbnail()\">\n {{ t.gettext('Apply Default Placeholder') }}\n </button>\n </div>\n </section>\n <section\n class=\"post-taxonomy\"\n aria-labelledby=\"category-heading\">\n <h2 id=\"category-heading\">{{ t.gettext('Category and Tags') }}</h2>\n @if (taxonomyLoading()) {\n <p role=\"status\">{{ t.gettext('Loading categories and tags...') }}</p>\n }\n @if (taxonomyError()) {\n <p role=\"alert\">{{ taxonomyError() }}</p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy()\"\n (click)=\"loadTaxonomy()\">\n {{ t.gettext('Try again') }}\n </button>\n }\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Category') }}</mat-label>\n <mat-select\n [value]=\"draft().categoryId\"\n [disabled]=\"\n busy() || dialogOpen() || taxonomyLoading() || !!taxonomyError()\n \"\n (selectionChange)=\"updateDraft('categoryId', $event.value)\">\n <mat-option [value]=\"null\">{{ t.gettext('None') }}</mat-option>\n @for (category of categories(); track category.id) {\n <mat-option [value]=\"category.id\">{{ category.name }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <h3>{{ t.gettext('Tags') }}</h3>\n <mat-chip-set [attr.aria-label]=\"t.gettext('Selected tags')\">\n @for (tag of selectedTags(); track tag.id) {\n <mat-chip\n [disabled]=\"busy() || dialogOpen() || taxonomyLoading()\"\n (removed)=\"removeTag(tag.id)\">\n {{ tag.name }}\n <button\n matChipRemove\n type=\"button\"\n [disabled]=\"busy() || dialogOpen() || taxonomyLoading()\"\n [attr.aria-label]=\"\n t.gettext('Remove tag [[ name ]]', { name: tag.name })\n \">\n <mat-icon>cancel</mat-icon>\n </button>\n </mat-chip>\n }\n </mat-chip-set>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Search tags') }}</mat-label>\n <input\n matInput\n [value]=\"tagSearch()\"\n (input)=\"filterTags($event)\"\n [disabled]=\"busy() || dialogOpen() || taxonomyLoading()\" />\n </mat-form-field>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Add tag') }}</mat-label>\n <mat-select\n [value]=\"null\"\n [disabled]=\"\n busy() || dialogOpen() || taxonomyLoading() || !!taxonomyError()\n \"\n (selectionChange)=\"addTag($event.value)\">\n @for (tag of filteredTags(); track tag.id) {\n <mat-option [value]=\"tag.id\">{{ tag.name }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n </section>\n <section\n class=\"related-posts\"\n aria-labelledby=\"related-posts-heading\">\n <h2 id=\"related-posts-heading\">{{ t.gettext('Related posts') }}</h2>\n @if (relatedPostsLoading()) {\n <p role=\"status\">{{ t.gettext('Loading related posts...') }}</p>\n } @else if (relatedPostsError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ relatedPostsError() }}\n </p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"loadRelatedPosts()\">\n {{ t.gettext('Try again') }}\n </button>\n } @else {\n <ul>\n @for (post of relatedPosts(); track post.id) {\n <li>\n <span>#{{ post.id }} - {{ post.title }}</span>\n <button\n mat-icon-button\n type=\"button\"\n [attr.aria-label]=\"\n t.gettext('Remove related post [[ title ]]', {\n title: post.title,\n })\n \"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"removeRelatedPost(post.id)\">\n <mat-icon>close</mat-icon>\n </button>\n </li>\n } @empty {\n <li>{{ t.gettext('No related posts yet.') }}</li>\n }\n </ul>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"addRelatedPost()\">\n <mat-icon>add</mat-icon> {{ t.gettext('Add related post') }}\n </button>\n }\n </section>\n\n @if (!mediaAttachment()) {\n <section\n class=\"application-hook\"\n aria-labelledby=\"application-hook-heading\">\n <h2 id=\"application-hook-heading\">\n {{ t.gettext('Application Hook') }}\n </h2>\n @if (applicationHooksLoading()) {\n <p role=\"status\">{{ t.gettext('Loading application hooks...') }}</p>\n } @else if (applicationHooksError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ applicationHooksError() }}\n </p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"loadApplicationHooks()\">\n {{ t.gettext('Try again') }}\n </button>\n } @else {\n <mat-checkbox\n [checked]=\"useAsApplicationHook()\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"setUseAsApplicationHook($event.checked)\">\n {{ t.gettext('Use as application hook') }}\n </mat-checkbox>\n @if (useAsApplicationHook()) {\n <mat-form-field\n appearance=\"outline\"\n subscriptSizing=\"dynamic\">\n <mat-label>{{ t.gettext('Application Hook') }}</mat-label>\n <mat-select\n [value]=\"selectedApplicationHook()\"\n [disabled]=\"busy() || dialogOpen()\"\n (selectionChange)=\"selectedApplicationHook.set($event.value)\">\n @for (\n applicationHook of applicationHooks();\n track applicationHook.id\n ) {\n <mat-option\n [value]=\"applicationHook.hook\"\n [disabled]=\"\n applicationHookInUseByAnotherPost(applicationHook)\n \">\n {{ applicationHookLabel(applicationHook.hook) }}\n @if (applicationHookInUseByAnotherPost(applicationHook)) {\n {{\n t.gettext('(in use by post # [[ postId ]])', {\n postId: applicationHook.contentId,\n })\n }}\n }\n </mat-option>\n } @empty {\n <mat-option [disabled]=\"true\">{{\n t.gettext('No application hooks configured')\n }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n }\n </section>\n }\n <section\n class=\"post-permissions\"\n aria-labelledby=\"post-permissions-heading\">\n <h2 id=\"post-permissions-heading\">\n {{ t.gettext('Allow Read only with Permissions') }}\n </h2>\n @if (permissionSource(); as source) {\n <p role=\"note\">\n {{\n t.gettext(\n 'Permissions are inherited from # [[ postId ]] - [[ title ]]. Edit the source post to change them.',\n { postId: source.id, title: source.title }\n )\n }}\n </p>\n }\n @if (permissionsLoading()) {\n <p role=\"status\">{{ t.gettext('Loading assigned permissions...') }}</p>\n } @else if (permissionsError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ permissionsError() }}\n </p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"loadPermissions()\">\n {{ t.gettext('Try again') }}\n </button>\n } @else {\n <ul>\n @for (permission of permissions(); track permission.id) {\n <li>\n <span>{{ permission.name }} ({{ permission.code }})</span>\n <button\n mat-icon-button\n type=\"button\"\n [attr.aria-label]=\"\n t.gettext('Remove permission [[ name ]]', {\n name: permission.name,\n })\n \"\n [disabled]=\"busy() || dialogOpen() || !!permissionSource()\"\n (click)=\"removePermission(permission.id)\">\n <mat-icon>close</mat-icon>\n </button>\n </li>\n } @empty {\n <li>{{ t.gettext('No permissions assigned.') }}</li>\n }\n </ul>\n @if (permissionOptionsError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ permissionOptionsError() }}\n </p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen() || permissionOptionsLoading()\"\n (click)=\"loadPermissionOptions()\">\n {{ t.gettext('Try again') }}\n </button>\n } @else {\n <div class=\"permission-assignment\">\n <mat-form-field\n appearance=\"outline\"\n subscriptSizing=\"dynamic\">\n <mat-label>{{ t.gettext('Permission') }}</mat-label>\n <mat-select\n [value]=\"selectedPermissionId()\"\n [disabled]=\"\n busy() ||\n dialogOpen() ||\n permissionOptionsLoading() ||\n !!permissionSource()\n \"\n (selectionChange)=\"selectedPermissionId.set($event.value)\">\n @for (\n permission of availablePermissions();\n track permission.id\n ) {\n <mat-option [value]=\"permission.id\"\n >{{ permission.name }} ({{ permission.code }})</mat-option\n >\n } @empty {\n <mat-option [disabled]=\"true\">{{\n t.gettext('No permissions available')\n }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"\n busy() ||\n dialogOpen() ||\n !selectedPermissionId() ||\n !!permissionSource()\n \"\n (click)=\"addPermission()\">\n <mat-icon>add</mat-icon> {{ t.gettext('Assign permission') }}\n </button>\n </div>\n }\n }\n @if (!permissionSource()) {\n <mat-checkbox\n [checked]=\"applyPermissionsToRelatedPosts()\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"applyPermissionsToRelatedPosts.set($event.checked)\">\n {{ t.gettext('Apply permissions to related posts') }}\n </mat-checkbox>\n }\n </section>\n } @else if (currentPost(); as post) {\n @if (thumbnailPreviewUrl()) {\n <img\n class=\"thumbnail-preview\"\n [src]=\"thumbnailPreviewUrl()\"\n [alt]=\"t.gettext('Post thumbnail')\" />\n }\n @if (thumbnailError()) {\n <p role=\"alert\">{{ thumbnailError() }}</p>\n }\n <h1 class=\"post-title\">{{ post.title }}</h1>\n @if (post.excerpt) {\n <p class=\"post-excerpt\">{{ post.excerpt }}</p>\n }\n <div\n class=\"post-body\"\n [innerHTML]=\"post.body\"></div>\n @if (mediaAttachment(); as media) {\n @if (draft()[media.key]; as key) {\n @if (mediaPreviewLoading()) {\n <p role=\"status\">{{ t.gettext('Loading media...') }}</p>\n } @else if (mediaPreviewError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ mediaPreviewError() }}\n </p>\n } @else if (media.type === 'video' && mediaPreviewUrl()) {\n <video\n controls\n preload=\"none\"\n [src]=\"mediaPreviewUrl()\">\n {{ t.gettext('Your browser does not support video playback.') }}\n </video>\n } @else if (media.type === 'audio' && mediaPreviewUrl()) {\n <audio\n controls\n preload=\"none\"\n [src]=\"mediaPreviewUrl()\">\n {{ t.gettext('Your browser does not support audio playback.') }}\n </audio>\n } @else if (media.type === 'attachment' && mediaPreviewUrl()) {\n <p>\n {{\n t.gettext('Attached file: [[ fileName ]]', {\n fileName: mediaFileName(key),\n })\n }}\n <a\n [href]=\"mediaPreviewUrl()\"\n target=\"_blank\"\n rel=\"noopener\"\n >{{ t.gettext('Download or open') }}</a\n >\n </p>\n }\n }\n }\n } @else {\n <p role=\"status\">{{ t.gettext('No post is loaded.') }}</p>\n }\n</article>\n", styles: [":host{display:block}.post-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;padding:1rem;border-bottom:1px solid rgba(136,136,136,.2)}.post-status{margin-right:auto;text-transform:capitalize;opacity:.7}.buttons{display:flex;flex-wrap:wrap;gap:.5rem}.post-article{max-width:760px;margin:0 auto;padding:clamp(1.5rem,5vw,4rem) 1.5rem;overflow-wrap:anywhere}.post-title{margin:0 0 1.5rem;font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:1.15;letter-spacing:-.03em}.post-excerpt{margin:0 0 2rem;font-size:1.35rem;line-height:1.6;opacity:.7;white-space:pre-wrap}.post-body{font-family:Georgia,Times New Roman,serif;font-size:1.2rem;line-height:1.8;white-space:pre-wrap}.editable{min-height:1.2em;outline:none}.editable:focus{box-shadow:-3px 0 #8885}.editable:empty:before{content:attr(data-placeholder);opacity:.4;pointer-events:none}.post-body.editable{min-height:12rem}.slug-field{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:3rem;padding-top:1rem;border-top:1px solid rgba(136,136,136,.2);font-size:.875rem}.slug-field input{flex:1;min-width:160px;padding:.5rem;color:inherit;background:transparent;border:1px solid rgba(136,136,136,.3333333333);border-radius:4px}.error{padding:1rem;color:#b3261e}.post-type-selector{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.media-attachment,.post-thumbnail,.post-taxonomy,.related-posts,.application-hook,.post-permissions{margin-top:1.5rem;font-size:.875rem}.media-attachment h2,.post-thumbnail h2,.post-taxonomy h2,.related-posts h2,.application-hook h2,.post-permissions h2{font-size:1rem}.media-attachment .thumbnail-preview,.post-thumbnail .thumbnail-preview,.post-taxonomy .thumbnail-preview,.related-posts .thumbnail-preview,.application-hook .thumbnail-preview,.post-permissions .thumbnail-preview{display:block;width:min(100%,480px);max-height:320px;object-fit:contain;border-radius:12px;margin-bottom:.75rem}.media-attachment .post-taxonomy mat-form-field,.post-thumbnail .post-taxonomy mat-form-field,.post-taxonomy .post-taxonomy mat-form-field,.related-posts .post-taxonomy mat-form-field,.application-hook .post-taxonomy mat-form-field,.post-permissions .post-taxonomy mat-form-field{display:block;margin-top:.75rem}.related-posts ul,.post-permissions ul{padding:0;list-style:none}.related-posts .application-hook,.post-permissions .application-hook{display:grid;align-items:start;gap:.75rem}.related-posts .application-hook mat-form-field,.post-permissions .application-hook mat-form-field{width:min(100%,28rem)}.related-posts li,.post-permissions li{display:flex;align-items:center;justify-content:space-between;gap:.5rem}video{max-width:100%;max-height:400px!important}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i2$1.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i6.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "directive", type: i6.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i6.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i7.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i3$1.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i3$1.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: TaonCmsEditableDirective, selector: "[taonCmsEditable]", inputs: ["taonCmsEditableFormat", "taonCmsEditableSingleLine", "taonCmsEditable"], outputs: ["taonCmsEditableChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3510
5675
  }
3511
5676
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostComponent, decorators: [{
3512
5677
  type: Component,
@@ -3515,11 +5680,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
3515
5680
  MatCheckboxModule,
3516
5681
  MatFormFieldModule,
3517
5682
  MatIconModule,
5683
+ MatInputModule,
5684
+ MatChipsModule,
5685
+ MatProgressBarModule,
3518
5686
  MatRadioModule,
3519
5687
  MatSelectModule,
3520
5688
  TaonCmsEditableDirective,
3521
- ], 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"] }]
3522
- }], 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"] }] } });
5689
+ ], providers: [
5690
+ TaonCmsContentApiService,
5691
+ TaonPermissionApiService,
5692
+ TaonCmsCategoryApiService,
5693
+ TaonCmsTagApiService,
5694
+ ], template: "@if (mode() !== 'view-clean') {\n <header class=\"post-actions\">\n <span class=\"post-status\">{{\n mode() === 'add' ? t.gettext('New draft') : currentPost()?.status\n }}</span>\n <div class=\"buttons\">\n @if (editing()) {\n <button\n mat-flat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen() || !canSave()\"\n (click)=\"save()\">\n {{ mode() === 'add' ? t.gettext('Add') : t.gettext('Save') }}\n </button>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"cancel()\">\n {{ t.gettext('Cancel') }}\n </button>\n } @else if (currentPost()) {\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"edit()\">\n <mat-icon>edit</mat-icon> {{ t.gettext('Edit') }}\n </button>\n }\n @if (mode() !== 'add' && currentPost()) {\n @if (canPublish()) {\n <button\n mat-flat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen() || (editing() && !canSave())\"\n (click)=\"publish()\">\n {{ t.gettext('Publish') }}\n </button>\n } @else {\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"unpublish()\">\n {{ t.gettext('Unpublish') }}\n </button>\n }\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"revert()\">\n <mat-icon>history</mat-icon> {{ t.gettext('Revert') }}\n </button>\n @if (currentPost()?.status !== 'archived') {\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"delete()\">\n <mat-icon>delete</mat-icon> {{ t.gettext('Delete') }}\n </button>\n }\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"duplicate()\">\n <mat-icon>content_copy</mat-icon> {{ t.gettext('Duplicate') }}\n </button>\n }\n </div>\n @if (busy()) {\n <span role=\"status\">{{\n uploading()\n ? t.gettext('Uploading... ') + uploadProgress() + '%'\n : t.gettext('Saving...')\n }}</span>\n }\n </header>\n @if (error()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ error() }}\n </p>\n }\n}\n\n<article\n class=\"post-article\"\n [attr.aria-busy]=\"busy()\">\n @if (editing()) {\n <mat-radio-group\n class=\"post-type-selector\"\n [attr.aria-label]=\"t.gettext('Post type')\"\n [value]=\"draft().type\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"updateDraft('type', $event.value)\">\n @for (type of postTypes; track type.value) {\n <mat-radio-button [value]=\"type.value\">{{\n type.label\n }}</mat-radio-button>\n }\n </mat-radio-group>\n <div\n class=\"post-title editable\"\n contenteditable=\"true\"\n role=\"textbox\"\n [attr.aria-label]=\"t.gettext('Post title')\"\n aria-required=\"true\"\n [attr.data-placeholder]=\"placeholderTitle()\"\n [attr.contenteditable]=\"!busy() && !dialogOpen()\"\n [taonCmsEditableSingleLine]=\"true\"\n [taonCmsEditable]=\"draft().title\"\n (taonCmsEditableChange)=\"updateDraft('title', $event)\"></div>\n <div\n class=\"post-excerpt editable\"\n contenteditable=\"true\"\n role=\"textbox\"\n [attr.aria-label]=\"t.gettext('Post excerpt')\"\n aria-multiline=\"true\"\n [attr.data-placeholder]=\"placeholderShortIntro()\"\n [attr.contenteditable]=\"!busy() && !dialogOpen()\"\n [taonCmsEditable]=\"draft().excerpt\"\n (taonCmsEditableChange)=\"updateDraft('excerpt', $event)\"></div>\n <div\n class=\"post-body editable\"\n contenteditable=\"true\"\n role=\"textbox\"\n [attr.aria-label]=\"t.gettext('Post body')\"\n aria-multiline=\"true\"\n [attr.data-placeholder]=\"placeholderTellYourStory()\"\n [attr.contenteditable]=\"!busy() && !dialogOpen()\"\n taonCmsEditableFormat=\"html\"\n [taonCmsEditable]=\"draft().body\"\n (taonCmsEditableChange)=\"updateDraft('body', $event)\"></div>\n <label class=\"slug-field\">\n <span>{{ t.gettext('URL slug') }}</span>\n <input\n [attr.aria-label]=\"t.gettext('URL slug')\"\n [value]=\"draft().slug\"\n [disabled]=\"busy() || dialogOpen()\"\n (input)=\"updateSlug($event)\"\n [placeholder]=\"t.gettext('my-post')\" />\n </label>\n @if (mediaAttachment(); as media) {\n <section\n class=\"media-attachment\"\n aria-labelledby=\"media-attachment-heading\">\n <h2 id=\"media-attachment-heading\">{{ media.heading }}</h2>\n @if (uploading()) {\n <mat-progress-bar\n mode=\"determinate\"\n [value]=\"uploadProgress()\"\n [attr.aria-label]=\"t.gettext('Media upload progress')\" />\n }\n @if (draft()[media.key]; as key) {\n @if (mediaPreviewLoading()) {\n <p role=\"status\">{{ t.gettext('Loading media preview...') }}</p>\n }\n @if (mediaPreviewError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ mediaPreviewError() }}\n </p>\n }\n @if (media.type === 'video' && mediaPreviewUrl()) {\n <video\n controls\n preload=\"none\"\n [src]=\"mediaPreviewUrl()\">\n {{ t.gettext('Your browser does not support video playback.') }}\n </video>\n } @else if (media.type === 'audio' && mediaPreviewUrl()) {\n <audio\n controls\n preload=\"none\"\n [src]=\"mediaPreviewUrl()\">\n {{ t.gettext('Your browser does not support audio playback.') }}\n </audio>\n } @else if (media.type === 'attachment' && mediaPreviewUrl()) {\n <p>\n {{\n t.gettext('Attached file: [[ fileName ]]', {\n fileName: mediaFileName(key),\n })\n }}\n <a\n [href]=\"mediaPreviewUrl()\"\n target=\"_blank\"\n rel=\"noopener\"\n >{{ t.gettext('Download or open') }}</a\n >\n </p>\n }\n <input\n #mediaInput\n hidden\n type=\"file\"\n [accept]=\"media.accept\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"fileSelected($event)\" />\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"mediaInput.click()\">\n {{ t.gettext('Replace') }}\n </button>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"removeMedia()\">\n {{ t.gettext('Remove') }}\n </button>\n } @else {\n <input\n #mediaInput\n hidden\n type=\"file\"\n [accept]=\"media.accept\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"fileSelected($event)\" />\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"mediaInput.click()\">\n {{ media.uploadLabel }}\n </button>\n }\n </section>\n }\n <section\n class=\"post-thumbnail\"\n aria-labelledby=\"thumbnail-heading\">\n <h2 id=\"thumbnail-heading\">{{ t.gettext('Thumbnail') }}</h2>\n @if (thumbnailPreviewUrl()) {\n <img\n class=\"thumbnail-preview\"\n [src]=\"thumbnailPreviewUrl()\"\n [alt]=\"t.gettext('Post thumbnail')\" />\n } @else {\n <p>{{ t.gettext('No thumbnail selected.') }}</p>\n }\n @if (thumbnailError()) {\n <p role=\"alert\">{{ thumbnailError() }}</p>\n }\n <input\n #thumbnailInput\n hidden\n type=\"file\"\n accept=\"image/*\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"thumbnailSelected($event)\" />\n <div class=\"buttons\">\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"thumbnailInput.click()\">\n {{ t.gettext('Upload Thumbnail') }}\n </button>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"applyDefaultThumbnail()\">\n {{ t.gettext('Apply Default Placeholder') }}\n </button>\n </div>\n </section>\n <section\n class=\"post-taxonomy\"\n aria-labelledby=\"category-heading\">\n <h2 id=\"category-heading\">{{ t.gettext('Category and Tags') }}</h2>\n @if (taxonomyLoading()) {\n <p role=\"status\">{{ t.gettext('Loading categories and tags...') }}</p>\n }\n @if (taxonomyError()) {\n <p role=\"alert\">{{ taxonomyError() }}</p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy()\"\n (click)=\"loadTaxonomy()\">\n {{ t.gettext('Try again') }}\n </button>\n }\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Category') }}</mat-label>\n <mat-select\n [value]=\"draft().categoryId\"\n [disabled]=\"\n busy() || dialogOpen() || taxonomyLoading() || !!taxonomyError()\n \"\n (selectionChange)=\"updateDraft('categoryId', $event.value)\">\n <mat-option [value]=\"null\">{{ t.gettext('None') }}</mat-option>\n @for (category of categories(); track category.id) {\n <mat-option [value]=\"category.id\">{{ category.name }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <h3>{{ t.gettext('Tags') }}</h3>\n <mat-chip-set [attr.aria-label]=\"t.gettext('Selected tags')\">\n @for (tag of selectedTags(); track tag.id) {\n <mat-chip\n [disabled]=\"busy() || dialogOpen() || taxonomyLoading()\"\n (removed)=\"removeTag(tag.id)\">\n {{ tag.name }}\n <button\n matChipRemove\n type=\"button\"\n [disabled]=\"busy() || dialogOpen() || taxonomyLoading()\"\n [attr.aria-label]=\"\n t.gettext('Remove tag [[ name ]]', { name: tag.name })\n \">\n <mat-icon>cancel</mat-icon>\n </button>\n </mat-chip>\n }\n </mat-chip-set>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Search tags') }}</mat-label>\n <input\n matInput\n [value]=\"tagSearch()\"\n (input)=\"filterTags($event)\"\n [disabled]=\"busy() || dialogOpen() || taxonomyLoading()\" />\n </mat-form-field>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Add tag') }}</mat-label>\n <mat-select\n [value]=\"null\"\n [disabled]=\"\n busy() || dialogOpen() || taxonomyLoading() || !!taxonomyError()\n \"\n (selectionChange)=\"addTag($event.value)\">\n @for (tag of filteredTags(); track tag.id) {\n <mat-option [value]=\"tag.id\">{{ tag.name }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n </section>\n <section\n class=\"related-posts\"\n aria-labelledby=\"related-posts-heading\">\n <h2 id=\"related-posts-heading\">{{ t.gettext('Related posts') }}</h2>\n @if (relatedPostsLoading()) {\n <p role=\"status\">{{ t.gettext('Loading related posts...') }}</p>\n } @else if (relatedPostsError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ relatedPostsError() }}\n </p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"loadRelatedPosts()\">\n {{ t.gettext('Try again') }}\n </button>\n } @else {\n <ul>\n @for (post of relatedPosts(); track post.id) {\n <li>\n <span>#{{ post.id }} - {{ post.title }}</span>\n <button\n mat-icon-button\n type=\"button\"\n [attr.aria-label]=\"\n t.gettext('Remove related post [[ title ]]', {\n title: post.title,\n })\n \"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"removeRelatedPost(post.id)\">\n <mat-icon>close</mat-icon>\n </button>\n </li>\n } @empty {\n <li>{{ t.gettext('No related posts yet.') }}</li>\n }\n </ul>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"addRelatedPost()\">\n <mat-icon>add</mat-icon> {{ t.gettext('Add related post') }}\n </button>\n }\n </section>\n\n @if (!mediaAttachment()) {\n <section\n class=\"application-hook\"\n aria-labelledby=\"application-hook-heading\">\n <h2 id=\"application-hook-heading\">\n {{ t.gettext('Application Hook') }}\n </h2>\n @if (applicationHooksLoading()) {\n <p role=\"status\">{{ t.gettext('Loading application hooks...') }}</p>\n } @else if (applicationHooksError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ applicationHooksError() }}\n </p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"loadApplicationHooks()\">\n {{ t.gettext('Try again') }}\n </button>\n } @else {\n <mat-checkbox\n [checked]=\"useAsApplicationHook()\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"setUseAsApplicationHook($event.checked)\">\n {{ t.gettext('Use as application hook') }}\n </mat-checkbox>\n @if (useAsApplicationHook()) {\n <mat-form-field\n appearance=\"outline\"\n subscriptSizing=\"dynamic\">\n <mat-label>{{ t.gettext('Application Hook') }}</mat-label>\n <mat-select\n [value]=\"selectedApplicationHook()\"\n [disabled]=\"busy() || dialogOpen()\"\n (selectionChange)=\"selectedApplicationHook.set($event.value)\">\n @for (\n applicationHook of applicationHooks();\n track applicationHook.id\n ) {\n <mat-option\n [value]=\"applicationHook.hook\"\n [disabled]=\"\n applicationHookInUseByAnotherPost(applicationHook)\n \">\n {{ applicationHookLabel(applicationHook.hook) }}\n @if (applicationHookInUseByAnotherPost(applicationHook)) {\n {{\n t.gettext('(in use by post # [[ postId ]])', {\n postId: applicationHook.contentId,\n })\n }}\n }\n </mat-option>\n } @empty {\n <mat-option [disabled]=\"true\">{{\n t.gettext('No application hooks configured')\n }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n }\n </section>\n }\n <section\n class=\"post-permissions\"\n aria-labelledby=\"post-permissions-heading\">\n <h2 id=\"post-permissions-heading\">\n {{ t.gettext('Allow Read only with Permissions') }}\n </h2>\n @if (permissionSource(); as source) {\n <p role=\"note\">\n {{\n t.gettext(\n 'Permissions are inherited from # [[ postId ]] - [[ title ]]. Edit the source post to change them.',\n { postId: source.id, title: source.title }\n )\n }}\n </p>\n }\n @if (permissionsLoading()) {\n <p role=\"status\">{{ t.gettext('Loading assigned permissions...') }}</p>\n } @else if (permissionsError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ permissionsError() }}\n </p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"loadPermissions()\">\n {{ t.gettext('Try again') }}\n </button>\n } @else {\n <ul>\n @for (permission of permissions(); track permission.id) {\n <li>\n <span>{{ permission.name }} ({{ permission.code }})</span>\n <button\n mat-icon-button\n type=\"button\"\n [attr.aria-label]=\"\n t.gettext('Remove permission [[ name ]]', {\n name: permission.name,\n })\n \"\n [disabled]=\"busy() || dialogOpen() || !!permissionSource()\"\n (click)=\"removePermission(permission.id)\">\n <mat-icon>close</mat-icon>\n </button>\n </li>\n } @empty {\n <li>{{ t.gettext('No permissions assigned.') }}</li>\n }\n </ul>\n @if (permissionOptionsError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ permissionOptionsError() }}\n </p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen() || permissionOptionsLoading()\"\n (click)=\"loadPermissionOptions()\">\n {{ t.gettext('Try again') }}\n </button>\n } @else {\n <div class=\"permission-assignment\">\n <mat-form-field\n appearance=\"outline\"\n subscriptSizing=\"dynamic\">\n <mat-label>{{ t.gettext('Permission') }}</mat-label>\n <mat-select\n [value]=\"selectedPermissionId()\"\n [disabled]=\"\n busy() ||\n dialogOpen() ||\n permissionOptionsLoading() ||\n !!permissionSource()\n \"\n (selectionChange)=\"selectedPermissionId.set($event.value)\">\n @for (\n permission of availablePermissions();\n track permission.id\n ) {\n <mat-option [value]=\"permission.id\"\n >{{ permission.name }} ({{ permission.code }})</mat-option\n >\n } @empty {\n <mat-option [disabled]=\"true\">{{\n t.gettext('No permissions available')\n }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"\n busy() ||\n dialogOpen() ||\n !selectedPermissionId() ||\n !!permissionSource()\n \"\n (click)=\"addPermission()\">\n <mat-icon>add</mat-icon> {{ t.gettext('Assign permission') }}\n </button>\n </div>\n }\n }\n @if (!permissionSource()) {\n <mat-checkbox\n [checked]=\"applyPermissionsToRelatedPosts()\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"applyPermissionsToRelatedPosts.set($event.checked)\">\n {{ t.gettext('Apply permissions to related posts') }}\n </mat-checkbox>\n }\n </section>\n } @else if (currentPost(); as post) {\n @if (thumbnailPreviewUrl()) {\n <img\n class=\"thumbnail-preview\"\n [src]=\"thumbnailPreviewUrl()\"\n [alt]=\"t.gettext('Post thumbnail')\" />\n }\n @if (thumbnailError()) {\n <p role=\"alert\">{{ thumbnailError() }}</p>\n }\n <h1 class=\"post-title\">{{ post.title }}</h1>\n @if (post.excerpt) {\n <p class=\"post-excerpt\">{{ post.excerpt }}</p>\n }\n <div\n class=\"post-body\"\n [innerHTML]=\"post.body\"></div>\n @if (mediaAttachment(); as media) {\n @if (draft()[media.key]; as key) {\n @if (mediaPreviewLoading()) {\n <p role=\"status\">{{ t.gettext('Loading media...') }}</p>\n } @else if (mediaPreviewError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ mediaPreviewError() }}\n </p>\n } @else if (media.type === 'video' && mediaPreviewUrl()) {\n <video\n controls\n preload=\"none\"\n [src]=\"mediaPreviewUrl()\">\n {{ t.gettext('Your browser does not support video playback.') }}\n </video>\n } @else if (media.type === 'audio' && mediaPreviewUrl()) {\n <audio\n controls\n preload=\"none\"\n [src]=\"mediaPreviewUrl()\">\n {{ t.gettext('Your browser does not support audio playback.') }}\n </audio>\n } @else if (media.type === 'attachment' && mediaPreviewUrl()) {\n <p>\n {{\n t.gettext('Attached file: [[ fileName ]]', {\n fileName: mediaFileName(key),\n })\n }}\n <a\n [href]=\"mediaPreviewUrl()\"\n target=\"_blank\"\n rel=\"noopener\"\n >{{ t.gettext('Download or open') }}</a\n >\n </p>\n }\n }\n }\n } @else {\n <p role=\"status\">{{ t.gettext('No post is loaded.') }}</p>\n }\n</article>\n", styles: [":host{display:block}.post-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;padding:1rem;border-bottom:1px solid rgba(136,136,136,.2)}.post-status{margin-right:auto;text-transform:capitalize;opacity:.7}.buttons{display:flex;flex-wrap:wrap;gap:.5rem}.post-article{max-width:760px;margin:0 auto;padding:clamp(1.5rem,5vw,4rem) 1.5rem;overflow-wrap:anywhere}.post-title{margin:0 0 1.5rem;font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:1.15;letter-spacing:-.03em}.post-excerpt{margin:0 0 2rem;font-size:1.35rem;line-height:1.6;opacity:.7;white-space:pre-wrap}.post-body{font-family:Georgia,Times New Roman,serif;font-size:1.2rem;line-height:1.8;white-space:pre-wrap}.editable{min-height:1.2em;outline:none}.editable:focus{box-shadow:-3px 0 #8885}.editable:empty:before{content:attr(data-placeholder);opacity:.4;pointer-events:none}.post-body.editable{min-height:12rem}.slug-field{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:3rem;padding-top:1rem;border-top:1px solid rgba(136,136,136,.2);font-size:.875rem}.slug-field input{flex:1;min-width:160px;padding:.5rem;color:inherit;background:transparent;border:1px solid rgba(136,136,136,.3333333333);border-radius:4px}.error{padding:1rem;color:#b3261e}.post-type-selector{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.media-attachment,.post-thumbnail,.post-taxonomy,.related-posts,.application-hook,.post-permissions{margin-top:1.5rem;font-size:.875rem}.media-attachment h2,.post-thumbnail h2,.post-taxonomy h2,.related-posts h2,.application-hook h2,.post-permissions h2{font-size:1rem}.media-attachment .thumbnail-preview,.post-thumbnail .thumbnail-preview,.post-taxonomy .thumbnail-preview,.related-posts .thumbnail-preview,.application-hook .thumbnail-preview,.post-permissions .thumbnail-preview{display:block;width:min(100%,480px);max-height:320px;object-fit:contain;border-radius:12px;margin-bottom:.75rem}.media-attachment .post-taxonomy mat-form-field,.post-thumbnail .post-taxonomy mat-form-field,.post-taxonomy .post-taxonomy mat-form-field,.related-posts .post-taxonomy mat-form-field,.application-hook .post-taxonomy mat-form-field,.post-permissions .post-taxonomy mat-form-field{display:block;margin-top:.75rem}.related-posts ul,.post-permissions ul{padding:0;list-style:none}.related-posts .application-hook,.post-permissions .application-hook{display:grid;align-items:start;gap:.75rem}.related-posts .application-hook mat-form-field,.post-permissions .application-hook mat-form-field{width:min(100%,28rem)}.related-posts li,.post-permissions li{display:flex;align-items:center;justify-content:space-between;gap:.5rem}video{max-width:100%;max-height:400px!important}\n"] }]
5695
+ }], ctorParameters: () => [], propDecorators: { post: [{ type: i0.Input, args: [{ isSignal: true, alias: "post", required: false }] }], mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: false }] }, { type: i0.Output, args: ["modeChange"] }], changed: [{ type: i0.Output, args: ["changed"] }], deleted: [{ type: i0.Output, args: ["deleted"] }], duplicated: [{ type: i0.Output, args: ["duplicated"] }], cancelled: [{ type: i0.Output, args: ["cancelled"] }] } });
3523
5696
 
3524
5697
  var taonCmsPost_component = /*#__PURE__*/Object.freeze({
3525
5698
  __proto__: null,
@@ -3550,17 +5723,46 @@ const TaonCmsPostRoutes = [
3550
5723
  */
3551
5724
  // export default TaonCmsPostRoutes;
3552
5725
 
5726
+ const t$2 = Translation.for('src/lib/taon-posts/taon-cms-post-details-page/taon-cms-post-details-page.component.ts', { "src/lib/taon-posts/taon-cms-post-details-page/taon-cms-post-details-page.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-post-details-page.component.ts.en-US.i18n.data-CfETMKWw.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-BJUC-bxd.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-post-details-page.component.ts.de-DE.i18n.data-CCMZ2Grc.mjs')).default } });
3553
5727
  class TaonCmsPostDetailsPageComponent {
3554
5728
  constructor() {
3555
- this.post$ = inject(ActivatedRoute).data.pipe(map$1(data => data['post']));
5729
+ this.t = t$2.for(this);
5730
+ this.route = inject(ActivatedRoute);
5731
+ this.router = inject(Router);
5732
+ this.page$ = this.route.data.pipe(map$1(data => ({
5733
+ create: data['createPost'] === true,
5734
+ post: data['post'] ?? null,
5735
+ })));
5736
+ }
5737
+ onChanged(post, create) {
5738
+ if (create) {
5739
+ this.openPost(post);
5740
+ }
5741
+ }
5742
+ openPost(post) {
5743
+ void this.router.navigate(['../', post.id], { relativeTo: this.route });
5744
+ }
5745
+ onCancelled(create) {
5746
+ if (create) {
5747
+ void this.router.navigate(['../'], { relativeTo: this.route });
5748
+ }
3556
5749
  }
3557
5750
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostDetailsPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3558
5751
  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: `
3559
- @if (post$ | async; as post) {
3560
- <a mat-button routerLink="../">Back to Posts</a>
3561
- <taon-cms-post [post]="post"></taon-cms-post>
3562
- }
3563
- `, 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 }); }
5752
+ @if (page$ | async; as page) {
5753
+ <a
5754
+ mat-button
5755
+ routerLink="../"
5756
+ >{{ t.gettext('Back to Posts') }}</a
5757
+ >
5758
+ <taon-cms-post
5759
+ [post]="page.post"
5760
+ [mode]="page.create ? 'add' : 'view'"
5761
+ (changed)="onChanged($event, page.create)"
5762
+ (duplicated)="openPost($event)"
5763
+ (cancelled)="onCancelled(page.create)" />
5764
+ }
5765
+ `, 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 }); }
3564
5766
  }
3565
5767
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostDetailsPageComponent, decorators: [{
3566
5768
  type: Component,
@@ -3569,9 +5771,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
3569
5771
  changeDetection: ChangeDetectionStrategy.OnPush,
3570
5772
  imports: [AsyncPipe, MatButtonModule, RouterLink, TaonCmsPostComponent],
3571
5773
  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>
5774
+ @if (page$ | async; as page) {
5775
+ <a
5776
+ mat-button
5777
+ routerLink="../"
5778
+ >{{ t.gettext('Back to Posts') }}</a
5779
+ >
5780
+ <taon-cms-post
5781
+ [post]="page.post"
5782
+ [mode]="page.create ? 'add' : 'view'"
5783
+ (changed)="onChanged($event, page.create)"
5784
+ (duplicated)="openPost($event)"
5785
+ (cancelled)="onCancelled(page.create)" />
3575
5786
  }
3576
5787
  `,
3577
5788
  }]
@@ -3582,68 +5793,48 @@ var taonCmsPostDetailsPage_component = /*#__PURE__*/Object.freeze({
3582
5793
  TaonCmsPostDetailsPageComponent: TaonCmsPostDetailsPageComponent
3583
5794
  });
3584
5795
 
3585
- class TaonCmsPostEditDialogComponent {
3586
- constructor() {
3587
- this.data = inject(MAT_DIALOG_DATA);
3588
- this.editor = viewChild(TaonCmsPostComponent, ...(ngDevMode ? [{ debugName: "editor" }] : []));
3589
- this.changed = new EventEmitter();
3590
- this.ref = inject((MatDialogRef));
3591
- }
3592
- close() {
3593
- if (!this.editor()?.busy() && !this.editor()?.dialogOpen()) {
3594
- this.ref.close();
3595
- }
3596
- }
3597
- deleted(post) {
3598
- this.ref.close(post);
3599
- }
3600
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostEditDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3601
- 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 }); }
3602
- }
3603
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostEditDialogComponent, decorators: [{
3604
- type: Component,
3605
- 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"] }]
3606
- }], propDecorators: { editor: [{ type: i0.ViewChild, args: [i0.forwardRef(() => TaonCmsPostComponent), { isSignal: true }] }] } });
3607
-
3608
5796
  //#region imports
3609
5797
  //#endregion
5798
+ const t$1 = Translation.for('src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts', { "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.html": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.html.en-US.i18n.data-C7o8B-38.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-DHsO0ILx.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-_vYyLJO0.mjs')).default }, "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-CE7oFpqW.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-DN7jpzXv.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-B6oI0NXX.mjs')).default }, "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-BGx0VfEv.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-CJyoZejS.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-CvRKVC5m.mjs')).default } });
3610
5799
  class TaonCmsPostsBackofficeComponent {
3611
5800
  constructor() {
5801
+ this.t = t$1.for(this);
3612
5802
  this.taonCmsContentApiService = inject(TaonCmsContentApiService);
3613
5803
  this.posts = signal([], ...(ngDevMode ? [{ debugName: "posts" }] : []));
3614
5804
  this.loading = signal(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
3615
5805
  this.deleting = signal(null, ...(ngDevMode ? [{ debugName: "deleting" }] : []));
5806
+ this.duplicating = signal(false, ...(ngDevMode ? [{ debugName: "duplicating" }] : []));
3616
5807
  this.error = signal('', ...(ngDevMode ? [{ debugName: "error" }] : []));
3617
5808
  this.dialog = inject(MatDialog);
3618
5809
  this.route = inject(ActivatedRoute);
3619
5810
  this.router = inject(Router);
3620
5811
  this.destroyRef = inject(DestroyRef);
3621
- this.cancelLoad$ = new Subject();
3622
5812
  this.columns = [
3623
5813
  { header: 'ID', field: 'id', sortable: true },
3624
- { header: 'Title', field: 'title', sortable: true },
3625
- { header: 'Status', field: 'status', sortable: true },
5814
+ { header: this.t.gettext('Title'), field: 'title', sortable: true },
5815
+ { header: this.t.gettext('Status'), field: 'status', sortable: true },
3626
5816
  {
3627
- header: 'Actions',
5817
+ header: this.t.gettext('Actions'),
3628
5818
  field: 'actions',
3629
5819
  type: 'button',
3630
5820
  buttons: [
3631
5821
  {
3632
5822
  type: 'icon',
3633
- icon: 'edit',
3634
- tooltip: 'Edit post',
3635
- click: (post) => this.edit(post),
5823
+ icon: 'content_copy',
5824
+ tooltip: this.t.gettext('Duplicate post'),
5825
+ disabled: () => this.duplicating(),
5826
+ click: (post) => this.duplicate(post),
3636
5827
  },
3637
5828
  {
3638
5829
  type: 'icon',
3639
5830
  icon: 'open_in_new',
3640
- tooltip: 'Post details',
5831
+ tooltip: this.t.gettext('Post details'),
3641
5832
  click: (post) => this.openDetails(post),
3642
5833
  },
3643
5834
  {
3644
5835
  type: 'icon',
3645
5836
  icon: 'delete',
3646
- tooltip: 'Delete (archive) post',
5837
+ tooltip: this.t.gettext('Delete (archive) post'),
3647
5838
  disabled: (post) => post.status === 'archived' || this.deleting() !== null,
3648
5839
  click: (post) => this.delete(post),
3649
5840
  },
@@ -3661,18 +5852,35 @@ class TaonCmsPostsBackofficeComponent {
3661
5852
  this.reload();
3662
5853
  }
3663
5854
  add() {
3664
- this.openEditor({ mode: 'add' });
3665
- }
3666
- edit(post) {
3667
- this.openEditor({ mode: 'edit', post });
5855
+ this.openPost('new');
3668
5856
  }
3669
5857
  openDetails(post) {
5858
+ this.openPost(post.id);
5859
+ }
5860
+ openPost(id) {
3670
5861
  const postsRoute = this.route.parent;
3671
5862
  if (!postsRoute) {
3672
- this.error.set('The Post details route is unavailable.');
5863
+ this.error.set(this.t.gettext('The Post details route is unavailable.'));
5864
+ return;
5865
+ }
5866
+ void this.router.navigate([id], { relativeTo: postsRoute });
5867
+ }
5868
+ duplicate(post) {
5869
+ if (this.duplicating()) {
3673
5870
  return;
3674
5871
  }
3675
- void this.router.navigate([post.id], { relativeTo: postsRoute });
5872
+ this.duplicating.set(true);
5873
+ this.error.set('');
5874
+ this.taonCmsContentApiService
5875
+ .duplicateContent(post.id)
5876
+ .pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.duplicating.set(false)))
5877
+ .subscribe({
5878
+ next: duplicate => this.openDetails(duplicate),
5879
+ error: (error) => {
5880
+ console.error('[taon-cms-posts-backoffice] Unable to duplicate post', error);
5881
+ this.error.set(this.t.gettext('The post could not be duplicated. Please try again.'));
5882
+ },
5883
+ });
3676
5884
  }
3677
5885
  delete(post) {
3678
5886
  if (this.deleting() !== null || post.status === 'archived') {
@@ -3681,9 +5889,9 @@ class TaonCmsPostsBackofficeComponent {
3681
5889
  this.deleting.set(post.id);
3682
5890
  const ref = this.dialog.open(TaonConfirmDialogComponent, {
3683
5891
  data: {
3684
- title: 'Delete post?',
3685
- message: 'This archives the post. It can be restored from its revisions.',
3686
- confirmText: 'Delete',
5892
+ title: this.t.gettext('Delete post?'),
5893
+ message: this.t.gettext('This archives the post. It can be restored from its revisions.'),
5894
+ confirmText: this.t.gettext('Delete'),
3687
5895
  },
3688
5896
  });
3689
5897
  ref
@@ -3702,31 +5910,17 @@ class TaonCmsPostsBackofficeComponent {
3702
5910
  next: () => this.reload(),
3703
5911
  error: (error) => {
3704
5912
  console.error('[taon-cms-posts-backoffice] Unable to delete post', error);
3705
- this.error.set('The post could not be deleted. Refresh the table before retrying.');
5913
+ this.error.set(this.t.gettext('The post could not be deleted. Refresh the table before retrying.'));
3706
5914
  },
3707
5915
  });
3708
5916
  });
3709
5917
  }
3710
- openEditor(data) {
3711
- const ref = this.dialog.open(TaonCmsPostEditDialogComponent, {
3712
- data,
3713
- width: '100vw',
3714
- height: '100dvh',
3715
- maxWidth: '100vw',
3716
- maxHeight: '100dvh',
3717
- disableClose: true,
3718
- autoFocus: 'first-tabbable',
3719
- });
3720
- ref.componentInstance.changed
3721
- .pipe(takeUntil(ref.afterClosed()), takeUntilDestroyed(this.destroyRef))
3722
- .subscribe(() => this.reload());
3723
- }
3724
5918
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostsBackofficeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3725
- 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 }); }
5919
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonCmsPostsBackofficeComponent, isStandalone: true, selector: "app-taon-cms-posts-backoffice", providers: [TaonCmsContentApiService], viewQueries: [{ propertyName: "datatable", first: true, predicate: TaonDatatableComponent, descendants: true }], ngImport: i0, template: "<h1>{{ t.gettext('CMS posts') }}</h1>\n@if (loading()) {\n <p role=\"status\">{{ t.gettext('Loading posts...') }}</p>\n}\n@if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n}\n<taon-datatable\n [entityCrudController]=\"crud\"\n [columns]=\"columns\"\n [allowedColumns]=\"['id', 'title', 'status']\"\n searchMode=\"advanced\"\n (addingItem)=\"add()\">\n</taon-datatable>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: TaonDatatableComponent, selector: "taon-datatable", inputs: ["pageNumber", "pageSize", "pageSizeOptions", "allowedColumns", "expansionTemplate", "entityCrudController", "columns", "hideSearch", "hideAddButton", "safe", "searchMode", "callQueryMethod", "data", "showPaginator"], outputs: ["expansionChange", "addingItem"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3726
5920
  }
3727
5921
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostsBackofficeComponent, decorators: [{
3728
5922
  type: Component,
3729
- 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"] }]
5923
+ 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"] }]
3730
5924
  }], propDecorators: { datatable: [{
3731
5925
  type: ViewChild,
3732
5926
  args: [TaonDatatableComponent]
@@ -3742,15 +5936,16 @@ var taonCmsPostsBackoffice_component = /*#__PURE__*/Object.freeze({
3742
5936
 
3743
5937
  //#region imports
3744
5938
  //#endregion
5939
+ const t = Translation.for('src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts', { "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.html": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.html.en-US.i18n.data-C7o8B-38.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-DHsO0ILx.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-_vYyLJO0.mjs')).default }, "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-CE7oFpqW.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-DN7jpzXv.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-B6oI0NXX.mjs')).default }, "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts": { "en-US": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-BGx0VfEv.mjs')).default, "pl-PL": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-CJyoZejS.mjs')).default, "de-DE": async () => (await import('./cms-browser-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-CvRKVC5m.mjs')).default } });
3745
5940
  const resolvePost = async (route) => {
3746
5941
  const id = Number(route.paramMap.get('id'));
3747
5942
  if (!Number.isSafeInteger(id) || id <= 0) {
3748
- throw new Error('Invalid Post ID');
5943
+ throw new Error(t.gettext('Invalid Post ID'));
3749
5944
  }
3750
5945
  const taonCmsContentApiService = inject(TaonCmsContentApiService);
3751
5946
  const post = await taonCmsContentApiService.getById(id);
3752
5947
  if (!post) {
3753
- throw new Error('Post not found');
5948
+ throw new Error(t.gettext('Post not found'));
3754
5949
  }
3755
5950
  return post;
3756
5951
  };
@@ -3760,6 +5955,11 @@ const TaonCmsPostsBackofficeRoutes = [
3760
5955
  pathMatch: 'full',
3761
5956
  loadComponent: () => Promise.resolve().then(function () { return taonCmsPostsBackoffice_component; }).then(m => m.TaonCmsPostsBackofficeComponent),
3762
5957
  },
5958
+ {
5959
+ path: 'new',
5960
+ data: { hideInNavigation: true, createPost: true },
5961
+ loadComponent: () => Promise.resolve().then(function () { return taonCmsPostDetailsPage_component; }).then(m => m.TaonCmsPostDetailsPageComponent),
5962
+ },
3763
5963
  {
3764
5964
  path: ':id',
3765
5965
  data: { hideInNavigation: true },
@@ -3792,6 +5992,8 @@ var index$1 = /*#__PURE__*/Object.freeze({
3792
5992
  CURRENT_PACKAGE_TAON_VERSION: CURRENT_PACKAGE_TAON_VERSION,
3793
5993
  CURRENT_PACKAGE_VERSION: CURRENT_PACKAGE_VERSION,
3794
5994
  get CmsContext_1791132517217_initial () { return CmsContext_1791132517217_initial; },
5995
+ get CmsContext_1792579000000_postPermissionInheritance () { return CmsContext_1792579000000_postPermissionInheritance; },
5996
+ get CmsContext_1793043000000_postThumbnails () { return CmsContext_1793043000000_postThumbnails; },
3795
5997
  MIGRATIONS_CLASSES_FOR_CmsContext: MIGRATIONS_CLASSES_FOR_CmsContext,
3796
5998
  PROJECT_NPM_NAME: PROJECT_NPM_NAME,
3797
5999
  get TaonAuthContextEntity () { return TaonAuthContextEntity; },
@@ -3800,10 +6002,12 @@ var index$1 = /*#__PURE__*/Object.freeze({
3800
6002
  TaonCmsAbstractContext: TaonCmsAbstractContext,
3801
6003
  TaonCmsApplicationHook: TaonCmsApplicationHook,
3802
6004
  get TaonCmsApplicationHookEntity () { return TaonCmsApplicationHookEntity; },
6005
+ TaonCmsAssetPreviewComponent: TaonCmsAssetPreviewComponent,
3803
6006
  TaonCmsAssetsBackofficeComponent: TaonCmsAssetsBackofficeComponent,
3804
6007
  TaonCmsAssetsBackofficeRoutes: TaonCmsAssetsBackofficeRoutes,
3805
6008
  TaonCmsBackofficeComponent: TaonCmsBackofficeComponent,
3806
6009
  TaonCmsBackofficeRoutes: TaonCmsBackofficeRoutes,
6010
+ TaonCmsCategoriesBackofficeRoutes: TaonCmsCategoriesBackofficeRoutes,
3807
6011
  TaonCmsCategoryAbstractContext: TaonCmsCategoryAbstractContext,
3808
6012
  TaonCmsCategoryApiService: TaonCmsCategoryApiService,
3809
6013
  get TaonCmsCategoryController () { return TaonCmsCategoryController; },
@@ -3887,7 +6091,6 @@ var index$1 = /*#__PURE__*/Object.freeze({
3887
6091
  TaonCmsEditableDirective: TaonCmsEditableDirective,
3888
6092
  TaonCmsPostComponent: TaonCmsPostComponent,
3889
6093
  TaonCmsPostDetailsPageComponent: TaonCmsPostDetailsPageComponent,
3890
- TaonCmsPostEditDialogComponent: TaonCmsPostEditDialogComponent,
3891
6094
  TaonCmsPostRoutes: TaonCmsPostRoutes,
3892
6095
  TaonCmsPostsBackofficeComponent: TaonCmsPostsBackofficeComponent,
3893
6096
  TaonCmsPostsBackofficeRoutes: TaonCmsPostsBackofficeRoutes,
@@ -3903,21 +6106,30 @@ var index$1 = /*#__PURE__*/Object.freeze({
3903
6106
  get TaonCmsTagState () { return TaonCmsTagState; },
3904
6107
  get TaonCmsTagSubscriber () { return TaonCmsTagSubscriber; },
3905
6108
  TaonCmsTagUtils__NS__isActive: TaonCmsTagUtils__NS__isActive,
6109
+ TaonCmsTagsBackofficeRoutes: TaonCmsTagsBackofficeRoutes,
6110
+ TaonCmsTaxonomyBackofficeComponent: TaonCmsTaxonomyBackofficeComponent,
3906
6111
  TaonRelatedPostChooserComponent: TaonRelatedPostChooserComponent,
3907
6112
  TaonSessionCoreGroups: TaonSessionCoreGroups,
3908
6113
  TaonSessionCorePermissions: TaonSessionCorePermissions,
3909
6114
  TaonSessionCoreRoles: TaonSessionCoreRoles,
3910
6115
  contentError: contentError,
3911
6116
  default: index,
6117
+ defaultThumbnailKey: defaultThumbnailKey,
6118
+ defaultThumbnailUrl: defaultThumbnailUrl,
6119
+ generateVideoThumbnail: generateVideoThumbnail,
3912
6120
  requireContentId: requireContentId,
3913
6121
  requireContentVersion: requireContentVersion,
3914
6122
  startCli: startCli,
3915
- validateContentInput: validateContentInput
6123
+ trackCmsUpload: trackCmsUpload,
6124
+ validateCategoryHierarchy: validateCategoryHierarchy,
6125
+ validateContentInput: validateContentInput,
6126
+ validateTaxonomy: validateTaxonomy,
6127
+ visiblePixelRatio: visiblePixelRatio
3916
6128
  });
3917
6129
 
3918
6130
  /**
3919
6131
  * Generated bundle index. Do not edit.
3920
6132
  */
3921
6133
 
3922
- 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__NS__isActive, TaonCmsCommentAbstractContext, TaonCmsCommentApiService, TaonCmsCommentController, TaonCmsCommentDefaultsValues, TaonCmsCommentEntity, TaonCmsCommentMiddleware, TaonCmsCommentProvider, TaonCmsCommentRepository, TaonCmsCommentState, TaonCmsCommentSubscriber, TaonCmsCommentUtils__NS__isActive, TaonCmsContentAbstractContext, TaonCmsContentApiService, TaonCmsContentAssetAbstractContext, TaonCmsContentAssetApiService, TaonCmsContentAssetController, TaonCmsContentAssetDefaultsValues, TaonCmsContentAssetEntity, TaonCmsContentAssetMiddleware, TaonCmsContentAssetProvider, TaonCmsContentAssetRepository, TaonCmsContentAssetState, TaonCmsContentAssetSubscriber, TaonCmsContentAssetUtils__NS__isActive, TaonCmsContentConfigService, TaonCmsContentController, TaonCmsContentDefaultsValues, TaonCmsContentEntity, TaonCmsContentMiddleware, TaonCmsContentPermissionAbstractContext, TaonCmsContentPermissionApiService, TaonCmsContentPermissionController, TaonCmsContentPermissionDefaultsValues, TaonCmsContentPermissionEntity, TaonCmsContentPermissionMiddleware, TaonCmsContentPermissionProvider, TaonCmsContentPermissionRepository, TaonCmsContentPermissionState, TaonCmsContentPermissionSubscriber, TaonCmsContentPermissionUtils__NS__isActive, TaonCmsContentProvider, TaonCmsContentRepository, TaonCmsContentRevisionAbstractContext, TaonCmsContentRevisionApiService, TaonCmsContentRevisionController, TaonCmsContentRevisionDefaultsValues, TaonCmsContentRevisionEntity, TaonCmsContentRevisionMiddleware, TaonCmsContentRevisionProvider, TaonCmsContentRevisionRepository, TaonCmsContentRevisionState, TaonCmsContentRevisionSubscriber, TaonCmsContentRevisionUtils__NS__isActive, TaonCmsContentState, TaonCmsContentStorageController, TaonCmsContentSubscriber, TaonCmsContentTagAbstractContext, TaonCmsContentTagApiService, TaonCmsContentTagController, TaonCmsContentTagDefaultsValues, TaonCmsContentTagEntity, TaonCmsContentTagMiddleware, TaonCmsContentTagProvider, TaonCmsContentTagRepository, TaonCmsContentTagState, TaonCmsContentTagSubscriber, TaonCmsContentTagUtils__NS__isActive, TaonCmsContentType, TaonCmsContentUtils__NS__isActive, TaonCmsEditableDirective, TaonCmsPostComponent, TaonCmsPostDetailsPageComponent, TaonCmsPostEditDialogComponent, TaonCmsPostRoutes, TaonCmsPostsBackofficeComponent, TaonCmsPostsBackofficeRoutes, TaonCmsRevisionChooserComponent, TaonCmsTagAbstractContext, TaonCmsTagApiService, TaonCmsTagController, TaonCmsTagDefaultsValues, TaonCmsTagEntity, TaonCmsTagMiddleware, TaonCmsTagProvider, TaonCmsTagRepository, TaonCmsTagState, TaonCmsTagSubscriber, TaonCmsTagUtils__NS__isActive, TaonRelatedPostChooserComponent, TaonSessionCoreGroups, TaonSessionCorePermissions, TaonSessionCoreRoles, contentError, requireContentId, requireContentVersion, startCli, validateContentInput };
6134
+ export { APP_ID, BUILD_BASE_HREF, BUILD_FRAMEWORK_CLI_NAME, CURRENT_PACKAGE_TAON_VERSION, CURRENT_PACKAGE_VERSION, CmsContext_1791132517217_initial, CmsContext_1792579000000_postPermissionInheritance, CmsContext_1793043000000_postThumbnails, MIGRATIONS_CLASSES_FOR_CmsContext, PROJECT_NPM_NAME, TaonAuthContextEntity, TaonAuthContextHasAccess, TaonAuthContextRepository, TaonCmsAbstractContext, TaonCmsApplicationHook, TaonCmsApplicationHookEntity, TaonCmsAssetPreviewComponent, TaonCmsAssetsBackofficeComponent, TaonCmsAssetsBackofficeRoutes, TaonCmsBackofficeComponent, TaonCmsBackofficeRoutes, TaonCmsCategoriesBackofficeRoutes, TaonCmsCategoryAbstractContext, TaonCmsCategoryApiService, TaonCmsCategoryController, TaonCmsCategoryDefaultsValues, TaonCmsCategoryEntity, TaonCmsCategoryMiddleware, TaonCmsCategoryProvider, TaonCmsCategoryRepository, TaonCmsCategoryState, TaonCmsCategorySubscriber, TaonCmsCategoryUtils__NS__isActive, TaonCmsCommentAbstractContext, TaonCmsCommentApiService, TaonCmsCommentController, TaonCmsCommentDefaultsValues, TaonCmsCommentEntity, TaonCmsCommentMiddleware, TaonCmsCommentProvider, TaonCmsCommentRepository, TaonCmsCommentState, TaonCmsCommentSubscriber, TaonCmsCommentUtils__NS__isActive, TaonCmsContentAbstractContext, TaonCmsContentApiService, TaonCmsContentAssetAbstractContext, TaonCmsContentAssetApiService, TaonCmsContentAssetController, TaonCmsContentAssetDefaultsValues, TaonCmsContentAssetEntity, TaonCmsContentAssetMiddleware, TaonCmsContentAssetProvider, TaonCmsContentAssetRepository, TaonCmsContentAssetState, TaonCmsContentAssetSubscriber, TaonCmsContentAssetUtils__NS__isActive, TaonCmsContentConfigService, TaonCmsContentController, TaonCmsContentDefaultsValues, TaonCmsContentEntity, TaonCmsContentMiddleware, TaonCmsContentPermissionAbstractContext, TaonCmsContentPermissionApiService, TaonCmsContentPermissionController, TaonCmsContentPermissionDefaultsValues, TaonCmsContentPermissionEntity, TaonCmsContentPermissionMiddleware, TaonCmsContentPermissionProvider, TaonCmsContentPermissionRepository, TaonCmsContentPermissionState, TaonCmsContentPermissionSubscriber, TaonCmsContentPermissionUtils__NS__isActive, TaonCmsContentProvider, TaonCmsContentRepository, TaonCmsContentRevisionAbstractContext, TaonCmsContentRevisionApiService, TaonCmsContentRevisionController, TaonCmsContentRevisionDefaultsValues, TaonCmsContentRevisionEntity, TaonCmsContentRevisionMiddleware, TaonCmsContentRevisionProvider, TaonCmsContentRevisionRepository, TaonCmsContentRevisionState, TaonCmsContentRevisionSubscriber, TaonCmsContentRevisionUtils__NS__isActive, TaonCmsContentState, TaonCmsContentStorageController, TaonCmsContentSubscriber, TaonCmsContentTagAbstractContext, TaonCmsContentTagApiService, TaonCmsContentTagController, TaonCmsContentTagDefaultsValues, TaonCmsContentTagEntity, TaonCmsContentTagMiddleware, TaonCmsContentTagProvider, TaonCmsContentTagRepository, TaonCmsContentTagState, TaonCmsContentTagSubscriber, TaonCmsContentTagUtils__NS__isActive, TaonCmsContentType, TaonCmsContentUtils__NS__isActive, TaonCmsEditableDirective, TaonCmsPostComponent, TaonCmsPostDetailsPageComponent, TaonCmsPostRoutes, TaonCmsPostsBackofficeComponent, TaonCmsPostsBackofficeRoutes, TaonCmsRevisionChooserComponent, TaonCmsTagAbstractContext, TaonCmsTagApiService, TaonCmsTagController, TaonCmsTagDefaultsValues, TaonCmsTagEntity, TaonCmsTagMiddleware, TaonCmsTagProvider, TaonCmsTagRepository, TaonCmsTagState, TaonCmsTagSubscriber, TaonCmsTagUtils__NS__isActive, TaonCmsTagsBackofficeRoutes, TaonCmsTaxonomyBackofficeComponent, TaonRelatedPostChooserComponent, TaonSessionCoreGroups, TaonSessionCorePermissions, TaonSessionCoreRoles, contentError, defaultThumbnailKey, defaultThumbnailUrl, generateVideoThumbnail, requireContentId, requireContentVersion, startCli, trackCmsUpload, validateCategoryHierarchy, validateContentInput, validateTaxonomy, visiblePixelRatio };
3923
6135
  //# sourceMappingURL=cms-browser-prod.mjs.map