@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, TaonMigration, TaonBaseAbstractEntity, Taon, TaonBaseRepository, TaonRepository, TaonBaseCrudController, TaonController, TaonBaseProvider, TaonProvider, TaonBaseMiddleware, TaonMiddleware, TaonBaseSubscriberForEntity, TaonSubscriber, createContext, TaonBaseContext, GET, Query, POST, Body, PUT, DELETE, TaonBaseStorageController, TaonBaseAngularService } from 'taon/websql';
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';
4
- import { Table, Raw, In } from 'taon-typeorm/websql';
5
- import { UtilsJson } from 'tnp-core/websql';
2
+ import { TaonBaseEntity, PrimaryGeneratedColumn, Column, OneToOne, JoinColumn, TaonEntity, ManyToMany, JoinTable, TaonBaseMigration, ClassHelpers, TaonMigration, TaonBaseAbstractEntity, Taon, TaonBaseRepository, TaonRepository, TaonBaseCrudController, TaonController, TaonBaseProvider, TaonProvider, TaonBaseMiddleware, TaonMiddleware, TaonBaseSubscriberForEntity, TaonSubscriber, createContext, TaonBaseContext, GET, Query, TaonBaseStorageController, POST, Body, PUT, DELETE, TaonBaseAngularService } from 'taon/websql';
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';
4
+ import { Table, TableColumn, Raw, In } from 'taon-typeorm/websql';
5
+ import { UtilsJson, _ } from 'tnp-core/websql';
6
6
  import { BaseCommandLineFeature } from 'tnp-helpers/websql';
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';
12
+ import { Observable, of, map as map$1, finalize, firstValueFrom, Subject, takeUntil } from 'rxjs';
13
+ import { map, catchError } from 'rxjs/operators';
14
+ import { Resource } from 'ng2-rest/websql';
15
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
16
+ import { TaonDatatableComponent, adminLazyRoute as adminLazyRoute$1, TaonConfirmDialogComponent } from '@taon-dev/ui/websql';
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';
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.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.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.methodsInterceptors.has(key)) {
3020
+ Resource.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-taon-cms-asset-preview.component.html.en-US.i18n.data-B9wMX_EY.mjs')).default, "pl-PL": async () => (await import('./cms-websql-taon-cms-asset-preview.component.html.pl-PL.i18n.data-xbwXUXYs.mjs')).default, "de-DE": async () => (await import('./cms-websql-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-taon-cms-asset-preview.component.ts.en-US.i18n.data-CLtlIZzx.mjs')).default, "pl-PL": async () => (await import('./cms-websql-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-CPExkT3k.mjs')).default, "de-DE": async () => (await import('./cms-websql-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-taon-cms-assets-backoffice.component.html.en-US.i18n.data-Dd97eKL6.mjs')).default, "pl-PL": async () => (await import('./cms-websql-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-Bhajq1qM.mjs')).default, "de-DE": async () => (await import('./cms-websql-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-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-Isn8nVdY.mjs')).default, "pl-PL": async () => (await import('./cms-websql-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-DZQ_dWB0.mjs')).default, "de-DE": async () => (await import('./cms-websql-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-taon-cms-asset-preview.component.html.en-US.i18n.data-B9wMX_EY.mjs')).default, "pl-PL": async () => (await import('./cms-websql-taon-cms-asset-preview.component.html.pl-PL.i18n.data-xbwXUXYs.mjs')).default, "de-DE": async () => (await import('./cms-websql-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-taon-cms-asset-preview.component.ts.en-US.i18n.data-CLtlIZzx.mjs')).default, "pl-PL": async () => (await import('./cms-websql-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-CPExkT3k.mjs')).default, "de-DE": async () => (await import('./cms-websql-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-taon-cms-assets-backoffice.component.html.en-US.i18n.data-Dd97eKL6.mjs')).default, "pl-PL": async () => (await import('./cms-websql-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-Bhajq1qM.mjs')).default, "de-DE": async () => (await import('./cms-websql-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-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-Isn8nVdY.mjs')).default, "pl-PL": async () => (await import('./cms-websql-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-DZQ_dWB0.mjs')).default, "de-DE": async () => (await import('./cms-websql-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 = _.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-taon-cms-backoffice.component.html.en-US.i18n.data-B6WD9PJf.mjs')).default, "pl-PL": async () => (await import('./cms-websql-taon-cms-backoffice.component.html.pl-PL.i18n.data-CkJQRqG3.mjs')).default, "de-DE": async () => (await import('./cms-websql-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-taon-cms-backoffice.component.ts.en-US.i18n.data-eTouqefi.mjs')).default, "pl-PL": async () => (await import('./cms-websql-taon-cms-backoffice.component.ts.pl-PL.i18n.data-C8tsBZCu.mjs')).default, "de-DE": async () => (await import('./cms-websql-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-taon-cms-backoffice.routes.ts.en-US.i18n.data-Bm9mDdSW.mjs')).default, "pl-PL": async () => (await import('./cms-websql-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-DlhV8M8I.mjs')).default, "de-DE": async () => (await import('./cms-websql-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({
@@ -2556,6 +3457,7 @@ var taonCmsBackoffice_component = /*#__PURE__*/Object.freeze({
2556
3457
 
2557
3458
  //#endregion
2558
3459
  const adminLazyRoute = (adminLazyRoute$1);
3460
+ 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-taon-cms-backoffice.component.html.en-US.i18n.data-B6WD9PJf.mjs')).default, "pl-PL": async () => (await import('./cms-websql-taon-cms-backoffice.component.html.pl-PL.i18n.data-CkJQRqG3.mjs')).default, "de-DE": async () => (await import('./cms-websql-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-taon-cms-backoffice.component.ts.en-US.i18n.data-eTouqefi.mjs')).default, "pl-PL": async () => (await import('./cms-websql-taon-cms-backoffice.component.ts.pl-PL.i18n.data-C8tsBZCu.mjs')).default, "de-DE": async () => (await import('./cms-websql-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-taon-cms-backoffice.routes.ts.en-US.i18n.data-Bm9mDdSW.mjs')).default, "pl-PL": async () => (await import('./cms-websql-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-DlhV8M8I.mjs')).default, "de-DE": async () => (await import('./cms-websql-taon-cms-backoffice.routes.ts.de-DE.i18n.data-DLee8IHp.mjs')).default } });
2559
3461
  const TaonCmsBackofficeRoutes = [
2560
3462
  {
2561
3463
  path: '',
@@ -2567,7 +3469,7 @@ const TaonCmsBackofficeRoutes = [
2567
3469
  return !context?.hasAccess.toManagePosts;
2568
3470
  },
2569
3471
  path: 'posts',
2570
- menuItem: 'Posts',
3472
+ menuItem: t$7.gettext('Posts'),
2571
3473
  expandable: true,
2572
3474
  icon: 'edit',
2573
3475
  loader: () => Promise.resolve().then(function () { return index$1; }).then(m => m.TaonCmsPostsBackofficeRoutes),
@@ -2575,7 +3477,7 @@ const TaonCmsBackofficeRoutes = [
2575
3477
  adminLazyRoute({
2576
3478
  isDisabled: ({ context }) => !context?.hasAccess.toManagePosts,
2577
3479
  path: 'assets',
2578
- menuItem: 'Assets',
3480
+ menuItem: t$7.gettext('Assets'),
2579
3481
  expandable: false,
2580
3482
  icon: 'perm_media',
2581
3483
  loader: () => Promise.resolve().then(function () { return taonCmsAssetsBackoffice_routes; }).then(m => m.TaonCmsAssetsBackofficeRoutes),
@@ -2671,92 +3573,6 @@ var TaonCmsCommentUtils;
2671
3573
  TaonCmsCommentUtils.isActive = isActive;
2672
3574
  })(TaonCmsCommentUtils || (TaonCmsCommentUtils = {}));
2673
3575
 
2674
- //#region imports
2675
- //#endregion
2676
- class TaonCmsContentApiService extends TaonBaseAngularService {
2677
- constructor() {
2678
- super(...arguments);
2679
- this.taonCmsContentController = this.injectController(TaonCmsContentController);
2680
- this.taonCmsContentStorageController = this.injectController(TaonCmsContentStorageController);
2681
- }
2682
- get crudController() {
2683
- return this.taonCmsContentController;
2684
- }
2685
- async getById(id) {
2686
- return (await this.taonCmsContentController.getBy(id).request()).body.json;
2687
- }
2688
- async getBySlug(slug) {
2689
- return (await this.taonCmsContentController.getBySlug(slug).request()).body
2690
- .json;
2691
- }
2692
- getContentByHook(hook) {
2693
- return this.taonCmsContentController.getContentByHook(hook)
2694
- .request().observable.pipe(map(res => res.body.text));
2695
- }
2696
- getPublicContentByHook(hook) {
2697
- return this.taonCmsContentController.getPublicContentByHook(hook)
2698
- .request().observable.pipe(map(res => res.body.text), catchError(() => of('---')));
2699
- }
2700
- listApplicationHooks() {
2701
- return this.taonCmsContentController.listApplicationHooks()
2702
- .request().observable.pipe(map(res => res.body.json));
2703
- }
2704
- async uploadMedia(file) {
2705
- const formData = new FormData();
2706
- formData.append('file', file);
2707
- const response = await this.taonCmsContentStorageController
2708
- .uploadFormDataToServer(formData)
2709
- .request();
2710
- const objects = response.body.json;
2711
- if (objects.length !== 1 || !objects[0].key) {
2712
- throw new Error('The upload did not return a media key.');
2713
- }
2714
- return objects[0];
2715
- }
2716
- createContent(input) {
2717
- return this.taonCmsContentController.createContent(input)
2718
- .request().observable.pipe(map(res => res.body.json));
2719
- }
2720
- updateContent(id, input) {
2721
- return this.taonCmsContentController.updateContent(id, input)
2722
- .request().observable.pipe(map(res => res.body.json));
2723
- }
2724
- deleteContent(id, expectedVersion) {
2725
- return this.taonCmsContentController.deleteContent(id, expectedVersion)
2726
- .request().observable.pipe(map(res => res.body.json));
2727
- }
2728
- restoreContent(id, input) {
2729
- return this.taonCmsContentController.restoreContent(id, input)
2730
- .request().observable.pipe(map(res => res.body.json));
2731
- }
2732
- listRevisions(id) {
2733
- return this.taonCmsContentController.listRevisions(id)
2734
- .request().observable.pipe(map(res => res.body.json));
2735
- }
2736
- listRelatedPosts(id) {
2737
- return this.taonCmsContentController.listRelatedPosts(id)
2738
- .request().observable.pipe(map(res => res.body.json));
2739
- }
2740
- listPermissions(id) {
2741
- return this.taonCmsContentController.listPermissions(id)
2742
- .request().observable.pipe(map(res => res.body.json));
2743
- }
2744
- addRelatedPost(id, relatedPostId, expectedVersion) {
2745
- return this.taonCmsContentController.addRelatedPost(id, relatedPostId, expectedVersion).request().observable.pipe(map(res => res.body.json));
2746
- }
2747
- deleteRelatedPost(id, relatedPostId, expectedVersion) {
2748
- return this.taonCmsContentController.deleteRelatedPost(id, relatedPostId, expectedVersion).request().observable.pipe(map(res => res.body.json));
2749
- }
2750
- get allMyEntities$() {
2751
- return this.taonCmsContentController.getAll().request().observable.pipe(map(res => res.body?.json));
2752
- }
2753
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsContentApiService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
2754
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsContentApiService }); }
2755
- }
2756
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsContentApiService, decorators: [{
2757
- type: Injectable
2758
- }] });
2759
-
2760
3576
  class TaonCmsContentConfigService extends TaonBaseAngularService {
2761
3577
  constructor() {
2762
3578
  super(...arguments);
@@ -3096,8 +3912,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
3096
3912
  args: ['paste', ['$event']]
3097
3913
  }] } });
3098
3914
 
3915
+ 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-taon-cms-revision-chooser.component.html.en-US.i18n.data-BQetHhHY.mjs')).default, "pl-PL": async () => (await import('./cms-websql-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-DFyL2hhB.mjs')).default, "de-DE": async () => (await import('./cms-websql-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-taon-cms-revision-chooser.component.ts.en-US.i18n.data-Q_yYYlqT.mjs')).default, "pl-PL": async () => (await import('./cms-websql-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-DS71Bpee.mjs')).default, "de-DE": async () => (await import('./cms-websql-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-C8Amkua1.mjs')).default } });
3099
3916
  class TaonCmsRevisionChooserComponent {
3100
3917
  constructor() {
3918
+ this.t = t$6.for(this);
3101
3919
  this.post = inject(MAT_DIALOG_DATA);
3102
3920
  this.revisions = signal([], ...(ngDevMode ? [{ debugName: "revisions" }] : []));
3103
3921
  this.selected = signal(null, ...(ngDevMode ? [{ debugName: "selected" }] : []));
@@ -3116,11 +3934,14 @@ class TaonCmsRevisionChooserComponent {
3116
3934
  this.selected.set(null);
3117
3935
  this.loading.set(true);
3118
3936
  this.error.set('');
3119
- this.api.listRevisions(this.post.id).pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.loading.set(false))).subscribe({
3937
+ this.api
3938
+ .listRevisions(this.post.id)
3939
+ .pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.loading.set(false)))
3940
+ .subscribe({
3120
3941
  next: revisions => this.revisions.set([...revisions].sort((a, b) => b.revisionNumber - a.revisionNumber)),
3121
3942
  error: (error) => {
3122
3943
  console.error('[taon-cms-revision-chooser] Unable to load revisions', error);
3123
- this.error.set('Revisions could not be loaded. Please try again.');
3944
+ this.error.set(this.t.gettext('Revisions could not be loaded. Please try again.'));
3124
3945
  },
3125
3946
  });
3126
3947
  }
@@ -3130,20 +3951,22 @@ class TaonCmsRevisionChooserComponent {
3130
3951
  return;
3131
3952
  }
3132
3953
  if (revisionNumber === null) {
3133
- this.error.set('Select a revision to restore.');
3954
+ this.error.set(this.t.gettext('Select a revision to restore.'));
3134
3955
  return;
3135
3956
  }
3136
3957
  this.applying.set(true);
3137
3958
  this.error.set('');
3138
- this.api.restoreContent(this.post.id, {
3959
+ this.api
3960
+ .restoreContent(this.post.id, {
3139
3961
  revisionNumber,
3140
3962
  expectedVersion: this.post.version,
3141
- }).pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.applying.set(false))).subscribe({
3963
+ })
3964
+ .pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.applying.set(false)))
3965
+ .subscribe({
3142
3966
  next: post => this.ref.close(post),
3143
3967
  error: (error) => {
3144
3968
  console.error('[taon-cms-revision-chooser] Unable to restore revision', error);
3145
- this.error.set('The revision could not be restored. If the post changed, close and ' +
3146
- 'reopen it to load its latest version.');
3969
+ 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.'));
3147
3970
  },
3148
3971
  });
3149
3972
  }
@@ -3153,15 +3976,17 @@ class TaonCmsRevisionChooserComponent {
3153
3976
  }
3154
3977
  }
3155
3978
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsRevisionChooserComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3156
- 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 }); }
3979
+ 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 }); }
3157
3980
  }
3158
3981
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsRevisionChooserComponent, decorators: [{
3159
3982
  type: Component,
3160
- 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"] }]
3983
+ 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"] }]
3161
3984
  }], ctorParameters: () => [] });
3162
3985
 
3986
+ 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-taon-related-post-chooser.component.html.en-US.i18n.data-ta4f6CoB.mjs')).default, "pl-PL": async () => (await import('./cms-websql-taon-related-post-chooser.component.html.pl-PL.i18n.data-Dw5hHPVt.mjs')).default, "de-DE": async () => (await import('./cms-websql-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-taon-related-post-chooser.component.ts.en-US.i18n.data-BHozuByI.mjs')).default, "pl-PL": async () => (await import('./cms-websql-taon-related-post-chooser.component.ts.pl-PL.i18n.data-CVbRXbCE.mjs')).default, "de-DE": async () => (await import('./cms-websql-taon-related-post-chooser.component.ts.de-DE.i18n.data-DaAVLmDB.mjs')).default } });
3163
3987
  class TaonRelatedPostChooserComponent {
3164
3988
  constructor() {
3989
+ this.t = t$5.for(this);
3165
3990
  this.data = inject(MAT_DIALOG_DATA);
3166
3991
  this.posts = signal([], ...(ngDevMode ? [{ debugName: "posts" }] : []));
3167
3992
  this.selected = signal(null, ...(ngDevMode ? [{ debugName: "selected" }] : []));
@@ -3192,7 +4017,7 @@ class TaonRelatedPostChooserComponent {
3192
4017
  next: posts => this.posts.set(posts),
3193
4018
  error: (error) => {
3194
4019
  console.error('[taon-related-post-chooser] Unable to load posts', error);
3195
- this.error.set('Posts could not be loaded. Please try again.');
4020
+ this.error.set(this.t.gettext('Posts could not be loaded. Please try again.'));
3196
4021
  },
3197
4022
  });
3198
4023
  }
@@ -3208,7 +4033,7 @@ class TaonRelatedPostChooserComponent {
3208
4033
  }
3209
4034
  const post = this.filteredPosts().find(post => post.id === this.selected());
3210
4035
  if (!post) {
3211
- this.error.set('Select a related post.');
4036
+ this.error.set(this.t.gettext('Select a related post.'));
3212
4037
  return;
3213
4038
  }
3214
4039
  this.ref.close(post);
@@ -3217,19 +4042,21 @@ class TaonRelatedPostChooserComponent {
3217
4042
  this.ref.close();
3218
4043
  }
3219
4044
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonRelatedPostChooserComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3220
- 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 }); }
4045
+ 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 }); }
3221
4046
  }
3222
4047
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonRelatedPostChooserComponent, decorators: [{
3223
4048
  type: Component,
3224
- 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"] }]
4049
+ 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"] }]
3225
4050
  }], ctorParameters: () => [] });
3226
4051
 
3227
4052
  //#region imports
3228
4053
  //#endregion
4054
+ 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-taon-cms-post.component.html.en-US.i18n.data-BADXpKlC.mjs')).default, "pl-PL": async () => (await import('./cms-websql-taon-cms-post.component.html.pl-PL.i18n.data-DyBK3Qg6.mjs')).default, "de-DE": async () => (await import('./cms-websql-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-taon-cms-post.component.ts.en-US.i18n.data-BbpIRzgh.mjs')).default, "pl-PL": async () => (await import('./cms-websql-taon-cms-post.component.ts.pl-PL.i18n.data-Cqy96DQS.mjs')).default, "de-DE": async () => (await import('./cms-websql-taon-cms-post.component.ts.de-DE.i18n.data-DaC7IYoM.mjs')).default } });
3229
4055
  class TaonCmsPostComponent {
3230
4056
  //#endregion
3231
4057
  //#region constructor
3232
4058
  constructor() {
4059
+ this.t = t$4.for(this);
3233
4060
  //#region fields and getters
3234
4061
  this.post = input(null, ...(ngDevMode ? [{ debugName: "post" }] : []));
3235
4062
  this.mode = model('view', ...(ngDevMode ? [{ debugName: "mode" }] : []));
@@ -3237,6 +4064,9 @@ class TaonCmsPostComponent {
3237
4064
  this.deleted = output();
3238
4065
  this.cancelled = output();
3239
4066
  this.currentPost = signal(null, ...(ngDevMode ? [{ debugName: "currentPost" }] : []));
4067
+ this.placeholderShortIntro = this.t.signal.gettext('A short introduction...');
4068
+ this.placeholderTitle = this.t.signal.gettext('Title');
4069
+ this.placeholderTellYourStory = this.t.signal.gettext('Tell your story...');
3240
4070
  this.draft = signal({
3241
4071
  type: TaonCmsContentType.Normal,
3242
4072
  title: '',
@@ -3248,37 +4078,51 @@ class TaonCmsPostComponent {
3248
4078
  attachmentKey: null,
3249
4079
  }, ...(ngDevMode ? [{ debugName: "draft" }] : []));
3250
4080
  this.postTypes = [
3251
- { value: TaonCmsContentType.Normal, label: 'Normal post' },
3252
- { value: TaonCmsContentType.Video, label: 'Video post' },
3253
- { value: TaonCmsContentType.Audio, label: 'Audio post' },
3254
- { value: TaonCmsContentType.Attachment, label: 'Attachment post' },
4081
+ {
4082
+ value: TaonCmsContentType.Normal,
4083
+ label: this.t.gettext('Normal post'),
4084
+ },
4085
+ { value: TaonCmsContentType.Video, label: this.t.gettext('Video post') },
4086
+ { value: TaonCmsContentType.Audio, label: this.t.gettext('Audio post') },
4087
+ {
4088
+ value: TaonCmsContentType.Attachment,
4089
+ label: this.t.gettext('Attachment post'),
4090
+ },
3255
4091
  ];
3256
4092
  this.mediaAttachments = [
3257
4093
  {
3258
4094
  type: TaonCmsContentType.Video,
3259
4095
  key: 'videoKey',
3260
- heading: 'Video Attachment',
3261
- uploadLabel: 'Upload video',
4096
+ heading: this.t.gettext('Video Attachment'),
4097
+ uploadLabel: this.t.gettext('Upload video'),
3262
4098
  accept: 'video/*',
3263
4099
  },
3264
4100
  {
3265
4101
  type: TaonCmsContentType.Audio,
3266
4102
  key: 'audioKey',
3267
- heading: 'Audio Attachment',
3268
- uploadLabel: 'Upload audio',
4103
+ heading: this.t.gettext('Audio Attachment'),
4104
+ uploadLabel: this.t.gettext('Upload audio'),
3269
4105
  accept: 'audio/*',
3270
4106
  },
3271
4107
  {
3272
4108
  type: TaonCmsContentType.Attachment,
3273
4109
  key: 'attachmentKey',
3274
- heading: 'File Attachment',
3275
- uploadLabel: 'Upload file',
4110
+ heading: this.t.gettext('File Attachment'),
4111
+ uploadLabel: this.t.gettext('Upload file'),
3276
4112
  accept: '',
3277
4113
  },
3278
4114
  ];
3279
4115
  this.mediaAttachment = computed(() => this.mediaAttachments.find(media => media.type === this.draft().type), ...(ngDevMode ? [{ debugName: "mediaAttachment" }] : []));
3280
4116
  this.busy = signal(false, ...(ngDevMode ? [{ debugName: "busy" }] : []));
3281
4117
  this.uploading = signal(false, ...(ngDevMode ? [{ debugName: "uploading" }] : []));
4118
+ this.uploadProgress = signal(0, ...(ngDevMode ? [{ debugName: "uploadProgress" }] : []));
4119
+ this.mediaPreviewUrl = signal('', ...(ngDevMode ? [{ debugName: "mediaPreviewUrl" }] : []));
4120
+ this.mediaPreviewLoading = signal(false, ...(ngDevMode ? [{ debugName: "mediaPreviewLoading" }] : []));
4121
+ this.mediaPreviewError = signal('', ...(ngDevMode ? [{ debugName: "mediaPreviewError" }] : []));
4122
+ this.mediaFileNames = signal({}, ...(ngDevMode ? [{ debugName: "mediaFileNames" }] : []));
4123
+ this.uploadedMediaPreview = signal(null, ...(ngDevMode ? [{ debugName: "uploadedMediaPreview" }] : []));
4124
+ this.mediaPreviewRequest = 0;
4125
+ this.mediaPreviewSignature = '';
3282
4126
  this.dialogOpen = signal(false, ...(ngDevMode ? [{ debugName: "dialogOpen" }] : []));
3283
4127
  this.error = signal('', ...(ngDevMode ? [{ debugName: "error" }] : []));
3284
4128
  this.relatedPosts = signal([], ...(ngDevMode ? [{ debugName: "relatedPosts" }] : []));
@@ -3290,6 +4134,8 @@ class TaonCmsPostComponent {
3290
4134
  this.useAsApplicationHook = signal(false, ...(ngDevMode ? [{ debugName: "useAsApplicationHook" }] : []));
3291
4135
  this.selectedApplicationHook = signal(null, ...(ngDevMode ? [{ debugName: "selectedApplicationHook" }] : []));
3292
4136
  this.permissions = signal([], ...(ngDevMode ? [{ debugName: "permissions" }] : []));
4137
+ this.applyPermissionsToRelatedPosts = signal(false, ...(ngDevMode ? [{ debugName: "applyPermissionsToRelatedPosts" }] : []));
4138
+ this.permissionSource = signal(null, ...(ngDevMode ? [{ debugName: "permissionSource" }] : []));
3293
4139
  this.permissionsLoading = signal(false, ...(ngDevMode ? [{ debugName: "permissionsLoading" }] : []));
3294
4140
  this.permissionsError = signal('', ...(ngDevMode ? [{ debugName: "permissionsError" }] : []));
3295
4141
  this.permissionOptions = signal([], ...(ngDevMode ? [{ debugName: "permissionOptions" }] : []));
@@ -3330,6 +4176,74 @@ class TaonCmsPostComponent {
3330
4176
  });
3331
4177
  }
3332
4178
  });
4179
+ effect(() => {
4180
+ const media = this.mediaAttachment();
4181
+ const key = media ? this.draft()[media.key] : null;
4182
+ const slug = this.draft().slug;
4183
+ const editing = this.editing();
4184
+ const viewing = !!this.currentPost() && this.mode() !== 'add';
4185
+ const stagedPreview = this.uploadedMediaPreview();
4186
+ if ((!editing && !viewing) || !media || !key) {
4187
+ this.mediaPreviewSignature = '';
4188
+ this.mediaPreviewRequest += 1;
4189
+ this.mediaPreviewUrl.set('');
4190
+ this.mediaPreviewLoading.set(false);
4191
+ this.mediaPreviewError.set('');
4192
+ return;
4193
+ }
4194
+ if (stagedPreview?.key === key) {
4195
+ const signature = `upload:${key}:${stagedPreview.url}`;
4196
+ if (signature === this.mediaPreviewSignature) {
4197
+ return;
4198
+ }
4199
+ this.mediaPreviewSignature = signature;
4200
+ this.mediaPreviewRequest += 1;
4201
+ this.mediaPreviewUrl.set(stagedPreview.url);
4202
+ this.mediaPreviewLoading.set(false);
4203
+ this.mediaPreviewError.set('');
4204
+ return;
4205
+ }
4206
+ if (!slug) {
4207
+ this.mediaPreviewSignature = '';
4208
+ this.mediaPreviewRequest += 1;
4209
+ this.mediaPreviewUrl.set('');
4210
+ this.mediaPreviewLoading.set(false);
4211
+ this.mediaPreviewError.set('');
4212
+ return;
4213
+ }
4214
+ const signature = `${this.mode()}:${media.type}:${slug}:${key}`;
4215
+ if (signature === this.mediaPreviewSignature) {
4216
+ return;
4217
+ }
4218
+ this.mediaPreviewSignature = signature;
4219
+ const requestId = ++this.mediaPreviewRequest;
4220
+ this.mediaPreviewUrl.set('');
4221
+ this.mediaPreviewLoading.set(true);
4222
+ this.mediaPreviewError.set('');
4223
+ const getLink = editing
4224
+ ? this.getMediaLink(slug, media.type)
4225
+ : this.getMediaLinkForView(slug, media.type);
4226
+ void getLink
4227
+ .then(url => {
4228
+ if (requestId === this.mediaPreviewRequest &&
4229
+ !this.destroyRef.destroyed) {
4230
+ this.mediaPreviewUrl.set(url);
4231
+ }
4232
+ })
4233
+ .catch((error) => {
4234
+ console.error('[taon-cms-post] Unable to load media preview', error);
4235
+ if (requestId === this.mediaPreviewRequest &&
4236
+ !this.destroyRef.destroyed) {
4237
+ this.mediaPreviewError.set(this.t.gettext('Media preview could not be loaded. Please reopen the editor to try again.'));
4238
+ }
4239
+ })
4240
+ .finally(() => {
4241
+ if (requestId === this.mediaPreviewRequest &&
4242
+ !this.destroyRef.destroyed) {
4243
+ this.mediaPreviewLoading.set(false);
4244
+ }
4245
+ });
4246
+ });
3333
4247
  }
3334
4248
  //#endregion
3335
4249
  //#region methods / load related posts
@@ -3350,7 +4264,7 @@ class TaonCmsPostComponent {
3350
4264
  next: posts => this.relatedPosts.set(posts),
3351
4265
  error: (error) => {
3352
4266
  console.error('[taon-cms-post] Unable to load related posts', error);
3353
- this.relatedPostsError.set('Related posts could not be loaded. Please try again.');
4267
+ this.relatedPostsError.set(this.t.gettext('Related posts could not be loaded. Please try again.'));
3354
4268
  },
3355
4269
  });
3356
4270
  }
@@ -3416,7 +4330,7 @@ class TaonCmsPostComponent {
3416
4330
  },
3417
4331
  error: (error) => {
3418
4332
  console.error('[taon-cms-post] Unable to load application hooks', error);
3419
- this.applicationHooksError.set('Application hooks could not be loaded. Please try again.');
4333
+ this.applicationHooksError.set(this.t.gettext('Application hooks could not be loaded. Please try again.'));
3420
4334
  },
3421
4335
  });
3422
4336
  }
@@ -3433,7 +4347,7 @@ class TaonCmsPostComponent {
3433
4347
  //#endregion
3434
4348
  //#region methods / load permissions
3435
4349
  loadPermissions() {
3436
- if (this.busy() || this.permissionsLoading()) {
4350
+ if (this.permissionsLoading()) {
3437
4351
  return;
3438
4352
  }
3439
4353
  const post = this.requirePost();
@@ -3443,20 +4357,28 @@ class TaonCmsPostComponent {
3443
4357
  this.permissionsLoading.set(true);
3444
4358
  this.permissionsError.set('');
3445
4359
  this.permissionsLoad = this.api
3446
- .listPermissions(post.id)
4360
+ .getPermissionConfiguration(post.id)
3447
4361
  .pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.permissionsLoading.set(false)))
3448
4362
  .subscribe({
3449
- next: permissions => this.permissions.set(permissions),
4363
+ next: configuration => {
4364
+ this.permissions.set(configuration.permissions);
4365
+ this.permissionSource.set(configuration.source);
4366
+ },
3450
4367
  error: (error) => {
3451
4368
  console.error('[taon-cms-post] Unable to load permissions', error);
3452
- this.permissionsError.set('Permissions could not be loaded. Please try again.');
4369
+ this.permissionsError.set(this.t.gettext('Permissions could not be loaded. Please try again.'));
3453
4370
  },
3454
4371
  });
3455
4372
  }
3456
4373
  //#endregion
3457
4374
  //#region methods / add permission
3458
4375
  addPermission() {
3459
- if (!this.editing() || this.busy() || this.dialogOpen()) {
4376
+ if (!this.editing() ||
4377
+ this.busy() ||
4378
+ this.dialogOpen() ||
4379
+ this.permissionSource() ||
4380
+ this.permissionsLoading() ||
4381
+ this.permissionsError()) {
3460
4382
  return;
3461
4383
  }
3462
4384
  const permissionId = this.selectedPermissionId();
@@ -3469,7 +4391,12 @@ class TaonCmsPostComponent {
3469
4391
  //#endregion
3470
4392
  //#region methods / remove permission
3471
4393
  removePermission(id) {
3472
- if (!this.editing() || this.busy() || this.dialogOpen()) {
4394
+ if (!this.editing() ||
4395
+ this.busy() ||
4396
+ this.dialogOpen() ||
4397
+ this.permissionSource() ||
4398
+ this.permissionsLoading() ||
4399
+ this.permissionsError()) {
3473
4400
  return;
3474
4401
  }
3475
4402
  this.permissions.update(items => items.filter(permission => permission.id !== id));
@@ -3489,7 +4416,7 @@ class TaonCmsPostComponent {
3489
4416
  next: permissions => this.permissionOptions.set(permissions),
3490
4417
  error: (error) => {
3491
4418
  console.error('[taon-cms-post] Unable to load permission options', error);
3492
- this.permissionOptionsError.set('Available permissions could not be loaded. Please try again.');
4419
+ this.permissionOptionsError.set(this.t.gettext('Available permissions could not be loaded. Please try again.'));
3493
4420
  },
3494
4421
  });
3495
4422
  }
@@ -3502,7 +4429,7 @@ class TaonCmsPostComponent {
3502
4429
  //#region methods / file selected
3503
4430
  async fileSelected(event) {
3504
4431
  if (!(event.target instanceof HTMLInputElement)) {
3505
- this.error.set('Unable to read the selected media file.');
4432
+ this.error.set(this.t.gettext('Unable to read the selected media file.'));
3506
4433
  return;
3507
4434
  }
3508
4435
  const input = event.target;
@@ -3518,20 +4445,38 @@ class TaonCmsPostComponent {
3518
4445
  const draft = this.draft();
3519
4446
  this.busy.set(true);
3520
4447
  this.uploading.set(true);
4448
+ this.uploadProgress.set(0);
3521
4449
  this.error.set('');
3522
4450
  try {
3523
- const object = await this.api.uploadMedia(file);
4451
+ const object = await this.api.uploadMedia(file, percentage => {
4452
+ if (!this.destroyRef.destroyed) {
4453
+ this.uploadProgress.set(percentage);
4454
+ }
4455
+ });
3524
4456
  if (!this.destroyRef.destroyed && this.draft() === draft) {
4457
+ const fileName = object.fileName || file.name;
4458
+ this.mediaFileNames.update(names => ({
4459
+ ...names,
4460
+ [object.key]: fileName,
4461
+ }));
4462
+ if (object.downloadUrl) {
4463
+ this.uploadedMediaPreview.set({
4464
+ key: object.key,
4465
+ url: this.uploadedMediaUrl(object.downloadUrl, media.type),
4466
+ fileName,
4467
+ });
4468
+ }
3525
4469
  this.updateDraft(media.key, object.key);
3526
4470
  }
3527
4471
  }
3528
4472
  catch (error) {
3529
4473
  console.error('[taon-cms-post] Unable to upload media', error);
3530
- this.error.set('The media could not be uploaded. Please try again.');
4474
+ this.error.set(this.t.gettext('The media could not be uploaded. Please try again.'));
3531
4475
  }
3532
4476
  finally {
3533
4477
  this.busy.set(false);
3534
4478
  this.uploading.set(false);
4479
+ this.uploadProgress.set(0);
3535
4480
  input.value = '';
3536
4481
  }
3537
4482
  }
@@ -3542,9 +4487,67 @@ class TaonCmsPostComponent {
3542
4487
  if (!media || !this.editing() || this.busy() || this.dialogOpen()) {
3543
4488
  return;
3544
4489
  }
4490
+ this.uploadedMediaPreview.set(null);
3545
4491
  this.updateDraft(media.key, null);
3546
4492
  }
3547
4493
  //#endregion
4494
+ //#region methods / uploaded media URL
4495
+ uploadedMediaUrl(url, type) {
4496
+ if (type !== TaonCmsContentType.Attachment) {
4497
+ return url;
4498
+ }
4499
+ const parsedUrl = new URL(url);
4500
+ parsedUrl.searchParams.set('download', 'true');
4501
+ return parsedUrl.href;
4502
+ }
4503
+ //#endregion
4504
+ //#region methods / get media link
4505
+ getMediaLink(slug, type) {
4506
+ switch (type) {
4507
+ case TaonCmsContentType.Video:
4508
+ return firstValueFrom(this.api.getVideoLinkBySlug(slug));
4509
+ case TaonCmsContentType.Audio:
4510
+ return firstValueFrom(this.api.getAudioLinkBySlug(slug));
4511
+ case TaonCmsContentType.Attachment:
4512
+ return this.api.getAttachmentLinkBySlug(slug);
4513
+ default:
4514
+ return Promise.reject(new Error('This post type has no media.'));
4515
+ }
4516
+ }
4517
+ //#endregion
4518
+ //#region methods / get media link for viewing
4519
+ async getMediaLinkForView(slug, type) {
4520
+ try {
4521
+ switch (type) {
4522
+ case TaonCmsContentType.Video:
4523
+ return await this.api.getPublicVideoLinkBySlug(slug);
4524
+ case TaonCmsContentType.Audio:
4525
+ return await this.api.getPublicAudioLinkBySlug(slug);
4526
+ case TaonCmsContentType.Attachment:
4527
+ return await this.api.getPublicAttachmentLinkBySlug(slug);
4528
+ default:
4529
+ throw new Error('This post type has no media.');
4530
+ }
4531
+ }
4532
+ catch {
4533
+ return this.getMediaLink(slug, type);
4534
+ }
4535
+ }
4536
+ //#endregion
4537
+ //#region methods / media file name
4538
+ mediaFileName(key) {
4539
+ const fileName = this.mediaFileNames()[key];
4540
+ if (fileName) {
4541
+ return fileName;
4542
+ }
4543
+ const uploaded = this.uploadedMediaPreview();
4544
+ if (uploaded?.key === key) {
4545
+ return uploaded.fileName;
4546
+ }
4547
+ const storedName = key.split('/').pop() || key;
4548
+ return storedName.replace(/^[0-9a-f-]{36}__/i, '');
4549
+ }
4550
+ //#endregion
3548
4551
  //#region methods / update slug
3549
4552
  updateSlug(event) {
3550
4553
  if (event.target instanceof HTMLInputElement) {
@@ -3583,7 +4586,7 @@ class TaonCmsPostComponent {
3583
4586
  return;
3584
4587
  }
3585
4588
  if (!this.canSave()) {
3586
- this.error.set('A title and slug are required.');
4589
+ this.error.set(this.t.gettext('A title and slug are required.'));
3587
4590
  return;
3588
4591
  }
3589
4592
  if (this.mode() === 'add') {
@@ -3591,6 +4594,7 @@ class TaonCmsPostComponent {
3591
4594
  ...this.draft(),
3592
4595
  relatedPostIds: this.relatedPosts().map(post => post.id),
3593
4596
  permissionIds: this.permissions().map(permission => permission.id),
4597
+ applyPermissionsToRelatedPosts: this.applyPermissionsToRelatedPosts(),
3594
4598
  applicationHook: this.useAsApplicationHook()
3595
4599
  ? this.selectedApplicationHook()
3596
4600
  : null,
@@ -3614,7 +4618,7 @@ class TaonCmsPostComponent {
3614
4618
  return;
3615
4619
  }
3616
4620
  if (this.editing() && !this.canSave()) {
3617
- this.error.set('A title and slug are required.');
4621
+ this.error.set(this.t.gettext('A title and slug are required.'));
3618
4622
  return;
3619
4623
  }
3620
4624
  const post = this.requirePost();
@@ -3629,6 +4633,23 @@ class TaonCmsPostComponent {
3629
4633
  }
3630
4634
  }
3631
4635
  //#endregion
4636
+ //#region methods / unpublish
4637
+ unpublish() {
4638
+ const post = this.currentPost();
4639
+ if (!post ||
4640
+ post.status !== 'published' ||
4641
+ this.busy() ||
4642
+ this.dialogOpen() ||
4643
+ this.mode() === 'view-clean' ||
4644
+ this.mode() === 'add') {
4645
+ return;
4646
+ }
4647
+ this.persist(this.api.updateContent(post.id, {
4648
+ expectedVersion: post.version,
4649
+ status: 'draft',
4650
+ }));
4651
+ }
4652
+ //#endregion
3632
4653
  //#region methods / revert
3633
4654
  revert() {
3634
4655
  const post = this.requirePost();
@@ -3668,9 +4689,9 @@ class TaonCmsPostComponent {
3668
4689
  this.dialogOpen.set(true);
3669
4690
  const ref = this.dialog.open(TaonConfirmDialogComponent, {
3670
4691
  data: {
3671
- title: 'Delete post?',
3672
- message: 'This archives the post. It can be restored from its revisions.',
3673
- confirmText: 'Delete',
4692
+ title: this.t.gettext('Delete post?'),
4693
+ message: this.t.gettext('This archives the post. It can be restored from its revisions.'),
4694
+ confirmText: this.t.gettext('Delete'),
3674
4695
  },
3675
4696
  });
3676
4697
  ref
@@ -3689,7 +4710,12 @@ class TaonCmsPostComponent {
3689
4710
  return {
3690
4711
  ...this.draft(),
3691
4712
  relatedPostIds: this.relatedPosts().map(related => related.id),
3692
- permissionIds: this.permissions().map(permission => permission.id),
4713
+ ...(this.permissionSource()
4714
+ ? {}
4715
+ : {
4716
+ permissionIds: this.permissions().map(permission => permission.id),
4717
+ }),
4718
+ applyPermissionsToRelatedPosts: this.applyPermissionsToRelatedPosts(),
3693
4719
  applicationHook: this.useAsApplicationHook()
3694
4720
  ? this.selectedApplicationHook()
3695
4721
  : null,
@@ -3701,7 +4727,7 @@ class TaonCmsPostComponent {
3701
4727
  requirePost() {
3702
4728
  const post = this.currentPost();
3703
4729
  if (!post) {
3704
- this.error.set('No post is loaded.');
4730
+ this.error.set(this.t.gettext('No post is loaded.'));
3705
4731
  }
3706
4732
  return post;
3707
4733
  }
@@ -3717,9 +4743,14 @@ class TaonCmsPostComponent {
3717
4743
  this.applicationHooksError.set('');
3718
4744
  this.permissionsLoading.set(false);
3719
4745
  this.permissionsError.set('');
4746
+ this.uploadedMediaPreview.set(null);
4747
+ this.mediaPreviewSignature = '';
4748
+ this.mediaPreviewRequest += 1;
3720
4749
  this.currentPost.set(post);
3721
4750
  this.relatedPosts.set(post?.relatedPosts ?? []);
3722
4751
  this.permissions.set(post?.permissions ?? []);
4752
+ this.permissionSource.set(null);
4753
+ this.applyPermissionsToRelatedPosts.set(post?.applyPermissionsToRelatedPosts ?? false);
3723
4754
  this.selectedPermissionId.set(null);
3724
4755
  this.setApplicationHookSelection(post, this.applicationHooks());
3725
4756
  this.draft.set({
@@ -3737,9 +4768,7 @@ class TaonCmsPostComponent {
3737
4768
  this.mode() !== 'view-clean') {
3738
4769
  this.loadRelatedPosts();
3739
4770
  }
3740
- if (post &&
3741
- post.permissions === undefined &&
3742
- this.mode() !== 'view-clean') {
4771
+ if (post && this.mode() !== 'view-clean') {
3743
4772
  this.loadPermissions();
3744
4773
  }
3745
4774
  }
@@ -3778,13 +4807,12 @@ class TaonCmsPostComponent {
3778
4807
  },
3779
4808
  error: (error) => {
3780
4809
  console.error('[taon-cms-post] Unable to save post', error);
3781
- this.error.set('The post could not be saved. Check the slug and your connection. ' +
3782
- 'If another user changed it, close and reopen the post before retrying.');
4810
+ 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.'));
3783
4811
  },
3784
4812
  });
3785
4813
  }
3786
4814
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3787
- 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 }); }
4815
+ 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 }); }
3788
4816
  }
3789
4817
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostComponent, decorators: [{
3790
4818
  type: Component,
@@ -3793,10 +4821,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
3793
4821
  MatCheckboxModule,
3794
4822
  MatFormFieldModule,
3795
4823
  MatIconModule,
4824
+ MatProgressBarModule,
3796
4825
  MatRadioModule,
3797
4826
  MatSelectModule,
3798
4827
  TaonCmsEditableDirective,
3799
- ], 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"] }]
4828
+ ], 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"] }]
3800
4829
  }], 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"] }] } });
3801
4830
 
3802
4831
  var taonCmsPost_component = /*#__PURE__*/Object.freeze({
@@ -3828,14 +4857,20 @@ const TaonCmsPostRoutes = [
3828
4857
  */
3829
4858
  // export default TaonCmsPostRoutes;
3830
4859
 
4860
+ 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-taon-cms-post-details-page.component.ts.en-US.i18n.data-CzHUdCUx.mjs')).default, "pl-PL": async () => (await import('./cms-websql-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-BGjfwt-R.mjs')).default, "de-DE": async () => (await import('./cms-websql-taon-cms-post-details-page.component.ts.de-DE.i18n.data-C3nWxKN2.mjs')).default } });
3831
4861
  class TaonCmsPostDetailsPageComponent {
3832
4862
  constructor() {
4863
+ this.t = t$3.for(this);
3833
4864
  this.post$ = inject(ActivatedRoute).data.pipe(map$1(data => data['post']));
3834
4865
  }
3835
4866
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostDetailsPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3836
4867
  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: `
3837
4868
  @if (post$ | async; as post) {
3838
- <a mat-button routerLink="../">Back to Posts</a>
4869
+ <a
4870
+ mat-button
4871
+ routerLink="../"
4872
+ >{{ t.gettext('Back to Posts') }}</a
4873
+ >
3839
4874
  <taon-cms-post [post]="post"></taon-cms-post>
3840
4875
  }
3841
4876
  `, 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 }); }
@@ -3848,7 +4883,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
3848
4883
  imports: [AsyncPipe, MatButtonModule, RouterLink, TaonCmsPostComponent],
3849
4884
  template: `
3850
4885
  @if (post$ | async; as post) {
3851
- <a mat-button routerLink="../">Back to Posts</a>
4886
+ <a
4887
+ mat-button
4888
+ routerLink="../"
4889
+ >{{ t.gettext('Back to Posts') }}</a
4890
+ >
3852
4891
  <taon-cms-post [post]="post"></taon-cms-post>
3853
4892
  }
3854
4893
  `,
@@ -3860,8 +4899,10 @@ var taonCmsPostDetailsPage_component = /*#__PURE__*/Object.freeze({
3860
4899
  TaonCmsPostDetailsPageComponent: TaonCmsPostDetailsPageComponent
3861
4900
  });
3862
4901
 
4902
+ 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-taon-cms-post-edit-dialog.component.html.en-US.i18n.data-Z28o4CQK.mjs')).default, "pl-PL": async () => (await import('./cms-websql-taon-cms-post-edit-dialog.component.html.pl-PL.i18n.data-Buh1Pgyd.mjs')).default, "de-DE": async () => (await import('./cms-websql-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-taon-cms-post-edit-dialog.component.ts.en-US.i18n.data-CNV_wiqy.mjs')).default, "pl-PL": async () => (await import('./cms-websql-taon-cms-post-edit-dialog.component.ts.pl-PL.i18n.data-B3XPzty6.mjs')).default, "de-DE": async () => (await import('./cms-websql-taon-cms-post-edit-dialog.component.ts.de-DE.i18n.data-D2I8Zux6.mjs')).default } });
3863
4903
  class TaonCmsPostEditDialogComponent {
3864
4904
  constructor() {
4905
+ this.t = t$2.for(this);
3865
4906
  this.data = inject(MAT_DIALOG_DATA);
3866
4907
  this.editor = viewChild(TaonCmsPostComponent, ...(ngDevMode ? [{ debugName: "editor" }] : []));
3867
4908
  this.changed = new EventEmitter();
@@ -3876,17 +4917,24 @@ class TaonCmsPostEditDialogComponent {
3876
4917
  this.ref.close(post);
3877
4918
  }
3878
4919
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostEditDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3879
- 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 }); }
4920
+ 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 }); }
3880
4921
  }
3881
4922
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostEditDialogComponent, decorators: [{
3882
4923
  type: Component,
3883
- 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"] }]
4924
+ args: [{ selector: 'taon-cms-post-edit-dialog', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
4925
+ MatButtonModule,
4926
+ MatDialogModule,
4927
+ MatIconModule,
4928
+ TaonCmsPostComponent,
4929
+ ], 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"] }]
3884
4930
  }], propDecorators: { editor: [{ type: i0.ViewChild, args: [i0.forwardRef(() => TaonCmsPostComponent), { isSignal: true }] }] } });
3885
4931
 
3886
4932
  //#region imports
3887
4933
  //#endregion
4934
+ 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-taon-cms-posts-backoffice.component.html.en-US.i18n.data-IKL7BZHV.mjs')).default, "pl-PL": async () => (await import('./cms-websql-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-BCMo1HVU.mjs')).default, "de-DE": async () => (await import('./cms-websql-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-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-C2t8zwda.mjs')).default, "pl-PL": async () => (await import('./cms-websql-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-Xehy4KUW.mjs')).default, "de-DE": async () => (await import('./cms-websql-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-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-ayYFXvcP.mjs')).default, "pl-PL": async () => (await import('./cms-websql-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-BZf6TtRS.mjs')).default, "de-DE": async () => (await import('./cms-websql-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-CSwq8etN.mjs')).default } });
3888
4935
  class TaonCmsPostsBackofficeComponent {
3889
4936
  constructor() {
4937
+ this.t = t$1.for(this);
3890
4938
  this.taonCmsContentApiService = inject(TaonCmsContentApiService);
3891
4939
  this.posts = signal([], ...(ngDevMode ? [{ debugName: "posts" }] : []));
3892
4940
  this.loading = signal(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
@@ -3899,29 +4947,29 @@ class TaonCmsPostsBackofficeComponent {
3899
4947
  this.cancelLoad$ = new Subject();
3900
4948
  this.columns = [
3901
4949
  { header: 'ID', field: 'id', sortable: true },
3902
- { header: 'Title', field: 'title', sortable: true },
3903
- { header: 'Status', field: 'status', sortable: true },
4950
+ { header: this.t.gettext('Title'), field: 'title', sortable: true },
4951
+ { header: this.t.gettext('Status'), field: 'status', sortable: true },
3904
4952
  {
3905
- header: 'Actions',
4953
+ header: this.t.gettext('Actions'),
3906
4954
  field: 'actions',
3907
4955
  type: 'button',
3908
4956
  buttons: [
3909
4957
  {
3910
4958
  type: 'icon',
3911
4959
  icon: 'edit',
3912
- tooltip: 'Edit post',
4960
+ tooltip: this.t.gettext('Edit post'),
3913
4961
  click: (post) => this.edit(post),
3914
4962
  },
3915
4963
  {
3916
4964
  type: 'icon',
3917
4965
  icon: 'open_in_new',
3918
- tooltip: 'Post details',
4966
+ tooltip: this.t.gettext('Post details'),
3919
4967
  click: (post) => this.openDetails(post),
3920
4968
  },
3921
4969
  {
3922
4970
  type: 'icon',
3923
4971
  icon: 'delete',
3924
- tooltip: 'Delete (archive) post',
4972
+ tooltip: this.t.gettext('Delete (archive) post'),
3925
4973
  disabled: (post) => post.status === 'archived' || this.deleting() !== null,
3926
4974
  click: (post) => this.delete(post),
3927
4975
  },
@@ -3947,7 +4995,7 @@ class TaonCmsPostsBackofficeComponent {
3947
4995
  openDetails(post) {
3948
4996
  const postsRoute = this.route.parent;
3949
4997
  if (!postsRoute) {
3950
- this.error.set('The Post details route is unavailable.');
4998
+ this.error.set(this.t.gettext('The Post details route is unavailable.'));
3951
4999
  return;
3952
5000
  }
3953
5001
  void this.router.navigate([post.id], { relativeTo: postsRoute });
@@ -3959,9 +5007,9 @@ class TaonCmsPostsBackofficeComponent {
3959
5007
  this.deleting.set(post.id);
3960
5008
  const ref = this.dialog.open(TaonConfirmDialogComponent, {
3961
5009
  data: {
3962
- title: 'Delete post?',
3963
- message: 'This archives the post. It can be restored from its revisions.',
3964
- confirmText: 'Delete',
5010
+ title: this.t.gettext('Delete post?'),
5011
+ message: this.t.gettext('This archives the post. It can be restored from its revisions.'),
5012
+ confirmText: this.t.gettext('Delete'),
3965
5013
  },
3966
5014
  });
3967
5015
  ref
@@ -3980,7 +5028,7 @@ class TaonCmsPostsBackofficeComponent {
3980
5028
  next: () => this.reload(),
3981
5029
  error: (error) => {
3982
5030
  console.error('[taon-cms-posts-backoffice] Unable to delete post', error);
3983
- this.error.set('The post could not be deleted. Refresh the table before retrying.');
5031
+ this.error.set(this.t.gettext('The post could not be deleted. Refresh the table before retrying.'));
3984
5032
  },
3985
5033
  });
3986
5034
  });
@@ -4000,11 +5048,11 @@ class TaonCmsPostsBackofficeComponent {
4000
5048
  .subscribe(() => this.reload());
4001
5049
  }
4002
5050
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostsBackofficeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4003
- 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 }); }
5051
+ 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 }); }
4004
5052
  }
4005
5053
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostsBackofficeComponent, decorators: [{
4006
5054
  type: Component,
4007
- 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"] }]
5055
+ 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"] }]
4008
5056
  }], propDecorators: { datatable: [{
4009
5057
  type: ViewChild,
4010
5058
  args: [TaonDatatableComponent]
@@ -4017,15 +5065,16 @@ var taonCmsPostsBackoffice_component = /*#__PURE__*/Object.freeze({
4017
5065
 
4018
5066
  //#region imports
4019
5067
  //#endregion
5068
+ 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-taon-cms-posts-backoffice.component.html.en-US.i18n.data-IKL7BZHV.mjs')).default, "pl-PL": async () => (await import('./cms-websql-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-BCMo1HVU.mjs')).default, "de-DE": async () => (await import('./cms-websql-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-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-C2t8zwda.mjs')).default, "pl-PL": async () => (await import('./cms-websql-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-Xehy4KUW.mjs')).default, "de-DE": async () => (await import('./cms-websql-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-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-ayYFXvcP.mjs')).default, "pl-PL": async () => (await import('./cms-websql-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-BZf6TtRS.mjs')).default, "de-DE": async () => (await import('./cms-websql-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-CSwq8etN.mjs')).default } });
4020
5069
  const resolvePost = async (route) => {
4021
5070
  const id = Number(route.paramMap.get('id'));
4022
5071
  if (!Number.isSafeInteger(id) || id <= 0) {
4023
- throw new Error('Invalid Post ID');
5072
+ throw new Error(t.gettext('Invalid Post ID'));
4024
5073
  }
4025
5074
  const taonCmsContentApiService = inject(TaonCmsContentApiService);
4026
5075
  const post = await taonCmsContentApiService.getById(id);
4027
5076
  if (!post) {
4028
- throw new Error('Post not found');
5077
+ throw new Error(t.gettext('Post not found'));
4029
5078
  }
4030
5079
  return post;
4031
5080
  };
@@ -4067,6 +5116,7 @@ var index$1 = /*#__PURE__*/Object.freeze({
4067
5116
  CURRENT_PACKAGE_TAON_VERSION: CURRENT_PACKAGE_TAON_VERSION,
4068
5117
  CURRENT_PACKAGE_VERSION: CURRENT_PACKAGE_VERSION,
4069
5118
  get CmsContext_1791132517217_initial () { return CmsContext_1791132517217_initial; },
5119
+ get CmsContext_1792579000000_postPermissionInheritance () { return CmsContext_1792579000000_postPermissionInheritance; },
4070
5120
  MIGRATIONS_CLASSES_FOR_CmsContext: MIGRATIONS_CLASSES_FOR_CmsContext,
4071
5121
  PROJECT_NPM_NAME: PROJECT_NPM_NAME,
4072
5122
  get TaonAuthContextEntity () { return TaonAuthContextEntity; },
@@ -4075,6 +5125,7 @@ var index$1 = /*#__PURE__*/Object.freeze({
4075
5125
  TaonCmsAbstractContext: TaonCmsAbstractContext,
4076
5126
  TaonCmsApplicationHook: TaonCmsApplicationHook,
4077
5127
  get TaonCmsApplicationHookEntity () { return TaonCmsApplicationHookEntity; },
5128
+ TaonCmsAssetPreviewComponent: TaonCmsAssetPreviewComponent,
4078
5129
  TaonCmsAssetsBackofficeComponent: TaonCmsAssetsBackofficeComponent,
4079
5130
  TaonCmsAssetsBackofficeRoutes: TaonCmsAssetsBackofficeRoutes,
4080
5131
  TaonCmsBackofficeComponent: TaonCmsBackofficeComponent,
@@ -4187,6 +5238,7 @@ var index$1 = /*#__PURE__*/Object.freeze({
4187
5238
  requireContentId: requireContentId,
4188
5239
  requireContentVersion: requireContentVersion,
4189
5240
  startCli: startCli,
5241
+ trackCmsUpload: trackCmsUpload,
4190
5242
  validateContentInput: validateContentInput
4191
5243
  });
4192
5244
 
@@ -4194,5 +5246,5 @@ var index$1 = /*#__PURE__*/Object.freeze({
4194
5246
  * Generated bundle index. Do not edit.
4195
5247
  */
4196
5248
 
4197
- export { APP_ID, BUILD_BASE_HREF, BUILD_FRAMEWORK_CLI_NAME, CURRENT_PACKAGE_TAON_VERSION, CURRENT_PACKAGE_VERSION, CmsContext_1791132517217_initial, MIGRATIONS_CLASSES_FOR_CmsContext, PROJECT_NPM_NAME, TaonAuthContextEntity, TaonAuthContextHasAccess, TaonAuthContextRepository, TaonCmsAbstractContext, TaonCmsApplicationHook, TaonCmsApplicationHookEntity, TaonCmsAssetsBackofficeComponent, TaonCmsAssetsBackofficeRoutes, TaonCmsBackofficeComponent, TaonCmsBackofficeRoutes, TaonCmsCategoryAbstractContext, TaonCmsCategoryApiService, TaonCmsCategoryController, TaonCmsCategoryDefaultsValues, TaonCmsCategoryEntity, TaonCmsCategoryMiddleware, TaonCmsCategoryProvider, TaonCmsCategoryRepository, TaonCmsCategoryState, TaonCmsCategorySubscriber, TaonCmsCategoryUtils, TaonCmsCommentAbstractContext, TaonCmsCommentApiService, TaonCmsCommentController, TaonCmsCommentDefaultsValues, TaonCmsCommentEntity, TaonCmsCommentMiddleware, TaonCmsCommentProvider, TaonCmsCommentRepository, TaonCmsCommentState, TaonCmsCommentSubscriber, TaonCmsCommentUtils, TaonCmsContentAbstractContext, TaonCmsContentApiService, TaonCmsContentAssetAbstractContext, TaonCmsContentAssetApiService, TaonCmsContentAssetController, TaonCmsContentAssetDefaultsValues, TaonCmsContentAssetEntity, TaonCmsContentAssetMiddleware, TaonCmsContentAssetProvider, TaonCmsContentAssetRepository, TaonCmsContentAssetState, TaonCmsContentAssetSubscriber, TaonCmsContentAssetUtils, TaonCmsContentConfigService, TaonCmsContentController, TaonCmsContentDefaultsValues, TaonCmsContentEntity, TaonCmsContentMiddleware, TaonCmsContentPermissionAbstractContext, TaonCmsContentPermissionApiService, TaonCmsContentPermissionController, TaonCmsContentPermissionDefaultsValues, TaonCmsContentPermissionEntity, TaonCmsContentPermissionMiddleware, TaonCmsContentPermissionProvider, TaonCmsContentPermissionRepository, TaonCmsContentPermissionState, TaonCmsContentPermissionSubscriber, TaonCmsContentPermissionUtils, TaonCmsContentProvider, TaonCmsContentRepository, TaonCmsContentRevisionAbstractContext, TaonCmsContentRevisionApiService, TaonCmsContentRevisionController, TaonCmsContentRevisionDefaultsValues, TaonCmsContentRevisionEntity, TaonCmsContentRevisionMiddleware, TaonCmsContentRevisionProvider, TaonCmsContentRevisionRepository, TaonCmsContentRevisionState, TaonCmsContentRevisionSubscriber, TaonCmsContentRevisionUtils, TaonCmsContentState, TaonCmsContentStorageController, TaonCmsContentSubscriber, TaonCmsContentTagAbstractContext, TaonCmsContentTagApiService, TaonCmsContentTagController, TaonCmsContentTagDefaultsValues, TaonCmsContentTagEntity, TaonCmsContentTagMiddleware, TaonCmsContentTagProvider, TaonCmsContentTagRepository, TaonCmsContentTagState, TaonCmsContentTagSubscriber, TaonCmsContentTagUtils, TaonCmsContentType, TaonCmsContentUtils, TaonCmsEditableDirective, TaonCmsPostComponent, TaonCmsPostDetailsPageComponent, TaonCmsPostEditDialogComponent, TaonCmsPostRoutes, TaonCmsPostsBackofficeComponent, TaonCmsPostsBackofficeRoutes, TaonCmsRevisionChooserComponent, TaonCmsTagAbstractContext, TaonCmsTagApiService, TaonCmsTagController, TaonCmsTagDefaultsValues, TaonCmsTagEntity, TaonCmsTagMiddleware, TaonCmsTagProvider, TaonCmsTagRepository, TaonCmsTagState, TaonCmsTagSubscriber, TaonCmsTagUtils, TaonRelatedPostChooserComponent, TaonSessionCoreGroups, TaonSessionCorePermissions, TaonSessionCoreRoles, contentError, requireContentId, requireContentVersion, startCli, validateContentInput };
5249
+ 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, TaonCmsCommentAbstractContext, TaonCmsCommentApiService, TaonCmsCommentController, TaonCmsCommentDefaultsValues, TaonCmsCommentEntity, TaonCmsCommentMiddleware, TaonCmsCommentProvider, TaonCmsCommentRepository, TaonCmsCommentState, TaonCmsCommentSubscriber, TaonCmsCommentUtils, TaonCmsContentAbstractContext, TaonCmsContentApiService, TaonCmsContentAssetAbstractContext, TaonCmsContentAssetApiService, TaonCmsContentAssetController, TaonCmsContentAssetDefaultsValues, TaonCmsContentAssetEntity, TaonCmsContentAssetMiddleware, TaonCmsContentAssetProvider, TaonCmsContentAssetRepository, TaonCmsContentAssetState, TaonCmsContentAssetSubscriber, TaonCmsContentAssetUtils, TaonCmsContentConfigService, TaonCmsContentController, TaonCmsContentDefaultsValues, TaonCmsContentEntity, TaonCmsContentMiddleware, TaonCmsContentPermissionAbstractContext, TaonCmsContentPermissionApiService, TaonCmsContentPermissionController, TaonCmsContentPermissionDefaultsValues, TaonCmsContentPermissionEntity, TaonCmsContentPermissionMiddleware, TaonCmsContentPermissionProvider, TaonCmsContentPermissionRepository, TaonCmsContentPermissionState, TaonCmsContentPermissionSubscriber, TaonCmsContentPermissionUtils, TaonCmsContentProvider, TaonCmsContentRepository, TaonCmsContentRevisionAbstractContext, TaonCmsContentRevisionApiService, TaonCmsContentRevisionController, TaonCmsContentRevisionDefaultsValues, TaonCmsContentRevisionEntity, TaonCmsContentRevisionMiddleware, TaonCmsContentRevisionProvider, TaonCmsContentRevisionRepository, TaonCmsContentRevisionState, TaonCmsContentRevisionSubscriber, TaonCmsContentRevisionUtils, TaonCmsContentState, TaonCmsContentStorageController, TaonCmsContentSubscriber, TaonCmsContentTagAbstractContext, TaonCmsContentTagApiService, TaonCmsContentTagController, TaonCmsContentTagDefaultsValues, TaonCmsContentTagEntity, TaonCmsContentTagMiddleware, TaonCmsContentTagProvider, TaonCmsContentTagRepository, TaonCmsContentTagState, TaonCmsContentTagSubscriber, TaonCmsContentTagUtils, TaonCmsContentType, TaonCmsContentUtils, TaonCmsEditableDirective, TaonCmsPostComponent, TaonCmsPostDetailsPageComponent, TaonCmsPostEditDialogComponent, TaonCmsPostRoutes, TaonCmsPostsBackofficeComponent, TaonCmsPostsBackofficeRoutes, TaonCmsRevisionChooserComponent, TaonCmsTagAbstractContext, TaonCmsTagApiService, TaonCmsTagController, TaonCmsTagDefaultsValues, TaonCmsTagEntity, TaonCmsTagMiddleware, TaonCmsTagProvider, TaonCmsTagRepository, TaonCmsTagState, TaonCmsTagSubscriber, TaonCmsTagUtils, TaonRelatedPostChooserComponent, TaonSessionCoreGroups, TaonSessionCorePermissions, TaonSessionCoreRoles, contentError, requireContentId, requireContentVersion, startCli, trackCmsUpload, validateContentInput };
4198
5250
  //# sourceMappingURL=cms-websql.mjs.map