@taon-dev/cms 21.0.16 → 21.0.17

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 (2083) 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-BRUu0gBW.mjs +31 -0
  3. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.html.de-DE.i18n.data-BRUu0gBW.mjs.map +1 -0
  4. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.html.en-US.i18n.data-B9wMX_EY.mjs +31 -0
  5. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.html.en-US.i18n.data-B9wMX_EY.mjs.map +1 -0
  6. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.html.pl-PL.i18n.data-xbwXUXYs.mjs +31 -0
  7. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.html.pl-PL.i18n.data-xbwXUXYs.mjs.map +1 -0
  8. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.ts.de-DE.i18n.data-BRZcYMCv.mjs +21 -0
  9. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.ts.de-DE.i18n.data-BRZcYMCv.mjs.map +1 -0
  10. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.ts.en-US.i18n.data-CLtlIZzx.mjs +21 -0
  11. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.ts.en-US.i18n.data-CLtlIZzx.mjs.map +1 -0
  12. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-CPExkT3k.mjs +21 -0
  13. package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-CPExkT3k.mjs.map +1 -0
  14. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-Brmp2jOd.mjs +26 -0
  15. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-Brmp2jOd.mjs.map +1 -0
  16. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.html.en-US.i18n.data-Dd97eKL6.mjs +26 -0
  17. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.html.en-US.i18n.data-Dd97eKL6.mjs.map +1 -0
  18. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-Bhajq1qM.mjs +26 -0
  19. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-Bhajq1qM.mjs.map +1 -0
  20. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-Cxv1uL_y.mjs +26 -0
  21. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-Cxv1uL_y.mjs.map +1 -0
  22. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-Isn8nVdY.mjs +26 -0
  23. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-Isn8nVdY.mjs.map +1 -0
  24. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-DZQ_dWB0.mjs +26 -0
  25. package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-DZQ_dWB0.mjs.map +1 -0
  26. package/browser/fesm2022/cms-browser-taon-cms-backoffice.component.html.de-DE.i18n.data-DQollWm9.mjs +16 -0
  27. package/browser/fesm2022/cms-browser-taon-cms-backoffice.component.html.de-DE.i18n.data-DQollWm9.mjs.map +1 -0
  28. package/browser/fesm2022/cms-browser-taon-cms-backoffice.component.html.en-US.i18n.data-B6WD9PJf.mjs +16 -0
  29. package/browser/fesm2022/cms-browser-taon-cms-backoffice.component.html.en-US.i18n.data-B6WD9PJf.mjs.map +1 -0
  30. package/browser/fesm2022/cms-browser-taon-cms-backoffice.component.html.pl-PL.i18n.data-CkJQRqG3.mjs +16 -0
  31. package/browser/fesm2022/cms-browser-taon-cms-backoffice.component.html.pl-PL.i18n.data-CkJQRqG3.mjs.map +1 -0
  32. package/browser/fesm2022/cms-browser-taon-cms-backoffice.component.ts.de-DE.i18n.data-DzBHONcQ.mjs +10 -0
  33. package/browser/fesm2022/cms-browser-taon-cms-backoffice.component.ts.de-DE.i18n.data-DzBHONcQ.mjs.map +1 -0
  34. package/browser/fesm2022/cms-browser-taon-cms-backoffice.component.ts.en-US.i18n.data-eTouqefi.mjs +10 -0
  35. package/browser/fesm2022/cms-browser-taon-cms-backoffice.component.ts.en-US.i18n.data-eTouqefi.mjs.map +1 -0
  36. package/browser/fesm2022/cms-browser-taon-cms-backoffice.component.ts.pl-PL.i18n.data-C8tsBZCu.mjs +10 -0
  37. package/browser/fesm2022/cms-browser-taon-cms-backoffice.component.ts.pl-PL.i18n.data-C8tsBZCu.mjs.map +1 -0
  38. package/browser/fesm2022/cms-browser-taon-cms-backoffice.routes.ts.de-DE.i18n.data-DLee8IHp.mjs +21 -0
  39. package/browser/fesm2022/cms-browser-taon-cms-backoffice.routes.ts.de-DE.i18n.data-DLee8IHp.mjs.map +1 -0
  40. package/browser/fesm2022/cms-browser-taon-cms-backoffice.routes.ts.en-US.i18n.data-Bm9mDdSW.mjs +21 -0
  41. package/browser/fesm2022/cms-browser-taon-cms-backoffice.routes.ts.en-US.i18n.data-Bm9mDdSW.mjs.map +1 -0
  42. package/browser/fesm2022/cms-browser-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-DlhV8M8I.mjs +21 -0
  43. package/browser/fesm2022/cms-browser-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-DlhV8M8I.mjs.map +1 -0
  44. package/browser/fesm2022/cms-browser-taon-cms-post-details-page.component.ts.de-DE.i18n.data-C3nWxKN2.mjs +16 -0
  45. package/browser/fesm2022/cms-browser-taon-cms-post-details-page.component.ts.de-DE.i18n.data-C3nWxKN2.mjs.map +1 -0
  46. package/browser/fesm2022/cms-browser-taon-cms-post-details-page.component.ts.en-US.i18n.data-CzHUdCUx.mjs +16 -0
  47. package/browser/fesm2022/cms-browser-taon-cms-post-details-page.component.ts.en-US.i18n.data-CzHUdCUx.mjs.map +1 -0
  48. package/browser/fesm2022/cms-browser-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-BGjfwt-R.mjs +16 -0
  49. package/browser/fesm2022/cms-browser-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-BGjfwt-R.mjs.map +1 -0
  50. package/browser/fesm2022/cms-browser-taon-cms-post-edit-dialog.component.html.de-DE.i18n.data-Dz5ZLwgG.mjs +21 -0
  51. package/browser/fesm2022/cms-browser-taon-cms-post-edit-dialog.component.html.de-DE.i18n.data-Dz5ZLwgG.mjs.map +1 -0
  52. package/browser/fesm2022/cms-browser-taon-cms-post-edit-dialog.component.html.en-US.i18n.data-Z28o4CQK.mjs +21 -0
  53. package/browser/fesm2022/cms-browser-taon-cms-post-edit-dialog.component.html.en-US.i18n.data-Z28o4CQK.mjs.map +1 -0
  54. package/browser/fesm2022/cms-browser-taon-cms-post-edit-dialog.component.html.pl-PL.i18n.data-Buh1Pgyd.mjs +21 -0
  55. package/browser/fesm2022/cms-browser-taon-cms-post-edit-dialog.component.html.pl-PL.i18n.data-Buh1Pgyd.mjs.map +1 -0
  56. package/browser/fesm2022/cms-browser-taon-cms-post-edit-dialog.component.ts.de-DE.i18n.data-D2I8Zux6.mjs +10 -0
  57. package/browser/fesm2022/cms-browser-taon-cms-post-edit-dialog.component.ts.de-DE.i18n.data-D2I8Zux6.mjs.map +1 -0
  58. package/browser/fesm2022/cms-browser-taon-cms-post-edit-dialog.component.ts.en-US.i18n.data-CNV_wiqy.mjs +10 -0
  59. package/browser/fesm2022/cms-browser-taon-cms-post-edit-dialog.component.ts.en-US.i18n.data-CNV_wiqy.mjs.map +1 -0
  60. package/browser/fesm2022/cms-browser-taon-cms-post-edit-dialog.component.ts.pl-PL.i18n.data-B3XPzty6.mjs +10 -0
  61. package/browser/fesm2022/cms-browser-taon-cms-post-edit-dialog.component.ts.pl-PL.i18n.data-B3XPzty6.mjs.map +1 -0
  62. package/browser/fesm2022/cms-browser-taon-cms-post.component.html.de-DE.i18n.data-De6Bh8tQ.mjs +256 -0
  63. package/browser/fesm2022/cms-browser-taon-cms-post.component.html.de-DE.i18n.data-De6Bh8tQ.mjs.map +1 -0
  64. package/browser/fesm2022/cms-browser-taon-cms-post.component.html.en-US.i18n.data-D9qrP_0l.mjs +256 -0
  65. package/browser/fesm2022/cms-browser-taon-cms-post.component.html.en-US.i18n.data-D9qrP_0l.mjs.map +1 -0
  66. package/browser/fesm2022/cms-browser-taon-cms-post.component.html.pl-PL.i18n.data-CiEXim8A.mjs +256 -0
  67. package/browser/fesm2022/cms-browser-taon-cms-post.component.html.pl-PL.i18n.data-CiEXim8A.mjs.map +1 -0
  68. package/browser/fesm2022/cms-browser-taon-cms-post.component.ts.de-DE.i18n.data-DaC7IYoM.mjs +146 -0
  69. package/browser/fesm2022/cms-browser-taon-cms-post.component.ts.de-DE.i18n.data-DaC7IYoM.mjs.map +1 -0
  70. package/browser/fesm2022/cms-browser-taon-cms-post.component.ts.en-US.i18n.data-BbpIRzgh.mjs +143 -0
  71. package/browser/fesm2022/cms-browser-taon-cms-post.component.ts.en-US.i18n.data-BbpIRzgh.mjs.map +1 -0
  72. package/browser/fesm2022/cms-browser-taon-cms-post.component.ts.pl-PL.i18n.data-Cqy96DQS.mjs +146 -0
  73. package/browser/fesm2022/cms-browser-taon-cms-post.component.ts.pl-PL.i18n.data-Cqy96DQS.mjs.map +1 -0
  74. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-CmScO4Pm.mjs +21 -0
  75. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-CmScO4Pm.mjs.map +1 -0
  76. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.html.en-US.i18n.data-IKL7BZHV.mjs +21 -0
  77. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.html.en-US.i18n.data-IKL7BZHV.mjs.map +1 -0
  78. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-BCMo1HVU.mjs +21 -0
  79. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-BCMo1HVU.mjs.map +1 -0
  80. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-C1EPeAaF.mjs +66 -0
  81. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-C1EPeAaF.mjs.map +1 -0
  82. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-C2t8zwda.mjs +66 -0
  83. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-C2t8zwda.mjs.map +1 -0
  84. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-Xehy4KUW.mjs +66 -0
  85. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-Xehy4KUW.mjs.map +1 -0
  86. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-CSwq8etN.mjs +21 -0
  87. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-CSwq8etN.mjs.map +1 -0
  88. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-ayYFXvcP.mjs +21 -0
  89. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-ayYFXvcP.mjs.map +1 -0
  90. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-BZf6TtRS.mjs +21 -0
  91. package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-BZf6TtRS.mjs.map +1 -0
  92. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.html.de-DE.i18n.data-BK56qNSN.mjs +71 -0
  93. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.html.de-DE.i18n.data-BK56qNSN.mjs.map +1 -0
  94. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.html.en-US.i18n.data-CM--GhdT.mjs +71 -0
  95. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.html.en-US.i18n.data-CM--GhdT.mjs.map +1 -0
  96. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-UyfsZV2_.mjs +71 -0
  97. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-UyfsZV2_.mjs.map +1 -0
  98. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-C8Amkua1.mjs +26 -0
  99. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-C8Amkua1.mjs.map +1 -0
  100. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.ts.en-US.i18n.data-Q_yYYlqT.mjs +26 -0
  101. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.ts.en-US.i18n.data-Q_yYYlqT.mjs.map +1 -0
  102. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-DS71Bpee.mjs +26 -0
  103. package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-DS71Bpee.mjs.map +1 -0
  104. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.html.de-DE.i18n.data-DMbpeMp0.mjs +46 -0
  105. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.html.de-DE.i18n.data-DMbpeMp0.mjs.map +1 -0
  106. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.html.en-US.i18n.data-DqaSwCos.mjs +46 -0
  107. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.html.en-US.i18n.data-DqaSwCos.mjs.map +1 -0
  108. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.html.pl-PL.i18n.data-UwIwklnz.mjs +46 -0
  109. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.html.pl-PL.i18n.data-UwIwklnz.mjs.map +1 -0
  110. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.ts.de-DE.i18n.data-DaAVLmDB.mjs +21 -0
  111. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.ts.de-DE.i18n.data-DaAVLmDB.mjs.map +1 -0
  112. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.ts.en-US.i18n.data-BHozuByI.mjs +21 -0
  113. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.ts.en-US.i18n.data-BHozuByI.mjs.map +1 -0
  114. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.ts.pl-PL.i18n.data-CVbRXbCE.mjs +21 -0
  115. package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.ts.pl-PL.i18n.data-CVbRXbCE.mjs.map +1 -0
  116. package/browser/fesm2022/cms-browser.mjs +1451 -324
  117. package/browser/fesm2022/cms-browser.mjs.map +1 -1
  118. package/browser/package.json +1 -1
  119. package/browser/types/cms-browser.d.ts +247 -122
  120. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-BRUu0gBW.mjs +31 -0
  121. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-BRUu0gBW.mjs.map +1 -0
  122. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.html.en-US.i18n.data-B9wMX_EY.mjs +31 -0
  123. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.html.en-US.i18n.data-B9wMX_EY.mjs.map +1 -0
  124. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-xbwXUXYs.mjs +31 -0
  125. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-xbwXUXYs.mjs.map +1 -0
  126. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-BRZcYMCv.mjs +21 -0
  127. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-BRZcYMCv.mjs.map +1 -0
  128. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.ts.en-US.i18n.data-CLtlIZzx.mjs +21 -0
  129. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.ts.en-US.i18n.data-CLtlIZzx.mjs.map +1 -0
  130. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-CPExkT3k.mjs +21 -0
  131. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-CPExkT3k.mjs.map +1 -0
  132. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-Brmp2jOd.mjs +26 -0
  133. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-Brmp2jOd.mjs.map +1 -0
  134. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.html.en-US.i18n.data-Dd97eKL6.mjs +26 -0
  135. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.html.en-US.i18n.data-Dd97eKL6.mjs.map +1 -0
  136. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-Bhajq1qM.mjs +26 -0
  137. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-Bhajq1qM.mjs.map +1 -0
  138. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-Cxv1uL_y.mjs +26 -0
  139. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-Cxv1uL_y.mjs.map +1 -0
  140. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-Isn8nVdY.mjs +26 -0
  141. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-Isn8nVdY.mjs.map +1 -0
  142. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-DZQ_dWB0.mjs +26 -0
  143. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-DZQ_dWB0.mjs.map +1 -0
  144. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.component.html.de-DE.i18n.data-DQollWm9.mjs +16 -0
  145. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.component.html.de-DE.i18n.data-DQollWm9.mjs.map +1 -0
  146. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.component.html.en-US.i18n.data-B6WD9PJf.mjs +16 -0
  147. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.component.html.en-US.i18n.data-B6WD9PJf.mjs.map +1 -0
  148. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.component.html.pl-PL.i18n.data-CkJQRqG3.mjs +16 -0
  149. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.component.html.pl-PL.i18n.data-CkJQRqG3.mjs.map +1 -0
  150. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.component.ts.de-DE.i18n.data-DzBHONcQ.mjs +10 -0
  151. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.component.ts.de-DE.i18n.data-DzBHONcQ.mjs.map +1 -0
  152. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.component.ts.en-US.i18n.data-eTouqefi.mjs +10 -0
  153. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.component.ts.en-US.i18n.data-eTouqefi.mjs.map +1 -0
  154. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.component.ts.pl-PL.i18n.data-C8tsBZCu.mjs +10 -0
  155. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.component.ts.pl-PL.i18n.data-C8tsBZCu.mjs.map +1 -0
  156. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-DLee8IHp.mjs +21 -0
  157. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-DLee8IHp.mjs.map +1 -0
  158. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-Bm9mDdSW.mjs +21 -0
  159. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-Bm9mDdSW.mjs.map +1 -0
  160. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-DlhV8M8I.mjs +21 -0
  161. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-DlhV8M8I.mjs.map +1 -0
  162. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-details-page.component.ts.de-DE.i18n.data-C3nWxKN2.mjs +16 -0
  163. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-details-page.component.ts.de-DE.i18n.data-C3nWxKN2.mjs.map +1 -0
  164. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-details-page.component.ts.en-US.i18n.data-CzHUdCUx.mjs +16 -0
  165. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-details-page.component.ts.en-US.i18n.data-CzHUdCUx.mjs.map +1 -0
  166. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-BGjfwt-R.mjs +16 -0
  167. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-BGjfwt-R.mjs.map +1 -0
  168. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-edit-dialog.component.html.de-DE.i18n.data-Dz5ZLwgG.mjs +21 -0
  169. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-edit-dialog.component.html.de-DE.i18n.data-Dz5ZLwgG.mjs.map +1 -0
  170. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-edit-dialog.component.html.en-US.i18n.data-Z28o4CQK.mjs +21 -0
  171. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-edit-dialog.component.html.en-US.i18n.data-Z28o4CQK.mjs.map +1 -0
  172. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-edit-dialog.component.html.pl-PL.i18n.data-Buh1Pgyd.mjs +21 -0
  173. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-edit-dialog.component.html.pl-PL.i18n.data-Buh1Pgyd.mjs.map +1 -0
  174. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-edit-dialog.component.ts.de-DE.i18n.data-D2I8Zux6.mjs +10 -0
  175. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-edit-dialog.component.ts.de-DE.i18n.data-D2I8Zux6.mjs.map +1 -0
  176. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-edit-dialog.component.ts.en-US.i18n.data-CNV_wiqy.mjs +10 -0
  177. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-edit-dialog.component.ts.en-US.i18n.data-CNV_wiqy.mjs.map +1 -0
  178. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-edit-dialog.component.ts.pl-PL.i18n.data-B3XPzty6.mjs +10 -0
  179. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-edit-dialog.component.ts.pl-PL.i18n.data-B3XPzty6.mjs.map +1 -0
  180. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.de-DE.i18n.data-De6Bh8tQ.mjs +256 -0
  181. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.de-DE.i18n.data-De6Bh8tQ.mjs.map +1 -0
  182. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.en-US.i18n.data-D9qrP_0l.mjs +256 -0
  183. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.en-US.i18n.data-D9qrP_0l.mjs.map +1 -0
  184. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.pl-PL.i18n.data-CiEXim8A.mjs +256 -0
  185. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.pl-PL.i18n.data-CiEXim8A.mjs.map +1 -0
  186. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.de-DE.i18n.data-DaC7IYoM.mjs +146 -0
  187. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.de-DE.i18n.data-DaC7IYoM.mjs.map +1 -0
  188. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.en-US.i18n.data-BbpIRzgh.mjs +143 -0
  189. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.en-US.i18n.data-BbpIRzgh.mjs.map +1 -0
  190. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.pl-PL.i18n.data-Cqy96DQS.mjs +146 -0
  191. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.pl-PL.i18n.data-Cqy96DQS.mjs.map +1 -0
  192. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-CmScO4Pm.mjs +21 -0
  193. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-CmScO4Pm.mjs.map +1 -0
  194. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.html.en-US.i18n.data-IKL7BZHV.mjs +21 -0
  195. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.html.en-US.i18n.data-IKL7BZHV.mjs.map +1 -0
  196. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-BCMo1HVU.mjs +21 -0
  197. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-BCMo1HVU.mjs.map +1 -0
  198. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-C1EPeAaF.mjs +66 -0
  199. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-C1EPeAaF.mjs.map +1 -0
  200. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-C2t8zwda.mjs +66 -0
  201. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-C2t8zwda.mjs.map +1 -0
  202. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-Xehy4KUW.mjs +66 -0
  203. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-Xehy4KUW.mjs.map +1 -0
  204. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-CSwq8etN.mjs +21 -0
  205. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-CSwq8etN.mjs.map +1 -0
  206. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-ayYFXvcP.mjs +21 -0
  207. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-ayYFXvcP.mjs.map +1 -0
  208. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-BZf6TtRS.mjs +21 -0
  209. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-BZf6TtRS.mjs.map +1 -0
  210. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.html.de-DE.i18n.data-BK56qNSN.mjs +71 -0
  211. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.html.de-DE.i18n.data-BK56qNSN.mjs.map +1 -0
  212. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.html.en-US.i18n.data-CM--GhdT.mjs +71 -0
  213. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.html.en-US.i18n.data-CM--GhdT.mjs.map +1 -0
  214. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-UyfsZV2_.mjs +71 -0
  215. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-UyfsZV2_.mjs.map +1 -0
  216. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-C8Amkua1.mjs +26 -0
  217. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-C8Amkua1.mjs.map +1 -0
  218. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.ts.en-US.i18n.data-Q_yYYlqT.mjs +26 -0
  219. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.ts.en-US.i18n.data-Q_yYYlqT.mjs.map +1 -0
  220. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-DS71Bpee.mjs +26 -0
  221. package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-DS71Bpee.mjs.map +1 -0
  222. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.html.de-DE.i18n.data-DMbpeMp0.mjs +46 -0
  223. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.html.de-DE.i18n.data-DMbpeMp0.mjs.map +1 -0
  224. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.html.en-US.i18n.data-DqaSwCos.mjs +46 -0
  225. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.html.en-US.i18n.data-DqaSwCos.mjs.map +1 -0
  226. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.html.pl-PL.i18n.data-UwIwklnz.mjs +46 -0
  227. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.html.pl-PL.i18n.data-UwIwklnz.mjs.map +1 -0
  228. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.ts.de-DE.i18n.data-DaAVLmDB.mjs +21 -0
  229. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.ts.de-DE.i18n.data-DaAVLmDB.mjs.map +1 -0
  230. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.ts.en-US.i18n.data-BHozuByI.mjs +21 -0
  231. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.ts.en-US.i18n.data-BHozuByI.mjs.map +1 -0
  232. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.ts.pl-PL.i18n.data-CVbRXbCE.mjs +21 -0
  233. package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.ts.pl-PL.i18n.data-CVbRXbCE.mjs.map +1 -0
  234. package/browser-prod/fesm2022/cms-browser-prod.mjs +1451 -324
  235. package/browser-prod/fesm2022/cms-browser-prod.mjs.map +1 -1
  236. package/browser-prod/package.json +1 -1
  237. package/browser-prod/types/cms-browser-prod.d.ts +247 -122
  238. package/full-dts/build-info._auto-generated_.d.ts +1 -1
  239. package/full-dts/decorators/taon-cms-authorization.d.ts +4 -0
  240. package/full-dts/index._auto-generated_.d.ts +2 -0
  241. package/full-dts/migrations/1792579000000_postPermissionInheritance.d.ts +7 -0
  242. package/full-dts/migrations/index.d.ts +7 -1
  243. package/full-dts/migrations/migrations_index._auto-generated_.d.ts +2 -0
  244. package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.d.ts +20 -0
  245. package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.d.ts +20 -0
  246. package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.d.ts +20 -0
  247. package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.d.ts +18 -0
  248. package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.d.ts +18 -0
  249. package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.d.ts +18 -0
  250. package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.d.ts +19 -0
  251. package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.d.ts +19 -0
  252. package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.d.ts +19 -0
  253. package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.d.ts +19 -0
  254. package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.d.ts +19 -0
  255. package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.d.ts +19 -0
  256. package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.d.ts +15 -0
  257. package/full-dts/taon-cms-assets-backoffice/taon-cms-asset-preview.component.d.ts +17 -0
  258. package/full-dts/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.d.ts +15 -6
  259. package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.d.ts +17 -0
  260. package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.d.ts +17 -0
  261. package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.d.ts +17 -0
  262. package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.d.ts +9 -0
  263. package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.d.ts +9 -0
  264. package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.d.ts +9 -0
  265. package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.d.ts +18 -0
  266. package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.d.ts +18 -0
  267. package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.d.ts +18 -0
  268. package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.d.ts +12 -0
  269. package/full-dts/taon-cms-backoffice/taon-cms-backoffice.component.d.ts +2 -0
  270. package/full-dts/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.d.ts +17 -0
  271. package/full-dts/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.d.ts +17 -0
  272. package/full-dts/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.d.ts +17 -0
  273. package/full-dts/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.d.ts +22 -0
  274. package/full-dts/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.d.ts +6 -0
  275. package/full-dts/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.d.ts +6 -0
  276. package/full-dts/taon-cms-content/i18n/taon-cms-content.translation.d.ts +5 -1
  277. package/full-dts/taon-cms-content/taon-cms-content-api.service.d.ts +18 -2
  278. package/full-dts/taon-cms-content/taon-cms-content-storage.controller.d.ts +24 -4
  279. package/full-dts/taon-cms-content/taon-cms-content.controller.d.ts +11 -1
  280. package/full-dts/taon-cms-content/taon-cms-content.entity.d.ts +1 -0
  281. package/full-dts/taon-cms-content/taon-cms-content.models.d.ts +9 -0
  282. package/full-dts/taon-cms-content/taon-cms-content.repository.d.ts +8 -1
  283. package/full-dts/taon-cms-content/taon-cms-upload-progress.d.ts +2 -0
  284. package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.d.ts +57 -0
  285. package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.d.ts +57 -0
  286. package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.d.ts +57 -0
  287. package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.d.ts +42 -0
  288. package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.d.ts +46 -0
  289. package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.d.ts +42 -0
  290. package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.d.ts +9 -0
  291. package/full-dts/taon-posts/taon-cms-post/taon-cms-post.component.d.ts +29 -6
  292. 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
  293. 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
  294. 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
  295. package/full-dts/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.d.ts +6 -0
  296. package/full-dts/taon-posts/taon-cms-post-details-page/taon-cms-post-details-page.component.d.ts +2 -0
  297. package/full-dts/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.de-DE.i18n.data.d.ts +18 -0
  298. package/full-dts/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.en-US.i18n.data.d.ts +18 -0
  299. package/full-dts/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.pl-PL.i18n.data.d.ts +18 -0
  300. package/full-dts/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.de-DE.i18n.data.d.ts +9 -0
  301. package/full-dts/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.en-US.i18n.data.d.ts +9 -0
  302. package/full-dts/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.pl-PL.i18n.data.d.ts +9 -0
  303. package/full-dts/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.translation.d.ts +9 -0
  304. package/full-dts/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.d.ts +2 -0
  305. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.d.ts +18 -0
  306. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.d.ts +18 -0
  307. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.d.ts +18 -0
  308. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.d.ts +27 -0
  309. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.d.ts +27 -0
  310. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.d.ts +27 -0
  311. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.d.ts +18 -0
  312. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.d.ts +18 -0
  313. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.d.ts +18 -0
  314. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.d.ts +12 -0
  315. package/full-dts/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.d.ts +2 -0
  316. package/full-dts/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.d.ts +27 -0
  317. package/full-dts/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.d.ts +27 -0
  318. package/full-dts/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.d.ts +27 -0
  319. package/full-dts/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.d.ts +19 -0
  320. package/full-dts/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.d.ts +19 -0
  321. package/full-dts/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.d.ts +19 -0
  322. package/full-dts/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.d.ts +9 -0
  323. package/full-dts/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.d.ts +2 -0
  324. package/full-dts/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.d.ts +22 -0
  325. package/full-dts/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.d.ts +22 -0
  326. package/full-dts/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.d.ts +22 -0
  327. package/full-dts/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.d.ts +18 -0
  328. package/full-dts/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.d.ts +18 -0
  329. package/full-dts/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.d.ts +18 -0
  330. package/full-dts/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.d.ts +9 -0
  331. package/full-dts/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.d.ts +2 -0
  332. package/html/app/baseline-backoffice/taon-baseline-backoffice.component.html +2 -2
  333. package/html/app/cms-example/cms-example.component.html +1 -1
  334. package/html/app/session-example/session-example.component.html +1 -1
  335. package/html/lib/taon-cms-assets-backoffice/taon-cms-asset-preview.component.html +44 -0
  336. package/html/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html +29 -0
  337. package/html/lib/taon-cms-backoffice/taon-cms-backoffice.component.html +3 -1
  338. package/html/lib/taon-posts/taon-cms-post/taon-cms-post.component.html +391 -92
  339. package/html/lib/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.html +9 -2
  340. package/html/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.html +2 -2
  341. package/html/lib/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.html +55 -14
  342. package/html/lib/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.html +40 -11
  343. package/i18n/app.ts.de-DE.i18n.data.d.ts +38 -0
  344. package/i18n/app.ts.de-DE.i18n.data.js +2 -0
  345. package/i18n/app.ts.de-DE.i18n.data.js.map +1 -0
  346. package/i18n/app.ts.en-US.i18n.data.d.ts +10 -0
  347. package/i18n/app.ts.pl-PL.i18n.data.d.ts +10 -0
  348. package/i18n/src.translation.d.ts +2 -1
  349. package/lib/build-info._auto-generated_.d.ts +1 -1
  350. package/lib/build-info._auto-generated_.js +1 -1
  351. package/lib/decorators/taon-cms-authorization.d.ts +4 -0
  352. package/lib/decorators/taon-cms-authorization.js +10 -0
  353. package/lib/decorators/taon-cms-authorization.js.map +1 -1
  354. package/lib/index._auto-generated_.d.ts +1 -0
  355. package/lib/index._auto-generated_.js +2 -0
  356. package/lib/index._auto-generated_.js.map +1 -1
  357. package/lib/migrations/1792579000000_postPermissionInheritance.d.ts +6 -0
  358. package/lib/migrations/1792579000000_postPermissionInheritance.js +37 -0
  359. package/lib/migrations/1792579000000_postPermissionInheritance.js.map +1 -0
  360. package/lib/migrations/index.d.ts +6 -0
  361. package/lib/migrations/index.js +8 -0
  362. package/lib/migrations/index.js.map +1 -1
  363. package/lib/migrations/migrations_index._auto-generated_.d.ts +2 -0
  364. package/lib/migrations/migrations_index._auto-generated_.js +2 -0
  365. package/lib/migrations/migrations_index._auto-generated_.js.map +1 -1
  366. package/lib/package.json +1 -1
  367. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.d.ts +19 -0
  368. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.js +31 -0
  369. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.js.map +1 -0
  370. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.d.ts +19 -0
  371. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.js +31 -0
  372. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.js.map +1 -0
  373. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.d.ts +19 -0
  374. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.js +31 -0
  375. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.js.map +1 -0
  376. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.d.ts +17 -0
  377. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.js +21 -0
  378. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.js.map +1 -0
  379. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.d.ts +17 -0
  380. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.js +21 -0
  381. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.js.map +1 -0
  382. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.d.ts +17 -0
  383. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.js +21 -0
  384. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.js.map +1 -0
  385. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.d.ts +18 -0
  386. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.js +26 -0
  387. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
  388. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.d.ts +18 -0
  389. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.js +26 -0
  390. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.js.map +1 -0
  391. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.d.ts +18 -0
  392. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.js +26 -0
  393. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
  394. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.d.ts +18 -0
  395. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.js +26 -0
  396. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
  397. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.d.ts +18 -0
  398. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.js +26 -0
  399. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
  400. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.d.ts +18 -0
  401. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.js +26 -0
  402. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
  403. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.d.ts +14 -0
  404. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.js +5 -0
  405. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.js.map +1 -0
  406. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.d.ts +16 -0
  407. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.js +16 -0
  408. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
  409. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.d.ts +16 -0
  410. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.js +16 -0
  411. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.js.map +1 -0
  412. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.d.ts +16 -0
  413. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.js +16 -0
  414. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
  415. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.d.ts +8 -0
  416. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.js +10 -0
  417. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
  418. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.d.ts +8 -0
  419. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.js +10 -0
  420. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
  421. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.d.ts +8 -0
  422. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.js +10 -0
  423. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
  424. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.d.ts +17 -0
  425. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.js +21 -0
  426. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.js.map +1 -0
  427. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.d.ts +17 -0
  428. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.js +21 -0
  429. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.js.map +1 -0
  430. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.d.ts +17 -0
  431. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.js +21 -0
  432. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.js.map +1 -0
  433. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.d.ts +11 -0
  434. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.js +5 -0
  435. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.js.map +1 -0
  436. package/lib/taon-cms-backoffice/index.d.ts +1 -1
  437. package/lib/taon-cms-backoffice/index.js +2 -2
  438. package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.d.ts +16 -0
  439. package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.js +16 -0
  440. package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.js.map +1 -0
  441. package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.d.ts +16 -0
  442. package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.js +16 -0
  443. package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.js.map +1 -0
  444. package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.d.ts +16 -0
  445. package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.js +16 -0
  446. package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.js.map +1 -0
  447. package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.d.ts +21 -0
  448. package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.js +41 -0
  449. package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.js.map +1 -0
  450. package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.d.ts +6 -0
  451. package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.js +27 -1
  452. package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.js.map +1 -1
  453. package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.d.ts +6 -0
  454. package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.js +27 -1
  455. package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.js.map +1 -1
  456. package/lib/taon-cms-content/i18n/taon-cms-content.translation.d.ts +5 -1
  457. package/lib/taon-cms-content/i18n/taon-cms-content.translation.js.map +1 -1
  458. package/lib/taon-cms-content/taon-cms-content-storage.controller.d.ts +24 -4
  459. package/lib/taon-cms-content/taon-cms-content-storage.controller.js +103 -10
  460. package/lib/taon-cms-content/taon-cms-content-storage.controller.js.map +1 -1
  461. package/lib/taon-cms-content/taon-cms-content.controller.d.ts +11 -1
  462. package/lib/taon-cms-content/taon-cms-content.controller.js +222 -4
  463. package/lib/taon-cms-content/taon-cms-content.controller.js.map +1 -1
  464. package/lib/taon-cms-content/taon-cms-content.entity.d.ts +1 -0
  465. package/lib/taon-cms-content/taon-cms-content.entity.js +9 -0
  466. package/lib/taon-cms-content/taon-cms-content.entity.js.map +1 -1
  467. package/lib/taon-cms-content/taon-cms-content.models.d.ts +10 -1
  468. package/lib/taon-cms-content/taon-cms-content.models.js.map +1 -1
  469. package/lib/taon-cms-content/taon-cms-content.repository.d.ts +8 -1
  470. package/lib/taon-cms-content/taon-cms-content.repository.js +144 -10
  471. package/lib/taon-cms-content/taon-cms-content.repository.js.map +1 -1
  472. package/lib/taon-cms-content/taon-cms-content.validation.js +9 -1
  473. package/lib/taon-cms-content/taon-cms-content.validation.js.map +1 -1
  474. package/lib/taon-cms-content/taon-cms-upload-progress.d.ts +1 -0
  475. package/lib/taon-cms-content/taon-cms-upload-progress.js +80 -0
  476. package/lib/taon-cms-content/taon-cms-upload-progress.js.map +1 -0
  477. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.d.ts +56 -0
  478. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.js +256 -0
  479. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.js.map +1 -0
  480. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.d.ts +56 -0
  481. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.js +256 -0
  482. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.js.map +1 -0
  483. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.d.ts +56 -0
  484. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.js +256 -0
  485. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.js.map +1 -0
  486. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.d.ts +41 -0
  487. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.js +146 -0
  488. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.js.map +1 -0
  489. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.d.ts +45 -0
  490. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.js +143 -0
  491. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.js.map +1 -0
  492. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.d.ts +41 -0
  493. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.js +146 -0
  494. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.js.map +1 -0
  495. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.d.ts +8 -0
  496. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.js +5 -0
  497. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.js.map +1 -0
  498. package/lib/taon-posts/taon-cms-post/index.d.ts +1 -1
  499. package/lib/taon-posts/taon-cms-post/index.js +2 -2
  500. 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
  501. package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.i18n.data.js +16 -0
  502. 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
  503. 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
  504. package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.en-US.i18n.data.js +16 -0
  505. 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
  506. 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
  507. package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.i18n.data.js +16 -0
  508. 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
  509. package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.d.ts +5 -0
  510. package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.js +5 -0
  511. package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.js.map +1 -0
  512. package/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.de-DE.i18n.data.d.ts +17 -0
  513. package/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.de-DE.i18n.data.js +21 -0
  514. package/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.de-DE.i18n.data.js.map +1 -0
  515. package/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.en-US.i18n.data.d.ts +17 -0
  516. package/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.en-US.i18n.data.js +21 -0
  517. package/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.en-US.i18n.data.js.map +1 -0
  518. package/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.pl-PL.i18n.data.d.ts +17 -0
  519. package/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.pl-PL.i18n.data.js +21 -0
  520. package/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.pl-PL.i18n.data.js.map +1 -0
  521. package/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.de-DE.i18n.data.d.ts +8 -0
  522. package/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.de-DE.i18n.data.js +10 -0
  523. package/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.de-DE.i18n.data.js.map +1 -0
  524. package/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.en-US.i18n.data.d.ts +8 -0
  525. package/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.en-US.i18n.data.js +10 -0
  526. package/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.en-US.i18n.data.js.map +1 -0
  527. package/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.pl-PL.i18n.data.d.ts +8 -0
  528. package/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.pl-PL.i18n.data.js +10 -0
  529. package/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.pl-PL.i18n.data.js.map +1 -0
  530. package/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.translation.d.ts +8 -0
  531. package/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.translation.js +5 -0
  532. package/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.translation.js.map +1 -0
  533. package/lib/taon-posts/taon-cms-post-edit-dialog/index.d.ts +1 -1
  534. package/lib/taon-posts/taon-cms-post-edit-dialog/index.js +2 -2
  535. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.d.ts +17 -0
  536. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.js +21 -0
  537. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
  538. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.d.ts +17 -0
  539. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.js +21 -0
  540. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.js.map +1 -0
  541. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.d.ts +17 -0
  542. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.js +21 -0
  543. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
  544. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.d.ts +26 -0
  545. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.js +66 -0
  546. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
  547. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.d.ts +26 -0
  548. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.js +66 -0
  549. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
  550. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.d.ts +26 -0
  551. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.js +66 -0
  552. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
  553. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.d.ts +17 -0
  554. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.js +21 -0
  555. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.js.map +1 -0
  556. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.d.ts +17 -0
  557. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.js +21 -0
  558. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.js.map +1 -0
  559. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.d.ts +17 -0
  560. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.js +21 -0
  561. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.js.map +1 -0
  562. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.d.ts +11 -0
  563. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.js +5 -0
  564. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.js.map +1 -0
  565. package/lib/taon-posts/taon-cms-posts-backoffice/index.d.ts +1 -1
  566. package/lib/taon-posts/taon-cms-posts-backoffice/index.js +2 -2
  567. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.d.ts +26 -0
  568. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.js +71 -0
  569. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.js.map +1 -0
  570. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.d.ts +26 -0
  571. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.js +71 -0
  572. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.js.map +1 -0
  573. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.d.ts +26 -0
  574. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.js +71 -0
  575. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.js.map +1 -0
  576. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.d.ts +18 -0
  577. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.js +26 -0
  578. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.js.map +1 -0
  579. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.d.ts +18 -0
  580. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.js +26 -0
  581. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.js.map +1 -0
  582. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.d.ts +18 -0
  583. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.js +26 -0
  584. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.js.map +1 -0
  585. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.d.ts +8 -0
  586. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.js +5 -0
  587. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.js.map +1 -0
  588. package/lib/taon-posts/taon-cms-revision-chooser/index.d.ts +1 -1
  589. package/lib/taon-posts/taon-cms-revision-chooser/index.js +2 -2
  590. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.d.ts +21 -0
  591. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.js +46 -0
  592. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.js.map +1 -0
  593. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.d.ts +21 -0
  594. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.js +46 -0
  595. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.js.map +1 -0
  596. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.d.ts +21 -0
  597. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.js +46 -0
  598. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.js.map +1 -0
  599. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.d.ts +17 -0
  600. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.js +21 -0
  601. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.js.map +1 -0
  602. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.d.ts +17 -0
  603. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.js +21 -0
  604. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.js.map +1 -0
  605. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.d.ts +17 -0
  606. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.js +21 -0
  607. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.js.map +1 -0
  608. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.d.ts +8 -0
  609. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.js +5 -0
  610. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.js.map +1 -0
  611. package/lib/taon-posts/taon-related-post-chooser/index.d.ts +1 -1
  612. package/lib/taon-posts/taon-related-post-chooser/index.js +2 -2
  613. package/lib-esm/i18n/app.ts.de-DE.i18n.data.d.ts +0 -0
  614. package/lib-esm/i18n/app.ts.de-DE.i18n.data.js +2 -0
  615. package/lib-esm/i18n/app.ts.de-DE.i18n.data.js.map +1 -0
  616. package/lib-esm/lib/build-info._auto-generated_.d.ts +1 -1
  617. package/lib-esm/lib/build-info._auto-generated_.js +1 -1
  618. package/lib-esm/lib/decorators/taon-cms-authorization.d.ts +4 -0
  619. package/lib-esm/lib/decorators/taon-cms-authorization.js +10 -0
  620. package/lib-esm/lib/decorators/taon-cms-authorization.js.map +1 -1
  621. package/lib-esm/lib/index._auto-generated_.d.ts +1 -0
  622. package/lib-esm/lib/index._auto-generated_.js +2 -0
  623. package/lib-esm/lib/index._auto-generated_.js.map +1 -1
  624. package/lib-esm/lib/migrations/1792579000000_postPermissionInheritance.d.ts +6 -0
  625. package/lib-esm/lib/migrations/1792579000000_postPermissionInheritance.js +28 -0
  626. package/lib-esm/lib/migrations/1792579000000_postPermissionInheritance.js.map +1 -0
  627. package/lib-esm/lib/migrations/index.d.ts +6 -0
  628. package/lib-esm/lib/migrations/index.js +7 -0
  629. package/lib-esm/lib/migrations/index.js.map +1 -1
  630. package/lib-esm/lib/migrations/migrations_index._auto-generated_.d.ts +2 -0
  631. package/lib-esm/lib/migrations/migrations_index._auto-generated_.js +2 -0
  632. package/lib-esm/lib/migrations/migrations_index._auto-generated_.js.map +1 -1
  633. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.d.ts +19 -0
  634. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.js +29 -0
  635. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.js.map +1 -0
  636. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.d.ts +19 -0
  637. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.js +29 -0
  638. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.js.map +1 -0
  639. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.d.ts +19 -0
  640. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.js +29 -0
  641. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.js.map +1 -0
  642. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.d.ts +17 -0
  643. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.js +19 -0
  644. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.js.map +1 -0
  645. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.d.ts +17 -0
  646. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.js +19 -0
  647. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.js.map +1 -0
  648. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.d.ts +17 -0
  649. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.js +19 -0
  650. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.js.map +1 -0
  651. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.d.ts +18 -0
  652. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.js +24 -0
  653. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
  654. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.d.ts +18 -0
  655. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.js +24 -0
  656. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.js.map +1 -0
  657. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.d.ts +18 -0
  658. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.js +24 -0
  659. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
  660. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.d.ts +18 -0
  661. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.js +24 -0
  662. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
  663. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.d.ts +18 -0
  664. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.js +24 -0
  665. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
  666. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.d.ts +18 -0
  667. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.js +24 -0
  668. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
  669. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.d.ts +14 -0
  670. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.js +4 -0
  671. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.js.map +1 -0
  672. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.d.ts +16 -0
  673. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.js +14 -0
  674. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
  675. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.d.ts +16 -0
  676. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.js +14 -0
  677. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.js.map +1 -0
  678. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.d.ts +16 -0
  679. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.js +14 -0
  680. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
  681. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.d.ts +8 -0
  682. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.js +8 -0
  683. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
  684. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.d.ts +8 -0
  685. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.js +8 -0
  686. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
  687. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.d.ts +8 -0
  688. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.js +8 -0
  689. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
  690. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.d.ts +17 -0
  691. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.js +19 -0
  692. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.js.map +1 -0
  693. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.d.ts +17 -0
  694. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.js +19 -0
  695. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.js.map +1 -0
  696. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.d.ts +17 -0
  697. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.js +19 -0
  698. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.js.map +1 -0
  699. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.d.ts +11 -0
  700. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.js +4 -0
  701. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.js.map +1 -0
  702. package/lib-esm/lib/taon-cms-backoffice/index.d.ts +1 -1
  703. package/lib-esm/lib/taon-cms-backoffice/index.js +1 -1
  704. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.d.ts +16 -0
  705. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.js +14 -0
  706. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.js.map +1 -0
  707. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.d.ts +16 -0
  708. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.js +14 -0
  709. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.js.map +1 -0
  710. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.d.ts +16 -0
  711. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.js +14 -0
  712. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.js.map +1 -0
  713. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.d.ts +21 -0
  714. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.js +39 -0
  715. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.js.map +1 -0
  716. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.d.ts +6 -0
  717. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.js +27 -1
  718. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.js.map +1 -1
  719. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.d.ts +6 -0
  720. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.js +27 -1
  721. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.js.map +1 -1
  722. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.translation.d.ts +5 -1
  723. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.translation.js.map +1 -1
  724. package/lib-esm/lib/taon-cms-content/taon-cms-content-storage.controller.d.ts +24 -4
  725. package/lib-esm/lib/taon-cms-content/taon-cms-content-storage.controller.js +101 -8
  726. package/lib-esm/lib/taon-cms-content/taon-cms-content-storage.controller.js.map +1 -1
  727. package/lib-esm/lib/taon-cms-content/taon-cms-content.controller.d.ts +11 -1
  728. package/lib-esm/lib/taon-cms-content/taon-cms-content.controller.js +222 -4
  729. package/lib-esm/lib/taon-cms-content/taon-cms-content.controller.js.map +1 -1
  730. package/lib-esm/lib/taon-cms-content/taon-cms-content.entity.d.ts +1 -0
  731. package/lib-esm/lib/taon-cms-content/taon-cms-content.entity.js +9 -0
  732. package/lib-esm/lib/taon-cms-content/taon-cms-content.entity.js.map +1 -1
  733. package/lib-esm/lib/taon-cms-content/taon-cms-content.models.d.ts +9 -0
  734. package/lib-esm/lib/taon-cms-content/taon-cms-content.models.js.map +1 -1
  735. package/lib-esm/lib/taon-cms-content/taon-cms-content.repository.d.ts +8 -1
  736. package/lib-esm/lib/taon-cms-content/taon-cms-content.repository.js +144 -10
  737. package/lib-esm/lib/taon-cms-content/taon-cms-content.repository.js.map +1 -1
  738. package/lib-esm/lib/taon-cms-content/taon-cms-content.validation.js +9 -1
  739. package/lib-esm/lib/taon-cms-content/taon-cms-content.validation.js.map +1 -1
  740. package/lib-esm/lib/taon-cms-content/taon-cms-upload-progress.d.ts +1 -0
  741. package/lib-esm/lib/taon-cms-content/taon-cms-upload-progress.js +77 -0
  742. package/lib-esm/lib/taon-cms-content/taon-cms-upload-progress.js.map +1 -0
  743. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.d.ts +56 -0
  744. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.js +254 -0
  745. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.js.map +1 -0
  746. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.d.ts +56 -0
  747. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.js +254 -0
  748. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.js.map +1 -0
  749. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.d.ts +56 -0
  750. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.js +254 -0
  751. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.js.map +1 -0
  752. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.d.ts +41 -0
  753. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.js +144 -0
  754. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.js.map +1 -0
  755. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.d.ts +45 -0
  756. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.js +141 -0
  757. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.js.map +1 -0
  758. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.d.ts +41 -0
  759. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.js +144 -0
  760. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.js.map +1 -0
  761. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.d.ts +8 -0
  762. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.js +4 -0
  763. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.js.map +1 -0
  764. package/lib-esm/lib/taon-posts/taon-cms-post/index.d.ts +1 -1
  765. package/lib-esm/lib/taon-posts/taon-cms-post/index.js +1 -1
  766. 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
  767. 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
  768. 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
  769. 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
  770. 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
  771. 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
  772. 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
  773. 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
  774. 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
  775. package/lib-esm/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.d.ts +5 -0
  776. package/lib-esm/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.js +4 -0
  777. package/lib-esm/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.js.map +1 -0
  778. package/lib-esm/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.de-DE.i18n.data.d.ts +17 -0
  779. package/lib-esm/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.de-DE.i18n.data.js +19 -0
  780. package/lib-esm/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.de-DE.i18n.data.js.map +1 -0
  781. package/lib-esm/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.en-US.i18n.data.d.ts +17 -0
  782. package/lib-esm/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.en-US.i18n.data.js +19 -0
  783. package/lib-esm/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.en-US.i18n.data.js.map +1 -0
  784. package/lib-esm/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.pl-PL.i18n.data.d.ts +17 -0
  785. package/lib-esm/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.pl-PL.i18n.data.js +19 -0
  786. package/lib-esm/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.pl-PL.i18n.data.js.map +1 -0
  787. package/lib-esm/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.de-DE.i18n.data.d.ts +8 -0
  788. package/lib-esm/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.de-DE.i18n.data.js +8 -0
  789. package/lib-esm/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.de-DE.i18n.data.js.map +1 -0
  790. package/lib-esm/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.en-US.i18n.data.d.ts +8 -0
  791. package/lib-esm/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.en-US.i18n.data.js +8 -0
  792. package/lib-esm/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.en-US.i18n.data.js.map +1 -0
  793. package/lib-esm/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.pl-PL.i18n.data.d.ts +8 -0
  794. package/lib-esm/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.pl-PL.i18n.data.js +8 -0
  795. package/lib-esm/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.pl-PL.i18n.data.js.map +1 -0
  796. package/lib-esm/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.translation.d.ts +8 -0
  797. package/lib-esm/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.translation.js +4 -0
  798. package/lib-esm/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.translation.js.map +1 -0
  799. package/lib-esm/lib/taon-posts/taon-cms-post-edit-dialog/index.d.ts +1 -1
  800. package/lib-esm/lib/taon-posts/taon-cms-post-edit-dialog/index.js +1 -1
  801. 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
  802. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.js +19 -0
  803. 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
  804. 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
  805. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.js +19 -0
  806. 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
  807. 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
  808. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.js +19 -0
  809. 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
  810. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.d.ts +26 -0
  811. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.js +64 -0
  812. 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
  813. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.d.ts +26 -0
  814. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.js +64 -0
  815. 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
  816. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.d.ts +26 -0
  817. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.js +64 -0
  818. 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
  819. 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
  820. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.js +19 -0
  821. 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
  822. 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
  823. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.js +19 -0
  824. 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
  825. 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
  826. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.js +19 -0
  827. 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
  828. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.d.ts +11 -0
  829. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.js +4 -0
  830. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.js.map +1 -0
  831. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/index.d.ts +1 -1
  832. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/index.js +1 -1
  833. 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
  834. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.js +69 -0
  835. 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
  836. 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
  837. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.js +69 -0
  838. 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
  839. 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
  840. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.js +69 -0
  841. 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
  842. 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
  843. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.js +24 -0
  844. 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
  845. 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
  846. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.js +24 -0
  847. 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
  848. 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
  849. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.js +24 -0
  850. 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
  851. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.d.ts +8 -0
  852. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.js +4 -0
  853. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.js.map +1 -0
  854. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/index.d.ts +1 -1
  855. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/index.js +1 -1
  856. 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
  857. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.js +44 -0
  858. 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
  859. 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
  860. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.js +44 -0
  861. 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
  862. 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
  863. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.js +44 -0
  864. 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
  865. 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
  866. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.js +19 -0
  867. 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
  868. 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
  869. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.js +19 -0
  870. 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
  871. 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
  872. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.js +19 -0
  873. 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
  874. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.d.ts +8 -0
  875. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.js +4 -0
  876. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.js.map +1 -0
  877. package/lib-esm/lib/taon-posts/taon-related-post-chooser/index.d.ts +1 -1
  878. package/lib-esm/lib/taon-posts/taon-related-post-chooser/index.js +1 -1
  879. package/lib-prod/build-info._auto-generated_.d.ts +1 -1
  880. package/lib-prod/build-info._auto-generated_.js +1 -1
  881. package/lib-prod/decorators/taon-cms-authorization.d.ts +4 -0
  882. package/lib-prod/decorators/taon-cms-authorization.js +10 -0
  883. package/lib-prod/decorators/taon-cms-authorization.js.map +1 -1
  884. package/lib-prod/index._auto-generated_.d.ts +1 -0
  885. package/lib-prod/index._auto-generated_.js +2 -0
  886. package/lib-prod/index._auto-generated_.js.map +1 -1
  887. package/lib-prod/migrations/1792579000000_postPermissionInheritance.d.ts +6 -0
  888. package/lib-prod/migrations/1792579000000_postPermissionInheritance.js +28 -0
  889. package/lib-prod/migrations/1792579000000_postPermissionInheritance.js.map +1 -0
  890. package/lib-prod/migrations/index.d.ts +6 -0
  891. package/lib-prod/migrations/index.js +7 -0
  892. package/lib-prod/migrations/index.js.map +1 -1
  893. package/lib-prod/migrations/migrations_index._auto-generated_.d.ts +2 -0
  894. package/lib-prod/migrations/migrations_index._auto-generated_.js +2 -0
  895. package/lib-prod/migrations/migrations_index._auto-generated_.js.map +1 -1
  896. package/lib-prod/package.json +1 -1
  897. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.d.ts +19 -0
  898. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.js +29 -0
  899. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.js.map +1 -0
  900. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.d.ts +19 -0
  901. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.js +29 -0
  902. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.js.map +1 -0
  903. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.d.ts +19 -0
  904. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.js +29 -0
  905. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.js.map +1 -0
  906. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.d.ts +17 -0
  907. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.js +19 -0
  908. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.js.map +1 -0
  909. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.d.ts +17 -0
  910. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.js +19 -0
  911. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.js.map +1 -0
  912. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.d.ts +17 -0
  913. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.js +19 -0
  914. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.js.map +1 -0
  915. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.d.ts +18 -0
  916. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.js +24 -0
  917. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
  918. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.d.ts +18 -0
  919. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.js +24 -0
  920. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.js.map +1 -0
  921. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.d.ts +18 -0
  922. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.js +24 -0
  923. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
  924. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.d.ts +18 -0
  925. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.js +24 -0
  926. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
  927. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.d.ts +18 -0
  928. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.js +24 -0
  929. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
  930. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.d.ts +18 -0
  931. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.js +24 -0
  932. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
  933. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.d.ts +14 -0
  934. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.js +4 -0
  935. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.js.map +1 -0
  936. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.d.ts +16 -0
  937. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.js +14 -0
  938. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
  939. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.d.ts +16 -0
  940. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.js +14 -0
  941. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.js.map +1 -0
  942. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.d.ts +16 -0
  943. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.js +14 -0
  944. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
  945. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.d.ts +8 -0
  946. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.js +8 -0
  947. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
  948. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.d.ts +8 -0
  949. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.js +8 -0
  950. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
  951. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.d.ts +8 -0
  952. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.js +8 -0
  953. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
  954. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.d.ts +17 -0
  955. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.js +19 -0
  956. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.js.map +1 -0
  957. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.d.ts +17 -0
  958. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.js +19 -0
  959. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.js.map +1 -0
  960. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.d.ts +17 -0
  961. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.js +19 -0
  962. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.js.map +1 -0
  963. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.d.ts +11 -0
  964. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.js +4 -0
  965. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.js.map +1 -0
  966. package/lib-prod/taon-cms-backoffice/index.d.ts +1 -1
  967. package/lib-prod/taon-cms-backoffice/index.js +1 -1
  968. package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.d.ts +16 -0
  969. package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.js +14 -0
  970. package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.js.map +1 -0
  971. package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.d.ts +16 -0
  972. package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.js +14 -0
  973. package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.js.map +1 -0
  974. package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.d.ts +16 -0
  975. package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.js +14 -0
  976. package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.js.map +1 -0
  977. package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.d.ts +21 -0
  978. package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.js +39 -0
  979. package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.js.map +1 -0
  980. package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.d.ts +6 -0
  981. package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.js +27 -1
  982. package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.js.map +1 -1
  983. package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.d.ts +6 -0
  984. package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.js +27 -1
  985. package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.js.map +1 -1
  986. package/lib-prod/taon-cms-content/i18n/taon-cms-content.translation.d.ts +5 -1
  987. package/lib-prod/taon-cms-content/i18n/taon-cms-content.translation.js.map +1 -1
  988. package/lib-prod/taon-cms-content/taon-cms-content-storage.controller.d.ts +24 -4
  989. package/lib-prod/taon-cms-content/taon-cms-content-storage.controller.js +101 -8
  990. package/lib-prod/taon-cms-content/taon-cms-content-storage.controller.js.map +1 -1
  991. package/lib-prod/taon-cms-content/taon-cms-content.controller.d.ts +11 -1
  992. package/lib-prod/taon-cms-content/taon-cms-content.controller.js +222 -4
  993. package/lib-prod/taon-cms-content/taon-cms-content.controller.js.map +1 -1
  994. package/lib-prod/taon-cms-content/taon-cms-content.entity.d.ts +1 -0
  995. package/lib-prod/taon-cms-content/taon-cms-content.entity.js +9 -0
  996. package/lib-prod/taon-cms-content/taon-cms-content.entity.js.map +1 -1
  997. package/lib-prod/taon-cms-content/taon-cms-content.models.d.ts +9 -0
  998. package/lib-prod/taon-cms-content/taon-cms-content.models.js.map +1 -1
  999. package/lib-prod/taon-cms-content/taon-cms-content.repository.d.ts +8 -1
  1000. package/lib-prod/taon-cms-content/taon-cms-content.repository.js +144 -10
  1001. package/lib-prod/taon-cms-content/taon-cms-content.repository.js.map +1 -1
  1002. package/lib-prod/taon-cms-content/taon-cms-content.validation.js +9 -1
  1003. package/lib-prod/taon-cms-content/taon-cms-content.validation.js.map +1 -1
  1004. package/lib-prod/taon-cms-content/taon-cms-upload-progress.d.ts +1 -0
  1005. package/lib-prod/taon-cms-content/taon-cms-upload-progress.js +77 -0
  1006. package/lib-prod/taon-cms-content/taon-cms-upload-progress.js.map +1 -0
  1007. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.d.ts +56 -0
  1008. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.js +254 -0
  1009. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.js.map +1 -0
  1010. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.d.ts +56 -0
  1011. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.js +254 -0
  1012. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.js.map +1 -0
  1013. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.d.ts +56 -0
  1014. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.js +254 -0
  1015. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.js.map +1 -0
  1016. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.d.ts +41 -0
  1017. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.js +144 -0
  1018. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.js.map +1 -0
  1019. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.d.ts +45 -0
  1020. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.js +141 -0
  1021. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.js.map +1 -0
  1022. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.d.ts +41 -0
  1023. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.js +144 -0
  1024. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.js.map +1 -0
  1025. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.d.ts +8 -0
  1026. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.js +4 -0
  1027. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.js.map +1 -0
  1028. package/lib-prod/taon-posts/taon-cms-post/index.d.ts +1 -1
  1029. package/lib-prod/taon-posts/taon-cms-post/index.js +1 -1
  1030. 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
  1031. 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
  1032. 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
  1033. 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
  1034. 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
  1035. 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
  1036. 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
  1037. 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
  1038. 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
  1039. package/lib-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.d.ts +5 -0
  1040. package/lib-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.js +4 -0
  1041. package/lib-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.js.map +1 -0
  1042. package/lib-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.de-DE.i18n.data.d.ts +17 -0
  1043. package/lib-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.de-DE.i18n.data.js +19 -0
  1044. package/lib-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.de-DE.i18n.data.js.map +1 -0
  1045. package/lib-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.en-US.i18n.data.d.ts +17 -0
  1046. package/lib-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.en-US.i18n.data.js +19 -0
  1047. package/lib-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.en-US.i18n.data.js.map +1 -0
  1048. package/lib-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.pl-PL.i18n.data.d.ts +17 -0
  1049. package/lib-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.pl-PL.i18n.data.js +19 -0
  1050. package/lib-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.pl-PL.i18n.data.js.map +1 -0
  1051. package/lib-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.de-DE.i18n.data.d.ts +8 -0
  1052. package/lib-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.de-DE.i18n.data.js +8 -0
  1053. package/lib-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.de-DE.i18n.data.js.map +1 -0
  1054. package/lib-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.en-US.i18n.data.d.ts +8 -0
  1055. package/lib-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.en-US.i18n.data.js +8 -0
  1056. package/lib-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.en-US.i18n.data.js.map +1 -0
  1057. package/lib-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.pl-PL.i18n.data.d.ts +8 -0
  1058. package/lib-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.pl-PL.i18n.data.js +8 -0
  1059. package/lib-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.pl-PL.i18n.data.js.map +1 -0
  1060. package/lib-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.translation.d.ts +8 -0
  1061. package/lib-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.translation.js +4 -0
  1062. package/lib-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.translation.js.map +1 -0
  1063. package/lib-prod/taon-posts/taon-cms-post-edit-dialog/index.d.ts +1 -1
  1064. package/lib-prod/taon-posts/taon-cms-post-edit-dialog/index.js +1 -1
  1065. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.d.ts +17 -0
  1066. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.js +19 -0
  1067. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
  1068. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.d.ts +17 -0
  1069. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.js +19 -0
  1070. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.js.map +1 -0
  1071. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.d.ts +17 -0
  1072. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.js +19 -0
  1073. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
  1074. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.d.ts +26 -0
  1075. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.js +64 -0
  1076. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
  1077. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.d.ts +26 -0
  1078. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.js +64 -0
  1079. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
  1080. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.d.ts +26 -0
  1081. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.js +64 -0
  1082. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
  1083. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.d.ts +17 -0
  1084. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.js +19 -0
  1085. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.js.map +1 -0
  1086. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.d.ts +17 -0
  1087. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.js +19 -0
  1088. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.js.map +1 -0
  1089. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.d.ts +17 -0
  1090. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.js +19 -0
  1091. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.js.map +1 -0
  1092. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.d.ts +11 -0
  1093. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.js +4 -0
  1094. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.js.map +1 -0
  1095. package/lib-prod/taon-posts/taon-cms-posts-backoffice/index.d.ts +1 -1
  1096. package/lib-prod/taon-posts/taon-cms-posts-backoffice/index.js +1 -1
  1097. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.d.ts +26 -0
  1098. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.js +69 -0
  1099. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.js.map +1 -0
  1100. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.d.ts +26 -0
  1101. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.js +69 -0
  1102. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.js.map +1 -0
  1103. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.d.ts +26 -0
  1104. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.js +69 -0
  1105. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.js.map +1 -0
  1106. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.d.ts +18 -0
  1107. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.js +24 -0
  1108. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.js.map +1 -0
  1109. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.d.ts +18 -0
  1110. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.js +24 -0
  1111. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.js.map +1 -0
  1112. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.d.ts +18 -0
  1113. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.js +24 -0
  1114. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.js.map +1 -0
  1115. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.d.ts +8 -0
  1116. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.js +4 -0
  1117. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.js.map +1 -0
  1118. package/lib-prod/taon-posts/taon-cms-revision-chooser/index.d.ts +1 -1
  1119. package/lib-prod/taon-posts/taon-cms-revision-chooser/index.js +1 -1
  1120. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.d.ts +21 -0
  1121. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.js +44 -0
  1122. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.js.map +1 -0
  1123. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.d.ts +21 -0
  1124. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.js +44 -0
  1125. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.js.map +1 -0
  1126. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.d.ts +21 -0
  1127. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.js +44 -0
  1128. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.js.map +1 -0
  1129. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.d.ts +17 -0
  1130. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.js +19 -0
  1131. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.js.map +1 -0
  1132. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.d.ts +17 -0
  1133. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.js +19 -0
  1134. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.js.map +1 -0
  1135. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.d.ts +17 -0
  1136. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.js +19 -0
  1137. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.js.map +1 -0
  1138. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.d.ts +8 -0
  1139. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.js +4 -0
  1140. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.js.map +1 -0
  1141. package/lib-prod/taon-posts/taon-related-post-chooser/index.d.ts +1 -1
  1142. package/lib-prod/taon-posts/taon-related-post-chooser/index.js +1 -1
  1143. package/package.json +1 -1
  1144. package/scss/lib/taon-cms-assets-backoffice/taon-cms-asset-preview.component.scss +11 -0
  1145. package/scss/lib/taon-posts/taon-cms-post/taon-cms-post.component.scss +5 -0
  1146. package/ts-source/browser-code/build-info._auto-generated_.ts +1 -1
  1147. package/ts-source/browser-code/decorators/taon-cms-authorization.ts +4 -0
  1148. package/ts-source/browser-code/index._auto-generated_.ts +2 -0
  1149. package/ts-source/browser-code/migrations/1792579000000_postPermissionInheritance.ts +36 -0
  1150. package/ts-source/browser-code/migrations/index.ts +7 -0
  1151. package/ts-source/browser-code/migrations/migrations_index._auto-generated_.ts +2 -0
  1152. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.ts +47 -0
  1153. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.po +21 -0
  1154. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.ts +47 -0
  1155. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.po +21 -0
  1156. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.ts +47 -0
  1157. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.po +21 -0
  1158. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.ts +35 -0
  1159. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.po +13 -0
  1160. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.ts +35 -0
  1161. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.po +13 -0
  1162. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.ts +35 -0
  1163. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.po +13 -0
  1164. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.ts +41 -0
  1165. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.po +17 -0
  1166. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.ts +41 -0
  1167. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.po +17 -0
  1168. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.ts +41 -0
  1169. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.po +17 -0
  1170. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.ts +41 -0
  1171. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.po +17 -0
  1172. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.ts +41 -0
  1173. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.po +17 -0
  1174. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.ts +41 -0
  1175. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.po +17 -0
  1176. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.ts +27 -0
  1177. package/ts-source/browser-code/taon-cms-assets-backoffice/taon-cms-asset-preview.component.html +57 -0
  1178. package/ts-source/browser-code/taon-cms-assets-backoffice/taon-cms-asset-preview.component.scss +22 -0
  1179. package/ts-source/browser-code/taon-cms-assets-backoffice/taon-cms-asset-preview.component.ts +79 -0
  1180. package/ts-source/browser-code/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html +42 -0
  1181. package/ts-source/browser-code/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.ts +59 -18
  1182. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.ts +29 -0
  1183. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.po +9 -0
  1184. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.ts +29 -0
  1185. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.po +9 -0
  1186. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.ts +29 -0
  1187. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.po +9 -0
  1188. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.ts +19 -0
  1189. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.po +5 -0
  1190. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.ts +19 -0
  1191. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.po +5 -0
  1192. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.ts +19 -0
  1193. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.po +5 -0
  1194. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.ts +35 -0
  1195. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.po +13 -0
  1196. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.ts +35 -0
  1197. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.po +13 -0
  1198. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.ts +35 -0
  1199. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.po +13 -0
  1200. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.ts +24 -0
  1201. package/ts-source/browser-code/taon-cms-backoffice/taon-cms-backoffice.component.html +3 -1
  1202. package/ts-source/browser-code/taon-cms-backoffice/taon-cms-backoffice.component.ts +4 -0
  1203. package/ts-source/browser-code/taon-cms-backoffice/taon-cms-backoffice.routes.ts +5 -2
  1204. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.ts +29 -0
  1205. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.po +9 -0
  1206. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.ts +29 -0
  1207. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.po +9 -0
  1208. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.ts +29 -0
  1209. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.po +9 -0
  1210. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.ts +59 -0
  1211. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.po +29 -0
  1212. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.ts +32 -1
  1213. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.po +22 -2
  1214. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.ts +32 -1
  1215. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.po +22 -2
  1216. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.translation.ts +5 -1
  1217. package/ts-source/browser-code/taon-cms-content/taon-cms-content-api.service.ts +72 -9
  1218. package/ts-source/browser-code/taon-cms-content/taon-cms-content-storage.controller.ts +38 -7
  1219. package/ts-source/browser-code/taon-cms-content/taon-cms-content.controller.ts +60 -2
  1220. package/ts-source/browser-code/taon-cms-content/taon-cms-content.entity.ts +1 -0
  1221. package/ts-source/browser-code/taon-cms-content/taon-cms-content.models.ts +9 -0
  1222. package/ts-source/browser-code/taon-cms-content/taon-cms-content.repository.ts +31 -3
  1223. package/ts-source/browser-code/taon-cms-content/taon-cms-content.validation.ts +9 -1
  1224. package/ts-source/browser-code/taon-cms-content/taon-cms-upload-progress.ts +85 -0
  1225. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.ts +309 -0
  1226. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.po +177 -0
  1227. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.ts +309 -0
  1228. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.po +177 -0
  1229. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.ts +309 -0
  1230. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.po +177 -0
  1231. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.ts +184 -0
  1232. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.po +110 -0
  1233. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.ts +181 -0
  1234. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.po +110 -0
  1235. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.ts +184 -0
  1236. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.po +110 -0
  1237. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.ts +21 -0
  1238. package/ts-source/browser-code/taon-posts/taon-cms-post/taon-cms-post.component.html +391 -92
  1239. package/ts-source/browser-code/taon-posts/taon-cms-post/taon-cms-post.component.scss +5 -0
  1240. package/ts-source/browser-code/taon-posts/taon-cms-post/taon-cms-post.component.ts +239 -35
  1241. 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
  1242. 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
  1243. 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
  1244. 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
  1245. 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
  1246. 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
  1247. package/ts-source/browser-code/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.ts +18 -0
  1248. package/ts-source/browser-code/taon-posts/taon-cms-post-details-page/taon-cms-post-details-page.component.ts +9 -1
  1249. package/ts-source/browser-code/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.de-DE.i18n.data.ts +35 -0
  1250. package/ts-source/browser-code/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.de-DE.po +13 -0
  1251. package/ts-source/browser-code/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.en-US.i18n.data.ts +35 -0
  1252. package/ts-source/browser-code/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.en-US.po +13 -0
  1253. package/ts-source/browser-code/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.pl-PL.i18n.data.ts +35 -0
  1254. package/ts-source/browser-code/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.pl-PL.po +13 -0
  1255. package/ts-source/browser-code/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.de-DE.i18n.data.ts +19 -0
  1256. package/ts-source/browser-code/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.de-DE.po +5 -0
  1257. package/ts-source/browser-code/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.en-US.i18n.data.ts +19 -0
  1258. package/ts-source/browser-code/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.en-US.po +5 -0
  1259. package/ts-source/browser-code/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.pl-PL.i18n.data.ts +19 -0
  1260. package/ts-source/browser-code/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.pl-PL.po +5 -0
  1261. package/ts-source/browser-code/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.translation.ts +21 -0
  1262. package/ts-source/browser-code/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.html +9 -2
  1263. package/ts-source/browser-code/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.ts +10 -1
  1264. 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
  1265. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.po +13 -0
  1266. 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
  1267. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.po +13 -0
  1268. 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
  1269. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.po +13 -0
  1270. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.ts +89 -0
  1271. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.po +49 -0
  1272. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.ts +89 -0
  1273. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.po +49 -0
  1274. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.ts +89 -0
  1275. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.po +49 -0
  1276. 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
  1277. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.po +13 -0
  1278. 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
  1279. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.po +13 -0
  1280. 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
  1281. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.po +13 -0
  1282. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.ts +24 -0
  1283. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.html +2 -2
  1284. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts +15 -11
  1285. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts +5 -2
  1286. 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
  1287. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.po +50 -0
  1288. 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
  1289. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.po +50 -0
  1290. 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
  1291. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.po +50 -0
  1292. 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
  1293. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.po +17 -0
  1294. 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
  1295. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.po +17 -0
  1296. 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
  1297. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.po +17 -0
  1298. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.ts +21 -0
  1299. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.html +55 -14
  1300. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.ts +16 -7
  1301. 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
  1302. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.po +30 -0
  1303. 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
  1304. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.po +30 -0
  1305. 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
  1306. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.po +30 -0
  1307. 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
  1308. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.po +13 -0
  1309. 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
  1310. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.po +13 -0
  1311. 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
  1312. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.po +13 -0
  1313. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.ts +21 -0
  1314. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.html +40 -11
  1315. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.ts +6 -2
  1316. package/ts-source/browser-code-prod/build-info._auto-generated_.ts +1 -1
  1317. package/ts-source/browser-code-prod/decorators/taon-cms-authorization.ts +4 -0
  1318. package/ts-source/browser-code-prod/index._auto-generated_.ts +2 -0
  1319. package/ts-source/browser-code-prod/migrations/1792579000000_postPermissionInheritance.split-namespaces.json +4 -0
  1320. package/ts-source/browser-code-prod/migrations/1792579000000_postPermissionInheritance.ts +36 -0
  1321. package/ts-source/browser-code-prod/migrations/index.ts +7 -0
  1322. package/ts-source/browser-code-prod/migrations/migrations_index._auto-generated_.ts +2 -0
  1323. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.ts +47 -0
  1324. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.po +21 -0
  1325. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.ts +47 -0
  1326. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.po +21 -0
  1327. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.ts +47 -0
  1328. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.po +21 -0
  1329. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.ts +35 -0
  1330. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.po +13 -0
  1331. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.ts +35 -0
  1332. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.po +13 -0
  1333. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.ts +35 -0
  1334. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.po +13 -0
  1335. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.ts +41 -0
  1336. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.po +17 -0
  1337. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.ts +41 -0
  1338. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.po +17 -0
  1339. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.ts +41 -0
  1340. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.po +17 -0
  1341. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.ts +41 -0
  1342. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.po +17 -0
  1343. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.ts +41 -0
  1344. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.po +17 -0
  1345. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.ts +41 -0
  1346. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.po +17 -0
  1347. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.split-namespaces.json +4 -0
  1348. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.ts +27 -0
  1349. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/taon-cms-asset-preview.component.html +57 -0
  1350. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/taon-cms-asset-preview.component.scss +22 -0
  1351. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/taon-cms-asset-preview.component.split-namespaces.json +4 -0
  1352. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/taon-cms-asset-preview.component.ts +79 -0
  1353. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html +42 -0
  1354. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.ts +59 -18
  1355. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.ts +29 -0
  1356. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.po +9 -0
  1357. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.ts +29 -0
  1358. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.po +9 -0
  1359. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.ts +29 -0
  1360. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.po +9 -0
  1361. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.ts +19 -0
  1362. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.po +5 -0
  1363. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.ts +19 -0
  1364. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.po +5 -0
  1365. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.ts +19 -0
  1366. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.po +5 -0
  1367. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.ts +35 -0
  1368. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.po +13 -0
  1369. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.ts +35 -0
  1370. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.po +13 -0
  1371. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.ts +35 -0
  1372. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.po +13 -0
  1373. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.split-namespaces.json +4 -0
  1374. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.ts +24 -0
  1375. package/ts-source/browser-code-prod/taon-cms-backoffice/taon-cms-backoffice.component.html +3 -1
  1376. package/ts-source/browser-code-prod/taon-cms-backoffice/taon-cms-backoffice.component.ts +4 -0
  1377. package/ts-source/browser-code-prod/taon-cms-backoffice/taon-cms-backoffice.routes.ts +5 -2
  1378. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.ts +29 -0
  1379. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.po +9 -0
  1380. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.ts +29 -0
  1381. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.po +9 -0
  1382. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.ts +29 -0
  1383. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.po +9 -0
  1384. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.ts +59 -0
  1385. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.po +29 -0
  1386. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.ts +32 -1
  1387. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.po +22 -2
  1388. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.ts +32 -1
  1389. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.po +22 -2
  1390. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.translation.ts +5 -1
  1391. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content-api.service.ts +72 -9
  1392. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content-storage.controller.ts +38 -7
  1393. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content.controller.ts +60 -2
  1394. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content.entity.ts +1 -0
  1395. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content.models.ts +9 -0
  1396. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content.repository.ts +31 -3
  1397. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content.validation.ts +9 -1
  1398. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-upload-progress.split-namespaces.json +4 -0
  1399. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-upload-progress.ts +85 -0
  1400. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.ts +309 -0
  1401. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.po +177 -0
  1402. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.ts +309 -0
  1403. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.po +177 -0
  1404. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.ts +309 -0
  1405. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.po +177 -0
  1406. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.ts +184 -0
  1407. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.po +110 -0
  1408. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.ts +181 -0
  1409. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.po +110 -0
  1410. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.ts +184 -0
  1411. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.po +110 -0
  1412. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.split-namespaces.json +4 -0
  1413. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.ts +21 -0
  1414. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/taon-cms-post.component.html +391 -92
  1415. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/taon-cms-post.component.scss +5 -0
  1416. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/taon-cms-post.component.ts +239 -35
  1417. 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
  1418. 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
  1419. 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
  1420. 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
  1421. 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
  1422. 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
  1423. 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
  1424. package/ts-source/browser-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.ts +18 -0
  1425. package/ts-source/browser-code-prod/taon-posts/taon-cms-post-details-page/taon-cms-post-details-page.component.ts +9 -1
  1426. package/ts-source/browser-code-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.de-DE.i18n.data.ts +35 -0
  1427. package/ts-source/browser-code-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.de-DE.po +13 -0
  1428. package/ts-source/browser-code-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.en-US.i18n.data.ts +35 -0
  1429. package/ts-source/browser-code-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.en-US.po +13 -0
  1430. package/ts-source/browser-code-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.pl-PL.i18n.data.ts +35 -0
  1431. package/ts-source/browser-code-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.pl-PL.po +13 -0
  1432. package/ts-source/browser-code-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.de-DE.i18n.data.ts +19 -0
  1433. package/ts-source/browser-code-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.de-DE.po +5 -0
  1434. package/ts-source/browser-code-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.en-US.i18n.data.ts +19 -0
  1435. package/ts-source/browser-code-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.en-US.po +5 -0
  1436. package/ts-source/browser-code-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.pl-PL.i18n.data.ts +19 -0
  1437. package/ts-source/browser-code-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.pl-PL.po +5 -0
  1438. package/ts-source/browser-code-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.translation.split-namespaces.json +4 -0
  1439. package/ts-source/browser-code-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.translation.ts +21 -0
  1440. package/ts-source/browser-code-prod/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.html +9 -2
  1441. package/ts-source/browser-code-prod/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.ts +10 -1
  1442. 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
  1443. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.po +13 -0
  1444. 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
  1445. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.po +13 -0
  1446. 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
  1447. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.po +13 -0
  1448. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.ts +89 -0
  1449. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.po +49 -0
  1450. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.ts +89 -0
  1451. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.po +49 -0
  1452. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.ts +89 -0
  1453. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.po +49 -0
  1454. 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
  1455. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.po +13 -0
  1456. 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
  1457. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.po +13 -0
  1458. 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
  1459. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.po +13 -0
  1460. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.split-namespaces.json +4 -0
  1461. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.ts +24 -0
  1462. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.html +2 -2
  1463. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts +15 -11
  1464. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts +5 -2
  1465. 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
  1466. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.po +50 -0
  1467. 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
  1468. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.po +50 -0
  1469. 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
  1470. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.po +50 -0
  1471. 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
  1472. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.po +17 -0
  1473. 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
  1474. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.po +17 -0
  1475. 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
  1476. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.po +17 -0
  1477. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.split-namespaces.json +4 -0
  1478. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.ts +21 -0
  1479. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.html +55 -14
  1480. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.ts +16 -7
  1481. 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
  1482. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.po +30 -0
  1483. 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
  1484. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.po +30 -0
  1485. 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
  1486. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.po +30 -0
  1487. 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
  1488. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.po +13 -0
  1489. 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
  1490. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.po +13 -0
  1491. 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
  1492. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.po +13 -0
  1493. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.split-namespaces.json +4 -0
  1494. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.ts +21 -0
  1495. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.html +40 -11
  1496. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.ts +6 -2
  1497. package/ts-source/websql-code/build-info._auto-generated_.ts +1 -1
  1498. package/ts-source/websql-code/decorators/taon-cms-authorization.ts +10 -0
  1499. package/ts-source/websql-code/index._auto-generated_.ts +2 -0
  1500. package/ts-source/websql-code/migrations/1792579000000_postPermissionInheritance.ts +36 -0
  1501. package/ts-source/websql-code/migrations/index.ts +7 -0
  1502. package/ts-source/websql-code/migrations/migrations_index._auto-generated_.ts +2 -0
  1503. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.ts +47 -0
  1504. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.po +21 -0
  1505. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.ts +47 -0
  1506. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.po +21 -0
  1507. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.ts +47 -0
  1508. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.po +21 -0
  1509. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.ts +35 -0
  1510. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.po +13 -0
  1511. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.ts +35 -0
  1512. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.po +13 -0
  1513. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.ts +35 -0
  1514. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.po +13 -0
  1515. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.ts +41 -0
  1516. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.po +17 -0
  1517. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.ts +41 -0
  1518. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.po +17 -0
  1519. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.ts +41 -0
  1520. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.po +17 -0
  1521. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.ts +41 -0
  1522. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.po +17 -0
  1523. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.ts +41 -0
  1524. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.po +17 -0
  1525. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.ts +41 -0
  1526. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.po +17 -0
  1527. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.ts +27 -0
  1528. package/ts-source/websql-code/taon-cms-assets-backoffice/taon-cms-asset-preview.component.html +57 -0
  1529. package/ts-source/websql-code/taon-cms-assets-backoffice/taon-cms-asset-preview.component.scss +22 -0
  1530. package/ts-source/websql-code/taon-cms-assets-backoffice/taon-cms-asset-preview.component.ts +79 -0
  1531. package/ts-source/websql-code/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html +42 -0
  1532. package/ts-source/websql-code/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.ts +59 -18
  1533. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.ts +29 -0
  1534. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.po +9 -0
  1535. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.ts +29 -0
  1536. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.po +9 -0
  1537. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.ts +29 -0
  1538. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.po +9 -0
  1539. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.ts +19 -0
  1540. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.po +5 -0
  1541. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.ts +19 -0
  1542. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.po +5 -0
  1543. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.ts +19 -0
  1544. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.po +5 -0
  1545. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.ts +35 -0
  1546. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.po +13 -0
  1547. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.ts +35 -0
  1548. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.po +13 -0
  1549. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.ts +35 -0
  1550. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.po +13 -0
  1551. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.ts +24 -0
  1552. package/ts-source/websql-code/taon-cms-backoffice/taon-cms-backoffice.component.html +3 -1
  1553. package/ts-source/websql-code/taon-cms-backoffice/taon-cms-backoffice.component.ts +4 -0
  1554. package/ts-source/websql-code/taon-cms-backoffice/taon-cms-backoffice.routes.ts +5 -2
  1555. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.ts +29 -0
  1556. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.po +9 -0
  1557. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.ts +29 -0
  1558. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.po +9 -0
  1559. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.ts +29 -0
  1560. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.po +9 -0
  1561. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.ts +59 -0
  1562. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.po +29 -0
  1563. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.ts +32 -1
  1564. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.po +22 -2
  1565. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.ts +32 -1
  1566. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.po +22 -2
  1567. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.translation.ts +5 -1
  1568. package/ts-source/websql-code/taon-cms-content/taon-cms-content-api.service.ts +72 -9
  1569. package/ts-source/websql-code/taon-cms-content/taon-cms-content-storage.controller.ts +54 -7
  1570. package/ts-source/websql-code/taon-cms-content/taon-cms-content.controller.ts +120 -4
  1571. package/ts-source/websql-code/taon-cms-content/taon-cms-content.entity.ts +2 -0
  1572. package/ts-source/websql-code/taon-cms-content/taon-cms-content.models.ts +9 -0
  1573. package/ts-source/websql-code/taon-cms-content/taon-cms-content.repository.ts +129 -11
  1574. package/ts-source/websql-code/taon-cms-content/taon-cms-content.validation.ts +9 -1
  1575. package/ts-source/websql-code/taon-cms-content/taon-cms-upload-progress.ts +85 -0
  1576. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.ts +309 -0
  1577. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.po +177 -0
  1578. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.ts +309 -0
  1579. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.po +177 -0
  1580. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.ts +309 -0
  1581. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.po +177 -0
  1582. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.ts +184 -0
  1583. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.po +110 -0
  1584. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.ts +181 -0
  1585. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.po +110 -0
  1586. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.ts +184 -0
  1587. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.po +110 -0
  1588. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.ts +21 -0
  1589. package/ts-source/websql-code/taon-posts/taon-cms-post/taon-cms-post.component.html +391 -92
  1590. package/ts-source/websql-code/taon-posts/taon-cms-post/taon-cms-post.component.scss +5 -0
  1591. package/ts-source/websql-code/taon-posts/taon-cms-post/taon-cms-post.component.ts +239 -35
  1592. 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
  1593. 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
  1594. 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
  1595. 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
  1596. 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
  1597. 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
  1598. package/ts-source/websql-code/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.ts +18 -0
  1599. package/ts-source/websql-code/taon-posts/taon-cms-post-details-page/taon-cms-post-details-page.component.ts +9 -1
  1600. package/ts-source/websql-code/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.de-DE.i18n.data.ts +35 -0
  1601. package/ts-source/websql-code/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.de-DE.po +13 -0
  1602. package/ts-source/websql-code/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.en-US.i18n.data.ts +35 -0
  1603. package/ts-source/websql-code/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.en-US.po +13 -0
  1604. package/ts-source/websql-code/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.pl-PL.i18n.data.ts +35 -0
  1605. package/ts-source/websql-code/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.pl-PL.po +13 -0
  1606. package/ts-source/websql-code/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.de-DE.i18n.data.ts +19 -0
  1607. package/ts-source/websql-code/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.de-DE.po +5 -0
  1608. package/ts-source/websql-code/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.en-US.i18n.data.ts +19 -0
  1609. package/ts-source/websql-code/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.en-US.po +5 -0
  1610. package/ts-source/websql-code/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.pl-PL.i18n.data.ts +19 -0
  1611. package/ts-source/websql-code/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.pl-PL.po +5 -0
  1612. package/ts-source/websql-code/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.translation.ts +21 -0
  1613. package/ts-source/websql-code/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.html +9 -2
  1614. package/ts-source/websql-code/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.ts +10 -1
  1615. 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
  1616. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.po +13 -0
  1617. 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
  1618. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.po +13 -0
  1619. 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
  1620. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.po +13 -0
  1621. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.ts +89 -0
  1622. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.po +49 -0
  1623. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.ts +89 -0
  1624. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.po +49 -0
  1625. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.ts +89 -0
  1626. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.po +49 -0
  1627. 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
  1628. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.po +13 -0
  1629. 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
  1630. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.po +13 -0
  1631. 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
  1632. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.po +13 -0
  1633. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.ts +24 -0
  1634. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.html +2 -2
  1635. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts +15 -11
  1636. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts +5 -2
  1637. 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
  1638. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.po +50 -0
  1639. 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
  1640. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.po +50 -0
  1641. 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
  1642. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.po +50 -0
  1643. 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
  1644. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.po +17 -0
  1645. 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
  1646. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.po +17 -0
  1647. 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
  1648. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.po +17 -0
  1649. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.ts +21 -0
  1650. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.html +55 -14
  1651. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.ts +16 -7
  1652. 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
  1653. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.po +30 -0
  1654. 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
  1655. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.po +30 -0
  1656. 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
  1657. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.po +30 -0
  1658. 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
  1659. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.po +13 -0
  1660. 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
  1661. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.po +13 -0
  1662. 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
  1663. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.po +13 -0
  1664. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.ts +21 -0
  1665. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.html +40 -11
  1666. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.ts +6 -2
  1667. package/ts-source/websql-code-prod/build-info._auto-generated_.ts +1 -1
  1668. package/ts-source/websql-code-prod/decorators/taon-cms-authorization.ts +10 -0
  1669. package/ts-source/websql-code-prod/index._auto-generated_.ts +2 -0
  1670. package/ts-source/websql-code-prod/migrations/1792579000000_postPermissionInheritance.split-namespaces.json +4 -0
  1671. package/ts-source/websql-code-prod/migrations/1792579000000_postPermissionInheritance.ts +36 -0
  1672. package/ts-source/websql-code-prod/migrations/index.ts +7 -0
  1673. package/ts-source/websql-code-prod/migrations/migrations_index._auto-generated_.ts +2 -0
  1674. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.ts +47 -0
  1675. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.po +21 -0
  1676. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.ts +47 -0
  1677. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.po +21 -0
  1678. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.ts +47 -0
  1679. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.po +21 -0
  1680. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.ts +35 -0
  1681. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.po +13 -0
  1682. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.ts +35 -0
  1683. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.po +13 -0
  1684. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.ts +35 -0
  1685. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.po +13 -0
  1686. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.ts +41 -0
  1687. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.po +17 -0
  1688. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.ts +41 -0
  1689. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.po +17 -0
  1690. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.ts +41 -0
  1691. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.po +17 -0
  1692. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.ts +41 -0
  1693. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.po +17 -0
  1694. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.ts +41 -0
  1695. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.po +17 -0
  1696. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.ts +41 -0
  1697. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.po +17 -0
  1698. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.split-namespaces.json +4 -0
  1699. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.ts +27 -0
  1700. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/taon-cms-asset-preview.component.html +57 -0
  1701. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/taon-cms-asset-preview.component.scss +22 -0
  1702. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/taon-cms-asset-preview.component.split-namespaces.json +4 -0
  1703. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/taon-cms-asset-preview.component.ts +79 -0
  1704. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html +42 -0
  1705. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.ts +59 -18
  1706. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.ts +29 -0
  1707. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.po +9 -0
  1708. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.ts +29 -0
  1709. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.po +9 -0
  1710. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.ts +29 -0
  1711. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.po +9 -0
  1712. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.ts +19 -0
  1713. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.po +5 -0
  1714. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.ts +19 -0
  1715. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.po +5 -0
  1716. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.ts +19 -0
  1717. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.po +5 -0
  1718. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.ts +35 -0
  1719. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.po +13 -0
  1720. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.ts +35 -0
  1721. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.po +13 -0
  1722. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.ts +35 -0
  1723. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.po +13 -0
  1724. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.split-namespaces.json +4 -0
  1725. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.ts +24 -0
  1726. package/ts-source/websql-code-prod/taon-cms-backoffice/taon-cms-backoffice.component.html +3 -1
  1727. package/ts-source/websql-code-prod/taon-cms-backoffice/taon-cms-backoffice.component.ts +4 -0
  1728. package/ts-source/websql-code-prod/taon-cms-backoffice/taon-cms-backoffice.routes.ts +5 -2
  1729. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.ts +29 -0
  1730. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.po +9 -0
  1731. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.ts +29 -0
  1732. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.po +9 -0
  1733. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.ts +29 -0
  1734. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.po +9 -0
  1735. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.ts +59 -0
  1736. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.po +29 -0
  1737. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.ts +32 -1
  1738. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.po +22 -2
  1739. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.ts +32 -1
  1740. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.po +22 -2
  1741. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.translation.ts +5 -1
  1742. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content-api.service.ts +72 -9
  1743. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content-storage.controller.ts +54 -7
  1744. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content.controller.ts +120 -4
  1745. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content.entity.ts +2 -0
  1746. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content.models.ts +9 -0
  1747. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content.repository.ts +129 -11
  1748. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content.validation.ts +9 -1
  1749. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-upload-progress.split-namespaces.json +4 -0
  1750. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-upload-progress.ts +85 -0
  1751. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.ts +309 -0
  1752. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.po +177 -0
  1753. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.ts +309 -0
  1754. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.po +177 -0
  1755. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.ts +309 -0
  1756. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.po +177 -0
  1757. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.ts +184 -0
  1758. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.po +110 -0
  1759. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.ts +181 -0
  1760. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.po +110 -0
  1761. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.ts +184 -0
  1762. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.po +110 -0
  1763. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.split-namespaces.json +4 -0
  1764. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.ts +21 -0
  1765. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/taon-cms-post.component.html +391 -92
  1766. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/taon-cms-post.component.scss +5 -0
  1767. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/taon-cms-post.component.ts +239 -35
  1768. 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
  1769. 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
  1770. 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
  1771. 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
  1772. 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
  1773. 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
  1774. 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
  1775. package/ts-source/websql-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.ts +18 -0
  1776. package/ts-source/websql-code-prod/taon-posts/taon-cms-post-details-page/taon-cms-post-details-page.component.ts +9 -1
  1777. package/ts-source/websql-code-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.de-DE.i18n.data.ts +35 -0
  1778. package/ts-source/websql-code-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.de-DE.po +13 -0
  1779. package/ts-source/websql-code-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.en-US.i18n.data.ts +35 -0
  1780. package/ts-source/websql-code-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.en-US.po +13 -0
  1781. package/ts-source/websql-code-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.pl-PL.i18n.data.ts +35 -0
  1782. package/ts-source/websql-code-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.pl-PL.po +13 -0
  1783. package/ts-source/websql-code-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.de-DE.i18n.data.ts +19 -0
  1784. package/ts-source/websql-code-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.de-DE.po +5 -0
  1785. package/ts-source/websql-code-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.en-US.i18n.data.ts +19 -0
  1786. package/ts-source/websql-code-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.en-US.po +5 -0
  1787. package/ts-source/websql-code-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.pl-PL.i18n.data.ts +19 -0
  1788. package/ts-source/websql-code-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.pl-PL.po +5 -0
  1789. package/ts-source/websql-code-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.translation.split-namespaces.json +4 -0
  1790. package/ts-source/websql-code-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.translation.ts +21 -0
  1791. package/ts-source/websql-code-prod/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.html +9 -2
  1792. package/ts-source/websql-code-prod/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.ts +10 -1
  1793. 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
  1794. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.po +13 -0
  1795. 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
  1796. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.po +13 -0
  1797. 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
  1798. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.po +13 -0
  1799. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.ts +89 -0
  1800. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.po +49 -0
  1801. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.ts +89 -0
  1802. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.po +49 -0
  1803. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.ts +89 -0
  1804. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.po +49 -0
  1805. 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
  1806. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.po +13 -0
  1807. 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
  1808. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.po +13 -0
  1809. 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
  1810. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.po +13 -0
  1811. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.split-namespaces.json +4 -0
  1812. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.ts +24 -0
  1813. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.html +2 -2
  1814. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts +15 -11
  1815. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts +5 -2
  1816. 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
  1817. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.po +50 -0
  1818. 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
  1819. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.po +50 -0
  1820. 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
  1821. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.po +50 -0
  1822. 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
  1823. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.po +17 -0
  1824. 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
  1825. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.po +17 -0
  1826. 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
  1827. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.po +17 -0
  1828. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.split-namespaces.json +4 -0
  1829. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.ts +21 -0
  1830. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.html +55 -14
  1831. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.ts +16 -7
  1832. 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
  1833. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.po +30 -0
  1834. 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
  1835. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.po +30 -0
  1836. 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
  1837. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.po +30 -0
  1838. 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
  1839. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.po +13 -0
  1840. 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
  1841. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.po +13 -0
  1842. 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
  1843. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.po +13 -0
  1844. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.split-namespaces.json +4 -0
  1845. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.ts +21 -0
  1846. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.html +40 -11
  1847. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.ts +6 -2
  1848. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.de-DE.i18n.data-BRUu0gBW.mjs +31 -0
  1849. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.de-DE.i18n.data-BRUu0gBW.mjs.map +1 -0
  1850. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.en-US.i18n.data-B9wMX_EY.mjs +31 -0
  1851. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.en-US.i18n.data-B9wMX_EY.mjs.map +1 -0
  1852. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.pl-PL.i18n.data-xbwXUXYs.mjs +31 -0
  1853. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.pl-PL.i18n.data-xbwXUXYs.mjs.map +1 -0
  1854. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.de-DE.i18n.data-BRZcYMCv.mjs +21 -0
  1855. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.de-DE.i18n.data-BRZcYMCv.mjs.map +1 -0
  1856. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.en-US.i18n.data-CLtlIZzx.mjs +21 -0
  1857. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.en-US.i18n.data-CLtlIZzx.mjs.map +1 -0
  1858. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-CPExkT3k.mjs +21 -0
  1859. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-CPExkT3k.mjs.map +1 -0
  1860. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-Brmp2jOd.mjs +26 -0
  1861. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-Brmp2jOd.mjs.map +1 -0
  1862. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.en-US.i18n.data-Dd97eKL6.mjs +26 -0
  1863. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.en-US.i18n.data-Dd97eKL6.mjs.map +1 -0
  1864. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-Bhajq1qM.mjs +26 -0
  1865. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-Bhajq1qM.mjs.map +1 -0
  1866. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-Cxv1uL_y.mjs +26 -0
  1867. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-Cxv1uL_y.mjs.map +1 -0
  1868. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-Isn8nVdY.mjs +26 -0
  1869. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-Isn8nVdY.mjs.map +1 -0
  1870. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-DZQ_dWB0.mjs +26 -0
  1871. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-DZQ_dWB0.mjs.map +1 -0
  1872. package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.html.de-DE.i18n.data-DQollWm9.mjs +16 -0
  1873. package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.html.de-DE.i18n.data-DQollWm9.mjs.map +1 -0
  1874. package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.html.en-US.i18n.data-B6WD9PJf.mjs +16 -0
  1875. package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.html.en-US.i18n.data-B6WD9PJf.mjs.map +1 -0
  1876. package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.html.pl-PL.i18n.data-CkJQRqG3.mjs +16 -0
  1877. package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.html.pl-PL.i18n.data-CkJQRqG3.mjs.map +1 -0
  1878. package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.ts.de-DE.i18n.data-DzBHONcQ.mjs +10 -0
  1879. package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.ts.de-DE.i18n.data-DzBHONcQ.mjs.map +1 -0
  1880. package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.ts.en-US.i18n.data-eTouqefi.mjs +10 -0
  1881. package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.ts.en-US.i18n.data-eTouqefi.mjs.map +1 -0
  1882. package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.ts.pl-PL.i18n.data-C8tsBZCu.mjs +10 -0
  1883. package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.ts.pl-PL.i18n.data-C8tsBZCu.mjs.map +1 -0
  1884. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.de-DE.i18n.data-DLee8IHp.mjs +21 -0
  1885. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.de-DE.i18n.data-DLee8IHp.mjs.map +1 -0
  1886. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.en-US.i18n.data-Bm9mDdSW.mjs +21 -0
  1887. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.en-US.i18n.data-Bm9mDdSW.mjs.map +1 -0
  1888. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-DlhV8M8I.mjs +21 -0
  1889. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-DlhV8M8I.mjs.map +1 -0
  1890. package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.de-DE.i18n.data-C3nWxKN2.mjs +16 -0
  1891. package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.de-DE.i18n.data-C3nWxKN2.mjs.map +1 -0
  1892. package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.en-US.i18n.data-CzHUdCUx.mjs +16 -0
  1893. package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.en-US.i18n.data-CzHUdCUx.mjs.map +1 -0
  1894. package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-BGjfwt-R.mjs +16 -0
  1895. package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-BGjfwt-R.mjs.map +1 -0
  1896. package/websql/fesm2022/cms-websql-taon-cms-post-edit-dialog.component.html.de-DE.i18n.data-Dz5ZLwgG.mjs +21 -0
  1897. package/websql/fesm2022/cms-websql-taon-cms-post-edit-dialog.component.html.de-DE.i18n.data-Dz5ZLwgG.mjs.map +1 -0
  1898. package/websql/fesm2022/cms-websql-taon-cms-post-edit-dialog.component.html.en-US.i18n.data-Z28o4CQK.mjs +21 -0
  1899. package/websql/fesm2022/cms-websql-taon-cms-post-edit-dialog.component.html.en-US.i18n.data-Z28o4CQK.mjs.map +1 -0
  1900. package/websql/fesm2022/cms-websql-taon-cms-post-edit-dialog.component.html.pl-PL.i18n.data-Buh1Pgyd.mjs +21 -0
  1901. package/websql/fesm2022/cms-websql-taon-cms-post-edit-dialog.component.html.pl-PL.i18n.data-Buh1Pgyd.mjs.map +1 -0
  1902. package/websql/fesm2022/cms-websql-taon-cms-post-edit-dialog.component.ts.de-DE.i18n.data-D2I8Zux6.mjs +10 -0
  1903. package/websql/fesm2022/cms-websql-taon-cms-post-edit-dialog.component.ts.de-DE.i18n.data-D2I8Zux6.mjs.map +1 -0
  1904. package/websql/fesm2022/cms-websql-taon-cms-post-edit-dialog.component.ts.en-US.i18n.data-CNV_wiqy.mjs +10 -0
  1905. package/websql/fesm2022/cms-websql-taon-cms-post-edit-dialog.component.ts.en-US.i18n.data-CNV_wiqy.mjs.map +1 -0
  1906. package/websql/fesm2022/cms-websql-taon-cms-post-edit-dialog.component.ts.pl-PL.i18n.data-B3XPzty6.mjs +10 -0
  1907. package/websql/fesm2022/cms-websql-taon-cms-post-edit-dialog.component.ts.pl-PL.i18n.data-B3XPzty6.mjs.map +1 -0
  1908. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.de-DE.i18n.data-Bzbm7OIO.mjs +256 -0
  1909. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.de-DE.i18n.data-Bzbm7OIO.mjs.map +1 -0
  1910. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.en-US.i18n.data-BADXpKlC.mjs +256 -0
  1911. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.en-US.i18n.data-BADXpKlC.mjs.map +1 -0
  1912. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.pl-PL.i18n.data-DyBK3Qg6.mjs +256 -0
  1913. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.pl-PL.i18n.data-DyBK3Qg6.mjs.map +1 -0
  1914. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.de-DE.i18n.data-DaC7IYoM.mjs +146 -0
  1915. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.de-DE.i18n.data-DaC7IYoM.mjs.map +1 -0
  1916. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.en-US.i18n.data-BbpIRzgh.mjs +143 -0
  1917. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.en-US.i18n.data-BbpIRzgh.mjs.map +1 -0
  1918. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.pl-PL.i18n.data-Cqy96DQS.mjs +146 -0
  1919. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.pl-PL.i18n.data-Cqy96DQS.mjs.map +1 -0
  1920. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-CmScO4Pm.mjs +21 -0
  1921. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-CmScO4Pm.mjs.map +1 -0
  1922. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.en-US.i18n.data-IKL7BZHV.mjs +21 -0
  1923. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.en-US.i18n.data-IKL7BZHV.mjs.map +1 -0
  1924. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-BCMo1HVU.mjs +21 -0
  1925. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-BCMo1HVU.mjs.map +1 -0
  1926. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-C1EPeAaF.mjs +66 -0
  1927. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-C1EPeAaF.mjs.map +1 -0
  1928. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-C2t8zwda.mjs +66 -0
  1929. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-C2t8zwda.mjs.map +1 -0
  1930. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-Xehy4KUW.mjs +66 -0
  1931. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-Xehy4KUW.mjs.map +1 -0
  1932. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-CSwq8etN.mjs +21 -0
  1933. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-CSwq8etN.mjs.map +1 -0
  1934. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-ayYFXvcP.mjs +21 -0
  1935. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-ayYFXvcP.mjs.map +1 -0
  1936. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-BZf6TtRS.mjs +21 -0
  1937. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-BZf6TtRS.mjs.map +1 -0
  1938. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.de-DE.i18n.data-BeMa9gWH.mjs +71 -0
  1939. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.de-DE.i18n.data-BeMa9gWH.mjs.map +1 -0
  1940. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.en-US.i18n.data-BQetHhHY.mjs +71 -0
  1941. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.en-US.i18n.data-BQetHhHY.mjs.map +1 -0
  1942. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-DFyL2hhB.mjs +71 -0
  1943. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-DFyL2hhB.mjs.map +1 -0
  1944. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-C8Amkua1.mjs +26 -0
  1945. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-C8Amkua1.mjs.map +1 -0
  1946. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.en-US.i18n.data-Q_yYYlqT.mjs +26 -0
  1947. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.en-US.i18n.data-Q_yYYlqT.mjs.map +1 -0
  1948. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-DS71Bpee.mjs +26 -0
  1949. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-DS71Bpee.mjs.map +1 -0
  1950. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.de-DE.i18n.data-Bg2aMQRp.mjs +46 -0
  1951. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.de-DE.i18n.data-Bg2aMQRp.mjs.map +1 -0
  1952. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.en-US.i18n.data-ta4f6CoB.mjs +46 -0
  1953. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.en-US.i18n.data-ta4f6CoB.mjs.map +1 -0
  1954. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.pl-PL.i18n.data-Dw5hHPVt.mjs +46 -0
  1955. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.pl-PL.i18n.data-Dw5hHPVt.mjs.map +1 -0
  1956. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.de-DE.i18n.data-DaAVLmDB.mjs +21 -0
  1957. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.de-DE.i18n.data-DaAVLmDB.mjs.map +1 -0
  1958. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.en-US.i18n.data-BHozuByI.mjs +21 -0
  1959. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.en-US.i18n.data-BHozuByI.mjs.map +1 -0
  1960. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.pl-PL.i18n.data-CVbRXbCE.mjs +21 -0
  1961. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.pl-PL.i18n.data-CVbRXbCE.mjs.map +1 -0
  1962. package/websql/fesm2022/cms-websql.mjs +1312 -260
  1963. package/websql/fesm2022/cms-websql.mjs.map +1 -1
  1964. package/websql/package.json +1 -1
  1965. package/websql/types/cms-websql.d.ts +247 -122
  1966. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-BRUu0gBW.mjs +31 -0
  1967. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-BRUu0gBW.mjs.map +1 -0
  1968. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.en-US.i18n.data-B9wMX_EY.mjs +31 -0
  1969. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.en-US.i18n.data-B9wMX_EY.mjs.map +1 -0
  1970. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-xbwXUXYs.mjs +31 -0
  1971. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-xbwXUXYs.mjs.map +1 -0
  1972. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-BRZcYMCv.mjs +21 -0
  1973. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-BRZcYMCv.mjs.map +1 -0
  1974. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.en-US.i18n.data-CLtlIZzx.mjs +21 -0
  1975. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.en-US.i18n.data-CLtlIZzx.mjs.map +1 -0
  1976. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-CPExkT3k.mjs +21 -0
  1977. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-CPExkT3k.mjs.map +1 -0
  1978. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-Brmp2jOd.mjs +26 -0
  1979. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-Brmp2jOd.mjs.map +1 -0
  1980. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.en-US.i18n.data-Dd97eKL6.mjs +26 -0
  1981. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.en-US.i18n.data-Dd97eKL6.mjs.map +1 -0
  1982. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-Bhajq1qM.mjs +26 -0
  1983. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-Bhajq1qM.mjs.map +1 -0
  1984. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-Cxv1uL_y.mjs +26 -0
  1985. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-Cxv1uL_y.mjs.map +1 -0
  1986. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-Isn8nVdY.mjs +26 -0
  1987. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-Isn8nVdY.mjs.map +1 -0
  1988. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-DZQ_dWB0.mjs +26 -0
  1989. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-DZQ_dWB0.mjs.map +1 -0
  1990. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.html.de-DE.i18n.data-DQollWm9.mjs +16 -0
  1991. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.html.de-DE.i18n.data-DQollWm9.mjs.map +1 -0
  1992. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.html.en-US.i18n.data-B6WD9PJf.mjs +16 -0
  1993. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.html.en-US.i18n.data-B6WD9PJf.mjs.map +1 -0
  1994. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.html.pl-PL.i18n.data-CkJQRqG3.mjs +16 -0
  1995. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.html.pl-PL.i18n.data-CkJQRqG3.mjs.map +1 -0
  1996. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.ts.de-DE.i18n.data-DzBHONcQ.mjs +10 -0
  1997. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.ts.de-DE.i18n.data-DzBHONcQ.mjs.map +1 -0
  1998. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.ts.en-US.i18n.data-eTouqefi.mjs +10 -0
  1999. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.ts.en-US.i18n.data-eTouqefi.mjs.map +1 -0
  2000. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.ts.pl-PL.i18n.data-C8tsBZCu.mjs +10 -0
  2001. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.ts.pl-PL.i18n.data-C8tsBZCu.mjs.map +1 -0
  2002. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-DLee8IHp.mjs +21 -0
  2003. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-DLee8IHp.mjs.map +1 -0
  2004. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-Bm9mDdSW.mjs +21 -0
  2005. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-Bm9mDdSW.mjs.map +1 -0
  2006. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-DlhV8M8I.mjs +21 -0
  2007. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-DlhV8M8I.mjs.map +1 -0
  2008. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.de-DE.i18n.data-C3nWxKN2.mjs +16 -0
  2009. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.de-DE.i18n.data-C3nWxKN2.mjs.map +1 -0
  2010. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.en-US.i18n.data-CzHUdCUx.mjs +16 -0
  2011. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.en-US.i18n.data-CzHUdCUx.mjs.map +1 -0
  2012. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-BGjfwt-R.mjs +16 -0
  2013. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-BGjfwt-R.mjs.map +1 -0
  2014. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-edit-dialog.component.html.de-DE.i18n.data-Dz5ZLwgG.mjs +21 -0
  2015. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-edit-dialog.component.html.de-DE.i18n.data-Dz5ZLwgG.mjs.map +1 -0
  2016. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-edit-dialog.component.html.en-US.i18n.data-Z28o4CQK.mjs +21 -0
  2017. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-edit-dialog.component.html.en-US.i18n.data-Z28o4CQK.mjs.map +1 -0
  2018. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-edit-dialog.component.html.pl-PL.i18n.data-Buh1Pgyd.mjs +21 -0
  2019. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-edit-dialog.component.html.pl-PL.i18n.data-Buh1Pgyd.mjs.map +1 -0
  2020. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-edit-dialog.component.ts.de-DE.i18n.data-D2I8Zux6.mjs +10 -0
  2021. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-edit-dialog.component.ts.de-DE.i18n.data-D2I8Zux6.mjs.map +1 -0
  2022. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-edit-dialog.component.ts.en-US.i18n.data-CNV_wiqy.mjs +10 -0
  2023. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-edit-dialog.component.ts.en-US.i18n.data-CNV_wiqy.mjs.map +1 -0
  2024. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-edit-dialog.component.ts.pl-PL.i18n.data-B3XPzty6.mjs +10 -0
  2025. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-edit-dialog.component.ts.pl-PL.i18n.data-B3XPzty6.mjs.map +1 -0
  2026. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.de-DE.i18n.data-Bzbm7OIO.mjs +256 -0
  2027. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.de-DE.i18n.data-Bzbm7OIO.mjs.map +1 -0
  2028. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.en-US.i18n.data-BADXpKlC.mjs +256 -0
  2029. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.en-US.i18n.data-BADXpKlC.mjs.map +1 -0
  2030. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.pl-PL.i18n.data-DyBK3Qg6.mjs +256 -0
  2031. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.pl-PL.i18n.data-DyBK3Qg6.mjs.map +1 -0
  2032. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.de-DE.i18n.data-DaC7IYoM.mjs +146 -0
  2033. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.de-DE.i18n.data-DaC7IYoM.mjs.map +1 -0
  2034. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.en-US.i18n.data-BbpIRzgh.mjs +143 -0
  2035. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.en-US.i18n.data-BbpIRzgh.mjs.map +1 -0
  2036. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.pl-PL.i18n.data-Cqy96DQS.mjs +146 -0
  2037. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.pl-PL.i18n.data-Cqy96DQS.mjs.map +1 -0
  2038. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-CmScO4Pm.mjs +21 -0
  2039. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-CmScO4Pm.mjs.map +1 -0
  2040. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.en-US.i18n.data-IKL7BZHV.mjs +21 -0
  2041. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.en-US.i18n.data-IKL7BZHV.mjs.map +1 -0
  2042. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-BCMo1HVU.mjs +21 -0
  2043. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-BCMo1HVU.mjs.map +1 -0
  2044. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-C1EPeAaF.mjs +66 -0
  2045. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-C1EPeAaF.mjs.map +1 -0
  2046. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-C2t8zwda.mjs +66 -0
  2047. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-C2t8zwda.mjs.map +1 -0
  2048. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-Xehy4KUW.mjs +66 -0
  2049. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-Xehy4KUW.mjs.map +1 -0
  2050. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-CSwq8etN.mjs +21 -0
  2051. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-CSwq8etN.mjs.map +1 -0
  2052. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-ayYFXvcP.mjs +21 -0
  2053. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-ayYFXvcP.mjs.map +1 -0
  2054. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-BZf6TtRS.mjs +21 -0
  2055. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-BZf6TtRS.mjs.map +1 -0
  2056. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.de-DE.i18n.data-BeMa9gWH.mjs +71 -0
  2057. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.de-DE.i18n.data-BeMa9gWH.mjs.map +1 -0
  2058. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.en-US.i18n.data-BQetHhHY.mjs +71 -0
  2059. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.en-US.i18n.data-BQetHhHY.mjs.map +1 -0
  2060. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-DFyL2hhB.mjs +71 -0
  2061. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-DFyL2hhB.mjs.map +1 -0
  2062. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-C8Amkua1.mjs +26 -0
  2063. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-C8Amkua1.mjs.map +1 -0
  2064. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.en-US.i18n.data-Q_yYYlqT.mjs +26 -0
  2065. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.en-US.i18n.data-Q_yYYlqT.mjs.map +1 -0
  2066. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-DS71Bpee.mjs +26 -0
  2067. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-DS71Bpee.mjs.map +1 -0
  2068. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.de-DE.i18n.data-Bg2aMQRp.mjs +46 -0
  2069. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.de-DE.i18n.data-Bg2aMQRp.mjs.map +1 -0
  2070. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.en-US.i18n.data-ta4f6CoB.mjs +46 -0
  2071. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.en-US.i18n.data-ta4f6CoB.mjs.map +1 -0
  2072. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.pl-PL.i18n.data-Dw5hHPVt.mjs +46 -0
  2073. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.pl-PL.i18n.data-Dw5hHPVt.mjs.map +1 -0
  2074. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.de-DE.i18n.data-DaAVLmDB.mjs +21 -0
  2075. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.de-DE.i18n.data-DaAVLmDB.mjs.map +1 -0
  2076. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.en-US.i18n.data-BHozuByI.mjs +21 -0
  2077. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.en-US.i18n.data-BHozuByI.mjs.map +1 -0
  2078. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.pl-PL.i18n.data-CVbRXbCE.mjs +21 -0
  2079. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.pl-PL.i18n.data-CVbRXbCE.mjs.map +1 -0
  2080. package/websql-prod/fesm2022/cms-websql-prod.mjs +1312 -260
  2081. package/websql-prod/fesm2022/cms-websql-prod.mjs.map +1 -1
  2082. package/websql-prod/package.json +1 -1
  2083. package/websql-prod/types/cms-websql-prod.d.ts +247 -122
@@ -1,21 +1,22 @@
1
1
  import { __decorate, __metadata, __param } from 'tslib';
2
- import { TaonBaseEntity, PrimaryGeneratedColumn, Column, OneToOne, JoinColumn, TaonEntity, ManyToMany, JoinTable, TaonBaseMigration, ClassHelpers__NS__getName, TaonMigration, TaonBaseAbstractEntity, Taon__NS__error, TaonBaseRepository, TaonRepository, TaonBaseCrudController, TaonController, TaonBaseProvider, TaonProvider, TaonBaseMiddleware, TaonMiddleware, TaonBaseSubscriberForEntity, TaonSubscriber, createContext, TaonBaseContext, GET, Query, POST, Body, PUT, DELETE, TaonBaseStorageController, TaonBaseAngularService } from 'taon/websql-prod';
3
- import { TaonPermissionEntity, 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/websql-prod';
4
- import { Table, Raw, In } from 'taon-typeorm/websql-prod';
5
- import { UtilsJson__NS__getValue } from 'tnp-core/websql-prod';
2
+ import { TaonBaseEntity, PrimaryGeneratedColumn, Column, OneToOne, JoinColumn, TaonEntity, ManyToMany, JoinTable, TaonBaseMigration, ClassHelpers__NS__getName, TaonMigration, TaonBaseAbstractEntity, Taon__NS__error, TaonBaseRepository, TaonRepository, TaonBaseCrudController, TaonController, TaonBaseProvider, TaonProvider, TaonBaseMiddleware, TaonMiddleware, TaonBaseSubscriberForEntity, TaonSubscriber, createContext, TaonBaseContext, GET, Query, TaonBaseStorageController, POST, Body, PUT, DELETE, TaonBaseAngularService } from 'taon/websql-prod';
3
+ import { TaonPermissionEntity, 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/websql-prod';
4
+ import { Table, TableColumn, Raw, In } from 'taon-typeorm/websql-prod';
5
+ import { UtilsJson__NS__getValue, ___NS__first } from 'tnp-core/websql-prod';
6
6
  import { BaseCommandLineFeature } from 'tnp-helpers/websql-prod';
7
7
  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';
8
+ import { Injectable, inject, DestroyRef, signal, Input, ChangeDetectionStrategy, Component, ElementRef, EventEmitter, SecurityContext, HostListener, Output, Directive, computed, input, model, output, effect, untracked, viewChild, ViewChild } from '@angular/core';
9
+ import * as i1 from '@angular/material/button';
10
+ import { MatButtonModule } from '@angular/material/button';
11
+ import { Translation } from '@taon-dev/i18n/websql-prod';
12
+ import { Observable, of, map as map$1, finalize, firstValueFrom, Subject, takeUntil } from 'rxjs';
13
+ import { map, catchError } from 'rxjs/operators';
14
+ import { Resource__NS__methodsInterceptors } from 'ng2-rest/websql-prod';
15
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
16
+ import { TaonDatatableComponent, adminLazyRoute as adminLazyRoute$1, TaonConfirmDialogComponent } from '@taon-dev/ui/websql-prod';
10
17
  import { AsyncPipe, DatePipe } from '@angular/common';
11
18
  import { RouterOutlet, ActivatedRoute, RouterLink, Router } from '@angular/router';
12
- import { adminLazyRoute as adminLazyRoute$1, TaonConfirmDialogComponent, TaonDatatableComponent } from '@taon-dev/ui/websql-prod';
13
- import { map, catchError } from 'rxjs/operators';
14
- import { of, finalize, map as map$1, Subject, takeUntil } from 'rxjs';
15
19
  import { DomSanitizer } from '@angular/platform-browser';
16
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
17
- import * as i1 from '@angular/material/button';
18
- import { MatButtonModule } from '@angular/material/button';
19
20
  import * as i2$1 from '@angular/material/checkbox';
20
21
  import { MatCheckboxModule } from '@angular/material/checkbox';
21
22
  import * as i2 from '@angular/material/dialog';
@@ -24,9 +25,11 @@ import * as i3$1 from '@angular/material/form-field';
24
25
  import { MatFormFieldModule } from '@angular/material/form-field';
25
26
  import * as i4 from '@angular/material/icon';
26
27
  import { MatIconModule } from '@angular/material/icon';
28
+ import * as i5 from '@angular/material/progress-bar';
29
+ import { MatProgressBarModule } from '@angular/material/progress-bar';
27
30
  import * as i3 from '@angular/material/radio';
28
31
  import { MatRadioModule } from '@angular/material/radio';
29
- import * as i6 from '@angular/material/select';
32
+ import * as i7 from '@angular/material/select';
30
33
  import { MatSelectModule } from '@angular/material/select';
31
34
 
32
35
  let TaonCmsApplicationHookEntity = class TaonCmsApplicationHookEntity extends TaonBaseEntity {
@@ -75,6 +78,8 @@ let TaonCmsContentEntity = class TaonCmsContentEntity extends TaonBaseEntity {
75
78
  //#region @websql
76
79
  this.type = TaonCmsContentType.Normal;
77
80
  //#region @websql
81
+ this.applyPermissionsToRelatedPosts = false;
82
+ //#region @websql
78
83
  this.videoKey = null;
79
84
  //#region @websql
80
85
  this.audioKey = null;
@@ -140,6 +145,12 @@ __decorate([
140
145
  ,
141
146
  __metadata("design:type", Array)
142
147
  ], TaonCmsContentEntity.prototype, "permissions", void 0);
148
+ __decorate([
149
+ Column({ type: 'boolean', default: false })
150
+ //#endregion
151
+ ,
152
+ __metadata("design:type", Boolean)
153
+ ], TaonCmsContentEntity.prototype, "applyPermissionsToRelatedPosts", void 0);
143
154
  __decorate([
144
155
  Column({ type: 'text', nullable: true })
145
156
  //#endregion
@@ -294,14 +305,43 @@ CmsContext_1792506757808_applicaitonHooks = __decorate([
294
305
  ], CmsContext_1792506757808_applicaitonHooks);
295
306
  //#endregion
296
307
 
308
+ let CmsContext_1792579000000_postPermissionInheritance = class CmsContext_1792579000000_postPermissionInheritance extends TaonBaseMigration {
309
+ async up(queryRunner) {
310
+ const table = ClassHelpers__NS__getName(TaonCmsContentEntity);
311
+ if (!(await queryRunner.hasColumn(table, 'applyPermissionsToRelatedPosts'))) {
312
+ await queryRunner.addColumn(table, new TableColumn({
313
+ name: 'applyPermissionsToRelatedPosts',
314
+ type: 'boolean',
315
+ default: false,
316
+ }));
317
+ }
318
+ }
319
+ async down(queryRunner) {
320
+ const table = ClassHelpers__NS__getName(TaonCmsContentEntity);
321
+ if (await queryRunner.hasColumn(table, 'applyPermissionsToRelatedPosts')) {
322
+ await queryRunner.dropColumn(table, 'applyPermissionsToRelatedPosts');
323
+ }
324
+ }
325
+ };
326
+ CmsContext_1792579000000_postPermissionInheritance = __decorate([
327
+ TaonMigration({
328
+ className: 'CmsContext_1792579000000_postPermissionInheritance',
329
+ })
330
+ ], CmsContext_1792579000000_postPermissionInheritance);
331
+
297
332
  // THIS FILE IS GENERATED - DO NOT MODIFY
298
333
  // THIS FILE IS GENERATED - DO NOT MODIFY
299
- const MIGRATIONS_CLASSES_FOR_CmsContext = {
334
+ const MIGRATIONS_CLASSES_FOR_CmsContext$1 = {
300
335
  /* 20-10-2026 16:32:37 */ CmsContext_1792506757808_applicaitonHooks,
336
+ /* 21-10-2026 12:36:40 */ CmsContext_1792579000000_postPermissionInheritance,
301
337
  };
302
338
  // THIS FILE IS GENERATED - DO NOT MODIFY
303
339
 
304
340
  //@ts-nocheck
341
+ const MIGRATIONS_CLASSES_FOR_CmsContext = {
342
+ ...MIGRATIONS_CLASSES_FOR_CmsContext$1,
343
+ CmsContext_1792579000000_postPermissionInheritance,
344
+ };
305
345
 
306
346
  // THIS FILE IS GENERATED - DO NOT MODIFY
307
347
  /**
@@ -327,7 +367,7 @@ const CURRENT_PACKAGE_TAON_VERSION = 'v21';
327
367
  /**
328
368
  * Autogenerated by current cli tool. Use *tnp release* to bump version.
329
369
  */
330
- const CURRENT_PACKAGE_VERSION = '21.0.16';
370
+ const CURRENT_PACKAGE_VERSION = '21.0.17';
331
371
  // THIS FILE IS GENERATED - DO NOT MODIFY
332
372
 
333
373
  //#region tnp-helpers cli template
@@ -489,7 +529,11 @@ function validateContentInput(input, creating = false) {
489
529
  }
490
530
  }
491
531
  for (const field of [
492
- 'body', 'excerpt', 'videoKey', 'audioKey', 'attachmentKey',
532
+ 'body',
533
+ 'excerpt',
534
+ 'videoKey',
535
+ 'audioKey',
536
+ 'attachmentKey',
493
537
  ]) {
494
538
  if (input[field] !== undefined &&
495
539
  input[field] !== null &&
@@ -502,6 +546,10 @@ function validateContentInput(input, creating = false) {
502
546
  requireContentId(input[field], field);
503
547
  }
504
548
  }
549
+ if (input.applyPermissionsToRelatedPosts !== undefined &&
550
+ typeof input.applyPermissionsToRelatedPosts !== 'boolean') {
551
+ contentError('applyPermissionsToRelatedPosts must be a boolean.');
552
+ }
505
553
  if (input.status !== undefined &&
506
554
  !['draft', 'published', 'archived'].includes(input.status)) {
507
555
  contentError('status must be draft, published, or archived.');
@@ -1287,9 +1335,13 @@ const TaonSessionCoreRoles = {
1287
1335
  * Does NOT allow changing user groups.
1288
1336
  */
1289
1337
  PostsManager: 'posts-manager',
1338
+ PremiumUser1: 'premium-user-1',
1339
+ PremiumUser2: 'premium-user-2',
1290
1340
  };
1291
1341
  const TaonSessionCorePermissions = {
1292
1342
  ...TaonSessionCorePermissions$1,
1343
+ ViewPrivateVideo1: 'view-private-video-1',
1344
+ ViewPrivateVideo2: 'view-private-video-2',
1293
1345
  };
1294
1346
  let TaonAuthContextEntity = class TaonAuthContextEntity extends TaonAuthContextEntity$1 {
1295
1347
  // @ts-ignore
@@ -1351,6 +1403,12 @@ let CmsContext_1791132517217_initial = class CmsContext_1791132517217_initial ex
1351
1403
  TaonSessionCorePermissions.ManageUserPermissions,
1352
1404
  ],
1353
1405
  [TaonSessionCoreRoles.PostsManager]: [],
1406
+ [TaonSessionCoreRoles.PremiumUser1]: [
1407
+ TaonSessionCorePermissions.ViewPrivateVideo1,
1408
+ ],
1409
+ [TaonSessionCoreRoles.PremiumUser2]: [
1410
+ TaonSessionCorePermissions.ViewPrivateVideo2,
1411
+ ],
1354
1412
  [TaonSessionCoreRoles.UserManager]: [
1355
1413
  TaonSessionCorePermissions.ViewUsers,
1356
1414
  TaonSessionCorePermissions.ManageUsers,
@@ -1383,7 +1441,7 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1383
1441
  async createContent(input) {
1384
1442
  //#region @websqlFunc
1385
1443
  validateContentInput(input, true);
1386
- return this.connection.transaction(async (manager) => {
1444
+ return this.connection.transaction('SERIALIZABLE', async (manager) => {
1387
1445
  const fields = this.contentFields(input);
1388
1446
  const tagIds = [...new Set(input.tagIds ?? [])];
1389
1447
  const relatedPostIds = [...new Set(input.relatedPostIds ?? [])];
@@ -1400,6 +1458,7 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1400
1458
  }));
1401
1459
  await this.taonCmsContentTagRepository.replaceTags(content.id, tagIds, manager);
1402
1460
  await this.replaceRelatedPosts(content.id, relatedPostIds, [], manager);
1461
+ await this.validatePermissionInheritance(manager);
1403
1462
  await this.replacePermissions(content.id, permissionIds, [], manager);
1404
1463
  await this.replaceApplicationHook(content.id, input.applicationHook ?? null, manager);
1405
1464
  await this.taonCmsContentRevisionRepository.recordContent(content, { ...fields, tagIds, relatedPostIds, permissionIds }, manager);
@@ -1412,7 +1471,7 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1412
1471
  requireContentId(id);
1413
1472
  validateContentInput(input);
1414
1473
  requireContentVersion(input.expectedVersion);
1415
- return this.connection.transaction(async (manager) => {
1474
+ return this.connection.transaction('SERIALIZABLE', async (manager) => {
1416
1475
  const current = await this.requireContent(id, manager);
1417
1476
  const snapshot = await this.snapshotOf(current, manager);
1418
1477
  const fields = this.contentFields(input, snapshot);
@@ -1442,7 +1501,7 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1442
1501
  }
1443
1502
  requireContentVersion(input.revisionNumber, 'revisionNumber');
1444
1503
  requireContentVersion(input.expectedVersion);
1445
- return this.connection.transaction(async (manager) => {
1504
+ return this.connection.transaction('SERIALIZABLE', async (manager) => {
1446
1505
  const current = await this.requireContent(id, manager);
1447
1506
  const revision = await this.taonCmsContentRevisionRepository.requireRevision(id, input.revisionNumber, manager);
1448
1507
  if (!revision.snapshot) {
@@ -1494,7 +1553,89 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1494
1553
  async listPermissions(id) {
1495
1554
  //#region @websqlFunc
1496
1555
  requireContentId(id);
1497
- return this.connection.transaction(async (manager) => (await this.requireContent(id, manager)).permissions);
1556
+ return (await this.getPermissionConfiguration(id)).permissions;
1557
+ //#endregion
1558
+ }
1559
+ async getPermissionConfiguration(id) {
1560
+ //#region @websqlFunc
1561
+ requireContentId(id);
1562
+ return this.connection.transaction(async (manager) => {
1563
+ const post = await this.requireContent(id, manager);
1564
+ return this.resolvePermissionConfiguration(post, manager);
1565
+ });
1566
+ //#endregion
1567
+ }
1568
+ async resolvePermissionConfiguration(post, manager) {
1569
+ //#region @websqlFunc
1570
+ const repository = manager.getRepository(this.target);
1571
+ let source = post;
1572
+ const visited = new Set();
1573
+ while (true) {
1574
+ if (visited.has(source.id)) {
1575
+ contentError('Permission inheritance contains a cycle.', 409);
1576
+ }
1577
+ visited.add(source.id);
1578
+ const parents = await repository.find({
1579
+ where: {
1580
+ applyPermissionsToRelatedPosts: true,
1581
+ relatedPosts: { id: source.id },
1582
+ },
1583
+ relations: { permissions: true },
1584
+ });
1585
+ if (parents.length > 1) {
1586
+ contentError('A post cannot inherit permissions from multiple sources.', 409);
1587
+ }
1588
+ if (!parents.length) {
1589
+ return {
1590
+ permissions: source.permissions,
1591
+ source: source.id === post.id
1592
+ ? null
1593
+ : { id: source.id, title: source.title },
1594
+ };
1595
+ }
1596
+ source = parents[0];
1597
+ }
1598
+ //#endregion
1599
+ }
1600
+ async validatePermissionInheritance(manager) {
1601
+ //#region @websqlFunc
1602
+ const parents = await manager
1603
+ .getRepository(this.target)
1604
+ .find({
1605
+ where: { applyPermissionsToRelatedPosts: true },
1606
+ relations: { relatedPosts: true },
1607
+ });
1608
+ const sources = new Map();
1609
+ for (const parent of parents) {
1610
+ for (const child of parent.relatedPosts) {
1611
+ if (sources.has(child.id)) {
1612
+ contentError(`Content ${child.id} would inherit permissions from multiple sources.`, 409);
1613
+ }
1614
+ sources.set(child.id, parent.id);
1615
+ }
1616
+ }
1617
+ for (const id of sources.keys()) {
1618
+ const visited = new Set();
1619
+ let current = id;
1620
+ while (current !== undefined) {
1621
+ if (visited.has(current)) {
1622
+ contentError('Permission inheritance cannot contain cycles.', 409);
1623
+ }
1624
+ visited.add(current);
1625
+ current = sources.get(current);
1626
+ }
1627
+ }
1628
+ //#endregion
1629
+ }
1630
+ async requireOwnPermissionEdit(id, permissionIds, current, manager) {
1631
+ //#region @websqlFunc
1632
+ const configuration = await this.resolvePermissionConfiguration(current, manager);
1633
+ const ownIds = new Set(current.permissions.map(permission => permission.id));
1634
+ if (configuration.source &&
1635
+ (ownIds.size !== new Set(permissionIds).size ||
1636
+ permissionIds.some(permissionId => !ownIds.has(permissionId)))) {
1637
+ contentError(`Content ${id} inherits permissions; edit the source post instead.`, 409);
1638
+ }
1498
1639
  //#endregion
1499
1640
  }
1500
1641
  async listApplicationHooks() {
@@ -1505,6 +1646,11 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1505
1646
  //#endregion
1506
1647
  }
1507
1648
  async getContentByHook(hook) {
1649
+ //#region @websqlFunc
1650
+ return (await this.getContentForHook(hook))?.body ?? '';
1651
+ //#endregion
1652
+ }
1653
+ async getContentForHook(hook) {
1508
1654
  //#region @websqlFunc
1509
1655
  if (!hook) {
1510
1656
  contentError('Application hook is required.');
@@ -1513,11 +1659,47 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1513
1659
  .getRepository(TaonCmsApplicationHookEntity)
1514
1660
  .findOne({
1515
1661
  where: { hook: hook },
1516
- relations: { content: true },
1662
+ relations: { content: { permissions: true } },
1663
+ });
1664
+ return applicationHook?.content ?? null;
1665
+ //#endregion
1666
+ }
1667
+ //#region methods / media access
1668
+ async getContentBySlugForMedia(slug) {
1669
+ //#region @websqlFunc
1670
+ if (!slug) {
1671
+ contentError('Content slug is required.');
1672
+ }
1673
+ return this.connection
1674
+ .getRepository(this.target)
1675
+ .findOne({
1676
+ where: { slug },
1677
+ relations: { permissions: true },
1678
+ });
1679
+ //#endregion
1680
+ }
1681
+ async isPublicMediaKey(key) {
1682
+ //#region @websqlFunc
1683
+ const contents = await this.connection
1684
+ .getRepository(this.target)
1685
+ .find({
1686
+ where: [{ videoKey: key }, { audioKey: key }, { attachmentKey: key }],
1687
+ relations: { permissions: true },
1517
1688
  });
1518
- return applicationHook?.content?.body ?? '';
1689
+ if (!contents.length) {
1690
+ return false;
1691
+ }
1692
+ for (const content of contents) {
1693
+ if (content.status !== 'published' ||
1694
+ (await this.getPermissionConfiguration(content.id)).permissions.length >
1695
+ 0) {
1696
+ return false;
1697
+ }
1698
+ }
1699
+ return true;
1519
1700
  //#endregion
1520
1701
  }
1702
+ //#endregion
1521
1703
  async addRelatedPost(id, relatedPostId, expectedVersion) {
1522
1704
  //#region @websqlFunc
1523
1705
  return this.changeRelatedPost(id, relatedPostId, expectedVersion, true);
@@ -1536,7 +1718,7 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1536
1718
  if (id === relatedPostId) {
1537
1719
  contentError('A post cannot relate to itself.');
1538
1720
  }
1539
- return this.connection.transaction(async (manager) => {
1721
+ return this.connection.transaction('SERIALIZABLE', async (manager) => {
1540
1722
  const current = await this.requireContent(id, manager);
1541
1723
  await this.requireContent(relatedPostId, manager);
1542
1724
  const snapshot = await this.snapshotOf(current, manager);
@@ -1581,8 +1763,12 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1581
1763
  title,
1582
1764
  slug,
1583
1765
  body: input.body === undefined ? (current?.body ?? null) : input.body,
1584
- videoKey: input.videoKey === undefined ? (current?.videoKey ?? null) : input.videoKey,
1585
- audioKey: input.audioKey === undefined ? (current?.audioKey ?? null) : input.audioKey,
1766
+ videoKey: input.videoKey === undefined
1767
+ ? (current?.videoKey ?? null)
1768
+ : input.videoKey,
1769
+ audioKey: input.audioKey === undefined
1770
+ ? (current?.audioKey ?? null)
1771
+ : input.audioKey,
1586
1772
  attachmentKey: input.attachmentKey === undefined
1587
1773
  ? (current?.attachmentKey ?? null)
1588
1774
  : input.attachmentKey,
@@ -1597,6 +1783,9 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1597
1783
  : input.authorUserId,
1598
1784
  status: input.status ?? current?.status ?? 'draft',
1599
1785
  publishedAt: publishedAt === null ? null : new Date(publishedAt),
1786
+ applyPermissionsToRelatedPosts: input.applyPermissionsToRelatedPosts ??
1787
+ current?.applyPermissionsToRelatedPosts ??
1788
+ false,
1600
1789
  };
1601
1790
  }
1602
1791
  async snapshotOf(content, manager) {
@@ -1669,7 +1858,8 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1669
1858
  const added = relatedPostIds.filter(postId => !previousIds.includes(postId));
1670
1859
  const removed = previousIds.filter(postId => !relatedPostIds.includes(postId));
1671
1860
  if (added.length || removed.length) {
1672
- await repository.createQueryBuilder()
1861
+ await repository
1862
+ .createQueryBuilder()
1673
1863
  .relation('relatedPosts')
1674
1864
  .of(id)
1675
1865
  .addAndRemove(added, removed);
@@ -1724,6 +1914,7 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1724
1914
  if (current.version !== expectedVersion) {
1725
1915
  contentError('Content has changed. Reload it before editing.', 409);
1726
1916
  }
1917
+ await this.requireOwnPermissionEdit(current.id, snapshot.permissionIds, current, manager);
1727
1918
  await this.validateReferences(snapshot, snapshot.tagIds, snapshot.permissionIds, manager);
1728
1919
  await this.requireAvailableSlug(snapshot.slug, manager, current.id);
1729
1920
  // Preserve the first pre-API version before replacing it.
@@ -1739,6 +1930,7 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1739
1930
  }
1740
1931
  await this.taonCmsContentTagRepository.replaceTags(current.id, snapshot.tagIds, manager);
1741
1932
  await this.replaceRelatedPosts(current.id, [...new Set(snapshot.relatedPostIds ?? [])], current.relatedPosts.map(post => post.id), manager);
1933
+ await this.validatePermissionInheritance(manager);
1742
1934
  await this.replacePermissions(current.id, [...new Set(snapshot.permissionIds ?? [])], current.permissions.map(permission => permission.id), manager);
1743
1935
  if (applicationHook !== undefined) {
1744
1936
  await this.replaceApplicationHook(current.id, applicationHook, manager);
@@ -1774,13 +1966,13 @@ TaonCmsContentRepository = __decorate([
1774
1966
  ], TaonCmsContentRepository);
1775
1967
 
1776
1968
  //#endregion
1777
- let TaonCmsContentController = class TaonCmsContentController extends TaonBaseCrudController {
1969
+ let TaonCmsContentStorageController = class TaonCmsContentStorageController extends TaonBaseStorageController {
1778
1970
  constructor() {
1779
1971
  super(...arguments);
1780
- this.entityClassResolveFn = () => TaonCmsContentEntity;
1781
- this.taonCmsContentRepository = this.injectCustomRepo(TaonCmsContentRepository);
1782
1972
  this.taonSessionRepository = this.injectCustomRepo(TaonSessionRepository);
1783
1973
  this.taonAuthContextRepository = this.injectCustomRepo(TaonAuthContextRepository);
1974
+ this.taonCmsContentRepository = this.injectCustomRepo(TaonCmsContentRepository);
1975
+ this.taonSessionProvider = this.injectProvider(TaonSessionProvider);
1784
1976
  }
1785
1977
  async beforeEachRequest({ req, res, methodConfig, t, }) {
1786
1978
  /* */
@@ -1798,83 +1990,432 @@ let TaonCmsContentController = class TaonCmsContentController extends TaonBaseCr
1798
1990
  /* */
1799
1991
  /* */
1800
1992
  /* */
1993
+ /* */
1801
1994
  return (void 0);
1802
1995
  }
1803
- //#region get by id
1804
- getBySlug(slug) {
1996
+ async handleUploadFiles(files, queryParams, req, res) {
1997
+ /* */
1998
+ /* */
1999
+ /* */
2000
+ /* */
2001
+ /* */
2002
+ /* */
2003
+ /* */
2004
+ /* */
2005
+ /* */
2006
+ /* */
2007
+ /* */
2008
+ /* */
2009
+ /* */
2010
+ /* */
2011
+ /* */
2012
+ /* */
2013
+ /* */
2014
+ /* */
2015
+ /* */
2016
+ /* */
2017
+ /* */
2018
+ /* */
2019
+ /* */
2020
+ /* */
2021
+ /* */
2022
+ /* */
2023
+ /* */
2024
+ /* */
2025
+ /* */
2026
+ /* */
2027
+ /* */
2028
+ /* */
2029
+ /* */
2030
+ /* */
2031
+ /* */
2032
+ return (void 0);
2033
+ }
2034
+ afterFileUploadHook() { }
2035
+ async isMediaObjectAvailable(key) {
2036
+ /* */
2037
+ /* */
2038
+ return (void 0);
2039
+ }
2040
+ buildStorageDownloadUrl(options) {
1805
2041
  //#region @websqlFunc
1806
- return async () => {
1807
- const model = await this.db.findOne({
1808
- where: {
1809
- slug,
1810
- },
1811
- });
1812
- return model;
1813
- };
2042
+ if (!this.ctx) {
2043
+ console.trace(`[buildStorageDownloadUrl] accessing without context`);
2044
+ return;
2045
+ }
2046
+ const isLocalhost = this.ctx.frontendHostUri.origin.includes('://localhost:');
2047
+ const urlFromMehtod = this.getThisControllerMethodFullUrl('download');
2048
+ // console.log({ urlFromMehtod });
2049
+ const url = new URL(urlFromMehtod);
2050
+ url.search = '';
2051
+ url.searchParams.set('key', options.key);
2052
+ if (options.token) {
2053
+ url.searchParams.set('token', options.token);
2054
+ }
2055
+ if (options.download) {
2056
+ url.searchParams.set('download', 'true');
2057
+ }
2058
+ return (`${isLocalhost ? this.ctx.uri.origin : this.ctx.frontendHostUri.origin}` +
2059
+ `${url.pathname}${url.search}`);
2060
+ //#endregion
2061
+ }
2062
+ async createStorageDownloadToken(options) {
2063
+ /* */
2064
+ /* */
2065
+ /* */
2066
+ /* */
2067
+ /* */
2068
+ /* */
2069
+ /* */
2070
+ /* */
2071
+ /* */
2072
+ /* */
2073
+ /* */
2074
+ /* */
2075
+ /* */
2076
+ /* */
2077
+ /* */
2078
+ /* */
2079
+ return (void 0);
2080
+ }
2081
+ async verifyStorageDownloadToken(options) {
2082
+ /* */
2083
+ /* */
2084
+ /* */
2085
+ /* */
2086
+ /* */
2087
+ /* */
2088
+ /* */
2089
+ /* */
2090
+ /* */
2091
+ /* */
2092
+ /* */
2093
+ /* */
2094
+ /* */
2095
+ /* */
2096
+ /* */
2097
+ return (void 0);
2098
+ }
2099
+ async isPublicStorageKey(key) {
2100
+ /* */
2101
+ /* */
2102
+ return (void 0);
2103
+ }
2104
+ };
2105
+ TaonCmsContentStorageController = __decorate([
2106
+ TaonController({
2107
+ className: 'TaonCmsContentStorageController',
2108
+ // allowedMethods: ['download', 'uploadFormDataToServer'],
2109
+ })
2110
+ ], TaonCmsContentStorageController);
2111
+
2112
+ //#endregion
2113
+ let TaonCmsContentController = class TaonCmsContentController extends TaonBaseCrudController {
2114
+ constructor() {
2115
+ super(...arguments);
2116
+ //#region fields & getters
2117
+ this.entityClassResolveFn = () => TaonCmsContentEntity;
2118
+ this.taonCmsContentRepository = this.injectCustomRepo(TaonCmsContentRepository);
2119
+ this.taonSessionRepository = this.injectCustomRepo(TaonSessionRepository);
2120
+ this.taonAuthContextRepository = this.injectCustomRepo(TaonAuthContextRepository);
2121
+ this.taonCmsContentStorageController = this.injectController(TaonCmsContentStorageController);
1814
2122
  //#endregion
1815
2123
  }
1816
2124
  //#endregion
1817
- createContent(input) {
2125
+ //#region methods / before each request
2126
+ async beforeEachRequest({ req, res, methodConfig, t, }) {
2127
+ /* */
2128
+ /* */
2129
+ /* */
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
+ return (void 0);
2156
+ }
2157
+ //#endregion
2158
+ //#region methods / get video link by slug
2159
+ getVideoLinkBySlug(slug) {
1818
2160
  //#region @websqlFunc
1819
- return async () => this.taonCmsContentRepository.createContent(input);
2161
+ return (req, _res, { t }) => this.getMediaLinkBySlug(slug, 'video', false, req, t);
1820
2162
  //#endregion
1821
2163
  }
1822
- updateContent(id, input) {
2164
+ //#region methods / get public video link by slug
2165
+ getPublicVideoLinkBySlug(slug) {
1823
2166
  //#region @websqlFunc
1824
- return async () => this.taonCmsContentRepository.updateContent(id, input);
2167
+ return (req, _res, { t }) => this.getMediaLinkBySlug(slug, 'video', true, req, t);
1825
2168
  //#endregion
1826
2169
  }
1827
- deleteContent(id, expectedVersion) {
2170
+ //#endregion
2171
+ //#region methods / get audio link by slug
2172
+ getAudioLinkBySlug(slug) {
1828
2173
  //#region @websqlFunc
1829
- return async () => this.taonCmsContentRepository.archiveContent(id, expectedVersion);
2174
+ return (req, _res, { t }) => this.getMediaLinkBySlug(slug, 'audio', false, req, t);
1830
2175
  //#endregion
1831
2176
  }
1832
- restoreContent(id, input) {
2177
+ //#endregion
2178
+ //#region methods / get public audio link by slug
2179
+ getPublicAudioLinkBySlug(slug) {
1833
2180
  //#region @websqlFunc
1834
- return async () => this.taonCmsContentRepository.restoreContent(id, input);
2181
+ return (req, _res, { t }) => this.getMediaLinkBySlug(slug, 'audio', true, req, t);
1835
2182
  //#endregion
1836
2183
  }
1837
- listRelatedPosts(id) {
2184
+ //#endregion
2185
+ //#region methods / get attachment link by slug
2186
+ getAttachmentLinkBySlug(slug) {
1838
2187
  //#region @websqlFunc
1839
- return async () => this.taonCmsContentRepository.listRelatedPosts(id);
2188
+ return (req, _res, { t }) => this.getMediaLinkBySlug(slug, 'attachment', false, req, t);
1840
2189
  //#endregion
1841
2190
  }
1842
- listPermissions(id) {
2191
+ //#endregion
2192
+ //#region methods / get public attachment link by slug
2193
+ getPublicAttachmentLinkBySlug(slug) {
1843
2194
  //#region @websqlFunc
1844
- return async () => this.taonCmsContentRepository.listPermissions(id);
2195
+ return (req, _res, { t }) => this.getMediaLinkBySlug(slug, 'attachment', true, req, t);
1845
2196
  //#endregion
1846
2197
  }
1847
- listApplicationHooks() {
2198
+ //#endregion
2199
+ //#endregion
2200
+ //#region methods / get media link
2201
+ async getMediaLinkBySlug(slug, type, publicOnly, req, t) {
2202
+ //#region @websqlFunc
2203
+ const content = await this.taonCmsContentRepository.getContentBySlugForMedia(slug);
2204
+ if (!content) {
2205
+ contentError(t.gettext('Content was not found.'), 404);
2206
+ }
2207
+ const field = type === 'video'
2208
+ ? 'videoKey'
2209
+ : type === 'audio'
2210
+ ? 'audioKey'
2211
+ : 'attachmentKey';
2212
+ const key = content[field];
2213
+ if (!key) {
2214
+ contentError(t.gettext('Content has no [[ type ]] media.', { type }), 404);
2215
+ }
2216
+ if (!(await this.taonCmsContentStorageController.isMediaObjectAvailable(key))) {
2217
+ contentError(t.gettext('The media file was not found in storage.'), 404);
2218
+ }
2219
+ await this.requireReadAccess(content, publicOnly, req, t);
2220
+ const isPrivate = !publicOnly;
2221
+ const token = isPrivate
2222
+ ? await this.taonCmsContentStorageController.createStorageDownloadToken({
2223
+ key: key,
2224
+ expiresAt: Date.now() + 5 * 60 * 1000,
2225
+ })
2226
+ : undefined;
2227
+ return this.taonCmsContentStorageController.buildStorageDownloadUrl({
2228
+ req,
2229
+ key: key,
2230
+ private: isPrivate,
2231
+ token,
2232
+ download: type === 'attachment',
2233
+ });
2234
+ //#endregion
2235
+ }
2236
+ //#region methods / require read access
2237
+ async requireReadAccess(content, publicOnly, req, t) {
2238
+ //#region @websqlFunc
2239
+ const { permissions } = await this.taonCmsContentRepository.getPermissionConfiguration(content.id);
2240
+ const isPublic = content.status === 'published' && permissions.length === 0;
2241
+ if (publicOnly) {
2242
+ if (!isPublic) {
2243
+ contentError(t.gettext('This content is not publicly accessible.'), 403);
2244
+ }
2245
+ }
2246
+ else {
2247
+ const context = await this.taonAuthContextRepository.getContext(req.userId, req.sessionId);
2248
+ const userPermissionCodes = new Set(context?.permissions ?? []);
2249
+ const hasPermission = permissions.some(permission => userPermissionCodes.has(permission.code));
2250
+ if (!context?.isSuperUser && !isPublic && !hasPermission) {
2251
+ contentError(t.gettext('You do not have access to this content.'), 403);
2252
+ }
2253
+ }
2254
+ //#endregion
2255
+ }
2256
+ //#endregion
2257
+ //#endregion
2258
+ //#region methods / get by id
2259
+ getBySlug(slug) {
2260
+ //#region @websqlFunc
2261
+ return async () => {
2262
+ const model = await this.db.findOne({
2263
+ where: {
2264
+ slug,
2265
+ },
2266
+ });
2267
+ return model;
2268
+ };
2269
+ //#endregion
2270
+ }
2271
+ //#endregion
2272
+ //#region methods / create content
2273
+ createContent(input) {
2274
+ //#region @websqlFunc
2275
+ return async () => this.taonCmsContentRepository.createContent(input);
2276
+ //#endregion
2277
+ }
2278
+ //#endregion
2279
+ //#region methods / update content
2280
+ updateContent(id, input) {
2281
+ //#region @websqlFunc
2282
+ return async () => this.taonCmsContentRepository.updateContent(id, input);
2283
+ //#endregion
2284
+ }
2285
+ //#endregion
2286
+ //#region methods / delete content
2287
+ deleteContent(id, expectedVersion) {
2288
+ //#region @websqlFunc
2289
+ return async () => this.taonCmsContentRepository.archiveContent(id, expectedVersion);
2290
+ //#endregion
2291
+ }
2292
+ //#endregion
2293
+ //#region methods / restore content
2294
+ restoreContent(id, input) {
2295
+ //#region @websqlFunc
2296
+ return async () => this.taonCmsContentRepository.restoreContent(id, input);
2297
+ //#endregion
2298
+ }
2299
+ //#endregion
2300
+ //#region methods / list related posts
2301
+ listRelatedPosts(id) {
2302
+ //#region @websqlFunc
2303
+ return async () => this.taonCmsContentRepository.listRelatedPosts(id);
2304
+ //#endregion
2305
+ }
2306
+ //#endregion
2307
+ //#region methods / list permissions
2308
+ listPermissions(id) {
2309
+ //#region @websqlFunc
2310
+ return async () => this.taonCmsContentRepository.listPermissions(id);
2311
+ //#endregion
2312
+ }
2313
+ //#endregion
2314
+ //#region methods / get permission configuration
2315
+ getPermissionConfiguration(id) {
2316
+ //#region @websqlFunc
2317
+ return async () => this.taonCmsContentRepository.getPermissionConfiguration(id);
2318
+ //#endregion
2319
+ }
2320
+ //#endregion
2321
+ //#region methods / list application hooks
2322
+ listApplicationHooks() {
1848
2323
  //#region @websqlFunc
1849
2324
  return async () => this.taonCmsContentRepository.listApplicationHooks();
1850
2325
  //#endregion
1851
2326
  }
2327
+ //#endregion
2328
+ //#region methods / get content by hook
1852
2329
  getContentByHook(hook) {
1853
2330
  //#region @websqlFunc
1854
- return async () => this.taonCmsContentRepository.getContentByHook(hook);
2331
+ return async (req, _res, { t }) => {
2332
+ const content = await this.taonCmsContentRepository.getContentForHook(hook);
2333
+ if (!content) {
2334
+ return '';
2335
+ }
2336
+ await this.requireReadAccess(content, false, req, t);
2337
+ return content.body ?? '';
2338
+ };
1855
2339
  //#endregion
1856
2340
  }
2341
+ //#endregion
2342
+ //#region methods / get public content by hook
1857
2343
  getPublicContentByHook(hook) {
1858
2344
  //#region @websqlFunc
1859
- return async () => this.taonCmsContentRepository.getContentByHook(hook);
2345
+ return async (req, _res, { t }) => {
2346
+ const content = await this.taonCmsContentRepository.getContentForHook(hook);
2347
+ if (!content) {
2348
+ return '';
2349
+ }
2350
+ await this.requireReadAccess(content, true, req, t);
2351
+ return content.body ?? '';
2352
+ };
1860
2353
  //#endregion
1861
2354
  }
2355
+ //#endregion
2356
+ //#region methods / add related post
1862
2357
  addRelatedPost(id, relatedPostId, expectedVersion) {
1863
2358
  //#region @websqlFunc
1864
2359
  return async () => this.taonCmsContentRepository.addRelatedPost(id, relatedPostId, expectedVersion);
1865
2360
  //#endregion
1866
2361
  }
2362
+ //#endregion
2363
+ //#region methods / delete related post
1867
2364
  deleteRelatedPost(id, relatedPostId, expectedVersion) {
1868
2365
  //#region @websqlFunc
1869
2366
  return async () => this.taonCmsContentRepository.deleteRelatedPost(id, relatedPostId, expectedVersion);
1870
2367
  //#endregion
1871
2368
  }
2369
+ //#endregion
2370
+ //#region methods / list revisions
1872
2371
  listRevisions(id) {
1873
2372
  //#region @websqlFunc
1874
2373
  return async () => this.taonCmsContentRepository.listRevisions(id);
1875
2374
  //#endregion
1876
2375
  }
1877
2376
  };
2377
+ __decorate([
2378
+ GET(),
2379
+ __param(0, Query('slug')),
2380
+ __metadata("design:type", Function),
2381
+ __metadata("design:paramtypes", [String]),
2382
+ __metadata("design:returntype", Object)
2383
+ ], TaonCmsContentController.prototype, "getVideoLinkBySlug", null);
2384
+ __decorate([
2385
+ GET(),
2386
+ __param(0, Query('slug')),
2387
+ __metadata("design:type", Function),
2388
+ __metadata("design:paramtypes", [String]),
2389
+ __metadata("design:returntype", Object)
2390
+ ], TaonCmsContentController.prototype, "getPublicVideoLinkBySlug", null);
2391
+ __decorate([
2392
+ GET(),
2393
+ __param(0, Query('slug')),
2394
+ __metadata("design:type", Function),
2395
+ __metadata("design:paramtypes", [String]),
2396
+ __metadata("design:returntype", Object)
2397
+ ], TaonCmsContentController.prototype, "getAudioLinkBySlug", null);
2398
+ __decorate([
2399
+ GET(),
2400
+ __param(0, Query('slug')),
2401
+ __metadata("design:type", Function),
2402
+ __metadata("design:paramtypes", [String]),
2403
+ __metadata("design:returntype", Object)
2404
+ ], TaonCmsContentController.prototype, "getPublicAudioLinkBySlug", null);
2405
+ __decorate([
2406
+ GET(),
2407
+ __param(0, Query('slug')),
2408
+ __metadata("design:type", Function),
2409
+ __metadata("design:paramtypes", [String]),
2410
+ __metadata("design:returntype", Object)
2411
+ ], TaonCmsContentController.prototype, "getAttachmentLinkBySlug", null);
2412
+ __decorate([
2413
+ GET(),
2414
+ __param(0, Query('slug')),
2415
+ __metadata("design:type", Function),
2416
+ __metadata("design:paramtypes", [String]),
2417
+ __metadata("design:returntype", Object)
2418
+ ], TaonCmsContentController.prototype, "getPublicAttachmentLinkBySlug", null);
1878
2419
  __decorate([
1879
2420
  GET(),
1880
2421
  __param(0, Query(`slug`)),
@@ -1927,6 +2468,13 @@ __decorate([
1927
2468
  __metadata("design:paramtypes", [Number]),
1928
2469
  __metadata("design:returntype", Object)
1929
2470
  ], TaonCmsContentController.prototype, "listPermissions", null);
2471
+ __decorate([
2472
+ GET(),
2473
+ __param(0, Query('id')),
2474
+ __metadata("design:type", Function),
2475
+ __metadata("design:paramtypes", [Number]),
2476
+ __metadata("design:returntype", Object)
2477
+ ], TaonCmsContentController.prototype, "getPermissionConfiguration", null);
1930
2478
  __decorate([
1931
2479
  GET(),
1932
2480
  __metadata("design:type", Function),
@@ -1974,6 +2522,7 @@ __decorate([
1974
2522
  ], TaonCmsContentController.prototype, "listRevisions", null);
1975
2523
  TaonCmsContentController = __decorate([
1976
2524
  TaonController({
2525
+ //#region controller options
1977
2526
  className: 'TaonCmsContentController',
1978
2527
  allowedMethods: [
1979
2528
  'getAll',
@@ -1985,13 +2534,21 @@ TaonCmsContentController = __decorate([
1985
2534
  'listRevisions',
1986
2535
  'listRelatedPosts',
1987
2536
  'listPermissions',
2537
+ 'getPermissionConfiguration',
1988
2538
  'listApplicationHooks',
1989
2539
  'getContentByHook',
1990
2540
  'getPublicContentByHook',
2541
+ 'getVideoLinkBySlug',
2542
+ 'getPublicVideoLinkBySlug',
2543
+ 'getAudioLinkBySlug',
2544
+ 'getPublicAudioLinkBySlug',
2545
+ 'getAttachmentLinkBySlug',
2546
+ 'getPublicAttachmentLinkBySlug',
1991
2547
  'addRelatedPost',
1992
2548
  'deleteRelatedPost',
1993
2549
  'paginationQuery',
1994
2550
  ],
2551
+ //#endregion
1995
2552
  })
1996
2553
  ], TaonCmsContentController);
1997
2554
 
@@ -2036,34 +2593,6 @@ TaonCmsContentSubscriber = __decorate([
2036
2593
  })
2037
2594
  ], TaonCmsContentSubscriber);
2038
2595
 
2039
- //#endregion
2040
- let TaonCmsContentStorageController = class TaonCmsContentStorageController extends TaonBaseStorageController {
2041
- async handleUploadFiles(files, queryParams, req, res) {
2042
- /* */
2043
- /* */
2044
- /* */
2045
- /* */
2046
- /* */
2047
- /* */
2048
- /* */
2049
- /* */
2050
- return (void 0);
2051
- }
2052
- afterFileUploadHook() { }
2053
- buildStorageDownloadUrl() {
2054
- throw new Error('Use the download endpoint for CMS media.');
2055
- }
2056
- async createStorageDownloadToken() {
2057
- throw new Error('CMS media download tokens are not enabled.');
2058
- }
2059
- };
2060
- TaonCmsContentStorageController = __decorate([
2061
- TaonController({
2062
- className: 'TaonCmsContentStorageController',
2063
- allowedMethods: ['exists', 'download', 'getMetadata', 'uploadFormDataToServer'],
2064
- })
2065
- ], TaonCmsContentStorageController);
2066
-
2067
2596
  //#region imports
2068
2597
  //#endregion
2069
2598
  const TaonCmsContentAbstractContext = createContext(() => ({
@@ -2482,34 +3011,404 @@ const TaonCmsAbstractContext = createContext(() => ({
2482
3011
  }));
2483
3012
  // THIS FILE IS GENERATED - DO NOT MODIFY
2484
3013
 
3014
+ const progressCallbacks = new WeakMap();
3015
+ // Keep Taon's middleware, retries and response decoding; replace only the
3016
+ // final Fetch transport for uploads that request browser upload events.
3017
+ function trackCmsUpload(url, body, onProgress) {
3018
+ const key = `cms-upload-progress-POST-${new URL(url).pathname}`;
3019
+ if (!Resource__NS__methodsInterceptors.has(key)) {
3020
+ Resource__NS__methodsInterceptors.set(key, {
3021
+ intercept: ({ req, next }) => {
3022
+ if (!(req.body instanceof FormData)) {
3023
+ return next.handle(req);
3024
+ }
3025
+ const uploadBody = req.body;
3026
+ const callback = progressCallbacks.get(uploadBody);
3027
+ if (!callback) {
3028
+ return next.handle(req);
3029
+ }
3030
+ return new Observable(subscriber => {
3031
+ const xhr = new XMLHttpRequest();
3032
+ xhr.open(req.method || 'POST', req.url);
3033
+ xhr.withCredentials = req.credentials === 'include';
3034
+ new Headers(req.headers).forEach((value, name) => {
3035
+ // The browser must supply the multipart boundary.
3036
+ if (name.toLowerCase() !== 'content-type') {
3037
+ xhr.setRequestHeader(name, value);
3038
+ }
3039
+ });
3040
+ xhr.upload.onprogress = event => {
3041
+ if (event.lengthComputable && event.total > 0) {
3042
+ callback(Math.min(100, Math.floor((event.loaded * 100) / event.total)));
3043
+ }
3044
+ };
3045
+ xhr.onload = () => {
3046
+ const headers = new Headers();
3047
+ for (const line of xhr
3048
+ .getAllResponseHeaders()
3049
+ .trim()
3050
+ .split(/[\r\n]+/)) {
3051
+ const separator = line.indexOf(':');
3052
+ if (separator > 0) {
3053
+ headers.append(line.slice(0, separator), line.slice(separator + 1).trim());
3054
+ }
3055
+ }
3056
+ subscriber.next(new Response([204, 205, 304].includes(xhr.status) ? null : xhr.responseText, {
3057
+ status: xhr.status,
3058
+ statusText: xhr.statusText,
3059
+ headers,
3060
+ }));
3061
+ subscriber.complete();
3062
+ };
3063
+ xhr.onerror = () => subscriber.error(new Error('Media upload network error.'));
3064
+ xhr.ontimeout = () => subscriber.error(new Error('Media upload timed out.'));
3065
+ xhr.onabort = () => subscriber.error(new Error('Media upload was cancelled.'));
3066
+ const abort = () => xhr.abort();
3067
+ req.signal?.addEventListener('abort', abort, { once: true });
3068
+ if (req.signal?.aborted) {
3069
+ subscriber.error(new Error('Media upload was cancelled.'));
3070
+ }
3071
+ else {
3072
+ callback(0);
3073
+ xhr.send(uploadBody);
3074
+ }
3075
+ return () => {
3076
+ req.signal?.removeEventListener('abort', abort);
3077
+ if (xhr.readyState !== XMLHttpRequest.DONE) {
3078
+ xhr.abort();
3079
+ }
3080
+ };
3081
+ });
3082
+ },
3083
+ });
3084
+ }
3085
+ progressCallbacks.set(body, onProgress);
3086
+ return () => progressCallbacks.delete(body);
3087
+ }
3088
+
3089
+ //#region imports
3090
+ //#endregion
3091
+ class TaonCmsContentApiService extends TaonBaseAngularService {
3092
+ constructor() {
3093
+ super(...arguments);
3094
+ //#region fields & getters
3095
+ this.taonCmsContentController = this.injectController(TaonCmsContentController);
3096
+ this.taonCmsContentStorageController = this.injectController(TaonCmsContentStorageController);
3097
+ }
3098
+ get crudController() {
3099
+ return this.taonCmsContentController;
3100
+ }
3101
+ //#endregion
3102
+ //#region API / get by id
3103
+ async getById(id) {
3104
+ return (await this.taonCmsContentController.getBy(id).request()).body.json;
3105
+ }
3106
+ //#endregion
3107
+ //#region API / get by slug
3108
+ async getBySlug(slug) {
3109
+ return (await this.taonCmsContentController.getBySlug(slug).request()).body
3110
+ .json;
3111
+ }
3112
+ //#endregion
3113
+ //#region API / get video link by slug
3114
+ /**
3115
+ * Get link to private video
3116
+ */
3117
+ getVideoLinkBySlug(slug) {
3118
+ return this.taonCmsContentController
3119
+ .getVideoLinkBySlug(slug)
3120
+ .request()
3121
+ .observable.pipe(map(res => res.body.text), catchError(err => {
3122
+ console.error(err);
3123
+ return of('');
3124
+ }));
3125
+ }
3126
+ //#endregion
3127
+ //#region API / get public video link by slug
3128
+ async getPublicVideoLinkBySlug(slug) {
3129
+ return (await this.taonCmsContentController
3130
+ .getPublicVideoLinkBySlug(slug)
3131
+ .request()).body.text;
3132
+ }
3133
+ //#endregion
3134
+ //#region API / get audio link by slug
3135
+ getAudioLinkBySlug(slug) {
3136
+ return this.taonCmsContentController
3137
+ .getAudioLinkBySlug(slug)
3138
+ .request()
3139
+ .observable.pipe(map(res => res.body.text), catchError(err => {
3140
+ console.error(err);
3141
+ return of('');
3142
+ }));
3143
+ }
3144
+ //#endregion
3145
+ //#region API / get public audio link by slug
3146
+ async getPublicAudioLinkBySlug(slug) {
3147
+ return (await this.taonCmsContentController
3148
+ .getPublicAudioLinkBySlug(slug)
3149
+ .request()).body.text;
3150
+ }
3151
+ //#endregion
3152
+ //#region API / get attachment link by slug
3153
+ async getAttachmentLinkBySlug(slug) {
3154
+ return (await this.taonCmsContentController
3155
+ .getAttachmentLinkBySlug(slug)
3156
+ .request()).body.text;
3157
+ }
3158
+ //#endregion
3159
+ //#region API / get public attachment link by slug
3160
+ async getPublicAttachmentLinkBySlug(slug) {
3161
+ return (await this.taonCmsContentController
3162
+ .getPublicAttachmentLinkBySlug(slug)
3163
+ .request()).body.text;
3164
+ }
3165
+ //#endregion
3166
+ //#region API / get content by hook
3167
+ getContentByHook(hook) {
3168
+ return this.taonCmsContentController.getContentByHook(hook)
3169
+ .request().observable.pipe(map(res => res.body.text));
3170
+ }
3171
+ //#endregion
3172
+ //#region API / get public content by hook
3173
+ getPublicContentByHook(hook) {
3174
+ return this.taonCmsContentController.getPublicContentByHook(hook)
3175
+ .request().observable.pipe(map(res => res.body.text), catchError(() => of('---')));
3176
+ }
3177
+ //#endregion
3178
+ //#region API / list application hooks
3179
+ listApplicationHooks() {
3180
+ return this.taonCmsContentController.listApplicationHooks()
3181
+ .request().observable.pipe(map(res => res.body.json));
3182
+ }
3183
+ //#endregion
3184
+ //#region API / upload media
3185
+ async uploadMedia(file, onProgress) {
3186
+ const formData = new FormData();
3187
+ formData.append('file', file);
3188
+ const stopTracking = onProgress
3189
+ ? trackCmsUpload(this.taonCmsContentStorageController.getThisControllerMethodFullUrl('uploadFormDataToServer'), formData, onProgress)
3190
+ : undefined;
3191
+ try {
3192
+ const response = await this.taonCmsContentStorageController
3193
+ .uploadFormDataToServer(formData)
3194
+ .request();
3195
+ const objects = response.body.json;
3196
+ if (!Array.isArray(objects) || objects.length !== 1 || !objects[0]?.key) {
3197
+ throw new Error('The upload did not return a media key.');
3198
+ }
3199
+ onProgress?.(100);
3200
+ return objects[0];
3201
+ }
3202
+ finally {
3203
+ stopTracking?.();
3204
+ }
3205
+ }
3206
+ //#endregion
3207
+ //#region API / list assets
3208
+ listAssets() {
3209
+ return this.taonCmsContentStorageController
3210
+ .list({})
3211
+ .request()
3212
+ .observable.pipe(map(res => res.body.json));
3213
+ }
3214
+ //#endregion
3215
+ //#region API / get asset url
3216
+ async getAssetUrl(key) {
3217
+ return (await this.taonCmsContentStorageController
3218
+ .getPrivateUrl(key, { expiresInSeconds: 5 * 60 })
3219
+ .request()).body.text;
3220
+ }
3221
+ //#endregion
3222
+ //#region API / create content
3223
+ createContent(input) {
3224
+ return this.taonCmsContentController.createContent(input)
3225
+ .request().observable.pipe(map(res => res.body.json));
3226
+ }
3227
+ //#endregion
3228
+ //#region API / update content
3229
+ updateContent(id, input) {
3230
+ return this.taonCmsContentController.updateContent(id, input)
3231
+ .request().observable.pipe(map(res => res.body.json));
3232
+ }
3233
+ //#endregion
3234
+ //#region API / delete content
3235
+ deleteContent(id, expectedVersion) {
3236
+ return this.taonCmsContentController.deleteContent(id, expectedVersion)
3237
+ .request().observable.pipe(map(res => res.body.json));
3238
+ }
3239
+ //#endregion
3240
+ //#region API / restore content
3241
+ restoreContent(id, input) {
3242
+ return this.taonCmsContentController.restoreContent(id, input)
3243
+ .request().observable.pipe(map(res => res.body.json));
3244
+ }
3245
+ //#endregion
3246
+ //#region API / list revisions
3247
+ listRevisions(id) {
3248
+ return this.taonCmsContentController.listRevisions(id)
3249
+ .request().observable.pipe(map(res => res.body.json));
3250
+ }
3251
+ //#endregion
3252
+ //#region API / list related posts
3253
+ listRelatedPosts(id) {
3254
+ return this.taonCmsContentController.listRelatedPosts(id)
3255
+ .request().observable.pipe(map(res => res.body.json));
3256
+ }
3257
+ //#endregion
3258
+ //#region API / list permissions
3259
+ listPermissions(id) {
3260
+ return this.taonCmsContentController.listPermissions(id)
3261
+ .request().observable.pipe(map(res => res.body.json));
3262
+ }
3263
+ //#endregion
3264
+ //#region API / get permission configuration
3265
+ getPermissionConfiguration(id) {
3266
+ return this.taonCmsContentController.getPermissionConfiguration(id)
3267
+ .request().observable.pipe(map(res => res.body.json));
3268
+ }
3269
+ //#endregion
3270
+ //#region API / add related post
3271
+ addRelatedPost(id, relatedPostId, expectedVersion) {
3272
+ return this.taonCmsContentController.addRelatedPost(id, relatedPostId, expectedVersion).request().observable.pipe(map(res => res.body.json));
3273
+ }
3274
+ //#endregion
3275
+ //#region API / delete related post
3276
+ deleteRelatedPost(id, relatedPostId, expectedVersion) {
3277
+ return this.taonCmsContentController.deleteRelatedPost(id, relatedPostId, expectedVersion).request().observable.pipe(map(res => res.body.json));
3278
+ }
3279
+ //#endregion
3280
+ //#region API / get all entites
3281
+ /**
3282
+ * TODO not good idea if manu posts - refactor later:
3283
+ * - add pagination for post selector
3284
+ */
3285
+ get allMyEntities$() {
3286
+ return this.taonCmsContentController.getAll().request().observable.pipe(map(res => res.body?.json));
3287
+ }
3288
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsContentApiService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
3289
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsContentApiService }); }
3290
+ }
3291
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsContentApiService, decorators: [{
3292
+ type: Injectable
3293
+ }] });
3294
+
3295
+ const t$a = 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-websql-prod-taon-cms-asset-preview.component.html.en-US.i18n.data-B9wMX_EY.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-xbwXUXYs.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-BRUu0gBW.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-asset-preview.component.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-asset-preview.component.ts.en-US.i18n.data-CLtlIZzx.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-CPExkT3k.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-BRZcYMCv.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-assets-backoffice.component.html.en-US.i18n.data-Dd97eKL6.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-Bhajq1qM.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-Brmp2jOd.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-Isn8nVdY.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-DZQ_dWB0.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-Cxv1uL_y.mjs')).default } });
3296
+ class TaonCmsAssetPreviewComponent {
3297
+ constructor() {
3298
+ this.t = t$a.for(this);
3299
+ this.api = inject(TaonCmsContentApiService);
3300
+ this.destroyRef = inject(DestroyRef);
3301
+ this.url = signal('', ...(ngDevMode ? [{ debugName: "url" }] : []));
3302
+ this.loading = signal(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
3303
+ this.error = signal('', ...(ngDevMode ? [{ debugName: "error" }] : []));
3304
+ }
3305
+ get previewKind() {
3306
+ const contentType = this.asset.contentType?.trim().toLowerCase();
3307
+ if (contentType?.startsWith('video/')) {
3308
+ return 'video';
3309
+ }
3310
+ if (contentType?.startsWith('audio/')) {
3311
+ return 'audio';
3312
+ }
3313
+ return 'attachment';
3314
+ }
3315
+ ngOnInit() {
3316
+ void this.reload();
3317
+ }
3318
+ async reload() {
3319
+ if (this.loading()) {
3320
+ return;
3321
+ }
3322
+ this.loading.set(true);
3323
+ this.error.set('');
3324
+ this.url.set('');
3325
+ try {
3326
+ const url = new URL(await this.api.getAssetUrl(this.asset.key));
3327
+ if (this.previewKind === 'attachment') {
3328
+ url.searchParams.set('download', 'true');
3329
+ }
3330
+ if (!this.destroyRef.destroyed) {
3331
+ this.url.set(url.href);
3332
+ }
3333
+ }
3334
+ catch (error) {
3335
+ if (!this.destroyRef.destroyed) {
3336
+ console.error('[taon-cms-asset-preview] Unable to load asset URL', error);
3337
+ this.error.set(this.t.gettext('The asset could not be opened. Please retry.'));
3338
+ }
3339
+ }
3340
+ finally {
3341
+ if (!this.destroyRef.destroyed) {
3342
+ this.loading.set(false);
3343
+ }
3344
+ }
3345
+ }
3346
+ playbackError() {
3347
+ this.error.set(this.t.gettext('Playback failed or the preview link expired. Please retry.'));
3348
+ }
3349
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsAssetPreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3350
+ 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 }); }
3351
+ }
3352
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsAssetPreviewComponent, decorators: [{
3353
+ type: Component,
3354
+ 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"] }]
3355
+ }], propDecorators: { asset: [{
3356
+ type: Input,
3357
+ args: [{ required: true }]
3358
+ }] } });
3359
+
3360
+ const t$9 = 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-websql-prod-taon-cms-asset-preview.component.html.en-US.i18n.data-B9wMX_EY.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-xbwXUXYs.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-BRUu0gBW.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-asset-preview.component.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-asset-preview.component.ts.en-US.i18n.data-CLtlIZzx.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-CPExkT3k.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-BRZcYMCv.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-assets-backoffice.component.html.en-US.i18n.data-Dd97eKL6.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-Bhajq1qM.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-Brmp2jOd.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-Isn8nVdY.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-DZQ_dWB0.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-Cxv1uL_y.mjs')).default } });
2485
3361
  class TaonCmsAssetsBackofficeComponent {
2486
3362
  constructor() {
2487
- this.assets = [
2488
- { id: 1, name: 'Sample image.jpg' },
2489
- { id: 2, name: 'Sample document.pdf' },
2490
- ];
3363
+ this.t = t$9.for(this);
3364
+ this.api = inject(TaonCmsContentApiService);
3365
+ this.destroyRef = inject(DestroyRef);
3366
+ this.assets = signal([], ...(ngDevMode ? [{ debugName: "assets" }] : []));
3367
+ this.loading = signal(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
3368
+ this.error = signal('', ...(ngDevMode ? [{ debugName: "error" }] : []));
2491
3369
  this.columns = [
2492
- { header: 'ID', field: 'id', sortable: true },
2493
- { header: 'Asset Name', field: 'name', sortable: true },
3370
+ { header: 'ID', field: 'keyVisible', sortable: true, showExpand: true },
3371
+ { header: this.t.gettext('File Name'), field: 'fileName', sortable: true },
3372
+ {
3373
+ header: this.t.gettext('Content Type'),
3374
+ field: 'contentType',
3375
+ sortable: true,
3376
+ },
2494
3377
  ];
2495
3378
  }
3379
+ ngOnInit() {
3380
+ this.reload();
3381
+ }
3382
+ reload() {
3383
+ if (this.loading()) {
3384
+ return;
3385
+ }
3386
+ this.loading.set(true);
3387
+ this.error.set('');
3388
+ this.api
3389
+ .listAssets()
3390
+ .pipe(map$1(c => c), takeUntilDestroyed(this.destroyRef), finalize(() => this.loading.set(false)))
3391
+ .subscribe({
3392
+ next: assets => this.assets.set(assets.map(c => {
3393
+ c.keyVisible = ___NS__first(c.key.split('__'));
3394
+ return c;
3395
+ })),
3396
+ error: (error) => {
3397
+ console.error('[taon-cms-assets-backoffice] Unable to load assets', error);
3398
+ this.error.set(this.t.gettext('Assets could not be loaded. Please try reloading.'));
3399
+ },
3400
+ });
3401
+ }
2496
3402
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsAssetsBackofficeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2497
- 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: `
2498
- <h1>CMS assets</h1>
2499
- <mtx-grid [data]="assets" [columns]="columns"></mtx-grid>
2500
- `, 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 }); }
3403
+ 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 }); }
2501
3404
  }
2502
3405
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsAssetsBackofficeComponent, decorators: [{
2503
3406
  type: Component,
2504
- args: [{
2505
- selector: 'taon-cms-assets-backoffice',
2506
- changeDetection: ChangeDetectionStrategy.OnPush,
2507
- imports: [MtxGrid],
2508
- template: `
2509
- <h1>CMS assets</h1>
2510
- <mtx-grid [data]="assets" [columns]="columns"></mtx-grid>
2511
- `,
2512
- }]
3407
+ args: [{ selector: 'taon-cms-assets-backoffice', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
3408
+ MatButtonModule,
3409
+ TaonDatatableComponent,
3410
+ TaonCmsAssetPreviewComponent,
3411
+ ], 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" }]
2513
3412
  }] });
2514
3413
 
2515
3414
  var taonCmsAssetsBackoffice_component = /*#__PURE__*/Object.freeze({
@@ -2531,8 +3430,10 @@ var taonCmsAssetsBackoffice_routes = /*#__PURE__*/Object.freeze({
2531
3430
 
2532
3431
  //#region imports
2533
3432
  //#endregion
3433
+ const t$8 = 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-websql-prod-taon-cms-backoffice.component.html.en-US.i18n.data-B6WD9PJf.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-backoffice.component.html.pl-PL.i18n.data-CkJQRqG3.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-backoffice.component.html.de-DE.i18n.data-DQollWm9.mjs')).default }, "src/lib/taon-cms-backoffice/taon-cms-backoffice.component.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-backoffice.component.ts.en-US.i18n.data-eTouqefi.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-backoffice.component.ts.pl-PL.i18n.data-C8tsBZCu.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-backoffice.component.ts.de-DE.i18n.data-DzBHONcQ.mjs')).default }, "src/lib/taon-cms-backoffice/taon-cms-backoffice.routes.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-Bm9mDdSW.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-DlhV8M8I.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-DLee8IHp.mjs')).default } });
2534
3434
  class TaonCmsBackofficeComponent {
2535
3435
  constructor() {
3436
+ this.t = t$8.for(this);
2536
3437
  this.componentLoaded = false;
2537
3438
  }
2538
3439
  onRouteActivate(component) {
@@ -2542,11 +3443,11 @@ class TaonCmsBackofficeComponent {
2542
3443
  this.componentLoaded = false;
2543
3444
  }
2544
3445
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsBackofficeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2545
- 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 }); }
3446
+ 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 }); }
2546
3447
  }
2547
3448
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsBackofficeComponent, decorators: [{
2548
3449
  type: Component,
2549
- 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"] }]
3450
+ 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"] }]
2550
3451
  }] });
2551
3452
 
2552
3453
  var taonCmsBackoffice_component = /*#__PURE__*/Object.freeze({
@@ -2559,6 +3460,7 @@ var taonCmsBackoffice_component = /*#__PURE__*/Object.freeze({
2559
3460
 
2560
3461
  //#endregion
2561
3462
  const adminLazyRoute = (adminLazyRoute$1);
3463
+ const t$7 = 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-websql-prod-taon-cms-backoffice.component.html.en-US.i18n.data-B6WD9PJf.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-backoffice.component.html.pl-PL.i18n.data-CkJQRqG3.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-backoffice.component.html.de-DE.i18n.data-DQollWm9.mjs')).default }, "src/lib/taon-cms-backoffice/taon-cms-backoffice.component.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-backoffice.component.ts.en-US.i18n.data-eTouqefi.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-backoffice.component.ts.pl-PL.i18n.data-C8tsBZCu.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-backoffice.component.ts.de-DE.i18n.data-DzBHONcQ.mjs')).default }, "src/lib/taon-cms-backoffice/taon-cms-backoffice.routes.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-Bm9mDdSW.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-DlhV8M8I.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-DLee8IHp.mjs')).default } });
2562
3464
  const TaonCmsBackofficeRoutes = [
2563
3465
  {
2564
3466
  path: '',
@@ -2570,7 +3472,7 @@ const TaonCmsBackofficeRoutes = [
2570
3472
  return !context?.hasAccess.toManagePosts;
2571
3473
  },
2572
3474
  path: 'posts',
2573
- menuItem: 'Posts',
3475
+ menuItem: t$7.gettext('Posts'),
2574
3476
  expandable: true,
2575
3477
  icon: 'edit',
2576
3478
  loader: () => Promise.resolve().then(function () { return index$1; }).then(m => m.TaonCmsPostsBackofficeRoutes),
@@ -2578,7 +3480,7 @@ const TaonCmsBackofficeRoutes = [
2578
3480
  adminLazyRoute({
2579
3481
  isDisabled: ({ context }) => !context?.hasAccess.toManagePosts,
2580
3482
  path: 'assets',
2581
- menuItem: 'Assets',
3483
+ menuItem: t$7.gettext('Assets'),
2582
3484
  expandable: false,
2583
3485
  icon: 'perm_media',
2584
3486
  loader: () => Promise.resolve().then(function () { return taonCmsAssetsBackoffice_routes; }).then(m => m.TaonCmsAssetsBackofficeRoutes),
@@ -2670,92 +3572,6 @@ function TaonCmsCommentUtils__NS__isActive(state) {
2670
3572
  }
2671
3573
  //end of namespace TaonCmsCommentUtils
2672
3574
 
2673
- //#region imports
2674
- //#endregion
2675
- class TaonCmsContentApiService extends TaonBaseAngularService {
2676
- constructor() {
2677
- super(...arguments);
2678
- this.taonCmsContentController = this.injectController(TaonCmsContentController);
2679
- this.taonCmsContentStorageController = this.injectController(TaonCmsContentStorageController);
2680
- }
2681
- get crudController() {
2682
- return this.taonCmsContentController;
2683
- }
2684
- async getById(id) {
2685
- return (await this.taonCmsContentController.getBy(id).request()).body.json;
2686
- }
2687
- async getBySlug(slug) {
2688
- return (await this.taonCmsContentController.getBySlug(slug).request()).body
2689
- .json;
2690
- }
2691
- getContentByHook(hook) {
2692
- return this.taonCmsContentController.getContentByHook(hook)
2693
- .request().observable.pipe(map(res => res.body.text));
2694
- }
2695
- getPublicContentByHook(hook) {
2696
- return this.taonCmsContentController.getPublicContentByHook(hook)
2697
- .request().observable.pipe(map(res => res.body.text), catchError(() => of('---')));
2698
- }
2699
- listApplicationHooks() {
2700
- return this.taonCmsContentController.listApplicationHooks()
2701
- .request().observable.pipe(map(res => res.body.json));
2702
- }
2703
- async uploadMedia(file) {
2704
- const formData = new FormData();
2705
- formData.append('file', file);
2706
- const response = await this.taonCmsContentStorageController
2707
- .uploadFormDataToServer(formData)
2708
- .request();
2709
- const objects = response.body.json;
2710
- if (objects.length !== 1 || !objects[0].key) {
2711
- throw new Error('The upload did not return a media key.');
2712
- }
2713
- return objects[0];
2714
- }
2715
- createContent(input) {
2716
- return this.taonCmsContentController.createContent(input)
2717
- .request().observable.pipe(map(res => res.body.json));
2718
- }
2719
- updateContent(id, input) {
2720
- return this.taonCmsContentController.updateContent(id, input)
2721
- .request().observable.pipe(map(res => res.body.json));
2722
- }
2723
- deleteContent(id, expectedVersion) {
2724
- return this.taonCmsContentController.deleteContent(id, expectedVersion)
2725
- .request().observable.pipe(map(res => res.body.json));
2726
- }
2727
- restoreContent(id, input) {
2728
- return this.taonCmsContentController.restoreContent(id, input)
2729
- .request().observable.pipe(map(res => res.body.json));
2730
- }
2731
- listRevisions(id) {
2732
- return this.taonCmsContentController.listRevisions(id)
2733
- .request().observable.pipe(map(res => res.body.json));
2734
- }
2735
- listRelatedPosts(id) {
2736
- return this.taonCmsContentController.listRelatedPosts(id)
2737
- .request().observable.pipe(map(res => res.body.json));
2738
- }
2739
- listPermissions(id) {
2740
- return this.taonCmsContentController.listPermissions(id)
2741
- .request().observable.pipe(map(res => res.body.json));
2742
- }
2743
- addRelatedPost(id, relatedPostId, expectedVersion) {
2744
- return this.taonCmsContentController.addRelatedPost(id, relatedPostId, expectedVersion).request().observable.pipe(map(res => res.body.json));
2745
- }
2746
- deleteRelatedPost(id, relatedPostId, expectedVersion) {
2747
- return this.taonCmsContentController.deleteRelatedPost(id, relatedPostId, expectedVersion).request().observable.pipe(map(res => res.body.json));
2748
- }
2749
- get allMyEntities$() {
2750
- return this.taonCmsContentController.getAll().request().observable.pipe(map(res => res.body?.json));
2751
- }
2752
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsContentApiService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
2753
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsContentApiService }); }
2754
- }
2755
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsContentApiService, decorators: [{
2756
- type: Injectable
2757
- }] });
2758
-
2759
3575
  class TaonCmsContentConfigService extends TaonBaseAngularService {
2760
3576
  constructor() {
2761
3577
  super(...arguments);
@@ -3083,8 +3899,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
3083
3899
  args: ['paste', ['$event']]
3084
3900
  }] } });
3085
3901
 
3902
+ const t$6 = 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-websql-prod-taon-cms-revision-chooser.component.html.en-US.i18n.data-BQetHhHY.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-DFyL2hhB.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-revision-chooser.component.html.de-DE.i18n.data-BeMa9gWH.mjs')).default }, "src/lib/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-revision-chooser.component.ts.en-US.i18n.data-Q_yYYlqT.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-DS71Bpee.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-C8Amkua1.mjs')).default } });
3086
3903
  class TaonCmsRevisionChooserComponent {
3087
3904
  constructor() {
3905
+ this.t = t$6.for(this);
3088
3906
  this.post = inject(MAT_DIALOG_DATA);
3089
3907
  this.revisions = signal([], ...(ngDevMode ? [{ debugName: "revisions" }] : []));
3090
3908
  this.selected = signal(null, ...(ngDevMode ? [{ debugName: "selected" }] : []));
@@ -3103,11 +3921,14 @@ class TaonCmsRevisionChooserComponent {
3103
3921
  this.selected.set(null);
3104
3922
  this.loading.set(true);
3105
3923
  this.error.set('');
3106
- this.api.listRevisions(this.post.id).pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.loading.set(false))).subscribe({
3924
+ this.api
3925
+ .listRevisions(this.post.id)
3926
+ .pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.loading.set(false)))
3927
+ .subscribe({
3107
3928
  next: revisions => this.revisions.set([...revisions].sort((a, b) => b.revisionNumber - a.revisionNumber)),
3108
3929
  error: (error) => {
3109
3930
  console.error('[taon-cms-revision-chooser] Unable to load revisions', error);
3110
- this.error.set('Revisions could not be loaded. Please try again.');
3931
+ this.error.set(this.t.gettext('Revisions could not be loaded. Please try again.'));
3111
3932
  },
3112
3933
  });
3113
3934
  }
@@ -3117,20 +3938,22 @@ class TaonCmsRevisionChooserComponent {
3117
3938
  return;
3118
3939
  }
3119
3940
  if (revisionNumber === null) {
3120
- this.error.set('Select a revision to restore.');
3941
+ this.error.set(this.t.gettext('Select a revision to restore.'));
3121
3942
  return;
3122
3943
  }
3123
3944
  this.applying.set(true);
3124
3945
  this.error.set('');
3125
- this.api.restoreContent(this.post.id, {
3946
+ this.api
3947
+ .restoreContent(this.post.id, {
3126
3948
  revisionNumber,
3127
3949
  expectedVersion: this.post.version,
3128
- }).pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.applying.set(false))).subscribe({
3950
+ })
3951
+ .pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.applying.set(false)))
3952
+ .subscribe({
3129
3953
  next: post => this.ref.close(post),
3130
3954
  error: (error) => {
3131
3955
  console.error('[taon-cms-revision-chooser] Unable to restore revision', error);
3132
- this.error.set('The revision could not be restored. If the post changed, close and ' +
3133
- 'reopen it to load its latest version.');
3956
+ 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.'));
3134
3957
  },
3135
3958
  });
3136
3959
  }
@@ -3140,15 +3963,17 @@ class TaonCmsRevisionChooserComponent {
3140
3963
  }
3141
3964
  }
3142
3965
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsRevisionChooserComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3143
- 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 }); }
3966
+ 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>{{ 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.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 }); }
3144
3967
  }
3145
3968
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsRevisionChooserComponent, decorators: [{
3146
3969
  type: Component,
3147
- 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"] }]
3970
+ 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"] }]
3148
3971
  }], ctorParameters: () => [] });
3149
3972
 
3973
+ const t$5 = 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-websql-prod-taon-related-post-chooser.component.html.en-US.i18n.data-ta4f6CoB.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-related-post-chooser.component.html.pl-PL.i18n.data-Dw5hHPVt.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-related-post-chooser.component.html.de-DE.i18n.data-Bg2aMQRp.mjs')).default }, "src/lib/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-related-post-chooser.component.ts.en-US.i18n.data-BHozuByI.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-related-post-chooser.component.ts.pl-PL.i18n.data-CVbRXbCE.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-related-post-chooser.component.ts.de-DE.i18n.data-DaAVLmDB.mjs')).default } });
3150
3974
  class TaonRelatedPostChooserComponent {
3151
3975
  constructor() {
3976
+ this.t = t$5.for(this);
3152
3977
  this.data = inject(MAT_DIALOG_DATA);
3153
3978
  this.posts = signal([], ...(ngDevMode ? [{ debugName: "posts" }] : []));
3154
3979
  this.selected = signal(null, ...(ngDevMode ? [{ debugName: "selected" }] : []));
@@ -3179,7 +4004,7 @@ class TaonRelatedPostChooserComponent {
3179
4004
  next: posts => this.posts.set(posts),
3180
4005
  error: (error) => {
3181
4006
  console.error('[taon-related-post-chooser] Unable to load posts', error);
3182
- this.error.set('Posts could not be loaded. Please try again.');
4007
+ this.error.set(this.t.gettext('Posts could not be loaded. Please try again.'));
3183
4008
  },
3184
4009
  });
3185
4010
  }
@@ -3195,7 +4020,7 @@ class TaonRelatedPostChooserComponent {
3195
4020
  }
3196
4021
  const post = this.filteredPosts().find(post => post.id === this.selected());
3197
4022
  if (!post) {
3198
- this.error.set('Select a related post.');
4023
+ this.error.set(this.t.gettext('Select a related post.'));
3199
4024
  return;
3200
4025
  }
3201
4026
  this.ref.close(post);
@@ -3204,19 +4029,21 @@ class TaonRelatedPostChooserComponent {
3204
4029
  this.ref.close();
3205
4030
  }
3206
4031
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonRelatedPostChooserComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3207
- 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 }); }
4032
+ 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.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 }); }
3208
4033
  }
3209
4034
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonRelatedPostChooserComponent, decorators: [{
3210
4035
  type: Component,
3211
- 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"] }]
4036
+ 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"] }]
3212
4037
  }], ctorParameters: () => [] });
3213
4038
 
3214
4039
  //#region imports
3215
4040
  //#endregion
4041
+ const t$4 = 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-websql-prod-taon-cms-post.component.html.en-US.i18n.data-BADXpKlC.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-post.component.html.pl-PL.i18n.data-DyBK3Qg6.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-post.component.html.de-DE.i18n.data-Bzbm7OIO.mjs')).default }, "src/lib/taon-posts/taon-cms-post/taon-cms-post.component.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-post.component.ts.en-US.i18n.data-BbpIRzgh.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-post.component.ts.pl-PL.i18n.data-Cqy96DQS.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-post.component.ts.de-DE.i18n.data-DaC7IYoM.mjs')).default } });
3216
4042
  class TaonCmsPostComponent {
3217
4043
  //#endregion
3218
4044
  //#region constructor
3219
4045
  constructor() {
4046
+ this.t = t$4.for(this);
3220
4047
  //#region fields and getters
3221
4048
  this.post = input(null, ...(ngDevMode ? [{ debugName: "post" }] : []));
3222
4049
  this.mode = model('view', ...(ngDevMode ? [{ debugName: "mode" }] : []));
@@ -3224,6 +4051,9 @@ class TaonCmsPostComponent {
3224
4051
  this.deleted = output();
3225
4052
  this.cancelled = output();
3226
4053
  this.currentPost = signal(null, ...(ngDevMode ? [{ debugName: "currentPost" }] : []));
4054
+ this.placeholderShortIntro = this.t.signal.gettext('A short introduction...');
4055
+ this.placeholderTitle = this.t.signal.gettext('Title');
4056
+ this.placeholderTellYourStory = this.t.signal.gettext('Tell your story...');
3227
4057
  this.draft = signal({
3228
4058
  type: TaonCmsContentType.Normal,
3229
4059
  title: '',
@@ -3235,37 +4065,51 @@ class TaonCmsPostComponent {
3235
4065
  attachmentKey: null,
3236
4066
  }, ...(ngDevMode ? [{ debugName: "draft" }] : []));
3237
4067
  this.postTypes = [
3238
- { value: TaonCmsContentType.Normal, label: 'Normal post' },
3239
- { value: TaonCmsContentType.Video, label: 'Video post' },
3240
- { value: TaonCmsContentType.Audio, label: 'Audio post' },
3241
- { value: TaonCmsContentType.Attachment, label: 'Attachment post' },
4068
+ {
4069
+ value: TaonCmsContentType.Normal,
4070
+ label: this.t.gettext('Normal post'),
4071
+ },
4072
+ { value: TaonCmsContentType.Video, label: this.t.gettext('Video post') },
4073
+ { value: TaonCmsContentType.Audio, label: this.t.gettext('Audio post') },
4074
+ {
4075
+ value: TaonCmsContentType.Attachment,
4076
+ label: this.t.gettext('Attachment post'),
4077
+ },
3242
4078
  ];
3243
4079
  this.mediaAttachments = [
3244
4080
  {
3245
4081
  type: TaonCmsContentType.Video,
3246
4082
  key: 'videoKey',
3247
- heading: 'Video Attachment',
3248
- uploadLabel: 'Upload video',
4083
+ heading: this.t.gettext('Video Attachment'),
4084
+ uploadLabel: this.t.gettext('Upload video'),
3249
4085
  accept: 'video/*',
3250
4086
  },
3251
4087
  {
3252
4088
  type: TaonCmsContentType.Audio,
3253
4089
  key: 'audioKey',
3254
- heading: 'Audio Attachment',
3255
- uploadLabel: 'Upload audio',
4090
+ heading: this.t.gettext('Audio Attachment'),
4091
+ uploadLabel: this.t.gettext('Upload audio'),
3256
4092
  accept: 'audio/*',
3257
4093
  },
3258
4094
  {
3259
4095
  type: TaonCmsContentType.Attachment,
3260
4096
  key: 'attachmentKey',
3261
- heading: 'File Attachment',
3262
- uploadLabel: 'Upload file',
4097
+ heading: this.t.gettext('File Attachment'),
4098
+ uploadLabel: this.t.gettext('Upload file'),
3263
4099
  accept: '',
3264
4100
  },
3265
4101
  ];
3266
4102
  this.mediaAttachment = computed(() => this.mediaAttachments.find(media => media.type === this.draft().type), ...(ngDevMode ? [{ debugName: "mediaAttachment" }] : []));
3267
4103
  this.busy = signal(false, ...(ngDevMode ? [{ debugName: "busy" }] : []));
3268
4104
  this.uploading = signal(false, ...(ngDevMode ? [{ debugName: "uploading" }] : []));
4105
+ this.uploadProgress = signal(0, ...(ngDevMode ? [{ debugName: "uploadProgress" }] : []));
4106
+ this.mediaPreviewUrl = signal('', ...(ngDevMode ? [{ debugName: "mediaPreviewUrl" }] : []));
4107
+ this.mediaPreviewLoading = signal(false, ...(ngDevMode ? [{ debugName: "mediaPreviewLoading" }] : []));
4108
+ this.mediaPreviewError = signal('', ...(ngDevMode ? [{ debugName: "mediaPreviewError" }] : []));
4109
+ this.mediaFileNames = signal({}, ...(ngDevMode ? [{ debugName: "mediaFileNames" }] : []));
4110
+ this.uploadedMediaPreview = signal(null, ...(ngDevMode ? [{ debugName: "uploadedMediaPreview" }] : []));
4111
+ this.mediaPreviewRequest = 0;
4112
+ this.mediaPreviewSignature = '';
3269
4113
  this.dialogOpen = signal(false, ...(ngDevMode ? [{ debugName: "dialogOpen" }] : []));
3270
4114
  this.error = signal('', ...(ngDevMode ? [{ debugName: "error" }] : []));
3271
4115
  this.relatedPosts = signal([], ...(ngDevMode ? [{ debugName: "relatedPosts" }] : []));
@@ -3277,6 +4121,8 @@ class TaonCmsPostComponent {
3277
4121
  this.useAsApplicationHook = signal(false, ...(ngDevMode ? [{ debugName: "useAsApplicationHook" }] : []));
3278
4122
  this.selectedApplicationHook = signal(null, ...(ngDevMode ? [{ debugName: "selectedApplicationHook" }] : []));
3279
4123
  this.permissions = signal([], ...(ngDevMode ? [{ debugName: "permissions" }] : []));
4124
+ this.applyPermissionsToRelatedPosts = signal(false, ...(ngDevMode ? [{ debugName: "applyPermissionsToRelatedPosts" }] : []));
4125
+ this.permissionSource = signal(null, ...(ngDevMode ? [{ debugName: "permissionSource" }] : []));
3280
4126
  this.permissionsLoading = signal(false, ...(ngDevMode ? [{ debugName: "permissionsLoading" }] : []));
3281
4127
  this.permissionsError = signal('', ...(ngDevMode ? [{ debugName: "permissionsError" }] : []));
3282
4128
  this.permissionOptions = signal([], ...(ngDevMode ? [{ debugName: "permissionOptions" }] : []));
@@ -3317,6 +4163,74 @@ class TaonCmsPostComponent {
3317
4163
  });
3318
4164
  }
3319
4165
  });
4166
+ effect(() => {
4167
+ const media = this.mediaAttachment();
4168
+ const key = media ? this.draft()[media.key] : null;
4169
+ const slug = this.draft().slug;
4170
+ const editing = this.editing();
4171
+ const viewing = !!this.currentPost() && this.mode() !== 'add';
4172
+ const stagedPreview = this.uploadedMediaPreview();
4173
+ if ((!editing && !viewing) || !media || !key) {
4174
+ this.mediaPreviewSignature = '';
4175
+ this.mediaPreviewRequest += 1;
4176
+ this.mediaPreviewUrl.set('');
4177
+ this.mediaPreviewLoading.set(false);
4178
+ this.mediaPreviewError.set('');
4179
+ return;
4180
+ }
4181
+ if (stagedPreview?.key === key) {
4182
+ const signature = `upload:${key}:${stagedPreview.url}`;
4183
+ if (signature === this.mediaPreviewSignature) {
4184
+ return;
4185
+ }
4186
+ this.mediaPreviewSignature = signature;
4187
+ this.mediaPreviewRequest += 1;
4188
+ this.mediaPreviewUrl.set(stagedPreview.url);
4189
+ this.mediaPreviewLoading.set(false);
4190
+ this.mediaPreviewError.set('');
4191
+ return;
4192
+ }
4193
+ if (!slug) {
4194
+ this.mediaPreviewSignature = '';
4195
+ this.mediaPreviewRequest += 1;
4196
+ this.mediaPreviewUrl.set('');
4197
+ this.mediaPreviewLoading.set(false);
4198
+ this.mediaPreviewError.set('');
4199
+ return;
4200
+ }
4201
+ const signature = `${this.mode()}:${media.type}:${slug}:${key}`;
4202
+ if (signature === this.mediaPreviewSignature) {
4203
+ return;
4204
+ }
4205
+ this.mediaPreviewSignature = signature;
4206
+ const requestId = ++this.mediaPreviewRequest;
4207
+ this.mediaPreviewUrl.set('');
4208
+ this.mediaPreviewLoading.set(true);
4209
+ this.mediaPreviewError.set('');
4210
+ const getLink = editing
4211
+ ? this.getMediaLink(slug, media.type)
4212
+ : this.getMediaLinkForView(slug, media.type);
4213
+ void getLink
4214
+ .then(url => {
4215
+ if (requestId === this.mediaPreviewRequest &&
4216
+ !this.destroyRef.destroyed) {
4217
+ this.mediaPreviewUrl.set(url);
4218
+ }
4219
+ })
4220
+ .catch((error) => {
4221
+ console.error('[taon-cms-post] Unable to load media preview', error);
4222
+ if (requestId === this.mediaPreviewRequest &&
4223
+ !this.destroyRef.destroyed) {
4224
+ this.mediaPreviewError.set(this.t.gettext('Media preview could not be loaded. Please reopen the editor to try again.'));
4225
+ }
4226
+ })
4227
+ .finally(() => {
4228
+ if (requestId === this.mediaPreviewRequest &&
4229
+ !this.destroyRef.destroyed) {
4230
+ this.mediaPreviewLoading.set(false);
4231
+ }
4232
+ });
4233
+ });
3320
4234
  }
3321
4235
  //#endregion
3322
4236
  //#region methods / load related posts
@@ -3337,7 +4251,7 @@ class TaonCmsPostComponent {
3337
4251
  next: posts => this.relatedPosts.set(posts),
3338
4252
  error: (error) => {
3339
4253
  console.error('[taon-cms-post] Unable to load related posts', error);
3340
- this.relatedPostsError.set('Related posts could not be loaded. Please try again.');
4254
+ this.relatedPostsError.set(this.t.gettext('Related posts could not be loaded. Please try again.'));
3341
4255
  },
3342
4256
  });
3343
4257
  }
@@ -3403,7 +4317,7 @@ class TaonCmsPostComponent {
3403
4317
  },
3404
4318
  error: (error) => {
3405
4319
  console.error('[taon-cms-post] Unable to load application hooks', error);
3406
- this.applicationHooksError.set('Application hooks could not be loaded. Please try again.');
4320
+ this.applicationHooksError.set(this.t.gettext('Application hooks could not be loaded. Please try again.'));
3407
4321
  },
3408
4322
  });
3409
4323
  }
@@ -3420,7 +4334,7 @@ class TaonCmsPostComponent {
3420
4334
  //#endregion
3421
4335
  //#region methods / load permissions
3422
4336
  loadPermissions() {
3423
- if (this.busy() || this.permissionsLoading()) {
4337
+ if (this.permissionsLoading()) {
3424
4338
  return;
3425
4339
  }
3426
4340
  const post = this.requirePost();
@@ -3430,20 +4344,28 @@ class TaonCmsPostComponent {
3430
4344
  this.permissionsLoading.set(true);
3431
4345
  this.permissionsError.set('');
3432
4346
  this.permissionsLoad = this.api
3433
- .listPermissions(post.id)
4347
+ .getPermissionConfiguration(post.id)
3434
4348
  .pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.permissionsLoading.set(false)))
3435
4349
  .subscribe({
3436
- next: permissions => this.permissions.set(permissions),
4350
+ next: configuration => {
4351
+ this.permissions.set(configuration.permissions);
4352
+ this.permissionSource.set(configuration.source);
4353
+ },
3437
4354
  error: (error) => {
3438
4355
  console.error('[taon-cms-post] Unable to load permissions', error);
3439
- this.permissionsError.set('Permissions could not be loaded. Please try again.');
4356
+ this.permissionsError.set(this.t.gettext('Permissions could not be loaded. Please try again.'));
3440
4357
  },
3441
4358
  });
3442
4359
  }
3443
4360
  //#endregion
3444
4361
  //#region methods / add permission
3445
4362
  addPermission() {
3446
- if (!this.editing() || this.busy() || this.dialogOpen()) {
4363
+ if (!this.editing() ||
4364
+ this.busy() ||
4365
+ this.dialogOpen() ||
4366
+ this.permissionSource() ||
4367
+ this.permissionsLoading() ||
4368
+ this.permissionsError()) {
3447
4369
  return;
3448
4370
  }
3449
4371
  const permissionId = this.selectedPermissionId();
@@ -3456,7 +4378,12 @@ class TaonCmsPostComponent {
3456
4378
  //#endregion
3457
4379
  //#region methods / remove permission
3458
4380
  removePermission(id) {
3459
- if (!this.editing() || this.busy() || this.dialogOpen()) {
4381
+ if (!this.editing() ||
4382
+ this.busy() ||
4383
+ this.dialogOpen() ||
4384
+ this.permissionSource() ||
4385
+ this.permissionsLoading() ||
4386
+ this.permissionsError()) {
3460
4387
  return;
3461
4388
  }
3462
4389
  this.permissions.update(items => items.filter(permission => permission.id !== id));
@@ -3476,7 +4403,7 @@ class TaonCmsPostComponent {
3476
4403
  next: permissions => this.permissionOptions.set(permissions),
3477
4404
  error: (error) => {
3478
4405
  console.error('[taon-cms-post] Unable to load permission options', error);
3479
- this.permissionOptionsError.set('Available permissions could not be loaded. Please try again.');
4406
+ this.permissionOptionsError.set(this.t.gettext('Available permissions could not be loaded. Please try again.'));
3480
4407
  },
3481
4408
  });
3482
4409
  }
@@ -3489,7 +4416,7 @@ class TaonCmsPostComponent {
3489
4416
  //#region methods / file selected
3490
4417
  async fileSelected(event) {
3491
4418
  if (!(event.target instanceof HTMLInputElement)) {
3492
- this.error.set('Unable to read the selected media file.');
4419
+ this.error.set(this.t.gettext('Unable to read the selected media file.'));
3493
4420
  return;
3494
4421
  }
3495
4422
  const input = event.target;
@@ -3505,20 +4432,38 @@ class TaonCmsPostComponent {
3505
4432
  const draft = this.draft();
3506
4433
  this.busy.set(true);
3507
4434
  this.uploading.set(true);
4435
+ this.uploadProgress.set(0);
3508
4436
  this.error.set('');
3509
4437
  try {
3510
- const object = await this.api.uploadMedia(file);
4438
+ const object = await this.api.uploadMedia(file, percentage => {
4439
+ if (!this.destroyRef.destroyed) {
4440
+ this.uploadProgress.set(percentage);
4441
+ }
4442
+ });
3511
4443
  if (!this.destroyRef.destroyed && this.draft() === draft) {
4444
+ const fileName = object.fileName || file.name;
4445
+ this.mediaFileNames.update(names => ({
4446
+ ...names,
4447
+ [object.key]: fileName,
4448
+ }));
4449
+ if (object.downloadUrl) {
4450
+ this.uploadedMediaPreview.set({
4451
+ key: object.key,
4452
+ url: this.uploadedMediaUrl(object.downloadUrl, media.type),
4453
+ fileName,
4454
+ });
4455
+ }
3512
4456
  this.updateDraft(media.key, object.key);
3513
4457
  }
3514
4458
  }
3515
4459
  catch (error) {
3516
4460
  console.error('[taon-cms-post] Unable to upload media', error);
3517
- this.error.set('The media could not be uploaded. Please try again.');
4461
+ this.error.set(this.t.gettext('The media could not be uploaded. Please try again.'));
3518
4462
  }
3519
4463
  finally {
3520
4464
  this.busy.set(false);
3521
4465
  this.uploading.set(false);
4466
+ this.uploadProgress.set(0);
3522
4467
  input.value = '';
3523
4468
  }
3524
4469
  }
@@ -3529,9 +4474,67 @@ class TaonCmsPostComponent {
3529
4474
  if (!media || !this.editing() || this.busy() || this.dialogOpen()) {
3530
4475
  return;
3531
4476
  }
4477
+ this.uploadedMediaPreview.set(null);
3532
4478
  this.updateDraft(media.key, null);
3533
4479
  }
3534
4480
  //#endregion
4481
+ //#region methods / uploaded media URL
4482
+ uploadedMediaUrl(url, type) {
4483
+ if (type !== TaonCmsContentType.Attachment) {
4484
+ return url;
4485
+ }
4486
+ const parsedUrl = new URL(url);
4487
+ parsedUrl.searchParams.set('download', 'true');
4488
+ return parsedUrl.href;
4489
+ }
4490
+ //#endregion
4491
+ //#region methods / get media link
4492
+ getMediaLink(slug, type) {
4493
+ switch (type) {
4494
+ case TaonCmsContentType.Video:
4495
+ return firstValueFrom(this.api.getVideoLinkBySlug(slug));
4496
+ case TaonCmsContentType.Audio:
4497
+ return firstValueFrom(this.api.getAudioLinkBySlug(slug));
4498
+ case TaonCmsContentType.Attachment:
4499
+ return this.api.getAttachmentLinkBySlug(slug);
4500
+ default:
4501
+ return Promise.reject(new Error('This post type has no media.'));
4502
+ }
4503
+ }
4504
+ //#endregion
4505
+ //#region methods / get media link for viewing
4506
+ async getMediaLinkForView(slug, type) {
4507
+ try {
4508
+ switch (type) {
4509
+ case TaonCmsContentType.Video:
4510
+ return await this.api.getPublicVideoLinkBySlug(slug);
4511
+ case TaonCmsContentType.Audio:
4512
+ return await this.api.getPublicAudioLinkBySlug(slug);
4513
+ case TaonCmsContentType.Attachment:
4514
+ return await this.api.getPublicAttachmentLinkBySlug(slug);
4515
+ default:
4516
+ throw new Error('This post type has no media.');
4517
+ }
4518
+ }
4519
+ catch {
4520
+ return this.getMediaLink(slug, type);
4521
+ }
4522
+ }
4523
+ //#endregion
4524
+ //#region methods / media file name
4525
+ mediaFileName(key) {
4526
+ const fileName = this.mediaFileNames()[key];
4527
+ if (fileName) {
4528
+ return fileName;
4529
+ }
4530
+ const uploaded = this.uploadedMediaPreview();
4531
+ if (uploaded?.key === key) {
4532
+ return uploaded.fileName;
4533
+ }
4534
+ const storedName = key.split('/').pop() || key;
4535
+ return storedName.replace(/^[0-9a-f-]{36}__/i, '');
4536
+ }
4537
+ //#endregion
3535
4538
  //#region methods / update slug
3536
4539
  updateSlug(event) {
3537
4540
  if (event.target instanceof HTMLInputElement) {
@@ -3570,7 +4573,7 @@ class TaonCmsPostComponent {
3570
4573
  return;
3571
4574
  }
3572
4575
  if (!this.canSave()) {
3573
- this.error.set('A title and slug are required.');
4576
+ this.error.set(this.t.gettext('A title and slug are required.'));
3574
4577
  return;
3575
4578
  }
3576
4579
  if (this.mode() === 'add') {
@@ -3578,6 +4581,7 @@ class TaonCmsPostComponent {
3578
4581
  ...this.draft(),
3579
4582
  relatedPostIds: this.relatedPosts().map(post => post.id),
3580
4583
  permissionIds: this.permissions().map(permission => permission.id),
4584
+ applyPermissionsToRelatedPosts: this.applyPermissionsToRelatedPosts(),
3581
4585
  applicationHook: this.useAsApplicationHook()
3582
4586
  ? this.selectedApplicationHook()
3583
4587
  : null,
@@ -3601,7 +4605,7 @@ class TaonCmsPostComponent {
3601
4605
  return;
3602
4606
  }
3603
4607
  if (this.editing() && !this.canSave()) {
3604
- this.error.set('A title and slug are required.');
4608
+ this.error.set(this.t.gettext('A title and slug are required.'));
3605
4609
  return;
3606
4610
  }
3607
4611
  const post = this.requirePost();
@@ -3616,6 +4620,23 @@ class TaonCmsPostComponent {
3616
4620
  }
3617
4621
  }
3618
4622
  //#endregion
4623
+ //#region methods / unpublish
4624
+ unpublish() {
4625
+ const post = this.currentPost();
4626
+ if (!post ||
4627
+ post.status !== 'published' ||
4628
+ this.busy() ||
4629
+ this.dialogOpen() ||
4630
+ this.mode() === 'view-clean' ||
4631
+ this.mode() === 'add') {
4632
+ return;
4633
+ }
4634
+ this.persist(this.api.updateContent(post.id, {
4635
+ expectedVersion: post.version,
4636
+ status: 'draft',
4637
+ }));
4638
+ }
4639
+ //#endregion
3619
4640
  //#region methods / revert
3620
4641
  revert() {
3621
4642
  const post = this.requirePost();
@@ -3655,9 +4676,9 @@ class TaonCmsPostComponent {
3655
4676
  this.dialogOpen.set(true);
3656
4677
  const ref = this.dialog.open(TaonConfirmDialogComponent, {
3657
4678
  data: {
3658
- title: 'Delete post?',
3659
- message: 'This archives the post. It can be restored from its revisions.',
3660
- confirmText: 'Delete',
4679
+ title: this.t.gettext('Delete post?'),
4680
+ message: this.t.gettext('This archives the post. It can be restored from its revisions.'),
4681
+ confirmText: this.t.gettext('Delete'),
3661
4682
  },
3662
4683
  });
3663
4684
  ref
@@ -3676,7 +4697,12 @@ class TaonCmsPostComponent {
3676
4697
  return {
3677
4698
  ...this.draft(),
3678
4699
  relatedPostIds: this.relatedPosts().map(related => related.id),
3679
- permissionIds: this.permissions().map(permission => permission.id),
4700
+ ...(this.permissionSource()
4701
+ ? {}
4702
+ : {
4703
+ permissionIds: this.permissions().map(permission => permission.id),
4704
+ }),
4705
+ applyPermissionsToRelatedPosts: this.applyPermissionsToRelatedPosts(),
3680
4706
  applicationHook: this.useAsApplicationHook()
3681
4707
  ? this.selectedApplicationHook()
3682
4708
  : null,
@@ -3688,7 +4714,7 @@ class TaonCmsPostComponent {
3688
4714
  requirePost() {
3689
4715
  const post = this.currentPost();
3690
4716
  if (!post) {
3691
- this.error.set('No post is loaded.');
4717
+ this.error.set(this.t.gettext('No post is loaded.'));
3692
4718
  }
3693
4719
  return post;
3694
4720
  }
@@ -3704,9 +4730,14 @@ class TaonCmsPostComponent {
3704
4730
  this.applicationHooksError.set('');
3705
4731
  this.permissionsLoading.set(false);
3706
4732
  this.permissionsError.set('');
4733
+ this.uploadedMediaPreview.set(null);
4734
+ this.mediaPreviewSignature = '';
4735
+ this.mediaPreviewRequest += 1;
3707
4736
  this.currentPost.set(post);
3708
4737
  this.relatedPosts.set(post?.relatedPosts ?? []);
3709
4738
  this.permissions.set(post?.permissions ?? []);
4739
+ this.permissionSource.set(null);
4740
+ this.applyPermissionsToRelatedPosts.set(post?.applyPermissionsToRelatedPosts ?? false);
3710
4741
  this.selectedPermissionId.set(null);
3711
4742
  this.setApplicationHookSelection(post, this.applicationHooks());
3712
4743
  this.draft.set({
@@ -3724,9 +4755,7 @@ class TaonCmsPostComponent {
3724
4755
  this.mode() !== 'view-clean') {
3725
4756
  this.loadRelatedPosts();
3726
4757
  }
3727
- if (post &&
3728
- post.permissions === undefined &&
3729
- this.mode() !== 'view-clean') {
4758
+ if (post && this.mode() !== 'view-clean') {
3730
4759
  this.loadPermissions();
3731
4760
  }
3732
4761
  }
@@ -3765,13 +4794,12 @@ class TaonCmsPostComponent {
3765
4794
  },
3766
4795
  error: (error) => {
3767
4796
  console.error('[taon-cms-post] Unable to save post', error);
3768
- this.error.set('The post could not be saved. Check the slug and your connection. ' +
3769
- 'If another user changed it, close and reopen the post before retrying.');
4797
+ 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.'));
3770
4798
  },
3771
4799
  });
3772
4800
  }
3773
4801
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3774
- 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 }); }
4802
+ 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\">{{\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 }\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=\"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 <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,.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}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$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: MatProgressBarModule }, { kind: "component", type: i5.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { 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: i7.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: i7.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 }); }
3775
4803
  }
3776
4804
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostComponent, decorators: [{
3777
4805
  type: Component,
@@ -3780,10 +4808,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
3780
4808
  MatCheckboxModule,
3781
4809
  MatFormFieldModule,
3782
4810
  MatIconModule,
4811
+ MatProgressBarModule,
3783
4812
  MatRadioModule,
3784
4813
  MatSelectModule,
3785
4814
  TaonCmsEditableDirective,
3786
- ], 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"] }]
4815
+ ], providers: [TaonCmsContentApiService, TaonPermissionApiService], 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 }\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=\"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 <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,.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}video{max-width:100%;max-height:400px!important}\n"] }]
3787
4816
  }], 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"] }] } });
3788
4817
 
3789
4818
  var taonCmsPost_component = /*#__PURE__*/Object.freeze({
@@ -3815,14 +4844,20 @@ const TaonCmsPostRoutes = [
3815
4844
  */
3816
4845
  // export default TaonCmsPostRoutes;
3817
4846
 
4847
+ const t$3 = 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-websql-prod-taon-cms-post-details-page.component.ts.en-US.i18n.data-CzHUdCUx.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-BGjfwt-R.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-post-details-page.component.ts.de-DE.i18n.data-C3nWxKN2.mjs')).default } });
3818
4848
  class TaonCmsPostDetailsPageComponent {
3819
4849
  constructor() {
4850
+ this.t = t$3.for(this);
3820
4851
  this.post$ = inject(ActivatedRoute).data.pipe(map$1(data => data['post']));
3821
4852
  }
3822
4853
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostDetailsPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3823
4854
  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: `
3824
4855
  @if (post$ | async; as post) {
3825
- <a mat-button routerLink="../">Back to Posts</a>
4856
+ <a
4857
+ mat-button
4858
+ routerLink="../"
4859
+ >{{ t.gettext('Back to Posts') }}</a
4860
+ >
3826
4861
  <taon-cms-post [post]="post"></taon-cms-post>
3827
4862
  }
3828
4863
  `, 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 }); }
@@ -3835,7 +4870,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
3835
4870
  imports: [AsyncPipe, MatButtonModule, RouterLink, TaonCmsPostComponent],
3836
4871
  template: `
3837
4872
  @if (post$ | async; as post) {
3838
- <a mat-button routerLink="../">Back to Posts</a>
4873
+ <a
4874
+ mat-button
4875
+ routerLink="../"
4876
+ >{{ t.gettext('Back to Posts') }}</a
4877
+ >
3839
4878
  <taon-cms-post [post]="post"></taon-cms-post>
3840
4879
  }
3841
4880
  `,
@@ -3847,8 +4886,10 @@ var taonCmsPostDetailsPage_component = /*#__PURE__*/Object.freeze({
3847
4886
  TaonCmsPostDetailsPageComponent: TaonCmsPostDetailsPageComponent
3848
4887
  });
3849
4888
 
4889
+ const t$2 = Translation.for('src/lib/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.ts', { "src/lib/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.html": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-post-edit-dialog.component.html.en-US.i18n.data-Z28o4CQK.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-post-edit-dialog.component.html.pl-PL.i18n.data-Buh1Pgyd.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-post-edit-dialog.component.html.de-DE.i18n.data-Dz5ZLwgG.mjs')).default }, "src/lib/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-post-edit-dialog.component.ts.en-US.i18n.data-CNV_wiqy.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-post-edit-dialog.component.ts.pl-PL.i18n.data-B3XPzty6.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-post-edit-dialog.component.ts.de-DE.i18n.data-D2I8Zux6.mjs')).default } });
3850
4890
  class TaonCmsPostEditDialogComponent {
3851
4891
  constructor() {
4892
+ this.t = t$2.for(this);
3852
4893
  this.data = inject(MAT_DIALOG_DATA);
3853
4894
  this.editor = viewChild(TaonCmsPostComponent, ...(ngDevMode ? [{ debugName: "editor" }] : []));
3854
4895
  this.changed = new EventEmitter();
@@ -3863,17 +4904,24 @@ class TaonCmsPostEditDialogComponent {
3863
4904
  this.ref.close(post);
3864
4905
  }
3865
4906
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostEditDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3866
- 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 }); }
4907
+ 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>\n {{ data.mode === 'add' ? t.gettext('Add post') : t.gettext('Manage post') }}\n </h2>\n <button\n mat-icon-button\n type=\"button\"\n [attr.aria-label]=\"t.gettext('Close post editor')\"\n [disabled]=\"editor()?.busy() || editor()?.dialogOpen()\"\n (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 }); }
3867
4908
  }
3868
4909
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostEditDialogComponent, decorators: [{
3869
4910
  type: Component,
3870
- 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"] }]
4911
+ args: [{ selector: 'taon-cms-post-edit-dialog', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
4912
+ MatButtonModule,
4913
+ MatDialogModule,
4914
+ MatIconModule,
4915
+ TaonCmsPostComponent,
4916
+ ], template: "<header class=\"dialog-header\">\n <h2>\n {{ data.mode === 'add' ? t.gettext('Add post') : t.gettext('Manage post') }}\n </h2>\n <button\n mat-icon-button\n type=\"button\"\n [attr.aria-label]=\"t.gettext('Close post editor')\"\n [disabled]=\"editor()?.busy() || editor()?.dialogOpen()\"\n (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"] }]
3871
4917
  }], propDecorators: { editor: [{ type: i0.ViewChild, args: [i0.forwardRef(() => TaonCmsPostComponent), { isSignal: true }] }] } });
3872
4918
 
3873
4919
  //#region imports
3874
4920
  //#endregion
4921
+ 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-websql-prod-taon-cms-posts-backoffice.component.html.en-US.i18n.data-IKL7BZHV.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-BCMo1HVU.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-CmScO4Pm.mjs')).default }, "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-C2t8zwda.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-Xehy4KUW.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-C1EPeAaF.mjs')).default }, "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-ayYFXvcP.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-BZf6TtRS.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-CSwq8etN.mjs')).default } });
3875
4922
  class TaonCmsPostsBackofficeComponent {
3876
4923
  constructor() {
4924
+ this.t = t$1.for(this);
3877
4925
  this.taonCmsContentApiService = inject(TaonCmsContentApiService);
3878
4926
  this.posts = signal([], ...(ngDevMode ? [{ debugName: "posts" }] : []));
3879
4927
  this.loading = signal(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
@@ -3886,29 +4934,29 @@ class TaonCmsPostsBackofficeComponent {
3886
4934
  this.cancelLoad$ = new Subject();
3887
4935
  this.columns = [
3888
4936
  { header: 'ID', field: 'id', sortable: true },
3889
- { header: 'Title', field: 'title', sortable: true },
3890
- { header: 'Status', field: 'status', sortable: true },
4937
+ { header: this.t.gettext('Title'), field: 'title', sortable: true },
4938
+ { header: this.t.gettext('Status'), field: 'status', sortable: true },
3891
4939
  {
3892
- header: 'Actions',
4940
+ header: this.t.gettext('Actions'),
3893
4941
  field: 'actions',
3894
4942
  type: 'button',
3895
4943
  buttons: [
3896
4944
  {
3897
4945
  type: 'icon',
3898
4946
  icon: 'edit',
3899
- tooltip: 'Edit post',
4947
+ tooltip: this.t.gettext('Edit post'),
3900
4948
  click: (post) => this.edit(post),
3901
4949
  },
3902
4950
  {
3903
4951
  type: 'icon',
3904
4952
  icon: 'open_in_new',
3905
- tooltip: 'Post details',
4953
+ tooltip: this.t.gettext('Post details'),
3906
4954
  click: (post) => this.openDetails(post),
3907
4955
  },
3908
4956
  {
3909
4957
  type: 'icon',
3910
4958
  icon: 'delete',
3911
- tooltip: 'Delete (archive) post',
4959
+ tooltip: this.t.gettext('Delete (archive) post'),
3912
4960
  disabled: (post) => post.status === 'archived' || this.deleting() !== null,
3913
4961
  click: (post) => this.delete(post),
3914
4962
  },
@@ -3934,7 +4982,7 @@ class TaonCmsPostsBackofficeComponent {
3934
4982
  openDetails(post) {
3935
4983
  const postsRoute = this.route.parent;
3936
4984
  if (!postsRoute) {
3937
- this.error.set('The Post details route is unavailable.');
4985
+ this.error.set(this.t.gettext('The Post details route is unavailable.'));
3938
4986
  return;
3939
4987
  }
3940
4988
  void this.router.navigate([post.id], { relativeTo: postsRoute });
@@ -3946,9 +4994,9 @@ class TaonCmsPostsBackofficeComponent {
3946
4994
  this.deleting.set(post.id);
3947
4995
  const ref = this.dialog.open(TaonConfirmDialogComponent, {
3948
4996
  data: {
3949
- title: 'Delete post?',
3950
- message: 'This archives the post. It can be restored from its revisions.',
3951
- confirmText: 'Delete',
4997
+ title: this.t.gettext('Delete post?'),
4998
+ message: this.t.gettext('This archives the post. It can be restored from its revisions.'),
4999
+ confirmText: this.t.gettext('Delete'),
3952
5000
  },
3953
5001
  });
3954
5002
  ref
@@ -3967,7 +5015,7 @@ class TaonCmsPostsBackofficeComponent {
3967
5015
  next: () => this.reload(),
3968
5016
  error: (error) => {
3969
5017
  console.error('[taon-cms-posts-backoffice] Unable to delete post', error);
3970
- this.error.set('The post could not be deleted. Refresh the table before retrying.');
5018
+ this.error.set(this.t.gettext('The post could not be deleted. Refresh the table before retrying.'));
3971
5019
  },
3972
5020
  });
3973
5021
  });
@@ -3987,11 +5035,11 @@ class TaonCmsPostsBackofficeComponent {
3987
5035
  .subscribe(() => this.reload());
3988
5036
  }
3989
5037
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostsBackofficeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3990
- 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 }); }
5038
+ 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 }); }
3991
5039
  }
3992
5040
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostsBackofficeComponent, decorators: [{
3993
5041
  type: Component,
3994
- 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"] }]
5042
+ 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"] }]
3995
5043
  }], propDecorators: { datatable: [{
3996
5044
  type: ViewChild,
3997
5045
  args: [TaonDatatableComponent]
@@ -4007,15 +5055,16 @@ var taonCmsPostsBackoffice_component = /*#__PURE__*/Object.freeze({
4007
5055
 
4008
5056
  //#region imports
4009
5057
  //#endregion
5058
+ 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-websql-prod-taon-cms-posts-backoffice.component.html.en-US.i18n.data-IKL7BZHV.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-BCMo1HVU.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-CmScO4Pm.mjs')).default }, "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-C2t8zwda.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-Xehy4KUW.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-C1EPeAaF.mjs')).default }, "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-ayYFXvcP.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-BZf6TtRS.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-CSwq8etN.mjs')).default } });
4010
5059
  const resolvePost = async (route) => {
4011
5060
  const id = Number(route.paramMap.get('id'));
4012
5061
  if (!Number.isSafeInteger(id) || id <= 0) {
4013
- throw new Error('Invalid Post ID');
5062
+ throw new Error(t.gettext('Invalid Post ID'));
4014
5063
  }
4015
5064
  const taonCmsContentApiService = inject(TaonCmsContentApiService);
4016
5065
  const post = await taonCmsContentApiService.getById(id);
4017
5066
  if (!post) {
4018
- throw new Error('Post not found');
5067
+ throw new Error(t.gettext('Post not found'));
4019
5068
  }
4020
5069
  return post;
4021
5070
  };
@@ -4057,6 +5106,7 @@ var index$1 = /*#__PURE__*/Object.freeze({
4057
5106
  CURRENT_PACKAGE_TAON_VERSION: CURRENT_PACKAGE_TAON_VERSION,
4058
5107
  CURRENT_PACKAGE_VERSION: CURRENT_PACKAGE_VERSION,
4059
5108
  get CmsContext_1791132517217_initial () { return CmsContext_1791132517217_initial; },
5109
+ get CmsContext_1792579000000_postPermissionInheritance () { return CmsContext_1792579000000_postPermissionInheritance; },
4060
5110
  MIGRATIONS_CLASSES_FOR_CmsContext: MIGRATIONS_CLASSES_FOR_CmsContext,
4061
5111
  PROJECT_NPM_NAME: PROJECT_NPM_NAME,
4062
5112
  get TaonAuthContextEntity () { return TaonAuthContextEntity; },
@@ -4065,6 +5115,7 @@ var index$1 = /*#__PURE__*/Object.freeze({
4065
5115
  TaonCmsAbstractContext: TaonCmsAbstractContext,
4066
5116
  TaonCmsApplicationHook: TaonCmsApplicationHook,
4067
5117
  get TaonCmsApplicationHookEntity () { return TaonCmsApplicationHookEntity; },
5118
+ TaonCmsAssetPreviewComponent: TaonCmsAssetPreviewComponent,
4068
5119
  TaonCmsAssetsBackofficeComponent: TaonCmsAssetsBackofficeComponent,
4069
5120
  TaonCmsAssetsBackofficeRoutes: TaonCmsAssetsBackofficeRoutes,
4070
5121
  TaonCmsBackofficeComponent: TaonCmsBackofficeComponent,
@@ -4177,6 +5228,7 @@ var index$1 = /*#__PURE__*/Object.freeze({
4177
5228
  requireContentId: requireContentId,
4178
5229
  requireContentVersion: requireContentVersion,
4179
5230
  startCli: startCli,
5231
+ trackCmsUpload: trackCmsUpload,
4180
5232
  validateContentInput: validateContentInput
4181
5233
  });
4182
5234
 
@@ -4184,5 +5236,5 @@ var index$1 = /*#__PURE__*/Object.freeze({
4184
5236
  * Generated bundle index. Do not edit.
4185
5237
  */
4186
5238
 
4187
- 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 };
5239
+ export { APP_ID, BUILD_BASE_HREF, BUILD_FRAMEWORK_CLI_NAME, CURRENT_PACKAGE_TAON_VERSION, CURRENT_PACKAGE_VERSION, CmsContext_1791132517217_initial, CmsContext_1792579000000_postPermissionInheritance, MIGRATIONS_CLASSES_FOR_CmsContext, PROJECT_NPM_NAME, TaonAuthContextEntity, TaonAuthContextHasAccess, TaonAuthContextRepository, TaonCmsAbstractContext, TaonCmsApplicationHook, TaonCmsApplicationHookEntity, TaonCmsAssetPreviewComponent, 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, trackCmsUpload, validateContentInput };
4188
5240
  //# sourceMappingURL=cms-websql-prod.mjs.map